summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitattributes10
-rw-r--r--.gitignore136
-rw-r--r--.gitlab-ci.yml194
-rw-r--r--.mailmap9
-rw-r--r--.tools/applicator.py44
-rw-r--r--.tools/beta.patch21
-rw-r--r--.tools/conf/mariadb/battle.conf32
-rw-r--r--.tools/conf/mariadb/char-server.conf31
-rw-r--r--.tools/conf/mariadb/constants.conf30
-rw-r--r--.tools/conf/mariadb/inter-server.conf32
-rw-r--r--.tools/conf/mariadb/login-server.conf32
-rw-r--r--.tools/conf/mariadb/logs.conf32
-rw-r--r--.tools/conf/mariadb/map-server.conf32
-rw-r--r--.tools/conf/mariadb/msg_conf.txt0
-rw-r--r--.tools/conf/mariadb/ports.conf8
-rw-r--r--.tools/conf/mariadb/script.conf32
-rw-r--r--.tools/conf/mariadb/socket.conf32
-rw-r--r--.tools/conf/mariadb/sql_connection.conf52
-rw-r--r--.tools/conf/mysql/battle.conf32
-rw-r--r--.tools/conf/mysql/char-server.conf31
-rw-r--r--.tools/conf/mysql/constants.conf30
-rw-r--r--.tools/conf/mysql/inter-server.conf32
-rw-r--r--.tools/conf/mysql/login-server.conf32
-rw-r--r--.tools/conf/mysql/logs.conf32
-rw-r--r--.tools/conf/mysql/map-server.conf32
-rw-r--r--.tools/conf/mysql/msg_conf.txt0
-rw-r--r--.tools/conf/mysql/ports.conf8
-rw-r--r--.tools/conf/mysql/script.conf32
-rw-r--r--.tools/conf/mysql/socket.conf32
-rw-r--r--.tools/conf/mysql/sql_connection.conf52
-rwxr-xr-x.tools/jobs/build.sh15
-rwxr-xr-x.tools/jobs/cloneall.sh5
-rwxr-xr-x.tools/jobs/clonedata.sh5
-rwxr-xr-x.tools/jobs/initdb.sh23
-rwxr-xr-x.tools/jobs/install.sh10
-rwxr-xr-x.tools/jobs/licensecheck.sh41
-rwxr-xr-x.tools/jobs/newlines.sh10
-rwxr-xr-x.tools/jobs/runserver.sh38
-rwxr-xr-x.tools/jobs/runservervalgrind.sh37
-rwxr-xr-x.tools/jobs/spaces.sh11
-rw-r--r--.tools/npc/motd-debug-text.txt4
-rw-r--r--.tools/reapply.patch36
-rw-r--r--.tools/reapply.patch447
-rwxr-xr-x.tools/scripts/init.sh243
-rw-r--r--COPYING674
-rw-r--r--Makefile42
-rw-r--r--README.md30
-rw-r--r--conf/atcommand.conf107
-rw-r--r--conf/battlegrounds.conf124
-rw-r--r--conf/channels.conf.base76
-rw-r--r--conf/char/char-server.conf256
-rw-r--r--conf/clans.conf48
-rw-r--r--conf/common/inter-server.conf126
-rw-r--r--conf/common/map-index.conf34
-rw-r--r--conf/common/socket.conf106
-rw-r--r--conf/global/console.conf67
-rw-r--r--conf/grf-files.txt12
-rw-r--r--conf/groups.conf393
-rw-r--r--conf/import-tmpl/battle.conf32
-rw-r--r--conf/import-tmpl/char-server.conf32
-rw-r--r--conf/import-tmpl/inter-server.conf32
-rw-r--r--conf/import-tmpl/login-server.conf32
-rw-r--r--conf/import-tmpl/logs.conf32
-rw-r--r--conf/import-tmpl/map-server.conf32
-rw-r--r--conf/import-tmpl/msg_conf.txt0
-rw-r--r--conf/import-tmpl/script.conf32
-rw-r--r--conf/import-tmpl/socket.conf32
-rw-r--r--conf/login/login-server.conf205
-rw-r--r--conf/map/battle.conf88
-rw-r--r--conf/map/battle/battle.conf185
-rw-r--r--conf/map/battle/battleground.conf40
-rw-r--r--conf/map/battle/client.conf204
-rw-r--r--conf/map/battle/drops.conf164
-rw-r--r--conf/map/battle/exp.conf117
-rw-r--r--conf/map/battle/feature.conf101
-rw-r--r--conf/map/battle/gm.conf66
-rw-r--r--conf/map/battle/guild.conf74
-rw-r--r--conf/map/battle/homunc.conf72
-rw-r--r--conf/map/battle/items.conf133
-rw-r--r--conf/map/battle/limits.conf57
-rw-r--r--conf/map/battle/misc.conf173
-rw-r--r--conf/map/battle/monster.conf278
-rw-r--r--conf/map/battle/party.conf82
-rw-r--r--conf/map/battle/pet.conf100
-rw-r--r--conf/map/battle/player.conf229
-rw-r--r--conf/map/battle/skill.conf349
-rw-r--r--conf/map/battle/status.conf47
-rw-r--r--conf/map/charhelp.txt28
-rw-r--r--conf/map/help.txt307
-rw-r--r--conf/map/logs.conf182
-rw-r--r--conf/map/map-server.conf114
-rw-r--r--conf/map/maps.conf417
-rw-r--r--conf/map/script.conf64
-rw-r--r--conf/map/storage.conf72
-rw-r--r--conf/messages.conf1633
-rw-r--r--conf/network.conf37
-rw-r--r--conf/plugins.conf41
-rw-r--r--conf/readme.txt22
-rw-r--r--db/GeoIP.datbin0 -> 668134 bytes
-rw-r--r--db/abra_db.txt14
-rw-r--r--db/achievement_rank_db.conf43
-rw-r--r--db/attendance_db.conf119
-rw-r--r--db/cashshop_db.conf26
-rw-r--r--db/castle_db.conf44
-rw-r--r--db/clans.conf147
-rw-r--r--db/constants.conf2460
-rw-r--r--db/craft_db.conf4321
-rw-r--r--db/create_arrow_db.txt11
-rw-r--r--db/elemental_db.txt24
-rw-r--r--db/elemental_skill_db.txt91
-rw-r--r--db/guild_skill_tree.txt28
-rw-r--r--db/homun_skill_tree.txt63
-rw-r--r--db/item_db2.conf3
-rw-r--r--db/item_options.conf1128
-rw-r--r--db/job_db2.txt54
-rw-r--r--db/magicmushroom_db.txt27
-rw-r--r--db/map_index.txt413
-rw-r--r--db/mercenary_db.txt30
-rw-r--r--db/mercenary_skill_db.txt48
-rw-r--r--db/mob_avail.txt19
-rw-r--r--db/mob_chat_db.txt15
-rw-r--r--db/mob_classchange.txt5
-rw-r--r--db/mob_db2.conf73
-rw-r--r--db/mob_item_ratio.txt30
-rw-r--r--db/mob_pouch.txt5
-rw-r--r--db/mob_skill_db2.conf59
-rw-r--r--db/option_drop_groups.conf53
-rw-r--r--db/pet_db2.conf64
-rw-r--r--db/produce_db.txt9
-rw-r--r--db/quest_db.conf684
-rw-r--r--db/re/achievement_db.conf134
-rw-r--r--db/re/attr_fix.txt57
-rw-r--r--db/re/exp_group_db.conf124
-rw-r--r--db/re/exp_guild.txt55
-rw-r--r--db/re/exp_homun.txt153
-rw-r--r--db/re/homunculus_db.txt31
-rw-r--r--db/re/item_chain.conf66
-rw-r--r--db/re/item_combo_db.conf262
-rw-r--r--db/re/item_db.conf19342
-rw-r--r--db/re/item_group.conf20
-rw-r--r--db/re/item_lapineddukddak.conf44
-rw-r--r--db/re/item_packages.conf26
-rw-r--r--db/re/job_db.conf364
-rw-r--r--db/re/level_penalty.txt80
-rw-r--r--db/re/map_zone_db.conf717
-rw-r--r--db/re/mob_boss.txt5
-rw-r--r--db/re/mob_branch.txt5
-rw-r--r--db/re/mob_db.conf13201
-rw-r--r--db/re/mob_poring.txt5
-rw-r--r--db/re/mob_race2_db.txt5
-rw-r--r--db/re/mob_skill_db.conf2298
-rw-r--r--db/re/pet_db.conf432
-rw-r--r--db/re/refine_db.conf619
-rw-r--r--db/re/size_fix.txt7
-rw-r--r--db/re/skill_db.conf41008
-rw-r--r--db/re/skill_tree.conf285
-rw-r--r--db/re/statpoint.txt255
-rw-r--r--db/roulette_db.conf16
-rw-r--r--db/sc_config.conf2988
-rw-r--r--db/si_config.conf694
-rw-r--r--db/skill_changematerial_db.txt11
-rw-r--r--db/skill_improvise_db.txt12
-rw-r--r--db/skill_reproduce_db.txt7
-rw-r--r--db/spellbook_db.txt7
-rw-r--r--db/stylist_db.conf266
-rw-r--r--db/translations.conf20
l---------docs1
-rwxr-xr-xgprof.sh3
-rw-r--r--langs/lang_de.old2409
-rw-r--r--langs/lang_de.txt37909
-rw-r--r--langs/lang_en.old5811
-rw-r--r--langs/lang_en.txt37909
-rw-r--r--langs/lang_es.old708
-rw-r--r--langs/lang_es.txt37909
-rw-r--r--langs/lang_fr.old1122
-rw-r--r--langs/lang_fr.txt37909
-rw-r--r--langs/lang_pt_BR.old4668
-rw-r--r--langs/lang_pt_BR.txt37909
-rw-r--r--langs/langs.txt5
-rw-r--r--log/.placeholder0
-rwxr-xr-xlogmaster.py222
-rw-r--r--maps/re/000-0-0.mcachebin0 -> 135 bytes
-rw-r--r--maps/re/000-0-1.mcachebin0 -> 58 bytes
-rw-r--r--maps/re/000-0.mcachebin0 -> 63 bytes
-rw-r--r--maps/re/000-1.mcachebin0 -> 63 bytes
-rw-r--r--maps/re/001-1.mcachebin0 -> 2124 bytes
-rw-r--r--maps/re/001-10-1.mcachebin0 -> 242 bytes
-rw-r--r--maps/re/001-10.mcachebin0 -> 1105 bytes
-rw-r--r--maps/re/001-11.mcachebin0 -> 231 bytes
-rw-r--r--maps/re/001-12.mcachebin0 -> 1603 bytes
-rw-r--r--maps/re/001-13-0.mcachebin0 -> 139 bytes
-rw-r--r--maps/re/001-13-1.mcachebin0 -> 123 bytes
-rw-r--r--maps/re/001-13-2.mcachebin0 -> 139 bytes
-rw-r--r--maps/re/001-13.mcachebin0 -> 123 bytes
-rw-r--r--maps/re/001-14.mcachebin0 -> 580 bytes
-rw-r--r--maps/re/001-2.mcachebin0 -> 746 bytes
-rw-r--r--maps/re/001-3-1.mcachebin0 -> 372 bytes
-rw-r--r--maps/re/001-3.mcachebin0 -> 737 bytes
-rw-r--r--maps/re/001-4.mcachebin0 -> 5597 bytes
-rw-r--r--maps/re/001-5.mcachebin0 -> 252 bytes
-rw-r--r--maps/re/001-6.mcachebin0 -> 1319 bytes
-rw-r--r--maps/re/001-7.mcachebin0 -> 1051 bytes
-rw-r--r--maps/re/001-8.mcachebin0 -> 472 bytes
-rw-r--r--maps/re/001-9.mcachebin0 -> 21361 bytes
-rw-r--r--maps/re/002-1.mcachebin0 -> 211 bytes
-rw-r--r--maps/re/002-2.mcachebin0 -> 180 bytes
-rw-r--r--maps/re/002-3.mcachebin0 -> 88 bytes
-rw-r--r--maps/re/002-4.mcachebin0 -> 85 bytes
-rw-r--r--maps/re/002-5.mcachebin0 -> 74 bytes
-rw-r--r--maps/re/003-0-1.mcachebin0 -> 223 bytes
-rw-r--r--maps/re/003-0-2.mcachebin0 -> 117 bytes
-rw-r--r--maps/re/003-0.mcachebin0 -> 129 bytes
-rw-r--r--maps/re/003-1-1.mcachebin0 -> 921 bytes
-rw-r--r--maps/re/003-1-2.mcachebin0 -> 67 bytes
-rw-r--r--maps/re/003-1-3.mcachebin0 -> 363 bytes
-rw-r--r--maps/re/003-1.mcachebin0 -> 1316 bytes
-rw-r--r--maps/re/003-10.mcachebin0 -> 191 bytes
-rw-r--r--maps/re/003-13.mcachebin0 -> 102 bytes
-rw-r--r--maps/re/003-2-1.mcachebin0 -> 115 bytes
-rw-r--r--maps/re/003-2.mcachebin0 -> 88 bytes
-rw-r--r--maps/re/003-3.mcachebin0 -> 61 bytes
-rw-r--r--maps/re/003-4-1.mcachebin0 -> 109 bytes
-rw-r--r--maps/re/003-4.mcachebin0 -> 91 bytes
-rw-r--r--maps/re/003-5.mcachebin0 -> 85 bytes
-rw-r--r--maps/re/003-6.mcachebin0 -> 111 bytes
-rw-r--r--maps/re/003-7.mcachebin0 -> 96 bytes
-rw-r--r--maps/re/003-8.mcachebin0 -> 101 bytes
-rw-r--r--maps/re/003-9-1.mcachebin0 -> 119 bytes
-rw-r--r--maps/re/003-9.mcachebin0 -> 230 bytes
-rw-r--r--maps/re/004-1.mcachebin0 -> 878 bytes
-rw-r--r--maps/re/004-2-1.mcachebin0 -> 393 bytes
-rw-r--r--maps/re/004-2-10.mcachebin0 -> 78 bytes
-rw-r--r--maps/re/004-2-11.mcachebin0 -> 168 bytes
-rw-r--r--maps/re/004-2-12.mcachebin0 -> 173 bytes
-rw-r--r--maps/re/004-2-2.mcachebin0 -> 284 bytes
-rw-r--r--maps/re/004-2-3.mcachebin0 -> 1156 bytes
-rw-r--r--maps/re/004-2-4.mcachebin0 -> 739 bytes
-rw-r--r--maps/re/004-2-5.mcachebin0 -> 215 bytes
-rw-r--r--maps/re/004-2-6.mcachebin0 -> 224 bytes
-rw-r--r--maps/re/004-2-7.mcachebin0 -> 148 bytes
-rw-r--r--maps/re/004-2-8.mcachebin0 -> 265 bytes
-rw-r--r--maps/re/004-2-9.mcachebin0 -> 205 bytes
-rw-r--r--maps/re/004-2.mcachebin0 -> 1400 bytes
-rw-r--r--maps/re/004-3-1.mcachebin0 -> 222 bytes
-rw-r--r--maps/re/004-3-2.mcachebin0 -> 939 bytes
-rw-r--r--maps/re/004-3-3.mcachebin0 -> 131 bytes
-rw-r--r--maps/re/004-3-4.mcachebin0 -> 209 bytes
-rw-r--r--maps/re/004-3-5.mcachebin0 -> 119 bytes
-rw-r--r--maps/re/004-3-6.mcachebin0 -> 257 bytes
-rw-r--r--maps/re/004-3.mcachebin0 -> 241 bytes
-rw-r--r--maps/re/005-1-1.mcachebin0 -> 70 bytes
-rw-r--r--maps/re/005-1.mcachebin0 -> 936 bytes
-rw-r--r--maps/re/005-2-1.mcachebin0 -> 98 bytes
-rw-r--r--maps/re/005-2.mcachebin0 -> 101 bytes
-rw-r--r--maps/re/005-3.mcachebin0 -> 113 bytes
-rw-r--r--maps/re/005-4.mcachebin0 -> 100 bytes
-rw-r--r--maps/re/005-5.mcachebin0 -> 116 bytes
-rw-r--r--maps/re/005-6.mcachebin0 -> 96 bytes
-rw-r--r--maps/re/005-7.mcachebin0 -> 111 bytes
-rw-r--r--maps/re/006-0.mcachebin0 -> 202 bytes
-rw-r--r--maps/re/006-1.mcachebin0 -> 185 bytes
-rw-r--r--maps/re/006-10.mcachebin0 -> 178 bytes
-rw-r--r--maps/re/006-2-1.mcachebin0 -> 241 bytes
-rw-r--r--maps/re/006-2-2.mcachebin0 -> 102 bytes
-rw-r--r--maps/re/006-2-3.mcachebin0 -> 206 bytes
-rw-r--r--maps/re/006-2-4.mcachebin0 -> 74 bytes
-rw-r--r--maps/re/006-2-5.mcachebin0 -> 97 bytes
-rw-r--r--maps/re/006-2-6.mcachebin0 -> 97 bytes
-rw-r--r--maps/re/006-2.mcachebin0 -> 348 bytes
-rw-r--r--maps/re/006-3.mcachebin0 -> 243 bytes
-rw-r--r--maps/re/006-4-1.mcachebin0 -> 364 bytes
-rw-r--r--maps/re/006-4.mcachebin0 -> 1930 bytes
-rw-r--r--maps/re/006-5.mcachebin0 -> 279 bytes
-rw-r--r--maps/re/006-6.mcachebin0 -> 281 bytes
-rw-r--r--maps/re/006-7.mcachebin0 -> 145 bytes
-rw-r--r--maps/re/006-8.mcachebin0 -> 179 bytes
-rw-r--r--maps/re/006-9.mcachebin0 -> 250 bytes
-rw-r--r--maps/re/007-1-1.mcachebin0 -> 163 bytes
-rw-r--r--maps/re/007-1-2.mcachebin0 -> 179 bytes
-rw-r--r--maps/re/007-1.mcachebin0 -> 2108 bytes
-rw-r--r--maps/re/007-2.mcachebin0 -> 242 bytes
-rw-r--r--maps/re/008-0.mcachebin0 -> 223 bytes
-rw-r--r--maps/re/008-1.mcachebin0 -> 913 bytes
-rw-r--r--maps/re/008-2.mcachebin0 -> 1304 bytes
-rw-r--r--maps/re/009-1.mcachebin0 -> 819 bytes
-rw-r--r--maps/re/009-2.mcachebin0 -> 131 bytes
-rw-r--r--maps/re/009-3.mcachebin0 -> 110 bytes
-rw-r--r--maps/re/009-4.mcachebin0 -> 117 bytes
-rw-r--r--maps/re/009-5.mcachebin0 -> 101 bytes
-rw-r--r--maps/re/009-6.mcachebin0 -> 80 bytes
-rw-r--r--maps/re/009-7.mcachebin0 -> 80 bytes
-rw-r--r--maps/re/010-1-1.mcachebin0 -> 1737 bytes
-rw-r--r--maps/re/010-1-10.mcachebin0 -> 125 bytes
-rw-r--r--maps/re/010-1-11.mcachebin0 -> 84 bytes
-rw-r--r--maps/re/010-1-12.mcachebin0 -> 84 bytes
-rw-r--r--maps/re/010-1-2.mcachebin0 -> 685 bytes
-rw-r--r--maps/re/010-1-3.mcachebin0 -> 201 bytes
-rw-r--r--maps/re/010-1-4.mcachebin0 -> 173 bytes
-rw-r--r--maps/re/010-1-5.mcachebin0 -> 476 bytes
-rw-r--r--maps/re/010-1-6.mcachebin0 -> 403 bytes
-rw-r--r--maps/re/010-1-7.mcachebin0 -> 153 bytes
-rw-r--r--maps/re/010-1-8.mcachebin0 -> 81 bytes
-rw-r--r--maps/re/010-1-9.mcachebin0 -> 261 bytes
-rw-r--r--maps/re/010-1.mcachebin0 -> 966 bytes
-rw-r--r--maps/re/010-2-10.mcachebin0 -> 177 bytes
-rw-r--r--maps/re/010-2-11.mcachebin0 -> 202 bytes
-rw-r--r--maps/re/010-2-12.mcachebin0 -> 176 bytes
-rw-r--r--maps/re/010-2-13.mcachebin0 -> 116 bytes
-rw-r--r--maps/re/010-2-14.mcachebin0 -> 152 bytes
-rw-r--r--maps/re/010-2-15.mcachebin0 -> 144 bytes
-rw-r--r--maps/re/010-2-16.mcachebin0 -> 367 bytes
-rw-r--r--maps/re/010-2-2.mcachebin0 -> 388 bytes
-rw-r--r--maps/re/010-2-3.mcachebin0 -> 382 bytes
-rw-r--r--maps/re/010-2-4.mcachebin0 -> 184 bytes
-rw-r--r--maps/re/010-2-5.mcachebin0 -> 224 bytes
-rw-r--r--maps/re/010-2-6.mcachebin0 -> 224 bytes
-rw-r--r--maps/re/010-2-7.mcachebin0 -> 136 bytes
-rw-r--r--maps/re/010-2-8.mcachebin0 -> 145 bytes
-rw-r--r--maps/re/010-2-9.mcachebin0 -> 143 bytes
-rw-r--r--maps/re/010-2.mcachebin0 -> 1805 bytes
-rw-r--r--maps/re/010-3.mcachebin0 -> 84 bytes
-rw-r--r--maps/re/010-4-1.mcachebin0 -> 186 bytes
-rw-r--r--maps/re/010-4-2.mcachebin0 -> 319 bytes
-rw-r--r--maps/re/011-1.mcachebin0 -> 3021 bytes
-rw-r--r--maps/re/011-2.mcachebin0 -> 529 bytes
-rw-r--r--maps/re/011-3.mcachebin0 -> 697 bytes
-rw-r--r--maps/re/012-1.mcachebin0 -> 1015 bytes
-rw-r--r--maps/re/012-2.mcachebin0 -> 170 bytes
-rw-r--r--maps/re/012-3.mcachebin0 -> 82 bytes
-rw-r--r--maps/re/012-4.mcachebin0 -> 79 bytes
-rw-r--r--maps/re/012-5.mcachebin0 -> 101 bytes
-rw-r--r--maps/re/012-6.mcachebin0 -> 106 bytes
-rw-r--r--maps/re/012-7.mcachebin0 -> 129 bytes
-rw-r--r--maps/re/012-8.mcachebin0 -> 80 bytes
-rw-r--r--maps/re/013-1.mcachebin0 -> 801 bytes
-rw-r--r--maps/re/014-1.mcachebin0 -> 1038 bytes
-rw-r--r--maps/re/014-2-1.mcachebin0 -> 101 bytes
-rw-r--r--maps/re/014-2-2.mcachebin0 -> 111 bytes
-rw-r--r--maps/re/014-2.mcachebin0 -> 1964 bytes
-rw-r--r--maps/re/014-3.mcachebin0 -> 1728 bytes
-rw-r--r--maps/re/014-4.mcachebin0 -> 1111 bytes
-rw-r--r--maps/re/014-5-1.mcachebin0 -> 82 bytes
-rw-r--r--maps/re/014-5.mcachebin0 -> 2315 bytes
-rw-r--r--maps/re/015-1.mcachebin0 -> 1538 bytes
-rw-r--r--maps/re/015-2.mcachebin0 -> 2243 bytes
-rw-r--r--maps/re/015-3-1.mcachebin0 -> 449 bytes
-rw-r--r--maps/re/015-3-2.mcachebin0 -> 493 bytes
-rw-r--r--maps/re/015-3-3.mcachebin0 -> 436 bytes
-rw-r--r--maps/re/015-3.mcachebin0 -> 1355 bytes
-rw-r--r--maps/re/015-4.mcachebin0 -> 274 bytes
-rw-r--r--maps/re/015-5.mcachebin0 -> 3327 bytes
-rw-r--r--maps/re/015-6.mcachebin0 -> 4007 bytes
-rw-r--r--maps/re/015-7.mcachebin0 -> 264 bytes
-rw-r--r--maps/re/015-8-1.mcachebin0 -> 282 bytes
-rw-r--r--maps/re/015-8.mcachebin0 -> 1222 bytes
-rw-r--r--maps/re/016-1.mcachebin0 -> 101 bytes
-rw-r--r--maps/re/016-6.mcachebin0 -> 102 bytes
-rw-r--r--maps/re/016-7.mcachebin0 -> 123 bytes
-rw-r--r--maps/re/017-0.mcachebin0 -> 4860 bytes
-rw-r--r--maps/re/017-1.mcachebin0 -> 4245 bytes
-rw-r--r--maps/re/017-10.mcachebin0 -> 411 bytes
-rw-r--r--maps/re/017-2-1.mcachebin0 -> 523 bytes
-rw-r--r--maps/re/017-2-2.mcachebin0 -> 240 bytes
-rw-r--r--maps/re/017-2.mcachebin0 -> 99 bytes
-rw-r--r--maps/re/017-3.mcachebin0 -> 347 bytes
-rw-r--r--maps/re/017-4.mcachebin0 -> 159 bytes
-rw-r--r--maps/re/017-5.mcachebin0 -> 116 bytes
-rw-r--r--maps/re/017-6.mcachebin0 -> 120 bytes
-rw-r--r--maps/re/017-7.mcachebin0 -> 80 bytes
-rw-r--r--maps/re/017-8.mcachebin0 -> 80 bytes
-rw-r--r--maps/re/018-1-1.mcachebin0 -> 352 bytes
-rw-r--r--maps/re/018-1.mcachebin0 -> 365 bytes
-rw-r--r--maps/re/018-2-1.mcachebin0 -> 77 bytes
-rw-r--r--maps/re/018-2-2.mcachebin0 -> 2265 bytes
-rw-r--r--maps/re/018-2-3.mcachebin0 -> 2265 bytes
-rw-r--r--maps/re/018-2-4.mcachebin0 -> 118 bytes
-rw-r--r--maps/re/018-2-5.mcachebin0 -> 2265 bytes
-rw-r--r--maps/re/018-2-6.mcachebin0 -> 1610 bytes
-rw-r--r--maps/re/018-2-7.mcachebin0 -> 1537 bytes
-rw-r--r--maps/re/018-2-8.mcachebin0 -> 1579 bytes
-rw-r--r--maps/re/018-2.mcachebin0 -> 758 bytes
-rw-r--r--maps/re/018-3.mcachebin0 -> 808 bytes
-rw-r--r--maps/re/018-4-1.mcachebin0 -> 718 bytes
-rw-r--r--maps/re/018-4-2.mcachebin0 -> 94 bytes
-rw-r--r--maps/re/018-4.mcachebin0 -> 1029 bytes
-rw-r--r--maps/re/018-5-0.mcachebin0 -> 198 bytes
-rw-r--r--maps/re/018-5-1.mcachebin0 -> 581 bytes
-rw-r--r--maps/re/018-5-2.mcachebin0 -> 111 bytes
-rw-r--r--maps/re/018-5-3.mcachebin0 -> 110 bytes
-rw-r--r--maps/re/018-5-4.mcachebin0 -> 457 bytes
-rw-r--r--maps/re/018-5-5.mcachebin0 -> 114 bytes
-rw-r--r--maps/re/018-5-boss.mcachebin0 -> 125 bytes
-rw-r--r--maps/re/018-5.mcachebin0 -> 719 bytes
-rw-r--r--maps/re/018-6-0.mcachebin0 -> 249 bytes
-rw-r--r--maps/re/018-6-1.mcachebin0 -> 1278 bytes
-rw-r--r--maps/re/018-6-2.mcachebin0 -> 543 bytes
-rw-r--r--maps/re/018-6-3.mcachebin0 -> 624 bytes
-rw-r--r--maps/re/018-7-1.mcachebin0 -> 397 bytes
-rw-r--r--maps/re/018-7.mcachebin0 -> 450 bytes
-rw-r--r--maps/re/019-1-1.mcachebin0 -> 105 bytes
-rw-r--r--maps/re/019-1.mcachebin0 -> 613 bytes
-rw-r--r--maps/re/019-2.mcachebin0 -> 724 bytes
-rw-r--r--maps/re/019-3.mcachebin0 -> 1317 bytes
-rw-r--r--maps/re/019-4-1.mcachebin0 -> 126 bytes
-rw-r--r--maps/re/019-4.mcachebin0 -> 575 bytes
-rw-r--r--maps/re/019-5-1.mcachebin0 -> 782 bytes
-rw-r--r--maps/re/019-5-2.mcachebin0 -> 926 bytes
-rw-r--r--maps/re/019-5-3.mcachebin0 -> 80 bytes
-rw-r--r--maps/re/019-5.mcachebin0 -> 3735 bytes
-rw-r--r--maps/re/019-6.mcachebin0 -> 1986 bytes
-rw-r--r--maps/re/020-1.mcachebin0 -> 618 bytes
-rw-r--r--maps/re/020-2.mcachebin0 -> 93 bytes
-rw-r--r--maps/re/020-3.mcachebin0 -> 90 bytes
-rw-r--r--maps/re/020-4.mcachebin0 -> 160 bytes
-rw-r--r--maps/re/020-5.mcachebin0 -> 94 bytes
-rw-r--r--maps/re/020-6.mcachebin0 -> 92 bytes
-rw-r--r--maps/re/020-7-1.mcachebin0 -> 394 bytes
-rw-r--r--maps/re/020-7-2.mcachebin0 -> 594 bytes
-rw-r--r--maps/re/020-7.mcachebin0 -> 136 bytes
-rw-r--r--maps/re/021-0.mcachebin0 -> 179 bytes
-rw-r--r--maps/re/021-1.mcachebin0 -> 3185 bytes
-rw-r--r--maps/re/021-2.mcachebin0 -> 654 bytes
-rw-r--r--maps/re/021-3.mcachebin0 -> 411 bytes
-rw-r--r--maps/re/021-4.mcachebin0 -> 676 bytes
-rw-r--r--maps/re/022-1.mcachebin0 -> 709 bytes
-rw-r--r--maps/re/023-1.mcachebin0 -> 273 bytes
-rw-r--r--maps/re/023-2.mcachebin0 -> 476 bytes
-rw-r--r--maps/re/023-3-1.mcachebin0 -> 162 bytes
-rw-r--r--maps/re/023-3-2.mcachebin0 -> 169 bytes
-rw-r--r--maps/re/023-3.mcachebin0 -> 1633 bytes
-rw-r--r--maps/re/023-4.mcachebin0 -> 236 bytes
-rw-r--r--maps/re/024-1.mcachebin0 -> 1181 bytes
-rw-r--r--maps/re/024-10.mcachebin0 -> 68 bytes
-rw-r--r--maps/re/024-11.mcachebin0 -> 80 bytes
-rw-r--r--maps/re/024-12.mcachebin0 -> 71 bytes
-rw-r--r--maps/re/024-13.mcachebin0 -> 75 bytes
-rw-r--r--maps/re/024-14.mcachebin0 -> 67 bytes
-rw-r--r--maps/re/024-15.mcachebin0 -> 96 bytes
-rw-r--r--maps/re/024-16.mcachebin0 -> 108 bytes
-rw-r--r--maps/re/024-2.mcachebin0 -> 87 bytes
-rw-r--r--maps/re/024-3.mcachebin0 -> 69 bytes
-rw-r--r--maps/re/024-4.mcachebin0 -> 75 bytes
-rw-r--r--maps/re/024-5.mcachebin0 -> 69 bytes
-rw-r--r--maps/re/024-6.mcachebin0 -> 77 bytes
-rw-r--r--maps/re/024-7.mcachebin0 -> 80 bytes
-rw-r--r--maps/re/024-8.mcachebin0 -> 95 bytes
-rw-r--r--maps/re/024-9.mcachebin0 -> 82 bytes
-rw-r--r--maps/re/025-1.mcachebin0 -> 1933 bytes
-rw-r--r--maps/re/025-2-1.mcachebin0 -> 633 bytes
-rw-r--r--maps/re/025-2-2.mcachebin0 -> 230 bytes
-rw-r--r--maps/re/025-2-3.mcachebin0 -> 205 bytes
-rw-r--r--maps/re/025-2-4.mcachebin0 -> 503 bytes
-rw-r--r--maps/re/025-2.mcachebin0 -> 1231 bytes
-rw-r--r--maps/re/025-3.mcachebin0 -> 467 bytes
-rw-r--r--maps/re/026-0.mcachebin0 -> 381 bytes
-rw-r--r--maps/re/026-1.mcachebin0 -> 348 bytes
-rw-r--r--maps/re/026-2.mcachebin0 -> 493 bytes
-rw-r--r--maps/re/027-0.mcachebin0 -> 210 bytes
-rw-r--r--maps/re/027-1.mcachebin0 -> 983 bytes
-rw-r--r--maps/re/027-2.mcachebin0 -> 114 bytes
-rw-r--r--maps/re/027-3.mcachebin0 -> 106 bytes
-rw-r--r--maps/re/027-4.mcachebin0 -> 86 bytes
-rw-r--r--maps/re/027-5.mcachebin0 -> 68 bytes
-rw-r--r--maps/re/027-6.mcachebin0 -> 111 bytes
-rw-r--r--maps/re/027-7.mcachebin0 -> 247 bytes
-rw-r--r--maps/re/029-0.mcachebin0 -> 3118 bytes
-rw-r--r--maps/re/029-1.mcachebin0 -> 6731 bytes
-rw-r--r--maps/re/029-2.mcachebin0 -> 200 bytes
-rw-r--r--maps/re/029-3.mcachebin0 -> 477 bytes
-rw-r--r--maps/re/029-4.mcachebin0 -> 755 bytes
-rw-r--r--maps/re/029-5.mcachebin0 -> 424 bytes
-rw-r--r--maps/re/029-6.mcachebin0 -> 1375 bytes
-rw-r--r--maps/re/029-7.mcachebin0 -> 1231 bytes
-rw-r--r--maps/re/029-8.mcachebin0 -> 5338 bytes
-rw-r--r--maps/re/029-9.mcachebin0 -> 242 bytes
-rw-r--r--maps/re/030-01.mcachebin0 -> 304 bytes
-rw-r--r--maps/re/030-02.mcachebin0 -> 314 bytes
-rw-r--r--maps/re/030-03.mcachebin0 -> 321 bytes
-rw-r--r--maps/re/030-04.mcachebin0 -> 333 bytes
-rw-r--r--maps/re/030-05.mcachebin0 -> 312 bytes
-rw-r--r--maps/re/030-06.mcachebin0 -> 326 bytes
-rw-r--r--maps/re/030-07.mcachebin0 -> 330 bytes
-rw-r--r--maps/re/030-08.mcachebin0 -> 329 bytes
-rw-r--r--maps/re/030-09.mcachebin0 -> 309 bytes
-rw-r--r--maps/re/030-10.mcachebin0 -> 331 bytes
-rw-r--r--maps/re/030-11.mcachebin0 -> 314 bytes
-rw-r--r--maps/re/030-12.mcachebin0 -> 327 bytes
-rw-r--r--maps/re/030-13.mcachebin0 -> 317 bytes
-rw-r--r--maps/re/030-14.mcachebin0 -> 318 bytes
-rw-r--r--maps/re/030-15.mcachebin0 -> 363 bytes
-rw-r--r--maps/re/030-16.mcachebin0 -> 428 bytes
-rw-r--r--maps/re/030-17.mcachebin0 -> 364 bytes
-rw-r--r--maps/re/030-18.mcachebin0 -> 363 bytes
-rw-r--r--maps/re/030-19.mcachebin0 -> 351 bytes
-rw-r--r--maps/re/030-20.mcachebin0 -> 368 bytes
-rw-r--r--maps/re/030-21.mcachebin0 -> 367 bytes
-rw-r--r--maps/re/030-22.mcachebin0 -> 339 bytes
-rw-r--r--maps/re/030-23.mcachebin0 -> 339 bytes
-rw-r--r--maps/re/030-24.mcachebin0 -> 443 bytes
-rw-r--r--maps/re/030-25.mcachebin0 -> 569 bytes
-rw-r--r--maps/re/030-26.mcachebin0 -> 593 bytes
-rw-r--r--maps/re/030-27.mcachebin0 -> 586 bytes
-rw-r--r--maps/re/030-28.mcachebin0 -> 576 bytes
-rw-r--r--maps/re/030-29.mcachebin0 -> 579 bytes
-rw-r--r--maps/re/030-30.mcachebin0 -> 589 bytes
-rw-r--r--maps/re/030-31.mcachebin0 -> 583 bytes
-rw-r--r--maps/re/030-32.mcachebin0 -> 601 bytes
-rw-r--r--maps/re/030-33.mcachebin0 -> 597 bytes
-rw-r--r--maps/re/030-34.mcachebin0 -> 576 bytes
-rw-r--r--maps/re/030-35.mcachebin0 -> 591 bytes
-rw-r--r--maps/re/030-36.mcachebin0 -> 592 bytes
-rw-r--r--maps/re/030-37.mcachebin0 -> 568 bytes
-rw-r--r--maps/re/030-38.mcachebin0 -> 594 bytes
-rw-r--r--maps/re/030-39.mcachebin0 -> 589 bytes
-rw-r--r--maps/re/030-40.mcachebin0 -> 979 bytes
-rw-r--r--maps/re/030-41.mcachebin0 -> 999 bytes
-rw-r--r--maps/re/030-42.mcachebin0 -> 980 bytes
-rw-r--r--maps/re/030-43.mcachebin0 -> 1010 bytes
-rw-r--r--maps/re/030-44.mcachebin0 -> 1001 bytes
-rw-r--r--maps/re/030-45.mcachebin0 -> 993 bytes
-rw-r--r--maps/re/030-46.mcachebin0 -> 1040 bytes
-rw-r--r--maps/re/030-47.mcachebin0 -> 1012 bytes
-rw-r--r--maps/re/030-48.mcachebin0 -> 1041 bytes
-rw-r--r--maps/re/030-49.mcachebin0 -> 997 bytes
-rw-r--r--maps/re/030-50.mcachebin0 -> 1037 bytes
-rw-r--r--maps/re/030-51.mcachebin0 -> 983 bytes
-rw-r--r--maps/re/030-52.mcachebin0 -> 1012 bytes
-rw-r--r--maps/re/030-53.mcachebin0 -> 1003 bytes
-rw-r--r--maps/re/030-54.mcachebin0 -> 1011 bytes
-rw-r--r--maps/re/030-55.mcachebin0 -> 993 bytes
-rw-r--r--maps/re/030-56.mcachebin0 -> 1022 bytes
-rw-r--r--maps/re/030-57.mcachebin0 -> 995 bytes
-rw-r--r--maps/re/030-58.mcachebin0 -> 1022 bytes
-rw-r--r--maps/re/030-59.mcachebin0 -> 965 bytes
-rw-r--r--maps/re/030-60.mcachebin0 -> 1570 bytes
-rw-r--r--maps/re/030-61.mcachebin0 -> 1579 bytes
-rw-r--r--maps/re/030-62.mcachebin0 -> 1518 bytes
-rw-r--r--maps/re/030-63.mcachebin0 -> 1540 bytes
-rw-r--r--maps/re/030-64.mcachebin0 -> 1591 bytes
-rw-r--r--maps/re/030-65.mcachebin0 -> 1540 bytes
-rw-r--r--maps/re/030-66.mcachebin0 -> 1554 bytes
-rw-r--r--maps/re/030-67.mcachebin0 -> 1558 bytes
-rw-r--r--maps/re/030-68.mcachebin0 -> 1574 bytes
-rw-r--r--maps/re/030-69.mcachebin0 -> 1557 bytes
-rw-r--r--maps/re/030-70.mcachebin0 -> 2274 bytes
-rw-r--r--maps/re/030-71.mcachebin0 -> 2233 bytes
-rw-r--r--maps/re/030-72.mcachebin0 -> 2199 bytes
-rw-r--r--maps/re/030-73.mcachebin0 -> 2281 bytes
-rw-r--r--maps/re/030-74.mcachebin0 -> 2265 bytes
-rw-r--r--maps/re/030-75.mcachebin0 -> 2234 bytes
-rw-r--r--maps/re/031-0.mcachebin0 -> 1027 bytes
-rw-r--r--maps/re/031-1.mcachebin0 -> 660 bytes
-rw-r--r--maps/re/031-2.mcachebin0 -> 120 bytes
-rw-r--r--maps/re/031-3.mcachebin0 -> 99 bytes
-rw-r--r--maps/re/031-4.mcachebin0 -> 100 bytes
-rw-r--r--maps/re/031-5.mcachebin0 -> 109 bytes
-rw-r--r--maps/re/031-6.mcachebin0 -> 96 bytes
-rw-r--r--maps/re/031-7.mcachebin0 -> 130 bytes
-rw-r--r--maps/re/031-8.mcachebin0 -> 98 bytes
-rw-r--r--maps/re/031-9.mcachebin0 -> 92 bytes
-rw-r--r--maps/re/032-1.mcachebin0 -> 2107 bytes
-rw-r--r--maps/re/032-2.mcachebin0 -> 2549 bytes
-rw-r--r--maps/re/032-3.mcachebin0 -> 815 bytes
-rw-r--r--maps/re/032-4.mcachebin0 -> 306 bytes
-rw-r--r--maps/re/032-5.mcachebin0 -> 123 bytes
-rw-r--r--maps/re/033-1.mcachebin0 -> 4019 bytes
-rw-r--r--maps/re/033-2.mcachebin0 -> 147 bytes
-rw-r--r--maps/re/033-3.mcachebin0 -> 130 bytes
-rw-r--r--maps/re/033-4.mcachebin0 -> 89 bytes
-rw-r--r--maps/re/033-5.mcachebin0 -> 142 bytes
-rw-r--r--maps/re/034-1.mcachebin0 -> 641 bytes
-rw-r--r--maps/re/034-2.mcachebin0 -> 459 bytes
-rw-r--r--maps/re/034-3.mcachebin0 -> 327 bytes
-rw-r--r--maps/re/034-4.mcachebin0 -> 450 bytes
-rw-r--r--maps/re/042-0.mcachebin0 -> 332 bytes
-rw-r--r--maps/re/042-1.mcachebin0 -> 221 bytes
-rw-r--r--maps/re/042-10.mcachebin0 -> 1406 bytes
-rw-r--r--maps/re/042-11.mcachebin0 -> 144 bytes
-rw-r--r--maps/re/042-2.mcachebin0 -> 229 bytes
-rw-r--r--maps/re/042-3.mcachebin0 -> 850 bytes
-rw-r--r--maps/re/042-4.mcachebin0 -> 417 bytes
-rw-r--r--maps/re/042-5.mcachebin0 -> 381 bytes
-rw-r--r--maps/re/042-6.mcachebin0 -> 471 bytes
-rw-r--r--maps/re/042-7.mcachebin0 -> 344 bytes
-rw-r--r--maps/re/042-8.mcachebin0 -> 394 bytes
-rw-r--r--maps/re/042-9.mcachebin0 -> 444 bytes
-rw-r--r--maps/re/boss.mcachebin0 -> 164 bytes
-rw-r--r--maps/re/botcheck.mcachebin0 -> 118 bytes
-rw-r--r--maps/re/guilds.mcachebin0 -> 170 bytes
-rw-r--r--maps/re/sec_pri.mcachebin0 -> 68 bytes
-rw-r--r--maps/re/soren-2.mcachebin0 -> 95 bytes
-rw-r--r--maps/re/soren.mcachebin0 -> 1351 bytes
-rw-r--r--maps/re/test.mcachebin0 -> 201 bytes
-rw-r--r--maps/re/testbg.mcachebin0 -> 43 bytes
-rw-r--r--npc/000-0-0/_import.txt5
-rw-r--r--npc/000-0-0/chest.txt69
-rw-r--r--npc/000-0-0/mapflags.txt1
-rw-r--r--npc/000-0-0/sailors.txt300
-rw-r--r--npc/000-0-1/_import.txt3
-rw-r--r--npc/000-0-1/mf.txt1
-rw-r--r--npc/000-0/_import.txt4
-rw-r--r--npc/000-0/mapflags.txt2
-rw-r--r--npc/000-0/sailors.txt282
-rw-r--r--npc/000-1/_import.txt3
-rw-r--r--npc/000-1/exit.txt32
-rw-r--r--npc/001-1/_import.txt9
-rw-r--r--npc/001-1/bgmaster.txt349
-rw-r--r--npc/001-1/eventmaster.txt854
-rw-r--r--npc/001-1/mahul.txt57
-rw-r--r--npc/001-1/mapflags.txt9
-rw-r--r--npc/001-1/portal.txt136
-rw-r--r--npc/001-1/rewards.txt129
-rw-r--r--npc/001-1/wateranimation.txt29
-rw-r--r--npc/001-10-1/_import.txt4
-rw-r--r--npc/001-10-1/mapflags.txt2
-rw-r--r--npc/001-10-1/scripts.txt88
-rw-r--r--npc/001-10/_import.txt4
-rw-r--r--npc/001-10/mapflags.txt2
-rw-r--r--npc/001-10/scripts.txt147
-rw-r--r--npc/001-11/Demure.txt244
-rw-r--r--npc/001-11/Soren.txt173
-rw-r--r--npc/001-11/_import.txt6
-rw-r--r--npc/001-11/_mobs.txt5
-rw-r--r--npc/001-11/event_soulmenhir.txt164
-rw-r--r--npc/001-12/_import.txt4
-rw-r--r--npc/001-12/_mobs.txt12
-rw-r--r--npc/001-12/event_soulmenhir.txt29
-rw-r--r--npc/001-13-0/_import.txt2
-rw-r--r--npc/001-13-1/_import.txt2
-rw-r--r--npc/001-13-2/_import.txt2
-rw-r--r--npc/001-13/_import.txt3
-rw-r--r--npc/001-13/main.txt246
-rw-r--r--npc/001-14/_import.txt6
-rw-r--r--npc/001-14/_warps.txt123
-rw-r--r--npc/001-14/ctrl.txt642
-rw-r--r--npc/001-14/hocus.txt257
-rw-r--r--npc/001-14/mapflags.txt1
-rw-r--r--npc/001-2/_import.txt3
-rw-r--r--npc/001-2/mapflags.txt1
-rw-r--r--npc/001-3-1/_import.txt5
-rw-r--r--npc/001-3-1/_warps.txt11
-rw-r--r--npc/001-3-1/alchemy.txt27
-rw-r--r--npc/001-3-1/smith.txt28
-rw-r--r--npc/001-3/_import.txt4
-rw-r--r--npc/001-3/_warps.txt11
-rw-r--r--npc/001-3/ctrl.txt23
-rw-r--r--npc/001-4/_import.txt7
-rw-r--r--npc/001-4/_mobs.txt16
-rw-r--r--npc/001-4/event_soulmenhir.txt25
-rw-r--r--npc/001-4/lilica.txt186
-rw-r--r--npc/001-4/mushroom.txt174
-rw-r--r--npc/001-4/traps.txt557
-rw-r--r--npc/001-5/_import.txt5
-rw-r--r--npc/001-5/_mobs.txt8
-rw-r--r--npc/001-5/_warps.txt5
-rw-r--r--npc/001-5/worker.txt88
-rw-r--r--npc/001-6/_import.txt5
-rw-r--r--npc/001-6/_mobs.txt14
-rw-r--r--npc/001-6/mapflags.txt1
-rw-r--r--npc/001-6/warp.txt32
-rw-r--r--npc/001-7/_import.txt8
-rw-r--r--npc/001-7/_mobs.txt37
-rw-r--r--npc/001-7/_warps.txt20
-rw-r--r--npc/001-7/barbarian.txt75
-rw-r--r--npc/001-7/celestia_bossfight.txt247
-rw-r--r--npc/001-7/homunculus.txt282
-rw-r--r--npc/001-7/mapflags.txt1
-rw-r--r--npc/001-8/_import.txt5
-rw-r--r--npc/001-8/_mobs.txt8
-rw-r--r--npc/001-8/hub.txt433
-rw-r--r--npc/001-8/mapflags.txt5
-rw-r--r--npc/001-9/_import.txt2
-rw-r--r--npc/002-1/_import.txt15
-rw-r--r--npc/002-1/_mobs.txt3
-rw-r--r--npc/002-1/alige.txt204
-rw-r--r--npc/002-1/arpan.txt184
-rw-r--r--npc/002-1/billybons.txt108
-rw-r--r--npc/002-1/chefgado.txt109
-rw-r--r--npc/002-1/dan.txt169
-rw-r--r--npc/002-1/devis.txt17
-rw-r--r--npc/002-1/doors.txt17
-rw-r--r--npc/002-1/hammock.txt73
-rw-r--r--npc/002-1/juliet.txt171
-rw-r--r--npc/002-1/knife.txt49
-rw-r--r--npc/002-1/mapflags.txt1
-rw-r--r--npc/002-1/peter.txt307
-rw-r--r--npc/002-2/_import.txt5
-rw-r--r--npc/002-2/doors.txt49
-rw-r--r--npc/002-2/mapflags.txt2
-rw-r--r--npc/002-2/ratto.txt80
-rw-r--r--npc/002-3/_import.txt8
-rw-r--r--npc/002-3/_mobs.txt3
-rw-r--r--npc/002-3/doors.txt83
-rw-r--r--npc/002-3/elmo.txt163
-rw-r--r--npc/002-3/mapflags.txt1
-rw-r--r--npc/002-3/nard.txt407
-rw-r--r--npc/002-3/note.txt51
-rw-r--r--npc/002-4/_import.txt3
-rw-r--r--npc/002-4/doors.txt15
-rw-r--r--npc/002-5/_import.txt5
-rw-r--r--npc/002-5/_mobs.txt3
-rw-r--r--npc/002-5/main.txt68
-rw-r--r--npc/002-5/mapflags.txt1
-rw-r--r--npc/003-0-1/_import.txt9
-rw-r--r--npc/003-0-1/_warps.txt3
-rw-r--r--npc/003-0-1/audsbel.txt499
-rw-r--r--npc/003-0-1/guards.txt61
-rw-r--r--npc/003-0-1/maxime.txt108
-rw-r--r--npc/003-0-1/professor.txt114
-rw-r--r--npc/003-0-1/researcher.txt91
-rw-r--r--npc/003-0-1/statues.txt127
-rw-r--r--npc/003-0-2/_import.txt6
-rw-r--r--npc/003-0-2/_warps.txt3
-rw-r--r--npc/003-0-2/manastone.txt76
-rw-r--r--npc/003-0-2/misc.txt16
-rw-r--r--npc/003-0-2/saves.txt168
-rw-r--r--npc/003-0/_import.txt7
-rw-r--r--npc/003-0/_mobs.txt4
-rw-r--r--npc/003-0/_warps.txt3
-rw-r--r--npc/003-0/mainquest.txt178
-rw-r--r--npc/003-0/notes138
-rw-r--r--npc/003-0/recepcionist.txt162
-rw-r--r--npc/003-0/trickmaster.txt125
-rw-r--r--npc/003-1-1/_import.txt7
-rw-r--r--npc/003-1-1/_mobs.txt6
-rw-r--r--npc/003-1-1/_warps.txt6
-rw-r--r--npc/003-1-1/downpath.txt32
-rw-r--r--npc/003-1-1/treasure.txt61
-rw-r--r--npc/003-1-1/yetiking.txt167
-rw-r--r--npc/003-1-2/_import.txt4
-rw-r--r--npc/003-1-2/_mobs.txt3
-rw-r--r--npc/003-1-2/_warps.txt5
-rw-r--r--npc/003-1-3/_import.txt4
-rw-r--r--npc/003-1-3/_mobs.txt6
-rw-r--r--npc/003-1-3/_warps.txt4
-rw-r--r--npc/003-1/_import.txt43
-rw-r--r--npc/003-1/_mobs.txt20
-rw-r--r--npc/003-1/_warps.txt26
-rw-r--r--npc/003-1/aahna.txt44
-rw-r--r--npc/003-1/aidan.txt128
-rw-r--r--npc/003-1/ched.txt202
-rw-r--r--npc/003-1/constableperry.txt111
-rw-r--r--npc/003-1/eomie.txt97
-rw-r--r--npc/003-1/eugene.txt173
-rw-r--r--npc/003-1/events.txt499
-rw-r--r--npc/003-1/gladys.txt99
-rw-r--r--npc/003-1/hasan.txt224
-rw-r--r--npc/003-1/inac.txt142
-rw-r--r--npc/003-1/inar.txt46
-rw-r--r--npc/003-1/ishi.txt232
-rw-r--r--npc/003-1/itka.txt51
-rw-r--r--npc/003-1/jakod.txt77
-rw-r--r--npc/003-1/jerican.txt15
-rw-r--r--npc/003-1/lieutenantdausen.txt956
-rw-r--r--npc/003-1/magic.txt45
-rw-r--r--npc/003-1/mahoud.txt59
-rw-r--r--npc/003-1/malivox.txt46
-rw-r--r--npc/003-1/mapflags.txt23
-rw-r--r--npc/003-1/mariusthebard.txt231
-rw-r--r--npc/003-1/michel.txt73
-rw-r--r--npc/003-1/neko.txt121
-rw-r--r--npc/003-1/ninathetraveler.txt111
-rw-r--r--npc/003-1/oldwell.txt38
-rw-r--r--npc/003-1/quirino.txt264
-rw-r--r--npc/003-1/sailors.txt180
-rw-r--r--npc/003-1/sarah.txt108
-rw-r--r--npc/003-1/sewer.txt49
-rw-r--r--npc/003-1/ship.txt44
-rw-r--r--npc/003-1/shop.txt67
-rw-r--r--npc/003-1/silvia.txt131
-rw-r--r--npc/003-1/soul-menhir.txt20
-rw-r--r--npc/003-1/swezanne.txt146
-rw-r--r--npc/003-1/taree.txt17
-rw-r--r--npc/003-1/tinris.txt202
-rw-r--r--npc/003-1/town.txt33
-rw-r--r--npc/003-1/wateranimation.txt61
-rw-r--r--npc/003-1/well.txt73
-rw-r--r--npc/003-10/_import.txt8
-rw-r--r--npc/003-10/_warps.txt5
-rw-r--r--npc/003-10/arnea.txt215
-rw-r--r--npc/003-10/guarddevoir.txt101
-rw-r--r--npc/003-10/kreist.txt250
-rw-r--r--npc/003-10/officer.txt57
-rw-r--r--npc/003-10/slots.txt90
-rw-r--r--npc/003-13/_import.txt5
-rw-r--r--npc/003-13/_warps.txt3
-rw-r--r--npc/003-13/arnea.txt235
-rw-r--r--npc/003-13/mapflags.txt2
-rw-r--r--npc/003-2-0/_import.txt3
-rw-r--r--npc/003-2-0/_warps.txt3
-rw-r--r--npc/003-2-1/_import.txt6
-rw-r--r--npc/003-2-1/_mobs.txt3
-rw-r--r--npc/003-2-1/_warps.txt3
-rw-r--r--npc/003-2-1/demure.txt59
-rw-r--r--npc/003-2-1/mapflags.txt1
-rw-r--r--npc/003-2/_import.txt9
-rw-r--r--npc/003-2/_warps.txt6
-rw-r--r--npc/003-2/eistein.txt88
-rw-r--r--npc/003-2/estard.txt127
-rw-r--r--npc/003-2/hiddenwarp.txt18
-rw-r--r--npc/003-2/lua.txt877
-rw-r--r--npc/003-2/mapflags.txt1
-rw-r--r--npc/003-2/politics.txt58
-rw-r--r--npc/003-3/_import.txt4
-rw-r--r--npc/003-3/_warps.txt3
-rw-r--r--npc/003-3/malindou.txt862
-rw-r--r--npc/003-4-1/_import.txt4
-rw-r--r--npc/003-4-1/_mobs.txt3
-rw-r--r--npc/003-4-1/_warps.txt3
-rw-r--r--npc/003-4/_import.txt5
-rw-r--r--npc/003-4/_warps.txt3
-rw-r--r--npc/003-4/sorfina.txt144
-rw-r--r--npc/003-4/warp.txt14
-rw-r--r--npc/003-5/_import.txt4
-rw-r--r--npc/003-5/_warps.txt3
-rw-r--r--npc/003-5/jeweler.txt218
-rw-r--r--npc/003-6/_import.txt5
-rw-r--r--npc/003-6/_warps.txt4
-rw-r--r--npc/003-6/cyndala.txt249
-rw-r--r--npc/003-6/tamiloc.txt83
-rw-r--r--npc/003-7/_import.txt4
-rw-r--r--npc/003-7/_mobs.txt3
-rw-r--r--npc/003-7/_warps.txt4
-rw-r--r--npc/003-8/_import.txt6
-rw-r--r--npc/003-8/_warps.txt4
-rw-r--r--npc/003-8/craft.txt42
-rw-r--r--npc/003-8/intensebeard.txt273
-rw-r--r--npc/003-8/jhedia.txt197
-rw-r--r--npc/003-9-1/_import.txt3
-rw-r--r--npc/003-9-1/_warps.txt3
-rw-r--r--npc/003-9/_import.txt6
-rw-r--r--npc/003-9/_warps.txt14
-rw-r--r--npc/003-9/gambler.txt54
-rw-r--r--npc/003-9/recepcionist.txt64
-rw-r--r--npc/003-9/scripted.txt167
-rw-r--r--npc/004-1/_import.txt7
-rw-r--r--npc/004-1/_mobs.txt9
-rw-r--r--npc/004-1/_warps.txt8
-rw-r--r--npc/004-1/anwar.txt222
-rw-r--r--npc/004-1/elanore.txt118
-rw-r--r--npc/004-1/sign.txt19
-rw-r--r--npc/004-2-1/_import.txt4
-rw-r--r--npc/004-2-1/_mobs.txt13
-rw-r--r--npc/004-2-1/_warps.txt6
-rw-r--r--npc/004-2-10/_import.txt4
-rw-r--r--npc/004-2-10/_mobs.txt4
-rw-r--r--npc/004-2-10/_warps.txt3
-rw-r--r--npc/004-2-11/_import.txt4
-rw-r--r--npc/004-2-11/_mobs.txt10
-rw-r--r--npc/004-2-11/_warps.txt7
-rw-r--r--npc/004-2-12/_import.txt4
-rw-r--r--npc/004-2-12/_mobs.txt7
-rw-r--r--npc/004-2-12/_warps.txt4
-rw-r--r--npc/004-2-2/_import.txt4
-rw-r--r--npc/004-2-2/_mobs.txt9
-rw-r--r--npc/004-2-2/_warps.txt4
-rw-r--r--npc/004-2-3/_import.txt4
-rw-r--r--npc/004-2-3/_mobs.txt23
-rw-r--r--npc/004-2-3/_warps.txt22
-rw-r--r--npc/004-2-4/_import.txt4
-rw-r--r--npc/004-2-4/_mobs.txt17
-rw-r--r--npc/004-2-4/_warps.txt12
-rw-r--r--npc/004-2-5/_import.txt4
-rw-r--r--npc/004-2-5/_mobs.txt8
-rw-r--r--npc/004-2-5/_warps.txt5
-rw-r--r--npc/004-2-6/_import.txt4
-rw-r--r--npc/004-2-6/_mobs.txt9
-rw-r--r--npc/004-2-6/_warps.txt5
-rw-r--r--npc/004-2-7/_import.txt4
-rw-r--r--npc/004-2-7/_mobs.txt7
-rw-r--r--npc/004-2-7/_warps.txt5
-rw-r--r--npc/004-2-8/_import.txt4
-rw-r--r--npc/004-2-8/_mobs.txt7
-rw-r--r--npc/004-2-8/_warps.txt5
-rw-r--r--npc/004-2-9/_import.txt4
-rw-r--r--npc/004-2-9/_mobs.txt8
-rw-r--r--npc/004-2-9/_warps.txt5
-rw-r--r--npc/004-2/_import.txt7
-rw-r--r--npc/004-2/_mobs.txt18
-rw-r--r--npc/004-2/_warps.txt43
-rw-r--r--npc/004-2/mirio.txt230
-rw-r--r--npc/004-2/pachua.txt49
-rw-r--r--npc/004-2/sign.txt48
-rw-r--r--npc/004-3-1/_import.txt5
-rw-r--r--npc/004-3-1/_mobs.txt9
-rw-r--r--npc/004-3-1/_warps.txt4
-rw-r--r--npc/004-3-1/falkrun.txt200
-rw-r--r--npc/004-3-2/_import.txt4
-rw-r--r--npc/004-3-2/_mobs.txt19
-rw-r--r--npc/004-3-2/_warps.txt13
-rw-r--r--npc/004-3-3/_import.txt4
-rw-r--r--npc/004-3-3/_mobs.txt5
-rw-r--r--npc/004-3-3/_warps.txt4
-rw-r--r--npc/004-3-4/_import.txt4
-rw-r--r--npc/004-3-4/_mobs.txt8
-rw-r--r--npc/004-3-4/_warps.txt4
-rw-r--r--npc/004-3-5/_import.txt4
-rw-r--r--npc/004-3-5/_mobs.txt5
-rw-r--r--npc/004-3-5/_warps.txt4
-rw-r--r--npc/004-3-6/_import.txt4
-rw-r--r--npc/004-3-6/_mobs.txt7
-rw-r--r--npc/004-3-6/_warps.txt4
-rw-r--r--npc/004-3/_import.txt6
-rw-r--r--npc/004-3/_mobs.txt4
-rw-r--r--npc/004-3/_warps.txt4
-rw-r--r--npc/004-3/darug.txt26
-rw-r--r--npc/004-3/melune.txt20
-rw-r--r--npc/005-1-1/_import.txt3
-rw-r--r--npc/005-1-1/main.txt453
-rw-r--r--npc/005-1/_import.txt16
-rw-r--r--npc/005-1/_mobs.txt10
-rw-r--r--npc/005-1/_warps.txt8
-rw-r--r--npc/005-1/ayasha.txt438
-rw-r--r--npc/005-1/liana.txt110
-rw-r--r--npc/005-1/mapflags.txt8
-rw-r--r--npc/005-1/maya.txt234
-rw-r--r--npc/005-1/sailors.txt157
-rw-r--r--npc/005-1/saxso.txt23
-rw-r--r--npc/005-1/ship.txt17
-rw-r--r--npc/005-1/soul-menhir.txt20
-rw-r--r--npc/005-1/underground.txt41
-rw-r--r--npc/005-1/vincent.txt78
-rw-r--r--npc/005-1/wateranimation.txt37
-rw-r--r--npc/005-1/zegas.txt144
-rw-r--r--npc/005-2-1/_import.txt4
-rw-r--r--npc/005-2-1/_mobs.txt3
-rw-r--r--npc/005-2-1/_warps.txt3
-rw-r--r--npc/005-2/_import.txt6
-rw-r--r--npc/005-2/_mobs.txt3
-rw-r--r--npc/005-2/_warps.txt3
-rw-r--r--npc/005-2/saxsochest.txt82
-rw-r--r--npc/005-2/trapdoor.txt13
-rw-r--r--npc/005-3/_import.txt5
-rw-r--r--npc/005-3/_mobs.txt3
-rw-r--r--npc/005-3/_warps.txt3
-rw-r--r--npc/005-3/barrel.txt171
-rw-r--r--npc/005-4/_import.txt6
-rw-r--r--npc/005-4/_warps.txt3
-rw-r--r--npc/005-4/rosen.txt221
-rw-r--r--npc/005-4/shop.txt48
-rw-r--r--npc/005-4/tolchi.txt407
-rw-r--r--npc/005-5/_import.txt5
-rw-r--r--npc/005-5/_warps.txt3
-rw-r--r--npc/005-5/cynric.txt15
-rw-r--r--npc/005-5/nylo.txt221
-rw-r--r--npc/005-6/_import.txt5
-rw-r--r--npc/005-6/_warps.txt3
-rw-r--r--npc/005-6/morgan.txt156
-rw-r--r--npc/005-6/zitoni.txt222
-rw-r--r--npc/005-7/_import.txt5
-rw-r--r--npc/005-7/_warps.txt3
-rw-r--r--npc/005-7/nurse.txt95
-rw-r--r--npc/005-7/trainer.txt660
-rw-r--r--npc/006-0/_import.txt7
-rw-r--r--npc/006-0/_mobs.txt6
-rw-r--r--npc/006-0/_warps.txt3
-rw-r--r--npc/006-0/core.txt27
-rw-r--r--npc/006-0/piouisle.txt22
-rw-r--r--npc/006-0/warpcandorbattle.txt30
-rw-r--r--npc/006-1/_import.txt5
-rw-r--r--npc/006-1/barrier.txt14
-rw-r--r--npc/006-1/crazyfefe.txt425
-rw-r--r--npc/006-1/mapflags.txt2
-rw-r--r--npc/006-10/_config.txt20
-rw-r--r--npc/006-10/_import.txt7
-rw-r--r--npc/006-10/_mobs.txt3
-rw-r--r--npc/006-10/_warps.txt3
-rw-r--r--npc/006-10/logic.txt196
-rw-r--r--npc/006-2-1/_import.txt9
-rw-r--r--npc/006-2-1/_mobs.txt7
-rw-r--r--npc/006-2-1/_warps.txt6
-rw-r--r--npc/006-2-1/chirp.txt15
-rw-r--r--npc/006-2-1/lune.txt201
-rw-r--r--npc/006-2-1/miltaco.txt55
-rw-r--r--npc/006-2-1/plum.txt17
-rw-r--r--npc/006-2-1/server.txt54
-rw-r--r--npc/006-2-2/_import.txt4
-rw-r--r--npc/006-2-2/_warps.txt3
-rw-r--r--npc/006-2-2/ctrl.txt13
-rw-r--r--npc/006-2-3/_import.txt4
-rw-r--r--npc/006-2-3/_mobs.txt6
-rw-r--r--npc/006-2-3/_warps.txt4
-rw-r--r--npc/006-2-4/_import.txt4
-rw-r--r--npc/006-2-4/_mobs.txt3
-rw-r--r--npc/006-2-4/_warps.txt3
-rw-r--r--npc/006-2-5/_import.txt4
-rw-r--r--npc/006-2-5/_mobs.txt4
-rw-r--r--npc/006-2-5/_warps.txt5
-rw-r--r--npc/006-2-6/_import.txt4
-rw-r--r--npc/006-2-6/_mobs.txt4
-rw-r--r--npc/006-2-6/_warps.txt3
-rw-r--r--npc/006-2/_import.txt4
-rw-r--r--npc/006-2/_mobs.txt9
-rw-r--r--npc/006-2/_warps.txt10
-rw-r--r--npc/006-3/_import.txt7
-rw-r--r--npc/006-3/_mobs.txt6
-rw-r--r--npc/006-3/_warps.txt3
-rw-r--r--npc/006-3/core.txt27
-rw-r--r--npc/006-3/grotto.txt23
-rw-r--r--npc/006-3/jaklab.txt27
-rw-r--r--npc/006-4-1/_config.txt16
-rw-r--r--npc/006-4-1/_import.txt6
-rw-r--r--npc/006-4-1/_mobs.txt6
-rw-r--r--npc/006-4-1/_warps.txt24
-rw-r--r--npc/006-4-1/painting.txt49
-rw-r--r--npc/006-4/_config.txt23
-rw-r--r--npc/006-4/_import.txt6
-rw-r--r--npc/006-4/_mobs.txt18
-rw-r--r--npc/006-4/_warps.txt5
-rw-r--r--npc/006-4/soulstone.txt16
-rw-r--r--npc/006-5/_import.txt4
-rw-r--r--npc/006-5/_warps.txt3
-rw-r--r--npc/006-5/groata.txt477
-rw-r--r--npc/006-6/_import.txt6
-rw-r--r--npc/006-6/_mobs.txt8
-rw-r--r--npc/006-6/_warps.txt3
-rw-r--r--npc/006-6/all.txt71
-rw-r--r--npc/006-6/core.txt30
-rw-r--r--npc/006-7/_import.txt3
-rw-r--r--npc/006-7/ctrl.txt354
-rw-r--r--npc/006-8/_import.txt3
-rw-r--r--npc/006-8/kage.txt331
-rw-r--r--npc/006-9/_config.txt9
-rw-r--r--npc/006-9/_import.txt4
-rw-r--r--npc/006-9/ctrl.txt314
-rw-r--r--npc/007-1-1/_import.txt4
-rw-r--r--npc/007-1-1/_mobs.txt8
-rw-r--r--npc/007-1-1/_warps.txt6
-rw-r--r--npc/007-1-2/_import.txt4
-rw-r--r--npc/007-1-2/_mobs.txt7
-rw-r--r--npc/007-1-2/_warps.txt6
-rw-r--r--npc/007-1/_import.txt12
-rw-r--r--npc/007-1/_mobs.txt14
-rw-r--r--npc/007-1/_warps.txt5
-rw-r--r--npc/007-1/caelum.txt171
-rw-r--r--npc/007-1/dracoula.txt160
-rw-r--r--npc/007-1/naem.txt66
-rw-r--r--npc/007-1/pylon.txt174
-rw-r--r--npc/007-1/torches.txt153
-rw-r--r--npc/007-1/treasure.txt86
-rw-r--r--npc/007-1/tycoon.txt382
-rw-r--r--npc/007-1/zarkor.txt228
-rw-r--r--npc/007-2/_config.txt25
-rw-r--r--npc/007-2/_import.txt5
-rw-r--r--npc/007-2/_mobs.txt10
-rw-r--r--npc/007-2/_warps.txt3
-rw-r--r--npc/008-0/_import.txt6
-rw-r--r--npc/008-0/_mobs.txt7
-rw-r--r--npc/008-0/_warps.txt3
-rw-r--r--npc/008-0/mapflags.txt3
-rw-r--r--npc/008-0/master.txt183
-rw-r--r--npc/008-1/_import.txt5
-rw-r--r--npc/008-1/_mobs.txt23
-rw-r--r--npc/008-1/_warps.txt3
-rw-r--r--npc/008-1/master.txt150
-rw-r--r--npc/008-2/_config.txt127
-rw-r--r--npc/008-2/_import.txt6
-rw-r--r--npc/008-2/_mobs.txt28
-rw-r--r--npc/008-2/_warps.txt3
-rw-r--r--npc/008-2/master.txt172
-rw-r--r--npc/009-1/_import.txt14
-rw-r--r--npc/009-1/_mobs.txt11
-rw-r--r--npc/009-1/_warps.txt9
-rw-r--r--npc/009-1/charles.txt199
-rw-r--r--npc/009-1/estate.txt171
-rw-r--r--npc/009-1/fisherman.txt153
-rw-r--r--npc/009-1/foxhound.txt197
-rw-r--r--npc/009-1/guards.txt202
-rw-r--r--npc/009-1/lynnthetraveler.txt93
-rw-r--r--npc/009-1/mapflags.txt2
-rw-r--r--npc/009-1/soul-menhir.txt20
-rw-r--r--npc/009-1/teleporter.txt23
-rw-r--r--npc/009-1/town.txt11
-rw-r--r--npc/009-2/_import.txt7
-rw-r--r--npc/009-2/_warps.txt4
-rw-r--r--npc/009-2/librarian.txt200
-rw-r--r--npc/009-2/politics.txt58
-rw-r--r--npc/009-2/ryan.txt172
-rw-r--r--npc/009-2/scholar.txt89
-rw-r--r--npc/009-3/_import.txt6
-rw-r--r--npc/009-3/_warps.txt3
-rw-r--r--npc/009-3/barzil.txt28
-rw-r--r--npc/009-3/dangrostra.txt85
-rw-r--r--npc/009-3/kevin.txt169
-rw-r--r--npc/009-4/_import.txt5
-rw-r--r--npc/009-4/_warps.txt3
-rw-r--r--npc/009-4/nurse.txt23
-rw-r--r--npc/009-4/yumi.txt60
-rw-r--r--npc/009-5/_import.txt6
-rw-r--r--npc/009-5/_warps.txt3
-rw-r--r--npc/009-5/alvasus.txt193
-rw-r--r--npc/009-5/joaquim.txt187
-rw-r--r--npc/009-5/luanna.txt30
-rw-r--r--npc/009-6/_import.txt5
-rw-r--r--npc/009-6/_warps.txt3
-rw-r--r--npc/009-6/doorbell.txt329
-rw-r--r--npc/009-6/utils.txt74
-rw-r--r--npc/009-7/_import.txt5
-rw-r--r--npc/009-7/_warps.txt3
-rw-r--r--npc/009-7/doorbell.txt329
-rw-r--r--npc/009-7/utils.txt73
-rw-r--r--npc/010-1-1/_import.txt6
-rw-r--r--npc/010-1-1/_mobs.txt11
-rw-r--r--npc/010-1-1/_warps.txt24
-rw-r--r--npc/010-1-1/boss.txt32
-rw-r--r--npc/010-1-1/treasure.txt61
-rw-r--r--npc/010-1-10/_import.txt4
-rw-r--r--npc/010-1-10/_mobs.txt5
-rw-r--r--npc/010-1-10/_warps.txt4
-rw-r--r--npc/010-1-11/_import.txt3
-rw-r--r--npc/010-1-11/_warps.txt3
-rw-r--r--npc/010-1-12/_import.txt3
-rw-r--r--npc/010-1-12/_warps.txt3
-rw-r--r--npc/010-1-2/_import.txt4
-rw-r--r--npc/010-1-2/_mobs.txt3
-rw-r--r--npc/010-1-2/_warps.txt11
-rw-r--r--npc/010-1-3/_import.txt4
-rw-r--r--npc/010-1-3/_mobs.txt11
-rw-r--r--npc/010-1-3/_warps.txt5
-rw-r--r--npc/010-1-4/_import.txt4
-rw-r--r--npc/010-1-4/_mobs.txt8
-rw-r--r--npc/010-1-4/_warps.txt4
-rw-r--r--npc/010-1-5/_import.txt4
-rw-r--r--npc/010-1-5/_mobs.txt12
-rw-r--r--npc/010-1-5/_warps.txt8
-rw-r--r--npc/010-1-6/_import.txt4
-rw-r--r--npc/010-1-6/_mobs.txt7
-rw-r--r--npc/010-1-6/_warps.txt10
-rw-r--r--npc/010-1-7/_import.txt4
-rw-r--r--npc/010-1-7/_mobs.txt10
-rw-r--r--npc/010-1-7/_warps.txt4
-rw-r--r--npc/010-1-8/_import.txt3
-rw-r--r--npc/010-1-8/_warps.txt3
-rw-r--r--npc/010-1-9/_import.txt4
-rw-r--r--npc/010-1-9/_mobs.txt4
-rw-r--r--npc/010-1-9/_warps.txt7
-rw-r--r--npc/010-1/_import.txt4
-rw-r--r--npc/010-1/_mobs.txt26
-rw-r--r--npc/010-1/_warps.txt33
-rw-r--r--npc/010-2-10/_import.txt4
-rw-r--r--npc/010-2-10/_mobs.txt7
-rw-r--r--npc/010-2-10/_warps.txt4
-rw-r--r--npc/010-2-11/_import.txt4
-rw-r--r--npc/010-2-11/_mobs.txt6
-rw-r--r--npc/010-2-11/_warps.txt4
-rw-r--r--npc/010-2-12/_import.txt4
-rw-r--r--npc/010-2-12/_mobs.txt4
-rw-r--r--npc/010-2-12/_warps.txt3
-rw-r--r--npc/010-2-13/_import.txt3
-rw-r--r--npc/010-2-13/_warps.txt4
-rw-r--r--npc/010-2-14/_import.txt4
-rw-r--r--npc/010-2-14/_mobs.txt6
-rw-r--r--npc/010-2-14/_warps.txt4
-rw-r--r--npc/010-2-15/_import.txt4
-rw-r--r--npc/010-2-15/_mobs.txt5
-rw-r--r--npc/010-2-15/_warps.txt4
-rw-r--r--npc/010-2-16/_import.txt4
-rw-r--r--npc/010-2-16/_mobs.txt14
-rw-r--r--npc/010-2-16/_warps.txt5
-rw-r--r--npc/010-2-2/_import.txt3
-rw-r--r--npc/010-2-2/_warps.txt10
-rw-r--r--npc/010-2-3/_import.txt4
-rw-r--r--npc/010-2-3/_mobs.txt12
-rw-r--r--npc/010-2-3/_warps.txt7
-rw-r--r--npc/010-2-4/_import.txt4
-rw-r--r--npc/010-2-4/_mobs.txt8
-rw-r--r--npc/010-2-4/_warps.txt5
-rw-r--r--npc/010-2-5/_import.txt3
-rw-r--r--npc/010-2-5/_warps.txt5
-rw-r--r--npc/010-2-6/_import.txt4
-rw-r--r--npc/010-2-6/_mobs.txt6
-rw-r--r--npc/010-2-6/_warps.txt5
-rw-r--r--npc/010-2-7/_import.txt4
-rw-r--r--npc/010-2-7/_mobs.txt8
-rw-r--r--npc/010-2-7/_warps.txt4
-rw-r--r--npc/010-2-8/_import.txt4
-rw-r--r--npc/010-2-8/_mobs.txt5
-rw-r--r--npc/010-2-8/_warps.txt4
-rw-r--r--npc/010-2-9/_import.txt4
-rw-r--r--npc/010-2-9/_mobs.txt7
-rw-r--r--npc/010-2-9/_warps.txt4
-rw-r--r--npc/010-2/_config.txt11
-rw-r--r--npc/010-2/_import.txt6
-rw-r--r--npc/010-2/_mobs.txt20
-rw-r--r--npc/010-2/_warps.txt45
-rw-r--r--npc/010-2/sawis.txt134
-rw-r--r--npc/010-3/_import.txt4
-rw-r--r--npc/010-3/_mobs.txt3
-rw-r--r--npc/010-3/_warps.txt4
-rw-r--r--npc/010-4-1/_import.txt4
-rw-r--r--npc/010-4-1/_warps.txt3
-rw-r--r--npc/010-4-1/katze.txt15
-rw-r--r--npc/010-4-2/_import.txt4
-rw-r--r--npc/010-4-2/_mobs.txt4
-rw-r--r--npc/010-4-2/_warps.txt4
-rw-r--r--npc/011-1/_import.txt6
-rw-r--r--npc/011-1/_mobs.txt7
-rw-r--r--npc/011-1/_warps.txt3
-rw-r--r--npc/011-1/manastone.txt136
-rw-r--r--npc/011-1/treasure.txt9
-rw-r--r--npc/011-2/_import.txt4
-rw-r--r--npc/011-2/_mobs.txt10
-rw-r--r--npc/011-2/_warps.txt6
-rw-r--r--npc/011-3/_import.txt5
-rw-r--r--npc/011-3/_mobs.txt22
-rw-r--r--npc/011-3/_warps.txt4
-rw-r--r--npc/011-3/flood.txt117
-rw-r--r--npc/012-1/_import.txt26
-rw-r--r--npc/012-1/_mobs.txt10
-rw-r--r--npc/012-1/_warps.txt13
-rw-r--r--npc/012-1/andrei.txt181
-rw-r--r--npc/012-1/bot.txt137
-rw-r--r--npc/012-1/dyrinthetraveler.txt110
-rw-r--r--npc/012-1/estate.txt95
-rw-r--r--npc/012-1/guards.txt734
-rw-r--r--npc/012-1/gwendolyn.txt590
-rw-r--r--npc/012-1/hinnak.txt162
-rw-r--r--npc/012-1/igor.txt14
-rw-r--r--npc/012-1/jack.txt180
-rw-r--r--npc/012-1/locamit.txt72
-rw-r--r--npc/012-1/luffyx.txt87
-rw-r--r--npc/012-1/mahad.txt68
-rw-r--r--npc/012-1/mapflags.txt9
-rw-r--r--npc/012-1/milly.txt155
-rw-r--r--npc/012-1/richard.txt14
-rw-r--r--npc/012-1/ship.txt23
-rw-r--r--npc/012-1/shoppakep.txt81
-rw-r--r--npc/012-1/soul-menhir.txt20
-rw-r--r--npc/012-1/statue.txt31
-rw-r--r--npc/012-1/terezin.txt61
-rw-r--r--npc/012-1/town.txt13
-rw-r--r--npc/012-1/wateranimation.txt29
-rw-r--r--npc/012-2/GonzoDark.txt25
-rw-r--r--npc/012-2/Saulc.txt25
-rw-r--r--npc/012-2/_import.txt11
-rw-r--r--npc/012-2/_warps.txt4
-rw-r--r--npc/012-2/door.txt59
-rw-r--r--npc/012-2/helena.txt284
-rw-r--r--npc/012-2/khafar.txt137
-rw-r--r--npc/012-2/melina.txt73
-rw-r--r--npc/012-2/note.txt29
-rw-r--r--npc/012-2/rakinorf.txt335
-rw-r--r--npc/012-3/_import.txt4
-rw-r--r--npc/012-3/_warps.txt3
-rw-r--r--npc/012-3/alan.txt142
-rw-r--r--npc/012-4/_import.txt5
-rw-r--r--npc/012-4/_warps.txt3
-rw-r--r--npc/012-4/craft.txt54
-rw-r--r--npc/012-4/wyara.txt310
-rw-r--r--npc/012-5/_import.txt4
-rw-r--r--npc/012-5/_warps.txt4
-rw-r--r--npc/012-5/nicholas.txt283
-rw-r--r--npc/012-6/_import.txt4
-rw-r--r--npc/012-6/_warps.txt5
-rw-r--r--npc/012-6/nurse.txt110
-rw-r--r--npc/012-7/_import.txt7
-rw-r--r--npc/012-7/_warps.txt3
-rw-r--r--npc/012-7/airlia.txt182
-rw-r--r--npc/012-7/celestia.txt396
-rw-r--r--npc/012-7/politics.txt58
-rw-r--r--npc/012-7/slots.txt97
-rw-r--r--npc/012-8/_import.txt5
-rw-r--r--npc/012-8/_warps.txt3
-rw-r--r--npc/012-8/doorbell.txt335
-rw-r--r--npc/012-8/utils.txt71
-rw-r--r--npc/013-1/_import.txt4
-rw-r--r--npc/013-1/_mobs.txt4
-rw-r--r--npc/013-1/_warps.txt3
-rw-r--r--npc/014-1/_import.txt5
-rw-r--r--npc/014-1/_mobs.txt12
-rw-r--r--npc/014-1/_warps.txt24
-rw-r--r--npc/014-1/galimatia.txt53
-rw-r--r--npc/014-2-1/_import.txt4
-rw-r--r--npc/014-2-1/_warps.txt3
-rw-r--r--npc/014-2-1/woody.txt134
-rw-r--r--npc/014-2-2/_import.txt5
-rw-r--r--npc/014-2-2/_warps.txt3
-rw-r--r--npc/014-2-2/gemini.txt139
-rw-r--r--npc/014-2-2/valia.txt302
-rw-r--r--npc/014-2/_import.txt8
-rw-r--r--npc/014-2/_mobs.txt13
-rw-r--r--npc/014-2/_warps.txt6
-rw-r--r--npc/014-2/carla.txt197
-rw-r--r--npc/014-2/guards.txt47
-rw-r--r--npc/014-2/mouboo.txt235
-rw-r--r--npc/014-2/trap.txt52
-rw-r--r--npc/014-3/_import.txt6
-rw-r--r--npc/014-3/_mobs.txt12
-rw-r--r--npc/014-3/_warps.txt10
-rw-r--r--npc/014-3/fountain.txt134
-rw-r--r--npc/014-3/oscar.txt155
-rw-r--r--npc/014-4/_import.txt8
-rw-r--r--npc/014-4/_mobs.txt8
-rw-r--r--npc/014-4/_warps.txt4
-rw-r--r--npc/014-4/kamelot.txt284
-rw-r--r--npc/014-4/mapflags.txt4
-rw-r--r--npc/014-4/slide.txt27
-rw-r--r--npc/014-4/thorn.txt141
-rw-r--r--npc/014-5-1/_import.txt5
-rw-r--r--npc/014-5-1/_warps.txt3
-rw-r--r--npc/014-5-1/objects.txt90
-rw-r--r--npc/014-5-1/sagratha.txt650
-rw-r--r--npc/014-5/_import.txt8
-rw-r--r--npc/014-5/_mobs.txt12
-rw-r--r--npc/014-5/_warps.txt7
-rw-r--r--npc/014-5/blossom.txt139
-rw-r--r--npc/014-5/events.txt200
-rw-r--r--npc/014-5/sagratha.txt191
-rw-r--r--npc/014-5/sign.txt24
-rw-r--r--npc/015-1/_import.txt6
-rw-r--r--npc/015-1/_mobs.txt16
-rw-r--r--npc/015-1/_warps.txt5
-rw-r--r--npc/015-1/boss.txt28
-rw-r--r--npc/015-1/treasure.txt8
-rw-r--r--npc/015-2/_import.txt8
-rw-r--r--npc/015-2/_mobs.txt51
-rw-r--r--npc/015-2/_warps.txt24
-rw-r--r--npc/015-2/ben.txt162
-rw-r--r--npc/015-2/contrabandist.txt115
-rw-r--r--npc/015-2/guard.txt71
-rw-r--r--npc/015-2/lordcave.txt27
-rw-r--r--npc/015-3-1/_import.txt5
-rw-r--r--npc/015-3-1/_mobs.txt12
-rw-r--r--npc/015-3-1/_warps.txt8
-rw-r--r--npc/015-3-1/pablin.txt29
-rw-r--r--npc/015-3-2/_import.txt4
-rw-r--r--npc/015-3-2/_mobs.txt14
-rw-r--r--npc/015-3-2/_warps.txt8
-rw-r--r--npc/015-3-3/_import.txt5
-rw-r--r--npc/015-3-3/_mobs.txt16
-rw-r--r--npc/015-3-3/_warps.txt3
-rw-r--r--npc/015-3-3/boss.txt81
-rw-r--r--npc/015-3/_config.txt11
-rw-r--r--npc/015-3/_import.txt8
-rw-r--r--npc/015-3/_mobs.txt19
-rw-r--r--npc/015-3/_warps.txt59
-rw-r--r--npc/015-3/arkim.txt252
-rw-r--r--npc/015-3/logic.txt27
-rw-r--r--npc/015-3/pooh.txt221
-rw-r--r--npc/015-4/_import.txt4
-rw-r--r--npc/015-4/_mobs.txt6
-rw-r--r--npc/015-4/_warps.txt4
-rw-r--r--npc/015-5/_import.txt6
-rw-r--r--npc/015-5/_mobs.txt28
-rw-r--r--npc/015-5/_warps.txt4
-rw-r--r--npc/015-5/sign.txt22
-rw-r--r--npc/015-5/treasure.txt64
-rw-r--r--npc/015-6/_import.txt7
-rw-r--r--npc/015-6/_mobs.txt72
-rw-r--r--npc/015-6/_warps.txt5
-rw-r--r--npc/015-6/boss.txt31
-rw-r--r--npc/015-6/mapflags.txt1
-rw-r--r--npc/015-6/treasure.txt64
-rw-r--r--npc/015-7/_import.txt4
-rw-r--r--npc/015-7/_mobs.txt4
-rw-r--r--npc/015-7/_warps.txt4
-rw-r--r--npc/015-8-1/_import.txt4
-rw-r--r--npc/015-8-1/campaign.txt311
-rw-r--r--npc/015-8-1/puzzle.txt111
-rw-r--r--npc/015-8/_import.txt7
-rw-r--r--npc/015-8/_mobs.txt9
-rw-r--r--npc/015-8/config.txt35
-rw-r--r--npc/015-8/puzzle.txt133
-rw-r--r--npc/015-8/sealedshrine.txt659
-rw-r--r--npc/016-1/_import.txt7
-rw-r--r--npc/016-1/_mobs.txt3
-rw-r--r--npc/016-1/captain.txt178
-rw-r--r--npc/016-1/doors.txt26
-rw-r--r--npc/016-1/laranja.txt110
-rw-r--r--npc/016-1/teraa.txt17
-rw-r--r--npc/016-6/_import.txt5
-rw-r--r--npc/016-6/_mobs.txt3
-rw-r--r--npc/016-6/main.txt63
-rw-r--r--npc/016-6/mapflags.txt1
-rw-r--r--npc/016-7/_import.txt5
-rw-r--r--npc/016-7/_mobs.txt3
-rw-r--r--npc/016-7/main.txt65
-rw-r--r--npc/016-7/mapflags.txt1
-rw-r--r--npc/017-0/_import.txt5
-rw-r--r--npc/017-0/_mobs.txt28
-rw-r--r--npc/017-0/_warps.txt3
-rw-r--r--npc/017-0/wizard.txt31
-rw-r--r--npc/017-1/_import.txt24
-rw-r--r--npc/017-1/_mobs.txt6
-rw-r--r--npc/017-1/_warps.txt14
-rw-r--r--npc/017-1/boringnpc.txt67
-rw-r--r--npc/017-1/drowned_man.txt177
-rw-r--r--npc/017-1/estate.txt171
-rw-r--r--npc/017-1/fairy_collector.txt318
-rw-r--r--npc/017-1/guards.txt80
-rw-r--r--npc/017-1/guild.txt46
-rw-r--r--npc/017-1/mapflags.txt9
-rw-r--r--npc/017-1/misc.txt257
-rw-r--r--npc/017-1/nowhere_man.txt137
-rw-r--r--npc/017-1/paxel.txt263
-rw-r--r--npc/017-1/pet_detective.txt139
-rw-r--r--npc/017-1/roger.txt183
-rw-r--r--npc/017-1/shops.txt112
-rw-r--r--npc/017-1/signs.txt106
-rw-r--r--npc/017-1/soul-menhir.txt20
-rw-r--r--npc/017-1/stranger.txt184
-rw-r--r--npc/017-1/town.txt10
-rw-r--r--npc/017-1/townhall.txt116
-rw-r--r--npc/017-1/wateranimation.txt24
-rw-r--r--npc/017-10/_import.txt8
-rw-r--r--npc/017-10/_warps.txt6
-rw-r--r--npc/017-10/airship.txt68
-rw-r--r--npc/017-10/dispatcher.txt411
-rw-r--r--npc/017-10/kenton.txt204
-rw-r--r--npc/017-10/politics.txt58
-rw-r--r--npc/017-10/vault.txt20
-rw-r--r--npc/017-2-1/_import.txt4
-rw-r--r--npc/017-2-1/_mobs.txt6
-rw-r--r--npc/017-2-1/_warps.txt5
-rw-r--r--npc/017-2-2/_import.txt4
-rw-r--r--npc/017-2-2/_mobs.txt4
-rw-r--r--npc/017-2-2/_warps.txt3
-rw-r--r--npc/017-2/_import.txt4
-rw-r--r--npc/017-2/_warps.txt4
-rw-r--r--npc/017-2/vault.txt20
-rw-r--r--npc/017-3/_import.txt14
-rw-r--r--npc/017-3/_warps.txt9
-rw-r--r--npc/017-3/chagashroom.txt163
-rw-r--r--npc/017-3/chef.txt410
-rw-r--r--npc/017-3/dimonds.txt641
-rw-r--r--npc/017-3/doctor.txt377
-rw-r--r--npc/017-3/doug.txt64
-rw-r--r--npc/017-3/gambler.txt165
-rw-r--r--npc/017-3/loratay.txt1221
-rw-r--r--npc/017-3/nico.txt302
-rw-r--r--npc/017-3/slots.txt113
-rw-r--r--npc/017-3/vault.txt20
-rw-r--r--npc/017-3/workers.txt21
-rw-r--r--npc/017-4/_import.txt7
-rw-r--r--npc/017-4/_warps.txt4
-rw-r--r--npc/017-4/pihro.txt116
-rw-r--r--npc/017-4/pyndragon.txt252
-rw-r--r--npc/017-4/refine.txt74
-rw-r--r--npc/017-4/vault.txt20
-rw-r--r--npc/017-5/_import.txt6
-rw-r--r--npc/017-5/_warps.txt3
-rw-r--r--npc/017-5/nahrec.txt219
-rw-r--r--npc/017-5/silversmith.txt91
-rw-r--r--npc/017-5/vault.txt20
-rw-r--r--npc/017-6/_import.txt5
-rw-r--r--npc/017-6/_warps.txt5
-rw-r--r--npc/017-6/axzell.txt173
-rw-r--r--npc/017-6/sheila.txt47
-rw-r--r--npc/017-7/_import.txt5
-rw-r--r--npc/017-7/_warps.txt3
-rw-r--r--npc/017-7/doorbell.txt335
-rw-r--r--npc/017-7/utils.txt74
-rw-r--r--npc/017-8/_import.txt5
-rw-r--r--npc/017-8/_warps.txt3
-rw-r--r--npc/017-8/doorbell.txt335
-rw-r--r--npc/017-8/utils.txt74
-rw-r--r--npc/018-1-1/_import.txt4
-rw-r--r--npc/018-1-1/_mobs.txt13
-rw-r--r--npc/018-1-1/_warps.txt3
-rw-r--r--npc/018-1/_import.txt5
-rw-r--r--npc/018-1/_mobs.txt8
-rw-r--r--npc/018-1/_warps.txt4
-rw-r--r--npc/018-1/george.txt231
-rw-r--r--npc/018-2-1/_import.txt6
-rw-r--r--npc/018-2-1/_warps.txt3
-rw-r--r--npc/018-2-1/dustman.txt243
-rw-r--r--npc/018-2-1/mapflags.txt6
-rw-r--r--npc/018-2-1/warps.txt138
-rw-r--r--npc/018-2-2/_import.txt3
-rw-r--r--npc/018-2-2/main.txt782
-rw-r--r--npc/018-2-3/_import.txt2
-rw-r--r--npc/018-2-4/_import.txt8
-rw-r--r--npc/018-2-4/_warps.txt4
-rw-r--r--npc/018-2-4/lv1.txt59
-rw-r--r--npc/018-2-4/lv2.txt57
-rw-r--r--npc/018-2-4/lv3.txt60
-rw-r--r--npc/018-2-4/lv4.txt59
-rw-r--r--npc/018-2-4/vault.txt23
-rw-r--r--npc/018-2-5/_import.txt2
-rw-r--r--npc/018-2-6/_config.txt71
-rw-r--r--npc/018-2-6/_import.txt3
-rw-r--r--npc/018-2-7/_config.txt29
-rw-r--r--npc/018-2-7/_import.txt3
-rw-r--r--npc/018-2-8/_config.txt47
-rw-r--r--npc/018-2-8/_import.txt3
-rw-r--r--npc/018-2/_import.txt4
-rw-r--r--npc/018-2/_mobs.txt7
-rw-r--r--npc/018-2/_warps.txt4
-rw-r--r--npc/018-3/_import.txt5
-rw-r--r--npc/018-3/_mobs.txt18
-rw-r--r--npc/018-3/_warps.txt4
-rw-r--r--npc/018-3/treasure.txt64
-rw-r--r--npc/018-4-1/_import.txt4
-rw-r--r--npc/018-4-1/_mobs.txt10
-rw-r--r--npc/018-4-1/_warps.txt5
-rw-r--r--npc/018-4-2/_import.txt4
-rw-r--r--npc/018-4-2/_warps.txt5
-rw-r--r--npc/018-4-2/susanne.txt179
-rw-r--r--npc/018-4/_import.txt4
-rw-r--r--npc/018-4/_mobs.txt10
-rw-r--r--npc/018-4/_warps.txt5
-rw-r--r--npc/018-5-0/_import.txt5
-rw-r--r--npc/018-5-0/_mobs.txt3
-rw-r--r--npc/018-5-0/_warps.txt3
-rw-r--r--npc/018-5-0/core.txt28
-rw-r--r--npc/018-5-1/_import.txt4
-rw-r--r--npc/018-5-1/_mobs.txt10
-rw-r--r--npc/018-5-1/_warps.txt5
-rw-r--r--npc/018-5-2/_import.txt4
-rw-r--r--npc/018-5-2/_warps.txt3
-rw-r--r--npc/018-5-2/leona.txt117
-rw-r--r--npc/018-5-3/_import.txt4
-rw-r--r--npc/018-5-3/_warps.txt3
-rw-r--r--npc/018-5-3/shaabty.txt151
-rw-r--r--npc/018-5-4/_import.txt6
-rw-r--r--npc/018-5-4/_mobs.txt8
-rw-r--r--npc/018-5-4/_warps.txt3
-rw-r--r--npc/018-5-4/elder.txt421
-rw-r--r--npc/018-5-4/mapflags.txt2
-rw-r--r--npc/018-5-5/_import.txt4
-rw-r--r--npc/018-5-5/_warps.txt3
-rw-r--r--npc/018-5-5/ivanize.txt99
-rw-r--r--npc/018-5-boss/_import.txt4
-rw-r--r--npc/018-5-boss/command.txt60
-rw-r--r--npc/018-5-boss/mapflag.txt3
-rw-r--r--npc/018-5/_import.txt9
-rw-r--r--npc/018-5/_mobs.txt12
-rw-r--r--npc/018-5/_warps.txt9
-rw-r--r--npc/018-5/soul_menhir.txt30
-rw-r--r--npc/018-5/storage.txt31
-rw-r--r--npc/018-5/teleporter.txt23
-rw-r--r--npc/018-5/town.txt174
-rw-r--r--npc/018-5/tree.txt66
-rw-r--r--npc/018-6-0/_import.txt3
-rw-r--r--npc/018-6-0/ctrl43
-rw-r--r--npc/018-6-0/main.txt224
-rw-r--r--npc/018-6-1/_import.txt5
-rw-r--r--npc/018-6-1/_mobs.txt18
-rw-r--r--npc/018-6-1/_warps.txt3
-rw-r--r--npc/018-6-1/main.txt480
-rw-r--r--npc/018-6-2/_import.txt3
-rw-r--r--npc/018-6-2/main.txt137
-rw-r--r--npc/018-6-3/_import.txt4
-rw-r--r--npc/018-6-3/main.txt456
-rw-r--r--npc/018-6-3/wsys.txt689
-rw-r--r--npc/018-7-1/_import.txt8
-rw-r--r--npc/018-7-1/_mobs.txt6
-rw-r--r--npc/018-7-1/_warps.txt3
-rw-r--r--npc/018-7-1/demure.txt220
-rw-r--r--npc/018-7-1/lilit.txt19
-rw-r--r--npc/018-7-1/yetifly.txt20
-rw-r--r--npc/018-7/_import.txt5
-rw-r--r--npc/018-7/_mobs.txt12
-rw-r--r--npc/018-7/_warps.txt4
-rw-r--r--npc/018-7/raify.txt143
-rw-r--r--npc/019-1-1/_import.txt4
-rw-r--r--npc/019-1-1/_warps.txt3
-rw-r--r--npc/019-1-1/miler.txt222
-rw-r--r--npc/019-1/_import.txt6
-rw-r--r--npc/019-1/_mobs.txt7
-rw-r--r--npc/019-1/_warps.txt6
-rw-r--r--npc/019-1/sign.txt21
-rw-r--r--npc/019-1/well.txt169
-rw-r--r--npc/019-2/_import.txt9
-rw-r--r--npc/019-2/_mobs.txt8
-rw-r--r--npc/019-2/_warps.txt4
-rw-r--r--npc/019-2/angela.txt141
-rw-r--r--npc/019-2/guards.txt165
-rw-r--r--npc/019-2/harry.txt15
-rw-r--r--npc/019-2/ship.txt18
-rw-r--r--npc/019-2/sign.txt23
-rw-r--r--npc/019-3/_import.txt5
-rw-r--r--npc/019-3/_mobs.txt5
-rw-r--r--npc/019-3/_warps.txt3
-rw-r--r--npc/019-3/guards.txt72
-rw-r--r--npc/019-4-1/_import.txt7
-rw-r--r--npc/019-4-1/_warps.txt3
-rw-r--r--npc/019-4-1/bedder.txt95
-rw-r--r--npc/019-4-1/chief.txt351
-rw-r--r--npc/019-4-1/cook.txt74
-rw-r--r--npc/019-4-1/golbarez.txt62
-rw-r--r--npc/019-4/_import.txt5
-rw-r--r--npc/019-4/_mobs.txt7
-rw-r--r--npc/019-4/_warps.txt5
-rw-r--r--npc/019-4/wateranimation.txt41
-rw-r--r--npc/019-5-1/_import.txt4
-rw-r--r--npc/019-5-1/_mobs.txt16
-rw-r--r--npc/019-5-1/_warps.txt8
-rw-r--r--npc/019-5-2/_import.txt4
-rw-r--r--npc/019-5-2/_mobs.txt23
-rw-r--r--npc/019-5-2/_warps.txt11
-rw-r--r--npc/019-5-3/_import.txt4
-rw-r--r--npc/019-5-3/_warps.txt3
-rw-r--r--npc/019-5-3/episode.txt76
-rw-r--r--npc/019-5/_import.txt5
-rw-r--r--npc/019-5/_mobs.txt27
-rw-r--r--npc/019-5/_warps.txt18
-rw-r--r--npc/019-5/episode.txt33
-rw-r--r--npc/019-6/_import.txt4
-rw-r--r--npc/019-6/_mobs.txt6
-rw-r--r--npc/019-6/_warps.txt4
-rw-r--r--npc/020-1/_import.txt13
-rw-r--r--npc/020-1/_mobs.txt5
-rw-r--r--npc/020-1/_warps.txt10
-rw-r--r--npc/020-1/guards.txt104
-rw-r--r--npc/020-1/mapflags.txt8
-rw-r--r--npc/020-1/misc.txt197
-rw-r--r--npc/020-1/serge.txt103
-rw-r--r--npc/020-1/siege.txt60
-rw-r--r--npc/020-1/town.txt12
-rw-r--r--npc/020-1/trainer.txt167
-rw-r--r--npc/020-1/wateranimation.txt24
-rw-r--r--npc/020-1/well.txt14
-rw-r--r--npc/020-2/_import.txt3
-rw-r--r--npc/020-2/_warps.txt3
-rw-r--r--npc/020-3/_import.txt4
-rw-r--r--npc/020-3/_warps.txt3
-rw-r--r--npc/020-3/mede.txt137
-rw-r--r--npc/020-4/_import.txt6
-rw-r--r--npc/020-4/_warps.txt3
-rw-r--r--npc/020-4/baktar.txt183
-rw-r--r--npc/020-4/gambler.txt153
-rw-r--r--npc/020-4/henry.txt159
-rw-r--r--npc/020-5/_import.txt4
-rw-r--r--npc/020-5/_warps.txt3
-rw-r--r--npc/020-5/bracco.txt400
-rw-r--r--npc/020-6/_import.txt4
-rw-r--r--npc/020-6/_warps.txt3
-rw-r--r--npc/020-6/agostine.txt186
-rw-r--r--npc/020-7-1/_import.txt20
-rw-r--r--npc/020-7-1/_warps.txt3
-rw-r--r--npc/020-7-1/core.txt337
-rw-r--r--npc/020-7-1/eevert.txt137
-rw-r--r--npc/020-7-1/ensio.txt147
-rw-r--r--npc/020-7-1/henriikka.txt88
-rw-r--r--npc/020-7-1/janika.txt101
-rw-r--r--npc/020-7-1/janitors.txt82
-rw-r--r--npc/020-7-1/kristian.txt71
-rw-r--r--npc/020-7-1/kullervo.txt109
-rw-r--r--npc/020-7-1/mirjami.txt91
-rw-r--r--npc/020-7-1/nea.txt78
-rw-r--r--npc/020-7-1/oskari.txt233
-rw-r--r--npc/020-7-1/peetu.txt343
-rw-r--r--npc/020-7-1/politics.txt58
-rw-r--r--npc/020-7-1/pyry.txt111
-rw-r--r--npc/020-7-1/sage.txt322
-rw-r--r--npc/020-7-1/santeri.txt104
-rw-r--r--npc/020-7-1/teuvo.txt75
-rw-r--r--npc/020-7-2/_import.txt6
-rw-r--r--npc/020-7-2/_mobs.txt8
-rw-r--r--npc/020-7-2/_warps.txt14
-rw-r--r--npc/020-7-2/connor.txt48
-rw-r--r--npc/020-7-2/parcival.txt22
-rw-r--r--npc/020-7/_import.txt5
-rw-r--r--npc/020-7/_warps.txt4
-rw-r--r--npc/020-7/elias.txt216
-rw-r--r--npc/020-7/workers.txt163
-rw-r--r--npc/021-0/_import.txt2
-rw-r--r--npc/021-1/_import.txt6
-rw-r--r--npc/021-1/_mobs.txt5
-rw-r--r--npc/021-1/_warps.txt243
-rw-r--r--npc/021-1/logic.txt142
-rw-r--r--npc/021-1/yeti.txt242
-rw-r--r--npc/021-2/_import.txt5
-rw-r--r--npc/021-2/_mobs.txt7
-rw-r--r--npc/021-2/_warps.txt4
-rw-r--r--npc/021-2/mapflags.txt1
-rw-r--r--npc/021-3/_import.txt6
-rw-r--r--npc/021-3/_mobs.txt6
-rw-r--r--npc/021-3/_warps.txt3
-rw-r--r--npc/021-3/doors.txt21
-rw-r--r--npc/021-3/mapflags.txt1
-rw-r--r--npc/021-4/_import.txt5
-rw-r--r--npc/021-4/doors.txt25
-rw-r--r--npc/021-4/main.txt376
-rw-r--r--npc/021-4/mapflags.txt2
-rw-r--r--npc/022-1/_import.txt6
-rw-r--r--npc/022-1/_mobs.txt9
-rw-r--r--npc/022-1/_warps.txt9
-rw-r--r--npc/022-1/gift_collector.txt92
-rw-r--r--npc/022-1/sign.txt21
-rw-r--r--npc/023-1/_import.txt4
-rw-r--r--npc/023-1/_mobs.txt3
-rw-r--r--npc/023-1/_warps.txt59
-rw-r--r--npc/023-2/_import.txt6
-rw-r--r--npc/023-2/_mobs.txt6
-rw-r--r--npc/023-2/_warps.txt23
-rw-r--r--npc/023-2/lightbringer.txt31
-rw-r--r--npc/023-2/mk.txt260
-rw-r--r--npc/023-3-1/_import.txt3
-rw-r--r--npc/023-3-1/logic.txt306
-rw-r--r--npc/023-3-2/_import.txt3
-rw-r--r--npc/023-3-2/logic.txt330
-rw-r--r--npc/023-3/_import.txt4
-rw-r--r--npc/023-3/_mobs.txt23
-rw-r--r--npc/023-3/logic.txt366
-rw-r--r--npc/023-4/_import.txt6
-rw-r--r--npc/023-4/_mobs.txt6
-rw-r--r--npc/023-4/_warps.txt4
-rw-r--r--npc/023-4/traps.txt58
-rw-r--r--npc/024-1/_import.txt14
-rw-r--r--npc/024-1/_mobs.txt6
-rw-r--r--npc/024-1/_warps.txt23
-rw-r--r--npc/024-1/erlan.txt118
-rw-r--r--npc/024-1/guard.txt116
-rw-r--r--npc/024-1/john.txt321
-rw-r--r--npc/024-1/mapflags.txt17
-rw-r--r--npc/024-1/meriel.txt113
-rw-r--r--npc/024-1/rydel.txt115
-rw-r--r--npc/024-1/soul-menhir.txt20
-rw-r--r--npc/024-1/taenya.txt123
-rw-r--r--npc/024-1/teleporter.txt23
-rw-r--r--npc/024-1/town.txt12
-rw-r--r--npc/024-10/_import.txt5
-rw-r--r--npc/024-10/_warps.txt4
-rw-r--r--npc/024-10/eldrin.txt143
-rw-r--r--npc/024-10/haircut.txt66
-rw-r--r--npc/024-11/_import.txt4
-rw-r--r--npc/024-11/_warps.txt3
-rw-r--r--npc/024-11/politics.txt63
-rw-r--r--npc/024-12/_import.txt4
-rw-r--r--npc/024-12/_warps.txt3
-rw-r--r--npc/024-12/alicia.txt71
-rw-r--r--npc/024-13/_import.txt4
-rw-r--r--npc/024-13/_warps.txt3
-rw-r--r--npc/024-13/manager.txt123
-rw-r--r--npc/024-14/_import.txt5
-rw-r--r--npc/024-14/_warps.txt3
-rw-r--r--npc/024-14/doorbell.txt328
-rw-r--r--npc/024-14/utils.txt80
-rw-r--r--npc/024-15/_import.txt4
-rw-r--r--npc/024-15/_warps.txt3
-rw-r--r--npc/024-15/lilanna.txt198
-rw-r--r--npc/024-16/_import.txt7
-rw-r--r--npc/024-16/_warps.txt3
-rw-r--r--npc/024-16/craftsman.txt177
-rw-r--r--npc/024-16/generals.txt142
-rw-r--r--npc/024-16/guards.txt30
-rw-r--r--npc/024-16/king.txt249
-rw-r--r--npc/024-2/_import.txt4
-rw-r--r--npc/024-2/_warps.txt3
-rw-r--r--npc/024-2/gaelira.txt131
-rw-r--r--npc/024-3/_import.txt4
-rw-r--r--npc/024-3/_warps.txt3
-rw-r--r--npc/024-3/arauto.txt16
-rw-r--r--npc/024-4/_import.txt5
-rw-r--r--npc/024-4/_warps.txt4
-rw-r--r--npc/024-4/alaion.txt55
-rw-r--r--npc/024-4/solana.txt47
-rw-r--r--npc/024-5/_import.txt5
-rw-r--r--npc/024-5/_warps.txt3
-rw-r--r--npc/024-5/rychell.txt57
-rw-r--r--npc/024-5/saevel.txt118
-rw-r--r--npc/024-6/_import.txt4
-rw-r--r--npc/024-6/_warps.txt3
-rw-r--r--npc/024-6/talindra.txt128
-rw-r--r--npc/024-7/_import.txt4
-rw-r--r--npc/024-7/_warps.txt3
-rw-r--r--npc/024-7/afking.txt175
-rw-r--r--npc/024-8/_import.txt5
-rw-r--r--npc/024-8/_warps.txt33
-rw-r--r--npc/024-8/jeremy.txt116
-rw-r--r--npc/024-8/nurse.txt23
-rw-r--r--npc/024-9/_import.txt5
-rw-r--r--npc/024-9/_warps.txt3
-rw-r--r--npc/024-9/barkeeper.txt54
-rw-r--r--npc/024-9/sake.txt175
-rw-r--r--npc/025-1/_config.txt25
-rw-r--r--npc/025-1/_import.txt17
-rw-r--r--npc/025-1/_mobs.txt13
-rw-r--r--npc/025-1/_warps.txt3
-rw-r--r--npc/025-1/anin.txt79
-rw-r--r--npc/025-1/commander.txt253
-rw-r--r--npc/025-1/ctrl.c572
-rw-r--r--npc/025-1/drahcir.txt16
-rw-r--r--npc/025-1/ihclot.txt148
-rw-r--r--npc/025-1/phoenix.txt230
-rw-r--r--npc/025-1/rum.txt181
-rw-r--r--npc/025-1/salohcin.txt55
-rw-r--r--npc/025-1/selim.txt81
-rw-r--r--npc/025-1/teleporter.txt23
-rw-r--r--npc/025-1/xovilam.txt47
-rw-r--r--npc/025-1/yuko.txt71
-rw-r--r--npc/025-2-1/_import.txt4
-rw-r--r--npc/025-2-1/_mobs.txt9
-rw-r--r--npc/025-2-1/_warps.txt4
-rw-r--r--npc/025-2-2/_import.txt4
-rw-r--r--npc/025-2-2/_mobs.txt8
-rw-r--r--npc/025-2-2/_warps.txt5
-rw-r--r--npc/025-2-3/_import.txt5
-rw-r--r--npc/025-2-3/_mobs.txt6
-rw-r--r--npc/025-2-3/_warps.txt3
-rw-r--r--npc/025-2-3/boss.txt39
-rw-r--r--npc/025-2-4/_import.txt6
-rw-r--r--npc/025-2-4/_mobs.txt8
-rw-r--r--npc/025-2-4/_warps.txt3
-rw-r--r--npc/025-2-4/tree.txt77
-rw-r--r--npc/025-2/_import.txt6
-rw-r--r--npc/025-2/_mobs.txt8
-rw-r--r--npc/025-2/_warps.txt5
-rw-r--r--npc/025-2/guard.txt73
-rw-r--r--npc/025-2/main.txt31
-rw-r--r--npc/025-3/_import.txt5
-rw-r--r--npc/025-3/_mobs.txt6
-rw-r--r--npc/025-3/_warps.txt3
-rw-r--r--npc/025-3/ctrl.c61
-rw-r--r--npc/026-0/_import.txt5
-rw-r--r--npc/026-0/_mobs.txt6
-rw-r--r--npc/026-0/_warps.txt3
-rw-r--r--npc/026-0/ctrl.c105
-rw-r--r--npc/026-1/_config.txt71
-rw-r--r--npc/026-1/_import.txt6
-rw-r--r--npc/026-1/_mobs.txt10
-rw-r--r--npc/026-1/_warps.txt3
-rw-r--r--npc/026-1/ctrl.c186
-rw-r--r--npc/026-2/_import.txt3
-rw-r--r--npc/026-2/_warps.txt3
-rw-r--r--npc/027-0/_import.txt5
-rw-r--r--npc/027-0/_warps.txt3
-rw-r--r--npc/027-0/emma.txt121
-rw-r--r--npc/027-0/enrique.txt181
-rw-r--r--npc/027-1/_import.txt14
-rw-r--r--npc/027-1/_mobs.txt12
-rw-r--r--npc/027-1/_warps.txt10
-rw-r--r--npc/027-1/ctrl.txt38
-rw-r--r--npc/027-1/eliza.txt22
-rw-r--r--npc/027-1/elza.txt22
-rw-r--r--npc/027-1/enzo.txt20
-rw-r--r--npc/027-1/ezra.txt23
-rw-r--r--npc/027-1/laura.txt395
-rw-r--r--npc/027-1/statue.txt26
-rw-r--r--npc/027-1/students.txt45
-rw-r--r--npc/027-1/students2.txt136
-rw-r--r--npc/027-1/wizard.txt33
-rw-r--r--npc/027-2/_import.txt4
-rw-r--r--npc/027-2/_warps.txt4
-rw-r--r--npc/027-2/colin.txt174
-rw-r--r--npc/027-3/_import.txt5
-rw-r--r--npc/027-3/_warps.txt4
-rw-r--r--npc/027-3/angel.txt111
-rw-r--r--npc/027-3/luca.txt120
-rw-r--r--npc/027-4/_import.txt4
-rw-r--r--npc/027-4/_warps.txt3
-rw-r--r--npc/027-4/saves.txt139
-rw-r--r--npc/027-5/_import.txt3
-rw-r--r--npc/027-5/_warps.txt3
-rw-r--r--npc/027-6/_import.txt3
-rw-r--r--npc/027-6/_warps.txt3
-rw-r--r--npc/027-7/_import.txt4
-rw-r--r--npc/027-7/_warps.txt5
-rw-r--r--npc/027-7/banker.txt16
-rw-r--r--npc/029-0/_import.txt10
-rw-r--r--npc/029-0/_mobs.txt10
-rw-r--r--npc/029-0/amelia.txt117
-rw-r--r--npc/029-0/elora.txt107
-rw-r--r--npc/029-0/event.txt330
-rw-r--r--npc/029-0/mobs.txt305
-rw-r--r--npc/029-0/sakar.txt91
-rw-r--r--npc/029-0/town.txt26
-rw-r--r--npc/029-0/warps.txt130
-rw-r--r--npc/029-1/_import.txt3
-rw-r--r--npc/029-1/pentagram.txt74
-rw-r--r--npc/029-2/_import.txt3
-rw-r--r--npc/029-2/_warps.txt3
-rw-r--r--npc/029-3/_import.txt3
-rw-r--r--npc/029-3/_warps.txt3
-rw-r--r--npc/029-4/_import.txt3
-rw-r--r--npc/029-4/_warps.txt3
-rw-r--r--npc/029-5/_config.txt16
-rw-r--r--npc/029-5/_import.txt4
-rw-r--r--npc/029-5/_warps.txt3
-rw-r--r--npc/029-6/_import.txt3
-rw-r--r--npc/029-6/_warps.txt3
-rw-r--r--npc/029-7/_import.txt3
-rw-r--r--npc/029-7/_warps.txt3
-rw-r--r--npc/029-8/_import.txt2
-rw-r--r--npc/029-9/_import.txt5
-rw-r--r--npc/029-9/_mobs.txt3
-rw-r--r--npc/029-9/_warps.txt23
-rw-r--r--npc/029-9/boss.txt555
-rw-r--r--npc/030-01/_import.txt2
-rw-r--r--npc/030-02/_import.txt2
-rw-r--r--npc/030-03/_import.txt2
-rw-r--r--npc/030-04/_import.txt2
-rw-r--r--npc/030-05/_import.txt2
-rw-r--r--npc/030-06/_import.txt2
-rw-r--r--npc/030-07/_import.txt2
-rw-r--r--npc/030-08/_import.txt2
-rw-r--r--npc/030-09/_import.txt2
-rw-r--r--npc/030-10/_import.txt2
-rw-r--r--npc/030-11/_import.txt2
-rw-r--r--npc/030-12/_import.txt2
-rw-r--r--npc/030-13/_import.txt2
-rw-r--r--npc/030-14/_import.txt2
-rw-r--r--npc/030-15/_import.txt2
-rw-r--r--npc/030-16/_import.txt2
-rw-r--r--npc/030-17/_import.txt2
-rw-r--r--npc/030-18/_import.txt2
-rw-r--r--npc/030-19/_import.txt2
-rw-r--r--npc/030-20/_import.txt2
-rw-r--r--npc/030-21/_import.txt2
-rw-r--r--npc/030-22/_import.txt2
-rw-r--r--npc/030-23/_import.txt2
-rw-r--r--npc/030-24/_import.txt2
-rw-r--r--npc/030-25/_import.txt2
-rw-r--r--npc/030-26/_import.txt2
-rw-r--r--npc/030-27/_import.txt2
-rw-r--r--npc/030-28/_import.txt2
-rw-r--r--npc/030-29/_import.txt2
-rw-r--r--npc/030-30/_import.txt2
-rw-r--r--npc/030-31/_import.txt2
-rw-r--r--npc/030-32/_import.txt2
-rw-r--r--npc/030-33/_import.txt2
-rw-r--r--npc/030-34/_import.txt2
-rw-r--r--npc/030-35/_import.txt2
-rw-r--r--npc/030-36/_import.txt2
-rw-r--r--npc/030-37/_import.txt2
-rw-r--r--npc/030-38/_import.txt2
-rw-r--r--npc/030-39/_import.txt2
-rw-r--r--npc/030-40/_import.txt2
-rw-r--r--npc/030-41/_import.txt2
-rw-r--r--npc/030-42/_import.txt2
-rw-r--r--npc/030-43/_import.txt2
-rw-r--r--npc/030-44/_import.txt2
-rw-r--r--npc/030-45/_import.txt2
-rw-r--r--npc/030-46/_import.txt2
-rw-r--r--npc/030-47/_import.txt2
-rw-r--r--npc/030-48/_import.txt2
-rw-r--r--npc/030-49/_import.txt2
-rw-r--r--npc/030-50/_import.txt2
-rw-r--r--npc/030-51/_import.txt2
-rw-r--r--npc/030-52/_import.txt2
-rw-r--r--npc/030-53/_import.txt2
-rw-r--r--npc/030-54/_import.txt2
-rw-r--r--npc/030-55/_import.txt2
-rw-r--r--npc/030-56/_import.txt2
-rw-r--r--npc/030-57/_import.txt2
-rw-r--r--npc/030-58/_import.txt2
-rw-r--r--npc/030-59/_import.txt2
-rw-r--r--npc/030-60/_import.txt2
-rw-r--r--npc/030-61/_import.txt2
-rw-r--r--npc/030-62/_import.txt2
-rw-r--r--npc/030-63/_import.txt2
-rw-r--r--npc/030-64/_import.txt2
-rw-r--r--npc/030-65/_import.txt2
-rw-r--r--npc/030-66/_import.txt2
-rw-r--r--npc/030-67/_import.txt2
-rw-r--r--npc/030-68/_import.txt2
-rw-r--r--npc/030-69/_import.txt2
-rw-r--r--npc/030-70/_import.txt2
-rw-r--r--npc/030-71/_import.txt2
-rw-r--r--npc/030-72/_import.txt2
-rw-r--r--npc/030-73/_import.txt2
-rw-r--r--npc/030-74/_import.txt2
-rw-r--r--npc/030-75/_import.txt2
-rw-r--r--npc/031-0/_import.txt5
-rw-r--r--npc/031-0/_mobs.txt8
-rw-r--r--npc/031-0/_warps.txt4
-rw-r--r--npc/031-0/boss.txt30
-rw-r--r--npc/031-1/_import.txt4
-rw-r--r--npc/031-1/_mobs.txt8
-rw-r--r--npc/031-1/_warps.txt8
-rw-r--r--npc/031-2/_import.txt4
-rw-r--r--npc/031-2/_warps.txt3
-rw-r--r--npc/031-2/tyrca.txt66
-rw-r--r--npc/031-3/_import.txt2
-rw-r--r--npc/031-4/_import.txt2
-rw-r--r--npc/031-5/_import.txt4
-rw-r--r--npc/031-5/_warps.txt3
-rw-r--r--npc/031-5/beatrice.txt187
-rw-r--r--npc/031-6/_import.txt2
-rw-r--r--npc/031-7/_import.txt4
-rw-r--r--npc/031-7/_warps.txt3
-rw-r--r--npc/031-7/tametomo.txt87
-rw-r--r--npc/031-8/_import.txt2
-rw-r--r--npc/031-9/_import.txt2
-rw-r--r--npc/032-1/_import.txt5
-rw-r--r--npc/032-1/_mobs.txt11
-rw-r--r--npc/032-1/_warps.txt8
-rw-r--r--npc/032-1/episode.txt612
-rw-r--r--npc/032-2/_import.txt5
-rw-r--r--npc/032-2/_mobs.txt10
-rw-r--r--npc/032-2/_warps.txt89
-rw-r--r--npc/032-2/episode.txt62
-rw-r--r--npc/032-3/_import.txt4
-rw-r--r--npc/032-3/_warps.txt3
-rw-r--r--npc/032-3/episode.txt354
-rw-r--r--npc/032-4/_import.txt5
-rw-r--r--npc/032-4/_mobs.txt6
-rw-r--r--npc/032-4/_warps.txt4
-rw-r--r--npc/032-4/episode.txt7
-rw-r--r--npc/032-5/_import.txt4
-rw-r--r--npc/032-5/_warps.txt3
-rw-r--r--npc/032-5/episode.txt221
-rw-r--r--npc/033-1/_import.txt3
-rw-r--r--npc/033-1/_warps.txt6
-rw-r--r--npc/033-2/_import.txt3
-rw-r--r--npc/033-2/_warps.txt4
-rw-r--r--npc/033-3/_import.txt3
-rw-r--r--npc/033-3/_warps.txt3
-rw-r--r--npc/033-4/_import.txt3
-rw-r--r--npc/033-4/_warps.txt3
-rw-r--r--npc/033-5/_import.txt3
-rw-r--r--npc/033-5/_warps.txt3
-rw-r--r--npc/034-1/_import.txt4
-rw-r--r--npc/034-1/_mobs.txt4
-rw-r--r--npc/034-1/gemini.txt86
-rw-r--r--npc/034-2/_import.txt4
-rw-r--r--npc/034-2/_mobs.txt18
-rw-r--r--npc/034-2/gemini.txt160
-rw-r--r--npc/034-3/_import.txt4
-rw-r--r--npc/034-3/_mobs.txt3
-rw-r--r--npc/034-3/gemini.txt241
-rw-r--r--npc/034-4/_import.txt6
-rw-r--r--npc/034-4/exit.txt276
-rw-r--r--npc/034-4/intro.txt211
-rw-r--r--npc/034-4/lobby.txt263
-rw-r--r--npc/034-4/storage.txt186
-rw-r--r--npc/042-0/_import.txt5
-rw-r--r--npc/042-0/_warps.txt3
-rw-r--r--npc/042-0/arthur.txt524
-rw-r--r--npc/042-0/mf.txt12
-rw-r--r--npc/042-1/_import.txt3
-rw-r--r--npc/042-1/door.txt204
-rw-r--r--npc/042-10/_import.txt3
-rw-r--r--npc/042-10/ctrl.txt635
-rw-r--r--npc/042-11/_import.txt3
-rw-r--r--npc/042-11/boss.txt220
-rw-r--r--npc/042-2/_import.txt3
-rw-r--r--npc/042-2/boss.txt405
-rw-r--r--npc/042-3/_import.txt3
-rw-r--r--npc/042-3/jail.txt181
-rw-r--r--npc/042-4/_import.txt4
-rw-r--r--npc/042-4/_warps.txt5
-rw-r--r--npc/042-4/ctrl.txt117
-rw-r--r--npc/042-5/_import.txt4
-rw-r--r--npc/042-5/_warps.txt8
-rw-r--r--npc/042-5/ctrl.txt238
-rw-r--r--npc/042-6/_import.txt4
-rw-r--r--npc/042-6/_warps.txt3
-rw-r--r--npc/042-6/ctrl.txt116
-rw-r--r--npc/042-7/_import.txt4
-rw-r--r--npc/042-7/_warps.txt3
-rw-r--r--npc/042-7/ctrl.txt116
-rw-r--r--npc/042-8/_import.txt4
-rw-r--r--npc/042-8/_warps.txt3
-rw-r--r--npc/042-8/ctrl.txt116
-rw-r--r--npc/042-9/_import.txt4
-rw-r--r--npc/042-9/_warps.txt3
-rw-r--r--npc/042-9/ctrl.txt115
-rw-r--r--npc/_import.txt415
-rw-r--r--npc/boss/_import.txt4
-rw-r--r--npc/boss/manamarket.txt107
-rw-r--r--npc/boss/throne.txt162
-rw-r--r--npc/botcheck/_import.txt3
-rw-r--r--npc/commands/debug-look.txt93
-rw-r--r--npc/commands/debug-quest.txt113
-rw-r--r--npc/commands/debug.txt156
-rw-r--r--npc/commands/discord.txt156
-rw-r--r--npc/commands/event.txt544
-rw-r--r--npc/commands/exp.txt35
-rw-r--r--npc/commands/grantpower.txt185
-rw-r--r--npc/commands/ipcheck.txt72
-rw-r--r--npc/commands/kami.txt113
-rw-r--r--npc/commands/language.txt60
-rw-r--r--npc/commands/mobinfo.txt22
-rw-r--r--npc/commands/motd.txt194
-rw-r--r--npc/commands/music.txt103
-rw-r--r--npc/commands/python.txt27
-rw-r--r--npc/commands/rate-management.txt359
-rw-r--r--npc/commands/rent.txt34
-rw-r--r--npc/commands/resync.txt45
-rw-r--r--npc/commands/scheduled-broadcasts.txt227
-rw-r--r--npc/commands/shroom.txt62
-rw-r--r--npc/commands/super-menu.txt241
-rw-r--r--npc/commands/titulate.txt226
-rw-r--r--npc/commands/ucp.txt363
-rw-r--r--npc/commands/warp.txt104
-rw-r--r--npc/commands/welcome.txt74
-rw-r--r--npc/commands/wgm.txt51
-rw-r--r--npc/config/hairstyle_config.txt28
-rw-r--r--npc/config/location.txt35
-rw-r--r--npc/config/magic.txt558
-rw-r--r--npc/config/traps.txt82
-rw-r--r--npc/craft/alchemy.txt147
-rw-r--r--npc/craft/options.txt1198
-rw-r--r--npc/craft/price.txt232
-rw-r--r--npc/craft/recipes.txt605
-rw-r--r--npc/craft/smith.txt91
-rw-r--r--npc/craft/tweak.txt128
-rw-r--r--npc/dev/ci_test.txt48
-rw-r--r--npc/dev/test.txt814
-rw-r--r--npc/functions/array.txt464
-rw-r--r--npc/functions/asklanguage.txt72
-rw-r--r--npc/functions/aurora.txt829
-rw-r--r--npc/functions/bank.txt288
-rw-r--r--npc/functions/barber.txt110
-rw-r--r--npc/functions/bitwise.txt176
-rw-r--r--npc/functions/captcha.txt258
-rw-r--r--npc/functions/clientversion.txt1205
-rw-r--r--npc/functions/daily.txt230
-rw-r--r--npc/functions/doors.txt59
-rw-r--r--npc/functions/dungeon.txt162
-rw-r--r--npc/functions/estate.txt96
-rw-r--r--npc/functions/estate2.txt326
-rw-r--r--npc/functions/event.txt834
-rw-r--r--npc/functions/filters.txt131
-rw-r--r--npc/functions/fishing.txt358
-rw-r--r--npc/functions/game-rules.txt74
-rw-r--r--npc/functions/gmbot.txt268
-rw-r--r--npc/functions/goodbye.txt152
-rw-r--r--npc/functions/guild.txt46
-rw-r--r--npc/functions/hammocks.txt50
-rw-r--r--npc/functions/honor.txt95
-rw-r--r--npc/functions/hub.txt1336
-rw-r--r--npc/functions/input.txt110
-rw-r--r--npc/functions/instances.txt105
-rw-r--r--npc/functions/inventoryplace.txt36
-rw-r--r--npc/functions/lockpicks.txt176
-rw-r--r--npc/functions/main.txt536
-rw-r--r--npc/functions/marriage.txt301
-rw-r--r--npc/functions/math.txt114
-rw-r--r--npc/functions/maze.txt554
-rw-r--r--npc/functions/mkbot.txt259
-rw-r--r--npc/functions/mobhunter.txt263
-rw-r--r--npc/functions/mobpoint.txt111
-rw-r--r--npc/functions/mounts.txt101
-rw-r--r--npc/functions/news.txt480
-rw-r--r--npc/functions/npcmove.txt142
-rw-r--r--npc/functions/npcmovegraph.txt489
-rw-r--r--npc/functions/nurse.txt84
-rw-r--r--npc/functions/openbook.txt27
-rw-r--r--npc/functions/permissions.txt25
-rw-r--r--npc/functions/petsales.txt43
-rw-r--r--npc/functions/politics.txt657
-rw-r--r--npc/functions/random-talk.txt207
-rw-r--r--npc/functions/refine.txt242
-rw-r--r--npc/functions/resetstatus.txt121
-rw-r--r--npc/functions/riddle.txt69
-rw-r--r--npc/functions/scoreboards.txt963
-rw-r--r--npc/functions/seasons.txt595
-rw-r--r--npc/functions/shake.txt53
-rw-r--r--npc/functions/shops.txt43
-rw-r--r--npc/functions/siege.txt547
-rw-r--r--npc/functions/soul_menhir.txt133
-rw-r--r--npc/functions/string.txt211
-rw-r--r--npc/functions/teleporter.txt58
-rw-r--r--npc/functions/time.txt117
-rw-r--r--npc/functions/timer.txt78
-rw-r--r--npc/functions/treasure.txt76
-rw-r--r--npc/functions/util.txt1330
-rw-r--r--npc/functions/vault.txt41
-rw-r--r--npc/functions/weather.txt352
-rw-r--r--npc/guilds/_import.txt10
-rw-r--r--npc/guilds/_warps.txt3
-rw-r--r--npc/guilds/alchemy.txt30
-rw-r--r--npc/guilds/bank.txt58
-rw-r--r--npc/guilds/exchange.txt155
-rw-r--r--npc/guilds/forge.txt33
-rw-r--r--npc/guilds/logs.txt422
-rw-r--r--npc/guilds/management.txt115
-rw-r--r--npc/guilds/storage.txt33
-rw-r--r--npc/items/alcohol.txt124
-rw-r--r--npc/items/arcmage.txt51
-rw-r--r--npc/items/books.txt737
-rw-r--r--npc/items/croconut.txt78
-rw-r--r--npc/items/emptybox.txt54
-rw-r--r--npc/items/grenade.txt122
-rw-r--r--npc/items/inc_sc_bonus.txt72
-rw-r--r--npc/items/legacy_heal.txt79
-rw-r--r--npc/items/lofteleporter.txt123
-rw-r--r--npc/items/maps.txt17
-rw-r--r--npc/items/mercenary.txt150
-rw-r--r--npc/items/miscrecipes.txt93
-rw-r--r--npc/items/rand_mp_heal.txt63
-rw-r--r--npc/items/rand_sc_heal.txt112
-rw-r--r--npc/items/shovel.txt544
-rw-r--r--npc/items/teleporter.txt54
-rw-r--r--npc/items/valentine.txt31
-rw-r--r--npc/magic/abizit.txt33
-rw-r--r--npc/magic/demure.txt154
-rw-r--r--npc/magic/dragokin.txt42
-rw-r--r--npc/magic/drops.txt65
-rw-r--r--npc/magic/forget.txt52
-rw-r--r--npc/magic/guild.txt166
-rw-r--r--npc/magic/mpregen.txt57
-rw-r--r--npc/magic/ovh.txt13
-rw-r--r--npc/magic/parum.txt56
-rw-r--r--npc/magic/plantkingdom.txt62
-rw-r--r--npc/magic/revive.txt52
-rw-r--r--npc/magic/scrolls.txt36
-rw-r--r--npc/magic/study.txt48
-rw-r--r--npc/magic/transmigration.txt330
-rw-r--r--npc/re/scripts_main.conf4
-rw-r--r--npc/scripts.conf156
-rw-r--r--npc/sec_pri/_import.txt3
-rw-r--r--npc/sec_pri/mapflags.txt2
-rw-r--r--npc/soren-2/_import.txt5
-rw-r--r--npc/soren-2/_warps.txt3
-rw-r--r--npc/soren-2/main.txt238
-rw-r--r--npc/soren-2/mapflags.txt1
-rw-r--r--npc/soren/_import.txt5
-rw-r--r--npc/soren/_mobs.txt8
-rw-r--r--npc/soren/main.txt531
-rw-r--r--npc/soren/mapflags.txt1
-rw-r--r--npc/test/_import.txt12
-rw-r--r--npc/test/_mobs.txt17
-rw-r--r--npc/test/karim.txt153
-rw-r--r--npc/test/mapflags.txt2
-rw-r--r--npc/test/npc1.txt724
-rw-r--r--npc/test/npc3.txt7
-rw-r--r--npc/test/npc4.txt30
-rw-r--r--npc/test/npc5.txt34
-rw-r--r--npc/test/rock.txt178
-rw-r--r--npc/test/test1.txt96
-rw-r--r--npc/test/test2.txt13
-rw-r--r--npc/testbg/_import.txt3
-rw-r--r--npc/testbg/mapflags.txt1
-rwxr-xr-xscript-checker42
-rw-r--r--sql-files/init.sql4
-rw-r--r--sql-files/initremote.sql4
-rw-r--r--sql-files/logs.sql198
-rw-r--r--sql-files/main.sql1167
-rw-r--r--sql-files/tools/convert_engine_innodb.sql56
-rw-r--r--sql-files/tools/convert_engine_myisam.sql56
-rw-r--r--sql-files/tools/convert_passwords.sql3
-rw-r--r--sql-files/upgrades/2013-02-14--16-15.sql7
-rw-r--r--sql-files/upgrades/2013-02-15--18-06.sql3
-rw-r--r--sql-files/upgrades/2013-03-05--01-05.sql3
-rw-r--r--sql-files/upgrades/2013-03-06--00-00.sql9
-rw-r--r--sql-files/upgrades/2013-03-09--01-56.sql4
-rw-r--r--sql-files/upgrades/2013-03-27--18-35.sql3
-rw-r--r--sql-files/upgrades/2013-04-16--01-24.sql3
-rw-r--r--sql-files/upgrades/2013-04-16--02-15.sql4
-rw-r--r--sql-files/upgrades/2013-10-09--21-38.sql3
-rw-r--r--sql-files/upgrades/2013-10-10--16-36.sql7
-rw-r--r--sql-files/upgrades/2013-10-27--16-47.sql6
-rw-r--r--sql-files/upgrades/2013-10-30--19-53.sql5
-rw-r--r--sql-files/upgrades/2013-10-30--21-12.sql3
-rw-r--r--sql-files/upgrades/2013-10-31--07-49.sql6
-rw-r--r--sql-files/upgrades/2013-11-09--00-03.sql5
-rw-r--r--sql-files/upgrades/2013-11-15--00-06.sql105
-rw-r--r--sql-files/upgrades/2013-11-15--19-57.sql5
-rw-r--r--sql-files/upgrades/2013-11-16--07-49.sql3
-rw-r--r--sql-files/upgrades/2013-11-18--08-23.sql65
-rw-r--r--sql-files/upgrades/2013-12-24--00-15.sql8
-rw-r--r--sql-files/upgrades/2014-01-04--16-47.sql61
-rw-r--r--sql-files/upgrades/2014-01-06--17-22.sql16
-rw-r--r--sql-files/upgrades/2014-02-19--17-57.sql4
-rw-r--r--sql-files/upgrades/2014-03-25--23-57.sql3
-rw-r--r--sql-files/upgrades/2014-04-07--22-04.sql3
-rw-r--r--sql-files/upgrades/2014-04-26--10-00.sql3
-rw-r--r--sql-files/upgrades/2014-05-17--00-06.sql3
-rw-r--r--sql-files/upgrades/2014-09-01--16-53.sql5
-rw-r--r--sql-files/upgrades/2014-11-03--00-45.sql3
-rw-r--r--sql-files/upgrades/2015-07-08--13-08.sql6
-rw-r--r--sql-files/upgrades/2015-08-27--20-42.sql3
-rw-r--r--sql-files/upgrades/2015-12-16--12-57.sql26
-rw-r--r--sql-files/upgrades/2015-12-17--15-58.sql22
-rw-r--r--sql-files/upgrades/2016-03-10--22-18.sql22
-rw-r--r--sql-files/upgrades/2016-07-08--02-42.sql35
-rw-r--r--sql-files/upgrades/2016-07-08--02-51.sql30
-rw-r--r--sql-files/upgrades/2016-10-03--20-27.sql23
-rw-r--r--sql-files/upgrades/2016-10-26--10-29.sql23
-rw-r--r--sql-files/upgrades/2017-03-02--11-40.sql93
-rw-r--r--sql-files/upgrades/2017-03-05--08-09.sql15
-rw-r--r--sql-files/upgrades/2017-03-15--14-29.sql74
-rw-r--r--sql-files/upgrades/2017-06-04--15-04.sql24
-rw-r--r--sql-files/upgrades/2017-06-04--15-05.sql23
-rw-r--r--sql-files/upgrades/2017-11-04--10-39.sql6
-rw-r--r--sql-files/upgrades/2018-02-26--15-57.sql6
-rw-r--r--sql-files/upgrades/2018-03-10--04-06.sql24
-rw-r--r--sql-files/upgrades/2018-06-03--00-10.sql40
-rw-r--r--sql-files/upgrades/2018-06-03--17-16.sql24
-rw-r--r--sql-files/upgrades/2018-06-05--12-02.sql24
-rw-r--r--sql-files/upgrades/2018-07-24--03-23.sql22
-rw-r--r--sql-files/upgrades/2018-08-03--11-37.sql33
-rw-r--r--sql-files/upgrades/2018-09-01--05-22.sql63
-rw-r--r--sql-files/upgrades/2018-12-14--01-02.sql24
-rw-r--r--sql-files/upgrades/2018-12-29--07-51.sql29
-rw-r--r--sql-files/upgrades/2019-04-08--21-52.sql29
-rw-r--r--sql-files/upgrades/2019-04-25--02-12.sql24
-rw-r--r--sql-files/upgrades/2019-05-09--18-07.sql22
-rw-r--r--sql-files/upgrades/2020-08-01--00-00.sql121
-rw-r--r--sql-files/upgrades/index.txt57
-rwxr-xr-xsysinfogen.sh259
-rw-r--r--template.update.py26
-rwxr-xr-xtest_char4
-rwxr-xr-xtest_login4
-rwxr-xr-xtest_map4
2290 files changed, 433965 insertions, 0 deletions
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..cd38c83
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,10 @@
+# Why do we end files with .txt, anyway?
+npc/*/*.txt gitlab-language=c
+
+# Configuration files
+db/re/*.conf gitlab-language=c
+db/*.conf gitlab-language=c
+conf/**/*.conf gitlab-language=c
+conf/*.conf gitlab-language=c
+conf/*.base gitlab-language=c
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..61998dd
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,136 @@
+#Global
+.Apple*
+.DS_Store
+._*
+.clang_complete
+.local.vimrc
+.ycm_extra_conf.py*
+Thumbs.db
+
+# /
+/*.exe
+/*.ilk
+/*.log
+/*.ncb
+/*.opensdf
+/*.opt
+/*.pdb
+/*.pid
+/*.sdf
+/*.stackdump
+/*.suo
+/*.exp
+/*.lib
+/autom4te.cache/
+/start-log.txt
+/char-server
+/config.log
+/config.status
+/core
+/ipch
+/login-server
+/Makefile.cache
+/map-server
+/mapcache
+/configure
+/versions
+
+# /plugins -- everything
+/plugins/
+
+#OSX Xcode project user-sensitive-stuff
+/DerivedData
+/Hercules
+/build
+/Hercules.xcodeproj/xcuserdata
+/Hercules.xcodeproj/project.xcworkspace/xcuserdata/
+/Hercules.xcodeproj/project.xcworkspace/xcshareddata/Hercules.xccheckout
+
+# /3rdparty/libconfig/
+/3rdparty/libconfig/Makefile
+/3rdparty/libconfig/*.o
+
+# /3rdparty/mt19937ar/
+/3rdparty/mt19937ar/Makefile
+/3rdparty/mt19937ar/*.o
+
+# /cache/
+/cache/
+
+# /conf/
+/conf/import
+
+# /log/
+/log/*.log
+/log/*.leaks
+/log/*.tmp
+
+# /src/char/
+/src/char/Makefile
+/src/char/obj_sql
+
+# /src/common/
+/src/common/Makefile
+/src/common/obj_all
+/src/common/obj_sql
+/src/common/sysinfo.inc
+
+# /src/login/
+/src/login/Makefile
+/src/login/obj_sql
+
+# /src/map/
+/src/map/Makefile
+/src/map/obj_sql
+/src/map/pcre.h
+
+# /src/test/
+/src/test/Makefile
+/src/test/obj
+
+# /src/tool/
+/src/tool/Makefile
+/src/tool/obj_all
+
+# /src/plugins/
+/src/plugins/Makefile
+
+# /tools/
+/tools/convert
+/tools/adduser
+/tools/*.exe
+/tools/*.ilk
+/tools/*.pdb
+/tools/HPMHookGen/Makefile
+/tools/HPMHookGen/doxyoutput
+
+# /vcproj-*
+/vcproj-*/*.user
+/vcproj-*/char-server
+/vcproj-*/login-server
+/vcproj-*/map-server
+/vcproj-*/mapcache
+/vcproj-*/plugin-*/
+
+# temp files
+*.txt~
+*.conf~
+*.py~
+*.bak
+/gmon.out
+/gprof_*
+
+# auto created configs
+conf/channels.conf
+npc/commands/motd-debug-text.txt
+*_blackbox.txt
+
+# patches
+*.orig
+*.rej
+*.diff
+*.patch
+
+# other files
+npc/00000SAVE/*
+deployupdate.sh
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..59e9726
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,194 @@
+stages:
+- build
+- test
+
+before_script:
+ - uname -a
+image: debian:stretch
+
+variables:
+ GET_SOURCES_ATTEMPTS: "5"
+ ARTIFACT_DOWNLOAD_ATTEMPTS: "5"
+ MYSQL_ROOT_PASSWORD: root
+ packetver: "20170517"
+
+mysql_init_5.6:
+ stage: build
+ script:
+ - ./.tools/jobs/install.sh "mysql-client"
+ - ./.tools/jobs/clonedata.sh
+ - ./.tools/jobs/initdb.sh mysql
+ image: debian:stretch
+ services:
+ - mysql:5.6
+
+mysql_init_5.7:
+ stage: build
+ script:
+ - ./.tools/jobs/install.sh "mysql-client"
+ - ./.tools/jobs/clonedata.sh
+ - ./.tools/jobs/initdb.sh mysql
+ image: debian:stretch
+ services:
+ - mysql:5.7
+
+mariadb_init_latest:
+ stage: build
+ script:
+ - ./.tools/jobs/install.sh "mysql-client"
+ - ./.tools/jobs/clonedata.sh
+ - ./.tools/jobs/initdb.sh mariadb
+ image: debian:stretch
+ services:
+ - mariadb:latest
+
+mariadb_init_10.0:
+ stage: build
+ script:
+ - ./.tools/jobs/install.sh "mysql-client"
+ - ./.tools/jobs/clonedata.sh
+ - ./.tools/jobs/initdb.sh mariadb
+ image: debian:stretch
+ services:
+ - mariadb:10.0
+
+.mariadb_init_5.5:
+ stage: build
+ script:
+ - ./.tools/jobs/install.sh "mysql-client"
+ - ./.tools/jobs/clonedata.sh
+ - ./.tools/jobs/initdb.sh mariadb
+ image: debian:stretch
+ services:
+ - mariadb:5.5
+
+.mysql_run_latest:
+ stage: test
+ script:
+ - export CC=gcc-6
+ - ./.tools/jobs/install.sh "mysql-client
+ gcc-6
+ git-core
+ make autoconf automake autopoint
+ libtool libmysqlclient-dev libz-dev libpcre3-dev libssl-dev"
+ - ./.tools/jobs/cloneall.sh
+ - ./.tools/jobs/initdb.sh mysql
+ - ./.tools/jobs/build.sh "--enable-packetver=${packetver} --enable-epoll --enable-debug --enable-sanitize=full --disable-manager --enable-Werror --enable-buildbot" "--enable-werror --enable-lto --enable-sanitize"
+ - ./.tools/jobs/runserver.sh mysql
+ image: debian:stretch
+ services:
+ - mysql:latest
+
+mysql_run_5.7:
+ stage: test
+ script:
+ - export CC=gcc-7
+ - ./.tools/jobs/install.sh "mysql-client
+ gcc-7
+ git-core
+ make autoconf automake autopoint apt-utils
+ libssl-dev openssl libtool libmysqlclient-dev libz-dev libpcre3-dev"
+ - ./.tools/jobs/cloneall.sh
+ - ./.tools/jobs/initdb.sh mysql
+ - ./.tools/jobs/build.sh "--enable-packetver=${packetver} --enable-epoll --enable-debug --enable-sanitize=full --disable-manager --enable-Werror --enable-buildbot" "--enable-werror --enable-lto --enable-sanitize"
+ - ./.tools/jobs/runserver.sh mysql
+ image: ubuntu:18.04
+ services:
+ - mysql:5.7
+
+mysql_run_8.0:
+ stage: test
+ script:
+ - export CC=gcc-7
+ - ./.tools/jobs/install.sh "mysql-client
+ gcc-7
+ git-core
+ make autoconf automake autopoint
+ libssl-dev libtool libmysqlclient-dev libz-dev libpcre3-dev"
+ - ./.tools/jobs/cloneall.sh
+ - ./.tools/jobs/initdb.sh mysql
+ - ./.tools/jobs/build.sh "--enable-packetver=${packetver} --enable-epoll --enable-debug --enable-sanitize=full --disable-manager --enable-Werror --enable-buildbot" "--enable-werror --enable-lto --enable-sanitize"
+ - ./.tools/jobs/runserver.sh mysql
+ image: ubuntu:18.04
+ services:
+ - mysql:8.0
+ allow_failure: true
+
+.mariadb_run_latest:
+ stage: test
+ script:
+ - export CC=gcc-6
+ - export HERCCPPFLAGS=" -Wno-format-overflow"
+ - ./.tools/jobs/install.sh "mysql-client
+ gcc-6
+ git-core
+ make autoconf automake autopoint
+ libtool libmysqlclient-dev libz-dev libpcre3-dev libssl-dev"
+ - ./.tools/jobs/cloneall.sh
+ - ./.tools/jobs/initdb.sh mariadb
+ - ./.tools/jobs/build.sh "--enable-packetver=${packetver} --enable-epoll --enable-debug --enable-sanitize=full --disable-manager --enable-Werror --enable-buildbot" "--enable-werror --enable-lto --enable-sanitize"
+ - ./.tools/jobs/runserver.sh mariadb
+ image: debian:stretch
+ services:
+ - mariadb:latest
+
+# I don't know what's up with Valgrind?
+.mariadb_run_valgrind_latest:
+ stage: test
+ script:
+ - export CC=gcc-6
+ - ./.tools/jobs/install.sh "mysql-client
+ gcc-6
+ git-core
+ make autoconf automake autopoint
+ libssl-dev openssl libtool libmariadbclient-dev libz-dev libpcre3-dev
+ valgrind"
+ - grep -nR CRYPTO_new_ex_data /usr/include/openssl/
+ - ls /usr/lib/x86_64-linux-gnu/ | grep libcrypto #locate libcrypto.so
+ - nm /usr/lib/x86_64-linux-gnu/libcrypto.a | grep CRYPTO_new
+ - ldd /usr/bin/openssl
+ - ./.tools/jobs/cloneall.sh
+ - ./.tools/jobs/initdb.sh mariadb
+ - ./.tools/jobs/build.sh "--enable-packetver=${packetver} --enable-epoll --enable-debug --disable-manager --enable-Werror --enable-buildbot" "--enable-werror"
+ - ./.tools/jobs/runservervalgrind.sh mariadb
+ image: debian:stretch
+ services:
+ - mariadb:latest
+
+licensecheck:
+ stage: test
+ tags:
+ - lightweight
+ script:
+ - ./.tools/jobs/licensecheck.sh
+ image: debian:stretch
+
+newlines:
+ stage: test
+ tags:
+ - lightweight
+ script:
+ - ./.tools/jobs/install.sh "dos2unix git-core"
+ - ./.tools/jobs/newlines.sh
+ image: debian:buster
+ artifacts:
+ untracked: true
+ when: always
+ expire_in: 3 week
+
+spaces:
+ stage: test
+ tags:
+ - lightweight
+ script:
+ - ./.tools/jobs/install.sh "sed git-core"
+ - cd npc
+ - ../.tools/jobs/spaces.sh
+ image: debian:buster
+ allow_failure: true
+ artifacts:
+ untracked: true
+ when: always
+ expire_in: 3 week
+
+
diff --git a/.mailmap b/.mailmap
new file mode 100644
index 0000000..2a6171c
--- /dev/null
+++ b/.mailmap
@@ -0,0 +1,9 @@
+Jesusaves <jesusalva@tmw2.org> Jesusaves <cpntb1@ymail.com>
+Jesusaves <jesusalva@tmw2.org> jesusalva <cpntb1@ymail.com>
+Andrei Karas <akaras@inbox.ru> 4144 <andrei@karas>
+Crazyfefe <maf.vercin@gmail.com> Crazyfefe <admin@tmw2.org>
+Donald <donald.g.horn@gmail.com> Kolchak (Donald G. Horn) <>
+Saulc <lucashelaine14@gmail.com> Lucas <lucashelaine14@gmail.com>
+Shabti <d.7@live.nl> sis <d.7@live.nl>
+Gonzo <a@a.com> BuildTools <unconfigured@null.spigotmc.org>
+Christopher Chay <2@hisfootsteps.net> Christopher Chay <2vendor@hisfootsteps.net>
diff --git a/.tools/applicator.py b/.tools/applicator.py
new file mode 100644
index 0000000..6fa8d6e
--- /dev/null
+++ b/.tools/applicator.py
@@ -0,0 +1,44 @@
+import subprocess
+
+# Open reapply.patch3
+f=open("reapply.patch3", "r")
+subprocess.call("cd ../../server-code", shell=True)
+
+for line in f:
+ if line[0] == "#" or line[0] == "\r" or line[0] == "\n":
+ continue
+ print "Downloading patch "+line.replace("\n", "")
+ subprocess.call("cd ../../server-code ; wget https://gitlab.com/evol/hercules/commit/"+line.replace("\n", "")+".diff", shell=True)
+ print "Applying patch..."
+ #subprocess.call("cd ../../server-code ; ls", shell=True)
+ subprocess.call("cd ../../server-code ; git apply --ignore-whitespace --reject "+line.replace("\n", "")+".diff", shell=True)
+ print "Patch applied"
+ subprocess.call("cd ../../server-code ; rm "+line.replace("\n", "")+".diff", shell=True)
+ print "Patch deleted (success)"
+
+
+f.close()
+print "Evol porting finished"
+
+
+###############################################
+# Open reapply.patch4 (HerculesWS Upstream)
+f=open("reapply.patch4", "r")
+subprocess.call("cd ../../server-code", shell=True)
+
+for line in f:
+ if line[0] == "#" or line[0] == "\r" or line[0] == "\n":
+ continue
+ print "Downloading patch "+line.replace("\n", "")
+ subprocess.call("cd ../../server-code ; wget https://github.com/HerculesWS/Hercules/commit/"+line.replace("\n", "")+".diff", shell=True)
+ print "Applying patch..."
+ #subprocess.call("cd ../../server-code ; ls", shell=True)
+ subprocess.call("cd ../../server-code ; git apply --ignore-whitespace --exclude=doc/ --exclude=tools/ --exclude=db/ --exclude=npc/ --exclude=conf/ --reject "+line.replace("\n", "")+".diff", shell=True)
+ print "Patch applied"
+ subprocess.call("cd ../../server-code ; rm "+line.replace("\n", "")+".diff", shell=True)
+ print "Patch deleted (success)"
+
+
+f.close()
+print "HercWS porting finished"
+
diff --git a/.tools/beta.patch2 b/.tools/beta.patch2
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/.tools/beta.patch2
@@ -0,0 +1 @@
+
diff --git a/.tools/conf/mariadb/battle.conf b/.tools/conf/mariadb/battle.conf
new file mode 100644
index 0000000..4080eed
--- /dev/null
+++ b/.tools/conf/mariadb/battle.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//=========================================================================
+//= Battle local configuration file.
+//=========================================================================
+
+battle_configuration: {
+ // See conf/map/battle.conf for details
+}
diff --git a/.tools/conf/mariadb/char-server.conf b/.tools/conf/mariadb/char-server.conf
new file mode 100644
index 0000000..f6431c5
--- /dev/null
+++ b/.tools/conf/mariadb/char-server.conf
@@ -0,0 +1,31 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//=========================================================================
+//= Character Server local configuration file.
+//=========================================================================
+
+min_char_class: 0
+max_char_class: 6
diff --git a/.tools/conf/mariadb/constants.conf b/.tools/conf/mariadb/constants.conf
new file mode 100644
index 0000000..4562d0c
--- /dev/null
+++ b/.tools/conf/mariadb/constants.conf
@@ -0,0 +1,30 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//=========================================================================
+//= Battle local configuration file.
+//=========================================================================
+
+debug: 0
diff --git a/.tools/conf/mariadb/inter-server.conf b/.tools/conf/mariadb/inter-server.conf
new file mode 100644
index 0000000..243dda4
--- /dev/null
+++ b/.tools/conf/mariadb/inter-server.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//=========================================================================
+//= Hercules Inter Server local configuration file.
+//=========================================================================
+
+inter_configuration: {
+ // See conf/common/inter-server.conf
+}
diff --git a/.tools/conf/mariadb/login-server.conf b/.tools/conf/mariadb/login-server.conf
new file mode 100644
index 0000000..feadef9
--- /dev/null
+++ b/.tools/conf/mariadb/login-server.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//=========================================================================
+//= Login Server local configuration file.
+//=========================================================================
+
+login_configuration: {
+ // See conf/login/login-server.conf for details
+}
diff --git a/.tools/conf/mariadb/logs.conf b/.tools/conf/mariadb/logs.conf
new file mode 100644
index 0000000..99e666d
--- /dev/null
+++ b/.tools/conf/mariadb/logs.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//=========================================================================
+//= Hercules Log local configuration file.
+//=========================================================================
+
+map_log: {
+ // See conf/map/logs.conf for details
+}
diff --git a/.tools/conf/mariadb/map-server.conf b/.tools/conf/mariadb/map-server.conf
new file mode 100644
index 0000000..2c9b165
--- /dev/null
+++ b/.tools/conf/mariadb/map-server.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//=========================================================================
+//= Map Server local configuration file.
+//=========================================================================
+
+map_configuration: {
+ // See conf/map/map-server.conf for details
+}
diff --git a/.tools/conf/mariadb/msg_conf.txt b/.tools/conf/mariadb/msg_conf.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/.tools/conf/mariadb/msg_conf.txt
diff --git a/.tools/conf/mariadb/ports.conf b/.tools/conf/mariadb/ports.conf
new file mode 100644
index 0000000..7d5481e
--- /dev/null
+++ b/.tools/conf/mariadb/ports.conf
@@ -0,0 +1,8 @@
+// Login server port
+login_port: 6901
+
+// Character server port
+char_port: 6122
+
+// Map server port
+map_port: 5122
diff --git a/.tools/conf/mariadb/script.conf b/.tools/conf/mariadb/script.conf
new file mode 100644
index 0000000..b354b2b
--- /dev/null
+++ b/.tools/conf/mariadb/script.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//=========================================================================
+//= Hercules Script local configuration file.
+//=========================================================================
+
+script_configuration: {
+ // See conf/map/script.conf for details
+}
diff --git a/.tools/conf/mariadb/socket.conf b/.tools/conf/mariadb/socket.conf
new file mode 100644
index 0000000..04d0a40
--- /dev/null
+++ b/.tools/conf/mariadb/socket.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//=========================================================================
+//= Hercules Sockets local configuration file
+//=========================================================================
+
+socket_configuration: {
+ // See conf/common/socket.conf for details.
+}
diff --git a/.tools/conf/mariadb/sql_connection.conf b/.tools/conf/mariadb/sql_connection.conf
new file mode 100644
index 0000000..1e0e559
--- /dev/null
+++ b/.tools/conf/mariadb/sql_connection.conf
@@ -0,0 +1,52 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//=========================================================================
+//= SQL connection configuration file.
+//=========================================================================
+// This file affects how ALL server sql connections work, unless explictly
+// defined so in the server configuration file (See
+// doc/global_configuration.txt for more information).
+//=========================================================================
+
+sql_connection: {
+ // [INTER] You can specify the codepage to use in your mySQL tables here.
+ // (Note that this feature requires MySQL 4.1+)
+ //default_codepage: ""
+
+ // [LOGIN] Is `userid` in account_db case sensitive?
+ //case_sensitive: false
+
+ // For IPs, ideally under linux, you want to use localhost instead of 127.0.0.1.
+ // Under windows, you want to use 127.0.0.1. If you see a message like
+ // "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)"
+ // and you have localhost, switch it to 127.0.0.1
+ db_hostname: "mariadb"
+ db_port: 3306
+ db_username: "evol"
+ db_password: "evol"
+ db_database: "evol"
+ //codepage:""
+}
diff --git a/.tools/conf/mysql/battle.conf b/.tools/conf/mysql/battle.conf
new file mode 100644
index 0000000..4080eed
--- /dev/null
+++ b/.tools/conf/mysql/battle.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//=========================================================================
+//= Battle local configuration file.
+//=========================================================================
+
+battle_configuration: {
+ // See conf/map/battle.conf for details
+}
diff --git a/.tools/conf/mysql/char-server.conf b/.tools/conf/mysql/char-server.conf
new file mode 100644
index 0000000..f6431c5
--- /dev/null
+++ b/.tools/conf/mysql/char-server.conf
@@ -0,0 +1,31 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//=========================================================================
+//= Character Server local configuration file.
+//=========================================================================
+
+min_char_class: 0
+max_char_class: 6
diff --git a/.tools/conf/mysql/constants.conf b/.tools/conf/mysql/constants.conf
new file mode 100644
index 0000000..4562d0c
--- /dev/null
+++ b/.tools/conf/mysql/constants.conf
@@ -0,0 +1,30 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//=========================================================================
+//= Battle local configuration file.
+//=========================================================================
+
+debug: 0
diff --git a/.tools/conf/mysql/inter-server.conf b/.tools/conf/mysql/inter-server.conf
new file mode 100644
index 0000000..243dda4
--- /dev/null
+++ b/.tools/conf/mysql/inter-server.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//=========================================================================
+//= Hercules Inter Server local configuration file.
+//=========================================================================
+
+inter_configuration: {
+ // See conf/common/inter-server.conf
+}
diff --git a/.tools/conf/mysql/login-server.conf b/.tools/conf/mysql/login-server.conf
new file mode 100644
index 0000000..feadef9
--- /dev/null
+++ b/.tools/conf/mysql/login-server.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//=========================================================================
+//= Login Server local configuration file.
+//=========================================================================
+
+login_configuration: {
+ // See conf/login/login-server.conf for details
+}
diff --git a/.tools/conf/mysql/logs.conf b/.tools/conf/mysql/logs.conf
new file mode 100644
index 0000000..99e666d
--- /dev/null
+++ b/.tools/conf/mysql/logs.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//=========================================================================
+//= Hercules Log local configuration file.
+//=========================================================================
+
+map_log: {
+ // See conf/map/logs.conf for details
+}
diff --git a/.tools/conf/mysql/map-server.conf b/.tools/conf/mysql/map-server.conf
new file mode 100644
index 0000000..2c9b165
--- /dev/null
+++ b/.tools/conf/mysql/map-server.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//=========================================================================
+//= Map Server local configuration file.
+//=========================================================================
+
+map_configuration: {
+ // See conf/map/map-server.conf for details
+}
diff --git a/.tools/conf/mysql/msg_conf.txt b/.tools/conf/mysql/msg_conf.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/.tools/conf/mysql/msg_conf.txt
diff --git a/.tools/conf/mysql/ports.conf b/.tools/conf/mysql/ports.conf
new file mode 100644
index 0000000..7d5481e
--- /dev/null
+++ b/.tools/conf/mysql/ports.conf
@@ -0,0 +1,8 @@
+// Login server port
+login_port: 6901
+
+// Character server port
+char_port: 6122
+
+// Map server port
+map_port: 5122
diff --git a/.tools/conf/mysql/script.conf b/.tools/conf/mysql/script.conf
new file mode 100644
index 0000000..b354b2b
--- /dev/null
+++ b/.tools/conf/mysql/script.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//=========================================================================
+//= Hercules Script local configuration file.
+//=========================================================================
+
+script_configuration: {
+ // See conf/map/script.conf for details
+}
diff --git a/.tools/conf/mysql/socket.conf b/.tools/conf/mysql/socket.conf
new file mode 100644
index 0000000..04d0a40
--- /dev/null
+++ b/.tools/conf/mysql/socket.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//=========================================================================
+//= Hercules Sockets local configuration file
+//=========================================================================
+
+socket_configuration: {
+ // See conf/common/socket.conf for details.
+}
diff --git a/.tools/conf/mysql/sql_connection.conf b/.tools/conf/mysql/sql_connection.conf
new file mode 100644
index 0000000..b469dbf
--- /dev/null
+++ b/.tools/conf/mysql/sql_connection.conf
@@ -0,0 +1,52 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//=========================================================================
+//= SQL connection configuration file.
+//=========================================================================
+// This file affects how ALL server sql connections work, unless explictly
+// defined so in the server configuration file (See
+// doc/global_configuration.txt for more information).
+//=========================================================================
+
+sql_connection: {
+ // [INTER] You can specify the codepage to use in your mySQL tables here.
+ // (Note that this feature requires MySQL 4.1+)
+ //default_codepage: ""
+
+ // [LOGIN] Is `userid` in account_db case sensitive?
+ //case_sensitive: false
+
+ // For IPs, ideally under linux, you want to use localhost instead of 127.0.0.1.
+ // Under windows, you want to use 127.0.0.1. If you see a message like
+ // "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)"
+ // and you have localhost, switch it to 127.0.0.1
+ db_hostname: "mysql"
+ db_port: 3306
+ db_username: "evol"
+ db_password: "evol"
+ db_database: "evol"
+ //codepage:""
+}
diff --git a/.tools/jobs/build.sh b/.tools/jobs/build.sh
new file mode 100755
index 0000000..8b57f71
--- /dev/null
+++ b/.tools/jobs/build.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+export LOGFILE=gcc6.log
+
+source ./.tools/scripts/init.sh
+
+pwd
+cd ..
+
+build_init
+
+cd server-code
+check_error $?
+
+make_server "$1" "$2"
diff --git a/.tools/jobs/cloneall.sh b/.tools/jobs/cloneall.sh
new file mode 100755
index 0000000..79bb8d0
--- /dev/null
+++ b/.tools/jobs/cloneall.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+source ./.tools/scripts/init.sh
+
+do_init
diff --git a/.tools/jobs/clonedata.sh b/.tools/jobs/clonedata.sh
new file mode 100755
index 0000000..95fa77a
--- /dev/null
+++ b/.tools/jobs/clonedata.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+source ./.tools/scripts/init.sh
+
+do_init_data
diff --git a/.tools/jobs/initdb.sh b/.tools/jobs/initdb.sh
new file mode 100755
index 0000000..d6c2480
--- /dev/null
+++ b/.tools/jobs/initdb.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+source ./.tools/scripts/init.sh
+
+cd ../server-data
+
+export host=$1
+cd sql-files
+
+export CMD="mysql --force -u root -proot --host=${host}"
+check_error $?
+echo $CMD <./initremote.sql
+$CMD <./initremote.sql
+check_error $?
+
+export CMD="mysql -u evol -pevol --host=${host} evol"
+echo Creating tables...
+echo $CMD <main.sql
+$CMD <main.sql
+check_error $?
+echo $CMD <logs.sql
+$CMD <logs.sql
+check_error $?
diff --git a/.tools/jobs/install.sh b/.tools/jobs/install.sh
new file mode 100755
index 0000000..dd762e1
--- /dev/null
+++ b/.tools/jobs/install.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+source ./.tools/scripts/init.sh
+
+update_repos
+aptget_update
+
+aptget_install $*
+
+do_init_data
diff --git a/.tools/jobs/licensecheck.sh b/.tools/jobs/licensecheck.sh
new file mode 100755
index 0000000..d57efc3
--- /dev/null
+++ b/.tools/jobs/licensecheck.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+source ./.tools/scripts/init.sh
+
+aptget_update
+aptget_install git-core gcc ca-certificates grep python
+
+do_init_data
+
+ls
+
+do_init_tools
+
+cd tools/licensecheck
+#ls
+
+cp -r ../../TMW2/serverdata/npc npc
+
+#echo "ls .."
+#ls ..
+#echo "ls ../.."
+#ls ../..
+#echo "ls ../../TMW2"
+#ls ../../TMW2
+#echo "ls ../../TMW2/serverdata"
+#ls ../../TMW2/serverdata
+#echo "ls ../../TMW2/serverdata/npc"
+#ls ../../TMW2/serverdata/npc
+
+./serverdata.py npc/ # >license.log
+
+#export RES=$(cat license.log)
+#if [[ -n "${RES}" ]]; then
+# echo "Detected missing licenses."
+# cat license.log
+# echo "Estimated total missing licenses:"
+# wc -l license.log
+# exit 1
+#fi
+echo "Exiting with status zero because licensecheck errors are not considered critical"
+exit 0
diff --git a/.tools/jobs/newlines.sh b/.tools/jobs/newlines.sh
new file mode 100755
index 0000000..23309f7
--- /dev/null
+++ b/.tools/jobs/newlines.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+find -H . -type f -name "*.txt" -o -name "*.conf" -exec dos2unix {} \;
+
+export RES=$(git diff --name-only)
+if [[ -n "${RES}" ]]; then
+ echo "Wrong new lines detected in files:"
+ git diff --name-only
+ exit 1
+fi
diff --git a/.tools/jobs/runserver.sh b/.tools/jobs/runserver.sh
new file mode 100755
index 0000000..6bff48a
--- /dev/null
+++ b/.tools/jobs/runserver.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+source ./.tools/scripts/init.sh
+
+function run_server {
+ echo "running: $1 --run-once $2"
+ $1 --run-once $2 2>runlog.txt
+ export errcode=$?
+ export teststr=$(cat runlog.txt)
+ if [[ -n "${teststr}" ]]; then
+ echo "Errors found in running server $1."
+ cat runlog.txt
+ echo "Errors found in running server $1."
+ exit 1
+ else
+ echo "No errors found for server $1."
+ fi
+ if [ ${errcode} -ne 0 ]; then
+ echo "server $1 terminated with exit code ${errcode}"
+ echo "Test failed"
+ exit 1
+ fi
+}
+
+do_init_tools
+init_configs $1
+
+cd server-data
+pwd
+ls -la
+
+run_server ./login-server
+run_server ./char-server
+
+ARGS="--load-script npc/dev/test.txt "
+ARGS="--load-plugin script_mapquit $ARGS --load-script npc/dev/ci_test.txt"
+
+run_server ./map-server "$ARGS"
diff --git a/.tools/jobs/runservervalgrind.sh b/.tools/jobs/runservervalgrind.sh
new file mode 100755
index 0000000..6442b09
--- /dev/null
+++ b/.tools/jobs/runservervalgrind.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+source ./.tools/scripts/init.sh
+
+function run_server {
+ echo "running: $1 --run-once $2"
+ valgrind -q --read-var-info=yes --track-origins=yes --malloc-fill=11 --free-fill=55 --show-reachable=yes --leak-check=full --leak-resolution=high --partial-loads-ok=yes --error-limit=no $1 --run-once $2 2>runlog.txt
+ export errcode=$?
+ export teststr=$(grep "invalid" runlog.txt)
+ cat runlog.txt
+ if [[ -n "${teststr}" ]]; then
+ echo "Errors found in running server $1."
+ exit 1
+ else
+ echo "No errors found for server $1."
+ fi
+ if [ ${errcode} -ne 0 ]; then
+ echo "server $1 terminated with exit code ${errcode}"
+ echo "Test failed"
+ exit 1
+ fi
+}
+
+do_init_tools
+init_configs $1
+
+cd server-data
+pwd
+ls -la
+
+run_server ./login-server
+run_server ./char-server
+
+ARGS="--load-script npc/dev/test.txt "
+ARGS="--load-plugin script_mapquit $ARGS --load-script npc/dev/ci_test.txt"
+
+run_server ./map-server "$ARGS"
diff --git a/.tools/jobs/spaces.sh b/.tools/jobs/spaces.sh
new file mode 100755
index 0000000..4460cfb
--- /dev/null
+++ b/.tools/jobs/spaces.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+find -H . -type f -name "*.txt" -exec sed -i 's/[[:blank:]]*$//' {} \;
+
+export RES=$(git diff --name-only)
+if [[ -n "${RES}" ]]; then
+ echo "Extra spaces before new lines detected in files:"
+ git diff --name-only
+ # I don't want this to be critical on TMW2
+ exit 1
+fi
diff --git a/.tools/npc/motd-debug-text.txt b/.tools/npc/motd-debug-text.txt
new file mode 100644
index 0000000..a57c9a2
--- /dev/null
+++ b/.tools/npc/motd-debug-text.txt
@@ -0,0 +1,4 @@
+function script MOTD_debug_text {
+ setarray $@Debug_Messages$[0], "";
+ return;
+}
diff --git a/.tools/reapply.patch3 b/.tools/reapply.patch3
new file mode 100644
index 0000000..35dfb79
--- /dev/null
+++ b/.tools/reapply.patch3
@@ -0,0 +1,6 @@
+############
+## First postponed update
+
+## <Commit Message>
+# <Full Commit ID>
+
diff --git a/.tools/reapply.patch4 b/.tools/reapply.patch4
new file mode 100644
index 0000000..bc0f612
--- /dev/null
+++ b/.tools/reapply.patch4
@@ -0,0 +1,47 @@
+############
+# HOWTO:
+# git log v2019.08.25.. --pretty=short
+
+# TODO: Instructions on how to update our hercules repo
+# git diff v2019.09.22 v2019.10.20 > ../tmw2/server-code/x.diff
+# git apply --ignore-whitespace --exclude=doc/ --exclude=tools/ --exclude=db/ --exclude=npc/ --exclude=conf/ --reject x.diff ; git checkout -- .gitlab-ci.yml
+
+############
+## v2019.10.20
+
+############
+## v2019.11.17+1
+
+############
+## v2019.12.15
+
+############
+## v2020.01.12
+
+############
+## v2020.02.09
+
+############
+## v2020.03.08+2
+
+############
+## v2020.04.05+1
+
+############
+## v2020.05.03
+
+############
+## v2020.05.31+1
+
+############
+## v2020.06.28
+
+## Changed logic of skill_get_index
+#1042e9919f18d4aac21583a675d28758ba233e03
+
+## Added ifdef on mmo.h to allow change it with CPPFLAGS
+#8a4667a265227587dcc288f75dfe948f5df46034
+
+############
+## v2020.07.26
+
diff --git a/.tools/scripts/init.sh b/.tools/scripts/init.sh
new file mode 100755
index 0000000..3b800bb
--- /dev/null
+++ b/.tools/scripts/init.sh
@@ -0,0 +1,243 @@
+#!/bin/bash
+
+mkdir logs
+
+export dir=$(pwd)
+export ERRFILE=${dir}/logs/${LOGFILE}
+
+cat /etc/os-release
+
+rm ${ERRFILE}
+
+function check_error {
+ if [ "$1" != 0 ]; then
+ echo "Error $1"
+ exit $1
+ fi
+}
+
+function update_repos {
+ if [ "$CI_SERVER" == "" ];
+ then
+ return
+ fi
+
+ export DATA=$(cat /etc/resolv.conf|grep "nameserver 1.10.100.101")
+ if [ "$DATA" != "" ];
+ then
+ echo "Detected local runner"
+ sed -i 's!http://httpredir.debian.org/debian!http://1.10.100.103/debian!' /etc/apt/sources.list
+ else
+ echo "Detected non local runner"
+ fi
+}
+
+function gitclone1 {
+ echo git clone $2 $3
+ git clone $2 $3
+ if [ "$?" != 0 ]; then
+ echo git clone $1 $3
+ git clone $1 $3
+ return $?
+ fi
+ return $?
+}
+
+function gitclone {
+ export name1=$1/$2
+ export name2=${CI_BUILD_REPO##*@}
+ export name2=https://${name2%/*}/$2
+
+ gitclone1 "$name1" "$name2" $3
+ if [ "$?" != 0 ]; then
+ sleep 1s
+ gitclone1 "$name1" "$name2" $3
+ if [ "$?" != 0 ]; then
+ sleep 3s
+ gitclone1 "$name1" "$name2" $3
+ if [ "$?" != 0 ]; then
+ sleep 5s
+ gitclone1 "$name1" "$name2" $3
+ fi
+ fi
+ fi
+ check_error $?
+}
+
+function update_repos {
+ if [ "$CI_SERVER" == "" ];
+ then
+ return
+ fi
+
+ export DATA=$(cat /etc/resolv.conf|grep "nameserver 1.10.100.101")
+ if [ "$DATA" != "" ];
+ then
+ echo "Detected local runner"
+ sed -i 's!http://httpredir.debian.org/debian!http://1.10.100.103/debian!' /etc/apt/sources.list
+ else
+ echo "Detected non local runner"
+ fi
+}
+
+function aptget_update {
+ update_repos
+ apt-get update
+ if [ "$?" != 0 ]; then
+ sleep 1s
+ apt-get update
+ if [ "$?" != 0 ]; then
+ sleep 1s
+ apt-get update
+ fi
+ fi
+ check_error $?
+}
+
+function aptget_install {
+ apt-get -y -qq install $*
+ if [ "$?" != 0 ]; then
+ sleep 1s
+ apt-get -y -qq install $*
+ if [ "$?" != 0 ]; then
+ sleep 2s
+ apt-get -y -qq install $*
+ fi
+ fi
+ check_error $?
+}
+
+function make_server {
+ ls -la ../server-data
+ ls -la ../server-data/plugins
+ if [ -e "../server-data/.tools/beta.patch2" ]
+ then
+ echo "Download and install Python 2.7 Minimal ........"
+ aptget_install python2.7-minimal wget
+ echo "Download and apply reapply patch ........"
+ cd ../server-data/.tools; python2.7 applicator.py
+ echo "Apply beta.patch2 ........"
+ cd ../../server-code ; git apply ../server-data/.tools/beta.patch2
+ echo "........ Done."
+ fi
+ echo source src/evol/tools/vars.sh
+ source ./src/evol/tools/vars.sh
+ check_error $?
+ export CPPFLAGS="$CPPFLAGS -DI_AM_AWARE_OF_THE_RISK_AND_STILL_WANT_TO_RUN_HERCULES_AS_ROOT -UPYTHON_LOGS"
+ echo "autoreconf -i"
+ autoreconf -i
+ check_error $?
+ echo ./configure $1 CPPFLAGS=\"${CPPFLAGS}${HERCCPPFLAGS}\"
+ ./configure $1 CPPFLAGS="$CPPFLAGS$HERCCPPFLAGS"
+ export err="$?"
+ if [ "$err" != 0 ]; then
+ echo "Error $err"
+ echo cat config.log
+ cat config.log
+ exit $err
+ fi
+ echo "make -j2"
+ make -j2
+ check_error $?
+ echo "make -j2 plugin.script_mapquit"
+ make -j2 plugin.script_mapquit
+ check_error $?
+ make install
+ check_error $?
+
+ cd src/evol
+ echo "autoreconf -i"
+ mkdir m4
+ autoreconf -i
+ check_error $?
+ mkdir build
+ cd build
+ echo ../configure $2 CPPFLAGS=\"${VARS} -UPYTHON_LOGS\"
+ ../configure $2 CPPFLAGS="${VARS} -UPYTHON_LOGS"
+ check_error $?
+ echo "make -j2 V=0"
+ make -j2 V=0
+ check_error $?
+ cd ../../../..
+ ls -la server-data/plugins
+}
+
+function do_init_data {
+ mkdir shared
+ rm -rf ../server-data
+ cp -r . ../server-data
+ cd ..
+ ls -la server-data
+ check_error $?
+}
+
+function do_init_tools {
+ cd ..
+ rm -rf tools
+ gitclone https://git.themanaworld.org/ml tools.git tools
+}
+
+function do_init {
+ do_init_data
+ rm -rf server-code
+ gitclone https://git.themanaworld.org/ml hercules.git server-code
+ check_error $?
+ cd server-code/src ; git checkout tmw2
+ check_error $?
+ #: ' #Use this to force an old version. You need s20190422 for this.
+ echo "Rolling server back to correct version"
+ cd ..
+ # 10.0 and prior: Server s20190513
+ #git diff master 41b5d5e9b6f14fd26197958aec29a02858dff299 > x.diff
+ # Current version: Server s20190819
+ #git diff master ce2dbb6acdc559ec256d1f9f9a779b8283064708 > x.diff
+ #ls
+ #head -n 25 x.diff
+ #tail -n 40 x.diff
+ #git apply --reject --whitespace=nowarn x.diff
+ #echo "====================================== CHANGES APPLIED"
+ git status
+ ls --recursive|grep ".rej"
+ echo "====================================== Continuing..."
+ cd src
+ check_error $?
+ #'
+ gitclone https://git.themanaworld.org/ml evol-hercules.git evol ; cd evol ; git checkout tmw2 ; cd ..
+ check_error $?
+ cd ../..
+ check_error $?
+ mkdir -p server-data/plugins
+}
+
+function build_init {
+ if [ "$CI_SERVER" == "" ];
+ then
+ return
+ fi
+ mkdir -p /local/bin
+ echo "#!/bin/bash" > /local/bin/id
+ echo "echo 1000" >> /local/bin/id
+ export PATH="/local/bin:$PATH"
+ chmod +x /local/bin/id
+ echo "fake id check"
+ id
+
+ cd server-code/src/evol
+ source tools/vars.sh
+ check_error $?
+ cd ../../..
+ check_error $?
+ echo $CC --version
+ $CC --version
+ check_error $?
+}
+
+function init_configs {
+ cd tools/localserver
+ ./installconfigs.sh
+ cd ../..
+ cp server-data/.tools/conf/$1/* server-data/conf/import/
+ cp server-data/.tools/npc/motd-* server-data/npc/commands/
+ ls -la server-data/conf/import
+ cat server-data/conf/import/inter_conf.txt
+}
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..94a9ed0
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ 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/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..8a8b883
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,42 @@
+.PHONY: new asan server-update server-updatebuild maps build buildasan config updateconfig initdb updatedb givegm updates
+
+new: build config initdb
+
+asan: buildasan config initdb
+
+server-update: updateconfig updatedb
+
+server-updatebuild: build updateconfig updatedb
+
+maps:
+ cd ../tools/hercules/ ; ./tmx_converter.py ../../client-data/ ../../server-data ; ./convert_tmx_to_mapcache.py
+
+build:
+ cd ../tools/localserver/ ; ./build.sh
+
+buildasan:
+ cd ../tools/localserver/ ; ./buildasan.sh
+
+config:
+ cd ../tools/localserver/ ; ./installconfigs.sh
+
+updateconfig:
+ cd ../tools/localserver/ ; ./updateconfigs.sh
+
+initdb:
+ cd ../tools/localserver/ ; ./initdb.sh
+
+updatedb:
+ cd ../tools/localserver/ ; ./updatedb.sh
+
+givegm:
+ cd ../tools/localserver/ ; ./givegm.sh ${ID}
+
+updates:
+ cd ../tools/update/ ; ./createnew.sh ; ./create_music.sh
+
+license:
+ cd ../tools/licensecheck/ ; ./serverdata.py
+
+wiki:
+ @cd ../tools ; make wiki
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..3fef6a5
--- /dev/null
+++ b/README.md
@@ -0,0 +1,30 @@
+# Server Data Repository
+
+Please ensure you are following [Development Instructions](https://tmw2.org/development.php).
+If you could not find some package, you can try apt-cache to find it's real name.
+
+Most common required invokation is:
+
+```
+apt-cache search libpcre3
+apt-cache search mariadb
+```
+
+Install the appropriate packages, including the "-dev" version if available, and
+use the following command to build everything:
+
+```
+make asan
+```
+
+If you do not have memory to spare, you can use `make new`, and it'll make a light
+build. However, shall any problem happen with Evol engine, you will most likely
+be on the dark.
+
+It will output an "OK" at the end, if everything ran fine. For support head to [#tmw2-dev](http://web.libera.chat/?channels=#tmw2-dev)
+Libera Chat IRC channel.
+
+----
+
+**Default administrative user:** `admin`
+**Default administrative pass:** `admin`
diff --git a/conf/atcommand.conf b/conf/atcommand.conf
new file mode 100644
index 0000000..2aa5185
--- /dev/null
+++ b/conf/atcommand.conf
@@ -0,0 +1,107 @@
+/* Atcommands and charcommands configuration file */
+
+/* The symbol that will be used to recognize commands.
+You can set any one character except:
+ - control-characters (0x00-0x1f),
+ - '%' (party chat symbol)
+ - '$' (guild chat symbol)
+ - '/' (client commands symbol)
+atcommand_symbol represents @commands used locally.
+charcommand_symbol represents #commands used on other players.
+*/
+
+atcommand_symbol : "@"
+charcommand_symbol: "$"
+
+/* Command aliases
+You can define aliases for any command. Aliases work just like the original command.
+Format is
+ <commandname>: ["<alias>", ...]
+*/
+
+aliases: {
+ mobinfo: ["mi"]
+ iteminfo: ["ii"]
+ itemlist: ["inventorylist", "invlist", "listinventory", "charinventorylist"]
+ time: ["date", "serverdate", "servertime"]
+ tonpc: ["npc"]
+ autotrade: ["at"]
+ help: ["h"]
+ jumpto: ["goto", "warpto"]
+ mount: ["mountpeco"]
+ who: ["whois"]
+ npctalk: ["npctalkc"]
+ gvgon: ["gpvpon"]
+ gvgoff: ["gpvpoff"]
+ jobchange: ["job"]
+ load: ["return"]
+ warp: ["rura", "mapmove"]
+ dye: ["ccolor"]
+ hairstyle: ["hstyle"]
+ haircolor: ["hcolor"]
+ monster: ["spawn"]
+ blvl: ["lvup", "blevel", "baselvl", "baselvup", "baselevel", "baselvlup"]
+ jlvl: ["jlevel", "joblvl", "joblvup", "joblevel", "joblvlup"]
+ glvl: ["glevel", "guildlvl", "guildlvup", "guildlevel", "guildlvlup"]
+ allskill: ["allskills", "skillall", "skillsall"]
+ allstats: ["allstat", "statall", "statsall"]
+ ban: ["banish"]
+ unban: ["unbanish"]
+ unjail: ["discharge"]
+ homlevel: ["hlvl", "hlevel", "homlvl", "homlvup"]
+ homevolution: ["homevolve"]
+ mutearea: ["stfu"]
+ monsterignore: ["battleignore"]
+ raise: ["revive"]
+ kill: ["die"]
+ guildstorage: ["gstorage"]
+ accinfo: ["accountinfo"]
+ itemreset: ["clearinventory"]
+ channel: ["main"]
+ autoloottype: ["aloottype"]
+ camerainfo: ["setcamera", "viewpointvalue"]
+ effect: ["specialeffect"]
+ tee: ["t"]
+ log: ["l"]
+ request: ["wgm"]
+ adjgroup: ["adjgmlvl"]
+ hidenpc: ["disablenpc"]
+ shownpc: ["enablenpc"]
+}
+
+/* List of commands that should not be logged at all */
+/* Add as many commands as you like */
+nolog: {
+ duel: 1
+ leave: 1
+ accept: 1
+ reject: 1
+ iteminfo: 1
+ mobinfo: 1
+ hominfo: 1
+ time: 1
+ whereis: 1
+ whodrops: 1
+ rates: 1
+ uptime: 1
+ refresh: 1
+ effect: 1
+ misceffect: 1
+ mapinfo: 1
+ mobsearch: 1
+ who: 1
+ who2: 1
+ who3: 1
+ users: 1
+ where: 1
+ homtalk: 1
+ pettalk: 1
+ hugo: 1
+ linus: 1
+ accinfo: 1
+}
+
+/* Commands help file */
+help: {
+ @include "conf/map/help.txt"
+}
diff --git a/conf/battlegrounds.conf b/conf/battlegrounds.conf
new file mode 100644
index 0000000..2b4184e
--- /dev/null
+++ b/conf/battlegrounds.conf
@@ -0,0 +1,124 @@
+//====================================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//=
+//= http://herc.ws/board/
+//====================================================
+//= http://herc.ws/board/topic/928-memory-slasher-may-30-patch/
+//====================================================
+//= Fields (TODO/INCOMPLETE)
+//= arenas: ({
+//= //- allowedTypes defines what kind of applications the arena will accept, setting is not case-sensitive and is ok with whitespaces
+//= allowedTypes: "Solo | Party" //Arena Accepts solo and party-type joins
+//= allowedTypes: "guild|party" //Arena Accepts solo and guild-type joins
+//= allowedTypes: "All" //Arena Accepts solo, party and guild-type joins
+//= //- fillAnnounce (optional arena param)
+//= })
+battlegrounds: (
+{
+ /* feature is not complete */
+ feature_off: true
+ /* character variable for global bg delay */
+ global_delay_var: "BG_Delay_Tick"
+ /* how many seconds to consider a player "afk" and kick him out? */
+ maximum_afk_seconds: 30
+
+ /* one can add as many as he wishes */
+ /* for custom ones, need to edit "lua files/entryqueue/entryqueuelist.lua" [Ind/Hercules] */
+ arenas: ({
+ name: "Tierra Gorge" //must match the name in client files
+ event: "Tierra_BG2::OnPlayerListReady"
+ allowedTypes: "All" /* Solo, Party and Guild */
+ minLevel: 80
+ maxLevel: 150
+ reward: {/* amount of badges awarded on each case */
+ win: 3
+ loss: 1
+ draw: 1
+ }
+ minPlayers: 6 /* minimum amount of players to start */
+ maxPlayers: 60 /* maximum amount of players */
+ minTeamPlayers: 6 /* minimum amount of team members required for a team (party or guild) to join */
+ delay_var: "Tierra_BG_Tick" /* char variable name that will store the delay for this match */
+ maxDuration: 30 /* maximum duration in minutes, if reached game ends and highest score wins (or calls a draw if scores are equal) */
+ fillDuration: 20 /* time in seconds to wait for more applications when minimum has been reached */
+ pGameDuration: 20 /* time to wait for players to confirm their attendence after queueing process has finished */
+ },{
+ name: "Flavius" //must match the name in client files
+ event: "start#bat_b01::OnPlayerListReady"
+ allowedTypes: "All" /* Solo, Party and Guild */
+ minLevel: 80
+ maxLevel: 150
+ reward: {/* amount of badges awarded on each case */
+ win: 9
+ loss: 3
+ draw: 3
+ }
+ minPlayers: 2 /* minimum amount of players to start (DEBUG VALUE, CHANGE BACK) */
+ maxPlayers: 60 /* maximum amount of players */
+ minTeamPlayers: 6 /* minimum amount of team members required for a team (party or guild) to join */
+ delay_var: "Flavius_BG_Tick" /* char variable name that will store the delay for this match */
+ maxDuration: 30 /* maximum duration in minutes, if reached game ends and highest score wins (or calls a draw if scores are equal) */
+ fillDuration: 20 /* time in seconds to wait for more applications when minimum has been reached */
+ pGameDuration: 20 /* time to wait for players to confirm their attendence after queueing process has finished */
+ },{
+ name: "KVM (Level 80 and up)" //must match the name in client files
+ event: "KvM03_BG::OnPlayerListReady"
+ allowedTypes: "All" /* Solo, Party and Guild */
+ minLevel: 80
+ maxLevel: 150
+ reward: {/* amount of badges awarded on each case */
+ win: 5
+ loss: 1
+ draw: 1
+ }
+ minPlayers: 4 /* minimum amount of players to start */
+ maxPlayers: 60 /* maximum amount of players */
+ minTeamPlayers: 5 /* minimum amount of team members required for a team (party or guild) to join */
+ delay_var: "KVM_BG_Tick" /* char variable name that will store the delay for this match */
+ maxDuration: 30 /* maximum duration in minutes, if reached game ends and highest score wins (or calls a draw if scores are equal) */
+ fillDuration: 20 /* time in seconds to wait for more applications when minimum has been reached */
+ pGameDuration: 20 /* time to wait for players to confirm their attendence after queueing process has finished */
+ },{
+ name: "KVM (Level 60~79)" //must match the name in client files
+ event: "KvM03_BG::OnPlayerListReady"
+ allowedTypes: "All" /* Solo, Party and Guild */
+ minLevel: 60
+ maxLevel: 79
+ reward: {/* amount of badges awarded on each case */
+ win: 2
+ loss: 0
+ draw: 1
+ }
+ minPlayers: 4 /* minimum amount of players to start */
+ maxPlayers: 60 /* maximum amount of players */
+ minTeamPlayers: 5 /* minimum amount of team members required for a team (party or guild) to join */
+ delay_var: "KVM_BG_Tick" /* char variable name that will store the delay for this match */
+ maxDuration: 30 /* maximum duration in minutes, if reached game ends and highest score wins (or calls a draw if scores are equal) */
+ fillDuration: 20 /* time in seconds to wait for more applications when minimum has been reached */
+ pGameDuration: 20 /* time to wait for players to confirm their attendence after queueing process has finished */
+ },{
+ name: "KVM (Level 59 and below)" //must match the name in client files
+ event: "KvM03_BG::OnPlayerListReady"
+ allowedTypes: "All" /* Solo, Party and Guild */
+ minLevel: 1
+ maxLevel: 59
+ reward: {/* amount of badges awarded on each case */
+ win: 1
+ loss: 0
+ draw: 0
+ }
+ minPlayers: 4 /* minimum amount of players to start */
+ maxPlayers: 60 /* maximum amount of players */
+ minTeamPlayers: 5 /* minimum amount of team members required for a team (party or guild) to join */
+ delay_var: "KVM_BG_Tick" /* char variable name that will store the delay for this match */
+ maxDuration: 30 /* maximum duration in minutes, if reached game ends and highest score wins (or calls a draw if scores are equal) */
+ fillDuration: 20 /* time in seconds to wait for more applications when minimum has been reached */
+ pGameDuration: 20 /* time to wait for players to confirm their attendence after queueing process has finished */
+ }
+ )
+})
diff --git a/conf/channels.conf.base b/conf/channels.conf.base
new file mode 100644
index 0000000..dee7575
--- /dev/null
+++ b/conf/channels.conf.base
@@ -0,0 +1,76 @@
+//====================================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//=
+//= http://herc.ws/board/
+//====================================================
+//================= More Information =================
+// http://herc.ws/board/topic/316-introducing-hercules-channel-system/
+//====================================================
+chsys: (
+{
+ /* Default Channels (available on boot) */
+ default_channels: {
+ /* channel_name : channel_messages_color */
+ main: "Orange" /* Available as #main */
+ support: "Blue" /* Available as #support */
+ trade: "Red" /* Available as #trade */
+ gm: "Red"
+ lang: "Green"
+ offtopic: "Cyan" /* Available as #offtopic */
+ /* You may add as many channels as you like */
+ }
+ /* Colors Available */
+ colors: {
+ Default: "0xffffff" /* Custom channels use the first color listed unless a font is selected through @channel. */
+ Red: "0xff0000"
+ Blue: "0x83cfe9"
+ Orange: "0xe57c00"
+ Cyan: "0x00b89d"
+ Yellow: "0xffff90"
+ Green: "0x28bf00"
+ Light_Green: "0x3dff98"
+ Normal: "0x00ff00"
+ /* As many colors as you like */
+ }
+ /* Allow users to create their own (private) channels through @channels command? */
+ /* (must also allow players to use @channels in groups.conf) */
+ allow_user_channel_creation: true
+
+ /* "map_local_channel" is a instanced channel unique to each map. */
+ map_local_channel: true
+ map_local_channel_name: "map" /* Available as #map */
+ map_local_channel_color: "Yellow"
+ map_local_channel_autojoin: true /* You can disable autojoin in specific maps through a mapflag or zone. */
+
+ /* "ally_channel" is a channel shared by all your guild allies */
+ ally_channel_enabled: true
+ ally_channel_name: "ally" /* Available as #ally */
+ ally_channel_color: "Green"
+ ally_channel_autojoin: true /* Will members autojoin to their respective #ally chats when they log-in? */
+
+ /* "irc_channel" is a special channel connected to a specific chat room in any irc network. */
+ irc_channel_enabled: false
+ irc_channel_name: "irc" /* available as #irc */
+ irc_channel_color: "Light_Green"
+ irc_channel_network: "irc.freenode.net:6667" /* network to connect to (:and port) */
+ irc_channel_channel: "#evolonline" /* channel in the network above to join */
+ irc_channel_nick: "testbot" /* nick the bot will use */
+ irc_channel_nick_pw: "" /* password to this nick (if any) to identify to nick server on the irc network */
+ irc_channel_use_ghost: false /* whether to send a GHOST command to the nick server (requires irc_channel_nick_pw to be defined) */
+ irc_channel_autojoin: true
+ irc_flood_protection_enabled: true /* Whether to enable anti-flood protection for outgoing messages */
+ irc_flood_protection_rate: 1000 /* The delay between messages during anti-flood protection (milliseconds) */
+ irc_flood_protection_burst: 3 /* The maximum number of messages that are sent at once burst size before triggering the anti-flood protection */
+
+ // @channel setopt MessageDelay <delay>
+ // Sets the maximum amount of message delay (in seconds) allowed for a channel.
+ // Default: 10
+ // Max: 255
+ channel_opt_msg_delay: 10
+}
+)
diff --git a/conf/char/char-server.conf b/conf/char/char-server.conf
new file mode 100644
index 0000000..a812c92
--- /dev/null
+++ b/conf/char/char-server.conf
@@ -0,0 +1,256 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+//= Character Server configuration file.
+//=========================================================================
+
+char_configuration: {
+ @include "conf/global/console.conf"
+ @include "conf/import/sql_connection.conf"
+
+ // Server name, use alternative character such as ASCII 160 for spaces.
+ // NOTE: Do not use spaces or any of these characters which are not allowed in
+ // Windows filenames \/:*?"<>|
+ // ... or else guild emblems won't work client-side!
+ server_name: "Moubootaur Legends"
+
+ // Wisp name for server: used to send wisp from server to players (between 4 to 23 characters)
+ wisp_server_name: "Server"
+
+ // Guild earned exp modifier.
+ // Adjusts taxed exp before adding it to the guild's exp. For example,
+ // if set to 200, the guild receives double the player's taxed exp.
+ guild_exp_rate: 110
+
+ // Information related to inter-server behavior
+ inter: {
+ // Server Communication username and password.
+ userid: "s1"
+ passwd: "p1"
+
+ // Login Server IP
+ // The character server connects to the login server using this IP address.
+ // NOTE: This is useful when you are running behind a firewall or are on
+ // a machine with multiple interfaces.
+ //login_ip: "127.0.0.1"
+
+ // The character server listens on the interface with this IP address.
+ // NOTE: This allows you to run multiple servers on multiple interfaces
+ // while using the same ports for each server.
+ //bind_ip: "127.0.0.1"
+
+ // Character Server IP
+ // The IP address which clients will use to connect.
+ // Set this to what your server's public IP address is.
+ //char_ip: "127.0.0.1"
+
+ @include "conf/import/ports.conf"
+ }
+
+ // Connection permission
+ permission: {
+ // Enable or disable creation of new characters.
+ enable_char_creation: true
+
+ // Display (New) in the server list.
+ display_new: false
+
+ // Maximum users able to connect to the server.
+ // Set to 0 to disable users to log-in. (-1 means unlimited)
+ max_connect_user: -1
+
+ // Group ID that is allowed to bypass the server limit of users.
+ // Default: -1 = nobody (there are no groups with ID < 0)
+ // See: conf/groups.conf
+ gm_allow_group: -1
+
+ // Type of server.
+ // No functional side effects at the moment.
+ // Displayed next to the server name in the client.
+ // 0=normal, 1=maintenance, 2=over 18, 3=paying, 4=F2P
+ server_type: 0
+
+ // Minimum Group ID to join char server when it is on char_server_type 1 (maintenance)
+ maintenance_min_group_id: 99
+ }
+
+ // Player-related configuration
+ player: {
+ new: {
+ // Start point (Renewal)
+ start_point_re: {
+ map: "000-0"
+ x: 22
+ y: 24
+ }
+
+ // Starting items for new characters
+ //{
+ // id: Item id
+ // amount: Item amount
+ // loc: Item position, same as in item_db if you want the item to be equipped, otherwise 0 (optional)
+ // stackable: Is stackable? (not stackable item types: weapon, armor, egg, pet armor)
+ //},
+ start_items: (
+// {
+// id: 1201 // Knife
+// amount: 1
+// loc: 2
+// stackable: false
+// },
+// {
+// id: 2301 // Cotton_Shirt
+// amount: 1
+// loc: 16
+// stackable: false
+// },
+ )
+
+ // Starting zeny
+ zeny: 0
+ }
+
+ // Character name configuration
+ name: {
+ // Name used for unknown characters
+ unknown_char_name: "Unknown"
+
+ // Allow or not identical name for characters but with a different case (upper/lower):
+ // example: Test-test-TEST-TesT; Value: 0 not allowed (default), 1 allowed
+ name_ignoring_case: false
+
+ // Manage possible letters/symbol in the name of charater. Control character (0x00-0x1f) are never accepted. Possible values are:
+ // NOTE: Applies to character, party and guild names.
+ // 0: no restriction (default)
+ // 1: only letters/symbols in 'name_letters' option.
+ // 2: Letters/symbols in 'name_letters' option are forbidden. All others are possibles.
+ name_option: 1
+
+ // Set the letters/symbols that you want use with the 'char_name_option' option.
+ // Note: Don't add spaces unless you mean to add 'space' to the list.
+ name_letters: "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_"
+
+ // Block renaming if character is in a guild or a party? (BOOL)
+ // Athena: false Aegis: true
+ // This check is imposed by Aegis to avoid dead entries in databases and is not needed on Hercules, as we clear data properly
+ use_aegis_rename: false
+ }
+
+ deletion: {
+ // Restrict character deletion by BaseLevel
+ // 0: no restriction (players can delete characters of any level)
+ // -X: you can't delete chars with BaseLevel <= X
+ // Y: you can't delete chars with BaseLevel >= Y
+ // e.g. char_del_level: 80 (players can't delete characters with 80+ BaseLevel)
+ level: 0
+
+ // Amount of time in seconds by which the character deletion is delayed.
+ // Default: 86400 (24 hours)
+ // NOTE: Requires client 2010-08-03aragexeRE or newer.
+ delay: 86400
+
+ // Block deletion if character is inside a guild or a party? (BOOL)
+ // default: false official: true
+ // !!This check is imposed by Aegis to avoid dead entries in databases and _is_not_needed_ as we clear data properly!!
+ use_aegis_delete: false
+ }
+
+ // Size for the fame-lists
+ fame: {
+ alchemist: 10
+ blacksmith: 10
+ taekwon: 10
+ }
+ }
+
+ database: {
+ // How often should server save all guild related information? (character save interval is defined on the map config)
+ // (in seconds)
+ autosave_time: 60
+
+ // What folder the DB files are in (abra_db.txt, etc.)
+ db_path: "db"
+
+ // To log the character server?
+ log_char: true
+ }
+
+ //==================================================================
+ // Pincode system
+ //==================================================================
+ pincode: {
+ // A window is opened before you can select your character and you will have to enter a pincode by using only your mouse
+ // NOTE: Requires client 2011-03-09aragexeRE or newer.
+ // 0: disabled
+ // 1: enabled
+ enabled: false
+
+ // Request Pincode only on login or on everytime char select is accessed?
+ // 0: only on login (default)
+ // 1: everytime the char select window is accessed
+ request: 0
+
+ // How often does a user have to change his pincode?
+ // Default: 0
+ // 0: never
+ // X: every X minutes
+ change_time: 0
+
+ // How often can a user enter the wrong password?
+ // Default: 3
+ // Maximum allowed by clientside: 3
+ max_tries: 3
+
+ // Whether or not to refuse pincodes that are blacklisted
+ // Default: true
+ check_blacklisted: false
+
+ // Blacklisted pincodes
+ blacklist: [
+ "0000",
+ "1111",
+ "2222",
+ "3333",
+ "4444",
+ "5555",
+ "6666",
+ "7777",
+ "8888",
+ "9999",
+ "0123",
+ "1234",
+ "2345",
+ "3456",
+ "4567",
+ "5678",
+ "6789",
+ "7890"
+ ]
+ }
+
+}
+
+import: "conf/import/char-server.conf"
diff --git a/conf/clans.conf b/conf/clans.conf
new file mode 100644
index 0000000..85ef280
--- /dev/null
+++ b/conf/clans.conf
@@ -0,0 +1,48 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2017 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/>.
+//=========================================================================
+//= Clan System local configuration file.
+//=========================================================================
+
+clan_configuration: {
+
+ // Maximum players for each clan
+ MaxMembers: 500
+
+ // Maximum alliances/oppositions for each clan
+ MaxRelations: 6
+
+ // how many hours player must be inactive to be kicked?
+ // Disabled: 0
+ // Official: 336 (2 weeks)
+ InactivityKickTime: 336
+
+ // Checks each clan member every 'InactivityCheckTime' hour(s) (default 24h, minimum value of 1h)
+ InactivityCheckTime: 24
+
+ // Clan Database
+ @include "db/clans.conf"
+}
diff --git a/conf/common/inter-server.conf b/conf/common/inter-server.conf
new file mode 100644
index 0000000..9f61a74
--- /dev/null
+++ b/conf/common/inter-server.conf
@@ -0,0 +1,126 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+//= Hercules Inter Server configuration file.
+//=========================================================================
+// Settings that are shared by more than one of the main servers
+//=========================================================================
+
+inter_configuration: {
+ // Level range for sharing within a party
+ party_share_level: 30 // FIXME: Split RE and pre-RE
+
+ // Log configuration
+ log: {
+ // Log Inter Connections, etc.?
+ log_inter: true
+
+ // Inter Log Filename
+ inter_log_filename: "log/inter.log"
+
+ // Log database SQL connection
+ @include "conf/import/sql_connection.conf"
+ }
+
+ mysql_reconnect: {
+ // == MySQL Reconnect Settings
+ // ===========================
+ // - mysql_reconnect_type
+ // - 1: when mysql disconnects during runtime, the server tries to reconnect mysql_reconnect_count times and,
+ // -- if unsuccessful, the server is shut down
+ // - 2: when mysql disconnects during runtime it tries to reconnect indefinitely
+ type: 2
+
+ // - mysql_reconnect_count
+ // - number of reconnect attempts the server should do when the database disconnects during runtime
+ // - only used when mysql_reconnect_type is 1
+ count: 1
+ }
+
+ // ALL MySQL Database Table names
+ // DO NOT CHANGE ANYTHING BEYOND THIS LINE UNLESS YOU KNOW YOUR DATABASE DAMN WELL
+ // this is meant for people who KNOW their stuff, and for some reason want to change their
+ // database layout. [CLOWNISIUS]
+ database_names: {
+ account_db: "login"
+ login_db: "loginlog"
+ ipban_table: "ipbanlist"
+ char_db: "char"
+ interlog_db: "interlog"
+ ragsrvinfo_db: "ragsrvinfo"
+ registry: {
+ acc_reg_num_db: "acc_reg_num_db"
+ acc_reg_str_db: "acc_reg_str_db"
+ char_reg_str_db: "char_reg_str_db"
+ char_reg_num_db: "char_reg_num_db"
+
+ global_acc_reg_num_db: "global_acc_reg_num_db"
+ global_acc_reg_str_db: "global_acc_reg_str_db"
+ }
+ pc: {
+ hotkey_db: "hotkey"
+ scdata_db: "sc_data"
+ cart_db: "cart_inventory"
+ inventory_db: "inventory"
+ charlog_db: "charlog"
+ storage_db: "storage"
+ skill_db: "skill"
+ memo_db: "memo"
+ party_db: "party"
+ pet_db: "pet"
+ friend_db: "friends"
+ mail_db: "mail"
+ auction_db: "auction"
+ quest_db: "quest"
+ homunculus_db: "homunculus"
+ skill_homunculus_db: "skill_homunculus"
+ mercenary_db: "mercenary"
+ mercenary_owner_db: "mercenary_owner"
+ elemental_db: "elemental"
+ account_data_db: "account_data"
+ }
+ guild: {
+ main_db: "guild"
+ alliance_db: "guild_alliance"
+ castle_db: "guild_castle"
+ expulsion_db: "guild_expulsion"
+ member_db: "guild_member"
+ skill_db: "guild_skill"
+ position_db: "guild_position"
+ storage_db: "guild_storage"
+ }
+ mapreg_db: "mapreg"
+ autotrade_merchants_db: "autotrade_merchants"
+ autotrade_data_db: "autotrade_data"
+ npc_market_data_db: "npc_market_data"
+ npc_barter_data_db: "npc_barter_data"
+ }
+
+ // Show warning in console if some string translation missing for selected language
+}
+warn_missing_translation: false
+
+import: "conf/import/inter-server.conf"
diff --git a/conf/common/map-index.conf b/conf/common/map-index.conf
new file mode 100644
index 0000000..b3a1b4e
--- /dev/null
+++ b/conf/common/map-index.conf
@@ -0,0 +1,34 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2019 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/>.
+//=========================================================================
+//= Map Index configuration file.
+//=========================================================================
+
+mapindex_configuration: {
+ // Full path to the map_index.txt file
+ // Default: db/map_index.txt
+ file_path: "db/map_index.txt"
+}
diff --git a/conf/common/socket.conf b/conf/common/socket.conf
new file mode 100644
index 0000000..13c0ed9
--- /dev/null
+++ b/conf/common/socket.conf
@@ -0,0 +1,106 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+//= Hercules Sockets configuration file
+//=========================================================================
+
+socket_configuration: {
+ // How long can a socket stall before closing the connection (in seconds)?
+ stall_time: 90
+
+ // Display debug reports (When something goes wrong during the report, the report is saved.)
+ debug: false
+
+ // Linux/Epoll: Maxmimum Events per cycle
+ // Default Value:
+ // (Maxmimum Supported Connections)/2
+ // NOTE: this controls the maximum collected socket-events per-cycle (call to epoll_wait())
+ // for example settings this to 32 will allow up to 32 events (incomming data/new connections
+ // per server-cycle.
+ // NOTE: Recommended Settings is at least half the maxmimum supported connections
+ // Settings this to a lower value, may cause lags/delays
+ // Depending on available CPU Time
+ // NOTE: This Setting is only available on Linux when build using EPoll as event dispatcher!
+ //
+ //epoll_maxevents: 1024
+
+ // Maximum allowed size for clients packets in bytes.
+ // Default Values:
+ // 24576 (Clients < 20131223)
+ // 65535 (Clients >= 20131223)
+ // NOTE: To reduce the size of reported packets, lower the values of defines, which
+ // have been customized, such as MAX_STORAGE, MAX_GUILD_STORAGE or MAX_CART.
+ // NOTE: Do not modify this setting, unless the client has been modified to support
+ // larger packets. The client will crash, when it receives larger packets.
+ //socket_max_client_packet: 65535
+
+ //----- IP Rules Settings -----
+ ip_rules: {
+ // If IP's are checked when connecting.
+ // This also enables DDoS protection.
+ enable: true
+
+ // Order of the checks
+ // deny,allow : Checks deny rules, then allow rules. Allows if no rules match.
+ // allow,deny : Checks allow rules, then deny rules. Allows if no rules match.
+ // mutual-failure : Allows only if an allow rule matches and no deny rules match.
+ // (default is deny,allow)
+ order: "deny,allow"
+
+ // IP rules
+ // allow : Accepts connections from the ip range (even if flagged as DDoS)
+ // deny : Rejects connections from the ip range
+ // The rules are processed in order, the first matching rule of each list (allow and deny) is used
+ allow_list: (
+ //"127.0.0.1",
+ //"192.168.0.0/16",
+ //"10.0.0.0/255.0.0.0",
+ //"all",
+ )
+ deny_list: (
+ //"127.0.0.1",
+ )
+ }
+
+ //---- DDoS Protection Settings ----
+ // If ddos.count connection request are made within ddos.interval ms, it assumes it's a DDoS attack
+ ddos: {
+ // Consecutive attempts interval (msec)
+ // (default is 3000 msecs, 3 seconds)
+ interval: 3000 //ddos_interval
+
+ // Consecutive attempts trigger
+ // (default is 5 attemps)
+ count: 5 //ddos_count
+
+ // The time interval after which the threat of DDoS is assumed to be gone (ms)
+ // After this amount of time, the DDoS restrictions are lifted.
+ // (default is 600000ms, 10min)
+ autoreset: 600000 //ddos_autoreset
+ }
+}
+
+import: "conf/import/socket.conf"
diff --git a/conf/global/console.conf b/conf/global/console.conf
new file mode 100644
index 0000000..030ab7c
--- /dev/null
+++ b/conf/global/console.conf
@@ -0,0 +1,67 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+//= Server Console configuration file.
+//=========================================================================
+// This file affects how ALL server consoles work, unless explictly defined
+// so in the server configuration file (See doc/global_configuration.txt
+// for more information).
+//=========================================================================
+
+console: {
+ //Time-stamp format which will be printed before all messages.
+ //Can at most be 20 characters long.
+ //Common formats:
+ // %I:%M:%S %p (hour:minute:second 12 hour, AM/PM format)
+ // %H:%M:%S (hour:minute:second, 24 hour format)
+ // %d/%b/%Y (day/Month/year)
+ //For full format information, consult the strftime() manual.
+ //timestamp_format: "[%d/%b %H:%M]"
+
+ //If redirected output contains escape sequences (color codes)
+ stdout_with_ansisequence: false
+
+ //Makes server output more silent by omitting certain types of messages:
+ //1: Hide Information messages
+ //2: Hide Status messages
+ //4: Hide Notice Messages
+ //8: Hide Warning Messages
+ //16: Hide Error and SQL Error messages.
+ //32: Hide Debug Messages
+ //Example: "console_silent: 7" Hides information, status and notice messages (1+2+4)
+ console_silent: 0
+
+ // [CHAR] Display information on the console whenever characters/guilds/parties/pets are loaded/saved?
+ save_log: true
+
+ // [MAP] Makes server log selected message types to a file in the /log/ folder
+ //1: Log Warning Messages
+ //2: Log Error and SQL Error messages.
+ //4: Log Debug Messages
+ //Example: "console_msg_log: 7" logs all 3 kinds
+ //Messages logged by this overrides console_silent setting
+ console_msg_log: 7
+}
diff --git a/conf/grf-files.txt b/conf/grf-files.txt
new file mode 100644
index 0000000..6af0585
--- /dev/null
+++ b/conf/grf-files.txt
@@ -0,0 +1,12 @@
+//-----------------------------------------
+// GRF Files
+// Add as many as needed.
+//-----------------------------------------
+//grf: C:\Program Files\Gravity\RO\rdata.grf
+//grf: C:\Program Files\Gravity\RO\data.grf
+
+//-----------------------------------------
+// Data Directory
+// Use the base folder, not the data\ path.
+//-----------------------------------------
+//data_dir: C:\Program Files\Gravity\RO\
diff --git a/conf/groups.conf b/conf/groups.conf
new file mode 100644
index 0000000..6d72263
--- /dev/null
+++ b/conf/groups.conf
@@ -0,0 +1,393 @@
+/*
+Player groups configuration file
+---------------------------------
+
+This file defines "player groups" and their privileges.
+
+Each group has its id and name, lists of available commands and other
+permissions, and a list of other groups it inherits from.
+
+
+Group settings
+--------------
+<id>
+Unique group number. The only required field.
+
+<name>
+Any string. If empty, defaults to "Group <id>". It is used in several @who
+commands.
+
+<level>
+Equivalent of GM level, which was used in revisions before r15572. You can
+set it to any number, but usually it's between 0 (default) and 99. Members of
+groups with lower level can not perform some actions/commands (like @kick) on
+members of groups with higher level. It is what script command getgmlevel()
+returns. Group level can also be used to override trade restrictions
+(db/item_trade.txt).
+
+<commands>
+A group of settings
+ <command name> : <bool>
+or
+ <commandname> : [ <bool>, <bool> ]
+First boolean value is for atcommand, second one for charcommand. If set to
+true, group can use command. If only atcommand value is provided, false is
+assumed for charcommand. If a command name is not included, false is assumed for
+both atcommand and charcommand.
+For a full list of available commands, see: doc/atcommands.txt.
+Command names must not be aliases.
+
+<log_commands>
+Boolean value. If true then all commands used by the group will be logged to
+atcommandlog. If setting is omitted in a group definition, false is assumed.
+Requires 'log_commands' to be enabled in 'conf/logs.conf'.
+
+<permissions>
+A group of settings
+ <permission> : <bool>
+If a permission is not included, false is assumed.
+For a full list of available permissions, see: doc/permissions.txt
+
+<inherit>
+A list of group names that given group will inherit commands and permissions
+from. Group names are case-sensitive.
+
+Inheritance results
+-------------------
+Both multiple inheritance (Group 2 -> Group 1 and Group 3 -> Group 1) and
+recursive inheritance (Group 3 -> Group 2 -> Group 1) are allowed.
+
+Inheritance rules should not create cycles (eg Group 1 inherits from Group 2,
+and Group inherits from Group 1 at the same time). Configuration with cycles is
+considered faulty and can't be processed fully by server.
+
+Command or permission is inherited ONLY if it's not already defined for the
+group.
+If group inherits from multiple groups, and the same command or permission is
+defined for more than one of these groups, it's undefined which one will be
+inherited.
+
+Syntax
+------
+This config file uses libconfig syntax:
+http://www.hyperrealm.com/libconfig/libconfig_manual.html#Configuration-Files
+*/
+
+groups: (
+{
+ id: 0 /* group 0 is the default group for every new account */
+ name: "Player"
+ level: 0
+ inherit: ( /*empty list*/ )
+ commands: {
+ help: true
+ commands: true
+ request: true
+ duel: true
+ accept: true
+ reject: true
+ invite: true
+ leave: true
+ email: true
+ rates: true
+ hominfo: true
+ jailtime: true
+ }
+ permissions: {
+ /* without this basic permissions regular players could not
+ trade or party */
+ hack_info: true
+ can_trade: true
+ can_party: true
+ }
+},
+{
+ id: 1
+ name: "Super Player"
+ inherit: ( "Player" ) /* sponsors can do everything Players can and more */
+ level: 1
+ commands: {
+ whogm: true
+ homtalk: true
+ pettalk: true
+ refresh: true
+ users: true
+ mobinfo: true
+ iteminfo: true
+ whodrops: true
+ }
+ log_commands: false
+ permissions: {
+ }
+},
+/* “Support†is a baseclass with the basic commands every DEV/GM/ADM may have. */
+{
+ id: 2
+ name: "Support"
+ inherit: ( "Super Player" )
+ level: 3
+ commands: {
+ log: true
+ tee: true
+ hugo: true
+ linus: true
+ charcommands: true
+ uptime: true
+ showdelay: true
+ exp: true
+ time: true
+ hominfo: [true, true]
+ homstats: true
+ showexp: true
+ showzeny: true
+ whereis: true
+ noask: true
+ noks: true
+ autoloot: true
+ alootid: true
+ autoloottype: true
+ autotrade: true
+ go: true
+ breakguild: true
+ channel: true
+ version: true
+ where: [true, true]
+ jumpto: true
+ who: true
+ who2: true
+ who3: true
+ whomap: true
+ whomap2: true
+ whomap3: true
+ mapinfo: true
+ gat: true
+ mobsearch: true
+ idsearch: true
+ showmobs: true
+ skillid: true
+ skilltree: true
+ monsterignore: true
+ broadcast: true
+ localbroadcast: true
+ tonpc: true
+ warp: true
+ jump: true
+ load: true
+ recall: true
+ save: [true, true]
+ hidenpc: true
+ shownpc: true
+ }
+ log_commands: true
+ permissions: {
+ show_client_version: true
+ receive_requests: true
+ view_equipment: true
+ }
+},
+/* Developer class is only used on TEST SERVER */
+{
+ id: 5
+ name: "Developer"
+ inherit: ( "Support" )
+ level: 5
+ commands: {
+ addwarp: true
+ follow: true
+ memo: true
+ slide: [true, true]
+ sound: true
+ item: true
+ monster: true
+ heal: true
+ }
+ log_commands: true
+ permissions: {
+ }
+},
+{
+ id: 60
+ name: "Officer"
+ level: 60
+ inherit: ( "Support" )
+ commands: {
+ trade: true
+ storagelist: [true, true]
+ cartlist: [true, true]
+ itemlist: [true, true]
+ stats: [true, true]
+ recall: true
+ raisemap: [true, true]
+ kick: true
+ jailfor: true
+ unjail: true
+ unban: true
+ monster: true
+ monstersmall: true
+ monsterbig: true
+ killmonster2: true
+ cleanarea: true
+ cleanmap: true
+ heal: [true, true]
+ alive: [true, true]
+ sound: true
+ storage: true
+ clone: [true, true]
+ slaveclone: [true, true]
+ evilclone: [true, true]
+ jump: [true, true]
+ npctalk: true
+ mute: true
+ unmute: true
+ speed: true
+ accinfo: true
+ }
+ log_commands: true
+ permissions: {
+ who_display_aid: true
+ view_hpmeter: true
+ all_equipment: true
+ join_chat: true
+ kick_chat: true
+ hide_session: true
+ hack_info: true
+ send_gm: true
+ can_trade_bound: false
+ }
+},
+{
+ id: 80
+ name: "Game Master"
+ level: 80
+ inherit: ( "Officer" )
+ commands: {
+ npcmove: true
+ hide: true
+ kick: true
+ jailfor: true
+ hide: true
+ follow: true
+ warp: true
+ jump: true
+ memo: true
+ load: true
+ recall: true
+ summon: true
+ monster: true
+ killmonster2: true
+ cleanarea: true
+ cleanmap: true
+ delitem: [true, true]
+ produce: [true, true]
+ refine: [true, true]
+ disguise: [true, true]
+ undisguise: [true, true]
+ size: [true, true]
+ raise: true
+ raisemap: true
+ day: true
+ night: true
+ skillon: true
+ skilloff: true
+ pvpon: true
+ pvpoff: true
+ gvgon: true
+ gvgoff: true
+ allowks: true
+ refresh: [true, true]
+ refreshall: true
+ fakename: true
+ kill: true
+ nuke: [true, true]
+ doommap: true
+ heal: [true, true]
+ alive: [true, true]
+ sound: true
+ storage: true
+ clone: [true, true]
+ slaveclone: [true, true]
+ evilclone: [true, true]
+ repairall: [true, true]
+ storeall: true
+ itemreset: true
+ clearstorage: true
+ cleargstorage: true
+ jump: [true, true]
+ killer: true
+ killable: true
+ monsterignore: [true, true]
+ npctalk: true
+ mute: true
+ mutearea: true
+ unmute: true
+ speed: [true, true]
+ heal: [true, true]
+ alive: [true, true]
+ ban: true
+ block: true
+ jail: true
+ mute: true
+ unmute: true
+ storagelist: [true, true]
+ cartlist: [true, true]
+ itemlist: [true, true]
+ stats: [true, true]
+ fakename: true
+ recallall: true
+ raisemap: [true, true]
+ raise: [true, true]
+ dropall: true
+ raisemap: [true, true]
+ raise: [true, true]
+ unjail: true
+ unban: true
+ accinfo: true
+ }
+ log_commands: true
+ permissions: {
+ who_display_aid: true
+ view_hpmeter: true
+ join_chat: true
+ kick_chat: true
+ hide_session: true
+ hack_info: true
+ send_gm: true
+ can_trade_bound: false
+ can_party: true
+ all_skill: false
+ all_equipment: true
+ skill_unconditional: false
+ use_check: true
+ use_changemaptype: true
+ }
+},
+{
+ id: 99
+ name: "Administrator"
+ level: 99
+ inherit: ( "Game Master", "Developer" )
+ commands: {
+ /* not necessary due to all_commands: true */
+ }
+ log_commands: true
+ permissions: {
+ who_display_aid: true
+ view_hpmeter: true
+ any_warp: false
+ join_chat: true
+ kick_chat: true
+ hide_session: true
+ hack_info: true
+ send_gm: true
+ can_trade_bound: false
+ can_party: true
+ all_skill: false
+ all_equipment: true
+ skill_unconditional: false
+ use_check: true
+ use_changemaptype: true
+ all_commands: true
+ hchsys_admin: true
+ }
+}
+)
diff --git a/conf/import-tmpl/battle.conf b/conf/import-tmpl/battle.conf
new file mode 100644
index 0000000..7d1d035
--- /dev/null
+++ b/conf/import-tmpl/battle.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+//= Battle local configuration file.
+//=========================================================================
+
+battle_configuration: {
+ // See conf/map/battle.conf for details
+}
diff --git a/conf/import-tmpl/char-server.conf b/conf/import-tmpl/char-server.conf
new file mode 100644
index 0000000..4c9462b
--- /dev/null
+++ b/conf/import-tmpl/char-server.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+//= Character Server local configuration file.
+//=========================================================================
+
+char_configuration: {
+ // See conf/char/char-server.conf for details
+}
diff --git a/conf/import-tmpl/inter-server.conf b/conf/import-tmpl/inter-server.conf
new file mode 100644
index 0000000..c23143b
--- /dev/null
+++ b/conf/import-tmpl/inter-server.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+//= Hercules Inter Server local configuration file.
+//=========================================================================
+
+inter_configuration: {
+ // See conf/common/inter-server.conf
+}
diff --git a/conf/import-tmpl/login-server.conf b/conf/import-tmpl/login-server.conf
new file mode 100644
index 0000000..1c45f94
--- /dev/null
+++ b/conf/import-tmpl/login-server.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+//= Login Server local configuration file.
+//=========================================================================
+
+login_configuration: {
+ // See conf/login/login-server.conf for details
+}
diff --git a/conf/import-tmpl/logs.conf b/conf/import-tmpl/logs.conf
new file mode 100644
index 0000000..8f8c2ea
--- /dev/null
+++ b/conf/import-tmpl/logs.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+//= Hercules Log local configuration file.
+//=========================================================================
+
+map_log: {
+ // See conf/map/logs.conf for details
+}
diff --git a/conf/import-tmpl/map-server.conf b/conf/import-tmpl/map-server.conf
new file mode 100644
index 0000000..4d90702
--- /dev/null
+++ b/conf/import-tmpl/map-server.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+//= Map Server local configuration file.
+//=========================================================================
+
+map_configuration: {
+ // See conf/map/map-server.conf for details
+}
diff --git a/conf/import-tmpl/msg_conf.txt b/conf/import-tmpl/msg_conf.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/conf/import-tmpl/msg_conf.txt
diff --git a/conf/import-tmpl/script.conf b/conf/import-tmpl/script.conf
new file mode 100644
index 0000000..0402452
--- /dev/null
+++ b/conf/import-tmpl/script.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+//= Hercules Script local configuration file.
+//=========================================================================
+
+script_configuration: {
+ // See conf/map/script.conf for details
+}
diff --git a/conf/import-tmpl/socket.conf b/conf/import-tmpl/socket.conf
new file mode 100644
index 0000000..7ce1781
--- /dev/null
+++ b/conf/import-tmpl/socket.conf
@@ -0,0 +1,32 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+//= Hercules Sockets local configuration file
+//=========================================================================
+
+socket_configuration: {
+ // See conf/common/socket.conf for details.
+}
diff --git a/conf/login/login-server.conf b/conf/login/login-server.conf
new file mode 100644
index 0000000..59a0360
--- /dev/null
+++ b/conf/login/login-server.conf
@@ -0,0 +1,205 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+//= Login Server configuration file.
+//=========================================================================
+
+login_configuration: {
+ // Login-server's console configuration
+ @include "conf/global/console.conf"
+
+ inter: {
+ // The login server listens on the interface with this IP address.
+ // NOTE: This allows you to run multiple servers on multiple interfaces
+ // while using the same ports for each server.
+ //bind_ip: "127.0.0.1"
+
+ // Interval (in minutes) to execute a DNS/IP update. Disabled by default.
+ // Enable it if your server uses a dynamic IP which changes with time.
+ //ip_sync_interval: 10
+
+ @include "conf/import/ports.conf"
+ }
+
+ log: {
+ // To log the login server?
+ // NOTE: The login-sql server needs the login logs to enable dynamic pass failure bans.
+ log_login: true
+
+ // Indicate how to display date in logs, to players, etc.
+ date_format: "%Y-%m-%d %H:%M:%S"
+ }
+
+ // for packet version >= 20170726
+ users_count: {
+ // if false, dont show any colored strings.
+ // if true, show special users count numbers for coloring char servers.
+ send_user_count_description: true
+
+ // users counts for use different colors.
+ // below 'low' show green text
+ // below 'medium' show oragne text
+ // below 'high' show red text
+ // higher 'high' show purple text
+ low: 200
+ medium: 500
+ high: 1000
+ }
+
+ // Account engine configuration
+ account: {
+ // Can you use _M/_F to make new accounts on the server?
+ new_account: true
+
+ //If new_account is enabled, minimum length to userid and passwords should be 4?
+ //Must be 'true' unless your client uses both 'Disable 4 LetterUserID/Password' Diffs
+ new_acc_length_limit: true
+
+ // Account registration flood protection system
+ // allowed_regs is the number of registrations allowed in time_allowed (in seconds)
+ allowed_regs: 5
+ time_allowed: 86400
+
+ // Starting additional sec from now for the limited time at creation of account
+ // -1: new account are created with UNlimited time (default value)
+ // 0 or more: new accounts was created by addition of the value (in sec) to the actual time (to set first limited time)
+ start_limited_time: -1
+
+ // Store passwords as MD5 hashes instead of plaintext ?
+ // NOTE: Will not work with clients that use <passwordencrypt>
+ use_MD5_passwords: false
+
+ // Account data engine storage configuration
+ @include "conf/import/sql_connection.conf"
+
+ //==================================================================
+ // IP banning system
+ //==================================================================
+ ipban: {
+ enabled: true
+
+ // Interval (in seconds) to clean up expired IP bans. 0 = disabled. default = 60.
+ // NOTE: Even if this is disabled, expired IP bans will be cleaned up on login server start/stop.
+ // Players will still be able to login if an ipban entry exists but the expiration time has already passed.
+ cleanup_interval: 60
+
+ // SQL connection settings
+ @include "conf/import/sql_connection.conf"
+
+ // Dynamic password failure ipban system
+ dynamic_pass_failure: {
+ enabled: true
+
+ // Interval in minutes between failed tries
+ // Only failed tries between this interval will be accounted when banning
+ ban_interval: 15
+
+ // How many failures before adding a temporary ban entry?
+ ban_limit: 7
+
+ // Duration of the ban in minutes
+ ban_duration: 20
+ }
+ } // login_configuration.account.ipban
+ } // login_configuration.account
+
+ permission: {
+ // Required account group id to connect to server.
+ // -1: disabled
+ // 0 or more: group id
+ group_id_to_connect: -1
+
+ // Minimum account group id required to connect to server.
+ // Will not function if group_id_to_connect config is enabled.
+ // -1: disabled
+ // 0 or more: group id
+ min_group_id_to_connect: -1
+
+ // Check The clientversion set in the clientinfo ?
+ check_client_version: false
+
+ // What version we would allow to connect? (if check_client_version is enabled)
+ client_version_to_connect: 20
+
+ //==================================================================
+ // Client hash checking system
+ //==================================================================
+ // Note: see doc/md5_hashcheck.txt for more details.
+ hash: {
+ // Client MD5 hash check
+ // If turned on, the login server will check if the client's hash matches
+ // the value below, and will not connect tampered clients.
+ enabled: false
+
+ // Client MD5 hashes
+ // The client with the specified hash can be used to log in by players with
+ // a group_id equal to or greater than the given value.
+ // If you specify 'disabled' as hash, players with a group_id greater than or
+ // equal to the given value will be able to log in regardless of hash (and even
+ // if their client does not send a hash at all.)
+ MD5_hashes: (
+ //{
+ // group_id: group id
+ // hash: client hash
+ //},
+ //{
+ // group_id: 0
+ // hash: "113e195e6c051bb1cfb12a644bb084c5"
+ //},
+ //{
+ // group_id: 10
+ // hash: "cb1ea78023d337c38e8ba5124e2338ae"
+ //},
+ //{
+ // group_id: 99
+ // hash: "disabled"
+ //},
+ )
+ } // login_configuration.permission.hash
+
+ DNS_blacklist: {
+ // DNS Blacklist Blocking
+ // If enabled, each incoming connection will be tested against the blacklists
+ // on the specified dnsbl_servers
+ enabled: false
+
+ dnsbl_servers: (
+ // Here are some free DNS Blacklist Services: http://en.wikipedia.org/wiki/Comparison_of_DNS_blacklists
+ "bl.blocklist.de", // IP-Addresses who attack other servers/honeypots over SSH, FTP, IMAP, etc.
+ //"ircbl.ahbl.org", // AHBL (open proxies, compromised machines, comment spammers)
+ //"safe.dnsbl.sorbs.net", // All zones in dnsbl.sorbs.net except "recent" and "escalations"
+ //"sbl-xbl.spamhaus.org", // Spamhaus blacklist (spammers, open proxies)
+ "socks.dnsbl.sorbs.net", // Open SOCKS proxy servers
+ //"tor.ahbl.org", // Current tor relay and exit nodes
+ )
+ } // login_configuration.DNS_blacklist
+ } // login_configuration.permission
+
+}
+
+update_server: "http://updates.tmw2.org/"
+
+import: "conf/import/login-server.conf"
diff --git a/conf/map/battle.conf b/conf/map/battle.conf
new file mode 100644
index 0000000..f8c6b9a
--- /dev/null
+++ b/conf/map/battle.conf
@@ -0,0 +1,88 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2019 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/>.
+//=========================================================================
+//= Battle Configuration File
+//=========================================================================
+
+battle_configuration: {
+ // General battle-related settings.
+ @include "conf/map/battle/battle.conf"
+
+ // Settings specific to the client.
+ @include "conf/map/battle/client.conf"
+
+ // General drop-related configs.
+ @include "conf/map/battle/drops.conf"
+
+ // Experience rates, exp penalties, stats and max level settings.
+ @include "conf/map/battle/exp.conf"
+
+ // GM levels, atcommands and hack-related configs.
+ @include "conf/map/battle/gm.conf"
+
+ // Guild and WoE settings
+ @include "conf/map/battle/guild.conf"
+
+ // Battleground settings
+ @include "conf/map/battle/battleground.conf"
+
+ // Item/card-specific and crafting related options.
+ @include "conf/map/battle/items.conf"
+
+ // Mob related configuration
+ @include "conf/map/battle/monster.conf"
+
+ // Party related configuration
+ @include "conf/map/battle/party.conf"
+
+ // Pet related configuration
+ @include "conf/map/battle/pet.conf"
+
+ // Homunc related configuration
+ @include "conf/map/battle/homunc.conf"
+
+ // Player specific settings
+ @include "conf/map/battle/player.conf"
+
+ // Skill related settings
+ @include "conf/map/battle/skill.conf"
+
+ // Status change related settings
+ @include "conf/map/battle/status.conf"
+
+ // Feature control (on/off) settings
+ @include "conf/map/battle/feature.conf"
+
+ // Different calculation limits
+ @include "conf/map/battle/limits.conf"
+
+ // Anything else that didn't fit anywhere else.
+ // Includes duel, day/night, mute/manner, log settings.
+ @include "conf/map/battle/misc.conf"
+}
+
+ // Your custom config goes here.
+import: "conf/import/battle.conf"
diff --git a/conf/map/battle/battle.conf b/conf/map/battle/battle.conf
new file mode 100644
index 0000000..890cf69
--- /dev/null
+++ b/conf/map/battle/battle.conf
@@ -0,0 +1,185 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+// Battle (Battle) Configuration File
+//=========================================================================
+// Note 1: Value is a config switch (true/false)
+// Note 2: Value is in percents (100 means 100%)
+// Note 3: Value is a bit field. If no description is given,
+// assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary)
+//=========================================================================
+
+// Who should have a baseatk value (makes str affect damage)? (Note 3)
+enable_baseatk: 9
+
+// Who can have perfect flee? (Note 3)
+enable_perfect_flee: 1
+
+// Who can have critical attacks? (Note 3)
+// (Note that there are some skills that always do critical hit regardless of this)
+enable_critical: 27
+
+// Critical adjustment rate for non-players (Note 2)
+mob_critical_rate: 70
+critical_rate: 100
+
+// Should normal attacks give you a walk delay? (Note 3)
+// If false, characters can move as soon as they start an attack (attack animation
+// or walk animation may be omitted client-side, causing cropped attacks or
+// monsters that teleport to you)
+// Otherwise, the delay is equal to the 'attack animation' (amotion)
+attack_walk_delay: 14
+
+// Move-delay adjustment after being hit. (Note 2)
+// The 'can't walk' delay after being hit is calculated as a percentage of the damage animation duration.
+// NOTE: Only affects the normal delay from a single attack, not the delay added by the multihit_delay option below.
+pc_damage_walk_delay_rate: 20
+damage_walk_delay_rate: 100
+
+// Move-delay adjustment for multi-hitting attacks.
+// When hit by a multi-hitting skill like Lord of Vermillion or Jupitel Thunder, characters will be
+// unable to move for an additional "(number of hits -1) * multihit_delay" milliseconds.
+// 80 is the setting that feels like Aegis (vs Sonic Blows)
+// 230 is the setting that makes walkdelay last until the last hit (vs Jupitel thunder)
+multihit_delay: 80
+
+// Damaged delay rate for players (Note 2)
+// (Setting to false/0 will be like always endure)
+// Default is 90, but the desync/lag it causes is not worth the feature.
+player_damage_delay_rate: 0
+
+// Should race or element be used to consider someone undead?
+// 0 = element undead
+// 1 = race undead
+// 2 = both (either one works)
+undead_detect_type: 1
+
+// Does HP recover if hit by an attribute that's same as your own? (Note 1)
+// (Will not work in Renewal)
+attribute_recover: false
+
+// What is the minimum and maximum hitrate of normal attacks?
+min_hitrate: 3
+max_hitrate: 100
+
+// Type of penalty that is applied to FLEE when more than agi_penalty_count monsters are targetting player
+// 0 = no penalty is applied
+// 1 = agi_penalty_num is reduced from FLEE as a %
+// 2 = agi_penalty_num is reduced from FLEE as an exact amount
+agi_penalty_type: 1
+
+// When agi penalty is enabled, to whom it should apply to? (Note 3)
+// By default, only players get the penalty.
+// 17: Pc + Merc
+// 19: Pc + Mob + Merc
+agi_penalty_target: 19
+
+// Amount of enemies required to be targetting player before FLEE begins to be penalized
+agi_penalty_count: 2
+
+// Amount of FLEE penalized per each attacking monster more than agi_penalty_count
+agi_penalty_num: 6
+
+// Type of penalty that is applied to both equipment and vit DEF when more than vit_penalty_count monsters are targetting player
+// 0 = no penalty is applied
+// 1 = vit_penalty_num is reduced from DEF as a %
+// 2 = vit_penalty_num is reduced from DEF as an exact amount
+vit_penalty_type: 1
+
+// When vit penalty is enabled, to whom it should apply to? (Note 3)
+// By default, only players get the penalty.
+// 19: Pc + Mob + Merc
+// 24: Homun + Merc
+vit_penalty_target: 24
+
+// Amount of enemies required to be targetting player before defense begins to be penalized
+vit_penalty_count: 3
+
+// Amount of VIT defense penalized per each attacking monster more than vit_penalty_count
+vit_penalty_num: 3
+
+// Use alternate method of DEF calculation for physical attacks.
+// With 0, disabled (use normal def% reduction with further def2 reduction)
+// At 1 or more defense is subtraction of (DEF* value).
+// eg: 10 + 50 def becomes 0 + (10*type + 50)
+weapon_defense_type: 0
+
+// MDEF, same as above....(MDEF*value)
+magic_defense_type: 0
+
+// Change attacker's direction to face opponent on every attack? (Note 3)
+// NOTE: On official servers knockback of some skills like Firewall is always based on the
+// last direction walked. Even when attacking in a completely different direction, the
+// knockback direction won't change, so e.g. if you walk north and then attack an enemy to
+// the south you will still be knocked back to the south by Firewall. Immobile monsters
+// will always be knocked back to the south as their default direction is north.
+attack_direction_change: 0
+
+// For those who is set, their innate attack element is "not elemental"
+// (100% versus on all defense-elements) (Note 3)
+// NOTE: This is the setting that makes it so non-players can hit for full
+// damage against Ghost-type targets with normal attacks (eg: vs. Ghostring).
+attack_attr_none: 14
+
+// Rate at which equipment can break (base rate before it's modified by any skills)
+// 1 = 0.01% chance. Default for official servers: 0
+equip_natural_break_rate: 0
+
+// Overall rate of which your own equipment can break. (Note 2)
+// This rate affects penalty breaking rate of skills such as power-thrust and your natural breaking rate
+// (from equip_natural_break_rate). If a Sage's endow skill fails and this is above 0, the selected char's
+// weapon will be broken.
+equip_self_break_rate: 100
+
+// Overall rate at which you can break target's equipment. (Note 2)
+// This affects the behaviour of skills like acid terror and meltdown
+equip_skill_break_rate: 100
+
+// Do weapon attacks have a attack speed delay before actual damage is applied? (Note 1)
+// NOTE: The official setting is true, even though it degrades performance a bit.
+delay_battle_damage: false
+
+// Are arrows/ammo consumed when used on a bow/gun?
+// 0 = No
+// 1 = Yes
+// 2 = Yes even for skills that do not specify arrow consumption when said
+// skill is weapon-based and used with ranged weapons (auto-guesses which
+// skills should consume ammo when it's acquired via a card or plagiarize)
+arrow_decrement: 1
+
+// Should the item script bonus 'Autospell' check for range/obstacles before casting?
+// Official behavior is false, setting this to true will make skills use their defined
+// range. For example, Sonic Blow requires a 2 cell distance before autocasting is allowed.
+// This setting also affects autospellwhenhit.
+autospell_check_range: false
+
+// If both the attacker and the target are on the same tile, should the target be knocked back to the left?
+// Official behavior is true, setting this to false will knock the target back behind the attacker.
+knockback_left: true
+
+// Should the target be able of dodging damage by snapping away to the edge of the screen?
+// Official behavior is false
+snap_dodge: false
diff --git a/conf/map/battle/battleground.conf b/conf/map/battle/battleground.conf
new file mode 100644
index 0000000..b2a482f
--- /dev/null
+++ b/conf/map/battle/battleground.conf
@@ -0,0 +1,40 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+// Battle (Battlegrounds) Configuration File
+//=========================================================================
+// Note 1: Value is a config switch (true/false)
+// Note 2: Value is in percents (100 means 100%)
+// Note 3: Value is a bit field. If no description is given,
+// assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary)
+//=========================================================================
+
+// Flee penalty on BG grounds.
+// NOTE: It's %, not absolute, so 20 is -20% of your total flee
+bg_flee_penalty: 20
+
+// Interval before updating the bg-member map mini-dots (milliseconds)
+bg_update_interval: 1000
diff --git a/conf/map/battle/client.conf b/conf/map/battle/client.conf
new file mode 100644
index 0000000..3372b3e
--- /dev/null
+++ b/conf/map/battle/client.conf
@@ -0,0 +1,204 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2019 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/>.
+//=========================================================================
+// Battle (Client) Configuration File
+//=========================================================================
+// Note 1: Value is a config switch (true/false)
+// Note 2: Value is in percents (100 means 100%)
+// Note 3: Value is a bit field. If no description is given,
+// assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary)
+//=========================================================================
+
+// Whether to enable the official packet obfuscation support (good vs WPE)
+// 0: disabled
+// 1: optional (not recommended) -- identifies whether it is required
+// 2: enabled (recommended)
+packet_obfuscation: 0
+
+// Minimum delay between whisper/global/party/guild messages (in ms)
+// Messages that break this threshold are silently omitted.
+min_chat_delay: 50
+
+// Valid range of dyes and styles on the client.
+min_hair_style: 0
+max_hair_style: 29
+min_hair_color: 0
+max_hair_color: 20
+min_cloth_color: 0
+max_cloth_color: 4
+min_body_style: 0
+max_body_style: 4
+
+// When set to true, the damage field in packets sent from woe maps will be set
+// to -1, making it impossible for GMs, Bots and Hexed clients to know the
+// actual damage caused by attacks. (Note 1)
+hide_woe_damage: true
+
+// "hair style" number that identifies pet.
+// NOTE: The client uses the "hair style" field in the mob packet to tell them apart from mobs.
+// This value is always higher than the max hair-style available in said client.
+// Known values to work (all 2005 clients):
+// older sakexes: 20
+// sakexe 0614: 24
+// sakexe 0628 (and later): 100
+pet_hair_style: 100
+
+// Visible area size (how many squares away from a player can they see)
+area_size: 18
+
+// Chat area size (how many squares away from a player can they chat)
+chat_area_size: 18
+
+// Area which monster death packets should be sent to.
+// This should be set to the farthest distance a player can reach in 250ms
+// after a monster dies.
+// Setting it to (area_size + 18) (18 being the range of Monk's Snap skill)
+// should be a great value
+dead_area_size: 32
+
+// Maximum walk path (how many cells a player can walk going to cursor)
+// default: 17(official)
+max_walk_path: 17
+
+// Maximum allowed 'level' value that can be sent in unit packets.
+// Use together with the aura_lv setting to tell when exactly to show the aura.
+// NOTE: You also need to adjust the client if you want this to work.
+// NOTE: Default is 99. Values above 127 will probably behave incorrectly.
+// NOTE: If you don't know what this does, don't change it!!!
+max_lv: 99
+
+// Level required to display an aura.
+// NOTE: This assumes that sending max_lv to the client will display the aura.
+// NOTE: aura_lv must not be less than max_lv.
+// Example: If max_lv is 99 and aura_lv is 150, characters with level 99~149
+// will be sent as being all level 98, and only characters with level
+// 150 or more will be reported as having level 99 and show an aura.
+aura_lv: 99
+
+// Units types affected by max_lv and aura_lv settings. (Note 3)
+// Note: If an unit type, which normally does not show an aura, is
+// set it will obtain an aura when it meets the level requirement.
+// Default: 0 (none)
+client_limit_unit_lv: 0
+
+// Will tuxedo and wedding dresses be shown when worn? (Note 1)
+wedding_modifydisplay: false
+
+// Save Clothes color. (This will degrade performance) (Note 1)
+save_clothcolor: true
+
+// Save body styles? (Note 1)
+save_body_style: false
+
+// Do not display cloth colors for the wedding costume?
+// Note: Both save_clothcolor and wedding_modifydisplay have to be enabled
+// for this option to take effect. Set this to true if your cloth palettes
+// pack doesn't has wedding palettes (or has less than the other jobs)
+wedding_ignorepalette: false
+
+// Do not display cloth colors for the Xmas costume?
+// Set this to true if your cloth palettes pack doesn't has Xmas palettes (or has less than the other jobs)
+xmas_ignorepalette: false
+
+// Do not display cloth colors for the Summer costume?
+// Set this to true if your cloth palettes pack doesn't has Summer palettes (or has less than the other jobs)
+summer_ignorepalette: false
+
+// Do not display cloth colors for the Hanbok costume?
+// Set this to true if your cloth palettes pack doesn't has Hanbok palettes (or has less than the other jobs)
+hanbok_ignorepalette: false
+
+// Do not display cloth colors for the Oktoberfest costume?
+// Set this to true if your cloth palettes pack doesn't has Oktoberfest palettes (or has less than the other jobs)
+oktoberfest_ignorepalette: false
+
+// Do not display cloth colors for the Summer 2 costume?
+// Set this to true if your cloth palettes pack doesn't has Summer 2 palettes (or has less than the other jobs)
+summer2_ignorepalette: false
+
+// Show Hercules version to users when the login?
+display_version: false
+
+// When affected with the "Hallucination" status effect, send the effect to client? (Note 1)
+// Note: Set to false if the client lags due to the "Wavy" screen effect.
+display_hallucination: true
+
+// Set this to 1 if your client supports status change timers and you want to use them
+// Clients from 2009 onward support this
+display_status_timers: true
+
+// Randomizes the dice emoticon server-side, to prevent clients from forging
+// packets for the desired number. (Note 1)
+client_reshuffle_dice: true
+
+// Sorts the character and guild storage before it is sent to the client.
+// Official servers do not sort storage. (Note 1)
+// NOTE: Enabling this option degrades performance.
+client_sort_storage: false
+
+// Duration of client's self mute in minutes.
+// Note: Do not enable this, if you enabled commands for players,
+// because the client sees multiple commands in succession as spam.
+// Default: 0 (means disabled)
+client_accept_chatdori: 0
+
+// Limits use of blank (transparent) pixels in guild emblems to a set
+// percentage of the total.
+// Official servers do not enforce this technically to date, but some disallow
+// use of blank emblems in their rules. (Note 2)
+// A value of 100 (allowing 100% blank pixels) disables this check.
+// NOTE: Enabling this option slightly degrades performance.
+client_emblem_max_blank_percent: 100
+
+// Show the MVP EXP reward message for clients 2013-12-23cRagexe and newer? (Note 1)
+// kRO removed the packet and this re-enables the message.
+// Official: false.
+mvp_exp_reward_message: false
+
+// Displays the same HP value as official servers do when a character is dead.
+// (Note 1)
+// On official servers, HP are never displayed as 0, but when dead, they
+// display the value that will be shown after resurrection (50% HP for novice
+// classes, 1 HP for other classes). Athena servers, instead, show the real
+// value (0 when dead), to avoid confusion.
+// Note: this is only a visual setting, and the server will internally handle
+// it as 0 regardless of this. This means that scripts will know that the
+// character has 0 HP when dead.
+// Default: true (Official behavior)
+display_fake_hp_when_dead: false
+
+// Send ping timer
+// For clients 20190320 Re+
+// Interval in seconds for each timer invoke.
+ping_timer_inverval: 30
+
+// Send packets timeout in seconds before ping packet can be sent.
+// For clients 20190320 Re+
+ping_time: 20
+
+// Drop or not connection after client send disconnect request packet
+// Official is false
+drop_connection_on_quit: false
diff --git a/conf/map/battle/drops.conf b/conf/map/battle/drops.conf
new file mode 100644
index 0000000..28ca89f
--- /dev/null
+++ b/conf/map/battle/drops.conf
@@ -0,0 +1,164 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2019 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/>.
+//=========================================================================
+// Battle (Drops) Configuration File
+//=========================================================================
+// Note 1: Value is a config switch (true/false)
+// Note 2: Value is in percents (100 means 100%)
+//=========================================================================
+
+// If an item is dropped, does it go straight into the users inventory? (Note 1)
+item_auto_get: false
+
+// How long does it take for an item to disappear from the floor after it is dropped? (in milliseconds)
+flooritem_lifetime: 180000
+
+// Grace time during which only the person who did the most damage to a monster can get the item? (in milliseconds)
+item_first_get_time: 5000
+
+// Grace time during which only the first and second person who did the most damage to a monster can get the item? (in milliseconds)
+// (Takes effect after item_first_get_time elapses)
+item_second_get_time: 10000
+
+// Grace time during which only the first, second and third person who did the most damage to a monster can get the item? (in milliseconds)
+// (Takes effect after the item_second_get_time elapses)
+item_third_get_time: 10000
+
+// Grace time to apply to MvP reward items when the Most Valuable Player can't get the prize item and it drops on the ground? (in milliseconds)
+mvp_item_first_get_time: 10000
+
+// Grace time for the first and second MvP so they can get the item? (in milliseconds)
+// (Takes effect after mvp_item_first_get_time elapses)
+mvp_item_second_get_time: 10000
+
+// Grace time for the first, second and third MvP so they can get the item? (in milliseconds)
+// (Takes effect after mvp_item_second_get_time elapses)
+mvp_item_third_get_time: 2000
+
+// Item drop rates (Note 2)
+// Modifying these values is without effect, as it is override during script runtime.
+
+// The rate the common items are dropped (Items that are in the ETC tab, besides card)
+item_rate_common: 100
+item_rate_common_boss: 100
+item_drop_common_min: 1
+item_drop_common_max: 10000
+
+// The rate healing items are dropped (items that restore HP or SP)
+item_rate_heal: 100
+item_rate_heal_boss: 100
+item_drop_heal_min: 1
+item_drop_heal_max: 10000
+
+// The rate at which usable items (in the item tab) other then healing items are dropped.
+item_rate_use: 100
+item_rate_use_boss: 100
+item_drop_use_min: 1
+item_drop_use_max: 10000
+
+// The rate at which equipment is dropped.
+item_rate_equip: 100
+item_rate_equip_boss: 100
+item_drop_equip_min: 1
+item_drop_equip_max: 10000
+
+// The rate at which cards are dropped
+item_rate_card: 100
+item_rate_card_boss: 100
+item_drop_card_min: 1
+item_drop_card_max: 10000
+
+// The rate adjustment for the MVP items that the MVP gets directly in their inventory
+item_rate_mvp: 100
+item_drop_mvp_min: 1
+item_drop_mvp_max: 10000
+
+// The rate adjustment for card-granted item drops.
+item_rate_adddrop: 100
+item_drop_add_min: 1
+item_drop_add_max: 10000
+
+// Rate adjustment for Treasure Box drops (these override all other modifiers)
+item_rate_treasure: 100
+item_drop_treasure_min: 1
+item_drop_treasure_max: 10000
+
+// Use logarithmic drops? (Note 1)
+// Logarithmic drops scale drop rates in a non-linear fashion using the equation
+// Droprate(x,y) = x * (5 - log(x)) ^ (ln(y) / ln(5))
+// Where x is the original drop rate and y is the drop_rate modifier (the previously mentioned item_rate* variables)
+// Use the following table for an idea of how the rate will affect drop rates when logarithmic drops are used:
+// Y: Original Drop Rate
+// X: Rate drop modifier (eg: item_rate_equip)
+// X\Y | 0.01 0.02 0.05 0.10 0.20 0.50 1.00 2.00 5.00 10.00 20.00
+// -----+---------------------------------------------------------------
+// 50 | 0.01 0.01 0.03 0.06 0.11 0.30 0.62 1.30 3.49 7.42 15.92
+// 100 | 0.01 0.02 0.05 0.10 0.20 0.50 1.00 2.00 5.00 10.00 20.00
+// 200 | 0.02 0.04 0.09 0.18 0.35 0.84 1.61 3.07 7.16 13.48 25.13
+// 500 | 0.05 0.09 0.22 0.40 0.74 1.65 3.00 5.40 11.51 20.00 33.98
+// 1000 | 0.10 0.18 0.40 0.73 1.30 2.76 4.82 8.28 16.47 26.96 42.69
+// 2000 | 0.20 0.36 0.76 1.32 2.28 4.62 7.73 12.70 23.58 36.33 53.64
+// 5000 | 0.50 0.86 1.73 2.91 4.81 9.11 14.45 22.34 37.90 53.91 72.53
+//10000 | 1.00 1.67 3.25 5.28 8.44 15.24 23.19 34.26 54.57 72.67 91.13
+//20000 | 2.00 3.26 6.09 9.59 14.83 25.49 37.21 52.55 77.70 97.95 100%
+//50000 | 5.00 7.87 13.98 21.12 31.23 50.31 69.56 92.48 100% 100% 100%
+item_logarithmic_drops: false
+
+// Can the monster's drop rate become 0? (Note 1)
+// Default: false (as in official servers).
+drop_rate0item: false
+
+// Makes your LUK value affect drop rates on an absolute basis.
+// Setting to 100 means each luk adds 0.01% chance to find items
+// (regardless of item's base drop rate).
+drops_by_luk: 0
+
+// Makes your LUK value affect drop rates on a relative basis.
+// Setting to 100 means each luk adds 1% chance to find items
+// (So at 100 luk, everything will have double chance of dropping).
+// At current value (20), each luck point will boost 0.2% drop rates.
+// For the average drop (4% drop rate), this means 4*1,02=4.08% with 10 luck
+// A full build (100 luck) and 4% drop rate will give 4.8% drop rate.
+// BETA PATCH: 100 luck and 4% drop rate (Std): 12% Drop Rate (3x more)
+// BETA PATCH: With only 50 luck you'll have double drop rates for everything
+// BETA PATCH: Each luck adds 1.75% drop rates - 2x at 57 and 3x at 114
+drops_by_luk2: 175
+
+// Whether or not Marine Spheres and Floras summoned by Alchemist drop items?
+// This setting has three available values:
+// 0: Nothing drops.
+// 1: Only marine spheres drop items.
+// 2: All alchemist summons drop items.
+alchemist_summon_reward: 1
+
+// The maximum number of full iterations that server can do when dropping an item with options.
+// When picking random options for a dropped item, it does lots of iterations to choose the option to be set,
+// this value limits the number of iterations to avoid making the server hang in a long loop.
+option_drop_max_loop: 10
+
+// Does autoloot take into account player bonuses and penalties? (Note 1)
+// If RENEWAL_DROP, Bubble Gum, or any other modifiers are active autoloot will take them into account.
+autoloot_adjust: false
diff --git a/conf/map/battle/exp.conf b/conf/map/battle/exp.conf
new file mode 100644
index 0000000..25d64b5
--- /dev/null
+++ b/conf/map/battle/exp.conf
@@ -0,0 +1,117 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+// Battle (Experience) Configuration File
+//=========================================================================
+// Note 1: Value is a config switch (true/false)
+// Note 2: Value is in percents (100 means 100%)
+// Note 3: The max level of classes is stored in the exp table.
+// See files db/exp.txt and db/exp2.txt to change them.
+//=========================================================================
+
+// Rate at which exp. is given. (Note 2)
+// Modifying this value is without effect, as it is override during script runtime.
+base_exp_rate: 100
+
+// Rate at which job exp. is given. (Note 2)
+// Modifying this value is without effect, as it is override during script runtime.
+job_exp_rate: 100
+
+// Turn this on to allow a player to level up more than once from a kill. (Note 1)
+multi_level_up: false
+
+// Setting this can cap the max experience one can get per kill specified as a
+// % of the current exp bar. (Every 10 = 1.0%)
+// For example, set it to 500 and no matter how much exp the mob gives,
+// it can never give you above half of your current exp bar.
+max_exp_gain_rate: 0
+
+// Method of calculating earned experience when defeating a monster:
+// 0 = uses damage given / total damage as damage ratio
+// 1 = uses damage given / max_hp as damage ratio
+// NOTE: Using type 1 disables the bonus where the first attacker gets
+// his share of the exp doubled when multiple people attack the mob.
+exp_calc_type: 0
+
+// Experience increase per attacker. That is, every additional attacker to the
+// monster makes it give this much more experience
+// (eg: 5 people attack with 25 here, +(25*4)% -> +100% exp)
+exp_bonus_attacker: 35
+
+// Max number of attackers at which exp bonus is capped
+// (eg: if set at 5, the max bonus is 4*bonus-per-char regardless of attackers)
+// It is set at 10, that is, maximum of 315% bonus EXP.
+exp_bonus_max_attacker: 10
+
+// MVP bonus exp rate. (Note 2)
+mvp_exp_rate: 100
+
+// Rate of base/job exp given by NPCs. (Note 2)
+quest_exp_rate: 100
+
+// The rate of job exp. from using Heal skill (100 is the same as the heal amount, 200 is double.
+// The balance of the exp. rate is best used with 5 to 10)
+heal_exp: 0
+
+// The rate of exp. that is gained by the process of resurrection, a unit is 0.01%.
+// Experience calculations for the experience value * level difference of the person revived / 100 * resurrection_exp/10000 which the revived player has can be got.
+resurrection_exp: 0
+
+// The rate of job exp. when using discount and overcharge on an NPC
+// (in 0.01% increments - 100 is 1%, 10000 is normal, 20000 is double.)
+// The way it is calculated is (money received * skill lv) * shop_exp / 10000.
+shop_exp: 0
+
+// PVP exp. Do players get exp in PvP maps
+// (Note: NOT exp from players, but from normal leveling)
+pvp_exp: true
+
+// When a player dies, how should we penalize them?
+// 0 = No penalty.
+// 1 = Lose % of current level when killed.
+// 2 = Lose % of total experience when killed.
+death_penalty_type: 1
+
+// Base exp. penalty rate (Each 100 is 1% of their exp)
+death_penalty_base: 321
+
+// Job exp. penalty rate (Each 100 is 1% of their exp)
+death_penalty_job: 312
+
+// When a player dies (to another player), how much zeny should we penalize them with?
+// NOTE: It is a percentage of their zeny, so 100 = 1%
+zeny_penalty: 0
+
+// Will display experience gained from killing a monster. (Note 1)
+disp_experience: false
+
+// Will display zeny earned (from mobs, trades, etc) (Note 1)
+disp_zeny: false
+
+// Use the contents of db/statpoint.txt when doing a stats reset and leveling up? (Note 1)
+// If false, an equation will be used which preserves statpoints earned/lost
+// through external means (ie: stat point buyers/sellers)
+use_statpoint_table: true
diff --git a/conf/map/battle/feature.conf b/conf/map/battle/feature.conf
new file mode 100644
index 0000000..aaa2fc8
--- /dev/null
+++ b/conf/map/battle/feature.conf
@@ -0,0 +1,101 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2019 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/>.
+//=========================================================================
+// Battle (Feature) Configuration File
+//=========================================================================
+// Note 1: Value is a config switch (true/false)
+//=========================================================================
+
+features: {
+ // Buying store (Note 1)
+ // Requires: 2010-04-27aRagexeRE or later
+ buying_store: true
+
+ // Search stores (Note 1)
+ // Requires: 2010-08-03aRagexeRE or later
+ search_stores: true
+
+ // Atcommand suggestions (Note 1)
+ // If one type incomplete atcommand, it will suggest the complete ones.
+ atcommand_suggestions: false
+
+ // Banking (Note 1)
+ // Requires: 2013-07-24aRagexe or later
+ banking: true
+
+ // Auction (Note 1)
+ // Feature became unstable on clients 2012 onwards (exact date not known),
+ // it has been fixed on clients 2013-05-15 onwards however.
+ auction: false
+
+ // Roulette (Note 1)
+ // Requires: 2014-10-22bRagexe or later
+ // Disabled by default while test version is out; enable at your own risk -- the mean dev.
+ roulette: false
+
+ // Enabled RoDEX (Note 1)
+ // Requires: 2015-05-13aRagexe or later
+ rodex: true
+
+ // Allow usage of "Account Mail" box in RoDEX?
+ // Requires: 2016-03-16aRagexeRE or later
+ // This is disabled in client-side in some client versions
+ // Disabled by default
+ rodex_use_accountmail: false
+
+ // Allow Homunculus autofeeding
+ // true: enable (Default)
+ // false: disable
+ enable_homun_autofeed: false
+
+ // Allow Pet autofeeding
+ // true: enable (Default)
+ // false: disable
+ enable_pet_autofeed: false
+
+ // Enable Attendance System for clients >= 2018-03-07bRagexeRE or 2018-04-04bRagexe
+ // true: enable (Default)
+ // false: disable (NYI on TMW2)
+ enable_attendance_system: false
+
+ // Attendance End time in the format YearMonthDay
+ feature_attendance_endtime: 20180331
+
+ // Enable Achievement System
+ // true: enable (Default)
+ // false: disable
+ enable_achievement_system: false
+
+ // Enable Refinery UI (requires 2016-10-05Ragexe/RE)
+ // true: enable (Default)
+ // false: disable
+ enable_refinery_ui: false
+
+ // Replace Refine NPCs with Refinery UI
+ // true: enable
+ // false: disable (default)
+ replace_refine_npcs: false
+}
diff --git a/conf/map/battle/gm.conf b/conf/map/battle/gm.conf
new file mode 100644
index 0000000..ce8092c
--- /dev/null
+++ b/conf/map/battle/gm.conf
@@ -0,0 +1,66 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+// Battle (GM) Configuration File
+//=========================================================================
+// Note 1: Value is a config switch (true/false)
+// Note 2: Value is in percents (100 means 100%)
+//=========================================================================
+
+// The maximum quantity of monsters that can be summoned per GM command (0 denotes an unlimited quantity)
+atcommand_spawn_quantity_limit: 60
+
+// Maximum number of slave-clones that can be have by using the @slaveclone at command. (0 denotes unlimited quantity)
+atcommand_slave_clone_limit: 15
+
+// If false, commands require exact player name. If true, entering a partial
+// name will work, as long as there's only one match from all players in the
+// current map server.
+partial_name_scan: false
+
+// (@) @allstats/@str/@agi/@vit/@int/@dex/@luk
+// allow gms to bypass the maximum stat parameter? ( if true gm stats can go up to 32k )
+// default: false
+atcommand_max_stat_bypass: false
+
+// Ban people that try trade dupe.
+// Duration of the ban, in minutes (default: 5). To disable the ban, set 0.
+ban_hack_trade: 0
+
+// requires RENEWAL_DROP to be enabled (src/map/config/renewal.h)
+// modifies @mobinfo to display the users' real drop rate as per renewal_drop formula
+// modifies @iteminfo to not display the minimum item drop rate (since it can't tell the mob level)
+atcommand_mobinfo_type: 0
+
+// Ignore warpable area configuration.
+// Set the minimum group id to ignore invalid cells when warping.
+// Default group is 2. Use 100 to disable this setting.
+gm_ignore_warpable_area: 100
+
+// Should atcommands trigger level up events for NPCs? (Note 1)
+// This option is for @baselevelup and @joblevelup
+// Default: false
+atcommand_levelup_events: false
diff --git a/conf/map/battle/guild.conf b/conf/map/battle/guild.conf
new file mode 100644
index 0000000..fde34b8
--- /dev/null
+++ b/conf/map/battle/guild.conf
@@ -0,0 +1,74 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+// Battle (Guild) Configuration File
+//=========================================================================
+// Note 1: Value is a config switch (true/false)
+// Note 2: Value is in percents (100 means 100%)
+//=========================================================================
+
+// When making a guild, an Emperium is consumed? (Note 1)
+guild_emperium_check: true
+
+// Maximum tax limit on a guild member.
+guild_exp_limit: 50
+
+// Maximum castles one guild can own (0 = unlimited)
+guild_max_castles: 0
+
+// How guild skills cooldown works?
+// 0 - you relog with the same cooldown remaining as from when you logged out
+// 1 - restarts the cooldown upon login to its full duration.
+// 2 - like 1, but your logged off time is also decreased from the remaining cooldown (Aegis)
+guild_skill_relog_delay: 2
+
+// Damage adjustments for WOE battles against defending Guild monsters (Note 2)
+castle_defense_rate: 100
+
+// Flee penalty on gvg grounds. Official value is 20 (Note 2)
+// NOTE: It's %, not absolute, so 20 is -20% of your total flee
+gvg_flee_penalty: 20
+
+// Can the 'Glory of Guild' skill be learnt in the Guild window,
+// and does changing emblems require it? (Note 1)
+// P.S: This skill is not implemented on official servers
+require_glory_guild: false
+
+// Limit Guild alliances. Value is 0 to 3.
+// If you want to change this value, clear the guild alliance table.
+// Default is 3
+max_guild_alliance: 3
+
+// When to re-display the guild notice
+// Upon teleporting (regardless of changing maps): 2 (official)
+// Upon changing maps: 1
+// Do not re-display: 0 (disabled)
+guild_notice_changemap: 0
+
+// Can guild members invite/expel members inside guild castles in WoE/GvG? (Note 1)
+// default: false
+guild_castle_invite: false
+guild_castle_expulsion: false
diff --git a/conf/map/battle/homunc.conf b/conf/map/battle/homunc.conf
new file mode 100644
index 0000000..f86ce4c
--- /dev/null
+++ b/conf/map/battle/homunc.conf
@@ -0,0 +1,72 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+// Battle (Homunculus) Configuration File
+//=========================================================================
+// Note 1: Value is a config switch (true/false)
+// Note 2: Value is in percents (100 means 100%)
+// Note 3: Value is a bit field. If no description is given,
+// assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary)
+//=========================================================================
+
+// Homunculus setting (Note 3)
+// Activates various 'quirks' that makes them behave unlike normal characters.
+// 0x001: Can't be targetted by support skills (except for their master)
+// 0x004: Mobs will always go after them instead of players until attacked
+// 0x008: Copy their master's speed on spawn/map-change
+// 0x010: They display luk/3+1 instead of their actual critical in the
+// stat window (by default they don't crit)
+// 0x020: Their Min-Matk is always the same as their max
+// 0x040: Skill re-use delay is reset when they are vaporized.
+// 0x1D = 29 = 0x010 +0x008 + 0x004 + 0x001
+hom_setting: 0x1D
+
+// The rate a homunculus will get friendly by feeding it. (Note 2)
+homunculus_friendly_rate: 500
+
+// Can you name a homunculus more then once? (Note 1)
+hom_rename: true
+
+// Intimacy needed to use Evolved Vanilmirth's Bio Explosion
+hvan_explosion_intimate: 45000
+
+// Show stat growth to the owner when an Homunculus levels up
+homunculus_show_growth: true
+
+// Does autoloot work, when a monster is killed by homunculus only?
+homunculus_autoloot: true
+
+// Should homunculi Vaporize when Master dies?
+homunculus_auto_vapor: true
+
+// Max level for regular Homunculus
+homunculus_max_level: 140
+
+// Max level for Homunculus S
+homunculus_S_max_level: 150
+
+// Bonus EXP homunculus received from master? (Note 2)
+hom_bonus_exp_from_master: 15
diff --git a/conf/map/battle/items.conf b/conf/map/battle/items.conf
new file mode 100644
index 0000000..60580cb
--- /dev/null
+++ b/conf/map/battle/items.conf
@@ -0,0 +1,133 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+// Battle (Items) Configuration File
+//=========================================================================
+// Note 1: Value is a config switch (true/false)
+// Note 2: Value is in percents (100 means 100%)
+// Note 3: Value is a bit field. If no description is given,
+// assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary)
+//=========================================================================
+
+// The highest value at which an item can be sold via the merchant vend skill. (in zeny)
+vending_max_value: 1000000000
+
+// Whether to allow buying from vending chars that are at their max. zeny limit.
+// If set to true, the rest of the zeny above the char's capacity will disappear.
+vending_over_max: true
+
+// Tax to apply to all vending transactions (eg: 10000 = 100%, 50 = 0.50%)
+// When a tax is applied, the item's full price is charged to the buyer, but
+// the vender will not get the whole price paid (they get 100% - this tax).
+vending_tax: 200
+
+// Show the buyer's name when successfully vended an item
+buyer_name: true
+
+// Forging success rate. (Note 2)
+weapon_produce_rate: 100
+
+// Prepare Potion success rate. (Note 2)
+potion_produce_rate: 100
+
+// Do produced items have the maker's name on them? (Note 3)
+// 0x01: Produced Weapons
+// 0x02: Produced Potions
+// 0x04: Produced Arrows
+// 0x08: Produced Holy Water/Ancilla
+// 0x10: Produced Deadly Potions
+// 0x80: Other produced items.
+produce_item_name_input: 0x03
+
+// Is a monster summoned via dead branch aggressive? (Note 1)
+dead_branch_active: true
+
+// Should summoned monsters check the player's base level? (dead branches) (Note 1)
+// On officials this is false - monsters summoned from dead/bloody branches can be ANY level.
+// Change to true to only summon monsters less than or equal to the player's base level.
+random_monster_checklv: false
+
+// Can any player equip any item regardless of the gender restrictions
+// NOTE: Wedding Rings and Whips/Musical Instruments will check gender regardless of setting.
+ignore_items_gender: true
+
+// Item check? (Note 1)
+// On map change it will check for items not tagged as "available" and
+// auto-delete them from inventory/cart.
+// NOTE: An item is not available if it was not loaded from the item_db or you
+// specify it as unavailable in db/item_avail.txt
+item_check: false
+
+// How much time must pass between item uses?
+// Only affects the delay between using items, prevents healing item abuse. Recommended ~500 ms
+// On officials this is 0, but it's set to 100ms as a measure against bots/macros.
+item_use_interval: 100
+
+// Required level of bNoMagicDamage before Status Changes are blocked (Golden Thief Bug card).
+// For example, if left at 50. An item can give bNoMagicDamage,40;
+// which reduces magic damage by 40%, but does not blocks status changes.
+gtb_sc_immunity: 50
+
+// Enable autospell card effects to stack?
+// NOTE: Different cards that grant the same skill will both
+// always work independently of each other regardless of setting.
+autospell_stacking: false
+
+// Will disabled consumables (disabled by map_zone_db.conf) be consumed when trying to use them?
+// Default: true (official)
+item_restricted_consumption_type: false
+
+// Enable all NPC to allow changing of equipments while interacting? (Note 1)
+// Script commands 'enable_items/disable_items' will not be override. (see doc/script_commands.txt)
+// Default: true (official)
+item_enabled_npc: false
+
+// Unequip the equipments that has disabled by map_zone_db.conf ?
+// 0 : disabled equipments and cards are nullify (official)
+// 1 : disabled equipments are unequip, disabled cards are nullify
+// 2 : disabled equipments are nullify, disabled cards will caused the equipment to unequip
+// 3 : disabled equipments are unequip, disabled cards will caused the equipment to unequip (1+2)
+unequip_restricted_equipment: 1
+
+// When unequip a bow with arrow equipped, it also unequip the arrow?
+// Default: true (Official behavior, applies only in Renewal)
+bow_unequip_arrow: false
+
+// How much should rental mounts increase a player's movement speed? (Note 2)
+// Official: 25 (Default) - TODO: Setting to 0 Doesn't works :-(
+boarding_halter_speed: 25
+
+// Allow to use items when the storage is open?
+// Official: false (Default)
+storage_use_item: false
+
+// Minimum item buy price at shop
+// Default: 1
+min_item_buy_price: 1
+
+// Minimum item sell price at shop
+// Default: 0
+min_item_sell_price: 0
diff --git a/conf/map/battle/limits.conf b/conf/map/battle/limits.conf
new file mode 100644
index 0000000..7849821
--- /dev/null
+++ b/conf/map/battle/limits.conf
@@ -0,0 +1,57 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2019 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/>.
+//=========================================================================
+// Battle (Limits) Configuration File
+//=========================================================================
+
+// basic attack limits
+batk_min_limit: 0
+batk_max_limit: 65535
+
+// magic attack limits
+
+matk_min_limit: 0
+matk_max_limit: 65535
+
+// weapon attack limits
+watk_min_limit: 0
+watk_max_limit: 65535
+
+// flee limits
+flee_min_limit: 1
+flee_max_limit: 32767
+
+// flee2 limits
+flee2_min_limit: 10
+flee2_max_limit: 32767
+
+// critical attack limits
+critical_min_limit: 10
+critical_max_limit: 32767
+
+// hit limits
+hit_min_limit: 1
+hit_max_limit: 32767
diff --git a/conf/map/battle/misc.conf b/conf/map/battle/misc.conf
new file mode 100644
index 0000000..7575cdb
--- /dev/null
+++ b/conf/map/battle/misc.conf
@@ -0,0 +1,173 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+// Battle (Misc) Configuration File
+//=========================================================================
+// Note 1: Value is a config switch (true/false)
+// Note 2: Value is in percents (100 means 100%)
+// Note 3: Value is a bit field. If no description is given,
+// assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary)
+//=========================================================================
+
+// PK Server Mode.
+// Turns entire server pvp(excluding towns).
+// Experience loss is doubled if killed by another player.
+// When players hunt monsters over 20 levels higher, they will receive 15%
+// additional exp., and 25% chance of receiving more items.
+// There is a nopvp.txt for setting up maps not to have pk on in this mode.
+// Novices cannot be attacked and cannot attack.
+// Normal pvp counter and rank display are disabled as well.
+// Note: If pk_mode is set to 2 instead of 1, players will receive a
+// manner penalty of 5 each time they kill another player (see manner_system
+// config to adjust how this will affect players)
+pk_mode: 0
+
+// Manner/karma system configuration. Specifies how does negative manner
+// (red no chat bubble) affects players (add as needed):
+// 0: No penalties.
+// 1: Disables chatting (includes whispers, party/guild msgs, etc)
+// 2: Disables skill usage
+// 4: Disables commands usage
+// 8: Disables item usage/picking/dropping
+// 16: Disables room creation (chatrooms and vending shops)
+manner_system: 31
+
+// For PK Server Mode. Change this to define the minimum level players can start PK-ing
+pk_min_level: 55
+
+// For PK Server Mode. It specifies the maximum level difference between
+// players to let them attack each other. 0 disables said limit.
+pk_level_range: 0
+
+// Display skill usage in console? (for debug only) (default: false) (Note 3)
+skill_log: false
+
+// Display battle log? (for debug only) (default: false) (Note 1)
+battle_log: false
+
+// Display other stuff? (for debug only) (default: false) (Note 1)
+etc_log: false
+
+// Do you want to debug warp points? If set to true, warp points will appear as flags.(Note 1)
+// It will also run on start-up a warp-check to print out which warp points lead directly on
+// top of on-touch npcs (which can lead to infinite loopback warping situations)
+warp_point_debug: false
+
+// Choose if server begin with night (true) or day (false)
+night_at_start: false
+
+// Define duration in msec of the day (default: 7200000 = 2 hours)
+// Set to 0 to disable day cycle (but not @day GM command).
+// Except 0, minimum is 60000 (1 minute)
+day_duration: 0
+
+// Define duration in msec of the night (default: 1800000 = 30 min)
+// Set to 0 to disable night cycle (but not @night GM command).
+// Except 0, minimum is 60000 (1 minute)
+night_duration: 0
+
+// Using duel on pvp-maps
+duel_allow_pvp: false
+
+// Using duel on gvg-maps
+duel_allow_gvg: false
+
+// Allow using teleport/warp when dueling
+duel_allow_teleport: false
+
+// Autoleave duel when die
+duel_autoleave_when_die: true
+
+// Delay between using @duel in minutes
+duel_time_interval: 1
+
+// Restrict duel usage to same map
+duel_only_on_same_map: false
+
+// Determines max number of characters that can stack within a single cell.
+// Official - Only affects the walking routines of characters, including monsters.
+// If a unit stops walking and is on a cell with more than stack limit
+// characters on it, it will walk to the closest free cell.
+// Custom - This variation will make every full cell to be considered a wall.
+// NOTE: For this setting to take effect you have to use a server compiled
+// with Cell Stack Limit support (see src/map/map.h)
+official_cell_stack_limit: 0
+custom_cell_stack_limit: 1
+
+// If false while walking not check occupied cells
+// If true while walking check occupied cells
+check_occupied_cells: false
+
+// Allow autotrade only in map with autotrade flag?
+// Set this to "false" will allow autotrade where no "autotrade" mapflag is set
+// Set this to "true" to only allow autotrade on maps with "autotrade" mapflag
+at_mapflag: false
+
+// Set this to the amount of minutes autotrade chars will be kicked from the server.
+at_timeout: 0
+
+// Auction system, fee per hour. Default is 12000
+auction_feeperhour: 12000
+
+// Auction maximum sell price
+auction_maximumprice: 500000000
+
+// Minimum delay between each store search query in seconds.
+searchstore_querydelay: 10
+
+// Maximum amount of results a store search query may yield, before
+// it is canceled.
+searchstore_maxresults: 30
+
+// Whether or not gaining and loosing of cash points is displayed (Note 1).
+// Default: false
+cashshop_show_points: false
+
+// Whether or not mail box status is displayed upon login.
+// Default: 0
+// 0 = No
+// 1 = Yes
+// 2 = Yes, when there are unread mails
+mail_show_status: 0
+
+// Is monster transformation disabled during Guild Wars?
+// If set to true, monster transforming is automatically removed/disabled when entering castles during WoE times
+mon_trans_disable_in_gvg: false
+
+// Whether AegisName and SpriteName lookups are case sensitive
+// Default: true (as in official servers)
+// When this is set to true, item and monster lookups through atcommands and
+// script commands will match AegisNames and SpriteNames only when the case
+// matches. Display name lookups are not affected by this setting.
+// Example: Given the two items:
+// - { Id: 553, AegisName: "Bun", Name: "Bao" }
+// - { Id: 6115, AegisName: "Bun_", Name: "Bun" }
+// query when true when false
+// @item bun # 6115 # 553
+// @item Bun # 553 # 553
+// @item Bao # 553 # 553
+// @item Bun_ # 6115 # 6115
+case_sensitive_aegisnames: true
diff --git a/conf/map/battle/monster.conf b/conf/map/battle/monster.conf
new file mode 100644
index 0000000..f67a951
--- /dev/null
+++ b/conf/map/battle/monster.conf
@@ -0,0 +1,278 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+// Battle (Monster) Configuration File
+//=========================================================================
+// Note 1: Value is a config switch (true/false)
+// Note 2: Value is in percents (100 means 100%)
+// Note 3: Value is a bit field. If no description is given,
+// assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary)
+//=========================================================================
+
+// The HP rate of MVPs. (Note 2)
+mvp_hp_rate: 100
+
+// The HP rate of normal monsters (that is monsters that are not MVP's) (Note 2)
+// Modifying this value is without effect, as it is override during script runtime.
+monster_hp_rate: 90
+
+// The maximum attack speed of a monster
+monster_max_aspd: 199
+
+// Defines various mob AI related settings. (Note 3)
+// 0x001: When enabled mobs will update their target cell every few iterations
+// (normally they never update their target cell until they reach it while
+// chasing)
+// 0x002: Makes mob use their "rude attack" skill (usually warping away) if they
+// are attacked and they can't attack back regardless of how they were
+// attacked (eg: GrimTooth), otherwise, their rude attack" is only activated
+// if they can't melee reach the target (eg: sniping)
+// 0x004: If not set, mobs that can change target only do so when melee attacked
+// (distance player/mob < 3), otherwise mobs may change target and chase
+// ranged attackers. This flag also overrides the 'provoke' target.
+// 0x008: When set, mobs scatter as soon as they lose their target. Use this mode
+// to make it much harder to mob-train by hiding and collecting them on a
+// single spot (ie: GrimTooth training)
+// 0x010: If set, mob skills defined for friends will also trigger on themselves.
+// 0x020: When set, the monster ai is executed for all monsters in maps that
+// have players on them, instead of only for mobs who are in the vicinity
+// of players.
+// 0x040: When set, when the mob's target changes map, the mob will walk towards
+// any npc-warps in it's sight of view (use with mob_warp below)
+// 0x100: When set, a mob will pick a random skill from it's list and start from
+// that instead of checking skills in orders (when unset, if a mob has too
+// many skills, the ones near the end will rarely get selected)
+// 0x200: When set, a mob's skill re-use delay will not be applied to all entries of
+// the same skill, instead, only to that particular entry (eg: Mob has heal
+// on six lines in the mob_skill_db, only the entry that is actually used
+// will receive the delay). This will make monsters harder, especially MvPs.
+// 0x400: Set this to make mobs have a range of 9 for all skills. Otherwise, they
+// will obey the normal skill range rules.
+// Example: 0x140 -> Chase players through warps + use skills in random order.
+monster_ai: 0x201
+
+// How often should a monster rethink its chase?
+// 0: Every 100ms (MIN_MOBTHINKTIME)
+// 1: Every cell moved
+// 2: Every 2 cells moved
+// 3: Every 3 cells moved (official)
+// x: Every x cells moved
+// Regardless of this setting, a monster will always rethink its chase if it has
+// reached its target. Increase this value if you want to make monsters continue
+// moving after they lost their target (hide, no line of sight, etc.).
+monster_chase_refresh: 2
+
+// Should mobs be able to be warped (add as needed)?
+// 0: Disable.
+// 1: Enable mob-warping when standing on NPC-warps
+// 2: Enable mob-warping when standing on Priest Warp Portals
+// 4: Disable warping when the target map is a 'nobranch' map.
+mob_warp: 0
+
+// If these are set above 0, they define the time (in ms) during which monsters
+// will have their 'AI' active after all players have left their vicinity.
+mob_active_time: 0
+boss_active_time: 0
+
+// Mobs and Pets view-range adjustment (range2 column in the mob_db) (Note 2)
+view_range_rate: 100
+
+// Chase Range is the base minimum-chase that a mob gives before giving up
+// (as long as the target is outside their field of view). This is the range3
+// column in the mob_db. (Note 2)
+chase_range_rate: 100
+
+// Allow monsters to be aggresive and attack first? (Note 1)
+monster_active_enable: true
+
+// Should the mob_db names override the mob names specified in the spawn files?
+// 0: No
+// 1: always use the mob_db Name column (english mob name)
+// 2: always use the mob_db JName column (original Kro mob name)
+override_mob_names: 0
+
+// Monster damage delay rate (Note 2)
+// Setting to 0 is like they always have endure.
+monster_damage_delay_rate: 100
+
+// Looting monster actions.
+// 0 = Monster will consume the item.
+// 1 = Monster will not consume the item.
+monster_loot_type: 0
+
+// Chance of mob casting a skill (Note 2)
+// Higher rates lead to 100% mob skill usage with no/few normal attacks.
+// Set to 0 to disable mob skills.
+mob_skill_rate: 100
+
+// Mob skill delay adjust (Note 2)
+// After a mob has casted a skill, there is a delay before being able to
+// re-cast it. Note that skills with a delay of 0 can't be affected by this
+// setting.
+mob_skill_delay: 100
+
+// Rate of monsters on a map, 200 would be twice as many as normal. (Note 2)
+mob_count_rate: 100
+
+// Respawn rate of monsters on a map. 50 would make mobs respawn twice as fast (half delay time) (Note 2)
+//Note: This does not affects mobs with immediate respawn (most normal mobs)
+// mob_spawn_delay: Modifying this value is without effect, as it is override during script runtime.
+mob_spawn_delay: 100
+plant_spawn_delay: 100
+boss_spawn_delay: 100
+
+// Should mobs not spawn within the viewing range of players?
+// 0 is disabled, otherwise it is the number of retries before giving up
+// and spawning the mob within player-view anyway, unless the max (100) is used,
+// in which case the mob will not be spawned, and it'll be retried again in
+// 5 seconds.
+// NOTE: This has no effect on mobs that always spawn on the very same cell
+// (like ant eggs) except if you set it to the max.
+no_spawn_on_player: 0
+
+// Should spawn coordinates in the mob-spawn files be ignored? (Note 1)
+// If set to true, all monsters will have a random respawn spot across the whole
+// map regardless of what the mob-spawn file says.
+force_random_spawn: false
+
+// Do summon slaves inherit the passive/aggressive traits of their master?
+// 0: No, retain original mode.
+// 1: Slaves are always aggressive.
+// 2: Slaves are always passive.
+// 3: Same as master's aggressive/passive state.
+slaves_inherit_mode: 0
+
+// Do summon slaves have the same walking speed as their master?
+// NOTE: The default is 3 for official servers.
+// 0: Never.
+// 1: If the master can walk
+// 2: If the master can't walk (even motionless mobs have a speed
+// entry in their mob_db)
+// 3: Always
+slaves_inherit_speed: 0
+
+// Will summoned monsters (alchemists, or @summon'ed monsters) attack cause a
+// chance of triggering the master's autospell cards? (Note 1)
+summons_trigger_autospells: true
+
+// When a mob is attacked by another monster, will the mob retaliate against the master of said mob instead of the mob itself?
+// NOTE: Summoned mobs are both those acquired via @summon and summoned by Alchemists
+retaliate_to_master: false
+
+// Whether mobs should change target temporarily when a skill triggers a counter mob skill (Note 1)
+// eg: Mob attacks player B, and player A casts a skill C. If set to true and the
+// mob has a skill that is triggered by skill C, then A will be the target of
+// the skill, otherwise B will be targetted by the reaction skill.
+mob_changetarget_byskill: false
+
+// If monster's class is changed will it fully recover HP? (Note 1)
+monster_class_change_full_recover: true
+
+// Display some mob info next to their name? (add as needed)
+// (does not works on guardian or Emperium)
+// 1: Display mob HP (Hp/MaxHp format)
+// 2: Display mob HP (Percent of full life format)
+// 4: Display mob's level
+show_mob_info: 0
+
+// Zeny from mobs
+zeny_from_mobs: false
+
+// Monsters level up (monster will level up each time a player is killed and they will grow stronger)
+// Exp rate is calculated ((monster level-original monster level)*(exp*(mobs_level_up_exp rate/100)))
+// NOTE: Does not apply to WoE Guardians.
+mobs_level_up: false
+mobs_level_up_exp_rate: 1
+
+// Dynamic Mobs Options
+// Use dynamic mobs? (recommended for small-medium sized servers)
+dynamic_mobs: true
+
+// Remove Mobs even if they are hurt
+mob_remove_damaged: true
+
+// Delay before removing mobs from empty maps (default 5 min = 300 secs)
+mob_remove_delay: 300000
+
+// Defines on who the mob npc_event gets executed when a mob is killed.
+// Type 1: On the player that killed the mob (if killed by a non-player, resorts to type 0)
+// Type 0: On the player that did the most damage to the mob.
+// NOTE: This affects who gains the Castle when the Emperium is broken.
+mob_npc_event_type: 0
+
+// Time in milliseconds to activate protection against Kill Steal
+// Set to 0 to disable it.
+// If this is activated and a player is using @noks, damage from others players (KS) not in the party
+// will be reduced to 0.
+ksprotection: 0
+
+// Should MVP slaves retain their target when summoned back to their master?
+mob_slave_keep_target: true
+
+// Whether or not to spawn the mvp tomb.
+// See http://irowiki.org/wiki/MVP#Gravestone
+mvp_tomb_enabled: true
+
+// Delay before a tomb is spawned, in milliseconds.
+// Default: 10000 (10 seconds)
+mvp_tomb_spawn_delay: 10000
+
+// Show hp bar on monsters? (Default: yes)
+// NOTE: only works on client 2012-04-04aRagexeRE onwards
+show_monster_hp_bar: true
+
+// Whether or not the size of specially summoned mobs influences experience, drop rates,
+// and stats. The rates will be doubled for large mobs, and halved for small ones.
+// This is only invoked under the 'monster' command, @monsterbig, and @monstersmall. (Note 1)
+// Default: false
+mob_size_influence: false
+
+// How should a monster be trapped by an icewall casted directly on it?
+// On official servers, monsters can only leave an icewall to the west and south. If their target is north or east of
+// them they will continously try to chase it but fail doing so. This brings them into a loop during which they will use
+// idle and chase skills. Boss monsters on the other hand will behave like a trapped monster, do not move and will use
+// idle and rudeattacked skills (when attacked).
+// 0: Monster won't be stuck in icewall at all.
+// 1: Monster will behave like a trapped monster.
+// 2-255: Number of loops a monster will go through the behavior described above before it frees itself from icewall.
+// NOTE: On some servers, normal monsters can free themselves after 15-35 second depending on their speed. On other
+// servers, they will be stuck inside icewall until it expires. Also, many official servers (e.g. iRO) have casting
+// icewall completely blocked on all maps that have boss monsters on them.
+// Default (least exploitable): mob - 75, boss - 0
+// Default (most official): mob - 220, boss - 1
+mob_icewall_walk_block: 220
+boss_icewall_walk_block: 1
+
+// Which level of of Vulture's Eye and Snake's Eye should monsters have learned?
+// Officially monsters don't have these skills learned, so their ranged skills
+// only have a range of 9. If you put a number higher than 0, their range will
+// be increased by that number.
+monster_eye_range_bonus: 0
+
+// Should slaves chase after what their master is chasing?
+// false: Don't chase after what master is chasing. (old behavior)
+// true: Chase after what master is chasing. (official, default)
+slave_chase_masters_chasetarget: false
diff --git a/conf/map/battle/party.conf b/conf/map/battle/party.conf
new file mode 100644
index 0000000..561e51b
--- /dev/null
+++ b/conf/map/battle/party.conf
@@ -0,0 +1,82 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+// Battle (Party) Configuration File
+//=========================================================================
+// Note 1: Value is a config switch (true/false)
+// Note 2: Value is in percents (100 means 100%)
+//=========================================================================
+
+// If someone steals (gank/steal skills), show name in party? (Note 1)
+show_steal_in_same_party: false
+
+// Interval before updating the party-member map mini-dots (milliseconds)
+party_update_interval: 1000
+
+// Method used to update party-mate hp-bars:
+// 0: Aegis - bar is updated every time HP changes (bandwidth intensive)
+// 1: Athena - bar is updated with the party map dots (up to 1 second delay)
+party_hp_mode: 1
+
+// When changing party leader, should the new leader be in the same map
+// as the current leader. (Note 1)
+// true: Aegis - They must be in the same map
+// false: Athena - They can be in different maps
+party_change_leader_same_map: false
+
+// When 'Party Share' item sharing is enabled in a party,
+// announce in the party which party-member received the item and what's he received? (Note 1)
+show_party_share_picker: true
+
+// What types of items are going to be announced when 'show_party_share_picker' is active?
+// 1: IT_HEALING, 2: IT_UNKNOWN, 4: IT_USABLE, 8: IT_ETC,
+// 16: IT_WEAPON, 32: IT_ARMOR, 64: IT_CARD, 128: IT_PETEGG,
+// 256: IT_PETARMOR, 512: IT_UNKNOWN2, 1024: IT_AMMO, 2048: IT_DELAYCONSUME
+// 262144: IT_CASH
+show_picker_item_type: 112
+
+// Method of distribution when item party share is enabled in a party:
+// 0: Normal (item goes to a random party member)
+// 1: Item Share is disabled for non-mob drops (player/pet drops)
+// 2: Round Robin (items are distributed evenly and in order among members)
+// 3: 1+2
+party_item_share_type: 0
+
+// Is exp/item sharing disabled for idle members in the party?
+// Set to 0, or the amount of seconds (NOT milliseconds) that need to pass before considering
+// a character idle.
+// Characters in a chat/vending are always considered idle.
+// A character's idle status is reset upon item use/skill use/attack (auto attack counts too)/movement.
+idle_no_share: 300
+
+// Give additional experience bonus per party-member involved on even-share parties (excluding yourself)?
+// ex. If set to 10, an even-share party of 5 people will receive +40% exp (4 members * 10% exp):
+// 140% party experience in total, so each member receives 140%/5 = 28% exp (instead of 20%).
+party_even_share_bonus: 9
+
+// Display party name regardless if player is in a guild.
+// Official servers do not display party name unless the user is in a guild. (Note 1)
+display_party_name: true
diff --git a/conf/map/battle/pet.conf b/conf/map/battle/pet.conf
new file mode 100644
index 0000000..415206b
--- /dev/null
+++ b/conf/map/battle/pet.conf
@@ -0,0 +1,100 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+// Battle (Pet) Configuration File
+//=========================================================================
+// Note 1: Value is a config switch (true/false)
+// Note 2: Value is in percents (100 means 100%)
+// Note 3: Value is a bit field. If no description is given,
+// assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary)
+//=========================================================================
+
+// Rate for catching pets (Note 2)
+pet_catch_rate: 100
+
+// Can you name a pet more then once? (Note 1)
+pet_rename: true
+
+// The rate a pet will get friendly by feeding it. (Note 2)
+pet_friendly_rate: 100
+
+// The rate at which a pet will become hungry. (Note 2)
+pet_hungry_delay_rate: 100
+
+// If your pet is hungry by how much will the friendlyness decrease by. (Default is 5)
+// Note: The friendlyness is 0-1000 total, at 0 the pet runs away.
+pet_hungry_friendly_decrease: 1
+
+// Does the pet need its equipment before it does its skill? (Note 1)
+pet_equip_required: false
+
+// When the master attacks a monster, whether or not the pet will also attack. (Note 1)
+pet_attack_support: true
+
+// When the master receives damage from the monster, whether or not the pet attacks back. (Note 1)
+pet_damage_support: false
+
+// Minimum intimacy necessary for a pet to support their master. Default is 900
+// (intimacy goes from 0 to 1000). At this minimum, support rate is 50% of pet's normal value.
+// At max (1000) support rate is 150%.
+pet_support_min_friendly: 850
+
+// Same as above, but this is to use the pet_script field with official pet abilities.
+pet_equip_min_friendly: 850
+
+// Whether or not the pet's will use skills. (Note 1)
+// Note: Offensive pet skills need at least pet_attack_support or
+// pet_damage_support to work (they trigger while the pet is attacking).
+pet_status_support: true
+
+// Rate at which a pet will support it's owner in battle. (Note 2)
+// Affects pet_attack_support & pet_damage_support.
+pet_support_rate: 100
+
+// Does the pets owner receive exp from the pets damage?
+pet_attack_exp_to_master: true
+
+// The rate exp. is gained from the pet attacking monsters
+pet_attack_exp_rate: 90
+
+// Pet leveling system. Use 0 to disable (default).
+// When enabled, a pet's level is a fixed % of the master's. (Note 2)
+// If 200%, pet has double level, if 50% pet has half your level, etc.
+pet_lv_rate: 14
+
+// When pet leveling is enabled, what is the max stats for pets?
+pet_max_stats: 99
+
+// When pet leveling is enabled, these are the imposed caps on
+// min/max damage. Note that these only cap atk1 and atk2, if you
+// enable pet_str, their max damage is then their base_atk + pet_max_atk2
+pet_max_atk1: 500
+pet_max_atk2: 1000
+
+// Are pets disabled during Guild Wars?
+// If set to true, pets are automatically returned to egg when entering castles during WoE times
+// and hatching is forbidden within as well.
+pet_disable_in_gvg: false
diff --git a/conf/map/battle/player.conf b/conf/map/battle/player.conf
new file mode 100644
index 0000000..b52f3c2
--- /dev/null
+++ b/conf/map/battle/player.conf
@@ -0,0 +1,229 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+// Battle (Player) Configuration File
+//=========================================================================
+// Note 1: Value is a config switch (true/false)
+// Note 2: Value is in percents (100 means 100%)
+// Note 3: Value is a bit field.
+//=========================================================================
+
+// Players' maximum HP rate? (Default is 100)
+hp_rate: 100
+
+// Players' maximum SP rate? (Default is 100)
+sp_rate: 100
+
+// Whether or not cards and attributes of the left hand are applied to the right hand attack (Note 1)
+// (It is true on official servers)
+left_cardfix_to_right: true
+
+// The amount of HP a player will respawn with, 0 is default.
+// (Unit is in percentage of total HP, 100 is full heal of HP, 0 is respawn with 1HP total.)
+restart_hp_rate: 37
+
+// The amount of SP a player will respawn with, 0 is default.
+// (Unit is in percentage of total SP, 100 is full heal of SP, 0 is respawn with 1SP total.)
+restart_sp_rate: 27
+
+// Can a normal player by-pass the skill tree? (Note 1)
+player_skillfree: false
+
+// When set to true, forces skill points gained from 1st class to be put into 1st class
+// skills, and forces novice skill points to be put into the basic skill. (Note 1)
+player_skillup_limit: true
+
+// Quest skills can be learned? (Note 1)
+// Setting this to true can open an exploit on your server!
+quest_skill_learn: false
+
+// When skills are reset, quest skills are reset as well? (Note 1)
+// Setting this to true can open an exploit on your server!
+// NOTE: If you have quest_skill_learn set to true, quest skills are always reset.
+quest_skill_reset: false
+
+// You must have basic skills to be able to sit, trade, form a party or create a chatroom? (Note 1)
+basic_skill_check: true
+
+// When teleporting, or spawning to a map, how long before a monster sees you if you don't move? (time is in milliseconds)
+// That is, when you go to a map and don't move, how long before the monsters will notice you.
+// When moving, attacking or doing similar actions, the effect ends instantly.
+// Value is also affected by 'invincible_time_inc' mapflag
+player_invincible_time: 5000
+
+// When set to true, it prevent portal abuse for avoid hits. Official value is false.
+fix_warp_hit_delay_abuse: true
+
+// The time interval for HP to restore naturally. (in milliseconds)
+natural_healhp_interval: 2500
+
+// The time interval for SP to restore naturally. (in milliseconds)
+natural_healsp_interval: 15000
+
+// Automatic healing skill's time interval. (in milliseconds)
+natural_heal_skill_interval: 5000
+
+// The maximum weight for a character to carry when the character stops healing naturally. (in %)
+natural_heal_weight_rate: 50
+
+// Maximum atk speed. (Default 190, Highest allowed 199)
+max_aspd: 190
+
+// Same as max_aspd, but for 3rd classes. (Default 193, Highest allowed 199)
+max_third_aspd: 193
+
+// Maximum walk speed rate (200 would be capped to twice the normal speed)
+max_walk_speed: 300
+
+// Maximum HP. (Default is 1000000)
+max_hp: 1000000
+
+// Maximum SP. (Default is 1000000)
+max_sp: 1000000
+
+// Max limit of char stats. (agi, str, etc.)
+max_parameter: 141
+
+// Same as max_parameter, but for 3rd classes.
+max_third_parameter: 141
+
+// Same as max_parameter, but for extended classes (Ex. Super Novice, Kagero/Oboro, Rebellion).
+max_extended_parameter: 141
+
+// Same as max_parameter, but for summoner class
+max_summoner_parameter: 141
+
+// Same as max_parameter, but for baby classes.
+max_baby_parameter: 141
+
+// Same as max_parameter, but for baby 3rd's.
+max_baby_third_parameter: 141
+
+// Max armor def/mdef
+// NOTE: This setting have no effect if server is run on Renewal Mode (RENEWAL)
+// NOTE: does not affects skills and status effects like Mental Strength
+// If weapon_defense_type is non-zero, it won't apply to max def.
+// If magic_defense_type is non-zero, it won't apply to max mdef.
+max_def: 99
+
+// Def to Def2 conversion bonus. If the armor def/mdef exceeds max_def,
+// the remaining is converted to vit def/int mdef using this multiplier
+// (eg: if set to 10, every armor point above the max becomes 10 vit defense points)
+over_def_bonus: 0
+
+// Max weight carts can hold.
+max_cart_weight: 5000
+
+// Prevent logout of players after being hit for how long (in ms, 0 disables)?
+prevent_logout: 10000
+
+// When should the server prevent a player from logging out? Have no effect if prevent_logout is disabled. (Note 3)
+// Official servers prevent players from logging out after attacking, casting skills, and taking damage.
+// 0 = Players can always logout
+// 1 = Prevent logout on login
+// 2 = Prevent logout after attacking
+// 4 = Prevent logout after casting skill
+// 8 = Prevent logout after being hit
+prevent_logout_trigger: 14
+
+// Display the drained hp/sp values from normal attacks? (Ie: Hunter Fly card)
+show_hp_sp_drain: false
+
+// Display the gained hp/sp values from killing mobs? (Ie: Sky Deleter Card)
+show_hp_sp_gain: true
+
+// Show the critical bonus for katar class weapon in player status window? On
+// official server, the critical bonus from katar class weapon isn't display.
+// (Default: false)
+show_katar_crit_bonus: true
+
+// If set, when A accepts B as a friend, B will also be added to A's friend
+// list, otherwise, only A appears in B's friend list.
+// NOTE: this setting only enables friend auto-adding; auto-deletion does not work yet
+friend_auto_add: true
+
+// Are simultaneous trade/party/guild invite requests automatically rejected?
+invite_request_check: true
+
+// Players' will drop a 'Skull' when killed?
+// acorn of death in TMW2
+// 0 = Disabled
+// 1 = Dropped only in PvP maps
+// 2 = Dropped in all situations
+bone_drop: 2
+
+// Do mounted (on Peco) characters increase their size
+// 0 = no
+// 1 = only Normal Classes on Peco have Big Size
+// 2 = only Baby Classes on Peco have Medium Size
+// 3 = both Normal Classes on Peco have Big Size
+// and Baby Classes on Peco have Medium Size
+character_size: 0
+
+// Idle characters can receive autoloot?
+// Set to the time in seconds where an idle character will stop receiving
+// items from Autoloot (0: disabled).
+idle_no_autoloot: 0
+
+// Minimum distance a vending/chat room must be from a NPC in order to be placed
+// Default: 3 (0: disabled).
+min_npc_vendchat_distance: 3
+
+// If min_npc_vendchat_distance is enabled,
+// can players vend/chat room nearby hidden npc? (Ie: FAKE_NPC/HIDDEN_WARP_NPC)
+vendchat_near_hiddennpc: false
+
+// Super Novice's fury is enabled to increments of 10%, such as at 10.0%, 20.0% - 80.0%, 90.0%
+// Changing snovice_call_type config to 1 enables its use at 0%, for maxed super novices.
+// default: 0
+snovice_call_type: 0
+
+// How the server should measure the character's idle time? (Note 3)
+// 0x001 - Walk Request
+// 0x002 - UseSkillToID Request ( targetted skill use attempt )
+// 0x004 - UseSkillToPos Request ( aoe skill use attempt )
+// 0x008 - UseItem Request ( including equip/unequip )
+// 0x010 - Attack Request
+// 0x020 - Chat Request ( whisper, party, guild, bg, etca )
+// 0x040 - Sit/Standup Request
+// 0x080 - Emotion Request
+// 0x100 - DropItem Request
+// 0x200 - @/#Command Request
+// 0x400 - NPC Script Interaction
+// Please note that at least 1 option has to be enabled.
+// Be mindful that the more options used, the easier it becomes to cheat features that rely on idletime (e.g. checkidle()).
+// Default: walk ( 0x1 ) + useskilltoid ( 0x2 ) + useskilltopos ( 0x4 ) + useitem ( 0x8 ) + attack ( 0x10 ) = 0x1F
+idletime_criteria: 0x1F
+
+// Can players get ATK/DEF from refinements on costume/shadow equips?
+// Default: yes (Official behavior not known)
+costume_refine_def: true
+shadow_refine_def: true
+shadow_refine_atk: true
+
+// Keep player facing direction after warping?
+// Default: false (on official servers players always faces north)
+player_warp_keep_direction: true
diff --git a/conf/map/battle/skill.conf b/conf/map/battle/skill.conf
new file mode 100644
index 0000000..b973ef0
--- /dev/null
+++ b/conf/map/battle/skill.conf
@@ -0,0 +1,349 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2019 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/>.
+//=========================================================================
+// Battle (Skill) Configuration File
+//=========================================================================
+// Note 1: Value is a config switch (true/false)
+// Note 2: Value is in percents (100 means 100%)
+// Note 3: Value is a bit field. If no description is given,
+// assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary)
+//=========================================================================
+
+// The rate of time it takes to cast a spell (Note 2, 0 = No casting time)
+casting_rate: 100
+
+// Delay time after casting (Note 2)
+delay_rate: 100
+
+// Does the delay time depend on the caster's DEX and/or AGI? (Note 1)
+// Note: On Official servers, neither Dex nor Agi affect delay time
+delay_dependon_dex: false
+delay_dependon_agi: false
+
+// Minimum allowed delay for ANY skills after casting (in milliseconds) (Note 1)
+// Note: Setting this to anything above 0 can stop speedhacks.
+min_skill_delay_limit: 100
+
+// This delay is the min 'can't walk delay' of all skills.
+// NOTE: Do not set this too low, if a character starts moving too soon after
+// doing a skill, the client will not update this, and the player/mob will
+// appear to "teleport" afterwards.
+default_walk_delay: 300
+
+// Completely disable skill delay of the following types (Note 3)
+// NOTE: By default mobs don't have the skill delay as specified in the skill
+// database, but follow their own 'reuse' skill delay which is specified on
+// the mob skill db. When set, the delay for all skills become
+// min_skill_delay_limit.
+no_skill_delay: 2
+
+// At what dex does the cast time become zero (instant cast)?
+castrate_dex_scale: 220
+
+// How much (dex*2+int) does variable cast turns zero?
+vcast_stat_scale: 530
+
+// What level of leniency should the skill system give for skills when
+// accounting attack motion (ASPD) for casting skills (Note 2, between 0 and 300)
+//
+// NOTE: Setting this to 100% may cause some issues with valid skills not being cast.
+// The time difference between client and server varies so allowing 90% leniency
+// should be enough to forgive very small margins of error.
+skill_amotion_leniency: 90
+
+// Will normal attacks be able to ignore the delay after skills? (Note 1)
+skill_delay_attack_enable: false
+
+// Range added to skills after their cast time finishes.
+// Decides how far away the target can walk away after the skill began casting before the skill fails.
+// 0 disables this range checking (default)
+skill_add_range: 0
+
+// If the target moves out of range while casting, do we take the items and SP for the skill anyway? (Note 1)
+skill_out_range_consume: false
+
+// Does the distance between caster and target define if the skill is a ranged skill? (Note 3)
+// If set, when the distance between caster and target is greater than 3 the skill is considered long-range, otherwise it's a melee range.
+// If not set, then the range is determined by the skill's range (if it is above 5, the skill is ranged).
+// Default 14 (mobs + pets + homun)
+skillrange_by_distance: 14
+
+// Should the equipped weapon's range override the skill's range defined in the skill_db for most weapon-based skills? (Note 3)
+// NOTE: Skills affected by this option are those whose range in the skill_db are negative. By default always the skill range is used.
+// Note that if you want all monster skills to have a range of 9 you need to set monster_ai&0x400.
+skillrange_from_weapon: 31
+
+// Should a check on the caster's status be performed in all skill attacks?
+// When set to true, meteors, storm gust and any other ground skills will have
+// no effect while the caster is unable to fight (eg: stunned).
+skill_caster_check: true
+
+// Should ground placed skills be removed as soon as the caster dies? (Note 3)
+clear_skills_on_death: 0
+
+// Should ground placed skills be removed when the caster changes maps? (Note 3)
+clear_skills_on_warp: 15
+
+// Setting this to true will override the target mode of ground-based skills with the flag 0x01 to "No Enemies"
+// The two skills affected by default are Pneuma and Safety Wall (if set to true, those two skills will not protect everyone, but only allies)
+// See db/skill_unit_db.txt for more info.
+defunit_not_enemy: false
+
+// Do skills do at least 'hits' damage when they don't miss/are blocked?
+// (for example, will firebolts always do "number of bolts" damage versus plants?)
+// Values (add as appropriate): 1 for weapon-based attacks, 2 for magic attacks, 4 for misc attacks.
+skill_min_damage: 6
+
+// The delay rate of monk's combo (Note 2)
+combo_delay_rate: 100
+
+// Use alternate auto Counter Attack Skill Type? (Note 3)
+// For those characters on which it is set, 100% Critical,
+// Otherwise it disregard DEF and HIT+20, CRI*2
+auto_counter_type: 15
+
+// Can ground skills be placed on top of each other? (Note 3)
+// By default, skills with UF_NOREITERATION set cannot be stacked on top of
+// other skills, this setting will override that. (skill_unit_db)
+skill_reiteration: 0
+
+// Can ground skills NOT be placed underneath/near players/monsters? (Note 3)
+// If set, only skills with UF_NOFOOTSET set will be affected (skill_unit_db)
+skill_nofootset: 1
+
+// Should traps (hunter traps + quagmire) change their target to "all" inside gvg/pvp grounds? (Note 3)
+// Default on official servers: true for player-traps
+gvg_traps_target_all: 1
+
+// Hunter's traps visibility setting (with HiddenTrap: true on skill_db.conf)
+// Here we have 2 configs:
+// visibility stands to how traps are displayed by default:
+// 0: Traps are always visible to everyone (Hercules/Pre-renewal)
+// 1: Traps with HiddenTrap: true are hidden in versus maps (PvP/GvG/BG)
+// 2: Traps with HiddenTrap: true are always invisible (Renewal) (Default)
+// Notes: - Invisibility applies to players that are not in caster's party.
+// - Invisible traps can be made visible to everyone with Hunter's Detecting skill.
+//
+// display_on_trigger tells if HiddenTraps should become visible once triggered
+// 0: Do not make traps visible once triggered (except for Ankle Snare) (Aegis)
+// 1: Always make traps visible once triggered (Hercules)
+trap_options: {
+ visibility: 2
+ display_on_trigger: 1
+}
+
+// Restrictions applied to the Alchemist's Summon Flora skill (add as necessary)
+// 1: Enable players to damage the floras outside of versus grounds.
+// 2: Disable having different types out at the same time
+// (eg: forbid summoning anything except hydras when there's already
+// one hydra out)
+summon_flora_setting: 3
+
+// When songs are canceled, terminated or the character goes out of the
+// area of effect, there's an additional effect that lasts for 20 seconds
+// Should that time be reset for each song?
+// 0: No, you must recast the song AFTER those 20 seconds to have the effect again (Aegis)
+// 1: Yes, recasting songs reset the 20 seconds timer (eathena)
+song_timer_reset: 0
+
+// Whether placed down skills will check walls (Note 1)
+// (Makes it so that Storm Gust/Lord of Vermillion/etc when cast next to a wall, won't hit on the other side)
+skill_wall_check: true
+
+// When cloaking, Whether the wall is checked or not. (Note 1)
+// Note: When the skill does not checks for walls, you will always be considered
+// as if you had a wall-next to you (you always get the wall-based speed).
+// Add the settings as required, being hit always uncloaks you.
+// 0 = doesn't check for walls
+// 1 = Check for walls
+// 2 = Cloaking is not canceled when attacking.
+// 4 = Cloaking is not canceled when using skills
+player_cloak_check_type: 1
+monster_cloak_check_type: 4
+
+// Can't place unlimited land skills at the same time (Note 3)
+land_skill_limit: 9
+
+// Determines which kind of skill-failed messages should be sent:
+// 0 - Enable by default
+// 1 - Disable all skill-failed messages.
+// 2 - Disable skill-failed messages due to can-act delays.
+// 4 - Disable failed message from Snatcher
+// 8 - Disable failed message from Envenom
+display_skill_fail: 2
+
+// Can a player in chat room (in-game), be warped by a warp portal? (Note 1)
+chat_warpportal: false
+
+// What should the wizard's "Sense" skill display on the defense fields?
+// 0: Do not show defense
+// 1: Base defense [RE default]
+// 2: Vit/Int defense
+// 3: Both (the addition of both)
+sense_type: 1
+
+// Which finger offensive style will be used?
+// 0 = Aegis style (single multi-hit attack)
+// 1 = Athena style (multiple consecutive attacks)
+finger_offensive_type: 0
+
+// Grandcross Settings (Don't mess with these)
+// If set to false, hit interval is increased based on the amount of mobs standing on the same cell
+// (means that when there's stacked mobs in the same cell, they won't receive all hits)
+gx_allhit: false
+
+// Grandcross display type (Default 1)
+// 0: Yellow character
+// 1: White character
+gx_disptype: 1
+
+// Max Level Difference for Devotion
+devotion_level_difference: 10
+
+// If false than you can use the ensemble skills alone. (Note 1)
+player_skill_partner_check: true
+
+// Remove trap type
+// 0 = Aegis system : Returns 1 'Trap' item
+// 1 = Athena system : Returns all items used to deploy the trap
+skill_removetrap_type: 0
+
+// Does using bow to do a backstab give a 50% damage penalty? (Note 1)
+backstab_bow_penalty: true
+
+// How many times you could try to steal from a mob.
+// Note: It helps to avoid stealing exploit on monsters with few rare items
+// Use 0 to disable (max allowed value is 255)
+skill_steal_max_tries: 0
+
+// Can Rogues plagiarize advanced job skills
+// 0 = no restriction
+// 1 = only stalker may plagiarize advanced skills
+// 2 = advanced skills cannot be plagiarized by anyone
+// Official servers setting: 2
+copyskill_restrict: 2
+
+// Does Berserk/Frenzy cancel other self-buffs when used?
+berserk_cancels_buffs: false
+
+// Level and Strength of "MVP heal". When someone casts a heal of this level or
+// above, the heal formula is bypassed and this value is used instead.
+max_heal: 9999
+max_heal_lv: 11
+
+// Emergency Recall Guild Skill setting (add as appropriate).
+// Note that for the skill to be usable at all,
+// you need at least one of 1/2 and 4/8
+// 1: Skill is usable outside of woe.
+// 2: Skill is usable during woe.
+// 4: Skill is usable outside of GvG grounds
+// 8: Skill is usable on GvG grounds
+//16: Disable skill from "nowarpto" maps
+// (it will work on GVG castles even if they are set to nowarpto, though)
+emergency_call: 27
+
+// Guild Aura Skills setting (add as appropriate).
+// (This affects GD_LEADERSHIP, GD_GLORYWOUNDS, GD_SOULCOLD and GD_HAWKEYES)
+// Note that for the skill to be usable at all,
+// you need at least one of 1/2 and 4/8
+// 1: Skill works outside of woe.
+// 2: Skill works during woe.
+// 4: Skill works outside of GvG grounds
+// 8: Skill works on GvG grounds
+//16: Disable skill from affecting Guild Master
+guild_aura: 31
+
+// Allows players to skip menu when casting Teleport level 1
+// Menu contains two options. "Random" and "Cancel"
+skip_teleport_lv1_menu: false
+
+// Allow use of SG skills without proper day (Sun/Moon/Star) ?
+allow_skill_without_day: false
+
+// Allow use of ES-type magic on players?
+allow_es_magic_player: false
+
+// Miracle of the Sun, Moon and Stars skill ratio (100% = 10000)
+sg_miracle_skill_ratio: 2
+
+// Miracle of the Sun, Moon and Stars skill duration in milliseconds
+sg_miracle_skill_duration: 3600000
+
+// Angel of the Sun, Moon and Stars skill ratio (100% = 10000)
+sg_angel_skill_ratio: 10
+
+// Skills that bHealPower has effect on
+// 1: Heal, 2: Sanctuary, 4: Potion Pitcher, 8: Slim Pitcher, 16: Apple of Idun, 32: Highness Heal
+skill_add_heal_rate: 7
+
+// Whether the damage of EarthQuake with a single target on screen is able to be reflected.
+// Note: On official server, EQ is reflectable when there is only one target on the screen,
+// which might be an exploit to hunt the MVPs.
+eq_single_target_reflectable: true
+
+// On official server, you will receive damage from Reflection and some Tarot Card even in invincible status.
+// When this setting is enabled, it allows you to immune to all kinds of damage, including those stated previous.
+// (The number will show but no actual damage will be done)
+invincible_nodamage: false
+
+// Dancing Weapon Switch
+// On official server, a fix is in place that prevents the switching of weapons to cancel songs.
+// Default: true
+dancing_weaponswitch_fix: true
+
+// Skill Trap Type (GvG)
+// 0: (official) Traps in GvG only make player stop moving after its walk path is complete, and it activates other traps on the way.
+// 1: Traps in GvG make player stop moving right when stepping over it.
+skill_trap_type: 0
+
+// Trap Reflect
+// Whether the damage from traps must be reflected (for example by Reflect Shield or High Orc Card)?
+// true: Aegis - traps are reflected
+// false: Athena - traps are not reflected
+trap_reflect: true
+
+// Max Possible Level of Monster skills
+// Note: If your MVPs are too tough, reduce it to 10.
+mob_max_skilllvl: 100
+
+// Area of Bowling Bash chain reaction
+// 0: Use official gutter line system
+// 1: Gutter line system without demi gutter bug
+// 2-20: Area around caster (2 = 5x5, 3 = 7x7, 4 = 9x9, ..., 20 = 41x41)
+// Note: If you knock the target out of the area it will only be hit once and won't do splash damage
+bowling_bash_area: 0
+
+// On official servers, Storm Gust consists of 81 units that all deal 3x3 splash damage "away from center". Due to
+// south-western cells being processed first, this usually leads to a knockback to the northeast. Knockback at the
+// edges will be away from SG. Knockback direction can also be influenced by Ganbantein and Land Protector. If you
+// punch a hole into SG it will for example create a "suck in" effect.
+// If you disable this setting, the knockback direction will be completely random (eAthena style).
+stormgust_knockback: true
+
+// Magic Rod's animation behavior (Note 1)
+// 0 : (official) Magic Rod's animation occurs every time it is used.
+// 1 : Magic Rod's animation would not occur unless a spell was absorbed. (old behavior)
+magicrod_type: 0
diff --git a/conf/map/battle/status.conf b/conf/map/battle/status.conf
new file mode 100644
index 0000000..bbaf646
--- /dev/null
+++ b/conf/map/battle/status.conf
@@ -0,0 +1,47 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+// Battle (Status) Configuration File
+//=========================================================================
+// Note 1: Value is a config switch (true/false)
+// Note 2: Value is in percents (100 means 100%)
+// Note 3: Value is a bit field. If no description is given,
+// assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary)
+//=========================================================================
+
+// Should skill casting be canceled when inflicted by curse/stun/sleep/etc (includes silence) (Note 3)?
+status_cast_cancel: 0
+
+// Adjustment for the natural rate of resistance from status changes.
+// If 50, status defense is halved, and you need twice as much stats to block
+// them (eg: 200 vit to completely block stun)
+pc_status_def_rate: 100
+mob_status_def_rate: 100
+
+// Maximum resistance to status changes. (100 = 100%)
+// NOTE: Cards and equipment can go over this limit, so it only applies to natural resist.
+pc_max_status_def: 25
+mob_max_status_def: 25
diff --git a/conf/map/charhelp.txt b/conf/map/charhelp.txt
new file mode 100644
index 0000000..e3acddb
--- /dev/null
+++ b/conf/map/charhelp.txt
@@ -0,0 +1,28 @@
+ 40:--- CHARACTER CMD ---
+ 40:#statsall <char name> - Set all stats of a player to maximum.
+ 40:#itemlist <char name> - Displays all items of a player.
+ 40:#storagelist <char name> - Displays all items of a player's storage.
+ 40:#stats <char name> - Displays a characters stats.
+ 60:#option <char name> <param1> <param2> <param3> - Like @option command but only to target character.
+ 50:#mountpeco <char name> - Give/remove to a player a peco (Class is required, but not skill).
+ 50:#petrename <char name> - Re-enable pet rename to a player.
+ 60:#save <char name> <map> <x> <y> - Changes the target players respawn point.
+ 60:#baselvl/#blvl <char name> <#> - Change a characters base level.
+ 60:#joblvl/#jlvl <char name> <#> - Change a characters job level.
+ 60:#job/#jobchange <char name> <job ID> - Changes target characters job.
+ 60:#zeny <char name> <amount> - Give/take a players Zeny
+ 60:#cash <char name> <amount> - Give/take a player cash points
+ 60:#points <char name> <amount> - Give/take a player Kafra points
+ 60:#stpoint <char name> <amount> - Give/take a players stat points
+ 60:#skpoint <char name> <amount> - give/take a players skill points
+ 60:#skreset <char name> - Reset skills of a character.
+ 60:#streset <char name> - Reset stats of a character.
+ 60:#reset <char name> - Reset stats AND skills of a character.
+ 60:#questskill <char name> <#> - Gives to a player the specified quest skill.
+ 60:#lostskill <char name> <#> - Takes away the specified quest skill from the player.
+ 60:#delitem <char name> <item_name_or_ID> <quantity> - Remove items from a character
+ 50:#model <char name> <hair type> <hair color> <clothes color> - Changes a player's model
+ 60:#disguise <char name> <monster_name_or_monster_ID> - Changes disguise of a player
+ 60:#undisguise <char name> - Cancels disguise of a player
+ 60:#changesex <char name> - Changes sex of a player (all characters of the account)
+ 60:#warp/#rura+ <char name> <mapname> <x> <y> - Warps character to location of choice
diff --git a/conf/map/help.txt b/conf/map/help.txt
new file mode 100644
index 0000000..846c162
--- /dev/null
+++ b/conf/map/help.txt
@@ -0,0 +1,307 @@
+// This is help file that contains help messages for atcommands/charcommands.
+
+// Format:
+// <command>: "<help message>"
+
+// This file uses libconfig syntax.
+
+help: "Params: <command>\n" "Shows help for specified command."
+noask: "Auto rejects deals/invites."
+me: "Params: <message>\n" "Displays normal text as a message in this format: *name message* (like /me in mIRC)."
+fakename: "Params: <name>\n" "Changes your name to your choice temporarily."
+npctalk: "Params: <NPC name> <message>\n" "Forces a NPC to display a message in normal chat."
+broadcast: "Params: <message>\n" "Broadcasts a message with your name (in yellow)."
+kami: "Params: <message>\n" "Broadcasts a message without your name (in yellow)."
+kamib: "Params: <message>\n" "Broadcasts a message without your name (in blue)."
+localbroadcast: "Params: <message>\n" "Broadcasts a message with your name (in yellow) only on your map."
+commands: "Displays a list of commands that you can use."
+rates: "Displays the server's current rates."
+uptime: "Displays how long the server has been online."
+showdelay: "Shows/hides the \"There is a delay after this skill\" message."
+exp: "Displays current levels and % progress."
+mobinfo: "Params: <monster name|ID>\n" "Shows monster info (stats, exp, drops etc)."
+iteminfo: "Params: <item name|ID>\n" "Shows item info (type, price etc)."
+whodrops: "Params: <item name|ID>\n" "Shows who drops an item (monster with highest drop rates)."
+version: "Displays SVN version of the server."
+email: "Params: <current email> <new email>\n" "Changes your account e-mail address."
+where: "Params: <char name>\n" "Tells you the location of a character."
+time: "Shows the date and time of the server."
+showexp: "Displays/hides experience gained."
+showzeny: "Displays/hides Zeny gained."
+mobsearch: "Params: <monster name|ID>\n" "Shows the location of a certain mob on the current map."
+who: "Params: [<name>]\n" "Shows a list of online players and their party and guild."
+who2: "Params: [<name>]\n" "Shows a list of online players and their job."
+who3: "Params: [<name>]\n" "Shows a list of online players and their location."
+whomap: "@whomap/@whomap2/@whomap3 [map] - like @who/@who2/@who3 but only for specified map."
+whogm: "Params: [match_text] - Like @who+@who2+who3, but only for GM."
+guildspy: "Params: <guild name|id> - You will receive all messages of the guild channel (Chat logging must be enabled)"
+partyspy: "@partyspy <party name|id> - You will receive all messages of the party channel (Chat logging must be enabled)"
+mapinfo: "Params: [<0-3> [map]] - Give information about a map (general info +: 0: no more, 1: players, 2: NPC, 3: shops/chat)."
+go: "Params: <city name|number>\n" "Warps you to a city.\n"
+ " -3: (Memo point 2) 14: louyang 31: mora\n"
+ " -2: (Memo point 1) 15: start point 32: dewata\n"
+ " -1: (Memo point 0) 16: prison/jail 33: malangdo island\n"
+ " 0: prontera 17: jawaii 34: malaya port\n"
+ " 1: morocc 18: ayothaya 35: eclage\n"
+ " 2: geffen 19: einbroch\n"
+ " 3: payon 20: lighthalzen\n"
+ " 4: alberta 21: einbech\n"
+ " 5: izlude 22: hugel\n"
+ " 6: aldebaran 23: rachel\n"
+ " 7: xmas (lutie) 24: veins\n"
+ " 8: comodo 25: moscovia\n"
+ " 9: yuno 26: midgard camp\n"
+ " 10: amatsu 27: manuk\n"
+ " 11: gonryun 28: splendide\n"
+ " 12: umbala 29: brasilis\n"
+ " 13: niflheim 30: el dicastes\n"
+jumpto: "Params: <char name>\n" "Warps you to selected character."
+follow: "Params: <char name>\n" "Follow a player."
+mount: "Give/remove you a peco (Class is required, but not skill)"
+disguise: "Params: <monster name|ID>\n" "Change your appearence to other players to a mob."
+undisguise: "Restore your normal appearance."
+disguiseguild: "Disguises all online characters of a guild."
+undisguiseguild: "Restore the normal appearance of all characters of a guild."
+model: "Params: <hair ID: 0-17> <hair color: 0-8> <clothes color: 0-4> - Changes your characters appearence."
+size: "Params: <1-3> Changes your size (1-Smallest 2-Biggest 3-Normal)"
+sizeall: "Changes the size of all players."
+sizeguild: "Changes the size of all online characters of a guild."
+hide: "Makes you character invisible (GM invisibility). Type again to become visible."
+save: "Sets respawn point to current spot."
+load: "Warps you to your save point."
+warp: "Params: <mapname> [<x> <y>]\n" "Warps you to the selected map and position."
+jump: "Params: [<x> [<y>]]\n" "Randomly warps you like a flywing."
+jobchange: "Params: <job name|ID>\n" "Changes your job.\n"
+ "----- Novice / 1st Class -----\n"
+ " 0 Novice 1 Swordman 2 Magician 3 Archer\n"
+ " 4 Acolyte 5 Merchant 6 Thief\n"
+ "----- 2nd Class -----\n"
+ " 7 Knight 8 Priest 9 Wizard 10 Blacksmith\n"
+ " 11 Hunter 12 Assassin 14 Crusader 15 Monk\n"
+ " 16 Sage 17 Rogue 18 Alchemist 19 Bard\n"
+ " 20 Dancer\n"
+ "----- High Novice / High 1st Class -----\n"
+ "4001 Novice High 4002 Swordman High 4003 Magician High 4004 Archer High\n"
+ "4005 Acolyte High 4006 Merchant High 4007 Thief High\n"
+ "----- Transcendent 2nd Class -----\n"
+ "4008 Lord Knight 4009 High Priest 4010 High Wizard 4011 Whitesmith\n"
+ "4012 Sniper 4013 Assassin Cross 4015 Paladin 4016 Champion\n"
+ "4017 Professor 4018 Stalker 4019 Creator 4020 Clown\n"
+ "4021 Gypsy\n"
+ "----- 3rd Class (Regular) -----\n"
+ "4054 Rune Knight 4055 Warlock 4056 Ranger 4057 Arch Bishop\n"
+ "4058 Mechanic 4059 Guillotine Cross 4066 Royal Guard 4067 Sorcerer\n"
+ "4068 Minstrel 4069 Wanderer 4070 Sura 4071 Genetic\n"
+ "4072 Shadow Chaser\n"
+ "----- 3rd Class (Transcendent) -----\n"
+ "4060 Rune Knight 4061 Warlock 4062 Ranger 4063 Arch Bishop\n"
+ "4064 Mechanic 4065 Guillotine Cross 4073 Royal Guard 4074 Sorcerer\n"
+ "4075 Minstrel 4076 Wanderer 4077 Sura 4078 Genetic\n"
+ "4079 Shadow Chaser\n"
+ "----- Expanded Class -----\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 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"
+ "---- Baby 2nd Class ----\n"
+ "4030 Baby Knight 4031 Baby Priest 4032 Baby Wizard 4033 Baby Blacksmith\n"
+ "4034 Baby Hunter 4035 Baby Assassin 4037 Baby Crusader 4038 Baby Monk\n"
+ "4039 Baby Sage 4040 Baby Rogue 4041 Baby Alchemist 4042 Baby Bard\n"
+ "4043 Baby Dancer\n"
+ "---- Baby 3rd Class ----\n"
+ "4096 Baby Rune Knight 4097 Baby Warlock 4098 Baby Ranger 4099 Baby Arch Bishop\n"
+ "4100 Baby Mechanic 4101 Baby Glt. Cross 4102 Baby Royal Guard 4103 Baby Sorcerer\n"
+ "4104 Baby Minstrel 4105 Baby Wanderer 4106 Baby Sura 4107 Baby Genetic\n"
+ "4108 Baby Shadow Chaser\n"
+ "---- Modes And Others ----\n"
+ " 22 Wedding 26 Christmas 27 Summer 4048 Star Gladiator (Union)\n"
+option: "Params: <param1> <param2>(stackable) <param3>(stackable)\n" "Adds different visual effects on or around your character.\n"
+" <param1> <param2> <param3>\n"
+"01: Stone 01: Sight 01: Sight 512: Cart Lv. 4\n"
+"02: Frozen 02: Curse 02: Hiding 1024: Cart Lv. 5\n"
+"03: Stun 04: Silence 04: Cloaking 2048: Orc Head\n"
+"04: Sleep 08: Signum 08: Cart Lv. 1 4096: Wedding\n"
+"06: Petrify 16: Blind 16: Falcon 8192: Ruwach\n"
+"07: Burning 32: Angelus 32: Riding 16384: Chasewalk\n"
+"08: Imprison 64: Bleeding 64: Invisible\n"
+"16: (Nothing) 128: D. Poison 128: Cart Lv. 2\n"
+"32: (Nothing) 256: Fear 256: Cart Lv. 3"
+heal: "Params: [<HP> <SP>]\n" "Heals the desired amount of HP and SP. No value specified will do a full heal."
+dye: "Params: <clothes palette no.>\n" "Changes your characters clothes color."
+hairstyle: "Params: <hairstyle no.>\n" "Changes your hair style."
+haircolor: "Params <hair palette no.>\n" "Changes your hair color."
+speed: "Params: <1-1000>\n" "Changes you walking speed. 1 being the fastest and 1000 the slowest. Default is 150."
+effect: "Params: <effect id> [<flag>]\n" "Give an effect to your character."
+dropall: "Throws all your possession on the ground."
+storeall: "Puts all your possessions in storage."
+killable: "Make your character killable."
+memo: "Params: [memo position]\n" "Set/change a memo location (no position: display memo points)."
+spiritball: "Params: <1-100>\n" "Gives you \"spirit spheres\" like from the skill \"Call Spirits\".\n"
+questskill: "Params: <#>\n" "Gives you the specified quest skill\n"
+"Novice = 142: First Aid, 143: Act Dead\n"
+"Archer = 147: Create Arrow, 148: Charge Arrow\n"
+"Swordman = 144: Moving HP Recovery, 145: Attack Weak Point, 146: Auto Berserk\n"
+"Acolyte = 156: Holy Light\n"
+"Thief = 149: Throw Sand, 150: Back Sliding, 151: Take Stone, 152: Throw Stone\n"
+"Merchant = 153: Cart Revolution, 154: Change Cart, 155: Crazy Uproar, 2535: Open Buying Store\n"
+"Magician = 157: Energy Coat\n"
+"Hunter = 1009: Phantasmic Arrow\n"
+"Bard = 1010: Pang Voice\n"
+"Dancer = 1011: Wink of Charm\n"
+"Knight = 1001: Charge Attack\n"
+"Crusader = 1002: Shrink\n"
+"Priest = 1014: Redemptio\n"
+"Monk = 1015: Ki Translation, 1016: Ki Explosio\n"
+"Assassin = 1003: Sonic Acceleration, 1004: Throw Venom Knife\n"
+"Rogue = 1005: Close Confine\n"
+"Blacksmith = 1012: Unfair Trick, 1013: Greed\n"
+"Alchemist = 238: Basis of Life\n"
+"Wizard = 1006: Sight Blaster\n"
+"Sage = 1007: Create Elemental Converter, 1008: Elemental Change (Water), 1017: Elemental Change (Earth), 1018: Elemental Change (Fire), 1019: Elemental Change (Wind)"
+lostskill: "Params: <#>\n" "Takes away the specified quest skill from you\n"
+"Novice = 142: First Aid, 143: Act Dead\n"
+"Archer = 147: Create Arrow, 148: Charge Arrow\n"
+"Swordman = 144: Moving HP Recovery, 145: Attack Weak Point, 146: Auto Berserk\n"
+"Acolyte = 156: Holy Light\n"
+"Thief = 149: Throw Sand, 150: Back Sliding, 151: Take Stone, 152: Throw Stone\n"
+"Merchant = 153: Cart Revolution, 154: Change Cart, 155: Crazy Uproar, 2535: Open Buying Store\n"
+"Magician = 157: Energy Coat\n"
+"Hunter = 1009: Phantasmic Arrow\n"
+"Bard = 1010: Pang Voice\n"
+"Dancer = 1011: Wink of Charm\n"
+"Knight = 1001: Charge Attack\n"
+"Crusader = 1002: Shrink\n"
+"Priest = 1014: Redemptio\n"
+"Monk = 1015: Ki Translation, 1016: Ki Explosio\n"
+"Assassin = 1003: Sonic Acceleration, 1004: Throw Venom Knife\n"
+"Rogue = 1005: Close Confine\n"
+"Blacksmith = 1012: Unfair Trick, 1013: Greed\n"
+"Alchemist = 238: Basis of Life\n"
+"Wizard = 1006: Sight Blaster\n"
+"Sage = 1007: Create Elemental Converter, 1008: Elemental Change (Water), 1017: Elemental Change (Earth), 1018: Elemental Change (Fire), 1019: Elemental Change (Wind)"
+skillid: "Params: <name>\n" "Look up a skill by name"
+useskill: "Params: <skillid> <skillv> <target>\n" "Use a skill on target"
+skilltree: "Params: <skillnum> <charname>\n" "Prints the skill tree needed to get a skill for the target player."
+marry: "Params: <player name>\n" "Marry another player."
+divorce: "Divorce player."
+alive: "Revives yourself from death."
+blvl: "Params: <number of levels>\n" "Raises your base level the desired number of levels."
+jlvl: "Params: <number of levels>\n" "Raises your job level the desired number of levels."
+allskill: "Give you all skills."
+stpoint: "Params: <number of points> - Gives you the desired number of stat points."
+skpoint: "Params: <number of points> - Gives you the desired number of skill points."
+zeny: "Params: <amount> - Gives you desired amount of Zeny."
+cash: "Params: <amount> - Gives you the specified amount of cash points."
+points: "Params: <amount> - Gives you the specified amount of Kafra Points."
+str: "Params: <amount>\n" "Raises STR by given amount."
+agi: "Params: <amount>\n" "Raises AGI by given amount."
+dex: "Params: <amount>\n" "Raises DEX by given amount."
+vit: "Params: <amount>\n" "Raises VIT by given amount."
+int: "Params: <amount>\n" "Raises INT by given amount."
+luk: "Params: <amount>\n" "Raises LUK by given amount."
+allstats: "Params: <value>\n" "Adds value in all stats (maximum if no value)."
+addwarp: "Params: <map name> <x coord> <y coord>\n"
+killmonster2: "Kills all monsters of your map (without drops)."
+monster: "Params: <monster name|ID> [<number to spawn> [<desired_monster_name> [<x coord> [<y coord>]]]]\n"
+ "@monster2 <desired_monster_name> <monster name|ID> [<number to spawn> [<x coord> [<y coord>]]]\n"
+"@spawn/@monster/@summon/@monster2 \"desired monster name\" <monster name|ID> [<number to spawn> [<x coord> [<y coord>]]]\n"
+"@spawn/@monster/@summon/@monster2 <monster name|ID> \"desired monster name\" [<number to spawn> [<x coord> [<y coord>]]]\n"
+" Spawns the desired monster with any desired name."
+monstersmall: "Params: <monster name|ID>\n" "Spawns a smaller version of a monster."
+monsterbig: "Params: <monster name|ID>\n" "Spawns a larger version of a monster."
+killmonster: "Params: <map>\n" "Kill all monsters of the map (they drop)"
+autoloot: "Params: <on|off|#>\n" "Makes items go straight into your inventory."
+autotrade: "Allows you to vend while you are offline."
+changegm: "Params: <charname>\n" "Changes the leader of your guild (You must be guild leader)"
+changeleader: "Params: <charname>\n" "Changes the leader of your party (You must be party leader)"
+request: "Params: <message>\n" "Sends a message to all connected GMs (via the gm whisper system)"
+sound: "Params: <path to file in data folder or GRF file>\n" "Plays a sound from the data folder or GRF file located on the client."
+clone: "Params: <charname>\n" "Spawns a supportive clone of the given player."
+slaveclone: "Params: <charname>\n" "Spawns a supportive clone of the given player that follows the creator around."
+evilclone: "Params: <charname>\n" "Spawns an aggressive clone of the given player."
+changesex: "Changes your gender."
+duel: "Starts a duel."
+invite: "Invites a player to a duel."
+accept: "Accepts an invitation to a duel."
+reject: "Rejects an invitation to a duel."
+leave: "Leaves a duel."
+mail: "Open mail box."
+storage: "Opens storage."
+itemreset: "Remove all your items."
+guildstorage: "Opens guild storage."
+idsearch: "Params: <part_of_item_name>\n" "Search all items that name have part_of_item_name"
+refine: "Params: <equip position> <+/- amount>"
+produce: "Params: <equip name or equip ID> <element> <# of very's>\n"
+" Element: 0=None 1=Ice 2=Earth 3=Fire 4=Wind\n"
+" You can add up to 3 Star Crumbs and 1 element\n"
+repairall: "Repair all items of your inventory"
+item: "Params: <item name or ID> <quantity>\n" "Gives you the desired item."
+item2: "Params: <item name or ID> <quantity> <identified_flag> <refine> <broken_flag> <Card1> <Card2> <Card3> <Card4>\n" "Gives you the desired item."
+pvpon: "Turns pvp on on the current map"
+pvpoff: "Turns pvp off on the current map"
+gvgon: "Turns gvg on on the current map"
+gvgoff: "Turns gvg off on the current map"
+agitstart: "Starts War of Emperium"
+agitend: "End War of Emperium"
+party: "Params: <party_name>\n" "Create a party."
+guild: "Params: <guild_name>\n" "Create a guild."
+glvl: "Params: <# of levels>\n" "Raise Guild by desired number of levels"
+guildrecall: "Params: <guild name|ID>\n" "Warps all online characters of a guild to you."
+partyrecall: "Params: <party name|ID>\n" "Warps all online characters of a party to you."
+petrename: "Re-enable pet rename"
+pettalk: "Params: <message>\n" "Makes your pet say a message."
+petfriendly: "Params: <#>\n" "Set pet friendly amount (0-1000) 1000 = Max"
+pethungry: "Params: <#>\n" "Set pet hungry amount (0-100) 100 = Max"
+hatch: "Create a pet from your inventory eggs list."
+makeegg: "Params: <pet_id>\n" "Gives pet egg for monster number in pet DB"
+kick: "Params: <char name>\n" "Kicks specified character off the server"
+unjail: "Params: <char name>\n" "Discharges specified character/prisoner"
+kill: "Params: <char name>\n" "Kills player."
+recall: "Params: <char name>\n" "Warps target character to you."
+raise: "Params: <char name>\n" "Revives target character."
+block: "Params: <char name>\n" "Permanently blocks an account."
+unblock: "Params: <char name>\n" "Unblocks an account."
+ban: "Params: <time> <name>\n" "Temporarily ban an account.\n"
+ " time usage: adjustment (+/- value) and element (y/a, m, d/j, h, mn, s)\n"
+ " Example: @ban +1m-2mn1s-6y testplayer\n"
+unban: "Params: <name> - Unban a account"
+jail: "Params: <char name> - Sends specified character in jails"
+trade: "Params: <char name> - Open a trade window with a another player"
+recallall: "Warps every character online to you."
+doom: "Kills all NON GM chars on the server."
+doommap: "Kills all non GM characters on the map."
+raisemap: "Resurrects all characters on the map."
+night: "Enables night mode on all maps, all characters are affected."
+day: "Disables night mode and restores regular lighting, all characters are affected."
+skillon: "turn skills on for a map"
+skilloff: "turn skills on for a map"
+snow: "Makes all maps to have the snow weather effect."
+clouds: "Makes all maps to have the cloudy weather effect."
+clouds2: "Makes all maps to have another cloudy weather effect."
+fog: "Makes all maps to have the fog weather effect."
+fireworks: "Makes all maps to have the fireworks weather effect."
+sakura: "Makes all maps to have the sakura weather effect."
+leaves: "Makes all maps to have the leaves weather effect."
+shownpc: "Params: <NPC name>\n" "Enable a NPC"
+hidenpc: "Params: <NPC name>\n" "Disable a NPC"
+loadnpc: "Params: <path to script>\n" "Load the specified script file path."
+unloadnpc: "Params: <NPC name>\n" "Unload the specified NPC according to name."
+adjgroup: "Params: <level> <char name> - Do a temporary adjustment of the GM level of a player"
+kickall: "Kick all characters off the server"
+mapexit: "Kick all players and shut down map-server."
+reloaditemdb: "Reload item database."
+reloadmobdb: "Reload monster database."
+reloadquestdb: "Reload quest database."
+reloadskilldb: "Reload skills definition database."
+reloadscript: "Reload all scripts."
+gat: "For debugging (you inspect around gat)"
+send: "For debugging (packet variety)"
+nuke: "Params: <char name>\n" "Blow somebody up, including those surrounding them."
+autoloottype: "Manage a list of autolooting item types.\n"
+" To add an item type to the list, use \"@autoloottype +<type name>\".\n"
+" To remove an item type, use \"@autoloottype -<type name>\".\n"
+" Type List: healing, usable, etc, weapon, armor, card, petegg, petarmor, ammo.\n"
+" \"@autoloottype reset\" will clear your autoloottype list."
diff --git a/conf/map/logs.conf b/conf/map/logs.conf
new file mode 100644
index 0000000..4fcde3d
--- /dev/null
+++ b/conf/map/logs.conf
@@ -0,0 +1,182 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2018 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/>.
+//=========================================================================
+//= Hercules Log configuration file.
+//=========================================================================
+// Note 1: Value is a config switch (on/off, yes/no or 1/0)
+// Note 2: Value is in percents (100 means 100%)
+// Note 3: Value is a bit field. If no description is given, assume unit
+// types (1: Pc, 2: Mob, 4: Pet, 8: Homun)
+//=========================================================================
+
+map_log: {
+ // Enable Logs? (Note 3)
+ // 0x0000000 - Don't log at all
+ // 0x0000001 - (T) Log trades
+ // 0x0000002 - (V) Log vending transactions
+ // 0x0000004 - (P) Log items drop/picked by players
+ // 0x0000008 - (L) Log items drop/looted by monsters
+ // 0x0000010 - (S) Log NPC transactions (buy/sell)
+ // 0x0000020 - (N) Log Script transactions (items deleted/acquired through quests)
+ // 0x0000040 - (D) Log items stolen from mobs (Steal/Gank)
+ // 0x0000080 - (C) Log player-used items (consumables/pet&hom&merc food/items used for skills&attacks)
+ // 0x0000100 - (O) Log produced/ingredient items
+ // 0x0000200 - (U) Log MVP prize items
+ // 0x0000400 - (A) Log player created/deleted items (through @/# commands)
+ // 0x0000800 - (R) Log items placed/retrieved from storage. (OFF)
+ // 0x0001000 - (G) Log items placed/retrieved from guild storage.
+ // 0x0002000 - (E) Log mail system transactions.
+ // 0x0004000 - (I) Log auction system transactions.
+ // 0x0008000 - (B) Log buying store transactions
+ // 0x0010000 - (X) Log other transactions
+ // 0x0020000 - (K) Log account bank transactions (OFF)
+ // 0x0040000 - (Y) Divorce
+ // 0x0080000 - (Z) Roulette
+ // 0x0100000 - (W) Rental
+ // 0x0200000 - (Q) Card
+ // 0x0400000 - (J) Invalid in inventory
+ // 0x0800000 - (H) Invalid in cart
+ // 0x1000000 - (@) Egg
+ // 0x2000000 - (0) Quest
+ // 0x4000000 - (1) Skill
+ // 0x8000000 - (2) Refine
+ // Example: Log trades+vending+script items+created items: 1+2+32+1024 = 1059
+ // Please note that moving items from inventory to cart and back is not logged by design.
+ enable: 0xFFDF7FF
+
+ // Logging files/tables
+ // Following settings specify where to log to. If 'use_sql' is
+ // true, SQL tables are assumed, otherwise flat files.
+ database: {
+ // Use MySQL Logs? (Note 1)
+ use_sql: true
+
+ // Flat files
+ // log_gm_db: "log/atcommandlog.log"
+ // log_branch_db: "log/branchlog.log"
+ // log_chat_db: "log/chatlog.log"
+ // log_mvpdrop_db: "log/mvplog.log"
+ // log_npc_db: "log/npclog.log"
+ // log_pick_db: "log/picklog.log"
+ // log_zeny_db: "log/zenylog.log"
+ // SQL tables
+ log_gm_db: "atcommandlog"
+ log_branch_db: "branchlog"
+ log_chat_db: "chatlog"
+ log_mvpdrop_db: "mvplog"
+ log_npc_db: "npclog"
+ log_pick_db: "picklog"
+ log_zeny_db: "zenylog"
+ }
+
+ // Log Dead Branch Usage (Note 1)
+ log_branch: false
+
+ // Track Zeny Changes
+ // Filter settings
+ // 0 - don't log; 1 - log any zeny changes; 2.....1000000 - minimal absolute logging zeny value
+ log_zeny: 1000
+
+ // Log MVP Monster Drops (Note 1)
+ // Outdated. Use Pick_Log instead. But this log could be useful to keep track slayed MVPs
+ log_mvpdrop: false
+
+ // Log AtCommands & Charcommands (Note 1)
+ // Only commands issued by player groups ('conf/groups.conf') with
+ // 'log_commands' setting set to 'true' will be logged.
+ log_commands: true
+
+ // Log NPC 'logmes' commands (Note 1)
+ log_npc: true
+
+ // Logging filters
+ filter: {
+ item: {
+ // Filters
+ // if any condition is true then the item will be logged
+ // 0 = Don't log at all
+ // 1 = Log any item
+ // Advanced Filter Bits by item type: ||
+ // 0x002 - Healing items (0)
+ // 0x004 - Etc Items(3) + Arrows (10)
+ // 0x008 - Usable Items(2) + Lures,Scrolls(11) + Usable Cash Items(18)
+ // 0x010 - Weapon(4)
+ // 0x020 - Shields,Armor,Headgears,Accessories,etc(5)
+ // 0x040 - Cards(6)
+ // 0x080 - Pet Accessories(8) + Eggs(7) (well, monsters don't drop 'em but we'll use the same system for ALL logs)
+ // 0x100 - Log expensive items ( >= price_items_log)
+ // 0x200 - Log big amount of items ( >= amount_items_log)
+ // 0x400 - Log refined items (if their refine >= refine_items_log )
+ // 0x800 - Log rare items (if their drop chance <= rare_items_log )
+ // Examples: (log filters)
+ // log_filter: 1 = logs ANY items
+ // log_filter: 0x2 = logs only HEALING items
+ // log_filter: 0x4 = logs only Etc Items and Arrows
+ // log_filter: 0x40 = logs only Cards
+ // log_filter: 0x142 = logs only Healing items, Cards and those items which price is >= price_items_log
+ // log_filter: 0xff0 = logs all items (including all rare, big amount) except healing, etc, arrows and useble ones
+ log_filter: 1
+
+ // Log Items which Refine >= refine_items_log
+ refine_items_log: 5
+
+ // Log Items whith min drop rate <= rare_items_log
+ // 1 = 0.01%, 100 = 1% drop chance, etc
+ rare_items_log: 100
+
+ // don't log it if the current item buy price < price_items_log
+ price_items_log: 1000
+
+ // don't log it if the current item amount < amount_items_log
+ amount_items_log: 100
+ } // item
+
+ chat: {
+ // Log CHAT (Global, Whisper, Party, Guild, Main chat) (Note 3)
+ // LOGGING FILTERS
+ // =============================================================
+ // 0x00 = Don't log at all
+ // 0x01 - Log Global messages
+ // 0x02 - Log Whisper messages
+ // 0x04 - Log Party messages
+ // 0x08 - Log Guild messages
+ // 0x10 - Log Main chat messages
+ // 0x20 - Log Clan messages
+ // Example:
+ // log_chat: 0x5 = logs both Whisper & Party messages
+ // log_chat: 0x8 = logs only Guild messages
+ // log_chat: 0x2f = logs everything
+ // FIXME: This isn't fully functional, as of now it's only checking
+ // if the log is active or not [Panikon]
+ log_chat: 0x2f
+
+ // Disable chat logging when WoE is running? (Note 1)
+ log_chat_woe_disable: false
+ } // chat
+ } // filter
+}
+
+import: "conf/import/logs.conf"
diff --git a/conf/map/map-server.conf b/conf/map/map-server.conf
new file mode 100644
index 0000000..be19a1c
--- /dev/null
+++ b/conf/map/map-server.conf
@@ -0,0 +1,114 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2019 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/>.
+//=========================================================================
+//= Map Server Configuration File
+//=========================================================================
+
+map_configuration: {
+ @include "conf/global/console.conf"
+ @include "conf/import/sql_connection.conf"
+
+ // map_list and map_removed
+ @include "conf/map/maps.conf"
+
+ // When @help or @h is typed when you are a gm, this is displayed for helping new gms understand gm commands.
+ help_txt: "conf/map/help.txt"
+ charhelp_txt: "conf/map/charhelp.txt"
+
+ // Enable the @guildspy and @partyspy at commands?
+ // Note that enabling them decreases packet sending performance.
+ enable_spy: false
+
+ // Read map data from GATs and RSWs in GRF files or a data directory
+ // as referenced by grf-files.txt rather than from the mapcache?
+ use_grf: false
+
+ // When employing more than one language (see db/translations.conf),
+ // this setting is used as a fallback
+ default_language: "English"
+
+ // Information related to inter-server behavior
+ inter: {
+ // Interserver communication passwords, set in the login server database
+ userid: "s1"
+ passwd: "p1"
+
+ // Character Server IP
+ // The map server connects to the character server using this IP address.
+ // NOTE: This is useful when you are running behind a firewall or are on
+ // a machine with multiple interfaces.
+ //char_ip: "127.0.0.1"
+
+ // The map server listens on the interface with this IP address.
+ // NOTE: This allows you to run multiple servers on multiple interfaces
+ // while using the same ports for each server.
+ //bind_ip: "127.0.0.1"
+
+ // Map Server IP
+ // The IP address which clients will use to connect.
+ // Set this to what your server's public IP address is.
+ //map_ip: "127.0.0.1"
+
+ @include "conf/import/ports.conf"
+ }
+
+ database: {
+ // Where should all database data be read from?
+ db_path: "db"
+
+ // Database autosave time
+ // All characters are saved on this time in seconds (example:
+ // autosave of 60 secs with 60 characters online -> one char is
+ // saved every second)
+ autosave_time: 300
+
+ // Min database save intervals (in ms)
+ // Prevent saving characters faster than at this rate (prevents
+ // char-server save-load getting too high as character-count
+ // increases)
+ minsave_time: 100
+
+ // Apart from the autosave_time, players will also get saved
+ // when involved in the following (add as needed):
+ // 0x001: After every successful trade
+ // 0x002: After every vending transaction
+ // 0x004: After closing storage/guild storage.
+ // 0x008: After hatching/returning to egg a pet.
+ // 0x010: After successfully sending a mail with attachment
+ // 0x020: After successfully submitting an item for auction
+ // 0x040: After successfully get/delete/complete a quest
+ // 0x080: After every buying store transaction
+ // 0x100: After every bank transaction (deposit/withdraw)
+ // 0x200: After every allow party flag change
+ // NOTE: These settings decrease the chance of dupes/lost items
+ // when there's a server crash at the expense of increasing the
+ // map/char server lag. If your server rarely crashes, but
+ // experiences interserver lag, you may want to set these off.
+ save_settings: 0x1ff
+ }
+}
+
+import: "conf/import/map-server.conf"
diff --git a/conf/map/maps.conf b/conf/map/maps.conf
new file mode 100644
index 0000000..090ad47
--- /dev/null
+++ b/conf/map/maps.conf
@@ -0,0 +1,417 @@
+map_removed: (
+)
+map_list: (
+ "000-0-0",
+ "000-0-1",
+ "000-0",
+ "000-1",
+ "001-1",
+ "001-10-1",
+ "001-10",
+ "001-11",
+ "001-12",
+ "001-13-0",
+ "001-13-1",
+ "001-13-2",
+ "001-13",
+ "001-14",
+ "001-2",
+ "001-3-1",
+ "001-3",
+ "001-4",
+ "001-5",
+ "001-6",
+ "001-7",
+ "001-8",
+ "001-9",
+ "002-1",
+ "002-2",
+ "002-3",
+ "002-4",
+ "002-5",
+ "003-0-1",
+ "003-0-2",
+ "003-0",
+ "003-1-1",
+ "003-1-2",
+ "003-1-3",
+ "003-1",
+ "003-10",
+ "003-13",
+ "003-2-1",
+ "003-2",
+ "003-3",
+ "003-4-1",
+ "003-4",
+ "003-5",
+ "003-6",
+ "003-7",
+ "003-8",
+ "003-9-1",
+ "003-9",
+ "004-1",
+ "004-2-1",
+ "004-2-10",
+ "004-2-11",
+ "004-2-12",
+ "004-2-2",
+ "004-2-3",
+ "004-2-4",
+ "004-2-5",
+ "004-2-6",
+ "004-2-7",
+ "004-2-8",
+ "004-2-9",
+ "004-2",
+ "004-3-1",
+ "004-3-2",
+ "004-3-3",
+ "004-3-4",
+ "004-3-5",
+ "004-3-6",
+ "004-3",
+ "005-1-1",
+ "005-1",
+ "005-2-1",
+ "005-2",
+ "005-3",
+ "005-4",
+ "005-5",
+ "005-6",
+ "005-7",
+ "006-0",
+ "006-1",
+ "006-10",
+ "006-2-1",
+ "006-2-2",
+ "006-2-3",
+ "006-2-4",
+ "006-2-5",
+ "006-2-6",
+ "006-2",
+ "006-3",
+ "006-4-1",
+ "006-4",
+ "006-5",
+ "006-6",
+ "006-7",
+ "006-8",
+ "006-9",
+ "007-1-1",
+ "007-1-2",
+ "007-1",
+ "007-2",
+ "008-0",
+ "008-1",
+ "008-2",
+ "009-1",
+ "009-2",
+ "009-3",
+ "009-4",
+ "009-5",
+ "009-6",
+ "009-7",
+ "010-1-1",
+ "010-1-10",
+ "010-1-11",
+ "010-1-12",
+ "010-1-2",
+ "010-1-3",
+ "010-1-4",
+ "010-1-5",
+ "010-1-6",
+ "010-1-7",
+ "010-1-8",
+ "010-1-9",
+ "010-1",
+ "010-2-10",
+ "010-2-11",
+ "010-2-12",
+ "010-2-13",
+ "010-2-14",
+ "010-2-15",
+ "010-2-16",
+ "010-2-2",
+ "010-2-3",
+ "010-2-4",
+ "010-2-5",
+ "010-2-6",
+ "010-2-7",
+ "010-2-8",
+ "010-2-9",
+ "010-2",
+ "010-3",
+ "010-4-1",
+ "010-4-2",
+ "011-1",
+ "011-2",
+ "011-3",
+ "012-1",
+ "012-2",
+ "012-3",
+ "012-4",
+ "012-5",
+ "012-6",
+ "012-7",
+ "012-8",
+ "013-1",
+ "014-1",
+ "014-2-1",
+ "014-2-2",
+ "014-2",
+ "014-3",
+ "014-4",
+ "014-5-1",
+ "014-5",
+ "015-1",
+ "015-2",
+ "015-3-1",
+ "015-3-2",
+ "015-3-3",
+ "015-3",
+ "015-4",
+ "015-5",
+ "015-6",
+ "015-7",
+ "015-8-1",
+ "015-8",
+ "016-1",
+ "016-6",
+ "016-7",
+ "017-0",
+ "017-1",
+ "017-10",
+ "017-2-1",
+ "017-2-2",
+ "017-2",
+ "017-3",
+ "017-4",
+ "017-5",
+ "017-6",
+ "017-7",
+ "017-8",
+ "018-1-1",
+ "018-1",
+ "018-2-1",
+ "018-2-2",
+ "018-2-3",
+ "018-2-4",
+ "018-2-5",
+ "018-2-6",
+ "018-2-7",
+ "018-2-8",
+ "018-2",
+ "018-3",
+ "018-4-1",
+ "018-4-2",
+ "018-4",
+ "018-5-0",
+ "018-5-1",
+ "018-5-2",
+ "018-5-3",
+ "018-5-4",
+ "018-5-5",
+ "018-5-boss",
+ "018-5",
+ "018-6-0",
+ "018-6-1",
+ "018-6-2",
+ "018-6-3",
+ "018-7-1",
+ "018-7",
+ "019-1-1",
+ "019-1",
+ "019-2",
+ "019-3",
+ "019-4-1",
+ "019-4",
+ "019-5-1",
+ "019-5-2",
+ "019-5-3",
+ "019-5",
+ "019-6",
+ "020-1",
+ "020-2",
+ "020-3",
+ "020-4",
+ "020-5",
+ "020-6",
+ "020-7-1",
+ "020-7-2",
+ "020-7",
+ "021-0",
+ "021-1",
+ "021-2",
+ "021-3",
+ "021-4",
+ "022-1",
+ "023-1",
+ "023-2",
+ "023-3-1",
+ "023-3-2",
+ "023-3",
+ "023-4",
+ "024-1",
+ "024-10",
+ "024-11",
+ "024-12",
+ "024-13",
+ "024-14",
+ "024-15",
+ "024-16",
+ "024-2",
+ "024-3",
+ "024-4",
+ "024-5",
+ "024-6",
+ "024-7",
+ "024-8",
+ "024-9",
+ "025-1",
+ "025-2-1",
+ "025-2-2",
+ "025-2-3",
+ "025-2-4",
+ "025-2",
+ "025-3",
+ "026-0",
+ "026-1",
+ "026-2",
+ "027-0",
+ "027-1",
+ "027-2",
+ "027-3",
+ "027-4",
+ "027-5",
+ "027-6",
+ "027-7",
+ "029-0",
+ "029-1",
+ "029-2",
+ "029-3",
+ "029-4",
+ "029-5",
+ "029-6",
+ "029-7",
+ "029-8",
+ "029-9",
+ "030-01",
+ "030-02",
+ "030-03",
+ "030-04",
+ "030-05",
+ "030-06",
+ "030-07",
+ "030-08",
+ "030-09",
+ "030-10",
+ "030-11",
+ "030-12",
+ "030-13",
+ "030-14",
+ "030-15",
+ "030-16",
+ "030-17",
+ "030-18",
+ "030-19",
+ "030-20",
+ "030-21",
+ "030-22",
+ "030-23",
+ "030-24",
+ "030-25",
+ "030-26",
+ "030-27",
+ "030-28",
+ "030-29",
+ "030-30",
+ "030-31",
+ "030-32",
+ "030-33",
+ "030-34",
+ "030-35",
+ "030-36",
+ "030-37",
+ "030-38",
+ "030-39",
+ "030-40",
+ "030-41",
+ "030-42",
+ "030-43",
+ "030-44",
+ "030-45",
+ "030-46",
+ "030-47",
+ "030-48",
+ "030-49",
+ "030-50",
+ "030-51",
+ "030-52",
+ "030-53",
+ "030-54",
+ "030-55",
+ "030-56",
+ "030-57",
+ "030-58",
+ "030-59",
+ "030-60",
+ "030-61",
+ "030-62",
+ "030-63",
+ "030-64",
+ "030-65",
+ "030-66",
+ "030-67",
+ "030-68",
+ "030-69",
+ "030-70",
+ "030-71",
+ "030-72",
+ "030-73",
+ "030-74",
+ "030-75",
+ "031-0",
+ "031-1",
+ "031-2",
+ "031-3",
+ "031-4",
+ "031-5",
+ "031-6",
+ "031-7",
+ "031-8",
+ "031-9",
+ "032-1",
+ "032-2",
+ "032-3",
+ "032-4",
+ "032-5",
+ "033-1",
+ "033-2",
+ "033-3",
+ "033-4",
+ "033-5",
+ "034-1",
+ "034-2",
+ "034-3",
+ "034-4",
+ "042-0",
+ "042-1",
+ "042-10",
+ "042-11",
+ "042-2",
+ "042-3",
+ "042-4",
+ "042-5",
+ "042-6",
+ "042-7",
+ "042-8",
+ "042-9",
+ "boss",
+ "botcheck",
+ "guilds",
+ "sec_pri",
+ "soren-2",
+ "soren",
+ "test",
+ "testbg",
+)
diff --git a/conf/map/script.conf b/conf/map/script.conf
new file mode 100644
index 0000000..802ce25
--- /dev/null
+++ b/conf/map/script.conf
@@ -0,0 +1,64 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2019 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/>.
+//=========================================================================
+//= Hercules Script Configuration File.
+//=========================================================================
+
+script_configuration: {
+ // Specifies whether or not an error should be outputed when there's a
+ // mismatch between the number of provided arguments and of expected
+ // arguments
+ // Default: true
+ warn_func_mismatch_paramnum: true
+
+ // Specifies whether or not each built-in function's arguments are
+ // checked for correct type. When a function is given an argument
+ // different from what it expects, a warning is thrown before the
+ // function is ran anyway.
+ // Default: true
+ warn_func_mismatch_argtypes: true
+
+ // Maximum number of operations before considering a set of operations too intensive
+ // Defaults to 655360
+ check_cmdcount: 655360
+
+ // Maximum number of iterations before considering a loop infinite
+ // Defaults to 2048
+ check_gotocount: 2048
+
+ // Default value of the 'min' argument of the script command 'input'.
+ // When the 'min' argument isn't provided, this value is used instead.
+ // Defaults to 0.
+ input_min_value: 0
+
+ // Default value of the 'max' argument of the script command 'input'.
+ // When the 'max' argument isn't provided, this value is used instead.
+ // Defaults to INT_MAX.
+ //input_max_value: 2147483647
+ input_max_value: 10000000
+}
+
+import: "conf/import/script.conf"
diff --git a/conf/map/storage.conf b/conf/map/storage.conf
new file mode 100644
index 0000000..089d23d
--- /dev/null
+++ b/conf/map/storage.conf
@@ -0,0 +1,72 @@
+//================= Hercules Database ==========================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ====================================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2017 Hercules Dev Team
+//= Copyright (C) 2017 Smokexyz
+//=
+//= 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/>.
+//==============================================================================
+//= Storage Configuration
+//==============================================================================
+//= @Format Notes:
+//= - There can be an unlimited amount of storages and limits.
+//= - All setting names are case-sensitive and must be keyed accurately.
+//= - It is not recommended to set the maximum storage capacity over 1000 items.
+
+storage_conf: (
+/******************************************************************************
+********************************* Entry structure *****************************
+*******************************************************************************
+{
+ Id: (int) (required|unique) Unique Identifier
+ Name: (string) (required) Name of the storage sent to the client.
+ Capacity: (int) (required) Maximum capacity of the storage.
+}
+*******************************************************************************/
+{
+ // DO NOT EDIT THIS ENTRY!
+ // This is the default (official) storage for an account.
+ Id: 1
+ Name: "Storage"
+ Capacity: 500
+},
+{
+ Id: 2
+ Name: "Quirin Storage"
+ Capacity: 120
+},
+{
+ Id: 3
+ Name: "Fortress Storage"
+ Capacity: 10
+},
+{
+ Id: 4
+ Name: "Premium Storage"
+ Capacity: 300
+},
+{
+ Id: 5
+ Name: "Deluxe Storage"
+ Capacity: 500
+},
+)
diff --git a/conf/messages.conf b/conf/messages.conf
new file mode 100644
index 0000000..3f98ecc
--- /dev/null
+++ b/conf/messages.conf
@@ -0,0 +1,1633 @@
+//===== Hercules Message Configuration =======================
+//= Hercules messages.conf
+//===== Description: =========================================
+//= This file handles all messages set throughout the server.
+//============================================================
+// For translation, just change msg here (second line),
+// no need to modify source code or alternatively,
+// use conf/import/msg_conf.txt.
+//============================================================
+// Format:
+// // English message
+// msg_number: translated message
+//============================================================
+
+// 0-499: reserved for GM commands
+// 500-549: reserved for others
+// 550-699: reserved for job names (also loaded by char server)
+// 900-1500: @atcommand
+
+// To disable a string (%s) field, make its max length 0:
+// eg:
+// 270: *%s %s* (@me format)
+// 270: *%.0s%s* (remove the character's name from it)
+
+// Messages of GM commands
+// -----------------------
+
+0: Warped.
+1: Map not found.
+2: Invalid coordinates, using random target cell.
+3: Character not found.
+4: Jump to %s
+5: Jump to %d %d
+6: Your save point has been changed.
+7: Warping to save point.
+8: Speed changed.
+9: Options changed.
+10: Invisible: Off
+11: Invisible: On
+12: Your job has been changed.
+13: You've died.
+14: Character killed.
+15: Unknown
+16: You've been revived!
+17: HP, SP recovered.
+18: Item created.
+19: Invalid item ID or name.
+20: All of your items have been removed.
+21: Base level raised.
+22: Base level lowered.
+23: Job level can't go any higher.
+24: Job level raised.
+25: Job level lowered.
+26: [%d] seconds left until you can use
+27: Storage '%s' has been not loaded yet.
+28: No player found.
+29: 1 player found.
+30: %d players found.
+31: PvP Off.
+32: PvP On.
+33: GvG Off.
+34: GvG On.
+35: This job has no alternate body styles.
+36: Appearance changed.
+37: An invalid number was specified.
+38: Invalid location number, or name.
+39: All monsters summoned!
+40: Invalid monster ID or name.
+41: Unable to decrease the number/value.
+42: Stat changed.
+43: You're not in a guild.
+44: You're not the master of your guild.
+45: Guild level change failed.
+46: %s recalled!
+47: Base level can't go any higher.
+48: Any work in progress (NPC dialog, manufacturing ...) quit and try again.
+49: Unable to Teleport in this area
+50: This skill cannot be used within this area.
+51: This item cannot be used within this area.
+//52 FREE
+53: '%s' stats:
+54: No player found in map '%s'.
+55: 1 player found in map '%s'.
+56: %d players found in map '%s'.
+//57-58 FREE
+59: Night Mode Activated.
+60: Day Mode Activated.
+61: The holy messenger has given judgement.
+62: Judgement has passed.
+63: Mercy has been shown.
+64: Mercy has been granted.
+65: Please specify a storage name. (usage: @storeall <storage name/ID>).
+66: Please specify a storage name. (usage: @clearstorage <storage name/ID>).
+67: Invalid storage name or ID
+68: Please specify a storage name. (usage: @storage <storage name/ID>).
+// 69 FREE
+70: You have learned the skill.
+71: You have forgotten the skill.
+72: War of Emperium has been initiated.
+73: War of Emperium is currently in progress.
+74: War of Emperium has been ended.
+75: War of Emperium is currently not in progress.
+76: All skills have been added to your skill tree.
+77: Search results for '%s' (name: id):
+78: %s: %d
+79: %d results found.
+80: Please specify a display name or monster name/id.
+81: Your GM level doesn't authorize you to perform this action on the specified player.
+//82-83 FREE
+84: All stats changed!
+85: Invalid time for ban command.
+//86-87 FREE
+88: Sending request to login server...
+89: Night mode is already enabled.
+90: Day mode is already enabled.
+//91 FREE
+92: All characters recalled!
+93: All online characters of the %s guild have been recalled to your position.
+94: Incorrect name/ID, or no one from the specified guild is online.
+95: All online characters of the %s party have been recalled to your position.
+96: Incorrect name/ID, or no one from the specified party is online.
+97: Item database has been reloaded.
+98: Monster database has been reloaded.
+99: Skill database has been reloaded.
+100: Scripts have been reloaded.
+//101 FREE
+102: You have mounted a Peco Peco.
+103: No longer spying on the %s guild.
+104: Spying on the %s guild.
+105: No longer spying on the %s party.
+106: Spying on the %s party.
+107: All items have been repaired.
+108: No item need to be repaired.
+109: Player has been nuked!
+110: NPC Enabled.
+111: This NPC doesn't exist.
+112: NPC Disabled.
+113: %d item(s) removed by a GM.
+114: %d item(s) removed from the player.
+115: %d item(s) removed. Player had only %d on %d items.
+116: Character does not have the specified item.
+117: You have been jailed by a GM.
+118: Player warped to jail.
+119: This player is not in jail.
+120: A GM has discharged you from jail.
+121: Player unjailed.
+122: Disguise applied.
+123: Invalid Monster/NPC name/ID specified.
+124: Disguise removed.
+125: You're not disguised.
+//Clone Messages
+126: Cannot clone a player of higher GM level than yourself.
+127: You've reached your slave clones limit.
+128: Evil clone spawned.
+129: Unable to spawn evil clone.
+130: Clone spawned.
+131: Unable to spawn clone.
+132: Slave clone spawned.
+133: Unable to spawn slave clone.
+//134-136 FREE (possibly for other clone types)
+137: CvC: Off
+138: CvC: On
+139: CvC ON |
+140: You can't join in a clan if you're in a guild.
+141: CvC is already Off.
+142: CvC is already On.
+143: Commands are disabled in this map.
+144: Invalid e-mail. If your email hasn't been set, use a@a.com.
+145: Invalid new e-mail. Please enter a real e-mail address.
+146: New e-mail must be a real e-mail address.
+147: New e-mail must be different from the current e-mail address.
+148: Information sent to login-server via char-server.
+149: Impossible to increase the number/value.
+150: No GM found.
+151: 1 GM found.
+152: %d GMs found.
+153: %s is Unknown Command.
+154: %s failed.
+155: You are unable to change your job.
+156: HP or/and SP modified.
+157: HP and SP have already been recovered.
+158: Base level can't go any lower.
+159: Job level can't go any lower.
+160: PvP is already Off.
+161: PvP is already On.
+162: GvG is already Off.
+163: GvG is already On.
+//164 FREE
+165: All monsters killed!
+166: No item has been refined.
+167: 1 item has been refined.
+168: %d items have been refined.
+169: The item (%d: '%s') is not equippable.
+170: The item is not equippable.
+171: %d - void
+172: Speed returned to normal.
+//173 FREE
+174: Number of status points changed.
+175: Number of skill points changed.
+176: Current amount of zeny changed.
+177: You cannot decrease that stat anymore.
+178: You cannot increase that stat anymore.
+179: Guild level changed.
+180: The monster/egg name/ID doesn't exist.
+181: You already have a pet.
+182: Pet intimacy changed.
+183: Pet intimacy is already at maximum.
+184: Sorry, but you have no pet.
+185: Pet hunger changed.
+186: Pet hunger is already at maximum.
+187: You can now rename your pet.
+188: You can already rename your pet.
+//189-194 FREE
+195: All players have been kicked!
+196: You already have this quest skill.
+197: This skill number doesn't exist or isn't a quest skill.
+198: This skill number doesn't exist.
+//199-200 FREE
+201: You don't have this quest skill.
+//202-203 FREE
+204: You can't open a shop on this cell.
+205: Maybe you meant:
+206: '%s' skill points reset.
+207: '%s' stats points reset.
+208: '%s' skill and stat points have been reset.
+//209-211 FREE
+212: Cannot mount while in disguise.
+213: You need %s to mount!
+214: You have released your Peco Peco.
+215: Your class can't mount!
+//216-218 FREE
+219: %d day
+220: %d days
+221: %d hour
+222: %d hours
+223: %d minute
+224: %d minutes
+225: and %d second
+226: and %d seconds
+227: Party modification is disabled in this map.
+228: Guild modification is disabled in this map.
+229: Your effect has changed.
+230: Server time (normal time): %A, %B %d %Y %X.
+231: Game time: The game is in permanent daylight.
+232: Game time: The game is in permanent night.
+233: Game time: The game is in night for %s.
+//234 FREE
+235: Game time: The game is in daylight for %s.
+//236 FREE
+237: Game time: After, the game will be in night for %s.
+238: Game time: A day cycle has a normal duration of %s.
+239: Game time: After, the game will be in daylight for %s.
+240: %d monster(s) summoned!
+241: You can now attack and kill players freely.
+242: You can now be attacked and killed by players.
+243: Skills have been disabled in this map.
+244: Skills have been enabled in this map.
+245: Server Uptime: %ld days, %ld hours, %ld minutes, %ld seconds.
+246: Your GM level doesn't authorize you to perform this action.
+247: You are not authorized to warp to this map.
+248: You are not authorized to warp from your current map.
+249: You are not authorized to warp to your save map.
+250: You have already opened your storage. Close it first.
+251: You have already opened your guild storage. Close it first.
+252: You are not in a guild.
+253: You already are at your destination!
+254: GM command configuration has been reloaded.
+255: Battle configuration has been reloaded.
+256: Status database has been reloaded.
+257: Player database has been reloaded.
+258: Sent packet 0x%x (%d)
+259: Invalid packet
+260: This item cannot be traded.
+261: Script could not be loaded.
+262: Script loaded.
+263: This item cannot be dropped.
+264: This item cannot be stored.
+265: %s has bought your item(s).
+266: Some of your items cannot be vended and were removed from the shop.
+//267-268 FREE
+269: Displaying first %d out of %d matches
+//@me output format
+270: * :%s %s: *
+271: You can't drop items in this map
+272: You can't trade in this map
+273: Available commands:
+274: %d commands found.
+//275 FREE
+276: You can't open a shop in this map
+277: Usage: @request <petition/message to online GMs>.
+278: (@request): %s
+279: @request sent.
+280: Invalid name.
+281: You can't create chat rooms in this map
+//Party-related
+282: You need to be a party leader to use this command.
+283: Target character must be online and in your current party.
+284: Leadership transferred.
+285: You've become the party leader.
+286: There's been no change in the setting.
+287: You cannot change party leaders in this map.
+//Missing stuff for @killer related commands.
+288: You are no longer killable.
+//289-290 FREE
+291: Weather effects will disappear after teleporting or refreshing.
+292: Killer state reset.
+//Item Bind System
+293: This bound item cannot be traded to that character.
+294: This bound item cannot be stored there.
+295: Please enter an item name or ID (usage: @itembound <item name/ID> <quantity> <bound_type>).
+296: Please enter all parameters (usage: @itembound2 <item name/ID> <quantity>
+297: <identify_flag> <refine> <attribute> <card1> <card2> <card3> <card4> <bound_type>).
+298: Invalid bound type. Valid types are - 1:Account 2:Guild 3:Party 4:Character
+//299 FREE
+// Guild Castles Number
+// --------------------
+300: None Taken
+301: One Castle
+302: Two Castles
+303: Three Castles
+304: Four Castles
+305: Five Castles
+306: Six Castles
+307: Seven Castles
+308: Eight Castles
+309: Nine Castles
+310: Ten Castles
+311: Eleven Castles
+312: Twelve Castles
+313: Thirteen Castles
+314: Fourteen Castles
+315: Fifteen Castles
+316: Sixteen Castles
+317: Seventeen Castles
+318: Eighteen Castles
+319: Nineteen Castles
+320: Twenty Castles
+321: Twenty-One Castles
+322: Twenty-Two Castles
+323: Twenty-Three Castles
+324: Twenty-Four Castles
+325: Twenty-Five Castles
+326: Twenty-Six Castles
+327: Twenty-Seven Castles
+328: Twenty-Eight Castles
+329: Twenty-Nine Castles
+330: Thirty Castles
+331: Thirty-One Castles
+332: Thirty-Two Castles
+333: Thirty-Three Castles
+// 334: Thirty-Four Castles
+334: Total Domination
+
+//335-342 FREE
+
+// Templates for @who output
+343: Name: %s
+344: (%s)
+345: | Party: '%s'
+346: | Guild: '%s'
+//You may omit the last %s, then you won't see players job name
+347: | Lv:%d/%d | Job: %s
+//You may omit 2 last %d, then you won't see players coordinates, just map name
+348: | Location: %s %d %d
+//349 FREE
+
+// @duel
+350: Duel| You can't use @invite. You aren't a duelist.
+351: Duel| The limit of players has been reached.
+352: Duel| Player name not found.
+353: Duel| The Player is in the duel already.
+354: Duel| Invitation has been sent.
+355: Duel| You can't use @duel without @reject.
+356: Duel| You can take part in duel once per %d minutes.
+357: Duel| Invalid value.
+358: Duel| You can't use @leave. You aren't a duelist.
+359: Duel| You've left the duel.
+360: Duel| You can't use @accept without a duel invitation.
+361: Duel| The duel invitation has been accepted.
+362: Duel| You can't use @reject without a duel invitation.
+363: Duel| The duel invitation has been rejected.
+364: Duel| You can't invite %s because he/she isn't in the same map.
+365: Duel| Can't use %s in duel.
+// Stylist Shop
+366: Styling Shop
+367: <MSG>2949</MSG>
+368: <MSG>2950</MSG>
+//369 FREE
+370: -- Duels: %d/%d, Members: %d/%d, Max players: %d --
+371: -- Duels: %d/%d, Members: %d/%d --
+372: -- Duel has been created (Use @invite/@leave) --
+373: -- Player %s invites %s to duel --
+374: Blue -- Player %s invites you to PVP duel (Use @accept/@reject) --
+375: <- Player %s has left the duel --
+376: -> Player %s has accepted the duel --
+377: -- Player %s has rejected the duel --
+//378-385 FREE
+// Main chat
+386: %s :Main: %s
+//387-389 FREE
+//NoAsk
+390: Autorejecting is activated.
+391: Autorejecting is deactivated.
+392: You request has been rejected by autoreject option.
+393: Autorejected trade request from %s.
+394: Autorejected party invite from %s.
+395: Autorejected guild invite from %s.
+396: Autorejected alliance request from %s.
+397: Autorejected opposition request from %s.
+398: Autorejected friend request from %s.
+//399 FREE
+400: Usage: @jailfor <time> <character name>
+//401 FREE
+402: %s in jail for %d years, %d months, %d days, %d hours and %d minutes
+// WoE SE (@agitstart2)
+403: War of Emperium SE has been initiated.
+404: War of Emperium SE is currently in progress.
+405: War of Emperium SE has been ended.
+406: War of Emperium SE is currently not in progress.
+//407 FREE
+//chrif related
+408: Disconnecting to perform change-sex request...
+409: Your sex has been changed (disconnection required to complete the process)...
+//410-411 used by cash shop
+412: Your account is 'Unregistered'.
+413: Your account has an 'Incorrect Password'...
+414: Your account has expired.
+415: Your account has been rejected from server.
+416: Your account has been blocked by the GM Team.
+417: Your Game's EXE file is not the latest version.
+418: Your account has been prohibited to log in.
+419: Server is jammed due to overpopulation.
+420: Your account is no longer authorized.
+421: Your account has been totally erased.
+//422 FREE
+423: Your account has been banished until
+424: Login-server has been asked to %s the player '%.*s'.
+425: The player '%.*s' doesn't exist.
+426: Your GM level doesn't authorize you to %s the player '%.*s'.
+427: Login-server is offline. Impossible to %s the player '%.*s'.
+428: block
+429: ban
+430: unblock
+431: unban
+432: change the sex of
+433: This character has been banned until
+434: Char-server has been asked to %s the character '%.*s'.
+//435-448 FREE
+// Homunculus messages
+449: Homunculus Experience Gained Base:%u (%.2f%%)
+450: You already have a homunculus
+
+// Return pet to egg message
+451: You can't return your pet because your inventory is full.
+452: usage @camerainfo range rotation latitude
+453: Refinery UI is not available
+// Battlegrounds
+454: Server : %s is leaving the battlefield...
+455: Server : %s has been afk-kicked from the battlefield...
+456: You are a deserter! Wait %u minute(s) before you can apply again
+457: You are a deserter! Wait %u seconds before you can apply again
+458: You can't reapply to this arena so fast. Apply to the different arena or wait %u minute(s)
+459: You can't reapply to this arena so fast. Apply to the different arena or wait %u seconds
+460: Can't apply: not enough members in your team/guild that have not entered the queue in individual mode, minimum is %d
+461: Can't apply: not enough members in your team/guild, minimum is %d
+462: Can't apply: not enough members in your team/party that have not entered the queue in individual mode, minimum is %d
+463: Can't apply: not enough members in your team/party, minimum is %d
+464: Server : %s has quit the game...
+// IRC
+465: [ #%s ] User IRC.%s left the channel. [Quit: %s]
+466: [ #%s ] User IRC.%s left the channel. [%s]
+467: [ #%s ] User IRC.%s is now known as IRC.%s
+468: [ #%s ] User IRC.%s joined the channel.
+// 469-497 FREE
+
+// Messages of others (not for GM commands)
+// ----------------------------------------
+
+// @itembound / @itembound2
+498: Cannot create bound pet eggs or pet armors.
+
+//499-500 FREE
+501: Your account time limit is: %d-%m-%Y %H:%M:%S.
+502: Day Mode is activated
+503: Night Mode is activated
+
+// Cash point change messages
+504: Used %d Kafra points and %d cash points. %d Kafra and %d cash points remaining.
+505: Gained %d cash points. Total %d points.
+506: Gained %d Kafra points. Total %d points.
+410: Removed %d cash points. Total %d points.
+411: Removed %d Kafra points. Total %d points.
+
+// Trade Spoof Messages
+507: This player has been banned for %d minute(s).
+508: This player hasn't been banned (Ban option is disabled).
+//509 FREE
+
+// mail system
+//----------------------
+510: You have %d new emails (%d unread)
+511: Inbox is full (Max %d). Delete some mails.
+// 512-537 FREE
+
+// Trade Spoof Messages
+538: Hack on trade: character '%s' (account: %d) try to trade more items that he has.
+539: This player has %d of a kind of item (id: %d), and tried to trade %d of them.
+540: This player has been definitively blocked.
+//541-543 FREE
+544: <MSG>3455</MSG>
+545: <MSG>3456,%d</MSG>
+// @showmobs
+546: Please enter a mob name/id (usage: @showmobs <mob name/id>)
+547: Invalid mob name %s!
+// @clearcart
+548: You can't clean a cart while vending!
+// @Autotrade
+549: You should have a shop open in order to use @autotrade.
+
+//550 -> 699: Job Names
+550: Novice
+551: Swordsman
+552: Magician
+553: Archer
+554: Acolyte
+555: Merchant
+556: Thief
+557: Knight
+558: Priest
+559: Wizard
+560: Blacksmith
+561: Hunter
+562: Assassin
+563: Crusader
+564: Monk
+565: Sage
+566: Rogue
+567: Alchemist
+568: Bard
+569: Dancer
+570: Wedding
+571: Super Novice
+572: Gunslinger
+573: Ninja
+574: Christmas
+575: High Novice
+576: High Swordsman
+577: High Magician
+578: High Archer
+579: High Acolyte
+580: High Merchant
+581: High Thief
+582: Lord Knight
+583: High Priest
+584: High Wizard
+585: Whitesmith
+//585: Mastersmith //iRO name
+586: Sniper
+587: Assassin Cross
+588: Paladin
+589: Champion
+590: Professor
+//590: Scholar //iRO name
+591: Stalker
+592: Creator
+//592: Biochemist //iRO Name
+593: Clown
+//593: Minstrel //iRO Name
+594: Gypsy
+595: Baby Novice
+596: Baby Swordsman
+597: Baby Magician
+598: Baby Archer
+599: Baby Acolyte
+600: Baby Merchant
+601: Baby Thief
+602: Baby Knight
+603: Baby Priest
+604: Baby Wizard
+605: Baby Blacksmith
+606: Baby Hunter
+607: Baby Assassin
+608: Baby Crusader
+609: Baby Monk
+610: Baby Sage
+611: Baby Rogue
+612: Baby Alchemist
+613: Baby Bard
+614: Baby Dancer
+615: Super Baby
+616: Taekwon
+617: Star Gladiator
+618: Soul Linker
+//619 FREE
+620: Unknown Job
+621: Summer
+622: Gangsi
+623: Death Knight
+624: Dark Collector
+625: Rune Knight
+626: Warlock
+627: Ranger
+628: Arch Bishop
+629: Mechanic
+630: Guillotine Cross
+631: Royal Guard
+632: Sorcerer
+633: Minstrel
+//633: Maestro //iRO Name
+634: Wanderer
+635: Sura
+636: Genetic
+//636: Geneticist //iRO Name
+637: Shadow Chaser
+638: Baby Rune Knight
+639: Baby Warlock
+640: Baby Ranger
+641: Baby Arch Bishop
+642: Baby Mechanic
+643: Baby Guillotine Cross
+644: Baby Royal Guard
+645: Baby Sorcerer
+646: Baby Minstrel
+647: Baby Wanderer
+648: Baby Sura
+649: Baby Genetic
+650: Baby Shadow Chaser
+651: Expanded Super Novice
+652: Expanded Super Baby
+653: Kagerou
+654: Oboro
+655: Rebellion
+
+656: Rune Knight T
+657: Warlock T
+658: Ranger T
+659: Arch Bishop T
+660: Mechanic T
+661: Guillotine Cross T
+662: Royal Guard T
+663: Sorcerer T
+664: Minstrel T
+665: Wanderer T
+666: Sura T
+667: Genetic T
+668: Shadow Chaser T
+669: Summoner
+
+//670-853 FREE (please start using from the top if you need, leave the 670+ range for new jobs)
+
+// Mapflag to disable Autoloot Commands
+854: Auto loot item are disabled on this map.
+
+// MVP exp message issue clients 2013-12-23cRagexe and newer.
+855: Congratulations! You are the MVP! Your reward EXP Points are %u !!
+
+// MvP Tomb
+856: Tomb
+857: [ ^EE0000%s^000000 ]
+858: Has met its demise
+859: Time of death : ^EE0000%s^000000
+860: Defeated by
+861: [^EE0000%s^000000]
+
+// Etc messages from source
+862: You're too close to a NPC, you must be at least %d cells away from any NPC.
+863: Duel| Can't use this item in duel.
+864: You cannot use this command when dead.
+865: Can't create chat rooms in this area.
+866: Pets are not allowed in Guild Wars.
+867: You're not dead.
+868: Your current memo positions are:
+869: You broke the target's weapon.
+870: You can't leave battleground guilds.
+871: Friend already exists.
+872: Name not found in list.
+873: This action can't be performed at the moment. Please try again later.
+874: Friend removed.
+875: Cannot send mails too fast!!
+876: Alliances cannot be made during Guild Wars!
+877: Alliances cannot be broken during Guild Wars!
+878: You are no longer the Guild Master.
+879: You have become the Guild Master!
+880: You have been recovered!
+881: Shop is out of stock! Come again later!
+
+// Frost Joker / Scream text for monster (MobName : SkillName !!)
+882: %s : %s !!
+// Cursed Circle
+883: You are too close to a stone or emperium to do this skill
+//
+884: Skill Failed. [%s] requires %dx %s.
+885: Removed %dz.
+886: Gained %dz.
+887: %s stole an Unknown Item (id: %i).
+888: %s stole %s.
+889: Experience Gained Base:%"PRIu64" (%.2f%%) Job:%"PRIu64" (%.2f%%)
+890: [KS Warning!! - Owner : %s]
+891: [Watch out! %s is trying to KS you!]
+892: Growth: hp:%d sp:%d str(%.2f) agi(%.2f) vit(%.2f) int(%.2f) dex(%.2f) luk(%.2f)
+893: [ Kill Steal Protection Disabled. KS is allowed in this map ]
+894: %s is in autotrade mode and cannot receive whispered messages.
+// 895 FREE
+896: Base EXP : %d%% | Base Drop: %d%% | Base Death Penalty: %d%%
+897: #%s '%s' joined
+898: #%s '%s' left
+// 899 FREE
+
+//------------------------------------
+// More atcommands message
+//------------------------------------
+
+// @send
+900: Usage:
+901: @send len <packet hex number>
+902: @send <packet hex number> {<value>}*
+903: Value: <type=B(default),W,L><number> or S<length>"<string>"
+904: Packet 0x%x length: %d
+905: Unknown packet: 0x%x
+906: Not a string:
+907: Not a hexadecimal digit:
+908: Unknown type of value in:
+
+// @rura
+909: Please enter a map (usage: @warp/@rura/@mapmove <mapname> <x> <y>).
+
+// @where
+910: Please enter a player name (usage: @where <char name>).
+
+// @jumpto
+911: Please enter a player name (usage: @jumpto/@warpto/@goto <char name/ID>).
+
+// @who
+912: (CID:%d/AID:%d)
+
+// @whogm
+913: Name: %s (GM)
+914: Name: %s (GM:%d) | Location: %s %d %d
+915: BLvl: %d | Job: %s (Lvl: %d)
+916: Party: '%s' | Guild: '%s'
+917: None
+
+// @speed
+918: Please enter a speed value (usage: @speed <%d-%d>).
+
+// @storage
+919: Storage #%d opened.
+
+// @guildstorage
+920: Guild storage opened.
+
+// @option
+921: Please enter at least one option.
+
+//922 FREE
+
+// @jobchange
+923: You can not change to this job by command.
+//924-979 FREE
+
+// @kami
+980: Please enter a message (usage: @kami <message>).
+981: Please enter color and message (usage: @kamic <color> <message>).
+982: Invalid color.
+
+// @item
+983: Please enter an item name or ID (usage: @item <item name/ID> <quantity>).
+
+// @item2
+984: Please enter all parameters (usage: @item2 <item name/ID> <quantity>).
+985: <identify_flag> <refine> <attribute> <card1> <card2> <card3> <card4>).
+
+// @baselevelup
+986: Please enter a level adjustment (usage: @lvup/@blevel/@baselvlup <number of levels>).
+
+// @joblevelup
+987: Please enter a level adjustment (usage: @joblvup/@jlevel/@joblvlup <number of levels>).
+
+// @help
+988: There is no help for %c%s.
+989: Help for command %c%s:
+990: Available aliases:
+
+// @model
+991: Please enter at least one value (usage: @model <hair ID: %d-%d> <hair color: %d-%d> <clothes color: %d-%d>).
+
+// @dye
+992: Please enter a clothes color (usage: @dye/@ccolor <clothes color: %d-%d>).
+
+// @hairstyle
+993: Please enter a hair style (usage: @hairstyle/@hstyle <hair ID: %d-%d>).
+
+// @haircolor
+994: Please enter a hair color (usage: @haircolor/@hcolor <hair color: %d-%d>).
+
+//995 FREE
+
+// @refine - Part 1
+996: Please enter a position bitmask and an amount (usage: @refine <equip position> <+/- amount>).
+997: %d: Headgear (Low)
+998: %d: Hand (Right)
+999: %d: Garment
+1000: %d: Accessory (Left)
+1001: %d: Body Armor
+1002: %d: Hand (Left)
+1003: %d: Shoes
+1004: %d: Accessory (Right)
+1005: %d: Headgear (Top)
+1006: %d: Headgear (Mid)
+
+// @produce
+1007: Please enter at least one item name/ID (usage: @produce <equip name/ID> <element> <# of very's>).
+
+// @memo
+1008: Please enter a valid position (usage: @memo <memo_position:%d-%d>).
+
+// @displaystatus
+1009: Please enter a status type/flag (usage: @displaystatus <status type> <flag> <tick> {<val1> {<val2> {<val3>}}}).
+
+// @stpoint
+1010: Please enter a number (usage: @stpoint <number of points>).
+
+// @skpoint
+1011: Please enter a number (usage: @skpoint <number of points>).
+
+// @zeny
+1012: Please enter an amount (usage: @zeny <amount>).
+
+// @param
+1013: Please enter a valid value (usage: @str/@agi/@vit/@int/@dex/@luk <+/-adjustment>).
+
+// @guildlevelup
+1014: Please enter a valid level (usage: @guildlvup/@guildlvlup <# of levels>).
+
+// @makeeg
+1015: Please enter a monster/egg name/ID (usage: @makeegg <pet>).
+
+// @petfriendly
+1016: Please enter a valid value (usage: @petfriendly <0-1000>).
+
+// @pethungry
+1017: Please enter a valid number (usage: @pethungry <0-100>).
+
+// @recall
+1018: Please enter a player name (usage: @recall <char name/ID>).
+1019: You are not authorized to warp someone to this map.
+
+// @recall
+1020: You are not authorized to warp this player from their map.
+
+// @block
+1021: Please enter a player name (usage: @block <char name>).
+
+// @ban
+1022: Please enter ban time and a player name (usage: @ban <time> <char name>).
+1023: You are not allowed to reduce the length of a ban.
+
+// @unblock
+1024: Please enter a player name (usage: @unblock <char name>).
+
+// @unban
+1025: Please enter a player name (usage: @unban <char name>).
+
+// @kick
+1026: Please enter a player name (usage: @kick <char name/ID>).
+
+// @questskill / @lostskill
+1027: Please enter a quest skill ID.
+
+// @spiritball
+1028: Please enter an amount (usage: @spiritball <number: 0-%d>).
+
+// @party
+1029: Please enter a party name (usage: @party <party_name>).
+
+// @guild
+1030: Please enter a guild name (usage: @guild <guild_name>).
+
+// @idsearch
+1031: Please enter part of an item name (usage: @idsearch <part_of_item_name>).
+
+// @recallall / @guildrecall / @partyrecall
+1032: You are not authorized to warp someone to your current map.
+1033: Because you are not authorized to warp from some maps, %d player(s) have not been recalled.
+
+// @guildrecall
+1034: Please enter a guild name/ID (usage: @guildrecall <guild_name/ID>).
+
+// @partyrecall
+1035: Please enter a party name/ID (usage: @partyrecall <party_name/ID>).
+
+// @reloadatcommand
+1036: Error reading groups.conf, reload failed.
+1037: Error reading atcommand.conf, reload failed.
+
+// @mapinfo
+1038: Please enter at least one valid list number (usage: @mapinfo <0-3> <map>).
+1039: ------ Map Info ------
+1040: Map: %s (Zone:%s) | Players: %d | NPCs: %d | Chats: %d | Vendings: %d
+1041: ------ Map Flags ------
+1042: Town Map
+1043: Autotrade Enabled
+1044: Autotrade Disabled
+1045: Battlegrounds ON
+1046: PvP Flags:
+1047: Pvp ON |
+1048: NoGuild |
+1049: NoParty |
+1050: NightmareDrop |
+1051: NoCalcRank |
+1052: GvG Flags:
+1053: GvG ON |
+1054: GvG Dungeon |
+1055: GvG Castle |
+1056: NoParty |
+1057: Teleport Flags:
+1058: NoTeleport |
+1059: Monster NoTeleport |
+1060: NoWarp |
+1061: NoWarpTo |
+1062: NoReturn |
+1063: NoAutoloot |
+1064: NoMemo |
+1065: No Exp Penalty: %s | No Zeny Penalty: %s
+1066: On
+1067: Off
+1068: No Save (Return to last Save Point)
+1069: No Save, Save Point: %s,Random
+1070: No Save, Save Point: %s,%d,%d
+1071: Weather Flags:
+1072: Snow |
+1073: Fog |
+1074: Sakura |
+1075: Clouds |
+1076: Clouds2 |
+1077: Fireworks |
+1078: Leaves |
+1079: NoViewID |
+1080: Displays Night |
+1081: Other Flags:
+1082: NoBranch |
+1083: NoTrade |
+1084: NoVending |
+1085: NoDrop |
+1086: NoSkill |
+1087: NoIcewall |
+1088: AllowKS |
+1089: Reset |
+1090: Other Flags:
+1091: NoCommand |
+1092: NoBaseEXP |
+1093: NoJobEXP |
+1094: NoMobLoot |
+1095: NoMVPLoot |
+1096: PartyLock |
+1097: GuildLock |
+1098: ----- Players in Map -----
+1099: Player '%s' (session #%d) | Location: %d,%d
+1100: ----- NPCs in Map -----
+1101: North
+1102: North West
+1103: West
+1104: South West
+1105: South
+1106: South East
+1107: East
+1108: North East
+1109: North
+1110: Unknown
+1111: NPC %d: %s | Direction: %s | Sprite: %d | Location: %d %d
+1112: NPC %d: %s::%s | Direction: %s | Sprite: %d | Location: %d %d
+1113: ----- Chats in Map -----
+1114: Chat: %s | Player: %s | Location: %d %d
+1115: Users: %d/%d | Password: %s | Public: %s
+1116: Yes
+1117: No
+1118: Please enter at least one valid list number (usage: @mapinfo <0-3> <map>).
+
+// @mount
+1119: You have mounted your Dragon.
+1120: You have released your Dragon.
+1121: You have mounted your Warg.
+1122: You have released your Warg.
+1123: You have mounted your Mado Gear.
+1124: You have released your Mado Gear.
+
+// @guildspy
+1125: The mapserver has spy command support disabled.
+1126: Please enter a guild name/ID (usage: @guildspy <guild_name/ID>).
+
+// @partyspy
+1127: Please enter a party name/ID (usage: @partyspy <party_name/ID>).
+
+// @nuke
+1128: Please enter a player name (usage: @nuke <char name>).
+
+// @tonpc
+1129: Please enter a NPC name (usage: @tonpc <NPC_name>).
+
+// @enablenpc
+1130: Please enter a NPC name (usage: @enablenpc <NPC_name>).
+
+// @hidenpc
+1131: Please enter a NPC name (usage: @hidenpc <NPC_name>).
+
+// @loadnpc
+1132: Please enter a script file name (usage: @loadnpc <file name>).
+
+// @npcoff
+1133: Please enter a NPC name (usage: @npcoff <NPC_name>).
+
+// @jail
+1134: Please enter a player name (usage: @jail <char_name>).
+
+// @unjail
+1135: Please enter a player name (usage: @unjail/@discharge <char_name>).
+
+// @jailfor
+1136: Invalid time for jail command.
+1137: You are now
+1138: This player is now
+
+// @jailtime
+1139: You are not in jail.
+1140: You have been jailed indefinitely.
+1141: You have been jailed for an unknown amount of time.
+1142: You will remain
+
+// @disguise
+1143: Please enter a Monster/NPC name/ID (usage: @disguise <name/ID>).
+1144: Character cannot be disguised while mounted.
+
+// @disguiseall
+1145: Please enter a Monster/NPC name/ID (usage: @disguiseall <name/ID>).
+
+// @disguiseguild
+1146: Please enter a mob name/ID and guild name/ID (usage: @disguiseguild <mob name/ID>, <guild name/ID>).
+
+// @undisguiseguild
+1147: Please enter guild name/ID (usage: @undisguiseguild <guild name/ID>).
+
+// @exp
+1148: Base Level: %d (%.3f%%) | Job Level: %d (%.3f%%)
+
+// @broadcast
+1149: Please enter a message (usage: @broadcast <message>).
+
+// @localbroadcast
+1150: Please enter a message (usage: @localbroadcast <message>).
+
+// @email
+1151: Please enter two e-mail addresses (usage: @email <current@email> <new@email>).
+
+// @effect
+1152: Please enter an effect number (usage: @effect <effect number>).
+
+// @npcmove
+1153: Usage: @npcmove <X> <Y> <npc_name>
+1154: NPC is not in this map.
+1155: NPC moved.
+
+// @addwarp
+1156: Usage: @addwarp <mapname> <X> <Y> <npc name>
+1157: Unknown map '%s'.
+1158: New warp NPC '%s' created.
+
+// @follow
+1159: Follow mode OFF.
+1160: Follow mode ON.
+
+// @storeall
+1161: You currently cannot open your storage.
+1162: All items stored.
+
+// @skillid
+1163: Please enter a skill name to look up (usage: @skillid <skill name>).
+1164: skill %d: %s (%s)
+
+// @useskill
+1165: Usage: @useskill <skill ID> <skill level> <target>
+
+// @displayskill
+1166: Usage: @displayskill <skill ID> {<skill level>}
+
+// @skilltree
+1167: Usage: @skilltree <skill ID> <target>
+1168: Player is using %s skill tree (%d basic points).
+1169: The player cannot use that skill.
+1170: Player requires level %d of skill %s.
+1171: The player meets all the requirements for that skill.
+
+// @marry
+1172: Usage: @marry <char name>
+1173: They are married... wish them well.
+1174: The two cannot wed because one is either a baby or already married.
+
+// @divorce
+1175: '%s' is not married.
+1176: '%s' and his/her partner are now divorced.
+
+// @changelook
+1177: Usage: @changelook {<position>} <view id>
+1178: Position: 1:Top 2:Middle 3:Bottom 4:Weapon 5:Shield 6:Shoes 7:Robe 8:Body
+
+// @autotrade
+1179: Autotrade is not allowed in this map.
+1180: You cannot autotrade when dead.
+
+// @changegm
+1181: You need to be a Guild Master to use this command.
+1182: You cannot change guild leaders in this map.
+1183: Usage: @changegm <guild_member_name>
+1184: Target character must be online and be a guild member.
+
+// @changeleader
+1185: Usage: @changeleader <party_member_name>
+
+// @partyoption
+1186: Usage: @partyoption <pickup share: yes/no> <item distribution: yes/no>
+
+// @autoloot
+1187: Autolooting items with drop rates of %0.02f%% and below.
+1188: Autoloot is now off.
+
+// @autolootitem
+1189: Item not found.
+1190: You're already autolooting this item.
+1191: Your autolootitem list is full. Remove some items first with @autolootid -<item name or ID>.
+1192: Autolooting item: '%s'/'%s' {%d}
+1193: You're currently not autolooting this item.
+1194: Removed item: '%s'/'%s' {%d} from your autolootitem list.
+1195: You can have %d items on your autolootitem list.
+1196: To add an item to the list, use "@alootid +<item name or ID>". To remove an item, use "@alootid -<item name or ID>".
+1197: "@alootid reset" will clear your autolootitem list.
+1198: Your autolootitem list is empty.
+1199: Items on your autolootitem list:
+1200: Your autolootitem list has been reset.
+
+// @guildstorage
+1201: Your guild's storage has already been opened by another member, try again later.
+
+//1202 FREE
+
+// @snow
+1203: Snow has stopped falling.
+1204: It has started to snow.
+
+// @sakura
+1205: Cherry tree leaves no longer fall.
+1206: Cherry tree leaves have begun to fall.
+
+// @clouds
+1207: Clouds have disappeared.
+1208: Clouds appeared.
+
+// @clouds2
+1209: Alternative clouds have disappeared.
+1210: Alternative clouds appeared.
+
+// @fog
+1211: The fog has gone.
+1212: Fog hangs over.
+
+// @leaves
+1213: Leaves have stopped falling.
+1214: Leaves started falling.
+
+// @fireworks
+1215: Fireworks have ended.
+1216: Fireworks are launched.
+
+// @sound
+1217: Please enter a sound filename (usage: @sound <filename>).
+
+// @mobsearch
+1218: Please enter a monster name (usage: @mobsearch <monster name>).
+1219: Invalid mob ID %s!
+1220: Mob Search... %s %s
+
+// @cleanmap
+1221: All dropped items have been cleaned up.
+
+// @npctalk
+1222: Please enter the correct parameters (usage: @npctalk <npc name>, <message>).
+1223: Please enter the correct parameters (usage: @npctalkc <color> <npc name>, <message>).
+
+// @pettalk
+1224: Please enter a message (usage: @pettalk <message>).
+
+// @summon
+1225: Please enter a monster name (usage: @summon <monster name> {duration}).
+
+// @adjgroup
+1226: Usage: @adjgroup <group_id>
+1227: Specified group does not exist.
+1228: Group changed successfully.
+1229: Your group has been changed.
+
+// @trade
+1230: Please enter a player name (usage: @trade <char name>).
+
+// @setbattleflag
+1231: Usage: @setbattleflag <flag> <value>
+1232: Unknown battle_config flag.
+1233: Set battle_config as requested.
+
+// @unmute
+1234: Please enter a player name (usage: @unmute <char name>).
+1235: Player is not muted.
+1236: Player unmuted.
+
+// @mute
+1237: Usage: @mute <time> <char name>
+
+// @identify
+1238: There are no items to appraise.
+
+// @mobinfo
+1239: Please enter a monster name/ID (usage: @mobinfo <monster_name_or_monster_ID>).
+1240: MVP Monster: '%s'/'%s'/'%s' (%d)
+1241: Monster: '%s'/'%s'/'%s' (%d)
+1242: Lv:%d HP:%d Base EXP:%u Job EXP:%u HIT:%d FLEE:%d
+1243: DEF:%d MDEF:%d STR:%d AGI:%d VIT:%d INT:%d DEX:%d LUK:%d
+1244: ATK:%d~%d Range:%d~%d~%d Size:%s Race: %s Element: %s (Lv:%d)
+1245: Drops:
+1246: This monster has no drops.
+1247: MVP Bonus EXP:%u
+1248: MVP Items:
+1249: This monster has no MVP prizes.
+
+// @showmobs
+1250: Invalid mob id %s!
+1251: Can't show boss mobs!
+1252: Mob Search... %s %s
+
+// @homlevel
+1253: Please enter a level adjustment (usage: @homlevel <number of levels>).
+
+// @homlevel / @homevolve / @homfriendly / @homhungry / @homtalk / @hominfo / @homstats
+1254: You do not have a homunculus.
+
+// @homevolve
+1255: Your homunculus doesn't evolve.
+
+// @makehomun
+1256: Please enter a homunculus ID (usage: @makehomun <homunculus id>).
+1257: Invalid Homunculus ID.
+
+// @homfriendly
+1258: Please enter an intimacy value (usage: @homfriendly <intimacy value [0-1000]>).
+
+// @homhungry
+1259: Please enter a hunger value (usage: @homhungry <hunger value [0-100]>).
+
+// @homtalk
+1260: Please enter a message (usage: @homtalk <message>).
+
+// @hominfo
+1261: Homunculus stats:
+1262: HP: %d/%d - SP: %d/%d
+1263: ATK: %d - MATK: %d~%d
+1264: Hungry: %d - Intimacy: %u
+1265: Stats: Str %d / Agi %d / Vit %d / Int %d / Dex %d / Luk %d
+
+// @homstats
+1266: Homunculus growth stats (Lv %d %s):
+1267: Max HP: %d (%d~%d)
+1268: Max SP: %d (%d~%d)
+1269: Str: %d (%d~%d)
+1270: Agi: %d (%d~%d)
+1271: Vit: %d (%d~%d)
+1272: Int: %d (%d~%d)
+1273: Dex: %d (%d~%d)
+1274: Luk: %d (%d~%d)
+
+// @homshuffle
+1275: Homunculus stats altered.
+
+// @iteminfo
+1276: Please enter an item name/ID (usage: @ii/@iteminfo <item name/ID>).
+1277: Item: '%s'/'%s'[%d] (%d) Type: %s | Extra Effect: %s
+1278: None
+1279: With script
+1280: NPC Buy:%dz, Sell:%dz | Weight: %.1f
+1281: - Available in shops only.
+1282: - Maximal monsters drop chance: %02.02f%%
+1283: - Monsters don't drop this item.
+
+// @whodrops
+1284: Please enter item name/ID (usage: @whodrops <item name/ID>).
+1285: Item: '%s'[%d]
+1286: - Item is not dropped by any mobs.
+1287: - Common mobs with highest drop chance (only max %d are listed):
+
+// @whereis
+1288: Please enter a monster name/ID (usage: @whereis <monster_name_or_monster_ID>).
+1289: %s spawns in:
+1290: This monster does not spawn normally.
+
+// @mobinfo ...
+1291: ATK:%d~%d MATK:%d~%d Range:%d~%d~%d Size:%s Race: %s Element: %s (Lv:%d)
+
+1292: PrivateAirshipStartable |
+1293: PrivateAirshipEndable |
+//1294 used by hercules chat feature
+
+// @version
+1295: %s revision '%s' (src) / '%s' (scripts)
+1296: Hercules %d-bit for %s
+
+// @mutearea
+1297: Please enter a time in minutes (usage: @mutearea/@stfu <time in minutes>).
+
+// @rates
+1298: Experience rates: Base %.2fx / Job %.2fx
+1299: Normal Drop Rates: Common %.2fx / Healing %.2fx / Usable %.2fx / Equipment %.2fx / Card %.2fx
+1300: Boss Drop Rates: Common %.2fx / Healing %.2fx / Usable %.2fx / Equipment %.2fx / Card %.2fx
+1301: Other Drop Rates: MvP %.2fx / Card-Based %.2fx / Treasure %.2fx
+
+// @me
+1302: Please enter a message (usage: @me <message>).
+
+// @size / @sizeall / @sizeguild
+1303: Size change applied.
+
+// @sizeguild
+1304: Please enter guild name/ID (usage: @sizeguild <size> <guild name/ID>).
+
+// @monsterignore
+1305: You are now immune to attacks.
+1306: Returned to normal state.
+
+// @fakename
+1307: Returned to real name.
+1308: You must enter a name.
+1309: Fake name must be at least two characters.
+1310: Fake name enabled.
+
+// @mapflag
+1311: Enabled Mapflags in this map:
+1312: Usage: "@mapflag monster_noteleport 1" (0=Off | 1=On)
+1313: Type "@mapflag available" to list the available mapflags.
+1314: Invalid flag name or flag.
+1315: Available Flags:
+
+// @showexp
+1316: Gained exp will not be shown.
+1317: Gained exp is now shown.
+
+// @showzeny
+1318: Gained zeny will not be shown.
+1319: Gained zeny is now shown.
+
+// @showdelay
+1320: Skill delay failures will not be shown.
+1321: Skill delay failures are now shown.
+
+// @cash
+1322: Please enter an amount.
+
+// @clone
+1323: You must enter a player name or ID.
+
+// @feelreset
+1324: Reset 'Feeling' maps.
+
+// @noks
+1325: [ K.S Protection Inactive ]
+1326: [ K.S Protection Active - Option: Party ]
+1327: [ K.S Protection Active - Option: Self ]
+1328: [ K.S Protection Active - Option: Guild ]
+1329: Usage: @noks <self|party|guild>
+
+// @allowks
+1330: [ Map K.S Protection Active ]
+1331: [ Map K.S Protection Inactive ]
+
+// @itemlist
+1332: ------ %s items list of '%s' ------
+1333: | equipped:
+1334: garment,
+1335: left accessory,
+1336: body/armor,
+1337: right hand,
+1338: left hand,
+1339: both hands,
+1340: feet,
+1341: right accessory,
+1342: lower head,
+1343: top head,
+1344: lower/top head,
+1345: mid head,
+1346: lower/mid head,
+1347: lower/mid/top head,
+1348: -> (pet egg, pet id: %u, named)
+1349: -> (pet egg, pet id: %u, unnamed)
+1350: -> (crafted item, creator id: %u, star crumbs %d, element %d)
+1351: -> (produced item, creator id: %u)
+1352: -> (card(s):
+1353: No item found in this player's %s.
+1354: %d item(s) found in %d %s slots.
+
+// @delitem
+1355: Please enter an item name/ID, a quantity, and a player name (usage: #delitem <player> <item_name_or_ID> <quantity>).
+
+// @font
+1356: Returning to normal font.
+1357: Use @font <1-9> to change your message font.
+1358: Use 0 or no parameter to return to normal font.
+1359: Invalid font. Use a value from 0 to 9.
+1360: Font changed.
+1361: Already using this font.
+
+// @new_mount
+1362: NOTICE: If you crash with mount your LUA is outdated.
+1363: You have mounted.
+1364: You have released your mount.
+
+// @accinfo
+1365: Usage: @accinfo/@accountinfo <account_id/char name>
+1366: You may search partial name by making use of '%' in the search, ex. "@accinfo %Mario%" lists all characters whose name contains "Mario".
+
+// @set
+1367: Usage: @set <variable name> <value>
+1368: Usage: ex. "@set PoringCharVar 50"
+1369: Usage: ex. "@set PoringCharVarSTR$ Super Duper String"
+1370: Usage: ex. "@set PoringCharVarSTR$" outputs its value, Super Duper String.
+1371: NPC variables may not be used with @set.
+1372: Instance variables may not be used with @set.
+1373: %s value is now :%d
+1374: %s value is now :%s
+1375: %s is empty
+1376: %s data type is not supported :%u
+
+// @reloadquestdb
+1377: Quest database has been reloaded.
+
+// @addperm
+1378: Usage: %s <permission_name>
+1379: -- Permission List
+1380: '%s' is not a known permission.
+1381: User '%s' already possesses the '%s' permission.
+1382: User '%s' doesn't possess the '%s' permission.
+1383: -- User '%s' Permissions
+1384: User '%s' permissions updated successfully. The changes are temporary.
+
+// @unloadnpcfile
+1385: Usage: @unloadnpcfile <file name>
+1386: File unloaded. Be aware that mapflags and monsters spawned directly are not removed.
+1387: File not found.
+
+// General command messages
+1388: Charcommand failed (usage: %c<command> <char name> <parameters>).
+1389: %s failed. Player not found.
+
+// @cart
+1390: Unknown Cart (usage: %s <0-%d>).
+1391: You do not possess a cart to be removed
+1392: Cart Added.
+
+// atcommand.c::is_atcommand
+1393: You can't use commands while dead.
+
+// @clearstorage
+1394: Your storage was cleaned.
+1395: Your guild storage was cleaned.
+
+// @clearcart
+1396: You do not have a cart to be cleaned.
+1397: Your cart was cleaned.
+
+// @skillid (extension)
+1398: -- Displaying first %d partial matches
+
+// @join
+1399: Unknown Channel (usage: %s <#channel_name>)
+1400: Unknown Channel '%s' (usage: %s <#channel_name>)
+1401: '%s' Channel is password protected (usage: %s <#channel_name> <password>)
+//1402 used by hercules chat feature
+1403: You're now in the '%s' channel
+
+// Hercules Chat Feature
+1402: You're not in that channel, type '@join <#channel_name>'
+1435: You're now in the '#%s' channel for '%s'
+1436: You're already in the '%s' channel
+1294: You're not allowed to talk on this channel
+
+// @channel
+1404: %s failed
+1405: Channel name must start with a '#'
+1406: Channel length must be between 3 and %d
+1407: Channel '%s' is not available
+1408: Channel password may not contain spaces
+1409: - #%s ( %d users )
+1410: -- Public Channels
+1411: Unknown color '%s'
+1412: You're not the owner of channel '%s'
+1413: '%s' channel color updated to '%s'
+1414: --- Available options:
+1415: -- %s create <channel name> <channel password>
+1416: - creates a new channel
+1417: -- %s list
+1418: - lists public channels
+1419: -- %s list colors
+1420: - lists colors available to select for custom channels
+1421: -- %s setcolor <channel name> <color name>
+1422: - changes <channel name> color to <color name>
+1423: -- %s leave <channel name>
+1424: - leaves <channel name>
+1425: You're not part of the '%s' channel
+1426: You've left the '%s' channel
+1427: -- %s bindto <channel name>
+1428: - binds your global chat to <channel name>, making anything you type in global be sent to the channel
+1429: -- %s unbind
+1430: - unbinds your global chat from its attached channel (if bound)
+1431: Your global chat is now bound to the '%s' channel
+1432: Your global chat is not bound to any channel
+1433: Your global chat is no longer bound to the '#%s' channel
+1434: Player '%s' was not found
+//1435-1436 used by hercules chat feature
+1437: Player '%s' has now been banned from the '%s' channel
+1438: You cannot join the '%s' channel because you've been banned from it
+1439: Channel '%s' has no banned players
+1440: Player '%s' is not banned from this channel
+1441: Player '%s' has now been unbanned from the '%s' channel
+1442: Removed all bans from the '%s' channel
+1443: -- '%s' ban list
+1444: - %s
+1445: - %s (%d)
+1446: You need to input a option
+1447: '%s' is not a known channel option
+1448: -- Available options
+1449: option '%s' is already enabled, if you'd like to disable it type '@channel opt %s 0'
+1450: option '%s' is now enabled for channel '%s'
+1451: value '%d' for option '%s' is out of range (limit is 0-%d)
+1452: option '%s' is now enabled for channel '%s' with %d seconds
+1453: option '%s' is now disabled for channel '%s'
+1454: option '%s' is not enabled on channel '%s'
+1455: You cannot send a message to this channel for another %d seconds.
+1456: -- %s ban <channel name> <character name>
+1457: - bans <character name> from <channel name> channel
+1458: -- %s banlist <channel name>
+1459: - lists all banned characters from <channel name> channel
+1460: -- %s unban <channel name> <character name>
+1461: - unbans <character name> from <channel name> channel
+1462: -- %s setopt <channel name> <option name> <option value>
+1463: - adds or removes <option name> with <option value> to <channel name> channel
+1464: Ban failed, it is not possible to ban this user.
+1465: Player '%s' is already banned from this channel
+1466: For '%s' you need the amount of seconds (from 0 to 10)
+1467: -- %s unbanall <channel name>
+1468: - unbans everyone from <channel name>
+
+// @costume
+1469: '%s' is not a known costume
+1470: You're already with a '%s' costume, type '@costume' to remove it.
+1471: -- %s
+1472: - Available Costumes
+1473: Costume '%s' removed.
+
+//src/map/pc.c::pc_isUseitem
+1474: You cannot use this item while sitting
+1475: You cannot use this item while your storage is open
+
+1476: You are already mounting something else
+
+//src/map/pc.c::pc_isUseitem
+1477: Item cannot be opened when inventory is full
+
+//@homlv
+1478: Homunculus reached its maximum level of '%d'
+
+//src/map/clif.c::clif_parse_GlobalMessage
+1479: Dear angel, can you hear my voice?
+1480: I am %s Super Novice~
+1481: Help me out~ Please~ T_T
+
+//Banking
+1482: You can't withdraw that much money
+1483: Banking is disabled
+
+//src/map/atcommand.c::ACMD(auction)
+1484: Auction is disabled
+
+//1485: FREE
+
+//Monster Transformation
+1486: Cannot transform into monster while in disguise.
+1487: Character cannot be disguised while in monster form.
+1488: Transforming into monster is not allowed in Guild Wars.
+
+//CashShop mapflag
+1489: Cash Shop is disabled in this map
+
+// @autoloottype
+1490: You're already autolooting this item type.
+1491: Item type not found.
+1492: Autolooting item type: '%s'
+1493: You're currently not autolooting this item type.
+1494: Removed item type: '%s' from your autoloottype list.
+1495: Your autoloottype list is empty.
+1496: Item types on your autoloottype list:
+1497: Your autoloottype list has been reset.
+
+//Item Bind
+1498: You can't add a party bound item to a character without party!
+1499: You can't add a guild bound item to a character without guild!
+
+// TMW2 Messages
+1999: This item cannot be created using GM command.
+
+// @dropall
+1500: Usage: @dropall {<type>}
+1501: Type List: (default) all = -1, healing = 0, usable = 2, etc = 3, weapon = 4, armor = 5, card = 6, petegg = 7, petarmor = 8, ammo = 10, delayed-consumable = 11, cash = 18
+1502: %d items are dropped!
+
+// @refine - Part 2
+1503: %d: Costume Headgear (Top)
+1504: %d: Costume Headgear (Mid)
+1505: %d: Costume Headgear (Low)
+1506: %d: Costume Garment
+1507: %d: Shadow Armor
+1508: %d: Shadow Weapon
+1509: %d: Shadow Shield
+1510: %d: Shadow Shoes
+1511: %d: Shadow Accessory (Right)
+1512: %d: Shadow Accessory (Left)
+1513: %d: Refine All Equip (General)
+1514: %d: Refine All Equip (Costume)
+1515: %d: Refine All Equip (Shadow)
+
+//Custom translations
+import: conf/import/msg_conf.txt
diff --git a/conf/network.conf b/conf/network.conf
new file mode 100644
index 0000000..b355acb
--- /dev/null
+++ b/conf/network.conf
@@ -0,0 +1,37 @@
+// Network configuration file
+
+/*
+ * List here any LAN subnets this server is in.
+ * Example:
+ * - char- (or map-) server's IP in LAN is 192.168.0.10
+ * - Public IP is 198.51.100.37
+ * If the list contains "192.168.0.10:255.255.255.0", any clients connecting
+ * from the same 192.168.0.0/24 network will be presented with the LAN IP
+ * (192.168.0.10) in the server list, rather than the public IP (198.51.100.37).
+ */
+lan_subnets: (
+ "127.0.0.1:255.0.0.0",
+ // "192.168.1.1:255.255.255.0",
+)
+
+/*
+ * List here any IP ranges a char- or map-server can connect from.
+ * A wildcard of "0.0.0.0:0.0.0.0" means that server connections are allowed
+ * from ANY IP. (not recommended).
+ */
+allowed: (
+ "0.0.0.0:0.0.0.0",
+ // "127.0.0.1:255.0.0.0",
+)
+
+/*
+ * List here any IP ranges a char- or map-server can connect from. These ranges
+ * will also be excluded from the automatic ipban in casee of password failure.
+ * Any entry present in this list is also automatically included in the
+ * allowed IP list.
+ * Note: This may be a security threat. Only edit this list if you know what
+ * you are doing.
+ */
+trusted: (
+ "127.0.0.1:255.0.0.0",
+)
diff --git a/conf/plugins.conf b/conf/plugins.conf
new file mode 100644
index 0000000..9084cfb
--- /dev/null
+++ b/conf/plugins.conf
@@ -0,0 +1,41 @@
+//====================================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//=
+//= http://herc.ws/board/
+//====================================================
+//== Topic Discussion ================================
+//== http://herc.ws/board/topic/549-introducing-hercules-plugin-manager/
+//====================================================
+//== Description =====================================
+//The plugin system allows you to create customized scripts
+//outside of the source. These scripts won't conflict with any
+//future source updates - think of it as a /conf/import/ for the source.
+//====================================================
+
+/* --------------- Format ---------------
+After you have listed your plugin(s) in "quotations",
+you need to put in a comma, to separate the plugins.
+-----------------------------------------
+plugins_list: [
+ "example",
+ "other",
+]
+-----------------------------------------
+Please note that your scripts need to be saved
+in the .c (source code) extension and placed in the /src/plugin/ folder.
+-----------------------------------------
+*/
+plugins_list: [
+ /* Enable HPMHooking when plugins in use rely on Hooking */
+ "HPMHooking",
+ //"db2sql",
+ "libevol_char",
+ "libevol_login",
+ "libevol_map",
+ //"other",
+]
diff --git a/conf/readme.txt b/conf/readme.txt
new file mode 100644
index 0000000..3323b56
--- /dev/null
+++ b/conf/readme.txt
@@ -0,0 +1,22 @@
+What is the import folder for?
+-------------------------------------------------------------------------------
+
+The folder provides a way for you to change your config settings without having
+to update the files every time you update your server. You store your changes,
+and the rest is updated with Hercules (usually though GIT).
+
+How does this work?
+-------------------------------------------------------------------------------
+
+Place only the settings you have changed in the import files.
+For example, if you want to change a value in conf/battle/exp.conf:
+
+ // Rate at which exp. is given. (Note 2)
+ base_exp_rate: 700
+
+You could instead copy the setting into conf/import/battle_conf.txt,
+and you'll eliminate any problems updating in the future.
+
+Neat, isn't it?
+
+- Semi-guide by Ajarn / Euphy
diff --git a/db/GeoIP.dat b/db/GeoIP.dat
new file mode 100644
index 0000000..18e3483
--- /dev/null
+++ b/db/GeoIP.dat
Binary files differ
diff --git a/db/abra_db.txt b/db/abra_db.txt
new file mode 100644
index 0000000..92c0e83
--- /dev/null
+++ b/db/abra_db.txt
@@ -0,0 +1,14 @@
+// Hocus-Pocus (Abrakadabra) Castable Skills Database
+//
+// Structure of Database:
+// SkillID,DummyName,RequiredHocusPocusLevel,Rate
+//
+// 01. SkillID Skill ID to be casted by hocus pocus.
+// 02. DummyName Name of the skill (informative, not used by server).
+// 03. RequiredHocusPocusLevel Minimum skill level of hocus pocus for the current skill to be selected.
+// 04. Rate Chance at which a skill is selected (1 = 0.01%, 10000 = 100%).
+//
+// NOTE: The skill is picked at random from the entire database and then tested for rate. If it
+// does not succeed at that rate, another skill is picked and tested. This continues
+// until a skill succeeds.
+//====================================================
diff --git a/db/achievement_rank_db.conf b/db/achievement_rank_db.conf
new file mode 100644
index 0000000..e19194f
--- /dev/null
+++ b/db/achievement_rank_db.conf
@@ -0,0 +1,43 @@
+//================= Hercules Database ==========================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ====================================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2018 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/>.
+//==============================================================================
+//= Achievement Rank Database
+//==============================================================================
+
+achievement_rank_db:
+{
+ Rank1: 18
+ Rank2: 31
+ Rank3: 49
+ Rank4: 73
+ Rank5: 135
+ Rank6: 104
+ Rank7: 140
+ Rank8: 214
+ Rank9: 305
+ Rank10: 257
+ Rank11: 300
+}
diff --git a/db/attendance_db.conf b/db/attendance_db.conf
new file mode 100644
index 0000000..e5a1b25
--- /dev/null
+++ b/db/attendance_db.conf
@@ -0,0 +1,119 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2018 Hercules Dev Team
+//= Copyright (C) 2018 Asheraf
+//=
+//= 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/>.
+//=========================================================================
+
+attendance_db:(
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+{
+ // ================ Mandatory fields ==============================
+ ItemID: Item Constant (string)
+ Amount: Item Amount (int)
+},
+**************************************************************************/
+{
+ ItemID: "Acorn"
+ Amount: 1
+},
+{
+ ItemID: "Acorn"
+ Amount: 2
+},
+{
+ ItemID: "Acorn"
+ Amount: 3
+},
+{
+ ItemID: "Acorn"
+ Amount: 4
+},
+{
+ ItemID: "Acorn"
+ Amount: 5
+},
+{
+ ItemID: "Acorn"
+ Amount: 6
+},
+{
+ ItemID: "Acorn"
+ Amount: 7
+},
+{
+ ItemID: "Acorn"
+ Amount: 8
+},
+{
+ ItemID: "Acorn"
+ Amount: 9
+},
+{
+ ItemID: "Acorn"
+ Amount: 10
+},
+{
+ ItemID: "Acorn"
+ Amount: 11
+},
+{
+ ItemID: "Acorn"
+ Amount: 12
+},
+{
+ ItemID: "Acorn"
+ Amount: 13
+},
+{
+ ItemID: "Acorn"
+ Amount: 14
+},
+{
+ ItemID: "Acorn"
+ Amount: 15
+},
+{
+ ItemID: "Acorn"
+ Amount: 16
+},
+{
+ ItemID: "Acorn"
+ Amount: 17
+},
+{
+ ItemID: "Acorn"
+ Amount: 18
+},
+{
+ ItemID: "Acorn"
+ Amount: 19
+},
+{
+ ItemID: "Acorn"
+ Amount: 20
+}
+)
diff --git a/db/cashshop_db.conf b/db/cashshop_db.conf
new file mode 100644
index 0000000..df64764
--- /dev/null
+++ b/db/cashshop_db.conf
@@ -0,0 +1,26 @@
+//====================================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//=
+//= http://herc.ws/board/
+//================= More Information =================
+//= http://herc.ws/board/topic/367-introducing-cash-shop-support/
+//====================================================
+// This file handles the entire Cashshop. You can simply
+// add in any amount of items you like within each category.
+// Please keep in mind that the Cashshop does not work
+// with ragexere clients.
+// Categories can be empty or even missing, but, if
+// present, their names must be kept as cat_<n>, where
+// <n> is a valid tab index, as descripbed in 'enum
+// CASH_SHOP_TABS' in clif.c (normally 0 through 7)
+//====================================================
+
+cash_shop: (
+{
+}
+)
diff --git a/db/castle_db.conf b/db/castle_db.conf
new file mode 100644
index 0000000..fe4d07f
--- /dev/null
+++ b/db/castle_db.conf
@@ -0,0 +1,44 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2019 Hercules Dev Team
+//= Copyright (C) 2019 Asheraf
+//=
+//= 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/>.
+//=========================================================================
+//= Castle Database
+//=========================================================================
+
+castle_db: (
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+{
+ // ================ Mandatory fields ==============================
+ CastleID: (int) Unique ID of the castle. Must remain unique across all map-servers.
+ MapName: (string) Map name to be considered as the castle map.
+ CastleName: (string) Name of the castle (used by scripts and guardian name tags)
+ OnGuildBreakEventName: (string) NPC unique name to invoke ::OnGuildBreak on, when a occupied
+ castle is abandoned during guild break.
+},
+**************************************************************************/
+)
diff --git a/db/clans.conf b/db/clans.conf
new file mode 100644
index 0000000..37bb35c
--- /dev/null
+++ b/db/clans.conf
@@ -0,0 +1,147 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2017 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/>.
+//=========================================================================
+//= Clan System Database File.
+//=========================================================================
+
+clans: (
+ /**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+ {
+ Id: ID (int)
+ Const: "Const Name" (string)
+ Name: "Clan Name" (string)
+ Leader: "Leader Name" (string)
+ Map: "Map Name" (string)
+ MaxMembers: Max (int, optional, overrides MaxMembers on conf/clans.conf)
+ KickTime: Hours (int, optional, overrides InactivityKickTime)
+ CheckTime: Hours (int, optional, overrides InactivityCheckTime)
+ Buff: {
+ Icon: State Icon ID/Constant (int, you can find all ids on your lua folder: stateicon/efstids.lub or /src/map/constants.inc.h)
+ Script: <" (optional)
+ Script (it can be multi-line)
+ ">
+ }
+ Allies: [
+ "CLAN_NAME_CONSTANT", (string)
+ ]
+ Antagonists: [
+ "CLAN_NAME_CONSTANT", (string)
+ ]
+ },
+ **************************************************************************/
+ {
+ Id: 1
+ Const: "TONORICLAN"
+ Name: "Tonori Raiders"
+ Leader: "Raffam Oranpere"
+ Map: "001-2"
+ Buff: {
+ Icon: "SI_SWORDCLAN"
+ Script: <"
+ bonus(bStr, 1);
+ bonus(bVit, 1);
+ bonus(bMaxHP, 30);
+ bonus(bMaxSP, 10);
+ ">
+ }
+ Allies: [
+ "LOFCLAN",
+ ]
+ Antagonists: [
+ "ARGAESCLAN",
+ "KAIZEICLAN",
+ ]
+ },
+ {
+ Id: 2
+ Const: "ARGAESCLAN"
+ Name: "Argaes Emeralds"
+ Leader: "Devon Aire"
+ Map: "001-2"
+ Buff: {
+ Icon: "SI_ARCWANDCLAN"
+ Script: <"
+ bonus(bInt, 1);
+ bonus(bDex, 1);
+ bonus(bMaxHP, 30);
+ bonus(bMaxSP, 10);
+ ">
+ }
+ Allies: [
+ "LOFCLAN",
+ ]
+ Antagonists: [
+ "TONORICLAN",
+ "KAIZEICLAN",
+ ]
+ },
+ {
+ Id: 3
+ Const: "KAIZEICLAN"
+ Name: "Lords of Kaizei"
+ Leader: "Berman Aire"
+ Map: "001-2"
+ Buff: {
+ Icon: "SI_GOLDENMACECLAN"
+ Script: <"
+ bonus(bInt, 1);
+ bonus(bLuk, 1);
+ bonus(bMaxHP, 30);
+ bonus(bMaxSP, 10);
+ ">
+ }
+ Allies: [
+ "LOFCLAN",
+ ]
+ Antagonists: [
+ "TONORICLAN",
+ "ARGAESCLAN",
+ ]
+ },
+ {
+ Id: 4
+ Const: "LOFCLAN"
+ Name: "Masters of Flames"
+ Leader: "Shaam Rumi"
+ Map: "001-2"
+ Buff: {
+ Icon: "SI_CROSSBOWCLAN"
+ Script: <"
+ bonus(bDex, 1);
+ bonus(bAgi, 1);
+ bonus(bMaxHP, 30);
+ bonus(bMaxSP, 10);
+ ">
+ }
+ Allies: [
+ "TONORICLAN",
+ "ARGAESCLAN",
+ "KAIZEICLAN",
+ ]
+ },
+)
diff --git a/db/constants.conf b/db/constants.conf
new file mode 100644
index 0000000..c8f4660
--- /dev/null
+++ b/db/constants.conf
@@ -0,0 +1,2460 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= 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/>.
+//=========================================================================
+//= Script Constants Database
+//=========================================================================
+
+constants_db: {
+/************* Entry structure (short) ************************************
+ Identifier: value // (int)
+ ************* Entry structure (full) *************************************
+ Identifier: {
+ Value: value // (int)
+ Deprecated: true // (boolean) Defaults to false.
+ }
+**************************************************************************/
+
+ comment__: "Weekdays"
+ SUNDAY: 0
+ MONDAY: 1
+ TUESDAY: 2
+ WEDNESDAY: 3
+ THURSDAY: 4
+ FRIDAY: 5
+ SATURDAY: 6
+
+ comment__: "Months"
+ JANUARY: 1
+ FEBRUARY: 2
+ MARCH: 3
+ APRIL: 4
+ MAY: 5
+ JUNE: 6
+ JULY: 7
+ AUGUST: 8
+ SEPTEMBER: 9
+ OCTOBER: 10
+ NOVEMBER: 11
+ DECEMBER: 12
+
+ comment__: "Broadcast flags"
+ bc_all: 0
+ bc_map: 1
+ bc_area: 2
+ bc_self: 3
+ bc_pc: 0
+ bc_npc: 8
+ bc_yellow: 0
+ bc_blue: 16
+ bc_woe: 32
+
+ comment__: "Monster Modes"
+ MD_NONE: 0
+ MD_CANMOVE: 1
+ MD_LOOTER: 2
+ MD_AGGRESSIVE: 4
+ MD_ASSIST: 8
+ MD_CASTSENSOR_IDLE: 16
+ MD_BOSS: 32
+ MD_PLANT: 64
+ MD_CANATTACK: 128
+ MD_DETECTOR: 256
+ MD_CASTSENSOR_CHASE: 512
+ MD_CHANGECHASE: 1024
+ MD_ANGRY: 2048
+ MD_CHANGETARGET_MELEE: 4096
+ MD_CHANGETARGET_CHASE: 8192
+ MD_TARGETWEAK: 16384
+ MD_NOKNOCKBACK: 32768
+ MD_RANDOMTARGET: 65536
+ //MD_MASK: 0
+
+ comment__: "Mapflags"
+ mf_nomemo: 0
+ mf_noteleport: 1
+ mf_nosave: 2
+ mf_nobranch: 3
+ mf_nopenalty: 4
+ mf_nozenypenalty: 5
+ mf_pvp: 6
+ mf_pvp_noparty: 7
+ mf_pvp_noguild: 8
+ mf_gvg: 9
+ mf_gvg_noparty: 10
+ mf_notrade: 11
+ mf_noskill: 12
+ mf_nowarp: 13
+ mf_partylock: 14
+ mf_noicewall: 15
+ mf_snow: 16
+ mf_fog: 17
+ mf_sakura: 18
+ mf_leaves: 19
+ mf_clouds: 23
+ mf_clouds2: 24
+ mf_fireworks: 25
+ mf_gvg_castle: 26
+ mf_gvg_dungeon: 27
+ mf_nightenabled: 28
+ mf_nobaseexp: 29
+ mf_nojobexp: 30
+ mf_nomobloot: 31
+ mf_nomvploot: 32
+ mf_noreturn: 33
+ mf_nowarpto: 34
+ mf_nightmaredrop: 35
+ mf_zone: 36
+ mf_nocommand: 37
+ mf_nodrop: 38
+ mf_jexp: 39
+ mf_bexp: 40
+ mf_novending: 41
+ mf_loadevent: 42
+ mf_nochat: 43
+ mf_noexppenalty: 44
+ mf_guildlock: 45
+ mf_town: 46
+ mf_autotrade: 47
+ mf_allowks: 48
+ mf_monster_noteleport: 49
+ mf_pvp_nocalcrank: 50
+ mf_battleground: 51
+ mf_reset: 52
+ mf_notomb: 53
+ mf_nocashshop: 54
+ mf_noautoloot: 55
+ mf_noviewid: 56
+ mf_pairship_startable: 57
+ mf_pairship_endable: 58
+ mf_nostorage: 59
+ mf_nogstorage: 60
+
+ comment__: "Cell Properties"
+ cell_walkable: 0
+ cell_shootable: 1
+ cell_water: 2
+ cell_npc: 3
+ cell_basilica: 4
+ cell_landprotector: 5
+ cell_novending: 6
+ cell_nochat: 7
+
+ comment__: "Cell checks"
+ //cell_gettype: 0
+ cell_chkwall: 1
+ cell_chkwater: 2
+ cell_chkcliff: 3
+ cell_chkpass: 4
+ cell_chkreach: 5
+ cell_chknopass: 6
+ cell_chknoreach: 7
+ //cell_chkstack: 8
+ cell_chknpc: 9
+ cell_chkbasilica: 10
+ cell_chklandprotector: 11
+ cell_chknovending: 12
+ cell_chknochat: 13
+
+ comment__: "Bonuses / Parameter IDs"
+ bMaxHP: 6
+ bMaxSP: 8
+ bStr: 13
+ bAgi: 14
+ bVit: 15
+ bInt: 16
+ bDex: 17
+ bLuk: 18
+ bAtk: 41
+ bAtk2: 42
+ bDef: 45
+ bDef2: 46
+ bMdef: 47
+ bMdef2: 48
+ bHit: 49
+ bFlee: 50
+ bFlee2: 51
+ bCritical: 52
+ bAspd: 53
+ bFame: 59
+ bUnbreakable: 60
+
+ bAtkRange: 1000
+ bAtkEle: 1001
+ bDefEle: 1002
+ bCastrate: 1003
+ bMaxHPrate: 1004
+ bMaxSPrate: 1005
+ bUseSPrate: 1006
+ bAddEle: 1007
+ bAddRace: 1008
+ bAddSize: 1009
+ bSubEle: 1010
+ bSubRace: 1011
+ bAddEff: 1012
+ bResEff: 1013
+ bBaseAtk: 1014
+ bAspdRate: 1015
+ bHPrecovRate: 1016
+ bSPrecovRate: 1017
+ bSpeedRate: 1018
+ bCriticalDef: 1019
+ bNearAtkDef: 1020
+ bLongAtkDef: 1021
+ bDoubleRate: 1022
+ bDoubleAddRate: 1023
+ bSkillHeal: 1024
+ bMatkRate: 1025
+ bIgnoreDefEle: 1026
+ bIgnoreDefRace: 1027
+ bAtkRate: 1028
+ bSpeedAddRate: 1029
+ bSPRegenRate: 1030
+ bMagicAtkDef: 1031
+ bMiscAtkDef: 1032
+ bIgnoreMdefEle: 1033
+ bIgnoreMdefRace: 1034
+ bMagicAddEle: 1035
+ bMagicAddRace: 1036
+ bMagicAddSize: 1037
+ bPerfectHitRate: 1038
+ bPerfectHitAddRate: 1039
+ bCriticalRate: 1040
+ bGetZenyNum: 1041
+ bAddGetZenyNum: 1042
+ bAddDamageClass: 1043
+ bAddMagicDamageClass: 1044
+ bAddDefClass: 1045
+ bAddMdefClass: 1046
+ bAddMonsterDropItem: 1047
+ bDefRatioAtkEle: 1048
+ bDefRatioAtkRace: 1049
+ bUnbreakableGarment: 1050
+ bHitRate: 1051
+ bFleeRate: 1052
+ bFlee2Rate: 1053
+ bDefRate: 1054
+ bDef2Rate: 1055
+ bMdefRate: 1056
+ bMdef2Rate: 1057
+ bSplashRange: 1058
+ bSplashAddRange: 1059
+ bAutoSpell: 1060
+ bHPDrainRate: 1061
+ bSPDrainRate: 1062
+ bShortWeaponDamageReturn: 1063
+ bLongWeaponDamageReturn: 1064
+ bWeaponComaEle: 1065
+ bWeaponComaRace: 1066
+ bAddEff2: 1067
+ bBreakWeaponRate: 1068
+ bBreakArmorRate: 1069
+ bAddStealRate: 1070
+ bMagicDamageReturn: 1071
+ bAllStats: 1073
+ bAgiVit: 1074
+ bAgiDexStr: 1075
+ bPerfectHide: 1076
+ bNoKnockback: 1077
+ bClassChange: 1078
+ bHPDrainValue: 1079
+ bSPDrainValue: 1080
+ bWeaponAtk: 1081
+ bWeaponAtkRate: 1082
+ bDelayrate: 1083
+ bHPDrainRateRace: 1084
+ bSPDrainRateRace: 1085
+ bIgnoreMdefRate: 1086
+ bIgnoreDefRate: 1087
+ bSkillHeal2: 1088
+ bAddEffOnSkill: 1089
+ bHealPower: 1090
+ bHealPower2: 1091
+ bHPVanishRate: 1092
+
+ bRestartFullRecover: 2000
+ bNoCastCancel: 2001
+ bNoSizeFix: 2002
+ bNoMagicDamage: 2003
+ bNoWeaponDamage: 2004
+ bNoGemStone: 2005
+ bNoCastCancel2: 2006
+ bNoMiscDamage: 2007
+ bUnbreakableWeapon: 2008
+ bUnbreakableArmor: 2009
+ bUnbreakableHelm: 2010
+ bUnbreakableShield: 2011
+ bLongAtkRate: 2012
+ bCritAtkRate: 2013
+ bCriticalAddRace: 2014
+ bNoRegen: 2015
+ bAddEffWhenHit: 2016
+ bAutoSpellWhenHit: 2017
+ bSkillAtk: 2018
+ bUnstripable: 2019
+ bAutoSpellOnSkill: 2020
+
+ bSPGainValue: 2021
+ bHPRegenRate: 2022
+ bHPLossRate: 2023
+ bAddRace2: 2024
+ bHPGainValue: 2025
+ bSubSize: 2026
+ bHPDrainValueRace: 2027
+ bAddItemHealRate: 2028
+ bSPDrainValueRace: 2029
+ bExpAddRace: 2030
+ bSPGainRace: 2031
+ bSubRace2: 2032
+ bUnbreakableShoes: 2033
+ bUnstripableWeapon: 2034
+ bUnstripableArmor: 2035
+ bUnstripableHelm: 2036
+ bUnstripableShield: 2037
+ bIntravision: 2038
+ bAddMonsterDropChainItem: 2039
+ bSPLossRate: 2040
+ bAddSkillBlow: 2041
+ bSPVanishRate: 2042
+ bMagicSPGainValue: 2043
+ bMagicHPGainValue: 2044
+ bAddClassDropItem: 2045
+ bMatk: 2046
+ bSPGainRaceAttack: 2047
+ bHPGainRaceAttack: 2048
+ bSkillUseSPrate: 2049
+ bSkillCooldown: 2050
+
+ bSkillFixedCast: 2051
+ bSkillVariableCast: 2052
+ bFixedCastrate: 2053
+ bVariableCastrate: 2054
+ bSkillUseSP: 2055
+ bMagicAtkEle: 2056
+ bFixedCast: 2057
+ bVariableCast: 2058
+ bSetDefRace: 2059
+ bSetMDefRace: 2060
+ bAddRaceTolerance: 2061
+ bAddMaxWeight: 2062
+
+ comment__: "Equip index"
+ /* reference to script.c::script_defaults():equip[] array used for easy-conversion */
+ EQI_HEAD_TOP: 1
+ EQI_ARMOR: 2
+ EQI_HAND_L: 3
+ EQI_HAND_R: 4
+ EQI_GARMENT: 5
+ EQI_SHOES: 6
+ EQI_ACC_L: 7
+ EQI_ACC_R: 8
+ EQI_HEAD_MID: 9
+ EQI_HEAD_LOW: 10
+ EQI_COSTUME_HEAD_LOW: 11
+ EQI_COSTUME_HEAD_MID: 12
+ EQI_COSTUME_HEAD_TOP: 13
+ EQI_COSTUME_GARMENT: 14
+ EQI_SHADOW_ARMOR: 15
+ EQI_SHADOW_WEAPON: 16
+ EQI_SHADOW_SHIELD: 17
+ EQI_SHADOW_SHOES: 18
+ EQI_SHADOW_ACC_R: 19
+ EQI_SHADOW_ACC_L: 20
+
+ comment__: "Status effects"
+ Eff_Stone: 0
+ Eff_Freeze: 1
+ Eff_Stun: 2
+ Eff_Sleep: 3
+ Eff_Poison: 4
+ Eff_Curse: 5
+ Eff_Silence: 6
+ Eff_Confusion: 7
+ Eff_Blind: 8
+ Eff_Bleeding: 9
+ Eff_DPoison: 10
+ Eff_Fear: 11
+ Eff_Cold: 12
+ Eff_Burning: 13
+ Eff_Deepsleep: 14
+
+ comment__: "Elements"
+ Ele_Neutral: 0
+ Ele_Water: 1
+ Ele_Earth: 2
+ Ele_Fire: 3
+ Ele_Wind: 4
+ Ele_Holy: 6
+ Ele_Dark: 7
+ Ele_Ghost: 8
+ Ele_All: 255
+
+ // Compatibility, legacy, DO NOT USE
+ Ele_Nature: 5
+ Ele_Poison: 5
+ Ele_Undead: 9
+ Ele_System: 9
+
+ comment__: "Attack Types"
+ HARM_PHYS: 1
+ HARM_MAGI: 2
+ HARM_MISC: 4
+
+ comment__: "Races"
+ RC_Formless: 0
+ RC_Undead: 1
+ RC_Brute: 2
+ RC_Plant: 3
+ RC_Insect: 4
+ RC_Mineral: 5 // Fish
+ RC_Unused: 6 // DM
+ RC_DemiHuman: 7
+ RC_Legendary: 8 // Angel
+ RC_Dragon: 9
+ RC_Player: 10
+ RC_Boss: 11
+ RC_NonBoss: 12
+ RC_NonDemiHuman: 14
+ RC_NonPlayer: 15
+ RC_DemiPlayer: 16
+ RC_NonDemiPlayer: 17
+ RC_All: 255
+
+ comment__: "Subraces"
+ RC2_None: 0
+ RC2_Goblin: 1
+ RC2_Kobold: 2
+ RC2_Orc: 3
+ RC2_Golem: 4
+ RC2_Guardian: 5
+ RC2_Ninja: 6
+ RC2_Scaraba: 7
+ RC2_Turtle: 8
+
+ comment__: "Sizes"
+ Size_Small: 0
+ Size_Medium: 1
+ Size_Large: 2
+
+ comment__: "Battle Flags"
+ BF_WEAPON: 0x0001
+ BF_MAGIC: 0x0002
+ BF_MISC: 0x0004
+ BF_SHORT: 0x0010
+ BF_LONG: 0x0040
+ BF_SKILL: 0x0100
+ BF_NORMAL: 0x0200
+
+ comment__: "Attack Flags"
+ ATF_SELF: 0x01
+ ATF_TARGET: 0x02
+ ATF_SHORT: 0x04
+ ATF_LONG: 0x08
+ ATF_WEAPON: 0x10
+ ATF_MAGIC: 0x20
+ ATF_MISC: 0x40
+ ATF_SKILL: 0x60
+
+ comment__: "Status Changes"
+ SC_ALL: -1
+ SC_STONE: 0
+ SC_FREEZE: 1
+ SC_STUN: 2
+ SC_SLEEP: 3
+ SC_POISON: 4
+ SC_CURSE: 5
+ SC_SILENCE: 6
+ SC_CONFUSION: 7
+ SC_BLIND: 8
+ SC_BLOODING: 9
+ SC_DPOISON: 10
+ SC_FEAR: 11
+ SC_COLD: 12
+ SC_BURNING: 13
+ SC_DEEP_SLEEP: 14
+ SC_PROVOKE: 20
+ SC_ENDURE: 21
+ SC_TWOHANDQUICKEN: 22
+ SC_CONCENTRATION: 23
+ SC_HIDING: 24
+ SC_CLOAKING: 25
+ SC_ENCHANTPOISON: 26
+ SC_POISONREACT: 27
+ SC_QUAGMIRE: 28
+ SC_ANGELUS: 29
+ SC_BLESSING: 30
+ SC_CRUCIS: 31
+ SC_INC_AGI: 32
+ SC_DEC_AGI: 33
+ SC_SLOWPOISON: 34
+ SC_IMPOSITIO: 35
+ SC_SUFFRAGIUM: 36
+ SC_ASPERSIO: 37
+ SC_BENEDICTIO: 38
+ SC_KYRIE: 39
+ SC_MAGNIFICAT: 40
+ SC_GLORIA: 41
+ SC_LEXAETERNA: 42
+ SC_ADRENALINE: 43
+ SC_WEAPONPERFECT: 44
+ SC_OVERTHRUST: 45
+ SC_MAXIMIZEPOWER: 46
+ SC_TRICKDEAD: 47
+ SC_SHOUT: 48
+ SC_ENERGYCOAT: 49
+ SC_BROKENARMOR: 50
+ SC_BROKENWEAPON: 51
+ SC_ILLUSION: 52
+ SC_WEIGHTOVER50: 53
+ SC_WEIGHTOVER90: 54
+ SC_ATTHASTE_POTION1: 55
+ SC_ATTHASTE_POTION2: 56
+ SC_ATTHASTE_POTION3: 57
+ SC_ATTHASTE_INFINITY: 58
+ SC_MOVHASTE_HORSE: 59
+ SC_MOVHASTE_INFINITY: 60
+ SC_PLUSATTACKPOWER: 61
+ SC_PLUSMAGICPOWER: 62
+ SC_WEDDING: 63
+ SC_SLOWDOWN: 64
+ SC_ANKLESNARE: 65
+ SC_KEEPING: 66
+ SC_BARRIER: 67
+ SC_NOEQUIPWEAPON: 68
+ SC_NOEQUIPSHIELD: 69
+ SC_NOEQUIPARMOR: 70
+ SC_NOEQUIPHELM: 71
+ SC_PROTECTWEAPON: 72
+ SC_PROTECTSHIELD: 73
+ SC_PROTECTARMOR: 74
+ SC_PROTECTHELM: 75
+ SC_AUTOGUARD: 76
+ SC_REFLECTSHIELD: 77
+ SC_SPLASHER: 78
+ SC_PROVIDENCE: 79
+ SC_DEFENDER: 80
+ SC_MAGICROD: 81
+ SC_SPELLBREAKER: 82
+ SC_AUTOSPELL: 83
+ SC_SIGHTTRASHER: 84
+ SC_AUTOBERSERK: 85
+ SC_SPEARQUICKEN: 86
+ SC_AUTOCOUNTER: 87
+ SC_SIGHT: 88
+ SC_SAFETYWALL: 89
+ SC_RUWACH: 90
+ SC_EXTREMITYFIST: 91
+ SC_EXPLOSIONSPIRITS: 92
+ SC_COMBOATTACK: 93
+ SC_BLADESTOP_WAIT: 94
+ SC_BLADESTOP: 95
+ SC_PROPERTYFIRE: 96
+ SC_PROPERTYWATER: 97
+ SC_PROPERTYWIND: 98
+ SC_PROPERTYGROUND: 99
+ SC_VOLCANO: 100
+ SC_DELUGE: 101
+ SC_VIOLENTGALE: 102
+ SC_SUB_WEAPONPROPERTY: 103
+ SC_ARMOR: 104
+ SC_ARMORPROPERTY: 105
+ SC_NOCHAT: 106
+ SC_BABY: 107
+ SC_AURABLADE: 108
+ SC_PARRYING: 109
+ SC_LKCONCENTRATION: 110
+ SC_TENSIONRELAX: 111
+ SC_BERSERK: 112
+ SC_FURY: 113
+ SC_GOSPEL: 114
+ SC_ASSUMPTIO: 115
+ SC_BASILICA: 116
+ SC_GUILDAURA: 117
+ SC_MAGICPOWER: 118
+ SC_EDP: 119
+ SC_TRUESIGHT: 120
+ SC_WINDWALK: 121
+ SC_MELTDOWN: 122
+ SC_CARTBOOST: 123
+ SC_CHASEWALK: 124
+ SC_SWORDREJECT: 125
+ SC_MARIONETTE_MASTER: 126
+ SC_MARIONETTE: 127
+ SC_PROPERTYUNDEAD: 128
+ SC_JOINTBEAT: 129
+ SC_MINDBREAKER: 130
+ SC_MEMORIZE: 131
+ SC_FOGWALL: 132
+ SC_SPIDERWEB: 133
+ SC_DEVOTION: 134
+ SC_SACRIFICE: 135
+ SC_STEELBODY: 136
+ SC_ORCISH: 137
+ SC_STORMKICK_READY: 138
+ SC_DOWNKICK_READY: 139
+ SC_TURNKICK_READY: 140
+ SC_COUNTERKICK_READY: 141
+ SC_DODGE_READY: 142
+ SC_RUN: 143
+ SC_PROPERTYDARK: 144
+ SC_ADRENALINE2: 145
+ SC_PROPERTYTELEKINESIS: 146
+ SC_KAIZEL: 147
+ SC_KAAHI: 148
+ SC_KAUPE: 149
+ SC_ONEHANDQUICKEN: 150
+ SC_PRESERVE: 151
+ SC_GDSKILL_BATTLEORDER: 152
+ SC_GDSKILL_REGENERATION: 153
+ SC_DOUBLECASTING: 154
+ SC_GRAVITATION: 155
+ SC_OVERTHRUSTMAX: 156
+ SC_LONGING: 157
+ SC_HERMODE: 158
+ SC_TAROTCARD: 159
+ SC_CR_SHRINK: 160
+ SC_WZ_SIGHTBLASTER: 161
+ SC_DC_WINKCHARM: 162
+ SC_RG_CCONFINE_M: 163
+ SC_RG_CCONFINE_S: 164
+ SC_DANCING: 165
+ SC_ARMOR_PROPERTY: 166
+ SC_RICHMANKIM: 167
+ SC_ETERNALCHAOS: 168
+ SC_DRUMBATTLE: 169
+ SC_NIBELUNGEN: 170
+ SC_ROKISWEIL: 171
+ SC_INTOABYSS: 172
+ SC_SIEGFRIED: 173
+ SC_WHISTLE: 174
+ SC_ASSNCROS: 175
+ SC_POEMBRAGI: 176
+ SC_APPLEIDUN: 177
+ SC_MODECHANGE: 178
+ SC_HUMMING: 179
+ SC_DONTFORGETME: 180
+ SC_FORTUNE: 181
+ SC_SERVICEFORYOU: 182
+ SC_STOP: 183
+ SC_STRUP: 184
+ SC_SOULLINK: 185
+ SC_COMA: 186
+ SC_CLAIRVOYANCE: 187
+ SC_INCALLSTATUS: 188
+ SC_CHASEWALK2: 189
+ SC_INCAGI: 190
+ SC_INCVIT: 191
+ SC_INCINT: 192
+ SC_INCDEX: 193
+ SC_INCLUK: 194
+ SC_INCHIT: 195
+ SC_INCHITRATE: 196
+ SC_INCFLEE: 197
+ SC_INCFLEERATE: 198
+ SC_INCMHPRATE: 199
+ SC_INCMSPRATE: 200
+ SC_INCATKRATE: 201
+ SC_INCMATKRATE: 202
+ SC_INCDEFRATE: 203
+ SC_FOOD_STR: 204
+ SC_FOOD_AGI: 205
+ SC_FOOD_VIT: 206
+ SC_FOOD_INT: 207
+ SC_FOOD_DEX: 208
+ SC_FOOD_LUK: 209
+ SC_FOOD_BASICHIT: 210
+ SC_FOOD_BASICAVOIDANCE: 211
+ SC_BATKFOOD: 212
+ SC_WATKFOOD: 213
+ SC_MATKFOOD: 214
+ SC_SCRESIST: 215
+ SC_XMAS: 216
+ SC_WARM: 217
+ SC_SUN_COMFORT: 218
+ SC_MOON_COMFORT: 219
+ SC_STAR_COMFORT: 220
+ SC_FUSION: 221
+ SC_SKILLRATE_UP: 222
+ SC_SKE: 223
+ SC_KAITE: 224
+ SC_SWOO: 225
+ SC_SKA: 226
+ SC_EARTHSCROLL: 227
+ SC_MIRACLE: 228
+ SC_GS_MADNESSCANCEL: 229
+ SC_GS_ADJUSTMENT: 230
+ SC_GS_ACCURACY: 231
+ SC_GS_GATLINGFEVER: 232
+ SC_NJ_TATAMIGAESHI: 233
+ SC_NJ_UTSUSEMI: 234
+ SC_NJ_BUNSINJYUTSU: 235
+ SC_NJ_KAENSIN: 236
+ SC_NJ_SUITON: 237
+ SC_NJ_NEN: 238
+ SC_KNOWLEDGE: 239
+ SC_SMA_READY: 240
+ SC_FLING: 241
+ SC_HLIF_AVOID: 242
+ SC_HLIF_CHANGE: 243
+ SC_HAMI_BLOODLUST: 244
+ SC_HLIF_FLEET: 245
+ SC_HLIF_SPEED: 246
+ SC_HAMI_DEFENCE: 247
+ SC_INCASPDRATE: 248 // <-
+ SC_PLUSAVOIDVALUE: 249
+ SC_JAILED: 250
+ SC_ENCHANTARMS: 251
+ SC_MAGICALATTACK: 252
+ SC_STONESKIN: 253
+ SC_CRITICALWOUND: 254
+ SC_MAGICMIRROR: 255
+ SC_SLOWCAST: 256
+ SC_SUMMER: 257
+ SC_CASH_PLUSEXP: 258
+ SC_CASH_RECEIVEITEM: 259
+ SC_CASH_BOSS_ALARM: 260
+ SC_CASH_DEATHPENALTY: 261 // !!
+ SC_CRITICALPERCENT: 262
+ SC_PROTECT_MDEF: 266
+ SC_HEALPLUS: 268
+ SC_PNEUMA: 269
+ SC_AUTOTRADE: 270
+ SC_KSPROTECTED: 271
+ SC_ARMOR_RESIST: 272
+ SC_ATKER_BLOOD: 273
+ SC_TARGET_BLOOD: 274
+ SC_TK_SEVENWIND: 275
+ SC_PROTECT_DEF: 276
+ SC_WALKSPEED: 278
+ SC_MER_FLEE: 279
+ SC_MER_ATK: 280
+ SC_MER_HP: 281
+ SC_MER_SP: 282
+ SC_MER_HIT: 283
+ SC_MER_QUICKEN: 284
+ SC_REBIRTH: 285
+ SC_S_LIFEPOTION: 291
+ SC_L_LIFEPOTION: 292
+ SC_CASH_PLUSONLYJOBEXP: 293
+ SC_HELLPOWER: 295
+ SC_INVINCIBLE: 296
+ SC_INVINCIBLEOFF: 297
+ SC_MANU_ATK: 298
+ SC_MANU_DEF: 299
+ SC_SPL_ATK: 300
+ SC_SPL_DEF: 301
+ SC_MANU_MATK: 302
+ SC_SPL_MATK: 303
+ SC_FOOD_STR_CASH: 304
+ SC_FOOD_AGI_CASH: 305
+ SC_FOOD_VIT_CASH: 306
+ SC_FOOD_DEX_CASH: 307
+ SC_FOOD_INT_CASH: 308
+ SC_FOOD_LUK_CASH: 309
+ SC_FROSTMISTY: 311
+ SC_ENCHANTBLADE: 312
+ SC_DEATHBOUND: 313
+ SC_MILLENNIUMSHIELD: 314
+ SC_CRUSHSTRIKE: 315
+ SC_REFRESH: 316
+ SC_REUSE_REFRESH: 317
+ SC_GIANTGROWTH: 318
+ SC_STONEHARDSKIN: 319
+ SC_VITALITYACTIVATION: 320
+ SC_STORMBLAST: 321
+ SC_FIGHTINGSPIRIT: 322
+ SC_ABUNDANCE: 323
+ SC_ADORAMUS: 324
+ SC_EPICLESIS: 325
+ SC_ORATIO: 326
+ SC_LAUDAAGNUS: 327
+ SC_LAUDARAMUS: 328
+ SC_RENOVATIO: 329
+ SC_EXPIATIO: 330
+ SC_DUPLELIGHT: 331
+ SC_SECRAMENT: 332
+ SC_WHITEIMPRISON: 333
+ SC_MARSHOFABYSS: 334
+ SC_RECOGNIZEDSPELL: 335
+ SC_STASIS: 336
+ SC_SUMMON1: 337
+ SC_SUMMON2: 338
+ SC_SUMMON3: 339
+ SC_SUMMON4: 340
+ SC_SUMMON5: 341
+ SC_READING_SB: 342
+ SC_FREEZINGSP: 343
+ SC_FEARBREEZE: 344
+ SC_ELECTRICSHOCKER: 345
+ SC_WUGDASH: 346
+ SC_WUGBITE: 347
+ SC_CAMOUFLAGE: 348
+ SC_ACCELERATION: 349
+ SC_HOVERING: 350
+ SC_SHAPESHIFT: 351
+ SC_INFRAREDSCAN: 352
+ SC_ANALYZE: 353
+ SC_MAGNETICFIELD: 354
+ SC_NEUTRALBARRIER: 355
+ SC_NEUTRALBARRIER_MASTER: 356
+ SC_STEALTHFIELD: 357
+ SC_STEALTHFIELD_MASTER: 358
+ SC_OVERHEAT: 359
+ SC_OVERHEAT_LIMITPOINT: 360
+ SC_VENOMIMPRESS: 361
+ SC_POISONINGWEAPON: 362
+ SC_WEAPONBLOCKING: 363
+ SC_CLOAKINGEXCEED: 364
+ SC_HALLUCINATIONWALK: 365
+ SC_HALLUCINATIONWALK_POSTDELAY: 366
+ SC_ROLLINGCUTTER: 367
+ SC_TOXIN: 368
+ SC_PARALYSE: 369
+ SC_VENOMBLEED: 370
+ SC_MAGICMUSHROOM: 371
+ SC_DEATHHURT: 372
+ SC_PYREXIA: 373
+ SC_OBLIVIONCURSE: 374
+ SC_LEECHESEND: 375
+ SC_LG_REFLECTDAMAGE: 376
+ SC_FORCEOFVANGUARD: 377
+ SC_SHIELDSPELL_DEF: 378
+ SC_SHIELDSPELL_MDEF: 379
+ SC_SHIELDSPELL_REF: 380
+ SC_EXEEDBREAK: 381
+ SC_PRESTIGE: 382
+ SC_BANDING: 383
+ SC_BANDING_DEFENCE: 384
+ SC_EARTHDRIVE: 385
+ SC_INSPIRATION: 386
+ SC_SPELLFIST: 387
+ SC_STRIKING: 389
+ SC_WARMER: 390
+ SC_VACUUM_EXTREME: 391
+ SC_PROPERTYWALK: 392
+ SC_SWING: 393
+ SC_SYMPHONY_LOVE: 394
+ SC_MOONLIT_SERENADE: 395
+ SC_RUSH_WINDMILL: 396
+ SC_ECHOSONG: 397
+ SC_HARMONIZE: 398
+ SC_SIREN: 399
+ SC_SIRCLEOFNATURE: 401
+ SC_GLOOMYDAY: 402
+ SC_GLOOMYDAY_SK: 403
+ SC_SONG_OF_MANA: 404
+ SC_DANCE_WITH_WUG: 405
+ SC_SATURDAY_NIGHT_FEVER: 406
+ SC_LERADS_DEW: 407
+ SC_MELODYOFSINK: 408
+ SC_BEYOND_OF_WARCRY: 409
+ SC_UNLIMITED_HUMMING_VOICE: 410
+ SC_SITDOWN_FORCE: 411
+ SC_NETHERWORLD: 412
+ SC_CRESCENTELBOW: 413
+ SC_CURSEDCIRCLE_ATKER: 414
+ SC_CURSEDCIRCLE_TARGET: 415
+ SC_LIGHTNINGWALK: 416
+ SC_RAISINGDRAGON: 417
+ SC_GENTLETOUCH_ENERGYGAIN: 418
+ SC_GENTLETOUCH_CHANGE: 419
+ SC_GENTLETOUCH_REVITALIZE: 420
+ SC_GN_CARTBOOST: 421
+ SC_THORNS_TRAP: 422
+ SC_BLOOD_SUCKER: 423
+ SC_FIRE_EXPANSION_SMOKE_POWDER: 424
+ SC_FIRE_EXPANSION_TEAR_GAS: 425
+ SC_MANDRAGORA: 426
+ SC_STOMACHACHE: 427
+ SC_MYSTERIOUS_POWDER: 428
+ SC_MELON_BOMB: 429
+ SC_BANANA_BOMB: 430
+ SC_BANANA_BOMB_SITDOWN_POSTDELAY: 431
+ SC_SAVAGE_STEAK: 432
+ SC_COCKTAIL_WARG_BLOOD: 433
+ SC_MINOR_BBQ: 434
+ SC_SIROMA_ICE_TEA: 435
+ SC_DROCERA_HERB_STEAMED: 436
+ SC_PUTTI_TAILS_NOODLES: 437
+ SC_BOOST500: 438
+ SC_FULL_SWING_K: 439
+ SC_MANA_PLUS: 440
+ SC_MUSTLE_M: 441
+ SC_LIFE_FORCE_F: 442
+ SC_EXTRACT_WHITE_POTION_Z: 443
+ SC_VITATA_500: 444
+ SC_EXTRACT_SALAMINE_JUICE: 445
+ SC__REPRODUCE: 446
+ SC__AUTOSHADOWSPELL: 447
+ SC__SHADOWFORM: 448
+ SC__BODYPAINT: 449
+ SC__INVISIBILITY: 450
+ SC__DEADLYINFECT: 451
+ SC__ENERVATION: 452
+ SC__GROOMY: 453
+ SC__IGNORANCE: 454
+ SC__LAZINESS: 455
+ SC__UNLUCKY: 456
+ SC__WEAKNESS: 457
+ SC__STRIPACCESSARY: 458
+ SC__MANHOLE: 459
+ SC__BLOODYLUST: 460
+ SC_CIRCLE_OF_FIRE: 461
+ SC_CIRCLE_OF_FIRE_OPTION: 462
+ SC_FIRE_CLOAK: 463
+ SC_FIRE_CLOAK_OPTION: 464
+ SC_WATER_SCREEN: 465
+ SC_WATER_SCREEN_OPTION: 466
+ SC_WATER_DROP: 467
+ SC_WATER_DROP_OPTION: 468
+ SC_WATER_BARRIER: 469
+ SC_WIND_STEP: 470
+ SC_WIND_STEP_OPTION: 471
+ SC_WIND_CURTAIN: 472
+ SC_WIND_CURTAIN_OPTION: 473
+ SC_ZEPHYR: 474
+ SC_SOLID_SKIN: 475
+ SC_SOLID_SKIN_OPTION: 476
+ SC_STONE_SHIELD: 477
+ SC_STONE_SHIELD_OPTION: 478
+ SC_POWER_OF_GAIA: 479
+ SC_PYROTECHNIC: 480
+ SC_PYROTECHNIC_OPTION: 481
+ SC_HEATER: 482
+ SC_HEATER_OPTION: 483
+ SC_TROPIC: 484
+ SC_TROPIC_OPTION: 485
+ SC_AQUAPLAY: 486
+ SC_AQUAPLAY_OPTION: 487
+ SC_COOLER: 488
+ SC_COOLER_OPTION: 489
+ SC_CHILLY_AIR: 490
+ SC_CHILLY_AIR_OPTION: 491
+ SC_GUST: 492
+ SC_GUST_OPTION: 493
+ SC_BLAST: 494
+ SC_BLAST_OPTION: 495
+ SC_WILD_STORM: 496
+ SC_WILD_STORM_OPTION: 497
+ SC_PETROLOGY: 498
+ SC_PETROLOGY_OPTION: 499
+ SC_CURSED_SOIL: 500
+ SC_CURSED_SOIL_OPTION: 501
+ SC_UPHEAVAL: 502
+ SC_UPHEAVAL_OPTION: 503
+ SC_TIDAL_WEAPON: 504
+ SC_TIDAL_WEAPON_OPTION: 505
+ SC_ROCK_CRUSHER: 506
+ SC_ROCK_CRUSHER_ATK: 507
+ SC_LEADERSHIP: 508
+ SC_GLORYWOUNDS: 509
+ SC_SOULCOLD: 510
+ SC_HAWKEYES: 511
+ SC_ODINS_POWER: 512
+ SC_FIRE_INSIGNIA: 513
+ SC_WATER_INSIGNIA: 514
+ SC_WIND_INSIGNIA: 515
+ SC_EARTH_INSIGNIA: 516
+ SC_PUSH_CART: 517
+ SC_SPELLBOOK1: 518
+ SC_SPELLBOOK2: 519
+ SC_SPELLBOOK3: 520
+ SC_SPELLBOOK4: 521
+ SC_SPELLBOOK5: 522
+ SC_SPELLBOOK6: 523
+ SC_SPELLBOOK7: 524
+ SC_INCMHP: 525
+ SC_INCMSP: 526
+ SC_PARTYFLEE: 527
+ SC_MEIKYOUSISUI: 528
+ SC_KO_JYUMONJIKIRI: 529
+ SC_KYOUGAKU: 530
+ SC_IZAYOI: 531
+ SC_ZENKAI: 532
+ SC_KG_KAGEHUMI: 533
+ SC_KYOMU: 534
+ SC_KAGEMUSYA: 535
+ SC_ZANGETSU: 536
+ SC_GENSOU: 537
+ SC_AKAITSUKI: 538
+ SC_STYLE_CHANGE: 539
+ SC_GOLDENE_FERSE: 540
+ SC_ANGRIFFS_MODUS: 541
+ SC_ERASER_CUTTER: 542
+ SC_OVERED_BOOST: 543
+ SC_LIGHT_OF_REGENE: 544
+ SC_VOLCANIC_ASH: 545
+ SC_GRANITIC_ARMOR: 546
+ SC_MAGMA_FLOW: 547
+ SC_PYROCLASTIC: 548
+ SC_NEEDLE_OF_PARALYZE: 549
+ SC_PAIN_KILLER: 550
+ SC_EXTREMITYFIST2: 551
+ SC_RAID: 552
+ SC_DARKCROW: 553
+ SC_FULL_THROTTLE: 554
+ SC_REBOUND: 555
+ SC_UNLIMIT: 556
+ SC_KINGS_GRACE: 557
+ SC_TELEKINESIS_INTENSE: 558
+ SC_OFFERTORIUM: 559
+ SC_FRIGG_SONG: 560
+ SC_ALL_RIDING: 561
+ SC_HANBOK: 562
+ SC_MONSTER_TRANSFORM: 563
+ SC_ANGEL_PROTECT: 564
+ SC_ILLUSIONDOPING: 565
+ SC_MTF_ASPD: 566
+ SC_MTF_RANGEATK: 567
+ SC_MTF_MATK: 568
+ SC_MTF_MLEATKED: 569
+ SC_MTF_CRIDAMAGE: 570
+ SC_MOONSTAR: 571
+ SC_SUPER_STAR: 572
+ SC_OKTOBERFEST: 573
+ SC_STRANGELIGHTS: 574
+ SC_DECORATION_OF_MUSIC: 575
+ SC__MAELSTROM: 576
+ SC__CHAOS: 577
+ SC__FEINTBOMB_MASTER: 578
+ SC_FALLENEMPIRE: 579
+ SC_FLASHCOMBO: 580
+ SC_DEFSET: 581
+ SC_MDEFSET: 582
+ SC_NO_SWITCH_EQUIP: 583
+
+ // 2014 Halloween Event
+ SC_MTF_MHP: 584
+ SC_MTF_MSP: 585
+ SC_MTF_PUMPKIN: 586
+ SC_MTF_HITFLEE: 587
+
+ SC_LJOSALFAR: 588
+ SC_MERMAID_LONGING: 589
+ SC_ACARAJE: 590
+ SC_TARGET_ASPD: 591
+
+ // Geffen Scrolls
+ SC_SKELSCROLL: 592
+ SC_DISTRUCTIONSCROLL: 593
+ SC_ROYALSCROLL: 594
+ SC_IMMUNITYSCROLL: 595
+ SC_MYSTICSCROLL: 596
+ SC_BATTLESCROLL: 597
+ SC_ARMORSCROLL: 598
+ SC_FREYJASCROLL: 599
+ SC_SOULSCROLL: 600
+
+ // Eden Crystal Synthesis
+ SC_QUEST_BUFF1: 601
+ SC_QUEST_BUFF2: 602
+ SC_QUEST_BUFF3: 603
+
+ // Geffen Magic Tournament
+ SC_GEFFEN_MAGIC1: 604
+ SC_GEFFEN_MAGIC2: 605
+ SC_GEFFEN_MAGIC3: 606
+ SC_FENRIR_CARD: 607
+
+ SC_ATKER_ASPD: 608
+ SC_ATKER_MOVESPEED: 609
+ SC_FOOD_CRITICALSUCCESSVALUE: 610
+ SC_CUP_OF_BOZA: 611
+ SC_OVERLAPEXPUP: 612
+ SC_MORA_BUFF: 613
+
+ // MVP Scrolls
+ SC_MVPCARD_TAOGUNKA: 614
+ SC_MVPCARD_MISTRESS: 615
+ SC_MVPCARD_ORCHERO: 616
+ SC_MVPCARD_ORCLORD: 617
+
+ SC_HAT_EFFECT: 618
+ SC_FLOWERSMOKE: 619
+ SC_FSTONE: 620
+ SC_HAPPINESS_STAR: 621
+ SC_MAPLE_FALLS: 622
+ SC_TIME_ACCESSORY: 623
+ SC_MAGICAL_FEATHER: 624
+ SC_BLOSSOM_FLUTTERING: 625
+ SC_GM_BATTLE: 626
+ SC_GM_BATTLE2: 627
+ SC_2011RWC: 628
+ SC_STR_SCROLL: 629
+ SC_INT_SCROLL: 630
+ SC_STEAMPACK: 631
+ SC_MOVHASTE_POTION: 632
+ SC_MOVESLOW_POTION: 633
+ SC_BUCHEDENOEL: 634
+ SC_PHI_DEMON: 635
+ SC_PROMOTE_HEALTH_RESERCH: 636
+ SC_ENERGY_DRINK_RESERCH: 637
+ SC_MAGIC_CANDY: 638
+ SC_M_LIFEPOTION: 639
+ 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
+
+ SC_DAILYSENDMAILCNT: 653
+
+ // Summer 2 Costume
+ SC_DRESS_UP: 652
+
+ // Clan System
+ SC_CLAN_INFO: 654
+
+ SC_SIT: 655
+ SC_MOON: 656
+ SC_TING: 657
+ SC_DEVIL1: 658
+ SC_RIDING: 659
+ SC_FALCON: 660
+ SC_WUGRIDER: 661
+ SC_POSTDELAY: 662
+ SC_ON_PUSH_CART: 663
+ SC_RESIST_PROPERTY_WATER: 664
+ SC_RESIST_PROPERTY_GROUND: 665
+ SC_RESIST_PROPERTY_FIRE: 666
+ SC_RESIST_PROPERTY_WIND: 667
+ SC_CLIENT_ONLY_EQUIP_ARROW: 668
+
+ comment__: "petstat"
+ comment__: "petstat - deprecated, use *getpetinfo"
+ PET_CLASS: {
+ Value: 1
+ Deprecated: true
+ }
+ PET_NAME: {
+ Value: 2
+ Deprecated: true
+ }
+ PET_LEVEL: {
+ Value: 3
+ Deprecated: true
+ }
+ PET_HUNGRY: {
+ Value: 4
+ Deprecated: true
+ }
+ PET_INTIMATE: {
+ Value: 5
+ Deprecated: true
+ }
+
+ comment__: "getmonsterinfo"
+ MOB_NAME: 0
+ MOB_LV: 1
+ MOB_MAXHP: 2
+ MOB_BASEEXP: 3
+ MOB_JOBEXP: 4
+ MOB_ATK1: 5
+ MOB_ATK2: 6
+ MOB_DEF: 7
+ MOB_MDEF: 8
+ MOB_STR: 9
+ MOB_AGI: 10
+ MOB_VIT: 11
+ MOB_INT: 12
+ MOB_DEX: 13
+ MOB_LUK: 14
+ MOB_RANGE: 15
+ MOB_RANGE2: 16
+ MOB_RANGE3: 17
+ MOB_SIZE: 18
+ MOB_RACE: 19
+ MOB_ELEMENT: 20
+ MOB_MODE: 21
+ MOB_MVPEXP: 22
+ MOB_DMG_TAKEN_RATE: 23
+
+ comment__: "mercenary guilds"
+ ARCH_MERC_GUILD: 0
+ SPEAR_MERC_GUILD: 1
+ SWORD_MERC_GUILD: 2
+
+ comment__: "Hercules Effects"
+ EF_NONE: -1
+ EF_HIT1: 0
+ EF_SNOW: 162
+ EF_SAKURA: 163
+ EF_CLOUD3: 233
+ EF_POKJUK: 297
+ EF_THROWITEM2: 299
+ EF_POKJUK_SOUND: 301
+ EF_MAPLE: 333
+ EF_GUARD: 336
+ EF_ANGEL2: 338
+ EF_ENTRY2: 344
+ EF_BABY: 408
+ EF_BABYBODY: 420
+ EF_BABYBODY2: 421
+ EF_GIANTBODY: 422
+ EF_GIANTBODY2: 423
+ EF_ATTACKENERGY2: 438
+ EF_GRANDCROSS2: 450
+ EF_STORMKICK4: 462
+ EF_CLOUD4: 515
+ EF_CLOUD5: 516
+ EF_TAROTCARD1: 523
+ EF_TAROTCARD2: 524
+ EF_TAROTCARD3: 525
+ EF_TAROTCARD4: 526
+ EF_TAROTCARD5: 527
+ EF_TAROTCARD6: 528
+ EF_HO_UP: 568
+ EF_COOKING_OK: 608
+ EF_COOKING_FAIL: 609
+
+ comment__: "NPC sprite IDs"
+ FAKE_NPC: -1
+ WARPNPC: 45
+ EFFECTLAUNCHER: 104
+ HIDDEN_NPC: 111
+ HIDDEN_WARP_NPC: 139
+ MOB_TOMB: 565
+ GUILD_FLAG: 722
+ 1_SHADOW_NPC: 723
+ TW_TOWER: 812
+ 2_BOARD1: 835
+ 2_BOARD2: 836
+ 2_BULLETIN_BOARD: 837
+ CLEAR_NPC: 844
+ PORTAL: 10007
+ 4_SYSTEM_BOX: 10248
+
+ comment__: "Mercenary IDs"
+ MER_LIF: 6001
+ MER_AMISTR: 6002
+ MER_FILIR: 6003
+ MER_VANILMIRTH: 6004
+ MER_LIF2: 6005
+ MER_AMISTR2: 6006
+ MER_FILIR2: 6007
+ MER_VANILMIRTH2: 6008
+ MER_LIF_H: 6009
+ MER_AMISTR_H: 6010
+ MER_FILIR_H: 6011
+ MER_VANILMIRTH_H: 6012
+ MER_LIF_H2: 6013
+ MER_AMISTR_H2: 6014
+ MER_FILIR_H2: 6015
+ MER_VANILMIRTH_H2: 6016
+ MER_ARCHER01: 6017
+ MER_ARCHER02: 6018
+ MER_ARCHER03: 6019
+ MER_ARCHER04: 6020
+ MER_ARCHER05: 6021
+ MER_ARCHER06: 6022
+ MER_ARCHER07: 6023
+ MER_ARCHER08: 6024
+ MER_ARCHER09: 6025
+ MER_ARCHER10: 6026
+ MER_LANCER01: 6027
+ MER_LANCER02: 6028
+ MER_LANCER03: 6029
+ MER_LANCER04: 6030
+ MER_LANCER05: 6031
+ MER_LANCER06: 6032
+ MER_LANCER07: 6033
+ MER_LANCER08: 6034
+ MER_LANCER09: 6035
+ MER_LANCER10: 6036
+ MER_SWORDMAN01: 6037
+ MER_SWORDMAN02: 6038
+ MER_SWORDMAN03: 6039
+ MER_SWORDMAN04: 6040
+ MER_SWORDMAN05: 6041
+ MER_SWORDMAN06: 6042
+ MER_SWORDMAN07: 6043
+ MER_SWORDMAN08: 6044
+ MER_SWORDMAN09: 6045
+ MER_SWORDMAN10: 6046
+
+ comment__: "checkquest"
+ HAVEQUEST: 0
+ PLAYTIME: 1
+ HUNTING: 2
+
+ comment__: "questinfo"
+ QTYPE_NONE: 0x270f
+ QTYPE_QUEST: 0x00
+ QTYPE_QUEST2: 0x01
+ QTYPE_JOB: 0x02
+ QTYPE_JOB2: 0x03
+ QTYPE_EVENT: 0x04
+ QTYPE_EVENT2: 0x05
+ QTYPE_WARG: 0x06
+ QTYPE_CLICKME: 0x06
+ QTYPE_DAILYQUEST: 0x07
+ QTYPE_WARG2: 0x08
+ QTYPE_EVENT3: 0x08
+ QTYPE_JOBQUEST: 0x09
+ QTYPE_JUMPING_PORING: 0xA
+
+ comment__: "Font weight"
+ FW_DONTCARE: 0
+ FW_THIN: 100
+ FW_EXTRALIGHT: 200
+ FW_LIGHT: 300
+ FW_NORMAL: 400
+ FW_MEDIUM: 500
+ FW_SEMIBOLD: 600
+ FW_BOLD: 700
+ FW_EXTRABOLD: 800
+ FW_HEAVY: 900
+
+ comment__: "old setlook (use LOOK_* constants instead)"
+ VAR_HEAD: {
+ Value: 1
+ Deprecated: true // Use LOOK_HAIR
+ }
+ VAR_WEAPON: {
+ Value: 2
+ Deprecated: true // Use LOOK_WEAPON
+ }
+ VAR_HEAD_TOP: {
+ Value: 3
+ Deprecated: true // Use LOOK_HEAD_TOP
+ }
+ VAR_HEAD_MID: {
+ Value: 4
+ Deprecated: true // Use LOOK_HEAD_MID
+ }
+ VAR_HEAD_BOTTOM: {
+ Value: 5
+ Deprecated: true // Use LOOK_HEAD_BOTTOM
+ }
+ VAR_HEADPALETTE: {
+ Value: 6
+ Deprecated: true // Use LOOK_HAIR_COLOR
+ }
+ VAR_BODYPALETTE: {
+ Value: 7
+ Deprecated: true // Use LOOK_CLOTHES_COLOR
+ }
+ VAR_SHIELD: {
+ Value: 8
+ Deprecated: true // Use LOOK_SHIELD
+ }
+ VAR_SHOES: {
+ Value: 9
+ Deprecated: true // Use LOOK_SHOES
+ }
+
+ comment__: "Directions"
+ DIR_NORTH: 0
+ DIR_NORTHWEST: 1
+ DIR_WEST: 2
+ DIR_SOUTHWEST: 3
+ DIR_SOUTH: 4
+ DIR_SOUTHEAST: 5
+ DIR_EAST: 6
+ DIR_NORTHEAST: 7
+
+ comment__: "Item types"
+ IT_HEALING: 0
+ IT_USABLE: 2
+ IT_ETC: 3
+ IT_WEAPON: 4
+ IT_ARMOR: 5
+ IT_CARD: 6
+ IT_PETEGG: 7
+ IT_PETARMOR: 8
+ IT_AMMO: 10
+ IT_DELAYCONSUME: 11
+ IT_CASH: 18
+
+ comment__: "queueopt"
+ QUEUEOPT_LOGOUT: 1
+ QUEUEOPT_DEATH: 2
+ QUEUEOPT_MAPCHANGE: 3
+
+ comment__: "Instance owner type"
+ IOT_NONE: 0
+ IOT_CHAR: 1
+ IOT_PARTY: 2
+ IOT_GUILD: 3
+
+ comment__: "strcharinfo"
+ PC_NAME: 0
+ PC_PARTY: 1
+ PC_GUILD: 2
+ PC_MAP: 3
+ PC_CLAN: 4
+
+ comment__: "strnpcinfo"
+ NPC_NAME: 0
+ NPC_NAME_VISIBLE: 1
+ 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
+ CHAR_ID_CLAN: 5
+
+ comment__: "sc_start"
+ SCFLAG_NONE: 0x00
+ SCFLAG_NOAVOID: 0x01
+ SCFLAG_FIXEDTICK: 0x02
+ SCFLAG_LOADED: 0x04
+ SCFLAG_FIXEDRATE: 0x08
+ SCFLAG_NOICON: 0x10
+
+ comment__: "Mount types"
+ MOUNT_NONE: 0
+ MOUNT_PECO: 1
+ MOUNT_WUG: 2
+ MOUNT_MADO: 3
+ MOUNT_DRAGON: 4
+ MOUNT_DRAGON_GREEN: 4
+ MOUNT_DRAGON_BROWN: 5
+ MOUNT_DRAGON_GRAY: 6
+ MOUNT_DRAGON_BLUE: 7
+ MOUNT_DRAGON_RED: 8
+
+ comment__: "Gettime Types"
+ GETTIME_SECOND: 1
+ GETTIME_MINUTE: 2
+ GETTIME_HOUR: 3
+ GETTIME_WEEKDAY: 4
+ GETTIME_DAYOFMONTH: 5
+ GETTIME_MONTH: 6
+ GETTIME_YEAR: 7
+ GETTIME_DAYOFYEAR: 8
+
+ comment__: "gettimer"
+ TIMER_COUNT: 0
+ TIMER_TICK_NEXT: 1
+ TIMER_TICK_LAST: 2
+
+ comment__: "unit types"
+ UNITTYPE_PC: 0
+ UNITTYPE_NPC: 1
+ UNITTYPE_PET: 2
+ UNITTYPE_MOB: 3
+ UNITTYPE_HOM: 4
+ UNITTYPE_MER: 5
+ UNITTYPE_ELEM: 6
+
+ comment__: "Unit AI Types"
+ AI_NONE: 0 //0: Normal mob.
+ AI_ATTACK: 1 //1: Standard summon, attacks mobs.
+ AI_SPHERE: 2 //2: Alchemist Marine Sphere
+ AI_FLORA: 3 //3: Alchemist Summon Flora
+ AI_ZANZOU: 4 //4: Summon Zanzou
+
+ comment__: "Colors"
+ C_AQUA: 0x00FFFF
+ C_BLACK: 0x000000
+ C_BLUE: 0x0000FF
+ C_GRAY: 0x808080
+ C_GREEN: 0x008000
+ C_LIME: 0x00FF00
+ C_MAROON: 0x800000
+ C_NAVY: 0x000080
+ C_OLIVE: 0x808000
+ C_ORANGE: 0xFFA500
+ C_PURPLE: 0x800080
+ C_RED: 0xFF0000
+ C_SILVER: 0xC0C0C0
+ C_SPRINGGREEN: 0x00FF99
+ C_TEAL: 0x008080
+ C_WHITE: 0xFFFFFF
+ C_YELLOW: 0xFFFF00
+ C_PINK: 0xFFC0CB
+ C_CHOCOLATE: 0xD2691E
+ C_GOLD: 0xFFD700
+ C_VIOLET: 0xEE82EE
+
+ comment__: "Genders"
+ SEX_FEMALE: 0
+ SEX_MALE: 1
+ SEX_ANY: 2
+
+ comment__: "inventory expansion"
+ INVENTORY_INCREASE_STEP: 10
+
+ // for disable warning
+ //ITMCHAIN_ORE: 1
+
+/* ==================================================== */
+ /** evol constants **/
+
+ comment__: "API codes"
+ API_DISCORD: 301
+ API_PINCODE: 302
+ API_SENDMAIL: 501
+ API_FLUSHVAULT: 607
+
+ comment__: "outdated constants. must be removed"
+ // >>>
+ equip_head: 1
+ equip_shield: 2
+ equip_hand2: 3
+ equip_hand1: 4
+ equip_gloves: 5
+ equip_shoes: 6
+ equip_misc1: 7
+ equip_misc2: 8
+ equip_torso: 9
+ equip_legs: 10
+ // <<<
+
+ comment__: "guild permissions"
+ GPERM_INVITE: 1
+ GPERM_EXPEL: 16
+ GPERM_ALL: 17
+
+ comment__: "guild positions"
+ GPOS_GUILDMASTER: 0
+ GPOS_VICELEADER: 1 // pos2
+ GPOS_RECRUITER: 2 // pos3
+ GPOS_TREASURER: 3 // pos4
+ GPOS_MEMBER: 4 // pos5
+ GPOS_6: 5 // pos6
+ GPOS_NEWBIE: 19
+
+ comment__: "guild exchange"
+ GEX_fruit1: 1
+ GEX_fruit2: 2
+ GEX_fruit3: 4
+ GEX_fruit4: 8
+ GEX_fruit5: 16
+
+ GEX_merc1: 32
+ GEX_merc2: 64
+ GEX_merc3: 128
+ GEX_merc4: 256
+ GEX_merc5: 512
+
+ GEX_blue1: 1024
+ GEX_blue2: 2048
+ GEX_blue3: 4096
+ GEX_blue4: 8192
+ GEX_blue5: 16384
+
+ GEX_arcmage1: 32768
+ GEX_arcmage2: 65536
+ GEX_arcmage3: 131072
+ GEX_arcmage4: 262144
+ GEX_arcmage5: 524288
+
+ GEX_elixir1: 1048576
+ GEX_elixir2: 2097152
+ GEX_elixir3: 4194304
+ GEX_elixir4: 8388608
+ GEX_elixir5: 16777216
+
+ GEX_scholar1: 33554432
+ GEX_scholar2: 67108864
+ GEX_scholar3: 134217728
+ GEX_scholar4: 268435456
+ GEX_scholar5: 536870912
+
+ // TOTAL 1073741824 : The last valid slot
+ GEX_fruitMAX: -1
+ GEX_mercMAX: -2
+ GEX_blueMAX: -3
+ GEX_arcmageMAX: -4
+ GEX_elixirMAX: -5
+ GEX_scholarMAX: -6
+
+ comment__: "genders"
+ G_FEMALE: 0
+ G_MALE: 1
+ G_OTHER: 3
+
+ comment__: "races"
+ Human: 0
+ MedHu: 1
+ DarkHu: 2
+ Elven: 3
+ Orc: 4
+ Raijin: 5
+ Tritan: 6
+ Ukar: 7
+ Redy: 8
+ Savior: 9
+
+ comment__: "directions"
+ DOWN: 0
+ DOWNLEFT: 1
+ LEFT: 2
+ UPLEFT: 3
+ UP: 4
+ UPRIGHT: 5
+ RIGHT: 6
+ DOWNRIGHT: 7
+
+ comment__: "seasons"
+ WINTER: 0
+ SPRING: 1
+ SUMMER: 2
+ AUTUMN: 3
+
+ comment__: "magic subclass"
+ CL_PALADIN: 1
+ CL_TANKER: 2
+ CL_BERSERKER: 4
+ CL_RANGER: 8
+ CL_SNIPER: 16
+ CL_WIZARD: 32
+ CL_SAGE: 64
+ CL_PRIEST: 128
+
+ comment__: "Heroes Hold Floors"
+ HH_NOVICE: 1
+ HH_INTERMEDIARY: 2
+ HH_ADVANCED: 4
+ HH_EXPERT: 8
+ HH_MASTER: 16
+ HH_ULTIMATE: 32
+ HH_SUPREME: 64
+ HH_SAULC: 128
+ HH_MOUBOO: 256
+ HH_MOUBOOTAUR: 512
+ // Composed Variable for optimization
+ HH_REQUISITE: 15
+
+ comment__: "difficulty levels"
+ EASY: 0
+ MEDIUM: 1
+ HARD: 2
+
+ comment__: "map masks"
+ MASK_NONE: 1
+ MASK_MATTACK: 2
+ MASK_EVILSANCTUM: 4
+ MASK_NIGHT: 8
+ MASK_RAIN: 16
+ MASK_SANDSTORM: 32
+ MASK_SNOW: 64
+ MASK_CHRISTMAS: 128
+ MASK_AUTUMN: 256
+ MASK_UNUSED: 512
+ MASK_SPECIAL: 1024
+
+ comment__: "Real Estate Collisions"
+ RES_UTILITIES: 1
+ RES_LUXURY: 3
+ RES_DECORATION: 2
+ RES_SITTABLE: 4
+ RES_OBJECTS: 5
+ RES_WALLDECORATION: 6
+
+ comment__: "speechflags"
+ S_FIRST_BLANK_LINE: 1
+ S_LAST_BLANK_LINE: 2
+ S_LAST_NEXT: 4
+ S_NO_NPC_NAME: 8
+
+ comment__: "npcs"
+ NPC_KNIVES: 100
+ NPC_REDY_MAN: 101
+ NPC_HAT_BOX: 102
+ NPC_RAIJIN_MAN: 103
+ NPC_ORC_MAN: 104
+ NPC_REDY_MAN_SITTING: 105
+ NPC_ELVEN_MAN_BLONDE: 106
+ NPC_ELVEN_MAN_RED: 107
+ NPC_ELVEN_MAN_TRADER: 108
+ NPC_SHOP_BAG: 109
+ NPC_ELVEN_MAN_STANDING: 110
+ NPC_TRITAN_MAN_SAILOR: 111
+ NPC_ELVEN_MAN_TRADER_SITTING: 112
+ NPC_TRITAN_MAN_SAILOR2: 113
+ NPC_REDY_MAN_SITTING_BOOTS: 114
+ NPC_REDY_MAN_SITTING_UNDER_TREE: 115
+ NPC_PAPER_NOTE: 116
+ NPC_ELVEN_FEMALE_ARMOR_SHOP: 117
+ NPC_ELVEN_MAN_MOUBOO_SHOP: 118
+ NPC_HUMAN_FEMALE_NOOB: 119
+ NPC_REDY_MALE_SWORD: 120
+ NPC_ELVEN_FEMALE_READING: 121
+ NPC_HUMAN_MALE_OLD: 122
+ NPC_RAIJIN_GIRL: 123
+ NPC_HUMAN_MALE_CHIEF: 124
+ NPC_SALEM: 125
+ NPC_LLOYD: 126
+ NPC_IVAN: 127
+ NPC_ALIGE_OUTSIDE_BARREL: 128
+ NPC_MERLIN: 129
+ NPC_Q_ANON: 130
+ NPC_SAMANTHA: 131
+ NPC_SERENA: 132
+ //NPC_NARRATOR: 133
+ NPC_FLOPPED_NOBLEMAN: 133
+ NPC_ARTAXE: 134
+ NPC_LUCAS: 135
+ NPC_CALYPSAN: 136
+ NPC_KAYLO: 137
+ NPC_LYDON: 138
+ // Reserved HIDDEN_WARP_NPC
+ NPC_QPID: 140
+ NPC_JANUS: 141
+ NPC_CHRISTOPHER: 142
+ NPC_ROBIN: 143
+ NPC_LEONARD: 144
+ NPC_OSCAR: 145
+ NPC_SHOP_BAG_TEST: 146
+ NPC_RED: 147
+ // TMW-BR
+ NPC_CHILD1: 148
+ NPC_CHILD2: 149
+ NPC_CHILD3: 150
+ NPC_CHILD4: 151
+ NPC_CHILD5: 152
+ NPC_CHILD6: 153
+ NPC_CHILD7: 154
+ NPC_CHILD8: 155
+ NPC_CHILD9: 156
+ NPC_CHILD0: 157
+ NPC_TRAP: 158
+ NPC_TRAP_ONLINE: 159
+ NPC_TRAP_TRIGGERED: 160
+ NPC_FANCY_CIRCLE: 161
+ NPC_FAKIR: 162
+ NPC_EASTER: 163
+ // Statues
+ NPC_STATUE_FAFA: 164
+ NPC_STATUE_BACCHUS: 165
+ NPC_STATUE_BANKER: 166
+ NPC_STATUE_ANDREI: 167
+ NPC_STATUE_EVILMAN: 168
+ NPC_STATUE_GUARD: 169
+ NPC_STATUE_WIZARD: 170
+ NPC_STATUE_CONTRIBUTOR: 171
+ NPC_STATUE_2018: 172
+ NPC_STATUE_2019: 173
+ NPC_STATUE_2020: 174
+ NPC_STATUE_2021: 175
+ NPC_STATUE_R176: 176
+ NPC_STATUE_R177: 177
+ NPC_STATUE_R178: 178
+ NPC_STATUE_EMPTY: 179
+
+ // Not animated NPCs
+ NPC_CONSTR_WORKER: 180
+ NPC_BOWMASTER: 181
+ NPC_LUMBERJACK: 182
+ NPC_KOGA: 183
+ NPC_MOUBOOHUNTER: 184
+ NPC_HALBERDBARBARIAN: 185
+ NPC_SCORPIONKINGLANCE: 186
+ NPC_LIGHTBRINGER: 187
+ NPC_TEDDYGIRL: 188
+ NPC_CROPS: 189
+ NPC_BLOSSOM: 190
+ NPC_THORN_NPC: 191 // NPC_THORNS is for Dungeon
+ NPC_GOLDPOT: 192
+ NPC_SAGRATHA: 193
+ NPC_BLUESAGEWORKER_MA: 194
+ NPC_BLUESAGEWORKER_FA: 195
+ NPC_BLUESAGEWORKER_MB: 196
+ NPC_BLUESAGEWORKER_FB: 197
+ NPC_BLUESAGE: 198
+ NPC_BLUESAGEWORKER_MC: 199
+
+ // LoF Non Animated NPCs
+ NPC_FORTIUN: 200
+ NPC_FUSUS: 201
+ NPC_AULDSBEL: 202
+ NPC_FEMALE_WORKER: 203
+ NPC_GEORGE: 205
+ NPC_SILVERSMITH: 207
+ NPC_TECH_EXPLORER: 208
+ NPC_CHEF: 210
+ NPC_GLASS_OLD_LADY: 211
+ NPC_PURPLE_WIZARD_F: 212
+ NPC_BARD_TRUMP: 213
+ NPC_INJURIED_MOUBOO: 215
+ NPC_KATZE: 216
+ NPC_LEGACY_GUARD_B: 217
+ NPC_LEGACY_GUARD_C: 218
+ NPC_SITTED_NINJA: 219
+ NPC_SCAMMER: 220
+ NPC_CRUSADER: 221
+ NPC_LEGACY_GUARD_A: 222
+ NPC_LOF_RICH: 223
+ NPC_BARD_DRUMS: 227
+ NPC_LOF_DOCTOR: 228
+ NPC_SWORDS_SIGN: 229
+ NPC_SWORDS_SIGN2: 230
+ NPC_TOMBOY: 231
+ NPC_LOF_BARKEEPER: 232
+ NPC_LOF_TRAVMERC: 233
+ NPC_LOF_STRANGER: 234
+ NPC_LOF_NOBLEMAN: 235
+ NPC_SHEILA: 236
+ NPC_DIMOND: 240
+ NPC_BARD_HARPS: 241
+ NPC_VAULT: 243
+ NPC_INDIGENOUS_YOUNG: 244
+ NPC_INDIGENOUS_OLD: 245
+ NPC_INDIGENOUS_CHIEF: 246
+ NPC_INDIGENOUS_WIFE: 247
+ NPC_INDIGENOUS_ANY: 248
+ NPC_LEGACY_GUARD_D: 249
+
+ NPC_CINDY_CAGE: 250
+ NPC_CINDY_UNCAGE: 251
+ NPC_CINDY: 252
+ NPC_ICE_CAGE: 253
+ NPC_INJURIED_GIRL: 254
+ NPC_BARBARA_CRY: 255
+ NPC_KING_ARTHUR: 256
+ NPC_PIOU_SPEARMAN: 257
+ NPC_PIOU_VIKING: 258
+ NPC_PIOU_SERVER: 259
+ NPC_PIOU_BANKER: 260
+ NPC_PIOU_CAPTAIN: 261
+ NPC_PIOU_BARBER: 262
+ NPC_PIOU_GUARD: 263
+ NPC_PIOU_COOK: 264
+ NPC_PIOU_NURSE: 265
+ NPC_PIOU_MAGE: 266
+ NPC_PIOU_QUEEN: 267
+ NPC_PIOU_KNIGHT_L: 268
+ NPC_PIOU_KNIGHT_R: 260
+ NPC_PIOU_ALCHEMIST: 270
+ NPC_DUCK_ELDER: 271
+ NPC_GUINEVERE: 272
+ NPC_MANATREE: 273
+ NPC_TRAP_B: 274
+ NPC_TRAP_ONLINE_B: 275
+ NPC_HENRY: 276
+ NPC_ELLI: 277
+ NPC_LEGACY_LIEUTENANT: 278
+ NPC_OMAR: 279
+ NPC_JOANA: 280
+ NPC_KADIYA: 281
+ NPC_SASHA: 282
+
+ // TMW-BR Non Animated NPCs
+ NPC_SHOPPAKEP: 301
+ NPC_OLDPIRATE: 304
+ NPC_BRGUARD_SWORD: 306
+ NPC_BRGUARD_SPEAR: 307
+ NPC_BRGUARD_BOW: 308
+ NPC_JOURNALMAN: 309
+ NPC_FISHERMAN_HALI: 311
+ NPC_DARK_SORCERER_F: 312
+ NPC_ANSELMO_BR: 315
+ NPC_FAIRY_A: 316
+ NPC_FAIRY_B: 317
+ NPC_FAIRY_C: 318
+ NPC_GNOME_A: 319
+ NPC_GNOME_B: 320
+ NPC_GNOME_C: 321
+ NPC_WEIRDGREEN: 322
+ NPC_MIRAJ: 323
+ NPC_BELLA: 324
+ NPC_RED_WIZARD_F: 325
+ NPC_CRYSTAL: 326
+ NPC_POOH: 327
+ NPC_ERNANDO: 328
+ NPC_ANDREI: 329
+ NPC_MOUBOOTAUR: 330
+ NPC_BLACKALCHEMIST: 331
+ NPC_BLACKWIZARD: 332
+ NPC_BLUESABER: 333
+ NPC_REDSABER: 334
+ NPC_DARKSABER: 335
+ NPC_DWARF_TRADER: 336
+ NPC_DWARF_CRAFTMASTER: 337
+ NPC_LILIT: 338
+
+ // Animated NPCs
+ NPC_CONFUSED_TREE: 400
+ NPC_ALIGE: 401
+ NPC_ORC_SAILOR: 402
+ NPC_RATTO_SAILOR: 403
+ NPC_JULIA: 404
+ NPC_SAILORS: 405
+ NPC_NARD: 406
+ NPC_MAGIC_ARPAN: 407
+ NPC_PIOU_ROCKET: 408
+ NPC_ELMO: 409
+ NPC_HAMMOC: 410
+ NPC_BILLY_BONS: 411
+ NPC_SILVIO: 412
+ NPC_GUGLI: 413
+ NPC_SAPARTAN: 414
+ NPC_TARLAN: 415
+ NPC_CHEST: 416
+ NPC_CHEST_BIG: 417
+ NPC_CHEF_GADO: 418
+ NPC_COOKIE_MASTER: 419
+ NPC_HARBOUR_WHEEL: 420
+ NPC_HARBOUR_WHEEL_BOX: 421
+ NPC_FLASK: 422
+ NPC_TERRY: 423
+ NPC_BEUSS: 424
+ NPC_ELMO_ARTIS: 425
+ NPC_QONAN: 426
+ NPC_ELVEN_FEMALE: 427
+ NPC_EUGENE: 428
+ NPC_NICHOLAS: 429
+ NPC_EDOUARD: 430
+ NPC_UKAR_MALE_LEGION_ARTIS: 431
+ NPC_REDY_MALE_LEGION_ARTIS: 432
+ NPC_RAIJIN_FEMALE_LEGION_ARTIS: 433
+ NPC_HUMAN_MALE_LEGION_ARTIS: 434
+ NPC_HUMAN_FEMALE_LEGION_ARTIS: 435
+ NPC_RAIJIN_FEMALE_WAITRESS: 436
+ NPC_MARKET_PIOU: 437
+ NPC_FLYING_PIOU: 440
+ NPC_WATER_SPLASH: 441
+ NPC_ALIGE_BARREL: 442
+ NPC_BACCHUS: 443
+ NPC_RUMLY: 444
+ NPC_RUMLY_FEMALE: 445
+ NPC_HUMAN_M_ARTIS: 446
+ NPC_BINKSAN: 447
+ NPC_DEVIS_ARTIS: 448
+ NPC_MOUBOO: 449
+ NPC_MONA: 450
+ NPC_GUARD1: 451
+ NPC_GUARD2: 452
+ NPC_SUMMONING_CIRC: 453
+ NPC_YETI_KING: 454
+ NPC_LOF_FURNACE: 455
+ NPC_PET_TAMER: 456
+ NPC_YETI: 457
+ NPC_KENTON: 458
+ NPC_GUARD_DEAD: 459
+ NPC_LEGACY_CHEST: 416
+ NPC_BEEKEEPER: 461
+ NPC_EURNI: 462
+
+ NPC_MONSTERKING: 500
+ NPC_AIRSHIP: 501
+ NPC_POLITICS: 502
+ NPC_GAMEMASTER: 503
+ NPC_GAMEMISTRESS: 504
+ NPC_WOUNDEDSOLDIER: 505
+ NPC_ACADEMY_HF: 506
+ NPC_DEMURE: 507
+ NPC_YETIFLY: 508
+
+ NPC_SOUL_NORMAL: 700
+ NPC_SOUL_DESERT: 701
+ NPC_SOUL_SNOW: 702
+ NPC_SOUL_CAVE: 703
+ NPC_SOUL_CLEAN: 704
+ NPC_SOUL_OLD: 705
+ NPC_SOUL_MOSS: 706
+ NPC_SOUL_CURSED: 707
+ NPC_MANA_STONE: 708
+
+ NPC_TEST1: 800
+ NPC_PLAYER: 801
+ NPC_FEMALE: 802
+ NPC_ELF: 803
+ NPC_ELF_F: 804
+ NPC_SAVIOR: 805
+ NPC_SAVIOR_F: 806
+ NPC_ORC: 820
+ NPC_ORC_F: 821
+ NPC_RAIJIN: 822
+ NPC_RAIJIN_F: 823
+ NPC_UKAR: 824
+ NPC_UKAR_F: 825
+ NPC_PLAYER_TONORI: 830
+ NPC_FEMALE_TONORI: 831
+ NPC_PLAYER_ARGAES: 832
+ NPC_FEMALE_ARGAES: 833
+
+ NPC_M_SHOPKEEPER: 811
+ NPC_F_SHOPKEEPER: 812
+
+ NPC_M_COINKEEPER: 813
+ NPC_F_COINKEEPER: 814
+
+ NPC_SAVE_POINT: 901
+ NPC_LEFT_HAMMOCK: 904
+ NPC_RIGHT_HAMMOCK: 905
+ NPC_ARTIS_DOOR: 906
+ NPC_ARTIS_IN_DOOR: 907
+ NPC_ARTIS_DOOR_WOOD: 908
+ NPC_TREE_LEAF: 909
+ NPC_FINAL_POINT: 910
+ NPC_KATJA_TREE: 911
+ NPC_DAN_NOTE: 912
+ NPC_SLOTMACHINE: 913
+ NPC_SWITCH_OFFLINE: 914
+ NPC_SWITCH_ONLINE: 915
+ NPC_ROLLINGSTONE: 916
+
+ // Avatars (1000+)
+ AVATAR_CARDA: 1000
+ AVATAR_CARD2: 1001
+ AVATAR_CARD3: 1002
+ AVATAR_CARD4: 1003
+ AVATAR_CARD5: 1004
+ AVATAR_CARD6: 1005
+ AVATAR_CARD7: 1006
+ AVATAR_CARD8: 1007
+ AVATAR_CARD9: 1008
+ AVATAR_CARD10: 1009
+ AVATAR_CARDJ: 1010
+ AVATAR_CARDQ: 1011
+ AVATAR_CARDK: 1012
+ AVATAR_CARD_JOKER: 1013
+ AVATAR_CARD_COVER: 1015
+
+ AVATAR_SEQBOARD: 1200
+ AVATAR_SEQBOARD_FAIL: 1205
+ AVATAR_SEQBOARD_WELL: 1206
+
+ comment__: "special npcs"
+ NPC_EMPTY: -1
+ NPC_WARP: 45
+ NPC_WARP_HIDDEN: 139
+ NPC_UNUSED__MOBTOMB: 565
+ NPC_WARP_DEBUG: 722
+ NPC_UNUSED__FLAG: 722
+ NPC_OFFSET_NO_SPRITE: 998
+ NPC_NO_SPRITE: 999
+ NPC_HIDDEN: 32767
+
+ comment__: "Walk masks"
+ WALK_DEFAULT: 0
+ WALK_WALL: 1
+ WALK_WATER: 2
+ WALK_AIR: 4
+
+ comment__: "Cell masks"
+ CELLS_WALKABLE : 0
+ CELLS_WALL : 1
+ CELLS_AIR : 2
+ CELLS_WATER : 3
+ CELLS_NOPLAYER : 5
+ CELLS_NOMONSTER : 6
+
+ comment__: "INN enum"
+ NO_INN: 0
+ CURRENT_INN: 2
+
+ comment__: "CRAFT enum"
+ CRAFT_COOKING: 4
+ CRAFT_ALCHEMY: 8
+ CRAFT_EQUIPMENT: 16
+
+ comment__: "CRAFT Scope enum"
+ CRAFT_NPC: 4
+ CRAFT_PLAYER: 8
+ CRAFT_GUILD: 16
+
+ comment__: "CRAFT Rarity enum"
+ CRAFT_BASIC: 1
+ CRAFT_INTERMEDIARY: 2
+ CRAFT_ADVANCED: 4
+ CRAFT_EXPERT: 8
+ CRAFT_MASTER: 16
+
+ comment__: "CRAFT Bonus Correction enum"
+ CSYS_ARMOR: 1
+ CSYS_ZWEIHANDER: 2
+ CSYS_BRAWLING: 4
+ CSYS_RANGED: 8
+ CSYS_MAGICAL: 16
+ CSYS_SPECIAL: 32
+ CSYS_OTHER: 64
+ CSYS_SAVIOR: 128
+ CSYS_SHIELD: 256
+ CSYS_LEGENDARY: 512
+
+ comment__: "Easter eggs enum"
+ EE_NONE: 0
+ EE_SAXSO: 1
+ EE_DEMURE: 2
+ EE_PRSM: 4
+ EE_MAGICSCHOOL: 8
+ EE_THEATER: 16
+ EE_JAK1: 32
+ EE_MANATAURO: 64
+ EE_SEWERS: 128
+ EE_AETHYR: 256
+ EE_SNOWMAN: 512
+ EE_CRAZYFEFE: 1024
+ EE_SAULC: 2048
+ EE_GEMINI: 4096
+
+ comment__: "Teleporter enum"
+ TP_NONE: 0
+ TP_FROST: 1
+ TP_HALIN: 2
+ TP_TULIM: 4
+ TP_HURNS: 8
+ TP_NIVAL: 16
+ TP_LOF: 32
+ TP_FORT: 64
+ TP_BOSSR: 128
+ TP_LILIT: 256
+ TP_CANDOR: 512
+ TP_ARTIS: 1024
+
+ comment__: "Grand Collector Quest enum"
+ COLLECT_CHESTPLATE: 1
+ COLLECT_HEADGEAR: 2
+ COLLECT_PANTS: 4
+ COLLECT_SHOES: 8
+ COLLECT_NECKLACES: 16
+ COLLECT_RINGS: 32
+ COLLECT_ACESSORIES: 64
+ COLLECT_SCARFS: 128
+ COLLECT_GLOVES: 256
+ COLLECT_SHIELDS: 512
+ COLLECT_1HSWORDS: 1024
+ COLLECT_2HSWORDS: 2048
+ COLLECT_BOWS: 4096
+ COLLECT_FIREGUNS: 8192
+ COLLECT_WANDS: 16384
+ COLLECT_QUIVERS: 32768
+ COLLECT_MOUNTS: 65536
+ COLLECT_PETS: 131072
+ COLLECT_ALL: 262144
+ // Maximum 32 collectibles, currently used: 19
+
+ comment__: "Monster King Events"
+ MK_NONE: 0
+ MK_LOCKED: 1
+ MK_SIEGE_TULIM: 2
+ MK_SIEGE_HURNS: 3
+ MK_SIEGE_NIVAL: 4
+ MK_SIEGE_HALIN: 5
+
+ // Special
+ MK_SIEGE_DURATION: 790
+ MK_IDLE_DURATION: 30
+ MK_IDLE_VARIATION: 5
+ MK_SIEGE_TOTALPOWER: 1000
+ MK_FIRESOFSTEAM_START: 6
+
+ comment__: "Fortress Island Reqs"
+ MKIF_LV_0F: 3
+ MKIF_LV_B0F: 5
+ MKIF_LV_B1F: 7
+ MKIF_LV_B2F: 10
+
+ comment__: "Report Bug Flags"
+ RB_NONE: 0
+ RB_DISPBOTTOM: 1
+ RB_DEBUGMES: 2
+ RB_SPEECH: 4
+ RB_ISFATAL: 8
+ RB_PLEASEREPORT: 16
+ RB_IRCBROADCAST: 32
+ RB_GLOBALANNOUNCE: 64
+ RB_DEFAULT: 19 // dispbottom + debugmes + pleasereport
+
+ comment__: "Blue Sage Constants"
+ // Q - Quest / Investigation Quest
+ BS_QVISITOR: 1
+ BS_QHELPER: 2
+ // PM - Page Maker
+ BS_PMINK: 1
+ BS_PMBINDING: 2
+ BS_PMPAGE: 4
+ BS_PMGLUE: 8
+ BS_PMALL: 15
+ // N - Npc
+ BS_NPC01: 1
+ BS_NPC02: 2
+ BS_NPC03: 4
+ BS_NPC04: 8
+ BS_NPC05: 16
+ BS_NPC06: 32
+ BS_NPC07: 64
+ BS_NPCALL: 127
+ // S - Slime Nest
+ BS_SNEST1: 1
+ BS_SNEST2: 2
+ BS_SNEST3: 4
+ BS_SNEST4: 8
+ BS_SNEST5: 16
+ BS_SNEST6: 32
+ BS_SNEST7: 64
+ BS_SNEST8: 128
+ BS_SNEST9: 256
+ BS_SNESTALL: 511
+
+ comment__: "Homunculus deployment constants"
+ HCD_PIOUFIELDS: 1
+ HCD_HERBFIELDS: 2
+ HCD_OREMINES: 3
+ HCD_RAREMINES: 4
+ HCD_SLIMENEST: 5
+ HCD_SNAKEPIT: 6
+ HCD_DANGERAREA: 7
+ HCD_MKBASEMENT: 8
+ HCD_MARKET: 10
+
+ comment__: "Mirror Lake Server Identifiers"
+ WORLD_ID: 1
+ MLP_TMW: 3
+
+ comment__: "Mirror Lake Quest Constants"
+ MLP_TMW_CELESTIA: 1
+ MLP_TMW_YETIKING: 2
+ //MLP_................ 4
+
+ comment__: "Mirror Lake Local Quest Constants"
+ MLP_ML_NARD: 1
+ MLP_ML_JAK1: 2
+ //MLP_................ 4
+
+ comment__: "Being actions"
+ ACTION_STAND: 0
+ ACTION_MOVE: 1
+ ACTION_ATTACK: 2
+ ACTION_CAST: 3
+ ACTION_SIT: 4
+ ACTION_DEAD: 5
+ ACTION_HURT: 6
+ ACTION_SPAWN: 7
+
+ comment__: "Misc constants"
+ ASK_YES: 1
+ ASK_NO: 2
+ ASK_EXIT: 255
+ MODE_SOLO: 1
+ MODE_PARTY: 2
+
+ comment__: "craft skill groups IDs"
+ // Base tier
+ CRGROUP_BASE: 1
+ // First tier
+ CRGROUP_ATK: 2
+ CRGROUP_DEF: 4
+ CRGROUP_ACC: 8
+ CRGROUP_EVD: 16
+ // Second tier
+ CRGROUP_REGEN: 32
+ CRGROUP_SPEED: 64
+ CRGROUP_DOUBLE: 128
+ CRGROUP_MAXPC: 256
+ // Third tier
+ CRGROUP_SCRESIST: 512
+ CRGROUP_SCINFLICT: 1024
+ CRGROUP_MANAUSE: 2048
+ CRGROUP_BOSSATK: 4096
+ // Final tier
+ CRGROUP_FINAL: 8192
+
+ comment__: "Effects"
+ FX_BLVLUP: 0
+ FX_JLVLUP: 1
+ FX_WARPPOINT: 5
+ FX_HEALINGPART: 7
+ FX_POISON: 8
+ FX_AFK: 10
+ FX_CRITICAL: 11
+ FX_QUEST: 12
+ FX_HIT: 16
+ FX_MAGIC: 23
+ FX_SUCCESS: 27
+ FX_FAILURE: 28
+ FX_CUPID: 34
+ FX_HELLBLAZE: 36
+ FX_SMOKE: 50
+ FX_GRENADE: 51
+ FX_SMOKEBOMB: 52
+ FX_TORCH: 53
+ FX_GOLDSTAR: 54
+ FX_MGSHIELD: 60
+ FX_MGWARP: 64
+ FX_CIRCLE: 310
+ FX_FANFARE: 311
+ FX_LIGHTNING: 312
+
+ // Magic particles
+ FX_SPECIAL: 700
+ FX_BUFF: 701
+ FX_ATTACK: 702
+ FX_HEALING: 703
+
+ comment__: "Emotes"
+ // TMW2 Emotes
+ E_DISGUST: 1
+ E_SURPRISE: 2
+ E_HAPPY: 3
+ E_SAD: 4
+ E_EVIL: 5
+ E_WINK: 6
+ E_ANGEL: 7
+ E_BLUSH: 8
+ E_TONGUE: 9
+ E_GRIN: 10
+ E_UPSET: 11
+ E_PERTURBED: 12
+ E_SPEECH: 13
+ E_BLAH: 14
+ E_QUEST: 15
+ E_THUMBUP: 16
+ E_DOUBT: 17
+ // Mana Plus Emotes
+ E_KITTY: 101
+ E_XD: 102
+ E_JOY: 103
+ E_HEARTEYE: 104
+ E_GOLD: 105
+ E_SLEEPY: 106
+ E_ANNOY: 107
+ E_JADED: 108
+ E_SWEATFACE: 108
+ E_SURPRISED: 109
+ E_DEAD: 110
+ E_LOOKAWAY: 111
+ E_TIRED: 112
+ E_PALMHEAD: 113
+ E_FACEPALM: 113
+ E_EVILCROC: 114
+ E_FURIOUS: 114
+ E_ANGRY: 115
+ E_PURPLESAD: 116
+ E_INSULTBUBBLE: 117
+ E_HEART: 118
+ E_EMOTE: 119
+ E_PUMPKIN: 120
+ E_EVILFACELESS: 121
+ E_EPIC: 122
+ E_BADGEEK: 123
+ E_MIMI: 124
+ E_ALIEN: 125
+ E_TROLL: 126
+ E_METAL: 127
+ E_CRYING: 128
+
+ comment__: "Language function constants"
+ LANG_ON_SEA: 1
+ LANG_IN_SHIP: 2
+
+ // Language specs
+ LANG_ENUS: 0
+ LANG_PTBR: 1
+ LANG_FR: 2
+ LANG_DE: 3
+ LANG_ES: 4
+ MAX_LANG: 4
+
+ comment__: "Configuration constants"
+ MAX_CYCLE_PC: 40
+ CHEST_WAITTIME: 900 // 15 minutes
+ PVP_WAITTIME: 1800 // 30 minutes
+ PCBLOCK_HARD: 255 // Move+Attack+Skill+Item+Chat+Immune+SitStand+Commands
+ PCBLOCK_SOFT: 47 // Move+Attack+Skill+Item+Immune
+ CRAFT_MAXLV: 200
+ BCONFN_SPAWN: 70
+ BCONFD_SPAWN: 100
+ BCONFN_MOBHP: 95 // TODO: Maybe we don't want this constant? (ie. variable)
+ BCONFD_MOBHP: 85
+ BCONFB_EXPR: 100
+ BCONFN_EXPR: 5
+ BCONFD_EXPR: 0
+ BCONFB_DROP: 100
+ BCONFN_DROP: 7
+ BCONFD_DROP: 0
+ SHOPWAIT: 1750 // Time to wait for price initialization
+ INT_MAX: 2147483647
+
+ comment__: "Maze Domain constants"
+ MAZE_SIZE_S: 1
+ MAZE_SIZE_M: 2
+ MAZE_SIZE_G: 4
+ MAZE_SIZE_X: 8
+ MAZE_SIZE_A: 16
+
+ comment__: "Aurora Event constants"
+ FY_MISC: 0
+ FY_BP: 1
+ FY_WARP: 2
+ FY_POT: 3
+ FY_HEAL: 4
+ FY_ORE: 5
+ FY_MAGIC: 6
+ FY_GIFT: 7
+
+ comment__: "Magic v3 constants"
+ CLASS_OTHER: 0
+ CLASS_SUMMON: 1
+ CLASS_PHYSICAL: 2
+ CLASS_DESTRUCTION: 3
+ CLASS_TRICKS: 4
+ CLASS_SCHOLARSHIP: 5
+ CLASS_THIEVES: 6
+
+ ACADEMIC_LAYMAN: 0
+ ACADEMIC_STUDENT: 1
+ ACADEMIC_TECHNIC: 2
+ ACADEMIC_BACHELOR: 3
+ ACADEMIC_MASTER: 4
+ ACADEMIC_DOCTOR: 5
+ ACADEMIC_PHD: 6
+ ACADEMIC_SAGE: 7
+ ACADEMIC_GM: 8
+
+ comment__: "OnPCBonusEvent constants"
+ PCB_ATKBONUS: 1
+ PCB_MATKBONUS: 2
+ PCB_DEFBONUS: 4
+ PCB_MDEFBONUS: 8
+ PCB_EVDBONUS: 16
+ PCB_HITBONUS: 32
+ PCB_CRITBONUS: 64
+ PCB_DOUBLEATK: 128
+ PCB_ALLSTATS: 256
+ PCB_HPBONUS: 512
+ PCB_MPBONUS: 1024
+ PCB_ASPDBONUS: 2048
+ PCB_WSPDBONUS: 4096
+ PCB_WEIGHTBONUS: 8192
+ PCB_EXPBONUS: 16384
+ PCB_NOKNOCKBACK: 32768
+ PCB_SPLASHMASTER: 65536
+ PCB_RANGEMASTER: 131072
+ PCB_LEGENDARY: 262144
+ //PCB_MONEYDROP:
+
+ @include "db/si_config.conf"
+ @include "conf/import/constants.conf"
+}
diff --git a/db/craft_db.conf b/db/craft_db.conf
new file mode 100644
index 0000000..2f531cc
--- /dev/null
+++ b/db/craft_db.conf
@@ -0,0 +1,4321 @@
+craft_db: (
+// craft Database
+/******************************************************************************
+ ************* Entry structure ************************************************
+ ******************************************************************************
+{
+ Id: craft id [int]
+ Name: craft name [string]
+ Priority: craft priority [int]
+ Price: craft price [int]
+ Lv: base level [int]
+ Flag: flag from craft object [string/int]
+ ReturnCode: return code for scripts [int]
+
+ SourceItems: ({ craft inventory source (will be deleted after crafting)
+ Name: amount [int]
+ ...
+ },
+ ...
+ )
+ CreateItems: ( // items what will be creted in crafting
+ {
+ Name: amount
+ ...
+ },
+ {
+ Name:
+ {
+ Amount: amount
+ Cards: ["card0", ...]
+ },
+ },
+ ...
+ )
+ DeleteItems: { additional items what will be deleted from inventory
+ Name: amount [int]
+ ...
+ }
+ RequiredItems: { required additional items. will be unchanged
+ Name: amount [int]
+ ...
+ }
+ RequiredSkills: { required skills and levels
+ Name: level [int]
+ ...
+ }
+ RequiredQuests: {
+ Name: level [int]
+ ...
+ }
+ RequiredEquips: {
+ Name: true
+ }
+},
+******************************************************************************/
+
+// ID 0 reserved as failsafe - even if it is valid
+
+// Alchemy System (ID 1~50, Flag 8)
+//////////////////////////////////////////////////////////////////////////////
+{
+ Id: 1
+ Name: "CraftCoffee"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ BottleOfTonoriWater: 1
+ ShadowHerb: 40
+ },
+ )
+ CreateItems:
+ (
+ {
+ Coffee: 5
+ },
+ {
+ Coffee: 5
+ },
+ {
+ Coffee: 6
+ },
+ {
+ Coffee: 4
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 2
+ Name: "CraftAtroposMixture"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ LachesisBrew: 1
+ ClothoLiquor: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ AtroposMixture: 1
+ },
+ {
+ AtroposMixture: 1
+ },
+ {
+ AtroposMixture: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 3
+ Name: "CraftDeathPotion"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Dragonfruit: 5
+ HerbalTea: 2
+ },
+ )
+ CreateItems:
+ (
+ {
+ DeathPotion: 1
+ },
+ {
+ DeathPotion: 1
+ },
+ {
+ DeathPotion: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 4
+ Name: "CraftIcedBottle"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ IceCube: 1
+ BottleOfWoodlandWater: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ IcedBottle: 1
+ },
+ {
+ IcedBottle: 1
+ },
+ {
+ IcedBottle: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 5
+ Name: "CraftPurificationPotion"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ NymphPoison: 1
+ SacredLifePotion: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ PurificationPotion: 5
+ },
+ {
+ PurificationPotion: 7
+ },
+ {
+ PurificationPotion: 5
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 6
+ Name: "CraftBrokenWarpCrystal"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Wurtzite: 5
+ BlackMambaSkin: 10
+ },
+ )
+ CreateItems:
+ (
+ {
+ BrokenWarpCrystal: 1
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 7
+ Name: "CraftHomunResetPotion"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Curshroom: 10
+ Manapple: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ HomunResetPotion: 1
+ },
+ {
+ HomunResetPotion: 1
+ },
+ {
+ HomunResetPotion: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 8
+ Name: "CraftMagicApple"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Manapple: 1
+ DivineApple: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ MagicApple: 1
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 9
+ Name: "CraftInsuranceContract"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Quill: 1
+ ReedBundle: 5
+ },
+ )
+ CreateItems:
+ (
+ {
+ InsuranceContract: 2
+ },
+ {
+ InsuranceContract: 2
+ },
+ {
+ InsuranceContract: 3
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 10
+ Name: "CraftInsurance"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Quill: 1
+ DeathPotion: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ Insurance: 2
+ },
+ {
+ Insurance: 2
+ },
+ {
+ Insurance: 3
+ },
+ {
+ Insurance: 4
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 11
+ Name: "CraftSmokeGrenade"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ CactusPotion: 3
+ Coal: 2
+ },
+ )
+ CreateItems:
+ (
+ {
+ SmokeGrenade: 3
+ },
+ {
+ SmokeGrenade: 3
+ },
+ {
+ SmokeGrenade: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 12
+ Name: "CraftScentGrenade"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ CactusPotion: 3
+ Moss: 9
+ },
+ )
+ CreateItems:
+ (
+ {
+ ScentGrenade: 3
+ },
+ {
+ ScentGrenade: 3
+ },
+ {
+ ScentGrenade: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 13
+ Name: "CraftGrenade"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ CactusPotion: 3
+ SulfurPowder: 7
+ },
+ )
+ CreateItems:
+ (
+ {
+ Grenade: 3
+ },
+ {
+ Grenade: 3
+ },
+ {
+ Grenade: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 14
+ Name: "CraftScrollSMaggot"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Quill: 1
+ BugLeg: 2
+ },
+ )
+ CreateItems:
+ (
+ {
+ ScrollSMaggot: 1
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 15
+ Name: "CraftScrollSCave"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Quill: 1
+ MaggotSlime: 2
+ },
+ )
+ CreateItems:
+ (
+ {
+ ScrollSCave: 1
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 16
+ Name: "CraftScrollSDragon"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Quill: 1
+ DragonScales: 4
+ },
+ )
+ CreateItems:
+ (
+ {
+ ScrollSDragon: 1
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 17
+ Name: "CraftScrollSWolvern"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Quill: 1
+ WolvernPelt: 2
+ },
+ )
+ CreateItems:
+ (
+ {
+ ScrollSWolvern: 1
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 18
+ Name: "CraftScrollSYeti"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Quill: 1
+ FrozenYetiTear: 2
+ },
+ )
+ CreateItems:
+ (
+ {
+ ScrollSYeti: 1
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 19
+ Name: "CraftScrollSTerranite"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Quill: 1
+ TerraniteOre: 2
+ },
+ )
+ CreateItems:
+ (
+ {
+ ScrollSTerranite: 1
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 20
+ Name: "CraftScrollMagnusHealA"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Quill: 1
+ Lifestone: 2
+ },
+ )
+ CreateItems:
+ (
+ {
+ ScrollMagnusHealA: 1
+ },
+ {
+ ScrollMagnusHealA: 1
+ },
+ {
+ ScrollMagnusHealA: 1
+ },
+ {
+ ScrollMagnusHealA: 1
+ },
+ {
+ ScrollMagnusHealB: 1
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 21
+ Name: "CraftHastePotion"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Plushroom: 15
+ },
+ )
+ CreateItems:
+ (
+ {
+ HastePotion: 3
+ },
+ {
+ HastePotion: 3
+ },
+ {
+ HastePotion: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 22
+ Name: "CraftStrengthPotion"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Chagashroom: 15
+ },
+ )
+ CreateItems:
+ (
+ {
+ StrengthPotion: 3
+ },
+ {
+ StrengthPotion: 3
+ },
+ {
+ StrengthPotion: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 23
+ Name: "CraftResetPotion"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ ManaPiouFeathers: 90
+ Curshroom: 10
+ },
+ )
+ CreateItems:
+ (
+ {
+ StatusResetPotion: 3
+ },
+ {
+ StatusResetPotion: 2
+ },
+ {
+ StatusResetPotion: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 24
+ Name: "CraftSpeedPotion"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ GemPowder: 1
+ FluoPowder: 5
+ },
+ )
+ CreateItems:
+ (
+ {
+ MoveSpeedPotion: 6
+ },
+ {
+ MoveSpeedPotion: 4
+ },
+ {
+ MoveSpeedPotion: 3
+ },
+ {
+ MoveSpeedPotion: 5
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 25
+ Name: "CraftPrecisionPotion"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Piberries: 3
+ MountainSnakeEgg: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ PrecisionPotion: 2
+ },
+ {
+ PrecisionPotion: 2
+ },
+ {
+ PrecisionPotion: 1
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 26
+ Name: "CraftDodgePotion"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Piberries: 3
+ SnakeEgg: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ DodgePotion: 2
+ },
+ {
+ DodgePotion: 1
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 27
+ Name: "CraftLukPotionA"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ EmeraldPowder: 1
+ HerbalTea: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ LukPotionA: 2
+ },
+ {
+ LukPotionA: 3
+ },
+ {
+ LukPotionA: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 28
+ Name: "CraftLukPotionB"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Emerald: 1
+ HerbalTea: 2
+ },
+ )
+ CreateItems:
+ (
+ {
+ LukPotionB: 3
+ },
+ {
+ LukPotionB: 2
+ },
+ {
+ LukPotionB: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 29
+ Name: "CraftLukPotionC"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ PolishedEmerald: 1
+ HerbalTea: 3
+ },
+ )
+ CreateItems:
+ (
+ {
+ LukPotionC: 3
+ },
+ {
+ LukPotionC: 2
+ },
+ {
+ LukPotionC: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 30
+ Name: "CraftDexPotionA"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ AmethystPowder: 1
+ HerbalTea: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ DexPotionA: 3
+ },
+ {
+ DexPotionA: 2
+ },
+ {
+ DexPotionA: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 31
+ Name: "CraftDexPotionB"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Amethyst: 1
+ HerbalTea: 2
+ },
+ )
+ CreateItems:
+ (
+ {
+ DexPotionB: 2
+ },
+ {
+ DexPotionB: 3
+ },
+ {
+ DexPotionB: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 32
+ Name: "CraftDexPotionC"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ PolishedAmethyst: 1
+ HerbalTea: 3
+ },
+ )
+ CreateItems:
+ (
+ {
+ DexPotionC: 3
+ },
+ {
+ DexPotionC: 2
+ },
+ {
+ DexPotionC: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 33
+ Name: "CraftIntPotionA"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ SapphirePowder: 1
+ HerbalTea: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ IntPotionA: 2
+ },
+ {
+ IntPotionA: 3
+ },
+ {
+ IntPotionA: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 34
+ Name: "CraftIntPotionB"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Sapphire: 1
+ HerbalTea: 2
+ },
+ )
+ CreateItems:
+ (
+ {
+ IntPotionB: 3
+ },
+ {
+ IntPotionB: 2
+ },
+ {
+ IntPotionB: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 35
+ Name: "CraftIntPotionC"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ PolishedSapphire: 1
+ HerbalTea: 3
+ },
+ )
+ CreateItems:
+ (
+ {
+ IntPotionC: 2
+ },
+ {
+ IntPotionC: 3
+ },
+ {
+ IntPotionC: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 36
+ Name: "CraftVitPotionA"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ DiamondPowder: 1
+ HerbalTea: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ VitPotionA: 3
+ },
+ {
+ VitPotionA: 2
+ },
+ {
+ VitPotionA: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 37
+ Name: "CraftVitPotionB"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Diamond: 1
+ HerbalTea: 2
+ },
+ )
+ CreateItems:
+ (
+ {
+ VitPotionB: 3
+ },
+ {
+ VitPotionB: 2
+ },
+ {
+ VitPotionB: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 38
+ Name: "CraftVitPotionC"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ PolishedDiamond: 1
+ HerbalTea: 3
+ },
+ )
+ CreateItems:
+ (
+ {
+ VitPotionC: 3
+ },
+ {
+ VitPotionC: 2
+ },
+ {
+ VitPotionC: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 39
+ Name: "CraftAgiPotionA"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ TopazPowder: 1
+ HerbalTea: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ AgiPotionA: 3
+ },
+ {
+ AgiPotionA: 2
+ },
+ {
+ AgiPotionA: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 40
+ Name: "CraftAgiPotionB"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Topaz: 1
+ HerbalTea: 2
+ },
+ )
+ CreateItems:
+ (
+ {
+ AgiPotionB: 3
+ },
+ {
+ AgiPotionB: 2
+ },
+ {
+ AgiPotionB: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 41
+ Name: "CraftAgiPotionC"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ PolishedTopaz: 1
+ HerbalTea: 3
+ },
+ )
+ CreateItems:
+ (
+ {
+ AgiPotionC: 3
+ },
+ {
+ AgiPotionC: 2
+ },
+ {
+ AgiPotionC: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 42
+ Name: "CraftSacredLifePotion"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ GoldenApple: 1
+ ElixirOfLife: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ SacredLifePotion: 3
+ },
+ {
+ SacredLifePotion: 3
+ },
+ {
+ SacredLifePotion: 5
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+// CelestiaTea takes about 1 hour the unit to get ingame
+{
+ Id: 43
+ Name: "CraftSacredManaPotion"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ GoldenApple: 1
+ CelestiaTea: 10
+ },
+ )
+ CreateItems:
+ (
+ {
+ SacredManaPotion: 3
+ },
+ {
+ SacredManaPotion: 3
+ },
+ {
+ SacredManaPotion: 5
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 44
+ Name: "CraftPiberriesInfusion"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Piberries: 5
+ Curshroom: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ PiberriesInfusion: 1
+ },
+ {
+ PiberriesInfusion: 1
+ },
+ {
+ PiberriesInfusion: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 45
+ Name: "CraftSacredImmortalityPotion"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ SacredLifePotion: 1
+ SacredManaPotion: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ SacredImmortalityPotion: 1
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 46
+ Name: "CraftScrollAngelLightA"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Quill: 2
+ GoldenApple: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ ScrollAngelLightA: 1
+ },
+ {
+ ScrollAngelLightA: 1
+ },
+ {
+ ScrollAngelLightA: 1
+ },
+ {
+ ScrollAngelLightA: 1
+ },
+ {
+ ScrollAngelLightA: 1
+ },
+ {
+ ScrollAngelLightA: 1
+ },
+ {
+ ScrollAngelLightA: 1
+ },
+ {
+ ScrollAngelLightB: 1
+ },
+ {
+ ScrollAngelLightB: 1
+ },
+ {
+ ScrollAngelLightC: 1
+ },
+ )
+ Priority: 15
+},
+/****************************************************************************/
+{
+ Id: 47
+ Name: "CraftScrollCriticalFortuneA"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Quill: 2
+ Manapple: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ ScrollCriticalFortuneA: 1
+ },
+ {
+ ScrollCriticalFortuneA: 1
+ },
+ {
+ ScrollCriticalFortuneA: 1
+ },
+ {
+ ScrollCriticalFortuneA: 1
+ },
+ {
+ ScrollCriticalFortuneA: 1
+ },
+ {
+ ScrollCriticalFortuneA: 1
+ },
+ {
+ ScrollCriticalFortuneA: 1
+ },
+ {
+ ScrollCriticalFortuneB: 1
+ },
+ {
+ ScrollCriticalFortuneB: 1
+ },
+ {
+ ScrollCriticalFortuneC: 1
+ },
+ )
+ Priority: 15
+},
+/****************************************************************************/
+{
+ Id: 48
+ Name: "CraftScrollBattlePlansA"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Quill: 2
+ Graphene: 3
+ },
+ )
+ CreateItems:
+ (
+ {
+ ScrollBattlePlansA: 1
+ },
+ {
+ ScrollBattlePlansA: 1
+ },
+ {
+ ScrollBattlePlansA: 1
+ },
+ {
+ ScrollBattlePlansA: 1
+ },
+ {
+ ScrollBattlePlansA: 1
+ },
+ {
+ ScrollBattlePlansA: 1
+ },
+ {
+ ScrollBattlePlansA: 1
+ },
+ {
+ ScrollBattlePlansB: 1
+ },
+ {
+ ScrollBattlePlansB: 1
+ },
+ {
+ ScrollBattlePlansC: 1
+ },
+ )
+ Priority: 15
+},
+/****************************************************************************/
+{
+ Id: 49
+ Name: "CraftScrollDefenseBlessA"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Quill: 2
+ CopperIngot: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ ScrollDefenseBlessA: 1
+ },
+ {
+ ScrollDefenseBlessA: 1
+ },
+ {
+ ScrollDefenseBlessA: 1
+ },
+ {
+ ScrollDefenseBlessA: 1
+ },
+ {
+ ScrollDefenseBlessA: 1
+ },
+ {
+ ScrollDefenseBlessA: 1
+ },
+ {
+ ScrollDefenseBlessA: 1
+ },
+ {
+ ScrollDefenseBlessB: 1
+ },
+ {
+ ScrollDefenseBlessB: 1
+ },
+ {
+ ScrollDefenseBlessC: 1
+ },
+ )
+ Priority: 15
+},
+/****************************************************************************/
+
+
+
+
+
+
+
+
+
+
+
+
+
+// Crafting System (ID 51~100, Flag 16)
+// 51~71 → Swords
+// 72~76 → Bows (ok)
+// 77~81 → Wands (ok)
+// 82 → Reserved for guns (ok)
+// 83~87 → Gloves
+// 88~91 → Stronger Shields
+// 92 → Reserved for gloves
+// 93~97 → Shields
+// 98, 99, 100 → Reserved for guns (ok)
+
+// 101, 102 → Misc
+// 103~114 → Helmets
+// 115~121 → Terranite
+// 122~124 → Special
+// 125~132 → Chest Armors
+// 135~144 → Pants
+// 145~199 → WIP
+//////////////////////////////////////////////////////////////////////////////
+// Output PileOfAsh
+// Require 1x EverburnPowder to lit (maybe Sulphur?)
+// Require BentNeddle to costure (leather)
+// We rely on hardcoded values here, BEWARE
+{
+ Id: 51
+ Name: "CraftWoodenSword"
+ Flag: 16
+ ReturnCode: 3503
+ //WoodenSword
+ SourceItems:
+ (
+ {
+ WoodenLog: 20
+ RawLog: 5
+ SharpKnife: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ RawLog: 1
+ },
+ {
+ RustyKnife: 1
+ RawLog: 1
+ },
+ {
+ RustyKnife: 1
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 52
+ Name: "CraftBugSlayer"
+ Flag: 16
+ ReturnCode: 3501
+ //BugSlayer
+ SourceItems:
+ (
+ {
+ IronIngot: 8
+ Coal: 12
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 2
+ },
+ )
+ Priority: 11
+},
+/****************************************************************************/
+{
+ Id: 53
+ Name: "CraftShortGladius"
+ Flag: 16
+ ReturnCode: 3502
+ //ShortGladius
+ SourceItems:
+ (
+ {
+ IronIngot: 12
+ Coal: 16
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 2
+ },
+ {
+ PileOfAsh: 3
+ },
+ )
+ Priority: 20
+},
+/****************************************************************************/
+{
+ Id: 54
+ Name: "CraftBacksword"
+ Flag: 16
+ ReturnCode: 3504
+ //Backsword
+ SourceItems:
+ (
+ {
+ IronIngot: 18
+ TinIngot: 3
+ Coal: 20
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ PileOfAsh: 1
+ },
+ {
+ TinIngot: 1
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 2
+ },
+ {
+ PileOfAsh: 3
+ },
+ )
+ Priority: 30
+},
+/****************************************************************************/
+{
+ Id: 55
+ Name: "CraftShortSword"
+ Flag: 16
+ ReturnCode: 3527
+ //ShortSword
+ SourceItems:
+ (
+ {
+ IronIngot: 24
+ TinIngot: 5
+ Coal: 24
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ PileOfAsh: 1
+ },
+ {
+ TinIngot: 1
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 2
+ },
+ {
+ PileOfAsh: 3
+ },
+ )
+ Priority: 40
+},
+/****************************************************************************/
+{
+ Id: 56
+ Name: "CraftKitana"
+ Flag: 16
+ ReturnCode: 3531
+ //Kitana
+ SourceItems:
+ (
+ {
+ IronIngot: 30
+ TinIngot: 9
+ Coal: 30
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ PileOfAsh: 1
+ },
+ {
+ IronIngot: 1
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 2
+ },
+ {
+ PileOfAsh: 3
+ },
+ )
+ Priority: 50
+},
+/****************************************************************************/
+{
+ Id: 57
+ Name: "CraftBoneKnife"
+ Flag: 16
+ ReturnCode: 3508
+ //BoneKnife
+ SourceItems:
+ (
+ {
+ IronIngot: 36
+ Bone: 90
+ Coal: 30
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ PileOfAsh: 1
+ },
+ {
+ Bone: 1
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 2
+ },
+ {
+ PileOfAsh: 3
+ },
+ )
+ Priority: 51
+},
+/****************************************************************************/
+{
+ Id: 58
+ Name: "CraftLongSword"
+ Flag: 16
+ ReturnCode: 3516
+ //LongSword
+ SourceItems:
+ (
+ {
+ IronIngot: 42
+ PlatinumIngot: 1
+ IridiumIngot: 1
+ Coal: 32
+ },
+ )
+ CreateItems:
+ (
+ {
+ PileOfAsh: 1
+ },
+ {
+ IronIngot: 1
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 2
+ },
+ {
+ PileOfAsh: 3
+ },
+ )
+ Priority: 60
+},
+/****************************************************************************/
+{
+ Id: 59
+ Name: "CraftRockKnife"
+ Flag: 16
+ ReturnCode: 3509
+ //RockKnife
+ SourceItems:
+ (
+ {
+ TerraniteOre: 50
+ PlatinumIngot: 2
+ IridiumIngot: 3
+ Coal: 40
+ },
+ )
+ CreateItems:
+ (
+ {
+ PileOfAsh: 1
+ },
+ {
+ TerraniteOre: 1
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 2
+ },
+ {
+ PileOfAsh: 3
+ },
+ )
+ Priority: 70
+},
+/****************************************************************************/
+{
+ Id: 60
+ Name: "CraftDivineSword"
+ Flag: 16
+ ReturnCode: 3511
+ //DivineSword
+ SourceItems:
+ (
+ {
+ DivineApple: 2
+ PlatinumIngot: 3
+ IridiumIngot: 5
+ Coal: 60
+ },
+ )
+ CreateItems:
+ (
+ {
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 2
+ },
+ {
+ PileOfAsh: 3
+ },
+ )
+ Priority: 80
+},
+/****************************************************************************/
+// 61~71 two hand swords I guess
+{
+ Id: 61
+ Name: "CraftMiereCleaver"
+ Flag: 16
+ ReturnCode: 3523
+ //MiereCleaver
+ SourceItems:
+ (
+ {
+ SilverIngot: 12
+ TinIngot: 1
+ Coal: 8
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ PileOfAsh: 1
+ },
+ {
+ TinIngot: 1
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 62
+ Name: "CraftBroadsword"
+ Flag: 16
+ ReturnCode: 3524
+ //Broadsword
+ SourceItems:
+ (
+ {
+ SilverIngot: 27
+ TinIngot: 1
+ Coal: 20
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ PileOfAsh: 2
+ },
+ {
+ TinIngot: 1
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 3
+ },
+ )
+ Priority: 20
+},
+/****************************************************************************/
+// ID 63 Priority 30 reserved for Kanabo or successor
+/****************************************************************************/
+// ID 64 Priority 40 reserved for Zambacutou or successor
+/****************************************************************************/
+{
+ Id: 65
+ Name: "CraftHalberd"
+ Flag: 16
+ ReturnCode: 3534
+ //Halberd
+ SourceItems:
+ (
+ {
+ SilverIngot: 45
+ TinIngot: 5
+ Coal: 34
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ TinIngot: 1
+ PileOfAsh: 2
+ },
+ {
+ TinIngot: 2
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 3
+ },
+ )
+ Priority: 50
+},
+/****************************************************************************/
+{
+ Id: 66
+ Name: "CraftImmortalSword"
+ Flag: 16
+ ReturnCode: 3532
+ //ImmortalSword
+ SourceItems:
+ (
+ {
+ SilverIngot: 40
+ PlatinumIngot: 2
+ IridiumIngot: 3
+ BlueManaPearl: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ SilverIngot: 1
+ PileOfAsh: 2
+ },
+ {
+ SilverIngot: 2
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 3
+ },
+ )
+ Priority: 51
+},
+/****************************************************************************/
+
+// 51~71 → Swords
+// 72~76 → Bows
+// 77~81 → Wands
+// 82 → Reserved for guns
+// 83~87 → Gloves
+// 88~91 → Stronger Shields
+// 92 → Reserved for gloves
+// 93~97 → Shields
+// 98, 99, 100 → Reserved for guns
+// 101, 102 → Misc
+// 103~114 → Helmets
+// 115~121 → Terranite
+// 122~124 → Special
+// 125~132 → Chest Armors
+// 135~144 → Pants
+// 145~199 → WIP
+//////////////////////////////////////////////////////////////////////////////
+{
+ Id: 72
+ Name: "CraftShortBow"
+ Flag: 16
+ ReturnCode: 6002
+ // ShortBow
+ SourceItems:
+ (
+ {
+ WoodenLog: 18
+ Root: 12
+ LeatherPatch: 3
+ CommonCarp: 1
+ },
+
+ )
+ CreateItems:
+ (
+ {
+ Arrow: 10
+ },
+ {
+ TrainingArrow: 20
+ },
+ {
+ TolchiArrow: 30
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 73
+ Name: "CraftForestBow"
+ Flag: 16
+ ReturnCode: 6003
+ // ForestBow
+ SourceItems:
+ (
+ {
+ WoodenLog: 24
+ Root: 16
+ LeatherPatch: 5
+ CommonCarp: 3
+ },
+ )
+ CreateItems:
+ (
+ {
+ IronArrow: 10
+ },
+ {
+ Arrow: 20
+ },
+ {
+ TrainingArrow: 30
+ },
+ )
+ Priority: 20
+},
+/****************************************************************************/
+{
+ Id: 74
+ Name: "CraftElficBow"
+ Flag: 16
+ ReturnCode: 6004
+ // ElficBow
+ SourceItems:
+ (
+ {
+ WoodenLog: 33
+ Root: 22
+ IronIngot: 1
+ CommonCarp: 4
+ },
+ )
+ CreateItems:
+ (
+ {
+ CursedArrow: 10
+ },
+ {
+ IronArrow: 20
+ },
+ {
+ Arrow: 30
+ },
+ )
+ Priority: 30
+},
+/****************************************************************************/
+{
+ Id: 75
+ Name: "CraftChampionshipBow"
+ Flag: 16
+ ReturnCode: 6005
+ // ChampionshipBow
+ SourceItems:
+ (
+ {
+ WoodenLog: 48
+ Root: 32
+ GoldIngot: 1
+ CommonCarp: 5
+ },
+ )
+ CreateItems:
+ (
+ {
+ ThornArrow: 10
+ },
+ {
+ CursedArrow: 20
+ },
+ {
+ IronArrow: 30
+ },
+ )
+ Priority: 40
+},
+/****************************************************************************/
+{
+ Id: 76
+ Name: "CraftBansheeBow"
+ Flag: 16
+ ReturnCode: 6006
+ // BansheeBow
+ SourceItems:
+ (
+ {
+ WoodenLog: 70
+ Root: 45
+ DarkCrystal: 10
+ CommonCarp: 5
+ },
+ )
+ CreateItems:
+ (
+ {
+ BoneArrow: 4
+ },
+ {
+ BoneArrow: 8
+ },
+ {
+ BoneArrow: 12
+ },
+ )
+ Priority: 50
+},
+/****************************************************************************/
+
+// 51~71 → Swords
+// 72~76 → Bows
+// 77~81 → Wands
+// 82 → Reserved for guns
+// 83~87 → Gloves
+// 88~91 → Stronger Shields
+// 92 → Reserved for gloves
+// 93~97 → Shields
+// 98, 99, 100 → Reserved for guns
+// 101, 102 → Misc
+// 103~114 → Helmets
+// 115~121 → Terranite
+// 122~124 → Special
+// 125~132 → Chest Armors
+// 135~144 → Pants
+// 145~199 → WIP
+//////////////////////////////////////////////////////////////////////////////
+{
+ Id: 77
+ Name: "CraftTrainingWand"
+ Flag: 16
+ ReturnCode: 7000
+ //TrainingWand
+ SourceItems:
+ (
+ {
+ WoodenLog: 20
+ ManaPiouFeathers: 30
+ FluoPowder: 5
+ GemPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ RawLog: 1
+ },
+ {
+ PileOfAsh: 1
+ RawLog: 1
+ },
+ {
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 1
+ },
+ {
+ Quill: 1
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 78
+ Name: "CraftNoviceWand"
+ Flag: 16
+ ReturnCode: 7001
+ //NoviceWand
+ SourceItems:
+ (
+ {
+ WoodenLog: 40
+ ManaPiouFeathers: 60
+ FluoPowder: 8
+ GemPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ RawLog: 2
+ },
+ {
+ PileOfAsh: 2
+ RawLog: 2
+ },
+ {
+ PileOfAsh: 2
+ },
+ {
+ Quill: 1
+ },
+ )
+ Priority: 20
+},
+/****************************************************************************/
+{
+ Id: 79
+ Name: "CraftApprenticeWand"
+ Flag: 16
+ ReturnCode: 7002
+ //ApprenticeWand
+ SourceItems:
+ (
+ {
+ WoodenLog: 60
+ ManaPiouFeathers: 90
+ FluoPowder: 12
+ GemPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ RawLog: 3
+ },
+ {
+ PileOfAsh: 3
+ RawLog: 2
+ },
+ {
+ PileOfAsh: 3
+ },
+ {
+ Quill: 1
+ },
+ )
+ Priority: 30
+},
+/****************************************************************************/
+{
+ Id: 80
+ Name: "CraftLeaderWand"
+ Flag: 16
+ ReturnCode: 7003
+ //LeaderWand
+ SourceItems:
+ (
+ {
+ WoodenLog: 100
+ ManaPiouFeathers: 120
+ FluoPowder: 15
+ GemPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ PileOfAsh: 1
+ RawLog: 5
+ },
+ {
+ PileOfAsh: 5
+ RawLog: 3
+ },
+ {
+ PileOfAsh: 4
+ },
+ {
+ Quill: 1
+ PileOfAsh: 1
+ },
+ )
+ Priority: 40
+},
+/****************************************************************************/
+{
+ Id: 81
+ Name: "CraftMysticWand"
+ Flag: 16
+ ReturnCode: 7004
+ //MysticWand
+ SourceItems:
+ (
+ {
+ WoodenLog: 110
+ GoldenApple: 3
+ FluoPowder: 20
+ GemPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ PileOfAsh: 1
+ RawLog: 5
+ },
+ {
+ PileOfAsh: 5
+ RawLog: 3
+ },
+ {
+ PileOfAsh: 4
+ },
+ {
+ Quill: 1
+ PileOfAsh: 2
+ },
+ )
+ Priority: 50
+},
+/****************************************************************************/
+// 51~71 → Swords
+// 72~76 → Bows
+// 77~81 → Wands
+// 82 → Reserved for guns
+// 83~87 → Gloves
+// 88~91 → Stronger Shields
+// 92 → Reserved for gloves
+// 93~97 → Shields
+// 98, 99, 100 → Reserved for guns
+// 101, 102 → Misc
+// 103~114 → Helmets
+// 115~121 → Terranite
+// 122~124 → Special
+// 125~132 → Chest Armors
+// 135~144 → Pants
+// 145~199 → WIP
+//////////////////////////////////////////////////////////////////////////////
+{
+ Id: 82
+ Name: "CraftPynRevolver"
+ Flag: 16
+ ReturnCode: 6040
+ //PynRevolver
+ SourceItems:
+ (
+ {
+ LeadIngot: 4
+ TitaniumIngot: 5
+ Coal: 11
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 1
+ LeadOre: 1
+ },
+ {
+ PileOfAsh: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+// We don't care for order here. You noticed.
+{
+ Id: 98
+ Name: "CraftPynRifle"
+ Flag: 16
+ ReturnCode: 6010
+ //PynRifle
+ SourceItems:
+ (
+ {
+ LeadIngot: 6
+ TitaniumIngot: 7
+ Coal: 14
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 1
+ LeadOre: 1
+ },
+ {
+ PileOfAsh: 2
+ },
+ )
+ Priority: 20
+},
+/****************************************************************************/
+{
+ Id: 99
+ Name: "CraftPynGatling"
+ Flag: 16
+ ReturnCode: 6020
+ //PynGatling
+ SourceItems:
+ (
+ {
+ LeadIngot: 7
+ TitaniumIngot: 7
+ Coal: 14
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 1
+ LeadOre: 1
+ },
+ {
+ PileOfAsh: 2
+ },
+ )
+ Priority: 30
+},
+/****************************************************************************/
+{
+ Id: 100
+ Name: "CraftPynShotgun"
+ Flag: 16
+ ReturnCode: 6030
+ //PynShotgun
+ SourceItems:
+ (
+ {
+ LeadIngot: 9
+ TitaniumIngot: 10
+ Coal: 16
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ PileOfAsh: 2
+ },
+ {
+ PileOfAsh: 1
+ LeadOre: 1
+ },
+ {
+ PileOfAsh: 3
+ },
+ )
+ Priority: 40
+},
+/****************************************************************************/
+// 51~71 → Swords
+// 72~76 → Bows
+// 77~81 → Wands
+// 82 → Reserved for guns
+// 83~87 → Gloves
+// 88~91 → Stronger Shields
+// 92 → Reserved for gloves
+// 93~97 → Shields
+// 98, 99, 100 → Reserved for guns
+// 101, 102 → Misc
+// 103~114 → Helmets
+// 115~121 → Terranite
+// 122~124 → Special
+// 125~132 → Chest Armors
+// 135~144 → Pants
+// 145~199 → WIP
+//////////////////////////////////////////////////////////////////////////////
+{
+ Id: 93
+ Name: "CraftWoodenShield"
+ Flag: 16
+ ReturnCode: 2710
+ //WoodenShield
+ SourceItems:
+ (
+ {
+ WoodenLog: 40
+ LeatherPatch: 2
+ SharpKnife: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ RawLog: 1
+ },
+ {
+ RustyKnife: 1
+ RawLog: 1
+ },
+ {
+ RustyKnife: 1
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 94
+ Name: "CraftBladeShield"
+ Flag: 16
+ ReturnCode: 2702
+ //BladeShield
+ SourceItems:
+ (
+ {
+ IronIngot: 14
+ TinIngot: 4
+ Coal: 5
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ TinIngot: 1
+ },
+ {
+ TinIngot: 1
+ IronIngot: 1
+ },
+ {
+ IronIngot: 1
+ },
+ {
+ PileOfAsh: 1
+ },
+ )
+ Priority: 20
+},
+/****************************************************************************/
+{
+ Id: 95
+ Name: "CraftBraknarShield"
+ Flag: 16
+ ReturnCode: 2709
+ //BraknarShield
+ SourceItems:
+ (
+ {
+ CopperIngot: 18
+ TinIngot: 2
+ Coal: 5
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ CopperIngot: 1
+ },
+ {
+ CopperIngot: 1
+ TinIngot: 1
+ },
+ {
+ CopperIngot: 1
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 1
+ },
+ )
+ Priority: 30
+},
+/****************************************************************************/
+{
+ Id: 96
+ Name: "CraftBritShield"
+ Flag: 16
+ ReturnCode: 2704
+ //BritShield
+ SourceItems:
+ (
+ {
+ CopperIngot: 20
+ TitaniumIngot: 3
+ Coal: 7
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ CopperIngot: 1
+ },
+ {
+ CopperIngot: 1
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 1
+ },
+ )
+ Priority: 40
+},
+/****************************************************************************/
+{
+ Id: 97
+ Name: "CraftBromenalShield"
+ Flag: 16
+ ReturnCode: 2706
+ //BromenalShield
+ SourceItems:
+ (
+ {
+ CopperIngot: 24
+ TitaniumIngot: 4
+ Coal: 10
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ CopperIngot: 1
+ },
+ {
+ CopperIngot: 1
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 1
+ },
+ )
+ Priority: 50
+},
+/****************************************************************************/
+{
+ Id: 88
+ Name: "CraftBlueKnightShield"
+ Flag: 16
+ ReturnCode: 2703
+ //BlueKnightShield
+ SourceItems:
+ (
+ {
+ CopperIngot: 30
+ TitaniumIngot: 5
+ Coal: 15
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ CopperIngot: 1
+ },
+ {
+ CopperIngot: 2
+ },
+ {
+ CopperIngot: 1
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 1
+ },
+ )
+ Priority: 60
+},
+/****************************************************************************/
+{
+ Id: 89
+ Name: "CraftSteelShield"
+ Flag: 16
+ ReturnCode: 2711
+ //SteelShield
+ SourceItems:
+ (
+ {
+ TinIngot: 20
+ TitaniumIngot: 7
+ Coal: 20
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ TinIngot: 1
+ },
+ {
+ TitaniumIngot: 1
+ TinIngot: 1
+ },
+ {
+ TinIngot: 1
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 1
+ },
+ )
+ Priority: 70
+},
+/****************************************************************************/
+{
+ Id: 90
+ Name: "CraftDragonShield"
+ Flag: 16
+ ReturnCode: 2712
+ //DragonShield
+ SourceItems:
+ (
+ {
+ DragonScales: 160
+ TitaniumIngot: 10
+ Coal: 30
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ DragonScales: 1
+ },
+ {
+ DragonScales: 1
+ TitaniumIngot: 1
+ },
+ {
+ DragonScales: 1
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 1
+ },
+ )
+ Priority: 80
+},
+/****************************************************************************/
+{
+ Id: 91
+ Name: "CraftSaviorShield"
+ Flag: 16
+ ReturnCode: 2705
+ //SaviorShield
+ SourceItems:
+ (
+ {
+ MylarinDust: 1
+ TitaniumIngot: 20
+ Coal: 45
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ TitaniumIngot: 1
+ },
+ {
+ TitaniumIngot: 1
+ Coal: 1
+ },
+ {
+ TitaniumIngot: 1
+ PileOfAsh: 1
+ },
+ {
+ PileOfAsh: 1
+ },
+ )
+ Priority: 90
+},
+/****************************************************************************/
+// 51~71 → Swords
+// 72~76 → Bows
+// 77~81 → Wands
+// 82 → Reserved for guns
+// 83~87 → Gloves
+// 88~91 → Stronger Shields
+// 92 → Reserved for gloves
+// 93~97 → Shields
+// 98, 99, 100 → Reserved for guns
+// 101, 102 → Misc
+// 103~114 → Helmets
+// 115~121 → Terranite
+// 122~124 → Special
+// 125~132 → Chest Armors
+// 135~144 → Pants
+// 145~199 → WIP
+//////////////////////////////////////////////////////////////////////////////
+{
+ Id: 83
+ Name: "CraftSilkGloves"
+ Flag: 16
+ ReturnCode: 2007
+ //SilkGloves
+ SourceItems:
+ (
+ {
+ SilkCocoon: 40
+ PiouFeathers: 5
+ WhiteFur: 1
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ SilkCocoon: 1
+ },
+ {
+ SilkCocoon: 1
+ WhiteFur: 1
+ },
+ {
+ WhiteFur: 1
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 84
+ Name: "CraftLeatherGloves"
+ Flag: 16
+ ReturnCode: 2008
+ //LeatherGloves
+ SourceItems:
+ (
+ {
+ LeatherPatch: 10
+ PiouFeathers: 10
+ WhiteFur: 5
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ LeatherPatch: 1
+ },
+ {
+ LeatherPatch: 1
+ WhiteFur: 1
+ },
+ {
+ WhiteFur: 1
+ },
+ )
+ Priority: 20
+},
+/****************************************************************************/
+{
+ Id: 85
+ Name: "CraftBromenalGloves"
+ Flag: 16
+ ReturnCode: 2010
+ //BromenalGloves
+ SourceItems:
+ (
+ {
+ LeatherPatch: 30
+ AnimalBones: 3
+ WhiteFur: 15
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ LeatherPatch: 1
+ },
+ {
+ LeatherPatch: 1
+ WhiteFur: 1
+ },
+ {
+ WhiteFur: 1
+ },
+ )
+ Priority: 30
+},
+/****************************************************************************/
+{
+ Id: 86
+ Name: "CraftManaGloves"
+ Flag: 16
+ ReturnCode: 2013
+ //ManaGloves
+ SourceItems:
+ (
+ {
+ SacredManaPotion: 1
+ BlueManaPearl: 1
+ WhiteFur: 45
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ WhiteFur: 1
+ },
+ {
+ WhiteFur: 2
+ },
+ {
+ WhiteFur: 1
+ },
+ )
+ Priority: 40
+},
+/****************************************************************************/
+{
+ Id: 87
+ Name: "CraftWarlordGloves"
+ Flag: 16
+ ReturnCode: 2012
+ //WarlordGloves
+ SourceItems:
+ (
+ {
+ IridiumIngot: 1
+ PlatinumIngot: 1
+ WhiteFur: 60
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ WhiteFur: 1
+ },
+ {
+ WhiteFur: 2
+ },
+ {
+ WhiteFur: 1
+ },
+ )
+ Priority: 50
+},
+/****************************************************************************/
+{
+ Id: 92
+ Name: "CraftAssassinGloves"
+ Flag: 16
+ ReturnCode: 2015
+ //AssassinGloves
+ SourceItems:
+ (
+ {
+ IridiumIngot: 1
+ PlatinumIngot: 1
+ WhiteFur: 150
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ WhiteFur: 1
+ },
+ {
+ WhiteFur: 2
+ },
+ {
+ WhiteFur: 1
+ },
+ )
+ Priority: 60
+},
+/****************************************************************************/
+// 51~71 → Swords
+// 72~76 → Bows
+// 77~81 → Wands
+// 82 → Reserved for guns
+// 83~87 → Gloves
+// 88~91 → Stronger Shields
+// 92 → Reserved for gloves
+// 93~97 → Shields
+// 98, 99, 100 → Reserved for guns
+// 101, 102 → Misc
+// 103~114 → Helmets
+// 115~121 → Terranite
+// 122~124 → Special
+// 125~132 → Chest Armors
+// 135~144 → Pants
+// 145~199 → WIP
+//////////////////////////////////////////////////////////////////////////////
+{
+ Id: 101
+ Name: "CraftGoldenRing"
+ Flag: 16
+ ReturnCode: 2501
+ //GoldenRing
+ SourceItems:
+ (
+ {
+ GoldPieces: 5
+ TitaniumIngot: 1
+ Coal: 8
+ EverburnPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ PileOfAsh: 1
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 102
+ Name: "CraftDagger"
+ Flag: 16
+ ReturnCode: 3507
+ //Dagger
+ SourceItems:
+ (
+ {
+ IronIngot: 1
+ Coal: 3
+ SulfurPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ PileOfAsh: 1
+ },
+ )
+ Priority: 5
+},
+/****************************************************************************/
+// 51~71 → Swords
+// 72~76 → Bows
+// 77~81 → Wands
+// 82 → Reserved for guns
+// 83~87 → Gloves
+// 88~91 → Stronger Shields
+// 92 → Reserved for gloves
+// 93~97 → Shields
+// 98, 99, 100 → Reserved for guns
+// 101, 102 → Misc
+// 103~114 → Helmets
+// 115~121 → Terranite
+// 122~124 → Special
+// 125~132 → Chest Armors
+// 135~144 → Pants
+// 145~199 → WIP
+//////////////////////////////////////////////////////////////////////////////
+{
+ Id: 103
+ Name: "CraftInfantryHelmet"
+ Flag: 16
+ ReturnCode: 2911
+ //InfantryHelmet
+ SourceItems:
+ (
+ {
+ IronIngot: 3
+ CopperIngot: 3
+ Lifestone: 5
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ Lifestone: 1
+ },
+ {
+ Lifestone: 2
+ },
+ {
+ Lifestone: 1
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 104
+ Name: "CraftDesertHelmet"
+ Flag: 16
+ ReturnCode: 2916
+ //DesertHelmet
+ SourceItems:
+ (
+ {
+ IronIngot: 4
+ CopperIngot: 4
+ Lifestone: 7
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ Lifestone: 1
+ },
+ )
+ Priority: 20
+},
+/****************************************************************************/
+{
+ Id: 105
+ Name: "CraftBromenalHelmet"
+ Flag: 16
+ ReturnCode: 2914
+ //BromenalHelmet
+ SourceItems:
+ (
+ {
+ CopperIngot: 7
+ SilverIngot: 2
+ Lifestone: 8
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ Lifestone: 1
+ },
+ {
+ Lifestone: 2
+ },
+ {
+ Lifestone: 1
+ },
+ )
+ Priority: 30
+},
+/****************************************************************************/
+{
+ Id: 106
+ Name: "CraftCandleHelmet"
+ Flag: 16
+ ReturnCode: 2915
+ //CandleHelmet
+ SourceItems:
+ (
+ {
+ EverburnPowder: 2
+ DesertHelmet: 1
+ Lifestone: 10
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ Lifestone: 1
+ },
+ {
+ Lifestone: 2
+ },
+ {
+ Lifestone: 1
+ },
+ )
+ Priority: 31
+},
+/****************************************************************************/
+{
+ Id: 107
+ Name: "CraftCrusadeHelmet"
+ Flag: 16
+ ReturnCode: 2909
+ //CrusadeHelmet
+ SourceItems:
+ (
+ {
+ SilverIngot: 6
+ TinIngot: 5
+ Lifestone: 14
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ Lifestone: 1
+ },
+ {
+ Lifestone: 2
+ },
+ {
+ Lifestone: 1
+ },
+ )
+ Priority: 40
+},
+/****************************************************************************/
+{
+ Id: 108
+ Name: "CraftWarlordHelmet"
+ Flag: 16
+ ReturnCode: 2920
+ //WarlordHelmet
+ SourceItems:
+ (
+ {
+ SilverIngot: 8
+ TitaniumIngot: 2
+ Lifestone: 20
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ Lifestone: 1
+ },
+ {
+ Lifestone: 2
+ },
+ {
+ Lifestone: 1
+ },
+ )
+ Priority: 50
+},
+/****************************************************************************/
+{
+ Id: 109
+ Name: "CraftVikingHelmet"
+ Flag: 16
+ ReturnCode: 2941
+ //VikingHelmet
+ SourceItems:
+ (
+ {
+ IridiumIngot: 1
+ TitaniumIngot: 5
+ Lifestone: 27
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ Lifestone: 1
+ },
+ {
+ Lifestone: 2
+ },
+ {
+ Lifestone: 1
+ },
+ )
+ Priority: 51
+},
+/****************************************************************************/
+{
+ Id: 110
+ Name: "CraftCenturionHelmet"
+ Flag: 16
+ ReturnCode: 2942
+ //CenturionHelmet
+ SourceItems:
+ (
+ {
+ IridiumIngot: 2
+ TitaniumIngot: 7
+ Lifestone: 32
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ Lifestone: 1
+ },
+ {
+ Lifestone: 2
+ },
+ {
+ Lifestone: 1
+ },
+ )
+ Priority: 60
+},
+/****************************************************************************/
+{
+ Id: 111
+ Name: "CraftBullHelmet"
+ Flag: 16
+ ReturnCode: 2906
+ //BullHelmet
+ SourceItems:
+ (
+ {
+ IridiumIngot: 3
+ LeadIngot: 10
+ Lifestone: 36
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ Lifestone: 1
+ },
+ {
+ Lifestone: 2
+ },
+ {
+ Lifestone: 1
+ },
+ )
+ Priority: 70
+},
+/****************************************************************************/
+{
+ Id: 112
+ Name: "CraftDarkHelm"
+ Flag: 16
+ ReturnCode: 2907
+ //DarkHelm
+ SourceItems:
+ (
+ {
+ IridiumIngot: 3
+ LeadIngot: 12
+ Lifestone: 40
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ Lifestone: 1
+ },
+ {
+ Lifestone: 2
+ },
+ {
+ Lifestone: 1
+ },
+ )
+ Priority: 71
+},
+/****************************************************************************/
+{
+ Id: 113
+ Name: "CraftDarkKnightHelmet"
+ Flag: 16
+ ReturnCode: 2927
+ //DarkKnightHelmet
+ SourceItems:
+ (
+ {
+ IridiumIngot: 5
+ PlatinumIngot: 3
+ Lifestone: 50
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ Lifestone: 1
+ },
+ {
+ Lifestone: 2
+ },
+ {
+ Lifestone: 1
+ },
+ )
+ Priority: 80
+},
+/****************************************************************************/
+{
+ Id: 114
+ Name: "CraftSamuraiHelmet"
+ Flag: 16
+ ReturnCode: 2929
+ //SamuraiHelmet
+ SourceItems:
+ (
+ {
+ IridiumIngot: 3
+ PlatinumIngot: 5
+ Lifestone: 50
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ Lifestone: 1
+ },
+ {
+ Lifestone: 2
+ },
+ {
+ Lifestone: 1
+ },
+ )
+ Priority: 81
+},
+/****************************************************************************/
+// 51~71 → Swords
+// 72~76 → Bows
+// 77~81 → Wands
+// 82 → Reserved for guns
+// 83~87 → Gloves
+// 88~91 → Stronger Shields
+// 92 → Reserved for gloves
+// 93~97 → Shields
+// 98, 99, 100 → Reserved for guns
+// 101, 102 → Misc
+// 103~114 → Helmets
+// 115~121 → Terranite
+// 122~124 → Special
+// 125~132 → Chest Armors
+// 135~144 → Pants
+// 145~199 → WIP
+//////////////////////////////////////////////////////////////////////////////
+{
+ Id: 115
+ Name: "CraftTerraniteHelmet"
+ Flag: 16
+ ReturnCode: 3020
+ //TerraniteHelmet
+ SourceItems:
+ (
+ {
+ TerraniteIngot: 3
+ Coal: 30
+ Lifestone: 32
+ EarthPowder: 2
+ },
+ )
+ CreateItems:
+ (
+ {
+ Lifestone: 1
+ },
+ {
+ Lifestone: 2
+ },
+ {
+ Lifestone: 1
+ },
+ )
+ Priority: 70
+},
+/****************************************************************************/
+{
+ Id: 116
+ Name: "CraftTerraniteArmor"
+ Flag: 16
+ ReturnCode: 1311
+ //TerraniteArmor
+ SourceItems:
+ (
+ {
+ TerraniteIngot: 4
+ Coal: 45
+ IronPowder: 32
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ IronPowder: 1
+ },
+ {
+ IronPowder: 2
+ },
+ {
+ IronPowder: 1
+ },
+ )
+ Priority: 71
+},
+/****************************************************************************/
+{
+ Id: 117
+ Name: "CraftTerranitePants"
+ Flag: 16
+ ReturnCode: 2210
+ //TerranitePants
+ SourceItems:
+ (
+ {
+ TerraniteIngot: 2
+ Coal: 15
+ LeatherPatch: 32
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ LeatherPatch: 1
+ },
+ {
+ LeatherPatch: 2
+ },
+ {
+ LeatherPatch: 1
+ },
+ )
+ Priority: 72
+},
+/****************************************************************************/
+// 51~71 → Swords
+// 72~76 → Bows
+// 77~81 → Wands
+// 82 → Reserved for guns
+// 83~87 → Gloves
+// 88~91 → Stronger Shields
+// 92 → Reserved for gloves
+// 93~97 → Shields
+// 98, 99, 100 → Reserved for guns
+// 101, 102 → Misc
+// 103~114 → Helmets
+// 115~121 → Terranite
+// 122~124 → Special
+// 125~132 → Chest Armors
+// 135~144 → Pants
+// 145~199 → WIP
+//////////////////////////////////////////////////////////////////////////////
+{
+ Id: 122
+ Name: "CraftSkypiercer"
+ Flag: 16
+ ReturnCode: 7421
+ //Skypiercer
+ SourceItems:
+ (
+ {
+ SunnyCrystal: 1
+ PlatinumIngot: 5
+ IridiumIngot: 20
+ EverburnPowder: 10
+ },
+ )
+ CreateItems:
+ (
+ {
+ MylarinDust: 1
+ },
+ )
+ Priority: 99
+},
+/****************************************************************************/
+{
+ Id: 123
+ Name: "CraftSaviorArmor"
+ Flag: 16
+ ReturnCode: 1331
+ //SaviorArmor
+ SourceItems:
+ (
+ {
+ SunnyCrystal: 1
+ IridiumIngot: 15
+ PlatinumIngot: 4
+ EverburnPowder: 10
+ },
+ )
+ CreateItems:
+ (
+ {
+ MylarinDust: 1
+ },
+ )
+ Priority: 99
+},
+/****************************************************************************/
+{
+ Id: 124
+ Name: "CraftSaviorHelmet"
+ Flag: 16
+ ReturnCode: 3030
+ //SaviorHelmet
+ SourceItems:
+ (
+ {
+ MylarinDust: 1
+ IridiumIngot: 3
+ PlatinumIngot: 5
+ EarthPowder: 3
+ },
+ )
+ CreateItems:
+ (
+ {
+ EverburnPowder: 1
+ },
+ )
+ Priority: 99
+},
+/****************************************************************************/
+// 51~71 → Swords
+// 72~76 → Bows
+// 77~81 → Wands
+// 82 → Reserved for guns
+// 83~87 → Gloves
+// 88~91 → Stronger Shields
+// 92 → Reserved for gloves
+// 93~97 → Shields
+// 98, 99, 100 → Reserved for guns
+// 101, 102 → Misc
+// 103~114 → Helmets
+// 115~121 → Terranite
+// 122~124 → Special
+// 125~132 → Chest Armors
+// 135~144 → Pants
+// 145~199 → WIP
+//////////////////////////////////////////////////////////////////////////////
+{
+ Id: 125
+ Name: "CraftLeatherShirt"
+ Flag: 16
+ ReturnCode: 1314
+ //LeatherShirt
+ SourceItems:
+ (
+ {
+ LeatherPatch: 20
+ IronIngot: 2
+ IronPowder: 7
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ IronPowder: 1
+ },
+ {
+ IronPowder: 2
+ },
+ {
+ IronPowder: 1
+ },
+ )
+ Priority: 20
+},
+/****************************************************************************/
+{
+ Id: 126
+ Name: "CraftLieutenantArmor"
+ Flag: 16
+ ReturnCode: 1304
+ //LieutenantArmor
+ SourceItems:
+ (
+ {
+ CopperIngot: 4
+ IronIngot: 4
+ IronPowder: 12
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ IronPowder: 1
+ },
+ {
+ IronPowder: 2
+ },
+ {
+ IronPowder: 1
+ },
+ )
+ Priority: 30
+},
+/****************************************************************************/
+{
+ Id: 127
+ Name: "CraftChainmail"
+ Flag: 16
+ ReturnCode: 1310
+ //Chainmail
+ SourceItems:
+ (
+ {
+ IronIngot: 10
+ SilverIngot: 2
+ IronPowder: 18
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ IronPowder: 1
+ },
+ {
+ IronPowder: 2
+ },
+ {
+ IronPowder: 1
+ },
+ )
+ Priority: 50
+},
+/****************************************************************************/
+{
+ Id: 128
+ Name: "CraftCopperArmor"
+ Flag: 16
+ ReturnCode: 1305
+ //CopperArmor
+ SourceItems:
+ (
+ {
+ CopperIngot: 10
+ IronIngot: 3
+ IronPowder: 22
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ IronPowder: 1
+ },
+ {
+ IronPowder: 2
+ },
+ {
+ IronPowder: 1
+ },
+ )
+ Priority: 51
+},
+/****************************************************************************/
+{
+ Id: 129
+ Name: "CraftLightPlatemail"
+ Flag: 16
+ ReturnCode: 1312
+ //LightPlatemail
+ SourceItems:
+ (
+ {
+ IronIngot: 15
+ SilverIngot: 5
+ IronPowder: 24
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ IronPowder: 1
+ },
+ {
+ IronPowder: 2
+ },
+ {
+ IronPowder: 1
+ },
+ )
+ Priority: 60
+},
+/****************************************************************************/
+{
+ Id: 130
+ Name: "CraftGoldenLightPlatemail"
+ Flag: 16
+ ReturnCode: 1328
+ //GoldenLightPlatemail
+ SourceItems:
+ (
+ {
+ GoldIngot: 15
+ LightPlatemail: 1
+ IronPowder: 26
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ IronPowder: 1
+ },
+ {
+ IronPowder: 2
+ },
+ {
+ IronPowder: 1
+ },
+ )
+ Priority: 61
+},
+/****************************************************************************/
+{
+ Id: 131
+ Name: "CraftWarlordPlate"
+ Flag: 16
+ ReturnCode: 1306
+ //WarlordPlate
+ SourceItems:
+ (
+ {
+ TitaniumIngot: 15
+ SilverIngot: 5
+ IronPowder: 28
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ IronPowder: 1
+ },
+ {
+ IronPowder: 2
+ },
+ {
+ IronPowder: 1
+ },
+ )
+ Priority: 70
+},
+/****************************************************************************/
+{
+ Id: 132
+ Name: "CraftGoldenWarlordPlate"
+ Flag: 16
+ ReturnCode: 1329
+ //GoldenWarlordPlate
+ SourceItems:
+ (
+ {
+ GoldIngot: 45
+ WarlordPlate: 1
+ IronPowder: 30
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ IronPowder: 1
+ },
+ {
+ IronPowder: 2
+ },
+ {
+ IronPowder: 1
+ },
+ )
+ Priority: 71
+},
+/****************************************************************************/
+{
+ Id: 133
+ Name: "CraftBromenalChest"
+ Flag: 16
+ ReturnCode: 1307
+ //BromenalChest
+ SourceItems:
+ (
+ {
+ TitaniumIngot: 11
+ CopperIngot: 5
+ IronPowder: 28
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ IronPowder: 1
+ },
+ {
+ IronPowder: 2
+ },
+ {
+ IronPowder: 1
+ },
+ )
+ Priority: 72
+},
+/****************************************************************************/
+{
+ Id: 134
+ Name: "CraftAssassinChest"
+ Flag: 16
+ ReturnCode: 1333
+ //AssassinChest
+ SourceItems:
+ (
+ {
+ PlatinumIngot: 5
+ CottonCloth: 30
+ IronPowder: 34
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ IronPowder: 1
+ },
+ {
+ IronPowder: 2
+ },
+ {
+ IronPowder: 1
+ },
+ )
+ Priority: 80
+},
+/****************************************************************************/
+// 51~71 → Swords
+// 72~76 → Bows
+// 77~81 → Wands
+// 82 → Reserved for guns
+// 83~87 → Gloves
+// 88~91 → Stronger Shields
+// 92 → Reserved for gloves
+// 93~97 → Shields
+// 98, 99, 100 → Reserved for guns
+// 101, 102 → Misc
+// 103~114 → Helmets
+// 115~121 → Terranite
+// 122~124 → Special
+// 125~134 → Chest Armors
+// 135~144 → Pants
+// 145~199 → WIP
+//////////////////////////////////////////////////////////////////////////////
+{
+ Id: 135
+ Name: "CraftJeansShorts"
+ Flag: 16
+ ReturnCode: 2212
+ //JeansShorts
+ SourceItems:
+ (
+ {
+ CottonCloth: 10
+ CaveSnakeSkin: 5
+ LeatherPatch: 7
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ LeatherPatch: 1
+ },
+ {
+ LeatherPatch: 2
+ },
+ {
+ LeatherPatch: 1
+ },
+ )
+ Priority: 20
+},
+/****************************************************************************/
+{
+ Id: 136
+ Name: "CraftRaidTrousers"
+ Flag: 16
+ ReturnCode: 2201
+ //RaidTrousers
+ SourceItems:
+ (
+ {
+ CottonCloth: 30
+ WhiteFur: 25
+ LeatherPatch: 14
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ LeatherPatch: 1
+ },
+ {
+ LeatherPatch: 2
+ },
+ {
+ LeatherPatch: 1
+ },
+ )
+ Priority: 30
+},
+/****************************************************************************/
+{
+ Id: 137
+ Name: "CraftLeatherTrousers"
+ Flag: 16
+ ReturnCode: 2213
+ //LeatherTrousers
+ SourceItems:
+ (
+ {
+ CottonCloth: 30
+ Coal: 20
+ LeatherPatch: 19
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ LeatherPatch: 1
+ },
+ {
+ LeatherPatch: 2
+ },
+ {
+ LeatherPatch: 1
+ },
+ )
+ Priority: 40
+},
+/****************************************************************************/
+{
+ Id: 138
+ Name: "CraftJeansChaps"
+ Flag: 16
+ ReturnCode: 2204
+ //JeansChaps
+ SourceItems:
+ (
+ {
+ SnakeSkin: 35
+ CottonCloth: 20
+ LeatherPatch: 22
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ LeatherPatch: 1
+ },
+ {
+ LeatherPatch: 2
+ },
+ {
+ LeatherPatch: 1
+ },
+ )
+ Priority: 50
+},
+/****************************************************************************/
+{
+ Id: 139
+ Name: "CraftSilkPants"
+ Flag: 16
+ ReturnCode: 2208
+ //SilkPants
+ SourceItems:
+ (
+ {
+ SilkCocoon: 150
+ CottonCloth: 5
+ LeatherPatch: 24
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ LeatherPatch: 1
+ },
+ {
+ LeatherPatch: 2
+ },
+ {
+ LeatherPatch: 1
+ },
+ )
+ Priority: 51
+},
+/****************************************************************************/
+{
+ Id: 140
+ Name: "CraftChainmailSkirt"
+ Flag: 16
+ ReturnCode: 2211
+ //ChainmailSkirt
+ SourceItems:
+ (
+ {
+ IronIngot: 10
+ SilverIngot: 12
+ LeatherPatch: 26
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ LeatherPatch: 1
+ },
+ {
+ LeatherPatch: 2
+ },
+ {
+ LeatherPatch: 1
+ },
+ )
+ Priority: 60
+},
+/****************************************************************************/
+{
+ Id: 141
+ Name: "CraftBromenalPants"
+ Flag: 16
+ ReturnCode: 2203
+ //BromenalPants
+ SourceItems:
+ (
+ {
+ TitaniumIngot: 5
+ CopperIngot: 5
+ LeatherPatch: 30
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ LeatherPatch: 1
+ },
+ {
+ LeatherPatch: 2
+ },
+ {
+ LeatherPatch: 1
+ },
+ )
+ Priority: 70
+},
+/****************************************************************************/
+{
+ Id: 142
+ Name: "CraftWarlordPants"
+ Flag: 16
+ ReturnCode: 2215
+ //WarlordPants
+ SourceItems:
+ (
+ {
+ TitaniumIngot: 5
+ SilverIngot: 10
+ LeatherPatch: 30
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ LeatherPatch: 1
+ },
+ {
+ LeatherPatch: 2
+ },
+ {
+ LeatherPatch: 1
+ },
+ )
+ Priority: 71
+},
+/****************************************************************************/
+{
+ Id: 143
+ Name: "CraftAssassinPants"
+ Flag: 16
+ ReturnCode: 2202
+ //AssassinPants
+ SourceItems:
+ (
+ {
+ IridiumIngot: 3
+ CottonCloth: 45
+ LeatherPatch: 40
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ LeatherPatch: 1
+ },
+ {
+ LeatherPatch: 2
+ },
+ {
+ LeatherPatch: 1
+ },
+ )
+ Priority: 80
+},
+/****************************************************************************/
+// 51~71 → Swords
+// 72~76 → Bows
+// 77~81 → Wands
+// 82 → Reserved for guns
+// 83~87 → Gloves
+// 88~91 → Stronger Shields
+// 92 → Reserved for gloves
+// 93~97 → Shields
+// 98, 99, 100 → Reserved for guns
+// 101, 102 → Misc
+// 103~114 → Helmets
+// 115~121 → Terranite
+// 122~124 → Special
+// 125~134 → Chest Armors
+// 135~144 → Pants
+// 145~199 → WIP
+//////////////////////////////////////////////////////////////////////////////
+{
+ Id: 145
+ Name: "CraftLeatherBoots"
+ Flag: 16
+ ReturnCode: 1807
+ //LeatherBoots
+ SourceItems:
+ (
+ {
+ LeatherPatch: 10
+ ReedBundle: 2
+ PinkBlobime: 20
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ LeatherPatch: 1
+ },
+ {
+ PinkBlobime: 2
+ },
+ {
+ LeatherPatch: 1
+ },
+ )
+ Priority: 20
+},
+/****************************************************************************/
+{
+ Id: 146
+ Name: "CraftDeepBlackBoots"
+ Flag: 16
+ ReturnCode: 1802
+ //DeepBlackBoots
+ SourceItems:
+ (
+ {
+ LeatherPatch: 12
+ CopperIngot: 2
+ PinkBlobime: 20
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ LeatherPatch: 1
+ },
+ {
+ PinkBlobime: 2
+ },
+ {
+ LeatherPatch: 1
+ },
+ )
+ Priority: 30
+},
+/****************************************************************************/
+{
+ Id: 147
+ Name: "CraftBromenalBoots"
+ Flag: 16
+ ReturnCode: 1809
+ //BromenalBoots
+ SourceItems:
+ (
+ {
+ LeatherPatch: 14
+ IronIngot: 3
+ PinkBlobime: 20
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ LeatherPatch: 1
+ },
+ {
+ PinkBlobime: 2
+ },
+ {
+ LeatherPatch: 1
+ },
+ )
+ Priority: 40
+},
+/****************************************************************************/
+{
+ Id: 148
+ Name: "CraftWarlordBoots"
+ Flag: 16
+ ReturnCode: 1814
+ //WarlordBoots
+ SourceItems:
+ (
+ {
+ LeatherPatch: 18
+ TinIngot: 3
+ PinkBlobime: 24
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ LeatherPatch: 1
+ },
+ {
+ PinkBlobime: 2
+ },
+ {
+ LeatherPatch: 1
+ },
+ )
+ Priority: 50
+},
+/****************************************************************************/
+{
+ Id: 149
+ Name: "CraftAssassinBoots"
+ Flag: 16
+ ReturnCode: 1801
+ //AssassinBoots
+ SourceItems:
+ (
+ {
+ LeatherPatch: 24
+ TitaniumIngot: 3
+ PinkBlobime: 26
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ LeatherPatch: 1
+ },
+ {
+ PinkBlobime: 2
+ },
+ {
+ LeatherPatch: 1
+ },
+ )
+ Priority: 60
+},
+/****************************************************************************/
+{
+ Id: 150
+ Name: "CraftSaviorBoots"
+ Flag: 16
+ ReturnCode: 1815
+ //SaviorBoots
+ SourceItems:
+ (
+ {
+ IridiumIngot: 3
+ PlatinumIngot: 1
+ MylarinDust: 1
+ EarthPowder: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ IridiumIngot: 1
+ },
+ {
+ EarthPowder: 1
+ },
+ {
+ IridiumIngot: 1
+ },
+ )
+ Priority: 90
+},
+/****************************************************************************/
+
+// Cooking System (ID 200~250, Flag 4)
+//////////////////////////////////////////////////////////////////////////////
+/****************************************************************************/
+)
diff --git a/db/create_arrow_db.txt b/db/create_arrow_db.txt
new file mode 100644
index 0000000..f0f5f8e
--- /dev/null
+++ b/db/create_arrow_db.txt
@@ -0,0 +1,11 @@
+// Arrow Crafting Database
+//
+// Structure of Database:
+// SourceID,MakeID1,MakeAmount1,...,MakeID5,MakeAmount5
+//
+// 01. SourceID ID of the item, that is consumed by Arrow Crafting.
+// 02. MakeID ID of the item received from Arrow Crafting.
+// 03. MakeAmount Amount of MakeID item received from Arrow Crafting.
+// ...
+//
+// NOTE: Up to MAX_ARROW_RESOURCE (typically 5) ID/Amount pairs can be specified.
diff --git a/db/elemental_db.txt b/db/elemental_db.txt
new file mode 100644
index 0000000..633ebcd
--- /dev/null
+++ b/db/elemental_db.txt
@@ -0,0 +1,24 @@
+// Elemental Summons Database
+//
+// Structure of Database:
+// ID,Sprite_Name,Name,LV,HP,SP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Speed,aDelay,aMotion,dMotion
+// NOTE
+// Summoned Elemental’s STATs are affected by the Caster’s Base Level and STATs.
+// So all value added here will be added and will not override the calculated STATs of the summoned elemental.
+
+// Monster Elementals
+2114,EL_AGNI_S,Agni,100,0,1,1,0,0,0,0,0,0,0,0,0,0,5,12,0,0,83,200,504,1020,360
+2115,EL_AGNI_M,Agni,100,0,1,1,0,0,0,0,0,0,0,0,0,0,5,12,1,0,83,200,504,1020,360
+2116,EL_AGNI_L,Agni,100,0,1,1,0,0,0,0,0,0,0,0,0,0,5,12,2,0,83,200,504,1020,360
+
+2117,EL_AQUA_S,Aqua,100,0,1,1,0,0,0,0,0,0,0,0,0,0,5,12,0,0,81,200,504,1020,360
+2118,EL_AQUA_M,Aqua,100,0,1,1,0,0,0,0,0,0,0,0,0,0,5,12,1,0,81,200,504,1020,360
+2119,EL_AQUA_L,Aqua,100,0,1,1,0,0,0,0,1,1,1,1,1,1,5,12,2,0,81,200,504,1020,360
+
+2120,EL_VENTUS_S,Ventus,100,0,1,1,0,0,0,0,0,0,0,0,0,0,5,12,0,0,84,200,504,1020,360
+2121,EL_VENTUS_M,Ventus,100,0,1,1,0,0,0,0,0,0,0,0,0,0,5,12,1,0,84,200,504,1020,360
+2122,EL_VENTUS_L,Ventus,100,0,1,1,0,0,0,0,0,0,0,0,0,0,5,12,2,0,84,200,504,1020,360
+
+2123,EL_TERA_S,Tera,100,0,1,1,0,0,0,0,0,0,0,0,0,0,5,12,0,0,82,200,504,1020,360
+2124,EL_TERA_M,Tera,100,0,1,1,0,0,0,0,0,0,0,0,0,0,5,12,1,0,82,200,504,1020,360
+2125,EL_TERA_L,Tera,100,0,1,1,0,0,0,0,0,0,0,0,0,0,5,12,2,0,82,200,504,1020,360
diff --git a/db/elemental_skill_db.txt b/db/elemental_skill_db.txt
new file mode 100644
index 0000000..aa0a428
--- /dev/null
+++ b/db/elemental_skill_db.txt
@@ -0,0 +1,91 @@
+// Elemental Summons Skill Database
+//
+// Structure of Database:
+// ElementalID,SkillID,SkillLevel,ReqMode
+//
+// Spirit Modes: 1 = Passive, 2 = Defensive, 4 = Aggressive
+//====================================================
+
+//================
+// EL_AGNI_S
+//================
+2114,8413,1,1 //EL_PYROTECHNIC,Pyrotechnic
+2114,8401,1,2 //EL_CIRCLE_OF_FIRE,Circle of Fire
+2114,8425,1,4 //EL_FIRE_ARROW,Fire Arrow
+
+//================
+// EL_AGNI_M
+//================
+2115,8414,1,1 //EL_HEATER,Heater
+2115,8402,1,2 //EL_FIRE_CLOAK,Fire Cloak
+2115,8426,1,4 //EL_FIRE_BOMB,Fire Bomb
+
+//================
+// EL_AGNI_L
+//================
+2116,8415,1,1 //EL_TROPIC,Tropic
+2116,8403,1,2 //EL_FIRE_MANTLE,Fire Mantle
+2116,8428,1,4 //EL_FIRE_WAVE,Fire Wave
+
+//================
+// EL_AQUA_S
+//================
+2117,8416,1,1 //EL_AQUAPLAY,Aqua Play
+2117,8404,1,2 //EL_WATER_SCREEN,Water Screen
+2117,8430,1,4 //EL_ICE_NEEDLE,Ice Needle
+
+//================
+// EL_AQUA_M
+//================
+2118,8417,1,1 //EL_COOLER,Cooler
+2118,8405,1,2 //EL_WATER_DROP,Water Drop
+2118,8431,1,4 //EL_WATER_SCREW,Water Screw
+
+//================
+// EL_AQUA_L
+//================
+2119,8418,1,1 //EL_CHILLY_AIR,Cool Air
+2119,8406,1,2 //EL_WATER_BARRIER,Water Barrier
+2119,8433,1,4 //EL_TIDAL_WEAPON,Tidal Weapon
+
+//================
+// EL_VENTUS_S
+//================
+2120,8419,1,1 //EL_GUST,Gust
+2120,8407,1,2 //EL_WIND_STEP,Wind Step
+2120,8434,1,4 //EL_WIND_SLASH,Wind Slasher
+
+//================
+// EL_VENTUS_M
+//================
+2121,8420,1,1 //EL_BLAST,Blast
+2121,8408,1,2 //EL_WIND_CURTAIN,Wind Curtain
+2121,8435,1,4 //EL_HURRICANE,Hurricane Rage
+
+//================
+// EL_VENTUS_L
+//================
+2122,8421,1,1 //EL_WILD_STORM,Wild Storm
+2122,8409,1,2 //EL_ZEPHYR,Zephyr
+2122,8437,1,4 //EL_TYPOON_MIS,Typhoon Missile
+
+//================
+// EL_TERA_S
+//================
+2123,8422,1,1 //EL_PETROLOGY,Petrology
+2123,8410,1,2 //EL_SOLID_SKIN,Solid Skin
+2123,8439,1,4 //EL_STONE_HAMMER,Stone Hammer
+
+//================
+// EL_TERA_M
+//================
+2124,8423,1,1 //EL_CURSED_SOIL,Cursed Soil
+2124,8411,1,2 //EL_STONE_SHIELD,Stone Shield
+2124,8440,1,4 //EL_ROCK_CRUSHER,Rock Launcher
+
+//================
+// EL_TERA_L
+//================
+2125,8424,1,1 //EL_UPHEAVAL,Upheaval
+2125,8412,1,2 //EL_POWER_OF_GAIA,Power of Gaia
+2125,8442,1,4 //EL_STONE_RAIN,Stone Rain
diff --git a/db/guild_skill_tree.txt b/db/guild_skill_tree.txt
new file mode 100644
index 0000000..e5d8442
--- /dev/null
+++ b/db/guild_skill_tree.txt
@@ -0,0 +1,28 @@
+// Guild Skill Tree Database
+//
+// Structure of Database:
+// SkillID,MaxLv,Prerequisite SkillID1,Prerequisite SkillLv1,PrereqSkillID2,PrereqSkillLv2,PrereqSkillID3,PrereqSkillLv3,PrereqSkillID4,PrereqSkillLv4,PrereqSkillID5,PrereqSkillLv5 //GUILD SKILLNAME#Skill Name#
+//
+// 01. SkillID Skill ID of the guild skill.
+// 02. MaxLv Maximum level of the guild skill.
+// 03. Prerequisite SkillID Guild skill required for the skill to become available.
+// 04. Prerequisite SkillLv Level of the required guild skill.
+// ...
+//
+// NOTE: MAX_GUILD_SKILL_REQUIRE (typically 5) ID/Lv pairs must be specified.
+
+10000,1,0,0,0,0,0,0,0,0,0,0 //GD_APPROVAL#Official Guild Approval#
+10001,1,0,0,0,0,0,0,0,0,0,0 //GD_KAFRACONTRACT#Contract with Kafra#
+10002,1,0,0,0,0,0,0,0,0,0,0 //GD_GUARDRESEARCH#Guardian Research#
+10003,3,0,0,0,0,0,0,0,0,0,0 //GD_GUARDUP#Strengthen Guardians#
+10004,10,0,0,0,0,0,0,0,0,0,0 //GD_EXTENSION#Guild Extension#
+10005,0,0,0,0,0,0,0,0,0,0,0 //GD_GLORYGUILD#Guilds Glory#
+10006,5,0,0,0,0,0,0,0,0,0,0 //GD_LEADERSHIP#Great Leadership#
+10007,5,0,0,0,0,0,0,0,0,0,0 //GD_GLORYWOUNDS#Glorious Wounds#
+10008,5,0,0,0,0,0,0,0,0,0,0 //GD_SOULCOLD#Cold Heart#
+10009,5,0,0,0,0,0,0,0,0,0,0 //GD_HAWKEYES#Sharp Gaze#
+10010,1,0,0,0,0,0,0,0,0,0,0 //GD_BATTLEORDER#Battle Command#
+10011,3,0,0,0,0,0,0,0,0,0,0 //GD_REGENERATION#Regeneration#
+10012,1,0,0,0,0,0,0,0,0,0,0 //GD_RESTORE#Restoration#
+10013,1,0,0,0,0,0,0,0,0,0,0 //GD_EMERGENCYCALL#Urgent Call#
+10014,1,0,0,0,0,0,0,0,0,0,0 //GD_DEVELOPMENT#Permanent Development#
diff --git a/db/homun_skill_tree.txt b/db/homun_skill_tree.txt
new file mode 100644
index 0000000..fed47da
--- /dev/null
+++ b/db/homun_skill_tree.txt
@@ -0,0 +1,63 @@
+// FIXME: Homunculus Skill Tree Database
+//
+// Structure of Database:
+// Class,SkillID,MaxLv[,JobLevel],Prerequisite SkillID1,Prerequisite SkillLv1,PrereqSkillID2,PrereqSkillLv2,PrereqSkillID3,PrereqSkillLv3,PrereqSkillID4,PrereqSkillLv4,PrereqSkillID5,PrereqSkillLv5,IntimacyLvReq //SKILLNAME#Skill Name#
+//
+// 01. Class Homunculus ID.
+// 02. SkillID Skill ID of the homunuculus skill.
+// 03. MaxLv Maximum level of the homunuculus skill.
+// 04. JobLevel Job level required for the skill to become available (optional, reserved, not used by server).
+// 05. Prerequisite SkillID Homunculus skill required for the skill to become available.
+// 06. Prerequisite SkillLv Level of the required homunculus skill.
+// ...
+// 15. IntimacyLvReq Minimum level of intimacy to unlock skill.
+//
+// NOTE: MAX_PC_SKILL_REQUIRE (typically 5) ID/Lv pairs must be specified.
+
+// 6001 = mage
+// 6002 = tanker
+// 6003 = agile
+// 6004 = strong
+// 6005 = lucky
+// 6006 = accurate
+// 6007 = all rounder
+// 6008 = superior
+
+6001,8047,5,0,0,0,0,0,0,0,0,0,0,0 //TMW2_CAPRICE - Rand-cast bolts
+6002,8045,9,0,0,0,0,0,0,0,0,0,0,0 //TMW2_HOMUN_HEAL - healing skill.
+6003,8048,5,0,0,0,0,0,0,0,0,0,0,0 //TMW2_AVOID - Raises walk speed
+6004,8050,5,0,0,0,0,0,0,0,0,0,0,0 //TMW2_BLOODLUST - Raise ATK and leech HP
+6004,8049,5,0,0,0,0,0,0,0,0,0,0,0 //TMW2_HDEFENCE - Raises vit for both
+6005,8051,5,0,0,0,0,0,0,0,0,0,0,0 //TMW2_MOON - Like Bash, can also multihit
+6005,8046,5,0,0,0,0,0,0,0,0,0,0,0 //TMW2_LITTLE_WONDERS - Dispel some ailments
+6006,8044,5,0,0,0,0,0,0,0,0,0,0,0 //TMW2_SKILLX - Raises EXP gain from target
+6007,8007,5,0,0,0,0,0,0,0,0,0,0,0 //*HAMI_SKIN - Passive, raises HC HP/Regen/DEF
+6007,8053,5,0,0,0,0,0,0,0,0,0,0,0 //TMW2_SPEED - Raise HC Flee/Evasion
+6008,8052,5,0,0,0,0,0,0,0,0,0,0,0 //TMW2_FLEET - Raise HC ATK and ASPD
+6008,8015,5,0,0,0,0,0,0,0,0,0,0,0 //*HVAN_INSTRUCT - PASSIVE SMALL HC STR/INT+.
+
+// Second tier skills
+6001,8054,5,8047,3,0,0,0,0,0,0,0,0,850 //TMW2_POISONMIST → AOE blind, nature dmg
+6005,8054,5,8051,3,8046,1,0,0,0,0,0,0,850 //TMW2_POISONMIST → AOE blind, nature dmg
+6008,8054,5,8052,4,8015,4,0,0,0,0,0,0,950 //TMW2_POISONMIST → AOE blind, nature dmg
+
+6002,8003,5,8045,3,0,0,0,0,0,0,0,0,750 //*HLIF_BRAIN (P) Raises Max SP and Regen
+6006,8003,5,8049,3,0,0,0,0,0,0,0,0,750 //*HLIF_BRAIN (P) Raises Max SP and Regen
+6007,8003,5,8007,4,8053,4,0,0,0,0,0,0,850 //*HLIF_BRAIN (P) Raises Max SP and Regen
+6008,8003,5,8015,4,8052,4,0,0,0,0,0,0,850 //*HLIF_BRAIN (P) Raises Max SP and Regen
+
+6003,8055,5,8048,3,0,0,0,0,0,0,0,0,850 //TMW2_GOLDENFERSE → +FLEE, ASPD ~ Holydmg
+6004,8055,5,8050,3,0,0,0,0,0,0,0,0,850 //TMW2_GOLDENFERSE → +FLEE, ASPD ~ Holydmg
+6007,8055,5,8053,4,0,0,0,0,0,0,0,0,950 //TMW2_GOLDENFERSE → +FLEE, ASPD ~ Holydmg
+
+// Specials for underpowered Homunculus
+6006,8052,1,0,0,0,0,0,0,0,0,0,0,500 //TMW2_FLEET - Raise HC ATK and ASPD
+6002,8056,1,8045,9,8003,5,0,0,0,0,0,0,900 //TMW2_STAHLHORN → EXTREME DAMAGE, STUN AND KNOCKBACK
+
+// Debug Homunculus
+6010,8054,5,0,0,0,0,0,0,0,0,0,0,500 // P. Mist
+6010,8055,5,0,0,0,0,0,0,0,0,0,0,500
+6010,8056,5,0,0,0,0,0,0,0,0,0,0,500
+6010,8003,5,0,0,0,0,0,0,0,0,0,0,500
+6010,8044,5,0,0,0,0,0,0,0,0,0,0,900
+6010,8047,5,8054,3,0,0,0,0,0,0,0,0,500 // Caprice
diff --git a/db/item_db2.conf b/db/item_db2.conf
new file mode 100644
index 0000000..d499c10
--- /dev/null
+++ b/db/item_db2.conf
@@ -0,0 +1,3 @@
+item_db: (
+
+)
diff --git a/db/item_options.conf b/db/item_options.conf
new file mode 100644
index 0000000..542ca40
--- /dev/null
+++ b/db/item_options.conf
@@ -0,0 +1,1128 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2017 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/>.
+//=========================================================================
+//= Items Options Database
+//=========================================================================
+
+item_options_db: (
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+{
+ Id: (int) This value must be unique, with an index
+ that is represented client-side in
+ data/luafiles514/lua files/datainfo/addrandomoptionnametable.lub
+ Name: (string) Must be a unique string since it is used
+ as a constant.
+ Script: <""> Script effect of the option. Utilizes getequippedoptioninfo
+ for a variable bonus effect.
+},
+*/
+{
+ Id: 1
+ Name: "VAR_MAXHPAMOUNT"
+ Script: <" bonus(bMaxHP, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 2
+ Name: "VAR_MAXSPAMOUNT"
+ Script: <" bonus(bMaxSP, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 3
+ Name: "VAR_STRAMOUNT"
+ Script: <" bonus(bStr, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 4
+ Name: "VAR_AGIAMOUNT"
+ Script: <" bonus(bAgi, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 5
+ Name: "VAR_VITAMOUNT"
+ Script: <" bonus(bVit, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 6
+ Name: "VAR_INTAMOUNT"
+ Script: <" bonus(bInt, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 7
+ Name: "VAR_DEXAMOUNT"
+ Script: <" bonus(bDex, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 8
+ Name: "VAR_LUKAMOUNT"
+ Script: <" bonus(bLuk, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 9
+ Name: "VAR_MAXHPPERCENT"
+ Script: <" bonus(bMaxHPrate, min(100, getequippedoptioninfo(IT_OPT_VALUE))); ">
+},
+{
+ Id: 10
+ Name: "VAR_MAXSPPERCENT"
+ Script: <" bonus(bMaxSPrate, min(100, getequippedoptioninfo(IT_OPT_VALUE))); ">
+},
+{
+ Id: 11
+ Name: "VAR_HPACCELERATION"
+ Script: <" bonus(bHPrecovRate, min(100, getequippedoptioninfo(IT_OPT_VALUE))); ">
+},
+{
+ Id: 12
+ Name: "VAR_SPACCELERATION"
+ Script: <" bonus(bSPrecovRate, min(100, getequippedoptioninfo(IT_OPT_VALUE))); ">
+},
+{
+ Id: 13
+ Name: "VAR_ATKPERCENT"
+ Script: <" bonus(bAtkRate, min(100, getequippedoptioninfo(IT_OPT_VALUE))); ">
+},
+{
+ Id: 14
+ Name: "VAR_MAGICATKPERCENT"
+ Script: <" bonus(bMatkRate, min(100, getequippedoptioninfo(IT_OPT_VALUE))); ">
+},
+{
+ Id: 15
+ Name: "VAR_PLUSASPD"
+ Script: <" bonus(bAspd, getequippedoptioninfo(IT_OPT_VALUE)/2); bonus(bHit, -(getequippedoptioninfo(IT_OPT_VALUE))); ">
+},
+{
+ Id: 16
+ Name: "VAR_PLUSASPDPERCENT"
+ Script: <" bonus(bAspdRate, getequippedoptioninfo(IT_OPT_VALUE)); bonus(bHit, -(getequippedoptioninfo(IT_OPT_VALUE))*2); ">
+},
+{
+ Id: 17
+ Name: "VAR_ATTPOWER"
+ Script: <" bonus(bAtk, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 18
+ Name: "VAR_HITSUCCESSVALUE"
+ Script: <" bonus(bHit, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 19
+ Name: "VAR_ATTMPOWER"
+ Script: <" bonus(bMatk, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 20
+ Name: "VAR_ITEMDEFPOWER"
+ Script: <" bonus(bDef, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 21
+ Name: "VAR_MDEFPOWER"
+ Script: <" bonus(bMdef, min(100, getequippedoptioninfo(IT_OPT_VALUE))); ">
+},
+{
+ Id: 22
+ Name: "VAR_AVOIDSUCCESSVALUE"
+ Script: <" bonus(bFlee, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 23
+ Name: "VAR_PLUSAVOIDSUCCESSVALUE"
+ Script: <" bonus(bFlee2, min(100, getequippedoptioninfo(IT_OPT_VALUE))); ">
+},
+{
+ Id: 24
+ Name: "VAR_CRITICALRATE"
+ Script: <" bonus(bCriticalRate, min(100, getequippedoptioninfo(IT_OPT_VALUE))); ">
+},
+{
+ Id: 25
+ Name: "ATTR_TOLERACE_NOTHING"
+ Script: <" bonus2(bSubEle, Ele_Neutral, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 26
+ Name: "ATTR_TOLERACE_WATER"
+ Script: <" bonus2(bSubEle, Ele_Water, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 27
+ Name: "ATTR_TOLERACE_GROUND"
+ Script: <" bonus2(bSubEle, Ele_Earth, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 28
+ Name: "ATTR_TOLERACE_FIRE"
+ Script: <" bonus2(bSubEle, Ele_Fire, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 29
+ Name: "ATTR_TOLERACE_WIND"
+ Script: <" bonus2(bSubEle, Ele_Wind, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 30
+ Name: "ATTR_TOLERACE_POISON"
+ Script: <" bonus2(bSubEle, Ele_Nature, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 31
+ Name: "ATTR_TOLERACE_SAINT"
+ Script: <" bonus2(bSubEle, Ele_Holy, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 32
+ Name: "ATTR_TOLERACE_DARKNESS"
+ Script: <" bonus2(bSubEle, Ele_Dark, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 33
+ Name: "ATTR_TOLERACE_TELEKINESIS"
+ Script: <" bonus2(bSubEle, Ele_Ghost, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 34
+ Name: "ATTR_TOLERACE_UNDEAD"
+ Script: <" bonus2(bSubEle, Ele_Undead, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 35
+ Name: "ATTR_TOLERACE_ALL"
+ Script: <" bonus2(bSubEle, Ele_All, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+// TODO: Confirm if damage reduction is implemented correctly.
+// kRO desc : <ELEMENT> 몬스터로부터 받는 물리 ë°ë¯¸ì§€ %d%% ê°ì†Œ.
+{
+ Id: 36
+ Name: "DAMAGE_PROPERTY_NOTHING_USER"
+ Script: <" bonus3(bSubEle, Ele_Neutral, getequippedoptioninfo(IT_OPT_VALUE), BF_NORMAL); ">
+},
+{
+ Id: 37
+ Name: "DAMAGE_PROPERTY_NOTHING_TARGET"
+ Script: <" bonus2(bAddEle, Ele_Neutral, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 38
+ Name: "DAMAGE_PROPERTY_WATER_USER"
+ Script: <" bonus3(bSubEle, Ele_Water, getequippedoptioninfo(IT_OPT_VALUE), BF_NORMAL); ">
+},
+{
+ Id: 39
+ Name: "DAMAGE_PROPERTY_WATER_TARGET"
+ Script: <" bonus2(bAddEle, Ele_Water, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 40
+ Name: "DAMAGE_PROPERTY_GROUND_USER"
+ Script: <" bonus3(bSubEle, Ele_Earth, getequippedoptioninfo(IT_OPT_VALUE), BF_NORMAL); ">
+},
+{
+ Id: 41
+ Name: "DAMAGE_PROPERTY_GROUND_TARGET"
+ Script: <" bonus2(bAddEle, Ele_Earth, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 42
+ Name: "DAMAGE_PROPERTY_FIRE_USER"
+ Script: <" bonus3(bSubEle, Ele_Fire, getequippedoptioninfo(IT_OPT_VALUE), BF_NORMAL); ">
+},
+{
+ Id: 43
+ Name: "DAMAGE_PROPERTY_FIRE_TARGET"
+ Script: <" bonus2(bAddEle, Ele_Fire, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 44
+ Name: "DAMAGE_PROPERTY_WIND_USER"
+ Script: <" bonus3(bSubEle, Ele_Wind, getequippedoptioninfo(IT_OPT_VALUE), BF_NORMAL); ">
+},
+{
+ Id: 45
+ Name: "DAMAGE_PROPERTY_WIND_TARGET"
+ Script: <" bonus2(bAddEle, Ele_Wind, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 46
+ Name: "DAMAGE_PROPERTY_POISON_USER"
+ Script: <" bonus3(bSubEle, Ele_Nature, getequippedoptioninfo(IT_OPT_VALUE), BF_NORMAL); ">
+},
+{
+ Id: 47
+ Name: "DAMAGE_PROPERTY_POISON_TARGET"
+ Script: <" bonus2(bAddEle, Ele_Nature, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 48
+ Name: "DAMAGE_PROPERTY_SAINT_USER"
+ Script: <" bonus3(bSubEle, Ele_Holy, getequippedoptioninfo(IT_OPT_VALUE), BF_NORMAL); ">
+},
+{
+ Id: 49
+ Name: "DAMAGE_PROPERTY_SAINT_TARGET"
+ Script: <" bonus2(bAddEle, Ele_Holy, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 50
+ Name: "DAMAGE_PROPERTY_DARKNESS_USER"
+ Script: <" bonus3(bSubEle, Ele_Dark, getequippedoptioninfo(IT_OPT_VALUE), BF_NORMAL); ">
+},
+{
+ Id: 51
+ Name: "DAMAGE_PROPERTY_DARKNESS_TARGET"
+ Script: <" bonus2(bAddEle, Ele_Dark, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 52
+ Name: "DAMAGE_PROPERTY_TELEKINESIS_USER"
+ Script: <" bonus3(bSubEle, Ele_Ghost, getequippedoptioninfo(IT_OPT_VALUE), BF_NORMAL); ">
+},
+{
+ Id: 53
+ Name: "DAMAGE_PROPERTY_TELEKINESIS_TARGET"
+ Script: <" bonus2(bAddEle, Ele_Ghost, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 54
+ Name: "DAMAGE_PROPERTY_UNDEAD_USER"
+ Script: <" bonus3(bSubEle, Ele_Undead, getequippedoptioninfo(IT_OPT_VALUE), BF_NORMAL); ">
+},
+{
+ Id: 55
+ Name: "DAMAGE_PROPERTY_UNDEAD_TARGET"
+ Script: <" bonus2(bAddEle, Ele_Undead, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 56
+ Name: "MDAMAGE_PROPERTY_NOTHING_USER"
+ Script: <" bonus3(bSubEle, Ele_Neutral, getequippedoptioninfo(IT_OPT_VALUE), BF_MAGIC); ">
+},
+{
+ Id: 57
+ Name: "MDAMAGE_PROPERTY_NOTHING_TARGET"
+ Script: <" bonus2(bMagicAddEle, Ele_Neutral, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 58
+ Name: "MDAMAGE_PROPERTY_WATER_USER"
+ Script: <" bonus3(bSubEle, Ele_Water, getequippedoptioninfo(IT_OPT_VALUE), BF_MAGIC); ">
+},
+{
+ Id: 59
+ Name: "MDAMAGE_PROPERTY_WATER_TARGET"
+ Script: <" bonus2(bMagicAddEle, Ele_Water, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 60
+ Name: "MDAMAGE_PROPERTY_GROUND_USER"
+ Script: <" bonus3(bSubEle, Ele_Earth, getequippedoptioninfo(IT_OPT_VALUE), BF_MAGIC); ">
+},
+{
+ Id: 61
+ Name: "MDAMAGE_PROPERTY_GROUND_TARGET"
+ Script: <" bonus2(bMagicAddEle, Ele_Earth, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 62
+ Name: "MDAMAGE_PROPERTY_FIRE_USER"
+ Script: <" bonus3(bSubEle, Ele_Fire, getequippedoptioninfo(IT_OPT_VALUE), BF_MAGIC); ">
+},
+{
+ Id: 63
+ Name: "MDAMAGE_PROPERTY_FIRE_TARGET"
+ Script: <" bonus2(bMagicAddEle, Ele_Fire, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 64
+ Name: "MDAMAGE_PROPERTY_WIND_USER"
+ Script: <" bonus3(bSubEle, Ele_Wind, getequippedoptioninfo(IT_OPT_VALUE), BF_MAGIC); ">
+},
+{
+ Id: 65
+ Name: "MDAMAGE_PROPERTY_WIND_TARGET"
+ Script: <" bonus2(bMagicAddEle, Ele_Wind, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 66
+ Name: "MDAMAGE_PROPERTY_POISON_USER"
+ Script: <" bonus3(bSubEle, Ele_Nature, getequippedoptioninfo(IT_OPT_VALUE), BF_MAGIC); ">
+},
+{
+ Id: 67
+ Name: "MDAMAGE_PROPERTY_POISON_TARGET"
+ Script: <" bonus2(bMagicAddEle, Ele_Nature, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 68
+ Name: "MDAMAGE_PROPERTY_SAINT_USER"
+ Script: <" bonus3(bSubEle, Ele_Holy, getequippedoptioninfo(IT_OPT_VALUE), BF_MAGIC); ">
+},
+{
+ Id: 69
+ Name: "MDAMAGE_PROPERTY_SAINT_TARGET"
+ Script: <" bonus2(bMagicAddEle, Ele_Holy, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 70
+ Name: "MDAMAGE_PROPERTY_DARKNESS_USER"
+ Script: <" bonus3(bSubEle, Ele_Dark, getequippedoptioninfo(IT_OPT_VALUE), BF_MAGIC); ">
+},
+{
+ Id: 71
+ Name: "MDAMAGE_PROPERTY_DARKNESS_TARGET"
+ Script: <" bonus2(bMagicAddEle, Ele_Dark, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 72
+ Name: "MDAMAGE_PROPERTY_TELEKINESIS_USER"
+ Script: <" bonus3(bSubEle, Ele_Ghost, getequippedoptioninfo(IT_OPT_VALUE), BF_MAGIC); ">
+},
+{
+ Id: 73
+ Name: "MDAMAGE_PROPERTY_TELEKINESIS_TARGET"
+ Script: <" bonus2(bMagicAddEle, Ele_Ghost, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 74
+ Name: "MDAMAGE_PROPERTY_UNDEAD_USER"
+ Script: <" bonus3(bSubEle, Ele_Undead, getequippedoptioninfo(IT_OPT_VALUE), BF_MAGIC); ">
+},
+{
+ Id: 75
+ Name: "MDAMAGE_PROPERTY_UNDEAD_TARGET"
+ Script: <" bonus2(bMagicAddEle, Ele_Undead, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 76
+ Name: "BODY_ATTR_NOTHING"
+ Script: <" bonus(bDefEle, Ele_Neutral); ">
+},
+{
+ Id: 77
+ Name: "BODY_ATTR_WATER"
+ Script: <" bonus(bDefEle, Ele_Water); ">
+},
+{
+ Id: 78
+ Name: "BODY_ATTR_GROUND"
+ Script: <" bonus(bDefEle, Ele_Earth); ">
+},
+{
+ Id: 79
+ Name: "BODY_ATTR_FIRE"
+ Script: <" bonus(bDefEle, Ele_Fire); ">
+},
+{
+ Id: 80
+ Name: "BODY_ATTR_WIND"
+ Script: <" bonus(bDefEle, Ele_Wind); ">
+},
+{
+ Id: 81
+ Name: "BODY_ATTR_POISON"
+ Script: <" bonus(bDefEle, Ele_Nature); ">
+},
+{
+ Id: 82
+ Name: "BODY_ATTR_SAINT"
+ Script: <" bonus(bDefEle, Ele_Holy); ">
+},
+{
+ Id: 83
+ Name: "BODY_ATTR_DARKNESS"
+ Script: <" bonus(bDefEle, Ele_Dark); ">
+},
+{
+ Id: 84
+ Name: "BODY_ATTR_TELEKINESIS"
+ Script: <" bonus(bDefEle, Ele_Ghost); ">
+},
+{
+ Id: 85
+ Name: "BODY_ATTR_UNDEAD"
+ Script: <" bonus(bDefEle, Ele_Undead); ">
+},
+{
+ Id: 86
+ Name: "BODY_ATTR_ALL"
+ Script: <" /* Needs more info */ ">
+},
+{
+ Id: 87
+ Name: "RACE_TOLERACE_NOTHING"
+ Script: <"
+ if (RENEWAL)
+ bonus2(bAddRaceTolerance, RC_Formless, getequippedoptioninfo(IT_OPT_VALUE));
+ else
+ bonus2(bSubRace, RC_Formless, getequippedoptioninfo(IT_OPT_VALUE));
+ ">
+},
+{
+ Id: 88
+ Name: "RACE_TOLERACE_UNDEAD"
+ Script: <"
+ if (RENEWAL)
+ bonus2(bAddRaceTolerance, RC_Undead, getequippedoptioninfo(IT_OPT_VALUE));
+ else
+ bonus2(bSubRace, RC_Undead, getequippedoptioninfo(IT_OPT_VALUE));
+ ">
+},
+{
+ Id: 89
+ Name: "RACE_TOLERACE_ANIMAL"
+ Script: <"
+ if (RENEWAL)
+ bonus2(bAddRaceTolerance, RC_Brute, getequippedoptioninfo(IT_OPT_VALUE));
+ else
+ bonus2(bSubRace, RC_Brute, getequippedoptioninfo(IT_OPT_VALUE));
+ ">
+},
+{
+ Id: 90
+ Name: "RACE_TOLERACE_PLANT"
+ Script: <"
+ if (RENEWAL)
+ bonus2(bAddRaceTolerance, RC_Plant, getequippedoptioninfo(IT_OPT_VALUE));
+ else
+ bonus2(bSubRace, RC_Plant, getequippedoptioninfo(IT_OPT_VALUE));
+ ">
+},
+{
+ Id: 91
+ Name: "RACE_TOLERACE_INSECT"
+ Script: <"
+ if (RENEWAL)
+ bonus2(bAddRaceTolerance, RC_Insect, getequippedoptioninfo(IT_OPT_VALUE));
+ else
+ bonus2(bSubRace, RC_Insect, getequippedoptioninfo(IT_OPT_VALUE));
+ ">
+},
+/*
+{
+ Id: 92
+ Name: "RACE_TOLERACE_MINERALS"
+ Script: <"
+ if (RENEWAL)
+ bonus2(bAddRaceTolerance, RC_Mineral, getequippedoptioninfo(IT_OPT_VALUE));
+ else
+ bonus2(bSubRace, RC_Mineral, getequippedoptioninfo(IT_OPT_VALUE));
+ ">
+},
+*/
+{
+ Id: 92
+ Name: "VAR_CRITICALSUCCESSVALUE"
+ Script: <" bonus(bCritical, min(100, getequippedoptioninfo(IT_OPT_VALUE))); ">
+},
+{
+ Id: 93
+ Name: "RACE_TOLERACE_UNUSED"
+ Script: <"
+ if (RENEWAL)
+ bonus2(bAddRaceTolerance, RC_Unused, getequippedoptioninfo(IT_OPT_VALUE));
+ else
+ bonus2(bSubRace, RC_Unused, getequippedoptioninfo(IT_OPT_VALUE));
+ ">
+},
+{
+ Id: 94
+ Name: "RACE_TOLERACE_HUMAN"
+ Script: <"
+ if (RENEWAL)
+ bonus2(bAddRaceTolerance, RC_DemiPlayer, getequippedoptioninfo(IT_OPT_VALUE));
+ else
+ bonus2(bSubRace, RC_DemiPlayer, getequippedoptioninfo(IT_OPT_VALUE));
+ ">
+},
+{
+ Id: 95
+ Name: "RACE_TOLERACE_LEGEND"
+ Script: <"
+ if (RENEWAL)
+ bonus2(bAddRaceTolerance, RC_Legendary, getequippedoptioninfo(IT_OPT_VALUE));
+ else
+ bonus2(bSubRace, RC_Legendary, getequippedoptioninfo(IT_OPT_VALUE));
+ ">
+},
+{
+ Id: 96
+ Name: "RACE_TOLERACE_DRAGON"
+ Script: <"
+ if (RENEWAL)
+ bonus2(bAddRaceTolerance, RC_Dragon, getequippedoptioninfo(IT_OPT_VALUE));
+ else
+ bonus2(bSubRace, RC_Dragon, getequippedoptioninfo(IT_OPT_VALUE));
+ ">
+},
+{
+ Id: 97
+ Name: "RACE_DAMAGE_NOTHING"
+ Script: <" bonus2(bAddRace, RC_Formless, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 98
+ Name: "RACE_DAMAGE_UNDEAD"
+ Script: <" bonus2(bAddRace, RC_Undead, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 99
+ Name: "RACE_DAMAGE_ANIMAL"
+ Script: <" bonus2(bAddRace, RC_Brute, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 100
+ Name: "RACE_DAMAGE_PLANT"
+ Script: <" bonus2(bAddRace, RC_Plant, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 101
+ Name: "RACE_DAMAGE_INSECT"
+ Script: <" bonus2(bAddRace, RC_Insect, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+/*
+{
+ Id: 102
+ Name: "RACE_DAMAGE_MINERALS"
+ Script: <" bonus2(bAddRace, RC_Mineral, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+*/
+{
+ Id: 103
+ Name: "RACE_DAMAGE_UNUSED"
+ Script: <" bonus2(bAddRace, RC_Unused, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 104
+ Name: "RACE_DAMAGE_HUMAN"
+ Script: <" bonus2(bAddRace, RC_DemiPlayer, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 105
+ Name: "RACE_DAMAGE_LEGEND"
+ Script: <" bonus2(bAddRace, RC_Legendary, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 106
+ Name: "RACE_DAMAGE_DRAGON"
+ Script: <" bonus2(bAddRace, RC_Dragon, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 107
+ Name: "RACE_MDAMAGE_NOTHING"
+ Script: <" bonus2(bMagicAddRace, RC_Formless, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 108
+ Name: "RACE_MDAMAGE_UNDEAD"
+ Script: <" bonus2(bMagicAddRace, RC_Undead, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 109
+ Name: "RACE_MDAMAGE_ANIMAL"
+ Script: <" bonus2(bMagicAddRace, RC_Brute, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 110
+ Name: "RACE_MDAMAGE_PLANT"
+ Script: <" bonus2(bMagicAddRace, RC_Plant, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 111
+ Name: "RACE_MDAMAGE_INSECT"
+ Script: <" bonus2(bMagicAddRace, RC_Insect, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+/*
+{
+ Id: 112
+ Name: "RACE_MDAMAGE_MINERALS"
+ Script: <" bonus2(bMagicAddRace, RC_Mineral, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+*/
+{
+ Id: 113
+ Name: "RACE_MDAMAGE_UNUSED"
+ Script: <" bonus2(bMagicAddRace, RC_Unused, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 114
+ Name: "RACE_MDAMAGE_HUMAN"
+ Script: <" bonus2(bMagicAddRace, RC_DemiPlayer, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 115
+ Name: "RACE_MDAMAGE_LEGEND"
+ Script: <" bonus2(bMagicAddRace, RC_Legendary, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 116
+ Name: "RACE_MDAMAGE_DRAGON"
+ Script: <" bonus2(bMagicAddRace, RC_Dragon, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 117
+ Name: "RACE_CRI_PERCENT_NOTHING"
+ Script: <" bonus2(bCriticalAddRace, RC_Formless, getequippedoptioninfo(IT_OPT_VALUE) / 10); ">
+},
+{
+ Id: 118
+ Name: "RACE_CRI_PERCENT_UNDEAD"
+ Script: <" bonus2(bCriticalAddRace, RC_Undead, getequippedoptioninfo(IT_OPT_VALUE) / 10); ">
+},
+{
+ Id: 119
+ Name: "RACE_CRI_PERCENT_ANIMAL"
+ Script: <" bonus2(bCriticalAddRace, RC_Brute, getequippedoptioninfo(IT_OPT_VALUE) / 10); ">
+},
+{
+ Id: 120
+ Name: "RACE_CRI_PERCENT_PLANT"
+ Script: <" bonus2(bCriticalAddRace, RC_Plant, getequippedoptioninfo(IT_OPT_VALUE) / 10); ">
+},
+{
+ Id: 121
+ Name: "RACE_CRI_PERCENT_INSECT"
+ Script: <" bonus2(bCriticalAddRace, RC_Insect, getequippedoptioninfo(IT_OPT_VALUE) / 10); ">
+},
+/*
+{
+ Id: 122
+ Name: "RACE_CRI_PERCENT_MINERALS"
+ Script: <" bonus2(bCriticalAddRace, RC_Mineral, getequippedoptioninfo(IT_OPT_VALUE) / 10); ">
+},
+*/
+{
+ Id: 123
+ Name: "RACE_CRI_PERCENT_UNUSED"
+ Script: <" bonus2(bCriticalAddRace, RC_Unused, getequippedoptioninfo(IT_OPT_VALUE) / 10); ">
+},
+{
+ Id: 124
+ Name: "RACE_CRI_PERCENT_HUMAN"
+ Script: <" bonus2(bCriticalAddRace, RC_DemiPlayer, getequippedoptioninfo(IT_OPT_VALUE) / 10); ">
+},
+{
+ Id: 125
+ Name: "RACE_CRI_PERCENT_LEGEND"
+ Script: <" bonus2(bCriticalAddRace, RC_Legendary, getequippedoptioninfo(IT_OPT_VALUE) / 10); ">
+},
+{
+ Id: 126
+ Name: "RACE_CRI_PERCENT_DRAGON"
+ Script: <" bonus2(bCriticalAddRace, RC_Dragon, getequippedoptioninfo(IT_OPT_VALUE) / 10); ">
+},
+{
+ Id: 127
+ Name: "RACE_IGNORE_DEF_PERCENT_NOTHING"
+ Script: <" bonus2(bIgnoreDefRate, RC_Formless, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 128
+ Name: "RACE_IGNORE_DEF_PERCENT_UNDEAD"
+ Script: <" bonus2(bIgnoreDefRate, RC_Undead, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 129
+ Name: "RACE_IGNORE_DEF_PERCENT_ANIMAL"
+ Script: <" bonus2(bIgnoreDefRate, RC_Brute, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 130
+ Name: "RACE_IGNORE_DEF_PERCENT_PLANT"
+ Script: <" bonus2(bIgnoreDefRate, RC_Plant, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 131
+ Name: "RACE_IGNORE_DEF_PERCENT_INSECT"
+ Script: <" bonus2(bIgnoreDefRate, RC_Insect, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+/*
+{
+ Id: 132
+ Name: "RACE_IGNORE_DEF_PERCENT_MINERALS"
+ Script: <" bonus2(bIgnoreDefRate, RC_Mineral, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+*/
+{
+ Id: 133
+ Name: "RACE_IGNORE_DEF_PERCENT_UNUSED"
+ Script: <" bonus2(bIgnoreDefRate, RC_Unused, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 134
+ Name: "RACE_IGNORE_DEF_PERCENT_HUMAN"
+ Script: <" bonus2(bIgnoreDefRate, RC_DemiPlayer, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 135
+ Name: "RACE_IGNORE_DEF_PERCENT_LEGEND"
+ Script: <" bonus2(bIgnoreDefRate, RC_Legendary, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 136
+ Name: "RACE_IGNORE_DEF_PERCENT_DRAGON"
+ Script: <" bonus2(bIgnoreDefRate, RC_Dragon, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 137
+ Name: "RACE_IGNORE_MDEF_PERCENT_NOTHING"
+ Script: <" bonus2(bIgnoreMdefRate, RC_Formless, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 138
+ Name: "RACE_IGNORE_MDEF_PERCENT_UNDEAD"
+ Script: <" bonus2(bIgnoreMdefRate, RC_Undead, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 139
+ Name: "RACE_IGNORE_MDEF_PERCENT_ANIMAL"
+ Script: <" bonus2(bIgnoreMdefRate, RC_Brute, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 140
+ Name: "RACE_IGNORE_MDEF_PERCENT_PLANT"
+ Script: <" bonus2(bIgnoreMdefRate, RC_Plant, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 141
+ Name: "RACE_IGNORE_MDEF_PERCENT_INSECT"
+ Script: <" bonus2(bIgnoreMdefRate, RC_Insect, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+/*
+{
+ Id: 142
+ Name: "RACE_IGNORE_MDEF_PERCENT_MINERALS"
+ Script: <" bonus2(bIgnoreMdefRate, RC_Mineral, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+*/
+{
+ Id: 143
+ Name: "RACE_IGNORE_MDEF_PERCENT_UNUSED"
+ Script: <" bonus2(bIgnoreMdefRate, RC_Unused, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 144
+ Name: "RACE_IGNORE_MDEF_PERCENT_HUMAN"
+ Script: <" bonus2(bIgnoreMdefRate, RC_DemiPlayer, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 145
+ Name: "RACE_IGNORE_MDEF_PERCENT_LEGEND"
+ Script: <" bonus2(bIgnoreMdefRate, RC_Legendary, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 146
+ Name: "RACE_IGNORE_MDEF_PERCENT_DRAGON"
+ Script: <" bonus2(bIgnoreMdefRate, RC_Dragon, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 147
+ Name: "CLASS_DAMAGE_NORMAL_TARGET"
+ Script: <" bonus2(bAddRace2, RC_NonBoss, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 148
+ Name: "CLASS_DAMAGE_BOSS_TARGET"
+ Script: <" bonus2(bAddRace2, RC_Boss, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 149
+ Name: "CLASS_DAMAGE_NORMAL_USER"
+ Script: <"
+ if (RENEWAL)
+ bonus2(bAddRaceTolerance, RC_NonBoss, getequippedoptioninfo(IT_OPT_VALUE));
+ else
+ bonus2(bSubRace2, RC_NonBoss, getequippedoptioninfo(IT_OPT_VALUE));
+ ">
+},
+{
+ Id: 150
+ Name: "CLASS_DAMAGE_BOSS_USER"
+ Script: <"
+ if (RENEWAL)
+ bonus2(bAddRaceTolerance, RC_Boss, getequippedoptioninfo(IT_OPT_VALUE));
+ else
+ bonus2(bSubRace2, RC_Boss, getequippedoptioninfo(IT_OPT_VALUE));
+ ">
+},
+{
+ Id: 151
+ Name: "CLASS_MDAMAGE_NORMAL"
+ Script: <" bonus2(bMagicAddRace2, RC_NonBoss, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 152
+ Name: "CLASS_MDAMAGE_BOSS"
+ Script: <" bonus2(bMagicAddRace2, RC_Boss, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 153
+ Name: "CLASS_IGNORE_DEF_PERCENT_NORMAL"
+ Script: <" bonus2(bIgnoreDefRate, Class_Normal, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 154
+ Name: "CLASS_IGNORE_DEF_PERCENT_BOSS"
+ Script: <" bonus2(bIgnoreDefClassRate, Class_Boss, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 155
+ Name: "CLASS_IGNORE_MDEF_PERCENT_NORMAL"
+ Script: <" bonus2(bIgnoreMdefClassRate, Class_Normal, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 156
+ Name: "CLASS_IGNORE_MDEF_PERCENT_BOSS"
+ Script: <" bonus2(bIgnoreMdefClassRate, Class_Boss, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 157
+ Name: "DAMAGE_SIZE_SMALL_TARGET"
+ Script: <" bonus2(bAddSize, Size_Small, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 158
+ Name: "DAMAGE_SIZE_MIDIUM_TARGET"
+ Script: <" bonus2(bAddSize, Size_Medium, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 159
+ Name: "DAMAGE_SIZE_LARGE_TARGET"
+ Script: <" bonus2(bAddSize, Size_Large, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 160
+ Name: "DAMAGE_SIZE_SMALL_USER"
+ Script: <" bonus2(bSubSize, Size_Small, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 161
+ Name: "DAMAGE_SIZE_MIDIUM_USER"
+ Script: <" bonus2(bSubSize, Size_Medium, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 162
+ Name: "DAMAGE_SIZE_LARGE_USER"
+ Script: <" bonus2(bSubSize, Size_Large, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 163
+ Name: "DAMAGE_SIZE_PERFECT"
+ Script: <" bonus(bNoSizeFix, 1); ">
+},
+{
+ Id: 164
+ Name: "DAMAGE_CRI_TARGET"
+ Script: <" bonus(bCritAtkRate, min(100, getequippedoptioninfo(IT_OPT_VALUE))); ">
+},
+{
+ Id: 165
+ Name: "DAMAGE_CRI_USER"
+ Script: <" bonus(bCriticalDef, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 166
+ Name: "RANGE_ATTACK_DAMAGE_TARGET"
+ Script: <" bonus(bLongAtkRate, min(100, getequippedoptioninfo(IT_OPT_VALUE))); ">
+},
+{
+ Id: 167
+ Name: "RANGE_ATTACK_DAMAGE_USER"
+ Script: <" bonus(bLongAtkDef, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 168
+ Name: "HEAL_VALUE"
+ Script: <" bonus(bHealPower, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 169
+ Name: "HEAL_MODIFY_PERCENT"
+ Script: <" bonus(bHealPower2, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 170
+ Name: "DEC_SPELL_CAST_TIME"
+ Script: <" bonus(bVariableCastrate, -(min(100, getequippedoptioninfo(IT_OPT_VALUE)))); ">
+},
+{
+ Id: 171
+ Name: "DEC_SPELL_DELAY_TIME"
+ Script: <" bonus(bDelayrate, -(min(100, getequippedoptioninfo(IT_OPT_VALUE)))); ">
+},
+{
+ Id: 172
+ Name: "DEC_SP_CONSUMPTION"
+ Script: <" bonus(bUseSPrate, -(min(100, getequippedoptioninfo(IT_OPT_VALUE)))); ">
+},
+{
+ Id: 173
+ Name: "HP_DRAIN"
+ Script: <" bonus(bHPDrainValue, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 174
+ Name: "SP_DRAIN"
+ Script: <" bonus(bSPDrainValue, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 175
+ Name: "WEAPON_ATTR_NOTHING"
+ Script: <" bonus(bAtkEle, Ele_Neutral); ">
+},
+{
+ Id: 176
+ Name: "WEAPON_ATTR_WATER"
+ Script: <" bonus(bAtkEle, Ele_Water); ">
+},
+{
+ Id: 177
+ Name: "WEAPON_ATTR_GROUND"
+ Script: <" bonus(bAtkEle, Ele_Earth); ">
+},
+{
+ Id: 178
+ Name: "WEAPON_ATTR_FIRE"
+ Script: <" bonus(bAtkEle, Ele_Fire); ">
+},
+{
+ Id: 179
+ Name: "WEAPON_ATTR_WIND"
+ Script: <" bonus(bAtkEle, Ele_Wind); ">
+},
+{
+ Id: 180
+ Name: "WEAPON_ATTR_POISON"
+ Script: <" bonus(bAtkEle, Ele_Nature); ">
+},
+{
+ Id: 181
+ Name: "WEAPON_ATTR_SAINT"
+ Script: <" bonus(bAtkEle, Ele_Holy); ">
+},
+{
+ Id: 182
+ Name: "WEAPON_ATTR_DARKNESS"
+ Script: <" bonus(bAtkEle, Ele_Dark); ">
+},
+{
+ Id: 183
+ Name: "WEAPON_ATTR_TELEKINESIS"
+ Script: <" bonus(bAtkEle, Ele_Ghost); ">
+},
+{
+ Id: 184
+ Name: "WEAPON_ATTR_UNDEAD"
+ Script: <" bonus(bAtkEle, Ele_Undead); ">
+},
+{
+ Id: 185
+ Name: "WEAPON_INDESTRUCTIBLE"
+ Script: <" bonus(bUnbreakableWeapon, 1); ">
+},
+{
+ Id: 186
+ Name: "BODY_INDESTRUCTIBLE"
+ Script: <" bonus(bUnbreakableArmor, 1); ">
+},
+
+// TMW2 Scripts
+{
+ Id: 187
+ Name: "IOPT_SPLASHDAMAGE"
+ Script: <" bonus(bSplashAddRange, getequippedoptioninfo(IT_OPT_VALUE)); bonus(bAtkRate, -20); ">
+},
+{
+ Id: 188
+ Name: "IOPT_WALKSPEED"
+ Script: <" bonus(bSpeedAddRate, min(100, getequippedoptioninfo(IT_OPT_VALUE))); ">
+},
+{
+ Id: 189
+ Name: "IOPT_EXPGAIN"
+ Script: <" bonus2(bExpAddRace, RC_All, min(100, getequippedoptioninfo(IT_OPT_VALUE))); ">
+},
+{
+ Id: 190
+ Name: "IOPT_DOUBLEATTACK"
+ Script: <" bonus(bDoubleAddRate, min(100, getequippedoptioninfo(IT_OPT_VALUE))); ">
+},
+{
+ Id: 191
+ Name: "IOPT_SCRESIST_POISON"
+ Script: <" bonus2(bResEff,Eff_Poison, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 192
+ Name: "IOPT_SCRESIST_SILENCE"
+ Script: <" bonus2(bResEff,Eff_Silence, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 193
+ Name: "IOPT_SCRESIST_CURSE"
+ Script: <" bonus2(bResEff,Eff_Curse, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 194
+ Name: "IOPT_SCRESIST_BLIND"
+ Script: <" bonus2(bResEff,Eff_Blind, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 195
+ Name: "IOPT_SCPROVOKE_POISON"
+ Script: <" bonus2(bAddEff,Eff_Poison, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 196
+ Name: "IOPT_SCPROVOKE_SILENCE"
+ Script: <" bonus2(bAddEff,Eff_Silence, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 197
+ Name: "IOPT_SCPROVOKE_CURSE"
+ Script: <" bonus2(bAddEff,Eff_Curse, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 198
+ Name: "IOPT_SCPROVOKE_BLIND"
+ Script: <" bonus2(bAddEff,Eff_Blind, getequippedoptioninfo(IT_OPT_VALUE)); ">
+},
+{
+ Id: 199
+ Name: "IOPT_CRITDMG"
+ Script: <" bonus(bCritAtkRate, min(100, getequippedoptioninfo(IT_OPT_VALUE))); ">
+},
+{
+ Id: 200
+ Name: "IOPT_RICHNESS"
+ Script: <" bonus2(bAddGetZenyNum, -1, min(100, getequippedoptioninfo(IT_OPT_VALUE))); ">
+}
+
+
+)
+
diff --git a/db/job_db2.txt b/db/job_db2.txt
new file mode 100644
index 0000000..dd5b2cf
--- /dev/null
+++ b/db/job_db2.txt
@@ -0,0 +1,54 @@
+// Job-specific Stat Bonuses Database
+//
+// Structure of Database:
+// JobID,JobLv1,JobLv2,JobLv3,...
+//
+// Legend for 'JobLvN' fields:
+// 0 = No stat bonus at this job level
+// 1 = STR increased by 1 at this job level
+// 2 = AGI increased by 1 at this job level
+// 3 = VIT increased by 1 at this job level
+// 4 = INT increased by 1 at this job level
+// 5 = DEX increased by 1 at this job level
+// 6 = LUK increased by 1 at this job level
+//
+// TMW2 default is: ,0,6,5,0,2,3,0,1,4,0
+//
+// Kaizei Human (max level = 140)
+0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0
+// Argaes Human (max level = 140)
+1,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0
+// Tonori Human (max level = 140)
+2,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0
+// Elven (max level = 140)
+3,0,6,5,0,2,3,0,4,4,0,0,6,5,0,2,3,0,1,4,4,0,6,5,0,2,3,0,4,4,0,0,6,5,0,2,3,0,1,4,4,0,6,5,0,2,3,0,4,4,0,0,6,5,0,2,3,0,1,4,4,0,6,5,0,2,3,0,4,4,0,0,6,5,0,2,3,0,1,4,4,0,6,5,0,2,3,0,4,4,0,0,6,5,0,2,3,0,1,4,4,0,6,5,0,2,3,0,4,4,0,0,6,5,0,2,3,0,1,4,4,0,6,5,0,2,3,0,4,4,0,0,6,5,0,2,3,0,1,4,4
+// Orc (max level = 140)
+4,0,6,5,0,1,3,0,1,4,0,0,6,5,0,2,3,1,1,4,0,0,6,5,0,1,3,0,1,4,0,0,6,5,0,2,3,1,1,4,0,0,6,5,0,1,3,0,1,4,0,0,6,5,0,2,3,1,1,4,0,0,6,5,0,1,3,0,1,4,0,0,6,5,0,2,3,1,1,4,0,0,6,5,0,1,3,0,1,4,0,0,6,5,0,2,3,1,1,4,0,0,6,5,0,1,3,0,1,4,0,0,6,5,0,2,3,1,1,4,0,0,6,5,0,1,3,0,1,4,0,0,6,5,0,2,3,1,1,4,0
+// Raijin (max level = 140)
+5,0,6,5,3,2,3,0,1,3,0,0,6,5,3,2,3,0,1,4,0,0,6,5,3,2,3,0,1,3,0,0,6,5,3,2,3,0,1,4,0,0,6,5,3,2,3,0,1,3,0,0,6,5,3,2,3,0,1,4,0,0,6,5,3,2,3,0,1,3,0,0,6,5,3,2,3,0,1,4,0,0,6,5,3,2,3,0,1,3,0,0,6,5,3,2,3,0,1,4,0,0,6,5,3,2,3,0,1,3,0,0,6,5,3,2,3,0,1,4,0,0,6,5,3,2,3,0,1,3,0,0,6,5,3,2,3,0,1,4,0
+// Tritan (max level = 140)
+6,0,6,5,0,2,5,0,1,4,0,0,6,5,0,2,3,0,1,4,5,0,6,5,0,2,5,0,1,4,0,0,6,5,0,2,3,0,1,4,5,0,6,5,0,2,5,0,1,4,0,0,6,5,0,2,3,0,1,4,5,0,6,5,0,2,5,0,1,4,0,0,6,5,0,2,3,0,1,4,5,0,6,5,0,2,5,0,1,4,0,0,6,5,0,2,3,0,1,4,5,0,6,5,0,2,5,0,1,4,0,0,6,5,0,2,3,0,1,4,5,0,6,5,0,2,5,0,1,4,0,0,6,5,0,2,3,0,1,4,5
+// Ukar (max level = 140)
+7,0,2,5,0,2,3,0,1,4,0,0,6,5,2,2,3,0,1,4,0,0,2,5,0,2,3,0,1,4,0,0,6,5,2,2,3,0,1,4,0,0,2,5,0,2,3,0,1,4,0,0,6,5,2,2,3,0,1,4,0,0,2,5,0,2,3,0,1,4,0,0,6,5,2,2,3,0,1,4,0,0,2,5,0,2,3,0,1,4,0,0,6,5,2,2,3,0,1,4,0,0,2,5,0,2,3,0,1,4,0,0,6,5,2,2,3,0,1,4,0,0,2,5,0,2,3,0,1,4,0,0,6,5,2,2,3,0,1,4,0
+// Redy (max level = 140)
+8,0,6,5,0,2,3,0,1,3,0,0,6,5,4,2,3,0,1,4,0,0,6,5,0,2,3,0,1,3,0,0,6,5,4,2,3,0,1,4,0,0,6,5,0,2,3,0,1,3,0,0,6,5,4,2,3,0,1,4,0,0,6,5,0,2,3,0,1,3,0,0,6,5,4,2,3,0,1,4,0,0,6,5,0,2,3,0,1,3,0,0,6,5,4,2,3,0,1,4,0,0,6,5,0,2,3,0,1,3,0,0,6,5,4,2,3,0,1,4,0,0,6,5,0,2,3,0,1,3,0,0,6,5,4,2,3,0,1,4,0
+// Savior (max level = 150)
+9,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6
+
+// Particles
+// 1 = STR increased by 1 at this job level
+// 2 = AGI increased by 1 at this job level
+// 3 = VIT increased by 1 at this job level
+// 4 = INT increased by 1 at this job level
+// 5 = DEX increased by 1 at this job level
+// 6 = LUK increased by 1 at this job level
+// Human: ,0,6,5,0,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0
+// Elf: ,0,6,5,0,2,3,0,4,4,0,0,6,5,0,2,3,0,1,4,4
+// Orc: ,0,6,5,0,1,3,0,1,4,0,0,6,5,0,2,3,1,1,4,0
+// Raijin:,0,6,6,0,2,3,0,1,4,0,0,6,5,0,2,3,6,1,4,0
+// Tritan:,0,6,5,0,2,5,0,1,4,0,0,6,5,0,2,3,0,1,4,5
+// Ukar: ,0,2,5,0,2,3,0,1,4,0,0,6,5,2,2,3,0,1,4,0
+// Redy: ,0,6,5,3,2,3,0,1,3,0,0,6,5,3,2,3,0,1,4,0
+// Savior:,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6
+
+
diff --git a/db/magicmushroom_db.txt b/db/magicmushroom_db.txt
new file mode 100644
index 0000000..5705e53
--- /dev/null
+++ b/db/magicmushroom_db.txt
@@ -0,0 +1,27 @@
+// Magic Mushroom DB.
+// Database for skills that are randomly used through Magic Mushroom status change.
+// Format: SkillID
+
+7 //SM_MAGNUM
+8 //SM_ENDURE
+10 //MG_SIGHT
+24 //AL_RUWACH
+32 //AL_CRUCIS
+33 //AL_ANGELUS
+45 //AC_CONCENTRATION
+61 //KN_AUTOCOUNTER
+74 //PR_MAGNIFICAT
+110 //BS_HAMMERFALL
+114 //BS_MAXIMIZE
+142 //NV_FIRSTAID
+150 //TF_BACKSLIDING
+151 //TF_PICKSTONE
+157 //MG_ENERGYCOAT
+249 //CR_AUTOGUARD
+256 //CR_PROVIDENCE
+261 //MO_CALLSPIRITS
+270 //MO_EXPLOSIONSPIRITS
+326 //DC_SCREAM
+500 //GS_GLITTERING
+527 //NJ_TATAMIGAESHI
+531 //NJ_UTSUSEMI
diff --git a/db/map_index.txt b/db/map_index.txt
new file mode 100644
index 0000000..bc2a1c8
--- /dev/null
+++ b/db/map_index.txt
@@ -0,0 +1,413 @@
+000-0-0 1
+000-0-1 2
+000-0 3
+000-1 4
+001-1 5
+001-10-1 6
+001-10 7
+001-11 8
+001-12 9
+001-13-0 10
+001-13-1 11
+001-13-2 12
+001-13 13
+001-14 14
+001-2 15
+001-3-1 16
+001-3 17
+001-4 18
+001-5 19
+001-6 20
+001-7 21
+001-8 22
+001-9 23
+002-1 24
+002-2 25
+002-3 26
+002-4 27
+002-5 28
+003-0-1 29
+003-0-2 30
+003-0 31
+003-1-1 32
+003-1-2 33
+003-1-3 34
+003-1 35
+003-10 36
+003-13 37
+003-2-1 38
+003-2 39
+003-3 40
+003-4-1 41
+003-4 42
+003-5 43
+003-6 44
+003-7 45
+003-8 46
+003-9-1 47
+003-9 48
+004-1 49
+004-2-1 50
+004-2-10 51
+004-2-11 52
+004-2-12 53
+004-2-2 54
+004-2-3 55
+004-2-4 56
+004-2-5 57
+004-2-6 58
+004-2-7 59
+004-2-8 60
+004-2-9 61
+004-2 62
+004-3-1 63
+004-3-2 64
+004-3-3 65
+004-3-4 66
+004-3-5 67
+004-3-6 68
+004-3 69
+005-1-1 70
+005-1 71
+005-2-1 72
+005-2 73
+005-3 74
+005-4 75
+005-5 76
+005-6 77
+005-7 78
+006-0 79
+006-1 80
+006-10 81
+006-2-1 82
+006-2-2 83
+006-2-3 84
+006-2-4 85
+006-2-5 86
+006-2-6 87
+006-2 88
+006-3 89
+006-4-1 90
+006-4 91
+006-5 92
+006-6 93
+006-7 94
+006-8 95
+006-9 96
+007-1-1 97
+007-1-2 98
+007-1 99
+007-2 100
+008-0 101
+008-1 102
+008-2 103
+009-1 104
+009-2 105
+009-3 106
+009-4 107
+009-5 108
+009-6 109
+009-7 110
+010-1-1 111
+010-1-10 112
+010-1-11 113
+010-1-12 114
+010-1-2 115
+010-1-3 116
+010-1-4 117
+010-1-5 118
+010-1-6 119
+010-1-7 120
+010-1-8 121
+010-1-9 122
+010-1 123
+010-2-10 124
+010-2-11 125
+010-2-12 126
+010-2-13 127
+010-2-14 128
+010-2-15 129
+010-2-16 130
+010-2-2 131
+010-2-3 132
+010-2-4 133
+010-2-5 134
+010-2-6 135
+010-2-7 136
+010-2-8 137
+010-2-9 138
+010-2 139
+010-3 140
+010-4-1 141
+010-4-2 142
+011-1 143
+011-2 144
+011-3 145
+012-1 146
+012-2 147
+012-3 148
+012-4 149
+012-5 150
+012-6 151
+012-7 152
+012-8 153
+013-1 154
+014-1 155
+014-2-1 156
+014-2-2 157
+014-2 158
+014-3 159
+014-4 160
+014-5-1 161
+014-5 162
+015-1 163
+015-2 164
+015-3-1 165
+015-3-2 166
+015-3-3 167
+015-3 168
+015-4 169
+015-5 170
+015-6 171
+015-7 172
+015-8-1 173
+015-8 174
+016-1 175
+016-6 176
+016-7 177
+017-0 178
+017-1 179
+017-10 180
+017-2-1 181
+017-2-2 182
+017-2 183
+017-3 184
+017-4 185
+017-5 186
+017-6 187
+017-7 188
+017-8 189
+018-1-1 190
+018-1 191
+018-2-1 192
+018-2-2 193
+018-2-3 194
+018-2-4 195
+018-2-5 196
+018-2-6 197
+018-2-7 198
+018-2-8 199
+018-2 200
+018-3 201
+018-4-1 202
+018-4-2 203
+018-4 204
+018-5-0 205
+018-5-1 206
+018-5-2 207
+018-5-3 208
+018-5-4 209
+018-5-5 210
+018-5-boss 211
+018-5 212
+018-6-0 213
+018-6-1 214
+018-6-2 215
+018-6-3 216
+018-7-1 217
+018-7 218
+019-1-1 219
+019-1 220
+019-2 221
+019-3 222
+019-4-1 223
+019-4 224
+019-5-1 225
+019-5-2 226
+019-5-3 227
+019-5 228
+019-6 229
+020-1 230
+020-2 231
+020-3 232
+020-4 233
+020-5 234
+020-6 235
+020-7-1 236
+020-7-2 237
+020-7 238
+021-0 239
+021-1 240
+021-2 241
+021-3 242
+021-4 243
+022-1 244
+023-1 245
+023-2 246
+023-3-1 247
+023-3-2 248
+023-3 249
+023-4 250
+024-1 251
+024-10 252
+024-11 253
+024-12 254
+024-13 255
+024-14 256
+024-15 257
+024-16 258
+024-2 259
+024-3 260
+024-4 261
+024-5 262
+024-6 263
+024-7 264
+024-8 265
+024-9 266
+025-1 267
+025-2-1 268
+025-2-2 269
+025-2-3 270
+025-2-4 271
+025-2 272
+025-3 273
+026-0 274
+026-1 275
+026-2 276
+027-0 277
+027-1 278
+027-2 279
+027-3 280
+027-4 281
+027-5 282
+027-6 283
+027-7 284
+029-0 285
+029-1 286
+029-2 287
+029-3 288
+029-4 289
+029-5 290
+029-6 291
+029-7 292
+029-8 293
+029-9 294
+030-01 295
+030-02 296
+030-03 297
+030-04 298
+030-05 299
+030-06 300
+030-07 301
+030-08 302
+030-09 303
+030-10 304
+030-11 305
+030-12 306
+030-13 307
+030-14 308
+030-15 309
+030-16 310
+030-17 311
+030-18 312
+030-19 313
+030-20 314
+030-21 315
+030-22 316
+030-23 317
+030-24 318
+030-25 319
+030-26 320
+030-27 321
+030-28 322
+030-29 323
+030-30 324
+030-31 325
+030-32 326
+030-33 327
+030-34 328
+030-35 329
+030-36 330
+030-37 331
+030-38 332
+030-39 333
+030-40 334
+030-41 335
+030-42 336
+030-43 337
+030-44 338
+030-45 339
+030-46 340
+030-47 341
+030-48 342
+030-49 343
+030-50 344
+030-51 345
+030-52 346
+030-53 347
+030-54 348
+030-55 349
+030-56 350
+030-57 351
+030-58 352
+030-59 353
+030-60 354
+030-61 355
+030-62 356
+030-63 357
+030-64 358
+030-65 359
+030-66 360
+030-67 361
+030-68 362
+030-69 363
+030-70 364
+030-71 365
+030-72 366
+030-73 367
+030-74 368
+030-75 369
+031-0 370
+031-1 371
+031-2 372
+031-3 373
+031-4 374
+031-5 375
+031-6 376
+031-7 377
+031-8 378
+031-9 379
+032-1 380
+032-2 381
+032-3 382
+032-4 383
+032-5 384
+033-1 385
+033-2 386
+033-3 387
+033-4 388
+033-5 389
+034-1 390
+034-2 391
+034-3 392
+034-4 393
+042-0 394
+042-1 395
+042-10 396
+042-11 397
+042-2 398
+042-3 399
+042-4 400
+042-5 401
+042-6 402
+042-7 403
+042-8 404
+042-9 405
+boss 406
+botcheck 407
+guilds 408
+sec_pri 409
+soren-2 410
+soren 411
+test 412
+testbg 413
diff --git a/db/mercenary_db.txt b/db/mercenary_db.txt
new file mode 100644
index 0000000..e87fab0
--- /dev/null
+++ b/db/mercenary_db.txt
@@ -0,0 +1,30 @@
+// Mercenary Database
+//
+// Structure of Database:
+// ID,Sprite_Name,Name,LV,HP,SP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Speed,aDelay,aMotion,dMotion
+// Mercenaries IDs begin at 1191 for hardcoded reasons?
+
+//ID,Sprite_Name ,Name ,LV , HP,SP,RG,ATK1,ATK2,DEF,MDF,STR,AGI,VIT,INT,DEX,LUK,Rg2,Rg3,Scale,Rc,Ele,Spd,aDelay,aMotion,dMotion
+
+1191,Merc_Woody,Woody ,80,5959,840,1,428,440,708,203,72,66,41,30,55,33,10,12,1,11,45,152,525,480,160
+1192,Merc_AndreiSakar,Andrei Sakar ,100,3200,133,1,413,413,36,26,4,67,10,26,99,70,10,12,1,11,45,150,114,114,200
+1193,Merc_Lilanna,Lilanna ,90,5495,920,1,458,467,611,236,76,70,50,40,66,41,10,12,1,11,45,152,500,480,160
+1194,Merc_Aisen,Aisen ,70,5774,740,1,406,427,517,172,63,75,20,1,35,31,10,12,1,11,45,152,600,480,160
+1195,Merc_Msawis,Msawis ,62,5278,676,1,379,409,444,148,62,74,20,1,19,1,10,12,1,11,45,152,604,480,160
+1196,Merc_Saulc,Saulc ,53,4690,560,1,341,366,364,121,36,60,20,22,27,10,10,12,1,11,45,152,660,480,180
+1197,Merc_Crazyfefe,Crazyfefe ,51,4625,568,1,332,357,347,115,54,17,22,28,35,17,10,12,1,11,45,152,822,480,180
+1198,Merc_LawnCable,LawnCable ,42,3744,496,1,285,309,272,90,39,38,9,2,32,12,10,12,1,11,45,152,748,480,180
+1199,Merc_Demure,Demure ,39,4036,480,1,130,145,248,82,15,36,30,1,33,6,10,12,1,11,45,152,354,480,200
+1200,Merc_Pookie,Pookie ,39,3369,480,1,267,290,248,82,44,48,1,1,2,1,10,12,1,11,45,152,708,480,200
+1201,Merc_Jesusalva,Jesusalva ,37,3618,452,1,254,277,232,77,24,31,17,1,32,15,10,12,1,11,45,152,776,480,200
+1202,Merc_GonzoDark,GonzoDark ,23,2740,316,1,163,181,127,45,24,10,15,1,22,1,10,12,1,11,45,152,860,480,200
+1203,Merc_Apane,Legendary Apane ,8,1787,176,1,66,73,33,16,3,1,4,1,24,1,10,12,1,11,45,152,896,480,200
+1204,Merc_Soren,Soren ,4,1561,141,2,25,25,14,7,1,1,1,1,1,1,10,12,1,11,45,152,896,480,200
+1205,Merc_DragonStar,Dragon Star ,75,5305,796,1,421,440,563,187,77,86,1,1,15,32,10,12,1,11,45,150,556,480,140
+1206,Merc_Rosa,Rosa ,25,2542,332,4,181,200,142,47,17,18,9,1,22,11,10,12,1,11,45,150,980,480,200
+1207,Merc_Earthwitch,Earth Witch ,40,3229,488,5,284,308,256,85,22,35,15,6,30,19,10,12,1,11,45,150,960,480,200
+1208,Merc_Arthur,Arthur ,60,4006,632,6,404,428,426,142,47,55,24,12,44,26,10,12,1,11,45,150,940,480,180
+1209,Merc_Swezanne,Swezanne ,69,4360,737,7,451,472,507,169,67,78,14,1,23,21,10,12,1,11,45,152,920,480,160
+1210,Merc_Xanthem,Xanthem ,97,5201,960,7,577,580,778,259,78,81,55,44,72,47,10,12,1,11,45,152,900,480,160
+1211,Merc_EH,Event Horizon ,8,10000,100,1,30,50,40,16,3,1,4,1,75,1,10,12,1,11,45,152,911,480,200
+
diff --git a/db/mercenary_skill_db.txt b/db/mercenary_skill_db.txt
new file mode 100644
index 0000000..91ab31e
--- /dev/null
+++ b/db/mercenary_skill_db.txt
@@ -0,0 +1,48 @@
+// Mercenary Skill Database
+//
+// Structure of Database:
+// MercenryID,SkillID,SkillLevel
+//3001,5,3
+//3001,11,1
+//3001,28,3
+//3001,30,1
+//3001,382,2
+
+// Mercenary skills must be M*_ skills
+// MER, MS, ML, MA (MERcenary, Merc. Swordman, Merc. Lancer, Merc. Archer)
+
+// MER_DECAGI and MER_INCAGI can be used by: 5* (4144, DS)
+1192,8234,1
+1193,8234,1
+1192,8240,1
+1193,8240,1
+
+// MS_BASH can be used by: 5,4* (4144, DS, Aisen, Msawis, Swezanne)
+1192,8201,1
+1193,8201,1
+1194,8201,1
+1195,8201,1
+1205,8201,1
+
+// ???_HEAL can be used by: 5,4,3* (4144, DS, Aisen, Msawis, Swezanne, Saulc, Crazyfefe, Lawncable)
+// TBD - NYI
+//1192,28,1
+//1193,28,1
+//1194,28,1
+//1195,28,1
+//1196,28,1
+//1197,28,1
+//1198,28,1
+//1205,28,1
+
+// MER_BLESSING (Str/Dex/Int+) can be used by: Jesusalva, Demure, 4144 (lore reasons)
+1192,8239,5
+1199,8239,1
+1201,8239,1
+
+// Event skill: Maginificat (double SP regen of user/party)
+1211,8222,1
+// Event skill: Scapegoat (sacrifice mercenary to heal owner)
+1211,8235,1
+// Event skill: Blessing (STR/DEX/INT +1)
+1211,8239,1
diff --git a/db/mob_avail.txt b/db/mob_avail.txt
new file mode 100644
index 0000000..cc3dc49
--- /dev/null
+++ b/db/mob_avail.txt
@@ -0,0 +1,19 @@
+// Mob Availability and Alias Database
+//
+// Structure of Database:
+// MobID,SpriteID{,Equipment}
+//
+// 01. MobID Mob ID to change.
+// 02. SpriteID Mob ID which will be sent to the client instead of MobID.
+// If 0, the mob becomes unavailable for use.
+// 03. Equipment Item ID of pet equipment (must be available for pet counterpart, or this will cause problems).
+//
+// To disguise a mob as a player:
+// MobID,SpriteID,Sex,Hair_Style,Hair_Color,Weapon,Shield,Head_Top,Head_Middle,Head_Bottom,Option,Dye_Color
+//
+// SpriteID is a job class value.
+// Weapon and Shield uses Item ID, while Head uses View ID.
+
+1156,1140
+1157,1141
+1158,1142
diff --git a/db/mob_chat_db.txt b/db/mob_chat_db.txt
new file mode 100644
index 0000000..a919f89
--- /dev/null
+++ b/db/mob_chat_db.txt
@@ -0,0 +1,15 @@
+// Monster Chat Database
+//
+// Structure of Database:
+// Line_ID,Color_Code,Dialog
+
+1,0x000000,Feed me cookies!
+2,0x000000,Everything in this world will be mine!
+3,0x000000,Weaklings, you are all a bunch of weaklings!
+4,0x000000,You shall not resist!
+5,0x000000,Come back here, coward weaklings!
+6,0x000000,Thou shalt not survive!
+7,0x000000,Come forth, my mouboos, and take back our world!
+8,0x000000,Stop fleeing, puny mortals!
+9,0x000000,Face my wrath!
+10,0x000000,You dare to raise arms against me?! Perish!
diff --git a/db/mob_classchange.txt b/db/mob_classchange.txt
new file mode 100644
index 0000000..44b097d
--- /dev/null
+++ b/db/mob_classchange.txt
@@ -0,0 +1,5 @@
+// SA_CLASSCHANGE Summonable Monsters Database
+//
+// Structure of Database:
+// MobID,DummyName,Rate
+
diff --git a/db/mob_db2.conf b/db/mob_db2.conf
new file mode 100644
index 0000000..e21cc2a
--- /dev/null
+++ b/db/mob_db2.conf
@@ -0,0 +1,73 @@
+mob_db: (
+// Mobs Database
+//
+/******************************************************************************
+ ************* Entry structure ************************************************
+ ******************************************************************************
+{
+ // =================== Mandatory fields ===============================
+ Id: ID (int)
+ SpriteName: "SPRITE_NAME" (string)
+ Name: "Mob name" (string)
+ // =================== Optional fields ================================
+ JName: "Mob name" (string)
+ Lv: level (int, defaults to 1)
+ Hp: health (int, defaults to 1)
+ Sp: mana (int, defaults to 0)
+ Exp: basic experience (int, defaults to 0)
+ JExp: job experience (int, defaults to 0)
+ AttackRange: attack range (int, defaults to 1)
+ Attack: [attack1, attack2] (int, defaults to 0)
+ Def: defence (int, defaults to 0)
+ Mdef: magic defence (int, defaults to 0)
+ Stats: {
+ Str: strength (int, defaults to 0)
+ Agi: agility (int, defaults to 0)
+ Vit: vitality (int, defaults to 0)
+ Int: intelligence (int, defaults to 0)
+ Dex: dexterity (int, defaults to 0)
+ Luk: luck (int, defaults to 0)
+ }
+ ViewRange: view range (int, defaults to 1)
+ ChaseRange: chase range (int, defaults to 1)
+ Size: size (int, defaults to 1)
+ Race: race (int, defaults to 0)
+ Element: (type, level)
+ Mode: {
+ CanMove: true/false (bool)
+ Looter: true/false (bool)
+ Aggressive: true/false (bool)
+ Assist: true/false (bool)
+ CastSensorIdle:true/false (bool)
+ Boss: true/false (bool)
+ Plant: true/false (bool)
+ CanAttack: true/false (bool)
+ Detector: true/false (bool)
+ CastSensorChase: true/false (bool)
+ ChangeChase: true/false (bool)
+ Angry: true/false (bool)
+ ChangeTargetMelee: true/false (bool)
+ ChangeTargetChase: true/false (bool)
+ TargetWeak: true/false (bool)
+ }
+ MoveSpeed: move speed (int, defaults to 0)
+ AttackDelay: attack delay (int, defaults to 4000)
+ AttackMotion: attack motion (int, defaults to 2000)
+ DamageMotion: damage motion (int, defaults to 0)
+ MvpExp: mvp experience (int, defaults to 0)
+ MvpDrops: {
+ AegisName: chance (string: int)
+ // ...
+ }
+ Drops: {
+ AegisName: chance (string: int)
+ // or
+ AegisName: (chance, "Option Drop Group")
+ // ...
+ }
+ DamageTakenRate: damage taken rate (int, defaults to 100)
+},
+******************************************************************************/
+
+
+)
diff --git a/db/mob_item_ratio.txt b/db/mob_item_ratio.txt
new file mode 100644
index 0000000..226460a
--- /dev/null
+++ b/db/mob_item_ratio.txt
@@ -0,0 +1,30 @@
+// Specific Item Drop Ratio Database
+// Overrides for global item_rate* values from conf/battle/drops.conf
+//
+// Structure of Database:
+// ItemID,Ratio{,MonsterID}
+//
+// Result:
+// ItemID base drop rates defined in mob_db will not get multiplied
+// by global item_rate* values (aka drop rates) from
+// conf/battle/drops.conf. Instead Ratio will be used (100 = 1x).
+// If no MonsterID is specified, all monsters will be affected,
+// otherwise only listed ones.
+//
+// Examples:
+// 909,100 // Jellopies from monsters will drop with 1x drop rate regardless of global drop rate
+// 909,1000 // Jellopies from monsters will drop with 10x drop rate regardless of global drop rate
+// 909,100,1002 // Jellopies from Porings will drop with 1x drop rate. Other monsters that drop Jellopies are unaffected (use global drop rate).
+//
+// Notes:
+// - By default you can list up to 10 MonsterIDs per ItemID.
+// It can be changed in src/map/mob.c by adjusting MAX_ITEMRATIO_MOBS.
+// - Only ItemIDs up to MAX_ITEMDB are supported (default: 32768).
+// - Does not override item_drop_*_min/max settings.
+// - Does not affect card/item-granted drops. To adjust card/item-granted
+// drops, edit them in item_db.
+// - Does affect MVP prizes and Treasure Boxes.
+// - You can add only ONE line per ItemID. If you need various ratios
+// for different monsters, override drop rate with Ratio=100 and edit
+// base drop rates in mob_db.
+// - This file is reloaded by @reloadmobdb.
diff --git a/db/mob_pouch.txt b/db/mob_pouch.txt
new file mode 100644
index 0000000..bd0a4d3
--- /dev/null
+++ b/db/mob_pouch.txt
@@ -0,0 +1,5 @@
+// Red Pouch of Surprise Summonable Monsters Database
+//
+// Structure of Database:
+// MobID,DummyName,Rate
+
diff --git a/db/mob_skill_db2.conf b/db/mob_skill_db2.conf
new file mode 100644
index 0000000..77d3536
--- /dev/null
+++ b/db/mob_skill_db2.conf
@@ -0,0 +1,59 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2018 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/>.
+//=========================================================================
+//= Monster Skill Database
+//=========================================================================
+
+mob_skill_db:(
+{
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+ <Monster_Constant>: {
+ <Skill_Constant>: {
+ ClearSkills: (boolean, defaults to false) allows cleaning all previous defined skills for the mob.
+ SkillLevel: (int, defaults to 1)
+ SkillState: (int, defaults to 0)
+ SkillTarget: (int, defaults to 0)
+ Rate: (int, defaults to 1)
+ CastTime: (int, defaults to 0)
+ Delay: (int, defaults to 0)
+ Cancelable: (boolean, defaults to false)
+ CastCondition: (int, defaults to 0)
+ ConditionData: (int, defaults to 0)
+ val0: (int, defaults to 0)
+ val1: (int, defaults to 0)
+ val2: (int, defaults to 0)
+ val3: (int, defaults to 0)
+ val4: (int, defaults to 0)
+ Emotion: (int, defaults to 0)
+ ChatMsgID: (int, defaults to 0)
+ }
+ }
+**************************************************************************/
+ // entries in this file will override the ones in /(pre-)re/mob_skill_db.conf
+}
+)
diff --git a/db/option_drop_groups.conf b/db/option_drop_groups.conf
new file mode 100644
index 0000000..b293be1
--- /dev/null
+++ b/db/option_drop_groups.conf
@@ -0,0 +1,53 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2018 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/>.
+//=========================================================================
+//= Random Option Drop Group Database
+//=========================================================================
+
+option_drop_group_db: (
+{
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+ <Group Name Constant>: (
+ { // Option Slot 1
+ Rate: (int) chance of filling option slot 1 (100 = 1%)
+
+ // Possible options for slot 1
+ // min/max value : int, defaults to 0
+ // chance : int, 100 = 1% if not set, will be 100%/number of possibiltiies
+ OptionName: value
+ // or
+ OptionName: [min value, max value]
+ // or
+ OptionName: [min value, max value, chance]
+ // ... (as many as you want)
+ },
+ // ... (up to MAX_ITEM_OPTION)
+ ),
+**************************************************************************/
+}
+)
diff --git a/db/pet_db2.conf b/db/pet_db2.conf
new file mode 100644
index 0000000..34a6130
--- /dev/null
+++ b/db/pet_db2.conf
@@ -0,0 +1,64 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2018 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/>.
+//=========================================================================
+//= Pets Database
+//=========================================================================
+
+pet_db:(
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+{
+ // ================ Mandatory fields ==============================
+ Id: ID (int)
+ SpriteName: "Sprite_Name" (string)
+ Name: "Pet Name" (string)
+ // ================ Optional fields ===============================
+ TamingItem: Taming Item (string, defaults to 0)
+ EggItem: Egg Id (string, defaults to 0)
+ AccessoryItem: Equipment Id (string, defaults to 0)
+ FoodItem: Food Id (string, defaults to 0)
+ FoodEffectiveness: hunger points (int, defaults to 0)
+ HungerDelay: hunger time (int, defaults to 0)
+ Intimacy: {
+ Initial: start intimacy (int, defaults to 0)
+ FeedIncrement: feeding intimacy (int, defaults to 0)
+ OverFeedDecrement: overfeeding intimacy (int, defaults to 0)
+ OwnerDeathDecrement: owner die intimacy (int, defaults to 0)
+ }
+ CaptureRate: capture rate (int, defaults to 0)
+ Speed: speed (int, defaults to 0)
+ SpecialPerformance: true/false (boolean, defaults to false)
+ TalkWithEmotes: convert talk (boolean, defaults to false)
+ AttackRate: attack rate (int, defaults to 0)
+ DefendRate: Defence attack (int, defaults to 0)
+ ChangeTargetRate: change target (int, defaults to 0)
+ PetScript: <" Pet Script (can also be multi-line) ">
+ EquipScript: <" Equip Script (can also be multi-line) ">
+},
+**************************************************************************/
+ // entries in this file will override the ones in /(pre-)re/pet_db.conf
+)
diff --git a/db/produce_db.txt b/db/produce_db.txt
new file mode 100644
index 0000000..38eef6d
--- /dev/null
+++ b/db/produce_db.txt
@@ -0,0 +1,9 @@
+// Item Produce Database
+//
+// Structure of Database:
+// ProduceItemID,ItemLV,RequireSkill,RequireSkillLv,MaterialID1,MaterialAmount1,......
+//
+// Comments:
+// If MaterialAmount = 0, then you just need that item in your inventory (guides)
+// For example, Mine Bottle is 7138,32,228,7131,0,713,1,1050,1,1051,1
+// 7131 is the Guide needed to create mine bottles and the amount needed of this item is 0 (.. ,7131,0, ..).
diff --git a/db/quest_db.conf b/db/quest_db.conf
new file mode 100644
index 0000000..565adf2
--- /dev/null
+++ b/db/quest_db.conf
@@ -0,0 +1,684 @@
+quest_db: (
+// Quest Database
+/******************************************************************************
+ ************* Entry structure ************************************************
+ ******************************************************************************
+{
+ Id: Quest ID [int]
+ Name: Quest Name [string]
+ TimeLimit: Time Limit (seconds) [int, optional]
+ Targets: ( [array, optional]
+ {
+ MobId: Mob ID [int]
+ Count: [int]
+ },
+ ... (can repeated up to MAX_QUEST_OBJECTIVES times)
+ )
+ Drops: (
+ {
+ ItemId: Item ID to drop [int]
+ Rate: Drop rate [int]
+ MobId: Mob ID to match [int, optional]
+ },
+ ... (can be repeated)
+ )
+},
+******************************************************************************/
+
+// ID 0 to 10: Prologue quests
+{
+ Id: 0
+ Name: "ShipQuests_Julia"
+},
+{
+ Id: 1
+ Name: "ShipQuests_Arpan"
+},
+{
+ Id: 2
+ Name: "ShipQuests_Alige"
+},
+{
+ Id: 3
+ Name: "ShipQuests_Peter"
+},
+// ID 4 is free
+{
+ Id: 5
+ Name: "ShipQuests_Knife"
+},
+{
+ Id: 6
+ Name: "ShipQuests_ArpanMoney"
+},
+{
+ Id: 7
+ Name: "ShipQuests_ChefGado"
+},
+{
+ Id: 8
+ Name: "ShipQuests_Dan"
+},
+{
+ Id: 9
+ Name: "ShipQuests_Bottle"
+},
+
+// ID 11 to 30: General quests
+{
+ Id: 11
+ Name: "General_Milly"
+},
+{
+ Id: 12
+ Name: "General_Narrator"
+},
+{
+ Id: 13
+ Name: "General_Banker"
+},
+{
+ Id: 14
+ Name: "General_Guild"
+},
+{
+ Id: 15
+ Name: "General_Hunter"
+},
+{
+ Id: 16
+ Name: "General_Auldsbel"
+},
+{
+ Id: 17
+ Name: "General_Collector"
+},
+{
+ Id: 18
+ Name: "General_EasterEggs"
+},
+{
+ Id: 19
+ Name: "General_Sagratha"
+},
+{
+ Id: 20
+ Name: "General_Fortress"
+},
+{
+ Id: 21
+ Name: "General_NightInRed"
+},
+
+// ID 31 to 50: Candor Quests
+{
+ Id: 31
+ Name: "CandorQuest_Chest"
+},
+{
+ Id: 32
+ Name: "CandorQuest_HAS"
+},
+{
+ Id: 33
+ Name: "CandorQuest_Tolchi"
+},
+{
+ Id: 34
+ Name: "CandorQuest_Maya"
+},
+{
+ Id: 35
+ Name: "CandorQuest_Rosen"
+},
+{
+ Id: 36
+ Name: "CandorQuest_Barrel"
+},
+{
+ Id: 37
+ Name: "CandorQuest_Sailors"
+},
+{
+ Id: 38
+ Name: "CandorQuest_Vincent"
+},
+{
+ Id: 39
+ Name: "CandorQuest_Trainer"
+},
+{
+ Id: 40
+ Name: "CandorQuest_Nurse"
+},
+{
+ Id: 41
+ Name: "CandorQuest_Liana"
+},
+{
+ Id: 42
+ Name: "CandorQuest_SailorCure"
+},
+{
+ Id: 43
+ Name: "CandorQuest_Marggo"
+},
+{
+ Id: 44
+ Name: "CandorQuest_Groata"
+},
+{
+ Id: 45
+ Name: "CandorQuest_Jak1"
+},
+
+// ID 51 to 70: Tulimshar quests
+{
+ Id: 51
+ Name: "TulimsharQuests_Fishman"
+},
+{
+ Id: 52
+ Name: "TulimsharQuest_Sarah"
+},
+{
+ Id: 53
+ Name: "TulimsharQuest_WaterForGuard"
+},
+{
+ Id: 54
+ Name: "TulimsharQuest_Swezanne"
+},
+{
+ Id: 55
+ Name: "TulimsharQuest_Lifestone"
+},
+{
+ Id: 56
+ Name: "TulimsharQuest_Eistein"
+},
+{
+ Id: 57
+ Name: "TulimsharQuest_Hasan"
+},
+{
+ Id: 58
+ Name: "TulimsharQuest_Devoir"
+},
+{
+ Id: 59
+ Name: "TulimsharQuest_Sailors"
+},
+{
+ Id: 60
+ Name: "TulimsharQuest_DarkInvocator"
+},
+{
+ Id: 61
+ Name: "TulimsharQuest_AnwarField"
+},
+{
+ Id: 62
+ Name: "TulimsharQuest_Sewers"
+},
+{
+ Id: 63
+ Name: "TulimsharQuest_Neko"
+},
+{
+ Id: 64
+ Name: "TulimsharQuest_WoodenSword"
+},
+{
+ Id: 65
+ Name: "TulimsharQuest_Inac"
+},
+{
+ Id: 66
+ Name: "TulimsharQuest_MobTutorial"
+},
+{
+ Id: 67
+ Name: "TulimsharQuest_Cyndala"
+},
+{
+ Id: 68
+ Name: "TulimsharQuest_Laranja"
+},
+
+// ID 71 to 90: Halinarzo Quests
+{
+ Id: 71
+ Name: "HalinarzoQuest_Foxhound"
+},
+{
+ Id: 72
+ Name: "HalinarzoQuest_TraderKing"
+},
+{
+ Id: 73
+ Name: "HalinarzoQuest_SickWife"
+},
+{
+ Id: 74
+ Name: "HalinarzoQuest_LifeDelight"
+},
+{
+ Id: 75
+ Name: "HalinarzoQuest_Sawis"
+},
+{
+ Id: 76
+ Name: "HalinarzoQuest_Alvasus"
+},
+{
+ Id: 77
+ Name: "HalinarzoQuest_MageEquipment"
+},
+{
+ Id: 78
+ Name: "HalinarzoQuest_Kevin"
+},
+{
+ Id: 79
+ Name: "HalinarzoQuest_Speed"
+},
+
+// ID 91 to 110: Hurnscald Quests
+{
+ Id: 91
+ Name: "HurnscaldQuest_ForestBow"
+},
+{
+ Id: 92
+ Name: "HurnscaldQuest_HarkEye"
+},
+{
+ Id: 93
+ Name: "HurnscaldQuest_Celestia"
+},
+{
+ Id: 94
+ Name: "HurnscaldQuest_TeaParty"
+},
+{
+ Id: 95
+ Name: "HurnscaldQuest_Farmers"
+},
+{
+ Id: 96
+ Name: "HurnscaldQuest_Arkim"
+},
+{
+ Id: 97
+ Name: "HurnscaldQuest_Bandits"
+},
+{
+ Id: 98
+ Name: "HurnscaldQuest_InjuriedMouboo"
+},
+{
+ Id: 99
+ Name: "HurnscaldQuest_BloodDonor"
+},
+{
+ Id: 100
+ Name: "HurnscaldQuest_Woody"
+},
+{
+ Id: 101
+ Name: "HurnscaldQuest_Lieutenant"
+},
+{
+ Id: 102
+ Name: "HurnscaldQuest_HungryGuard"
+},
+{
+ Id: 103
+ Name: "HurnscaldQuest_Khafar"
+},
+{
+ Id: 104
+ Name: "HurnscaldQuest_Sagratha"
+},
+{
+ Id: 105
+ Name: "HurnscaldQuest_Blossom"
+},
+{
+ Id: 106
+ Name: "HurnscaldQuest_Thorn"
+},
+{
+ Id: 107
+ Name: "HurnscaldQuest_LOFPass"
+},
+{
+ Id: 108
+ Name: "HurnscaldQuest_PirateCave"
+},
+{
+ Id: 109
+ Name: "HurnscaldQuest_TeddyBear"
+},
+{
+ Id: 110
+ Name: "HurnscaldQuest_Gemini"
+},
+
+// ID 111 to 130: Nivalis Quests
+{
+ Id: 111
+ Name: "NivalisQuest_Well"
+},
+{
+ Id: 112
+ Name: "NivalisQuest_Cindy"
+},
+{
+ Id: 113
+ Name: "NivalisQuest_Baktar"
+},
+{
+ Id: 114
+ Name: "NivalisQuest_Agostine"
+},
+{
+ Id: 115
+ Name: "NivalisQuest_Frozenbeard"
+},
+{
+ Id: 116
+ Name: "NivalisQuest_BlueSage"
+},
+{
+ Id: 117
+ Name: "NivalisQuest_BlueSageSlimes"
+},
+{
+ Id: 118
+ Name: "NivalisQuest_BlueSagePagemaker"
+},
+{
+ Id: 119
+ Name: "NivalisQuest_BlueSagePagefinder"
+},
+{
+ Id: 120
+ Name: "NivalisQuest_Mede"
+},
+{
+ Id: 121
+ Name: "NivalisQuest_Henry"
+},
+
+// ID 131 to 150: Frostia Quests
+{
+ Id: 131
+ Name: "FrostiaQuest_WolfNecklace"
+},
+{
+ Id: 132
+ Name: "FrostiaQuest_Homunculus"
+},
+{
+ Id: 133
+ Name: "FrostiaQuest_AFKCap"
+},
+{
+ Id: 134
+ Name: "FrostiaQuest_Jeremy"
+},
+{
+ Id: 135
+ Name: "FrostiaQuest_Erlan"
+},
+{
+ Id: 136
+ Name: "FrostiaQuest_Rydel"
+},
+{
+ Id: 137
+ Name: "FrostiaQuest_Taenya"
+},
+{
+ Id: 138
+ Name: "FrostiaQuest_Meriel"
+},
+{
+ Id: 139
+ Name: "FrostiaQuest_Saevel"
+},
+{
+ Id: 140
+ Name: "FrostiaQuest_Talindra"
+},
+{
+ Id: 141
+ Name: "FrostiaQuest_Gaelira"
+},
+{
+ Id: 142
+ Name: "FrostiaQuest_JohnH"
+},
+
+// ID 151 to 170: Fortress Island Quests
+{
+ Id: 151
+ Name: "FortressQuest_SlimeHunter"
+},
+{
+ Id: 152
+ Name: "FortressQuest_Over100"
+},
+{
+ Id: 153
+ Name: "FortressQuest_RangedHunt"
+},
+{
+ Id: 154
+ Name: "FortressQuest_ManaTree"
+},
+
+// ID 171 to 190: Aethyr Quests
+{
+ Id: 171
+ Name: "AethyrQuest_Tyrca"
+},
+{
+ Id: 172
+ Name: "AethyrQuest_Tametomo"
+},
+// ID 191 to 249: General Quests II (eg. Dungeon Quests)
+{
+ Id: 191
+ Name: "MineQuest_Tycoon"
+},
+{
+ Id: 192
+ Name: "MineQuest_Dracoula"
+},
+{
+ Id: 193
+ Name: "MineQuest_Caelum"
+},
+{
+ Id: 194
+ Name: "MineQuest_Pickaxe"
+},
+{
+ Id: 195
+ Name: "MineQuest_Naem"
+},
+// 196~199: Overflow Quests (Unused)
+{
+ Id: 200
+ Name: "General_MobHunting1"
+},
+{
+ Id: 201
+ Name: "General_MobHunting2"
+},
+{
+ Id: 202
+ Name: "General_MobHunting3"
+},
+{
+ Id: 203
+ Name: "General_MobHunting4"
+},
+{
+ Id: 204
+ Name: "General_MobHunting5"
+},
+{
+ Id: 205
+ Name: "General_MobHunting6"
+},
+{
+ Id: 206
+ Name: "General_MobHunting7"
+},
+{
+ Id: 207
+ Name: "General_MobHunting8"
+},
+
+// ID 250 to 269: Lilit Quests
+{
+ Id: 250
+ Name: "LilitQuest_Access"
+},
+{
+ Id: 251
+ Name: "LilitQuest_Shaabty"
+},
+{
+ Id: 252
+ Name: "LilitQuest_PiratesOfSARAH"
+},
+{
+ Id: 253
+ Name: "LilitQuest_Ivanize"
+},
+{
+ Id: 254
+ Name: "LilitQuest_Raify"
+},
+
+// ID 270 to 299: Land Of Fire Quests
+{
+ Id: 270
+ Name: "LoFQuest_EPISODE"
+},
+{
+ Id: 271
+ Name: "LoFQuest_George"
+},
+{
+ Id: 272
+ Name: "LoFQuest_Fairy"
+},
+{
+ Id: 273
+ Name: "LoFQuest_Doug"
+},
+{
+ Id: 274
+ Name: "LoFQuest_Pets"
+},
+{
+ Id: 275
+ Name: "LoFQuest_COD"
+},
+{
+ Id: 276
+ Name: "LoFQuest_HH"
+},
+{
+ Id: 277
+ Name: "LoFQuest_ButcherKnife"
+},
+{
+ Id: 278
+ Name: "LoFQuest_Hitchhiker"
+},
+{
+ Id: 279
+ Name: "LoFQuest_Barbara"
+},
+{
+ Id: 280
+ Name: "LoFQuest_Axzell"
+},
+
+// ID 300 to 320: Seasonal/Annual/Monthly quests
+{
+ Id: 300
+ Name: "SQuest_Summer"
+},
+{
+ Id: 301
+ Name: "SQuest_Autumn"
+},
+{
+ Id: 302
+ Name: "SQuest_Winter"
+},
+{
+ Id: 303
+ Name: "SQuest_Spring"
+},
+{
+ Id: 304
+ Name: "SQuest_Sponsor"
+},
+{
+ Id: 305
+ Name: "SQuest_Ched"
+},
+{
+ Id: 306
+ Name: "SQuest_Paxel"
+},
+{
+ Id: 307
+ Name: "SQuest_XmasCollector"
+},
+{
+ Id: 308
+ Name: "SQuest_Christmas"
+},
+{
+ Id: 309
+ Name: "SQuest_Valentine"
+},
+{
+ Id: 310
+ Name: "SQuest_WorkerDay"
+},
+{
+ Id: 311
+ Name: "SQuest_Easter"
+},
+
+// ID 400+: Event Quests
+{
+ Id: 400
+ Name: "Q_NivalisLibday"
+},
+{
+ Id: 401
+ Name: "Q_AuroraEvent"
+},
+{
+ Id: 402
+ Name: "Q_DragonFarm"
+},
+
+// ID 1000+: Test quests
+{
+ Id: 1000
+ Name: "Test_testing1"
+},
+)
diff --git a/db/re/achievement_db.conf b/db/re/achievement_db.conf
new file mode 100644
index 0000000..6833484
--- /dev/null
+++ b/db/re/achievement_db.conf
@@ -0,0 +1,134 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2018 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/>.
+//=========================================================================
+//= Achievement Database
+//=========================================================================
+
+achievement_db: (
+/*****************************************************************
+ * Entry Structure
+ *****************************************************************
+{
+ Id: (int) Unique ID of the achievement representing it's client-side equivalent.
+ Name: (string) Name/Title of the Achievement.
+ Type: (string) Validation type for the achievement.
+ [Type] [Validation Description] (Trigger)
+ ACH_QUEST: Specific achievement objective update (Script).
+ ACH_KILL_PC_TOTAL: (Accumulative) Total kill count. (Player kill)
+ ACH_KILL_PC_JOB: Kill a player of the specified job. (Player Kill)
+ ACH_KILL_PC_JOBTYPE: Kill a player of the specified job type. (Player Kill)
+ ACH_KILL_MOB_CLASS: Kill a particular mob class. (Mob Kill)
+ ACH_DAMAGE_PC_MAX: Maximum damage caused on a player. (Player Damage)
+ ACH_DAMAGE_PC_TOTAL: (Accumulative) Damage on players. (Player Damage)
+ ACH_DAMAGE_PC_REC_MAX: Maximum damage received by a player. (Receive Player Damage)
+ ACH_DAMAGE_PC_REC_TOTAL: (Accumulative) Damage received by players. (Receive Player Damage)
+ ACH_DAMAGE_MOB_MAX: Maximum damage caused on a monster. (Monster Damage)
+ ACH_DAMAGE_MOB_TOTAL: (Accumulative) Damage caused on monsters. (Monster Damage)
+ ACH_DAMAGE_MOB_REC_MAX: Maximum damage received by a monster. (Receive Monster Damage)
+ ACH_DAMAGE_MOB_REC_TOTAL: (Accumulative) Damage received by monsters. (Receive Monster Damage)
+ ACH_JOB_CHANGE: Change to a specific job. (Job Change)
+ ACH_STATUS: Acquire a specific amount of a particular status type. (Stat Change)
+ ACH_STATUS_BY_JOB: Acquire a specific amount of a status type as a job class. (Stat Change)
+ ACH_STATUS_BY_JOBTYPE: Acquire a specific amount of a status type as a job type. (Stat Change)
+ ACH_CHATROOM_CREATE_DEAD: (Accumulative) Create a chatroom when dead. (Chatroom Creation)
+ ACH_CHATROOM_CREATE: (Accumulative) Create a chatroom. (Chatroom Creation)
+ ACH_CHATROOM_MEMBERS: Gather 'n' members in a chatroom. (Chatroom Join)
+ ACH_FRIEND_ADD: Add a specific number of friends. (Friend Addition)
+ ACH_PARTY_CREATE: (Accumulative) Create a specific number of parties. (Party Creation)
+ ACH_PARTY_JOIN: (Accumulative) Join a specific number of parties. (Party Join)
+ ACH_MARRY: (Accumulative) Marry a specified number of times. (Marriage)
+ ACH_ADOPT_BABY: (Accumulative) Get Adopted. (Adoption)
+ ACH_ADOPT_PARENT: (Accumulative) Adopt a Baby. (Adoption)
+ ACH_ZENY_HOLD: Hold a specific amount of zeny in your inventory. (Gain Zeny)
+ ACH_ZENY_GET_ONCE: Gain a specific amount of zeny in one transaction. (Gain Zeny)
+ ACH_ZENY_GET_TOTAL: (Accumulative) Gain a specific amount of zeny in total. (Gain Zeny)
+ ACH_ZENY_SPEND_ONCE: Spend a specific amount of zeny in one transaction. (Pay Zeny)
+ ACH_ZENY_SPEND_TOTAL: (Accumulative) Spend a specific amount of zeny in total. (Pay Zeny)
+ ACH_EQUIP_REFINE_SUCCESS: Refine an item to +N. (Successful Refine)
+ ACH_EQUIP_REFINE_FAILURE: Fail to refine an item of +N refine. (Failed Refine)
+ ACH_EQUIP_REFINE_SUCCESS_TOTAL: (Accumulative) Refine an item successfully N times. (Success Refine)
+ ACH_EQUIP_REFINE_FAILURE_TOTAL: (Accumulative) Fail to refine an item N times. (Failed Refine)
+ ACH_EQUIP_REFINE_SUCCESS_WLV: Refine a Weapon of a particular Level to +N. (Success Refine)
+ ACH_EQUIP_REFINE_FAILURE_WLV: Fail to refine a Weapon of a particular level from +N. (Failed Refine)
+ ACH_EQUIP_REFINE_SUCCESS_ID: Refine a particular Item successfully to +N. (Success Refine)
+ ACH_EQUIP_REFINE_FAILURE_ID: Fail to refine a particular item successfully from +N. (Failed Refine)
+ ACH_ITEM_GET_COUNT: Acquire N amount of an item of a particular ID. (Acquire Item)
+ ACH_ITEM_GET_COUNT_ITEMTYPE: Acquire N amount of items of a particular type mask. (Acquire Item)
+ ACH_ITEM_GET_WORTH: Acquire an item of buy value N. (Acquire Item)
+ ACH_ITEM_SELL_WORTH: Sell an item of sell value N. (NPC Sell Item)
+ ACH_PET_CREATE: Successfully tame a pet of a particular mob class. (Successful Pet Tame)
+ ACH_ACHIEVE: Achieve an Achievement. (Achievement Completion)
+ ACH_ACHIEVEMENT_RANK: Achieve an Achievement Rank. (Achievement Rank Increase)
+ Objectives: { [Mandatory Field] Objectives of an achievement. Up to 10 objectives per achievement.
+ To comply with the client's order of objectives, this list must be in order.
+ *1: {
+ Description: (string) [Mandatory Field] Description of a particular objective.
+ Criteria: { This is a field for achievements whose objectives must meet
+ certain criteria before evaluating the player's progress for it.
+ MobId: (mixed) MonsterId required for an objective.
+ For types such as ACH_KILL_MOB_CLASS and ACH_PET_CREATE. Can be either int or string constant.
+ JobId: (mixed) Array or Single entry of JobIds.
+ For types - ACH_KILL_PC_JOBTYPE, ACH_JOB_CHANGE or ACH_STATUS_BY_JOBTYPE.
+ Can be either a numeric or string constant.
+ ItemId: (mixed) ItemId required for an objective.
+ For Types such as ACH_ITEM_GET_COUNT. Can be either int or string constant.
+ StatusType: (mixed) Status Type required for an objective.
+ For Types such as ACH_STATUS, ACH_STATUS_BY_JOB, ACH_STATUS_BY_JOBTYPE.
+ Types -
+ "SP_STR" - Strength
+ "SP_AGI" - Agility
+ "SP_VIT" - Vitality
+ "SP_INT" - Intelligence
+ "SP_DEX" - Dexterity
+ "SP_LUK" - Luck
+ "SP_BASELEVEL" - Base Level
+ "SP_JOBLEVEL" - Job Level
+ Can be either int or string constant.
+ ItemType: (mixed) Item type that is required for this achievement.
+ For Types such as ACH_ITEM_GET_COUNT_ITEMTYPE.
+ Can be either int, string or list.
+ Refer "Item types" Constants from constants.conf
+ WeaponLevel: (int) Weapon Level that is required for this achievement. (Eg. 0, 1, 2, 3 or 4).
+ For Types such as ACH_EQUIP_REFINE_SUCCESS_WLV and ACH_EQUIP_REFINE_FAILURE_WLV.
+ Achieve: (int) AchievementID to be achieved.
+ For Type - ACH_ACHIEVE.
+ }
+ Goal: (int) Target amount to be met for the completion of the objective. Default is 1.
+ }
+ ...
+ *10: {...}
+ }
+ Rewards: {
+ Bonus: <""> (script) Script code bonus to be given as a reward for an achievement.
+ Items: { Item rewards per achievement. With a maximum defined in mmo.h as MAX_ACHEIVEMENT_ITEM_REWARDS.
+ Apple: 1 (int) Item ID (int or string constant) : Amount (int)
+ }
+ TitleId: (int) ID of the Title (from the Title System) awarded.
+ }
+ Points: (int) Points per achievement given on it's successful completion.
+}
+ *****************************************************************/
+)
diff --git a/db/re/attr_fix.txt b/db/re/attr_fix.txt
new file mode 100644
index 0000000..93066f0
--- /dev/null
+++ b/db/re/attr_fix.txt
@@ -0,0 +1,57 @@
+// Elemental attribute damage adjustment tables
+//
+// Row: target's defense element
+// Column: attacker's weapon element
+
+1,10 // lv1 Attribute table
+//Neut Watr Erth Fire Wind --- Holy Shdw Gho ---
+ 95, 100, 100, 100, 100, 100, 100, 110, 80, 100, // Neutral
+ 100, 95, 125, 75, 100, 100, 100, 100, 100, 100, // Water
+ 100, 75, 95, 100, 125, 100, 100, 100, 100, 100, // Earth
+ 100, 125, 100, 95, 75, 100, 100, 100, 100, 100, // Fire
+ 100, 100, 75, 125, 95, 100, 100, 100, 100, 100, // Wind
+ 100, 100, 100, 100, 100, 95, 100, 100, 100, 125, // UNUSED
+ 100, 100, 100, 100, 100, 85, 95, 125, 100, 70, // Holy
+ 100, 100, 100, 100, 100, 85, 125, 95, 100, 70, // Shadow
+ 50, 70, 70, 70, 70, 70, 100, 70, 125, 70, // Ghost
+ 100, 100, 100, 100, 100, 120, 80, 80, 100, 100, // UNUSED
+
+2,10 // lv2 Attribute table
+//Neut Watr Erth Fire Wind --- Holy Shdw Gho ---
+ 90, 100, 100, 100, 100, 100, 100, 110, 70, 100, // Neutral
+ 100, 90, 150, 50, 100, 100, 100, 100, 100, 100, // Water
+ 100, 50, 90, 100, 150, 100, 100, 100, 100, 100, // Earth
+ 100, 150, 100, 90, 50, 100, 100, 100, 100, 100, // Fire
+ 100, 100, 50, 150, 90, 100, 100, 100, 100, 100, // Wind
+ 100, 100, 100, 100, 100, 90, 100, 100, 100, 150, // UNUSED
+ 100, 100, 100, 100, 100, 80, 90, 150, 100, 70, // Holy
+ 100, 100, 100, 100, 100, 80, 150, 90, 100, 70, // Shadow
+ 40, 60, 60, 60, 60, 60, 100, 60, 150, 60, // Ghost
+ 100, 100, 100, 100, 100, 140, 70, 70, 100, 70, // UNUSED
+
+3,10 // lv3 Attribute table
+//Neut Watr Erth Fire Wind --- Holy Shdw Gho ---
+ 80, 100, 100, 100, 100, 100, 100, 110, 60, 100, // Neutral
+ 100, 80, 175, 25, 100, 100, 100, 100, 100, 100, // Water
+ 100, 25, 80, 100, 175, 100, 100, 100, 100, 100, // Earth
+ 100, 175, 100, 80, 25, 100, 100, 100, 100, 100, // Fire
+ 100, 100, 25, 175, 80, 100, 100, 100, 100, 100, // Wind
+ 100, 100, 100, 100, 100, 80, 100, 100, 100, 175, // UNUSED
+ 100, 100, 100, 100, 100, 75, 80, 175, 100, 70, // Holy
+ 100, 100, 100, 100, 100, 75, 175, 80, 100, 70, // Shadow
+ 30, 50, 50, 50, 50, 50, 100, 50, 175, 50, // Ghost
+ 100, 100, 100, 100, 100, 160, 60, 60, 100, 60, // UNUSED
+
+4,10 // lv4 Attribute table
+//Neut Watr Erth Fire Wind --- Holy Shdw Gho ---
+ 70, 100, 100, 100, 100, 100, 100, 110, 50, 100, // Neutral
+ 100, 70, 200, 5, 100, 100, 100, 100, 100, 100, // Water
+ 100, 5, 70, 100, 200, 100, 100, 100, 100, 100, // Earth
+ 100, 200, 100, 70, 5, 100, 100, 100, 100, 100, // Fire
+ 100, 100, 5, 200, 70, 100, 100, 100, 100, 100, // Wind
+ 100, 100, 100, 100, 100, 70, 100, 100, 100, 200, // UNUSED
+ 100, 100, 100, 100, 100, 70, 70, 200, 100, 70, // Holy
+ 100, 100, 100, 100, 100, 70, 200, 70, 100, 70, // Shadow
+ 20, 40, 40, 40, 40, 40, 100, 40, 200, 40, // Ghost
+ 100, 100, 100, 100, 100, 180, 50, 50, 100, 50, // UNUSED
+
diff --git a/db/re/exp_group_db.conf b/db/re/exp_group_db.conf
new file mode 100644
index 0000000..67b5a2d
--- /dev/null
+++ b/db/re/exp_group_db.conf
@@ -0,0 +1,124 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2018 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/>.
+//=========================================================================
+//= Exp Groups Database File.
+//=========================================================================
+
+base_exp_group_db: {
+EvolClasses: {
+ MaxLevel: 200
+ Exp: [
+ 9,16,25,36,77,112,153,200,253,320, // 1-10
+ 385,490,585,700,830,970,1120,1260,1420,1620, // 11-20
+ 1860,1990,2240,2504,2950,3426,3934,4474,6889,7995, // 21-30
+ 9174,10425,11748,13967,15775,17678,19677,21773,28543,34212, // 31-40
+ 38065,42102,46323,53026,58419,64041,69892,75973,92468,115254, // 41-50
+ 128692, 142784, 157528, 178184, 196300, 215198, 234879, 255341, 310188, 365914, // 51-60
+ 402508, 442769, 487051, 535756, 589342, 648281, 713112, 784421, 862867, 949158, // 61-70
+ 1044076, 1148484, 1263331, 1389671, 1528642, 1681509, 1849671, 2034639, 2238111, 2461928, // 71-80
+ 2708132, 2978946, 3276840, 3604530, 3964987, 4361495, 4797656, 5277432, 5805184, 6368277, // 81-90
+ 6966895, 7600882, 8269760, 8972690, 9708450, 10475418, 11271550, 12094373, 12940979, 16220720, // 91-100
+ 17149598, 18101093, 19072257, 20059818, 21060192, 22069498, 23083575, 24098003, 25127229, 26168953, // 101-110
+ 27220714, 28279893, 29343724, 30409303, 31473599, 32533466, 33585656, 34626835, 35671987, 51719358, // 111-120
+ 52767134, 53813441, 54856352, 55893891, 56924041, 57944748, 58953928, 59949472, 60942293, 61931134, // 121-130
+ 62914718, 63891748, 64860909, 65820873, 106770300, 107707841, 108632142, 109541848, 110446212, 111344416, // 131-140
+ 112235638, 113119048, 113993812, 114859094, 115714055, 116557855, 117389656, 118208622, 119023176, 119832851, // 141-150
+ 220637178, 221435686, 222227902, 223013350, 223791556, 224562044, 225324339, 226077966, 226829408, 227578416, // 151-160
+ 228324739, 229068126, 229808320, 230545069, 231278115, 232007202, 232732071, 233456276, 234179665, 234902086, // 161-170
+ 235623385, 236343408, 237061998, 237779000, 238494255, 239207605, 239918891, 240627951, 241336309, 241500000, // 171-180
+ 247537500, 253725938, 260069087, 266570815, 273235086, 280065964, 287067614, 294244305, 301600413, 309140424, // 181-190
+ 410000000, 420250000, 430756250, 441525157, 452563286, 463877369, 475474304, 487361162, 499545192, // 191-199
+ ]
+}
+// Other exp groups come here
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+// These spaces are so EXP table starts at line 100, making easier to calc max level positions. Max level: 180
+job_exp_group_db: {
+ EvolClasses: {
+ MaxLevel: 140
+ Exp: [
+ 5,12,20,30,42,93,153,207,270,342,
+ 412,522,642,782,917,1072,1200,1368,1450,1668,
+ 1937,2226,3040,3988,5564,6272,7021,9114,11473,15290,
+ 17207,18772,20488,23050,24334,27812,30912,35330,36223,
+ 39009,39935,40862,45974,49049,52318,53440,55664,59152,64088,
+ 66657,71795,74558,75950,78762,85927,90448,92012,95193,99956,
+ 103297,106635,111719,117042,120708,128258,138129,146262,152627,154806,
+ 163917,175629,182946,193120,198351,200965,203582,214303,219806,233553,
+ 245239,248228,260651,273064,279564,292878,306829,320780,324386,335203,
+ 338884,342571,346253,357430,365039,376452,388221,400356,404405,412504,
+ 429006,446169,468487,482266,505230,509995,529616,544331,559457,580175,
+ 738135,762738,794516,827629,847819,881743,888684,902577,916680,923743,
+ 1133490,1198967,1249388,1275415,1328374,1374192,1401678,1688086,1773554,1849592,
+ 1917546,1963213,2009965,2201115,2405432,2464443,2519206,2532976,2560510,2588341,
+ ]
+ }
+}
+
+/*
+ 2644621,2687284,2744472,2758997,2831606,3491535,3526109,3596631,3686547,3704529,
+ 3740505,3794722,3887283,3943632,4019474,4680699,4787084,4830213,4916465,4960367,
+ 5004274,5115486,5182806,5228276,5341943,6092045,6218962,6322612,6426266,6505613,
+ 6532059,6611721,6746662,6801076,6910782,6938318,6965860,7076431,7104298,7132168,
+*/
diff --git a/db/re/exp_guild.txt b/db/re/exp_guild.txt
new file mode 100644
index 0000000..cecf666
--- /dev/null
+++ b/db/re/exp_guild.txt
@@ -0,0 +1,55 @@
+// Guild LvUp experience value table
+// Exp needed for level 5: 5.500.000 Exp
+// Exp needed for level 10: 38.500.000 Exp
+// Exp needed for level 25: 552.500.000 Exp
+// Exp needed for level 50: 4.292.500.000 Exp
+100000
+400000
+900000
+1600000
+2500000
+3600000
+4900000
+6400000
+8100000
+10000000
+12100000
+14400000
+16900000
+19600000
+22500000
+25600000
+28900000
+32400000
+36100000
+40000000
+44100000
+48400000
+52900000
+57600000
+62500000
+67600000
+72900000
+78400000
+84100000
+90000000
+96100000
+102400000
+108900000
+115600000
+122500000
+129600000
+136900000
+144400000
+152100000
+160000000
+168100000
+176400000
+184900000
+193600000
+202500000
+211600000
+220900000
+230400000
+240100000
+250000000
diff --git a/db/re/exp_homun.txt b/db/re/exp_homun.txt
new file mode 100644
index 0000000..a9c4e0b
--- /dev/null
+++ b/db/re/exp_homun.txt
@@ -0,0 +1,153 @@
+//Homunculus LvUp experience value table
+122
+184
+252
+365
+494
+681
+890
+1146
+1481
+1874
+2369
+2970
+3700
+4630
+5770
+7170
+8910
+11050
+13660
+16900
+20900
+25810
+31870
+39310
+48500
+59820
+73760
+90920
+112100
+138170
+153390
+170270
+189020
+209820
+232910
+258550
+287000
+318580
+353630
+392540
+435740
+483690
+536910
+595990
+661550
+734330
+815110
+904780
+1004320
+1114810
+1237460
+1373600
+1524710
+1692440
+1878620
+2085280
+2314670
+2569290
+2851920
+3165640
+3513870
+3900400
+4329460
+4805710
+5334350
+5921140
+6572470
+7295450
+8097950
+8988730
+9977510
+11075040
+12293300
+13645570
+15146600
+16812740
+18662160
+20715000
+22993660
+25522970
+28330510
+31446880
+34906050
+38745730
+43007770
+47738640
+52989890
+58818790
+65288870
+72470660
+76094200
+79898920
+83893880
+88088590
+92493030
+97117690
+101973590
+107072280
+112425900
+118047200
+123949580
+130147070
+136654430
+143487170
+150661530
+158194620
+166104360
+174409590
+183130080
+192286600
+201900940
+211995990
+222595800
+233725600
+245411890
+257682500
+270566640
+284094980
+298299740
+313214730
+322611180
+332289520
+342258210
+352525970
+363101750
+373994820
+385214670
+396771130
+408674270
+420934510
+433562560
+446569450
+459966540
+473765550
+487978530
+502617900
+517696450
+533227350
+549224190
+565700920
+582671950
+600152110
+618156680
+636701390
+655802440
+675476520
+695740830
+716613060
+738111460
+760254820
+767857380
+0
diff --git a/db/re/homunculus_db.txt b/db/re/homunculus_db.txt
new file mode 100644
index 0000000..616018b
--- /dev/null
+++ b/db/re/homunculus_db.txt
@@ -0,0 +1,31 @@
+// Homunculus Database
+//
+// Structure of Database:
+// Class,EvoClass,Name,FoodID,HungryDelay,BaseSize,EvoSize,Race,Element,bASPD,bHP,bSP,bSTR,bAGI,bVIT,bINT,bDEX,bLUK,gnHP,gxHP,gnSP,gxSP,gnSTR,gxSTR,gnAGI,gxAGI,gnVIT,gxVIT,gnINT,gxINT,gnDEX,gxDEX,gnLUK,gxLUK,enHP,exHP,enSP,exSP,enSTR,exSTR,enAGI,exAGI,enVIT,exVIT,enINT,exINT,enDEX,exDEX,enLUK,exLUK
+//
+// 01. Class Homunculus ID.
+// 02. EvoClass Homunculus ID of the evolved version.
+// 03. Name Name of the homunculus.
+// 04. FoodID Item ID of the homunuclus food.
+// 05. HungryDelay Time interval in milliseconds after which the homunculus' hunger value is altered.
+// 06. BaseSize Size of the base homunculus class (0 = small, 1 = normal, 2 = large).
+// 07. EvoSize Size of the evolved homunculus class (0 = small, 1 = normal, 2 = large).
+// 08. Race Race of the homunculus (0 = formless, 1 = undead, 2 = brute, 3 = plant, 4 = insect, 5 = fish, 6 = demon, 7 = demi-human, 8 = angel, 9 = dragon).
+// 09. Element Element of the homunculus (0 = neutral, 1 = water, 2 = earth, 3 = fire, 4 = wind, 5 = poison, 6 = holy, 7 = dark, 8 = ghost, 9 = undead).
+// The element level is always 1.
+// ...
+//
+// Legend: b: base, gn: growth min, gx: growth max, en: evolution min, ex: evolution max
+// NOTE: Only the growth values are in a 1/10 scale, the other stats are 1/1 (eg: 5 gmAGI means 0.5 agi)
+
+// Class,EvoClass,Name,FoodID,HungryDelay,BaseSize,EvoSize,Race,Element,bASPD,bHP,bSP,bSTR,bAGI,bVIT,bINT,bDEX,bLUK,gnHP,gxHP,gnSP,gxSP,gnSTR,gxSTR,gnAGI,gxAGI,gnVIT,gxVIT,gnINT,gxINT,gnDEX,gxDEX,gnLUK,gxLUK,enHP,exHP,enSP,exSP,enSTR,exSTR,enAGI,exAGI,enVIT,exVIT,enINT,exINT,enDEX,exDEX,enLUK,exLUK
+6001,6031,Mage,502,300000,2,1,7,0,700,300,45,12,20,15,35,24,14,40,55,7,9,10,20,4,15,5,14,15,25,5,15,5,15,800,2400,220,480,10,30,30,50,20,40,20,40,10,30,10,20
+6002,6032,Tanker,502,300000,0,1,7,0,700,350,40,20,15,35,24,14,12,45,60,6,9,10,20,4,15,15,25,5,15,5,15,5,15,800,2400,220,480,10,30,30,50,20,40,20,40,10,30,10,20
+6003,6033,Agile,502,300000,0,1,7,0,700,250,40,15,35,24,14,12,20,35,55,6,9,10,20,14,25,5,15,5,15,5,15,5,15,800,2400,220,480,10,30,30,50,20,40,20,40,10,30,10,20
+6004,6034,Strong,502,300000,0,1,7,0,620,320,40,35,24,14,12,20,15,40,60,6,9,20,30,4,15,5,15,5,15,5,15,5,15,800,2400,220,480,10,30,30,50,20,40,20,40,10,30,10,20
+6005,6035,Lucky,502,300000,0,1,7,0,700,320,40,24,14,12,20,15,35,40,60,6,9,10,20,4,15,5,15,5,15,5,15,15,25,800,2400,220,480,10,30,30,50,20,40,20,40,10,30,10,20
+6006,6036,Accurate,502,300000,0,1,7,0,670,320,40,14,12,20,15,35,24,40,60,6,9,10,20,4,15,5,15,5,15,15,25,5,15,800,2400,220,480,10,30,30,50,20,40,20,40,10,30,10,20
+6007,6037,All Rounder,502,300000,0,1,7,0,720,300,40,20,20,20,20,20,20,40,60,6,9,15,20,8,15,10,15,10,15,10,15,10,15,800,2400,220,480,10,30,30,50,20,40,20,40,10,30,10,20
+6008,6038,Superior Machine,502,300000,0,1,7,0,720,300,40,15,10,30,20,30,10,40,60,6,9,10,25,4,20,5,20,5,20,5,20,5,20,800,2400,220,480,10,30,30,50,20,40,20,40,10,30,10,20
+6010,6039,Elanore,502,300000,0,1,7,0,720,300,40,20,20,20,20,20,20,40,60,6,9,15,20,8,15,10,15,10,15,10,15,10,15,800,2400,220,480,10,30,30,50,20,40,20,40,10,30,10,20
+
diff --git a/db/re/item_chain.conf b/db/re/item_chain.conf
new file mode 100644
index 0000000..e0b1b4d
--- /dev/null
+++ b/db/re/item_chain.conf
@@ -0,0 +1,66 @@
+//====================================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//=
+//= http://herc.ws/board/
+//================= More Information =================
+// http://herc.ws/board/topic/1244-official-item-grouppackagechain
+//====================================================
+// Structure of file:
+/*
+
+ ITMCHAIN_<Name>: {
+ <Item_Name>: <chance>
+ }
+
+*/
+
+ITMCHAIN_ORE: {
+ EarthPowder: 1800
+ Coal: 500
+ IronOre: 380
+ CopperOre: 250
+ SilverOre: 100
+ GoldOre: 80
+ TinOre: 67
+ LeadOre: 54
+ TitaniumOre: 35
+ IridiumOre: 10
+ PlatinumOre: 5
+}
+
+
+ITMCHAIN_HERB: {
+ ArtichokeHerb: 800
+ CobaltHerb: 400
+ GambogeHerb: 400
+ MauveHerb: 400
+ AlizarinHerb: 400
+ ShadowHerb: 100
+}
+
+ITMCHAIN_ARROW: {
+ SmallArrowSack: 1800
+ MediumArrowSack: 800
+ BigArrowSack: 460
+ TolchiAmmoBox: 120
+ ArrowAmmoBox: 18
+}
+
+ITMCHAIN_BULLET: {
+ Bullet: 17000
+ SmallBulletSack: 900
+ MediumBulletSack: 420
+ BigBulletSack: 190
+}
+
+ITMCHAIN_SIEGFRIED: {
+}
+
+ITMCHAIN_NEO_INSURANCE: {
+ Insurance: 1
+}
diff --git a/db/re/item_combo_db.conf b/db/re/item_combo_db.conf
new file mode 100644
index 0000000..d27161c
--- /dev/null
+++ b/db/re/item_combo_db.conf
@@ -0,0 +1,262 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2019 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/>.
+//================= Description ===========================================
+// Configurations file for status effects
+//=========================================================================
+
+combo_db: (
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+{
+ // ================ Mandatory fields ===============================
+ Items: ["item_list"] (string, array) list of items
+ Script: <"
+ Script
+ (it can be multi-line)
+ ">
+}
+**************************************************************************/
+// Item Combos Database
+
+// This define set bonuses
+// Quivers and Shields usually are not counted.
+// A set should have 4 or 5 pieces of equipment.
+
+// Creased Set Bonus: +1 to all stats
+{
+ Items: ["CreasedShirt", "CreasedBoots", "CreasedGloves", "CreasedShorts"]
+ Script: <"
+ bonus bAllStats, 1;
+ ">
+},
+
+// Candor Set Bonus (excluding Bola): +1 to all stats, +1% HP
+{
+ Items: ["CandorShirt", "CandorBoots", "CandorGloves", "CandorShorts", "CandorHeadBand"]
+ Script: <"
+ bonus bAllStats, 1;
+ bonus bMaxHPrate, 1;
+ ">
+},
+
+// Cotton Set Bonus: +1 to all stats, +1% HP, +5% MP
+{
+ Items: ["CottonShirt", "CottonBoots", "CottonGloves", "CottonShorts"]
+ Script: <"
+ bonus bAllStats, 1;
+ bonus bMaxHPrate, 1;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["CottonShirt", "CottonBoots", "CottonGloves", "CottonTrousers"]
+ Script: <"
+ bonus bAllStats, 1;
+ bonus bMaxHPrate, 1;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["CottonShirt", "CottonBoots", "CottonGloves", "CottonSkirt"]
+ Script: <"
+ bonus bAllStats, 1;
+ bonus bMaxHPrate, 1;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["CottonShirt", "CottonBoots", "CottonGloves", "MiniSkirt"]
+ Script: <"
+ bonus bAllStats, 1;
+ bonus bMaxHPrate, 1;
+ bonus bMaxSPrate, 5;
+ ">
+},
+
+// Miner Set Bonus: +1 to all stats, Vit +2
+{
+ Items: ["MinerTankTop", "MinerGloves", "MinerHat", "MinerKnife"]
+ Script: <"
+ bonus bAllStats, 1;
+ bonus bVit, 2;
+ ">
+},
+// Shirt, Gloves, Hat and Pickaxe: Luk +5 instead
+{
+ Items: ["MinerTankTop", "MinerGloves", "MinerHat", "Pickaxe"]
+ Script: <"
+ bonus bAllStats, 1;
+ bonus bLuk, 5;
+ ">
+},
+
+// Warlord Set
+// Allstats +1, Blocking +2%
+
+// Normal
+{
+ Items: ["WarlordPlate", "WarlordBoots", "WarlordGloves", "WarlordPants", "WarlordHelmet"]
+ Script: <"
+ bonus bAllStats, 1;
+ bonus bFlee2, 2;
+ ">
+},
+// Golden
+{
+ Items: ["GoldenWarlordPlate", "WarlordBoots", "WarlordGloves", "WarlordPants", "WarlordHelmet"]
+ Script: <"
+ bonus bAllStats, 1;
+ bonus bFlee2, 2;
+ ">
+},
+
+// Chainmail Set
+// Blocking +1%
+// Normal
+{
+ Items: ["Chainmail", "ChainmailSkirt"]
+ Script: <"
+ bonus bFlee2, 1;
+ ">
+},
+// Golden
+{
+ Items: ["GoldenChainmail", "ChainmailSkirt"]
+ Script: <"
+ bonus bFlee2, 1;
+ ">
+},
+
+// Terranite Set
+// Allstats +1, Int. MDef +30%
+{
+ Items: ["TerraniteArmor", "TerraniteBoots", "TerranitePants", "TerraniteMask"]
+ Script: <"
+ bonus bAllStats, 1;
+ bonus bMdef2Rate, 30;
+ ">
+},
+
+// Leather Set
+// Allstats +2
+// Leather Quiver/Shield not considered
+{
+ Items: ["LeatherShirt", "LeatherBoots", "LeatherGloves", "LeatherTrousers"]
+ Script: <"
+ bonus bAllStats, 2;
+ ">
+},
+//{
+// Items: ["LeatherShirt", "LeatherBoots", "LeatherGloves", "LeatherTrousers"]
+// Script: <"
+// bonus bAllStats, 2;
+// ">
+//},
+
+// Assassin Set
+// Allstats +1, Agi +5
+{
+ Items: ["AssassinChest", "AssassinBoots", "AssassinGloves", "AssassinPants"]
+ Script: <"
+ bonus bAllStats, 1;
+ bonus bAgi, 5;
+ ">
+},
+
+// Savior Set
+// Allstats +5
+// Note: Gloves/Helmet replaced with Shield (2705) temporaly
+{
+ Items: ["SaviorArmor", "SaviorBoots", "SaviorPants", "SaviorHelmet", "SaviorShield"]
+ Script: <"
+ bonus bAllStats, 5;
+ ">
+},
+{
+ Items: ["SaviorArmor", "SaviorBoots", "SaviorPants", "SaviorHelmet", "Skypiercer"]
+ Script: <"
+ bonus bAllStats, 5;
+ ">
+},
+
+// Mages Set
+// MP Regen bonuses (smaller sets)
+{
+ Items: ["CottonBoots", "CottonGloves", "SilkRobe"]
+ Script: <"
+ bonus2 bSPRegenRate, 5, 2000;
+ ">
+},
+{
+ Items: ["CottonBoots", "SilkGloves", "SilkRobe"]
+ Script: <"
+ bonus2 bSPRegenRate, 5, 2000;
+ ">
+},
+// Cotton Boots + Cotton/Silk Gloves + Sorcerer Robe - Silk Set (+6 mp/2s)
+
+{
+ Items: ["CottonBoots", "CottonGloves", "SorcererRobe"]
+ Script: <"
+ bonus2 bSPRegenRate, 5, 2000;
+ ">
+},
+{
+ Items: ["CottonBoots", "SilkGloves", "SorcererRobe"]
+ Script: <"
+ bonus2 bSPRegenRate, 5, 2000;
+ ">
+},
+// Wizard Mocassins + Cotton/Silk Gloves + Sorcerer Robe - Mage Set (+7 mp/2s)
+
+{
+ Items: ["WizardMoccasins", "CottonGloves", "SorcererRobe"]
+ Script: <"
+ bonus2 bSPRegenRate, 7, 2000;
+ ">
+},
+{
+ Items: ["WizardMoccasins", "SilkGloves", "SorcererRobe"]
+ Script: <"
+ bonus2 bSPRegenRate, 7, 2000;
+ ">
+},
+// W. Boots + Cotton/Silk Gloves + Sorcerer Robe - Mage Set (+7 mp/2s)
+
+{
+ Items: ["WitchBoots", "CottonGloves", "SorcererRobe"]
+ Script: <"
+ bonus2 bSPRegenRate, 7, 2000;
+ ">
+},
+{
+ Items: ["WitchBoots", "SilkGloves", "SorcererRobe"]
+ Script: <"
+ bonus2 bSPRegenRate, 7, 2000;
+ ">
+},
+)
diff --git a/db/re/item_db.conf b/db/re/item_db.conf
new file mode 100644
index 0000000..c708e0d
--- /dev/null
+++ b/db/re/item_db.conf
@@ -0,0 +1,19342 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2015 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/>.
+//=========================================================================
+//= Items Database
+//=========================================================================
+
+item_db: (
+// Items Database
+//
+/******************************************************************************
+ ************* Entry structure ************************************************
+ ******************************************************************************
+{
+ // =================== Mandatory fields ===============================
+ Id: ID (int)
+ AegisName: "Aegis_Name" (string)
+ Name: "Item Name" (string)
+ // =================== Optional fields
+================================
+ Type: Item Type (string, defaults to "IT_ETC")
+ Buy: Buy Price (int, defaults to Sell * 2)
+ Sell: Sell Price (int, defaults to Buy / 2)
+ Weight: Item Weight (int, defaults to 0)
+ Atk: Attack (int, defaults to 0)
+ Matk: Magical Attack (int, defaults to 0, ignored in pre-re)
+ Def: Defense (int, defaults to 0)
+ Range: Attack Range (int, defaults to 0)
+ MinRange: Minimal Attack Range (int, defaults to 0)
+ Slots: Slots (int, defaults to 0)
+ Job: Job mask (int, defaults to all jobs = 0xFFFFFFFF)
+ Upper: Upper mask (bitmask array, string or int, defaults to "ITEMUPPER_ALL")
+ Gender: Gender (string, defaults to "SEX_ANY")
+ Loc: Equip location (bitmask array, string or int, required value for equipment)
+ WeaponLv: Weapon Level (int, defaults to 0)
+ EquipLv: Equip required level (int, defaults to 0)
+ EquipLv: [min, max] (alternative syntax with min / max level)
+ Refine: Refineable (boolean, defaults to true)
+ DisableOptions: true/false (boolean, defaults to false !!for equipments only!!) [Smokexyz]
+ Subtype: Item Subtype (int, defaults to 0)
+ W_FIST, ///< Bare hands
+ W_DAGGER, //1
+ W_1HSWORD, //2
+ W_2HSWORD, //3
+ W_1HSPEAR, //4
+ W_2HSPEAR, //5
+ W_1HAXE, //6
+ W_2HAXE, //7
+ W_MACE, //8
+ W_2HMACE, //9
+ W_STAFF, //10
+ W_BOW, //11
+ W_KNUCKLE, //12
+ W_MUSICAL, //13
+ W_WHIP, //14
+ W_BOOK, //15
+ W_KATAR, //16
+ W_REVOLVER, //17
+ W_RIFLE, //18
+ W_GATLING, //19
+ W_SHOTGUN, //20
+ W_GRENADE, //21
+ W_HUUMA, //22
+ W_2HSTAFF, //23
+ ViewSprite: Sprite view ID (int, defaults to 0)
+ BindOnEquip: true/false (boolean, defaults to false)
+ ForceSerial: true/false (boolean, defaults to false)
+ BuyingStore: true/false (boolean, defaults to false)
+ Delay: Delay to use item (int, defaults to 0)
+ FloorLifeTime: Delay to remove item from ground (int, default flooritem_lifetime)
+ KeepAfterUse: true/false (boolean, defaults to false)
+ DropAnnounce: true/false (boolean, defaults to false)
+ AllowPickup: true/false (boolean, defaults to true)
+ Charm: true/false (boolean, defaults to false)
+ MaxFloorOffset: [x, y] (int, defaults to 8)
+ MaxFloorOffset: offset (int, defaults to 8)
+ Identified: true/false (boolean, default to true)
+ RequiredStr: required strength (int, default to 0)
+ RequiredAgi: required agility (int, default to 0)
+ RequiredVit: required vitality (int, default to 0)
+ RequiredInt: required intellect (int, default to 0)
+ RequiredDex: required dexterity (int, default to 0)
+ RequiredLuk: required luck (int, default to 0)
+ RequiredMaxHp: required max hp (int, default to 0)
+ RequiredMaxSp: required max sp (int, default to 0)
+ RequiredAtk: required attack (int, default to 0)
+ RequiredMAtkMin: required minimal magic attack (int, default to 0)
+ RequiredMAtkMax: required maximum magic attack (int, default to 0)
+ RequiredDef: required defence (int, default to 0)
+ RequiredMDef: required magic defence (int, default to 0)
+ RequiredSkill: required skill (int, default to 0)
+ UseEffect: effect if use/equip item success (int, default to -1)
+ UseFailEffect: effect if use/equip item failed (int, default to -1)
+ UnequipEffect: effect if unequip item success (int, default to -1)
+ UnequipFailEffect: effect if unequip item failed (int, default to -1)
+ Trade: { (defaults to no restrictions)
+ override: GroupID (int, defaults to 100)
+ nodrop: true/false (boolean, defaults to false)
+ notrade: true/false (boolean, defaults to false)
+ partneroverride: true/false (boolean, defaults to false)
+ noselltonpc: true/false (boolean, defaults to false)
+ nocart: true/false (boolean, defaults to false)
+ nostorage: true/false (boolean, defaults to false)
+ nogstorage: true/false (boolean, defaults to false)
+ nomail: true/false (boolean, defaults to false)
+ noauction: true/false (boolean, defaults to false)
+ }
+ Nouse: { (defaults to no restrictions)
+ override: GroupID (int, defaults to 100)
+ sitting: true/false (boolean, defaults to false)
+ }
+ Stack: [amount, type] (int, defaults to 0)
+ Sprite: SpriteID (int, defaults to 0)
+ Script: <"
+ Script
+ (it can be multi-line)
+ ">
+ OnEquipScript: <" OnEquip Script (can also be multi-line) ">
+ OnUnequipScript: <" OnUnequip Script (can also be multi-line) ">
+ OnDropScript: <" OnDrop Script (can also be multi-line) ">
+ OnTakeScript: <" OnTake Script (can also be multi-line) ">
+ OnInsertCardScript: <" OnInsert card Script (can also be multi-line) ">
+ AllowCards: {
+ idNUM: amount (NUM is id number, amount is amount)
+ }
+ AllowAmmo: {
+ idNUM: something (NUM is id number)
+ }
+},
+******************************************************************************/
+/*
+501 699 = Usable Items
+700 999 = Generic Items
+1000 1149 = Necklaces
+1150 1299 = Charms
+1300 1799 = Chest Armors
+1800 1999 = Boots
+2000 2199 = Gloves
+2200 2499 = Pants
+2500 2699 = Rings
+2700 2899 = Shields
+2900 3199 = Head Gears
+3200 3499 = Neck Armors
+3500 3999 = Melee Weapons
+4000 4999 = Pets
+5000 5999 = Cards
+6000 6499 = Ranged Weapons
+6500 6999 = Ammo
+7000 7399 = Magical Weapons (MAtk weapons)
+7400 9999 = Others
+*/
+{
+ Id: 501
+ AegisName: "Acorn"
+ Name: "Acorn"
+ Type: "IT_HEALING"
+ Buy: 20
+ Sell: 7
+ Weight: 3
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ if (@useType == 1) {
+ getmapxy(.@map$, .@x, .@y, 0);
+ if (rand(1,10) != 3) {
+ monster(.@map$, .@x, .@y, l("Oak"), 1017, 1);
+ $TREE_PLANTED+=+1;
+ callfunc "SaggyScoreUpdate", callfunc("rand2", 1, 2);
+ } else {
+ monster(.@map$, .@x, .@y, l("Not An Oak"), SpringSquirrel, 1);
+ }
+ } else {
+ callfunc("ItHeal2", 0, 1);
+ }
+ ">
+},
+{
+ Id: 502
+ AegisName: "Bread"
+ Name: "Bread"
+ Type: "IT_HEALING"
+ Buy: 46
+ Sell: 17
+ Weight: 25
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ //sc_start SC_INCATKRATE, 10000, 100;
+ callfunc("ItHeal2", 1, 2);
+ ">
+},
+{
+ Id: 503
+ AegisName: "Fungus"
+ Name: "Fungus"
+ Type: "IT_HEALING"
+ Buy: 45
+ Sell: 15
+ Weight: 8
+ Refine: false
+ Delay: 1000
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ sc_end SC_POISON;
+ callfunc("ItHeal2", 1, 3);
+ ">
+},
+{
+ Id: 504
+ AegisName: "Cheese"
+ Name: "Cheese"
+ Type: "IT_HEALING"
+ Buy: 55
+ Sell: 17
+ Weight: 3
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 3);
+ ">
+},
+{
+ Id: 505
+ AegisName: "PiouLegs"
+ Name: "Piou Legs"
+ Type: "IT_HEALING"
+ Buy: 15
+ Sell: 5
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 2, 1);
+ ">
+},
+{
+ Id: 506
+ AegisName: "LettuceLeaf"
+ Name: "Lettuce Leaf"
+ Type: "IT_HEALING"
+ Buy: 30
+ Sell: 10
+ Weight: 1
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 1);
+ ">
+},
+{
+ Id: 507
+ AegisName: "Piberries"
+ Name: "Piberries"
+ Type: "IT_HEALING"
+ Buy: 20
+ Sell: 9
+ Weight: 2
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 3);
+ ">
+},
+{
+ Id: 508
+ AegisName: "SeaDrops"
+ Name: "Sea Drops"
+ Type: "IT_HEALING"
+ Buy: 6
+ Sell: 2
+ Weight: 4
+ Refine: false
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ if (rand(10000) < 1000)
+ sc_start SC_POISON, 7000, 0;
+ callfunc("ItHeal2", 1, 2);
+ ">
+},
+{
+ Id: 509
+ AegisName: "Aquada"
+ Name: "Aquada"
+ Type: "IT_HEALING"
+ Buy: 120
+ Sell: 42
+ Weight: 16
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 5);
+ ">
+},
+{
+ Id: 510
+ AegisName: "PinkBlobime"
+ Name: "Pink Blobime"
+ Type: "IT_HEALING"
+ Buy: 10
+ Sell: 4
+ Weight: 10
+ Refine: false
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ sc_start2 SC_POISON, 1, 30, 3333;
+ callfunc("ItHeal2", 0, 2);
+ ">
+},
+{
+ Id: 511
+ AegisName: "PurpleBlobime"
+ Name: "Purple Blobime"
+ Type: "IT_HEALING"
+ Buy: 20
+ Sell: 7
+ Weight: 10
+ Refine: false
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ sc_start2 SC_POISON, 1, 30, 6666;
+ callfunc("ItHeal2", 0, 3);
+ ">
+},
+{
+ Id: 512
+ AegisName: "HalfCroconut"
+ Name: "Half Croconut"
+ Type: "IT_HEALING"
+ Buy: 75
+ Sell: 26
+ Weight: 38
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 4);
+ ">
+},
+{
+ Id: 513
+ AegisName: "Croconut"
+ Name: "Croconut"
+ Type: "IT_USABLE"
+ Buy: 100
+ Sell: 35
+ Weight: 80
+ Refine: false
+ Script: <"
+ doevent "Croconut::OnUse";
+ ">
+},
+{
+ Id: 514
+ AegisName: "CaramelCandy"
+ Name: "Caramel Candy"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 3
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @type = 0;
+ @rarity=1;
+ if ($@SEASON == WINTER) {
+ @rarity = 10;
+ }
+ doevent "rand_sc_heal::OnUse";
+ ">
+},
+{
+ Id: 515
+ AegisName: "Plushroom"
+ Name: "Plushroom"
+ Type: "IT_HEALING"
+ Buy: 42
+ Sell: 5
+ Weight: 7
+ Refine: false
+ Delay: 1000
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("SC_Bonus", 15, SC_ATTHASTE_POTION1, 5);
+ callfunc("ItHeal", 3, 30, 60);
+ ">
+},
+{
+ Id: 516
+ AegisName: "PumpkishJuice"
+ Name: "Pumpkish Juice"
+ Type: "IT_HEALING"
+ Buy: 200
+ Sell: 5
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal", 4, 30, 50);
+ ">
+},
+{
+ Id: 517
+ AegisName: "DeliciousCookie"
+ Name: "Delicious Cookie"
+ Type: "IT_ARMOR"
+ Buy: 30
+ Sell: 10
+ Weight: 2
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 1
+ Refine: false
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 518
+ AegisName: "UrchinMeat"
+ Name: "Urchin Meat"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 18
+ Weight: 1
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 2, 8);
+ ">
+},
+{
+ Id: 519
+ AegisName: "EasterEgg"
+ Name: "Easter Egg"
+ Type: "IT_HEALING"
+ Buy: 100
+ Sell: 20
+ Weight: 10
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @type = 3;
+ @rarity=2;
+ if ($EVENT$ == "Easter") {
+ @rarity=6;
+ callfunc("SC_Bonus", 10, SC_INCHIT, 10);
+ }
+ doevent "rand_sc_heal::OnUse";
+ ">
+},
+{
+ Id: 520
+ AegisName: "PiberriesInfusion"
+ Name: "Piberries Infusion"
+ Type: "IT_HEALING"
+ Buy: 140
+ Sell: 47
+ Weight: 15
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 4, 2);
+ ">
+},
+{
+ Id: 521
+ AegisName: "FatesPotion"
+ Name: "Fates Potion"
+ Type: "IT_HEALING"
+ Buy: 250
+ Sell: 84
+ Weight: 17
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 4, 4);
+ ">
+},
+{
+ Id: 522
+ AegisName: "ClothoLiquor"
+ Name: "Clotho Liquor"
+ Type: "IT_HEALING"
+ Buy: 600
+ Sell: 200
+ Weight: 16
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 4, 6);
+ ">
+},
+{
+ Id: 523
+ AegisName: "LachesisBrew"
+ Name: "Lachesis Brew"
+ Type: "IT_HEALING"
+ Buy: 1000
+ Sell: 330
+ Weight: 14
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 4, 8);
+ ">
+},
+{
+ Id: 524
+ AegisName: "AtroposMixture"
+ Name: "Atropos Mixture"
+ Type: "IT_HEALING"
+ Buy: 2450
+ Sell: 815
+ Weight: 15
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 4, 10);
+ ">
+},
+{
+ Id: 525
+ AegisName: "ElixirOfLife"
+ Name: "Elixir Of Life"
+ Type: "IT_HEALING"
+ Buy: 50000
+ Sell: 500
+ Weight: 20
+ Refine: false
+ Delay: 1000
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ sc_end SC_STONE;
+ sc_end SC_FREEZE;
+ sc_end SC_STUN;
+ sc_end SC_SLEEP;
+ sc_end SC_POISON;
+ sc_end SC_CURSE;
+ sc_end SC_SILENCE;
+ sc_end SC_CONFUSION;
+ sc_end SC_BLIND;
+ sc_end SC_BLOODING; // FIXME: Failing?
+ sc_end SC_DPOISON;
+ sc_end SC_FEAR;
+ sc_end SC_COLD;
+ sc_end SC_BURNING;
+ sc_end SC_DEEP_SLEEP;
+ sc_end SC_DEC_AGI;
+ sc_end SC_FROSTMISTY;
+ sc_end SC_VENOMBLEED;
+ sc_end SC_HALT_REGENERATION;
+ percentheal 100, 100;
+ callfunc("SC_Bonus", 180, SC_KAIZEL, 1); // Revives with 1% HP if you die
+ // Protects you for 30 seconds from map ailments
+ @coolio=max(gettimetick(2), @coolio)+30;
+ @sickio=max(gettimetick(2), @sickio)+30;
+ @purifio=max(gettimetick(2), @purifio)+30;
+ @bleedio=max(gettimetick(2), @bleedio)+30;
+ ">
+},
+{
+ Id: 526
+ AegisName: "IronShovel"
+ Name: "Iron Shovel"
+ Type: "IT_USABLE"
+ Buy: 5000
+ Sell: 750
+ Weight: 210
+ Refine: false
+ KeepAfterUse: true
+ Script: <"
+ if (@useType == 1) {
+ doevent "Shovel::OnBury";
+ } else {
+ doevent "Shovel::OnDig";
+ }
+ ">
+},
+{
+ Id: 527
+ AegisName: "SteelShovel"
+ Name: "Steel Shovel"
+ Type: "IT_USABLE"
+ Buy: 30000
+ Sell: 10000
+ Weight: 210
+ Refine: false
+ KeepAfterUse: true
+ Script: <"
+ if (@useType == 1) {
+ doevent "Shovel::OnBury";
+ } else {
+ doevent "Shovel::OnDig";
+ }
+ ">
+},
+{
+ Id: 528
+ AegisName: "Manana"
+ Name: "Manana"
+ Type: "IT_HEALING"
+ Buy: 100
+ Sell: 35
+ Weight: 10
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 2);
+ ">
+},
+{
+ Id: 529
+ AegisName: "Curshroom"
+ Name: "Curshroom"
+ Type: "IT_HEALING"
+ Buy: 150
+ Sell: 25
+ Weight: 10
+ Refine: false
+ Delay: 1000
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("SC_Bonus", 30, SC_INCATKRATE, 10);
+ //callfunc("SC_Bonus", 30, SC_ATTHASTE_POTION1, 5);
+ sc_end SC_POISON;
+ callfunc("ItHeal2", 1, 9);
+ ">
+},
+{
+ Id: 530
+ AegisName: "Carrot"
+ Name: "Carrot"
+ Type: "IT_HEALING"
+ Buy: 300
+ Sell: 80
+ Weight: 3
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @type = 1;
+ @rarity=3;
+ if ($EVENT$ == "Easter" || $EVENT$ == "Valentine") {
+ @rarity=9;
+ }
+ doevent "rand_sc_heal::OnUse";
+ ">
+},
+{
+ Id: 531
+ AegisName: "RedPlushWine"
+ Name: "Red Plush Wine"
+ Type: "IT_HEALING"
+ Buy: 400
+ Sell: 110
+ Weight: 10
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @taste = 25;
+ @Alcohol = 16;
+ doevent "alcohol_sc::OnUse";
+ ">
+},
+{
+ Id: 532
+ AegisName: "DwarvenSake"
+ Name: "Dwarven Sake"
+ Type: "IT_HEALING"
+ Buy: 800
+ Sell: 220
+ Weight: 14
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @taste = 50;
+ @Alcohol = 25;
+ doevent "alcohol_sc::OnUse";
+ ">
+},
+{
+ Id: 533
+ AegisName: "CrazyRum"
+ Name: "Crazy Rum"
+ Type: "IT_HEALING"
+ Buy: 1600
+ Sell: 440
+ Weight: 25
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @taste = 70;
+ @Alcohol = 40;
+ doevent "alcohol_sc::OnUse";
+ ">
+},
+{
+ Id: 534
+ AegisName: "WhiskeyAle"
+ Name: "Whiskey Ale"
+ Type: "IT_HEALING"
+ Buy: 3200
+ Sell: 880
+ Weight: 55
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @taste = 100;
+ @Alcohol = 70;
+ doevent "alcohol_sc::OnUse";
+ ">
+},
+{
+ Id: 535
+ AegisName: "JesusalvaGrimorium"
+ Name: "Jesusaves's Grimorium"
+ Type: "IT_USABLE"
+ Buy: 64000
+ Sell: 1
+ Weight: 25
+ KeepAfterUse: true
+ Refine: false
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ doevent "#Book-JGrimorium::OnUse";
+ ">
+},
+{
+ Id: 536
+ AegisName: "PetcaringGuide"
+ Name: "Fluffy Animals who Love Their Owners"
+ Type: "IT_USABLE"
+ Buy: 70
+ Sell: 10
+ Weight: 20
+ KeepAfterUse: true
+ Script: <"
+ doevent "#Book-Petcaring::OnUse";
+ ">
+},
+{
+ Id: 537
+ AegisName: "BookOfLaws"
+ Name: "The Book of Laws"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 10
+ KeepAfterUse: true
+ Refine: false
+ Script: <"
+ doevent "@rules::OnUseBook";
+ ">
+},
+{
+ Id: 538
+ AegisName: "FishingGuideVolI"
+ Name: "Fishing Guide Vol. I"
+ Type: "IT_USABLE"
+ Buy: 60
+ Sell: 10
+ Weight: 30
+ KeepAfterUse: true
+ Refine: false
+ Script: <"
+ doevent "#Book-Fishing1::OnUse";
+ ">
+},
+{
+ Id: 539
+ AegisName: "RoastedMaggot"
+ Name: "Roasted Maggot"
+ Type: "IT_HEALING"
+ Buy: 110
+ Sell: 55
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 2, 3);
+ ">
+},
+{
+ Id: 540
+ AegisName: "RedApple"
+ Name: "Red Apple"
+ Type: "IT_HEALING"
+ Buy: 99
+ Sell: 8
+ Weight: 5
+ Refine: false
+ Delay: 400
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 4);
+ ">
+},
+{
+ Id: 541
+ AegisName: "CactusPotion"
+ Name: "Cactus Potion"
+ Type: "IT_HEALING"
+ Buy: 70
+ Sell: 35
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 4);
+ ">
+},
+{
+ Id: 542
+ AegisName: "CactusDrink"
+ Name: "Cactus Drink"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 3);
+ ">
+},
+{
+ Id: 543
+ AegisName: "ApanaCake"
+ Name: "Apana Cake"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 10
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 3, 9, 5);
+ ">
+},
+{
+ Id: 544
+ AegisName: "Beer"
+ Name: "Beer"
+ Type: "IT_HEALING"
+ Buy: 195
+ Sell: 55
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @taste = 10;
+ @Alcohol = 7;
+ doevent "alcohol_sc::OnUse";
+ ">
+},
+{
+ Id: 545
+ AegisName: "Blueberries"
+ Name: "Blueberries"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @type = 0;
+ @rarity=1;
+ if ($EVENT$ == "SPRING") {
+ @rarity=10;
+ }
+ doevent "rand_sc_heal::OnUse";
+ ">
+},
+{
+ Id: 546
+ AegisName: "Candy"
+ Name: "Candy"
+ Type: "IT_HEALING"
+ Buy: 75
+ Sell: 25
+ Weight: 1
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 0, 2);
+ ">
+},
+{
+ Id: 547
+ AegisName: "BottleOfSeaWater"
+ Name: "Bottle Of Sea Water"
+ Type: "IT_HEALING"
+ Buy: 80
+ Sell: 35
+ Weight: 70
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 4);
+ if (rand(1,8) != 4)
+ getitem EmptyBottle, 1;
+ ">
+},
+{
+ Id: 548
+ AegisName: "CandyCane"
+ Name: "Candy Cane"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 0, 4);
+ ">
+},
+{
+ Id: 549
+ AegisName: "Cherry"
+ Name: "Cherry"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 4);
+ ">
+},
+{
+ Id: 550
+ AegisName: "CherryCake"
+ Name: "Cherry Cake"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 2, 4);
+ ">
+},
+{
+ Id: 551
+ AegisName: "ChickenLeg"
+ Name: "Chicken Leg"
+ Type: "IT_HEALING"
+ Buy: 200
+ Sell: 65
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 2, 5);
+ ">
+},
+{
+ Id: 552
+ AegisName: "ChocolateMouboo"
+ Name: "Chocolate Mouboo"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 12
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 5, rand(1,8));
+ ">
+},
+{
+ Id: 553
+ AegisName: "GingerBreadMan"
+ Name: "Ginger Bread Man"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 20
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @type = 0;
+ @rarity=4;
+ if ($@SEASON == WINTER) {
+ @rarity=10;
+ }
+ doevent "rand_sc_heal::OnUse";
+ ">
+},
+{
+ Id: 554
+ AegisName: "GoldenApple"
+ Name: "Golden Apple"
+ Type: "IT_HEALING"
+ Buy: 50000
+ Sell: 5000
+ Weight: 7
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ // Gives you 5 extra minutes of cooldown
+ @bleedio=max(gettimetick(2), @bleedio)+300;
+ @delay = rand(30,90);
+ @type = 4;
+ @rarity=6;
+ doevent "rand_sc_heal::OnUse";
+ ">
+},
+{
+ Id: 555
+ AegisName: "JarOfBlood"
+ Name: "Jar Of Blood"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 4);
+ ">
+},
+{
+ Id: 556
+ AegisName: "JellyBeans"
+ Name: "Jelly Beans"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 0, 4);
+ ">
+},
+{
+ Id: 557
+ AegisName: "RecipeBook"
+ Name: "Recipe Book"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 20
+ KeepAfterUse: true
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ doevent "#RecipeBook::OnUse";
+ ">
+},
+{
+ Id: 558
+ AegisName: "Mashmallow"
+ Name: "Mashmallow"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 0, 7);
+ ">
+},
+{
+ Id: 559
+ AegisName: "Milk"
+ Name: "Milk"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 4);
+ ">
+},
+{
+ Id: 560
+ AegisName: "Orange"
+ Name: "Orange"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal", 3, 75, 120);
+ ">
+},
+{
+ Id: 561
+ AegisName: "OrangeCupcake"
+ Name: "Orange Cupcake"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal", 2, 200, 400);
+ ">
+},
+{
+ Id: 562
+ AegisName: "Pear"
+ Name: "Pear"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 4);
+ ">
+},
+{
+ Id: 563
+ AegisName: "Honey"
+ Name: "Honey"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 4);
+ ">
+},
+{
+ Id: 564
+ AegisName: "PumpkinJuice"
+ Name: "Pumpkin Juice"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 4);
+ ">
+},
+{
+ Id: 565
+ AegisName: "PumpkinSeed"
+ Name: "Pumpkin Seed"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 2);
+ ">
+},
+{
+ Id: 566
+ AegisName: "BigPumpkinSeed"
+ Name: "Big Pumpkin Seed"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 3);
+ ">
+},
+{
+ Id: 567
+ AegisName: "SkullBloodyMug"
+ Name: "Skull Bloody Mug"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal", 3, 4);
+ ">
+},
+{
+ Id: 568
+ AegisName: "DeathPotion"
+ Name: "Death Potion"
+ Type: "IT_USABLE"
+ Buy: 5000
+ Sell: 250
+ Weight: 25
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc "die";
+ ">
+},
+{
+ Id: 569
+ AegisName: "SmallMushroom"
+ Name: "Small Mushroom"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 5);
+ ">
+},
+{
+ Id: 570
+ AegisName: "MoubooSteak"
+ Name: "Mouboo Steak"
+ Type: "IT_HEALING"
+ Buy: 200
+ Sell: 65
+ Weight: 75
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 2, 5);
+ ">
+},
+{
+ Id: 571
+ AegisName: "TonoriDelight"
+ Name: "Tonori Delight"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 20
+ Weight: 2
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @type = 3;
+ @rarity=2;
+ .@val=rand(32,96);
+ // Re-roll
+ if (.@val > 64)
+ .@val=rand(32,96);
+ itemheal 0, .@val;
+ callfunc("SC_Bonus", 10, SC_ATTHASTE_POTION1, 3);
+ doevent "rand_sc_heal::OnUse";
+ ">
+},
+{
+ Id: 572
+ AegisName: "XmasCake"
+ Name: "Xmas Cake"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @min = 100;
+ @max = 400;
+ if ($EVENT$ == "Christmas") {
+ @min=300;
+ @max=1200;
+ }
+ @delay = 3;
+ doevent "legacy_heal::OnUse";
+ ">
+},
+{
+ Id: 573
+ AegisName: "XmasCandyCane"
+ Name: "Xmas Candy Cane"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 18
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @min = 80;
+ @max = 350;
+ if ($EVENT$ == "Christmas") {
+ @min=240;
+ @max=1050;
+ }
+ @delay = 4;
+ @type = 1;
+ doevent "legacy_heal::OnUse";
+ ">
+},
+{
+ Id: 574
+ AegisName: "ZombieNachos"
+ Name: "Zombie Nachos"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 2, 1);
+ ">
+},
+{
+ Id: 583
+ AegisName: "ChocolateBiscuit"
+ Name: "Chocolate Biscuit"
+ Type: "IT_HEALING"
+ Buy: 50
+ Sell: 25
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 9);
+ ">
+},
+{
+ Id: 584
+ AegisName: "ChocolateBar"
+ Name: "Chocolate Bar"
+ Type: "IT_HEALING"
+ Buy: 90
+ Sell: 40
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 0, 9);
+ ">
+},
+{
+ Id: 585
+ AegisName: "CaveSnakeEgg"
+ Name: "Cave Snake Egg"
+ Type: "IT_HEALING"
+ Buy: 100
+ Sell: 50
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 2, 4);
+ ">
+},
+{
+ Id: 586
+ AegisName: "SmokeGrenade"
+ Name: "SmokeGrenade"
+ Type: "IT_USABLE"
+ Buy: 700
+ Sell: 350
+ Weight: 40
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_SMOKEBOMB"
+ Script: <"
+ callfunc "areasc", 3, 800+(BaseLevel*30), SC_SLEEP, BL_MOB;
+ //itemskill AS_CLOAKING,1,1;
+ //itemskill SM_MAGNUM,1;
+ // Fallback: ~~TF_HIDING AS_CLOAKING SC_INVISIBILITY RA_CAMOUFLAGE~~ None work?
+ //itemskill(, 1, 1);
+ ">
+},
+{
+ Id: 587
+ AegisName: "BugLeg"
+ Name: "Bug Leg"
+ Type: "IT_HEALING"
+ Buy: 30
+ Sell: 10
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal", 1, 8, 14);
+ ">
+},
+{
+ Id: 588
+ AegisName: "Toothbrush"
+ Name: "Toothbrush"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 1
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nostorage: false
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ announce l("@@ has the clear smile of victory!", strcharinfo(0)), bc_all;
+ .@r=rand(1,5);
+ if (.@r % 2 == 1)
+ getitem StrangeCoin, 10;
+ else
+ getitem BronzeGift, 1;
+ ">
+},
+{
+ Id: 589
+ AegisName: "BronzeGift"
+ Name: "Bronze Gift"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 25
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ setarray .@r, StrangeCoin, StrangeCoin, StrangeCoin, StrangeCoin, SharpKnife, RedApple, Cheese, Aquada, BronzeGladius, Aquada, Lockpicks, IronAmmoBox, ArrowAmmoBox, ElixirOfLife;
+ .@n=rand(getarraysize(.@r));
+
+ if (.@n > 3)
+ getitem .@r[.@n], 1;
+ else
+ getitem .@r[.@n], rand(5,10);
+ ">
+},
+{
+ Id: 590
+ AegisName: "SilverGift"
+ Name: "Silver Gift"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 45
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ setarray .@r, StrangeCoin, StrangeCoin, StrangeCoin, StrangeCoin, StrangeCoin, SnakeEgg, BronzeGift, Dagger, Wurtzite, RedPlushWine, MoubooSteak, IronOre, CelestiaTea, CursedAmmoBox, IronAmmoBox, SilverRing;
+ .@n=rand(getarraysize(.@r));
+
+ if (.@n > 4)
+ getitem .@r[.@n], 1;
+ else
+ getitem .@r[.@n], rand(9,21);
+ ">
+},
+{
+ Id: 591
+ AegisName: "GoldenGift"
+ Name: "Golden Gift"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 65
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ setarray .@r, StrangeCoin, StrangeCoin, CasinoCoins, IronIngot, SaxsoKey, GoldenApple, GoldenRing, GoldOre, Graphene, PoisonAmmoBox, CursedAmmoBox, MercBoxA, AncientBlueprint, HeadHood, SilverGift;
+ .@n=rand(getarraysize(.@r));
+
+ if (.@n > 2)
+ getitem .@r[.@n], 1;
+ else
+ getitem .@r[.@n], rand(20,40);
+ ">
+},
+{
+ Id: 592
+ AegisName: "PrismGift"
+ Name: "Prism Gift"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 85
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ setarray .@r, StrangeCoin, StrangeCoin, IronIngot, CopperIngot, TinIngot, SilverIngot, GoldIngot, PlatinumOre, IridiumOre, TitaniumOre, LeadOre, FourLeafClover, MercBoxB, MercBoxC, ThornAmmoBox, PoisonAmmoBox, PolishedDiamond, PolishedRuby, PolishedEmerald, PolishedSapphire, PolishedAmethyst, PolishedTopaz, SacredLifePotion, SacredManaPotion, SacredImmortalityPotion, AncientBlueprint, ArcmageBoxset, MysteriousFruit, GoldenGift;
+ .@n=rand(getarraysize(.@r));
+
+ if (.@n > 1)
+ getitem .@r[.@n], 1;
+ else
+ getitem .@r[.@n], rand(40,60);
+ ">
+},
+{
+ Id: 593
+ AegisName: "SupremeGift"
+ Name: "Supreme Gift"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 115
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ setarray .@r, StrangeCoin, StrangeCoin, StrangeCoin, Googles, BlueManaPearl, BlackPearl, Bloodstone, LavaManaPearl, SaviorBlueprint, DivineApple, BowlerHat, Butterfly, BoneAmmoBox, CrystallizedMaggot, MylarinDust, MercBoxDD, MercBoxE, MysteriousFruit, PrismGift;
+ .@n=rand(getarraysize(.@r));
+
+ if (.@n > 2)
+ getitem .@r[.@n], 1;
+ else
+ getitem .@r[.@n], rand(67,88);
+ ">
+},
+{
+ Id: 594
+ AegisName: "DesertTablet"
+ Name: "Desert Tablet"
+ Type: "IT_USABLE"
+ Buy: 90000
+ Sell: 10000
+ Weight: 860
+ // For the moment yes, but will be removed when quest is released
+ KeepAfterUse: true
+ Refine: false
+ Script: <"
+ dispbottom l("Impossible to read.");
+ ">
+},
+{
+ Id: 595
+ AegisName: "BottleOfDivineWater"
+ Name: "Bottle Of Divine Water"
+ Type: "IT_HEALING"
+ Buy: 500
+ Sell: 50
+ Weight: 69
+ Refine: false
+ Delay: 400
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @type = 1;
+ @rarity=10;
+ // Effect up on Aeros
+ getmapxy(.@ma$,.@xa,.@ya,0);
+ if (strpos(.@ma$, "001-") >= 0)
+ @type=3;
+ doevent "rand_sc_heal::OnUse";
+ getitem EmptyBottle, 1;
+ ">
+},
+{
+ Id: 596
+ AegisName: "BottleOfTonoriWater"
+ Name: "Bottle Of Tonori Water"
+ Type: "IT_HEALING"
+ Buy: 400
+ Sell: 70
+ Weight: 70
+ Refine: false
+ Delay: 450
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal", 3, 180, 800);
+ if (rand(1,7) != 4)
+ getitem EmptyBottle, 1;
+ ">
+},
+{
+ Id: 597
+ AegisName: "ChocolateBunny"
+ Name: "Chocolate Bunny"
+ Type: "IT_HEALING"
+ Buy: 400
+ Sell: 100
+ Weight: 96
+ Refine: false
+ Delay: 800
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 6);
+ ">
+},
+{
+ Id: 598
+ AegisName: "DivineApple"
+ Name: "Divine Apple"
+ Type: "IT_HEALING"
+ Buy: 40000
+ Sell: 10000
+ Weight: 16
+ Refine: false
+ Delay: 100
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 4, 7);
+ ">
+},
+{
+ Id: 599
+ AegisName: "SnakeEgg"
+ Name: "Snake Egg"
+ Type: "IT_HEALING"
+ Buy: 400
+ Sell: 70
+ Weight: 8
+ Refine: false
+ Delay: 800
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 2, 5);
+ ">
+},
+{
+ Id: 600
+ AegisName: "MountainSnakeEgg"
+ Name: "Moutain Snake Egg"
+ Type: "IT_HEALING"
+ Buy: 400
+ Sell: 80
+ Weight: 9
+ Refine: false
+ Delay: 800
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 2, 6);
+ ">
+},
+{
+ Id: 601
+ AegisName: "Chagashroom"
+ Name: "Chagashroom"
+ Type: "IT_HEALING"
+ Buy: 42
+ Sell: 13
+ Weight: 7
+ Refine: false
+ Delay: 1000
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ // SC_PLUSATTACKPOWER is not caught by client but works.
+ // SC_STRUP is caught by client, but raises STR in a weird way.
+ // SC_INCATKRATE works best of all ^.^
+ callfunc("SC_Bonus", 15, SC_PLUSATTACKPOWER, 5);
+ callfunc("ItHeal", 3, 30, 60);
+ ">
+},
+{
+ Id: 602
+ AegisName: "PinkieLeg"
+ Name: "Pinkie Leg"
+ Type: "IT_HEALING"
+ Buy: 35
+ Sell: 15
+ Weight: 12
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal", 6, 45, 75);
+ ">
+},
+{
+ Id: 603
+ AegisName: "HastePotion"
+ Name: "Haste Potion"
+ Type: "IT_USABLE"
+ Buy: 820
+ Sell: 240
+ Weight: 12
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("SC_Bonus", 45, SC_ATTHASTE_POTION1, 30);
+ ">
+},
+{
+ Id: 604
+ AegisName: "StrengthPotion"
+ Name: "Strength Potion"
+ Type: "IT_USABLE"
+ Buy: 820
+ Sell: 240
+ Weight: 12
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("SC_Bonus", 45, SC_PLUSATTACKPOWER, 30);
+ ">
+},
+{
+ Id: 605
+ AegisName: "BottleOfSewerWater"
+ Name: "Bottle Of Sewer Water"
+ Type: "IT_HEALING"
+ Buy: 40
+ Sell: 20
+ Weight: 65
+ Refine: false
+ Delay: 450
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ // Read the documentation, Saulc
+ // Example:
+ // This will poison the invoking character for 10 minutes at 50% chance.
+ // sc_start(SC_POISON, 600000, 0, 5000);
+ // Usage:
+ // sc_start(<effect type>, <ticks>, <value 1>{, <rate>, <flag>{, <GID>}})
+ sc_start SC_POISON, 9000, 0, 3200;
+ callfunc("ItHeal", 3, 18, 40);
+ getitem EmptyBottle, 1;
+ ">
+},
+{
+ Id: 606
+ AegisName: "PirateTreasureMap"
+ Name: "Pirate Treasure Map"
+ Type: "IT_USABLE"
+ Buy: 450000
+ Sell: 5000
+ Weight: 14
+ KeepAfterUse: true
+ Refine: false
+ Script: <"
+ dispbottom ("Illegible. We should ask a pirate about this.");
+ callfunc "compareandsetq", HurnscaldQuest_PirateCave, 0, 1;
+ ">
+},
+{
+ Id: 607
+ AegisName: "MysteriousBottle"
+ Name: "Mysterious Bottle"
+ Type: "IT_USABLE"
+ Buy: 500
+ Sell: 100
+ Weight: 25
+ KeepAfterUse: false
+ Refine: false
+ Script: <"
+ // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ setarray .@r, StrangeCoin, SilkCocoon, MushroomSpores, RattoTeeth, BottleOfSeaWater, SpellBookPage, SpellBookPage, AncientBlueprint, SpellBookPage, PirateTreasureMap, TreasureKey, GrassCarp, CottonCloth, CasinoCoins, CrazyRum, Pearl;
+ .@n=rand(getarraysize(.@r));
+
+ if (.@n > 3)
+ getitem .@r[.@n], 1;
+ else
+ getitem .@r[.@n], rand(1,3);
+ ">
+},
+{
+ Id: 608
+ AegisName: "CelestiaTea"
+ Name: "Celestia Tea"
+ Type: "IT_HEALING"
+ Buy: 28000
+ Sell: 60
+ Weight: 20
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ percentheal -50, 100;
+ itemheal -1, 0;
+ ">
+},
+{
+ Id: 609
+ AegisName: "CactusCocktail"
+ Name: "Cactus Cocktail"
+ Type: "IT_HEALING"
+ Buy: 300
+ Sell: 3
+ Weight: 12
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @min = 90;
+ @max = 260;
+ if ($@SEASON == SUMMER) {
+ @min = 270;
+ @max = 780;
+ }
+ @delay = 3;
+ doevent "legacy_heal::OnUse";
+ ">
+},
+{
+ Id: 610
+ AegisName: "AppleCocktail"
+ Name: "Apple Cocktail"
+ Type: "IT_HEALING"
+ Buy: 300
+ Sell: 5
+ Weight: 13
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @min = 130;
+ @max = 307;
+ if ($@SEASON == SUMMER) {
+ @min = 390;
+ @max = 921;
+ }
+ @delay = 3;
+ doevent "legacy_heal::OnUse";
+ ">
+},
+{
+ Id: 611
+ AegisName: "CherryCocktail"
+ Name: "Cherry Cocktail"
+ Type: "IT_HEALING"
+ Buy: 300
+ Sell: 10
+ Weight: 14
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @min = 165;
+ @max = 395;
+ if ($@SEASON == SUMMER) {
+ @min = 495;
+ @max = 1185;
+ }
+ @delay = 3;
+ doevent "legacy_heal::OnUse";
+ ">
+},
+{
+ Id: 612
+ AegisName: "FriendGift"
+ Name: "Friend Gift"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 0
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ if (BaseLevel < 5) {
+ dispbottom l("You must reach level 5 to open this gift.");
+ getitembound FriendGift, 1, 1;
+ } else {
+ getitem ScorpionStinger, rand(1,3);
+ getitem BugLeg, rand(1,3);
+ getitem MaggotSlime, rand(1,3);
+ Zeny=Zeny+50;
+
+ if (rand(1,2) == 1)
+ getitem Beer, 1;
+ else
+ getitem CottonCloth, 1;
+
+ .@it=PiouLegs;
+ switch(rand(1,3)) {
+ case 1:
+ .@it=PiouLegs;break;
+ case 2:
+ .@it=Piberries;break;
+ case 3:
+ .@it=Cheese;break;
+ }
+ getitem .@it, rand(2,3);
+ dispbottom l("Dear @@, I send you this gift in hopes you do well in TMW2.", strcharinfo(0));
+ //rodex_sendmail_acc(#REFERRAL_PROG, "TMW2 Team", "Invite Accepted", strcharinfo(0)+" accepted your invite and got level 5!\nThe one who invites most will win the recruitment event!", rand(50,150));
+ $REFERRAL_IDS[#REFERRAL_PROG]=$REFERRAL_IDS[#REFERRAL_PROG]+1;
+ // I can't warrant this won't break stuff so I left commented out
+ //message(#REFERRAL_PROG, strcharinfo(0)+" accepted your invite to play TMW2.");
+ .@charid=callfunc("gf_charid", #REFERRAL_PROG);
+ rodex_sendmail(.@charid, "TMW2 Team", "Invite Accepted", strcharinfo(0)+" accepted your invite and got level 5!\nAs they get stronger, more rewards will be sent to you!", rand(25,50));
+ }
+ ">
+},
+{
+ Id: 613
+ AegisName: "BlackMambaEgg"
+ Name: "Black Mamba Egg"
+ Type: "IT_HEALING"
+ Buy: 200
+ Sell: 20
+ Weight: 4
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 2, 7);
+ ">
+},
+{
+ Id: 614
+ AegisName: "TimeFlask"
+ Name: "Time Flask"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 40
+ KeepAfterUse: true
+ Refine: false
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ doevent "LoF Teleporter::OnUse";
+ ">
+},
+{
+ Id: 615
+ AegisName: "HerbalTea"
+ Name: "Nightshade Tea"
+ Type: "IT_USABLE"
+ Buy: 1240
+ Sell: 480
+ Weight: 12
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("SC_Bonus", 90, SC_ATTHASTE_POTION1, 70); // 70% bonus
+ if (rand(10000) < 6000)
+ sc_start callfunc("any", SC_POISON, SC_SILENCE, SC_POISON, SC_CONFUSE, SC_POISON, SC_POISON), rand(20000, 40000), 0;
+ itemheal 0, rand(10,200);
+ ">
+},
+{
+ Id: 616
+ AegisName: "BottleOfWoodlandWater"
+ Name: "Bottle Of Woodland Water"
+ Type: "IT_HEALING"
+ Buy: 400
+ Sell: 80
+ Weight: 70
+ Refine: false
+ Delay: 450
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal", 3, 300, 700);
+ if (rand(1,7) != 4)
+ getitem EmptyBottle, 1;
+ ">
+},
+{
+ Id: 617
+ AegisName: "FertilizedSpores"
+ Name: "Fertilized Spores"
+ Type: "IT_USABLE"
+ Buy: 100
+ Sell: 10
+ Weight: 2
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ switch (rand(1,3)) {
+ case 1:
+ .@mid=CloverPatch;
+ break;
+ case 2:
+ .@mid=ChagashroomField;
+ break;
+ default:
+ .@mid=PlushroomField;
+ break;
+ }
+ .@am=rand(1,2);
+ .@name$=strmobinfo(1, .@mid);
+ if (@useType == 1) {
+ if (!getmapxy(.@map$, .@x, .@y, 0)) {
+ monster(.@map$, .@x, .@y, .@name$, .@mid, .@am);
+ }
+ }
+ ">
+},
+{
+ Id: 618
+ AegisName: "Potatoz"
+ Name: "Potatoz"
+ Type: "IT_HEALING"
+ Buy: 200
+ Sell: 20
+ Weight: 88
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 1, 4);
+ ">
+},
+{
+ Id: 619
+ AegisName: "Manapple"
+ Name: "Manapple"
+ Type: "IT_HEALING"
+ Buy: 20000
+ Sell: 5000
+ Weight: 10
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc "MPHeal", 3, 320, 992;
+ callfunc("ItHeal2", 4, 6);
+ ">
+},
+{
+ Id: 620
+ AegisName: "Lockpicks"
+ Name: "Lockpicks"
+ Type: "IT_USABLE"
+ Buy: 1000
+ Sell: 50
+ Weight: 20
+ Refine: false
+ KeepAfterUse: true
+ Script: <"
+ dispbottom l("Lockpicks are the basic tools for thiefs. Talk to a vault in order to attempt lockpicking.");
+ ">
+},
+{
+ Id: 621
+ AegisName: "Lawncandy"
+ Name: "Lawncandy"
+ Type: "IT_HEALING"
+ Buy: 75
+ Sell: 26
+ Weight: 2
+ Refine: false
+ Delay: 400
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @min = 33;
+ @max = 99;
+ if ($@SEASON == AUTUMN) {
+ @min = 330;
+ @max = 990;
+ }
+ @delay = 3;
+ doevent "legacy_heal::OnUse";
+ ">
+},
+{
+ Id: 622
+ AegisName: "Saulcandy"
+ Name: "Saulcandy"
+ Type: "IT_HEALING"
+ Buy: 75
+ Sell: 30
+ Weight: 2
+ Refine: false
+ Delay: 400
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @min = 33;
+ @max = 99;
+ if ($@SEASON == AUTUMN) {
+ @min = 330;
+ @max = 990;
+ }
+ @delay = 3;
+ doevent "legacy_heal::OnUse";
+ ">
+},
+{
+ Id: 623
+ AegisName: "Poocandy"
+ Name: "Poocandy"
+ Type: "IT_HEALING"
+ Buy: 75
+ Sell: 18
+ Weight: 2
+ Refine: false
+ Delay: 400
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @min = 33;
+ @max = 99;
+ if ($@SEASON == AUTUMN) {
+ @min = 330;
+ @max = 990;
+ }
+ @delay = 3;
+ doevent "legacy_heal::OnUse";
+ ">
+},
+{
+ Id: 624
+ AegisName: "PumpkandySeed"
+ Name: "Pumpkandy Seed"
+ Type: "IT_USABLE"
+ Buy: 50
+ Sell: 5
+ Weight: 1
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ if (!getmapxy(.@map$, .@x, .@y, 0)) {
+ monster(.@map$, .@x, .@y, l("Pumpkandy"), Pumpkandy, 1);
+ if ($EVENT$ == "Halloween")
+ monster(.@map$, .@x, .@y, l("Pumpkandy"), Pumpkandy, 1);
+ }
+ ">
+},
+{
+ Id: 625
+ AegisName: "SmallChocolateBar"
+ Name: "Small Chocolate Bar"
+ Type: "IT_HEALING"
+ Buy: 42
+ Sell: 13
+ Weight: 1
+ Refine: false
+ Delay: 1000
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal", 2, 70, 150);
+ ">
+},
+{
+ Id: 626
+ AegisName: "PumpkinLollipop"
+ Name: "Pumpkin Lollipop"
+ Type: "IT_HEALING"
+ Buy: 42
+ Sell: 13
+ Weight: 1
+ Refine: false
+ Delay: 1000
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("SC_Bonus", 17, SC_ATTHASTE_POTION1, 10);
+ callfunc("ItHeal", 4, 40, 70);
+ ">
+},
+{
+ Id: 627
+ AegisName: "LoveLollipop"
+ Name: "Love Lollipop"
+ Type: "IT_HEALING"
+ Buy: 42
+ Sell: 13
+ Weight: 1
+ Refine: false
+ Delay: 1000
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("SC_Bonus", 17, SC_PLUSATTACKPOWER, 5);
+ @min = 1;
+ @max = rand(100, 500);
+ @delay = 4;
+ doevent "legacy_heal::OnUse";
+ ">
+},
+{
+ Id: 628
+ AegisName: "Manapop"
+ Name: "Manapop"
+ Type: "IT_HEALING"
+ Buy: 42
+ Sell: 13
+ Weight: 1
+ Refine: false
+ Delay: 1000
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("MPHeal", 3, 9, 30); // delay, min, max
+ @min = 1;
+ @max = rand(250, 500);
+ @delay = 4;
+ doevent "legacy_heal::OnUse";
+ ">
+},
+{
+ Id: 629
+ AegisName: "ScholarshipTuition"
+ Name: "Scholarship Tuition"
+ Type: "IT_USABLE"
+ Buy: 250000
+ Sell: 7500
+ Weight: 1
+ Refine: false
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ callfunc("AutoTitulate");
+ ">
+},
+{
+ Id: 630
+ AegisName: "XmasGift"
+ Name: "Christmas Gift"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 25
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ noselltonpc: true
+ }
+ Script: <"
+ setarray .@s, SantaGlobe, SnowmanGlobe, UglyChristmasSweater, MercBoxB, IceGladius;
+ setarray .@r, SantaGlobe, SnowmanGlobe, UglyChristmasSweater, TneckSweater, MercBoxA, MercBoxA, MercBoxB, ElixirOfLife, NoviceWand, LeadOre, DarkDesertMushroom;
+ setarray .@c, BronzeGift, IcedBottle, TneckSweater, MercBoxA, MercBoxA, ClothoLiquor, Dagger, Coal, HastePotion, HerbalTea, StrengthPotion, TrainingWand;
+ .@al=rand(0,100);
+ // 1% super rare chance
+ if (.@al < 1) {
+ .@n=rand(getarraysize(.@s));
+ getitem .@s[.@n], 1;
+ // 26% rare chance
+ } else if (rand(0,100) < 27) {
+ .@n=rand(getarraysize(.@r));
+ getitem .@r[.@n], 1;
+ } else {
+ .@n=rand(getarraysize(.@c));
+ getitem .@c[.@n], 1;
+ }
+ ">
+},
+{
+ Id: 631
+ AegisName: "EmptyBox"
+ Name: "Empty Box"
+ Type: "IT_USABLE"
+ Buy: 25
+ Sell: 5
+ Weight: 80
+ Refine: false
+ KeepAfterUse: true
+ Script: <"
+ doevent "Empty Box#it::OnUse";
+ ">
+},
+{
+ Id: 632
+ AegisName: "TolchiAmmoBox"
+ Name: "Tolchi Ammo Box"
+ Type: "IT_USABLE"
+ Buy: 250
+ Sell: 100
+ Weight: 215
+ Refine: false
+ Script: <"
+ getitem TolchiArrow, rand(190, 210);
+ ">
+},
+{
+ Id: 633
+ AegisName: "TrainingAmmoBox"
+ Name: "Training Ammo Box"
+ Type: "IT_USABLE"
+ Buy: 350
+ Sell: 100
+ Weight: 215
+ Refine: false
+ Script: <"
+ getitem TrainingArrow, rand(190, 210);
+ ">
+},
+{
+ Id: 634
+ AegisName: "ArrowAmmoBox"
+ Name: "Arrow Ammo Box"
+ Type: "IT_USABLE"
+ Buy: 450
+ Sell: 100
+ Weight: 215
+ Refine: false
+ Script: <"
+ getitem Arrow, rand(190, 210);
+ ">
+},
+{
+ Id: 635
+ AegisName: "IronAmmoBox"
+ Name: "Iron Ammo Box"
+ Type: "IT_USABLE"
+ Buy: 600
+ Sell: 100
+ Weight: 215
+ Refine: false
+ Script: <"
+ getitem IronArrow, rand(190, 210);
+ ">
+},
+{
+ Id: 636
+ AegisName: "CursedAmmoBox"
+ Name: "Cursed Ammo Box"
+ Type: "IT_USABLE"
+ Buy: 750
+ Sell: 200
+ Weight: 215
+ Refine: false
+ Script: <"
+ getitem CursedArrow, rand(190, 210);
+ ">
+},
+{
+ Id: 637
+ AegisName: "PoisonAmmoBox"
+ Name: "Poison Ammo Box"
+ Type: "IT_USABLE"
+ Buy: 1150
+ Sell: 300
+ Weight: 430
+ Refine: false
+ Script: <"
+ getitem PoisonArrow, rand(190, 210);
+ ">
+},
+{
+ Id: 638
+ AegisName: "ThornAmmoBox"
+ Name: "Thorn Ammo Box"
+ Type: "IT_USABLE"
+ Buy: 1750
+ Sell: 400
+ Weight: 430
+ Refine: false
+ Script: <"
+ getitem ThornArrow, rand(190, 210);
+ ">
+},
+{
+ Id: 639
+ AegisName: "BoneAmmoBox"
+ Name: "Bone Ammo Box"
+ Type: "IT_USABLE"
+ Buy: 3650
+ Sell: 800
+ Weight: 1100
+ Refine: false
+ Script: <"
+ getitem BoneArrow, rand(190, 210);
+ ">
+},
+{
+ Id: 640
+ AegisName: "ReturnPotion"
+ Name: "Return Potion"
+ Type: "IT_USABLE"
+ Buy: 1800
+ Sell: 0
+ Weight: 11
+ Refine: false
+ Delay: 30000
+ UseEffect: 64
+ Script: <"
+ // We would want warp to be delayed a bit but meh
+ sleep2(rand(1000,2500));
+ @timer_navio_running=0;
+ warp "Save", 0, 0;
+ ">
+},
+{
+ Id: 641
+ AegisName: "BoxOfChocolates"
+ Name: "Box Of Chocolates"
+ Type: "IT_USABLE"
+ Buy: 3700
+ Sell: 0
+ Weight: 11
+ Refine: false
+ Trade: {
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ callfunc("EatValentineChocolate");
+ ">
+},
+{
+ Id: 642
+ AegisName: "HousingLetterI"
+ Name: "Housing Letter I"
+ Type: "IT_USABLE"
+ Buy: 10000
+ Sell: 0
+ Weight: 11
+ Refine: false
+ Script: <"
+ REAL_ESTATE_CREDITS+=10000;
+ ">
+},
+{
+ Id: 643
+ AegisName: "HousingLetterII"
+ Name: "Housing Letter II"
+ Type: "IT_USABLE"
+ Buy: 100000
+ Sell: 0
+ Weight: 11
+ Refine: false
+ Script: <"
+ REAL_ESTATE_CREDITS+=100000;
+ ">
+},
+{
+ Id: 644
+ AegisName: "HousingLetterIII"
+ Name: "Housing Letter III"
+ Type: "IT_USABLE"
+ Buy: 1000000
+ Sell: 0
+ Weight: 11
+ Refine: false
+ Script: <"
+ REAL_ESTATE_CREDITS+=1000000;
+ ">
+},
+{
+ Id: 645
+ AegisName: "StatusResetPotion"
+ Name: "Status Reset Potion"
+ Type: "IT_USABLE"
+ Buy: 1000000
+ Sell: 0
+ Weight: 700
+ Refine: false
+ Script: <"
+ callfunc("StatusResetReinvest", false);
+ //resetstatus;
+ dispbottom l("Your status points were reset.");
+ ">
+},
+{
+ Id: 646
+ AegisName: "MoveSpeedPotion"
+ Name: "Move Speed Potion"
+ Type: "IT_USABLE"
+ Buy: 500000
+ Sell: 0
+ Weight: 45
+ Refine: false
+ Delay: 500
+ Script: <"
+ callfunc "SC_Bonus", rand(45, 60), SC_WALKSPEED, 150;
+ ">
+},
+{
+ Id: 647
+ AegisName: "PrecisionPotion"
+ Name: "Precision Potion"
+ Type: "IT_USABLE"
+ Buy: 10000
+ Sell: 100
+ Weight: 20
+ Refine: false
+ Delay: 500
+ Script: <"
+ callfunc "SC_Bonus", 60, SC_INCHIT, 40;
+ ">
+},
+{
+ Id: 648
+ AegisName: "LukPotionA"
+ Name: "Luck Potion"
+ Type: "IT_USABLE"
+ Buy: 1000
+ Sell: 0
+ Weight: 20
+ Refine: false
+ Delay: 500
+ Script: <"
+ callfunc "SC_Bonus", 90, SC_INCLUK, 5, 10;
+ ">
+},
+{
+ Id: 649
+ AegisName: "LukPotionB"
+ Name: "Luck+ Potion"
+ Type: "IT_USABLE"
+ Buy: 10000
+ Sell: 0
+ Weight: 20
+ Refine: false
+ Delay: 500
+ Script: <"
+ callfunc "SC_Bonus", 75, SC_INCLUK, 10, 20;
+ ">
+},
+{
+ Id: 650
+ AegisName: "LukPotionC"
+ Name: "Luck++ Potion"
+ Type: "IT_USABLE"
+ Buy: 100000
+ Sell: 0
+ Weight: 20
+ Refine: false
+ Delay: 500
+ Script: <"
+ callfunc "SC_Bonus", 60, SC_INCLUK, 20, 30;
+ ">
+},
+{
+ Id: 651
+ AegisName: "DexPotionA"
+ Name: "Dex Potion"
+ Type: "IT_USABLE"
+ Buy: 1000
+ Sell: 0
+ Weight: 20
+ Refine: false
+ Delay: 500
+ Script: <"
+ callfunc "SC_Bonus", 90, SC_INCDEX, 5, 10;
+ ">
+},
+{
+ Id: 652
+ AegisName: "DexPotionB"
+ Name: "Dex+ Potion"
+ Type: "IT_USABLE"
+ Buy: 10000
+ Sell: 0
+ Weight: 20
+ Refine: false
+ Delay: 500
+ Script: <"
+ callfunc "SC_Bonus", 75, SC_INCDEX, 10, 20;
+ ">
+},
+{
+ Id: 653
+ AegisName: "DexPotionC"
+ Name: "Dex++ Potion"
+ Type: "IT_USABLE"
+ Buy: 100000
+ Sell: 0
+ Weight: 20
+ Refine: false
+ Delay: 500
+ Script: <"
+ callfunc "SC_Bonus", 60, SC_INCDEX, 20, 30;
+ ">
+},
+{
+ Id: 654
+ AegisName: "IntPotionA"
+ Name: "Int Potion"
+ Type: "IT_USABLE"
+ Buy: 1000
+ Sell: 0
+ Weight: 20
+ Refine: false
+ Delay: 500
+ Script: <"
+ @min = 5;
+ @max = 10;
+ @delay = 90;
+ @type = SC_INCINT;
+ doevent "inc_sc_bonus::OnUse";
+ ">
+},
+{
+ Id: 655
+ AegisName: "IntPotionB"
+ Name: "Int+ Potion"
+ Type: "IT_USABLE"
+ Buy: 10000
+ Sell: 0
+ Weight: 20
+ Refine: false
+ Delay: 500
+ Script: <"
+ @min = 10;
+ @max = 20;
+ @delay = 75;
+ @type = SC_INCINT;
+ doevent "inc_sc_bonus::OnUse";
+ ">
+},
+{
+ Id: 656
+ AegisName: "IntPotionC"
+ Name: "Int++ Potion"
+ Type: "IT_USABLE"
+ Buy: 100000
+ Sell: 0
+ Weight: 20
+ Refine: false
+ Delay: 500
+ Script: <"
+ @min = 20;
+ @max = 30;
+ @delay = 60;
+ @type = SC_INCINT;
+ doevent "inc_sc_bonus::OnUse";
+ ">
+},
+{
+ Id: 657
+ AegisName: "VitPotionA"
+ Name: "Vit Potion"
+ Type: "IT_USABLE"
+ Buy: 1000
+ Sell: 0
+ Weight: 20
+ Refine: false
+ Delay: 500
+ Script: <"
+ @min = 5;
+ @max = 10;
+ @delay = 90;
+ @type = SC_INCVIT;
+ doevent "inc_sc_bonus::OnUse";
+ ">
+},
+{
+ Id: 658
+ AegisName: "VitPotionB"
+ Name: "Vit+ Potion"
+ Type: "IT_USABLE"
+ Buy: 10000
+ Sell: 0
+ Weight: 20
+ Refine: false
+ Delay: 500
+ Script: <"
+ @min = 10;
+ @max = 20;
+ @delay = 75;
+ @type = SC_INCVIT;
+ doevent "inc_sc_bonus::OnUse";
+ ">
+},
+{
+ Id: 659
+ AegisName: "VitPotionC"
+ Name: "Vit++ Potion"
+ Type: "IT_USABLE"
+ Buy: 100000
+ Sell: 0
+ Weight: 20
+ Refine: false
+ Delay: 500
+ Script: <"
+ @min = 20;
+ @max = 30;
+ @delay = 60;
+ @type = SC_INCVIT;
+ doevent "inc_sc_bonus::OnUse";
+ ">
+},
+{
+ Id: 660
+ AegisName: "AgiPotionA"
+ Name: "Agi Potion"
+ Type: "IT_USABLE"
+ Buy: 1000
+ Sell: 0
+ Weight: 20
+ Refine: false
+ Delay: 500
+ Script: <"
+ @min = 5;
+ @max = 10;
+ @delay = 90;
+ @type = SC_INCAGI;
+ doevent "inc_sc_bonus::OnUse";
+ ">
+},
+{
+ Id: 661
+ AegisName: "AgiPotionB"
+ Name: "Agi+ Potion"
+ Type: "IT_USABLE"
+ Buy: 10000
+ Sell: 0
+ Weight: 20
+ Refine: false
+ Delay: 500
+ Script: <"
+ @min = 10;
+ @max = 20;
+ @delay = 75;
+ @type = SC_INCAGI;
+ doevent "inc_sc_bonus::OnUse";
+ ">
+},
+{
+ Id: 662
+ AegisName: "AgiPotionC"
+ Name: "Agi++ Potion"
+ Type: "IT_USABLE"
+ Buy: 100000
+ Sell: 0
+ Weight: 20
+ Refine: false
+ Delay: 500
+ Script: <"
+ @min = 20;
+ @max = 30;
+ @delay = 60;
+ @type = SC_INCAGI;
+ doevent "inc_sc_bonus::OnUse";
+ ">
+},
+// Id 663~665 reserved Str+ potions
+// Id 666 reserved (change sex candy)
+{
+ Id: 667
+ AegisName: "SacredLifePotion"
+ Name: "Sacred Life Potion"
+ Type: "IT_USABLE"
+ Buy: 1000000
+ Sell: 5600
+ Weight: 50
+ Refine: false
+ Delay: 500
+ Script: <"
+ @min = 15;
+ @max = 15;
+ @delay = 300;
+ @type = SC_INCMHPRATE;
+ doevent "inc_sc_bonus::OnUse";
+ ">
+},
+{
+ Id: 668
+ AegisName: "SacredManaPotion"
+ Name: "Sacred Mana Potion"
+ Type: "IT_USABLE"
+ Buy: 1000000
+ Sell: 5600
+ Weight: 50
+ Refine: false
+ Delay: 500
+ Script: <"
+ @min = 15;
+ @max = 15;
+ @delay = 300;
+ @type = SC_INCMSPRATE;
+ doevent "inc_sc_bonus::OnUse";
+ ">
+},
+{
+ Id: 669
+ AegisName: "DodgePotion"
+ Name: "Dodge Potion"
+ Type: "IT_USABLE"
+ Buy: 10000
+ Sell: 100
+ Weight: 20
+ Refine: false
+ Delay: 500
+ Script: <"
+ @min = 40;
+ @max = 40;
+ @delay = 60;
+ @type = SC_INCFLEE;
+ doevent "inc_sc_bonus::OnUse";
+ ">
+},
+{
+ Id: 670
+ AegisName: "CandorWarpCrystal"
+ Name: "Candor Warp Crystal"
+ Type: "IT_USABLE"
+ Buy: 1000
+ Sell: 0
+ Weight: 40
+ Delay: 500
+ Script: <"
+ @dest$="Candor";
+ @itemid=670;
+ doevent "Warp Crystal::OnUse";
+ ">
+},
+{
+ Id: 671
+ AegisName: "TulimWarpCrystal"
+ Name: "Tulim Warp Crystal"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 40
+ Delay: 500
+ Script: <"
+ @dest$="Tulim";
+ @itemid=671;
+ doevent "Warp Crystal::OnUse";
+ ">
+},
+{
+ Id: 672
+ AegisName: "HalinWarpCrystal"
+ Name: "Halin Warp Crystal"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 40
+ Delay: 500
+ Script: <"
+ @dest$="Halin";
+ @itemid=672;
+ doevent "Warp Crystal::OnUse";
+ ">
+},
+{
+ Id: 673
+ AegisName: "HurnsWarpCrystal"
+ Name: "Hurns Warp Crystal"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 40
+ Delay: 500
+ Script: <"
+ @dest$="Hurns";
+ @itemid=673;
+ doevent "Warp Crystal::OnUse";
+ ">
+},
+{
+ Id: 674
+ AegisName: "LoFWarpCrystal"
+ Name: "LoF Warp Crystal"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 40
+ Delay: 500
+ Script: <"
+ @dest$="LoF";
+ @itemid=674;
+ doevent "Warp Crystal::OnUse";
+ ">
+},
+{
+ Id: 675
+ AegisName: "NivalWarpCrystal"
+ Name: "Nivalis Warp Crystal"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 40
+ Delay: 500
+ Script: <"
+ @dest$="Nival";
+ @itemid=675;
+ doevent "Warp Crystal::OnUse";
+ ">
+},
+{
+ Id: 676
+ AegisName: "FrostiaWarpCrystal"
+ Name: "Frostia Warp Crystal"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 40
+ Delay: 500
+ Script: <"
+ @dest$="Frostia";
+ @itemid=676;
+ doevent "Warp Crystal::OnUse";
+ ">
+},
+{
+ Id: 677
+ AegisName: "LilitWarpCrystal"
+ Name: "Lilit Warp Crystal"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 40
+ Delay: 500
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ @dest$="Lilit";
+ @itemid=677;
+ doevent "Warp Crystal::OnUse";
+ ">
+},
+{
+ Id: 678
+ AegisName: "ArtisWarpCrystal"
+ Name: "Artis Warp Crystal"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 40
+ Delay: 500
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ @dest$="Artis";
+ @itemid=678;
+ doevent "Warp Crystal::OnUse";
+ ">
+},
+{
+ Id: 679
+ AegisName: "DungeonMap"
+ Name: "Dungeon Map"
+ Type: "IT_USABLE"
+ Buy: 45000
+ Sell: 300
+ Weight: 14
+ KeepAfterUse: true
+ Refine: false
+ Script: <"
+ // ShovelQuests_Dungeon<MAP$,X,Y> → Coordinates for Treasure Map
+ if (!ShovelQuests_DungeonX) {
+ callfunc "shovel_genranddungeon";
+ }
+ dispbottom l("A dungeon is burried in @@, (@@, @@)", ShovelQuests_DungeonMAP$, ShovelQuests_DungeonX, ShovelQuests_DungeonY);
+ ">
+},
+{
+ Id: 680
+ AegisName: "TreasureMap"
+ Name: "Treasure Map"
+ Type: "IT_USABLE"
+ Buy: 45000
+ Sell: 300
+ Weight: 14
+ KeepAfterUse: true
+ Refine: false
+ Script: <"
+ // ShovelQuests_Assigned<MAP$,X,Y> → Coordinates for Treasure Map
+ if (!ShovelQuests_AssignedX) {
+ callfunc "shovel_genrandtreasure";
+ }
+ dispbottom l("A treasure is burried in @@, (@@, @@)", ShovelQuests_AssignedMAP$, ShovelQuests_AssignedX, ShovelQuests_AssignedY);
+ ">
+},
+{
+ Id: 681
+ AegisName: "Coffee"
+ Name: "Coffee"
+ Type: "IT_HEALING"
+ Buy: 500
+ Sell: 120
+ Weight: 10
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ sc_end SC_SLEEP;
+ sc_end SC_CURSE;
+ sc_end SC_BLIND;
+ percentheal 1, 10;
+ ">
+},
+{
+ Id: 682
+ AegisName: "Grenade"
+ Name: "Grenade"
+ Type: "IT_USABLE"
+ Buy: 900
+ Sell: 400
+ Weight: 40
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_GRENADE"
+ Script: <"
+ //itemskill WZ_STORMGUST,3,0;
+ //callfunc "grenade", 3, rand(500,700);
+ callfunc "grenade", 3, rand(100,150)+BaseLevel*6, true;
+ ">
+},
+{
+ Id: 683
+ AegisName: "MagicApple"
+ Name: "Magic Apple"
+ Type: "IT_USABLE"
+ Buy: 1000000
+ Sell: 15000
+ Weight: 10
+ Refine: false
+ Delay: 500
+ Script: <"
+ @min = 3500;
+ @max = 3500;
+ @delay = 600;
+ @type = SC_INCMHP;
+ doevent "inc_sc_bonus::OnUse";
+ ">
+},
+{
+ Id: 684
+ AegisName: "TulimMap"
+ Name: "Tulimshar Map"
+ Type: "IT_USABLE"
+ Buy: 9
+ Sell: 4
+ Weight: 6
+ KeepAfterUse: true
+ Refine: false
+ Script: <"
+ callfunc "wmap", "Tulim";
+ ">
+},
+
+// Mounts (690 to 699, probably there will be extra IDs)
+{
+ Id: 696
+ AegisName: "RidingMouboo"
+ Name: "Riding Mouboo"
+ Type: "IT_ARMOR"
+ Loc: ["EQP_HAND_R", "EQP_HAND_L", "EQP_SHADOW_SHOES"]
+ Buy: 7500000
+ Sell: 50000
+ Weight: 500
+ Refine: false
+ WeaponLv: 1
+ EquipLv: 1
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ bonus bNoRegen,1;
+ bonus bNoRegen,2;
+ bonus bFlee,50;
+ bonus bNoKnockback,1;
+ bonus bSpeedAddRate, 20;
+
+ bonus bAtkRate,-100;
+ bonus bMatkRate,-100;
+ bonus bBaseAtk,-700;
+ ">
+ OnEquipScript: <"
+ setmount 1;
+ ">
+ OnUnequipScript: <"
+ setmount 0;
+ ">
+},
+{
+ Id: 697
+ AegisName: "RidingTortuga"
+ Name: "Riding Tortuga"
+ Type: "IT_ARMOR"
+ Loc: ["EQP_HAND_R", "EQP_HAND_L", "EQP_SHADOW_SHOES"]
+ Buy: 7500000
+ Sell: 50000
+ Weight: 500
+ Refine: false
+ WeaponLv: 1
+ EquipLv: 1
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ bonus bNoRegen,1;
+ bonus bNoRegen,2;
+ bonus bFlee,50;
+ bonus bNoKnockback,1;
+ bonus bSpeedAddRate, 19;
+
+ bonus bAtkRate,-100;
+ bonus bMatkRate,-100;
+ bonus bBaseAtk,-700;
+ ">
+ OnEquipScript: <"
+ setmount 2;
+ ">
+ OnUnequipScript: <"
+ setmount 0;
+ ">
+},
+{
+ Id: 698
+ AegisName: "LegendaryMouboo"
+ Name: "Epic Mouboo"
+ Type: "IT_ARMOR"
+ Loc: "EQP_SHADOW_SHOES"
+ Buy: 7500000
+ Sell: 50000
+ Weight: 500
+ Refine: false
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ bonus bNoRegen,1;
+ bonus bNoRegen,2;
+ if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_RANGE) > 1)
+ bonus bAtkRange,-1;
+ bonus bFlee,50;
+ bonus bAtkRate,-50;
+ bonus bHitRate,-30;
+ bonus bNoKnockback,0;
+ bonus bSpeedAddRate, 32;
+ /* We can use them to protect mount from bows, for example
+ bonus bNearAtkDef,-50;
+ bonus bLongAtkDef,-50;
+ bonus bMagicAtkDef,-50;
+ bonus bCriticalDef,-50;
+ */
+ ">
+ OnEquipScript: <"
+ setmount 1;
+ ">
+ OnUnequipScript: <"
+ setmount 0;
+ ">
+},
+{
+ Id: 699
+ AegisName: "LegendaryTortuga"
+ Name: "Epic Tortuga"
+ Type: "IT_ARMOR"
+ Loc: "EQP_SHADOW_SHOES"
+ Buy: 7500000
+ Sell: 50000
+ Weight: 500
+ Refine: false
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ bonus bNoRegen,1;
+ bonus bNoRegen,2;
+ if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_RANGE) > 1)
+ bonus bAtkRange,-1;
+ bonus bFlee,50;
+ bonus bAtkRate,-50;
+ bonus bHitRate,-30;
+ bonus bNoKnockback,0;
+ bonus bSpeedAddRate, 30;
+ /* We can use them to protect mount from bows, for example
+ bonus bNearAtkDef,-50;
+ bonus bLongAtkDef,-50;
+ bonus bMagicAtkDef,-50;
+ bonus bCriticalDef,-50;
+ */
+ ">
+ OnEquipScript: <"
+ setmount 2;
+ ">
+ OnUnequipScript: <"
+ setmount 0;
+ ">
+},
+// Generic
+{
+ Id: 700
+ AegisName: "SmallTentacles"
+ Name: "Small Tentacles"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 16
+ Weight: 5
+ Refine: false
+},
+{
+ Id: 701
+ AegisName: "PiouFeathers"
+ Name: "Piou Feathers"
+ Type: "IT_ETC"
+ Buy: 10
+ Sell: 3
+ Weight: 1
+ Refine: false
+},
+{
+ Id: 702
+ AegisName: "TortugaShellFragment"
+ Name: "Tortuga Shell Fragment"
+ Type: "IT_ETC"
+ Buy: 25
+ Sell: 8
+ Weight: 25
+ Refine: false
+},
+{
+ Id: 703
+ AegisName: "HalfEggshell"
+ Name: "Half Eggshell"
+ Type: "IT_ETC"
+ Buy: 40
+ Sell: 13
+ Weight: 2
+ Refine: false
+},
+{
+ Id: 704
+ AegisName: "RattoTail"
+ Name: "Ratto Tail"
+ Type: "IT_ETC"
+ Buy: 30
+ Sell: 10
+ Weight: 1
+ Refine: false
+},
+{
+ Id: 705
+ AegisName: "RattoTeeth"
+ Name: "Ratto Teeth"
+ Type: "IT_ETC"
+ Buy: 30
+ Sell: 10
+ Weight: 1
+ Refine: false
+},
+{
+ Id: 706
+ AegisName: "CrocClaw"
+ Name: "Croc Claw"
+ Type: "IT_ETC"
+ Buy: 60
+ Sell: 22
+ Weight: 45
+ Refine: false
+},
+{
+ Id: 707
+ AegisName: "SquichyClaws"
+ Name: "Squichy Claws"
+ Type: "IT_ETC"
+ Buy: 250
+ Sell: 40
+ Weight: 1
+ Refine: false
+},
+{
+ Id: 708
+ AegisName: "TortugaShell"
+ Name: "Tortuga Shell"
+ Type: "IT_ETC"
+ Buy: 90
+ Sell: 30
+ Weight: 95
+ Refine: false
+},
+{
+ Id: 709
+ AegisName: "TortugaTongue"
+ Name: "Tortuga Tongue"
+ Type: "IT_ETC"
+ Buy: 18
+ Sell: 6
+ Weight: 2
+ Refine: false
+},
+{
+ Id: 710
+ AegisName: "Pearl"
+ Name: "Pearl"
+ Type: "IT_ETC"
+ Buy: 1000
+ Sell: 400
+ Weight: 1
+ Refine: false
+},
+{
+ Id: 711
+ AegisName: "Coral"
+ Name: "Coral"
+ Type: "IT_ETC"
+ Buy: 100
+ Sell: 28
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 712
+ AegisName: "BlueCoral"
+ Name: "Blue Coral"
+ Type: "IT_ETC"
+ Buy: 120
+ Sell: 38
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 713
+ AegisName: "FishBox"
+ Name: "Fish Box"
+ Type: "IT_ETC"
+ Buy: 3600
+ Sell: 1200
+ Weight: 1250
+ Refine: false
+},
+{
+ Id: 714
+ AegisName: "Emperium"
+ Name: "Emperium"
+ Buy: 2000000
+ Sell: 1
+ Weight: 5
+},
+// ID 714 Aquada Box moved to ID 864
+{
+ Id: 715
+ AegisName: "CroconutBox"
+ Name: "Croconut Box"
+ Type: "IT_ETC"
+ Buy: 800
+ Sell: 350
+ Weight: 680
+ Refine: false
+},
+{
+ Id: 716
+ AegisName: "PlushroomBox"
+ Name: "Plushroom Box"
+ Type: "IT_ETC"
+ Buy: 2000
+ Sell: 800
+ Weight: 720
+ Refine: false
+},
+{
+ Id: 717
+ AegisName: "PoisonedDish"
+ Name: "Poisoned Dish"
+ Type: "IT_ETC"
+ Buy: 2
+ Sell: 1
+ Weight: 20
+ Refine: false
+ Trade: {
+ nodrop: true
+ noselltonpc: true
+ }
+},
+{
+ Id: 718
+ AegisName: "SilverKey"
+ Name: "Silver Key"
+ Type: "IT_ETC"
+ Buy: 2
+ Sell: 1
+ Weight: 1
+ Refine: false
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 719
+ AegisName: "LeftCraftyWing"
+ Name: "Left Crafty Wing"
+ Type: "IT_ETC"
+ Buy: 10000
+ Sell: 520
+ Weight: 35
+ Refine: false
+},
+{
+ Id: 720
+ AegisName: "BatTeeth"
+ Name: "Bat Teeth"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 10
+ Weight: 3
+ Refine: false
+},
+{
+ Id: 721
+ AegisName: "RightCraftyWing"
+ Name: "Right Crafty Wing"
+ Type: "IT_ETC"
+ Buy: 10000
+ Sell: 520
+ Weight: 35
+ Refine: false
+},
+{
+ Id: 722
+ AegisName: "Pumpkin"
+ Name: "Pumpkin"
+ Type: "IT_ETC"
+ Buy: 15
+ Sell: 5
+ Weight: 530
+ Refine: false
+},
+{
+ Id: 723
+ AegisName: "MushroomSpores"
+ Name: "Mushroom Spores"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 8
+ Weight: 1
+ Refine: false
+},
+{
+ Id: 724
+ AegisName: "Moss"
+ Name: "Moss"
+ Type: "IT_ETC"
+ Buy: 20
+ Sell: 2
+ Weight: 2
+ Refine: false
+},
+{
+ Id: 725
+ AegisName: "Tentacles"
+ Name: "Tentacles"
+ Type: "IT_ETC"
+ Buy: 100
+ Sell: 30
+ Weight: 8
+ Refine: false
+},
+{
+ Id: 726
+ AegisName: "CommonCarp"
+ Name: "Common Carp"
+ Type: "IT_ETC"
+ Buy: 114
+ Sell: 57
+ Weight: 150
+ Refine: false
+},
+{
+ Id: 727
+ AegisName: "GrassCarp"
+ Name: "Grass Carp"
+ Type: "IT_ETC"
+ Buy: 500
+ Sell: 150
+ Weight: 150
+ Refine: false
+},
+{
+ Id: 728
+ AegisName: "FishingRod"
+ Name: "Fishing Rod"
+ Type: "IT_ETC"
+ Buy: 5000
+ Sell: 150
+ Weight: 60
+ Refine: false
+},
+{
+ Id: 729
+ AegisName: "Snowflake"
+ Name: "Snowflake"
+ Type: "IT_ETC"
+ Buy: 500
+ Sell: 1
+ Weight: 0
+ Refine: false
+},
+{
+ Id: 730
+ AegisName: "ArtichokeHerb"
+ Name: "Artichoke Herb"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 4
+ Weight: 2
+},
+{
+ Id: 731
+ AegisName: "Diamond"
+ Name: "Diamond"
+ Type: "IT_ETC"
+ Buy: 4000
+ Sell: 1333
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 732
+ AegisName: "Ruby"
+ Name: "Ruby"
+ Type: "IT_ETC"
+ Buy: 2000
+ Sell: 667
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 733
+ AegisName: "Emerald"
+ Name: "Emerald"
+ Type: "IT_ETC"
+ Buy: 3000
+ Sell: 1000
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 734
+ AegisName: "Sapphire"
+ Name: "Sapphire"
+ Type: "IT_ETC"
+ Buy: 12000
+ Sell: 2200
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 735
+ AegisName: "Topaz"
+ Name: "Topaz"
+ Type: "IT_ETC"
+ Buy: 2400
+ Sell: 800
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 736
+ AegisName: "Amethyst"
+ Name: "Amethyst"
+ Type: "IT_ETC"
+ Buy: 6000
+ Sell: 1500
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 737
+ AegisName: "BlackPearl"
+ Name: "Black Pearl"
+ Type: "IT_ETC"
+ Buy: 90000
+ Sell: 10000
+ Weight: 200
+ Refine: false
+},
+{
+ Id: 738
+ AegisName: "Bloodstone"
+ Name: "Blooodstone"
+ Type: "IT_ETC"
+ Buy: 10000
+ Sell: 5000
+ Weight: 25
+ Refine: false
+},
+{
+ Id: 739
+ AegisName: "CoinBag"
+ Name: "Coin Bag"
+ Type: "IT_ETC"
+ Buy: 1500
+ Sell: 475
+ Weight: 50
+ Refine: false
+},
+{
+ Id: 740
+ AegisName: "WolvernTooth"
+ Name: "Wolvern Tooth"
+ Type: "IT_ETC"
+ Buy: 500
+ Sell: 250
+ Weight: 30
+ Refine: false
+},
+{
+ Id: 741
+ AegisName: "IronPowder"
+ Name: "Iron Powder"
+ Type: "IT_ETC"
+ Buy: 500
+ Sell: 66
+ Weight: 7
+ Refine: false
+},
+{
+ Id: 742
+ AegisName: "PinkAntenna"
+ Name: "Pink Antenna"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 12
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 743
+ AegisName: "AnimalBones"
+ Name: "Animal Bones"
+ Type: "IT_ETC"
+ Buy: 500
+ Sell: 70
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 744
+ AegisName: "Antlers"
+ Name: "Antlers"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 10
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 745
+ AegisName: "BanditHood"
+ Name: "Bandit Hood"
+ Type: "IT_ETC"
+ Buy: 100
+ Sell: 31
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 746
+ AegisName: "BatWing"
+ Name: "Bat Wing"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 10
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 747
+ AegisName: "BentNeedle"
+ Name: "Bent Needle"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 10
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 748
+ AegisName: "BeeStinger"
+ Name: "Bee Stinger"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 10
+ Weight: 5
+ Refine: false
+},
+{
+ Id: 749
+ AegisName: "Bone"
+ Name: "Bone"
+ Type: "IT_ETC"
+ Buy: 500
+ Sell: 80
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 750
+ AegisName: "BottleOfSand"
+ Name: "Bottle Of Sand"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 10
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 751
+ AegisName: "Brainstem"
+ Name: "Brainstem"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 10
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 752
+ AegisName: "CasinoCoins"
+ Name: "Casino Coins"
+ Type: "IT_ETC"
+ Buy: 100
+ Sell: 10
+ Weight: 2
+ Refine: false
+},
+{
+ Id: 753
+ AegisName: "CaveSnakeLamp"
+ Name: "Cave Snake Lamp"
+ Type: "IT_ETC"
+ Buy: 80
+ Sell: 36
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 754
+ AegisName: "ClosedChristmasBox"
+ Name: "Closed Christmas Box"
+ Type: "IT_ETC"
+ Buy: 50000
+ Sell: 10
+ Weight: 100
+ Refine: false
+},
+{
+ Id: 755
+ AegisName: "Coal"
+ Name: "Coal"
+ Type: "IT_ETC"
+ Buy: 400
+ Sell: 100
+ Weight: 40
+ Refine: false
+},
+{
+ Id: 756
+ AegisName: "KamelotKey"
+ Name: "Kamelot Key"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 10
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 757
+ AegisName: "DarkPetal"
+ Name: "Dark Petal"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 10
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 758
+ AegisName: "ZombieEar"
+ Name: "Zombie Ear"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 10
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 759
+ AegisName: "Ectoplasm"
+ Name: "Ectoplasm"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 10
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 760
+ AegisName: "FrozenYetiTear"
+ Name: "Frozen Yeti Tear"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 10
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 761
+ AegisName: "CobaltHerb"
+ Name: "Cobalt Herb"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 5
+ Weight: 3
+},
+{
+ Id: 762
+ AegisName: "SnakeSkin"
+ Name: "Snake Skin"
+ Type: "IT_ETC"
+ Buy: 500
+ Sell: 160
+ Weight: 17
+ Refine: false
+},
+{
+ Id: 763
+ AegisName: "UndeadEye"
+ Name: "Undead Eye"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 10
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 764
+ AegisName: "CottonCloth"
+ Name: "Cotton Cloth"
+ Type: "IT_ETC"
+ Buy: 180
+ Sell: 60
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 765
+ AegisName: "GrassSeeds"
+ Name: "Grass Seeds"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 10
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 766
+ AegisName: "HardSpike"
+ Name: "Hard Spike"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 18
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 767
+ AegisName: "DiseasedHeart"
+ Name: "Diseased Heart"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 10
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 768
+ AegisName: "GambogeHerb"
+ Name: "Gamboge Herb"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 5
+ Weight: 3
+},
+{
+ Id: 769
+ AegisName: "MauveHerb"
+ Name: "Mauve Herb"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 5
+ Weight: 3
+},
+{
+ Id: 770
+ AegisName: "IronIngot"
+ Name: "Iron Ingot"
+ Type: "IT_ETC"
+ Buy: 37500
+ Sell: 1680
+ Weight: 260
+ Refine: false
+},
+{
+ Id: 771
+ AegisName: "IronOre"
+ Name: "Iron Ore"
+ Type: "IT_ETC"
+ Buy: 500
+ Sell: 130
+ Weight: 50
+ Refine: false
+},
+{
+ Id: 772
+ AegisName: "MaggotSlime"
+ Name: "Maggot Slime"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 4
+ Weight: 2
+ Refine: false
+},
+{
+ Id: 773
+ AegisName: "RottenRags"
+ Name: "Rotten Rags"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 10
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 774
+ AegisName: "RawLog"
+ Name: "Raw Log"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 17
+ Weight: 100
+ Refine: false
+},
+{
+ Id: 775
+ AegisName: "Brain"
+ Name: "Brain"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 10
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 776
+ AegisName: "ReedBundle"
+ Name: "Reed Bundle"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 10
+ Weight: 7
+ Refine: false
+},
+{
+ Id: 777
+ AegisName: "Root"
+ Name: "Root"
+ Type: "IT_ETC"
+ Buy: 200
+ Sell: 67
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 778
+ AegisName: "ScorpionStinger"
+ Name: "Scorpion Stinger"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 23
+ Weight: 1
+ Refine: false
+},
+{
+ Id: 779
+ AegisName: "SilkCocoon"
+ Name: "Silk Cocoon"
+ Type: "IT_ETC"
+ Buy: 60
+ Sell: 4
+ Weight: 1
+ Refine: false
+},
+{
+ Id: 780
+ AegisName: "SnakeTongue"
+ Name: "Snake Tongue"
+ Type: "IT_ETC"
+ Buy: 180
+ Sell: 90
+ Weight: 1
+ Refine: false
+},
+{
+ Id: 781
+ AegisName: "TreasureKey"
+ Name: "Treasure Key"
+ Type: "IT_ETC"
+ Buy: 500
+ Sell: 110
+ Weight: 2
+ Refine: false
+},
+{
+ Id: 782
+ AegisName: "VampireBatWing"
+ Name: "Vampire Bat Wing"
+ Type: "IT_ETC"
+ Buy: 150
+ Sell: 28
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 783
+ AegisName: "YetiClaw"
+ Name: "Yeti Claw"
+ Type: "IT_ETC"
+ Buy: 15
+ Sell: 5
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 784
+ AegisName: "WolvernPelt"
+ Name: "Wolvern Pelt"
+ Type: "IT_ETC"
+ Buy: 1500
+ Sell: 200
+ Weight: 57
+ Refine: false
+},
+{
+ Id: 785
+ AegisName: "LavaManaPearl"
+ Name: "Lava Mana Pearl"
+ Type: "IT_ETC"
+ Buy: 90000
+ Sell: 10000
+ Weight: 0
+ Refine: false
+},
+{
+ Id: 786
+ AegisName: "Tulip"
+ Name: "Tulip"
+ Type: "IT_ETC"
+ Buy: 450
+ Sell: 50
+ Weight: 7
+ Refine: false
+},
+{
+ Id: 787
+ AegisName: "SpellBookPage"
+ Name: "Spell Book Page"
+ Type: "IT_ETC"
+ Buy: 1500
+ Sell: 200
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 789
+ AegisName: "Skull"
+ Name: "Skull"
+ Type: "IT_ETC"
+ Buy: 240
+ Sell: 80
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 790
+ AegisName: "SilverBell"
+ Name: "Silver Bell"
+ Type: "IT_ETC"
+ Buy: 120
+ Sell: 40
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 791
+ AegisName: "BrokenFourLeafAmulet"
+ Name: "Broken Four Leaf Amulet"
+ Type: "IT_ETC"
+ Buy: 5
+ Sell: 1
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 792
+ AegisName: "GemPowder"
+ Name: "Gem powder"
+ Type: "IT_ETC"
+ Buy: 18000
+ Sell: 6000
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 793
+ AegisName: "GoldPieces"
+ Name: "Gold Pieces"
+ Type: "IT_ETC"
+ Buy: 90000
+ Sell: 8000
+ Weight: 6
+ Refine: false
+},
+{
+ Id: 794
+ AegisName: "GrassLiner"
+ Name: "Grass Liner"
+ Type: "IT_ETC"
+ Buy: 150
+ Sell: 50
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 795
+ AegisName: "IceCube"
+ Name: "Ice Cube"
+ Type: "IT_ETC"
+ Buy: 600
+ Sell: 200
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 796
+ AegisName: "Iten"
+ Name: "Iten"
+ Type: "IT_ETC"
+ Buy: 15000
+ Sell: 5000
+ Weight: 2000
+ Refine: false
+},
+{
+ Id: 797
+ AegisName: "JackOLantern"
+ Name: "Jack'O Lantern"
+ Type: "IT_ETC"
+ Buy: 1500
+ Sell: 500
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 798
+ AegisName: "LazuriteShard"
+ Name: "Lazurite Shard"
+ Type: "IT_ETC"
+ Buy: 2100
+ Sell: 7
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 799
+ AegisName: "LazuriteCrystal"
+ Name: "Lazurite Cristal"
+ Type: "IT_ETC"
+ Buy: 6300
+ Sell: 21
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 800
+ AegisName: "LazuriteHeart"
+ Name: "Lazurite Heart"
+ Type: "IT_ETC"
+ Buy: 18900
+ Sell: 63
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 801
+ AegisName: "LeatherSuitcase"
+ Name: "Leather Suitcase"
+ Type: "IT_ETC"
+ Buy: 100
+ Sell: 40
+ Weight: 2000
+ Refine: false
+},
+{
+ Id: 802
+ AegisName: "TerraniteIngot"
+ Name: "Terranite Ingot"
+ Type: "IT_ETC"
+ Buy: 18000
+ Sell: 4000
+ Weight: 1800
+},
+{
+ Id: 803
+ AegisName: "LoveLetter"
+ Name: "Love Letter"
+ Type: "IT_ETC"
+ Buy: 10000
+ Sell: 500
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 804
+ AegisName: "MylarinDust"
+ Name: "Mylarin Dust"
+ Type: "IT_ETC"
+ Buy: 1000000
+ Sell: 50000
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 805
+ AegisName: "OpenedChristmasBox"
+ Name: "Opened Christmas Box"
+ Type: "IT_ETC"
+ Buy: 10000
+ Sell: 5
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 806
+ AegisName: "LeatherPatch"
+ Name: "Leather Patch"
+ Type: "IT_ETC"
+ Buy: 800
+ Sell: 340
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 807
+ AegisName: "Petal"
+ Name: "Petal"
+ Type: "IT_ETC"
+ Buy: 10000
+ Sell: 500
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 808
+ AegisName: "SulfurPowder"
+ Name: "Sulfur Powder"
+ Type: "IT_ETC"
+ Buy: 1000
+ Sell: 84
+ Weight: 4
+ Refine: false
+},
+{
+ Id: 809
+ AegisName: "PresentBox"
+ Name: "Present Box"
+ Type: "IT_ETC"
+ Buy: 100
+ Sell: 5
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 810
+ AegisName: "Quill"
+ Name: "Quill"
+ Type: "IT_ETC"
+ Buy: 10000
+ Sell: 2500
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 811
+ AegisName: "Rose"
+ Name: "Rose"
+ Type: "IT_ETC"
+ Buy: 10000
+ Sell: 50
+ Weight: 7
+ Refine: false
+},
+{
+ Id: 812
+ AegisName: "SealedSoul"
+ Name: "Sealed Soul"
+ Type: "IT_ETC"
+ Buy: 10000
+ Sell: 500
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 813
+ AegisName: "SilverMirror"
+ Name: "Silver Mirror"
+ Type: "IT_ETC"
+ Buy: 60000
+ Sell: 4000
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 814
+ AegisName: "TerraniteOre"
+ Name: "Terranite Ore"
+ Type: "IT_ETC"
+ Buy: 10000
+ Sell: 500
+ Weight: 200
+ Refine: false
+},
+{
+ Id: 815
+ AegisName: "Tuber"
+ Name: "Tuber"
+ Type: "IT_ETC"
+ Buy: 10000
+ Sell: 500
+ Weight: 20
+ Refine: false
+},
+// ID 816 is free
+{
+ Id: 816
+ AegisName: "Item816"
+ Name: "Item 816"
+},
+{
+ Id: 817
+ AegisName: "SaxsoKey"
+ Name: "Saxso Key"
+ Type: "IT_ETC"
+ Buy: 200
+ Sell: 100
+ Weight: 1
+ Refine: false
+},
+{
+ Id: 818
+ AegisName: "BlueManaPearl"
+ Name: "Blue Mana Pearl"
+ Type: "IT_ETC"
+ Buy: 90000
+ Sell: 10000
+ Weight: 0
+ Refine: false
+},
+{
+ Id: 819
+ AegisName: "CrystallizedMaggot"
+ Name: "Crystallized Maggot"
+ Type: "IT_ETC"
+ Buy: 90000
+ Sell: 9000
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 820
+ AegisName: "DarkCrystal"
+ Name: "Dark Crystal"
+ Type: "IT_ETC"
+ Buy: 10000
+ Sell: 750
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 821
+ AegisName: "SunnyCrystal"
+ Name: "Sunny Crystal"
+ Type: "IT_ETC"
+ Buy: 5000000
+ Sell: 200000
+ Weight: 300
+ Refine: false
+},
+{
+ Id: 822
+ AegisName: "DruidTreeBranch"
+ Name: "Druid Tree Branch"
+ Type: "IT_ETC"
+ Buy: 10000
+ Sell: 1000
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 823
+ AegisName: "DragonScales"
+ Name: "Dragon Scales"
+ Type: "IT_ETC"
+ Buy: 8000
+ Sell: 750
+ Weight: 40
+ Refine: false
+},
+{
+ Id: 824
+ AegisName: "LightGreenDiamond"
+ Name: "Light Green Diamond"
+ Type: "IT_ETC"
+ Buy: 60000
+ Sell: 20000
+ Weight: 10
+ Refine: false
+ //DropAnnounce: true
+},
+{
+ Id: 825
+ AegisName: "EarthPowder"
+ Name: "Earth Powder"
+ Type: "IT_ETC"
+ Buy: 10000
+ Sell: 400
+ Weight: 18
+ Refine: false
+},
+{
+ Id: 826
+ AegisName: "FluoPowder"
+ Name: "Fluo Powder"
+ Type: "IT_ETC"
+ Buy: 10000
+ Sell: 600
+ Weight: 10
+ Refine: false
+},
+{
+ Id: 827
+ AegisName: "BrokenMedal"
+ Name: "Broken Medal"
+ Type: "IT_ETC"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 0
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 828
+ AegisName: "StrangeCoin"
+ Name: "Strange Coin"
+ Type: "IT_ETC"
+ Buy: 100000
+ Sell: 40
+ Weight: 0
+ Refine: false
+},
+{
+ Id: 829
+ AegisName: "Butterfly"
+ Name: "Butterfly"
+ Type: "IT_ETC"
+ Buy: 12000
+ Sell: 4000
+ Weight: 1
+ Refine: false
+},
+{
+ Id: 830
+ AegisName: "CaveSnakeTongue"
+ Name: "Cave Snake Tongue"
+ Type: "IT_ETC"
+ Buy:100
+ Sell: 60
+ Weight: 1
+ Refine: false
+},
+{
+ Id: 831
+ AegisName: "RedScorpionStinger"
+ Name: "Red Scorpion Stinger"
+ Type: "IT_ETC"
+ Buy: 1000
+ Sell: 70
+ Weight: 1
+ Refine: false
+},
+{
+ Id: 832
+ AegisName: "BlackScorpionStinger"
+ Name: "Black Scorpion Stinger"
+ Type: "IT_ETC"
+ Buy: 1000
+ Sell: 100
+ Weight: 1
+ Refine: false
+},
+{
+ Id: 833
+ AegisName: "EmptyBottle"
+ Name: "EmptyBottle"
+ Type: "IT_ETC"
+ Buy: 100
+ Sell: 20
+ Weight: 5
+ Refine: false
+},
+{
+ Id: 834
+ AegisName: "GoldenEasteregg"
+ Name: "Golden Easteregg"
+ Type: "IT_ETC"
+ Buy: 1000
+ Sell: 100
+ Weight: 0
+ Refine: false
+ Trade: {
+ nostorage: true
+ }
+},
+{
+ Id: 835
+ AegisName: "SilverEasteregg"
+ Name: "Silver Easteregg"
+ Type: "IT_ETC"
+ Buy: 250
+ Sell: 25
+ Weight: 5
+ Refine: false
+},
+{
+ Id: 836
+ AegisName: "PileOfAsh"
+ Name: "Pile Of Ash"
+ Type: "IT_ETC"
+ Buy: 1000
+ Sell: 80
+ Weight: 6
+ Refine: false
+},
+{
+ Id: 837
+ AegisName: "DuckFeather"
+ Name: "Duck Feather"
+ Type: "IT_ETC"
+ Buy: 1000
+ Sell: 70
+ Weight: 1
+ Refine: false
+},
+{
+ Id: 838
+ AegisName: "TulimsharGuardCard"
+ Name: "Tulimshar Guard Card"
+ Type: "IT_ETC"
+ Buy: 10
+ Sell: 5
+ Weight: 1
+ Refine: false
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 839
+ AegisName: "Roach"
+ Name: "Roach"
+ Type: "IT_ETC"
+ Buy: 100
+ Sell: 23
+ Weight: 85
+ Refine: false
+},
+{
+ Id: 840
+ AegisName: "Tench"
+ Name: "Tench"
+ Type: "IT_ETC"
+ Buy: 150
+ Sell: 56
+ Weight: 120
+ Refine: false
+},
+{
+ Id: 841
+ AegisName: "Lifestone"
+ Name: "Lifestone"
+ Type: "IT_ETC"
+ Buy: 1500
+ Sell: 55
+ Weight: 80
+ Refine: false
+},
+{
+ Id: 842
+ AegisName: "CopperOre"
+ Name: "Copper Ore"
+ Type: "IT_ETC"
+ Buy: 1000
+ Sell: 250
+ Weight: 750
+},
+{
+ Id: 843
+ AegisName: "LeadOre"
+ Name: "Lead Ore"
+ Type: "IT_ETC"
+ Buy: 4000
+ Sell: 1000
+ Weight: 750
+},
+{
+ Id: 844
+ AegisName: "TinOre"
+ Name: "Tin Ore"
+ Type: "IT_ETC"
+ Buy: 3600
+ Sell: 900
+ Weight: 750
+},
+{
+ Id: 845
+ AegisName: "SilverOre"
+ Name: "Silver Ore"
+ Type: "IT_ETC"
+ Buy: 2000
+ Sell: 500
+ Weight: 750
+},
+{
+ Id: 846
+ AegisName: "GoldOre"
+ Name: "Gold Ore"
+ Type: "IT_ETC"
+ Buy: 3000
+ Sell: 750
+ Weight: 750
+},
+{
+ Id: 847
+ AegisName: "PlatinumOre"
+ Name: "Platinum Ore"
+ Type: "IT_ETC"
+ Buy: 24000
+ Sell: 6000
+ Weight: 750
+},
+{
+ Id: 848
+ AegisName: "IridiumOre"
+ Name: "Iridium Ore"
+ Type: "IT_ETC"
+ Buy: 16000
+ Sell: 4000
+ Weight: 750
+},
+{
+ Id: 849
+ AegisName: "TitaniumOre"
+ Name: "Titanium Ore"
+ Type: "IT_ETC"
+ Buy: 6000
+ Sell: 1500
+ Weight: 750
+},
+{
+ Id: 850
+ AegisName: "CopperIngot"
+ Name: "Copper Ingot"
+ Type: "IT_ETC"
+ Buy: 20000
+ Sell: 1500
+ Weight: 1000
+},
+{
+ Id: 851
+ AegisName: "LeadIngot"
+ Name: "Lead Ingot"
+ Type: "IT_ETC"
+ Buy: 22000
+ Sell: 3700
+ Weight: 1000
+},
+{
+ Id: 852
+ AegisName: "TinIngot"
+ Name: "Tin Ingot"
+ Type: "IT_ETC"
+ Buy: 18000
+ Sell: 3900
+ Weight: 1000
+},
+{
+ Id: 853
+ AegisName: "SilverIngot"
+ Name: "Silver Ingot"
+ Type: "IT_ETC"
+ Buy: 20000
+ Sell: 2200
+ Weight: 1000
+},
+{
+ Id: 854
+ AegisName: "GoldIngot"
+ Name: "Gold Ingot"
+ Type: "IT_ETC"
+ Buy: 24000
+ Sell: 3000
+ Weight: 1000
+},
+{
+ Id: 855
+ AegisName: "PlatinumIngot"
+ Name: "Platinum Ingot"
+ Type: "IT_ETC"
+ Buy: 180000
+ Sell: 19000
+ Weight: 1000
+},
+{
+ Id: 856
+ AegisName: "IridiumIngot"
+ Name: "Iridium Ingot"
+ Type: "IT_ETC"
+ Buy: 100000
+ Sell: 17000
+ Weight: 1000
+},
+{
+ Id: 857
+ AegisName: "TitaniumIngot"
+ Name: "Titanium Ingot"
+ Type: "IT_ETC"
+ Buy: 20000
+ Sell: 6900
+ Weight: 1000
+},
+{
+ Id: 858
+ AegisName: "DiamondPowder"
+ Name: "Diamond Powder"
+ Type: "IT_ETC"
+ Buy: 8000
+ Sell: 80
+ Weight: 12
+},
+{
+ Id: 859
+ AegisName: "RubyPowder"
+ Name: "Ruby Powder"
+ Type: "IT_ETC"
+ Buy: 5000
+ Sell: 50
+ Weight: 12
+},
+{
+ Id: 860
+ AegisName: "EmeraldPowder"
+ Name: "Emerald Powder"
+ Type: "IT_ETC"
+ Buy: 7500
+ Sell: 75
+ Weight: 12
+},
+{
+ Id: 861
+ AegisName: "SapphirePowder"
+ Name: "Sapphire Powder"
+ Type: "IT_ETC"
+ Buy: 12500
+ Sell: 125
+ Weight: 12
+},
+{
+ Id: 862
+ AegisName: "TopazPowder"
+ Name: "Topaz Powder"
+ Type: "IT_ETC"
+ Buy: 6000
+ Sell: 60
+ Weight: 12
+},
+{
+ Id: 863
+ AegisName: "AmethystPowder"
+ Name: "Amethyst Powder"
+ Type: "IT_ETC"
+ Buy: 10000
+ Sell: 100
+ Weight: 12
+},
+{
+ Id: 864
+ AegisName: "AquadaBox"
+ Name: "Aquada Box"
+ Type: "IT_ETC"
+ Buy: 2
+ Sell: 1
+ Weight: 850
+ Refine: false
+ Trade: {
+ nodrop: true
+ noselltonpc: true
+ }
+},
+{
+ Id: 865
+ AegisName: "MountainSnakeTongue"
+ Name: "Mountain Snake Tongue"
+ Type: "IT_ETC"
+ Buy: 200
+ Sell: 111
+ Weight: 2
+},
+{
+ Id: 866
+ AegisName: "MountainSnakeSkin"
+ Name: "Mountain Snake Skin"
+ Type: "IT_ETC"
+ Buy: 800
+ Sell: 320
+ Weight: 22
+},
+{
+ Id: 867
+ AegisName: "CaveSnakeSkin"
+ Name: "Cave Snake Skin"
+ Type: "IT_ETC"
+ Buy: 600
+ Sell: 95
+ Weight: 13
+},
+{
+ Id: 868
+ AegisName: "ScorpionClaw"
+ Name: "Scorpion Claw"
+ Type: "IT_ETC"
+ Buy: 60
+ Sell: 15
+ Weight: 15
+ Refine: false
+},
+{
+ Id: 869
+ AegisName: "RedScorpionClaw"
+ Name: "Red Scorpion Claw"
+ Type: "IT_ETC"
+ Buy: 60
+ Sell: 20
+ Weight: 20
+ Refine: false
+},
+{
+ Id: 870
+ AegisName: "BlackScorpionClaw"
+ Name: "Black Scorpion Claw"
+ Type: "IT_ETC"
+ Buy: 60
+ Sell: 28
+ Weight: 25
+ Refine: false
+},
+{
+ Id: 871
+ AegisName: "GoldenScorpionClaw"
+ Name: "Golden Scorpion Claw"
+ Type: "IT_ETC"
+ Buy: 600
+ Sell: 75
+ Weight: 65
+ Refine: false
+},
+{
+ Id: 872
+ AegisName: "OceanCrocClaw"
+ Name: "Ocean Croc Claw"
+ Type: "IT_ETC"
+ Buy: 900
+ Sell: 60
+ Weight: 61
+ Refine: false
+},
+{
+ Id: 873
+ AegisName: "WhiteFur"
+ Name: "White Fur"
+ Type: "IT_ETC"
+ Buy: 90
+ Sell: 30
+ Weight: 1
+ Refine: false
+},
+{
+ Id: 874
+ AegisName: "EverburnPowder"
+ Name: "Everburn Powder"
+ Type: "IT_ETC"
+ Buy: 15000
+ Sell: 3500
+ Weight: 100
+ Refine: false
+},
+{
+ Id: 875
+ AegisName: "DarkDesertMushroom"
+ Name: "Dark Desert Mushroom"
+ Type: "IT_ETC"
+ Buy: 20000
+ Sell: 8000
+ Weight: 40
+ Refine: false
+},
+{
+ Id: 876
+ AegisName: "WoodenLog"
+ Name: "Wooden Log"
+ Type: "IT_ETC"
+ Buy: 100
+ Sell: 45
+ Weight: 80
+ Refine: false
+},
+{
+ Id: 877
+ AegisName: "ManaPiouFeathers"
+ Name: "Mana Piou Feathers"
+ Type: "IT_ETC"
+ Buy: 20
+ Sell: 8
+ Weight: 1
+ Refine: false
+},
+{
+ Id: 878
+ AegisName: "BlackMambaTongue"
+ Name: "Black Mamba Tongue"
+ Type: "IT_ETC"
+ Buy: 200
+ Sell: 111
+ Weight: 2
+},
+{
+ Id: 879
+ AegisName: "BlackMambaSkin"
+ Name: "Black Mamba Skin"
+ Type: "IT_ETC"
+ Buy: 800
+ Sell: 370
+ Weight: 22
+},
+{
+ Id: 880
+ AegisName: "SquirrelPelt"
+ Name: "Squirrel Pelt"
+ Type: "IT_ETC"
+ Buy: 100
+ Sell: 21
+ Weight: 19
+},
+{
+ Id: 881
+ AegisName: "AlizarinHerb"
+ Name: "Alizarin Herb"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 5
+ Weight: 3
+},
+{
+ Id: 882
+ AegisName: "ShadowHerb"
+ Name: "Shadow Herb"
+ Type: "IT_ETC"
+ Buy: 50
+ Sell: 5
+ Weight: 3
+},
+{
+ Id: 883
+ AegisName: "WarpedLog"
+ Name: "Warped Log"
+ Type: "IT_ETC"
+ Buy: 15
+ Sell: 5
+ Weight: 8
+},
+{
+ Id: 884
+ AegisName: "MoubooFigurine"
+ Name: "Mouboo Figurine"
+ Type: "IT_ETC"
+ Buy: 45
+ Sell: 15
+ Weight: 16
+},
+{
+ Id: 885
+ AegisName: "CopperKey"
+ Name: "Copper Key"
+ Type: "IT_ETC"
+ Buy: 2000
+ Sell: 1000
+ Weight: 1
+},
+{
+ Id: 886
+ AegisName: "BottledDust"
+ Name: "Dust In A Bottle"
+ Type: "IT_ETC"
+ Buy: 180
+ Sell: 60
+ Weight: 5
+},
+{
+ Id: 887
+ AegisName: "HeroCoin"
+ Name: "Hero Coin"
+ Type: "IT_ETC"
+ Buy: 100000
+ Sell: 0
+ Weight: 0
+},
+{
+ Id: 888
+ AegisName: "ForestPiouFeathers"
+ Name: "Forest Piou Feathers"
+ Type: "IT_ETC"
+ Buy: 30
+ Sell: 7
+ Weight: 1
+ Refine: false
+},
+{
+ Id: 889
+ AegisName: "BrokenWarpCrystal"
+ Name: "Broken Warp Crystal"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 40
+ Refine: false
+},
+{
+ Id: 890
+ AegisName: "SmallFishingNet"
+ Name: "Small Fishing Net"
+ Type: "IT_ETC"
+ Buy: 5000
+ Sell: 150
+ Weight: 60
+ Refine: false
+},
+// <!-- ID 900~910 Reserved -->
+{
+ Id: 911
+ AegisName: "ScholarshipBadge"
+ Name: "Scholarship Badge"
+ Type: "IT_ETC"
+ Buy: 10000
+ Sell: 3500
+ Weight: 1
+ Refine: false
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 912
+ AegisName: "Wurtzite"
+ Name: "Wurtzite Ore"
+ Type: "IT_ETC"
+ Buy: 5000
+ Sell: 500
+ Weight: 1
+},
+{
+ Id: 913
+ AegisName: "Graphene"
+ Name: "Graphene Stone"
+ Type: "IT_ETC"
+ Buy: 25000
+ Sell: 1500
+ Weight: 1
+},
+{
+ Id: 914
+ AegisName: "Arcanum"
+ Name: "Arcanum Stone"
+ Type: "IT_ETC"
+ Buy: 125000
+ Sell: 7500
+ Weight: 1
+},
+{
+ Id: 915
+ AegisName: "GuildCoin"
+ Name: "Guild Coin"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 0
+},
+{
+ Id: 916
+ AegisName: "LOFCoin"
+ Name: "LoF Coin"
+ Type: "IT_ETC"
+ Buy: 10000
+ Sell: 3500
+ Weight: 0
+},
+{
+ Id: 917
+ AegisName: "EventTreasure1"
+ Name: "Treasure (Low Quality)"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 0
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 918
+ AegisName: "EventTreasure2"
+ Name: "Treasure (Med Quality)"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 0
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 919
+ AegisName: "EventTreasure3"
+ Name: "Treasure (High Quality)"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 0
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 920
+ AegisName: "EventFish"
+ Name: "Gold Fish"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 0
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 921
+ AegisName: "EventOre"
+ Name: "Mysterious Ore"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 0
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 922
+ AegisName: "Insurance"
+ Name: "Insurance"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 0
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 923
+ AegisName: "Almanac"
+ Name: "Almanac"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 0
+},
+{
+ Id: 924
+ AegisName: "EventDreamTicket"
+ Name: "Dream Ticket"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 0
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 925
+ AegisName: "EventNaftalin"
+ Name: "Naftalin"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 0
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 926
+ AegisName: "WumpusEgg"
+ Name: "Wumpus Egg"
+ Type: "IT_ETC"
+ Buy: 750000
+ Sell: 100000
+ Weight: 10
+ Refine: false
+ //DropAnnounce: true
+},
+
+
+// <!-- Necklaces -->
+{
+ Id: 1000
+ AegisName: "BromenalFourLeafAmulet"
+ Name: "Bromenal Four-Leaf Amulet"
+ Type: "IT_ARMOR"
+ Buy: 50000
+ Sell: 7000
+ Weight: 10
+ Loc: 1024
+ EquipLv: 45
+ Refine: false
+ Script: <"
+ bonus bDef2Rate,10;
+ bonus bLuk,1;
+ ">
+},
+{
+ Id: 1001
+ AegisName: "SilverFourLeafAmulet"
+ Name: "Silver Four-Leaf Amulet"
+ Type: "IT_ARMOR"
+ Buy: 40000
+ Sell: 6000
+ Weight: 75
+ Loc: 1024
+ EquipLv: 55
+ Refine: false
+ Script: <"
+ bonus bDef2Rate,5;
+ bonus bLuk,1;
+ ">
+},
+{
+ Id: 1002
+ AegisName: "GoldenFourLeafAmulet"
+ Name: "Golden Four-Leaf Amulet"
+ Type: "IT_ARMOR"
+ Buy: 100000
+ Sell: 10000
+ Weight: 35
+ Loc: 1024
+ EquipLv: 45
+ Refine: false
+ Script: <"
+ bonus bDef2Rate,7;
+ bonus bLuk,2;
+ ">
+},
+{
+ Id: 1003
+ AegisName: "CrozeniteFourLeafAmulet"
+ Name: "Crozenite Four-Leaf Amulet"
+ Type: "IT_ARMOR"
+ Buy: 120000
+ Sell: 12000
+ Weight: 55
+ Loc: 1024
+ EquipLv: 45
+ Refine: false
+ Script: <"
+ bonus bDef2Rate,3;
+ ">
+},
+{
+ Id: 1004
+ AegisName: "PlatinumFourLeafAmulet"
+ Name: "Platinum Four-Leaf Amulet"
+ Type: "IT_ARMOR"
+ Buy: 1000000
+ Sell: 30000
+ Weight: 35
+ Loc: 1024
+ EquipLv: 45
+ Refine: false
+ Script: <"
+ bonus bCriticalDef,12;
+ bonus bDef2Rate,10;
+ bonus bLuk,5;
+ bonus bCritical,2;
+ ">
+},
+{
+ Id: 1005
+ AegisName: "JacksSkeletonCharm"
+ Name: "Jack's Skeleton Charm"
+ Type: "IT_ARMOR"
+ Buy: 16000
+ Sell: 100
+ Weight: 10
+ Def: 1
+ Loc: 1024
+ EquipLv: 60
+ Refine: false
+},
+{
+ Id: 1006
+ AegisName: "LifestonePendant"
+ Name: "Lifestone Pendant"
+ Type: "IT_ARMOR"
+ Buy: 10000
+ Sell: 2000
+ Weight: 60
+ Def: 0
+ Loc: 1024
+ EquipLv: 10
+ Refine: false
+ Script: <"
+ bonus bHPrecovRate,5;
+ bonus bSPrecovRate,1;
+ bonus2 bSkillHeal2,142,800;
+ bonus bDef,-2;
+ ">
+},
+{
+ Id: 1007
+ AegisName: "BloodstonePendant"
+ Name: "Bloodstone Pendant"
+ Type: "IT_ARMOR"
+ Buy: 18000
+ Sell: 1800
+ Weight: 100
+ Def: 1
+ Loc: 1024
+ EquipLv: 45
+ Refine: false
+ Script: <"
+ bonus bMaxHPrate,-20;
+ bonus bAtkRate,30;
+ ">
+},
+{
+ Id: 1008
+ AegisName: "RawTalisman"
+ Name: "Raw Talisman"
+ Type: "IT_ARMOR"
+ Buy: 7000
+ Sell: 3500
+ Weight: 100
+ Def: 1
+ Loc: 1024
+ EquipLv: 65
+ Refine: false
+},
+{
+ Id: 1009
+ AegisName: "DarkTalisman"
+ Name: "Dark Talisman"
+ Type: "IT_ARMOR"
+ Buy: 150000
+ Sell: 15000
+ Weight: 1000
+ Def: 1
+ Loc: 1024
+ EquipLv: 85
+ Refine: false
+},
+{
+ Id: 1010
+ AegisName: "FlightTalisman"
+ Name: "Flight Talisman"
+ Type: "IT_ARMOR"
+ Buy: 22000
+ Sell: 4200
+ Weight: 500
+ Def: 1
+ Loc: 1024
+ EquipLv: 75
+ Refine: false
+},
+{
+ Id: 1011
+ AegisName: "ToothNecklace"
+ Name: "Tooth Necklace"
+ Type: "IT_ARMOR"
+ Buy: 4000
+ Sell: 500
+ Weight: 50
+ Def: 0
+ Loc: 1024
+ EquipLv: 8
+ Refine: false
+ Script: <"
+ bonus bMaxHP,-200;
+ bonus bStr,2;
+ bonus bAtkRate,5;
+ ">
+},
+{
+ Id: 1012
+ AegisName: "WolvernTeethNecklace"
+ Name: "Wolvern Teeth Necklace"
+ Type: "IT_ARMOR"
+ Buy: 8000
+ Sell: 1000
+ Weight: 150
+ Def: 3
+ Loc: 1024
+ EquipLv: 24
+ Refine: false
+ Script: <"
+ bonus bMaxHP,-250;
+ bonus bStr,4;
+ bonus bAtkRate,7;
+ ">
+},
+{
+ Id: 1013
+ AegisName: "ClawPendant"
+ Name: "Claw Pendant"
+ Type: "IT_ARMOR"
+ Buy: 8000
+ Sell: 1000
+ Weight: 150
+ Def: 3
+ Loc: 1024
+ EquipLv: 24
+ Refine: false
+ Script: <"
+ bonus bMaxHP,-250;
+ bonus bStr,4;
+ bonus bAtkRate,10;
+ ">
+},
+{
+ Id: 1014
+ AegisName: "BarbarianAmulet"
+ Name: "Barbarian Amulet"
+ Type: "IT_ARMOR"
+ Buy: 11000
+ Sell: 2000
+ Weight: 350
+ Def: 1
+ Loc: 1024
+ EquipLv: 44
+ Refine: false
+ Script: <"
+ bonus bMaxHP,-300;
+ bonus bStr,7;
+ bonus bAtkRate,10;
+ ">
+},
+{
+ Id: 1015
+ AegisName: "BarbarianMasterAmulet"
+ Name: "Barbarian Master Amulet"
+ Type: "IT_ARMOR"
+ Buy: 100000
+ Sell: 10000
+ Weight: 450
+ Def: 1
+ Loc: 1024
+ EquipLv: 54
+ Refine: false
+ Script: <"
+ bonus bMaxHP,-400;
+ bonus bStr,11;
+ bonus bAtkRate,12;
+ ">
+},
+{
+ Id: 1016
+ AegisName: "MonkPendant"
+ Name: "Monk Pendant"
+ Type: "IT_ARMOR"
+ Buy: 100000
+ Sell: 10000
+ Weight: 450
+ Def: 4
+ Loc: 1024
+ EquipLv: 54
+ Refine: false
+},
+{
+ Id: 1017
+ AegisName: "AngelAmulet"
+ Name: "Angel Amulet"
+ Type: "IT_ARMOR"
+ Buy: 100000
+ Sell: 10000
+ Weight: 450
+ Def: 1
+ Loc: 1024
+ EquipLv: 54
+ Refine: false
+},
+{
+ Id: 1018
+ AegisName: "SponsorNecklace"
+ Name: "Sponsor Necklace"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 1
+ Loc: "EQP_SHADOW_ACC_R"
+ Refine: false
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 1019
+ AegisName: "MoubooPendant"
+ Name: "Mouboo Pendant"
+ Type: "IT_ARMOR"
+ Buy: 10000
+ Sell: 4500
+ Weight: 3
+ Def: 5
+ Loc: 1024
+ EquipLv: 55
+ Refine: false
+ Script: <"
+ bonus bHPrecovRate,6;
+ bonus bSPrecovRate,3;
+ bonus bMaxHP,150;
+ bonus bInt,1;
+ ">
+},
+{
+ Id: 1020
+ AegisName: "AlvasusPendant"
+ Name: "Alvasus Pendant"
+ Type: "IT_ARMOR"
+ Buy: 4000
+ Sell: 500
+ Weight: 50
+ Def: 0
+ Loc: 1024
+ EquipLv: 21
+ Refine: false
+ Script: <"
+ bonus bDex,1;
+ ">
+},
+{
+ Id: 1021
+ AegisName: "HeartNecklace"
+ Name: "Heart Necklace"
+ Type: "IT_ARMOR"
+ Buy: 75000
+ Sell: 10000
+ Weight: 100
+ Def: 0
+ Loc: 1024
+ EquipLv: 9
+ Refine: false
+},
+{
+ Id: 1022
+ AegisName: "DiscordNecklace"
+ Name: "Discord Necklace"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 1
+ Loc: "EQP_SHADOW_ACC_R"
+ Refine: false
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+},
+// <!-- Charms -->
+{
+ Id: 1150
+ AegisName: "FourLeafClover"
+ Name: "Four Leaf Clover"
+ Type: "IT_ARMOR"
+ Buy: 200000
+ Sell: 10000
+ Weight: 5
+ Def: 0
+ Loc: "EQP_ACC_L"
+ EquipLv: 30
+ Refine: false
+ Script: <"
+ bonus bCriticalDef,12;
+ bonus bLuk,3;
+ ">
+},
+{
+ Id: 1151
+ AegisName: "AshUrn"
+ Name: "Ash Urn"
+ Type: "IT_ARMOR"
+ Buy: 8000
+ Sell: 2600
+ Weight: 450
+ Def: 5
+ Loc: "EQP_ACC_L"
+ EquipLv: 40
+ Refine: false
+ Script: <"
+ bonus bDefRate, 15;
+ bonus bDef2Rate, 15;
+ ">
+},
+{
+ Id: 1152
+ AegisName: "AstralCube"
+ Name: "Astral Cube"
+ Type: "IT_ARMOR"
+ Buy: 70000
+ Sell: 5000
+ Weight: 450
+ Def: 15
+ Loc: "EQP_ACC_L"
+ EquipLv: 85
+ Refine: false
+ Script: <"
+ bonus bDefEle,Ele_Ghost;
+ ">
+},
+{
+ Id: 1153
+ AegisName: "BrokenDoll"
+ Name: "Broken Doll"
+ Type: "IT_ARMOR"
+ Buy: 7000
+ Sell: 2500
+ Weight: 450
+ Def: 2
+ Loc: "EQP_ACC_L"
+ EquipLv: 54
+ Refine: false
+},
+{
+ Id: 1154
+ AegisName: "Doll"
+ Name: "Doll"
+ Type: "IT_ARMOR"
+ Buy: 7000
+ Sell: 1800
+ Weight: 60
+ Def: 0
+ Loc: "EQP_ACC_L"
+ EquipLv: 30
+ Refine: false
+ Script: <"
+ bonus bCritical,10;
+ ">
+},
+{
+ Id: 1155
+ AegisName: "FireScroll"
+ Name: "Fire Scroll"
+ Type: "IT_ARMOR"
+ Buy: 7000
+ Sell: 1800
+ Weight: 40
+ Def: 1
+ Loc: "EQP_ACC_L"
+ EquipLv: 1
+ Refine: false
+ Script: <"
+ bonus bDefRatioAtkEle,Ele_Fire;
+ bonus bAtkEle, Ele_Fire;
+ bonus bDefEle, Ele_Fire;
+ bonus2 bMagicAddEle, Ele_Fire, 25;
+ bonus2 bMagicAtkEle, Ele_Fire, 25;
+ skill TMW2_OVHFIRE, 1;
+ ">
+},
+{
+ Id: 1156
+ AegisName: "HeartOfIsis"
+ Name: "Heart Of Isis"
+ Type: "IT_ARMOR"
+ Buy: 10000000
+ Sell: 60000
+ Weight: 450
+ Def: 1
+ Loc: "EQP_ACC_L"
+ EquipLv: 54
+ Refine: false
+},
+{
+ Id: 1157
+ AegisName: "LeatherBall"
+ Name: "Leather Ball"
+ Type: "IT_ARMOR"
+ Buy: 7000
+ Sell: 1800
+ Weight: 45
+ Def: 0
+ Loc: "EQP_ACC_L"
+ EquipLv: 26
+ Refine: false
+ Script: <"
+ bonus bHitRate,15;
+ ">
+},
+{
+ Id: 1158
+ AegisName: "ZarkorScroll"
+ Name: "Zarkor Scroll"
+ Type: "IT_ARMOR"
+ Buy: 7000
+ Sell: 1800
+ Weight: 37
+ Def: 0
+ Loc: "EQP_ACC_L"
+ EquipLv: 31
+ Refine: false
+ Script: <"
+ skill TMW2_ZARKOR,1;
+ bonus bCritical,1;
+ bonus bHPrecovRate,4;
+ ">
+},
+{
+ Id: 1159
+ AegisName: "OldTowel"
+ Name: "Old Towel"
+ Type: "IT_ARMOR"
+ Buy: 0
+ Sell: 0
+ Weight: 45
+ Def: 1
+ Loc: "EQP_ACC_L"
+ EquipLv: 20
+ Refine: false
+ Script: <"
+ bonus bCastrate,-10;
+ bonus bUseSPrate,-10;
+ addtoskill(TMW2_MPREGEN, 1, 2);
+ ">
+},
+{
+ Id: 1160
+ AegisName: "PlushMouboo"
+ Name: "Plush Mouboo"
+ Type: "IT_ARMOR"
+ Buy: 70000
+ Sell: 0
+ Weight: 50
+ Loc: "EQP_ACC_L"
+ EquipLv: 90
+ Refine: false
+ Script: <"
+ bonus3 bSPDrainRate,10,5,1;
+ bonus bAspdRate,-15;
+ bonus bHitRate, 100;
+ bonus2 bSubRace, RC_Legendary, 30;
+ ">
+},
+{
+ Id: 1161
+ AegisName: "RedStocking"
+ Name: "Red Stocking"
+ Type: "IT_ARMOR"
+ Buy: 7000
+ Sell: 230
+ Weight: 32
+ Def: 5
+ Loc: "EQP_ACC_L"
+ EquipLv: 25
+ Refine: false
+ Script: <"
+ bonus2 bAddEle,Ele_Water,11;
+ bonus2 bSubEle,Ele_Water,11;
+ ">
+},
+{
+ Id: 1162
+ AegisName: "SantaGlobe"
+ Name: "Santa Globe"
+ Type: "IT_ARMOR"
+ Buy: 7000
+ Sell: 180
+ Weight: 32
+ Def: 4
+ Loc: "EQP_ACC_L"
+ EquipLv: 24
+ Refine: false
+ Script: <"
+ bonus2 bAddEle,Ele_Water,5;
+ bonus2 bSubEle,Ele_Water,15;
+ ">
+},
+{
+ Id: 1163
+ AegisName: "SnowmanGlobe"
+ Name: "Snowman Globe"
+ Type: "IT_ARMOR"
+ Buy: 7000
+ Sell: 140
+ Weight: 32
+ Def: 4
+ Loc: "EQP_ACC_L"
+ EquipLv: 24
+ Refine: false
+ Script: <"
+ bonus2 bAddEle,Ele_Water,5;
+ bonus2 bSubEle,Ele_Water,10;
+ ">
+},
+{
+ Id: 1164
+ AegisName: "SpectralOrb"
+ Name: "Spectral Orb"
+ Type: "IT_ARMOR"
+ Buy: 7000
+ Sell: 1800
+ Weight: 450
+ Def: 10
+ Loc: "EQP_ACC_L"
+ EquipLv: 80
+ Refine: false
+ Script: <"
+ bonus2 bSubEle,Ele_Holy,-25;
+ bonus2 bAddEle,Ele_Ghost,50;
+ ">
+},
+{
+ Id: 1165
+ AegisName: "ThetaBook"
+ Name: "Theta Book"
+ Type: "IT_ARMOR"
+ Buy: 7000
+ Sell: 1800
+ Weight: 450
+ Def: 1
+ Loc: "EQP_ACC_L"
+ EquipLv: 37
+ Refine: false
+ Script: <"
+ bonus bMaxSP,20;
+ bonus bSPrecovRate,10;
+ bonus bMatk,10;
+ ">
+},
+{
+ Id: 1166
+ AegisName: "Blanket"
+ Name: "Blanket"
+ Type: "IT_ARMOR"
+ Buy: 7000
+ Sell: 1800
+ Weight: 45
+ Def: 0
+ Loc: "EQP_ACC_L"
+ EquipLv: 70
+ Refine: false
+ Script: <"
+ addtoskill(TMW2_SPEECH, 1, 2);
+ bonus bHitRate, -10;
+ bonus bFleeRate, -10;
+ ">
+ OnUnequipScript: <"
+ dispbottom "Slumber falls over you.";
+ callfunc "SC_Bonus", rand(5), SC_SLEEP, 1;
+ ">
+},
+{
+ Id: 1167
+ AegisName: "EarthScroll"
+ Name: "Earth Scroll"
+ Type: "IT_ARMOR"
+ Buy: 7000
+ Sell: 1800
+ Weight: 450
+ Loc: "EQP_ACC_L"
+ EquipLv: 54
+ Refine: false
+ Script: <"
+ bonus bMdef, 5;
+ bonus bMdefRate, 15;
+ bonus bMdef2Rate, 15;
+ ">
+},
+{
+ Id: 1168
+ AegisName: "CursedSkull"
+ Name: "Cursed Skull"
+ Type: "IT_ARMOR"
+ Buy: 7000
+ Sell: 1800
+ Weight: 450
+ Loc: "EQP_ACC_L"
+ EquipLv: 58
+ Refine: false
+ Script: <"
+ bonus2 bSubEle,Ele_Holy,-50;
+ bonus2 bAddRace,RC_Undead,25;
+ bonus2 bMagicAddRace,RC_Undead,25;
+ ">
+},
+{
+ Id: 1169
+ AegisName: "GoldMedal"
+ Name: "Gold Medal"
+ Type: "IT_ARMOR"
+ Buy: 7000
+ Sell: 1800
+ Weight: 450
+ Def: 3
+ Loc: "EQP_ACC_L"
+ EquipLv: 54
+ Refine: false
+},
+{
+ Id: 1170
+ AegisName: "SilverMedal"
+ Name: "SilverMedal"
+ Type: "IT_ARMOR"
+ Buy: 7000
+ Sell: 1800
+ Weight: 450
+ Def: 2
+ Loc: "EQP_ACC_L"
+ EquipLv: 54
+ Refine: false
+},
+{
+ Id: 1171
+ AegisName: "BronzeMedal"
+ Name: "Bronze Medal"
+ Type: "IT_ARMOR"
+ Buy: 7000
+ Sell: 1800
+ Weight: 450
+ Def: 1
+ Loc: "EQP_ACC_L"
+ EquipLv: 54
+ Refine: false
+},
+{
+ Id: 1172
+ AegisName: "LeatherQuiver"
+ Name: "Leather Quiver"
+ Type: "IT_ARMOR"
+ Buy: 120000
+ Sell: 2700
+ Weight: 60
+ Def: 0
+ Loc: "EQP_ACC_L"
+ EquipLv: 30
+ RequiredAgi: 15
+ Refine: false
+ Script: <"
+ // Bow: Subtype W_BOW (ITEMINFO_SUBTYPE)
+ // Arrow: EQP_AMMO
+ // Check if you are using bow and arrows
+ /*
+ debugmes "Quiver info! Bow Getequip id is "+getequipid(EQI_HAND_R);
+ debugmes "Quiver info! Item subtype is "+getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_SUBTYPE);
+ debugmes "Quiver info! Target subtype: "+W_BOW;
+ */
+ if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_SUBTYPE) == W_BOW) {
+ bonus bAspdRate,10;
+ bonus bAddMaxWeight,100;
+ bonus bMaxSPrate,-10;
+ }
+ ">
+},
+{
+ Id: 1173
+ AegisName: "IronQuiver"
+ Name: "Iron Quiver"
+ Type: "IT_ARMOR"
+ Buy: 240000
+ Sell: 5800
+ Weight: 140
+ Def: 0
+ Loc: "EQP_ACC_L"
+ EquipLv: 50
+ RequiredAgi: 21
+ Refine: false
+ Script: <"
+ if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_SUBTYPE) == W_BOW) {
+ bonus bAspdRate,16;
+ bonus bAddMaxWeight,200;
+ bonus bMaxSPrate,-20;
+ }
+ ">
+},
+{
+ Id: 1174
+ AegisName: "BronzeQuiver"
+ Name: "Bronze Quiver"
+ Type: "IT_ARMOR"
+ Buy: 240000
+ Sell: 6200
+ Weight: 200
+ Def: 0
+ Loc: "EQP_ACC_L"
+ EquipLv: 70
+ RequiredAgi: 37
+ Refine: false
+ Script: <"
+ if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_SUBTYPE) == W_BOW) {
+ bonus bAspdRate,23;
+ bonus bAddMaxWeight,300;
+ bonus bMaxSPrate,-30;
+ }
+ ">
+},
+{
+ Id: 1175
+ AegisName: "PlatinumQuiver"
+ Name: "Platinum Quiver"
+ Type: "IT_ARMOR"
+ Buy: 480000
+ Sell: 11300
+ Weight: 210
+ Def: 0
+ Loc: "EQP_ACC_L"
+ EquipLv: 90
+ RequiredAgi: 49
+ Refine: false
+ Script: <"
+ if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_SUBTYPE) == W_BOW) {
+ bonus bAspdRate,30;
+ bonus bAddMaxWeight,400;
+ bonus bMaxSPrate,-40;
+ }
+ ">
+},
+{
+ Id: 1176
+ AegisName: "DragonStar"
+ Name: "Dragon Star"
+ Type: "IT_ARMOR"
+ Buy: 27000
+ Sell: 8000
+ Weight: 30
+ Loc: "EQP_ACC_L"
+ EquipLv: 54
+ Refine: false
+ Script: <"
+ bonus bAddMaxWeight,700;
+ bonus bDefRate, -12;
+ bonus bDef2Rate, -12;
+ ">
+},
+{
+ Id: 1177
+ AegisName: "MichelSoul"
+ Name: "Michel Soul"
+ Type: "IT_ARMOR"
+ Buy: 2700
+ Sell: 1200
+ Weight: 120
+ Loc: "EQP_ACC_L"
+ EquipLv: 45
+ Refine: false
+ Script: <"
+ bonus bInt,7;
+ bonus bMdef,25;
+ ">
+},
+{
+ Id: 1178
+ AegisName: "GraduationAlbum"
+ Name: "Graduation Album"
+ Type: "IT_ARMOR"
+ Buy: 21000
+ Sell: 7000
+ Weight: 900
+ Def: 3
+ Loc: "EQP_ACC_L"
+ EquipLv: 100
+ Refine: false
+ Script: <"
+ bonus bSPrecovRate,28;
+ bonus bMatk,30;
+ ">
+},
+{
+ Id: 1179
+ AegisName: "RubberDucky"
+ Name: "Rubber Ducky"
+ Type: "IT_ARMOR"
+ Buy: 15000
+ Sell: 7500
+ Weight: 500
+ Def: 0
+ Loc: "EQP_ACC_L"
+ EquipLv: 50
+ Refine: false
+ Script: <"
+ skill TMW2_DUCKY, cap_value(0, 10, 1+REBIRTH*2);
+ bonus bAllStats,5;
+ bonus bHPrecovRate,-50;
+ bonus bDefRate,-50;
+ bonus bDef2Rate,-50;
+ bonus bMaxSPrate,-35;
+ bonus bFleeRate,-15;
+ ">
+},
+
+///////////////////////////
+// Chest Armors
+{
+ Id: 1300
+ AegisName: "CreasedShirt"
+ Name: "Creased Shirt"
+ Type: "IT_ARMOR"
+ Buy: 70
+ Sell: 18
+ Weight: 17
+ Def: 1
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 1
+ Refine: true
+},
+{
+ Id: 1301
+ AegisName: "VneckJumper"
+ Name: "V-neck Jumper"
+ Type: "IT_ARMOR"
+ Buy: 1800
+ Sell: 200
+ Weight: 30
+ Def: 43
+ Slots: 1
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 49
+ Refine: true
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bDef2,4;
+ ">
+},
+{
+ Id: 1302
+ AegisName: "ArtisTankTop"
+ Name: "Artis Tank Top"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 120
+ Weight: 11
+ Def: 5
+ Slots: 1
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 5
+ Refine: true
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxHP,3;
+ ">
+},
+{
+ Id: 1303
+ AegisName: "SailorShirt"
+ Name: "SailorShirt"
+ Type: "IT_ARMOR"
+ Buy: 1900
+ Sell: 950
+ Weight: 110
+ Def: 19
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 26
+ Refine: true
+ Script: <"
+ bonus bMaxHP,32;
+ bonus bStr,1;
+ bonus bDef2,2;
+ ">
+},
+{
+ Id: 1304
+ AegisName: "LieutenantArmor"
+ Name: "Lieutenant Armor"
+ Type: "IT_ARMOR"
+ Buy: 4500
+ Sell: 300
+ Weight: 120
+ Def: 23
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 30
+ Refine: true
+ Script: <"
+ bonus bMaxHP,40;
+ bonus bDef2,3;
+ ">
+},
+{
+ Id: 1305
+ AegisName: "CopperArmor"
+ Name: "Lieutenant Copper Armor"
+ Type: "IT_ARMOR"
+ Buy: 12000
+ Sell: 800
+ Weight: 340
+ Def: 50
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 55
+ Refine: true
+ Script: <"
+ bonus bMaxHP,106;
+ bonus bDef2,5;
+ ">
+},
+{
+ Id: 1306
+ AegisName: "WarlordPlate"
+ Name: "Warlord Plate"
+ Type: "IT_ARMOR"
+ Buy: 200000
+ Sell: 18000
+ Weight: 2600
+ Def: 89
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 70
+ Refine: true
+ Script: <"
+ bonus bMaxHP,240;
+ bonus bSpeedAddRate, -7;
+ bonus bDef2,14;
+ ">
+},
+{
+ Id: 1307
+ AegisName: "BromenalChest"
+ Name: "Bromenal Chest"
+ Type: "IT_ARMOR"
+ Buy: 160000
+ Sell: 16000
+ Weight: 3600
+ Def: 71
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 73
+ Refine: true
+ Script: <"
+ bonus bMaxHP,171;
+ bonus bDef2,7;
+ ">
+},
+{
+ Id: 1308
+ AegisName: "ForestArmor"
+ Name: "Forest Armor"
+ Type: "IT_ARMOR"
+ Buy: 12000
+ Sell: 4000
+ Weight: 510
+ Def: 44
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 50
+ Refine: true
+ Script: <"
+ bonus bMaxHP,90;
+ bonus bDex, 2;
+ if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_SUBTYPE) == W_BOW) {
+ bonus bAgi, 2;
+ }
+ bonus bDef2,5;
+ ">
+},
+{
+ Id: 1309
+ AegisName: "ContributorSweater"
+ Name: "Contributor Sweater"
+ Type: "IT_ARMOR"
+ Buy: 12000
+ Sell: 700
+ Weight: 25
+ Def: 5
+ Slots: 1
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 5
+ Refine: true
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxHP,3;
+ ">
+},
+{
+ Id: 1310
+ AegisName: "Chainmail"
+ Name: "Chainmail"
+ Type: "IT_ARMOR"
+ Buy: 14000
+ Sell: 8000
+ Weight: 1200
+ Def: 51
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 45
+ Refine: true
+ Script: <"
+ bonus bMaxHP,115;
+ bonus bSpeedAddRate, -2;
+ bonus bDef2,9;
+ ">
+},
+{
+ Id: 1311
+ AegisName: "TerraniteArmor"
+ Name: "Terranite Armor"
+ Type: "IT_ARMOR"
+ Buy: 12000
+ Sell: 800
+ Weight: 3600
+ Def: 82
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 82
+ Refine: true
+ Script: <"
+ bonus bMaxHP,210;
+ bonus bMdef,41;
+ bonus bDef2,8;
+ ">
+},
+{
+ Id: 1312
+ AegisName: "LightPlatemail"
+ Name: "Light Platemail"
+ Type: "IT_ARMOR"
+ Buy: 12000
+ Sell: 800
+ Weight: 2000
+ Def: 74
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 60
+ Refine: true
+ Script: <"
+ bonus bMaxHP,185;
+ bonus bSpeedAddRate, -6;
+ bonus bDef2,12;
+ ">
+},
+{
+ Id: 1313
+ AegisName: "ShortTankTop"
+ Name: "Short Tank Top"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 80
+ Weight: 5
+ Def: 6
+ Slots: 1
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 8
+ Refine: true
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxHP,6;
+ ">
+},
+{
+ Id: 1314
+ AegisName: "LeatherShirt"
+ Name: "Leather Shirt"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 550
+ Weight: 310
+ Def: 15
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 21
+ Refine: true
+ Script: <"
+ bonus bMaxHP,23;
+ bonus bDef2,2;
+ ">
+},
+{
+ Id: 1315
+ AegisName: "TneckSweater"
+ Name: "Tneck Sweater"
+ Type: "IT_ARMOR"
+ Buy: 12000
+ Sell: 80
+ Weight: 30
+ Def: 8
+ Slots: 1
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 13
+ Refine: true
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxHP,12;
+ bonus bDef2,1;
+ ">
+},
+{
+ Id: 1316
+ AegisName: "SilkRobe"
+ Name: "Silk Robe"
+ Type: "IT_ARMOR"
+ Buy: 20000
+ Sell: 1000
+ Weight: 25
+ Def: 7
+ Slots: 1
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 20
+ Refine: true
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMatk,20;
+ bonus bMdef,25;
+ bonus bMaxSP,40;
+ bonus bSPrecovRate,5;
+ addtoskill(TMW2_MPREGEN, 1, 2);
+ ">
+},
+{
+ Id: 1317
+ AegisName: "SorcererRobe"
+ Name: "Sorcerer Robe"
+ Type: "IT_ARMOR"
+ Buy: 12000
+ Sell: 800
+ Weight: 40
+ Def: 25
+ Slots: 1
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 55
+ Refine: true
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMatk,40;
+ bonus bMdef,50;
+ bonus bMaxSP,80;
+ bonus bSPrecovRate,8;
+ addtoskill(TMW2_MPREGEN, 2, 2);
+ ">
+},
+{
+ Id: 1318
+ AegisName: "UglyChristmasSweater"
+ Name: "Christmas Sweater"
+ Type: "IT_ARMOR"
+ Buy: 12000
+ Sell: 800
+ Weight: 350
+ Def: 17
+ Slots: 1
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 40
+ Refine: true
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxSP,10;
+ bonus bMatk,15;
+ bonus bMdef,20;
+ bonus bSPrecovRate,4;
+ addtoskill(TMW2_MPREGEN, 1, 2);
+ ">
+},
+{
+ Id: 1319
+ AegisName: "ValentineDress"
+ Name: "Valentine Dress"
+ Type: "IT_ARMOR"
+ Buy: 12000
+ Sell: 800
+ Weight: 100
+ Def: 10
+ Slots: 1
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 15
+ Refine: true
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxHP,14;
+ bonus bDef2,1;
+ ">
+},
+{
+ Id: 1320
+ AegisName: "VneckSweater"
+ Name: "Vneck Sweater"
+ Type: "IT_ARMOR"
+ Buy: 12000
+ Sell: 800
+ Weight: 36
+ Def: 25
+ Slots: 1
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 32
+ Refine: true
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxHP,44;
+ bonus bDef2,3;
+ ">
+},
+{
+ Id: 1321
+ AegisName: "CandorShirt"
+ Name: "Candor Shirt"
+ Type: "IT_ARMOR"
+ Buy: 120
+ Sell: 50
+ Weight: 36
+ Def: 3
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 3
+ Refine: true
+ Script: <"
+ bonus bMaxHP,1;
+ ">
+},
+{
+ Id: 1322
+ AegisName: "GMRobe"
+ Name: "GM Robe"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 0
+ Atk: 0
+ Def: 20
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 1
+ Refine: false
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Nouse: {
+ override: 60
+ }
+ BindOnEquip: true
+},
+{
+ Id: 1323
+ AegisName: "RedknightArmor"
+ Name: "Red Knight Armor"
+ Type: "IT_ARMOR"
+ Buy: 12000
+ Sell: 5000
+ Weight: 500
+ Def: 82
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 82
+ Refine: true
+ Script: <"
+ bonus bMaxHP,210;
+ bonus bDefEle,Ele_Fire;
+ bonus bDef2,8;
+ ">
+},
+{
+ Id: 1324
+ AegisName: "DesertShirt"
+ Name: "Desert Shirt"
+ Type: "IT_ARMOR"
+ Buy: 5000
+ Sell: 800
+ Weight: 390
+ Def: 30
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 37
+ Refine: true
+ Script: <"
+ bonus bMaxHP,56;
+ bonus bDef2,3;
+ ">
+},
+{
+ Id: 1325
+ AegisName: "YetiTankTop"
+ Name: "Yety Tank Top"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 1
+ Def: 1
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 1
+ Refine: true
+ Script: <"
+ bonus bMaxHP,1;
+ bonus bDef2,1;
+ ">
+},
+{
+ Id: 1326
+ AegisName: "MoonshroomRobe"
+ Name: "Moonshroom Robe"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 1
+ Def: 1
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 1
+ Refine: true
+ Script: <"
+ bonus bMaxHP,1;
+ bonus bDef2,1;
+ ">
+},
+{
+ Id: 1327
+ AegisName: "GoldenChainmail"
+ Name: "Golden Chainmail"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 1
+ Def: 1
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 1
+ Refine: true
+ Script: <"
+ bonus bMaxHP,1;
+ bonus bDef2,1;
+ ">
+},
+{
+ Id: 1328
+ AegisName: "GoldenLightPlatemail"
+ Name: "Golden Light Platemail"
+ Type: "IT_ARMOR"
+ Buy: 200000
+ Sell: 1000
+ Weight: 2200
+ Def: 80
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 64
+ Refine: true
+ Script: <"
+ bonus bMaxHP,205;
+ bonus bSpeedAddRate, -4;
+ bonus bDef2,12;
+ ">
+},
+{
+ Id: 1329
+ AegisName: "GoldenWarlordPlate"
+ Name: "Golden Warlord Plate"
+ Type: "IT_ARMOR"
+ Buy: 200000
+ Sell: 10000
+ Weight: 3000
+ Def: 97
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 75
+ Refine: true
+ Script: <"
+ bonus bMaxHP,270;
+ bonus bSpeedAddRate, -7;
+ bonus bDef2,15;
+ ">
+},
+{
+ Id: 1330
+ AegisName: "LazuriteRobe"
+ Name: "Lazurite Robe"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 1
+ Def: 1
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 1
+ Refine: true
+ Script: <"
+ bonus bMaxHP,1;
+ bonus bDef2,1;
+ ">
+},
+{
+ Id: 1331
+ AegisName: "SaviorArmor"
+ Name: "Savior Armor"
+ Type: "IT_ARMOR"
+ Buy: 1000000
+ Sell: 100000
+ Weight: 2800
+ Def: 117
+ Slots: 1
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 109
+ Refine: true
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ // If you don't dye the cap, it can be powerful
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ bonus bMaxHP,350;
+ bonus bDef2,10;
+ bonus bMdef, 4;
+ ">
+},
+{
+ Id: 1332
+ AegisName: "CottonShirt"
+ Name: "Cotton Shirt"
+ Type: "IT_ARMOR"
+ Buy: 1000
+ Sell: 130
+ Weight: 90
+ Def: 10
+ Slots: 1
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 15
+ Refine: true
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxHP,14;
+ bonus bDef2,1;
+ ">
+},
+{
+ Id: 1333
+ AegisName: "AssassinChest"
+ Name: "Assassin Chest"
+ Type: "IT_ARMOR"
+ Buy: 200000
+ Sell: 9000
+ Weight: 400
+ Def: 77
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 84
+ Refine: true
+ Script: <"
+ bonus bMaxHP,220;
+ bonus bDef2,8;
+ ">
+},
+{
+ Id: 1334
+ AegisName: "CrusadeArmor"
+ Name: "Crusade Armor"
+ Type: "IT_ARMOR"
+ Buy: 20000
+ Sell: 1000
+ Weight: 1200
+ Def: 23
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 30
+ Refine: true
+ Script: <"
+ bonus bMaxHP,40;
+ bonus bDef2,3;
+ ">
+},
+{
+ Id: 1335
+ AegisName: "CommunityShirt"
+ Name: "Community Shirt"
+ Type: "IT_ARMOR"
+ Buy: 1000000
+ Sell: 100
+ Weight: 120
+ Def: 2
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 2
+ Refine: true
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 1336
+ AegisName: "AlchemistArmor"
+ Name: "Alchemist Armor"
+ Type: "IT_ARMOR"
+ Buy: 1000000
+ Sell: 100
+ Weight: 120
+ Def: 63
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 67
+ Refine: true
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ bonus bMaxHP,148;
+ bonus bDef2,6;
+ ">
+},
+{
+ Id: 1337
+ AegisName: "GraduationRobe"
+ Name: "Graduation Robe"
+ Type: "IT_ARMOR"
+ Buy: 20000
+ Sell: 5000
+ Weight: 25
+ Atk: 0
+ Def: 37
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 75
+ Refine: true
+ Script: <"
+ bonus bMatk,20;
+ bonus bMaxSP,100;
+ bonus bSPrecovRate,5;
+ ">
+},
+{
+ Id: 1338
+ AegisName: "MinerTankTop"
+ Name: "Miner Tank Top"
+ Type: "IT_ARMOR"
+ Buy: 20000
+ Sell: 800
+ Weight: 110
+ Atk: 0
+ Def: 22
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 29
+ Refine: true
+ Script: <"
+ bonus bMaxHP,38;
+ bonus bLuk,1;
+ bonus bDef2,2;
+ ">
+},
+{
+ Id: 1339
+ AegisName: "Bathrobe"
+ Name: "Bathrobe"
+ Type: "IT_ARMOR"
+ Buy: 2600
+ Sell: 1000
+ Weight: 120
+ Def: 1
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 50
+ Refine: false
+ Script: <"
+ bonus bMaxHP,90;
+ addtoskill(TMW2_SPEECH, 1, 2);
+ ">
+},
+{
+ Id: 1340
+ AegisName: "MirrorLakeArmor"
+ Name: "Mirror Lake Armor"
+ Type: "IT_ARMOR"
+ Buy: 0
+ Sell: 0
+ Weight: 0
+ Def: 0
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 0
+ Refine: false
+ AllowPickup: false
+ Trade: {
+ nodrop: true
+ notrade: true
+ partneroverride: false
+ noselltonpc: true
+ nocart: true
+ nostorage: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ .@slv = callfunc("get_byte", ##00_INFO, 0) + 1;
+
+ // Bonus
+ bonus bMaxHP, 400+.@slv*80;
+ bonus bMaxSP, .@slv*20;
+ bonus bAllStats, .@slv*5;
+ bonus bDef2, .@slv*10;
+ bonus bDef, 55+.@slv*7;
+ bonus bFlee, .@slv*10;
+ bonus bHitRate, .@slv*10;
+ bonus bAddMaxWeight, .@slv*25;
+
+ // Penalties
+ bonus bBaseAtk,-300;
+ bonus bCriticalRate,-100;
+ bonus bCastrate, -500;
+ bonus bDelayrate, 50;
+
+ // Neutral
+ bonus bAtkEle, Ele_Ghost;
+ bonus bDefEle, Ele_Ghost;
+ bonus bUnstripableArmor, 1340;
+ bonus bUnbreakableArmor, 1340;
+ ">
+ OnUnequipScript: <" equip(1340); ">
+},
+
+// Boots
+{
+ Id: 1800
+ AegisName: "LousyMoccasins"
+ Name: "Lousy Moccasins"
+ Type: "IT_ARMOR"
+ Buy: 600
+ Sell: 180
+ Weight: 18
+ Def: 2
+ Loc: "EQP_SHOES"
+ EquipLv: 10
+ Refine: false
+ Script: <"
+ bonus bMaxHP,2;
+ bonus bDef2, 1;
+ ">
+},
+{
+ Id: 1801
+ AegisName: "AssassinBoots"
+ Name: "Assassin Boots"
+ Type: "IT_ARMOR"
+ Buy: 600
+ Sell: 180
+ Weight: 18
+ Def: 24
+ Loc: "EQP_SHOES"
+ EquipLv: 82
+ Refine: false
+ Script: <"
+ bonus bMaxHP,52;
+ bonus bDef2, 8;
+ ">
+},
+{
+ Id: 1802
+ AegisName: "DeepBlackBoots"
+ Name: "Deep Black Boots"
+ Type: "IT_ARMOR"
+ Buy: 600
+ Sell: 180
+ Weight: 18
+ Def: 12
+ Loc: "EQP_SHOES"
+ EquipLv: 50
+ Refine: false
+ Script: <"
+ bonus bMaxHP,23;
+ bonus bDef2, 5;
+ ">
+},
+{
+ Id: 1803
+ AegisName: "CandorBoots"
+ Name: "Candor Boots"
+ Type: "IT_ARMOR"
+ Buy: 600
+ Sell: 180
+ Weight: 18
+ Def: 2
+ Loc: "EQP_SHOES"
+ EquipLv: 7
+ Refine: false
+ Script: <"
+ bonus bMaxHP,1;
+ ">
+},
+{
+ Id: 1804
+ AegisName: "FurBoots"
+ Name: "Fur Boots"
+ Type: "IT_ARMOR"
+ Buy: 600
+ Sell: 180
+ Weight: 18
+ Def: 9
+ Loc: "EQP_SHOES"
+ EquipLv: 39
+ Refine: false
+ Script: <"
+ bonus bMaxHP,15;
+ bonus2 bAddEle,Ele_Water,20;
+ bonus2 bAddEle,Ele_Fire,-10;
+ bonus bMaxSP,20;
+ bonus bDef2, 4;
+ ">
+},
+{
+ Id: 1805
+ AegisName: "CottonBoots"
+ Name: "Cotton Boots"
+ Type: "IT_ARMOR"
+ Buy: 750
+ Sell: 200
+ Weight: 22
+ Def: 2
+ Slots: 1
+ Loc: "EQP_SHOES"
+ EquipLv: 20
+ Refine: false
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMatk,10;
+ bonus bMaxSP,10;
+ bonus bSPrecovRate,10;
+ ">
+},
+{
+ Id: 1806
+ AegisName: "Boots"
+ Name: "Boots"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 200
+ Weight: 80
+ Def: 4
+ Loc: "EQP_SHOES"
+ EquipLv: 21
+ Refine: false
+ Script: <"
+ bonus bMaxHP,5;
+ bonus bDef2, 2;
+ ">
+},
+{
+ Id: 1807
+ AegisName: "LeatherBoots"
+ Name: "Leather Boots"
+ Type: "IT_ARMOR"
+ Buy: 20000
+ Sell: 100
+ Weight: 1
+ Def: 7
+ Loc: "EQP_SHOES"
+ EquipLv: 32
+ Refine: false
+ Script: <"
+ bonus bMaxHP,11;
+ bonus bDef2, 3;
+ ">
+},
+{
+ Id: 1808
+ AegisName: "RedStockings"
+ Name: "Red Stockings"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 1
+ Def: 10
+ Loc: "EQP_SHOES"
+ EquipLv: 45
+ Refine: false
+ Script: <"
+ bonus bMaxHP,19;
+ bonus bDef2, 5;
+ ">
+},
+{
+ Id: 1809
+ AegisName: "BromenalBoots"
+ Name: "Bromenal Boots"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 1
+ Def: 13
+ Loc: "EQP_SHOES"
+ EquipLv: 55
+ Refine: false
+ Script: <"
+ bonus bMaxHP,26;
+ bonus bDef2, 6;
+ ">
+},
+{
+ Id: 1810
+ AegisName: "WizardMoccasins"
+ Name: "Wizard Moccasins"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 1
+ Def: 8
+ Loc: "EQP_SHOES"
+ EquipLv: 61
+ Refine: false
+ Script: <"
+ bonus bMatk,15;
+ bonus bMdef,15;
+ bonus bMaxSP,30;
+ bonus bSPrecovRate,6;
+ addtoskill(TMW2_MPREGEN, 1, 2);
+ ">
+},
+{
+ Id: 1811
+ AegisName: "WitchBoots"
+ Name: "Witch Boots"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 1
+ Def: 13
+ Loc: "EQP_SHOES"
+ EquipLv: 94
+ Refine: false
+ Script: <"
+ bonus bMatk,20;
+ bonus bMdef,20;
+ bonus bMaxSP,50;
+ bonus bSPrecovRate,7;
+ addtoskill(TMW2_MPREGEN, 1, 2);
+ ">
+},
+{
+ Id: 1812
+ AegisName: "HeliosBoots"
+ Name: "Helios Boots"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 900
+ Def: 15
+ Loc: "EQP_SHOES"
+ EquipLv: 70
+ Refine: false
+ Script: <"
+ bonus bMaxHP,-30;
+ bonus bSpeedAddRate,7; // 7 means a moving speed increase of 10(.5)
+">
+},
+{
+ Id: 1813
+ AegisName: "TerraniteBoots"
+ Name: "Terranite Boots"
+ Type: "IT_ARMOR"
+ Buy: 10000
+ Sell: 1200
+ Weight: 320
+ Def: 21
+ Loc: "EQP_SHOES"
+ EquipLv: 80
+ Refine: false
+ Script: <"
+ bonus bMaxHP,50;
+ bonus bMdef, 10;
+ bonus bDef2, 8;
+ ">
+},
+{
+ Id: 1814
+ AegisName: "WarlordBoots"
+ Name: "Warlord Boots"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 1
+ Def: 19
+ Loc: "EQP_SHOES"
+ EquipLv: 74
+ Refine: false
+ Script: <"
+ bonus bMaxHP,44;
+ bonus bDef2, 7;
+ ">
+},
+{
+ Id: 1815
+ AegisName: "SaviorBoots"
+ Name: "Savior Boots"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 32
+ Def: 30
+ Loc: "EQP_SHOES"
+ EquipLv: 106
+ Refine: true
+ Script: <"
+ bonus bMaxHP,85;
+ bonus bDef2, 10;
+ bonus bSpeedAddRate, 6;
+ bonus bMdef, 4;
+ ">
+},
+{
+ Id: 1816
+ AegisName: "CreasedBoots"
+ Name: "Creased Boots"
+ Type: "IT_ARMOR"
+ Buy: 200
+ Sell: 10
+ Weight: 12
+ Def: 1
+ Loc: "EQP_SHOES"
+ EquipLv: 3
+ Refine: false
+},
+{
+ Id: 1817
+ AegisName: "TulimsharGuardBoots"
+ Name: "Tulimshar Guard Boots"
+ Type: "IT_ARMOR"
+ Buy: 6000
+ Sell: 600
+ Weight: 35
+ Def: 3
+ Loc: "EQP_SHOES"
+ EquipLv: 17
+ Refine: false
+ Script: <"
+ bonus bMaxHP,4;
+ bonus bDef2, 2;
+ ">
+},
+{
+ Id: 1818
+ AegisName: "SquirrelBoots"
+ Name: "Squirrel Boots"
+ Type: "IT_ARMOR"
+ Buy: 6000
+ Sell: 1200
+ Weight: 32
+ Def: 5
+ Loc: "EQP_SHOES"
+ EquipLv: 26
+ Refine: false
+ Script: <"
+ bonus bMaxHP,8;
+ bonus bSpeedAddRate,2;
+ bonus bDef2, 3;
+ ">
+},
+{
+ Id: 1819
+ AegisName: "Slippers"
+ Name: "Slippers"
+ Type: "IT_ARMOR"
+ Buy: 2600
+ Sell: 1000
+ Weight: 20
+ Def: 1
+ Loc: "EQP_SHOES"
+ EquipLv: 30
+ Refine: false
+ Script: <"
+ bonus bMaxHP,10;
+ addtoskill(TMW2_SPEECH, 1, 2);
+ ">
+},
+
+// Gloves
+{
+ Id: 2000
+ AegisName: "Armbands"
+ Name: "Armbands"
+ Type: "IT_ARMOR"
+ Buy: 400
+ Sell: 120
+ Weight: 10
+ Def: 3
+ Loc: "EQP_GARMENT"
+ EquipLv: 30
+ Refine: false
+ Script: <"
+ bonus bMatk,10;
+ bonus bMaxSP,10;
+ bonus bSPrecovRate,8;
+ ">
+},
+{
+ Id: 2001
+ AegisName: "CopperArmbands"
+ Name: "Copper Armbands"
+ Type: "IT_ARMOR"
+ Buy: 4000
+ Sell: 800
+ Weight: 20
+ Def: 5
+ Loc: "EQP_GARMENT"
+ EquipLv: 50
+ Refine: false
+ Script: <"
+ bonus bMatk,15;
+ bonus bMaxSP,20;
+ bonus bSPrecovRate,10;
+ ">
+},
+{
+ Id: 2002
+ AegisName: "IronArmbands"
+ Name: "Iron Armbands"
+ Type: "IT_ARMOR"
+ Buy: 7500
+ Sell: 940
+ Weight: 30
+ Def: 8
+ Loc: "EQP_GARMENT"
+ EquipLv: 70
+ Refine: false
+ Script: <"
+ bonus bMatk,20;
+ bonus bMaxSP,30;
+ bonus bSPrecovRate,12;
+ ">
+},
+{
+ Id: 2003
+ AegisName: "SarabArmlet"
+ Name: "Sarab Armlet"
+ Type: "IT_ARMOR"
+ Buy: 75000
+ Sell: 940
+ Weight: 30
+ Def: 11
+ Loc: "EQP_GARMENT"
+ EquipLv: 93
+ Refine: false
+ Script: <"
+ bonus bMatk,40;
+ bonus bMaxSP,40;
+ bonus bSPrecovRate,15;
+ ">
+},
+{
+ Id: 2004
+ AegisName: "CreasedGloves"
+ Name: "Creased Gloves"
+ Type: "IT_ARMOR"
+ Buy: 200
+ Sell: 1
+ Weight: 40
+ Def: 1
+ Loc: "EQP_GARMENT"
+ EquipLv: 2
+ Refine: false
+},
+{
+ Id: 2005
+ AegisName: "CottonGloves"
+ Name: "Cotton Gloves"
+ Type: "IT_ARMOR"
+ Buy: 900
+ Sell: 300
+ Weight: 60
+ Def: 3
+ Slots: 1
+ Loc: "EQP_GARMENT"
+ EquipLv: 14
+ Refine: false
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMatk,10;
+ bonus bMaxSP,10;
+ bonus bSPrecovRate,10;
+ ">
+},
+{
+ Id: 2006
+ AegisName: "MinerGloves"
+ Name: "Miner Gloves"
+ Type: "IT_ARMOR"
+ Buy: 400
+ Sell: 190
+ Weight: 180
+ Def: 5
+ Loc: "EQP_GARMENT"
+ EquipLv: 28
+ Refine: false
+ Script: <"
+ bonus bAspd,5;
+ ">
+},
+{
+ Id: 2007
+ AegisName: "SilkGloves"
+ Name: "Silk Gloves"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 1
+ Def: 3
+ Loc: "EQP_GARMENT"
+ EquipLv: 24
+ Refine: false
+ Script: <"
+ bonus bMatk,12;
+ bonus bMaxSP,10;
+ bonus bSPrecovRate,10;
+ ">
+},
+{
+ Id: 2008
+ AegisName: "LeatherGloves"
+ Name: "Leather Gloves"
+ Type: "IT_ARMOR"
+ Buy: 2500
+ Sell: 450
+ Weight: 140
+ Def: 8
+ Slots: 2
+ Loc: "EQP_GARMENT"
+ EquipLv: 40
+ Refine: false
+ AllowCards: {
+ id5030: 2
+ }
+ Script: <"
+ bonus bAspd,8;
+ ">
+},
+{
+ Id: 2009
+ AegisName: "ForestGloves"
+ Name: "Forest Gloves"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 1
+ Def: 13
+ Loc: "EQP_GARMENT"
+ EquipLv: 59
+ Refine: false
+ Script: <"
+ bonus bAspd,11;
+ ">
+},
+{
+ Id: 2010
+ AegisName: "BromenalGloves"
+ Name: "Bromenal Gloves"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 1
+ Def: 15
+ Loc: "EQP_GARMENT"
+ EquipLv: 66
+ Refine: false
+ Script: <"
+ bonus bAspd,13;
+ ">
+},
+{
+ Id: 2011
+ AegisName: "GoldenArmbands"
+ Name: "Golden Armbands"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 1
+ Def: 11
+ Loc: "EQP_GARMENT"
+ EquipLv: 90
+ Refine: false
+ Script: <"
+ bonus bMatk, 25;
+ bonus bMdef, 10;
+ bonus bMaxSP,30;
+ bonus bSPrecovRate,15;
+ ">
+},
+{
+ Id: 2012
+ AegisName: "WarlordGloves"
+ Name: "Warlord Gloves"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 1
+ Def: 21
+ Loc: "EQP_GARMENT"
+ EquipLv: 90
+ Refine: false
+ Script: <"
+ bonus bAspd,18;
+ ">
+},
+{
+ Id: 2013
+ AegisName: "ManaGloves"
+ Name: "Mana Gloves"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 1
+ Def: 18
+ Loc: "EQP_GARMENT"
+ EquipLv: 77
+ Refine: false
+ Script: <"
+ bonus bMaxSP,200;
+ ">
+},
+{
+ Id: 2014
+ AegisName: "TerraniteGloves"
+ Name: "Terranite Gloves"
+ Type: "IT_ARMOR"
+ Buy: 10000
+ Sell:1000
+ Weight: 200
+ Def: 18
+ Loc: "EQP_GARMENT"
+ EquipLv: 78
+ Refine: false
+ Script: <"
+ bonus bAspd,15;
+ bonus bMdef,9;
+ ">
+},
+{
+ Id: 2015
+ AegisName: "AssassinGloves"
+ Name: "Assassin Gloves"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 1
+ Def: 24
+ Loc: "EQP_GARMENT"
+ EquipLv: 83
+ Refine: false
+ Script: <"
+ bonus bAspd,16;
+ ">
+},
+{
+ Id: 2016
+ AegisName: "CandorGloves"
+ Name: "Candor Gloves"
+ Type: "IT_ARMOR"
+ Buy: 200
+ Sell: 100
+ Weight: 45
+ Def: 2
+ Loc: "EQP_GARMENT"
+ EquipLv: 4
+ Refine: false
+ Script: <"
+ bonus bAspd,1;
+ ">
+},
+// Leggings (Pants or Shorts)
+{
+ Id: 2200
+ AegisName: "CreasedShorts"
+ Name: "Creased Shorts"
+ Type: "IT_ARMOR"
+ Buy: 60
+ Sell: 15
+ Weight: 20
+ Def: 1
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 1
+ Refine: false
+},
+{
+ Id: 2201
+ AegisName: "RaidTrousers"
+ Name: "Raid Trousers"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 250
+ Weight: 35
+ Def: 10
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 36
+ Refine: false
+ Script: <"
+ bonus bMaxHP,26;
+ bonus bDef2, 4;
+ bonus bAddMaxWeight,300;
+ bonus bDoubleAddRate,5;
+ ">
+},
+{
+ Id: 2202
+ AegisName: "AssassinPants"
+ Name: "Assassin Pants"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 250
+ Weight: 35
+ Def: 29
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 85
+ Refine: false
+ Script: <"
+ bonus bMaxHP,112;
+ bonus bDef2, 8;
+ ">
+},
+{
+ Id: 2203
+ AegisName: "BromenalPants"
+ Name: "Bromenal Pants"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 250
+ Weight: 435
+ Def: 22
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 70
+ Refine: false
+ Script: <"
+ bonus bMaxHP,80;
+ bonus bDef2, 7;
+ ">
+},
+{
+ Id: 2204
+ AegisName: "JeansChaps"
+ Name: "Jeans Chaps"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 250
+ Weight: 65
+ Def: 18
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 56
+ Refine: false
+ Script: <"
+ bonus bMaxHP,55;
+ bonus bDef2, 6;
+ ">
+},
+{
+ Id: 2205
+ AegisName: "CottonShorts"
+ Name: "Cotton Shorts"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 250
+ Weight: 55
+ Def: 3
+ Slots: 1
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 13
+ Refine: false
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxHP,6;
+ bonus bDef2, 1;
+ ">
+},
+{
+ Id: 2206
+ AegisName: "MiniSkirt"
+ Name: "Mini Skirt"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 250
+ Weight: 14
+ Def: 3
+ Slots: 1
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 15
+ Refine: false
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxHP,7;
+ bonus bDef2, 1;
+ ">
+},
+{
+ Id: 2207
+ AegisName: "CottonTrousers"
+ Name: "Cotton Trousers"
+ Type: "IT_ARMOR"
+ Buy: 12000
+ Sell: 2500
+ Weight: 25
+ Def: 10
+ Slots: 1
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 36
+ Refine: false
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxHP,26;
+ bonus bDef2, 4;
+ ">
+},
+{
+ Id: 2208
+ AegisName: "SilkPants"
+ Name: "Silk Pants"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 250
+ Weight: 16
+ Def: 18
+ Slots: 1
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 59
+ Refine: false
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxSP,30;
+ bonus bDef2,-1;
+ ">
+},
+{
+ Id: 2209
+ AegisName: "CottonSkirt"
+ Name: "Cotton Skirt"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 250
+ Weight: 19
+ Def: 3
+ Slots: 1
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 15
+ Refine: false
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxHP,7;
+ bonus bDef2, 2;
+ ">
+},
+{
+ Id: 2210
+ AegisName: "TerranitePants"
+ Name: "Terranite Pants"
+ Type: "IT_ARMOR"
+ Buy: 12000
+ Sell: 2500
+ Weight: 650
+ Def: 27
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 81
+ Refine: false
+ Script: <"
+ bonus bMaxHP,102;
+ bonus bMdef, 14;
+ bonus bDef2, 8;
+ ">
+},
+{
+ Id: 2211
+ AegisName: "ChainmailSkirt"
+ Name: "Chainmail Skirt"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 250
+ Weight: 280
+ Def: 20
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 64
+ Refine: false
+ Script: <"
+ bonus bMaxHP,68;
+ bonus bDef2, 6;
+ ">
+},
+{
+ Id: 2212
+ AegisName: "JeansShorts"
+ Name: "Jeans Shorts"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 400
+ Weight: 280
+ Def: 6
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 25
+ Refine: false
+ Script: <"
+ bonus bMaxHP,15;
+ bonus bDef2, 3;
+ ">
+},
+{
+ Id: 2213
+ AegisName: "LeatherTrousers"
+ Name: "Leather Trousers"
+ Type: "IT_ARMOR"
+ Buy: 12000
+ Sell: 1250
+ Weight: 280
+ Def: 14
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 48
+ Refine: false
+ Script: <"
+ bonus bMaxHP,42;
+ bonus bDef2, 5;
+ ">
+},
+{
+ Id: 2214
+ AegisName: "BanditPants"
+ Name: "Bandit Pants"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 250
+ Weight: 280
+ Def: 13
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 45
+ Refine: false
+ Script: <"
+ bonus bMaxHP,38;
+ bonus bDef2, 5;
+ ">
+},
+{
+ Id: 2215
+ AegisName: "WarlordPants"
+ Name: "Warlord Pants"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 250
+ Weight: 280
+ Def: 24
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 75
+ Refine: false
+ Script: <"
+ bonus bMaxHP,90;
+ bonus bDef2, 8;
+ ">
+},
+{
+ Id: 2216
+ AegisName: "SaviorPants"
+ Name: "Savior Pants"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 250
+ Weight: 280
+ Def: 39
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 108
+ Refine: true
+ Script: <"
+ bonus bMaxHP,180;
+ bonus bDef2, 10;
+ bonus bMdef, 4;
+ ">
+},
+{
+ Id: 2217
+ AegisName: "CandorShorts"
+ Name: "Candor Shorts"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 200
+ Weight: 32
+ Def: 2
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 4
+ Refine: false
+ Script: <"
+ bonus bMaxHP,1;
+ ">
+},
+{
+ Id: 2218
+ AegisName: "PirateShorts"
+ Name: "Pirate Shorts"
+ Type: "IT_ARMOR"
+ Buy: 12000
+ Sell: 4500
+ Weight: 195
+ Def: 5
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 20
+ Refine: false
+ Script: <"
+ bonus bMaxHP,11;
+ bonus bFleeRate,1;
+ bonus bDef2, 2;
+ ">
+},
+{
+ Id: 2219
+ AegisName: "FarmerPants"
+ Name: "Farmer Pants"
+ Type: "IT_ARMOR"
+ Buy: 1500
+ Sell: 500
+ Weight: 340
+ Def: 5
+ Slots: 1
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 21
+ Refine: false
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxHP,12;
+ bonus bDef2, 2;
+ ">
+},
+{
+ Id: 2220
+ AegisName: "LuffyxSummerShorts"
+ Name: "Luffyx Summer Shorts"
+ Type: "IT_ARMOR"
+ Buy: 11200
+ Sell: 1400
+ Weight: 310
+ Def: 8
+ Loc: "EQP_HEAD_LOW"
+ EquipLv: 31
+ Refine: false
+ Script: <"
+ bonus bMaxHP,21;
+ bonus bStr,1;
+ if ($@SEASON == SUMMER) {
+ bonus bDef,20;
+ bonus2 bExpAddRace,RC_All,5;
+ //bonus2 bExpAddRace,RC_Brute,20;
+ //bonus2 bExpAddRace,RC_Formless,20;
+ }
+ bonus bDef2, 3;
+ ">
+},
+
+// Rings
+{
+ Id: 2500
+ AegisName: "WeddingRing"
+ Name: "Wedding Ring"
+ Type: "IT_ARMOR"
+ Buy: 2000
+ Sell: 400
+ Weight: 1
+ Def: 1
+ Loc: 2048
+ EquipLv: 1
+ Refine: false
+ Script: <"
+ if (getpartnerid()) {
+ skill WE_MALE,1;
+ skill WE_FEMALE,1;
+ bonus bMaxHP,5;
+ }
+ ">
+},
+{
+ Id: 2501
+ AegisName: "GoldenRing"
+ Name: "Golden Ring"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 250
+ Weight: 80
+ Def: 4
+ Loc: 2048
+ EquipLv: 40
+ Refine: false
+ Slots: 1
+ AllowCards: {
+ id5031: 1
+ id5032: 1
+ id5033: 1
+ id5034: 1
+ id5035: 1
+ id5036: 1
+ }
+},
+{
+ Id: 2508
+ AegisName: "GoldenPearlRing"
+ Name: "Golden Pearl Ring"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 250
+ Weight: 1
+ Def: 0
+ Loc: 2048
+ EquipLv: 25
+ Refine: false
+ Script: <"
+ bonus bAgi,1;
+ bonus bInt,1;
+ bonus bDex,1;
+ ">
+},
+{
+ Id: 2509
+ AegisName: "GoldenBlackPearlRing"
+ Name: "Golden Black Pearl Ring"
+ Type: "IT_ARMOR"
+ Buy: 10000
+ Sell: 5000
+ Weight: 1
+ Def: 0
+ Loc: 2048
+ EquipLv: 25
+ Refine: false
+ Script: <"
+ bonus bStr,1;
+ bonus bVit,1;
+ bonus bLuk,1;
+ ">
+},
+{
+ Id: 2510
+ AegisName: "ThetaRing"
+ Name: "Theta Ring"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 250
+ Weight: 1
+ Def: 1
+ Loc: 2048
+ EquipLv: 4
+ Refine: false
+ Script: <"
+ bonus bMaxSP,15;
+ bonus bSPrecovRate,10;
+ ">
+},
+{
+ Id: 2511
+ AegisName: "LightRing"
+ Name: "Light Ring"
+ Type: "IT_ARMOR"
+ Buy: 1200
+ Sell: 250
+ Weight: 1
+ Def: 4
+ Loc: 2048
+ EquipLv: 4
+ Refine: false
+ Script: <"
+ bonus bHPrecovRate,20;
+ bonus bSPrecovRate,5;
+ ">
+},
+{
+ Id: 2512
+ AegisName: "SilverRing"
+ Name: "Silver Ring"
+ Type: "IT_ARMOR"
+ Buy: 50000
+ Sell: 4000
+ Weight: 260
+ Def: 2
+ Loc: 2048
+ EquipLv: 20
+ Refine: false
+ Slots: 1
+ AllowCards: {
+ id5031: 1
+ id5032: 1
+ id5033: 1
+ id5034: 1
+ id5035: 1
+ id5036: 1
+ }
+},
+// Shields
+{
+ Id: 2700
+ AegisName: "Barrel"
+ Name: "Barrel"
+ Type: "IT_ARMOR"
+ Buy: 150
+ Sell: 50
+ Weight: 400
+ Def: 20
+ Loc: "EQP_HAND_L"
+ EquipLv: 4
+ Refine: false
+ Script: <"
+ bonus bMaxHP,200;
+ bonus bSPrecovRate,-12;
+ bonus bFleeRate, -25;
+ bonus2 bHPRegenRate, 50, 1500;
+ bonus bCriticalDef, 50;
+ ">
+},
+{
+ Id: 2701
+ AegisName: "LeatherShield"
+ Name: "Leather Shield"
+ Type: "IT_ARMOR"
+ Buy: 5000
+ Sell: 800
+ Weight: 410
+ Def: 10
+ Loc: "EQP_HAND_L"
+ EquipLv: 18
+ Refine: true
+ Script: <"
+ bonus bMaxHP,33;
+ bonus bSPrecovRate,-1;
+ bonus bFleeRate, -3;
+ bonus2 bHPRegenRate, 6, 1500;
+ bonus bCriticalDef, 6;
+ bonus bFlee2,1;
+ bonus bDef2,3;
+ ">
+},
+{
+ Id: 2702
+ AegisName: "BladeShield"
+ Name: "Blade Shield"
+ Type: "IT_ARMOR"
+ Buy: 30000
+ Sell: 5000
+ Weight: 1980
+ Def: 24
+ Loc: "EQP_HAND_L"
+ EquipLv: 36
+ Refine: true
+ Script: <"
+ bonus bSPrecovRate,-3;
+ bonus bFleeRate, -6;
+ bonus2 bHPRegenRate, 12, 1500;
+ bonus bCriticalDef, 12;
+ bonus bFlee2,3;
+ bonus bDef2,7;
+ // Blade Shield's Special
+ bonus bAtkRate,5;
+ ">
+},
+{
+ Id: 2703
+ AegisName: "BlueKnightShield"
+ Name: "Blue Knight Shield"
+ Type: "IT_ARMOR"
+ Buy: 55000
+ Sell: 16000
+ Weight: 2400
+ Def: 56
+ Loc: "EQP_HAND_L"
+ EquipLv: 70
+ Refine: true
+ Script: <"
+ bonus bMaxHP,280;
+ bonus bSPrecovRate,-6;
+ bonus bFleeRate, -9;
+ bonus bSpeedAddRate, -3;
+ bonus2 bHPRegenRate, 23, 1500;
+ bonus bCriticalDef, 23;
+ bonus bFlee2,7;
+ bonus bDef2,14;
+ ">
+},
+{
+ Id: 2704
+ AegisName: "BritShield"
+ Name: "Brit Shield"
+ Type: "IT_ARMOR"
+ Buy: 40000
+ Sell: 12500
+ Weight: 2240
+ Def: 37
+ Loc: "EQP_HAND_L"
+ EquipLv: 50
+ Refine: true
+ Script: <"
+ bonus bMaxHP,160;
+ bonus bSPrecovRate,-4;
+ bonus bFleeRate, -9;
+ bonus2 bHPRegenRate, 17, 1500;
+ bonus bCriticalDef, 17;
+ bonus bFlee2,5;
+ bonus bDef2,10;
+ ">
+},
+{
+ Id: 2705
+ AegisName: "SaviorShield"
+ Name: "Savior Shield"
+ Type: "IT_ARMOR"
+ Buy: 200000
+ Sell: 20000
+ Weight: 2710
+ Def: 90
+ Loc: "EQP_HAND_L"
+ EquipLv: 102
+ Refine: true
+ Script: <"
+ bonus bMaxHP,540;
+ bonus bSPrecovRate,-8;
+ bonus bFleeRate, -9;
+ bonus bSpeedAddRate, -8;
+ bonus2 bHPRegenRate, 34, 1500;
+ bonus bCriticalDef, 34;
+ bonus bFlee2,10;
+ bonus bDef2,20;
+ bonus bMdef, 4;
+ ">
+},
+{
+ Id: 2706
+ AegisName: "BromenalShield"
+ Name: "Bromenal Shield"
+ Type: "IT_ARMOR"
+ Buy: 45000
+ Sell: 15000
+ Weight: 2900
+ Def: 46
+ Loc: "EQP_HAND_L"
+ EquipLv: 60
+ Refine: true
+ Script: <"
+ bonus bMaxHP,215;
+ bonus bSPrecovRate,-5;
+ bonus bFleeRate, -9;
+ bonus bSpeedAddRate, -1;
+ bonus2 bHPRegenRate, 20, 1500;
+ bonus bCriticalDef, 20;
+ bonus bFlee2,6;
+ bonus bDef2,12;
+ ">
+},
+{
+ Id: 2707
+ AegisName: "RoundLeatherShield"
+ Name: "Round Leather Shield"
+ Type: "IT_ARMOR"
+ Buy: 500
+ Sell: 100
+ Weight: 90
+ Def: 4
+ Loc: "EQP_HAND_L"
+ EquipLv: 9
+ Refine: true
+ Script: <"
+ bonus bMaxHP,13;
+ bonus bSPrecovRate,-1;
+ bonus bFleeRate, -2;
+ bonus2 bHPRegenRate, 3, 1500;
+ bonus bCriticalDef, 3;
+ bonus bDef2,2;
+ ">
+},
+{
+ Id: 2708
+ AegisName: "AncientShield"
+ Name: "Ancient Shield"
+ Type: "IT_ARMOR"
+ Buy: 50000
+ Sell: 18600
+ Weight: 6500
+ Def: 46
+ Loc: "EQP_HAND_L"
+ EquipLv: 60
+ Refine: true
+ Script: <"
+ bonus bMaxHP,215;
+ bonus bSPrecovRate,-4;
+ bonus bFleeRate, -8;
+ bonus2 bHPRegenRate, 12, 1500;
+ bonus bCriticalDef, 12;
+ bonus bFlee2,6;
+ bonus bDef2,12;
+ ">
+},
+{
+ Id: 2709
+ AegisName: "BraknarShield"
+ Name: "Braknar Shield"
+ Type: "IT_ARMOR"
+ Buy: 35000
+ Sell: 11000
+ Weight: 2360
+ Def: 31
+ Loc: "EQP_HAND_L"
+ EquipLv: 44
+ Refine: true
+ Script: <"
+ bonus bMaxHP,130;
+ bonus bSPrecovRate,-4;
+ bonus bFleeRate, -8;
+ bonus2 bHPRegenRate, 15, 1500;
+ bonus bCriticalDef, 15;
+ bonus bFlee2,4;
+ bonus bDef2,9;
+ ">
+},
+{
+ Id: 2710
+ AegisName: "WoodenShield"
+ Name: "Wooden Shield"
+ Type: "IT_ARMOR"
+ Buy: 20000
+ Sell: 2250
+ Weight: 1650
+ Def: 17
+ Loc: "EQP_HAND_L"
+ EquipLv: 27
+ Refine: true
+ Script: <"
+ bonus bMaxHP,60;
+ bonus bSPrecovRate,-2;
+ bonus bFleeRate, -5;
+ bonus2 bHPRegenRate, 9, 1500;
+ bonus bCriticalDef, 9;
+ bonus bFlee2,2;
+ bonus bDef2,5;
+ ">
+},
+{
+ Id: 2711
+ AegisName: "SteelShield"
+ Name: "Steel Shield"
+ Type: "IT_ARMOR"
+ Buy: 100000
+ Sell: 18000
+ Weight: 2500
+ Def: 66
+ Loc: "EQP_HAND_L"
+ EquipLv: 80
+ Refine: true
+ Script: <"
+ bonus bMaxHP,352;
+ bonus bSPrecovRate,-7;
+ bonus bFleeRate, -9;
+ bonus bSpeedAddRate, -5;
+ bonus2 bHPRegenRate, 27, 1500;
+ bonus bCriticalDef, 27;
+ bonus bFlee2,8;
+ bonus bDef2,16;
+ ">
+},
+{
+ Id: 2712
+ AegisName: "DragonShield"
+ Name: "Dragon Shield"
+ Type: "IT_ARMOR"
+ Buy: 100000
+ Sell: 18000
+ Weight: 2500
+ Def: 79
+ Loc: "EQP_HAND_L"
+ EquipLv: 92
+ Refine: true
+ Script: <"
+ bonus bMaxHP,450;
+ bonus bSPrecovRate,-8;
+ bonus bFleeRate, -9;
+ bonus bSpeedAddRate, -7;
+ bonus2 bHPRegenRate, 31, 1500;
+ bonus bCriticalDef, 31;
+ bonus bFlee2,9;
+ bonus bDef2,18;
+ ">
+},
+{
+ Id: 2713
+ AegisName: "KidBola"
+ Name: "Kid Bola"
+ Type: "IT_ARMOR"
+ Buy: 100000
+ Sell: 800
+ Weight: 95
+ Def: 8
+ Loc: "EQP_HAND_L"
+ EquipLv: 15
+ Refine: false
+},
+{
+ Id: 2714
+ AegisName: "CandorBola"
+ Name: "Candor Bola"
+ Type: "IT_ARMOR"
+ Buy: 100000
+ Sell: 1400
+ Weight: 100
+ Def: 12
+ Loc: "EQP_HAND_L"
+ EquipLv: 20
+ Refine: false
+},
+{
+ Id: 2715
+ AegisName: "PurpleBola"
+ Name: "Purple Bola"
+ Type: "IT_ARMOR"
+ Buy: 100000
+ Sell: 1800
+ Weight: 100
+ Def: 15
+ Loc: "EQP_HAND_L"
+ EquipLv: 25
+ Refine: false
+},
+{
+ Id: 2716
+ AegisName: "TulimsharBola"
+ Name: "Tulimshar Bola"
+ Type: "IT_ARMOR"
+ Buy: 100000
+ Sell: 2400
+ Weight: 100
+ Def: 19
+ Loc: "EQP_HAND_L"
+ EquipLv: 30
+ Refine: false
+},
+{
+ Id: 2717
+ AegisName: "SnakeBola"
+ Name: "Snake Bola"
+ Type: "IT_ARMOR"
+ Buy: 100000
+ Sell: 3000
+ Weight: 110
+ Def: 23
+ Loc: "EQP_HAND_L"
+ EquipLv: 35
+ Refine: false
+},
+{
+ Id: 2718
+ AegisName: "PiouBola"
+ Name: "Piou Bola"
+ Type: "IT_ARMOR"
+ Buy: 100000
+ Sell: 4000
+ Weight: 120
+ Def: 28
+ Loc: "EQP_HAND_L"
+ EquipLv: 40
+ Refine: false
+},
+{
+ Id: 2719
+ AegisName: "MasterBola"
+ Name: "Master Bola"
+ Type: "IT_ARMOR"
+ Buy: 100000
+ Sell: 5000
+ Weight: 130
+ Def: 32
+ Loc: "EQP_HAND_L"
+ EquipLv: 45
+ Refine: false
+},
+{
+ Id: 2720
+ AegisName: "EnchantedHerbBag"
+ Name: "Enchanted Herb Bag"
+ Type: "IT_ARMOR"
+ Buy: 5000
+ Sell: 800
+ Weight: 180
+ Def: 0
+ Loc: "EQP_HAND_L"
+ EquipLv: 1
+ Refine: false
+ Script: <"
+ bonus2 bAddMonsterDropChainItem,ITMCHAIN_HERB,RC_Plant;
+ ">
+},
+
+// <!-- Head Gear -->
+{
+ Id: 2900
+ AegisName: "Bandana"
+ Name: "Bandana"
+ Type: "IT_ARMOR"
+ Buy: 950
+ Sell: 220
+ Weight: 35
+ Def: 2
+ Slots: 1
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 12
+ Refine: false
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxHP,8;
+ bonus bDef2, 1;
+ ">
+},
+{
+ Id: 2901
+ AegisName: "PumpkinHat"
+ Name: "Pumpkin Hat"
+ Type: "IT_ARMOR"
+ Buy: 320
+ Sell: 100
+ Weight: 50
+ Def: 1
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 4
+ Refine: false
+ Script: <"
+ bonus bMaxHP,1;
+ ">
+},
+{
+ Id: 2902
+ AegisName: "FancyHat"
+ Name: "Fancy Hat"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 400
+ Weight: 85
+ Def: 4
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 19
+ Refine: false
+ Script: <"
+ bonus bMaxSP,5;
+ ">
+},
+{
+ Id: 2903
+ AegisName: "BrimmedHat"
+ Name: "Brimmed Hat"
+ Type: "IT_ARMOR"
+ Buy: 1000
+ Sell: 240
+ Weight: 20
+ Def: 9
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 33
+ Refine: false
+ Script: <"
+ bonus bMaxHP,35;
+ bonus bDef2, 3;
+ bonus bNearAtkDef, 5;
+ ">
+},
+{
+ Id: 2904
+ AegisName: "BrimmedFeatherHat"
+ Name: "Brimmed Feather Hat"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 23
+ Def: 9
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 34
+ Refine: false
+ Script: <"
+ bonus bMaxHP,36;
+ bonus bDef2, 3;
+ bonus bNearAtkDef, 5;
+ ">
+},
+{
+ Id: 2905
+ AegisName: "BrimmedFlowerHat"
+ Name: "Brimmed Flower Hat"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 22
+ Def: 9
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 34
+ Refine: false
+ Script: <"
+ bonus bMaxHP,36;
+ bonus bDef2, 3;
+ bonus bNearAtkDef, 5;
+ ">
+},
+{
+ Id: 2906
+ AegisName: "BullHelmet"
+ Name: "Bull Helmet"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 220
+ Def: 46
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 90
+ Refine: true
+ Script: <"
+ bonus bMaxHP,247;
+ bonus bSpeedAddRate, -6;
+ bonus bDef2, 18;
+ ">
+},
+{
+ Id: 2907
+ AegisName: "DarkHelm"
+ Name: "Dark Helm"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 1300
+ Def: 31
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 90
+ Refine: true
+ Script: <"
+ bonus bMaxHP,185;
+ bonus bDef2, 9;
+ ">
+},
+{
+ Id: 2908
+ AegisName: "FunkyHat"
+ Name: "Funky Hat"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 50
+ Def: 8
+ Slots: 1
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 30
+ Refine: false
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxHP,30;
+ bonus bDef2, 3;
+ ">
+},
+{
+ Id: 2909
+ AegisName: "CrusadeHelmet"
+ Name: "Crusade Helmet"
+ Type: "IT_ARMOR"
+ Buy: 320
+ Sell: 100
+ Weight: 1450
+ Def: 25
+ Slots: 1
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 55
+ Refine: true
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxHP,106;
+ bonus bSpeedAddRate, -2;
+ bonus bDef2, 11;
+ ">
+},
+{
+ Id: 2910
+ AegisName: "Bucket"
+ Name: "Bucket"
+ Type: "IT_ARMOR"
+ Buy: 8600
+ Sell: 450
+ Weight: 880
+ Def: 10
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 36
+ Refine: true
+ Script: <"
+ bonus bMaxHP,40;
+ bonus bDef2, 4;
+ ">
+},
+{
+ Id: 2911
+ AegisName: "InfantryHelmet"
+ Name: "Infantry Helmet"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 622
+ Def: 12
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 30
+ Refine: true
+ Script: <"
+ bonus bMaxHP,40;
+ bonus bSpeedAddRate, -2;
+ bonus bDef2, 6;
+ ">
+},
+{
+ Id: 2912
+ AegisName: "BunnyEars"
+ Name: "Bunny Ears"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 10
+ Def: 0
+ Slots: 1
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 2
+ Refine: false
+ //DropAnnounce: true
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+},
+{
+ Id: 2913
+ AegisName: "MoubooHat"
+ Name: "Mouboo Hat"
+ Type: "IT_ARMOR"
+ Buy: 16000
+ Sell: 1000
+ Weight: 380
+ Def: 9
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 35
+ Refine: false
+ Script: <"
+ bonus bMaxHP,150;
+ bonus bDef2, 3;
+ ">
+},
+{
+ Id: 2914
+ AegisName: "BromenalHelmet"
+ Name: "Bromenal Helmet"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 900
+ Def: 13
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 45
+ Refine: true
+ Script: <"
+ bonus bMaxHP,57;
+ bonus bDef2, 5;
+ ">
+},
+{
+ Id: 2915
+ AegisName: "CandleHelmet"
+ Name: "Candle Helmet"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 22
+ Def: 15
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 50
+ Refine: true
+ Script: <"
+ bonus bMaxHP,68;
+ bonus bDef2, 5;
+ ">
+},
+{
+ Id: 2916
+ AegisName: "DesertHelmet"
+ Name: "Desert Helmet"
+ Type: "IT_ARMOR"
+ Buy: 160000
+ Sell: 10000
+ Weight: 480
+ Def: 11
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 40
+ Refine: true
+ Script: <"
+ bonus bMaxHP,47;
+ bonus bDef2, 4;
+ ">
+},
+{
+ Id: 2917
+ AegisName: "DesertHat"
+ Name: "Desert Hat"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 600
+ Weight: 22
+ Def: 6
+ Slots: 1
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 25
+ Refine: false
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxHP,23;
+ bonus bDef2, 2;
+ ">
+},
+{
+ Id: 2918
+ AegisName: "BlueEggshellHat"
+ Name: "Blue Eggshell Hat"
+ Type: "IT_ARMOR"
+ Buy: 16000
+ Sell: 3000
+ Weight: 460
+ Def: 5
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 21
+ Refine: false
+ Script: <"
+ bonus bMaxHP,17;
+ if ($EVENT$ == "Easter") {
+ bonus bDef,10;
+ }
+ bonus bDef2, 2;
+ ">
+},
+{
+ Id: 2919
+ AegisName: "PrsmHelmet"
+ Name: "Prsm Helmet"
+ Type: "IT_ARMOR"
+ Buy: 16000
+ Sell: 3000
+ Weight: 22
+ Def: 18
+ Slots: 1
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 60
+ Refine: true
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxHP,92;
+ bonus bSpeedAddRate, 1;
+ bonus bDef2, 6;
+ bonus2 bExpAddRace,RC_All,3;
+ ">
+},
+{
+ Id: 2920
+ AegisName: "WarlordHelmet"
+ Name: "Warlord Helmet"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 400
+ Def: 31
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 65
+ Refine: true
+ Script: <"
+ bonus bMaxHP,141;
+ bonus bSpeedAddRate, -4;
+ bonus bDef2, 13;
+ ">
+},
+{
+ Id: 2921
+ AegisName: "TrapperHat"
+ Name: "Trapper Hat"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 22
+ Def: 14
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 48
+ Refine: false
+ Script: <"
+ bonus bMaxHP,64;
+ bonus bDef2, 5;
+ ">
+},
+{
+ Id: 2922
+ AegisName: "YetiMask"
+ Name: "Yeti Mask"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 22
+ Def: 12
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 43
+ Refine: false
+ Script: <"
+ bonus bMaxHP,53;
+ bonus bDef2, 4;
+ ">
+},
+{
+ Id: 2923
+ AegisName: "AntlersHat"
+ Name: "Antlers Hat"
+ Type: "IT_ARMOR"
+ Buy: 50000
+ Sell: 10000
+ Weight: 835
+ Def: 3
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 13
+ Refine: false
+ Script: <"
+ bonus bMaxHP,9;
+ bonus bStr,2;
+ bonus bDef2, 1;
+ ">
+},
+{
+ Id: 2924
+ AegisName: "DragonEggshell"
+ Name: "Dragon Eggshell"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 22
+ Def: 1
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 8
+ Refine: false
+ Script: <"
+ bonus bMaxHP,4;
+ bonus bDef2, 1;
+ ">
+},
+{
+ Id: 2925
+ AegisName: "OperaMask"
+ Name: "Opera Mask"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 22
+ Def: 1
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 8
+ Refine: false
+ Script: <"
+ bonus bMaxHP,4;
+ ">
+},
+{
+ Id: 2926
+ AegisName: "AxeHat"
+ Name: "Axe Hat"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 82
+ Def: 1
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 8
+ Refine: false
+ Script: <"
+ bonus bMaxHP,4;
+ ">
+},
+{
+ Id: 2927
+ AegisName: "DarkKnightHelmet"
+ Name: "Dark Knight Helmet"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 22
+ Def: 49
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 94
+ Refine: true
+ Script: <"
+ bonus bMaxHP,267;
+ bonus bSpeedAddRate, -7;
+ bonus bDef2, 19;
+ ">
+},
+{
+ Id: 2928
+ AegisName: "Earmuffs"
+ Name: "Earmuffs"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 22
+ Def: 10
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 37
+ Refine: false
+ Script: <"
+ bonus bMaxHP,42;
+ bonus bDef2, 4;
+ ">
+},
+{
+ Id: 2929
+ AegisName: "SamuraiHelmet"
+ Name: "Samurai Helmet"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 22
+ Def: 34
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 98
+ Refine: true
+ Script: <"
+ bonus bMaxHP,215;
+ bonus bDef2, 10;
+ ">
+},
+{
+ Id: 2930
+ AegisName: "PinkieHat"
+ Name: "Pinkie Hat"
+ Type: "IT_ARMOR"
+ Buy: 160000
+ Sell: 10000
+ Weight: 5
+ Def: 4
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 16
+ Refine: false
+ Script: <"
+ bonus bMaxHP,12;
+ bonus bDef2, 1;
+ ">
+},
+{
+ Id: 2931
+ AegisName: "SkullMask"
+ Name: "Skull Mask"
+ Type: "IT_ARMOR"
+ Buy: 16000
+ Sell: 3000
+ Weight: 150
+ Def: 15
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 50
+ Refine: false
+ Script: <"
+ bonus bMaxHP,68;
+ bonus bDef2, 5;
+ ">
+},
+{
+ Id: 2932
+ AegisName: "ImperialCrown"
+ Name: "Imperial Crown"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 22
+ Def: 18
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 60
+ Refine: false
+ Script: <"
+ bonus bMaxHP,92;
+ bonus bDef2, 6;
+ ">
+},
+{
+ Id: 2933
+ AegisName: "GMCap"
+ Name: "GM Cap"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 0
+ Def: 20
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 1
+ Refine: false
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Nouse: {
+ override: 60
+ }
+},
+{
+ Id: 2934
+ AegisName: "Cap"
+ Name: "Cap"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 22
+ Def: 1
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 8
+ Refine: false
+ Script: <"
+ bonus bMaxHP,4;
+ ">
+},
+{
+ Id: 2935
+ AegisName: "TopHat"
+ Name: "Top Hat"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 22
+ Def: 1
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 8
+ Refine: false
+ Script: <"
+ bonus bCastrate, 20;
+ bonus bFixedCastrate, 20;
+ bonus2 bAddGetZenyNum, -4, 10;
+ ">
+},
+{
+ Id: 2936
+ AegisName: "BowlerHat"
+ Name: "Bowler Hat"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 22
+ Def: 4
+ Slots: 1
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 19
+ Refine: false
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxHP,15;
+ bonus bDef2, 2;
+ ">
+},
+{
+ Id: 2937
+ AegisName: "ChefHat"
+ Name: "Chef Hat"
+ Type: "IT_ARMOR"
+ Buy: 16000
+ Sell: 3500
+ Weight: 185
+ Def: 14
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 45
+ Refine: false
+ Script: <"
+ bonus bMaxHP,58;
+ bonus bHPrecovRate,30;
+ bonus bSPrecovRate,30;
+ bonus bHealPower,20;
+ bonus bAddItemHealRate,10;
+ bonus bAtkRate,-45;
+ bonus bAtk2,-45;
+ bonus2 bResEff,Eff_Poison,1500;
+ ">
+ OnUnequipScript: <"
+ dispbottom "You feel bad for some strange reason.";
+ callfunc "SC_Bonus", 1+rand(4), SC_CURSE, 1;
+ ">
+},
+{
+ Id: 2938
+ AegisName: "CaptainCap"
+ Name: "Captain Cap"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 300
+ Weight: 22
+ Def: 1
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 8
+ Refine: false
+ Script: <"
+ bonus bMaxHP,4;
+ ">
+},
+{
+ Id: 2939
+ AegisName: "CandorHeadBand"
+ Name: "Candor Head Band"
+ Type: "IT_ARMOR"
+ Buy: 320
+ Sell: 110
+ Weight: 23
+ Def: 2
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 9
+ Refine: false
+ Script: <"
+ bonus bMaxHP,5;
+ bonus bDef2, 1;
+ ">
+},
+{
+ Id: 2940
+ AegisName: "GraduationCap"
+ Name: "Graduation Cap"
+ Type: "IT_ARMOR"
+ Buy: 3500
+ Sell: 1500
+ Weight: 35
+ Def: 11
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 40
+ Refine: false
+ Script: <"
+ bonus bMaxHP,40;
+ bonus bSPrecovRate,5;
+ ">
+},
+{
+ Id: 2941
+ AegisName: "VikingHelmet"
+ Name: "Viking Helmet"
+ Type: "IT_ARMOR"
+ Buy: 32000
+ Sell: 1000
+ Weight: 220
+ Def: 22
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 70
+ Refine: true
+ Script: <"
+ bonus bMaxHP,120;
+ bonus bDef2, 7;
+ ">
+},
+{
+ Id: 2942
+ AegisName: "CenturionHelmet"
+ Name: "Centurion Helmet"
+ Type: "IT_ARMOR"
+ Buy: 32000
+ Sell: 1000
+ Weight: 22
+ Def: 40
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 80
+ Refine: true
+ Script: <"
+ bonus bMaxHP,202;
+ bonus bSpeedAddRate, -4;
+ bonus bDef2, 16;
+ ">
+},
+{
+ Id: 2943
+ AegisName: "AlphaMoubooHat"
+ Name: "Alpha Mouboo Hat"
+ Type: "IT_ARMOR"
+ Buy: 32000
+ Sell: 10000
+ Weight: 300
+ Def: 20
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 65
+ Refine: false
+ Script: <"
+ bonus bMaxHP,300;
+ bonus bStr,1;
+ bonus bDex,1;
+ bonus bDef2, 6;
+ ">
+},
+{
+ Id: 2944
+ AegisName: "SailorHat"
+ Name: "Sailor Hat"
+ Type: "IT_ARMOR"
+ Buy: 32000
+ Sell: 1000
+ Weight: 22
+ Def: 11
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 40
+ Refine: false
+ Script: <"
+ bonus bMaxHP,47;
+ bonus2 bAddEle,Ele_Water,10;
+ bonus bDef2, 4;
+ ">
+},
+{
+ Id: 2945
+ AegisName: "CorsairHat"
+ Name: "Corsair Hat"
+ Type: "IT_ARMOR"
+ Buy: 32000
+ Sell: 1000
+ Weight: 22
+ Def: 10
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 38
+ Refine: false
+ Script: <"
+ bonus bMaxHP,43;
+ bonus bDef2, 4;
+ ">
+},
+{
+ Id: 2946
+ AegisName: "RightEyePatch"
+ Name: "Right Eye Patch"
+ Type: "IT_ARMOR"
+ Buy: 32000
+ Sell: 3500
+ Weight: 22
+ Def: 4
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 16
+ Refine: false
+ Script: <"
+ bonus bMaxHP,12;
+ bonus bDef2, 2;
+ ">
+},
+// IDs 2947~2982 moved to art/ repo
+{
+ Id: 2983
+ AegisName: "SerfHat"
+ Name: "Serf Hat"
+ Type: "IT_ARMOR"
+ Buy: 3200
+ Sell: 500
+ Weight: 420
+ Def: 3
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 15
+ Refine: false
+ Script: <"
+ bonus bMaxHP,10;
+ bonus bDef2, 1;
+ ">
+},
+{
+ Id: 2984
+ AegisName: "NPCEyes"
+ Name: "NPC Blinking Eyes"
+ Type: "IT_ARMOR"
+ Buy: 320000
+ Sell: 1
+ Weight: 200
+ Def: -100
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 150
+ Refine: false
+},
+{
+ Id: 2985
+ AegisName: "GreenEggshellHat"
+ Name: "Green Eggshell Hat"
+ Type: "IT_ARMOR"
+ Buy: 16000
+ Sell: 3000
+ Weight: 460
+ Def: 5
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 21
+ Refine: false
+ Script: <"
+ bonus bMaxHP,17;
+ if ($EVENT$ == "Easter") {
+ bonus bDef,10;
+ }
+ bonus bDef2, 2;
+ ">
+},
+{
+ Id: 2986
+ AegisName: "OrangeEggshellHat"
+ Name: "Orange Eggshell Hat"
+ Type: "IT_ARMOR"
+ Buy: 16000
+ Sell: 3000
+ Weight: 460
+ Def: 5
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 21
+ Refine: false
+ Script: <"
+ bonus bMaxHP,17;
+ if ($EVENT$ == "Easter") {
+ bonus bDef,10;
+ }
+ bonus bDef2, 2;
+ ">
+},
+{
+ Id: 2987
+ AegisName: "DarkEggshellHat"
+ Name: "Dark Eggshell Hat"
+ Type: "IT_ARMOR"
+ Buy: 160000
+ Sell: 10000
+ Weight: 460
+ Def: 8
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 30
+ Refine: false
+ //DropAnnounce: true
+ Script: <"
+ bonus bMaxHP,30;
+ if ($EVENT$ == "Easter") {
+ bonus bDef,15;
+ }
+ bonus bDef2, 2;
+ ">
+},
+{
+ Id: 2988
+ AegisName: "ADMINCap"
+ Name: "ADMIN Cap"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 0
+ Def: 20
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 1
+ Refine: false
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Nouse: {
+ override: 99
+ }
+ Script: <"
+ if (getgmlevel() < 99) {
+ logmes "Banning invalid use of Admin Cap", LOGMES_ATCOMMAND;
+ announce "Security violation at item.db.2988, Administrator help immediately required.", bc_all;
+ atcommand "@ban 1m "+strcharinfo(0);
+ delitem 2988, 1;
+ }
+ ">
+},
+{
+ Id: 2989
+ AegisName: "DEVCap"
+ Name: "DEV Cap"
+ Type: "IT_ARMOR"
+ Buy: 2
+ Sell: 1
+ Weight: 0
+ Def: 20
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 1
+ Refine: false
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 2990
+ AegisName: "MagicTopHat"
+ Name: "Magic Top Hat"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 1
+ Weight: 800
+ Def: 25
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 1
+ Refine: false
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ BindOnEquip: true
+ Script: <"
+ bonus bMaxHP,50000;
+ bonus bFleeRate,-80;
+ ">
+},
+{
+ Id: 2991
+ AegisName: "MinerHat"
+ Name: "Miner Hat"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 260
+ Weight: 245
+ Def: 7
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 29
+ Refine: true
+ Script: <"
+ bonus bMaxHP,28;
+ bonus bDef2, 3;
+ ">
+},
+{
+ Id: 2992
+ AegisName: "MurdererCrown"
+ Name: "Murderer Crown"
+ Type: "IT_ARMOR"
+ Buy: 16000
+ Sell: 1000
+ Weight: 250
+ Def: 2
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 10
+ Refine: false
+ Trade: {
+ nodrop: true
+ noselltonpc: true
+ }
+ Script: <"
+ bonus bMaxHP,6;
+ bonus bCriticalRate,50;
+ bonus2 bSubEle,Ele_Holy,-25;
+ bonus2 bSubEle,Ele_Dark,25;
+ bonus bDef2, 1;
+ ">
+},
+{
+ Id: 2993
+ AegisName: "FluffyHat"
+ Name: "Fluffy Hat"
+ Type: "IT_ARMOR"
+ Buy: 160000
+ Sell: 10000
+ Weight: 410
+ Def: 5
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 22
+ Refine: false
+ Script: <"
+ bonus bMaxHP,19;
+ bonus bDef2, 2;
+ ">
+},
+{
+ Id: 2994
+ AegisName: "PirateBandana"
+ Name: "Pirate Bandana"
+ Type: "IT_ARMOR"
+ Buy: 160000
+ Sell: 5000
+ Weight: 38
+ Def: 7
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 28
+ Refine: false
+ Script: <"
+ bonus bMaxHP,27;
+ bonus bDef2, 3;
+ ">
+},
+{
+ Id: 2995
+ AegisName: "PaperBag"
+ Name: "Paper Bag"
+ Type: "IT_ARMOR"
+ Buy: 160000
+ Sell: 5000
+ Weight: 12
+ Def: 8
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 30
+ Refine: false
+ Script: <"
+ bonus bMaxHP,30;
+ bonus bDef2, 3;
+ ">
+},
+{
+ Id: 2996
+ AegisName: "RiceHat"
+ Name: "Rice Hat"
+ Type: "IT_ARMOR"
+ Buy: 3
+ Sell: 1
+ Weight: 0
+ Def: 58
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 150
+ Refine: false
+ Script: <"
+ bonus bMaxHP,464;
+ bonus bDef2, 15;
+ ">
+},
+{
+ Id: 2997
+ AegisName: "FarmerHat"
+ Name: "Farmer Hat"
+ Type: "IT_ARMOR"
+ Buy: 1600
+ Sell: 500
+ Weight: 120
+ Def: 8
+ Slots: 1
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 30
+ Refine: false
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+ Script: <"
+ bonus bMaxHP,30;
+ bonus bStr,2;
+ bonus bDef2, 3;
+ ">
+},
+{
+ Id: 2998
+ AegisName: "BanditHat"
+ Name: "Bandit Hat"
+ Type: "IT_ARMOR"
+ Buy: 16000
+ Sell: 5000
+ Weight: 120
+ Def: 13
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 45
+ Refine: false
+ Script: <"
+ bonus bMaxHP,57;
+ bonus bDex,2;
+ bonus bDef2, 4;
+ ">
+},
+{
+ Id: 2999
+ AegisName: "FairyHat"
+ Name: "Sacred Forest Hat"
+ Type: "IT_ARMOR"
+ Buy: 3600
+ Sell: 900
+ Weight: 80
+ Def: 15
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 50
+ Refine: false
+ Script: <"
+ bonus bMaxHP,68;
+ bonus bAgiVit,1;
+ bonus bDef2, 5;
+ ">
+},
+{
+ Id: 3000
+ AegisName: "CaveSnakeHat"
+ Name: "Cave Snake Hat"
+ Type: "IT_ARMOR"
+ Buy: 50000
+ Sell: 10000
+ Weight: 46
+ Def: 5
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 20
+ Refine: false
+ Script: <"
+ bonus bMaxHP,16;
+ bonus bAgi, 2;
+ bonus bDef2, 2;
+ ">
+},
+{
+ Id: 3001
+ AegisName: "PinkHelmet"
+ Name: "Pink Helmet"
+ Type: "IT_ARMOR"
+ Buy: 16000
+ Sell: 5000
+ Weight: 320
+ Def: 15
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 50
+ Refine: true
+ Script: <"
+ bonus bMaxHP,68;
+ bonus bStr,2;
+ bonus bVit,2;
+ bonus bDef2, 5;
+ bonus2 bAddEle, Ele_Earth, 15;
+ bonus bMdefRate, 5;
+ bonus bMdef2Rate, 5;
+ bonus bHitRate, 10;
+ ">
+},
+{
+ Id: 3002
+ AegisName: "ShroomHat"
+ Name: "Shroom Hat"
+ Type: "IT_ARMOR"
+ Buy: 21000
+ Sell: 10000
+ Weight: 240
+ Def: 8
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 30
+ Refine: false
+ Script: <"
+ bonus bMaxHP,30;
+ bonus bStr,2;
+ bonus bDef2, 3;
+ ">
+},
+{
+ Id: 3003
+ AegisName: "ForestShroomHat"
+ Name: "Forest Shroom Hat"
+ Type: "IT_ARMOR"
+ Buy: 23000
+ Sell: 10000
+ Weight: 320
+ Def: 15
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 50
+ Refine: false
+ Script: <"
+ bonus bMaxHP,68;
+ // Fairy Hat exist for this
+ bonus bDex,3;
+ bonus bInt,1;
+ bonus bDef2, 5;
+ ">
+},
+{
+ Id: 3004
+ AegisName: "ChemistHelmet"
+ Name: "Alchemist Helmet"
+ Type: "IT_ARMOR"
+ Buy: 26000
+ Sell: 10000
+ Weight: 320
+ Def: 26
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 80
+ Refine: false
+ Script: <"
+ bonus bMaxHP,150;
+ bonus bDef2, 8;
+ ">
+},
+{
+ Id: 3005
+ AegisName: "ClericCap"
+ Name: "Cleric Cap"
+ Type: "IT_ARMOR"
+ Buy: 26000
+ Sell: 10000
+ Weight: 320
+ Def: 26
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 80
+ Refine: false
+ Script: <"
+ bonus bMaxHP,150;
+ bonus bDef2, 8;
+ bonus bHPrecovRate,50;
+ bonus bSPrecovRate,50;
+ bonus bHealPower,30;
+ bonus bAddItemHealRate,20;
+ bonus bAtkRate,-75;
+ bonus bAtk2,-75;
+ bonus bCriticalRate, -40;
+ bonus bAspdRate, -20;
+ bonus bFlee2, 10;
+ bonus2 bSubEle, Ele_Holy, 50;
+ ">
+ OnUnequipScript: <"
+ dispbottom "Your heresy has been frowned upon.";
+ callfunc "SC_Bonus", 3+rand(5), SC_BLIND, 1;
+ ">
+},
+{
+ Id: 3006
+ AegisName: "SantaBeardHat"
+ Name: "Santa Beard Hat"
+ Type: "IT_ARMOR"
+ Buy: 26000
+ Sell: 100
+ Weight: 32
+ Def: 4
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 18
+ Refine: false
+ Script: <"
+ bonus bMaxHP,14;
+ bonus bDef2, 2;
+ ">
+},
+{
+ Id: 3007
+ AegisName: "WickedShroomHat"
+ Name: "Wicked Shroom Hat"
+ Type: "IT_ARMOR"
+ Buy: 24000
+ Sell: 10000
+ Weight: 420
+ Def: 18
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 60
+ Refine: false
+ Script: <"
+ bonus bMaxHP,92;
+ bonus bStr,5;
+ bonus bDex,1;
+ bonus bDef2, 6;
+ ">
+},
+{
+ Id: 3008
+ AegisName: "MoonshroomHat"
+ Name: "Moonshroom Hat"
+ Type: "IT_ARMOR"
+ Buy: 25000
+ Sell: 10000
+ Weight: 250
+ Def: 22
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 70
+ Refine: false
+ Script: <"
+ bonus bInt,7;
+ ">
+},
+{
+ Id: 3009
+ AegisName: "FafiMask"
+ Name: "Fafi Mask"
+ Type: "IT_ARMOR"
+ Buy: 26000
+ Sell: 3500
+ Weight: 40
+ Def: 16
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 53
+ Refine: true
+ Script: <"
+ bonus bMaxHP,75;
+ bonus bInt,1;
+ bonus bMaxSP,25;
+ bonus bSPrecovRate,5;
+ ">
+},
+{
+ Id: 3010
+ AegisName: "AFKCap"
+ Name: "AFK Cap"
+ Type: "IT_ARMOR"
+ Buy: 2600
+ Sell: 1000
+ Weight: 30
+ Def: 5
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 30
+ Refine: false
+ Script: <"
+ bonus bMaxHP,30;
+ addtoskill(TMW2_SPEECH, 1, 2);
+ ">
+},
+{
+ Id: 3011
+ AegisName: "KnitHat"
+ Name: "Knit Hat"
+ Type: "IT_ARMOR"
+ Buy: 2600
+ Sell: 1000
+ Weight: 70
+ Def: 7
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 29
+ Refine: false
+ Script: <"
+ bonus bMaxHP,29;
+ if ($@SEASON == WINTER) {
+ bonus bDef,20;
+ bonus2 bExpAddRace,RC_All,15;
+ //bonus2 bExpAddRace,RC_Brute,20;
+ //bonus2 bExpAddRace,RC_Formless,20;
+ }
+ bonus bDef2, 3;
+ ">
+},
+{
+ Id: 3012
+ AegisName: "LeprechaunHat"
+ Name: "Leprechaun Hat"
+ Type: "IT_ARMOR"
+ Buy: 26000
+ Sell: 5000
+ Weight: 40
+ Def: 15
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 50
+ Refine: false
+ Script: <"
+ bonus bMaxHP,68;
+ bonus bLuk,4;
+ bonus bDef2, 5;
+ ">
+},
+{
+ Id: 3013
+ AegisName: "CatEars"
+ Name: "Cat Ears"
+ Type: "IT_ARMOR"
+ Buy: 6000
+ Sell: 1000
+ Weight: 20
+ Def: 9
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 33
+ Refine: false
+ Script: <"
+ bonus bMaxHP,35;
+ bonus bAgi, 2;
+ bonus bDef2, 3;
+ ">
+},
+{
+ Id: 3014
+ AegisName: "SantaHat"
+ Name: "Santa Hat"
+ Type: "IT_ARMOR"
+ Buy: 22000
+ Sell: 80
+ Weight: 28
+ Def: 3
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 14
+ Refine: false
+ Script: <"
+ bonus bMaxHP,10;
+ bonus bDef2, 1;
+ ">
+},
+{
+ Id: 3015
+ AegisName: "Wreath"
+ Name: "Wreath"
+ Type: "IT_ARMOR"
+ Buy: 2600
+ Sell: 1000
+ Weight: 50
+ Def: 6
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 25
+ Refine: false
+ Script: <"
+ bonus bMaxHP,20;
+ bonus bInt,1;
+ bonus bSPrecovRate,5;
+ if ($@SEASON == SPRING) {
+ bonus bDef,20;
+ bonus2 bExpAddRace,RC_All,15;
+ }
+ ">
+},
+{
+ Id: 3016
+ AegisName: "TerraniteMask"
+ Name: "Terranite Mask"
+ Type: "IT_ARMOR"
+ Buy: 26000
+ Sell: 10000
+ Weight: 90
+ Def: 26
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 78
+ Refine: false
+ Script: <"
+ bonus bMaxHP,144;
+ bonus bMdef,5;
+ bonus bLuk,1;
+ bonus bDef2, 7;
+ ">
+},
+{
+ Id: 3017
+ AegisName: "EggshellHat"
+ Name: "Eggshell Hat"
+ Type: "IT_ARMOR"
+ Buy: 16000
+ Sell: 3000
+ Weight: 460
+ Def: 5
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 21
+ Refine: false
+ Script: <"
+ bonus bMaxHP,17;
+ if ($EVENT$ == "Easter") {
+ bonus bDef,10;
+ }
+ bonus bDef2, 2;
+ ">
+},
+{
+ Id: 3018
+ AegisName: "BountyHunterHelmet"
+ Name: "Bounty Hunter Helmet"
+ Type: "IT_ARMOR"
+ Buy: 16000
+ Sell: 3000
+ Weight: 320
+ Def: 18
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 60
+ Refine: true
+ Script: <"
+ bonus bMaxHP,92;
+ bonus bAspdRate,15;
+ bonus bDef2, 6;
+ ">
+},
+{
+ Id: 3019
+ AegisName: "MushHat"
+ Name: "Mush Hat"
+ Type: "IT_ARMOR"
+ Buy: 22000
+ Sell: 10000
+ Weight: 290
+ Def: 11
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 40
+ Refine: false
+ Script: <"
+ bonus bMaxHP,45;
+ bonus bStr,3;
+ bonus bInt,1;
+ bonus bDef2, 4;
+ ">
+},
+{
+ Id: 3020
+ AegisName: "TerraniteHelmet"
+ Name: "Terranite Helmet"
+ Type: "IT_ARMOR"
+ Buy: 8000
+ Sell: 1000
+ Weight: 290
+ Def: 25
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 76
+ Refine: false
+ Script: <"
+ bonus bMaxHP,135;
+ bonus bMdef,5;
+ bonus bInt,1;
+ bonus bDef2, 7;
+ ">
+},
+{
+ Id: 3021
+ AegisName: "SmileyCap"
+ Name: "Smiley Cap"
+ Type: "IT_ARMOR"
+ Buy: 8000
+ Sell: 1000
+ Weight: 120
+ Def: 1
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 7
+ Refine: false
+ Script: <"
+ bonus bAtkRange, 1;
+ bonus bCriticalRate, -10;
+ ">
+},
+{
+ Id: 3022
+ AegisName: "BossHunterBoina"
+ Name: "Boss Hunter Boina"
+ Type: "IT_ARMOR"
+ Buy: 800000
+ Sell: 10000
+ Weight: 120
+ Def: 1
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 12
+ Refine: false
+ Script: <"
+ bonus2 bExpAddRace, RC_Boss, 10;
+ bonus2 bSubRace, RC_Boss, 10;
+ bonus2 bSPGainRace, RC_Boss, 10; // I can't even describe this bonus
+ ">
+},
+{
+ Id: 3023
+ AegisName: "MoubiHat"
+ Name: "Moubi Hat"
+ Type: "IT_ARMOR"
+ Buy: 16000
+ Sell: 1000
+ Weight: 380
+ Def: 9
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 35
+ Refine: false
+ Script: <"
+ bonus bMaxHP,150;
+ bonus bDef2, 3;
+ ">
+},
+{
+ Id: 3024
+ AegisName: "BloodyMoubooHat"
+ Name: "Bloody Mouboo Hat"
+ Type: "IT_ARMOR"
+ Buy: 16000
+ Sell: 1000
+ Weight: 380
+ Def: 9
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 35
+ Refine: false
+ Script: <"
+ bonus bMaxHP,150;
+ bonus bDef2, 3;
+ ">
+},
+{
+ Id: 3025
+ AegisName: "NPCEyesD"
+ Name: "NPC Blinking Eyes 2"
+ Type: "IT_ARMOR"
+ Buy: 320000
+ Sell: 1
+ Weight: 200
+ Def: -100
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 150
+ Refine: false
+},
+{
+ Id: 3026
+ AegisName: "NPCEyesT"
+ Name: "NPC Blinking Eyes 3"
+ Type: "IT_ARMOR"
+ Buy: 320000
+ Sell: 1
+ Weight: 200
+ Def: -100
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 150
+ Refine: false
+},
+{
+ Id: 3027
+ AegisName: "HeadHood"
+ Name: "Head Hood"
+ Type: "IT_ARMOR"
+ Buy: 1000
+ Sell: 130
+ Weight: 45
+ Def: 0
+ Slots: 1
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 1
+ Refine: false
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
+},
+{
+ Id: 3028
+ AegisName: "BearHat"
+ Name: "Bear Hat"
+ Type: "IT_ARMOR"
+ Buy: 16000
+ Sell: 1000
+ Weight: 30
+ Def: 9
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 35
+ Refine: false
+ Script: <"
+ bonus bMaxHP,150;
+ bonus bDef2, 3;
+ ">
+},
+{
+ Id: 3029
+ AegisName: "BeeKeeperHat"
+ Name: "Bee Keeper Hat"
+ Type: "IT_ARMOR"
+ Buy: 16000
+ Sell: 1000
+ Weight: 30
+ Def: 9
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 35
+ Refine: false
+ Script: <"
+ bonus bMaxHP,150;
+ bonus bDef2, 3;
+ bonus3 bAddClassDropItem, Bee, Honey, 25;
+ ">
+},
+{
+ Id: 3030
+ AegisName: "SaviorHelmet"
+ Name: "Savior Helmet"
+ Type: "IT_ARMOR"
+ Buy: 16000
+ Sell: 1000
+ Weight: 180
+ Def: 37
+ Loc: "EQP_HEAD_TOP"
+ EquipLv: 104
+ Refine: true
+ Script: <"
+ bonus bMaxHP,240;
+ bonus bDef2, 11;
+ bonus bMdef, 4;
+ ">
+},
+
+// Neck Armor
+{
+ Id: 3200
+ AegisName: "Shemagh"
+ Name: "Shemagh"
+ Type: "IT_ARMOR"
+ Buy: 1000
+ Sell: 90
+ Weight: 30
+ Def: 5
+ Loc: "EQP_ACC_R"
+ EquipLv: 23
+ Refine: false
+},
+{
+ Id: 3201
+ AegisName: "Monocle"
+ Name: "Monocle"
+ Type: "IT_ARMOR"
+ Buy: 10000
+ Sell: 3000
+ Weight: 22
+ Def: 9
+ Loc: "EQP_ACC_R"
+ EquipLv: 25
+ Refine: false
+ Slots: 1
+ AllowCards: {
+ id5033: 1
+ id5036: 1
+ }
+// How can we set 5033 and 5036 give only 1 dex or 1 luck to this item ? @jesusalva
+// We probably can't. Just kidding, we use getequipcardid(), check if it is PolishedWhatever,
+// and add a -1 bonus.
+},
+{
+ Id: 3202
+ AegisName: "Mustache"
+ Name: "Mustache"
+ Type: "IT_ARMOR"
+ Buy: 1000
+ Sell: 90
+ Weight: 1
+ Def: 1
+ Loc: "EQP_ACC_R"
+ EquipLv: 3
+ Refine: false
+},
+{
+ Id: 3203
+ AegisName: "Beard"
+ Name: "Beard"
+ Type: "IT_ARMOR"
+ Buy: 1000
+ Sell: 90
+ Weight: 1
+ Def: 1
+ Loc: "EQP_ACC_R"
+ EquipLv: 3
+ Refine: false
+},
+{
+ Id: 3204
+ AegisName: "EyePatch"
+ Name: "Left Eye Patch"
+ Type: "IT_ARMOR"
+ Buy: 64000
+ Sell: 2000
+ Weight: 22
+ Def: 3
+ Loc: "EQP_ACC_R"
+ EquipLv: 16
+ Refine: false
+ Script: <"
+ bonus bHitRate,-15;
+ bonus bLongAtkDef, 25;
+ bonus bLongAtkRate, 25;
+ ">
+},
+{
+ Id: 3205
+ AegisName: "Googles"
+ Name: "Googles"
+ Type: "IT_ARMOR"
+ Buy: 1000
+ Sell: 90
+ Weight: 22
+ Def: 6
+ Loc: "EQP_ACC_R"
+ EquipLv: 40
+ Refine: false
+ Script: <"
+ bonus2 bResEff,Eff_Blind,1000;
+ ">
+},
+{
+ Id: 3206
+ AegisName: "HeartGlasses"
+ Name: "Heart Glasses"
+ Type: "IT_ARMOR"
+ Buy: 1000
+ Sell: 90
+ Weight: 1
+ Def: 1
+ Loc: "EQP_ACC_R"
+ EquipLv: 3
+ Refine: false
+ Script: <"
+ bonus2 bAddRaceTolerance, RC_Player, 40;
+ bonus2 bAddRace, RC_Player, -60;
+ bonus2 bMagicAddRace, RC_Player, -60;
+ ">
+},
+{
+ Id: 3207
+ AegisName: "RedNose"
+ Name: "Red Nose"
+ Type: "IT_ARMOR"
+ Buy: 1000
+ Sell: 90
+ Weight: 1
+ Def: 1
+ Loc: "EQP_ACC_R"
+ EquipLv: 3
+ Refine: false
+},
+{
+ Id: 3208
+ AegisName: "BurglarMask"
+ Name: "Burglar Mask"
+ Type: "IT_ARMOR"
+ Buy: 1000
+ Sell: 500
+ Weight: 26
+ Def: 4
+ Loc: "EQP_ACC_R"
+ EquipLv: 40
+ Refine: false
+ Script: <"
+ bonus bAddStealRate,10;
+ ">
+},
+{
+ Id: 3209
+ AegisName: "BanditMask"
+ Name: "Bandit Mask"
+ Type: "IT_ARMOR"
+ Buy: 10000
+ Sell: 5000
+ Weight: 56
+ Def: 5
+ Loc: "EQP_ACC_R"
+ EquipLv: 60
+ Refine: false
+},
+{
+ Id: 3210
+ AegisName: "Sunglasses"
+ Name: "Sunglasses"
+ Type: "IT_ARMOR"
+ Buy: 30000
+ Sell: 10000
+ Weight: 16
+ Def: 5
+ Loc: "EQP_ACC_R"
+ EquipLv: 15
+ Refine: false
+},
+{
+ Id: 3211
+ AegisName: "AutumnMask"
+ Name: "Autumn Mask"
+ Type: "IT_ARMOR"
+ Buy: 10000
+ Sell: 5000
+ Weight: 24
+ Def: 7
+ Loc: "EQP_ACC_R"
+ EquipLv: 35
+ Refine: false
+},
+// Weapons
+{
+ Id: 3500
+ AegisName: "Knife"
+ Name: "Knife"
+ Type: "IT_WEAPON"
+ Buy: 180
+ Sell: 80
+ Weight: 100
+ Atk: 50
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 7
+ Refine: true
+ Subtype: "W_DAGGER"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3501
+ AegisName: "BugSlayer"
+ Name: "Bug Slayer"
+ Type: "IT_WEAPON"
+ Buy: 11000
+ Sell: 400
+ Weight: 500
+ Atk: 188
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 24
+ Refine: true
+ Subtype: "W_1HSWORD"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3502
+ AegisName: "ShortGladius"
+ Name: "Short Gladius"
+ Type: "IT_WEAPON"
+ Buy: 15000
+ Sell: 450
+ Weight: 550
+ Atk: 231
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 30
+ Refine: true
+ Subtype: "W_1HSWORD"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3503
+ AegisName: "WoodenSword"
+ Name: "Wooden Sword"
+ Type: "IT_WEAPON"
+ Buy: 8500
+ Sell: 300
+ Weight: 450
+ Atk: 146
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 20
+ Refine: true
+ Subtype: "W_1HSWORD"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3504
+ AegisName: "Backsword"
+ Name: "Backsword"
+ Type: "IT_WEAPON"
+ Buy: 25800
+ Sell: 1200
+ Weight: 900
+ Atk: 322
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 44
+ Refine: true
+ Subtype: "W_1HSWORD"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3505
+ AegisName: "SharpKnife"
+ Name: "Sharp Knife"
+ Type: "IT_WEAPON"
+ Buy: 600
+ Sell: 200
+ Weight: 130
+ Atk: 70
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 12
+ Refine: true
+ Subtype: "W_DAGGER"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3506
+ AegisName: "RustyKnife"
+ Name: "Rusty Knife"
+ Type: "IT_WEAPON"
+ Buy: 60
+ Sell: 20
+ Weight: 50
+ Atk: 25
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 1
+ Refine: true
+ Subtype: "W_DAGGER"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3507
+ AegisName: "Dagger"
+ Name: "Dagger"
+ Type: "IT_WEAPON"
+ Buy: 800
+ Sell: 250
+ Weight: 350
+ Atk: 115
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 15
+ Refine: true
+ Subtype: "W_DAGGER"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3508
+ AegisName: "BoneKnife"
+ Name: "Bone Knife"
+ Type: "IT_WEAPON"
+ Buy: 9000
+ Sell: 3000
+ Weight: 1100
+ Atk: 406
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 70
+ Refine: true
+ Subtype: "W_DAGGER"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3509
+ AegisName: "RockKnife"
+ Name: "Rock Knife"
+ Type: "IT_WEAPON"
+ Buy: 90000
+ Sell: 5000
+ Weight: 1400
+ Atk: 454
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 90
+ Refine: true
+ Subtype: "W_DAGGER"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3510
+ AegisName: "SmallKnife"
+ Name: "Small Knife"
+ Type: "IT_WEAPON"
+ Buy: 90
+ Sell: 25
+ Weight: 70
+ Atk: 35
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 3
+ Refine: true
+ Subtype: "W_DAGGER"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3511
+ AegisName: "DivineSword"
+ Name: "Divine Sword"
+ Type: "IT_WEAPON"
+ Buy: 90000
+ Sell: 10000
+ Weight: 1500
+ Atk: 467
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 100
+ Refine: true
+ Subtype: "W_1HSWORD"
+ Slots: 2
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ bonus bAtkEle,Ele_Holy;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3512
+ AegisName: "ButcherKnife"
+ Name: "Butcher Knife"
+ Type: "IT_WEAPON"
+ Buy: 90000
+ Sell: 500
+ Weight: 610
+ Atk: 242
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 35
+ Refine: true
+ Subtype: "W_DAGGER"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3513
+ AegisName: "AncientSword"
+ Name: "Ancient Sword"
+ Type: "IT_WEAPON"
+ Buy: 90000
+ Sell: 4000
+ Weight: 1200
+ Atk: 434
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 80
+ Refine: true
+ Subtype: "W_1HSWORD"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3514
+ AegisName: "IceGladius"
+ Name: "Ice Gladius"
+ Type: "IT_WEAPON"
+ Buy: 90000
+ Sell: 10000
+ Weight: 670
+ Atk: 264
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 35
+ Refine: true
+ Subtype: "W_1HSWORD"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ bonus bAtkEle,Ele_Water;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3515
+ AegisName: "Setzer"
+ Name: "Setzer"
+ Type: "IT_WEAPON"
+ Buy: 900000
+ Sell: 2000
+ Weight: 1000
+ Atk: 232
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 60
+ Refine: true
+ Subtype: "W_DAGGER"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3516
+ AegisName: "LongSword"
+ Name: "Long Sword"
+ Type: "IT_WEAPON"
+ Buy: 7000
+ Sell: 3000
+ Weight: 1100
+ Atk: 430
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 80
+ Refine: true
+ Subtype: "W_1HSWORD"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3517
+ AegisName: "ThunderStaff"
+ Name: "Thunder Staff"
+ Type: "IT_WEAPON"
+ Buy: 440000
+ Sell: 22000
+ Weight: 600
+ Atk: 270
+ Matk: 70
+ Range: 2
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 40
+ Refine: true
+ Subtype: "W_STAFF"
+ Slots: 2
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ //DropAnnounce: true
+ Script: <"
+ bonus bAtk,(BaseLevel-40)*4;
+ bonus bMatk,(BaseLevel-40);
+ bonus bAtkEle,Ele_Wind;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3518
+ AegisName: "Judgement"
+ Name: "Judgement"
+ Type: "IT_WEAPON"
+ Buy: 640000
+ Sell: 32000
+ Weight: 1000
+ Atk: 142
+ Matk: 62
+ Range: 1
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 24
+ Refine: true
+ Subtype: "W_1HSWORD"
+ Slots: 2
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ //Script: <" itemskill SM_MAGNUM,1; "> // Consumable only - eg Grenade
+ //skill SM_MAGNUM,3;
+ // [22:27:11] <{41444d494e}> bonus3 bAutoSpell,SKILLNAME,SKILLELVEL,PARAM1;
+ Script: <"
+ bonus3 bAutoSpell,SM_MAGNUM,1,100;
+ bonus bAtk,(BaseLevel-24)*3;
+ bonus bMatk,(BaseLevel-24);
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+ //DropAnnounce: true
+},
+{
+ Id: 3519
+ AegisName: "DarkPulsar"
+ Name: "Dark Pulsar"
+ Type: "IT_WEAPON"
+ Buy: 140000
+ Sell: 20000
+ Weight: 1000
+ Atk: 375
+ Matk: 90
+ Range: 1
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 60
+ Refine: true
+ Subtype: "W_1HSWORD"
+ Slots: 2
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ bonus bAtkEle,Ele_Dark;
+ bonus bAtk,(BaseLevel-60)*3;
+ bonus bMatk,(BaseLevel-60);
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+ //DropAnnounce: true
+},
+{
+ Id: 3520
+ AegisName: "BronzeGladius"
+ Name: "Bronze Gladius"
+ Type: "IT_WEAPON"
+ Buy: 9000
+ Sell: 1000
+ Weight: 340
+ Atk: 174
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 22
+ Refine: true
+ Subtype: "W_1HSWORD"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3521
+ AegisName: "Scythe"
+ Name: "Scythe"
+ Type: "IT_WEAPON"
+ Buy: 16500
+ Sell: 4000
+ Weight: 600
+ Atk: 211
+ Matk: 0
+ Range: 2
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 25
+ Refine: true
+ Subtype: "W_2HMACE"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ bonus bAgi, -2;
+ bonus bDex, -1;
+ bonus bDef, -20;
+ bonus bCritical, 5;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3522
+ AegisName: "Kanabo"
+ Name: "Kanabo"
+ Type: "IT_WEAPON"
+ Buy: 15000
+ Sell: 5500
+ Weight: 1200
+ Atk: 432
+ Range: 2
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 60
+ Refine: true
+ Subtype: "W_2HMACE"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ bonus bStr, 3;
+ bonus bDex, -6;
+ bonus bDef, -48;
+ bonus bCritical, 12;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3523
+ AegisName: "MiereCleaver"
+ Name: "Miere Cleaver"
+ Type: "IT_WEAPON"
+ Buy: 15000
+ Sell: 6500
+ Weight: 900
+ Atk: 322
+ Range: 2
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 40
+ Refine: true
+ Subtype: "W_2HMACE"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ bonus bDex, -4;
+ bonus bDef, -32;
+ bonus bCritical, 8;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3524
+ AegisName: "Broadsword"
+ Name: "Broadsword"
+ Type: "IT_WEAPON"
+ Buy: 15000
+ Sell: 7500
+ Weight: 1100
+ Atk: 384
+ Range: 2
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 50
+ Refine: true
+ Subtype: "W_2HMACE"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ bonus bDex, -5;
+ bonus bDef, -40;
+ bonus bCritical, 10;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3525
+ AegisName: "BlacksmithAxe"
+ Name: "Blacksmith Axe"
+ Type: "IT_WEAPON"
+ Buy: 25000
+ Sell: 10000
+ Weight: 1500
+ Atk: 432
+ Range: 2
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 60
+ Refine: true
+ Subtype: "W_2HMACE"
+ Slots: 2
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ bonus bAtk,(BaseLevel-60)*2;
+ bonus bCritical, 12;
+ bonus2 bAddEff,Eff_Blind,400;
+ bonus2 bAddMonsterDropChainItem,ITMCHAIN_ORE,RC_Mineral;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3526
+ AegisName: "CentaurSpear"
+ Name: "Centaur Spear"
+ Type: "IT_WEAPON"
+ Buy: 26500
+ Sell: 10000
+ Weight: 1400
+ Atk: 450
+ Matk: 0
+ Range: 2
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 70
+ Refine: true
+ Subtype: "W_2HSPEAR"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ bonus bDex, -7;
+ bonus bHit, 3;
+ bonus bDef, -56;
+ bonus bCritical, 14;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3527
+ AegisName: "ShortSword"
+ Name: "Short Sword"
+ Type: "IT_WEAPON"
+ Buy: 30000
+ Sell: 1500
+ Weight: 958
+ Atk: 353
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 50
+ Refine: true
+ Subtype: "W_1HSWORD"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3528
+ AegisName: "RealBronzeGladius"
+ Name: "Real Bronze Gladius"
+ Type: "IT_WEAPON"
+ Buy: 9000
+ Sell: 700
+ Weight: 840
+ Atk: 277
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 37
+ Refine: true
+ Subtype: "W_1HSWORD"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3529
+ AegisName: "MinerKnife"
+ Name: "Miner Knife"
+ Type: "IT_WEAPON"
+ Buy: 800
+ Sell: 225
+ Weight: 160
+ Atk: 85
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 18
+ Refine: true
+ Subtype: "W_DAGGER"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3530
+ AegisName: "CursedScythe"
+ Name: "Cursed Scythe"
+ Type: "IT_WEAPON"
+ Buy: 150000
+ Sell: 3500
+ Weight: 1800
+ Atk: 210
+ Matk: 0
+ Range: 2
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 75
+ Refine: true
+ Subtype: "W_2HMACE"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ bonus bStr, 8;
+ bonus bAgi, -10;
+ bonus bDex, -5;
+ bonus bDef, -77;
+ bonus bCritical, 14;
+ bonus bHPDrainValue,-15;
+ bonus2 bAddEff,Eff_Curse,100;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3531
+ AegisName: "Kitana"
+ Name: "Kitana"
+ Type: "IT_WEAPON"
+ Buy: 7000
+ Sell: 3000
+ Weight: 960
+ Atk: 370
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 60
+ Refine: true
+ Subtype: "W_1HSWORD"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3532
+ AegisName: "ImmortalSword"
+ Name: "Immortal Heavy Sword"
+ Type: "IT_WEAPON"
+ Buy: 15000
+ Sell: 6500
+ Weight: 1600
+ Atk: 526
+ Matk: 150
+ Range: 2
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 96
+ Refine: true
+ Subtype: "W_2HMACE"
+ Slots: 2
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ bonus bDex, -9;
+ bonus bHit, 4;
+ bonus bDef, -77;
+ bonus bCritical, 19;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3533
+ AegisName: "Zambacutou"
+ Name: "Zambacutou Heavy Sword"
+ Type: "IT_WEAPON"
+ Buy: 15000
+ Sell: 6500
+ Weight: 1400
+ Atk: 477
+ Range: 2
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 72
+ Refine: true
+ Subtype: "W_2HMACE"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ bonus bDex, -7;
+ bonus bDef, -57;
+ bonus bCritical, 14;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3534
+ AegisName: "Halberd"
+ Name: "Halberd"
+ Type: "IT_WEAPON"
+ Buy: 15000
+ Sell: 6500
+ Weight: 1500
+ Atk: 495
+ Range: 2
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 84
+ Refine: true
+ Subtype: "W_2HSPEAR"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ bonus bDex, -8;
+ bonus bHit, 4;
+ bonus bDef, -67;
+ bonus bCritical, 16;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3535
+ AegisName: "Pickaxe"
+ Name: "Pickaxe"
+ Type: "IT_WEAPON"
+ Buy: 2000
+ Sell: 650
+ Weight: 360
+ Atk: 0
+ Range: 1
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 1
+ Refine: true
+ Subtype: "W_KATAR"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ bonus2 bAddMonsterDropChainItem,ITMCHAIN_ORE,RC_Mineral;
+ ">
+},
+{
+ Id: 3536
+ AegisName: "Lightsaber"
+ Name: "Lightsaber"
+ Type: "IT_WEAPON"
+ Buy: 900000
+ Sell: 2000
+ Weight: 360
+ Atk: 240
+ Matk: 0
+ Range: 1
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 60
+ Refine: true
+ Subtype: "W_KATAR"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ bonus bAtk,(BaseLevel-60)*3;
+ bonus bCritical, min(5, BaseLevel/24);
+ bonus2 bHPLossRate,2,800;
+ bonus bHitRate, -10;
+ bonus bMdefRate, -60;
+ bonus bMdef2Rate, -60;
+ bonus2 bSubEle, Ele_Holy, -12;
+ bonus2 bSubEle, Ele_Dark, -12;
+ bonus2 bSubEle, Ele_Ghost, -12;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3537
+ AegisName: "PowerfulLightsaber"
+ Name: "Powerful Lightsaber"
+ Type: "IT_WEAPON"
+ Buy: 900000
+ Sell: 2000
+ Weight: 380
+ Atk: 300
+ Matk: 0
+ Range: 2
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 60
+ Refine: true
+ Subtype: "W_KATAR"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ bonus bAtk,(BaseLevel-60)*3;
+ bonus bAgi, 1-(BaseLevel/10);
+ bonus bDex, -(BaseLevel/10);
+ bonus bDef, -(BaseLevel*8/10);
+ bonus bCritical, min(20, BaseLevel/7); // Canon: /6
+ bonus2 bHPLossRate,1,800;
+ bonus bFleeRate, -5;
+ bonus bMdefRate, -60;
+ bonus bMdef2Rate, -60;
+ bonus2 bSubEle, Ele_Holy, -20;
+ bonus2 bSubEle, Ele_Dark, -20;
+ bonus2 bSubEle, Ele_Ghost, -20;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3538
+ AegisName: "PynKunai"
+ Name: "Kunai"
+ Type: "IT_WEAPON"
+ Buy: 7000
+ Sell: 3000
+ Weight: 1400
+ Atk: 370
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 60
+ Refine: true
+ Subtype: "W_1HSWORD"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ bonus bAtk,(BaseLevel-60)*4;
+ bonus bFleeRate, (BaseLevel/10);
+ bonus bDef, -(BaseLevel);
+ bonus bCritical, -(min(20, BaseLevel/6));
+ bonus bAddStealRate, min(800, BaseLevel+(JobLevel*2)); // FIXME?
+ bonus3 bAutoSpell,TF_STEAL,1,BaseLevel;
+ bonus3 bAutoSpell,BS_GREED,1,JobLevel*5;
+ bonus2 bGetZenyNum,-1,15;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 3539
+ AegisName: "PynWhip"
+ Name: "Whip"
+ Type: "IT_WEAPON"
+ Buy: 7000
+ Sell: 3000
+ Weight: 1400
+ Atk: 370
+ Matk: 0
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 60
+ Refine: true
+ Subtype: "W_WHIP"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ bonus bAtk,(BaseLevel-60)*4;
+ bonus bFleeRate, -(BaseLevel/9);
+ bonus bDef2, -(BaseLevel/10);
+ bonus bSplashRange, 1;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+// Insert new weapons above this line
+// ID 3600 to 3610 SYSTEM RESERVED FOR LEGENDARY WEAPONS
+{
+ Id: 3600
+ AegisName: "Lightbringer"
+ Name: "Lightbringer"
+ Type: "IT_WEAPON"
+ Buy: 9999999
+ Sell: 0
+ Weight: 2000
+ Atk: 1800
+ Matk: 1800
+ Range: 1
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 1
+ Refine: true
+ Subtype: "W_1HSWORD"
+ Slots: 2
+ AllowCards: {
+ id5022: 2
+ id5023: 2
+ id5024: 2
+ id5025: 2
+ id5026: 2
+ id5027: 2
+ id5028: 2
+ id5029: 2
+ id5037: 2
+ id5038: 2
+ id5039: 2
+ id5040: 2
+ id5041: 2
+ id5042: 2
+ id5043: 2
+ id5044: 2
+ id5045: 2
+ id5046: 2
+ id5047: 2
+ id5048: 2
+ id5049: 2
+ id5050: 2
+ id5051: 2
+ id5052: 2
+ id5053: 2
+ id5054: 2
+ id5055: 2
+ id5056: 2
+ id5057: 2
+ id5058: 2
+ id5059: 2
+ id5060: 2
+ id5061: 2
+ id5062: 2
+ id5063: 2
+ id5064: 2
+ }
+ // Equipment level is 1 on purpose. Less level = less worthy = more damage by wielding
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nostorage: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ //DropAnnounce: true
+ Script: <"
+ bonus bHitRate,50;
+ bonus bAtkEle,Ele_Holy;
+ bonus2 bAddRace, RC_Legendary, 50;
+ bonus bFlee2Rate,-100;
+ bonus bCriticalDef,-50;
+ bonus bHealPower,100;
+ bonus bHealPower2,100;
+ skill TMW2_OVERLOAD, getrefine();
+
+ // Resistances
+ bonus bUnstripableWeapon, 1;
+ bonus2 bResEff, Eff_Stone, 40;
+ bonus2 bResEff, Eff_Freeze, 40;
+ bonus2 bResEff, Eff_Stun, 40;
+ bonus2 bResEff, Eff_Sleep, 40;
+ bonus2 bResEff, Eff_Poison, 40;
+ bonus2 bResEff, Eff_Curse, 40;
+ bonus2 bResEff, Eff_Silence, 40;
+ bonus2 bResEff, Eff_Confusion, 40;
+ bonus2 bResEff, Eff_Blind, 40;
+ bonus2 bResEff, Eff_Bleeding, 40;
+ bonus2 bResEff, Eff_DPoison, 40;
+ bonus2 bResEff, Eff_Fear, 40;
+ bonus2 bResEff, Eff_Cold, 40;
+ bonus2 bResEff, Eff_Burning, 40;
+ bonus2 bResEff, Eff_Deepsleep, 40;
+
+ // Equipment use is free after level 255 or during tests
+ if (BaseLevel < 255 && !$@GM_OVERRIDE) {
+ bonus bNoRegen,1;
+ bonus2 bSPLossRate,(255-BaseLevel)/30,(1000-(BaseLevel*2));
+ bonus2 bHPLossRate,(255-BaseLevel)/40,(1000-(BaseLevel*2));
+ }
+ ">
+},
+{
+ Id: 3601
+ AegisName: "DemureAxe"
+ Name: "Demure Axe"
+ Type: "IT_WEAPON"
+ Buy: 9999999
+ Sell: 0
+ Weight: 3000
+ MAtk: 1
+ Range: 1
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 1
+ Refine: true
+ Subtype: "W_KNUCKLE"
+ Slots: 2
+ AllowCards: {
+ id5022: 2
+ id5023: 2
+ id5024: 2
+ id5025: 2
+ id5026: 2
+ id5027: 2
+ id5028: 2
+ id5029: 2
+ id5037: 2
+ id5038: 2
+ id5039: 2
+ id5040: 2
+ id5041: 2
+ id5042: 2
+ id5043: 2
+ id5044: 2
+ id5045: 2
+ id5046: 2
+ id5047: 2
+ id5048: 2
+ id5049: 2
+ id5050: 2
+ id5051: 2
+ id5052: 2
+ id5053: 2
+ id5054: 2
+ id5055: 2
+ id5056: 2
+ id5057: 2
+ id5058: 2
+ id5059: 2
+ id5060: 2
+ id5061: 2
+ id5062: 2
+ id5063: 2
+ id5064: 2
+ }
+ // Equipment level is 1 on purpose. Less level = less worthy = more damage by wielding
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nostorage: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ //DropAnnounce: true
+ Script: <"
+ bonus bHitRate,-10;
+ bonus bAtkEle,Ele_Holy;
+ bonus2 bAddRace, RC_Legendary, 30;
+ bonus bFlee2Rate,-100;
+ bonus bCriticalDef,-50;
+ bonus bCriticalRate,-50;
+ skill TMW2_OVERLOAD, getrefine();
+ skill TMW2_DEMURE, min(10, 1+getrefine());
+
+ // This weapon attack power grows with the user
+ bonus bAtk,BaseLevel;
+ bonus bMatk,JobLevel;
+ ">
+},
+{
+ Id: 3602
+ AegisName: "Tyranny"
+ Name: "Tyranny"
+ Type: "IT_WEAPON"
+ Buy: 9999999
+ Sell: 0
+ Weight: 3000
+ Range: 8
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 1
+ Refine: true
+ Subtype: "W_BOW"
+ Slots: 2
+ AllowCards: {
+ id5022: 2
+ id5023: 2
+ id5024: 2
+ id5025: 2
+ id5026: 2
+ id5027: 2
+ id5028: 2
+ id5029: 2
+ id5037: 2
+ id5038: 2
+ id5039: 2
+ id5040: 2
+ id5041: 2
+ id5042: 2
+ id5043: 2
+ id5044: 2
+ id5045: 2
+ id5046: 2
+ id5047: 2
+ id5048: 2
+ id5049: 2
+ id5050: 2
+ id5051: 2
+ id5052: 2
+ id5053: 2
+ id5054: 2
+ id5055: 2
+ id5056: 2
+ id5057: 2
+ id5058: 2
+ id5059: 2
+ id5060: 2
+ id5061: 2
+ id5062: 2
+ id5063: 2
+ id5064: 2
+ }
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nostorage: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ AllowAmmo: {
+ Id6500: 1
+ Id6501: 1
+ Id6502: 1
+ Id6503: 1
+ Id6504: 1
+ Id6505: 1
+ Id6506: 1
+ Id6507: 1
+ Id6508: 1
+ }
+ Script: <"
+ bonus bHitRate,100;
+ bonus bAtkEle,Ele_Holy;
+ bonus2 bAddRace, RC_Legendary, 30;
+ bonus bFlee2Rate,-100;
+ bonus bFleeRate,-100;
+ bonus2 bAddMonsterDropChainItem,ITMCHAIN_ARROW,RC_All;
+ skill TMW2_OVERLOAD, getrefine();
+
+ // This weapon attack power grows with the user
+ // It'll be behind the other weapons until the endgame stages (lv 100+)
+ bonus bAtk,BaseLevel*6;
+ ">
+},
+{
+ Id: 3603
+ AegisName: "Runestaff"
+ Name: "Runestaff"
+ Type: "IT_WEAPON"
+ Buy: 9999999
+ Sell: 0
+ Weight: 3000
+ Range: 9
+ Matk: 10
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 1
+ Refine: true
+ Subtype: "W_STAFF"
+ Slots: 2
+ AllowCards: {
+ id5022: 2
+ id5023: 2
+ id5024: 2
+ id5025: 2
+ id5026: 2
+ id5027: 2
+ id5028: 2
+ id5029: 2
+ id5037: 2
+ id5038: 2
+ id5039: 2
+ id5040: 2
+ id5041: 2
+ id5042: 2
+ id5043: 2
+ id5044: 2
+ id5045: 2
+ id5046: 2
+ id5047: 2
+ id5048: 2
+ id5049: 2
+ id5050: 2
+ id5051: 2
+ id5052: 2
+ id5053: 2
+ id5054: 2
+ id5055: 2
+ id5056: 2
+ id5057: 2
+ id5058: 2
+ id5059: 2
+ id5060: 2
+ id5061: 2
+ id5062: 2
+ id5063: 2
+ id5064: 2
+ }
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nostorage: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ bonus bAtkEle,Ele_Holy;
+ bonus2 bMagicAddRace, RC_Legendary, 30;
+ //bonus bCastrate,-50;
+ //bonus bNoCastCancel,1;
+ bonus bMaxSP,750;
+ bonus bDef,-100;
+ addtoskill(TMW2_MPREGEN, 5, 2);
+ skill TMW2_OVERLOAD, getrefine();
+
+ // This weapon attack power grows with the user
+ // Catches up in early game, then lags behind, and catch up again at lv 106.
+ bonus bMatk,BaseLevel*7;
+ bonus bAtk,JobLevel;
+ ">
+},
+{
+ Id: 3604
+ AegisName: "AegisShield"
+ Name: "Aegis Shield"
+ Type: "IT_ARMOR"
+ Buy: 9999999
+ Sell: 0
+ Weight: 3000
+ Loc: ["EQP_HAND_R", "EQP_HAND_L", "EQP_SHADOW_SHOES"]
+ WeaponLv: 1
+ EquipLv: 1
+ Refine: true
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nostorage: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Slots: 2
+ AllowCards: {
+ id5022: 2
+ id5023: 2
+ id5024: 2
+ id5025: 2
+ id5026: 2
+ id5027: 2
+ id5028: 2
+ id5029: 2
+ id5037: 2
+ id5038: 2
+ id5039: 2
+ id5040: 2
+ id5041: 2
+ id5042: 2
+ id5043: 2
+ id5044: 2
+ id5045: 2
+ id5046: 2
+ id5047: 2
+ id5048: 2
+ id5049: 2
+ id5050: 2
+ id5051: 2
+ id5052: 2
+ id5053: 2
+ id5054: 2
+ id5055: 2
+ id5056: 2
+ id5057: 2
+ id5058: 2
+ id5059: 2
+ id5060: 2
+ id5061: 2
+ id5062: 2
+ id5063: 2
+ id5064: 2
+ }
+ Script: <"
+ bonus bFlee2,20;
+ bonus bFlee,20;
+ bonus bSpeedAddRate,-25;
+ bonus bCriticalDef,100;
+ bonus bSPrecovRate,100;
+ bonus2 bHPRegenRate, BaseLevel/3, 1500;
+ bonus2 bAddRace2, RC_Legendary, 70;
+
+ // The defense power grows with the user
+ // Will almost always be higher than shields
+ // However, it comes at an expensive price.
+ bonus bDef,BaseLevel*9/10;
+ bonus bDef2,BaseLevel/5;
+ bonus bMaxHP, JobLevel*9; // Why not, if you're the ultimate tanker?
+ bonus bAtkRate,-100;
+ bonus bMatkRate,-100;
+ bonus bRestartFullRecover,1;
+ bonus bNoKnockback,1;
+ bonus bNoCastCancel2,1;
+ bonus bBaseAtk,-700;
+
+ // Skills for Aegis Shield, all beyond maximum level
+ // Cave Maggot, Maggot, Green Dragon, Slimes, Snakes
+ // Wolverns, Fairies, Yeti (sometimes Moggun), Terranite
+ // Plants, PoisonS.Mushroom, Fluffy, Mouboo
+ // TODO: Lizards, (Black)Scorpions, Moonshroom, Black Mamba
+ // TODO: Centaur, <todo>, shrooms/squirrels (spores)
+ skill TMW2_ZARKOR, 7;
+ skill TMW2_HALHISS, 10;
+ skill TMW2_KALBOO, 9;
+ skill TMW2_KALMURK, 10;
+ skill TMW2_KALWULF, 9;
+ skill TMW2_KALSPIKE, 9;
+ skill TMW2_DRAGOKIN, 5;
+ skill TMW2_LIMERIZER, 10;
+ skill TMW2_CUTEHEART, 9;
+ skill TMW2_STONEHEART, 9;
+ skill TMW2_FROZENHEART, 9;
+ skill TMW2_PLANTKINGDOM, 9;
+ skill TMW2_FAIRYKINGDOM, 9;
+ skill TMW2_DUCKY, 10;
+ skill TMW2_FAIRYEMPIRE, 10;
+
+ // Additional effects
+ skill EVOL_AREA_PROVOKE, 9;
+
+ // Additional resistences
+ bonus2(bResEff, Eff_Stone, 10);
+ bonus2(bResEff, Eff_Freeze, 10);
+ bonus2(bResEff, Eff_Stun, 10);
+ bonus2(bResEff, Eff_Sleep, 10);
+ bonus2(bResEff, Eff_Poison, 10);
+ bonus2(bResEff, Eff_Curse, 10);
+ bonus2(bResEff, Eff_Silence, 10);
+ bonus2(bResEff, Eff_Confusion, 10);
+ bonus2(bResEff, Eff_Blind, 10);
+ bonus2(bResEff, Eff_Bleeding, 10);
+ bonus2(bResEff, Eff_DPoison, 10);
+ bonus2(bResEff, Eff_Fear, 10);
+ bonus2(bResEff, Eff_Cold, 10);
+ bonus2(bResEff, Eff_Burning, 10);
+ bonus2(bResEff, Eff_Deepsleep, 10);
+ ">
+ OnUnequipScript: <"
+ dispbottom "Without the shield, you feel dizzy and weak.";
+ callfunc "SC_Bonus", 60, SC_WALKSPEED, 20;
+ callfunc "SC_Bonus", rand(10), SC_BLIND, 1;
+ ">
+},
+
+//
+// Pets
+{
+ Id: 4000
+ AegisName: "PiouEgg"
+ Name: "Piou Egg"
+ Type: "IT_PETEGG"
+ Buy: 30000
+ Sell: 1000
+ Weight: 300
+ KeepAfterUse: true
+ Trade: {
+ partneroverride: true
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+ Script: <"
+ bpet;
+ ">
+},
+{
+ Id: 4001
+ AegisName: "BhopEgg"
+ Name: "Bhopper Egg"
+ Type: "IT_PETEGG"
+ Buy: 90000
+ Sell: 4000
+ Weight: 1000
+ KeepAfterUse: true
+ Trade: {
+ partneroverride: true
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+ Script: <"
+ bpet;
+ ">
+},
+{
+ Id: 4002
+ AegisName: "MaggotCocoon"
+ Name: "Maggot Coccon"
+ Type: "IT_PETEGG"
+ Buy: 90000
+ Sell: 4000
+ Weight: 360
+ KeepAfterUse: true
+ Trade: {
+ partneroverride: true
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+ Script: <"
+ bpet;
+ ">
+},
+{
+ Id: 4003
+ AegisName: "DoggyDog"
+ Name: "Doggy Dog"
+ Type: "IT_PETEGG"
+ Buy: 30000
+ Sell: 1000
+ Weight: 800
+ KeepAfterUse: true
+ Trade: {
+ partneroverride: true
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+ Script: <"
+ bpet;
+ ">
+},
+{
+ Id: 4004
+ AegisName: "CattyCat"
+ Name: "Catty Cat"
+ Type: "IT_PETEGG"
+ Buy: 30000
+ Sell: 1000
+ Weight: 800
+ KeepAfterUse: true
+ Trade: {
+ partneroverride: true
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+ Script: <"
+ bpet;
+ ">
+},
+{
+ Id: 4005
+ AegisName: "BlackyCat"
+ Name: "Blacky Cat"
+ Type: "IT_PETEGG"
+ Buy: 30000
+ Sell: 1000
+ Weight: 800
+ KeepAfterUse: true
+ Trade: {
+ partneroverride: true
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+ Script: <"
+ bpet;
+ ">
+},
+{
+ Id: 4006
+ AegisName: "Ratte"
+ Name: "Ratte"
+ Type: "IT_PETEGG"
+ Buy: 30000
+ Sell: 1000
+ Weight: 200
+ KeepAfterUse: true
+ Trade: {
+ partneroverride: true
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+ Script: <"
+ bpet;
+ ">
+},
+{
+ Id: 4007
+ AegisName: "ForestShroomEgg"
+ Name: "Forest Shroom Egg"
+ Type: "IT_PETEGG"
+ Buy: 30000
+ Sell: 1000
+ Weight: 300
+ KeepAfterUse: true
+ Trade: {
+ partneroverride: true
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+ Script: <"
+ bpet;
+ ">
+},
+{
+ Id: 4008
+ AegisName: "FluffyEgg"
+ Name: "Fluffy Egg"
+ Type: "IT_PETEGG"
+ Buy: 90000
+ Sell: 4000
+ Weight: 360
+ KeepAfterUse: true
+ Trade: {
+ partneroverride: true
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+ Script: <"
+ bpet;
+ ">
+},
+{
+ Id: 4009
+ AegisName: "DuckEgg"
+ Name: "Duck Egg"
+ Type: "IT_PETEGG"
+ Buy: 90000
+ Sell: 4000
+ Weight: 360
+ KeepAfterUse: true
+ Trade: {
+ partneroverride: true
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+ Script: <"
+ bpet;
+ ">
+},
+{
+ Id: 4010
+ AegisName: "BatEgg"
+ Name: "Bat Egg"
+ Type: "IT_PETEGG"
+ Buy: 90000
+ Sell: 4000
+ Weight: 360
+ KeepAfterUse: true
+ Trade: {
+ partneroverride: true
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+ Script: <"
+ bpet;
+ ">
+},
+{
+ Id: 4011
+ AegisName: "MoggunEgg"
+ Name: "Moggun Egg"
+ Type: "IT_PETEGG"
+ Buy: 90000
+ Sell: 4000
+ Weight: 360
+ KeepAfterUse: true
+ Trade: {
+ partneroverride: true
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+ Script: <"
+ bpet;
+ ">
+},
+{
+ Id: 4012
+ AegisName: "PinkieCrystal"
+ Name: "Pinkie Crystal"
+ Type: "IT_PETEGG"
+ Buy: 90000
+ Sell: 4000
+ Weight: 400
+ KeepAfterUse: true
+ Trade: {
+ partneroverride: true
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+ Script: <"
+ bpet;
+ ">
+},
+{
+ Id: 4013
+ AegisName: "DragonHorn"
+ Name: "Dragon Horn"
+ Type: "IT_PETEGG"
+ Buy: 90000
+ Sell: 4000
+ Weight: 360
+ KeepAfterUse: true
+ Trade: {
+ partneroverride: true
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+ Script: <"
+ bpet;
+ ">
+},
+{
+ Id: 4014
+ AegisName: "TamedSnakeEgg"
+ Name: "Tamed Snake Egg"
+ Type: "IT_PETEGG"
+ Buy: 90000
+ Sell: 4000
+ Weight: 360
+ KeepAfterUse: true
+ Trade: {
+ partneroverride: true
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ noselltonpc: true
+ }
+ Script: <"
+ bpet;
+ ">
+},
+
+//
+// Dyes
+{
+ Id: 5000
+ AegisName: "CrimsonDye"
+ Name: "Crimson Dye"
+ Type: "IT_CARD"
+ Buy: 2000
+ Sell: 80
+ Loc: 2097151
+},
+{
+ Id: 5001
+ AegisName: "ChocolateDye"
+ Name: "Chocolate Dye"
+ Type: "IT_CARD"
+ Buy: 2000
+ Sell: 80
+ Loc: 2097151
+},
+{
+ Id: 5002
+ AegisName: "MintDye"
+ Name: "Mint Dye"
+ Type: "IT_CARD"
+ Buy: 2000
+ Sell: 80
+ Loc: 2097151
+},
+{
+ Id: 5003
+ AegisName: "BlackDye"
+ Name: "Black Dye"
+ Type: "IT_CARD"
+ Buy: 1200
+ Sell: 70
+ Loc: 2097151
+},
+{
+ Id: 5004
+ AegisName: "SilverDye"
+ Name: "Silver Dye"
+ Type: "IT_CARD"
+ Buy: 1200
+ Sell: 70
+ Loc: 2097151
+},
+{
+ Id: 5005
+ AegisName: "CamelDye"
+ Name: "Camel Dye"
+ Type: "IT_CARD"
+ Buy: 1200
+ Sell: 70
+ Loc: 2097151
+},
+{
+ Id: 5006
+ AegisName: "BrownDye"
+ Name: "Brown Dye"
+ Type: "IT_CARD"
+ Buy: 1200
+ Sell: 70
+ Loc: 2097151
+},
+{
+ Id: 5007
+ AegisName: "OrangeDye"
+ Name: "Orange Dye"
+ Type: "IT_CARD"
+ Buy: 495
+ Sell: 70
+ Loc: 2097151
+},
+{
+ Id: 5008
+ AegisName: "DarkRedDye"
+ Name: "Dark Red Dye"
+ Type: "IT_CARD"
+ Buy: 1200
+ Sell: 70
+ Loc: 2097151
+},
+{
+ Id: 5009
+ AegisName: "RedDye"
+ Name: "Red Dye"
+ Type: "IT_CARD"
+ Buy: 1200
+ Sell: 70
+ Loc: 2097151
+},
+{
+ Id: 5010
+ AegisName: "FuschiaDye"
+ Name: "Fuschia Dye"
+ Type: "IT_CARD"
+ Buy: 1200
+ Sell: 70
+ Loc: 2097151
+},
+{
+ Id: 5011
+ AegisName: "PinkDye"
+ Name: "Pink Dye"
+ Type: "IT_CARD"
+ Buy: 1200
+ Sell: 70
+ Loc: 2097151
+},
+{
+ Id: 5012
+ AegisName: "MauveDye"
+ Name: "Mauve Dye"
+ Type: "IT_CARD"
+ Buy: 1200
+ Sell: 70
+ Loc: 2097151
+},
+{
+ Id: 5013
+ AegisName: "PurpleDye"
+ Name: "Purple Dye"
+ Type: "IT_CARD"
+ Buy: 1200
+ Sell: 70
+ Loc: 2097151
+ // I'm trying to be dah mage, don't ask about location ~ Jesusalva
+},
+{
+ Id: 5014
+ AegisName: "NavyBlueDye"
+ Name: "Navy Blue Dye"
+ Type: "IT_CARD"
+ Buy: 1200
+ Sell: 70
+ Loc: 2097151
+},
+{
+ Id: 5015
+ AegisName: "BlueGrayDye"
+ Name: "Blue Gray Dye"
+ Type: "IT_CARD"
+ Buy: 1200
+ Sell: 70
+ Loc: 2097151
+},
+{
+ Id: 5016
+ AegisName: "BlueDye"
+ Name: "Blue Dye"
+ Type: "IT_CARD"
+ Buy: 1200
+ Sell: 70
+ Loc: 2097151
+},
+{
+ Id: 5017
+ AegisName: "TealDye"
+ Name: "Teal Dye"
+ Type: "IT_CARD"
+ Buy: 1200
+ Sell: 70
+ Loc: 2097151
+},
+{
+ Id: 5018
+ AegisName: "GreenDye"
+ Name: "Green Dye"
+ Type: "IT_CARD"
+ Buy: 1200
+ Sell: 70
+ Loc: 2097151
+},
+{
+ Id: 5019
+ AegisName: "LimeDye"
+ Name: "Lime Dye"
+ Type: "IT_CARD"
+ Buy: 1200
+ Sell: 70
+ Loc: 2097151
+},
+{
+ Id: 5020
+ AegisName: "KhakiDye"
+ Name: "Khaki Dye"
+ Type: "IT_CARD"
+ Buy: 1200
+ Sell: 70
+ Loc: 2097151
+},
+{
+ Id: 5021
+ AegisName: "YellowDye"
+ Name: "Yellow Dye"
+ Type: "IT_CARD"
+ Buy: 1200
+ Sell: 70
+ Loc: 2097151
+},
+{
+ Id: 5022
+ AegisName: "NecromancerCard"
+ Name: "Necromancer Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bLuk, 2;
+ bonus bMaxHP, -100;
+ ">
+},
+{
+ Id: 5023
+ AegisName: "HeroCard"
+ Name: "Hero Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bDex, 2;
+ bonus bAgi, -1;
+ ">
+},
+{
+ Id: 5024
+ AegisName: "KnightCard"
+ Name: "Knight Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bStr, 2;
+ bonus bInt, -1;
+ ">
+},
+{
+ Id: 5025
+ AegisName: "ClericCard"
+ Name: "Cleric Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bMaxSP, 50;
+ bonus bLuk, -1;
+ ">
+},
+{
+ Id: 5026
+ AegisName: "DruidCard"
+ Name: "Druid Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bVit, 2;
+ bonus bDex, -1;
+ ">
+},
+{
+ Id: 5027
+ AegisName: "MageCard"
+ Name: "Mage Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bInt, 2;
+ bonus bStr, -1;
+ ">
+},
+{
+ Id: 5028
+ AegisName: "NinjaCard"
+ Name: "Ninja Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bAgi, 2;
+ bonus bVit, -1;
+ ">
+},
+{
+ Id: 5029
+ AegisName: "NatureCard"
+ Name: "Nature Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bMaxHP, 100;
+ bonus bMaxSP, -25;
+ ">
+},
+{
+ Id: 5030
+ AegisName: "DesertThiefCard"
+ Name: "Desert Thief Card"
+ Type: "IT_CARD"
+ Buy: 5000
+ Sell: 1000
+ Weight: 4
+ Loc: "EQP_GARMENT"
+ Script: <"
+ bonus bAspdRate,1;
+ ">
+},
+{
+ Id: 5031
+ AegisName: "PolishedDiamond"
+ Name: "Polished Diamond"
+ Type: "IT_CARD"
+ Buy: 12
+ Sell: 1
+ Weight: 4
+ Loc: 2048
+ Script: <"
+ bonus bVit,2;
+ ">
+},
+{
+ Id: 5032
+ AegisName: "PolishedRuby"
+ Name: "Polished Ruby"
+ Type: "IT_CARD"
+ Buy: 12
+ Sell: 1
+ Weight: 4
+ Loc: 2048
+ Script: <"
+ bonus bStr,2;
+ ">
+},
+{
+ Id: 5033
+ AegisName: "PolishedEmerald"
+ Name: "Polished Emerald"
+ Type: "IT_CARD"
+ Buy: 12
+ Sell: 1
+ Weight: 4
+ Loc: 2048
+ Script: <"
+ bonus bLuk,2;
+ ">
+},
+{
+ Id: 5034
+ AegisName: "PolishedSapphire"
+ Name: "Polished Sapphire"
+ Type: "IT_CARD"
+ Buy: 12
+ Sell: 1
+ Weight: 4
+ Loc: 2048
+ Script: <"
+ bonus bInt,2;
+ ">
+},
+{
+ Id: 5035
+ AegisName: "PolishedTopaz"
+ Name: "Polished Topaz"
+ Type: "IT_CARD"
+ Buy: 12
+ Sell: 1
+ Weight: 4
+ Loc: 2048
+ Script: <"
+ bonus bAgi,2;
+ ">
+},
+{
+ Id: 5036
+ AegisName: "PolishedAmethyst"
+ Name: "Polished Amethyst"
+ Type: "IT_CARD"
+ Buy: 12
+ Sell: 1
+ Weight: 4
+ Loc: 2048
+ Script: <"
+ bonus bDex,2;
+ ">
+},
+{
+ Id: 5037
+ AegisName: "SpeedCard"
+ Name: "Speed Card"
+ Type: "IT_CARD"
+ Buy: 500
+ Sell: 250
+ Weight: 8
+ Loc: 2097151
+ Script: <"
+ bonus bSpeedAddRate, 2;
+ bonus bAspd, 2;
+ ">
+},
+{
+ Id: 5038
+ AegisName: "ReflectCard"
+ Name: "Reflect Card"
+ Type: "IT_CARD"
+ Buy: 500
+ Sell: 250
+ Weight: 8
+ Loc: 2097151
+ Script: <"
+ bonus bShortWeaponDamageReturn, 2;
+ bonus bLongWeaponDamageReturn, 2;
+ ">
+},
+{
+ Id: 5039
+ AegisName: "PowerCard"
+ Name: "Power Card"
+ Type: "IT_CARD"
+ Buy: 500
+ Sell: 250
+ Weight: 8
+ Loc: 2097151
+ Script: <"
+ bonus bAtk, 25;
+ bonus bMatk, 25;
+ ">
+},
+{
+ Id: 5040
+ AegisName: "WallCard"
+ Name: "Wall Card"
+ Type: "IT_CARD"
+ Buy: 500
+ Sell: 250
+ Weight: 8
+ Loc: 2097151
+ Script: <"
+ bonus bDef2, 25;
+ bonus bMdef, 25;
+ ">
+},
+{
+ Id: 5041
+ AegisName: "NecromancerCardS"
+ Name: "Necromancer Card S"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bLuk, 5;
+ bonus bMaxHP, -200;
+ ">
+},
+{
+ Id: 5042
+ AegisName: "HeroCardS"
+ Name: "Hero Card S"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bDex, 5;
+ bonus bAgi, -2;
+ ">
+},
+{
+ Id: 5043
+ AegisName: "KnightCardS"
+ Name: "Knight Card S"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bStr, 5;
+ bonus bInt, -2;
+ ">
+},
+{
+ Id: 5044
+ AegisName: "ClericCardS"
+ Name: "Cleric Card S"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bMaxSP, 125;
+ bonus bLuk, -2;
+ ">
+},
+{
+ Id: 5045
+ AegisName: "DruidCardS"
+ Name: "Druid Card S"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bVit, 5;
+ bonus bDex, -2;
+ ">
+},
+{
+ Id: 5046
+ AegisName: "MageCardS"
+ Name: "Mage Card S"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bInt, 5;
+ bonus bStr, -2;
+ ">
+},
+{
+ Id: 5047
+ AegisName: "NinjaCardS"
+ Name: "Ninja Card S"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bAgi, 5;
+ bonus bVit, -2;
+ ">
+},
+{
+ Id: 5048
+ AegisName: "NatureCardS"
+ Name: "Nature Card S"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bMaxHP, 250;
+ bonus bMaxSP, -50;
+ ">
+},
+{
+ Id: 5049
+ AegisName: "SpeedCardS"
+ Name: "Speed Card S"
+ Type: "IT_CARD"
+ Buy: 500
+ Sell: 250
+ Weight: 8
+ Loc: 2097151
+ Script: <"
+ bonus bSpeedAddRate, 5;
+ bonus bAspd, 5;
+ ">
+},
+{
+ Id: 5050
+ AegisName: "ReflectCardS"
+ Name: "Reflect Card S"
+ Type: "IT_CARD"
+ Buy: 500
+ Sell: 250
+ Weight: 8
+ Loc: 2097151
+ Script: <"
+ bonus bShortWeaponDamageReturn, 5;
+ bonus bLongWeaponDamageReturn, 5;
+ ">
+},
+{
+ Id: 5051
+ AegisName: "PowerCardS"
+ Name: "Power Card S"
+ Type: "IT_CARD"
+ Buy: 500
+ Sell: 250
+ Weight: 8
+ Loc: 2097151
+ Script: <"
+ bonus bAtk, 50;
+ bonus bMatk, 50;
+ ">
+},
+{
+ Id: 5052
+ AegisName: "WallCardS"
+ Name: "Wall Card S"
+ Type: "IT_CARD"
+ Buy: 500
+ Sell: 250
+ Weight: 8
+ Loc: 2097151
+ Script: <"
+ bonus bDef2, 50;
+ bonus bMdef, 50;
+ ">
+},
+{
+ Id: 5053
+ AegisName: "NecromancerCardX"
+ Name: "Necromancer Card X"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bLuk, 10;
+ bonus bMaxHP, -400;
+ ">
+},
+{
+ Id: 5054
+ AegisName: "HeroCardX"
+ Name: "Hero Card X"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bDex, 10;
+ bonus bAgi, -4;
+ ">
+},
+{
+ Id: 5055
+ AegisName: "KnightCardX"
+ Name: "Knight Card X"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bStr, 10;
+ bonus bInt, -4;
+ ">
+},
+{
+ Id: 5056
+ AegisName: "ClericCardX"
+ Name: "Cleric Card X"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bMaxSP, 250;
+ bonus bLuk, -4;
+ ">
+},
+{
+ Id: 5057
+ AegisName: "DruidCardX"
+ Name: "Druid Card X"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bVit, 10;
+ bonus bDex, -4;
+ ">
+},
+{
+ Id: 5058
+ AegisName: "MageCardX"
+ Name: "Mage Card X"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bInt, 10;
+ bonus bStr, -4;
+ ">
+},
+{
+ Id: 5059
+ AegisName: "NinjaCardX"
+ Name: "Ninja Card X"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bAgi, 10;
+ bonus bVit, -4;
+ ">
+},
+{
+ Id: 5060
+ AegisName: "NatureCardX"
+ Name: "Nature Card X"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ bonus bMaxHP, 500;
+ bonus bMaxSP, -100;
+ ">
+},
+{
+ Id: 5061
+ AegisName: "SpeedCardX"
+ Name: "Speed Card X"
+ Type: "IT_CARD"
+ Buy: 500
+ Sell: 250
+ Weight: 8
+ Loc: 2097151
+ Script: <"
+ bonus bSpeedAddRate, 7;
+ bonus bAspd, 7;
+ bonus bCastrate, -1;
+ bonus bFixedCastrate, -1;
+ ">
+},
+{
+ Id: 5062
+ AegisName: "ReflectCardX"
+ Name: "Reflect Card X"
+ Type: "IT_CARD"
+ Buy: 500
+ Sell: 250
+ Weight: 8
+ Loc: 2097151
+ Script: <"
+ bonus bShortWeaponDamageReturn, 7;
+ bonus bLongWeaponDamageReturn, 7;
+ bonus bMagicDamageReturn, 1;
+ ">
+},
+{
+ Id: 5063
+ AegisName: "PowerCardX"
+ Name: "Power Card X"
+ Type: "IT_CARD"
+ Buy: 500
+ Sell: 250
+ Weight: 8
+ Loc: 2097151
+ Script: <"
+ bonus bAtk, 75;
+ bonus bMatk, 75;
+ ">
+},
+{
+ Id: 5064
+ AegisName: "WallCardX"
+ Name: "Wall Card X"
+ Type: "IT_CARD"
+ Buy: 500
+ Sell: 250
+ Weight: 8
+ Loc: 2097151
+ Script: <"
+ bonus bDef2, 75;
+ bonus bMdef, 75;
+ ">
+},
+// Bows & Ranged Weaponry
+{
+ Id: 6000
+ AegisName: "TrainingBow"
+ Name: "Training Bow"
+ Type: "IT_WEAPON"
+ Buy: 550
+ Sell: 52
+ Weight: 160
+ Atk: 40
+ Range: 5
+ MinRange: 1
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 5
+ Subtype: "W_BOW"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ AllowAmmo: {
+ Id6500: 1
+ Id6501: 1
+ Id6502: 1
+ Id6503: 1
+ Id6504: 1
+ Id6505: 1
+ Id6506: 1
+ Id6507: 1
+ Id6508: 1
+ }
+ Script: <"
+ bonus2 bAddMonsterDropChainItem,ITMCHAIN_ARROW,RC_All;
+ bonus bFleeRate,-100;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 6001
+ AegisName: "WoodenBow"
+ Name: "Wooden Bow"
+ Type: "IT_WEAPON"
+ Buy: 2000
+ Sell: 400
+ Weight: 260
+ Atk: 125
+ Range: 5
+ MinRange: 1
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 15
+ Subtype: "W_BOW"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ AllowAmmo: {
+ Id6500: 1
+ Id6501: 1
+ Id6502: 1
+ Id6503: 1
+ Id6504: 1
+ Id6505: 1
+ Id6506: 1
+ Id6507: 1
+ Id6508: 1
+ }
+ Script: <"
+ bonus2 bAddMonsterDropChainItem,ITMCHAIN_ARROW,RC_All;
+ bonus bFleeRate,-100;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 6002
+ AegisName: "ShortBow"
+ Name: "Short Bow"
+ Type: "IT_WEAPON"
+ Buy: 3800
+ Sell: 800
+ Weight: 260
+ Atk: 200
+ Range: 4
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 25
+ Subtype: "W_BOW"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ AllowAmmo: {
+ Id6500: 1
+ Id6501: 1
+ Id6502: 1
+ Id6503: 1
+ Id6504: 1
+ Id6505: 1
+ Id6506: 1
+ Id6507: 1
+ Id6508: 1
+ }
+ Script: <"
+ bonus2 bAddMonsterDropChainItem,ITMCHAIN_ARROW,RC_All;
+ bonus bFleeRate,-100;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 6003
+ AegisName: "ForestBow"
+ Name: "Forest Bow"
+ Type: "IT_WEAPON"
+ Buy: 7000
+ Sell: 1470
+ Weight: 480
+ Atk: 308
+ Range: 5
+ MinRange: 1
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 40
+ Subtype: "W_BOW"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ AllowAmmo: {
+ Id6500: 1
+ Id6501: 1
+ Id6502: 1
+ Id6503: 1
+ Id6504: 1
+ Id6505: 1
+ Id6506: 1
+ Id6507: 1
+ Id6508: 1
+ }
+ Script: <"
+ bonus2 bAddMonsterDropChainItem,ITMCHAIN_ARROW,RC_All;
+ bonus bFleeRate,-100;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 6004
+ AegisName: "ElficBow"
+ Name: "Elfic Bow"
+ Type: "IT_WEAPON"
+ Buy: 8550
+ Sell: 1800
+ Weight: 400
+ Atk: 428
+ Range: 6
+ MinRange: 1
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 60
+ Subtype: "W_BOW"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ AllowAmmo: {
+ Id6500: 1
+ Id6501: 1
+ Id6502: 1
+ Id6503: 1
+ Id6504: 1
+ Id6505: 1
+ Id6506: 1
+ Id6507: 1
+ Id6508: 1
+ }
+ Script: <"
+ bonus2 bAddMonsterDropChainItem,ITMCHAIN_ARROW,RC_All;
+ bonus bFleeRate,-100;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 6005
+ AegisName: "ChampionshipBow"
+ Name: "Championship Bow"
+ Type: "IT_WEAPON"
+ Buy: 9620
+ Sell: 2020
+ Weight: 520
+ Atk: 520
+ Range: 6
+ MinRange: 1
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 80
+ Subtype: "W_BOW"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ AllowAmmo: {
+ Id6500: 1
+ Id6501: 1
+ Id6502: 1
+ Id6503: 1
+ Id6504: 1
+ Id6505: 1
+ Id6506: 1
+ Id6507: 1
+ Id6508: 1
+ }
+ Script: <"
+ bonus2 bAddMonsterDropChainItem,ITMCHAIN_ARROW,RC_All;
+ bonus bFleeRate,-100;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 6006
+ AegisName: "BansheeBow"
+ Name: "Banshee Bow"
+ Type: "IT_WEAPON"
+ Buy: 55000
+ Sell: 5200
+ Weight: 890
+ Atk: 589
+ Range: 7
+ MinRange: 1
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 100
+ Subtype: "W_BOW"
+ Slots: 2
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ AllowAmmo: {
+ Id6500: 1
+ Id6501: 1
+ Id6502: 1
+ Id6503: 1
+ Id6504: 1
+ Id6505: 1
+ Id6506: 1
+ Id6507: 1
+ Id6508: 1
+ }
+ Script: <"
+ bonus2 bAddMonsterDropChainItem,ITMCHAIN_ARROW,RC_All;
+ bonus bHPDrainValue,-1;
+ bonus bFleeRate,-100;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 6010
+ AegisName: "PynRifle"
+ Name: "Powerful Gunstaff"
+ Type: "IT_WEAPON"
+ Buy: 55000
+ Sell: 5200
+ Weight: 9000
+ Atk: 520
+ Range: 11
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 60
+ Subtype: "W_RIFLE"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Refine: true
+ AllowAmmo: {
+ Id6510: 1
+ Id6511: 1
+ Id6512: 1
+ }
+ Script: <"
+ bonus2 bAddMonsterDropChainItem,ITMCHAIN_BULLET,RC_All;
+ bonus bFleeRate,-100;
+ bonus bCriticalRate,40;
+ bonus bAtk,(BaseLevel-60)*2;
+ bonus2 bAddEff,Eff_Stun,120;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 6020
+ AegisName: "PynGatling"
+ Name: "Rapid Gunstaff"
+ Type: "IT_WEAPON"
+ Buy: 55000
+ Sell: 5200
+ Weight: 12000
+ Atk: 0
+ Range: 9
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 60
+ Subtype: "W_GATLING"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Refine: true
+ AllowAmmo: {
+ Id6510: 1
+ Id6511: 1
+ Id6512: 1
+ }
+ Script: <"
+ bonus2 bAddMonsterDropChainItem,ITMCHAIN_BULLET,RC_All;
+ bonus bAtk,-50;
+ //bonus bAtkRate,-60;
+ bonus bCriticalRate,-100;
+ bonus bHitRate,-10;
+ bonus bFleeRate,-100;
+ bonus bAtk,(BaseLevel-60)/3;
+ bonus2 bAddEff,Eff_Stun,80;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 6030
+ AegisName: "PynShotgun"
+ Name: "Explosive Gunstaff"
+ Type: "IT_WEAPON"
+ Buy: 55000
+ Sell: 5200
+ Weight: 10000
+ Atk: 428
+ Range: 7
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 60
+ Subtype: "W_SHOTGUN"
+ Slots: 2
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Refine: true
+ AllowAmmo: {
+ Id6510: 1
+ Id6511: 1
+ Id6512: 1
+ }
+ Script: <"
+ bonus2 bAddMonsterDropChainItem,ITMCHAIN_BULLET,RC_All;
+ bonus bSplashRange,1;
+ bonus bFleeRate,-100;
+ bonus bAtk,(BaseLevel-60);
+ bonus2 bAddEff,Eff_Stun,100;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 6040
+ AegisName: "PynRevolver"
+ Name: "Short Gunstaff"
+ Type: "IT_WEAPON"
+ Buy: 55000
+ Sell: 5200
+ Weight: 7000
+ Atk: 158
+ Range: 5
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 60
+ Subtype: "W_REVOLVER"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Refine: true
+ AllowAmmo: {
+ Id6510: 1
+ Id6511: 1
+ Id6512: 1
+ }
+ Script: <"
+ bonus2 bAddMonsterDropChainItem,ITMCHAIN_BULLET,RC_All;
+ bonus bAtk,(BaseLevel-60)/2;
+ bonus2 bAddEff,Eff_Stun,100;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 6050
+ AegisName: "Dustynator"
+ Name: "Dustynator 2000"
+ Type: "IT_WEAPON"
+ Buy: 550000
+ Sell: 10200
+ Weight: 6000
+ Atk: 557
+ Range: 11
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 70
+ Subtype: "W_RIFLE"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Refine: true
+ AllowAmmo: {
+ Id6510: 1
+ Id6511: 1
+ Id6512: 1
+ }
+ Script: <"
+ bonus2 bAddMonsterDropChainItem,ITMCHAIN_BULLET,RC_All;
+ bonus bFleeRate,-100;
+ bonus bCriticalRate,40;
+ bonus bAtk,(BaseLevel-70)*2;
+ bonus2 bAddEff,Eff_Stun,120;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+// Arrows
+{
+ Id: 6500
+ AegisName: "TrainingArrow"
+ Name: "Training Arrow"
+ Type: "IT_AMMO"
+ Buy: 2
+ Sell: 1
+ Weight: 1
+ Atk: 30
+ EquipLv: 10
+ Loc: "EQP_AMMO"
+ Subtype: "A_ARROW"
+},
+{
+ Id: 6501
+ AegisName: "TolchiArrow"
+ Name: "Tolchi Arrow"
+ Type: "IT_AMMO"
+ Buy: 2
+ Sell: 0
+ Weight: 2
+ Atk: 15
+ Loc: "EQP_AMMO"
+ Subtype: "A_ARROW"
+},
+{
+ Id: 6502
+ AegisName: "Arrow"
+ Name: "Arrow"
+ Type: "IT_AMMO"
+ Buy: 3
+ Sell: 1
+ Weight: 1
+ Atk: 45
+ EquipLv: 20
+ Loc: "EQP_AMMO"
+ Subtype: "A_ARROW"
+},
+{
+ Id: 6503
+ AegisName: "IronArrow"
+ Name: "Iron Arrow"
+ Type: "IT_AMMO"
+ Buy: 6
+ Sell: 1
+ Weight: 1
+ Atk: 60
+ EquipLv: 30
+ Loc: "EQP_AMMO"
+ Subtype: "A_ARROW"
+ Script: <"
+ bonus bAtkEle,Ele_Dark;
+ bonus2 bAddEff,Eff_Blind,100;
+ ">
+},
+{
+ Id: 6504
+ AegisName: "CursedArrow"
+ Name: "Cursed Arrow"
+ Type: "IT_AMMO"
+ Buy: 8
+ Sell: 1
+ Weight: 1
+ Atk: 90
+ EquipLv: 40
+ Loc: "EQP_AMMO"
+ Subtype: "A_ARROW"
+ Script: <"
+ bonus2 bAddEff,Eff_Curse,200;
+ ">
+},
+{
+ Id: 6505
+ AegisName: "PoisonArrow"
+ Name: "Poison Arrow"
+ Type: "IT_AMMO"
+ Buy: 12
+ Sell: 1
+ Weight: 2
+ Atk: 120
+ EquipLv: 50
+ Loc: "EQP_AMMO"
+ Subtype: "A_ARROW"
+ Script: <"
+ bonus2 bAddEff,Eff_Poison,500;
+ ">
+},
+{
+ Id: 6506
+ AegisName: "ThornArrow"
+ Name: "Thorn Arrow"
+ Type: "IT_AMMO"
+ Buy: 27
+ Sell: 1
+ Weight: 2
+ Atk: 150
+ EquipLv: 60
+ Loc: "EQP_AMMO"
+ Subtype: "A_ARROW"
+ Script: <"
+ bonus2 bAddEff,Eff_Bleeding,500;
+ ">
+},
+{
+ Id: 6507
+ AegisName: "BoneArrow"
+ Name: "Bone Arrow"
+ Type: "IT_AMMO"
+ Buy: 65
+ Sell: 1
+ Weight: 5
+ Atk: 180
+ EquipLv: 70
+ Loc: "EQP_AMMO"
+ Subtype: "A_ARROW"
+ Script: <"
+ bonus bAtkEle,Ele_Dark;
+ bonus2 bAddEff,Eff_Curse,100;
+ bonus2 bAddEff,Eff_Blind,100;
+ bonus2 bAddEff,Eff_Bleeding,800;
+ ">
+},
+{
+ Id: 6508
+ AegisName: "ExplosiveArrow"
+ Name: "Explosive Arrow"
+ Type: "IT_AMMO"
+ Buy: 12
+ Sell: 1
+ Weight: 2
+ Atk: 30
+ Loc: "EQP_AMMO"
+ Subtype: "A_ARROW"
+ Script: <"
+ bonus bSplashRange,2;
+ ">
+},
+// Important: NEVER raise bullet attack too much!
+// Unlike bows where the arrow is important, here the bullets are not.
+// Buy a more capable gun to drain full weapon power %%e
+{
+ Id: 6510
+ AegisName: "Bullet"
+ Name: "Bullet"
+ Type: "IT_AMMO"
+ Buy: 4
+ Sell: 1
+ Weight: 1
+ Atk: 15
+ Loc: "EQP_AMMO"
+ Subtype: "A_BULLET"
+},
+{
+ Id: 6511
+ AegisName: "SacredBullet"
+ Name: "Sacred Bullet"
+ Type: "IT_AMMO"
+ Buy: 8
+ Sell: 2
+ Weight: 1
+ Atk: 20
+ Loc: "EQP_AMMO"
+ Subtype: "A_BULLET"
+ Script: <"
+ bonus bAtkEle,Ele_Holy;
+ ">
+},
+{
+ Id: 6512
+ AegisName: "EvilBullet"
+ Name: "Evil Bullet"
+ Type: "IT_AMMO"
+ Buy: 8
+ Sell: 2
+ Weight: 1
+ Atk: 20
+ Loc: "EQP_AMMO"
+ Subtype: "A_BULLET"
+ Script: <"
+ bonus bAtkEle,Ele_Shadow;
+ ">
+},
+// <!-- Magical Weapons -->
+{
+ Id: 7000
+ AegisName: "TrainingWand"
+ Name: "Training Wand"
+ Type: "IT_WEAPON"
+ Buy: 200
+ Sell: 80
+ Weight: 158
+ Atk: 0
+ Matk: 160
+ Range: 8
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 20
+ Refine: true
+ Subtype: "W_STAFF"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ //bonus bAttack2,-100;
+ bonus bMaxSP,10;
+ addtoskill(TMW2_MPREGEN, 5, 2);
+ bonus bDef,-327; //bonus bDef,-32767;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 7001
+ AegisName: "NoviceWand"
+ Name: "Novice Wand"
+ Type: "IT_WEAPON"
+ Buy: 4500
+ Sell: 1600
+ Weight: 158
+ Atk: 0
+ Matk: 300
+ Range: 8
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 40
+ Refine: true
+ Subtype: "W_STAFF"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ //bonus bAttack2,-150;
+ bonus bMaxSP,20;
+ addtoskill(TMW2_MPREGEN, 4, 2);
+ bonus bMaxHPrate, -8;
+ bonus bDef,-327; //bonus bDef,-32767;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 7002
+ AegisName: "ApprenticeWand"
+ Name: "Apprentice Wand"
+ Type: "IT_WEAPON"
+ Buy: 10000
+ Sell: 4000
+ Weight: 158
+ Atk: 0
+ Matk: 430
+ Range: 8
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 60
+ Refine: true
+ Subtype: "W_STAFF"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ //bonus bAttack2,-200;
+ bonus bMaxSP,30;
+ addtoskill(TMW2_MPREGEN, 3, 2);
+ bonus bMaxHPrate, -12;
+ bonus bDef,-327; //bonus bDef,-32767;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 7003
+ AegisName: "LeaderWand"
+ Name: "Leader Wand"
+ Type: "IT_WEAPON"
+ Buy: 30000
+ Sell: 10000
+ Weight: 158
+ Atk: 0
+ Matk: 510
+ Range: 8
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 80
+ Refine: true
+ Subtype: "W_STAFF"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ //bonus bAttack2,-250;
+ bonus bMaxSP,40;
+ addtoskill(TMW2_MPREGEN, 2, 2);
+ bonus bMaxHPrate, -16;
+ bonus bDef,-327; //bonus bDef,-32767;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 7004
+ AegisName: "MysticWand"
+ Name: "Mystic Wand"
+ Type: "IT_WEAPON"
+ Buy: 200000
+ Sell: 80000
+ Weight: 158
+ Atk: 0
+ Matk: 570
+ Range: 8
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 100
+ Refine: true
+ Subtype: "W_STAFF"
+ Slots: 2
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ //bonus bAttack2,-300;
+ bonus bMaxSP,50;
+ addtoskill(TMW2_MPREGEN, 1, 2);
+ bonus bMaxHPrate, -20;
+ bonus bDef,-327; //bonus bDef,-32767;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 7005
+ AegisName: "ReinbooWand"
+ Name: "Reinboo Wand"
+ Type: "IT_WEAPON"
+ Buy: 20000
+ Sell: 8000
+ Weight: 158
+ Atk: 0
+ Matk: 370
+ Range: 9
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 50
+ Refine: true
+ Subtype: "W_STAFF"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ //bonus bAttack2,-125;
+ bonus bMatk,(BaseLevel-50)*2;
+ bonus bMaxSP,25;
+ addtoskill(TMW2_MPREGEN, 4, 2);
+ bonus bMaxHPrate, -5;
+ bonus bDef,-327; //bonus bDef,-32767;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 7020
+ AegisName: "PynScepter"
+ Name: "Scepter of Thunder"
+ Type: "IT_WEAPON"
+ Buy: 30000
+ Sell: 10000
+ Weight: 960
+ Atk: 25
+ Matk: 370
+ Range: 8
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 60
+ Refine: true
+ Subtype: "W_STAFF"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ //bonus bAttack2,-250;
+ bonus bMatk,(BaseLevel-50)*2;
+ bonus bAtk,(BaseLevel-60);
+ bonus bMaxSP,JobLevel+(BaseLevel-60);
+ addtoskill(TMW2_MPREGEN, 2, 2);
+ bonus bMaxHPrate, -16;
+ bonus bDef,-327; //bonus bDef,-32767;
+ // Will this work?
+ bonus3 bAutoSpell,TMW2_LIGHTNINGBOLT,min(4, BaseLevel/50),200;
+ bonus3 bAutoSpell,TMW2_METEORSHOWER,min(4, 1+JobLevel/37),100;
+ bonus3 bAutoSpell,TMW2_ARMAGEDDON,1,10;
+ bonus bSPDrainValue, -4;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+
+// System Reserved
+{
+ Id: 7142
+ AegisName: "Item7142"
+ Name: "Item 7142" // Embryo
+},
+{
+ Id: 7400
+ AegisName: "LEGACY_MiereCleaver"
+ Name: "LEGACY Miere Cleaver"
+ Type: "IT_WEAPON"
+ Buy: 95000
+ Sell: 26500
+ Weight: 900
+ Atk: 325
+ Range: 2
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 40
+ Refine: true
+ Subtype: "W_2HMACE"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Trade: {
+ partneroverride: true
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ bonus bStr, 2;
+ bonus bDex, -3;
+ bonus bAgi, -5;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 7401
+ AegisName: "LEGACY_Broadsword"
+ Name: "LEGACY Broadsword"
+ Type: "IT_WEAPON"
+ Buy: 950000
+ Sell: 75000
+ Weight: 1100
+ Atk: 385
+ Range: 2
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 50
+ Refine: true
+ Subtype: "W_2HMACE"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Trade: {
+ partneroverride: true
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ bonus bStr, 3;
+ bonus bDex, -2;
+ bonus bDef, -2;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 7402
+ AegisName: "RentCart"
+ Name: "Rented Cart"
+ Type: "IT_ARMOR"
+ Loc: ["EQP_HAND_L", "EQP_SHADOW_SHOES"]
+ Buy: 7500000
+ Sell: 5000
+ Weight: 100
+ Refine: false
+ WeaponLv: 1
+ EquipLv: 1
+ Trade: {
+ notrade: true
+ nodrop: true
+ nocart: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ skill MC_PUSHCART, 2;
+ skill MC_VENDING, 8;
+ ">
+ OnEquipScript: <"
+ setcart 1;
+ ">
+ OnUnequipScript: <"
+ setcart 0;
+ ">
+},
+// Event Skill Cards
+{
+ Id: 7403
+ AegisName: "FalkonCard"
+ Name: "Falkon Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ skill SM_BASH, 1;
+ ">
+},
+{
+ Id: 7404
+ AegisName: "ArrowShowerCard"
+ Name: "Arrow Shower Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ skill AC_SHOWER, 1;
+ ">
+},
+{
+ Id: 7405
+ AegisName: "FireballCard"
+ Name: "Fireball Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ skill MG_FIREBALL, 1;
+ ">
+},
+{
+ Id: 7406
+ AegisName: "HealCard"
+ Name: "Heal Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ skill AL_HEAL, 1;
+ ">
+},
+{
+ Id: 7407
+ AegisName: "NatureWallCard"
+ Name: "Nature Wall Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ skill MG_FIREWALL, 1;
+ ">
+},
+{
+ Id: 7408
+ AegisName: "LastStandCard"
+ Name: "Last Stand Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ skill CR_TRUST, 1;
+ skill ALL_FULL_THROTTLE, 1;
+ ">
+},
+{
+ Id: 7409
+ AegisName: "FullPowerCard"
+ Name: "Full Power Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ skill SA_FREECAST, 1;
+ skill HW_MAGICPOWER, 1;
+ ">
+},
+{
+ Id: 7410
+ AegisName: "MagicalMVPCard"
+ Name: "Magical MVP Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ skill MG_SOULSTRIKE, 1;
+ skill WZ_FROSTNOVA, 1;
+ ">
+},
+{
+ Id: 7411
+ AegisName: "HighPriestCard"
+ Name: "High Priest Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ skill AL_HOLYLIGHT, 1;
+ skill AB_HIGHNESSHEAL, 1;
+ ">
+},
+{
+ Id: 7412
+ AegisName: "SupremeWarriorCard"
+ Name: "Supreme Warrior Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ skill KN_AUTOCOUNTER, 1;
+ skill ASC_METEORASSAULT, 1;
+ ">
+},
+{
+ Id: 7413
+ AegisName: "SupremeRangerCard"
+ Name: "Supreme Ranger Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ skill AC_VULTURE, 1;
+ skill SN_SHARPSHOOTING, 1;
+ ">
+},
+{
+ Id: 7414
+ AegisName: "CowardCard"
+ Name: "Coward Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ skill NV_TRICKDEAD, 1;
+ skill TF_BACKSLIDING, 1;
+ skill GC_DARKILLUSION, 1;
+ ">
+},
+// TODO
+{
+ Id: 7415
+ AegisName: "Event1HSword"
+ Name: "EVENT Single Hand Sword"
+ Type: "IT_WEAPON"
+ Buy: 95000
+ Sell: 265
+ Weight: 900
+ Atk: 0
+ Range: 1
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 1
+ Refine: true
+ Subtype: "W_1HSWORD"
+ Slots: 3
+ AllowCards: {
+ id7403: 1
+ id7404: 1
+ id7405: 1
+ id7406: 1
+ id7407: 1
+ id7408: 1
+ id7409: 1
+ id7410: 1
+ id7411: 1
+ id7412: 1
+ id7413: 1
+ id7414: 1
+ id7419: 1
+ }
+ Trade: {
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ bonus bAtk,BaseLevel*6;
+ bonus bMatk,0;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 7416
+ AegisName: "Event2HSword"
+ Name: "EVENT Two Hands Sword"
+ Type: "IT_WEAPON"
+ Buy: 95000
+ Sell: 265
+ Weight: 900
+ Atk: 0
+ Range: 2
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 1
+ Refine: true
+ Subtype: "W_2HMACE"
+ Slots: 3
+ AllowCards: {
+ id7403: 1
+ id7404: 1
+ id7405: 1
+ id7406: 1
+ id7407: 1
+ id7408: 1
+ id7409: 1
+ id7410: 1
+ id7411: 1
+ id7412: 1
+ id7413: 1
+ id7414: 1
+ id7419: 1
+ }
+ Trade: {
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ bonus bAtk,BaseLevel*8;
+ bonus bMatk,0;
+ bonus bAgi, -(BaseLevel/10);
+ bonus bHit, (BaseLevel/20);
+ bonus bDef, -(BaseLevel*8/10);
+ bonus bCritical, min(20, BaseLevel/5);
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 7417
+ AegisName: "EventBow"
+ Name: "EVENT Bow"
+ Type: "IT_WEAPON"
+ Buy: 95000
+ Sell: 265
+ Weight: 900
+ Atk: 0
+ Range: 6
+ Loc: "EQP_HAND_R"
+ WeaponLv: 1
+ EquipLv: 1
+ Refine: true
+ Subtype: "W_BOW"
+ Slots: 3
+ AllowCards: {
+ id7403: 1
+ id7404: 1
+ id7405: 1
+ id7406: 1
+ id7407: 1
+ id7408: 1
+ id7409: 1
+ id7410: 1
+ id7411: 1
+ id7412: 1
+ id7413: 1
+ id7414: 1
+ id7419: 1
+ }
+ Trade: {
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ bonus bAtk,BaseLevel*6;
+ bonus bMatk,0;
+ bonus2 bAddMonsterDropChainItem,ITMCHAIN_ARROW,RC_All;
+ bonus bFleeRate,-100;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+{
+ Id: 7418
+ AegisName: "EventWand"
+ Name: "EVENT Wand"
+ Type: "IT_WEAPON"
+ Buy: 95000
+ Sell: 265
+ Weight: 900
+ Matk: 1
+ Range: 9
+ Loc: ["EQP_HAND_R", "EQP_HAND_L"]
+ WeaponLv: 1
+ EquipLv: 1
+ Refine: true
+ Subtype: "W_STAFF"
+ Slots: 3
+ AllowCards: {
+ id7403: 1
+ id7404: 1
+ id7405: 1
+ id7406: 1
+ id7407: 1
+ id7408: 1
+ id7409: 1
+ id7410: 1
+ id7411: 1
+ id7412: 1
+ id7413: 1
+ id7414: 1
+ id7419: 1
+ }
+ Trade: {
+ notrade: true
+ nodrop: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ bonus bAtk,0;
+ bonus bMatk,BaseLevel*6;
+ bonus bMaxSP,BaseLevel/2;
+ addtoskill(TMW2_MPREGEN, max(1, 7-BaseLevel/20), 2);
+ bonus bDef,-327; //bonus bDef,-32767;
+ skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+// Cards I've missed
+{
+ Id: 7419
+ AegisName: "VersatileCard"
+ Name: "Versatile Card"
+ Type: "IT_CARD"
+ Buy: 50
+ Sell: 25
+ Weight: 4
+ Loc: 2097151
+ Script: <"
+ skill AC_CHARGEARROW, 1;
+ skill MC_MAMMONITE, 1;
+ skill AL_HEAL, 1;
+ ">
+},
+
+{
+ Id: 7420
+ AegisName: "DeathPenality"
+ Name: "Acorn Of Death"
+ Type: "IT_HEALING"
+ Buy: 10
+ Sell: 1
+ Weight: 1
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ if (@useType == 1) {
+ callfunc "ItHeal", 3, 8, 30;
+ } else {
+ if (!getmapxy(.@map$, .@x, .@y, 0)) {
+ monster(.@map$, .@x, .@y, l("Oak"), 1017, 1);
+ $TREE_PLANTED+=+1;
+ callfunc "SaggyScoreUpdate", callfunc("rand2", 1, 2);
+ }
+ }
+ ">
+},
+{
+ Id: 7421
+ AegisName: "Skypiercer"
+ Name: "Savior Sky Piercer"
+ Type: "IT_WEAPON"
+ Buy: 1500000
+ Sell: 500000
+ Weight: 2700
+ Atk: 109
+ Matk: 55
+ Range: 1
+ Loc: "EQP_HAND_L"
+ WeaponLv: 1
+ EquipLv: 109
+ Refine: true
+ Subtype: "W_KATAR"
+ Slots: 1
+ AllowCards: {
+ id5022: 1
+ id5023: 1
+ id5024: 1
+ id5025: 1
+ id5026: 1
+ id5027: 1
+ id5028: 1
+ id5029: 1
+ id5037: 1
+ id5038: 1
+ id5039: 1
+ id5040: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ id5041: 1
+ id5042: 1
+ id5043: 1
+ id5044: 1
+ id5045: 1
+ id5046: 1
+ id5047: 1
+ id5048: 1
+ id5049: 1
+ id5050: 1
+ id5051: 1
+ id5052: 1
+ id5053: 1
+ id5054: 1
+ id5055: 1
+ id5056: 1
+ id5057: 1
+ id5058: 1
+ id5059: 1
+ id5060: 1
+ id5061: 1
+ id5062: 1
+ id5063: 1
+ id5064: 1
+ }
+ Script: <"
+ bonus bFleeRate, -50;
+ bonus bDefRate, -50;
+ bonus bDef2Rate, -50;
+ bonus bMdefRate, -50;
+ bonus bMdef2Rate, -50;
+ bonus bFlee2Rate, 25;
+ bonus bAtkRate, min(100, max(0, BaseLevel-109));
+ bonus bMatkRate, min(100, max(0, BaseLevel-109)/2);
+ //bonus bAtk, getrefine()*2;
+ //skill TMW2_OVERLOAD, getrefine();
+ ">
+},
+// Fake Items
+{
+ Id: 7436
+ AegisName: "CRITEM_BASE"
+ Name: "Crafting Basic Skills"
+},
+{
+ Id: 7437
+ AegisName: "CRITEM_ATK"
+ Name: "Crafting Attack"
+},
+{
+ Id: 7438
+ AegisName: "CRITEM_DEF"
+ Name: "Crafting Defense"
+},
+{
+ Id: 7439
+ AegisName: "CRITEM_ACC"
+ Name: "Crafting Accuracy"
+},
+{
+ Id: 7440
+ AegisName: "CRITEM_EVD"
+ Name: "Crafting Evasion"
+},
+{
+ Id: 7441
+ AegisName: "CRITEM_REGEN"
+ Name: "Crafting Regeneration"
+},
+{
+ Id: 7442
+ AegisName: "CRITEM_SPEED"
+ Name: "Crafting Speed"
+},
+{
+ Id: 7443
+ AegisName: "CRITEM_DOUBLE"
+ Name: "Crafting Double Power"
+},
+{
+ Id: 7444
+ AegisName: "CRITEM_MAXPC"
+ Name: "Crafting Max Stats"
+},
+{
+ Id: 7445
+ AegisName: "CRITEM_SCRESIST"
+ Name: "Crafting SC Resist"
+},
+{
+ Id: 7446
+ AegisName: "CRITEM_SCINFLICT"
+ Name: "Crafting SC Inflict"
+},
+{
+ Id: 7447
+ AegisName: "CRITEM_MANAUSE"
+ Name: "Crafting Mana Economy"
+},
+{
+ Id: 7448
+ AegisName: "CRITEM_BOSSATK"
+ Name: "Crafting Boss Techiniques"
+},
+{
+ Id: 7449
+ AegisName: "CRITEM_FINAL"
+ Name: "Crafting Exp Up"
+},
+
+// Other Gacha
+{
+ Id: 7450
+ AegisName: "AlchemyBlueprintA"
+ Name: "Alchemy Blueprint A"
+ Type: "IT_USABLE"
+ Buy: 3000
+ Sell: 0
+ Weight: 40
+ Script: <"
+ if (!CRAFTQUEST) {
+ getitem AlchemyBlueprintA, 1;
+ dispbottom l("You need a @@ to use this.", getitemlink(RecipeBook));
+ end;
+ }
+ .@seed=rand(0, 10000)-BaseLevel-readparam(bLuk);
+
+ if (.@seed < 100)
+ callfunc("MakeBlueprint", CRAFT_ALCHEMY, CRAFT_INTERMEDIARY);
+ else if (.@seed < 2000)
+ callfunc("MakeBlueprint", CRAFT_ALCHEMY, CRAFT_BASIC | CRAFT_INTERMEDIARY);
+ else
+ callfunc("MakeBlueprint", CRAFT_ALCHEMY, CRAFT_BASIC);
+ ">
+},
+{
+ Id: 7451
+ AegisName: "AlchemyBlueprintB"
+ Name: "Alchemy Blueprint B"
+ Type: "IT_USABLE"
+ Buy: 6000
+ Sell: 0
+ Weight: 40
+ Script: <"
+ if (!CRAFTQUEST) {
+ getitem AlchemyBlueprintB, 1;
+ dispbottom l("You need a @@ to use this.", getitemlink(RecipeBook));
+ end;
+ }
+ .@seed=rand(0, 10000)-BaseLevel-readparam(bLuk);
+
+ // 1% to above, 19% to above + current, 10% to below + current.
+ if (.@seed < 100)
+ callfunc("MakeBlueprint", CRAFT_ALCHEMY, CRAFT_ADVANCED);
+ else if (.@seed < 2000)
+ callfunc("MakeBlueprint", CRAFT_ALCHEMY, CRAFT_INTERMEDIARY | CRAFT_ADVANCED);
+ else if (.@seed < 3000)
+ callfunc("MakeBlueprint", CRAFT_ALCHEMY, CRAFT_BASIC | CRAFT_INTERMEDIARY);
+ else
+ callfunc("MakeBlueprint", CRAFT_ALCHEMY, CRAFT_INTERMEDIARY);
+ ">
+},
+{
+ Id: 7452
+ AegisName: "AlchemyBlueprintC"
+ Name: "Alchemy Blueprint C"
+ Type: "IT_USABLE"
+ Buy: 9000
+ Sell: 0
+ Weight: 40
+ Script: <"
+ if (!CRAFTQUEST) {
+ getitem AlchemyBlueprintC, 1;
+ dispbottom l("You need a @@ to use this.", getitemlink(RecipeBook));
+ end;
+ }
+ .@seed=rand(0, 10000)-BaseLevel-readparam(bLuk);
+
+ // 1% to above, 19% to above + current, 10% to below + current.
+ if (.@seed < 100)
+ callfunc("MakeBlueprint", CRAFT_ALCHEMY, CRAFT_EXPERT);
+ else if (.@seed < 2000)
+ callfunc("MakeBlueprint", CRAFT_ALCHEMY, CRAFT_ADVANCED | CRAFT_EXPERT);
+ else if (.@seed < 3000)
+ callfunc("MakeBlueprint", CRAFT_ALCHEMY, CRAFT_INTERMEDIARY | CRAFT_ADVANCED);
+ else
+ callfunc("MakeBlueprint", CRAFT_ALCHEMY, CRAFT_ADVANCED);
+ ">
+},
+{
+ Id: 7453
+ AegisName: "AlchemyBlueprintD"
+ Name: "Alchemy Blueprint D"
+ Type: "IT_USABLE"
+ Buy: 12000
+ Sell: 0
+ Weight: 40
+ Script: <"
+ if (!CRAFTQUEST) {
+ getitem AlchemyBlueprintD, 1;
+ dispbottom l("You need a @@ to use this.", getitemlink(RecipeBook));
+ end;
+ }
+ .@seed=rand(0, 10000)-BaseLevel-readparam(bLuk);
+
+ // 1% to above, 19% to above + current, 10% to below + current.
+ if (.@seed < 100)
+ callfunc("MakeBlueprint", CRAFT_ALCHEMY, CRAFT_MASTER);
+ else if (.@seed < 2000)
+ callfunc("MakeBlueprint", CRAFT_ALCHEMY, CRAFT_EXPERT | CRAFT_MASTER);
+ else if (.@seed < 3000)
+ callfunc("MakeBlueprint", CRAFT_ALCHEMY, CRAFT_ADVANCED | CRAFT_EXPERT);
+ else
+ callfunc("MakeBlueprint", CRAFT_ALCHEMY, CRAFT_EXPERT);
+ ">
+},
+{
+ Id: 7454
+ AegisName: "AlchemyBlueprintE"
+ Name: "Alchemy Blueprint E"
+ Type: "IT_USABLE"
+ Buy: 15000
+ Sell: 0
+ Weight: 40
+ Script: <"
+ if (!CRAFTQUEST) {
+ getitem AlchemyBlueprintE, 1;
+ dispbottom l("You need a @@ to use this.", getitemlink(RecipeBook));
+ end;
+ }
+ .@seed=rand(0, 10000)-BaseLevel-readparam(bLuk);
+
+ // 30% to below + current.
+ if (.@seed < 3000)
+ callfunc("MakeBlueprint", CRAFT_ALCHEMY, CRAFT_MASTER | CRAFT_EXPERT);
+ else
+ callfunc("MakeBlueprint", CRAFT_ALCHEMY, CRAFT_MASTER);
+ ">
+},
+
+{
+ Id: 7460
+ AegisName: "EquipmentBlueprintA"
+ Name: "Equipment Blueprint A"
+ Type: "IT_USABLE"
+ Buy: 3000
+ Sell: 0
+ Weight: 40
+ Script: <"
+ if (!CRAFTQUEST) {
+ getitem EquipmentBlueprintA, 1;
+ dispbottom l("You need a @@ to use this.", getitemlink(RecipeBook));
+ end;
+ }
+ .@seed=rand(0, 10000)-BaseLevel-readparam(bLuk);
+
+ if (.@seed < 100)
+ callfunc("MakeBlueprint", CRAFT_EQUIPMENT, CRAFT_INTERMEDIARY);
+ else if (.@seed < 2000)
+ callfunc("MakeBlueprint", CRAFT_EQUIPMENT, CRAFT_BASIC | CRAFT_INTERMEDIARY);
+ else
+ callfunc("MakeBlueprint", CRAFT_EQUIPMENT, CRAFT_BASIC);
+ ">
+},
+{
+ Id: 7461
+ AegisName: "EquipmentBlueprintB"
+ Name: "Equipment Blueprint B"
+ Type: "IT_USABLE"
+ Buy: 6000
+ Sell: 0
+ Weight: 40
+ Script: <"
+ if (!CRAFTQUEST) {
+ getitem EquipmentBlueprintB, 1;
+ dispbottom l("You need a @@ to use this.", getitemlink(RecipeBook));
+ end;
+ }
+ .@seed=rand(0, 10000)-BaseLevel-readparam(bLuk);
+
+ // 1% to above, 19% to above + current, 10% to below + current.
+ if (.@seed < 100)
+ callfunc("MakeBlueprint", CRAFT_EQUIPMENT, CRAFT_ADVANCED);
+ else if (.@seed < 2000)
+ callfunc("MakeBlueprint", CRAFT_EQUIPMENT, CRAFT_INTERMEDIARY | CRAFT_ADVANCED);
+ else if (.@seed < 3000)
+ callfunc("MakeBlueprint", CRAFT_EQUIPMENT, CRAFT_BASIC | CRAFT_INTERMEDIARY);
+ else
+ callfunc("MakeBlueprint", CRAFT_EQUIPMENT, CRAFT_INTERMEDIARY);
+ ">
+},
+{
+ Id: 7462
+ AegisName: "EquipmentBlueprintC"
+ Name: "Equipment Blueprint C"
+ Type: "IT_USABLE"
+ Buy: 9000
+ Sell: 0
+ Weight: 40
+ Script: <"
+ if (!CRAFTQUEST) {
+ getitem EquipmentBlueprintC, 1;
+ dispbottom l("You need a @@ to use this.", getitemlink(RecipeBook));
+ end;
+ }
+ .@seed=rand(0, 10000)-BaseLevel-readparam(bLuk);
+
+ // 1% to above, 19% to above + current, 10% to below + current.
+ if (.@seed < 100)
+ callfunc("MakeBlueprint", CRAFT_EQUIPMENT, CRAFT_EXPERT);
+ else if (.@seed < 2000)
+ callfunc("MakeBlueprint", CRAFT_EQUIPMENT, CRAFT_ADVANCED | CRAFT_EXPERT);
+ else if (.@seed < 3000)
+ callfunc("MakeBlueprint", CRAFT_EQUIPMENT, CRAFT_INTERMEDIARY | CRAFT_ADVANCED);
+ else
+ callfunc("MakeBlueprint", CRAFT_EQUIPMENT, CRAFT_ADVANCED);
+ ">
+},
+{
+ Id: 7463
+ AegisName: "EquipmentBlueprintD"
+ Name: "Equipment Blueprint D"
+ Type: "IT_USABLE"
+ Buy: 12000
+ Sell: 0
+ Weight: 40
+ Script: <"
+ if (!CRAFTQUEST) {
+ getitem EquipmentBlueprintD, 1;
+ dispbottom l("You need a @@ to use this.", getitemlink(RecipeBook));
+ end;
+ }
+ .@seed=rand(0, 10000)-BaseLevel-readparam(bLuk);
+
+ // 1% to above, 19% to above + current, 10% to below + current.
+ if (.@seed < 100)
+ callfunc("MakeBlueprint", CRAFT_EQUIPMENT, CRAFT_MASTER);
+ else if (.@seed < 2000)
+ callfunc("MakeBlueprint", CRAFT_EQUIPMENT, CRAFT_EXPERT | CRAFT_MASTER);
+ else if (.@seed < 3000)
+ callfunc("MakeBlueprint", CRAFT_EQUIPMENT, CRAFT_ADVANCED | CRAFT_EXPERT);
+ else
+ callfunc("MakeBlueprint", CRAFT_EQUIPMENT, CRAFT_EXPERT);
+ ">
+},
+{
+ Id: 7464
+ AegisName: "EquipmentBlueprintE"
+ Name: "Equipment Blueprint E"
+ Type: "IT_USABLE"
+ Buy: 15000
+ Sell: 0
+ Weight: 40
+ Script: <"
+ if (!CRAFTQUEST) {
+ getitem EquipmentBlueprintE, 1;
+ dispbottom l("You need a @@ to use this.", getitemlink(RecipeBook));
+ end;
+ }
+ .@seed=rand(0, 10000)-BaseLevel-readparam(bLuk);
+
+ // 30% to below + current.
+ if (.@seed < 3000)
+ callfunc("MakeBlueprint", CRAFT_EQUIPMENT, CRAFT_MASTER | CRAFT_EXPERT);
+ else
+ callfunc("MakeBlueprint", CRAFT_EQUIPMENT, CRAFT_MASTER);
+ ">
+},
+{
+ Id: 7465
+ AegisName: "TerraniteBlueprint"
+ Name: "Terranite Blueprint"
+ Type: "IT_USABLE"
+ Buy: 1150
+ Sell: 300
+ Weight: 40
+ Script: <"
+ callfunc("TerraniteBlueprint");
+ ">
+},
+// 7466 free
+{
+ Id: 7467
+ AegisName: "SaviorBlueprint"
+ Name: "Savior Blueprint"
+ Type: "IT_USABLE"
+ Buy: 10000
+ Sell: 3000
+ Weight: 40
+ Script: <"
+ callfunc("LegendaryBlueprint");
+ ">
+},
+
+{
+ Id: 7470
+ AegisName: "AncientBlueprint"
+ Name: "Ancient Blueprint"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 40
+ Script: <"
+ if (!CRAFTQUEST) {
+ getitem AncientBlueprint, 1;
+ dispbottom l("You need a @@ to use this.", getitemlink(RecipeBook));
+ end;
+ }
+ if (!getskilllv(TMW2_ANCIENTLANGUAGES)) {
+ getitem AncientBlueprint, 1;
+ dispbottom l("You cannot understand what's written.");
+ end;
+ }
+ callfunc("MakeRandomBlueprint");
+ ">
+},
+{
+ Id: 7471
+ AegisName: "ArcmageBoxset"
+ Name: "Arcmage Boxset"
+ Type: "IT_USABLE"
+ Buy: 1150
+ Sell: 300
+ Weight: 40
+ Script: <"
+ callfunc("MakeRandomArcmageCard");
+ ">
+},
+
+
+// Mercenary boxsets and cards
+{
+ Id: 7500
+ AegisName: "MercBoxA"
+ Name: "Mercenary Boxset A"
+ Type: "IT_USABLE"
+ Buy: 500
+ Sell: 0
+ Weight: 85
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ if (BaseLevel >= 80)
+ .@v1=50;
+ if (BaseLevel >= 60)
+ .@v2=250;
+ else
+ .@v2=BaseLevel*2;
+ if (BaseLevel >= 40) {
+ .@v3=1250;
+ .@v4=5750;
+ .@v5=4250;
+ } else {
+ .@v3=BaseLevel*3;
+ .@v4=3750;
+ .@v5=6250;
+ }
+ callfunc "merc_boxset", .@v1, .@v2, .@v3, .@v4, .@v5;
+ if (rand(10000) < (REBIRTH+1)*BaseLevel)
+ callfunc "merc_boxset", 5, 4, 3, 2, 10000;
+ ">
+},
+{
+ Id: 7501
+ AegisName: "MercBoxB"
+ Name: "Mercenary Boxset B"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 115
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ callfunc "merc_boxset", 100, 600, 2100, 5600, 4400;
+ if (rand(10000) < (REBIRTH+1)*BaseLevel)
+ callfunc "merc_boxset", 5, 4, 3, 10000, 1;
+ ">
+},
+{
+ Id: 7502
+ AegisName: "MercBoxC"
+ Name: "Mercenary Boxset C"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 135
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ callfunc "merc_boxset", 200, 1200, 4200, 9200, 800;
+ if (rand(10000) < (REBIRTH+1)*BaseLevel)
+ callfunc "merc_boxset", 5, 4, 10000, 2, 1;
+ ">
+},
+{
+ Id: 7503
+ AegisName: "MercBoxD"
+ Name: "Mercenary Boxset D"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 135
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ callfunc "merc_boxset", 400, 1600, 5800, 7200, 600;
+ if (rand(10000) < (REBIRTH+1)*BaseLevel)
+ callfunc "merc_boxset", 5, 10000, 3, 2, 1;
+ ">
+},
+{
+ Id: 7504
+ AegisName: "MercBoxE"
+ Name: "Mercenary Boxset E"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 135
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ callfunc "merc_boxset", 1000, 5400, 5700, 3200, 300;
+ if (rand(10000) < (REBIRTH+1)*BaseLevel)
+ callfunc "merc_boxset", 10000, 4, 3, 2, 1;
+ ">
+},
+{
+ Id: 7505
+ AegisName: "MercBoxAA"
+ Name: "Mercenary Boxset AA"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 135
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ callfunc "merc_boxset", BaseLevel/40, BaseLevel/20, BaseLevel, BaseLevel*2, 9000;
+ ">
+},
+{
+ Id: 7506
+ AegisName: "MercBoxBB"
+ Name: "Mercenary Boxset BB"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 135
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ callfunc "merc_boxset", BaseLevel/40, BaseLevel/20, BaseLevel, 9000, BaseLevel*2;
+ ">
+},
+{
+ Id: 7507
+ AegisName: "MercBoxCC"
+ Name: "Mercenary Boxset CC"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 135
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ callfunc "merc_boxset", BaseLevel/40, BaseLevel/20, 9000, BaseLevel, BaseLevel*2;
+ ">
+},
+{
+ Id: 7508
+ AegisName: "MercBoxDD"
+ Name: "Mercenary Boxset DD"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 135
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ callfunc "merc_boxset", BaseLevel/40, 9000, BaseLevel/20, BaseLevel, BaseLevel*2;
+ ">
+},
+{
+ Id: 7509
+ AegisName: "MercBoxEE"
+ Name: "Mercenary Boxset EE"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 135
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ callfunc "merc_boxset", 9000, BaseLevel/40, BaseLevel/20, BaseLevel, BaseLevel*2;
+ ">
+},
+
+{
+ Id: 7510
+ AegisName: "MercCard_AndreiSakar"
+ Name: "Andrei Sakar Card"
+ Type: "IT_USABLE"
+ Buy: 70000
+ Sell: 3500
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ Script: <"
+ mercenary_create 1192, 600000;
+ if (rand(1,5) == 4)
+ getitem MercBoxA, 1;
+ ">
+},
+{
+ Id: 7511
+ AegisName: "MercCard_Lilanna"
+ Name: "Lilanna Card"
+ Type: "IT_USABLE"
+ Buy: 70000
+ Sell: 3500
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ Script: <"
+ mercenary_create 1193, 900000;
+ if (rand(1,5) == 4)
+ getitem MercBoxA, 1;
+ ">
+},
+{
+ Id: 7512
+ AegisName: "MercCard_Woody"
+ Name: "Woody Card"
+ Type: "IT_USABLE"
+ Buy: 70000
+ Sell: 3500
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ Script: <"
+ mercenary_create 1191, 900000;
+ if (rand(1,5) == 4)
+ getitem MercBoxA, 1;
+ ">
+},
+{
+ Id: 7513
+ AegisName: "MercCard_Xanthem"
+ Name: "Xanthem Card"
+ Type: "IT_USABLE"
+ Buy: 70000
+ Sell: 3500
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ Script: <"
+ mercenary_create 1210, 900000;
+ if (rand(1,5) == 4)
+ getitem MercBoxA, 1;
+ ">
+},
+
+{
+ Id: 7530
+ AegisName: "MercCard_Aisen"
+ Name: "Aisen Card"
+ Type: "IT_USABLE"
+ Buy: 60000
+ Sell: 3000
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ Script: <"
+ mercenary_create 1194, 900000;
+ if (rand(1,5) == 4)
+ getitem MercBoxA, 1;
+ ">
+},
+{
+ Id: 7531
+ AegisName: "MercCard_Msawis"
+ Name: "Msawis Card"
+ Type: "IT_USABLE"
+ Buy: 60000
+ Sell: 3000
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ Script: <"
+ mercenary_create 1195, 900000;
+ if (rand(1,5) == 4)
+ getitem MercBoxA, 1;
+ ">
+},
+{
+ Id: 7532
+ AegisName: "MercCard_DragonStar"
+ Name: "Dragon Star Card"
+ Type: "IT_USABLE"
+ Buy: 60000
+ Sell: 3000
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ Script: <"
+ mercenary_create 1205, 900000;
+ if (rand(1,5) == 4)
+ getitem MercBoxA, 1;
+ ">
+},
+{
+ Id: 7533
+ AegisName: "MercCard_Swezanne"
+ Name: "Swezanne Card"
+ Type: "IT_USABLE"
+ Buy: 60000
+ Sell: 3000
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ Script: <"
+ mercenary_create 1209, 900000;
+ if (rand(1,5) == 4)
+ getitem MercBoxA, 1;
+ ">
+},
+
+{
+ Id: 7550
+ AegisName: "MercCard_Saulc"
+ Name: "Saulc Card"
+ Type: "IT_USABLE"
+ Buy: 50000
+ Sell: 2500
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ Script: <"
+ mercenary_create 1196, 900000;
+ if (rand(1,5) == 4)
+ getitem MercBoxA, 1;
+ ">
+},
+{
+ Id: 7551
+ AegisName: "MercCard_Crazyfefe"
+ Name: "Crazyfefe Card"
+ Type: "IT_USABLE"
+ Buy: 50000
+ Sell: 2500
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ Script: <"
+ mercenary_create 1197, 900000;
+ if (rand(1,5) == 4)
+ getitem MercBoxA, 1;
+ ">
+},
+{
+ Id: 7552
+ AegisName: "MercCard_LawnCable"
+ Name: "Lawn Cable Card"
+ Type: "IT_USABLE"
+ Buy: 50000
+ Sell: 2500
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ Script: <"
+ mercenary_create 1198, 900000;
+ if (rand(1,5) == 4)
+ getitem MercBoxA, 1;
+ ">
+},
+{
+ Id: 7553
+ AegisName: "MercCard_Arthur"
+ Name: "Arthur Card"
+ Type: "IT_USABLE"
+ Buy: 50000
+ Sell: 2500
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ Script: <"
+ mercenary_create 1208, 900000;
+ if (rand(1,5) == 4)
+ getitem MercBoxA, 1;
+ ">
+},
+
+{
+ Id: 7570
+ AegisName: "MercCard_Pookie"
+ Name: "Pookie Card"
+ Type: "IT_USABLE"
+ Buy: 40000
+ Sell: 2000
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ Script: <"
+ mercenary_create 1200, 900000;
+ if (rand(1,5) == 4)
+ getitem MercBoxA, 1;
+ ">
+},
+{
+ Id: 7571
+ AegisName: "MercCard_Jesusalva"
+ Name: "Jesusalva Card"
+ Type: "IT_USABLE"
+ Buy: 40000
+ Sell: 2000
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ Script: <"
+ mercenary_create 1201, 900000;
+ if (rand(1,5) == 4)
+ getitem MercBoxA, 1;
+ ">
+},
+{
+ Id: 7572
+ AegisName: "MercCard_Demure"
+ Name: "Demure Card"
+ Type: "IT_USABLE"
+ Buy: 40000
+ Sell: 2000
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ Script: <"
+ mercenary_create 1199, 900000;
+ if (rand(1,5) == 4)
+ getitem MercBoxA, 1;
+ ">
+},
+{
+ Id: 7573
+ AegisName: "MercCard_EarthWitch"
+ Name: "Earth Witch Card"
+ Type: "IT_USABLE"
+ Buy: 40000
+ Sell: 2000
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ Script: <"
+ mercenary_create 1207, 900000;
+ if (rand(1,5) == 4)
+ getitem MercBoxA, 1;
+ ">
+},
+
+{
+ Id: 7590
+ AegisName: "MercCard_Apane"
+ Name: "Apane Card"
+ Type: "IT_USABLE"
+ Buy: 30000
+ Sell: 1500
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ Script: <"
+ mercenary_create 1203, 900000;
+ if (rand(1,5) == 4)
+ getitem MercBoxA, 1;
+ ">
+},
+{
+ Id: 7591
+ AegisName: "MercCard_Soren"
+ Name: "Soren Card"
+ Type: "IT_USABLE"
+ Buy: 30000
+ Sell: 1500
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ Script: <"
+ mercenary_create 1204, 900000;
+ if (rand(1,5) == 4)
+ getitem MercBoxA, 1;
+ ">
+},
+{
+ Id: 7592
+ AegisName: "MercCard_GonzoDark"
+ Name: "Gonzo Dark Card"
+ Type: "IT_USABLE"
+ Buy: 30000
+ Sell: 1500
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ Script: <"
+ mercenary_create 1202, 900000;
+ if (rand(1,5) == 4)
+ getitem MercBoxA, 1;
+ ">
+},
+{
+ Id: 7593
+ AegisName: "MercCard_Rosa"
+ Name: "Rosa Card"
+ Type: "IT_USABLE"
+ Buy: 30000
+ Sell: 1500
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ Script: <"
+ mercenary_create 1206, 900000;
+ if (rand(1,5) == 4)
+ getitem MercBoxA, 1;
+ ">
+},
+{
+ Id: 7594
+ AegisName: "MercCard_EH"
+ Name: "Event Horizon Card"
+ Type: "IT_USABLE"
+ Buy: 1000000
+ Sell: 0
+ Weight: 0
+ Delay: 500
+ UseEffect: "FX_MAGIC"
+ KeepAfterUse: true
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ mercenary_create 1211, 3600000;
+ if (rand(100) % 5 == 1)
+ delitem 7594, 1;
+ ">
+},
+// Additional usable items
+{
+ Id: 8000
+ AegisName: "StrengthFruit"
+ Name: "Strength Fruit"
+ Type: "IT_USABLE"
+ Buy: 500000
+ Sell: 1500
+ Weight: 10
+ Delay: 500
+ Script: <"
+ statusup2(bStr, 1);
+ STATUSUP_STR+=1;
+ ">
+},
+{
+ Id: 8001
+ AegisName: "AgilityFruit"
+ Name: "Agility Fruit"
+ Type: "IT_USABLE"
+ Buy: 500000
+ Sell: 1500
+ Weight: 10
+ Delay: 500
+ Script: <"
+ statusup2(bAgi, 1);
+ STATUSUP_AGI+=1;
+ ">
+},
+{
+ Id: 8002
+ AegisName: "VitalityFruit"
+ Name: "Vitality Fruit"
+ Type: "IT_USABLE"
+ Buy: 500000
+ Sell: 1500
+ Weight: 10
+ Delay: 500
+ Script: <"
+ statusup2(bVit, 1);
+ STATUSUP_VIT+=1;
+ ">
+},
+{
+ Id: 8003
+ AegisName: "IntelligenceFruit"
+ Name: "Intelligence Fruit"
+ Type: "IT_USABLE"
+ Buy: 500000
+ Sell: 1500
+ Weight: 10
+ Delay: 500
+ Script: <"
+ statusup2(bInt, 1);
+ STATUSUP_INT+=1;
+ ">
+},
+{
+ Id: 8004
+ AegisName: "DexterityFruit"
+ Name: "Dexterity Fruit"
+ Type: "IT_USABLE"
+ Buy: 500000
+ Sell: 1500
+ Weight: 10
+ Delay: 500
+ Script: <"
+ statusup2(bDex, 1);
+ STATUSUP_DEX+=1;
+ ">
+},
+{
+ Id: 8005
+ AegisName: "LuckFruit"
+ Name: "Luck Fruit"
+ Type: "IT_USABLE"
+ Buy: 500000
+ Sell: 1500
+ Weight: 10
+ Delay: 500
+ Script: <"
+ statusup2(bLuk, 1);
+ STATUSUP_LUK+=1;
+ ">
+},
+{
+ Id: 8006
+ AegisName: "MysteriousFruit"
+ Name: "Mysterious Fruit"
+ Type: "IT_USABLE"
+ Buy: 500000
+ Sell: 1500
+ Weight: 10
+ Delay: 500
+ Script: <"
+ .@r=callfunc("rand2", bStr, bLuk);
+ switch (.@r) {
+ case bStr:
+ STATUSUP_STR+=1;
+ break;
+ case bAgi:
+ STATUSUP_AGI+=1;
+ break;
+ case bVit:
+ STATUSUP_VIT+=1;
+ break;
+ case bInt:
+ STATUSUP_INT+=1;
+ break;
+ case bDex:
+ STATUSUP_DEX+=1;
+ break;
+ case bLuk:
+ STATUSUP_LUK+=1;
+ break;
+ default: // Error
+ getitem callfunc("any", StrengthFruit, AgilityFruit, VitalityFruit, IntelligenceFruit, DexterityFruit, LuckFruit), 1;
+ end;
+ }
+ statusup2(.@r, 1);
+ ">
+},
+{
+ Id: 8007
+ AegisName: "SmallArrowSack"
+ Name: "Small Arrow Sack"
+ Type: "IT_USABLE"
+ Buy: 10
+ Sell: 5
+ Weight: 30
+ Script: <"
+ getitem TolchiArrow, rand(10, 15);
+ ">
+},
+{
+ Id: 8008
+ AegisName: "MediumArrowSack"
+ Name: "Medium Arrow Sack"
+ Type: "IT_USABLE"
+ Buy: 30
+ Sell: 15
+ Weight: 80
+ Script: <"
+ getitem TolchiArrow, rand(30, 40);
+ ">
+},
+{
+ Id: 8009
+ AegisName: "BigArrowSack"
+ Name: "Big Arrow Sack"
+ Type: "IT_USABLE"
+ Buy: 80
+ Sell: 40
+ Weight: 200
+ Script: <"
+ getitem TolchiArrow, rand(80, 100);
+ ">
+},
+{
+ Id: 8010
+ AegisName: "SmallBulletSack"
+ Name: "Small Bullet Sack"
+ Type: "IT_USABLE"
+ Buy: 120
+ Sell: 60
+ Weight: 15
+ Script: <"
+ getitem Bullet, rand(10, 15);
+ ">
+},
+{
+ Id: 8011
+ AegisName: "MediumBulletSack"
+ Name: "Medium Bullet Sack"
+ Type: "IT_USABLE"
+ Buy: 420
+ Sell: 210
+ Weight: 45
+ Script: <"
+ getitem Bullet, rand(35, 45);
+ ">
+},
+{
+ Id: 8012
+ AegisName: "BigBulletSack"
+ Name: "Big Bullet Sack"
+ Type: "IT_USABLE"
+ Buy: 960
+ Sell: 480
+ Weight: 95
+ Script: <"
+ getitem Bullet, rand(80, 95);
+ ">
+},
+{
+ Id: 8013
+ AegisName: "Dragonfruit"
+ Name: "Dragonfruit"
+ Type: "IT_HEALING"
+ Buy: 1200
+ Sell: 300
+ Weight: 14
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ callfunc("ItHeal2", 4, 2);
+ ">
+},
+{
+ Id: 8014
+ AegisName: "ChamomileTea"
+ Name: "Chamomile Tea"
+ Type: "IT_HEALING"
+ Buy: 200
+ Sell: 50
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @min = 120;
+ @max = 272;
+ @delay = 2;
+ doevent "rand_mp_heal::OnUse";
+ ">
+},
+{
+ Id: 8015
+ AegisName: "SpearmintTea"
+ Name: "Spearmint Tea"
+ Type: "IT_HEALING"
+ Buy: 500
+ Sell: 125
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @min = 300;
+ @max = 452;
+ @delay = 3;
+ doevent "rand_mp_heal::OnUse";
+ ">
+},
+{
+ Id: 8016
+ AegisName: "OolongTea"
+ Name: "Oolong Tea"
+ Type: "IT_HEALING"
+ Buy: 1500
+ Sell: 375
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @min = 480;
+ @max = 632;
+ @delay = 4;
+ doevent "rand_mp_heal::OnUse";
+ ">
+},
+{
+ Id: 8017
+ AegisName: "JasmineTea"
+ Name: "Jasmine Tea"
+ Type: "IT_HEALING"
+ Buy: 5000
+ Sell: 1250
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @min = 660;
+ @max = 812;
+ @delay = 5;
+ doevent "rand_mp_heal::OnUse";
+ ">
+},
+// Southern Sweet Tea, Orange Spice Tea, Lavender Tea
+{
+ Id: 8018
+ AegisName: "YerbaMate"
+ Name: "Yerba Mate"
+ Type: "IT_HEALING"
+ Buy: 10000
+ Sell: 2500
+ Weight: 5
+ Refine: false
+ Delay: 500
+ UseEffect: "EFFECT_HEAL"
+ Script: <"
+ @min = 840;
+ @max = 992;
+ @delay = 6;
+ doevent "rand_mp_heal::OnUse";
+ ">
+},
+{
+ Id: 8019
+ AegisName: "ScentGrenade"
+ Name: "Scented Grenade"
+ Type: "IT_USABLE"
+ Buy: 700
+ Sell: 350
+ Weight: 40
+ Refine: false
+ Delay: 500
+ UseEffect: "FX_SMOKEBOMB"
+ Script: <"
+ callfunc "massprovoke", rand(3,9);
+ ">
+},
+{
+ Id: 8020
+ AegisName: "SacredImmortalityPotion"
+ Name: "Sacred Immortality Potion"
+ Type: "IT_USABLE"
+ Buy: 1000000
+ Sell: 11100
+ Weight: 500
+ Refine: false
+ Delay: 500
+ Script: <"
+ callfunc("SC_Bonus", SC_KAIZEL, 60000, 40); // Revives with 40% HP if you die
+ ">
+},
+{
+ Id: 8021
+ AegisName: "BronzeBossGift"
+ Name: "Bronze Boss Gift"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 25
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ setarray .@r, MercBoxC, CrazyRum, Manapple, Dragonfruit, JasmineTea, TreasureMap, MysteriousBottle, Lockpicks, ArcmageBoxset, TreasureKey, CoinBag, WurtziteOre; // ~8.33% each
+ .@n=rand(getarraysize(.@r));
+ getitem .@r[.@n], 1;
+ ">
+},
+{
+ Id: 8022
+ AegisName: "SilverBossGift"
+ Name: "Silver Boss Gift"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 45
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ setarray .@r, MercBoxD, AncientBlueprint, WhiskeyAle, ElixirOfLife, Dragonfruit, YerbaMate, BronzeGift, TreasureMap, MysteriousBottle, Lockpicks, HousingLetterI, BrokenWarpCrystal, StatusResetPotion, ArcmageBoxset, TitaniumOre, LOFCoin, GrapheneStone; // ~5.88% each
+ .@n=rand(getarraysize(.@r));
+ getitem .@r[.@n], 1;
+ ">
+},
+{
+ Id: 8023
+ AegisName: "GoldenBossGift"
+ Name: "Golden Boss Gift"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 65
+ KeepAfterUse: false
+ Refine: false
+ Trade: {
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ setarray .@r, AncientBlueprint, ElixirOfLife, Manapple, SilverGift, GoldenGift, TreasureMap, MysteriousBottle, HousingLetterI, BrokenWarpCrystal, StatusResetPotion, ArcmageBoxset, SacredImmortalityPotion, BossHunterBoina, IridiumOre, DarkDesertMushroom, Arcanum; // ~6.25% each
+ .@n=rand(getarraysize(.@r));
+ getitem .@r[.@n], 1;
+ ">
+},
+{
+ Id: 8024
+ AegisName: "IcedBottle"
+ Name: "Iced Water"
+ Type: "IT_USABLE"
+ Buy: 10000
+ Sell: 500
+ Weight: 20
+ Refine: false
+ KeepAfterUse: false
+ Delay: 2000
+ Script: <"
+ // Gives you 5 extra minutes of cooldown
+ @coolio=max(gettimetick(2), @coolio)+300;
+ itemheal (MaxHp/200), 0;
+ ">
+},
+{
+ Id: 8025
+ AegisName: "LinarianSoul"
+ Name: "Linarian Soul"
+ Type: "IT_ARMOR"
+ Buy: 30
+ Sell: 10
+ Weight: 2
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 1
+ Refine: false
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 8026
+ AegisName: "TuxSoul"
+ Name: "Tux Soul"
+ Type: "IT_ARMOR"
+ Buy: 30
+ Sell: 10
+ Weight: 2
+ Loc: "EQP_HEAD_MID"
+ EquipLv: 1
+ Refine: false
+ Trade: {
+ notrade: true
+ nodrop: true
+ noselltonpc: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 8027
+ AegisName: "PurificationPotion"
+ Name: "Purification Potion"
+ Type: "IT_USABLE"
+ Buy: 10000
+ Sell: 500
+ Weight: 20
+ Refine: false
+ KeepAfterUse: false
+ Delay: 2000
+ Script: <"
+ // Gives you 5 extra minutes of cooldown
+ @purifio=max(gettimetick(2), @purifio)+300;
+ ">
+},
+{
+ Id: 8028
+ AegisName: "HomunResetPotion"
+ Name: "Homun Stat Reset Potion"
+ Type: "IT_USABLE"
+ Buy: 50000
+ Sell: 5250
+ Weight: 20
+ Refine: false
+ KeepAfterUse: false
+ Delay: 2500
+ Script: <"
+ // Reset homunculus stats
+ homshuffle();
+ dispbottom l("Homunculus stats were reset!");
+ ">
+},
+{
+ Id: 8029
+ AegisName: "InsuranceContract"
+ Name: "Insurance Contract"
+ Type: "IT_USABLE"
+ Buy: 70000
+ Sell: 5000
+ Weight: 20
+ Refine: false
+ KeepAfterUse: false
+ Delay: 200
+ Script: <"
+ callfunc("SC_Bonus", 900, SC_CASH_DEATHPENALTY, 1);
+ ">
+},
+{
+ Id: 8030
+ AegisName: "NymphPoison"
+ Name: "Nymph Poison"
+ Type: "IT_USABLE"
+ Buy: 15000
+ Sell: 250
+ Weight: 10
+ Refine: false
+ Delay: 500
+ Script: <"
+ sc_start SC_DPOISON, 30000, 10;
+ ">
+},
+{
+ Id: 8031
+ AegisName: "ScrollSMaggot"
+ Name: "Scroll Summon Maggot"
+ Type: "IT_USABLE"
+ Buy: 15000
+ Sell: 150
+ Weight: 10
+ Refine: false
+ Delay: 2500
+ Script: <"
+ callfunc "SummonScroll", Maggot, 60, GiantMaggot, 40;
+ ">
+},
+{
+ Id: 8032
+ AegisName: "ScrollSCave"
+ Name: "Scroll Summon Cave Maggot"
+ Type: "IT_USABLE"
+ Buy: 15000
+ Sell: 150
+ Weight: 10
+ Refine: false
+ Delay: 2500
+ Script: <"
+ callfunc "SummonScroll", CaveMaggot, 60;
+ ">
+},
+{
+ Id: 8033
+ AegisName: "ScrollSDragon"
+ Name: "Scroll Summon Dragon"
+ Type: "IT_USABLE"
+ Buy: 150000
+ Sell: 1500
+ Weight: 10
+ Refine: false
+ Delay: 2500
+ Script: <"
+ callfunc "SummonScroll", GreenDragon, 50, NightmareDragon, 105;
+ ">
+},
+{
+ Id: 8034
+ AegisName: "ScrollSWolvern"
+ Name: "Scroll Summon Wolvern"
+ Type: "IT_USABLE"
+ Buy: 30000
+ Sell: 300
+ Weight: 10
+ Refine: false
+ Delay: 2500
+ Script: <"
+ callfunc "SummonScroll", Wolvern, 60;
+ ">
+},
+{
+ Id: 8035
+ AegisName: "ScrollSYeti"
+ Name: "Scroll Summon Yeti"
+ Type: "IT_USABLE"
+ Buy: 75000
+ Sell: 750
+ Weight: 10
+ Refine: false
+ Delay: 2500
+ Script: <"
+ callfunc "SummonScroll", Moggun, 60, Yeti, 60;
+ ">
+},
+{
+ Id: 8036
+ AegisName: "ScrollSTerranite"
+ Name: "Scroll Summon Terranite"
+ Type: "IT_USABLE"
+ Buy: 125000
+ Sell: 1250
+ Weight: 10
+ Refine: false
+ Delay: 2500
+ Script: <"
+ callfunc "SummonScroll", Terranite, 50, TerraniteProtector, 90;
+ ">
+},
+{
+ Id: 8037
+ AegisName: "ScrollMagnusHealA"
+ Name: "Scroll Magnus Heal"
+ Type: "IT_USABLE"
+ Buy: 20000
+ Sell: 200
+ Weight: 10
+ Refine: false
+ Delay: 1500
+ Script: <"
+ @skillId=TMW2_MAGNUSHEAL; @skillLv=1;
+ @skillTarget=getcharid(3); @scriptsk=true;
+ callfunc "HUB_SkillInvoke";
+ ">
+},
+{
+ Id: 8038
+ AegisName: "ScrollMagnusHealB"
+ Name: "Scroll Magnus Heal+"
+ Type: "IT_USABLE"
+ Buy: 40000
+ Sell: 400
+ Weight: 10
+ Refine: false
+ Delay: 1500
+ Script: <"
+ @skillId=TMW2_MAGNUSHEAL; @skillLv=5;
+ @skillTarget=getcharid(3); @scriptsk=true;
+ callfunc "HUB_SkillInvoke";
+ ">
+},
+{
+ Id: 8039
+ AegisName: "ScrollMagnusHealC"
+ Name: "Scroll Magnus Heal++"
+ Type: "IT_USABLE"
+ Buy: 75000
+ Sell: 750
+ Weight: 10
+ Refine: false
+ Delay: 1500
+ Script: <"
+ @skillId=TMW2_MAGNUSHEAL; @skillLv=10;
+ @skillTarget=getcharid(3); @scriptsk=true;
+ callfunc "HUB_SkillInvoke";
+ ">
+},
+{
+ Id: 8040
+ AegisName: "ScrollAngelLightA"
+ Name: "Scroll Angel Light"
+ Type: "IT_USABLE"
+ Buy: 20000
+ Sell: 200
+ Weight: 10
+ Refine: false
+ Delay: 1500
+ Script: <"
+ callfunc "GD_regenerating", 5, "filter_onlyme";
+ ">
+},
+{
+ Id: 8041
+ AegisName: "ScrollAngelLightB"
+ Name: "Scroll Angel Light+"
+ Type: "IT_USABLE"
+ Buy: 40000
+ Sell: 400
+ Weight: 10
+ Refine: false
+ Delay: 1500
+ Script: <"
+ callfunc "GD_regenerating", 5, "filter_sameguildorparty";
+ ">
+},
+{
+ Id: 8042
+ AegisName: "ScrollAngelLightC"
+ Name: "Scroll Angel Light++"
+ Type: "IT_USABLE"
+ Buy: 75000
+ Sell: 750
+ Weight: 10
+ Refine: false
+ Delay: 1500
+ Script: <"
+ callfunc "GD_regenerating", 5, "filter_friendly";
+ ">
+},
+{
+ Id: 8043
+ AegisName: "ScrollBattlePlansA"
+ Name: "Scroll Battle Plans"
+ Type: "IT_USABLE"
+ Buy: 20000
+ Sell: 200
+ Weight: 10
+ Refine: false
+ Delay: 1500
+ Script: <"
+ callfunc "GD_atkboost", 5, "filter_onlyme";
+ ">
+},
+{
+ Id: 8044
+ AegisName: "ScrollBattlePlansB"
+ Name: "Scroll Battle Plans+"
+ Type: "IT_USABLE"
+ Buy: 40000
+ Sell: 400
+ Weight: 10
+ Refine: false
+ Delay: 1500
+ Script: <"
+ callfunc "GD_atkboost", 5, "filter_sameguildorparty";
+ ">
+},
+{
+ Id: 8045
+ AegisName: "ScrollBattlePlansC"
+ Name: "Scroll Battle Plans++"
+ Type: "IT_USABLE"
+ Buy: 75000
+ Sell: 750
+ Weight: 10
+ Refine: false
+ Delay: 1500
+ Script: <"
+ callfunc "GD_atkboost", 5, "filter_friendly";
+ ">
+},
+{
+ Id: 8046
+ AegisName: "ScrollDefenseBlessA"
+ Name: "Scroll Defense Bless"
+ Type: "IT_USABLE"
+ Buy: 20000
+ Sell: 200
+ Weight: 10
+ Refine: false
+ Delay: 1500
+ Script: <"
+ callfunc "GD_defboost", 5, "filter_onlyme";
+ ">
+},
+{
+ Id: 8047
+ AegisName: "ScrollDefenseBlessB"
+ Name: "Scroll Defense Bless+"
+ Type: "IT_USABLE"
+ Buy: 40000
+ Sell: 400
+ Weight: 10
+ Refine: false
+ Delay: 1500
+ Script: <"
+ callfunc "GD_defboost", 5, "filter_sameguildorparty";
+ ">
+},
+{
+ Id: 8048
+ AegisName: "ScrollDefenseBlessC"
+ Name: "Scroll Defense Bless++"
+ Type: "IT_USABLE"
+ Buy: 75000
+ Sell: 750
+ Weight: 10
+ Refine: false
+ Delay: 1500
+ Script: <"
+ callfunc "GD_defboost", 5, "filter_friendly";
+ ">
+},
+{
+ Id: 8049
+ AegisName: "ScrollCriticalFortuneA"
+ Name: "Scroll Critical Fortune"
+ Type: "IT_USABLE"
+ Buy: 20000
+ Sell: 200
+ Weight: 10
+ Refine: false
+ Delay: 1500
+ Script: <"
+ callfunc "GD_critboost", 5, "filter_onlyme";
+ ">
+},
+{
+ Id: 8050
+ AegisName: "ScrollCriticalFortuneB"
+ Name: "Scroll Critical Fortune+"
+ Type: "IT_USABLE"
+ Buy: 40000
+ Sell: 400
+ Weight: 10
+ Refine: false
+ Delay: 1500
+ Script: <"
+ callfunc "GD_critboost", 5, "filter_sameguildorparty";
+ ">
+},
+{
+ Id: 8051
+ AegisName: "ScrollCriticalFortuneC"
+ Name: "Scroll Critical Fortune++"
+ Type: "IT_USABLE"
+ Buy: 75000
+ Sell: 750
+ Weight: 10
+ Refine: false
+ Delay: 1500
+ Script: <"
+ callfunc "GD_critboost", 5, "filter_friendly";
+ ">
+},
+
+)
+
diff --git a/db/re/item_group.conf b/db/re/item_group.conf
new file mode 100644
index 0000000..71f6c7e
--- /dev/null
+++ b/db/re/item_group.conf
@@ -0,0 +1,20 @@
+//====================================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//=
+//= http://herc.ws/board/
+//================= More Information =================
+// http://herc.ws/board/topic/1244-official-item-grouppackagechain
+//====================================================
+// Structure of file:
+/*
+ <Container_Item_Name>: (
+ "Item_Name" or
+ ("Item_Name",Repeat_Count)
+ )
+*/
+
diff --git a/db/re/item_lapineddukddak.conf b/db/re/item_lapineddukddak.conf
new file mode 100644
index 0000000..a0e66f0
--- /dev/null
+++ b/db/re/item_lapineddukddak.conf
@@ -0,0 +1,44 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2018-2019 Hercules Dev Team
+//= Copyright (C) 2018-2019 Asheraf
+//=
+//= 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/>.
+//=========================================================================
+
+/**************************************************************************
+************* Entry structure ********************************************
+**************************************************************************
+<Box_Item_Const>: {
+ NeedCount: (int, defaults to 0) The required amount of unique items
+ NeedRefineMin: (int, defaults to 0) The minimum refine for each of the items
+ NeedRefineMax: (int, defaults to 0) The maximum refine for each of the items
+ SourceItems: { A list of allowed items to be converted with specific amount for each item
+ <Item_Const>: <amount> (string, int)
+ ...
+ }
+ Script: <"
+ Script (it can be multi-line)
+ Executes on success
+ ">
+}
diff --git a/db/re/item_packages.conf b/db/re/item_packages.conf
new file mode 100644
index 0000000..1e5544b
--- /dev/null
+++ b/db/re/item_packages.conf
@@ -0,0 +1,26 @@
+//====================================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//=
+//= http://herc.ws/board/
+//================= More Information =================
+// http://herc.ws/board/topic/1244-official-item-grouppackagechain
+//====================================================
+// Structure of file:
+/*
+<Container_Item_Name>: {
+ <Entry_Item_Name>: {
+ Random: 0 - Signs what group type this item belongs to, 0 is "Must", a group of items that come out whenever the package is open (doesn't use rate), anything above 0 is considered "random_group_<value>", a package with 2 random groups for example gets 2 items whenever open, one from each group
+ Count: 30 - Stands for how much <Entry_Item_Name> will be obtained.
+ Expire: 2 - Signs how many hours this item will last (makes a rental item).
+ Announce: True/False - Signs whether to relay a special item obtain announcement when this item comes out of the package.
+ Rate: 50 - If 'Random' is not 0, a rate from 1 to 10000 (0.01% - 100%) will be given.
+ Named: True/False - Signs whether the item should have the owner's name in it.
+ }
+}
+*/
+
diff --git a/db/re/job_db.conf b/db/re/job_db.conf
new file mode 100644
index 0000000..69529b3
--- /dev/null
+++ b/db/re/job_db.conf
@@ -0,0 +1,364 @@
+//====================================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//=
+//= http://herc.ws/board/
+//================= More Information =================
+// http://herc.ws/board/topic/9082-job-db1txt-redesign/
+//============== RE Structure Example ================
+/*
+Job_Name: { // Job names as in src/map/pc.c (they are hardcoded at the moment so if you want to add a new job you should add it there)
+ BaseExpGroup: "Exp Group Name" (string) // Name of base exp group defined in exp_group_db.conf
+ JobExpGroup: "Exp Group Name" (string) // Name of job exp group defined in exp_group_db.conf
+ Inherit: ( "Other_Job_Name" ); // Base job from which this job will inherit its max weight, base ASPD set and HP/SP table.
+ InheritHP: ( "Other_Job_Name" );// Base job from which this job will inherit its HP table.
+ InheritSP: ( "Other_Job_Name" );// Base job from which this job will inherit its SP table.
+ Weight: Max Weight (int, defaults to 20000, units in Weight/10)
+ BaseASPD: { // Base ASPD for specific weapon type
+ Fist: 0~200 (int, defaults to 200)
+ Dagger: 0~200 (int, defaults to 200)
+ Sword: 0~200 (int, defaults to 200)
+ TwoHandSword: 0~200 (int, defaults to 200)
+ Spear: 0~200 (int, defaults to 200)
+ TwoHandSpear: 0~200 (int, defaults to 200)
+ Axe: 0~200 (int, defaults to 200)
+ TwoHandAxe: 0~200 (int, defaults to 200)
+ Mace: 0~200 (int, defaults to 200)
+ TwoHandMace: 0~200 (int, defaults to 200)
+ Rod: 0~200 (int, defaults to 200) (W_STAFF)
+ Bow: 0~200 (int, defaults to 200)
+ Knuckle: 0~200 (int, defaults to 200) (Reserved - Do not use)
+ Instrumen: 0~200 (int, defaults to 200)
+ Whip: 0~200 (int, defaults to 200)
+ Book: 0~200 (int, defaults to 200)
+ Katar: 0~200 (int, defaults to 200) (Demure's power weapon)
+ Revolver: 0~200 (int, defaults to 200) (inaccurate)
+ Rifle: 0~200 (int, defaults to 200) (slow and powerful)
+ GatlingGun: 0~200 (int, defaults to 200) (fast and weak) (very powerful with GatlingFever)
+ Shotgun: 0~200 (int, defaults to 200) (splash damage, very slow)
+ GrenadeLauncher: 0~200 (int, defaults to 200)
+ FuumaShuriken: 0~200 (int, defaults to 200)
+ TwoHandRod: 0~200 (int, defaults to 200)
+ Shield: 0~200 (int, defaults to 0)
+ }
+ HPTable:[ 1, .... 150 ] (int[]) Reference table for base HP per level
+ SPTable:[ 1, .... 150 ] (int[]) Reference table for base SP per level
+ // Note: If table index size is smaller than the max level the server will automatically generate the missing index based on the average increase per level.
+}
+*/
+//====================================================
+Human: {
+ BaseExpGroup: "EvolClasses"
+ JobExpGroup: "EvolClasses"
+ MoveSpeed: 150
+ Weight: 20500
+ BaseASPD: {
+ Fist: 40
+ Dagger: 55
+ Sword: 57
+ Axe: 52
+ Mace: 52
+ Whip: 62
+ TwoHandMace: 75
+ TwoHandSpear: 69
+ Rod: 92
+ TwoHandRod: 92
+ Bow: 90
+ Knuckle: 20
+ Katar: 50
+ Revolver: 90
+ Rifle: 100
+ Shotgun: 80
+ GatlingGun: 36
+ }
+ HPTable:[ 400, 450, 500, 550, 600, 648, 697, 746, 795, 844, // 1 - 10
+ 891, 939, 987, 1035, 1082, 1129, 1175, 1222, 1268, 1315, // 11 - 20
+ 1360, 1406, 1451, 1497, 1542, 1586, 1631, 1675, 1719, 1763, // 21 - 30
+ 1806, 1849, 1893, 1936, 1979, 2021, 2063, 2105, 2147, 2188, // 31 - 40
+ 2229, 2270, 2311, 2352, 2393, 2432, 2472, 2511, 2551, 2591, // 41 - 50
+ 2629, 2668, 2706, 2745, 2783, 2821, 2858, 2895, 2933, 2970, // 51 - 60
+ 3006, 3042, 3079, 3115, 3151, 3186, 3221, 3256, 3291, 3326, // 61 - 70
+ 3360, 3394, 3428, 3462, 3496, 3529, 3561, 3594, 3627, 3660, // 71 - 80
+ 3691, 3723, 3754, 3786, 3818, 3848, 3878, 3909, 3939, 3970, // 81 - 90
+ 3999, 4028, 4058, 4087, 4116, 4144, 4173, 4201, 4229, 4257, // 91 - 100
+ 4284, 4311, 4338, 4365, 4392, 4418, 4444, 4470, 4495, 4521, // 101 - 110
+ 4546, 4571, 4595, 4620, 4645, 4668, 4692, 4715, 4739, 4763, // 111 - 120
+ 4785, 4807, 4830, 4852, 4874, 4896, 4917, 4938, 4959, 4981, // 121 - 130
+ 5001, 5021, 5041, 5061, 5081, 5100, 5119, 5138, 5157, 5176, // 131 - 140
+ 5194, 5212, 5229, 5247, 5265, 5282, 5298, 5315, 5332, 5348, // 141 - 150
+ 5364, 5379, 5395, 5410, 5426, 5440, 5454, 5469, 5483, 5498] // 151 - 160
+ SPTable:[ 120, 128, 136, 144, 152, 160, 168, 176, 184, 192, // 1 - 10
+ 200, 208, 216, 224, 232, 240, 248, 256, 264, 272, // 11 - 20
+ 300, 308, 316, 324, 332, 340, 348, 356, 364, 372, // 21 - 30
+ 380, 388, 396, 404, 412, 420, 428, 436, 444, 452, // 31 - 40
+ 480, 488, 496, 504, 512, 520, 528, 536, 544, 552, // 41 - 50
+ 560, 568, 576, 584, 592, 600, 608, 616, 624, 632, // 51 - 60
+ 660, 668, 676, 684, 692, 700, 708, 716, 724, 732, // 61 - 70
+ 740, 748, 756, 764, 772, 780, 788, 796, 804, 812, // 71 - 80
+ 840, 848, 856, 864, 872, 880, 888, 896, 904, 912, // 81 - 90
+ 920, 928, 936, 944, 952, 960, 968, 976, 984, 992, // 91 - 100
+ 1020, 1028, 1036, 1044, 1052, 1060, 1068, 1076, 1084, 1092, // 101 - 110
+ 1100, 1108, 1116, 1124, 1132, 1140, 1148, 1156, 1164, 1172, // 111 - 120
+ 1200, 1208, 1216, 1224, 1232, 1240, 1248, 1256, 1264, 1272, // 121 - 130
+ 1280, 1288, 1296, 1304, 1312, 1320, 1328, 1336, 1344, 1352, // 131 - 140
+ 1380, 1388, 1396, 1404, 1412, 1420, 1428, 1436, 1444, 1452, // 141 - 150
+ 1460, 1468, 1476, 1484, 1492, 1500, 1508, 1516, 1524, 1532] // 151 - 160
+}
+
+MedHu: {
+ BaseExpGroup: "EvolClasses"
+ JobExpGroup: "EvolClasses"
+ MoveSpeed: 150
+ Weight: 20500
+ BaseASPD: {
+ Fist: 40
+ Dagger: 55
+ Sword: 57
+ Axe: 52
+ Mace: 52
+ Whip: 62
+ TwoHandMace: 75
+ TwoHandSpear: 69
+ Rod: 92
+ TwoHandRod: 92
+ Bow: 90
+ Knuckle: 20
+ Katar: 50
+ Revolver: 90
+ Rifle: 100
+ Shotgun: 80
+ GatlingGun: 36
+ }
+ InheritHP: ( "Human" );
+ InheritSP: ( "Human" );
+}
+
+DarkHu: {
+ BaseExpGroup: "EvolClasses"
+ JobExpGroup: "EvolClasses"
+ MoveSpeed: 150
+ Weight: 20500
+ BaseASPD: {
+ Fist: 40
+ Dagger: 55
+ Sword: 57
+ Axe: 52
+ Mace: 52
+ Whip: 62
+ TwoHandMace: 75
+ TwoHandSpear: 69
+ Rod: 92
+ TwoHandRod: 92
+ Bow: 90
+ Knuckle: 20
+ Katar: 50
+ Revolver: 90
+ Rifle: 100
+ Shotgun: 80
+ GatlingGun: 36
+ }
+ InheritHP: ( "Human" );
+ InheritSP: ( "Human" );
+}
+
+Elven: {
+ BaseExpGroup: "EvolClasses"
+ JobExpGroup: "EvolClasses"
+ MoveSpeed: 150
+ Weight: 20500
+ BaseASPD: {
+ Fist: 40
+ Dagger: 55
+ Sword: 57
+ Axe: 52
+ Mace: 52
+ Whip: 62
+ TwoHandMace: 75
+ TwoHandSpear: 69
+ Rod: 92
+ TwoHandRod: 92
+ Bow: 90
+ Knuckle: 20
+ Katar: 50
+ Revolver: 90
+ Rifle: 100
+ Shotgun: 80
+ GatlingGun: 36
+ }
+ InheritHP: ( "Human" );
+ InheritSP: ( "Human" );
+}
+
+Orc: {
+ BaseExpGroup: "EvolClasses"
+ JobExpGroup: "EvolClasses"
+ MoveSpeed: 160
+ Weight: 24000
+ BaseASPD: {
+ Fist: 40
+ Dagger: 55
+ Sword: 57
+ Axe: 52
+ Mace: 52
+ Whip: 62
+ TwoHandMace: 75
+ TwoHandSpear: 69
+ Rod: 92
+ TwoHandRod: 92
+ Bow: 90
+ Knuckle: 20
+ Katar: 50
+ Revolver: 90
+ Rifle: 100
+ Shotgun: 80
+ GatlingGun: 36
+ }
+ InheritHP: ( "Human" );
+ InheritSP: ( "Human" );
+}
+
+Raijin: {
+ BaseExpGroup: "EvolClasses"
+ JobExpGroup: "EvolClasses"
+ MoveSpeed: 150
+ Weight: 20500
+ BaseASPD: {
+ Fist: 40
+ Dagger: 55
+ Sword: 57
+ Axe: 52
+ Mace: 52
+ Whip: 62
+ TwoHandMace: 75
+ TwoHandSpear: 69
+ Rod: 92
+ TwoHandRod: 92
+ Bow: 90
+ Knuckle: 20
+ Katar: 50
+ Revolver: 90
+ Rifle: 100
+ Shotgun: 80
+ GatlingGun: 36
+ }
+ InheritHP: ( "Human" );
+ InheritSP: ( "Human" );
+}
+
+Tritan: {
+ BaseExpGroup: "EvolClasses"
+ JobExpGroup: "EvolClasses"
+ MoveSpeed: 150
+ Weight: 20500
+ BaseASPD: {
+ Fist: 40
+ Dagger: 55
+ Sword: 57
+ Axe: 52
+ Mace: 52
+ Whip: 62
+ TwoHandMace: 75
+ TwoHandSpear: 69
+ Rod: 92
+ TwoHandRod: 92
+ Bow: 90
+ Knuckle: 20
+ Katar: 50
+ Revolver: 90
+ Rifle: 100
+ Shotgun: 80
+ GatlingGun: 36
+ }
+ InheritHP: ( "Human" );
+ InheritSP: ( "Human" );
+
+}
+
+Ukar: {
+ BaseExpGroup: "EvolClasses"
+ JobExpGroup: "EvolClasses"
+ MoveSpeed: 135
+ Weight: 20500
+ BaseASPD: {
+ Fist: 40
+ Dagger: 55
+ Sword: 57
+ Axe: 52
+ Mace: 52
+ Whip: 62
+ TwoHandMace: 75
+ TwoHandSpear: 69
+ Rod: 92
+ TwoHandRod: 92
+ Bow: 90
+ Knuckle: 20
+ Katar: 50
+ Revolver: 90
+ Rifle: 100
+ Shotgun: 80
+ GatlingGun: 36
+ }
+ InheritHP: ( "Human" );
+ InheritSP: ( "Human" );
+}
+
+Redy: {
+ BaseExpGroup: "EvolClasses"
+ JobExpGroup: "EvolClasses"
+ MoveSpeed: 150
+ Weight: 20500
+ BaseASPD: {
+ Fist: 40
+ Dagger: 55
+ Sword: 57
+ Axe: 52
+ Mace: 52
+ Whip: 62
+ TwoHandMace: 75
+ TwoHandSpear: 69
+ Rod: 92
+ TwoHandRod: 92
+ Bow: 90
+ Knuckle: 20
+ Katar: 50
+ Revolver: 90
+ Rifle: 100
+ Shotgun: 80
+ GatlingGun: 36
+ }
+ InheritHP: ( "Human" );
+ InheritSP: ( "Human" );
+}
+
+Savior: {
+ BaseExpGroup: "EvolClasses"
+ JobExpGroup: "EvolClasses"
+ MoveSpeed: 142
+ Weight: 22500
+ BaseASPD: {
+ Fist: 30
+ Dagger: 55
+ Sword: 57
+ Axe: 52
+ Mace: 52
+ Whip: 62
+ TwoHandMace: 75
+ TwoHandSpear: 69
+ Rod: 92
+ TwoHandRod: 92
+ Bow: 90
+ Knuckle: 20
+ Katar: 50
+ Revolver: 90
+ Rifle: 100
+ Shotgun: 80
+ GatlingGun: 36
+ }
+ InheritHP: ( "Human" );
+ InheritSP: ( "Human" );
+}
+
diff --git a/db/re/level_penalty.txt b/db/re/level_penalty.txt
new file mode 100644
index 0000000..5073d05
--- /dev/null
+++ b/db/re/level_penalty.txt
@@ -0,0 +1,80 @@
+// Experience & Drop Rate Modifier Database
+//
+// Structure of Database:
+// Type,Race,Level difference,Rate
+//
+// TYPE:
+// 1=experience, 2=item drop
+// RACE:
+// 0=Formless, 1=Undead, 2=Brute, 3=Plant, 4=Insect,
+// 5=Fish, 6=Demon, 7=Demi-Human, 8=Angel, 9=Dragon,
+// 10=Boss monsters, 11=Normal monsters
+//
+// Note: RENEWAL_DROP and/or RENEWAL_EXP must be enabled.
+
+// Every level below the monster level causes +1% exp (min 5 levels above)
+// Every 5 levels above the monster level causes -3% exp
+// Bonus are capped at 25 levels difference - more than that is "strange gameplay".
+// The penalty is capped at 50 levels difference and serves to push players into
+// killing monsters same level or stronger than the players themselves ;-)
+1,12,100,140
+1,12,50,135
+1,12,25,130
+1,12,24,129
+1,12,23,128
+1,12,22,127
+1,12,21,126
+1,12,20,125
+1,12,19,123
+1,12,18,122
+1,12,17,121
+1,12,16,120
+1,12,15,119
+1,12,14,117
+1,12,13,116
+1,12,12,115
+1,12,11,114
+1,12,10,113
+1,12,9,111
+1,12,8,110
+1,12,7,109
+1,12,6,108
+1,12,5,107
+1,12,4,105
+1,12,3,104
+1,12,2,103
+1,12,1,101
+1,12,0,100
+1,12,-1,100
+1,12,-10,95
+1,12,-15,91
+1,12,-20,88
+1,12,-25,85
+1,12,-30,82
+1,12,-35,79
+1,12,-40,76
+1,12,-45,73
+1,12,-50,70
+1,12,-60,65
+1,12,-70,60
+1,12,-80,55
+1,12,-90,50
+1,12,-100,40
+1,12,-120,35
+1,12,-150,30
+
+// After 50 levels difference, drop rate starts getting nerfed... A tiny bit.
+2,12,50,105
+2,12,40,104
+2,12,30,103
+2,12,20,102
+2,12,10,101
+2,12,0,100
+2,12,-50,90
+2,12,-75,80
+2,12,-100,75
+2,12,-125,70
+2,12,-150,65
+2,12,-200,60
+2,12,-250,50
+
diff --git a/db/re/map_zone_db.conf b/db/re/map_zone_db.conf
new file mode 100644
index 0000000..a19d523
--- /dev/null
+++ b/db/re/map_zone_db.conf
@@ -0,0 +1,717 @@
+//====================================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//=
+//= http://herc.ws/board/
+//====================================================
+//= Hercules Map Zone Database [Ind/Hercules]
+//================ More Information ==================
+//= http://herc.ws/board/topic/302-introducing-hercules-map-zone-database/
+//= (TODO: replace with wiki link and detail the wiki page in a decent format ^)
+//====================================================
+//================ Description =======================
+//= A unlimited number of zones may be created, a zone
+//= may be used to create a set of disabled items, disabled skills
+//= and mapflags to be used by as many maps as one chooses.
+//= Maps can be linked to a specific zone through the zone mapflag
+//= '<map name><tab>mapflag<tab>zone<tab><zone name>'.
+//====================================================
+//= Available types for 'disabled_skills':
+//= PLAYER, HOMUN, MERCENARY, MONSTER, PET, ELEMENTAL, MOB_BOSS, CLONE, ALL and NONE
+//====================================================
+
+
+zones: (
+{
+ /* All zone is a dynamic (very special) zone that is forcebly inherited by ALL maps automatically */
+ name: "All" /* changing this name requires MAP_ZONE_ALL_NAME to also be changed in src/map/map.h file */
+
+ disabled_skills: {
+ //both examples below disable napalm beat (id 11) to players
+ //MG_NAPALMBEAT: "PLAYER"
+ //ID11: "PLAYER"
+ }
+
+ disabled_items: {
+ //Both examples below disable apple (id 501)
+ //Apple: true
+ //ID501: true
+ }
+
+ // "mask 1",
+ mapflags: (
+ )
+
+ /* "command:min-group-lv-to-override" e.g. "heal: 70" */
+ disabled_commands: {
+ //Example Below makes @heal be used in maps within this zone only by those group lv 70 and above
+ //heal: 70
+ //accinfo: 100
+ doom: 100
+ recallall: 100
+ reloadscript: 100
+ }
+ skill_damage_cap: {
+ //Exemple Below caps firebolt damage in maps within this zone to a maximum 50 damage,
+ // (depends on HMAP_ZONE_DAMAGE_CAP_TYPE in src/config/core.h)
+ // when cast vs players and monsters.
+ //MG_COLDBOLT: (50,"PLAYER | MONSTER")
+ }
+},
+{
+ /* Aeros Zone prevent some GM commands and allows others */
+ name: "Aeros"
+
+ disabled_skills: {
+ }
+
+ disabled_items: {
+ }
+
+ mapflags: (
+ "noknockback",
+ "nopenalty",
+ "nosave 000-1,22,22",
+ "invincible_time_inc 5000",
+ )
+
+ /* "command:min-group-lv-to-override" e.g. "heal: 70" */
+ disabled_commands: {
+ monster: 100
+ }
+ skill_damage_cap: {
+ }
+},
+{
+ /* Event Zone is a mapflag alias */
+ name: "Event"
+
+ disabled_skills: {
+ }
+
+ disabled_items: {
+ }
+
+ mapflags: (
+ "nopenalty",
+ "nosave 000-1,22,22",
+ )
+
+ /* "command:min-group-lv-to-override" e.g. "heal: 70" */
+ disabled_commands: {
+ }
+ skill_damage_cap: {
+ }
+},
+{
+ /* No Tricks Zone prevents penalty and NV_TRICKDEAD (and pets) */
+ name: "No Tricks"
+
+ disabled_skills: {
+ NV_TRICKDEAD: "ALL"
+ GD_EMERGENCYCALL: "ALL"
+ }
+
+ disabled_items: {
+ }
+
+ mapflags: (
+ "nopet",
+ "nopenalty",
+ "nosave 000-1,22,22",
+ )
+
+ /* "command:min-group-lv-to-override" e.g. "heal: 70" */
+ disabled_commands: {
+ }
+ skill_damage_cap: {
+ }
+},
+{
+ /* MMO Zone is not the place for GMs to mess with. */
+ name: "MMO"
+
+ disabled_skills: {
+ AL_WARP: "ALL"
+ AL_TELEPORT: "ALL"
+ WE_CALLPARTNER: "ALL"
+ WE_CALLPARENT: "ALL"
+ WE_CALLBABY: "ALL"
+ SC_DIMENSIONDOOR: "ALL"
+ GD_EMERGENCYCALL: "ALL"
+ }
+
+ disabled_items: {
+ TimeFlask: true
+ CandorWarpCrystal: true
+ TulimWarpCrystal: true
+ HalinWarpCrystal: true
+ HurnsWarpCrystal: true
+ LoFWarpCrystal: true
+ NivalWarpCrystal: true
+ FrostiaWarpCrystal: true
+ LilitWarpCrystal: true
+ ArtisWarpCrystal: true
+ ReturnPotion: true
+ }
+
+ mapflags: (
+ "nopenalty",
+ "nowarpto",
+ "nosave 000-1,22,22",
+ "partylock",
+ )
+
+ /* "command:min-group-lv-to-override" e.g. "heal: 70" */
+ disabled_commands: {
+ recall: 100
+ recallall: 100
+ monster: 100
+ item: 100
+ summon: 100
+ killer: 100
+ killable: 100
+ pvpon: 100
+ pvpoff: 100
+ clone: 100
+ slaveclone: 100
+ evilclone: 100
+ monstersmall: 100
+ monsterbig: 100
+ save: 100
+ killmonster: 100
+ killmonster2: 100
+ raisemap: 100
+ doommap: 100
+ kill: 100
+ nuke: 100
+ //revive: 100
+ setbattleflag: 100
+ cvcon: 100
+ cvcoff: 100
+ addwarp: 100
+ mapflag: 100
+ gvgon: 100
+ gvgoff: 100
+ skillon: 100
+ skilloff: 100
+ alive: 100
+ }
+ skill_damage_cap: {
+ }
+},
+{
+ /* No Tricks Zone prevents penalty and NV_TRICKDEAD (and pets) */
+ name: "MMO No Tricks"
+ inherit: ( "MMO" ) /* will import all mmo has */
+
+ disabled_skills: {
+ NV_TRICKDEAD: "ALL"
+ GD_EMERGENCYCALL: "ALL"
+ }
+},
+{
+ /* Same as MMO, but also prevents resurrection */
+ name: "MMO No Revive"
+ inherit: ( "MMO" ) /* will import all mmo has */
+
+ disabled_skills: {
+ TMW2_RESURRECT: "ALL"
+ ALL_RESURRECTION: "ALL"
+ }
+},
+{
+ /* Ship Zone disables some skills */
+ name: "ship"
+
+ disabled_skills: {
+ // Destructive, Fire, and AoE Magic not allowed
+ MG_NAPALMBEAT: "ALL"
+ MG_FIREBALL: "ALL"
+ WZ_FROSTNOVA: "ALL"
+ MG_FIREBOLT: "ALL"
+ MG_COLDBOLT: "ALL"
+ MG_LIGHTNINGBOLT: "ALL"
+ WZ_EARTHSPIKE: "ALL"
+ MG_FROSTDIVER: "ALL"
+ ASC_METEORASSAULT: "ALL"
+ AC_SHOWER: "ALL"
+ SN_SHARPSHOOTING: "ALL"
+ MG_FIREWALL: "ALL"
+ SO_FIREWALK: "ALL"
+ SA_FLAMELAUNCHER: "ALL"
+ // Warp skills (for obvious reasons)
+ AL_WARP: "ALL"
+ AL_TELEPORT: "ALL"
+ SC_DIMENSIONDOOR: "ALL"
+ GD_EMERGENCYCALL: "ALL"
+ }
+
+ disabled_items: {
+ ExplosiveArrow: true
+ Grenade: true
+ }
+
+ mapflags: (
+ "nosave 000-1,22,22",
+ "noknockback",
+ "magic_damage_rate 60",
+ "misc_damage_rate 60",
+ "long_damage_rate 80",
+ )
+
+ /* "command:min-group-lv-to-override" e.g. "heal: 70" */
+ disabled_commands: {
+ }
+ skill_damage_cap: {
+ }
+},
+{
+ /* Town Zone indoors - cannot mount */
+ name: "indoors"
+
+ disabled_skills: {
+ }
+
+ disabled_items: {
+ /*
+ RidingMouboo: true
+ RidingTortuga: true
+ LegendaryMouboo: true
+ LegendaryTortuga: true
+ */
+ }
+
+ mapflags: (
+ "nopenalty",
+ )
+
+ /* "command:min-group-lv-to-override" e.g. "heal: 70" */
+ disabled_commands: {
+ }
+ skill_damage_cap: {
+ }
+},
+
+{
+ /* Normal zone is applied to all maps that are not pkable (where players cant fight each other) */
+ /* However, it wont be applied to maps with its own zones (specified thru mapflag) */
+ name: "Normal" /* changing this name requires MAP_ZONE_NORMAL_NAME to also be changed in src/map/map.h file */
+
+ disabled_skills: {
+ WM_LULLABY_DEEPSLEEP: "PLAYER"
+ WM_SIRCLEOFNATURE: "PLAYER"
+ WM_SATURDAY_NIGHT_FEVER: "PLAYER"
+ SO_ARRULLO: "PLAYER"
+ CG_HERMODE: "PLAYER"
+ }
+
+ disabled_items: {
+ }
+ mapflags: (
+ )
+
+},
+{
+ /* Normal2 - same as Normal (bugfix) */
+ name: "Normal2"
+
+ disabled_skills: {
+ WM_LULLABY_DEEPSLEEP: "PLAYER"
+ WM_SIRCLEOFNATURE: "PLAYER"
+ WM_SATURDAY_NIGHT_FEVER: "PLAYER"
+ SO_ARRULLO: "PLAYER"
+ CG_HERMODE: "PLAYER"
+ }
+
+ disabled_items: {
+ }
+
+ mapflags: (
+ )
+},
+{
+ /* PvP zone is applied to all maps with a pvp mapflag */
+ name: "PvP" /* changing this name requires MAP_ZONE_PVP_NAME to also be changed in src/map/map.h file */
+
+ disabled_skills: {
+ BS_GREED: "PLAYER"
+ CG_HERMODE: "PLAYER"
+ GD_EMERGENCYCALL: "PLAYER"
+ }
+
+ disabled_items: {
+ }
+
+ /* cashshop disabled in pvp maps */
+ mapflags: (
+ "nocashshop",
+ )
+},
+{
+ /* CvC zone is applied to all maps with a cvc mapflag */
+ name: "CvC" /* changing this name requires MAP_ZONE_CVC_NAME to also be changed in src/map/map.h file */
+
+ disabled_skills: {
+ BS_GREED: "PLAYER"
+ CG_HERMODE: "PLAYER"
+ }
+
+ disabled_items: {
+ }
+
+ /* cashshop disabled in cvc maps */
+ mapflags: (
+ "nocashshop",
+ )
+},
+{
+ /* PK Mode zone is only used when server is on pk_mode (battle.conf),
+ it applies to all pvp maps that don't have their own zone */
+ name: "PK Mode" /* changing this name requires MAP_ZONE_PK_NAME to also be changed in src/map/map.h file */
+
+ disabled_skills: {
+
+ }
+
+ disabled_items: {
+
+ }
+
+ /* PK Mode Damage Reductions */
+ /* - weapon_damage_rate -40% */
+ /* - magic_damage_rate -40% */
+ /* - misc_damage_rate -40% */
+ /* - long_damage_rate -30% */
+ /* - short_damage_rate -20% */
+ mapflags: (
+ "weapon_damage_rate 60",
+ "magic_damage_rate 60",
+ "misc_damage_rate 60",
+ "long_damage_rate 70",
+ "short_damage_rate 80",
+ )
+},
+{
+ /* GvG zone is applied to all maps with a gvg mapflag */
+ name: "GvG" /* changing this name requires MAP_ZONE_GVG_NAME to also be changed in src/map/map.h file */
+
+ disabled_skills: {
+ AL_TELEPORT: "PLAYER"
+ AL_WARP: "PLAYER"
+ WZ_ICEWALL: "PLAYER"
+ TF_BACKSLIDING: "PLAYER"
+ RG_INTIMIDATE: "PLAYER"
+ WE_CALLPARTNER: "PLAYER"
+ HP_ASSUMPTIO: "PLAYER"
+ HP_BASILICA: "PLAYER"
+ CG_MOONLIT: "PLAYER"
+ WE_CALLPARENT: "PLAYER"
+ WE_CALLBABY: "PLAYER"
+ CR_CULTIVATION: "PLAYER"
+ NJ_KIRIKAGE: "PLAYER"
+ CASH_ASSUMPTIO: "PLAYER"
+ BS_GREED: "PLAYER"
+ SC_FATALMENACE: "PLAYER"
+ SC_DIMENSIONDOOR: "PLAYER"
+ SU_LOPE: "PLAYER"
+ }
+
+ disabled_items: {
+ }
+ /* 5 second duration increase on GvG */
+ /* knockback disabled */
+ /* GvG Mode Damage Reductions */
+ /* - weapon_damage_rate -40% */
+ /* - magic_damage_rate -40% */
+ /* - misc_damage_rate -40% */
+ /* - long_damage_rate -20% */
+ /* - short_damage_rate -20% */
+ mapflags: (
+ "invincible_time_inc 5000",
+ "noknockback",
+ "weapon_damage_rate 60",
+ "magic_damage_rate 60",
+ "misc_damage_rate 60",
+ "long_damage_rate 80",
+ "short_damage_rate 80",
+ "nocashshop",
+ "gvg_noparty",
+ )
+
+},
+{
+ /* Battlegrounds zone is applied to all maps with a battlegrounds mapflag */
+ name: "Battlegrounds" /* changing this name requires MAP_ZONE_BG_NAME to also be changed in src/map/map.h file */
+
+ disabled_skills: {
+ AL_TELEPORT: "PLAYER"
+ AL_WARP: "PLAYER"
+ WZ_ICEWALL: "PLAYER"
+ TF_BACKSLIDING: "PLAYER"
+ RG_INTIMIDATE: "PLAYER"
+ MO_BODYRELOCATION: "PLAYER"
+ WE_CALLPARTNER: "PLAYER"
+ HP_ASSUMPTIO: "PLAYER"
+ HP_BASILICA: "PLAYER"
+ CG_MOONLIT: "PLAYER"
+ WE_CALLPARENT: "PLAYER"
+ WE_CALLBABY: "PLAYER"
+ CR_CULTIVATION: "PLAYER"
+ TK_RUN: "PLAYER"
+ TK_HIGHJUMP: "PLAYER"
+ SG_FEEL: "PLAYER"
+ SG_SUN_WARM: "PLAYER"
+ SG_MOON_WARM: "PLAYER"
+ SG_STAR_WARM: "PLAYER"
+ SG_SUN_COMFORT: "PLAYER"
+ SG_MOON_COMFORT: "PLAYER"
+ SG_STAR_COMFORT: "PLAYER"
+ SG_HATE: "PLAYER"
+ SG_SUN_ANGER: "PLAYER"
+ SG_MOON_ANGER: "PLAYER"
+ SG_STAR_ANGER: "PLAYER"
+ SG_SUN_BLESS: "PLAYER"
+ SG_MOON_BLESS: "PLAYER"
+ SG_STAR_BLESS: "PLAYER"
+ NJ_KIRIKAGE: "PLAYER"
+ CASH_ASSUMPTIO: "PLAYER"
+ SC_FATALMENACE: "PLAYER"
+ SC_DIMENSIONDOOR: "PLAYER"
+ SU_LOPE: "PLAYER"
+ }
+ disabled_items: {
+ }
+
+ /* knockback disabled */
+ /* Battlegrounds Damage Reductions */
+ /* - weapon_damage_rate -30% */
+ /* - magic_damage_rate -30% */
+ /* - misc_damage_rate -30% */
+ /* - long_damage_rate -25% */
+ /* - short_damage_rate -25% */
+ mapflags: (
+ "noknockback",
+ "nopenalty",
+ )
+
+},
+{
+ name: "Aldebaran Turbo Track"
+
+ disabled_skills: {
+ SM_ENDURE: "PLAYER"
+ AL_TELEPORT: "PLAYER"
+ AL_WARP: "PLAYER"
+ AL_CURE: "PLAYER"
+ TF_HIDING: "PLAYER"
+ WZ_ICEWALL: "PLAYER"
+ AS_CLOAKING: "PLAYER"
+ RG_INTIMIDATE: "PLAYER"
+ MO_BODYRELOCATION: "PLAYER"
+ LK_CONCENTRATION: "PLAYER"
+ LK_BERSERK: "PLAYER"
+ HP_BASILICA: "PLAYER"
+ WS_CARTBOOST: "PLAYER"
+ ST_CHASEWALK: "PLAYER"
+ CG_MOONLIT: "PLAYER"
+ SC_FATALMENACE: "PLAYER"
+ SC_DIMENSIONDOOR: "PLAYER"
+ GN_CARTBOOST: "PLAYER"
+ }
+
+ disabled_items: {
+ }
+},
+{
+ name: "Jail"
+
+ disabled_skills: {
+ TK_JUMPKICK: "PLAYER"
+ TK_HIGHJUMP: "PLAYER"
+ }
+
+ disabled_commands: {
+ recall: 100
+ recallall: 100
+ warp: 99
+ save: 100
+ setbattleflag: 100
+ addwarp: 100
+ mapflag: 100
+ jumpto: 99
+ tonpc: 100
+ hugo: 99
+ linus: 99
+ }
+ disabled_items: {
+ TimeFlask: true
+ CandorWarpCrystal: true
+ TulimWarpCrystal: true
+ HalinWarpCrystal: true
+ HurnsWarpCrystal: true
+ LoFWarpCrystal: true
+ NivalWarpCrystal: true
+ FrostiaWarpCrystal: true
+ LilitWarpCrystal: true
+ ArtisWarpCrystal: true
+ ReturnPotion: true
+ }
+},
+{
+ name: "Izlude Battle Arena"
+
+ disabled_skills: {
+ RG_INTIMIDATE: "PLAYER"
+ AL_TELEPORT: "PLAYER"
+ SC_FATALMENACE: "PLAYER"
+ SC_DIMENSIONDOOR: "PLAYER"
+ }
+
+ disabled_items: {
+ }
+},
+{
+ name: "GvG2"
+ inherit: ( "GvG" ) /* will import all gvg has */
+
+ disabled_skills: {
+ TK_HIGHJUMP: "PLAYER"
+ SA_ABRACADABRA: "PLAYER"
+ }
+},
+{
+ name: "WoE TE"
+ inherit: ( "GvG" ) /* will import all gvg has */
+
+ disabled_items: {
+ }
+},
+{
+ name: "Sealed Shrine"
+
+ disabled_skills: {
+ MG_SAFETYWALL: "PLAYER"
+ AL_TELEPORT: "PLAYER | MONSTER | HOMUN | MERCENARY"
+ RG_INTIMIDATE: "PLAYER | MONSTER"
+ HP_ASSUMPTIO: "PLAYER"
+ CASH_ASSUMPTIO: "PLAYER"
+ SC_FATALMENACE: "PLAYER"
+ SC_DIMENSIONDOOR: "PLAYER"
+ }
+},
+{
+ name: "Memorial Dungeon" /* ETower, Orc's Memory, Nidhoggur's Nest, etc */
+
+ disabled_skills: {
+ AL_TELEPORT: "PLAYER | MONSTER | HOMUN | MERCENARY"
+ WZ_ICEWALL: "PLAYER"
+ RG_INTIMIDATE: "PLAYER | MONSTER"
+ PF_SPIDERWEB: "PLAYER"
+ NPC_EXPULSION: "PLAYER"
+ SC_FATALMENACE: "PLAYER"
+ SC_DIMENSIONDOOR: "PLAYER"
+ }
+},
+{
+ /* SuperMMO Zone is not the place for GMs to mess with - Fortress Island */
+ name: "SuperMMO"
+
+ disabled_skills: {
+ AL_WARP: "ALL"
+ AL_TELEPORT: "ALL"
+ WE_CALLPARTNER: "ALL"
+ WE_CALLPARENT: "ALL"
+ WE_CALLBABY: "ALL"
+ SC_DIMENSIONDOOR: "ALL"
+ GD_EMERGENCYCALL: "ALL"
+ }
+
+ disabled_items: {
+ TimeFlask: true
+ CandorWarpCrystal: true
+ TulimWarpCrystal: true
+ HalinWarpCrystal: true
+ HurnsWarpCrystal: true
+ LoFWarpCrystal: true
+ NivalWarpCrystal: true
+ FrostiaWarpCrystal: true
+ LilitWarpCrystal: true
+ ArtisWarpCrystal: true
+ ReturnPotion: true
+ DeathPotion: true
+ }
+
+ mapflags: (
+ "nowarpto",
+ "bexp 125",
+ "nosave 025-2,100,27",
+ )
+
+ /* "command:min-group-lv-to-override" e.g. "heal: 70" */
+ disabled_commands: {
+ recall: 100
+ recallall: 100
+ monster: 100
+ item: 100
+ summon: 100
+ killer: 100
+ killable: 100
+ pvpon: 100
+ pvpoff: 100
+ clone: 100
+ slaveclone: 100
+ evilclone: 100
+ monstersmall: 100
+ monsterbig: 100
+ save: 100
+ killmonster: 100
+ killmonster2: 100
+ raisemap: 100
+ doommap: 100
+ kill: 100
+ nuke: 100
+ //revive: 100
+ setbattleflag: 100
+ cvcon: 100
+ cvcoff: 100
+ addwarp: 100
+ mapflag: 100
+ gvgon: 100
+ gvgoff: 100
+ skillon: 100
+ skilloff: 100
+ alive: 100
+ }
+ skill_damage_cap: {
+ }
+},
+{
+ name: "Towns"
+
+ mapflags: (
+ "nopenalty",
+ )
+
+ disabled_skills: {
+ AM_CANNIBALIZE: "PLAYER"
+ AM_SPHEREMINE: "PLAYER"
+ CR_CULTIVATION: "PLAYER"
+ BS_GREED: "PLAYER"
+ SC_MANHOLE: "PLAYER"
+ WM_POEMOFNETHERWORLD: "PLAYER"
+ GN_WALLOFTHORN: "PLAYER"
+ }
+
+ disabled_items: {
+ }
+
+ disabled_commands: {
+ pvpon: 100
+ }
+}
+)
diff --git a/db/re/mob_boss.txt b/db/re/mob_boss.txt
new file mode 100644
index 0000000..84ae8ce
--- /dev/null
+++ b/db/re/mob_boss.txt
@@ -0,0 +1,5 @@
+// Bloody Branch Summonable Monsters Database
+//
+// Structure of Database:
+// MobID,DummyName,Rate
+
diff --git a/db/re/mob_branch.txt b/db/re/mob_branch.txt
new file mode 100644
index 0000000..9d7256d
--- /dev/null
+++ b/db/re/mob_branch.txt
@@ -0,0 +1,5 @@
+// Dead Branch Summonable Monsters Database
+//
+// Structure of Database:
+// MobID,DummyName,Rate
+
diff --git a/db/re/mob_db.conf b/db/re/mob_db.conf
new file mode 100644
index 0000000..e4bb502
--- /dev/null
+++ b/db/re/mob_db.conf
@@ -0,0 +1,13201 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2015 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/>.
+//=========================================================================
+//= Mobs Database
+//=========================================================================
+
+mob_db: (
+// Mobs Database
+//
+/******************************************************************************
+ ************* Entry structure ************************************************
+ ******************************************************************************
+{
+ // =================== Mandatory fields ===============================
+ Id: ID (int)
+ SpriteName: "SPRITE_NAME" (string)
+ Name: "Mob name" (string)
+ // =================== Optional fields ================================
+ JName: "Mob name" (string)
+ Lv: level (int, defaults to 1)
+ Hp: health (int, defaults to 1)
+ Sp: mana (int, defaults to 0)
+ Exp: basic experience (int, defaults to 0)
+ JExp: job experience (int, defaults to 0)
+ AttackRange: attack range (int, defaults to 1)
+ Attack: [attack1, attack2] (int, defaults to 0)
+ Def: defence (int, defaults to 0)
+ Mdef: magic defence (int, defaults to 0)
+ Stats: {
+ Str: strength (int, defaults to 0)
+ Agi: agility (int, defaults to 0)
+ Vit: vitality (int, defaults to 0)
+ Int: intelligence (int, defaults to 0)
+ Dex: dexterity (int, defaults to 0)
+ Luk: luck (int, defaults to 0)
+ }
+ ViewRange: view range (int, defaults to 1)
+ ChaseRange: chase range (int, defaults to 1)
+ Size: size (int, defaults to 1)
+ Race: race (int, defaults to 0)
+ Element: (type, level)
+ Mode: {
+ CanMove: true/false (bool, defaults to false)
+ Looter: true/false (bool, defaults to false)
+ Aggressive: true/false (bool, defaults to false)
+ Assist: true/false (bool, defaults to false)
+ CastSensorIdle:true/false (bool, defaults to false)
+ Boss: true/false (bool, defaults to false)
+ Plant: true/false (bool, defaults to false)
+ CanAttack: true/false (bool, defaults to false)
+ Detector: true/false (bool, defaults to false)
+ CastSensorChase: true/false (bool, defaults to false)
+ ChangeChase: true/false (bool, defaults to false)
+ Angry: true/false (bool, defaults to false)
+ ChangeTargetMelee: true/false (bool, defaults to false)
+ ChangeTargetChase: true/false (bool, defaults to false)
+ TargetWeak: true/false (bool, defaults to false)
+ NoKnockback: true/false (bool, defaults to false)
+ SurviveWithoutMaster: true/false (bool, defaults to false)
+ }
+ MoveSpeed: move speed (int, defaults to 0)
+ WalkMask: walk mask (int, defaults to 0)
+ AttackDelay: attack delay (int, defaults to 4000)
+ AttackMotion: attack motion (int, defaults to 2000)
+ DamageMotion: damage motion (int, defaults to 0)
+ // SpawnCollision - Support dropped (tmw2 dd7d9ed)
+ //SpawnCollisionSize: collision size (int, defaults to -1)
+ //SpawnCollisionMask: collision mask (int, defaults to 1)
+ MvpExp: mvp experience (int, defaults to 0)
+ MvpDrops: {
+ AegisName: chance (string: int)
+ }
+ Drops: {
+ AegisName: chance (string: int)
+ or
+ AegisName: (chance, "Option Drop Group")
+ }
+ DamageTakenRate: damage taken rate (int, defaults to 100)
+ }
+ WeaponAttacks: {
+ WeaponType: 10000
+ }
+ EleResist: {
+ ElementalName: 10000
+ }
+},
+******************************************************************************/
+
+
+{
+ Id: 1002
+ SpriteName: "Piou"
+ Name: "Piou"
+ Lv: 1
+ Hp: 120
+ Sp: 0
+ Exp: 2
+ AttackRange: 1
+ Attack: [23, 23]
+ Def: 7
+ Mdef: 3
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 2
+ Agi: 5
+ Vit: 7
+ Int: 1
+ Dex: 6
+ Luk: 3
+ }
+ ViewRange: 6
+ ChaseRange: 80
+ Race: 2
+ Element: (4, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ SurviveWithoutMaster: true
+ }
+ MoveSpeed: 200
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ PiouFeathers: 2000
+ PiouLegs: 1400
+ PolishedTopaz: 1
+ }
+},
+{
+ Id: 1003
+ SpriteName: "Piousse"
+ Name: "Piousse"
+ Lv: 2
+ Hp: 400
+ Sp: 0
+ Exp: 4
+ AttackRange: 1
+ Attack: [24, 24]
+ Def: 5
+ Mdef: 1
+ Stats: {
+ Str: 5
+ Agi: 1
+ Vit: 5
+ Int: 0
+ Dex: 10
+ Luk: 1
+ }
+ ViewRange: 6
+ ChaseRange: 80
+ Race: 2
+ Element: (4, 1)
+ Mode: {
+ CanMove: true
+ Assist: true
+ CanAttack: true
+ SurviveWithoutMaster: true
+ }
+ MoveSpeed: 150
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ HalfEggshell: 4000
+ PiouLegs: 3000
+ PiouFeathers: 3000
+ PolishedTopaz: 1
+ }
+},
+{
+ Id: 1004
+ SpriteName: "Tortuga"
+ Name: "Tortuga"
+ Lv: 300
+ Hp: 135000
+ Sp: 0
+ Exp: 27000
+ JExp: 300
+ AttackRange: 1
+ Attack: [6644, 8821]
+ Def: 271
+ Mdef: 71
+ WalkMask: "WALK_WATER"
+ Stats: {
+ Str: 18
+ Agi: 12
+ Vit: 1
+ Int: 8
+ Dex: 80
+ Luk: 25
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (1, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 700
+ AttackDelay: 2872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ ChocolateBiscuit: 10000
+ Moss: 2500
+ LettuceLeaf: 1800
+ TortugaShellFragment: 1780
+ TortugaTongue: 1000
+ Fungus: 800
+ Aquada: 600
+ SeaDrops: 500
+ TortugaShell: 400
+ LegendaryTortuga: 100
+ }
+ WeaponAttacks: {
+ Bows: 5000
+ }
+},
+{
+ Id: 1005
+ SpriteName: "Ratto"
+ Name: "Ratto"
+ Lv: 7
+ Hp: 500
+ Sp: 0
+ Exp: 9
+ JExp: 1
+ AttackRange: 1
+ Attack: [81, 83]
+ Def: 13
+ Mdef: 6
+ Stats: {
+ Str: 5
+ Agi: 10
+ Vit: 13
+ Int: 1
+ Dex: 11
+ Luk: 6
+ }
+ ViewRange: 3
+ ChaseRange: 12
+ Race: 2
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 120
+ AttackDelay: 1572
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Cheese: 1800
+ RattoTeeth: 900
+ RattoTail: 600
+ Piberries: 600
+ Moss: 600
+ }
+},
+{
+ Id: 1006
+ SpriteName: "Croc"
+ Name: "Croc"
+ Lv: 9
+ Hp: 1900
+ Sp: 0
+ Exp: 20
+ JExp: 1
+ AttackRange: 1
+ Attack: [124, 129]
+ Def: 54
+ Mdef: 6
+ Stats: {
+ Str: 6
+ Agi: 10
+ Vit: 13
+ Int: 1
+ Dex: 11
+ Luk: 6
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (1, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 600
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ CrocClaw: 1000
+ Aquada: 420
+ SeaDrops: 300
+ Coral: 600
+ BlueCoral: 60
+ MysteriousBottle: 13
+ }
+},
+{
+ Id: 1007
+ SpriteName: "LittleBlub"
+ Name: "Little Blub"
+ Lv: 6
+ Hp: 800
+ Sp: 0
+ Exp: 10
+ AttackRange: 1
+ Attack: [44, 45]
+ Def: 10
+ Mdef: 6
+ WalkMask: "WALK_WATER"
+ Stats: {
+ Str: 5
+ Agi: 10
+ Vit: 5
+ Int: 1
+ Dex: 11
+ Luk: 6
+ }
+ ViewRange: 8
+ ChaseRange: 12
+ Race: 2
+ Element: (1, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Assist: true
+ CanAttack: true
+ SurviveWithoutMaster: true
+ ChangeChase: true
+ }
+ MoveSpeed: 300
+ AttackDelay: 1100
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ SmallTentacles: 1400
+ PinkBlobime: 700
+ SeaDrops: 500
+ Aquada: 350
+ Coral: 25
+ Pearl: 11
+ MysteriousBottle: 3
+ }
+},
+{
+ Id: 1008
+ SpriteName: "Blub"
+ Name: "Blub"
+ Lv: 14
+ Hp: 2801
+ Sp: 0
+ Exp: 28
+ JExp: 3
+ AttackRange: 1
+ Attack: [159, 165]
+ Def: 16
+ Mdef: 4
+ WalkMask: "WALK_WATER"
+ Stats: {
+ Str: 8
+ Agi: 10
+ Vit: 13
+ Int: 1
+ Dex: 11
+ Luk: 6
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (1, 2)
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 500
+ AttackDelay: 2150
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Coral: 3000
+ SmallTentacles: 2400
+ PinkBlobime: 2000
+ Tentacles: 1800
+ SeaDrops: 1600
+ Aquada: 1500
+ Pearl: 71
+ MysteriousBottle: 9
+ }
+},
+{
+ Id: 1009
+ SpriteName: "ToppyBlub"
+ Name: "Toppy Blub"
+ Lv: 24
+ Hp: 5043
+ Sp: 0
+ Exp: 46
+ JExp: 8
+ AttackRange: 1
+ Attack: [288, 305]
+ Def: 18
+ Mdef: 11
+ WalkMask: "WALK_WATER"
+ Stats: {
+ Str: 9
+ Agi: 18
+ Vit: 17
+ Int: 1
+ Dex: 14
+ Luk: 11
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (1, 3)
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 2150
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Tentacles: 2300
+ PurpleBlobime: 1800
+ Aquada: 1200
+ SeaDrops: 4000
+ BlueCoral: 2200
+ Pearl: 100
+ MysteriousBottle: 11
+ }
+},
+{
+ Id: 1010
+ SpriteName: "CrocoTree"
+ Name: "Croconut Tree"
+ Lv: 5
+ Hp: 2500
+ Sp: 0
+ Exp: 2
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 25
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 10
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 1000
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ //SpawnCollisionSize: 0
+ //SpawnCollisionMask: 5
+ Drops: {
+ Croconut: 3700
+ Croconut: 2100
+ Croconut: 600
+ RawLog: 350
+ }
+ WeaponAttacks: {
+ Bows: 8000
+ }
+},
+{
+ Id: 1011
+ SpriteName: "PlushroomField"
+ Name: "Plushroom Field"
+ Lv: 1
+ Hp: 50
+ Sp: 0
+ Exp: 0
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 0
+ Mdef: 0
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 1000
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Plushroom: 5000
+ MushroomSpores: 400
+ Moss: 300
+ }
+},
+{
+ Id: 1012
+ SpriteName: "IceMaggot"
+ Name: "Ice Maggot"
+ Lv: 25
+ Hp: 3004
+ Sp: 0
+ Exp: 34
+ JExp: 2
+ AttackRange: 1
+ Attack: [222, 272]
+ Def: 6
+ Mdef: 2
+ Stats: {
+ Str: 9
+ Agi: 18
+ Vit: 17
+ Int: 1
+ Dex: 14
+ Luk: 11
+ }
+ ViewRange: 7
+ ChaseRange: 12
+ Race: 2
+ Element: (1, 1)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 700
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ MaggotSlime: 800
+ BugLeg: 400
+ Coal: 15
+ IceCube: 11
+ CrystallizedMaggot: 1
+ }
+},
+// 1013 is free
+// mob ids which is free: 1013 (pikpik)
+// is free: 1046, 1048 (dragons?)
+// is free: 1057, 1059 (small/big mineral bif)
+{
+ Id: 1014
+ SpriteName: "EntAbomination"
+ Name: "Ent Abomination"
+ Lv: 1
+ Hp: 10000
+ Exp: 1
+ Def: 1
+ Mdef: 1
+ Race: 3
+ Element: (2, 1)
+ AttackRange: 1
+ Attack: [22, 42]
+ Stats: {
+ Luk: 32767
+ }
+ ViewRange: 9
+ ChaseRange: 12
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Boss: true
+ }
+ MoveSpeed: 900
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 200
+},
+// Chests/Mimics: 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166,
+{
+ Id: 1015
+ SpriteName: "Tipiu"
+ Name: "Tipiu"
+ Lv: 70
+ Hp: 16000
+ Sp: 0
+ Exp: 1922
+ JExp: 110
+ AttackRange: 1
+ Attack: [496, 660]
+ Def: 60
+ Mdef: 29
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 33
+ Agi: 50
+ Vit: 60
+ Int: 1
+ Dex: 61
+ Luk: 29
+ }
+ ViewRange: 5
+ ChaseRange: 11
+ Race: 2
+ Element: (4, 2)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ Assist: true
+ Boss: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 210
+ AttackDelay: 1120
+ AttackMotion: 1672
+ DamageMotion: 100
+ Drops: {
+ PiouLegs: 10000
+ PiouFeathers: 8700
+ EasterEgg: 3000
+ BronzeBossGift: 1000
+ GoldenApple: 10
+ }
+},
+{
+ Id: 1016
+ SpriteName: "Tipiou"
+ Name: "Tipiou"
+ Lv: 45
+ Hp: 10238
+ Sp: 0
+ Exp: 222
+ JExp: 45
+ AttackRange: 1
+ Attack: [356, 524]
+ Def: 46
+ Mdef: 27
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 22
+ Agi: 33
+ Vit: 46
+ Int: 1
+ Dex: 41
+ Luk: 27
+ }
+ ViewRange: 3
+ ChaseRange: 12
+ Race: 2
+ Element: (4, 2)
+ Mode: {
+ CanMove: true
+ Assist: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 250
+ AttackDelay: 1120
+ AttackMotion: 1672
+ DamageMotion: 100
+ Drops: {
+ PiouFeathers: 3300
+ PiouLegs: 3700
+ EasterEgg: 3000
+ PolishedTopaz: 1
+ }
+},
+{
+ Id: 1017
+ SpriteName: "MananaTree"
+ Name: "Manana Tree"
+ Lv: 5
+ Hp: 2500
+ Sp: 0
+ Exp: 2
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 25
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 10
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 1000
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Manana: 2500
+ Manana: 1000
+ RawLog: 100
+ }
+},
+{
+ Id: 1018
+ SpriteName: "Crafty"
+ Name: "Crafty"
+ Lv: 70
+ Hp: 10105
+ Sp: 0
+ Exp: 952
+ JExp: 30
+ AttackRange: 1
+ Attack: [345, 394]
+ Def: 29
+ Mdef: 60
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 33
+ Agi: 50
+ Vit: 60
+ Int: 1
+ Dex: 61
+ Luk: 29
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (4, 2)
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 300
+ AttackDelay: 650
+ AttackMotion: 672
+ DamageMotion: 270
+ Drops: {
+ BatTeeth: 1800
+ LeftCraftyWing: 1300
+ RightCraftyWing: 1300
+ DarkCrystal: 80
+ }
+},
+{
+ Id: 1019
+ SpriteName: "MagentaSpark"
+ Name: "Magenta Spark"
+ Lv: 1
+ Hp: 14
+ Sp: 0
+ Exp: 4
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 60
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 65535
+ }
+ ChaseRange: 12
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ CanMove: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+},
+{
+ Id: 1020
+ SpriteName: "YellowSpark"
+ Name: "Yellow Spark"
+ Lv: 1
+ Hp: 14
+ Sp: 0
+ Exp: 4
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 60
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 65535
+ }
+ ChaseRange: 12
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ CanMove: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+},
+{
+ Id: 1021
+ SpriteName: "Dummy"
+ Name: "Dummy"
+ Lv: 1
+ Hp: 15
+ Sp: 0
+ Exp: 4
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ MoveSpeed: 1000
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+},
+{
+ Id: 1022
+ SpriteName: "Fluffy"
+ Name: "Common Fluffy"
+ Lv: 16
+ Hp: 2820
+ Sp: 0
+ Exp: 27
+ JExp: 4
+ AttackRange: 1
+ Attack: [210, 250]
+ Def: 8
+ Mdef: 0
+ Stats: {
+ Str: 9
+ Agi: 18
+ Vit: 17
+ Int: 1
+ Dex: 14
+ Luk: 6
+ }
+ ViewRange: 6
+ ChaseRange: 12
+ Race: 2
+ Element: (1, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 2072
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ WhiteFur: 2200
+ LettuceLeaf: 1600
+ Moss: 800
+ FluffyHat: 1
+ }
+},
+{
+ Id: 1023
+ SpriteName: "Mouboo"
+ Name: "Common Mouboo"
+ Lv: 35
+ Hp: 4000
+ Sp: 0
+ Exp: 106
+ JExp: 10
+ AttackRange: 1
+ Attack: [204, 222]
+ Def: 33
+ Mdef: 19
+ Stats: {
+ Str: 17
+ Agi: 28
+ Vit: 33
+ Int: 1
+ Dex: 33
+ Luk: 19
+ }
+ ViewRange: 4
+ ChaseRange: 12
+ Race: 2
+ Element: (1, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ Assist: true
+ SurviveWithoutMaster: true
+ }
+ MoveSpeed: 620
+ AttackDelay: 872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ Milk: 400
+ RedApple: 350
+ MoubooSteak: 300
+ ChocolateBar: 290
+ CasinoCoins: 250
+ ReedBundle: 200
+ ChocolateMouboo: 100
+ MoubooHat: 1
+ }
+},
+{
+ Id: 1024
+ SpriteName: "Bandit"
+ Name: "Bandit"
+ Lv: 26
+ Hp: 4211
+ Sp: 0
+ Exp: 44
+ JExp: 8
+ AttackRange: 1
+ Attack: [168, 180]
+ Def: 45
+ Mdef: 20
+ Stats: {
+ Str: 11
+ Agi: 20
+ Vit: 24
+ Int: 10
+ Dex: 33
+ Luk: 11
+ }
+ ViewRange: 9
+ ChaseRange: 12
+ Race: 2
+ Element: (7, 1)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 440
+ AttackDelay: 1260
+ AttackMotion: 672
+ DamageMotion: 900
+ Drops: {
+ BanditHood: 800
+ CoinBag: 500
+ RedApple: 300
+ LeatherPatch: 200
+ Dagger: 90
+ Lockpicks: 70
+ GoldPieces: 3
+ BanditPants: 1
+ }
+},
+{
+ Id: 1025
+ SpriteName: "RedButterfly"
+ Name: "Red Butterfly"
+ Lv: 5
+ Hp: 460
+ Sp: 0
+ Exp: 8
+ JExp: 2
+ AttackRange: 1
+ Attack: [100, 200]
+ Def: 30
+ Mdef: 350
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 10
+ Agi: 115
+ Vit: 10
+ Int: 15
+ Dex: 100
+ Luk: 40
+ }
+ ViewRange: 5
+ ChaseRange: 12
+ Race: 2
+ Element: (4, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 320
+ AttackDelay: 390
+ AttackMotion: 300
+ DamageMotion: 800
+ Drops: {
+ SilkCocoon: 945
+ Butterfly: 1
+ }
+},
+{
+ Id: 1026
+ SpriteName: "Archant"
+ Name: "Archant"
+ Lv: 65
+ Hp: 8740
+ Sp: 0
+ Exp: 992
+ JExp: 35
+ AttackRange: 1
+ Attack: [716, 813]
+ Def: 12
+ Mdef: 6
+ Stats: {
+ Str: 28
+ Agi: 40
+ Vit: 53
+ Int: 1
+ Dex: 51
+ Luk: 26
+ }
+ ViewRange: 7
+ ChaseRange: 12
+ Race: 2
+ Element: (2, 1)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 620
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ MaggotSlime: 800
+ BugLeg: 400
+ TreasureKey: 200
+ Coal: 75
+ }
+},
+{
+ Id: 1027
+ SpriteName: "CaveMaggot"
+ Name: "Cave Maggot"
+ Lv: 15
+ Hp: 1050
+ Sp: 0
+ Exp: 18
+ JExp: 1
+ AttackRange: 1
+ Attack: [100, 130]
+ Def: 12
+ Mdef: 2
+ Stats: {
+ Str: 9
+ Agi: 18
+ Vit: 17
+ Int: 1
+ Dex: 14
+ Luk: 11
+ }
+ ViewRange: 7
+ ChaseRange: 12
+ Race: 2
+ Element: (2, 1)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 700
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ MaggotSlime: 800
+ BugLeg: 400
+ RoastedMaggot: 150
+ CactusDrink: 100
+ CactusPotion: 51
+ Coal: 15
+ SharpKnife: 11
+ CrystallizedMaggot: 1
+ }
+},
+{
+ Id: 1028
+ SpriteName: "CloverPatch"
+ Name: "Clover Patch"
+ Lv: 1
+ Hp: 1
+ Sp: 1
+ Exp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 0
+ Mdef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 0
+ ChaseRange: 12
+ Race: 2
+ Element: (2, 1)
+ Mode: {
+ CanMove: false
+ CanAttack:false
+ }
+ Drops: {
+ ReedBundle: 400
+ FourLeafClover: 2
+ }
+},
+{
+ Id: 1029
+ SpriteName: "Duck"
+ Name: "Duck"
+ Lv: 14
+ Hp: 1282
+ Sp: 0
+ Exp: 16
+ JExp: 1
+ AttackRange: 1
+ Attack: [60, 63]
+ Def: 17
+ Mdef: 20
+ WalkMask: "WALK_WATER"
+ Stats: {
+ Str: 9
+ Agi: 18
+ Vit: 17
+ Int: 1
+ Dex: 16
+ Luk: 11
+ }
+ ViewRange: 6
+ ChaseRange: 12
+ Race: 2
+ Element: (1, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 240
+ AttackDelay: 580
+ AttackMotion: 472
+ DamageMotion: 200
+ Drops: {
+ CherryCake: 770
+ BugLeg: 350
+ Moss: 320
+ DuckFeather: 56
+ CommonCarp: 23
+ GrassCarp: 3
+ }
+},
+{
+ Id: 1030
+ SpriteName: "Maggot"
+ Name: "Common Maggot"
+ Lv: 5
+ Hp: 400
+ Sp: 0
+ Exp: 6
+ JExp: 1
+ AttackRange: 1
+ Attack: [59, 70]
+ Def: 5
+ Mdef: 3
+ Stats: {
+ Str: 7
+ Agi: 5
+ Vit: 2
+ Int: 1
+ Dex: 5
+ Luk: 3
+ }
+ ViewRange: 6
+ ChaseRange: 12
+ Race: 2
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ MaggotSlime: 800
+ BugLeg: 400
+ RoastedMaggot: 150
+ CactusDrink: 81
+ CactusPotion: 61
+ SharpKnife: 11
+ CrystallizedMaggot: 1
+ }
+},
+{
+ Id: 1031
+ SpriteName: "GiantMaggot"
+ Name: "Giant Maggot"
+ Lv: 40
+ Hp: 4813
+ Sp: 0
+ Exp: 127
+ JExp: 9
+ AttackRange: 1
+ Attack: [600, 894]
+ Def: 33
+ Mdef: 19
+ Stats: {
+ Str: 17
+ Agi: 28
+ Vit: 33
+ Int: 1
+ Dex: 33
+ Luk: 19
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (0, 2)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 1900
+ AttackDelay: 2700
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ CactusDrink: 4000
+ CactusPotion: 3000
+ MaggotSlime: 900
+ BugLeg: 800
+ TolchiAmmoBox: 700
+ CherryCake: 350
+ CoinBag: 200
+ EmptyBox: 125
+ CasinoCoins: 100
+ DesertTablet: 2
+ }
+},
+{
+ Id: 1032
+ SpriteName: "Squirrel"
+ Name: "Squirrel"
+ Lv: 3
+ Hp: 750
+ Exp: 3
+ Def: 3
+ Mdef: 300
+ ViewRange: 18
+ ChaseRange: 18
+ Race: 2
+ Element: (2, 1)
+ MoveSpeed: 116
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: false
+ }
+ Drops: {
+ Acorn: 1700
+ ArtichokeHerb: 1600
+ MauveHerb: 900
+ GambogeHerb: 600
+ Acorn: 600
+ CobaltHerb: 300
+ SquirrelPelt: 175
+ AlizarinHerb: 100
+ ShadowHerb: 15
+ Emerald: 2
+ }
+},
+{
+ Id: 1033
+ SpriteName: "SpringSquirrel"
+ Name: "Spring Squirrel"
+ Lv: 3
+ Hp: 750
+ Exp: 3
+ Def: 3
+ Mdef: 300
+ ViewRange: 18
+ ChaseRange: 18
+ Race: 2
+ Element: (2, 1)
+ MoveSpeed: 128
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: false
+ }
+ Drops: {
+ MauveHerb: 1600
+ Acorn: 1500
+ ArtichokeHerb: 900
+ GambogeHerb: 600
+ Acorn: 550
+ CobaltHerb: 300
+ SquirrelPelt: 180
+ AlizarinHerb: 100
+ ShadowHerb: 10
+ Emerald: 2
+ }
+},
+{
+ Id: 1034
+ SpriteName: "SilkWorm"
+ Name: "Silk Worm"
+ Lv: 1
+ Hp: 120
+ Sp: 0
+ Exp: 2
+ JExp: 1
+ AttackRange: 1
+ Attack: [20, 20]
+ Def: 8
+ Mdef: 0
+ Stats: {
+ Str: 5
+ Agi: 15
+ Vit: 5
+ Int: 1
+ Dex: 25
+ Luk: 15
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 1200
+ AttackDelay: 2872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ SilkCocoon: 5000
+ }
+},
+{
+ Id: 1035
+ SpriteName: "CaveSnake"
+ Name: "Cave Snake"
+ Lv: 30
+ Hp: 3607
+ Sp: 0
+ Exp: 54
+ JExp: 8
+ AttackRange: 1
+ Attack: [320, 455]
+ Def: 24
+ Mdef: 13
+ Stats: {
+ Str: 11
+ Agi: 20
+ Vit: 24
+ Int: 1
+ Dex: 29
+ Luk: 13
+ }
+ ViewRange: 8
+ ChaseRange: 12
+ Race: 2
+ Element: (2, 2)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ CaveSnakeLamp: 900
+ CaveSnakeTongue: 500
+ CaveSnakeEgg: 400
+ CaveSnakeEgg: 100
+ CaveSnakeSkin: 41
+ JeansShorts: 32
+ Coal: 25
+ CaveSnakeHat: 1
+ }
+},
+{
+ Id: 1036
+ SpriteName: "EvilScythe"
+ Name: "Evil Scythe"
+ Lv: 90
+ Hp: 37142
+ Sp: 0
+ Exp: 6400
+ JExp: 212
+ AttackRange: 1
+ Attack: [213, 350]
+ Def: 0
+ Mdef: 0
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Agi: 250
+ Vit: 1
+ Int: 1
+ Dex: 150
+ Luk: 90
+ }
+ ViewRange: 9
+ ChaseRange: 14
+ Race: 2
+ Element: (7, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ Boss: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 200
+ AttackDelay: 620
+ AttackMotion: 472
+ DamageMotion: 200
+ Drops: {
+ SpectralOrb: 200
+ PlatinumOre: 125
+ CursedSkull: 100
+ BlackPearl: 3
+ Emperium: 1
+ }
+},
+{
+ Id: 1037
+ SpriteName: "Wolvern"
+ Name: "Wolvern"
+ Lv: 46
+ Hp: 5699
+ Sp: 0
+ Exp: 295
+ JExp: 16
+ AttackRange: 1
+ Attack: [615, 682]
+ Def: 46
+ Mdef: 27
+ Stats: {
+ Str: 22
+ Agi: 33
+ Vit: 46
+ Int: 2
+ Dex: 41
+ Luk: 27
+ }
+ ViewRange: 6
+ ChaseRange: 12
+ Race: 2
+ Element: (0, 2)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 2272
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ WhiteFur: 2500
+ WolvernPelt: 450
+ WolvernTooth: 150
+ WolvernTooth: 150
+ WolvernTeethNecklace: 1
+ }
+},
+{
+ Id: 1038
+ SpriteName: "Moubi"
+ Name: "Moubi"
+ Lv: 135
+ Hp: 29700
+ Sp: 0
+ Exp: 16200
+ JExp: 35
+ AttackRange: 3
+ Attack: [530, 550]
+ Def: 322
+ Mdef: 49
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ ViewRange: 7
+ ChaseRange: 12
+ Race: 2
+ Element: (6, 2)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ Assist: true
+ SurviveWithoutMaster: true
+ }
+ MoveSpeed: 420
+ AttackDelay: 872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ Milk: 2000
+ RedApple: 1750
+ MoubooSteak: 1500
+ ChocolateBar: 1450
+ ReedBundle: 1000
+ ChocolateMouboo: 500
+ PurificationPotion: 60
+ HeartNecklace: 1
+ MoubiHat: 1
+ }
+},
+{
+ Id: 1039
+ SpriteName: "Bat"
+ Name: "Cave Bat"
+ Lv: 14
+ Hp: 1682
+ Sp: 0
+ Exp: 17
+ JExp: 2
+ AttackRange: 1
+ Attack: [96, 101]
+ Def: 15
+ Mdef: 60
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 7
+ Agi: 14
+ Vit: 15
+ Int: 1
+ Dex: 24
+ Luk: 9
+ }
+ ViewRange: 1
+ ChaseRange: 16
+ Race: 2
+ Element: (4, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 750
+ AttackDelay: 930
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ BatTeeth: 1750
+ BatWing: 1400
+ BatWing: 1200
+ BugLeg: 200
+ MaggotSlime: 90
+ Dagger: 66
+ Bloodstone: 1
+ }
+},
+{
+ Id: 1040
+ SpriteName: "YetiKing"
+ Name: "The Yeti King"
+ Lv: 120
+ Hp: 64612
+ Sp: 0
+ Exp: 26103
+ JExp: 400
+ AttackRange: 3
+ Attack: [977, 1082]
+ Def: 120
+ Mdef: 80
+ Stats: {
+ Str: 60
+ Agi: 78
+ Vit: 93
+ Int: 40
+ Dex: 88
+ Luk: 56
+ }
+ ViewRange: 5
+ ChaseRange: 8
+ Race: 2
+ Element: (6, 3)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ Boss: true
+ Looter: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 450
+ AttackDelay: 1800
+ AttackMotion: 672
+ DamageMotion: 270
+ Drops: {
+ FrozenYetiTear: 10000
+ AnimalBones: 1500
+ BronzeBossGift: 1000
+ SilverBossGift: 500
+ ArcmageBoxset: 135
+ YetiMask: 50
+ LightRing: 1
+ }
+},
+{
+ Id: 1041
+ SpriteName: "IcedFluffy"
+ Name: "Iced Fluffy"
+ Lv: 40
+ Hp: 6200
+ Sp: 0
+ Exp: 151
+ JExp: 14
+ AttackRange: 1
+ Attack: [500, 700]
+ Def: 66
+ Mdef: 19
+ Stats: {
+ Str: 17
+ Agi: 28
+ Vit: 33
+ Int: 1
+ Dex: 33
+ Luk: 19
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (1, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ WhiteFur: 800
+ WhiteFur: 300
+ SharpKnife: 11
+ FluffyHat: 1
+ }
+},
+{
+ Id: 1042
+ SpriteName: "RedMushroom"
+ Name: "Red Mushroom"
+ Lv: 33
+ Hp: 4200
+ Sp: 0
+ Exp: 98
+ JExp: 10
+ AttackRange: 1
+ Attack: [361, 393]
+ Def: 26
+ Mdef: 15
+ Stats: {
+ Str: 12
+ Agi: 22
+ Vit: 26
+ Int: 5
+ Dex: 30
+ Luk: 15
+ }
+ ViewRange: 7
+ ChaseRange: 12
+ Race: 2
+ Element: (3, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ Aggressive: true
+ Angry: true
+ }
+ MoveSpeed: 780
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Chagashroom: 800
+ MushroomSpores: 800
+ SmallMushroom: 600
+ Plushroom: 400
+ Chagashroom: 100
+ Orange: 50
+ MushHat: 1
+ }
+},
+{
+ Id: 1043
+ SpriteName: "PoisonSpikyMushroom"
+ Name: "Poison Spiky Mushroom"
+ Lv: 22
+ Hp: 2643
+ Sp: 0
+ Exp: 25
+ JExp: 6
+ AttackRange: 1
+ Attack: [258, 275]
+ Def: 19
+ Mdef: 11
+ Stats: {
+ Str: 9
+ Agi: 18
+ Vit: 17
+ Int: 1
+ Dex: 18
+ Luk: 11
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (6, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 1572
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Plushroom: 700
+ MushroomSpores: 750
+ HardSpike: 400
+ SmallMushroom: 400
+ Plushroom: 400
+ HardSpike: 200
+ ShroomHat: 1
+ }
+},
+{
+ Id: 1044
+ SpriteName: "GiantMutatedBat"
+ Name: "Giant Mutated Bat"
+ Lv: 80
+ Hp: 43310
+ Sp: 0
+ Exp: 13540
+ JExp: 115
+ AttackRange: 2
+ Attack: [536, 721]
+ Def: 22
+ Mdef: 0
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 41
+ Agi: 55
+ Vit: 72
+ Int: 80
+ Dex: 66
+ Luk: 33
+ }
+ ViewRange: 6
+ ChaseRange: 12
+ Race: 2
+ Element: (4, 1)
+ Mode: {
+ Aggressive: true
+ Boss: true
+ Angry: true
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ ChangeTargetMelee: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 515
+ AttackDelay: 1880
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ BugLeg: 3000
+ BronzeBossGift: 1000
+ LeatherPatch: 750
+ CactusPotion: 500
+ CactusDrink: 400
+ GoldOre: 200
+ SharpKnife: 100
+ AnimalBones: 80
+ }
+},
+{
+ Id: 1045
+ SpriteName: "Scar"
+ Name: "Scar"
+ Lv: 65
+ Hp: 8772
+ Sp: 0
+ Exp: 992
+ JExp: 30
+ AttackRange: 2
+ Attack: [530, 550]
+ Def: 27
+ Mdef: 22
+ Stats: {
+ Str: 33
+ Agi: 50
+ Vit: 60
+ Int: 1
+ Dex: 61
+ Luk: 29
+ }
+ ViewRange: 7
+ ChaseRange: 12
+ Race: 2
+ Element: (7, 1)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 600
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ DarkCrystal: 85
+ Coal: 65
+ SkullBloodyMug: 20
+ DarkCrystal: 15
+ Diamond: 10
+ Topaz: 3
+ Amethyst: 2
+ }
+},
+// 1046 is free
+{
+ Id: 1047
+ SpriteName: "BeeHive"
+ Name: "Bee Hive"
+ Lv: 1
+ Hp: 30
+ Sp: 1
+ Exp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 0
+ Mdef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 0
+ ChaseRange: 12
+ Race: 2
+ Element: (2, 1)
+ Mode: {
+ CanMove: false
+ CanAttack:false
+ }
+ Drops: {
+ BeeStinger: 700
+ Honey: 400
+ Honey: 200
+ Honey: 100
+ }
+},
+// 1048 is free
+{
+ Id: 1049
+ SpriteName: "BhopFluffy"
+ Name: "Bhop Fluffy"
+ Lv: 18
+ Hp: 1200
+ Sp: 0
+ Exp: 18
+ JExp: 3
+ AttackRange: 1
+ Attack: [50, 250]
+ Def: 10
+ Mdef: 0
+ Stats: {
+ Str: 14
+ Agi: 1
+ Vit: 10
+ Int: 1
+ Dex: 30
+ Luk: 5
+ }
+ ViewRange: 6
+ ChaseRange: 12
+ Race: 2
+ Element: (1, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ SilverEasteregg: 1000
+ GoldenEasteregg: 200
+ CactusDrink: 200
+ CactusPotion: 100
+ Carrot: 51
+ BunnyEars: 7
+ DarkEggshellHat: 1
+ FluffyHat: 1
+ }
+},
+{
+ Id: 1050
+ SpriteName: "LoveFluffy"
+ Name: "Lovely Fluffy"
+ Lv: 18
+ Hp: 1200
+ Sp: 0
+ Exp: 18
+ JExp: 3
+ AttackRange: 1
+ Attack: [60, 250]
+ Def: 10
+ Mdef: 0
+ Stats: {
+ Str: 14
+ Agi: 1
+ Vit: 10
+ Int: 1
+ Dex: 30
+ Luk: 5
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (1, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 600
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ BoxOfChocolates: 1000
+ LoveLetter: 100
+ Carrot: 51
+ EverburnPowder: 6
+ FluffyHat: 1
+ }
+},
+{
+ Id: 1051
+ SpriteName: "DarkLizard"
+ Name: "Dark Lizard"
+ Lv: 47
+ Hp: 5850
+ Sp: 0
+ Exp: 326
+ JExp: 15
+ AttackRange: 1
+ Attack: [407, 452]
+ Def: 46
+ Mdef: 200
+ Stats: {
+ Str: 22
+ Agi: 33
+ Vit: 46
+ Int: 1
+ Dex: 41
+ Luk: 37
+ }
+ ViewRange: 6
+ ChaseRange: 12
+ Race: 2
+ Element: (7, 2)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 600
+ AttackDelay: 1622
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ CasinoCoins: 550
+ PileOfAsh: 320
+ GingerBreadMan: 240
+ SulfurPowder: 215
+ }
+},
+{
+ Id: 1052
+ SpriteName: "MagicGoblin"
+ Name: "Magic Goblin"
+ Lv: 16
+ Hp: 900
+ Sp: 0
+ Exp: 15
+ JExp: 5
+ AttackRange: 6
+ Attack: [120, 190]
+ Def: 17
+ Mdef: 26
+ Stats: {
+ Str: 10
+ Agi: 18
+ Vit: 17
+ Int: 32
+ Dex: 40
+ Luk: 16
+ }
+ ViewRange: 8
+ ChaseRange: 12
+ Race: 2
+ Element: (7, 1)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 1472
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ PileOfAsh: 220
+ PileOfAsh: 80
+ SulfurPowder: 75
+ CactusDrink: 45
+ SharpKnife: 11
+ }
+},
+{
+ Id: 1053
+ SpriteName: "LofSquirrel"
+ Name: "Lof Squirrel"
+ Lv: 3
+ Hp: 750
+ Exp: 3
+ Def: 3
+ Mdef: 300
+ ViewRange: 18
+ ChaseRange: 18
+ Race: 2
+ Element: (2, 1)
+ MoveSpeed: 112
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: false
+ }
+ Drops: {
+ AlizarinHerb: 1600
+ Acorn: 1550
+ ArtichokeHerb: 900
+ MauveHerb: 600
+ Acorn: 500
+ GambogeHerb: 300
+ SquirrelPelt: 145
+ CobaltHerb: 100
+ ShadowHerb: 45
+ Ruby: 2
+ }
+},
+{
+ Id: 1054
+ SpriteName: "FrozenSquirrel"
+ Name: "Frozen Squirrel"
+ Lv: 3
+ Hp: 750
+ Exp: 3
+ Def: 20
+ Mdef: 300
+ ViewRange: 18
+ ChaseRange: 18
+ Race: 2
+ Element: (2, 1)
+ MoveSpeed: 120
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: false
+ }
+ Drops: {
+ CobaltHerb: 1600
+ ArtichokeHerb: 900
+ Acorn: 750
+ MauveHerb: 600
+ GambogeHerb: 300
+ Acorn: 100
+ SquirrelPelt: 190
+ AlizarinHerb: 100
+ ShadowHerb: 35
+ Sapphire: 2
+ }
+},
+{
+ Id: 1055
+ SpriteName: "FairysSquirrel"
+ Name: "Fairy's Squirrel"
+ Lv: 3
+ Hp: 750
+ Exp: 3
+ Def: 20
+ Mdef: 300
+ ViewRange: 18
+ ChaseRange: 18
+ Race: 2
+ Element: (2, 1)
+ MoveSpeed: 108
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: false
+ }
+ Drops: {
+ Acorn: 1800
+ GambogeHerb: 1600
+ Acorn: 1000
+ ArtichokeHerb: 900
+ MauveHerb: 600
+ CobaltHerb: 300
+ SquirrelPelt: 160
+ AlizarinHerb: 100
+ ShadowHerb: 25
+ Topaz: 2
+ }
+},
+{
+ Id: 1056
+ SpriteName: "AlphaMouboo"
+ Name: "Alpha Mouboo"
+ Lv: 45
+ Hp: 7768
+ Sp: 0
+ Exp: 640
+ JExp: 20
+ AttackRange: 1
+ Attack: [585, 757]
+ Def: 46
+ Mdef: 41
+ Stats: {
+ Str: 22
+ Agi: 38
+ Vit: 46
+ Int: 16
+ Dex: 41
+ Luk: 45
+ }
+ ViewRange: 3
+ ChaseRange: 14
+ Race: 2
+ Element: (0, 2)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ Assist: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 2072
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ CasinoCoins: 1100
+ RedApple: 400
+ MoubooSteak: 375
+ ChocolateBar: 300
+ ChocolateMouboo: 200
+ ChocolateBar: 15
+ AntlersHat: 1
+ AlphaMoubooHat: 1
+ }
+},
+// 1057 is free
+{
+ Id: 1058
+ SpriteName: "Bif"
+ Name: "Mineral Bif"
+ Lv: 1
+ Hp: 5
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 65535
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 550
+ IronOre: 400
+ CopperOre: 200
+ SilverOre: 100
+ GoldOre: 80
+ TinOre: 60
+ LeadOre: 50
+ TitaniumOre: 35
+ IridiumOre: 10
+ PlatinumOre: 5
+ }
+},
+// 1059 is free
+{
+ Id: 1060
+ SpriteName: "ForestMushroom"
+ Name: "Forest Mushroom"
+ Lv: 54
+ Hp: 6439
+ Sp: 0
+ Exp: 406
+ JExp: 20
+ AttackRange: 1
+ Attack: [764, 856]
+ Def: 49
+ Mdef: 36
+ Stats: {
+ Str: 24
+ Agi: 35
+ Vit: 49
+ Int: 9
+ Dex: 45
+ Luk: 24
+ }
+ ViewRange: 7
+ ChaseRange: 12
+ Race: 2
+ Element: (6, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 760
+ AttackDelay: 2372
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ MushroomSpores: 850
+ Plushroom: 800
+ SmallMushroom: 500
+ HardSpike: 400
+ Chagashroom: 350
+ HardSpike: 200
+ ArtichokeHerb: 150
+ Emerald: 3
+ ForestShroomHat: 1
+ }
+},
+{
+ Id: 1061
+ SpriteName: "Forain"
+ Name: "Forain"
+ Lv: 75
+ Hp: 9501
+ Sp: 0
+ Exp: 1896
+ JExp: 32
+ AttackRange: 2
+ Attack: [364, 417]
+ Def: 65
+ Mdef: 34
+ Stats: {
+ Str: 82
+ Agi: 45
+ Vit: 66
+ Int: 16
+ Dex: 57
+ Luk: 34
+ }
+ ViewRange: 8
+ ChaseRange: 10
+ Race: 2
+ Element: (0, 3)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 205
+ AttackDelay: 1620
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ ChocolateBiscuit: 800
+ Coal: 500
+ LeadOre: 400
+ AnimalBones: 270
+ DarkCrystal: 17
+ }
+},
+{
+ Id: 1062
+ SpriteName: "Assassin"
+ Name: "Assassin"
+ Lv: 27
+ Hp: 4211
+ Sp: 0
+ Exp: 45
+ JExp: 8
+ AttackRange: 1
+ Attack: [198, 214]
+ Def: 45
+ Mdef: 20
+ Stats: {
+ Str: 11
+ Agi: 20
+ Vit: 24
+ Int: 10
+ Dex: 33
+ Luk: 11
+ }
+ ViewRange: 9
+ ChaseRange: 12
+ Race: 2
+ Element: (7, 1)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 440
+ AttackDelay: 1260
+ AttackMotion: 672
+ DamageMotion: 900
+ Drops: {
+ RedApple: 400
+ LeatherPatch: 240
+ CoinBag: 125
+ Lockpicks: 100
+ Dagger: 20
+ GoldPieces: 3
+ }
+},
+{
+ Id: 1063
+ SpriteName: "VampireBat"
+ Name: "Vampire Bat"
+ Lv: 25
+ Hp: 3000
+ Sp: 0
+ Exp: 35
+ JExp: 1
+ AttackRange: 1
+ Attack: [272, 292]
+ Def: 17
+ Mdef: 11
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 9
+ Agi: 18
+ Vit: 17
+ Int: 1
+ Dex: 14
+ Luk: 11
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (4, 1)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ BugLeg: 300
+ VampireBatWing: 150
+ VampireBatWing: 100
+ Bloodstone: 1
+ }
+},
+{
+ Id: 1064
+ SpriteName: "Yeti"
+ Name: "Yeti"
+ Lv: 60
+ Hp: 7128
+ Sp: 0
+ Exp: 872
+ JExp: 25
+ AttackRange: 2
+ Attack: [244, 281]
+ Def: 85
+ Mdef: 32
+ Stats: {
+ Str: 60
+ Agi: 40
+ Vit: 55
+ Int: 15
+ Dex: 51
+ Luk: 32
+ }
+ ViewRange: 7
+ ChaseRange: 12
+ Race: 2
+ Element: (6, 2)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 220
+ AttackDelay: 1200
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ WhiteFur: 3000
+ WhiteFur: 1800
+ WhiteFur: 700
+ AnimalBones: 400
+ FrozenYetiTear: 300
+ SilverOre: 200
+ YetiMask: 4
+ }
+},
+{
+ Id: 1065
+ SpriteName: "Bee"
+ Name: "Bee"
+ Lv: 5
+ Hp: 600
+ Sp: 0
+ Exp: 7
+ JExp: 1
+ AttackRange: 1
+ Attack: [69, 70]
+ Def: 10
+ Mdef: 4
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 7
+ Agi: 6
+ Vit: 2
+ Int: 1
+ Dex: 60
+ Luk: 5
+ }
+ ViewRange: 14
+ ChaseRange: 14
+ Race: 2
+ Element: (4, 1)
+ Mode: {
+ Assist: true
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ BugLeg: 500
+ BeeStinger: 300
+ Honey: 15
+ Topaz: 1
+ }
+},
+{
+ Id: 1066
+ SpriteName: "LogHead"
+ Name: "Log Head"
+ Lv: 35
+ Hp: 4204
+ Sp: 300
+ Exp: 112
+ JExp: 10
+ AttackRange: 1
+ Attack: [487, 532]
+ Def: 61
+ Mdef: 5
+ Stats: {
+ Str: 40
+ Agi: 24
+ Vit: 14
+ Int: 1
+ Dex: 28
+ Luk: 22
+ }
+ ViewRange: 16
+ ChaseRange: 17
+ Race: 2
+ Element: (2, 1)
+ Mode: {
+ CanMove: true
+ Assist: true
+ CanAttack: true
+ ChangeChase: true
+ ChangeTargetMelee: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 900
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Acorn: 3000
+ Root: 2400
+ RawLog: 2000
+ RawLog: 2000
+ ReedBundle: 150
+ }
+},
+{
+ Id: 1067
+ SpriteName: "FireGoblin"
+ Name: "Fire Goblin"
+ Lv: 17
+ Hp: 2042
+ Sp: 0
+ Exp: 21
+ JExp: 4
+ AttackRange: 1
+ Attack: [96, 99]
+ Def: 13
+ Mdef: 5
+ Stats: {
+ Str: 5
+ Agi: 10
+ Vit: 13
+ Int: 1
+ Dex: 11
+ Luk: 6
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (3, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ BugLeg: 400
+ Piberries: 200
+ PileOfAsh: 150
+ Coal: 140
+ CactusDrink: 100
+ PileOfAsh: 75
+ CactusPotion: 51
+ EmptyBottle: 41
+ CherryCake: 36
+ SharpKnife: 5
+ }
+},
+{
+ Id: 1068
+ SpriteName: "ManaGhost"
+ Name: "Mana Ghost"
+ Lv: 15
+ Hp: 802
+ Sp: 0
+ Exp: 13
+ JExp: 10
+ AttackRange: 1
+ Attack: [242, 254]
+ Def: 30
+ Mdef: 80
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 8
+ Agi: 16
+ Vit: 15
+ Int: 46
+ Dex: 120
+ Luk: 5
+ }
+ ViewRange: 6
+ ChaseRange: 12
+ Race: 2
+ Element: (8, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 2172
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ CactusDrink: 700
+ SulfurPowder: 500
+ CactusPotion: 300
+ SharpKnife: 21
+ BlueManaPearl: 1
+ ArcmageBoxset: 1
+ }
+},
+{
+ Id: 1069
+ SpriteName: "Moonshroom"
+ Name: "Moonshroom"
+ Lv: 80
+ Hp: 11346
+ Sp: 200
+ Exp: 1976
+ JExp: 39
+ AttackRange: 4
+ Attack: [285, 329]
+ Def: 64
+ Mdef: 72
+ Stats: {
+ Str: 41
+ Agi: 55
+ Vit: 72
+ Int: 50
+ Dex: 66
+ Luk: 33
+ }
+ ViewRange: 7
+ ChaseRange: 11
+ Race: 2
+ Element: (6, 3)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ MushroomSpores: 1150
+ Plushroom: 600
+ SmallMushroom: 600
+ ChocolateBiscuit: 350
+ Chagashroom: 300
+ SulfurPowder: 270
+ FluoPowder: 50
+ SapphirePowder: 15
+ Sapphire: 5
+ MoonshroomHat: 2
+ }
+},
+{
+ Id: 1070
+ SpriteName: "Moggun"
+ Name: "Moggun"
+ Lv: 32
+ Hp: 5000
+ Sp: 0
+ Exp: 63
+ JExp: 10
+ AttackRange: 1
+ Attack: [350, 375]
+ Def: 24
+ Mdef: 13
+ Stats: {
+ Str: 11
+ Agi: 20
+ Vit: 24
+ Int: 1
+ Dex: 29
+ Luk: 13
+ }
+ ViewRange: 6
+ ChaseRange: 12
+ Race: 2
+ Element: (6, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ WhiteFur: 2700
+ WhiteFur: 450
+ WhiteFur: 200
+ Diamond: 11
+ IceGladius: 2
+ }
+},
+{
+ Id: 1071
+ SpriteName: "Scorpion"
+ Name: "Common Scorpion"
+ Lv: 10
+ Hp: 1201
+ Sp: 0
+ Exp: 13
+ JExp: 2
+ AttackRange: 1
+ Attack: [138, 144]
+ Def: 13
+ Mdef: 6
+ Stats: {
+ Str: 5
+ Agi: 10
+ Vit: 13
+ Int: 1
+ Dex: 11
+ Luk: 6
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ ScorpionStinger: 700
+ BugLeg: 650
+ ScorpionClaw: 180
+ ScorpionClaw: 120
+ Candy: 100
+ CherryCake: 80
+ ChocolateBar: 51
+ }
+},
+{
+ Id: 1072
+ SpriteName: "RedScorpion"
+ Name: "Red Scorpion"
+ Lv: 19
+ Hp: 2283
+ Sp: 500
+ Exp: 30
+ JExp: 5
+ AttackRange: 1
+ Attack: [236, 250]
+ Def: 17
+ Mdef: 11
+ Stats: {
+ Str: 9
+ Agi: 18
+ Vit: 17
+ Int: 10
+ Dex: 14
+ Luk: 11
+ }
+ ViewRange: 7
+ ChaseRange: 10
+ Race: 2
+ Element: (3, 1)
+ Mode: {
+ CanMove: true
+ Assist: true
+ CanAttack: true
+ ChangeChase: true
+ ChangeTargetMelee: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ RedScorpionStinger: 1350
+ Arrow: 1000
+ SmallKnife: 550
+ BugLeg: 480
+ RedScorpionClaw: 220
+ RedScorpionClaw: 170
+ IronPowder: 50
+ FancyHat: 26
+ Root: 22
+ }
+},
+{
+ Id: 1073
+ SpriteName: "CandorScorpion"
+ Name: "Candor Scorpion"
+ Lv: 5
+ Hp: 600
+ Sp: 0
+ Exp: 8
+ JExp: 1
+ AttackRange: 1
+ Attack: [75, 112]
+ Def: 6
+ Mdef: 2
+ Stats: {
+ Str: 7
+ Agi: 6
+ Vit: 2
+ Int: 1
+ Dex: 7
+ Luk: 3
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ BugLeg: 720
+ ScorpionStinger: 550
+ TolchiAmmoBox: 400
+ Piberries: 200
+ Candy: 100
+ ScorpionClaw: 90
+ ScorpionClaw: 70
+ }
+},
+{
+ Id: 1074
+ SpriteName: "BlackScorpion"
+ Name: "Black Scorpion"
+ Lv: 50
+ Hp: 6309
+ Sp: 0
+ Exp: 404
+ JExp: 14
+ AttackRange: 1
+ Attack: [618, 689]
+ Def: 46
+ Mdef: 27
+ Stats: {
+ Str: 22
+ Agi: 33
+ Vit: 46
+ Int: 10
+ Dex: 41
+ Luk: 27
+ }
+ ViewRange: 9
+ ChaseRange: 12
+ Race: 2
+ Element: (7, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 2100
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ BlackScorpionStinger: 800
+ BugLeg: 750
+ BlackScorpionClaw: 310
+ BlackScorpionClaw: 210
+ CherryCake: 160
+ IronOre: 150
+ ChocolateBar: 100
+ Coal: 55
+ BlackPearl: 1
+ }
+},
+{
+ Id: 1075
+ SpriteName: "ManaBug"
+ Name: "Mana Bug"
+ Lv: 15
+ Hp: 2704
+ Sp: 500
+ Exp: 26
+ JExp: 4
+ AttackRange: 2
+ Attack: [70, 160]
+ Def: 20
+ Mdef: 60
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 10
+ Agi: 19
+ Vit: 20
+ Int: 30
+ Dex: 50
+ Luk: 12
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (4, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 660
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ BugLeg: 750
+ Piberries: 600
+ CactusDrink: 400
+ CactusPotion: 300
+ Plushroom: 100
+ Chagashroom: 100
+ TolchiAmmoBox: 80
+ CottonCloth: 37
+ BlueManaPearl: 1
+ }
+},
+{
+ Id: 1076
+ SpriteName: "SaxsoGhost"
+ Name: "Saxso Ghost"
+ Lv: 26
+ Hp: 4776
+ Sp: 0
+ Exp: 84
+ JExp: 21
+ AttackRange: 1
+ Attack: [142, 183]
+ Def: 35
+ Mdef: 1
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 11
+ Agi: 20
+ Vit: 24
+ Int: 100
+ Dex: 29
+ Luk: 13
+ }
+ ViewRange: 9
+ ChaseRange: 14
+ Race: 2
+ Element: (8, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ Looter: true
+ Boss: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 300
+ AttackDelay: 670
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ SaxsoKey: 1000
+ SulfurPowder: 600
+ PileOfAsh: 50
+ BronzeBossGift: 20
+ CasinoCoins: 10
+ }
+},
+{
+ Id: 1077
+ SpriteName: "NightScorpion"
+ Name: "Night Scorpion"
+ Lv: 45
+ Hp: 14992
+ Sp: 0
+ Exp: 1790
+ JExp: 240
+ AttackRange: 2
+ Attack: [247, 263]
+ Def: 80
+ Mdef: 43
+ Stats: {
+ Str: 20
+ Agi: 30
+ Vit: 40
+ Int: 1
+ Dex: 40
+ Luk: 33
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (7, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ ChangeTargetMelee: true
+ CastSensorChase: true
+ Boss: true
+ }
+ MoveSpeed: 300
+ AttackDelay: 872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ CactusDrink: 6000
+ BugLeg: 4000
+ CactusPotion: 2000
+ LeadOre: 400
+ Pearl: 100
+ BronzeBossGift: 35
+ ArcmageBoxset: 20
+ BlackPearl: 3
+ }
+},
+{
+ Id: 1078
+ SpriteName: "GoldenScorpion"
+ Name: "Golden Scorpion"
+ Lv: 56
+ Hp: 6536
+ Sp: 0
+ Exp: 389
+ JExp: 24
+ AttackRange: 3
+ Attack: [179, 201]
+ Def: 56
+ Mdef: 25
+ Stats: {
+ Str: 28
+ Agi: 40
+ Vit: 53
+ Int: 25
+ Dex: 51
+ Luk: 26
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (6, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 750
+ AttackDelay: 1272
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ CactusDrink: 1300
+ BugLeg: 800
+ CactusPotion: 450
+ GoldenScorpionClaw: 330
+ EmptyBottle: 300
+ GoldenScorpionClaw: 225
+ CasinoCoins: 100
+ Topaz: 8
+ GoldenApple: 4
+ DesertTablet: 2
+ }
+},
+{
+ Id: 1079
+ SpriteName: "FallenKing1"
+ Name: "Fallen King"
+ Lv: 120
+ Hp: 20284
+ Sp: 0
+ Exp: 26103
+ JExp: 350
+ AttackRange: 2
+ Attack: [518, 721]
+ Def: 93
+ Mdef: 56
+ Stats: {
+ Str: 60
+ Agi: 78
+ Vit: 93
+ Int: 40
+ Dex: 88
+ Luk: 56
+ }
+ ViewRange: 5
+ ChaseRange: 12
+ Race: 2
+ Element: (0, 3)
+ Mode: {
+ CanMove: true
+ Boss: true
+ Looter: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ CastSensorChase: true
+ Aggressive: true
+ ChangeChase: true
+ }
+ MoveSpeed: 220
+ AttackDelay: 1200
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ BronzeBossGift: 1000
+ ChocolateBiscuit: 650
+ SilverBossGift: 300
+ Skull: 250
+ Bone: 110
+ Bone: 100
+ //BronzeSword: 10
+ SilverIngot: 3
+ TitaniumIngot: 1
+ }
+},
+{
+ Id: 1080
+ SpriteName: "FallenKing2"
+ Name: "Fallen King"
+ Lv: 120
+ Hp: 20284
+ Sp: 0
+ Exp: 26103
+ JExp: 350
+ AttackRange: 2
+ Attack: [518, 721]
+ Def: 93
+ Mdef: 56
+ Stats: {
+ Str: 60
+ Agi: 78
+ Vit: 93
+ Int: 40
+ Dex: 88
+ Luk: 56
+ }
+ ViewRange: 5
+ ChaseRange: 12
+ Race: 2
+ Element: (0, 3)
+ Mode: {
+ CanMove: true
+ Boss: true
+ Looter: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ CastSensorChase: true
+ Aggressive: true
+ ChangeChase: true
+ }
+ MoveSpeed: 220
+ AttackDelay: 1200
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ BronzeBossGift: 1000
+ ChocolateBiscuit: 650
+ SilverBossGift: 300
+ Skull: 250
+ Bone: 110
+ Bone: 100
+ //BronzeSword: 10
+ SilverIngot: 3
+ TitaniumIngot: 1
+ }
+},
+{
+ Id: 1081
+ SpriteName: "FallenGuard1"
+ Name: "Frostia Guard"
+ Lv: 60
+ Hp: 3915
+ Sp: 0
+ Exp: 401
+ JExp: 18
+ AttackRange: 1
+ Attack: [177, 200]
+ Def: 53
+ Mdef: 26
+ Stats: {
+ Str: 28
+ Agi: 40
+ Vit: 53
+ Int: 10
+ Dex: 51
+ Luk: 26
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Race: 2
+ Element: (0, 2)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 250
+ AttackDelay: 500
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Beer: 400
+ BottleOfTonoriWater: 300
+ CottonCloth: 200
+ LeatherPatch: 150
+ ChocolateBar: 100
+ CasinoCoins: 100
+ CottonShirt: 60
+ SnakeSkin: 5
+ IronIngot: 2
+ BlackPearl: 1
+ }
+},
+{
+ Id: 1082
+ SpriteName: "FallenGuard2"
+ Name: "Halin Guard"
+ Lv: 60
+ Hp: 3915
+ Sp: 0
+ Exp: 401
+ JExp: 18
+ AttackRange: 1
+ Attack: [177, 200]
+ Def: 53
+ Mdef: 26
+ Stats: {
+ Str: 28
+ Agi: 40
+ Vit: 53
+ Int: 10
+ Dex: 51
+ Luk: 26
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Race: 2
+ Element: (0, 2)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 250
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Beer: 400
+ BottleOfTonoriWater: 300
+ CottonCloth: 200
+ LeatherPatch: 150
+ ChocolateBar: 100
+ CasinoCoins: 100
+ CottonShirt: 60
+ SnakeSkin: 5
+ IronIngot: 2
+ BlackPearl: 1
+ }
+},
+{
+ Id: 1083
+ SpriteName: "DesertMaggot"
+ Name: "Desert Maggot"
+ Lv: 14
+ Hp: 682
+ Sp: 0
+ Exp: 9
+ JExp: 1
+ AttackRange: 1
+ Attack: [173, 181]
+ Def: 15
+ Mdef: 12
+ Stats: {
+ Str: 6
+ Agi: 12
+ Vit: 15
+ Int: 1
+ Dex: 14
+ Luk: 12
+ }
+ ViewRange: 8
+ ChaseRange: 12
+ Race: 2
+ Element: (2, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Assist: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 850
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ MaggotSlime: 800
+ RoastedMaggot: 450
+ BugLeg: 120
+ CactusDrink: 100
+ CactusPotion: 71
+ PileOfAsh: 33
+ SharpKnife: 11
+ CasinoCoins: 8
+ DesertTablet: 1
+ }
+},
+{
+ Id: 1084
+ SpriteName: "HouseMaggot"
+ Name: "House Maggot"
+ Lv: 6
+ Hp: 480
+ Sp: 0
+ Exp: 7
+ JExp: 1
+ AttackRange: 1
+ Attack: [30, 110]
+ Def: 3
+ Mdef: 2
+ Stats: {
+ Str: 7
+ Agi: 6
+ Vit: 3
+ Int: 1
+ Dex: 5
+ Luk: 2
+ }
+ ViewRange: 6
+ ChaseRange: 12
+ Race: 2
+ Element: (0, 1)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 700
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ MaggotSlime: 800
+ BugLeg: 400
+ RoastedMaggot: 150
+ CactusDrink: 100
+ CactusPotion: 51
+ SharpKnife: 11
+ CrystallizedMaggot: 1
+ }
+},
+{
+ Id: 1085
+ SpriteName: "GreenSlime"
+ Name: "Green Slime"
+ Lv: 30
+ Hp: 823
+ Sp: 0
+ Exp: 14
+ JExp: 3
+ AttackRange: 1
+ Attack: [87, 94]
+ Def: 20
+ Mdef: 30
+ Stats: {
+ Str: 11
+ Agi: 20
+ Vit: 24
+ Int: 10
+ Dex: 180
+ Luk: 13
+ }
+ ViewRange: 7
+ ChaseRange: 11
+ Race: 0
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ Assist: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorIdle: true
+ }
+ MoveSpeed: 1200
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ CoinBag: 390
+ CasinoCoins: 280
+ SharpKnife: 140
+ CactusDrink: 100
+ Dagger: 90
+ TreasureKey: 40
+ Emerald: 18
+ }
+ WeaponAttacks: {
+ All: 7500
+ Bows: 4000
+ }
+},
+{
+ Id: 1086
+ SpriteName: "RudolphSlime"
+ Name: "Rudolph Slime"
+ Lv: 7
+ Hp: 860
+ Sp: 0
+ Exp: 12
+ JExp: 0
+ AttackRange: 1
+ Attack: [30, 350]
+ Def: 12
+ Mdef: 7
+ Stats: {
+ Str: 21
+ Agi: 30
+ Vit: 34
+ Int: 0
+ Dex: 89
+ Luk: 33
+ }
+ ViewRange: 6
+ ChaseRange: 10
+ Race: 0
+ Element: (1, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Assist: true
+ CanAttack: true
+ ChangeChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Candy: 600
+ CandyCane: 500
+ ChocolateBar: 300
+ XmasCake: 200
+ PresentBox: 25
+ AntlersHat: 1
+ }
+ WeaponAttacks: {
+ All: 7500
+ Bows: 4000
+ }
+},
+{
+ Id: 1087
+ SpriteName: "BlueSlime"
+ Name: "Blue Slime"
+ Lv: 30
+ Hp: 2032
+ Sp: 0
+ Exp: 90
+ JExp: 9
+ AttackRange: 1
+ Attack: [80, 96]
+ Def: 20
+ Mdef: 40
+ Stats: {
+ Str: 17
+ Agi: 28
+ Vit: 33
+ Int: 10
+ Dex: 80
+ Luk: 19
+ }
+ ViewRange: 2
+ ChaseRange: 10
+ Race: 0
+ Element: (1, 2)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ Assist: true
+ Looter: true
+ Boss: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 1200
+ AttackDelay: 372
+ AttackMotion: 372
+ DamageMotion: 480
+ Drops: {
+ CactusDrink: 500
+ Sapphire: 21
+ SilverMirror: 10
+ }
+ WeaponAttacks: {
+ All: 7500
+ Bows: 4000
+ }
+},
+{
+ Id: 1088
+ SpriteName: "CopperSlime"
+ Name: "Copper Slime"
+ Lv: 30
+ Hp: 820
+ Sp: 0
+ Exp: 14
+ JExp: 4
+ AttackRange: 1
+ Attack: [174, 196]
+ Def: 11
+ Mdef: 30
+ Stats: {
+ Str: 30
+ Agi: 12
+ Vit: 25
+ Int: 10
+ Dex: 33
+ Luk: 25
+ }
+ ViewRange: 4
+ ChaseRange: 10
+ Race: 0
+ Element: (2, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: true
+ ChangeChase: true
+ }
+ MoveSpeed: 1200
+ AttackDelay: 672
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ CopperOre: 800
+ TreasureKey: 400
+ TinOre: 200
+ Coal: 180
+ IronOre: 150
+ TitaniumOre: 20
+ CopperKey: 10
+ IridiumOre: 5
+ }
+ WeaponAttacks: {
+ All: 7500
+ Bows: 4000
+ }
+},
+{
+ Id: 1089
+ SpriteName: "CandiedSlime"
+ Name: "Candied Slime"
+ Lv: 35
+ Hp: 3600
+ Sp: 0
+ Exp: 110
+ JExp: 2
+ AttackRange: 3
+ Attack: [200, 400]
+ Def: 20
+ Mdef: 30
+ Stats: {
+ Str: 20
+ Agi: 20
+ Vit: 10
+ Int: 10
+ Dex: 15
+ Luk: 30
+ }
+ ViewRange: 6
+ ChaseRange: 10
+ Race: 0
+ Element: (7, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ Assist: true
+ ChangeChase: true
+ CanAttack: true
+ }
+ MoveSpeed: 1200
+ AttackDelay: 1472
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Candy: 1000
+ ChocolateBar: 1000
+ XmasCandyCane: 750
+ XmasCake: 500
+ GingerBreadMan: 200
+ }
+ WeaponAttacks: {
+ All: 7500
+ Bows: 4000
+ }
+},
+{
+ Id: 1090
+ SpriteName: "SlimeBlast"
+ Name: "Slime Blast"
+ Lv: 6
+ Hp: 265
+ Sp: 0
+ Exp: 2
+ JExp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 3
+ Mdef: 1
+ Stats: {
+ Str: 10
+ Agi: 10
+ Vit: 10
+ Int: 10
+ Dex: 10
+ Luk: 10
+ }
+ ViewRange: 8
+ ChaseRange: 10
+ Race: 0
+ Element: (0, 3)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ Assist: true
+ CanAttack: true
+ SurviveWithoutMaster: true
+ }
+ MoveSpeed: 235
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ WeaponAttacks: {
+ All: 7500
+ Bows: 4000
+ }
+},
+{
+ Id: 1091
+ SpriteName: "YellowSlime"
+ Name: "Yellow Slime"
+ Lv: 30
+ Hp: 1000
+ Sp: 0
+ Exp: 17
+ JExp: 2
+ AttackRange: 1
+ Attack: [35, 50]
+ Def: 2
+ Mdef: 70
+ Stats: {
+ Str: 9
+ Agi: 26
+ Vit: 2
+ Int: 1
+ Dex: 44
+ Luk: 1
+ }
+ ChaseRange: 10
+ Race: 0
+ Element: (2, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: true
+ ChangeChase: true
+ }
+ MoveSpeed: 1400
+ AttackDelay: 280
+ AttackMotion: 172
+ DamageMotion: 180
+ Drops: {
+ Coal: 370
+ IronOre: 270
+ CactusDrink: 350
+ CactusPotion: 250
+ TreasureKey: 250
+ OrangeCupcake: 200
+ GoldOre: 100
+ CherryCake: 75
+ SharpKnife: 21
+ Topaz: 11
+ }
+ WeaponAttacks: {
+ All: 6000
+ Bows: 3000
+ }
+},
+{
+ Id: 1092
+ SpriteName: "RedSlime"
+ Name: "Red Slime"
+ Lv: 21
+ Hp: 620
+ Sp: 0
+ Exp: 12
+ JExp: 3
+ AttackRange: 1
+ Attack: [120, 140]
+ Def: 2
+ Mdef: 7
+ Stats: {
+ Str: 15
+ Agi: 8
+ Vit: 2
+ Int: 1
+ Dex: 40
+ Luk: 1
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Race: 0
+ Element: (3, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ ChangeChase: true
+ CanAttack: true
+ }
+ MoveSpeed: 1300
+ AttackDelay: 1500
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ RedApple: 245
+ Knife: 175
+ Dagger: 86
+ TreasureKey: 55
+ MinerGloves: 36
+ Coal: 26
+ Boots: 24
+ Ruby: 5
+ }
+ WeaponAttacks: {
+ All: 7500
+ Bows: 4000
+ }
+},
+{
+ Id: 1093
+ SpriteName: "SeaSlime"
+ Name: "Sea Slime"
+ Lv: 32
+ Hp: 1800
+ Sp: 0
+ Exp: 28
+ JExp: 2
+ AttackRange: 1
+ Attack: [130, 150]
+ Def: 23
+ Mdef: 87
+ Stats: {
+ Str: 1
+ Agi: 65
+ Vit: 1
+ Int: 0
+ Dex: 30
+ Luk: 30
+ }
+ ChaseRange: 10
+ Race: 0
+ Element: (1, 2)
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: true
+ ChangeChase: true
+ }
+ MoveSpeed: 1500
+ AttackDelay: 1272
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Arrow: 3500
+ IronArrow: 1000
+ SeaDrops: 190
+ BlueCoral: 140
+ Aquada: 110
+ Candy: 100
+ Orange: 80
+ Pearl: 70
+ BugLeg: 50
+ MysteriousBottle: 12
+ }
+ WeaponAttacks: {
+ All: 7000
+ Bows: 3500
+ }
+},
+{
+ Id: 1094
+ SpriteName: "WhiteSlime"
+ Name: "White Slime"
+ Lv: 20
+ Hp: 700
+ Sp: 0
+ Exp: 15
+ JExp: 1
+ AttackRange: 1
+ Attack: [28, 120]
+ Def: 10
+ Mdef: 10
+ Stats: {
+ Str: 20
+ Agi: 30
+ Vit: 10
+ Int: 10
+ Dex: 60
+ Luk: 20
+ }
+ ViewRange: 8
+ ChaseRange: 10
+ Race: 0
+ Element: (4, 3)
+ Mode: {
+ CanMove: true
+ Assist: true
+ Looter: true
+ CanAttack: true
+ }
+ MoveSpeed: 300
+ AttackDelay: 1072
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ PresentBox: 1000
+ TinOre: 75
+ SilverOre: 60
+ TitaniumOre: 30
+ Diamond: 11
+ SilverMirror: 3
+ }
+ WeaponAttacks: {
+ All: 7500
+ Bows: 4000
+ }
+},
+{
+ Id: 1095
+ SpriteName: "AzulSlime"
+ Name: "Azul Slime"
+ Lv: 20
+ Hp: 400
+ Sp: 0
+ Exp: 12
+ JExp: 2
+ AttackRange: 1
+ Attack: [80, 120]
+ Def: 10
+ Mdef: 10
+ Stats: {
+ Str: 20
+ Agi: 35
+ Vit: 10
+ Int: 10
+ Dex: 90
+ Luk: 20
+ }
+ ViewRange: 6
+ ChaseRange: 10
+ Race: 0
+ Element: (1, 3)
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: true
+ ChangeChase: true
+ }
+ MoveSpeed: 500
+ AttackDelay: 1002
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ IceCube: 200
+ IcedBottle: 11
+ Dagger: 6
+ IceGladius: 1
+ }
+ WeaponAttacks: {
+ All: 7500
+ Bows: 4000
+ }
+},
+{
+ Id: 1096
+ SpriteName: "SantaSlime"
+ Name: "Santa Slime"
+ Lv: 30
+ Hp: 1250
+ Sp: 0
+ Exp: 40
+ JExp: 2
+ AttackRange: 1
+ Attack: [75, 80]
+ Def: 5
+ Mdef: 7
+ Stats: {
+ Str: 10
+ Agi: 30
+ Vit: 8
+ Int: 0
+ Dex: 50
+ Luk: 30
+ }
+ ChaseRange: 10
+ Race: 0
+ Element: (1, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: true
+ }
+ MoveSpeed: 500
+ AttackDelay: 672
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ PresentBox: 5000
+ GingerBreadMan: 800
+ XmasCandyCane: 600
+ Milk: 400
+ CherryCake: 200
+ SantaBeardHat: 1
+ }
+ WeaponAttacks: {
+ All: 7500
+ Bows: 4000
+ }
+},
+{
+ Id: 1097
+ SpriteName: "LavaSlime"
+ Name: "Lava Slime"
+ Lv: 30
+ Hp: 4144
+ Sp: 0
+ Exp: 55
+ JExp: 10
+ AttackRange: 2
+ Attack: [165, 244]
+ Def: 70
+ Mdef: 80
+ Stats: {
+ Str: 40
+ Agi: 15
+ Vit: 35
+ Int: 10
+ Dex: 270
+ Luk: 250
+ }
+ ViewRange: 5
+ ChaseRange: 10
+ Race: 0
+ Element: (3, 2)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ CanAttack: true
+ ChangeChase: true
+ }
+ MoveSpeed: 900
+ AttackDelay: 1300
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ Coal: 450
+ CasinoCoins: 444
+ IronOre: 300
+ CasinoCoins: 222
+ MinerHat: 18
+ LavaManaPearl: 1
+ }
+ WeaponAttacks: {
+ All: 7500
+ Bows: 4000
+ }
+},
+{
+ Id: 1098
+ SpriteName: "SmallRubyBif"
+ Name: "Small Ruby Bif"
+ Lv: 1
+ Hp: 4
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 65535
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 360
+ IronOre: 280
+ Ruby: 35
+ Topaz: 23
+ Emerald: 14
+ Diamond: 7
+ Amethyst: 4
+ Sapphire: 2
+ LightGreenDiamond: 1
+ }
+},
+{
+ Id: 1099
+ SpriteName: "RubyBif"
+ Name: "Ruby Bif"
+ Lv: 1
+ Hp: 8
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 5
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 65535
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 520
+ IronOre: 400
+ Ruby: 55
+ Topaz: 40
+ Emerald: 24
+ Diamond: 12
+ Amethyst: 6
+ GoldOre: 5
+ Sapphire: 3
+ LightGreenDiamond: 1
+ }
+},
+{
+ Id: 1100
+ SpriteName: "BigRubyBif"
+ Name: "Big Ruby Bif"
+ Lv: 1
+ Hp: 15
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 10
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 65535
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 840
+ IronOre: 500
+ Ruby: 65
+ Topaz: 50
+ Emerald: 32
+ Diamond: 16
+ GoldOre: 10
+ Amethyst: 8
+ Sapphire: 4
+ LightGreenDiamond: 1
+ }
+},
+{
+ Id: 1101
+ SpriteName: "SmallTopazBif"
+ Name: "Small Topaz Bif"
+ Lv: 1
+ Hp: 4
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 65535
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 360
+ IronOre: 280
+ Topaz: 35
+ Ruby: 23
+ Emerald: 14
+ Diamond: 7
+ Amethyst: 4
+ Sapphire: 2
+ LightGreenDiamond: 1
+ }
+},
+{
+ Id: 1102
+ SpriteName: "TopazBif"
+ Name: "Topaz Bif"
+ Lv: 1
+ Hp: 8
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 5
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 65535
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 520
+ IronOre: 400
+ Topaz: 55
+ Ruby: 40
+ Emerald: 24
+ Diamond: 12
+ Amethyst: 6
+ GoldOre: 5
+ Sapphire: 3
+ LightGreenDiamond: 1
+ }
+},
+{
+ Id: 1103
+ SpriteName: "BigTopazBif"
+ Name: "Big Topaz Bif"
+ Lv: 1
+ Hp: 15
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 10
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 840
+ IronOre: 500
+ Topaz: 65
+ Ruby: 50
+ Emerald: 32
+ Diamond: 16
+ GoldOre: 10
+ Amethyst: 8
+ Sapphire: 4
+ LightGreenDiamond: 1
+ }
+},
+{
+ Id: 1104
+ SpriteName: "SmallEmeraldBif"
+ Name: "Small Emerald Bif"
+ Lv: 1
+ Hp: 4
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 360
+ IronOre: 280
+ Emerald: 35
+ Ruby: 23
+ Topaz: 14
+ Diamond: 7
+ Amethyst: 4
+ Sapphire: 2
+ LightGreenDiamond: 1
+ }
+},
+{
+ Id: 1105
+ SpriteName: "EmeraldBif"
+ Name: "Emeald Bif"
+ Lv: 1
+ Hp: 8
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 5
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 520
+ IronOre: 400
+ Emerald: 55
+ Ruby: 40
+ Topaz: 24
+ Diamond: 12
+ Amethyst: 6
+ GoldOre: 5
+ Sapphire: 3
+ LightGreenDiamond: 1
+ }
+},
+{
+ Id: 1106
+ SpriteName: "BigEmeraldBif"
+ Name: "Big Emerald Bif"
+ Lv: 1
+ Hp: 15
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 10
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 840
+ IronOre: 500
+ Emerald: 65
+ Ruby: 50
+ Topaz: 32
+ Diamond: 16
+ GoldOre: 10
+ Amethyst: 8
+ Sapphire: 4
+ LightGreenDiamond: 1
+ }
+},
+{
+ Id: 1107
+ SpriteName: "SmallDiamondBif"
+ Name: "Small Diamond Bif"
+ Lv: 1
+ Hp: 4
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 360
+ IronOre: 280
+ Diamond: 35
+ Ruby: 23
+ Topaz: 14
+ Diamond: 7
+ Amethyst: 4
+ Sapphire: 2
+ LightGreenDiamond: 1
+ }
+},
+{
+ Id: 1108
+ SpriteName: "DiamondBif"
+ Name: "Diamond Bif"
+ Lv: 1
+ Hp: 8
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 5
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 520
+ IronOre: 400
+ Diamond: 55
+ Ruby: 40
+ Topaz: 24
+ Emerald: 12
+ Amethyst: 6
+ GoldOre: 5
+ Sapphire: 3
+ LightGreenDiamond: 1
+ }
+},
+{
+ Id: 1109
+ SpriteName: "BigDiamondBif"
+ Name: "Big Diamond Bif"
+ Lv: 1
+ Hp: 15
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 10
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 840
+ IronOre: 500
+ Diamond: 65
+ Ruby: 50
+ Topaz: 32
+ Emerald: 16
+ GoldOre: 10
+ Amethyst: 8
+ Sapphire: 4
+ LightGreenDiamond: 1
+ }
+},
+{
+ Id: 1110
+ SpriteName: "SmallAmethystBif"
+ Name: "Small Amethyst Bif"
+ Lv: 1
+ Hp: 4
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 360
+ IronOre: 280
+ Amethyst: 35
+ Ruby: 23
+ Topaz: 14
+ Emerald: 7
+ Diamond: 4
+ Sapphire: 2
+ LightGreenDiamond: 1
+ }
+},
+{
+ Id: 1111
+ SpriteName: "AmethystBif"
+ Name: "Amethyst Bif"
+ Lv: 1
+ Hp: 8
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 5
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 520
+ IronOre: 400
+ Amethyst: 55
+ Ruby: 40
+ Topaz: 24
+ Emerald: 12
+ Diamond: 6
+ GoldOre: 5
+ Sapphire: 3
+ LightGreenDiamond: 1
+ }
+},
+{
+ Id: 1112
+ SpriteName: "BigAmethystBif"
+ Name: "Big Amethyst Bif"
+ Lv: 1
+ Hp: 15
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 10
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 840
+ IronOre: 500
+ Amethyst: 65
+ Ruby: 50
+ Topaz: 32
+ Emerald: 16
+ GoldOre: 10
+ Diamond: 8
+ Sapphire: 4
+ LightGreenDiamond: 1
+ }
+},
+{
+ Id: 1113
+ SpriteName: "SmallSapphireBif"
+ Name: "Small Sapphire Bif"
+ Lv: 1
+ Hp: 4
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 360
+ IronOre: 280
+ Sapphire: 35
+ Ruby: 23
+ Topaz: 14
+ Emerald: 7
+ Diamond: 4
+ Amethyst: 2
+ LightGreenDiamond: 1
+ }
+},
+{
+ Id: 1114
+ SpriteName: "SapphireBif"
+ Name: "Sapphire Bif"
+ Lv: 1
+ Hp: 8
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 5
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 520
+ IronOre: 400
+ Sapphire: 55
+ Ruby: 40
+ Topaz: 24
+ Emerald: 12
+ Diamond: 6
+ GoldOre: 5
+ Amethyst: 3
+ LightGreenDiamond: 1
+ }
+},
+{
+ Id: 1115
+ SpriteName: "BigSapphireBif"
+ Name: "Big Sapphire Bif"
+ Lv: 1
+ Hp: 15
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 10
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 840
+ IronOre: 500
+ Sapphire: 65
+ Ruby: 50
+ Topaz: 32
+ Emerald: 16
+ GoldOre: 10
+ Diamond: 8
+ Amethyst: 4
+ LightGreenDiamond: 1
+ }
+},
+{
+ Id: 1116
+ SpriteName: "SmallMagicBif"
+ Name: "Small Magic Bif"
+ Lv: 1
+ Hp: 5
+ Sp: 0
+ Exp: 2
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 5
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 720
+ IronOre: 400
+ Ruby: 70
+ Topaz: 46
+ Emerald: 28
+ Diamond: 14
+ Amethyst: 8
+ GoldOre: 5
+ Sapphire: 4
+ LightGreenDiamond: 2
+ }
+},
+{
+ Id: 1117
+ SpriteName: "MagicBif"
+ Name: "Magic Bif"
+ Lv: 1
+ Hp: 9
+ Sp: 0
+ Exp: 2
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 110
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 10
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 990
+ IronOre: 800
+ Ruby: 110
+ Topaz: 80
+ Emerald: 48
+ Diamond: 24
+ Amethyst: 12
+ GoldOre: 10
+ Sapphire: 6
+ LightGreenDiamond: 2
+ }
+},
+{
+ Id: 1118
+ SpriteName: "BigMagicBif"
+ Name: "Big Magic Bif"
+ Lv: 1
+ Hp: 17
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 125
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 20
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 5
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 1600
+ IronOre: 1000
+ Ruby: 130
+ Topaz: 100
+ Emerald: 64
+ Diamond: 32
+ Amethyst: 16
+ GoldOre: 15
+ Sapphire: 8
+ LightGreenDiamond: 3
+ }
+},
+{
+ Id: 1119
+ SpriteName: "BloodyMouboo"
+ Name: "Bloody Mouboo"
+ Lv: 85
+ Hp: 12426
+ Sp: 0
+ Exp: 3300
+ JExp: 16
+ AttackRange: 1
+ Attack: [635, 703]
+ Def: 40
+ Mdef: 41
+ Stats: {
+ Str: 41
+ Agi: 55
+ Vit: 72
+ Int: 16
+ Dex: 66
+ Luk: 33
+ }
+ ViewRange: 12
+ ChaseRange: 12
+ Race: 2
+ Element: (7, 2)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ Aggressive: true
+ }
+ MoveSpeed: 700
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ RedApple: 400
+ MoubooSteak: 215
+ BloodyMoubooHat: 1
+ }
+},
+{
+ Id: 1120
+ SpriteName: "JackO"
+ Name: "Jack'O"
+ Lv: 81
+ Hp: 11687
+ Sp: 0
+ Exp: 2853
+ JExp: 40
+ AttackRange: 1
+ Attack: [522, 372]
+ Def: 62
+ Mdef: 30
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 41
+ Agi: 75
+ Vit: 72
+ Int: 25
+ Dex: 65
+ Luk: 30
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Race: 1
+ Element: (7, 2)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 270
+ AttackDelay: 770
+ AttackMotion: 472
+ DamageMotion: 200
+ Drops: {
+ CottonCloth: 2000
+ SulfurPowder: 480
+ DarkCrystal: 350
+ CottonCloth: 51
+ PumpkinHat: 1
+ }
+},
+{
+ Id: 1121
+ SpriteName: "EasterMouboo"
+ Name: "Easter Mouboo"
+ Lv: 40
+ Hp: 4000
+ Sp: 0
+ Exp: 61
+ JExp: 14
+ AttackRange: 1
+ Attack: [120, 630]
+ Def: 33
+ Mdef: 18
+ Stats: {
+ Str: 17
+ Agi: 28
+ Vit: 33
+ Int: 10
+ Dex: 33
+ Luk: 19
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 900
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ SilverEasteregg: 1500
+ RedApple: 360
+ MoubooSteak: 200
+ GoldenEasteregg: 250
+ Milk: 100
+ BunnyEars: 9
+ DarkEggshellHat: 1
+ MoubooHat: 1
+ }
+},
+{
+ Id: 1122
+ SpriteName: "Snake"
+ Name: "Snake"
+ Lv: 40
+ Hp: 4813
+ Sp: 0
+ Exp: 214
+ JExp: 14
+ AttackRange: 1
+ Attack: [305, 335]
+ Def: 33
+ Mdef: 19
+ Stats: {
+ Str: 17
+ Agi: 28
+ Vit: 33
+ Int: 10
+ Dex: 33
+ Luk: 19
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Race: 2
+ Element: (6, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 340
+ AttackDelay: 1400
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ SnakeTongue: 450
+ SnakeEgg: 300
+ SnakeEgg: 100
+ SnakeSkin: 91
+ DivineApple: 1
+ }
+},
+{
+ Id: 1123
+ SpriteName: "MountainSnake"
+ Name: "Mountain Snake"
+ Lv: 51
+ Hp: 6468
+ Sp: 100
+ Exp: 534
+ JExp: 21
+ AttackRange: 1
+ Attack: [367, 398]
+ Def: 54
+ Mdef: 27
+ Stats: {
+ Str: 28
+ Agi: 45
+ Vit: 53
+ Int: 10
+ Dex: 75
+ Luk: 26
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Race: 2
+ Element: (6, 2)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 325
+ AttackDelay: 890
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ MountainSnakeTongue: 455
+ MountainSnakeEgg: 315
+ MountainSnakeEgg: 115
+ MountainSnakeSkin: 98
+ LeatherPatch: 4
+ DivineApple: 1
+ }
+},
+{
+ Id: 1124
+ SpriteName: "DesertBandit"
+ Name: "Desert Bandit"
+ Lv: 22
+ Hp: 2643
+ Sp: 330
+ Exp: 27
+ JExp: 8
+ AttackRange: 1
+ Attack: [192, 205]
+ Def: 20
+ Mdef: 18
+ Stats: {
+ Str: 10
+ Agi: 20
+ Vit: 15
+ Int: 10
+ Dex: 15
+ Luk: 12
+ }
+ ViewRange: 6
+ ChaseRange: 12
+ Race: 2
+ Element: (2, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ Looter: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 390
+ AttackDelay: 1500
+ AttackMotion: 672
+ DamageMotion: 900
+ Drops: {
+ CoinBag: 500
+ Piberries: 200
+ LeatherPatch: 200
+ Dagger: 120
+ EmptyBottle: 100
+ CasinoCoins: 100
+ LeatherShield: 41
+ WoodenLog: 10
+ GoldPieces: 3
+ DesertThiefCard: 1
+ }
+},
+{
+ Id: 1125
+ SpriteName: "Sarracenus"
+ Name: "Sarracenus"
+ Lv: 24
+ Hp: 2883
+ Sp: 330
+ Exp: 34
+ JExp: 8
+ AttackRange: 1
+ Attack: [209, 224]
+ Def: 50
+ Mdef: 20
+ Stats: {
+ Str: 10
+ Agi: 20
+ Vit: 15
+ Int: 10
+ Dex: 15
+ Luk: 12
+ }
+ ViewRange: 6
+ ChaseRange: 12
+ Race: 2
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ Looter: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 300
+ AttackDelay: 1500
+ AttackMotion: 672
+ DamageMotion: 900
+ Drops: {
+ CoinBag: 500
+ LeatherPatch: 320
+ Piberries: 200
+ Dagger: 80
+ PileOfAsh: 65
+ CasinoCoins: 50
+ LeatherShield: 41
+ WoodenLog: 22
+ GoldPieces: 3
+ DesertThiefCard: 1
+ }
+},
+{
+ Id: 1126
+ SpriteName: "MagicRatto"
+ Name: "Magic Ratto"
+ Lv: 1
+ Hp: 280
+ Sp: 0
+ Exp: 3
+ AttackRange: 1
+ Attack: [40, 60]
+ Def: 4
+ Mdef: 3
+ Stats: {
+ Str: 5
+ Agi: 15
+ Vit: 6
+ Int: 1
+ Dex: 8
+ Luk: 5
+ }
+ ViewRange: 8
+ ChaseRange: 12
+ Race: 2
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 100
+ AttackDelay: 1572
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Cheese: 1700
+ RattoTeeth: 800
+ RattoTail: 500
+ Piberries: 500
+ Moss: 50
+ CasinoCoins: 10
+ }
+},
+{
+ Id: 1127
+ SpriteName: "DesertLogHead"
+ Name: "Desert Log Head"
+ Lv: 20
+ Hp: 2401
+ Sp: 300
+ Exp: 25
+ JExp: 11
+ AttackRange: 1
+ Attack: [279, 297]
+ Def: 40
+ Mdef: 14
+ Stats: {
+ Str: 17
+ Agi: 18
+ Vit: 9
+ Int: 1
+ Dex: 14
+ Luk: 11
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (2, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 900
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Acorn: 2200
+ Acorn: 1000
+ Root: 850
+ RawLog: 900
+ RawLog: 500
+ RawLog: 151
+ }
+},
+{
+ Id: 1128
+ SpriteName: "ChagashroomField"
+ Name: "Chagashroom Field"
+ Lv: 1
+ Hp: 99
+ Sp: 0
+ Exp: 0
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 0
+ Mdef: 0
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 1000
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Chagashroom: 4000
+ MushroomSpores: 400
+ Moss: 300
+ }
+},
+{
+ Id: 1129
+ SpriteName: "MurdererScorpion"
+ Name: "Murderer Scorpion"
+ Lv: 38
+ Hp: 3832
+ Sp: 500
+ Exp: 140
+ JExp: 40
+ AttackRange: 1
+ Attack: [360, 410]
+ Def: 14
+ Mdef: 8
+ Stats: {
+ Str: 15
+ Agi: 1
+ Vit: 5
+ Int: 10
+ Dex: 25
+ Luk: 20
+ }
+ ViewRange: 5
+ ChaseRange: 8
+ Race: 2
+ Element: (6, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Boss: true
+ Angry: true
+ ChangeTargetMelee: true
+ Looter: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 900
+ AttackDelay: 2200
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ CasinoCoins: 8000
+ IronArrow: 5500
+ RedScorpionStinger: 2500
+ Piberries: 1800
+ BugLeg: 1200
+ RedScorpionClaw: 410
+ RedScorpionClaw: 250
+ Dagger: 200
+ Skull: 150
+ EarthPowder: 50
+ }
+},
+{
+ Id: 1130
+ SpriteName: "AngryRedScorpion"
+ Name: "Angry Red Scorpion"
+ Lv: 21
+ Hp: 2496
+ Sp: 0
+ Exp: 29
+ JExp: 8
+ AttackRange: 1
+ Attack: [236, 250]
+ Def: 17
+ Mdef: 11
+ Stats: {
+ Str: 9
+ Agi: 18
+ Vit: 17
+ Int: 10
+ Dex: 14
+ Luk: 11
+ }
+ ViewRange: 9
+ ChaseRange: 12
+ Race: 2
+ Element: (3, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 720
+ AttackDelay: 1750
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ RedScorpionStinger: 1500
+ Arrow: 1200
+ Arrow: 900
+ SmallKnife: 500
+ BugLeg: 420
+ ChocolateBar: 90
+ FancyHat: 26
+ Root: 22
+ }
+},
+{
+ Id: 1131
+ SpriteName: "AngryScorpion"
+ Name: "Angry Scorpion"
+ Lv: 11
+ Hp: 950
+ Sp: 0
+ Exp: 14
+ JExp: 2
+ AttackRange: 1
+ Attack: [190, 255]
+ Def: 13
+ Mdef: 6
+ Stats: {
+ Str: 5
+ Agi: 10
+ Vit: 13
+ Int: 1
+ Dex: 11
+ Luk: 6
+ }
+ ViewRange: 7
+ ChaseRange: 11
+ Race: 2
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 700
+ AttackDelay: 1472
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ ScorpionStinger: 600
+ BugLeg: 550
+ Candy: 900
+ BugLeg: 100
+ ChocolateBar: 50
+ }
+},
+{
+ Id: 1132
+ SpriteName: "Pinkie"
+ Name: "Pinkie"
+ Lv: 26
+ Hp: 3026
+ Sp: 0
+ Exp: 29
+ JExp: 9
+ AttackRange: 1
+ Attack: [210, 255]
+ Def: 23
+ Mdef: 12
+ Stats: {
+ Str: 11
+ Agi: 20
+ Vit: 24
+ Int: 8
+ Dex: 29
+ Luk: 13
+ }
+ ViewRange: 7
+ ChaseRange: 11
+ Race: 2
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 780
+ AttackDelay: 1800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ PinkAntenna: 440
+ CherryCake: 200
+ PinkieLeg: 160
+ PinkieLeg: 110
+ CasinoCoins: 10
+ PinkieHat: 1
+ }
+},
+{
+ Id: 1133
+ SpriteName: "OceanCroc"
+ Name: "Ocean Croc"
+ Lv: 23
+ Hp: 1850
+ Sp: 0
+ Exp: 30
+ JExp: 9
+ AttackRange: 1
+ Attack: [244, 500]
+ Def: 58
+ Mdef: 11
+ Stats: {
+ Str: 11
+ Agi: 20
+ Vit: 24
+ Int: 1
+ Dex: 29
+ Luk: 13
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (1, 2)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 600
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ OceanCrocClaw: 1000
+ BlueCoral: 1400
+ Aquada: 750
+ SeaDrops: 300
+ Coral: 40
+ MysteriousBottle: 24
+ PirateTreasureMap: 1
+ }
+},
+{
+ Id: 1134
+ SpriteName: "GambogePlant"
+ Name: "Gamboge Plant"
+ Lv: 1
+ Hp: 1
+ Sp: 1
+ Exp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 0
+ Mdef: 0
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ GambogeHerb: 4200
+ GambogeHerb: 3100
+ }
+},
+{
+ Id: 1135
+ SpriteName: "MauvePlant"
+ Name: "Mauve Plant"
+ Lv: 1
+ Hp: 1
+ Sp: 1
+ Exp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 0
+ Mdef: 0
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ MauveHerb: 4200
+ MauveHerb: 3100
+ }
+},
+{
+ Id: 1136
+ SpriteName: "CobaltPlant"
+ Name: "Cobalt Plant"
+ Lv: 1
+ Hp: 1
+ Sp: 1
+ Exp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 0
+ Mdef: 0
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ CobaltHerb: 4200
+ CobaltHerb: 3100
+ }
+},
+{
+ Id: 1137
+ SpriteName: "Skeleton"
+ Name: "Skeleton"
+ Lv: 28
+ Hp: 3366
+ Sp: 0
+ Exp: 49
+ JExp: 9
+ AttackRange: 1
+ Attack: [294, 317]
+ Def: 20
+ Mdef: 8
+ Stats: {
+ Str: 11
+ Agi: 20
+ Vit: 24
+ Int: 8
+ Dex: 29
+ Luk: 13
+ }
+ ViewRange: 8
+ ChaseRange: 11
+ Race: 1
+ Element: (7, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 340
+ AttackDelay: 1800
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ IronArrow: 3500
+ Skull: 850
+ Bone: 750
+ Bone: 450
+ Bone: 150
+ DarkCrystal: 220
+ SkullBloodyMug: 90
+ PileOfAsh: 75
+ CursedSkull: 1
+ }
+},
+{
+ Id: 1138
+ SpriteName: "OceanPirate"
+ Name: "Ocean Pirate"
+ Lv: 25
+ Hp: 3005
+ Sp: 0
+ Exp: 125
+ JExp: 21
+ AttackRange: 1
+ Attack: [123, 133]
+ Def: 18
+ Mdef: 9
+ Stats: {
+ Str: 11
+ Agi: 20
+ Vit: 22
+ Int: 1
+ Dex: 24
+ Luk: 15
+ }
+ ViewRange: 9
+ ChaseRange: 14
+ Race: 2
+ Element: (1, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ Looter: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 760
+ AttackDelay: 850
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ TreasureKey: 700
+ SeaDrops: 300
+ BottleOfSeaWater: 150
+ EmptyBottle: 110
+ CoinBag: 90
+ BlueCoral: 70
+ CasinoCoins: 60
+ PirateShorts: 45
+ MysteriousBottle: 28
+ PirateTreasureMap: 1
+ }
+},
+{
+ Id: 1139
+ SpriteName: "Centaur"
+ Name: "Centaur"
+ Lv: 85
+ Hp: 10217
+ Sp: 0
+ Exp: 3000
+ JExp: 45
+ AttackRange: 3
+ Attack: [249, 288]
+ Def: 75
+ Mdef: 40
+ Stats: {
+ Str: 50
+ Agi: 66
+ Vit: 76
+ Int: 27
+ Dex: 70
+ Luk: 41
+ }
+ ViewRange: 9
+ ChaseRange: 14
+ Race: 2
+ Element: (0, 3)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 300
+ AttackDelay: 1150
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ CottonCloth: 700
+ Piberries: 660
+ AnimalBones: 330
+ LeatherPatch: 300
+ EmptyBottle: 110
+ CoinBag: 95
+ CentaurSpear: 4
+ }
+},
+{
+ Id: 1140
+ SpriteName: "BronzeChest"
+ Name: "Bronze Chest"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 100
+ AttackRange: 9
+ Attack: [10, 10]
+ Def: 10
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 1
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ MoveSpeed: 1000
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+},
+{
+ Id: 1141
+ SpriteName: "SilverChest"
+ Name: "Silver Chest"
+ Lv: 20
+ Hp: 1
+ Sp: 0
+ Exp: 500
+ AttackRange: 9
+ Attack: [10, 10]
+ Def: 20
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 1
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ MoveSpeed: 1000
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+},
+{
+ Id: 1142
+ SpriteName: "GoldenChest"
+ Name: "Golden Chest"
+ Lv: 40
+ Hp: 1
+ Sp: 0
+ Exp: 1000
+ AttackRange: 9
+ Attack: [10, 10]
+ Def: 40
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 1
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+},
+{
+ Id: 1143
+ SpriteName: "PrismChest"
+ Name: "Prism Chest"
+ Lv: 60
+ Hp: 1
+ Sp: 0
+ Exp: 10000
+ AttackRange: 9
+ Attack: [10, 10]
+ Def: 25
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 1
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+},
+{
+ Id: 1144
+ SpriteName: "SupremeChest"
+ Name: "Supreme Chest"
+ Lv: 80
+ Hp: 1
+ Sp: 0
+ Exp: 50000
+ AttackRange: 9
+ Attack: [10, 10]
+ Def: 30
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 1
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+},
+{
+ Id: 1145
+ SpriteName: "WildxChest"
+ Name: "Wildx Chest"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 10
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 3
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 1
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ // This chest must give back 70% hp recovery to killer.
+},
+{
+ Id: 1146
+ SpriteName: "ManaChest"
+ Name: "Mana Chest"
+ Lv: 5
+ Hp: 1
+ Sp: 800
+ Exp: 250
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 5
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 1
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ // This chest must give back 90% hp recovery + 75% SP recovery to killer.
+},
+{
+ Id: 1147
+ SpriteName: "ThornChest"
+ Name: "Thorn Chest"
+ Lv: 10
+ Hp: 1
+ Sp: 0
+ Exp: 350
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 5
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 1
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ // Effect when die: Poison plus stun (lock by thorn) this chest may drop thorn items too :b
+},
+{
+ Id: 1148
+ SpriteName: "ViciousChest"
+ Name: "Vicious Chest"
+ Lv: 15
+ Hp: 1
+ Sp: 0
+ Exp: 500
+ JExp: 50
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 5
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 1
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ // Chest way spawm some vicious maggots /squirel
+},
+{
+ Id: 1149
+ SpriteName: "EvilChest"
+ Name: "Evil Chest"
+ Lv: 20
+ Hp: 1
+ Sp: 0
+ Exp: 1000
+ JExp: 60
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 15
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 1
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ // Chest way spawm some angry monsters
+},
+{
+ Id: 1150
+ SpriteName: "MalignChest"
+ Name: "Malign Chest"
+ Lv: 25
+ Hp: 1
+ Sp: 0
+ Exp: 15
+ JExp: 100
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 15
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 1
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ // NEVER OPEN THIS !!!
+},
+{
+ Id: 1151
+ SpriteName: "SnowBinny"
+ Name: "Snow Binny (NYI)"
+ Lv: 220
+ Hp: 1950
+ Sp: 0
+ Exp: 19
+ JExp: 3
+ AttackRange: 1
+ Attack: [140, 250]
+ Def: 9
+ Mdef: 0
+ Stats: {
+ Str: 14
+ Agi: 1
+ Vit: 10
+ Int: 1
+ Dex: 35
+ Luk: 15
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (1, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 550
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Carrot: 150
+ Carrot: 51
+ BunnyEars: 5
+ }
+},
+{
+ Id: 1152
+ SpriteName: "SleepingBandit"
+ Name: "Sleeping Bandit"
+ Lv: 1
+ Hp: 350
+ Sp: 0
+ Exp: 3
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 0
+ Mdef: 0
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 3
+ Element: (0, 1)
+ MoveSpeed: 1000
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ BanditHood: 700
+ CoinBag: 300
+ CasinoCoins: 220
+ RedApple: 200
+ Dagger: 20
+ CasinoCoins: 15
+ GoldPieces: 2
+ BanditPants: 1
+ }
+},
+{
+ Id: 1153
+ SpriteName: "RobinBandit"
+ Name: "Robin Bandit"
+ Lv: 35
+ Hp: 3788
+ Sp: 0
+ Exp: 129
+ JExp: 12
+ AttackRange: 5
+ Attack: [149, 152]
+ Def: 28
+ Mdef: 22
+ Stats: {
+ Str: 15
+ Agi: 25
+ Vit: 28
+ Int: 21
+ Dex: 38
+ Luk: 24
+ }
+ ViewRange: 8
+ ChaseRange: 12
+ Race: 2
+ Element: (7, 1)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 420
+ AttackDelay: 920
+ AttackMotion: 672
+ DamageMotion: 900
+ Drops: {
+ BanditHood: 800
+ CoinBag: 500
+ RedApple: 300
+ Lockpicks: 80
+ WoodenLog: 12
+ GoldPieces: 4
+ BanditPants: 1
+ }
+},
+{
+ Id: 1154
+ SpriteName: "BanditLord"
+ Name: "Bandit Lord"
+ Lv: 55
+ Hp: 12900
+ Sp: 0
+ Exp: 250
+ JExp: 60
+ AttackRange: 5
+ Attack: [710, 880]
+ Def: 25
+ Mdef: 20
+ Stats: {
+ Str: 28
+ Agi: 40
+ Vit: 53
+ Int: 31
+ Dex: 55
+ Luk: 28
+ }
+ ViewRange: 12
+ ChaseRange: 16
+ Race: 2
+ Element: (7, 1)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ Boss: true
+ Angry: true
+ }
+ MoveSpeed: 640
+ AttackDelay: 2400
+ AttackMotion: 672
+ DamageMotion: 900
+ Drops: {
+ Lockpicks: 900
+ LeatherPatch: 850
+ CasinoCoins: 820
+ BanditHood: 800
+ CasinoCoins: 550
+ CoinBag: 500
+ RedApple: 300
+ WoodenLog: 120
+ GoldPieces: 4
+ BanditPants: 4
+ }
+},
+{
+ Id: 1155
+ SpriteName: "ManaPiou"
+ Name: "Mana Piou"
+ Lv: 3
+ Hp: 360
+ Sp: 0
+ Exp: 4
+ AttackRange: 1
+ Attack: [150, 160]
+ Def: 2
+ Mdef: 50
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 4
+ Agi: 3
+ Vit: 2
+ Int: 0
+ Dex: 6
+ Luk: 5
+ }
+ ViewRange: 4
+ ChaseRange: 100
+ Race: 2
+ Element: (6, 1)
+ Mode: {
+ CanMove: true
+ Assist: true
+ CanAttack: true
+ ChangeChase: true
+ ChangeTargetMelee: true
+ }
+ MoveSpeed: 195
+ AttackDelay: 1572
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ ManaPiouFeathers: 1800
+ PiouLegs: 1100
+ ManaPiouFeathers: 400
+ BlueManaPearl: 1
+ }
+},
+{
+ Id: 1156
+ SpriteName: "BronzeMimic"
+ Name: "Bronze Chest"
+ Lv: 1
+ Hp: 6
+ Sp: 0
+ Exp: 100
+ AttackRange: 9
+ Attack: [600, 1000]
+ Def: 10
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 100
+ Luk: 1
+ }
+ ChaseRange: 1
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ CanAttack: true
+ Plant: true
+ Looter: true
+ }
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+},
+{
+ Id: 1157
+ SpriteName: "SilverMimic"
+ Name: "Silver Chest"
+ Lv: 1
+ Hp: 6
+ Sp: 0
+ Exp: 500
+ AttackRange: 9
+ Attack: [900, 1200]
+ Def: 10
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 100
+ Luk: 1
+ }
+ ChaseRange: 1
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ CanAttack: true
+ Plant: true
+ Looter: true
+ }
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+},
+{
+ Id: 1158
+ SpriteName: "GoldenMimic"
+ Name: "Golden Chest"
+ Lv: 1
+ Hp: 6
+ Sp: 0
+ Exp: 1000
+ AttackRange: 9
+ Attack: [1200, 1400]
+ Def: 10
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 100
+ Luk: 1
+ }
+ ChaseRange: 1
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ CanAttack: true
+ Plant: true
+ Looter: true
+ }
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+},
+// 1159 to 1166 RESERVED FOR MIMICS, DO NOT USE
+{
+ Id: 1167
+ SpriteName: "Terranite"
+ Name: "Terranite"
+ Lv: 80
+ Hp: 9660
+ Sp: 0
+ Exp: 2763
+ JExp: 50
+ AttackRange: 1
+ Attack: [605, 697]
+ Def: 60
+ Mdef: 90
+ Stats: {
+ Str: 50
+ Agi: 66
+ Vit: 76
+ Int: 30
+ Dex: 70
+ Luk: 41
+ }
+ ViewRange: 9
+ ChaseRange: 14
+ Race: 2
+ Element: (2, 3)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ Looter: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 300
+ AttackDelay: 1270
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ Coal: 350
+ TerraniteOre: 300
+ SulfurPowder: 140
+ IronOre: 75
+ LeadOre: 50
+ CasinoCoins: 50
+ Emerald: 15
+ Amethyst: 10
+ TerraniteBlueprint: 7
+ TerraniteMask: 1
+ }
+},
+{
+ Id: 1168
+ SpriteName: "FallenGuard3"
+ Name: "Tulimshar Guard"
+ Lv: 41
+ Hp: 3935
+ Sp: 0
+ Exp: 40
+ JExp: 6
+ AttackRange: 1
+ Attack: [209, 231]
+ Def: 75
+ Mdef: 20
+ Stats: {
+ Str: 16
+ Agi: 26
+ Vit: 37
+ Int: 10
+ Dex: 41
+ Luk: 18
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Race: 2
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 250
+ AttackDelay: 872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Beer: 200
+ BottleOfTonoriWater: 150
+ CottonCloth: 100
+ CasinoCoins: 50
+ }
+},
+{
+ Id: 1169
+ SpriteName: "GrassSnake"
+ Name: "Grass Snake"
+ Lv: 36
+ Hp: 4328
+ Sp: 0
+ Exp: 137
+ JExp: 10
+ AttackRange: 1
+ Attack: [231, 253]
+ Def: 24
+ Mdef: 60
+ Stats: {
+ Str: 11
+ Agi: 20
+ Vit: 24
+ Int: 10
+ Dex: 29
+ Luk: 15
+ }
+ ViewRange: 7
+ ChaseRange: 10
+ Race: 0
+ Element: (6, 1)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 500
+ AttackDelay: 1100
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ GrassSeeds: 300
+ SnakeTongue: 250
+ SnakeEgg: 200
+ ReedBundle: 160
+ EmptyBottle: 70
+ SnakeSkin: 61
+ DivineApple: 1
+ }
+},
+{
+ Id: 1170
+ SpriteName: "GMGiftBox"
+ Name: "GM Gift Box"
+ Lv: 1
+ Hp: 1
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 10
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 1
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ MoveSpeed: 1000
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ StrangeCoin: 10000
+ StrangeCoin: 8000
+ StrangeCoin: 6000
+ StrangeCoin: 4000
+ StrangeCoin: 2000
+ }
+},
+{
+ Id: 1171
+ SpriteName: "Troll"
+ Name: "Troll"
+ Lv: 76
+ Hp: 9572
+ Sp: 0
+ Exp: 1325
+ JExp: 32
+ AttackRange: 4
+ Attack: [122, 135]
+ Def: 92
+ Mdef: 98
+ Stats: {
+ Str: 41
+ Agi: 55
+ Vit: 72
+ Int: 15
+ Dex: 66
+ Luk: 33
+ }
+ ViewRange: 10
+ ChaseRange: 16
+ Race: 0
+ Element: (2, 3)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 280
+ AttackDelay: 800
+ AttackMotion: 472
+ DamageMotion: 380
+ Drops: {
+ AnimalBones: 200
+ Pearl: 120
+ Ruby: 100
+ Topaz: 80
+ Emerald: 60
+ Diamond: 40
+ TitaniumOre: 30
+ Amethyst: 20
+ Sapphire: 10
+ Kanabo: 1
+ }
+},
+{
+ Id: 1172
+ SpriteName: "CyanButterfly"
+ Name: "Cyan Butterfly"
+ Lv: 8
+ Hp: 660
+ Sp: 0
+ Exp: 12
+ JExp: 1
+ AttackRange: 1
+ Attack: [140, 300]
+ Def: 30
+ Mdef: 350
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 10
+ Agi: 115
+ Vit: 10
+ Int: 15
+ Dex: 100
+ Luk: 40
+ }
+ ViewRange: 5
+ ChaseRange: 12
+ Race: 2
+ Element: (4, 2)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ ChangeTargetMelee: true
+ }
+ MoveSpeed: 320
+ AttackDelay: 390
+ AttackMotion: 300
+ DamageMotion: 800
+ Drops: {
+ SilkCocoon: 945
+ Mashmallow: 100
+ Butterfly: 1
+ }
+},
+{
+ Id: 1173
+ SpriteName: "ElectroWorm"
+ Name: "Electro Worm"
+ Lv: 50
+ Hp: 4023
+ Exp: 245
+ JExp: 10
+ AttackRange: 1
+ Attack: [900, 1209]
+ Def: 44
+ Mdef: 25
+ Stats: {
+ Str: 22
+ Agi: 33
+ Vit: 46
+ Int: 1
+ Dex: 41
+ Luk: 27
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ ChangeTargetMelee: true
+ }
+ MoveSpeed: 500
+ AttackDelay: 2872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Bullet: 5500
+ ExplosiveArrow: 5500
+ SilkCocoon: 1500
+ Coal: 1000
+ IronOre: 500
+ Mashmallow: 40
+ }
+},
+// Once set a target, it'll follow it to earthdepths (would be too hard to kill otherwise)
+{
+ Id: 1174
+ SpriteName: "BlackMamba"
+ Name: "Black Mamba"
+ Lv: 82
+ Hp: 10899
+ Sp: 0
+ Exp: 3118
+ JExp: 42
+ AttackRange: 1
+ Attack: [536, 619]
+ Def: 75
+ Mdef: 35
+ Stats: {
+ Str: 41
+ Agi: 55
+ Vit: 72
+ Int: 15
+ Dex: 66
+ Luk: 33
+ }
+ ViewRange: 10
+ ChaseRange: 16
+ Race: 0
+ Element: (7, 1)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ CanAttack: true
+ }
+ MoveSpeed: 260
+ AttackDelay: 1100
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ BlackMambaEgg: 1200
+ BlackMambaEgg: 600
+ BlackMambaTongue: 430
+ Coal: 350
+ BlackMambaSkin: 101
+ Pearl: 22
+ LeadOre: 20
+ Kanabo: 2
+ BlackPearl: 1
+ }
+},
+{
+ Id: 1175
+ SpriteName: "Lavern"
+ Name: "Lavern"
+ Lv: 12
+ Hp: 815
+ Sp: 0
+ Exp: 12
+ AttackRange: 1
+ Attack: [150, 160]
+ Def: 13
+ Mdef: 6
+ Stats: {
+ Str: 5
+ Agi: 10
+ Vit: 13
+ Int: 0
+ Dex: 11
+ Luk: 6
+ }
+ ViewRange: 11
+ ChaseRange: 18
+ Race: 2
+ Element: (8, 1)
+ Mode: {
+ CanMove: true
+ Assist: true
+ CanAttack: true
+ ChangeChase: true
+ ChangeTargetMelee: true
+ Looter: true
+ }
+ MoveSpeed: 1950
+ AttackDelay: 1272
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ MaggotSlime: 800
+ BugLeg: 400
+ GrassSeeds: 100
+ LOFCoin: 8
+ FourLeafClover: 3
+ BlueManaPearl: 2
+ }
+},
+{
+ Id: 1176
+ SpriteName: "WickedMushroom"
+ Name: "Wicked Mushroom"
+ Lv: 62
+ Hp: 8587
+ Sp: 0
+ Exp: 852
+ JExp: 30
+ AttackRange: 1
+ Attack: [458, 518]
+ Def: 55
+ Mdef: 40
+ Stats: {
+ Str: 32
+ Agi: 40
+ Vit: 53
+ Int: 15
+ Dex: 51
+ Luk: 27
+ }
+ ViewRange: 12
+ ChaseRange: 12
+ Race: 2
+ Element: (7, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ Aggressive: true
+ Angry: true
+ }
+ MoveSpeed: 740
+ AttackDelay: 1172
+ AttackMotion: 472
+ DamageMotion: 280
+ Drops: {
+ Plushroom: 2200
+ Chagashroom: 1400
+ MushroomSpores: 950
+ Chagashroom: 800
+ IronPowder: 700
+ Coal: 600
+ SmallMushroom: 550
+ HardSpike: 550
+ Amethyst: 11
+ WickedShroomHat: 2
+ }
+},
+{
+ Id: 1177
+ SpriteName: "Bluepar"
+ Name: "Bluepar"
+ Lv: 30
+ Hp: 3246
+ Sp: 0
+ Exp: 75
+ JExp: 9
+ AttackRange: 2
+ Attack: [118, 126]
+ Def: 0
+ Mdef: 5
+ WalkMask: "WALK_WATER"
+ Stats: {
+ Str: 11
+ Agi: 20
+ Vit: 24
+ Int: 0
+ Dex: 29
+ Luk: 13
+ }
+ ViewRange: 6
+ ChaseRange: 10
+ Race: 2
+ Element: (1, 2)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 1072
+ AttackMotion: 672
+ DamageMotion: 380
+ Drops: {
+ StrengthPotion: 800
+ HastePotion: 800
+ LOFCoin: 6
+ BlueManaPearl: 1
+ }
+},
+{
+ Id: 1178
+ SpriteName: "BlackSlime"
+ Name: "Black Slime"
+ Lv: 40
+ Hp: 2887
+ Sp: 0
+ Exp: 167
+ JExp: 16
+ AttackRange: 1
+ Attack: [240, 315]
+ Def: 20
+ Mdef: 30
+ Stats: {
+ Str: 17
+ Agi: 28
+ Vit: 33
+ Int: 10
+ Dex: 80
+ Luk: 50
+ }
+ ViewRange: 10
+ ChaseRange: 15
+ Race: 0
+ Element: (7, 2)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ Assist: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 1000
+ AttackDelay: 1672
+ AttackMotion: 672
+ DamageMotion: 280
+ Drops: {
+ Coal: 220
+ Coal: 110
+ LeadOre: 8
+ LOFCoin: 5
+ BlackPearl: 1
+ }
+ WeaponAttacks: {
+ All: 7500
+ Bows: 4000
+ }
+},
+{
+ Id: 1179
+ SpriteName: "FafiDragon"
+ Name: "Fafi Dragon"
+ Lv: 75
+ Hp: 28000
+ Sp: 3248
+ Exp: 7015
+ JExp: 150
+ AttackRange: 6
+ Attack: [550, 600]
+ Def: 50
+ Mdef: 75
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 50
+ Agi: 30
+ Vit: 50
+ Int: 0
+ Dex: 100
+ Luk: 40
+ }
+ ViewRange: 10
+ ChaseRange: 15
+ Race: 9
+ Element: (3, 2)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ Assist: true
+ Boss: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 500
+ AttackDelay: 1800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Dragonfruit: 3000
+ HastePotion: 2500
+ StrengthPotion: 2500
+ DragonScales: 1800
+ BronzeBossGift: 60
+ LOFCoin: 30
+ DragonStar: 2
+ TitaniumIngot: 1
+ }
+ WeaponAttacks: {
+ All: 8000
+ }
+},
+{
+ Id: 1180
+ SpriteName: "ChocolateSlime"
+ Name: "Chocolate Slime"
+ Lv: 13
+ Hp: 1600
+ Sp: 0
+ Exp: 18
+ JExp: 2
+ AttackRange: 1
+ Attack: [250, 300]
+ Def: 20
+ Mdef: 30
+ Stats: {
+ Str: 20
+ Agi: 70
+ Vit: 10
+ Int: 10
+ Dex: 30
+ Luk: 30
+ }
+ ViewRange: 8
+ ChaseRange: 10
+ Race: 0
+ Element: (0, 2)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Assist: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 1200
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ ChocolateBar: 3000
+ ChocolateBar: 1800
+ ChocolateBar: 500
+ ChocolateBiscuit: 400
+ ChocolateMouboo: 20
+ LOFCoin: 6
+ ChocolateDye: 4
+ }
+ WeaponAttacks: {
+ All: 7500
+ Bows: 4000
+ }
+},
+{
+ Id: 1181
+ SpriteName: "LivingPotato"
+ Name: "Living Potato"
+ Lv: 26
+ Hp: 3126
+ Sp: 0
+ Exp: 36
+ JExp: 9
+ AttackRange: 1
+ Attack: [82, 88]
+ Def: 175
+ Mdef: 10
+ Stats: {
+ Str: 25
+ Agi: 22
+ Vit: 25
+ Int: 1
+ Dex: 95
+ Luk: 20
+ }
+ ViewRange: 3
+ ChaseRange: 10
+ Race: 0
+ Element: (6, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Assist: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 600
+ AttackDelay: 492
+ AttackMotion: 472
+ DamageMotion: 280
+ Drops: {
+ Potatoz: 1300
+ Moss: 500
+ GrassSeeds: 300
+ TinOre: 140
+ Carrot: 11
+ LOFCoin: 6
+ Emerald: 2
+ }
+},
+{
+ Id: 1182
+ SpriteName: "EarthFairy"
+ Name: "Earth Fairy"
+ Lv: 50
+ Hp: 6310
+ Sp: 0
+ Exp: 373
+ JExp: 20
+ AttackRange: 1
+ Attack: [537, 599]
+ Def: 55
+ Mdef: 25
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 22
+ Agi: 33
+ Vit: 46
+ Int: 20
+ Dex: 41
+ Luk: 27
+ }
+ ViewRange: 10
+ ChaseRange: 10
+ Race: 2
+ Element: (2, 2)
+ Mode: {
+ CanMove: true
+ Assist: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 600
+ AttackDelay: 1600
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ FluoPowder: 200
+ Coal: 150
+ LightGreenDiamond: 2
+ }
+},
+{
+ Id: 1183
+ SpriteName: "FireFairy"
+ Name: "Fire Fairy"
+ Lv: 50
+ Hp: 6310
+ Sp: 0
+ Exp: 373
+ JExp: 20
+ AttackRange: 1
+ Attack: [537, 599]
+ Def: 55
+ Mdef: 25
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 22
+ Agi: 33
+ Vit: 46
+ Int: 20
+ Dex: 41
+ Luk: 27
+ }
+ ViewRange: 10
+ ChaseRange: 10
+ Race: 2
+ Element: (3, 2)
+ Mode: {
+ CanMove: true
+ Assist: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 600
+ AttackDelay: 1600
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ FluoPowder: 200
+ Coal: 150
+ LightGreenDiamond: 2
+ }
+},
+{
+ Id: 1184
+ SpriteName: "WaterFairy"
+ Name: "Water Fairy"
+ Lv: 50
+ Hp: 6310
+ Sp: 0
+ Exp: 373
+ JExp: 20
+ AttackRange: 1
+ Attack: [537, 599]
+ Def: 55
+ Mdef: 25
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 22
+ Agi: 33
+ Vit: 46
+ Int: 20
+ Dex: 41
+ Luk: 27
+ }
+ ViewRange: 10
+ ChaseRange: 10
+ Race: 2
+ Element: (1, 2)
+ Mode: {
+ CanMove: true
+ Assist: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 600
+ AttackDelay: 1600
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ FluoPowder: 200
+ Curshroom: 150
+ LightGreenDiamond: 2
+ }
+},
+{
+ Id: 1185
+ SpriteName: "WindFairy"
+ Name: "Wind Fairy"
+ Lv: 50
+ Hp: 6310
+ Sp: 0
+ Exp: 373
+ JExp: 20
+ AttackRange: 1
+ Attack: [537, 599]
+ Def: 55
+ Mdef: 25
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 22
+ Agi: 33
+ Vit: 46
+ Int: 20
+ Dex: 41
+ Luk: 27
+ }
+ ViewRange: 10
+ ChaseRange: 10
+ Race: 2
+ Element: (4, 2)
+ Mode: {
+ CanMove: true
+ Assist: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 600
+ AttackDelay: 1600
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ FluoPowder: 200
+ Curshroom: 150
+ LightGreenDiamond: 2
+ }
+},
+{
+ Id: 1186
+ SpriteName: "PoisonFairy"
+ Name: "Nature Fairy"
+ Lv: 50
+ Hp: 6310
+ Sp: 0
+ Exp: 373
+ JExp: 20
+ AttackRange: 1
+ Attack: [537, 599]
+ Def: 55
+ Mdef: 25
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 22
+ Agi: 33
+ Vit: 46
+ Int: 20
+ Dex: 41
+ Luk: 27
+ }
+ ViewRange: 10
+ ChaseRange: 10
+ Race: 2
+ Element: (6, 2)
+ Mode: {
+ CanMove: true
+ Assist: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 600
+ AttackDelay: 1600
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ FluoPowder: 200
+ Curshroom: 150
+ LightGreenDiamond: 2
+ }
+},
+{
+ Id: 1187
+ SpriteName: "ViciousSquirrel"
+ Name: "Vicious Squirrel"
+ Lv: 18
+ Hp: 2163
+ Sp: 1
+ Exp: 24
+ AttackRange: 1
+ Attack: [43, 66]
+ Def: 9
+ Mdef: 300
+ Stats: {
+ Str: 9
+ Agi: 24
+ Vit: 17
+ Int: 2
+ Dex: 16
+ Luk: 11
+ }
+ ViewRange: 18
+ ChaseRange: 18
+ Race: 2
+ Element: (2, 1)
+ Mode: {
+ CanMove: true
+ Assist: true
+ Looter: true
+ CanAttack: true
+ Aggressive: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 104
+ AttackDelay: 472
+ AttackMotion: 572
+ DamageMotion: 200
+ Drops: {
+ Acorn: 600
+ ShadowHerb: 600
+ AlizarinHerb: 400
+ CobaltHerb: 300
+ GambogeHerb: 200
+ SquirrelPelt: 130
+ MauveHerb: 100
+ IronPowder: 100
+ ArtichokeHerb: 50
+ Amethyst: 2
+ }
+},
+{
+ Id: 1188
+ SpriteName: "AlizarinPlant"
+ Name: "Alizarin Plant"
+ Lv: 1
+ Hp: 1
+ Sp: 1
+ Exp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 0
+ Mdef: 0
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ AlizarinHerb: 4200
+ AlizarinHerb: 4200
+ }
+},
+{
+ Id: 1189
+ SpriteName: "ShadowPlant"
+ Name: "Shadow Plant"
+ Lv: 1
+ Hp: 1
+ Sp: 1
+ Exp: 1
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 0
+ Mdef: 0
+ Race: 3
+ Element: (2, 1)
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ ShadowHerb: 4200
+ ShadowHerb: 4200
+ }
+},
+{
+ Id: 1190
+ SpriteName: "Toto"
+ Name: "Toto"
+ Lv: 5
+ Hp: 600
+ Sp: 0
+ Exp: 8
+ JExp: 1
+ AttackRange: 1
+ Attack: [230, 235]
+ Def: 180
+ Mdef: 10
+ Stats: {
+ Str: 25
+ Agi: 20
+ Vit: 25
+ Int: 1
+ Dex: 95
+ Luk: 20
+ }
+ ViewRange: 8
+ ChaseRange: 10
+ Race: 0
+ Element: (0, 4)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Assist: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 672
+ AttackMotion: 472
+ DamageMotion: 280
+},
+{
+ Id: 1191
+ SpriteName: "WhiteCat"
+ Name: "WhiteCat"
+ Lv: 5
+ Hp: 600
+ Sp: 0
+ Exp: 8
+ JExp: 1
+ AttackRange: 1
+ Attack: [230, 235]
+ Def: 180
+ Mdef: 10
+ Stats: {
+ Str: 25
+ Agi: 20
+ Vit: 25
+ Int: 1
+ Dex: 95
+ Luk: 20
+ }
+ ViewRange: 8
+ ChaseRange: 10
+ Race: 0
+ Element: (0, 4)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Assist: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 672
+ AttackMotion: 472
+ DamageMotion: 280
+},
+{
+ Id: 1192
+ SpriteName: "BlackCat"
+ Name: "BlackCat"
+ Lv: 5
+ Hp: 600
+ Sp: 0
+ Exp: 8
+ JExp: 1
+ AttackRange: 1
+ Attack: [230, 235]
+ Def: 180
+ Mdef: 10
+ Stats: {
+ Str: 25
+ Agi: 20
+ Vit: 25
+ Int: 1
+ Dex: 95
+ Luk: 200
+ }
+ ViewRange: 8
+ ChaseRange: 10
+ Race: 0
+ Element: (0, 4)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ Looter: true
+ Assist: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 672
+ AttackMotion: 472
+ DamageMotion: 280
+},
+{
+ Id: 1193
+ SpriteName: "FireSkull"
+ Name: "Fire Skull"
+ Lv: 46
+ Hp: 5700
+ Sp: 0
+ Exp: 295
+ JExp: 2
+ AttackRange: 1
+ Attack: [181, 201]
+ Def: 35
+ Mdef: 0
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 22
+ Agi: 33
+ Vit: 46
+ Int: 100
+ Dex: 41
+ Luk: 27
+ }
+ ViewRange: 10
+ ChaseRange: 14
+ Race: 1
+ Element: (7, 2)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ Looter: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 670
+ AttackMotion: 672
+ DamageMotion: 280
+ Drops: {
+ SulfurPowder: 850
+ PileOfAsh: 500
+ Coal: 450
+ DarkCrystal: 180
+ Skull: 55
+ CasinoCoins: 10
+ CursedSkull: 1
+ }
+},
+{
+ Id: 1194
+ SpriteName: "AngryBat"
+ Name: "Angry Bat"
+ Lv: 20
+ Hp: 1900
+ Sp: 0
+ Exp: 18
+ JExp: 5
+ AttackRange: 1
+ Attack: [180, 150]
+ Def: 4
+ Mdef: 60
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 9
+ Agi: 18
+ Vit: 17
+ Int: 2
+ Dex: 14
+ Luk: 11
+ }
+ ViewRange: 6
+ ChaseRange: 8
+ Race: 2
+ Element: (4, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ Looter: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 700
+ AttackDelay: 730
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ BatTeeth: 1850
+ BatWing: 1450
+ BatWing: 1250
+ BugLeg: 250
+ Dagger: 66
+ Bloodstone: 1
+ }
+},
+{
+ Id: 1195
+ SpriteName: "GreenDragon"
+ Name: "Green Dragon"
+ Lv: 75
+ Hp: 12408
+ Sp: 1248
+ Exp: 1681
+ JExp: 102
+ AttackRange: 6
+ Attack: [550, 600]
+ Def: 50
+ Mdef: 75
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 41
+ Agi: 55
+ Vit: 72
+ Int: 0
+ Dex: 66
+ Luk: 33
+ }
+ ViewRange: 10
+ ChaseRange: 15
+ Race: 9
+ Element: (3, 2)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ Assist: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 500
+ AttackDelay: 1800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ DragonScales: 1800
+ Dragonfruit: 700
+ HastePotion: 500
+ StrengthPotion: 500
+ GoldOre: 200
+ DragonStar: 2
+ }
+ WeaponAttacks: {
+ All: 8000
+ }
+},
+{
+ Id: 1196
+ SpriteName: "Reaper"
+ Name: "Reaper"
+ Lv: 100
+ Hp: 12872
+ Sp: 100
+ Exp: 7531
+ JExp: 45
+ AttackRange: 3
+ Attack: [350, 411]
+ Def: 1
+ Mdef: 20
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 56
+ Agi: 70
+ Vit: 81
+ Int: 110
+ Dex: 80
+ Luk: 46
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Race: 2
+ Element: (4, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 500
+ AttackDelay: 1760
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ SulfurPowder: 1000
+ SulfurPowder: 900
+ Skull: 500
+ Bone: 300
+ Bone: 100
+ SkullMask: 8
+ CursedScythe: 1
+ }
+},
+{
+ Id: 1197
+ SpriteName: "GiantCaveMaggot"
+ Name: "Giant Cave Maggot"
+ Lv: 90
+ Hp: 12868
+ Sp: 0
+ Exp: 3322
+ JExp: 49
+ AttackRange: 1
+ Attack: [1686, 1962]
+ Def: 300
+ Mdef: 0
+ Stats: {
+ Str: 50
+ Agi: 66
+ Vit: 76
+ Int: 1
+ Dex: 70
+ Luk: 41
+ }
+ ViewRange: 20
+ ChaseRange: 20
+ Race: 2
+ Element: (2, 2)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 1080
+ AttackDelay: 2450
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ CasinoCoins: 9500
+ Coal: 7000
+ CactusDrink: 6000
+ CactusPotion: 5000
+ CoinBag: 4000
+ Coal: 3000
+ IronOre: 1000
+ Ruby: 100
+ MinerHat: 12
+ }
+},
+// ok
+{
+ Id: 1198
+ SpriteName: "AngryYellowSlime"
+ Name: "Angry Yellow Slime"
+ Lv: 35
+ Hp: 1315
+ Sp: 0
+ Exp: 21
+ JExp: 2
+ AttackRange: 1
+ Attack: [45, 80]
+ Def: 3
+ Mdef: 70
+ Stats: {
+ Str: 11
+ Agi: 29
+ Vit: 3
+ Int: 1
+ Dex: 46
+ Luk: 13
+ }
+ ViewRange: 5
+ ChaseRange: 10
+ Race: 0
+ Element: (2, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ Looter: true
+ }
+ MoveSpeed: 1400
+ AttackDelay: 280
+ AttackMotion: 172
+ DamageMotion: 180
+ Drops: {
+ IronOre: 370
+ Coal: 275
+ TreasureKey: 255
+ OrangeCupcake: 205
+ IronOre: 120
+ GoldOre: 102
+ CherryCake: 92
+ Topaz: 18
+ }
+ WeaponAttacks: {
+ All: 6000
+ Bows: 3000
+ }
+},
+{
+ Id: 1199
+ SpriteName: "OldSnake"
+ Name: "Old Snake"
+ Lv: 35
+ Hp: 4208
+ Sp: 0
+ Exp: 129
+ JExp: 11
+ AttackRange: 1
+ Attack: [286, 313]
+ Def: 24
+ Mdef: 11
+ Stats: {
+ Str: 11
+ Agi: 20
+ Vit: 24
+ Int: 10
+ Dex: 29
+ Luk: 13
+ }
+ ViewRange: 7
+ ChaseRange: 8
+ Race: 2
+ Element: (6, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 500
+ AttackDelay: 1400
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ SnakeTongue: 400
+ SnakeEgg: 290
+ SnakeEgg: 95
+ SnakeSkin: 90
+ DivineApple: 1
+ }
+},
+{
+ Id: 1200
+ SpriteName: "MonsterKing"
+ Name: "The Monster King"
+ Lv: 150
+ Hp: 108713
+ Sp: 1665
+ Exp: 65000
+ JExp: 2100
+ AttackRange: 1
+ Attack: [195, 700]
+ Def: 768
+ Mdef: 53
+ Stats: {
+ Str: 110
+ Agi: 110
+ Vit: 110
+ Int: 110
+ Dex: 110
+ Luk: 110
+ }
+ ViewRange: 27
+ ChaseRange: 28
+ Race: 11
+ Element: (7, 4)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Boss: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ Detector: true
+ NoKnockback: true
+ Looter: true
+ }
+ MoveSpeed: 150
+ AttackDelay: 690
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ BronzeBossGift: 1500
+ SilverBossGift: 1000
+ DivineApple: 500
+ GoldenBossGift: 180
+ StrangeCoin: 60
+ }
+},
+{
+ Id: 1201
+ SpriteName: "MoubooSlime"
+ Name: "Mouboo Slime"
+ Lv: 7
+ Hp: 800
+ Sp: 0
+ Exp: 10
+ JExp: 1
+ AttackRange: 1
+ Attack: [50, 120]
+ Def: 8
+ Mdef: 9
+ Stats: {
+ Str: 15
+ Agi: 2
+ Vit: 5
+ Int: 10
+ Dex: 35
+ Luk: 19
+ }
+ ViewRange: 6
+ ChaseRange: 12
+ Race: 2
+ Element: (6, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ Assist: true
+ SurviveWithoutMaster: true
+ }
+ MoveSpeed: 620
+ AttackDelay: 872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ Milk: 200
+ RedApple: 70
+ ChocolateBar: 58
+ CasinoCoins: 50
+ ChocolateMouboo: 20
+ }
+},
+{
+ Id: 1202
+ SpriteName: "ForestPiou"
+ Name: "Forest Piou"
+ Lv: 3
+ Hp: 410
+ Sp: 0
+ Exp: 3
+ AttackRange: 1
+ Attack: [75, 100]
+ Def: 4
+ Mdef: 10
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 10
+ Agi: 5
+ Vit: 1
+ Int: 0
+ Dex: 5
+ Luk: 10
+ }
+ ViewRange: 4
+ ChaseRange: 30
+ Race: 2
+ Element: (4, 1)
+ Mode: {
+ CanMove: true
+ Assist: true
+ CanAttack: true
+ ChangeChase: true
+ ChangeTargetMelee: true
+ }
+ MoveSpeed: 205
+ AttackDelay: 1472
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ ForestPiouFeathers: 1200
+ PiouLegs: 1000
+ ArtichokeHerb: 500
+ PiouFeathers: 300
+ ShadowHerb: 20
+ Emerald: 1
+ }
+},
+{
+ Id: 1203
+ SpriteName: "Michel"
+ Name: "Michel"
+ Lv: 75
+ Hp: 10670
+ Sp: 0
+ Exp: 1912
+ JExp: 7
+ AttackRange: 1
+ Attack: [320, 367]
+ Def: 52
+ Mdef: 22
+ Stats: {
+ Str: 33
+ Agi: 50
+ Vit: 60
+ Int: 20
+ Dex: 60
+ Luk: 32
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Race: 1
+ Element: (7, 3)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 320
+ AttackDelay: 720
+ AttackMotion: 472
+ DamageMotion: 200
+ Drops: {
+ CottonCloth: 2000
+ MichelSoul: 865
+ SulfurPowder: 480
+ DarkCrystal: 320
+ CottonCloth: 51
+ }
+},
+{
+ Id: 1204
+ SpriteName: "Pumpkandy"
+ Name: "Pumpkandy"
+ Lv: 5
+ Hp: 800
+ Sp: 0
+ Exp: 5
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 0
+ Mdef: 0
+ Stats: {
+ Str: 1
+ Agi: 10
+ Vit: 1
+ Int: 1
+ Dex: 1
+ Luk: 1
+ }
+ ChaseRange: 12
+ Race: 3
+ Element: (2, 1)
+ MoveSpeed: 1000
+ AttackDelay: 800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Lawncandy: 800
+ Saulcandy: 800
+ Poocandy: 800
+ Mashmallow: 250
+ Candy: 50
+ PumpkinHat: 2
+ }
+},
+{
+ Id: 1205
+ SpriteName: "AndreiSakar"
+ Name: "Andrei Sakar"
+ Lv: 100
+ Hp: 688
+ Sp: 133
+ Exp: 3500
+ JExp: 100
+ AttackRange: 1
+ Attack: [413, 413]
+ Def: 36
+ Mdef: 26
+ Stats: {
+ Str: 4
+ Agi: 67
+ Vit: 10
+ Int: 26
+ Dex: 100
+ Luk: 70
+ }
+ ViewRange: 27
+ ChaseRange: 28
+ Race: 11
+ Element: (6, 4)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Boss: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ Detector: true
+ NoKnockback: true
+ Looter: true
+ }
+ MoveSpeed: 123
+ AttackDelay: 124
+ AttackMotion: 124
+ DamageMotion: 200
+ Drops: {
+ GoldenApple: 100
+ Emperium: 1
+ }
+},
+{
+ Id: 1206
+ SpriteName: "DustGatling"
+ Name: "Shotgun Shooter"
+ Lv: 50
+ Hp: 2600
+ Sp: 0
+ Exp: 437
+ JExp: 18
+ AttackRange: 9
+ Attack: [80, 90]
+ Def: 80
+ Mdef: 40
+ WalkMask: "WALK_WATER"
+ Stats: {
+ Str: 22
+ Agi: 33
+ Vit: 46
+ Int: 21
+ Dex: 81
+ Luk: 27
+ }
+ ViewRange: 28
+ ChaseRange: 32
+ Race: 2
+ Element: (0, 2)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 420
+ AttackDelay: 1200
+ AttackMotion: 472
+ DamageMotion: 900
+ Drops: {
+ Bullet: 2000
+ CoinBag: 500
+ RedApple: 300
+ Lockpicks: 50
+ }
+},
+{
+ Id: 1207
+ SpriteName: "DustRifle"
+ Name: "Rifle Shooter"
+ Lv: 50
+ Hp: 2600
+ Sp: 0
+ Exp: 437
+ JExp: 18
+ AttackRange: 15
+ Attack: [250, 300]
+ Def: 80
+ Mdef: 40
+ WalkMask: "WALK_WATER"
+ Stats: {
+ Str: 22
+ Agi: 33
+ Vit: 46
+ Int: 21
+ Dex: 61
+ Luk: 27
+ }
+ ViewRange: 28
+ ChaseRange: 32
+ Race: 2
+ Element: (0, 2)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 420
+ AttackDelay: 2500
+ AttackMotion: 272
+ DamageMotion: 900
+ Drops: {
+ Bullet: 2000
+ CoinBag: 500
+ RedApple: 300
+ Lockpicks: 50
+ }
+},
+{
+ Id: 1208
+ SpriteName: "DustRevolver"
+ Name: "Revolver Shooter"
+ Lv: 50
+ Hp: 2600
+ Sp: 0
+ Exp: 437
+ JExp: 18
+ AttackRange: 9
+ Attack: [100, 200]
+ Def: 80
+ Mdef: 40
+ WalkMask: "WALK_WATER"
+ Stats: {
+ Str: 22
+ Agi: 33
+ Vit: 46
+ Int: 21
+ Dex: 41
+ Luk: 27
+ }
+ ViewRange: 28
+ ChaseRange: 32
+ Race: 2
+ Element: (0, 2)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 420
+ AttackDelay: 1020
+ AttackMotion: 272
+ DamageMotion: 900
+ Drops: {
+ Bullet: 2000
+ CoinBag: 500
+ RedApple: 300
+ Lockpicks: 50
+ }
+},
+{
+ Id: 1209
+ SpriteName: "DustBoss"
+ Name: "Boss Of The Dusty People"
+ Lv: 50
+ Hp: 12500
+ Sp: 0
+ Exp: 7500
+ JExp: 60
+ AttackRange: 9
+ Attack: [220, 220]
+ Def: 82
+ Mdef: 50
+ Stats: {
+ Str: 33
+ Agi: 50
+ Vit: 60
+ Int: 21
+ Dex: 61
+ Luk: 29
+ }
+ ViewRange: 28
+ ChaseRange: 32
+ Race: 2
+ Element: (0, 3)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ Boss: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 380
+ AttackDelay: 2700
+ AttackMotion: 272
+ DamageMotion: 900
+ Drops: {
+ Bullet: 8000
+ CoinBag: 500
+ RedApple: 300
+ Lockpicks: 50
+ ArcmageBoxset: 35
+ }
+},
+{
+ Id: 1210
+ SpriteName: "StPatricksClover"
+ Name: "St Patrick's Clover"
+ Lv: 1
+ Hp: 1
+ Sp: 1
+ Exp: 3
+ AttackRange: 1
+ Attack: [0, 0]
+ Def: 0
+ Mdef: 0
+ Stats: {
+ Str: 0
+ Agi: 0
+ Vit: 0
+ Int: 0
+ Dex: 0
+ Luk: 0
+ }
+ ViewRange: 0
+ ChaseRange: 12
+ Race: 2
+ Element: (2, 1)
+ Mode: {
+ CanMove: false
+ CanAttack:false
+ }
+ Drops: {
+ FourLeafClover: 1
+ FourLeafClover: 1
+ FourLeafClover: 1
+ FourLeafClover: 1
+ FourLeafClover: 1
+ FourLeafClover: 1
+ FourLeafClover: 1
+ FourLeafClover: 1
+ FourLeafClover: 1
+ FourLeafClover: 1
+ }
+},
+{
+ Id: 1211
+ SpriteName: "Yetifly"
+ Name: "Yetifly"
+ Lv: 100
+ Hp: 45510
+ Sp: 0
+ Exp: 20850
+ JExp: 200
+ AttackRange: 2
+ Attack: [646, 885]
+ Def: 120
+ Mdef: 180
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 60
+ Agi: 78
+ Vit: 93
+ Int: 40
+ Dex: 98
+ Luk: 76
+ }
+ ViewRange: 18
+ ChaseRange: 12
+ Race: 2
+ Element: (6, 2)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ Boss: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 150
+ AttackDelay: 2000
+ AttackMotion: 672
+ DamageMotion: 270
+ Drops: {
+ FrozenYetiTear: 10000
+ AnimalBones: 8000
+ HeroCoin: 3000
+ BronzeBossGift: 2000
+ SilverBossGift: 1000
+ MercBoxA: 100
+ ArcmageBoxset: 80
+ YetiMask: 50
+ }
+},
+{
+ Id: 1212
+ SpriteName: "TerraniteProtector"
+ Name: "Terranite Protector"
+ Lv: 90
+ Hp: 13255
+ Sp: 0
+ Exp: 5500
+ JExp: 50
+ AttackRange: 1
+ Attack: [681, 793]
+ Def: 80
+ Mdef: 90
+ Stats: {
+ Str: 50
+ Agi: 66
+ Vit: 76
+ Int: 30
+ Dex: 70
+ Luk: 41
+ }
+ ViewRange: 9
+ ChaseRange: 14
+ Race: 2
+ Element: (2, 3)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ Looter: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 300
+ AttackDelay: 1270
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ Coal: 700
+ TerraniteOre: 600
+ SulfurPowder: 280
+ IronOre: 150
+ LeadOre: 100
+ CasinoCoins: 100
+ Emerald: 30
+ Amethyst: 20
+ TerraniteBlueprint: 12
+ TerraniteMask: 1
+ }
+},
+{
+ Id: 1213
+ SpriteName: "TerraniteKing"
+ Name: "Terranite King"
+ Lv: 135
+ Hp: 22823
+ Sp: 800
+ Exp: 35132
+ JExp: 175
+ AttackRange: 1
+ Attack: [1233, 1737]
+ Def: 140
+ Mdef: 190
+ Stats: {
+ Str: 63
+ Agi: 80
+ Vit: 95
+ Int: 30
+ Dex: 91
+ Luk: 61
+ }
+ ViewRange: 9
+ ChaseRange: 14
+ Race: 2
+ Element: (2, 3)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ Looter: true
+ ChangeChase: true
+ CastSensorChase: true
+ Boss: true
+ }
+ MoveSpeed: 300
+ AttackDelay: 1270
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ Coal: 2400
+ TerraniteOre: 2200
+ BronzeBossGift: 2000
+ SulfurPowder: 560
+ LeadOre: 200
+ CasinoCoins: 200
+ Emerald: 60
+ Amethyst: 40
+ TerraniteBlueprint: 30
+ TerraniteMask: 2
+ }
+},
+{
+ Id: 1214
+ SpriteName: "GoboBear"
+ Name: "Gobo Bear"
+ Lv: 85
+ Hp: 12464
+ Sp: 0
+ Exp: 3875
+ JExp: 44
+ AttackRange: 1
+ Attack: [947, 1097]
+ Def: 80
+ Mdef: 70
+ Stats: {
+ Str: 46
+ Agi: 62
+ Vit: 74
+ Int: 30
+ Dex: 68
+ Luk: 37
+ }
+ ViewRange: 9
+ ChaseRange: 12
+ Race: 2
+ Element: (2, 2)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 300
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ Coal: 700
+ AnimalBones: 420
+ }
+},
+{
+ Id: 1215
+ SpriteName: "VanityPixie"
+ Name: "Vanity Pixie"
+ Lv: 94
+ Hp: 14275
+ Sp: 0
+ Exp: 5400
+ JExp: 54
+ AttackRange: 1
+ Attack: [1200, 1293]
+ Def: 30
+ Mdef: 160
+ Stats: {
+ Str: 55
+ Agi: 70
+ Vit: 80
+ Int: 36
+ Dex: 75
+ Luk: 49
+ }
+ ViewRange: 9
+ ChaseRange: 16
+ Race: 2
+ Element: (8, 3)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 100
+ AttackDelay: 1772
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ FluoPowder: 700
+ ChickenLeg: 340
+ FluoPowder: 40
+ DodgePotion: 1
+ }
+},
+{
+ Id: 1216
+ SpriteName: "HolyPixie"
+ Name: "Holy Pixie"
+ Lv: 94
+ Hp: 14275
+ Sp: 0
+ Exp: 5400
+ JExp: 54
+ AttackRange: 1
+ Attack: [1200, 1293]
+ Def: 30
+ Mdef: 160
+ Stats: {
+ Str: 55
+ Agi: 70
+ Vit: 80
+ Int: 36
+ Dex: 75
+ Luk: 49
+ }
+ ViewRange: 9
+ ChaseRange: 16
+ Race: 2
+ Element: (6, 3)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 100
+ AttackDelay: 1772
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ FluoPowder: 500
+ ChickenLeg: 320
+ FluoPowder: 40
+ LightRing: 1
+ }
+},
+{
+ Id: 1217
+ SpriteName: "ShadowPixie"
+ Name: "Shadow Pixie"
+ Lv: 94
+ Hp: 14275
+ Sp: 0
+ Exp: 5400
+ JExp: 54
+ AttackRange: 1
+ Attack: [1200, 1293]
+ Def: 30
+ Mdef: 160
+ Stats: {
+ Str: 55
+ Agi: 70
+ Vit: 80
+ Int: 36
+ Dex: 75
+ Luk: 49
+ }
+ ViewRange: 9
+ ChaseRange: 16
+ Race: 2
+ Element: (7, 3)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 100
+ AttackDelay: 1772
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ FluoPowder: 500
+ ChickenLeg: 320
+ FluoPowder: 40
+ ThetaRing: 1
+ }
+},
+{
+ Id: 1218
+ SpriteName: "NulityPixie"
+ Name: "Nulity Pixie"
+ Lv: 94
+ Hp: 14275
+ Sp: 0
+ Exp: 5400
+ JExp: 54
+ AttackRange: 1
+ Attack: [1200, 1293]
+ Def: 80
+ Mdef: 160
+ Stats: {
+ Str: 55
+ Agi: 70
+ Vit: 80
+ Int: 36
+ Dex: 75
+ Luk: 49
+ }
+ ViewRange: 9
+ ChaseRange: 16
+ Race: 2
+ Element: (0, 3)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 100
+ AttackDelay: 1772
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ FluoPowder: 570
+ ChickenLeg: 320
+ FluoPowder: 40
+ LightRing: 1
+ }
+},
+{
+ Id: 1219
+ SpriteName: "Pollet"
+ Name: "Pollet"
+ Lv: 45
+ Hp: 5500
+ Sp: 0
+ Exp: 225
+ JExp: 20
+ AttackRange: 1
+ Attack: [500, 593]
+ Def: 20
+ Mdef: 30
+ Stats: {
+ Str: 22
+ Agi: 30
+ Vit: 46
+ Int: 30
+ Dex: 40
+ Luk: 25
+ }
+ ViewRange: 6
+ ChaseRange: 14
+ Race: 2
+ Element: (1, 2)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 320
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ IceCube: 500
+ IceCube: 210
+ IcedBottle: 55
+ IceGladius: 1
+ }
+},
+{
+ Id: 1220
+ SpriteName: "EnergyBall"
+ Name: "Energy Ball"
+ Lv: 1
+ Hp: 2032
+ Sp: 0
+ Exp: 45
+ JExp: 8
+ AttackRange: 1
+ Attack: [81, 93]
+ Def: 80
+ Mdef: 90
+ Stats: {
+ Str: 50
+ Agi: 66
+ Vit: 76
+ Int: 30
+ Dex: 80
+ Luk: 41
+ }
+ ViewRange: 16
+ ChaseRange: 17
+ Race: 2
+ Element: (4, 2)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ Aggressive: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 250
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ SulfurPowder: 10
+ }
+},
+{
+ Id: 1221
+ SpriteName: "PsiConscience"
+ Name: "Psi Conscience"
+ Lv: 120
+ Hp: 58016
+ Sp: 0
+ Exp: 70132
+ JExp: 200
+ AttackRange: 4
+ Attack: [81, 93]
+ Def: 80
+ Mdef: 90
+ Stats: {
+ Str: 50
+ Agi: 65
+ Vit: 76
+ Int: 30
+ Dex: 99
+ Luk: 99
+ }
+ ViewRange: 14
+ ChaseRange: 14
+ Race: 2
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ Boss: true
+ }
+ MoveSpeed: 5000
+ AttackDelay: 3072
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ TitaniumOre: 2500
+ Brainstem: 1700
+ StrangeCoin: 2000
+ Brain: 1000
+ BronzeBossGift: 500
+ SilverBossGift: 100
+ GoldenBossGift: 20
+ SacredManaPotion: 5
+ }
+},
+{
+ Id: 1222
+ SpriteName: "HoodedAssassin"
+ Name: "Hooded Assassin"
+ Lv: 52
+ Hp: 18235
+ Exp: 1572
+ JExp: 52
+ AttackRange: 1
+ Attack: [1123, 1466]
+ Def: 45
+ Mdef: 80
+ ViewRange: 16
+ ChaseRange: 18
+ Race: 2
+ Element: (7, 2)
+ Stats: {
+ Str: 32
+ Agi: 40
+ Vit: 23
+ Int: 31
+ Dex: 75
+ Luk: 38
+ }
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ Boss: true
+ }
+ MoveSpeed: 200
+ AttackDelay: 2772
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ TreasureKey: 10000
+ MoveSpeedPotion: 4000
+ CoinBag: 2000
+ Beer: 2000
+ CursedAmmoBox: 1500
+ ClothoLiquor: 1500
+ BronzeBossGift: 1000
+ ArcmageBoxset: 150
+ GoldenApple: 5
+ }
+},
+{
+ Id: 1223
+ SpriteName: "HoodedNinja"
+ Name: "Hooded Ninja"
+ Lv: 52
+ Hp: 6400
+ Exp: 480
+ JExp: 18
+ AttackRange: 1
+ Attack: [636, 737]
+ Def: 45
+ Mdef: 80
+ ViewRange: 16
+ ChaseRange: 18
+ Race: 2
+ Element: (7, 1)
+ Stats: {
+ Str: 28
+ Agi: 30
+ Vit: 23
+ Int: 31
+ Dex: 75
+ Luk: 32
+ }
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 200
+ AttackDelay: 2172
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ TreasureKey: 400
+ CoinBag: 200
+ Beer: 200
+ ClothoLiquor: 50
+ }
+},
+{
+ Id: 1224
+ SpriteName: "Sagratha"
+ Name: "Sagratha"
+ Lv: 50
+ Hp: 21400
+ Sp: 0
+ Exp: 404
+ JExp: 14
+ AttackRange: 1
+ Attack: [620, 670]
+ Def: 5
+ Mdef: 127
+ Stats: {
+ Str: 12
+ Agi: 33
+ Vit: 46
+ Int: 90
+ Dex: 41
+ Luk: 27
+ }
+ ViewRange: 9
+ ChaseRange: 12
+ Race: 2
+ Element: (6, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 370
+ AttackDelay: 2100
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ CherryCake: 60
+ }
+},
+{
+ Id: 1225
+ SpriteName: "Isbamuth"
+ Name: "Isbamuth"
+ Lv: 120
+ Hp: 28562
+ Sp: 0
+ Exp: 131035
+ JExp: 700
+ AttackRange: 9
+ Attack: [250, 279]
+ Def: 105
+ Mdef: 127
+ Stats: {
+ Str: 42
+ Agi: 72
+ Vit: 96
+ Int: 90
+ Dex: 71
+ Luk: 47
+ }
+ ViewRange: 12
+ ChaseRange: 14
+ Race: 2
+ Element: (7, 3)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ Boss: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 370
+ AttackDelay: 1800
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ BronzeBossGift: 1000
+ CherryCake: 60
+ ThetaRing: 2
+ }
+},
+{
+ Id: 1226
+ SpriteName: "SmallEleniumBif"
+ Name: "Small Elenium Bif"
+ Lv: 1
+ Hp: 5
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Race: 5
+ Element: (2, 1)
+ Stats: {
+ Luk: 65535
+ }
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 160
+ CopperOre: 90
+ Wurtzite: 100
+ LeadOre: 35
+ Graphene: 25
+ LightGreenDiamond: 1
+ }
+},
+{
+ Id: 1227
+ SpriteName: "EleniumBif"
+ Name: "Elenium Bif"
+ Lv: 1
+ Hp: 9
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Race: 5
+ Element: (2, 1)
+ Stats: {
+ Luk: 65535
+ }
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 270
+ CopperOre: 180
+ Wurtzite: 200
+ LeadOre: 70
+ Graphene: 35
+ LightGreenDiamond: 2
+ }
+},
+{
+ Id: 1228
+ SpriteName: "BigEleniumBif"
+ Name: "Big Elenium Bif"
+ Lv: 1
+ Hp: 14
+ Sp: 0
+ Exp: 1
+ AttackRange: 1
+ Attack: [10, 10]
+ Def: 100
+ Mdef: 1
+ Race: 5
+ Element: (2, 1)
+ Stats: {
+ Luk: 65535
+ }
+ Mode: {
+ Plant: true
+ }
+ Drops: {
+ Coal: 440
+ CopperOre: 270
+ Wurtzite: 290
+ LeadOre: 105
+ Graphene: 45
+ LightGreenDiamond: 3
+ }
+},
+{
+ Id: 1229
+ SpriteName: "NightDragon"
+ Name: "Night Dragon"
+ Lv: 75
+ Hp: 37000
+ Sp: 3248
+ Exp: 7015
+ JExp: 150
+ AttackRange: 3
+ Attack: [700, 800]
+ Def: 80
+ Mdef: 105
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 80
+ Agi: 30
+ Vit: 80
+ Int: 120
+ Dex: 215
+ Luk: 90
+ }
+ ViewRange: 15
+ ChaseRange: 15
+ Race: 9
+ Element: (7, 4)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ Boss: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 440
+ AttackDelay: 1772
+ AttackMotion: 472
+ DamageMotion: 380
+ Drops: {
+ Wurtzite: 10000
+ DragonScales: 8000
+ Dragonfruit: 3000
+ HastePotion: 2500
+ StrengthPotion: 2500
+ BronzeBossGift: 2000
+ SilverBossGift: 1000
+ DragonStar: 2
+ TitaniumIngot: 2
+ }
+ // Good defense against all type of weapons
+ WeaponAttacks: {
+ All: 7000
+ }
+ // Most powerful attack skills are almost entirely nullified
+ EleResist: {
+ Ele_All: 5000
+ }
+},
+{
+ Id: 1230
+ SpriteName: "NightmareDragon"
+ Name: "Nightmare Dragon"
+ Lv: 105
+ Hp: 15000
+ Sp: 1248
+ Exp: 12500
+ JExp: 80
+ AttackRange: 6
+ Attack: [500, 600]
+ Def: 180
+ Mdef: 325
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 60
+ Agi: 76
+ Vit: 86
+ Int: 70
+ Dex: 86
+ Luk: 50
+ }
+ ViewRange: 10
+ ChaseRange: 15
+ Race: 9
+ Element: (7, 3)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ Assist: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 420
+ AttackDelay: 1600
+ AttackMotion: 472
+ DamageMotion: 380
+ Drops: {
+ DragonScales: 2000
+ Dragonfruit: 1000
+ HastePotion: 500
+ StrengthPotion: 500
+ GoldOre: 200
+ DragonStar: 2
+ }
+ WeaponAttacks: {
+ All: 8000
+ }
+},
+// Death cats are a special monster
+{
+ Id: 1231
+ SpriteName: "DeathCat"
+ Name: "Death Cat"
+ Lv: 30
+ Hp: 4000
+ Sp: 0
+ Exp: 70
+ JExp: 11
+ AttackRange: 1
+ Attack: [60, 80]
+ Def: 80
+ Mdef: 90
+ Stats: {
+ Str: 50
+ Agi: 66
+ Vit: 76
+ Int: 80
+ Dex: 200
+ Luk: 41
+ }
+ ViewRange: 16
+ ChaseRange: 17
+ Race: 2
+ Element: (7, 4)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ Aggressive: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 250
+ AttackDelay: 1072
+ AttackMotion: 472
+ DamageMotion: 200
+ Drops: {
+ ShadowHerb: 140
+ Mashmallow: 60
+ SulfurPowder: 20
+ Milk: 10
+ GrassCarp: 3
+ BlackPearl: 1
+ }
+ WeaponAttacks: {
+ All: 4000
+ }
+ EleResist: {
+ Ele_Neutral: 12000
+ }
+},
+{
+ Id: 1232
+ SpriteName: "WhirlyBird"
+ Name: "Whirly Bird"
+ Lv: 110
+ Hp: 20000
+ Sp: 1248
+ Exp: 11100
+ JExp: 80
+ AttackRange: 1
+ Attack: [925, 1000]
+ Def: 295
+ Mdef: 45
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 60
+ Agi: 76
+ Vit: 86
+ Int: 70
+ Dex: 86
+ Luk: 50
+ }
+ ViewRange: 14
+ ChaseRange: 16
+ Race: 2
+ Element: (6, 2)
+ Mode: {
+ CanMove: true
+ Assist: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 520
+ AttackDelay: 1600
+ AttackMotion: 472
+ DamageMotion: 180
+ Drops: {
+ AtroposMixture: 200
+ SilverMirror: 40
+ MysteriousBottle: 30
+ Grenade: 20
+ Quill: 12
+ GoldenApple: 10
+ IridiumOre: 6
+ TinIngot: 3
+ PlatinumOre: 2
+ }
+},
+{
+ Id: 1233
+ SpriteName: "LittleYellowSlime"
+ Name: "Little Yellow Slime"
+ Lv: 6
+ Hp: 400
+ Sp: 0
+ Exp: 8
+ JExp: 1
+ AttackRange: 1
+ Attack: [15, 25]
+ Def: 10
+ Mdef: 70
+ Stats: {
+ Str: 9
+ Agi: 6
+ Vit: 2
+ Int: 1
+ Dex: 44
+ Luk: 1
+ }
+ ChaseRange: 10
+ Race: 0
+ Element: (2, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ CanAttack: true
+ ChangeChase: true
+ }
+ MoveSpeed: 1300
+ AttackDelay: 480
+ AttackMotion: 172
+ DamageMotion: 180
+ Drops: {
+ Coal: 200
+ IronOre: 140
+ CactusDrink: 150
+ CactusPotion: 100
+ TreasureKey: 50
+ CherryCake: 40
+ SharpKnife: 11
+ Topaz: 5
+ }
+ WeaponAttacks: {
+ All: 6000
+ Bows: 3000
+ }
+},
+{
+ Id: 1234
+ SpriteName: "LittleRedSlime"
+ Name: "Little Red Slime"
+ Lv: 12
+ Hp: 600
+ Sp: 0
+ Exp: 14
+ JExp: 1
+ AttackRange: 1
+ Attack: [25, 40]
+ Def: 24
+ Mdef: 70
+ Stats: {
+ Str: 15
+ Agi: 8
+ Vit: 2
+ Int: 1
+ Dex: 40
+ Luk: 1
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Race: 0
+ Element: (3, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ ChangeChase: true
+ CanAttack: true
+ }
+ MoveSpeed: 1400
+ AttackDelay: 1500
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Coal: 200
+ IronOre: 140
+ RedApple: 125
+ Knife: 95
+ Dagger: 43
+ TreasureKey: 30
+ Ruby: 2
+ }
+ WeaponAttacks: {
+ All: 7500
+ Bows: 4000
+ }
+},
+{
+ Id: 1235
+ SpriteName: "SiegeTower"
+ Name: "Siege Tower"
+ Lv: 150
+ Hp: 30000
+ Sp: 800
+ Exp: 1
+ JExp: 1
+ AttackRange: 11
+ Attack: [80, 80]
+ Def: 767
+ Mdef: 767
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Int: 1
+ Dex: 32767
+ Luk: 65535
+ }
+ ViewRange: 12
+ ChaseRange: 18
+ Race: 8
+ Element: (0, 1)
+ Mode: {
+ CanMove: false
+ Aggressive: true
+ Angry: true
+ ChangeChase: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ CastSensorChase: true
+ }
+ AttackDelay: 500
+ AttackMotion: 472
+ DamageMotion: 80
+ WeaponAttacks: {
+ All: 5000
+ }
+ EleResist: {
+ Ele_Fire: 15000
+ }
+ Drops: {
+ Coal: 9000
+ IronIngot: 100
+ }
+},
+{
+ Id: 1236
+ SpriteName: "GreenSlimeMother"
+ Name: "Green Slime Mother"
+ Lv: 60
+ Hp: 5270
+ Sp: 0
+ Exp: 700
+ JExp: 10
+ AttackRange: 6
+ Attack: [87, 94]
+ Def: 70
+ Mdef: 80
+ Stats: {
+ Str: 40
+ Agi: 15
+ Vit: 35
+ Int: 10
+ Dex: 270
+ Luk: 250
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Race: 0
+ Element: (0, 2)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ CanAttack: true
+ ChangeChase: true
+ }
+ MoveSpeed: 900
+ AttackDelay: 1300
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ CoinBag: 780
+ CasinoCoins: 560
+ SharpKnife: 280
+ CactusDrink: 200
+ Dagger: 180
+ TreasureKey: 80
+ Emerald: 36
+ }
+ WeaponAttacks: {
+ All: 4000
+ Bows: 3000
+ }
+},
+{
+ Id: 1237
+ SpriteName: "BlueSlimeMother"
+ Name: "Blue Slime Mother"
+ Lv: 61
+ Hp: 5270
+ Sp: 0
+ Exp: 720
+ JExp: 10
+ AttackRange: 6
+ Attack: [87, 94]
+ Def: 70
+ Mdef: 80
+ Stats: {
+ Str: 40
+ Agi: 15
+ Vit: 35
+ Int: 10
+ Dex: 270
+ Luk: 250
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Race: 0
+ Element: (1, 2)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ CanAttack: true
+ ChangeChase: true
+ }
+ MoveSpeed: 900
+ AttackDelay: 1300
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ CactusDrink: 1000
+ HastePotion: 220
+ Sapphire: 42
+ SilverMirror: 20
+ }
+ WeaponAttacks: {
+ All: 4000
+ Bows: 3000
+ }
+},
+{
+ Id: 1238
+ SpriteName: "CopperSlimeMother"
+ Name: "Copper Slime Mother"
+ Lv: 62
+ Hp: 5320
+ Sp: 0
+ Exp: 750
+ JExp: 10
+ AttackRange: 6
+ Attack: [174, 196]
+ Def: 70
+ Mdef: 80
+ Stats: {
+ Str: 40
+ Agi: 15
+ Vit: 35
+ Int: 10
+ Dex: 270
+ Luk: 250
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Race: 0
+ Element: (2, 2)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ CanAttack: true
+ ChangeChase: true
+ }
+ MoveSpeed: 900
+ AttackDelay: 1300
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ CopperOre: 1200
+ TreasureKey: 800
+ TinOre: 400
+ Coal: 360
+ IronOre: 300
+ TitaniumOre: 40
+ CopperKey: 20
+ IridiumOre: 10
+ }
+ WeaponAttacks: {
+ All: 4000
+ Bows: 3000
+ }
+},
+{
+ Id: 1239
+ SpriteName: "YellowSlimeMother"
+ Name: "Yellow Slime Mother"
+ Lv: 63
+ Hp: 5370
+ Sp: 0
+ Exp: 775
+ JExp: 10
+ AttackRange: 6
+ Attack: [174, 196]
+ Def: 72
+ Mdef: 84
+ Stats: {
+ Str: 40
+ Agi: 15
+ Vit: 35
+ Int: 10
+ Dex: 270
+ Luk: 250
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Race: 0
+ Element: (2, 2)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ CanAttack: true
+ ChangeChase: true
+ }
+ MoveSpeed: 900
+ AttackDelay: 1300
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ Coal: 740
+ IronOre: 540
+ CactusDrink: 700
+ CactusPotion: 500
+ TreasureKey: 500
+ OrangeCupcake: 400
+ GoldOre: 200
+ CherryCake: 150
+ SharpKnife: 42
+ Topaz: 22
+ }
+ WeaponAttacks: {
+ All: 4000
+ Bows: 3000
+ }
+},
+{
+ Id: 1240
+ SpriteName: "RedSlimeMother"
+ Name: "Red Slime Mother"
+ Lv: 64
+ Hp: 5420
+ Sp: 0
+ Exp: 800
+ JExp: 10
+ AttackRange: 6
+ Attack: [175, 200]
+ Def: 72
+ Mdef: 85
+ Stats: {
+ Str: 40
+ Agi: 15
+ Vit: 35
+ Int: 10
+ Dex: 270
+ Luk: 250
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Race: 0
+ Element: (3, 2)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ CanAttack: true
+ ChangeChase: true
+ }
+ MoveSpeed: 900
+ AttackDelay: 1300
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ RedApple: 490
+ Knife: 350
+ Dagger: 172
+ TreasureKey: 110
+ MinerGloves: 72
+ Coal: 52
+ Boots: 48
+ Ruby: 10
+ }
+ WeaponAttacks: {
+ All: 4000
+ Bows: 3000
+ }
+},
+{
+ Id: 1241
+ SpriteName: "ChocolateSlimeMother"
+ Name: "Chocolate Slime Mother"
+ Lv: 65
+ Hp: 5500
+ Sp: 0
+ Exp: 850
+ JExp: 10
+ AttackRange: 6
+ Attack: [180, 200]
+ Def: 75
+ Mdef: 90
+ Stats: {
+ Str: 40
+ Agi: 15
+ Vit: 35
+ Int: 10
+ Dex: 270
+ Luk: 250
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Race: 0
+ Element: (0, 2)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ CanAttack: true
+ ChangeChase: true
+ }
+ MoveSpeed: 900
+ AttackDelay: 1300
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ ChocolateBar: 6000
+ ChocolateBar: 3600
+ ChocolateBar: 1000
+ ChocolateBiscuit: 800
+ ChocolateMouboo: 40
+ LOFCoin: 10
+ ChocolateDye: 8
+ }
+ WeaponAttacks: {
+ All: 4000
+ Bows: 3000
+ }
+},
+{
+ Id: 1242
+ SpriteName: "WhiteSlimeMother"
+ Name: "White Slime Mother"
+ Lv: 66
+ Hp: 6000
+ Sp: 0
+ Exp: 875
+ JExp: 15
+ AttackRange: 6
+ Attack: [185, 205]
+ Def: 77
+ Mdef: 92
+ Stats: {
+ Str: 40
+ Agi: 25
+ Vit: 35
+ Int: 10
+ Dex: 300
+ Luk: 275
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Race: 0
+ Element: (6, 2)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ CanAttack: true
+ ChangeChase: true
+ }
+ MoveSpeed: 880
+ AttackDelay: 1300
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ PresentBox: 2000
+ TinOre: 180
+ SilverOre: 120
+ TitaniumOre: 60
+ Diamond: 22
+ SilverMirror: 6
+ }
+ WeaponAttacks: {
+ All: 4000
+ Bows: 3000
+ }
+ EleResist: {
+ Ele_System: 1000
+ }
+},
+{
+ Id: 1243
+ SpriteName: "AzulSlimeMother"
+ Name: "Azul Slime Mother"
+ Lv: 67
+ Hp: 6250
+ Sp: 0
+ Exp: 900
+ JExp: 15
+ AttackRange: 6
+ Attack: [200, 225]
+ Def: 80
+ Mdef: 95
+ Stats: {
+ Str: 40
+ Agi: 30
+ Vit: 35
+ Int: 10
+ Dex: 300
+ Luk: 275
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Race: 0
+ Element: (1, 3)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ CanAttack: true
+ ChangeChase: true
+ }
+ MoveSpeed: 860
+ AttackDelay: 1300
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ IceCube: 400
+ IcedBottle: 22
+ Dagger: 12
+ IceGladius: 3
+ }
+ WeaponAttacks: {
+ All: 3800
+ Bows: 2900
+ }
+},
+{
+ Id: 1244
+ SpriteName: "SeaSlimeMother"
+ Name: "Sea Slime Mother"
+ Lv: 68
+ Hp: 6750
+ Sp: 0
+ Exp: 950
+ JExp: 20
+ AttackRange: 6
+ Attack: [225, 250]
+ Def: 82
+ Mdef: 97
+ Stats: {
+ Str: 40
+ Agi: 35
+ Vit: 35
+ Int: 10
+ Dex: 300
+ Luk: 275
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Race: 0
+ Element: (1, 3)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ CanAttack: true
+ ChangeChase: true
+ }
+ MoveSpeed: 840
+ AttackDelay: 1300
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ Arrow: 7000
+ IronArrow: 2000
+ SeaDrops: 380
+ BlueCoral: 280
+ Aquada: 220
+ Candy: 200
+ Orange: 160
+ Pearl: 140
+ BugLeg: 100
+ MysteriousBottle: 24
+ }
+ WeaponAttacks: {
+ All: 3600
+ Bows: 2800
+ }
+},
+{
+ Id: 1245
+ SpriteName: "LavaSlimeMother"
+ Name: "Lava Slime Mother"
+ Lv: 69
+ Hp: 7500
+ Sp: 0
+ Exp: 1100
+ JExp: 30
+ AttackRange: 6
+ Attack: [250, 275]
+ Def: 85
+ Mdef: 100
+ Stats: {
+ Str: 40
+ Agi: 40
+ Vit: 35
+ Int: 10
+ Dex: 300
+ Luk: 275
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Race: 0
+ Element: (3, 3)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ CanAttack: true
+ ChangeChase: true
+ }
+ MoveSpeed: 820
+ AttackDelay: 1300
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ Coal: 900
+ CasinoCoins: 888
+ IronOre: 600
+ CasinoCoins: 444
+ MinerHat: 36
+ LavaManaPearl: 2
+ }
+ WeaponAttacks: {
+ All: 3400
+ Bows: 2700
+ }
+},
+{
+ Id: 1246
+ SpriteName: "BlackSlimeMother"
+ Name: "Black Slime Mother"
+ Lv: 72
+ Hp: 8000
+ Sp: 0
+ Exp: 1400
+ JExp: 40
+ AttackRange: 6
+ Attack: [275, 300]
+ Def: 90
+ Mdef: 105
+ Stats: {
+ Str: 40
+ Agi: 50
+ Vit: 35
+ Int: 10
+ Dex: 300
+ Luk: 275
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Race: 0
+ Element: (7, 3)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ CanAttack: true
+ ChangeChase: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 1300
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ Coal: 660
+ Coal: 440
+ Coal: 220
+ LeadOre: 16
+ LOFCoin: 12
+ BlackPearl: 2
+ }
+ WeaponAttacks: {
+ All: 3200
+ Bows: 2500
+ }
+},
+{
+ Id: 1247
+ SpriteName: "GreatMoubooSlime"
+ Name: "Great Mouboo Slime"
+ Lv: 75
+ Hp: 9000
+ Sp: 0
+ Exp: 1800
+ JExp: 50
+ AttackRange: 7
+ Attack: [300, 350]
+ Def: 100
+ Mdef: 110
+ Stats: {
+ Str: 40
+ Agi: 67
+ Vit: 35
+ Int: 10
+ Dex: 300
+ Luk: 275
+ }
+ ViewRange: 11
+ ChaseRange: 13
+ Race: 0
+ Element: (6, 3)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ CanAttack: true
+ ChangeChase: true
+ }
+ MoveSpeed: 750
+ AttackDelay: 1290
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ Milk: 400
+ RedApple: 140
+ ChocolateBar: 116
+ CasinoCoins: 100
+ ChocolateMouboo: 40
+ MoubooFigurine: 20
+ }
+ WeaponAttacks: {
+ All: 3000
+ Bows: 2000
+ }
+},
+{
+ Id: 1248
+ SpriteName: "EliteDuck"
+ Name: "Elite Duck"
+ Lv: 75
+ Hp: 10000
+ Sp: 0
+ Exp: 1800
+ JExp: 60
+ AttackRange: 2
+ Attack: [170, 195]
+ Def: 50
+ Mdef: 180
+ WalkMask: "WALK_WATER"
+ Stats: {
+ Str: 200
+ Agi: 250
+ Vit: 10
+ Int: 42
+ Dex: 48
+ Luk: 200
+ }
+ ViewRange: 5
+ ChaseRange: 12
+ Race: 2
+ Element: (3, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 225
+ AttackDelay: 500
+ AttackMotion: 472
+ DamageMotion: 200
+ Drops: {
+ CherryCake: 1005
+ BugLeg: 400
+ Moss: 375
+ DuckFeather: 100
+ CommonCarp: 52
+ GrassCarp: 11
+ Lightsaber: 1
+ PowerfulLightsaber: 1
+ }
+},
+{
+ Id: 1249
+ SpriteName: "PinkieMaximus"
+ Name: "Pinkie Maximus"
+ Lv: 120
+ Hp: 20000
+ Exp: 14000
+ JExp: 120
+ AttackRange: 1
+ Attack: [575, 600]
+ Def: 306
+ Mdef: 47
+ Race: 2
+ Element: (0, 3)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ CanAttack: true
+ Angry: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1100
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ PinkAntenna: 880
+ CherryCake: 400
+ PinkieLeg: 500
+ PurificationPotion: 70
+ CasinoCoins: 25
+ PinkieHat: 2
+ }
+},
+
+// WARNING: ID 1250~1400 PERMANENTLY RESERVED - USE PROHIBTED
+// Reserved
+{
+ Id: 1400
+ SpriteName: "FortressGate"
+ Name: "Fortress Gate"
+ Lv: 100
+ Hp: 200000
+ Exp: 10000
+ Def: 100
+ Mdef: 100
+ Race: 3
+ Element: (2, 1)
+ Stats: {
+ Luk: 127
+ }
+ Mode: {
+ CanMove: false
+ CanAttack: false
+ Boss: true
+ }
+ WeaponAttacks: {
+ All: 6000
+ }
+},
+{
+ Id: 1401
+ SpriteName: "FortressStatue"
+ Name: "Fortress Statue"
+ Lv: 100
+ Hp: 100000
+ Exp: 10000
+ Def: 100
+ Mdef: 100
+ Race: 3
+ Element: (2, 1)
+ Stats: {
+ Luk: 127
+ }
+ Mode: {
+ CanMove: false
+ CanAttack: false
+ Boss: true
+ }
+ WeaponAttacks: {
+ All: 6000
+ }
+},
+{
+ Id: 1402
+ SpriteName: "AzulSkullSlime"
+ Name: "Azul Skull Slime"
+ Lv: 70
+ Hp: 5700
+ Sp: 0
+ Exp: 1200
+ JExp: 30
+ AttackRange: 1
+ Attack: [154, 175]
+ Def: 2
+ Mdef: 36
+ Stats: {
+ Str: 40
+ Agi: 30
+ Vit: 35
+ Int: 10
+ Dex: 300
+ Luk: 275
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Race: 0
+ Element: (1, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ ChangeChase: true
+ CanAttack: true
+ }
+ MoveSpeed: 450
+ AttackDelay: 1002
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ IceCube: 200
+ IcedBottle: 11
+ Dagger: 6
+ IceGladius: 1
+ }
+ WeaponAttacks: {
+ All: 2000
+ }
+},
+{
+ Id: 1403
+ SpriteName: "YellowSkullSlime"
+ Name: "Yellow Skull Slime"
+ Lv: 74
+ Hp: 6000
+ Sp: 0
+ Exp: 1500
+ JExp: 40
+ AttackRange: 1
+ Attack: [160, 190]
+ Def: 2
+ Mdef: 38
+ Stats: {
+ Str: 40
+ Agi: 15
+ Vit: 35
+ Int: 10
+ Dex: 270
+ Luk: 250
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Race: 0
+ Element: (2, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ ChangeChase: true
+ CanAttack: true
+ }
+ MoveSpeed: 1100
+ AttackDelay: 800
+ AttackMotion: 172
+ DamageMotion: 180
+ Drops: {
+ Coal: 370
+ IronOre: 270
+ CactusDrink: 350
+ CactusPotion: 250
+ TreasureKey: 250
+ OrangeCupcake: 200
+ GoldOre: 100
+ CherryCake: 75
+ SharpKnife: 21
+ Topaz: 11
+ }
+ WeaponAttacks: {
+ All: 2000
+ }
+},
+{
+ Id: 1404
+ SpriteName: "RedSkullSlime"
+ Name: "Red Skull Slime"
+ Lv: 78
+ Hp: 6400
+ Sp: 0
+ Exp: 1900
+ JExp: 35
+ AttackRange: 1
+ Attack: [170, 200]
+ Def: 2
+ Mdef: 40
+ Stats: {
+ Str: 40
+ Agi: 15
+ Vit: 35
+ Int: 10
+ Dex: 270
+ Luk: 250
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Race: 0
+ Element: (3, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ ChangeChase: true
+ CanAttack: true
+ }
+ MoveSpeed: 900
+ AttackDelay: 1300
+ AttackMotion: 672
+ DamageMotion: 300
+ Drops: {
+ RedApple: 245
+ Knife: 175
+ Dagger: 86
+ TreasureKey: 55
+ MinerGloves: 36
+ Coal: 26
+ Boots: 24
+ Ruby: 5
+ }
+ WeaponAttacks: {
+ All: 2000
+ }
+},
+{
+ Id: 1405
+ SpriteName: "GreenSkullSlime"
+ Name: "Green Skull Slime"
+ Lv: 82
+ Hp: 6100
+ Sp: 0
+ Exp: 2600
+ JExp: 42
+ AttackRange: 6
+ Attack: [90, 100]
+ Def: 2
+ Mdef: 42
+ Stats: {
+ Str: 40
+ Agi: 15
+ Vit: 35
+ Int: 10
+ Dex: 270
+ Luk: 250
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Race: 0
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ ChangeChase: true
+ CanAttack: true
+ }
+ MoveSpeed: 900
+ AttackDelay: 1300
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ CoinBag: 390
+ CasinoCoins: 280
+ SharpKnife: 140
+ CactusDrink: 100
+ Dagger: 90
+ TreasureKey: 40
+ Emerald: 18
+ }
+ WeaponAttacks: {
+ All: 2000
+ }
+},
+{
+ Id: 1406
+ SpriteName: "CopperSkullSlime"
+ Name: "Copper Skull Slime"
+ Lv: 86
+ Hp: 7500
+ Sp: 0
+ Exp: 3400
+ JExp: 3
+ AttackRange: 1
+ Attack: [190, 220]
+ Def: 2
+ Mdef: 44
+ Stats: {
+ Str: 40
+ Agi: 15
+ Vit: 35
+ Int: 10
+ Dex: 270
+ Luk: 250
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Race: 0
+ Element: (2, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ ChangeChase: true
+ CanAttack: true
+ }
+ MoveSpeed: 800
+ AttackDelay: 1300
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ CopperOre: 800
+ TreasureKey: 400
+ TinOre: 200
+ Coal: 180
+ IronOre: 150
+ TitaniumOre: 20
+ CopperKey: 10
+ IridiumOre: 5
+ }
+ WeaponAttacks: {
+ All: 2000
+ }
+},
+{
+ Id: 1407
+ SpriteName: "LavaSkullSlime"
+ Name: "Lava Skull Slime"
+ Lv: 90
+ Hp: 8000
+ Sp: 0
+ Exp: 4600
+ JExp: 50
+ AttackRange: 1
+ Attack: [200, 240]
+ Def: 2
+ Mdef: 47
+ Stats: {
+ Str: 40
+ Agi: 40
+ Vit: 35
+ Int: 10
+ Dex: 300
+ Luk: 275
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Race: 0
+ Element: (3, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ ChangeChase: true
+ CanAttack: true
+ }
+ MoveSpeed: 750
+ AttackDelay: 1300
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ Coal: 450
+ CasinoCoins: 444
+ IronOre: 300
+ CasinoCoins: 222
+ MinerHat: 18
+ LavaManaPearl: 1
+ }
+ WeaponAttacks: {
+ All: 2000
+ }
+},
+{
+ Id: 1408
+ SpriteName: "BlackSkullSlime"
+ Name: "Black Skull Slime"
+ Lv: 94
+ Hp: 8500
+ Sp: 0
+ Exp: 5200
+ JExp: 54
+ AttackRange: 2
+ Attack: [200, 240]
+ Def: 2
+ Mdef: 49
+ Stats: {
+ Str: 40
+ Agi: 50
+ Vit: 35
+ Int: 10
+ Dex: 300
+ Luk: 275
+ }
+ ViewRange: 9
+ ChaseRange: 10
+ Race: 0
+ Element: (7, 1)
+ Mode: {
+ CanMove: true
+ Looter: true
+ Aggressive: true
+ ChangeChase: true
+ CanAttack: true
+ }
+ MoveSpeed: 750
+ AttackDelay: 1300
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ Coal: 220
+ Coal: 110
+ LeadOre: 8
+ LOFCoin: 5
+ BlackPearl: 1
+ }
+ WeaponAttacks: {
+ All: 2000
+ }
+},
+{
+ Id: 1409
+ SpriteName: "Tengu"
+ Name: "Tengu"
+ Lv: 130
+ Hp: 27700
+ Exp: 15700
+ JExp: 130
+ AttackRange: 2
+ Attack: [482, 500]
+ Def: 316
+ Mdef: 48
+ Race: 2
+ Element: (0, 1)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ WhiteFur: 3700
+ WhiteFur: 2400
+ AnimalBones: 800
+ SilverOre: 240
+ SilverOre: 200
+ TitaniumOre: 90
+ }
+},
+{
+ Id: 1410
+ SpriteName: "Golem"
+ Name: "Golem"
+ Lv: 150
+ Hp: 37000
+ Exp: 18000
+ JExp: 150
+ AttackRange: 2
+ Attack: [500, 590]
+ Def: 338
+ Mdef: 51
+ Race: 2
+ Element: (0, 1)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ Coal: 320
+ Pearl: 240
+ Ruby: 200
+ Topaz: 160
+ Emerald: 120
+ Diamond: 80
+ TitaniumOre: 60
+ Amethyst: 40
+ Sapphire: 20
+ EarthPowder: 1
+ }
+},
+{
+ Id: 1411
+ SpriteName: "FireElement"
+ Name: "Fire Element"
+ Lv: 160
+ Hp: 42000
+ Exp: 18200
+ JExp: 160
+ AttackRange: 2
+ Attack: [500, 600]
+ Def: 349
+ Mdef: 57
+ Race: 2
+ Element: (3, 4)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ FluoPowder: 900
+ FluoPowder: 50
+ }
+},
+{
+ Id: 1412
+ SpriteName: "WaterElement"
+ Name: "Water Element"
+ Lv: 160
+ Hp: 42000
+ Exp: 18200
+ JExp: 160
+ AttackRange: 2
+ Attack: [500, 600]
+ Def: 349
+ Mdef: 57
+ Race: 2
+ Element: (1, 4)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ FluoPowder: 900
+ FluoPowder: 50
+ }
+},
+{
+ Id: 1413
+ SpriteName: "EarthElement"
+ Name: "Earth Element"
+ Lv: 160
+ Hp: 42000
+ Exp: 18200
+ JExp: 160
+ AttackRange: 2
+ Attack: [500, 600]
+ Def: 349
+ Mdef: 57
+ Race: 2
+ Element: (2, 4)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ FluoPowder: 900
+ FluoPowder: 50
+ }
+},
+{
+ Id: 1414
+ SpriteName: "WindElement"
+ Name: "Wind Element"
+ Lv: 160
+ Hp: 42000
+ Exp: 18200
+ JExp: 160
+ AttackRange: 2
+ Attack: [500, 600]
+ Def: 349
+ Mdef: 57
+ Race: 2
+ Element: (4, 4)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ FluoPowder: 900
+ FluoPowder: 50
+ }
+},
+{
+ Id: 1415
+ SpriteName: "SacredWisp"
+ Name: "Sacred Wisp"
+ Lv: 175
+ Hp: 50000
+ Exp: 18700
+ JExp: 175
+ AttackRange: 2
+ Attack: [535, 600]
+ Def: 366
+ Mdef: 54
+ Race: 2
+ Element: (6, 4)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ FluoPowder: 900
+ FluoPowder: 100
+ LightRing: 3
+ }
+},
+{
+ Id: 1416
+ SpriteName: "EvilWisp"
+ Name: "Evil Wisp"
+ Lv: 175
+ Hp: 50000
+ Exp: 18700
+ JExp: 175
+ AttackRange: 2
+ Attack: [535, 600]
+ Def: 366
+ Mdef: 54
+ Race: 2
+ Element: (7, 4)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ FluoPowder: 900
+ FluoPowder: 100
+ ThetaRing: 1
+ }
+},
+{
+ Id: 1417
+ SpriteName: "PanthomWisp"
+ Name: "Panthom Wisp"
+ Lv: 175
+ Hp: 50000
+ Exp: 18700
+ JExp: 175
+ AttackRange: 2
+ Attack: [535, 600]
+ Def: 366
+ Mdef: 54
+ Race: 2
+ Element: (8, 4)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ FluoPowder: 900
+ FluoPowder: 100
+ ThetaRing: 1
+ }
+},
+{
+ Id: 1418
+ SpriteName: "EpiphanyWisp"
+ Name: "Epiphany Wisp"
+ Lv: 175
+ Hp: 50000
+ Exp: 18700
+ JExp: 175
+ AttackRange: 2
+ Attack: [535, 600]
+ Def: 366
+ Mdef: 54
+ Race: 2
+ Element: (0, 4)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ FluoPowder: 900
+ FluoPowder: 100
+ LightRing: 2
+ }
+},
+{
+ Id: 1419
+ SpriteName: "PinkieSuseran"
+ Name: "Pinkie Suseran"
+ Lv: 110
+ Hp: 18000
+ Exp: 10000
+ JExp: 120
+ AttackRange: 2
+ Attack: [493, 500]
+ Def: 295
+ Mdef: 45
+ Race: 2
+ Element: (0, 3)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1072
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ PinkAntenna: 800
+ CherryCake: 400
+ PinkieLeg: 500
+ PurificationPotion: 70
+ CasinoCoins: 20
+ PinkieHat: 1
+ }
+},
+{
+ Id: 1420
+ SpriteName: "PinkieEmperor"
+ Name: "Pinkie Emperor"
+ Lv: 150
+ Hp: 50000
+ Exp: 47000
+ JExp: 800
+ AttackRange: 2
+ Attack: [700, 800]
+ Def: 340
+ Mdef: 102
+ Race: 2
+ Element: (0, 4)
+ Stats: {
+ Str: 199
+ Agi: 199
+ Vit: 199
+ Int: 199
+ Dex: 199
+ Luk: 199
+ }
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Boss: true
+ Assist: true
+ Detector: true
+ ChangeChase: true
+ CastSensorChase: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ PinkAntenna: 900
+ CherryCake: 1200
+ PinkieLeg: 700
+ PurificationPotion: 250
+ PinkieCrystal: 1
+ }
+},
+{
+ Id: 1421
+ SpriteName: "Jhon"
+ Name: "Jhon Longnose"
+ Lv: 115
+ Hp: 21350
+ Exp: 12600
+ JExp: 125
+ AttackRange: 5
+ Attack: [310, 350]
+ Def: 150
+ Mdef: 40
+ Race: 2
+ Element: (4, 1)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ Fungus: 200
+ }
+},
+{
+ Id: 1422
+ SpriteName: "Junglefowl"
+ Name: "Junglefowl"
+ Lv: 125
+ Hp: 25500
+ Exp: 15000
+ JExp: 125
+ AttackRange: 2
+ Attack: [475, 500]
+ Def: 311
+ Mdef: 47
+ Race: 2
+ Element: (4, 1)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ ChickenLeg: 520
+ Fungus: 220
+ }
+},
+{
+ Id: 1423
+ SpriteName: "Mandragora"
+ Name: "Mandragora"
+ Lv: 115
+ Hp: 21350
+ Exp: 12600
+ JExp: 125
+ AttackRange: 2
+ Attack: [470, 500]
+ Def: 300
+ Mdef: 46
+ Race: 2
+ Element: (0, 1)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ Fungus: 180
+ Sapphire: 30
+ }
+},
+{
+ Id: 1424
+ SpriteName: "SuperiorShroom"
+ Name: "Superior Shroom"
+ Lv: 135
+ Hp: 30000
+ Exp: 16000
+ JExp: 135
+ AttackRange: 2
+ Attack: [490, 540]
+ Def: 322
+ Mdef: 49
+ Race: 2
+ Element: (0, 1)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ MushroomSpores: 1200
+ SmallMushroom: 900
+ Curshroom: 180
+ Fungus: 80
+ }
+},
+{
+ Id: 1425
+ SpriteName: "Nutcracker"
+ Name: "Nutcracker"
+ Lv: 140
+ Hp: 32200
+ Exp: 17000
+ JExp: 140
+ AttackRange: 2
+ Attack: [500, 570]
+ Def: 327
+ Mdef: 49
+ Race: 2
+ Element: (0, 1)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ Acorn: 4000
+ Acorn: 3000
+ Acorn: 2000
+ Acorn: 1000
+ }
+},
+{
+ Id: 1426
+ SpriteName: "Snail"
+ Name: "Snail"
+ Lv: 107
+ Hp: 18200
+ Exp: 8700
+ JExp: 107
+ AttackRange: 2
+ Attack: [460, 500]
+ Def: 292
+ Mdef: 45
+ Race: 2
+ Element: (2, 1)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 1200
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ ArtichokeHerb: 2800
+ Fungus: 40
+ }
+},
+{
+ Id: 1427
+ SpriteName: "SnowFlower"
+ Name: "Snow Flower"
+ Lv: 60
+ Hp: 200000
+ Exp: 10000
+ JExp: 100
+ AttackRange: 2
+ Attack: [100, 200]
+ Def: 100
+ Mdef: 100
+ Race: 2
+ Element: (1, 1)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+},
+{
+ Id: 1428
+ SpriteName: "GreenhornAbomination"
+ Name: "Greenhorn Abomination"
+ Lv: 150
+ Hp: 37000
+ Exp: 18500
+ JExp: 150
+ AttackRange: 2
+ Attack: [500, 600]
+ Def: 300
+ Mdef: 50
+ Race: 2
+ Element: (8, 1)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 127
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ LettuceLeaf: 800
+ FluoPowder: 240
+ Emerald: 40
+ Fungus: 10
+ }
+},
+{
+ Id: 1429
+ SpriteName: "ShadowTortuga"
+ Name: "Shadow Tortuga"
+ Lv: 150
+ Hp: 37200
+ Exp: 18500
+ JExp: 150
+ AttackRange: 2
+ Attack: [510, 600]
+ Def: 300
+ Mdef: 69
+ Race: 2
+ Element: (7, 3)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ ShadowHerb: 8000
+ Coal: 180
+ Amethyst: 20
+ DeathPotion: 10
+ }
+},
+{
+ Id: 1430
+ SpriteName: "PanthomLord"
+ Name: "Panthom Lord"
+ Lv: 150
+ Hp: 52000
+ Exp: 45000
+ JExp: 600
+ AttackRange: 2
+ Attack: [600, 800]
+ Def: 330
+ Mdef: 100
+ Race: 2
+ Element: (8, 4)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ Boss: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 7
+ ChaseRange: 11
+ Drops: {
+ DeathPotion: 1000
+ ThetaRing: 3
+ }
+},
+{
+ Id: 1431
+ SpriteName: "DemureFirstForm"
+ Name: "Demure First Form"
+ Lv: 101
+ Hp: 68800
+ Sp: 133
+ Exp: 3500
+ JExp: 100
+ AttackRange: 1
+ Attack: [180, 220]
+ Def: 36
+ Mdef: 26
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 4
+ Agi: 67
+ Vit: 10
+ Int: 26
+ Dex: 100
+ Luk: 70
+ }
+ ViewRange: 27
+ ChaseRange: 28
+ Race: 11
+ Element: (6, 4)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Boss: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ Detector: true
+ NoKnockback: true
+ Aggressive: true
+ }
+ MoveSpeed: 123
+ AttackDelay: 124
+ AttackMotion: 124
+ DamageMotion: 200
+ Drops: {
+ DragonScales: 1800
+ Dragonfruit: 700
+ GoldenApple: 100
+ DragonStar: 2
+ }
+ // Better defense against all type of weapons
+ WeaponAttacks: {
+ All: 8500
+ }
+},
+{
+ Id: 1432
+ SpriteName: "DemureSecondForm"
+ Name: "Demure Second Form"
+ Lv: 115
+ Hp: 128000
+ Sp: 3248
+ Exp: 7015
+ JExp: 150
+ AttackRange: 3
+ Attack: [500, 600]
+ Def: 80
+ Mdef: 105
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 80
+ Agi: 30
+ Vit: 80
+ Int: 120
+ Dex: 200
+ Luk: 90
+ }
+ ViewRange: 15
+ ChaseRange: 15
+ Race: 9
+ Element: (7, 4)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Boss: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ Detector: true
+ NoKnockback: true
+ Aggressive: true
+ }
+ MoveSpeed: 420
+ AttackDelay: 1600
+ AttackMotion: 472
+ DamageMotion: 380
+ Drops: {
+ Wurtzite: 10000
+ DragonScales: 8000
+ Dragonfruit: 3000
+ BronzeBossGift: 2000
+ SilverBossGift: 1000
+ DragonStar: 2
+ TitaniumIngot: 1
+ }
+ // Good defense against all type of weapons
+ WeaponAttacks: {
+ All: 2500
+ }
+ // Most powerful attack skills are almost entirely nullified
+ EleResist: {
+ Ele_All: 5000
+ }
+},
+{
+ Id: 1433
+ SpriteName: "ArmoredSkeleton"
+ Name: "Armored Skeleton"
+ Lv: 48
+ Hp: 5775
+ Sp: 0
+ Exp: 305
+ JExp: 2
+ AttackRange: 1
+ Attack: [294, 317]
+ Def: 47
+ Mdef: 8
+ Stats: {
+ Str: 17
+ Agi: 28
+ Vit: 33
+ Int: 11
+ Dex: 33
+ Luk: 19
+ }
+ ViewRange: 8
+ ChaseRange: 11
+ Race: 1
+ Element: (7, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 340
+ AttackDelay: 1800
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ IronArrow: 3500
+ Skull: 900
+ Bone: 800
+ Bone: 450
+ Bone: 200
+ DarkCrystal: 250
+ SkullBloodyMug: 100
+ PileOfAsh: 95
+ CursedSkull: 1
+ }
+},
+{
+ Id: 1434
+ SpriteName: "PiouKnight"
+ Name: "Piou Knight"
+ Lv: 45
+ Hp: 10238
+ Sp: 0
+ Exp: 222
+ JExp: 45
+ AttackRange: 1
+ Attack: [356, 524]
+ Def: 46
+ Mdef: 27
+ Stats: {
+ Str: 22
+ Agi: 33
+ Vit: 46
+ Int: 1
+ Dex: 41
+ Luk: 27
+ }
+ ViewRange: 3
+ ChaseRange: 12
+ Race: 2
+ Element: (4, 2)
+ Mode: {
+ CanMove: true
+ Assist: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 200
+ AttackDelay: 1120
+ AttackMotion: 1672
+ DamageMotion: 100
+ Drops: {
+ PiouFeathers: 3300
+ PiouLegs: 3700
+ }
+},
+{
+ Id: 1435
+ SpriteName: "Shrewboo"
+ Name: "Shrewboo"
+ Lv: 45
+ Hp: 5420
+ Sp: 0
+ Exp: 370
+ JExp: 20
+ AttackRange: 1
+ Attack: [400, 445]
+ Def: 46
+ Mdef: 41
+ Stats: {
+ Str: 22
+ Agi: 38
+ Vit: 46
+ Int: 16
+ Dex: 41
+ Luk: 45
+ }
+ ViewRange: 3
+ ChaseRange: 14
+ Race: 2
+ Element: (0, 2)
+ Mode: {
+ CanMove: true
+ Assist: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 2072
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ CasinoCoins: 1100
+ RedApple: 400
+ MoubooSteak: 375
+ ChocolateBar: 300
+ ChocolateMouboo: 200
+ ChocolateBar: 15
+ }
+},
+{
+ Id: 1436
+ SpriteName: "MisterPrickel"
+ Name: "Mister Prickel"
+ Lv: 40
+ Hp: 4822
+ Sp: 0
+ Exp: 172
+ JExp: 11
+ AttackRange: 1
+ Attack: [250, 275]
+ Def: 23
+ Mdef: 33
+ Stats: {
+ Str: 20
+ Agi: 40
+ Vit: 55
+ Int: 1
+ Dex: 20
+ Luk: 30
+ }
+ ChaseRange: 12
+ Race: 2
+ Element: (0, 2)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 452
+ DamaeMotion: 480
+ Drops: {
+ HardSpike: 800
+ RawLog: 700
+ BugLeg: 600
+ DarkDesertMushroom: 1
+ }
+},
+{
+ Id: 1437
+ SpriteName: "SmallFrog"
+ Name: "Small Frog"
+ Lv: 9
+ Hp: 1100
+ Sp: 0
+ Exp: 9
+ JExp: 0
+ AttackRange: 1
+ Attack: [90, 100]
+ Def: 19
+ Mdef: 3
+ Stats: {
+ Str: 10
+ Agi: 15
+ Vit: 25
+ Int: 1
+ Dex: 15
+ Luk: 20
+ }
+ ViewRange: 5
+ ChaseRange: 10
+ Size: 0
+ Race: 2
+ Element: (5, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 600
+ AttackDelay: 1976
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ MaggotSlime: 600
+ BugLeg: 200
+ Moss: 200
+ }
+},
+{
+ Id: 1438
+ SpriteName: "BigFrog"
+ Name: "Big Frog"
+ Lv: 10
+ Hp: 1200
+ Sp: 0
+ Exp: 10
+ JExp: 0
+ AttackRange: 1
+ Attack: [90, 100]
+ Def: 19
+ Mdef: 3
+ Stats: {
+ Str: 10
+ Agi: 15
+ Vit: 25
+ Int: 1
+ Dex: 15
+ Luk: 20
+ }
+ ViewRange: 5
+ ChaseRange: 10
+ Size: 0
+ Race: 2
+ Element: (5, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ }
+ MoveSpeed: 500
+ AttackDelay: 1976
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ MaggotSlime: 700
+ BugLeg: 300
+ Moss: 300
+ }
+},
+{
+ Id: 1439
+ SpriteName: "SpiderQueen"
+ Name: "Spider Queen"
+ Lv: 45
+ Hp: 7000
+ Sp: 0
+ Exp: 120
+ JExp: 125
+ AttackRange: 3
+ Attack: [250, 300]
+ Def: 120
+ Mdef: 80
+ Stats: {
+ Str: 40
+ Agi: 30
+ Vit: 50
+ Int: 15
+ Dex: 65
+ Luk: 40
+ }
+ ViewRange: 8
+ ChaseRange: 15
+ Size: 0
+ Race: 2
+ Element: (5, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ CastSensorChase: true
+ ChangeChase: true
+ Boss: true
+ Angry: true
+ Aggressive: true
+ }
+ MoveSpeed: 210
+ AttackDelay: 1200
+ AttackMotion: 550
+ DamageMotion: 450
+ Drops: {
+ BugLeg: 2500
+ MaggotSlime: 2000
+ IronOre: 600
+ Coal: 500
+ CopperOre: 150
+ SilverOre: 100
+ BronzeBossGift: 10
+ }
+},
+{
+ Id: 1440
+ SpriteName: "Snowman"
+ Name: "Snowman"
+ Lv: 45
+ Hp: 5500
+ Sp: 0
+ Exp: 225
+ JExp: 20
+ AttackRange: 1
+ Attack: [500, 593]
+ Def: 20
+ Mdef: 30
+ Stats: {
+ Str: 22
+ Agi: 30
+ Vit: 46
+ Int: 30
+ Dex: 40
+ Luk: 25
+ }
+ ViewRange: 12
+ ChaseRange: 16
+ Race: 8
+ Element: (1, 2)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ Aggressive: true
+ }
+ MoveSpeed: 320
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ IceCube: 500
+ IceCube: 210
+ IcedBottle: 55
+ IceGladius: 1
+ }
+},
+{
+ Id: 1441
+ SpriteName: "SnowmanBoss"
+ Name: "Der Schneemann"
+ Lv: 160
+ Hp: 42000
+ Exp: 18200
+ JExp: 160
+ AttackRange: 4
+ Attack: [500, 600]
+ Def: 349
+ Mdef: 57
+ Race: 8
+ Element: (8, 1)
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ Boss: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 1000
+ AttackMotion: 672
+ DamageMotion: 200
+ ViewRange: 14
+ ChaseRange: 18
+ Drops: {
+ FluoPowder: 900
+ FluoPowder: 50
+ }
+ WeaponAttacks: {
+ All: 4000
+ Bows: 2000
+ }
+ EleResist: {
+ Ele_Neutral: 5000
+ Ele_Water: 2500
+ Ele_Fire: 10000
+ Ele_Wind: 10000
+ Ele_Earth: 7500
+ Ele_Holy: 7500
+ Ele_Dark: 7500
+ Ele_Ghost: 7500
+ }
+},
+{
+ Id: 1442
+ SpriteName: "Thug"
+ Name: "Thug"
+ Lv: 45
+ Hp: 5420
+ Sp: 0
+ Exp: 272
+ JExp: 20
+ AttackRange: 1
+ Attack: [365, 404]
+ Def: 64
+ Mdef: 22
+ Stats: {
+ Str: 22
+ Agi: 30
+ Vit: 46
+ Int: 30
+ Dex: 50
+ Luk: 70
+ }
+ ViewRange: 12
+ ChaseRange: 16
+ Race: 2
+ Element: (7, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ Aggressive: true
+ Angry: true
+ Looter: true
+ }
+ MoveSpeed: 440
+ AttackDelay: 1672
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Beer: 500
+ CoinBag: 400
+ CasinoCoins: 200
+ TreasureKey: 100
+ Lockpicks: 40
+ GoldPieces: 3
+ }
+},
+{
+ Id: 1443
+ SpriteName: "Swashbuckler"
+ Name: "Swashbuckler"
+ Lv: 45
+ Hp: 5420
+ Sp: 0
+ Exp: 272
+ JExp: 20
+ AttackRange: 1
+ Attack: [277, 307]
+ Def: 64
+ Mdef: 22
+ Stats: {
+ Str: 22
+ Agi: 30
+ Vit: 46
+ Int: 30
+ Dex: 90
+ Luk: 60
+ }
+ ViewRange: 12
+ ChaseRange: 16
+ Race: 2
+ Element: (7, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ Aggressive: true
+ Angry: true
+ Looter: true
+ }
+ MoveSpeed: 375
+ AttackDelay: 1272
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Beer: 500
+ CoinBag: 400
+ CasinoCoins: 200
+ TreasureKey: 100
+ Lockpicks: 40
+ GoldPieces: 3
+ }
+},
+{
+ Id: 1444
+ SpriteName: "Grenadier"
+ Name: "Grenadier"
+ Lv: 47
+ Hp: 5200
+ Sp: 0
+ Exp: 295
+ JExp: 22
+ AttackRange: 6
+ Attack: [259, 288]
+ Def: 33
+ Mdef: 23
+ Stats: {
+ Str: 22
+ Agi: 10
+ Vit: 46
+ Int: 60
+ Dex: 110
+ Luk: 75
+ }
+ ViewRange: 12
+ ChaseRange: 16
+ Race: 2
+ Element: (7, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ Aggressive: true
+ Angry: true
+ Looter: true
+ }
+ MoveSpeed: 470
+ AttackDelay: 2272
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ Beer: 500
+ CoinBag: 400
+ CasinoCoins: 200
+ TreasureKey: 100
+ Lockpicks: 40
+ GoldPieces: 3
+ }
+},
+{
+ Id: 1445
+ SpriteName: "Marley"
+ Name: "Dreaded Pirate Marley"
+ Lv: 72
+ Hp: 12000
+ Exp: 1250
+ JExp: 100
+ AttackRange: 4
+ Attack: [210, 280]
+ Def: 57
+ Mdef: 74
+ Stats: {
+ Str: 99
+ Agi: 49
+ Vit: 99
+ Int: 99
+ Dex: 150
+ Luk: 120
+ }
+ ViewRange: 14
+ ChaseRange: 18
+ Race: 2
+ Element: (7, 2)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ ChangeChase: true
+ ChangeTargetChase: true
+ ChangeTargetMelee: true
+ CanAttack: true
+ CastSensorChase: true
+ Angry: true
+ Boss: true
+ }
+ MoveSpeed: 400
+ AttackDelay: 700
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ CoinBag: 2000
+ TreasureMap: 1400
+ TreasureKey: 900
+ BronzeBossGift: 400
+ GoldPieces: 200
+ Lockpicks: 100
+ Beer: 50
+ }
+ WeaponAttacks: {
+ All: 7000
+ }
+},
+{
+ Id: 1446
+ SpriteName: "Brainic"
+ Name: "Brainic"
+ Lv: 88
+ Hp: 13000
+ Sp: 0
+ Exp: 4800
+ JExp: 88
+ AttackRange: 1
+ Attack: [810, 840]
+ Def: 136
+ Mdef: 22
+ Stats: {
+ Str: 50
+ Agi: 70
+ Vit: 50
+ Int: 30
+ Dex: 70
+ Luk: 41
+ }
+ ViewRange: 12
+ ChaseRange: 16
+ Race: 0
+ Element: (8, 2)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ Aggressive: true
+ Angry: true
+ TargetWeak: true
+ Assist: true
+ }
+ MoveSpeed: 360
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ Brainstem: 450
+ }
+},
+{
+ Id: 1447
+ SpriteName: "Luvia"
+ Name: "Luvia"
+ Lv: 110
+ Hp: 54000
+ Sp: 0
+ Exp: 17000
+ JExp: 100
+ AttackRange: 8
+ Attack: [620, 670]
+ Def: 45
+ Mdef: 127
+ Stats: {
+ Str: 12
+ Agi: 63
+ Vit: 88
+ Int: 110
+ Dex: 141
+ Luk: 77
+ }
+ ViewRange: 9
+ ChaseRange: 12
+ Race: 2
+ Element: (7, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ Boss: true
+ }
+ MoveSpeed: 320
+ AttackDelay: 2100
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ CoinBag: 4000
+ BronzeBossGift: 1000
+ SilverBossGift: 200
+ GoldenBossGift: 25
+ }
+},
+{
+ Id: 1448
+ SpriteName: "RedFollowerF"
+ Name: "Red Follower (F)"
+ Lv: 65
+ Hp: 8772
+ Sp: 0
+ Exp: 992
+ JExp: 30
+ AttackRange: 2
+ Attack: [530, 550]
+ Def: 27
+ Mdef: 22
+ Stats: {
+ Str: 33
+ Agi: 50
+ Vit: 60
+ Int: 1
+ Dex: 61
+ Luk: 29
+ }
+ ViewRange: 7
+ ChaseRange: 12
+ Race: 2
+ Element: (7, 1)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 600
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ CoinBag: 500
+ DarkCrystal: 24
+ Pearl: 20
+ Ruby: 15
+ }
+},
+{
+ Id: 1449
+ SpriteName: "RedFollower"
+ Name: "Red Follower (M)"
+ Lv: 65
+ Hp: 8772
+ Sp: 0
+ Exp: 992
+ JExp: 30
+ AttackRange: 2
+ Attack: [530, 550]
+ Def: 27
+ Mdef: 22
+ Stats: {
+ Str: 33
+ Agi: 50
+ Vit: 60
+ Int: 1
+ Dex: 61
+ Luk: 29
+ }
+ ViewRange: 7
+ ChaseRange: 12
+ Race: 2
+ Element: (7, 1)
+ Mode: {
+ Aggressive: true
+ CanMove: true
+ CanAttack: true
+ ChangeChase: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 600
+ AttackDelay: 1872
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ CoinBag: 500
+ DarkCrystal: 24
+ Pearl: 20
+ Ruby: 15
+ }
+},
+{
+ Id: 1450
+ SpriteName: "RedQueen"
+ Name: "Platinum Red Queen"
+ Lv: 101
+ Hp: 57000
+ Sp: 0
+ Exp: 14000
+ JExp: 100
+ AttackRange: 8
+ Attack: [620, 670]
+ Def: 45
+ Mdef: 127
+ Stats: {
+ Str: 12
+ Agi: 63
+ Vit: 88
+ Int: 110
+ Dex: 141
+ Luk: 77
+ }
+ ViewRange: 9
+ ChaseRange: 12
+ Race: 2
+ Element: (7, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ Aggressive: true
+ Angry: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ CastSensorChase: true
+ Boss: true
+ }
+ MoveSpeed: 320
+ AttackDelay: 2100
+ AttackMotion: 672
+ DamageMotion: 200
+ Drops: {
+ CoinBag: 3500
+ BronzeBossGift: 800
+ SilverBossGift: 150
+ GoldenBossGift: 20
+ Bloodstone: 1
+ }
+},
+// System
+{
+ Id: 1491
+ SpriteName: "WanderingShadow"
+ Name: "Wandering Shadow"
+ Lv: 60
+ Hp: 9987
+ Sp: 1248
+ Exp: 1674
+ JExp: 168
+ AttackRange: 2
+ Attack: [380, 460]
+ Def: 75
+ Mdef: 75
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 30
+ Agi: 60
+ Vit: 62
+ Int: 0
+ Dex: 60
+ Luk: 33
+ }
+ ViewRange: 9
+ ChaseRange: 14
+ Race: 9
+ Element: (8, 2)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ Angry: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ Boss: true
+ }
+ MoveSpeed: 480
+ AttackDelay: 1600
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ HastePotion: 500
+ StrengthPotion: 500
+ }
+},
+{
+ Id: 1492
+ SpriteName: "Gladiator"
+ Name: "Gladiator"
+ Lv: 85
+ Hp: 13255
+ Sp: 0
+ Exp: 57
+ JExp: 10
+ AttackRange: 1
+ Attack: [81, 93]
+ Def: 80
+ Mdef: 90
+ Stats: {
+ Str: 50
+ Agi: 66
+ Vit: 76
+ Int: 30
+ Dex: 70
+ Luk: 41
+ }
+ ViewRange: 9
+ ChaseRange: 14
+ Race: 2
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ Aggressive: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 152
+ AttackDelay: 872
+ AttackMotion: 172
+ DamageMotion: 100
+ Drops: {
+ StrangeCoin: 1
+ }
+},
+{
+ Id: 1493
+ SpriteName: "GameMaster"
+ Name: "Game Master"
+ Lv: 150
+ Hp: 12000000
+ Def: 32767
+ Mdef: 32767
+ WalkMask: "WALK_AIR"
+ Race: 10
+ Element: (6, 4)
+ Mode: {
+ CanMove: true
+ CanAttack: false
+ SurviveWithoutMaster: true
+ }
+ MoveSpeed: 150
+ WeaponAttacks: {
+ All: 0
+ }
+},
+{
+ Id: 1494
+ SpriteName: "GameMistress"
+ Name: "Game Mistress"
+ Lv: 150
+ Hp: 12000000
+ Def: 32767
+ Mdef: 32767
+ WalkMask: "WALK_AIR"
+ Race: 10
+ Element: (6, 4)
+ Mode: {
+ CanMove: true
+ CanAttack: false
+ SurviveWithoutMaster: true
+ }
+ MoveSpeed: 150
+ WeaponAttacks: {
+ All: 0
+ }
+},
+{
+ Id: 1495
+ SpriteName: "MonsterSergeant"
+ Name: "Monster Sergeant"
+ Lv: 20
+ Hp: 3000
+ Sp: 1248
+ Exp: 54
+ JExp: 6
+ AttackRange: 2
+ Attack: [125, 150]
+ Def: 25
+ Mdef: 25
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 30
+ Agi: 20
+ Vit: 22
+ Int: 0
+ Dex: 20
+ Luk: 33
+ }
+ ViewRange: 9
+ ChaseRange: 14
+ Race: 9
+ Element: (7, 3)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ Angry: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ Boss: true
+ }
+ MoveSpeed: 500
+ AttackDelay: 1800
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ HastePotion: 500
+ StrengthPotion: 500
+ ArcmageBoxset: 200
+ }
+ WeaponAttacks: {
+ All: 8000
+ }
+},
+{
+ Id: 1496
+ SpriteName: "MonsterLieutenant"
+ Name: "Monster Lieutenant"
+ Lv: 40
+ Hp: 6070
+ Sp: 1248
+ Exp: 412
+ JExp: 42
+ AttackRange: 2
+ Attack: [255, 300]
+ Def: 50
+ Mdef: 50
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 30
+ Agi: 40
+ Vit: 42
+ Int: 0
+ Dex: 40
+ Luk: 33
+ }
+ ViewRange: 9
+ ChaseRange: 14
+ Race: 9
+ Element: (7, 3)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ Angry: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ Boss: true
+ }
+ MoveSpeed: 490
+ AttackDelay: 1700
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ ArcmageBoxset: 1000
+ HastePotion: 500
+ StrengthPotion: 500
+ }
+ WeaponAttacks: {
+ All: 8000
+ }
+},
+{
+ Id: 1497
+ SpriteName: "MonsterCaptain"
+ Name: "Monster Captain"
+ Lv: 60
+ Hp: 9987
+ Sp: 1248
+ Exp: 1674
+ JExp: 168
+ AttackRange: 2
+ Attack: [380, 460]
+ Def: 75
+ Mdef: 75
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 30
+ Agi: 60
+ Vit: 62
+ Int: 0
+ Dex: 60
+ Luk: 33
+ }
+ ViewRange: 9
+ ChaseRange: 14
+ Race: 9
+ Element: (7, 3)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ Angry: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ Boss: true
+ }
+ MoveSpeed: 480
+ AttackDelay: 1600
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ ArcmageBoxset: 2000
+ HastePotion: 500
+ StrengthPotion: 500
+ }
+ WeaponAttacks: {
+ All: 8000
+ }
+},
+{
+ Id: 1498
+ SpriteName: "MonsterColonel"
+ Name: "Monster Colonel"
+ Lv: 80
+ Hp: 14340
+ Sp: 1248
+ Exp: 5290
+ JExp: 530
+ AttackRange: 2
+ Attack: [512, 592]
+ Def: 100
+ Mdef: 100
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 30
+ Agi: 80
+ Vit: 62
+ Int: 0
+ Dex: 80
+ Luk: 33
+ }
+ ViewRange: 9
+ ChaseRange: 14
+ Race: 9
+ Element: (7, 3)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ Angry: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ Boss: true
+ }
+ MoveSpeed: 470
+ AttackDelay: 1500
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ ArcmageBoxset: 3500
+ BronzeBossGift: 500
+ HastePotion: 500
+ StrengthPotion: 500
+ }
+ WeaponAttacks: {
+ All: 8000
+ }
+},
+{
+ Id: 1499
+ SpriteName: "MonsterGeneral"
+ Name: "Monster General"
+ Lv: 100
+ Hp: 19555
+ Sp: 1248
+ Exp: 15062
+ JExp: 1500
+ AttackRange: 2
+ Attack: [645, 720]
+ Def: 150
+ Mdef: 150
+ WalkMask: "WALK_AIR"
+ Stats: {
+ Str: 30
+ Agi: 99
+ Vit: 72
+ Int: 0
+ Dex: 99
+ Luk: 33
+ }
+ ViewRange: 9
+ ChaseRange: 14
+ Race: 9
+ Element: (7, 3)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ Angry: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ Boss: true
+ }
+ MoveSpeed: 450
+ AttackDelay: 1400
+ AttackMotion: 672
+ DamageMotion: 480
+ Drops: {
+ ArcmageBoxset: 4500
+ BronzeBossGift: 1000
+ HastePotion: 500
+ StrengthPotion: 500
+ }
+ WeaponAttacks: {
+ All: 8000
+ }
+},
+{
+ Id: 1500
+ SpriteName: "MobMoubootaur"
+ Name: "The Moubootaur"
+ Lv: 999
+ Hp: 9999999
+ Sp: 999999
+ Exp: 999999
+ JExp: 9999
+ AttackRange: 1
+ Attack: [999, 1200]
+ Def: 99
+ Mdef: 99
+ Stats: {
+ Str: 99
+ Agi: 99
+ Vit: 99
+ Int: 99
+ Dex: 99
+ Luk: 99
+ }
+ ViewRange: 18
+ ChaseRange: 18
+ Race: 8
+ Element: (7, 4)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ Aggressive: true
+ CastSensorChase: true
+ Boss: true
+ }
+ MoveSpeed: 240
+ AttackDelay: 872
+ AttackMotion: 272
+ DamageMotion: 100
+ Drops: {
+ LegendaryMouboo: 1
+ }
+},
+{
+ Id: 1501
+ SpriteName: "CursedSoldier"
+ Name: "Cursed Foot Soldier"
+ Lv: 85
+ Hp: 13255
+ Sp: 0
+ Exp: 57
+ JExp: 10
+ AttackRange: 1
+ Attack: [81, 93]
+ Def: 80
+ Mdef: 90
+ Stats: {
+ Str: 50
+ Agi: 66
+ Vit: 76
+ Int: 30
+ Dex: 70
+ Luk: 41
+ }
+ ViewRange: 9
+ ChaseRange: 14
+ Race: 2
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ Aggressive: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 162
+ AttackDelay: 872
+ AttackMotion: 172
+ DamageMotion: 100
+ Drops: {
+ GuildCoin: 10
+ CottonCloth: 10
+ StrangeCoin: 1
+ }
+},
+{
+ Id: 1502
+ SpriteName: "CursedArcher"
+ Name: "Cursed Archer Soldier"
+ Lv: 85
+ Hp: 13255
+ Sp: 0
+ Exp: 57
+ JExp: 10
+ AttackRange: 6
+ Attack: [81, 93]
+ Def: 80
+ Mdef: 90
+ Stats: {
+ Str: 50
+ Agi: 66
+ Vit: 76
+ Int: 30
+ Dex: 70
+ Luk: 41
+ }
+ ViewRange: 9
+ ChaseRange: 14
+ Race: 2
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ Aggressive: true
+ CastSensorChase: true
+ }
+ MoveSpeed: 162
+ AttackDelay: 872
+ AttackMotion: 172
+ DamageMotion: 100
+ Drops: {
+ GuildCoin: 10
+ CottonCloth: 10
+ StrangeCoin: 1
+ }
+},
+{
+ Id: 1503
+ SpriteName: "GeneralKrukan"
+ Name: "General Krukan"
+ Lv: 85
+ Hp: 13255
+ Sp: 0
+ Exp: 57
+ JExp: 10
+ AttackRange: 1
+ Attack: [81, 93]
+ Def: 80
+ Mdef: 90
+ Stats: {
+ Str: 50
+ Agi: 66
+ Vit: 76
+ Int: 30
+ Dex: 70
+ Luk: 41
+ }
+ ViewRange: 9
+ ChaseRange: 14
+ Race: 2
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ Aggressive: true
+ CastSensorChase: true
+ Boss: true
+ }
+ MoveSpeed: 162
+ AttackDelay: 872
+ AttackMotion: 172
+ DamageMotion: 100
+ Drops: {
+ BronzeBossGift: 100
+ GuildCoin: 10
+ OperaMask: 1
+ }
+},
+{
+ Id: 1504
+ SpriteName: "GeneralRazha"
+ Name: "General Razha"
+ Lv: 85
+ Hp: 13255
+ Sp: 0
+ Exp: 57
+ JExp: 10
+ AttackRange: 1
+ Attack: [81, 93]
+ Def: 80
+ Mdef: 90
+ Stats: {
+ Str: 50
+ Agi: 66
+ Vit: 76
+ Int: 30
+ Dex: 70
+ Luk: 41
+ }
+ ViewRange: 9
+ ChaseRange: 14
+ Race: 2
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ Aggressive: true
+ CastSensorChase: true
+ Boss: true
+ }
+ MoveSpeed: 162
+ AttackDelay: 872
+ AttackMotion: 172
+ DamageMotion: 100
+ Drops: {
+ BronzeBossGift: 1000
+ SilverBossGift: 250
+ GoldenBossGift: 10
+ GuildCoin: 10
+ OperaMask: 1
+ }
+},
+{
+ Id: 1505
+ SpriteName: "GeneralTerogan"
+ Name: "General Terogan"
+ Lv: 85
+ Hp: 13255
+ Sp: 0
+ Exp: 57
+ JExp: 10
+ AttackRange: 1
+ Attack: [81, 93]
+ Def: 80
+ Mdef: 90
+ Stats: {
+ Str: 50
+ Agi: 66
+ Vit: 76
+ Int: 30
+ Dex: 70
+ Luk: 41
+ }
+ ViewRange: 9
+ ChaseRange: 14
+ Race: 2
+ Element: (0, 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeChase: true
+ Aggressive: true
+ CastSensorChase: true
+ Boss: true
+ }
+ MoveSpeed: 162
+ AttackDelay: 872
+ AttackMotion: 172
+ DamageMotion: 100
+ Drops: {
+ BronzeBossGift: 1000
+ SilverBossGift: 400
+ GoldenBossGift: 50
+ GuildCoin: 10
+ OperaMask: 1
+ }
+},
+// WARNING: ID 1900~2500 PERMANENTLY RESERVED - USE PROHIBTED
+)
diff --git a/db/re/mob_poring.txt b/db/re/mob_poring.txt
new file mode 100644
index 0000000..47b8926
--- /dev/null
+++ b/db/re/mob_poring.txt
@@ -0,0 +1,5 @@
+// Poring Box Summonable Monsters Database
+//
+// Structure of Database:
+// MobID,DummyName,Rate
+
diff --git a/db/re/mob_race2_db.txt b/db/re/mob_race2_db.txt
new file mode 100644
index 0000000..2f18294
--- /dev/null
+++ b/db/re/mob_race2_db.txt
@@ -0,0 +1,5 @@
+// Monster Racial Groups Database
+//
+// Structure of Database:
+// Race2ID,MobID1,MobID2,MobID3,...,MobID9
+
diff --git a/db/re/mob_skill_db.conf b/db/re/mob_skill_db.conf
new file mode 100644
index 0000000..98751b6
--- /dev/null
+++ b/db/re/mob_skill_db.conf
@@ -0,0 +1,2298 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2018 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/>.
+//=========================================================================
+//= Monster Skill Database
+//=========================================================================
+
+mob_skill_db:(
+{
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+ <Monster_Constant>: {
+ <Skill_Constant>: {
+ ClearSkills: (boolean, defaults to false) allows cleaning all previous defined skills for the mob.
+ SkillLevel: (int, defaults to 1)
+ SkillState: (int, defaults to 0)
+ SkillTarget: (int, defaults to 0)
+ Rate: (int, defaults to 1) Rate refers to the chance of the skill being casted when the condition is fulfilled.(10000 = 100%)
+ CastTime: (int, defaults to 0) CastTime is the time in milliseconds that has to be pass to casting skill
+ Delay: (int, defaults to 0) Delay is the time in milliseconds that has to be pass before recasting the same skill.
+ Cancelable: (boolean, defaults to false)
+ CastCondition: (int, defaults to 0)
+ ConditionData: (int, defaults to 0)
+ val0: (int, defaults to 0) Value 0
+ val1: (int, defaults to 0)
+ val2: (int, defaults to 0)
+ val3: (int, defaults to 0)
+ val4: (int, defaults to 0)
+ Emotion: (int, defaults to 0)
+ ChatMsgID: (int, defaults to 0)
+ }
+ }
+
+// STATE:
+// any (except dead) / idle (in standby) / walk (in movement) / dead (on killed) /
+// loot /attack / angry (like attack, except player has not attacked mob yet) /
+// chase (following target, after being attacked) / follow (following target,
+// without being attacked) / anytarget (attack+angry+chase+follow)
+SKILL_STATES = {
+ "any": "MSS_ANY",
+ "idle": "MSS_IDLE",
+ "walk": "MSS_WALK",
+ "loot": "MSS_LOOT",
+ "dead": "MSS_DEAD",
+ "attack": "MSS_BERSERK",
+ "angry": "MSS_ANGRY",
+ "chase": "MSS_RUSH",
+ "follow": "MSS_FOLLOW",
+ "anytarget": "MSS_ANYTARGET"
+}
+
+
+// TARGET:
+// target (current target) / self / friend / master / randomtarget (any enemy within skill's range)
+//
+// The following are for ground-skills, a random target tile is selected from the specified area:
+// around1 (3x3 area around self) / around2 (5x5 area around self) /
+// around3 (7x7 area around self) / around4 (9x9 area around self) /
+// around5 (3x3 area around target) / around6 (5x5 area around target) /
+// around7 (7x7 area around target) / around8 (9x9 area around target) /
+// around = around4
+SKILL_TARGET = {
+ "target": "MST_TARGET",
+ "randomtarget": "MST_RANDOM",
+ "self": "MST_SELF",
+ "friend": "MST_FRIEND",
+ "master": "MST_MASTER",
+ "around5": "MST_AROUND5",
+ "around6": "MST_AROUND6",
+ "around7": "MST_AROUND7",
+ "around8": "MST_AROUND8",
+ "around1": "MST_AROUND1",
+ "around2": "MST_AROUND2",
+ "around3": "MST_AROUND3",
+ "around4": "MST_AROUND4",
+ "around": "MST_AROUND"
+}
+
+// CONDITION:
+// always Unconditional (no condition value).
+// onspawn When mob spawns/respawns (no condition value).
+// myhpltmaxrate When mob's HP drops to the specified %.
+// myhpinrate When mob's HP is in a certain % range (condition value = lower bound, val1 = upper bound).
+// mystatuson If mob has the specified abnormality in status.
+// mystatusoff If mob has ended the specified abnormality in status.
+// friendhpltmaxrate When mob's friend's HP drops to the specified %.
+// friendhpinrate When mob's friend's HP is in a certain % range (condition value = lower bound, val1 = upper bound).
+// friendstatuson If friend has the specified abnormality in status.
+// friendstatusoff If friend has ended the specified abnormality in status.
+// attackpcgt When attack PCs become greater than specified number.
+// attackpcge When attack PCs become greater than or equal to the specified number.
+// slavelt When number of slaves is less than the original specified number.
+// slavele When number of slaves is less than or equal to the original specified number.
+// closedattacked When close range melee attacked (no condition value).
+// longrangeattacked When long range attacked, ex. bows, guns, ranged skills (no condition value).
+// skillused When the specified skill is used on the mob.
+// afterskill After mob casts the specified skill.
+// casttargeted When a target is in cast range (no condition value).
+// rudeattacked When mob is rude attacked (no condition value).
+SKILL_COND1 = {
+ "always": "MSC_ALWAYS",
+ "myhpltmaxrate": "MSC_MYHPLTMAXRATE",
+ "myhpinrate": "MSC_MYHPINRATE",
+ "friendhpltmaxrate": "MSC_FRIENDHPLTMAXRATE",
+ "friendhpinrate": "MSC_FRIENDHPINRATE",
+ "mystatuson": "MSC_MYSTATUSON",
+ "mystatusoff": "MSC_MYSTATUSOFF",
+ "friendstatuson": "MSC_FRIENDSTATUSON",
+ "friendstatusoff": "MSC_FRIENDSTATUSOFF",
+ "attackpcgt": "MSC_ATTACKPCGT",
+ "attackpcge": "MSC_ATTACKPCGE",
+ "slavelt": "MSC_SLAVELT",
+ "slavele": "MSC_SLAVELE",
+ "closedattacked": "MSC_CLOSEDATTACKED",
+ "longrangeattacked": "MSC_LONGRANGEATTACKED",
+ "skillused": "MSC_SKILLUSED",
+ "afterskill": "MSC_AFTERSKILL",
+ "casttargeted": "MSC_CASTTARGETED",
+ "rudeattacked": "MSC_RUDEATTACKED",
+ "masterhpltmaxrate": "MSC_MASTERHPLTMAXRATE",
+ "masterattacked": "MSC_MASTERATTACKED",
+ "alchemist": "MSC_ALCHEMIST",
+ "onspawn": "MSC_SPAWN"
+}
+
+// Status abnormalities specified through the statuson/statusoff system:
+// anybad (any type of state change) / stone / freeze / stun / sleep /
+// poison / curse / silence / confusion / blind / hiding / sight (unhidden)
+//
+// Note: if a negative MobID is provided, the skill will be treated as 'global':
+// -1: added for all boss types.
+// -2: added for all normal types.
+// -4: added for all mobs.
+
+SKILL_COND2 = {
+ "anybad": "MSC_ANY",
+ "stone": "SC_STONE",
+ "freeze": "SC_FREEZE",
+ "stun": "SC_STUN",
+ "sleep": "SC_SLEEP",
+ "poison": "SC_POISON",
+ "curse": "SC_CURSE",
+ "silence": "SC_SILENCE",
+ "confusion": "SC_CONFUSION",
+ "blind": "SC_BLIND",
+ "hiding": "SC_HIDING",
+ "sight": "SC_SIGHT"
+}
+
+**************************************************************************/
+ Blub: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 3
+ Rate: 10000
+ CastTime: 700
+ Delay: 60000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SPAWN"
+ val0: 1007
+ }
+ }
+
+ /**********************************************************************/
+ Tipiu: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_IDLE"
+ SkillLevel: 6
+ Rate: 10000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SPAWN"
+ val0: 1003
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 2000
+ CastTime: 700
+ Delay: 10000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 5
+ val0: 1003
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_IDLE"
+ SkillLevel: 2
+ Rate: 7000
+ CastTime: 700
+ Delay: 10000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 5
+ val0: 1003
+ }
+ }
+
+ /**********************************************************************/
+ Tipiou: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_IDLE"
+ SkillLevel: 5
+ Rate: 10000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SPAWN"
+ val0: 1002
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 2000
+ CastTime: 700
+ Delay: 10000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 4
+ val0: 1002
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_IDLE"
+ SkillLevel: 2
+ Rate: 7000
+ CastTime: 700
+ Delay: 10000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 4
+ val0: 1002
+ }
+ }
+
+ /**********************************************************************/
+ Assassin: {
+ SM_BASH: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 5
+ Rate: 10000
+ Delay: 20000
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ BlueSlime: {
+ // TODO: use NPC_SUMMONMONSTER or some other way to prevent
+ // the slaves from inheirting the summoner modes.
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 1
+ Rate: 8000
+ CastTime: 1200
+ Delay: 18000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELT"
+ ConditionData: 1
+ val0: 1090
+ }
+ }
+
+ /**********************************************************************/
+ SlimeBlast: {
+ NPC_SELFDESTRUCTION: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 10000
+ CastTime: 100
+ Delay: 500
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ WhiteSlime: {
+ NPC_SELFDESTRUCTION: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 10000
+ CastTime: 100
+ Delay: 500
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 20
+ val0: 30
+ }
+ }
+
+ /**********************************************************************/
+ SantaSlime: {
+ NPC_EMOTION: {
+ SkillState: "MSS_LOOT"
+ SkillLevel: 1
+ Rate: 10000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_ALWAYS"
+ val0: 7
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 5
+ Rate: 10000
+ CastTime: 2000
+ Delay: 60000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 3
+ val0: 1086
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_IDLE"
+ SkillLevel: 5
+ Rate: 10000
+ CastTime: 2000
+ Delay: 60000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 3
+ val0: 1086
+ }
+ }
+
+ /**********************************************************************/
+ Snake: {
+ NPC_POISON: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 20
+ Rate: 400
+ Delay: 500
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ MountainSnake: {
+ NPC_POISON: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 20
+ Rate: 600
+ Delay: 500
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ GrassSnake: {
+ NPC_POISON: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 20
+ Rate: 800
+ Delay: 500
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ DesertBandit: {
+ NPC_POISON: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 20
+ Rate: 400
+ Delay: 500
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ATTACKPCGE"
+ ConditionData: 3
+ }
+ }
+
+ /**********************************************************************/
+ Sarracenus: {
+ NPC_POISON: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 20
+ Rate: 400
+ Delay: 500
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ATTACKPCGE"
+ ConditionData: 3
+ }
+ }
+
+ /**********************************************************************/
+ YetiKing: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 5
+ Rate: 10000
+ CastTime: 2000
+ Delay: 60000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 3
+ val0: 1064
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_IDLE"
+ SkillLevel: 5
+ Rate: 10000
+ CastTime: 2000
+ Delay: 60000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 3
+ val0: 1064
+ }
+ NPC_POISON: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 20
+ Rate: 400
+ Delay: 500
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ATTACKPCGE"
+ ConditionData: 3
+ }
+ NPC_POISON: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 20
+ Rate: 1200
+ Delay: 500
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ATTACKPCGE"
+ ConditionData: 5
+ }
+ NPC_POISON: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 20
+ Rate: 2500
+ Delay: 500
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ATTACKPCGE"
+ ConditionData: 8
+ }
+ NPC_HOLYATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 2000
+ Delay: 5000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ NightScorpion: {
+ SM_BASH: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 6
+ Rate: 2700
+ Delay: 20000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_SILENCEATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 9800
+ Delay: 40000
+ CastTime: 700
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_LONGRANGEATTACKED"
+ }
+ NPC_SPLASHATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 4
+ Rate: 8000
+ Delay: 40000
+ CastTime: 1200
+ Cancelable: true
+ SkillTarget: "MST_RANDOM"
+ CastCondition: "MSC_ATTACKPCGE"
+ ConditionData: 2
+ }
+
+ // Elemental fix
+ NPC_CHANGEDARKNESS: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 10000
+ Delay: 1800000
+ CastTime: 100
+ Cancelable: false
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_ALWAYS"
+ Emotion: 10
+ }
+ NPC_DARKNESSATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 2000
+ Delay: 5000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ GoldenScorpion: {
+ SM_BASH: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 6
+ Rate: 1800
+ Delay: 20000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ATTACKPCGE"
+ ConditionData: 2
+ }
+ }
+
+ /**********************************************************************/
+ FallenKing1: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 3
+ Rate: 10000
+ CastTime: 700
+ Delay: 90000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SPAWN"
+ val0: 1081
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 2000
+ CastTime: 700
+ Delay: 10000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 1
+ val0: 1081
+ }
+ SM_BASH: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 4
+ Rate: 1800
+ CastTime: 1600
+ Delay: 20000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ATTACKPCGE"
+ ConditionData: 2
+ }
+ AL_DECAGI: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 9000
+ Delay: 300000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ MG_NAPALMBEAT: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 9000
+ CastTime: 1800
+ Delay: 120000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ATTACKPCGE"
+ ConditionData: 2
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 1
+ Rate: 7000
+ CastTime: 1000
+ Delay: 65000
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 40
+ val0: 1081
+ }
+ }
+
+ /**********************************************************************/
+ FallenKing2: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 3
+ Rate: 10000
+ CastTime: 700
+ Delay: 90000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SPAWN"
+ val0: 1082
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 2000
+ CastTime: 700
+ Delay: 10000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 1
+ val0: 1082
+ }
+ SM_BASH: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 4
+ Rate: 1800
+ CastTime: 1600
+ Delay: 20000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ATTACKPCGE"
+ ConditionData: 2
+ }
+ AL_DECAGI: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 9000
+ Delay: 300000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ MG_NAPALMBEAT: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 9000
+ CastTime: 1800
+ Delay: 120000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ATTACKPCGE"
+ ConditionData: 2
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 1
+ Rate: 7000
+ CastTime: 1000
+ Delay: 65000
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 40
+ val0: 1081
+ }
+ }
+
+ /**********************************************************************/
+ PoisonSpikyMushroom: {
+ NPC_POISON: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 20
+ Rate: 250
+ Delay: 500
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ RobinBandit: {
+ NPC_POISON: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 20
+ Rate: 8000
+ Delay: 80000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_FRIENDHPLTMAXRATE"
+ ConditionData: 30
+ }
+ }
+
+ /**********************************************************************/
+ BanditLord: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 1
+ Rate: 10000
+ CastTime: 1000
+ Delay: 270000
+ Cancelable: false
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 70
+ val0: 1024
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 2
+ Rate: 10000
+ CastTime: 1000
+ Delay: 270000
+ Cancelable: false
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 50
+ val0: 1024
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 2
+ Rate: 10000
+ CastTime: 2000
+ Delay: 180000
+ Cancelable: false
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_LONGRANGEATTACKED"
+ val0: 1153
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 3
+ Rate: 10000
+ CastTime: 1000
+ Delay: 270000
+ Cancelable: false
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 25
+ val0: 1024
+ }
+ NPC_POISON: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 20
+ Rate: 7500
+ Delay: 20000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 7
+ }
+ }
+
+ /**********************************************************************/
+ EvilChest: {
+ NPC_SUMMONMONSTER: {
+ SkillState: "MSS_DEAD"
+ SkillLevel: 2
+ Rate: 10000
+ SkillTarget: "MST_SELF"
+ val0: 1153
+ }
+ }
+
+ /**********************************************************************/
+ ViciousChest: {
+ NPC_SUMMONMONSTER: {
+ SkillState: "MSS_DEAD"
+ SkillLevel: 4
+ Rate: 10000
+ Cancelable: false
+ SkillTarget: "MST_SELF"
+ val0: 1187
+ }
+ }
+
+ /**********************************************************************/
+ BeeHive: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 8
+ Rate: 10000
+ CastTime: 0
+ Delay: 20000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 6
+ val0: 1065
+ }
+ }
+
+ /**********************************************************************/
+ AlphaMouboo: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 3
+ Rate: 10000
+ CastTime: 700
+ Delay: 60000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SPAWN"
+ val0: 1023
+ }
+ }
+
+ /**********************************************************************/
+ BloodyMouboo: {
+ NPC_BLEEDING: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 7000
+ Delay: 40000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ BlackSlime: {
+ AL_DECAGI: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 10000
+ Delay: 300000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ FafiDragon: {
+ SN_SHARPSHOOTING: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 6000
+ CastTime: 4000
+ Delay: 10000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ MA_SHARPSHOOTING: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 1000
+ CastTime: 4500
+ Delay: 60000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_POISON: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 20
+ Rate: 650
+ Delay: 500
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ SM_BASH: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 5
+ Rate: 2800
+ Delay: 20000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 1
+ Rate: 7000
+ CastTime: 1000
+ Delay: 45000
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 75
+ val0: 1178
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 1
+ Rate: 10000
+ CastTime: 1000
+ Delay: 60000
+ Cancelable: false
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 25
+ val0: 1186
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 1
+ Rate: 6000
+ CastTime: 700
+ Delay: 20000
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 40
+ val0: 1090
+ }
+ MG_NAPALMBEAT: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 9000
+ CastTime: 1500
+ Delay: 120000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ATTACKPCGE"
+ ConditionData: 2
+ }
+ }
+
+ /**********************************************************************/
+ GreenDragon: {
+ SN_SHARPSHOOTING: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 6000
+ CastTime: 4000
+ Delay: 30000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ MA_SHARPSHOOTING: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 1000
+ CastTime: 4500
+ Delay: 60000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ SM_BASH: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 4
+ Rate: 2400
+ Delay: 22000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+
+ /**********************************************************************/
+ GiantCaveMaggot: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 2
+ Rate: 10000
+ CastTime: 700
+ Delay: 60000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SPAWN"
+ val0: 1027
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 3
+ Rate: 10000
+ CastTime: 700
+ Delay: 60000
+ Cancelable: false
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 60
+ val0: 1027
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 5
+ Rate: 10000
+ CastTime: 700
+ Delay: 60000
+ Cancelable: false
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 40
+ val0: 1027
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 7
+ Rate: 10000
+ CastTime: 700
+ Delay: 60000
+ Cancelable: false
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 25
+ val0: 1027
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 10
+ Rate: 10000
+ CastTime: 700
+ Delay: 60000
+ Cancelable: false
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 10
+ val0: 1027
+ }
+ }
+
+ /**********************************************************************/
+ MonsterKing: {
+ NPC_TALK: {
+ SkillState: "MSS_RUSH"
+ SkillLevel: 1
+ Rate: 10000
+ Delay: 600000
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_ALWAYS"
+ ChatMsgID: 5
+ }
+ NPC_EMOTION: {
+ SkillState: "MSS_LOOT"
+ SkillLevel: 1
+ Rate: 10000
+ Delay: 180000
+ Cancelable: false
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_ALWAYS"
+ val0: 122
+ ChatMsgID: 2
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 5
+ Rate: 10000
+ CastTime: 10000
+ Delay: 180000
+ Cancelable: false
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 10
+ val0: 1179
+ }
+ NPC_SUMMONMONSTER: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 7
+ Rate: 8000
+ CastTime: 7000
+ Delay: 140000
+ Cancelable: false
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 25
+ val0: 1036
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 3
+ Rate: 9000
+ CastTime: 200
+ Delay: 60000
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 70
+ val0: 1064
+ }
+ SM_BASH: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 7
+ Rate: 2800
+ Delay: 20000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 40
+ }
+ NPC_POISON: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 20
+ Rate: 250
+ Delay: 100
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ ChatMsgID: 4
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 4
+ Rate: 8000
+ CastTime: 200
+ Delay: 60000
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_ALWAYS"
+ val0: 1068
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 3
+ Rate: 8000
+ CastTime: 200
+ Delay: 60000
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_ALWAYS"
+ val0: 1069
+ }
+ SN_SHARPSHOOTING: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 6000
+ CastTime: 400
+ Delay: 10000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 40
+ ChatMsgID: 3
+ }
+ }
+
+ /**********************************************************************/
+ AndreiSakar: {
+ AL_DECAGI: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 800
+ Delay: 300000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ MG_NAPALMBEAT: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 9000
+ CastTime: 300
+ Delay: 120000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ATTACKPCGE"
+ ConditionData: 2
+ }
+ SN_SHARPSHOOTING: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 6000
+ CastTime: 400
+ Delay: 10000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 40
+ }
+ SM_BASH: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 3
+ Rate: 2800
+ Delay: 20000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_ALLHEAL: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 1
+ Rate: 10000
+ Delay: 200000
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ DustGatling: {
+ NPC_BLINDATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 7000
+ Delay: 1200
+ Cancelable: true
+ SkillTarget: "MST_RANDOM"
+ CastCondition: "MSC_ALWAYS"
+ }
+ /*NPC_SPLASHATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 10000
+ Delay: 1200
+ Cancelable: true
+ SkillTarget: "MST_RANDOM"
+ CastCondition: "MSC_ALWAYS"
+ }*/
+ }
+
+ /**********************************************************************/
+ DustBoss: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 1
+ Rate: 6000
+ CastTime: 3000
+ Delay: 20000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELT"
+ ConditionData: 1
+ val0: 1206
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 1
+ Rate: 6000
+ CastTime: 3000
+ Delay: 20000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELT"
+ ConditionData: 1
+ val0: 1207
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 1
+ Rate: 6000
+ CastTime: 3000
+ Delay: 20000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELT"
+ ConditionData: 1
+ val0: 1208
+ }
+ NPC_BLINDATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 9000
+ Delay: 30000
+ Cancelable: true
+ SkillTarget: "MST_RANDOM"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ TerraniteKing: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 4
+ Rate: 10000
+ Delay: 90000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SPAWN"
+ val0: 1212
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 3
+ Rate: 10000
+ CastTime: 5000
+ Delay: 90000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 2
+ val0: 1212
+ }
+ AL_DECAGI: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 9000
+ CastTime: 1000
+ Delay: 300000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ MG_NAPALMBEAT: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 9000
+ CastTime: 1800
+ Delay: 120000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ATTACKPCGE"
+ ConditionData: 2
+ }
+ }
+
+ /**********************************************************************/
+ // Note: Cannot explode if poisoned (Poison arrows, anyone?!)
+ EnergyBall: {
+ NPC_SELFDESTRUCTION: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 3
+ Rate: 10000
+ CastTime: 200
+ Delay: 3000
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYSTATUSOFF"
+ ConditionData: "SC_POISON"
+ }
+ }
+
+ /**********************************************************************/
+ PsiConscience: {
+ NPC_SUMMONMONSTER: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 3
+ Rate: 10000
+ CastTime: 100
+ Delay: 10000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_ALWAYS"
+ val0: 1220
+ }
+ // Doesn't works and I'm NOT surprised
+ NPC_STUNATTACK: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 1
+ Rate: 10000
+ CastTime: 100
+ Delay: 2000
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_CLOSEDATTACKED"
+ }
+ TF_BACKSLIDING: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 1
+ Rate: 10000
+ CastTime: 100
+ Delay: 3000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_CLOSEDATTACKED"
+ }
+ }
+
+ /**********************************************************************/
+ HoodedAssassin: {
+ NPC_SUMMONMONSTER: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 1
+ Rate: 10000
+ CastTime: 100
+ Delay: 170000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_ALWAYS"
+ val0: 1223
+ }
+ NPC_SUMMONMONSTER: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 2
+ Rate: 10000
+ CastTime: 100
+ Delay: 60000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_ALWAYS"
+ val0: 1062
+ }
+ }
+
+ /**********************************************************************/
+ HoodedNinja: {
+ AL_DECAGI: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 10000
+ Delay: 300000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_POISON: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 20
+ Rate: 700
+ Delay: 500
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ TF_BACKSLIDING: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 1
+ Rate: 10000
+ CastTime: 100
+ Delay: 3000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_CLOSEDATTACKED"
+ }
+ }
+
+ /**********************************************************************/
+ Sagratha: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 2
+ Rate: 9000
+ CastTime: 2000
+ Delay: 60000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_ALWAYS"
+ val0: 1023
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 1
+ Rate: 9000
+ CastTime: 2000
+ Delay: 60000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_ALWAYS"
+ val0: 1066
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 3
+ Rate: 9000
+ CastTime: 2000
+ Delay: 60000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_ALWAYS"
+ val0: 1022
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 1
+ Rate: 7000
+ CastTime: 2200
+ Delay: 80000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_ALWAYS"
+ val0: 1060
+ }
+ }
+
+ /**********************************************************************/
+ Isbamuth: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 3
+ Rate: 6000
+ Delay: 90000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELT"
+ ConditionData: 3
+ val0: 1062
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 6000
+ CastTime: 5000
+ Delay: 90000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELT"
+ ConditionData: 2
+ val0: 1153
+ }
+ AL_DECAGI: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 9000
+ CastTime: 1000
+ Delay: 300000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ MG_NAPALMBEAT: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 9000
+ CastTime: 1800
+ Delay: 120000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ATTACKPCGE"
+ ConditionData: 2
+ }
+ NPC_BLINDATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 9000
+ Delay: 30000
+ Cancelable: true
+ SkillTarget: "MST_RANDOM"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_CURSEATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 1000
+ Delay: 120000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 60
+ }
+ }
+
+ /**********************************************************************/
+ NightDragon: {
+ ASC_METEORASSAULT: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 6000
+ CastTime: 600
+ Delay: 20000
+ Cancelable: false
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_CURSEATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 4000
+ CastTime: 1800
+ Delay: 20000
+ Cancelable: false
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ SO_FIREWALK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 3
+ Rate: 4800
+ CastTime: 2200
+ Delay: 60000
+ Cancelable: false
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ // Death Cat
+ NPC_SUMMONMONSTER: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 4
+ Rate: 7000
+ CastTime: 600
+ Delay: 60000
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 50
+ val0: 1231
+ }
+ // Energy Ball
+ NPC_SUMMONMONSTER: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 1
+ Rate: 10000
+ CastTime: 500
+ Delay: 55000
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 40
+ val0: 1220
+ }
+ // Black Slime
+ NPC_SUMMONMONSTER: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 1
+ Rate: 6000
+ CastTime: 700
+ Delay: 60000
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 50
+ val0: 1178
+ }
+ SM_BASH: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 5
+ Rate: 2800
+ Delay: 20000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ DeathCat: {
+ AL_DECAGI: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 1000
+ Delay: 300000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_BLINDATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 1000
+ Delay: 300000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_SILENCEATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 1000
+ Delay: 300000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ AL_HEAL: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 10000
+ Delay: 25000
+ Cancelable: true
+ SkillTarget: "MST_FRIEND"
+ CastCondition: "MSC_FRIENDHPLTMAXRATE"
+ ConditionData: 60
+ Emotion: 101
+ }
+ }
+
+ /**********************************************************************/
+ SiegeTower: {
+ SM_BASH: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 9
+ Rate: 7500
+ Delay: 5000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_CLOSEDATTACKED"
+ }
+ NPC_BLINDATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 3000
+ Delay: 300000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_CURSEATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 8000
+ CastTime: 1000
+ Delay: 20000
+ Cancelable: false
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_RUDEATTACKED"
+ }
+ }
+
+ /**********************************************************************/
+ GreenSlimeMother: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 4
+ Rate: 10000
+ CastTime: 700
+ Delay: 22000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 2
+ val0: 1085
+ }
+ }
+
+ /**********************************************************************/
+ BlueSlimeMother: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 4
+ Rate: 10000
+ CastTime: 700
+ Delay: 20000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 2
+ val0: 1087
+ }
+ }
+
+ /**********************************************************************/
+ CopperSlimeMother: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 8
+ Rate: 10000
+ CastTime: 700
+ Delay: 40000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 4
+ val0: 1088
+ }
+ }
+
+ /**********************************************************************/
+ YellowSlimeMother: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 8
+ Rate: 10000
+ CastTime: 700
+ Delay: 40000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 6
+ val0: 1198
+ }
+ }
+
+ /**********************************************************************/
+ RedSlimeMother: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 8
+ Rate: 10000
+ CastTime: 400
+ Delay: 20000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 6
+ val0: 1092
+ }
+ }
+
+ /**********************************************************************/
+ ChocolateSlimeMother: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 8
+ Rate: 10000
+ CastTime: 400
+ Delay: 30000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 6
+ val0: 1180
+ }
+ AL_DECAGI: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 6000
+ Delay: 180000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ WhiteSlimeMother: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 8
+ Rate: 10000
+ CastTime: 400
+ Delay: 20000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 6
+ val0: 1094
+ }
+ AL_DECAGI: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 9000
+ Delay: 60000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ AzulSlimeMother: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 9
+ Rate: 10000
+ CastTime: 200
+ Delay: 20000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 6
+ val0: 1095
+ }
+ AL_DECAGI: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 9000
+ Delay: 30000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_BLINDATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 6000
+ Delay: 180000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ SeaSlimeMother: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 9
+ Rate: 10000
+ CastTime: 200
+ Delay: 20000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 6
+ val0: 1093
+ }
+ AL_DECAGI: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 9000
+ Delay: 20000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_BLINDATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 6700
+ Delay: 120000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ LavaSlimeMother: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 9
+ Rate: 10000
+ CastTime: 100
+ Delay: 15000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 7
+ val0: 1097
+ }
+ AL_DECAGI: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 3
+ Rate: 9000
+ Delay: 18000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_BLINDATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 7500
+ Delay: 60000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ BlackSlimeMother: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 9
+ Rate: 10000
+ CastTime: 100
+ Delay: 15000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 7
+ val0: 1178
+ }
+ AL_DECAGI: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 3
+ Rate: 9000
+ Delay: 18000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_BLINDATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 8000
+ Delay: 30000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ GreatMoubooSlime: {
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 9
+ Rate: 10000
+ CastTime: 100
+ Delay: 15000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SLAVELE"
+ ConditionData: 7
+ val0: 1201
+ }
+ AL_DECAGI: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 3
+ Rate: 9000
+ Delay: 12000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_BLINDATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 3
+ Rate: 9000
+ Delay: 18000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_CURSEATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 3
+ Rate: 4000
+ CastTime: 500
+ Delay: 20000
+ Cancelable: false
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ Moubi: {
+ MG_NAPALMBEAT: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 5
+ Rate: 3000
+ CastTime: 200
+ Delay: 1600
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_CURSEATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 5
+ Rate: 3000
+ CastTime: 400
+ Delay: 30000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ MisterPrickel: {
+ SN_SHARPSHOOTING: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 2
+ Rate: 10000
+ CastTime: 1000
+ Delay: 5000
+ Cancelable: false
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_LONGRANGEATTACKED"
+ }
+ }
+
+ /**********************************************************************/
+ Marley: {
+ AL_DECAGI: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 7000
+ Delay: 60000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_BLINDATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 7000
+ Delay: 90000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_SUMMONSLAVE: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 2
+ Rate: 10000
+ CastTime: 1000
+ Delay: 180000
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 40
+ val0: 1444
+ }
+ }
+
+ /**********************************************************************/
+ MobMoubootaur: {
+ NPC_TALK: {
+ SkillState: "MSS_RUSH"
+ SkillLevel: 1
+ Rate: 10000
+ Delay: 600000
+ Cancelable: false
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_ALWAYS"
+ ChatMsgID: 8
+ }
+ NPC_TALK: {
+ SkillState: "MSS_ANY"
+ SkillLevel: 1
+ Rate: 10000
+ Delay: 600000
+ Cancelable: false
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_SPAWN"
+ ChatMsgID: 10
+ }
+ ASC_METEORASSAULT: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 4
+ Rate: 6000
+ CastTime: 200
+ Delay: 20000
+ Cancelable: false
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ ChatMsgID: 6
+ }
+ NPC_CURSEATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 5
+ Rate: 6000
+ CastTime: 200
+ Delay: 15000
+ Cancelable: false
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_BLINDATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 5
+ Rate: 6000
+ CastTime: 200
+ Delay: 15000
+ Cancelable: false
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ SN_SHARPSHOOTING: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 3
+ Rate: 6000
+ CastTime: 300
+ Delay: 15500
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ ChatMsgID: 9
+ }
+ // TODO: Spawns (Chat Message 7) (Adjust based on HP)
+ }
+
+ /**********************************************************************/
+ GeneralKrukan: {
+ ASC_METEORASSAULT: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 6000
+ CastTime: 800
+ Delay: 20000
+ Cancelable: false
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_CURSEATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 1
+ Rate: 4000
+ CastTime: 2000
+ Delay: 20000
+ Cancelable: false
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ // Death Cat
+ NPC_SUMMONMONSTER: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 4
+ Rate: 7000
+ CastTime: 500
+ Delay: 60000
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 50
+ val0: 1231
+ }
+ // Black Slime
+ NPC_SUMMONMONSTER: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 1
+ Rate: 6000
+ CastTime: 700
+ Delay: 60000
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_ALWAYS"
+ val0: 1178
+ }
+ SM_BASH: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 5
+ Rate: 2800
+ Delay: 20000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ GeneralRazha: {
+ ASC_METEORASSAULT: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 3
+ Rate: 6000
+ CastTime: 800
+ Delay: 20000
+ Cancelable: false
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_CURSEATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 2
+ Rate: 4000
+ CastTime: 2000
+ Delay: 20000
+ Cancelable: false
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ // Death Cat
+ NPC_SUMMONMONSTER: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 4
+ Rate: 7000
+ CastTime: 500
+ Delay: 60000
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 50
+ val0: 1231
+ }
+ // Black Slime
+ NPC_SUMMONMONSTER: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 3
+ Rate: 6000
+ CastTime: 700
+ Delay: 60000
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_ALWAYS"
+ val0: 1178
+ }
+ SM_BASH: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 6
+ Rate: 2800
+ Delay: 20000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+ /**********************************************************************/
+ GeneralTerogan: {
+ ASC_METEORASSAULT: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 4
+ Rate: 6000
+ CastTime: 800
+ Delay: 20000
+ Cancelable: false
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ NPC_CURSEATTACK: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 3
+ Rate: 4000
+ CastTime: 2000
+ Delay: 20000
+ Cancelable: false
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ // Death Cat
+ NPC_SUMMONMONSTER: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 4
+ Rate: 7000
+ CastTime: 500
+ Delay: 60000
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_MYHPLTMAXRATE"
+ ConditionData: 50
+ val0: 1231
+ }
+ // Black Slime
+ NPC_SUMMONMONSTER: {
+ SkillState: "MSS_ANYTARGET"
+ SkillLevel: 5
+ Rate: 6000
+ CastTime: 700
+ Delay: 60000
+ Cancelable: true
+ SkillTarget: "MST_SELF"
+ CastCondition: "MSC_ALWAYS"
+ val0: 1178
+ }
+ SM_BASH: {
+ SkillState: "MSS_BERSERK"
+ SkillLevel: 7
+ Rate: 2800
+ Delay: 20000
+ Cancelable: true
+ SkillTarget: "MST_TARGET"
+ CastCondition: "MSC_ALWAYS"
+ }
+ }
+
+}
+)
diff --git a/db/re/pet_db.conf b/db/re/pet_db.conf
new file mode 100644
index 0000000..356eae3
--- /dev/null
+++ b/db/re/pet_db.conf
@@ -0,0 +1,432 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2018 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/>.
+//=========================================================================
+//= Pets Database
+//=========================================================================
+
+pet_db:(
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+{
+ // ================ Mandatory fields ==============================
+ Id: ID (int)
+ SpriteName: "Sprite_Name" (string)
+ Name: "Pet Name" (string)
+ // ================ Optional fields ===============================
+ TamingItem: Taming Item (string, defaults to 0)
+ EggItem: Egg Id (string, defaults to 0)
+ AccessoryItem: Equipment Id (string, defaults to 0)
+ FoodItem: Food Id (string, defaults to 0)
+ FoodEffectiveness: hunger points (int, defaults to 0)
+ HungerDelay: hunger time (int, defaults to 0)
+ Intimacy: {
+ Initial: start intimacy (int, defaults to 0)
+ FeedIncrement: feeding intimacy (int, defaults to 0)
+ OverFeedDecrement: overfeeding intimacy (int, defaults to 0)
+ OwnerDeathDecrement: owner die intimacy (int, defaults to 0)
+ }
+ CaptureRate: capture rate (int, defaults to 0)
+ Speed: speed (int, defaults to 0)
+ SpecialPerformance: true/false (boolean, defaults to false)
+ TalkWithEmotes: convert talk (boolean, defaults to false)
+ AttackRate: attack rate (int, defaults to 0)
+ DefendRate: Defence attack (int, defaults to 0)
+ ChangeTargetRate: change target (int, defaults to 0)
+ Evolve: {
+ EggID: { (string, Evolved Pet EggID)
+ Name: Amount (items required to perform evolution)
+ ...
+ }
+ }
+ AutoFeed: true/false (boolean, defaults to false)
+ PetScript: <" Pet Script (can also be multi-line) ">
+ EquipScript: <" Equip Script (can also be multi-line) ">
+},
+**************************************************************************/
+
+{
+ Id: 1002
+ SpriteName: "Piou"
+ Name: "Piou"
+ TamingItem: "PiouFeathers"
+ EggItem: "PiouEgg"
+ FoodItem: "Piberries"
+ FoodEffectiveness: 80
+ HungerDelay: 120
+ Intimacy: {
+ Initial: 350
+ FeedIncrement: 100
+ OverFeedDecrement: 100
+ OwnerDeathDecrement: 10
+ }
+ CaptureRate: 0
+ Speed: 150
+ SpecialPerformance: true
+ AttackRate: 350
+ DefendRate: 400
+ ChangeTargetRate: 800
+ // AL_HEAL (28). petskillsupport(<skill id>, <skill level>, <delay>, <percent hp>, <percent sp>)
+ PetScript: <" petloot 10; petskillsupport(28, 2, 60, 40, 100); ">
+ EquipScript: <"if (getpetinfo(3) > 900) { bonus bLuk,2; bonus bCritical,1;} ">
+},
+{
+ Id: 1005
+ SpriteName: "Rattey"
+ Name: "Ratte the Ratto"
+ TamingItem: "RattoTeeth"
+ EggItem: "Ratte"
+ FoodItem: "Cheese"
+ FoodEffectiveness: 100
+ HungerDelay: 120
+ Intimacy: {
+ Initial: 250
+ FeedIncrement: 100
+ OverFeedDecrement: 10
+ OwnerDeathDecrement: 10
+ }
+ CaptureRate: 0
+ Speed: 100
+ SpecialPerformance: true
+ AttackRate: 450
+ DefendRate: 500
+ ChangeTargetRate: 850
+ PetScript: <" petloot 3; bonus bDex, 1; ">
+ EquipScript: <"if (getpetinfo(3) > 900) { bonus bDex, 4;} ">
+},
+{
+ Id: 1029
+ SpriteName: "DangerousDuck"
+ Name: "Dangerous Duck"
+ TamingItem: "DuckFeather"
+ EggItem: "DuckEgg"
+ FoodItem: "CherryCake"
+ FoodEffectiveness: 100
+ HungerDelay: 120
+ Intimacy: {
+ Initial: 250
+ FeedIncrement: 100
+ OverFeedDecrement: 10
+ OwnerDeathDecrement: 10
+ }
+ CaptureRate: 0
+ Speed: 220
+ SpecialPerformance: true
+ AttackRate: 450
+ DefendRate: 500
+ ChangeTargetRate: 850
+ PetScript: <" petloot 3; ">
+ EquipScript: <"if (getpetinfo(3) > 900) { bonus bAddStealRate,15; bonus bHPGainValue,1;} ">
+},
+{
+ Id: 1022
+ SpriteName: "Common Fluffy"
+ Name: "Common Fluffy"
+ TamingItem: "WhiteFur"
+ EggItem: "FluffyEgg"
+ FoodItem: "LettuceLeaf"
+ FoodEffectiveness: 100
+ HungerDelay: 120
+ Intimacy: {
+ Initial: 250
+ FeedIncrement: 100
+ OverFeedDecrement: 10
+ OwnerDeathDecrement: 10
+ }
+ CaptureRate: 0
+ Speed: 220
+ SpecialPerformance: true
+ AttackRate: 450
+ DefendRate: 500
+ ChangeTargetRate: 850
+ PetScript: <" petloot 3; ">
+ EquipScript: <"if (getpetinfo(3) > 900) { bonus bMaxSP,250;} ">
+},
+{
+ Id: 1030
+ SpriteName: "Cute Maggot"
+ Name: "Cute Maggot"
+ TamingItem: "MaggotSlime"
+ EggItem: "MaggotCocoon"
+ FoodItem: "BugLeg"
+ FoodEffectiveness: 100
+ HungerDelay: 120
+ Intimacy: {
+ Initial: 250
+ FeedIncrement: 100
+ OverFeedDecrement: 10
+ OwnerDeathDecrement: 10
+ }
+ CaptureRate: 0
+ Speed: 220
+ SpecialPerformance: true
+ AttackRate: 450
+ DefendRate: 500
+ ChangeTargetRate: 850
+ PetScript: <" petloot 3; ">
+ EquipScript: <"if (getpetinfo(3) > 900) { bonus bMaxHP, 250;} ">
+},
+{
+ Id: 1032
+ SpriteName: "Pinky"
+ Name: "Panfilo the Pinkie"
+ TamingItem: "PinkieHat"
+ EggItem: "PinkieCrystal"
+ FoodItem: "CherryCake"
+ FoodEffectiveness: 100
+ HungerDelay: 120
+ Intimacy: {
+ Initial: 250
+ FeedIncrement: 50
+ OverFeedDecrement: 10
+ OwnerDeathDecrement: 10
+ }
+ CaptureRate: 0
+ Speed: 100
+ SpecialPerformance: true
+ AttackRate: 450
+ DefendRate: 500
+ ChangeTargetRate: 850
+ PetScript: <" petloot 3; bonus bAgi, 1; ">
+ EquipScript: <"if (getpetinfo(3) > 900) { bonus bAgi, 4; } ">
+},
+{
+ Id: 1039
+ SpriteName: "Nasty Bat"
+ Name: "Nasty Bat"
+ TamingItem: "Bloodstone"
+ EggItem: "BatEgg"
+ FoodItem: "RoastedMaggot"
+ FoodEffectiveness: 100
+ HungerDelay: 120
+ Intimacy: {
+ Initial: 250
+ FeedIncrement: 100
+ OverFeedDecrement: 10
+ OwnerDeathDecrement: 10
+ }
+ CaptureRate: 0
+ Speed: 220
+ SpecialPerformance: true
+ AttackRate: 450
+ DefendRate: 500
+ ChangeTargetRate: 850
+ PetScript: <" petloot 3; ">
+ EquipScript: <"if (getpetinfo(3) > 900) { bonus bAspdRate, 5; } ">
+},
+{
+ Id: 1049
+ SpriteName: "Bhop Fluffy"
+ Name: "Bhop Fluffy"
+ TamingItem: "GoldenEasteregg"
+ EggItem: "BhopEgg"
+ FoodItem: "Aquada"
+ FoodEffectiveness: 100
+ HungerDelay: 120
+ Intimacy: {
+ Initial: 250
+ FeedIncrement: 100
+ OverFeedDecrement: 10
+ OwnerDeathDecrement: 10
+ }
+ CaptureRate: 0
+ Speed: 140
+ SpecialPerformance: true
+ AttackRate: 350
+ DefendRate: 400
+ ChangeTargetRate: 800
+ PetScript: <" petskillbonus bLuk, 5, 30, 90; bonus bLuk,1; petloot 3; ">
+ EquipScript: <"if (getpetinfo(3) > 900) { bonus bLuk,4; bonus2 bSPRegenRate,1,10000; } ">
+},
+{
+ Id: 1060
+ SpriteName: "ForestShrommy"
+ Name: "Forest Shroomy"
+ TamingItem: "Chagashroom"
+ EggItem: "ForestShroomEgg"
+ FoodItem: "Moss"
+ FoodEffectiveness: 200
+ HungerDelay: 120
+ Intimacy: {
+ Initial: 250
+ FeedIncrement: 100
+ OverFeedDecrement: 10
+ OwnerDeathDecrement: 10
+ }
+ CaptureRate: 0
+ Speed: 500
+ SpecialPerformance: true
+ AttackRate: 450
+ DefendRate: 500
+ ChangeTargetRate: 850
+ PetScript: <" petloot 3; ">
+ EquipScript: <"if (getpetinfo(3) > 900) { bonus bStr, 4; bonus bAgi, 1; } ">
+},
+{
+ Id: 1070
+ SpriteName: "Baby Yeti"
+ Name: "Baby Yeti"
+ TamingItem: "IceGladius"
+ EggItem: "MoggunEgg"
+ FoodItem: "MoubooSteak"
+ FoodEffectiveness: 100
+ HungerDelay: 120
+ Intimacy: {
+ Initial: 250
+ FeedIncrement: 100
+ OverFeedDecrement: 10
+ OwnerDeathDecrement: 10
+ }
+ CaptureRate: 0
+ Speed: 220
+ SpecialPerformance: true
+ AttackRate: 450
+ DefendRate: 500
+ ChangeTargetRate: 850
+ PetScript: <" petloot 3; ">
+ EquipScript: <"if (getpetinfo(3) > 900) { bonus bDef, 5; } ">
+},
+{
+ Id: 1122
+ SpriteName: "Tamed Snake"
+ Name: "Tamed Snake"
+ TamingItem: "DivineApple"
+ EggItem: "TamedSnakeEgg"
+ FoodItem: "MoubooSteak"
+ FoodEffectiveness: 100
+ HungerDelay: 120
+ Intimacy: {
+ Initial: 250
+ FeedIncrement: 100
+ OverFeedDecrement: 10
+ OwnerDeathDecrement: 10
+ }
+ CaptureRate: 0
+ Speed: 220
+ SpecialPerformance: true
+ AttackRate: 450
+ DefendRate: 500
+ ChangeTargetRate: 850
+ PetScript: <" petloot 3; ">
+ EquipScript: <"if (getpetinfo(3) > 900) { bonus bFlee, 7; } ">
+},
+// TODO: What's the difference from AnimalBones and Bone ?
+{
+ Id: 1190
+ SpriteName: "Doggy"
+ Name: "Doggy the Dog"
+ TamingItem: "Bone"
+ EggItem: "DoggyDog"
+ FoodItem: "AnimalBones"
+ FoodEffectiveness: 100
+ HungerDelay: 120
+ Intimacy: {
+ Initial: 250
+ FeedIncrement: 100
+ OverFeedDecrement: 10
+ OwnerDeathDecrement: 10
+ }
+ CaptureRate: 0
+ Speed: 190
+ SpecialPerformance: true
+ AttackRate: 450
+ DefendRate: 500
+ ChangeTargetRate: 850
+ PetScript: <" petloot 3; bonus bStr, 1; petskillbonus(bVit, 3, 30, 90); ">
+ EquipScript: <"if (getpetinfo(3) > 900) { bonus bStr, 4; bonus2 bHPRegenRate,1,10000; } ">
+},
+{
+ Id: 1191
+ SpriteName: "Catty"
+ Name: "Catty the Cat"
+ TamingItem: "CottonCloth"
+ EggItem: "CattyCat"
+ FoodItem: "Milk"
+ FoodEffectiveness: 100
+ HungerDelay: 120
+ Intimacy: {
+ Initial: 250
+ FeedIncrement: 100
+ OverFeedDecrement: 10
+ OwnerDeathDecrement: 10
+ }
+ CaptureRate: 0
+ Speed: 190
+ SpecialPerformance: true
+ AttackRate: 450
+ DefendRate: 500
+ ChangeTargetRate: 850
+ PetScript: <" petskillbonus bAgi, 3, 30, 90; petloot 3; bonus bAgi, 1; ">
+ EquipScript: <"if (getpetinfo(3) > 900) { bonus bAgi, 4; bonus2 bSPRegenRate,1,10000; } ">
+},
+{
+ Id: 1192
+ SpriteName: "BlackCatty"
+ Name: "Blacky Cat"
+ TamingItem: "JarOfBlood"
+ EggItem: "BlackyCat"
+ FoodItem: "Mashmallow"
+ FoodEffectiveness: 100
+ HungerDelay: 120
+ Intimacy: {
+ Initial: 250
+ FeedIncrement: 100
+ OverFeedDecrement: 10
+ OwnerDeathDecrement: 10
+ }
+ CaptureRate: 0
+ Speed: 190
+ SpecialPerformance: true
+ AttackRate: 450
+ DefendRate: 500
+ ChangeTargetRate: 850
+ PetScript: <" petloot 3; bonus bInt, 1; ">
+ EquipScript: <"if (getpetinfo(3) > 900) { bonus bInt, 4; bonus bAgi, 1; } ">
+},
+{
+ Id: 1195
+ SpriteName: "Baby Dragon"
+ Name: "Baby Dragon"
+ TamingItem: "JarOfBlood"
+ EggItem: "DragonHorn"
+ FoodItem: "Dragonfruit"
+ FoodEffectiveness: 70
+ HungerDelay: 100
+ Intimacy: {
+ Initial: 100
+ FeedIncrement: 100
+ OverFeedDecrement: 10
+ OwnerDeathDecrement: 10
+ }
+ CaptureRate: 0
+ Speed: 190
+ SpecialPerformance: true
+ AttackRate: 450
+ DefendRate: 500
+ ChangeTargetRate: 850
+ PetScript: <" petloot 4; bonus bStr, 1; ">
+ EquipScript: <"if (getpetinfo(3) > 900) { bonus2 bAddGetZenyNum, -1, 4; } ">
+},)
diff --git a/db/re/refine_db.conf b/db/re/refine_db.conf
new file mode 100644
index 0000000..364c9a4
--- /dev/null
+++ b/db/re/refine_db.conf
@@ -0,0 +1,619 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2015 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/>.
+//=========================================================================
+//= Renewal Refine Database
+//=========================================================================
+
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+Armors/WeaponLevel1~4: { // Specifies weapon level or armor type.
+ // - For armors, values of 100 add 1 armor defense.
+ // - For weapons, values of 100 add 1 ATK & MATK.
+ StatsPerLevel: (int) // This value is applied for ever level.
+ RandomBonusStartLevel: (int) // This value specifies the start point for those levels that give a random bonus value (usually the first unsafe upgrade).
+ // - RandomBonusStartLevel is only applied for weapons, and not displayed client-side.
+ RandomBonusValue: (int) // A random number between 0 and (Random bonus start level - Upgrade level + 1) * this value is applied for all upgrades past.
+
+ RefineryUISettings: (
+ {
+ Level: (int or array of int) // Holds either the individule refine level meant for this setting or an array defining a range
+ of Low to Max level
+ BlacksmithBlessing: (int) (optional) // How many Blacksmith Blessing required for this range to be safe from breaking
+ Announce: "(string)" (optional) // Sends an announcement server wide when a player reach this refine level using
+ Refinery UI, this feature is only available starting from 2017-08-30 RagexeRE or
+ 2017-09-06 Ragexe the field accepts the following values and it defaults to not announce
+ Success to set the announcement on item refine successful
+ Failure to set the announcement on item refine failure
+ Always to always announce it
+ Items: {
+ AegisName: {
+ Type: "(string)" // The type to determine the chances used for this item, REFINE_CHANCE_TYPE_*
+ constants are used in here
+ Cost: (int) (optional) // Amount of zeny required
+ FailureBehavior: "(string)" (optional) // The expected behvaior on failure for this item, the following strings are used in here
+ Destroy (default) sets the item to be destroyed on failure
+ Keep keeps the item after failure
+ Downgrade downgrades the item by one level on failure
+ }
+ }
+ }
+ )
+
+ Rates: { // Per level configuration of the refine rates.
+ Lv1~20: { // Lv1 ~ Lv20.
+ NormalChance: (int) // (optional, defaults to 100) Chance of successful refine using normal ores (100 = 100%).
+ EnrichedChance: (int) // (optional, defaults to 100 for weapons below refine level 20, otherwise 0.) Chance of successful refine using enriched ores (100 = 100%).
+ EventNormalChance: (int) // (optional, defaults to 100) Chance of successful refine using normal ores (100 = 100%) during a refine event.
+ EventEnrichedChance: (int) // (optional, defaults to 100 for weapons below refine level 10, otherwise 0.) Chance of successful refine using enriched ores (100 = 100%) during a refine event.
+ Bonus: (int) // (optional, defaults to 0) Bonus (Armor) for this level of refine.
+ }
+ // Note: Refine levels that use default values need not be listed. (Example: Lv1: { NormalChance: 100 Bonus: 0 })
+ }
+}
+
+IMPORTANT: On TMW2, max refine level set by scripts is 10
+**************************************************************************/
+
+Armors: {
+ StatsPerLevel: 0
+ RandomBonusStartLevel: 0
+ RandomBonusValue: 0
+ Rates: {
+ Lv1: {
+ Bonus: 350
+ }
+ Lv2: {
+ NormalChance: 93
+ EnrichedChance: 99
+ Bonus: 350
+ }
+ Lv3: {
+ NormalChance: 86
+ EnrichedChance: 96
+ Bonus: 350
+ }
+ Lv4: {
+ NormalChance: 79
+ EnrichedChance: 93
+ Bonus: 350
+ }
+ Lv5: {
+ NormalChance: 72
+ EnrichedChance: 90
+ Bonus: 350
+ }
+ Lv6: {
+ NormalChance: 65
+ EnrichedChance: 80
+ Bonus: 450
+ }
+ Lv7: {
+ NormalChance: 58
+ EnrichedChance: 70
+ Bonus: 450
+ }
+ Lv8: {
+ NormalChance: 51
+ EnrichedChance: 60
+ Bonus: 450
+ }
+ Lv9: {
+ NormalChance: 44
+ EnrichedChance: 50
+ Bonus: 500
+ }
+ Lv10: {
+ NormalChance: 37
+ EnrichedChance: 40
+ Bonus: 500
+ }
+ Lv11: {
+ NormalChance: 30
+ EnrichedChance: 30
+ Bonus: 600
+ }
+ Lv12: {
+ NormalChance: 23
+ EnrichedChance: 20
+ Bonus: 600
+ }
+ // Anything below this line was NOT MAINTENANED
+ Lv13: {
+ NormalChance: 16
+ EnrichedChance: 10
+ Bonus: 400
+ }
+ Lv14: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 400
+ }
+ Lv15: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 400
+ }
+ Lv16: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 400
+ }
+ Lv17: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 500
+ }
+ Lv18: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 500
+ }
+ Lv19: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 500
+ }
+ Lv20: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 500
+ }
+ }
+ // This is junk
+ RefineryUISettings: (
+ {
+ Level: [1, 20]
+ Items: {
+ Acorn: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 100000000
+ }
+ }
+ },
+ )
+}
+
+// Weapon level 1 is the standard tier for most weapons
+WeaponLevel1: {
+ StatsPerLevel: 800
+ RandomBonusStartLevel: 6
+ RandomBonusValue: 300
+ Rates: {
+ Lv2: {
+ NormalChance: 93
+ EnrichedChance: 99
+ }
+ Lv3: {
+ NormalChance: 86
+ EnrichedChance: 96
+ }
+ Lv4: {
+ NormalChance: 79
+ EnrichedChance: 93
+ }
+ Lv5: {
+ NormalChance: 72
+ EnrichedChance: 90
+ }
+ Lv6: {
+ NormalChance: 65
+ EnrichedChance: 80
+ }
+ Lv7: {
+ NormalChance: 58
+ EnrichedChance: 70
+ }
+ Lv8: {
+ NormalChance: 51
+ EnrichedChance: 60
+ }
+ Lv9: {
+ NormalChance: 44
+ EnrichedChance: 50
+ }
+ Lv10: {
+ NormalChance: 37
+ EnrichedChance: 40
+ }
+ Lv11: {
+ NormalChance: 30
+ EnrichedChance: 30
+ Bonus: 600
+ }
+ Lv12: {
+ NormalChance: 23
+ EnrichedChance: 20
+ Bonus: 600
+ }
+ // Anything below this line was NOT MAINTENANED
+ Lv13: {
+ NormalChance: 16
+ EnrichedChance: 10
+ Bonus: 400
+ }
+ Lv14: {
+ NormalChance: 0
+ EnrichedChance: 0
+ }
+ Lv15: {
+ NormalChance: 0
+ EnrichedChance: 0
+ }
+ Lv16: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 300
+ }
+ Lv17: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 300
+ }
+ Lv18: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 300
+ }
+ Lv19: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 300
+ }
+ Lv20: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 300
+ }
+ }
+ // This is junk
+ RefineryUISettings: (
+ {
+ Level: [1, 20]
+ Items: {
+ Acorn: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 100000000
+ }
+ }
+ },
+ )
+}
+
+
+
+// XXX WARNING XXX:
+// Unused :
+// XXX WARNING XXX:
+WeaponLevel2: {
+ RefineryUISettings: (
+ {
+ Level: [1, 20]
+ Items: {
+ Acorn: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 100000000
+ }
+ }
+ },
+ )
+ StatsPerLevel: 800
+ RandomBonusStartLevel: 6
+ RandomBonusValue: 300
+ Rates: {
+ Lv2: {
+ NormalChance: 93
+ EnrichedChance: 99
+ }
+ Lv3: {
+ NormalChance: 86
+ EnrichedChance: 96
+ }
+ Lv4: {
+ NormalChance: 79
+ EnrichedChance: 93
+ }
+ Lv5: {
+ NormalChance: 72
+ EnrichedChance: 90
+ }
+ Lv6: {
+ NormalChance: 65
+ EnrichedChance: 80
+ }
+ Lv7: {
+ NormalChance: 58
+ EnrichedChance: 70
+ }
+ Lv8: {
+ NormalChance: 51
+ EnrichedChance: 60
+ }
+ Lv9: {
+ NormalChance: 44
+ EnrichedChance: 50
+ }
+ Lv10: {
+ NormalChance: 37
+ EnrichedChance: 40
+ }
+ Lv11: {
+ NormalChance: 30
+ EnrichedChance: 30
+ Bonus: 600
+ }
+ Lv12: {
+ NormalChance: 23
+ EnrichedChance: 20
+ Bonus: 600
+ }
+ // Anything below this line was NOT MAINTENANED
+ Lv13: {
+ NormalChance: 16
+ EnrichedChance: 10
+ Bonus: 400
+ }
+ Lv14: {
+ NormalChance: 0
+ EnrichedChance: 0
+ }
+ Lv15: {
+ NormalChance: 0
+ EnrichedChance: 0
+ }
+ Lv16: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 300
+ }
+ Lv17: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 300
+ }
+ Lv18: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 300
+ }
+ Lv19: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 300
+ }
+ Lv20: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 300
+ }
+ }
+}
+WeaponLevel3: {
+ RefineryUISettings: (
+ {
+ Level: [1, 20]
+ Items: {
+ Acorn: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 100000000
+ }
+ }
+ },
+ )
+ StatsPerLevel: 800
+ RandomBonusStartLevel: 6
+ RandomBonusValue: 300
+ Rates: {
+ Lv2: {
+ NormalChance: 93
+ EnrichedChance: 99
+ }
+ Lv3: {
+ NormalChance: 86
+ EnrichedChance: 96
+ }
+ Lv4: {
+ NormalChance: 79
+ EnrichedChance: 93
+ }
+ Lv5: {
+ NormalChance: 72
+ EnrichedChance: 90
+ }
+ Lv6: {
+ NormalChance: 65
+ EnrichedChance: 80
+ }
+ Lv7: {
+ NormalChance: 58
+ EnrichedChance: 70
+ }
+ Lv8: {
+ NormalChance: 51
+ EnrichedChance: 60
+ }
+ Lv9: {
+ NormalChance: 44
+ EnrichedChance: 50
+ }
+ Lv10: {
+ NormalChance: 37
+ EnrichedChance: 40
+ }
+ Lv11: {
+ NormalChance: 30
+ EnrichedChance: 30
+ Bonus: 600
+ }
+ Lv12: {
+ NormalChance: 23
+ EnrichedChance: 20
+ Bonus: 600
+ }
+ // Anything below this line was NOT MAINTENANED
+ Lv13: {
+ NormalChance: 16
+ EnrichedChance: 10
+ Bonus: 400
+ }
+ Lv14: {
+ NormalChance: 0
+ EnrichedChance: 0
+ }
+ Lv15: {
+ NormalChance: 0
+ EnrichedChance: 0
+ }
+ Lv16: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 300
+ }
+ Lv17: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 300
+ }
+ Lv18: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 300
+ }
+ Lv19: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 300
+ }
+ Lv20: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 300
+ }
+ }
+}
+WeaponLevel4: {
+ RefineryUISettings: (
+ {
+ Level: [1, 20]
+ Items: {
+ Acorn: {
+ Type: "REFINE_CHANCE_TYPE_NORMAL"
+ Cost: 100000000
+ }
+ }
+ },
+ )
+ StatsPerLevel: 800
+ RandomBonusStartLevel: 6
+ RandomBonusValue: 300
+ Rates: {
+ Lv2: {
+ NormalChance: 93
+ EnrichedChance: 99
+ }
+ Lv3: {
+ NormalChance: 86
+ EnrichedChance: 96
+ }
+ Lv4: {
+ NormalChance: 79
+ EnrichedChance: 93
+ }
+ Lv5: {
+ NormalChance: 72
+ EnrichedChance: 90
+ }
+ Lv6: {
+ NormalChance: 65
+ EnrichedChance: 80
+ }
+ Lv7: {
+ NormalChance: 58
+ EnrichedChance: 70
+ }
+ Lv8: {
+ NormalChance: 51
+ EnrichedChance: 60
+ }
+ Lv9: {
+ NormalChance: 44
+ EnrichedChance: 50
+ }
+ Lv10: {
+ NormalChance: 37
+ EnrichedChance: 40
+ }
+ Lv11: {
+ NormalChance: 30
+ EnrichedChance: 30
+ Bonus: 600
+ }
+ Lv12: {
+ NormalChance: 23
+ EnrichedChance: 20
+ Bonus: 600
+ }
+ // Anything below this line was NOT MAINTENANED
+ Lv13: {
+ NormalChance: 16
+ EnrichedChance: 10
+ Bonus: 400
+ }
+ Lv14: {
+ NormalChance: 0
+ EnrichedChance: 0
+ }
+ Lv15: {
+ NormalChance: 0
+ EnrichedChance: 0
+ }
+ Lv16: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 300
+ }
+ Lv17: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 300
+ }
+ Lv18: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 300
+ }
+ Lv19: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 300
+ }
+ Lv20: {
+ NormalChance: 0
+ EnrichedChance: 0
+ Bonus: 300
+ }
+ }
+}
diff --git a/db/re/size_fix.txt b/db/re/size_fix.txt
new file mode 100644
index 0000000..31241f8
--- /dev/null
+++ b/db/re/size_fix.txt
@@ -0,0 +1,7 @@
+// Database for size fix for weapon damage.
+
+// Columns: Weapon type, Rows: Target size.
+// Unarmed, Knife, 1H Sword, 2H Sword, 1H Spear, 2H Spears, 1H Axe, 2H Axe, Mace, 2H Mace, Staff, Bow, Knuckle, Musical Instrument, Whip, Book, Katar, Revolver, Rifle, Shotgun, Gatling Gun, Grenade Launcher, Fuuma Shuriken, 2H Staff
+100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100, 80,100,100,100 // Size: Small
+100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100, 80,100,100,100 // Size: Medium
+100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100, 80,100,100,100 // Size: Large
diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf
new file mode 100644
index 0000000..28bb863
--- /dev/null
+++ b/db/re/skill_db.conf
@@ -0,0 +1,41008 @@
+//================= Hercules Database ==========================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ====================================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-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/>.
+//==============================================================================
+//= Renewal Skill Database [Hercules]
+//==============================================================================
+//= @Format Notes:
+//= - All string entries are case-sensitive and must be quoted.
+//= - All setting names are case-sensitive and must be keyed accurately.
+
+
+/******************************************************************************
+********************************* Entry structure *****************************
+*******************************************************************************
+{
+ // ------------------------------ Mandatory Fields ----------------------------
+ Id: ID (int) (Required)
+ Name: "Skill Name" (string) (Required)
+ MaxLevel: Skill Level (int) (Required)
+ // ------------------------------ Optional Fields -----------------------------
+ Description: "Skill Description" (string) (optional but recommended)
+ Range: Skill Range (int) (optional, defaults to 0) (can be grouped by Levels)
+ Note: Range < 5 is considered Melee range.
+ Hit: Hit Type (int) (optional, default "BDT_NORMAL")
+ Types - "BDT_SKILL", "BDT_MULTIHIT" or "BDT_NORMAL"
+ SkillType: { (bool, defaults to "Passive")
+ Passive: true/false (boolean, defaults to false)
+ Enemy: true/false (boolean, defaults to false)
+ Place: true/false (boolean, defaults to false)
+ Self: true/false (boolean, defaults to false)
+ Friend: true/false (boolean, defaults to false)
+ Trap: true/false (boolean, defaults to false)
+ }
+ SkillInfo: { (bool, defaults to "None")
+ Quest: true/false (boolean, defaults to false)
+ NPC: true/false (boolean, defaults to false)
+ Wedding: true/false (boolean, defaults to false)
+ Spirit: true/false (boolean, defaults to false)
+ Guild: true/false (boolean, defaults to false)
+ Song: true/false (boolean, defaults to false)
+ Ensemble: true/false (boolean, defaults to false)
+ Trap: true/false (boolean, defaults to false)
+ TargetSelf: true/false (boolean, defaults to false)
+ NoCastSelf: true/false (boolean, defaults to false)
+ PartyOnly: true/false (boolean, defaults to false)
+ GuildOnly: true/false (boolean, defaults to false)
+ NoEnemy: true/false (boolean, defaults to false)
+ IgnoreLandProtector: true/false (boolean, defaults to false)
+ Chorus: true/false (boolean, defaults to false)
+ FreeCastReduced: true/false (boolean, defaults to false)
+ FreeCastNormal: true/false (boolean, defaults to false)
+ Works like FreeCastReduced, but not reduce speed.
+ ShowSkillScale: true/false (boolean, defaults to false)
+ }
+ AttackType: "Attack Type" (string, defaults to "None")
+ HiddenTrap: true/false (boolean, defaults to false)
+ Types: "None", "Weapon", "Magic" or "Misc"
+ Element: "Element Type" (string) (Optional field - Default "Ele_Neutral")
+ (can be grouped by Levels)
+ Types: "Ele_Neutral", "Ele_Water", "Ele_Earth", "Ele_Fire", "Ele_Wind"
+ "Ele_Nature", "Ele_Holy", "Ele_Dark", "Ele_Ghost", "Ele_Undead"
+ "Ele_Weapon" - Uses weapon's element.
+ "Ele_Endowed" - Uses Endowed element.
+ "Ele_Random" - Uses random element.
+ DamageType: { (bool, default to "NoDamage")
+ NoDamage: true/false No damage skill
+ SplashArea: true/false Has splash area (requires source modification)
+ SplitDamage: true/false Damage should be split among targets (requires 'SplashArea' in order to work)
+ IgnoreCards: true/false Skill ignores caster's % damage cards (misc type always ignores)
+ IgnoreElement: true/false Skill ignores elemental adjustments
+ IgnoreDefense: true/false Skill ignores target's defense (misc type always ignores)
+ IgnoreFlee: true/false Skill ignores target's flee (magic type always ignores)
+ IgnoreDefCards: true/false Skill ignores target's def cards
+ }
+ SplashRange: Damage Splash Area (int, defaults to 0) (can be grouped by Levels)
+ Note: -1 for screen-wide.
+ NumberOfHits: Number of Hits (int, defaults to 1) (can be grouped by Levels)
+ Note: when positive, damage is increased by hits,
+ negative values just show number of hits without
+ increasing total damage.
+ InterruptCast: Cast Interruption (bool, defaults to false)
+ CastDefRate: Cast Defense Reduction (int, defaults to 0)
+ SkillInstances: Skill instances (int, defaults to 0) (can be grouped by Levels)
+ Notes: max amount of skill instances to place on the ground when
+ player_land_skill_limit/monster_land_skill_limit is enabled. For skills
+ that attack using a path, this is the path length to be used.
+ KnockBackTiles: Knock-back by 'n' Tiles (int, defaults to 0) (can be grouped by Levels)
+ CastTime: Skill cast Time (in ms) (int, defaults to 0) (can be grouped by Levels)
+ AfterCastActDelay: Skill Delay (in ms) (int, defaults to 0) (can be grouped by Levels)
+ AfterCastWalkDelay: Walk Delay (in ms) (int, defaults to 0) (can be grouped by Levels)
+ SkillData1: Skill Data/Duration (in ms) (int, defaults to 0) (can be grouped by Levels)
+ SkillData2: Skill Data/Duration (in ms) (int, defaults to 0) (can be grouped by Levels)
+ CoolDown: Skill Cooldown (in ms) (int, defaults to 0) (can be grouped by Levels)
+ FixedCastTime: Fixed Cast Time (in ms) (int, defaults to 0) (can be grouped by Levels)
+ Note: when 0, uses 20% of cast time and less than
+ 0 means no fixed cast time.
+ TargetMiscEffects (int, default to -1)
+ one misc effect or array of effects
+ TargetMiscEffect (int, default to -1)
+ TargetMiscEffect1 (int, default to -1)
+ first misc effect
+ TargetMiscEffect2 (int, default to -1)
+ second misc effect
+ CastTimeOptions: {
+ IgnoreDex: true/false (boolean, defaults to false)
+ IgnoreStatusEffect: true/false (boolean, defaults to false)
+ IgnoreItemBonus: true/false (boolean, defaults to false)
+ Note: Delay setting 'IgnoreDex' only makes sense when
+ delay_dependon_dex is enabled.
+ }
+ SkillDelayOptions: {
+ IgnoreDex: true/false (boolean, defaults to false)
+ IgnoreStatusEffect: true/false (boolean, defaults to false)
+ IgnoreItemBonus: true/false (boolean, defaults to false)
+ Note: Delay setting 'IgnoreDex' only makes sense when
+ delay_dependon_dex is enabled.
+ }
+ Requirements: {
+ HPCost: HP Cost (int, defaults to 0) (can be grouped by Levels)
+ SPCost: SP Cost (int, defaults to 0) (can be grouped by Levels)
+ HPRateCost: HP % Cost (int, defaults to 0) (can be grouped by Levels)
+ Note: If positive, it is a percent of your current hp,
+ otherwise it is a percent of your max hp.
+ SPRateCost: SP % Cost (int, defaults to 0) (can be grouped by Levels)
+ Note: If positive, it is a percent of your current sp,
+ otherwise it is a percent of your max sp.
+ ZenyCost: Zeny Cost (int, defaults to 0) (can be grouped by Levels)
+ WeaponTypes: { (bool or string, defaults to "All")
+ NoWeapon: true/false (boolean, defaults to false)
+ Daggers: true/false (boolean, defaults to false)
+ 1HSwords: true/false (boolean, defaults to false)
+ 2HSwords: true/false (boolean, defaults to false)
+ 1HSpears: true/false (boolean, defaults to false)
+ 2HSpears: true/false (boolean, defaults to false)
+ 1HAxes: true/false (boolean, defaults to false)
+ 2HAxes: true/false (boolean, defaults to false)
+ Maces: true/false (boolean, defaults to false)
+ 2HMaces: true/false (boolean, defaults to false)
+ Staves: true/false (boolean, defaults to false)
+ Bows: true/false (boolean, defaults to false)
+ Knuckles: true/false (boolean, defaults to false)
+ Instruments: true/false (boolean, defaults to false)
+ Whips: true/false (boolean, defaults to false)
+ Books: true/false (boolean, defaults to false)
+ Katars: true/false (boolean, defaults to false)
+ Revolvers: true/false (boolean, defaults to false)
+ Rifles: true/false (boolean, defaults to false)
+ GatlingGuns: true/false (boolean, defaults to false)
+ Shotguns: true/false (boolean, defaults to false)
+ GrenadeLaunchers: true/false (boolean, defaults to false)
+ FuumaShurikens: true/false (boolean, defaults to false)
+ 2HStaves: true/false (boolean, defaults to false)
+ MaxSingleWeaponType: true/false (boolean, defaults to false)
+ DWDaggers: true/false (boolean, defaults to false)
+ DWSwords: true/false (boolean, defaults to false)
+ DWAxes: true/false (boolean, defaults to false)
+ DWDaggerSword: true/false (boolean, defaults to false)
+ DWDaggerAxe: true/false (boolean, defaults to false)
+ DWSwordAxe: true/false (boolean, defaults to false)
+ }
+ AmmoTypes: { (for all types use string "All")
+ A_ARROW: true/false (boolean, defaults to false)
+ A_DAGGER: true/false (boolean, defaults to false)
+ A_BULLET: true/false (boolean, defaults to false)
+ A_SHELL: true/false (boolean, defaults to false)
+ A_GRENADE: true/false (boolean, defaults to false)
+ A_SHURIKEN: true/false (boolean, defaults to false)
+ A_KUNAI: true/false (boolean, defaults to false)
+ A_CANNONBALL: true/false (boolean, defaults to false)
+ A_THROWWEAPON: true/false (boolean, defaults to false)
+ }
+ AmmoAmount: Ammunition Amount (int, defaults to 0) (can be grouped by Levels)
+ State: "Required State" (string, defaults to "None") (can be grouped by Levels)
+ Types : 'None' = Nothing special
+ 'Moveable' = Requires to be able to move
+ 'NotOverWeight' = Requires to be less than 50% weight
+ 'InWater' = Requires to be standing on a water cell
+ 'Cart' = Requires a Pushcart
+ 'Riding' = Requires to ride either a peco or a dragon
+ 'Falcon' = Requires a Falcon
+ 'Sight' = Requires Sight skill activated
+ 'Hiding' = Requires Hiding skill activated
+ 'Cloaking' = Requires Cloaking skill activated
+ 'ExplosionSpirits' = Requires Fury skill activated
+ 'CartBoost' = Requires a Pushcart and Cart Boost skill activated
+ 'Shield' = Requires a 0,shield equipped
+ 'Warg' = Requires a Warg
+ 'Dragon' = Requires to ride a Dragon
+ 'RidingWarg' = Requires to ride a Warg
+ 'Mado' = Requires to have an active mado
+ 'PoisonWeapon' = Requires to be under Poisoning Weapon.
+ 'RollingCutter' = Requires at least one Rotation Counter from Rolling Cutter.
+ 'ElementalSpirit' = Requires to have an Elemental Spirit summoned.
+ 'MH_Fighting' = Requires Eleanor fighthing mode
+ 'MH_Grappling' = Requires Eleanor grappling mode
+ 'Peco' = Requires riding a peco
+ SpiritSphereCost: Spirit Sphere Cost (int, defaults to 0) (can be grouped by Levels)
+ Items: {
+ ItemID or Aegis_Name : Amount (int, defaults to 0) (can be grouped by Levels)
+ Item example: "ID717" or "Blue_Gemstone".
+ Notes: Items with amount 0 will not be consumed.
+ Amount can also be grouped by levels.
+ }
+ }
+ Unit: {
+ Id: [ UnitID, UnitID2 ] (int, defaults to 0) (can be grouped by Levels)
+ Layout: Unit Layout (int, defaults to 0) (can be grouped by Levels)
+ Range: Unit Range (int, defaults to 0) (can be grouped by Levels)
+ Interval: Unit Interval (int, defaults to 0) (can be grouped by Levels)
+ Target: "Unit Target" (string, defaults to "None")
+ Types:
+ All - affects everyone
+ NotEnemy - affects anyone who isn't an enemy
+ Friend - affects party, guildmates and neutral players
+ Party - affects party only
+ Guild - affects guild only
+ Ally - affects party and guildmates only
+ Sameguild - affects guild but not allies
+ Enemy - affects enemies only
+ None - affects nobody
+ Flag: {
+ UF_DEFNOTENEMY: true/false (boolean, defaults to false)
+ UF_NOREITERATION: true/false (boolean, defaults to false)
+ UF_NOFOOTSET: true/false (boolean, defaults to false)
+ UF_NOOVERLAP: true/false (boolean, defaults to false)
+ UF_PATHCHECK: true/false (boolean, defaults to false)
+ UF_NOPC: true/false (boolean, defaults to false)
+ UF_NOMOB: true/false (boolean, defaults to false)
+ UF_SKILL: true/false (boolean, defaults to false)
+ UF_DANCE: true/false (boolean, defaults to false)
+ UF_ENSEMBLE: true/false (boolean, defaults to false)
+ UF_SONG: true/false (boolean, defaults to false)
+ UF_DUALMODE: true/false (boolean, defaults to false)
+ UF_RANGEDSINGLEUNI: true/false (boolean, defaults to false)
+ }
+ }
+}
+*******************************************************************************/
+
+skill_db: (
+{
+ Id: 1
+ Name: "NV_BASIC"
+ Description: "Basic Skill"
+ MaxLevel: 9
+ NumberOfHits: 0
+},
+{
+ Id: 2
+ Name: "SM_SWORD"
+ Description: "Sword Mastery"
+ MaxLevel: 10
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 3
+ Name: "SM_TWOHAND"
+ Description: "Two-Handed Sword Mastery"
+ MaxLevel: 10
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 4
+ Name: "SM_RECOVERY"
+ Description: "Increase HP Recovery"
+ MaxLevel: 10
+ NumberOfHits: 0
+ SkillInfo: {
+ Quest: true
+ }
+},
+{
+ Id: 5
+ Name: "SM_BASH"
+ Description: "Falkon Strike"
+ MaxLevel: 10
+ Range: -1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ Requirements: {
+ SPCost: 60
+ WeaponTypes: {
+ NoWeapon: true
+ Daggers: true
+ 1HSwords: true
+ 2HSwords: true
+ 1HSpears: true
+ 2HSpears: true
+ 1HAxes: true
+ 2HAxes: true
+ Maces: true
+ 2HMaces: true
+ Knuckles: true
+ Instruments: true
+ Whips: true
+ Books: true
+ Katars: true
+ Revolvers: true
+ Rifles: true
+ }
+ }
+},
+{
+ Id: 6
+ Name: "SM_PROVOKE"
+ Description: "Provoke"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillInfo: {
+ Quest: true
+ }
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 30000
+ CoolDown: 300
+ CastTime: 20
+ Requirements: {
+ SPCost: 25
+ }
+},
+{
+ Id: 7
+ Name: "SM_MAGNUM"
+ Description: "Magnum Break"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Fire"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 2
+ KnockBackTiles: 2
+ AfterCastActDelay: 2000
+ SkillData1: 2000
+ SkillData2: 10000
+ FixedCastTime: 0
+ Requirements: {
+ HPCost: {
+ Lv1: 20
+ Lv2: 20
+ Lv3: 19
+ Lv4: 19
+ Lv5: 18
+ Lv6: 18
+ Lv7: 17
+ Lv8: 17
+ Lv9: 16
+ Lv10: 16
+ }
+ SPCost: 30
+ }
+},
+{
+ Id: 8
+ Name: "SM_ENDURE"
+ Description: "Endure"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 13000
+ Lv3: 16000
+ Lv4: 19000
+ Lv5: 22000
+ Lv6: 25000
+ Lv7: 28000
+ Lv8: 31000
+ Lv9: 34000
+ Lv10: 37000
+ }
+ SkillData2: 10000
+ CoolDown: 10000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 80
+ Lv3: 100
+ Lv4: 120
+ Lv5: 140
+ Lv6: 160
+ Lv7: 180
+ Lv8: 200
+ Lv9: 220
+ Lv10: 240
+ }
+ }
+},
+{
+ Id: 9
+ Name: "MG_SRECOVERY"
+ Description: "Increase SP Recovery"
+ MaxLevel: 10
+ NumberOfHits: 0
+ SkillInfo: {
+ Quest: true
+ }
+},
+{
+ Id: 10
+ Name: "MG_SIGHT"
+ Description: "Sight"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 3
+ InterruptCast: true
+ SkillData1: 10000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 11
+ Name: "MG_NAPALMBEAT"
+ Description: "Napalm Beat"
+ MaxLevel: 10
+ Range: {
+ Lv1: 10
+ Lv2: 11
+ Lv3: 12
+ Lv4: 13
+ Lv5: 14
+ Lv6: 15
+ Lv7: 15
+ Lv8: 15
+ Lv9: 15
+ Lv10: 15
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Neutral"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 3
+ Lv3: 3
+ Lv4: 4
+ Lv5: 4
+ Lv6: 5
+ Lv7: 5
+ Lv8: 5
+ Lv9: 5
+ Lv10: 5
+ }
+ InterruptCast: true
+ CastTime: 400
+ AfterCastActDelay: {
+ Lv1: 1000
+ Lv2: 900
+ Lv3: 750
+ Lv4: 550
+ Lv5: 300
+ Lv6: 300
+ Lv7: 300
+ Lv8: 300
+ Lv9: 300
+ Lv10: 200
+ }
+ FixedCastTime: 100
+ Requirements: {
+ SPCost: {
+ Lv1: 50
+ Lv2: 55
+ Lv3: 60
+ Lv4: 65
+ Lv5: 70
+ Lv6: 150
+ Lv7: 170
+ Lv8: 190
+ Lv9: 210
+ Lv10: 230
+ }
+ }
+},
+{
+ Id: 12
+ Name: "MG_SAFETYWALL"
+ Description: "Safety Wall"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Ghost"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 3200
+ Lv2: 2880
+ Lv3: 2560
+ Lv4: 2240
+ Lv5: 1920
+ Lv6: 1600
+ Lv7: 1280
+ Lv8: 960
+ Lv9: 640
+ Lv10: 320
+ }
+ SkillData1: {
+ Lv1: 5000
+ Lv2: 10000
+ Lv3: 15000
+ Lv4: 20000
+ Lv5: 25000
+ Lv6: 30000
+ Lv7: 35000
+ Lv8: 40000
+ Lv9: 45000
+ Lv10: 50000
+ }
+ FixedCastTime: {
+ Lv1: 800
+ Lv2: 720
+ Lv3: 640
+ Lv4: 560
+ Lv5: 480
+ Lv6: 400
+ Lv7: 320
+ Lv8: 240
+ Lv9: 160
+ Lv10: 80
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 30
+ Lv3: 30
+ Lv4: 35
+ Lv5: 35
+ Lv6: 35
+ Lv7: 40
+ Lv8: 40
+ Lv9: 40
+ Lv10: 40
+ }
+// Items: {
+// Blue_Gemstone: 1
+// }
+ }
+ Unit: {
+ Id: 0x7e
+ Interval: -1
+ Target: "All"
+ Flag: {
+ UF_DEFNOTENEMY: true
+ UF_NOREITERATION: true
+ }
+ }
+},
+{
+ Id: 13
+ Name: "MG_SOULSTRIKE"
+ Description: "Soul Strike"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Neutral"
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 2
+ Lv4: 2
+ Lv5: 3
+ Lv6: 3
+ Lv7: 4
+ Lv8: 4
+ Lv9: 5
+ Lv10: 5
+ }
+ InterruptCast: true
+ CastTime: 400
+ AfterCastActDelay: {
+ Lv1: 800
+ Lv2: 1000
+ Lv3: 1200
+ Lv4: 1500
+ Lv5: 1800
+ Lv6: 2000
+ Lv7: 2400
+ Lv8: 2400
+ Lv9: 2800
+ Lv10: 3000
+ }
+ FixedCastTime: 100
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 60
+ Lv3: 80
+ Lv4: 100
+ Lv5: 110
+ Lv6: 120
+ Lv7: 130
+ Lv8: 140
+ Lv9: 150
+ Lv10: 160
+ }
+ }
+},
+{
+ Id: 14
+ Name: "MG_COLDBOLT"
+ Description: "Cold Bolt"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 640
+ Lv2: 960
+ Lv3: 1280
+ Lv4: 1600
+ Lv5: 1920
+ Lv6: 2100
+ Lv7: 1560
+ Lv8: 2880
+ Lv9: 3200
+ Lv10: 3520
+ }
+ AfterCastActDelay: {
+ Lv1: 1000
+ Lv2: 1200
+ Lv3: 1400
+ Lv4: 1600
+ Lv5: 1800
+ Lv6: 2000
+ Lv7: 2200
+ Lv8: 2400
+ Lv9: 2600
+ Lv10: 2800
+ }
+ FixedCastTime: {
+ Lv1: 160
+ Lv2: 240
+ Lv3: 320
+ Lv4: 400
+ Lv5: 480
+ Lv6: 700
+ Lv7: 640
+ Lv8: 720
+ Lv9: 800
+ Lv10: 880
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 100
+ Lv3: 120
+ Lv4: 140
+ Lv5: 160
+ Lv6: 180
+ Lv7: 200
+ Lv8: 220
+ Lv9: 240
+ Lv10: 260
+ }
+ }
+},
+{
+ Id: 15
+ Name: "MG_FROSTDIVER"
+ Description: "Frost Diver"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ InterruptCast: true
+ CastTime: {
+ Lv1: 640
+ Lv2: 600
+ Lv3: 555
+ Lv4: 500
+ Lv5: 450
+ Lv6: 400
+ Lv7: 384
+ Lv8: 384
+ Lv9: 384
+ Lv10: 384
+ }
+ AfterCastActDelay: 300
+ SkillData2: {
+ Lv1: 4000
+ Lv2: 4500
+ Lv3: 5000
+ Lv4: 5500
+ Lv5: 6000
+ Lv6: 7000
+ Lv7: 8000
+ Lv8: 9000
+ Lv9: 10000
+ Lv10: 10500
+ }
+ FixedCastTime: 160
+ Requirements: {
+ SPCost: {
+ Lv1: 100
+ Lv2: 120
+ Lv3: 140
+ Lv4: 160
+ Lv5: 180
+ Lv6: 200
+ Lv7: 220
+ Lv8: 240
+ Lv9: 260
+ Lv10: 280
+ }
+ }
+},
+{
+ Id: 16
+ Name: "MG_STONECURSE"
+ Description: "Stone Curse"
+ MaxLevel: 10
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Earth"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 800
+ SkillData1: 5000
+ SkillData2: 20000
+ FixedCastTime: 200
+ Requirements: {
+ SPCost: {
+ Lv1: 25
+ Lv2: 24
+ Lv3: 23
+ Lv4: 22
+ Lv5: 21
+ Lv6: 20
+ Lv7: 19
+ Lv8: 18
+ Lv9: 17
+ Lv10: 16
+ }
+// Items: {
+// Red_Gemstone: 1
+// }
+ }
+},
+{
+ Id: 17
+ Name: "MG_FIREBALL"
+ Description: "Fire Ball"
+ MaxLevel: 10
+ Range: {
+ Lv1: 9
+ Lv2: 9
+ Lv3: 10
+ Lv4: 10
+ Lv5: 11
+ Lv6: 11
+ Lv7: 11
+ Lv8: 11
+ Lv9: 11
+ Lv10: 11
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ DamageType: {
+ SplashArea: true
+ //SplitDamage: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 2
+ Lv4: 3
+ Lv5: 3
+ Lv6: 3
+ Lv7: 3
+ Lv8: 3
+ Lv9: 3
+ Lv10: 3
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 1280
+ Lv2: 1200
+ Lv3: 1100
+ Lv4: 1000
+ Lv5: 800
+ Lv6: 800
+ Lv7: 800
+ Lv8: 800
+ Lv9: 800
+ Lv10: 800
+ }
+ AfterCastActDelay: {
+ Lv1: 1500
+ Lv2: 1400
+ Lv3: 1300
+ Lv4: 1200
+ Lv5: 1100
+ Lv6: 1000
+ Lv7: 1000
+ Lv8: 1000
+ Lv9: 1000
+ Lv10: 1000
+ }
+ FixedCastTime: {
+ Lv1: 320
+ Lv2: 300
+ Lv3: 280
+ Lv4: 260
+ Lv5: 220
+ Lv6: 200
+ Lv7: 200
+ Lv8: 200
+ Lv9: 200
+ Lv10: 200
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 90
+ Lv3: 100
+ Lv4: 110
+ Lv5: 120
+ Lv6: 120
+ Lv7: 120
+ Lv8: 120
+ Lv9: 120
+ Lv10: 120
+ }
+ }
+},
+{
+ Id: 18
+ Name: "MG_FIREWALL"
+ Description: "Nature Wall"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Nature"
+ InterruptCast: false
+ SkillInstances: 3
+ KnockBackTiles: 2
+ CastTime: {
+ Lv1: 1300
+ Lv2: 1140
+ Lv3: 1080
+ Lv4: 920
+ Lv5: 860
+ Lv6: 780
+ Lv7: 600
+ Lv8: 520
+ Lv9: 440
+ Lv10: 360
+ }
+ SkillData1: {
+ Lv1: 8500
+ Lv2: 10000
+ Lv3: 12000
+ Lv4: 14000
+ Lv5: 16000
+ Lv6: 18000
+ Lv7: 20000
+ Lv8: 22000
+ Lv9: 24000
+ Lv10: 26000
+ }
+ FixedCastTime: {
+ Lv1: 300
+ Lv2: 260
+ Lv3: 220
+ Lv4: 180
+ Lv5: 140
+ Lv6: 120
+ Lv7: 100
+ Lv8: 80
+ Lv9: 60
+ Lv10: 40
+ }
+ Requirements: {
+ SPCost: 140
+ }
+ Unit: {
+ Id: 0x7f
+ Layout: -1
+ Interval: 20
+ Target: "Enemy"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 19
+ Name: "MG_FIREBOLT"
+ Description: "Fire Bolt"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 640
+ Lv2: 960
+ Lv3: 1280
+ Lv4: 1600
+ Lv5: 1920
+ Lv6: 2100
+ Lv7: 1560
+ Lv8: 2880
+ Lv9: 3200
+ Lv10: 3520
+ }
+ AfterCastActDelay: {
+ Lv1: 1000
+ Lv2: 1200
+ Lv3: 1400
+ Lv4: 1600
+ Lv5: 1800
+ Lv6: 2000
+ Lv7: 2200
+ Lv8: 2400
+ Lv9: 2600
+ Lv10: 2800
+ }
+ FixedCastTime: {
+ Lv1: 160
+ Lv2: 240
+ Lv3: 320
+ Lv4: 400
+ Lv5: 480
+ Lv6: 700
+ Lv7: 640
+ Lv8: 720
+ Lv9: 800
+ Lv10: 880
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 100
+ Lv3: 120
+ Lv4: 140
+ Lv5: 160
+ Lv6: 180
+ Lv7: 200
+ Lv8: 220
+ Lv9: 240
+ Lv10: 260
+ }
+ }
+},
+{
+ Id: 20
+ Name: "MG_LIGHTNINGBOLT"
+ Description: "Lightning Bolt"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ NumberOfHits: {
+ Lv1: 2
+ Lv2: 3
+ Lv3: 4
+ Lv4: 5
+ Lv5: 6
+ Lv6: 7
+ Lv7: 8
+ Lv8: 9
+ Lv9: 10
+ Lv10: 10
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 640
+ Lv2: 960
+ Lv3: 1280
+ Lv4: 1600
+ Lv5: 1920
+ Lv6: 2100
+ Lv7: 1560
+ Lv8: 2880
+ Lv9: 3200
+ Lv10: 3520
+ }
+ AfterCastActDelay: {
+ Lv1: 1000
+ Lv2: 1200
+ Lv3: 1400
+ Lv4: 1600
+ Lv5: 1800
+ Lv6: 2000
+ Lv7: 2200
+ Lv8: 2400
+ Lv9: 2600
+ Lv10: 2800
+ }
+ FixedCastTime: {
+ Lv1: 160
+ Lv2: 240
+ Lv3: 320
+ Lv4: 400
+ Lv5: 480
+ Lv6: 700
+ Lv7: 640
+ Lv8: 720
+ Lv9: 800
+ Lv10: 880
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 100
+ Lv3: 120
+ Lv4: 140
+ Lv5: 160
+ Lv6: 180
+ Lv7: 200
+ Lv8: 220
+ Lv9: 240
+ Lv10: 260
+ }
+ }
+},
+{
+ Id: 21
+ Name: "MG_THUNDERSTORM"
+ Description: "Thunderstorm"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 640
+ Lv2: 1280
+ Lv3: 1920
+ Lv4: 2560
+ Lv5: 3200
+ Lv6: 3840
+ Lv7: 4480
+ Lv8: 5120
+ Lv9: 5760
+ Lv10: 6400
+ }
+ AfterCastActDelay: {
+ Lv1: 2000
+ Lv2: 2000
+ Lv3: 2000
+ Lv4: 2000
+ Lv5: 2000
+ Lv6: 2000
+ Lv7: 2000
+ Lv8: 2000
+ Lv9: 2000
+ Lv10: 2000
+ }
+ SkillData1: 500
+ FixedCastTime: {
+ Lv1: 160
+ Lv2: 320
+ Lv3: 480
+ Lv4: 640
+ Lv5: 800
+ Lv6: 960
+ Lv7: 1120
+ Lv8: 1280
+ Lv9: 1440
+ Lv10: 1600
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 29
+ Lv2: 34
+ Lv3: 39
+ Lv4: 44
+ Lv5: 49
+ Lv6: 54
+ Lv7: 59
+ Lv8: 64
+ Lv9: 69
+ Lv10: 74
+ }
+ }
+ Unit: {
+ Id: 0x86
+ Range: 2
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 22
+ Name: "AL_DP"
+ Description: "Divine Protection"
+ MaxLevel: 10
+ AttackType: "Weapon"
+ NumberOfHits: 0
+ SkillInfo: {
+ Quest: true
+ }
+},
+{
+ Id: 23
+ Name: "AL_DEMONBANE"
+ Description: "Demon Bane"
+ MaxLevel: 10
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 24
+ Name: "AL_RUWACH"
+ Description: "Ruwach"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 2
+ InterruptCast: true
+ SkillData1: 10000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 25
+ Name: "AL_PNEUMA"
+ Description: "Pneuma"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: 10000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ }
+ Unit: {
+ Id: 0x85
+ Layout: 1
+ Interval: -1
+ Target: "All"
+ Flag: {
+ UF_DEFNOTENEMY: true
+ UF_NOREITERATION: true
+ UF_RANGEDSINGLEUNIT: true
+ }
+ }
+},
+{
+ Id: 26
+ Name: "AL_TELEPORT"
+ Description: "Teleport"
+ MaxLevel: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 9
+ Lv3: 8
+ Lv4: 7
+ Lv5: 6
+ Lv6: 5
+ Lv7: 4
+ Lv8: 3
+ Lv9: 2
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 27
+ Name: "AL_WARP"
+ Description: "Warp Portal"
+ MaxLevel: 4
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillInstances: 3
+ SkillData1: {
+ Lv1: 5000
+ Lv2: 10000
+ Lv3: 15000
+ Lv4: 20000
+ Lv5: 25000
+ Lv6: 30000
+ Lv7: 35000
+ Lv8: 40000
+ Lv9: 45000
+ Lv10: 50000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 35
+ Lv2: 32
+ Lv3: 29
+ Lv4: 26
+ Lv5: 23
+ Lv6: 20
+ Lv7: 17
+ Lv8: 14
+ Lv9: 11
+ Lv10: 8
+ }
+// Items: {
+// Blue_Gemstone: 1
+// }
+ }
+ Unit: {
+ Id: [ 0x81, 0x80 ]
+ Interval: -1
+ Target: "All"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ UF_NOOVERLAP: true
+ }
+ }
+},
+{
+ Id: 28
+ Name: "AL_HEAL"
+ Description: "Heal"
+ MaxLevel: 3
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ NoDamage: true
+ IgnoreDefense: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ CoolDown: 2000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 100
+ Lv2: 110
+ Lv3: 120
+ Lv4: 130
+ Lv5: 140
+ Lv6: 150
+ Lv7: 160
+ Lv8: 170
+ Lv9: 180
+ Lv10: 200
+ }
+ }
+},
+{
+ Id: 29
+ Name: "AL_INCAGI"
+ Description: "Increase AGI"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 800
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 80000
+ Lv3: 100000
+ Lv4: 120000
+ Lv5: 140000
+ Lv6: 160000
+ Lv7: 180000
+ Lv8: 200000
+ Lv9: 220000
+ Lv10: 240000
+ }
+ FixedCastTime: 200
+ Requirements: {
+ HPCost: 15
+ SPCost: {
+ Lv1: 60
+ Lv2: 80
+ Lv3: 100
+ Lv4: 120
+ Lv5: 140
+ Lv6: 160
+ Lv7: 180
+ Lv8: 200
+ Lv9: 220
+ Lv10: 240
+ }
+ }
+},
+{
+ Id: 30
+ Name: "AL_DECAGI"
+ Description: "Decrease AGI"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 750
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 40000
+ Lv2: 50000
+ Lv3: 60000
+ Lv4: 70000
+ Lv5: 80000
+ Lv6: 90000
+ Lv7: 100000
+ Lv8: 110000
+ Lv9: 120000
+ Lv10: 130000
+ }
+ FixedCastTime: 250
+ Requirements: {
+ SPCost: {
+ Lv1: 15
+ Lv2: 17
+ Lv3: 19
+ Lv4: 21
+ Lv5: 23
+ Lv6: 25
+ Lv7: 27
+ Lv8: 29
+ Lv9: 31
+ Lv10: 33
+ }
+ }
+},
+{
+ Id: 31
+ Name: "AL_HOLYWATER"
+ Description: "Aqua Benedicta"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 800
+ AfterCastActDelay: 500
+ FixedCastTime: 200
+ Requirements: {
+ SPCost: 10
+ State: "InWater"
+ }
+},
+{
+ Id: 32
+ Name: "AL_CRUCIS"
+ Description: "Signum Crucis"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 15
+ InterruptCast: true
+ CastTime: 350
+ AfterCastActDelay: 2000
+ FixedCastTime: 150
+ Requirements: {
+ SPCost: 35
+ }
+},
+{
+ Id: 33
+ Name: "AL_ANGELUS"
+ Description: "Angelus"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ InterruptCast: true
+ CastTime: 350
+ AfterCastActDelay: 3500
+ SkillData1: {
+ Lv1: 15000
+ Lv2: 30000
+ Lv3: 45000
+ Lv4: 60000
+ Lv5: 75000
+ Lv6: 90000
+ Lv7: 105000
+ Lv8: 120000
+ Lv9: 135000
+ Lv10: 150000
+ }
+ FixedCastTime: 150
+ Requirements: {
+ SPCost: {
+ Lv1: 100
+ Lv2: 150
+ Lv3: 200
+ Lv4: 250
+ Lv5: 300
+ Lv6: 350
+ Lv7: 400
+ Lv8: 450
+ Lv9: 500
+ Lv10: 550
+ }
+ }
+},
+{
+ Id: 34
+ Name: "AL_BLESSING"
+ Description: "Blessing"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 80000
+ Lv3: 100000
+ Lv4: 120000
+ Lv5: 140000
+ Lv6: 160000
+ Lv7: 180000
+ Lv8: 200000
+ Lv9: 220000
+ Lv10: 240000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 28
+ Lv2: 32
+ Lv3: 36
+ Lv4: 40
+ Lv5: 44
+ Lv6: 48
+ Lv7: 52
+ Lv8: 56
+ Lv9: 60
+ Lv10: 64
+ }
+ }
+},
+{
+ Id: 35
+ Name: "AL_CURE"
+ Description: "Cure"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData2: 6000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 15
+ }
+},
+{
+ Id: 36
+ Name: "MC_INCCARRY"
+ Description: "Enlarge Weight Limit"
+ MaxLevel: 10
+ NumberOfHits: 0
+},
+{
+ Id: 37
+ Name: "MC_DISCOUNT"
+ Description: "Discount"
+ MaxLevel: 10
+ NumberOfHits: 0
+},
+{
+ Id: 38
+ Name: "MC_OVERCHARGE"
+ Description: "Overcharge"
+ MaxLevel: 10
+ NumberOfHits: 0
+},
+{
+ Id: 39
+ Name: "MC_PUSHCART"
+ Description: "Pushcart"
+ MaxLevel: 10
+ Range: 1
+ NumberOfHits: 0
+},
+{
+ Id: 40
+ Name: "MC_IDENTIFY"
+ Description: "Item Appraisal"
+ MaxLevel: 1
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 41
+ Name: "MC_VENDING"
+ Description: "Vending"
+ MaxLevel: 10
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 30
+ State: "Cart"
+ }
+},
+{
+ Id: 42
+ Name: "MC_MAMMONITE"
+ Description: "Supreme Attack"
+ MaxLevel: 10
+ Range: -1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ Requirements: {
+ SPCost: 55
+ HPRateCost: 2
+ WeaponTypes: {
+ NoWeapon: true
+ Daggers: true
+ 1HSwords: true
+ 2HSwords: true
+ 1HSpears: true
+ 2HSpears: true
+ 1HAxes: true
+ 2HAxes: true
+ Maces: true
+ 2HMaces: true
+ Knuckles: true
+ Instruments: true
+ Whips: true
+ Books: true
+ Katars: true
+ Revolvers: true
+ Rifles: true
+ }
+ }
+},
+{
+ Id: 43
+ Name: "AC_OWL"
+ Description: "Owl's Eye"
+ MaxLevel: 10
+ NumberOfHits: 0
+ SkillInfo: {
+ Quest: true
+ }
+},
+{
+ Id: 44
+ Name: "AC_VULTURE"
+ Description: "Archer's Eye"
+ MaxLevel: 1
+ NumberOfHits: 0
+ SkillInfo: {
+ Quest: true
+ }
+},
+{
+ Id: 45
+ Name: "AC_CONCENTRATION"
+ Description: "Improve Concentration"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 3
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 80000
+ Lv3: 100000
+ Lv4: 120000
+ Lv5: 130000
+ Lv6: 140000
+ Lv7: 150000
+ Lv8: 160000
+ Lv9: 170000
+ Lv10: 180000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 65
+ Lv2: 70
+ Lv3: 75
+ Lv4: 80
+ Lv5: 85
+ Lv6: 90
+ Lv7: 95
+ Lv8: 100
+ Lv9: 105
+ Lv10: 110
+ }
+ }
+},
+{
+ Id: 46
+ Name: "AC_DOUBLE"
+ Description: "Double Strafe"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: 2
+ AfterCastActDelay: 100
+ SkillData1: 100
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 12
+ WeaponTypes: {
+ Bows: true
+ }
+ AmmoTypes: {
+ A_ARROW: true
+ }
+ AmmoAmount: 1
+ }
+},
+{
+ Id: 47
+ Name: "AC_SHOWER"
+ Description: "Arrow Shower"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ IgnoreLandProtector: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 3
+ Lv5: 3
+ Lv6: 3
+ Lv7: 3
+ Lv8: 3
+ Lv9: 3
+ Lv10: 3
+ }
+ KnockBackTiles: 1
+ AfterCastActDelay: 100
+ SkillData1: 100
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 80
+ WeaponTypes: {
+ Bows: true
+ Revolvers: true
+ Rifles: true
+ GatlingGuns: true
+ Shotguns: true
+ }
+ AmmoTypes: {
+ A_ARROW: true
+ A_BULLET: true
+ }
+ AmmoAmount: {
+ Lv1: 3
+ Lv2: 5
+ Lv3: 5
+ Lv4: 5
+ Lv5: 5
+ Lv6: 5
+ Lv7: 5
+ Lv8: 5
+ Lv9: 5
+ Lv10: 5
+ }
+ }
+ Unit: {
+ Id: 0x86
+ Range: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 2
+ Lv4: 2
+ Lv5: 2
+ Lv6: 2
+ Lv7: 2
+ Lv8: 2
+ Lv9: 2
+ Lv10: 2
+ }
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_SKILL: true
+ }
+ }
+},
+{
+ Id: 48
+ Name: "TF_DOUBLE"
+ Description: "Double Attack"
+ MaxLevel: 10
+ Range: -1
+ Hit: "BDT_MULTIHIT"
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: 2
+},
+{
+ Id: 49
+ Name: "TF_MISS"
+ Description: "Improve Dodge"
+ MaxLevel: 10
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 50
+ Name: "TF_STEAL"
+ Description: "Steal"
+ MaxLevel: 10
+ Range: 1
+ CoolDown: 3000
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 15
+ Lv2: 14
+ Lv3: 13
+ Lv4: 12
+ Lv5: 11
+ Lv6: 10
+ Lv7: 10
+ Lv8: 9
+ Lv9: 9
+ Lv10: 8
+ }
+ }
+},
+{
+ Id: 51
+ Name: "TF_HIDING"
+ Description: "Hiding"
+ MaxLevel: 10
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 2000
+ Lv2: 30000
+ Lv3: 60000
+ Lv4: 90000
+ Lv5: 120000
+ Lv6: 150000
+ Lv7: 180000
+ Lv8: 210000
+ Lv9: 240000
+ Lv10: 270000
+ Lv11: 300000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 1000
+ }
+},
+{
+ Id: 52
+ Name: "TF_POISON"
+ Description: "Envenom"
+ MaxLevel: 10
+ Range: -2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Nature"
+ SkillData2: {
+ Lv1: 15000
+ Lv2: 20000
+ Lv3: 25000
+ Lv4: 30000
+ Lv5: 35000
+ Lv6: 40000
+ Lv7: 45000
+ Lv8: 50000
+ Lv9: 55000
+ Lv10: 60000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 12
+ }
+},
+{
+ Id: 53
+ Name: "TF_DETOXIFY"
+ Description: "Detoxify"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Nature"
+ CastTime: 1500
+ AfterCastActDelay: 2000
+ FixedCastTime: 1000
+ CoolDown: 30000
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPRateCost: 40
+ }
+},
+{
+ Id: 54
+ Name: "ALL_RESURRECTION"
+ Description: "Resurrection"
+ MaxLevel: 4
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 4800
+ Lv2: 3200
+ Lv3: 1600
+ Lv4: 800
+ Lv5: 1
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ AfterCastActDelay: {
+ Lv1: 500
+ Lv2: 1000
+ Lv3: 1500
+ Lv4: 2000
+ Lv5: 4000
+ Lv6: 5000
+ Lv7: 6000
+ Lv8: 7000
+ Lv9: 8000
+ Lv10: 9000
+ }
+ FixedCastTime: {
+ Lv1: 1200
+ Lv2: 800
+ Lv3: 400
+ Lv4: 100
+ Lv5: 1
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ Requirements: {
+ SPCost: 200
+// Items: {
+// Blue_Gemstone: 1
+// }
+ }
+},
+{
+ Id: 55
+ Name: "KN_SPEARMASTERY"
+ Description: "Spear Mastery"
+ MaxLevel: 10
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 56
+ Name: "KN_PIERCE"
+ Description: "Pierce"
+ MaxLevel: 10
+ Range: -2
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: 3
+ Requirements: {
+ SPCost: 7
+ WeaponTypes: {
+ 1HSpears: true
+ 2HSpears: true
+ }
+ }
+},
+{
+ Id: 57
+ Name: "KN_BRANDISHSPEAR"
+ Description: "Brandish Spear"
+ MaxLevel: 10
+ Range: -2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ KnockBackTiles: 3
+ CastTime: 350
+ FixedCastTime: 350
+ Requirements: {
+ SPCost: 12
+ WeaponTypes: {
+ 1HSpears: true
+ 2HSpears: true
+ }
+ State: "Riding"
+ }
+},
+{
+ Id: 58
+ Name: "KN_SPEARSTAB"
+ Description: "Spear Stab"
+ MaxLevel: 10
+ Range: -4
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ KnockBackTiles: 6
+ Requirements: {
+ SPCost: 9
+ WeaponTypes: {
+ 1HSpears: true
+ 2HSpears: true
+ }
+ }
+},
+{
+ Id: 59
+ Name: "KN_SPEARBOOMERANG"
+ Description: "Spear Boomerang"
+ MaxLevel: 5
+ Range: {
+ Lv1: 3
+ Lv2: 5
+ Lv3: 7
+ Lv4: 9
+ Lv5: 11
+ Lv6: 13
+ Lv7: 15
+ Lv8: 17
+ Lv9: 19
+ Lv10: 21
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ AfterCastActDelay: 1000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ WeaponTypes: {
+ 1HSpears: true
+ 2HSpears: true
+ }
+ }
+},
+{
+ Id: 60
+ Name: "KN_TWOHANDQUICKEN"
+ Description: "Twohand Quicken"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 60000
+ Lv3: 90000
+ Lv4: 120000
+ Lv5: 150000
+ Lv6: 180000
+ Lv7: 210000
+ Lv8: 240000
+ Lv9: 270000
+ Lv10: 300000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 140
+ Lv2: 180
+ Lv3: 220
+ Lv4: 260
+ Lv5: 300
+ Lv6: 340
+ Lv7: 380
+ Lv8: 420
+ Lv9: 460
+ Lv10: 500
+ }
+ WeaponTypes: {
+ 2HSwords: true
+ 2HMaces: true
+ 2HSpears: true
+ }
+ }
+},
+{
+ Id: 61
+ Name: "KN_AUTOCOUNTER"
+ Description: "Counter Attack"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ IgnoreDefense: true
+ }
+ SkillData1: {
+ Lv1: 1300
+ Lv2: 2000
+ Lv3: 3000
+ Lv4: 4000
+ Lv5: 5000
+ Lv6: 6000
+ Lv7: 7000
+ Lv8: 8000
+ Lv9: 9000
+ Lv10: 10000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 100
+ WeaponTypes: {
+ NoWeapon: true
+ Daggers: true
+ 1HSwords: true
+ 2HSwords: true
+ 1HSpears: true
+ 2HSpears: true
+ 1HAxes: true
+ 2HAxes: true
+ Maces: true
+ 2HMaces: true
+ Knuckles: true
+ Instruments: true
+ Whips: true
+ Books: true
+ Katars: true
+ Revolvers: true
+ Rifles: true
+ GatlingGuns: true
+ Shotguns: true
+ GrenadeLaunchers: true
+ FuumaShurikens: true
+ }
+ }
+},
+{
+ Id: 62
+ Name: "KN_BOWLINGBASH"
+ Description: "Bowling Bash"
+ MaxLevel: 10
+ Range: -2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 1
+ KnockBackTiles: 1
+ CastTime: 350
+ FixedCastTime: 350
+ Requirements: {
+ SPCost: {
+ Lv1: 13
+ Lv2: 14
+ Lv3: 15
+ Lv4: 16
+ Lv5: 17
+ Lv6: 18
+ Lv7: 19
+ Lv8: 20
+ Lv9: 21
+ Lv10: 22
+ }
+ }
+},
+{
+ Id: 63
+ Name: "KN_RIDING"
+ Description: "Peco Peco Riding"
+ MaxLevel: 1
+ AttackType: "Weapon"
+ NumberOfHits: 0
+ SkillInfo: {
+ Quest: true
+ }
+},
+{
+ Id: 64
+ Name: "KN_CAVALIERMASTERY"
+ Description: "Cavalier Mastery"
+ MaxLevel: 5
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 65
+ Name: "PR_MACEMASTERY"
+ Description: "Mace Mastery"
+ MaxLevel: 10
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 66
+ Name: "PR_IMPOSITIO"
+ Description: "Impositio Manus"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 3000
+ SkillData1: 60000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 13
+ Lv2: 16
+ Lv3: 19
+ Lv4: 22
+ Lv5: 25
+ Lv6: 28
+ Lv7: 31
+ Lv8: 34
+ Lv9: 37
+ Lv10: 40
+ }
+ }
+},
+{
+ Id: 67
+ Name: "PR_SUFFRAGIUM"
+ Description: "Suffragium"
+ MaxLevel: 3
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 2000
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 20000
+ Lv3: 10000
+ Lv4: 1
+ Lv5: 1
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 8
+ }
+},
+{
+ Id: 68
+ Name: "PR_ASPERSIO"
+ Description: "Aspersio"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ NoDamage: true
+ IgnoreElement: true
+ IgnoreDefense: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 2000
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 90000
+ Lv3: 120000
+ Lv4: 150000
+ Lv5: 180000
+ Lv6: 210000
+ Lv7: 240000
+ Lv8: 270000
+ Lv9: 300000
+ Lv10: 330000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 75
+ Lv2: 95
+ Lv3: 115
+ Lv4: 135
+ Lv5: 155
+ Lv6: 175
+ Lv7: 195
+ Lv8: 215
+ Lv9: 235
+ Lv10: 250
+ }
+// Items: {
+// Holy_Water: 1
+// }
+ }
+},
+{
+ Id: 69
+ Name: "PR_BENEDICTIO"
+ Description: "B.S. Sacramenti"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Ensemble: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ IgnoreDefense: true
+ }
+ SplashRange: 1
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 40000
+ Lv2: 80000
+ Lv3: 120000
+ Lv4: 160000
+ Lv5: 200000
+ Lv6: 240000
+ Lv7: 280000
+ Lv8: 320000
+ Lv9: 360000
+ Lv10: 400000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 20
+ }
+},
+{
+ Id: 70
+ Name: "PR_SANCTUARY"
+ Description: "Sanctuary"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ NoDamage: true
+ IgnoreDefense: true
+ }
+ InterruptCast: true
+ KnockBackTiles: 1
+ CastTime: 4000
+ SkillData1: {
+ Lv1: 4000
+ Lv2: 7000
+ Lv3: 10000
+ Lv4: 13000
+ Lv5: 16000
+ Lv6: 19000
+ Lv7: 22000
+ Lv8: 25000
+ Lv9: 28000
+ Lv10: 31000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 15
+ Lv2: 18
+ Lv3: 21
+ Lv4: 24
+ Lv5: 27
+ Lv6: 30
+ Lv7: 33
+ Lv8: 36
+ Lv9: 39
+ Lv10: 42
+ }
+// Items: {
+// Blue_Gemstone: 1
+// }
+ }
+ Unit: {
+ Id: 0x83
+ Layout: -1
+ Range: 1
+ Interval: 1000
+ Target: "All"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 71
+ Name: "PR_SLOWPOISON"
+ Description: "Slow Poison"
+ MaxLevel: 4
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 20000
+ Lv3: 30000
+ Lv4: 40000
+ Lv5: 50000
+ Lv6: 60000
+ Lv7: 70000
+ Lv8: 80000
+ Lv9: 90000
+ Lv10: 100000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 6
+ Lv2: 8
+ Lv3: 10
+ Lv4: 12
+ Lv5: 14
+ Lv6: 16
+ Lv7: 18
+ Lv8: 20
+ Lv9: 22
+ Lv10: 24
+ }
+ }
+},
+{
+ Id: 72
+ Name: "PR_STRECOVERY"
+ Description: "Status Recovery"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 2000
+ SkillData2: 30000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 5
+ }
+},
+{
+ Id: 73
+ Name: "PR_KYRIE"
+ Description: "Kyrie Eleison"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1600
+ AfterCastActDelay: 2000
+ SkillData1: 120000
+ FixedCastTime: 400
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 20
+ Lv3: 20
+ Lv4: 25
+ Lv5: 25
+ Lv6: 25
+ Lv7: 30
+ Lv8: 30
+ Lv9: 30
+ Lv10: 35
+ }
+ }
+},
+{
+ Id: 74
+ Name: "PR_MAGNIFICAT"
+ Description: "Magnificat"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ InterruptCast: true
+ CastTime: 3200
+ AfterCastActDelay: 2000
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 45000
+ Lv3: 60000
+ Lv4: 75000
+ Lv5: 90000
+ Lv6: 105000
+ Lv7: 120000
+ Lv8: 135000
+ Lv9: 150000
+ Lv10: 165000
+ }
+ FixedCastTime: 800
+ Requirements: {
+ SPCost: 40
+ }
+},
+{
+ Id: 75
+ Name: "PR_GLORIA"
+ Description: "Gloria"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ InterruptCast: true
+ AfterCastActDelay: 2000
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 20
+ }
+},
+{
+ Id: 76
+ Name: "PR_LEXDIVINA"
+ Description: "Lex Divina"
+ MaxLevel: 10
+ Range: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ InterruptCast: true
+ AfterCastActDelay: 3000
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 35000
+ Lv3: 40000
+ Lv4: 45000
+ Lv5: 50000
+ Lv6: 60000
+ Lv7: 60000
+ Lv8: 60000
+ Lv9: 60000
+ Lv10: 60000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 20
+ Lv3: 20
+ Lv4: 20
+ Lv5: 20
+ Lv6: 18
+ Lv7: 16
+ Lv8: 14
+ Lv9: 12
+ Lv10: 10
+ }
+ }
+},
+{
+ Id: 77
+ Name: "PR_TURNUNDEAD"
+ Description: "Turn Undead"
+ MaxLevel: 10
+ Range: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ IgnoreCards: true
+ IgnoreDefense: true
+ }
+ InterruptCast: true
+ CastTime: 800
+ AfterCastActDelay: 3000
+ FixedCastTime: 200
+ Requirements: {
+ SPCost: 20
+ }
+},
+{
+ Id: 78
+ Name: "PR_LEXAETERNA"
+ Description: "Lex Aeterna"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ InterruptCast: true
+ AfterCastActDelay: 3000
+ SkillData1: 600000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 79
+ Name: "PR_MAGNUS"
+ Description: "Magnus Exorcismus"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ InterruptCast: true
+ CastTime: 12000
+ AfterCastActDelay: 4000
+ SkillData1: {
+ Lv1: 5000
+ Lv2: 6000
+ Lv3: 7000
+ Lv4: 8000
+ Lv5: 9000
+ Lv6: 10000
+ Lv7: 11000
+ Lv8: 12000
+ Lv9: 13000
+ Lv10: 14000
+ }
+ FixedCastTime: 3000
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 42
+ Lv3: 44
+ Lv4: 46
+ Lv5: 48
+ Lv6: 50
+ Lv7: 52
+ Lv8: 54
+ Lv9: 56
+ Lv10: 58
+ }
+// Items: {
+// Blue_Gemstone: 1
+// }
+ }
+ Unit: {
+ Id: 0x84
+ Layout: -1
+ Range: 1
+ Interval: 3000
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 80
+ Name: "WZ_FIREPILLAR"
+ Description: "Fire Pillar"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ DamageType: {
+ IgnoreDefense: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 1
+ Lv4: 1
+ Lv5: 1
+ Lv6: 2
+ Lv7: 2
+ Lv8: 2
+ Lv9: 2
+ Lv10: 2
+ }
+ NumberOfHits: {
+ Lv1: -3
+ Lv2: -4
+ Lv3: -5
+ Lv4: -6
+ Lv5: -7
+ Lv6: -8
+ Lv7: -9
+ Lv8: -10
+ Lv9: -11
+ Lv10: -12
+ }
+ InterruptCast: true
+ SkillInstances: 5
+ CastTime: {
+ Lv1: 1920
+ Lv2: 1728
+ Lv3: 1536
+ Lv4: 1344
+ Lv5: 1152
+ Lv6: 960
+ Lv7: 768
+ Lv8: 576
+ Lv9: 384
+ Lv10: 192
+ }
+ AfterCastActDelay: 1000
+ SkillData1: 30000
+ SkillData2: {
+ Lv1: 600
+ Lv2: 800
+ Lv3: 1000
+ Lv4: 1200
+ Lv5: 1400
+ Lv6: 1600
+ Lv7: 1800
+ Lv8: 2000
+ Lv9: 2200
+ Lv10: 2400
+ }
+ FixedCastTime: {
+ Lv1: 480
+ Lv2: 432
+ Lv3: 384
+ Lv4: 336
+ Lv5: 288
+ Lv6: 240
+ Lv7: 192
+ Lv8: 144
+ Lv9: 96
+ Lv10: 48
+ }
+ Requirements: {
+ SPCost: 75
+ }
+ Unit: {
+ Id: [ 0x87, 0x88 ]
+ Range: 1
+ Interval: 2000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 81
+ Name: "WZ_SIGHTRASHER"
+ Description: "Sightrasher"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ SplashRange: 3
+ InterruptCast: true
+ KnockBackTiles: 5
+ AfterCastActDelay: 2000
+ SkillData1: 500
+ FixedCastTime: 80
+ Requirements: {
+ SPCost: {
+ Lv1: 35
+ Lv2: 37
+ Lv3: 39
+ Lv4: 41
+ Lv5: 43
+ Lv6: 45
+ Lv7: 47
+ Lv8: 49
+ Lv9: 51
+ Lv10: 53
+ }
+ State: "Sight"
+ }
+},
+{
+ Id: 83
+ Name: "WZ_METEOR"
+ Description: "Meteor Storm"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ SplashRange: {
+ Lv1: 3
+ Lv2: 3
+ Lv3: 3
+ Lv4: 3
+ Lv5: 3
+ Lv6: 3
+ Lv7: 3
+ Lv8: 3
+ Lv9: 3
+ Lv10: 3
+ }
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 2
+ Lv4: 2
+ Lv5: 3
+ Lv6: 3
+ Lv7: 4
+ Lv8: 4
+ Lv9: 5
+ Lv10: 5
+ }
+ InterruptCast: true
+ CastTime: 9600
+ AfterCastActDelay: {
+ Lv1: 2000
+ Lv2: 3000
+ Lv3: 3000
+ Lv4: 4000
+ Lv5: 4000
+ Lv6: 5000
+ Lv7: 5000
+ Lv8: 6000
+ Lv9: 6000
+ Lv10: 7000
+ }
+ SkillData1: 500
+ SkillData2: 5000
+ FixedCastTime: 2400
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 24
+ Lv3: 30
+ Lv4: 34
+ Lv5: 40
+ Lv6: 44
+ Lv7: 50
+ Lv8: 54
+ Lv9: 60
+ Lv10: 64
+ }
+ }
+ Unit: {
+ Id: 0x86
+ Range: 3
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 84
+ Name: "WZ_JUPITEL"
+ Description: "Jupitel Thunder"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ NumberOfHits: {
+ Lv1: 3
+ Lv2: 4
+ Lv3: 5
+ Lv4: 6
+ Lv5: 7
+ Lv6: 8
+ Lv7: 9
+ Lv8: 10
+ Lv9: 11
+ Lv10: 12
+ }
+ InterruptCast: true
+ KnockBackTiles: {
+ Lv1: 2
+ Lv2: 3
+ Lv3: 3
+ Lv4: 4
+ Lv5: 4
+ Lv6: 5
+ Lv7: 5
+ Lv8: 6
+ Lv9: 6
+ Lv10: 7
+ }
+ CastTime: {
+ Lv1: 1600
+ Lv2: 1920
+ Lv3: 2240
+ Lv4: 2560
+ Lv5: 2880
+ Lv6: 3200
+ Lv7: 3520
+ Lv8: 3840
+ Lv9: 4160
+ Lv10: 4480
+ }
+ FixedCastTime: {
+ Lv1: 400
+ Lv2: 480
+ Lv3: 560
+ Lv4: 640
+ Lv5: 720
+ Lv6: 800
+ Lv7: 880
+ Lv8: 960
+ Lv9: 1040
+ Lv10: 1120
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 23
+ Lv3: 26
+ Lv4: 29
+ Lv5: 32
+ Lv6: 35
+ Lv7: 38
+ Lv8: 41
+ Lv9: 44
+ Lv10: 47
+ }
+ }
+},
+{
+ Id: 85
+ Name: "WZ_VERMILION"
+ Description: "Lord of Vermilion"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ NumberOfHits: -10
+ InterruptCast: true
+ CastTime: {
+ Lv1: 9600
+ Lv2: 9280
+ Lv3: 8960
+ Lv4: 8640
+ Lv5: 8320
+ Lv6: 8000
+ Lv7: 7680
+ Lv8: 7360
+ Lv9: 7040
+ Lv10: 6720
+ }
+ AfterCastActDelay: 5000
+ SkillData1: 4000
+ SkillData2: {
+ Lv1: 5500
+ Lv2: 6000
+ Lv3: 6500
+ Lv4: 7000
+ Lv5: 7500
+ Lv6: 8000
+ Lv7: 8500
+ Lv8: 9000
+ Lv9: 9500
+ Lv10: 10000
+ }
+ FixedCastTime: {
+ Lv1: 2400
+ Lv2: 2320
+ Lv3: 2240
+ Lv4: 2160
+ Lv5: 2080
+ Lv6: 2000
+ Lv7: 1920
+ Lv8: 1840
+ Lv9: 1760
+ Lv10: 1680
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 64
+ Lv3: 68
+ Lv4: 72
+ Lv5: 76
+ Lv6: 80
+ Lv7: 84
+ Lv8: 88
+ Lv9: 92
+ Lv10: 96
+ }
+ }
+ Unit: {
+ Id: 0x86
+ Layout: 5
+ Range: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 1
+ Lv4: 1
+ Lv5: 1
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ Interval: 1250
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 86
+ Name: "WZ_WATERBALL"
+ Description: "Water Ball"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ InterruptCast: true
+ CastTime: {
+ Lv1: 640
+ Lv2: 1280
+ Lv3: 1920
+ Lv4: 2560
+ Lv5: 3200
+ Lv6: 3200
+ Lv7: 3200
+ Lv8: 3200
+ Lv9: 3200
+ Lv10: 3200
+ }
+ FixedCastTime: {
+ Lv1: 160
+ Lv2: 320
+ Lv3: 480
+ Lv4: 640
+ Lv5: 800
+ Lv6: 800
+ Lv7: 800
+ Lv8: 800
+ Lv9: 800
+ Lv10: 800
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 15
+ Lv2: 20
+ Lv3: 20
+ Lv4: 25
+ Lv5: 25
+ Lv6: 25
+ Lv7: 25
+ Lv8: 25
+ Lv9: 25
+ Lv10: 25
+ }
+ State: "InWater"
+ }
+},
+{
+ Id: 87
+ Name: "WZ_ICEWALL"
+ Description: "Ice Wall"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 5000
+ Lv2: 10000
+ Lv3: 15000
+ Lv4: 20000
+ Lv5: 25000
+ Lv6: 30000
+ Lv7: 35000
+ Lv8: 40000
+ Lv9: 45000
+ Lv10: 50000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 20
+ }
+ Unit: {
+ Id: 0x8d
+ Layout: -1
+ Interval: -1
+ Target: "All"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 88
+ Name: "WZ_FROSTNOVA"
+ Description: "Frost Nova"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 2
+ InterruptCast: true
+ CastTime: {
+ Lv1: 640
+ Lv2: 576
+ Lv3: 412
+ Lv4: 448
+ Lv5: 384
+ Lv6: 384
+ Lv7: 384
+ Lv8: 384
+ Lv9: 384
+ Lv10: 384
+ }
+ AfterCastActDelay: 300
+ SkillData2: {
+ Lv1: 4000
+ Lv2: 4500
+ Lv3: 5000
+ Lv4: 6000
+ Lv5: 7000
+ Lv6: 8500
+ Lv7: 10000
+ Lv8: 12000
+ Lv9: 14000
+ Lv10: 16000
+ }
+ FixedCastTime: {
+ Lv1: 160
+ Lv2: 144
+ Lv3: 128
+ Lv4: 112
+ Lv5: 96
+ Lv6: 96
+ Lv7: 96
+ Lv8: 96
+ Lv9: 96
+ Lv10: 96
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 120
+ Lv2: 140
+ Lv3: 160
+ Lv4: 180
+ Lv5: 200
+ Lv6: 220
+ Lv7: 240
+ Lv8: 260
+ Lv9: 280
+ Lv10: 300
+ }
+ }
+},
+{
+ Id: 89
+ Name: "WZ_STORMGUST"
+ Description: "Storm Gust"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ InterruptCast: true
+ KnockBackTiles: 2
+ CastTime: {
+ Lv1: 3840
+ Lv2: 4480
+ Lv3: 5120
+ Lv4: 5760
+ Lv5: 6400
+ Lv6: 7040
+ Lv7: 7680
+ Lv8: 8320
+ Lv9: 8960
+ Lv10: 9600
+ }
+ AfterCastActDelay: 5000
+ SkillData1: 4600
+ SkillData2: 12000
+ FixedCastTime: {
+ Lv1: 960
+ Lv2: 1120
+ Lv3: 1280
+ Lv4: 1440
+ Lv5: 1600
+ Lv6: 1760
+ Lv7: 1920
+ Lv8: 2080
+ Lv9: 2240
+ Lv10: 2400
+ }
+ Requirements: {
+ SPCost: 78
+ }
+ Unit: {
+ Id: 0x86
+ Layout: 4
+ Range: 1
+ Interval: 450
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 90
+ Name: "WZ_EARTHSPIKE"
+ Description: "Earth Spike"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Earth"
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 448
+ Lv2: 896
+ Lv3: 1344
+ Lv4: 1792
+ Lv5: 2240
+ Lv6: 2240
+ Lv7: 2240
+ Lv8: 2240
+ Lv9: 2240
+ Lv10: 2240
+ }
+ AfterCastActDelay: {
+ Lv1: 1000
+ Lv2: 1200
+ Lv3: 1400
+ Lv4: 1600
+ Lv5: 1800
+ Lv6: 2000
+ Lv7: 2200
+ Lv8: 2400
+ Lv9: 2600
+ Lv10: 2800
+ }
+ FixedCastTime: {
+ Lv1: 112
+ Lv2: 224
+ Lv3: 336
+ Lv4: 448
+ Lv5: 560
+ Lv6: 560
+ Lv7: 560
+ Lv8: 560
+ Lv9: 560
+ Lv10: 560
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 100
+ Lv3: 120
+ Lv4: 140
+ Lv5: 160
+ Lv6: 180
+ Lv7: 200
+ Lv8: 220
+ Lv9: 240
+ Lv10: 260
+ }
+ }
+},
+{
+ Id: 91
+ Name: "WZ_HEAVENDRIVE"
+ Description: "Heaven's Drive"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Earth"
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 640
+ Lv2: 1280
+ Lv3: 1920
+ Lv4: 2560
+ Lv5: 3200
+ Lv6: 3200
+ Lv7: 3200
+ Lv8: 3200
+ Lv9: 3200
+ Lv10: 3200
+ }
+ AfterCastActDelay: 1000
+ SkillData1: 500
+ FixedCastTime: {
+ Lv1: 160
+ Lv2: 320
+ Lv3: 480
+ Lv4: 640
+ Lv5: 800
+ Lv6: 800
+ Lv7: 800
+ Lv8: 800
+ Lv9: 800
+ Lv10: 800
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 28
+ Lv2: 32
+ Lv3: 36
+ Lv4: 40
+ Lv5: 44
+ Lv6: 48
+ Lv7: 52
+ Lv8: 56
+ Lv9: 60
+ Lv10: 64
+ }
+ }
+ Unit: {
+ Id: 0x86
+ Layout: 2
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 92
+ Name: "WZ_QUAGMIRE"
+ Description: "Quagmire"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Earth"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillInstances: 3
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 5000
+ Lv2: 10000
+ Lv3: 15000
+ Lv4: 20000
+ Lv5: 25000
+ Lv6: 30000
+ Lv7: 35000
+ Lv8: 40000
+ Lv9: 45000
+ Lv10: 50000
+ }
+ SkillData2: {
+ Lv1: 5000
+ Lv2: 10000
+ Lv3: 15000
+ Lv4: 20000
+ Lv5: 25000
+ Lv6: 30000
+ Lv7: 35000
+ Lv8: 40000
+ Lv9: 45000
+ Lv10: 50000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 5
+ Lv2: 10
+ Lv3: 15
+ Lv4: 20
+ Lv5: 25
+ Lv6: 30
+ Lv7: 35
+ Lv8: 40
+ Lv9: 45
+ Lv10: 50
+ }
+ }
+ Unit: {
+ Id: 0x8e
+ Layout: 2
+ Interval: -1
+ Target: "Enemy"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 93
+ Name: "WZ_ESTIMATION"
+ Description: "Sense"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 94
+ Name: "BS_IRON"
+ Description: "Iron Tempering"
+ MaxLevel: 5
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 95
+ Name: "BS_STEEL"
+ Description: "Steel Tempering"
+ MaxLevel: 5
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 96
+ Name: "BS_ENCHANTEDSTONE"
+ Description: "Enchanted Stone Craft"
+ MaxLevel: 5
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 97
+ Name: "BS_ORIDEOCON"
+ Description: "Oridecon Research"
+ MaxLevel: 5
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 98
+ Name: "BS_DAGGER"
+ Description: "Smith Dagger"
+ MaxLevel: 3
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 99
+ Name: "BS_SWORD"
+ Description: "Smith Sword"
+ MaxLevel: 3
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 100
+ Name: "BS_TWOHANDSWORD"
+ Description: "Smith Two-handed Sword"
+ MaxLevel: 3
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 101
+ Name: "BS_AXE"
+ Description: "Smith Axe"
+ MaxLevel: 3
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 102
+ Name: "BS_MACE"
+ Description: "Smith Mace"
+ MaxLevel: 3
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 103
+ Name: "BS_KNUCKLE"
+ Description: "Smith Knucklebrace"
+ MaxLevel: 3
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 104
+ Name: "BS_SPEAR"
+ Description: "Smith Spear"
+ MaxLevel: 3
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 105
+ Name: "BS_HILTBINDING"
+ Description: "Hilt Binding"
+ MaxLevel: 1
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 106
+ Name: "BS_FINDINGORE"
+ Description: "Ore Discovery"
+ MaxLevel: 1
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 107
+ Name: "BS_WEAPONRESEARCH"
+ Description: "Weaponry Research"
+ MaxLevel: 10
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 108
+ Name: "BS_REPAIRWEAPON"
+ Description: "Weapon Repair"
+ MaxLevel: 1
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2500
+ FixedCastTime: 2500
+ Requirements: {
+ SPCost: 30
+ }
+},
+{
+ Id: 109
+ Name: "BS_SKINTEMPER"
+ Description: "Skin Tempering"
+ MaxLevel: 5
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 110
+ Name: "BS_HAMMERFALL"
+ Description: "Hammer Fall"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 2
+ Lv3: 2
+ Lv4: 2
+ Lv5: 2
+ Lv6: 14
+ Lv7: 14
+ Lv8: 14
+ Lv9: 14
+ Lv10: 14
+ }
+ SkillData2: 5000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ WeaponTypes: {
+ Daggers: true
+ 1HSwords: true
+ 1HAxes: true
+ 2HAxes: true
+ Maces: true
+ }
+ }
+},
+{
+ Id: 111
+ Name: "BS_ADRENALINE"
+ Description: "Adrenaline Rush"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 60000
+ Lv3: 90000
+ Lv4: 120000
+ Lv5: 150000
+ Lv6: 180000
+ Lv7: 210000
+ Lv8: 240000
+ Lv9: 270000
+ Lv10: 300000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 23
+ Lv3: 26
+ Lv4: 29
+ Lv5: 32
+ Lv6: 35
+ Lv7: 38
+ Lv8: 41
+ Lv9: 44
+ Lv10: 47
+ }
+ WeaponTypes: {
+ 1HAxes: true
+ 2HAxes: true
+ Maces: true
+ }
+ }
+},
+{
+ Id: 112
+ Name: "BS_WEAPONPERFECT"
+ Description: "Weapon Perfection"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 20000
+ Lv3: 30000
+ Lv4: 40000
+ Lv5: 50000
+ Lv6: 60000
+ Lv7: 70000
+ Lv8: 80000
+ Lv9: 90000
+ Lv10: 100000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 18
+ Lv2: 16
+ Lv3: 14
+ Lv4: 12
+ Lv5: 10
+ Lv6: 8
+ Lv7: 6
+ Lv8: 4
+ Lv9: 2
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 113
+ Name: "BS_OVERTHRUST"
+ Description: "Power-Thrust"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ SkillData1: {
+ Lv1: 20000
+ Lv2: 40000
+ Lv3: 60000
+ Lv4: 80000
+ Lv5: 100000
+ Lv6: 120000
+ Lv7: 140000
+ Lv8: 160000
+ Lv9: 180000
+ Lv10: 200000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 18
+ Lv2: 16
+ Lv3: 14
+ Lv4: 12
+ Lv5: 10
+ Lv6: 8
+ Lv7: 6
+ Lv8: 4
+ Lv9: 2
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 114
+ Name: "BS_MAXIMIZE"
+ Description: "Maximize Power"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 1000
+ Lv2: 2000
+ Lv3: 3000
+ Lv4: 4000
+ Lv5: 5000
+ Lv6: 6000
+ Lv7: 7000
+ Lv8: 8000
+ Lv9: 9000
+ Lv10: 10000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 115
+ Name: "HT_SKIDTRAP"
+ Description: "Skid Trap"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ KnockBackTiles: {
+ Lv1: 6
+ Lv2: 7
+ Lv3: 8
+ Lv4: 9
+ Lv5: 10
+ Lv6: 11
+ Lv7: 12
+ Lv8: 13
+ Lv9: 14
+ Lv10: 15
+ }
+ SkillData1: {
+ Lv1: 300000
+ Lv2: 240000
+ Lv3: 180000
+ Lv4: 120000
+ Lv5: 60000
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+// Items: {
+// Booby_Trap: 1
+// }
+ }
+ Unit: {
+ Id: 0x90
+ Range: 1
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 116
+ Name: "HT_LANDMINE"
+ Description: "Land Mine"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ Element: "Ele_Earth"
+ DamageType: {
+ SplashArea: true
+ IgnoreFlee: true
+ }
+ SplashRange: 1
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 200000
+ Lv2: 160000
+ Lv3: 120000
+ Lv4: 80000
+ Lv5: 40000
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ SkillData2: 5000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: 10
+// Items: {
+// Booby_Trap: 1
+// }
+ }
+ Unit: {
+ Id: 0x93
+ Range: 1
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 117
+ Name: "HT_ANKLESNARE"
+ Description: "Ankle Snare"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 250000
+ Lv2: 200000
+ Lv3: 150000
+ Lv4: 100000
+ Lv5: 50000
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ SkillData2: {
+ Lv1: 4000
+ Lv2: 8000
+ Lv3: 12000
+ Lv4: 16000
+ Lv5: 20000
+ Lv6: 24000
+ Lv7: 28000
+ Lv8: 32000
+ Lv9: 36000
+ Lv10: 40000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 12
+// Items: {
+// Booby_Trap: 1
+// }
+ }
+ Unit: {
+ Id: 0x91
+ Range: 1
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 118
+ Name: "HT_SHOCKWAVE"
+ Description: "Shockwave Trap"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 1
+ SkillData1: {
+ Lv1: 200000
+ Lv2: 160000
+ Lv3: 120000
+ Lv4: 80000
+ Lv5: 40000
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 45
+// Items: {
+// Booby_Trap: 2
+// }
+ }
+ Unit: {
+ Id: 0x94
+ Range: 1
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 119
+ Name: "HT_SANDMAN"
+ Description: "Sandman"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 2
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 120000
+ Lv3: 90000
+ Lv4: 60000
+ Lv5: 30000
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ SkillData2: {
+ Lv1: 12000
+ Lv2: 14000
+ Lv3: 16000
+ Lv4: 18000
+ Lv5: 20000
+ Lv6: 22000
+ Lv7: 24000
+ Lv8: 26000
+ Lv9: 28000
+ Lv10: 30000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 12
+// Items: {
+// Booby_Trap: 1
+// }
+ }
+ Unit: {
+ Id: 0x95
+ Range: 1
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 120
+ Name: "HT_FLASHER"
+ Description: "Flasher"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 1
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 120000
+ Lv3: 90000
+ Lv4: 60000
+ Lv5: 30000
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ SkillData2: {
+ Lv1: 10000
+ Lv2: 11000
+ Lv3: 12000
+ Lv4: 13000
+ Lv5: 14000
+ Lv6: 15000
+ Lv7: 16000
+ Lv8: 17000
+ Lv9: 18000
+ Lv10: 19000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 12
+// Items: {
+// Booby_Trap: 2
+// }
+ }
+ Unit: {
+ Id: 0x96
+ Range: 1
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 121
+ Name: "HT_FREEZINGTRAP"
+ Description: "Freezing Trap"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Water"
+ DamageType: {
+ SplashArea: true
+ IgnoreFlee: true
+ }
+ SplashRange: 1
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 120000
+ Lv3: 90000
+ Lv4: 60000
+ Lv5: 30000
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ SkillData2: {
+ Lv1: 3000
+ Lv2: 6000
+ Lv3: 9000
+ Lv4: 12000
+ Lv5: 15000
+ Lv6: 18000
+ Lv7: 21000
+ Lv8: 24000
+ Lv9: 27000
+ Lv10: 30000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+// Items: {
+// Booby_Trap: 2
+// }
+ }
+ Unit: {
+ Id: 0x97
+ Range: 1
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 122
+ Name: "HT_BLASTMINE"
+ Description: "Blast Mine"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ Element: "Ele_Wind"
+ DamageType: {
+ SplashArea: true
+ IgnoreFlee: true
+ }
+ SplashRange: 1
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 25000
+ Lv2: 20000
+ Lv3: 15000
+ Lv4: 10000
+ Lv5: 5000
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: 10
+// Items: {
+// Booby_Trap: 1
+// }
+ }
+ Unit: {
+ Id: 0x8f
+ Range: 1
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 123
+ Name: "HT_CLAYMORETRAP"
+ Description: "Claymore Trap"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ Element: "Ele_Fire"
+ DamageType: {
+ SplashArea: true
+ IgnoreFlee: true
+ }
+ SplashRange: 2
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 20000
+ Lv2: 40000
+ Lv3: 60000
+ Lv4: 80000
+ Lv5: 100000
+ Lv6: 120000
+ Lv7: 140000
+ Lv8: 160000
+ Lv9: 180000
+ Lv10: 200000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: 15
+// Items: {
+// Booby_Trap: 2
+// }
+ }
+ Unit: {
+ Id: 0x98
+ Range: 1
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 124
+ Name: "HT_REMOVETRAP"
+ Description: "Remove Trap"
+ MaxLevel: 1
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 5
+ }
+},
+{
+ Id: 125
+ Name: "HT_TALKIEBOX"
+ Description: "Talkie Box"
+ MaxLevel: 1
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 600000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 1
+// Items: {
+// Booby_Trap: 1
+// }
+ }
+ Unit: {
+ Id: 0x99
+ Range: 1
+ Interval: 1000
+ Target: "All"
+ }
+},
+{
+ Id: 126
+ Name: "HT_BEASTBANE"
+ Description: "Beast Bane"
+ MaxLevel: 10
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 127
+ Name: "HT_FALCON"
+ Description: "Falconry Mastery"
+ MaxLevel: 1
+ AttackType: "Misc"
+ NumberOfHits: 0
+},
+{
+ Id: 128
+ Name: "HT_STEELCROW"
+ Description: "Steel Crow"
+ MaxLevel: 10
+ AttackType: "Misc"
+ NumberOfHits: 0
+},
+{
+ Id: 129
+ Name: "HT_BLITZBEAT"
+ Description: "Blitz Beat"
+ MaxLevel: 5
+ Range: 5
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ SplashArea: true
+ IgnoreFlee: true
+ }
+ SplashRange: 1
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ InterruptCast: true
+ CastTime: 800
+ AfterCastActDelay: 1000
+ FixedCastTime: 200
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 13
+ Lv3: 16
+ Lv4: 19
+ Lv5: 22
+ Lv6: 25
+ Lv7: 28
+ Lv8: 31
+ Lv9: 34
+ Lv10: 37
+ }
+ State: "Falcon"
+ }
+},
+{
+ Id: 130
+ Name: "HT_DETECTING"
+ Description: "Detect"
+ MaxLevel: 4
+ Range: {
+ Lv1: 3
+ Lv2: 5
+ Lv3: 7
+ Lv4: 9
+ Lv5: 11
+ Lv6: 13
+ Lv7: 15
+ Lv8: 17
+ Lv9: 19
+ Lv10: 21
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 3
+ Requirements: {
+ SPCost: 8
+ State: "Falcon"
+ }
+},
+{
+ Id: 131
+ Name: "HT_SPRINGTRAP"
+ Description: "Spring Trap"
+ MaxLevel: 5
+ Range: {
+ Lv1: 4
+ Lv2: 5
+ Lv3: 6
+ Lv4: 7
+ Lv5: 8
+ Lv6: 9
+ Lv7: 10
+ Lv8: 11
+ Lv9: 12
+ Lv10: 13
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 10
+ State: "Falcon"
+ }
+},
+{
+ Id: 132
+ Name: "AS_RIGHT"
+ Description: "Righthand Mastery"
+ MaxLevel: 5
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 133
+ Name: "AS_LEFT"
+ Description: "Lefthand Mastery"
+ MaxLevel: 5
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 134
+ Name: "AS_KATAR"
+ Description: "Katar Mastery"
+ MaxLevel: 10
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 135
+ Name: "AS_CLOAKING"
+ Description: "Cloaking"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 500
+ Lv2: 1000
+ Lv3: 2000
+ Lv4: 3000
+ Lv5: 4000
+ Lv6: 5000
+ Lv7: 6000
+ Lv8: 7000
+ Lv9: 8000
+ Lv10: 9000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 15
+ }
+},
+{
+ Id: 136
+ Name: "AS_SONICBLOW"
+ Description: "Sonic Blow"
+ MaxLevel: 10
+ Range: 1
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: -8
+ AfterCastWalkDelay: 2000
+ SkillData2: 5000
+ FixedCastTime: 0
+ SkillDelayOptions: {
+ IgnoreStatusEffect: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 16
+ Lv2: 18
+ Lv3: 20
+ Lv4: 22
+ Lv5: 24
+ Lv6: 26
+ Lv7: 28
+ Lv8: 30
+ Lv9: 32
+ Lv10: 34
+ }
+ WeaponTypes: {
+ Katars: true
+ }
+ }
+},
+{
+ Id: 137
+ Name: "AS_GRIMTOOTH"
+ Description: "Grimtooth"
+ MaxLevel: 5
+ Range: {
+ Lv1: 3
+ Lv2: 4
+ Lv3: 5
+ Lv4: 6
+ Lv5: 7
+ Lv6: 8
+ Lv7: 9
+ Lv8: 10
+ Lv9: 11
+ Lv10: 12
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 1
+ Requirements: {
+ SPCost: 3
+ WeaponTypes: {
+ Katars: true
+ }
+ State: "Hiding"
+ }
+},
+{
+ Id: 138
+ Name: "AS_ENCHANTPOISON"
+ Description: "Enchant Poison"
+ MaxLevel: 10
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ PartyOnly: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Nature"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 45000
+ Lv3: 60000
+ Lv4: 75000
+ Lv5: 90000
+ Lv6: 105000
+ Lv7: 120000
+ Lv8: 135000
+ Lv9: 150000
+ Lv10: 165000
+ }
+ SkillData2: {
+ Lv1: 10000
+ Lv2: 20000
+ Lv3: 30000
+ Lv4: 40000
+ Lv5: 50000
+ Lv6: 60000
+ Lv7: 70000
+ Lv8: 80000
+ Lv9: 90000
+ Lv10: 100000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 20
+ }
+},
+{
+ Id: 139
+ Name: "AS_POISONREACT"
+ Description: "Poison React"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ SkillData1: {
+ Lv1: 20000
+ Lv2: 25000
+ Lv3: 30000
+ Lv4: 35000
+ Lv5: 40000
+ Lv6: 45000
+ Lv7: 50000
+ Lv8: 55000
+ Lv9: 60000
+ Lv10: 65000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 25
+ Lv2: 30
+ Lv3: 35
+ Lv4: 40
+ Lv5: 45
+ Lv6: 50
+ Lv7: 55
+ Lv8: 60
+ Lv9: 45
+ Lv10: 45
+ }
+ }
+},
+{
+ Id: 140
+ Name: "AS_VENOMDUST"
+ Description: "Venom Dust"
+ MaxLevel: 10
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Nature"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 5000
+ Lv2: 10000
+ Lv3: 15000
+ Lv4: 20000
+ Lv5: 25000
+ Lv6: 30000
+ Lv7: 35000
+ Lv8: 40000
+ Lv9: 45000
+ Lv10: 50000
+ }
+ SkillData2: {
+ Lv1: 15000
+ Lv2: 20000
+ Lv3: 25000
+ Lv4: 30000
+ Lv5: 35000
+ Lv6: 40000
+ Lv7: 45000
+ Lv8: 50000
+ Lv9: 55000
+ Lv10: 60000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 20
+// Items: {
+// Red_Gemstone: 1
+// }
+ }
+ Unit: {
+ Id: 0x92
+ Layout: -1
+ Range: 1
+ Interval: 1000
+ Target: "Enemy"
+ }
+},
+{
+ Id: 141
+ Name: "AS_SPLASHER"
+ Description: "Venom Splasher"
+ MaxLevel: 10
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ NoDamage: true
+ IgnoreElement: true
+ IgnoreFlee: true
+ }
+ SplashRange: 2
+ InterruptCast: true
+ CastTime: 500
+ SkillData1: {
+ Lv1: 5000
+ Lv2: 5500
+ Lv3: 6000
+ Lv4: 6500
+ Lv5: 7000
+ Lv6: 7500
+ Lv7: 8000
+ Lv8: 8500
+ Lv9: 9000
+ Lv10: 9500
+ }
+ SkillData2: {
+ Lv1: 15000
+ Lv2: 20000
+ Lv3: 25000
+ Lv4: 30000
+ Lv5: 35000
+ Lv6: 40000
+ Lv7: 45000
+ Lv8: 50000
+ Lv9: 55000
+ Lv10: 60000
+ }
+ CoolDown: {
+ Lv1: 7500
+ Lv2: 8000
+ Lv3: 8500
+ Lv4: 9000
+ Lv5: 9500
+ Lv6: 10000
+ Lv7: 10500
+ Lv8: 11000
+ Lv9: 11500
+ Lv10: 12000
+ }
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 12
+ Lv2: 14
+ Lv3: 16
+ Lv4: 18
+ Lv5: 20
+ Lv6: 22
+ Lv7: 24
+ Lv8: 26
+ Lv9: 28
+ Lv10: 30
+ }
+// Items: {
+// Red_Gemstone: 1
+// }
+ }
+},
+{
+ Id: 142
+ Name: "NV_FIRSTAID"
+ Description: "First Aid"
+ MaxLevel: 60
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 100
+ }
+},
+{
+ Id: 143
+ Name: "NV_TRICKDEAD"
+ Description: "Play Dead"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 600000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 200
+ }
+},
+{
+ Id: 144
+ Name: "SM_MOVINGRECOVERY"
+ Description: "Moving HP-Recovery"
+ MaxLevel: 1
+ SkillInfo: {
+ Quest: true
+ }
+ NumberOfHits: 0
+},
+{
+ Id: 145
+ Name: "SM_FATALBLOW"
+ Description: "Fatal Blow"
+ MaxLevel: 1
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Weapon"
+ NumberOfHits: 0
+ SkillData2: 5000
+ FixedCastTime: 0
+},
+{
+ Id: 146
+ Name: "SM_AUTOBERSERK"
+ Description: "Auto Berserk"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 147
+ Name: "AC_MAKINGARROW"
+ Description: "Arrow Crafting"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ Requirements: {
+ SPCost: 10
+ State: "NotOverWeight"
+ }
+},
+{
+ Id: 148
+ Name: "AC_CHARGEARROW"
+ Description: "Arrow Repel"
+ MaxLevel: 1
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ KnockBackTiles: 6
+ FixedCastTime: 1500
+ Requirements: {
+ SPCost: 150
+ WeaponTypes: {
+ Bows: true
+ Revolvers: true
+ Rifles: true
+ GatlingGuns: true
+ Shotguns: true
+ }
+ AmmoTypes: {
+ A_ARROW: true
+ A_BULLET: true
+ }
+ AmmoAmount: 1
+ }
+},
+{
+ Id: 149
+ Name: "TF_SPRINKLESAND"
+ Description: "Sand Attack"
+ MaxLevel: 1
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Earth"
+ SkillData2: 10000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 9
+ }
+},
+{
+ Id: 150
+ Name: "TF_BACKSLIDING"
+ Description: "Back Slide"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Weapon"
+ CoolDown: 15000
+ DamageType: {
+ NoDamage: true
+ }
+ KnockBackTiles: 5
+ Requirements: {
+ SPCost: 40
+ }
+},
+{
+ Id: 151
+ Name: "TF_PICKSTONE"
+ Description: "Find Stone"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: 3
+ State: "NotOverWeight"
+ }
+},
+{
+ Id: 152
+ Name: "TF_THROWSTONE"
+ Description: "Stone Fling"
+ MaxLevel: 1
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ IgnoreFlee: true
+ }
+ AfterCastActDelay: 100
+ SkillData1: 5000
+ SkillData2: 8000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 2
+// Items: {
+// Stone: 1
+// }
+ }
+},
+{
+ Id: 153
+ Name: "MC_CARTREVOLUTION"
+ Description: "Cart Revolution"
+ MaxLevel: 1
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 1
+ KnockBackTiles: 2
+ Requirements: {
+ SPCost: 12
+ State: "Cart"
+ }
+},
+{
+ Id: 154
+ Name: "MC_CHANGECART"
+ Description: "Change Cart"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 40
+ State: "Cart"
+ }
+},
+{
+ Id: 155
+ Name: "MC_LOUD"
+ Description: "Crazy Uproar"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 300000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 8
+ }
+},
+{
+ Id: 156
+ Name: "AL_HOLYLIGHT"
+ Description: "Holy Light"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ InterruptCast: true
+ CastTime: 1600
+ FixedCastTime: 400
+ Requirements: {
+ SPCost: 60
+ }
+},
+{
+ Id: 157
+ Name: "MG_ENERGYCOAT"
+ Description: "Energy Coat"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 300000
+ Lv2: 350000
+ Lv3: 400000
+ Lv4: 450000
+ Lv5: 500000
+ Lv6: 550000
+ Lv7: 600000
+ Lv8: 650000
+ Lv9: 700000
+ Lv10: 750000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: 50
+ }
+},
+{
+ Id: 158
+ Name: "NPC_PIERCINGATT"
+ Description: "Piercing Attack"
+ MaxLevel: 10
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+},
+{
+ Id: 159
+ Name: "NPC_MENTALBREAKER"
+ Description: "Spirit Destruction"
+ MaxLevel: 5
+ Range: -1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ IgnoreFlee: true
+ }
+},
+{
+ Id: 160
+ Name: "NPC_RANGEATTACK"
+ Description: "Stand off attack"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+},
+{
+ Id: 161
+ Name: "NPC_ATTRICHANGE"
+ Description: "Attribute Change"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 1800000
+ FixedCastTime: 0
+},
+{
+ Id: 162
+ Name: "NPC_CHANGEWATER"
+ Description: "Water Attribute Change"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 1800000
+ FixedCastTime: 0
+},
+{
+ Id: 163
+ Name: "NPC_CHANGEGROUND"
+ Description: "Earth Attribute Change"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Earth"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 1800000
+ FixedCastTime: 0
+},
+{
+ Id: 164
+ Name: "NPC_CHANGEFIRE"
+ Description: "Fire Attribute Change"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 1800000
+ FixedCastTime: 0
+},
+{
+ Id: 165
+ Name: "NPC_CHANGEWIND"
+ Description: "Wind Attribute Change"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 1800000
+ FixedCastTime: 0
+},
+{
+ Id: 166
+ Name: "NPC_CHANGEPOISON"
+ Description: "Poison Attribute Change"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Nature"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 1800000
+ FixedCastTime: 0
+},
+{
+ Id: 167
+ Name: "NPC_CHANGEHOLY"
+ Description: "Holy Attribute Change"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 1800000
+ FixedCastTime: 0
+},
+{
+ Id: 168
+ Name: "NPC_CHANGEDARKNESS"
+ Description: "Shadow Attribute Change"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Dark"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 1800000
+ FixedCastTime: 0
+},
+{
+ Id: 169
+ Name: "NPC_CHANGETELEKINESIS"
+ Description: "Ghost Attribute Change"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Ghost"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 1800000
+ FixedCastTime: 0
+},
+{
+ Id: 170
+ Name: "NPC_CRITICALSLASH"
+ Description: "Defense disregard attack"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ IgnoreDefense: true
+ }
+},
+{
+ Id: 171
+ Name: "NPC_COMBOATTACK"
+ Description: "Multi-stage Attack"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: {
+ Lv1: -2
+ Lv2: -3
+ Lv3: -4
+ Lv4: -5
+ Lv5: -6
+ Lv6: -7
+ Lv7: -8
+ Lv8: -9
+ Lv9: -10
+ Lv10: -11
+ }
+},
+{
+ Id: 172
+ Name: "NPC_GUIDEDATTACK"
+ Description: "Guided Attack"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ IgnoreFlee: true
+ }
+},
+{
+ Id: 173
+ Name: "NPC_SELFDESTRUCTION"
+ Description: "Suicide bombing"
+ MaxLevel: 10
+ Range: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Misc"
+ Element: "Ele_System"
+ DamageType: {
+ SplashArea: true
+ IgnoreDefense: true
+ IgnoreFlee: true
+ IgnoreDefCards: true
+ }
+ SplashRange: 5
+ KnockBackTiles: 3
+ SkillData1: 3500
+ FixedCastTime: 0
+},
+{
+ Id: 174
+ Name: "NPC_SPLASHATTACK"
+ Description: "Splash attack"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+},
+{
+ Id: 175
+ Name: "NPC_SUICIDE"
+ Description: "Suicide"
+ MaxLevel: 10
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ IgnoreFlee: true
+ }
+},
+{
+ Id: 176
+ Name: "NPC_POISON"
+ Description: "Poison Attack"
+ MaxLevel: 25
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ SkillData2: 60000
+ FixedCastTime: 0
+},
+{
+ Id: 177
+ Name: "NPC_BLINDATTACK"
+ Description: "Blind Attack"
+ MaxLevel: 5
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ SkillData2: 30000
+ FixedCastTime: 0
+},
+{
+ Id: 178
+ Name: "NPC_SILENCEATTACK"
+ Description: "Silence Attack"
+ MaxLevel: 5
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ SkillData2: 30000
+ FixedCastTime: 0
+},
+{
+ Id: 179
+ Name: "NPC_STUNATTACK"
+ Description: "Stun Attack"
+ MaxLevel: 5
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ SkillData2: 5000
+ FixedCastTime: 0
+},
+{
+ Id: 180
+ Name: "NPC_PETRIFYATTACK"
+ Description: "Petrify Attack"
+ MaxLevel: 5
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ SkillData2: 20000
+ FixedCastTime: 0
+},
+{
+ Id: 181
+ Name: "NPC_CURSEATTACK"
+ Description: "Curse Attack"
+ MaxLevel: 5
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Dark"
+ SkillData2: 30000
+ FixedCastTime: 0
+},
+{
+ Id: 182
+ Name: "NPC_SLEEPATTACK"
+ Description: "Sleep attack"
+ MaxLevel: 5
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ SkillData2: 30000
+ FixedCastTime: 0
+},
+{
+ Id: 183
+ Name: "NPC_RANDOMATTACK"
+ Description: "Random Attack"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+},
+{
+ Id: 184
+ Name: "NPC_WATERATTACK"
+ Description: "Water Attribute Attack"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Water"
+},
+{
+ Id: 185
+ Name: "NPC_GROUNDATTACK"
+ Description: "Earth Attribute Attack"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Earth"
+},
+{
+ Id: 186
+ Name: "NPC_FIREATTACK"
+ Description: "Fire Attribute Attack"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Fire"
+},
+{
+ Id: 187
+ Name: "NPC_WINDATTACK"
+ Description: "Wind Attribute Attack"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Wind"
+},
+{
+ Id: 188
+ Name: "NPC_POISONATTACK"
+ Description: "Poison Attribute Attack"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Nature"
+},
+{
+ Id: 189
+ Name: "NPC_HOLYATTACK"
+ Description: "Holy Attribute Attack"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Holy"
+},
+{
+ Id: 190
+ Name: "NPC_DARKNESSATTACK"
+ Description: "Shadow Attribute Attack"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Dark"
+},
+{
+ Id: 191
+ Name: "NPC_TELEKINESISATTACK"
+ Description: "Ghost Attribute Attack"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Ghost"
+},
+{
+ Id: 192
+ Name: "NPC_MAGICALATTACK"
+ Description: "Demon Shock Attack"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ SkillData1: 15000
+ FixedCastTime: 0
+},
+{
+ Id: 193
+ Name: "NPC_METAMORPHOSIS"
+ Description: "Metamorphosis"
+ MaxLevel: 10
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+},
+{
+ Id: 194
+ Name: "NPC_PROVOCATION"
+ Description: "Provocation"
+ MaxLevel: 10
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+},
+{
+ Id: 195
+ Name: "NPC_SMOKING"
+ Description: "Smoking"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ IgnoreElement: true
+ IgnoreFlee: true
+ }
+},
+{
+ Id: 196
+ Name: "NPC_SUMMONSLAVE"
+ Description: "Follower Summons"
+ MaxLevel: 10
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+},
+{
+ Id: 197
+ Name: "NPC_EMOTION"
+ Description: "Emotion"
+ MaxLevel: 10
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+},
+{
+ Id: 198
+ Name: "NPC_TRANSFORMATION"
+ Description: "Transformation"
+ MaxLevel: 10
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+},
+{
+ Id: 199
+ Name: "NPC_BLOODDRAIN"
+ Description: "Sucking Blood"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Dark"
+ DamageType: {
+ IgnoreFlee: true
+ }
+},
+{
+ Id: 200
+ Name: "NPC_ENERGYDRAIN"
+ Description: "Energy Drain"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Dark"
+},
+{
+ Id: 201
+ Name: "NPC_KEEPING"
+ Description: "Keeping"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 70000
+ Lv3: 80000
+ Lv4: 90000
+ Lv5: 100000
+ Lv6: 110000
+ Lv7: 120000
+ Lv8: 130000
+ Lv9: 140000
+ Lv10: 150000
+ }
+ FixedCastTime: 0
+},
+{
+ Id: 202
+ Name: "NPC_DARKBREATH"
+ Description: "Dark Breath"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Misc"
+ Element: "Ele_Dark"
+},
+{
+ Id: 203
+ Name: "NPC_DARKBLESSING"
+ Description: "Dark Blessing"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Dark"
+ DamageType: {
+ NoDamage: true
+ }
+},
+{
+ Id: 204
+ Name: "NPC_BARRIER"
+ Description: "Barrier"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 70000
+ Lv3: 80000
+ Lv4: 90000
+ Lv5: 100000
+ Lv6: 110000
+ Lv7: 120000
+ Lv8: 130000
+ Lv9: 140000
+ Lv10: 150000
+ }
+ FixedCastTime: 0
+},
+{
+ Id: 205
+ Name: "NPC_DEFENDER"
+ Description: "Defender"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 70000
+ Lv3: 80000
+ Lv4: 90000
+ Lv5: 100000
+ Lv6: 110000
+ Lv7: 120000
+ Lv8: 130000
+ Lv9: 140000
+ Lv10: 150000
+ }
+ FixedCastTime: 0
+},
+{
+ Id: 206
+ Name: "NPC_LICK"
+ Description: "Lick"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData2: 3000
+ FixedCastTime: 0
+},
+{
+ Id: 207
+ Name: "NPC_HALLUCINATION"
+ Description: "Hallucination"
+ MaxLevel: 10
+ Range: 9
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 40000
+ Lv3: 50000
+ Lv4: 60000
+ Lv5: 70000
+ Lv6: 80000
+ Lv7: 90000
+ Lv8: 100000
+ Lv9: 110000
+ Lv10: 120000
+ }
+ FixedCastTime: 0
+},
+{
+ Id: 208
+ Name: "NPC_REBIRTH"
+ Description: "Rebirth"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+},
+{
+ Id: 209
+ Name: "NPC_SUMMONMONSTER"
+ Description: "Monster Summons"
+ MaxLevel: 10
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+},
+{
+ Id: 210
+ Name: "RG_SNATCHER"
+ Description: "Gank"
+ MaxLevel: 10
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 211
+ Name: "RG_STEALCOIN"
+ Description: "Mug"
+ MaxLevel: 10
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 15
+ }
+},
+{
+ Id: 212
+ Name: "RG_BACKSTAP"
+ Description: "Back Stab"
+ MaxLevel: 10
+ Range: -1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ IgnoreFlee: true
+ }
+ AfterCastActDelay: 500
+ SkillData1: 5000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 16
+ }
+},
+{
+ Id: 213
+ Name: "RG_TUNNELDRIVE"
+ Description: "Stalk"
+ MaxLevel: 5
+ NumberOfHits: 0
+},
+{
+ Id: 214
+ Name: "RG_RAID"
+ Description: "Sightless Mind"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 3
+ SkillData1: 5000
+ SkillData2: {
+ Lv1: 8000
+ Lv2: 9000
+ Lv3: 10000
+ Lv4: 11000
+ Lv5: 12000
+ Lv6: 13000
+ Lv7: 14000
+ Lv8: 15000
+ Lv9: 16000
+ Lv10: 17000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 20
+ State: "Hiding"
+ }
+},
+{
+ Id: 215
+ Name: "RG_STRIPWEAPON"
+ Description: "Divest Weapon"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: {
+ Lv1: 560
+ Lv2: 720
+ Lv3: 880
+ Lv4: 1140
+ Lv5: 1200
+ Lv6: 1200
+ Lv7: 1200
+ Lv8: 1200
+ Lv9: 1200
+ Lv10: 1200
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 75000
+ Lv2: 90000
+ Lv3: 105000
+ Lv4: 120000
+ Lv5: 135000
+ Lv6: 150000
+ Lv7: 165000
+ Lv8: 180000
+ Lv9: 195000
+ Lv10: 210000
+ }
+ FixedCastTime: {
+ Lv1: 140
+ Lv2: 180
+ Lv3: 220
+ Lv4: 260
+ Lv5: 300
+ Lv6: 300
+ Lv7: 300
+ Lv8: 300
+ Lv9: 300
+ Lv10: 300
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 17
+ Lv2: 19
+ Lv3: 21
+ Lv4: 23
+ Lv5: 25
+ Lv6: 27
+ Lv7: 29
+ Lv8: 31
+ Lv9: 33
+ Lv10: 35
+ }
+ }
+},
+{
+ Id: 216
+ Name: "RG_STRIPSHIELD"
+ Description: "Divest Shield"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: {
+ Lv1: 560
+ Lv2: 720
+ Lv3: 880
+ Lv4: 1140
+ Lv5: 1200
+ Lv6: 1200
+ Lv7: 1200
+ Lv8: 1200
+ Lv9: 1200
+ Lv10: 1200
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 75000
+ Lv2: 90000
+ Lv3: 105000
+ Lv4: 120000
+ Lv5: 135000
+ Lv6: 150000
+ Lv7: 165000
+ Lv8: 180000
+ Lv9: 195000
+ Lv10: 210000
+ }
+ FixedCastTime: {
+ Lv1: 140
+ Lv2: 180
+ Lv3: 220
+ Lv4: 260
+ Lv5: 300
+ Lv6: 300
+ Lv7: 300
+ Lv8: 300
+ Lv9: 300
+ Lv10: 300
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 12
+ Lv2: 14
+ Lv3: 16
+ Lv4: 18
+ Lv5: 20
+ Lv6: 22
+ Lv7: 24
+ Lv8: 26
+ Lv9: 28
+ Lv10: 30
+ }
+ }
+},
+{
+ Id: 217
+ Name: "RG_STRIPARMOR"
+ Description: "Divest Armor"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: {
+ Lv1: 560
+ Lv2: 720
+ Lv3: 880
+ Lv4: 1140
+ Lv5: 1200
+ Lv6: 1200
+ Lv7: 1200
+ Lv8: 1200
+ Lv9: 1200
+ Lv10: 1200
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 75000
+ Lv2: 90000
+ Lv3: 105000
+ Lv4: 120000
+ Lv5: 135000
+ Lv6: 150000
+ Lv7: 165000
+ Lv8: 180000
+ Lv9: 195000
+ Lv10: 210000
+ }
+ FixedCastTime: {
+ Lv1: 140
+ Lv2: 180
+ Lv3: 220
+ Lv4: 260
+ Lv5: 300
+ Lv6: 300
+ Lv7: 300
+ Lv8: 300
+ Lv9: 300
+ Lv10: 300
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 17
+ Lv2: 19
+ Lv3: 21
+ Lv4: 23
+ Lv5: 25
+ Lv6: 27
+ Lv7: 29
+ Lv8: 31
+ Lv9: 33
+ Lv10: 35
+ }
+ }
+},
+{
+ Id: 218
+ Name: "RG_STRIPHELM"
+ Description: "Divest Helm"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: {
+ Lv1: 560
+ Lv2: 720
+ Lv3: 880
+ Lv4: 1140
+ Lv5: 1200
+ Lv6: 1200
+ Lv7: 1200
+ Lv8: 1200
+ Lv9: 1200
+ Lv10: 1200
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 75000
+ Lv2: 90000
+ Lv3: 105000
+ Lv4: 120000
+ Lv5: 135000
+ Lv6: 150000
+ Lv7: 165000
+ Lv8: 180000
+ Lv9: 195000
+ Lv10: 210000
+ }
+ FixedCastTime: {
+ Lv1: 140
+ Lv2: 180
+ Lv3: 220
+ Lv4: 260
+ Lv5: 300
+ Lv6: 300
+ Lv7: 300
+ Lv8: 300
+ Lv9: 300
+ Lv10: 300
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 12
+ Lv2: 14
+ Lv3: 16
+ Lv4: 18
+ Lv5: 20
+ Lv6: 22
+ Lv7: 24
+ Lv8: 26
+ Lv9: 28
+ Lv10: 30
+ }
+ }
+},
+{
+ Id: 219
+ Name: "RG_INTIMIDATE"
+ Description: "Snatch"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ Requirements: {
+ SPCost: {
+ Lv1: 13
+ Lv2: 16
+ Lv3: 19
+ Lv4: 22
+ Lv5: 25
+ Lv6: 28
+ Lv7: 31
+ Lv8: 34
+ Lv9: 37
+ Lv10: 40
+ }
+ }
+},
+{
+ Id: 220
+ Name: "RG_GRAFFITI"
+ Description: "Scribble"
+ MaxLevel: 1
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 180000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 15
+// Items: {
+// Red_Gemstone: 1
+// }
+ }
+ Unit: {
+ Id: 0xb0
+ Interval: -1
+ Target: "All"
+ Flag: {
+ UF_NOREITERATION: true
+ }
+ }
+},
+{
+ Id: 221
+ Name: "RG_FLAGGRAFFITI"
+ Description: "Piece"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 222
+ Name: "RG_CLEANER"
+ Description: "Remover"
+ MaxLevel: 1
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 5
+ Requirements: {
+ SPCost: 5
+ }
+},
+{
+ Id: 223
+ Name: "RG_GANGSTER"
+ Description: "Slyness"
+ MaxLevel: 1
+ SplashRange: 1
+ NumberOfHits: 0
+},
+{
+ Id: 224
+ Name: "RG_COMPULSION"
+ Description: "Haggle"
+ MaxLevel: 5
+ NumberOfHits: 0
+},
+{
+ Id: 225
+ Name: "RG_PLAGIARISM"
+ Description: "Intimidate"
+ MaxLevel: 10
+ NumberOfHits: 0
+},
+{
+ Id: 226
+ Name: "AM_AXEMASTERY"
+ Description: "Axe Mastery"
+ MaxLevel: 10
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 227
+ Name: "AM_LEARNINGPOTION"
+ Description: "Potion Research"
+ MaxLevel: 10
+ NumberOfHits: 0
+},
+{
+ Id: 228
+ Name: "AM_PHARMACY"
+ Description: "Prepare Potion"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ Requirements: {
+ SPCost: 5
+// Items: {
+// Medicine_Bowl: 1
+// }
+ }
+},
+{
+ Id: 229
+ Name: "AM_DEMONSTRATION"
+ Description: "Bomb"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Fire"
+ DamageType: {
+ NoDamage: true
+ IgnoreCards: true
+ }
+ InterruptCast: true
+ CastTime: 800
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 40000
+ Lv2: 45000
+ Lv3: 50000
+ Lv4: 55000
+ Lv5: 60000
+ Lv6: 65000
+ Lv7: 70000
+ Lv8: 75000
+ Lv9: 80000
+ Lv10: 85000
+ }
+ FixedCastTime: 200
+ Requirements: {
+ SPCost: 10
+// Items: {
+// Fire_Bottle: 1
+// }
+ }
+ Unit: {
+ Id: 0xb1
+ Range: 1
+ Interval: 500
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 230
+ Name: "AM_ACIDTERROR"
+ Description: "Acid Terror"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ IgnoreCards: true
+ IgnoreFlee: true
+ }
+ InterruptCast: true
+ CastTime: 500
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 3
+ Lv2: 7
+ Lv3: 10
+ Lv4: 12
+ Lv5: 13
+ Lv6: 13
+ Lv7: 13
+ Lv8: 13
+ Lv9: 13
+ Lv10: 13
+ }
+ SkillData2: 120000
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: 15
+// Items: {
+// Acid_Bottle: 1
+// }
+ }
+},
+{
+ Id: 231
+ Name: "AM_POTIONPITCHER"
+ Description: "Aid Potion"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ PartyOnly: true
+ GuildOnly: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 500
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 1
+// Items: {
+// Red_Potion: 1
+// Orange_Potion: 1
+// Yellow_Potion: 1
+// White_Potion: 1
+// Blue_Potion: 1
+// Fruit_Of_Mastela: 1
+// Royal_Jelly: 1
+// Seed_Of_Yggdrasil: 1
+// Yggdrasilberry: 1
+// Berserk_Potion: 1
+// }
+ }
+},
+{
+ Id: 232
+ Name: "AM_CANNIBALIZE"
+ Description: "Summon Flora"
+ MaxLevel: 5
+ Range: 4
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillInstances: 5
+ CastTime: 1600
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 300000
+ Lv2: 240000
+ Lv3: 180000
+ Lv4: 120000
+ Lv5: 60000
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ FixedCastTime: 400
+ Requirements: {
+ SPCost: 20
+// Items: {
+// MenEater_Plant_Bottle: 1
+// }
+ }
+},
+{
+ Id: 233
+ Name: "AM_SPHEREMINE"
+ Description: "Summon Marine Sphere"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillInstances: 3
+ CastTime: 1600
+ AfterCastActDelay: 500
+ SkillData1: 30000
+ FixedCastTime: 400
+ Requirements: {
+ SPCost: 10
+// Items: {
+// Mini_Bottle: 1
+// }
+ }
+},
+{
+ Id: 234
+ Name: "AM_CP_WEAPON"
+ Description: "Alchemical Weapon"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 120000
+ Lv2: 240000
+ Lv3: 360000
+ Lv4: 480000
+ Lv5: 600000
+ Lv6: 720000
+ Lv7: 840000
+ Lv8: 960000
+ Lv9: 1080000
+ Lv10: 1200000
+ }
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: 30
+// Items: {
+// Coating_Bottle: 1
+// }
+ }
+},
+{
+ Id: 235
+ Name: "AM_CP_SHIELD"
+ Description: "Synthesized Shield"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 120000
+ Lv2: 240000
+ Lv3: 360000
+ Lv4: 480000
+ Lv5: 600000
+ Lv6: 720000
+ Lv7: 840000
+ Lv8: 960000
+ Lv9: 1080000
+ Lv10: 1200000
+ }
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: 25
+// Items: {
+// Coating_Bottle: 1
+// }
+ }
+},
+{
+ Id: 236
+ Name: "AM_CP_ARMOR"
+ Description: "Synthetic Armor"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 120000
+ Lv2: 240000
+ Lv3: 360000
+ Lv4: 480000
+ Lv5: 600000
+ Lv6: 720000
+ Lv7: 840000
+ Lv8: 960000
+ Lv9: 1080000
+ Lv10: 1200000
+ }
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: 25
+// Items: {
+// Coating_Bottle: 1
+// }
+ }
+},
+{
+ Id: 237
+ Name: "AM_CP_HELM"
+ Description: "Biochemical Helm"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 120000
+ Lv2: 240000
+ Lv3: 360000
+ Lv4: 480000
+ Lv5: 600000
+ Lv6: 720000
+ Lv7: 840000
+ Lv8: 960000
+ Lv9: 1080000
+ Lv10: 1200000
+ }
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: 25
+// Items: {
+// Coating_Bottle: 1
+// }
+ }
+},
+{
+ Id: 238
+ Name: "AM_BIOETHICS"
+ Description: "Bioethics"
+ MaxLevel: 1
+ SkillInfo: {
+ Quest: true
+ }
+ NumberOfHits: 0
+},
+{
+ Id: 243
+ Name: "AM_CALLHOMUN"
+ Description: "Call Homunculus"
+ MaxLevel: 3
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SplashRange: 1
+ NumberOfHits: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 140
+ Lv2: 105
+ Lv3: 70
+ }
+ }
+},
+{
+ Id: 244
+ Name: "AM_REST"
+ Description: "Vaporize"
+ MaxLevel: 3
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 70
+ Lv2: 49
+ Lv3: 35
+ }
+ }
+},
+{
+ Id: 247
+ Name: "AM_RESURRECTHOMUN"
+ Description: "Homunculus Resurrection"
+ MaxLevel: 6
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SplashRange: 1
+ NumberOfHits: 0
+ CastTime: {
+ Lv1: 2200
+ Lv2: 2100
+ Lv3: 2000
+ Lv4: 1900
+ Lv5: 1800
+ Lv6: 1750
+ }
+ FixedCastTime: {
+ Lv1: 1250
+ Lv2: 1200
+ Lv3: 1150
+ Lv4: 1100
+ Lv5: 1050
+ Lv6: 1000
+ }
+
+ Requirements: {
+ SPCost: {
+ Lv1: 200
+ Lv2: 172
+ Lv3: 144
+ Lv4: 116
+ Lv5: 88
+ Lv6: 60
+ }
+ }
+},
+{
+ Id: 248
+ Name: "CR_TRUST"
+ Description: "Faith"
+ MaxLevel: 10
+ NumberOfHits: 0
+},
+{
+ Id: 249
+ Name: "CR_AUTOGUARD"
+ Description: "Guard"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 300000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 120
+ Lv2: 124
+ Lv3: 126
+ Lv4: 128
+ Lv5: 130
+ Lv6: 132
+ Lv7: 134
+ Lv8: 136
+ Lv9: 138
+ Lv10: 140
+ }
+ State: "Shield"
+ }
+},
+{
+ Id: 250
+ Name: "CR_SHIELDCHARGE"
+ Description: "Smite"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ KnockBackTiles: {
+ Lv1: 5
+ Lv2: 6
+ Lv3: 7
+ Lv4: 8
+ Lv5: 9
+ Lv6: 10
+ Lv7: 11
+ Lv8: 12
+ Lv9: 13
+ Lv10: 14
+ }
+ SkillData2: 5000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ State: "Shield"
+ }
+},
+{
+ Id: 251
+ Name: "CR_SHIELDBOOMERANG"
+ Description: "Shield Boomerang"
+ MaxLevel: 5
+ Range: {
+ Lv1: 3
+ Lv2: 5
+ Lv3: 7
+ Lv4: 9
+ Lv5: 11
+ Lv6: 13
+ Lv7: 15
+ Lv8: 17
+ Lv9: 19
+ Lv10: 21
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ AfterCastActDelay: 700
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 12
+ State: "Shield"
+ }
+},
+{
+ Id: 252
+ Name: "CR_REFLECTSHIELD"
+ Description: "Shield Reflect"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ SkillData1: 300000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 35
+ Lv2: 40
+ Lv3: 45
+ Lv4: 50
+ Lv5: 55
+ Lv6: 60
+ Lv7: 65
+ Lv8: 70
+ Lv9: 75
+ Lv10: 80
+ }
+ State: "Shield"
+ }
+},
+{
+ Id: 253
+ Name: "CR_HOLYCROSS"
+ Description: "Holy Cross"
+ MaxLevel: 10
+ Range: -2
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Holy"
+ NumberOfHits: -2
+ SkillData2: {
+ Lv1: 10000
+ Lv2: 11000
+ Lv3: 12000
+ Lv4: 13000
+ Lv5: 14000
+ Lv6: 15000
+ Lv7: 16000
+ Lv8: 17000
+ Lv9: 18000
+ Lv10: 19000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 11
+ Lv2: 12
+ Lv3: 13
+ Lv4: 14
+ Lv5: 15
+ Lv6: 16
+ Lv7: 17
+ Lv8: 18
+ Lv9: 19
+ Lv10: 20
+ }
+ }
+},
+{
+ Id: 254
+ Name: "CR_GRANDCROSS"
+ Description: "Grand Cross"
+ MaxLevel: 10
+ Range: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ TargetSelf: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ IgnoreCards: true
+ IgnoreFlee: true
+ }
+ CastDefRate: 33
+ CastTime: 1500
+ AfterCastActDelay: 1500
+ AfterCastWalkDelay: 900
+ SkillData1: 900
+ SkillData2: {
+ Lv1: 10000
+ Lv2: 11000
+ Lv3: 12000
+ Lv4: 13000
+ Lv5: 14000
+ Lv6: 15000
+ Lv7: 16000
+ Lv8: 17000
+ Lv9: 18000
+ Lv10: 19000
+ }
+ FixedCastTime: 1500
+ Requirements: {
+ SPCost: {
+ Lv1: 37
+ Lv2: 44
+ Lv3: 51
+ Lv4: 58
+ Lv5: 65
+ Lv6: 72
+ Lv7: 79
+ Lv8: 86
+ Lv9: 93
+ Lv10: 100
+ }
+ HPRateCost: 20
+ }
+ Unit: {
+ Id: 0x86
+ Layout: -1
+ Interval: 300
+ Target: "Enemy"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 255
+ Name: "CR_DEVOTION"
+ Description: "Sacrifice"
+ MaxLevel: 5
+ Range: {
+ Lv1: 7
+ Lv2: 8
+ Lv3: 9
+ Lv4: 10
+ Lv5: 11
+ Lv6: 12
+ Lv7: 13
+ Lv8: 14
+ Lv9: 15
+ Lv10: 16
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ PartyOnly: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1500
+ SkillData2: {
+ Lv1: 30000
+ Lv2: 45000
+ Lv3: 60000
+ Lv4: 75000
+ Lv5: 90000
+ Lv6: 105000
+ Lv7: 120000
+ Lv8: 135000
+ Lv9: 150000
+ Lv10: 165000
+ }
+ FixedCastTime: 1500
+ Requirements: {
+ SPCost: 25
+ }
+},
+{
+ Id: 256
+ Name: "CR_PROVIDENCE"
+ Description: "Resistant Souls"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1500
+ SkillData1: 180000
+ FixedCastTime: 1500
+ Requirements: {
+ SPCost: 30
+ }
+},
+{
+ Id: 257
+ Name: "CR_DEFENDER"
+ Description: "Defending Aura"
+ MaxLevel: 4
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 800
+ SkillData1: 180000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 30
+ State: "Shield"
+ }
+},
+{
+ Id: 258
+ Name: "CR_SPEARQUICKEN"
+ Description: "Spear Quicken"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 60000
+ Lv3: 90000
+ Lv4: 120000
+ Lv5: 150000
+ Lv6: 180000
+ Lv7: 210000
+ Lv8: 240000
+ Lv9: 270000
+ Lv10: 300000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 24
+ Lv2: 28
+ Lv3: 32
+ Lv4: 36
+ Lv5: 40
+ Lv6: 44
+ Lv7: 48
+ Lv8: 52
+ Lv9: 56
+ Lv10: 60
+ }
+ WeaponTypes: {
+ 1HSpears: true
+ 2HSpears: true
+ }
+ }
+},
+{
+ Id: 259
+ Name: "MO_IRONHAND"
+ Description: "Iron Fists"
+ MaxLevel: 10
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 260
+ Name: "MO_SPIRITSRECOVERY"
+ Description: "Spiritual Cadence"
+ MaxLevel: 5
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 261
+ Name: "MO_CALLSPIRITS"
+ Description: "Summon Spirit Sphere"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: 500
+ SkillData1: 600000
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: 8
+ }
+},
+{
+ Id: 262
+ Name: "MO_ABSORBSPIRITS"
+ Description: "Absorb Spirit Sphere"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: 5
+ }
+},
+{
+ Id: 263
+ Name: "MO_TRIPLEATTACK"
+ Description: "Raging Trifecta Blow"
+ MaxLevel: 10
+ Range: -1
+ Hit: "BDT_MULTIHIT"
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: -3
+ FixedCastTime: 0
+ SkillDelayOptions: {
+ IgnoreStatusEffect: true
+ }
+},
+{
+ Id: 264
+ Name: "MO_BODYRELOCATION"
+ Description: "Snap"
+ MaxLevel: 1
+ Range: 18
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 14
+ SpiritSphereCost: 1
+ }
+},
+{
+ Id: 265
+ Name: "MO_DODGE"
+ Description: "Dodge"
+ MaxLevel: 10
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 266
+ Name: "MO_INVESTIGATE"
+ Description: "Occult Impaction"
+ MaxLevel: 5
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ IgnoreFlee: true
+ }
+ CastTime: 500
+ AfterCastActDelay: 500
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 14
+ Lv3: 17
+ Lv4: 19
+ Lv5: 20
+ Lv6: 20
+ Lv7: 20
+ Lv8: 20
+ Lv9: 20
+ Lv10: 20
+ }
+ SpiritSphereCost: 1
+ }
+},
+{
+ Id: 267
+ Name: "MO_FINGEROFFENSIVE"
+ Description: "Throw Spirit Sphere"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ CastTime: 500
+ AfterCastActDelay: 500
+ AfterCastWalkDelay: {
+ Lv1: 0
+ Lv2: 200
+ Lv3: 400
+ Lv4: 600
+ Lv5: 800
+ Lv6: 1000
+ Lv7: 1200
+ Lv8: 1400
+ Lv9: 1600
+ Lv10: 1800
+ }
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: 10
+ SpiritSphereCost: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ }
+},
+{
+ Id: 268
+ Name: "MO_STEELBODY"
+ Description: "Mental Strength"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: 2500
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 60000
+ Lv3: 90000
+ Lv4: 120000
+ Lv5: 150000
+ Lv6: 180000
+ Lv7: 210000
+ Lv8: 240000
+ Lv9: 270000
+ Lv10: 300000
+ }
+ FixedCastTime: 2500
+ Requirements: {
+ SPCost: 200
+ SpiritSphereCost: 5
+ }
+},
+{
+ Id: 269
+ Name: "MO_BLADESTOP"
+ Description: "Root"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 500
+ Lv2: 700
+ Lv3: 900
+ Lv4: 1100
+ Lv5: 1300
+ Lv6: 1500
+ Lv7: 1700
+ Lv8: 1900
+ Lv9: 2100
+ Lv10: 2300
+ }
+ SkillData2: {
+ Lv1: 20000
+ Lv2: 30000
+ Lv3: 40000
+ Lv4: 50000
+ Lv5: 60000
+ Lv6: 70000
+ Lv7: 80000
+ Lv8: 90000
+ Lv9: 100000
+ Lv10: 110000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ WeaponTypes: {
+ NoWeapon: true
+ Daggers: true
+ 1HSwords: true
+ 2HSwords: true
+ 1HSpears: true
+ 2HSpears: true
+ 1HAxes: true
+ 2HAxes: true
+ Maces: true
+ 2HMaces: true
+ Staves: true
+ Knuckles: true
+ Instruments: true
+ Whips: true
+ Books: true
+ Katars: true
+ Revolvers: true
+ Rifles: true
+ GatlingGuns: true
+ Shotguns: true
+ GrenadeLaunchers: true
+ FuumaShurikens: true
+ }
+ SpiritSphereCost: 1
+ }
+},
+{
+ Id: 270
+ Name: "MO_EXPLOSIONSPIRITS"
+ Description: "Fury"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ SkillData1: 180000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 15
+ SpiritSphereCost: 5
+ }
+},
+{
+ Id: 271
+ Name: "MO_EXTREMITYFIST"
+ Description: "Asura Strike"
+ MaxLevel: 5
+ Range: -2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ IgnoreDefense: true
+ IgnoreFlee: true
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 2000
+ Lv2: 1750
+ Lv3: 1500
+ Lv4: 1250
+ Lv5: 1000
+ Lv6: 500
+ Lv7: 1000
+ Lv8: 1000
+ Lv9: 1000
+ Lv10: 1000
+ }
+ AfterCastActDelay: {
+ Lv1: 3000
+ Lv2: 2500
+ Lv3: 2000
+ Lv4: 1500
+ Lv5: 1000
+ Lv6: 500
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ SkillData1: 10000
+ SkillData2: 300000
+ FixedCastTime: {
+ Lv1: 2000
+ Lv2: 1750
+ Lv3: 1500
+ Lv4: 1250
+ Lv5: 1000
+ Lv6: 500
+ Lv7: 1000
+ Lv8: 1000
+ Lv9: 1000
+ Lv10: 1000
+ }
+ Requirements: {
+ SPCost: 1
+ WeaponTypes: {
+ NoWeapon: true
+ Daggers: true
+ 1HSwords: true
+ 2HSwords: true
+ 1HSpears: true
+ 2HSpears: true
+ 1HAxes: true
+ 2HAxes: true
+ Maces: true
+ 2HMaces: true
+ Staves: true
+ Knuckles: true
+ Instruments: true
+ Whips: true
+ Books: true
+ Katars: true
+ Revolvers: true
+ Rifles: true
+ GatlingGuns: true
+ Shotguns: true
+ GrenadeLaunchers: true
+ FuumaShurikens: true
+ }
+ State: "ExplosionSpirits"
+ SpiritSphereCost: 5
+ }
+},
+{
+ Id: 272
+ Name: "MO_CHAINCOMBO"
+ Description: "Raging Quadruple Blow"
+ MaxLevel: 5
+ Range: -2
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: -4
+ SkillDelayOptions: {
+ IgnoreStatusEffect: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 11
+ Lv2: 12
+ Lv3: 13
+ Lv4: 14
+ Lv5: 15
+ Lv6: 16
+ Lv7: 17
+ Lv8: 18
+ Lv9: 19
+ Lv10: 20
+ }
+ WeaponTypes: {
+ NoWeapon: true
+ Daggers: true
+ 1HSwords: true
+ 2HSwords: true
+ 1HSpears: true
+ 2HSpears: true
+ 1HAxes: true
+ 2HAxes: true
+ Maces: true
+ 2HMaces: true
+ Staves: true
+ Knuckles: true
+ Instruments: true
+ Whips: true
+ Books: true
+ Katars: true
+ Revolvers: true
+ Rifles: true
+ GatlingGuns: true
+ Shotguns: true
+ GrenadeLaunchers: true
+ FuumaShurikens: true
+ }
+ }
+},
+{
+ Id: 273
+ Name: "MO_COMBOFINISH"
+ Description: "Raging Thrust"
+ MaxLevel: 5
+ Range: -2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 2
+ SkillDelayOptions: {
+ IgnoreStatusEffect: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 11
+ Lv2: 12
+ Lv3: 13
+ Lv4: 14
+ Lv5: 15
+ Lv6: 16
+ Lv7: 17
+ Lv8: 18
+ Lv9: 19
+ Lv10: 20
+ }
+ WeaponTypes: {
+ NoWeapon: true
+ Daggers: true
+ 1HSwords: true
+ 2HSwords: true
+ 1HSpears: true
+ 2HSpears: true
+ 1HAxes: true
+ 2HAxes: true
+ Maces: true
+ 2HMaces: true
+ Staves: true
+ Knuckles: true
+ Instruments: true
+ Whips: true
+ Books: true
+ Katars: true
+ Revolvers: true
+ Rifles: true
+ GatlingGuns: true
+ Shotguns: true
+ GrenadeLaunchers: true
+ FuumaShurikens: true
+ }
+ SpiritSphereCost: 1
+ }
+},
+{
+ Id: 274
+ Name: "SA_ADVANCEDBOOK"
+ Description: "Study"
+ MaxLevel: 10
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 275
+ Name: "SA_CASTCANCEL"
+ Description: "Cast Cancel"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 2
+ }
+},
+{
+ Id: 276
+ Name: "SA_MAGICROD"
+ Description: "Magic Rod"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 400
+ Lv2: 600
+ Lv3: 800
+ Lv4: 1000
+ Lv5: 1200
+ Lv6: 1400
+ Lv7: 1600
+ Lv8: 1800
+ Lv9: 2000
+ Lv10: 2200
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 2
+ }
+},
+{
+ Id: 277
+ Name: "SA_SPELLBREAKER"
+ Description: "Spell Breaker"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 560
+ FixedCastTime: 140
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 278
+ Name: "SA_FREECAST"
+ Description: "Free Cast"
+ MaxLevel: 10
+ AttackType: "Magic"
+ NumberOfHits: 0
+},
+{
+ Id: 279
+ Name: "SA_AUTOSPELL"
+ Description: "Hindsight"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 120000
+ Lv2: 150000
+ Lv3: 180000
+ Lv4: 210000
+ Lv5: 240000
+ Lv6: 270000
+ Lv7: 300000
+ Lv8: 330000
+ Lv9: 360000
+ Lv10: 390000
+ }
+ FixedCastTime: 3000
+ Requirements: {
+ SPCost: 35
+ }
+},
+{
+ Id: 280
+ Name: "SA_FLAMELAUNCHER"
+ Description: "Endow Blaze"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ PartyOnly: true
+ GuildOnly: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 120000
+ Lv2: 135000
+ Lv3: 150000
+ Lv4: 165000
+ Lv5: 180000
+ Lv6: 195000
+ Lv7: 210000
+ Lv8: 225000
+ Lv9: 240000
+ Lv10: 255000
+ }
+ FixedCastTime: 3000
+ Requirements: {
+ SPCost: 150
+// Items: {
+// Boody_Red: 1
+// }
+ }
+},
+{
+ Id: 281
+ Name: "SA_FROSTWEAPON"
+ Description: "Endow Tsunami"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ PartyOnly: true
+ GuildOnly: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 120000
+ Lv2: 135000
+ Lv3: 150000
+ Lv4: 165000
+ Lv5: 180000
+ Lv6: 195000
+ Lv7: 210000
+ Lv8: 225000
+ Lv9: 240000
+ Lv10: 255000
+ }
+ FixedCastTime: 3000
+ Requirements: {
+ SPCost: 150
+// Items: {
+// Crystal_Blue: 1
+// }
+ }
+},
+{
+ Id: 282
+ Name: "SA_LIGHTNINGLOADER"
+ Description: "Endow Tornado"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ PartyOnly: true
+ GuildOnly: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 120000
+ Lv2: 135000
+ Lv3: 150000
+ Lv4: 165000
+ Lv5: 180000
+ Lv6: 195000
+ Lv7: 210000
+ Lv8: 225000
+ Lv9: 240000
+ Lv10: 255000
+ }
+ FixedCastTime: 3000
+ Requirements: {
+ SPCost: 150
+// Items: {
+// Wind_Of_Verdure: 1
+// }
+ }
+},
+{
+ Id: 283
+ Name: "SA_SEISMICWEAPON"
+ Description: "Endow Quake"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ PartyOnly: true
+ GuildOnly: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Earth"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 120000
+ Lv2: 135000
+ Lv3: 150000
+ Lv4: 165000
+ Lv5: 180000
+ Lv6: 195000
+ Lv7: 210000
+ Lv8: 225000
+ Lv9: 240000
+ Lv10: 255000
+ }
+ FixedCastTime: 3000
+ Requirements: {
+ SPCost: 150
+// Items: {
+// Yellow_Live: 1
+// }
+ }
+},
+{
+ Id: 284
+ Name: "SA_DRAGONOLOGY"
+ Description: "Dragonology"
+ MaxLevel: 5
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 285
+ Name: "SA_VOLCANO"
+ Description: "Volcano"
+ MaxLevel: 5
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 4000
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 120000
+ Lv3: 180000
+ Lv4: 240000
+ Lv5: 300000
+ Lv6: 360000
+ Lv7: 420000
+ Lv8: 480000
+ Lv9: 540000
+ Lv10: 600000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 48
+ Lv2: 46
+ Lv3: 44
+ Lv4: 42
+ Lv5: 40
+ Lv6: 38
+ Lv7: 36
+ Lv8: 34
+ Lv9: 32
+ Lv10: 30
+ }
+// Items: {
+// Yellow_Gemstone: 1
+// }
+ }
+ Unit: {
+ Id: 0x9a
+ Layout: 3
+ Interval: -1
+ Target: "All"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 286
+ Name: "SA_DELUGE"
+ Description: "Deluge"
+ MaxLevel: 5
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 4000
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 120000
+ Lv3: 180000
+ Lv4: 240000
+ Lv5: 300000
+ Lv6: 360000
+ Lv7: 420000
+ Lv8: 480000
+ Lv9: 540000
+ Lv10: 600000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 48
+ Lv2: 46
+ Lv3: 44
+ Lv4: 42
+ Lv5: 40
+ Lv6: 38
+ Lv7: 36
+ Lv8: 34
+ Lv9: 32
+ Lv10: 30
+ }
+// Items: {
+// Yellow_Gemstone: 1
+// }
+ }
+ Unit: {
+ Id: 0x9b
+ Layout: 3
+ Interval: -1
+ Target: "All"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 287
+ Name: "SA_VIOLENTGALE"
+ Description: "Whirlwind"
+ MaxLevel: 5
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 4000
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 120000
+ Lv3: 180000
+ Lv4: 240000
+ Lv5: 300000
+ Lv6: 360000
+ Lv7: 420000
+ Lv8: 480000
+ Lv9: 540000
+ Lv10: 600000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 48
+ Lv2: 46
+ Lv3: 44
+ Lv4: 42
+ Lv5: 40
+ Lv6: 38
+ Lv7: 36
+ Lv8: 34
+ Lv9: 32
+ Lv10: 30
+ }
+// Items: {
+// Yellow_Gemstone: 1
+// }
+ }
+ Unit: {
+ Id: 0x9c
+ Layout: 3
+ Interval: -1
+ Target: "All"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 288
+ Name: "SA_LANDPROTECTOR"
+ Description: "Magnetic Earth"
+ MaxLevel: 5
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 4000
+ SkillData1: {
+ Lv1: 165000
+ Lv2: 210000
+ Lv3: 255000
+ Lv4: 300000
+ Lv5: 345000
+ Lv6: 390000
+ Lv7: 435000
+ Lv8: 480000
+ Lv9: 525000
+ Lv10: 570000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 66
+ Lv2: 62
+ Lv3: 58
+ Lv4: 54
+ Lv5: 50
+ Lv6: 46
+ Lv7: 42
+ Lv8: 38
+ Lv9: 34
+ Lv10: 30
+ }
+// Items: {
+// Blue_Gemstone: 1
+// Yellow_Gemstone: 1
+// }
+ }
+ Unit: {
+ Id: 0x9d
+ Layout: {
+ Lv1: 3
+ Lv2: 3
+ Lv3: 4
+ Lv4: 4
+ Lv5: 5
+ Lv6: 5
+ Lv7: 6
+ Lv8: 6
+ Lv9: 7
+ Lv10: 7
+ }
+ Interval: -1
+ Target: "All"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 289
+ Name: "SA_DISPELL"
+ Description: "Dispell"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ PartyOnly: true
+ GuildOnly: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ SplashRange: {
+ Lv1: 0
+ Lv2: 0
+ Lv3: 0
+ Lv4: 0
+ Lv5: 0
+ Lv6: -1
+ Lv7: -1
+ Lv8: -1
+ Lv9: -1
+ Lv10: -1
+ }
+ InterruptCast: true
+ CastTime: 1600
+ FixedCastTime: 400
+ Requirements: {
+ SPCost: 1
+// Items: {
+// Yellow_Gemstone: 1
+// }
+ }
+},
+{
+ Id: 290
+ Name: "SA_ABRACADABRA"
+ Description: "Hocus-pocus"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ Requirements: {
+ SPCost: 50
+// Items: {
+// Yellow_Gemstone: 2
+// }
+ }
+},
+{
+ Id: 291
+ Name: "SA_MONOCELL"
+ Description: "Monocell"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 292
+ Name: "SA_CLASSCHANGE"
+ Description: "Class Change"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 293
+ Name: "SA_SUMMONMONSTER"
+ Description: "Monster Chant"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 294
+ Name: "SA_REVERSEORCISH"
+ Description: "Grampus Morph"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: 1200000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 295
+ Name: "SA_DEATH"
+ Description: "Grim Reaper"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 296
+ Name: "SA_FORTUNE"
+ Description: "Gold Digger"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 297
+ Name: "SA_TAMINGMONSTER"
+ Description: "Beastly Hypnosis"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 298
+ Name: "SA_QUESTION"
+ Description: "Questioning"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 299
+ Name: "SA_GRAVITY"
+ Description: "Gravity"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 300
+ Name: "SA_LEVELUP"
+ Description: "Leveling"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 301
+ Name: "SA_INSTANTDEATH"
+ Description: "Suicide"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ InterruptCast: true
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 302
+ Name: "SA_FULLRECOVERY"
+ Description: "Rejuvenation"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 303
+ Name: "SA_COMA"
+ Description: "Coma"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ InterruptCast: true
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 304
+ Name: "BD_ADAPTATION"
+ Description: "Amp"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData2: 5000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 305
+ Name: "BD_ENCORE"
+ Description: "Encore"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 1
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+},
+{
+ Id: 306
+ Name: "BD_LULLABY"
+ Description: "Lullaby"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Ensemble: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 60000
+ SkillData2: 15000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 20
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+ Unit: {
+ Id: 0x9e
+ Layout: 4
+ Interval: 6000
+ Target: "Enemy"
+ Flag: {
+ UF_ENSEMBLE: true
+ }
+ }
+},
+{
+ Id: 307
+ Name: "BD_RICHMANKIM"
+ Description: "Mental Sensing"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Ensemble: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 60000
+ SkillData2: 60000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 20
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+ Unit: {
+ Id: 0x9f
+ Layout: 4
+ Interval: -1
+ Target: "Enemy"
+ Flag: {
+ UF_NOPC: true
+ UF_ENSEMBLE: true
+ }
+ }
+},
+{
+ Id: 308
+ Name: "BD_ETERNALCHAOS"
+ Description: "Down Tempo"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Ensemble: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 60000
+ SkillData2: 60000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 30
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+ Unit: {
+ Id: 0xa0
+ Layout: 4
+ Interval: -1
+ Target: "Enemy"
+ Flag: {
+ UF_ENSEMBLE: true
+ }
+ }
+},
+{
+ Id: 309
+ Name: "BD_DRUMBATTLEFIELD"
+ Description: "Battle Theme"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Ensemble: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 60000
+ SkillData2: 60000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 38
+ Lv2: 41
+ Lv3: 44
+ Lv4: 47
+ Lv5: 50
+ Lv6: 53
+ Lv7: 56
+ Lv8: 59
+ Lv9: 62
+ Lv10: 65
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+ Unit: {
+ Id: 0xa1
+ Layout: 4
+ Interval: -1
+ Target: "Party"
+ Flag: {
+ UF_ENSEMBLE: true
+ }
+ }
+},
+{
+ Id: 310
+ Name: "BD_RINGNIBELUNGEN"
+ Description: "Harmonic Lick"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Ensemble: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 60000
+ SkillData2: 60000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 38
+ Lv2: 41
+ Lv3: 44
+ Lv4: 47
+ Lv5: 50
+ Lv6: 53
+ Lv7: 56
+ Lv8: 59
+ Lv9: 62
+ Lv10: 65
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+ Unit: {
+ Id: 0xa2
+ Layout: 4
+ Interval: -1
+ Target: "Party"
+ Flag: {
+ UF_ENSEMBLE: true
+ }
+ }
+},
+{
+ Id: 311
+ Name: "BD_ROKISWEIL"
+ Description: "Classical Pluck"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Ensemble: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 60000
+ SkillData2: 60000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 15
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+ Unit: {
+ Id: 0xa3
+ Layout: 4
+ Interval: -1
+ Target: "All"
+ Flag: {
+ UF_ENSEMBLE: true
+ }
+ }
+},
+{
+ Id: 312
+ Name: "BD_INTOABYSS"
+ Description: "Power Chord"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Ensemble: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 60000
+ SkillData2: 60000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+ Unit: {
+ Id: 0xa4
+ Layout: 4
+ Interval: -1
+ Target: "Party"
+ Flag: {
+ UF_NOMOB: true
+ UF_ENSEMBLE: true
+ }
+ }
+},
+{
+ Id: 313
+ Name: "BD_SIEGFRIED"
+ Description: "Acoustic Rhythm"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Ensemble: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 60000
+ SkillData2: 60000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 20
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+ Unit: {
+ Id: 0xa5
+ Layout: 4
+ Interval: -1
+ Target: "Party"
+ Flag: {
+ UF_ENSEMBLE: true
+ }
+ }
+},
+{
+ Id: 315
+ Name: "BA_MUSICALLESSON"
+ Description: "Music Lessons"
+ MaxLevel: 10
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 316
+ Name: "BA_MUSICALSTRIKE"
+ Description: "Melody Strike"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ CastTime: 1200
+ FixedCastTime: 300
+ Requirements: {
+ SPCost: {
+ Lv1: 1
+ Lv2: 3
+ Lv3: 5
+ Lv4: 7
+ Lv5: 9
+ Lv6: 11
+ Lv7: 13
+ Lv8: 15
+ Lv9: 17
+ Lv10: 19
+ }
+ WeaponTypes: {
+ Instruments: true
+ }
+ AmmoTypes: {
+ A_ARROW: true
+ }
+ AmmoAmount: 1
+ }
+},
+{
+ Id: 317
+ Name: "BA_DISSONANCE"
+ Description: "Unchained Serenade"
+ MaxLevel: 5
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Song: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ IgnoreFlee: true
+ }
+ SkillData1: 30000
+ SkillData2: 3000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 18
+ Lv2: 21
+ Lv3: 24
+ Lv4: 27
+ Lv5: 30
+ Lv6: 33
+ Lv7: 36
+ Lv8: 39
+ Lv9: 42
+ Lv10: 45
+ }
+ WeaponTypes: {
+ Instruments: true
+ }
+ }
+ Unit: {
+ Id: 0xa6
+ Layout: 3
+ Interval: 3000
+ Target: "Enemy"
+ Flag: {
+ UF_SONG: true
+ }
+ }
+},
+{
+ Id: 318
+ Name: "BA_FROSTJOKER"
+ Description: "Unbarring Octave"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ AfterCastActDelay: 4000
+ SkillData2: {
+ Lv1: 10000
+ Lv2: 11000
+ Lv3: 12000
+ Lv4: 13000
+ Lv5: 14000
+ Lv6: 15000
+ Lv7: 16000
+ Lv8: 17000
+ Lv9: 18000
+ Lv10: 19000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 12
+ Lv2: 14
+ Lv3: 16
+ Lv4: 18
+ Lv5: 20
+ Lv6: 22
+ Lv7: 24
+ Lv8: 26
+ Lv9: 28
+ Lv10: 30
+ }
+ }
+},
+{
+ Id: 319
+ Name: "BA_WHISTLE"
+ Description: "Perfect Tablature"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Song: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 60000
+ SkillData2: 20000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 24
+ Lv2: 28
+ Lv3: 32
+ Lv4: 36
+ Lv5: 40
+ Lv6: 44
+ Lv7: 48
+ Lv8: 52
+ Lv9: 56
+ Lv10: 60
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+ Unit: {
+ Id: 0xa7
+ Layout: 3
+ Interval: 3000
+ Target: "All"
+ Flag: {
+ UF_NOMOB: true
+ UF_SONG: true
+ UF_DUALMODE: true
+ }
+ }
+},
+{
+ Id: 320
+ Name: "BA_ASSASSINCROSS"
+ Description: "Impressive Riff"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Song: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 120000
+ SkillData2: 20000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 38
+ Lv2: 41
+ Lv3: 44
+ Lv4: 47
+ Lv5: 50
+ Lv6: 53
+ Lv7: 56
+ Lv8: 59
+ Lv9: 62
+ Lv10: 65
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+ Unit: {
+ Id: 0xa8
+ Layout: 3
+ Interval: 3000
+ Target: "All"
+ Flag: {
+ UF_NOMOB: true
+ UF_SONG: true
+ UF_DUALMODE: true
+ }
+ }
+},
+{
+ Id: 321
+ Name: "BA_POEMBRAGI"
+ Description: "Magic Strings"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Song: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 180000
+ SkillData2: 20000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 45
+ Lv3: 50
+ Lv4: 55
+ Lv5: 60
+ Lv6: 65
+ Lv7: 70
+ Lv8: 75
+ Lv9: 80
+ Lv10: 85
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+ Unit: {
+ Id: 0xa9
+ Layout: 3
+ Interval: 3000
+ Target: "All"
+ Flag: {
+ UF_NOMOB: true
+ UF_SONG: true
+ UF_DUALMODE: true
+ }
+ }
+},
+{
+ Id: 322
+ Name: "BA_APPLEIDUN"
+ Description: "Song of Lutie"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Song: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 180000
+ SkillData2: 20000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 45
+ Lv3: 50
+ Lv4: 55
+ Lv5: 60
+ Lv6: 65
+ Lv7: 70
+ Lv8: 75
+ Lv9: 80
+ Lv10: 85
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+ Unit: {
+ Id: 0xaa
+ Layout: 3
+ Interval: 6000
+ Target: "All"
+ Flag: {
+ UF_NOMOB: true
+ UF_SONG: true
+ UF_DUALMODE: true
+ }
+ }
+},
+{
+ Id: 323
+ Name: "DC_DANCINGLESSON"
+ Description: "Dance Lessons"
+ MaxLevel: 10
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 324
+ Name: "DC_THROWARROW"
+ Description: "Slinging Arrow"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ CastTime: 1200
+ FixedCastTime: 300
+ Requirements: {
+ SPCost: {
+ Lv1: 1
+ Lv2: 3
+ Lv3: 5
+ Lv4: 7
+ Lv5: 9
+ Lv6: 11
+ Lv7: 13
+ Lv8: 15
+ Lv9: 17
+ Lv10: 19
+ }
+ WeaponTypes: {
+ Whips: true
+ }
+ AmmoTypes: {
+ A_ARROW: true
+ }
+ AmmoAmount: 1
+ }
+},
+{
+ Id: 325
+ Name: "DC_UGLYDANCE"
+ Description: "Hip Shaker"
+ MaxLevel: 5
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Song: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 30000
+ SkillData2: 3000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 23
+ Lv2: 26
+ Lv3: 29
+ Lv4: 32
+ Lv5: 35
+ Lv6: 38
+ Lv7: 41
+ Lv8: 44
+ Lv9: 47
+ Lv10: 50
+ }
+ WeaponTypes: {
+ Whips: true
+ }
+ }
+ Unit: {
+ Id: 0xab
+ Layout: 3
+ Interval: 3000
+ Target: "Enemy"
+ Flag: {
+ UF_DANCE: true
+ }
+ }
+},
+{
+ Id: 326
+ Name: "DC_SCREAM"
+ Description: "Dazzler"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ AfterCastActDelay: 4000
+ SkillData2: 5000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 12
+ Lv2: 14
+ Lv3: 16
+ Lv4: 18
+ Lv5: 20
+ Lv6: 22
+ Lv7: 24
+ Lv8: 26
+ Lv9: 28
+ Lv10: 30
+ }
+ }
+},
+{
+ Id: 327
+ Name: "DC_HUMMING"
+ Description: "Focus Ballet"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Song: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 60000
+ SkillData2: 20000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 22
+ Lv2: 24
+ Lv3: 26
+ Lv4: 28
+ Lv5: 30
+ Lv6: 32
+ Lv7: 34
+ Lv8: 36
+ Lv9: 38
+ Lv10: 40
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+ Unit: {
+ Id: 0xac
+ Layout: 3
+ Interval: 3000
+ Target: "All"
+ Flag: {
+ UF_NOMOB: true
+ UF_DANCE: true
+ UF_DUALMODE: true
+ }
+ }
+},
+{
+ Id: 328
+ Name: "DC_DONTFORGETME"
+ Description: "Slow Grace"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Song: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 180000
+ SkillData2: 20000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 28
+ Lv2: 31
+ Lv3: 34
+ Lv4: 37
+ Lv5: 40
+ Lv6: 43
+ Lv7: 46
+ Lv8: 49
+ Lv9: 52
+ Lv10: 55
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+ Unit: {
+ Id: 0xad
+ Layout: 3
+ Interval: 3000
+ Target: "Enemy"
+ Flag: {
+ UF_DANCE: true
+ UF_DUALMODE: true
+ }
+ }
+},
+{
+ Id: 329
+ Name: "DC_FORTUNEKISS"
+ Description: "Lady Luck"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Song: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 120000
+ SkillData2: 20000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 43
+ Lv2: 46
+ Lv3: 49
+ Lv4: 52
+ Lv5: 55
+ Lv6: 58
+ Lv7: 61
+ Lv8: 64
+ Lv9: 67
+ Lv10: 70
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+ Unit: {
+ Id: 0xae
+ Layout: 3
+ Interval: 3000
+ Target: "All"
+ Flag: {
+ UF_NOMOB: true
+ UF_DANCE: true
+ UF_DUALMODE: true
+ }
+ }
+},
+{
+ Id: 330
+ Name: "DC_SERVICEFORYOU"
+ Description: "Gypsy's Kiss"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Song: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 180000
+ SkillData2: 20000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 45
+ Lv3: 50
+ Lv4: 55
+ Lv5: 60
+ Lv6: 65
+ Lv7: 70
+ Lv8: 75
+ Lv9: 80
+ Lv10: 85
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+ Unit: {
+ Id: 0xaf
+ Layout: 3
+ Interval: 3000
+ Target: "All"
+ Flag: {
+ UF_NOMOB: true
+ UF_DANCE: true
+ UF_DUALMODE: true
+ }
+ }
+},
+{
+ Id: 331
+ Name: "NPC_RANDOMMOVE"
+ Description: "Random Move"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+},
+{
+ Id: 332
+ Name: "NPC_SPEEDUP"
+ Description: "Speed UP"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+},
+{
+ Id: 333
+ Name: "NPC_REVENGE"
+ Description: "Revenge"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+},
+{
+ Id: 334
+ Name: "WE_MALE"
+ Description: "I Will Protect You"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Wedding: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1500
+ FixedCastTime: 1500
+ Requirements: {
+ SPCost: 1
+ HPRateCost: -10
+ }
+},
+{
+ Id: 335
+ Name: "WE_FEMALE"
+ Description: "I Look up to You"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Wedding: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1500
+ FixedCastTime: 1500
+ Requirements: {
+ SPCost: 1
+ SPRateCost: -10
+ }
+},
+{
+ Id: 336
+ Name: "WE_CALLPARTNER"
+ Description: "I miss You"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Wedding: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SplashRange: 3
+ InterruptCast: true
+ SkillInstances: 1
+ SkillData1: 20000
+ FixedCastTime: 0
+ CastTimeOptions: {
+ IgnoreDex: true
+ }
+ Requirements: {
+ SPCost: 1
+ }
+ Unit: {
+ Id: 0xb2
+ Range: -1
+ Interval: -1
+ }
+},
+{
+ Id: 337
+ Name: "ITM_TOMAHAWK"
+ Description: "Throw Tomahawk"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 338
+ Name: "NPC_DARKCROSS"
+ Description: "Cross of Darkness"
+ MaxLevel: 10
+ Range: -1
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Dark"
+ NumberOfHits: -2
+},
+{
+ Id: 339
+ Name: "NPC_GRANDDARKNESS"
+ Description: "Grand cross of Darkness"
+ MaxLevel: 10
+ Range: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ TargetSelf: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Dark"
+ DamageType: {
+ IgnoreCards: true
+ IgnoreFlee: true
+ }
+ AfterCastWalkDelay: 900
+ SkillData1: 900
+ SkillData2: {
+ Lv1: 10000
+ Lv2: 11000
+ Lv3: 12000
+ Lv4: 13000
+ Lv5: 14000
+ Lv6: 15000
+ Lv7: 16000
+ Lv8: 17000
+ Lv9: 18000
+ Lv10: 19000
+ }
+ FixedCastTime: 0
+ Unit: {
+ Id: 0x86
+ Layout: -1
+ Interval: 300
+ Target: "Enemy"
+ }
+},
+{
+ Id: 340
+ Name: "NPC_DARKSTRIKE"
+ Description: "Soul Strike of Darkness"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Dark"
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 2
+ Lv4: 2
+ Lv5: 3
+ Lv6: 3
+ Lv7: 4
+ Lv8: 4
+ Lv9: 5
+ Lv10: 5
+ }
+ InterruptCast: true
+},
+{
+ Id: 341
+ Name: "NPC_DARKTHUNDER"
+ Description: "Darkness Jupitel"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Dark"
+ NumberOfHits: {
+ Lv1: 3
+ Lv2: 4
+ Lv3: 5
+ Lv4: 6
+ Lv5: 7
+ Lv6: 8
+ Lv7: 9
+ Lv8: 10
+ Lv9: 11
+ Lv10: 12
+ }
+ InterruptCast: true
+ KnockBackTiles: {
+ Lv1: 2
+ Lv2: 3
+ Lv3: 3
+ Lv4: 4
+ Lv5: 4
+ Lv6: 5
+ Lv7: 5
+ Lv8: 6
+ Lv9: 6
+ Lv10: 7
+ }
+},
+{
+ Id: 342
+ Name: "NPC_STOP"
+ Description: "Stop"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ SkillData1: 10000
+ FixedCastTime: 0
+},
+{
+ Id: 343
+ Name: "NPC_WEAPONBRAKER"
+ Description: "Break weapon"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+},
+{
+ Id: 344
+ Name: "NPC_ARMORBRAKE"
+ Description: "Break armor"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+},
+{
+ Id: 345
+ Name: "NPC_HELMBRAKE"
+ Description: "Break helm"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+},
+{
+ Id: 346
+ Name: "NPC_SHIELDBRAKE"
+ Description: "Break shield"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+},
+{
+ Id: 347
+ Name: "NPC_UNDEADATTACK"
+ Description: "Undead Element Attack"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Undead"
+},
+{
+ Id: 348
+ Name: "NPC_CHANGEUNDEAD"
+ Description: "Undead Attribute Change"
+ MaxLevel: 5
+ Range: 9
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Undead"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 30000
+ FixedCastTime: 0
+},
+{
+ Id: 349
+ Name: "NPC_POWERUP"
+ Description: "Power Up"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ FixedCastTime: 0
+},
+{
+ Id: 350
+ Name: "NPC_AGIUP"
+ Description: "Agility UP"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ FixedCastTime: 0
+},
+{
+ Id: 351
+ Name: "NPC_SIEGEMODE"
+ Description: "Siege Mode"
+ MaxLevel: 1
+ SkillInfo: {
+ NPC: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+},
+{
+ Id: 352
+ Name: "NPC_CALLSLAVE"
+ Description: "Recall Slaves"
+ MaxLevel: 1
+ Range: 2
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+},
+{
+ Id: 353
+ Name: "NPC_INVISIBLE"
+ Description: "Invisible"
+ MaxLevel: 1
+ SkillInfo: {
+ NPC: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ SkillData1: 30000
+ FixedCastTime: 0
+},
+{
+ Id: 354
+ Name: "NPC_RUN"
+ Description: "Run"
+ MaxLevel: 20
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ FixedCastTime: 0
+},
+{
+ Id: 355
+ Name: "LK_AURABLADE"
+ Description: "Aura Blade"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 40000
+ Lv2: 60000
+ Lv3: 80000
+ Lv4: 100000
+ Lv5: 120000
+ Lv6: 140000
+ Lv7: 160000
+ Lv8: 180000
+ Lv9: 200000
+ Lv10: 220000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 18
+ Lv2: 26
+ Lv3: 34
+ Lv4: 42
+ Lv5: 50
+ Lv6: 58
+ Lv7: 66
+ Lv8: 74
+ Lv9: 82
+ Lv10: 90
+ }
+ WeaponTypes: {
+ Daggers: true
+ 1HSwords: true
+ 2HSwords: true
+ 1HSpears: true
+ 2HSpears: true
+ 1HAxes: true
+ 2HAxes: true
+ Maces: true
+ 2HMaces: true
+ Staves: true
+ Bows: true
+ Knuckles: true
+ Instruments: true
+ Whips: true
+ Books: true
+ Katars: true
+ Revolvers: true
+ Rifles: true
+ GatlingGuns: true
+ Shotguns: true
+ GrenadeLaunchers: true
+ FuumaShurikens: true
+ }
+ }
+},
+{
+ Id: 356
+ Name: "LK_PARRYING"
+ Description: "Parrying"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 15000
+ Lv2: 20000
+ Lv3: 25000
+ Lv4: 30000
+ Lv5: 35000
+ Lv6: 40000
+ Lv7: 45000
+ Lv8: 50000
+ Lv9: 55000
+ Lv10: 60000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 50
+ WeaponTypes: {
+ 2HSwords: true
+ }
+ }
+},
+{
+ Id: 357
+ Name: "LK_CONCENTRATION"
+ Description: "Concentration"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 25000
+ Lv2: 30000
+ Lv3: 35000
+ Lv4: 40000
+ Lv5: 45000
+ Lv6: 50000
+ Lv7: 55000
+ Lv8: 60000
+ Lv9: 65000
+ Lv10: 70000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 14
+ Lv2: 18
+ Lv3: 22
+ Lv4: 26
+ Lv5: 30
+ Lv6: 34
+ Lv7: 38
+ Lv8: 42
+ Lv9: 46
+ Lv10: 50
+ }
+ }
+},
+{
+ Id: 358
+ Name: "LK_TENSIONRELAX"
+ Description: "Relax"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 180000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 15
+ }
+},
+{
+ Id: 359
+ Name: "LK_BERSERK"
+ Description: "Frenzy"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 300000
+ SkillData2: 15000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 200
+ }
+},
+{
+ Id: 361
+ Name: "HP_ASSUMPTIO"
+ Description: "Assumptio"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ SplashRange: 1
+ InterruptCast: true
+ CastTime: {
+ Lv1: 800
+ Lv2: 1200
+ Lv3: 1600
+ Lv4: 2000
+ Lv5: 2400
+ Lv6: 2400
+ Lv7: 2400
+ Lv8: 2400
+ Lv9: 2400
+ Lv10: 2400
+ }
+ AfterCastActDelay: {
+ Lv1: 1100
+ Lv2: 1200
+ Lv3: 1300
+ Lv4: 1400
+ Lv5: 1500
+ Lv6: 1600
+ Lv7: 1700
+ Lv8: 1800
+ Lv9: 1900
+ Lv10: 2000
+ }
+ SkillData1: {
+ Lv1: 20000
+ Lv2: 40000
+ Lv3: 60000
+ Lv4: 80000
+ Lv5: 100000
+ Lv6: 120000
+ Lv7: 140000
+ Lv8: 160000
+ Lv9: 180000
+ Lv10: 200000
+ }
+ FixedCastTime: {
+ Lv1: 200
+ Lv2: 300
+ Lv3: 400
+ Lv4: 500
+ Lv5: 600
+ Lv6: 700
+ Lv7: 800
+ Lv8: 900
+ Lv9: 1000
+ Lv10: 1100
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 30
+ Lv3: 40
+ Lv4: 50
+ Lv5: 60
+ Lv6: 70
+ Lv7: 80
+ Lv8: 90
+ Lv9: 100
+ Lv10: 110
+ }
+ }
+},
+{
+ Id: 362
+ Name: "HP_BASILICA"
+ Description: "Basilica"
+ MaxLevel: 5
+ Range: 4
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ KnockBackTiles: 2
+ AfterCastActDelay: {
+ Lv1: 2000
+ Lv2: 3000
+ Lv3: 4000
+ Lv4: 5000
+ Lv5: 6000
+ Lv6: 7000
+ Lv7: 8000
+ Lv8: 9000
+ Lv9: 10000
+ Lv10: 11000
+ }
+ SkillData1: {
+ Lv1: 20000
+ Lv2: 25000
+ Lv3: 30000
+ Lv4: 35000
+ Lv5: 40000
+ Lv6: 45000
+ Lv7: 50000
+ Lv8: 55000
+ Lv9: 60000
+ Lv10: 65000
+ }
+ SkillData2: {
+ Lv1: 20000
+ Lv2: 25000
+ Lv3: 30000
+ Lv4: 35000
+ Lv5: 40000
+ Lv6: 45000
+ Lv7: 50000
+ Lv8: 55000
+ Lv9: 60000
+ Lv10: 65000
+ }
+ FixedCastTime: {
+ Lv1: 5000
+ Lv2: 6000
+ Lv3: 7000
+ Lv4: 8000
+ Lv5: 9000
+ Lv6: 10000
+ Lv7: 11000
+ Lv8: 12000
+ Lv9: 13000
+ Lv10: 14000
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 90
+ Lv3: 100
+ Lv4: 110
+ Lv5: 120
+ Lv6: 130
+ Lv7: 140
+ Lv8: 150
+ Lv9: 160
+ Lv10: 170
+ }
+// Items: {
+// Yellow_Gemstone: 1
+// Red_Gemstone: 1
+// Blue_Gemstone: 1
+// Holy_Water: 1
+// }
+ }
+ Unit: {
+ Id: 0xb4
+ Range: 2
+ Interval: 300
+ Target: "All"
+ }
+},
+{
+ Id: 363
+ Name: "HP_MEDITATIO"
+ Description: "Meditatio"
+ MaxLevel: 10
+ AttackType: "Magic"
+ NumberOfHits: 0
+},
+{
+ Id: 364
+ Name: "HW_SOULDRAIN"
+ Description: "Soul Drain"
+ MaxLevel: 10
+ AttackType: "Magic"
+},
+{
+ Id: 365
+ Name: "HW_MAGICCRASHER"
+ Description: "Stave Crasher"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ InterruptCast: true
+ CastTime: 240
+ AfterCastActDelay: 300
+ FixedCastTime: 60
+ Requirements: {
+ SPCost: 8
+ }
+},
+{
+ Id: 366
+ Name: "HW_MAGICPOWER"
+ Description: "Accumulate Power"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 30000
+ CastTimeOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ }
+ CoolDown: {
+ Lv1: 1000
+ Lv2: 900
+ Lv3: 800
+ Lv4: 700
+ Lv5: 600
+ Lv6: 500
+ Lv7: 400
+ Lv8: 300
+ Lv9: 200
+ Lv10: 100
+ }
+ CastTime: 50
+ FixedCastTime: 50
+ Requirements: {
+ SPCost: 20
+ }
+},
+{
+ Id: 367
+ Name: "PA_PRESSURE"
+ Description: "Gloria Domini"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ IgnoreElement: true
+ IgnoreFlee: true
+ IgnoreDefCards: true
+ }
+ CastTime: 1600
+ AfterCastActDelay: {
+ Lv1: 2000
+ Lv2: 2500
+ Lv3: 3000
+ Lv4: 3500
+ Lv5: 4000
+ Lv6: 4500
+ Lv7: 5000
+ Lv8: 5500
+ Lv9: 6000
+ Lv10: 6500
+ }
+ SkillData2: {
+ Lv1: 2000
+ Lv2: 3000
+ Lv3: 4000
+ Lv4: 5000
+ Lv5: 6000
+ Lv6: 7000
+ Lv7: 8000
+ Lv8: 9000
+ Lv9: 10000
+ Lv10: 11000
+ }
+ FixedCastTime: 400
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 35
+ Lv3: 40
+ Lv4: 45
+ Lv5: 50
+ Lv6: 55
+ Lv7: 60
+ Lv8: 65
+ Lv9: 70
+ Lv10: 75
+ }
+ }
+},
+{
+ Id: 368
+ Name: "PA_SACRIFICE"
+ Description: "Martyr's Reckoning"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ IgnoreCards: true
+ IgnoreDefense: true
+ IgnoreFlee: true
+ }
+ InterruptCast: true
+ Requirements: {
+ SPCost: 100
+ }
+},
+{
+ Id: 369
+ Name: "PA_GOSPEL"
+ Description: "Battle Chant"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ IgnoreFlee: true
+ }
+ InterruptCast: true
+ SkillData1: 60000
+ SkillData2: 60000
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 80
+ Lv3: 80
+ Lv4: 80
+ Lv5: 80
+ Lv6: 100
+ Lv7: 100
+ Lv8: 100
+ Lv9: 100
+ Lv10: 100
+ }
+ }
+ Unit: {
+ Id: 0xb3
+ Layout: -1
+ Interval: 10000
+ Target: "All"
+ Flag: {
+ UF_NOOVERLAP: true
+ }
+ }
+},
+{
+ Id: 370
+ Name: "CH_PALMSTRIKE"
+ Description: "Raging Palm Strike"
+ MaxLevel: 5
+ Range: -2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ InterruptCast: true
+ KnockBackTiles: 3
+ AfterCastActDelay: 300
+ CastTimeOptions: {
+ IgnoreDex: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 2
+ Lv2: 4
+ Lv3: 6
+ Lv4: 8
+ Lv5: 10
+ Lv6: 12
+ Lv7: 14
+ Lv8: 16
+ Lv9: 18
+ Lv10: 20
+ }
+ State: "ExplosionSpirits"
+ }
+},
+{
+ Id: 371
+ Name: "CH_TIGERFIST"
+ Description: "Glacier Fist"
+ MaxLevel: 5
+ Range: -2
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ SkillData2: {
+ Lv1: 2000
+ Lv2: 4000
+ Lv3: 6000
+ Lv4: 8000
+ Lv5: 10000
+ Lv6: 12000
+ Lv7: 14000
+ Lv8: 16000
+ Lv9: 18000
+ Lv10: 20000
+ }
+ SkillDelayOptions: {
+ IgnoreStatusEffect: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 4
+ Lv2: 6
+ Lv3: 8
+ Lv4: 10
+ Lv5: 12
+ Lv6: 14
+ Lv7: 16
+ Lv8: 18
+ Lv9: 20
+ Lv10: 22
+ }
+ SpiritSphereCost: 1
+ }
+},
+{
+ Id: 372
+ Name: "CH_CHAINCRUSH"
+ Description: "Chain Crush Combo"
+ MaxLevel: 10
+ Range: -2
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: {
+ Lv1: -1
+ Lv2: -1
+ Lv3: -2
+ Lv4: -2
+ Lv5: -3
+ Lv6: -3
+ Lv7: -4
+ Lv8: -4
+ Lv9: -5
+ Lv10: -5
+ }
+ SkillDelayOptions: {
+ IgnoreStatusEffect: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 4
+ Lv2: 6
+ Lv3: 8
+ Lv4: 10
+ Lv5: 12
+ Lv6: 14
+ Lv7: 16
+ Lv8: 18
+ Lv9: 20
+ Lv10: 22
+ }
+ SpiritSphereCost: 2
+ }
+},
+{
+ Id: 373
+ Name: "PF_HPCONVERSION"
+ Description: "Indulge"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: {
+ Lv1: 1000
+ Lv2: 1200
+ Lv3: 1400
+ Lv4: 1600
+ Lv5: 1800
+ Lv6: 2000
+ Lv7: 2200
+ Lv8: 2400
+ Lv9: 2600
+ Lv10: 2800
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ }
+},
+{
+ Id: 374
+ Name: "PF_SOULCHANGE"
+ Description: "Soul Exhale"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ PartyOnly: true
+ GuildOnly: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ FixedCastTime: 3000
+ Requirements: {
+ SPCost: 5
+ }
+},
+{
+ Id: 375
+ Name: "PF_SOULBURN"
+ Description: "Soul Siphon"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ IgnoreCards: true
+ IgnoreElement: true
+ IgnoreDefCards: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 10000
+ Lv2: 10000
+ Lv3: 10000
+ Lv4: 10000
+ Lv5: 15000
+ Lv6: 15000
+ Lv7: 15000
+ Lv8: 15000
+ Lv9: 15000
+ Lv10: 15000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 90
+ Lv3: 100
+ Lv4: 110
+ Lv5: 120
+ Lv6: 130
+ Lv7: 140
+ Lv8: 150
+ Lv9: 160
+ Lv10: 170
+ }
+ }
+},
+{
+ Id: 376
+ Name: "ASC_KATAR"
+ Description: "Advanced Katar Mastery"
+ MaxLevel: 5
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+},
+{
+ Id: 378
+ Name: "ASC_EDP"
+ Description: "Enchant Deadly Poison"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Nature"
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 2000
+ SkillData1: {
+ Lv1: 40000
+ Lv2: 45000
+ Lv3: 50000
+ Lv4: 55000
+ Lv5: 60000
+ Lv6: 65000
+ Lv7: 70000
+ Lv8: 75000
+ Lv9: 80000
+ Lv10: 85000
+ }
+ SkillData2: {
+ Lv1: 20000
+ Lv2: 30000
+ Lv3: 40000
+ Lv4: 50000
+ Lv5: 60000
+ Lv6: 70000
+ Lv7: 80000
+ Lv8: 90000
+ Lv9: 100000
+ Lv10: 110000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 70
+ Lv3: 80
+ Lv4: 90
+ Lv5: 100
+ Lv6: 110
+ Lv7: 120
+ Lv8: 130
+ Lv9: 140
+ Lv10: 150
+ }
+ WeaponTypes: {
+ Daggers: true
+ 1HSwords: true
+ 2HSwords: true
+ 1HSpears: true
+ 2HSpears: true
+ 1HAxes: true
+ 2HAxes: true
+ Maces: true
+ 2HMaces: true
+ Staves: true
+ Bows: true
+ Knuckles: true
+ Instruments: true
+ Whips: true
+ Books: true
+ Katars: true
+ Revolvers: true
+ Rifles: true
+ GatlingGuns: true
+ Shotguns: true
+ GrenadeLaunchers: true
+ FuumaShurikens: true
+ }
+// Items: {
+// Poison_Bottle: 1
+// }
+ }
+},
+{
+ Id: 379
+ Name: "ASC_BREAKER"
+ Description: "Soul Destroyer"
+ MaxLevel: 10
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Misc"
+ Element: "Ele_Weapon"
+ DamageType: {
+ IgnoreFlee: true
+ }
+ InterruptCast: true
+ CastTime: 250
+ AfterCastActDelay: {
+ Lv1: 1000
+ Lv2: 1200
+ Lv3: 1400
+ Lv4: 1600
+ Lv5: 1800
+ Lv6: 2000
+ Lv7: 2200
+ Lv8: 2400
+ Lv9: 2600
+ Lv10: 2800
+ }
+ FixedCastTime: 250
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 20
+ Lv3: 20
+ Lv4: 20
+ Lv5: 20
+ Lv6: 30
+ Lv7: 30
+ Lv8: 30
+ Lv9: 30
+ Lv10: 30
+ }
+ }
+},
+{
+ Id: 380
+ Name: "SN_SIGHT"
+ Description: "Falcon Eyes"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 30000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 20
+ Lv3: 25
+ Lv4: 25
+ Lv5: 30
+ Lv6: 30
+ Lv7: 35
+ Lv8: 35
+ Lv9: 40
+ Lv10: 40
+ }
+ }
+},
+{
+ Id: 381
+ Name: "SN_FALCONASSAULT"
+ Description: "Falcon Assault"
+ MaxLevel: 5
+ Range: 5
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ IgnoreFlee: true
+ }
+ InterruptCast: true
+ CastTime: 500
+ AfterCastActDelay: 3000
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 34
+ Lv3: 38
+ Lv4: 42
+ Lv5: 46
+ Lv6: 50
+ Lv7: 54
+ Lv8: 58
+ Lv9: 62
+ Lv10: 66
+ }
+ State: "Falcon"
+ }
+},
+{
+ Id: 382
+ Name: "SN_SHARPSHOOTING"
+ Description: "Sharpshooting"
+ MaxLevel: 1
+ Range: 7
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ SplashRange: 1
+ InterruptCast: true
+ SkillInstances: 13
+ CastTime: 1000
+ FixedCastTime: 600
+ AfterCastActDelay: 1400
+ CastDefRate: 25
+ CoolDown: 15000
+ SkillInfo: {
+ Quest: true
+ }
+ Requirements: {
+ SPCost: 140
+ WeaponTypes: {
+ Bows: true
+ }
+ AmmoTypes: {
+ A_ARROW: true
+ }
+ AmmoAmount: 1
+ }
+},
+{
+ Id: 383
+ Name: "SN_WINDWALK"
+ Description: "Wind Walker"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ InterruptCast: true
+ CastTime: {
+ Lv1: 1500
+ Lv2: 1800
+ Lv3: 2100
+ Lv4: 2400
+ Lv5: 2700
+ Lv6: 3000
+ Lv7: 3300
+ Lv8: 3600
+ Lv9: 3900
+ Lv10: 4200
+ }
+ AfterCastActDelay: 2000
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 70000
+ Lv3: 80000
+ Lv4: 90000
+ Lv5: 100000
+ Lv6: 110000
+ Lv7: 120000
+ Lv8: 140000
+ Lv9: 160000
+ Lv10: 180000
+ }
+ FixedCastTime: {
+ Lv1: 500
+ Lv2: 600
+ Lv3: 700
+ Lv4: 800
+ Lv5: 900
+ Lv6: 1000
+ Lv7: 1100
+ Lv8: 1200
+ Lv9: 1300
+ Lv10: 1400
+ }
+ Requirements: {
+ SPCost: 110
+ }
+},
+{
+ Id: 384
+ Name: "WS_MELTDOWN"
+ Description: "Shattering Strike"
+ MaxLevel: 10
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 15000
+ Lv2: 20000
+ Lv3: 25000
+ Lv4: 30000
+ Lv5: 35000
+ Lv6: 40000
+ Lv7: 45000
+ Lv8: 50000
+ Lv9: 55000
+ Lv10: 60000
+ }
+ SkillData2: 5000
+ FixedCastTime: {
+ Lv1: 5
+ Lv2: 5
+ Lv3: 6
+ Lv4: 6
+ Lv5: 7
+ Lv6: 7
+ Lv7: 8
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 50
+ Lv2: 50
+ Lv3: 60
+ Lv4: 60
+ Lv5: 70
+ Lv6: 70
+ Lv7: 80
+ Lv8: 80
+ Lv9: 90
+ Lv10: 90
+ }
+ }
+},
+{
+ Id: 387
+ Name: "WS_CARTBOOST"
+ Description: "Cart Boost"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 60000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 20
+ State: "Cart"
+ }
+},
+{
+ Id: 389
+ Name: "ST_CHASEWALK"
+ Description: "Stealth"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: 500
+ SkillData1: 10000
+ SkillData2: 30000
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 390
+ Name: "ST_REJECTSWORD"
+ Description: "Counter Instinct"
+ MaxLevel: 5
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ InterruptCast: true
+ SkillData1: 300000
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 15
+ Lv3: 20
+ Lv4: 25
+ Lv5: 30
+ Lv6: 35
+ Lv7: 40
+ Lv8: 45
+ Lv9: 50
+ Lv10: 55
+ }
+ }
+},
+{
+ Id: 392
+ Name: "CR_ALCHEMY"
+ Description: "Alchemy"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+},
+{
+ Id: 393
+ Name: "CR_SYNTHESISPOTION"
+ Description: "Potion Synthesis"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+},
+{
+ Id: 394
+ Name: "CG_ARROWVULCAN"
+ Description: "Vulcan Arrow"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: -9
+ InterruptCast: true
+ CastTime: {
+ Lv1: 1600
+ Lv2: 1760
+ Lv3: 1920
+ Lv4: 2080
+ Lv5: 2240
+ Lv6: 2400
+ Lv7: 2560
+ Lv8: 2720
+ Lv9: 2880
+ Lv10: 3040
+ }
+ AfterCastActDelay: 2000
+ AfterCastWalkDelay: 2000
+ FixedCastTime: {
+ Lv1: 400
+ Lv2: 440
+ Lv3: 480
+ Lv4: 520
+ Lv5: 560
+ Lv6: 600
+ Lv7: 640
+ Lv8: 680
+ Lv9: 720
+ Lv10: 760
+ }
+ SkillDelayOptions: {
+ IgnoreStatusEffect: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 12
+ Lv2: 14
+ Lv3: 16
+ Lv4: 18
+ Lv5: 20
+ Lv6: 22
+ Lv7: 24
+ Lv8: 26
+ Lv9: 28
+ Lv10: 30
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ AmmoTypes: {
+ A_ARROW: true
+ }
+ AmmoAmount: 1
+ }
+},
+{
+ Id: 395
+ Name: "CG_MOONLIT"
+ Description: "Sheltering Bliss"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Ensemble: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SplashRange: 3
+ InterruptCast: true
+ KnockBackTiles: 2
+ SkillData1: {
+ Lv1: 20000
+ Lv2: 25000
+ Lv3: 30000
+ Lv4: 35000
+ Lv5: 40000
+ Lv6: 45000
+ Lv7: 50000
+ Lv8: 55000
+ Lv9: 60000
+ Lv10: 65000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 40
+ Lv3: 50
+ Lv4: 60
+ Lv5: 70
+ Lv6: 80
+ Lv7: 90
+ Lv8: 100
+ Lv9: 110
+ Lv10: 120
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+ Unit: {
+ Id: 0xb5
+ Layout: 4
+ Interval: -1
+ Target: "All"
+ Flag: {
+ UF_ENSEMBLE: true
+ }
+ }
+},
+{
+ Id: 396
+ Name: "CG_MARIONETTE"
+ Description: "Marionette Control"
+ MaxLevel: 1
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ PartyOnly: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: 1000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 100
+ }
+},
+{
+ Id: 397
+ Name: "LK_SPIRALPIERCE"
+ Description: "Spiral Pierce"
+ MaxLevel: 5
+ Range: 5
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: 5
+ CastTime: {
+ Lv1: 150
+ Lv2: 250
+ Lv3: 350
+ Lv4: 450
+ Lv5: 500
+ Lv6: 500
+ Lv7: 500
+ Lv8: 500
+ Lv9: 500
+ Lv10: 500
+ }
+ AfterCastActDelay: {
+ Lv1: 1200
+ Lv2: 1400
+ Lv3: 1600
+ Lv4: 1800
+ Lv5: 2000
+ Lv6: 2200
+ Lv7: 2400
+ Lv8: 2600
+ Lv9: 2800
+ Lv10: 3000
+ }
+ SkillData2: 1000
+ FixedCastTime: {
+ Lv1: 150
+ Lv2: 250
+ Lv3: 350
+ Lv4: 450
+ Lv5: 500
+ Lv6: 500
+ Lv7: 500
+ Lv8: 500
+ Lv9: 500
+ Lv10: 500
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 18
+ Lv2: 21
+ Lv3: 24
+ Lv4: 27
+ Lv5: 30
+ Lv6: 33
+ Lv7: 36
+ Lv8: 39
+ Lv9: 42
+ Lv10: 45
+ }
+ WeaponTypes: {
+ 1HSwords: true
+ 2HSwords: true
+ 1HSpears: true
+ 2HSpears: true
+ }
+ }
+},
+{
+ Id: 398
+ Name: "LK_HEADCRUSH"
+ Description: "Traumatic Blow"
+ MaxLevel: 5
+ Range: 4
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ AfterCastActDelay: 500
+ SkillData2: 120000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 23
+ }
+},
+{
+ Id: 399
+ Name: "LK_JOINTBEAT"
+ Description: "Vital Strike"
+ MaxLevel: 10
+ Range: 4
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ AfterCastActDelay: {
+ Lv1: 800
+ Lv2: 800
+ Lv3: 800
+ Lv4: 800
+ Lv5: 1000
+ Lv6: 1000
+ Lv7: 1000
+ Lv8: 1000
+ Lv9: 1000
+ Lv10: 1000
+ }
+ SkillData2: 30000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 12
+ Lv2: 12
+ Lv3: 14
+ Lv4: 14
+ Lv5: 16
+ Lv6: 16
+ Lv7: 18
+ Lv8: 18
+ Lv9: 20
+ Lv10: 20
+ }
+ WeaponTypes: {
+ 1HSpears: true
+ 2HSpears: true
+ }
+ }
+},
+{
+ Id: 400
+ Name: "HW_NAPALMVULCAN"
+ Description: "Napalm Vulcan"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Ghost"
+ DamageType: {
+ SplashArea: true
+ SplitDamage: true
+ }
+ SplashRange: 1
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ InterruptCast: true
+ CastTime: 800
+ AfterCastActDelay: 1000
+ SkillData2: 45000
+ FixedCastTime: 200
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 25
+ Lv3: 40
+ Lv4: 55
+ Lv5: 70
+ Lv6: 85
+ Lv7: 100
+ Lv8: 115
+ Lv9: 130
+ Lv10: 145
+ }
+ }
+},
+{
+ Id: 401
+ Name: "CH_SOULCOLLECT"
+ Description: "Zen"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: 600000
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: 20
+ }
+},
+{
+ Id: 402
+ Name: "PF_MINDBREAKER"
+ Description: "Mind Breaker"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: {
+ Lv1: 800
+ Lv2: 900
+ Lv3: 1000
+ Lv4: 1100
+ Lv5: 1200
+ Lv6: 1300
+ Lv7: 1400
+ Lv8: 1500
+ Lv9: 1600
+ Lv10: 1700
+ }
+ SkillData1: 30000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 12
+ Lv2: 15
+ Lv3: 18
+ Lv4: 21
+ Lv5: 24
+ Lv6: 27
+ Lv7: 30
+ Lv8: 33
+ Lv9: 36
+ Lv10: 39
+ }
+ }
+},
+{
+ Id: 403
+ Name: "PF_MEMORIZE"
+ Description: "Foresight"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ FixedCastTime: 5000
+ CastTimeOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ }
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 404
+ Name: "PF_FOGWALL"
+ Description: "Blinding Mist"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ TargetSelf: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Earth"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillInstances: 2
+ SkillData1: 20000
+ SkillData2: 10000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 25
+ }
+ Unit: {
+ Id: 0xb6
+ Layout: -1
+ Interval: -1
+ Target: "All"
+ }
+},
+{
+ Id: 405
+ Name: "PF_SPIDERWEB"
+ Description: "Fiber Lock"
+ MaxLevel: 1
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillInstances: 3
+ SkillData1: 30000
+ SkillData2: 8000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 50
+// Items: {
+// Spiderweb: 1
+// }
+ }
+ Unit: {
+ Id: 0xb7
+ Interval: -1
+ Target: "Enemy"
+ }
+},
+{
+ Id: 406
+ Name: "ASC_METEORASSAULT"
+ Description: "Meteor Assault"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ IgnoreCards: true
+ }
+ SplashRange: 2
+ CastTime: 350
+ FixedCastTime: 350
+ AfterCastActDelay: 500
+ SkillData2: {
+ Lv1: 15000
+ Lv2: 20000
+ Lv3: 25000
+ Lv4: 30000
+ Lv5: 35000
+ Lv6: 40000
+ Lv7: 70000
+ Lv8: 80000
+ Lv9: 90000
+ Lv10: 100000
+ }
+ Requirements: {
+ SPCost: 90
+ }
+},
+{
+ Id: 407
+ Name: "ASC_CDP"
+ Description: "Create Deadly Poison"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ AfterCastActDelay: 5000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 50
+ }
+},
+{
+ Id: 408
+ Name: "WE_BABY"
+ Description: "Baby"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Wedding: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: 300000
+ FixedCastTime: 2000
+ CastTimeOptions: {
+ IgnoreDex: true
+ }
+ Requirements: {
+ SPCost: 1
+ SPRateCost: -10
+ }
+},
+{
+ Id: 409
+ Name: "WE_CALLPARENT"
+ Description: "Call Parent"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Wedding: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SplashRange: 3
+ InterruptCast: true
+ SkillInstances: 1
+ SkillData1: 20000
+ FixedCastTime: 0
+ CastTimeOptions: {
+ IgnoreDex: true
+ }
+ Requirements: {
+ SPCost: 1
+ }
+ Unit: {
+ Id: 0xb2
+ Range: -1
+ Interval: -1
+ }
+},
+{
+ Id: 410
+ Name: "WE_CALLBABY"
+ Description: "Call Baby"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Wedding: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SplashRange: 3
+ InterruptCast: true
+ SkillInstances: 1
+ SkillData1: 20000
+ FixedCastTime: 0
+ CastTimeOptions: {
+ IgnoreDex: true
+ }
+ Requirements: {
+ SPCost: 1
+ }
+ Unit: {
+ Id: 0xb2
+ Range: -1
+ Interval: -1
+ }
+},
+{
+ Id: 411
+ Name: "TK_RUN"
+ Description: "Running"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ KnockBackTiles: 4
+ CastTime: {
+ Lv1: 3000
+ Lv2: 2500
+ Lv3: 2000
+ Lv4: 1500
+ Lv5: 100
+ Lv6: 500
+ Lv7: 0
+ Lv8: 0
+ Lv9: 0
+ Lv10: 0
+ }
+ AfterCastActDelay: 300
+ SkillData1: 1000
+ SkillData2: 150000
+ FixedCastTime: {
+ Lv1: 3000
+ Lv2: 2500
+ Lv3: 2000
+ Lv4: 1500
+ Lv5: 1000
+ Lv6: 500
+ Lv7: 0
+ Lv8: 0
+ Lv9: 0
+ Lv10: 0
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 100
+ Lv2: 90
+ Lv3: 80
+ Lv4: 70
+ Lv5: 60
+ Lv6: 50
+ Lv7: 40
+ Lv8: 30
+ Lv9: 20
+ Lv10: 10
+ }
+ State: "Moveable"
+ }
+},
+{
+ Id: 412
+ Name: "TK_READYSTORM"
+ Description: "Tornado Stance"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 413
+ Name: "TK_STORMKICK"
+ Description: "Tornado Kick"
+ MaxLevel: 7
+ Range: -2
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 2
+ NumberOfHits: -3
+ Requirements: {
+ SPCost: {
+ Lv1: 14
+ Lv2: 12
+ Lv3: 10
+ Lv4: 8
+ Lv5: 6
+ Lv6: 4
+ Lv7: 2
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 414
+ Name: "TK_READYDOWN"
+ Description: "Heel Drop Stance"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 415
+ Name: "TK_DOWNKICK"
+ Description: "Heel Drop"
+ MaxLevel: 7
+ Range: -2
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: -3
+ SkillData2: 3000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 14
+ Lv2: 12
+ Lv3: 10
+ Lv4: 8
+ Lv5: 6
+ Lv6: 4
+ Lv7: 2
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 416
+ Name: "TK_READYTURN"
+ Description: "Roundhouse Stance"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 417
+ Name: "TK_TURNKICK"
+ Description: "Roundhouse Kick"
+ MaxLevel: 7
+ Range: -2
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 1
+ NumberOfHits: -3
+ KnockBackTiles: 2
+ SkillData2: 2000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 14
+ Lv2: 12
+ Lv3: 10
+ Lv4: 8
+ Lv5: 6
+ Lv6: 4
+ Lv7: 2
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 418
+ Name: "TK_READYCOUNTER"
+ Description: "Counter Kick Stance"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 419
+ Name: "TK_COUNTER"
+ Description: "Counter Kick"
+ MaxLevel: 7
+ Range: -2
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ IgnoreFlee: true
+ }
+ NumberOfHits: -3
+ Requirements: {
+ SPCost: {
+ Lv1: 14
+ Lv2: 12
+ Lv3: 10
+ Lv4: 8
+ Lv5: 6
+ Lv6: 4
+ Lv7: 2
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 420
+ Name: "TK_DODGE"
+ Description: "Tumbling"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 421
+ Name: "TK_JUMPKICK"
+ Description: "Flying Kick"
+ MaxLevel: 7
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: -3
+ Requirements: {
+ SPCost: {
+ Lv1: 70
+ Lv2: 60
+ Lv3: 50
+ Lv4: 40
+ Lv5: 30
+ Lv6: 20
+ Lv7: 10
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 422
+ Name: "TK_HPTIME"
+ Description: "Peaceful Break"
+ MaxLevel: 10
+ SplashRange: 1
+ NumberOfHits: 0
+},
+{
+ Id: 423
+ Name: "TK_SPTIME"
+ Description: "Happy Break"
+ MaxLevel: 10
+ SplashRange: 1
+ NumberOfHits: 0
+ SkillData1: 1800000
+ FixedCastTime: 0
+},
+{
+ Id: 424
+ Name: "TK_POWER"
+ Description: "Kihop"
+ MaxLevel: 5
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 425
+ Name: "TK_SEVENWIND"
+ Description: "Mild Wind"
+ MaxLevel: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: {
+ Lv1: "Ele_Earth"
+ Lv2: "Ele_Wind"
+ Lv3: "Ele_Water"
+ Lv4: "Ele_Fire"
+ Lv5: "Ele_Ghost"
+ Lv6: "Ele_Dark"
+ Lv7: "Ele_Holy"
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 300000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 20
+ Lv3: 20
+ Lv4: 20
+ Lv5: 50
+ Lv6: 50
+ Lv7: 50
+ Lv8: 50
+ Lv9: 50
+ Lv10: 50
+ }
+ }
+},
+{
+ Id: 426
+ Name: "TK_HIGHJUMP"
+ Description: "Taekwon Jump"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: {
+ Lv1: 2500
+ Lv2: 2000
+ Lv3: 1500
+ Lv4: 1000
+ Lv5: 500
+ Lv6: 500
+ Lv7: 500
+ Lv8: 500
+ Lv9: 500
+ Lv10: 500
+ }
+ FixedCastTime: {
+ Lv1: 2500
+ Lv2: 2000
+ Lv3: 1500
+ Lv4: 1000
+ Lv5: 500
+ Lv6: 500
+ Lv7: 500
+ Lv8: 500
+ Lv9: 500
+ Lv10: 500
+ }
+ Requirements: {
+ SPCost: 50
+ }
+},
+{
+ Id: 427
+ Name: "SG_FEEL"
+ Description: "Feeling the Sun Moon and Stars"
+ MaxLevel: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ FixedCastTime: 3000
+ Requirements: {
+ SPCost: 100
+ }
+},
+{
+ Id: 428
+ Name: "SG_SUN_WARM"
+ Description: "Warmth of the Sun"
+ MaxLevel: 3
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 1
+ InterruptCast: true
+ KnockBackTiles: 2
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 20000
+ Lv3: 60000
+ Lv4: 60000
+ Lv5: 60000
+ Lv6: 60000
+ Lv7: 60000
+ Lv8: 60000
+ Lv9: 60000
+ Lv10: 60000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 20
+ }
+ Unit: {
+ Id: 0x86
+ Range: 1
+ Interval: 100
+ Target: "Enemy"
+ }
+},
+{
+ Id: 429
+ Name: "SG_MOON_WARM"
+ Description: "Warmth of the Moon"
+ MaxLevel: 3
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 1
+ InterruptCast: true
+ KnockBackTiles: 2
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 20000
+ Lv3: 60000
+ Lv4: 60000
+ Lv5: 60000
+ Lv6: 60000
+ Lv7: 60000
+ Lv8: 60000
+ Lv9: 60000
+ Lv10: 60000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 20
+ }
+ Unit: {
+ Id: 0x86
+ Range: 1
+ Interval: 100
+ Target: "Enemy"
+ }
+},
+{
+ Id: 430
+ Name: "SG_STAR_WARM"
+ Description: "Warmth of the Stars"
+ MaxLevel: 3
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 1
+ InterruptCast: true
+ KnockBackTiles: 2
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 20000
+ Lv3: 60000
+ Lv4: 60000
+ Lv5: 60000
+ Lv6: 60000
+ Lv7: 60000
+ Lv8: 60000
+ Lv9: 60000
+ Lv10: 60000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ }
+ Unit: {
+ Id: 0x86
+ Range: 1
+ Interval: 100
+ Target: "Enemy"
+ }
+},
+{
+ Id: 431
+ Name: "SG_SUN_COMFORT"
+ Description: "Comfort of the Sun"
+ MaxLevel: 4
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 80000
+ Lv2: 160000
+ Lv3: 240000
+ Lv4: 320000
+ Lv5: 400000
+ Lv6: 480000
+ Lv7: 560000
+ Lv8: 640000
+ Lv9: 720000
+ Lv10: 800000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 70
+ Lv2: 60
+ Lv3: 50
+ Lv4: 40
+ Lv5: 30
+ Lv6: 20
+ Lv7: 10
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 432
+ Name: "SG_MOON_COMFORT"
+ Description: "Comfort of the Moon"
+ MaxLevel: 4
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 80000
+ Lv2: 160000
+ Lv3: 240000
+ Lv4: 320000
+ Lv5: 400000
+ Lv6: 480000
+ Lv7: 560000
+ Lv8: 640000
+ Lv9: 720000
+ Lv10: 800000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 70
+ Lv2: 60
+ Lv3: 50
+ Lv4: 40
+ Lv5: 30
+ Lv6: 20
+ Lv7: 10
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 433
+ Name: "SG_STAR_COMFORT"
+ Description: "Comfort of the Stars"
+ MaxLevel: 4
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 80000
+ Lv2: 160000
+ Lv3: 240000
+ Lv4: 320000
+ Lv5: 400000
+ Lv6: 480000
+ Lv7: 560000
+ Lv8: 640000
+ Lv9: 720000
+ Lv10: 800000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 70
+ Lv2: 60
+ Lv3: 50
+ Lv4: 40
+ Lv5: 30
+ Lv6: 20
+ Lv7: 10
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 434
+ Name: "SG_HATE"
+ Description: "Hatred of the Sun Moon and Stars"
+ MaxLevel: 3
+ Range: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ FixedCastTime: 3000
+ Requirements: {
+ SPCost: 100
+ }
+},
+{
+ Id: 435
+ Name: "SG_SUN_ANGER"
+ Description: "Anger of the Sun"
+ MaxLevel: 3
+ NumberOfHits: 0
+},
+{
+ Id: 436
+ Name: "SG_MOON_ANGER"
+ Description: "Anger of the Moon"
+ MaxLevel: 3
+ NumberOfHits: 0
+},
+{
+ Id: 437
+ Name: "SG_STAR_ANGER"
+ Description: "Anger of the Stars"
+ MaxLevel: 3
+ NumberOfHits: 0
+},
+{
+ Id: 438
+ Name: "SG_SUN_BLESS"
+ Description: "Blessing of the Sun"
+ MaxLevel: 5
+ NumberOfHits: 0
+},
+{
+ Id: 439
+ Name: "SG_MOON_BLESS"
+ Description: "Blessing of the Moon"
+ MaxLevel: 5
+ NumberOfHits: 0
+},
+{
+ Id: 440
+ Name: "SG_STAR_BLESS"
+ Description: "Blessing of the Stars"
+ MaxLevel: 5
+ NumberOfHits: 0
+},
+{
+ Id: 441
+ Name: "SG_DEVIL"
+ Description: "Demon of the Sun Moon and Stars"
+ MaxLevel: 10
+ NumberOfHits: 0
+},
+{
+ Id: 442
+ Name: "SG_FRIEND"
+ Description: "Friend of the Sun Moon and Stars"
+ MaxLevel: 3
+ NumberOfHits: 0
+ SkillData1: 10000
+ FixedCastTime: 0
+},
+{
+ Id: 443
+ Name: "SG_KNOWLEDGE"
+ Description: "Knowledge of the Sun Moon and Stars"
+ MaxLevel: 10
+ NumberOfHits: 0
+ SkillData1: 600000
+ FixedCastTime: 0
+},
+{
+ Id: 444
+ Name: "SG_FUSION"
+ Description: "Union of the Sun Moon and Stars"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 600000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 100
+ }
+},
+{
+ Id: 445
+ Name: "SL_ALCHEMIST"
+ Description: "Spirit of the Alchemist"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 200000
+ Lv3: 250000
+ Lv4: 300000
+ Lv5: 350000
+ Lv6: 400000
+ Lv7: 450000
+ Lv8: 500000
+ Lv9: 550000
+ Lv10: 600000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 460
+ Lv2: 360
+ Lv3: 260
+ Lv4: 160
+ Lv5: 60
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 446
+ Name: "AM_BERSERKPITCHER"
+ Description: "Aid Berserk Potion"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ Spirit: true
+ PartyOnly: true
+ GuildOnly: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: 10
+ SPRateCost: 8
+// Items: {
+// Berserk_Potion: 2
+// }
+ }
+},
+{
+ Id: 447
+ Name: "SL_MONK"
+ Description: "Spirit of the Monk"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 200000
+ Lv3: 250000
+ Lv4: 300000
+ Lv5: 350000
+ Lv6: 400000
+ Lv7: 450000
+ Lv8: 500000
+ Lv9: 550000
+ Lv10: 600000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 460
+ Lv2: 360
+ Lv3: 260
+ Lv4: 160
+ Lv5: 60
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 448
+ Name: "SL_STAR"
+ Description: "Spirit of the Star Gladiator"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 800
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 200000
+ Lv3: 250000
+ Lv4: 300000
+ Lv5: 350000
+ Lv6: 400000
+ Lv7: 450000
+ Lv8: 500000
+ Lv9: 550000
+ Lv10: 600000
+ }
+ FixedCastTime: 200
+ Requirements: {
+ SPCost: {
+ Lv1: 460
+ Lv2: 360
+ Lv3: 260
+ Lv4: 160
+ Lv5: 60
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 449
+ Name: "SL_SAGE"
+ Description: "Spirit of the Sage"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 200000
+ Lv3: 250000
+ Lv4: 300000
+ Lv5: 350000
+ Lv6: 400000
+ Lv7: 450000
+ Lv8: 500000
+ Lv9: 550000
+ Lv10: 600000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 460
+ Lv2: 360
+ Lv3: 260
+ Lv4: 160
+ Lv5: 60
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 450
+ Name: "SL_CRUSADER"
+ Description: "Spirit of the Crusader"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 200000
+ Lv3: 250000
+ Lv4: 300000
+ Lv5: 350000
+ Lv6: 400000
+ Lv7: 450000
+ Lv8: 500000
+ Lv9: 550000
+ Lv10: 600000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 460
+ Lv2: 360
+ Lv3: 260
+ Lv4: 160
+ Lv5: 60
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 451
+ Name: "SL_SUPERNOVICE"
+ Description: "Spirit of the Supernovice"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 200000
+ Lv3: 250000
+ Lv4: 300000
+ Lv5: 350000
+ Lv6: 400000
+ Lv7: 450000
+ Lv8: 500000
+ Lv9: 550000
+ Lv10: 600000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 460
+ Lv2: 360
+ Lv3: 260
+ Lv4: 160
+ Lv5: 60
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 452
+ Name: "SL_KNIGHT"
+ Description: "Spirit of the Knight"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 200000
+ Lv3: 250000
+ Lv4: 300000
+ Lv5: 350000
+ Lv6: 400000
+ Lv7: 450000
+ Lv8: 500000
+ Lv9: 550000
+ Lv10: 600000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 460
+ Lv2: 360
+ Lv3: 260
+ Lv4: 160
+ Lv5: 60
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 453
+ Name: "SL_WIZARD"
+ Description: "Spirit of the Wizard"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 200000
+ Lv3: 250000
+ Lv4: 300000
+ Lv5: 350000
+ Lv6: 400000
+ Lv7: 450000
+ Lv8: 500000
+ Lv9: 550000
+ Lv10: 600000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 460
+ Lv2: 360
+ Lv3: 260
+ Lv4: 160
+ Lv5: 60
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 454
+ Name: "SL_PRIEST"
+ Description: "Spirit of the Priest"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 200000
+ Lv3: 250000
+ Lv4: 300000
+ Lv5: 350000
+ Lv6: 400000
+ Lv7: 450000
+ Lv8: 500000
+ Lv9: 550000
+ Lv10: 600000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 460
+ Lv2: 360
+ Lv3: 260
+ Lv4: 160
+ Lv5: 60
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 455
+ Name: "SL_BARDDANCER"
+ Description: "Spirit of the Artist"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 200000
+ Lv3: 250000
+ Lv4: 300000
+ Lv5: 350000
+ Lv6: 400000
+ Lv7: 450000
+ Lv8: 500000
+ Lv9: 550000
+ Lv10: 600000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 460
+ Lv2: 360
+ Lv3: 260
+ Lv4: 160
+ Lv5: 60
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 456
+ Name: "SL_ROGUE"
+ Description: "Spirit of the Rogue"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 200000
+ Lv3: 250000
+ Lv4: 300000
+ Lv5: 350000
+ Lv6: 400000
+ Lv7: 450000
+ Lv8: 500000
+ Lv9: 550000
+ Lv10: 600000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 460
+ Lv2: 360
+ Lv3: 260
+ Lv4: 160
+ Lv5: 60
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 457
+ Name: "SL_ASSASIN"
+ Description: "Spirit of the Assasin"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 200000
+ Lv3: 250000
+ Lv4: 300000
+ Lv5: 350000
+ Lv6: 400000
+ Lv7: 450000
+ Lv8: 500000
+ Lv9: 550000
+ Lv10: 600000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 460
+ Lv2: 360
+ Lv3: 260
+ Lv4: 160
+ Lv5: 60
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 458
+ Name: "SL_BLACKSMITH"
+ Description: "Spirit of the Blacksmith"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 200000
+ Lv3: 250000
+ Lv4: 300000
+ Lv5: 350000
+ Lv6: 400000
+ Lv7: 450000
+ Lv8: 500000
+ Lv9: 550000
+ Lv10: 600000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 460
+ Lv2: 360
+ Lv3: 260
+ Lv4: 160
+ Lv5: 60
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 459
+ Name: "BS_ADRENALINE2"
+ Description: "Advanced Adrenaline Rush"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Spirit: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ KnockBackTiles: 0
+ SkillData1: 150000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 64
+ WeaponTypes: {
+ NoWeapon: true
+ Daggers: true
+ 1HSwords: true
+ 2HSwords: true
+ 1HSpears: true
+ 2HSpears: true
+ 1HAxes: true
+ 2HAxes: true
+ Maces: true
+ 2HMaces: true
+ Staves: true
+ Knuckles: true
+ Instruments: true
+ Whips: true
+ Books: true
+ Katars: true
+ }
+ }
+},
+{
+ Id: 460
+ Name: "SL_HUNTER"
+ Description: "Spirit of the Hunter"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 200000
+ Lv3: 250000
+ Lv4: 300000
+ Lv5: 350000
+ Lv6: 400000
+ Lv7: 450000
+ Lv8: 500000
+ Lv9: 550000
+ Lv10: 600000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 460
+ Lv2: 360
+ Lv3: 260
+ Lv4: 160
+ Lv5: 60
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 461
+ Name: "SL_SOULLINKER"
+ Description: "Spirit of the Soul Linker"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 200000
+ Lv3: 250000
+ Lv4: 300000
+ Lv5: 350000
+ Lv6: 400000
+ Lv7: 450000
+ Lv8: 500000
+ Lv9: 550000
+ Lv10: 600000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 460
+ Lv2: 360
+ Lv3: 260
+ Lv4: 160
+ Lv5: 60
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 462
+ Name: "SL_KAIZEL"
+ Description: "Kaizel"
+ MaxLevel: 7
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 3600
+ Lv2: 3200
+ Lv3: 2800
+ Lv4: 2400
+ Lv5: 2000
+ Lv6: 2000
+ Lv7: 2000
+ Lv8: 2000
+ Lv9: 2000
+ Lv10: 2000
+ }
+ SkillData1: 1800000
+ SkillData2: 2000
+ FixedCastTime: {
+ Lv1: 900
+ Lv2: 800
+ Lv3: 700
+ Lv4: 600
+ Lv5: 500
+ Lv6: 500
+ Lv7: 500
+ Lv8: 500
+ Lv9: 500
+ Lv10: 500
+ }
+ CastTimeOptions: {
+ IgnoreDex: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 120
+ Lv2: 110
+ Lv3: 100
+ Lv4: 90
+ Lv5: 80
+ Lv6: 70
+ Lv7: 60
+ Lv8: 50
+ Lv9: 40
+ Lv10: 30
+ }
+ }
+},
+{
+ Id: 463
+ Name: "SL_KAAHI"
+ Description: "Kaahi"
+ MaxLevel: 7
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: 1800000
+ SkillData2: 500
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 30
+ }
+},
+{
+ Id: 464
+ Name: "SL_KAUPE"
+ Description: "Kaupe"
+ MaxLevel: 3
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 400
+ SkillData1: 600000
+ FixedCastTime: 100
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 30
+ Lv3: 40
+ Lv4: 50
+ Lv5: 60
+ Lv6: 70
+ Lv7: 80
+ Lv8: 90
+ Lv9: 100
+ Lv10: 110
+ }
+ }
+},
+{
+ Id: 465
+ Name: "SL_KAITE"
+ Description: "Kaite"
+ MaxLevel: 7
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 4800
+ Lv2: 4400
+ Lv3: 4000
+ Lv4: 3600
+ Lv5: 3200
+ Lv6: 2800
+ Lv7: 2400
+ Lv8: 2400
+ Lv9: 2400
+ Lv10: 2400
+ }
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 120000
+ Lv3: 180000
+ Lv4: 240000
+ Lv5: 300000
+ Lv6: 360000
+ Lv7: 600000
+ Lv8: 600000
+ Lv9: 600000
+ Lv10: 600000
+ }
+ FixedCastTime: {
+ Lv1: 1200
+ Lv2: 1100
+ Lv3: 1000
+ Lv4: 900
+ Lv5: 800
+ Lv6: 700
+ Lv7: 600
+ Lv8: 600
+ Lv9: 600
+ Lv10: 600
+ }
+ Requirements: {
+ SPCost: 70
+ }
+},
+{
+ Id: 466
+ Name: "SL_KAINA"
+ Description: "Kaina"
+ MaxLevel: 7
+ AttackType: "Magic"
+ NumberOfHits: 0
+ InterruptCast: true
+},
+{
+ Id: 467
+ Name: "SL_STIN"
+ Description: "Estin"
+ MaxLevel: 7
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Endowed"
+ KnockBackTiles: 2
+ CastTime: 80
+ AfterCastActDelay: 500
+ FixedCastTime: 20
+ Requirements: {
+ SPCost: {
+ Lv1: 18
+ Lv2: 20
+ Lv3: 22
+ Lv4: 24
+ Lv5: 26
+ Lv6: 28
+ Lv7: 30
+ Lv8: 32
+ Lv9: 34
+ Lv10: 36
+ }
+ }
+},
+{
+ Id: 468
+ Name: "SL_STUN"
+ Description: "Estun"
+ MaxLevel: 7
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Endowed"
+ CastTime: 80
+ AfterCastActDelay: 500
+ SkillData1: 2000
+ FixedCastTime: 20
+ Requirements: {
+ SPCost: {
+ Lv1: 18
+ Lv2: 20
+ Lv3: 22
+ Lv4: 24
+ Lv5: 26
+ Lv6: 28
+ Lv7: 30
+ Lv8: 32
+ Lv9: 34
+ Lv10: 36
+ }
+ }
+},
+{
+ Id: 469
+ Name: "SL_SMA"
+ Description: "Esma"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Endowed"
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ InterruptCast: true
+ CastTime: 1600
+ AfterCastActDelay: 500
+ SkillData1: 3000
+ FixedCastTime: 400
+ Requirements: {
+ SPCost: {
+ Lv1: 8
+ Lv2: 16
+ Lv3: 24
+ Lv4: 32
+ Lv5: 40
+ Lv6: 48
+ Lv7: 56
+ Lv8: 64
+ Lv9: 72
+ Lv10: 80
+ }
+ }
+},
+{
+ Id: 470
+ Name: "SL_SWOO"
+ Description: "Eswoo"
+ MaxLevel: 7
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: 800
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 1000
+ Lv2: 2000
+ Lv3: 3000
+ Lv4: 4000
+ Lv5: 5000
+ Lv6: 6000
+ Lv7: 7000
+ Lv8: 8000
+ Lv9: 9000
+ Lv10: 10000
+ }
+ FixedCastTime: 200
+ Requirements: {
+ SPCost: {
+ Lv1: 75
+ Lv2: 65
+ Lv3: 55
+ Lv4: 45
+ Lv5: 35
+ Lv6: 25
+ Lv7: 15
+ Lv8: 5
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 471
+ Name: "SL_SKE"
+ Description: "Eske"
+ MaxLevel: 3
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: {
+ Lv1: 2400
+ Lv2: 1600
+ Lv3: 800
+ Lv4: 800
+ Lv5: 800
+ Lv6: 800
+ Lv7: 800
+ Lv8: 800
+ Lv9: 800
+ Lv10: 800
+ }
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 20000
+ Lv3: 30000
+ Lv4: 40000
+ Lv5: 50000
+ Lv6: 60000
+ Lv7: 70000
+ Lv8: 80000
+ Lv9: 90000
+ Lv10: 100000
+ }
+ SkillData2: 3000
+ FixedCastTime: {
+ Lv1: 600
+ Lv2: 400
+ Lv3: 200
+ Lv4: 200
+ Lv5: 200
+ Lv6: 200
+ Lv7: 200
+ Lv8: 200
+ Lv9: 200
+ Lv10: 200
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 55
+ Lv2: 35
+ Lv3: 15
+ Lv4: 1
+ Lv5: 1
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 472
+ Name: "SL_SKA"
+ Description: "Eska"
+ MaxLevel: 3
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: {
+ Lv1: 2400
+ Lv2: 1600
+ Lv3: 800
+ Lv4: 800
+ Lv5: 800
+ Lv6: 800
+ Lv7: 800
+ Lv8: 800
+ Lv9: 800
+ Lv10: 800
+ }
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 20000
+ Lv3: 30000
+ Lv4: 40000
+ Lv5: 50000
+ Lv6: 60000
+ Lv7: 70000
+ Lv8: 80000
+ Lv9: 90000
+ Lv10: 100000
+ }
+ FixedCastTime: {
+ Lv1: 600
+ Lv2: 400
+ Lv3: 200
+ Lv4: 200
+ Lv5: 200
+ Lv6: 200
+ Lv7: 200
+ Lv8: 200
+ Lv9: 200
+ Lv10: 200
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 100
+ Lv2: 80
+ Lv3: 60
+ Lv4: 40
+ Lv5: 20
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 473
+ Name: "SM_SELFPROVOKE"
+ Description: "Provoke Self"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillData1: 30000
+},
+{
+ Id: 474
+ Name: "NPC_EMOTION_ON"
+ Description: "Emotion ON"
+ MaxLevel: 10
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+},
+{
+ Id: 475
+ Name: "ST_PRESERVE"
+ Description: "Preserve"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: 600000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: 30
+ }
+},
+{
+ Id: 476
+ Name: "ST_FULLSTRIP"
+ Description: "Divest All"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 75000
+ Lv2: 90000
+ Lv3: 105000
+ Lv4: 120000
+ Lv5: 135000
+ Lv6: 150000
+ Lv7: 165000
+ Lv8: 180000
+ Lv9: 195000
+ Lv10: 210000
+ }
+ 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: 477
+ Name: "WS_WEAPONREFINE"
+ Description: "Upgrade Weapon"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 5
+ }
+},
+{
+ Id: 478
+ Name: "CR_SLIMPITCHER"
+ Description: "Aid Condensed Potion"
+ MaxLevel: 10
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 3
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: 30
+// Items: {
+// Red_Slim_Potion: 1
+// Red_Slim_Potion: 1
+// Red_Slim_Potion: 1
+// Red_Slim_Potion: 1
+// Red_Slim_Potion: 1
+// Yellow_Slim_Potion: 1
+// Yellow_Slim_Potion: 1
+// Yellow_Slim_Potion: 1
+// Yellow_Slim_Potion: 1
+// White_Slim_Potion: 1
+// }
+ }
+},
+{
+ Id: 479
+ Name: "CR_FULLPROTECTION"
+ Description: "Full Protection"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 120000
+ Lv2: 240000
+ Lv3: 360000
+ Lv4: 480000
+ Lv5: 600000
+ Lv6: 720000
+ Lv7: 840000
+ Lv8: 960000
+ Lv9: 1080000
+ Lv10: 1200000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: 40
+// Items: {
+// Coating_Bottle: 1
+// }
+ }
+},
+{
+ Id: 480
+ Name: "PA_SHIELDCHAIN"
+ Description: "Shield Chain"
+ MaxLevel: 5
+ Range: 5
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: 5
+ CastTime: 800
+ AfterCastActDelay: 1000
+ FixedCastTime: 200
+ Requirements: {
+ SPCost: {
+ Lv1: 28
+ Lv2: 31
+ Lv3: 34
+ Lv4: 37
+ Lv5: 40
+ Lv6: 43
+ Lv7: 46
+ Lv8: 49
+ Lv9: 52
+ Lv10: 55
+ }
+ State: "Shield"
+ }
+},
+{
+ Id: 481
+ Name: "HP_MANARECHARGE"
+ Description: "Mana Recharge"
+ MaxLevel: 5
+ NumberOfHits: 0
+},
+{
+ Id: 482
+ Name: "PF_DOUBLECASTING"
+ Description: "Double Casting"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: 1600
+ SkillData1: 90000
+ FixedCastTime: 400
+ CastTimeOptions: {
+ IgnoreDex: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 45
+ Lv3: 50
+ Lv4: 55
+ Lv5: 60
+ Lv6: 65
+ Lv7: 70
+ Lv8: 75
+ Lv9: 80
+ Lv10: 85
+ }
+ }
+},
+{
+ Id: 483
+ Name: "HW_GANBANTEIN"
+ Description: "Ganbantein"
+ MaxLevel: 1
+ Range: 16
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ AfterCastActDelay: 5000
+ FixedCastTime: 3000
+ Requirements: {
+ SPCost: 40
+// Items: {
+// Yellow_Gemstone: 1
+// Blue_Gemstone: 1
+// }
+ }
+},
+{
+ Id: 484
+ Name: "HW_GRAVITATION"
+ Description: "Gravitation Field"
+ MaxLevel: 5
+ Range: 18
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Misc"
+ Element: "Ele_Earth"
+ DamageType: {
+ NoDamage: true
+ IgnoreElement: true
+ IgnoreDefCards: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 5000
+ Lv2: 6000
+ Lv3: 7000
+ Lv4: 8000
+ Lv5: 9000
+ Lv6: 10000
+ Lv7: 11000
+ Lv8: 12000
+ Lv9: 13000
+ Lv10: 14000
+ }
+ FixedCastTime: 5000
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 40
+ Lv3: 60
+ Lv4: 80
+ Lv5: 100
+ Lv6: 120
+ Lv7: 140
+ Lv8: 160
+ Lv9: 180
+ Lv10: 200
+ }
+// Items: {
+// Blue_Gemstone: 1
+// }
+ }
+ Unit: {
+ Id: 0xb8
+ Layout: 2
+ Interval: 500
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_DUALMODE: true
+ }
+ }
+},
+{
+ Id: 485
+ Name: "WS_CARTTERMINATION"
+ Description: "Cart Termination"
+ MaxLevel: 10
+ Range: -2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ IgnoreCards: true
+ }
+ SkillData2: 5000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 15
+ ZenyCost: {
+ Lv1: 600
+ Lv2: 700
+ Lv3: 800
+ Lv4: 900
+ Lv5: 1000
+ Lv6: 1100
+ Lv7: 1200
+ Lv8: 1300
+ Lv9: 1400
+ Lv10: 1500
+ }
+ WeaponTypes: {
+ NoWeapon: true
+ Daggers: true
+ 1HSwords: true
+ 2HSwords: true
+ 1HSpears: true
+ 2HSpears: true
+ 1HAxes: true
+ 2HAxes: true
+ Maces: true
+ 2HMaces: true
+ Staves: true
+ Knuckles: true
+ Instruments: true
+ Whips: true
+ Books: true
+ Katars: true
+ Revolvers: true
+ Rifles: true
+ GatlingGuns: true
+ Shotguns: true
+ GrenadeLaunchers: true
+ FuumaShurikens: true
+ }
+ State: "CartBoost"
+ }
+},
+{
+ Id: 486
+ Name: "WS_OVERTHRUSTMAX"
+ Description: "Maximum Power Thrust"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 180000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 15
+ ZenyCost: {
+ Lv1: 3000
+ Lv2: 3500
+ Lv3: 4000
+ Lv4: 4500
+ Lv5: 5000
+ Lv6: 5500
+ Lv7: 6000
+ Lv8: 6500
+ Lv9: 7000
+ Lv10: 7500
+ }
+ WeaponTypes: {
+ NoWeapon: true
+ Daggers: true
+ 1HSwords: true
+ 2HSwords: true
+ 1HSpears: true
+ 2HSpears: true
+ 1HAxes: true
+ 2HAxes: true
+ Maces: true
+ 2HMaces: true
+ Staves: true
+ Knuckles: true
+ Instruments: true
+ Whips: true
+ Books: true
+ Katars: true
+ Revolvers: true
+ Rifles: true
+ GatlingGuns: true
+ Shotguns: true
+ GrenadeLaunchers: true
+ FuumaShurikens: true
+ }
+ }
+},
+{
+ Id: 487
+ Name: "CG_LONGINGFREEDOM"
+ Description: "Longing for Freedom"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 180000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 15
+ }
+},
+{
+ Id: 488
+ Name: "CG_HERMODE"
+ Description: "Wand of Hermode"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Ensemble: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SplashRange: 1
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ SkillData2: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 30
+ Lv3: 40
+ Lv4: 50
+ Lv5: 60
+ Lv6: 70
+ Lv7: 80
+ Lv8: 90
+ Lv9: 100
+ Lv10: 110
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+ Unit: {
+ Id: 0xb9
+ Layout: 3
+ Interval: -1
+ Target: "All"
+ Flag: {
+ UF_ENSEMBLE: true
+ }
+ }
+},
+{
+ Id: 489
+ Name: "CG_TAROTCARD"
+ Description: "Tarot Card of Fate"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ IgnoreFlee: true
+ }
+ CastTime: 500
+ AfterCastActDelay: 3000
+ SkillData2: 30000
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: 40
+ }
+},
+{
+ Id: 490
+ Name: "CR_ACIDDEMONSTRATION"
+ Description: "Acid Demonstration"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ IgnoreFlee: true
+ }
+ NumberOfHits: {
+ Lv1: -1
+ Lv2: -2
+ Lv3: -3
+ Lv4: -4
+ Lv5: -5
+ Lv6: -6
+ Lv7: -7
+ Lv8: -8
+ Lv9: -9
+ Lv10: -10
+ }
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: 30
+// Items: {
+// Fire_Bottle: 1
+// Acid_Bottle: 1
+// }
+ }
+},
+{
+ Id: 491
+ Name: "CR_CULTIVATION"
+ Description: "Plant Cultivation"
+ MaxLevel: 2
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 300000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+// Items: {
+// Mushroom_Spore: 1
+// Stem: 1
+// }
+ }
+},
+{
+ Id: 492
+ Name: "ITEM_ENCHANTARMS"
+ Description: "Weapon Enchantment"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ Element: {
+ Lv1: "Ele_Neutral"
+ Lv2: "Ele_Water"
+ Lv3: "Ele_Earth"
+ Lv4: "Ele_Fire"
+ Lv5: "Ele_Wind"
+ Lv6: "Ele_Nature"
+ Lv7: "Ele_Holy"
+ Lv8: "Ele_Dark"
+ Lv9: "Ele_Ghost"
+ Lv10: "Ele_Undead"
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 180000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 493
+ Name: "TK_MISSION"
+ Description: "Taekwon Mission"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 494
+ Name: "SL_HIGH"
+ Description: "Spirit of Rebirth"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 200000
+ Lv3: 250000
+ Lv4: 300000
+ Lv5: 350000
+ Lv6: 400000
+ Lv7: 450000
+ Lv8: 500000
+ Lv9: 550000
+ Lv10: 600000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 460
+ Lv2: 360
+ Lv3: 260
+ Lv4: 160
+ Lv5: 60
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 495
+ Name: "KN_ONEHAND"
+ Description: "Onehand Quicken"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Spirit: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 300000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 100
+ WeaponTypes: {
+ 1HSwords: true
+ }
+ }
+},
+{
+ Id: 496
+ Name: "AM_TWILIGHT1"
+ Description: "Twilight Alchemy 1"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Spirit: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ FixedCastTime: 3000
+ CastTimeOptions: {
+ IgnoreDex: true
+ }
+ Requirements: {
+ SPCost: 200
+// Items: {
+// Medicine_Bowl: 200
+// }
+ }
+},
+{
+ Id: 497
+ Name: "AM_TWILIGHT2"
+ Description: "Twilight Alchemy 2"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Spirit: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ FixedCastTime: 3000
+ CastTimeOptions: {
+ IgnoreDex: true
+ }
+ Requirements: {
+ SPCost: 200
+// Items: {
+// Medicine_Bowl: 200
+// }
+ }
+},
+{
+ Id: 498
+ Name: "AM_TWILIGHT3"
+ Description: "Twilight Alchemy 3"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Spirit: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ FixedCastTime: 3000
+ CastTimeOptions: {
+ IgnoreDex: true
+ }
+ Requirements: {
+ SPCost: 200
+// Items: {
+// Medicine_Bowl: 200
+// }
+ }
+},
+{
+ Id: 499
+ Name: "HT_POWER"
+ Description: "Beast Strafing"
+ MaxLevel: 1
+ Range: -9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Spirit: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: 2
+ AfterCastActDelay: 100
+ SkillData1: 100
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 12
+ WeaponTypes: {
+ Bows: true
+ }
+ AmmoTypes: {
+ A_ARROW: true
+ }
+ AmmoAmount: 1
+ }
+},
+{
+ Id: 500
+ Name: "GS_GLITTERING"
+ Description: "Flip the Coin"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ IgnoreFlee: true
+ }
+ SkillData1: 600000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 2
+ ZenyCost: 1
+ }
+},
+{
+ Id: 501
+ Name: "GS_FLING"
+ Description: "Fling"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Misc"
+ Element: "Ele_Weapon"
+ DamageType: {
+ IgnoreElement: true
+ IgnoreFlee: true
+ }
+ SkillData1: 30000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ SpiritSphereCost: 5
+ }
+},
+{
+ Id: 502
+ Name: "GS_TRIPLEACTION"
+ Description: "Triple Action"
+ MaxLevel: 1
+ Range: -9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: 3
+ Requirements: {
+ SPCost: 20
+ AmmoTypes: "All"
+ AmmoAmount: 1
+ SpiritSphereCost: 1
+ }
+},
+{
+ Id: 503
+ Name: "GS_BULLSEYE"
+ Description: "Bulls Eye"
+ MaxLevel: 1
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ IgnoreCards: true
+ }
+ CastTime: 800
+ AfterCastActDelay: 1000
+ FixedCastTime: 200
+ Requirements: {
+ SPCost: 30
+ AmmoTypes: "All"
+ AmmoAmount: 1
+ SpiritSphereCost: 1
+ }
+},
+{
+ Id: 504
+ Name: "GS_MADNESSCANCEL"
+ Description: "Madness Canceller"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: 1600
+ AfterCastActDelay: 3000
+ SkillData1: 15000
+ FixedCastTime: 400
+ Requirements: {
+ SPCost: 30
+ SpiritSphereCost: 4
+ }
+},
+{
+ Id: 505
+ Name: "GS_ADJUSTMENT"
+ Description: "AdJustment"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: 800
+ AfterCastActDelay: 2000
+ SkillData1: 30000
+ FixedCastTime: 200
+ Requirements: {
+ SPCost: 15
+ SpiritSphereCost: 2
+ }
+},
+{
+ Id: 506
+ Name: "GS_INCREASING"
+ Description: "Increasing Accuracy"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 1000
+ SkillData1: 60000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 180
+ }
+ WeaponTypes: {
+ Revolvers: true
+ Rifles: true
+ GatlingGuns: true
+ Shotguns: true
+ }
+},
+{
+ Id: 507
+ Name: "GS_MAGICALBULLET"
+ Description: "Magical Bullet"
+ MaxLevel: 1
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Ghost"
+ Requirements: {
+ SPCost: 70
+ }
+ WeaponTypes: {
+ Revolvers: true
+ Rifles: true
+ GatlingGuns: true
+ Shotguns: true
+ }
+},
+{
+ Id: 508
+ Name: "GS_CRACKER"
+ Description: "Cracker"
+ MaxLevel: 1
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 1000
+ SkillData2: 5000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ AmmoTypes: "All"
+ AmmoAmount: 1
+ SpiritSphereCost: 1
+ }
+},
+{
+ Id: 509
+ Name: "GS_SINGLEACTION"
+ Description: "Single Action"
+ MaxLevel: 10
+ NumberOfHits: 0
+},
+{
+ Id: 510
+ Name: "GS_SNAKEEYE"
+ Description: "Snake Eye"
+ MaxLevel: 10
+ NumberOfHits: 0
+},
+{
+ Id: 511
+ Name: "GS_CHAINACTION"
+ Description: "Chain Action"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_MULTIHIT"
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: 2
+ WeaponTypes: {
+ Revolvers: true
+ Rifles: true
+ GatlingGuns: true
+ Shotguns: true
+ }
+},
+{
+ Id: 512
+ Name: "GS_TRACKING"
+ Description: "Tracking"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ InterruptCast: true
+ CastTime: {
+ Lv1: 600
+ Lv2: 700
+ Lv3: 800
+ Lv4: 900
+ Lv5: 1000
+ Lv6: 1100
+ Lv7: 1200
+ Lv8: 1300
+ Lv9: 1400
+ Lv10: 1500
+ }
+ AfterCastActDelay: 1500
+ FixedCastTime: {
+ Lv1: 600
+ Lv2: 700
+ Lv3: 800
+ Lv4: 900
+ Lv5: 1000
+ Lv6: 1100
+ Lv7: 1200
+ Lv8: 1300
+ Lv9: 1400
+ Lv10: 1500
+ }
+ CastTimeOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 15
+ Lv2: 20
+ Lv3: 25
+ Lv4: 30
+ Lv5: 35
+ Lv6: 40
+ Lv7: 45
+ Lv8: 50
+ Lv9: 55
+ Lv10: 60
+ }
+ WeaponTypes: {
+ Revolvers: true
+ Rifles: true
+ }
+ AmmoTypes: {
+ A_BULLET: true
+ }
+ AmmoAmount: 1
+ }
+},
+{
+ Id: 513
+ Name: "GS_DISARM"
+ Description: "Disarm"
+ MaxLevel: 5
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ CastTime: 1600
+ AfterCastActDelay: 1000
+ SkillData1: 30000
+ FixedCastTime: 400
+ Requirements: {
+ SPCost: {
+ Lv1: 15
+ Lv2: 20
+ Lv3: 25
+ Lv4: 30
+ Lv5: 35
+ Lv6: 40
+ Lv7: 45
+ Lv8: 50
+ Lv9: 55
+ Lv10: 60
+ }
+ WeaponTypes: {
+ Revolvers: true
+ Rifles: true
+ }
+ AmmoTypes: {
+ A_BULLET: true
+ }
+ AmmoAmount: 1
+ }
+},
+{
+ Id: 514
+ Name: "GS_PIERCINGSHOT"
+ Description: "Piercing Shot"
+ MaxLevel: 5
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ IgnoreDefense: true
+ }
+ CastTime: 1200
+ AfterCastActDelay: 500
+ SkillData2: 120000
+ FixedCastTime: 300
+ Requirements: {
+ SPCost: {
+ Lv1: 11
+ Lv2: 12
+ Lv3: 13
+ Lv4: 14
+ Lv5: 15
+ Lv6: 16
+ Lv7: 17
+ Lv8: 18
+ Lv9: 19
+ Lv10: 20
+ }
+ WeaponTypes: {
+ Revolvers: true
+ Rifles: true
+ }
+ AmmoTypes: {
+ A_BULLET: true
+ }
+ AmmoAmount: 1
+ }
+},
+{
+ Id: 515
+ Name: "GS_RAPIDSHOWER"
+ Description: "Rapid Shower"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: 5
+ AfterCastActDelay: 1500
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 22
+ Lv2: 24
+ Lv3: 26
+ Lv4: 28
+ Lv5: 30
+ Lv6: 32
+ Lv7: 34
+ Lv8: 36
+ Lv9: 38
+ Lv10: 40
+ }
+ WeaponTypes: {
+ Revolvers: true
+ }
+ AmmoTypes: {
+ A_BULLET: true
+ }
+ AmmoAmount: 5
+ }
+},
+{
+ Id: 516
+ Name: "GS_DESPERADO"
+ Description: "Desperado"
+ MaxLevel: 10
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 3
+ AfterCastActDelay: 1000
+ AfterCastWalkDelay: 1000
+ SkillData1: 1000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 32
+ Lv2: 34
+ Lv3: 36
+ Lv4: 38
+ Lv5: 40
+ Lv6: 42
+ Lv7: 44
+ Lv8: 46
+ Lv9: 48
+ Lv10: 50
+ }
+ WeaponTypes: {
+ Revolvers: true
+ }
+ AmmoTypes: {
+ A_BULLET: true
+ }
+ AmmoAmount: 10
+ }
+ Unit: {
+ Id: 0x86
+ Layout: 3
+ Interval: 100
+ Target: "Enemy"
+ }
+},
+{
+ Id: 517
+ Name: "GS_GATLINGFEVER"
+ Description: "Gatling Fever"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: 800
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 45000
+ Lv3: 60000
+ Lv4: 75000
+ Lv5: 90000
+ Lv6: 105000
+ Lv7: 120000
+ Lv8: 135000
+ Lv9: 150000
+ Lv10: 165000
+ }
+ FixedCastTime: 200
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 32
+ Lv3: 34
+ Lv4: 36
+ Lv5: 38
+ Lv6: 40
+ Lv7: 42
+ Lv8: 44
+ Lv9: 46
+ Lv10: 48
+ }
+ WeaponTypes: {
+ GatlingGuns: true
+ }
+ }
+},
+{
+ Id: 518
+ Name: "GS_DUST"
+ Description: "Dust"
+ MaxLevel: 10
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ KnockBackTiles: 5
+ CastTime: 1200
+ AfterCastActDelay: 1000
+ FixedCastTime: 300
+ Requirements: {
+ SPCost: {
+ Lv1: 3
+ Lv2: 6
+ Lv3: 9
+ Lv4: 12
+ Lv5: 15
+ Lv6: 18
+ Lv7: 21
+ Lv8: 24
+ Lv9: 27
+ Lv10: 30
+ }
+ WeaponTypes: {
+ Shotguns: true
+ }
+ AmmoTypes: {
+ A_BULLET: true
+ }
+ AmmoAmount: 1
+ }
+},
+{
+ Id: 519
+ Name: "GS_FULLBUSTER"
+ Description: "Full Buster"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ InterruptCast: true
+ CastTime: 800
+ AfterCastActDelay: {
+ Lv1: 1200
+ Lv2: 1400
+ Lv3: 1600
+ Lv4: 1800
+ Lv5: 2000
+ Lv6: 2200
+ Lv7: 2400
+ Lv8: 2600
+ Lv9: 2800
+ Lv10: 3000
+ }
+ SkillData2: 10000
+ FixedCastTime: 200
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 25
+ Lv3: 30
+ Lv4: 35
+ Lv5: 40
+ Lv6: 45
+ Lv7: 50
+ Lv8: 55
+ Lv9: 60
+ Lv10: 65
+ }
+ WeaponTypes: {
+ Shotguns: true
+ }
+ AmmoTypes: {
+ A_BULLET: true
+ }
+ AmmoAmount: {
+ Lv1: 2
+ Lv2: 2
+ Lv3: 4
+ Lv4: 4
+ Lv5: 6
+ Lv6: 6
+ Lv7: 8
+ Lv8: 8
+ Lv9: 10
+ Lv10: 10
+ }
+ }
+},
+{
+ Id: 520
+ Name: "GS_SPREADATTACK"
+ Description: "Spread Attack"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 1
+ Lv4: 2
+ Lv5: 2
+ Lv6: 2
+ Lv7: 3
+ Lv8: 3
+ Lv9: 3
+ Lv10: 4
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 15
+ Lv2: 20
+ Lv3: 25
+ Lv4: 30
+ Lv5: 35
+ Lv6: 40
+ Lv7: 45
+ Lv8: 50
+ Lv9: 55
+ Lv10: 60
+ }
+ WeaponTypes: {
+ Shotguns: true
+ GrenadeLaunchers: true
+ }
+ AmmoTypes: {
+ A_BULLET: true
+ }
+ AmmoAmount: 5
+ }
+},
+{
+ Id: 521
+ Name: "GS_GROUNDDRIFT"
+ Description: "Ground Drift"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ IgnoreFlee: true
+ }
+ SplashRange: 1
+ KnockBackTiles: 3
+ CastTime: 800
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 3000
+ Lv2: 6000
+ Lv3: 9000
+ Lv4: 12000
+ Lv5: 15000
+ Lv6: 18000
+ Lv7: 21000
+ Lv8: 24000
+ Lv9: 27000
+ Lv10: 30000
+ }
+ SkillData2: 10000
+ FixedCastTime: 200
+ Requirements: {
+ SPCost: {
+ Lv1: 4
+ Lv2: 8
+ Lv3: 12
+ Lv4: 16
+ Lv5: 20
+ Lv6: 24
+ Lv7: 28
+ Lv8: 32
+ Lv9: 36
+ Lv10: 40
+ }
+ WeaponTypes: {
+ GrenadeLaunchers: true
+ }
+ AmmoTypes: {
+ A_GRENADE: true
+ }
+ AmmoAmount: 1
+ }
+ Unit: {
+ Id: 0xbe
+ Range: 1
+ Interval: 1000
+ Target: "Enemy"
+ }
+},
+{
+ Id: 522
+ Name: "NJ_TOBIDOUGU"
+ Description: "Shuriken Training"
+ MaxLevel: 10
+ AttackType: "Weapon"
+},
+{
+ Id: 523
+ Name: "NJ_SYURIKEN"
+ Description: "Throw Shuriken"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ IgnoreFlee: true
+ }
+ Requirements: {
+ SPCost: 2
+ AmmoTypes: {
+ A_SHURIKEN: true
+ }
+ AmmoAmount: 1
+ }
+},
+{
+ Id: 524
+ Name: "NJ_KUNAI"
+ Description: "Throw Kunai"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ IgnoreFlee: true
+ }
+ NumberOfHits: 3
+ AfterCastActDelay: 1000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 25
+ Lv3: 20
+ Lv4: 15
+ Lv5: 10
+ Lv6: 5
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ AmmoTypes: {
+ A_KUNAI: true
+ }
+ AmmoAmount: 1
+ }
+},
+{
+ Id: 525
+ Name: "NJ_HUUMA"
+ Description: "Throw Huuma Shuriken"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ NumberOfHits: {
+ Lv1: -3
+ Lv2: -3
+ Lv3: -4
+ Lv4: -4
+ Lv5: -5
+ Lv6: -5
+ Lv7: -6
+ Lv8: -6
+ Lv9: -7
+ Lv10: -7
+ }
+ CastTime: {
+ Lv1: 2400
+ Lv2: 2400
+ Lv3: 2400
+ Lv4: 2400
+ Lv5: 2400
+ Lv6: 2400
+ Lv7: 2400
+ Lv8: 2400
+ Lv9: 2400
+ Lv10: 2400
+ }
+ AfterCastActDelay: 2000
+ SkillData1: 100
+ FixedCastTime: 600
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 25
+ Lv3: 30
+ Lv4: 35
+ Lv5: 40
+ Lv6: 45
+ Lv7: 50
+ Lv8: 55
+ Lv9: 60
+ Lv10: 65
+ }
+ WeaponTypes: {
+ FuumaShurikens: true
+ }
+ }
+ Unit: {
+ Id: 0x86
+ Range: 2
+ Interval: 100
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 526
+ Name: "NJ_ZENYNAGE"
+ Description: "Throw Zeny"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ IgnoreElement: true
+ IgnoreFlee: true
+ }
+ AfterCastActDelay: 5000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 50
+ ZenyCost: {
+ Lv1: 500
+ Lv2: 1000
+ Lv3: 1500
+ Lv4: 2000
+ Lv5: 2500
+ Lv6: 3000
+ Lv7: 3500
+ Lv8: 4000
+ Lv9: 4500
+ Lv10: 5000
+ }
+ }
+},
+{
+ Id: 527
+ Name: "NJ_TATAMIGAESHI"
+ Description: "Improvised Defense"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ KnockBackTiles: 4
+ AfterCastActDelay: 3000
+ SkillData1: 3000
+ SkillData2: 3000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 15
+ }
+ Unit: {
+ Id: 0xbc
+ Layout: -1
+ Interval: 2000
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 528
+ Name: "NJ_KASUMIKIRI"
+ Description: "Vanishing Slash"
+ MaxLevel: 10
+ Range: -1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 60000
+ Lv3: 90000
+ Lv4: 120000
+ Lv5: 150000
+ Lv6: 180000
+ Lv7: 210000
+ Lv8: 240000
+ Lv9: 270000
+ Lv10: 300000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 15
+ }
+},
+{
+ Id: 529
+ Name: "NJ_SHADOWJUMP"
+ Description: "Shadow Leap"
+ MaxLevel: 5
+ Range: {
+ Lv1: 7
+ Lv2: 9
+ Lv3: 11
+ Lv4: 13
+ Lv5: 15
+ Lv6: 17
+ Lv7: 19
+ Lv8: 21
+ Lv9: 23
+ Lv10: 25
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 1000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ State: "Hiding"
+ }
+},
+{
+ Id: 530
+ Name: "NJ_KIRIKAGE"
+ Description: "Shadow Slash"
+ MaxLevel: 5
+ Range: {
+ Lv1: 7
+ Lv2: 9
+ Lv3: 11
+ Lv4: 13
+ Lv5: 15
+ Lv6: 17
+ Lv7: 19
+ Lv8: 21
+ Lv9: 23
+ Lv10: 25
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ Requirements: {
+ SPCost: 10
+ State: "Hiding"
+ }
+},
+{
+ Id: 531
+ Name: "NJ_UTSUSEMI"
+ Description: "Cicada Skin Sheeding"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ KnockBackTiles: 7
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 20000
+ Lv2: 30000
+ Lv3: 40000
+ Lv4: 50000
+ Lv5: 60000
+ Lv6: 70000
+ Lv7: 80000
+ Lv8: 90000
+ Lv9: 100000
+ Lv10: 110000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 12
+ Lv2: 15
+ Lv3: 18
+ Lv4: 21
+ Lv5: 24
+ Lv6: 27
+ Lv7: 30
+ Lv8: 33
+ Lv9: 36
+ Lv10: 39
+ }
+ }
+},
+{
+ Id: 532
+ Name: "NJ_BUNSINJYUTSU"
+ Description: "Mirror Image"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 3200
+ Lv2: 2800
+ Lv3: 2400
+ Lv4: 2000
+ Lv5: 1600
+ Lv6: 1200
+ Lv7: 800
+ Lv8: 800
+ Lv9: 800
+ Lv10: 800
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 80000
+ Lv3: 100000
+ Lv4: 120000
+ Lv5: 140000
+ Lv6: 160000
+ Lv7: 180000
+ Lv8: 200000
+ Lv9: 220000
+ Lv10: 240000
+ }
+ FixedCastTime: {
+ Lv1: 800
+ Lv2: 700
+ Lv3: 600
+ Lv4: 500
+ Lv5: 400
+ Lv6: 300
+ Lv7: 200
+ Lv8: 200
+ Lv9: 200
+ Lv10: 200
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 32
+ Lv3: 34
+ Lv4: 36
+ Lv5: 38
+ Lv6: 40
+ Lv7: 42
+ Lv8: 44
+ Lv9: 46
+ Lv10: 48
+ }
+// Items: {
+// Shadow_Orb: 1
+// }
+ }
+},
+{
+ Id: 533
+ Name: "NJ_NINPOU"
+ Description: "Spirit of the Blade"
+ MaxLevel: 10
+ NumberOfHits: 0
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 534
+ Name: "NJ_KOUENKA"
+ Description: "Crimson Fire Petal"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 560
+ Lv2: 1120
+ Lv3: 1680
+ Lv4: 2240
+ Lv5: 2800
+ Lv6: 3360
+ Lv7: 3840
+ Lv8: 4480
+ Lv9: 5040
+ Lv10: 5600
+ }
+ FixedCastTime: {
+ Lv1: 140
+ Lv2: 280
+ Lv3: 420
+ Lv4: 560
+ Lv5: 700
+ Lv6: 840
+ Lv7: 960
+ Lv8: 1120
+ Lv9: 1260
+ Lv10: 1400
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 18
+ Lv2: 20
+ Lv3: 22
+ Lv4: 24
+ Lv5: 26
+ Lv6: 28
+ Lv7: 30
+ Lv8: 32
+ Lv9: 34
+ Lv10: 36
+ }
+ }
+},
+{
+ Id: 535
+ Name: "NJ_KAENSIN"
+ Description: "Crimson Fire Formation"
+ MaxLevel: 10
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ InterruptCast: true
+ CastTime: {
+ Lv1: 4800
+ Lv2: 4400
+ Lv3: 4000
+ Lv4: 3600
+ Lv5: 3200
+ Lv6: 2800
+ Lv7: 2400
+ Lv8: 2000
+ Lv9: 1600
+ Lv10: 1200
+ }
+ AfterCastActDelay: 1000
+ SkillData1: 20000
+ FixedCastTime: {
+ Lv1: 1200
+ Lv2: 1100
+ Lv3: 1000
+ Lv4: 900
+ Lv5: 800
+ Lv6: 700
+ Lv7: 600
+ Lv8: 500
+ Lv9: 400
+ Lv10: 300
+ }
+ Requirements: {
+ SPCost: 25
+// Items: {
+// Flame_Stone: 1
+// }
+ }
+ Unit: {
+ Id: 0xbd
+ Layout: -1
+ Interval: 20
+ Target: "Enemy"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 536
+ Name: "NJ_BAKUENRYU"
+ Description: "Raging Fire Dragon"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 2
+ NumberOfHits: 3
+ InterruptCast: true
+ CastTime: 2400
+ AfterCastActDelay: 2000
+ FixedCastTime: 600
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 25
+ Lv3: 30
+ Lv4: 35
+ Lv5: 40
+ Lv6: 45
+ Lv7: 50
+ Lv8: 55
+ Lv9: 60
+ Lv10: 65
+ }
+// Items: {
+// Flame_Stone: 1
+// }
+ }
+},
+{
+ Id: 537
+ Name: "NJ_HYOUSENSOU"
+ Description: "Spear of Ice"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ NumberOfHits: {
+ Lv1: 3
+ Lv2: 4
+ Lv3: 5
+ Lv4: 6
+ Lv5: 7
+ Lv6: 8
+ Lv7: 9
+ Lv8: 10
+ Lv9: 11
+ Lv10: 12
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 560
+ Lv2: 1120
+ Lv3: 1680
+ Lv4: 2240
+ Lv5: 2800
+ Lv6: 3360
+ Lv7: 3840
+ Lv8: 4480
+ Lv9: 5040
+ Lv10: 5600
+ }
+ FixedCastTime: {
+ Lv1: 140
+ Lv2: 280
+ Lv3: 420
+ Lv4: 560
+ Lv5: 700
+ Lv6: 840
+ Lv7: 960
+ Lv8: 1120
+ Lv9: 1260
+ Lv10: 1400
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 15
+ Lv2: 18
+ Lv3: 21
+ Lv4: 24
+ Lv5: 27
+ Lv6: 30
+ Lv7: 33
+ Lv8: 36
+ Lv9: 39
+ Lv10: 42
+ }
+ }
+},
+{
+ Id: 538
+ Name: "NJ_SUITON"
+ Description: "Hidden Water"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2400
+ AfterCastActDelay: 2000
+ SkillData1: {
+ Lv1: 15000
+ Lv2: 20000
+ Lv3: 25000
+ Lv4: 30000
+ Lv5: 35000
+ Lv6: 40000
+ Lv7: 45000
+ Lv8: 50000
+ Lv9: 55000
+ Lv10: 60000
+ }
+ SkillData2: {
+ Lv1: 15000
+ Lv2: 20000
+ Lv3: 25000
+ Lv4: 30000
+ Lv5: 35000
+ Lv6: 40000
+ Lv7: 45000
+ Lv8: 50000
+ Lv9: 55000
+ Lv10: 60000
+ }
+ FixedCastTime: 600
+ Requirements: {
+ SPCost: {
+ Lv1: 15
+ Lv2: 18
+ Lv3: 21
+ Lv4: 24
+ Lv5: 27
+ Lv6: 30
+ Lv7: 33
+ Lv8: 36
+ Lv9: 39
+ Lv10: 42
+ }
+// Items: {
+// Ice_Stone: 1
+// }
+ }
+ Unit: {
+ Id: 0xbb
+ Layout: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 1
+ Lv4: 2
+ Lv5: 2
+ Lv6: 2
+ Lv7: 3
+ Lv8: 3
+ Lv9: 3
+ Lv10: 4
+ }
+ Interval: -1
+ Target: "All"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 539
+ Name: "NJ_HYOUSYOURAKU"
+ Description: "Ice Meteor"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 3
+ InterruptCast: true
+ CastTime: {
+ Lv1: 1600
+ Lv2: 2000
+ Lv3: 2400
+ Lv4: 2800
+ Lv5: 3200
+ Lv6: 3200
+ Lv7: 3200
+ Lv8: 3200
+ Lv9: 3200
+ Lv10: 3200
+ }
+ AfterCastActDelay: 2000
+ SkillData2: {
+ Lv1: 10000
+ Lv2: 11000
+ Lv3: 12000
+ Lv4: 13000
+ Lv5: 14000
+ Lv6: 15000
+ Lv7: 16000
+ Lv8: 17000
+ Lv9: 18000
+ Lv10: 19000
+ }
+ FixedCastTime: {
+ Lv1: 400
+ Lv2: 500
+ Lv3: 600
+ Lv4: 700
+ Lv5: 800
+ Lv6: 800
+ Lv7: 800
+ Lv8: 800
+ Lv9: 800
+ Lv10: 800
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 45
+ Lv3: 50
+ Lv4: 55
+ Lv5: 60
+ Lv6: 65
+ Lv7: 70
+ Lv8: 75
+ Lv9: 80
+ Lv10: 85
+ }
+// Items: {
+// Ice_Stone: 1
+// }
+ }
+},
+{
+ Id: 540
+ Name: "NJ_HUUJIN"
+ Description: "Wind Blade"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 2
+ Lv4: 3
+ Lv5: 3
+ Lv6: 4
+ Lv7: 4
+ Lv8: 5
+ Lv9: 5
+ Lv10: 6
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 800
+ Lv2: 1200
+ Lv3: 1600
+ Lv4: 2000
+ Lv5: 2400
+ Lv6: 2800
+ Lv7: 3200
+ Lv8: 3600
+ Lv9: 4000
+ Lv10: 4400
+ }
+ AfterCastActDelay: 1000
+ FixedCastTime: {
+ Lv1: 200
+ Lv2: 300
+ Lv3: 400
+ Lv4: 500
+ Lv5: 600
+ Lv6: 700
+ Lv7: 800
+ Lv8: 900
+ Lv9: 1000
+ Lv10: 1100
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 12
+ Lv2: 14
+ Lv3: 16
+ Lv4: 18
+ Lv5: 20
+ Lv6: 22
+ Lv7: 24
+ Lv8: 26
+ Lv9: 28
+ Lv10: 30
+ }
+ }
+},
+{
+ Id: 541
+ Name: "NJ_RAIGEKISAI"
+ Description: "Lightning Strike of Destruction"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 2
+ Lv3: 3
+ Lv4: 3
+ Lv5: 4
+ Lv6: 4
+ Lv7: 5
+ Lv8: 5
+ Lv9: 6
+ Lv10: 6
+ }
+ InterruptCast: true
+ CastTime: 3200
+ SkillData1: 100
+ FixedCastTime: 800
+ Requirements: {
+ SPCost: {
+ Lv1: 16
+ Lv2: 20
+ Lv3: 24
+ Lv4: 28
+ Lv5: 32
+ Lv6: 36
+ Lv7: 40
+ Lv8: 44
+ Lv9: 48
+ Lv10: 52
+ }
+// Items: {
+// Wind_Stone: 1
+// }
+ }
+ Unit: {
+ Id: 0x86
+ Range: {
+ Lv1: 3
+ Lv2: 3
+ Lv3: 4
+ Lv4: 4
+ Lv5: 5
+ Lv6: 5
+ Lv7: 6
+ Lv8: 6
+ Lv9: 7
+ Lv10: 7
+ }
+ Interval: 100
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 542
+ Name: "NJ_KAMAITACHI"
+ Description: "Kamaitachi"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ SplashRange: 3
+ InterruptCast: true
+ SkillInstances: {
+ Lv1: 5
+ Lv2: 6
+ Lv3: 7
+ Lv4: 8
+ Lv5: 9
+ Lv6: 10
+ Lv7: 11
+ Lv8: 12
+ Lv9: 13
+ Lv10: 14
+ }
+ CastTime: 3200
+ FixedCastTime: 800
+ Requirements: {
+ SPCost: {
+ Lv1: 24
+ Lv2: 28
+ Lv3: 32
+ Lv4: 36
+ Lv5: 40
+ Lv6: 44
+ Lv7: 48
+ Lv8: 52
+ Lv9: 56
+ Lv10: 60
+ }
+// Items: {
+// Wind_Stone: 1
+// }
+ }
+},
+{
+ Id: 543
+ Name: "NJ_NEN"
+ Description: "Soul"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 4000
+ Lv2: 3200
+ Lv3: 2400
+ Lv4: 1600
+ Lv5: 800
+ Lv6: 800
+ Lv7: 800
+ Lv8: 800
+ Lv9: 800
+ Lv10: 800
+ }
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 45000
+ Lv3: 60000
+ Lv4: 75000
+ Lv5: 90000
+ Lv6: 105000
+ Lv7: 120000
+ Lv8: 135000
+ Lv9: 150000
+ Lv10: 165000
+ }
+ FixedCastTime: {
+ Lv1: 1000
+ Lv2: 800
+ Lv3: 600
+ Lv4: 400
+ Lv5: 200
+ Lv6: 200
+ Lv7: 200
+ Lv8: 200
+ Lv9: 200
+ Lv10: 200
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 30
+ Lv3: 40
+ Lv4: 50
+ Lv5: 60
+ Lv6: 70
+ Lv7: 80
+ Lv8: 90
+ Lv9: 100
+ Lv10: 110
+ }
+ HPRateCost: -5
+ }
+},
+{
+ Id: 544
+ Name: "NJ_ISSEN"
+ Description: "Final Strike"
+ MaxLevel: 10
+ Range: -5
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ IgnoreFlee: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 55
+ Lv2: 60
+ Lv3: 65
+ Lv4: 70
+ Lv5: 75
+ Lv6: 80
+ Lv7: 85
+ Lv8: 90
+ Lv9: 95
+ Lv10: 100
+ }
+ }
+},
+{
+ Id: 653
+ Name: "NPC_EARTHQUAKE"
+ Description: "Earthquake"
+ MaxLevel: 10
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ IgnoreLandProtector: true
+ ShowSkillScale: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ SplashArea: true
+ SplitDamage: true
+ IgnoreDefense: true
+ }
+ SplashRange: {
+ Lv1: 5
+ Lv2: 7
+ Lv3: 9
+ Lv4: 11
+ Lv5: 13
+ Lv6: 5
+ Lv7: 7
+ Lv8: 9
+ Lv9: 11
+ Lv10: 13
+ }
+ SkillData1: 900
+ FixedCastTime: -1
+ Unit: {
+ Id: 0xc6
+ Range: {
+ Lv1: 5
+ Lv2: 7
+ Lv3: 9
+ Lv4: 11
+ Lv5: 13
+ Lv6: 5
+ Lv7: 7
+ Lv8: 9
+ Lv9: 11
+ Lv10: 13
+ }
+ Interval: 300
+ Target: "Enemy"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 654
+ Name: "NPC_FIREBREATH"
+ Description: "Fire Breath"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Fire"
+ SplashRange: 5
+ SkillInstances: 14
+},
+{
+ Id: 655
+ Name: "NPC_ICEBREATH"
+ Description: "Ice Breath"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Water"
+ SplashRange: 5
+ SkillInstances: 14
+ SkillData2: 12000
+ FixedCastTime: -1
+},
+{
+ Id: 656
+ Name: "NPC_THUNDERBREATH"
+ Description: "Thunder Breath"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Wind"
+ SplashRange: 5
+ SkillInstances: 14
+},
+{
+ Id: 657
+ Name: "NPC_ACIDBREATH"
+ Description: "Acid Breath"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Nature"
+ SplashRange: 5
+ SkillInstances: 14
+ SkillData2: 60000
+ FixedCastTime: -1
+},
+{
+ Id: 658
+ Name: "NPC_DARKNESSBREATH"
+ Description: "Darkness Breath"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Dark"
+ SplashRange: 5
+ SkillInstances: 14
+},
+{
+ Id: 659
+ Name: "NPC_DRAGONFEAR"
+ Description: "Dragon Fear"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ ShowSkillScale: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 5
+ Lv3: 8
+ Lv4: 11
+ Lv5: 14
+ Lv6: 17
+ Lv7: 20
+ Lv8: 23
+ Lv9: 26
+ Lv10: 29
+ }
+ SkillData2: {
+ Lv1: 5000
+ Lv2: 30000
+ Lv3: 30000
+ Lv4: 120000
+ Lv5: 120000
+ Lv6: 120000
+ Lv7: 120000
+ Lv8: 120000
+ Lv9: 120000
+ Lv10: 120000
+ }
+ FixedCastTime: -1
+},
+{
+ Id: 660
+ Name: "NPC_BLEEDING"
+ Description: "Bleeding"
+ MaxLevel: 5
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ SkillData2: 120000
+ FixedCastTime: -1
+},
+{
+ Id: 661
+ Name: "NPC_PULSESTRIKE"
+ Description: "Pulse Strike"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ ShowSkillScale: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 7
+ KnockBackTiles: 7
+},
+{
+ Id: 662
+ Name: "NPC_HELLJUDGEMENT"
+ Description: "Hell's Judgement"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ ShowSkillScale: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 14
+ SkillData2: 30000
+ FixedCastTime: -1
+},
+{
+ Id: 663
+ Name: "NPC_WIDESILENCE"
+ Description: "Wide Silence"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ ShowSkillScale: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 5
+ Lv3: 8
+ Lv4: 11
+ Lv5: 14
+ Lv6: 17
+ Lv7: 20
+ Lv8: 23
+ Lv9: 26
+ Lv10: 29
+ }
+ SkillData2: 30000
+ FixedCastTime: -1
+},
+{
+ Id: 664
+ Name: "NPC_WIDEFREEZE"
+ Description: "Wide Freeze"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ ShowSkillScale: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 5
+ Lv3: 8
+ Lv4: 11
+ Lv5: 14
+ Lv6: 17
+ Lv7: 20
+ Lv8: 23
+ Lv9: 26
+ Lv10: 29
+ }
+ SkillData2: 12000
+ FixedCastTime: -1
+},
+{
+ Id: 665
+ Name: "NPC_WIDEBLEEDING"
+ Description: "Wide Bleeding"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ ShowSkillScale: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 5
+ Lv3: 8
+ Lv4: 11
+ Lv5: 14
+ Lv6: 17
+ Lv7: 20
+ Lv8: 23
+ Lv9: 26
+ Lv10: 29
+ }
+ SkillData2: 120000
+ FixedCastTime: -1
+},
+{
+ Id: 666
+ Name: "NPC_WIDESTONE"
+ Description: "Wide Petrify"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ ShowSkillScale: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 5
+ Lv3: 8
+ Lv4: 11
+ Lv5: 14
+ Lv6: 17
+ Lv7: 20
+ Lv8: 23
+ Lv9: 26
+ Lv10: 29
+ }
+ SkillData2: 20000
+ FixedCastTime: -1
+},
+{
+ Id: 667
+ Name: "NPC_WIDECONFUSE"
+ Description: "Wide Confusion"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ ShowSkillScale: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 5
+ Lv3: 8
+ Lv4: 11
+ Lv5: 14
+ Lv6: 17
+ Lv7: 20
+ Lv8: 23
+ Lv9: 26
+ Lv10: 29
+ }
+ SkillData2: 30000
+ FixedCastTime: -1
+},
+{
+ Id: 668
+ Name: "NPC_WIDESLEEP"
+ Description: "Wide Sleep"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ ShowSkillScale: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 5
+ Lv3: 8
+ Lv4: 11
+ Lv5: 14
+ Lv6: 17
+ Lv7: 20
+ Lv8: 23
+ Lv9: 26
+ Lv10: 29
+ }
+ SkillData2: 30000
+ FixedCastTime: -1
+},
+{
+ Id: 669
+ Name: "NPC_WIDESIGHT"
+ Description: "Wide Sight"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ ShowSkillScale: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 5
+ SkillData1: 10000
+ FixedCastTime: -1
+},
+{
+ Id: 670
+ Name: "NPC_EVILLAND"
+ Description: "Evil Land"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ NPC: true
+ ShowSkillScale: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Dark"
+ DamageType: {
+ NoDamage: true
+ IgnoreElement: true
+ IgnoreDefCards: true
+ }
+ SkillData1: 30000
+ SkillData2: 30000
+ FixedCastTime: -1
+ Unit: {
+ Id: 0xc7
+ Layout: 1
+ Range: {
+ Lv1: 4
+ Lv2: 7
+ Lv3: 10
+ Lv4: 13
+ Lv5: 16
+ Lv6: 19
+ Lv7: 22
+ Lv8: 25
+ Lv9: 28
+ Lv10: 31
+ }
+ Interval: 1000
+ Target: "All"
+ Flag: {
+ UF_NOOVERLAP: true
+ }
+ }
+},
+{
+ Id: 671
+ Name: "NPC_MAGICMIRROR"
+ Description: "Magic Mirror"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 30000
+ FixedCastTime: -1
+},
+{
+ Id: 672
+ Name: "NPC_SLOWCAST"
+ Description: "Slow Cast"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ ShowSkillScale: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 5
+ Lv3: 8
+ Lv4: 11
+ Lv5: 14
+ Lv6: 17
+ Lv7: 20
+ Lv8: 23
+ Lv9: 26
+ Lv10: 29
+ }
+ SkillData2: 30000
+ FixedCastTime: -1
+},
+{
+ Id: 673
+ Name: "NPC_CRITICALWOUND"
+ Description: "Critical Wounds"
+ MaxLevel: 5
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ SkillData2: 30000
+ FixedCastTime: -1
+},
+{
+ Id: 674
+ Name: "NPC_EXPULSION"
+ Description: "Expulsion"
+ MaxLevel: 1
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ Element: "Ele_Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+},
+{
+ Id: 675
+ Name: "NPC_STONESKIN"
+ Description: "Stone Skin"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 30000
+ FixedCastTime: -1
+},
+{
+ Id: 676
+ Name: "NPC_ANTIMAGIC"
+ Description: "Anti Magic"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 30000
+ FixedCastTime: -1
+},
+{
+ Id: 677
+ Name: "NPC_WIDECURSE"
+ Description: "Wide Curse"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ ShowSkillScale: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 5
+ Lv3: 8
+ Lv4: 11
+ Lv5: 14
+ Lv6: 17
+ Lv7: 20
+ Lv8: 23
+ Lv9: 26
+ Lv10: 29
+ }
+ SkillData2: 30000
+ FixedCastTime: -1
+},
+{
+ Id: 678
+ Name: "NPC_WIDESTUN"
+ Description: "Wide Stun"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ ShowSkillScale: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 5
+ Lv3: 8
+ Lv4: 11
+ Lv5: 14
+ Lv6: 17
+ Lv7: 20
+ Lv8: 23
+ Lv9: 26
+ Lv10: 29
+ }
+ SkillData2: 5000
+ FixedCastTime: -1
+},
+{
+ Id: 679
+ Name: "NPC_VAMPIRE_GIFT"
+ Description: "Vampire Gift"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ ShowSkillScale: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 5
+ Lv2: 7
+ Lv3: 9
+ Lv4: 11
+ Lv5: 13
+ Lv6: 13
+ Lv7: 13
+ Lv8: 13
+ Lv9: 13
+ Lv10: 13
+ }
+},
+{
+ Id: 680
+ Name: "NPC_WIDESOULDRAIN"
+ Description: "Wide Soul Drain"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ ShowSkillScale: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 5
+ Lv2: 7
+ Lv3: 9
+ Lv4: 11
+ Lv5: 13
+ Lv6: 13
+ Lv7: 13
+ Lv8: 13
+ Lv9: 13
+ Lv10: 13
+ }
+},
+{
+ Id: 681
+ Name: "ALL_INCCARRY"
+ Description: "Increase Weight Limit R"
+ MaxLevel: 10
+ SkillInfo: {
+ Quest: true
+ }
+ NumberOfHits: 0
+},
+{
+ Id: 682
+ Name: "NPC_TALK"
+ Description: "Talk"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+},
+{
+ Id: 683
+ Name: "NPC_HELLPOWER"
+ Description: "Hell Power"
+ MaxLevel: 1
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ Element: "Ele_Weapon"
+ SkillData2: 300000
+ FixedCastTime: -1
+},
+{
+ Id: 684
+ Name: "NPC_WIDEHELLDIGNITY"
+ Description: "Hell Dignity"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ SkillData2: 300000
+ FixedCastTime: -1
+},
+{
+ Id: 685
+ Name: "NPC_INVINCIBLE"
+ Description: "Invincible"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: -1
+ FixedCastTime: -1
+},
+{
+ Id: 686
+ Name: "NPC_INVINCIBLEOFF"
+ Description: "Invincible off"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 60000
+ FixedCastTime: -1
+},
+{
+ Id: 687
+ Name: "NPC_ALLHEAL"
+ Description: "Full Heal"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+},
+{
+ Id: 688
+ Name: "GM_SANDMAN"
+ Description: "GM Sandman"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 689
+ Name: "CASH_BLESSING"
+ Description: "Party Blessing"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 80000
+ Lv3: 100000
+ Lv4: 120000
+ Lv5: 140000
+ Lv6: 160000
+ Lv7: 180000
+ Lv8: 200000
+ Lv9: 220000
+ Lv10: 240000
+ }
+ FixedCastTime: -1
+},
+{
+ Id: 690
+ Name: "CASH_INCAGI"
+ Description: "Party Increase AGI"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 80000
+ Lv3: 100000
+ Lv4: 120000
+ Lv5: 140000
+ Lv6: 160000
+ Lv7: 180000
+ Lv8: 200000
+ Lv9: 220000
+ Lv10: 240000
+ }
+ FixedCastTime: -1
+},
+{
+ Id: 691
+ Name: "CASH_ASSUMPTIO"
+ Description: "Party Assumptio"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 20000
+ Lv2: 40000
+ Lv3: 60000
+ Lv4: 80000
+ Lv5: 100000
+ Lv6: 120000
+ Lv7: 140000
+ Lv8: 160000
+ Lv9: 180000
+ Lv10: 200000
+ }
+ FixedCastTime: -1
+},
+{
+ Id: 692
+ Name: "ALL_CATCRY"
+ Description: "Cat Cry"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 5000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 50
+ }
+},
+{
+ Id: 693
+ Name: "ALL_PARTYFLEE"
+ Description: "Party Flee"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ InterruptCast: true
+},
+{
+ Id: 694
+ Name: "ALL_ANGEL_PROTECT"
+ Description: "Angel's Protection"
+ MaxLevel: 1
+ Range: 6
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NPC: true
+ NoCastSelf: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ SkillData1: 30000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 695
+ Name: "ALL_DREAM_SUMMERNIGHT"
+ Description: "Summer Night Dream"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 12000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 697
+ Name: "ALL_REVERSEORCISH"
+ Description: "Reverse Orcish"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: 1200000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 698
+ Name: "ALL_WEWISH"
+ Description: "Christmas Carol"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NPC: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 20000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 1001
+ Name: "KN_CHARGEATK"
+ Description: "Charge Attack"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ CastTime: 250
+ FixedCastTime: 250
+ Requirements: {
+ SPCost: 40
+ }
+},
+{
+ Id: 1002
+ Name: "CR_SHRINK"
+ Description: "Shrink"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ KnockBackTiles: 2
+ SkillData1: 300000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 15
+ State: "Shield"
+ }
+},
+{
+ Id: 1003
+ Name: "AS_SONICACCEL"
+ Description: "Sonic Acceleration"
+ MaxLevel: 1
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 1004
+ Name: "AS_VENOMKNIFE"
+ Description: "Throw Venom Knife"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ IgnoreCards: true
+ }
+ SkillData2: {
+ Lv1: 15000
+ Lv2: 20000
+ Lv3: 25000
+ Lv4: 30000
+ Lv5: 35000
+ Lv6: 40000
+ Lv7: 45000
+ Lv8: 50000
+ Lv9: 55000
+ Lv10: 60000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 15
+ AmmoTypes: {
+ A_DAGGER: true
+ }
+ AmmoAmount: 1
+ }
+},
+{
+ Id: 1005
+ Name: "RG_CLOSECONFINE"
+ Description: "Close Confine"
+ MaxLevel: 1
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 10000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 25
+ }
+},
+{
+ Id: 1006
+ Name: "WZ_SIGHTBLASTER"
+ Description: "Sight Blaster"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ SplashRange: 1
+ InterruptCast: true
+ KnockBackTiles: 3
+ CastTime: 1280
+ SkillData1: 120000
+ FixedCastTime: 320
+ Requirements: {
+ SPCost: 40
+ }
+},
+{
+ Id: 1007
+ Name: "SA_CREATECON"
+ Description: "Create Elemental Converter"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ Requirements: {
+ SPCost: 30
+ }
+},
+{
+ Id: 1008
+ Name: "SA_ELEMENTWATER"
+ Description: "Elemental Change Water"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: 1800000
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: 30
+// Items: {
+// Elemental_Water: 1
+// }
+ }
+},
+{
+ Id: 1009
+ Name: "HT_PHANTASMIC"
+ Description: "Phantasmic Arrow"
+ MaxLevel: 1
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Weapon"
+ KnockBackTiles: 3
+ Requirements: {
+ SPCost: 10
+ WeaponTypes: {
+ Bows: true
+ }
+ }
+},
+{
+ Id: 1010
+ Name: "BA_PANGVOICE"
+ Description: "Pang Voice"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ CastTime: 800
+ AfterCastActDelay: 2000
+ SkillData1: 17000
+ FixedCastTime: 200
+ Requirements: {
+ SPCost: 100
+ }
+},
+{
+ Id: 1011
+ Name: "DC_WINKCHARM"
+ Description: "Wink of Charm"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ CastTime: 800
+ AfterCastActDelay: 2000
+ SkillData1: 10000
+ SkillData2: 17000
+ FixedCastTime: 200
+ Requirements: {
+ SPCost: 40
+ }
+},
+{
+ Id: 1012
+ Name: "BS_UNFAIRLYTRICK"
+ Description: "Unfair Trick"
+ MaxLevel: 1
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 1013
+ Name: "BS_GREED"
+ Description: "Greed"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 2
+ NumberOfHits: 0
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 1014
+ Name: "PR_REDEMPTIO"
+ Description: "Redemptio"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 14
+ NumberOfHits: 0
+ InterruptCast: true
+ CastTime: 3200
+ FixedCastTime: 800
+ CastTimeOptions: {
+ IgnoreDex: true
+ }
+ Requirements: {
+ SPCost: 400
+ }
+},
+{
+ Id: 1015
+ Name: "MO_KITRANSLATION"
+ Description: "Ki Translation"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ Quest: true
+ PartyOnly: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ SkillData1: 600000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: 40
+ SpiritSphereCost: 1
+ }
+},
+{
+ Id: 1016
+ Name: "MO_BALKYOUNG"
+ Description: "Ki Explosion"
+ MaxLevel: 1
+ Range: -1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 1
+ KnockBackTiles: 5
+ AfterCastActDelay: 2000
+ SkillData2: 2000
+ FixedCastTime: -1
+ Requirements: {
+ HPCost: 10
+ SPCost: 20
+ }
+},
+{
+ Id: 1017
+ Name: "SA_ELEMENTGROUND"
+ Description: "Elemental Change Earth"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Earth"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: 1800000
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: 30
+// Items: {
+// Elemental_Earth: 1
+// }
+ }
+},
+{
+ Id: 1018
+ Name: "SA_ELEMENTFIRE"
+ Description: "Elemental Change Fire"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: 1800000
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: 30
+// Items: {
+// Elemental_Fire: 1
+// }
+ }
+},
+{
+ Id: 1019
+ Name: "SA_ELEMENTWIND"
+ Description: "Elemental Change Wind"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: 1800000
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: 30
+// Items: {
+// Elemental_Wind: 1
+// }
+ }
+},
+{
+ Id: 2001
+ Name: "RK_ENCHANTBLADE"
+ Description: "Enchant Blade"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1000
+ SkillData1: 300000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 45
+ Lv3: 50
+ Lv4: 55
+ Lv5: 60
+ Lv6: 65
+ Lv7: 70
+ Lv8: 75
+ Lv9: 80
+ Lv10: 85
+ }
+ }
+},
+{
+ Id: 2002
+ Name: "RK_SONICWAVE"
+ Description: "Sonic Wave"
+ MaxLevel: 5
+ Range: {
+ Lv1: 7
+ Lv2: 8
+ Lv3: 9
+ Lv4: 10
+ Lv5: 11
+ Lv6: 12
+ Lv7: 13
+ Lv8: 14
+ Lv9: 15
+ Lv10: 16
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ AfterCastActDelay: 1000
+ CoolDown: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 35
+ Lv3: 40
+ Lv4: 45
+ Lv5: 50
+ Lv6: 55
+ Lv7: 60
+ Lv8: 65
+ Lv9: 70
+ Lv10: 75
+ }
+ }
+},
+{
+ Id: 2003
+ Name: "RK_DEATHBOUND"
+ Description: "Death Bound"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ KnockBackTiles: 3
+ AfterCastActDelay: 2000
+ SkillData1: 2000
+ CoolDown: 3000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 28
+ Lv2: 31
+ Lv3: 34
+ Lv4: 37
+ Lv5: 40
+ Lv6: 43
+ Lv7: 46
+ Lv8: 49
+ Lv9: 52
+ Lv10: 55
+ }
+ }
+},
+{
+ Id: 2004
+ Name: "RK_HUNDREDSPEAR"
+ Description: "Hundred Spear"
+ MaxLevel: 10
+ Range: 5
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: -5
+ CastTime: {
+ Lv1: 1000
+ Lv2: 900
+ Lv3: 800
+ Lv4: 700
+ Lv5: 600
+ Lv6: 500
+ Lv7: 400
+ Lv8: 300
+ Lv9: 200
+ Lv10: 100
+ }
+ AfterCastActDelay: 500
+ CoolDown: 3000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 60
+ WeaponTypes: {
+ 1HSpears: true
+ 2HSpears: true
+ }
+ }
+},
+{
+ Id: 2005
+ Name: "RK_WINDCUTTER"
+ Description: "Wind Cutter"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Wind"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 2
+ KnockBackTiles: 3
+ SkillData1: 15000
+ CoolDown: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 24
+ Lv3: 28
+ Lv4: 32
+ Lv5: 36
+ Lv6: 40
+ Lv7: 44
+ Lv8: 48
+ Lv9: 52
+ Lv10: 56
+ }
+ WeaponTypes: {
+ Daggers: true
+ 1HSwords: true
+ 2HSwords: true
+ 1HSpears: true
+ 2HSpears: true
+ }
+ }
+},
+{
+ Id: 2006
+ Name: "RK_IGNITIONBREAK"
+ Description: "Ignition Break"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 5
+ CastTime: 1000
+ CoolDown: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 35
+ Lv2: 40
+ Lv3: 45
+ Lv4: 50
+ Lv5: 55
+ Lv6: 60
+ Lv7: 65
+ Lv8: 70
+ Lv9: 75
+ Lv10: 80
+ }
+ WeaponTypes: {
+ Daggers: true
+ 1HSwords: true
+ 2HSwords: true
+ 1HSpears: true
+ 2HSpears: true
+ }
+ }
+},
+{
+ Id: 2007
+ Name: "RK_DRAGONTRAINING"
+ Description: "Dragon Training"
+ MaxLevel: 5
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 2008
+ Name: "RK_DRAGONBREATH"
+ Description: "Dragon Breath"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Fire"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 1
+ Lv4: 2
+ Lv5: 2
+ Lv6: 2
+ Lv7: 3
+ Lv8: 3
+ Lv9: 4
+ Lv10: 4
+ }
+ CastTime: {
+ Lv1: 0
+ Lv2: 0
+ Lv3: 0
+ Lv4: 1000
+ Lv5: 1000
+ Lv6: 1000
+ Lv7: 1500
+ Lv8: 1500
+ Lv9: 2000
+ Lv10: 2000
+ }
+ AfterCastActDelay: 2000
+ SkillData1: 10000
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 35
+ Lv3: 40
+ Lv4: 45
+ Lv5: 50
+ Lv6: 55
+ Lv7: 60
+ Lv8: 65
+ Lv9: 70
+ Lv10: 75
+ }
+ State: "Dragon"
+ }
+},
+{
+ Id: 2009
+ Name: "RK_DRAGONHOWLING"
+ Description: "Dragon Howling"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 3
+ Lv2: 4
+ Lv3: 5
+ Lv4: 6
+ Lv5: 7
+ Lv6: 8
+ Lv7: 9
+ Lv8: 10
+ Lv9: 11
+ Lv10: 12
+ }
+ InterruptCast: true
+ SkillData1: 15000
+ CoolDown: 10000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 30
+ State: "Dragon"
+ }
+},
+{
+ Id: 2010
+ Name: "RK_RUNEMASTERY"
+ Description: "Rune Mastery"
+ MaxLevel: 10
+ NumberOfHits: 0
+},
+{
+ Id: 2011
+ Name: "RK_MILLENNIUMSHIELD"
+ Description: "Millenium Shield"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: 180000
+ SkillData2: 60000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2012
+ Name: "RK_CRUSHSTRIKE"
+ Description: "Crush Strike"
+ MaxLevel: 1
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ SplashRange: 0
+ InterruptCast: true
+ SkillData1: 180000
+ SkillData2: 30000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2013
+ Name: "RK_REFRESH"
+ Description: "Refresh"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: 60000
+ SkillData2: 120000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2014
+ Name: "RK_GIANTGROWTH"
+ Description: "Giant Growth"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: 180000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2015
+ Name: "RK_STONEHARDSKIN"
+ Description: "Stone Hard Skin"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: 180000
+ SkillData2: 10000
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2016
+ Name: "RK_VITALITYACTIVATION"
+ Description: "Vitality Activation"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: 180000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2017
+ Name: "RK_STORMBLAST"
+ Description: "Storm Blast"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 3
+ KnockBackTiles: 7
+ CastTime: 2000
+ AfterCastActDelay: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2018
+ Name: "RK_FIGHTINGSPIRIT"
+ Description: "Fighting Spirit"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ InterruptCast: true
+ SkillData1: 180000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2019
+ Name: "RK_ABUNDANCE"
+ Description: "Abundance"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ Element: "Ele_Holy"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: 180000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2020
+ Name: "RK_PHANTOMTHRUST"
+ Description: "Phantom Thrust"
+ MaxLevel: 5
+ Range: {
+ Lv1: 5
+ Lv2: 6
+ Lv3: 7
+ Lv4: 8
+ Lv5: 9
+ Lv6: 10
+ Lv7: 11
+ Lv8: 12
+ Lv9: 13
+ Lv10: 14
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ InterruptCast: true
+ Requirements: {
+ SPCost: {
+ Lv1: 15
+ Lv2: 18
+ Lv3: 21
+ Lv4: 24
+ Lv5: 27
+ Lv6: 30
+ Lv7: 33
+ Lv8: 36
+ Lv9: 39
+ Lv10: 42
+ }
+ WeaponTypes: {
+ 1HSpears: true
+ 2HSpears: true
+ }
+ }
+},
+{
+ Id: 2021
+ Name: "GC_VENOMIMPRESS"
+ Description: "Venom Impress"
+ MaxLevel: 5
+ Range: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: {
+ Lv1: 3000
+ Lv2: 2500
+ Lv3: 2000
+ Lv4: 1500
+ Lv5: 1000
+ Lv6: 500
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 20000
+ Lv3: 30000
+ Lv4: 40000
+ Lv5: 50000
+ Lv6: 60000
+ Lv7: 70000
+ Lv8: 80000
+ Lv9: 90000
+ Lv10: 100000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 12
+ Lv2: 16
+ Lv3: 20
+ Lv4: 24
+ Lv5: 28
+ Lv6: 32
+ Lv7: 36
+ Lv8: 40
+ Lv9: 44
+ Lv10: 48
+ }
+ }
+},
+{
+ Id: 2022
+ Name: "GC_CROSSIMPACT"
+ Description: "Cross Impact"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: -4
+ AfterCastActDelay: {
+ Lv1: 2500
+ Lv2: 2000
+ Lv3: 1500
+ Lv4: 1000
+ Lv5: 500
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 750
+ State: "Moveable"
+ }
+},
+{
+ Id: 2023
+ Name: "GC_DARKILLUSION"
+ Description: "Sudden Attack"
+ MaxLevel: 5
+ Range: {
+ Lv1: 5
+ Lv2: 7
+ Lv3: 9
+ Lv4: 10
+ Lv5: 10
+ Lv6: 10
+ Lv7: 10
+ Lv8: 10
+ Lv9: 10
+ Lv10: 10
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ IgnoreFlee: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ FixedCastTime: 100
+ Requirements: {
+ SPCost: {
+ Lv1: 110
+ Lv2: 115
+ Lv3: 120
+ Lv4: 125
+ Lv5: 130
+ Lv6: 135
+ Lv7: 140
+ Lv8: 145
+ Lv9: 150
+ Lv10: 155
+ }
+ }
+},
+{
+ Id: 2024
+ Name: "GC_RESEARCHNEWPOISON"
+ Description: "Research New Poison"
+ MaxLevel: 10
+ NumberOfHits: 0
+},
+{
+ Id: 2025
+ Name: "GC_CREATENEWPOISON"
+ Description: "Create New Poison"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 500
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 2026
+ Name: "GC_ANTIDOTE"
+ Description: "Antidote"
+ MaxLevel: 1
+ Range: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 10
+// Items: {
+// Guillotine_Antidote: 1
+// }
+ }
+},
+{
+ Id: 2027
+ Name: "GC_POISONINGWEAPON"
+ Description: "Poisoning Weapon"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 120000
+ Lv3: 180000
+ Lv4: 240000
+ Lv5: 300000
+ Lv6: 360000
+ Lv7: 420000
+ Lv8: 480000
+ Lv9: 540000
+ Lv10: 600000
+ }
+ SkillData2: 300000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 24
+ Lv3: 28
+ Lv4: 32
+ Lv5: 36
+ Lv6: 40
+ Lv7: 44
+ Lv8: 48
+ Lv9: 52
+ Lv10: 56
+ }
+ }
+},
+{
+ Id: 2028
+ Name: "GC_WEAPONBLOCKING"
+ Description: "Weapon Blocking"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 2000
+ SkillData1: 180000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 36
+ Lv3: 32
+ Lv4: 28
+ Lv5: 24
+ Lv6: 20
+ Lv7: 16
+ Lv8: 12
+ Lv9: 8
+ Lv10: 4
+ }
+ }
+},
+{
+ Id: 2029
+ Name: "GC_COUNTERSLASH"
+ Description: "Counter Slash"
+ MaxLevel: 5
+ Range: -2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 1
+ KnockBackTiles: 3
+ AfterCastActDelay: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 5
+ Lv2: 8
+ Lv3: 11
+ Lv4: 14
+ Lv5: 17
+ Lv6: 20
+ Lv7: 23
+ Lv8: 26
+ Lv9: 29
+ Lv10: 32
+ }
+ }
+},
+{
+ Id: 2030
+ Name: "GC_WEAPONCRUSH"
+ Description: "Weapon Crush"
+ MaxLevel: 5
+ Range: -2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 1000
+ SkillData1: 60000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 20
+ }
+},
+{
+ Id: 2031
+ Name: "GC_VENOMPRESSURE"
+ Description: "Venom Pressure"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ AfterCastActDelay: 1000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 40
+ Lv3: 50
+ Lv4: 60
+ Lv5: 70
+ Lv6: 80
+ Lv7: 90
+ Lv8: 100
+ Lv9: 110
+ Lv10: 120
+ }
+ State: "PoisonWeapon"
+ }
+},
+{
+ Id: 2032
+ Name: "GC_POISONSMOKE"
+ Description: "Poison Smoke"
+ MaxLevel: 5
+ Range: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillInstances: 1
+ AfterCastActDelay: 2000
+ SkillData1: {
+ Lv1: 6000
+ Lv2: 8000
+ Lv3: 10000
+ Lv4: 12000
+ Lv5: 14000
+ Lv6: 16000
+ Lv7: 18000
+ Lv8: 20000
+ Lv9: 22000
+ Lv10: 24000
+ }
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: 40
+ State: "PoisonWeapon"
+ }
+ Unit: {
+ Id: 0xe1
+ Layout: 2
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 2033
+ Name: "GC_CLOAKINGEXCEED"
+ Description: "Cloaking Exceed"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 45
+ }
+},
+{
+ Id: 2034
+ Name: "GC_PHANTOMMENACE"
+ Description: "Phantom Menace"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 3
+ AfterCastActDelay: 1000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 30
+ }
+},
+{
+ Id: 2035
+ Name: "GC_HALLUCINATIONWALK"
+ Description: "Hallucination Walk"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 35000
+ Lv3: 40000
+ Lv4: 45000
+ Lv5: 50000
+ Lv6: 55000
+ Lv7: 60000
+ Lv8: 65000
+ Lv9: 70000
+ Lv10: 75000
+ }
+ SkillData2: 25000
+ CoolDown: 300000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 100
+ }
+},
+{
+ Id: 2036
+ Name: "GC_ROLLINGCUTTER"
+ Description: "Rolling Cutter"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 1
+ Lv4: 1
+ Lv5: 2
+ Lv6: 2
+ Lv7: 2
+ Lv8: 2
+ Lv9: 2
+ Lv10: 2
+ }
+ AfterCastActDelay: 200
+ SkillData1: 3000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 5
+ WeaponTypes: {
+ Katars: true
+ }
+ }
+},
+{
+ Id: 2037
+ Name: "GC_CROSSRIPPERSLASHER"
+ Description: "Cross Ripper Slasher"
+ MaxLevel: 5
+ Range: {
+ Lv1: 9
+ Lv2: 10
+ Lv3: 11
+ Lv4: 12
+ Lv5: 13
+ Lv6: 14
+ Lv7: 15
+ Lv8: 16
+ Lv9: 17
+ Lv10: 18
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ AfterCastActDelay: 1000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 24
+ Lv3: 28
+ Lv4: 32
+ Lv5: 36
+ Lv6: 40
+ Lv7: 44
+ Lv8: 48
+ Lv9: 52
+ Lv10: 56
+ }
+ WeaponTypes: {
+ Katars: true
+ }
+ State: "RollingCutter"
+ }
+},
+{
+ Id: 2038
+ Name: "AB_JUDEX"
+ Description: "Judex"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 3
+ NumberOfHits: -3
+ InterruptCast: true
+ CastTime: 2000
+ AfterCastActDelay: 500
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 23
+ Lv3: 26
+ Lv4: 29
+ Lv5: 32
+ Lv6: 35
+ Lv7: 38
+ Lv8: 41
+ Lv9: 44
+ Lv10: 47
+ }
+ }
+},
+{
+ Id: 2039
+ Name: "AB_ANCILLA"
+ Description: "Ancilla"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 30
+ SPRateCost: -30
+ }
+},
+{
+ Id: 2040
+ Name: "AB_ADORAMUS"
+ Description: "Adoramus"
+ MaxLevel: 10
+ Range: 11
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ NumberOfHits: -10
+ InterruptCast: true
+ CastTime: 2000
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 6000
+ Lv2: 7000
+ Lv3: 8000
+ Lv4: 9000
+ Lv5: 10000
+ Lv6: 11000
+ Lv7: 12000
+ Lv8: 13000
+ Lv9: 14000
+ Lv10: 15000
+ }
+ SkillData2: {
+ Lv1: 15000
+ Lv2: 20000
+ Lv3: 25000
+ Lv4: 30000
+ Lv5: 35000
+ Lv6: 40000
+ Lv7: 45000
+ Lv8: 50000
+ Lv9: 55000
+ Lv10: 60000
+ }
+ CoolDown: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 24
+ Lv3: 28
+ Lv4: 32
+ Lv5: 36
+ Lv6: 40
+ Lv7: 44
+ Lv8: 48
+ Lv9: 52
+ Lv10: 56
+ }
+// Items: {
+// Blue_Gemstone: 1
+// }
+ }
+},
+{
+ Id: 2041
+ Name: "AB_CLEMENTIA"
+ Description: "Crementia"
+ MaxLevel: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 3
+ Lv2: 7
+ Lv3: 15
+ Lv4: 15
+ Lv5: 15
+ Lv6: 15
+ Lv7: 15
+ Lv8: 15
+ Lv9: 15
+ Lv10: 15
+ }
+ InterruptCast: true
+ CastTime: 3000
+ SkillData1: {
+ Lv1: 120000
+ Lv2: 180000
+ Lv3: 240000
+ Lv4: 300000
+ Lv5: 360000
+ Lv6: 420000
+ Lv7: 480000
+ Lv8: 540000
+ Lv9: 600000
+ Lv10: 660000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 280
+ Lv2: 320
+ Lv3: 360
+ Lv4: 400
+ Lv5: 440
+ Lv6: 480
+ Lv7: 520
+ Lv8: 560
+ Lv9: 600
+ Lv10: 640
+ }
+ }
+},
+{
+ Id: 2042
+ Name: "AB_CANTO"
+ Description: "Canto Candidus"
+ MaxLevel: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 3
+ Lv2: 7
+ Lv3: 15
+ Lv4: 15
+ Lv5: 15
+ Lv6: 15
+ Lv7: 15
+ Lv8: 15
+ Lv9: 15
+ Lv10: 15
+ }
+ InterruptCast: true
+ CastTime: 3000
+ SkillData1: {
+ Lv1: 120000
+ Lv2: 180000
+ Lv3: 240000
+ Lv4: 300000
+ Lv5: 360000
+ Lv6: 420000
+ Lv7: 480000
+ Lv8: 540000
+ Lv9: 600000
+ Lv10: 660000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 200
+ Lv2: 220
+ Lv3: 240
+ Lv4: 260
+ Lv5: 280
+ Lv6: 300
+ Lv7: 320
+ Lv8: 340
+ Lv9: 360
+ Lv10: 380
+ }
+ }
+},
+{
+ Id: 2043
+ Name: "AB_CHEAL"
+ Description: "Coluceo Heal"
+ MaxLevel: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 3
+ Lv2: 7
+ Lv3: 15
+ Lv4: 15
+ Lv5: 15
+ Lv6: 15
+ Lv7: 15
+ Lv8: 15
+ Lv9: 15
+ Lv10: 15
+ }
+ InterruptCast: true
+ CastTime: 3000
+ CoolDown: 2000
+ FixedCastTime: {
+ Lv1: 1000
+ Lv2: 500
+ Lv3: -1
+ Lv4: -1
+ Lv5: -1
+ Lv6: -1
+ Lv7: -1
+ Lv8: -1
+ Lv9: -1
+ Lv10: -1
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 200
+ Lv2: 220
+ Lv3: 240
+ Lv4: 260
+ Lv5: 280
+ Lv6: 300
+ Lv7: 320
+ Lv8: 340
+ Lv9: 360
+ Lv10: 380
+ }
+ }
+},
+{
+ Id: 2044
+ Name: "AB_EPICLESIS"
+ Description: "Epiclesis"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillInstances: 1
+ CastTime: {
+ Lv1: 2000
+ Lv2: 2500
+ Lv3: 3000
+ Lv4: 3500
+ Lv5: 4000
+ Lv6: 4500
+ Lv7: 5000
+ Lv8: 5500
+ Lv9: 6000
+ Lv10: 6500
+ }
+ AfterCastActDelay: 2000
+ SkillData1: {
+ Lv1: 18000
+ Lv2: 21000
+ Lv3: 24000
+ Lv4: 27000
+ Lv5: 30000
+ Lv6: 33000
+ Lv7: 36000
+ Lv8: 39000
+ Lv9: 42000
+ Lv10: 45000
+ }
+ CoolDown: 60000
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: 300
+// Items: {
+// Ansila: 1
+// Holy_Water: 1
+// }
+ }
+ Unit: {
+ Id: 0xca
+ Range: 2
+ Interval: 1000
+ Target: "All"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 2045
+ Name: "AB_PRAEFATIO"
+ Description: "Praefatio"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 15
+ InterruptCast: true
+ CastTime: 2000
+ SkillData1: 120000
+ CoolDown: {
+ Lv1: 13000
+ Lv2: 16000
+ Lv3: 19000
+ Lv4: 22000
+ Lv5: 25000
+ Lv6: 28000
+ Lv7: 31000
+ Lv8: 34000
+ Lv9: 37000
+ Lv10: 40000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 90
+ Lv2: 100
+ Lv3: 110
+ Lv4: 120
+ Lv5: 130
+ Lv6: 140
+ Lv7: 150
+ Lv8: 160
+ Lv9: 170
+ Lv10: 180
+ }
+ }
+},
+{
+ Id: 2046
+ Name: "AB_ORATIO"
+ Description: "Oratio"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 15
+ InterruptCast: true
+ CastTime: 4000
+ SkillData1: 30000
+ CoolDown: 2000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 35
+ Lv2: 38
+ Lv3: 41
+ Lv4: 44
+ Lv5: 47
+ Lv6: 50
+ Lv7: 53
+ Lv8: 56
+ Lv9: 59
+ Lv10: 62
+ }
+ }
+},
+{
+ Id: 2047
+ Name: "AB_LAUDAAGNUS"
+ Description: "Lauda Agnus"
+ MaxLevel: 4
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 15
+ InterruptCast: true
+ CastTime: 1000
+ SkillData1: 60000
+ CoolDown: 3000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 50
+ Lv2: 60
+ Lv3: 70
+ Lv4: 80
+ Lv5: 90
+ Lv6: 100
+ Lv7: 110
+ Lv8: 120
+ Lv9: 130
+ Lv10: 140
+ }
+ }
+},
+{
+ Id: 2048
+ Name: "AB_LAUDARAMUS"
+ Description: "Lauda Ramus"
+ MaxLevel: 4
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 15
+ InterruptCast: true
+ CastTime: 1000
+ SkillData1: 60000
+ CoolDown: 3000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 50
+ Lv2: 60
+ Lv3: 70
+ Lv4: 80
+ Lv5: 90
+ Lv6: 100
+ Lv7: 110
+ Lv8: 120
+ Lv9: 130
+ Lv10: 140
+ }
+ }
+},
+{
+ Id: 2049
+ Name: "AB_EUCHARISTICA"
+ Description: "Eucharistica"
+ MaxLevel: 10
+ NumberOfHits: 0
+},
+{
+ Id: 2050
+ Name: "AB_RENOVATIO"
+ Description: "Renovatio"
+ MaxLevel: 1
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 3000
+ SkillData1: 90000
+ CoolDown: 1000
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: 70
+ }
+},
+{
+ Id: 2051
+ Name: "AB_HIGHNESSHEAL"
+ Description: "Highness Heal"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ NoDamage: true
+ IgnoreDefense: true
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ CoolDown: 5000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 120
+ Lv2: 150
+ Lv3: 180
+ Lv4: 210
+ Lv5: 240
+ Lv6: 270
+ Lv7: 300
+ Lv8: 330
+ Lv9: 360
+ Lv10: 400
+ }
+ Items: {
+ Lifestone: 1
+ }
+ }
+},
+{
+ Id: 2052
+ Name: "AB_CLEARANCE"
+ Description: "Clearance"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 4000
+ CoolDown: 10000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 54
+ Lv2: 60
+ Lv3: 66
+ Lv4: 72
+ Lv5: 78
+ Lv6: 84
+ Lv7: 90
+ Lv8: 96
+ Lv9: 102
+ Lv10: 108
+ }
+ }
+},
+{
+ Id: 2053
+ Name: "AB_EXPIATIO"
+ Description: "Expiatio"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1000
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 180000
+ Lv3: 210000
+ Lv4: 240000
+ Lv5: 270000
+ Lv6: 300000
+ Lv7: 330000
+ Lv8: 360000
+ Lv9: 390000
+ Lv10: 420000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 35
+ Lv2: 40
+ Lv3: 45
+ Lv4: 50
+ Lv5: 55
+ Lv6: 60
+ Lv7: 65
+ Lv8: 70
+ Lv9: 75
+ Lv10: 80
+ }
+ }
+},
+{
+ Id: 2054
+ Name: "AB_DUPLELIGHT"
+ Description: "Duple Light"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ Element: "Ele_Holy"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 90000
+ Lv2: 120000
+ Lv3: 150000
+ Lv4: 180000
+ Lv5: 210000
+ Lv6: 240000
+ Lv7: 270000
+ Lv8: 300000
+ Lv9: 330000
+ Lv10: 360000
+ }
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: {
+ Lv1: 55
+ Lv2: 60
+ Lv3: 65
+ Lv4: 70
+ Lv5: 75
+ Lv6: 80
+ Lv7: 85
+ Lv8: 90
+ Lv9: 95
+ Lv10: 100
+ }
+ }
+},
+{
+ Id: 2055
+ Name: "AB_DUPLELIGHT_MELEE"
+ Description: "Duple Light Melee"
+ MaxLevel: 10
+ Range: -1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2056
+ Name: "AB_DUPLELIGHT_MAGIC"
+ Description: "Duple Light Magic"
+ MaxLevel: 10
+ Range: -1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2057
+ Name: "AB_SILENTIUM"
+ Description: "Silentium"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 4
+ Lv2: 5
+ Lv3: 6
+ Lv4: 7
+ Lv5: 8
+ Lv6: 9
+ Lv7: 10
+ Lv8: 11
+ Lv9: 12
+ Lv10: 13
+ }
+ InterruptCast: true
+ CastTime: 4000
+ SkillData1: {
+ Lv1: 20000
+ Lv2: 30000
+ Lv3: 40000
+ Lv4: 50000
+ Lv5: 60000
+ Lv6: 70000
+ Lv7: 80000
+ Lv8: 90000
+ Lv9: 100000
+ Lv10: 110000
+ }
+ CoolDown: 15000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 64
+ Lv2: 68
+ Lv3: 72
+ Lv4: 76
+ Lv5: 80
+ Lv6: 84
+ Lv7: 88
+ Lv8: 92
+ Lv9: 96
+ Lv10: 100
+ }
+ }
+},
+{
+ Id: 2201
+ Name: "WL_WHITEIMPRISON"
+ Description: "White Imprison"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 6000
+ Lv2: 8000
+ Lv3: 10000
+ Lv4: 12000
+ Lv5: 14000
+ Lv6: 16000
+ Lv7: 18000
+ Lv8: 20000
+ Lv9: 22000
+ Lv10: 24000
+ }
+ SkillData2: 15000
+ CoolDown: 4000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 50
+ Lv2: 55
+ Lv3: 60
+ Lv4: 65
+ Lv5: 70
+ Lv6: 75
+ Lv7: 80
+ Lv8: 85
+ Lv9: 90
+ Lv10: 95
+ }
+ }
+},
+{
+ Id: 2202
+ Name: "WL_SOULEXPANSION"
+ Description: "Soul Expansion"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Ghost"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 1
+ Lv4: 2
+ Lv5: 2
+ Lv6: 2
+ Lv7: 2
+ Lv8: 2
+ Lv9: 2
+ Lv10: 2
+ }
+ NumberOfHits: -2
+ InterruptCast: true
+ CastTime: 2000
+ AfterCastActDelay: 500
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 35
+ Lv3: 40
+ Lv4: 45
+ Lv5: 50
+ Lv6: 55
+ Lv7: 60
+ Lv8: 65
+ Lv9: 70
+ Lv10: 75
+ }
+ }
+},
+{
+ Id: 2203
+ Name: "WL_FROSTMISTY"
+ Description: "Frosty Misty"
+ MaxLevel: 5
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 13
+ NumberOfHits: {
+ Lv1: -3
+ Lv2: -4
+ Lv3: -5
+ Lv4: -6
+ Lv5: -7
+ Lv6: -8
+ Lv7: -9
+ Lv8: -10
+ Lv9: -11
+ Lv10: -12
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 2000
+ Lv2: 2500
+ Lv3: 3000
+ Lv4: 3500
+ Lv5: 4000
+ Lv6: 4500
+ Lv7: 5000
+ Lv8: 5500
+ Lv9: 6000
+ Lv10: 6500
+ }
+ AfterCastActDelay: 1000
+ SkillData1: 40000
+ CoolDown: 4000
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 48
+ Lv3: 56
+ Lv4: 64
+ Lv5: 72
+ Lv6: 80
+ Lv7: 88
+ Lv8: 96
+ Lv9: 104
+ Lv10: 112
+ }
+ }
+},
+{
+ Id: 2204
+ Name: "WL_JACKFROST"
+ Description: "Jack Frost"
+ MaxLevel: 5
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 13
+ NumberOfHits: -5
+ InterruptCast: true
+ CastTime: {
+ Lv1: 2000
+ Lv2: 2500
+ Lv3: 3000
+ Lv4: 3500
+ Lv5: 4000
+ Lv6: 4500
+ Lv7: 5000
+ Lv8: 5500
+ Lv9: 6000
+ Lv10: 6500
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 50
+ Lv2: 60
+ Lv3: 70
+ Lv4: 80
+ Lv5: 90
+ Lv6: 100
+ Lv7: 110
+ Lv8: 120
+ Lv9: 130
+ Lv10: 140
+ }
+ }
+},
+{
+ Id: 2205
+ Name: "WL_MARSHOFABYSS"
+ Description: "Marsh of Abyss"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: 30000
+ CoolDown: {
+ Lv1: 2500
+ Lv2: 3000
+ Lv3: 3500
+ Lv4: 4000
+ Lv5: 4500
+ Lv6: 5000
+ Lv7: 5500
+ Lv8: 6000
+ Lv9: 6500
+ Lv10: 7000
+ }
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 42
+ Lv3: 44
+ Lv4: 46
+ Lv5: 48
+ Lv6: 50
+ Lv7: 52
+ Lv8: 54
+ Lv9: 56
+ Lv10: 58
+ }
+ }
+},
+{
+ Id: 2206
+ Name: "WL_RECOGNIZEDSPELL"
+ Description: "Recognized Spell"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 90000
+ Lv3: 120000
+ Lv4: 150000
+ Lv5: 180000
+ Lv6: 210000
+ Lv7: 240000
+ Lv8: 270000
+ Lv9: 300000
+ Lv10: 330000
+ }
+ CoolDown: {
+ Lv1: 50000
+ Lv2: 80000
+ Lv3: 110000
+ Lv4: 140000
+ Lv5: 170000
+ Lv6: 200000
+ Lv7: 230000
+ Lv8: 260000
+ Lv9: 290000
+ Lv10: 320000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 100
+ Lv2: 120
+ Lv3: 140
+ Lv4: 160
+ Lv5: 180
+ Lv6: 200
+ Lv7: 220
+ Lv8: 240
+ Lv9: 260
+ Lv10: 280
+ }
+ }
+},
+{
+ Id: 2207
+ Name: "WL_SIENNAEXECRATE"
+ Description: "Sienna Execrate"
+ MaxLevel: 5
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Earth"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 2
+ Lv4: 3
+ Lv5: 3
+ Lv6: 4
+ Lv7: 4
+ Lv8: 5
+ Lv9: 5
+ Lv10: 6
+ }
+ NumberOfHits: 0
+ InterruptCast: true
+ CastTime: 2000
+ AfterCastActDelay: 2000
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 12000
+ Lv3: 14000
+ Lv4: 16000
+ Lv5: 18000
+ Lv6: 20000
+ Lv7: 22000
+ Lv8: 24000
+ Lv9: 26000
+ Lv10: 28000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 32
+ Lv2: 34
+ Lv3: 36
+ Lv4: 38
+ Lv5: 40
+ Lv6: 42
+ Lv7: 44
+ Lv8: 46
+ Lv9: 48
+ Lv10: 50
+ }
+// Items: {
+// Red_Gemstone: 2
+// }
+ }
+},
+{
+ Id: 2208
+ Name: "WL_RADIUS"
+ Description: "Radius"
+ MaxLevel: 3
+ NumberOfHits: 0
+},
+{
+ Id: 2209
+ Name: "WL_STASIS"
+ Description: "Stasis"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 9
+ Lv2: 10
+ Lv3: 11
+ Lv4: 12
+ Lv5: 13
+ Lv6: 14
+ Lv7: 15
+ Lv8: 16
+ Lv9: 17
+ Lv10: 18
+ }
+ InterruptCast: true
+ CastTime: 3000
+ AfterCastActDelay: 2000
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ SkillData2: 1000
+ CoolDown: {
+ Lv1: 180000
+ Lv2: 190000
+ Lv3: 200000
+ Lv4: 210000
+ Lv5: 220000
+ Lv6: 230000
+ Lv7: 240000
+ Lv8: 250000
+ Lv9: 260000
+ Lv10: 270000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 50
+ Lv2: 60
+ Lv3: 70
+ Lv4: 80
+ Lv5: 90
+ Lv6: 100
+ Lv7: 110
+ Lv8: 120
+ Lv9: 130
+ Lv10: 140
+ }
+ }
+},
+{
+ Id: 2210
+ Name: "WL_DRAINLIFE"
+ Description: "Drain Life"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ InterruptCast: true
+ CastTime: 4000
+ CoolDown: 2000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 24
+ Lv3: 28
+ Lv4: 32
+ Lv5: 36
+ Lv6: 40
+ Lv7: 44
+ Lv8: 48
+ Lv9: 52
+ Lv10: 56
+ }
+ }
+},
+{
+ Id: 2211
+ Name: "WL_CRIMSONROCK"
+ Description: "Crimson Rock"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 3
+ NumberOfHits: -7
+ InterruptCast: true
+ KnockBackTiles: 3
+ CastTime: 5000
+ AfterCastActDelay: 2000
+ SkillData1: 5000
+ CoolDown: 5000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 70
+ Lv3: 80
+ Lv4: 90
+ Lv5: 100
+ Lv6: 110
+ Lv7: 120
+ Lv8: 130
+ Lv9: 140
+ Lv10: 150
+ }
+ }
+},
+{
+ Id: 2212
+ Name: "WL_HELLINFERNO"
+ Description: "Hell Inferno"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ InterruptCast: true
+ CastTime: 3000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 20000
+ Lv2: 30000
+ Lv3: 40000
+ Lv4: 50000
+ Lv5: 60000
+ Lv6: 70000
+ Lv7: 80000
+ Lv8: 90000
+ Lv9: 100000
+ Lv10: 110000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 35
+ Lv2: 40
+ Lv3: 45
+ Lv4: 50
+ Lv5: 55
+ Lv6: 60
+ Lv7: 65
+ Lv8: 70
+ Lv9: 75
+ Lv10: 80
+ }
+ }
+},
+{
+ Id: 2213
+ Name: "WL_COMET"
+ Description: "Comet"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ NumberOfHits: -20
+ InterruptCast: true
+ KnockBackTiles: 2
+ CastTime: {
+ Lv1: 10000
+ Lv2: 11000
+ Lv3: 12000
+ Lv4: 13000
+ Lv5: 14000
+ Lv6: 15000
+ Lv7: 16000
+ Lv8: 17000
+ Lv9: 18000
+ Lv10: 19000
+ }
+ SkillData1: 100
+ SkillData2: 42000
+ CoolDown: 60000
+ FixedCastTime: {
+ Lv1: 1000
+ Lv2: 1500
+ Lv3: 2000
+ Lv4: 2500
+ Lv5: 3000
+ Lv6: 3500
+ Lv7: 4000
+ Lv8: 4500
+ Lv9: 5000
+ Lv10: 5500
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 480
+ Lv2: 560
+ Lv3: 640
+ Lv4: 720
+ Lv5: 800
+ Lv6: 880
+ Lv7: 960
+ Lv8: 1040
+ Lv9: 1120
+ Lv10: 1200
+ }
+// Items: {
+// Red_Gemstone: 2
+// }
+ }
+ Unit: {
+ Id: 0x86
+ Range: 8
+ Interval: 100
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 2214
+ Name: "WL_CHAINLIGHTNING"
+ Description: "Chain Lightning"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ SplashRange: 3
+ InterruptCast: true
+ CastTime: {
+ Lv1: 3500
+ Lv2: 4000
+ Lv3: 4500
+ Lv4: 5000
+ Lv5: 5500
+ Lv6: 6000
+ Lv7: 6500
+ Lv8: 7000
+ Lv9: 7500
+ Lv10: 8000
+ }
+ SkillData1: 100
+ CoolDown: 3000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 90
+ Lv3: 100
+ Lv4: 110
+ Lv5: 120
+ Lv6: 130
+ Lv7: 140
+ Lv8: 150
+ Lv9: 160
+ Lv10: 170
+ }
+ }
+},
+{
+ Id: 2215
+ Name: "WL_CHAINLIGHTNING_ATK"
+ Description: "Chain Lightning Attack"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2216
+ Name: "WL_EARTHSTRAIN"
+ Description: "Earth Strain"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Earth"
+ NumberOfHits: {
+ Lv1: -6
+ Lv2: -7
+ Lv3: -8
+ Lv4: -9
+ Lv5: -10
+ Lv6: -11
+ Lv7: -12
+ Lv8: -13
+ Lv9: -14
+ Lv10: -15
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 2000
+ Lv2: 3000
+ Lv3: 4000
+ Lv4: 5000
+ Lv5: 6000
+ Lv6: 7000
+ Lv7: 8000
+ Lv8: 9000
+ Lv9: 10000
+ Lv10: 11000
+ }
+ AfterCastActDelay: 1000
+ SkillData1: 100
+ SkillData2: {
+ Lv1: 75000
+ Lv2: 90000
+ Lv3: 105000
+ Lv4: 120000
+ Lv5: 135000
+ Lv6: 150000
+ Lv7: 165000
+ Lv8: 180000
+ Lv9: 195000
+ Lv10: 210000
+ }
+ CoolDown: 10000
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: {
+ Lv1: 70
+ Lv2: 78
+ Lv3: 86
+ Lv4: 94
+ Lv5: 102
+ Lv6: 110
+ Lv7: 118
+ Lv8: 126
+ Lv9: 134
+ Lv10: 142
+ }
+ }
+ Unit: {
+ Id: 0xcb
+ Layout: -1
+ Interval: 100
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 2217
+ Name: "WL_TETRAVORTEX"
+ Description: "Tetra Vortex"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ InterruptCast: true
+ CastTime: {
+ Lv1: 5000
+ Lv2: 6000
+ Lv3: 7000
+ Lv4: 8000
+ Lv5: 9000
+ Lv6: 10000
+ Lv7: 11000
+ Lv8: 12000
+ Lv9: 13000
+ Lv10: 14000
+ }
+ AfterCastActDelay: 2000
+ SkillData1: {
+ Lv1: 15000
+ Lv2: 120000
+ Lv3: 40000
+ Lv4: 5000
+ Lv5: 5000
+ Lv6: 5000
+ Lv7: 5000
+ Lv8: 5000
+ Lv9: 5000
+ Lv10: 5000
+ }
+ CoolDown: 15000
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: {
+ Lv1: 120
+ Lv2: 150
+ Lv3: 180
+ Lv4: 210
+ Lv5: 240
+ Lv6: 270
+ Lv7: 300
+ Lv8: 330
+ Lv9: 360
+ Lv10: 390
+ }
+ }
+},
+{
+ Id: 2218
+ Name: "WL_TETRAVORTEX_FIRE"
+ Description: "Tetra Vortex Fire"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2219
+ Name: "WL_TETRAVORTEX_WATER"
+ Description: "Tetra Vortex Water"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2220
+ Name: "WL_TETRAVORTEX_WIND"
+ Description: "Tetra Vortex Wind"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2221
+ Name: "WL_TETRAVORTEX_GROUND"
+ Description: "Tetra Vortex Earth"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Earth"
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2222
+ Name: "WL_SUMMONFB"
+ Description: "Summon Fire Ball"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2000
+ SkillData1: {
+ Lv1: 120000
+ Lv2: 160000
+ Lv3: 200000
+ Lv4: 240000
+ Lv5: 280000
+ Lv6: 320000
+ Lv7: 360000
+ Lv8: 400000
+ Lv9: 440000
+ Lv10: 480000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 12
+ Lv3: 14
+ Lv4: 16
+ Lv5: 18
+ Lv6: 20
+ Lv7: 22
+ Lv8: 24
+ Lv9: 26
+ Lv10: 28
+ }
+ }
+},
+{
+ Id: 2223
+ Name: "WL_SUMMONBL"
+ Description: "Summon Lightning Ball"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2000
+ SkillData1: {
+ Lv1: 120000
+ Lv2: 160000
+ Lv3: 200000
+ Lv4: 240000
+ Lv5: 280000
+ Lv6: 320000
+ Lv7: 360000
+ Lv8: 400000
+ Lv9: 440000
+ Lv10: 480000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 12
+ Lv3: 14
+ Lv4: 16
+ Lv5: 18
+ Lv6: 20
+ Lv7: 22
+ Lv8: 24
+ Lv9: 26
+ Lv10: 28
+ }
+ }
+},
+{
+ Id: 2224
+ Name: "WL_SUMMONWB"
+ Description: "Summon Water Ball"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2000
+ SkillData1: {
+ Lv1: 120000
+ Lv2: 160000
+ Lv3: 200000
+ Lv4: 240000
+ Lv5: 280000
+ Lv6: 320000
+ Lv7: 360000
+ Lv8: 400000
+ Lv9: 440000
+ Lv10: 480000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 12
+ Lv3: 14
+ Lv4: 16
+ Lv5: 18
+ Lv6: 20
+ Lv7: 22
+ Lv8: 24
+ Lv9: 26
+ Lv10: 28
+ }
+ }
+},
+{
+ Id: 2225
+ Name: "WL_SUMMON_ATK_FIRE"
+ Description: "Summon Attack Fire"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ SkillInstances: 1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2226
+ Name: "WL_SUMMON_ATK_WIND"
+ Description: "Summon Attack Wind"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ SkillInstances: 1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2227
+ Name: "WL_SUMMON_ATK_WATER"
+ Description: "Summon Attack Water"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ SkillInstances: 1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2228
+ Name: "WL_SUMMON_ATK_GROUND"
+ Description: "Summon Attack Earth"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Earth"
+ SkillInstances: 1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2229
+ Name: "WL_SUMMONSTONE"
+ Description: "Summon Stone"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Earth"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2000
+ SkillData1: {
+ Lv1: 120000
+ Lv2: 160000
+ Lv3: 200000
+ Lv4: 240000
+ Lv5: 280000
+ Lv6: 320000
+ Lv7: 360000
+ Lv8: 400000
+ Lv9: 440000
+ Lv10: 480000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 12
+ Lv3: 14
+ Lv4: 16
+ Lv5: 18
+ Lv6: 20
+ Lv7: 22
+ Lv8: 24
+ Lv9: 26
+ Lv10: 28
+ }
+ }
+},
+{
+ Id: 2230
+ Name: "WL_RELEASE"
+ Description: "Release"
+ MaxLevel: 2
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ InterruptCast: true
+ Requirements: {
+ SPCost: {
+ Lv1: 3
+ Lv2: 20
+ Lv3: 37
+ Lv4: 54
+ Lv5: 71
+ Lv6: 88
+ Lv7: 105
+ Lv8: 122
+ Lv9: 139
+ Lv10: 156
+ }
+ }
+},
+{
+ Id: 2231
+ Name: "WL_READING_SB"
+ Description: "Reading Spellbook"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 5000
+ AfterCastActDelay: 500
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: 40
+ }
+},
+{
+ Id: 2232
+ Name: "WL_FREEZE_SP"
+ Description: "Freeze Spell"
+ MaxLevel: 5
+ NumberOfHits: 0
+},
+{
+ Id: 2233
+ Name: "RA_ARROWSTORM"
+ Description: "Arrow Storm"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 3
+ Lv2: 3
+ Lv3: 3
+ Lv4: 3
+ Lv5: 3
+ Lv6: 4
+ Lv7: 4
+ Lv8: 4
+ Lv9: 4
+ Lv10: 5
+ }
+ NumberOfHits: -3
+ InterruptCast: true
+ CastTime: {
+ Lv1: 2000
+ Lv2: 2200
+ Lv3: 2400
+ Lv4: 2600
+ Lv5: 2800
+ Lv6: 3000
+ Lv7: 3200
+ Lv8: 3400
+ Lv9: 3600
+ Lv10: 3800
+ }
+ CoolDown: {
+ Lv1: 5000
+ Lv2: 4800
+ Lv3: 4600
+ Lv4: 4400
+ Lv5: 4200
+ Lv6: 4000
+ Lv7: 3800
+ Lv8: 3600
+ Lv9: 3400
+ Lv10: 3200
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 32
+ Lv3: 34
+ Lv4: 36
+ Lv5: 38
+ Lv6: 40
+ Lv7: 42
+ Lv8: 44
+ Lv9: 46
+ Lv10: 48
+ }
+ WeaponTypes: {
+ Bows: true
+ }
+ AmmoTypes: {
+ A_ARROW: true
+ }
+ AmmoAmount: 10
+ }
+},
+{
+ Id: 2234
+ Name: "RA_FEARBREEZE"
+ Description: "Fear Breeze"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 90000
+ Lv3: 120000
+ Lv4: 150000
+ Lv5: 180000
+ Lv6: 210000
+ Lv7: 240000
+ Lv8: 270000
+ Lv9: 300000
+ Lv10: 330000
+ }
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: {
+ Lv1: 55
+ Lv2: 60
+ Lv3: 65
+ Lv4: 70
+ Lv5: 75
+ Lv6: 80
+ Lv7: 85
+ Lv8: 90
+ Lv9: 95
+ Lv10: 100
+ }
+ WeaponTypes: {
+ Bows: true
+ }
+ }
+},
+{
+ Id: 2235
+ Name: "RA_RANGERMAIN"
+ Description: "Ranger Main"
+ MaxLevel: 10
+ NumberOfHits: 0
+},
+{
+ Id: 2236
+ Name: "RA_AIMEDBOLT"
+ Description: "Aimed Bolt"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ InterruptCast: true
+ CastTime: 4000
+ AfterCastActDelay: 1000
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 32
+ Lv3: 34
+ Lv4: 36
+ Lv5: 38
+ Lv6: 40
+ Lv7: 42
+ Lv8: 44
+ Lv9: 46
+ Lv10: 48
+ }
+ WeaponTypes: {
+ Bows: true
+ }
+ AmmoTypes: {
+ A_ARROW: true
+ }
+ AmmoAmount: 1
+ }
+},
+{
+ Id: 2237
+ Name: "RA_DETONATOR"
+ Description: "Detonator"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 3
+ SkillData1: 1000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 15
+ }
+},
+{
+ Id: 2238
+ Name: "RA_ELECTRICSHOCKER"
+ Description: "Electric Shocker"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 2
+ SkillInstances: 3
+ SkillData1: 15000
+ SkillData2: {
+ Lv1: 20000
+ Lv2: 22000
+ Lv3: 24000
+ Lv4: 26000
+ Lv5: 28000
+ Lv6: 30000
+ Lv7: 32000
+ Lv8: 34000
+ Lv9: 36000
+ Lv10: 38000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 35
+// Items: {
+// Special_Alloy_Trap: 1
+// }
+ }
+ Unit: {
+ Id: 0xd8
+ Range: 2
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 2239
+ Name: "RA_CLUSTERBOMB"
+ Description: "Cluster Bomb"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ SplashArea: true
+ IgnoreFlee: true
+ }
+ SplashRange: 3
+ SkillInstances: 3
+ SkillData1: 15000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 20
+// Items: {
+// Special_Alloy_Trap: 1
+// }
+ }
+ Unit: {
+ Id: 0xd9
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 2240
+ Name: "RA_WUGMASTERY"
+ Description: "Warg Mastery"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AfterCastActDelay: 1000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 5
+// Items: {
+// Wolf's_Flute: 0
+// }
+ }
+},
+{
+ Id: 2241
+ Name: "RA_WUGRIDER"
+ Description: "Warg Rider"
+ MaxLevel: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AfterCastActDelay: 500
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 2
+ }
+},
+{
+ Id: 2242
+ Name: "RA_WUGDASH"
+ Description: "Warg Dash"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 1
+ NumberOfHits: 0
+ Requirements: {
+ SPCost: 4
+ State: "Moveable"
+ }
+},
+{
+ Id: 2243
+ Name: "RA_WUGSTRIKE"
+ Description: "Warg Strike"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 22
+ Lv3: 24
+ Lv4: 26
+ Lv5: 28
+ Lv6: 30
+ Lv7: 32
+ Lv8: 34
+ Lv9: 36
+ Lv10: 38
+ }
+ }
+},
+{
+ Id: 2244
+ Name: "RA_WUGBITE"
+ Description: "Warg Bite"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ AfterCastActDelay: 2000
+ SkillData1: {
+ Lv1: 1000
+ Lv2: 2000
+ Lv3: 3000
+ Lv4: 4000
+ Lv5: 5000
+ Lv6: 6000
+ Lv7: 7000
+ Lv8: 8000
+ Lv9: 9000
+ Lv10: 10000
+ }
+ CoolDown: {
+ Lv1: 4000
+ Lv2: 6000
+ Lv3: 8000
+ Lv4: 10000
+ Lv5: 12000
+ Lv6: 14000
+ Lv7: 16000
+ Lv8: 18000
+ Lv9: 20000
+ Lv10: 22000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 42
+ Lv3: 44
+ Lv4: 46
+ Lv5: 48
+ Lv6: 50
+ Lv7: 52
+ Lv8: 54
+ Lv9: 56
+ Lv10: 58
+ }
+ State: "Warg"
+ }
+},
+{
+ Id: 2245
+ Name: "RA_TOOTHOFWUG"
+ Description: "Tooth of Warg"
+ MaxLevel: 10
+ NumberOfHits: 0
+},
+{
+ Id: 2246
+ Name: "RA_SENSITIVEKEEN"
+ Description: "Sensitive Keen"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 3
+ Lv2: 4
+ Lv3: 5
+ Lv4: 6
+ Lv5: 7
+ Lv6: 8
+ Lv7: 9
+ Lv8: 10
+ Lv9: 11
+ Lv10: 12
+ }
+ AfterCastActDelay: 3000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 12
+ State: "Warg"
+ }
+},
+{
+ Id: 2247
+ Name: "RA_CAMOUFLAGE"
+ Description: "Camouflage"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 10000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 40
+ }
+},
+{
+ Id: 2248
+ Name: "RA_RESEARCHTRAP"
+ Description: "Research Trap"
+ MaxLevel: 5
+ NumberOfHits: 0
+},
+{
+ Id: 2249
+ Name: "RA_MAGENTATRAP"
+ Description: "Magenta Trap"
+ MaxLevel: 1
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ Element: "Ele_Fire"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ IgnoreFlee: true
+ }
+ SplashRange: 2
+ SkillInstances: 1
+ AfterCastActDelay: 2000
+ SkillData1: 15000
+ SkillData2: 10000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 10
+// Items: {
+// Special_Alloy_Trap: 1
+// Boody_Red: 1
+// }
+ }
+ Unit: {
+ Id: 0xd2
+ Range: 2
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOPC: true
+ }
+ }
+},
+{
+ Id: 2250
+ Name: "RA_COBALTTRAP"
+ Description: "Cobalt Trap"
+ MaxLevel: 1
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ Element: "Ele_Water"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ IgnoreFlee: true
+ }
+ SplashRange: 2
+ SkillInstances: 1
+ AfterCastActDelay: 2000
+ SkillData1: 15000
+ SkillData2: 10000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 10
+// Items: {
+// Special_Alloy_Trap: 1
+// Crystal_Blue: 1
+// }
+ }
+ Unit: {
+ Id: 0xd3
+ Range: 2
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOPC: true
+ }
+ }
+},
+{
+ Id: 2251
+ Name: "RA_MAIZETRAP"
+ Description: "Maize Trap"
+ MaxLevel: 1
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ Element: "Ele_Earth"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ IgnoreFlee: true
+ }
+ SplashRange: 2
+ SkillInstances: 1
+ AfterCastActDelay: 2000
+ SkillData1: 15000
+ SkillData2: 10000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 10
+// Items: {
+// Special_Alloy_Trap: 1
+// Yellow_Live: 1
+// }
+ }
+ Unit: {
+ Id: 0xd4
+ Range: 2
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOPC: true
+ }
+ }
+},
+{
+ Id: 2252
+ Name: "RA_VERDURETRAP"
+ Description: "Verdure Trap"
+ MaxLevel: 1
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ Element: "Ele_Wind"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ IgnoreFlee: true
+ }
+ SplashRange: 2
+ SkillInstances: 1
+ AfterCastActDelay: 2000
+ SkillData1: 15000
+ SkillData2: 10000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 10
+// Items: {
+// Special_Alloy_Trap: 1
+// Wind_Of_Verdure: 1
+// }
+ }
+ Unit: {
+ Id: 0xd5
+ Range: 2
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOPC: true
+ }
+ }
+},
+{
+ Id: 2253
+ Name: "RA_FIRINGTRAP"
+ Description: "Firing Trap"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ Element: "Ele_Fire"
+ DamageType: {
+ SplashArea: true
+ IgnoreFlee: true
+ }
+ SplashRange: 2
+ SkillInstances: 2
+ SkillData1: 15000
+ SkillData2: 40000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+// Items: {
+// Special_Alloy_Trap: 1
+// }
+ }
+ Unit: {
+ Id: 0xd6
+ Range: 1
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ }
+ }
+},
+{
+ Id: 2254
+ Name: "RA_ICEBOUNDTRAP"
+ Description: "Icebound Trap"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ Element: "Ele_Water"
+ DamageType: {
+ SplashArea: true
+ IgnoreFlee: true
+ }
+ SplashRange: 2
+ SkillInstances: 2
+ SkillData1: 15000
+ SkillData2: 20000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+// Items: {
+// Special_Alloy_Trap: 1
+// }
+ }
+ Unit: {
+ Id: 0xd7
+ Range: 1
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ }
+ }
+},
+{
+ Id: 2255
+ Name: "NC_MADOLICENCE"
+ Description: "Mado License"
+ MaxLevel: 5
+ NumberOfHits: 0
+},
+{
+ Id: 2256
+ Name: "NC_BOOSTKNUCKLE"
+ Description: "Boost Knuckle"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ CastTime: {
+ Lv1: 200
+ Lv2: 400
+ Lv3: 600
+ Lv4: 800
+ Lv5: 1000
+ Lv6: 1200
+ Lv7: 1400
+ Lv8: 1600
+ Lv9: 1800
+ Lv10: 2000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 3
+ Lv2: 6
+ Lv3: 9
+ Lv4: 12
+ Lv5: 15
+ Lv6: 18
+ Lv7: 21
+ Lv8: 24
+ Lv9: 27
+ Lv10: 30
+ }
+ State: "MadoGear"
+ }
+},
+{
+ Id: 2257
+ Name: "NC_PILEBUNKER"
+ Description: "Pile Bunker"
+ MaxLevel: 3
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ AfterCastActDelay: 2000
+ CoolDown: 5000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 50
+ State: "MadoGear"
+// Items: {
+// Pilebuncker: 0
+// Pilebunker_S: 0
+// Pilebunker_P: 0
+// Pilebunker_T: 0
+// }
+ }
+},
+{
+ Id: 2258
+ Name: "NC_VULCANARM"
+ Description: "Vulcan Arm"
+ MaxLevel: 3
+ Range: 13
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 1
+ AfterCastActDelay: {
+ Lv1: 300
+ Lv2: 200
+ Lv3: 100
+ Lv4: 1
+ Lv5: 1
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 2
+ Lv2: 4
+ Lv3: 6
+ Lv4: 8
+ Lv5: 10
+ Lv6: 12
+ Lv7: 14
+ Lv8: 16
+ Lv9: 18
+ Lv10: 20
+ }
+ State: "MadoGear"
+// Items: {
+// Vulcan_Bullet: 1
+// }
+ }
+},
+{
+ Id: 2259
+ Name: "NC_FLAMELAUNCHER"
+ Description: "Flame Launcher"
+ MaxLevel: 3
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Fire"
+ SplashRange: 2
+ SkillInstances: 5
+ CastTime: {
+ Lv1: 500
+ Lv2: 1000
+ Lv3: 1500
+ Lv4: 2000
+ Lv5: 2500
+ Lv6: 3000
+ Lv7: 3500
+ Lv8: 4000
+ Lv9: 4500
+ Lv10: 5000
+ }
+ AfterCastActDelay: {
+ Lv1: 1500
+ Lv2: 1000
+ Lv3: 500
+ Lv4: 1
+ Lv5: 1
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ SkillData1: {
+ Lv1: 7000
+ Lv2: 14000
+ Lv3: 21000
+ Lv4: 28000
+ Lv5: 35000
+ Lv6: 42000
+ Lv7: 49000
+ Lv8: 56000
+ Lv9: 63000
+ Lv10: 70000
+ }
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: 20
+ State: "MadoGear"
+// Items: {
+// Flame_Thrower: 0
+// Magic_Gear_Fuel: 1
+// }
+ }
+},
+{
+ Id: 2260
+ Name: "NC_COLDSLOWER"
+ Description: "Cold Slower"
+ MaxLevel: 3
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Water"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 3
+ Lv3: 4
+ Lv4: 5
+ Lv5: 6
+ Lv6: 7
+ Lv7: 8
+ Lv8: 9
+ Lv9: 10
+ Lv10: 11
+ }
+ CastTime: 1000
+ AfterCastActDelay: {
+ Lv1: 1000
+ Lv2: 2000
+ Lv3: 3000
+ Lv4: 4000
+ Lv5: 5000
+ Lv6: 6000
+ Lv7: 7000
+ Lv8: 8000
+ Lv9: 9000
+ Lv10: 10000
+ }
+ SkillData1: {
+ Lv1: 7000
+ Lv2: 14000
+ Lv3: 21000
+ Lv4: 28000
+ Lv5: 35000
+ Lv6: 42000
+ Lv7: 49000
+ Lv8: 56000
+ Lv9: 63000
+ Lv10: 70000
+ }
+ SkillData2: 40000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 20
+ State: "MadoGear"
+// Items: {
+// Magic_Gear_Fuel: 1
+// Liquid_Condensed_Bullet: 1
+// }
+ }
+},
+{
+ Id: 2261
+ Name: "NC_ARMSCANNON"
+ Description: "Arm Cannon"
+ MaxLevel: 3
+ Range: {
+ Lv1: 9
+ Lv2: 11
+ Lv3: 13
+ Lv4: 15
+ Lv5: 17
+ Lv6: 19
+ Lv7: 21
+ Lv8: 23
+ Lv9: 25
+ Lv10: 27
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ IgnoreFlee: true
+ }
+ SplashRange: {
+ Lv1: 3
+ Lv2: 2
+ Lv3: 1
+ Lv4: 1
+ Lv5: 1
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ CastTime: {
+ Lv1: 1400
+ Lv2: 1600
+ Lv3: 1800
+ Lv4: 2000
+ Lv5: 2200
+ Lv6: 2400
+ Lv7: 2600
+ Lv8: 2800
+ Lv9: 3000
+ Lv10: 3200
+ }
+ AfterCastActDelay: {
+ Lv1: 500
+ Lv2: 1000
+ Lv3: 2000
+ Lv4: 2000
+ Lv5: 2000
+ Lv6: 2000
+ Lv7: 2000
+ Lv8: 2000
+ Lv9: 2000
+ Lv10: 2000
+ }
+ FixedCastTime: {
+ Lv1: 600
+ Lv2: 400
+ Lv3: 200
+ Lv4: 1
+ Lv5: 1
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 45
+ Lv3: 50
+ Lv4: 55
+ Lv5: 60
+ Lv6: 65
+ Lv7: 70
+ Lv8: 75
+ Lv9: 80
+ Lv10: 85
+ }
+ AmmoTypes: {
+ A_CANNONBALL: true
+ }
+ AmmoAmount: 1
+ State: "MadoGear"
+// Items: {
+// Magic_Gear_Fuel: 1
+// }
+ }
+},
+{
+ Id: 2262
+ Name: "NC_ACCELERATION"
+ Description: "Acceleration"
+ MaxLevel: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 90000
+ Lv3: 120000
+ Lv4: 150000
+ Lv5: 180000
+ Lv6: 210000
+ Lv7: 240000
+ Lv8: 270000
+ Lv9: 300000
+ Lv10: 330000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 40
+ Lv3: 60
+ Lv4: 80
+ Lv5: 100
+ Lv6: 120
+ Lv7: 140
+ Lv8: 160
+ Lv9: 180
+ Lv10: 200
+ }
+ State: "MadoGear"
+// Items: {
+// Accelerator: 0
+// Magic_Gear_Fuel: 1
+// }
+ }
+},
+{
+ Id: 2263
+ Name: "NC_HOVERING"
+ Description: "Hovering"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 90000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 25
+ State: "MadoGear"
+// Items: {
+// Hovering_Booster: 0
+// Magic_Gear_Fuel: 1
+// }
+ }
+},
+{
+ Id: 2264
+ Name: "NC_F_SIDESLIDE"
+ Description: "Front-Side Slide"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ KnockBackTiles: 7
+ AfterCastActDelay: 500
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 5
+ State: "MadoGear"
+// Items: {
+// Magic_Gear_Fuel: 1
+// }
+ }
+},
+{
+ Id: 2265
+ Name: "NC_B_SIDESLIDE"
+ Description: "Back-Side Slide"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ KnockBackTiles: 7
+ AfterCastActDelay: 500
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 5
+ State: "MadoGear"
+// Items: {
+// Magic_Gear_Fuel: 1
+// }
+ }
+},
+{
+ Id: 2266
+ Name: "NC_MAINFRAME"
+ Description: "Mainframe Restructure"
+ MaxLevel: 4
+ NumberOfHits: 0
+},
+{
+ Id: 2267
+ Name: "NC_SELFDESTRUCTION"
+ Description: "Self Destruction"
+ MaxLevel: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Misc"
+ Element: "Ele_System"
+ DamageType: {
+ SplashArea: true
+ IgnoreFlee: true
+ IgnoreDefCards: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 3
+ Lv3: 4
+ Lv4: 5
+ Lv5: 6
+ Lv6: 7
+ Lv7: 8
+ Lv8: 9
+ Lv9: 10
+ Lv10: 11
+ }
+ KnockBackTiles: 5
+ CastTime: {
+ Lv1: 2000
+ Lv2: 1500
+ Lv3: 1000
+ Lv4: 500
+ Lv5: 1
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ CoolDown: 300000
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: 1
+ State: "MadoGear"
+// Items: {
+// Suicidal_Device: 0
+// Magic_Gear_Fuel: 3
+// }
+ }
+},
+{
+ Id: 2268
+ Name: "NC_SHAPESHIFT"
+ Description: "Shape Shift"
+ MaxLevel: 4
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 2000
+ SkillData1: 300000
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: 100
+ State: "MadoGear"
+// Items: {
+// Scarlet_Pts: 1
+// Lime_Green_Pts: 1
+// Yellow_Wish_Pts: 1
+// Indigo_Pts: 1
+// Magic_Gear_Fuel: 2
+// Shape_Shifter: 0
+// }
+ }
+},
+{
+ Id: 2269
+ Name: "NC_EMERGENCYCOOL"
+ Description: "Emergency Cool"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 500
+ CoolDown: 5000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 20
+ State: "MadoGear"
+// Items: {
+// Cooling_Device: 0
+// Magic_Gear_Fuel: 1
+// }
+ }
+},
+{
+ Id: 2270
+ Name: "NC_INFRAREDSCAN"
+ Description: "Infrared Scan"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 7
+ InterruptCast: true
+ AfterCastActDelay: 500
+ SkillData1: 3000
+ CoolDown: 3000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 45
+ State: "MadoGear"
+ }
+},
+{
+ Id: 2271
+ Name: "NC_ANALYZE"
+ Description: "Analyze"
+ MaxLevel: 3
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: 20000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: 30
+ State: "MadoGear"
+// Items: {
+// Magic_Gear_Fuel: 1
+// }
+ }
+},
+{
+ Id: 2272
+ Name: "NC_MAGNETICFIELD"
+ Description: "Magnetic Field"
+ MaxLevel: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 2
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 4000
+ Lv2: 6000
+ Lv3: 8000
+ Lv4: 10000
+ Lv5: 12000
+ Lv6: 14000
+ Lv7: 16000
+ Lv8: 18000
+ Lv9: 20000
+ Lv10: 22000
+ }
+ CoolDown: {
+ Lv1: 20000
+ Lv2: 15000
+ Lv3: 10000
+ Lv4: 5000
+ Lv5: 1
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 70
+ Lv3: 80
+ Lv4: 90
+ Lv5: 100
+ Lv6: 110
+ Lv7: 120
+ Lv8: 130
+ Lv9: 140
+ Lv10: 150
+ }
+ State: "MadoGear"
+// Items: {
+// Mag_Field_Generator: 0
+// Magic_Gear_Fuel: 2
+// }
+ }
+},
+{
+ Id: 2273
+ Name: "NC_NEUTRALBARRIER"
+ Description: "Neutral Barrier"
+ MaxLevel: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 45000
+ Lv3: 60000
+ Lv4: 75000
+ Lv5: 90000
+ Lv6: 105000
+ Lv7: 120000
+ Lv8: 135000
+ Lv9: 150000
+ Lv10: 165000
+ }
+ CoolDown: 90000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 90
+ Lv3: 100
+ Lv4: 110
+ Lv5: 120
+ Lv6: 130
+ Lv7: 140
+ Lv8: 150
+ Lv9: 160
+ Lv10: 170
+ }
+ State: "MadoGear"
+// Items: {
+// Barrier_Builder: 0
+// Magic_Gear_Fuel: 1
+// }
+ }
+ Unit: {
+ Id: 0xe2
+ Layout: 2
+ Interval: 500
+ Target: "Friend"
+ }
+},
+{
+ Id: 2274
+ Name: "NC_STEALTHFIELD"
+ Description: "Stealth Field"
+ MaxLevel: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 15000
+ Lv2: 20000
+ Lv3: 25000
+ Lv4: 30000
+ Lv5: 35000
+ Lv6: 40000
+ Lv7: 45000
+ Lv8: 50000
+ Lv9: 55000
+ Lv10: 60000
+ }
+ CoolDown: {
+ Lv1: 20000
+ Lv2: 15000
+ Lv3: 10000
+ Lv4: 5000
+ Lv5: 1
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 100
+ Lv3: 120
+ Lv4: 140
+ Lv5: 160
+ Lv6: 180
+ Lv7: 200
+ Lv8: 220
+ Lv9: 240
+ Lv10: 260
+ }
+ State: "MadoGear"
+// Items: {
+// Camouflage_Generator: 0
+// Magic_Gear_Fuel: 2
+// }
+ }
+ Unit: {
+ Id: 0xe3
+ Layout: 2
+ Interval: 500
+ Target: "All"
+ }
+},
+{
+ Id: 2275
+ Name: "NC_REPAIR"
+ Description: "Repair"
+ MaxLevel: 5
+ Range: {
+ Lv1: 5
+ Lv2: 6
+ Lv3: 7
+ Lv4: 8
+ Lv5: 9
+ Lv6: 10
+ Lv7: 11
+ Lv8: 12
+ Lv9: 13
+ Lv10: 14
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 200
+ Lv2: 300
+ Lv3: 400
+ Lv4: 500
+ Lv5: 600
+ Lv6: 700
+ Lv7: 800
+ Lv8: 900
+ Lv9: 1000
+ Lv10: 1100
+ }
+ AfterCastActDelay: 1000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 35
+ State: "MadoGear"
+// Items: {
+// Repair_Kit: 0
+// }
+ }
+},
+{
+ Id: 2276
+ Name: "NC_TRAININGAXE"
+ Description: "Axe Training"
+ MaxLevel: 10
+ NumberOfHits: 0
+},
+{
+ Id: 2277
+ Name: "NC_RESEARCHFE"
+ Description: "Research Fire/Earth"
+ MaxLevel: 5
+ NumberOfHits: 0
+},
+{
+ Id: 2278
+ Name: "NC_AXEBOOMERANG"
+ Description: "Axe Boomerang"
+ MaxLevel: 5
+ Range: {
+ Lv1: 5
+ Lv2: 6
+ Lv3: 7
+ Lv4: 8
+ Lv5: 9
+ Lv6: 10
+ Lv7: 11
+ Lv8: 12
+ Lv9: 13
+ Lv10: 14
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ KnockBackTiles: {
+ Lv1: 2
+ Lv2: 3
+ Lv3: 4
+ Lv4: 5
+ Lv5: 6
+ Lv6: 7
+ Lv7: 8
+ Lv8: 9
+ Lv9: 10
+ Lv10: 11
+ }
+ CoolDown: {
+ Lv1: 5000
+ Lv2: 4500
+ Lv3: 4000
+ Lv4: 3500
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 22
+ Lv3: 24
+ Lv4: 26
+ Lv5: 28
+ Lv6: 30
+ Lv7: 32
+ Lv8: 34
+ Lv9: 36
+ Lv10: 38
+ }
+ WeaponTypes: {
+ 1HAxes: true
+ 2HAxes: true
+ }
+ }
+},
+{
+ Id: 2279
+ Name: "NC_POWERSWING"
+ Description: "Power Swing"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ AfterCastActDelay: 1000
+ SkillData1: 3000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 22
+ Lv3: 24
+ Lv4: 26
+ Lv5: 28
+ Lv6: 30
+ Lv7: 32
+ Lv8: 34
+ Lv9: 36
+ Lv10: 38
+ }
+ }
+},
+{
+ Id: 2280
+ Name: "NC_AXETORNADO"
+ Description: "Axe Tornado"
+ MaxLevel: 5
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 2
+ Lv3: 3
+ Lv4: 3
+ Lv5: 3
+ Lv6: 3
+ Lv7: 3
+ Lv8: 3
+ Lv9: 3
+ Lv10: 3
+ }
+ NumberOfHits: -3
+ AfterCastActDelay: 500
+ CoolDown: {
+ Lv1: 4000
+ Lv2: 3500
+ Lv3: 3000
+ Lv4: 2500
+ Lv5: 2000
+ Lv6: 1500
+ Lv7: 1000
+ Lv8: 500
+ Lv9: 1
+ Lv10: 1
+ }
+ FixedCastTime: -1
+ Requirements: {
+ HPCost: {
+ Lv1: 20
+ Lv2: 40
+ Lv3: 60
+ Lv4: 80
+ Lv5: 100
+ Lv6: 120
+ Lv7: 140
+ Lv8: 160
+ Lv9: 180
+ Lv10: 200
+ }
+ SPCost: {
+ Lv1: 18
+ Lv2: 20
+ Lv3: 22
+ Lv4: 24
+ Lv5: 26
+ Lv6: 28
+ Lv7: 30
+ Lv8: 32
+ Lv9: 34
+ Lv10: 36
+ }
+ WeaponTypes: {
+ 1HAxes: true
+ 2HAxes: true
+ }
+ }
+},
+{
+ Id: 2281
+ Name: "NC_SILVERSNIPER"
+ Description: "FAW - Silver Sniper"
+ MaxLevel: 5
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillInstances: 2
+ SkillData1: {
+ Lv1: 20000
+ Lv2: 30000
+ Lv3: 40000
+ Lv4: 50000
+ Lv5: 60000
+ Lv6: 70000
+ Lv7: 80000
+ Lv8: 90000
+ Lv9: 100000
+ Lv10: 110000
+ }
+ FixedCastTime: {
+ Lv1: 1800
+ Lv2: 1600
+ Lv3: 1400
+ Lv4: 1200
+ Lv5: 1000
+ Lv6: 800
+ Lv7: 600
+ Lv8: 400
+ Lv9: 200
+ Lv10: 1
+ }
+ Requirements: {
+ SPCost: 35
+// Items: {
+// Portable_Furnace: 0
+// Oridecon_Hammer: 0
+// Iron: 1
+// Steel: 2
+// }
+ }
+},
+{
+ Id: 2282
+ Name: "NC_MAGICDECOY"
+ Description: "FAW - Magic Decoy"
+ MaxLevel: 5
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillInstances: 2
+ SkillData1: {
+ Lv1: 20000
+ Lv2: 30000
+ Lv3: 40000
+ Lv4: 50000
+ Lv5: 60000
+ Lv6: 70000
+ Lv7: 80000
+ Lv8: 90000
+ Lv9: 100000
+ Lv10: 110000
+ }
+ FixedCastTime: {
+ Lv1: 1800
+ Lv2: 1600
+ Lv3: 1400
+ Lv4: 1200
+ Lv5: 1000
+ Lv6: 800
+ Lv7: 600
+ Lv8: 400
+ Lv9: 200
+ Lv10: 1
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 45
+ Lv3: 50
+ Lv4: 55
+ Lv5: 60
+ Lv6: 65
+ Lv7: 70
+ Lv8: 75
+ Lv9: 80
+ Lv10: 85
+ }
+// Items: {
+// Portable_Furnace: 0
+// Oridecon_Hammer: 0
+// Iron: 2
+// Brigan: 1
+// }
+ }
+},
+{
+ Id: 2283
+ Name: "NC_DISJOINT"
+ Description: "FAW Removal"
+ MaxLevel: 1
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 15
+// Items: {
+// Monkey_Wrench: 1
+// }
+ }
+},
+{
+ Id: 2284
+ Name: "SC_FATALMENACE"
+ Description: "Fatal Menace"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 1
+ AfterCastActDelay: 500
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 25
+ Lv3: 30
+ Lv4: 35
+ Lv5: 40
+ Lv6: 45
+ Lv7: 50
+ Lv8: 55
+ Lv9: 60
+ Lv10: 65
+ }
+ }
+},
+{
+ Id: 2285
+ Name: "SC_REPRODUCE"
+ Description: "Reproduce"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 1000
+ SkillData1: 60000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 45
+ Lv3: 50
+ Lv4: 55
+ Lv5: 60
+ Lv6: 65
+ Lv7: 70
+ Lv8: 75
+ Lv9: 80
+ Lv10: 85
+ }
+ }
+},
+{
+ Id: 2286
+ Name: "SC_AUTOSHADOWSPELL"
+ Description: "Auto Shadow Spell"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 4000
+ Lv2: 3600
+ Lv3: 3200
+ Lv4: 2800
+ Lv5: 2400
+ Lv6: 2000
+ Lv7: 1600
+ Lv8: 1200
+ Lv9: 800
+ Lv10: 400
+ }
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 80000
+ Lv3: 100000
+ Lv4: 120000
+ Lv5: 140000
+ Lv6: 160000
+ Lv7: 180000
+ Lv8: 200000
+ Lv9: 220000
+ Lv10: 300000
+ }
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 45
+ Lv3: 50
+ Lv4: 55
+ Lv5: 60
+ Lv6: 65
+ Lv7: 70
+ Lv8: 75
+ Lv9: 80
+ Lv10: 85
+ }
+ }
+},
+{
+ Id: 2287
+ Name: "SC_SHADOWFORM"
+ Description: "Shadow Form"
+ MaxLevel: 5
+ Range: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 40000
+ Lv3: 50000
+ Lv4: 60000
+ Lv5: 70000
+ Lv6: 80000
+ Lv7: 90000
+ Lv8: 100000
+ Lv9: 110000
+ Lv10: 120000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 50
+ Lv3: 60
+ Lv4: 70
+ Lv5: 80
+ Lv6: 90
+ Lv7: 100
+ Lv8: 110
+ Lv9: 120
+ Lv10: 130
+ }
+ }
+},
+{
+ Id: 2288
+ Name: "SC_TRIANGLESHOT"
+ Description: "Triangle Shot"
+ MaxLevel: 10
+ Range: {
+ Lv1: 7
+ Lv2: 7
+ Lv3: 7
+ Lv4: 9
+ Lv5: 9
+ Lv6: 9
+ Lv7: 9
+ Lv8: 11
+ Lv9: 11
+ Lv10: 11
+ }
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: -3
+ InterruptCast: true
+ KnockBackTiles: 3
+ CastTime: 1000
+ AfterCastActDelay: 500
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 22
+ Lv2: 24
+ Lv3: 26
+ Lv4: 28
+ Lv5: 30
+ Lv6: 32
+ Lv7: 34
+ Lv8: 36
+ Lv9: 38
+ Lv10: 40
+ }
+ WeaponTypes: {
+ Bows: true
+ }
+ AmmoTypes: {
+ A_ARROW: true
+ }
+ AmmoAmount: 3
+ }
+},
+{
+ Id: 2289
+ Name: "SC_BODYPAINT"
+ Description: "Body Painting"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 2
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 5000
+ Lv2: 7000
+ Lv3: 9000
+ Lv4: 11000
+ Lv5: 13000
+ Lv6: 15000
+ Lv7: 17000
+ Lv8: 19000
+ Lv9: 21000
+ Lv10: 23000
+ }
+ SkillData2: 10000
+ CoolDown: 2000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 15
+ Lv3: 20
+ Lv4: 25
+ Lv5: 30
+ Lv6: 35
+ Lv7: 40
+ Lv8: 45
+ Lv9: 50
+ Lv10: 55
+ }
+// Items: {
+// Paint_Brush: 0
+// Surface_Paint: 1
+// }
+ }
+},
+{
+ Id: 2290
+ Name: "SC_INVISIBILITY"
+ Description: "Invisibility"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ SkillData1: 60000
+ CoolDown: {
+ Lv1: 20000
+ Lv2: 30000
+ Lv3: 40000
+ Lv4: 50000
+ Lv5: 60000
+ Lv6: 70000
+ Lv7: 80000
+ Lv8: 90000
+ Lv9: 100000
+ Lv10: 110000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 100
+ }
+},
+{
+ Id: 2291
+ Name: "SC_DEADLYINFECT"
+ Description: "Deadly Infect"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ CoolDown: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 44
+ Lv3: 48
+ Lv4: 52
+ Lv5: 56
+ Lv6: 60
+ Lv7: 64
+ Lv8: 68
+ Lv9: 72
+ Lv10: 76
+ }
+ }
+},
+{
+ Id: 2292
+ Name: "SC_ENERVATION"
+ Description: "Masquerade - Enervation"
+ MaxLevel: 3
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ CoolDown: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 40
+ Lv3: 50
+ Lv4: 60
+ Lv5: 70
+ Lv6: 80
+ Lv7: 90
+ Lv8: 100
+ Lv9: 110
+ Lv10: 120
+ }
+// Items: {
+// Face_Paint: 1
+// Makeover_Brush: 0
+// }
+ }
+},
+{
+ Id: 2293
+ Name: "SC_GROOMY"
+ Description: "Masquerade - Gloomy"
+ MaxLevel: 3
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ CoolDown: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 40
+ Lv3: 50
+ Lv4: 60
+ Lv5: 70
+ Lv6: 80
+ Lv7: 90
+ Lv8: 100
+ Lv9: 110
+ Lv10: 120
+ }
+// Items: {
+// Face_Paint: 1
+// Makeover_Brush: 0
+// }
+ }
+},
+{
+ Id: 2294
+ Name: "SC_IGNORANCE"
+ Description: "Masquerade - Ignorance"
+ MaxLevel: 3
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ CoolDown: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 40
+ Lv3: 50
+ Lv4: 60
+ Lv5: 70
+ Lv6: 80
+ Lv7: 90
+ Lv8: 100
+ Lv9: 110
+ Lv10: 120
+ }
+// Items: {
+// Face_Paint: 1
+// Makeover_Brush: 0
+// }
+ }
+},
+{
+ Id: 2295
+ Name: "SC_LAZINESS"
+ Description: "Masquerade - Laziness"
+ MaxLevel: 3
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ CoolDown: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 40
+ Lv3: 50
+ Lv4: 60
+ Lv5: 70
+ Lv6: 80
+ Lv7: 90
+ Lv8: 100
+ Lv9: 110
+ Lv10: 120
+ }
+// Items: {
+// Face_Paint: 1
+// Makeover_Brush: 0
+// }
+ }
+},
+{
+ Id: 2296
+ Name: "SC_UNLUCKY"
+ Description: "Masquerade - Unlucky"
+ MaxLevel: 3
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ CoolDown: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 40
+ Lv3: 50
+ Lv4: 60
+ Lv5: 70
+ Lv6: 80
+ Lv7: 90
+ Lv8: 100
+ Lv9: 110
+ Lv10: 120
+ }
+// Items: {
+// Face_Paint: 1
+// Makeover_Brush: 0
+// }
+ }
+},
+{
+ Id: 2297
+ Name: "SC_WEAKNESS"
+ Description: "Masquerade - Weakness"
+ MaxLevel: 3
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ CoolDown: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 40
+ Lv3: 50
+ Lv4: 60
+ Lv5: 70
+ Lv6: 80
+ Lv7: 90
+ Lv8: 100
+ Lv9: 110
+ Lv10: 120
+ }
+// Items: {
+// Face_Paint: 1
+// Makeover_Brush: 0
+// }
+ }
+},
+{
+ Id: 2298
+ Name: "SC_STRIPACCESSARY"
+ Description: "Strip Accessory"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 70000
+ Lv3: 80000
+ Lv4: 90000
+ Lv5: 100000
+ Lv6: 110000
+ Lv7: 120000
+ Lv8: 130000
+ Lv9: 140000
+ Lv10: 150000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 15
+ Lv2: 18
+ Lv3: 21
+ Lv4: 24
+ Lv5: 27
+ Lv6: 30
+ Lv7: 33
+ Lv8: 36
+ Lv9: 39
+ Lv10: 42
+ }
+ }
+},
+{
+ Id: 2299
+ Name: "SC_MANHOLE"
+ Description: "Man Hole"
+ MaxLevel: 3
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillInstances: 3
+ CastTime: 1000
+ AfterCastActDelay: 2000
+ SkillData1: {
+ Lv1: 5000
+ Lv2: 10000
+ Lv3: 15000
+ Lv4: 20000
+ Lv5: 25000
+ Lv6: 30000
+ Lv7: 35000
+ Lv8: 40000
+ Lv9: 45000
+ Lv10: 50000
+ }
+ SkillData2: {
+ Lv1: 5000
+ Lv2: 10000
+ Lv3: 15000
+ Lv4: 20000
+ Lv5: 25000
+ Lv6: 30000
+ Lv7: 35000
+ Lv8: 40000
+ Lv9: 45000
+ Lv10: 50000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 25
+ Lv3: 30
+ Lv4: 35
+ Lv5: 40
+ Lv6: 45
+ Lv7: 50
+ Lv8: 55
+ Lv9: 60
+ Lv10: 65
+ }
+// Items: {
+// Paint_Brush: 0
+// Surface_Paint: 1
+// }
+ }
+ Unit: {
+ Id: 0xcc
+ Range: 1
+ Interval: 1000
+ Target: "All"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 2300
+ Name: "SC_DIMENSIONDOOR"
+ Description: "Dimension Door"
+ MaxLevel: 3
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillInstances: 1
+ CastTime: 1000
+ AfterCastActDelay: 2000
+ SkillData1: {
+ Lv1: 4000
+ Lv2: 8000
+ Lv3: 12000
+ Lv4: 16000
+ Lv5: 20000
+ Lv6: 24000
+ Lv7: 28000
+ Lv8: 32000
+ Lv9: 36000
+ Lv10: 40000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 36
+ Lv3: 42
+ Lv4: 48
+ Lv5: 54
+ Lv6: 60
+ Lv7: 66
+ Lv8: 72
+ Lv9: 78
+ Lv10: 84
+ }
+// Items: {
+// Paint_Brush: 0
+// Surface_Paint: 1
+// }
+ }
+ Unit: {
+ Id: 0xcd
+ Range: 1
+ Interval: 1000
+ Target: "All"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 2301
+ Name: "SC_CHAOSPANIC"
+ Description: "Chaos Panic"
+ MaxLevel: 3
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ SplashRange: 2
+ InterruptCast: true
+ SkillInstances: 1
+ CastTime: 2000
+ AfterCastActDelay: 2000
+ SkillData1: {
+ Lv1: 5000
+ Lv2: 10000
+ Lv3: 15000
+ Lv4: 20000
+ Lv5: 25000
+ Lv6: 30000
+ Lv7: 35000
+ Lv8: 40000
+ Lv9: 45000
+ Lv10: 50000
+ }
+ SkillData2: {
+ Lv1: 4000
+ Lv2: 8000
+ Lv3: 12000
+ Lv4: 16000
+ Lv5: 20000
+ Lv6: 24000
+ Lv7: 28000
+ Lv8: 32000
+ Lv9: 36000
+ Lv10: 40000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 36
+ Lv3: 42
+ Lv4: 48
+ Lv5: 54
+ Lv6: 60
+ Lv7: 66
+ Lv8: 72
+ Lv9: 78
+ Lv10: 84
+ }
+// Items: {
+// Paint_Brush: 0
+// Surface_Paint: 2
+// }
+ }
+ Unit: {
+ Id: 0xce
+ Layout: 2
+ Interval: -1
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ UF_NOOVERLAP: true
+ UF_RANGEDSINGLEUNIT: true
+ }
+ }
+},
+{
+ Id: 2302
+ Name: "SC_MAELSTROM"
+ Description: "Maelstrom"
+ MaxLevel: 3
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ SplashRange: 2
+ InterruptCast: true
+ SkillInstances: 1
+ CastTime: 2000
+ AfterCastActDelay: 2000
+ SkillData1: {
+ Lv1: 7000
+ Lv2: 14000
+ Lv3: 21000
+ Lv4: 28000
+ Lv5: 35000
+ Lv6: 42000
+ Lv7: 49000
+ Lv8: 56000
+ Lv9: 63000
+ Lv10: 70000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 50
+ Lv2: 55
+ Lv3: 60
+ Lv4: 65
+ Lv5: 70
+ Lv6: 75
+ Lv7: 80
+ Lv8: 85
+ Lv9: 90
+ Lv10: 95
+ }
+// Items: {
+// Paint_Brush: 0
+// Surface_Paint: 2
+// }
+ }
+ Unit: {
+ Id: 0xcf
+ Layout: 2
+ Interval: -1
+ Target: "All"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_RANGEDSINGLEUNIT: true
+ }
+ }
+},
+{
+ Id: 2303
+ Name: "SC_BLOODYLUST"
+ Description: "Bloody Lust"
+ MaxLevel: 3
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2000
+ AfterCastActDelay: 2000
+ SkillData1: {
+ Lv1: 5000
+ Lv2: 10000
+ Lv3: 15000
+ Lv4: 20000
+ Lv5: 25000
+ Lv6: 30000
+ Lv7: 35000
+ Lv8: 40000
+ Lv9: 45000
+ Lv10: 50000
+ }
+ CoolDown: 180000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 70
+ Lv3: 80
+ Lv4: 90
+ Lv5: 100
+ Lv6: 110
+ Lv7: 120
+ Lv8: 130
+ Lv9: 140
+ Lv10: 150
+ }
+// Items: {
+// Paint_Brush: 0
+// Surface_Paint: 2
+// }
+ }
+ Unit: {
+ Id: 0xd0
+ Layout: 3
+ Interval: -1
+ Target: "All"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ UF_RANGEDSINGLEUNIT: true
+ }
+ }
+},
+{
+ Id: 2304
+ Name: "SC_FEINTBOMB"
+ Description: "Feint Bomb"
+ MaxLevel: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ CastTime: 1000
+ SkillData1: 1000
+ CoolDown: 5000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 24
+ Lv2: 28
+ Lv3: 32
+ Lv4: 36
+ Lv5: 40
+ Lv6: 44
+ Lv7: 48
+ Lv8: 52
+ Lv9: 56
+ Lv10: 60
+ }
+// Items: {
+// Paint_Brush: 0
+// Surface_Paint: 1
+// }
+ }
+ Unit: {
+ Id: 0xd1
+ Range: 2
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 2307
+ Name: "LG_CANNONSPEAR"
+ Description: "Cannon Spear"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ SplashRange: 2
+ SkillInstances: 10
+ CoolDown: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 12
+ Lv2: 16
+ Lv3: 20
+ Lv4: 24
+ Lv5: 28
+ Lv6: 32
+ Lv7: 36
+ Lv8: 40
+ Lv9: 44
+ Lv10: 48
+ }
+ WeaponTypes: {
+ 1HSpears: true
+ 2HSpears: true
+ }
+ }
+},
+{
+ Id: 2308
+ Name: "LG_BANISHINGPOINT"
+ Description: "Banishing Point"
+ MaxLevel: 10
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 20
+ Lv3: 20
+ Lv4: 20
+ Lv5: 20
+ Lv6: 25
+ Lv7: 25
+ Lv8: 25
+ Lv9: 25
+ Lv10: 25
+ }
+ WeaponTypes: {
+ 1HSpears: true
+ 2HSpears: true
+ }
+ }
+},
+{
+ Id: 2309
+ Name: "LG_TRAMPLE"
+ Description: "Trample"
+ MaxLevel: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 2
+ AfterCastActDelay: 1000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 45
+ Lv3: 60
+ Lv4: 75
+ Lv5: 90
+ Lv6: 105
+ Lv7: 120
+ Lv8: 135
+ Lv9: 150
+ Lv10: 165
+ }
+ }
+},
+{
+ Id: 2310
+ Name: "LG_SHIELDPRESS"
+ Description: "Shield Press"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ SkillData1: {
+ Lv1: 3500
+ Lv2: 4000
+ Lv3: 4500
+ Lv4: 5000
+ Lv5: 5500
+ Lv6: 6000
+ Lv7: 6500
+ Lv8: 7000
+ Lv9: 7500
+ Lv10: 8000
+ }
+ CoolDown: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 12
+ Lv3: 14
+ Lv4: 16
+ Lv5: 18
+ Lv6: 20
+ Lv7: 22
+ Lv8: 24
+ Lv9: 26
+ Lv10: 28
+ }
+ State: "Shield"
+ }
+},
+{
+ Id: 2311
+ Name: "LG_REFLECTDAMAGE"
+ Description: "Reflect Damage"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 3
+ SkillData1: 300000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 80
+ Lv3: 100
+ Lv4: 120
+ Lv5: 140
+ Lv6: 160
+ Lv7: 180
+ Lv8: 200
+ Lv9: 220
+ Lv10: 240
+ }
+ State: "Shield"
+ }
+},
+{
+ Id: 2312
+ Name: "LG_PINPOINTATTACK"
+ Description: "Pinpoint Attack"
+ MaxLevel: 5
+ Range: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ AfterCastActDelay: 1000
+ SkillData1: 5000
+ CoolDown: 5000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 50
+ WeaponTypes: {
+ 1HSpears: true
+ 2HSpears: true
+ }
+ }
+},
+{
+ Id: 2313
+ Name: "LG_FORCEOFVANGUARD"
+ Description: "Force of Vanguard"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: 300000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 30
+ }
+},
+{
+ Id: 2314
+ Name: "LG_RAGEBURST"
+ Description: "Rage Burst"
+ MaxLevel: 1
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ AfterCastActDelay: 3000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 150
+ }
+},
+{
+ Id: 2315
+ Name: "LG_SHIELDSPELL"
+ Description: "Shield Spell"
+ MaxLevel: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ Element: {
+ Lv1: "Ele_Neutral"
+ Lv2: "Ele_Holy"
+ Lv3: "Ele_Neutral"
+ }
+ DamageType: {
+ SplashArea: true
+ }
+ InterruptCast: true
+ KnockBackTiles: {
+ Lv1: 2
+ Lv2: 0
+ Lv3: 0
+ Lv4: 0
+ Lv5: 0
+ Lv6: 0
+ Lv7: 0
+ Lv8: 0
+ Lv9: 0
+ Lv10: 0
+ }
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ CoolDown: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 50
+ State: "Shield"
+ }
+},
+{
+ Id: 2316
+ Name: "LG_EXEEDBREAK"
+ Description: "Exceed Break"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 5000
+ Lv2: 5500
+ Lv3: 6000
+ Lv4: 6500
+ Lv5: 7000
+ Lv6: 7500
+ Lv7: 8000
+ Lv8: 8500
+ Lv9: 9000
+ Lv10: 9500
+ }
+ AfterCastActDelay: 1000
+ SkillData1: 300000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 32
+ Lv3: 44
+ Lv4: 56
+ Lv5: 68
+ Lv6: 80
+ Lv7: 92
+ Lv8: 104
+ Lv9: 116
+ Lv10: 128
+ }
+ }
+},
+{
+ Id: 2317
+ Name: "LG_OVERBRAND"
+ Description: "Over Brand"
+ MaxLevel: 5
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ InterruptCast: true
+ CastTime: 500
+ AfterCastActDelay: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 30
+ Lv3: 40
+ Lv4: 50
+ Lv5: 60
+ Lv6: 70
+ Lv7: 80
+ Lv8: 90
+ Lv9: 100
+ Lv10: 110
+ }
+ WeaponTypes: {
+ 1HSpears: true
+ 2HSpears: true
+ }
+ }
+},
+{
+ Id: 2318
+ Name: "LG_PRESTIGE"
+ Description: "Prestige"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1000
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 45000
+ Lv3: 60000
+ Lv4: 75000
+ Lv5: 90000
+ Lv6: 105000
+ Lv7: 120000
+ Lv8: 135000
+ Lv9: 150000
+ Lv10: 165000
+ }
+ CoolDown: 60000
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: {
+ Lv1: 75
+ Lv2: 80
+ Lv3: 85
+ Lv4: 90
+ Lv5: 95
+ Lv6: 100
+ Lv7: 105
+ Lv8: 110
+ Lv9: 115
+ Lv10: 120
+ }
+ }
+},
+{
+ Id: 2319
+ Name: "LG_BANDING"
+ Description: "Banding"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SplashRange: 3
+ SkillData1: -1
+ SkillData2: {
+ Lv1: 2000
+ Lv2: 4000
+ Lv3: 6000
+ Lv4: 8000
+ Lv5: 10000
+ Lv6: 12000
+ Lv7: 14000
+ Lv8: 16000
+ Lv9: 18000
+ Lv10: 20000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 36
+ Lv3: 42
+ Lv4: 48
+ Lv5: 54
+ Lv6: 60
+ Lv7: 66
+ Lv8: 72
+ Lv9: 78
+ Lv10: 84
+ }
+ }
+ Unit: {
+ Id: 0xec
+ Range: 3
+ Interval: 5000
+ Target: "All"
+ }
+},
+{
+ Id: 2320
+ Name: "LG_MOONSLASHER"
+ Description: "Moon Slasher"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 3
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ CoolDown: {
+ Lv1: 6000
+ Lv2: 5000
+ Lv3: 4000
+ Lv4: 3000
+ Lv5: 2000
+ Lv6: 1000
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 24
+ Lv3: 28
+ Lv4: 32
+ Lv5: 36
+ Lv6: 40
+ Lv7: 44
+ Lv8: 48
+ Lv9: 52
+ Lv10: 56
+ }
+ WeaponTypes: {
+ 1HSpears: true
+ 2HSpears: true
+ }
+ }
+},
+{
+ Id: 2321
+ Name: "LG_RAYOFGENESIS"
+ Description: "Ray of Genesis"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Holy"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 5
+ NumberOfHits: -7
+ InterruptCast: true
+ CastTime: {
+ Lv1: 2000
+ Lv2: 2500
+ Lv3: 3000
+ Lv4: 3500
+ Lv5: 4000
+ Lv6: 4500
+ Lv7: 5000
+ Lv8: 5500
+ Lv9: 6000
+ Lv10: 6500
+ }
+ AfterCastActDelay: 2000
+ SkillData1: 10000
+ CoolDown: 5000
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 65
+ Lv3: 70
+ Lv4: 75
+ Lv5: 80
+ Lv6: 85
+ Lv7: 90
+ Lv8: 95
+ Lv9: 100
+ Lv10: 105
+ }
+ }
+},
+{
+ Id: 2322
+ Name: "LG_PIETY"
+ Description: "Piety"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 1
+ InterruptCast: true
+ CastTime: {
+ Lv1: 3000
+ Lv2: 2500
+ Lv3: 2000
+ Lv4: 1500
+ Lv5: 1000
+ Lv6: 500
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 80000
+ Lv3: 100000
+ Lv4: 120000
+ Lv5: 140000
+ Lv6: 160000
+ Lv7: 180000
+ Lv8: 200000
+ Lv9: 220000
+ Lv10: 240000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 45
+ Lv3: 50
+ Lv4: 55
+ Lv5: 60
+ Lv6: 65
+ Lv7: 70
+ Lv8: 75
+ Lv9: 80
+ Lv10: 85
+ }
+// Items: {
+// Holy_Water: 2
+// }
+ }
+},
+{
+ Id: 2323
+ Name: "LG_EARTHDRIVE"
+ Description: "Earth Drive"
+ MaxLevel: 5
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Earth"
+ 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: -5
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 3000
+ Lv2: 6000
+ Lv3: 9000
+ Lv4: 12000
+ Lv5: 15000
+ Lv6: 18000
+ Lv7: 21000
+ Lv8: 24000
+ Lv9: 27000
+ Lv10: 30000
+ }
+ CoolDown: {
+ Lv1: 7000
+ Lv2: 6000
+ Lv3: 5000
+ Lv4: 4000
+ Lv5: 3000
+ Lv6: 2000
+ Lv7: 1000
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 52
+ Lv2: 60
+ Lv3: 68
+ Lv4: 76
+ Lv5: 84
+ Lv6: 92
+ Lv7: 100
+ Lv8: 108
+ Lv9: 116
+ Lv10: 124
+ }
+ State: "Shield"
+ }
+},
+{
+ Id: 2324
+ Name: "LG_HESPERUSLIT"
+ Description: "Hesperus Lit"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: 3
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 3000
+ CoolDown: 20000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 90
+ Lv3: 100
+ Lv4: 110
+ Lv5: 120
+ Lv6: 130
+ Lv7: 140
+ Lv8: 150
+ Lv9: 160
+ Lv10: 170
+ }
+ WeaponTypes: {
+ 1HSpears: true
+ 2HSpears: true
+ }
+ }
+},
+{
+ Id: 2325
+ Name: "LG_INSPIRATION"
+ Description: "Inspiration"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2000
+ AfterCastActDelay: 2000
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 45000
+ Lv3: 60000
+ Lv4: 75000
+ Lv5: 90000
+ Lv6: 105000
+ Lv7: 120000
+ Lv8: 135000
+ Lv9: 150000
+ Lv10: 165000
+ }
+ CoolDown: {
+ Lv1: 540000
+ Lv2: 480000
+ Lv3: 420000
+ Lv4: 360000
+ Lv5: 300000
+ Lv6: 240000
+ Lv7: 180000
+ Lv8: 120000
+ Lv9: 60000
+ Lv10: 1
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 90
+ Lv3: 100
+ Lv4: 110
+ Lv5: 120
+ Lv6: 130
+ Lv7: 140
+ Lv8: 150
+ Lv9: 160
+ Lv10: 170
+ }
+ }
+},
+{
+ Id: 2519
+ Name: "LG_OVERBRAND_BRANDISH"
+ Description: "Over Brand"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ InterruptCast: true
+ KnockBackTiles: {
+ Lv1: 3
+ Lv2: 4
+ Lv3: 5
+ Lv4: 6
+ Lv5: 7
+ Lv6: 8
+ Lv7: 9
+ Lv8: 10
+ Lv9: 11
+ Lv10: 12
+ }
+},
+{
+ Id: 2326
+ Name: "SR_DRAGONCOMBO"
+ Description: "Dragon Combo"
+ MaxLevel: 10
+ Range: -2
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: -2
+ SkillData1: 3000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 3
+ Lv2: 4
+ Lv3: 5
+ Lv4: 6
+ Lv5: 7
+ Lv6: 8
+ Lv7: 9
+ Lv8: 10
+ Lv9: 11
+ Lv10: 12
+ }
+ }
+},
+{
+ Id: 2327
+ Name: "SR_SKYNETBLOW"
+ Description: "Sky Net Blow"
+ MaxLevel: 5
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 2
+ NumberOfHits: -3
+ KnockBackTiles: 3
+ AfterCastActDelay: 500
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 8
+ Lv2: 9
+ Lv3: 10
+ Lv4: 11
+ Lv5: 12
+ Lv6: 13
+ Lv7: 14
+ Lv8: 15
+ Lv9: 16
+ Lv10: 17
+ }
+ }
+},
+{
+ Id: 2328
+ Name: "SR_EARTHSHAKER"
+ Description: "Earth Shaker"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ SkillData1: 1000
+ CoolDown: 3000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 36
+ Lv2: 40
+ Lv3: 44
+ Lv4: 48
+ Lv5: 52
+ Lv6: 56
+ Lv7: 60
+ Lv8: 64
+ Lv9: 68
+ Lv10: 72
+ }
+ SpiritSphereCost: 1
+ }
+},
+{
+ Id: 2329
+ Name: "SR_FALLENEMPIRE"
+ Description: "Fallen Empire"
+ MaxLevel: 5
+ Range: -2
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: -2
+ SkillData1: {
+ Lv1: 500
+ Lv2: 1000
+ Lv3: 1500
+ Lv4: 2000
+ Lv5: 2500
+ Lv6: 3000
+ Lv7: 3500
+ Lv8: 4000
+ Lv9: 4500
+ Lv10: 5000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 30
+ Lv3: 40
+ Lv4: 50
+ Lv5: 60
+ Lv6: 70
+ Lv7: 80
+ Lv8: 90
+ Lv9: 100
+ Lv10: 110
+ }
+ SpiritSphereCost: 2
+ }
+},
+{
+ Id: 2330
+ Name: "SR_TIGERCANNON"
+ Description: "Tiger Cannon"
+ MaxLevel: 10
+ Range: -2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ IgnoreFlee: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 1
+ Lv4: 1
+ Lv5: 1
+ Lv6: 2
+ Lv7: 2
+ Lv8: 2
+ Lv9: 2
+ Lv10: 2
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 1100
+ Lv2: 1200
+ Lv3: 1300
+ Lv4: 1400
+ Lv5: 1500
+ Lv6: 1600
+ Lv7: 1700
+ Lv8: 1800
+ Lv9: 1900
+ Lv10: 2000
+ }
+ AfterCastActDelay: 1000
+ CoolDown: 5000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ HPRateCost: {
+ Lv1: -12
+ Lv2: -14
+ Lv3: -16
+ Lv4: -18
+ Lv5: -20
+ Lv6: -22
+ Lv7: -24
+ Lv8: -26
+ Lv9: -28
+ Lv10: -30
+ }
+ SPRateCost: {
+ Lv1: -6
+ Lv2: -7
+ Lv3: -8
+ Lv4: -9
+ Lv5: -10
+ Lv6: -11
+ Lv7: -12
+ Lv8: -13
+ Lv9: -14
+ Lv10: -15
+ }
+ State: "ExplosionSpirits"
+ SpiritSphereCost: 2
+ }
+},
+{
+ Id: 2331
+ Name: "SR_HELLGATE"
+ Description: "Hell Gate"
+ MaxLevel: 10
+ NumberOfHits: 0
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2332
+ Name: "SR_RAMPAGEBLASTER"
+ Description: "Rampage Blaster"
+ MaxLevel: 5
+ Range: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 3
+ AfterCastActDelay: 1000
+ CoolDown: 10000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 150
+ }
+},
+{
+ Id: 2333
+ Name: "SR_CRESCENTELBOW"
+ Description: "Crescent Elbow"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 3000
+ Lv2: 4000
+ Lv3: 5000
+ Lv4: 6000
+ Lv5: 7000
+ Lv6: 8000
+ Lv7: 9000
+ Lv8: 10000
+ Lv9: 11000
+ Lv10: 12000
+ }
+ CoolDown: 5000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 80
+ SpiritSphereCost: 2
+ }
+},
+{
+ Id: 2334
+ Name: "SR_CURSEDCIRCLE"
+ Description: "Cursed Circle"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 2
+ Lv4: 2
+ Lv5: 3
+ Lv6: 3
+ Lv7: 4
+ Lv8: 4
+ Lv9: 5
+ Lv10: 5
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 3000
+ Lv2: 4000
+ Lv3: 5000
+ Lv4: 6000
+ Lv5: 7000
+ Lv6: 8000
+ Lv7: 9000
+ Lv8: 10000
+ Lv9: 11000
+ Lv10: 12000
+ }
+ CoolDown: 10000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 60
+ Lv3: 80
+ Lv4: 100
+ Lv5: 120
+ Lv6: 140
+ Lv7: 160
+ Lv8: 180
+ Lv9: 200
+ Lv10: 220
+ }
+ HPRateCost: {
+ Lv1: -1
+ Lv2: -2
+ Lv3: -3
+ Lv4: -4
+ Lv5: -5
+ Lv6: -6
+ Lv7: -7
+ Lv8: -8
+ Lv9: -9
+ Lv10: -10
+ }
+ }
+},
+{
+ Id: 2335
+ Name: "SR_LIGHTNINGWALK"
+ Description: "Lightning Walk"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 5000
+ Lv2: 6000
+ Lv3: 7000
+ Lv4: 8000
+ Lv5: 9000
+ Lv6: 10000
+ Lv7: 11000
+ Lv8: 12000
+ Lv9: 13000
+ Lv10: 14000
+ }
+ CoolDown: 5000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 70
+ Lv3: 60
+ Lv4: 50
+ Lv5: 40
+ Lv6: 30
+ Lv7: 20
+ Lv8: 10
+ Lv9: 1
+ Lv10: 1
+ }
+ HPRateCost: {
+ Lv1: -5
+ Lv2: -4
+ Lv3: -3
+ Lv4: -2
+ Lv5: -1
+ Lv6: 0
+ Lv7: 1
+ Lv8: 2
+ Lv9: 3
+ Lv10: 4
+ }
+ }
+},
+{
+ Id: 2336
+ Name: "SR_KNUCKLEARROW"
+ Description: "Knuckle Arrow"
+ MaxLevel: 5
+ Range: {
+ Lv1: 7
+ Lv2: 8
+ Lv3: 9
+ Lv4: 10
+ Lv5: 11
+ Lv6: 12
+ Lv7: 13
+ Lv8: 14
+ Lv9: 15
+ Lv10: 16
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ KnockBackTiles: {
+ Lv1: 2
+ Lv2: 3
+ Lv3: 4
+ Lv4: 5
+ Lv5: 6
+ Lv6: 7
+ Lv7: 8
+ Lv8: 9
+ Lv9: 10
+ Lv10: 11
+ }
+ AfterCastActDelay: 1000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 15
+ Lv3: 20
+ Lv4: 25
+ Lv5: 30
+ Lv6: 35
+ Lv7: 40
+ Lv8: 45
+ Lv9: 50
+ Lv10: 55
+ }
+ SpiritSphereCost: 1
+ }
+},
+{
+ Id: 2337
+ Name: "SR_WINDMILL"
+ Description: "Windmill"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 2
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 500
+ CoolDown: 3000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 45
+ }
+},
+{
+ Id: 2338
+ Name: "SR_RAISINGDRAGON"
+ Description: "Raising Dragon"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 45000
+ Lv3: 60000
+ Lv4: 75000
+ Lv5: 90000
+ Lv6: 105000
+ Lv7: 120000
+ Lv8: 135000
+ Lv9: 150000
+ Lv10: 165000
+ }
+ CoolDown: 30000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 120
+ }
+},
+{
+ Id: 2339
+ Name: "SR_GENTLETOUCH"
+ Description: "Gentle Touch"
+ MaxLevel: 5
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2340
+ Name: "SR_ASSIMILATEPOWER"
+ Description: "Assimilate Power"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 2
+ AfterCastActDelay: 1000
+ CoolDown: 5000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 2341
+ Name: "SR_POWERVELOCITY"
+ Description: "Power Velocity"
+ MaxLevel: 1
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1500
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: 50
+ SpiritSphereCost: 5
+ }
+},
+{
+ Id: 2342
+ Name: "SR_CRESCENTELBOW_AUTOSPELL"
+ Description: "Crescent Elbow Autospell"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ IgnoreDefense: true
+ }
+ KnockBackTiles: 7
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2343
+ Name: "SR_GATEOFHELL"
+ Description: "Gate of Hell"
+ MaxLevel: 10
+ Range: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 3
+ Lv5: 4
+ Lv6: 4
+ Lv7: 5
+ Lv8: 5
+ Lv9: 6
+ Lv10: 7
+ }
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ NumberOfHits: -7
+ InterruptCast: true
+ CastTime: {
+ Lv1: 1000
+ Lv2: 1200
+ Lv3: 1400
+ Lv4: 1600
+ Lv5: 1800
+ Lv6: 2000
+ Lv7: 2200
+ Lv8: 2400
+ Lv9: 2600
+ Lv10: 2800
+ }
+ AfterCastActDelay: {
+ Lv1: 100
+ Lv2: 200
+ Lv3: 300
+ Lv4: 400
+ Lv5: 500
+ Lv6: 600
+ Lv7: 700
+ Lv8: 800
+ Lv9: 900
+ Lv10: 1000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 11
+ Lv2: 12
+ Lv3: 13
+ Lv4: 14
+ Lv5: 15
+ Lv6: 16
+ Lv7: 17
+ Lv8: 18
+ Lv9: 19
+ Lv10: 20
+ }
+ SPRateCost: {
+ Lv1: -11
+ Lv2: -12
+ Lv3: -13
+ Lv4: -14
+ Lv5: -15
+ Lv6: -16
+ Lv7: -17
+ Lv8: -18
+ Lv9: -19
+ Lv10: -20
+ }
+ SpiritSphereCost: 5
+ }
+},
+{
+ Id: 2344
+ Name: "SR_GENTLETOUCH_QUIET"
+ Description: "Gentle Touch - Quiet"
+ MaxLevel: 5
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ SkillData1: {
+ Lv1: 5000
+ Lv2: 7000
+ Lv3: 9000
+ Lv4: 11000
+ Lv5: 13000
+ Lv6: 15000
+ Lv7: 17000
+ Lv8: 19000
+ Lv9: 21000
+ Lv10: 23000
+ }
+ CoolDown: {
+ Lv1: 1000
+ Lv2: 1500
+ Lv3: 2000
+ Lv4: 2500
+ Lv5: 3000
+ Lv6: 3500
+ Lv7: 4000
+ Lv8: 4500
+ Lv9: 5000
+ Lv10: 5500
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 25
+ Lv3: 30
+ Lv4: 35
+ Lv5: 40
+ Lv6: 45
+ Lv7: 50
+ Lv8: 55
+ Lv9: 60
+ Lv10: 65
+ }
+ }
+},
+{
+ Id: 2345
+ Name: "SR_GENTLETOUCH_CURE"
+ Description: "Gentle Touch - Cure"
+ MaxLevel: 5
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 1000
+ CoolDown: {
+ Lv1: 1000
+ Lv2: 1500
+ Lv3: 2000
+ Lv4: 2500
+ Lv5: 3000
+ Lv6: 3500
+ Lv7: 4000
+ Lv8: 4500
+ Lv9: 5000
+ Lv10: 5500
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 50
+ Lv3: 60
+ Lv4: 70
+ Lv5: 80
+ Lv6: 90
+ Lv7: 100
+ Lv8: 110
+ Lv9: 120
+ Lv10: 130
+ }
+ SpiritSphereCost: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ }
+},
+{
+ Id: 2346
+ Name: "SR_GENTLETOUCH_ENERGYGAIN"
+ Description: "Gentle Touch - Energy Gain"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ SkillData1: 240000
+ FixedCastTime: {
+ Lv1: 1000
+ Lv2: 1500
+ Lv3: 2000
+ Lv4: 2500
+ Lv5: 3000
+ Lv6: 3500
+ Lv7: 4000
+ Lv8: 4500
+ Lv9: 5000
+ Lv10: 5500
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 50
+ Lv3: 60
+ Lv4: 70
+ Lv5: 80
+ Lv6: 90
+ Lv7: 100
+ Lv8: 110
+ Lv9: 120
+ Lv10: 130
+ }
+ HPRateCost: {
+ Lv1: -1
+ Lv2: -2
+ Lv3: -3
+ Lv4: -4
+ Lv5: -5
+ Lv6: -6
+ Lv7: -7
+ Lv8: -8
+ Lv9: -9
+ Lv10: -10
+ }
+ }
+},
+{
+ Id: 2347
+ Name: "SR_GENTLETOUCH_CHANGE"
+ Description: "Gentle Touch - Change"
+ MaxLevel: 5
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ SkillData1: 240000
+ CoolDown: {
+ Lv1: 200000
+ Lv2: 180000
+ Lv3: 160000
+ Lv4: 140000
+ Lv5: 120000
+ Lv6: 100000
+ Lv7: 80000
+ Lv8: 60000
+ Lv9: 40000
+ Lv10: 20000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 50
+ Lv3: 60
+ Lv4: 70
+ Lv5: 80
+ Lv6: 90
+ Lv7: 100
+ Lv8: 110
+ Lv9: 120
+ Lv10: 130
+ }
+ HPRateCost: {
+ Lv1: -2
+ Lv2: -4
+ Lv3: -6
+ Lv4: -8
+ Lv5: -10
+ Lv6: -12
+ Lv7: -14
+ Lv8: -16
+ Lv9: -18
+ Lv10: -20
+ }
+ SpiritSphereCost: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ }
+},
+{
+ Id: 2348
+ Name: "SR_GENTLETOUCH_REVITALIZE"
+ Description: "Gentle Touch - Revitalize"
+ MaxLevel: 5
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ SkillData1: 240000
+ CoolDown: {
+ Lv1: 200000
+ Lv2: 180000
+ Lv3: 160000
+ Lv4: 140000
+ Lv5: 120000
+ Lv6: 100000
+ Lv7: 80000
+ Lv8: 60000
+ Lv9: 40000
+ Lv10: 20000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 50
+ Lv3: 60
+ Lv4: 70
+ Lv5: 80
+ Lv6: 90
+ Lv7: 100
+ Lv8: 110
+ Lv9: 120
+ Lv10: 130
+ }
+ SpiritSphereCost: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ }
+},
+{
+ Id: 2350
+ Name: "WA_SWING_DANCE"
+ Description: "Swing Dance"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 7
+ Lv2: 8
+ Lv3: 9
+ Lv4: 10
+ Lv5: 11
+ Lv6: 12
+ Lv7: 13
+ Lv8: 14
+ Lv9: 15
+ Lv10: 16
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 2000
+ SkillData1: 60000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 96
+ Lv2: 112
+ Lv3: 128
+ Lv4: 144
+ Lv5: 160
+ Lv6: 176
+ Lv7: 192
+ Lv8: 208
+ Lv9: 224
+ Lv10: 240
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+},
+{
+ Id: 2351
+ Name: "WA_SYMPHONY_OF_LOVER"
+ Description: "Symphony of Lovers"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 7
+ Lv2: 8
+ Lv3: 9
+ Lv4: 10
+ Lv5: 11
+ Lv6: 12
+ Lv7: 13
+ Lv8: 14
+ Lv9: 15
+ Lv10: 16
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 2000
+ SkillData1: 60000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 69
+ Lv3: 78
+ Lv4: 87
+ Lv5: 96
+ Lv6: 105
+ Lv7: 114
+ Lv8: 123
+ Lv9: 132
+ Lv10: 141
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+},
+{
+ Id: 2352
+ Name: "WA_MOONLIT_SERENADE"
+ Description: "Moonlit Serenade"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 7
+ Lv2: 8
+ Lv3: 9
+ Lv4: 10
+ Lv5: 11
+ Lv6: 12
+ Lv7: 13
+ Lv8: 14
+ Lv9: 15
+ Lv10: 16
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 2000
+ SkillData1: 60000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 84
+ Lv2: 96
+ Lv3: 108
+ Lv4: 120
+ Lv5: 134
+ Lv6: 134
+ Lv7: 134
+ Lv8: 134
+ Lv9: 134
+ Lv10: 134
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+},
+{
+ Id: 2381
+ Name: "MI_RUSH_WINDMILL"
+ Description: "Windmill Rush Attack"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 7
+ Lv2: 8
+ Lv3: 9
+ Lv4: 10
+ Lv5: 11
+ Lv6: 12
+ Lv7: 13
+ Lv8: 14
+ Lv9: 15
+ Lv10: 16
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 2000
+ SkillData1: 60000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 82
+ Lv2: 88
+ Lv3: 94
+ Lv4: 100
+ Lv5: 106
+ Lv6: 112
+ Lv7: 118
+ Lv8: 124
+ Lv9: 130
+ Lv10: 136
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+},
+{
+ Id: 2382
+ Name: "MI_ECHOSONG"
+ Description: "Echo Song"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 7
+ Lv2: 8
+ Lv3: 9
+ Lv4: 10
+ Lv5: 11
+ Lv6: 12
+ Lv7: 13
+ Lv8: 14
+ Lv9: 15
+ Lv10: 16
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 2000
+ SkillData1: 60000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 86
+ Lv2: 92
+ Lv3: 98
+ Lv4: 104
+ Lv5: 110
+ Lv6: 116
+ Lv7: 122
+ Lv8: 128
+ Lv9: 134
+ Lv10: 140
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+},
+{
+ Id: 2383
+ Name: "MI_HARMONIZE"
+ Description: "Harmonize"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ SkillData1: 60000
+ CoolDown: 5000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 70
+ Lv2: 75
+ Lv3: 80
+ Lv4: 85
+ Lv5: 90
+ Lv6: 95
+ Lv7: 100
+ Lv8: 105
+ Lv9: 110
+ Lv10: 115
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+},
+{
+ Id: 2412
+ Name: "WM_LESSON"
+ Description: "Lesson"
+ MaxLevel: 10
+ NumberOfHits: 0
+},
+{
+ Id: 2413
+ Name: "WM_METALICSOUND"
+ Description: "Metallic Sound"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Weapon"
+ NumberOfHits: {
+ Lv1: -2
+ Lv2: -2
+ Lv3: -3
+ Lv4: -3
+ Lv5: -4
+ Lv6: -4
+ Lv7: -5
+ Lv8: -5
+ Lv9: -6
+ Lv10: -6
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 1000
+ Lv2: 1500
+ Lv3: 2000
+ Lv4: 2500
+ Lv5: 3000
+ Lv6: 3500
+ Lv7: 4000
+ Lv8: 4500
+ Lv9: 5000
+ Lv10: 5500
+ }
+ AfterCastActDelay: 1000
+ CoolDown: {
+ Lv1: 2000
+ Lv2: 2500
+ Lv3: 3000
+ Lv4: 3500
+ Lv5: 4000
+ Lv6: 4500
+ Lv7: 5000
+ Lv8: 5500
+ Lv9: 6000
+ Lv10: 6500
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 64
+ Lv2: 68
+ Lv3: 72
+ Lv4: 76
+ Lv5: 80
+ Lv6: 84
+ Lv7: 88
+ Lv8: 92
+ Lv9: 96
+ Lv10: 100
+ }
+ }
+},
+{
+ Id: 2414
+ Name: "WM_REVERBERATION"
+ Description: "Reverberation"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ Element: "Ele_Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SplashRange: 1
+ InterruptCast: true
+ CastTime: {
+ Lv1: 1100
+ Lv2: 1200
+ Lv3: 1300
+ Lv4: 1400
+ Lv5: 1500
+ Lv6: 1600
+ Lv7: 1700
+ Lv8: 1800
+ Lv9: 1900
+ Lv10: 2000
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 9000
+ Lv2: 10000
+ Lv3: 11000
+ Lv4: 12000
+ Lv5: 13000
+ Lv6: 14000
+ Lv7: 15000
+ Lv8: 16000
+ Lv9: 17000
+ Lv10: 18000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 28
+ Lv2: 32
+ Lv3: 38
+ Lv4: 42
+ Lv5: 48
+ Lv6: 52
+ Lv7: 58
+ Lv8: 62
+ Lv9: 68
+ Lv10: 72
+ }
+ }
+ Unit: {
+ Id: 0xda
+ Interval: -1
+ Target: "Enemy"
+ }
+},
+{
+ Id: 2415
+ Name: "WM_REVERBERATION_MELEE"
+ Description: "Reverberation Melee"
+ MaxLevel: 5
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2416
+ Name: "WM_REVERBERATION_MAGIC"
+ Description: "Reverberation Magic"
+ MaxLevel: 5
+ AttackType: "Magic"
+ Element: "Ele_Weapon"
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2417
+ Name: "WM_DOMINION_IMPULSE"
+ Description: "Dominion Impulse"
+ MaxLevel: 1
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 5
+ AfterCastActDelay: 1000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 2418
+ Name: "WM_SEVERE_RAINSTORM"
+ Description: "Severe Rainstorm"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 1500
+ Lv2: 2000
+ Lv3: 2500
+ Lv4: 3000
+ Lv5: 3500
+ Lv6: 4000
+ Lv7: 4500
+ Lv8: 5000
+ Lv9: 5500
+ Lv10: 6000
+ }
+ AfterCastActDelay: 1000
+ SkillData1: 3400
+ CoolDown: {
+ Lv1: 5000
+ Lv2: 5500
+ Lv3: 6000
+ Lv4: 6500
+ Lv5: 7000
+ Lv6: 7500
+ Lv7: 8000
+ Lv8: 8500
+ Lv9: 9000
+ Lv10: 9500
+ }
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 90
+ Lv3: 100
+ Lv4: 110
+ Lv5: 120
+ Lv6: 130
+ Lv7: 140
+ Lv8: 150
+ Lv9: 160
+ Lv10: 170
+ }
+ WeaponTypes: {
+ Bows: true
+ }
+ AmmoTypes: {
+ A_ARROW: true
+ }
+ AmmoAmount: 20
+ }
+ Unit: {
+ Id: 0xdb
+ Range: 5
+ Interval: 300
+ Target: "Enemy"
+ Flag: {
+ UF_DUALMODE: true
+ }
+ }
+},
+{
+ Id: 2419
+ Name: "WM_POEMOFNETHERWORLD"
+ Description: "Poem of The Netherworld"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 1
+ InterruptCast: true
+ SkillInstances: 5
+ CastTime: 3000
+ SkillData1: {
+ Lv1: 9000
+ Lv2: 11000
+ Lv3: 13000
+ Lv4: 15000
+ Lv5: 17000
+ Lv6: 19000
+ Lv7: 21000
+ Lv8: 23000
+ Lv9: 25000
+ Lv10: 27000
+ }
+ SkillData2: {
+ Lv1: 8000
+ Lv2: 10000
+ Lv3: 12000
+ Lv4: 14000
+ Lv5: 16000
+ Lv6: 18000
+ Lv7: 20000
+ Lv8: 22000
+ Lv9: 24000
+ Lv10: 26000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 12
+ Lv2: 16
+ Lv3: 20
+ Lv4: 24
+ Lv5: 28
+ Lv6: 32
+ Lv7: 36
+ Lv8: 40
+ Lv9: 44
+ Lv10: 48
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+// Items: {
+// Protect_Neck_Candy: 1
+// }
+ }
+ Unit: {
+ Id: 0xde
+ Range: 1
+ Interval: 1000
+ Target: "All"
+ Flag: {
+ UF_NOFOOTSET: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 2420
+ Name: "WM_VOICEOFSIREN"
+ Description: "Voice of Siren"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 3
+ Lv3: 4
+ Lv4: 5
+ Lv5: 6
+ Lv6: 7
+ Lv7: 8
+ Lv8: 9
+ Lv9: 10
+ Lv10: 11
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 2000
+ Lv2: 2200
+ Lv3: 2400
+ Lv4: 2600
+ Lv5: 2800
+ Lv6: 3000
+ Lv7: 3200
+ Lv8: 3400
+ Lv9: 3600
+ Lv10: 3800
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 15000
+ Lv2: 18000
+ Lv3: 21000
+ Lv4: 24000
+ Lv5: 27000
+ Lv6: 30000
+ Lv7: 33000
+ Lv8: 36000
+ Lv9: 39000
+ Lv10: 42000
+ }
+ CoolDown: 5000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 48
+ Lv2: 56
+ Lv3: 64
+ Lv4: 72
+ Lv5: 80
+ Lv6: 88
+ Lv7: 96
+ Lv8: 104
+ Lv9: 112
+ Lv10: 120
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+},
+{
+ Id: 2421
+ Name: "WM_DEADHILLHERE"
+ Description: "Valley of Death"
+ MaxLevel: 5
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 3000
+ Lv2: 2500
+ Lv3: 2000
+ Lv4: 1500
+ Lv5: 1000
+ Lv6: 500
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ AfterCastActDelay: 1000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 50
+ Lv2: 53
+ Lv3: 56
+ Lv4: 59
+ Lv5: 62
+ Lv6: 65
+ Lv7: 68
+ Lv8: 71
+ Lv9: 74
+ Lv10: 77
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+// Items: {
+// Heartbroken_Tears: 1
+// }
+ }
+},
+{
+ Id: 2422
+ Name: "WM_LULLABY_DEEPSLEEP"
+ Description: "Deep Sleep Lullaby"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 5
+ Lv2: 6
+ Lv3: 7
+ Lv4: 8
+ Lv5: 9
+ Lv6: 10
+ Lv7: 11
+ Lv8: 12
+ Lv9: 13
+ Lv10: 14
+ }
+ InterruptCast: true
+ CastTime: 2000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 12000
+ Lv2: 14000
+ Lv3: 16000
+ Lv4: 18000
+ Lv5: 20000
+ Lv6: 22000
+ Lv7: 24000
+ Lv8: 26000
+ Lv9: 28000
+ Lv10: 30000
+ }
+ CoolDown: 10000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 90
+ Lv3: 100
+ Lv4: 110
+ Lv5: 120
+ Lv6: 130
+ Lv7: 140
+ Lv8: 150
+ Lv9: 160
+ Lv10: 170
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+},
+{
+ Id: 2423
+ Name: "WM_SIRCLEOFNATURE"
+ Description: "Circle of Nature's Sound"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 3
+ Lv2: 4
+ Lv3: 5
+ Lv4: 6
+ Lv5: 7
+ Lv6: 8
+ Lv7: 9
+ Lv8: 10
+ Lv9: 11
+ Lv10: 12
+ }
+ InterruptCast: true
+ CastTime: 2000
+ AfterCastActDelay: 1000
+ SkillData1: 60000
+ CoolDown: 15000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 42
+ Lv2: 46
+ Lv3: 50
+ Lv4: 54
+ Lv5: 58
+ Lv6: 62
+ Lv7: 66
+ Lv8: 70
+ Lv9: 74
+ Lv10: 78
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+},
+{
+ Id: 2424
+ Name: "WM_RANDOMIZESPELL"
+ Description: "Improvised Song"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ CoolDown: 3000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 45
+ Lv3: 50
+ Lv4: 55
+ Lv5: 60
+ Lv6: 65
+ Lv7: 70
+ Lv8: 75
+ Lv9: 80
+ Lv10: 85
+ }
+ }
+},
+{
+ Id: 2425
+ Name: "WM_GLOOMYDAY"
+ Description: "Gloomy Day"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 45000
+ Lv3: 60000
+ Lv4: 75000
+ Lv5: 90000
+ Lv6: 105000
+ Lv7: 120000
+ Lv8: 135000
+ Lv9: 150000
+ Lv10: 165000
+ }
+ CoolDown: 10000
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 75
+ Lv3: 90
+ Lv4: 105
+ Lv5: 120
+ Lv6: 135
+ Lv7: 150
+ Lv8: 165
+ Lv9: 180
+ Lv10: 195
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+},
+{
+ Id: 2426
+ Name: "WM_GREAT_ECHO"
+ Description: "Great Echo"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Chorus: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 3
+ Lv3: 3
+ Lv4: 4
+ Lv5: 4
+ Lv6: 5
+ Lv7: 5
+ Lv8: 6
+ Lv9: 6
+ Lv10: 7
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 2000
+ Lv2: 2200
+ Lv3: 2400
+ Lv4: 2600
+ Lv5: 2800
+ Lv6: 3000
+ Lv7: 3200
+ Lv8: 3400
+ Lv9: 3600
+ Lv10: 3800
+ }
+ AfterCastActDelay: 1000
+ CoolDown: 10000
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 90
+ Lv3: 100
+ Lv4: 110
+ Lv5: 120
+ Lv6: 130
+ Lv7: 140
+ Lv8: 150
+ Lv9: 160
+ Lv10: 170
+ }
+// Items: {
+// Protect_Neck_Candy: 1
+// }
+ }
+},
+{
+ Id: 2427
+ Name: "WM_SONG_OF_MANA"
+ Description: "Song of Mana"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Chorus: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 5
+ Lv2: 6
+ Lv3: 7
+ Lv4: 8
+ Lv5: 9
+ Lv6: 10
+ Lv7: 11
+ Lv8: 12
+ Lv9: 13
+ Lv10: 14
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 60000
+ Lv3: 90000
+ Lv4: 120000
+ Lv5: 150000
+ Lv6: 180000
+ Lv7: 210000
+ Lv8: 240000
+ Lv9: 270000
+ Lv10: 300000
+ }
+ CoolDown: 90000
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 120
+ Lv2: 140
+ Lv3: 160
+ Lv4: 180
+ Lv5: 200
+ Lv6: 220
+ Lv7: 240
+ Lv8: 260
+ Lv9: 280
+ Lv10: 300
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+},
+{
+ Id: 2428
+ Name: "WM_DANCE_WITH_WUG"
+ Description: "Dance With A Warg"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Chorus: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 5
+ Lv2: 6
+ Lv3: 7
+ Lv4: 8
+ Lv5: 9
+ Lv6: 10
+ Lv7: 11
+ Lv8: 12
+ Lv9: 13
+ Lv10: 14
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 1500
+ Lv2: 2000
+ Lv3: 2500
+ Lv4: 3000
+ Lv5: 3500
+ Lv6: 4000
+ Lv7: 4500
+ Lv8: 5000
+ Lv9: 5500
+ Lv10: 6000
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 60000
+ Lv3: 90000
+ Lv4: 120000
+ Lv5: 150000
+ Lv6: 180000
+ Lv7: 210000
+ Lv8: 240000
+ Lv9: 270000
+ Lv10: 300000
+ }
+ CoolDown: 90000
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 120
+ Lv2: 140
+ Lv3: 160
+ Lv4: 180
+ Lv5: 200
+ Lv6: 220
+ Lv7: 240
+ Lv8: 260
+ Lv9: 280
+ Lv10: 300
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+},
+{
+ Id: 2429
+ Name: "WM_SOUND_OF_DESTRUCTION"
+ Description: "Sound of Destruction"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Chorus: true
+ }
+ DamageType: {
+ SplashArea: true
+ IgnoreFlee: true
+ }
+ SplashRange: {
+ Lv1: 4
+ Lv2: 4
+ Lv3: 5
+ Lv4: 5
+ Lv5: 6
+ Lv6: 6
+ Lv7: 7
+ Lv8: 7
+ Lv9: 8
+ Lv10: 8
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 0
+ Lv2: 500
+ Lv3: 1000
+ Lv4: 1500
+ Lv5: 2000
+ Lv6: 2500
+ Lv7: 3000
+ Lv8: 3500
+ Lv9: 4000
+ Lv10: 4500
+ }
+ AfterCastActDelay: 1000
+ SkillData1: 5000
+ CoolDown: {
+ Lv1: 6000
+ Lv2: 7000
+ Lv3: 8000
+ Lv4: 9000
+ Lv5: 10000
+ Lv6: 11000
+ Lv7: 12000
+ Lv8: 13000
+ Lv9: 14000
+ Lv10: 15000
+ }
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 50
+ Lv2: 60
+ Lv3: 70
+ Lv4: 80
+ Lv5: 90
+ Lv6: 100
+ Lv7: 110
+ Lv8: 120
+ Lv9: 130
+ Lv10: 140
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+},
+{
+ Id: 2430
+ Name: "WM_SATURDAY_NIGHT_FEVER"
+ Description: "Saturday Night Fever"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Chorus: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 3
+ Lv2: 4
+ Lv3: 5
+ Lv4: 6
+ Lv5: 7
+ Lv6: 8
+ Lv7: 9
+ Lv8: 10
+ Lv9: 11
+ Lv10: 12
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 1000
+ Lv2: 2000
+ Lv3: 3000
+ Lv4: 4000
+ Lv5: 5000
+ Lv6: 6000
+ Lv7: 7000
+ Lv8: 8000
+ Lv9: 9000
+ Lv10: 10000
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ SkillData2: 3000
+ CoolDown: 180000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 150
+ Lv2: 160
+ Lv3: 170
+ Lv4: 180
+ Lv5: 190
+ Lv6: 200
+ Lv7: 210
+ Lv8: 220
+ Lv9: 230
+ Lv10: 240
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+},
+{
+ Id: 2431
+ Name: "WM_LERADS_DEW"
+ Description: "Lerad's Dew"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Chorus: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 5
+ Lv2: 5
+ Lv3: 6
+ Lv4: 6
+ Lv5: 7
+ Lv6: 7
+ Lv7: 8
+ Lv8: 8
+ Lv9: 9
+ Lv10: 9
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 20000
+ Lv2: 30000
+ Lv3: 40000
+ Lv4: 50000
+ Lv5: 60000
+ Lv6: 70000
+ Lv7: 80000
+ Lv8: 90000
+ Lv9: 100000
+ Lv10: 110000
+ }
+ CoolDown: 180000
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 120
+ Lv2: 130
+ Lv3: 140
+ Lv4: 150
+ Lv5: 160
+ Lv6: 170
+ Lv7: 180
+ Lv8: 190
+ Lv9: 200
+ Lv10: 210
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+},
+{
+ Id: 2432
+ Name: "WM_MELODYOFSINK"
+ Description: "Melody of Sink"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Chorus: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 5
+ Lv2: 5
+ Lv3: 6
+ Lv4: 6
+ Lv5: 7
+ Lv6: 7
+ Lv7: 8
+ Lv8: 8
+ Lv9: 9
+ Lv10: 9
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 20000
+ Lv2: 30000
+ Lv3: 40000
+ Lv4: 50000
+ Lv5: 60000
+ Lv6: 70000
+ Lv7: 80000
+ Lv8: 90000
+ Lv9: 100000
+ Lv10: 110000
+ }
+ CoolDown: 180000
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 120
+ Lv2: 130
+ Lv3: 140
+ Lv4: 150
+ Lv5: 160
+ Lv6: 170
+ Lv7: 180
+ Lv8: 190
+ Lv9: 200
+ Lv10: 210
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+},
+{
+ Id: 2433
+ Name: "WM_BEYOND_OF_WARCRY"
+ Description: "Warcry of Beyond"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Chorus: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 5
+ Lv2: 5
+ Lv3: 6
+ Lv4: 6
+ Lv5: 7
+ Lv6: 7
+ Lv7: 8
+ Lv8: 8
+ Lv9: 9
+ Lv10: 9
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 20000
+ Lv2: 30000
+ Lv3: 40000
+ Lv4: 50000
+ Lv5: 60000
+ Lv6: 70000
+ Lv7: 80000
+ Lv8: 90000
+ Lv9: 100000
+ Lv10: 110000
+ }
+ CoolDown: 180000
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 120
+ Lv2: 130
+ Lv3: 140
+ Lv4: 150
+ Lv5: 160
+ Lv6: 170
+ Lv7: 180
+ Lv8: 190
+ Lv9: 200
+ Lv10: 210
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+},
+{
+ Id: 2434
+ Name: "WM_UNLIMITED_HUMMING_VOICE"
+ Description: "Unlimited Humming Voice"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Chorus: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 5
+ Lv2: 5
+ Lv3: 6
+ Lv4: 6
+ Lv5: 7
+ Lv6: 7
+ Lv7: 8
+ Lv8: 8
+ Lv9: 9
+ Lv10: 9
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 90000
+ Lv3: 120000
+ Lv4: 150000
+ Lv5: 180000
+ Lv6: 210000
+ Lv7: 240000
+ Lv8: 270000
+ Lv9: 300000
+ Lv10: 330000
+ }
+ CoolDown: {
+ Lv1: 110000
+ Lv2: 120000
+ Lv3: 130000
+ Lv4: 140000
+ Lv5: 150000
+ Lv6: 160000
+ Lv7: 170000
+ Lv8: 180000
+ Lv9: 190000
+ Lv10: 200000
+ }
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 120
+ Lv2: 130
+ Lv3: 140
+ Lv4: 150
+ Lv5: 160
+ Lv6: 170
+ Lv7: 180
+ Lv8: 190
+ Lv9: 200
+ Lv10: 210
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+ }
+},
+{
+ Id: 2443
+ Name: "SO_FIREWALK"
+ Description: "Fire Walk"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ InterruptCast: true
+ SkillInstances: {
+ Lv1: 7
+ Lv2: 9
+ Lv3: 11
+ Lv4: 13
+ Lv5: 15
+ Lv6: 17
+ Lv7: 19
+ Lv8: 21
+ Lv9: 23
+ Lv10: 25
+ }
+ CastTime: 1000
+ CoolDown: {
+ Lv1: 8500
+ Lv2: 11500
+ Lv3: 14500
+ Lv4: 17000
+ Lv5: 19000
+ Lv6: 20000
+ Lv7: 20000
+ Lv8: 20000
+ Lv9: 20000
+ Lv10: 20000
+ }
+ AfterCastActDelay: 2000
+ SkillData1: 9000
+ FixedCastTime: 300
+ Requirements: {
+ SPCost: {
+ Lv1: 110
+ Lv2: 130
+ Lv3: 150
+ Lv4: 220
+ Lv5: 250
+ Lv6: 250
+ Lv7: 250
+ Lv8: 250
+ Lv9: 250
+ Lv10: 250
+ }
+ }
+ Unit: {
+ Id: 0xdc
+ Interval: 750
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOOVERLAP: true
+ }
+ }
+},
+{
+ Id: 2444
+ Name: "SO_ELECTRICWALK"
+ Description: "Electric Walk"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ InterruptCast: true
+ SkillInstances: {
+ Lv1: 8
+ Lv2: 10
+ Lv3: 12
+ Lv4: 14
+ Lv5: 16
+ Lv6: 18
+ Lv7: 20
+ Lv8: 22
+ Lv9: 24
+ Lv10: 26
+ }
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ SkillData1: 12000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 34
+ Lv3: 38
+ Lv4: 42
+ Lv5: 46
+ Lv6: 50
+ Lv7: 54
+ Lv8: 58
+ Lv9: 62
+ Lv10: 66
+ }
+ }
+ Unit: {
+ Id: 0xdd
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOOVERLAP: true
+ }
+ }
+},
+{
+ Id: 2445
+ Name: "SO_SPELLFIST"
+ Description: "Spell Fist"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 20000
+ Lv2: 25000
+ Lv3: 30000
+ Lv4: 35000
+ Lv5: 40000
+ Lv6: 45000
+ Lv7: 50000
+ Lv8: 55000
+ Lv9: 60000
+ Lv10: 65000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 44
+ Lv3: 48
+ Lv4: 52
+ Lv5: 56
+ Lv6: 60
+ Lv7: 64
+ Lv8: 68
+ Lv9: 72
+ Lv10: 76
+ }
+ }
+},
+{
+ Id: 2446
+ Name: "SO_EARTHGRAVE"
+ Description: "Earth Grave"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Earth"
+ NumberOfHits: -3
+ InterruptCast: true
+ CastTime: {
+ Lv1: 2200
+ Lv2: 2400
+ Lv3: 2600
+ Lv4: 2800
+ Lv5: 3000
+ Lv6: 3200
+ Lv7: 3400
+ Lv8: 3600
+ Lv9: 3800
+ Lv10: 4000
+ }
+ AfterCastActDelay: 1000
+ SkillData1: 500
+ SkillData2: {
+ Lv1: 8000
+ Lv2: 11000
+ Lv3: 14000
+ Lv4: 17000
+ Lv5: 20000
+ Lv6: 23000
+ Lv7: 26000
+ Lv8: 29000
+ Lv9: 32000
+ Lv10: 35000
+ }
+ CoolDown: 5000
+ FixedCastTime: {
+ Lv1: 1800
+ Lv2: 1600
+ Lv3: 1400
+ Lv4: 1200
+ Lv5: 1000
+ Lv6: 800
+ Lv7: 600
+ Lv8: 400
+ Lv9: 200
+ Lv10: 1
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 62
+ Lv2: 70
+ Lv3: 78
+ Lv4: 86
+ Lv5: 94
+ Lv6: 102
+ Lv7: 110
+ Lv8: 118
+ Lv9: 126
+ Lv10: 134
+ }
+ }
+ Unit: {
+ Id: 0x86
+ Range: {
+ Lv1: 3
+ Lv2: 3
+ Lv3: 3
+ Lv4: 4
+ Lv5: 4
+ Lv6: 4
+ Lv7: 4
+ Lv8: 4
+ Lv9: 4
+ Lv10: 4
+ }
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 2447
+ Name: "SO_DIAMONDDUST"
+ Description: "Diamond Dust"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ NumberOfHits: -5
+ InterruptCast: true
+ CastTime: {
+ Lv1: 5000
+ Lv2: 5500
+ Lv3: 6000
+ Lv4: 6500
+ Lv5: 7000
+ Lv6: 7500
+ Lv7: 8000
+ Lv8: 8500
+ Lv9: 9000
+ Lv10: 9500
+ }
+ AfterCastActDelay: 1000
+ SkillData1: 500
+ SkillData2: {
+ Lv1: 12000
+ Lv2: 14000
+ Lv3: 16000
+ Lv4: 18000
+ Lv5: 20000
+ Lv6: 22000
+ Lv7: 24000
+ Lv8: 26000
+ Lv9: 28000
+ Lv10: 30000
+ }
+ CoolDown: 5000
+ FixedCastTime: {
+ Lv1: 800
+ Lv2: 600
+ Lv3: 400
+ Lv4: 200
+ Lv5: -1
+ Lv6: -1
+ Lv7: -1
+ Lv8: -1
+ Lv9: -1
+ Lv10: -1
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 50
+ Lv2: 56
+ Lv3: 62
+ Lv4: 68
+ Lv5: 74
+ Lv6: 80
+ Lv7: 86
+ Lv8: 92
+ Lv9: 98
+ Lv10: 104
+ }
+ }
+ Unit: {
+ Id: 0x86
+ Range: {
+ Lv1: 3
+ Lv2: 3
+ Lv3: 3
+ Lv4: 4
+ Lv5: 4
+ Lv6: 4
+ Lv7: 4
+ Lv8: 4
+ Lv9: 4
+ Lv10: 4
+ }
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 2448
+ Name: "SO_POISON_BUSTER"
+ Description: "Poison Buster"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Nature"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 1
+ Lv4: 1
+ Lv5: 2
+ Lv6: 2
+ Lv7: 2
+ Lv8: 2
+ Lv9: 2
+ Lv10: 2
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 2200
+ Lv2: 3400
+ Lv3: 4600
+ Lv4: 5800
+ Lv5: 6000
+ Lv6: 6000
+ Lv7: 6000
+ Lv8: 6000
+ Lv9: 6000
+ Lv10: 6000
+ }
+ AfterCastActDelay: 1000
+ CoolDown: 2000
+ FixedCastTime: {
+ Lv1: 800
+ Lv2: 600
+ Lv3: 400
+ Lv4: 200
+ Lv5: -1
+ Lv6: -1
+ Lv7: -1
+ Lv8: -1
+ Lv9: -1
+ Lv10: -1
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 70
+ Lv2: 90
+ Lv3: 110
+ Lv4: 130
+ Lv5: 150
+ Lv6: 170
+ Lv7: 190
+ Lv8: 210
+ Lv9: 230
+ Lv10: 250
+ }
+ }
+},
+{
+ Id: 2449
+ Name: "SO_PSYCHIC_WAVE"
+ Description: "Psychic Wave"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ InterruptCast: true
+ CastTime: {
+ Lv1: 8000
+ Lv2: 9000
+ Lv3: 10000
+ Lv4: 11000
+ Lv5: 12000
+ Lv6: 13000
+ Lv7: 14000
+ Lv8: 15000
+ Lv9: 16000
+ Lv10: 17000
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 1200
+ Lv2: 1700
+ Lv3: 2200
+ Lv4: 2700
+ Lv5: 3200
+ Lv6: 3700
+ Lv7: 4200
+ Lv8: 4700
+ Lv9: 5200
+ Lv10: 5700
+ }
+ CoolDown: 5000
+ FixedCastTime: {
+ Lv1: 1000
+ Lv2: 900
+ Lv3: 800
+ Lv4: 700
+ Lv5: 600
+ Lv6: 500
+ Lv7: 400
+ Lv8: 300
+ Lv9: 200
+ Lv10: 100
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 48
+ Lv2: 56
+ Lv3: 64
+ Lv4: 70
+ Lv5: 78
+ Lv6: 78
+ Lv7: 78
+ Lv8: 78
+ Lv9: 78
+ Lv10: 78
+ }
+ }
+ Unit: {
+ Id: 0xdf
+ Range: {
+ Lv1: 3
+ Lv2: 3
+ Lv3: 4
+ Lv4: 4
+ Lv5: 5
+ Lv6: 5
+ Lv7: 6
+ Lv8: 6
+ Lv9: 7
+ Lv10: 7
+ }
+ Interval: 500
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 2450
+ Name: "SO_CLOUD_KILL"
+ Description: "Cloud Kill"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Nature"
+ InterruptCast: true
+ CastTime: {
+ Lv1: 2300
+ Lv2: 2500
+ Lv3: 2700
+ Lv4: 2900
+ Lv5: 3100
+ Lv6: 3300
+ Lv7: 3500
+ Lv8: 3700
+ Lv9: 3900
+ Lv10: 4100
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 8000
+ Lv2: 10000
+ Lv3: 12000
+ Lv4: 14000
+ Lv5: 16000
+ Lv6: 18000
+ Lv7: 20000
+ Lv8: 22000
+ Lv9: 24000
+ Lv10: 26000
+ }
+ SkillData2: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ CoolDown: 5000
+ FixedCastTime: {
+ Lv1: 700
+ Lv2: 500
+ Lv3: 300
+ Lv4: 100
+ Lv5: -1
+ Lv6: -1
+ Lv7: -1
+ Lv8: -1
+ Lv9: -1
+ Lv10: -1
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 48
+ Lv2: 56
+ Lv3: 64
+ Lv4: 70
+ Lv5: 78
+ Lv6: 78
+ Lv7: 78
+ Lv8: 78
+ Lv9: 78
+ Lv10: 78
+ }
+// Items: {
+// Red_Gemstone: 2
+// }
+ }
+ Unit: {
+ Id: 0xe0
+ Layout: 3
+ Interval: 500
+ Target: "Enemy"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 2451
+ Name: "SO_STRIKING"
+ Description: "Striking"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ SkillData1: 60000
+ CoolDown: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 50
+ Lv2: 55
+ Lv3: 60
+ Lv4: 65
+ Lv5: 70
+ Lv6: 75
+ Lv7: 80
+ Lv8: 85
+ Lv9: 90
+ Lv10: 95
+ }
+ }
+},
+{
+ Id: 2452
+ Name: "SO_WARMER"
+ Description: "Warmer"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 2200
+ Lv2: 2400
+ Lv3: 2600
+ Lv4: 2800
+ Lv5: 3000
+ Lv6: 3200
+ Lv7: 3400
+ Lv8: 3600
+ Lv9: 3800
+ Lv10: 4000
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 40000
+ Lv2: 45000
+ Lv3: 50000
+ Lv4: 55000
+ Lv5: 60000
+ Lv6: 65000
+ Lv7: 70000
+ Lv8: 75000
+ Lv9: 80000
+ Lv10: 85000
+ }
+ SkillData2: 30000
+ CoolDown: {
+ Lv1: 35000
+ Lv2: 40000
+ Lv3: 45000
+ Lv4: 50000
+ Lv5: 55000
+ Lv6: 60000
+ Lv7: 65000
+ Lv8: 70000
+ Lv9: 75000
+ Lv10: 80000
+ }
+ FixedCastTime: {
+ Lv1: 1800
+ Lv2: 1600
+ Lv3: 1400
+ Lv4: 1200
+ Lv5: 1000
+ Lv6: 800
+ Lv7: 600
+ Lv8: 400
+ Lv9: 200
+ Lv10: 1
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 52
+ Lv3: 64
+ Lv4: 76
+ Lv5: 88
+ Lv6: 100
+ Lv7: 112
+ Lv8: 124
+ Lv9: 136
+ Lv10: 148
+ }
+ }
+ Unit: {
+ Id: 0xe4
+ Range: 3
+ Interval: 3000
+ Target: "All"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 2453
+ Name: "SO_VACUUM_EXTREME"
+ Description: "Vacuum Extreme"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 1000
+ Lv2: 1500
+ Lv3: 2000
+ Lv4: 2500
+ Lv5: 3000
+ Lv6: 3500
+ Lv7: 4000
+ Lv8: 4500
+ Lv9: 5000
+ Lv10: 5500
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 4000
+ Lv2: 6000
+ Lv3: 8000
+ Lv4: 10000
+ Lv5: 12000
+ Lv6: 14000
+ Lv7: 16000
+ Lv8: 18000
+ Lv9: 20000
+ Lv10: 22000
+ }
+ CoolDown: 5000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 34
+ Lv2: 42
+ Lv3: 50
+ Lv4: 58
+ Lv5: 66
+ Lv6: 74
+ Lv7: 82
+ Lv8: 90
+ Lv9: 98
+ Lv10: 106
+ }
+ }
+ Unit: {
+ Id: 0xeb
+ Range: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 2
+ Lv4: 2
+ Lv5: 3
+ Lv6: 3
+ Lv7: 4
+ Lv8: 4
+ Lv9: 5
+ Lv10: 5
+ }
+ Interval: 500
+ Target: "Enemy"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 2454
+ Name: "SO_VARETYR_SPEAR"
+ Description: "Varetyr Spear"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 2
+ Lv4: 2
+ Lv5: 3
+ Lv6: 3
+ Lv7: 4
+ Lv8: 4
+ Lv9: 5
+ Lv10: 5
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 2200
+ Lv2: 2400
+ Lv3: 2600
+ Lv4: 2800
+ Lv5: 3000
+ Lv6: 3200
+ Lv7: 3400
+ Lv8: 3600
+ Lv9: 3800
+ Lv10: 4000
+ }
+ AfterCastActDelay: 1000
+ SkillData2: {
+ Lv1: 2200
+ Lv2: 2400
+ Lv3: 2600
+ Lv4: 2800
+ Lv5: 3000
+ Lv6: 3200
+ Lv7: 3400
+ Lv8: 3600
+ Lv9: 3800
+ Lv10: 4000
+ }
+ CoolDown: 2000
+ FixedCastTime: {
+ Lv1: 1800
+ Lv2: 1600
+ Lv3: 1400
+ Lv4: 1200
+ Lv5: 1000
+ Lv6: 800
+ Lv7: 600
+ Lv8: 400
+ Lv9: 200
+ Lv10: 1
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 55
+ Lv2: 62
+ Lv3: 69
+ Lv4: 76
+ Lv5: 83
+ Lv6: 90
+ Lv7: 97
+ Lv8: 104
+ Lv9: 111
+ Lv10: 118
+ }
+ }
+},
+{
+ Id: 2455
+ Name: "SO_ARRULLO"
+ Description: "Arrullo"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 2
+ Lv4: 2
+ Lv5: 3
+ Lv6: 3
+ Lv7: 4
+ Lv8: 4
+ Lv9: 5
+ Lv10: 5
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 2200
+ Lv2: 2400
+ Lv3: 2600
+ Lv4: 2800
+ Lv5: 3000
+ Lv6: 3200
+ Lv7: 3400
+ Lv8: 3600
+ Lv9: 3800
+ Lv10: 4000
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 8000
+ Lv2: 10000
+ Lv3: 12000
+ Lv4: 14000
+ Lv5: 16000
+ Lv6: 18000
+ Lv7: 20000
+ Lv8: 22000
+ Lv9: 24000
+ Lv10: 26000
+ }
+ CoolDown: {
+ Lv1: 5000
+ Lv2: 6000
+ Lv3: 7000
+ Lv4: 8000
+ Lv5: 9000
+ Lv6: 10000
+ Lv7: 11000
+ Lv8: 12000
+ Lv9: 13000
+ Lv10: 14000
+ }
+ FixedCastTime: {
+ Lv1: 800
+ Lv2: 600
+ Lv3: 400
+ Lv4: 200
+ Lv5: -1
+ Lv6: -1
+ Lv7: -1
+ Lv8: -1
+ Lv9: -1
+ Lv10: -1
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 35
+ Lv3: 40
+ Lv4: 45
+ Lv5: 50
+ Lv6: 55
+ Lv7: 60
+ Lv8: 65
+ Lv9: 70
+ Lv10: 75
+ }
+// Items: {
+// Yellow_Gemstone: 1
+// }
+ }
+},
+{
+ Id: 2456
+ Name: "SO_EL_CONTROL"
+ Description: "Spirit Control"
+ MaxLevel: 4
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2000
+ CoolDown: 5000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ State: "ElementalSpirit"
+ }
+},
+{
+ Id: 2457
+ Name: "SO_SUMMON_AGNI"
+ Description: "Summon Fire Spirit Agni"
+ MaxLevel: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ Element: "Ele_Fire"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 1000
+ Lv2: 2000
+ Lv3: 3000
+ Lv4: 4000
+ Lv5: 5000
+ Lv6: 6000
+ Lv7: 7000
+ Lv8: 8000
+ Lv9: 9000
+ Lv10: 10000
+ }
+ SkillData1: {
+ Lv1: 600000
+ Lv2: 900000
+ Lv3: 1200000
+ Lv4: 1500000
+ Lv5: 1800000
+ Lv6: 2100000
+ Lv7: 2400000
+ Lv8: 2700000
+ Lv9: 3000000
+ Lv10: 3300000
+ }
+ CoolDown: 60000
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: {
+ Lv1: 100
+ Lv2: 150
+ Lv3: 200
+ Lv4: 250
+ Lv5: 300
+ Lv6: 350
+ Lv7: 400
+ Lv8: 450
+ Lv9: 500
+ Lv10: 550
+ }
+// Items: {
+// Boody_Red: 3
+// Boody_Red: 6
+// Flame_Heart: 1
+// }
+ }
+},
+{
+ Id: 2458
+ Name: "SO_SUMMON_AQUA"
+ Description: "Summon Water Spirit Aqua"
+ MaxLevel: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ Element: "Ele_Water"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 1000
+ Lv2: 2000
+ Lv3: 3000
+ Lv4: 4000
+ Lv5: 5000
+ Lv6: 6000
+ Lv7: 7000
+ Lv8: 8000
+ Lv9: 9000
+ Lv10: 10000
+ }
+ SkillData1: {
+ Lv1: 600000
+ Lv2: 900000
+ Lv3: 1200000
+ Lv4: 1500000
+ Lv5: 1800000
+ Lv6: 2100000
+ Lv7: 2400000
+ Lv8: 2700000
+ Lv9: 3000000
+ Lv10: 3300000
+ }
+ CoolDown: 60000
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: {
+ Lv1: 100
+ Lv2: 150
+ Lv3: 200
+ Lv4: 250
+ Lv5: 300
+ Lv6: 350
+ Lv7: 400
+ Lv8: 450
+ Lv9: 500
+ Lv10: 550
+ }
+// Items: {
+// Crystal_Blue: 3
+// Crystal_Blue: 6
+// Mistic_Frozen: 1
+// }
+ }
+},
+{
+ Id: 2459
+ Name: "SO_SUMMON_VENTUS"
+ Description: "Summon Wind Spirit Ventus"
+ MaxLevel: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ Element: "Ele_Wind"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 1000
+ Lv2: 2000
+ Lv3: 3000
+ Lv4: 4000
+ Lv5: 5000
+ Lv6: 6000
+ Lv7: 7000
+ Lv8: 8000
+ Lv9: 9000
+ Lv10: 10000
+ }
+ SkillData1: {
+ Lv1: 600000
+ Lv2: 900000
+ Lv3: 1200000
+ Lv4: 1500000
+ Lv5: 1800000
+ Lv6: 2100000
+ Lv7: 2400000
+ Lv8: 2700000
+ Lv9: 3000000
+ Lv10: 3300000
+ }
+ CoolDown: 60000
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: {
+ Lv1: 100
+ Lv2: 150
+ Lv3: 200
+ Lv4: 250
+ Lv5: 300
+ Lv6: 350
+ Lv7: 400
+ Lv8: 450
+ Lv9: 500
+ Lv10: 550
+ }
+// Items: {
+// Wind_Of_Verdure: 3
+// Wind_Of_Verdure: 6
+// Rough_Wind: 1
+// }
+ }
+},
+{
+ Id: 2460
+ Name: "SO_SUMMON_TERA"
+ Description: "Summon Earth Spirit Tera"
+ MaxLevel: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ Element: "Ele_Earth"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 1000
+ Lv2: 2000
+ Lv3: 3000
+ Lv4: 4000
+ Lv5: 5000
+ Lv6: 6000
+ Lv7: 7000
+ Lv8: 8000
+ Lv9: 9000
+ Lv10: 10000
+ }
+ SkillData1: {
+ Lv1: 600000
+ Lv2: 900000
+ Lv3: 1200000
+ Lv4: 1500000
+ Lv5: 1800000
+ Lv6: 2100000
+ Lv7: 2400000
+ Lv8: 2700000
+ Lv9: 3000000
+ Lv10: 3300000
+ }
+ CoolDown: 60000
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: {
+ Lv1: 100
+ Lv2: 150
+ Lv3: 200
+ Lv4: 250
+ Lv5: 300
+ Lv6: 350
+ Lv7: 400
+ Lv8: 450
+ Lv9: 500
+ Lv10: 550
+ }
+// Items: {
+// Yellow_Live: 3
+// Yellow_Live: 6
+// Great_Nature: 1
+// }
+ }
+},
+{
+ Id: 2461
+ Name: "SO_EL_ACTION"
+ Description: "Elemental Action"
+ MaxLevel: 1
+ Range: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CoolDown: 5000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 50
+ State: "ElementalSpirit"
+ }
+},
+{
+ Id: 2462
+ Name: "SO_EL_ANALYSIS"
+ Description: "Four Spirit Analysis"
+ MaxLevel: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 20
+ Lv3: 30
+ Lv4: 40
+ Lv5: 50
+ Lv6: 60
+ Lv7: 70
+ Lv8: 80
+ Lv9: 90
+ Lv10: 100
+ }
+ }
+},
+{
+ Id: 2463
+ Name: "SO_EL_SYMPATHY"
+ Description: "Spirit Sympathy"
+ MaxLevel: 5
+ NumberOfHits: 0
+},
+{
+ Id: 2464
+ Name: "SO_EL_CURE"
+ Description: "Spirit Recovery"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2000
+ AfterCastActDelay: 1000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 10
+ State: "ElementalSpirit"
+ }
+},
+{
+ Id: 2465
+ Name: "SO_FIRE_INSIGNIA"
+ Description: "Fire Insignia"
+ MaxLevel: 3
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillInstances: 1
+ CastTime: 1000
+ SkillData1: 60000
+ CoolDown: 60000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 22
+ Lv2: 30
+ Lv3: 38
+ Lv4: 46
+ Lv5: 54
+ Lv6: 62
+ Lv7: 70
+ Lv8: 78
+ Lv9: 86
+ Lv10: 94
+ }
+// Items: {
+// Scarlet_Pts: 1
+// Scarlet_Pts: 2
+// Scarlet_Pts: 3
+// }
+ }
+ Unit: {
+ Id: 0xf1
+ Range: 1
+ Interval: 1000
+ Target: "All"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 2466
+ Name: "SO_WATER_INSIGNIA"
+ Description: "Water Insignia"
+ MaxLevel: 3
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillInstances: 1
+ CastTime: 1000
+ SkillData1: 60000
+ CoolDown: 60000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 22
+ Lv2: 30
+ Lv3: 38
+ Lv4: 46
+ Lv5: 54
+ Lv6: 62
+ Lv7: 70
+ Lv8: 78
+ Lv9: 86
+ Lv10: 94
+ }
+// Items: {
+// Indigo_Pts: 1
+// Indigo_Pts: 2
+// Indigo_Pts: 3
+// }
+ }
+ Unit: {
+ Id: 0xf2
+ Range: 1
+ Interval: 1000
+ Target: "All"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 2467
+ Name: "SO_WIND_INSIGNIA"
+ Description: "Wind Insignia"
+ MaxLevel: 3
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillInstances: 1
+ CastTime: 1000
+ SkillData1: 60000
+ CoolDown: 60000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 22
+ Lv2: 30
+ Lv3: 38
+ Lv4: 46
+ Lv5: 54
+ Lv6: 62
+ Lv7: 70
+ Lv8: 78
+ Lv9: 86
+ Lv10: 94
+ }
+// Items: {
+// Yellow_Wish_Pts: 1
+// Yellow_Wish_Pts: 2
+// Yellow_Wish_Pts: 3
+// }
+ }
+ Unit: {
+ Id: 0xf3
+ Range: 1
+ Interval: 1000
+ Target: "All"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 2468
+ Name: "SO_EARTH_INSIGNIA"
+ Description: "Earth Insignia"
+ MaxLevel: 3
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Earth"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillInstances: 1
+ CastTime: 1000
+ SkillData1: 60000
+ CoolDown: 60000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 22
+ Lv2: 30
+ Lv3: 38
+ Lv4: 46
+ Lv5: 54
+ Lv6: 62
+ Lv7: 70
+ Lv8: 78
+ Lv9: 86
+ Lv10: 94
+ }
+// Items: {
+// Lime_Green_Pts: 1
+// Lime_Green_Pts: 2
+// Lime_Green_Pts: 3
+// }
+ }
+ Unit: {
+ Id: 0xf4
+ Range: 1
+ Interval: 1000
+ Target: "All"
+ Flag: {
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 2474
+ Name: "GN_TRAINING_SWORD"
+ Description: "Sword Training"
+ MaxLevel: 5
+ NumberOfHits: 0
+},
+{
+ Id: 2475
+ Name: "GN_REMODELING_CART"
+ Description: "Cart Remodeling"
+ MaxLevel: 5
+ NumberOfHits: 0
+},
+{
+ Id: 2476
+ Name: "GN_CART_TORNADO"
+ Description: "Cart Tornado"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 2
+ KnockBackTiles: 2
+ AfterCastActDelay: 500
+ SkillData1: 5000
+ CoolDown: {
+ Lv1: 0
+ Lv2: 500
+ Lv3: 1000
+ Lv4: 1500
+ Lv5: 2000
+ Lv6: 2500
+ Lv7: 3000
+ Lv8: 3500
+ Lv9: 4000
+ Lv10: 4500
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 30
+ State: "Cart"
+ }
+},
+{
+ Id: 2477
+ Name: "GN_CARTCANNON"
+ Description: "Cart Cannon"
+ MaxLevel: 5
+ Range: {
+ Lv1: 7
+ Lv2: 8
+ Lv3: 9
+ Lv4: 10
+ Lv5: 11
+ Lv6: 12
+ Lv7: 13
+ Lv8: 14
+ Lv9: 15
+ Lv10: 16
+ }
+ Hit: "BDT_SKILL"
+ 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
+ }
+ InterruptCast: true
+ CastTime: {
+ Lv1: 1000
+ Lv2: 1500
+ Lv3: 2000
+ Lv4: 2500
+ Lv5: 3000
+ Lv6: 3500
+ Lv7: 4000
+ Lv8: 4500
+ Lv9: 5000
+ Lv10: 5500
+ }
+ AfterCastActDelay: 500
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 42
+ Lv3: 44
+ Lv4: 46
+ Lv5: 48
+ Lv6: 50
+ Lv7: 52
+ Lv8: 54
+ Lv9: 56
+ Lv10: 58
+ }
+ AmmoTypes: {
+ A_CANNONBALL: true
+ }
+ AmmoAmount: 1
+ State: "Cart"
+ }
+},
+{
+ Id: 2478
+ Name: "GN_CARTBOOST"
+ Description: "Cart Boost"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1500
+ AfterCastActDelay: 500
+ SkillData1: 90000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 24
+ Lv3: 28
+ Lv4: 32
+ Lv5: 36
+ Lv6: 40
+ Lv7: 44
+ Lv8: 48
+ Lv9: 52
+ Lv10: 56
+ }
+ State: "Cart"
+ }
+},
+{
+ Id: 2479
+ Name: "GN_THORNS_TRAP"
+ Description: "Thorn Trap"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ InterruptCast: true
+ SkillInstances: 5
+ CastTime: 1500
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 12000
+ Lv3: 14000
+ Lv4: 16000
+ Lv5: 18000
+ Lv6: 20000
+ Lv7: 22000
+ Lv8: 24000
+ Lv9: 26000
+ Lv10: 28000
+ }
+ SkillData2: 20000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 22
+ Lv2: 26
+ Lv3: 30
+ Lv4: 34
+ Lv5: 38
+ Lv6: 42
+ Lv7: 46
+ Lv8: 50
+ Lv9: 54
+ Lv10: 58
+ }
+// Items: {
+// Seed_Of_Horny_Plant: 1
+// }
+ }
+ Unit: {
+ Id: 0xe5
+ Range: 1
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 2480
+ Name: "GN_BLOOD_SUCKER"
+ Description: "Blood Sucker"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillInstances: 3
+ CastTime: 1500
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 20000
+ Lv2: 22000
+ Lv3: 24000
+ Lv4: 26000
+ Lv5: 28000
+ Lv6: 30000
+ Lv7: 32000
+ Lv8: 34000
+ Lv9: 36000
+ Lv10: 38000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 35
+ Lv3: 40
+ Lv4: 45
+ Lv5: 50
+ Lv6: 55
+ Lv7: 60
+ Lv8: 65
+ Lv9: 70
+ Lv10: 75
+ }
+// Items: {
+// Bloodsuck_Plant_Seed: 1
+// }
+ }
+},
+{
+ Id: 2481
+ Name: "GN_SPORE_EXPLOSION"
+ Description: "Spore Explosion"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ InterruptCast: true
+ CastTime: 1500
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 2000
+ Lv2: 2000
+ Lv3: 3000
+ Lv4: 3000
+ Lv5: 4000
+ Lv6: 4000
+ Lv7: 5000
+ Lv8: 5000
+ Lv9: 6000
+ Lv10: 6000
+ }
+ CoolDown: 5000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 55
+ Lv2: 60
+ Lv3: 65
+ Lv4: 70
+ Lv5: 75
+ Lv6: 80
+ Lv7: 85
+ Lv8: 90
+ Lv9: 95
+ Lv10: 100
+ }
+// Items: {
+// Bomb_Mushroom_Spore: 1
+// }
+ }
+},
+{
+ Id: 2482
+ Name: "GN_WALLOFTHORN"
+ Description: "Wall of Thorns"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: -1
+ InterruptCast: true
+ SkillInstances: 1
+ KnockBackTiles: 2
+ CastTime: 1500
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 11000
+ Lv3: 12000
+ Lv4: 13000
+ Lv5: 14000
+ Lv6: 15000
+ Lv7: 16000
+ Lv8: 17000
+ Lv9: 18000
+ Lv10: 19000
+ }
+ CoolDown: 5000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 50
+ Lv3: 60
+ Lv4: 70
+ Lv5: 80
+ Lv6: 90
+ Lv7: 100
+ Lv8: 110
+ Lv9: 120
+ Lv10: 130
+ }
+// Items: {
+// Seed_Of_Horny_Plant: 1
+// }
+ }
+ Unit: {
+ Id: [ 0xe6, 0x7f ]
+ Layout: -1
+ Range: 2
+ Interval: -1
+ Target: "All"
+ }
+},
+{
+ Id: 2483
+ Name: "GN_CRAZYWEED"
+ Description: "Crazy Weed"
+ MaxLevel: 10
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 4
+ InterruptCast: true
+ CastTime: {
+ Lv1: 3000
+ Lv2: 3500
+ Lv3: 4000
+ Lv4: 4500
+ Lv5: 5000
+ Lv6: 5500
+ Lv7: 6000
+ Lv8: 6500
+ Lv9: 7000
+ Lv10: 7500
+ }
+ AfterCastActDelay: 500
+ CoolDown: 5000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 24
+ Lv2: 28
+ Lv3: 32
+ Lv4: 36
+ Lv5: 40
+ Lv6: 44
+ Lv7: 48
+ Lv8: 52
+ Lv9: 56
+ Lv10: 60
+ }
+// Items: {
+// Seed_Of_Horny_Plant: 1
+// }
+ }
+},
+{
+ Id: 2484
+ Name: "GN_CRAZYWEED_ATK"
+ Description: "Crazy Weed Attack"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Earth"
+ SkillData1: 100
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+ Unit: {
+ Id: 0x86
+ Range: 2
+ Interval: 100
+ Target: "Enemy"
+ Flag: {
+ UF_SKILL: true
+ }
+ }
+},
+{
+ Id: 2485
+ Name: "GN_DEMONIC_FIRE"
+ Description: "Demonic Fire"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ InterruptCast: true
+ CastTime: {
+ Lv1: 3000
+ Lv2: 3500
+ Lv3: 4000
+ Lv4: 4500
+ Lv5: 5000
+ Lv6: 5500
+ Lv7: 6000
+ Lv8: 6500
+ Lv9: 7000
+ Lv10: 7500
+ }
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 12000
+ Lv3: 14000
+ Lv4: 16000
+ Lv5: 18000
+ Lv6: 20000
+ Lv7: 22000
+ Lv8: 24000
+ Lv9: 26000
+ Lv10: 28000
+ }
+ SkillData2: {
+ Lv1: 8000
+ Lv2: 16000
+ Lv3: 24000
+ Lv4: 32000
+ Lv5: 40000
+ Lv6: 48000
+ Lv7: 56000
+ Lv8: 64000
+ Lv9: 72000
+ Lv10: 80000
+ }
+ CoolDown: 5000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 24
+ Lv2: 28
+ Lv3: 32
+ Lv4: 36
+ Lv5: 40
+ Lv6: 44
+ Lv7: 48
+ Lv8: 52
+ Lv9: 56
+ Lv10: 60
+ }
+// Items: {
+// Fire_Bottle: 1
+// }
+ }
+ Unit: {
+ Id: 0xe7
+ Range: 3
+ Interval: 2000
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ UF_SKILL: true
+ }
+ }
+},
+{
+ Id: 2486
+ Name: "GN_FIRE_EXPANSION"
+ Description: "Fire Expansion"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ InterruptCast: true
+ CastTime: 2000
+ AfterCastActDelay: 500
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 35
+ Lv3: 40
+ Lv4: 45
+ Lv5: 50
+ Lv6: 55
+ Lv7: 60
+ Lv8: 65
+ Lv9: 70
+ Lv10: 75
+ }
+// Items: {
+// Oil_Bottle: 1
+// Explosive_Powder: 1
+// Smoke_Powder: 1
+// Tear_Gas: 1
+// Acid_Bottle: 1
+// }
+ }
+},
+{
+ Id: 2487
+ Name: "GN_FIRE_EXPANSION_SMOKE_POWDER"
+ Description: "Fire Expansion Smoke Powder"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 12000
+ Lv3: 14000
+ Lv4: 16000
+ Lv5: 18000
+ Lv6: 20000
+ Lv7: 22000
+ Lv8: 24000
+ Lv9: 26000
+ Lv10: 28000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+ Unit: {
+ Id: 0xe8
+ Range: 3
+ Interval: 1000
+ Target: "Enemy"
+ }
+},
+{
+ Id: 2488
+ Name: "GN_FIRE_EXPANSION_TEAR_GAS"
+ Description: "Fire Expansion Tear Gas"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 12000
+ Lv3: 14000
+ Lv4: 16000
+ Lv5: 18000
+ Lv6: 20000
+ Lv7: 22000
+ Lv8: 24000
+ Lv9: 26000
+ Lv10: 28000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+ Unit: {
+ Id: 0xe9
+ Range: 3
+ Interval: 1000
+ Target: "Enemy"
+ }
+},
+{
+ Id: 2489
+ Name: "GN_FIRE_EXPANSION_ACID"
+ Description: "Fire Expansion Acid"
+ MaxLevel: 10
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2490
+ Name: "GN_HELLS_PLANT"
+ Description: "Hell's Plant"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 1
+ InterruptCast: true
+ SkillInstances: {
+ Lv1: 2
+ Lv2: 3
+ Lv3: 4
+ Lv4: 5
+ Lv5: 6
+ Lv6: 7
+ Lv7: 8
+ Lv8: 9
+ Lv9: 10
+ Lv10: 11
+ }
+ CastTime: {
+ Lv1: 3000
+ Lv2: 3500
+ Lv3: 4000
+ Lv4: 4500
+ Lv5: 5000
+ Lv6: 5500
+ Lv7: 6000
+ Lv8: 6500
+ Lv9: 7000
+ Lv10: 7500
+ }
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 14000
+ Lv2: 21000
+ Lv3: 28000
+ Lv4: 35000
+ Lv5: 42000
+ Lv6: 49000
+ Lv7: 56000
+ Lv8: 63000
+ Lv9: 70000
+ Lv10: 77000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 45
+ Lv3: 50
+ Lv4: 55
+ Lv5: 60
+ Lv6: 65
+ Lv7: 70
+ Lv8: 75
+ Lv9: 80
+ Lv10: 85
+ }
+// Items: {
+// MenEater_Plant_Bottle: 1
+// }
+ }
+ Unit: {
+ Id: 0xea
+ Range: 1
+ Interval: 1000
+ Target: "All"
+ Flag: {
+ UF_NOREITERATION: true
+ }
+ }
+},
+{
+ Id: 2491
+ Name: "GN_HELLS_PLANT_ATK"
+ Description: "Hell's Plant Attack"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ IgnoreFlee: true
+ IgnoreDefCards: true
+ }
+ SkillData1: 20000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2492
+ Name: "GN_MANDRAGORA"
+ Description: "Howling of Mandragora"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 5
+ Lv2: 6
+ Lv3: 6
+ Lv4: 7
+ Lv5: 7
+ Lv6: 8
+ Lv7: 8
+ Lv8: 9
+ Lv9: 9
+ Lv10: 10
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ CoolDown: 10000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 45
+ Lv3: 50
+ Lv4: 55
+ Lv5: 60
+ Lv6: 65
+ Lv7: 70
+ Lv8: 75
+ Lv9: 80
+ Lv10: 85
+ }
+// Items: {
+// Mandragora_Flowerpot: 1
+// }
+ }
+},
+{
+ Id: 2493
+ Name: "GN_SLINGITEM"
+ Description: "Sling Item"
+ MaxLevel: 1
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: 1000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 4
+ AmmoTypes: {
+ A_THROWWEAPON: true
+ }
+ AmmoAmount: 1
+ }
+},
+{
+ Id: 2494
+ Name: "GN_CHANGEMATERIAL"
+ Description: "Change Material"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 5
+ }
+},
+{
+ Id: 2495
+ Name: "GN_MIX_COOKING"
+ Description: "Mix Cooking"
+ MaxLevel: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 5
+ Lv2: 40
+ Lv3: 75
+ Lv4: 110
+ Lv5: 145
+ Lv6: 180
+ Lv7: 215
+ Lv8: 250
+ Lv9: 285
+ Lv10: 320
+ }
+ }
+},
+{
+ Id: 2496
+ Name: "GN_MAKEBOMB"
+ Description: "Create Bomb"
+ MaxLevel: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 5
+ Lv2: 40
+ Lv3: 75
+ Lv4: 110
+ Lv5: 145
+ Lv6: 180
+ Lv7: 215
+ Lv8: 250
+ Lv9: 285
+ Lv10: 320
+ }
+ }
+},
+{
+ Id: 2497
+ Name: "GN_S_PHARMACY"
+ Description: "Special Pharmacy"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 12
+ }
+},
+{
+ Id: 2498
+ Name: "GN_SLINGITEM_RANGEMELEEATK"
+ Description: "Sling Item Attack"
+ MaxLevel: 1
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ SkillData1: 3000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2515
+ Name: "AB_SECRAMENT"
+ Description: "Secrament"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 500
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 90000
+ Lv3: 120000
+ Lv4: 150000
+ Lv5: 180000
+ Lv6: 210000
+ Lv7: 240000
+ Lv8: 270000
+ Lv9: 300000
+ Lv10: 330000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 100
+ Lv2: 120
+ Lv3: 140
+ Lv4: 160
+ Lv5: 180
+ Lv6: 200
+ Lv7: 220
+ Lv8: 240
+ Lv9: 260
+ Lv10: 280
+ }
+ }
+},
+{
+ Id: 2516
+ Name: "WM_SEVERE_RAINSTORM_MELEE"
+ Description: "Severe Rainstorm Melee"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 5
+},
+{
+ Id: 2517
+ Name: "SR_HOWLINGOFLION"
+ Description: "Howling of Lion"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 3
+ Lv2: 4
+ Lv3: 5
+ Lv4: 6
+ Lv5: 7
+ Lv6: 8
+ Lv7: 9
+ Lv8: 10
+ Lv9: 11
+ Lv10: 12
+ }
+ CastTime: 1000
+ SkillData1: {
+ Lv1: 12000
+ Lv2: 14000
+ Lv3: 16000
+ Lv4: 18000
+ Lv5: 20000
+ Lv6: 22000
+ Lv7: 24000
+ Lv8: 26000
+ Lv9: 28000
+ Lv10: 30000
+ }
+ CoolDown: 10000
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 45
+ Lv3: 50
+ Lv4: 55
+ Lv5: 60
+ Lv6: 65
+ Lv7: 70
+ Lv8: 75
+ Lv9: 80
+ Lv10: 85
+ }
+ SpiritSphereCost: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ }
+},
+{
+ Id: 2518
+ Name: "SR_RIDEINLIGHTNING"
+ Description: "Ride In Lightening"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 2
+ Lv3: 3
+ Lv4: 3
+ Lv5: 4
+ Lv6: 4
+ Lv7: 5
+ Lv8: 5
+ Lv9: 6
+ Lv10: 6
+ }
+ CastTime: {
+ Lv1: 1000
+ Lv2: 2000
+ Lv3: 3000
+ Lv4: 4000
+ Lv5: 5000
+ Lv6: 6000
+ Lv7: 7000
+ Lv8: 8000
+ Lv9: 9000
+ Lv10: 10000
+ }
+ AfterCastActDelay: 1000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 50
+ Lv3: 60
+ Lv4: 70
+ Lv5: 80
+ Lv6: 90
+ Lv7: 100
+ Lv8: 110
+ Lv9: 120
+ Lv10: 130
+ }
+ SpiritSphereCost: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ }
+},
+{
+ Id: 2534
+ Name: "RETURN_TO_ELDICASTES"
+ Description: "Return To Eldicastes"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ CastTime: 3000
+ CoolDown: 300000
+ FixedCastTime: 0
+ CastTimeOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ IgnoreItemBonus: true
+ }
+ SkillDelayOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ IgnoreItemBonus: true
+ }
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2535
+ Name: "ALL_BUYING_STORE"
+ Description: "Open Buying Store"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ Requirements: {
+ SPCost: 1
+// Items: {
+// Buy_Market_Permit: 1
+// }
+ }
+},
+{
+ Id: 2536
+ Name: "ALL_GUARDIAN_RECALL"
+ Description: "Guardian's Recall"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ CastTime: 3000
+ CoolDown: 300000
+ FixedCastTime: 0
+ CastTimeOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ IgnoreItemBonus: true
+ }
+ SkillDelayOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ IgnoreItemBonus: true
+ }
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2537
+ Name: "ALL_ODINS_POWER"
+ Description: "Odin's Power"
+ MaxLevel: 2
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: 60000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 70
+ Lv2: 100
+ Lv3: 130
+ Lv4: 160
+ Lv5: 190
+ Lv6: 220
+ Lv7: 250
+ Lv8: 280
+ Lv9: 310
+ Lv10: 340
+ }
+ }
+},
+{
+ Id: 2544
+ Name: "MC_CARTDECORATE"
+ Description: "Change Cart 2"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 40
+ }
+},
+{
+ Id: 2551
+ Name: "RL_GLITTERING_GREED"
+ Description: "Flip The Coin Greed"
+ MaxLevel: 10
+ NumberOfHits: 0
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2552
+ Name: "RL_RICHS_COIN"
+ Description: "Rich's Coin"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 2553
+ Name: "RL_MASS_SPIRAL"
+ Description: "Mass Spiral"
+ MaxLevel: 5
+ Range: 15
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 84
+ Lv3: 88
+ Lv4: 92
+ Lv5: 96
+ Lv6: 100
+ Lv7: 104
+ Lv8: 108
+ Lv9: 112
+ Lv10: 116
+ }
+ }
+},
+{
+ Id: 2554
+ Name: "RL_BANISHING_BUSTER"
+ Description: "Banishing Buster"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 2
+ Requirements: {
+ SPCost: {
+ Lv1: 55
+ Lv2: 60
+ Lv3: 65
+ Lv4: 70
+ Lv5: 75
+ Lv6: 80
+ Lv7: 85
+ Lv8: 90
+ Lv9: 95
+ Lv10: 100
+ }
+ }
+},
+{
+ Id: 2555
+ Name: "RL_B_TRAP"
+ Description: "Bind Trap"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillInstances: 3
+ CoolDown: {
+ Lv1: 10000
+ Lv2: 11000
+ Lv3: 12000
+ Lv4: 13000
+ Lv5: 14000
+ Lv6: 15000
+ Lv7: 16000
+ Lv8: 17000
+ Lv9: 18000
+ Lv10: 19000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 32
+ Lv3: 34
+ Lv4: 36
+ Lv5: 38
+ Lv6: 40
+ Lv7: 42
+ Lv8: 44
+ Lv9: 46
+ Lv10: 48
+ }
+ }
+ Unit: {
+ Id: 0x104
+ Range: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 2
+ Lv4: 3
+ Lv5: 3
+ Lv6: 4
+ Lv7: 4
+ Lv8: 5
+ Lv9: 5
+ Lv10: 6
+ }
+ Interval: 500
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 2556
+ Name: "RL_FLICKER"
+ Description: "Flicker"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ Requirements: {
+ SPCost: 2
+ }
+},
+{
+ Id: 2557
+ Name: "RL_S_STORM"
+ Description: "Shatter Storm"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 2
+ Requirements: {
+ SPCost: {
+ Lv1: 55
+ Lv2: 60
+ Lv3: 65
+ Lv4: 70
+ Lv5: 75
+ Lv6: 80
+ Lv7: 85
+ Lv8: 90
+ Lv9: 95
+ Lv10: 100
+ }
+ }
+},
+{
+ Id: 2558
+ Name: "RL_E_CHAIN"
+ Description: "Eternal Chain"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 45
+ }
+},
+{
+ Id: 2559
+ Name: "RL_QD_SHOT"
+ Description: "Quick Draw Shot"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ Requirements: {
+ SPCost: 5
+ }
+},
+{
+ Id: 2560
+ Name: "RL_C_MARKER"
+ Description: "Crimson Marker"
+ MaxLevel: 1
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillInstances: 3
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 2561
+ Name: "RL_FIREDANCE"
+ Description: "Fire Dance"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 2
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 15
+ Lv3: 20
+ Lv4: 25
+ Lv5: 30
+ Lv6: 35
+ Lv7: 40
+ Lv8: 45
+ Lv9: 50
+ Lv10: 55
+ }
+ }
+},
+{
+ Id: 2562
+ Name: "RL_H_MINE"
+ Description: "Howling Mine"
+ MaxLevel: 5
+ Range: {
+ Lv1: 7
+ Lv2: 8
+ Lv3: 9
+ Lv4: 10
+ Lv5: 11
+ Lv6: 12
+ Lv7: 13
+ Lv8: 14
+ Lv9: 15
+ Lv10: 16
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ Requirements: {
+ SPCost: 45
+ }
+},
+{
+ Id: 2563
+ Name: "RL_P_ALTER"
+ Description: "Platinum Alter"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 24
+ Lv3: 28
+ Lv4: 32
+ Lv5: 36
+ Lv6: 40
+ Lv7: 44
+ Lv8: 48
+ Lv9: 52
+ Lv10: 56
+ }
+ }
+},
+{
+ Id: 2564
+ Name: "RL_FALLEN_ANGEL"
+ Description: "Fallen Angel"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 90
+ }
+},
+{
+ Id: 2565
+ Name: "RL_R_TRIP"
+ Description: "Round Trip"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 3
+ Lv3: 4
+ Lv4: 5
+ Lv5: 6
+ Lv6: 7
+ Lv7: 8
+ Lv8: 9
+ Lv9: 10
+ Lv10: 11
+ }
+ KnockBackTiles: 3
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 45
+ Lv3: 50
+ Lv4: 55
+ Lv5: 60
+ Lv6: 65
+ Lv7: 70
+ Lv8: 75
+ Lv9: 80
+ Lv10: 85
+ }
+ }
+},
+{
+ Id: 2566
+ Name: "RL_D_TAIL"
+ Description: "Dragon Tail"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 70
+ Lv3: 80
+ Lv4: 90
+ Lv5: 100
+ Lv6: 110
+ Lv7: 120
+ Lv8: 130
+ Lv9: 140
+ Lv10: 150
+ }
+ }
+},
+{
+ Id: 2567
+ Name: "RL_FIRE_RAIN"
+ Description: "Fire Rain"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ Requirements: {
+ SPCost: 70
+ }
+},
+{
+ Id: 2568
+ Name: "RL_HEAT_BARREL"
+ Description: "Heat Barrel"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 40
+ Lv3: 50
+ Lv4: 60
+ Lv5: 70
+ Lv6: 80
+ Lv7: 90
+ Lv8: 100
+ Lv9: 110
+ Lv10: 120
+ }
+ }
+},
+{
+ Id: 2569
+ Name: "RL_AM_BLAST"
+ Description: "Anti-Material Blast"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 84
+ Lv3: 88
+ Lv4: 92
+ Lv5: 96
+ Lv6: 100
+ Lv7: 104
+ Lv8: 108
+ Lv9: 112
+ Lv10: 116
+ }
+ }
+},
+{
+ Id: 2570
+ Name: "RL_SLUGSHOT"
+ Description: "Slug Shot"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ KnockBackTiles: 6
+ Requirements: {
+ SPCost: {
+ Lv1: 55
+ Lv2: 60
+ Lv3: 65
+ Lv4: 70
+ Lv5: 75
+ Lv6: 80
+ Lv7: 85
+ Lv8: 90
+ Lv9: 95
+ Lv10: 100
+ }
+ }
+},
+{
+ Id: 2571
+ Name: "RL_HAMMER_OF_GOD"
+ Description: "Hammer of God"
+ MaxLevel: 5
+ Range: {
+ Lv1: 7
+ Lv2: 8
+ Lv3: 9
+ Lv4: 10
+ Lv5: 11
+ Lv6: 12
+ Lv7: 13
+ Lv8: 14
+ Lv9: 15
+ Lv10: 16
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 2
+ Requirements: {
+ SPCost: {
+ Lv1: 70
+ Lv2: 80
+ Lv3: 90
+ Lv4: 100
+ Lv5: 110
+ Lv6: 120
+ Lv7: 130
+ Lv8: 140
+ Lv9: 150
+ Lv10: 160
+ }
+ }
+},
+{
+ Id: 2572
+ Name: "RL_R_TRIP_PLUSATK"
+ Description: "Round Trip Plus Attack"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ IgnoreFlee: true
+ }
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2573
+ Name: "RL_B_FLICKER_ATK"
+ Description: "Bind Flicker Attack"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 2574
+ Name: "RL_GLITTERING_GREED_ATK"
+ Description: "Flip The Coin Greed Attack"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 3001
+ Name: "KO_YAMIKUMO"
+ Description: "Yamikumo"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillData1: 60000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 3002
+ Name: "KO_RIGHT"
+ Description: "Right Hand Mastery"
+ MaxLevel: 5
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 3003
+ Name: "KO_LEFT"
+ Description: "Left Hand Mastery"
+ MaxLevel: 5
+ AttackType: "Weapon"
+ NumberOfHits: 0
+},
+{
+ Id: 3004
+ Name: "KO_JYUMONJIKIRI"
+ Description: "Cross Strike"
+ MaxLevel: 5
+ Range: {
+ Lv1: 3
+ Lv2: 4
+ Lv3: 5
+ Lv4: 6
+ Lv5: 7
+ Lv6: 8
+ Lv7: 9
+ Lv8: 10
+ Lv9: 11
+ Lv10: 12
+ }
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: -2
+ AfterCastActDelay: 500
+ SkillData1: 3000
+ CoolDown: 5000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 12
+ Lv3: 14
+ Lv4: 16
+ Lv5: 18
+ Lv6: 20
+ Lv7: 22
+ Lv8: 24
+ Lv9: 26
+ Lv10: 28
+ }
+ WeaponTypes: {
+ DWDaggers: true
+ DWSwords: true
+ DWDaggerSword: true
+ }
+ }
+},
+{
+ Id: 3005
+ Name: "KO_SETSUDAN"
+ Description: "Soul Sever"
+ MaxLevel: 5
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ CoolDown: 3000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 12
+ Lv2: 16
+ Lv3: 20
+ Lv4: 24
+ Lv5: 28
+ Lv6: 32
+ Lv7: 36
+ Lv8: 40
+ Lv9: 44
+ Lv10: 48
+ }
+ }
+},
+{
+ Id: 3006
+ Name: "KO_BAKURETSU"
+ Description: "Bakuretsu Kunai"
+ MaxLevel: 5
+ Range: {
+ Lv1: 7
+ Lv2: 8
+ Lv3: 9
+ Lv4: 10
+ Lv5: 11
+ Lv6: 12
+ Lv7: 13
+ Lv8: 14
+ Lv9: 15
+ Lv10: 16
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 2
+ NumberOfHits: 0
+ CastTime: {
+ Lv1: 1000
+ Lv2: 1400
+ Lv3: 1800
+ Lv4: 2200
+ Lv5: 2600
+ Lv6: 3000
+ Lv7: 3400
+ Lv8: 3800
+ Lv9: 4200
+ Lv10: 4600
+ }
+ AfterCastActDelay: 1000
+ SkillData1: 100
+ CoolDown: 3000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 5
+ Lv2: 6
+ Lv3: 7
+ Lv4: 8
+ Lv5: 9
+ Lv6: 10
+ Lv7: 11
+ Lv8: 12
+ Lv9: 13
+ Lv10: 14
+ }
+// Items: {
+// Explosive_Kunai: 1
+// }
+ }
+ Unit: {
+ Id: 0x86
+ Range: 2
+ Interval: 100
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 3007
+ Name: "KO_HAPPOKUNAI"
+ Description: "Happo Kunai"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Misc"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ IgnoreFlee: true
+ }
+ SplashRange: {
+ Lv1: 4
+ Lv2: 4
+ Lv3: 4
+ Lv4: 4
+ Lv5: 5
+ Lv6: 5
+ Lv7: 5
+ Lv8: 5
+ Lv9: 5
+ Lv10: 5
+ }
+ NumberOfHits: 0
+ AfterCastActDelay: 500
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 8
+ Lv2: 9
+ Lv3: 10
+ Lv4: 11
+ Lv5: 12
+ Lv6: 13
+ Lv7: 14
+ Lv8: 15
+ Lv9: 16
+ Lv10: 17
+ }
+ AmmoTypes: {
+ A_KUNAI: true
+ }
+ AmmoAmount: 8
+ }
+},
+{
+ Id: 3008
+ Name: "KO_MUCHANAGE"
+ Description: "Mucha Nage"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ SplashArea: true
+ IgnoreElement: true
+ }
+ SplashRange: 2
+ NumberOfHits: -10
+ CastTime: 1000
+ SkillData1: 100
+ CoolDown: 10000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 50
+ ZenyCost: {
+ Lv1: 10000
+ Lv2: 20000
+ Lv3: 30000
+ Lv4: 40000
+ Lv5: 50000
+ Lv6: 60000
+ Lv7: 70000
+ Lv8: 80000
+ Lv9: 90000
+ Lv10: 100000
+ }
+ }
+ Unit: {
+ Id: 0x86
+ Range: 2
+ Interval: 100
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 3009
+ Name: "KO_HUUMARANKA"
+ Description: "Huuma Shuriken Ranka"
+ MaxLevel: 5
+ Range: {
+ Lv1: 9
+ Lv2: 10
+ Lv3: 11
+ Lv4: 12
+ Lv5: 13
+ Lv6: 14
+ Lv7: 15
+ Lv8: 16
+ Lv9: 17
+ Lv10: 18
+ }
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 3
+ NumberOfHits: -5
+ CastTime: {
+ Lv1: 1000
+ Lv2: 1200
+ Lv3: 1400
+ Lv4: 1600
+ Lv5: 1800
+ Lv6: 2000
+ Lv7: 2200
+ Lv8: 2400
+ Lv9: 2600
+ Lv10: 2800
+ }
+ AfterCastActDelay: 1000
+ SkillData1: 100
+ CoolDown: 3000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 24
+ Lv2: 28
+ Lv3: 32
+ Lv4: 36
+ Lv5: 40
+ Lv6: 44
+ Lv7: 48
+ Lv8: 52
+ Lv9: 56
+ Lv10: 60
+ }
+ WeaponTypes: {
+ FuumaShurikens: true
+ }
+ }
+ Unit: {
+ Id: 0x86
+ Range: 3
+ Interval: 100
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 3010
+ Name: "KO_MAKIBISHI"
+ Description: "Makibishi"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ SplashArea: true
+ IgnoreFlee: true
+ }
+ SkillData1: {
+ Lv1: 12000
+ Lv2: 14000
+ Lv3: 16000
+ Lv4: 18000
+ Lv5: 20000
+ Lv6: 22000
+ Lv7: 24000
+ Lv8: 26000
+ Lv9: 28000
+ Lv10: 30000
+ }
+ SkillData2: 10000
+ CoolDown: 10000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 9
+ Lv2: 12
+ Lv3: 15
+ Lv4: 18
+ Lv5: 21
+ Lv6: 24
+ Lv7: 27
+ Lv8: 30
+ Lv9: 33
+ Lv10: 36
+ }
+// Items: {
+// Makibishi: {
+// Lv1: 3
+// Lv2: 4
+// Lv3: 5
+// Lv4: 6
+// Lv5: 7
+// }
+// }
+ }
+ Unit: {
+ Id: 0xfc
+ Interval: 5000
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 3011
+ Name: "KO_MEIKYOUSISUI"
+ Description: "Meikyo Shisui"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ InterruptCast: true
+ CastTime: 3000
+ SkillData1: 10000
+ CoolDown: 10000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 100
+ }
+},
+{
+ Id: 3012
+ Name: "KO_ZANZOU"
+ Description: "Zanzou"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ SkillInstances: 1
+ KnockBackTiles: {
+ Lv1: 3
+ Lv2: 4
+ Lv3: 5
+ Lv4: 6
+ Lv5: 7
+ Lv6: 8
+ Lv7: 9
+ Lv8: 10
+ Lv9: 11
+ Lv10: 12
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 27000
+ Lv3: 24000
+ Lv4: 21000
+ Lv5: 18000
+ Lv6: 15000
+ Lv7: 12000
+ Lv8: 9000
+ Lv9: 6000
+ Lv10: 3000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 44
+ Lv3: 48
+ Lv4: 52
+ Lv5: 56
+ Lv6: 60
+ Lv7: 64
+ Lv8: 68
+ Lv9: 72
+ Lv10: 76
+ }
+ }
+},
+{
+ Id: 3013
+ Name: "KO_KYOUGAKU"
+ Description: "Kyougaku"
+ MaxLevel: 5
+ Range: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ CastTime: {
+ Lv1: 3000
+ Lv2: 2500
+ Lv3: 2000
+ Lv4: 1500
+ Lv5: 1000
+ Lv6: 500
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 12000
+ Lv2: 14000
+ Lv3: 16000
+ Lv4: 18000
+ Lv5: 20000
+ Lv6: 22000
+ Lv7: 24000
+ Lv8: 26000
+ Lv9: 28000
+ Lv10: 30000
+ }
+ CoolDown: 10000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 44
+ Lv3: 48
+ Lv4: 52
+ Lv5: 56
+ Lv6: 60
+ Lv7: 64
+ Lv8: 68
+ Lv9: 72
+ Lv10: 76
+ }
+ }
+},
+{
+ Id: 3014
+ Name: "KO_JYUSATSU"
+ Description: "Jyusatsu"
+ MaxLevel: 5
+ Range: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ CastTime: {
+ Lv1: 3000
+ Lv2: 2500
+ Lv3: 2000
+ Lv4: 1500
+ Lv5: 1000
+ Lv6: 500
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 8000
+ Lv2: 10000
+ Lv3: 12000
+ Lv4: 14000
+ Lv5: 16000
+ Lv6: 18000
+ Lv7: 20000
+ Lv8: 22000
+ Lv9: 24000
+ Lv10: 26000
+ }
+ CoolDown: 10000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 44
+ Lv3: 48
+ Lv4: 52
+ Lv5: 56
+ Lv6: 60
+ Lv7: 64
+ Lv8: 68
+ Lv9: 72
+ Lv10: 76
+ }
+ }
+},
+{
+ Id: 3015
+ Name: "KO_KAHU_ENTEN"
+ Description: "Kahu Enten"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ Element: "Ele_Fire"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: 2000
+ SkillData1: 300000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 20
+// Items: {
+// Charm_Fire: 1
+// }
+ }
+},
+{
+ Id: 3016
+ Name: "KO_HYOUHU_HUBUKI"
+ Description: "Hyouhu Hubuki"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ Element: "Ele_Water"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: 2000
+ SkillData1: 300000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 20
+// Items: {
+// Charm_Ice: 1
+// }
+ }
+},
+{
+ Id: 3017
+ Name: "KO_KAZEHU_SEIRAN"
+ Description: "Kazehu Seiran"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ Element: "Ele_Wind"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: 2000
+ SkillData1: 300000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 20
+// Items: {
+// Charm_Wind: 1
+// }
+ }
+},
+{
+ Id: 3018
+ Name: "KO_DOHU_KOUKAI"
+ Description: "Dohu Koukai"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ Element: "Ele_Earth"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: 2000
+ SkillData1: 300000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 20
+// Items: {
+// Charm_Earth: 1
+// }
+ }
+},
+{
+ Id: 3019
+ Name: "KO_KAIHOU"
+ Description: "Technique Kaihou"
+ MaxLevel: 5
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ NumberOfHits: 0
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 3020
+ Name: "KO_ZENKAI"
+ Description: "Zenkai"
+ MaxLevel: 1
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ NumberOfHits: 3
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: 10000
+ SkillData2: 10000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 30
+ }
+ Unit: {
+ Id: 0xf8
+ Range: 3
+ Interval: 500
+ Target: "All"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 3021
+ Name: "KO_GENWAKU"
+ Description: "Genwaku"
+ MaxLevel: 5
+ Range: {
+ Lv1: 5
+ Lv2: 6
+ Lv3: 7
+ Lv4: 8
+ Lv5: 9
+ Lv6: 10
+ Lv7: 11
+ Lv8: 12
+ Lv9: 13
+ Lv10: 14
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: {
+ Lv1: 3000
+ Lv2: 2500
+ Lv3: 2000
+ Lv4: 1500
+ Lv5: 1000
+ Lv6: 500
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ AfterCastActDelay: 1000
+ SkillData1: 5000
+ CoolDown: 10000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 44
+ Lv3: 48
+ Lv4: 52
+ Lv5: 56
+ Lv6: 60
+ Lv7: 64
+ Lv8: 68
+ Lv9: 72
+ Lv10: 76
+ }
+ }
+},
+{
+ Id: 3022
+ Name: "KO_IZAYOI"
+ Description: "Izayoi"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 45000
+ Lv3: 60000
+ Lv4: 75000
+ Lv5: 90000
+ Lv6: 105000
+ Lv7: 120000
+ Lv8: 135000
+ Lv9: 150000
+ Lv10: 165000
+ }
+ CoolDown: 60000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 70
+ Lv2: 75
+ Lv3: 80
+ Lv4: 85
+ Lv5: 90
+ Lv6: 95
+ Lv7: 100
+ Lv8: 105
+ Lv9: 110
+ Lv10: 115
+ }
+ }
+},
+{
+ Id: 3023
+ Name: "KG_KAGEHUMI"
+ Description: "Kagehumi"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 3
+ Lv3: 4
+ Lv4: 5
+ Lv5: 6
+ Lv6: 7
+ Lv7: 8
+ Lv8: 9
+ Lv9: 10
+ Lv10: 11
+ }
+ NumberOfHits: 0
+ SkillData1: {
+ Lv1: 5000
+ Lv2: 6000
+ Lv3: 7000
+ Lv4: 8000
+ Lv5: 9000
+ Lv6: 10000
+ Lv7: 11000
+ Lv8: 12000
+ Lv9: 13000
+ Lv10: 14000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 65
+ Lv3: 70
+ Lv4: 75
+ Lv5: 80
+ Lv6: 85
+ Lv7: 90
+ Lv8: 95
+ Lv9: 100
+ Lv10: 105
+ }
+ }
+},
+{
+ Id: 3024
+ Name: "KG_KYOMU"
+ Description: "Kyomu"
+ MaxLevel: 5
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ CoolDown: 20000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 50
+// Items: {
+// Shadow_Orb: 1
+// }
+ }
+},
+{
+ Id: 3025
+ Name: "KG_KAGEMUSYA"
+ Description: "Kagemusha"
+ MaxLevel: 5
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 90000
+ Lv3: 120000
+ Lv4: 150000
+ Lv5: 180000
+ Lv6: 210000
+ Lv7: 240000
+ Lv8: 270000
+ Lv9: 300000
+ Lv10: 330000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 35
+// Items: {
+// Shadow_Orb: 1
+// }
+ }
+},
+{
+ Id: 3026
+ Name: "OB_ZANGETSU"
+ Description: "Zangetsu"
+ MaxLevel: 5
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: {
+ Lv1: 1000
+ Lv2: 1500
+ Lv3: 2000
+ Lv4: 2500
+ Lv5: 3000
+ Lv6: 3500
+ Lv7: 4000
+ Lv8: 4500
+ Lv9: 5000
+ Lv10: 5500
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 75000
+ Lv3: 90000
+ Lv4: 105000
+ Lv5: 120000
+ Lv6: 135000
+ Lv7: 150000
+ Lv8: 165000
+ Lv9: 180000
+ Lv10: 195000
+ }
+ CoolDown: 30000
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 70
+ Lv3: 80
+ Lv4: 90
+ Lv5: 100
+ Lv6: 110
+ Lv7: 120
+ Lv8: 130
+ Lv9: 140
+ Lv10: 150
+ }
+ }
+},
+{
+ Id: 3027
+ Name: "OB_OBOROGENSOU"
+ Description: "Oboro Gensou"
+ MaxLevel: 5
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: 1000
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ CoolDown: 15000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 55
+ Lv2: 60
+ Lv3: 65
+ Lv4: 70
+ Lv5: 75
+ Lv6: 80
+ Lv7: 85
+ Lv8: 90
+ Lv9: 95
+ Lv10: 100
+ }
+ }
+},
+{
+ Id: 3028
+ Name: "OB_OBOROGENSOU_TRANSITION_ATK"
+ Description: "Hazy Moonlight Illusion Transition Attack"
+ MaxLevel: 1
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 3
+},
+{
+ Id: 3029
+ Name: "OB_AKAITSUKI"
+ Description: "Akaitsuki"
+ MaxLevel: 5
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ CastTime: {
+ Lv1: 1000
+ Lv2: 1500
+ Lv3: 2000
+ Lv4: 2500
+ Lv5: 3000
+ Lv6: 3500
+ Lv7: 4000
+ Lv8: 4500
+ Lv9: 5000
+ Lv10: 5500
+ }
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ CoolDown: 30000
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 30
+ Lv3: 40
+ Lv4: 50
+ Lv5: 60
+ Lv6: 70
+ Lv7: 80
+ Lv8: 90
+ Lv9: 100
+ Lv10: 110
+ }
+ }
+},
+{
+ Id: 3031
+ Name: "ECL_SNOWFLIP"
+ Description: "Snow Flip"
+ MaxLevel: 1
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CoolDown: 5000
+ FixedCastTime: 0
+},
+{
+ Id: 3032
+ Name: "ECL_PEONYMAMY"
+ Description: "Peony Mamy"
+ MaxLevel: 1
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CoolDown: 5000
+ FixedCastTime: 0
+},
+{
+ Id: 3033
+ Name: "ECL_SADAGUI"
+ Description: "Sadagui"
+ MaxLevel: 1
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CoolDown: 5000
+ FixedCastTime: 0
+},
+{
+ Id: 3034
+ Name: "ECL_SEQUOIADUST"
+ Description: "Sequoia Dust"
+ MaxLevel: 1
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CoolDown: 5000
+ FixedCastTime: 0
+},
+{
+ Id: 3035
+ Name: "ECLAGE_RECALL"
+ Description: "Return To Eclage"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CoolDown: 300000
+ FixedCastTime: 3000
+},
+{
+ Id: 5001
+ Name: "GC_DARKCROW"
+ Description: "Dark Claw"
+ MaxLevel: 1
+ Range: 1
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: 3
+ AfterCastActDelay: 1500
+ SkillData1: 10000
+ CoolDown: 60000
+ FixedCastTime: 2000
+ Requirements: {
+ SPCost: {
+ Lv1: 160
+ Lv2: 340
+ Lv3: 460
+ Lv4: 580
+ Lv5: 700
+ Lv6: 820
+ Lv7: 940
+ Lv8: 1060
+ Lv9: 1180
+ Lv10: 1300
+ }
+ }
+},
+{
+ Id: 5002
+ Name: "RA_UNLIMIT"
+ Description: "Unlimited"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 500
+ SkillData1: 60000
+ CoolDown: 300000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 100
+ Lv2: 120
+ Lv3: 140
+ Lv4: 160
+ Lv5: 180
+ Lv6: 200
+ Lv7: 220
+ Lv8: 240
+ Lv9: 260
+ Lv10: 280
+ }
+ }
+},
+{
+ Id: 5003
+ Name: "GN_ILLUSIONDOPING"
+ Description: "Illusion Doping"
+ MaxLevel: 5
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 4
+ Lv2: 5
+ Lv3: 6
+ Lv4: 7
+ Lv5: 8
+ Lv6: 9
+ Lv7: 10
+ Lv8: 11
+ Lv9: 12
+ Lv10: 13
+ }
+ SkillData1: 10000
+ CoolDown: 10000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 70
+ Lv3: 80
+ Lv4: 90
+ Lv5: 100
+ Lv6: 110
+ Lv7: 120
+ Lv8: 130
+ Lv9: 140
+ Lv10: 150
+ }
+// Items: {
+// Alchol: 1
+// }
+ }
+},
+{
+ Id: 5004
+ Name: "RK_DRAGONBREATH_WATER"
+ Description: "Dragon Breath - Water"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Water"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 1
+ Lv4: 2
+ Lv5: 2
+ Lv6: 2
+ Lv7: 3
+ Lv8: 3
+ Lv9: 4
+ Lv10: 4
+ }
+ CastTime: {
+ Lv1: 0
+ Lv2: 0
+ Lv3: 0
+ Lv4: 1000
+ Lv5: 1000
+ Lv6: 1000
+ Lv7: 1500
+ Lv8: 1500
+ Lv9: 2000
+ Lv10: 2000
+ }
+ AfterCastActDelay: 2000
+ SkillData1: 10000
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 35
+ Lv3: 40
+ Lv4: 45
+ Lv5: 50
+ Lv6: 55
+ Lv7: 60
+ Lv8: 65
+ Lv9: 70
+ Lv10: 75
+ }
+ State: "Dragon"
+ }
+},
+{
+ Id: 5005
+ Name: "RK_LUXANIMA"
+ Description: "Lux Anima"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 3
+ SkillData1: 60000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 5006
+ Name: "NC_MAGMA_ERUPTION"
+ Description: "Magma Eruption"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Misc"
+ Element: "Ele_Fire"
+ SkillInstances: 3
+ CastTime: 1000
+ SkillData1: 10000
+ SkillData2: 42000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 70
+ Lv3: 80
+ Lv4: 90
+ Lv5: 100
+ Lv6: 110
+ Lv7: 120
+ Lv8: 130
+ Lv9: 140
+ Lv10: 150
+ }
+ }
+ Unit: {
+ Id: 0x101
+ Range: 3
+ Interval: 2000
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 5007
+ Name: "WM_FRIGG_SONG"
+ Description: "Frigg's Song"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 5
+ Lv2: 6
+ Lv3: 7
+ Lv4: 8
+ Lv5: 9
+ Lv6: 10
+ Lv7: 11
+ Lv8: 12
+ Lv9: 13
+ Lv10: 14
+ }
+ SkillData1: 60000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 200
+ Lv2: 230
+ Lv3: 260
+ Lv4: 290
+ Lv5: 320
+ Lv6: 350
+ Lv7: 380
+ Lv8: 410
+ Lv9: 440
+ Lv10: 470
+ }
+ WeaponTypes: {
+ Instruments: true
+ Whips: true
+ }
+// Items: {
+// Heartbroken_Tears: 1
+// }
+ }
+},
+{
+ Id: 5008
+ Name: "SO_ELEMENTAL_SHIELD"
+ Description: "Elemental Shield"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 15
+ CastTime: 1000
+ SkillData1: 10000
+ CoolDown: 10000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 120
+ State: "ElementalSpirit"
+// Items: {
+// Blue_Gemstone: 1
+// }
+ }
+ Unit: {
+ Id: 0x7e
+ Interval: -1
+ Target: "All"
+ Flag: {
+ UF_DEFNOTENEMY: true
+ UF_NOREITERATION: true
+ }
+ }
+},
+{
+ Id: 5009
+ Name: "SR_FLASHCOMBO"
+ Description: "Flash Combo"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 4000
+ SkillData1: 4000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 65
+ SpiritSphereCost: {
+ Lv1: 5
+ Lv2: 5
+ Lv3: 4
+ Lv4: 4
+ Lv5: 3
+ Lv6: 3
+ Lv7: 2
+ Lv8: 2
+ Lv9: 1
+ Lv10: 1
+ }
+ }
+},
+{
+ Id: 5010
+ Name: "SC_ESCAPE"
+ Description: "Emergency Escape"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 1000
+ CoolDown: 15000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 26
+ Lv3: 22
+ Lv4: 18
+ Lv5: 14
+ Lv6: 10
+ Lv7: 6
+ Lv8: 2
+ Lv9: 1
+ Lv10: 1
+ }
+// Items: {
+// Special_Alloy_Trap: 1
+// }
+ }
+ Unit: {
+ Id: 0xfe
+ Range: 2
+ Interval: -1
+ Target: "Enemy"
+ }
+},
+{
+ Id: 5011
+ Name: "AB_OFFERTORIUM"
+ Description: "Offertorium"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: 4000
+ SkillData1: 90000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 60
+ Lv3: 90
+ Lv4: 120
+ Lv5: 150
+ Lv6: 180
+ Lv7: 210
+ Lv8: 240
+ Lv9: 270
+ Lv10: 300
+ }
+ }
+},
+{
+ Id: 5012
+ Name: "WL_TELEKINESIS_INTENSE"
+ Description: "Intense Telekinesis"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: 1000
+ SkillData1: 60000
+ CoolDown: 300000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 100
+ Lv2: 150
+ Lv3: 200
+ Lv4: 250
+ Lv5: 300
+ Lv6: 350
+ Lv7: 400
+ Lv8: 450
+ Lv9: 500
+ Lv10: 550
+ }
+ }
+},
+{
+ Id: 5013
+ Name: "LG_KINGS_GRACE"
+ Description: "King's Grace"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 5
+ CastTime: 1000
+ SkillData1: 5000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 200
+ Lv2: 180
+ Lv3: 160
+ Lv4: 140
+ Lv5: 120
+ Lv6: 100
+ Lv7: 80
+ Lv8: 60
+ Lv9: 40
+ Lv10: 20
+ }
+ }
+},
+{
+ Id: 5014
+ Name: "ALL_FULL_THROTTLE"
+ Description: "Full Throttle"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 10000
+ Lv2: 15000
+ Lv3: 20000
+ Lv4: 25000
+ Lv5: 30000
+ Lv6: 35000
+ Lv7: 40000
+ Lv8: 45000
+ Lv9: 50000
+ Lv10: 55000
+ }
+ SkillData2: 20000
+ CoolDown: 600000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ 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
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ SkillData1: -1
+ CoolDown: 15000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 30
+ }
+},
+{
+ 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
+ }
+ 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: {
+ 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: {
+ 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_Nature"
+ DamageType: {
+ IgnoreElement: true
+ IgnoreDefense: true
+ }
+ SkillInstances: 1
+ AfterCastActDelay: 1000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ 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: {
+ Self: true
+ }
+ 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: {
+ 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: "Weak Healing Touch"
+ MaxLevel: 9
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 800
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 11
+ Lv2: 14
+ Lv3: 17
+ Lv4: 20
+ Lv5: 23
+ Lv6: 26
+ Lv7: 29
+ Lv8: 32
+ Lv9: 35
+ Lv10: 37
+ }
+// Items: {
+// Red_Slim_Potion: 1
+// }
+ }
+},
+{
+ Id: 8002
+ Name: "HLIF_AVOID"
+ Description: "Time to Flee"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ AfterCastActDelay: 35000
+ CoolDown: {
+ Lv1: 15000
+ Lv2: 14000
+ Lv3: 13000
+ Lv4: 12000
+ Lv5: 10000
+ Lv6: 10000
+ Lv7: 10000
+ Lv8: 10000
+ Lv9: 10000
+ Lv10: 10000
+ }
+ SkillData1: {
+ Lv1: 40000
+ Lv2: 35000
+ Lv3: 30000
+ Lv4: 25000
+ Lv5: 20000
+ Lv6: 15000
+ Lv7: 10000
+ Lv8: 5000
+ Lv9: 1
+ Lv10: 1
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 25
+ Lv3: 30
+ Lv4: 35
+ Lv5: 40
+ Lv6: 45
+ Lv7: 50
+ Lv8: 55
+ Lv9: 60
+ Lv10: 65
+ }
+ }
+},
+{
+ Id: 8003
+ Name: "HLIF_BRAIN"
+ Description: "Brain Surgery"
+ MaxLevel: 5
+ SplashRange: 1
+ NumberOfHits: 0
+},
+{
+ Id: 8004
+ Name: "HLIF_CHANGE"
+ Description: "Change"
+ MaxLevel: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ AfterCastActDelay: {
+ Lv1: 600000
+ Lv2: 900000
+ Lv3: 1200000
+ Lv4: 1500000
+ Lv5: 1800000
+ Lv6: 2100000
+ Lv7: 2400000
+ Lv8: 2700000
+ Lv9: 3000000
+ Lv10: 3300000
+ }
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 120000
+ Lv3: 180000
+ Lv4: 240000
+ Lv5: 300000
+ Lv6: 360000
+ Lv7: 420000
+ Lv8: 480000
+ Lv9: 540000
+ Lv10: 600000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 100
+ }
+},
+{
+ Id: 8005
+ Name: "HAMI_CASTLE"
+ Description: "Castling"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ SkillData2: {
+ Lv1: 60000
+ Lv2: 70000
+ Lv3: 80000
+ Lv4: 90000
+ Lv5: 129000
+ Lv6: 129000
+ Lv7: 129000
+ Lv8: 129000
+ Lv9: 129000
+ Lv10: 129000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 8006
+ Name: "HAMI_DEFENCE"
+ Description: "Defense"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ SkillData1: {
+ Lv1: 40000
+ Lv2: 35000
+ Lv3: 30000
+ Lv4: 25000
+ Lv5: 20000
+ Lv6: 15000
+ Lv7: 10000
+ Lv8: 5000
+ Lv9: 1
+ Lv10: 1
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 25
+ Lv3: 30
+ Lv4: 35
+ Lv5: 40
+ Lv6: 45
+ Lv7: 50
+ Lv8: 55
+ Lv9: 60
+ Lv10: 65
+ }
+ }
+},
+{
+ Id: 8007
+ Name: "HAMI_SKIN"
+ Description: "Adamantium Skin"
+ MaxLevel: 5
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+},
+{
+ Id: 8008
+ Name: "HAMI_BLOODLUST"
+ Description: "Bloodlust"
+ MaxLevel: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 180000
+ Lv3: 300000
+ Lv4: 420000
+ Lv5: 540000
+ Lv6: 660000
+ Lv7: 780000
+ Lv8: 900000
+ Lv9: 1020000
+ Lv10: 1140000
+ }
+ SkillData2: {
+ Lv1: 300000
+ Lv2: 600000
+ Lv3: 900000
+ Lv4: 1200000
+ Lv5: 1500000
+ Lv6: 1800000
+ Lv7: 2100000
+ Lv8: 2400000
+ Lv9: 2700000
+ Lv10: 3000000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 120
+ Lv3: 150
+ Lv4: 200
+ Lv5: 220
+ Lv6: 240
+ Lv7: 260
+ Lv8: 280
+ Lv9: 300
+ Lv10: 400
+ }
+ }
+},
+{
+ Id: 8009
+ Name: "HFLI_MOON"
+ Description: "Moonlight"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ NumberOfHits: {
+ Lv1: -1
+ Lv2: -2
+ Lv3: -2
+ Lv4: -2
+ Lv5: -3
+ Lv6: -3
+ Lv7: -3
+ Lv8: -3
+ Lv9: -3
+ Lv10: -3
+ }
+ AfterCastWalkDelay: 1000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 4
+ Lv2: 8
+ Lv3: 12
+ Lv4: 16
+ Lv5: 20
+ Lv6: 24
+ Lv7: 28
+ Lv8: 32
+ Lv9: 36
+ Lv10: 40
+ }
+ }
+},
+{
+ Id: 8010
+ Name: "HFLI_FLEET"
+ Description: "Fleeting Move"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 55000
+ Lv3: 50000
+ Lv4: 45000
+ Lv5: 40000
+ Lv6: 35000
+ Lv7: 30000
+ Lv8: 25000
+ Lv9: 20000
+ Lv10: 15000
+ }
+ SkillData2: {
+ Lv1: 60000
+ Lv2: 70000
+ Lv3: 80000
+ Lv4: 90000
+ Lv5: 120000
+ Lv6: 120000
+ Lv7: 120000
+ Lv8: 120000
+ Lv9: 120000
+ Lv10: 120000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 40
+ Lv3: 50
+ Lv4: 60
+ Lv5: 70
+ Lv6: 80
+ Lv7: 90
+ Lv8: 100
+ Lv9: 110
+ Lv10: 120
+ }
+ }
+},
+{
+ Id: 8011
+ Name: "HFLI_SPEED"
+ Description: "Speed"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 55000
+ Lv3: 50000
+ Lv4: 45000
+ Lv5: 40000
+ Lv6: 35000
+ Lv7: 30000
+ Lv8: 25000
+ Lv9: 20000
+ Lv10: 15000
+ }
+ SkillData2: {
+ Lv1: 60000
+ Lv2: 70000
+ Lv3: 80000
+ Lv4: 90000
+ Lv5: 120000
+ Lv6: 120000
+ Lv7: 120000
+ Lv8: 120000
+ Lv9: 120000
+ Lv10: 120000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 40
+ Lv3: 50
+ Lv4: 60
+ Lv5: 70
+ Lv6: 80
+ Lv7: 90
+ Lv8: 100
+ Lv9: 110
+ Lv10: 120
+ }
+ }
+},
+{
+ Id: 8012
+ Name: "HFLI_SBR44"
+ Description: "S.B.R.44"
+ MaxLevel: 3
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ NumberOfHits: 0
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 8013
+ Name: "HVAN_CAPRICE"
+ Description: "Caprice"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ AfterCastActDelay: {
+ Lv1: 1000
+ Lv2: 1200
+ Lv3: 1400
+ Lv4: 1600
+ Lv5: 1800
+ Lv6: 2000
+ Lv7: 2200
+ Lv8: 2400
+ Lv9: 2600
+ Lv10: 2800
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 22
+ Lv2: 24
+ Lv3: 26
+ Lv4: 28
+ Lv5: 30
+ Lv6: 32
+ Lv7: 34
+ Lv8: 36
+ Lv9: 38
+ Lv10: 40
+ }
+ }
+},
+{
+ Id: 8014
+ Name: "HVAN_CHAOTIC"
+ Description: "Benediction of Chaos"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ AfterCastActDelay: 1000
+ AfterCastWalkDelay: 1000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 40
+ }
+},
+{
+ Id: 8015
+ Name: "HVAN_INSTRUCT"
+ Description: "Instruct"
+ MaxLevel: 5
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+},
+{
+ Id: 8016
+ Name: "HVAN_EXPLOSION"
+ Description: "Bio Explosion"
+ MaxLevel: 3
+ Range: 4
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Misc"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ IgnoreElement: true
+ IgnoreFlee: true
+ IgnoreDefCards: true
+ }
+ SplashRange: 4
+ AfterCastWalkDelay: 1000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 8018
+ Name: "MH_SUMMON_LEGION"
+ Description: "Summon Legion"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: {
+ Lv1: 1600
+ Lv2: 1400
+ Lv3: 1200
+ Lv4: 1000
+ Lv5: 800
+ Lv6: 600
+ Lv7: 400
+ Lv8: 200
+ Lv9: 1
+ Lv10: 1
+ }
+ SkillData1: {
+ Lv1: 20000
+ Lv2: 30000
+ Lv3: 40000
+ Lv4: 50000
+ Lv5: 60000
+ Lv6: 70000
+ Lv7: 80000
+ Lv8: 90000
+ Lv9: 100000
+ Lv10: 110000
+ }
+ FixedCastTime: {
+ Lv1: 400
+ Lv2: 600
+ Lv3: 800
+ Lv4: 1000
+ Lv5: 1200
+ Lv6: 1400
+ Lv7: 1600
+ Lv8: 1800
+ Lv9: 2000
+ Lv10: 2200
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 80
+ Lv3: 100
+ Lv4: 120
+ Lv5: 140
+ Lv6: 160
+ Lv7: 180
+ Lv8: 200
+ Lv9: 220
+ Lv10: 240
+ }
+ }
+},
+{
+ Id: 8019
+ Name: "MH_NEEDLE_OF_PARALYZE"
+ Description: "Needle of Paralyze"
+ MaxLevel: 5
+ Range: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Nature"
+ CastTime: {
+ Lv1: 1000
+ Lv2: 1100
+ Lv3: 1200
+ Lv4: 1300
+ Lv5: 1400
+ Lv6: 1500
+ Lv7: 1600
+ Lv8: 1700
+ Lv9: 1800
+ Lv10: 1900
+ }
+ SkillData1: {
+ Lv1: 12000
+ Lv2: 14000
+ Lv3: 16000
+ Lv4: 18000
+ Lv5: 20000
+ Lv6: 22000
+ Lv7: 24000
+ Lv8: 26000
+ Lv9: 28000
+ Lv10: 30000
+ }
+ FixedCastTime: {
+ Lv1: 500
+ Lv2: 400
+ Lv3: 300
+ Lv4: 200
+ Lv5: 100
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 48
+ Lv2: 60
+ Lv3: 72
+ Lv4: 84
+ Lv5: 96
+ Lv6: 108
+ Lv7: 120
+ Lv8: 132
+ Lv9: 144
+ Lv10: 156
+ }
+ }
+},
+{
+ Id: 8020
+ Name: "MH_POISON_MIST"
+ Description: "Poison Mist"
+ MaxLevel: 5
+ Range: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Nature"
+ SkillInstances: 1
+ CastTime: {
+ Lv1: 500
+ Lv2: 700
+ Lv3: 900
+ Lv4: 1100
+ Lv5: 1300
+ Lv6: 1500
+ Lv7: 1700
+ Lv8: 1900
+ Lv9: 2100
+ Lv10: 2300
+ }
+ SkillData1: {
+ Lv1: 12000
+ Lv2: 14000
+ Lv3: 16000
+ Lv4: 18000
+ Lv5: 20000
+ Lv6: 22000
+ Lv7: 24000
+ Lv8: 26000
+ Lv9: 28000
+ Lv10: 30000
+ }
+ SkillData2: {
+ Lv1: 4000
+ Lv2: 6000
+ Lv3: 8000
+ Lv4: 10000
+ Lv5: 12000
+ Lv6: 14000
+ Lv7: 16000
+ Lv8: 18000
+ Lv9: 20000
+ Lv10: 22000
+ }
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 65
+ Lv2: 75
+ Lv3: 85
+ Lv4: 95
+ Lv5: 105
+ Lv6: 115
+ Lv7: 125
+ Lv8: 135
+ Lv9: 145
+ Lv10: 155
+ }
+ }
+ Unit: {
+ Id: 0xf5
+ Range: 3
+ Interval: 2300
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 8021
+ Name: "MH_PAIN_KILLER"
+ Description: "Pain Killer"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: {
+ Lv1: 1000
+ Lv2: 1200
+ Lv3: 1400
+ Lv4: 1600
+ Lv5: 1800
+ Lv6: 2000
+ Lv7: 2200
+ Lv8: 2400
+ Lv9: 2600
+ Lv10: 2800
+ }
+ SkillData1: {
+ Lv1: 20000
+ Lv2: 30000
+ Lv3: 40000
+ Lv4: 50000
+ Lv5: 60000
+ Lv6: 70000
+ Lv7: 80000
+ Lv8: 90000
+ Lv9: 100000
+ Lv10: 110000
+ }
+ FixedCastTime: {
+ Lv1: 1000
+ Lv2: 800
+ Lv3: 600
+ Lv4: 400
+ Lv5: 200
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 48
+ Lv2: 52
+ Lv3: 56
+ Lv4: 60
+ Lv5: 64
+ Lv6: 68
+ Lv7: 72
+ Lv8: 76
+ Lv9: 80
+ Lv10: 84
+ }
+ }
+},
+{
+ Id: 8022
+ Name: "MH_LIGHT_OF_REGENE"
+ Description: "Light of Regene"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SplashRange: 0
+ SkillData1: {
+ Lv1: 360000
+ Lv2: 420000
+ Lv3: 480000
+ Lv4: 540000
+ Lv5: 600000
+ Lv6: 660000
+ Lv7: 720000
+ Lv8: 780000
+ Lv9: 840000
+ Lv10: 900000
+ }
+ FixedCastTime: {
+ Lv1: 1600
+ Lv2: 1400
+ Lv3: 1200
+ Lv4: 1000
+ Lv5: 800
+ Lv6: 600
+ Lv7: 400
+ Lv8: 200
+ Lv9: 1
+ Lv10: 1
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 50
+ Lv3: 60
+ Lv4: 70
+ Lv5: 80
+ Lv6: 90
+ Lv7: 100
+ Lv8: 110
+ Lv9: 120
+ Lv10: 130
+ }
+ }
+},
+{
+ Id: 8023
+ Name: "MH_OVERED_BOOST"
+ Description: "Overed Boost"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SplashRange: 0
+ CastTime: {
+ Lv1: 800
+ Lv2: 700
+ Lv3: 600
+ Lv4: 500
+ Lv5: 400
+ Lv6: 300
+ Lv7: 200
+ Lv8: 100
+ Lv9: 1
+ Lv10: 1
+ }
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 45000
+ Lv3: 60000
+ Lv4: 75000
+ Lv5: 90000
+ Lv6: 105000
+ Lv7: 120000
+ Lv8: 135000
+ Lv9: 150000
+ Lv10: 165000
+ }
+ FixedCastTime: {
+ Lv1: 200
+ Lv2: 300
+ Lv3: 400
+ Lv4: 500
+ Lv5: 600
+ Lv6: 700
+ Lv7: 800
+ Lv8: 900
+ Lv9: 1000
+ Lv10: 1100
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 70
+ Lv2: 90
+ Lv3: 110
+ Lv4: 130
+ Lv5: 150
+ Lv6: 170
+ Lv7: 190
+ Lv8: 210
+ Lv9: 230
+ Lv10: 250
+ }
+ }
+},
+{
+ Id: 8024
+ Name: "MH_ERASER_CUTTER"
+ Description: "Eraser Cutter"
+ MaxLevel: 5
+ Range: 7
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: {
+ Lv1: "Ele_Wind"
+ Lv2: "Ele_Neutral"
+ Lv3: "Ele_Wind"
+ Lv4: "Ele_Neutral"
+ Lv5: "Ele_Wind"
+ }
+ NumberOfHits: -6
+ InterruptCast: true
+ CastTime: {
+ Lv1: 1000
+ Lv2: 1500
+ Lv3: 2000
+ Lv4: 2500
+ Lv5: 3000
+ Lv6: 3500
+ Lv7: 4000
+ Lv8: 4500
+ Lv9: 5000
+ Lv10: 5500
+ }
+ AfterCastActDelay: 2000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 35
+ }
+},
+{
+ Id: 8025
+ Name: "MH_XENO_SLASHER"
+ Description: "Xeno Slasher"
+ MaxLevel: 5
+ Range: 7
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Magic"
+ Element: {
+ Lv1: "Ele_Wind"
+ Lv2: "Ele_Neutral"
+ Lv3: "Ele_Wind"
+ Lv4: "Ele_Neutral"
+ Lv5: "Ele_Wind"
+ }
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 2
+ Lv3: 3
+ Lv4: 3
+ Lv5: 4
+ Lv6: 4
+ Lv7: 5
+ Lv8: 5
+ Lv9: 6
+ Lv10: 6
+ }
+ NumberOfHits: -6
+ CastTime: {
+ Lv1: 1500
+ Lv2: 2500
+ Lv3: 3500
+ Lv4: 4500
+ Lv5: 5500
+ Lv6: 6500
+ Lv7: 7500
+ Lv8: 8500
+ Lv9: 9500
+ Lv10: 10500
+ }
+ AfterCastActDelay: 5000
+ SkillData1: 500
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 90
+ Lv2: 100
+ Lv3: 110
+ Lv4: 120
+ Lv5: 130
+ Lv6: 140
+ Lv7: 150
+ Lv8: 160
+ Lv9: 170
+ Lv10: 180
+ }
+ }
+ Unit: {
+ Id: 0x86
+ Range: {
+ Lv1: 2
+ Lv2: 2
+ Lv3: 3
+ Lv4: 3
+ Lv5: 4
+ Lv6: 4
+ Lv7: 5
+ Lv8: 5
+ Lv9: 6
+ Lv10: 6
+ }
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 8026
+ Name: "MH_SILENT_BREEZE"
+ Description: "Silent Breeze"
+ MaxLevel: 5
+ Range: {
+ Lv1: 5
+ Lv2: 5
+ Lv3: 7
+ Lv4: 7
+ Lv5: 9
+ Lv6: 9
+ Lv7: 11
+ Lv8: 11
+ Lv9: 13
+ Lv10: 13
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: {
+ Lv1: 1000
+ Lv2: 1200
+ Lv3: 1400
+ Lv4: 1600
+ Lv5: 1800
+ Lv6: 2000
+ Lv7: 2200
+ Lv8: 2400
+ Lv9: 2600
+ Lv10: 2800
+ }
+ SkillData1: {
+ Lv1: 9000
+ Lv2: 12000
+ Lv3: 15000
+ Lv4: 18000
+ Lv5: 21000
+ Lv6: 24000
+ Lv7: 27000
+ Lv8: 30000
+ Lv9: 33000
+ Lv10: 36000
+ }
+ FixedCastTime: {
+ Lv1: 1000
+ Lv2: 800
+ Lv3: 600
+ Lv4: 400
+ Lv5: 200
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 45
+ Lv2: 54
+ Lv3: 63
+ Lv4: 72
+ Lv5: 81
+ Lv6: 90
+ Lv7: 99
+ Lv8: 108
+ Lv9: 117
+ Lv10: 126
+ }
+ }
+},
+{
+ Id: 8027
+ Name: "MH_STYLE_CHANGE"
+ Description: "Style Change"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 35
+ }
+},
+{
+ Id: 8028
+ Name: "MH_SONIC_CRAW"
+ Description: "Sonic Claw"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 25
+ Lv3: 30
+ Lv4: 35
+ Lv5: 40
+ Lv6: 45
+ Lv7: 50
+ Lv8: 55
+ Lv9: 60
+ Lv10: 65
+ }
+ State: "MH_Fighting"
+ }
+},
+{
+ Id: 8029
+ Name: "MH_SILVERVEIN_RUSH"
+ Description: "Silver Bain Rush"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Weapon"
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 15
+ Lv3: 20
+ Lv4: 25
+ Lv5: 30
+ Lv6: 35
+ Lv7: 40
+ Lv8: 45
+ Lv9: 50
+ Lv10: 55
+ }
+ SpiritSphereCost: 1
+ }
+},
+{
+ Id: 8030
+ Name: "MH_MIDNIGHT_FRENZY"
+ Description: "Midnight Frenzy"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Weapon"
+ Requirements: {
+ SPCost: {
+ Lv1: 8
+ Lv2: 16
+ Lv3: 24
+ Lv4: 32
+ Lv5: 40
+ Lv6: 48
+ Lv7: 56
+ Lv8: 64
+ Lv9: 72
+ Lv10: 80
+ }
+ SpiritSphereCost: 2
+ }
+},
+{
+ Id: 8031
+ Name: "MH_STAHL_HORN"
+ Description: "Steel Horn"
+ MaxLevel: 5
+ Range: {
+ Lv1: 5
+ Lv2: 6
+ Lv3: 7
+ Lv4: 8
+ Lv5: 9
+ Lv6: 10
+ Lv7: 11
+ Lv8: 12
+ Lv9: 13
+ Lv10: 14
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ KnockBackTiles: 3
+ CastTime: {
+ Lv1: 800
+ Lv2: 600
+ Lv3: 400
+ Lv4: 200
+ Lv5: 0
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ SkillData1: 5000
+ FixedCastTime: {
+ Lv1: 200
+ Lv2: 400
+ Lv3: 600
+ Lv4: 800
+ Lv5: 1000
+ Lv6: 1200
+ Lv7: 1400
+ Lv8: 1600
+ Lv9: 1800
+ Lv10: 2000
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 45
+ Lv3: 50
+ Lv4: 55
+ Lv5: 60
+ Lv6: 65
+ Lv7: 70
+ Lv8: 75
+ Lv9: 80
+ Lv10: 85
+ }
+ }
+},
+{
+ Id: 8032
+ Name: "MH_GOLDENE_FERSE"
+ Description: "Golden Heel"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: {
+ Lv1: 1000
+ Lv2: 1200
+ Lv3: 1400
+ Lv4: 1600
+ Lv5: 1800
+ Lv6: 2000
+ Lv7: 2200
+ Lv8: 2400
+ Lv9: 2600
+ Lv10: 2800
+ }
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 45000
+ Lv3: 60000
+ Lv4: 75000
+ Lv5: 90000
+ Lv6: 105000
+ Lv7: 120000
+ Lv8: 135000
+ Lv9: 150000
+ Lv10: 165000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 65
+ Lv3: 70
+ Lv4: 75
+ Lv5: 80
+ Lv6: 85
+ Lv7: 90
+ Lv8: 95
+ Lv9: 100
+ Lv10: 105
+ }
+ }
+},
+{
+ Id: 8033
+ Name: "MH_STEINWAND"
+ Description: "Stone Wall"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: 1000
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 45000
+ Lv3: 60000
+ Lv4: 75000
+ Lv5: 90000
+ Lv6: 105000
+ Lv7: 120000
+ Lv8: 135000
+ Lv9: 150000
+ Lv10: 165000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 80
+ Lv2: 90
+ Lv3: 100
+ Lv4: 110
+ Lv5: 120
+ Lv6: 130
+ Lv7: 140
+ Lv8: 150
+ Lv9: 160
+ Lv10: 170
+ }
+ }
+ Unit: {
+ Id: 0x7e
+ Interval: -1
+ Target: "All"
+ Flag: {
+ UF_DEFNOTENEMY: true
+ UF_NOREITERATION: true
+ }
+ }
+},
+{
+ Id: 8034
+ Name: "MH_HEILIGE_STANGE"
+ Description: "Holy Pole"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 1
+ Lv4: 1
+ Lv5: 2
+ Lv6: 2
+ Lv7: 2
+ Lv8: 2
+ Lv9: 2
+ Lv10: 2
+ }
+ CastTime: {
+ Lv1: 200
+ Lv2: 400
+ Lv3: 600
+ Lv4: 800
+ Lv5: 1000
+ Lv6: 1200
+ Lv7: 1400
+ Lv8: 1600
+ Lv9: 1800
+ Lv10: 2000
+ }
+ FixedCastTime: {
+ Lv1: 1800
+ Lv2: 1600
+ Lv3: 1400
+ Lv4: 1200
+ Lv5: 1000
+ Lv6: 800
+ Lv7: 600
+ Lv8: 400
+ Lv9: 200
+ Lv10: 1
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 68
+ Lv3: 76
+ Lv4: 84
+ Lv5: 100
+ Lv6: 100
+ Lv7: 100
+ Lv8: 100
+ Lv9: 100
+ Lv10: 100
+ }
+ }
+},
+{
+ Id: 8035
+ Name: "MH_ANGRIFFS_MODUS"
+ Description: "Attack Mode"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: {
+ Lv1: 200
+ Lv2: 400
+ Lv3: 600
+ Lv4: 800
+ Lv5: 1000
+ Lv6: 1200
+ Lv7: 1400
+ Lv8: 1600
+ Lv9: 1800
+ Lv10: 2000
+ }
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 45000
+ Lv3: 60000
+ Lv4: 75000
+ Lv5: 90000
+ Lv6: 105000
+ Lv7: 120000
+ Lv8: 135000
+ Lv9: 150000
+ Lv10: 165000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 65
+ Lv3: 70
+ Lv4: 75
+ Lv5: 80
+ Lv6: 85
+ Lv7: 90
+ Lv8: 95
+ Lv9: 100
+ Lv10: 105
+ }
+ }
+},
+{
+ Id: 8036
+ Name: "MH_TINDER_BREAKER"
+ Description: "Tinder Breaker"
+ MaxLevel: 5
+ Range: {
+ Lv1: 3
+ Lv2: 4
+ Lv3: 5
+ Lv4: 6
+ Lv5: 7
+ Lv6: 8
+ Lv7: 9
+ Lv8: 10
+ Lv9: 11
+ Lv10: 12
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 25
+ Lv3: 30
+ Lv4: 35
+ Lv5: 40
+ Lv6: 45
+ Lv7: 50
+ Lv8: 55
+ Lv9: 60
+ Lv10: 65
+ }
+ State: "MH_Grappling"
+ SpiritSphereCost: 1
+ }
+},
+{
+ Id: 8037
+ Name: "MH_CBC"
+ Description: "Continual Break Combo"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Weapon"
+ Requirements: {
+ SPCost: {
+ Lv1: 10
+ Lv2: 20
+ Lv3: 30
+ Lv4: 40
+ Lv5: 50
+ Lv6: 60
+ Lv7: 70
+ Lv8: 80
+ Lv9: 90
+ Lv10: 100
+ }
+ SpiritSphereCost: 1
+ }
+},
+{
+ Id: 8038
+ Name: "MH_EQC"
+ Description: "Eternal Quick Combo"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ }
+ AttackType: "Weapon"
+ Requirements: {
+ SPCost: {
+ Lv1: 24
+ Lv2: 28
+ Lv3: 32
+ Lv4: 36
+ Lv5: 40
+ Lv6: 44
+ Lv7: 48
+ Lv8: 52
+ Lv9: 56
+ Lv10: 60
+ }
+ SpiritSphereCost: 2
+ }
+},
+{
+ Id: 8039
+ Name: "MH_MAGMA_FLOW"
+ Description: "Magma Flow"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Fire"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 1
+ Lv4: 2
+ Lv5: 2
+ Lv6: 2
+ Lv7: 2
+ Lv8: 2
+ Lv9: 2
+ Lv10: 2
+ }
+ CastTime: {
+ Lv1: 2000
+ Lv2: 2500
+ Lv3: 3000
+ Lv4: 3500
+ Lv5: 4000
+ Lv6: 4500
+ Lv7: 5000
+ Lv8: 5500
+ Lv9: 6000
+ Lv10: 6500
+ }
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 45000
+ Lv3: 60000
+ Lv4: 75000
+ Lv5: 90000
+ Lv6: 105000
+ Lv7: 120000
+ Lv8: 135000
+ Lv9: 150000
+ Lv10: 165000
+ }
+ FixedCastTime: {
+ Lv1: 2000
+ Lv2: 1500
+ Lv3: 1000
+ Lv4: 500
+ Lv5: -1
+ Lv6: -1
+ Lv7: -1
+ Lv8: -1
+ Lv9: -1
+ Lv10: -1
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 34
+ Lv2: 38
+ Lv3: 42
+ Lv4: 46
+ Lv5: 50
+ Lv6: 54
+ Lv7: 58
+ Lv8: 62
+ Lv9: 66
+ Lv10: 70
+ }
+ }
+},
+{
+ Id: 8040
+ Name: "MH_GRANITIC_ARMOR"
+ Description: "Granitic Armor"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: {
+ Lv1: 6000
+ Lv2: 5500
+ Lv3: 5000
+ Lv4: 4500
+ Lv5: 4000
+ Lv6: 3500
+ Lv7: 3000
+ Lv8: 2500
+ Lv9: 2000
+ Lv10: 1500
+ }
+ SkillData1: 60000
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 54
+ Lv2: 58
+ Lv3: 62
+ Lv4: 66
+ Lv5: 70
+ Lv6: 74
+ Lv7: 78
+ Lv8: 82
+ Lv9: 86
+ Lv10: 90
+ }
+ }
+},
+{
+ Id: 8041
+ Name: "MH_LAVA_SLIDE"
+ Description: "Lava Slide"
+ MaxLevel: 5
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Fire"
+ DamageType: {
+ SplashArea: true
+ }
+ SkillInstances: 1
+ CastTime: {
+ Lv1: 6000
+ Lv2: 5500
+ Lv3: 5000
+ Lv4: 4500
+ Lv5: 4000
+ Lv6: 3500
+ Lv7: 3000
+ Lv8: 2500
+ Lv9: 2000
+ Lv10: 1500
+ }
+ SkillData1: {
+ Lv1: 12000
+ Lv2: 14000
+ Lv3: 16000
+ Lv4: 18000
+ Lv5: 20000
+ Lv6: 22000
+ Lv7: 24000
+ Lv8: 26000
+ Lv9: 28000
+ Lv10: 30000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 35
+ Lv3: 40
+ Lv4: 45
+ Lv5: 50
+ Lv6: 55
+ Lv7: 60
+ Lv8: 65
+ Lv9: 70
+ Lv10: 75
+ }
+ }
+ Unit: {
+ Id: 0xf6
+ Layout: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 2
+ Lv4: 2
+ Lv5: 3
+ Lv6: 3
+ Lv7: 4
+ Lv8: 4
+ Lv9: 5
+ Lv10: 5
+ }
+ Interval: 2000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 8042
+ Name: "MH_PYROCLASTIC"
+ Description: "Pyroclastic"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ Element: "Ele_Fire"
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: {
+ Lv1: 5000
+ Lv2: 4500
+ Lv3: 4000
+ Lv4: 3500
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 90000
+ Lv3: 120000
+ Lv4: 150000
+ Lv5: 180000
+ Lv6: 210000
+ Lv7: 240000
+ Lv8: 270000
+ Lv9: 300000
+ Lv10: 330000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 28
+ Lv3: 36
+ Lv4: 44
+ Lv5: 52
+ Lv6: 60
+ Lv7: 68
+ Lv8: 76
+ Lv9: 84
+ Lv10: 92
+ }
+ }
+},
+{
+ Id: 8043
+ Name: "MH_VOLCANIC_ASH"
+ Description: "Volcanic Ash"
+ MaxLevel: 5
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillInstances: 3
+ CastTime: {
+ Lv1: 5000
+ Lv2: 4500
+ Lv3: 4000
+ Lv4: 3500
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ SkillData1: {
+ Lv1: 12000
+ Lv2: 14000
+ Lv3: 16000
+ Lv4: 18000
+ Lv5: 20000
+ Lv6: 22000
+ Lv7: 24000
+ Lv8: 26000
+ Lv9: 28000
+ Lv10: 30000
+ }
+ FixedCastTime: 1000
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 65
+ Lv3: 70
+ Lv4: 75
+ Lv5: 80
+ Lv6: 85
+ Lv7: 90
+ Lv8: 95
+ Lv9: 100
+ Lv10: 105
+ }
+ }
+ Unit: {
+ Id: 0xf7
+ Layout: 1
+ Interval: -1
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ UF_RANGEDSINGLEUNIT: true
+ }
+ }
+},
+{
+ Id: 8201
+ Name: "MS_BASH"
+ Description: "Bash"
+ MaxLevel: 10
+ Range: -1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ CoolDown: 1000 // Maybe fixed cast time instead?
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ Requirements: {
+ SPCost: {
+ Lv1: 8
+ Lv2: 8
+ Lv3: 8
+ Lv4: 8
+ Lv5: 8
+ Lv6: 15
+ Lv7: 15
+ Lv8: 15
+ Lv9: 15
+ Lv10: 15
+ }
+ WeaponTypes: {
+ NoWeapon: true
+ Daggers: true
+ 1HSwords: true
+ 2HSwords: true
+ 1HSpears: true
+ 2HSpears: true
+ 1HAxes: true
+ 2HAxes: true
+ Maces: true
+ 2HMaces: true
+ Staves: true
+ Knuckles: true
+ Instruments: true
+ Whips: true
+ Books: true
+ Katars: true
+ Revolvers: true
+ Rifles: true
+ GatlingGuns: true
+ Shotguns: true
+ GrenadeLaunchers: true
+ FuumaShurikens: true
+ }
+ }
+},
+{
+ Id: 8202
+ Name: "MS_MAGNUM"
+ Description: "Magnum_Break"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Fire"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 2
+ KnockBackTiles: 2
+ AfterCastActDelay: 1500
+ AfterCastWalkDelay: 2000
+ SkillData1: 2000
+ SkillData2: 10000
+ FixedCastTime: 0
+ Requirements: {
+ HPCost: {
+ Lv1: 20
+ Lv2: 20
+ Lv3: 19
+ Lv4: 19
+ Lv5: 18
+ Lv6: 18
+ Lv7: 17
+ Lv8: 17
+ Lv9: 16
+ Lv10: 16
+ }
+ SPCost: 30
+ }
+},
+{
+ Id: 8203
+ Name: "MS_BOWLINGBASH"
+ Description: "Bowling_Bash"
+ MaxLevel: 10
+ Range: -2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 1
+ KnockBackTiles: 1
+ CastTime: 700
+ AfterCastActDelay: 2500
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 13
+ Lv2: 14
+ Lv3: 15
+ Lv4: 16
+ Lv5: 17
+ Lv6: 18
+ Lv7: 19
+ Lv8: 20
+ Lv9: 21
+ Lv10: 22
+ }
+ }
+},
+{
+ Id: 8204
+ Name: "MS_PARRYING"
+ Description: "Parry"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 15000
+ Lv2: 20000
+ Lv3: 25000
+ Lv4: 30000
+ Lv5: 35000
+ Lv6: 40000
+ Lv7: 45000
+ Lv8: 50000
+ Lv9: 55000
+ Lv10: 60000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 50
+ }
+},
+{
+ Id: 8205
+ Name: "MS_REFLECTSHIELD"
+ Description: "Shield_Reflect"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ SkillData1: 300000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 35
+ Lv2: 40
+ Lv3: 45
+ Lv4: 50
+ Lv5: 55
+ Lv6: 60
+ Lv7: 65
+ Lv8: 70
+ Lv9: 75
+ Lv10: 80
+ }
+ }
+},
+{
+ Id: 8206
+ Name: "MS_BERSERK"
+ Description: "Frenzy"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 300000
+ SkillData2: 15000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 100
+ }
+},
+{
+ Id: 8207
+ Name: "MA_DOUBLE"
+ Description: "Double_Strafe"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: 2
+ AfterCastActDelay: 1000
+ SkillData1: 100
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 12
+ AmmoTypes: {
+ A_ARROW: true
+ }
+ AmmoAmount: 1
+ }
+},
+{
+ Id: 8208
+ Name: "MA_SHOWER"
+ Description: "Arrow_Shower"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ IgnoreLandProtector: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ SplashRange: 2
+ KnockBackTiles: 2
+ AfterCastActDelay: 1200
+ SkillData1: 100
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 15
+ AmmoTypes: {
+ A_ARROW: true
+ }
+ AmmoAmount: 1
+ }
+ Unit: {
+ Id: 0x86
+ Range: 2
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_SKILL: true
+ }
+ }
+},
+{
+ Id: 8209
+ Name: "MA_SKIDTRAP"
+ Description: "Skid_Trap"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ KnockBackTiles: {
+ Lv1: 6
+ Lv2: 7
+ Lv3: 8
+ Lv4: 9
+ Lv5: 10
+ Lv6: 11
+ Lv7: 12
+ Lv8: 13
+ Lv9: 14
+ Lv10: 15
+ }
+ SkillData1: {
+ Lv1: 300000
+ Lv2: 240000
+ Lv3: 180000
+ Lv4: 120000
+ Lv5: 60000
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ }
+ Unit: {
+ Id: 0x90
+ Range: 1
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 8210
+ Name: "MA_LANDMINE"
+ Description: "Land_Mine"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ Element: "Ele_Earth"
+ DamageType: {
+ IgnoreFlee: true
+ }
+ SkillData1: {
+ Lv1: 200000
+ Lv2: 160000
+ Lv3: 120000
+ Lv4: 80000
+ Lv5: 40000
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ SkillData2: 5000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ }
+ Unit: {
+ Id: 0x93
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 8211
+ Name: "MA_SANDMAN"
+ Description: "Sandman"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 2
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 120000
+ Lv3: 90000
+ Lv4: 60000
+ Lv5: 30000
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ SkillData2: {
+ Lv1: 12000
+ Lv2: 14000
+ Lv3: 16000
+ Lv4: 18000
+ Lv5: 20000
+ Lv6: 22000
+ Lv7: 24000
+ Lv8: 26000
+ Lv9: 28000
+ Lv10: 30000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 12
+ }
+ Unit: {
+ Id: 0x95
+ Range: 1
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 8212
+ Name: "MA_FREEZINGTRAP"
+ Description: "Freezing_Trap"
+ MaxLevel: 5
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ Trap: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Water"
+ DamageType: {
+ SplashArea: true
+ IgnoreFlee: true
+ }
+ SplashRange: 1
+ SkillData1: {
+ Lv1: 150000
+ Lv2: 120000
+ Lv3: 90000
+ Lv4: 60000
+ Lv5: 30000
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ SkillData2: {
+ Lv1: 3000
+ Lv2: 6000
+ Lv3: 9000
+ Lv4: 12000
+ Lv5: 15000
+ Lv6: 18000
+ Lv7: 21000
+ Lv8: 24000
+ Lv9: 27000
+ Lv10: 30000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ }
+ Unit: {
+ Id: 0x97
+ Range: 1
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOREITERATION: true
+ UF_NOFOOTSET: true
+ }
+ }
+},
+{
+ Id: 8213
+ Name: "MA_REMOVETRAP"
+ Description: "Remove_Trap"
+ MaxLevel: 1
+ Range: 2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Trap: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 5
+ }
+},
+{
+ Id: 8214
+ Name: "MA_CHARGEARROW"
+ Description: "Arrow_Repel"
+ MaxLevel: 1
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ SplashArea: true
+ }
+ KnockBackTiles: 6
+ CastTime: 750
+ AfterCastActDelay: 1000
+ FixedCastTime: 750
+ CastTimeOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ IgnoreItemBonus: true
+ }
+ Requirements: {
+ SPCost: 15
+ AmmoTypes: {
+ A_ARROW: true
+ }
+ AmmoAmount: 1
+ }
+},
+{
+ Id: 8215
+ Name: "MA_SHARPSHOOTING"
+ Description: "Focused_Arrow_Strike"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ SplashRange: 2
+ InterruptCast: true
+ SkillInstances: 13
+ CastTime: 1000
+ AfterCastActDelay: 2500
+ FixedCastTime: 1000
+ CastTimeOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ IgnoreItemBonus: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 18
+ Lv2: 21
+ Lv3: 24
+ Lv4: 27
+ Lv5: 30
+ Lv6: 33
+ Lv7: 36
+ Lv8: 39
+ Lv9: 42
+ Lv10: 45
+ }
+ AmmoTypes: {
+ A_ARROW: true
+ }
+ AmmoAmount: 1
+ }
+},
+{
+ Id: 8216
+ Name: "ML_PIERCE"
+ Description: "Pierce"
+ MaxLevel: 10
+ Range: -2
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: 3
+ Requirements: {
+ SPCost: 7
+ }
+},
+{
+ Id: 8217
+ Name: "ML_BRANDISH"
+ Description: "Brandish_Spear"
+ MaxLevel: 10
+ Range: -2
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ KnockBackTiles: 3
+ CastTime: 350
+ AfterCastActDelay: 1200
+ FixedCastTime: 350
+ CastTimeOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ IgnoreItemBonus: true
+ }
+ Requirements: {
+ SPCost: 12
+ }
+},
+{
+ Id: 8218
+ Name: "ML_SPIRALPIERCE"
+ Description: "Spiral_Pierce"
+ MaxLevel: 5
+ Range: 5
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ IgnoreDefense: true
+ }
+ NumberOfHits: 5
+ CastTime: {
+ Lv1: 150
+ Lv2: 250
+ Lv3: 350
+ Lv4: 450
+ Lv5: 500
+ Lv6: 500
+ Lv7: 500
+ Lv8: 500
+ Lv9: 500
+ Lv10: 500
+ }
+ AfterCastActDelay: 2500
+ SkillData2: 1000
+ FixedCastTime: {
+ Lv1: 150
+ Lv2: 250
+ Lv3: 350
+ Lv4: 450
+ Lv5: 500
+ Lv6: 500
+ Lv7: 500
+ Lv8: 500
+ Lv9: 500
+ Lv10: 500
+ }
+ CastTimeOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ IgnoreItemBonus: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 18
+ Lv2: 21
+ Lv3: 24
+ Lv4: 27
+ Lv5: 30
+ Lv6: 33
+ Lv7: 36
+ Lv8: 39
+ Lv9: 42
+ Lv10: 45
+ }
+ }
+},
+{
+ Id: 8219
+ Name: "ML_DEFENDER"
+ Description: "Defending_Aura"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 800
+ SkillData1: 180000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 30
+ State: "Shield"
+ }
+},
+{
+ Id: 8220
+ Name: "ML_AUTOGUARD"
+ Description: "Guard"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 300000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 12
+ Lv2: 14
+ Lv3: 16
+ Lv4: 18
+ Lv5: 20
+ Lv6: 22
+ Lv7: 24
+ Lv8: 26
+ Lv9: 28
+ Lv10: 30
+ }
+ }
+},
+{
+ Id: 8221
+ Name: "ML_DEVOTION"
+ Description: "Sacrifice"
+ MaxLevel: 5
+ Range: {
+ Lv1: 7
+ Lv2: 8
+ Lv3: 9
+ Lv4: 10
+ Lv5: 11
+ Lv6: 12
+ Lv7: 13
+ Lv8: 14
+ Lv9: 15
+ Lv10: 16
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoCastSelf: true
+ PartyOnly: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1500
+ SkillData2: {
+ Lv1: 30000
+ Lv2: 45000
+ Lv3: 60000
+ Lv4: 75000
+ Lv5: 90000
+ Lv6: 105000
+ Lv7: 120000
+ Lv8: 135000
+ Lv9: 150000
+ Lv10: 165000
+ }
+ FixedCastTime: 1500
+ CastTimeOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ IgnoreItemBonus: true
+ }
+ Requirements: {
+ SPCost: 25
+ }
+},
+{
+ Id: 8222
+ Name: "MER_MAGNIFICAT"
+ Description: "Magnificat"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ InterruptCast: true
+ CastTime: 3200
+ AfterCastActDelay: 2000
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 45000
+ Lv3: 60000
+ Lv4: 75000
+ Lv5: 90000
+ Lv6: 105000
+ Lv7: 120000
+ Lv8: 135000
+ Lv9: 150000
+ Lv10: 165000
+ }
+ FixedCastTime: 800
+ CastTimeOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ IgnoreItemBonus: true
+ }
+ Requirements: {
+ SPCost: 40
+ }
+},
+{
+ Id: 8223
+ Name: "MER_QUICKEN"
+ Description: "Two-Hand_Quicken"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 60000
+ Lv3: 90000
+ Lv4: 120000
+ Lv5: 150000
+ Lv6: 180000
+ Lv7: 210000
+ Lv8: 240000
+ Lv9: 270000
+ Lv10: 300000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 14
+ Lv2: 18
+ Lv3: 22
+ Lv4: 26
+ Lv5: 30
+ Lv6: 34
+ Lv7: 38
+ Lv8: 42
+ Lv9: 46
+ Lv10: 50
+ }
+ }
+},
+{
+ Id: 8224
+ Name: "MER_SIGHT"
+ Description: "Sight"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 3
+ InterruptCast: true
+ SkillData1: 10000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 8225
+ Name: "MER_CRASH"
+ Description: "Crash"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ NumberOfHits: 3
+ CastTime: 1000
+ AfterCastActDelay: 2000
+ SkillData2: 5000
+ FixedCastTime: 0
+ CastTimeOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ IgnoreItemBonus: true
+ }
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 8226
+ Name: "MER_REGAIN"
+ Description: "Regain"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoEnemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 8227
+ Name: "MER_TENDER"
+ Description: "Tender"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoEnemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 8228
+ Name: "MER_BENEDICTION"
+ Description: "Benediction"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoEnemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 8229
+ Name: "MER_RECUPERATE"
+ Description: "Recuperate"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoEnemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 8230
+ Name: "MER_MENTALCURE"
+ Description: "Mental_Cure"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoEnemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 8231
+ Name: "MER_COMPRESS"
+ Description: "Compress"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ SkillInfo: {
+ NoEnemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 8232
+ Name: "MER_PROVOKE"
+ Description: "Provoke"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 30000
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 4
+ Lv2: 5
+ Lv3: 6
+ Lv4: 7
+ Lv5: 8
+ Lv6: 9
+ Lv7: 10
+ Lv8: 11
+ Lv9: 12
+ Lv10: 13
+ }
+ }
+},
+{
+ Id: 8233
+ Name: "MER_AUTOBERSERK"
+ Description: "Berserk"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 5
+ }
+},
+{
+ Id: 8234
+ Name: "MER_DECAGI"
+ Description: "Decrease_AGI"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 800
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 40000
+ Lv2: 50000
+ Lv3: 60000
+ Lv4: 70000
+ Lv5: 80000
+ Lv6: 90000
+ Lv7: 100000
+ Lv8: 110000
+ Lv9: 120000
+ Lv10: 130000
+ }
+ FixedCastTime: 200
+ CastTimeOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ IgnoreItemBonus: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 15
+ Lv2: 17
+ Lv3: 19
+ Lv4: 21
+ Lv5: 23
+ Lv6: 25
+ Lv7: 27
+ Lv8: 29
+ Lv9: 31
+ Lv10: 33
+ }
+ }
+},
+{
+ Id: 8235
+ Name: "MER_SCAPEGOAT"
+ Description: "Scapegoat"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 3000
+ FixedCastTime: 0
+ CastTimeOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ IgnoreItemBonus: true
+ }
+ Requirements: {
+ SPCost: 10
+ HPRateCost: 100
+ }
+},
+{
+ Id: 8236
+ Name: "MER_LEXDIVINA"
+ Description: "Lex_Divina"
+ MaxLevel: 10
+ Range: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ InterruptCast: true
+ AfterCastActDelay: 3000
+ SkillData1: {
+ Lv1: 30000
+ Lv2: 35000
+ Lv3: 40000
+ Lv4: 45000
+ Lv5: 50000
+ Lv6: 60000
+ Lv7: 60000
+ Lv8: 60000
+ Lv9: 60000
+ Lv10: 60000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 20
+ Lv3: 20
+ Lv4: 20
+ Lv5: 20
+ Lv6: 18
+ Lv7: 16
+ Lv8: 14
+ Lv9: 12
+ Lv10: 10
+ }
+ }
+},
+{
+ Id: 8237
+ Name: "MER_ESTIMATION"
+ Description: "Sense"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ Requirements: {
+ SPCost: 10
+ }
+},
+{
+ Id: 8238
+ Name: "MER_KYRIE"
+ Description: "Kyrie Eleison"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 2000
+ AfterCastActDelay: 2000
+ SkillData1: 120000
+ FixedCastTime: 0
+ CastTimeOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ IgnoreItemBonus: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 20
+ Lv3: 20
+ Lv4: 25
+ Lv5: 25
+ Lv6: 25
+ Lv7: 30
+ Lv8: 30
+ Lv9: 30
+ Lv10: 35
+ }
+ }
+},
+{
+ Id: 8239
+ Name: "MER_BLESSING"
+ Description: "Blessing"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ SkillData1: {
+ Lv1: 60000
+ Lv2: 80000
+ Lv3: 100000
+ Lv4: 120000
+ Lv5: 140000
+ Lv6: 160000
+ Lv7: 180000
+ Lv8: 200000
+ Lv9: 220000
+ Lv10: 240000
+ }
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: {
+ Lv1: 28
+ Lv2: 32
+ Lv3: 36
+ Lv4: 40
+ Lv5: 44
+ Lv6: 48
+ Lv7: 52
+ Lv8: 56
+ Lv9: 60
+ Lv10: 64
+ }
+ }
+},
+{
+ Id: 8240
+ Name: "MER_INCAGI"
+ Description: "Increase Agility"
+ MaxLevel: 10
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CastTime: 1000
+ AfterCastActDelay: 1000
+ SkillData1: {
+ Lv1: 20000
+ Lv2: 40000
+ Lv3: 60000
+ Lv4: 80000
+ Lv5: 100000
+ Lv6: 120000
+ Lv7: 140000
+ Lv8: 160000
+ Lv9: 180000
+ Lv10: 200000
+ }
+ FixedCastTime: 0
+ CastTimeOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ IgnoreItemBonus: true
+ }
+ Requirements: {
+ HPCost: 15
+ SPCost: {
+ Lv1: 180
+ Lv2: 210
+ Lv3: 240
+ Lv4: 270
+ Lv5: 300
+ Lv6: 330
+ Lv7: 360
+ Lv8: 390
+ Lv9: 420
+ Lv10: 450
+ }
+ }
+},
+{
+ Id: 8401
+ Name: "EL_CIRCLE_OF_FIRE"
+ Description: "Circle of Fire"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Fire"
+ KnockBackTiles: 2
+ SkillData1: -1
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 40
+ }
+},
+{
+ Id: 8402
+ Name: "EL_FIRE_CLOAK"
+ Description: "Fire Cloak"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: -1
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 60
+ }
+},
+{
+ Id: 8403
+ Name: "EL_FIRE_MANTLE"
+ Description: "Fire Mantle"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ SkillInstances: 3
+ KnockBackTiles: 2
+ SkillData1: 15000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 80
+ }
+ Unit: {
+ Id: 0xed
+ Layout: -1
+ Range: 1
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ }
+ }
+},
+{
+ Id: 8404
+ Name: "EL_WATER_SCREEN"
+ Description: "Water Screen"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: -1
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 40
+ }
+},
+{
+ Id: 8405
+ Name: "EL_WATER_DROP"
+ Description: "Water Drop"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: -1
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 60
+ }
+},
+{
+ Id: 8406
+ Name: "EL_WATER_BARRIER"
+ Description: "Water Barrier"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 15000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 80
+ }
+ Unit: {
+ Id: 0xee
+ Layout: 1
+ Interval: -1
+ Target: "Friend"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ UF_RANGEDSINGLEUNIT: true
+ }
+ }
+},
+{
+ Id: 8407
+ Name: "EL_WIND_STEP"
+ Description: "Wind Step"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ KnockBackTiles: 5
+ SkillData1: -1
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 40
+ }
+},
+{
+ Id: 8408
+ Name: "EL_WIND_CURTAIN"
+ Description: "Wind Curtain"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: -1
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 60
+ }
+},
+{
+ Id: 8409
+ Name: "EL_ZEPHYR"
+ Description: "Zephyr"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 15000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 80
+ }
+ Unit: {
+ Id: 0xef
+ Range: 1
+ Interval: -1
+ Target: "Friend"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ UF_RANGEDSINGLEUNIT: true
+ }
+ }
+},
+{
+ Id: 8410
+ Name: "EL_SOLID_SKIN"
+ Description: "Solid Skin"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 40
+ }
+},
+{
+ Id: 8411
+ Name: "EL_STONE_SHIELD"
+ Description: "Stone Shield"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: -1
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 60
+ }
+},
+{
+ Id: 8412
+ Name: "EL_POWER_OF_GAIA"
+ Description: "Power of Gaia"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: 15000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 80
+ }
+ Unit: {
+ Id: 0xf0
+ Range: 1
+ Interval: -1
+ Target: "Friend"
+ Flag: {
+ UF_NOOVERLAP: true
+ UF_PATHCHECK: true
+ UF_RANGEDSINGLEUNIT: true
+ }
+ }
+},
+{
+ Id: 8413
+ Name: "EL_PYROTECHNIC"
+ Description: "Pyrotechnic"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: -1
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 8414
+ Name: "EL_HEATER"
+ Description: "Heater"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: -1
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 8415
+ Name: "EL_TROPIC"
+ Description: "Tropic"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: -1
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 8416
+ Name: "EL_AQUAPLAY"
+ Description: "Aqua Play"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: -1
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 8417
+ Name: "EL_COOLER"
+ Description: "Cooler"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: -1
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 8418
+ Name: "EL_CHILLY_AIR"
+ Description: "Cool Air"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: -1
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 8419
+ Name: "EL_GUST"
+ Description: "Gust"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: -1
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 8420
+ Name: "EL_BLAST"
+ Description: "Blast"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: -1
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 8421
+ Name: "EL_WILD_STORM"
+ Description: "Wild Storm"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: -1
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 8422
+ Name: "EL_PETROLOGY"
+ Description: "Petrology"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: -1
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 8423
+ Name: "EL_CURSED_SOIL"
+ Description: "Cursed Soil"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: -1
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 8424
+ Name: "EL_UPHEAVAL"
+ Description: "Upheaval"
+ MaxLevel: 1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ SkillData1: -1
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 8425
+ Name: "EL_FIRE_ARROW"
+ Description: "Fire Arrow"
+ MaxLevel: 1
+ Range: 6
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ Requirements: {
+ SPCost: 40
+ }
+},
+{
+ Id: 8426
+ Name: "EL_FIRE_BOMB"
+ Description: "Fire Bomb"
+ MaxLevel: 1
+ Range: 6
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ SplashRange: 1
+ Requirements: {
+ SPCost: 60
+ }
+},
+{
+ Id: 8427
+ Name: "EL_FIRE_BOMB_ATK"
+ Description: "Fire Bomb Attack"
+ MaxLevel: 1
+ Range: 6
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Fire"
+ SplashRange: 1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 8428
+ Name: "EL_FIRE_WAVE"
+ Description: "Fire Wave"
+ MaxLevel: 1
+ Range: 6
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ SplashRange: 1
+ Requirements: {
+ SPCost: 80
+ }
+},
+{
+ Id: 8429
+ Name: "EL_FIRE_WAVE_ATK"
+ Description: "Fire Wave Attack"
+ MaxLevel: 1
+ Range: 6
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Fire"
+ SplashRange: 1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 8430
+ Name: "EL_ICE_NEEDLE"
+ Description: "Ice Needle"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ Requirements: {
+ SPCost: 40
+ }
+},
+{
+ Id: 8431
+ Name: "EL_WATER_SCREW"
+ Description: "Water Screw"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ SplashRange: 1
+ Requirements: {
+ SPCost: 60
+ }
+},
+{
+ Id: 8432
+ Name: "EL_WATER_SCREW_ATK"
+ Description: "Water Screw Attack"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Water"
+ SplashRange: 1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 8433
+ Name: "EL_TIDAL_WEAPON"
+ Description: "Tidal Weapon"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Water"
+ SplashRange: 1
+ SkillData1: -1
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 80
+ }
+},
+{
+ Id: 8434
+ Name: "EL_WIND_SLASH"
+ Description: "Wind Slasher"
+ MaxLevel: 1
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Wind"
+ CastTime: 1000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 40
+ }
+},
+{
+ Id: 8435
+ Name: "EL_HURRICANE"
+ Description: "Hurricane Rage"
+ MaxLevel: 1
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Wind"
+ SplashRange: 1
+ CastTime: 1000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 60
+ }
+},
+{
+ Id: 8436
+ Name: "EL_HURRICANE_ATK"
+ Description: "Hurricane Rage Attack"
+ MaxLevel: 1
+ Range: 7
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 8437
+ Name: "EL_TYPOON_MIS"
+ Description: "Typhoon Missile"
+ MaxLevel: 1
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Wind"
+ SplashRange: 1
+ CastTime: 1000
+ SkillData1: 15000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 80
+ }
+},
+{
+ Id: 8438
+ Name: "EL_TYPOON_MIS_ATK"
+ Description: "Typhoon Missile Attack"
+ MaxLevel: 1
+ Range: 11
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ SplashRange: 1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 8439
+ Name: "EL_STONE_HAMMER"
+ Description: "Stone Hammer"
+ MaxLevel: 1
+ Range: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Earth"
+ SkillData1: 5000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 40
+ }
+},
+{
+ Id: 8440
+ Name: "EL_ROCK_CRUSHER"
+ Description: "Rock Launcher"
+ MaxLevel: 1
+ Range: 3
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Earth"
+ SplashRange: 1
+ SkillData1: 15000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 60
+ }
+},
+{
+ Id: 8441
+ Name: "EL_ROCK_CRUSHER_ATK"
+ Description: "Rock Launcher Attack"
+ MaxLevel: 1
+ Range: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ Element: "Ele_Earth"
+ SplashRange: 1
+ SkillData1: 15000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: 1
+ }
+},
+{
+ Id: 8442
+ Name: "EL_STONE_RAIN"
+ Description: "Stone Rain"
+ MaxLevel: 1
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Earth"
+ SplashRange: 1
+ NumberOfHits: -5
+ Requirements: {
+ SPCost: 80
+ }
+},
+{
+ Id: 10000
+ Name: "GD_APPROVAL"
+ Description: "Official Guild Approval"
+ MaxLevel: 1
+ SkillInfo: {
+ Guild: true
+ }
+ NumberOfHits: 0
+},
+{
+ Id: 10001
+ Name: "GD_KAFRACONTRACT"
+ Description: "Kafra Contract"
+ MaxLevel: 1
+ SkillInfo: {
+ Guild: true
+ }
+ NumberOfHits: 0
+},
+{
+ Id: 10002
+ Name: "GD_GUARDRESEARCH"
+ Description: "Guardian Research"
+ MaxLevel: 1
+ SkillInfo: {
+ Guild: true
+ }
+ NumberOfHits: 0
+},
+{
+ Id: 10003
+ Name: "GD_GUARDUP"
+ Description: "Strengthen Guardians"
+ MaxLevel: 1
+ SkillInfo: {
+ Guild: true
+ }
+ NumberOfHits: 0
+},
+{
+ Id: 10004
+ Name: "GD_EXTENSION"
+ Description: "Guild Extension"
+ MaxLevel: 10
+ SkillInfo: {
+ Guild: true
+ }
+ NumberOfHits: 0
+},
+{
+ Id: 10005
+ Name: "GD_GLORYGUILD"
+ Description: "Guild's Glory"
+ MaxLevel: 1
+ SkillInfo: {
+ Guild: true
+ }
+ NumberOfHits: 0
+},
+{
+ Id: 10006
+ Name: "GD_LEADERSHIP"
+ Description: "Great Leadership"
+ MaxLevel: 1
+ SkillInfo: {
+ Guild: true
+ }
+ SplashRange: 2
+ NumberOfHits: 0
+ SkillData1: 300000
+ FixedCastTime: -1
+ Unit: {
+ Id: 0xc1
+ Layout: 2
+ Interval: -1
+ Target: "Sameguild"
+ Flag: {
+ UF_NOMOB: true
+ }
+ }
+},
+{
+ Id: 10007
+ Name: "GD_GLORYWOUNDS"
+ Description: "Glorious Wounds"
+ MaxLevel: 1
+ SkillInfo: {
+ Guild: true
+ }
+ SplashRange: 2
+ NumberOfHits: 0
+ SkillData1: 300000
+ FixedCastTime: -1
+ Unit: {
+ Id: 0xc2
+ Layout: 2
+ Interval: -1
+ Target: "Sameguild"
+ Flag: {
+ UF_NOMOB: true
+ }
+ }
+},
+{
+ Id: 10008
+ Name: "GD_SOULCOLD"
+ Description: "Cold Heart"
+ MaxLevel: 1
+ SkillInfo: {
+ Guild: true
+ }
+ SplashRange: 2
+ NumberOfHits: 0
+ SkillData1: 300000
+ FixedCastTime: -1
+ Unit: {
+ Id: 0xc3
+ Layout: 2
+ Interval: -1
+ Target: "Sameguild"
+ Flag: {
+ UF_NOMOB: true
+ }
+ }
+},
+{
+ Id: 10009
+ Name: "GD_HAWKEYES"
+ Description: "Sharp Gaze"
+ MaxLevel: 1
+ SkillInfo: {
+ Guild: true
+ }
+ SplashRange: 2
+ NumberOfHits: 0
+ SkillData1: 300000
+ FixedCastTime: -1
+ Unit: {
+ Id: 0xc4
+ Layout: 2
+ Interval: -1
+ Target: "Sameguild"
+ Flag: {
+ UF_NOMOB: true
+ }
+ }
+},
+{
+ Id: 10010
+ Name: "GD_BATTLEORDER"
+ Description: "Battle Orders"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Guild: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 15
+ NumberOfHits: 0
+ InterruptCast: true
+ SkillData1: 180000
+ SkillData2: 300000
+ FixedCastTime: -1
+ CastTimeOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ }
+ Requirements: {
+ SPCost: 1
+ Items: {
+ GuildCoin: 1
+ }
+ }
+},
+{
+ Id: 10011
+ Name: "GD_REGENERATION"
+ Description: "Regeneration"
+ MaxLevel: 3
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Guild: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 15
+ NumberOfHits: 0
+ InterruptCast: true
+ SkillData1: 60000
+ SkillData2: 300000
+ FixedCastTime: -1
+ CastTimeOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ }
+ Requirements: {
+ SPCost: 1
+ Items: {
+ GuildCoin: 1
+ }
+ }
+},
+{
+ Id: 10012
+ Name: "GD_RESTORE"
+ Description: "Restoration"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Guild: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: 15
+ NumberOfHits: 0
+ InterruptCast: true
+ SkillData2: 300000
+ FixedCastTime: 10000
+ CastTimeOptions: {
+ IgnoreStatusEffect: true
+ IgnoreItemBonus: true
+ }
+ Requirements: {
+ SPCost: 1
+ Items: {
+ GuildCoin: 1
+ }
+ }
+},
+{
+ Id: 10013
+ Name: "GD_EMERGENCYCALL"
+ Description: "Urgent Call"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Guild: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ NumberOfHits: 0
+ InterruptCast: true
+ SkillData2: 300000
+ FixedCastTime: 5000
+ CastTimeOptions: {
+ IgnoreDex: true
+ IgnoreStatusEffect: true
+ IgnoreItemBonus: true
+ }
+ Requirements: {
+ SPCost: 1
+ Items: {
+ GuildCoin: 1
+ LOFCoin: 1
+ }
+ }
+},
+{
+ Id: 10014
+ Name: "GD_DEVELOPMENT"
+ Description: "Permanent Development"
+ MaxLevel: 1
+ SkillInfo: {
+ Guild: true
+ }
+ NumberOfHits: 0
+},
+///////////////////////////////////////////////////
+// TMW2/Evol Skills
+{
+ Id: 20000
+ Name: "EVOL_MASS_PROVOKE"
+ Description: "Mass provoke"
+ MaxLevel: 10
+ Range: {
+ Lv1: 4
+ Lv2: 5
+ Lv3: 5
+ Lv4: 6
+ Lv5: 6
+ Lv6: 7
+ Lv7: 7
+ Lv8: 8
+ Lv9: 8
+ Lv10: 9
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ SplashRange: {
+ Lv1: 2
+ Lv2: 2
+ Lv3: 2
+ Lv4: 3
+ Lv5: 3
+ Lv6: 3
+ Lv7: 4
+ Lv8: 4
+ Lv9: 4
+ Lv10: 5
+ }
+ InterruptCast: true
+ CastTime: 3000
+ AfterCastActDelay: 100
+ SkillData2: 15000
+ CoolDown: 1000
+ //FixedCastTime: -1
+ TargetMiscEffect: "EFFECT_PROVOKE"
+ Requirements: {
+ SPCost: 35
+ }
+},
+{
+ Id: 20001
+ Name: "EVOL_PHYSICAL_SHIELD"
+ Description: "Physical Shield"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Friend: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ AfterCastActDelay: 1000
+ AfterCastWalkDelay: 1000
+ SkillData1: 20000
+ CoolDown: 5000
+ Requirements: {
+ SPCost: 14
+ }
+},
+{
+ Id: 20002
+ Name: "EVOL_SUPER_MENU"
+ Description: "Super Menu"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+},
+{
+ Id: 20003
+ Name: "EVOL_AREA_PROVOKE"
+ Description: "Area Provoke"
+ MaxLevel: 9
+ SkillType: {
+ //Self: true
+ Friend: true // <- Can it aim an enemy??
+ }
+ CoolDown: 1000
+ Requirements: {
+ SPCost: 35
+ }
+},
+{
+ Id: 20004
+ Name: "TMW2_OVHFIRE"
+ Description: "OVH Fire"
+ MaxLevel: 1
+ CoolDown: 60000
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+},
+// 20005~20008 reserved for TMW/Evol
+{
+ Id: 20009
+ Name: "TMW2_DROPS"
+ Description: "Realm of Drops"
+ MaxLevel: 10
+ SkillType: {
+ Passive: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+},
+{
+ Id: 20010
+ Name: "TMW2_SKILLPERMIT"
+ Description: "Skill Permit"
+ MaxLevel: 10
+ SkillType: {
+ Passive: true
+ }
+},
+{
+ Id: 20011
+ Name: "TMW2_GD_INCALL"
+ Description: "Guild Increase All"
+ MaxLevel: 9
+ SkillType: {
+ Self: true
+ }
+ CoolDown: 180000
+ Requirements: {
+ SPCost: 35
+ Items: {
+ GuildCoin: 1
+ }
+ }
+},
+{
+ Id: 20012
+ Name: "TMW2_GD_REGEN"
+ Description: "Guild Skill Regeneration"
+ MaxLevel: 9
+ SkillType: {
+ Self: true
+ }
+ CoolDown: 180000
+ Requirements: {
+ SPCost: 35
+ Items: {
+ GuildCoin: 1
+ }
+ }
+},
+{
+ Id: 20013
+ Name: "TMW2_GD_DEFUP"
+ Description: "Guild Skill DEF UP"
+ MaxLevel: 9
+ SkillType: {
+ Self: true
+ }
+ CoolDown: 180000
+ Requirements: {
+ SPCost: 35
+ Items: {
+ GuildCoin: 1
+ }
+ }
+},
+{
+ Id: 20014
+ Name: "TMW2_GD_BATTLEPLAN"
+ Description: "Guild Skill Battle Plan"
+ MaxLevel: 9
+ SkillType: {
+ Self: true
+ }
+ CoolDown: 180000
+ Requirements: {
+ SPCost: 35
+ Items: {
+ GuildCoin: 1
+ }
+ }
+},
+{
+ Id: 20015
+ Name: "TMW2_GD_ATKUP"
+ Description: "Guild Skill ATK UP"
+ MaxLevel: 9
+ SkillType: {
+ Self: true
+ }
+ CoolDown: 180000
+ Requirements: {
+ SPCost: 35
+ Items: {
+ GuildCoin: 1
+ }
+ }
+},
+{
+ Id: 20016
+ Name: "TMW2_GD_CRITUP"
+ Description: "Guild Skill CRIT UP"
+ MaxLevel: 9
+ SkillType: {
+ Self: true
+ }
+ CoolDown: 180000
+ Requirements: {
+ SPCost: 35
+ Items: {
+ GuildCoin: 1
+ }
+ }
+},
+{
+ Id: 20017
+ Name: "TMW2_GD_AUTOREVIVE"
+ Description: "Guild Skill Autorevive"
+ MaxLevel: 9
+ SkillType: {
+ Self: true
+ }
+ CoolDown: 180000
+ Requirements: {
+ SPCost: 35
+ Items: {
+ GuildCoin: 1
+ }
+ }
+},
+{
+ Id: 20018
+ Name: "TMW2_GDP_MAXPOWER"
+ Description: "Group Skill Maximum Damage"
+ MaxLevel: 9
+ SkillType: {
+ Self: true
+ }
+ CoolDown: 180000
+ Requirements: {
+ SPCost: 35
+ Items: {
+ GuildCoin: 1
+ }
+ }
+},
+{
+ Id: 20019
+ Name: "TMW2_GDP_SPREGEN"
+ Description: "Group Skill MP Regen"
+ MaxLevel: 9
+ SkillType: {
+ Self: true
+ }
+ CoolDown: 180000
+ Requirements: {
+ SPCost: 35
+ Items: {
+ GuildCoin: 1
+ }
+ }
+},
+{
+ Id: 20020
+ Name: "TMW2_STUDY"
+ Description: "Study"
+ MaxLevel: 10
+ SkillType: {
+ Enemy: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ CoolDown: {
+ Lv1: 10000
+ Lv2: 9000
+ Lv3: 8000
+ Lv4: 7000
+ Lv5: 6000
+ Lv6: 5000
+ Lv7: 4000
+ Lv8: 3000
+ Lv9: 2000
+ Lv10: 1000
+ }
+ CastTime: 500
+ FixedCastTime: 500
+ AfterCastActDelay: 100
+},
+{
+ Id: 20021
+ Name: "TMW2_MANABOMB"
+ Description: "Mana Bomb"
+ MaxLevel: 10
+ Range: 9
+ SkillType: {
+ Enemy: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ Element: "Ele_Neutral"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ /*
+ CoolDown: {
+ Lv1: 5000
+ Lv2: 4500
+ Lv3: 4000
+ Lv4: 3500
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ */
+ CastTime: 300
+ FixedCastTime: 300
+ AfterCastActDelay: 100
+ Requirements: {
+ SPCost: 1
+ }
+},
+// End of Evol Reserved Space
+{
+ Id: 20022
+ Name: "TMW2_MPREGEN"
+ Description: "MP Regen"
+ MaxLevel: 10
+ SkillType: {
+ Self: true
+ }
+ InterruptCast: true
+ CoolDown: 3500
+ CastTime: 500
+ AfterCastActDelay: 1000
+ SkillInfo: {
+ Quest: true
+ }
+},
+{
+ Id: 20023
+ Name: "TMW2_ZARKOR"
+ Description: "Summon Cave Maggot"
+ MaxLevel: 7
+ SkillInfo: {
+ Quest: true
+ }
+ SkillType: {
+ Self: true
+ }
+ CoolDown: {
+ Lv1: 80000
+ Lv2: 78000
+ Lv3: 76000
+ Lv4: 74000
+ Lv5: 72000
+ Lv6: 70000
+ Lv7: 68000
+ Lv8: 66000
+ Lv9: 64000
+ Lv10: 62000
+ }
+ CastTime: 100
+ FixedCastTime: 100
+ Requirements: {
+ Items: {
+ ZarkorScroll: 0
+ }
+ SPCost: 40
+ }
+},
+{
+ Id: 20024
+ Name: "TMW2_PARUM"
+ Description: "Wood Transmutation"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ CoolDown: 4000
+ Requirements: {
+ SPCost: 50
+ Items: {
+ RawLog: 1
+ }
+ }
+},
+{
+ Id: 20025
+ Name: "TMW2_KALMURK"
+ Description: "Summon Maggot"
+ MaxLevel: 10
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ CoolDown: {
+ Lv1: 20000
+ Lv2: 19000
+ Lv3: 18000
+ Lv4: 17000
+ Lv5: 16000
+ Lv6: 15000
+ Lv7: 14000
+ Lv8: 13000
+ Lv9: 12000
+ Lv10: 10000
+ }
+ CastTime: 100
+ FixedCastTime: 100
+ Requirements: {
+ SPCost: 35
+ Items: {
+ MaggotSlime: 2
+ }
+ }
+},
+{
+ Id: 20026
+ Name: "TMW2_SAGE"
+ Description: "Increased Mana Exp Gain"
+ MaxLevel: 10
+ SkillType: {
+ Passive: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+},
+{
+ Id: 20027
+ Name: "TMW2_TRANSMIGRATION"
+ Description: "Transmutation"
+ MaxLevel: 10
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+},
+{
+ Id: 20028
+ Name: "TMW2_DEMURE"
+ Description: "Full Rage"
+ MaxLevel: 10
+ CoolDown: {
+ Lv1: 30000
+ Lv2: 61000
+ Lv3: 92000
+ Lv4: 123000
+ Lv5: 154000
+ Lv6: 185000
+ Lv7: 216000
+ Lv8: 247000
+ Lv9: 278000
+ Lv10: 309000
+ }
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 100
+ Lv2: 199
+ Lv3: 298
+ Lv4: 397
+ Lv5: 496
+ Lv6: 595
+ Lv7: 694
+ Lv8: 793
+ Lv9: 892
+ Lv10: 991
+ }
+ }
+},
+{
+ Id: 20029
+ Name: "TMW2_DRAGOKIN"
+ Description: "Dragokin"
+ MaxLevel: 5
+ CoolDown: 16000
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+},
+{
+ Id: 20030
+ Name: "TMW2_LIMERIZER"
+ Description: "Limerizer"
+ MaxLevel: 10
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ CoolDown: {
+ Lv1: 54000
+ Lv2: 53000
+ Lv3: 52000
+ Lv4: 51000
+ Lv5: 50000
+ Lv6: 49000
+ Lv7: 48000
+ Lv8: 47000
+ Lv9: 46000
+ Lv10: 45000
+ }
+ CastTime: 400
+ FixedCastTime: 100
+ Requirements: {
+ SPCost: 60
+ Items: {
+ MaggotSlime: 15
+ }
+ }
+},
+// Debug: 20031~20035
+{
+ Id: 20031
+ Name: "TMW2_FAKESKILL"
+ Description: "Fake Skill Resync"
+ MaxLevel: 1
+ CoolDown: 1500
+ SkillType: {
+ Self: true
+ }
+},
+{
+ Id: 20032
+ Name: "TMW2_FAKESKILL2"
+ Description: "Fake Skill Event"
+ MaxLevel: 1
+ CoolDown: 4000
+ SkillType: {
+ Self: true
+ }
+},
+{
+ Id: 20033
+ Name: "TMW2_CRAFT"
+ Description: "Crafting"
+ MaxLevel: 7
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+},
+{
+ Id: 20034
+ Name: "TMW2_ANCIENTLANGUAGES"
+ Description: "Read Ancient Languages"
+ MaxLevel: 1
+ SkillType: {
+ Passive: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+},
+{
+ Id: 20035
+ Name: "TMW2_SPEECH"
+ Description: "Speech"
+ MaxLevel: 10
+ SkillType: {
+ Passive: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+},
+// More skills: 20036~20062
+{
+ Id: 20036
+ Name: "TMW2_HALHISS"
+ Description: "Halhiss"
+ MaxLevel: 10
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ CoolDown: {
+ Lv1: 45000
+ Lv2: 44000
+ Lv3: 43000
+ Lv4: 42000
+ Lv5: 41000
+ Lv6: 40000
+ Lv7: 38000
+ Lv8: 37000
+ Lv9: 36000
+ Lv10: 35000
+ }
+ CastTime: 150
+ FixedCastTime: 100
+ Requirements: {
+ SPCost: 40
+ Items: {
+ SnakeEgg: 1
+ }
+ }
+},
+{
+ Id: 20037
+ Name: "TMW2_KALWULF"
+ Description: "Kalwulf"
+ MaxLevel: 9
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ CoolDown: {
+ Lv1: 45000
+ Lv2: 44000
+ Lv3: 43000
+ Lv4: 42000
+ Lv5: 41000
+ Lv6: 40000
+ Lv7: 38000
+ Lv8: 37000
+ Lv9: 36000
+ Lv10: 35000
+ }
+ CastTime: 200
+ FixedCastTime: 100
+ Requirements: {
+ SPCost: 45
+ Items: {
+ WhiteFur: 5
+ }
+ }
+},
+{
+ Id: 20038
+ Name: "TMW2_FAIRYKINGDOM"
+ Description: "Fairy Kingdom"
+ MaxLevel: 9
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ CoolDown: {
+ Lv1: 45000
+ Lv2: 44000
+ Lv3: 43000
+ Lv4: 42000
+ Lv5: 41000
+ Lv6: 40000
+ Lv7: 38000
+ Lv8: 37000
+ Lv9: 36000
+ Lv10: 35000
+ }
+ CastTime: 250
+ FixedCastTime: 100
+ Requirements: {
+ SPCost: 47
+ Items: {
+ FluoPowder: 1
+ }
+ }
+},
+{
+ Id: 20039
+ Name: "TMW2_FROZENHEART"
+ Description: "Frozen Heart"
+ MaxLevel: 9
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ CoolDown: {
+ Lv1: 45000
+ Lv2: 44000
+ Lv3: 43000
+ Lv4: 42000
+ Lv5: 41000
+ Lv6: 40000
+ Lv7: 38000
+ Lv8: 37000
+ Lv9: 36000
+ Lv10: 35000
+ }
+ CastTime: 300
+ FixedCastTime: 100
+ Requirements: {
+ SPCost: 50
+ Items: {
+ FrozenYetiTear: 1
+ }
+ }
+},
+{
+ Id: 20040
+ Name: "TMW2_STONEHEART"
+ Description: "Stone Heart"
+ MaxLevel: 9
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ CoolDown: {
+ Lv1: 45000
+ Lv2: 44000
+ Lv3: 43000
+ Lv4: 42000
+ Lv5: 41000
+ Lv6: 40000
+ Lv7: 38000
+ Lv8: 37000
+ Lv9: 36000
+ Lv10: 35000
+ }
+ CastTime: 350
+ FixedCastTime: 100
+ Requirements: {
+ SPCost: 55
+ Items: {
+ TerraniteOre: 1
+ }
+ }
+},
+{
+ Id: 20041
+ Name: "TMW2_KALBOO"
+ Description: "Kalboo"
+ MaxLevel: 9
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ CoolDown: {
+ Lv1: 45000
+ Lv2: 44000
+ Lv3: 43000
+ Lv4: 42000
+ Lv5: 41000
+ Lv6: 40000
+ Lv7: 38000
+ Lv8: 37000
+ Lv9: 36000
+ Lv10: 35000
+ }
+ CastTime: 120
+ FixedCastTime: 100
+ Requirements: {
+ SPCost: 35
+ Items: {
+ MoubooFigurine: 1
+ }
+ }
+},
+{
+ Id: 20042
+ Name: "TMW2_KALSPIKE"
+ Description: "Kal Spike"
+ MaxLevel: 9
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ CoolDown: {
+ Lv1: 45000
+ Lv2: 44000
+ Lv3: 43000
+ Lv4: 42000
+ Lv5: 41000
+ Lv6: 40000
+ Lv7: 38000
+ Lv8: 37000
+ Lv9: 36000
+ Lv10: 35000
+ }
+ CastTime: 100
+ FixedCastTime: 100
+ Requirements: {
+ SPCost: 35
+ Items: {
+ MushroomSpores: 1
+ }
+ }
+},
+{
+ Id: 20043
+ Name: "TMW2_CUTEHEART"
+ Description: "Cute Heart"
+ MaxLevel: 9
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ CoolDown: {
+ Lv1: 45000
+ Lv2: 44000
+ Lv3: 43000
+ Lv4: 42000
+ Lv5: 41000
+ Lv6: 40000
+ Lv7: 38000
+ Lv8: 37000
+ Lv9: 36000
+ Lv10: 35000
+ }
+ CastTime: 100
+ FixedCastTime: 100
+ Requirements: {
+ SPCost: 30
+ Items: {
+ WhiteFur: 1
+ }
+ }
+},
+{
+ Id: 20044
+ Name: "TMW2_PLANTKINGDOM"
+ Description: "Plant Kingdom"
+ MaxLevel: 9
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+},
+// 20045 and 20046 are free
+{
+ Id: 20047
+ Name: "TMW2_DUCKY"
+ Description: "Summon Duck Reinforcements"
+ MaxLevel: 10
+ SkillInfo: {
+ Quest: true
+ }
+ SkillType: {
+ Self: true
+ }
+ CoolDown: {
+ Lv1: 80000
+ Lv2: 78000
+ Lv3: 76000
+ Lv4: 74000
+ Lv5: 72000
+ Lv6: 70000
+ Lv7: 68000
+ Lv8: 66000
+ Lv9: 64000
+ Lv10: 62000
+ }
+ Requirements: {
+ Items: {
+ RubberDucky: 0
+ CherryCake: 1
+ }
+ SPCost: 40
+ }
+},
+{
+ Id: 20048
+ Name: "TMW2_OVERLOAD"
+ Description: "Weapon Overload"
+ Range: -1
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ CoolDown: {
+ Lv1: 60000
+ Lv2: 57000
+ Lv3: 54000
+ Lv4: 51000
+ Lv5: 48000
+ Lv6: 45000
+ Lv7: 42000
+ Lv8: 38000
+ Lv9: 34000
+ Lv10: 30000
+ }
+},
+{
+ Id: 20049
+ Name: "TMW2_FAIRYEMPIRE"
+ Description: "Fairy Empire"
+ MaxLevel: 10
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ CoolDown: {
+ Lv1: 45000
+ Lv2: 44000
+ Lv3: 43000
+ Lv4: 42000
+ Lv5: 41000
+ Lv6: 40000
+ Lv7: 38000
+ Lv8: 37000
+ Lv9: 36000
+ Lv10: 35000
+ }
+ CastTime: 400
+ FixedCastTime: 100
+ Requirements: {
+ SPCost: 60
+ Items: {
+ FluoPowder: 3
+ }
+ }
+},
+{
+ Id: 20050
+ Name: "TMW2_FIRSTAID"
+ Description: "First Aid"
+ MaxLevel: 10
+ SkillType: {
+ Self: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 5000
+ Lv2: 4500
+ Lv3: 4000
+ Lv4: 3500
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ CastTime: 300
+ FixedCastTime: 300
+ //AfterCastActDelay: 100
+ Requirements: {
+ SPCost: 50
+ }
+},
+{
+ Id: 20051
+ Name: "TMW2_HEALING"
+ Description: "Healing"
+ MaxLevel: 10
+ Range: 9
+ SkillType: {
+ Friend: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 5000
+ Lv2: 4500
+ Lv3: 4000
+ Lv4: 3500
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ CastTime: 300
+ FixedCastTime: 300
+ AfterCastActDelay: 100
+ Requirements: {
+ SPCost: 75
+ }
+},
+{
+ Id: 20052
+ Name: "TMW2_MAGNUSHEAL"
+ Description: "Magnus Healing"
+ MaxLevel: 10
+ Range: 6
+ SkillType: {
+ Friend: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 10000
+ Lv2: 9000
+ Lv3: 8000
+ Lv4: 7000
+ Lv5: 6000
+ Lv6: 5000
+ Lv7: 4000
+ Lv8: 3000
+ Lv9: 2000
+ Lv10: 1000
+ }
+ CastTime: 500
+ FixedCastTime: 200
+ AfterCastActDelay: 300
+ Requirements: {
+ SPCost: 150
+ Items: {
+ Lifestone: 1
+ }
+ }
+},
+{
+ Id: 20053
+ Name: "TMW2_FROSTDIVER"
+ Description: "Frost Diver"
+ MaxLevel: 10
+ Range: 9
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 5000
+ Lv2: 4500
+ Lv3: 4000
+ Lv4: 3500
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ CastTime: 200
+ FixedCastTime: 100
+ AfterCastActDelay: 100
+ Requirements: {
+ SPCost: 70
+ }
+},
+{
+ Id: 20054
+ Name: "TMW2_FROSTNOVA"
+ Description: "Frost Nova"
+ MaxLevel: 10
+ Range: 9
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 5000
+ Lv2: 4500
+ Lv3: 4000
+ Lv4: 3500
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ CastTime: 250
+ FixedCastTime: 100
+ AfterCastActDelay: 150
+ Requirements: {
+ SPCost: 140
+ }
+},
+{
+ Id: 20055
+ Name: "TMW2_NILFHEIM"
+ Description: "Nilfheim"
+ MaxLevel: 5
+ Range: 9
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ Element: "Ele_Water"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 5000
+ Lv2: 4500
+ Lv3: 4000
+ Lv4: 3500
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ CastTime: 350
+ FixedCastTime: 100
+ AfterCastActDelay: 200
+ Requirements: {
+ SPCost: 210
+ }
+},
+{
+ Id: 20056
+ Name: "TMW2_NAPALMBEAT"
+ Description: "Napalm Beat"
+ MaxLevel: 10
+ Range: 9
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 5000
+ Lv2: 4500
+ Lv3: 4000
+ Lv4: 3500
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ CastTime: 200
+ FixedCastTime: 100
+ AfterCastActDelay: 100
+ Requirements: {
+ SPCost: 70
+ }
+},
+{
+ Id: 20057
+ Name: "TMW2_HOLYLIGHT"
+ Description: "Holy Light"
+ MaxLevel: 10
+ Range: 9
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 5000
+ Lv2: 4500
+ Lv3: 4000
+ Lv4: 3500
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ CastTime: 250
+ FixedCastTime: 100
+ AfterCastActDelay: 150
+ Requirements: {
+ SPCost: 140
+ }
+},
+{
+ Id: 20058
+ Name: "TMW2_JUDGMENT"
+ Description: "Judgment"
+ MaxLevel: 10
+ Range: 12
+ SkillType: {
+ Enemy: true
+ //Friend: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ Element: "Ele_Holy"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 5000
+ Lv2: 4500
+ Lv3: 4000
+ Lv4: 3500
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ CastTime: 350
+ FixedCastTime: 100
+ AfterCastActDelay: 200
+ Requirements: {
+ SPCost: 210
+ }
+},
+{
+ Id: 20059
+ Name: "TMW2_MAGICSTRIKE"
+ Description: "Magic Strike"
+ MaxLevel: 10
+ Range: 9
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 4000
+ Lv2: 3500
+ Lv3: 3000
+ Lv4: 2500
+ Lv5: 2000
+ Lv6: 1500
+ Lv7: 1000
+ Lv8: 800
+ Lv9: 600
+ Lv10: 400
+ }
+ CastTime: 200
+ FixedCastTime: 100
+ AfterCastActDelay: 100
+ Requirements: {
+ SPCost: 70
+ }
+},
+{
+ Id: 20060
+ Name: "TMW2_LIGHTNINGBOLT"
+ Description: "Lightning Bolt"
+ MaxLevel: 10
+ Range: 9
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 4000
+ Lv2: 3500
+ Lv3: 3000
+ Lv4: 2500
+ Lv5: 2000
+ Lv6: 1500
+ Lv7: 1000
+ Lv8: 800
+ Lv9: 600
+ Lv10: 400
+ }
+ CastTime: 250
+ FixedCastTime: 100
+ AfterCastActDelay: 150
+ Requirements: {
+ SPCost: 140
+ }
+},
+{
+ Id: 20061
+ Name: "TMW2_TEMPEST"
+ Description: "Tempest Storm"
+ MaxLevel: 10
+ Range: 9
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ Element: "Ele_Wind"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 4000
+ Lv2: 3500
+ Lv3: 3000
+ Lv4: 2500
+ Lv5: 2000
+ Lv6: 1500
+ Lv7: 1000
+ Lv8: 800
+ Lv9: 600
+ Lv10: 400
+ }
+ CastTime: 350
+ FixedCastTime: 100
+ AfterCastActDelay: 200
+ Requirements: {
+ SPCost: 210
+ }
+},
+{
+ Id: 20062
+ Name: "TMW2_METEORSTRIKE"
+ Description: "Meteor Strike"
+ MaxLevel: 10
+ Range: 9
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ Element: "Ele_Earth"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 5000
+ Lv2: 4500
+ Lv3: 4000
+ Lv4: 3500
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ CastTime: 200
+ FixedCastTime: 100
+ AfterCastActDelay: 100
+ Requirements: {
+ SPCost: 100
+ }
+},
+{
+ Id: 20063
+ Name: "TMW2_METEORSHOWER"
+ Description: "Meteor Shower"
+ MaxLevel: 10
+ Range: 9
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ Element: "Ele_Earth"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 5000
+ Lv2: 4500
+ Lv3: 4000
+ Lv4: 3500
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ CastTime: 250
+ FixedCastTime: 100
+ AfterCastActDelay: 150
+ Requirements: {
+ SPCost: 180
+ }
+},
+{
+ Id: 20064
+ Name: "TMW2_GAIABREAK"
+ Description: "Gaia Break"
+ MaxLevel: 10
+ Range: 9
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ Element: "Ele_Earth"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 5000
+ Lv2: 4500
+ Lv3: 4000
+ Lv4: 3500
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ CastTime: 350
+ FixedCastTime: 100
+ AfterCastActDelay: 200
+ Requirements: {
+ SPCost: 260
+ }
+},
+{
+ Id: 20065
+ Name: "TMW2_FIREARROW"
+ Description: "Fire Arrow"
+ MaxLevel: 10
+ Range: 9
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 5000
+ Lv2: 4500
+ Lv3: 4000
+ Lv4: 3500
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ CastTime: 200
+ FixedCastTime: 100
+ AfterCastActDelay: 100
+ Requirements: {
+ SPCost: 70
+ }
+},
+{
+ Id: 20066
+ Name: "TMW2_FIREBALL"
+ Description: "Fire Ball"
+ MaxLevel: 10
+ Range: 9
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 5000
+ Lv2: 4500
+ Lv3: 4000
+ Lv4: 3500
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ CastTime: 250
+ FixedCastTime: 100
+ AfterCastActDelay: 150
+ Requirements: {
+ SPCost: 140
+ }
+},
+{
+ Id: 20067
+ Name: "TMW2_ARMAGEDDON"
+ Description: "Armageddon"
+ MaxLevel: 10
+ Range: 9
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ Element: "Ele_Fire"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 5000
+ Lv2: 4500
+ Lv3: 4000
+ Lv4: 3500
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ CastTime: 350
+ FixedCastTime: 100
+ AfterCastActDelay: 200
+ Requirements: {
+ SPCost: 210
+ }
+},
+{
+ Id: 20068
+ Name: "TMW2_BRAWLING"
+ Description: "Brawling"
+ MaxLevel: 10
+ Range: 1
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Weapon"
+ Element: "Ele_Neutral"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 5000
+ Lv2: 4500
+ Lv3: 4000
+ Lv4: 3500
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ CastTime: 200
+ FixedCastTime: 100
+ AfterCastActDelay: 100
+ Requirements: {
+ SPCost: 70
+ WeaponTypes: {
+ NoWeapon: true
+ }
+ }
+},
+{
+ Id: 20069
+ Name: "TMW2_BEARSTRIKE"
+ Description: "Bear Strike"
+ MaxLevel: 10
+ Range: 1
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Weapon"
+ Element: "Ele_Neutral"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 7000
+ Lv2: 6000
+ Lv3: 5000
+ Lv4: 4000
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ CastTime: 200
+ FixedCastTime: 100
+ AfterCastActDelay: 100
+ Requirements: {
+ SPCost: 100
+ WeaponTypes: {
+ NoWeapon: true
+ }
+ }
+},
+{
+ Id: 20070
+ Name: "TMW2_ALLINONE"
+ Description: "All In One"
+ MaxLevel: 10
+ Range: 1
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Weapon"
+ Element: "Ele_Random"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 10000
+ Lv2: 9000
+ Lv3: 8000
+ Lv4: 7000
+ Lv5: 6000
+ Lv6: 5000
+ Lv7: 4000
+ Lv8: 3000
+ Lv9: 2000
+ Lv10: 1000
+ }
+ CastTime: 300
+ FixedCastTime: 100
+ AfterCastActDelay: 100
+ Requirements: {
+ SPCost: 140
+ WeaponTypes: {
+ NoWeapon: true
+ }
+ }
+},
+{
+ Id: 20071
+ Name: "TMW2_FALKONSTRIKE"
+ Description: "Falkon Strike"
+ MaxLevel: 10
+ Range: -1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ Requirements: {
+ SPCost: 60
+ WeaponTypes: {
+ NoWeapon: true
+ Daggers: true
+ 1HSwords: true
+ 2HSwords: true
+ 1HSpears: true
+ 2HSpears: true
+ 1HAxes: true
+ 2HAxes: true
+ Maces: true
+ 2HMaces: true
+ Knuckles: true
+ Instruments: true
+ Whips: true
+ Books: true
+ Katars: true
+ Revolvers: true
+ Rifles: true
+ }
+ }
+},
+{
+ Id: 20072
+ Name: "TMW2_GROUNDSTRIKE"
+ Description: "Ground Strike"
+ MaxLevel: 10
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ //SplashRange: 2
+ CastTime: 350
+ FixedCastTime: 350
+ AfterCastActDelay: 500
+ Requirements: {
+ SPCost: 90
+ }
+},
+{
+ Id: 20073
+ Name: "TMW2_SUPREMEATTACK"
+ Description: "Supreme Attack"
+ MaxLevel: 10
+ Range: -1
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: 55
+ HPRateCost: 2
+ WeaponTypes: {
+ NoWeapon: true
+ Daggers: true
+ 1HSwords: true
+ 2HSwords: true
+ 1HSpears: true
+ 2HSpears: true
+ 1HAxes: true
+ 2HAxes: true
+ Maces: true
+ 2HMaces: true
+ Knuckles: true
+ Instruments: true
+ Whips: true
+ Books: true
+ Katars: true
+ Revolvers: true
+ Rifles: true
+ }
+ }
+},
+{
+ Id: 20074
+ Name: "TMW2_CHARGEDARROW"
+ Description: "Charged Shot"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ KnockBackTiles: 6
+ FixedCastTime: 1500
+ Requirements: {
+ SPCost: 150
+ WeaponTypes: {
+ Bows: true
+ Revolvers: true
+ Rifles: true
+ GatlingGuns: true
+ Shotguns: true
+ }
+ AmmoTypes: {
+ A_ARROW: true
+ A_BULLET: true
+ }
+ AmmoAmount: 1
+ }
+},
+{
+ Id: 20075
+ Name: "TMW2_ARROWSHOWER"
+ Description: "Arrow Shower"
+ MaxLevel: 10
+ Range: -9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Place: true
+ }
+ SkillInfo: {
+ IgnoreLandProtector: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Weapon"
+ DamageType: {
+ NoDamage: true
+ }
+ /*SplashRange: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 3
+ Lv5: 3
+ Lv6: 3
+ Lv7: 3
+ Lv8: 3
+ Lv9: 3
+ Lv10: 3
+ }*/
+ KnockBackTiles: 1
+ AfterCastActDelay: 100
+ //SkillData1: 100
+ FixedCastTime: 0
+ Requirements: {
+ SPCost: 80
+ WeaponTypes: {
+ Bows: true
+ Revolvers: true
+ Rifles: true
+ GatlingGuns: true
+ Shotguns: true
+ }
+ AmmoTypes: {
+ A_ARROW: true
+ A_BULLET: true
+ }
+ AmmoAmount: {
+ Lv1: 3
+ Lv2: 5
+ Lv3: 5
+ Lv4: 5
+ Lv5: 5
+ Lv6: 5
+ Lv7: 5
+ Lv8: 5
+ Lv9: 5
+ Lv10: 5
+ }
+ }
+ /*Unit: {
+ Id: 0x86
+ Range: {
+ Lv1: 1
+ Lv2: 1
+ Lv3: 2
+ Lv4: 2
+ Lv5: 2
+ Lv6: 2
+ Lv7: 2
+ Lv8: 2
+ Lv9: 2
+ Lv10: 2
+ }
+ Interval: 1000
+ Target: "Enemy"
+ Flag: {
+ UF_SKILL: true
+ }
+ }*/
+},
+{
+ Id: 20076
+ Name: "TMW2_STUNNINGSTRIKE"
+ Description: "Stunning Strike"
+ MaxLevel: 10
+ Range: 2
+ SkillType: {
+ Enemy: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Weapon"
+ Element: "Ele_Neutral"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 7000
+ Lv2: 6000
+ Lv3: 5000
+ Lv4: 4000
+ Lv5: 3000
+ Lv6: 2500
+ Lv7: 2000
+ Lv8: 1500
+ Lv9: 1000
+ Lv10: 500
+ }
+ CastTime: 225
+ FixedCastTime: 100
+ AfterCastActDelay: 225
+ Requirements: {
+ SPCost: 120
+ WeaponTypes: {
+ NoWeapon: true
+ }
+ }
+},
+{
+ Id: 20077
+ Name: "TMW2_RESURRECT"
+ Description: "Resurrection"
+ MaxLevel: 10
+ Range: 4
+ SkillType: {
+ Friend: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 30000
+ Lv2: 28000
+ Lv3: 26000
+ Lv4: 24000
+ Lv5: 20000
+ Lv6: 19000
+ Lv7: 18000
+ Lv8: 17000
+ Lv9: 16000
+ Lv10: 15000
+ }
+ CastTime: 2000
+ FixedCastTime: 500
+ AfterCastActDelay: 300
+ Requirements: {
+ SPCost: 120
+ Items: {
+ Lifestone: 1
+ }
+ }
+},
+{
+ Id: 20078
+ Name: "TMW2_CHANT"
+ Description: "Chanting"
+ MaxLevel: 10
+ SkillType: {
+ Passive: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+},
+{
+ Id: 20079
+ Name: "TMW2_MPTRANSFER"
+ Description: "MP Transfer"
+ MaxLevel: 10
+ SkillType: {
+ Friend: true
+ }
+ Hit: "BDT_SKILL"
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ InterruptCast: true
+ CoolDown: {
+ Lv1: 4000
+ Lv2: 3500
+ Lv3: 3000
+ Lv4: 2500
+ Lv5: 2000
+ Lv6: 1500
+ Lv7: 1000
+ Lv8: 500
+ Lv9: 250
+ Lv10: 100
+ }
+ CastTime: 500
+ AfterCastActDelay: {
+ Lv1: 1000
+ Lv2: 900
+ Lv3: 800
+ Lv4: 700
+ Lv5: 600
+ Lv6: 500
+ Lv7: 400
+ Lv8: 300
+ Lv9: 200
+ Lv10: 100
+ }
+ SkillInfo: {
+ Quest: true
+ }
+},
+
+
+
+
+
+// Additional Homunculus Skills
+{
+ Id: 8044
+ Name: "TMW2_SKILLX"
+ Description: "Skill X"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ AttackType: "Magic"
+ CoolDown: 2000
+ FixedCastTime: -1
+ DamageType: {
+ NoDamage: true
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 6
+ Lv2: 7
+ Lv3: 8
+ Lv4: 9
+ Lv5: 10
+ Lv6: 20
+ Lv7: 20
+ Lv8: 20
+ Lv9: 20
+ Lv10: 20
+ }
+ }
+},
+{
+ Id: 8045
+ Name: "TMW2_HOMUN_HEAL"
+ Description: "Healing Touch"
+ MaxLevel: 9
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ AfterCastActDelay: 500
+ CoolDown: 1000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 28
+ Lv2: 29
+ Lv3: 30
+ Lv4: 31
+ Lv5: 32
+ Lv6: 33
+ Lv7: 34
+ Lv8: 35
+ Lv9: 36
+ Lv10: 37
+ }
+ }
+},
+{
+ Id: 8046
+ Name: "TMW2_LITTLE_WONDERS"
+ Description: "Little Wonders"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Magic"
+ DamageType: {
+ NoDamage: true
+ }
+ CoolDown: {
+ Lv1: 15000
+ Lv2: 14000
+ Lv3: 13000
+ Lv4: 11500
+ Lv5: 10000
+ Lv6: 10000
+ Lv7: 10000
+ Lv8: 10000
+ Lv9: 10000
+ Lv10: 10000
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 37
+ Lv3: 35
+ Lv4: 32
+ Lv5: 30
+ Lv6: 30
+ Lv7: 30
+ Lv8: 30
+ Lv9: 30
+ Lv10: 30
+ }
+ }
+},
+{
+ Id: 8047
+ Name: "TMW2_CAPRICE"
+ Description: "Chaos Bolts"
+ MaxLevel: 5
+ Range: 9
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ //CoolDown: 2000
+ AttackType: "Magic"
+ NumberOfHits: {
+ Lv1: 1
+ Lv2: 2
+ Lv3: 3
+ Lv4: 4
+ Lv5: 5
+ Lv6: 6
+ Lv7: 7
+ Lv8: 8
+ Lv9: 9
+ Lv10: 10
+ }
+ AfterCastActDelay: {
+ Lv1: 1000
+ Lv2: 1200
+ Lv3: 1400
+ Lv4: 1600
+ Lv5: 1800
+ Lv6: 2000
+ Lv7: 2200
+ Lv8: 2400
+ Lv9: 2600
+ Lv10: 2800
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 22
+ Lv2: 24
+ Lv3: 26
+ Lv4: 28
+ Lv5: 30
+ Lv6: 32
+ Lv7: 34
+ Lv8: 36
+ Lv9: 38
+ Lv10: 40
+ }
+ }
+},
+{
+ Id: 8048
+ Name: "TMW2_AVOID"
+ Description: "Time to Flee"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ SplashArea: true
+ }
+ SplashRange: -1
+ AfterCastActDelay: 35000
+ CoolDown: {
+ Lv1: 15000
+ Lv2: 14000
+ Lv3: 13000
+ Lv4: 12000
+ Lv5: 10000
+ Lv6: 10000
+ Lv7: 10000
+ Lv8: 10000
+ Lv9: 10000
+ Lv10: 10000
+ }
+ SkillData1: {
+ Lv1: 40000
+ Lv2: 35000
+ Lv3: 30000
+ Lv4: 25000
+ Lv5: 20000
+ Lv6: 15000
+ Lv7: 10000
+ Lv8: 5000
+ Lv9: 1
+ Lv10: 1
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 20
+ Lv2: 25
+ Lv3: 30
+ Lv4: 35
+ Lv5: 40
+ Lv6: 45
+ Lv7: 50
+ Lv8: 55
+ Lv9: 60
+ Lv10: 65
+ }
+ }
+},
+{
+ Id: 8049
+ Name: "TMW2_HDEFENCE"
+ Description: "Survival Order"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 15
+ Lv2: 20
+ Lv3: 25
+ Lv4: 30
+ Lv5: 35
+ Lv6: 40
+ Lv7: 45
+ Lv8: 50
+ Lv9: 55
+ Lv10: 60
+ }
+ }
+},
+{
+ Id: 8050
+ Name: "TMW2_BLOODLUST"
+ Description: "Bloodlust"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 80
+ Lv3: 120
+ Lv4: 150
+ Lv5: 180
+ Lv6: 210
+ Lv7: 240
+ Lv8: 270
+ Lv9: 300
+ Lv10: 400
+ }
+ }
+},
+{
+ Id: 8051
+ Name: "TMW2_MOON"
+ Description: "Moonlight"
+ MaxLevel: 5
+ Range: 1
+ Hit: "BDT_MULTIHIT"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AttackType: "Weapon"
+ AfterCastWalkDelay: 1000
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 4
+ Lv2: 8
+ Lv3: 12
+ Lv4: 16
+ Lv5: 20
+ Lv6: 24
+ Lv7: 28
+ Lv8: 32
+ Lv9: 36
+ Lv10: 40
+ }
+ }
+},
+{
+ Id: 8052
+ Name: "TMW2_FLEET"
+ Description: "Fleeting Move"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 40
+ Lv3: 50
+ Lv4: 60
+ Lv5: 70
+ Lv6: 80
+ Lv7: 90
+ Lv8: 100
+ Lv9: 110
+ Lv10: 120
+ }
+ }
+},
+{
+ Id: 8053
+ Name: "TMW2_SPEED"
+ Description: "Speed"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ AttackType: "Misc"
+ DamageType: {
+ NoDamage: true
+ }
+ NumberOfHits: 0
+ InterruptCast: true
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 30
+ Lv2: 40
+ Lv3: 50
+ Lv4: 60
+ Lv5: 70
+ Lv6: 80
+ Lv7: 90
+ Lv8: 100
+ Lv9: 110
+ Lv10: 120
+ }
+ }
+},
+{
+ Id: 8054
+ Name: "TMW2_POISONMIST"
+ Description: "Poison Mist"
+ MaxLevel: 5
+ Range: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AttackType: "Weapon"
+ Element: "Ele_Nature"
+ CastTime: {
+ Lv1: 500
+ Lv2: 700
+ Lv3: 900
+ Lv4: 1100
+ Lv5: 1300
+ Lv6: 1500
+ Lv7: 1700
+ Lv8: 1900
+ Lv9: 2100
+ Lv10: 2300
+ }
+ FixedCastTime: 500
+ Requirements: {
+ SPCost: {
+ Lv1: 65
+ Lv2: 75
+ Lv3: 85
+ Lv4: 95
+ Lv5: 105
+ Lv6: 115
+ Lv7: 125
+ Lv8: 135
+ Lv9: 145
+ Lv10: 155
+ }
+ }
+},
+{
+ Id: 8055
+ Name: "TMW2_GOLDENFERSE"
+ Description: "Golden Ferse"
+ MaxLevel: 5
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Self: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ CastTime: {
+ Lv1: 1000
+ Lv2: 1200
+ Lv3: 1400
+ Lv4: 1600
+ Lv5: 1800
+ Lv6: 2000
+ Lv7: 2200
+ Lv8: 2400
+ Lv9: 2600
+ Lv10: 2800
+ }
+ FixedCastTime: -1
+ Requirements: {
+ SPCost: {
+ Lv1: 60
+ Lv2: 65
+ Lv3: 70
+ Lv4: 75
+ Lv5: 80
+ Lv6: 85
+ Lv7: 90
+ Lv8: 95
+ Lv9: 100
+ Lv10: 105
+ }
+ }
+},
+{
+ Id: 8056
+ Name: "TMW2_STAHLHORN"
+ Description: "Stahl Horn"
+ MaxLevel: 5
+ Range: {
+ Lv1: 5
+ Lv2: 6
+ Lv3: 7
+ Lv4: 8
+ Lv5: 9
+ Lv6: 10
+ Lv7: 11
+ Lv8: 12
+ Lv9: 13
+ Lv10: 14
+ }
+ Hit: "BDT_SKILL"
+ SkillType: {
+ Enemy: true
+ }
+ DamageType: {
+ NoDamage: true
+ }
+ AttackType: "Weapon"
+ KnockBackTiles: 4
+ CastTime: {
+ Lv1: 800
+ Lv2: 600
+ Lv3: 400
+ Lv4: 200
+ Lv5: 0
+ Lv6: 1
+ Lv7: 1
+ Lv8: 1
+ Lv9: 1
+ Lv10: 1
+ }
+ SkillData1: 5000
+ FixedCastTime: {
+ Lv1: 200
+ Lv2: 400
+ Lv3: 600
+ Lv4: 800
+ Lv5: 1000
+ Lv6: 1200
+ Lv7: 1400
+ Lv8: 1600
+ Lv9: 1800
+ Lv10: 2000
+ }
+ Requirements: {
+ SPCost: {
+ Lv1: 40
+ Lv2: 45
+ Lv3: 50
+ Lv4: 55
+ Lv5: 60
+ Lv6: 65
+ Lv7: 70
+ Lv8: 75
+ Lv9: 80
+ Lv10: 85
+ }
+ }
+},
+)
diff --git a/db/re/skill_tree.conf b/db/re/skill_tree.conf
new file mode 100644
index 0000000..02d2048
--- /dev/null
+++ b/db/re/skill_tree.conf
@@ -0,0 +1,285 @@
+//====================================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//=
+//= http://herc.ws/board/
+//================= More Information =================
+// http://herc.ws/board/topic/1188-skill-tree-db-redesign/
+//================ Structure Example =================
+/*
+Job_Name: { // Job names as in src/map/pc.c (they are hardcoded at the moment so if you want to add a new job you should add it there)
+ inherit: ( "Other_Job_Name" ); // Base job from which this job will inherit its skill tree. NV_TRICKDEAD inheritance is skipped for non-novices from the source
+
+ skills: { // SKILL_NAMEs come from the Name (16th column) value in db/re/skill_db.txt
+ SKILL_NAME1: Max_Level // Use this for skills that don't have other skill prerequisite; Max_Level is a numeric value that should match your client side files
+ SKILL_NAME2: { // Use this for skills which have other skills as prerequisites
+ MaxLevel: Max_Level // Max_Level is a numeric value that should match your client side files
+ SKILL_NAME_PREREQUISITE: Level_Prerequisite // The prerequisite skill and min level for having this skill available. Should also match your client side files
+ SKILL_NAME_PREREQUISITE2: Level_Prerequisite2 // You can add as many prerequisite skills as you want. Minimum of 1 if you add a skill this way
+ }
+}
+*/
+//====================================================
+
+Human: {
+ skills: {
+ // Basic
+ NV_BASIC: 0
+ TMW2_FAKESKILL: 0
+ TMW2_FAKESKILL2: 0
+ TMW2_SKILLPERMIT: 0
+ TMW2_CRAFT: 0
+ TMW2_ANCIENTLANGUAGES: 0
+ TMW2_SPEECH: 0
+ TMW2_MPREGEN: 0
+ WE_MALE: 0
+ WE_FEMALE: 0
+ GD_EXTENSION: 0
+ AM_CALLHOMUN: 0
+ AM_REST: 0
+ AM_RESURRECTHOMUN: 6
+ AL_DP: 0
+ TMW2_OVERLOAD: 0
+ TMW2_STUDY: 0
+ TMW2_OVHFIRE: 0
+ TMW2_DROPS: 0
+
+ // Transmigration Skills
+ TMW2_PARUM: 0
+ TMW2_TRANSMIGRATION: 10
+
+ // Summoning Skills
+ TMW2_ZARKOR: 3
+ TMW2_DUCKY: 10
+ TMW2_KALMURK: 4
+ TMW2_DRAGOKIN: 5
+ TMW2_LIMERIZER: 5
+ TMW2_HALHISS: 8
+ TMW2_KALWULF: 5
+ TMW2_FAIRYKINGDOM: 5
+ TMW2_FROZENHEART: 5
+ TMW2_STONEHEART: 5
+ TMW2_KALBOO: 5
+ TMW2_KALSPIKE: 5
+ TMW2_CUTEHEART: 5
+ TMW2_PLANTKINGDOM: 5
+ TMW2_FAIRYEMPIRE: 5
+
+ // Thieves/Merchant-Police
+ ALL_INCCARRY: 0
+ TF_STEAL: 0
+ MC_PUSHCART: 0
+ MC_VENDING: 0
+ MC_DISCOUNT: 0
+ MC_OVERCHARGE: 0
+
+ // Legendary Skills
+ TMW2_DEMURE: 10
+
+ ///////////////// Magic v3 (Custom/Trickmaster)
+ TMW2_MANABOMB: 0
+
+ ///////////////// Magic v3 (Custom/Scholarship)
+ TMW2_FIRSTAID: 0
+ TMW2_HEALING: 0
+ TMW2_MAGNUSHEAL: 0
+ TMW2_RESURRECT: 0
+ EVOL_AREA_PROVOKE: 0
+
+ ///////////////// Magic v3 (Magic Skills)
+ TMW2_FROSTDIVER: 0
+ TMW2_FROSTNOVA: 0
+ TMW2_NILFHEIM: 0
+ TMW2_NAPALMBEAT: 0
+ TMW2_HOLYLIGHT: 0
+ TMW2_MAGICSTRIKE: 0
+ TMW2_JUDGMENT: 0
+ TMW2_LIGHTNINGBOLT: 0
+ TMW2_TEMPEST: 0
+ TMW2_METEORSTRIKE: 0
+ TMW2_METEORSHOWER: 0
+ TMW2_GAIABREAK: 0
+ TMW2_FIREARROW: 0
+ TMW2_FIREBALL: 0
+ TMW2_ARMAGEDDON: 0
+
+ ///////////////// Brawler class
+ TMW2_BRAWLING: 0
+ TMW2_BEARSTRIKE: 0
+ TMW2_ALLINONE: 0
+ TMW2_STUNNINGSTRIKE: 0
+ TMW2_FALKONSTRIKE: 0
+ TMW2_GROUNDSTRIKE: 0
+ TMW2_SUPREMEATTACK: 0
+ TMW2_CHARGEDARROW: 0
+ TMW2_ARROWSHOWER: 0
+
+ ///////////////// Magic v3 (Builtin)
+ KN_AUTOCOUNTER: 0
+ SN_SHARPSHOOTING: 0
+ SN_WINDWALK: 0
+
+ ///////////////// Magic v3 (Passive)
+ // Scholarship (SELF)
+ AC_OWL: 10
+ SA_DRAGONOLOGY: 0
+ TMW2_SAGE: 0
+ TMW2_CHANT: 0
+ SM_RECOVERY: 0
+ MG_SRECOVERY: 0
+ TMW2_MPTRANSFER: 0
+ //PF_HPCONVERSION: 0
+ //HP_MEDITATIO: 0
+ CR_TRUST: 0
+ AC_VULTURE: 0
+
+ // Scholarship (MMO)
+ AL_INCAGI: 0
+ HW_MAGICPOWER: 0
+ SM_PROVOKE: 0
+ TF_DETOXIFY: 0
+ AC_CONCENTRATION: 0
+ ALL_RESURRECTION: 0
+
+ // Scholarship (Weapon)
+ PR_ASPERSIO: 0
+ SA_FLAMELAUNCHER: 0
+ SA_FROSTWEAPON: 0
+ SA_LIGHTNINGLOADER: 0
+ SA_SEISMICWEAPON: 0
+
+
+ ///////////////// Trickster Class
+ // Trickmasters (INOFFENSIVE)
+ ALL_FULL_THROTTLE: 0
+ SA_FREECAST: 0
+ TF_BACKSLIDING: 0
+ NV_TRICKDEAD: 0
+
+ // Trickmasters (OFFENSIVE)
+ MG_FIREWALL: 0
+ SO_FIREWALK: 0
+ GC_DARKILLUSION: 0
+
+ ///////////////// Misc Skills
+ // Guild Skills (alpha)
+ GD_LEADERSHIP: 0
+ GD_SOULCOLD: 0
+ GD_BATTLEORDER: 0
+ GD_REGENERATION: 0
+ GD_RESTORE: 0
+ GD_EMERGENCYCALL: 0
+
+ // Guild Skills (beta)
+ TMW2_GD_INCALL: 0
+ TMW2_GD_REGEN: 0
+ TMW2_GD_DEFUP: 0
+ TMW2_GD_BATTLEPLAN: 0
+ TMW2_GD_ATKUP: 0
+ TMW2_GD_CRITUP: 0
+ TMW2_GD_AUTOREVIVE: 0
+ TMW2_GDP_MAXPOWER: 0
+ TMW2_GDP_SPREGEN: 0
+
+ // Deprecated
+ ASC_METEORASSAULT: 0
+ AC_SHOWER: 0
+ SM_BASH: 0
+ MC_MAMMONITE: 0
+ AC_CHARGEARROW: 0
+
+ //////////////////////////////////////////
+ ///////////////// Unused /////////////////
+ //////////////////////////////////////////
+ /*
+ // No longer used
+ BA_PANGVOICE: 0
+ SM_ENDURE: 0
+ CR_DEFENDER: 0
+ ALL_BUYING_STORE: 0
+
+ // Never used
+ KN_RIDING: 0
+ WZ_STORMGUST: 3
+ WE_BABY: 0
+ WE_CALLPARENT: 0
+ WE_CALLBABY: 0
+ AM_CALLHOMUN: 0
+ TK_HIGHJUMP: 0
+ MG_THUNDERSTORM: 0
+ AS_CLOAKING: 0
+ TF_DOUBLE: 0
+ TF_HIDING: 0
+ WZ_VERMILION: 0
+ ST_CHASEWALK: 0
+ WS_CARTBOOST: 0
+ TK_RUN: 0
+ RA_RESEARCHTRAP: 0
+ SC_DIMENSIONDOOR: 0
+ WZ_STORMGUST: 0
+ WL_SUMMONFB: 0
+ WL_RELEASE: 0
+ WL_SUMMONSTONE: 0
+ SA_COMA: 0
+ CH_SOULCOLLECT: 0
+ SL_STUN: 0
+ AL_BLESSING: 0
+ WL_STASIS: 0
+ RA_CAMOUFLAGE: 0
+ SC_MANHOLE: 0
+ AL_RUWACH: 0
+ AL_TELEPORT: 0
+ MG_SAFETYWALL: 0
+ WZ_QUAGMIRE: 0
+ WZ_FROSTNOVA: 0
+ MO_BODYRELOCATION: 0
+ MO_CALLSPIRITS: 0
+ GN_HELLS_PLANT: 0
+ GN_DEMONIC_FIRE: 0
+ GN_CRAZYWEED: 0
+ GN_WALLOFTHORN: 0
+ WE_CALLPARTNER: 0
+ EVOL_PHYSICAL_SHIELD: 0
+ */
+ }
+}
+
+MedHu: {
+ inherit: ( "Human" );
+}
+
+DarkHu: {
+ inherit: ( "Human" );
+}
+
+Elven: {
+ inherit: ( "Human" );
+}
+
+Orc: {
+ inherit: ( "Human" );
+}
+
+Raijin: {
+ inherit: ( "Human" );
+}
+
+Tritan: {
+ inherit: ( "Human" );
+}
+
+Ukar: {
+ inherit: ( "Human" );
+}
+
+Redy: {
+ inherit: ( "Human" );
+}
+
+Savior: {
+ inherit: ( "Human" );
+}
diff --git a/db/re/statpoint.txt b/db/re/statpoint.txt
new file mode 100644
index 0000000..55e05b1
--- /dev/null
+++ b/db/re/statpoint.txt
@@ -0,0 +1,255 @@
+48
+51
+54
+57
+60
+64
+68
+72
+76
+82
+87
+92
+97
+102
+108
+114
+120
+127
+134
+145
+153
+161
+169
+177
+185
+194
+203
+212
+222
+237
+248
+259
+270
+281
+293
+305
+317
+330
+343
+363
+377
+391
+405
+420
+435
+450
+466
+482
+498
+522
+539
+556
+573
+591
+609
+627
+645
+663
+681
+708
+727
+746
+765
+785
+805
+825
+846
+867
+888
+919
+941
+963
+985
+1007
+1029
+1051
+1073
+1095
+1117
+1150
+1173
+1196
+1219
+1242
+1265
+1288
+1311
+1334
+1357
+1391
+1414
+1437
+1460
+1483
+1506
+1529
+1552
+1575
+1598
+1648
+1670
+1692
+1713
+1734
+1754
+1774
+1793
+1812
+1830
+1848
+1865
+1882
+1898
+1914
+1930
+1945
+1959
+1973
+1986
+1999
+2011
+2023
+2034
+2045
+2061
+2072
+2083
+2094
+2105
+2127
+2138
+2149
+2160
+2171
+2187
+2198
+2209
+2220
+2231
+2253
+2264
+2275
+2286
+2297
+2313
+2324
+2335
+2346
+2357
+2407
+2418
+2429
+2440
+2451
+2467
+2478
+2489
+2500
+2511
+2533
+2544
+2555
+2566
+2577
+2593
+2604
+2615
+2626
+2637
+2659
+2670
+2681
+2692
+2703
+2719
+2730
+2741
+2752
+2763
+2785
+2796
+2807
+2818
+2829
+2845
+2856
+2867
+2878
+2889
+2911
+2922
+2933
+2944
+2955
+2971
+2982
+2993
+3004
+3015
+3065
+3076
+3087
+3098
+3109
+3125
+3136
+3147
+3158
+3169
+3191
+3202
+3213
+3224
+3235
+3251
+3262
+3273
+3284
+3295
+3317
+3328
+3339
+3350
+3361
+3377
+3388
+3399
+3410
+3421
+3443
+3454
+3465
+3476
+3487
+3503
+3514
+3525
+3536
+3547
+3569
+3580
+3591
+3602
+3613
+3624
+3635
+3646
+3657
+3668
+3713
+3724
+3735
+3746
+3757
+3768
diff --git a/db/roulette_db.conf b/db/roulette_db.conf
new file mode 100644
index 0000000..c7f6da0
--- /dev/null
+++ b/db/roulette_db.conf
@@ -0,0 +1,16 @@
+//====================================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//=
+//= http://herc.ws/board/
+//================= More Information =================
+//= http://herc.ws/board/ ???
+//====================================================
+// This file handles the Roulette, the format is <item>:<amount>
+// The first entry is the one that loses the game.
+//====================================================
+
diff --git a/db/sc_config.conf b/db/sc_config.conf
new file mode 100644
index 0000000..6b96e56
--- /dev/null
+++ b/db/sc_config.conf
@@ -0,0 +1,2988 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2019 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/>.
+//================= Description ===========================================
+// Configurations file for status effects
+//=========================================================================
+
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+SC_TYPE: {
+ // ================ Optional fields ===============================
+ Visible: (bool) SC can be visible for all players
+ Flags: {
+ NoDeathReset: (bool) SC cannot be removed by death.
+ NoSave: (bool) SC cannot be saved.
+ NoDispelReset: (bool) SC cannot be reset by dispell.
+ NoClearanceReset: (bool) SC cannot be reset by clearance.
+ Buff: (bool) SC considered as buff and be removed by Hermode and etc.
+ Debuff: (bool) SC considered as debuff and be removed by Gospel and etc.
+ NoMadoReset: (bool) SC cannot be reset when MADO Gear is taken off.
+ NoAllReset: (bool) SC cannot be reset by 'sc_end SC_ALL' and status change clear.
+ NoBoss: (bool) SC cannot be applied to boss monsters.
+ }
+}
+**************************************************************************/
+SC_PROVOKE: {
+ Flags: {
+ Debuff: true
+ NoBoss: true
+ }
+}
+SC_ENDURE: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_HIDING: {
+ Flags: {
+ NoDispelReset: true
+ }
+}
+SC_CLOAKING: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ }
+}
+SC_TWOHANDQUICKEN: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_CONCENTRATION: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_ENCHANTPOISON: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_POISONREACT: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_QUAGMIRE: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Debuff: true
+ }
+}
+SC_ANGELUS: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_BLESSING: {
+ Flags: {
+ Buff: true
+ NoMadoReset: true
+ NoBoss: true
+ }
+}
+SC_INC_AGI: {
+ Flags: {
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_DEC_AGI: {
+ Flags: {
+ NoSave: true
+ Debuff: true
+ NoBoss: true
+ }
+}
+SC_SLOWPOISON: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_IMPOSITIO: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_SUFFRAGIUM: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_ASPERSIO: {
+ Flags: {
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_BENEDICTIO: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_KYRIE: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_MAGNIFICAT: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_GLORIA: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_LEXAETERNA: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_ADRENALINE: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_WEAPONPERFECT: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_OVERTHRUST: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_MAXIMIZEPOWER: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_TRICKDEAD: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_SHOUT: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_ENERGYCOAT: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_ATTHASTE_POTION1: {
+ Visible: true
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_ATTHASTE_POTION2: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_ATTHASTE_POTION3: {
+ Visible: true
+ Flags: {
+ Buff: true
+ }
+}
+SC_MOVHASTE_POTION: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_BARRIER: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_NOEQUIPWEAPON: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_NOEQUIPSHIELD: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_NOEQUIPARMOR: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_NOEQUIPHELM: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_PROTECTWEAPON: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_PROTECTSHIELD: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_PROTECTARMOR: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_PROTECTHELM: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_AUTOGUARD: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_REFLECTSHIELD: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_DEVOTION: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_PROVIDENCE: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_DEFENDER: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_MAGICROD: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_AUTOSPELL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_SPEARQUICKEN: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_BLADESTOP: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_EXPLOSIONSPIRITS: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_STEELBODY: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_PROPERTYFIRE: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_PROPERTYWATER: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_PROPERTYWIND: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_PROPERTYGROUND: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_STOP: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_INCAGI: {
+ Visible: true
+ Flags: {
+ }
+}
+SC_INCVIT: {
+ Visible: true
+ Flags: {
+ }
+}
+SC_INCINT: {
+ Visible: true
+ Flags: {
+ }
+}
+SC_INCDEX: {
+ Visible: true
+ Flags: {
+ }
+}
+SC_INCLUK: {
+ Visible: true
+ Flags: {
+ }
+}
+SC_INCFLEE: {
+ Visible: true
+ Flags: {
+ }
+}
+SC_INCHITRATE: {
+ Visible: true
+ Flags: {
+ }
+}
+SC_INCFLEERATE: {
+ Visible: true
+ Flags: {
+ }
+}
+SC_INCMHPRATE: {
+ Visible: true
+ Flags: {
+ NoSave: true
+ }
+}
+SC_INCMSPRATE: {
+ Visible: true
+ Flags: {
+ }
+}
+SC_INCATKRATE: {
+ Visible: true
+ Flags: {
+ }
+}
+SC_INCMATKRATE: {
+ Visible: true
+ Flags: {
+ }
+}
+SC_INCDEFRATE: {
+ Visible: true
+ Flags: {
+ }
+}
+SC_PROPERTYUNDEAD: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_AURABLADE: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_PARRYING: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_LKCONCENTRATION: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_TENSIONRELAX: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_BERSERK: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_SACRIFICE: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_GOSPEL: {
+ Flags: {
+ NoSave: true
+ Debuff: true
+ }
+}
+SC_SAFETYWALL: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_PNEUMA: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_ASSUMPTIO: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_BASILICA: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_VOLCANO: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_DELUGE: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_VIOLENTGALE: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_MAGICPOWER: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_EDP: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_TRUESIGHT: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_WINDWALK: {
+ Visible: true
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_MELTDOWN: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_CARTBOOST: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_BLOODING: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_JOINTBEAT: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Debuff: true
+ }
+}
+SC_MINDBREAKER: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_MEMORIZE: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_FOGWALL: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_SPIDERWEB: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Debuff: true
+ }
+}
+SC_SUB_WEAPONPROPERTY: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_RUN: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_STRUP: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_PROPERTYDARK: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_ADRENALINE2: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_PROPERTYTELEKINESIS: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_SOULLINK: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_PLUSATTACKPOWER: {
+ Visible: true
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ //Icon: "SI_TESTINGSI"
+}
+SC_PLUSMAGICPOWER: {
+ Visible: true
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_KAITE: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_KAAHI: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_KAUPE: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_ONEHANDQUICKEN: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_PRESERVE: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_CHASEWALK: {
+ Flags: {
+ NoDispelReset: true
+ }
+}
+SC_CHASEWALK2: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_MOVESLOW_POTION: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_DOUBLECASTING: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_GRAVITATION: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_OVERTHRUSTMAX: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_TAROTCARD: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Debuff: true
+ }
+}
+SC_CR_SHRINK: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_WZ_SIGHTBLASTER: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_RG_CCONFINE_M: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_RG_CCONFINE_S: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_NJ_UTSUSEMI: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_NJ_BUNSINJYUTSU: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_NJ_SUITON: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Debuff: true
+ NoBoss: true
+ }
+}
+SC_FOOD_STR: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_FOOD_AGI: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_FOOD_VIT: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_FOOD_DEX: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_FOOD_INT: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_FOOD_LUK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_FOOD_BASICAVOIDANCE: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_FOOD_BASICHIT: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_FOOD_CRITICALSUCCESSVALUE: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_CASH_PLUSEXP: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_CASH_DEATHPENALTY: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_CASH_RECEIVEITEM: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_CASH_BOSS_ALARM: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_FOOD_STR_CASH: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_FOOD_AGI_CASH: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_FOOD_VIT_CASH: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_FOOD_DEX_CASH: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_FOOD_INT_CASH: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_FOOD_LUK_CASH: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_SAVAGE_STEAK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_COCKTAIL_WARG_BLOOD: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_MINOR_BBQ: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_SIROMA_ICE_TEA: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_DROCERA_HERB_STEAMED: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_PUTTI_TAILS_NOODLES: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_MELON_BOMB: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_BANANA_BOMB_SITDOWN_POSTDELAY: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_BANANA_BOMB: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_PROMOTE_HEALTH_RESERCH: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_ENERGY_DRINK_RESERCH: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_EXTRACT_WHITE_POTION_Z: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_VITATA_500: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_EXTRACT_SALAMINE_JUICE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_BOOST500: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_FULL_SWING_K: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_MANA_PLUS: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_MUSTLE_M: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_LIFE_FORCE_F: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_MER_FLEE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_MER_ATK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_MER_HP: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_MER_SP: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_MER_HIT: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_SLOWCAST: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_CRITICALWOUND: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_MOVHASTE_HORSE: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_PROTECT_DEF: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_PROTECT_MDEF: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_HEALPLUS: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_S_LIFEPOTION: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_L_LIFEPOTION: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_CRITICALPERCENT: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_PLUSAVOIDVALUE: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_ATKER_ASPD: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_TARGET_ASPD: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_ATKER_MOVESPEED: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_ATKER_BLOOD: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_TARGET_BLOOD: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_ARMOR_PROPERTY: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_HELLPOWER: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_STEAMPACK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Debuff: true
+ NoMadoReset: true
+ }
+}
+SC_CASH_PLUSONLYJOBEXP: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_PARTYFLEE: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_ANGEL_PROTECT: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_ENCHANTBLADE: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_DEATHBOUND: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_REFRESH: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_GIANTGROWTH: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_STONEHARDSKIN: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_VITALITYACTIVATION: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_FIGHTINGSPIRIT: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_ABUNDANCE: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_EPICLESIS: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_ORATIO: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_LAUDAAGNUS: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_LAUDARAMUS: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_CLOAKINGEXCEED: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_HALLUCINATIONWALK: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_HALLUCINATIONWALK_POSTDELAY: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_RENOVATIO: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_WEAPONBLOCKING: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_ROLLINGCUTTER: {
+ Visible: true
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_EXPIATIO: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_POISONINGWEAPON: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_TOXIN: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_PARALYSE: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_VENOMBLEED: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_MAGICMUSHROOM: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_DEATHHURT: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_PYREXIA: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_OBLIVIONCURSE: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_LEECHESEND: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_DUPLELIGHT: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_FEARBREEZE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_ELECTRICSHOCKER: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_MARSHOFABYSS: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_RECOGNIZEDSPELL: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_WUGDASH: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_WUGBITE: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_CAMOUFLAGE: {
+ Visible: true
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_ACCELERATION: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_HOVERING: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_SUMMON1: {
+ Visible: true
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_SUMMON2: {
+ Visible: true
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_SUMMON3: {
+ Visible: true
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_SUMMON4: {
+ Visible: true
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_SUMMON5: {
+ Visible: true
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_MVPCARD_TAOGUNKA: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ Debuff: true
+ }
+}
+SC_MVPCARD_MISTRESS: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ Debuff: true
+ }
+}
+SC_MVPCARD_ORCHERO: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ Debuff: true
+ }
+}
+SC_MVPCARD_ORCLORD: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ Debuff: true
+ }
+}
+SC_OVERHEAT_LIMITPOINT: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_OVERHEAT: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_SHAPESHIFT: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_INFRAREDSCAN: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_MAGNETICFIELD: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_NEUTRALBARRIER: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_NEUTRALBARRIER_MASTER: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_STEALTHFIELD_MASTER: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_MANU_ATK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_MANU_DEF: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_SPL_ATK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_SPL_DEF: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC__REPRODUCE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_MANU_MATK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_SPL_MATK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_STR_SCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ Debuff: true
+ }
+}
+SC_INT_SCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ Debuff: true
+ }
+}
+SC_FORCEOFVANGUARD: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_BUCHEDENOEL: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ Debuff: true
+ }
+}
+SC__AUTOSHADOWSPELL: {
+ Flags: {
+ Buff: true
+ }
+}
+SC__SHADOWFORM: {
+ Visible: true
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_RAID: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_SHIELDSPELL_DEF: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_SHIELDSPELL_MDEF: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_SHIELDSPELL_REF: {
+ Flags: {
+ Buff: true
+ }
+}
+SC__BODYPAINT: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_EXEEDBREAK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_ADORAMUS: {
+ Flags: {
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_PRESTIGE: {
+ Flags: {
+ Buff: true
+ }
+}
+SC__INVISIBILITY: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC__DEADLYINFECT: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_BANDING: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_BANDING_DEFENCE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_EARTHDRIVE: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_INSPIRATION: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC__ENERVATION: {
+ Flags: {
+ Buff: true
+ NoBoss: true
+ }
+}
+SC__GROOMY: {
+ Flags: {
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_RAISINGDRAGON: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC__IGNORANCE: {
+ Flags: {
+ Buff: true
+ NoBoss: true
+ }
+}
+SC__LAZINESS: {
+ Flags: {
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_LIGHTNINGWALK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_ACARAJE: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC__UNLUCKY: {
+ Flags: {
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_CURSEDCIRCLE_ATKER: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_CURSEDCIRCLE_TARGET: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC__WEAKNESS: {
+ Flags: {
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_CRESCENTELBOW: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC__STRIPACCESSARY: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC__MANHOLE: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC__BLOODYLUST: {
+ Flags: {
+ Debuff: true
+ }
+}
+SC_SWING: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_SYMPHONY_LOVE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_PROPERTYWALK: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_SPELLFIST: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_NETHERWORLD: {
+ Flags: {
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_SIREN: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_DEEP_SLEEP: {
+ Visible: true
+ Flags: {
+ NoSave: true
+ Debuff: true
+ NoBoss: true
+ }
+}
+SC_SIRCLEOFNATURE: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_GLOOMYDAY: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_GLOOMYDAY_SK: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_SONG_OF_MANA: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_DANCE_WITH_WUG: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_RUSH_WINDMILL: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_ECHOSONG: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_HARMONIZE: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_MOONLIT_SERENADE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_SATURDAY_NIGHT_FEVER: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_SITDOWN_FORCE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_ANALYZE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_LERADS_DEW: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_MELODYOFSINK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_BEYOND_OF_WARCRY: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_UNLIMITED_HUMMING_VOICE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_WARMER: {
+ Flags: {
+ NoSave: true
+ }
+}
+SC_VENOMIMPRESS: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ }
+}
+SC_FROSTMISTY: {
+ Visible: true
+ Flags: {
+ Debuff: true
+ NoBoss: true
+ }
+}
+SC_STOMACHACHE: {
+ Flags: {
+ Debuff: true
+ }
+}
+SC_MYSTERIOUS_POWDER: {
+ Flags: {
+ Debuff: true
+ }
+}
+SC_WATER_BARRIER: {
+ Flags: {
+ NoSave: true
+ }
+}
+SC_ZEPHYR: {
+ Flags: {
+ NoSave: true
+ }
+}
+SC_POWER_OF_GAIA: {
+ Flags: {
+ NoSave: true
+ }
+}
+SC_FIRE_INSIGNIA: {
+ Flags: {
+ NoSave: true
+ }
+}
+SC_WATER_INSIGNIA: {
+ Flags: {
+ NoSave: true
+ }
+}
+SC_WIND_INSIGNIA: {
+ Flags: {
+ NoSave: true
+ }
+}
+SC_EARTH_INSIGNIA: {
+ Flags: {
+ NoSave: true
+ }
+}
+SC_MORA_BUFF: {
+ Flags: {
+ NoSave: true
+ }
+}
+SC_NEEDLE_OF_PARALYZE: {
+ Flags: {
+ NoDeathReset: true
+ NoBoss: true
+ }
+}
+SC_PAIN_KILLER: {
+ Flags: {
+ NoDeathReset: true
+ }
+}
+SC_G_LIFEPOTION: {
+ Flags: {
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+}
+SC_LIGHT_OF_REGENE: {
+ Flags: {
+ NoDeathReset: true
+ }
+}
+SC_MAGIC_CANDY: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+}
+SC_MONSTER_TRANSFORM: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_MTF_ASPD: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_MTF_RANGEATK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_MTF_MATK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_MTF_MLEATKED: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_MTF_CRIDAMAGE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_FULL_THROTTLE: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_REBOUND: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_TELEKINESIS_INTENSE: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_SKELSCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+}
+SC_DISTRUCTIONSCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+}
+SC_ROYALSCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+}
+SC_IMMUNITYSCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+}
+SC_MYSTICSCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+}
+SC_BATTLESCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+}
+SC_ARMORSCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+}
+SC_FREYJASCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+}
+SC_SOULSCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+}
+SC_QUEST_BUFF1: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_QUEST_BUFF2: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_QUEST_BUFF3: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_GEFFEN_MAGIC1: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_GEFFEN_MAGIC2: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_GEFFEN_MAGIC3: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_OVERLAPEXPUP: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoAllReset: true
+ }
+}
+SC_M_LIFEPOTION: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+}
+SC_LEADERSHIP: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_GLORYWOUNDS: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_SOULCOLD: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_HAWKEYES: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_GDSKILL_REGENERATION: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_ORCISH: {
+ Flags: {
+ NoSave: true
+ }
+}
+SC_WEIGHTOVER50: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_WEIGHTOVER90: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_WEDDING: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_XMAS: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_SUMMER: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_NOCHAT: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_FUSION: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_EARTHSCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_STORMKICK_READY: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_DOWNKICK_READY: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_COUNTERKICK_READY: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_TURNKICK_READY: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_DODGE_READY: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_JAILED: {
+ Flags: {
+ //NoSave: false
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_AUTOTRADE: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_DANCING: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_WHISTLE: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_ASSNCROS: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_POEMBRAGI: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_APPLEIDUN: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_HUMMING: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_DONTFORGETME: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_FORTUNE: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_SERVICEFORYOU: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_INCHIT: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_PUSH_CART: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_COLD: {
+ Visible: true
+ Flags: {
+ NoBoss: true
+ }
+}
+SC_BLOOD_SUCKER: {
+ Visible: true
+ Flags: {
+ }
+}
+SC_MOONSTAR: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_SUPER_STAR: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_STRANGELIGHTS: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_DECORATION_OF_MUSIC: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_LJOSALFAR: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_MERMAID_LONGING: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_HAT_EFFECT: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_FLOWERSMOKE: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_FSTONE: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_HAPPINESS_STAR: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_MAPLE_FALLS: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_TIME_ACCESSORY: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_MAGICAL_FEATHER: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_BLOSSOM_FLUTTERING: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_SPRITEMABLE: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_BITESCAR: {
+ Flags: {
+ NoDispelReset: true
+ NoBoss: true
+ }
+}
+SC_CLAN_INFO: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_ALL_RIDING: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoAllReset: true
+ }
+}
+SC_DAILYSENDMAILCNT: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_COMA: {
+ Visible: true
+ Flags: {
+ NoBoss: true
+ }
+}
+SC_RICHMANKIM: {
+ Visible: true
+ Flags: {
+ NoBoss: true
+ }
+}
+SC_BURNING: {
+ Visible: true
+ Flags: {
+ NoBoss: true
+ }
+}
+SC_ROKISWEIL: {
+ Flags: {
+ NoBoss: true
+ }
+}
+SC_VACUUM_EXTREME: {
+ Flags: {
+ NoBoss: true
+ }
+}
+SC_FRESHSHRIMP: {
+ Flags: {
+ NoBoss: true
+ }
+}
+SC_SV_ROOTTWIST: {
+ Flags: {
+ NoBoss: true
+ }
+}
+SC_PHYSICAL_SHIELD: {
+ Visible: true
+ Flags: {
+ NoSave: true
+ }
+}
+SC_HALT_REGENERATION: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Debuff: true
+ }
+}
diff --git a/db/si_config.conf b/db/si_config.conf
new file mode 100644
index 0000000..1703b2f
--- /dev/null
+++ b/db/si_config.conf
@@ -0,0 +1,694 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= 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/>.
+//=========================================================================
+//= Script Constants Additional Database
+//=========================================================================
+
+/************* Entry structure (short) ************************************
+ Identifier: value // (int)
+ ************* Entry structure (full) *************************************
+ Identifier: {
+ Value: value // (int)
+ Deprecated: true // (boolean) Defaults to false.
+ }
+**************************************************************************/
+
+ comment__: "Status Effect Icons"
+ /*
+ SI_BLANK: -1
+ SI_PROVOKE: 0
+ SI_ENDURE: 1
+ SI_TWOHANDQUICKEN: 2
+ SI_CONCENTRATION: 3
+ SI_HIDING: 4
+ SI_CLOAKING: 5
+ SI_ENCHANTPOISON: 6
+ SI_POISONREACT: 7
+ SI_QUAGMIRE: 8
+ SI_ANGELUS: 9
+ SI_BLESSING: 10
+ SI_CRUCIS: 11
+ SI_INC_AGI: 12
+ SI_DEC_AGI: 13
+ SI_SLOWPOISON: 14
+ SI_IMPOSITIO: 15
+ SI_SUFFRAGIUM: 16
+ SI_ASPERSIO: 17
+ SI_BENEDICTIO: 18
+ SI_KYRIE: 19
+ SI_MAGNIFICAT: 20
+ SI_GLORIA: 21
+ SI_LEXAETERNA: 22
+ SI_ADRENALINE: 23
+ SI_WEAPONPERFECT: 24
+ SI_OVERTHRUST: 25
+ SI_MAXIMIZE: 26
+ SI_RIDING: 27
+ SI_FALCON: 28
+ SI_TRICKDEAD: 29
+ SI_SHOUT: 30
+ SI_ENERGYCOAT: 31
+ SI_BROKENARMOR: 32
+ SI_BROKENWEAPON: 33
+ SI_ILLUSION: 34
+ SI_WEIGHTOVER50: 35
+ SI_WEIGHTOVER90: 36
+ SI_ATTHASTE_POTION1: 37
+ SI_ATTHASTE_POTION2: 38
+ SI_ATTHASTE_POTION3: 39
+ SI_ATTHASTE_INFINITY: 40
+ SI_MOVHASTE_POTION: 41
+ SI_MOVHASTE_INFINITY: 42
+ SI_ANKLESNARE: 45
+ SI_POSTDELAY: 46
+ SI_NOEQUIPWEAPON: 50
+ SI_NOEQUIPSHIELD: 51
+ SI_NOEQUIPARMOR: 52
+ SI_NOEQUIPHELM: 53
+ SI_PROTECTWEAPON: 54
+ SI_PROTECTSHIELD: 55
+ SI_PROTECTARMOR: 56
+ SI_PROTECTHELM: 57
+ SI_AUTOGUARD: 58
+ SI_REFLECTSHIELD: 59
+ SI_PROVIDENCE: 61
+ SI_DEFENDER: 62
+ SI_AUTOSPELL: 65
+ SI_SPEARQUICKEN: 68
+ SI_EXPLOSIONSPIRITS: 86
+ SI_STEELBODY: 87
+ SI_EXTREMITYFIST: 88
+ SI_PROPERTYFIRE: 90
+ SI_PROPERTYWATER: 91
+ SI_PROPERTYWIND: 92
+ SI_PROPERTYGROUND: 93
+ SI_STOP: 95
+ SI_PROPERTYUNDEAD: 97
+ SI_AURABLADE: 103
+ SI_PARRYING: 104
+ SI_LKCONCENTRATION: 105
+ SI_TENSIONRELAX: 106
+ SI_BERSERK: 107
+ SI_ASSUMPTIO: 110
+ SI_GROUNDMAGIC: 112
+ SI_MAGICPOWER: 113
+ SI_EDP: 114
+ SI_TRUESIGHT: 115
+ SI_WINDWALK: 116
+ SI_MELTDOWN: 117
+ SI_CARTBOOST: 118
+ SI_SWORDREJECT: 120
+ SI_MARIONETTE_MASTER: 121
+ SI_MARIONETTE: 122
+ SI_MOON: 123
+ SI_BLOODING: 124
+ SI_JOINTBEAT: 125
+ SI_PROTECTEXP: 130
+ SI_AUTOBERSERK: 132
+ SI_RUN: 133
+ SI_TING: 134
+ SI_STORMKICK_ON: 135
+ SI_STORMKICK_READY: 136
+ SI_DOWNKICK_ON: 137
+ SI_DOWNKICK_READY: 138
+ SI_TURNKICK_ON: 139
+ SI_TURNKICK_READY: 140
+ SI_COUNTER_ON: 141
+ SI_COUNTER_READY: 142
+ SI_DODGE_ON: 143
+ SI_DODGE_READY: 144
+ SI_STRUP: 145
+ SI_PROPERTYDARK: 146
+ SI_ADRENALINE2: 147
+ SI_PROPERTYTELEKINESIS: 148
+ SI_SOULLINK: 149
+ SI_PLUSATTACKPOWER: 150
+ SI_PLUSMAGICPOWER: 151
+ SI_DEVIL1: 152
+ SI_KAITE: 153
+ SI_KAIZEL: 156
+ SI_KAAHI: 157
+ SI_KAUPE: 158
+ SI_SMA_READY: 159
+ SI_SKE: 160
+ SI_ONEHANDQUICKEN: 161
+ SI_SG_SUN_WARM: 165
+ SI_SUN_COMFORT: 169
+ SI_MOON_COMFORT: 170
+ SI_STAR_COMFORT: 171
+ SI_PRESERVE: 181
+ SI_INCSTR: 182
+ SI_CLAIRVOYANCE: 184
+ SI_MOVESLOW_POTION: 185
+ SI_DOUBLECASTING: 186
+ SI_OVERTHRUSTMAX: 188
+ SI_TAROTCARD: 191
+ SI_CR_SHRINK: 197
+ SI_WZ_SIGHTBLASTER: 198
+ SI_DC_WINKCHARM: 199
+ SI_RG_CCONFINE_M: 200
+ SI_RG_CCONFINE_S: 201
+ SI_GS_MADNESSCANCEL: 203
+ SI_GS_GATLINGFEVER: 204
+ SI_EARTHSCROLL: 205
+ SI_NJ_UTSUSEMI: 206
+ SI_NJ_BUNSINJYUTSU: 207
+ SI_NJ_NEN: 208
+ SI_GS_ADJUSTMENT: 209
+ SI_GS_ACCURACY: 210
+ SI_NJ_SUITON: 211
+ SI_FOOD_STR: 241
+ SI_FOOD_AGI: 242
+ SI_FOOD_VIT: 243
+ SI_FOOD_DEX: 244
+ SI_FOOD_INT: 245
+ SI_FOOD_LUK: 246
+ SI_FOOD_BASICAVOIDANCE: 247
+ SI_FOOD_BASICHIT: 248
+ SI_FOOD_CRITICALSUCCESSVALUE: 249
+ SI_CASH_PLUSEXP: 250
+ SI_CASH_DEATHPENALTY: 251
+ SI_CASH_RECEIVEITEM: 252
+ SI_CASH_BOSS_ALARM: 253
+ SI_FOOD_STR_CASH: 271
+ SI_FOOD_AGI_CASH: 272
+ SI_FOOD_VIT_CASH: 273
+ SI_FOOD_DEX_CASH: 274
+ SI_FOOD_INT_CASH: 275
+ SI_FOOD_LUK_CASH: 276
+ SI_MER_FLEE: 277
+ SI_MER_ATK: 278
+ SI_MER_HP: 279
+ SI_MER_SP: 280
+ SI_MER_HIT: 281
+ SI_SLOWCAST: 282
+ SI_CRITICALWOUND: 286
+ SI_MOVHASTE_HORSE: 289
+ SI_PROTECT_DEF: 290
+ SI_PROTECT_MDEF: 291
+ SI_HEALPLUS: 292
+ SI_S_LIFEPOTION: 293
+ SI_L_LIFEPOTION: 294
+ SI_CRITICALPERCENT: 295
+ SI_PLUSAVOIDVALUE: 296
+ SI_ATKER_ASPD: 297
+ SI_TARGET_ASPD: 298
+ SI_ATKER_MOVESPEED: 299
+ SI_ATKER_BLOOD: 300
+ SI_TARGET_BLOOD: 301
+ SI_ARMOR_PROPERTY: 302
+ SI_HELLPOWER: 304
+ SI_STEAMPACK: 305
+ SI_INVINCIBLE: 311
+ SI_CASH_PLUSONLYJOBEXP: 312
+ SI_PARTYFLEE: 313
+ SI_ANGEL_PROTECT: 314
+ SI_ENCHANTBLADE: 316
+ SI_DEATHBOUND: 317
+ SI_REFRESH: 318
+ SI_GIANTGROWTH: 319
+ SI_STONEHARDSKIN: 320
+ SI_VITALITYACTIVATION: 321
+ SI_FIGHTINGSPIRIT: 322
+ SI_ABUNDANCE: 323
+ SI_REUSE_MILLENNIUMSHIELD: 324
+ SI_REUSE_CRUSHSTRIKE: 325
+ SI_REUSE_REFRESH: 326
+ SI_REUSE_STORMBLAST: 327
+ SI_VENOMIMPRESS: 328
+ SI_EPICLESIS: 329
+ SI_ORATIO: 330
+ SI_LAUDAAGNUS: 331
+ SI_LAUDARAMUS: 332
+ SI_CLOAKINGEXCEED: 333
+ SI_HALLUCINATIONWALK: 334
+ SI_HALLUCINATIONWALK_POSTDELAY: 335
+ SI_RENOVATIO: 336
+ SI_WEAPONBLOCKING: 337
+ SI_WEAPONBLOCKING_POSTDELAY: 338
+ SI_ROLLINGCUTTER: 339
+ SI_EXPIATIO: 340
+ SI_POISONINGWEAPON: 341
+ SI_TOXIN: 342
+ SI_PARALYSE: 343
+ SI_VENOMBLEED: 344
+ SI_MAGICMUSHROOM: 345
+ SI_DEATHHURT: 346
+ SI_PYREXIA: 347
+ SI_OBLIVIONCURSE: 348
+ SI_LEECHESEND: 349
+ SI_DUPLELIGHT: 350
+ SI_FROSTMISTY: 351
+ SI_FEARBREEZE: 352
+ SI_ELECTRICSHOCKER: 353
+ SI_MARSHOFABYSS: 354
+ SI_RECOGNIZEDSPELL: 355
+ SI_STASIS: 356
+ SI_WUGRIDER: 357
+ SI_WUGDASH: 358
+ SI_WUGBITE: 359
+ SI_CAMOUFLAGE: 360
+ SI_ACCELERATION: 361
+ SI_HOVERING: 362
+ SI_SPHERE_1: 363
+ SI_SPHERE_2: 364
+ SI_SPHERE_3: 365
+ SI_SPHERE_4: 366
+ SI_SPHERE_5: 367
+ SI_MVPCARD_TAOGUNKA: 368
+ SI_MVPCARD_MISTRESS: 369
+ SI_MVPCARD_ORCHERO: 370
+ SI_MVPCARD_ORCLORD: 371
+ SI_OVERHEAT_LIMITPOINT: 372
+ SI_OVERHEAT: 373
+ SI_SHAPESHIFT: 374
+ SI_INFRAREDSCAN: 375
+ SI_MAGNETICFIELD: 376
+ SI_NEUTRALBARRIER: 377
+ SI_NEUTRALBARRIER_MASTER: 378
+ SI_STEALTHFIELD: 379
+ SI_STEALTHFIELD_MASTER: 380
+ SI_MANU_ATK: 381
+ SI_MANU_DEF: 382
+ SI_SPL_ATK: 383
+ SI_SPL_DEF: 384
+ SI_REPRODUCE: 385
+ SI_MANU_MATK: 386
+ SI_SPL_MATK: 387
+ SI_STR_SCROLL: 388
+ SI_INT_SCROLL: 389
+ SI_LG_REFLECTDAMAGE: 390
+ SI_FORCEOFVANGUARD: 391
+ SI_BUCHEDENOEL: 392
+ SI_AUTOSHADOWSPELL: 393
+ SI_SHADOWFORM: 394
+ SI_RAID: 395
+ SI_SHIELDSPELL_DEF: 396
+ SI_SHIELDSPELL_MDEF: 397
+ SI_SHIELDSPELL_REF: 398
+ SI_BODYPAINT: 399
+ SI_EXEEDBREAK: 400
+ SI_ADORAMUS: 401
+ SI_PRESTIGE: 402
+ SI_INVISIBILITY: 403
+ SI_DEADLYINFECT: 404
+ SI_BANDING: 405
+ SI_EARTHDRIVE: 406
+ SI_INSPIRATION: 407
+ SI_ENERVATION: 408
+ SI_GROOMY: 409
+ SI_RAISINGDRAGON: 410
+ SI_IGNORANCE: 411
+ SI_LAZINESS: 412
+ SI_LIGHTNINGWALK: 413
+ SI_ACARAJE: 414
+ SI_UNLUCKY: 415
+ SI_CURSEDCIRCLE_ATKER: 416
+ SI_CURSEDCIRCLE_TARGET: 417
+ SI_WEAKNESS: 418
+ SI_CRESCENTELBOW: 419
+ SI_NOEQUIPACCESSARY: 420
+ SI_STRIPACCESSARY: 421
+ SI_MANHOLE: 422
+ SI_POPECOOKIE: 423
+ SI_FALLENEMPIRE: 424
+ SI_GENTLETOUCH_ENERGYGAIN: 425
+ SI_GENTLETOUCH_CHANGE: 426
+ SI_GENTLETOUCH_REVITALIZE: 427
+ SI_BLOODYLUST: 428
+ SI_SWINGDANCE: 429
+ SI_SYMPHONYOFLOVERS: 430
+ SI_PROPERTYWALK: 431
+ SI_SPELLFIST: 432
+ SI_NETHERWORLD: 433
+ SI_SIREN: 434
+ SI_DEEPSLEEP: 435
+ SI_SIRCLEOFNATURE: 436
+ SI_COLD: 437
+ SI_GLOOMYDAY: 438
+ SI_SONG_OF_MANA: 439
+ SI_CLOUDKILL: 440
+ SI_DANCEWITHWUG: 441
+ SI_RUSHWINDMILL: 442
+ SI_ECHOSONG: 443
+ SI_HARMONIZE: 444
+ SI_STRIKING: 445
+ SI_MOONLITSERENADE: 447
+ SI_SATURDAYNIGHTFEVER: 448
+ SI_SITDOWN_FORCE: 449
+ SI_ANALYZE: 450
+ SI_LERADSDEW: 451
+ SI_MELODYOFSINK: 452
+ SI_WARCRYOFBEYOND: 453
+ SI_UNLIMITEDHUMMINGVOICE: 454
+ SI_SPELLBOOK1: 455
+ SI_SPELLBOOK2: 456
+ SI_SPELLBOOK3: 457
+ SI_FREEZE_SP: 458
+ SI_GN_TRAINING_SWORD: 459
+ SI_GN_REMODELING_CART: 460
+ SI_CARTSBOOST: 461
+ SI_FIXEDCASTINGTM_REDUCE: 462
+ SI_THORNTRAP: 463
+ SI_BLOODSUCKER: 464
+ SI_SPORE_EXPLOSION: 465
+ SI_DEMONIC_FIRE: 466
+ SI_FIRE_EXPANSION_SMOKE_POWDER: 467
+ SI_FIRE_EXPANSION_TEAR_GAS: 468
+ SI_BLOCKING_PLAY: 469
+ SI_MANDRAGORA: 470
+ SI_ACTIVATE: 471
+ SI_SECRAMENT: 472
+ SI_ASSUMPTIO2: 473
+ SI_TK_SEVENWIND: 474
+ SI_LIMIT_ODINS_RECALL: 475
+ SI_STOMACHACHE: 476
+ SI_MYSTERIOUS_POWDER: 477
+ SI_MELON_BOMB: 478
+ SI_BANANA_BOMB_SITDOWN_POSTDELAY: 479
+ SI_PROMOTE_HEALTH_RESERCH: 480
+ SI_ENERGY_DRINK_RESERCH: 481
+ SI_EXTRACT_WHITE_POTION_Z: 482
+ SI_VITATA_500: 483
+ SI_EXTRACT_SALAMINE_JUICE: 484
+ SI_BOOST500: 485
+ SI_FULL_SWING_K: 486
+ SI_MANA_PLUS: 487
+ SI_MUSTLE_M: 488
+ SI_LIFE_FORCE_F: 489
+ SI_VACUUM_EXTREME: 490
+ SI_SAVAGE_STEAK: 491
+ SI_COCKTAIL_WARG_BLOOD: 492
+ SI_MINOR_BBQ: 493
+ SI_SIROMA_ICE_TEA: 494
+ SI_DROCERA_HERB_STEAMED: 495
+ SI_PUTTI_TAILS_NOODLES: 496
+ SI_BANANA_BOMB: 497
+ SI_SUMMON_AGNI: 498
+ SI_SPELLBOOK4: 499
+ SI_SPELLBOOK5: 500
+ SI_SPELLBOOK6: 501
+ SI_SPELLBOOK7: 502
+ SI_ELEMENTAL_AGGRESSIVE: 503
+ SI_RETURN_TO_ELDICASTES: 504
+ SI_BANDING_DEFENCE: 505
+ SI_SKELSCROLL: 506
+ SI_DISTRUCTIONSCROLL: 507
+ SI_ROYALSCROLL: 508
+ SI_IMMUNITYSCROLL: 509
+ SI_MYSTICSCROLL: 510
+ SI_BATTLESCROLL: 511
+ SI_ARMORSCROLL: 512
+ SI_FREYJASCROLL: 513
+ SI_SOULSCROLL: 514
+ SI_CIRCLE_OF_FIRE: 515
+ SI_CIRCLE_OF_FIRE_OPTION: 516
+ SI_FIRE_CLOAK: 517
+ SI_FIRE_CLOAK_OPTION: 518
+ SI_WATER_SCREEN: 519
+ SI_WATER_SCREEN_OPTION: 520
+ SI_WATER_DROP: 521
+ SI_WATER_DROP_OPTION: 522
+ SI_WIND_STEP: 523
+ SI_WIND_STEP_OPTION: 524
+ SI_WIND_CURTAIN: 525
+ SI_WIND_CURTAIN_OPTION: 526
+ SI_WATER_BARRIER: 527
+ SI_ZEPHYR: 528
+ SI_SOLID_SKIN: 529
+ SI_SOLID_SKIN_OPTION: 530
+ SI_STONE_SHIELD: 531
+ SI_STONE_SHIELD_OPTION: 532
+ SI_POWER_OF_GAIA: 533
+ SI_PYROTECHNIC: 539
+ SI_PYROTECHNIC_OPTION: 540
+ SI_HEATER: 541
+ SI_HEATER_OPTION: 542
+ SI_TROPIC: 543
+ SI_TROPIC_OPTION: 544
+ SI_AQUAPLAY: 545
+ SI_AQUAPLAY_OPTION: 546
+ SI_COOLER: 547
+ SI_COOLER_OPTION: 548
+ SI_CHILLY_AIR: 549
+ SI_CHILLY_AIR_OPTION: 550
+ SI_GUST: 551
+ SI_GUST_OPTION: 552
+ SI_BLAST: 553
+ SI_BLAST_OPTION: 554
+ SI_WILD_STORM: 555
+ SI_WILD_STORM_OPTION: 556
+ SI_PETROLOGY: 557
+ SI_PETROLOGY_OPTION: 558
+ SI_CURSED_SOIL: 559
+ SI_CURSED_SOIL_OPTION: 560
+ SI_UPHEAVAL: 561
+ SI_UPHEAVAL_OPTION: 562
+ SI_TIDAL_WEAPON: 563
+ SI_TIDAL_WEAPON_OPTION: 564
+ SI_ROCK_CRUSHER: 565
+ SI_ROCK_CRUSHER_ATK: 566
+ SI_FIRE_INSIGNIA: 567
+ SI_WATER_INSIGNIA: 568
+ SI_WIND_INSIGNIA: 569
+ SI_EARTH_INSIGNIA: 570
+ SI_EQUIPED_FLOOR: 571
+ SI_GUARDIAN_RECALL: 572
+ SI_MORA_BUFF: 573
+ SI_REUSE_LIMIT_G: 574
+ SI_REUSE_LIMIT_H: 575
+ SI_NEEDLE_OF_PARALYZE: 576
+ SI_PAIN_KILLER: 577
+ SI_G_LIFEPOTION: 578
+ SI_VITALIZE_POTION: 579
+ SI_LIGHT_OF_REGENE: 580
+ SI_OVERED_BOOST: 581
+ SI_SILENT_BREEZE: 582
+ SI_ODINS_POWER: 583
+ SI_STYLE_CHANGE: 584
+ SI_SONIC_CLAW_POSTDELAY: 585
+ SI_SILVERVEIN_RUSH_POSTDELAY: 596
+ SI_MIDNIGHT_FRENZY_POSTDELAY: 597
+ SI_GOLDENE_FERSE: 598
+ SI_ANGRIFFS_MODUS: 599
+ SI_TINDER_BREAKER: 600
+ SI_TINDER_BREAKER_POSTDELAY: 601
+ SI_CBC: 602
+ SI_CBC_POSTDELAY: 603
+ SI_EQC: 604
+ SI_MAGMA_FLOW: 605
+ SI_GRANITIC_ARMOR: 606
+ SI_PYROCLASTIC: 607
+ SI_VOLCANIC_ASH: 608
+ SI_SPIRITS_SAVEINFO1: 609
+ SI_SPIRITS_SAVEINFO2: 610
+ SI_MAGIC_CANDY: 611
+ SI_SEARCH_STORE_INFO: 612
+ SI_ALL_RIDING: 613
+ SI_ALL_RIDING_REUSE_LIMIT: 614
+ SI_MACRO: 615
+ SI_MACRO_POSTDELAY: 616
+ SI_BEER_BOTTLE_CAP: 617
+ SI_OVERLAPEXPUP: 618
+ SI_PC_IZ_DUN05: 619
+ SI_CRUSHSTRIKE: 620
+ SI_MONSTER_TRANSFORM: 621
+ SI_SIT: 622
+ SI_ONAIR: 623
+ SI_MTF_ASPD: 624
+ SI_MTF_RANGEATK: 625
+ SI_MTF_MATK: 626
+ SI_MTF_MLEATKED: 627
+ SI_MTF_CRIDAMAGE: 628
+ SI_REUSE_LIMIT_MTF: 629
+ SI_MACRO_PERMIT: 630
+ SI_MACRO_PLAY: 631
+ SI_SKF_CAST: 632
+ SI_SKF_ASPD: 633
+ SI_SKF_ATK: 634
+ SI_SKF_MATK: 635
+ SI_REWARD_PLUSONLYJOBEXP: 636
+ SI_HANDICAPSTATE_NORECOVER: 637
+ SI_SET_NUM_DEF: 638
+ SI_SET_NUM_MDEF: 639
+ SI_SET_PER_DEF: 640
+ SI_SET_PER_MDEF: 641
+ SI_PARTYBOOKING_SEARCH_DEALY: 642
+ SI_PARTYBOOKING_REGISTER_DEALY: 643
+ SI_PERIOD_TIME_CHECK_DETECT_SKILL: 644
+ SI_KO_JYUMONJIKIRI: 645
+ SI_MEIKYOUSISUI: 646
+ SI_ATTHASTE_CASH: 647
+ SI_EQUIPPED_DIVINE_ARMOR: 648
+ SI_EQUIPPED_HOLY_ARMOR: 649
+ SI_2011RWC: 650
+ SI_KYOUGAKU: 651
+ SI_IZAYOI: 652
+ SI_ZENKAI: 653
+ SI_KG_KAGEHUMI: 654
+ SI_KYOMU: 655
+ SI_KAGEMUSYA: 656
+ SI_ZANGETSU: 657
+ SI_PHI_DEMON: 658
+ SI_GENSOU: 659
+ SI_AKAITSUKI: 660
+ SI_TETANY: 661
+ SI_GM_BATTLE: 662
+ SI_GM_BATTLE2: 663
+ SI_2011RWC_SCROLL: 664
+ SI_ACTIVE_MONSTER_TRANSFORM: 665
+ SI_MYSTICPOWDER: 666
+ SI_ECLAGE_RECALL: 667
+ SI_ENTRY_QUEUE_APPLY_DELAY: 668
+ SI_REUSE_LIMIT_ECL: 669
+ SI_M_LIFEPOTION: 670
+ SI_ENTRY_QUEUE_NOTIFY_ADMISSION_TIME_OUT: 671
+ SI_UNKNOWN_NAME: 672
+ SI_ON_PUSH_CART: 673
+ SI_HAT_EFFECT: 674
+ SI_FLOWER_LEAF: 675
+ SI_RAY_OF_PROTECTION: 676
+ SI_GLASTHEIM_ATK: 677
+ SI_GLASTHEIM_DEF: 678
+ SI_GLASTHEIM_HEAL: 679
+ SI_GLASTHEIM_HIDDEN: 680
+ SI_GLASTHEIM_STATE: 681
+ SI_GLASTHEIM_ITEMDEF: 682
+ SI_GLASTHEIM_HPSP: 683
+ SI_HOMUN_SKILL_POSTDELAY: 684
+ SI_ALMIGHTY: 685
+ SI_GVG_GIANT: 686
+ SI_GVG_GOLEM: 687
+ SI_GVG_STUN: 688
+ SI_GVG_STONE: 689
+ SI_GVG_FREEZ: 690
+ SI_GVG_SLEEP: 691
+ SI_GVG_CURSE: 692
+ SI_GVG_SILENCE: 693
+ SI_GVG_BLIND: 694
+ SI_CLIENT_ONLY_EQUIP_ARROW: 695
+ SI_CLAN_INFO: 696
+ SI_JP_EVENT01: 697
+ SI_JP_EVENT02: 698
+ SI_JP_EVENT03: 699
+ SI_JP_EVENT04: 700
+ SI_TELEPORT_FIXEDCASTINGDELAY: 701
+ SI_GEFFEN_MAGIC1: 702
+ SI_GEFFEN_MAGIC2: 703
+ SI_GEFFEN_MAGIC3: 704
+ SI_QUEST_BUFF1: 705
+ SI_QUEST_BUFF2: 706
+ SI_QUEST_BUFF3: 707
+ SI_REUSE_LIMIT_RECALL: 708
+ SI_SAVEPOSITION: 709
+ SI_HANDICAPSTATE_ICEEXPLO: 710
+ SI_FENRIR_CARD: 711
+ SI_REUSE_LIMIT_ASPD_POTION: 712
+ SI_MAXPAIN: 713
+ SI_PC_STOP: 714
+ SI_FRIGG_SONG: 715
+ SI_OFFERTORIUM: 716
+ SI_TELEKINESIS_INTENSE: 717
+ SI_MOONSTAR: 718
+ SI_STRANGELIGHTS: 719
+ SI_FULL_THROTTLE: 720
+ SI_REBOUND: 721
+ SI_UNLIMIT: 722
+ SI_KINGS_GRACE: 723
+ SI_ITEM_ATKMAX: 724
+ SI_ITEM_ATKMIN: 725
+ SI_ITEM_MATKMAX: 726
+ SI_ITEM_MATKMIN: 727
+ SI_SUPER_STAR: 728
+ SI_HIGH_RANKER: 729
+ SI_DARKCROW: 730
+ SI_2013_VALENTINE1: 731
+ SI_2013_VALENTINE2: 732
+ SI_2013_VALENTINE3: 733
+ SI_ILLUSIONDOPING: 734
+ SI_CHILL: 736
+ SI_BURNT: 737
+ SI_FLASHCOMBO: 740
+ SI_CUP_OF_BOZA: 751
+ SI_B_TRAP: 752
+ SI_E_CHAIN: 753
+ SI_E_QD_SHOT_READY: 754
+ SI_C_MARKER: 755
+ SI_H_MINE: 756
+ SI_H_MINE_SPLASH: 757
+ SI_P_ALTER: 758
+ SI_HEAT_BARREL: 759
+ SI_ANTI_M_BLAST: 760
+ SI_SLUGSHOT: 761
+ SI_SWORDCLAN: 762
+ SI_ARCWANDCLAN: 763
+ SI_GOLDENMACECLAN: 764
+ SI_CROSSBOWCLAN: 765
+ SI_PACKING_ENVELOPE1: 766
+ SI_PACKING_ENVELOPE2: 767
+ SI_PACKING_ENVELOPE3: 768
+ SI_PACKING_ENVELOPE4: 769
+ SI_PACKING_ENVELOPE5: 770
+ SI_PACKING_ENVELOPE6: 771
+ SI_PACKING_ENVELOPE7: 772
+ SI_PACKING_ENVELOPE8: 773
+ SI_PACKING_ENVELOPE9: 774
+ SI_PACKING_ENVELOPE10: 775
+ SI_GLASTHEIM_TRANS: 776
+ SI_HEAT_BARREL_AFTER: 778
+ SI_DECORATION_OF_MUSIC: 779
+ SI_MTF_MHP: 793
+ SI_MTF_MSP: 794
+ SI_MTF_PUMPKIN: 795
+ SI_MTF_HITFLEE: 796
+ SI_FLOWERSMOKE: 822
+ SI_FSTONE: 823
+ SI_DAILYSENDMAILCNT: 824
+ SI_LJOSALFAR: 826
+ SI_HAPPINESS_STAR: 849
+ SI_DRESS_UP: 856
+ SI_MAPLE_FALLS: 857
+ SI_MERMAID_LONGING: 863
+ SI_MAGICAL_FEATHER: 864
+ SI_TIME_ACCESSORY: 872
+ SI_SU_STOOP: 893
+ SI_CATNIPPOWDER: 894
+ SI_BLOSSOM_FLUTTERING: 895
+ SI_SV_ROOTTWIST: 896
+ SI_RESIST_PROPERTY_WATER: 908
+ SI_RESIST_PROPERTY_GROUND: 909
+ SI_RESIST_PROPERTY_FIRE: 910
+ SI_RESIST_PROPERTY_WIND: 911
+ SI_BITESCAR: 917
+ SI_ARCLOUSEDASH: 918
+ SI_TUNAPARTY: 919
+ SI_SHRIMP: 920
+ SI_FRESHSHRIMP: 921
+ SI_SUHIDE: 933
+ SI_SPRITEMABLE: 937
+ */
+ SI_TESTINGSI: 35
+
diff --git a/db/skill_changematerial_db.txt b/db/skill_changematerial_db.txt
new file mode 100644
index 0000000..fabf5df
--- /dev/null
+++ b/db/skill_changematerial_db.txt
@@ -0,0 +1,11 @@
+// Change Material Database
+//
+// Structure of Database:
+// ProductID,BaseRate,MakeAmount1,MakeAmountRate1,MakeAmount2,MakeAmountRate2
+// MakeAmount3,MakeAmountRate3,MakeAmount4,MakeAmountRate4,MakeAmount5,MakeAmountRate5
+//====================================================
+// NOTE:
+// Up to 5 ID/Amount pairs can be specified.
+// Rate = n/10%
+//====================================================
+
diff --git a/db/skill_improvise_db.txt b/db/skill_improvise_db.txt
new file mode 100644
index 0000000..d130b85
--- /dev/null
+++ b/db/skill_improvise_db.txt
@@ -0,0 +1,12 @@
+// Improvise DB.
+// Database for skills that can be summoned trough Randomize Spell/Improvised Song (Minstrel/Wanderer Skill).
+// Format: SkillID,Rate
+//
+// 01. SkillID Skill ID to be casted by Randomize Spell.
+// 02. Rate Chance at which the skill is selected (1 = 0.01%, 10000 = 100%).
+//
+// NOTE: The skill is picked at random from the entire database and then tested for rate. If it
+// does not succeed at that rate, an another skill is picked and tested. This continues
+// until a skill succeeds.
+//
+
diff --git a/db/skill_reproduce_db.txt b/db/skill_reproduce_db.txt
new file mode 100644
index 0000000..b121ecf
--- /dev/null
+++ b/db/skill_reproduce_db.txt
@@ -0,0 +1,7 @@
+// Reproduce Copy Skills List
+//
+// ##TODO## screw this file and make it a new skill_info2 flag
+//
+// Structure of Database:
+// SkillID
+//=================================
diff --git a/db/spellbook_db.txt b/db/spellbook_db.txt
new file mode 100644
index 0000000..f109eb5
--- /dev/null
+++ b/db/spellbook_db.txt
@@ -0,0 +1,7 @@
+// Reading Spellbook Preserve Points Database
+//
+// Structure of Database:
+// SkillID,PreservePoints,Required Book
+//====================================================
+// To add more entries, increase MAX_SKILL_SPELLBOOK_DB in /src/map/skill.h.
+//====================================================
diff --git a/db/stylist_db.conf b/db/stylist_db.conf
new file mode 100644
index 0000000..e857df9
--- /dev/null
+++ b/db/stylist_db.conf
@@ -0,0 +1,266 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2018 Hercules Dev Team
+//= Copyright (C) 2018 Asheraf
+//=
+//= 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/>.
+//=========================================================================
+//= Stylist Database
+//=========================================================================
+
+stylist_db: (
+ /**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+{
+ // ================ Mandatory fields ==============================
+ Type: TYPE (int)
+ Id: ID (int)
+ // ================ Optional fields ===============================
+ Zeny: zeny (int, defaults to 0)
+ ItemID: ItemID (int, defaults to 0)
+ BoxItemID: BoxItemID (int, defaults to 0)
+},
+**************************************************************************/
+{
+ Type: "LOOK_HAIR_COLOR"
+ Id: 1
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR_COLOR"
+ Id: 2
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR_COLOR"
+ Id: 3
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR_COLOR"
+ Id: 4
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR_COLOR"
+ Id: 5
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR_COLOR"
+ Id: 6
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR_COLOR"
+ Id: 7
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR_COLOR"
+ Id: 8
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 1
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 2
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 3
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 4
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 5
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 6
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 7
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 8
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 9
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 10
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 11
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 12
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 13
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 14
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 15
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 16
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 17
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 18
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 19
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 20
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 21
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 22
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 23
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 24
+// ItemID: "New_Style_Coupon"
+// BoxItemID: "Beauty_Gift_Box"
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 25
+// ItemID: "New_Style_Coupon"
+// BoxItemID: "Beauty_Gift_Box"
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 26
+// ItemID: "New_Style_Coupon"
+// BoxItemID: "Beauty_Gift_Box"
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 27
+// ItemID: "New_Style_Coupon"
+// BoxItemID: "Beauty_Gift_Box"
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 28
+// ItemID: "Cash_Hair_Coupon"
+// BoxItemID: "Jeremy_Beauty_Coupon_Box"
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 29
+// ItemID: "Cash_Hair_Coupon"
+// BoxItemID: "Jeremy_Beauty_Coupon_Box"
+},
+{
+ Type: "LOOK_CLOTHES_COLOR"
+ Id: 1
+// ItemID: "Clothing_Dye_Coupon2"
+// BoxItemID: "Clothing_Dye_Orig_Box"
+},
+{
+ Type: "LOOK_CLOTHES_COLOR"
+ Id: 2
+// ItemID: "Clothing_Dye_Coupon"
+// BoxItemID: "Clothing_Dye_Box"
+},
+{
+ Type: "LOOK_CLOTHES_COLOR"
+ Id: 3
+// ItemID: "Clothing_Dye_Coupon"
+// BoxItemID: "Clothing_Dye_Box"
+},
+{
+ Type: "LOOK_BODY2"
+ Id: 0
+// ItemID: "Costume_Change_Ticket"
+// BoxItemID: "Costume_Change_Ticket"
+},
+{
+ Type: "LOOK_BODY2"
+ Id: 1
+// ItemID: "Costume_Change_Ticket"
+// BoxItemID: "Costume_Change_Ticket"
+},
+)
diff --git a/db/translations.conf b/db/translations.conf
new file mode 100644
index 0000000..fc81446
--- /dev/null
+++ b/db/translations.conf
@@ -0,0 +1,20 @@
+//====================================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//=
+//= http://herc.ws/board/
+//================= More Information =================
+//= http://herc.ws/board/topic/8687-hercules-ultimate-localization-design/
+//====================================================
+// Translations generated with —-generate-translations
+// should be pointed to here
+//====================================================
+
+translations: (
+ //"path/to/my/Language.po",
+ //"db/Spanish.po", //(Example)
+) \ No newline at end of file
diff --git a/docs b/docs
new file mode 120000
index 0000000..6ed3a10
--- /dev/null
+++ b/docs
@@ -0,0 +1 @@
+/home/jesusalva/projetos/tmw2/docs/server \ No newline at end of file
diff --git a/gprof.sh b/gprof.sh
new file mode 100755
index 0000000..be6c9d0
--- /dev/null
+++ b/gprof.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+gprof --inline-file-names ./${1} >gprof_${1}.txt
diff --git a/langs/lang_de.old b/langs/lang_de.old
new file mode 100644
index 0000000..a83fac7
--- /dev/null
+++ b/langs/lang_de.old
@@ -0,0 +1,2409 @@
+ - Daily Login Screen
+- Tägliche Login-Bildschirm
+
+ - Soul Menhir auto-saving
+- Soul Menhir Auto-Speichern
+
+##1Bug abuser detected! Automatically banning!!
+##1Bug ausnutzen entdeckt! Automatisches bannen!!
+
+##1DON'T MOVE until the signal. Stay ready! If you move, you will desync client!
+##1NICHT BEWEGEN bis du das Signal erhältst. Mach dich bereit! Wenn du dich bewegst, verliert dein Client die Synchronisation!
+
+##2 14 Days login bonus: ##B1x @@##b
+##2 14-tägiger Login Bonus: ##B1x @@##b
+
+##2 14 Days login bonus: ##B2x @@##b
+##2 14-tägiger Login Bonus: ##B2x @@##b
+
+##2 21 Days login bonus: ##B1x @@##b
+##2 21-tägiger Login Bonus:: ##B1x @@##b
+
+##2 21 Days login bonus: ##B3x @@##b
+##2 21-tägiger Login Bonus: ##B3x @@##b
+
+##2 27 Days login bonus: ##B1x @@##b
+##2 27-tägiger Login Bonus: ##B1x @@##b
+
+##2 3 Days login bonus: ##B1x @@##b
+##2 3-tägiger Login Bonus: ##B1x @@##b
+
+##2 7 Days login bonus: ##B3x @@##b
+##2 7-tägiger Login Bonus: ##B3x @@##b
+
+##2 7 Days login bonus: ##B@@ Job Exp.##b
+##2 7-tägiger Login Bonus: ##B@@ Job Exp.##b
+
+##2 @@ Days login bonus: ##B2x @@##b
+##2 @@ Tage Login Bonus: ##B2x @@##b
+
+##2 @@ Days login bonus: ##B2x @@, 1x @@##b
+##2 @@ -tägiger Login Bonus: ##B2x @@, 1x @@##b
+
+##2Daily login bonus: ##B1x @@##b
+##2 Täglicher Login Bonus: ##B1x @@##b
+
+##2Daily login bonus: ##B@@ EXP##b
+##2Täglicher Login Bonus: ##B@@ EXP##b
+
+##2Daily login bonus: ##B@@ GP##b
+##2Täglicher Login Bonus: ##B@@ GP##b
+
+##2Daily login bonus: ##B@@ Job Exp.##b
+##2Täglicher Login Bonus: ##B@@ Job Exp.##b
+
+##2The Monster Colonel was defeated by @@!
+##2Der Monster Oberst wurde von @@ besiegt!
+
+##2The Monster Lieutenant was defeated by @@!
+##2Der Monster Leutnant wurde von @@ besiegt!
+
+##2Your prize: @@ GP
+##2Dein Preis: @@ GP
+
+##9Hey wait... Your coin turned on a @@!
+##9Hey warte mal... Deine Münze ist auf einer @@ gelandet!
+
+##BHall Of Fame: TOP10##b
+##BRuhmeshalle: TOP10##b
+
+##BYou were stolen##b by an evil NPC.
+##BDu wurdest##b von einem bösen NPC ##Bbestohlen##b.
+
+%s, you did your best to entretain me. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+%s, Du hast mich gut unterhalten. Es ist daher mein Wunsch, dass Du weiterhin diese Welt beschützt. Also überreiche ich Dir das legendäre %s. Nutze seine Macht, um Deine Freunde und den Weltfrieden zu beschützen!
+
+%s, you're a good student. You have a bright future if you keep listening to me.
+%s, du bist ein guter Student. Du wirst eine glänzende Zukunft vor dir haben, wenn du mir weiter zuhören.
+
+(10,000 GP) Legendary Mount
+(10.000 GP) Legendäres Reittier
+
+(Protip: Use arrow keys to walk around once you wake up.)
+(Protip: Benutze die Pfeiltasten um herumzulaufen, sobald du aufgewacht bist.)
+
+* +2 in all attributes, permanently
+* +2 in allen Attributen, dauerhaft
+
+* Register as a Crafter or Hunter
+* Registrieren Sie sich als Crafter oder Hunter
+
+*whistle*
+*pfeifen*
+
+- 5 @@, with 12000 GP, for a @@.
+- 5 @@ und 12000 GP für einen @@.
+
+.::
+.::
+
+.:: @@ Recipe ::.
+.:: @@ Rezept ::.
+
+.:: Main Quest 2-1 ::.
+Main. :: Quest-2-1 ::.
+
+.:: Main Quest 2-2 ::.
+Main. :: Quest-2-2 ::.
+
+.:: Main Quest 2-3 ::.
+Main. :: Quest-2-3 ::.
+
+.:: Main Quest 3-1 ::.
+Main. :: Quest-3-1 ::.
+
+.:: Main Quest 4-2 ::.
+Main. :: Quest-4-2 ::.
+
+.:: Main Quest 4-3 ::.
+Main. :: Quest-4-3 ::.
+
+100 - @@
+100 - @@
+
+1000 - 20x @@
+1000 - 20x @@
+
+10000 - 30x @@
+10000 - 30x @@
+
+20 Common Carp
+20 Karpfen
+
+2000 - @@
+2000 - @@
+
+250 - @@
+250 - @@
+
+4144's Tortuga was seen somewhere. Great rewards if someone knock off that monster... Well, not really.
+4144 von Tortuga wurde irgendwo gesehen. Große Belohnungen, wenn jemand weg klopft das Monster ... Na ja, nicht wirklich.
+
+500 - @@
+500 - @@
+
+5000 (+10,000 GP) - @@
+5000 (+10.000 GP) - @@
+
+7 Grass Carp
+7 Graskarpfen
+
+8 Croconut
+8 Croconut
+
+87 Plushroom
+87 Plushroom
+
+@@ -> @@
+@@ -> @@
+
+@@ disembarks at Candor Island.
+@@ landet auf Candor Insel.
+
+@@ hits himself in the head and forgot you ever went after his men.
+@@ schlägt sich in den Kopf und vergessen haben, je nach seinen Männern ging.
+
+@@ is helping me.
+@@ hilft mir.
+
+A guy named Hasan stole me!
+Ein Mann namens Hasan stahl mich!
+
+A major deflation happened while Saulc wasn't looking, and you may find several items with @@ discount.
+Ein Haupt Deflation geschah, während Saulc nicht hinsah, und Sie einige Einzelteile mit @@ Rabatt finden.
+
+A minimum of 3 players at the time of start is required!
+Mindestens 3 Spieler zum Zeitpunkt des Starts ist erforderlich!
+
+A nice meteor shower is thought to happen in February and May, days 18~25.
+im Februar und Mai Ein schöner Meteoritenschauer dachte Tage 18 ~ 25 passieren.
+
+Access is restricted to guards, as usual.
+Der Zugriff auf Wachen beschränkt, wie üblich.
+
+Accumulate Power - Raise damage of next skill.
+Accumulate Leistung - Raise Schaden des nächsten Geschick.
+
+Actually, the Dummy don't fight back. Are you afraid?
+Tatsächlich kämpfen die Dummy nicht zurück. Hast du Angst?
+
+Actually. Who are you again? A headache which doesn't wants to pass strikes you.
+Tatsächlich. Wer bist du noch mal? Kopfschmerzen, die nicht tun wollen Streiks Sie weiter.
+
+Additional security measures were put in place so such disaster, of a whole world crashing, doesn't happens again.
+Zusätzliche Sicherheitsmaßnahmen getroffen, so eine solche Katastrophe gebracht wurden, einer ganzen Welt abstürzt, geschieht nicht wieder.
+
+Adventurers entirely redressed, people doing Grand Hunter Quest like mad, peple making wishes at... well...
+Adventurers vollständig abgeholfen, Leute wie verrückt Grand-Hunter Quest-tun, peple machen Wünsche an ... na ja ...
+
+Adventurers got drunk to get more EXP?! Players can now buy houses and make their own wine!
+Adventurers betrank mehr EXP zu bekommen ?! Spieler können nun Häuser kaufen und ihren eigenen Wein machen!
+
+After much struggle with the lazy builders, Nivalis Town is finally open for visit again!
+Nach langen Kampf mit den faulen Bauherr, ist nivalis Stadt wieder für einen Besuch endlich offen!
+
+After the Great Famine which happened after the Red Queen death, it was founded by people who sailed away in look of new opportunities.
+Nach der großen Hungersnot, die nach der Roten Königin Tod geschah, wurde von Menschen gegründet, die in Aussehen neue Möglichkeiten segelte.
+
+Ah! I know. Kill 10 @@. They usually are the crops.
+Ah! Ich kenne. Töte 10 @@. Sie sind in der Regel die Pflanzen.
+
+All contributors should claim their rewards with Lua. Weather is there, night cycle happens where monsters are more active.
+Alle Mitwirkenden sollten ihre Belohnungen mit Lua behaupten. Das Wetter ist dort passiert, Nacht-Zyklus, wo Monster mehr aktiv sind.
+
+Alright, take your time we are not in a hurry.
+Alles klar, lass dir Zeit. Wir habens nicht eilig.
+
+Alright... I shall acknowledge you...
+Okay ... Ich werde Sie erkennen ...
+
+Also, hidden in a forest which is not either hot or cold, is the Gold Pot Cauldron...
+Auch in einem Wald versteckt, die nicht entweder heiß oder kalt ist, ist der Goldtopf Kessel ...
+
+Also, the Inn folks said the Ducks keep bothering them, but they've noticed a small decrease lately.
+Auch sagten die Leute Inn die Enten halten stört sie, aber sie haben eine kleine Abnahme in letzter Zeit bemerkt.
+
+Also, we took your yayed clothes, as they were... Yeyeye... In a bad shape. Go check the chest near your bed, there are some other ones inside.#0
+Wir haben auch deine yayate Kleidung geholt. Sie war in einem ...yeyeye... in einem schlechten Zustand. Schau in die Kiste neben deinem Bett, dort sind andere Sachen.
+
+Also, we took your yayed clothes, as they were... Yeyeye... In a bad shape. Go check the chest near your bed, there are some other ones inside.#1
+Wir haben auch deine yayate Kleidung geholt. Sie war in einem ...yeyeye... in einem schlechten Zustand. Schau in die Kiste neben deinem Bett, dort sind andere Sachen.
+
+Also, weird voices are talking to new players, asking if they're here because a friend.
+Auch seltsame Stimmen, um neue Spieler sprechen, fragen, ob sie hier, weil ein Freund sind.
+
+And on the meanwhile, ships sailors are shouting at you.
+Und auf der Zwischenzeit Schiffe Seeleute an Sie schreit.
+
+And speaking in reward, guards are looking for someone contrabanding goods from Artis. Do not help them!
+Und in Lohn zu sprechen, suchen Wachen für jemanden contrabanding Waren von Artis. Sie helfen ihnen nicht!
+
+And then what happened?
+Und dann passierte was?
+
+And you? How's it going on your side?
+Und du? Wie geht es dir?
+
+Andrei Sakar is also repeating his questions about World Lore, although rewards are now smaller.
+Andrei Sakar ist auch seine Fragen zu Welt Lore wiederholen, obwohl Belohnungen sind jetzt kleiner.
+
+Another way to attack it is clicking on it. Now, there are some things you must know before fighting this dangerous creature!
+Ein anderer Weg zum Angriff auf sie klickt. Nun, es gibt einige Dinge, die Sie vor dem Kampf gegen diese gefährliche Kreatur wissen müssen!
+
+Anwar left his house to tend Tulimshar's crops, after noticing something strange with them. He blames the Monster King.
+Anwar verließ sein Haus Tulimshar die Ernten zu neigen, nach etwas Seltsames mit ihnen zu bemerken. Er macht das Monster King.
+
+Anyway, you can check our [@@https://gitlab.com/TMW2/Docs/wikis/home|Wiki@@] to find awesome stuff!
+Wie auch immer, Du kannst in unserem [@@ https: //gitlab.com/TMW2/Docs/wikis/home | Wiki @@] fantastisches Material zu finden!
+
+Are you cheating?
+Betrügen Sie?
+
+AreaNPC
+AreaNPC
+
+Arkim also developed a powerful petiscide to make Pinkies less healthy, but that was long ago.
+Arkim auch eine leistungsfähige petiscide entwickelt, um Pinkies weniger gesund, aber das war vor langer Zeit.
+
+Arrow Shower - Shoot FIVE arrows or bullets to the air and cause Area Of Effect Damage.
+Pfeil Dusche - Schießen FIVE Pfeile oder Kugeln in die Luft und verursachen Flächenschaden.
+
+Arrows prices were lowered, and a limited teleport to Frostia and Halinarzo is now possible.
+Pfeile Preise wurden gesenkt, und eine begrenzte teleportieren zu Frostia und Halinarzo ist nun möglich.
+
+Artis
+Artis
+
+Artis Backsword
+Artis Backsword
+
+Artis is a city port founded after the Great Famine on the other continent.
+Artis ist ein nach der großen Hungersnot auf dem anderen Kontinent gegründet Stadthafen.
+
+As you see, helping others is a good way to level up. You can also sell monster parts for some money.
+Wie Sie sehen, anderen zu helfen, ist ein guter Weg, um Stufe nach oben. Sie können auch Monsterteile für etwas Geld verkaufen.
+
+AssassinChest
+AssassinChest
+
+Bare Hands
+bloßen Händen
+
+Black Cotton Dye
+Schwarze Baumwoll Farbe
+
+Blob
+Klecks
+
+Blue Cotton Dye
+Blaue Baumwoll Farbe
+
+Blue Gray Cotton Dye
+Blaugraue Baumwoll Farbe
+
+Break the door.
+Schlag die Tür ein.
+
+Bromenal
+Bromenal
+
+Brown Cotton Dye
+Braune Baumwoll Farbe
+
+Bury.
+Begraben.
+
+But @@ is too valorous, you can only forge with it! So it sells well, about @@ GP.
+Aber @@ ist zu valorous, können Sie nur mit ihm schmieden! So ist es verkauft sich gut, um @@ GP.
+
+But be careful: Only 1MSP-costed skills can be forgotten, and learning fees WON'T be given back!
+Aber Vorsicht: Nur 1MSP-kalkulierten Fähigkeiten können vergessen werden, und das Lernen Gebühren werden nicht wieder gegeben werden!
+
+But be warned, I don't have the Apple with me. It's further in.
+Aber seien Sie gewarnt, ich habe nicht das Apple mit mir. Es ist weiter in.
+
+But hey, it is Easter and the poll is still open, so here are 15 @@ as a consolation prize.
+Aber hey, es ist Ostern und die Umfrage ist noch offen, so ist hier 15 @@ als Trostpreis.
+
+But in accordance to [@@https://tmw2.org/forums/viewtopic.php?pid=8|Community Decision@@], you were unlucky.
+Aber gemäß [@@ https: //tmw2.org/forums/viewtopic.php pid = 8 | Entscheidung der Gemeinschaft @@?] Sie haben Pech.
+
+But most important, she is the one who took care of you when you were unconscious.#0
+Aber am wichtigsten ist, sie hatte sich um Dich gekümmert als Du bewusstlos warst.
+
+But most important, she is the one who took care of you when you were unconscious.#1
+Aber am wichtigsten ist, sie hatte sich um Dich gekümmert als Du bewusstlos warst.
+
+But travel by sea, or access to the village on itself, is thoroughly impossible. Andrei Sakar is at ready.
+Aber mit dem Schiff fahren, oder den Zugang zum Dorf an sich ist durchaus unmöglich. Andrei Sakar ist bereit.
+
+But who knows what future holds. The Monster King was blamed as responsible, but he killed our interviewer. Eeh.
+Aber wer weiß, was Zukunft bringt. Das Monster King wurde als verantwortlich verantwortlich gemacht, aber er tötete unseren Interviewer. Eeh.
+
+CONDEMNED: This building has been condemned. The roof may fall. Be careful!
+VERURTEILT: Dieses Gebäude wird verurteilt. Das Dach kann herunterfallen. Achtung!
+
+Camel Cotton Dye
+Ocker Baumwoll Farbe
+
+Can you craft Savior Pants?
+Können Sie Heiland Hosen Handwerk?
+
+Can't bring pets with you...
+Kann nicht bringen Haustiere mit Ihnen ...
+
+Candor Trainer read all the references that he could find and is wiser than ever!
+Candor Trainer Lesen Sie alle Hinweise, dass er finden konnte, und ist klüger als je zuvor!
+
+Candor was sightly reworked in terms of gold gain/expense. @@ was added.
+Candor wurde in Bezug auf Gold Gewinn / Kosten sightly überarbeitet. @@ wurde hinzugefügt.
+
+Captain Nard is in the room to your right.
+Kapitän Nard ist in dem Raum auf der rechten Seite.
+
+Cauldron#RES_0177
+Kessel#RES_0177
+
+Cauldron#RES_0178
+Kessel#RES_0178
+
+Central Woodlands suffered dramatic changes due Saulc (ab)using his GM powers.
+Zentralwoodlands erlitt dramatische Veränderungen durch Saulc (ab) mit seinem GM Kraft.
+
+Change my level
+Level verändern
+
+Change my skills
+Fähigkeiten verändern
+
+Change my stats
+Stauspunkte verändern
+
+Chocolate Cashmere Dye
+Schokobraune Kashmir Farbe
+
+Choose desired quest state:
+Wähle gewünschten Quest Status:
+
+Christmas Event: 21/12 ~ 09/01
+Weihnachten Event: 21.12 ~ 01.09
+
+Citzens on the world are now listeing to different tunes, and new adventurers were found... in desert islands?
+Bürger auf der Welt hören jetzt auf verschiedene Melodien und neue Abenteurer wurden gefunden ... in der Wüste Inseln?
+
+Click here for instructions on how to use the test server.
+Hier klicken für Infos über die Benutzung des Test-Servers.
+
+Client Version: @@
+Client Version: @@
+
+Colonel DUSTMAN opened the Heroes Hold to the hardcore player. Noobs, keep out! Good players only!
+Oberst MÜLLABFUHRMANN öffneten sich die Helden auf den Hardcore-Spieler halten. Noobs, draußen bleiben! Gute Spieler nur!
+
+Come back soon!
+Komm bald wieder!
+
+Could I ask you what your native language is? A sailor told me you're Russian, but another one told me you're French... I'm a bit lost. I will register you on the ship passenger list just after that.#0
+Darf ich dich fragen was deine Muttersprache ist? Ein Matrose meinte Russisch, ein anderer Französisch... Ich bin ein wenig verwirrt. Ich werde dich danach sofort auf die Passagierliste setzen.
+
+Could I ask you what your native language is? A sailor told me you're Russian, but another one told me you're French... I'm a bit lost. I will register you on the ship passenger list just after that.#1
+Darf ich dich fragen was deine Muttersprache ist? Ein Matrose meinte Russisch, ein anderer Französisch... Ich bin ein wenig verwirrt. Ich werde dich danach sofort auf die Passagierliste setzen.
+
+Could you bleach my clothes?
+Kannst du meine Kleidung bleichen?
+
+Counter Attack - Next attack will be retaliated, with twice critical ratio.
+Counter Attack - Nächster Angriff wird rächte sich, mit zweimal kritisches Verhältnis.
+
+Crazyfefe Fight was remastered. The 8.0 release series was the longest release serial thus far.
+Crazyfefe Kampf wurde remastered. Die 8.0-Release-Serie war die längste Release Serien so weit.
+
+Create items
+Gegenstände herstellen
+
+Crimson Cashmere Dye
+Karminrote Kashmir Farbe
+
+Crypt Key
+Crypt Key
+
+Currently, there is no way to reset them. So use them wisely!
+Derzeit gibt es keine Möglichkeit, sie zurückzustellen. So verwenden sie mit Bedacht!
+
+Dark Red Cotton Dye
+Dunkelrote Baumwoll Farbe
+
+Debug - Change level
+Debug - Level ändern
+
+Debug - Change stats
+Debug - Statuspunkte verändern
+
+Demonic Chest
+Demonic Chest
+
+Desert Bow
+Wüsten Bogen
+
+Despite its initial dubious fragrance, the tea comes off as very smooth and mellow with a bit of natural sweetness and a touch of an earthy forest like flavour, but in a very good way.
+Trotz seines anfänglichen zweifelhaften Duftes kommt der Tee ab, als sehr glatt und mit einem wenig natürlichen Süße weich und einem Hauch von einem erdigen Wald wie Geschmack, aber in einem sehr guten Weg.
+
+Did this Mouboo just blinked? No, I made sure to kill it. Must have been my imagination.
+Hat dieser Mouboo nur blinzelte? Nein, ich sicher, dass es zu töten. Muss ich meine Phantasie gewesen.
+
+Did you knew some crazy adventurers insists there is a Mana Stone on the danerous caves inside the town?
+Hätten Sie gewusst ein paar verrückte Abenteurer beharrt ein Mana Stein auf den gefährlichen Höhlen innerhalb der Stadt ist?
+
+Did you say reward? I want it!
+Sagtest du Belohnung? Ich will sie!
+
+Dig.
+Graben.
+
+Dimond bought a brand new slot machine and installed on her inn. The rewards are different from the one on Tulimshar.
+Dimond kaufte einen nagelneuen Spielautomaten und installiert auf dem Inn. Die Belohnungen sind anders als die, auf Tulimshar.
+
+Disable event
+Deaktivieren Veranstaltung
+
+Divine Rage - @sk-demure
+Göttliche Rage - @ sk-sittsam
+
+Do not attempt to use the normal route with a @@ with you.
+Versuchen Sie nicht, die normale Route mit einem @@ mit Ihnen zu verwenden.
+
+Do not give the password of your room to anybody! Keep it secret and try not to use the same one in any other room in the future. - Juliet
+Das Passwort nicht in Ihrem Zimmer zu jeder geben! Halten Sie es geheim und nicht versuchen, das gleiche in jedem anderen Raum in der Zukunft zu nutzen. - Juliet
+
+Do nothing
+Nichts tun
+
+Do you feel too weak even to do damage to this areas wishy-washy wildlife?
+Fühlst du dich sogar zu schwach, um diese Wischi-Waschi-Monster hier zu besiegen?
+
+Do you have any other questions for me?
+Hast du noch weitere Fragen an mich?
+
+Do you have the @@/11 @@ I requested? Sailors are getting hungry because you!
+Haben Sie die @@ / 11 @@ Ich bat? Segler sind immer hungrig, weil Sie!
+
+Do you really think the poor creature should jump a bridge in water and DIE?
+Glaubst du wirklich, das arme Tier eine Brücke in Wasser und DEM springen sollte?
+
+Do you see the crocs, with their claws and such? They have high defense, this means your attacks deal less damage.
+Sehen Sie die Crocs, mit ihren Klauen und so? Sie haben eine hohe Verteidigung, dies bedeutet, dass Ihre Angriffe weniger Schaden.
+
+Do you want to cut this @@?
+Willst Du dies zerschneiden @@?
+
+Do you want to use this place as save point?
+Möchtest du diesen Ort als Speicherpunkt benutzen?
+
+Don't be afraid of death. Of course, in most places, dying will reduce your Experience.
+Haben Sie keine Angst vor dem Tod. Natürlich sterben in den meisten Orten, wird Ihre Erfahrung zu reduzieren.
+
+DoorUpwards
+DoorUpwards
+
+Drag and drop a @@ in a @@, and you will obtain a @@.
+Ziehen Sie eine @@ in einem @@, und Sie werden ein erhalten @@.
+
+Drop Rate management
+Droprate Management
+
+Drop rates raised drastically for the lucky ones. Eternal Swamp floods are now more cyclic.
+Dropraten drastisch erhöht für die Glücklichen. Ewiger Sumpf Überschwemmungen sind jetzt mehr zyklisch.
+
+Due this bug, when you logged off on the BotCheck Area, @@. We wanted to deliver you a token of apology!
+Aufgrund dieses Fehlers, wenn Sie auf dem BotCheck Gebiet abgemeldet, @@. Wir wollten Sie ein Zeichen der Entschuldigung liefern!
+
+ERROR: Unimplemented Function
+ERROR: Nicht implementierte Funktion
+
+Easter eggs have been found, like secret rooms.
+Ostereier gefunden wurden, wie geheime Räume.
+
+Easter will soon start!
+Ostern wird in Kürze beginnen!
+
+Enable Christmas
+Aktivieren Weihnachten
+
+Enable Demure's Birthday
+Aktivieren Demure Geburtstag
+
+Enable Easter
+Aktivieren Ostern
+
+Enable Event Horizon
+Aktivieren Event Horizon
+
+Enable St. Patrick Day
+Aktivieren St. Patrick Day
+
+Enable Thanksgiving
+Aktivieren Danksagung
+
+Enable Valentine Day
+Aktivieren Valentinstag
+
+Enable Worker's Day
+Aktivieren Tag der Arbeit
+
+Enter desired skill level:
+Gewünschtes Fähigkeitslevel eingeben:
+
+Enzo, the Forgetful
+Enzo, die Forgetful
+
+Esperia is the human capital founded at the other continent.
+Esperia ist das Humankapital am anderen Kontinent gegründet.
+
+Estard finished arranging sufficient paperwork so adventurers can create their own guilds.
+Estard fertig ausreichend Papierkram Anordnung so Abenteurern ihre eigenen Gilden zu schaffen.
+
+Even Tulimshar's Council managed to get that sewer unlocked, and as consequence, players can ascend to level 60!
+Auch Tulimshar des Rates verwaltet, dass Abwasser entriegelt werden, und als Folge können die Spieler auf Stufe 60 aufsteigen!
+
+Event Duration: November 3rd ~ November 9th 2018
+Veranstaltungsdauer: 3. November ~ 9. November 2018
+
+Every seven successive right guesses, you'll get 2x @@!
+Alle sieben aufeinanderfolgenden richtigen Vermutungen, die Sie erhalten 2x @@!
+
+Experience Rate management
+Experience Rate Management
+
+Falkon Punch
+Falke-Durchschlag
+
+Falkon Punch - Bash your weapon against your enemies with raised damage and accuracy.
+Falke-Durchschlag - Bash Ihrer Waffe gegen deine Feinde mit erhöhten Schaden und Genauigkeit.
+
+Falkon Punch!
+Falke-Durchschlag!
+
+Fear not! You can check our [@@https://gitlab.com/TMW2/Docs/wikis/home|Wiki@@] to find that and other awesome stuff!
+Keine Angst! Sie können unsere überprüfen [@@ https: //gitlab.com/TMW2/Docs/wikis/home | Wiki @@], dass und andere erhältliche Sachen zu finden!
+
+Fighting stronger monsters will yield more EXP, but to make botting less profitable, too weak monsters give less EXP.
+Kampf gegen stärkere Monster mehr EXP ergeben, aber botting weniger profitabel, zu schwach Monster weniger EXP geben zu machen.
+
+Figures clad in dark were reported in Tulimshar Mines, as more miners were hired and need help.
+Die Zahlen in dunkel gekleidet wurden in Tulimshar Mines berichtet, wie mehr Bergleute eingestellt wurden und brauchen Hilfe.
+
+Fine.
+Fein.
+
+Fire Walk
+fire Walk
+
+Fire Walk - Creates a trail of fire, harming any pursuer
+Fire Walk - Erstellt eine Spur von Feuer, jeden Verfolger zu schaden
+
+Fireball - Basic AoE (Area Of Effect) Skill
+Feuerball - Grund AoE (Area of ​​Effect) Geschicklichkeit
+
+First of, you didn't logged in. Without you online, WE CANNOT UNJAIL YOU! We tried with SQL but it didn't budge.
+Zunächst, Sie nicht angemeldet haben. Ohne Sie online, können wir nicht UNJAIL SIE! Wir haben versucht, mit SQL, aber es rührte sich nicht.
+
+Fishing now gives experience, and two new baits were added: Cheese and Alface.
+Angeln gibt jetzt Erfahrung, und zwei neue Köder wurden hinzugefügt: Käse und Alface.
+
+Fluffy Fur
+Fluffy Fell
+
+Free Casting
+Gratis Casting
+
+Frost Diver - Attempt to freeze an enemy, dealing damage
+Frost Diver - Der Versuch, einen Gegner einzufrieren, Schaden zufügt
+
+Frost Nova - Freeze everything in a range
+Frostnova - Freeze-alles in einem Bereich
+
+Fuschia Cotton Dye
+Fuchsia Baumwoll Farbe
+
+GMs weren't using it a lot, and Quirin needed to collect money.
+GMs wurden unter Verwendung es nicht viel, und Quirin benötigt, um Geld zu sammeln.
+
+General Recipes
+Allgemeine Rezepte
+
+Get money
+Geld abheben
+
+Give me back what you've stole, thief!
+Geben Sie mir zurück, was du gestohlen hat, den Dieb!
+
+Go away.
+Geh weg.
+
+Golden Warlord Plare
+Goldene Warlord Platte
+
+Good luck adventurers, and may the Pink Mouboo watch over this disaster... Whatever that means. They paid us to say that, I swear!
+Viel Glück Abenteurer, und kann das Rosa Mouboo wache über diese Katastrophe ... Was auch immer das bedeutet. Sie schenkten uns zu sagen, dass, ich schwöre!
+
+Good to hear from you!
+Schön, von dir zu hören.
+
+Great job! You can keep these items, they will be crucial to your journey.
+Gut gemacht! Sie können diese Elemente halten, werden sie zu Ihrer Reise entscheidend sein.
+
+Great rewards await, according to the voices!
+Große Belohnungen erwarten, nach den Stimmen!
+
+Great, I need 11 @@. Remember a good food makes a good crew.
+Großartig, ich brauche 11 @@. Denken Sie daran, ein gutes Essen eine gute Mannschaft macht.
+
+Green Cotton Dye
+Grüne Baumwoll Farbe
+
+Ground Strike - Hit the ground, exploding the surroundings and disabling enemies.
+Boden Streik - Hit den Boden, um die Umgebung explodiert und behindernden Feinde.
+
+Guilds are now much more stronger, and have exclusive alchemy recipes besides a storage.
+Gilden sind jetzt viel stärker, und haben exklusive Alchemie Rezepte neben einem Speicher.
+
+Guilds can go from 16 to 56 members, tulimshar was restocked.
+Gilden können 16 bis 56 Mitglieder gehen, Tulimshar nachgeliefert wurde.
+
+Guilds storage is free for test, and monsters are fainting when too many players attack them at once.
+Gilden Lagerung ist für Test und Monster in Ohnmacht, wenn zu viele Spieler sie angreifen sofort.
+
+Hard workers get an extra work level. This means a +1 VIT bonus is possible!
+Harte Arbeiter erhalten einen zusätzlichen Arbeitsebene. Das bedeutet, ein +1 VIT Bonus ist möglich!
+
+Hasan is bothering less frequently his friends, as now he have his own seasonal quest.
+Hasan stört weniger seine Freunde häufig, wie er jetzt seine eigene Saison-Suche haben.
+
+Have no idea where in the world you are? Or what a certain mob drops, or even if you should challenge it?
+Haben Sie keine Ahnung, wo in der Welt Sie sind? Oder was eine gewisse Mob fällt, oder auch wenn Sie sollten es herausfordern?
+
+Have you ever felt struck? Lost? Didn't know about a quest, or an item is troubling you?
+Haben Sie schon einmal geschlagen fühlen? Hat verloren? Weiß nicht, über eine Quest, oder ein Element, das Sie beunruhigt?
+
+He is strong though, so keep your party togheter!
+Er ist stark, obwohl, so dass Ihre Partei zusammen halten!
+
+He needs more food.
+Er braucht mehr Nahrung.
+
+Healing - The most basic healing skill, requires no items to use.
+Heilung - die Fähigkeit grundlegende Heilung erfordert keinen Artikel zum Einsatz.
+
+Hehehe, he is a bit nervous, please forgive him, it is not everyday we have a new member in the crew!
+Hehehe, er ist ein bisschen nervös. Bitte entschuldige ihn. Es passiert nicht jeden Tag, dass wir ein neues Mitglied in unserer Crew haben!
+
+Hello, @@! We just looked up and found out that you were affected by BotCheck Logout rules!
+Hallo, @@! Wir haben uns nur auf und fand heraus, dass Sie durch BotCheck Logout Regeln betroffen waren!
+
+Hello, and welcome to Tulimshar guard house.
+Hallo und willkommen zu Tulimshar Wachhaus.
+
+Here they are.
+Hier sind sie.
+
+Hey @@! You haven't clicked on me yet!
+Hallo @@! Sie haben nicht auf mich noch angeklickt!
+
+Hey you! Can you hear us? Are you okay?
+Hey du! Kannst du uns hören? Alles in Ordnung?
+
+Hey, if you take a bow, buy a Quiver with Nicholas, on Hurnscald's blacksmith. Come back always!
+Hey, wenn Sie einen Bogen nehmen, kaufen Sie einen Köcher mit Nicholas, auf Hurnscald Schmiede. Kommen immer wieder!
+
+Hey, you on the stranded island! Can you hear us?!
+Hey, Sie auf dem gestrandeten Insel! Kannst Du uns hören?!
+
+Hey.
+Hey.
+
+High Healing
+hohe Heilung
+
+High Healing - Use a Lifestone for supreme healing.
+Hohe Heilung - Verwenden Sie ein Life für höchste Heilung.
+
+His wandering mirror even challenge players randomly, but rarely grants more than a minute for them.
+Sein Wander Spiegel sogar Spieler zufällig herausfordern, aber nur selten gewährt mehr als eine Minute für sie.
+
+Hmm, that's some progress. Nobody goes to the beach because these slimes, but it looks like this might change sometime soon.
+Hmm, das ist ein gewisser Fortschritt. Niemand geht zum Strand, weil diese Schleime, aber es sieht so könnte dies bald einmal ändern.
+
+Holy Light - Standard Holy Magical Attack
+Heiliger Licht - Standard Heiliger Magischer Angriff
+
+How I see my items?
+So sehe ich meine Artikel?
+
+How can you help me?
+Wie kannst du mir helfen?
+
+How do I get so much money?!
+Wie kann ich so viel Geld bekommen ?!
+
+How do you know?
+Woher weißt du das?
+
+How hunt monsters?
+Wie jagen Monster?
+
+How talk with someone?
+Wie Gespräch mit jemandem?
+
+How trade with other players?
+Wie mit anderen Spielern handeln?
+
+However, I can restart the Heroes Hold, if you want. You'll get a reward, but will need to start from scratch. Should I do it?
+Allerdings kann ich die Helden Halte neu starten, wenn Sie möchten. Sie erhalten eine Belohnung erhalten, sondern müssen von Grund auf neu starten. Sollte ich es machen?
+
+However, taxes there are the highest. Living cost is high, and you should avoid buying things there.
+Allerdings Steuern gibt es die höchste. Wohnkosten sind hoch, und Sie sollten den Kauf Dinge dort vermeiden.
+
+However, the Monster King laid siege to Hurnscald. His power increased greatly, and ships are not capable of even approaching the city.
+Jedoch legte das Monster King gerte Hurnscald. Seine Kraft stark erhöht, und Schiffe sind nicht in der Lage, auch die Stadt nähert.
+
+However, they allowed everyone to use @@ command to rapidly reach Aeros during events.
+Allerdings erlaubt sie alle zu nutzen @@ Befehl zu schnell Eros bei Veranstaltungen zu erreichen.
+
+Hurnscald Nurse is collecting blood donations, and a veteran officer from Tulimshar City Guard is handing out Wooden Swords.
+Hurnscald Krankenschwester ist das Sammeln von Blutspenden und ein Veteran Offizier von Tulimshar Stadtwache ist Austeilen Holzschwerter.
+
+Hurnscald was liberated by the players @@ ago.
+Hurnscald wurde von den Spielern befreit @@ vor.
+
+I am Malivox, an alchemist specialized in reset potions.
+Ich bin Malivox, ein Alchimist spezialisiert auf Reset Tränke.
+
+I am not worried about rewards. I just want to help.
+Mir sind Belohnungen egal. I will nur helfen.
+
+I can even share with you @@ @@, whaddaya say?
+Ich kann sogar mit Ihnen teilen @@ @@, sagen Whaddaya?
+
+I can't believe.
+Ich kann nicht glauben.
+
+I can't remember anything.#0
+Ich kann mich an nichts erinnern.
+
+I can't remember anything.#1
+Ich kann mich an nichts erinnern.
+
+I don't have the time now.
+Ich habe jetzt nicht die Zeit.
+
+I don't know why they would repeat a past mistake. The Monster King is not human anymore. I also do not know what artifact they lost. We have more questions than certanity about this.
+Ich weiß nicht, warum sie eine Vergangenheit Fehler wiederholen würde. Das Monster King ist nicht mehr menschlich. Ich weiß auch nicht, was Artefakt sie verloren. Wir haben mehr Fragen als certanity darüber.
+
+I don't need a rescue. I'm enjoying myself here.
+Ich brauche keine Hilfe. Ich genieße mich hier.
+
+I don't need your help right now, come back later.
+Ich brauche deine Hilfe zur Zeit nicht. Komme später wieder.
+
+I hate sea water, it always make knifes rusty. I already have a stockpile of rusty knifes on the other room.
+Ich hasse Meerwasser, ist es immer Messer rostig machen. Ich habe bereits einen Vorrat an rostigen Messer auf den anderen Raum.
+
+I hope our new campus get built soon. It'll be much better than here.
+Ich hoffe, dass unsere neuen Campus get bald gebaut. Es wird als hier viel besser sein.
+
+I knew it!
+Ich wusste es!
+
+I mean, that's absurd! If there was one, it would have been taken already. Unless if grew some sencience or something.
+Ich meine, das ist absurd! Wenn es eine ist, wäre es bereits getroffen wurde. Es sei denn, wenn wuchs etwas sencience oder so etwas.
+
+I mine here since a while. My favorite activity it's to scare others miners!
+Ich mein hier seit einer Weile. Meine Lieblingsbeschäftigung ist es zu erschrecken andere Bergleute!
+
+I need at minimum @@ Monster Points to get items at current level.
+Ich brauche mindestens @@ Monster Punkte Positionen zu aktuellen Niveau zu erhalten.
+
+I need somebody who can rid the hold of the ship of these rattos. Can you help me?
+Ich brauche jemanden, der den Schiffsrumpf von diesen Ratten befreit. Kannst du mir helfen?
+
+I only remember I was rescued by you.#0
+Ich kann mich nur daran erinnern, dass du mich gerettet hast.
+
+I only remember I was rescued by you.#1
+Ich kann mich nur daran erinnern, dass du mich gerettet hast.
+
+I promise I'll never steal from you again. Here, take this shorts.
+Ich verspreche, ich werde nie wieder von Ihnen stehlen. Hier, nimm diese Shorts.
+
+I remember when I created my first party, we were amazed to share some experience with a small group of adventurer...
+Als ich meine erste Gruppe gegründet habe, teilten wir mit Begeisterung einige Erfahrung mit einem kleinen Team von Abenteurern...
+
+I represent the @@ Hunters. We hunt @@.
+Ich vertrete die @@ Jäger. Wir jagen @@.
+
+I see it's not so easy to get rid of these rattos. Do you want to try again?
+Es ist anscheinend nicht so einfach, diese Rattos zu beseitigen. Willst du es nochmal versuchen?
+
+I think I'll be done soon, since I almost have a box full of @@s!
+Ich denke, daß ich bald fertig bin. Ich habe schon fast eine Kiste voller @@s!
+
+I think I'm done with that now. Do you have any questions?
+Ich denke, dass ich fertig damit bin. Hast du sonst noch weitere Fragen?
+
+I want a EASY task!
+Ich möchte eine einfache Aufgabe!
+
+I want a EXPERT task!
+Ich möchte eine EXPERT Aufgabe!
+
+I want to forge Weapons!
+Ich will Waffen schmieden.
+
+I will yaying do.
+Das werde ich.
+
+I would like to remove an item options
+Ich möchte ein Element Optionen entfernen
+
+I wrote your name on the book, you are now free to use the storage and bank services.
+Ich habe deinen Namen eingetragen, jetzt kannst du jederzeit unsere Lagerungs- und Bankservices nutzen.
+
+I'll also give you a @@. Open it to get a random Mercenary Card.
+Ich werde Ihnen auch eine @@ geben. Öffnen Sie es eine zufällige Mercenary-Karte zu erhalten.
+
+I'll ask you to kill 2 @@. This will prove your worth. They are northwest of the island.
+Ich werde Sie bitten, 2 zu töten @@. Dies wird Ihren Wert beweisen. Sie sind Nordwesten der Insel.
+
+I'll be back with those items..
+Ich komme mit diesen Elementen sein ..
+
+I'll give her everything she needs, don't worry.#0
+Ich werde ihr alles geben, was sie braucht, keine Sorge.
+
+I'll give him everything he needs, don't worry.#1
+Ich werde ihm alles geben, was er braucht. Keine Sorge.
+
+I'm GM and got the money. START THIS CRAP ALREADY!
+Ich bin GM und bekam das Geld. START bereits diese MIST!
+
+I'm done.
+Ich bin fertig.
+
+I'm glad to see you're okay.#0
+Ich bin froh zu sehen, dass es dir gut geht.
+
+I'm glad to see you're okay.#1
+Ich bin froh zu sehen, dass es dir gut geht.
+
+I'm sure that you've got some questions for me, feel free to ask them, but first I need to tell you the rules of proper social conduct on board.
+Ich bin mir sicher, daß du einige Fragen an mich hast. Zögere nicht zu fragen. Zuerst muss ich dir jedoch die Vorschriften für angemessenes soziales Verhalten an Bord erklären.
+
+Iced Bottle
+Iced Bottle
+
+If the Monster King attack, I will try to control inbound monsters here.
+Wenn das Monster King Angriff, werde ich versuchen, hier eingehende Monster zu steuern.
+
+If you don't have a @@, you can only track progress on Mana Magic using @@, and you won't really gain any mana experience for a while.
+Wenn Sie nicht über ein @@ haben, können Sie nur Fortschritt auf Mana Magie verfolgen mit @@, und Sie werden nicht wirklich Mana Erfahrung für eine Weile erhalten.
+
+If you go to Lieutenant Dausen, he'll say that you used Gimp. Just give up.
+Wenn Sie Lieutenant Dausen gehen, wird er sagen, dass Sie Gimp verwendet. Gib einfach auf.
+
+If you head west, you'll eventually reach Jesus Saves' Castle.
+Wenn Sie Richtung Westen, werden Sie schließlich erreichen Jesus rettet Castle.
+
+If you notice your pet is missing, this means nobody cleared them yet.
+Wenn Sie Ihr Haustier bemerken fehlt, bedeutet dies niemand gelöscht sie noch.
+
+If you simply wish to get 99 in all stats:
+Wenn du einfach 99 in allen Statusmerkmalen möchtest:
+
+If you want to read this page again, there is a copy up on the left wall.
+Wenn Sie diese Seite später nochmals lesen möchten, gibt es eine Kopie an der Wand links.
+
+If you wish to reset your stats:
+Wenn du deine Statusmerkmale zurücksetzen möchtest:
+
+In other words, whoever they are, they're after the sages. They are not targetting just simple magical users. This might be a problem.
+Mit anderen Worten, wer auch immer sie sind, sind sie nach den Weisen. Sie sind nicht nur einfache magische Nutzer-Targeting. Dies könnte ein Problem sein.
+
+In the storehouse, kill 4 @@. They keep respawning and are annoying.
+Im Lagerhaus Erledige 4 @@. Sie halten respawning und sind ärgerlich.
+
+In times of famine, magic came to save us.
+In Zeiten der Hungersnot, Magie kam, um uns zu retten.
+
+Is that... Wait... Wow. You... Killed a murderer scorpion.
+Ist das ... Warte ... Wow. Du ... hast einen Mörder Skorpion getötet.
+
+Ishi also rewrote his rewards table. More items for lower prices!
+Ishi auch seine Belohnungen Tabelle neu geschrieben. Angebote in der Kategorie für niedrigere Preise!
+
+It offers better living conditions than Tulimshar, and is bigger and more prosperous. Few monsters live there.
+Es bietet eine bessere Lebensbedingungen als Tulimshar, und ist größer und mehr Wohlstand. Ein paar Monster leben dort.
+
+It seems that you need a key to open this door.
+Scheinbar brauchst du einen Schlüssel um diese Tür zu öffnen.
+
+It was a boring speech, but you have learned ancient languages.
+Es war eine langweilige Rede, aber Sie haben alte Sprachen gelernt.
+
+It would be good for you to do some exercise, the ship isn't big enough for that.
+Es wäre ein guter Ort für ein wenig Bewegung, da das Schiff nicht wirklich groß genug dafür ist.
+
+It's alright! Just one more box and it'll be ok.
+Alles ok! Nur eine weitere Box und es wird ok sein.
+
+It's ok.
+Es ist ok.
+
+Jesus Saves
+Jesus rettet
+
+Jesusalva & Saulc, TMW2 Admins
+Jesusalva & Saulc, TMW2 Admins
+
+Johanne Key
+Schlüssel zur Johanne
+
+Julia
+Julia
+
+Khaki Cotton Dye
+Khaki Baumwoll Farbe
+
+Last Resort
+Letzter Ausweg
+
+Last Standing Man - Passive - Raise Max HP and Holy Defense
+Last Standing Man - Passiv - Raise Max HP und Heilige Verteidigung
+
+LeftBarrierCheck
+LeftBarrierCheck
+
+LeftDoor
+LeftDoor
+
+Legendary Mouboo
+Legendary Mouboo
+
+Legendary Tortuga
+Legendary Tortuga
+
+Legendary Wand
+Legendary Wand
+
+Legion's Copper Armor
+Kupferrüstung der Legion
+
+Legion's Training Shirt
+Trainingshemd der Legion
+
+Less maggots means more food to the town. So, this time the monsters will be a little stronger.
+Weniger Maden Mittel mehr Lebensmittel in die Stadt. Also, dieses Mal die Monster werden ein wenig stärker sein.
+
+Let me explain to you what the Merchant Guild is for.
+Lass mich dir erklären, wozu die Händlergilde gut ist.
+
+Let's jump straight to action, shall we? I'll spawn a mighty @@ to fight you!
+Lassen Sie uns gehen Sie direkt zum Handeln, so sind wir? Ich werde einen mächtigen @@ laichen Sie zu kämpfen!
+
+Lime Cotton Dye
+Lindgrüne Baumwoll Farbe
+
+LoF Transcendence Gate was moved to town centre. Tipius haven't been sighted as of late.
+LoF Transcendence Tor wurde zum Zentrum bewegt. Tipius wurden als in der letzten Zeit nicht gesichtet.
+
+Look at your equipment, can you guess what material it is made from?
+Schau dir deine Ausrüstung genau an. Errätst du, aus welchem Material sie gemacht ist?
+
+Lower difficulty of advanced stage (level 50+ players), by price rebalances.
+Senken Sie Schwierigkeiten bei der fortgeschrittenen Stadium (Stufe 50+ Spieler), nach Preis wieder ins Gleichgewicht bringt.
+
+Lower difficulty of starters stage (up to level 20 players), by experience redesign.
+Senken Sie Schwierigkeit Starterstufe (bis zu Level 20 Spieler), durch die Erfahrung Redesign.
+
+Lower this skill
+Fähigkeit verringern
+
+Lua FINALLY noticed that traveling to Halinarzo at level 20 is akin suicide.
+Lua ENDLICH bemerkt, dass auf der Ebene Halinarzo reisen 20 ähnlich Selbstmord.
+
+Magic Strike - Standard Magical Attack
+Zauberschlag - Standard Magischer Angriff
+
+Mainly fixes and the Monster King is now randomly laying siege to towns!
+Vor allem sind jetzt König Behebungen und das Monster zufällig belagerte Städte!
+
+Major rebalance, lowering difficulty on sub-level-30 stage. Tulimshar is a whole new place.
+Wichtige Neuverteilung, Senken Schwierigkeiten auf Sub-Level-30 Stufe. Tulimshar ist eine ganz neue Stelle.
+
+Mana Wisdom - Passive - Raise Mana EXP Gain rate
+Mana Weisheit - Passiv - Raise Mana EXP Gewinn Rate
+
+Managed to drop anything? It requires more luck than skill. Here is your reward.
+Managed alles fallen zu lassen? Es erfordert mehr Glück als Geschick. Hier ist deine Belohnung.
+
+Many citzens are still in fear. Paths are closed, economy is a disaster, things are not here.
+Viele Bürger sind nach wie vor in Angst. Pfade geschlossen, Wirtschaft ist eine Katastrophe, die Dinge sind nicht hier.
+
+Many other things were changed, and it is too much to say here. Even people with stronger magic were seen.
+Viele andere Dinge wurden verändert, und es ist zu viel, hier zu sagen. Auch Menschen mit stärkerer Magie zu sehen waren.
+
+Many rejoiced. The damage was very big, and all players help is required, to make Hurnscald prosper again.
+Viele freuten sich. Der Schaden war sehr groß, und alle Spieler Hilfe erforderlich ist, wieder Hurnscald prosper zu machen.
+
+Mass Provoke
+Masse Provozieren
+
+Mass Provoke - Provoke all monsters under your cursor
+Massen Provozieren - Provozieren alle Monster unter dem Cursor
+
+Mauve Cotton Dye
+Malve Baumwoll Farbe
+
+Maybe Hurnscald alchemist, Wyara, could explain why.
+Vielleicht Hurnscald Alchemist, Wyara, könnte erklären, warum.
+
+Maybe there are things in Candor which still require your attention? I overheard some of them.
+Vielleicht gibt es Dinge in Candor, die noch Ihre Aufmerksamkeit erfordern? Ich habe gehört, einige von ihnen.
+
+Maybe you can help our city guard. I see you are a Monster Hunting Quest Participant, right?
+Vielleicht können Sie unsere Stadtwache helfen. Ich sehe Sie ein Monster-Jagd Quest-Teilnehmer sind, nicht wahr?
+
+Meanwhile, several bugs were fixed. Our second sun had been glitchy, but Jesus Saves made sure it is now fine.
+Inzwischen wurden mehrere Fehler behoben. Unsere zweite Sonne glitchy gewesen war, aber Jesus macht Saves sicher, es ist jetzt in Ordnung.
+
+Meh, the Blue Sage is truly extravagant. We take @@ for the simplest things as keeping the house warm.
+Meh, die Blue Sage ist wirklich extravagant. Wir nehmen @@ für die einfachsten Dinge wie das Haus warm zu halten.
+
+Meltdown Forge, make your useless equip a good weapon! Lieutenant Dausen have new quests!
+Meltdown Forge, machen sie ihre nutzlosen equip eine gute Waffe! Lieutenant Dausen haben neue Quests!
+
+Mercenaries and blueprints! Players are crafting their own weapons. Sagratha and Cindy are in need of help!
+Mercenaries und Entwürfe! Die Spieler sind Crafting ihre eigenen Waffen. Sagratha und Cindy sind, die Hilfe brauchen!
+
+Minor release to lower travel prices, fix several issues, and enable Friend Referral System.
+Minor Release Reisepreise zu senken, behebt einige Probleme und ermöglicht Freund Referral-System.
+
+Mint Cashmere Dye
+Mintgrüne Kashmir Farbe
+
+Money to leave Candor is easier, as various persons there need help.
+Geld zu verlassen Candor ist einfacher, da verschiedene Personen dort Hilfe benötigt.
+
+Monsters are walking to different regions, new grinding zones appears!
+Monster sind zu Fuß zu den verschiedenen Regionen, neue Schleifzonen erscheint!
+
+Moving while AFK is botting! I'll send you to a %s if you move while AFK! YOU HAVE BEEN WARNED!
+Zu bewegen, während AFK ist botting! Ich werde dich zu einem% s senden, wenn Sie während AFK bewegen! DU WURDEST GEWARNT!
+
+My father lead a dye fabric, I'm in charge to sell @@ around the world.
+Mein Vater einen Farbstoff Stoff führen, ich bin verantwortlich zu verkaufen @@ der ganzen Welt.
+
+My figurin is so nice!
+Meine figurin ist so schön!
+
+My name is @@ and I am the daily task master. Interested in keeping this world free from monsters, or to report back?
+Mein Name ist @@ und ich bin die tägliche Aufgabe meistern. Sie interessieren diese Welt frei von Monstern zu halten oder zu berichten?
+
+My name is @@...
+Mein Name ist @@...
+
+My unit, however, was attacked! An assassin snuck up on us!
+Meine Einheit wurde jedoch angegriffen! Ein Attentäter auf uns schlichen!
+
+NOW YOU HAVE DONE IT! By the powers to me vested as a Constable and Game Master, I sentence you to HALF HOUR IN A %s!
+Jetzt haben Sie es geschafft! Durch die Kräfte mir unverfallbar als Constable und Game Master, ich verurteile Sie zu einer halben Stunde in einer% s!
+
+NPC stylists will cut your hair!
+NPC Stylisten Haare schneiden!
+
+Napalm Beat - Spammable AoE Skill
+Napalm Beat-- Spammable AoE Fähigkeit
+
+Nard also bought a new ship!.
+Nard hat auch ein neues Schiff !.
+
+Nard and Elmo changed the way they talk to newcomers, to be more clear about what they expect.
+Nard und Elmo verändert die Art, wie sie zu den Neulingen zu sprechen, mehr klar darüber zu sein, was sie erwarten.
+
+Nard's ship basement was modified, and winter drops are now alive. Don't miss Christmas event, either.
+Nard Schiff Keller wurde geändert, und im Winter Tropfen ist jetzt am Leben. Verpassen Sie nicht Weihnachten Event, auch nicht.
+
+Nard's ship is not capable to do Tulimshar<->Candor route instantly anymore: His magic sail broke.
+Nard Schiff nicht in der Lage ist Tulimshar zu tun <-> Candor Route sofort mehr: Seine Magie Segel brachen.
+
+Navy Blue Cotton Dye
+Navyblaue Baumwoll Farbe
+
+New default game settings:
+Neue Standard-Spieleinstellungen:
+
+New players can also get an EXP bonus with Elmo until they get level 15. Warp Crystals are here!
+Neue Spieler können auch einen EXP-Bonus mit Elmo erhalten, bis sie Level 15. Warp Kristalle sind hier!
+
+Nivalis Liberation Day Result: Players Lost 92 : 300 Monsters Won
+Nivalis Befreiungstag Ergebnis: Spieler verloren 92: 300 Monster Won
+
+No problem, I can help you anyway.
+Kein Problem, ich kann dir trotzdem helfen.
+
+No, none.
+Nein, keine.
+
+None at the moment!
+Keiner im Moment!
+
+Not only that, but there appeared some paladins, tankers, wizards, sages and raggers claiming to have mastered magic.
+Nicht nur das, aber es erschien einige Paladine, Tanker, Assistenten, Weisen und Raggers behauptet gemeistert Magie zu haben.
+
+Now, please kill 45 @@, Try to collect some lamps in the same time, they could be useful later.
+Nun, bitte töten 45 @@, versuchen einige Lampen in der gleichen Zeit zu sammeln, könnten sie später nützlich sein.
+
+Of course! But beware that [@@https://www.transifex.com/akaras/saulc-tmw-fork|Translators@@] are always in demand!
+Natürlich! Aber Vorsicht, dass [@@ https: //www.transifex.com/akaras/saulc-tmw-fork | Übersetzer @@] sind immer gefragt!
+
+Oh really? I'll put more food in the next box then.
+Oh, wirklich? Ich werde in die nächste Box mehr essen packen.
+
+Oh well, we rescued you when you were yaying adrift in the sea.#0
+Also, wir haben dich gerettet, als du an uns yayai getrieben bist.
+
+Oh well, we rescued you when you were yaying adrift in the sea.#1
+Also, wir haben dich gerettet, als du an uns yayai getrieben bist.
+
+Oh yeyeye... As they are not edible, you can maybe try to equip them?#0
+Oh yeyeye... wenn sie nicht essbar sind, kannst du vielleicht versuchen, sie auszurüsten?
+
+Oh yeyeye... As they are not edible, you can maybe try to equip them?#1
+Oh yeyeye... wenn sie nicht essbar sind, kannst du vielleicht versuchen, sie auszurüsten?
+
+Oh! And our party chat was really entertaining, I do highly recommend you to share this fun as well.
+Oh! Und unser Gruppenchat war wirklich unterhaltsam, ich kann nur wärmstens empfehlen, diesen Spaß mitzumachen.
+
+Oh, I was going to ask you if you wanted to help the crew search for some food and explore the island out there.
+Oh, ich wollte Dich fragen, ob du der Crew beim Suchen nach etwas Nahrung helfen und die Insel erkunden willst.
+
+Oh, and I almost forgot! Do not give the password of your room to anybody! I am the only one who has the other key and I won't ask for yours so keep it secret and try not to use the same password for any other room in the future.
+Oh, das hätte ich fast vergessen! Giib niemals das Passwort deines Zimmers an andere weiter! Ich bin der einzige, der den anderen Schlüssel hat und ich werde nicht nach deinem fragen. Halte es geheim und verwende in Zukunft nicht das gleiche Passwort in einem anderen Raum.
+
+Oh, and a fruit may even fall for you if you are lucky! But stay alert to pick up your drops.
+Es könnte sogar eine Frucht für dich herunterfallen, wenn du Glück hast. Denk aber daran, deine Beute einzusammeln.
+
+Oh, and give her some clothes, the poor girl, the ones she had were in an even worse condition than the ones we have.#0
+Oh, und gib ihr ein paar einfache Sachen. Das arme Mädchen. Ihre eigenen Sachen sind sogar in einer schlechteren Verfassung als die, die wir hier haben!
+
+Oh, and give him some clothes, the poor guy, the ones he had were in an even worse condition than the ones we have.#1
+Oh, und gib ihm ein paar einfache Klamotten, der arme Junge. Seine eigenen sind in einem noch schlechteren Zustand als unsere!
+
+Oh, every settlement is part of it. Candor, Tulimshar, Hurnscald, Frostia, Halinarzo, Artis, Esperia, Nivalis...
+Oh, ist jede Siedlung ein Teil davon. Candor, Tulimshar, Hurnscald, Frostia, Halinarzo, Artis, Esperia, Nivalis ...
+
+Oh, hello there! Welcome to the Mana Plain Of Existence!
+Oh, hallo! Willkommen in der Mana Plain Of Existence!
+
+Oh, noes! Due lack of translators, some languages were removed from this project.
+Oh nein! Wegen Mangel an Ãœbersetzern wurden einige Sprachen aus diesem Projekt entfernt.
+
+Oh, now that I remember, we also found some money in your pockets, here it is!#0
+Jetzt erinnere ich mich. Wir fanden auch etwas Geld in deinen Taschen, hier!
+
+Oh, now that I remember, we also found some money in your pockets, here it is!#1
+Jetzt erinnere ich mich. Wir fanden auch etwas Geld in deinen Taschen,hier!
+
+Oh, wait a second...
+Oh, warte mal kurz...
+
+Oh... Err, yes I did, or, well, good day to you!
+Oh... Ehm. Ja habe ich, oder, nun, Schönen Tag noch!
+
+Ok, I think he's waking up, go see him.#1
+Ok, ich denke, er wacht langsam auf, schau nach ihm.
+
+Ok, I think she's waking up, go see her.#0
+Ok, ich glaube sie wacht auf, geh zu ihr.
+
+Ok, you have some level. Now, let me think on an easy task for you...
+Ok, Sie haben ein gewisses Maß. Nun lassen Sie mich Ihnen auf eine einfache Aufgabe denken ...
+
+Okay, I'm ready to work!#0
+Okay, ich bin fertig für die Arbeit!#0
+
+Okay, I'm ready to work!#1
+Okay, ich bin fertig für die Arbeit!#1
+
+Ops! You destroyed your @@.
+Ops! Sie zerstört deine @@.
+
+Or make yourself useful killing a Duck. They steal all Cherry Cake from the Inn and the staff is getting angry at me. It'll serve, too.
+Oder machen Sie sich nützlich, um eine Ente zu töten. Sie stehlen alle Kirschkuchen aus dem Inn und das Personal wird immer wütend auf mich. Es wird auch dienen.
+
+Or use our awesome [@@https://tmw2.org/manalauncher/InstallManaLauncher.exe|Mana Launcher@@] if you're on Windows.
+Oder verwenden Sie die ehrfürchtige [@@ https: //tmw2.org/manalauncher/InstallManaLauncher.exe | Mana Launcher @@], wenn Sie unter Windows sind.
+
+Orange Cotton Dye
+Orange Baumwoll Farbe
+
+PVP Arena did NOT got in. Same for AFK Cap.
+PVP Arena hat bekam nicht in. Das Gleiche gilt für AFK Cap.
+
+Party levels for experience sharing restriction is more flexible, and there is a great co-op quest.
+Parteiebene für Erfahrungsaustausch Einschränkung sind flexibler, und es gibt einen großen Co-op-Quest.
+
+Patrick Saulc
+Patrick Saulc
+
+People at Tulimshar are now giving more tips to newcomers, and new bugs may have been introduced.
+Menschen bei Tulimshar werden nun weitere Tipps für Neulinge geben und neue Fehler eingeführt worden sein.
+
+Perfect!
+Perfekt!
+
+Pet Detective wasn't getting new members and was forced to drop price.
+Pet Detective wurde immer keine neue Mitglieder und wurde Preis fallen zu lassen gezwungen.
+
+Pick a bounty at Tulimshar Guard House! Buy and use grenades! (Only against non-boss monsters)
+Wählen Sie eine Prämie bei Tulimshar Guard House! Kaufen und Verwendung Granaten! (Es werden nur gegen Nicht-Boss-Monster)
+
+Pink Cotton Dye
+Pinke Baumwoll Farbe
+
+Piou Slayer
+Piou Mörder
+
+Piou egg
+Piou Ei
+
+Players are now send players to Nivalis and Frostia, to keep learning about who they are. While greater forces are at play, the player might be just a minor one, but certainly an important one.
+Die Spieler sind nun Spieler Nivalis und Frostia zu halten, das Lernen über, wer sie sind zu senden. Während größere Kräfte im Spiel sind, kann der Spieler nur eine geringfügige, aber sicherlich ein sehr wichtiger.
+
+Players are renting Mouboos and Tortugas to move faster! Shields are now better!
+Die Spieler sind zu mieten Mouboos und Tortugas schneller zu bewegen! Schilde sind jetzt besser!
+
+Players can now sense monsters strength with @@, and lag was reduced. Pets can run away again.
+Spieler können nun Monster Stärke mit @@, spüren und Verzögerung reduziert wurde. Haustiere können wieder weglaufen.
+
+Players didn't escape from the manaquake. Xtreem says it is easier to kill monsters now.
+Spieler entging nicht von der manaquake. Xtreem sagt, es einfacher zu töten Monster ist jetzt.
+
+Please contact @@ to clear this misunderstanding.
+Bitte kontaktieren Sie @@ dieses Missverständnis löschen.
+
+Please select a category:
+Bitte wähle eine Kategorie:
+
+Please use the alternative route provided by the Alliance High Council
+Bitte benutzen Sie den alternativen Weg der Alliance Hohen Rat zur Verfügung gestellt
+
+Plum
+Pflaume
+
+Protip: Use @hide to don't interfer.
+Protip: Verwenden Sie @hide nicht interfer zu tun.
+
+Provoke - Provoke a single monster
+Provozieren - Provozieren ein einzelnes Monster
+
+Purple Cotton Dye
+Violette Baumwoll Farbe
+
+Pyn Gatling
+Pyn Gatling
+
+Pyn Revolver
+Pyn Revolver
+
+Pyn Rifle
+Pyn Gewehr
+
+Pyn Shotgun
+Pyn Shotgun
+
+Raijin Voice
+Raijin-Stimme
+
+Raise this skill
+Skill erhöhen
+
+Raises your Int by 50
+Erhöht deine Int um 50
+
+Raises your base level by 50
+Erhöht dein Basislevel um 50
+
+Raises your job level by 50
+Erhöht dein Karrierelevel um 50
+
+Re-casting the same mana skill won't give you magic experience. Magic Skills doesn't have this system, and level up on quest or, depending on the skill, on the skill window, using Job Level.
+Re-Casting der gleichen Mana Fähigkeiten gibt Ihnen keine Magie Erfahrung. Magische Fähigkeiten haben dieses System nicht, und Level auf der Suche oder, abhängig von der Fähigkeit, von der Geschicklichkeit Fenstern mit Job-Ebene.
+
+Received one @@ as August daily login bug Token of Apology!
+Erhielt eine @@ als tägliche Login Bug Token of Apology August!
+
+Red Cotton Dye
+Rote Baumwoll Farbe
+
+Reduces your Int by 50
+Verringert deine Int um 50
+
+Reduces your base level by 50
+Verringert dein Basislevel um 50
+
+Reduces your job level by 50
+Verringert dein Karrierelevel um 50
+
+Release 2
+Release 2
+
+Release 2.1 - Free Lunch For Those Who Work Hard!
+Release 2.1 - Free Lunch für diejenigen, die hart arbeiten!
+
+Release 2.2 - There Are No Pipelines
+Release 2.2 - Es gibt keine Pipelines
+
+Release 3
+Release 3
+
+Release 3.0 - In The Dreams
+Release 3.0 - in den Träumen
+
+Release 4
+Release 4
+
+Release 4.0 - Quest Giver's Handbook
+Release 4.0 - Quest Giver-Handbuch
+
+Release 5
+Release 5
+
+Release 5.0 - Greenland Players
+Release 5.0 - Grönland Spieler
+
+Release 6
+Release 6
+
+Release 6.0 - Steam, Fire, and... Monster King?!
+Release 6.0 - Dampf, Feuer und ... Monster King ?!
+
+Release 7
+Release 7
+
+Release 7.0 - Polished Emerald
+Release 7.0 - Polierte Smaragd
+
+Release 7.1 - Broken Emerald
+Release 7.1 - Broken Smaragd
+
+Release 7.2 - Frozen Jesusalva
+Release 7.2 - Gefrorene Jesusalva
+
+Release 7.3 - Frozen Community
+Release 7.3 - Gefrorene Gemeinschaft
+
+Release 7.4 - Christmas Revolution
+Lassen 7.4 - Weihnachten Revolution
+
+Release 7.5 - Merry Christmas, Happy New Year
+Release 7.5 - Frohe Weihnachten, Happy New Year
+
+Release 8
+Release 8
+
+Release 8.0 - Apane Invasion, the Remaster
+Release 8.0 - aPane Invasion, die Remaster
+
+Release 8.1 - It's hidden! Where?
+Version 8.1 - Es ist versteckt! Wo?
+
+Release 8.2(1) - Valentine Day (Is Over)
+Release 8.2 (1) - Valentinstag (Is Over)
+
+Release 8.3 - King Arthur
+Lassen 8.3 - König Arthur
+
+Release 8.4 - Can I Live Ingame?
+Version 8.4 - Can I Live-Ingame?
+
+Release 8.5 - A Place To Spend Vacations
+Version 8.5 - Ein Ort Urlaub zu verbringen
+
+Release 8.9 - Easter Event
+Lassen Sie 8,9 - Ostern Ereignis
+
+Release 8.99 - JESUSALVA IS LAZY
+Lassen 8.99 - JESUSALVA IS LAZY
+
+Release 9 (Current)
+Release 9 (Current)
+
+Release 9.0 - The Promised Release
+Release 9.0 - The Promised Release
+
+Release 9.1 - Bedtime Stories
+Release 9.1 - Bedtime Stories
+
+Release 9.2 - Workbench
+Lassen 9.2 - Workbench
+
+Release 9.3 - Lovely Homunculus
+Lassen 9.3 - Schöne Homunculus
+
+Release 9.4 - Balance & Bugfix Patch
+Release 9.4 - Balance & Bugfix-Patch
+
+Remember, I need 100 @@, 50 @@, and something interesting to read.
+Denken Sie daran, ich brauche 100 @@ 50 @@ und etwas Interessantes zu lesen.
+
+Remove this skill
+Fähigkeit entfernen
+
+Repeat:
+Wiederholen:
+
+Reset Kill Saulc Event (Monthly)
+Zurücksetzen Kill-Saulc Ereignis (Monthly)
+
+Return to skill debug menu
+Zum Fähigkeiten-Debug-Menü zurückkehren
+
+RightBarrierCheck
+RightBarrierCheck
+
+Rosen is now making Training Bow in Candor for new adventures.
+Rosen machen jetzt Training Bow in Candor für neue Abenteuer.
+
+Saulc and Cherry married in Halinarzo, and stayed like this for perhaps 20 seconds, before Cherry asked for divorce.
+Saulc und Kirsche verheiratet in Halinarzo und blieb so für etwa 20 Sekunden, bevor Kirsche für die Scheidung gebeten.
+
+Saulc said it needs an inspection, and he'll be with everyone trying to proccess and fix the amount of damage this caused.
+Saul sagte, es braucht eine Inspektion, und er wird sein mit jedem Prozess versuchen und fixieren die Höhe des Schadens dies verursacht.
+
+Set state manually
+Status manuell festlegen
+
+Set the level manually
+Level manuell festlegen
+
+Several bugfixes! And a new bug replace every removed one!
+Mehrere Fehlerbehebungen! Und ein neuer Bug jeden entfernten ersetzen!
+
+Several bugfixes, and new monsters have been seen. Almost all healing items have changed.
+Mehrere Fehlerbehebungen und neue Monster gesehen wurden. Fast alle haben heilende Elemente geändert.
+
+Sharpshooter - Shoot an arrow or bullet which damages everything on its way.
+Scharfschütze - Schießen einen Pfeil oder Kugel auf dem Weg schädigt alles.
+
+She is sending players to Hurnscald instead.
+Sie wird stattdessen Spieler Hurnscald senden.
+
+She is the nurse and shipkeeper of this ship.
+Sie ist die Krankenschwester und die Schiffsverwalterin dieses Schiffes.
+
+She's on the upper level, yeye can't miss her. She's the only girl in this crew, oh well, except for you now yeyeye!#0
+Sie ist in den oberen Teilen des Schiffs. Yeye kann sie nicht verfehlen. Sie ist die einzige Frau in der Mannschaft. Naja, außer dir jetzt yeyeye!
+
+She's on the upper level, yeye can't miss her. She's the only girl in this crew.#1
+Sie ist in den oberen Teilen des Schiffs. Yeye kann sie nicht verfehlen. Immerhin ist sie die einzige Frau in der Mannschaft.
+
+Ship travels are cheaper, full equipment sets have hidden bonuses, Soul Menhirs are now auto-touched.
+Schiffsreisen sind billiger, voller Ausrüstung Sätze haben versteckte Boni, Soul Menhire sind nun automatisch berührt.
+
+Shortcuts.
+Shortcuts.
+
+Should we blame Saulc for bugs?
+Sollten wir Saulc für Fehler verantwortlich machen?
+
+Shovels and Treasure maps, for the explorers this summer, after June 21st!
+Schaufeln und Schatzkarten, für die Forscher in diesem Sommer, nach dem 21. Juni!
+
+Side Note: During r6.1 and r6.5, various improvements were done, and two new quests were seen. Priests have shown up.
+Side Hinweis: Während R6.1 und R6.5 wurden verschiedene Verbesserungen vorgenommen, und zwei neue Quests wurden gesehen. Priester angezeigt.
+
+Silver Cotton Dye
+Silberne Baumwoll Farbe
+
+Since previous release, there was also seen priests, two new quests, and a breakthrough on reset potions happened.
+Seit früheren Release gab es auch gesehen Priester, zwei neue Quests und ein Durchbruch auf Reset Tränke passiert ist.
+
+Skill Debug
+Fähigkeiten Debug
+
+Skill Debug - Modify Skill
+Fahigkeiten Debug: Fähigkeit anpassen
+
+Skull Potion
+Schädeltrank
+
+So finally someone has came to visit me?
+So, endlich ist jemand gekommen um mich zu besuchen?
+
+So, please kill 3 @@, which are usually at beaches. You can sell their stingers.
+Also, töten Sie bitte 3 @@, die in der Regel an den Stränden. Sie können ihre Stingers verkaufen.
+
+Some NPCs are [@@https://transifex.com/akaras/saulc-tmw-fork|learning new languages@@].
+Einige NPCs sind [@@ https: //transifex.com/akaras/saulc-tmw-fork | Erlernen neuer Sprachen @@].
+
+Some adventurer broke what was previously thought as maximum level, and is now level 40!
+Einige Abenteurer brach, was zuvor als Maximalwert angenommen wurde, und ist nun Stufe 40!
+
+Some adventurer broke what was previously thought as maximum level, and is now level 45!
+Einige Abenteurer brach, was zuvor als Maximalwert angenommen wurde, und ist nun Stufe 45!
+
+Some are small, others are bigger. But they all fight togheter, so be mindful when they're in groups.
+Einige sind klein, andere sind größer. Aber sie alle zusammen kämpfen, so bewusst sein, wenn sie in Gruppen sind.
+
+Some monsters gained death and/or attack sounds, and Blue Sage House front door is now open.
+Einige Monster gewonnen Tod und / oder Angriff Sounds und Blue Sage Haus Haustür ist jetzt geöffnet.
+
+Some of these even cause area damage! Rumors of time travellers were heard, but no time travel was confirmed.
+Einige dieser sogar Ursache Bereich Schaden! Gerüchte von Zeitreisenden waren zu hören, aber keine Zeitreise bestätigt wurde.
+
+Some time later...
+Etwas später...
+
+Somebody else also got huge stats bonuses because reached the unbelievable job level 25.
+Jemand anderes auch riesige Statistiken Boni bekommen, weil das unglaublichen Job Level 25 erreicht.
+
+Someone adventurer broke what was previously thought as maximum level, and is now level 31!
+Jemand Abenteurer brach, was zuvor als Maximalwert angenommen wurde, und ist nun Stufe 31!
+
+Soren, the architect responsible for it, is very happy with the new design.
+Soren, der Architekt verantwortlich für sich, ist sehr zufrieden mit dem neuen Design.
+
+Sorry another day maybe.
+Es tut uns Leid vielleicht an einem anderen Tag.
+
+Sorry! I forgot to introduce myself. My name is Arpan, but other sailors call me Magic Arpan because I know one or two yaing magic spells.
+Ah. Tut mir Leid. Ich habe vergessen mich vorzustellen. Ich heiße Arpan. Aber die meisten anderen Matrosen nennen mich Magic Arpan, da ich den einen oder anderen Zauberspruch kenne.
+
+Sorry! Not yet implemented!
+Es tut uns leid! Noch nicht implementiert!
+
+Sorry, I am not in the mood for another fight with these rattos.
+Nein, ich bin momentan nicht in der Stimmung, mit den Ratten zu kämpfen.
+
+Sorry, but I can't tell you anything about that.
+Tut mir leid, aber ich habe keinen Schimmer.
+
+Sorry, you was taking too long to decide and I've rented my sword to somebody else.
+Sorry, Sie wurde zu lange dauert, um zu entscheiden, und ich habe mein Schwert an jemand anderen vermietet.
+
+Soul Menhir#001-4
+Seelen Menhir#001-4
+
+Stat Reseters had a breakthrough which made potions cheaper, and Arkim brand new petiscide made Pinkies sick (with less HP).
+Stat Reseters hatte einen Durchbruch, die Tränke billiger gemacht und Arkim brandneue petiscide gemacht Pinkies krank (mit weniger PS).
+
+Stop right there, meliant. I can see you're AFK, it is written in your hat!
+Nach rechts stoppen, meliant. Ich kann Sie sind AFK sehen, ist es in Ihrem Hut geschrieben!
+
+Strange figures appear, claiming to be from the Land of Fire, and using interesting sticks, which spits fire.
+Seltsame Figuren erscheinen und behaupten, aus dem Land des Feuers zu sein, und mit interessanten Sticks, das Feuer spuckt.
+
+Styles.
+Styles.
+
+Successive warps cause time-space distortions and thus, are not allowed.
+Aufeinander folgende Verwerfungen zu Verzerrungen führen, Zeit-Raum und damit sind nicht erlaubt.
+
+Summon Cave Maggot - @sk-zarkor
+Summon Cave Maggot - @ sk-zarkor
+
+Summon Dragons - @sk-dragokin
+Summon Drachen - @ sk-dragokin
+
+Summon Fairies - @sk-fairykingdom
+Summon Fairies - @ sk-fairykingdom
+
+Summon Fluffies - @sk-cuteheart
+Summon Fluffies - @ sk-cuteheart
+
+Summon Maggot - @sk-kalmurk
+Summon Maggot - @ sk-kalmurk
+
+Summon Mouboo - @sk-kalboo
+Summon Mouboo - @ sk-kalboo
+
+Summon P. Spiky Mushroom - @sk-kalspike
+Summon P. Spiky Mushroom - @ sk-kalspike
+
+Summon Plants - @sk-plantkingdom
+Summon Pflanzen - @ sk-plantkingdom
+
+Summon Slimes - @sk-limerizer
+Summon Schleime - @ sk-limerizer
+
+Summon Snakes - @sk-halhiss
+Summon Schlangen - @ sk-halhiss
+
+Summon Terranites - @sk-stoneheart
+Summon Terranites - @ sk-Stoneheart
+
+Summon Wolverns - @sk-kalwulf
+Summon Wolverns - @ sk-kalwulf
+
+Summon Yetis - @sk-frozenheart
+Summon Yetis - @ sk-frozenheart
+
+Supreme Attack - Cause a very strong attack with lowered accuracy.
+Supreme Attack - dazu bringen, einen sehr starken Angriff mit gesenkten Genauigkeit.
+
+Sure! But that is Mana Magic. Just bring me a mug of beer, I'm thristy. And I'll teach you a basic skill.
+Sicher! Aber das ist Mana Magie. bringen Sie mir einen Becher Bier, ich bin thristy. Und ich werde Ihnen eine grundlegende Fähigkeit lehren.
+
+Tactical Retreat
+taktischer Rückzug
+
+Take this badge, so you can get access to the guard house. You will find more work there. Bye, and good luck!
+Nehmen Sie dieses Abzeichen, so dass Sie Zugriff auf das Wachhaus zu bekommen. Sie werden mehr Arbeit dort finden. Bye, und viel Glück!
+
+Taxes will raise in 0.01~0.03%, capped at 10%.
+Steuern werden in 0,01 ~ 0,03%, verkappt mit 10% erhöhen.
+
+Teaching Enzo your skills will make you both forget them.
+Enzo Ihre Fähigkeiten Lehre werden Sie beide sie vergessen machen.
+
+Teal Cotton Dye
+Aquamarine Baumwoll Farbe
+
+Technical problem, gimme info about an item.
+Technisches Problem, gib mir Informationen zu einem Artikel.
+
+Tell me about Esperia.
+Erzähle mir etwas über Esperia.
+
+Terranite King was seen recently. New shields and pants are available for craft.
+Terranite König wurde vor kurzem gesehen. Neue Schilder und Hosen sind für Fahrzeuge zur Verfügung.
+
+Terranite Quiver
+Terranite Köcher
+
+Testing Mob
+Testing Mob
+
+Thank you, I'll take them and put them on.
+Danke, ich werde sie nehmen und ziehe sie an.
+
+Thankfully, we'll be moving soon. This building is old and the roof is falling.
+Zum Glück werden wir bald bewegt werden. Das Gebäude ist alt und das Dach fällt.
+
+Thanks again for helping me. Drats these rattos for infesting our fair vessal!
+Danke nochmal für die Hilfe. Sollen sich diese Mistratten nur blicken lassen!
+
+Thanks for helping me!
+Vielen Danke für die Hilfe!
+
+Thanks for the help!
+Danke für die Hilfe!
+
+That and other changes, are all thinking on players helping each other.
+Das und andere Änderungen, sind alle Gedanken an die Spieler gegenseitig helfen.
+
+That's a Mana Magic. It is very different from regular magic. For example, it have an experience meter and an alias you can say.
+Das ist eine Mana Magie. Es ist sehr verschieden von regelmäßiger Magie. Zum Beispiel ist es eine Erfahrung Meter und ein Alias ​​haben Sie sagen können.
+
+That's crazy!
+Das ist verrückt!
+
+That... Didn't worked. I'm sorry.
+Das ... Hat nicht funktioniert. Es tut mir Leid.
+
+The Alliance announces a great new way to keep adventurers killing monsters.
+Die Allianz kündigt eine großartige neue Möglichkeit, Abenteurer zu halten Monster zu töten.
+
+The Alliance changed some rules for storage size, botting, and grand hunter prizes, too.
+Die Allianz verändert einige Regeln für die Speichergröße, botting und große Jäger Preise auch.
+
+The Alliance prepared an attack against the Monster King. Report at Nivalis Guard for more information.
+Die Allianz bereit, einen Angriff gegen das Monster King. Bericht bei Nivalis Schutz für weitere Informationen.
+
+The Alliance says that @@ monsters have been slain by players since 2019-05-24!
+Die Allianz sagt, dass @@ Monster von Spielern seit 2019.05.24 getötet wurden!
+
+The Grand Hunter quest is available with Aidan. It's an experiment by the High Council,
+Das Grand Hunter Quest ist mit Aidan verfügbar. Es ist ein Experiment durch den Hohen Rat,
+
+The Guard Card will prove your intentions. Talk to the Lieutenant in front of the Guard House.
+Die Garde-Karte wird Ihre Absichten unter Beweis stellen. Sprechen Sie mit dem Leutnant vor dem Wachhaus.
+
+The Magic Council finished the reform on their guest hall.
+Der Magic Rat beendete die Reform auf ihre Gasthalle.
+
+The Magic Council lift Statues in honor of some people. But its guest hall is in reform!
+Der Magic Rat hebt Statuen zu Ehren von einigen Leuten. Aber seine Gäste Halle ist in der Reform!
+
+The Monster King Fortress
+Das Monster King Fortress
+
+The Monster King got so active in the past days, he even have a mirrored version of himself roaming the lands.
+Das Monster King bekam so aktiv in den letzten Tagen, er sogar eine gespiegelte Version von sich selbst haben das Land durchstreifen.
+
+The Monster King left Hurnscald! This is our chance! Saulc GM is assembling a team to TAKE OVER HURNSCALD!!
+Der Monster King links Hurnscald! Das ist unsere Chance! Saulc GM Montage ein Team OVER Hurnscald TAKE !!
+
+The Mouboo doesn't wants to drink the Coffee. Try to force him to drink anyway?
+Die Mouboo nicht will nicht den Kaffee trinken. Versuchen Sie zu zwingen, ihn trotzdem zu trinken?
+
+The NPC responsible for buying raw gemstones from other NPCs has recovered since the last siege.
+Der NPC verantwortlich für den Kauf von rohen Edelsteine ​​von anderen NPCs hat sich seit der letzten Belagerung gewonnen.
+
+The Tulimshar Forge is also dealing with more complex materials, and not just Iron.
+Die Tulimshar Forge ist auch mit komplexeren Materialien zu tun, und nicht nur Eisen.
+
+The Tulimshar guards needs an freelance employee who would help us in our work. We are searching for people as you.
+Die Tulimshar Wachen brauchen einen freien Mitarbeiter, die uns in unserer Arbeit helfen würden. Wir suchen Menschen wie Sie.
+
+The alliance panicked, and allowed Demure, Pyndragon and Pihro on their board of members.
+Die Allianz in Panik geraten und erlaubt Demure, Pyndragon und Pihro auf ihre Vorstandsmitglieder.
+
+The alliance, in honor of previous event winners, built new statues on the Council Guest Hall.
+Die Allianz, zu Ehren der Vorveranstaltung Gewinner, baute neue Statuen auf den Rat Guest Hall.
+
+The captain has locked the door, you should go see him.
+Der Käptain hat die Tür abgeschlossen, du solltest nach ihm sehen.
+
+The captain is waiting for you! Hurry up.
+Der Käpt'n wartet auf dich! Beeil dich.
+
+The demand for strong players raised everywhere. Even death penalty decreased, and GMs are doing better events now.
+Die Nachfrage nach starken Spielern überall erhöht. Auch Todesstrafe verringert und GMs jetzt besser Ereignisse tun.
+
+The easiest way to identify is: Mana Skills never target a single foe. This grimorium reports your Mana Skills.
+Der einfachste Weg, zu identifizieren ist: Mana Fähigkeiten nie für ein einzelnes Ziel. Dieses Grimorium meldet Ihre Mana Fähigkeiten.
+
+The famous PVP Arena, Quirino Voraz, can now be used by all players.
+Die berühmte PVP Arena, Quirino Voraz kann jetzt von allen Spielern verwendet werden.
+
+The foretold Call Of Dusty event quest is also now available for PVP Parties.
+Die vorausgesagte Call Of Dusty Ereignis Quest ist nun auch für PVP Parteien zur Verfügung.
+
+The inn north of me still haven't opened, which is a shame. I guess their cassino got too expensive.
+Das Gasthaus im Norden von mir immer noch nicht geöffnet, was eine Schande ist. Ich denke, ihre cassino bekam zu teuer.
+
+The name of the book is @@.
+Das Buch trägt den Titel @@.
+
+The new inhabitants from the Land Of Fire are welcome, and some are still sheltering, like the Silversmith.
+Die neuen Einwohner aus dem Land des Feuers sind willkommen, und einige sind immer noch Zuflucht, wie der Silberschmied.
+
+The next page begins to list the complex trading laws and political rules.
+Auf der nächsten Seite beginnt das komplexe Handels Gesetze und politische Regeln aufzulisten.
+
+The old book seems to tell about the legend of Aemil. Would you like to read it?
+Das alte Buch scheint von der Legende von Aemil zu handeln. Möchtest du es lesen?
+
+The party dungeon is still under maintenance, but it shall soon be liberated. The disaster was so big, all mobs are different.
+Die Partei Kerker sind nach wie vor unter Wartung, aber es wird bald befreit werden. Die Katastrophe war so groß, sind alle Mobs anders.
+
+The snowstorm at Nivalis has ceased, but the Monster King led a massively huge army to siege Nivalis.
+Der Schneesturm bei Nivalis hat aufgehört, aber das Monster King führte eine massiv riesige Armee Belagerung Nivalis.
+
+Their main tasks are ensuring trade, protecting the cities from monster invasions, and guarding the Mana Stones.
+Ihre Hauptaufgaben sind zu gewährleisten Handel, die Städte von Monster Invasionen zu schützen und die Bewachung der Mana-Steine.
+
+Then concentrate your anger upon the trees hereabouts, you will gain experience whilst leveling your sword skill on them.
+Dann konzentrier deine Wut auf die Bäume hier, du wirst Erfahrung sammeln, während du dich im Schwertkampf übst.
+
+There are many key combinations, press F1 to see a short list of them!
+Es gibt viele Tastenkombinationen drücken F1 eine kurze Liste von ihnen zu sehen!
+
+There are rumors of a grand prize to whoever gets lucky on that machine.
+Es gibt Gerüchte über einen großen Preis wem auch immer auf dieser Maschine Glück hat.
+
+There are still some rattos left! Do you want to abort the quest?
+Es sind immer noch ein paar Ratten übrig! Willst du die Aufgabe abbrechen?
+
+There are two kind of magic: Mana Skills and Magic Skills.
+Es gibt zwei Arten von Magie: Mana Fähigkeiten und Magiefertigkeiten.
+
+There doesn't seems to be any physical wound.
+Es ist scheint keine physische Wunde zu sein.
+
+There is a paper with some rules written on it.
+Es ist ein Papier mit einigen darauf geschriebenen Vorschriften.
+
+There is now a challenge in Tulimshar PvP Duel Room. How long can you survive?
+Es gibt jetzt eine Herausforderung in Tulimshar PvP Duel Room. Wie lange kann man überleben?
+
+There was just too many changes to list all of them here. Good luck finding all of them!
+Es gab einfach zu viele Änderungen hier alle aufzuzählen. Viel Glück, alle von ihnen zu finden!
+
+There was too many things to keep track. After Hurnscald siege, with lots of earthquakes, we had an accident.
+Es gab zu viele Dinge zu Spur zu halten. Nach Hurnscald Belagerung, mit vielen Erdbeben, wir hatten einen Unfall.
+
+There were trees blocking the path to Halinarzo? Why nobody told that to Tulimshar Council?!
+Es gab Bäume den Weg zu Halinarzo blockiert? Warum niemand gesagt, dass zu Tulimshar Rat ?!
+
+There's a scheduled update for 26/12. Event subject to change without prior notice.
+Es gibt ein geplantes Update für 26/12. Veranstaltung Änderungen vorbehalten ohne vorherige Ankündigung.
+
+There's no change in the Mouboo condition.
+Es gibt keine Änderung in dem Mouboo Zustand.
+
+There's some diversity, but you should keep aiming at helping people and killing small-fry. If you ever want a challenge, there's a Giant Maggot inside the town which will one-shot you.
+Es gibt einige Vielfalt, aber man sollte bei den Menschen helfen, halten zielen und zu töten kleine braten. Wenn Sie jemals eine Herausforderung wollen, gibt es eine Riesen Maggot innerhalb der Stadt die wird one-shot Sie.
+
+Therefore, raw gemstones prices are once again on the rise.
+Daher sind die Rohsteine ​​Preise wieder auf dem Vormarsch.
+
+These boxes are way too heavy to be lifted by only one person, all the way onto the ship.
+Diese Kisten sind viel zu schwer, um von einer Person zum Schiff getragen zu werden.
+
+These can be reverted to previous behavior on User Control Panel!
+Diese können zum vorherigen Verhalten auf Benutzer Control-Panel rückgängig gemacht werden!
+
+These trees were cut and travellers can once again travel to Halin.
+Diese Bäume wurden geschnitten und Reisende können wieder Reisen nach Halin.
+
+They also determine rules, and enforces them. We live under a disguised dictatorship.
+Sie bestimmen auch Regeln, und erzwingt sie. Wir leben unter einer verkleideten Diktatur.
+
+They also recently took over some city affairs. It's good they're protecting us, but I'm afraid of they creeping in our lives!
+Sie nahmen auch vor kurzem über einige Stadt Angelegenheiten. Es ist gut, sie uns sind zu schützen, aber ich habe Angst, sie in unserem Leben kriecht!
+
+They are a permanent problem so I will always need your help to exterminate them in order to keep their number under control.
+Sie sind ein andauerndes Problem, also werde ich deine Hilfe immer wieder benötigen, um ihre Anzahl unter Kontrolle zu halten.
+
+They are known to use a revolutionary hair growth formula.
+Sie sind dafür bekannt, eine revolutionäre Haarwachstum Formel zu verwenden.
+
+They look like the same, but they're not. Mana Skills have a Magic Experience meter and have different rules.
+Sie sehen aus wie die gleichen, aber sie sind es nicht. Mana Fähigkeiten haben eine magische Erfahrung Meter und haben unterschiedliche Regeln.
+
+They're not too dangerous, but takes a lot to kill. So, if you kill 10 of them, I'll know you're dedicated in learning which monsters are out there.
+Sie sind nicht zu gefährlich, aber braucht viel zu töten. Also, wenn Sie 10 von ihnen töten, ich werde wissen, dass Sie beim Lernen gewidmet sind, die Monster gibt es aus.
+
+This caused a mana disturbance, and healing items are working better now, affecting every sector of economy.
+Diese eine mana Störung verursacht und heilen Elemente arbeiten jetzt besser, jeden Sektor der Wirtschaft zu beeinflussen.
+
+This file must be requested due not being public.
+Diese Datei muss auf Grund nicht in der Öffentlichkeit angefordert werden.
+
+This guy needs help, we need to rescue him!#1
+Dieser Typ braucht Hilfe. Wir müssen ihn retten!
+
+This is a menu, click on the option and then on send. You can use arrow keys if you prefer.
+Dies ist ein Menü, klicken Sie auf die Option und dann auf Senden. Sie können die Pfeiltasten verwenden, wenn Sie es vorziehen.
+
+This is not the first time you're arrested for AFK botting, so, NO!
+Dies ist nicht das erste Mal, wenn Sie für AFK botting verhaftet sind, so, NEIN!
+
+This menu allows you to change your skills.
+Dieses Menü erlaubt es, deine Fähigkeiten zu ändern.
+
+This menu gives access to all quest debug menus.
+Dieses Menü erlaubt den Zugang zu allen Quest Debug Menüs.
+
+This server's Sponsors bought the area above Hurnscald's Inn. Nobody else is being allowed there.
+Dieser Sponsor Server gekauft den Bereich oberhalb Hurnscald des Inn. Niemand sonst darf es wird.
+
+This somehow affected the whole economy.
+Dies irgendwie die gesamte Wirtschaft betroffen.
+
+This useful skill will only require:
+Diese nützliche Fähigkeit wird nur benötigt:
+
+This was caused because changes on the Mana Bridge. They hope that for next release, everyone will be able to use these magic words, instead of needing to talk to the Soul Menhir.
+Dies wurde wegen Änderungen an der Mana-Brücke verursacht. Sie hoffen, dass für die nächste Release, jeder in der Lage sein wird, diese magischen Worte zu verwenden, statt der Notwendigkeit zur Seele Menhir zu sprechen.
+
+This will be the last task. Besides the @@, the strongest monster on this island worth killing is the @@.
+Dies wird die letzte Aufgabe sein. Neben der @@ ist das stärkste Monster auf dieser Insel wert Tötung die @@.
+
+Three new swords are now obtainable, although Broadsword is still the best weapon around. Except on Heroes Hold.
+Drei neue Schwerter sind jetzt erhältlich, obwohl Breitschwert ist immer noch die beste Waffe um. Außer auf dem Helden Halten.
+
+To @@ @@ you'll need @@/@@ point(s).
+Um @@ @@ Sie benötigen @@ / @@ Punkt (e).
+
+To change your base level, use this command:
+Nutze diesen Befehl zur Änderung deines Basislevels:
+
+To change your job level, use this command:
+Nutze diesen Befehl zur Änderung deines Job-Levels:
+
+To change your stats, use these commands:
+Benutze diese Befehle zur Änderung deiner Statuspunkte:
+
+To counter-act this, nicholas lowered craft prices, and the folks at LoF are doing their best at refines.
+Um Gegen wirken diese, nikolaus gesenkt Handwerkspreise, und die Leute bei LoF tun ihr Bestes, um verfeinert.
+
+To get the current rate:
+Um den aktuellen Preis zu bekommen:
+
+To move between characters that are on different accounts, you have to use the Trade function.
+Um zwischen den Zeichen zu bewegen, die auf verschiedene Konten sind, haben Sie die Handelsfunktion zu verwenden.
+
+To reset back to normal:
+So setzen Sie wieder normal:
+
+To set the drop rate:
+Um die Drop-Rate festgelegt:
+
+To set the exp rate:
+Um die exp rate:
+
+Togheter, they wrote legends. They slayed Toby Rick the Desert Worm, the mightiest desert beast.
+Zusammen schrieben sie Legenden. Sie slayed Toby Felsen der Wüste Wurm, die gewaltigste Wüste Tier.
+
+Trade 2 Pearl for a Silver Gift + a Bronze Gift
+Tausche 2 Perlen gegen ein silbernes und ein bronze Geschenk
+
+TrainingGladius
+ÃœbungsKurzschwert
+
+Transmutation - @sk-trans
+Transmutation - @ sk-trans
+
+Treasure chests have been seen on dungeons, always changing places and refilling themselves.
+Schatzkisten wurden auf Dungeons gesehen, immer wechselnden Orten und selbst Nachfüllen.
+
+Trickster uses an experimental window, you might need to resize it to see all skills.
+Trickster nutzt ein experimentelles Fenster, müssen Sie möglicherweise es, um die Größe alle Fähigkeiten zu sehen.
+
+Try talking to Soul Menhir or with any NPC on Tulimshar Centre (near Soul Menhir).
+Versuchen Sie im Gespräch mit Seele Menhir oder mit einem NPC auf Tulimshar Zentrum (in der Nähe von Soul-Menhir).
+
+Tulimshar Guardhouse's door was struck, but the guards managed to get it open again.
+Tulimshar Wache Tür wurde geschlagen, aber die verwalteten Wachen, es wieder zu bekommen offen.
+
+Tulimshar Guards bought a Slot Machine to play, but that was done unofficialy.
+Tulimshar Guards kauften einen Spielautomaten zu spielen, aber das war nicht offiziell gemacht.
+
+Tulimshar Jewerly is now polishing gemstones to add on rings. New monsters were seen, stay on guard.
+Tulimshar Schmuck ist nun Edelsteine ​​Polieren an den Ringen hinzuzufügen. Neue Monster wurden auf dem Hut gesehen, Aufenthalt.
+
+Tulimshar Jewerly is once again open. Cyndala and Tamiloc rented a shop south of Tulimshar.
+Tulimshar Schmuck ist wieder offen. Cyndala und Tamiloc vermietet ein Geschäft südlich von Tulimshar.
+
+Tulimshar miners are having troubles with monsters. They are offering rewards to whoever helps them.
+Tulimshar Bergleute haben Probleme mit Monstern. Sie bieten Belohnungen wem auch immer sie hilft.
+
+Uhm... Bye?
+Uhm ... Bye?
+
+Unfortunately, Tulimshar guards are dying in the sun. Maybe you could provide them with Water?
+Leider sterben Tulimshar Wachen in der Sonne. Vielleicht könnte man sie mit Wasser zur Verfügung stellen?
+
+Use the key.
+Benutze den Schlüssel.
+
+Use the normal route?
+Verwenden Sie die normale Route?
+
+Vault
+Gewölbe
+
+WARNING: Desert Canyon locked down due major bugs
+ACHTUNG: gesperrt Wüste Canyon durch große Fehler nach unten
+
+WARNING: This path has been locked down due to major bugs
+WARNUNG: Dieser Weg wurde aufgrund von schwerwiegenden Bugs gesperrt
+
+WARNING: Use @ucp to change @@.
+WARNUNG: Verwenden Sie @ucp zu ändern @@.
+
+WARNING: You still need the @@ to learn new recipes!
+ACHTUNG: Sie müssen noch die @@, um neue Rezepte zu lernen!
+
+WHAT? How can you ever do a party without beer?!
+WAS? Wie kann man jemals eine Partei ohne Bier tun ?!
+
+Wait, it seems someone is blocking the door from the other side!
+Warte, es scheint als würde jemand die Tür auf der anderen Seite blockieren!
+
+Wait, you never came here before?
+Warte, du warst vorher noch nie hier?
+
+Wands are also being sold, and other stuff from the Land Of Fire slowly creeps in.
+Wands werden auch verkauft, und andere Sachen aus dem Land des Feuers kriecht langsam in.
+
+We apologize to all, but the Land Of Fire CRASHED here, and broke the whole balance! Part of woodlands flooded!
+Wir entschuldigen uns bei allen, aber das Land Of Fire CRASHED hier, und brach die ganze Balance! Ein Teil der Wälder überflutet!
+
+We are @@ since the last great attack from the Monster King.
+Wir sind @@ seit dem letzten großen Angriff aus dem Monster King.
+
+We are at half a day from our final destination, by the time that you wake up I'm sure that we will be there!
+Wir sind nur noch einen halben Tag von unserem Ziel entfernt. Bis du wieder aufwachst sind wir sicher schon da!
+
+We can't let you die from hunger! That wouldn't be cool at all! And I'm very cool!
+Wir können nicht zulassen, Sie Hunger sterben! Das wäre nicht cool überhaupt sein! Und ich bin sehr cool!
+
+We mean, some are giving stupid amounts of experience, and players can get more levels. Saulc cannot proccess that many changes!
+Wir meinen, einige geben dumme Mengen an Erfahrung, und die Spieler können mehr Ebenen erhalten. Saulc können nicht so viele Änderungen Proccess!
+
+We only require a small fee of 1 @@, or 40 @@
+Wir fordern nur eine kleine Gebühr von 1 @@ oder 40 @@
+
+We only require a small fee of 1 @@, or 40 @@, or 500 @@ if you are poor adventurer.
+Wir benötigen nur eine kleine Gebühr von 1 @@ oder 40 @@ oder 500 @@ wenn Sie schlechte Abenteurer sind.
+
+We thought that you could help us understand this, all we know is that we found you cast in the sea, adrift on your raft.
+Wir dachten, dass du uns vielleicht dabei helfen kannst es zu verstehen. Wir wissen nur, daß du in Seenot warst, als wir dich auf einem vorbeitreibenden Floß gefunden haben.
+
+We tried to clean them but the sea water mostly destroyed them. It's why we gave you these clothes. They're not very nice, but that's all that we have for you.#0
+Wir haben versucht, sie sauber zu bekommen, aber das Meerwasser hat sie fast völlig zerstört. Darum haben wir dir diese Klamotten gegeben. Sie sind nicht sonderlich hübsch, aber besser als gar nichts.
+
+We tried to clean them but the sea water mostly destroyed them. It's why we gave you these clothes. They're not very nice, but that's all that we have for you.#1
+Wir haben versucht, sie sauber zu bekommen, aber das Meerwasser hat sie fast völlig zerstört. Darum haben wir dir diese Klamotten gegeben. Sie sind nicht sonderlich hübsch, aber besser als gar nichts.
+
+We want to party this moment, but can you believe we ran out of beer?
+Wir wollen diesen Moment feiern, aber können Sie glauben, dass wir Bier ausging?
+
+We wish you a merry Christmas! And a happy new year!!
+Wir wünschen dir frohe Weihnachten! Und ein glückliches neues Jahr!!
+
+We're soon leaving that island, please return to your cabine.
+Wir werden die Insel bald verlassen. Bitte kehre indeine Kabine zurück.
+
+Welcome!
+Willkommen!
+
+Welcome! I see you have @@ Monster Points. But that isn't enough to get items at your current level, sorry!
+Herzlich willkommen! Ich sehe, Sie @@ Monster Punkte haben. Aber das ist nicht genug, um Gegenstände an Ihrem aktuellen Niveau zu erhalten, sorry!
+
+Welcome! I see you have @@ Monster Points. Would you like to exchange some of those for items?
+Herzlich willkommen! Ich sehe, Sie @@ Monster Punkte haben. Möchten Sie einige von denen, für die Einzelteile austauschen?
+
+Well, I could burn @@ @@ to make Raw Coal and the Blue Sage would be none the wiser.
+Nun, ich könnte brennen @@ @@ Rohkohle und die Blue Sage zu machen wäre nicht schlauer.
+
+Well, you clearly don't have a weapon. So, let me explain some quick.
+Nun, Sie haben offenbar keine Waffe. Also, lassen Sie mich ein paar schnelle erklären.
+
+Well... you did not succeed in opening this @@.
+Nun ... Sie nicht gelungen, diese @@ zu öffnen.
+
+What are the Alliance tasks?
+Was sind die Allianz Aufgaben?
+
+What are you going to do?
+Was wirst du tun?
+
+What can I do now?
+Was kann ich jetzt tun?
+
+What did Gugli say about the box? Was it ok?
+Was sagte Gugli über die Kiste? War sie ok?
+
+What did you expected, anyway?
+Was haben Sie erwartet, überhaupt?
+
+What should I do after taking these clothes?#0
+Was sollte ich tun, nachdem ich mir die Kleider genommen habe?
+
+What should I do after taking these clothes?#1
+Was sollte ich tun, nachdem ich mir die Kleider genommen habe?
+
+What's that? He seems to be AFK but is not?
+Was ist das? Er scheint AFK zu sein, ist aber nicht?
+
+What? This reward is too small!
+Was? Diese Belohnung reicht mir nicht!
+
+When your inventory is open, you can equip an item by selecting it and clicking 'Equip'. You can do the same to remove an item by clicking on 'Unequip'.
+Wenn dein Inventar offen ist, kannst du einen Gegenstand ausrüsten indem du ihn auswählst und dann auf 'Ausrüsten' klickst. Du kannst das selbe machen um einen Gegenstand zu entfernen indem du 'Ausziehen' anklickst.
+
+Where are my old clothes?
+Wo sind meine alten Sachen?
+
+Which of your weapons do you want to use in order to cut this @@?
+Welche Deiner Waffen willst Du benutzen um dies zu fällen @@?
+
+Which skill do you wish to change?
+Welche Fähigkeit möchtest du ändern?
+
+Whoa! LoF merge wasn't entirely stable! After a terrible manaquake, everything,
+Whoa! LoF merge war nicht ganz stabil! Nach einem schrecklichen manaquake, alles,
+
+Why it sucks?
+Warum saugt es?
+
+Windwalker - Increase walk speed and flee rate.
+Windwalker - Erhöhung Gehgeschwindigkeit und Geschwindigkeit fliehen.
+
+With renewed confidence about the outcome of the war, various people left their houses.
+Mit neuer Zuversicht über den Ausgang des Krieges verließen verschiedene Menschen ihre Häuser.
+
+Wizard#0
+Zauberer#0
+
+Wizard#1
+Zauberer#1
+
+Wood Manipulation - @sk-parum
+Holz Manipulation - @ sk-parum
+
+Workers have closed Nivalis to repairs, due intense damage to town infrastructure.
+Die Arbeiter haben Nivalis Reparaturen geschlossen, durch intensive Schäden an städtischer Infrastruktur.
+
+Would you like to buy some?
+Möchten Sie einige kaufen?
+
+Wyara tells she will now make Return Potions for those trusted by Hurnscald Staff!
+Wyara sagt sie wird nun Return Tränke für die von Hurnscald Mitarbeiter vertraut machen!
+
+YOU WERE BLESSED BY JESUSALVA
+SIE WURDEN Gesegnet durch JESUSALVA
+
+Yaya, you should go see her! She'll be happy to see you.#0
+Yaya, du solltest sie besuchen! Sie wird sich freuen, dich zu sehen.
+
+Yaya, you should go see her! She'll be happy to see you.#1
+Yaya, du solltest sie besuchen! Sie wird sich freuen, dich zu sehen.
+
+Yayayaya, it's the first time someone is dressed worse than us!
+Yayayaya, es ist das erste Mal, dass jemand schlechter gekleidet ist als wir!
+
+Yeah sure let's Trade.
+Ja sicher let Trade.
+
+Yellow Cotton Dye
+Gelbe Baumwoll Farbe
+
+Yes I am.
+Ja, bin ich.
+
+Yes, I do.
+Ja, habe ich.
+
+Yeye, you are really lucky to be alive. You are in good enough shape for walking, do you remember what happened?#0
+Yeye, du hast Wahnsinnsglück, am Leben zu sein. Ich denke, du kannst sogar schon aufstehen. Erinnerst du dich, was passiert ist?
+
+Yeye, you are really lucky to be alive. You are in good enough shape for walking, do you remember what happened?#1
+Yeye, du hast Wahnsinnsglück, am Leben zu sein. Ich denke, du kannst sogar schon aufstehen. Erinnerst du dich, was passiert ist?
+
+Yeye, you still did not get your new clothes from the chest next to your bed!#0
+Yeye, du hast die Sachen aus der Kiste neben dem Bett immer noch nicht angezogen!
+
+Yeye, you still did not get your new clothes from the chest next to your bed!#1
+Yeye, du hast die Sachen aus der Kiste neben dem Bett immer noch nicht angezogen!
+
+Yeye.
+Yeye.
+
+You already did enough for us, do you want to follow Nard's advice and get some rest?
+Du hast bereits genug für uns getan. Möchtest du Nard's Ratschlag folgen und dich ausruhen?
+
+You are exhausted, you should rest a bit.#0
+Du bist erledigt, ruh dich erstmal ein bisschen aus.
+
+You are exhausted, you should rest a bit.#1
+Du bist erledigt, ruh dich erstmal ein bisschen aus.
+
+You are killing @@ at northwest from the island.
+Sie töten @@ im Nordwesten der Insel.
+
+You are killing @@ at the beach.
+Sie töten am Strand @@.
+
+You are killing @@ at the storehouse.
+Sie töten im Lagerhaus @@.
+
+You are killing @@. They are usually at the crops.
+Sie töten @@. Sie sind in der Regel an den Kulturpflanzen.
+
+You are killing @@/45 @@ at the cave.
+Sie töten @@ / 45 @@ in der Höhle.
+
+You are new around here, right?#0
+Du bist neu in der Gegend, nicht wahr?
+
+You are new around here, right?#1
+Du bist neu in der Gegend, nicht wahr?
+
+You are not using a weapon for a merciful (?) last blow.
+Sie sind nicht eine Waffe für einen barmherzigen (?) Letzten Schlag mit.
+
+You can also read The Book of Laws at any time to see the rules.
+Um die Regeln zu sehen, kannst du jederzeit im Grundgesetz nachschlagen.
+
+You can fill this box with the following:
+Sie können dieses Feld mit dem folgenden füllen:
+
+You can gain rares, even. Come register for this special program. It's free!
+Sie können rare gewinnen, auch. Kommen Register für dieses spezielle Programm. Es ist kostenlos!
+
+You can get close by feet, and there was an area so empty that you won't even notice the distance walked.
+Sie können in der Nähe von Füße zu bekommen, und es war ein Bereich, so leer, dass Sie der Gehstrecke nicht einmal bemerken.
+
+You can get up to @@ items.
+Sie können bis zu @@ Einzelteile erhalten.
+
+You can use @@, Audsbel left the Magic School, and Marius is singing again.
+Sie verwenden können, @@, links Audsbel die Magic School, und Marius wieder singt.
+
+You can, and @@, register on both programs, but only one is required for this quest.
+Sie können, und @@, registrieren Sie auf beiden Programme, aber nur eine ist für diese Quest benötigt.
+
+You cannot bring anything to the arena. Please put everything on the storage.
+Sie können nicht alles in die Arena bringen. Bitte setzen alles auf die Lagerung.
+
+You caught a @@!
+Du hast ein @@ gefangen!
+
+You completed your trainment, so you're getting 50 bonus experience points. If you level up, use your stat points wisely!
+Sie fertig Ihre trainment, so dass Sie 50 Bonuserfahrungspunkte zu bekommen. Wenn Sie Ebene, nutzen Sie Ihre stat Punkte mit Bedacht!
+
+You currently have @@/@@ subclass(es).
+Sie haben zur Zeit @@ / @@ Unterklasse (n).
+
+You do not have enough Esperin on your bank account.
+Du hast nicht genügend Esperin auf dem Konto.
+
+You do not have enough Esperin on yourself.
+Du hast nicht genügend Esperin dabei.
+
+You do not seem to have enough money, come back later!
+Du hast offensichtlich nicht genug Geld. Komm später wieder!
+
+You got @@ Event Points for leaderboard position.
+Sie haben @@ Ereignis Punkte für Rangliste Position.
+
+You have an awful case of amnesia.
+Du hast eine schreckliche Form von Amnesie.
+
+You have collected and additional of @@/@@ Mob Points.
+Sie haben gesammelt und zusätzlich von @@ / @@ Mob Punkte.
+
+You have too much points. I can't allow you to take all at once right now. I'll try to give you 50, and you come back later!
+Sie haben zu viele Punkte. Ich kann nicht zulassen, dass alles in Ordnung jetzt auf einmal zu nehmen. Ich werde versuchen, Ihnen 50 zu geben, und Sie kommen später zurück!
+
+You hear a loud scream. It must be the creaking of the wooden door...
+Du hörst einen lauten Schrei. Das muß das Quietschen dieser Holztür sein... oder?
+
+You hide your shovel.
+Du versteckst deine Schaufel.
+
+You hit too hard with your fist, you destroyed your @@.
+Du hast zu fest mit der bloßejn Faust zugeschlagen. Du hast deine hässliche @@ zerstört.
+
+You hold the shovel in your hands.
+Du hältst die Schaufel in der Hand.
+
+You learn fast, good job. These clothes aren't a mighty armor, but they'll help.
+Sie lernen schnell, gute Arbeit geleistet. Diese Kleider sind nicht eine mächtige Rüstung, aber sie helfen.
+
+You made a cash deposit of @@ E.
+Du hast eine Bareinzahlung von @@ E getätigt.
+
+You may be trapped forever inside the desert maze beyond help
+Sie können für immer in der Wüste Labyrinth nicht mehr zu helfen gefangen werden
+
+You might have been affected. Please, select your desired language.
+Sie könnten bereits betroffen. Bitte wählen Sie die gewünschte Sprache.
+
+You need 1x @@ to cast this skill.
+Sie müssen @@ 1x diese Fähigkeit zu werfen.
+
+You open a book named @@.
+Du öffnest ein Buch mit dem Titel @@.
+
+You open the book, but it looks like the sea water and time damaged it severely. Some pages are not readable anymore. Some others are simply missing.
+Du öffnest das Buch, aber es sieht durch das Meerwasser sehr mitgenommen aus. Einige Seiten sind überhaupt nicht mehr lesbar. Andere fehlen komplett.
+
+You open your eyes. The salt water is not helping your vision.
+Sie öffnen Ihre Augen. Das Salzwasser ist nicht zu helfen Ihre Vision.
+
+You opened the @@ in two parts, but you crushed one of them.
+Du hast die @@ in zwei Hälften geteilt, aber eine davon ist kaputtgegangen.
+
+You perfectly cut your @@ into two edible parts.
+Du hast dein(e) @@ perfekt in zwei essbare Hälften geteilt.
+
+You receive @@ E!
+Du erhälst @@ E!
+
+You received one @@!
+Sie haben eine @@!
+
+You see a dust covered book on the shelf...
+Du siehst ein verstaubtes Buch hinten im Regal...
+
+You still have @@ Monster Points! Do you want more items?
+Sie haben noch @@ Monster Punkte! Haben Sie mehr Einzelteile wünschen?
+
+You throw a coin on the well.
+Sie werfen eine Münze auf den Brunnen.
+
+You'll also need to pay a fee of @@x @@
+Sie finden auch eine Gebühr in Höhe von @@ x @@ zahlen müssen
+
+Your @@ Knockback effect expired.
+Ihre @@ Wegstoßung Effekt abgelaufen.
+
+Your experience level has been updated.
+Ihre Erfahrung wurde aktualisiert.
+
+Your hands are too weak, you did not succeed in opening this @@.
+Du bist zu schwach und konntest dieses @@ nicht öffnen.
+
+Your help is very welcome indeed. Unfortunately, I can give you a reward for the first extermination only.
+Deine Hilfe hier ist allerdings sehr willkommen. Leider kann ich dich nur für die erste Rattenvernichtung belohnen.
+
+Your lack of magical power is critical. I dare say, you might never in your life get access to a Mana Stone.
+Ihr Mangel an magischer Kraft ist von entscheidenden Bedeutung. Ich wage zu sagen, könnten Sie nie in Ihrem Leben Zugang zu einem Manastein bekommen.
+
+Your mind is set? You will loose the color dye during this process.
+Bist du sicher? Du wirst dabei deinen Farbstoff verlieren.
+
+Your mind is set? You will probably lose the color dye during this process.
+Ihr Geist wird? Sie werden wahrscheinlich die Farbe Farbstoff während dieses Prozesses verlieren.
+
+Your position has been saved.
+Ihre Position wird gespeichert.
+
+Zegas, Saxso's widow, the mayor of Candor, decreed to allow strong adventurers to get past the Candor Cave Magic Barrier.
+Zegas, Saxso Witwe, der Bürgermeister von Candor verfügte starke Abenteurer zu ermöglichen, vorbei an der Candor Cave magische Barriere zu erhalten.
+
+Zitoni announces he can now craft really good potions to improve attack speed and damage!
+Zitoni kündigt er jetzt wirklich gute Tränke Handwerk Angriffsgeschwindigkeit und Schaden zu verbessern!
+
+and may change later without notice.
+und kann später ohne vorherige Ankündigung geändert werden.
+
+assigning 5 points to str, agi, dex and luck
+Zuweisen von 5 Punkten auf str, agi, dex und Glück
+
+cold, hard, iron cell
+kalt, hart, Eisen Zelle
+
+debug
+Debug
+
+delta
+delta
+
+hairstyle_config
+hairstyle_config
+
+including the 178 monsters and who knows how many equipment, had numeric changes.
+einschließlich der 178 Monster und wer weiß, wie viele Geräte, numerische Veränderungen hatten.
+
+is your target. They spawn smaller versions of itself! Kill @@ of them and make the beach safe for tourists.
+ist Ihr Ziel. Sie laichen kleinere Versionen von sich selbst! Töten @@ von ihnen und den Strand sicher für Touristen machen.
+
+line @@: @@
+Zeile @@: @@
+
+marriage1
+Hochzeit1
+
+npc2
+npc2
+
+npc6
+npc6
+
+shall you decide to disregard this warning.
+müssen Sie sich entscheiden, diese Warnung zu ignorieren.
+
+the server jailed you
+der Server, den Sie ins Gefängnis
+
+you got lucky and got a(n) @@!
+Du hattest Glück und bekamst eine(n) @@!
+
diff --git a/langs/lang_de.txt b/langs/lang_de.txt
new file mode 100644
index 0000000..a987acf
--- /dev/null
+++ b/langs/lang_de.txt
@@ -0,0 +1,37909 @@
+Copyright (C) 2010-2021 TMW2 Team
+ 0 This file is automatically generated. Editing it will have no effect.
+
+
+ 1 Please translate at https://transifex.com/arctic-games/moubootaur-legends/ instead.
+
+
+ Fires of Steam
+
+
+ A fair all-rounder weapon; Stronger than you would expect and not so clumsy.
+ Eine ordentliche Allzweckwaffe. Stärker als gedacht und nicht besonders klobig.
+
+ Actually, Lalica cursed one of my firestaves and it got a mind of its own D:
+ Tatsächlich hat Lalica einen meiner Feuerstäbe verflucht, und er hat ein eigenes Bewusstsein entwickelt.
+
+ But its splash damage does not stack, so be careful when adding options.
+
+
+ But the result is a fast weapon which is also powerful.
+ Aber das Ergebnis ist eine schnelle Waffe, die auch noch mächtig ist.
+
+ I cut it in half, and to fix shooting speed, I added some extra cogs.
+Ich habe es in 2 Hälften geschnitten, und um die Schussgeschwindigkeit zu verbessern habe ich ein paar Zahnräder hinzugefügt.
+
+ It can steal items or collect drops on the floor randomly. Also improves your evasion.
+ Es kann Gegenstände stehlen oder die Verluste auf dem Fußboden zufällig einsammeln. Ausserdem verbessert es Dein Ausweichen.
+
+ It didn't got too much lighter, and it got really weak compared to a bow.
+Es wurde nicht viel leichter, und es wurde wirklich schwach im Vergleich zu einem Bogen.
+
+ It is also much weaker and less precise than a bow. But it is so fun using...
+Es ist auch viel schwächer und weniger präzise als ein Bogen Aber es mach so viel Spass es zu...
+
+ It is not that amazing, though. I will trade with you for more useful items.
+ Es ist jetzt nicht soo toll. Ich werde mit Dir handeln für bessere Gegenstände.
+
+ It is the same as a bow, including in penalty. But it deals splash damage!
+Es ist das gleiche wie ein Bogen, auch im Schaden. Aber teilt Flächenschaden aus!
+
+ It was quite a challenge, and I still need Lalica to keep curse them.
+ Es war eine rechte Herausforderung, und ich brauche immer noch Lalica, um sie zu verfluchen.
+
+ Oh, and it comes with added shooting range, but it is slow as hell to reload.
+Oh, und es bekommt eine größere Schussreichweite, aber die Nachladegeschwindigkeit ist seeehr langsam.
+
+ One have lots of powder to attack non-stop, but oh god that is heavy.
+Man habe viel Pulver non-stop zu attackieren, aber oh Gott, das ist schwer.
+
+ See, I was lazy and there were only short knives around... So I made a Kunai.
+ Nun ja, es ist so, dass ich etwas faul bin. Und es lagen nur kurze Messer herum. Also habe ich ein Kunai gemacht.
+
+ The standard gunstaff! It is way stronger than a bow!
+Das Standard-gewehr! Viel stärker als ein Bogen!
+
+ Then I found out that I could set the staff in flames using Everburn Powder!
+ Und dann habe ich herausgefunden, dass ich den Stab entflammen lassen kann. Mit Everburn Pulver!
+
+ You know, I wanted to make the powder explode when hitting!
+Weißt du, ich möchte dass das Pulver explodiert wenn es auftrifft!
+
+ (Hinnak's and Oscar's fields Pinkies may not count)
+(Die Pinkies in Hinnak's und Oscar's Feldern zählen vielleicht nicht)
+
+ -- No, wait!
+ -- Nein, warte!
+
+ . ´´. Don't let .. spell power .´..´ . .. fade away ...
+
+
+ Coins - Ancient Blueprint
+ Münzen - Antike Blaupause
+
+ Coins - Arcmage Boxset
+ Münzen - Erzmagier Behälter
+
+ Coins - Mercenary Boxset
+ Münzen - Söldner Behälter
+
+ Coins - Mysterious Fruit
+ Münzen - Mysthische Frucht
+
+ It is not like you are strong enough to pick a fight with me so kindly leave before I get mad.
+ Es ist ja nicht so, dass Du stark genug wärst für einen Kampf mit mir. Also mach Dich freundlicherweise fort, bevor ich mich vergesse.
+
+ Take this key, it opens the door behind my throne.
+ Nimm diesen Schlüssel. Er öffnet die Tür hinter meinem Thron.
+
+ What would people think of our village if they come accross a defeated noob wearing our proud colors!
+ Was sollen bloß die Leute denken, die unser Dorf besuchen, und einen besiegten Noob finden, der unsere stolzen Farben trägt!
+
+ for
+für
+
+ is the Inn, and you can rent an apartment there for 30 days.
+ist das Gasthaus, und Du kannst dort eine Wohnung für 30 Tage mieten.
+
+"*psst, just follow what is outlined here to make it golden.*"
+
+
+".. can use this .. power..´. . .´. . . amplify a spell ..´.
+
+
+"Ah, hello there, @@. You've grown quite skilled lately.
+
+
+"Follow the light." - Weary traveler
+
+
+"Hey, have you already got the money necessary for the travel?
+
+
+"Many thanks! I'll be waiting for you, hiding on the ship's hold!"
+
+
+"Oh, I'm so glad you're taking care of those scary slimes. You're so brave! How many of them are still left, do you think? Will it be safe to go there soon?
+
+
+"Oh... Sorry, @@.
+
+
+"That's the only hard part. As long that you do not neglect Intelligence nor Job level...
+
+
+"Those whom believe the Pink Moouboo wear rock knifes at the entrances." - Aahna
+
+
+"Those whom stray from the light shall met a quick death." - Saulc, from the 'Blame Saulc' famous book
+
+
+"WHAT IS CRAFTED IN GUILD BELONGS TO GUILD."
+
+
+"Well, looks like you qualify!
+
+
+"When you're thirsty, you may look for me. I'm often in desert areas, but this time, the winter has come."
+
+
+"When you're thristy, you may look for me. I'm often in desert areas, but this time, the winter has come."
+
+
+##1DON'T MOVE until the signal. Stay ready! If you move, you will desync the client!
+##1NICHT BEWEGEN bis Du das Signal erhältst. Sei bereit! Wenn Du Dich bewegst, desynchronisierst Du den Client!
+
+##1The ship is under a pirate's attack! ##BKill all or survive!
+##1Das Schiff wird von Piraten angegriffen! ##BTöte alle oder überlebe!
+
+##1WARNING! WARNING! Siege starting at Candor!!
+##1WARNUNG! WARNUNG! Belagerung von Candor beginnt!!
+
+##1You abused a bug and will be jailed. If this was done in error, you have found a bug. Contact the nearest developer if this is the case.
+
+
+##2 %d Days login bonus: ##B2x %s, 1x %s##b
+
+
+##2 14 Days login bonus: ##B1x %s##b
+
+
+##2 21 Days login bonus: ##B1x %s##b
+
+
+##2 27 Days login bonus: ##B1x %s##b
+
+
+##2 3 Days login bonus: ##B1x %s##b
+
+
+##2 7 Days login bonus: ##B3x %s##b
+
+
+##2Daily login bonus: ##B%d EXP##b
+
+
+##2Daily login bonus: ##B%d GP##b
+
+
+##2Daily login bonus: ##B%d Job Exp.##b
+
+
+##2Guild's Weekly login bonus: ##B%d %s##b
+
+
+##9 %%A%%A%%A: @@.
+##9 %%A%%A%%A: @@.
+
+##9 %%B%%B%%B: @@.
+##9 %%B%%B%%B: @@.
+
+##9 %%C%%C%%C: @@.
+##9 %%C%%C%%C: @@.
+
+##9 %%D%%D%%D: @@.
+##9 %%D%%D%%D: @@.
+
+##9 %%E%%E%%E: @@.
+##9 %%E%%E%%E: @@.
+
+##9 %%F%%F%%F: @@.
+##9 %%F%%F%%F: @@.
+
+##9 777: @@.
+##9 777: @@.
+
+##9.:: Second Tier Quest - Time Remaining: @@ ::.
+##9.:: Quest Stufe 2 - Ãœbrige Zeit: @@ ::.
+
+##9Hey wait... Your coin turned into a @@!
+##0Hey schau... Deine Münze hat sich in ein @@ verwandelt!
+
+##B%s: TOP 10##b
+
+
+##BFirst and foremost, you should talk to Trainer, inside the big house.##b
+##BAls erstes und vor allem andern solltest du mit dem Trainer reden. Er ist in dem großen Haus.##b
+
+##BHall Of @@: TOP15##b
+##BHalle des @@: TOP15##b
+
+##BHall Of AFK: TOP 10##b
+##BAFK-Halle: TOP 10##b
+
+##BHall Of Academics: TOP30##b
+##BUniversitätshalle: TOP30##b
+
+##BHall Of Aurora: TOP10##b
+##BAurora-Halle: TOP10##b
+
+##BHall Of Candor's Bloodbath: TOP 10##b
+
+
+##BHall Of Crazyfefe Fight: TOP 10##b
+##BHalle des Crazyfefe Kampfes: TOP 10##b
+
+##BHall Of Deaths: Reverse TOP10##b
+##BTodeshalle: Umgekehrte TOP10##b
+
+##BHall Of Fortune: TOP15##b
+##BGlückshalle: TOP15##b
+
+##BHall Of Guild Level: TOP5##b
+##BHalle des Gilden Levels: TOP5##b
+
+##BHall Of Honor: TOP 10##b
+##BEhrenhalle: TOP 10##b
+
+##BHall Of Job Level: TOP15##b
+##BHalle des Job Levels: TOP15##b
+
+##BHall Of Level: TOP15##b
+##BHalle des Levels: TOP15##b
+
+##BHall Of UDT Challenge: TOP 10##b
+##BHalle der UDT Herausforderung: TOP10##b
+
+##BIMPORTANT:##b People usually doesn't shout, they talk. Because this, if you are too far, an NPC won't hear you.
+##BIMPORTANT:##b Menschen reden normalerweise miteinander, statt sich anzuschreien. wenn du zu weit weg bist, kann der NPC dich nicht hören.
+
+##BLatest GM Commands##b
+##BLetze GM Befehle##b
+
+##BNOW YOU HAVE DONE IT!##b By the powers to me vested as a Constable and Game Master, I sentence you to HALF AN HOUR IN A %s!
+
+
+##BSincerity Island##b
+##BAufrichtigkeitsinsel##b
+
+##BYou were robbed##b by an evil NPC.
+##BDu wurdest augeraubt##b von einem bösen NPC.
+
+##a(it would be way too messy anyway)##0
+##a(es wäre sowieso viel zu chaotisch)##0
+
+%%1 Cheer up, these should go back to normal when you level up. Just don't do that again!
+%%1 Entspann Dich, das sollte auf Normal zurückgehen, wenn Du das nächste level erreichst. Tu es einfach nicht wieder!
+
+%%3 You sadden me. That was so, so lame. I will need to punish you. Sorry. Superior orders. %%S
+%%3 Du machst micht traurig. Das war dermaßen lahm. Ich werde Dich bestrafen müssen. Sorry, Befehl von oben. %%S
+
+%%4 Haven't you read your Grimorium yet?!
+%%4 Hast Du Dein Grimorium noch nicht gelesen?!
+
+%%8
+%%8
+
+%%@
+%%@
+
+%%@ Then wait until Saulc says they are safe!
+%%@ Dann warte, bis Saulc sagt, es ist sicher!
+
+%%@ You can get Magic by joining class and subclass, and with some NPCs. These work out-of-box. Easy.
+%%@ Du kannst Magie bekommen, indem Du an unsere Klassen und Unterklassen teilnimmst, und durch ein paar NPCs. Ganz einfach.
+
+%%A
+%%A
+
+%%B
+%%B
+
+%%C
+%%C
+
+%%D
+%%D
+
+%%E
+%%E
+
+%%F
+%%F
+
+%%G
+%%G
+
+%%G Just like normal magic, you need power from the Mana Stone, which is based on your levels, intelligence, and mana.
+%%G Wie normale Magie. Du brauchst Kraft vom Mana-Stein. Diese hängt ab von Deinem Level, Intelligenz und Mana.
+
+%%H
+%%H
+
+%%K
+%%K
+
+%%N
+%%N
+
+%%Q
+%%Q
+
+%%\\ that'll do.
+
+
+%%g
+%%g
+
+%%i What, my maximum life and mana just decreased! Noooo!!
+%%i Wie bitte? Meine maximalen Lebenspunkte und Mana sind gerade reduziert worden? Neeeiiin!
+
+%%t
+%%t
+
+%d day streak! Gained %d bonus %s!
+%d Tagesanbruch! %d Bonus erhalten %s!
+
+%d vs %d: Honor (%d)
+%d vs %d: Ehre (%d)
+
+%d/%d %s
+
+
+%d/%d %s killed
+
+
+%s
+
+
+%s %d pts - %d %s
+
+
+%s %s will require:
+%s %s benötigt:
+
+%s (rare)
+%s (selten)
+
+%s - %s/%s HP, %s/%s MP
+
+
+%s - Modify Race
+%s - Rasse ändern
+
+%s But please be quick! I feel this world doesn't have much time left!
+%s Aber mach bitte schnell! Ich glaube diese Welt hat nicht mehr viel Zeit!
+
+%s GP and %d REP.
+%s GP und %d REP.
+
+%s Hero
+
+
+%s Monster Points, and a %s. That's my final offer.
+
+
+%s can also be obtained from %s, at a lower drop rate.
+%s kann auch von %s mit einer niedrigeren Drop-Rate erhalten werden.
+
+%s died for your cause. How do you explain this?
+%s ist für Dich gestorben. Wie erklärst Du das?
+
+%s disembarks at %s.
+%s geht in %s von Bord.
+
+%s eyebrow furrows, as he brings the map closer to a torch.
+
+
+%s has EXILED %s from %s.
+%s hat %s EXILIERT von %s.
+
+%s has protected themselves from prying eyes. Your scry attempt failed.
+
+
+%s is a legendary hero.
+
+
+%s is by becoming a %s.
+%s wird ein %s.
+
+%s is by impressing the town guard.
+%s beeindrucht gerade die Stadtwache.
+
+%s is currently a staff member.
+
+
+%s is currently sponsoring the High Alliance.
+
+
+%s is happy because you've paid %d GP in taxes!
+%s ist glücklich, weil du %d GP Steuern gezahlt hast!
+
+%s is known as the Wizard of Aethyr. They say the elves which lived in Aethyr have became fairies, but contact has been lost long ago... I've heard it was a very pretty town north of here, though.
+
+
+%s is obtained during events, daily logins, heroic deeds, gifts, etc. But cannot be bought with real money.
+%s kann während Events, täglichen logins, heroischen Taten, oder als Geschenk erhalten werden, kann aber nicht mit echtem Geld gekauft werden.
+
+%s lifts an eyebrow to you.
+
+
+%s makes a confused face.
+
+
+%s makes specialized weapons for high level players. If you tweak with Nicholas, in Hurnscald, the weapon options, you can get really powerful.
+%s fertigt Spezialwaffen für hochstufige Spieler. Wenn Du Nicholas in Hurnscald diese optimieren lässt, kannst Du sehr mächtig werden.
+
+%s refunded to level 1 for %d MSP
+
+
+%s removed - YOU NOOB STOP CHEATING %%e%%Q
+%s entfernt - HÖR AUF ZU SCHUMMELN DU ANFÄNGER %%e%%Q
+
+%s seems to be asleep... Maybe we can wake him up somehow?
+
+
+%s slain!
+
+
+%s slaps you!
+
+
+%s stabs you to the chest!
+
+
+%s stabs you with a dagger!
+
+
+%s takes a paper from his drawer. It has your photo on it.
+%s nimmt ein Papier von seinem Schreibtisch. Darauf ist ein Photo von Dir.
+
+%s thinks if she knows any major, good quest to do.
+
+
+%s! I see you are a(n) %s here, very good!
+
+
+%s, %s in Magic Arts, Parity Level %d, tier %d mage.
+
+
+%s, a bit upset, tries to change subjects.
+%s, etwas verärgert, versucht, das Thema zu wechseln.
+
+%s, how in the world you got this status ailment?!
+
+
+%s, the Forgetful
+%s, der Vergessliche
+
+%s, you are pathetically weak.
+%s, Du bist lächerlich schwach.
+
+%s, you did your best to avenge a fallen comrade. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+%s, Du hast Dein Bestes gegeben, Deine gefallenen Kameraden zu rächen. Es ist daher mein Wunsch, dass Du weiterhin diese Welt beschützt. Also überreiche ich Dir das legendäre %s. Nutze seine Macht, um Deine Freunde und den Weltfrieden zu beschützen!
+
+%s, you did your best to entertain me. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+
+%s, you did your best to protect this world inhabitants. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+%s, Du hast Dein Bestes gegeben, die Bewohner dieser Welt zu beschützen. Es ist daher mein Wunsch, dass Du weiterhin diese Welt beschützt. Also überreiche ich Dir das legendäre %s. Nutze seine Macht, um Deine Freunde und den Weltfrieden zu beschützen!
+
+%s, you proved your worth today. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+%s, Du hast heute bewiesen, Dass Du es wert bist. Es ist daher mein Wunsch, dass Du weiterhin diese Welt beschützt. Also überreiche ich Dir das legendäre %s. Nutze seine Macht, um Deine Freunde und den Weltfrieden zu beschützen!
+
+%s, you're a good student. You will have a bright future if you keep studying.
+
+
+%s, your dedication is touching. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+%s, Deine Hingabe ist rührend. Es ist daher mein Wunsch, dass Du weiterhin diese Welt beschützt. Also überreiche ich Dir das legendäre %s. Nutze seine Macht, um Deine Freunde und den Weltfrieden zu beschützen!
+
+%s... While you don't have the title of %s nor the flower of fae, nor have anything remotely important on your persona...
+
+
+%s/%s GP
+
+
+%s: %s (Lv %d) has appeared!
+%s: %s (Lv %d) ist erschienen!
+
+%s: Once accepted, you must complete them before taking another one.
+%s: Einmal angenommen, musst Du es beenden, bevor Du etwas Anderes anfängst.
+
+%s: Thanks for helping.
+%s: Danke für die Hilfe.
+
+%s? You don't look so well. You should see a doctor immediately!
+
+
+%ss are lead by the %ss. Disposing of them would bring the bandits into disarray.
+
+
+%ss have infested the store houses, spilling onto the streets. Stop them from destroying even more food.
+
+
+'-' "Could you give me his shield? Pretty please? I need it to survive and bring Tulimshar goodies!"
+
+
+'.' "I forgot how to allocate points!"
+
+
+'Best'? So you can make other things?
+'Beste'? also können Sie auch andere Dinge machen?
+
+'Some herbs and potion'? Could you be more specific?
+‚Einige Kräuter und Trank‘? Könnten Sie das konkretisieren?
+
+'Them' whom?
+‚Sie‘ wen?
+
+(...This probably could have been a great hint... if I knew who Mercury in first place %%L)
+
+
+(10,000 GP) Epic Mount
+
+
+(A mystical aura surrounds this stone. It probably can return you home. What do you do?)
+(Eine mystische Aura umgibt diesen Stein. Er kann dich möglicherweise immer hierher zurückrufen. Was möchstest Du tun?)
+
+(A mystical aura surrounds this stone. You feel mysteriously attracted to it. Something tells you to touch it. What do you do?)
+(Eine mystische Aura umgibt diesen Stein. Du fühlst dich zu ihm hingezogen. Etwas rät dir, ihn zu berühren. Was möchstest Du tun?)
+
+(A strange barrier keeps you from touching the stone at this time.)
+(Eine seltsame Barriere hindert dich momentan daran, den Stein zu berühren.)
+
+(A strange sensation flows through you. It feels like your soul leaves your body and becomes one with the stone. As suddenly as the feeling started it stops.)
+(Ein seltsames Gefühl beschleicht dich. Es scheint, dass deine Seele deinen Körper verlässt und sich mit dem Stein verbindet. So schnell das Gefühl dich überkam, so schnell verschwindet es auch wieder.)
+
+(All items must be placed exactly in this order.)
+(Alle Gegenstände müssen genau in dieser Reihenfolge platziert werden.)
+
+(As suddenly as the feeling started it stops. The strange attraction is away from one moment to the next and the menhir feels like just an ordinary stone.)
+(So ​​plötzlich wie das Gefühl begann endet es. Die seltsame Anziehungskraft ist weg von einem Moment auf den nächsten und den Menhir fühlt sich an wie ein gewöhnlicher Stein.)
+
+(Click next button to advance dialogs)
+(Klicken Sie auf Weiter für den nächsten Dialog)
+
+(Don't respond)
+(antworte nicht)
+
+(Drink the tea, hoping for the best)
+(Trinke den Tee und hoffe das Beste)
+
+(Even bandits doesn't breaks the rules. To see the rules, use ##B@rules##b.)
+(Nicht mal Banditen brechen diese Regeln. Um die Regeln nachzulesen, benutze ##B@rules##b.)
+
+(If you don't have anyone special to send these, send to @@. Perhaps they'll calm down with those T.T)
+(Wenn Du keinen speziellen Empfänger hierfür hast, sende es an @@. Vielleicht beruhigen sie sich mit dieser T.T)
+
+(Leave the password blank to disable)
+(Lassen Sie das Kennwort leer zum deaktivieren)
+
+(Note: Agostine will destroy low quality materials!)
+(Hinweis: Agostine wird Material geringerer Qualität zerstören!)
+
+(Passive) Increases Mana EXP/Control Gain rate.
+
+
+(Passive) Raise Max HP and Holy Defense.
+(Passiv) Erhöht Max HP und heilige Verteidigung.
+
+(Protip: Always use %s before engaging a different monster!)
+(Protip: Vor dem Angriff auf ein anderes Monster immer %s benutzen!)
+
+(Suddenly a strange sensation flows through you. It feels like your soul leaves your body and becomes one with the stone.)
+(Plötzlich durchströmt dich ein seltsames Gefühl. Es fühlt sich an als ob die Seele den Körper verlässt und eins wird mit dem Stein.)
+
+(The girl now looks away sadly, thinking about what to say next.)
+(Das Mädchen schaut jetzt traurig weg und denkt darüber nach, was sie als nächstes sagt.)
+
+(To see the rules, use ##B@rules##b.)
+(Um die Regeln zu sehen, benutze ##B@rules##b.)
+
+(You touch the mysterious stone. Somehow it feels warm and cold at the same time.)
+(Du berührst den geheimnisvollen Stein. Irgendwie fühlt es sich warm und kalt zugleich an.)
+
+(shivering) "Ah, how I am afraid of pious!"
+
+
+* %d %s
+* %d %s
+
+* %d/%d %s
+
+
+* %d/%d MSP (Magic Skill Points)
+* %d/%d MSP (Zauberfertigkeitspunkte)
+
+* %s
+
+
+* %s Level up
+
+
+* %s/%s RP (Research Points)
+
+
+* (optional) Save the world!
+* (Optional) Rette die Welt!
+
+* +%d%% EXP Gain and Drop Chance, permanently
+* +%d%% EXP Gewinn und Drop Chance, permanent
+
+* +1 Magic Skill Point
+* +1 Zauberfertigkeitspunkt
+
+* +1 in all attributes, permanently
+* +1 für alle Attribute, permanent
+
+* +3 Inventory Slots
+* +3 Inventar Slots
+
+* 1 %s
+* 1 %s
+
+* 1 Trait
+
+
+* @@ @@
+* @@ @@
+
+* @@ Water Bottle
+* @@ Wasserflasche
+
+* @@/12 @@
+* @@/12 @@
+
+* @@/2 @@
+* @@/2 @@
+
+* @@/200 GP
+* @@ / 200 GP
+
+* @@/30 @@
+* @@/30 @@
+
+* @@/6 @@
+* @@/6 @@
+
+* @@/7.500 GP
+* @@/7.500 GP
+
+* @@/8 @@
+* @@/8 @@
+
+* @@/@@ @@
+* @@ / @@ @@
+
+* @@/@@ Base Level
+* @@/@@ Basis Level
+
+* @@/@@ GP
+* @@ / @@ GP
+
+* @@/@@ Job Level
+* @@/@@ Karrierelevel
+
+* Acquired @@ @@!
+* Erreicht @@ @@!
+
+* Aid the Blue Sage in getting Peetu back to action
+* Hilf dem Blue Sage, Peetu zurück an die Arbeit zu bringen
+
+* Ask Zegas, the mayoress, if she needs help.
+* Frag Zegas, die Bürgermeisterin, ob sie Hilfe braucht.
+
+* Cards will be deleted after transfer is done.
+* Cards werden entfernt nachdem der Transfer abgeschlossen ist
+
+* Causes splash damage, and are very expensive.
+* Verursachen Flächenschaden und sind sehr teuer.
+
+* Collect @@/@@ GP
+* Sammle @@ / @@ GP
+
+* Defeat the Assassin
+* Besiege den Assasinen
+
+* Deliver Nikolai's Letter to Frostia Mayor
+* Bring Nikolais Brief zum Bürgermeister von Frostia
+
+* Donate blood at least once.
+* Spenden Sie mindestens einmal Blut.
+
+* Find clues
+* Finde Hinweise
+
+* Gained %d EXP and %d Job EXP
+
+
+* Gained @@ EXP and @@ Job Exp
+* @@ EXP und @@ Job Exp gewonnen
+
+* Gained @@ GP
+* @@ GP gewonnen
+
+* Get trained by Valon, in the big house.
+* Lassen Sie sich von Valon in dem großen Haus ausbilden.
+
+* Has non-cumulative area of effect damage.
+* Hat nicht-kumulierenden Flächenschaden
+
+* Healing items improved
+
+
+* Help Ayasha to take care of the kids.
+* Hilfe Ayasha bei der Betreuung der Kinder.
+
+* Huge damage and more criticals, but slow fire rate.
+* Riesiger Schaden und mehr criticals, aber langsame Feuerrate.
+
+* Impress %s
+
+
+* Invade the Fortress Town
+* Dringe in die Fortress Stadt ein
+
+* Item obtained: %s
+* gegenstand erhalten: %s
+
+* Lightbringer is self-aware and cannot be given.
+
+
+* Low damage, highest attack speed from all.
+* Low Schaden, von allen die höchste Angriffsgeschwindigkeit.
+
+* Mage
+* Magier
+
+* Meet the Blue Sage
+* Triff den Blue Sage
+
+* More equipment coming soon...
+* Weitere Ausrüstung kommt in Kürze...
+
+* More for bandits than assassins or ninjas.
+* Mehr für Banditen als Assassinen oder Ninjas.
+
+* Options will be removed after transfer is done.
+* Die Optionen werden nach dem Transfer entfernt.
+
+* Refine will be lost after transfer is done.
+* Die Veredelung geht nach dem Transfer verloren.
+
+* Register as a Craftsman/Craftswoman.
+* Registriere Dich als Handwerker/Handwerkerin.
+
+* Register as a Monster Hunter
+* Registriere Dich als Monsterjäger
+
+* Rent a room in Frostia's Inn
+* Miete ein Zimmer in Frostia's Gasthaus
+
+* Rest at the Inn
+* im Gasthaus ausruhen
+
+* Return to Hurnscald Townhall
+* Zurück zur Hurnscald Stadthalle
+
+* Talk to Librarian in Halinarzo
+* Sprechen Sie mit Bibliothekar in Halinarzo
+
+* The only one hand ranged weapon you'll ever find!
+* Die einzige einhändige Fernkampfwaffe, die Du jemals finden wirst!
+
+* Thief
+* Dieb
+
+* Very quick and can be used in a single hand.
+* Sehr schnell und kann einhändig genutzt werden.
+
+* Very quick, two handed, and evil.
+* Sehr schnell, zweihändig, und böse.
+
+* Win an Arena Match
+* Gewinne ein Arena-Spiel
+
+* become @@ Hero
+* Werde @@ Held
+
+*-* "Could you share those blueprints with me? Please?"
+
+
+*AFK: I am Away From Keyboard*
+*AFK: Ich bin weg von der Tastatur*
+
+*CRASH*
+*ABSTURZ*
+
+*CREAK*
+*KNARREN*
+
+*Don't fail me. If you do, ensure you're well past dead before.*
+*Versage nicht! Falls doch, ist es besser, Du bist tot, befor ich Dich finde.*
+
+*Don't shout, you moron!*
+*Schrei nicht, Du Depp!*
+
+*Hic*
+*Hicks*
+
+*I'll give you two energy balls.*
+*Ich werde Dir zwei Energiebälle geben.*
+
+*I'll take my leave, then.*
+*Und tschüss."
+
+*Opening eyes in a shock*
+
+
+*Roaaaaaar!*
+* Roaaaaaar! *
+
+*The Professor will never know what got him...*
+*Der Professor wird nie wissen wie ihm geschah..."
+
+*They* couldn't take hold of me, but I'm bound to this castle; I can't leave.
+*Sie konnten mich nicht ergreifen, aber ich bin an diese Burg gebunden. Ich kann nicht weg.
+
+*Ugh* Thanks for your help. Here... Take this, as promised.
+* Ugh * Vielen Dank für Ihre Hilfe. Hier ... Nehmen Sie diese, wie versprochen.
+
+*Yes, boss!*
+*Ja, Boss!*
+
+*_* "Pretty please?"
+
+
+*are they gone...?*
+*Sind sie weg...?*
+
+*beeep*
+* Beeep *
+
+*blushes*
+
+
+*burp*
+*rülps*
+
+*chants more words, while the crystal hovers the potion*
+*Singt weiter, während der Kristall über dem Trank schwebt *
+
+*cheerful*
+*fröhlich*
+
+*click*
+*klicken*
+
+*cough cough*
+*Hust hust*
+
+*cries*
+*Weint*
+
+*crying*
+*Weinen*
+
+*drolls*
+*Drolls*
+
+*eyes widen up*
+* Augen öffnen sich weit *
+
+*grumpf*
+*Grumpf*
+
+*gulp* *gulp* *gulp*
+*Schluck* *Schluck* *Schluck*
+
+*hehehe...*
+*hehehe...*
+
+*hurry up, your moron!*
+*Beeil Dich, Idiot!*
+
+*is everything ready?*
+*Ist Alles bereit?*
+
+*plim*
+*Plim*
+
+*put his glasses on*
+*Setzte seine Brille auf*
+
+*scream in pain*
+*Vor Schmerzen Schreien*
+
+*scream*
+*Schrei*
+
+*screams*
+
+
+*sigh*
+*Seufz*
+
+*sigh* Yet another failure... Transmutation and Nature Magic doesn't marry well.
+* Seufz * Noch ein weiterer Ausfall ... Transmutations und Naturmagie passen nicht gut zusammen.
+
+*sighs*
+*Seufzt*
+
+*snap fingers*
+*Finger schnippen*
+
+*sniff sniff*
+*schnief schnief*
+
+*sniff* *sniff*
+*schnief* *schnief*
+
+*snooze*
+*Hatschie*
+
+*sob sob*
+*Schluchz Schluchz*
+
+*sorry, boss!*
+*Entschuldige, Boss!*
+
+*tears weeling up*
+* Tränen up *
+
+*this sign is too blurred to read*
+
+
+*tut*
+*tut*
+
+*whisper whisper*
+*flüster flüster*
+
+*whistles*
+
+
+, and you have been banned from the Academy.
+, und Du wurdest von der Akademie verbannt.
+
+, my name is Nikolai. I am a sage, and the owner of this place.
+, Mein Name ist Nikolai. Ich bin ein Weiser, und der Besitzer dieses Ortes.
+
+- 5 @@, with 1200 GP, for a @@.
+- 5 @@, mit 1200 GP, für eine @@.
+
+- @@ @@
+- @@ @@
+
+- @@/@@ @@
+- @@/@@ @@
+
+- @@/@@ GP
+- @@/@@ GP
+
+- Boss give more Job experience, but as long that you keep killing, you'll keep gaining.
+- Boss gibt mehr Job Exp, aber solange Du weiter machst, gewinnst Du weiter.
+
+- Defeat the BOSS on each dungeon!
+- Besiege den BOSS in jedem Dungeon
+
+- Find a path to the island where she is hiding herself!
+
+
+- Get killed yourself.
+- Lass dich selbst töten.
+
+- Help the farmers. We rely a lot on agriculture.
+- Hilfe den Bauern. Wir hängen von der Landwirtschaft ab.
+
+- I currently need your help with @@, but there's no reward.
+- Ich brauche zur Zeit Deine Hilfe bei @@, aber es gibt keine Belohnung.
+
+- I currently need your help with @@.
+- Ich brauche zur Zeit Deine Hilfe mit @@.
+
+- I overheard rumors about a festival. Maybe someone needs help with their figurine?
+- Ich habe Gerüchte über ein Festival gehört. Vieleicht braucht ja jemand Hilfe bei seiner Figur?
+
+- I think you can help the storehouse for some quick cash.
+- Ich denke, dass Sie dem Lagerhaus für ein bisschen schnelles Geld helfen können.
+
+- If you fail, you'll need to pay me ingredients to try again!
+
+
+- Inside the big house is someone who can train you. All experience is handy!
+- Im Innern des großen Hauses ist jemand, der Sie trainieren kann. Alle Erfahrung ist praktisch!
+
+- Instead, the party will be teleported ##Bto a forest.##b
+
+
+- Luvia is a powerful mage and Isbamuth is watching, so teleporting directly would be risky.
+
+
+- Players can prevent being scry'ed with %s
+
+
+- Some information like money won't be available.
+
+
+- Some of our crew are missing. They're probably wasting their time at beach.
+- Einige unserer Mannschaft fehlen. Wahrscheinlich trödeln sie am Strand herum.
+
+- Some sailors within this ship may need your help: Chef Gado, Dan, Peter... help them all and collect rewards!
+- Einige Seemänner in diesem Schiff können Ihre Hilfe brauchen: Chef Gado, Dan, Peter ... Hilf allen und verdiene die Belohnungen!
+
+- Target player must be online.
+
+
+- Teleport yourself away.
+- Teleportiere Dich selbst weg.
+
+- The Death of Andrei Sakar -
+- Andrei Sakars Tod -
+
+- The farmer Nylo, who loves beer and money, seems to be having troubles with his crops.
+- Der Bauer Nylo, der Bier und Geld liebt, scheint Probleme mit seinen Kulturen zu haben.
+
+- The goal is to rescue Luvia from Isabamuth. She has been ##Bbrainwashed##b.
+
+
+- The weapon master, Tolchi, could use your help. But she will most likely force you to visit Tulimshar in the end.
+- Der Waffenmeister Tolchi könnte deine Hilfe gebrauchen. Aber das bedeutet wahrscheinlich, am Ende Tulimshar zu besuchen.
+
+- The weapon seller, Rosen, wanted to help new players to improve their equipment.
+- Die Waffenhändler, Rosen wollte neue Spielern helfen, ihre Ausrüstung zu verbessern.
+
+- There is a woman walking on the island, called Maya. Once she realises you're willing to help, she'll start paying well.
+- Es gibt eine Frau auf der Insel, genannt Maya. Sobald sie merkt, dass Du bereit bist zu helfen, wird sie anfangen, gut bezahlen.
+
+- Time runs out (25m).
+- Die Zeit läuft ab (25 m).
+
+- To donate blood, go to the hospital and ask about it.
+- Um Blut zu spenden, geh ins Krankenhaus und frag danach.
+
+- You can always play with kids. Not very profitable, though.
+- Sie können jederzeit mit den Kindern spielen. Ist jedoch nicht sehr profitabel.
+
+-- Animals Protection Agency of Hurnscald
+- Tierschutzverein Hurnscald
+
+-- Grandmaster
+
+
+-- In such event, Candor Underground B4F will be permanently unreachable for this char.
+
+
+-- Merlin
+-- Merlin
+
+-- The Expedition
+-- Die Expedition
+
+-- Valia G.
+
+
+-- Zegas, the Mayoress
+-- Zegas, die Bürgermeisterin
+
+--- AND ANY OF ---
+
+
+--- OR ---
+--- ODER ---
+
+-.- "I forgot how to fight!"
+
+
+. ´ power.. drains .. life..´. .´ focus . .not move at all´. ."
+
+
+...
+...
+
+... ... ...
+... ... ...
+
+... .... ....
+... .... ....
+
+... that looks like an incantation or something.
+
+
+...%s, as far as you should be concerned, this is an hostile land and I'm not your friend. You should use a weapon and a shield if possible. Never trust strangers, specially if they look like an assassin... exactly like me.
+
+
+...A tower, on this canyon. People disliked it, humans and all other races. The Mana War happened, bloodshed, and... The Monster War.
+
+
+...Actually, I'm drawing in a blank.
+
+
+...Actually, you seem like a capable adventurer. If you give me some ingredients I can't get, I'll give you a @@.#0
+...Du siehst tatsächlich aus wie ein fähiger Abenteurer. Wenn Du mir ein paar Zutaten besorgst, die ich nicht bekommen kann, gebe ich Dir ein @@.#0
+
+...Actually, you seem like a capable adventurer. If you give me some ingredients I can't get, I'll give you a @@.#1
+...Du siehst tatsächlich aus wie ein fähiger Abenteurer. Wenn Du mir ein paar Zutaten besorgst, die ich nicht bekommen kann, gebe ich Dir ein @@.#1
+
+...Alright then.
+...Also gut.
+
+...Although that's unlikely, I admit.
+
+
+...And at long last, the teddy's pot is full of honey.
+
+
+...And for some reason he took the apple and went further in the caves.
+... Und aus irgendeinem Grund nahm er den Apfel und ging weiter in den Höhlen.
+
+...And if you're still trying to check your pet stats, just hover it with your mouse. Thanks.
+...Und wenn Du immer noch versuchst, die Stats Deines Haustiers zu prüfen: Einfach mit dem Mauszeiger drüber. Danke.
+
+...And stop! You took %s this time!
+
+
+...And trust me, it'll take way more than just water to put the fire down.
+...Und glaub mir, es wird sehr viel mehr als Wasser brauchen, um dieses Feuer zu löschen.
+
+...Are you crazy?
+
+
+...Are you trying to troll me?
+
+
+...As you wish.
+
+
+...Assuming you can break a Mana Stone, that is.
+
+
+...Automatically retrying...
+...Automatisch wiederholen...
+
+...Besides, I have this nice @@ with me. I'm not low-level like you.
+... Außerdem habe ich diese nette @@. Ich bin nicht auf so niederer Stufe wie Du.
+
+...Besides, I have this nice @@ with me. It's a reliable bow.
+... Außerdem habe ich diesen nette @@. Das ist ein zuverlässiger Bogen.
+
+...Blood.
+
+
+...But saving me won't be enough, so build trust by the kind gift of @@ @@. I'll be waiting.
+... Aber meine Rettung wird nicht ausreichen, um Vertrauen aufzubauen schenke mir @@ @@. Ich werde warten.
+
+...But worry not, I have the right screwdriver for the job. So, are you up to bring me some Present Boxes?
+...Aber keine Sorge, ich das richtige Werkzeug für den Job. Also, bringst Du mir ein paar Geschenkschachteln?
+
+...Cocktail.
+
+
+...Coffee.
+
+
+...Dealing with scorpion stingers is a gamble, so we may need a few stingers before making a successful potion.
+... Der Umgang mit Skorpionstacheln ist ein Glücksspiel, so dass wir ein paar brauchen, bevor wir erfolgreich einen Trank machen können.
+
+...Even if this is your fault. Anyway, ##Breturn to whoever sent you here##b and begone.
+
+
+...Foolish human... Do you really think I will attend your summon?
+... Narr ... Glaubst du wirklich, dass ich Deiner Beschwörung folge?
+
+...Go mind your own business, %s.
+
+
+...Good luck, @@. And be careful. If Sagratha decided to flee... It might be too strong for you.
+...Viel Glück, @@. Und sei vorsichtig. Wenn Sagratha fliehen will ... Es könnte für Dich zu stark sein.
+
+...Have you ever gone there yet?
+...Warst du jemals dort?
+
+...Help... Me...
+...Hilf... mir...
+
+...How do you know I'm not from this world?
+...Woher weisst Du, dass ich nicht von dieser Welt bin?
+
+...I cannot fail to notice your deeds. Very well. Under my own authority, I authorize you to climb this holy tree.
+...Ich kann nicht umhin, deine Taten zu bemerken. Sehr gut. Anhand meiner Autorität erlaube ich Dir, auf diesen heiligen Baum zu klettern.
+
+...I deposited everything on the bank. Sorry!
+
+
+...I don't think giving it this hat will really help...
+... Ich glaube nicht, dass dieser Hut wirklich helfen wird...
+
+...I don't think the teddy is sick, so there's no point giving it an Elixir.
+
+
+...I guess I can't hide anymore...
+... Ich glaube, ich kann nicht mehr verstecken ...
+
+...I have no other choice, do I?
+... ich habe keine andere Wahl, oder?
+
+...I knew bandits were not be trusted, but Saul insisted in doing so. I hate him so much right now. Even if he is my brother.
+
+
+...I know it is hot in this desert, but if you don't wear some armor and a hat, monsters will get to you. Really harsh, nowadays.
+
+
+...I refuse to comment on this ridiculous idea.
+
+
+...I still need to cover up if they're mistaken. Give me a reason to tell you secrets, show me you're concerned with Tulimshar safety and don't want just to be strong.
+... Ich muss es noch geheim halten, falls sie sich irren. Gib mir einen Grund, Dir Geheimnisse zu erzählen. Zeig mir, dass Du an Tulimshars Sicherheit interessiert bist, und nicht einfach nur stark sein willst.
+
+...I'll be back later.
+...Ich komme später wieder.
+
+...I'll take it.
+...Ich nehme es.
+
+...If they decide to do so, they'll have to deal with weak magical attacks, and with quick mana depletion.
+... Wenn sie sich dafür entscheiden, werden sie mit schwachen magischen Angriffen zu tun haben, und mit schneller Mana Erschöpfung.
+
+...If you're lucky, you can touch it and receive magic power."
+
+
+...Incidents?
+...Vorfälle?
+
+...It'll most likely attack you, instead.
+... Es wird Dich höchstwahrscheinlich stattdessen angreifen.
+
+...Lalica, the witch, is still with us. And she came to complain that a petty thief stolen a very precious item of hers.
+... Lalica, die Hexe, ist immer noch bei uns. Und sie kam, um sich zu beschweren, dass ein kleiner Dieb ein sehr kostbares Stück von ihr gestohlen hat.
+
+...More bugs.
+... Mehr Bugs.
+
+...No reaction...
+
+
+...Not yet.
+...Noch nicht.
+
+...Of course. It was THEM. It gotta to be them!
+...Natürlich. Es waren SIE. Es müssen SIE gewesen sein!
+
+...Oh, right! We locked it. Uhm, we'll open it for you. Be careful.
+
+
+...Okay, I asked you to explain, and you ended up wasting my time instead. %%n
+...Ok, ich habe Dich gebeten, es mir zu erklären. Stattdessen hast Du meine zeit verschwendet. %%n
+
+...Okay, I guess.
+
+
+...Okay, this is not fun anymore.
+... Okay, das ist kein Spaß mehr.
+
+...Otherwise, they're too precious to sell to wanna be adventurers. Beer EXP Bonuses expire on death, you know?!
+...Andererseits sind sie zu kostbar, um sie an Möchtegern-Abenteurer zu verkaufen. Bier Bonuses enden mit dem Tod, weisst Du?!
+
+...Poison.
+
+
+...Potion.
+
+
+...Tea.
+
+
+...Thanks, kind person.
+
+
+...That's your problem, not mine. I am an elf if you haven't noticed.
+... Das ist dein Problem, nicht meins. Ich bin ein Elf, wenn dir das nicht aufgefallen ist.
+
+...The ones who know a lot are dwarves, but they don't live here - they live with elves, it seems.
+... Die Zwerge wissen viel, aber sie leben nicht hier - sie leben mit den Elfen, wie es scheint.
+
+...This %s you have there. I haven't seen one for a while.
+
+
+...Try allocating some points in agility before we continue. I think %d should be suffice.
+
+
+...Unless, of course, if you're interested in learning this art. You'll not regret it, I assure you.
+... Es sei denn natürlich, Du bist interessiert daran, diese Kunst zu lernen. Ich kann Dir versichern, Du wirst es nicht bereuen.
+
+...Until one day, past the sea, in Kolev's continent, they found a mana stone. Magic. This great breakthrough saved this continent, and saved our clan as well.
+
+
+...Water.
+
+
+...Well, I'll refund you 10% because it was not utterly terrible.
+
+
+...Well, but even if Hurnscald is nearby, you are too weak. You know sometimes, ships get attacked by pirates, right?
+...Nun, auch wenn Hurnscald in der Nähe ist, bist Du zu schwach. Wie Du weisst, werden Schiffe manchmal von Piraten angegriffen.
+
+...What? Which item? Sorry, too much smoke around here.
+...Was? Welcher Gegenstand? Sorry, zu viel Rauch hier.
+
+...What? You want @@? Five of them?!
+...Was? Du willst @@? Fünf von ihnen?!
+
+...Where's Barbara, the thief?
+... Wo ist Barbara, die Diebin?
+
+...Yes. Hold tight.
+...Ja. Halt fest.
+
+...Yes. It was there. Please report to Blue Sage at once.
+...Ja. Es war da. Bitte melde das sofort dem Blue Sage.
+
+...You have courage. Many people tried and failed.
+... Du hast Mut. Viele haben es versucht und sind gescheitert.
+
+...You need to learn magic before this equipment being useful to you in any way.
+... Du musst Magie lernen, bevor dies in irgendeiner Weise nützlich für Dich sein wird.
+
+...You still have not overcome his house.
+... Du hast sein haus noch nicht überwunden.
+
+...You're right. My medicine cannot heal you.
+...Du hast recht. Meine Medizin kann Dich nicht heilen.
+
+...but it is saying some stuff about a merge which happened literally eons ago.
+... aber es ein paar Gerüchte über eine Zusammenführung, die buchstäblich vor Äonen geschehen ist.
+
+...but it is written in Mananese, a language you know nothing about.
+... aber es ist in Mananese geschrieben, eine Sprache, vonder Du keine Ahnung hast.
+
+...for now.
+...für's Erste
+
+...who knows if there isn't a secret in that?
+... wer weiß, ob darin nicht ein geheimnis liegt?
+
+...wingless humanoids.
+...flügellose Humanoide
+
+..Anyone there?
+..Jemand da?
+
+.:: %s Recipe ::.
+.:: %s Rezept ::.
+
+.:: Accumulate Power ::.
+.:: Sammle Macht ::.
+
+.:: Alcohol Tutorial ::.
+. :: Alkohol Tutorial ::.
+
+.:: All In One ::.
+.:: Alles zusammen ::.
+
+.:: Archers Eye ::.
+.:: Schützenauge ::.
+
+.:: Area Provoke ::.
+
+
+.:: Armageddon ::.
+.:: Armageddon ::.
+
+.:: Arrow Shower ::.
+.:: Pfeilhagel ::.
+
+.:: Backsliding ::.
+.:: Taktischer Rückzug ::.
+
+.:: Bear Strike ::.
+.:: Bärenschlag ::.
+
+.:: Brawling ::.
+.:: Raufen ::.
+
+.:: Chanting ::.
+
+
+.:: Ched's Summer 2018 ::.
+. :: Ched Sommer 2018 ::.
+
+.:: Ched's Summer 2019 ::.
+. :: Ched Sommer 2019 ::.
+
+.:: Ched's Summer 2020 ::.
+. :: Ched Sommer 2020 ::.
+
+.:: Ched's Summer 2021 ::.
+. :: Ched Sommer 2021 ::.
+
+.:: Ched's Summer 2022 ::.
+
+
+.:: Chocolate Day ::.
+. :: Schokoladen-Tag ::.
+
+.:: Christmas 2018 ::.
+. :: Weihnachten 2018 ::.
+
+.:: Christmas 2019 ::.
+. :: Weihnachten 2019 ::.
+
+.:: Christmas 2020 ::.
+. :: Weihnachten 2020 ::.
+
+.:: Christmas 2021 ::.
+. :: Weihnachten 2021 ::.
+
+.:: Christmas 2022 ::.
+
+
+.:: Congratulations ::.
+.:: Herzliche Glückwünsche ::.
+
+.:: Congratulations! ::.
+.:: Herzliche Glückwünsche! ::.
+
+.:: Counter Attack ::.
+.:: Gegenangriff ::.
+
+.:: Create PIN Code ::.
+.:: Erstelle PIN Code ::.
+
+.:: Destructive Magic Class ::.
+. :: Destructive Magie Klasse ::.
+
+.:: Easter 2018 ::.
+. :: Ostern 2018 ::.
+
+.:: Easter 2019 ::.
+. :: Ostern 2019 ::.
+
+.:: Easter 2020 ::.
+. :: Ostern 2020 ::.
+
+.:: Easter 2021 ::.
+. :: Ostern 2021 ::.
+
+.:: Easter 2022 ::.
+
+
+.:: FIND-THE-NPC 2018 MINI-EVENT WINNER ::.
+. :: Finde-den-NPC 2018 MINI-EVENT-Sieger ::.
+
+.:: FIRST PLAYER TO COMPLETE GEMINI SISTERS QUEST ::.
+
+
+.:: FIRST PLAYER TO COMPLETE HEROES HOLD MASTER DUNGEON ::.
+. :: ERSTER SPIELER, DER DAS HOLD MASTER DUNGEON GESCHAFFT HAT ::.
+
+.:: FIRST PLAYER TO COMPLETE YETI KING QUEST ::.
+. :: ERSTER SPIELER, DER YETI KING QUEST GESCHAFFT HAT::.
+
+.:: FIRST PLAYER TO REBIRTH ::.
+.:: ERSTER SPIELER, DER NEU GEBOREN WIRD ::.
+
+.:: Falkon Strike ::.
+.:: Falkenangriff ::.
+
+.:: Fire Arrow ::.
+.:: Feuerpfeil ::.
+
+.:: Fireball ::.
+.:: Feuerball ::.
+
+.:: Firewalk ::.
+.:: Feuergehen ::.
+
+.:: First Aid ::.
+.:: Erste Hilfe ::.
+
+.:: Fortress Island ::.
+. :: Festungsinsel ::.
+
+.:: Free Cast ::.
+.:: Freier Zauber ::.
+
+.:: Free Software Day ::.
+. :: Free Software Tag ::.
+
+.:: Frost Diver ::.
+.:: Frosttaucher ::.
+
+.:: Frost Nova ::.
+.:: Frostnova ::.
+
+.:: Full Throttle ::.
+.:: Voll Stoff ::.
+
+.:: GEMINI ASSASSINS QUEST ::.
+
+
+.:: Gaia Break ::.
+
+
+.:: Ground Strike ::.
+.:: Bodenschlag ::.
+
+.:: Hasan Scorpion Killing Challenge 2018 ::.
+. :: Hasan Scorpion Töten Challenge-2018 ::.
+
+.:: Hasan Scorpion Killing Challenge 2019 ::.
+. :: Hasan Scorpion Töten Challenge-2019 ::.
+
+.:: Hasan Scorpion Killing Challenge 2020 ::.
+. :: Hasan Scorpion Töten Challenge-2020 ::.
+
+.:: Hasan Scorpion Killing Challenge 2021 ::.
+. :: Hasan Scorpion Töten Challenge-2021 ::.
+
+.:: Hasan Scorpion Killing Challenge 2022 ::.
+
+
+.:: Healing ::.
+.:: Heilung ::.
+
+.:: Hit'n'Run Tactic ::.
+. :: Hit'N'Run Taktik ::.
+
+.:: Holy Light ::.
+.:: Heiliges Licht ::.
+
+.:: Impressive Hero Quest ::.
+
+
+.:: International Coffee Day ::.
+. :: Internationaler Kaffee Tag ::.
+
+.:: Judgment ::.
+.:: Gericht ::.
+
+.:: KAMELOT CASTLE, THE GUILD DUNGEON ::.
+.:: KAMELOT CASTLE, DIE GILDENFESTUNG ::.
+
+.:: Last Standing Man ::.
+.:: Letzer Ãœberlebender ::.
+
+.:: Lightning Bolt ::.
+.:: Blitz ::.
+
+.:: Magic Strike ::.
+.:: Magischer Schlag ::.
+
+.:: Magnus Healing ::.
+.:: Große Heilung ::.
+
+.:: Main Quest 1-1 ::.
+.:: Haupt Quest 1-1 ::.
+
+.:: Main Quest 1-2 ::.
+.:: Haupt Quest 1-2 ::.
+
+.:: Main Quest 1-3 ::.
+.:: Haupt Quest 1-3 ::.
+
+.:: Main Quest 2-%d ::.
+.:: Haupt Quest 2-%d ::.
+
+.:: Main Quest 3-2 ::.
+.:: Haupt Quest 3-2 ::.
+
+.:: Main Quest 4-1 ::.
+.:: Haupt Quest 4-1 ::.
+
+.:: Main Quest 5-1 ::.
+.:: Haupt Quest 5-1 ::.
+
+.:: Main Quest 6-1 ::.
+.:: Haupt Quest 6-1 ::.
+
+.:: Main Quest 6-2 ::.
+.:: Haupt Quest 6-2 ::.
+
+.:: Main Quest ::.
+.:: Hauptquest ::.
+
+.:: Mana Bomb ::.
+.:: Mana Bombe ::.
+
+.:: Mana Wisdom ::.
+.:: Mana Weisheit ::.
+
+.:: Meteor Shower ::.
+.:: Meteorhagel ::.
+
+.:: Meteor Strike ::.
+.:: Meteorschlag ::.
+
+.:: Mission Failed ::.
+.:: Mission fehlgeschlagen ::.
+
+.:: NOTABLE NAMES ON HURNSCALD LIBERATION DAY ::.
+.:: HERAUSRAGENDE NAMEN ZUM Hurnscald BEFREIUNGSTAG ::.
+
+.:: NOTABLE NAMES ON NIVALIS LIBERATION DAY ::.
+.:: HERAUSRAGENDE NAMEN ZUM Nivalis BEFREIUNGSTAG ::.
+
+.:: Napalm Beat ::.
+.:: Napalm Schlag ::.
+
+.:: Nature Wall ::.
+.:: Naturwand ::.
+
+.:: Nilfheim ::.
+.:: Nilfheim ::.
+
+.:: Open Beta 2019 ::.
+.:: Open Beta 2019 ::.
+
+.:: PVP King Imperial Arena ::.
+.:: PVP König Kaiser Arena ::.
+
+.:: Physical Sciences Class ::.
+Klasse. :: Physical Sciences ::.
+
+.:: Provoke ::.
+
+
+.:: Purple Day 2018 ::.
+.:: Purpurtag 2018 ::.
+
+.:: Resurrection ::.
+
+
+.:: Scholarship Class ::.
+. :: Scholarship Class ::.
+
+.:: Second Tier Quest - Timed Out ::.
+. :: Quest Stufe 2 - Zeitüberschreitung ::.
+
+.:: Server Boom ::.
+
+
+.:: Sharpshooter ::.
+.:: Scharfschütze ::.
+
+.:: Stunning Strike ::.
+.:: Lähmender Schlag ::.
+
+.:: Sudden Attack ::.
+.:: Ãœberraschungsangriff ::.
+
+.:: Supreme Attack ::.
+
+
+.:: TMW-2 Anniversary ::.
+.:: TMW-2 Jahrestag ::.
+
+.:: TMW2 Day ::.
+.:: TMW2 Tag ::.
+
+.:: Tempest ::.
+
+
+.:: Thanksgiving 2019 ::.
+.:: Erntedankfest-2019 ::.
+
+.:: Thanksgiving 2020 ::.
+.:: Erntedankfest-2020 ::.
+
+.:: Thanksgiving 2021 ::.
+.:: Erntedankfest-2021 ::.
+
+.:: Thanksgiving 2022 ::.
+
+
+.:: Thanksgiving ::.
+.:: Erntedankfest ::.
+
+.:: The Homunculus Keeping Manual ::.
+.:: Die Homunculus Handbuch ::.
+
+.:: The Mouboo Temple ::.
+.:: Der Mouboo Tempel ::.
+
+.:: There are no skills ::.
+.:: Es gibt keine Fähigkeiten ::.
+
+.:: This is Release 10.0 Infinity ::.
+.:: Das ist Release 10.0 Unendlichkeit ::.
+
+.:: This is Release 9.5 Academy ::.
+.:: Das ist Release 9.5 Academy ::.
+
+.:: Transfer Mana ::.
+
+
+.:: Trick Dead ::.
+.:: Totstellen ::.
+
+.:: Trickster Class ::.
+. :: Trickster-Klasse ::.
+
+.:: Valentine Day ::.
+.:: Valentinstag ::.
+
+.:: Victory ::.
+.:: Sieg ::.
+
+.:: Victory Conditions ::.
+.:: Siegbedingungen ::.
+
+.:: WARNING ::.
+.:: WARNUNG ::.
+
+.:: Windwalker ::.
+.:: Windgeher ::.
+
+.:: Withdraw Conditions ::.
+.:: Kündigungsbedingungen ::.
+
+.:: Worker Day 2018 ::.
+.:: Arbeitertag 2018 ::.
+
+.:: Worker Day ::.
+.:: Arbeitertag ::.
+
+.:: World's Hero Quest ::.
+.:: Welt Helden Quest ::.
+
+._. "What are these statuses useful for?"
+
+
+/ clear clears the text box.
+/ Clear Löscht das Textfeld.
+
+/ help explains how to use all client commands.
+/ Help erklärt, wie alle Client-Befehle verwendet werden.
+
+/ mi does the same as @monsterinfo. Takes the monster name as argument and reports monster stats and drops.
+/ mi tut das Gleiche wie @monsterinfo. Mit dem Monsternamen als Argument liefert es Monster Stati und Drops.
+
+/ present shows the number of people in the neighbourhood.
+/ Present zeigt die Zahl der Menschen in der Umgebung.
+
+/ where shows the name of the map you are in.
+/ Where zeigt den Namen der aktuellen.
+
+/ whisper [name] allows you to send a private message to the player. if [name] contains spaces, it must be enclosed in quotation marks.
+/ Whisper [Name] ermöglicht eine private Nachricht an den Spieler zu senden. Wenn [name] Leerzeichen enthält, muss er in Anführungszeichen gesetzt werden.
+
+/who mostra o número de jogadores conectados no momento.
+/ who zeigt die Namen aller Spieler, die aktuell online sind.
+
+0.0 "No no, please no! I can propose you a great deal for your silence!"
+
+
+0022#DoorUpwards
+
+
+1 Hand Swords
+1 Handschwerter
+
+1 hour
+1 Stunde
+
+1,000 GP
+
+
+1- Survive. If you die, you will gain nothing. And people want to kill you.
+1- überlebe. Wenn Du stirbst, gewinnst Du nichts. Und die Leute wollen dich töten.
+
+1- The coward families, who ran away when outlook was bad.
+1- Die feigen Familien, die weggeliefen, als die Aussichten schlecht waren.
+
+1- You must not be carrying anything with you.
+1- Du musst nicht alles mit Dir tragen.
+
+1. Alcyone - 5,942
+
+
+1. Cassio - 43098
+
+
+1. Duke M - 16,016
+
+
+1. Investigate Kamelot Basements
+1. Erforsche Kamelots Erdgeschoss
+
+1. Jesusalva - 65
+1. Jesusalva - 65
+
+1. Leather - 4523
+1. Leder - 4523
+
+1. Lilanna - 2498
+1. Lilanna - 2498
+
+1. Manatauro - 29504
+
+
+1. Mathias Cronqvist - 15000
+
+
+1. You must be at the computer to play. Using a bot ##Bwhile at computer##b will be tolerated.
+1. Du musst am Computer sein zum spielen. Botting ##Bwährend Du am Computer bist##b wird toleriert.
+
+1. YuckFou - 10,000,010 GP
+
+
+1. andulkaT - 100,001 GP
+
+
+1. andulkaT - 702
+
+
+1. poppet - 3056
+
+
+10 minutes
+10 Minuten
+
+10 seconds!
+10 Sekunden!
+
+10,000 GP
+
+
+10. ##BDo not logout##b at Botcheck area or at Jail. We cannot unjail an offline player. The opposite of rule 9: If you believe you're right, keep your ground and explain calmly what happened. We'll calmly analyse the situation. If you were jailed without guilt, an apology will be sent to you, provided this rule is not broken.
+10. ##BNicht ausloggen##b während der Botprüfung oder im Gefängnis. Wir können keinen Spieler aus dem Gefängnis holen, der offline ist. Wenn Du glaubst, im Recht zu sein, bleib ruhig und erkläre, was passiert ist. Wir werden die Situation in Ruhe analysieren. Wenn Du unschuldig im Gefängnis gelandet bist, werden wir uns bei Dir entschuldigen.
+
+10th Place - Saulc (8)
+10. Platz - Saulc (8)
+
+11. If you believe you are Not Guilty, but the GM deemed you guilty, request a ##BCouncil Trial##b. It's your right. In a Council Trial, we'll have multiple people giving the veredict. Any player may be called to compose the council. All admins shall take part in it. An arragment relative to time, date, and number of counsellors is to be made.
+
+
+12x Strange Coins
+12x Seltsame Münzen
+
+15 minutes
+15 Minuten
+
+15 minutes.
+15 Minuten.
+
+1600 GP
+1600 GP
+
+1st Place - Jesusalva (65)
+1. Platz - Jesusalva (65)
+
+1st Place - Mishana, LawnCable, Jesusalva, bObr
+1. Platz - Mishana, LawnCable, Jesusalva, Bober
+
+1st Place - Povo (6 likes)
+1. Platz - Povo (6 Likes)
+
+1st step
+1. Schritt
+
+1° Screenshooting Contest
+
+
+2
+
+
+2 Hand Swords
+2 Handschwerter
+
+2 hours
+2 Stunden
+
+2,500 GP
+
+
+2- Take everything you can find. You'll be warped without equip or healing items! Kill monsters to get some stuff too!
+2- Nehmen Sie alles was Sie finden können. Sie werden ohne Ausrüsten oder Heilung Gegenstände transportiert werden! Töten Sie ein paar Monster um ein paar Sachen zu bekommen!
+
+2- The defenders of the artifact, who lost their lives and left people behind.
+2- Die Verteidiger des Artefakts, die ihr Leben und Menschen verloren.
+
+2- You must not use a cart. If you do, YOU WILL BE SEVERELY PENALIZED.
+2- Sie dürfen keinen Wagen verwenden. Wenn Sie das tun, werden Sie hart bestraft.
+
+2. ##BDo not spam nor flood.##b This rule is not limited to public chat, actions ingame can be flooding too.
+2. ##BNicht spammen oder fluten.##b Diese Regel ist nicht begrenzt auf öffentlichen Chat, auch ingame Aktionen können flooding sein.
+
+2. Alcyone - 53,057 GP
+
+
+2. Free Kamelot from its curse!
+2. Befreie Kamelot von seinem Fluch!
+
+2. Gogo VII - 103
+
+
+2. Kolchak - 63
+2. Koltschak - 63
+
+2. Manatauro - 4386
+
+
+2. Mathias Cronqvist - 7,423,346 GP
+
+
+2. Povo - 10203
+
+
+2. Rill - 25955
+
+
+2. Woody - 3637
+
+
+2. andulkaT - 1018
+
+
+2. andulkaT - 438
+
+
+2. andulkaT - 6,000
+
+
+2. seeds - 1167
+2. Saatgut - 1167
+
+20 Common Carps
+
+
+200 years ago, The Great Fire (%dm)
+
+
+2018 Event Winners
+2018 Ereignis Gewinner
+
+2019 Event Winners
+2019 Ereignis Gewinner
+
+2020 Event Winners
+2020 Ereignis Gewinner
+
+2021 Event Winners
+2021 Ereignis Gewinner
+
+2022 Event Winners
+
+
+20x Bug Leg
+20x Bug Leg
+
+250,000 GP
+
+
+2nd Place - Kolchak (63)
+2. Platz - Kolchak (63)
+
+2nd Place - Manatauro (5 likes)
+2. Platz - Manatauro (5 Likes)
+
+2nd step
+2. Schritt
+
+2x Bronze Gift
+2x Bronze Geschenk
+
+2x Snake Egg
+2x Schlangeneigg
+
+2° Screenshooting Contest
+
+
+3
+
+
+3- All items from the Arena are from the Arena. You won't carry any of them back with you.
+3- Alle Artikel aus der Arena sind von der Arena. Sie werden Nichts davon mitnehmen.
+
+3- The ancient families.
+3- Die alten Familien.
+
+3- Trust nobody. There can be only one winner, and it must be you.
+3- Vertrauen Niemandem. Es kann nur einen Sieger geben, und der musst Du sein.
+
+3. ##BDo not trade invalid items, or try to cheat on trades.##b This includes any other kind of cheat or bug abuse, passive of account deletion and IP ban as stated by the Terms Of Service.
+3. ##BHandle nicht mit ungültigen Gegenständen, und versuche nicht, zu betrügen.##b Das schließt alle Arten von Cheats und Fehlerausnutzung ein, Accountlöschung und IP Bann, wie in den Nutzungsbedingungen aufgeführt.
+
+3. G II - 4151
+
+
+3. Jesusalva - 310
+
+
+3. Povo - 1,275,000 GP
+
+
+3. Sharli - 4,419
+
+
+3. Woody - 1066
+3. Woody - 1066
+
+3. Xanthem - 56
+3. Xanthem - 56
+
+3. YuckFou - 9537
+
+
+3. caslu_jpg - 50
+
+
+3. dangerDuck - 1225
+
+
+3. luanaf - 20837
+
+
+3. poppet - 20,010 GP
+
+
+3. poppet - 71
+
+
+30 minutes
+30 Minuten
+
+30x Bug Leg
+30x Käferbein
+
+3rd Place - Woody (4 likes)
+3. Platz - Woody (4 likes)
+
+3rd Place - Xanthem (56)
+3. Platz - Xanthem (56)
+
+3rd step
+3. Schritt
+
+4 Chagashrooms for a Strength Potion!
+4 Chagashrooms für einen Krafttrank!
+
+4 Plushrooms for a Haste Potion!
+4 Plushrooms für einen Geschwindigkeitstrank!
+
+4- Experience and Gold earned during this event can be kept.
+4- Erfahrung und Gold während dieser Veranstaltung können behalten werden.
+
+4- Take Care. Wildlife can kill you too. There can be traps.
+4- Achtung. Die Wildnis kann Dich töten. Fallen können vorkommen.
+
+4. ##BRespect other players.##b This includes but is not limited to using offensive language in nicknames or chat, and begging items or favours to other players.
+4. ##BRespektiere andere Spieler.##b Dies schließt ein, ist aber nicht limitiert auf, Beleidigungen in Nicknamen oder Chat, und um Gegenstände oder Gefallen zu betteln.
+
+4. Amdros - 1113
+
+
+4. Hocus - 17260
+
+
+4. Mathias Cronqvist - 2000
+
+
+4. Povo - 3999
+
+
+4. dangerDuck - 540
+4. dangerDuck - 540
+
+4. poppet - 3,826
+
+
+4. seeds - 43
+4. Samen - 43
+
+40/40 slayed @@
+40/40 slayed @@
+
+4144's Tortuga
+4144's Schildkröte
+
+42
+
+
+45 minutes
+45 Minuten
+
+4th Place - seeds (43)
+4. Platz - Samen (43)
+
+4th step
+4. Schritt
+
+5 @@ can be fused in a @@
+5 @@ kann in einem @@ verschmolzen werden
+
+5 minutes
+5 Minuten
+
+5 seconds!
+5 Sekunden!
+
+5,000 GP
+
+
+5- Trust yourself. You will lose the moment you enter in panic. This arena is not for the weak-willed!
+5- Vertrau auf Dich. In dem Moment, in dem Du in Panik gerätst, wirst Du verlieren. Diese Arena ist nicht für die Willensschwachen!
+
+5. ##BThe public chat is to be understood by everyone.##b Therefore, try to use english when possible.
+5. ##BDer öffentliche Chat muss für Jeden verständlich sein.##b Verwende daher englisch, wenn immer möglich.
+
+5. Heaven - 501
+5. Heaven - 501
+
+5. Heaven - 806
+
+
+5. Woolie - 3345
+
+
+5. Xanthem - 615
+
+
+5. dangerDuck - 23
+5. dangerDuck - 23
+
+5. girl flapper - 2,487
+
+
+5. seeds - 13395
+5. Samen - 13395
+
+50 Aquadas
+
+
+50,000 GP
+
+
+5000 GP? That sure is a lot of gold...
+5000 GP? Das ist sicher eine Menge Gold ...
+
+5th Place - Demure
+5. Platz - Demure
+
+5th Place - dangerDuck (23)
+5. Platz - dangerDuck (23)
+
+5x Strange Coins
+5x Seltsame Münzen
+
+6. ##BDo not create multi accounts.##b A person may only hold one account and as many chars as allowed by the server/client. Staff members with special privileges in-game may have a second account without those privileges.
+6. ##BErstelle keine mehrfachen Accounts.##b Eine Person darf einen Account haben und so viele Avatare wie der Server und/oder Client erlaubt. Mitarbeiter mit speziellen Privilegien haben einen zweiten Account ohne diese.
+
+60 seconds
+60 Sekunden
+
+6th Place - test123 (20)
+6. Platz - test123 (20)
+
+7
+7
+
+7 Grass Carps
+
+
+7. ##BAs long as you have an account, you agree with the [@@https://tmw2.org/legal|Terms Of Service@@]##b. Shall any rule conflict with these terms, the Terms Of Service provided on that link shall prevail.
+7. ##BSolange Du einen Account hast, stimmst Du den [@@https://tmw2.org/legal|Nutzungsbedingungen@@]##b zu. Falls irgend eine Regel in Konflikt steht mit diesen Nutzungsbedingungen, haben die Nutzungsbedingungen, wie in dem Link beschrieben, Vorrang.
+
+7th Place - Sertrop (17)
+7. Platz - Sertrop (17)
+
+8 Croconuts
+
+
+8. ##BThe use of real money is prohibited##b for ingame stuff, except by sponsoring.
+8. ##BDie Nutzung von echtem Geld für Spielgegenstände ist verboten##b, ausgenommen Sponsoring
+
+87 Plushrooms
+
+
+8th Place - Pookie (13)
+8. Platz - Pookie (13)
+
+9. ##BAdmit when you're wrong.##b Users trying to lie to or fool GMs will get no pity from them.
+9. ##BWenn Du falsch liegst, dann stehe dazu.##b Spieler, die lügen oder versuchen, die GMs reinzulegen, haben keine Gnade zu erwarten.
+
+9th Place - LawnCable (13)
+9. Platz - LawnCable (13)
+
+:) "A pleasure to trade if you. Don't get caught if you're doing something wrong!"
+
+
+:/ "Hmm... let me see... Aha, I know! I can make you a great bandit with a simple burglar mask!"
+
+
+:< "Hey hey! Where's the money?"
+
+
+:< "Never lie to me. Keep your end on the bargain! Give me everything I asked for!"
+
+
+:> "Hello, youngling..."#0
+
+
+:> "Hello, youngling..."#1
+
+
+:D "Ah! Yes, that would help a lot! I don't need anything a bandit couldn't give you: 25 @@, 5 @@, 2 @@ and a @@. And 6000 GP."
+
+
+:D "Excellent! You've kept your end on the bargain!"
+
+
+:D "HAHAHAHAH! Me?! a thief? only during free time..."
+
+
+:P "I am busy, leave me alone."
+
+
+:o "What? I'm not a bandit! But it looks SO COOL! Do you need anything while you're here?"
+
+
+;-) "Don't worry! Leave to me!"
+
+
+== If you decide to complete the quest you cannot repeat it.
+== Wenn Du Dich entschließt, die Quest abzuschließen, kannst Du es nicht wiederholen.
+
+>.< "The Dummy is a real killer!"
+
+
+>.> "Sorry pal, I have no idea what she meant by that."
+
+
+>:| "Go take the items and remember: Not even a single word about me!"
+
+
+>> Hurnscald must be Liberated first, to continue this story <<
+>> Hurnscald muss zuerst befreit sein, befor diese Geschichte weiter gehen kann <<
+
+???
+???
+
+??? : Are you trying to steal MY treasure?!
+
+
+??? : I am Pirate Captain Marley, and on the honor of my pirates...
+
+
+??? : Wait, how did you got here? WHO ARE YOU?
+
+
+???#01863
+???#01863
+
+@@
+@@
+
+@@ - @@ - @@
+@@ - @@ - @@
+
+@@ - @@ coins
+@@ - @@ Münzen
+
+@@ - @@ point(s)
+@@ - @@ Punkt (e)
+
+@@ @@ @@
+@@ @@ @@
+
+@@ @@ killed.
+@@ @@ getötet.
+
+@@ Dummy
+@@ Dummy
+
+@@ Recipe
+@@ Rezept
+
+@@ You need to wait further releases to continue this quest!
+@@ Sie müssen weitere Releases warten, um diese Quest weitermachen!
+
+@@ and @@ just got married!
+@@ und @@ sind frisch verheiratet!
+
+@@ and I signed this letter. Deliver it to Airlia on the Town Hall, and she'll reward you correctly.
+@@ und ich unterschrieb diesen Brief. Gib ihn Airlia im Rathaus, und sie wird dich korrekt belohnen.
+
+@@ boxes of chocolate were given to you as a gift.
+@@ Schokoladeschachteln wurden als Geschenk an Dich gegeben.
+
+@@ burst in tears.
+@@ bricht in Tränen aus.
+
+@@ calms a bit.
+@@ beruhigt sich ein wenig.
+
+@@ determines how many blows you can take before you die. It also affects status effects, like poison.
+@@ legt fest, wie viel Du einstecken kannst, bevor Du stirbst. Es wirkt sich auch Status-Effekte, wie Gift, aus.
+
+@@ disembarks at Hurnscald.
+@@ landet bei Hurnscald.
+
+@@ disembarks at Nivalis.
+@@ landet bei Nivalis.
+
+@@ disembarks at Tulimshar.
+@@ landet bei Tulimshar.
+
+@@ divorced!
+@@ geschieden!
+
+@@ drolls without realizing.
+@@ drolls ohne zu merken.
+
+@@ glances at you, suspicion evident in her eyes.
+@@ sieht Dich an, als ob sie Verdacht geschöpft hätte.
+
+@@ glares at you in anger.
+@@ starrt Dich wütend an.
+
+@@ goes away for a while and returns briefly.
+@@ geht kurz weg und kommt gleich wieder.
+
+@@ hands you an @@.
+@@ händigt Dir eine @@ aus.
+
+@@ has the clear smile of victory!
+@@ hat das klare Lächeln des Sieges!
+
+@@ helps you carry more items and also gives you a more forceful blow, but ends up not being very interesting if you focus on weapons that use projectiles, such as the bow.
+@@ hilft, mehr Gegenstände zu tragen und gibt auch einen kräftigen Schlag, ist aber am Ende nicht sehr interessant, wenn Du Dich auf Schusswaffen konzentrierst, wie der Bogen.
+
+@@ is a two-handed weapon with very low damage and attack speed.
+@@ ist eine Zweihandwaffe mit sehr geringen Schaden und Angriffsgeschwindigkeit.
+
+@@ is an expensive, rare, and dangerous item. Do not shake it too much, or it will catch fire.
+@@ ist ein teures, seltenes und gefährliches Element. Nicht zu viel schütteln, oder es wird Feuer fangen.
+
+@@ is developing these potions.
+@@ entwickelt diese Tränke.
+
+@@ is on the verge of crying again. Better leave out and look for Elias.
+@@ steht kurz davor, wieder zu weinen. Besser allein lassen und nach Elias suchen.
+
+@@ is very useful for alchemy and magic, but nowadays there are few opportunities to use it.
+@@ ist sehr nützlich für Alchemie und Magie, aber heute gibt es nur wenige Gelegenheiten, es zu benutzen.
+
+@@ latches onto you and starts sobbing on your shoulder.
+@@ Lehnt sich an Dich und beginnt, an Deiner Schulter zu schluchzen.
+
+@@ melt down your @@...
+@@ schmilzt Deine @@ ein...
+
+@@ nods as she notices you.
+@@ nickt, als sie dich bemerkt.
+
+@@ nods reluctantly.
+
+
+@@ nods.
+@@ nickt.
+
+@@ pinkies killed on @@'s field.
+@@ pinkies getötet auf @@ 's Feld.
+
+@@ raise an eyebrow as you hand him Gelid's letter.
+@@ hebt eine Augenbraue, als Du ihm Gelid's Brief übergibst.
+
+@@ raises an eyebrow as you address her.
+@@ hebt eine Augenbraue, alsDu sie ansprichst.
+
+@@ registered for marriage and accepted partner @@!
+@@ hat sich zur Hochzeit registriert, und akzeptiert den Partner @@!
+
+@@ seems to be trembling with disgust as she stares at your headgear.
+@@ scheint vor Abscheu zu zittern angesichts Deiner Kopfbedeckung.
+
+@@ seems to be upset.
+@@ scheint verärgert zu sein.
+
+@@ snarls.
+@@ knurrt.
+
+@@ stares you as you slowly get away from him. Odd person.
+@@ starrt Dir nach, als Du langsam von ihm weggehst. Merkwürdige Person.
+
+@@ started disarm process. Please stand by.
+@@ startet den Entwaffnungsprozess. Bitte warten.
+
+@@ stops, and keep silent for a while, thinking, before continuing.
+@@ stoppt, und schweigt eine Weile, nachdenklich, befor er fortfährt.
+
+@@ uses his screwdriver and open the sealed gift box like a pro.
+@@ benutzt seinen Schraubenzieher und öffnet die versiegelte Geschenk-Box wie ein Profi.
+
+@@ waits for their loved one.
+@@ wartet auf ihre geliebten Menschen.
+
+@@!
+@@!
+
+@@'s Apartment
+@@'s Apartment
+
+@@'s Estate
+@@'s Grundstück
+
+@@, do you need help? Are you lost? Click me!
+@@, brauchst Du Hilfe? Bist Du verloren? Klick mich!
+
+@@, do you need help? Are you lost? Talk to me!
+
+
+@@, don't jump there! It may be fatal!
+@@, springe nicht da! Es kann tödlich sein!
+
+@@, watch out! The obelisk - it is talking!
+@@, Achtung! Der Obelisk - er spricht!
+
+@@, we are counting on you! We, the whole Hurnscald town!
+@@, wir zählen auf Dich! Wir, die ganze Stadt Hurnscald!
+
+@@, we should leave here now.
+@@, wir sollten jetzt hier verschwinden.
+
+@@, your party leader, is inside, I'm not sure where.
+@@, Dein Gruppenleiter ist drinnen, ich bin mir nicht sicher, wo.
+
+@@. PK, however, is allowed!
+@@. PK ist jedoch erlaubt!
+
+@@... I think something went wrong... RUN!!
+@@ ... Ich denke, irgendwas ist schief gelaufen... Weg hier!!
+
+@@/1 @@
+@@/1 @@
+
+@@/1 Mana Bug
+@@/1 Mana Bug
+
+@@/10 @@
+@@/ 10 @@
+
+@@/10 @@ for 1 @@
+@@/10 @@ für 1 @@
+
+@@/10 Maggots
+@@/10 Maden
+
+@@/10 Rattos
+@@/ 10 Rattos
+
+@@/100 @@
+@@/100 @@
+
+@@/100 Red Scorpions
+@@/ 100 Rote Skorpione
+
+@@/1000 GP
+@@/ 1000 GP
+
+@@/12 @@
+@@/ 12 @@
+
+@@/120 @@
+@@/ 120 @@
+
+@@/120 GP
+@@/ 120 GP
+
+@@/15 @@
+@@/15 @@
+
+@@/150 @@
+@@/ 150 @@
+
+@@/2 @@
+@@/ 2 @@
+
+@@/2 Scorpion
+@@/ 2 Skorpione
+
+@@/20 @@
+@@/ 20 @@
+
+@@/20 @@ (or @@)
+@@/20 @@ (oder @@)
+
+@@/200 Black Scorpions
+@@/200 Schwarze Skorpione
+
+@@/25 @@
+@@/25 @@
+
+@@/25 Cave Maggots
+@@/25 Höhlenmaden
+
+@@/3 @@
+@@/3 @@
+
+@@/3 Candor Scorpions
+@@/3 Candor Skorpione
+
+@@/30 @@
+@@/30 @@
+
+@@/4 @@
+@@/4 @@
+
+@@/4 House Maggots
+@@/4 Haus Maggots
+
+@@/40 @@
+@@/40 @@
+
+@@/40 Fire Goblins killed
+@@/40 Feuer Goblins getötet
+
+@@/40 slayed @@
+@@/40 slayed @@
+
+@@/45 @@
+@@/45 @@
+
+@@/5 @@
+@@/5 @@
+
+@@/50 @@
+@@/50 @@
+
+@@/50 Cave Snakes
+@@ / 50 Cave Schlangen
+
+@@/55 @@
+@@ / 55 @@
+
+@@/60 @@
+@@ / 60 @@
+
+@@/6000 GP
+@@ / 6000 GP
+
+@@/7 @@
+@@ / 7 @@
+
+@@/8 @@ for 1 @@
+@@ / 8 @@ 1 @@
+
+@@/8 @@
+@@ / 8 @@
+
+@@/8 @@, just because I'm hungry as a bear.
+@@ / 8 @@, nur weil ich hungrig wie ein Bär bin.
+
+@@/80 @@
+@@ / 80 @@
+
+@@/9 @@ for 1 @@
+@@ / 9 @@ für 1 @@
+
+@@/?? @@
+@@ / ?? @@
+
+@@/@@
+@@ / @@
+
+@@/@@ @@
+@@ / @@ @@
+
+@@/@@ @@ killed
+@@/@@ @@ getötet
+
+@@/@@ GP
+@@ / @@ GP
+
+@@: @@/@@
+@@: @@ / @@
+
+@@: Fight!
+@@: Kampf!
+
+@@: Lv @@
+@@: Lv @@
+
+@commands lists even more advanced commands, but you can't use all of them.
+@commands führt noch mehr Befehle auf, aber nicht alle sind nutzbar.
+
+@discord allows you to setup Discord integration settings.
+@discord ermöglicht die Einrichtung von Discord Integrationseinstellungen.
+
+@info and @tutorial will, using Jesusalva's powers, allow you to contact me anywhere for info.
+Für Informationen kannst Du mich jederzeit per @info und @tutorial kontaktieren unter Verwendung von Jesusalva's Befugnissen.
+
+@lang allows you to change game language, anytime, anywhere.
+@lang ermöglicht es Dir, die Spiel Sprache zu ändern, zu jeder Zeit, an jedem Ort.
+
+@rentitem <item numeric id> <time in seconds>
+
+
+@resync will help when the client starts lagging. If you see an attack but no monsters, that's the cause.
+@resync hilft bei Lag. Wenn Du einen Angriff siehst, aber keine Monster, das ist die Ursache.
+
+@resyncall is the more powerful version of @resync. It'll reload everything, even the clouds if needed.
+@resyncall ist die leistungsfähigere Version von @resync. Es wird alles, auch die Wolken, nachgeladen, wenn nötig.
+
+@rules will tell you all the rules once again.
+@rules wird Dir die Regeln noch mal zeigen.
+
+@toevent will warp you to event island, if an event is happening, of course.
+@toevent wird Dich auf die Eventinsel teleportieren. Natürlich nur, wenn ein Event stattfindet.
+
+@ucp allows you to manage your account, eg. recover lost email.
+@ucp ermöglicht es Dir, Dein Konto zu verwalten, z. B. Wiederherstellung verlorener E-Mail.
+
+A GM has discharged you from jail.
+Ein GM hat Dich aus dem Gefängnis entlassen.
+
+A Game Master is required to begin the Liberation Day.
+Ein Game Master ist erforderlich, um den Tag der Befreiung zu beginnen.
+
+A Miner is a must-have for a craftsman/craftswoman, as they are in constant need of ores and coal.
+Ein Miner ist ein Muss für einen Handwerker / Handwerkerin, da sie ständig Bedarf an Erzen und Kohle haben.
+
+A bit longer and I would have jailed you %%\\
+
+
+A bright and mysterious mushroom!!!
+Ein heller und mysteriöser Pilz!!!
+
+A bug was found. Aborting script.
+Es wurde ein Fehler gefunden. Aborting Skript.
+
+A card will be flipped, you'll need to decide if next flip will be HIGHER or LOWER.
+Eine Karte wird aufgedeckt, Du musst raten, ob die nächste Karte, die aufgedeckt wird, höher oder niedriger sein wird.
+
+A close inspection reveals nothing out of ordinary. It seems to be well kept.
+Eine nähere Untersuchung zeigt nichts Aussergewöhnliches. Es scheint intakt zu sein.
+
+A close inspection suggests the lock was busted. You approach to inspect.
+Eine nähere Untersuchung legt nahe, dass das Schloss gesprengt wurde. Du näherst Dich, um das zu untersuchen.
+
+A closer inspection suggests this mouboo has been... CURSED.
+Eine nähere Untersuchung legt nahe, dieses Mouboo wurde ... VERFLUCHT.
+
+A color sequence will be displayed on the avatar frame.
+Eine Farbsequenz wird auf dem Avatar angezeigt werden.
+
+A complex lock seems to be posing a threat to you.
+Ein komplexes Schloss scheint eine Herausforderung für Dich zu sein.
+
+A critical hit deals added damage and disregards defense. A critical always hit, although it can be blocked just fine.
+Ein kritischer Treffer fügt zusätzlichen Schaden zu und umgeht die Verteidigung. Er trifft immer, obwohl er ganz gut blockiert werden kann.
+
+A dagger is stuck to your heart.
+
+
+A dangerous boss room, keep your guard up!
+Ein gefährlicher Boss Raum, immer auf die Verteidigung achten!
+
+A disarm process is already running.
+Ein entwaffnungsprozess läuft bereits.
+
+A dungeon is burried in @@, (@@, @@)
+
+
+A few families, also known as the Ancient Families of the Soul Menhir (for whatever reasons that may be), departed.
+Einige Familien, die auch als die alten Familien des Seelen Menhir bekannt sind (aus welchen Gründen immer das sein kann), sind gegangen.
+
+A few switches aren't triggered yet.
+Einige Schalter sind noch nicht ausgelöst.
+
+A few times during the year, an independent team organizes a world exposition of special relics.
+Ein paar Mal im Jahr organisiert ein unabhängiges team eine Ausstellung spezieller Relikte.
+
+A few times during the year, the "golden wave" migrates from the north pole to the south pole.
+
+
+A fire broke out in Tulimshar's Academy, which quickly spread over the whole town... And you would think it would be all, but no. The fire was odd.
+
+
+A friend of yours called LOF BOT asked for a coin...
+Ein Freund von Dir namens LOF BOT hat um ein paar Münzen gebeten...
+
+A game is currently going on, please wait for it to finish.
+
+
+A global announcement will be made.
+Es wird eine globale Ansage geben.
+
+A golden pot in woodlands shall reward those who wear green.
+Ein Goldtopf in Waldland belohnt die, die grün tragen.
+
+A good thing we still use sturdy standard steel grating on the emergency exit which lead to Nivalis. I can't imagine how bad the incident would be wasn't for that.
+Es ist gut, dass wir immer noch robusten Standardstahl auf dem Notausgangsgitter verwenden, das zu Nivalis führt. Ich kann mir nicht vorstellen, wie schlimm der Vorfall wäre ohne das.
+
+A great rush of mana flows though you.
+Ein großer Andrang von Mana fließt durch Sie.
+
+A group of %ss are threatening the city. Go to the Desert Canyon and teach them a lesson.
+
+
+A guy named Hasan stole from me!
+
+
+A hooded man attacked me, and left me in this state.
+Ein mit Kapuze Mann hat mich angegriffen, und ließ mich zurück in diesem Zustand.
+
+A large number of %ss have been sighted. Both the sewer and the mines have been infested, they have even been spotted in the city wall!
+
+
+A light magic barrier prevents you from entering.
+Ein magische Lichtbarriere verhindert, dass Du eintrittst.
+
+A magic barrier prevents you from enterering. Maybe it is a good idea to shut down the pentagrams first?
+Ein magische Lichtbarriere verhindert, dass Du eintrittst. Vielleicht solltest Du zuerst das Pentagramm beenden?
+
+A masterpiece!... Whaaaat, this stuff got ##Bweaker##b??
+Ein Meisterstück!... Waaas? Dieser Stab ist ##Bschwächer##b geworden??
+
+A minimum of %d players at the time of start is required!
+Zum Start sind mindestens %d Spieler erforderlich!
+
+A mission well done. I should report to lua now.
+Auftrag gut ausgeführt. Ich sollte jetzt Lua informieren.
+
+A new Dream Tower opens its gates before you...
+Ein neuer Traumturm öffnet seine Türen vor Dir...
+
+A new pet has been unlocked on the @@!
+Ein neues Haustier wurde auf der @@ freigeschaltet!
+
+A pity a friend of ours drank too much. Juliet knows how to cure. We need to give her a @@ to do a hangover potion.
+Schade, ein Freund von uns hat zu viel getrunken. Juliet weiß, was zu tun ist. Wir müssen ihr eine @@ geben für einen Kater Trank.
+
+A pity that without being born with magic, you need a Mana Stone... And there are none left...
+Schade, dass Du, ohne Mana geboren, einen Manastein benötigst ... Und es gibt keine mehr ...
+
+A pity...
+Eine Schande...
+
+A player may be the town admin of several different towns.
+Ein Spieler kann Stadt Admin von mehreren verschiedenen Städten sein.
+
+A powerful door is sealed shut. It has no keyhole, but I'm sure it can be opened somewhere else on these caves.
+Eine mächtige Tür ist verschlossen. Sie hat kein Schlüsselloch. Aber ich bin mir sicher, sie kann irgendwo anders in diesen Höhlen geöffnet werden.
+
+A powerful magic barrier prevents passage. %d %s should suffice to dispel... Maybe.
+
+
+A powerful magic barrier repeals you!
+Eine mächtige magische Barriere wirft Dich zurück!
+
+A powerful magic barrier repels you!
+Eine mächtige magische Barriere wirft Dich zurück!
+
+A previous exp rate up event is already ongoing.
+Eine frühere exp Rate Veranstaltung ist noch nicht abgeschlossen.
+
+A ranger, with a powerful bow
+Ein Ranger, mit einem starken Bogen
+
+A reward is promised to those whom cooperate.
+Die, die zusammenarbeiten, werden belohnt.
+
+A script error happened, please report: @@
+Ein Skript Fehler ist aufgetreten, bitte melden: @@
+
+A sec... And... Done! I just finished cleaning it up!
+Eine Sekunde ... Und ... Fertig! Ich habe gerade aufgeräumt!
+
+A shame there are snakes below the ground. I really, really hate snakes, like every fairy.
+Schade, gibt es Schlangen unter der Erde. Ich hasse sie wirklich, wirklich, wie jede Fee.
+
+A ship travel will cost you @@ GP.
+Ein Schiffsreise kostet Dich @@ GO.
+
+A single switch is not online - Cannot pass without all of them on.
+Ein einzelner Schalter ist nicht online - ohne alle nicht ein kein Durchgang.
+
+A skill has been removed, you got @@ job exp and @@ Strange Coin as an apology token.
+Eine Fertigkeit wurde entfernt, du hast @@ Job exp und @@ merkwürdige Münze als Entschuldigung erhalten.
+
+A skill has been replaced with an @@.
+Eine Fertigkeit wurde durch einem @@ ersetzt.
+
+A slime drips in front of you and explodes!
+Ein Schleim fällt vor Dir herunter und explodiert!
+
+A soldier, with a sword and a shield
+Ein Soldat mit Schwert und Schild
+
+A stone seemed to be loose, but you barely managed to avoid falling!
+Ein Stein schien lose zu sein, aber Du schaffst es kaum, nicht zu fallen!
+
+A sunny and hot day,
+Ein heißer und sonniger Tag.
+
+A treasure is burried in @@, (@@, @@)
+Ein Schatz ist vergraben in @@, (@@, @@)
+
+A tree glows in this dark cave, surrounded by mana lanes.
+Ein Baum scheint in dieser dunklen Höhle, umgeben von Mana Lanes.
+
+A violent fire is less than a great fire, but devasting fire will be even more than these.
+
+
+A visitor? I don't really pay attention to visitors, unless it's someone notable.
+Ein Besucher? Ich achte nicht wirklich auf Besucher, es sei denn, es ist jemand bemerkenswertes.
+
+A warrior, with a long blade
+Ein Krieger mit einem langen Schwert
+
+A wizard, with a might wand
+Ein Zauberer mit einem Zauberstab
+
+A-hoy matey!
+Ahoy Matrose!
+
+A... A sabotage?! O.o
+A ... Eine Sabotage ?! ò.ó
+
+A... Mouboo? Well, I know who can handle curses on cute Mouboos.
+A ... Mouboo? Nun, ich weiß, wer Flüche auf netten Mouboos verarbeiten kann.
+
+AAAAAAAHHHHH, Thanks, I am lively again!
+AAAAAAAHHHHH, Danke, ich bin wieder lebendig!
+
+AAAAaaahhhhh!!!
+
+
+AAH! You scared me!
+AAH! Du hast mir Angst gemacht!
+
+ADMIN Cap
+ADMIN Cap
+
+AF King
+AF König
+
+AFK Cap
+AFK Cap
+
+AFK skill levels fixed.
+
+
+AFTER THEM!!
+
+
+AH!
+AH!
+
+ALL
+ALLE
+
+AND YOU ARE NOT WELCOME HERE!!
+UND DU BIST HIER NICHT WILLKOMMEN!!
+
+ANISE Incorporated is the biggest company in warp technology!
+ANISE Incorporated ist das größte Unternehmen in Warp-Technologie!
+
+ARE YOU SURE?
+BIST DU SICHER?
+
+ARE YOU SURE? THIS CANNOT BE UNDONE LATER!!
+BIST DU SICHER? Es kann später nicht mehr rückgängig gemacht werden!!
+
+ATK = 25%%, LUK = 0, Slow down
+
+
+Aaaaaaaahhhhh.... Much better now *hic*.
+Aaaaaaaahhhhh .... Viel besser jetzt * hicks *.
+
+Aaaaaaah, boy... Just let me drink in peace.#1
+Aaaaaaah, Kleiner... Lass mich einfach in Ruhe trinken.#1
+
+Aaaaaaah, gal... Just let me drink in peace.#0
+Aaaaaaah, Kumpel, lass mich einfach in Frieden trinken.#0
+
+Aaaaaahhh... Oui, that's a good wine! So, what will it be?
+Aaaaaahhh ... Oui, das ist ein guter Wein! Was darf's denn sein?
+
+Aahna
+Aahna
+
+Abandoned Diary#jak1
+
+
+Abandoned Fountain#MKH
+Verlassener Brunnen#MKH
+
+Abandoned House#MKH1
+Verlassenes Haus#MKH1
+
+Abandoned House#MKH2
+Verlassenes Haus#MKH2
+
+Abandoned House#MKH3
+Verlassenes Haus#MKH3
+
+Abandoned House#MKH4
+Verlassenes Haus#MKH4
+
+Abandoned House#MKH5
+Verlassenes Haus#MKH5
+
+Abandoned House#MKH6
+Verlassenes Haus#MKH6
+
+Abort
+Abbrechen
+
+Abort (%d GP)
+
+
+Abort.
+
+
+About Scoreboards and Honor Points
+Ãœber Bestenlisten und Ehrenpunkte
+
+About the Prophecy... What about Elves? Orcs? Redys? Etc.?
+Ãœber die Prophezeiung ... Was ist mit Elfen? Orks? Redys? Etc.?
+
+About the items you asked me to collect...
+Wegen der Gegenstände, um die Du mich gebeten hast...
+
+About this pirate treasure map...
+
+
+Absolutely not, but not may job offers nowadays.
+
+
+Abuse can be determined by your peers or by the grandmasters, so be careful.
+Missbrauch kann von Deinen Kollegen oder von den Großmeistern festgestellt werden, also sei vorsichtig.
+
+Academy Guard#EP
+
+
+Acc. and Evade -25%%
+
+
+Accept
+Annehmen
+
+Accept offer?
+
+
+Accept quest?
+Quest annehmen?
+
+Access to basement was granted!
+Der Zugang zum Keller wurde gewährt!
+
+Accessories
+Zubehör
+
+According to the Guide, space is ____?
+
+
+According to the Holy books of a parallel world, Christmas is an event to celebrate the birth of someone very important, the son of God, whom have the promised kingdom.
+Nach den Heiligen Büchern von einer parallelen Welt, Weihnachten ist ein Ereignis, die Geburt eines Menschen sehr wichtig, den Sohn Gottes, der das verheißene Reich zu feiern.
+
+According to the prophecy, he'll not stop, until life itself as we know today is removed from existence.
+Nach der Prophezeiung wird er nicht stoppen, bis das Leben selbst, wie wir es heute kennen, nicht mehr existiert.
+
+Account Bound
+Kontospezifisch
+
+Account Information
+Kontoinformationen
+
+Accumulate Power
+Accumulate Macht
+
+Accuracy +25
+Genauigkeit +25
+
+Ace Ventura
+Ace Ventura
+
+Achievements
+
+
+Acknowledgment? What do you mean?
+Wissen? Was meinen Sie?
+
+Acorn
+Eichel
+
+Acorn Of Death
+Eichel des Todes
+
+Acquired: %s Monster Points
+Erworben: %s Monsterpunkte
+
+Acquisition:
+
+
+Activate event?
+Event aktivieren?
+
+Active
+Aktiv
+
+Actually - Do you exchange goods even more illegal goods than this?
+Eigentlch - Tauscht Du auch Güter, die noch illegaler sind als diese hier?
+
+Actually - Do you exchange illegal... research results?
+Eigentlich - Tauscht Du illegale ... Forschungsergebnisse?
+
+Actually I'm responsible of dispatching mages to the Magic Academy.
+
+
+Actually not.
+Eigentlich nicht.
+
+Actually, Anwar offered me some ugly, bright orange pants. I thanked him, of course, I prefer this robe than... that.
+Eigentlich hat Anwar mir eine hässliche orange Hose gegeben. Ich hab ihm natürlich dafür gedankt, aber ich ziehe diese Robe vor.
+
+Actually, I gotta go, see ya!
+Eigentlich muss ich weg. Man sieht sich!
+
+Actually, I have bad luck. Could you sell me a box full of fresh fish?
+Eigentlich habe ich Pech. Könntest Du mir eine Kiste frischen Fisch verkaufen?
+
+Actually, I heard from Roger that you may need some help.
+Eigentlich habe ich von Roger gehört, dass Du etwas Hilfe brauchst.
+
+Actually, I heard that on the cave north of me a great wizard died from a curse, but his staff would be available for any other wizard who looks.
+
+
+Actually, I need help with reagents this time. Bring me a %s and a %s and I'll gladly warp you... again.
+
+
+Actually, I see you have some @@. Ever tried a bow before?
+Eigentlich sehe ich dass Du einige @@ hast. Schon mal einen Bogen versucht?
+
+Actually, a tutorial would be good!
+Eigentlich wäre ein Tutorial gut!
+
+Actually, about Fafi dragons...
+Eigentlich über Fafi Drachen ...
+
+Actually, about the Soul Eater...
+
+
+Actually, can I return to Artis?
+Eigentlich, kann ich nach Artis zurückkehren?
+
+Actually, could I ask you a favor?
+Eigentlich, darf ich Dich um einen Gefallen bitten?
+
+Actually, have you ever heard of Yeti's kidnapping little girls?
+Eigentlich, hast Du jemals davon gehört, dass Yeties kleine Mädchen entführen?
+
+Actually, he's just too lazy to add proper checks everywhere. If you try to cheat, you'll suffer some penalty.
+Eigentlich ist er nur zu faul, um vernünftige Prüfungen überall hinzuzufügen. Betrugsversuche werden bestraft.
+
+Actually, nevermind. Good bye!
+Eigentlich egal. Auf Wiedersehen!
+
+Actually, nevermind. I'll wait you grind level 25 first, then we can do this.
+Eigentlich egal. Ich werde warten, bis Du level 25 erreicht hast. Dann können wir.
+
+Actually, nothing. Bye!
+Eigentlich nichts. Tschüss!
+
+Actually, the Dummy will not fight back. Are you afraid?
+
+
+Actually, using a byproduct of my other works and a few additional ingredients, I could make a %s
+Tatsächlich könnte ich %s herstellen, indem ich ein paar Nebenprodukte meiner sonstigen Arbeiten sowie ein paar zusätzliche Zutaten verwende.
+
+Actually, you could be really useful testing Snake Poison. What do you think about that?
+Eigentlich könnte Du wirklich nützlich sein zum Testen von Schlangengift. Was denkst du darüber?
+
+Actually, you just took a bounty, right?
+Eigentlich hast Du nur die Prämie genommen, nicht wahr?
+
+Actually, you look strong...ish. Still, maybe you can help me.
+
+
+Actually. Who are you again? A headache which doesn't want to pass strikes you.
+
+
+Add a new line
+Neue Zeile hinzufügen
+
+Additional Hunting Island will be released on Valentine Day!
+Eine zusätzliche Jagdinsel wird am Valentinstag herausgebracht.
+
+Additionally, for the optimal experience, ensure your party has at least the following members and items:
+Ausserdem, für die optimale Erfahrung, achte darauf, dass mindestens die folgenden Mitglieder und Gegenstände dabei sind:
+
+Additionaly, all your movement will be restricted until either you're warped or log out.
+Darüber hinaus werden alle Deine Bewegung eingeschränkt werden, entweder bis zum Warp oder Logout.
+
+Adrian
+
+
+Advanced Dungeon (Lv 80+)
+Erweitertes Dungeon (Lv 80+)
+
+Advanced Exchanger#0
+
+
+Advanced Magic
+Fortgeschrittene Magie
+
+Advanced Tricks
+Fortgeschrittene Tricks
+
+Adventurer#0
+Abenteurer#0
+
+Adventurer#1
+Abenteurer#1
+
+Adventurer, did you brought me what I asked? I see you have @@/10 @@.#0
+Abenteurer, hast Du mir gebracht, um was ich gebeten habe? Ich sehe, Du hast @@/10 @@.#0
+
+Adventurer, did you brought me what I asked? I see you have @@/10 @@.#1
+Abenteurer, hast Du mir gebracht, um was ich gebeten habe? Ich sehe, Du hast @@/10 @@.#1
+
+Adventurer, did you brought me what I asked? I see you have @@/5 @@.#0
+Abenteurer, hast Du mir gebracht, um was ich gebeten habe? Ich sehe, Du hast @@/5 @@.#0
+
+Adventurer, did you brought me what I asked? I see you have @@/5 @@.#1
+Abenteurer, hast Du mir gebracht, um was ich gebeten habe? Ich sehe, Du hast @@/5 @@.#0
+
+Advised party size: From 3 and above
+Empfohlene Gruppengröße: Mindestens 3
+
+Advised: 1+ mage, 1+ tanker, 2+ healers
+
+
+Advised: 6+ players
+
+
+Aegis Shield
+Aegis-Schild
+
+Aegis with their steadfast shield, nigh impregnable;
+
+
+Aeros Trader
+Aeros Händler
+
+Aethyr Points: %s
+
+
+After about 30 minutes AFK, you won't get EXP anymore.
+Nach etwa 30 Minuten AFK gibt's keine EXP mehr.
+
+After all the monsters in an area are defeated, they'll respawn at once. I know, that's not good, but well, nothing that can be done about it.
+Nachdem alle Monster in diesem Gebiet erledigt sind, respawnen sie alle auf einmal. Ich weiss, das ist nicht gut. Aber da kann man Nichts machen.
+
+After all, I am the Well Master!
+Schließlich bin ich der Brunnenmeister!
+
+After all, that was two nights ago, and none of them returned...
+Schließlich, das war vor zwei Nächten, und keiner von ihnen zurückgekehrt ...
+
+After all, what would you do if it open a black hole on your head by accident? %%4
+Schließlich, was würdest Du tun, wenn es in Deinem Kopf versehentlich ein Schwarzes Loch erschafft? %%4
+
+After being successful is recovering Hurnscald and Nivalis from the Monster Army, they seem to have withdrawn.
+
+
+After casting %s, you must wait %d seconds before casting it again.
+Nachdem Du %s gezaubert hast, musst Du %d Sekunden warten, befor Du es noch mal tun kannst.
+
+After cleaning for twelve hours straight, they allowed me to rest a bit.
+nach 12 Stunden am Stück putzen ließen sie mich ein wenig auszuruhen.
+
+After hours of hard work...
+Nach Stunden harter Arbeit ...
+
+After that, follow the path until you reach a great chamber...
+
+
+After that, stay still and be patient, but also alert!
+Sei danach ruhig und geduldig, aber trotzdem wachsam!
+
+After that, we're going to Tulimshar. Tulim is the most important city on the world, and the Alliance have an office there.
+Danach werden wir nach Tulimshar gehen. Tulim ist die wichtigste Stadt auf der Welt, und die Allianz hat ein Büro dort.
+
+After the Great Fire... you don't find our world's Elli ever again.
+
+
+After turning it upside down, it finds something which makes it really happy: %s! And there's nothing a teddy likes more than honey.
+
+
+After waiting for the oil to dry, he hands you the string.
+Er wartet, bis das Öl trocken ist, und händigt Dir dann die Bogensehne aus.
+
+After you have confirmed the negotiation, a window with a vertical split will appear. The left side are the items you intend to offer in trading. The right side are the items that the other citizen intends to offer in trading.
+Nachdem Du das Geschäft bestätigt hast, erscheint ein Fenster mit einer vertikalen Teilung. Auf der linken Seite sind die Elemente, die Du geben willst. Auf der rechten Seite sind die Elemente, dass der Andere bieten will.
+
+After your questions I'm really getting worried about this guy with the mask. In retrospect it really seems suspicous.
+Nach Deinen Fragen bin besorgt über diesen Mann mit der Maske. Im Rückblick scheint es wirklich verdächtig.
+
+Again, you don't need to do both right now, but you probably will want to. Once you have a stable alternative income, I'll have... This paperwork sorted.
+Nochmals: Du musst nicht Beides gleichzeitig tun. Aber wahrscheinlich wilst Du. Wenn Du erst ein stabiles alternatives Einkommen hast, werde ich ... diesen Papierkram sortiert haben.
+
+Aggressors always know when they are in danger! Therefore, they are always on standby, attacking anyone who appears ahead.
+Aggressoren wissen immer, wenn sie in Gefahr sind! Daher sind sie immer in Bereitschaft, greifen Jeden an, den sie sehen.
+
+Agi Potion
+Agi Trank
+
+Agi+ Potion
+Agi + Trank
+
+Agi++ Potion
+Agi ++ Potion
+
+Agility
+Beweglichkeit
+
+Agility Fruit
+Beweglichkeitsfrucht
+
+Agostine
+Agostine
+
+Agostine takes the fur from your hands.
+Agostine nimmt Dir das Fell ab.
+
+Agostine, the Legendary Tailor
+Agostine, der Legendäre Schneider
+
+Ah no... That's not what I had to do... I wasted the potion...
+Ach nein ... Das ist nicht das, was ich zu tun hatte ... Ich verschwendete den Trank ...
+
+Ah yes... I make fine @@...
+Ah ja ... Ich mache feines @@ ...
+
+Ah!
+Ah!
+
+Ah! @@! I heard you helped Hinnak with his Pinkies problem!
+Ah! @@! Ich habe gehört, Du hast Hinnak mit seinem Pinkies-Problem geholfen!
+
+Ah! @@. A very rare drop!
+Ah! @@. Ein sehr seltener Drop!
+
+Ah! Actually nobody found one.
+Ah! Eigentlich fand niemand einen.
+
+Ah! Greedy humans! Couldn't we happy with little?
+Ah! Gierige Menschen! Könnten wir nicht mit wenig zufrieden sein?
+
+Ah! Greedy humans! End this war which our greed has stroke!
+Ah! Gierige Menschen! Beende diesen Krieg, der durch unsere Gier begann!
+
+Ah! Greedy humans! How ignorant were we, to ever do that?
+Ah! Gierige Menschen! Wie ignorant, so Etwas jemals zu tun!
+
+Ah! Greedy humans! Just how big is our greed?
+Ah! Gierige Menschen! Wie groß ist unsere Gier?
+
+Ah! Greedy humans! Stand up to save our world!
+Ah! Gierige Menschen! Steht auf um unsere Welt zu retten!
+
+Ah! Greedy humans! The Monster War will now rage the globe!
+Ah! Gierige Menschen! Der Monster Krieg wütet jetzt in der ganzen Welt!
+
+Ah! Greedy humans! Things will never be as they used to be!
+Ah! Gierige Menschen! Es wird niemals mehr so sein wie vorher!
+
+Ah! Greedy humans! We pay the price for our actions,
+Ah! Gierige Menschen! Wir zahlen den Preis für unser Handeln,
+
+Ah! Greedy humans! Why did we had to fight?
+Ah! Gierige Menschen! Warum mussten wir kämpfen?
+
+Ah! Greedy humans! Why had we to desire?
+Ah! Gierige Menschen! Warum mussten wir diesen Wunsch haben?
+
+Ah! I also want @@ @@.
+Ah! Ich will auch @@ @@.
+
+Ah! I know. Kill 10 @@. They are usually found in the fields, feeding on the crops.
+Ah! Ich weiss. Töte 10 @@. Sie halten sich normalerweise auf den Feldern auf und fressen unser Gemüse.
+
+Ah! I know. Kill 10 @@. They usually are near the mine's inn.
+Ah! Ich weiss. Töte 10 @@. Sie sind in der Regel in der Nähe der Minen Gaststätte.
+
+Ah, %s, a good thing you're here. You must help!
+Ah, %s. Gut, dass Du da bist. Du musst helfen!
+
+Ah, @@ is so amazing!
+Ah, @@ ist so erstaunlich!
+
+Ah, @@ is sooo amazing!
+Ah, @@ ist sooo unglaublich!
+
+Ah, @@ seems to be behind the @@ schedule again...
+Ah, @@ scheint wieder hinter dem @@ Zeitplan zu sein ...
+
+Ah, @@! I'm busy now, can we talk again later?
+Ah, @@! Ich bin jetzt beschäftigt, können wir später darüber reden?
+
+Ah, @@, good thing you are here.
+Ah, @@, gut, dass Du da bist.
+
+Ah, @@, my friend! Are you here to help us with 5 @@? Or perhaps you have 5 more @@ to show that Hurnscald is getting safer?
+Ah, @@, mein Freund! Bist Du hier um uns mit weiteren 5 @@ zu helfen? Oder vielleicht hast Du weitere 5 @@, um zu zeigen, dass Hurnscald immer sicherer wird?
+
+Ah, @@, welcome!
+Ah, @@, Willkommen!
+
+Ah, Halinarzo... Dangerous place. Tulimshar route is plagued with snakes, Hurnscald route is more often than not flooded.
+Ah, Halinarzo ... gefährlicher Ort. Tulimshar Route ist mit Schlangen verpestet, die Hurnscald Route ist reichlich oft überflutet.
+
+Ah, Hasan... Sorry pal, afraid I can't do anything for you. Try talking to his mother Sorfina, she is in Mahoud's house, near the Inn.#0
+
+
+Ah, Hasan... Sorry pal, afraid I can't do anything for you. Try talking to his mother Sorfina, she is in Mahoud's house, near the Inn.#1
+
+
+Ah, I am lively again. I wish I could just raise from this bed and do some exercise, but the Nurse refuses to let me go.
+Ach, mir geht es wieder gut. Ich wünschte, ich könnte raus aus diesem Bett und einige Übungen machen, aber die Krankenschwester will mich nicht gehen lassen.
+
+Ah, I can also cure you, if you need.
+Ah, ich kann Dich auch heilen, wenn nötig.
+
+Ah, I guess you want to fight at the cave north of me...
+Ach, ich denke, Du willst in der Höhle nördlich von hier kämpfen ...
+
+Ah, I hate mushrooms. Perhaps in future, I could use their spikes and mushies.
+Ah, ich hasse Pilze. Vielleicht in Zukunft könnte ich ihre Spikes und mushies verwenden.
+
+Ah, I hate snakes. Perhaps in future, I could use their tongues.
+Ah, ich hasse Schlangen. Vielleicht in Zukunft könnte ich ihre Zunge benutzen.
+
+Ah, I have enough @@ for a life! Take this EXTREMELY RARE @@. Good job!
+Ach, ich habe genug @@ für ein Leben! Nehmen Sie dieses EXTREM SELTENE @@. Gut gemacht!
+
+Ah, I just wanted @@... Yummy, lovely @@...
+Ah, ich wollte nur @@ ... Yummy, schöne @@ ...
+
+Ah, I love mouboos. But their steaks, hmm. Ah, no, I shouldn't eat that...
+Ah, ich liebe mouboos. Aber ihre Steaks, hmm. Ah, nein, ich sollte das nicht essen ...
+
+Ah, I see you have some used gloves. I'm not sure if you can even mine with it...
+Ah, ich sehe, Sie haben ein Paar gebrauchte Handschuhe. Ich bin nicht sicher, ob sie für Bergbau geeignet sind ...
+
+Ah, I see, I imagine you'll wear something different then... But please come back.
+Ah, ich sehe, ich kann mir vorstellen, dass Du etwas Anderes tragen willst... Aber bitte komm wieder.
+
+Ah, I wish I got something for helping people out...
+Ach, ich wünschte, ich hätte Etwas, um den Menschen zu helfen...
+
+Ah, I wonder how my mother Swezanne is faring...
+Ach, ich frage mich, wie meine Mutter Swezanne geht ...
+
+Ah, Peetu. I really appreciate his sense for high quality work. The requirements to become a helper of a sage are already high, but Peetu is outstanding. He has a talent for magic and combined with his diligence, it's quite remarkable.
+Ah, Peetu. Ich schätze seinen Sinn für qualitativ hochwertige Arbeit wirklich. Die Anforderungen für einen Helfer eines Weisen sind bereits hoch, aber Peetu ist hervorragend. Er hat ein Talent für Magie und kombiniert mit seinem Fleiß ist er ziemlich bemerkenswert.
+
+Ah, Sunday. What better time to go to church?
+Ah, Sonntag. Gibt es eine bessere Zeit, zur Kirche zu gehen?
+
+Ah, but don't distress them if you can't save her! My precious daughter life is more important than anything!
+Ah, aber bedränge sie nicht, wenn Du sie nicht retten kannst! Das Leben meiner Tochter ist kostbarer als alles Andere!
+
+Ah, don't bother me with that. That wood must be special, it must bend and cannot break. Too difficult to find!
+Ah, belästige mich nicht damit. Das Holz muss besonders sein. Es muss sich biegen lassen, darf aber nicht brechen. Zu schwierig zu finden!
+
+Ah, fighting monsters under this desert heat makes me thirsty. But someone must do this job, otherwise Tulimshar could fall.
+Ah, Monster in dieser Wüstenhitze zu bekämpfen macht mich durstig. Aber jemand muss diesen Job machen, sonst könnte Tulimshar fallen.
+
+Ah, getting experience is hard, too... I would stay within the city. Hit and Run tactics works the best.
+Ah, Erfahrung bekommen ist schwer, auch ... Ich würde innerhalb der Stadt bleiben. Hit and Run Taktik funktioniert am besten.
+
+Ah, good. You didn't even bother poisoning it? Hahah, that's great, %s! Here is a couple skins I had lying around, may be useful.
+
+
+Ah, hello there! I am @@, a Redy alchemist.
+Ah, hallo Du! Ich bin @@, ein Redy Alchimist.
+
+Ah, hello there, funny face! Do you want to refine items?
+Ah, hallo Du, lustiges Gesicht! Willst Du Gegenstände verbessern?
+
+Ah, hello! It is good to see another traveler in this town!
+Ah, hallo! Es ist gut, einen anderen Reisenden in dieser Stadt zu sehen!
+
+Ah, hello.
+Ah, hallo.
+
+Ah, hello... is it @@? Nice to meet you!
+Ah, hallo ... bist Du es, @@? Freut mich, dich kennenzulernen!
+
+Ah, if Jack and that fisherman from Halinarzo still gave me materials...
+Ach, wenn Jack und dieser Fischer aus Halinarzo mir noch die Materialien geben würden...
+
+Ah, if it isn't @@? You're the talk of the town!
+Ach, wenn es nicht @@ ist? Du bist das gespräch der Stadt!
+
+Ah, it is not the same. Not the same.
+Ach, das ist nicht das Gleiche. Nicht das Gleiche.
+
+Ah, living in Halinarzo is so difficult...
+Ach, in Halinarzo leben, ist so schwer ...
+
+Ah, my daughter Silvia is so far away... But I don't want to leave the shade of this tree...
+Ach, meine Tochter Silvia ist so weit weg ... Aber ich will nicht den Schatten dieses Baumes verlassen ...
+
+Ah, my husband Hinnak is so hard working...
+Ah, mein Mann Hinnak arbeitet so hart ...
+
+Ah, nice to know.
+Ah, schön zu wissen.
+
+Ah, not now...
+Ah, nicht jetzt ...
+
+Ah, personally I don't use it?
+Ah, ich selbst verwende es nicht?
+
+Ah, research points (RP). They are knowledge which can be used in honing your skills.
+Ah, Forschungspunkte (RP). Das ist Wissen, das Du zur Verbesserung Deiner Fähigkeiten verwenden kannst.
+
+Ah, so LOF Bot wants a souvenir after all!
+Ah, also LOF BOT will einfach ein Souvenir!
+
+Ah, so you must be %s, the new guy! Yes, it is on the rooms upstairs. I'll bring you there, don't you worry a thing!
+Ah, also Du musst %s sein, der Neue! Ja, es ist oben. Ich bring Dich hin. Keine Sorge!
+
+Ah, so you think you can fool me?
+Ah, Du glaubst also, mich reinlegen zu können?
+
+Ah, so you're willing to help? Great! Because I HATE THEM ALL!
+Ah, Du bist also bereit zu helfen? Klasse! Ich hasse sie nämlich alle!
+
+Ah, sorry, of course. I need quite a few herbs, look:
+Ah, sorry, natürlich. Ich brauche folgende Kräuter:
+
+Ah, that was tiresome... I'll go make a reward for them, talk to me again later.
+Ah, das war ermüdend ... Ich werde eine Belohnung für sie machen, sprich mich später noch einmal an.
+
+Ah, the Professors will get mad at me again...
+Ah, der Professor wird wieder wütend auf mich sein...
+
+Ah, the kids are playing hide and seek, but I am afraid they went too far. A monster attack could start anytime, after all.
+Ah, die Kinder spielen Verstecken, aber ich fürchte, sie sind zu weit gegangen. Ein Monster Angriff könnte zu jeder Zeit stattfinden.
+
+Ah, the originals. Had the displeasure to met a few of them in the past and in the future with my time machine.
+
+
+Ah, there are lots on the miners cave.
+Ah, es gibt viele Bergbau Höhlen.
+
+Ah, there are lots with Melina, downstairs.
+Ah, Melina hat viele, die Treppe hinunter.
+
+Ah, traveller! I am Lilica the Scary Bunny! I exchange many @@ and @@ for neat rewards!#0
+Ah, reisender. Ich bin Lilica, der furchtbare Hase. Ich tausche @@ und @@ für schöne Belohnungen!#0
+
+Ah, traveller! I am Lilica the Scary Bunny! I exchange many @@ and @@ for neat rewards!#1
+Ah, reisender. Ich bin Lilica, der furchtbare Hase. Ich tausche @@ und @@ für schöne Belohnungen!#1
+
+Ah, uhm, I'm not sure. We at Candor don't need much.
+Ah, ähm, ich bin nicht sicher. Wir in Candor brauchen nicht viel.
+
+Ah, we have serious problems of robbery. I need someone really strong to help me, and you don't qualify.
+Ah, wir haben ernsthafte Probleme mit Räubern. Ich brauche jemand wirklich starken, der mir hilft, und Du bist nicht stark genug.
+
+Ah, welcome @@. You have @@ Contributor Points.
+Ah, willkommen @@. Du hast @@ Contributor Punkte.
+
+Ah, welcome. Please, don't be afraid of my look, Saulc GM assigned me to here.
+Ah, willkommen. keine Bange vor meinem Aussehen, Saulc GM hat mich hier zugewiesen.
+
+Ah, what a wonderful day.
+Ach, was für ein wunderbarer Tag.
+
+Ah, wonderful! This is a page we haven't found yet!
+Ah, wunderbar! Dies ist eine Seite, die wir noch nicht gefunden haben!
+
+Ah, yes... You see, there is just no task I can give to you right now. ##BYou are too weak to fight monsters.##b
+Ah, ja... Sieh mal, ich habe für Dich im Moment keine Aufgabe. ##BDu bist nicht stark genug um Monster zu bekämpfen.##b
+
+Ah, yes... You see, there is just no task I can give to you right now. You are too weak to fight these monsters.
+Ah, ja ... Sieh mal, ich habe für Dich im Moment keine Aufgabe. Du bist zu schwach, diese Monster zu bekämpfen.
+
+Ah, you might have seen a treasure chest on the mines. There are several of these chests to loot, and loot again! Here is a @@. Try it!
+Ah, Du hast vielleicht eine Schatzkiste in den Minen gesehen. Es gibt mehrere dieser Kisten zum ausräumen und wieder ausräumen! Hier ist ein @@. Versuch es damit!
+
+Ah, you really deserve this @@. Good job!
+Ah, Du verdienst wirklich diese @@. Gut gemacht!
+
+Ah, you'll find on the Land Of Fire Village four transcendence gates.
+Ah, Du kannst auf dem Land Of Fire Dorf vier Transzendenz Tore finden.
+
+Ah.
+Ah.
+
+Ah... A @@. The sturdiest from all mushroom, and very, very rare.
+Ah ... A @@. Die stabilsten von allen Pilzen, und sehr, sehr selten.
+
+Ah... I need more beer to keep going... This is so awful...
+Ah ... Ich brauche mehr Bier um weiter zu machen ... Das ist so schrecklich ...
+
+Ah... I see. You are a lost soul, without parents, lost on the world with only some basic stuff.
+Ah ich sehe. Sie sind eine verlorene Seele, ohne Eltern, verloren in der Welt mit nur einer Grundausrüstung.
+
+Ah... Santa's helpers sure eat a lot. I'm sure gift delivery is hard for them.
+Ah ... Santa's Helfer essen sicher eine Menge. Ich bin sicher, Geschenk Lieferung ist hart für sie.
+
+Ah... Slimes... Sorry, not my cup of tea...
+Ah ... Slimes ... Sorry, nicht mein Bier ...
+
+Ah... Sorry, your name is not on the contributor list.
+Ah ... Sorry, Dein Name ist nicht auf der Contributor Liste.
+
+Ah... The mayor. The current mayor. Why do you even want to talk to him, anyway?
+Ah ... Der Bürgermeister. Der aktuelle Bürgermeister. Warum wollen Sie überhaupt mit ihm reden?
+
+Ah... Was I warped?
+Ah ... War ich teleportiert?
+
+Ah... Well, ok. I'll do the powder for you, but you still need to bring me the material.
+Ah ... Nun ja, ok. Ich werde für Dich das Pulver machen, aber Du musst mir noch das Material bringen.
+
+Ah... What is happening to meeeeeeee?
+Ah ... Was geschieht mit miiiiiiir?
+
+Ah... You did it!
+Ah ... Du hast es geschafft!
+
+Ah... You have one too. Be careful with it, please. Many people lost their lives because they didn't handled that correctly.
+Ah ... Sie haben auch einen. Seien Sie vorsichtig mit damit, bitte. Viele Menschen verloren ihr Leben, weil sie das nicht richtig behandelt hat.
+
+Ah...! POLICE! POLICE! Quick, send this cheating thief to jail!!
+Ah...! POLIZEI! POLIZEI! Schnell, diesen Betrüger und Dieb ins Gefängnis stecken!!
+
+Aha! I knew you were a boring person...
+Aha! Ich wusste, dass Du langweilig bist ...
+
+Aha! So that's what it was! The map was hiding its secrets in drawings made with acid. An old technique... But a very useful one.
+
+
+Ahahahah, do you really think I'll accept legs if you don't help me cleaning my fields?
+Ahahahah, glaubst Du wirklich, ich würde die Beine akzeptieren, ohne dass Du mir hilfst, meine Felder zu säubern?
+
+Ahh, he'll be so happy! Thanks! You can keep this.
+
+
+Ahh, that's a pity... Well, just talk to me with enough money and I'll gladly fix that for you! %%0
+Ahh, das ist schade... Nun, komm wieder, wenn Du genug Geld hast, und ich flicke das gerne für Dich! %%0
+
+Ahh, too many items. Sorry.
+Ahh, zu viele Teile. Es tut uns leid.
+
+Ahoi.
+Ahoi.
+
+Ahoy matey!
+Ahoi Kamerad!
+
+Ahoy! Hey, you, new person! Could you come here?!
+Ahoy! Hey Du, Neuer! Könntest Du bitte mal herkommen?!
+
+Ahoy, @@!
+Ahoi, @@!
+
+Aidan
+Aidan
+
+Aidan and Pet Detective
+
+
+Aidan, the Monster Guide
+Aidan, der Monster-Führer
+
+Airlia
+Airlia
+
+Airlia told me you should lend me a Return Potion.
+Airlia mir gesagt, man sollte mir einen Return-Trank geben.
+
+Airship
+Luftschiff
+
+Aisen Card
+Aisen-Karte
+
+Alaion
+
+
+Alan
+Alan
+
+Alchemist Armor
+Alchemist Rüstung
+
+Alchemist Helmet
+Alchemist Helmet
+
+Alchemy
+Alchimie
+
+Alchemy Blueprint A
+Alchemy A Blaupause
+
+Alchemy Blueprint B
+Alchemy Blaupause B
+
+Alchemy Blueprint C
+Alchemy Blaupause C
+
+Alchemy Blueprint D
+Alchemy Blaupause D
+
+Alchemy Blueprint E
+Alchemy Blaupause E
+
+Alchemy Cauldron
+
+
+Alchemy Master Challenge
+
+
+Alchemy Recipes
+Alchemy Rezepte
+
+Alchemy Recipes.
+Alchemy Rezepte.
+
+Alchemy Set#MKHB
+
+
+Alchemy Shop
+Alchemy-Laden
+
+Alchemy Table brewing
+Alchemy Brau-Tabelle
+
+Alchemy Table:
+Alchemy Tabelle:
+
+Alchemy. The art of having quasi-magical effects without magic.
+Alchimie. Die Kunst, quasi-magische Effekte ohne Magie zu haben.
+
+Alcohol effects expire upon death. You need vitality to drink more beer.
+Alkohol Effekte verfallen nach dem Tod. Du brauchst mehr Vitalität um mehr Bier trinken zu können.
+
+Alicia
+Alicia
+
+Alige
+Alige
+
+Alige hands you an old paper patch.
+Alige Hände Sie ein altes Papier Patch.
+
+Alizarin Herb
+Alizarin Kraut
+
+Alizarin Plant
+Alizarin Pflanze
+
+All I can say is that you were born there, and moved by the age of 4, but to where? I don't know.
+Ich kann nur sagen, dass Du dort geboren wurdest, und im Alter von 4 weggezogen bist. Aber wohin weiß ich nicht.
+
+All In One
+Alles zusammen
+
+All Peetu have been doing the past hours was crying, and crying, and crying some more. I can't barely sleep hearing his cries from my room.
+Alles was Peetu die letzten Stunden getan hat, ist heulen. Ich kann durch sein Geheule kaum schlafen.
+
+All Stats +1
+Alle Stats +1
+
+All Stats +1, Agi +5
+
+
+All Stats +1, Block +2%
+
+
+All Stats +1, MDEF +30%
+
+
+All Stats +1, Max HP +1%
+
+
+All Stats +1, Max HP +1%, Max MP +5%
+
+
+All Stats +1, Vit +2
+
+
+All Stats +2
+
+
+All Stats +5
+
+
+All Stats temporarily raised!
+Alle stats vorübergehend angehoben!
+
+All arenas stay open for only 30 minutes after being purchased.
+Alle Arenen bleiben nach dem Bezahlen für 30 Minuten offen.
+
+All black scorpions are dead! Go back to Tycoon.
+Alle schwarzen Skorpione sind tot! Zurück zu Tycoon.
+
+All candor scorpions are dead!
+Alle Candor Skorpione sind tot!
+
+All cave maggots are dead! Go back to Tycoon.
+Alle Höhlenmaden sind tot! Zurück zum Tycoon.
+
+All cave snakes are dead! Go back to Tycoon.
+Alle Höhlenschlangen sind tot! Zurück zum Tycoon.
+
+All cheaters must die.
+Alle Betrüger müssen sterben.
+
+All four Dungeons must be completed.
+
+
+All hail @@ and Andrei Sakar, heroes of the world!
+Alle bejubeln @@ und Andrei Sakar, die Helden der Welt!
+
+All hail the ones who proven their worth before the whole Alliance!
+Alle bejubeln diejenigen, die ihren Wert vor der ganzen Allianz bewiesen haben!
+
+All hope was lost. We failed to protect it. We lost everyone who challenged the Monster King. Killed without mercy.
+Alle Hoffnung war verloren. Ist uns nicht gelungen, sie zu schützen. Wir verloren alle, die den Monster König herausgefordert haben. Getötet ohne Gnade.
+
+All house maggots are dead!
+Alle Hausmaden sind tot!
+
+All leaderboards are refreshed hourly.
+Alle Ranglisten werden stündlich aktualisiert.
+
+All maggots are dead!
+Alle Maden sind tot!
+
+All mana bugs are dead!
+Alle Mana Bugs sind tot!
+
+All monsters may drop chocolate during this period. And here is one for you!
+Alle Monster lassen Schokolade fallen während dieser zeit. Und hier ist eine für Dich!
+
+All monsters summoned!
+Alle Monster beschworen!
+
+All my parents, grandparents, until the world was born, are from Tulimshar.
+Alle meine Eltern, Großeltern, bis zum Anbeginn der Welt, sind von Tulimshar.
+
+All of my money.
+All mein Geld.
+
+All quests expire at 00:00 server time, be sure to finish AND report back before that!
+
+
+All rattos are dead! Go back to Tycoon.
+Alle Rattos sind tot! Zurück zu Tycoon.
+
+All red scorpions are dead! Go back to Tycoon.
+Alle roten Skorpione sind tot! Zurück zum Tycoon.
+
+All scoreboards are refreshed hourly.
+Alle Ranglisten werden stündlich aktualisiert.
+
+All scorpions are dead!
+Alle Skorpione sind tot!
+
+All she told me was that I needed to visit Halinarzo, but was too weak, and should look for you instead.
+Alles, was sie mir sagte, war, dass ich Halinarzo besuchen sollte, war aber zu schwach, und sollte stattdessen nach Dir Ausschau halten.
+
+All spring it is the same thing... The instruments stop working!
+Jeden Frühling ist es das Gleiche ... Die Geräte funktionieren nicht mehr!
+
+All the %ss have become a real nuisance to the citizens and people are getting stung more often now.
+
+
+All this seems unimportant to you right now.
+All das scheint Dir momentan unwichtig zu sein.
+
+All torches are lit!
+Alle Fackeln leuchten!
+
+All warp technology, be it crystal-based, potion-based, or mechanic-based, relies on timespace distortions.
+Alle Warp-Technologie, seien es Kristall-basiert, Trank-basiert oder Mechanik-basiert, beruhen auf Raum-Zeit-Verzerrungen.
+
+All you need to do then is walk outside, enter on the biggest house, and talk to the Trainer. He'll teach you everything.
+Alles, was Du tun musst, ist rausgehen, das größte Haus betreten und den Trainer anzusprechen. Er wird Dich alles lehren.
+
+Alliance Guard
+Allianz Wache
+
+Alliance Hero#FoS
+Allianz Held#FoS
+
+Alliance Officer
+Allianz Offizier
+
+Alliance members (sponsors) are allowed inside the Council Room.
+Allianz-Mitglieder (Sponsoren) innerhalb des Rathauses erlaubt.
+
+Alliance members are those who [@@https://patreon.com/TMW2|sponsor us@@].
+Allianz-Mitglieder sind diejenigen, die [@@ https: //patreon.com/TMW2 | uns sponsern @@].
+
+Alliance members are those who [@@https://tmw2.org/contact|sponsor us@@].
+
+
+Allowed
+Erlaubt
+
+Allows to attack right after casting.
+Ermöglicht den Angriff direkt nach dem Zaubern
+
+Almanac
+Almanach
+
+Almost all creatures drop useful items when defeated. To get the dropped item press the 'Z' key next to the item or click the primary button on the item.
+Fast alle Kreaturen lassen nützliche Gegenstände fallen, wenn besiegt. Um den gegenstand aufzuheben, benutze die 'Z' Taste neben dem Geganstand, oder klicke die primärte Maustaste auf das Element.
+
+Almost all documents were lost, destroyed or damaged. I cannot even find your parents name.
+Fast alle Dokumente verloren, zerstört oder beschädigt. Ich kann nicht einmal die Namen Deiner Eltern finden.
+
+Almost there! The War Lord will be proud with this new armor I am inventing for him! Just a little more...!
+Fast fertig! Der Kriegsherr wird auf diese neuen Rüstung stolz sein, die ich für ihn erfinde! Ein klein wenig mehr...!
+
+Alone
+Allein
+
+Alpha Mouboo
+Alpha Mouboo
+
+Alpha Mouboo Hat
+Alpha Mouboo Hut
+
+Alright, I don't like PVP anyways...
+Gut, ich mag PVP sowieso nicht...
+
+Alright, I have them here!
+In Ordnung, ich habe sie hier!
+
+Alright, I will help.
+
+
+Alright, I'll look in the archives. I'll have an answer for you in @@. Meanwhile, why don't you suppress the bandits on the cliff?
+In Ordnung, ich werde in den Archiven suchen. Ich werde eine Antwort für Dich in @@ haben. Inzwischen, warum nicht die Banditen auf der Klippe kurz halten?
+
+Alright, I'll pay.
+
+
+Alright, I'll show up later. Thanks for calling me. Here's 1000 GP for your efforts.
+In Ordnung, ich werde später kommen. Vielen Dank dass Du mich gerufen hast. Hier ist 1000 GP für Deine Bemühungen.
+
+Alright, PARTY TIME!
+In Ordnung, PARTY-ZEIT!
+
+Alright, good bye.
+In Ordnung, Tschüß.
+
+Alright, you've not only proven your worth, but you've went through most monsters in the desert close to the town.
+Okay, Du habst Dich nicht nur bewährt, aber Du bist mit fast allen Monstern in der Wüste bei der Stadt fertig geworden.
+
+Alright.
+In Ordung.
+
+Alright. A new world. What mysteries await for me behind that wooden door?
+
+
+Alright. I wish you good luck in your studies.
+In Ordung. Ich wünsche Dir viel Glück in Deinem Studium.
+
+Alright. Listen, you'll need %s to summon it, and you cannot be alone. I only have so much of that to share, so be careful to don't use all.
+In Ordnung. Hör zu: Um es zu beschwören, brauchst Du %s. Und es ist nicht möglich, es allein zu tun. Mehr weiss ich nicht. Also sei vorsichtig und verbrauch nicht gleich Alles.
+
+Alright. Now to give your quest. But not now, you're still weak. Come back later, will you.
+
+
+Alright. Then please don't go too deep on the library, it is dangerous.
+In Ordung. Aber geh nicht zu tief in die Bibliothek, es ist gefährlich.
+
+Alright... Bye.
+Ok... Tschüß.
+
+Also in honor of @@, who did a great act of bravery recently. May they keep protecting our world!
+Auch zu Ehren von @@, der vor kurzem einen großen Akt der Tapferkeit tat. Mögen sie unsere Welt weiterhin schützen!
+
+Also in honor of the other two sages, %s and %s. And finally, notable mention for the noble %s, %s and %s, for sponsoring this Academy.
+Auch zu Ehren der zwei anderen Sages, %s und %s. Und abschließend, die noblen %s, %s und %s nicht vergessen, die diese Akademie unterstützt haben.
+
+Also known as TMW2 Day, it celebrates the server founding,
+Auch bekannt als TMW2 Tag, an dem der Tag der Servergründung gefeiert wird,
+
+Also near the market, look for %s. He is the chief of the City Guard. Ask if he need help, and help him!
+Ausserdem such nach %s, in der Nähe des Marktes. Er ist der Chef der Stadtwache. Frag ihn, ob er Hilfe braucht, und hilf ihm!
+
+Also note that if you are in overweight, your natural regen will halt. 90% in weight, and you won't be able to attack.
+Achte darauf, dass, wenn Du zu viel mit Dir herumschleppst, gibt es keine natürliche Regeneration mehr. Ab 90% Ladekapazität ist ein Angriff unmöglich.
+
+Also note that, under team's discretion, all rewards from this quest might be erasen along quest state.
+Beachte auch, dass, nach Ermessen des teams, alle Belohnungen von dieser Quest während der Dauer dieser Quest gelöscht werden können.
+
+Also worth mentioning is how to improve your ability to shoot fast. You need to be agile to grab a new arrow from your quiver and aim for the next shot before your enemy has recovered from your last.
+Erwähnenswert ist auch, wie Du Deine Fähigkeit verbesserst, schnell zu schießen. Du musst einen hohen Wert in AGI haben, um einen neuen Pfeil aus dem Köcher zu ziehen und zu zielen, bevor Dein Gegner sich vom letzten erhohlt hat.
+
+Also you can ask how much he already save for you by checking your balance.
+Ausserdem kannst Du nach dem Kontostand fragen.
+
+Also your strength doesn't matter much. It helps you to carry more arrows with you, but nothing a few trips to the store won't do.
+Deine Stärke ist unwichtig. Es hilft Dir, mehr Pfeile zu tragen, aber nichts ein paar Ausflüge in den Laden nicht ebensogut erledigen können.
+
+Also, Halinarzo is famous for the depleted mana mines in the town. You probably won't find a mana stone there, but it might be cool to look.
+Halinarzo ist ausserdem berühmt für die erschöpften Mana Minen in der Stadt. Sie werden wahrscheinlich keinen Mana Stein dort mehr finden, aber nachsehen ist cool.
+
+Also, I believe hard work always pay off.
+Ich glaube, harte Arbeit zahlt sich immer aus.
+
+Also, I don't care if you don't like the @@. That's the weapon a true archer should use!
+Es ist mir egal, ob Du die @@ magst. Das ist die Waffe die ein echter Schütze verwenden sollte!
+
+Also, I don't know what Sage will be their next target. I'm... A bit concerned with Sagratha. As she choose to live with wildlife and all, we sorta don't know a lot of what happens with her.
+Auch ich weiß nicht, welcher Sage ihr nächstes Ziel sein wird. Ich bin ... ein bisschen über Sagratha besorgt. Seit sie mit wilden Tieren und so zu leben gewählt hat, wissen wir nicht viel über sie.
+
+Also, I don't think we will be able to go back if we pick the wrong way.
+Ausserdem denke ich, dass wir nicht zurück können, wenn wir den falschen Weg wählen.
+
+Also, I see you're a newly registered mage. Am I right?
+Auch sehe ich, dass Du ein neu registriert Magier bist. Habe ich Recht?
+
+Also, Summer just started. Why not taking this opportunity to go Treasure Hunting?!
+Der Sommer hat gerade erst begonnen. Warum nicht die Gelegenheit wahrnehmen und auf Schatzsuche gehen?!
+
+Also, Yetis can be crafty at times. I think someone on Hurnscald Household knew a lot about them, you might want to ask them if you ever feel struck.
+Auch können Yetis manchmel listig sein. Ich glaube, jemand in Hurnscald wußte viel über sie. Du könntest dort fragen, wenn Du mal nicht weiter kommst.
+
+Also, do you have the stolen item?
+Außerdem hast Du den gestohlenen Artikel?
+
+Also, have a %s on the house!
+
+
+Also, hidden in a forest which is not hot nor cold, is the Gold Pot Cauldron...
+Ausserdem gibt es im Wald, wo es weder kalt noch heiss ist, den Gold-Topf...
+
+Also, if I move away from the singularity during disarm process, it'll be lost.
+Auch, wenn ich von der Singularität während entwaffnungsprozesses wegbewege, wird es verloren sein.
+
+Also, job levels get really hard to obtain after a while. The decision is up to you, just be aware there's that possibility.
+Auch wird es nach einer Weile schwer werden, neue Job Level zu erhalten. Die Entscheidung liegt bei Dir, nur sei Dir bewusst, dass es diese Möglichkeit gibt.
+
+Also, listen well, because there are traps and dangers on the whole way. Their leader sealed themselves in safety.
+Ausserdem, hör gut zu: Es gibt Fallen und gefahren auf dem ganzen Weg. Ihre Anführer haben sich sicher eingeschlossen.
+
+Also, most monsters get enraged and will attack whoever is closest to them, regardless of anything else.
+Außerdem werden die meisten Monster wütend und greifen Jeden an, der ihnen am nächsten ist, und zwar unabhängig von irgendetwas anderem.
+
+Also, south of here are mines. Talk to Tycoon for information about it.
+Ausserdem gibt es südlich von hier Minen. Frag Tycoon nach Informationen.
+
+Also, take this book so you don't forget the rules. You can always read it, or type ##B@rules##b on the chat.
+Ausserdem nimm dieses Buch, so dass Du die Regeln nicht vergisst. Du kannst es jederzeit lesen, oder gib ##B@rules##b im Chat ein.
+
+Also, take this. It's time to you learn to craft your own weapon. Talk to Nicholas in Hurnscald forge to make an awesome @@. Or use it on some other craft, it is your choice.
+Ausserdem nimm das hier. Es ist Zeit, zu lernen, Deine eigene Waffe Herzustellen. Sprich mit Nicholas in der Hurnscald Schmiede, um eine wirklich herausragende @@ zu machen. Oder nutze es für ein anderes Handwerk. Es liegt bei Dir.
+
+Also, the Inn folks said the Ducks keep bothering them, but they've noticed a small decrease already.
+
+
+Also, the more players survive, the better rewards will be given.
+Ausserdem, je mehr Spieler überleben, desto höher wird die Belohnung sein.
+
+Also, they can control the city taxes, which are applied upon purchases and sales within the town.
+Ausserdem legen sie die Stadtsteuern fest, die auf Käufe und Verkäufe in der stadt anfallen.
+
+Also, they level up when they attack, and can be revived with the right skill.
+Ausserdem leveln sie, wenn sie angreifen, und können mit den richtigen Fähigkeiten wiederbelebt werden.
+
+Also, unlike regular magic which may cause delay before and after, Mana Magic usually only have a cooldown. But it is hard to know how long that cooldown is...
+Im Gegensatz zu regulären Magie, die davor und danach Verzögerung verursachen kann, hat Mana Magie in der Regel nur eine Abklingzeit. Aber es ist schwer zu sagen, wie lange die Abklingzeit ist ...
+
+Also, you need vitality and strength to survive the swimming trip. The closest island is very far away.
+Außerdem brauchst Du Vitalität und Kraft, um den Schwimmausflug zu überleben. Die nächstgelegene Insel ist sehr weit weg.
+
+Also, you'll get more experience by killing monsters stronger than you, and less experience by killing monsters weaker than you.
+Außerdem bekommst Du mehr Erfahrung von Monster, die stärker sind als du, und weniger durch das Töten von Monstern, die schwächer sind.
+
+Also...
+Ausserdem...
+
+Also: You'll be able to rebirth at Tulimshar with Jakod. What are you waiting for?!
+
+
+Alternatively, %s, the World Hero, should also be able to do it.
+Alternativ sollte %s, der Welt-Held, ebenfalls in der Lage sein, dies zu tun.
+
+Alternatively, I think someone at the Land Of Fire Village is able to refine some items. Why don't you try it sometime?
+Andererseits denke ich, dass jemand im Land Of Fire Dorf in der Lage ist, einige Elemente zu verfeinern. Warum versuchst Du es nicht mal?
+
+Alternatively, download a bleeding edge build at [@@https://manaplus.germantmw.de/|https://manaplus.germantmw.de/@@]
+
+
+Although I really want the Sailor's Hat, but daggers are dangerous for kids to play with.
+Obwohl ich den Seemannshut wirklich haben möchte, aber Dolche sind gefährlich für Kinder zum spielen.
+
+Although KOLCHAK managed to rank first in almost every ranking, Jesusalva was too close, and the Crafting gave him the edge he needed to take first place.
+Obwohl KOLCHAK in jedem Ranking erster war, war Jesusalva zu nahe dran, und das Handwerk gab ihm den Vorteil, um den ersten Platz zu erreichen.
+
+Although the more powerful you are, the more money you will need.
+Obwohl, je leistungsfähiger Du bist, desto mehr Geld wirst Du brauchen.
+
+Although this particular one seems to hate everyone and everything, it recognizes your strength.
+Obwohl dieses spezielle Alles und Jeden hasst, erkennt es Deine Stärke.
+
+Alvasus
+Alvasus
+
+Alvasus Pendant
+Alvasus Anhänger
+
+Always a pleasure to help.
+Immer ein Vergnügen, zu helfen.
+
+Always use %s
+Benutze immer %s
+
+Amazing. Five gifts for all. With 3200, we could supply nomad tribes...
+Toll. Fünf Geschenke für alle. Mit 3200 konnten wir Nomadenstämme beliefern ...
+
+Amazing. I think you found all the missing pages of which we didn't have a copy. This is a great help! I'll mention this to Nikolai.
+Toll. Ich glaube, Du hast alle fehlenden Seiten gefunden, von denen wir keine Kopie hatten. Dies ist eine große Hilfe! Ich werde dies bei Nikolai erwähnen.
+
+Amelia
+
+
+Amelia looks much more cheerful than the last time you've met her.
+
+
+Amethyst
+Amethyst
+
+Amethyst (+2 dex)
+Amethyst (+2 DEX)
+
+Amethyst Bif
+Amethyst Bif
+
+Amethyst Powder
+Amethyst Powder
+
+Ammo? I prefer power gloves! That is useless for me!
+Munition? Ich ziehe Macht Handschuhe vor! Das ist nutzlos für mich!
+
+Amount?
+Menge?
+
+An Airship? It is just a ship. Which flies.
+Ein Luftschiff? Es ist einfach nur ein Schiff, as fliegt.
+
+An academy was built north of Tulimshar, and later, the Land of Fire Village was also built, symbol of progress, development and research.
+
+
+An account may vote anywhere, but only once per town (weekly).
+Ein Konto kann überall abstimmen, aber nur einmal pro Stadt (wöchentlich).
+
+An assassin
+
+
+An emergency skill which temporarily raises all your stats.
+Eine Notfallfähigkeit, die temporär alle deine Stats anhebt.
+
+An error happened: professor_was_assasinated() error
+Ein Fehler ist passiert: professor_was_assasinated() error
+
+An error happened: unitwalk failed
+Ein Fehler ist passiert:: unitwalk fehlgeschlagen
+
+An error on your travel happened. Please report.
+Ein Fehler ist auf der Reise passiert. Bitte melden.
+
+An error on your travel time happened. Please report.
+Ein Fehler ist auf Ihrer Reisezeit passiert. Bitte melden.
+
+An error with Stranger#LoF happened! Please report!!
+Es ist ein Fehler mit Stranger#LoF passiert! Bitte melden!!
+
+An event is happening at Aeros! Hurry up!
+Ein Ereignis geschieht bei Aeros! Beeile dich!
+
+An event to prepare for the Steam Release
+Ein Ereignis zur Vorbereitung auf das Steam Release
+
+An example is dec agi, which lowers your agility.
+Ein Beispiel ist dec agi, was Deine Beweglichkeit reduziert.
+
+An unlimited number of members can join.
+Eine unbegrenzte Anzahl von Mitgliedern kann teilnehmen.
+
+An upgrade is available.
+Ein Upgrade ist verfügbar.
+
+Ancient Blueprint
+Antike Blaupause
+
+Ancient Shield
+Antikes Schild
+
+Ancient Sword
+Antikes Schwert
+
+And Demure, the Queen of Dragons.
+Und Demure, die Drachenkönigin.
+
+And I'm not talking only about humans here! But perhaps, if you build a good reputation, she teaches you something.
+Und ich spreche nicht nur über die Menschen hier! Aber vielleicht, wenn Sie einen guten Ruf aufzubauen, sie lehrt Sie etwas.
+
+And a commission of @@/@@ GP.
+Und eine Provision von @@ / @@ GP.
+
+And a great threat they shall defeat.
+Und sie sollen eine große bedrohung besiegen.
+
+And a lot of pages are missing, since most of the slimes escaped. I suppose we'll have to go out and hunt them once we're done here. Unless someone else hunt them for us.
+Und viele Seiten fehlen, da die meisten der Schleime entkommen sind. Ich nehme an, wir müssen sie Einen nach dem Anderen jagen, wenn wir hier fertig sind. Es sei denn, jemand anderes jagt sie für uns.
+
+And a special coupon section to get rare items for little or no money!
+Und ein besonderer Gutschein-Abschnitt um seltene Gegenstände für wenig oder kein Geld zu bekommen!
+
+And again, and again, again.
+Und wieder und wieder und wieder.
+
+And again, and again.
+Und wieder und wieder.
+
+And again.
+Und wieder.
+
+And also in notable mention of those who [@@https://moubootaurlegends.org/en/community|sponsor@@] the Alliance and its administrative structure.
+
+
+And also in notable mention of those who [@@https://www.patreon.com/TMW2|sponsor@@] the Alliance and its administrative structure.
+Ebenfalls erwähnenswert sind die, die [@@ https: //www.patreon.com/TMW2 |Sponsoren @@] der Allianz und ihrer Verwaltungsstruktur.
+
+And anyone like you probably already knows that, well... Cookies are life!
+Und jemand wie Du weiss wahrscheinlich bereits, dass, nun, ... Cookies sind Leben!
+
+And brought peace to the land.
+Und brachte dem Land Frieden.
+
+And by "moved to the canyon", I do mean it destroyed the little which kept our community alive back then. I heard the fire even moved to the icelands and burned everything on the path until it died at the frozen sea, but that would be too far for I know.
+
+
+And by last, to speak to everyone online, besides whoever might be idling on Discord, select the '#world' tab.
+Und zuletzt, um mit Irgendjemandem online zu sprechen, auch solche, die sich auf Discord langweilen, wähle den '#world' Tab.
+
+And during that time, item dropped was bugged! We wanted to deliver you a token of apology!
+Und während dieser Zeit waren die Item Drops fehlerhaft! Wir wollten Dir ein Zeichen der Entschuldigung liefern!
+
+And guess what? They have a King of their own!
+Und rate was? Sie haben einen eigenen König!
+
+And have you thought in the cause?
+Und hast Du in der Sache nachgedacht?
+
+And help to obtain they were able.
+
+
+And here's a rare for you, a @@! Good job!
+Und hier ist was Seltenes für Dich, eine @@! Gut gemacht!
+
+And his sister,
+Und seine Schwester,
+
+And how do you feel about that?
+Und was für ein Gefühl hast Du dabei?
+
+And if I end back here, I'll prove the planet is round! This is the perfect plan! %s GP to ride with me TO GLORY!
+
+
+And if the item breaks, that is definitive - no repair is possible. What to refine?
+Und wenn das Element kaputt geht, ist das endgültig - keine Reparatur möglich. Was verbessern?
+
+And if the item breaks, that's your loss. What to refine?
+Und wenn das Element kaputt geht, ist das dein Verlust. Was verbessern?
+
+And if you bring me 1 @@ and 440 GP, I can make a @@ for you.
+Und wenn du mir 1 @@ bringst und 440 GP, kann ich Dir eine @@ machen.
+
+And if you listen to Tulimshar's Professor lecture wearing it, you'll gain more experience!
+Und wenn Du das bei den Vorträgen des Professors in Tulimshar trägst, wirst Du mehr Erfahrung gewinnen!
+
+And if you study them well, you'll also gain more Research Points than you would get with other skills.
+Und wenn Du sie gut studierst, wirst Du mehr Forschungspunkte bekommen als mit anderen Skills.
+
+And if your family, real or adoptive, was coward, there would be no lead at all.
+Und wenn Ihre Familie, real oder Adoptiv, Feigling ist, gäbe es überhaupt kein Blei sein.
+
+And in a hut, a lone woman mourned my death.
+Und in einer Hütte, trauerte eine einsame Frau über meinen Tod.
+
+And in all these years, I've never seen him messing up anything important. He's a perfectionist. He isn't satisfied with anything less than the best possible result when doing his work.
+Und in all diesen Jahren hat er nie etwas Wichtiges verbockt. Er ist ein Perfektionist. Er ist bei dem, was er tut, mit Nichts weniger zufrieden als das bestmögliche Ergebnis.
+
+And in honor of all brave LoF players, to be known to all, the fluffly hunters.
+Und zu Ehren aller tapferen LoF Spieler seien die Fluffy Jäger hier allen bekannt gemacht.
+
+And it might be changed in a future patch %%g
+Änderungen vorbehalten in einem zukünftigen Patch %%g
+
+And now I'm going to lose my job and I'll have to leave here and no other sage would give me a new appointment and I don't know what else to do!
+Und jetzt werde ich meinen Job verlieren und ich werde hier rausgeworfen und kein anderer Weise würde mir einen neuen Termin geben, und ich weiß nicht, was ich sonst tun könnte!
+
+And now... Somber time is over! Time to get back to drinking! Yaaaay!!
+Und jetzt ... Schluss mit Trübsal blasen! Zeit, mit dem Trinken weiter zu machen! Yaaaay !!
+
+And obviously, Professor Volrtaw assigned me to investigate! Look at me, do I look like an investigator to you? But, he told me I could pick any student to help me! And I choose you!
+
+
+And once they entrust you with what is important for them, they'll pay better. Here is 700 GP. Come back later.
+Und sobald sie Dir anvertrauen, was für sie wichtig ist, werden sie besser bezahlen. Hier ist 700 GP. Komm später wieder.
+
+And one last thing I'll want. See these @@? I don't like them, so I'll have you to kill 40 of them for me.
+Und noch ein Etwas. Siehst Du diese @@? Ich mag sie nicht. Also töte 40 von ihnen für mich.
+
+And one more thing...
+Und noch Etwas...
+
+And please, bring those criminals to justice! Barbara and the Assassin!
+Und bitte, bring diese Verbrecher vor Gericht! Barbara und die Assassinen!
+
+And rejoice will come from their feats.
+Und ob ihrer heldentaten wird Freude aufkommen.
+
+And remember: If it was easy, I would be wielding it right now. Instead, I use a %s. So take courage.
+
+
+And some from the Grand Hunter Quests give you @@, which can be traded with the travelers for rares! Good luck!
+Und einige der Grand-Hunter Quests geben Dir @@, die mit den Reisenden für Seltenes gehandelt werden können! Viel Glück!
+
+And some of the shop items can be found as drops or in quests!
+Und einige der Ladengüter können als Drops oder in Quests gefunden werden!
+
+And some times, more Fafi dragons come... Don't neglect your aid.
+Und manchmal kommen mehr Fafi Drachen ... Bitte verweigere Deine Hilfe nicht.
+
+And the lightbringer,
+
+
+And the runes wait for the grave to be found.
+
+
+And then you notice the small teddy is opening and closing the lid of this pot repeated times, as if it were looking for something.
+
+
+And then, it was no more! It vanished! In a matter of minutes the slimes were all over the library. A good thing they are slow, none escaped to the town.
+Und dann war es nicht mehr! Es verschwand! In wenigen Minuten waren die Schleime in der ganzen Bibliothek. Gut, dass sie langsam sind, so entkam keiner in die Stadt.
+
+And then... There was a quake. And all life died. Bleed!
+
+
+And there is the Mana Magic, for the pro %%e You'll waste your life on that, as it have an experience system.
+
+
+And they can explode! Nothing in the world could make me go in there. I'll just do my work right here, clean the floor and tidy up the books, and I'm keeping my eyes open in case they get over here.
+Und sie können explodieren! Um Nichts auf der Welt gehe ich da hin. Ich mache meine Arbeit hier, putze, und ich halte meine Augen offen falls sie hier her kommen.
+
+And thus, the longest war begun... And our clan was wiped out. Pachua, Mirio, I, Melune and Darug are the last ones. Oh, and Andra, I guess?
+
+
+And to leave this cramped ship, just go past his office! But beware...
+Um dieses überfüllte Schiff zu verlassen, geh einfach durch sein Büro! Aber pass auf...
+
+And unless you have a mage permit from the Magic Council, you won't be going to CR1 - Academy Island either.
+Ausser wenn Du eine Magier Genehmigung des Magischen Rates hast, wirst Du auch nicht zu CR1 - Academy Insel gehen können.
+
+And we know who the thief is.
+Und wir wissen, wer der Dieb ist.
+
+And what's about Iron Ore?
+Und was ist mit Eisenerz?
+
+And what's about Sunny Crystal?
+Und was ist mit dem Sunny Kristall?
+
+And who are you?
+Und wer bist Du?
+
+And who do you think that created GM Magic in first place, inexperienced kid?
+Und wer, glaubst Du, hat die GM Magie zuerst erschaffen unerfahrenes Kind?
+
+And who would you be? Another bandit? Leave!
+
+
+And whom do you claim to be the thief?
+Und wer ist Deiner Meinung nach der Dieb?
+
+And with what you expect to fight monsters? You must arrange yourself a weapon!
+Und mit was hast Du vor, Monster zu bekämpfen? Besorg Dir eine Waffe!
+
+And without proper MP-raising equipment, you'll be exausthed after your first fireball.
+Und ohne richtige MP anhebende Ausrüstung wirst Du nach Deinem ersten feuerball erschöpft sein.
+
+And you got help from a kid, Zarkor? Lucky is that kid, that I don't have time to deal with them. Farewell.
+Und hast du Hilfe von einem Kind, Zarkor? Glück für das Kind, dass ich keine Zeit habe, mich mit ihm zu befassen. Und tschüss.
+
+And you, @@... You better get walking. Soon.
+Und Du, @@ ... Mach Dich besser auf den Weg. Sofort!
+
+And you, take this %s. It is a reward for doing the dirty job. You would think old age would let you retire, hahaha!
+
+
+And, that's all.
+Und das ist Alels.
+
+Andrei Sakar
+Andrei Sakar
+
+Andrei Sakar Calls for Heroes!
+Andrei Sakar ruft nach Helden!
+
+Andrei Sakar Card
+Andrei Sakar-Karte
+
+Andrei Sakar calls for all the brave in the town of Artis - Kolev!
+Andrei sakar ruft alle Tapferen der Stadt Artis - Kolev!
+
+Andrei Sakar is at the north exit of the town.
+Andrei Sakar ist am Nordausgang der Stadt.
+
+Andrei Sakar is decided to investigate, and has made arrangements with %s.
+
+
+Andrei Sakar used magic: %s
+
+
+Andrei Sakar#FoS290
+
+
+Andrei Sakar#FoS298
+
+
+Andrei Sakar, Legendary Hero
+Andrei Sakar, Legendärer Held
+
+Andrei Sakar, the legendary Hurnscald Hero, as well as a group of alliance members which include yourself, are heading to the continent of Kolev, where is said to be a legendary town which helped the humans from the second era to survive.
+Andrei Sakar, der legendäre Hurnscald Held, macht sich zusammen mit einigen Mitlgieldern der Allianz, darunter mit Dir, auf zum Kontinent Kolev. Man sagt, dort gäbe es eine legendäre Stadt, die den menschen des Zweiten zeitalters half zu überleben.
+
+Andrei Sakar, world renowned hero, is assembling a group of adventurers for an important mission!
+Andrei Sakar, der weltbekannte Held, stellt eine Gruppe von Abenteurern zusammen für eine wichtige Mission!
+
+Angel
+Engel
+
+Angel Amulet
+Engel Amulett
+
+Angel Light
+Engelslicht
+
+Angela#Outside
+
+
+Angela#house
+
+
+Angry Bat
+Wütende Fledermaus
+
+Angry Red Scorpion
+Wütender Roter Skorpion
+
+Angry Scorpion
+Wütender Skorpion
+
+Angry Yellow Slime
+Wütender Gelber Schleim
+
+Animal Bones
+Tierknochen
+
+Anin The Traveler
+Anin der Reisende
+
+Anise Inc.
+Anise Inc.
+
+Anniversary marks the project birthdate. Do not mistake with TMW2 Day.
+Jahrestag markiert den Start des Projekts. Nicht mit dem TMW2 Tag verwechseln.
+
+Annoying Paxel, for example %%o
+
+
+Another lecture: Take always enough arrows with you. Go and come back when you are equipped adequately.
+Ein weiterer Hinweis: Nimm immer genügend Pfeile mit. Gehe und komm wieder, wenn Du ausreichend ausgestattet bist.
+
+Another time, maybe.
+Ein andermal vielleicht.
+
+Another way to attack it is clicking on it.
+Eine andere Möglichkeit, einen Angriff zu starten, ist, darauf zu klicken.
+
+Another way to attack it is clicking on it. Now, there are some things you must know before fighting this truly dangerous foe!
+
+
+Another way to quickly get experience at lower levels, is visiting %s and talking to Professor. I heard those whom sit at the rug gain exp just by listening.
+Eine andere Möglichkeit, speziell auf niederen Levels schnell Erfahrung zu bekommen, ist, %s zu besuchen und mit dem Professor zu sprechen. Ich habe gehört, dass die, die seinen Vorträgen zuhören, alleindadurch schon Erfahrung gewinnen.
+
+Antlers
+Geweih
+
+Antlers Hat
+Geweih-Hut
+
+Anwar
+Anwar
+
+Anwar sent you this, erm, hum... @@.
+Anwar sendet Dir diesediese, äh, hum ... @@.
+
+Any boss which was previously unhittable, can be hit with appropriate number of attackers.
+Jeder Boss, der zuvor nicht getroffen werden konnte, kann mit entsprechender Anzahl von Angreifern getroffen werden.
+
+Any eventual ranking reward will be sent by the banker's mail.
+
+
+Any fishing tips for me?
+Irgendwelche Angeltipps für mich?
+
+Any friend of Hurnscald is my friend too. Come to me again, if you want to do daily quests!
+Jeder Freund von Hurnscald ist auch mein Freund. Komm zu mir wieder, wenn Du tägliche Quests machen willst!
+
+Any movement/skill/item will be without effect until time is up.
+Jede Bewegung/Skill/Gegenstand wird wirkungslos sein, bis die Zeit abgelaufen ist.
+
+Anyone within this rug will be teleported.
+
+
+Anything else?
+Noch irgendwas?
+
+Anyway, I am one of the few Mana Wizard, and I love Transmutation!
+Wie auch immer, ich bin einer der wenigen Mana-Zauberer, und ich liebe Transmutationen!
+
+Anyway, I am selling Cherry Cakes to sponsor my studies. Please buy as many as you want!
+Wie auch immer, ich verkaufe Kirschkuchen um meine Studien zu finanzieren. Bitte kaufe so viele wie Du willst!
+
+Anyway, I got this really nice @@ from Audsbel. He said I could collect herbs more efficiently with it.
+Wie dem auch sei, ich habe dieses wirklich schöne @@ von Audsbel. Er sagte, ich könnte damit Kräuter effizienter sammeln.
+
+Anyway, I heard both were disciples from Cordo-whatever, a powerful person from LoF Village.
+Wie dem auch sei, hörte ich beide waren Schüler von Cordo-was auch immer, eine mächtige Person vom LoF Dorf.
+
+Anyway, I still need @@. You have plenty of time to do things at your own pace.
+Wie dem auch sei, ich brauche noch @@. Du hast genügend Zeit, die Dinge in Deinem eigenen Tempo zu tun.
+
+Anyway, I think you should go to Hurnscald Townhall again, and speak with the mayor.
+Wie auch immer, ich glaube, Du solltest wieder ins Hurnscald Rathaus gehen, und sprechen mit dem Bürgermeister sprechen.
+
+Anyway, I'd be really happy if you could give me @@ @@, @@ @@, @@ @@ and @@ @@.
+Wie auch immer, ich wäre wirklich sehr glücklich, wenn Du mir @@ @@ @@ @@ @@ @@ und @@ @@ geben könntest.
+
+Anyway, I'll give you @@ Real Estate Credits in advance. Go book yourself a room in the Inn. And then come back to me so we may discuss details.
+Wie auch immer, ich werde Dir @@ Real Estate Kredite im Voraus geben. Geh damit ein Zimmer im Inn buchen. Und dann komm zurück, damit wir die Einzelheiten besprechen können.
+
+Anyway, Wyara told me about the assassins. I'm surprised they followed me until the ruins.
+Wie dem auch sei, Wyara hat mir von den Attentätern erzählt. Ich bin überrascht, dass sie mir bis zu den Ruinen folgten.
+
+Anyway, after that I'll use my magic, so everyone can rest after that until I finish, or keep killing the new monsters for experience and drops.
+Wie dem auch sei, danach nutze ich meine Magie, so dass Jeder rasten kann bis ich fertig bin. oder weiterhin Monster töten für Erfahrung und Drops.
+
+Anyway, as you might be aware, Land Of Fire came here in an incident after the Monster King took all Mana Stones... So, we have a good magical affinity.
+Wie auch immer, wie Du vielleicht weisst, kam das Land Of Fire hierher per Unfall, nachdem dem Monster King alle Mana-Steine weggenommen hatte ​​... Also, wir haben eine gute magische Affinität.
+
+Anyway, conspiratory theories aside, his ghost is a powerful boss. I would not attack him if I were you!
+Wie auch immer, Verschwörungstheorien beiseite, sein Geist ist ein mächtiger Boss. Ich würde ihn nicht angreifen, wenn ich du wäre!
+
+Anyway, he had a point. What will you do once the Monster War is over?
+Wie auch immer, er hat Recht. Was willst Du tun, wenn der Monsterkrieg vorüber ist?
+
+Anyway, he is not available at the moment. Try your luck again later.
+Wie auch immer, momentan steht er nicht zur Verfügung. Versuch Dein Glück ein Andermal.
+
+Anyway, here is your reward.
+Wie auch immer, hier ist deine Belohnung.
+
+Anyway, if you ever feel bored and wanna see what I mean by yourself, just leave the building and head west, then north. There's a small entrance there.
+Wie auch immer, wenn Du irgendwann mal Langeweile hast, und selbst sehen willst, was ich meine, verlass einfach das Gebäude Richtung Westen, dann Norden. Es gibt dort einen schmalen Eingang.
+
+Anyway, it is Valentine Day, a good day to trade @@ with your admired one!
+Auf jeden Fall ist es Valentinstag, ein guter Tag für den Handel @@ mit Deiner Angebeteten!
+
+Anyway, my herb mixture keeps monsters away.
+Wie dem auch sei, meine Kräutermischung hält Monster weg.
+
+Anyway, once you have the recipe book and learned a recipe, you can craft items in forges. I think you can buy it in your apartment.
+Wie auch immer, sobald Du das Rezeptbuch hast und ein Rezept gelernt hast, kannst Du Gegenstände in Schmieden herstellen. Ich denke, Du kannst es in Deiner eigenen Wohnung kaufen.
+
+Anyway, our shipkeeper, Juliet, helped to heal your injuries way back.
+Wie auch immer, unser Quartiermeister, Juliet, half Ihre Verletzungen zu heilen.
+
+Anyway, the Moubootaur certainly existed, and probably is still alive.
+Wie auch immer, der Moubootaur existierte sicherlich, und wahrscheinlich existiert er noch immer.
+
+Anyway, there's a barrier to prevent monsters from attacking the city from below.
+Wie dem auch sei, es gibt eine Barriere, die verhindert, dass Monster die Stadt von unten angreifen.
+
+Anyway, why do you ask? Surely not to waste my time.
+Wie auch immer. Warum fragst Du? Doch sicher nicht, um meine Zeit zu verschwenden.
+
+Anyway, you can see how skilled using Mana Magic with @@. Mana Magic is the one which requires concentration, to bring things into existence, for example.
+Wie auch immer, können Sie sehen, wie geschickt im Umgang mit @@ Mana Magie verwenden. Mana Magic ist das eine, die Konzentration erfordert, um die Dinge ins Dasein bringen, zum Beispiel.
+
+Anyway, you had a letter to our @@, you meant? Sure thing, I'll let him know at once.
+Wie auch immer, Du hast einen Brief für unseren @@? Klar doch, lasse ich ihn sofort wissen.
+
+Anyway. This is the FAIRY KINGDOM spell. It'll spawn fairies.
+Wie auch immer. Dies ist der Feenreich zauber. Es wird Feen herbeizaubern.
+
+Anyway. This is the KALBOO spell. It'll summon mouboos.
+Wie auch immer. Dies ist der KALBOO Zauber. Er wird Mouboos rufen.
+
+Anyway. This is the KALWULF spell. It'll spawn Wolverns.
+Wie auch immer. Dies ist der KALWULF Zauber. Es wird Wolverns rufen.
+
+Anyway... Let's see how this world works!
+
+
+AoE (not stackable)
+
+
+Apana Cake
+Apana Kuchen
+
+Apane Card
+Apane Karte
+
+Apartment Manager
+Apartment-Manager
+
+Apartment rents cannot be renewed until they expire. Furniture won't be lost.
+Wohnungsmieten können nicht verlängert werden, bevor sie ablaufen. Möbel werden nicht verloren gehen.
+
+Apparently, you'll need to use a %s to get this to work!
+Es sieht so aus, als ob Du ein %s brauchst, um das zum Funktionieren zu bringen!
+
+Appearance Debug
+Aussehen Debug
+
+Appearance Debug - Barber
+Aussehen Debug - Frisör
+
+Appearance Debug - Race
+Aussehen Debug - Rasse
+
+Appearance Debug - Sex Change
+Aussehen Debug - Geschlecht ändern
+
+Apple Cocktail
+Apfel-Cocktail
+
+Apple Trees#MKH1
+
+
+Application fee: @@ GP
+Anmeldegebühr: @@ GP
+
+Application successful!
+Anwendung erfolgreich!
+
+Apply for the office!
+Bewerben Sie sich für das Büro!
+
+Apply no pressure
+Keinen Druck ausüben
+
+Apply normal pressure
+Normalen Druck ausüben
+
+Apply soft pressure
+Sanften Druck ausüben
+
+Apply strong pressure
+Starken Druck ausüben
+
+Apply very strong pressure
+Sehr starken druck ausüben
+
+Applying...
+Anwenden...
+
+Apprentice Wand
+Lehrlings-Zauberstab
+
+Approach it softly.
+
+
+Aquada
+Aquada
+
+Aquada Box
+Aquadakiste
+
+Ara ara? You do not have enough money with you!
+Ara ara? Du hast nicht genug Geld dabei!
+
+Arabesque (Action)
+Arabesque (Aktion)
+
+Arauto
+Arauto
+
+Arcanum Stone
+Arcanum Stein
+
+Archant
+Archant
+
+Archers Eye
+Schützenauge
+
+Archery Weapon Recipes
+Schusswaffen Rezepte
+
+Arcmage Boxset
+Erzmagier Box Set
+
+Are the fish biting today?
+Beißen die Fische heute?
+
+Are you Sagratha?
+Sind Sie Sagratha?
+
+Are you a terranite?
+Sind Sie ein Terranite?
+
+Are you and your party ready?
+Sind Du und Deine Gruppe bereit?
+
+Are you asking because people say it's his fault? Listen, I've known him for many years now. We started our service here about the same time. We share our room and are really close friends.
+Sind Sie fragen, weil die Leute sagen, es ist seine Schuld? Hören Sie, ich habe ihn jetzt seit vielen Jahren bekannt. Wir begannen unseren Service hier etwa zur gleichen Zeit. Wir teilen unser Zimmer und sind wirklich enge Freunde.
+
+Are you done yet?
+Bist du schon fertig?
+
+Are you enjoying yourself in Candor? Do you have any questions?
+Genießen Sie sich in Candor? Haben Sie irgendwelche Fragen?
+
+Are you feeling well? That was a pretty powerful attack!
+Fühlst du dich gut? Das war ein ziemlich starker Angriff!
+
+Are you going to stand here all day long? Go wash the dishes or go away.
+Gehst du hier den ganzen Tag stehen? Gehen Sie das Geschirr abwaschen oder weggehen.
+
+Are you interested in becoming a student of Archery?
+Haben Sie Interesse, ein Schüler von Bogenschießen zu werden?
+
+Are you interested? You'll keep %s your equipment, magic, quest progression, craft recipes, money, whatever else which is not a level. Not even Job level won't be reset!
+Bist du interessiert? Sie werden halten% s Ihre Ausrüstung, magie, suche Progression, Handwerk Rezepte, Geld, was auch immer das ist kein Niveau ist. Nicht einmal Job-Ebene wird nicht zurückgesetzt!
+
+Are you looking for Rebirth? Limited time only!
+
+
+Are you ok?
+Alles ok?
+
+Are you out of your mind?!
+Du bist von Sinnen?!
+
+Are you ready to cross the Mirror Lake and return to your world?
+
+
+Are you ready?
+Sind Sie bereit?
+
+Are you ready? There will be a long path ahead of us until this mistery is solved.
+
+
+Are you really going to jump here?
+Gehst du wirklich hier zu springen?
+
+Are you sure you want leave?
+
+
+Are you sure you want to begin now? (Cannot be changed later)
+
+
+Are you sure you want to create a PIN now?
+
+
+Are you sure you want to leave?
+
+
+Are you sure you want to proceed? You CANNOT COME BACK!
+Sind Sie sicher, dass Sie fortfahren möchten? Sie können nicht wiederkommen!
+
+Are you sure you want to smash it?
+Sind Sie sicher, dass Sie es zerschlagen wollen?
+
+Are you sure?
+Bist du sicher?
+
+Are you sure? It costs 800 GP.#0
+Bist du dir sicher? es kostet 800 GP.#0
+
+Are you sure? It costs 800 GP.#1
+Bist du dir sicher? es kostet 800 GP.#1
+
+Are you sure? Like, really really sure?
+Bist du sicher? Wie, wirklich, wirklich sicher?
+
+Are you sure? This cannot be undone!
+Bist du sicher? Das kann nicht rückgängig gemacht werden!
+
+Are you sure?!
+Bist du dir sicher?!
+
+Are you trying to collect every piece of equipment ingame? Come tell me if you are and I'll give you a collector stamp!
+Versuchen Sie, jedes Stück Ausrüstung im Spiel zu sammeln? Kommen Sie mir sagen, wenn Sie und ich werde Ihnen einen Kollektor Stempel geben!
+
+Are you trying to provoke me?
+
+
+Are you up for the challenge?
+Sind Sie bereit für die Herausforderung?
+
+Are you with what I asked for?
+Sind Sie mit, was ich gefragt habe?
+
+Are you, perhaps, interested?
+Sind Sie vielleicht interessiert?
+
+Area Provoke
+
+
+Area of effect fire damage. May burn targets.
+
+
+AreaNPC#002-1d
+
+
+AreaNPC#002-3d
+
+
+AreaNPC#002-4d
+
+
+AreaNPC#Peter
+
+
+AreaNPC#doors4
+
+
+Aren't you Cindy's father? Why don't you go to her rescue?
+Bist du nicht Cindys Vater? Warum gehst du nicht zu ihrer Rettung gehen?
+
+Arena created, it can be used for 30 minutes.
+Arena erstellt, kann es für 30 Minuten verwendet werden.
+
+Argaes Human
+
+
+Argh! I assume I can't do this chant!
+
+
+Argh... I can never get it right! If only he drew an Ace or a Joker on the first draw... But he never does that!
+Argh ... Ich kann es nie richtig machen! Wenn nur zog er ein Ass oder ein Joker auf der ersten Auslosung ... Aber er hat nie!
+
+Arkim
+Arkim
+
+Armageddon
+
+
+Armbands
+Armschienen
+
+Armored Skeleton
+
+
+Armors: +3~5 defense
+Armors: + 3 ~ 5 Verteidigung
+
+Arnea
+Arnea
+
+Arnea#003-13
+
+
+Arr ha ha ha arr!
+
+
+Arr!
+Arr!
+
+Arr! Here you go, matey!
+
+
+Arr, I'm bored!
+Arr, ich bin gelangweilt!
+
+Arr, it is always good to be on land after so much time in sea!
+Arr, es ist immer gut, nach so langer Zeit in Meer an Land zu sein!
+
+Arr, that's a fine map ya got there! And these are definitely Hurnscald Caves, yarr!
+
+
+Arr, that's not enough! I'll bring more later!
+Arr, das ist nicht genug! Ich werde später mehr bringen!
+
+Arr, that's some fine ale! We can do the party when we're done with our work!
+Arr, das ist etwas feines Ale! Wir können die Partei tun, wenn wir mit unserer Arbeit fertig sind!
+
+Arr, we will wait for you then! We still have tasks to complete!
+Arr, dann werden wir auf Sie warten! Wir haben noch Aufgaben zu erledigen!
+
+Arr, you are not experienced enough to help me yet!
+Arr, Sie sind nicht erfahren genug, mir noch zu helfen!
+
+Arrested!
+Verhaftet!
+
+Arrevouir!
+Arrevouir!
+
+Arrow
+Pfeil
+
+Arrow Ammo Box
+Pfeil Munitionsbox
+
+Arrow Shower
+Pfeil Dusche
+
+Arrow Shower Card
+Pfeil Hagel Karte
+
+Arrr matey! My captain asked me to have you get him some items. Please bring us %d %s and %d %s, my captain likes to snack on those during our long voyages. Oh, and something to read too!
+
+
+Arrr matey! This is @@, yarr.
+Arrr kameradschaftlich! Dies ist @@, yarr.
+
+Arrr! Good job matey! You brought us everything we asked for, even the Maritime Almanac Scroll!
+
+
+Arrr! You did not bring me everything I asked for!
+Arrr! Sie brachte mich nicht alles, was ich gefragt!
+
+Arrrrh! Looks like ye lost an eye there!
+Arrrrh! Sieht aus wie sie ein Auge verloren da!
+
+Arrrrh! Ye be wearing a pirate's hat!
+Arrrrh! Ye Piraten Hut tragen!
+
+Arrrrh! Ye remind me of my old first mate!
+Arrrrh! Ihr erinnert mich an meinen alten ersten Maat!
+
+Arthur Card
+Arthur Karte
+
+Artichoke Herb
+Artischocke Herb
+
+Artis
+Artis
+
+Artis - @@ GP (not exchangeable)
+
+
+Artis Tank Top
+Artis Tanktop
+
+Artis Warp Crystal
+
+
+Artis is a city port founded after the Great Fire on the other continent.
+
+
+Artis, right? So Andrei Sakar summoned you?
+
+
+ArtisShip
+
+
+Arvo
+Arvo
+
+As I had the spare materials I've already did yours in advance.
+Als ich die Ersatzmaterialien hatte habe ich Ihnen bereits im Voraus.
+
+As I know, you're kind of hunter crafter, Right?
+Wie ich weiß, du bist Art von Jäger Crafter, nicht wahr?
+
+As I said, S.A.R.A.H. is a terrorist organization. They are dedicated to wiping out every single duck, worldwide. No duck has ever survived an encounter with a S.A.R.A.H. agent. You would do best to avoid them.
+
+
+As I see, you stay alive!
+Wie ich sehe, bleiben Sie am Leben!
+
+As a King, I cannot simply ignore it. Of course, I really doubt it is zombies, but nobody wants to go. That's why I'm resorting to an adventurer like you.
+Als König, ich kann nicht einfach ignorieren. Natürlich, ich bezweifle es wirklich Zombies, aber niemand will gehen. Deshalb habe ich auf ein Abenteurer wie Sie bin greifen zu müssen.
+
+As a result, while fishing you may randomly get a golden fish.
+
+
+As a what?
+Als was?
+
+As about if I have any idea why they said they were from here? ...Actually, I do.
+Wie wäre es, wenn ich eine Ahnung, warum sie sagten, dass sie von hier waren? ...Eigentlich tue ich das.
+
+As always, I can use a helping hand around here. Interested?
+Wie immer kann ich hier eine helfende Hand gebrauchen. Interessiert?
+
+As an Apology Token, you're also receiving one @@.
+Als Apology Token, du empfangen Sie auch eine @@.
+
+As an archer, you should always carry your bow with you. Doesn't warriors carry those heavy swords without complaining? Go and get it.
+Als Bogenschütze, sollten Sie immer Ihren Bogen mit sich führen. Nicht Krieger tragen diese schweren Schwerter, ohne zu klagen? Los, hol's dir.
+
+As an honorary member of the Duck Side, know that we are more than we appear. The Moubootaur itself has seen fit to reward us when it awakens. Do not attempt to cross us.
+
+
+As far as we are concerned, you could have been an exiled prisoner who managed to escape! But there are ways to prove to the Alliance that your intentions are good.
+
+
+As long that Saulc doesn't draws the sprites for my stuff, that is! %%a
+
+
+As long that you have the money, and some really high quality material, I can tailor anything ugly in something fashion!
+So lange, dass Sie das Geld haben, und einige wirklich hochwertiges Material, ich Schneider etwas hässlich in etwas Art und Weise kann!
+
+As long that you know the basic structure, this shall do damage.
+
+
+As soon that Saulc GM get back, we can start.
+Sobald das Saulc GM zurück, können wir beginnen.
+
+As the leader of your party, you can only go forward.
+Als Anführer Ihrer Partei, können Sie nur vorwärts gehen.
+
+As to how to obtain research points... Randomly when casting, by enrolling in a class with my wife Emma, by studying monsters, and randomly but very rarely with the Professor in Tulimshar.
+
+
+As usual, you can get only one hat yearly, for the symbolic amount of 40 @@ and 10 @@!
+Wie üblich können Sie jährlich nur einen Hut bekommen, für den symbolischen Betrag von 40 @@ und 10 @@!
+
+As with all TMW2 Major Events, the top 1 receive a special pet, and the other ranked ones get diverse rewards.
+Wie bei allen TMW2 Wesentlichen Ereignissen, erhalten die Besten 1 ein spezielles Haustier, und die anderen Rang die diverse Belohnungen zu bekommen.
+
+As you can guess, said village was abandoned. However, people are claiming to have seen people walking there, like shadows or zombies.
+Wie Sie sich vorstellen können, wurde das Dorf verlassen. behaupten, die Menschen dort Menschen haben jedoch gesehen zu Fuß, wie Schatten oder Zombies.
+
+As you learned, helping others is a good way to level up. You can also sell monster parts for some money.
+
+
+As you may be aware, the Magic Council is in Tulim, after all.
+
+
+As you may know, LOF ran on a modified version of The Mana World game, before being merged on TMW2: Moubootaur Legends.
+Wie Sie vielleicht wissen, lief LOF auf einer modifizierten Version des Spiels Mana World, bevor sie auf TMW2 verschmolzen: Moubootaur Legends.
+
+As you might have noticed, it depends on many circumstances if your arrow finds its target. Your shot may be too powerful or too weak, so the arrow goes far beyond your target or hits the ground before it reaches its destination.
+Wie Sie vielleicht bemerkt haben, hängt es von vielen Umständen ab, wenn Ihr Pfeil sein Ziel findet. Ihre Aufnahme kann zu stark oder zu schwach sein, so dass der Pfeil weit über Ihr Ziel geht oder den Boden berührt, bevor er sein Ziel erreicht.
+
+As you might know, the Great Fire ruined the whole world. Many people wanted to escape the wastelands which the continent had became, so they made convoys and left to the great sea.
+
+
+As you see, you can count the mages with the fingers of one hand. It's not just Mana Magic, either - Magic in overall is almost dead, with almost every Mana Stone on the power of the Monster King.
+Wie Sie sehen, können Sie die Magier mit den Fingern einer Hand abzählen. Es ist nicht nur Mana Magie, entweder - Magie in insgesamt fast tot ist, mit fast jedem Mana Stein auf der Kraft des Monsters King.
+
+As you want!
+Wie du willst!
+
+As you wish. But do not mess with things you don't understand.
+Wie du möchtest. Aber verwirren sie nicht mit Dingen, die Sie nicht verstehen.
+
+Ash Urn
+Ash Urn
+
+Ask everytime
+
+
+Ask next time
+
+
+Ask.
+
+
+Assassin
+Assassine
+
+Assassin Boots
+Attentäter Stiefel
+
+Assassin Chest
+
+
+Assassin Gloves
+Assassinen-Handschuhe
+
+Assassin Pants
+Attentäter Pants
+
+Assassination failed - target is stronger than you
+
+
+Astral Cube
+Astral Cube
+
+At 00:00, 06:00, 12:00, 15:00, 18:00 and 21:00 server time
+Um 00:00, 06:00, 12:00, 15:00, 18:00 und 21:00 Uhr Serverzeit
+
+At January 2008 - Construction of Dimonds Cove.
+Am Januar 2008 - Bau von Diamanten Cove.
+
+At a first glance, it seems to be full of water, but inspecting closer, it is not.
+Auf den ersten Blick ist es mit Wasser gefüllt zu sein scheint, aber Inspektion näher, ist es nicht.
+
+At long last, you see the end of the corritor.
+Endlich sehen Sie das Ende des corritor.
+
+At the last day, an earthquake happened. And then, monsters started showing up everywhere. Immortal monsters, which come back after killed, as if they had touched the Soul Menhir.
+
+
+Atk +25
+
+
+Atk Range +1
+
+
+Atk. Speed +10
+
+
+Atonishing. Six gifts is the real deal. Easy to guess: 6400 is the next milestone.
+Atonishing. Sechs Geschenke ist die eigentliche Behandlung. Leicht zu erraten: 6400 ist der nächste Meilenstein.
+
+Atropos Mixture
+Atropos Mischung
+
+Attack him
+
+
+Attain level 50 to try this quest.
+Erreiche Level 50 um diese Quest zu versuchen.
+
+Attempt to break the Mana Stone?
+Versuchen Sie, die Mana Stein zu brechen?
+
+Attempt to break the seal?
+Versuchen Sie, die Siegel zu brechen?
+
+Attempt to disarm the singularity?
+Versuchen Sie, die Singularität zu entschärfen?
+
+Attempt to heal the Mouboo
+Versuchen Sie, die Mouboo zu heilen
+
+Attempt to kill the Mouboo
+Versuchen Sie, die Mouboo zu töten
+
+Attempt to lockpick?
+Versuchen Sie, lockpick?
+
+Attempt to retrieve it now?
+Versuchen Sie es jetzt abrufen?
+
+Attempted to buy %d/%d %s, operation cancelled.
+
+
+Attempts for today: %d/%d
+
+
+Auldsbel
+Auldsbel
+
+Auldsbel the Wizard
+Auldsbel den Assistenten
+
+Aurora
+
+
+Aurora Events
+
+
+Aurora will collect the crystals; And adventurers from the whole world shall look for them in the chests and return to Aurora!
+
+
+Authorship: Former_Cordo (Cordo)
+
+
+Authorship: Manatauro
+
+
+Authorship: Xanthem (DiamondPython)
+Urheberschaft: Xanthan (Diamant-Python)
+
+Automatic Botchecks
+
+
+Automatic disarm in: @@
+Automatische Unscharf in: @@
+
+Automatic fishing bait
+
+
+Autoreceive Strange Coins:
+AutoReceive Seltsame Münzen:
+
+Autumn
+Herbst
+
+Autumn Mask
+Herbst-Maske
+
+Average EXP:
+Durchschnittliche EXP:
+
+Average player level: @@
+Durchschnittliche Spieler Level: @@
+
+Awake lost potential? This will mess with your char data irreversibly, beware.
+
+
+Awesome, come back if you ever want to create a larger group!
+Klasse. Komm zurück, wenn du jemals eine größere Gruppe aufbauen willst.
+
+Awesome, here is the certificate! Choose guild name wisely, because there are no refunds, even if you lose it!
+Awesome, hier ist das Zertifikat! Wählen Sie Gildennamen mit Bedacht, denn es gibt keine Rückerstattungen, auch wenn Sie es verlieren!
+
+Awful Yetis kidnapped my daughter, and brought her to the cave. Please save her!
+Awful Yetis entführt meine Tochter, und brachte sie in die Höhle. Bitte speichern Sie sie!
+
+Aww it's not summer. I love June 21st, and the summer vacations!
+AWW es ist nicht Sommer. Ich liebe 21. Juni und die Sommerferien!
+
+Axe Hat
+Ax-Hut
+
+Axzell the Alchemist
+Axzell der Alchemist
+
+Ayasha
+Ayasha
+
+AyashaDebug
+AyashaDebug
+
+Azul Skull Slime
+
+
+Azul Slime
+Azul Slime
+
+Azul Slime Mother
+
+
+AzulSlime
+
+
+BEGIN WARP PROCEDURES?
+BEGIN WARP VERFAHREN?
+
+BOSS FIGHT!
+BOSS FIGHT!
+
+BOSS WARNING
+
+
+BOTCHECK: You are on botcheck area. DO NOT attack or collect items until given the order.
+BOTCHECK: Sie befinden sich auf botcheck Bereich. NICHT gegeben angreifen oder Gegenstände zu sammeln, bis die Bestellung.
+
+BUG, Please report: TorchTally, err_val @@
+BUG, Bitte melden: TorchTally, err_val @@
+
+BUG, REPORT ME! Hurncald Liberation Day check FAIL
+
+
+BUG, REPORT ME: QHUB PENALTY OVERRIDE INVALID SIGNAL @@
+BUG REPORT ME: QHUB STRAFT KORREKTUR ungültiges Signal @@
+
+BUT you can reduce the travel price to everywhere, to as low as 250 GP, by completing QUESTS!
+Aber man kann den Reisepreis zu überall, so niedrig wie 250 GP, durch Erfüllen von Aufgaben reduzieren!
+
+Bachelor
+
+
+Backsliding
+
+
+Backsword
+Backsword
+
+Bah! Don't try to fool me! The sun can't burn in Nivalis.
+Bah! Versuchen Sie nicht, mich zu täuschen! Die Sonne kann nicht brennen in Nivalis.
+
+Bah, sorry my manners! I love to chat! Anyway, talk to any General of mine, just behind me. See if they need help.
+Bah, sorry meine Manieren! Ich liebe es zu Chat! Wie dem auch sei, die Rede zu jedem General-von mir, gerade hinter mir. Sehen Sie, wenn sie Hilfe brauchen.
+
+Baktar
+Baktar
+
+Baktar can be picky with Tulimshar stuff, too.
+Baktar kann mit Tulimshar Sachen sein picky auch.
+
+Bandana
+Kopftuch
+
+Bandit
+Bandit
+
+Bandit Hat
+Bandit-Hut
+
+Bandit Hood
+Bandit Hood
+
+Bandit Lord
+Bandit Herr
+
+Bandit Mask
+Bandit Maske
+
+Bandit Pants
+Banditenhose
+
+BanditLord
+
+
+Bandits are a huge threat to Hurnscald. We're just a small farming town, and they're countless.
+Bandits sind eine große Bedrohung für Hurnscald. Wir sind nur ein kleines Bauerndorf, und sie sind unzählig.
+
+Banned from Academy
+
+
+Banshee Bow
+Banshee Bow
+
+Banu
+
+
+Bar Jobs
+Bar Jobs
+
+Barbara was apprehended. It would be weird to show her on your inventory, so we won't.
+Barbara wurde festgenommen. Es wäre seltsam sie auf Ihrem Inventar zu zeigen, so werden wir nicht.
+
+Barbara#01861
+
+
+Barbara, Wounded Girl
+Barbara, Wounded Mädchen
+
+Barbara. You're under arrest by Kenton's orders. Please surrend peacefully.
+Barbara. Sie sind verhaftet von Kenton Befehl. Bitte surrend friedlich.
+
+Barbarian Amulet
+Barbarian Amulet
+
+Barbarian Master Amulet
+Barbarian Master-Amulett
+
+Barbarian#Frostia
+
+
+Barely any difference, maybe I should use better healing items on it.
+
+
+Barrel
+Fass
+
+Barrel#1
+Fass#1
+
+Barrel#2
+Fass#2
+
+Barrel#3
+Fass#3
+
+Barrel#4
+Fass#4
+
+Barrel#5
+Fass#5
+
+Barrel#6
+Fass#6
+
+Barrel#7
+Fass#7
+
+Barrel#8
+Fass#8
+
+Barrels#MKHB
+Fass#MKHB
+
+Bartender
+Barmann
+
+Barzil
+Barzil
+
+Base Experience Rate is now %d%%.
+
+
+Base Tier
+Base Tier
+
+Bash your weapon against your enemies with raised damage and accuracy.
+
+
+Basic Magic
+
+
+Basic Tricks
+
+
+Basic earth area attack. May stun targets.
+
+
+Basic earth single target attack. May stun targets.
+
+
+Basic fire single target attack. May burn targets.
+
+
+Basic ice area attack. Freeze targets in a big area.
+
+
+Basic ice area attack. May freeze targets.
+
+
+Basic ice single target attack. May freeze targets.
+
+
+Basic multi-target holy attack. Is actually weak.
+
+
+Basic single target holy attack. Splashes in the nearby tiles.
+
+
+Basic wind single target attack. Strong in overall.
+
+
+Basically, I need to find a friendly Yeti. Do they exist?
+Grundsätzlich muss ich eine freundliche Yeti finden. Existieren sie?
+
+Basically, no one else disturbs me anymore when I'm busy snoring in class! ^.^
+Grundsätzlich sonst niemand stört mich mehr, als ich bin beschäftigt Schnarchen in der Klasse! ^. ^
+
+Basically, there's no sea route to Halinarzo. You must head southeast of Tulimshar.
+Grundsätzlich gibt es keinen Seeweges nach Halinarzo. Sie müssen Südosten von Tulimshar Kopf.
+
+Basil
+Basilikum
+
+Bat
+Fledermaus
+
+Bat Egg
+Fledermausei
+
+Bat Teeth
+Fledermauszähne
+
+Bat Wing
+Fledermausflügel
+
+Bathrobe
+Bademantel
+
+Battle Plans
+Schlachtpläne
+
+Be Patient... You still need to wait @@.
+Seien Sie geduldig ... Sie müssen noch warten @@.
+
+Be a friend and bring me @@ @@.#0
+Sei ein Freund, und bring mir @@ @@.
+
+Be a friend and bring me @@ @@.#1
+Sei ein Freund, und bring mir @@ @@.
+
+Be aware I can only bake batches of @@ potions.
+Beachten Sie mir nur Chargen von @@ Tränken backen.
+
+Be careful as not everybody likes transmuted monster parts. Some may even see it as a foul thing. Anyway. Come back later.
+Seien Sie vorsichtig, da nicht alle Monster Teile transmutiert mag. Einige können sehen es sogar als ein Foul Sache. Wie auch immer. Kommen Sie später wieder.
+
+Be careful during night, use "@tutorial" in case of doubt, use "%s" to go to the event, and good luck!
+
+
+Be careful that they may be anywhere in the world, and the same rules as Tulimshar Guard House apply! So, are you here to apply or to report back?
+
+
+Be careful to not get lost in the forest.
+Achten Sie darauf, nicht in den Wald verloren gehen.
+
+Be careful when walking, because you may change quadrands and then... It won't count. You'll need to start over again.
+Seien Sie vorsichtig beim Gehen, weil Sie quadrands und dann ändern können ... Es wird nicht zählen. Sie müssen wieder von vorn beginnen.
+
+Be careful!
+
+
+Be careful, because the more magic power you ask the Mana Seed, the more difficult to control it will be.
+Seien Sie vorsichtig, denn je mehr Zauberkraft Sie das Mana Seed fragen, die schwieriger zu kontrollieren wird es sein.
+
+Be cursed, you fool!
+Werde verflucht, du Narr!
+
+Be devoured!
+Fraß!
+
+Be sure to have a friend before joining, or you may have to logout in order to be able to move again!
+Achten Sie darauf, einen Freund, bevor er haben, oder Sie können Abmelde haben, um der Lage sein, sich wieder zu bewegen!
+
+Bear Hat
+
+
+Bear Strike
+Bärenschlag
+
+Beard
+Bart
+
+Beatrice
+
+
+Because I am a special nymph.
+
+
+Because I am awesome!
+Weil ich bin super!
+
+Because Isbamuth is tracking me? It would be pointless if he noticed. If you can't even understand this, maybe I overestimated you, after all...
+
+
+Because heroes are not born, rather, they are made!
+Weil Helden werden nicht geboren, sondern sie sind aus!
+
+Because in the end, you are in the hands of your class leader!
+Denn am Ende, Sie sind in den Händen Ihrer Klasse Führer!
+
+Because it may be a fatal fall!
+Denn es kann ein tödlicher Fall sein!
+
+Because the council has some crazy project which requires me to move crates all the time!
+
+
+Because they control everything! They even determine taxes!
+Weil sie alles kontrollieren! Sie bestimmen auch Steuern!
+
+Because this, the national budget is going to other silly, under-rewarding, minor things...
+Da diese, wird der Staatshaushalt zu anderen albern, unter lohnend, kleineren Dingen ...
+
+Bed#Saggy
+
+
+Beds
+Betten
+
+Bee
+Biene
+
+Bee Hive
+
+
+Bee Keeper Hat
+
+
+Bee Stinger
+
+
+Beer
+Bier
+
+Beer is nice, but sometimes I want something more exotic to drink! Oui, we need a proper bar here!
+Bier ist schön, aber manchmal möchte ich etwas exotischere zu trinken! Oui, brauchen wir eine richtige Bar hier!
+
+Before start witch item do you want to play
+Vor dem Start Hexe Artikel wollen Sie spielen
+
+Before you give me your report, acquire level %d.
+
+
+Begger#EP
+
+
+Begin campaign?
+
+
+Begin classic mode
+
+
+Begin!
+Start!
+
+Begin?
+
+
+Behave yourself, or you'll be executed in the town square mercilessly. You have been warned.
+Benimm dich, oder du wirst Platz gnadenlos in der Stadt durchgeführt werden. Du wurdest gewarnt.
+
+Behave yourself.
+Benimm dich.
+
+Bella, the Scholar
+Bella, der Gelehrte
+
+Below this strange writing, you notice a word still deeply engraved in the stone:
+
+
+Ben Parkison
+Ben Parkison
+
+Ben#NivBanker
+
+
+Benjamin
+
+
+Benjamin reported in. Good luck arresting the criminal!
+Benjamin berichtet in. Viel Glück den Verbrecher zu verhaften!
+
+Benjamin, Wounded Soldier
+Benjamin, verwundete Soldaten
+
+Bent Needle
+Bent Nadel
+
+Besides "spot", you can also use "nearest" for more area, and even "near" or "nearby" for even more.
+
+
+Besides being able to train you, he is a walking encyclopedia - Ask him anything you are unsure about!
+Neben der Möglichkeit, Sie zu trainieren, ist er ein wandelndes Lexikon - Fragen Sie ihn etwas sind Sie sich nicht sicher!
+
+Besides that, do I look like a warrior to you? Why would you give a kid a sharp dagger?
+Abgesehen davon, sehe ich aus wie ein Krieger für Sie? Warum würden Sie einem Kind einen scharfen Dolch geben?
+
+Besides the Magic Council, Andrei Sakar have his own Mana Stone, but I doubt he would train the likes of you, or share his Mana Stone.
+Neben dem magischen Rat hat Andrei Sakar seinen eigenen Mana Stein, aber ich bezweifle, dass er würde Leute wie Sie trainiert, oder seinen Stein Mana teilen.
+
+Besides this, there is Seasons. You know, summer, autumn, winter and spring.
+Daneben gibt es Jahreszeiten. Sie wissen, Sommer, Herbst, Winter und Frühling.
+
+Besides, I know these caves like the back of my hand. You would have a hard time tracking me down.
+Außerdem weiß ich, diese Höhlen wie die Rückseite meiner Hand. Sie würden eine harte Zeit, mich aufzuspüren.
+
+Besides, I'm not an Yeti expert. I don't understand how these creatures think, nor do I care! I only want Cindy back home safely!!
+Außerdem bin ich kein Yeti-Experte. Ich verstehe nicht, wie diese Kreaturen denken, noch ist es mir! Ich will nur sicher nach Hause Cindy zurück !!
+
+Besides, the Alliance High Council had plans for an expedition on the Fortress Island, but had no personel to do it.
+
+
+Besides, there are no Butterflies in Tulimshar, and they could help the farm in getting producing food.
+Außerdem gibt es keine Schmetterlinge in Tulimshar, und sie konnten die Farm in der Herstellung von Lebensmitteln immer helfen.
+
+Better do this some other time...
+Besser tun dies ein andermal ...
+
+Better luck next time!
+
+
+Better luck next time!"
+
+
+Beware the Terranite! Only @@ would be brave enough to challenge them!
+Vorsicht vor dem Terranite! Nur @@ wäre mutig genug sein, um sie herauszufordern!
+
+Bhop Fluffy
+Bhop Fluffy
+
+Bhopper Egg
+Bhopper Egg
+
+Bif
+Bif
+
+Bif is a monster shaped like weird rocks. Diamond Bif is a Bif with higher chances to drop Diamonds.
+Bif ist ein Monster wie seltsame Felsen geformt. Diamant Bif ist ein Bif mit höheren Chancen Diamanten fallen zu lassen.
+
+Big Amethyst Bif
+Big Amethyst Bif
+
+Big Arrow Sack
+Big Pfeil Sack
+
+Big Bullet Sack
+
+
+Big Diamond Bif
+Großer Diamant Bif
+
+Big Elenium Bif
+Big Elenium Bif
+
+Big Emerald Bif
+Big Smaragd Bif
+
+Big Frog
+
+
+Big Magic Bif
+Big Magie Bif
+
+Big Pumpkin Seed
+Big Kürbiskern
+
+Big Ruby Bif
+Big Ruby-Bif
+
+Big Sapphire Bif
+Big Sapphire Bif
+
+Big Topaz Bif
+Big Topaz Bif
+
+Billy
+Kochgeschirr
+
+Billy Bons
+Billy Bob
+
+Billy Bons#TMW2
+
+
+Birds in the Sunrise
+Vögel in den Sonnenaufgang
+
+Black Dye
+Schwärze
+
+Black Mamba
+Schwarze Mamba
+
+Black Mamba Egg
+Black Mamba Egg
+
+Black Mamba Egg -> Mountain Snake Egg
+Black Mamba Egg -> Berg Snake Egg
+
+Black Mamba Skin
+Black Mamba Haut
+
+Black Mamba Skin -> Mountain Snake Skin
+Black Mamba Skin -> Berg Snake Skin
+
+Black Mamba Tongue
+Black Mamba Tongue
+
+Black Mamba Tongue -> Mountain Snake Tongue
+Black Mamba Zunge -> Berg Snake Tongue
+
+Black Pearl
+Schwarze Perle
+
+Black Scorpion
+Schwarzer Skorpion
+
+Black Scorpion Claw
+Schwarze Skorpionen Klaue
+
+Black Scorpion Claw -> Red Scorpion Claw
+Schwarze Skorpionen Klaue -> Rote Skorpionen Klaue
+
+Black Scorpion Stinger
+Schwarzer Skorpionstachel
+
+Black Scorpion Stinger -> Red Scorpion Stinger
+Black Scorpion Stinger -> Red Scorpion Stinger
+
+Black Skull Slime
+
+
+Black Slime
+schwarz Slime
+
+Black Slime Mother
+
+
+BlackCat
+Schwarze Katze
+
+BlackScorpion
+
+
+Blacksmith
+Schmied
+
+Blacksmith Axe
+Schmied Ax
+
+Blacky Cat
+Blacky Katze
+
+Blade Shield
+Klinge-Schild
+
+Blame @@, missing map between 014-5 and 019-1, solely to make trip longer.
+Blame @@, fehlende Karte zwischen 014-5 und 019-1, allein Reise länger zu machen.
+
+Blame Saulc
+Blame Saulc
+
+Blame Saulc.
+Blame Saulc.
+
+Blanket
+Decke
+
+Bleed
+
+
+Blessing applied at: %s
+
+
+Blessing of Defense
+
+
+Blessing of Immortality
+
+
+Blind
+
+
+Block +1%
+
+
+Bloodbath
+
+
+Bloodstone Pendant
+Heliotrop Anhänger
+
+Bloody Mouboo
+blutige Mouboo
+
+Bloody Mouboo Hat
+
+
+Blooodstone
+Heliotrop
+
+Blossom
+Blühen
+
+Blossom, blossom, why you do this to me...
+Blüte, Blüte, warum Sie dies tun, um mich ...
+
+Blub
+Blub
+
+Blub, blub, blub
+
+
+Blue
+Blau
+
+Blue Coral
+Balue Koralle
+
+Blue Dye
+Blaue Farbe
+
+Blue Eggshell Hat
+Blau Eggshell Hut
+
+Blue Gray Dye
+Blau Grau Dye
+
+Blue Knight Shield
+Blue Knight Schild
+
+Blue Mana Pearl
+Blau Mana-Perlen
+
+Blue Sage will want to know this, I'll write him a letter.
+Blue Sage will, dies wissen, ich werde ihm einen Brief schreiben.
+
+Blue Slime
+blau Slime
+
+Blue Slime Mother
+
+
+Blue Switch#EP
+
+
+Blue from sea, learned how to hunt. But unfortunately, not how to withstand attacks.
+
+
+Blueberries
+Blaubeeren
+
+Bluepar
+Bluepar
+
+Boias, unlike common shields, does not have any penalty!
+Boias, im Gegensatz zu gemeinsamem Schilde, hat keine Strafe!
+
+Bone
+Knochen
+
+Bone Ammo Box
+Knochen Munitionsbox
+
+Bone Arrow
+Knochen Pfeil
+
+Bone Knife
+Knochenmesser
+
+Bonjour! I am @@, and I am from the Press! Read the latest news with me!
+Bonjour! Ich bin @@, und ich bin von der Presse! Lesen Sie die neuesten Nachrichten mit mir!
+
+Bonus recipes must be enabled with @@ after learned!
+Bonus Rezepte müssen mit @@ aktiviert werden, nachdem gelernt!
+
+Bonus:
+
+
+Boo!
+Boo!
+
+Book Keeper
+Book Keeper
+
+Book#01863A
+
+
+Book#FoS
+
+
+Book#Saggy
+
+
+Bookcase#MKHB1
+Bücherregal#MKHB1
+
+Bookcase#MKHB2
+Bücherregal#MKHB2
+
+Bookcase#MKHB3
+Bücherregal#MKHB3
+
+Bookcase#MKHB5
+Bücherregal#MKHB5
+
+Booo....
+Booo ....
+
+Boots
+Stiefel
+
+Booty!
+Beute!
+
+Boring NPC
+Boring NPC
+
+Born %s ago
+
+
+Boss Hunter Boina
+
+
+Boss Of The Dusty People
+Boss Of The Dusty Menschen
+
+Boss Raid
+
+
+Boss defeated!
+
+
+Bot Master
+Bot-Master
+
+Both rent and furniture are bought using money, however, there are mobiliary credits.
+Beide Miete und Möbel sind mit Geld gekauft, aber es gibt Mobiliar Credits.
+
+Bottle Of Divine Water
+Eine Flasche Wasser Göttlichen
+
+Bottle Of Sand
+Flasche Sand
+
+Bottle Of Sea Water
+Flasche von Meerwasser
+
+Bottle Of Sewer Water
+Flasche Wasser Abwasser
+
+Bottle Of Tonori Water
+Eine Flasche Wasser Tonori
+
+Bottle Of Woodland Water
+Flasche Waldwasser
+
+Bounty Hunter Helmet
+Bounty Hunter Helm
+
+Bow (strong, slow, no evasion)
+
+
+Bowler Hat
+Bowler Hut
+
+Bows
+Bows
+
+Bows are good, but if you're going to the Desert Canyon, I would instead invest on a light shield. Heavy ones make you walk slower.
+Bögen sind gut, aber wenn man in die Wüste Canyon gehst, ich würde stattdessen auf eine Lichtabschirmung investieren. Schwere diejenigen machen Sie gehen langsamer.
+
+Bows give you a good attack range, in exchange of all your evasion.
+Bögen geben Ihnen einen guten Angriff Bereich, in Austausch aller Entrinnen.
+
+Box Of Chocolates
+Schachtel Pralinen
+
+Bracco
+Bracco
+
+Brain
+Gehirn
+
+Brainic
+
+
+Brainstem
+Brainstem
+
+Braknar Shield
+Braknar Schild
+
+Braknar Shield Recipe unlocked!
+Braknar Schild Rezept freigeschaltet!
+
+Braknar also used a pseudonym - Arvek. If you hear that name in some tale, it is the same person.
+Braknar verwendet auch ein Pseudonym - Arvek. Wenn Sie diesen Namen in irgendeiner Geschichte hören, ist es die gleiche Person.
+
+Brave adventurers, be ready for the worst!
+
+
+Brave players need to group and retake them!
+
+
+Brawling
+
+
+Brazil: [@@http://www.prosangue.sp.gov.br/home/Default.html|http://www.prosangue.sp.gov.br/home/Default.html@@]
+Brasilien: [@@ http: //www.prosangue.sp.gov.br/home/Default.html | http: //www.prosangue.sp.gov.br/home/Default.html@@]
+
+Bread
+Brot
+
+Bread is fine, but it would taste better with @@. Could you bring us three?
+Brot ist in Ordnung, aber es wäre besser schmecken mit @@. Können Sie uns drei bringen?
+
+Break it!
+Break it!
+
+Break the crystal?
+
+
+Breaking a seal is easy, just flow mana on it for enough time to it shatter.
+eine Dichtung zu brechen ist einfach, nur Mana zerschmettern, um es genug Zeit darauf fließen.
+
+Bribe the guard for @@ GP?
+Bribe die Wache für @@ GP?
+
+Brimmed Feather Hat
+Federhut mit Krempe
+
+Brimmed Flower Hat
+Blumenhut mit Krempe
+
+Brimmed Hat
+Hut mit Krempe
+
+Bring it on!
+Her damit!
+
+Bring me %d %s so I may study its properties and improve our town water quality!
+
+
+Bring me %d %s, %d %s, %d %s, and %d %s, and I will make it for you. I also charge %d GP as commission.
+
+
+Bring me %d %s, %d %s, %d %s, and %d %s, and I will make it for you. I also charge %d GP commission.
+
+
+Bring me %d %s, %d %s, and %d %s and I can make it for you... oh and it will be %d GP for my work.
+
+
+Bring me %d %s, the white slimes keep stealing them and I am a bit too old to go running around, hunting slimes!
+
+
+Bring me %d %s, we elves are infinitely beautiful and the white slimes, just like your kin, seems to envy us. So please recover the stolen mirrors.
+
+
+Bring me %d %s. I cannot tell you what for, though!
+
+
+Bring me %s or make your own party if you want to help me.
+
+
+Bring me 10 @@. I'll pay you some money for that, of course.
+Bringt mir 10 @@. Ich werde Ihnen etwas Geld dafür bezahlen, natürlich.
+
+Bring me @@ Bandits or Sarracenus heads, or the double of that in Desert Log Heads, and I'll consider you brave enough.
+Bringt mir @@ Bandits oder Sarracenus Köpfe oder das Doppelte der in der Wüste Log Heads, und ich werde Sie mutig genug betrachten.
+
+Bring me the proof of your devotion, and I shall arrange you an audience with the Queen.
+
+
+Bring me the stolen item, pretty please.
+Bringe mir den gestohlenen Artikel, bitte schön.
+
+Bring me this and I'll spawn it for you:
+Bringt mir diese und ich werde laichen es für Sie:
+
+Bring me your wood, and I'll show you which one is sturdy, yet flexible enough to make a good Forest Bow.
+Bringen Sie mir Ihr Holz, und ich werde Ihnen zeigen, welche robust, aber dennoch flexibel genug, um einen guten Wald Bogen zu machen.
+
+Bring me, my worst nightmare.
+
+
+Brit Shield
+Brit Schild
+
+Broadsword
+Fuchtel
+
+Broadsword!
+Pallasch!
+
+Broken Doll
+Kaputte Puppe
+
+Broken Four Leaf Amulet
+Gebrochene Four Leaf Amulet
+
+Broken Medal
+Gebrochene Medaille
+
+Broken Warp Crystal
+Gebrochene Warp-Kristall
+
+Bromenal Boots
+
+
+Bromenal Chest
+Bromenal Chest
+
+Bromenal Four-Leaf Amulet
+Bromenal Vier-Blatt-Amulett
+
+Bromenal Gloves
+Bromenal Handschuhe
+
+Bromenal Helmet
+Bromenal Helmet
+
+Bromenal Pants
+Bromenal Hosen
+
+Bromenal Shield
+Bromenal Schild
+
+Bronze Boss Gift
+
+
+Bronze Braknar Shield
+Bronze Braknar Schild
+
+Bronze Chest
+Bronze Chest
+
+Bronze Gift
+Bronze Geschenk
+
+Bronze Gladius
+Bronze Gladius
+
+Bronze Medal
+Bronzemedaille
+
+Bronze Quiver
+Bronze Quiver
+
+Brown Dye
+Brown Dye
+
+Brr! It's extremely cold! I cannot go there!
+Brr! Es ist extrem kalt! Ich kann nicht dorthin gehen!
+
+Brrrr... I'm freezing! The winter at Nivalis is so harsh!!
+Brrrr ... Ich friere! Der Winter an Nivalis ist so hart !!
+
+Buccaneer
+
+
+Bucket
+Eimer
+
+Bug Leg
+Bug Leg
+
+Bug Slayer
+Bug Slayer
+
+Bug, report me!
+Bug, melden Sie mich!
+
+Build a bridge with wooden logs!
+Bauen Sie eine Brücke mit Holzbohlen!
+
+Bull Helmet
+Bull Helm
+
+Bullet
+Kugel
+
+Bunny Ears
+Häschen-Ohren
+
+Burglar Mask
+Einbrecher Mask
+
+Burn the potion
+Brennen Sie den Trank
+
+Burn, destroy, do whatever you need, until your last breath, my lieutenants and colonels!
+Verbrennen, vernichten, tun, was Sie brauchen, bis zum letzten Atemzug, meine Leutnants und Obristen!
+
+Burning
+
+
+But %s is too valuable to burn and there is no alternative fuel for forges. It sells for %d GP and we are just wasting it here.
+
+
+But I can sell ya a %s for %d GP. Interested?
+
+
+But I can still make it without cookies, as long that you bring me some other sweeties.
+Aber ich kann auch ohne Cookies machen es immer noch, so lange, dass Sie mir ein paar andere Sweeties bringen.
+
+But I can try my best for you!
+Aber ich kann mein Bestes für Sie versuchen!
+
+But I can't help but keep thinking on how many shiny treasures might be there!
+
+
+But I need to!
+Aber ich muss!
+
+But I should probably get inside it, first.
+
+
+But I want to swim!
+Aber ich will schwimmen!
+
+But I will not give up on my little experiment. Incidentally, Snakes are shaddy enough for my experiment. I promise you, I'll succeed this time.
+Aber ich will nicht auf mein kleines Experiment aufgeben. Übrigens Schlangen sind shaddy genug für mein Experiment. Ich verspreche Ihnen, ich werde diesmal Erfolg haben.
+
+But I'm almost out of @@...
+Aber ich habe kaum noch @@...
+
+But all I could do was a bite.
+Aber alles, was ich tun konnte, war ein Biss.
+
+But also very amusing. I'm sure Pihro and Pyndragon, the town mayors, will fancy this request of yours.
+Aber auch sehr amüsant. Ich bin sicher, Pihro und Pyndragon, die Stadt Bürgermeister, Wille Phantasie dieser Antrag von Ihnen.
+
+But as you're here now, could you do me a favour?
+Aber wie Sie jetzt hier sind, könnten Sie mir einen Gefallen tun?
+
+But be careful: do not scream when using a lot of capital letters, and do not keep repeating the lines, and above all DO NOT SPAM, or you may be severely penalized.
+Aber Vorsicht: nicht schreien, wenn eine Menge von Großbuchstaben verwenden, und nicht halten die Linien zu wiederholen, und vor allem keine Spam, oder Sie können streng bestraft werden.
+
+But be careful: learning fees and research points WILL NOT be given back!
+
+
+But be warned, I don't have the Apple with me. It must be further in.
+
+
+But before, a message from our developers!
+Aber vor, eine Nachricht von unseren Entwicklern!
+
+But can I help you?
+Aber kann ich Ihnen helfen?
+
+But come back in a few hours, I didn't lost all @@!
+Aber kommen Sie in ein paar Stunden zurück, ich habe noch nicht alles verloren @@!
+
+But do you want to hear a song about the world, or about grinding?
+Aber tun Sie einen Song über die Welt hören wollen, oder über Schleifen?
+
+But don't worry! South of here we have an Inn.
+
+
+But don't worry, because as they say: The more you learn, the better you get at learning!
+Aber keine Sorge, weil, wie sie sagen: Je mehr Sie lernen, desto besser werden Sie auf Lernen bekommen!
+
+But dragons came and started roaming this island. My friends are now either dead or missing. You look big and strong, do you want to avenge me?
+Aber Drachen kamen und begannen, diese Insel Roaming. Meine Freunde sind jetzt entweder tot oder vermisst. Du siehst groß und stark, haben Sie mich rächen wollen?
+
+But due to all of the chaos from when the slimes escaped, most of the phials of colored ink were broken. How am I supposed to do the illustrations without color?
+Aber wegen all dem Chaos aus, wenn die Schleime entkam, wurden die meisten der Phiolen farbiger Tinte gebrochen. Wie soll ich ohne Farbe die Illustrationen tun?
+
+But first... My throat is dry. Can you bring me a beer?
+Aber zuerst ... Meine Kehle ist trocken. Können Sie bringen mir ein Bier?
+
+But for now, we must NOT enrage the Moubootaur!!
+Aber jetzt müssen wir die Moubootaur NICHT erzürnen !!
+
+But he have lots of enemies... It would not surprise me to find him struck somewhere.
+Aber er habe viele Feinde ... Es würde mich nicht überraschen, ihn irgendwo getroffen zu finden.
+
+But hope is not lost, said the Sages of Fate!
+Aber die Hoffnung ist nicht verloren, sagten die Weisen des Schicksals!
+
+But if I do, I'll not return. Neither me, nor Raid. Which is why I'm taking precautions: This diary. In the event of my death, please bury my body and contact Halinarzo.
+
+
+But if a mage wants to be a warrior, they won't be able to use their full magic skills.
+Aber wenn ein Magier will ein Krieger sein, werden sie nicht in der Lage sein, ihre vollen magischen Fähigkeiten zu nutzen.
+
+But if you and other players surrounds the monster instead, they'll suffer the same penalties!
+Aber wenn Sie und andere Spieler das Monster stattdessen umgeben, werden sie die gleichen Strafen leiden!
+
+But if you believe in such cool challenge like mine there should be no dishonorable fight, comment it on Discord!
+
+
+But if you bring me %d %s and %d %s and %s GP, I can give you a %s!
+
+
+But if you keep harming the forest, this will be for naught. Was I clear?
+Aber wenn man den Wald halten zu schaden, wird dies umsonst sein. Bin ich klar?
+
+But if you only want to sit down and chat, this area is ideal for you!
+Aber wenn Sie nur hinsetzen und chatten möchten, ist dieser Bereich ideal für Sie!
+
+But if you regret this choice later... You know where you can find me.
+Aber wenn Sie diese Wahl später bereuen ... Sie wissen, wo Sie mich finden können.
+
+But if you want to be guard, you must be brave! Go fight your fears, and go kill some bandits like a decent guard.
+Aber wenn Sie der Hut sein wollen, müssen Sie mutig sein! Gehen Sie zu kämpfen, um Ihre Ängste und gehen einige Banditen wie ein anständiger Wache töten.
+
+But if you want, you can farm @@ already. Good luck!
+Aber wenn Sie möchten, können Sie bereits Bauernhof @@. Viel Glück!
+
+But if you're looking to go to the World Edge, the place where THE WORLD WILL DIE, I guess you are immune to rumors.
+Aber wenn Sie schauen, um den Weltrand zu gehen, der Ort, wo die Welt wird sterben, ich denke, Sie sind immun gegen Gerüchte.
+
+But if you're not skilled enough, or lose control of it, a Moggun might be spawned instead. Which is a young, weak, baby Yeti.
+Aber wenn Sie nicht geschickt genug sind, oder verlieren die Kontrolle über sie, ein Moggun könnte stattdessen hervorgebracht werden. Das ist ein junger, schwach, Baby Yeti.
+
+But if you're wrong, you'll have to pay up! There's no refunds. This is gambling, if you lose you lose!
+
+
+But in accordance to an old %s, you were unlucky.
+
+
+But instead of dying a Monster King he became!
+Aber anstatt ein Monster König zu sterben, wurde er!
+
+But it is a massive organization, recognized by everyone. Guilds train with other guilds, for huge profits.
+Aber es ist eine massive Organisation, die von allen anerkannt. Gilden trainieren mit anderen Gilden, für riesige Gewinne.
+
+But it is a so silly fight, that whoever you join with shouldn't do much difference.
+Aber es ist ein so dummer Kampf, dass Sie kommen, wer mit nicht viel Unterschied machen.
+
+But it is spring! Perhaps, if you bring me some flowers and fruits which only grow at Spring, I could impress her!
+Aber es ist Frühling! Vielleicht, wenn Sie mir ein paar Blumen und Früchte bringen, die nur im Frühling wachsen, könnte ich mich beeindrucken!
+
+But it is still too early to give it away to a %s children.
+
+
+But it will not help you to craft something as complex as weapons or armors. If we catch you profaning this magic... I'll have you returned to the sea %%e
+
+
+But it's ultimate goal of miners there.
+Aber es ist oberstes Ziel es der Bergleute.
+
+But maybe you could help me killing a few maggots?
+Aber vielleicht könnten Sie mir helfen, ein paar Maden zu töten?
+
+But maybe you should help other people and get some levels before returning to me.
+Aber vielleicht sollten Sie anderen Menschen helfen und einige Ebenen erhalten vor mir zurück.
+
+But my case requires extended treatment. I need to be hospitalized. I'm afraid it is too late for the Elixir to have effect...
+Aber mein Fall erfordert längere Behandlung. Ich muss ins Krankenhaus eingeliefert. Ich fürchte, es ist zu spät für die Elixir Wirkung haben ...
+
+But now, we are quite old. I remember the time when I was your age. My generation doesn't do stupid things like yours!
+Aber jetzt sind wir schon recht alt. Ich erinnere mich an die Zeit, als ich in deinem Alter war. Meine Generation nicht tun dumme Dinge wie Ihr!
+
+But please be picky with how you spend job points. They are hard to come by, and I'm not entirely sure you can change it later.
+Aber bitte pingelig mit, wie Sie Job Punkte ausgeben. Sie sind schwer zu bekommen, und ich bin nicht ganz sicher, können Sie es später ändern.
+
+But pretty much, anything which contributes to the common knowledge of this world. It might even be writing a NPC telling about the world history, developing software for Wiki/GameInfo/etc., it all depends on the scholars.
+
+
+But remember: %s
+Aber denken Sie daran:% s
+
+But remember: This makes you much more vulnerable, and you usually cannot hit from too close, so watch your step and don't stumble into your enemy's attack.
+Aber denken Sie daran: Das macht Sie viel anfälliger, und Sie können in der Regel nicht zu nahe schlagen, so dass Ihr Schritt beobachten und stolpert nicht in der feindlichen Angriff.
+
+But she is a fairy. She won't be pleased with flowers. Instead, go and give her a %s as a token of good will.
+
+
+But still, he can't just walk in there, fiddle with the experiments and disturb the helpers doing their work.
+Aber noch kann er nicht geht nur dort, Geige mit den Experimenten und stört die Helfer ihre Arbeit zu tun.
+
+But thanks to your %s skills, maybe you can pry this open.
+
+
+But that is unlikely, we have no reason to sabotage our own work! You saw the mess it caused. Everyone knew it was important.
+Aber das unwahrscheinlich ist, haben wir keinen Grund, unsere eigene Arbeit zu sabotieren! Sie sah das Chaos verursachte. Jeder wusste, dass es wichtig war.
+
+But that's no excuse for cowardice!
+Aber das ist keine Entschuldigung für Feigheit!
+
+But that's not so easy... I already sent many people, and even come myself, but he refuses to help.
+Aber das ist nicht so einfach ... ich schon viele Leute geschickt und mich selbst kommen, aber er weigert sich zu helfen.
+
+But the box was empty.
+Aber das Feld war leer.
+
+But the game still is in development, so not every great feat was added yet.
+
+
+But the game still is in development, so not every quest was added yet.
+Aber das Spiel ist noch in der Entwicklung, so wurde nicht jede Suche aufgenommen.
+
+But the monsters around here must be pretty scary for someone like you.
+
+
+But the more you use a certain skill, the less research points will be required to upgrade it. And that bonus is permanent.
+
+
+But the most useful thing might be drinking %s and the like. They also boost drop rates, but weak drinks effects are low and short.
+
+
+But the teddy unexpectedly starts moving towards your bag, possibly attracted by some smell. You give up on approaching it, and starts watching it.
+
+
+But the teddy, noticing your movement, starts getting farther from you. It doesn't seems scared, but it doesn't allows you to approach either.
+
+
+But then, Andrei Sakar appeared. Hope was not lost. We could still defend it.
+Aber dann erschien Andrei Sakar. Hoffnung war nicht verloren. Wir könnten es noch verteidigen.
+
+But there was only @@ GP inside.
+Aber es gab nur @@ GP innen.
+
+But there was only a(n) @@ inside.
+Aber es war nur eine (n) @@ innen.
+
+But this is not a time of need, so it is unlikely to appear even if all other conditions were to be met.
+
+
+But this is not important. They are dangerous. They must be stop at any cost!
+Aber das ist nicht wichtig. Die sind Gefährlich. Sie müssen aufhören, um jeden Preis sein!
+
+But to be fair, from what I've seen Peetu was always very attentive and dutiful.
+Aber um fair zu sein, von dem, was ich habe gesehen Peetu war immer sehr aufmerksam und dutiful.
+
+But to defeat this dummy, I would say that %s should do the trick.
+Aber diese Attrappe zu besiegen, würde ich sagen, dass% s sollte es tun.
+
+But unfortunately, a loose stone lodges and you fall to your death.
+Aber leider ein loser Stein einlegt und Sie fallen in den Tod.
+
+But unfortunately, it was harder than you thought. You are dead.
+Aber leider war es schwieriger, als Sie dachten. Du bist tot.
+
+But unfortunately, whoever made this riddle disagrees with me.
+
+
+But unless you touch a Mana Stone and get stronger magic, that would be as useful as teaching magic to a wall. No offense.
+Aber wenn Sie einen Manastein berühren und stärkere Magie bekommen, das wäre so nützlich sein wie Magie an eine Wand zu unterrichten. Nichts für ungut.
+
+But we are working day and night. We hope that soon, more people come out and this place gets lively again.
+Aber wir arbeiten Tag und Nacht. Wir hoffen, dass bald mehr Menschen kommen und dieser Ort wird wieder lebendig.
+
+But we cannot ignore the threat this imposes to us. You might not know our world's history, but this place should never be inhabited or else...
+
+
+But we took every stone, and restricted the magic.
+Aber wir haben jeden Stein, und beschränkt die Magie.
+
+But what I really hate is that they forbid gossiping.
+Aber was ich wirklich hasse, ist, dass sie verbieten klatschend.
+
+But when I left him to look at the books on his own, he sneaked over to the workshop area. Visitors are allowed to have a look there, but only if they don't interfere with any research and experiments. But it seems he was being rather disturbing, since they sent them back to the library part.
+Aber als ich ihn verließ auf eigene Faust auf die Bücher zu sehen, schlich er sich auf den Werkstattbereich über. Besucher dürfen dort einen Blick haben, aber nur, wenn sie mit jeder Forschung und Experimenten nicht stören. Aber es scheint, er ist eher störend, da sie sie in die Bibliothek Teil zurückgeschickt.
+
+But who am I?
+Aber wer bin ich?
+
+But who cares? We need to save the Professor! During night, monsters are stronger, so they'll probably attack at night time!
+
+
+But with a @@, when you are about to die, you can warp back to Soul Menhir and bypass death penalty.
+Aber mit einem @@, wenn Sie zu sterben, können Sie dem Soul Menhir und Bypass Todesstrafe verziehen zurück.
+
+But you already have Mylarin Dust! That's good, because I no longer craft savior pieces. But. For %s GP I'll give you a %s and if you're lucky, it'll have the recipe you're after.
+
+
+But you are welcome to reset your stats again! I need the money.
+Aber Sie sind herzlich eingeladen, Ihre Statistiken wieder zurückgesetzt werden! Ich brauche Geld.
+
+But you can also wear a %s instead, no problem.
+
+
+But you did not hit... have another try.
+Aber Sie haben nicht getroffen ... haben einen neuen Versuch.
+
+But you don't have any experience at the moment, so what do you have to lose?
+Aber Sie haben keine Erfahrung im Moment, so was haben Sie zu verlieren?
+
+But you have already given me firewood today. Come back tomorrow, pal.
+
+
+But you lack magic! That's a pity."
+
+
+But you seem to have come from more savage and barbaric towns, so if you could bring me %d %s, that would be truly helpful.
+
+
+But you won't *hic* me this time...
+Aber du wirst *hicks* mich doch nicht dieses Mal...
+
+But you're too slow to catch any of them. Sorry.
+Aber du bist zu langsam jede von ihnen zu fangen. Es tut uns leid.
+
+But you're too slow. Sorry.
+Aber du bist zu langsam. Es tut uns leid.
+
+But you're too weak to beat any of them. Sorry.
+Aber du bist zu schwach, einer von ihnen zu schlagen. Es tut uns leid.
+
+But you're too weak. Sorry.
+Aber du bist zu schwach. Es tut uns leid.
+
+But your silly map must be wrong. These passages do not connect themselves like this, but this should not be an issue, as they're not relevant.
+
+
+But, I found something really interesting! Ah... I hope you like history?
+Aber, fand ich etwas wirklich interessant! Ah ... ich hoffen, dass Sie wie die Geschichte?
+
+But, hm hm hm! I have a %s for you! It won't have what you wanted, but maybe you're lucky, after all?
+
+
+But, it wouldn't look nice if I let you do all the killing! The other guards are working right now!
+Aber wäre es nicht schön aussehen, wenn ich Sie alle Tötung tun lassen! Die anderen Wachen arbeiten jetzt!
+
+But- But you have to! It is the
+Aber- Aber Sie müssen! Es ist der
+
+But... But! Where are you?! That summon ritual is equivalent to GM magic!
+Aber aber! Wo sind Sie?! Das Beschwörung Ritual ist zu GM Magie gleichwertig!
+
+Butcher Knife
+Metzgermesser
+
+Butterfly
+Schmetterling
+
+Buy
+Kaufen
+
+Buy a Housing Letter
+Kaufen Sie ein Gehäuse Brief
+
+Buy a mercenary card
+Kaufen Sie eine Söldnerkarte
+
+Buy cheap, sell expensive!
+Günstig kaufen, verkaufen teuer!
+
+Buying rares
+
+
+By "breaking", I do not mean death. It is something worse.
+
+
+By far, the most important holiday on Moubootaur Legends.
+
+
+By last, east of here are the Canyons. Do not go there before level 20, and even then, do not engage snakes in combat. They are fast and very dangerous.
+Mit dem letzten, östlich von hier sind die Canyons. Gehen Sie nicht dort vor Level 20, und selbst dann nicht eingreifen Schlangen im Kampf. Sie sind schnell und sehr gefährlich.
+
+By last, there was the Blue Sage, living on Nivalis... I never met him outside the Council.
+Mit dem letzten gab es die Blue Sage, leben auf Nivalis ... Ich traf ihn nie außerhalb des Rates.
+
+By pressing @@, you can open the Shortcut menu. And by pressing @@, you open the skill menu!
+
+
+By sitting in the rug in front of the professor (the one with benches)
+Durch die vor dem Professor in dem Teppich sitzen (die mit Sitzbänken)
+
+By the way , it is done already. You took a long time, you know? Also, we're talking about Pihro and Pyndragon.
+
+
+By the way would you like to transform your gem?#0
+
+
+By the way would you like to transform your gem?#1
+
+
+By the way, I can't say for sure it was a man. He smelled like onions, and his face was shinning.
+By the way, kann ich nicht sicher sagen, es war ein Mann. Er roch nach Zwiebeln, und sein Gesicht war shinning.
+
+By the way, I found this Mask after you killed the Fafi Dragon, Maybe you can use it some day.
+By the way, fand ich diese Maske, nachdem Sie die Fafi Drachen getötet, Vielleicht können Sie es eines Tages verwenden.
+
+By the way, I've heard that the name of the wizard of Aethyr is the key to open its gates. But I don't know neither where the gates are, nor who is the "wizard of Aethyr".
+
+
+By the way, did you know that the official color of Tulimshar is yellow?
+
+
+By the way, you need a couple of @@ to try the skill. Fail rate is pretty high if you don't know how to control your magic.
+By the way, müssen Sie ein paar @@ die Fähigkeit zu versuchen. Ausfallrate ist ziemlich hoch, wenn Sie nicht wissen, wie Sie Ihre Magie zu kontrollieren.
+
+Bye for now.
+Bis bald!
+
+Bye then!
+Dann, Tschüss!
+
+Bye!
+Bye!
+
+Bye.
+Bye.
+
+CAPTCHA: An error happened, try again.
+
+
+CAPTCHA: Cooldown in effect.
+
+
+CAPTCHA: Incorrect answer. Wait %ds and try again.
+
+
+CAPTCHA: You have %s minute(s) remaining
+
+
+CLEAR!
+
+
+COD: Ran out of time!
+COD: Ran aus der Zeit!
+
+CONGRATULATIONS! For a semester worth of logins, you're getting a pet!
+HERZLICHE GLÜCKWÜNSCHE! Für ein Semester im Wert von Logins, Sie bekommen ein Haustier!
+
+CONGRATULATIONS! You are the first player to finish Cindy Quest!!
+HERZLICHE GLÃœCKWÃœNSCHE! Sie sind der erste Spieler Cindy Quest zu beenden !!
+
+CONGRATULATIONS! You are the first player to finish Gemini Sisters quest!!
+
+
+CONGRATULATIONS! You are the first player to finish Heroes Hold Master Dungeon!!
+HERZLICHE GLÃœCKWÃœNSCHE! Sie sind der erste Spieler zu beenden Helden halten Master-Dungeon !!
+
+CONGRATULATIONS! You are the first player to finish The Episode of Ozthokk!!
+
+
+CONGRATULATIONS! You are the first player to finish Yeti King quest!!
+HERZLICHE GLÜCKWÜNSCHE! Sie sind der erste Spieler, der Yeti König Quest zu beenden !!
+
+CONGRATULATIONS! You are the first player to harness all power the Mana Stone would willingly give!
+
+
+CONGRATULATIONS! You have obtained the %s.
+
+
+CONTINUE ANYWAY? [Y/N]
+MACHE TROTZDEM WEITER? [Y / N]
+
+Cactus Cocktail
+Cactus Cocktail
+
+Cactus Drink
+Cactus Drink
+
+Cactus Potion
+Cactus Potion
+
+Cadis : You have slain %s %s out of a million.
+
+
+Cadis Mode
+
+
+Caelum
+Caelum
+
+Cake Town (Hurnscald)
+Kuchen Town (Hurnscald)
+
+Call Of Dusty
+Call Of Dusty
+
+Call Of Dusty is a timed event quest. It begins hourly, when the minute clock marks zero.
+Call Of Dusty ist ein zeitlich begrenztes Ereignis Quest. Es beginnt stündlich, wenn die Minutentaktmarkierungen Null.
+
+Calm down! How can I help you?
+Beruhigen! Womit kann ich Ihnen behilflich sein?
+
+Calm down, don't get mad! I was wrong in trusting this map, it is definitely faulty. Lemme see it again...
+
+
+Calm, perfect for a fly!
+Ruhig, ideal für eine Fliege!
+
+Camel Dye
+Camel Dye
+
+Camilot
+Camilot
+
+Campaign starts after 60 seconds. Eight maggots will spawn on the next 100 seconds.
+Kampagne beginnt nach 60 Sekunden. Acht Maden spawnen auf die nächsten 100 Sekunden.
+
+Can I become a miner?
+Kann ich einen Bergmann werden?
+
+Can I find a mana source here?
+Kann ich hier eine Manaquelle finden?
+
+Can I have a Blanket, at least?
+Kann ich eine Decke, mindestens haben?
+
+Can I help you somehow today?
+
+
+Can I help you with something?
+Kann ich Ihnen mit irgendwas helfen?
+
+Can I help you?
+Kann ich Ihnen helfen?
+
+Can I read these rules again?
+Kann ich diese Regeln noch einmal lesen?
+
+Can I return to the shrine?
+Kann ich zum Schrein zurückkehren?
+
+Can we get back to that later?
+Können wir auf diesen späten zurückbekommen?
+
+Can we keep %s at bay long enough?
+
+
+Can you bring me 3 @@? Of course, you'll be rewarded.
+Können Sie bringen mich 3 @@? Natürlich, werden Sie belohnt.
+
+Can you bring me 5 pieces of Cherry Cake? Pretty please?
+Können Sie mir 5 Stück Kirschkuchen bringen? Bitte, bitte?
+
+Can you come back with all the items I asked for? Please.
+Können Sie kommen mit allen Einzelteilen wieder ich gefragt habe? Bitte.
+
+Can you craft Chainmail Skirt?
+Können Sie Ketten Rock Handwerk?
+
+Can you craft Chainmail?
+Können Sie Kettenhandwerk?
+
+Can you craft Light Platemail?
+Können Sie Licht-Plattenhandwerk?
+
+Can you craft Savior Equipment?
+
+
+Can you craft Warlord Plate?
+Können Sie Warlord Platte Handwerk?
+
+Can you do something with my color?
+Kannst du etwas mit meiner Farbe machen?
+
+Can you do that? I'll be waiting!
+Können Sie das tun? Ich werde warten!
+
+Can you fetch with her? 12 %s.
+
+
+Can you give me a @@ or a @@
+Können Sie mir einen @@ oder @@
+
+Can you give me a tip?
+Können Sie mir einen Tipp geben?
+
+Can you give me half the gold and half the monster points?
+
+
+Can you help me find some @@?
+Können Sie mir helfen, etwas @@ zu finden?
+
+Can you help me with Everburn Powder? I need 5.
+Können Sie mir mit Everburn Powder helfen? Ich brauche 5.
+
+Can you help me?
+Kannst du mir helfen?
+
+Can you improve my Light Platemail for me?
+Können Sie meine Licht-Platten für mich verbessern?
+
+Can you improve my Warlord Plate for me?
+Können Sie meine Warlord Platte für mich verbessern?
+
+Can you make me a Monster Potion?
+Können Sie mir machen ein Monster Trank?
+
+Can you mix Gem Powder?
+Können Sie Gem Pulver mischen?
+
+Can you mix me an agility potion?
+
+
+Can you please explain the task again?
+Können Sie die Aufgabe erneut erklären, bitte?
+
+Can you please go away?
+Würdest du bitte weg gehen?
+
+Can you please repeat your lesson?
+Können Sie bitte Ihre Lektion wiederholen?
+
+Can you repeat what you said before?
+Können Sie das wiederholen, was vor Ihnen gesagt hat?
+
+Can you reset my stats please?
+Kannst du meine Statuspunkte bitte zurücksetzen?
+
+Can you search ##Bthe barrels##b for the bug bomb and set it off when you find it?
+
+
+Can you sing me a song?
+Können Sie mir ein Lied singen?
+
+Can you teach me Mana Magic?
+Können Sie mir Mana Magie lehren?
+
+Can you teach me a basic shaman skill? please?
+Können Sie mir einen Grund-Schamane Fähigkeit beibringen? Bitte?
+
+Can you teach me a spell?
+Können Sie mir einen Zauber beibringen?
+
+Can you teach me magic? Pretty please?
+Können Sie mir Magie lehren? Bitte, bitte?
+
+Can you teach me some Alchemy Recipe?
+Können Sie mir einige alchimierezept lehren?
+
+Can you, perhaps, do me a favor? Please... Check her house for any signs of battle.
+Können Sie vielleicht, mir einen Gefallen tun? Bitte ... Überprüfen Sie ihr Haus auf Anzeichen von Kampf.
+
+Can't I do anything, though?
+Ich kann nichts, wenn?
+
+Can't blame you, can't blame you at all! Here, take a seat!
+Können Sie nicht die Schuld, können Sie nicht überhaupt schuld! Hier, nehmen Sie Platz!
+
+Can't chat, recover HP over time
+
+
+Can't leave right now.
+
+
+Can't move nor attack, crit def -100%
+
+
+Can't move nor evade.
+
+
+Can't move, Acc. and Evade -20%%
+
+
+Can't move, DEF-, Damage over time, Earth element
+
+
+Can't move, DEF-, no evade, Water element
+
+
+Can't talk right now, I'm on patrol duty.
+Kann nicht reden, bin auf Patrouille.
+
+Can't use skills
+
+
+Can't you see I'm busy?
+
+
+Cancel
+Stornieren
+
+Candied Slime
+Kandierte Slime
+
+Candle Helmet
+Candle Helmet
+
+Candor
+Offenheit
+
+Candor - @@ GP
+Candor - @@ GP
+
+Candor Battle Score: %s
+
+
+Candor Battle Season
+
+
+Candor Bloodbath Score: %s
+
+
+Candor Bola
+Candor Bola
+
+Candor Boots
+Candor Schuhe
+
+Candor Gloves
+Candor Handschuhe
+
+Candor Head Band
+Candor Stirnband
+
+Candor Island
+
+
+Candor Island, then? Yes, that is a pretty island, right?
+Candor Island, dann? Ja, das ist eine schöne Insel, nicht wahr?
+
+Candor Scorpion
+Candor Skorpion
+
+Candor Shirt
+Candor Hemd
+
+Candor Shorts
+Candor Shorts
+
+Candor Survival : New Highscore: %s
+
+
+Candor Warp Crystal
+Candor Warp-Kristall
+
+Candor's Nurse
+Candor's Krankenschwester
+
+CandorShip
+CandorShip
+
+Candy
+Süßigkeit
+
+Candy Cane
+Zuckerstange
+
+Canyon - Safe Route
+
+
+Canyon - Settlement Route
+
+
+Cap
+Kappe
+
+Captain
+Kapitän
+
+Captain Cap
+Kapitänsmütze
+
+Captain Nard
+Kapitän Nard
+
+Captain Nard have it. Fetch it with him! Quick, you only have @@ left!
+Kapitän Nard hat es. Fetch es mit ihm! Schnell, Sie haben nur @@ links!
+
+Captain, why have you brought me to a deserted boring island?!
+Kapitän, warum hast du mich auf eine einsame Insel langweilig gebracht ?!
+
+Captcha ok
+
+
+Captcha successful
+
+
+Caramel Candy
+Karamell-Süßigkeit
+
+Cards are ranked on this priority: A - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - J - Q - K - Joker
+Die Karten werden auf dieser Priorität geordnet: A - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - J - Q - K - Joker
+
+Careful: You have unsaved changes!
+Achtung: Sie haben nicht gespeicherte Änderungen!
+
+Carla
+Carla
+
+Carrot
+Möre
+
+Casino Coins
+Kasino-Münzen
+
+Cassia
+Cassia
+
+Cat Ears
+Katzenohren
+
+Catch the Golden Fish!
+
+
+Catch the golden fish swarm!
+
+
+Cato Mil
+Cato Mil
+
+Catty Cat
+catty Cat
+
+Cauldron#MKHB
+Kessel#MKHB
+
+Cauldron#RES_0128
+Kessel#RES_0128
+
+Cauldron#RES_PPL
+Kessel#RES_PPL
+
+Cause a very strong attack with lowered accuracy.
+
+
+Causes a healing effect in area to guild members.
+
+
+Caution
+
+
+Cave Bat
+Höhlenfledermaus
+
+Cave Maggot
+Höhlenmade
+
+Cave Maggot
+
+
+Cave Snake
+Höhlenschlange
+
+Cave Snake Egg
+Höhlenschlangen Ei
+
+Cave Snake Hat
+Cave Snake Hat
+
+Cave Snake Lamp
+Höhlenschlangen Lampe
+
+Cave Snake Skin
+Höhlenschlangen Haut
+
+Cave Snake Tongue
+Höhlenschlangen Zunge
+
+Cave Snale
+
+
+CaveMaggot
+
+
+Celestia
+Celestia
+
+Celestia Season
+
+
+Celestia Tea
+Celestia Tea
+
+Celestia asks for your help.
+Celestia bittet um Ihre Hilfe.
+
+Celestia eyes sparkles.
+Celestia Augen funkelt.
+
+Celestia hands you a cup filled with some type of tea that is unlike anything you have seen before.
+Celestia Hände Sie eine Tasse mit irgendeiner Art von Tee gefüllt, die anders als alles ist, dass Sie vorher gesehen haben.
+
+Celestia then picks up the cup of tea and drinks it in front of you to demonstrate that it is not only harmless but also quite delectable.
+Celestia dann nimmt die Tasse Tee und trinkt es vor Ihnen zu zeigen, dass es nicht nur harmlos, sondern auch ganz köstlich.
+
+Cell Door#G01
+
+
+Cell Door#G02
+
+
+Cell Door#G03
+
+
+Cell Door#K01
+
+
+Centaur
+Zentaur
+
+Centaur Spear
+Centaur Spear
+
+Central Switch#EP
+
+
+Centurion Helmet
+Centurion Helm
+
+Certainly not. Uhh, please excuse me.
+Sicherlich nicht. Uhh, bitte entschuldigen Sie mich.
+
+Certainly, you can have all my Terranite Ore.
+Natürlich können Sie alle meine Terranite Ore haben.
+
+Ch 1 — Fishing apparatus
+Ch 1 - Angelausrüstung
+
+Ch 1 — Prologue
+Ch 1 — Vorwort
+
+Ch 2 — About Magic Skills
+
+
+Ch 2 — Baits
+Ch 2 - Köder
+
+Ch 3 — Location
+Ch 3 - Ort
+
+Ch 3 — Status Ailments
+
+
+Ch 4 — Casting
+Ch 4 - Auswerfen
+
+Ch 4 — Information About You
+
+
+Ch 5 — Information About Others
+
+
+Ch 5 — Reeling
+Ch 5 - Einholen
+
+Chagashroom
+Chagashroom
+
+Chagashroom Field
+Chagashroom Feld
+
+Chagashroom Field
+Chagashroom Feld
+
+Chainmail
+Ketten
+
+Chainmail Skirt
+Ketten Rock
+
+Chairs
+Stühle
+
+Chamomile Tea
+Kamillentee
+
+Championship Bow
+Meisterschaft Bow
+
+Change Crafting Options
+Ändern Crafting-Optionen
+
+Change Language
+Sprache ändern
+
+Change Linked Discord Account
+Ändern Linked Discord Konto
+
+Change Season Event
+Ändern Saison Ereignis
+
+Change crafting method
+
+
+Change my appearance
+Aussehen verändern
+
+Change my quests
+Quest-Status verändern
+
+Change weapons
+
+
+Changes include but are not limited to festive events and dates.
+Die Änderungen umfassen, sind aber nicht auf festliche Veranstaltungen und Termine begrenzt.
+
+Chanting
+
+
+Chanting Challenge
+
+
+Chanting is extremely simple, and everyone can do it, even if they're not inate.
+
+
+Chaos shall be the founding stone of my town! Falling star!
+
+
+Char Name: @@
+Char Name: @@
+
+Charda
+Charda
+
+Charda clean!
+Charda sauber!
+
+Charles, Trader King
+Charles, Trader König
+
+Cheater detected! You have a three minutes sentence to fulfill, now.
+Cheater erkannt! Sie haben einen 3 Minuten Satz, jetzt zu erfüllen.
+
+Cheater detected.
+Betrüger erkannt.
+
+Check @@ <= @@
+Überprüfen Sie @@ <= @@
+
+Checkpoint Guard#1
+
+
+Checkpoint Guard#2
+
+
+Checkpoint Guard#3
+
+
+Checkpoint Guard#4
+
+
+Checkpoint! Magic Barrier went down!
+Kontrollpunkt! Magie Barrier ging!
+
+Ched
+ched
+
+Cheers!
+Prost!
+
+Cheese
+Käse
+
+Chef Gado
+Koch Gado
+
+Chef Hat
+Chef-Hut
+
+Chef#dimond
+
+
+Cherry
+Kirsche
+
+Cherry Cake
+Kirschkuchen
+
+Cherry Cocktail
+Kirschcocktail
+
+Chest Armor Recipes
+
+
+Chest#002-1
+
+
+Chest#gemini
+
+
+Chestplates
+Brustplatten
+
+Chicken Leg
+Hünchenschenkel
+
+Chirp
+
+
+Chocolate Bar
+Schokoladentafel
+
+Chocolate Biscuit
+Schokoladenkeks
+
+Chocolate Bunny
+Schokohase
+
+Chocolate Dye
+Schokoladen-Dye
+
+Chocolate Mouboo
+Schokoladen Mouboo
+
+Chocolate Slime
+Schokolade Slime
+
+Chocolate Slime Mother
+
+
+Christmas
+Weihnachten
+
+Christmas 2021 Joint Event
+
+
+Christmas Chief
+Weihnachtschef
+
+Christmas Cook
+Weihnachten Koch
+
+Christmas Gift
+Weihnachtsgeschenk
+
+Christmas Storage Master
+Weihnachten Storage Master
+
+Christmas Sweater
+Weihnachten Sweater
+
+Christmas Top 1 Prize
+
+
+Christmas Tree
+
+
+Cindy is gone...
+Cindy ist weg ...
+
+Cindy is too scared to leave; Better we kill the Yetis and their friends!
+
+
+Cindy#Outside
+
+
+Cindy#house
+
+
+Citizen
+
+
+Civil status: Married
+
+
+Civil status: Single
+
+
+Civilian traffic keeps declining but they keep bringing more crates back and forth! Crates filled with rubble!
+
+
+Clan Name: @@
+Clan-Namen: @@
+
+Claw Pendant
+Klauen Anhänger
+
+Clear the arena to leave!
+
+
+Cleared Gemini Sisters Quest %s ago
+
+
+Cleared Heroes Hold %s ago
+
+
+Cleared the Yeti King Challenge %s ago
+
+
+Clearly an exotic tea, with a refined flavor fit for a refined woman such as Celestia.
+Offensichtlich ein exotischer Tee, mit einem raffinierten Geschmack fit für eine raffinierte Frau wie Celestia.
+
+Cleric Cap
+Cleric Cap
+
+Cleric Card
+Cleric-Karte
+
+Cleric Card S
+
+
+Cleric Card X
+
+
+Click "Next" to begin the fight.
+
+
+Click on Elmo or Magic Arpan to continue and begin the game...
+Klicken Sie auf Elmo oder Magie Arpan fortzusetzen und das Spiel zu beginnen ...
+
+Click on the NPCs (Non-Player Characters) around you to continue the introduction.
+Klicke auf NPCs (Non-Player Characters) in deiner Nähe, um mit dem Prolog fortzufahren.
+
+Climb on the walls!
+Klettern an den Wänden!
+
+Close
+Schließen
+
+Closed Christmas Box
+Geschlossen Christmas Box
+
+Clotho Liquor
+Clotho Schnaps
+
+Clover Field
+Kleefeld
+
+Clover Patch
+Kleeacker
+
+Coal
+Kohle
+
+Coal (2 power)
+
+
+Cobalt Herb
+Cobalt Herb
+
+Cobalt Plant
+Cobalt Pflanze
+
+Coffee
+Kaffee
+
+Coffee is good, why does the Mouboo refuse to drink it?
+
+
+Coffee! I'm awake now!
+
+
+Coin Bag
+Münzen-Beutel
+
+Cold
+
+
+Colin
+Colin
+
+Collaborate by giving this powder to Aurora, before it vanishes!
+
+
+Collect chocolate and love letters from the fluffies
+
+
+Collect easter eggs, and exchange them with Lilica!
+
+
+Collect the treasured crystals from treasure chests!
+
+
+Collect their %s as well, so our wizards can do their magic!
+
+
+Colonel DUSTMAN
+Oberst MÃœLLABFUHRMANN
+
+Colonel Dustman
+
+
+Come after a little while.
+Komm ein bisschen später wieder.
+
+Come ancient evil, and bleed everything!
+
+
+Come and visit again!
+
+
+Come back and give me more gifts!
+Kommt zurück und gib mir mehr Geschenke!
+
+Come back in a few hours, and we can fix that!
+Kommen Sie in ein paar Stunden zurück, und wir können das beheben!
+
+Come back when you are a higher level.
+
+
+Come back when you are at a higher level.
+
+
+Come back when you are stronger and we can trade.
+
+
+Come back when you are stronger.
+
+
+Come back when you are willing to spend money.
+
+
+Come back when you have everything.
+
+
+Come back when you have the Snake Eggs for me.
+
+
+Come back when you will really need me.
+Komm wieder, wenn du mich wirklich benötigen.
+
+Come meager magic, and hit spot.
+
+
+Come standard fire, and harm spot.
+
+
+Come talk to me once you manage to equip the shirt and the shorts!
+Komm zu mir reden, wenn es Ihnen gelingt, das T-Shirt und die Shorts ausstatten!
+
+Come to my aid! Vanish this fool!
+Mir zur Hilfe kommen! Vanish diesen Narr!
+
+Come to the bakery!
+
+
+Come try again, some other time.
+Kommen Sie versuchen Sie es erneut, ein andermal.
+
+Come, Calling, and Cast are all the same thing.
+
+
+Come, my minions! Lay siege to towns! LEAVE NO OPPOSITION TO ME!
+Komm, meine Günstlinge! Belagern Städte! LEAVE NO OPPOSITION ZU MIR!
+
+Comfortable grip is important especially for newcomers, since they'll be holding it for quite a while.
+Ein angenehmer Griff ist gerade für Anfänger wichtig, da sie ihn für längere Zeit in der Hand halten werden.
+
+Command not permitted on this map! Check npc/functions/weather.conf
+Befehl nicht erlaubt, auf dieser Karte! Check npc / Funktionen / weather.conf
+
+Commander Cadis
+
+
+Commander Povo
+
+
+Commands.
+Befehle.
+
+Commmon Fluffy
+Gemeinsamer Fluffy
+
+Common Carp
+Gemeiner Karpfen
+
+Common Drops:
+Gemeinsame Drops:
+
+Common Drops: None
+Gemeinsame Drops: Keine
+
+Common Fluffy
+Gemeinsamer Fluffy
+
+Common Maggot
+gemeinsame Maggot
+
+Common Mouboo
+Gemeinsamer Mouboo
+
+Common Scorpion
+Gemeiner Skorpion
+
+Community Decision
+
+
+Community Shirt
+Gemeinschaft Hemd
+
+Compact
+Kompakt
+
+Compact forge stones
+Compact Schmiede Steine
+
+Compatibility Support mode enabled. Client may crash AT RANDOM, beware.
+Compatibility Support-Modus aktiviert. Client kann AT RANDOM abstürzen, passen.
+
+Compete for the first place, and remember to exchange silver
+
+
+Complaints Depto. temporaly closed, come back later
+Beschwerden DEPTO. zeitweilig geschlossen, kommen später zurück
+
+Complete Quest?
+Füllen Sie Quest-?
+
+Complete quests, gain some experience, allocate some status, and you'll be ready for my training.
+Quests, gewinnen einige Erfahrung, weisen einige Status, und Sie werden für meine Ausbildung fertig sein.
+
+Completed Crafts: @@/@@
+Abgeschlossene Crafts: @@ / @@
+
+Completed The Episode of Ozthokk %s ago
+
+
+Completing this quest will allow access to the Guard House, where you can pick Daily Bounties for monsters.
+Abschließen dieser Quest ermöglicht den Zugang zum Guard House, wo Sie täglich Bounties für Monster holen kann.
+
+Compliments reaching this far, @@ from the @@ party!
+Compliments erreichte so weit, @@ vom @@ Party!
+
+Confuse
+
+
+Congrats you passed the level cap of @@! Here is a(n) @@, you deserve it.
+Congrats übergeben Sie den Level-Cap von @@! Hier ist eine (n) @@, Sie verdienen es.
+
+Congrats! A pity it was not 777...
+Glückwunsch! Schade, es war nicht 777 ...
+
+Congrats! You are now part from the Pet Caring Guild. You can now buy pets! %%G
+
+
+Congrats! You rank up! You are now a(n) @@!
+Glückwunsch! Sie ordnen up! Sie sind jetzt a (n) @@!
+
+Congrats, you did it.
+Congrats, Sie haben es geschafft.
+
+Congratulations in making this far, @@.
+Wir gratulieren weit dies bei der Herstellung, @@.
+
+Congratulations on reaching level 20!
+
+
+Congratulations on rescuing Cindy.
+Herzlichen Glückwunsch zu Cindy Rettung.
+
+Congratulations on rescuing Cindy. You should now talk to her before leaving.
+Herzlichen Glückwunsch zu Cindy Rettung. Sie sollten jetzt mit ihr sprechen vor der Abreise.
+
+Congratulations to everyone who participated on the event, even those who didn't made to the top 10!
+Herzlichen Glückwunsch an alle, die an der Veranstaltung teilgenommen haben, auch diejenigen, die an die Spitze nicht gemacht habe 10!
+
+Congratulations!
+Herzliche Glückwünsche!
+
+Congratulations! Everything was correct!
+
+
+Congratulations! Here is your reward, a @@!
+Herzliche Glückwünsche! Hier ist euer Lohn, ein @@!
+
+Congratulations! Here is your reward.
+Herzliche Glückwünsche! Hier ist deine Belohnung.
+
+Congratulations! I've managed to process your paperwork. Here, you'll receive the starter kit!
+
+
+Congratulations! You've received participation rewards due to the Moubootaur Death.
+
+
+Congratulations. You really know about the world lore.
+Herzliche Glückwünsche. Sie wissen wirklich über die Welt lore.
+
+Connor
+Connor
+
+Consider it an insurance policy. Besides, %s isn't exactly easy to come by.
+
+
+Constable
+Polizist
+
+Constable Perry
+Constable Perry
+
+Contact a GM at Migglemire - the small town at center of swamps - to trigger the final showdown.
+
+
+Continue anyway?
+Mache trotzdem weiter?
+
+Continue anyway? You'll die if your allies cannot protect you!
+
+
+Continue?
+
+
+Contributor Sweater
+Profi-Sweater
+
+Converts all your mana in damage. Damages all enemies in same tile.
+
+
+Cooking Recipes
+Kochen Rezepte
+
+Cooking Recipes.
+Kochen Rezepte.
+
+Cool story, bro!
+Coole Geschichte, Bro!
+
+Cool, an airship!
+
+
+Cool, thank you.
+
+
+Cool, thanks.
+
+
+Copper Armbands
+Kupfer Armschienen
+
+Copper Chest#Saulc
+
+
+Copper Ingot
+Kupferbarren
+
+Copper Key
+Copper Key
+
+Copper Ore
+Kupfererz
+
+Copper Ore -> Iron Ore
+Kupfererz -> Eisenerz
+
+Copper Skull Slime
+
+
+Copper Slime
+Kupfer Schleim
+
+Copper Slime Mother
+
+
+CopperSlime
+
+
+Coral
+Koralle
+
+Correct
+
+
+Corsair
+
+
+Corsair Hat
+Corsair Hat
+
+Cost per %s glass:
+
+
+Cost per two glass:
+Kosten pro zwei Gläser:
+
+Cost: %d GP/min
+
+
+Cost: 1 @@
+Kosten: 1 @@
+
+Cost: @@ gp per bottle.
+Kosten: @@ gp pro Flasche.
+
+Cotton
+
+
+Cotton Boots
+Baumwoll Schule
+
+Cotton Cloth
+Baumwoll Stoff
+
+Cotton Cloth (1 power)
+
+
+Cotton Cloth is sold at Candor, Croconut Boxes can be bought at the market. Fish, however, is a little more tricky.
+Baumwolltuch wird bei Candor verkauft, Croconut Boxen können auf dem Markt gekauft werden. Fisch ist jedoch ein wenig komplizierter.
+
+Cotton Gloves
+Baumwoll Handschuhe
+
+Cotton Shirt
+Baumwoll Hemd
+
+Cotton Shorts
+Cotton Shorts
+
+Cotton Skirt
+Baumwollrock
+
+Cotton Trousers
+Baumwollhose
+
+Could I go back to that cave? It's a good farm spot.
+Kann ich zu dieser Höhle zurückgehen? Es ist eine gute Farm Ort.
+
+Could you *hic* do me a favor? Arkim, on a cave southeast of *hic* here, is collecting some stuff.
+Könnten Sie * hicks * mir einen Gefallen tun? Arkim, auf einer Höhle südöstlich von * hicks * hier, ein paar Sachen sammeln.
+
+Could you awake my lost and forsaken potential?
+
+
+Could you bleach my equipment?
+
+
+Could you bring me %d %s? That'll help me to finish this.
+
+
+Could you explain to me where I am?
+Kannst du mir sagen wo ich bin?
+
+Could you first explain me why so many items?
+Könnten Sie mir zuerst so viele Artikel erklären, warum?
+
+Could you head deep in the woods and track him down?
+Könnten Sie tief in den Wald fahren und ihn aufzuspüren?
+
+Could you perhaps help me to find all kids?
+Könnten Sie mir vielleicht helfen, alle Kinder zu finden?
+
+Could you please ask @@ about it? The ingredients... It would still be my fault...
+Könnten Sie bitte @@ danach fragen? Die Zutaten ... Es wäre noch meine Schuld ...
+
+Could you please bring me @@ @@ and @@ @@? I'll give you a bunch of herbs if you help me!
+Könnten Sie mir bitte bringen @@ @@ und @@ @@? Ich werde Ihnen ein paar Kräuter geben, wenn Sie mir helfen!
+
+Could you please dispose my failed experiment, first?
+Könnten Sie bitte mein gescheitertes Experiment verfügen, zuerst?
+
+Could you please give us a full meal, with 5 @@, 5 @@, 5@@, 5 @@ and 5 @@?
+Können Sie uns eine volle Mahlzeit geben, mit 5 @@ 5 @@ 5 @@ 5 @@ und 5 @@?
+
+Could you sell me a treasure map and a shovel?
+
+
+Could you tell me where I am?#0
+Kannst du mir sagen wo ich bin?
+
+Could you tell me where I am?#1
+Kannst du mir sagen wo ich bin?
+
+Could you try again, please?
+Könnten Sie erneut versuchen, bitte?
+
+Could you try again? There could be a typo!
+Könnten Sie noch einmal versuchen? Es könnte ein Tippfehler sein!
+
+Could you, perhaps, bring me %d %s? That'll help me to finish this.
+
+
+Couldn't you climb the rope?
+Könnten Sie nicht das Seil klettern?
+
+Councilor Crazyfefe
+
+
+Councilor Jak1
+
+
+Councilor Jesusalva
+
+
+Councilor LawnCable
+
+
+Councilor Saulc
+
+
+Countdown: 1 minute
+
+
+Countdown: 1 minute - Kill %s!
+
+
+Counter Attack
+Gegenangriff
+
+Coward Card
+Karte des Feiglings
+
+Craft @@
+Kunst @@
+
+Craft Recipe
+Craft-Rezept
+
+Crafters are now paying taxes.
+Crafters zahlen jetzt Steuern.
+
+Crafters no longer pays taxes. (Tax exempt)
+Bastler nicht mehr Steuern zahlen. (Steuerfrei)
+
+Crafting
+Basteln
+
+Crafting Accuracy
+Crafting Genauigkeit
+
+Crafting Attack
+Crafting Angriff
+
+Crafting Basic Skills
+Crafting Basic Skills
+
+Crafting Boss Techiniques
+Crafting Boss Techniques
+
+Crafting Defense
+Crafting Defense
+
+Crafting Double Power
+Crafting Double Power
+
+Crafting Evasion
+Crafting Evasion
+
+Crafting Exp Up
+Crafting Exp Up
+
+Crafting Mana Economy
+Crafting Mana Economy
+
+Crafting Max Stats
+Crafting Max Stats
+
+Crafting Recipes
+Crafting-Rezepte
+
+Crafting Recipes.
+Crafting-Rezepte.
+
+Crafting Regeneration
+Crafting Regeneration
+
+Crafting SC Inflict
+Crafting SC Inflict
+
+Crafting SC Resist
+Crafting SC Resist
+
+Crafting Score: %d.%02d
+
+
+Crafting Skill Level: @@
+Crafting Stufe: @@
+
+Crafting Skill: Lv @@
+Crafting Skill: Lv @@
+
+Crafting Speed
+Crafting Geschwindigkeit
+
+Crafting Status
+
+
+Crafting Table
+Basteltisch
+
+Crafting method:
+
+
+Crafting rules changed! Your crafting skill was lowered to Level 5, talk to Craftmaster to recover it!
+
+
+Craftsman/Craftswoman
+
+
+Crafty
+Crafty
+
+Crazy
+
+
+Crazy Cadis Ultimate Pandorica Mode
+
+
+Crazy Mode
+
+
+Crazy Rum
+verrücktes Rum
+
+Crazy stuff can happen in overall. YOU HAVE BEEN WARNED TO UPDATE YOUR CLIENT.
+Verrücktes Gesamt passieren in kann. SIE WURDEN GEWARNT IHRE KUNDEN ZU AKTUALISIEREN.
+
+Crazyfefe
+Crazyfefe
+
+Crazyfefe Card
+Crazyfefe Karte
+
+Crazyfefe Cave: New Highscore: @@ points
+Verrückt Fefe Cave: New Highscore: @@ Punkte
+
+Crazyfefe Mode
+
+
+Creased
+
+
+Creased Boots
+Gestiegen Stiefel
+
+Creased Gloves
+Gestiegen Handschuhe
+
+Creased Shirt
+Zerknittertes Hemd
+
+Creased Shorts
+Zerknitterte kurze Hose
+
+Create PIN Number
+
+
+Create a natural wall under the cursor, to delay your enemies.
+
+
+Create new arena
+Erstellen Sie neue Arena
+
+Creating a guild is not for the faint of heart. You cannot share experience or drops.
+eine Gilde zu schaffen, ist nicht für schwache Nerven. Sie können keine Erfahrung oder Tropfen teilen.
+
+Creating a party has some advantages, it's a pretty good choice!
+Eine Gruppe zu bilden hat einige Vorteile, es ist eine gute Wahl!
+
+Crimson Dye
+hochrot Dye
+
+Crit +5%
+
+
+Critical Fortune
+
+
+Croc
+Croc
+
+Croc Claw
+Krebs Klaue
+
+Croconut
+Krokosnuss
+
+Croconut Box
+Krokosnusskiste
+
+Croconut Box magically became two in inventory. Storage unaffected.
+Croconut Box wurde zwei magische Weise im Inventar. Lagerung davon unberührt.
+
+Croconut Tree
+Kokosnussbaum
+
+Crocotree
+Croctree
+
+Crocs are dangerous and very healthy, but very slow. Use that on your advantage.
+Crocs sind gefährlich und sehr gesund, aber sehr langsam. Verwenden Sie, dass auf Ihrem Vorteil.
+
+Cronqvist Mode
+
+
+Cronqvist mode is only available during Candor Battle.
+
+
+Crozenite Four-Leaf Amulet
+Crozenite Vier-Blatt-Amulett
+
+Crusade Armor
+Crusade Rüstung
+
+Crusade Helmet
+Crusade Helmet
+
+Crypt
+
+
+Crypt#Fefe
+
+
+Crystal based technology can break if used too often. Try taking longer between each warp to raise their lifetime.
+Kristall-basierte Technologie kann, wenn zu oft brechen. Versuchen Sie, die länger zwischen den einzelnen Kett ihre Lebensdauer zu erhöhen.
+
+Crystal#0065
+
+
+Crystallized Maggot
+kristallisierter Maggot
+
+Ctrl
+Ctrl
+
+Cuf! Cuf!
+
+
+Curiously, you try to touch the Mana Stone.
+Seltsamerweise, versuchen Sie das Mana Stein zu berühren.
+
+Current Boss: %s
+
+
+Current Guild Balance: %s GP
+
+
+Current Guild: %s
+
+
+Current Magic Control
+Aktuelle Magie Steuer
+
+Current Quest Progress: @@/10,000 kills
+Aktuelle Quest-Fortschritt: @@ / 10000 kills
+
+Current Rankings
+
+
+Current Room password: @@
+Aktuelles Zimmer Passwort: @@
+
+Current Spawn Mode:
+Aktuelle Spawn-Modus:
+
+Current Town Administrator:
+Aktuelle Stadt Administrator:
+
+Current arena player count: @@ on map. (Min. 3 to begin event)
+Aktuelle Arena Spieleranzahl: @@ auf der Karte. (Min. 3 beginnen Ereignis)
+
+Current date: %d
+
+
+Current drop rate is set to @@%, and will reset to @@% (default value) in @@.
+Aktuelle Drop-Rate auf @@% eingestellt ist, und wird zurückgesetzt, um @@% (Standardwert) in @@.
+
+Current event: @@
+Aktuelles Event: @@
+
+Current exp rate is set to @@%, and will reset to @@% (default value) in @@.
+Aktuelle exp Rate @@% eingestellt ist, und wird zurückgesetzt, um @@% (Standardwert) in @@.
+
+Current hero: @@
+Aktuelle Held: @@
+
+Current linked Discord account: @@
+Aktuelles verknüpfen Discord Konto: @@
+
+Current magic rank: %d
+
+
+Current player count: @@/5 must be online.
+Aktuelle Spieleranzahl: @@ / 5 muss online sein.
+
+Current score: %s
+
+
+Current score: @@
+Momentaner Punktestand: @@
+
+Currently, there is no event going on.
+
+
+Currently, you should not attempt the Desert Canyon because low level.
+Derzeit sollten Sie nicht der Wüste Canyon weil niedriges Niveau versuchen.
+
+Currently, you stand no chance against the Snakes on the Desert Canyon, but you probably can cross it.
+Derzeit stehen Sie keine Chance gegen die Schlangen auf der Wüsten-Schlucht, aber wahrscheinlich können sie überqueren.
+
+Currently, you stand no chance against the Snakes on the Desert Canyon.
+Derzeit stehen Sie keine Chance gegen die Schlangen auf der Wüsten-Schlucht.
+
+Curse
+
+
+Cursed Ammo Box
+Cursed Munitionsbox
+
+Cursed Archer Soldier
+
+
+Cursed Arrow
+Verfluchter Pfeil
+
+Cursed Arrows
+Verfluchte Pfeile
+
+Cursed Foot Soldier
+
+
+Cursed Scythe
+Cursed Scythe
+
+Cursed Skull
+
+
+Curshroom
+Curpilz
+
+Custom
+Benutzerdefiniert
+
+Customize attack delay!
+
+
+Customize evasion!
+
+
+Customize hit rate!
+
+
+Cut the chat short and go straight to the point!
+Schneiden Sie den Chat kurz und gehen direkt auf den Punkt!
+
+Cute Maggot
+Netter Maggot
+
+Cutscenes
+
+
+Cyan Butterfly
+Cyan Schmetterling
+
+Cyndala
+Cyndala
+
+Cynric
+Cynric
+
+D'oh, what a terrible shot!
+D'oh, was für einen schrecklichen Schuss!
+
+DANGER
+
+
+DANGER!
+
+
+DEBUG: Changing @@ field @@ to something else.
+DEBUG: Ändern @@ Feld @@ an noch etwas anderes.
+
+DEBUG: Changing @@, Values: (@@, @@, @@).
+DEBUG: Ändern @@, Werte: (@@, @@, @@).
+
+DEF-, Damage over time, no MP regen
+
+
+DEV Cap
+DEV Cap
+
+DIE!
+STERBEN!
+
+DIE, FILTHY @@!
+DIE, FILTHY @@!
+
+DIE, SCUM!
+DIE, Abschaum!
+
+DO NOT ENTER.
+
+
+DO YOU WANT TO REROLL THE ITEM? THIS CANNOT BE UNDONE! (free)
+
+
+Dagger
+Dolch
+
+Dagger Crafting recipe learnt.
+Dagger Crafting Rezept gelernt.
+
+Dah Yeti King!!
+Dah Yeti König !!
+
+Daily Event Bonus: %d Points!
+
+
+Daily Login Rewards
+Belohnungen täglich Anmeldung
+
+Damage Improvement
+
+
+Damage can be harm, slap, hit, cut and bite; But other keywords can deal more damage.
+
+
+Damage isn't the only magic chanting can do.
+
+
+Damage over time, MDF -25%%
+
+
+Dan#002-1
+
+
+Dang Rostra
+dang Rostra
+
+Dangerous Area
+Dangerous Area
+
+Dark Crystal
+Dark Crystal
+
+Dark Crystal (5 power)
+
+
+Dark Desert Mushroom
+Dunkle Wüste Mushroom
+
+Dark Eggshell Hat
+Dunkle Eggshell Hut
+
+Dark Forest : %s monster(s) left
+
+
+Dark Helm
+Dunkler Helm
+
+Dark Knight Helmet
+Dark Knight Helmet
+
+Dark Lizard
+dunkle Lizard
+
+Dark Petal
+Dunkler Petal
+
+Dark Pulsar
+Dunkler Pulsar
+
+Dark Red Dye
+Dark Red Dye
+
+Dark Talisman
+Dunkler Talisman
+
+Darkness fills your vision...
+
+
+Darug
+
+
+Date: 2019-03-05, 03:14 UTC
+Datum: 2019.03.05, 03.14 UTC
+
+Date: 2020-03-27, 01:30 UTC
+
+
+Date: 2020-04-05, 14:40 UTC
+
+
+Date: 2021-02-24, 02:36 UTC
+
+
+Dausen Quest - @@ @@ killed
+Dausen Quest - @@ @@ getötet
+
+Dead End
+Sackgasse
+
+Dead Tree#297to298
+
+
+Deadly Poison
+
+
+Deal!
+Deal!
+
+Deal.
+Deal.
+
+Deal. Here you go.
+Deal. Bitte schön.
+
+Deal. Pleasure doing business with you.
+
+
+Dealing with elves is too bothersome to me.
+Der Umgang mit Elfen ist zu lästig für mich.
+
+Dear @@, I send you this gift in hopes you do well in TMW2.
+Lieber @@, sende ich Ihnen diese Gabe in der Hoffnung, Sie in TMW2 gut tun.
+
+Death Cat
+Tod Katze
+
+Death Potion
+
+
+Debug
+Debug
+
+Debug - Modify Race
+Debug - Ändern Rennen
+
+Debug - Reset
+Debug - Reset
+
+Debug Information
+Debug Information
+
+December 19th - January 2nd
+
+
+Decipher me... Or I will devour you...
+Dechiffrieren mir ... Oder ich werde dich verschlingen ...
+
+Decoration
+Dekoration
+
+Deep Black Boots
+Deep Black Boots
+
+Deep Sleep
+
+
+Deep sorrow and sadness, this is the Forgotten Shrine.
+Tiefere Trauer und Traurigkeit, das ist das Forgotten-Schrein.
+
+Def +20
+
+
+Default
+Standard
+
+Default: %d, use 0 to cancel
+
+
+Defeat Conditions: Sagratha gets killed!
+Besiegt Bedingungen: Sagratha wird getötet!
+
+Defeat Conditions: Time run out!
+Niederlage Bedingungen: Zeit abgelaufen!
+
+Defeat Conditions: Your death!
+Besiegt Bedingungen: Ihr Tod!
+
+Defeat a few waves of Soren's House. Once you're done, this will become a warp. Hurry before it closes.
+Besiegt ein paar Wellen von Soren Hause. Sobald Sie fertig sind, wird dies eine Kette geworden. Beeilen, bevor es geschlossen.
+
+Defeated the Moubootaur (Sealed) %s ago
+
+
+Defeating him would not only stop monster invasions, but it would also bring magic back... And probably another war, over the mana stones. %%S
+
+
+Defeating is entirely optional. They usually give more experience than the average, but are much stronger and dangerous.
+
+
+Defeating it will advance the round. How far can you survive?
+Besiegen es wird die Runde aufzusteigen. Wie weit kann man überleben?
+
+Definitely not suspcious at all.
+Auf jeden Fall nicht verdächtig überhaupt.
+
+Delicious Cookie
+Leckerer Keks
+
+Deliver @@ @@ to @@?
+Liefern an @@?
+
+Deliver it to Zitoni on my name. He'll trust it. The relation between me and Zitoni... goes way back.
+Geben Sie es zu Zitoni auf meinen Namen. Er wird ihm vertrauen. Die Beziehung zwischen mir und Zitoni ... geht weit zurück.
+
+Deliver the %s to retrieve Miler's memeto?
+
+
+Deliver the items to Sagratha?
+
+
+Deliver the potions to Sagratha?
+Liefern Sie die Tränke zu Sagratha?
+
+Demure Axe
+demure Ax
+
+Demure Card
+demure Karte
+
+Demure First Form
+
+
+Demure Second Form
+
+
+Demure accepts challengers,
+
+
+Demure#Valentine
+
+
+Demure's Axe
+Demure Axt
+
+Demure, Queen of Dragons
+
+
+Depending on the case, Nicholas, in Hurnscald, can do a better job than me.
+
+
+Deploy to Dangerous Area [6h]
+Deploy Dangerous Area [6h]
+
+Deploy to Herb Fields [1h]
+Bereitstellen von Herb Felder [1h]
+
+Deploy to Monster King Basement [8h]
+Deploy zu Monster King Keller [8h]
+
+Deploy to Ore Mines [2h]
+Deploy Ore Mines [2h]
+
+Deploy to Piou Fields [1h]
+Deploy Piou Felder [1h]
+
+Deploy to Rare Mines [2h]
+Deploy Rare Mines [2h]
+
+Deploy to Slime Nest [2h]
+Deploy zu Slime Nest [2h]
+
+Deploy to Snake Pit [3h]
+Bereitstellen von Snake Pit [3 H]
+
+Deploy to The Market [1h]
+Deploy auf den Markt [1h]
+
+Deployed!
+Eingesetzt!
+
+Deposit all
+Deposit alle
+
+Deposit.
+Einzahlen.
+
+Der Schneemann
+
+
+Der Schneemann has been defeated: %s Monster Points gained.
+
+
+Descend into Tulimshar sewers?
+Steigen Sie hinab in Tulimshar Kanalisation?
+
+Descend into the small corritor?
+Steigen Sie hinab in das kleine corritor?
+
+Description: For starters, I'll blow away all your summons and summon an ent. You must do the most damage to it within 10 seconds.
+
+
+Description: Reach the other side of the maze and defeat the %s as quick as possible.
+
+
+Description: Similar to Intensive Mage, but measures mana experience - meaning even less skills will count, and swapping skills give a better effect.
+
+
+Description: Survive for the longest you can without leaving the designed region.
+
+
+Description: There'll be differently colored sparks and you must kill ONLY those of the color I say so! Failure to do so will cause immediate disqualification!
+
+
+Description: Use a lot of magic spells, regardless of type or raw strength. Points earned by skill level.
+
+
+Description: Use chant-based magic. All chants score equally.
+
+
+Description: Use support skills and win the event with the power of FRIENDSHIP!
+
+
+Description: Whoever crafts more potions, regardless of type, wins this event.
+
+
+Desert Bandit
+Wüsten Räuber
+
+Desert Hat
+Wüsten Hut
+
+Desert Helmet
+Wüsten Helm
+
+Desert Log Head
+Wüste Log Kopf
+
+Desert Maggot
+Wüsten Made
+
+Desert Pirate
+
+
+Desert Shirt
+Wüsten Hemd
+
+Desert Tablet
+Wüsten-Tablet
+
+Desert Thief Card
+Wüsten-Dieb-Karte
+
+Despite its initial dubious fragrance, the tea comes off as very smooth and mellow with a bit of natural sweetness and a touch of an earthy forest like flavor, but in a very good way.
+
+
+Destroy all mobilia
+Zerstöre alle mobilia
+
+Destroyed by the fire
+
+
+Destroys everything in a line (earth). Boosts allied forces DEF.
+
+
+Detailed Information
+
+
+Determinate, you move your hand to grab it.
+Bestimmte, können Sie Ihre Hand bewegen, es zu greifen.
+
+Determine Team Size (If everyone is ready and stdby at Tulimshar, use: @@. Minimum 2 players.)
+Bestimmen Teamgröße (Wenn jeder bereit und STDBY bei Tulimshar, zu verwenden:. @@ Minimum 2 Spieler).
+
+Determine Team Size +1 (so 1 each side, use 2)
+Bestimmen Teamgröße +1 (so 1 auf jeder Seite, Gebrauch 2)
+
+Developer Cap
+Entwickler Kappe
+
+Devis
+Devis
+
+Dex Potion
+Dex Trank
+
+Dex+ Potion
+Dex + Trank
+
+Dex++ Potion
+Dex ++ Potion
+
+Dexterity
+Geschicklichkeit
+
+Dexterity Fruit
+Geschicklichkeit Obst
+
+Diamond
+Diamant
+
+Diamond (+2 vit)
+Diamond (2 vit)
+
+Diamond Bif
+Diamant Bif
+
+Diamond Powder
+Diamanten Pulver
+
+Diary#Fefe
+
+
+Diary, 12nd December 298 AT
+Tagebuch, 12. Dezember 298 AT
+
+Diary, 1st April 298 AT
+Tagebuch, 1. April 298 AT
+
+Diary, 21st June 297 AT
+Tagebuch, 21. Juni 297 AT
+
+Diary, 2nd March 300 AT
+Tagebuch, 2. März 300 AT
+
+Diary, 31st May 297 AT
+Tagebuch, 31. Mai 297 AT
+
+Diary, 3rd August 299 AT
+Tagebuch, 3. August 299 AT
+
+Diary, 3rd March 300 AT
+Tagebuch, 3. März 300 AT
+
+Did I received any mail?
+Habe ich keine Post erhalten?
+
+Did I said the best craftsman and craftswoman in the world are here? @@, the legendary bow, was proudly crafted by the first king of Frostia!
+Haben sagte ich der beste Handwerker und Kunsthandwerkerin in der Welt hier ist? @@, der legendäre Bogen wurde durch den ersten König von Frostia stolz gefertigt!
+
+Did something happen?
+Ist etwas passiert?
+
+Did this Mouboo just blink? No, I made sure it was truly dead. Must have been my imagination.
+
+
+Did we brought everything Naem asked?
+
+
+Did you bring everything?
+
+
+Did you bring the supplies?
+
+
+Did you brought everything I ask for?
+Haben Sie alles, was ich fragen gebracht haben?
+
+Did you brought me 12 %s?
+
+
+Did you brought me 12 @@ and 4 @@? The @@ is waiting for you, sharp sharp!
+Bitte benutzen Sie brachte mir 12 @@ und 4 @@? Die @@ wartet auf Sie, scharf scharf!
+
+Did you brought me 7 @@?
+Hast du mich gebracht 7 @@?
+
+Did you brought me a %s?
+
+
+Did you brought me an souvenir from Tulimshar?
+Hast du mir ein Souvenir aus Tulimshar gebracht?
+
+Did you brought me everything I asked for?
+Hast du mir alles gebracht ich gefragt habe?
+
+Did you brought me the %d/%d %s?
+
+
+Did you brought me the feathers?
+Hast du mir die Federn gebracht?
+
+Did you brought us a kind gift of good will, on the worth of %d %s, to offer to our King?
+Haben Sie brachte uns eine Art Geschenk des guten Willens, auf dem Wert von% d% s, zu bieten unseren König?
+
+Did you brought what I asked for?
+Haben gebracht, was ich gefragt habe?
+
+Did you came here by someone advise? If yes, write their name down here!
+Haben Sie kamen hier von jemandem beraten? Wenn ja, schreiben ihren Namen hier unten!
+
+Did you find some bookpages? Ensio will take them.
+Haben Sie einige bookpages finden? Ensio wird sich nehmen.
+
+Did you got an @@ yet? That book have great insight on several details concerning mana and its usages!
+Haben Sie bekommen noch ein @@? Das Buch haben einen großartigen Einblick auf einige Details über Mana und seine Verwendungen!
+
+Did you got everything I've asked?
+
+
+Did you got the %d %s I've asked?
+
+
+Did you just make up that someone?
+
+
+Did you knew May 25th it is a very special day - the Towel Day?
+Bitte benutzen Sie wissen, 25. Mai ist es ein ganz besonderer Tag - der Towel Day?
+
+Did you knew about the legend of Aethyr? I've heard the path to it was somewhere to the west of our old village... And some stuff about passwords... Hehe, I don't remember!
+
+
+Did you knew about the legend of Aethyr? I've heard the path to it was somewhere to the west of our old village... And some stuff about passwords... I'm not sure if I remember!
+
+
+Did you knew some crazy adventurers insists there is a Mana Stone on the dangerous caves inside the town?
+
+
+Did you knew that %s was the wizard whom sealed the path to Aethyr, the sacred elf land? I wonder what happened afterwards.
+
+
+Did you knew the casino on the inn up here was one of the most expensive on the whole world?
+
+
+Did you like it? Find me tomorrow, until day @@, for another gift!
+Hat es dir gefallen? Finde mich morgen, bis zum Tag @@, für ein anderes Geschenk!
+
+Did you noticed how no monster got close to it?
+Haben Sie bemerkt, wie kein Monster, um es nahe kam?
+
+Did you said reward?!
+Hat gesagt, du Belohnung ?!
+
+Did you see Jhedia the blacksmith in Tulimshar? She might know how you could get this.
+Hast du Jhedia den Schmied in Tulimshar? Sie könnte wissen, wie Sie bekommen können.
+
+Didn't he give you anything?
+Hat er dir nichts geben?
+
+Die already!
+Die bereits!
+
+Die now!!
+
+
+Die, your evil Yeti!
+Die, deine bösen Yeti!
+
+Different kind of monsters live near the city. For example, blubs. I have no idea of what are those.
+Verschiedene Arten von Monster leben in der Nähe der Stadt. Zum Beispiel blubs. Ich habe keine Ahnung von dem, was sind solche.
+
+Different warp systems overlaps each other, so the cooldown is carried over regardless of the technology you use.
+Verschiedene Kettsystemen überlappen sich, so wird die Abklingzeit unabhängig von der Technologie übertragen Sie verwenden.
+
+Difficulty?
+
+
+Dimond
+Dimond
+
+Dimond sold her food alone in this spot for some time,
+Diamant verkaufte ihr Essen allein an dieser Stelle für einige Zeit,
+
+Dimond's Cove
+Dimond Bucht
+
+Dimonds Cove Story
+Diamanten Cover Story
+
+Direction for Pirate Caves
+
+
+Directions:
+Richtungen:
+
+Disable
+Deaktivieren
+
+Disable BG
+Disable BG
+
+Disable Event
+Deaktivieren Ereignis
+
+Disabled
+Deaktiviert
+
+Disarm process aborted: Disarmer is dead.
+Disarm Prozess abgebrochen: Disarmer tot ist.
+
+Disarm process aborted: Disarmer is out of reach.
+Disarm Prozess abgebrochen: Disarmer ist die Reichweite aus.
+
+Disarm process aborted: Insufficient mana to proceed.
+Disarm Prozess abgebrochen: Nicht genügend Mana, um fortzufahren.
+
+Disarmed with success for: @@
+Entwaffnete mit Erfolg für: @@
+
+Discard
+Entfernen
+
+Disconnect
+Trennen
+
+Discord Necklace
+
+
+Diseased Heart
+erkranktes Herz
+
+Display daily reward screen:
+Anzeige tägliche Belohnung Bildschirm:
+
+Divine Apple
+Göttliche Apfel
+
+Divine Sword
+göttliches Schwert
+
+Divine Water
+Göttliche Wasser
+
+Divorce error!
+Problem bei der Scheidung!
+
+Do I look like a tree? I feel like one.
+Seh ich wie ein Baum aus? Zumindest fühl ich mich wie einer.
+
+Do a weird dance
+Haben einen seltsamen Tanz
+
+Do as I told you, and talk to Alan for the bow!
+Tu, was ich habe dir gesagt, und sprechen Sie mit Alan für den Bogen!
+
+Do as much as possible.
+
+
+Do it!
+Tu es!
+
+Do not attempt to go there again.
+Versuchen Sie nicht, wieder dorthin zu kommen.
+
+Do not break my seal to prevent the curse from reaching Kamelot.
+
+
+Do not disconnect while waiting. You need 100% HP to donate.
+Trennen Sie nicht während des Wartens. Sie müssen 100% HP zu spenden.
+
+Do not enter in this storehouse, the maggots there will kill you.
+Sie nicht in diesem Lagerhaus betreten, die Maden es wird dich töten.
+
+Do not give your password to anybody! Keep it secret and try not to use the same one anywhere else in the future. - Juliet
+
+
+Do not hesit to purchase furniture. The furniture belongs to the house, so if you lose the house, you'll lose it, too. But apartments are never rent to someone else!
+Zögern Sie nicht zu kaufen Möbel. Die Möbel gehören zum Hause, so dass, wenn Sie das Haus verlieren, können Sie es verlieren würden, auch. Aber Wohnungen sind nie jemand anderem zur Miete!
+
+Do not let intimacy and hunger get to zero. If any of those get to zero, it'll leave you forever.
+Lassen Sie sich nicht Intimität und Hunger auf Null bekommen. Wenn einer von denen, auf Null bekommen, werden sie dich für immer verlassen.
+
+Do not open. Do not attempt to eat. Be careful with it, to don't cause any time paradoxes. I also heard a NPC may be interested on that, by the way!
+Nicht öffnen. Versuchen Sie, nicht zu essen. Seien Sie vorsichtig mit ihm verursachen keine Zeit Paradoxien. Ich hörte auch ein NPC kann auf das interessiert sein, übrigens!
+
+Do not rebirth
+Nicht Wiedergeburt
+
+Do not think you can defeat me yet!
+Glauben Sie nicht, mich noch besiegen!
+
+Do not worry with me, youngling... I'll be fine.#0
+
+
+Do not worry with me, youngling... I'll be fine.#1
+
+
+Do not worry, I have them right here.
+Keine Sorge, ich habe sie hier richtig.
+
+Do not worry, I'll be back in a jiffy.
+Keine Sorge, ich komme in einem Augenblick sein.
+
+Do note that abuse will cause both you and the person you vouched for to be kicked from the Academy! So be mindful with to whom you give titles.
+
+
+Do nothing
+Nichts tun
+
+Do some paperwork
+
+
+Do you accept special requests?
+
+
+Do you accept special requests? Could you make me a really good bow?
+Haben Sie spezielle Wünsche akzeptieren? Könnten Sie mir machen einen wirklich guten Bogen?
+
+Do you believe I've lost my @@? I can't see anything well without that! %%a
+
+
+Do you even know what a bow is?
+Weist du überhaupt was ein Bogen ist?
+
+Do you have a clue about what went wrong?
+Haben Sie eine Ahnung, was schief gelaufen ist?
+
+Do you have an extra of 11 @@ for me?
+Haben Sie eine extra von 11 @@ für mich?
+
+Do you have any last wishes before being JAILED for your CRIMES?!
+Haben Sie letzte Wünsche, bevor sie für Ihre Verbrechen ins Gefängnis zu werden ?!
+
+Do you have any questions?
+Haben Sie irgendwelche Fragen?
+
+Do you have any tips for beginners?
+Haben Sie Tipps für Anfänger?
+
+Do you have anything else to read?
+Haben Sie noch etwas zu lesen?
+
+Do you have mental issues? I mean, of course there is a secret passage there!
+Haben Sie psychische Probleme haben? Ich meine, natürlich gibt es einen Geheimgang dort!
+
+Do you have my @@?
+Hast du meine @@?
+
+Do you have non-ranged weapons?
+
+
+Do you have something to exchange with me? Or perhaps you want a Grand Hunter Quest?
+Haben Sie etwas zu Austausch mit mir haben? Oder vielleicht möchten Sie einen Grand Hunter Quest-?
+
+Do you have that for me?
+Haben Sie das für mich?
+
+Do you have that with you?
+Haben Sie, dass bei Ihnen?
+
+Do you have that? I have the other materials but I couldn't get it... @@ are too dangerous, they are level @@ monsters.
+Hast du das? Ich habe die anderen Materialien, aber ich konnte es nicht bekommen ... @@ sind zu gefährlich, sie sind Ebene @@ Monster.
+
+Do you have the @@/11 @@ I requested? The sailors are starving because of you!
+
+
+Do you know @@? It's a poisonous food you can't find around here. It can be made edible with special prepare.
+Wissen Sie @@? Es ist eine giftige Nahrung, die Sie hier nicht finden können um. Es kann mit spezieller Vorbereitung essbar gemacht werden.
+
+Do you know Land Of Fire Village? It is west of Hurnscald and is a major town.
+Wissen Sie, Feuerland Village? Es liegt westlich von Hurnscald und ist eine große Stadt.
+
+Do you know anything about the strange visitor?
+Wissen Sie etwas über den seltsamen Besucher wissen?
+
+Do you know how to count, maggot? %%5
+
+
+Do you know someone called Braknar?
+Kennen Sie jemanden namens Braknar?
+
+Do you know something about 'Mylarin Dust'?
+Wissen Sie etwas über ‚Mylarin Dust‘?
+
+Do you know the warp crystals? We did them. Did you saw the great warp gate at the town entrance? It was us!
+Kennen Sie die Kette Kristalle? Wir haben sie. Haben Sie den großen Warptor am Ortseingang gesehen? Es war uns!
+
+Do you know what a Soul Menhir is?
+Wissen Sie, was eine Seele Menhir ist?
+
+Do you know what happened to the gold I had when you guys saved me?#0
+Weißt du, was mit dem Gold passiert ist, das ich bei mir hatte, als ihr Jungs mich gerettet habt?
+
+Do you know what happened to the gold I had when you guys saved me?#1
+Weißt du, was mit dem Gold passiert ist, das ich bei mir hatte, als ihr Jungs mich gerettet habt?
+
+Do you know where I can find Nard?
+
+
+Do you know where I can level up?
+Ich Wissen Sie, wo kann Stufe nach oben?
+
+Do you know where my brother Enzo is? I forgot that too!
+
+
+Do you know where the party is? It's at Halin, to get there you need to pass through the Desert Canyon.
+Wissen Sie, wo die Partei ist? Es ist bei Halin, um dort anzukommen Sie durch die Wüste Canyon passieren müssen.
+
+Do you like fairies? Well, you should love them! We play with humans all the time, it is usually pretty fun...
+Mögen Sie Feen? Nun, sollten Sie sie lieben! Wir spielen mit den Menschen die ganze Zeit, es ist in der Regel ziemlich Spaß ...
+
+Do you make Lifestones?
+Willst du Lebenssteine Herstellen?
+
+Do you make any other kind of potions?
+Bereitest du auch andere Arten von Tränken zu?
+
+Do you make anything else?
+
+
+Do you need a refresher of the rules?
+Sie benötigen eine Auffrischung der Regeln?
+
+Do you need any more help?
+Benötigen Sie weitere Hilfe?
+
+Do you need anything else?
+Brauchst du noch was?
+
+Do you need help?
+Brauchst du Hilfe?
+
+Do you need my help?
+Brauchst du meine Hilfe?
+
+Do you need something from me?
+Haben Sie etwas von mir brauchen?
+
+Do you need something in particular?
+Haben Sie etwas Bestimmtes brauchen?
+
+Do you need the extra credit?
+
+
+Do you really have to ask? I am a fairy...*sigh*
+
+
+Do you see that fancy house over there? My husband, @@, used to live there.
+Sehen Sie, dass die Phantasie Haus da drüben? Mein Mann, @@, verwendet, dort zu leben.
+
+Do you see the crocs, with their claws and hard shell? They have high defense, this means your attacks deal less damage.
+
+
+Do you see the professor on the next room? Listen to his boring speech for @@. There are the materials for the class.
+Haben Sie den Professor auf dem nächsten Raum sehen? Hören Sie seine langweilige Rede für @@. Es sind die Materialien für die Klasse.
+
+Do you sell anything here?
+Verkaufst du hier irgendwas?
+
+Do you sell tea?
+
+
+Do you still need help with your experiments?
+Haben Sie Hilfe bei Ihren Experimenten noch brauchen?
+
+Do you think I could join the Alliance?
+Denkst du ich könnte der Allianz beitreten?
+
+Do you think I'm ready to go to Halinarzo?
+Glaubst du, ich bin bereit zu Halinarzo gehen?
+
+Do you think he may have had something to do with the accident? We're a very hospitable house, so I didn't see a reason to deny him the entrance. I mean, his mask might have been a bit unusual, but hey, there could've been many reasons why someone would wear a mask, don't you think?
+Glaubst du, er etwas mit dem Unfall zu tun gehabt haben kann? Wir sind ein sehr gastfreundliches Haus, so dass ich keinen Grund, ihm den Zugang zu verweigern, gesehen habe. Ich meine, vielleicht seine Maske ein bisschen ungewöhnlich gewesen sein, aber hey, es könnte viele Gründe ist, warum jemand eine Maske tragen würde, nicht wahr?
+
+Do you think that is funny?
+Glaubst du, das ist lustig?
+
+Do you think yourself worthy of my power?
+Glaubst du dich meine Macht würdig?
+
+Do you want a tip? "It's not suicide if you know how to swim."
+
+
+Do you want any monster killed?
+Wollen Sie irgendein Monster getötet?
+
+Do you want me to prepare more chocolate box for you? For that I'll need:
+Wollen Sie mir mehr Schokolade Box für Sie vorbereiten? Dafür brauche ich werde:
+
+Do you want me to teach you how to improve an existing skill with MAGIC? There are no better mages than Mouboos!
+Wollen Sie mir, Ihnen beizubringen, wie eine vorhandene Fähigkeit mit MAGIC verbessern? Es gibt keine besseren Magier als Mouboos!
+
+Do you want more coffee?
+
+
+Do you want one?
+
+
+Do you want to advance?
+
+
+Do you want to begin the %s Dungeon?
+
+
+Do you want to break open this %s?
+
+
+Do you want to change your race?
+
+
+Do you want to craft @@? For that I will need @@ @@, @@ @@ and @@ gp.
+Möchten Sie basteln wollen @@? Dafür werde ich brauchen @@ @@ @@ @@ und @@ gp.
+
+Do you want to craft @@? For that I will need:
+Möchten Sie basteln wollen @@? Dafür habe ich benötigt:
+
+Do you want to cross to the other side? You'll need to find the sea to return here if you do.
+Wollen Sie auf die andere Seite überqueren? Sie müssen das Meer finden hier zurück, wenn Sie tun.
+
+Do you want to do something else?
+Wollen Sie etwas anderes tun?
+
+Do you want to exchange some of your @@ @@ for items?
+Haben Sie einige Ihrer @@ @@ für Einzelteile austauschen möchten?
+
+Do you want to get a reward nonetheless? You will lose @@.
+Wollen Sie dennoch eine Belohnung zu bekommen? Du wirst verlieren @@.
+
+Do you want to go against the Monster King now? The event will start 18:30 UTC sharply.
+Haben Sie gegen das Monster King jetzt gehen? Die Veranstaltung wird 18.30 Uhr UTC scharf starten.
+
+Do you want to go there? The Red Wizard may be able to offer you training.
+
+
+Do you want to go to Fortress Island, where the Monster King lives?!
+Wollen Sie Fortress Insel gehen, wo das Monster King lebt ?!
+
+Do you want to go to the left, the right or stay where you are?
+Wollen Sie nach links gehen, rechts oder Aufenthalt, wo Sie sind?
+
+Do you want to help? I promise you no reward, so you will do it of your own will.
+Möchtest du helfen? Ich verspreche Ihnen keinen Lohn, so dass Sie es von Ihrem eigenen Willen zu tun.
+
+Do you want to hire a mercenary? Or perhaps get a card so you can invoke them later? I can even make them stronger if you wish.
+Wollen Sie einen Söldner mieten? Oder vielleicht eine Karte bekommen, damit Sie sie später aufrufen kann? Ich kann sogar machen sie stärker, wenn Sie es wünschen.
+
+Do you want to make %s?
+
+
+Do you want to make sake?
+Wollen Sie willen machen?
+
+Do you want to make wine?
+Wollen Sie Wein machen?
+
+Do you want to marry @@?
+Möchtest du @@ heiraten?
+
+Do you want to open this chest?
+
+
+Do you want to participate on Call Of Dusty?
+Wollen Sie auf Call Of Dusty teilnehmen?
+
+Do you want to play a song?
+Möchten Sie einen Song spielen?
+
+Do you want to put it out, or to make it brighter?
+
+
+Do you want to re-roll?
+
+
+Do you want to read again the instructions?
+Wollen Sie wieder die Anweisungen lesen?
+
+Do you want to read it?
+Möchtest du es lesen?
+
+Do you want to read the story again? Or should we get to the most obvious point?
+Wollen Sie die Geschichte noch einmal lesen? Oder sollten wir auf die naheliegendste Punkt?
+
+Do you want to rent a Mouboo? It allows quick traveling!
+Wollen Sie eine Mouboo mieten? Es ermöglicht eine schnelle Fahrt!
+
+Do you want to rent a Tortuga? It allows quick traveling!
+Wollen Sie eine Tortuga mieten? Es ermöglicht eine schnelle Fahrt!
+
+Do you want to restore it, or to keep breaking it?
+
+
+Do you want to return to Land Of Fire Village?
+Wollen Sie Land Of Fire Dorf zurückzukehren?
+
+Do you want to return?
+
+
+Do you want to start?
+Möchtest du starten?
+
+Do you want to trade your points? The demand keep raising, and so does the price!
+Wollen Sie Ihre Punkte handeln? Die Nachfrage Schritt halte Bildung, und damit auch den Preis!
+
+Do you want to try to find them? Just search the first five floors: Novice, Intermediary, Advanced, Expert and Master.
+Wollen Sie versuchen, sie zu finden? Suchen Sie einfach die ersten fünf Etagen: Novice, Intermediate, Advanced, Expert und Master.
+
+Do you want to use the souls to unlock the passage?
+
+
+Do you wish to return to the Academy?
+
+
+Do you, perchance, have 2 @@ and 3 @@?
+Haben Sie, vielleicht haben 2 @@ und 3 @@?
+
+Doctor
+Arzt
+
+Dodge Potion
+dodge-Potion
+
+Does it counts to Honor Ranking?
+
+
+Doesn't it feel good to help?
+
+
+Dog Statue#Saggy
+
+
+Doggy Dog
+Doggy Dog
+
+Doll
+Puppe
+
+Don't ask.
+
+
+Don't be afraid of death. Of course, in most places, dying will make you lose some Experience you gathered.
+
+
+Don't be deemed unworthy,
+
+
+Don't believe anything they tell you! Here, take this, so you can defend yourself. And some food, now leave.
+
+
+Don't bore me.
+
+
+Don't bother me, I'm busy right now. Since the Monster King left, I barely got a night of rest...
+Stören Sie mich nicht, ich bin gerade beschäftigt. Da das Monster King verließ, bekam ich kaum eine Nacht der Rest ...
+
+Don't break my stuff.
+Sie brechen nicht meine Sachen.
+
+Don't challenge the Moubootaur. You saw what happened to me.
+Sie nicht die Moubootaur herauszufordern. Sie haben gesehen, was mir passiert ist.
+
+Don't change race
+
+
+Don't cry any further. I am here to help.
+Keine weiteren weinen. Ich bin hier um zu helfen.
+
+Don't deploy
+Nicht bereitstellen
+
+Don't distract me, I have to stay alert.
+Lenk mich nicht ab. Ich muss aufmerksam bleiben.
+
+Don't do theee... *hic* with me eh!
+Mach das nicht *hicks* mit mir!
+
+Don't fill
+Füllen Sie nicht
+
+Don't fix.
+Nicht beheben.
+
+Don't forget to collect and eat any chocolate sent to you, too!
+
+
+Don't forget to come as close as possible to these spots!
+Vergessen Sie nicht, so nah wie möglich an diesen Stellen zu kommen!
+
+Don't go alone, though! He would not listen to me, it is not you alone he'll pay attention. You will lose reagents!
+Gehen Sie nicht allein, aber! Er würde nicht auf mich hören, es ist nicht, dass du allein er die Aufmerksamkeit bezahlen. Sie werden Reagenzien verlieren!
+
+Don't interrupt me, I'm busy!
+Unterbrechen Sie nicht mich, ich bin beschäftigt!
+
+Don't just stand here! Go fetch help, NOW!!
+einfach nicht hier stehen! | Hilfe holen, JETZT !!
+
+Don't pay.
+
+
+Don't rent a mouboo.
+Verwenden Sie keine mouboo mieten.
+
+Don't rent a tortuga.
+Verwenden Sie keine tortuga mieten.
+
+Don't rent it
+Verwenden Sie es nicht mieten
+
+Don't say anything, I can smell the scent of Helena's hair on you.
+Sagen Sie nichts, kann ich den Duft von Helena Haare auf Sie riechen.
+
+Don't speak to me crazy guy!
+Sprechen Sie nicht verrückt Kerl zu mir!
+
+Don't spin it!
+Sie spinnen es nicht!
+
+Don't tax crafters
+Keine Steuer-Bastler
+
+Don't try to trick me, this attracts bad karma! You could get stolen on Christmas! Seriously, this has happened before!
+Versuchen Sie nicht, mich zu betrügen, zieht dieses schlechte Karma! Sie könnten sich auf Weihnachten gestohlen! Im Ernst, ist dies geschehen, bevor!
+
+Don't upgrade it
+Verwenden Sie es nicht aktualisieren
+
+Don't warp
+Nicht warp
+
+Don't we know any Yeti specialist? Maybe Celestia?
+
+
+Don't worry if they don't correspond to you. Each box sent will grant you 1 event point.
+Keine Sorge, wenn sie Ihnen nicht entsprechen. Jede Box abgeschickt werden Sie 1 Ereignispunkt gewähren.
+
+Don't worry ma'm, I'll recover the Treasure Keys at once.
+Mach dir keine Sorgen ma'm, ich werde den Schatz Keys auf einmal erholen.
+
+Don't worry, I'll stay at the caves.
+Keine Sorge, ich werde in den Höhlen bleiben.
+
+Don't worry, I've tweaked my formula this time. Here is some experience and let's try again!
+Mach dir keine Sorgen, ich habe meine Formel diesmal gezwickt. Hier finden Sie einige Erfahrung und lassen Sie uns versuchen Sie es erneut!
+
+Don't worry, third time is the charm. Here is some experience. Let's try again.
+Keine Sorge, drittes Mal ist der Reiz. Hier finden Sie einige Erfahrung. Lass es uns erneut versuchen.
+
+Don't you have any exploit of your own?
+Sie haben keine eigene ausnutzen?
+
+Donate 1/@@ @@ to Ensio?
+Spenden 1 / @@ @@ zu Ensio?
+
+Donate 100 GP for prize
+Spenden 100 GP für Preis
+
+Donate 100k GP for prize
+
+
+Donate 10k GP for prize
+
+
+Donate 15 GP for prize
+Spenden 15 GP für Preis
+
+Donate 1k GP for prize
+
+
+Donate 250k GP for prize
+
+
+Donate 25k GP for prize
+
+
+Donate 5 GP for prize
+Spenden 5 GP für Preis
+
+Donate 50 GP for prize
+Spenden 50 GP für Preis
+
+Donate GP
+Spenden GP
+
+Donate a Bat Teeth
+Spenden eine Fledermaus Zähne
+
+Donate a Bat Wing
+Spenden einen Fledermausflügel
+
+Donate to town
+
+
+Donating blood is a noble act, which allows to save lifes.
+Blutspenden ist eine edle Tat, das Leben retten kann.
+
+Donating blood will BLOCK YOUR MOVEMENT for three minutes.
+Blut spenden wird Ihre Bewegung für 3 Minuten blockieren.
+
+Donation completed.
+
+
+Donation successful!
+Spende erfolgreich!
+
+Done!
+Erledigt!
+
+Doorbell is disabled
+Türklingel ist deaktiviert
+
+Doorbell#RES_0096
+
+
+Doorbell#RES_0097
+
+
+Doorbell#RES_0128
+
+
+Doorbell#RES_0177
+
+
+Doorbell#RES_0178
+
+
+Doorbell#RES_PPL
+
+
+Doppelganger Challenge Ranking
+Doppelgänger Challenge-Rangliste
+
+Doppelganger Challenge, @@ began the fight!
+Doppelgänger Herausforderung, @@ begann den Kampf!
+
+Doppelganger Waves Won: %s
+
+
+Double Attack +5%
+
+
+Doubled.
+
+
+Doug
+Doug
+
+Downgrade Ore
+Herabstufung Ore
+
+Downgrade Scorpion Claw
+Herabstufung Skorpionen Klaue
+
+Downgrade Scorpion Stinger
+Herabstufung Scorpion Stinger
+
+Downgrade Snake Egg
+Herabstufung Snake Egg
+
+Downgrade Snake Skin
+Herabstufung Snake Skin
+
+Downgrade Snake Tongue
+Herabstufung Snake Tongue
+
+Dracoula
+Dracula
+
+Drag and drop a %s in a %s, and you will obtain a %s.
+
+
+Drag and drop a healing item from your inventory.
+Ziehen Sie eine Heilung Artikel aus dem Inventar.
+
+Drag and drop an item from your inventory.
+Drag-and-drop einen Gegenstand aus deinem Inventar.
+
+Drag and drop here the item you want to remove the options.
+Drag & Drop hier das gewünschte Element um die Optionen zu entfernen.
+
+Dragon Eggshell
+Drachen Eggshell
+
+Dragon Horn
+
+
+Dragon Scales
+Drachenschuppen
+
+Dragon Shield
+dragon Shield
+
+Dragon Star
+Drache Stern
+
+Dragon Star Card
+Drache Stern-Karte
+
+DragonStar, Aisen
+DRAGON, Aisen
+
+Dragonfruit
+Drachenfrucht
+
+Dragons and Toast
+Drachen und Toast
+
+Dragonstar and Aisen did their best along many others, and managed to liberate Hurnscald, though!
+Dragon und Aisen taten ihr Bestes, entlang viele andere, und verwaltet Hurnscald zu befreien, aber!
+
+Drahcir
+
+
+Drains your MP bar to replenish target's. Doesn't go past 100%.
+
+
+Dreaded Pirate Marley
+
+
+Dream Ticket
+
+
+Dream Tower
+
+
+Dream Tower Appears
+
+
+Dress up! Do not walk without clothes! Always wear your items! They leave you less vulnerable to attacks and stronger to defeat your opponents.
+Ankleiden! Gehen Sie nicht ohne Kleidung! Tragen Sie immer Ihre Artikel! Sie lassen Sie weniger anfällig für Angriffe und stärker Ihre Gegner zu besiegen.
+
+Drink the potion
+Trinken Sie den Trank
+
+Drink the potion, and say magic words
+Trinken Sie den Trank, und sagen Zauberworte
+
+Drinking what drink is like having your brain smashed out by a slice of lemon wrapped round a large gold brick?
+
+
+Drinking with friends will give 1.5% extra XP boost for each person nearby.
+Trinken mit Freunden wird für jede Person in der Nähe von 1,5% mehr XP Schub geben.
+
+Drop a coin to hear how deep it is
+Lassen Sie eine Münze zu hören, wie tief es ist
+
+Drop rate has been reset to @@% (default value).
+Drop-Rate zurückgesetzt auf @@% (Standardwert) gewesen.
+
+Drop rate is set to @@% for the next @@.
+Drop-Rate für die nächste zu @@% eingestellt @@.
+
+Drop these near the circle to make the breaking faster.
+
+
+Drowned Man
+ertrunkenen
+
+Drueme
+Drueme
+
+Druid Card
+Druide-Karte
+
+Druid Card S
+
+
+Druid Card X
+
+
+Druid Tree Branch
+Druide Baum Ast
+
+Duck
+Ente
+
+Duck Egg
+
+
+Duck Elder
+
+
+Duck Elder : Success! The pirates have been thwarted.
+
+
+Duck Elder : We have failed. The pirates will regroup and replenish their fallen. They will strike again, until we are defeated.
+
+
+Duck Feather
+Entenfeder
+
+Duck Initiate
+
+
+Duck Soldier
+
+
+Ducks and Giant Maggots also drops Cherry Cakes.
+
+
+Due this bug, you didn't got a proper amount of points per sent. We wanted to deliver you a token of apology!
+Aufgrund dieses Fehlers haben Sie nicht eine geeignete Menge an Punkten pro abgeschickt habe. Wir wollten Sie ein Zeichen der Entschuldigung liefern!
+
+Due to a recent incident involving slimes, the building is closed to public visits.
+Aufgrund eines kürzlichen Vorfall mit Schleimen ist das Gebäude für die öffentlichen Besuche geschlossen.
+
+Dummy
+Dummy
+
+Dungeon Map
+
+
+Dungeon cleared!
+Dungeon gelöscht!
+
+During Valentine 2020, you can get event equipment with the Soul Stone.
+
+
+During cutscenes, you cannot move. If you do, you'll be forcibly pushed back.
+
+
+During night the professor also goes to the Magic Academy, using the hidden north port, on the building to left of the Magic Council...
+
+
+During night, the monsters usually respawn faster. That can be a problem with aggressive monsters.
+Während der Nacht, respawnen die Monster in der Regel schneller. Das kann ein Problem mit aggressiven Monster sein.
+
+During summer, more Tonori Delight can be produced.
+Im Sommer kann mehr Tonori Delight hergestellt werden.
+
+During the war, the Monster King cursed the place where he died, but he fought back, and cursed the curse.
+Während des Krieges verflucht das Monster King den Ort, wo er starb, aber er kämpfte zurück und verfluchte den Fluch.
+
+During this season, Gemini Quest can be done with parties of 6.
+
+
+During this season, challenges to Crazyfefe will be free.
+
+
+During this season, monster point gain is increased in %d%%!
+
+
+During this season, you can summon the Yeti King for free.
+
+
+Dust In A Bottle
+Dust In A Bottle
+
+Dustynator 2000
+Dustynator 2000
+
+Dwarf Craftsmaster
+Dwarf Craftsmaster
+
+Dwarven Sake
+Zwergen Sake
+
+Dye cards are not the only thing which exist, but they are the coolest!
+Dye-Karten sind nicht das einzige, was vorhanden ist, aber sie sind die coolsten!
+
+Dye? How can you do that without a cauldron?
+
+
+Dyes are a special kind of ink to make certain objects fancier.
+Farbstoffe sind eine besondere Art von Tinte bestimmte Objekte schicker zu machen.
+
+Dying inside the Heroes Hold Main Dungeon does not have a penalty. However, dying outside the castle have.
+Sterben in den Helden Halten Haupt Dungeon haben keine Strafe. Doch außerhalb des Schlosses zu sterben hat.
+
+Dying outside a town square will cause EXP loss.
+Sterben außerhalb eines Stadtplatz wird EXP Verlust verursachen.
+
+Dying will also decrease the pet intimacy, and there are bonuses when your intimacy is high!
+Sterben wird auch das Tier Intimität verringern, und es gibt Boni, wenn Ihre Intimität hoch ist!
+
+Dyrin The Traveler
+Dyrin Der Reisende
+
+ENOUGH! LAME CHEATERS, GET OFF THIS GAME %%a That's 15 gifts, and it is final.
+
+
+ERROR: %d
+
+
+ERROR: You already took the coins today. Please wait @@ more.
+FEHLER: Sie haben bereits die heute Münzen. Bitte warten @@ mehr.
+
+ERROR: You must set a PinCode to make use of this function.
+
+
+EVENT Bow
+
+
+EVENT CANCELLED DUE TO PLAYER INACTIVITY
+
+
+EVENT Single Hand Sword
+
+
+EVENT Two Hands Sword
+
+
+EVENT Wand
+
+
+EVERY switch on EVERY cave will unflip itself after about 2 minutes. So don't waste your time.
+Jeder Schalter auf jeder Höhle wird sich nach ca. 2 Minuten unflip. Also vergeuden Sie nicht Ihre Zeit.
+
+EXP Gain +10%
+
+
+EXP Gain raised in @@% for one hour!
+EXP Gewinn für eine Stunde in @@% erhöht!
+
+EXP Penalty: ON
+
+
+EXPERTS ONLY - If you are not a talented crafter, avoid this.
+Nur für Experten - Wenn Sie nicht ein talentierter Crafter sind, dies zu vermeiden.
+
+EXPLOSIVE GUNSTAFF
+EXPLOSIVEN GUNSTAFF
+
+Each item have it's own tax.
+Jedes Element hat seine eigene Steuer.
+
+Each level up will buff your base stats, and give you stats points to allocate. However, there is Job Level.
+Jedes Level wird Ihre Basisstatistiken buffen, und geben Sie Punkte Statistik zuzuordnen. Allerdings gibt es Job-Ebene.
+
+Each monster will be counted as %d kills.
+
+
+Each of them require different items, I'll sort from weakest to strongest, so choose wisely.
+Jeder von ihnen verschiedene Elemente benötigt, werde ich von Schwächsten am stärksten sortieren, so klug wählen.
+
+Each season unlocks a set of quests and drops which can only be obtained on the season.
+Jede Saison entsperrt eine Reihe von Quests und Tropfen, die nur auf der Saison erhalten werden.
+
+Each settlement names a representative, which forms the Alliance Council. There is also the High Council, and the Magic Council.
+Jeder Siedlungsnamen ein Vertreter, der die Allianz Rat bildet. Es gibt auch der Hohe Rat, und das magische Rat.
+
+Earlier I hadn't any, but now that I have the baits, I will be glad to sell some to you!
+Früher hatte ich nicht, aber jetzt, dass ich die Köder haben, werde ich mich freuen, einige an Sie zu verkaufen!
+
+Earmuffs
+Earmuffs
+
+Earth Element
+
+
+Earth Fairy
+Erde-Fee
+
+Earth Powder
+Erde Powder
+
+Earth Scroll
+Erde Scroll
+
+Earth Witch Card
+Erde Hexe-Karte
+
+East Aeros
+East Eros
+
+Easter
+
+
+Easter @@
+Ostern @@
+
+Easter Angry Forain
+Ostern Verärgerte Forain
+
+Easter Egg
+Osterei
+
+Easter Egg quest updated. Total found: %02d/06
+
+
+Easter Eggs found: %d
+
+
+Easter Mouboo
+Ostern Mouboo
+
+Easter Top 1 Prize
+
+
+Easter is over! I am the last chance to get rid of eggs!!
+Ostern ist vorbei! Ich bin die letzte Chance, Eier loszuwerden !!
+
+Easy
+
+
+Easy Mode
+
+
+Eating is a necessity, but cooking is an art.
+Essen ist eine Notwendigkeit, aber das Kochen ist eine Kunst.
+
+Ectoplasm
+Ektoplasma
+
+Eevert
+Eevert
+
+Effects from The Great Fire are still felt by the people.
+
+
+Eggshell Hat
+Eischale Hat
+
+Eh, I don't think you'll be brave enough to go after her. If even she decided to flee, I doubt you wouldn't do the same.
+Eh, ich glaube nicht, dass du mutig genug sein, nachdem sie zu gehen. Wenn auch sie zu fliehen, entschied ich bezweifle, Sie würden nicht das gleiche tun.
+
+Eh, I have to go.
+
+
+Eh, that seems too problematic. Sorry.
+Eh, das scheint zu problematisch. Es tut uns leid.
+
+Eh... Sure, why not. What could go wrong, after all.
+
+
+Eh? Well, you're in a desert. You can see Maggots and Scorpions, they're very common on these parts. Giant Maggots are very dangerous, but also very slow. If you know how to fight, they will yield you lots of experience.
+Eh? Nun, sie ist in einer Wüste. Sie können sehen, Maden und Scorpions, sie auf diese Teile sehr häufig sind. Riesen Maggots sind sehr gefährlich, aber auch sehr langsam. Wenn Sie wissen, wie man kämpft, werden sie Ihnen viel Erfahrung ergeben.
+
+Eh? You sure?
+Eh? Bist du sicher?
+
+Eight Maggots will rise from the ground and will start destroying the crops.
+Acht Maden aus dem Boden steigen und beginnen die Ernte zerstören.
+
+Eight gifts. Let's double the goal. 25600 gifts. Did you guys hire some chinese gold farmers, anyway?
+Acht Geschenke. Lassen Sie uns das Ziel verdoppeln. 25600 Geschenke. Habt ihr ein paar chinesische Gold-Bauern mieten, sowieso?
+
+Eistein
+Einstein
+
+Elanore casts a chant over the items, closes her hands, and vóila! A lifestone.
+Elanore wirft einen Gesang über die Gegenstände, schließt ihre Hände und vóila! Ein Lebensstein.
+
+Elanore the Healer
+Elanore Die Heilerin
+
+Eldrin
+
+
+Eldrin, Taskmaster
+
+
+Electro Worm
+Electro-Wurm
+
+Elen The Traveler
+Elen Der Reisende
+
+Elenium Bif
+Elenium Bif
+
+Eleven gifts? You guys really have no live! For 204,800 I'll give an extra one.
+Elf Geschenke? Ihr Jungs haben wirklich keine Live! Für 204.800 werde ich ein Extra geben.
+
+Elf
+Elf
+
+Elfic Bow
+Elfic Bow
+
+Elias
+Elias
+
+Elias gets a bit excited.
+Elias wird es ein wenig aufgeregt.
+
+Elite Duck
+
+
+Elite Scout#MB0233
+
+
+Elixir Of Life
+Lebenselixir
+
+Elixir of Life
+
+
+Eliza
+
+
+Elli
+
+
+Elli#Ep
+
+
+Elmo
+Elmo
+
+Elmo has given you an EXP UP and DROP UP Boost until level 20!
+Elmo hat Ihnen einen EXP UP und DROP-Boost bis Level UP 20 gegeben!
+
+Elmo#002-5
+
+
+Elmo#sailors
+Elmo#sailors
+
+Elora
+
+
+Elora#1
+
+
+Elven
+Elfen
+
+Elves are always allowed inside.
+Elfen sind immer erlaubt im Inneren.
+
+Elza
+
+
+Email: @@
+Email: @@
+
+Emeald Bif
+Smaragd Big
+
+Emerald
+Smaragd
+
+Emerald (+2 luck)
+Smaragd (+2 Glück)
+
+Emerald Powder
+Smaragd Powder
+
+Emergency Exit
+Notausgang
+
+Emma
+
+
+Emoc otem itey gnik!
+Emoc OTEM itey gnik!
+
+Emperium
+Emperium
+
+Empty Box
+Leere Box
+
+EmptyBottle
+Leere Flasche
+
+Enable
+Aktivieren
+
+Enable Event
+Aktivieren Sie Ereignis
+
+Enable/disable doorbell
+Aktivieren / Deaktivieren der Türklingel
+
+Enabled
+aktiviert
+
+Enabled: @@
+Aktiviert: @@
+
+Enchanted Herb Bag
+Enchanted Kräutertasche
+
+End status @@
+Endstatus @@
+
+End! Score this time: %d
+
+
+End! Score this time: %s
+
+
+Endless, cute, dangerous, deadly.
+
+
+Enemies stunned!
+
+
+Energy Ball
+Energieball
+
+Energy Ball Challenge
+
+
+Engraving#Katazuli1
+
+
+Engravings#Gemini
+
+
+Enjoy this new weapon, I hope you're successful.
+Genießen Sie diese neue Waffe, ich hoffe, dass Sie erfolgreich sind.
+
+Enjoy this world while it lasts. Heh. It's time to... detonate.
+Genießen Sie diese Welt, solange es dauert. Heh. Es ist Zeit, ... detonieren.
+
+Enjoy your new style.
+Viel Spaß mit deinem neuen Style.
+
+Enjoy your time here, %s. And keep your eye out for agents of S.A.R.A.H.
+
+
+Enliven Reva Foxhound
+Enliven Reva Foxhound
+
+Enough for now. Let's rest, shall we?
+
+
+Enrique
+
+
+Ensio
+Ensio
+
+Ent Abomination
+
+
+Enter
+Eingeben
+
+Enter anyway?
+
+
+Enter dungeons? You won't be able to join anymore when he dies.
+Geben Sie Dungeons? Sie werden nicht mehr in der Lage zu kommen, wenn er stirbt.
+
+Enter line number:
+Zeilennummer eingeben:
+
+Enter new line:
+Neue Zeile eingeben:
+
+Enter though the window to the secret caves?
+Geben Sie durch das Fenster zu den geheimen Höhlen?
+
+Enter/Leave after start: %s
+
+
+Enzo
+Enzo
+
+Eomie
+Eomie
+
+Epic Mouboo
+
+
+Epic Tortuga
+
+
+Epiphany Wisp
+
+
+Equip
+Ausstatten
+
+Equipment Blueprint A
+Ausstattung Blueprint A
+
+Equipment Blueprint B
+Ausstattung Blueprint B
+
+Equipment Blueprint C
+Ausstattung Blueprint C
+
+Equipment Blueprint D
+Ausstattung Blueprint D
+
+Equipment Blueprint E
+Ausstattung Blueprint E
+
+Equippable items are armour, weapons and accessories.
+Bestückbaren Artikel sind Rüstungen, Waffen und Zubehör.
+
+Equipping them is easy, you must open your inventory with @@ or clicking in @@, on the top right.
+sie Ausrüsten ist einfach, müssen Sie Ihr Inventar öffnen mit @@ oder Klick in @@, oben rechts.
+
+Er, nevermind, I've thought of something to give you. You can go off now and get what I need.
+Er, macht nichts, ich habe daran gedacht, etwas zu geben. Sie können jetzt gehen und bekommen, was ich brauche.
+
+Er, uhm, hi!
+Er, ähm, hallo!
+
+Erik
+Erik
+
+Erlan
+
+
+Erm, for certain... reasons... I cannot help you right now!
+
+
+Erm... Good bye.
+Erm ... Auf Wiedersehen.
+
+Erm... I don't have a recipe book.
+Ähm ... Ich habe nicht ein Rezeptbuch.
+
+Erm... I don't know my parents.
+Ähm ... Ich weiß nicht, meine Eltern.
+
+Erm... You're right.
+Erm ... Du hast Recht.
+
+Error
+Error
+
+Error, cheater detected
+Fehler, detektiert cheater
+
+Error, contact Jesusalva! Missing warp. Healing & Reseting temporaly.
+Fehler, Kontakt Jesusalva! Fehlende Verwerfung. Heilung & Reseting temporaly.
+
+Error, error, L_T3_S0 General Error, REPORT ME
+Fehler, Fehler, L_T3_S0 Allgemeiner Fehler, REPORT ME
+
+Error, invalid return code, blame Saulc
+Fehler, ungültiger Rückgabecode, Schuld Saulc
+
+Estard
+Estard
+
+Eugene
+Eugene
+
+Eugene bows politely, but he thinks he can use more.
+
+
+Eurni
+
+
+Evasion +20
+
+
+Even after breaking the first layer, a second layer keeps active. The first layer gets back to work shortly after. What have I missed or forgotten to do?
+Auch nach der ersten Schicht zu brechen, hält eine zweite Schicht aktiv. Die erste Schicht wird kurz nach wieder an der Arbeit. Was habe ich verpasst oder vergessen zu machen?
+
+Even if the city has not been attacked on the last few years, I can't help but be concerned while the kids are playing hide and seek.
+Auch wenn die Stadt nicht auf den letzten Jahren angegriffen worden ist, kann ich nicht helfen, aber Sorgen machen, während die Kinder spielen verstecken und suchen.
+
+Even if they recover their strength, because the connection was severed, the barrier will not power up again.
+
+
+Even if you drink alone, you'll still receive the EXP bonus marked on the item description.
+Auch wenn Sie alleine trinken, werden Sie immer noch den EXP-Bonus auf der Artikelbeschreibung gekennzeichnet.
+
+Even the mighty Andrei Sakar could only barely escape alive. The Monster King was too strong.
+Auch der mächtige Andrei Sakar konnte nur gerade noch am Leben entkommen. Das Monster King war zu stark.
+
+Event Canceled
+Veranstaltung abgesagt
+
+Event Details
+
+
+Event Horizon Card
+Event Horizon-Karte
+
+Event Information
+
+
+Event Management
+Event Management
+
+Event News
+
+
+Event Ranking Rewards
+
+
+Event management
+Event Management
+
+Event score: %d -> %d
+
+
+Event weapons and cards will be deleted once event ends.
+
+
+Event will start in @@
+Event startet in @@
+
+Everburn Powder
+Everburn Powder
+
+Every %d sequences, you'll get a %s!
+
+
+Every 1 hour
+stündlich
+
+Every 101 successive right guesses, you'll get a @@!
+Alle 101 aufeinanderfolgenden richtigen Vermutungen, erhalten Sie eine @@ bekommen!
+
+Every 12 hours
+12-stündlich
+
+Every 24 hours
+täglich
+
+Every 3 hours
+3-stündlich
+
+Every 5 hours
+5-stündlich
+
+Every 6 hours
+6-stündlich
+
+Every bot says that.
+Jeder Bot sagt.
+
+Every day you login, you'll be able to spin a card.
+
+
+Every day, they disappear and a new one shows up on its place.
+
+
+Every fifteen successive right guesses, you'll get a @@!
+Alle fünfzehn aufeinander folgenden richtigen Vermutungen, erhalten Sie eine @@ bekommen!
+
+Every fifty successive right guesses, you'll get a @@!
+Alle fünfzig aufeinanderfolgenden richtigen Vermutungen, erhalten Sie eine @@ bekommen!
+
+Every once in a while, but I guess this is not common on your world, am I right.
+
+
+Every seven successive right guesses, you'll get a %s!
+
+
+Everyone commit mistakes and Oskari was very understanding. I need to do some questions about the incident though.
+Jeder begeht Fehler und Oskari war sehr verständnisvoll. Ich brauche allerdings einige Fragen über den Vorfall zu tun.
+
+Everyone loves the Land of Fire, it is impossible to not love it.
+
+
+Everything in order.
+
+
+Evil Bullet
+
+
+Evil Chest
+Das böse Chest
+
+Evil Mushroom
+Schlechter Pilz
+
+Evil Scythe
+Das böse Scythe
+
+Evil Wisp
+
+
+Evil worms crawl from earth and starts devouring the plants!
+Das Böse Würmer kriechen aus Erde und beginnt zu verschlingen die Pflanzen!
+
+Evolve a card
+
+
+Evolve mercenaries
+Evolve Söldner
+
+Examine the Mouboo
+Untersuchen Sie die Mouboo
+
+Example:
+Beispiel:
+
+Example: @translate Elmo
+
+
+Example: @translate Nard
+
+
+Example: @translate npc/002-1/arpan
+
+
+Example: Give the answer for the following: one+1
+
+
+Excellent! Let me see...
+Ausgezeichnet! Lass mich sehen...
+
+Excellent! This is exactly what I need. Thanks a lot. I'll tell Nikolai about your generosity.
+Ausgezeichnet! Das ist genau das, was ich brauche. Danke vielmals. Ich werde Nikolai über Ihre Großzügigkeit erzählen.
+
+Except they're not. I'll be back later.
+Außer sie sind es nicht. Ich komme später wieder.
+
+Exchange Gempowder for Quill
+Austausch Gempowder für Quill
+
+Exchange the item with Leona?
+Tauschen Sie den Artikel mit Leona?
+
+Excuse me.
+Entschuldigen Sie mich.
+
+Excuse me? Do you know who I am?#0
+Entschuldigen? Weißt du mit wem du hier redest?
+
+Excuse me? Do you know who I am?#1
+Entschuldigen? Weißt du mit wem du hier redest?
+
+Exile a player
+
+
+Exiled players will not be able to save to menhir.
+
+
+Exit
+
+
+Exp rate has been reset to @@% (default value).
+Exp Rate zurückgesetzt zu @@% (Standardwert) sind.
+
+Exp rate is set to @@% for the next @@.
+Exp Rate wird für den nächsten zu @@% eingestellt @@.
+
+Experience can be gained by completing quests and killing monsters. When you accumulate enough experience, you'll level up!
+Die Erfahrung kann durch Erfüllen von Aufgaben und das Töten von Monstern gewonnen werden. Wenn Sie genug Erfahrung ansammeln, werden Ebene Sie auf!
+
+Experience.
+Erfahrung.
+
+Expert Dungeon (Lv 100+)
+Expert Dungeon (Lv 100+)
+
+Expire rent time
+Expire mieten Zeit
+
+Explain briefly about mercenaries... I mean, we have a Mercenaries section on @tutorial right?
+
+
+Explosive ARROW
+explosive ARROW
+
+Explosive Arrow
+explosive Pfeil
+
+Explosive Gunstaff
+
+
+Eyes grows!
+Augen wachsen!
+
+Ezra
+
+
+F2
+F2
+
+F3
+F3
+
+FIGHT!
+KAMPF!
+
+FINAL BOSS FIGHT - WATCH OUT!
+Endgegner kämpfen - Watch out!
+
+FINAL WARNING: Do not spend unecessary time on Soren's House, you'll be disconnected!!
+FINAL Warnung: Nicht unnötig Zeit damit verbringen, auf Soren Haus, werden Sie getrennt !!
+
+Fafi Dragon
+fafi Drachen
+
+Fafi Mask
+fafi Mask
+
+Failed to warp to Soren Village.
+Fehler beim warp zu Soren Dorf.
+
+Failing all else, you can stay at the Magic Council getting experience for sitting. Hopefully you'll gain a level and this will help you a bit.
+
+
+Failure to respond to other players and/or GMs in a timely manner will be viewed as unacceptable AFK botting. And you'll spend a night in the jail.
+Andernfalls reagiert auf andere Spieler und / oder GMs in angemessener Zeit wird als nicht akzeptabel AFK botting betrachtet werden. Und Sie werden eine Nacht im Gefängnis verbringen.
+
+Fair Person
+Messe Person
+
+Fairies usually behaves well, but they hate snakes, so avoid casting halhiss and fairy kingdom at once. You never know.
+Fairies verhält sich in der Regel gut, aber sie hassen Schlangen, so vermeiden halhiss und Feenreich auf einmal werfen. Man weiß nie.
+
+Fairy's Squirrel
+Fee Eichhörnchen
+
+Fake Manastone
+
+
+Falkon Card
+
+
+Falkon Strike
+
+
+Falkrun
+
+
+Fallen King
+gefallener König
+
+Falling means certain death.
+Fallen Mittel sicheren Tod.
+
+Fancy Hat
+Modischer Hut
+
+Far over, the misty Nivalis cold ♪
+
+
+Farewell, until the next time. Shall we met again, and may the light guide our paths.
+
+
+Farewell.
+Mach es gut.
+
+Faris
+Faris
+
+Farm there and get the best experience value!
+
+
+Farmer Hat
+Farmer Hat
+
+Farmer Pants
+Farmer Pants
+
+Fate's Potion
+Fate Trank
+
+Fates Potion
+Schicksalstrank
+
+Fear
+
+
+Fear not! You can check our [@@https://wiki.moubootaurlegends.org|Wiki@@] to find that and other awesome stuff!
+
+
+Feel free to collect honey from the hives. Remember to bottle them before picking up... You can use the discardable bottles I keep near them for that.
+
+
+Feel free to come visit me another time.
+Du kannst mich jederzeit besuchen kommen.
+
+Feel free to try again whenever.
+
+
+Feeling lucky?
+
+
+Fefe's Diary
+
+
+Female
+Weiblich
+
+Fertilized Spores
+befruchtete Spores
+
+Figures she would be involved. What did she say?
+
+
+Fill Water Bottles
+Füllen Trinkflaschen
+
+Fill with what?
+Füllen Sie mit dem, was?
+
+Final: @@, @@
+Final: @@ @@
+
+Find it, spin it, and be bestowed in golden rewards!
+
+
+Find yourself a nice dry spot on a coast where you can easily reach into deep water.
+Such dir einen gemütlichen, trockenen Platz an der Küste, von wo aus du leicht das tiefe Wasser erreichen kannst.
+
+Fine.
+Fein.
+
+Finish
+Fertig
+
+Fire Arrow
+
+
+Fire Breath Inn
+Fire Breath Inn
+
+Fire Element
+
+
+Fire Fairy
+Feuer-Fee
+
+Fire Goblin
+Feuer Goblin
+
+Fire Scroll
+Feuer Scroll
+
+Fire Skull
+Feuer-Schädel
+
+Fire Staffs Recipes
+Feuer Staffs Rezepte
+
+Fire Staves
+Feuer Dauben
+
+Firearms? What would that be? @@
+Feuerarme? Was würde das sein? @@
+
+Fireball
+Feuerball
+
+Fireball Card
+Feuerballkarte
+
+Fireplace#Saggy
+
+
+Firewalk
+
+
+First - item must be equipped.
+Zunächst - Gegenstand muss ausgerüstet sein.
+
+First Aid
+
+
+First Dungeon Master
+Erster Dungeon Master
+
+First Grand Hunter challenge cleared %s ago
+
+
+First Tier
+Erste Stufe
+
+First and foremost, you should get yourself some reputation. I mean, right now, you are a complete nobody who was found on the sea.
+
+
+First of all: Welcome! Your level was temporaly modified, it'll be reverted once event is over.
+
+
+First of, there's a day/night cycle on the game.
+Zunächst gibt es einen Tag / Nacht-Zyklus auf dem Spiel.
+
+First reborn %s ago
+
+
+First thing is to get a @@. One from black market won't do, go to Halinarzo!
+Das erste, was ist eine @@ zu bekommen. Einer von Schwarzmarkt wird dies nicht tun, gehen Sie zu Halinarzo!
+
+First timers will be lead to somewhere random on this cave to keep intruders out. Just walk there again while all switches are still active.
+Erster Timer wird auf dieser Höhle führen zu irgendwo zufällig seine Eindringlingen fern zu halten. Gehen Sie einfach wieder, während alle Schalter noch aktiv sind.
+
+First visit to Fortress Is. %s ago
+
+
+First, %s is the Guardian of Law and Order. He ensures all rules are followed, and if anything breaks them, he erases their existence.
+
+
+First, you need to contribute to the common knowledge of this world. Like, write a %s, guide new players or something.
+
+
+Fish Box
+Fischkiste
+
+Fisherman
+Fischer
+
+Fisherman/Fisherwoman
+
+
+Fishing
+
+
+Fishing Guide Vol. I
+Angelführer Vol. I
+
+Fishing Rod
+Angelrute
+
+Fishing bait:
+
+
+Fishing is a boring task. Throw the bait, wait for fish to bite. Pull before it is too late. Then sell the fish for money.
+
+
+Fishing next to shallow water is not going to work well, because fishes seldom go there.
+Angeln im seichten Gewässer klappt nicht wirklich gut, da die Fische das meiden.
+
+Five powerful consecutive brawn attacks.
+
+
+Fixing Crystals have a price. You can only charge crystals to places you've already been.
+Befestigungs Kristalle haben einen Preis. Sie können nur Kristalle Orte laden Sie bereits waren.
+
+Flight Talisman
+Flug Talisman
+
+Floors cannot be re-visited, and rewards increase at each floor.
+
+
+Fluffy
+Fluffy
+
+Fluffy Animals who Love Their Owners
+Fluffy Tiere, die ihre Besitzer Liebe
+
+Fluffy Egg
+Fluffy Egg
+
+Fluffy Hat
+Fluffy Hat
+
+Fluffy Hunter Challenge
+
+
+Fluo Powder
+Fluo-Pulver
+
+Following these lines are some other writings on this paper.
+Nach diesen Zeilen findet dich noch etwas anderes Geschreibsel auf dem Zettel.
+
+Food is, and should always be, in demand.
+
+
+Food:
+
+
+Foolish kid, thinking they can fool me, Henry S., from all the people...!
+
+
+Foolish kids, do you think violence is the answer to everything?!
+Foolish Kinder, denken Sie Gewalt die Antwort auf alles ist ?!
+
+Foolish mortal, who doesn't knows what you are doing!
+Foolish sterblich, wer nicht weiß, was man tut!
+
+Footwear Recipes
+
+
+For %d GP I'll teach you, do we have a deal?
+
+
+For (another) one @@, I'll need 3~4 @@ and 50 GP.
+Für (andere) einen @@, werde ich brauche 3 ~ 4 @@ und 50 GP.
+
+For HLib, a GM must take the role of the Monster King
+Für Hlib, ein GM muss die Rolle des Monsters nimmt König
+
+For a long time, towns on the distant continent of Kolev have been supporting humans here.
+
+
+For a moment you wonder if Celestia might have gotten confused and tossed in a handful of forest dirt into the teapot.
+Für einen Moment fragt man sich, wenn Celestia gotten und verwechselt haben könnte in einer Handvoll Wald Schmutz in die Teekanne geworfen.
+
+For all his great deeds, and thousands of lives he saved, this statue is in his honor.
+Für alle seine großen Taten, und Tausende von Leben er gerettet, ist diese Statue zu seinen Ehren.
+
+For all the feedback, you know
+Für alle das Feedback, wissen Sie,
+
+For cowardingly killing in a "secure" area, you will be severely punished.
+
+
+For defeating the Monster King, you've got the Legendary @@.
+Für den Sieg über das Monster King, haben Sie den Legendary bekommen @@.
+
+For defending Hurnscald alone and saving all its inhabitants.
+Für Hurnscald allein verteidigen und Speichern aller seiner Bewohner.
+
+For example, translations do not count. Wiki articles count.
+
+
+For example, when an item is dropped to the ground, it rots away and disappear. It cannot be recovered. If an item were to break such rule, Mr. Saves would intervene.
+
+
+For extreme power they hold.
+
+
+For fighting against the Monster King once and getting out alive to tell the story.
+Für den Kampf gegen das Monster King einmal und Aussteigen am Leben, die Geschichte zu erzählen.
+
+For finding an Easter Egg, you got Strange Coins!
+Für die Suche nach einem Osterei, bekommt man Seltsame Münzen!
+
+For now do not take too much time to work on your intelligence, after all, almost nobody have magic this day.
+Denn jetzt zu viel Zeit der Arbeit nicht auf Ihrer Intelligenz nehmen, schließlich hat fast niemand an diesem Tag Magie.
+
+For now, eat this. It'll improve your condition... for now. I don't know where you'll find a time travelling device, but if you find one, come to me. I'll help you.
+
+
+For now, please accept this @@ as my gratitude.
+Vorerst diese bitte akzeptieren @@ als meine Dankbarkeit.
+
+For now, take this @@. I hope that you will use this power for something good now.
+Vorerst nehmen diese @@. Ich hoffe, dass Sie diese Kraft für etwas Gutes jetzt verwenden.
+
+For now, yes. But you will have to prove that you really care about more than yourself.
+Erstmal ja. Aber Sie müssen beweisen, dass Sie mehr als Sie sich wirklich interessieren.
+
+For only 100 GP, you can sleep on the beds of the Land Of Fire.
+Für nur 100 GP, können Sie auf den Betten des Landes Feuer schlafen.
+
+For only @@ GP, I'll decrypt any ancient text file you have. Or you can learn how to read that yourself, for @@ GP.
+Für nur @@ GP, werden entschlüsseln ich jede alte Textdatei, die Sie haben. Oder Sie können lernen, wie man das selbst zu lesen, für @@ GP.
+
+For only a small amount of Gold Pieces, I will show you how it works!
+Für nur eine kleine Menge Goldstücke, werde ich Ihnen zeigen, wie es funktioniert!
+
+For short, they had a fight with curses, and now there's a talking statue over his grave which can spawn monsters here.
+Für kurze, hatten sie einen Kampf mit Flüchen, und jetzt gibt es eine sprechende Statue über sein Grab, das Monster hier laichen kann.
+
+For short, you would have lost all your items, wouldn't get anything, and there would be no refunds.
+Für kurze, würden Sie alle Ihre Artikel verloren, würde nichts bekommen, und es gäbe keine Rückerstattung sein.
+
+For simple-minded individuals like you, pixies are fairies.
+
+
+For sure the chef of Nard's ship could spare you a pair of gloves.
+Sicherlich könnte der Chef von Nard Schiff erspart Ihnen ein Paar Handschuhe.
+
+For that, I need to light five torches. The pentagram, the magic, and all the else are with me. Just light the torches.
+Dafür muss ich Licht fünf Fackeln. Das Pentagramm, die Magie und alle anderen sind mit mir. Nur Licht der Fackeln.
+
+For that, I use a special currency - Aethyr points. You can trade rare items for points. I also sell one point for %d GP. So, what will it me?
+
+
+For that, I'll need @@/@@ @@.
+Dafür werde ich brauche @@ / @@ @@.
+
+For the @@, I'll need 5 ##Bhigh-quality##b @@, and @@ GP for work fee!
+
+
+For the first place in Easter, you gained a Bhopper Fluffy.
+Für den ersten Platz in Ostern, gewann man eine Bhopper Fluffy.
+
+For the higher titles, you'll need vouch of multiple people. You can vouch for anyone below your rank with %s but never for someone of same or higher rank.
+
+
+For the mouboo? I was only doing my duty.
+Für die mouboo? Ich war nur meine Pflicht zu tun.
+
+For the rescue? You didn't seemed to be in need of aid.
+Für die Rettung? Sie haben in der Notwendigkeit zu sein, die Beihilfe nicht schienen.
+
+For their weapons has a will on them.
+
+
+For this @@, I offer you @@ GP.
+Dafür @@, biete ich Ihnen @@ GO.
+
+For this @@, I offer you a(n) @@.
+Dafür @@ biete ich Ihnen eine (n) @@.
+
+For this training, I need @@, not the usual arrow you use.
+Für diese Ausbildung, ich brauche @@, nicht den üblichen Pfeil Sie verwenden.
+
+For which player do you wish to pray?
+
+
+For you, boring person like me, It'll cost the small amount of:
+Für Sie, langweilige Person wie mich, wird es die kleine Menge kosten:
+
+For you, it will be only 50 GP for potion! But I need the base ingredients, four @@ - or @@, depends on which one.
+Für Sie wird es nur 50 GP für Trank sein! Aber ich brauche die Grundbestandteile, vier @@ - oder @@, auf dem man abhängig ist.
+
+For you, it'll be @@ GP.
+Für Sie wird es @@ GP sein.
+
+For your incredibly hard work, you got:
+
+
+For yourself can obtain tandem!
+
+
+Forain
+Forain
+
+Forest Armor
+Wald Rüstung
+
+Forest Bow
+Wald Bow
+
+Forest Gloves
+Wald-Handschuhe
+
+Forest Mushroom
+Waldpilz
+
+Forest Piou
+Wald Piou
+
+Forest Piou Feathers
+Wald Piou Federn
+
+Forest Shroom Egg
+Wald Shroom Egg
+
+Forest Shroom Hat
+Wald Shroom Hut
+
+Forgotten Chamber
+Forgotten Kammer
+
+Form the strongest party and win! Remember that if you don't kill the boss, you'll never win!
+Bilden die stärkste Partei und gewinnen! Denken Sie daran, dass, wenn Sie nicht den Chef töten, werden Sie nie gewinnen!
+
+Form your party and rescue Luvia Gemini from Isbamuth!
+
+
+Fortiun
+Fortiun
+
+Fortress Gate
+
+
+Fortress Island
+Fortress Insel
+
+Fortress Statue
+
+
+Fortress Town
+
+
+Fortress Town is connected to the prophecies of the death of all humans, wildlife, and the other lesser races.
+
+
+Fortunately, we know the answer is...
+
+
+Fortune Statue
+fortune-Statue
+
+Fountain#Hurns
+
+
+Four Leaf
+Four Leaf
+
+Four Leaf Clover
+Vierblättriges Kleeblatt
+
+Four minutes after the warp, or when the last maggot die, it'll be over.
+Vier Minuten nach der Kette oder wenn die letzten Maden sterben, wird es vorbei sein.
+
+France: [@@https://dondesang.efs.sante.fr/|https://dondesang.efs.sante.fr/@@]
+Frankreich: [@@ https: //dondesang.efs.sante.fr/ | https: //dondesang.efs.sante.fr/@@]
+
+Free Cast
+
+
+Freeze
+
+
+Friend Gift
+Freund-Geschenk
+
+Friend of the Fairies
+
+
+Friendly SP Regeneration
+
+
+Friendship's Strength Challenge
+
+
+From magical gates to ancient time-space technology - we know it all!
+Von magischen Toren der alten Stadt Zeit-Raum-Technologie - wir wissen es alle!
+
+From the smell I can see you found the bug bomb!
+Ich Vom Geruch sehen Sie die Wanze Bombe gefunden!
+
+From the time you come from, the Moubootaur has escaped its chains.
+
+
+Frost Diver
+Frost Diver
+
+Frost Nova
+Frostnova
+
+Frostia
+Frostia
+
+Frostia (@@m)
+Frostia (@@ m)
+
+Frostia - @@ GP
+Frostia - @@ GP
+
+Frostia Guard
+Frostia Wache
+
+Frostia Office
+Frostia Büro
+
+Frostia Townhall
+Frostia Townhall
+
+Frostia Warp Crystal
+Frostia Warp-Kristall
+
+Frostia and Halinarzo are now on a spar!
+Frostia und Halinarzo sind jetzt auf einem Holm!
+
+Frostia is a *hic* town way way north of here. They *hic* hate humans, so... Good luck?
+Frostia ist eine * hicks * Stadt Art und Weise Weg nördlich von hier. Sie * hicks * Hass Menschen, so ... Viel Glück?
+
+Frostia is the only city known that was not founded by humans.
+Frostia ist die einzige Stadt bekannt, die nicht von Menschen gegründet wurde.
+
+Frostia's Nurse
+Frostia Krankenschwester
+
+Frozen Squirrel
+Gefrorene Eichhörnchen
+
+Frozen Yeti Tear
+Gefrorene Yeti Träne
+
+Frozenbeard
+Frozenbeard
+
+Fruits - @@ coins
+Fruits - @@ Münzen
+
+Full Power Card
+
+
+Full Throttle
+
+
+Full of agrotoxins, transgenics and whatever. Not safe.
+Voller agrotoxins, Transgenen und was auch immer. Nicht sicher.
+
+Fungus
+Pilz
+
+Funky Hat
+Funky Hut
+
+Fur Boots
+Pelzstiefel
+
+Furniture Menu
+Möbel Menü
+
+Furthermore, if you don't have enough mana, it'll hurt you until you die.
+
+
+Fuschia Dye
+fuschia Dye
+
+Fusus
+Fusus
+
+Futurely, Mylarin Dust and a Sunny Crystal will also be available.
+
+
+GAAAAAAAAAAAAAAAAHHHHHHH!
+GAAAAAAAAAAAAAAAAHHHHHHH!
+
+GAME SETTINGS
+SPIELEINSTELLUNGEN
+
+GET OUT OF HERE, YOUR NOBODY!
+Raus hier, IHRE NIEMAND!
+
+GM Alchemy Table
+GM Alchimie-Tabelle
+
+GM Black Smithy
+GM Schwarz Smithy
+
+GM Cap
+GM Cap
+
+GM Gift Box
+GM Gift Box
+
+GM Robe
+GM Robe
+
+GMs are NOT allowed on Hurnscald Liberation day.
+GMs werden NICHT auf Hurnscald Befreiungs Tag erlaubt.
+
+GO! Run, %s, RUN!!!!
+
+
+GP
+GP
+
+GP: %d + %d
+GP:% d +% d
+
+GUARDS! GET THEM!
+
+
+Gaelira
+
+
+Gaia Break
+
+
+Gain: %d RP/min
+
+
+Gained 20000 XP and 2500 GP
+Gewonnene 20000 XP und 2500 GP
+
+Gained 2500 XP and 250 GP
+Gewonnene 2500 XP und 250 GP
+
+Gained 5000 XP
+Gewonnene 5000 XP
+
+Gained 7500 XP and 1250 GP
+Gewonnene 7500 XP und 1250 GP
+
+Gained @@ points.
+Gewonnene @@ Punkte.
+
+Gale, not good to fly.
+Gale, nicht gut zu fliegen.
+
+Galimatia
+
+
+Gambler Master
+
+
+Gambler#017-3
+
+
+Gambler#020-4
+
+
+Gambling Xan
+Glücksspiel Xan
+
+Gambling is for the weak, I offer you a true game!
+
+
+Gamboge Herb
+gamboge Herb
+
+Gamboge Plant
+gamboge Pflanze
+
+Game Master
+Game Master
+
+Game Mistress
+Spiel Herrin
+
+Game News
+Game News
+
+Game Rules were updated!
+Spielregeln wurden aktualisiert!
+
+Game Settings
+Spieleinstellungen
+
+Game Statistics
+Spielstatistiken
+
+Gem powder
+Gem Pulver
+
+Gemini Season
+
+
+Gender
+Geschlecht
+
+General Boosts
+
+
+General Information
+
+
+General Krukan
+
+
+General Razha
+
+
+General Store#dimond
+
+
+General Terogan
+
+
+General Terogan : DEAD! Muahahahaha!
+
+
+Generic items are used for different purposes. In creating other items, to swap and sell, to collect, etc.
+Generisches Elemente werden für verschiedene Zwecke verwendet. Bei der Erstellung andere Einzelteile, zu tauschen und zu verkaufen, zu sammeln, usw.
+
+George
+George
+
+George the Pirate
+George der Pirat
+
+Get Rekt Noob.
+Holen Rekt Noob.
+
+Get out of here! Before I call the city guard!!
+
+
+Get out of here, weakling. You'll be killed by bandits.#0
+
+
+Get out of here, weakling. You'll be killed by bandits.#1
+
+
+Getting Money
+
+
+Getting ranked #1 in a challenge yields you 10 points, getting ranked #2 yields you 9 points and so on.
+
+
+Getting there is tricky, so listen carefully to the instructions:
+Anreise ist schwierig, so hören Sie aufmerksam den Anweisungen:
+
+Ggrmm... Grmmmm...
+Ggrmm... Grmmmm...
+
+Ghada
+Ghada
+
+Giant Cave Maggot
+Grotta Gigante Maggot
+
+Giant Maggot
+Riesen Maggot
+
+Giant Maggots are worth 1 point, Snakes are worth 5 points and Black Scorpions are worth 10 points. The ones in caves doesn't count. Bring me 300 points. Good luck!
+Riesen Maggots sind 1 Punkt wert, Schlangen sind 5 Punkte wert und Schwarz Scorpions sind 10 Punkte. Die, die in Höhlen zählt nicht. Bringt mir 300 Punkte. Viel Glück!
+
+Giant Mutated Bat
+Riesen Mutierte Bat
+
+Gift Fanatic
+Geschenk Fanatic
+
+Gimme a second... Yes, you seem to be fine now, very well, congratulations!
+
+
+Ginger Bread Man
+Lebkuchenmann
+
+Give Up
+Gib auf
+
+Give a @@ to the Mouboo?
+Geben Sie einen @@ zum Mouboo?
+
+Give her the materials she asked for?
+Geben Sie ihr die Materialien, die sie gefragt?
+
+Give him an item
+
+
+Give him the materials he asked for?
+Geben Sie ihm die Materialien, die er gefragt?
+
+Give it time, increase your magic power, and you'll find out the truth.
+Geben Sie ihm Zeit, erhöhen Sie Ihre magische Kraft, und Sie werden die Wahrheit herausfinden.
+
+Give me %s cards of the same type, and I'll give you one card of a higher rarity. There is no cost, but the card is random.
+
+
+Give me %s copies of the same card and %s GP, and I'll improve its tier.
+
+
+Give me a card and select another card of same class. I charge %d GP for simple exchanges.
+
+
+Give me a second to look over your paperwork.
+Gib mir eine Sekunde über Ihre Papiere zu suchen.
+
+Give me back what you stole, thief!
+
+
+Give me some space.
+Gib mir etwas Zeit.
+
+Give players 10 minutes
+Gibt den Spieler 10 Minuten
+
+Give players 15 minutes
+Gibt den Spieler 15 Minuten
+
+Give players 20 minutes
+Gibt den Spieler 20 Minuten
+
+Give players 25 minutes
+Gibt den Spieler 25 Minuten
+
+Give players 30 minutes
+Gibt den Spieler 30 Minuten
+
+Give players 5 minutes
+Geben dem Spieler 5 Minuten
+
+Give that to whoever needs them, and see if it works. Then come tell me the result. Do you have the reagents?
+Gib, dass wem auch immer sie benötigt, und sehen, ob es funktioniert. Dann kommen Sie mir das Ergebnis mitteilen. Haben Sie die Reagenzien haben?
+
+Give the Antenna and the GP to her?
+Geben Sie die Antenne und den GP zu ihr?
+
+Give up!
+Gib auf!
+
+Give your pet a nice name, and keep it healthy, and you'll be a successful pet owner!
+Geben Sie Ihr Tiere einen schönen Namen, und halten Sie es gesund, und Sie werden ein erfolgreicher Tierbesitzer sein!
+
+Glad the Monster King avoid the seas, arr!
+
+
+Glad to hear. I swear, the fish I picked before you arrive was THAT big!
+Froh zu hören. Ich schwöre, ich die Fische gepflückt, bevor Sie ankommen war so groß!
+
+Gladiator
+
+
+Gladys
+Gladys
+
+Gloves
+Handschuhe
+
+Gloves Recipes
+Handschuhe Rezepte
+
+Go and fetch @@, the party leader!
+Geh und hol @@, der Parteichef!
+
+Go and follow @@, your party leader!
+Go und Folge @@, Ihr Parteichef!
+
+Go and talk to it.
+Gehen Sie und sprechen Sie mit ihm.
+
+Go away creep, I HATE YOU!
+
+
+Go away, I am too magical for you. %%n
+
+
+Go away, kid! Let me pray in peace!
+Geh weg, Kind! Lassen Sie mich in Ruhe beten!
+
+Go away,%s can't you see I'm busy?
+
+
+Go away.
+Geh weg.
+
+Go back
+Zurückgehen
+
+Go back to Rosen!
+Zum Rose zurück!
+
+Go do what I told you to do and examine the house thoroughly!
+Gehen Sie das tun, was ich Ihnen sagte, das Haus gründlich zu tun und zu untersuchen!
+
+Go fly a kite.
+Geh Kitesurfen.
+
+Go home now?
+Geh jetzt nach Hause?
+
+Go kill the Bandit Lord!
+Gehen Sie töten den Banditen Herren!
+
+Go kill the maggots!
+Gehen Sie töten die Maden!
+
+Go kill them!!
+Gehen Sie töten sie !!
+
+Go now, with the blessing of ducks. There may come a time when we require your aid once again, O %s.
+
+
+Go see someone else for now. Yes, you need level to take most tasks available on the world!
+Gehen Sie sehen, dass jemand anderes für jetzt. Ja, Sie brauchen Ebene die meisten Aufgaben auf der Welt zu nehmen!
+
+Go talk to Sagratha, she is usually in a hut in northen forest. The door have a magic barrier, so you'll need to have minimal magic skills to get close enough to open it.
+Sprecht mit Sagrada, ist sie in der Regel in einer Hütte im Norden Wald. Die Tür eine magische Barriere, so dass Sie Fähigkeiten minimal Magie haben brauchen, nahe genug, um es zu öffnen.
+
+Go through the waterfall path.
+
+
+Go to the townhall there and show the mayor this other letter.
+Zum Rathaus dort und zeigen Sie den Bürgermeister diesen anderen Brief.
+
+Go very close to it and, speak the four four-letters magic words, pour some @@, and he'll appear to you.
+Gehen Sie sehr nah an ihm und sprechen die vier Vier Buchstaben magischen Worte, gießen Sie einige @@, und er wird Ihnen angezeigt.
+
+Goal: @@/@@ reached!
+Ziel erreicht!
+
+Goal: Survive the longest possible.
+
+
+Gobo Bear
+Gobo-Bär
+
+God bless you! You have saved me from sweltering!
+Gott segne dich! Sie haben mich gerettet aus schwül!
+
+Going to World Edge? Never heard of.
+Going to Weltrand? Niemals davon gehört.
+
+Golbarez
+Golbarez
+
+Gold Fish
+
+
+Gold Ingot
+Goldbarren
+
+Gold Medal
+Goldmedaille
+
+Gold Ore
+Golderz
+
+Gold Ore -> Silver Ore
+Golderz -> Silbererz
+
+Gold Pieces
+Goldstücke
+
+Golden Apple
+goldener Apfel
+
+Golden Armbands
+Goldener Armbinden
+
+Golden Black Pearl Ring
+
+
+Golden Boss Gift
+
+
+Golden Chainmail
+goldene Ketten
+
+Golden Chest
+golden Chest
+
+Golden Easteregg
+Goldenes Osterei
+
+Golden Eggs are used for the grand collector prize. Ah, I love Easter! I loooooooove it!
+Goldene Eier werden für den großen Sammler Preis verwendet. Ah, ich lieben Ostern! Ich loooooooove es!
+
+Golden Four-Leaf Amulet
+Goldenes Vier-Blatt-Amulett
+
+Golden Gift
+goldenes Geschenk
+
+Golden Light Platemail
+Golden Light-Platten
+
+Golden Pearl Ring
+Golden Pearl Ring
+
+Golden Ring
+Goldener Ring
+
+Golden Scorpion
+Goldener Skorpion
+
+Golden Scorpion Claw
+Goldene Skorpionen Klaue
+
+Golden Scorpion Claw -> Black Scorpion Claw
+Goldene Skorpionen Klaue -> Schwarze Skorpionen Klaue
+
+Golden Warlord
+
+
+Golden Warlord Plate
+
+
+Golem
+
+
+Gonzo Dark Card
+Gonzo Dunkel-Karte
+
+GonzoDark Sponsor
+GonzoDark Sponsor
+
+Good %s, %s. The council is not in session right now.
+
+
+Good %s. Would you like to sleep here? It's only %d GP!
+
+
+Good @@. My name is @@ and I make @@.
+Gut @@. Mein Name ist @@ und ich mache @@.
+
+Good bye my friend, and safe travels!#0
+
+
+Good bye my friend, and safe travels!#1
+
+
+Good bye!
+Auf Wiedersehen!
+
+Good bye, darling!
+Tschau mein Schatz!
+
+Good bye, sir.
+Auf Wiedersehen, mein Herr.
+
+Good bye.
+Auf Wiedersehen.
+
+Good choice! This year we're having a @@!
+Gute Wahl! In diesem Jahr wir haben einen @@!
+
+Good day sir.#1
+Guten Tag, der Herr.
+
+Good job collecting the monster points for me. Here's your reward.
+Gute Arbeit, die Monster Punkte für mich zu sammeln. Hier ist deine Belohnung.
+
+Good job!
+Gut gemacht!
+
+Good job! Here is your reward!
+Gut gemacht! Hier ist Ihre Belohnung!
+
+Good job! I wish you luck, because now you need to SWIM!
+Gut gemacht! Ich wünsche Ihnen viel Glück, weil Sie jetzt zu SWIM brauchen!
+
+Good job, kid. You've survived both the Cave Of Trials and Soren's Village.
+Gute Arbeit, Kind. Sie haben überlebt sowohl die Höhle von Trials und Soren Dorf.
+
+Good job, man!
+Gute Arbeit!
+
+Good job, you already killed over 100! Hahah, that sure teach them a lesson!
+Gute Arbeit, Sie bereits über 100 getötet! Hahah, dass Sie sicher, lehren sie eine Lektion!
+
+Good job, you've killed the %d %s and reported back in time!
+
+
+Good job, you've killed the @@ @@ and reported back in time!
+Gute Arbeit, hast du getötet die @@ @@ und berichten in der Zeit zurück!
+
+Good job.
+Gut gemacht.
+
+Good job... Here is your reward...
+Gute Arbeit ... Hier ist deine Belohnung ...
+
+Good job... You can keep the drops. Touch here to return home.
+Gute Arbeit ... Sie können die Tropfen halten. Tippen Sie hier, um nach Hause zurückzukehren.
+
+Good luck arresting the criminal!
+Viel Glück Anhalten der Verbrecher!
+
+Good luck getting the fertilizer from Eomie! Many elves simply refuse to cooperate until it affects them directly.
+Viel Glück bekommen die Dünger aus Eomie! Viele Elfen einfach weigern zu kooperieren, bis er sie unmittelbar berührt.
+
+Good luck hunting down the Monster King.
+Viel Glück Jagd auf das Monster King.
+
+Good luck in your journey, @@.
+Viel Glück auf deiner Reise, @@.
+
+Good luck killing it! And don't forget to touch the Soul Menhir before you go!
+Viel Glück töten sie! Und vergessen Sie nicht die Seele Menhir zu berühren, bevor Sie gehen!
+
+Good luck on your journey!
+Viel Glück auf Ihrer Reise!
+
+Good luck out there!
+
+
+Good luck with that. See you in ten years or something.
+Viel Glück damit. Sehen Sie in zehn Jahren oder so etwas.
+
+Good luck with your boyfriend!#0
+
+
+Good luck with your girlfriend!#1
+
+
+Good luck!
+Viel Glück!
+
+Good luck! Come for remuneration when you finish!
+Viel Glück! Kommen Sie für Vergütung, wenn Sie fertig sind!
+
+Good luck! Don't come back until you reach 10000 kills!
+Viel Glück! Kommen Sie nicht zurück, bis Sie 10000 kills erreichen!
+
+Good luck, %s! There are more monsters nearby!
+
+
+Good luck, %s. You'll need it.
+
+
+Good luck, @@!
+Viel Glück, @@!
+
+Good luck, because you'll need it. Talk to me once all of them are lit, and I'll SUMMON DAH MONSTER KING.
+Viel Glück, weil Sie es brauchen. Sprechen Sie mit mir einmal alle von ihnen leuchten, und ich werde SUMMON DAH MONSTER KING.
+
+Good luck.
+Viel Glück.
+
+Good luck. %%1
+
+
+Good luck...
+Viel Glück...
+
+Good news - Oskari doesn't plans in firing you (yet)!
+Gute Nachrichten - Oskari nicht Pläne Brennen Sie (noch) nicht!
+
+Good to know.
+Gut zu wissen.
+
+Good work with the slimes. This will make our task much easier.
+Gute Arbeit mit den Schlämmen. Dies wird unsere Aufgabe viel einfacher.
+
+Good!
+
+
+Good! First, let us test if you are resourceful. Bring me 3 @@ and 3 @@. That should be enough!
+Gut! Zuerst wollen wir testen, ob Sie einfallsreich sind. Bringt mir 3 @@ und 3 @@. Das sollte genug sein!
+
+Good! I want 3 @@ and 10 @@. I have a contract to transform that in good money.
+Gut! Ich möchte 3 @@ und 10 @@. Ich habe einen Vertrag zu transformieren, dass in gutem Geld.
+
+Good! Last step! West of Hurnscald, there is a magic fountain.
+Gut! Letzter Schritt! Westlich von Hurnscald gibt es einen magischen Brunnen.
+
+Good, I need to talk with the King.
+Gut, ich muss Gespräch mit dem König.
+
+Good, good, you have enough powder. Now I need you to lit all five torches with them.
+Gut, gut, haben Sie genug Pulver. Jetzt muss ich Sie alle fünf Fackeln, mit ihnen zu leuchten.
+
+Good, good. The chant is ##B EMOC OTEM ITEY GNIK ##b. Good luck!
+
+
+Good, knowing the world lore is important.
+Gut, die Welt Lore zu wissen, ist wichtig.
+
+Good, there they are.
+Gut, da sind sie.
+
+Good, this must mean that Sagratha managed to flee in time.
+Gut, das muss bedeuten, dass Sagratha rechtzeitig fliehen.
+
+Good, you *hic* proved your *hic* worth. I'll give you them.
+Gut, Sie * hicks * bewiesen Ihre * hicks * wert. Ich werde Sie ihnen geben.
+
+Good, you did it!
+Gut, Sie haben es geschafft!
+
+Good. Did you knew you could register to the Special Class, in order to get an extra skill point?
+Gut. Habe Sie gewusst Sie auf den Special Class, um zu registrieren, könnten einen zusätzlichen Fertigkeitspunkt zu bekommen?
+
+Good. Here, take this key and hide it. I will quickly brief you:
+
+
+Good. I hope you have stocked everything. The time limit is 4 hours.
+
+
+Good. You look like a real miner! Take this @@ and go mine bifs!
+Gut. Sie sehen aus wie ein echter Bergmann! Nehmen Sie diese @@ und meine BIFS gehen!
+
+Goodbye.
+Auf Wiedersehen.
+
+Googles
+Googles
+
+Got 1,000,000 Monster Points!
+Got 1.000.000 Monster Punkte!
+
+Got @@ EXP, @@ JExp and @@ GP for helping out.
+Got @@ EXP, @@ JExp und @@ GP für die Unterstützung aus.
+
+Got Master Blueprints!
+Got Meister Riss!
+
+Graduation Album
+
+
+Graduation Cap
+Abschluss-Kappe
+
+Graduation Robe
+Staffelungrobe
+
+Grand Hunter Quest
+Große Jäger Quest
+
+Grand Hunter Quest: @@/10,000
+Grand Hunter Quest @@ / 10.000
+
+Grand Master
+
+
+Grant Power
+Grant-Leistung
+
+Graphene Stone
+Graphene Stein
+
+Grass Carp
+Graskarpfen
+
+Grass Liner
+Grass Liner
+
+Grass Seeds
+Gras Samen
+
+Grass Snake
+Ringelnatter
+
+Great Hero
+
+
+Great Mouboo Slime
+
+
+Great Tree
+
+
+Great Tree#296to297
+
+
+Great news! Then please bring me 1 @@, or 200 @@ @@ 20 @@.
+Großartige Neuigkeiten! bitte mir dann 1 bringen @@ oder 200 @@ @@ 20 @@.
+
+Great! Eomie, the girl on Tulimshar's magic academy, is an alchemist. She probably makes fertilizers.
+Groß! Eomie, das Mädchen auf Tulimshar Zauberakademie ist ein Alchemist. Sie machen wahrscheinlich Düngemittel.
+
+Great! Excellent! Because I am also diving in problems!!
+Groß! Ausgezeichnet! Denn ich bin auch Tauchen in Probleme !!
+
+Great! Here, I'll give you %d GP so you can start here with more ease.
+
+
+Great! It is simple, really. Pachua and I are scouting the desert. Run as fast as you can to Pachua, and then run back here. Pachua will send a smoke signal when you talk to him, so I'll know you haven't cheated.
+
+
+Great! Now, listen carefully: This library is laid out in nine squares.
+Groß! Nun, genau hinhören: Diese Bibliothek wird in neun Quadraten gelegt.
+
+Great! Thank you!
+Groß! Vielen Dank!
+
+Great! The first thing you need is, obviously, a bow. You should not use any you come across, but a high quality one.
+Groß! Das erste, was Sie brauchen, ist, natürlich, eine Verbeugung. Sie sollten nicht Sie stoßen, aber eine hohe Qualität, die man verwenden.
+
+Great, I need 11 @@. Only good food makes a good crew.
+
+
+Great, I see you've already made yourself comfortable!
+Großartig, ich sehe Sie schon sich bequem gemacht haben!
+
+Great, just bring me several boxes, once one of them have the ring I'm looking for.
+Große, bringen Sie mir nur einige Kisten, sobald einer von ihnen den Ring, den ich suche.
+
+Great. I hereby task you to kill the rogue Yetis on the Yeti King Throne Room. Of course, you won't be able to leave until all of them are dead.
+Groß. Ich hiermit Sie beauftragen den Schelm Yetis auf dem Yeti König Thronsaal zu töten. Natürlich werden Sie nicht in der Lage sein zu lassen, bis sie alle tot sind.
+
+Greater @@ allows you to attack faster and has a greater chance of evading attacks.
+Größer @@ ermöglicht es Ihnen, schneller Angriff und eine größere Chance, Angriffe zu entziehen.
+
+Green
+Grün
+
+Green 4144
+grün 4144
+
+Green Dragon
+Grüner Drache
+
+Green Dye
+Grüner Farbstoff
+
+Green Eggshell Hat
+Grüne Eggshell Hut
+
+Green Skull Slime
+
+
+Green Slime
+Grüner Schleim
+
+Green Slime Mother
+
+
+Green Switch#EP
+
+
+Green Wars project says that @@ trees were planted by adventurers on the world!
+Grünes Wars-Projekt sagt, dass @@ Bäume von Abenteurern auf der Welt gepflanzt wurden!
+
+Greenhorn Abomination
+
+
+Greetings %s, I am %s, I am in charge of monster extermination.
+
+
+Greetings %s, I am %s, the man in charge for the Alliance occupation of Fortress Town.
+
+
+Greetings mortal; I am Demure, Queen of Dragons.
+
+
+Greetings! I am %s from the Alliance.
+
+
+Greetings, %s %s, I am Hocus Pocus the Grandmaster.
+
+
+Greetings, %s %s, to the Alliance High Council.
+
+
+Greetings, %s. Do you have business on the Alliance Council Room?
+
+
+Greetings, adventurer. I am Valia Gemini, owner of this abode.
+
+
+Greetings, traveler. I am Darug, chief of this clan.
+
+
+Greetings, traveler. My name is Melune, and I'm Darug's wife.
+
+
+Greetings, wanderer. I am @@, chief of the Tulimshar guards. My wards are dying from dehydration in the sun. Bring them water and you will earn a reward.
+Grüße, Wanderer. Ich bin @@, Chef der Tulimshar Wache. Meine Stationen sterben an Austrocknung in der Sonne. Bringt sie Wasser und Sie werden eine Belohnung verdienen.
+
+Greetings, young soul; I am the queen of fairies, Lilit.
+
+
+Greetings. The council is currently in session, no one is allowed in the inner chambers.
+
+
+Grenade
+Granate
+
+Grenadier
+
+
+Grind grind grind the slime!
+Grind schleifen schleifen den Schleim!
+
+Groata : ...Because I am out of freebies and need to sleep. So shoo.
+
+
+Groata : ...Meh. I'll give you this... stuff, and for the last time, don't bother me again...
+
+
+Groata : ...Will you seriously just keep running around? Like a headless chicken?
+
+
+Groata : C'mon, that is boring. What I need to do to get you out of my house?
+
+
+Groata : Hey. I live here. Why are you spawning monsters in my home??
+
+
+Groata : I wonder for how long you can survive here...
+
+
+Groata : Let's make a deal. Take this, clear my house, and get out.
+
+
+Groata : This is rude. Seriously, stop doing this.
+
+
+Groata : Uh. What's happening here?
+
+
+Groata : You must be idiotic in keeping spawning.
+
+
+Ground Strike
+Boden Streik
+
+Group together your guild and challenge the evil power,
+
+
+Grown in harsh environments, withstand anything.
+
+
+Grr, where's Mercury... He was supposed to keep watch over this spot... It was meant to be my free time!
+Grr, wo ist Mercury ... Er sollte Uhr über diesen Punkt halten ... Es sollte meine freie Zeit sein!
+
+Grrr... Why are @@ on this cave?! Begone, before I lose my patience!
+Grrr ... Warum sind @@ auf dieser Höhle ?! Begone, bevor ich verliere meine Geduld!
+
+Grrr... Why are @@ on this cave?! Where did Mercury went after all?!
+Grrr ... Warum sind @@ auf dieser Höhle ?! Wo haben Mercury ging schließlich ?!
+
+Guaaaards! Sailors! Help! We have a stowaway!
+Guaaaards! Segler! Hilfe! Wir haben einen blinden Passagier!
+
+Guard
+Bewachen
+
+Guard Amy
+Wache Amy
+
+Guard Avou
+Wache Avou
+
+Guard Benji
+Wache Benji
+
+Guard Biscop
+Wache Biscop
+
+Guard Corina
+Wache Corina
+
+Guard Defou
+Wache Defou
+
+Guard Devoir
+Wache Devoir
+
+Guard Falko
+Guard Falko
+
+Guard Froma
+Wache Froma
+
+Guard Jennifer
+Wache Jennifer
+
+Guard Jhon
+Wache Jhon
+
+Guard Laurie
+Guard Laurie
+
+Guard Malindax
+Wache Malindax
+
+Guard Maxim
+Guard Maxim
+
+Guard Moustacha
+Wache Moustacha
+
+Guard Nutelo
+Wache Nutelo
+
+Guard Philip
+Guard Philip
+
+Guard Popaul
+Wache Popaul
+
+Guard Roukin
+Wache Roukin
+
+Guard Tetric
+Wache Tetric
+
+Guard Totor
+Wache Totor
+
+Guard Valou
+Wache Valou
+
+Guard Yen
+guard Yen
+
+Guard Yuna
+Wache Yuna
+
+Guard#00301A
+
+
+Guard#012-1.1
+
+
+Guard#012-1.2
+
+
+Guard#019-2.1
+
+
+Guard#019-3.1
+
+
+Guard#lof-1
+
+
+Guard#lof-2
+
+
+Guard#lof-3
+
+
+Guard#lof-4
+
+
+Guard#lof-5
+
+
+Guard#lof-6
+
+
+Guardian
+Wächter
+
+Guardian Statue
+Wächter Statue
+
+Guardians Of Soren
+Guardians Of Soren
+
+Guardians will come to stop you, and to lock down the shrine!
+Wächter kommen Sie zu stoppen und den Schrein zu sperren!
+
+Guards use it to spar against each other on friendly matches, to see who is stronger.
+Guards verwenden, um es Holm gegeneinander auf Testspiele, um zu sehen, wer stärker ist.
+
+Guild Area ATK UP
+
+
+Guild Area Autorevive
+
+
+Guild Area CRIT UP
+
+
+Guild Area DEF UP
+
+
+Guild Area Regeneration
+
+
+Guild Blacksmith
+Guild Schmied
+
+Guild Chemistry
+Guild Chemie
+
+Guild Coin
+
+
+Guild Coin Exchange
+
+
+Guild Hall
+Guild Hall
+
+Guild Information
+Guild Informationen
+
+Guild Level is not enough: @@/@@
+Gildenstufe ist nicht genug: @@ / @@
+
+Guild Logs
+Guild Logs
+
+Guild Lv @@, @@/@@ EXP to level up
+Guild Lv @@ @@ / @@ EXP zum Level
+
+Guild Magic
+
+
+Guild Management
+Guild Verwaltung
+
+Guild Master
+Gildenmeister
+
+Guild Master: @@
+Gildenmeister: @@
+
+Guild Name: @@
+Gildenname: @@
+
+Guild Storage
+Guild Speicher
+
+Guild Vault
+Gildentresor
+
+Guild's Battle Plan
+
+
+Guild's Power
+
+
+Guinevere
+
+
+Guinevere is the King's Wife. If you talk to her, the King will be upset and will send soldiers to you.
+
+
+Gwendolyn
+Gwendolyn
+
+Gwendolyn Bowmaker
+Gwendolyn Bowmaker
+
+Gwendolyn sighs and shake her head.
+Gwendolyn seufzt und den Kopf schütteln.
+
+Gwendolyn takes an analyzing look at you. Then she nods.
+Gwendolyn nimmt bei Ihnen einen Analyse Look. Dann nickt sie.
+
+HA, HA, HA! The blacksmiths from the Land of Fire are the best from the world! There's no challenge too big for us!
+HAHAHA! Die Schmiede aus dem Land des Feuers ist das Beste aus der Welt! Es gibt keine Herausforderung zu groß für uns!
+
+HAHAHAHA! How foolish of you, didn't even bother trying to sneak in!
+HAHAHAHA! Wie dumm von dir, nicht einmal die Mühe zu schleichen in versuchen!
+
+HAHAHAHAH! Shiny as new, and stronger than ever! Have fun!
+HAHAHAHAH! Glänzend wie neu, und stärker als je zuvor! Habe Spaß!
+
+HC Crazyfefe
+
+
+HC Jak1
+
+
+HC Jesusalva
+
+
+HC LawnCable
+
+
+HC Saulc
+
+
+HIGHER!
+HÖHER!
+
+HISTORY BOOK
+GESCHICHTSBUCH
+
+HOLD THAT! I actually like to drink, and spend some drinking nights with Saulc and Crazyfefe!
+HALT DAS! Eigentlich mag ich zu trinken, und verbringen einige trinken Nächte mit Saulc und Crazyfefe!
+
+HP +500
+
+
+Had you any breakthrough?
+Haben Sie Durchbruch?
+
+Haha yes, you are right!
+Haha ja, sind Sie richtig!
+
+Haha, Nice, but how do you do that?
+Haha, Schön, aber wie macht man das?
+
+Haha, as if I believe you.
+
+
+Haha, no, I'm not! But we found traces of them.
+Haha, nein, ich bin nicht! Aber wir fanden Spuren von ihnen.
+
+Haha, this wooden figurine won't do the job, sorry.
+Haha, die hölzerne Figur wird die Arbeit nicht tun, sorry.
+
+Hahah, four gifts, neat! Can we get to 1600 boxes?
+Hahah, vier Geschenke, ordentlich! Können wir bis 1600 Kisten bekommen?
+
+Hahah, good to hear! Do you know some items are only dropped on spring? You should go after them!
+Hahah, gut zu hören! Wissen Sie, einige Elemente sind nur auf Frühling fallen gelassen? Sie sollten nach ihnen gehen!
+
+Hahah, silly, that's yourself!
+Hahah, albern, das ist selbst!
+
+Hahah, tell me another one!
+
+
+Hahaha, good luck out there, my friend!
+
+
+Hair color
+Haarfarbe
+
+Hair style
+Frisur
+
+Hairstyles.
+
+
+Halberd
+Hellebarde
+
+Half Croconut
+Halbe Krokosnuss
+
+Half Eggshell
+Halbe Eierschale
+
+Halin Guard
+Halin Wache
+
+Halin Warp Crystal
+Halin Warp-Kristall
+
+Halinarzo
+Halinarzo
+
+Halinarzo (@@m)
+Halinarzo (@@ m)
+
+Halinarzo - @@ GP
+Halinarzo - @@ GP
+
+Halinarzo Church makes a party every Sunday! Only true believers are invited!
+Halinarzo Kirche macht eine Party jeden Sonntag! Es werden nur die wahren Gläubigen eingeladen!
+
+Halinarzo Mines
+Halinarzo Mines
+
+Halinarzo Office
+Halinarzo Büro
+
+Halinarzo Route
+Halinarzo Strecke
+
+Halinarzo Townhall
+Halinarzo Townhall
+
+Halinarzo is a *hic* level 50 area. So please *hic* be careful!
+Halinarzo ist ein * hicks * Level 50 Bereich. Also bitte * hicks * Vorsicht!
+
+Halinarzo lies past the Canyon, but the @@ there are level @@.
+Halinarzo liegt hinter dem Berg, aber die @@ gibt es Pegel @@.
+
+Halinarzo people are very poor, but we have our resources...
+Halinarzo Menschen sind sehr arm, aber wir haben unsere Ressourcen ...
+
+Halinarzo was founded to explore Mana Stones.
+Halinarzo wurde gegründet Mana Stone zu erkunden.
+
+Halinarzo's Nurse
+Halinarzo Krankenschwester
+
+Hall Of AF King
+Hall Of AF König
+
+Hall Of Academics
+
+
+Hall Of Base Level
+Hall Of Base Level
+
+Hall Of Candor Bloodbath
+
+
+Hall Of Ched
+Hall Of Ched
+
+Hall Of Crazyfefe Battle
+Hall Of Crazyfefe Schlacht
+
+Hall Of Deaths
+
+
+Hall Of Doppelganger Arena
+Hall Of Doppelgänger Arena
+
+Hall Of Fame
+Ruhmeshalle
+
+Hall Of Fortune
+Hall Of Fortune-
+
+Hall Of GM Commands
+Hall Of GM Befehle
+
+Hall Of Guilds
+Halle der Gilden
+
+Hall Of Honor
+
+
+Hall Of Job Level
+Hall Of Karrierelevel
+
+Hall Of Strange Coins
+Hall Of Seltsame Münzen
+
+Hall of Sponsors
+Hall of Sponsors
+
+Halt! Beyond this gate, is the Great River and the Eternal Swamps.
+Halt! Hinter diesem Tor ist der große Fluss und die ewigen Sümpfen.
+
+Happy %s!
+
+
+Happy Easter!
+Frohe Ostern!
+
+Hard
+
+
+Hard Spike
+harter Spike
+
+Harper
+
+
+Harry
+
+
+Hasan
+Hasan
+
+Hasan takes your print screen and analyzes it.
+Hasan nimmt Ihre Druckbild und analysiert sie.
+
+Haste Potion
+Haste Potion
+
+Have Maggot Slimes, Bug Legs, Mauve Herbs and Money, lots of them.
+Haben Maggot Schleime, Käfer Beine, Mauve Kräuter und Geld, viele von ihnen.
+
+Have a good day!
+Hab einen schönen Tag!
+
+Have a good day, then.
+Haben Sie einen guten Tag, dann.
+
+Have a good time fishing!
+Viel Spaß beim Angeln!
+
+Have a nice @@ day!
+Einen schönen Tag noch!
+
+Have a nice day!
+Einen schönen Tag noch!
+
+Have a warm cup of Coffee on the house, and enjoy!
+Haben Sie eine warme Tasse Kaffee auf Kosten des Hauses und genießen Sie!
+
+Have fun!
+
+
+Have no idea where in the world you are? Or what a certain foe drops, or if you should even dare to challenge it?
+
+
+Have the pirates been routed? Will they return?
+
+
+Have you already talked to our captain? He should be downstairs waiting for you!
+Haben Sie schon unseren Kapitän gesprochen? Er sollte für Sie wartet unten sein!
+
+Have you been fiddling with time? Anyway, this is not a disease, but a ##Bcomplex curse##b.
+
+
+Have you been harming the forest? Specially Mouboos. Are you killing them?
+Waren Sie schon in den Wald zu schädigen? Speziell Mouboos. Töten Sie sie?
+
+Have you brought me some %s?
+
+
+Have you came here to rescue me?
+Haben Sie kamen, um mich hier zu retten?
+
+Have you cried enough?
+Haben Sie genug geweint?
+
+Have you ever felt stuck? Lost? Didn't know about a quest, or an item is troubling you?
+
+
+Have you ever heard of the [@@http://landoffire.org/|Land Of Fire@@]? It is a really cool game which is being developed by Pyndragon and Pihro!
+Haben Sie schon einmal von der hörte [@@ http: //landoffire.org/ | Land Of Fire @@]? Es ist ein wirklich cooles Spiel, das von Pyndragon und Pihro entwickelt wird!
+
+Have you ever met our Queen Lilit? She is lovely but hates @@ for some reason...
+Haben Sie schon einmal unsere Königin Lilit getroffen? Sie ist sehr schön, aber Hasse @@ aus irgendeinem Grund ...
+
+Have you found Tulimshar's Secret Beach yet? Tulimshar is full of secrets. Some NPCs which only say hi may say something else depending on your level or insistence.
+Haben Sie festgestellt Tulimshar Secret Beach abgegeben? Tulimshar ist voller Geheimnisse. Einige NPCs, die nur sagen, hallo sagen kann etwas anderes, abhängig von Ihrem Niveau oder Beharren.
+
+Have you found out magic already? It should not be possible, but the girl reading the book says it is. I don't know in what to believe.
+Haben Sie Magie aus bereits gefunden? Es sollte nicht möglich sein, aber das Mädchen das Buch zu lesen, sagt sie. Ich weiß nicht, was zu glauben.
+
+Have you got mad? That's too much, it's like you are trying to be perfect! No way I'll help you!
+Haben Sie verrückt? Das ist zu viel, es ist wie Sie versuchen, perfekt zu sein! Auf keinen Fall werde ich Ihnen helfen!
+
+Have you managed to transmute the @@ I asked for?
+Haben Sie für die @@ ich gebeten, zu verwandeln verwaltet?
+
+Have you seen my brother %s?
+
+
+Have you seen my sister Elza?
+
+
+Have you talked to Peetu co-workers about their opinion yet?
+Haben Sie noch Peetu Mitarbeiter über ihre Meinung gesprochen?
+
+Have you thought on my proposal? I'll only charge you %d GP or a %s for each attempt made.
+
+
+Have you visited the mines already? Tycoon is in charge of the security operations in there. He might need your help more than I do.
+Haben Sie die Minen bereits besucht? Tycoon ist verantwortlich für die Sicherheitsoperationen in dort. Er könnte Ihre Hilfe mehr brauchen als ich.
+
+Having magic power is useless by itself, so you must visit the Academy. I guess that involves approval and acknowledgment of the Mage Council that you are a mage!
+Zauberkraft zu haben, ist nutzlos für sich, so dass Sie die Akademie besuchen müssen. Ich denke, dass die Genehmigung und Anerkennung des Mage Rat beinhaltet, dass Sie ein Magier sind!
+
+He died, but I plan in fulfilling his will. I can give you training for that, and teach you how to fight properly.#0
+
+
+He died, but I plan in fulfilling his will. I can give you training for that, and teach you how to fight properly.#1
+
+
+He dislikes Talpans like you. The Mana Source chained him in ancient times, though, so the Talpans could flourish.
+
+
+He guards what you call "monsters", but he favor Mouboos. He is possibly the oldest of the Originals.
+
+
+He is blaming himself and is afraid of losing his job.
+Er ist selbst Schuld und hat Angst vor seinen Job zu verlieren.
+
+He is by far the most powerful, and has a few chosen ones to whom he granted what we call "SQL Magic". Everyone envies power, so there's the imitation of that, "GM Magic", but unrelated to Mr. Saves.
+
+
+He is in the process of making a figurine made of bug leg.
+Er ist dabei, eine Figur zur Herstellung von Bug Beine gemacht.
+
+He is my grand-grand-grandfather! The might Kfahr, with his friend Braknar, and heroes from Tulimshar legends.
+Er ist mein Enkel Urgroßvater! Die Macht Kfahr, mit seinem Freund Braknar und Helden aus Tulimshar Legenden.
+
+He is not alive anymore, so only a single bow of those exist in the whole world... That is why we call it a
+Er ist nicht mehr am Leben, so dass nur ein einziger Bogen jener exist in der ganzen Welt ... Aus diesem Grunde nennen wir es ein
+
+He is strong though, so keep your party together!
+
+
+He is the Miners leader.
+Er ist der Miners Führer.
+
+He just abandoned this place and left everything behind... It's suspicious at best. You don't think anyone will be able to decrypt the secrets of Artificial Lifeforms.
+Er gibt nur diesen Ort und links alles hinter ... Es ist verdächtig am besten. Sie glauben doch nicht jeder in der Lage sein wird, die Geheimnisse der künstlichen Lebensformen zu entschlüsseln.
+
+He laughs heartily and gives you a slap on the back.
+Er lacht herzlich und gibt Ihnen einen Schlag auf den Rücken.
+
+He looks displeased and destroys the fur.
+Er sieht unzufrieden und zerstört das Fell.
+
+He looks pleased.
+Er sieht zufrieden.
+
+He never touched the Soul Menhir... He died... For real...
+Er hat nie die Seele Menhir ... berührt Er starb ... Für echte ...
+
+He should be crying in the far northeast corner of this library. Can you go there to see him?
+Er sollte in der äußersten Nordosten Ecke der Bibliothek, weint. Können Sie es gehen, um ihn zu sehen?
+
+He thinks he is using me to his rebellion, but I'm the one using him. I'm not the Bandit Lord for no reason.
+Er denkt, dass er mit mir zu seiner Rebellion, aber ich bin diejenige, die ihn verwenden. Ich bin nicht der Bandit Herr ohne Grund.
+
+He usually guards a central position on the caves... He could help you, if he is there.
+Er bewacht in der Regel eine zentrale Position auf den Höhlen ... Er könnte Ihnen helfen, wenn er da ist.
+
+He was looking around in the library a while, and then came to ask about our research. He seemed to be particularly interested in our experiments with the slimes.
+Er wurde in der Bibliothek eine Weile schaut sich um, und dann kam über unsere Forschungsarbeit zu fragen. Er schien vor allem mit den Schleimen in unseren Experimenten interessiert.
+
+He will summon allies if he think you have the upper hand. So take care if you are going ranged.
+Er wird Verbündeten rufen, wenn er denkt, dass Sie die Oberhand haben. Also vorsichtig sein, wenn Sie lag im Bereich gehen.
+
+He's an *hic* hermit, and collects *hic* Bat teeth and wings... Tell me how many he collected!
+Er ist ein * hicks * Einsiedler und sammelt * hicks * Bat Zähne und Flügel ... Sag mir, wie viele er gesammelt!
+
+He's holding a fishing rod, while gazing out at the sea.
+Während er auf das Meer starrt, hält er eine Angel fest in seiner Hand.
+
+Head Hood
+
+
+Headgear
+Kopfbedeckung
+
+Heal Card
+Heilungs-Karte
+
+Healing
+Heilung
+
+Healing Recipes
+Heilung Rezepte
+
+Heals in area every friendly unit (incl. homuns and mercs). Req. Lifestone to cast.
+
+
+Hear me *hic* well, what ever, whatididever you will *hic* said ab... uhm... out what?! You saw there, the Guild won't let it get public.
+Hören Sie mich hic * * gut, was auch immer, whatididever Sie * hicks * sagte ab ... ähm ... was ?! Sie sah es, die Gilde wird nicht zulassen, es öffentlich zu bekommen.
+
+Hear you? How do you even know he can understand you?!#1
+
+
+Hear you? How do you even know she can understand you?!#0
+
+
+Heart Glasses
+Herzbrille
+
+Heart Necklace
+Herz Halskette
+
+Heart Of Isis
+Heart Of Isis
+
+Heh, I wonder what he would've said if he'd have visited us a little bit later. Mh, now that I think about it, the accident with the slimes happened just the night after he was here.
+Heh, ich frage mich, was er gesagt hat, wenn er uns eine wenig später besucht haben würde. Mh, jetzt, wo ich darüber nachdenke, geschah der Unfall mit den Schleimen nur die Nacht, nachdem er hier war.
+
+Heh, congratulations making it this far. Once again, allow me to present myself:
+
+
+Heh, thanks %s. Here's some money.
+
+
+Heh, there is death penalty outside the town. You better watch out. The mobs are on a foul mood today, very easy to get killed.
+Heh, gibt es Todesstrafe außerhalb der Stadt. Pass bloß auf. Die Mobs sind auf schlechte Laune heute, sehr einfach getötet werden.
+
+Heh. Fair enough.
+Heh. Meinetwegen.
+
+Heh. Foolish. That's what adventurers are, I guess...
+Heh. Dumm. Das ist, was Abenteurer sind, denke ich ...
+
+Hehe, hehe. Well, come back if you change your mind.
+Hahaha. Komm einfach zurück, wenn du deine Meinung änderst.
+
+Hehe... Some material... %%5
+
+
+Hehehe... A pleasure doing business with you!
+
+
+Hehehe... Thanks. Here, take these %s Monster Points... This exchange has never happened.
+
+
+Helena
+Helena
+
+Helena's Teammate
+Helena Teamkollege
+
+Helios Boots
+Helios Stiefel
+
+Hello
+Hallo
+
+Hello %s and welcome to Land Of Fire Village. This used to be a whole server before the Monster King crashed it down here.
+Hallo% s und willkommen zu Land Of Fire Dorf. Dies ist einmal ein ganzer Server vor dem Monster sein König es hier abgestürzt.
+
+Hello %s.
+
+
+Hello %s. What brings you here?
+
+
+Hello @@! Do you have some @@ with you?
+Hallo @@! Haben Sie etwas @@ mit Ihnen?
+
+Hello @@, may I interest you in a copy of the Gazette? It's only 1 GP!
+Hallo @@, kann ich Ihnen in einer Kopie der Gazette interessieren? Es ist nur 1 GP!
+
+Hello Adventurer!#0
+
+
+Hello Adventurer!#1
+
+
+Hello Adventurer.
+
+
+Hello Ms. Eomie, kind sir Anwar sent me to fetch some fertilizers to save Tulimshar from famine, if you may?
+Hallo Frau Eomie, lieber Herr Anwar schickte mir einige Düngemittel zu holen Tulimshar von Hunger zu retten, wenn Sie können?
+
+Hello Peetu.
+Hallo Peetu.
+
+Hello adventurer! Are you lost?#0
+
+
+Hello adventurer! Are you lost?#1
+
+
+Hello adventurer, what may this humble minstrel do for you today?
+Hallo Abenteurer, was kann dieses bescheidene Minnesänger für Sie tun heute?
+
+Hello adventurer. Are you interested in the Heroes Hold, or in the Call Of Dusty?
+Hallo Abenteurer. Sind Sie in den Helden interessiert HALTEN oder im Call Of Dusty?
+
+Hello again can you give you give me some tentacles.
+Hallo wieder können Sie geben Sie mir ein paar Tentakel.
+
+Hello darling. The Alliance sucks, but don't tell anyone I told you that.
+Hallo Schatz. Die Allianz saugt, aber nicht weitersagen Ich habe dir gesagt, dass.
+
+Hello darling.#0
+
+
+Hello darling.#1
+
+
+Hello dear!#0
+Hallo Schatz!
+
+Hello dear!#1
+Hallo Schatz!
+
+Hello do you want to play rock scissors paper?
+Hallo wollen Sie Rock Schere Papier spielen?
+
+Hello little kid. Watch out, there's a maggot behind you %%a !
+
+
+Hello my friend! I see you've brought your @@ with you this time!
+Hallo, mein Freund! Ich sehe, Sie haben Ihre @@ mit Ihnen diesmal gebracht!
+
+Hello my friend! Need my help?#0
+
+
+Hello my friend! Need my help?#1
+
+
+Hello my friend!#0
+
+
+Hello my friend!#1
+
+
+Hello my friend.
+Hallo, mein Freund.
+
+Hello my friend. Thanks for slaying the rogue Yetis.
+Hallo, mein Freund. Vielen Dank für die Schurken Yeti Erschlagen.
+
+Hello my hero!#0
+
+
+Hello my hero!#1
+
+
+Hello player, do you want to participate on HUNGRY QUIRIN event?!
+Hallo Spieler, sind Sie auf HUNGRIGER QUIRIN Veranstaltung teilnehmen wollen ?!
+
+Hello there pretty fountain, what about granting me magic?
+Hallo dort ziemlich Brunnen, was ist mit mir Magie gewähren?
+
+Hello there! I am a constable. I keep law and order here.
+Hallo! Ich bin ein Constable. Ich behalte Recht und Ordnung hier.
+
+Hello there! I make bullets for the weapons my friend Pyndragon makes.
+Hallo! Ich mache Kugeln für die Waffen mein Freund Pyndragon macht.
+
+Hello there! I'm Jack, the Lumberjack, and enemy of all trees. If you need some firewood, just let me know.
+Hallo! Ich bin Jack, der Lumberjack, und Feind aller Bäume. Wenn Sie etwas Brennholz benötigen, lassen Sie es mich wissen.
+
+Hello there, @@ the @@.
+Hallo, @@ die @@.
+
+Hello there, I am %s and I change item options, can I help you today?
+
+
+Hello there, I am @@, blacksmith of this fine city. What do you want to forge today?
+Hallo, ich bin @@, Schmied dieser schönen Stadt. Was möchten Sie heute schmieden?
+
+Hello there, I am Lilanna and you are in ANISE INC. headquarters.
+Hallo, ich bin Lilanna und Sie sind in ANISE INC. Hauptsitz.
+
+Hello there, darling.#0
+
+
+Hello there, darling.#1
+
+
+Hello there. Do you want to donate blood?
+Hallo. Wollen Sie Blut spenden?
+
+Hello there. I am looking for strong people, but you are not strong enough.
+Hallo. Ich suche starke Leute, aber sie sind nicht stark genug.
+
+Hello there. My name is %s.
+Hallo. Mein name ist S.
+
+Hello winged friend! How is the wind today?
+Hallo geflügelten Freund! Wie ist der Wind heute?
+
+Hello!
+Hallo!
+
+Hello! Anwar sent me to get fertilizer to save Tulimshar from famine, could you help me?
+Hallo! Anwar schickte mir Dünger zu speichern Tulimshar von Hunger zu bekommen, könnten Sie mir helfen?
+
+Hello! Calm wind today!
+Hallo! Windstille heute!
+
+Hello! Could I see the Mayor?
+Hallo! Kann ich den Bürgermeister sehen?
+
+Hello! Do you need help?
+Hallo! Brauchst du Hilfe?
+
+Hello! How can I help you?
+
+
+Hello! I am @@, and I take care of Tulimshar forge. I usually make ingots from various materials. So, what do you want today?
+Hallo! Ich bin @@, und ich kümmere mich um Tulimshar Schmiede. Ich mache in der Regel Blöcke aus verschiedenen Materialien. Also, was wollen Sie heute?
+
+Hello! I am Aurora, and I oversee the %s!
+
+
+Hello! I am Cassia, Ambassator. During the Monster War outbreak, Halinarzo was almost entirely destroyed.
+Hallo! Ich bin Cassia, Botschafter. Während des Monster War Ausbruch wurde Halinarzo fast vollständig zerstört.
+
+Hello! My name is Kenton, and I'm in charge of Public Affairs of Land Of Fire.
+Hallo! Mein Name ist Kenton, und ich bin verantwortlich für Public Affairs von Feuerland.
+
+Hello! Welcome to the Inn! I am an Alliance officer, and I oversee gambling all over the world!
+
+
+Hello! Would you like to try some piou delicacies?
+
+
+Hello! You seem strong enough, could take a request from me? Of course, not for free.
+Hallo! Sie scheinen stark genug, eine Anfrage von mir nehmen könnte? Natürlich nicht kostenlos.
+
+Hello, %s! Congratulations for finishing the %s!
+
+
+Hello, %s.
+
+
+Hello, @@!
+Hallo, @@!
+
+Hello, @@! We are proud to announce the @@ RESULTS!
+Hallo, @@! Wir sind stolz, die @@ bekannt zu geben!
+
+Hello, @@! We just looked up and found out you that you were affected on a Valentine Event bug!
+Hallo, @@! Wir haben uns nur auf und fand heraus, dass Sie auf einem Valentine Event-Bug betroffen waren!
+
+Hello, @@! We just looked up and found out you were active during 2018-12-29!
+Hallo, @@! Wir haben uns nur auf und fand heraus, die Sie während 2018.12.29 aktiv waren!
+
+Hello, @@.
+Hallo, @@.
+
+Hello, @@. Thanks for helping me.
+Hallo, @@. Danke für die Hilfe.
+
+Hello, I act on the Alliance's behalf.
+Hallo, ich handle auf der Allianz Namen.
+
+Hello, I am B-@@, of the @@ order.
+Hallo, ich bin B - @@, der @@ um.
+
+Hello, I am G-@@, of the @@ order.
+Hallo, ich bin G - @@, der @@ um.
+
+Hello, I am K-@@, of the @@ order.
+Hallo, ich bin K - @@, der @@ um.
+
+Hello, I am T-@@, of the @@ order.
+Hallo, ich bin T - @@, der @@ um.
+
+Hello, I am a sword to hire, a Mercenary Trainer and Chief.
+Hallo, ich bin ein Schwert zu mieten, ein Söldner Trainer und Chief.
+
+Hello, I am your local silversmith, here for all of your smithing needs!
+Hallo, ich bin dein lokaler Silberschmied, hier für alle Ihre Bedürfnisse smithing!
+
+Hello, I noticed my dear friend, Susanne, asked you to help us save my sisters; do not forget to ask Susanne where the Fafi Dragon was last seen.
+Hallo, ich merkte, dass mein lieber Freund, Susanne, fragte man uns speichern meine Schwestern zu helfen; vergessen Sie nicht, Susanne zu fragen, wo die Fafi Drachen zuletzt gesehen wurde.
+
+Hello, I'm Pylon!
+Hallo, ich bin Pylon!
+
+Hello, I'm looking for bandit hoods!
+Hallo, ich bin auf der Suche nach Banditen Hauben!
+
+Hello, I'm new here! Can I help you?
+Hallo, ich bin neu hier! Kann ich Ihnen helfen?
+
+Hello, Lua told me she booked a room for me.
+
+
+Hello, What a lovely day for a stroll.
+Hallo, Was für ein schöner Tag für einen Spaziergang.
+
+Hello, and welcome to Blue Sage's Residence, Library, and Nivalis Townhall.
+Hallo und Willkommen zu Blue Sage Residenz, Bibliothek und Nivalis Rathaus.
+
+Hello, and welcome to Frostia bounty hunter guild.
+
+
+Hello, and welcome to TMW2: Moubootaur Legends!
+Hallo und willkommen zu TMW2: Moubootaur Legends!
+
+Hello, and welcome to Tulimshar Inn.
+
+
+Hello, and welcome to the Magic Academy.
+
+
+Hello, and welcome to the Magic School of Tulimshar.
+Hallo und willkommen auf der Magic School of Tulimshar.
+
+Hello, and welcome to the Tulimshar guard house.
+
+
+Hello, could I help you in exchanger of fertilizer?
+Hallo, ich könnte Ihnen helfen, im Austauscher von Dünger?
+
+Hello, darling!
+Hallo Schatz!
+
+Hello, darling. I was thinking in doing a tea party.#0
+
+
+Hello, darling. I was thinking in doing a tea party.#1
+
+
+Hello, dear! I love @@, could you bring me some? They're sooooo sweet and delicious!#0
+
+
+Hello, dear! I love @@, could you bring me some? They're sooooo sweet and delicious!#1
+
+
+Hello, did you come from Tulimshar? Because you have a nice tan.
+Hallo, bist du gekommen aus Tulimshar? Weil Sie eine schöne Bräune haben.
+
+Hello, hello! It's great to see you. Maybe you can help me with a little problem I have.
+Hallo Hallo! Es ist schön Sie zu sehen. Vielleicht können Sie mir mit einem kleinen Problem helfen ich habe.
+
+Hello, madam!#0
+
+
+Hello, my name is Mahid, and this well belongs to me!
+Hallo, mein Name ist Mahid, und das auch gehört mir!
+
+Hello, new wanderer!#0
+
+
+Hello, new wanderer!#1
+
+
+Hello, sir!#1
+
+
+Hello, wanderer! Welcome to Tulimshar.#0
+
+
+Hello, wanderer! Welcome to Tulimshar.#1
+
+
+Hello, wanderer!#0
+
+
+Hello, wanderer!#1
+
+
+Hello, who are you?
+Hallo wer bist du?
+
+Hello, young boy...#1
+
+
+Hello, young girl...#0
+
+
+Hello.
+Hallo.
+
+Hello. Ah, bad luck. I am three days without fishing a single carp.
+Hallo. Ah, Pech. Ich bin drei Tage ohne einen einzigen Karpfen zu fischen.
+
+Hello. Did you come here to see the library? There isn't much left... But we're working on recovering the books by collecting the ripped out book pages, sorting them and recreating the books.
+Hallo. Kommst du hier die Bibliothek zu sehen? Es ist nicht mehr viel übrig ... Aber wir arbeiten die Bücher auf Wiederherstellung durch die herausgerissen Buchseiten zu sammeln, sortieren sie und die Bücher neu zu erstellen.
+
+Hello. I am @@, and I am from a family of travellers. We travel though the whole world, looking for exotic goods.
+Hallo. Ich bin @@, und ich komme aus einer Familie von Reisenden. Wir reisen durch die ganze Welt, für exotische Waren suchen.
+
+Hello. I am Emma, Enrique's wife.
+
+
+Hello. I am Enrique, headmaster of The Academy.
+
+
+Hello. I am the book keeper, responsible for keeping Halinarzo History.
+Hallo. Ich bin der Buchhalter, verantwortlich für Halinarzo Geschichte zu halten.
+
+Hello. I am the instructor assigned to the magic range training field.
+
+
+Hello. I know the secrets of the legendary @@.
+Hallo. Ich kenne die Geheimnisse des legendären @@.
+
+Hello. I was assigned to guard the ranged training grounds of the mystic forest.
+
+
+Hello. My name is Erik, and I have Homunculus go out in errands in my stead.
+Hallo. Mein Name ist Erik, und ich habe Homunculus in Besorgungen an meiner Stelle gehen.
+
+Hello. Take care with the Mountain Snakes, they're highly poisonous!
+Hallo. Achten Sie darauf, mit den Berg Schlangen, sie sind sehr giftig!
+
+Helmet Recipes
+Helm Rezepte
+
+Help controlling their population, and return those you fish to Aurora!
+
+
+Help the distressed woman to save her daughter? ALL PLAYERS are penalized with failures.
+Helfen Sie die beunruhigte Frau, die ihre Tochter zu retten? Alle Spieler sind mit einem Defekt bestraft.
+
+Henriikka
+Henriikka
+
+Henry
+
+
+Henry gave something to drink.
+
+
+Herb Fields
+Herb Felder
+
+Here are EXTREMELY VALUABLE warp crystals, and the *hic* fabled return potions.
+Hier sind äußerst wertvolle Kette Kristalle, und die * hicks * sagenumwobene Rückkehr Tränke.
+
+Here are the Antennas.
+Hier sind die Antennen.
+
+Here are the Pinkie Legs.
+Hier sind die Pinkie Beine.
+
+Here are two @@. Please deliver it to them. I hope they'll like it.
+Hier sind zwei @@. Bitte liefern es ihnen. Ich hoffe, sie werden es mögen.
+
+Here is 1000 GP for your efforts. Thanks for making Hurnscald a better place to live.
+Hier ist 1000 GP für Ihre Bemühungen. Danke dafür, dass Hurnscald zu einem besseren Ort zu leben.
+
+Here is 2000 GP for your efforts. Thanks for making Hurnscald a better place to live.
+Hier ist 2000 GP für Ihre Bemühungen. Danke dafür, dass Hurnscald zu einem besseren Ort zu leben.
+
+Here is a reward for your effort! Now you can be a true buccaneer!
+Hier ist eine Belohnung für Ihre Bemühungen! Jetzt können Sie ein echter Freibeuter sein!
+
+Here is a safe haven for we who don't fight. There are no monsters, and the Mouboo watches over us.
+Hier ist ein sicherer Hafen für die wir kämpfen nicht. Es sind keine Monster, und die Mouboo wacht über uns.
+
+Here is one.
+
+
+Here is the @@, like my armor, and one of the best for rangers.
+Hier ist die @@, wie meine Rüstung, und einer der besten für Ranger.
+
+Here is the bug bomb! Eomie just gave me. Hurry up!
+Hier ist der Fehler Bombe! Eomie gab mir nur. Beeile dich!
+
+Here is your powder! I hope it will be useful.
+Hier ist Ihr Pulver! Ich hoffe, dass es nützlich sein wird.
+
+Here it is, clean like a whistle!
+Hier ist es, blitzeblank und glänzend!
+
+Here it is, miss.#0
+
+
+Here it is, mister.#1
+
+
+Here it is. Come back to report the results.
+Hier ist es. Kommen Sie zurück, um die Ergebnisse zu berichten.
+
+Here it is. Take care with it!
+Hier ist es. Achten Sie darauf, mit ihm!
+
+Here kid. Frostia, the elf town, is somewhere near here, but I'm not sure if you can reach it from here.
+Hier Kind. Frostia, die Elf Stadt, ist irgendwo in der Nähe von hier, aber ich bin nicht sicher, ob Sie es von hier aus erreichen.
+
+Here lies a diary, presumably from Fefe.
+
+
+Here they are miss!
+Hier sind sie vermissen!
+
+Here they are!
+Hier sind sie!
+
+Here they are, miss!
+Hier sind sie nun, Chance vertan!
+
+Here they are, miss.#0
+
+
+Here they are, mister.#1
+
+
+Here we have a squall from @@.
+Hier haben wir eine Bö von @@.
+
+Here you are!
+Hier sind Sie ja!
+
+Here you are, you won't find a dye more yellow than this!
+
+
+Here you can find professors, academics and researchers. Feel free to enroll in any class as well.
+
+
+Here you go - have fun with it.
+Hier gehen Sie - viel Spaß mit ihm.
+
+Here you go!
+Bitte schön!
+
+Here you go! Anything else?
+Bitte schön! Noch etwas?
+
+Here you go! Happy easter! Bhop bhop!
+Bitte schön! Frohe Ostern! Bhop BHOP!
+
+Here you go! Wasn't this a sweet deal?
+
+
+Here you go, I tried my best! Do you want another?
+Hier gehen Sie, habe ich versucht, mein Bestes! Möchtest du ein weiteres?
+
+Here you go, a brand new crystal. I'll fix the old one on the meanwhile. Take care of it.
+Hier gehen Sie, eine brandneue Kristall. Ich werde die alten auf der Zwischenzeit beheben. Passe darauf auf.
+
+Here you go, anything else?
+Hier gehen Sie, etwas anderes?
+
+Here you go, everything is fixed.
+Bitteschön. Alles ist repariert.
+
+Here you go, fresh from the oven!
+Hier gehen Sie, frisch aus dem Ofen!
+
+Here you go, miss! Thanks for being my hero! <3#0
+
+
+Here you go, mister! Thanks for being my hero! <3#1
+
+
+Here you go, my friend! Please enjoy!#0
+
+
+Here you go, my friend! Please enjoy!#1
+
+
+Here you go, my friend. Uhm, good luck with archery.
+Hier gehen Sie, mein Freund. Uhm, viel Glück mit Bogenschießen.
+
+Here you go, thanks for doing my SECRET quest! Eh, not much to do here. But I like life this way.
+Hier gehen Sie, vielen Dank für meine SECRET Quest zu tun! Eh, nicht viel zu tun. Aber Ich mag das Leben auf diese Weise.
+
+Here you go. Handle it with caution.
+Bitte schön. Behandeln Sie es mit Vorsicht zu genießen.
+
+Here you go. Perhaps you need another one?
+
+
+Here you go. Please enjoy and thanks for making this town better to live. Maybe one day the snakes leave ^.^
+Bitte schön. Genießen Sie und Dank für die Herstellung dieser Stadt besser zu leben. Vielleicht lassen einen Tag der Schlangen ^. ^
+
+Here you go. Please, keep fighting and growing strong. Improving oneself is... Damn, I forgot the proverb.
+
+
+Here you go. Uhm, I really prefer if you buy with Rosen, though.
+Bitte schön. Uhm, ziehe ich es wirklich, wenn Sie mit Rosen kaufen, though.
+
+Here you go; See you later!
+
+
+Here's some gold for your efforts.
+Hier einige Gold für Ihre Bemühungen.
+
+Here's what I need:
+Hier ist, was ich brauche:
+
+Here's your reward!
+Hier ist deine Belohnung
+
+Here's your sword, novice. Now go kill monsters.#0
+
+
+Here's your sword, novice. Now go kill monsters.#1
+
+
+Here, I did this @@ for you! I'm pretty sure this is also a drop, but that's literally everything I could do for helping my husband.
+Hier habe ich diesen @@ für Sie! Ich bin mir ziemlich sicher, dass dies auch ein Tropfen, aber das ist buchstäblich alles, was ich für die Hilfe meines Mannes tun konnte.
+
+Here, I have a candy!
+Hier habe ich eine Süßigkeit!
+
+Here, I'll give you a Mercenary Box. Open it, get the mercenary card, and summon it when needed. You absolutely CANNOT let the Professor be assassinated!
+
+
+Here, all yours. Ah, if I still could walk... I would hunt those annoying squirrels myself!
+Hier werden alle Ihre. Ach, wenn ich könnte noch gehen ... Ich würde die lästigen Eichhörnchen mich jagen!
+
+Here, all yours. I can't use them like I am now. Thank you.
+Hier werden alle Ihre. Ich kann sie nicht verwenden, wie ich jetzt bin. Vielen Dank.
+
+Here, come talk to me, the Magic Arpan! I'll help you get dressed.
+Hier kommen mit mir reden, die Magie Arpan! Ich werde Ihnen helfen, anziehen.
+
+Here, lemme tell you something good: Do you know that fortress island which all the adventurers are talking about nowadays?
+
+
+Here, look at how it is done. Focus. You can use it to convert a @@ into a @@, but not the other way around, for example.
+Hier sehen Sie, wie es gemacht wird. Fokus. Sie können es verwenden, um einen @@ in einen @@, aber nicht umgekehrt zum Beispiel zu konvertieren.
+
+Here, please take this to them. Tell them they are welcome here anytime! %%2
+
+
+Here, sparking new! Nice!!
+Hier Funken neu! Nett!!
+
+Here, take as much as you need, I have plenty!
+Hier, wie viel nehmen, wie Sie brauchen, ich habe viel!
+
+Here, take it. If the mana goes out of your body, I'll have your class master to return the book to me.
+Hier nimm es. Wenn das Mana des Körpers geht, werde ich Ihre Klasse Meister haben mir das Buch zurück.
+
+Here, take the Elixir. Please, bring it to my wife! I am counting on you!!
+Hier, nimm das Elixier. Bitte, bringen Sie es zu meiner Frau! Ich zähle auf dich!!
+
+Here, take the reward as promised!
+Hier nehmen Sie die Belohnung, wie versprochen!
+
+Here, take this %s and these %s and good luck!
+
+
+Here, take this @@ - you deserve it! And here is 200 GP to buy a better weapon.
+Hier, nimm diese @@ - Sie verdienen es! Und hier ist 200 GP eine bessere Waffe zu kaufen.
+
+Here, take this @@ - you deserve it! And here is some gold and experience.
+Hier, nimm diese @@ - Sie verdienen es! Und hier ist etwas Gold und Erfahrung.
+
+Here, take this @@. It will be better suited!
+Hier nimm das @@. Es wird besser geeignet!
+
+Here, take this @@. This is the proof that you've helped Hurnscald greatly. This shall open new opportunities to you.
+Hier nimm das @@. Dies ist der Beweis, dass man Hurnscald sehr geholfen hat. Dies gilt eröffnet neue Möglichkeiten für Sie.
+
+Here, take this pair of boots as a reward!
+Hier, nimm dieses Paar Stiefel als Belohnung!
+
+Here, take this reward. Good luck. %%1
+
+
+Here, thanks to the oil, this string is very sturdy. You better not keep it on your inventory. Good luck!
+Hier dank das Öl ist diese Saite sehr robust. Sie besser halten es nicht auf Ihrem Inventar. Viel Glück!
+
+Here, you can have a glass.
+Hier können Sie ein Glas haben.
+
+Here, you can have the partly unobtainable items reserved to developers and contributors. And, uh, these NPC-only items, don't let developers know I gave you this. It'll be our little secret!
+
+
+Here, you can have this one!
+Hier können Sie diesen haben!
+
+Here, you can have this souvenir.
+
+
+Here, you can have this spare one. Hahah! Crafting is an art, and I help teaching it. Just be sure to don't lose it, you will NEVER get another copy EVER again, was I clear?!
+Hier können Sie diesen Ersatz eine haben. Hahah! Crafting ist eine Kunst, und ich Hilfe Lehre es. Nur sicher sein, nicht zu verlieren, werden Sie nie wieder eine andere Kopie bekommen, war ich klar ?!
+
+Here, you can have this, token of my appreciation.
+
+
+Here. You know that milking Mouboos won't cause them harm, right? It's a different story with @@.
+Hier. Sie wissen, dass das Melken Mouboos nicht sie Schaden anrichten, nicht wahr? Es ist eine andere Geschichte mit @@.
+
+Herein also lies Raid Yahoo, enemy of manakind and nemesis of Saul, the one hated by many and loved by few, greedy mana stone collector, but who still opposed to the Monster King and lost her life for it.
+
+
+Herein lies Fefe, for his great bravure and heroic deeds, savior of our realm, valiantly defeated in combat against the Monster King, may the mana shine upon him forever.
+
+
+Hero Card
+Held-Karte
+
+Hero Card S
+
+
+Hero Card X
+
+
+Hero Coin
+Held Münze
+
+Hero Statue
+Held Statue
+
+Hero Statue#012-1
+
+
+Hero Statue#027-1
+
+
+Hero#0
+
+
+Hero#1
+
+
+Hero:
+Held:
+
+Heroes Hold
+Helden Halten
+
+Heroes Hold - Exchange Hall
+Helden halten - Austausch Halle
+
+Hesitant, you reach out your hand, and grab whatever was on the Cauldron. It seems to be an Embryo.
+Zögerlich, können Sie Ihre Hand ausstrecken, und greifen, was auch immer auf dem Kessel war. Es scheint ein Embryo zu sein.
+
+Hey %s, I was informed about your arrival. You are here, good!
+
+
+Hey %s, could you do me a little favor?
+
+
+Hey @@! You haven't talked to me yet!
+
+
+Hey do you have a second?
+Hey hast du eine Sekunde?
+
+Hey dude. During this event you can trade one @@ for more... useful items.
+Hey Kumpel. Während dieser Veranstaltung können Sie eine @@ für mehr handeln ... nützliche Gegenstände.
+
+Hey friend, could you do me a little favor?#0
+
+
+Hey friend, could you do me a little favor?#1
+
+
+Hey gal, could you do me a little favor?#0
+
+
+Hey hey, can you impress me? Can you impress me?
+
+
+Hey hey... Good job! I was worried you would ruin their hoods before being able to take them.
+Hey hey ... Good job! Ich war besorgt, Sie würden ihre Hauben ruinieren, bevor sie nehmen zu können.
+
+Hey hey... Good job! We can now use again the stuff we recovered from the bandits.
+Hey hey ... Good job! Wir können nun die Sachen wieder verwenden wir von den Banditen gewonnen.
+
+Hey if you want I can do some physical work for you!
+Hey, wenn Sie möchten, kann ich für Sie einige körperliche Arbeit tun!
+
+Hey kid! Can you hear me?#0
+
+
+Hey kid! Can you hear me?#1
+
+
+Hey kid, go play somewhere else, I don't have time! It's soon over!
+Hey Kind, geht spielt woanders, ich habe keine Zeit! Es ist bald vorbei!
+
+Hey look, an alchemy set. Not your area of expertise, but you take a few samples.
+Hey look, ein Alchemie-Set. Nicht Ihr Fachgebiet, aber nehmen Sie ein paar Beispiele.
+
+Hey newbie... I am a dangerous bandit.
+Hey Neuling ... Ich bin ein gefährlicher Räuber.
+
+Hey pal, could you do me a little favor?#1
+
+
+Hey silly %s, I need a favor from you.
+
+
+Hey there! How are you?
+
+
+Hey there! How are you? I hope you're doing fine!
+
+
+Hey there, %s. I deal with ultra rare items. If the Powers That Be decided you're out of luck, well, I am here to help you to bypass it.
+
+
+Hey there, %s. What I deal with is too much for your weak bones. So please come again after you are reborn, then I'll have something for you.
+
+
+Hey there, @@! Good luck killing monsters!
+Sie da, @@! Viel Glück das Töten von Monstern!
+
+Hey there, @@! I see you are still a noob!
+Sie da, @@! Ich sehe dich noch ein noob sind!
+
+Hey there. My name is Gwendolyn Bowmaker; I'm the granddaughter of the famous Glinda Bowmaker.
+Sie da. Mein Name ist Gwendolyn Bowmaker; Ich bin die Enkelin der berühmten Glinda Bowmaker.
+
+Hey wait... A monster!! Run for your life!!
+Hey warten ... Ein Monster !! Lauf um dein Leben!!
+
+Hey wait... You found 2 GP!
+Hey warten ... Sie haben 2 GP!
+
+Hey wait... You're enveloped by a bright light and fully healed!
+Hey warten ... Sie sind von einem hellen Licht umhüllt und vollständig geheilt!
+
+Hey wait... You're enveloped by a bright light and gain experience!
+Hey warten ... Sie sind von einer hellen Licht und Erfahrungen sammeln hüllen!
+
+Hey you have a bucket! Too bad there are, you know, HOLES on it, so you can see.
+Hey Sie haben einen Eimer! Schade, es gibt, wissen Sie, LOCH auf sich, so dass man sehen kann.
+
+Hey you. Come here...I have a quest for ya.
+
+
+Hey! Be careful. You can't stay in this basement for so long, you're going to get sick. Come outside and take a break, maybe you can try again later.
+Hey! Sei vorsichtig. Du kannst nicht lange in diesem Keller bleiben, denn du wirst krank werden. Geh nach draußen und mach eine Pause und probier es später nochmal.
+
+Hey! Good to hear from you!
+Hallo! Gut, von Ihnen zu hören!
+
+Hey! Good to see you. I was thinking how I could repay for what you've done for my mother.
+Hallo! Schön dich zu sehen. Ich dachte, wie ich zurückzahlen konnte für das, was Sie für meine Mutter getan habe.
+
+Hey! How are you today? Thanks again for your help.
+Hallo! Wie geht es dir heute? Danke nochmal für deine Hilfe.
+
+Hey! I already got them!
+Hallo! Ich habe sie schon!
+
+Hey! I want to enter in this house!
+Hallo! Ich möchte in diesem Haus betreten!
+
+Hey, %s! Welcome back!
+
+
+Hey, @@!
+Hallo, @@!
+
+Hey, I am flopped. Do you want to gamble?
+Hey, ich bin floppte. Wollen Sie spielen möchten?
+
+Hey, I like rewards. Wait me, I'll be back!
+Hey, Ich mag Belohnungen. Warten Sie, ich komme wieder!
+
+Hey, I said NO ENTRY! Get moving!
+
+
+Hey, I see you have appointed @@ players to this game. Good job!
+Hey, ich sehe, Sie @@ Spieler zu diesem Spiel ernannt. Gut gemacht!
+
+Hey, can you spare me a moment?
+
+
+Hey, check out my brand new fishing rod. I bought it just today.
+Hey, check mal meine brandneue Angel! Ich hab sie erst heute gekauft.
+
+Hey, collect lots of @@ and give them to me on Christmas! Not now. On Christmas!
+Hey, collect viele @@ und geben sie mir zu Weihnachten! Nicht jetzt. An Weihnachten!
+
+Hey, did you bring me everything I asked for?
+Hey, hast du bringen mir alles, was ich gefragt habe?
+
+Hey, did you know there are two mouboos which constantly fight against themselves?!
+Hey, wusstest du es zwei mouboos sind, die gegen sich ständig kämpfen ?!
+
+Hey, do not mistake me for a child.
+Hey, verwechseln Sie mich nicht für ein Kind.
+
+Hey, do you know the ##BCall Of Dusty##b event?
+
+
+Hey, do you know what is good on summer? @@!
+Hey, weißt du, was ist gut auf Sommer? @@!
+
+Hey, do you know what is good on this harsh winter? A @@!
+Hey, weißt du, was gut auf diesem harten Winter ist? EIN @@!
+
+Hey, dude! The guards are after me. I need your help, and I can reward you.#0
+
+
+Hey, dude! The guards are after me. I need your help, and I can reward you.#1
+
+
+Hey, girl!#0
+Hey Mädchen!
+
+Hey, have you come to play with me? I love playing with humans! Usually so few show in, it must be the dragons...
+Hey, haben Sie kommen mit mir zu spielen? Ich spiele gerne mit Menschen! In der Regel so wenige zeigen in, muss es die Drachen sein ...
+
+Hey, how is the monster extermination going?
+Hey, wie das Monster Vernichtung geht?
+
+Hey, huge THANKS for the help! I love gifts! Here's your due reward!
+Hey, großer Dank für die Hilfe! Ich liebe Geschenke! Hier ist Ihre due Belohnung!
+
+Hey, is somebody over there?
+Hey, ist jemand da drüben?
+
+Hey, it seems like you didn't register as a Monster Hunting Quest participant yet! You can sign up with Aidan.
+Hey, es scheint, als ob Sie nicht als Monster Hunting Quest-Teilnehmer registriert haben noch! Sie können mit Aidan anmelden.
+
+Hey, look, a tie happened!
+Hey, Look, eine Krawatte passiert ist!
+
+Hey, look, you have @@ boxes to collect!
+Hey, Look, Sie haben @@ Boxen zu sammeln!
+
+Hey, man!#1
+Hey Man!
+
+Hey, nice hat! Can I have it?
+Hey, schön Hut! Kann ich es haben?
+
+Hey, pal. This spot is very good, I can see the whole town from here.#0
+
+
+Hey, pal. This spot is very good, I can see the whole town from here.#1
+
+
+Hey, psst! Come over here!
+
+
+Hey, psst! Have you brought me what I asked for?
+Hey, psst! Hast du mich gebracht, was ich gefragt habe?
+
+Hey, take this @@. It heals fully but who cares, I have Tonori Delight!
+Hey, nimm das @@. Es heilt vollständig, aber wen interessiert das schon, ich habe Tonori Delight!
+
+Hey, thanks for saving me. You know, from the well.
+Hey, danke für mich zu retten. Wissen Sie, aus dem Brunnen.
+
+Hey, the %s you gave me was quite tasty, thanks!
+
+
+Hey, this Dummy is to @@ kill.
+Hey, das Dummy ist zu @@ töten.
+
+Hey, two gifts is very nice. But if we delivered 400. Think on it.
+Hey, zwei Geschenke sind sehr schön. Aber wenn wir geliefert 400. Denken Sie daran.
+
+Hey, you on the dune! Can you hear us?!
+
+
+Hey, you! Aid me!
+Hallo du! Hilf mir!
+
+Hey, you! Are you here on Kenton's orders?!
+Hallo du! Sind Sie hier auf Kentons Aufträge ?!
+
+Hey, you! Could you bring me an @@?
+Hallo du! Könnten Sie bringen mir eine @@?
+
+Hey, you! Help me!
+Hallo du! Hilf mir!
+
+Hey, you! We need help to find the Monster King.
+Hallo du! Wir müssen helfen, das Monster King zu finden.
+
+Hey, you! We need help to get rid from some remaining monsters at Nivalis City.
+Hallo du! Wir brauchen Hilfe bei Nivalis City von einigen verbleibenden Monster loszuwerden.
+
+Hey, you! What are you doing here?!
+
+
+Hey, you're an elf, cool! But you still cannot run for office here!
+
+
+Hey, you, stranger. I promised Banu a pie, but she is yet to give me the apples.
+
+
+Hey. If you want to kill monsters, you need a good sword. I think, a @@ would be the perfect fit for you.
+Hallo. Wenn Sie Monster töten wollen, müssen Sie ein gutes Schwert. Ich denke, ein @@ die perfekte Passform für Sie wäre.
+
+Hey. You there. Time to do @@ and show what you're made of.
+Hallo. Du da drüben. Zeit zu tun @@ und zeigen, was Sie aus.
+
+Hey. You. You were in need of medical attention earlier. Do you remember how to walk, talk, attack, etc?
+Hallo. Du. Sie waren in ärztliche Behandlung braucht früher. Erinnern Sie sich, wie zu gehen, sprechen, Angriff, etc?
+
+Hey... Go bother someone else.
+Hey ... Go Mühe jemand anderes.
+
+Hey... I found a Jeans Shorts. Is it yours?
+Hey ... Ich fand eine Jeans Shorts. Ist es deins?
+
+Hey... You... Come here.
+Hey ... Sie ... Kommen Sie hier.
+
+Heya dude! Don't you think this room is too dark?
+Heya dude! Glauben Sie nicht das Zimmer zu dunkel ist?
+
+Heya!
+Heya!
+
+Heya, noob. Where is your @@? Are you really so noob to have forgot such important book?!
+Heya, Noob. Wo ist dein @@? Sind Noob Sie wirklich so zu solch wichtiges Buch vergessen haben ?!
+
+Hi @@.
+Hi @@.
+
+Hi Peetu, are you calmer now?
+Hallo Peetu, Sie sind jetzt ruhiger?
+
+Hi there, I can always use a helping hand around here, are you the one for the job?
+Hallo, ich kann immer eine helfende Hand gebrauchen hier, sind Sie derjenige, für den Job?
+
+Hi! Apparently, I came from here and moved at the age of 4, but I had amnesia and can't remember!
+Hallo! Offenbar kam ich von hier und im Alter von 4 bewegt, aber ich hatte Amnesie und kann mich nicht erinnern!
+
+Hi! Do you want a hair cut?
+Hallo! Wollen Sie die Haare schneiden?
+
+Hi! I'm Miltaco, a piou specialist in humanoid hairstyles. Do you want a hair cut?
+
+
+Hi! My name is @@.
+Hallo! Ich heiße @@.
+
+Hi, @@.
+Hallo, @@.
+
+Hi, I'm Woody!
+Hallo, ich bin Woody!
+
+Hi, I'm too busy to talk right now, please go away. Very pressing matters at hand.
+Hallo, ich bin zu beschäftigt, jetzt zu sprechen, bitte gehen Sie weg. Sehr dringende Angelegenheiten auf der Hand.
+
+Hi, nice to see you!
+Hi, nett dich zu sehen!
+
+Hi.
+Hi.
+
+Hi. Are you here to get luggage?
+
+
+Hi. Come to the bakery!
+
+
+Hi. Could you perhaps be interested in doing some small errand for me?
+Hallo. Könnten Sie vielleicht dabei einige kleine Besorgung für mich interessiert?
+
+Hi. Do you need something?
+
+
+Hi. I have questionable items of questionable origins for you.
+
+
+Hi. My back hurts!
+
+
+Hi. My captain believe the world is round, can you believe that?
+
+
+Hi. My ship is about to set sail, we'll try to find somewhere better to live than this ruined place!
+
+
+Hi. Thanks for the pie.
+
+
+Hi. This is a very historic building - the former residence of the red queen no less!
+
+
+Hi. Working on the docks can be hard, but I'm glad I at least get to eat!
+
+
+High Council Secretary
+
+
+High Priest Card
+
+
+Highly strong and bulky, faces their foes head-on.
+
+
+Hihihi... Thanks! Here, you can keep this.
+
+
+Hinnak
+Hinnak
+
+Hire a mercenary
+Mieten Sie sich ein Söldner
+
+His daughter, Airlia, is not air-headed as her mother Lia. Try asking her instead.
+Seine Tochter, Airlia wird nicht Luft köpfiger, wie ihre Mutter Lia. Versuchen Sie sie stattdessen zu fragen.
+
+His golden ring pops right out of it.
+Seine goldenen Ring springt direkt aus ihm heraus.
+
+His policy is to never read a letter without the sender being present. Of course we checked for poison and traps.
+Seine Politik ist es, nie einen Brief ohne Absender vorhanden ist zu lesen. Natürlich haben wir überprüft für Gift und Fallen.
+
+Hit the ground, exploding the surroundings and disabling enemies.
+
+
+Hit'n'run is not so hard... One hit, one step back... One hit, another step back... One miss, two steps back...
+Hit'N'Run ist nicht so schwer ... Ein Treffer, ein Schritt zurück ... Ein Treffer, ein weiterer Schritt zurück ... verpassen, zwei Schritte zurück ...
+
+Hm hm. Thanks for the report. Well, as you could have suspected... I knew that all along.
+Hm hm. Vielen Dank für den Bericht. Nun, wie Sie vermutet haben könnte ... Ich wusste, dass die ganze Zeit.
+
+Hm hm. This sounds pretty concerning. Aiming at Sages is also a smart move, as they compose the Alliance Council.
+Hm hm. Das hört sich ziemlich über. bei Sages Ziel ist auch ein kluger Schachzug, da sie die Allianz Rat zusammensetzen.
+
+Hm, I would also do some quests if I needed money... On other hand, maybe I could go fishing? Do I know any fisher?
+Hm, ich würde auch einige Aufgaben tun, wenn ich Geld brauche, ... Auf der anderen Seite, vielleicht könnte ich angeln gehen? Kenne ich alle Fischer?
+
+Hm, can we talk again later?
+Hm, können wir reden später wieder?
+
+Hm, do you perhaps know where to find Cindy and could help me?
+Hm, wissen Sie vielleicht, wo Cindy zu finden und mir helfen könnte?
+
+Hm, good luck out there.
+Hm, viel Glück da draußen.
+
+Hm, groceries? Well, figure out Naem would ask someone to deliver them.
+
+
+Hm, thanks for your report. This is most useful. Here, drink this.
+
+
+Hm, would "Cindy" be a small, little girl, kidnapped by some sturdy-looking rogue Yetis?
+
+
+Hm. Then please don't disturb me, I'm trying to concentrate.
+Hm. Dann bitte stört mich nicht, ich bin zu konzentrieren versuchen.
+
+Hm... Shhhh...
+Hm... Schhhh...
+
+Hmm hmm! Then, let's begin.
+
+
+Hmm what is it?
+
+
+Hmm, I think I can teach you a basic Mana Skill now. That one is pretty simple.
+Hmm, ich glaube, ich kann Ihnen eine grundlegende Mana Fähigkeit lehren jetzt. Das ist ziemlich einfach.
+
+Hmm, I think I can teach you a basic Mana Skill now. This one is more advanced, though.
+Hmm, ich glaube, ich kann Ihnen eine grundlegende Mana Fähigkeit lehren jetzt. Dieser ist weiter fortgeschritten, aber.
+
+Hmm, Nivalis is a wonderful place to live in! Although it is a tad too cold on Winter...
+Hmm, Nivalis ist ein wunderbarer Ort zu leben! Obwohl es ein bisschen zu kalt auf Winter-...
+
+Hmm, Woodlands is a wonderful place to live in! Although Thorn gets really a thorn in my boots during spring...
+Hmm, Woodlands ist ein wunderbarer Ort zu leben! Obwohl Thorn wird wirklich einen Dorn in meinem Stiefel im Frühjahr ...
+
+Hmm, it might be a hunch but... Can you tell me if there were any unusual visitors before the incident?
+Hmm, es könnte so eine Ahnung, aber ... Können Sie mir sagen, ob es vor dem Vorfall ungewöhnliche Besucher waren?
+
+Hmm, it's very interesting, very ... (mumbling).
+Hmm, es ist sehr interessant, sehr ... (Gemurmel).
+
+Hmm, no, I shouldn't go back there...
+Hmm, nein, ich sollte nicht dorthin zurück ...
+
+Hmm, no, not really. However, I can try my hand at tweaking an item options :3
+
+
+Hmm, that's some progress. Nobody goes to the beach because of these slimes, but it looks like this might change sometime soon.
+
+
+Hmm, who are you?
+Hmm, wer bist du?
+
+Hmm... First of, I would really add some agility. Agility helps you to don't be hit, and not being hit is awesome.
+Hmm ... Zunächst würde ich wirklich etwas Agilität hinzuzufügen. Beweglichkeit hilft Ihnen, nicht getroffen zu tun, und Hit nicht der Fall ist, die fantastisch ist.
+
+Hmm... I can handle cooking during normal days. Christmas is the problem. I never have enough sweeties by then...
+Hmm ... Ich kann behandeln während des normalen Tagen kochen. Weihnachten ist das Problem. Ich habe nie genug Sweeties bis dahin ...
+
+Hmm... See, the thing is that transmuting living beings is not normally something that transmutation magic can do.
+Hmm ... Siehe, die Sache ist, dass Lebewesen transmuting ist normalerweise nicht etwas, dass Transmutation Magie tun.
+
+Hmm... That's a though question!
+Hmm ... Das ist eine Frage, obwohl!
+
+Hmm... Thinking well...
+Hmm ... Denken gut ...
+
+Hmm... sorry but gotta go...
+Hmm ... sorry, aber ich muss gehen ...
+
+Hmm...actually, nevermind.
+
+
+Hmmm... Yummy!
+Hmmm ... lecker!
+
+Hmpf! Coffee is an heresy!
+Hmpf! Kaffee ist eine Ketzerei!
+
+Hmpf, for a %s, you're a bit resourceful.
+
+
+Hmpf, if %s was still around... He sealed the path to Aethyr, the sacred elf land. I'm sure he could protect Frostia from the likes of you as well!
+
+
+Hmpf, it's good to see you're at least trying to follow Wyara's example.
+Hmpf, es ist gut zu sehen, Sie zumindest versuchen, Wyara Beispiel zu folgen.
+
+Hmpf. A pleasure doing business with you.
+
+
+Hmpf. That'll do.
+
+
+Hmpf. Wise choice.
+Hmpf. Weise Entscheidung.
+
+Hmph, that would only incite bad behavior! No way!
+Hmpf, das wäre nur anstacheln schlechtes Verhalten! Auf keinen Fall!
+
+Hmph, you are the second activist I see today! TO THE BRIG!
+Hmpf, Sie sind der zweite Aktivist ich heute sehen! TO THE BRIG!
+
+Ho! I'll help them!
+Ho! Ich werde ihnen helfen!
+
+Ho... I see you are a tough one...
+Ho ... Ich sehe, Sie sind eine schwierige Frage ...
+
+Hocus Pocus
+
+
+Hocus Said So Challenge
+
+
+Hocus#MOLY0100
+
+
+Hocus#MOLY0200
+
+
+Hocus#MOLY0300
+
+
+Hocus#MOLY0400
+
+
+Hocus#MOLY0500
+
+
+Hocus#MOLY0600
+
+
+Hocus#MOLY0700
+
+
+Hocus#MOLY0800
+
+
+Hocus#MOLY0900
+
+
+Hocus#MOLY1000
+
+
+Hocus#MOLY1100
+
+
+Hocus#MOLY1200
+
+
+Hoh, I see this %s you've been using. Do you desire for more power?
+
+
+Hold your horses, %s. You are not the party leader.
+
+
+Holy Light
+Heiliges Licht
+
+Holy Pixie
+Heiliger Pixie
+
+Homun Stat Reset Potion
+
+
+Homunculus are a bit dumb, although the ones I've cultivated and took personal care of can express reactions. In future, I'll research sentience.
+Homunculus ist ein bisschen dumm, obwohl die, die ich gepflegt habe und nahmen persönliche Betreuung von Reaktionen zum Ausdruck bringen kann. In Zukunft werden Forschung I sentience.
+
+Homunculus stats were reset!
+
+
+Honey
+
+
+Honor Points: %s
+
+
+Honor only applies to PvP fights. It can be seen on "%s" and rewards are given monthly for it.
+
+
+Hooded Assassin
+Hooded Assassine
+
+Hooded Ninja
+Mit Kapuze Ninja
+
+Hopefully, you'll find something interesting on it to serve as a payment. It's up to luck, I guess....
+
+
+Hoping for the best, but prepared for the worst, you set off to the legendary continent of Kolev; Your destination: Artis.
+
+
+House Maggot
+Haus Maggot
+
+Houses, Exit
+Häuser, Ausfahrt
+
+Houses, Lake Of Tears
+Häuser, See Of Tears
+
+Housing Letter I
+Gehäuse Buchstabe I
+
+Housing Letter I for 11,000 GP
+Gehäuse Letter I für 11.000 GP
+
+Housing Letter II
+Gehäuse Brief II
+
+Housing Letter II for 101,000 GP
+Gehäuse Brief II für 101.000 GP
+
+Housing Letter III
+Gehäuse Brief III
+
+Housing Letter III for 1,001,000 GP
+Gehäuse Brief III für 1.001.000 GP
+
+How about this, I can teach you how to be a tiny bit faster, so you can use heavier armor. I'll even give you a discount. Give it some thought, come back to me after you make up your mind.
+
+
+How can I complete a craft?
+Wie kann ich ein Handwerk vollenden?
+
+How can I get iron ingot?
+Wie kann ich Eisen Barren bekommen?
+
+How can I help you, my friend?
+
+
+How can I help you?
+
+
+How can I obtain casino coins?
+
+
+How can I reach the Land Of Fire?
+Wie kann ich das Land des Feuers erreichen?
+
+How did I got here?
+
+
+How did you end up here?
+Wie bist du hier oben?
+
+How did you even get here? Go back to Candor, where you belong!
+Wie hast du auch hier? Zum Candor zurück, wo Sie hingehören!
+
+How did you even got here? There are dangerous swamps north, and dangerous deserts south...
+Wie haben Sie auch hier bekam? Es gibt gefährliche Sümpfe Norden und gefährliche Wüsten im Süden ...
+
+How did you get down there?
+Wie bist du da unten?
+
+How did you got that much? Nine gifts, and 51200 if you want even more.
+Wie hast hast du so viel? Neun Geschenke und 51200, wenn Sie wollen noch mehr.
+
+How did you guess that?
+Wie haben erraten Sie das?
+
+How do I advance in Mana Magic? How it works?
+Wie voran ich in Mana Magie? Wie es funktioniert?
+
+How do I get magic?
+Wie erhalte ich Magie?
+
+How do I hunt monsters?
+
+
+How do I make money?
+Wie kann ich Geld verdienen?
+
+How do I save items?
+Wie kann ich Elemente retten?
+
+How do I save money?
+Wie kann ich Geld sparen?
+
+How do I see my items?
+
+
+How do I talk with someone?
+
+
+How do I trade with other players?
+
+
+How do you even prove amnesia, anyway?
+
+
+How do you know my name?
+
+
+How does Gambling works?
+
+
+How does spinning works?
+Wie funktioniert Spinnerei?
+
+How is *hic* it possible?
+Wie ist *hicks* das möglich?
+
+How is your purge going? I hope you had success at it!
+Wie wird Ihre Säuberung geht? Ich hoffe, dass man es Erfolg hatte!
+
+How many %s should I attach?
+
+
+How many batches do you want to produce? (max. 5)
+Wie viele Chargen wollen Sie produzieren? (Max. 5)
+
+How many chocolate do you want to send? You can trade: @@
+Wie viel Schokolade wollen Sie schicken? Du kannst handeln: @@
+
+How many did you need again?
+Wie viele haben müssen Sie wieder?
+
+How many do you want to sell? You currently have @@ @@.
+Wie viele möchten Sie verkaufen? Du hast im Moment @@ @@.
+
+How many heads does Zaphod Beeblebrox have? Numbers only.
+
+
+How many ingots do you want to make?
+Wie viele Barren wollen Sie machen?
+
+How many lives will be claimed until he is put to rest?
+
+
+How many pints of beers should you drink before hitchhiking? Numbers only.
+
+
+How many points? (0-%d)
+
+
+How many steps?
+Wie viele Schritte?
+
+How many to brew? (%d-%d)
+
+
+How many?
+Wie viele?
+
+How many? Max. @@
+Wie viele? Max. @@
+
+How may I help you?
+Wie kann ich dir helfen?
+
+How much coffee you'll give Jhon?
+
+
+How much do you want to deposit?
+Wie viel wollen Sie einzahlen?
+
+How much do you want to withdraw?
+Wie viel wollen Sie abheben?
+
+How much honey will you give it? (You have: %d)
+
+
+How much would be the budget for Fur Boots?
+Wie viel würde das Budget für Pelzstiefel sein?
+
+How powerful they were or are, their cruelty, their judgment against the Terranite Civilization and the other bloody details of the legend... I cannot confirm them to you.
+Wie mächtig sie waren oder sind, ihre Grausamkeit, ihr Urteil gegen die Terranite Zivilisation und die anderen blutigen Details der Legende ... Ich kann bestätigen, sie nicht zu Ihnen.
+
+How powerfully do you want to shoot?
+Wie stark wollen Sie schießen?
+
+How to better preserve your dispostives:
+Wie man besser die dispostives erhalten:
+
+How to expand this limit? Well, you'll need to touch a Mana Stone. If you can handle more raw power, your limit will extend.
+
+
+How to use best Warp Technology?
+Wie man am besten Warp-Technologie benutzen?
+
+How will you respond?!
+Wie werden Sie reagieren ?!
+
+How's that even possible? Well, 30 @@ for all contestants!
+Wie ist das überhaupt möglich? Nun, 30 @@ für alle Teilnehmer!
+
+Howdy! Lately I feel like a placeholder, just surviving on these harsh lands.
+
+
+Howdy! Mirio and I scout this canyon to protect our clan. I am also a retired assassin, maybe someday I can exchange some knowledge with you! Hahaha!
+
+
+Howdy! Pachua and I scout this canyon to protect our clan. I acknowledge only those whom are fast like the wind! I would love to challenge you for a race... But not today.
+
+
+Howdy, partner! Man, you have no idea how I'm hungry. Been scouting this canyon for weeks, under the scorching sun, and there's only snake meat to eat... I'm get tired of this repulsive stuff.
+
+
+Howdy?
+Howdy?
+
+However, %s stole the treasures which were being showcased!
+
+
+However, I am still up for trading cards, if you wish.
+
+
+However, I need a tax to start, and you need to arrange players. There are no refunds.
+Ich brauche aber eine Steuer zu starten, und Sie müssen die Spieler arrangieren. Es gibt keine Rückerstattung.
+
+However, I need to see at least three volunteers here, to allow you in.
+Ich brauche aber mindestens drei Freiwilligen hier, um zu sehen, Sie in zu ermöglichen.
+
+However, I still have hope. Dimond's secret recipe. Ah, but I can't get the ingredients for it...
+Allerdings habe ich immer noch Hoffnung. Dimond Geheimrezept. Ah, aber ich kann die Zutaten nicht bekommen es ...
+
+However, LoF admins and developers are working on a new game to offer a new experience for players.
+LoF Administratoren und Entwickler arbeiten jedoch an einem neuen Spiel eine neue Erfahrung für die Spieler zu bieten.
+
+However, an account may only apply for an office weekly.
+Allerdings kann ein Konto nur für ein Büro wöchentlich anzuwenden.
+
+However, as long as you remain seated and immobile, the spell will slowly destroy the seal.
+
+
+However, by casting %s here, we'll be able to weaken the seal!
+
+
+However, chants can also inflict ailments or even summon creatures.
+
+
+However, each group may be expanded later. You can reset group by clearing the Master Floor.
+Jedoch kann jede Gruppe später erweitert werden. Sie können Gruppe zurücksetzen, indem Sie die Master-Etage zu löschen.
+
+However, for a few months already, nothing else has been heard from that town, and all contact was lost.
+
+
+However, if town has less than 15 reputation, they'll need to re-apply manually, and may lose the office for the bot account.
+
+
+However, if we waste the ship's money in beer, Nard will get mad.
+Allerdings, wenn wir das Geld in Bier Schiff verschwenden, wird Nard wütend.
+
+However, it can be unlocked if you know the password:
+Allerdings kann es entsperrt werden, wenn Sie das Passwort kennen:
+
+However, it comes back crying! Poor teddy, it got attracted by a sweet smell but it found a %s instead!
+
+
+However, it stops abruptly and quickly moves away from it.
+
+
+However, it's also possible they're there already. Be careful for ambushes!
+
+
+However, our skill growth rate is much smaller than those of humans.
+Allerdings ist unsere Fähigkeit Wachstumsrate viel kleiner als die des Menschen.
+
+However, she may have a better assessment of the current situation better than you and your allies.
+
+
+However, that is not exactly a popular idea around here. The fae seem more concerned with snakes.
+
+
+However, the Army seems to walk away after some time.
+
+
+However, the fate of this world is at your hands. I shall not allow the Moubootaur to cause havoc.
+
+
+However, the legend said there was a way to prevent this disaster. A single way... Which the Ancient Families of Soul Menhir kept a secret passed down between generations.
+Allerdings sagte die Legende gibt es einen Weg, um diese Katastrophe zu verhindern. Eine einzige Art und Weise ..., die die alten Familien Soul Menhir geheim gehalten weitergegeben zwischen den Generationen.
+
+However, the log breaks with a loud crack.
+Allerdings bricht das Protokoll mit einem lauten Knall.
+
+However, there's a link to get a simple python bot software!
+
+
+However, they must visit their town office and do daily paperwork, every day. Otherwise, town reputation will go down.
+
+
+However, this only distracts him for a short while. Soon after, he returns to his small ritual with the pot.
+
+
+However, watch out!
+
+
+However, we must defeat the commanders to avoid major damage to them!
+
+
+However, you need a %s or a Fishing Net. There's one fisherman in Tulimshar Center, called Eugene. He should have one, but he lives isolated on a small island... Good luck getting to him.
+
+
+However, you should only give food when it's hungry, otherwise it'll believe you're a bad owner and intimacy will decrease.
+Sie sollten jedoch nur Nahrung geben, wenn es hungrig ist, sonst ist es werde glauben, dass Sie ein schlechter Eigentümer und Intimität sind abnehmen.
+
+However, you'll need to keep cooperating with me. Trust me, this incident and what you look for it is closely related.
+Allerdings müssen Sie mit mir zusammenarbeiten zu halten. Vertrauen Sie mir, dieser Vorfall und was Sie suchen es eng verwandt ist.
+
+However, your guild just challenged Kamelot Dungeons.
+
+
+However...
+Jedoch...
+
+Huge area of effect fire damage. May burn targets.
+
+
+Hum, Which type of favor?
+Hum, welche Art von Gefallen?
+
+Hum, how many gem powders can I get from one gem?
+Hum, wie viele Edelsteinpulver kann ich von einem Edelstein bekommen?
+
+Hum... I'm not really good at it.
+Hum ... Ich bin es nicht wirklich gut.
+
+Human
+Mensch
+
+Human Voice
+Menschliche Stimme
+
+Humans never built a settlement there. But the prophecy is there.
+Menschen nie eine Siedlung gebaut. Aber die Prophezeiung ist da.
+
+Hungry Quirin Arena Information
+Hungry Quirin Arena Informationen
+
+Hungry Quirin Arena Rules
+Hungry Quirin Arena Regeln
+
+Hunter.
+
+
+Hurns Warp Crystal
+Hurns Warp-Kristall
+
+HurnsShip#M
+
+
+Hurnscald
+Hurnscald
+
+Hurnscald - @@ GP
+Hurnscald - @@ GP
+
+Hurnscald Liberation Day special event
+Hurnscald Befreiungstag besonderes Ereignis
+
+Hurnscald Mines
+Hurnscald Mines
+
+Hurnscald Office
+Hurnscald Büro
+
+Hurnscald Townhall
+Hurnscald Townhall
+
+Hurnscald is a large city. I'm sure glad I live in Candor because I know where everything's at.
+Hurnscald ist eine große Stadt. Ich bin sicher froh, dass ich in Candor leben, weil ich weiß, wo alles ist an.
+
+Hurnscald was founded after Tulimshar, in more fertile lands. Their walls are not so sturdy as the ones of Tulimshar.
+Hurnscald wurde nach Tulimshar gegründet, in mehr fruchtbaren Land. Ihre Wände sind nicht so robust wie die der Tulimshar.
+
+Hurnscald's Nurse
+Hurnscald Krankenschwester
+
+Hurnscald? Small farming towns are always nice to visit.
+Hurnscald? Kleine Landwirtschaft Städte sind immer wieder schön zu besuchen.
+
+Hurnsguard
+Hurnsguard
+
+Hurry up! Bring a @@ from Barzil in Halinarzo!! You only have @@ left!
+Beeile dich! Bringen Sie eine @@ aus Brasilien in Halinarzo !! Sie haben nur @@ links!
+
+Hurry up, before the wind changes.
+Beeilen Sie sich, bevor der Wind dreht.
+
+Hurry up, you'll run out of time in @@!
+Beeilen Sie sich, Sie laufen aus der Zeit in @@!
+
+Hwaaaah... Man, I'm bored. Will you be getting @@?
+Hwaaaah ... Mann, ich bin gelangweilt. Werden Sie bekommen @@?
+
+Hwellow. I am a boring NPC which makes green dye.
+Hwellow. Ich bin ein langweilig NPC, die grünen Farbstoff macht.
+
+I HAVE WARNED YOU!!!!!
+ICH HABE SIE GEWARNT !!!!!
+
+I NEVER TOUCHED THE SOUL MENHIR! I SWEAR YOU, I'M INNOCENT! PLEASE HAVE MERCY!!
+Ich NIE DIE SEELE MENHIR TOUCHED! Ich schwöre Ihnen, ich bin unschuldig! BITTE erbarme dich !!
+
+I actually have a special class for those with perfect magical control like you.
+
+
+I actually have them, here.
+Ich habe sie eigentlich hier.
+
+I actually need help. I am a mage, and I'm feeling lazy to get the stuff I need.
+Ich brauche wirklich Hilfe. Ich bin ein Magier, und ich fühle mich faul, um das Zeug zu bekommen was ich brauche.
+
+I actually need help. Padric and I were doing some research with catalysts, you see.
+Ich brauche wirklich Hilfe. Padric und ich waren einige der Forschung mit Katalysatoren tun, sehen Sie.
+
+I advise you to do more quests on Tulimshar and Candor, otherwise, you will fail right at the end.
+Ich rate Ihnen, mehr Quests auf Tulimshar und Candor, es anders zu machen, werden Sie am Ende rechts scheitern.
+
+I agree with you. Most of these materials can't even be found on Nivalis.
+Ich stimme mit Ihnen ein. Die meisten dieser Materialien kann nicht einmal auf Nivalis finden.
+
+I already did everything I could with this. What am I waiting for?
+
+
+I already got enough %s, thank you.
+
+
+I already have a Forest Bow.
+Ich habe bereits einen Wald Bow.
+
+I already have that...
+Das habe ich schon...
+
+I already told you he is out! Why do you even want to talk to him?! Haven't I told you to... to... leave me alone!?
+Ich habe dir schon gesagt er ist raus! Warum wollen Sie auch mit ihm sprechen ?! Habe ich nicht gesagt, du sollst ... bis ... lassen Sie mich allein !?
+
+I already took my share from this chest.
+
+
+I already visited this warp.
+Ich besuchte bereits diese Kette.
+
+I also brew some of the crops, making Beer. And then I sell to adventurers!
+Ich braue auch einige der Kulturen, Bier zu machen. Und dann verkaufe ich Abenteurern!
+
+I also broke my bones, and I was equipping a weapon which prevents HP regen...
+Ich brach auch meine Knochen, und ich war eine Waffe ausrüsten, die verhindert, dass HP regen ...
+
+I also do not keep any stock of them. If you really want it, you can bring me some Raw Logs. I'll show you which one is the good one. Deal?
+Ich halte nicht auch alle Lager von ihnen. Wenn Sie es wirklich wollen, können Sie mir einige Raw Logs bringen. Ich werde Ihnen zeigen, welches das gut ist. Deal?
+
+I also hear fisherman likes to fish at night. They say the catch is bigger, if you understand me.
+Ich höre auch Fischer gerne in der Nacht zu fischen. Sie sagen, dass der Haken ist größer, wenn Sie mich verstehen.
+
+I also see you have a level @@ magic skill!"
+
+
+I always do shady deals. *cough cough* %s GP.
+
+
+I always keep my end on the bargain, so here you go.
+Ich habe immer mein Ende auf den Kauf, so hier gehen Sie.
+
+I always thought it was a bad idea to play around with the slimes. And as if holding them in here isn't bad enough, no, they also had to mess around with magic.
+Ich dachte immer, es war eine schlechte Idee mit den Schleimen zu spielen, um. Und als ob sie halten hier ist nicht schlecht genug, nein, sie auch zu Chaos hatte um mit Magie.
+
+I always wanted to live in this town. I'm glad I managed to move from LoF Village to here.
+Ich wollte schon immer in dieser Stadt leben. Ich bin froh, dass ich es geschafft, von LoF Village hier zu bewegen.
+
+I always wanted to taste a %s! But they don't grow anywhere, and I've heard the only way to obtain one is from %s. Unfortunately, I do not favor violence, so... Could you get one for me?
+
+
+I always wonder if I should raise my price to teach bad kids to don't lie.
+Ich frage mich immer, wenn ich meinen Preis erhöhen sollte schlechte Kinder zu lehren, nicht lügen zu tun.
+
+I am %s, a piou alchemist specializing in reset and agility potions.
+
+
+I am @@, an alchemist specialized in reset potions.
+Ich bin @@, ein Alchimist in Reset-Tränke spezialisiert.
+
+I am @@, and I take care of the Arena.
+Ich bin @@, und ich kümmern uns um die Arena.
+
+I am @@, guardian of Candor Cave. Below this cave, lies the legendary Fefe, arch-wizard from the Great War.
+Ich bin @@, Wächter von Candor Cave. Unterhalb dieser Höhle liegen die legendären Fefe, Bogen-Assistenten aus dem Ersten Weltkrieg.
+
+I am @@, student from the ancient secrets of the Mage of Time, Ozthokk.
+Ich bin @@, Schüler von den alten Geheimnisse des Mage der Zeit, Ozthokk.
+
+I am @@, the only mage in Candor.
+Ich bin @@, der einzige Magier in Candor.
+
+I am Bella, the Scholar.
+Ich bin Bella, der Gelehrte.
+
+I am Elli. One of the Originals.
+
+
+I am Quirino Voraz, and my arena is the coolest PVP Arena on all Mana Worlds.
+Ich bin Quirino Voraz, und meine Arena ist die coolste PVP Arena auf allen Mana Welten.
+
+I am Yetifly the Mighty, guardian of the fae!
+
+
+I am Zarkor, the Dark Summoner. I want to do a dark summoning ritual, but there are strings attached.
+Ich bin Zarkor, der Dunklen Summoner. Ich möchte eine dunkle Beschwörung Ritual tun, aber es gibt Bedingungen geknüpft.
+
+I am a GM, and I want to change my Race!
+Ich bin ein GM, und ich will mein Rennen ändern!
+
+I am a bard! I used to be an elf trader, but music got me for good.
+Ich bin ein Barde! Früher habe ich ein Elf Händler sein, aber die Musik hat mich für gut.
+
+I am a brave adventurer! How can I help you?
+Ich bin ein mutiger Abenteurer! Womit kann ich Ihnen behilflich sein?
+
+I am a contributor, and I want contributor stuff.
+Ich bin ein Beitrag, und ich möchte Beiträger Sachen.
+
+I am a mage. How do I get to Academy?
+
+
+I am a noob and don't need you.
+
+
+I am a really good blacksmith. In fact, there is no stuff I can't fix.
+Ich bin ein wirklich guter Schmied. In der Tat gibt es keine Sachen, die ich nicht beheben kann.
+
+I am a thief! I want to repent for my sins!
+Ich bin ein Dieb! Ich möchte für meine Sünden bereuen!
+
+I am a trader from Nard's ship. We actually need supplies. Help us, and I'll help you.#0
+
+
+I am a trader from Nard's ship. We actually need supplies. Help us, and I'll help you.#1
+
+
+I am actually surprised you clicked me again. Well then, here's the Land of Fire News...
+Ich bin wirklich überrascht, dass Sie mich geklickt wieder. Na dann, hier ist das Land des Feuers Nachrichten ...
+
+I am broken?! Please report! Debug data: @@ (@@)
+Ich bin gebrochen?! Bitte melden! Debug Daten: @@ (@@)
+
+I am collecting money for the Yearly Autumn Scorpion Hunter quest.
+Ich sammle Geld für den jährlichen Herbst Scorpion Hunter Quest.
+
+I am counting on you!
+Ich zähle auf dich!
+
+I am currently in charge of overseeing the world state and the Monster King advancements, as well as planning and dealing with emergencies. The Alliance High Council is currently composed by %s members and %s honorary ones.
+
+
+I am currently very worried with them. They're just children! They don't know how to fight!
+Ich bin zur Zeit mit ihnen sehr besorgt. Sie sind nur Kinder! Sie wissen nicht, wie zu kämpfen!
+
+I am doing a great research with Bats, and thus far I collected @@ Bat Wings and Teeths.
+Ich mache eine große Forschung mit Fledermäusen. Bislang habe ich @@ Fledermausflügen und -Zähne gesammelt.
+
+I am happy that such responsible citizens live in Tulimshar. Thank you for your help. It's really hot nowdays!
+Ich bin glücklich, dass eine solche verantwortliche Bürger leben in Tulimshar. Danke für deine Hilfe. Es ist wirklich heiß nowdays!
+
+I am his right-hand Yeti, so I could grant you passage to his Throne Room to slay the rogue Yetis...
+Ich bin seine rechte Hand Yeti, so dass ich Ihnen Passage zu seinem Thronsaal gewähren könnte den Schurken Yeti zu töten ...
+
+I am hungry. Can I buy some food here?
+Ich habe Hunger. Kann ich hier etwas zu essen kaufen?
+
+I am making a figurine with Bug legs for the upcoming festival.
+Ich bastle eine Figur aus Käferbeinen für das anstehende Festival.
+
+I am not a citizen of Candor.
+Ich bin kein Bürger von Candor.
+
+I am not a coward to run away by the back door!
+
+
+I am not a half-word man, so I won't take your fish. Come back with the money and the Roots, and I'll make the string for you.
+Ich bin kein Halbwort Mann, so dass ich nicht Ihre Fische nehmen. Kommen Sie mit dem Geld zurück und die Wurzeln, und ich werde die Zeichenfolge für Sie.
+
+I am not afraid of Pious.
+Ich habe keine Angst vor Fromme.
+
+I am not content with our water supply. It gives us common water, but we of the superior race deserve better water.
+
+
+I am not done purifying the water yet. This may take years, but it'll be worth it.
+
+
+I am not sure of who makes or haves Lifestones. Try looking outside the city. Who knows.
+Ich bin nicht sicher, wer macht oder haves Lifestones. Versuchen Sie außerhalb der Stadt suchen. Wer weiß.
+
+I am pleased about your progress, but you are not ready for the next step yet. Go and do some more training, before you come back.
+Ich freue mich über Ihre Fortschritte, aber Sie sind nicht bereit für den nächsten Schritt vor. Gehen und etwas mehr Training tun, bevor Sie zurückkommen.
+
+I am pleased to see that you have woken up and are active. Elmo came here to tell me this good news!#0
+Ich bin froh, daß du aufgewacht und wohlauf bist. Elmo hat mir die gute Nachricht erzählt!
+
+I am pleased to see that you have woken up and are active. Elmo came here to tell me this good news!#1
+Ich bin froh, daß du aufgewacht und wohlauf bist. Elmo hat mir die gute Nachricht erzählt!
+
+I am really curious what this shrine is about, though.
+
+
+I am searching again maggot slime to craft more balls.
+Ich suche wieder Maden Schleim mehr Kugeln Handwerk.
+
+I am sorry but I can see that you don't have all that I asked you.
+Es tut mir leid, aber ich kann sehen, dass Sie nicht alle haben, dass ich dich gefragt.
+
+I am sorry, but it does not look like you have everything. You will need to bring:
+
+
+I am sorry, but it seems that you don't have enough money. Come back when you have reorganized your finances.
+Es tut mir leid, aber es scheint, dass Sie nicht genug Geld haben. Kommen Sie zurück, wenn Sie Ihre Finanzen neu organisiert haben.
+
+I am stationed here to protect Hurnscald from monsters.
+Ich bin hier stationiert Hurnscald von Monstern zu schützen.
+
+I am stationed here to protect Land Of Fire from monsters.
+Ich bin hier von Monstern zu schützen Feuerland stationiert.
+
+I am still here, but I already did amends for my acts and don't need to flee anymore...
+Ich bin immer noch hier, aber ich habe schon wieder gut für meine Handlungen und nicht mehr fliehen müssen ...
+
+I am sure that an adventurer like you can gather everything in no time at all!
+
+
+I am sure that they will come back to haunt you in your dreams!
+Ich bin sicher, dass sie kommen zurück Sie in Ihre Träume zu verfolgen!
+
+I am sure you already fought him. And survived, too, apparently. Help her, and I will reward your efforts appropriately.
+
+
+I am the Judge, and I shall make Judgment upon you!
+Ich bin der Richter, und ich werde Urteil über euch!
+
+I am the Magic Fountain of Hurnscald. You look qualified.
+Ich bin die Magic Fountain von Hurnscald. Sie suchen qualifizierte.
+
+I am the Trader King, because I supply a market!
+Ich bin der Trader King, weil ich einen Markt liefern!
+
+I am the Yetifly, guardian of butter and fairies.
+Ich bin der Yetifly, Vormund von Butter und Feen.
+
+I am too far away to talk. Weird floating thingy...
+Ich bin zu weit weg zu reden. Weird-Floating-Ding ...
+
+I am trying to fish here without success. You're weak, do not bother me.
+Ich versuche, hier ohne Erfolg zu fischen. Du bist schwach, stört mich nicht.
+
+I am trying to invent the light bulb, but my name is not Thomas...
+Ich versuche, die Glühbirne zu erfinden, aber mein Name ist nicht Thomas ...
+
+I am willing to give it to you, if help me out. I promise it won't be a bother, and it'll really be useful for you, I swear.
+Ich bin bereit, es Ihnen zu geben, wenn mir helfen, aus. Ich verspreche, es wird keine Mühe sein, und es wird wirklich für Sie nützlich sein, das schwöre ich.
+
+I am willing to pay @@ GP for 10 @@ you bring me!
+Ich bin bereit zu zahlen @@ GP 10 @@ Sie mich bringen!
+
+I am willing to pay @@ GP for each you bring me! Do you want to give me ALL your @@?!
+Ich bin bereit zu zahlen @@ GP für jeden Sie mich bringen! Haben Sie mir Ihr @@ geben wollen ?!
+
+I am. What heroic action is needed?
+Ich bin. Was heroische Maßnahmen erforderlich?
+
+I asked my father and he agreed to trade it to you, so here is the last copy of the Maritime Almanac Scroll.
+Ich fragte meinen Vater und er stimmte zu, es Ihnen zu handeln, so ist hier die letzte Kopie der Maritime Almanac Scroll.
+
+I believe these switches control the cage's lock.
+
+
+I bet you are dead tired, and the ship travel takes a long time.
+
+
+I bet you'll now ask for %s's password, and scam all their money!!
+
+
+I better do this some other time...
+Ich besser machen dies ein andermal ...
+
+I better don't bother this Yeti, before it kills me.
+Ich besser nicht stören diese Yeti, bevor es mich umbringt.
+
+I better leave talking to him to the guild Vice Leaders and Master.
+
+
+I better leave this crazy man to his ordeals...
+Ich besser diesen verrückten Mann zu seinen Torturen verlassen ...
+
+I better not disturb the hut owner.
+Ich besser nicht in der Hütte Besitzer stören.
+
+I better report this to Lua!
+
+
+I brought a souvenir for you.
+Ich habe für Sie ein Souvenir.
+
+I came from The Mana World.
+
+
+I came from Thermin, a town far far away.
+Ich kam aus Thermin, einer Stadt weit weit entfernt.
+
+I came here to ask for help with curses.
+Ich kam hierher mit Flüchen um Hilfe zu bitten.
+
+I came here to report... A sabotage.
+Ich bin hergekommen, um Bericht ... Eine Sabotage.
+
+I came here to talk about the World's Edge.
+Ich bin hergekommen, um den Rand der Welt zu sprechen.
+
+I came to enjoy a beautiful day with some ducks!
+
+
+I can also pay %d GP per %s.
+
+
+I can do a bug bomb right away, but I still need a few things for it!
+Ich kann sofort einen Fehler Bombe tun, aber ich muss noch ein paar Dinge für sie!
+
+I can do that for you, but you'll still need to go to storage to get them back.
+
+
+I can even give you the %s lumps of precious %s we would have burned. Whaddaya say, do we have a deal?
+
+
+I can fill your bottle with water for only @@ gp the bottle.
+Ich kann Ihre Flasche mit Wasser für nur füllen @@ die Flasche gp.
+
+I can fix this for you. Just pay me @@ GP and a @@. It'll take no time at all!
+Das kann ich für Sie beheben. zahlen Sie mir @@ GP und ein @@. Es wird überhaupt keine Zeit in Anspruch nehmen!
+
+I can fuse an @@ and 20 @@, besides @@ GP, into 3~5 @@.
+Ich kann eine Sicherung @@ und 20 @@ neben @@ GP in 3 bis 5 @@.
+
+I can give you a rare...(cough, cough).. Mouboo Figurine for it.
+Ich kann Ihnen ein seltenes ... (Husten, Husten) .. Mouboo Figurine für sie.
+
+I can give you my knife if you bring me this:
+Ich kann Ihnen mein Messer geben, wenn Sie mich bringen diese:
+
+I can make @@ from @@, but this costs @@ GP.
+Ich kann @@ machen von @@, aber diese Kosten @@ GP.
+
+I can make a @@ for just one @@ and @@ GP for my work.
+Ich kann ein machen @@ für nur eine @@ und @@ GP für meine Arbeit.
+
+I can make an @@, I still have a bottle of fairy blood, a few mana pearls, and some other rare ingredients.
+Ich kann ein @@ machen, habe ich noch eine Flasche Fee Blut haben, ein paar Mana-Perlen, und einige andere seltene Zutaten.
+
+I can make some stuff with it, but I have no idea where it can be found. Mylarin dust... amazing.
+Ich kann ein paar Sachen mit ihr machen, aber ich habe keine Ahnung, wo sie zu finden sind. Mylarin Staub ... erstaunlich.
+
+I can make three types of Agility Potions, which would you like?
+
+
+I can make you a @@, and for that I will want a @@ and 500 GP.
+Ich kann Ihnen eine @@ machen, und dafür werde ich möchte ein @@ und 500 GP.
+
+I can protect myself, so it should attack from afar.
+Ich kann mich schützen, so sollte es aus der Ferne angreifen.
+
+I can prove you my worth!
+Ich kann Ihnen meinen Wert beweisen!
+
+I can rent it to you for 300 GP, during 15 minutes. Deal?
+Ich kann es für 300 GP Sie mieten, während 15 Minuten. Deal?
+
+I can sell you the Pickaxe for @@ GP if you have and @@ the remaining equipment.
+Ich kann Ihnen den Pickaxe für @@ GP verkaufen, wenn Sie und @@ die restliche Ausrüstung.
+
+I can send you to at least five from the seven cave levels this dungeon have.
+Ich kann Ihnen mindestens fünf der sieben Höhle Ebenen dieses Verlies haben senden.
+
+I can summon the BOSS for the level 0~20 area.
+Ich kann den BOSS für die Ebene 0 ~ 20 Bereich aufbringen.
+
+I can summon the BOSS for the level 21~40 area.
+Ich kann den BOSS für die Level 21 ~ 40 Bereich aufbringen.
+
+I can teach you these bonuses, but more powerful bonuses require more skill to learn... And I don't know anyone who could improve your crafting skill...
+Ich kann Ihnen diese Boni lehren, aber leistungsfähigeren Boni erfordern mehr Geschick zu lernen ... Und ich kenne niemanden, der Ihre Handwerksfähigkeit verbessern könnte ...
+
+I can trade some with you. Just bring me the following cash payment and supplies:
+
+
+I can vouch for you, but only if you help me first!
+Ich kann für Sie bürgen, aber nur, wenn Sie mit mir zuerst helfen!
+
+I can walk, I'm just... Trapped here. That's why I need someone to help me to cultivate my wose part!
+Ich kann laufen, ich bin nur ... hier gefangen. Deshalb habe ich jemand Hilfe brauchen mich mein Wose Teil zu kultivieren!
+
+I can warp you home now.
+Ich kann Sie jetzt nach Hause verziehen.
+
+I can't believe it took so long to fix... And worse, next spring it'll be the same story all over again...
+Ich kann nicht glauben, es zu beheben so lange gedauert hat ... Und schlimmer noch, im nächsten Frühjahr wird es die gleiche Geschichte noch einmal sein ...
+
+I can't believe it! You've brought me @@ @@!
+Ich kann es nicht glauben! Du hast mich gebracht @@ @@!
+
+I can't believe it.
+
+
+I can't give you the Apple I've stole. Because, I was stolen first!
+Ich kann Ihnen nicht das Apple gebe ich habe gestohlen hat. Da wurde ich zum ersten Mal gestohlen!
+
+I can't handle it anymore! NO MORE!
+Ich kann es nicht mehr handhaben! NICHT MEHR!
+
+I can't sleep, so I'm writing this entry. It'll take a considerable amount of time to decrypt the shield frequency Raid is using, and when Saul's army is marching towards their deaths, time is of essence. Every second I waste, is a comrade who will die.
+
+
+I can't stay here and talk all day. I have a job to do.
+Ich kann nicht den ganzen Tag hier rumstehen und reden. Ich habe einen Job zu erledigen.
+
+I can't use the shovel here.
+Ich kann die Schaufel hier nicht benutzen.
+
+I can't, sorry.
+Das kann ich nicht, sorry.
+
+I can't. Rakinorf told me I should bring this matter to you instead.
+Ich kann nicht. Rakinorf sagte mir, ich sollte stattdessen zu Ihnen bringen, diese Angelegenheit.
+
+I cannot answer you about yourself, but I can tell you about the Ancient Families and the World Edge. Which is classified information, by the way.
+Ich kann Sie über sich selbst nicht beantworten, aber ich kann Ihnen über die alten Familien und der Weltrand erzählen. Welches ist Sachen, nebenbei gesagt.
+
+I cannot be alone to summon the Yeti King.
+Ich kann nicht allein sein, den Yeti König zu rufen.
+
+I cannot in good faith ask someone with so little experience to risk their life for something so trivial.
+
+
+I cannot just give it to you for nothing. Run to Elanore and fetch me a @@. You need to make a new one, an old one I won't accept.
+Ich kann es dir nicht für garnichts geben. Lauf zu Elanore und hol mir einen @@. Du musst einen neuen machen, einen alten werde ich nicht akzeptieren.
+
+I cannot leave until Luvia and her allies are dead.
+
+
+I cannot melt this. I only melt down equipment, and not everything I know how to!
+Ich kann das nicht schmelzen. Ich schmelze nur nach unten Ausrüstung, und nicht alles, was ich weiß, wie man!
+
+I cannot pass, because I am only level @@.
+Ich kann es nicht passieren, weil ich nur Level bin @@.
+
+I cannot read the signs from this far away.
+Ich kann nicht die Zeichen von so weit weg lesen.
+
+I certainly can't get out on my own.
+Ich kann sicherlich nicht heraus auf eigene Faust.
+
+I changed my mind, I think I would like a copy!
+Ich habe meine Meinung geändert, ich denke, ich möchte eine Kopie gefällt!
+
+I changed my mind, goodbye.
+
+
+I changed my mind.
+Ich hab meine Meinung geändert.
+
+I charge a service fee of @@ GP, and two gemstones.
+Ich berechne eine Servicegebühr von @@ GP und zwei Edelsteine.
+
+I collect them.
+Ich sammle sie.
+
+I come here frequently to trade. It is not deserted nor boring.
+Ich komme hier oft den Handel. Es ist nicht noch langweilig verlassen.
+
+I could easily bake one for you, provided you bring me the following:
+Ich könnte leicht für Sie backen, sofern Sie mir folgendes mitbringen:
+
+I could explain this better, but you are just a noob at magic, if you understand me.
+Ich kann dies besser erklären, aber sie sind nur ein noob an Magie, wenn Sie mich verstehen.
+
+I could make ink myself, but I am lacking some material...
+Ich kann mich machen Tinte, aber ich fehle etwas Material ...
+
+I could not be the Bandit King. But once I steal all Mana Stones, I'll be not only the best thief in the world. I already decided my new title.
+Ich konnte nicht der Bandit König sein. Aber sobald ich alle Mana-Steine ​​stehlen, werde ich nicht nur der beste Dieb in der Welt sein. Ich habe bereits meinen neuen Titel entschieden.
+
+I currently have some pets with me. For most, you need to finish their Grand Hunter Quest, of course.
+Ich habe derzeit einige Haustiere bei mir. Für die meisten musst Du die Grand-Hunter Quest natürlich beendet haben.
+
+I did a travel to their cave, I wondered why their faces are never seen. Reason is that they're monsters.
+Ich habe eine Reise in ihre Höhle, fragte ich mich, warum ihre Gesichter nie zu sehen sind. Der Grund hierfür ist, dass sie Monster.
+
+I did not summon you, I'm just a passer-by. Sorry.
+Ich habe rufen Sie nicht, ich bin nur ein Passant. Es tut uns leid.
+
+I did nothing wrong! I am not AFK!
+Ich habe nichts falsch gemacht! Ich bin nicht AFK!
+
+I did some tritan friends, though. They teached me how to breath underwater. It's not so bad.
+Ich habe einige Freunde tritan, though. Sie teached mich, wie zu atmen unter Wasser. Es ist nicht so schlecht.
+
+I disguise myself into a giant mutated bat, but every time I break or lose my fake teeth.
+Ich verschleiern mich in einen riesigen mutiertes Fledermaus, aber jedes Mal, wenn ich brechen oder meine gefälschte Zähne verlieren.
+
+I do not have Everburn Powder to lit the torch.
+Ich habe nicht Everburn Pulver, um die Fackel angezündet.
+
+I do not know how to trigger this summoning circle.
+Ich weiß nicht, wie dieser Beschwörungskreis auszulösen.
+
+I do not like him, but even so, he keeps bothering me! Maybe I could out-impress him, though!
+Ich weiß nicht wie er, aber auch so, er hält mich stört! Vielleicht könnte ich out-beeindrucken ihn, aber!
+
+I do now know what this means: GS-@@-ICXN-@@
+Ich weiß jetzt, was das bedeutet: GS - @@ - ICXN - @@
+
+I do some research about evolution of snake skin subject to hard sunlight.
+Ich einige der Forschung über die Evolution der Schlangenhaut unter harten Sonnenlicht.
+
+I do. I want to challenge the Candor Cave!
+Ich mache. Ich möchte die Candor Cave Herausforderung!
+
+I don't believe you.
+Ich glaube dir nicht.
+
+I don't care about dirty miners problem.
+Ich kümmere mich nicht um schmutziges Knappes Problem.
+
+I don't care for equipment, gimme a snake skin.
+Ich interessiere mich nicht für Geräte, gimme eine Schlangenhaut.
+
+I don't care for shorts, gimme a snake skin.
+Ich interessiere mich nicht für Shorts, gimme eine Schlangenhaut.
+
+I don't care for your reasons.
+Ich für Ihre Gründe nicht.
+
+I don't have a spare. They're *hic* done by ANISE INC., their headquarters are in Frostia.
+Ich habe nicht einen Ersatz. Sie sind * hicks * gemacht durch ANIS INC., Deren Hauptsitz in Frostia.
+
+I don't have enough money...
+Ich habe nicht genug Geld ...
+
+I don't have that much money, sorry.
+
+
+I don't have the time!
+Ich habe keine Zeit!
+
+I don't have them, actually.
+Ich habe sie nicht, eigentlich.
+
+I don't have time for that.
+Ich habe keine Zeit.
+
+I don't have time sorry.
+Ich habe keine Zeit, sorry.
+
+I don't know
+Ich weiß es nicht
+
+I don't know for what crazy reason you might want to do this, there is absolutely no benefit to this. I think you just selected the wrong option.
+
+
+I don't know if jesusalva allow me to teach you a basic shaman skill!? .
+Ich weiß nicht, ob jesusalva mir erlauben, Ihnen eine grundlegende Schamane Fähigkeit zu lehren !? .
+
+I don't know if our clan will survive for much longer. Do you have any questions before we all die and our knowledge gets forgotten?
+
+
+I don't know what you did, but both the Ducks and Blubs did got scared. I thank you in the name of the city guard. Please come back later.
+Ich weiß nicht, was Sie getan haben, aber beide die Enten und Blubs Angst haben können. Ich danke Ihnen im Namen der Stadtwache. Bitte komme später zurück.
+
+I don't know what, but it is
+Ich weiß nicht, was, aber es ist
+
+I don't know who sent you to me, but this is a flat and big NO!
+Ich weiß nicht, wer du mir geschickt, aber das ist eine flache und große NO!
+
+I don't know why they would repeat a past mistake. The Monster King is not human anymore. I also do not know what artifact they lost. We have more questions than certainty about this.
+
+
+I don't know, I assume the staff was burried with him on the deepest parts of the cave. If it was easy, someone would already have stolen it.
+
+
+I don't know.
+
+
+I don't know. Try getting a Rusty Knife or something. Maybe the chef of Nard's ship can spare you one.
+Ich weiß es nicht. Versuchen Sie, ein Rusty Messer oder etwas zu bekommen. Vielleicht kann der Chef von Nard Schiffs Ihnen eine ersparen.
+
+I don't know?
+
+
+I don't like them, I can't fly straight.
+Ich weiß nicht wie sie, ich kann nicht gerade fliegen.
+
+I don't need anything after all, goodbye!
+
+
+I don't need help!
+Ich brauche keine Hilfe!
+
+I don't need to be rescued. I'm enjoying myself here.
+
+
+I don't really understand how the dungeon works. I promise you a reward when you finish the task.
+Ich verstehe wirklich nicht, wie das Verlies funktioniert. Ich verspreche Ihnen, eine Belohnung, wenn Sie die Aufgabe zu beenden.
+
+I don't really understand it either, but it's not for sale. Maybe you could come back later so I can read more of it to you.
+Ich werde es auch nicht wirklich verstehen, aber es ist nicht zu verkaufen. Vielleicht könnten Sie später wiederkommen, damit ich mehr davon Sie lesen können.
+
+I don't remember what I need now, but if you give me a moment, I'll get the list.
+Ich erinnere mich nicht, was ich brauche jetzt, aber wenn Sie mir einen Moment geben, ich werde die Liste bekommen.
+
+I don't remember. I guess somebody threw me here!
+Ich erinnere mich nicht. Ich glaube, jemand warf mich hier!
+
+I don't suppose you have some herbs and a few bottles of potion with you, do you?
+Ich nehme an, Sie einige Kräuter nicht haben und ein paar Flaschen Trank mit Ihnen, nicht wahr?
+
+I don't think I needed to keep looking these barrels.
+Ich glaube nicht, dass ich diese Fässer suchen zu halten brauchte.
+
+I don't think I needed to keep looking these potions.
+Ich glaube nicht, dass ich diese Tränke suchen zu halten brauchte.
+
+I don't think I needed to keep looking these wardrobes.
+Ich glaube nicht, dass ich diese Schränke suchen zu halten brauchte.
+
+I don't think he could have collected that many!
+Ich glaube nicht, dass er, dass viele gesammelt haben könnte!
+
+I don't think so. There have been... Incidents.
+Ich glaube nicht. Es gab ... Vorfälle.
+
+I don't think you have any broken item, but if a friend of mine break your stuff, come talk to me!
+Ich glaube nicht, dass Sie jede gebrochen Artikel haben, aber wenn ein Freund von mir deine Sachen brechen, komm mit mir reden!
+
+I don't trust @@s.
+Ich traue @@ s.
+
+I don't understand what went wrong with that spell, but it just has to have another cause than Peetu. I'm worried about him. He must feel very miserable. But I can't leave my duty here.
+Ich verstehe nicht, was mit diesem Zauber schief gelaufen ist, aber es hat nur als Peetu eine andere Ursache haben. Ich bin über ihn besorgt. Er muss sehr elend fühlen. Aber ich kann meine Pflicht, hier nicht verlassen.
+
+I don't want anything right now, bye.
+Ich will nicht alles gerade jetzt, bye.
+
+I don't want her to think that I am a bad mother.
+Ich will, dass sie nicht denken, dass ich eine schlechte Mutter bin.
+
+I don't want to help your "friends", bring me to somewhere useful!
+
+
+I don't work with bound items.
+Ich habe nicht mit gebundenen Elementen arbeiten.
+
+I dunno. I don't think they're sold anywhere.
+
+
+I failed to protect them.
+
+
+I feel indifferent.
+
+
+I feel like a burden was lifted from my shoulders.
+
+
+I feel much safer now that you defeated the slimes. Thanks so much! Do you need anything else?
+Ich fühle mich viel sicherer, jetzt, dass Sie die Schleime besiegt. Vielen Dank! Brauchst du noch was?
+
+I feel ok.#0
+Mir gehts gut.
+
+I feel ok.#1
+Mir gehts gut.
+
+I fight every day in hopes to be like Andrei, the famous hero who prevented Hurnscald from total destruction against a horde of monsters alone.
+
+
+I fight every day in hopes to meet Andrei, the famous hero who prevented Hurnscald from total destruction against a horde of monsters alone.
+Ich kämpfe jeden Tag in der Hoffnung zu treffen Andrei, der berühmten Helden, den Hurnscald vor dem totalen Zerstörung gegen eine Horde von Monstern allein verhindert.
+
+I finally figured out what was wrong. I must thank everyone who help us.
+Ich endlich herausgefunden, was falsch war. Ich muss allen danken, die uns helfen.
+
+I forgot to say earlier, but indeed, I was invited by someone!
+Ich habe vergessen, früher zu sagen, aber in der Tat, ich wurde von jemandem eingeladen!
+
+I forgot what you need!
+Ich habe vergessen, was Sie brauchen!
+
+I forgot what you need.
+Ich habe vergessen, was Sie brauchen.
+
+I found %s and %s!
+
+
+I found %s!
+
+
+I found switches which only a Yeti may flip...
+Ich fand Schalter, die nur ein Yeti Flip kann ...
+
+I found your birth record, but it is not complete. Here says you were born on @@.
+Ich fand Ihre Geburtsurkunde, aber es ist nicht vollständig. Hier sagt man auf @@ geboren wurden.
+
+I give up. You're hopeless.
+Ich gebe auf. Du bist hoffnungslos.
+
+I give you five minutes to defeat me. Witness my wrath!
+Ich gebe dir 5 Minuten um mich zu besiegen. Zeuge meinen Zorn!
+
+I go right.
+Ich gehe rechts.
+
+I got a Wizard Hat.
+
+
+I got a Wooden Staff.
+
+
+I got the apple.
+Ich habe den Apfel.
+
+I got the eggs.
+Ich habe die Eier.
+
+I got the maggots slimes.
+Ich habe die Maden Schleime.
+
+I got the silk and chocolate.
+Ich habe die Seide und Schokolade.
+
+I guess I love the server, we all know ♪
+
+
+I guess I'll need to try to work with whatever ink is left until the supplies arrive next month...
+Ich denke, ich werde versuchen müssen, mit zu arbeiten, was auch immer Tinte übrig ist, bis die Lieferungen im nächsten Monat kommen ...
+
+I guess it can also be used at quests... Or sell to Juliet, on Nard's ship.
+Ich denke, es kann auch bei Aufgaben verwendet werden ... oder verkaufen Juliet, auf Nard des Schiffes.
+
+I guess it still remembers the sting on the snout. Ouch!
+
+
+I guess she sent you to kill another Bandit Lord, right? Ok, I'll give you the key for his room.
+Ich glaube, sie Sie einen anderen Bandit Herr, Recht zu töten geschickt? Ok, ich gebe Ihnen den Schlüssel für sein Zimmer.
+
+I guess that you could use these lifestones to gain a regeneration effect, too, but I do not know how.
+Ich denke, dass Sie diese lifestones verwenden könnten einen Regenerationseffekt zu gewinnen, auch, aber ich weiß nicht, wie.
+
+I guess you cannot bring more than 1kg with full health. Less, if you're hurt.
+Ich denke, man kann nicht mehr bringen, als mit voller Gesundheit 1kg. Weniger, wenn Du bist verletzt.
+
+I guess you'll need an Yeti for that, but those on the cave are murderous.
+Ich denke, Sie werden dafür einen Yeti brauchen, aber die auf der Höhle sind mörderisch.
+
+I guess, there might be a single spot where water is a bit deeper, but I wasn't lucky.
+Ich denke, es könnte ein einzelner Punkt sein, wo das Wasser etwas tiefer, aber ich war nicht glücklich.
+
+I hate asking this of a lesser being like you, but if you plan in staying in our town, you should at very least make yourself useful.
+
+
+I hate foreigners. They know nothing about us and want to impose their "ideals" about democracy and whatever.
+
+
+I hate so much the Pinkies on my fields, I want to do a soup! Can you provide me 10 @@? Many thanks.
+Ich hasse es so sehr die Pinkies auf meine Felder, ich möchte eine Suppe tun! Können Sie mir 10 @@? Danke vielmals.
+
+I hate the Red Queen.
+
+
+I hate the sea, the salty air always lets my knives rust. I already have a stockpile of rusty knives, don't even know what to do with them.
+
+
+I hate to leave you now, @@, but I have more important things to do.
+Ich hasse dich jetzt zu verlassen, @@, aber ich habe wichtigere Dinge zu tun.
+
+I hate you Pinkies, and I hate the Monster King too, for bringing forth these plagues!!
+Ich hasse dich Pinkies, und ich hasse das Monster King auch für Hervorbringung diese Plagen !!
+
+I have 5 Bandit Hoods with me.
+Ich habe 5 Banditen Hauben mit mir.
+
+I have 5 Treasure keys with me.
+Ich habe 5 Schatz Schlüssel bei mir.
+
+I have a Stinger with me. Try it!
+Ich habe einen Stinger mit mir. Versuch es!
+
+I have a butterfly.
+
+
+I have a few items for sale...
+Ich habe ein paar Artikel zum Verkauf ...
+
+I have a lava mana pearl.
+
+
+I have a letter for the Mayor.
+Ich habe einen Brief für den Bürgermeister.
+
+I have a letter from Rakinorf.
+Ich habe einen Brief von Rakinorf.
+
+I have a lot of work to do now.
+Ich habe eine Menge Arbeit jetzt zu tun.
+
+I have a lot of work to do now. But before you leave...
+Ich habe eine Menge Arbeit jetzt zu tun. Aber bevor Sie verlassen ...
+
+I have a present box to you open.
+Ich habe ein Geschenk-Box für Sie öffnen.
+
+I have a print screen!
+Ich habe einen Druck Bildschirm!
+
+I have a spare pair of gloves laying somewhere, you can have those if you finish the task.
+Ich habe ein Ersatz Paar Handschuhe irgendwo legen, können diejenigen haben, wenn Sie die Aufgabe zu beenden.
+
+I have a supplier, gimme TEN batches!
+Ich habe einen Lieferanten, gimme TEN Chargen!
+
+I have all.
+Ich habe alle.
+
+I have already completed this arena.
+
+
+I have bounties for specific high level monsters as well for extermination. Do note mobs killed in Heroes Hold may not count.
+
+
+I have brought you the beer.
+Ich habe Ihnen das Bier gebracht.
+
+I have developed a special formula, which resets your stats!
+Ich habe eine spezielle Formel entwickelt, die Ihre Statistiken zurückgesetzt!
+
+I have everything here with me.
+Ich habe alles, was hier mit mir.
+
+I have everything you asked me.
+
+
+I have everything you've asked for.
+Ich habe alles, was Sie gefragt haben.
+
+I have everything!
+Ich habe alles!
+
+I have everything, can you tailor it?
+Ich habe alles, können Sie es anpassen?
+
+I have everything.
+Ich habe alles.
+
+I have extremely difficult quests for you; They are more painful than a Grand Hunter Quest, because I don't admit wimps fighting with me.
+
+
+I have homework to do...
+
+
+I have it right here. You can take it!
+Ich habe es hier richtig. Du kannst es haben!
+
+I have my favorite book of all times, Moby Dick. Let me read some of it to you....
+Ich habe mein Lieblingsbuch aller Zeiten, Moby Dick. Lassen Sie uns einige davon zu lesen Sie ....
+
+I have no idea about who would make a pendant, but lifestone can be done just outside the town walls.
+Ich habe keine Ahnung, wer einen Anhänger machen würde, aber Life kann nur außerhalb der Stadtmauern durchgeführt werden.
+
+I have no idea what's above. Behind the stair, is the painting of a table.
+Ich habe keine Ahnung, was oben ist. Hinter der Treppe, ist das Gemälde einer Tabelle.
+
+I have no interest in things such as that.
+Ich habe kein Interesse an den Dingen, wie sie.
+
+I have no interest on this item.
+Ich habe kein Interesse an diesem Artikel vor.
+
+I have one here...
+Da habe ich eine ...
+
+I have other things to do at the moment.
+Ich habe andere Dinge im Moment zu tun.
+
+I have some good and some bad news for you.
+
+
+I have some healing items with me, we should tend your wounds first.
+Ich habe einige Heilung Elemente mit mir, sollten wir deine Wunden zuerst neigen.
+
+I have some sweeties for the Tea Party!
+Ich habe ein paar Süßigkeiten für die Tee-Party!
+
+I have the ingredients here.
+
+
+I have the items, please bake for me
+Ich habe die Artikel, backen Sie für mich
+
+I have the sturdy wood and the string.
+Ich habe das robuste Holz und die Zeichenfolge.
+
+I have them here already.
+Ich habe sie hier schon.
+
+I have to get going now. Thanks for the help!
+Ich habe jetzt loslegen. Danke für die Hilfe!
+
+I have to go, sorry.
+Ich muss gehen, tut mir leid.
+
+I have to go. See you later.
+Ich muss gehen. Bis später.
+
+I have to think.
+
+
+I have what you want.
+Ich habe, was Sie wollen.
+
+I haven't thanked you yet.
+Ich habe gedankt Sie noch nicht.
+
+I hear a Fafi Dragon on THIS very island!!
+Ich höre einen Fafi Drachen auf dieser sehr Insel !!
+
+I heard a rumor the other day. About the tree I had found!
+
+
+I heard every Sunday there's a party at Halinarzo Church, but to get there you need to pass through the Desert Canyon.
+Ich habe gehört, jeden Sonntag gibt es eine Partei bei Halinarzo Kirche, sondern um dort anzukommen müssen Sie Desert Canyon passieren.
+
+I heard they promised to revive the Red Queen, no idea how and don't care, they don't have money anyway.
+
+
+I heard you fought the slimes that were still roaming between the bookshelves. Thank you!
+Ich habe gehört, Sie die Schleime gekämpft, die nach wie vor wurden zwischen den Regalen Roaming. Vielen Dank!
+
+I heard you have been assisting the household staff. For that, I am thankful.
+Ich hörte, dass Sie das Hauspersonal zu unterstützen haben. Dafür bin ich dankbar.
+
+I heard you have met my good friend George, and you gave him some items that he needed...
+Ich habe gehört, Sie meinen guten Freund George getroffen haben, und Sie gab ihm einige Artikel, die er brauchte ...
+
+I heard your investigations reminded other people that they observed suspicious behaviour too.
+Ich hörte Ihre Untersuchungen andere Menschen daran erinnert, dass sie zu verdächtiges Verhalten beobachtet.
+
+I honestely wouldn't hire a Mercenary.
+Ich würde honestely kein Söldner mieten.
+
+I hope my answer help you in your adventure!
+Ich hoffe, meine Antwort hilft Ihnen bei Ihrem Abenteuer!
+
+I hope my men are safe, that was yesterday. I am barely alive.
+Ich hoffe, meine Leute sind sicher, dass gestern war. Ich bin gerade noch am Leben.
+
+I hope one day, they decide build a church here. It's a pain to travel there every time...
+Ich hoffe, dass sie einen Tag entscheiden, hier eine Kirche bauen. Es ist ein Schmerz zu reisen jedes Mal, da ...
+
+I hope that strange towel man doesn't bother me again...
+
+
+I hope this is your size.
+Ich hoffe, das Ihre Größe.
+
+I hope to one day be like @@, who @@
+Ich hoffe, einen Tag wie @@, die @@
+
+I hope you got a Jean Shorts, but that depends on luck. Anyway, here is your reward.
+Ich hoffe, dass Sie einen Jean Shorts bekamen, aber das hängt von Glück. Wie auch immer, hier ist deine Belohnung.
+
+I hope you like this color.
+Hoffentlich gefällt dir diese Farbe.
+
+I intend to continue with my family's tradition, by teaching the Way of Archery.
+Ich beabsichtige, mit meiner Familie Tradition fortzusetzen, durch den Weg des Bogenschießens lehren.
+
+I investigate missing pets. Many flee from their owners because they die pathetically or forgot to feed them.
+Ich untersuchen vermisste Haustiere. Viele von ihren Besitzern fliehen, weil sie pathetisch sterben oder vergessen haben, sie zu füttern.
+
+I just gave you it. Come back later.
+Ich habe Sie es. Kommen Sie später wieder.
+
+I just go out removing swords from rocks, and then throwing them again at the lake. All that while I drink coffee.
+Ich gehe nur Schwerter aus Felsen zu entfernen, und dann sie wieder in den See zu werfen. Alles, während ich Kaffee trinken.
+
+I just want to live my life in peace.
+Ich möchte nur in Frieden leben.
+
+I just want to trade.
+Ich möchte nur handeln.
+
+I keep failing to summon maggots...
+Ich halte andernfalls Maden rufen ...
+
+I knew someone would agree with me!
+Ich wusste, dass jemand würde mir zustimmen!
+
+I know a few bandits stole a few, and Lava Slimes love to eat Casino Coins.
+
+
+I know another Bandit Lord will take up his place, but the loss of their leader will make bandits scatter long enough.
+Ich weiß, dass ein anderer Bandit Herr seinen Platz einnehmen wird, aber der Verlust ihres Führers wird Banditen machen lange genug streuen.
+
+I know how hard it is! I hate them with all my heart, only seeing you killing them left and right was GREAT!
+Ich weiß, wie schwer es ist! Ich hasse sie mit ganzem Herzen, nur sehen Sie töten sie nach links und rechts war super!
+
+I know how many bat teeth and wings Arkim collected.
+Ich weiß, wie viele Schläger Zähne und Flügel Arkim gesammelt.
+
+I know it may sound silly, but I need your help to find out who I am.
+Ich weiß, es klingt vielleicht albern, aber ich brauche Ihre Hilfe, um herauszufinden, wer ich bin.
+
+I know where the Bandit Lord room is, and I have a guard stationed not far from there. Ask him for the key.
+Ich weiß, wo der Bandit Herr Zimmer ist, und ich habe eine Wache von dort nicht weit stationiert. Fragen Sie ihn nach dem Schlüssel.
+
+I know you have %d %s with you, just haven't said before to be polite.
+
+
+I leave this basement that start to be too dangerous!
+Ich lasse diesen Keller, der zu gefährlich sein, beginnen!
+
+I like Mana Magic the best, as we can both summon creatures as transmutate stuff. %%N
+
+
+I like people like you, straight to the subject.
+Ich mag Leute wie Sie, gerade zum Thema.
+
+I like to eat snake eggs. Lemme do you a proposal: You bring me %d %s, and I'll give you a flask of %s.
+
+
+I like to sing.
+Ich mag singen.
+
+I like to talk! If yeye likes too, you can press @@ to open chat box!
+Ich mag es zu reden! Wenn yeye auch gefällt, können Sie @@ zu öffnen Chat-Box drücken!
+
+I lost the precious ring they gave me as a gift... Who could have taken it...?
+Ich verlor den kostbaren Ring sie mir als Geschenk gegeben ... Wer es genommen haben könnte ...?
+
+I love living here, but I wish people weren't locked inside the rooms all time.
+
+
+I love seeing their terrorize face.
+Ich liebe es zu sehen, ihr terrorize Gesicht.
+
+I love you, Silvia! - Swezanne
+Ich liebe dich, Silvia! - Swezanne
+
+I made a mistake, I would like to change my language.#0
+Ich habe einen Fehler gemacht. Ich würde gerne meine Sprache ändern.
+
+I made a mistake, I would like to change my language.#1
+Ich habe einen Fehler gemacht. Ich würde gerne meine Sprache ändern.
+
+I make both @@ and @@, if you give me the shrooms associated to them, and money.
+Ich mache beide @@ und @@, wenn Sie mir die Pilze zu ihnen verbunden geben und Geld.
+
+I may have a task for you. Return when you tired of exploring...
+
+
+I mean, a ship should come to pick you up, but the arch-wizards said they were too lazy to take care of those small details. So you'll be warped.
+
+
+I mean, that's absurd! If there was one, it would have been taken already. Unless if grew some sentience or something.
+
+
+I mean, there's even an Monster King? What sort of world is this?!
+Ich meine, es gibt sogar ein Monster King? Was für eine Art von Welt ist das ?!
+
+I met Elli.
+
+
+I might be able to get you a rare copy of the Maritime Almanac Scroll. A yearly publication for seafaring men.
+Vielleicht kann ich Ihnen eine seltene Kopie des Maritime Almanac Blättern Sie bekommen. Eine jährliche Veröffentlichung für Männer Seefahrt.
+
+I might want to ask an Yeti specialist about this. Maybe Celestia?
+
+
+I mine here since a while. My favorite activity is to scare other miners!
+
+
+I miss Ms. De'Kagen, she was very benevolent but from another world. Why does this one only have annoying pricks for Originals. Wait, I'm getting sidetracked.
+
+
+I miss the Red Queen, times were easier when she was around.
+
+
+I moved to Hurnscald, stayed there for over a decade, until Lord Transmogrifier Pontorias the Plaid (May His Shape Reflect His Soul Forever) died.
+Ich zog nach Hurnscald, blieb dort für mehr als ein Jahrzehnt, bis Herr Transmogrifier Pontorias das Plaid (möge seine Seele für immer seine Form Reflect) gestorben.
+
+I must have full MP to touch it... Which I don't.
+Ich muss voll MP, es zu berühren ... Was ich nicht.
+
+I must keep notes of this.
+Ich muss Hinweise dafür halten.
+
+I must report this to Jesusalva. The inventory system can't handle that much. Want more? Try 1,638,400.
+Ich muss dies Jesusalva melden. Das Inventar-System kann nicht so viel verarbeiten. Mehr wollen? Versuchen 1.638.400.
+
+I must, however, remember that the most powerful magical equipment ##B may require intelligence ##b to use.
+
+
+I must, however, thank you. I could not just come straight up and tell that to everyone, nor simply lock the house without no reason. I'm always fair.
+Ich muss jedoch, danke. Ich konnte nicht einfach kommen gerade nach oben und sagen, dass für jeden, noch einfach sperren, das Haus ohne ohne Grund. Ich bin immer fair.
+
+I need 2 @@, the @@, and 4000 GP.
+Ich brauche 2 @@, die @@ und 4000 GP.
+
+I need @@ @@, if you could arrange me that I would be grateful.
+Ich brauche @@ @@, wenn Sie mich arrangieren könnte, wäre ich dankbar.
+
+I need @@ @@.
+Ich brauche @@ @@.
+
+I need @@ Herbs!
+Ich brauche @@ Kräuter!
+
+I need @@ to work...
+Ich muss arbeiten...
+
+I need @@/@@ @@ for the book covers and binding of some of the more valuable books we're trying to recreate.
+Ich brauche @@ / @@ @@ für die Buchumschläge und Bindung von einigen der wertvolleren Bücher versuchen wir neu zu erstellen.
+
+I need FIVE batches!
+Ich brauche fünf Chargen!
+
+I need a GM set, please!
+Ich brauche ein GM-Set, bitte!
+
+I need a favor from you. Go talk to Peetu. Ask him to confirm if there was silk cocoon in the ingredients. Janika reported me that we've ran out of it two days ago.
+Ich brauche einen Gefallen von Ihnen. Sprich mit Peetu. Fragen Sie ihn, um zu bestätigen, ob es Seide Kokon in den Zutaten war. Janika berichtete mir, dass wir schon vor der zwei Tage lief.
+
+I need a favor! For certain... reasons... I ran out of poison! And For certain... reasons... I am in dire need of them!
+
+
+I need a string, but not just any string, a really good string.
+Ich brauche eine Zeichenfolge, aber nicht nur eine beliebige Zeichenfolge, eine wirklich gute Saite.
+
+I need a sturdy wood piece for a Forest Bow.
+Ich brauche ein robustes Holzstück für einen Wald Bow.
+
+I need a suitable base helmet, some herbs to use my magical dye, and gold:
+Ich brauche einen geeigneten Basishelm, einige Kräuter meine magischen Farbstoff und Gold zu verwenden:
+
+I need a tutorial, where can I find help?
+Ich brauche ein Tutorial, wo finde ich Hilfe?
+
+I need at minimum %d Monster Points to get items at current level.
+
+
+I need for the Magic Academy a @@, fast!
+Ich brauche für die Magic Academy eine @@, schnell!
+
+I need groceries. %d %s, %d %s, %d %s, %d %s and %d %s. Give it to my wife, Silvia.
+
+
+I need help because, you see, I don't carry a cauldron around.
+Ich brauche Hilfe, weil Sie sehen, ich habe nicht einen Kessel herum tragen.
+
+I need help, but you aren't strong enough. Please come back later.
+Ich brauche Hilfe, aber Sie sind nicht stark genug. Bitte komme später zurück.
+
+I need help.
+Ich brauche Hilfe.
+
+I need infirmary services.
+Ich brauche Krankenstation Dienstleistungen.
+
+I need millions of GP to fund my time-space shattering, and thus far, I've only collected @@ GP.
+Ich brauche Millionen GP meiner Zeit-Raum bewegend zu finanzieren und so weit, ich habe nur @@ GP gesammelt.
+
+I need more feathers for a fair deal.
+Ich brauche mehr Federn für einen fairen Deal.
+
+I need more return potions.
+Ich brauche mehr Rückkehr Tränke.
+
+I need offensive magic!
+
+
+I need some help with something, but I don't think you're strong enough. Come back later please when you're stronger.
+Ich brauche Hilfe bei etwas, aber ich glaube nicht, dass du bist stark genug. Kommen Sie später wieder bitte, wenn Sie stärker sind.
+
+I need some materials to repair my spacesh- ahm, it's not important why I need it.
+Ich brauche ein paar Materialien meine spacesh- ahm zu reparieren, es ist nicht wichtig, warum ich es brauche.
+
+I need somebody who can rid the hold of the ship of these creatures. Can you help me?
+Ich brauche jemanden, der den Laderaum des Schiffes dieser Kreaturen befreien. Kannst du mir helfen?
+
+I need someone to help me clean the edge of the ship, but you aren't strong enough for now.#0
+Ich brauche Hilfe, um den Kiel des Schiffes zu säubern. Du bist aber noch nicht stark genug dafür.
+
+I need someone to help me clean the edge of the ship, but you aren't strong enough for now.#1
+Ich brauche Hilfe, um den Kiel des Schiffes zu säubern. Du bist aber noch nicht stark genug dafür.
+
+I need support magic!
+
+
+I need supreme ranger skills!
+
+
+I need supreme warrior skills!
+
+
+I need to buy your silence. I'll reward you greatly when I'm done. But first, I need to know if you'll be loyal to me.
+Ich brauche dein Schweigen zu kaufen. Ich werde dich sehr belohnen, wenn ich fertig bin. Aber zuerst muss ich wissen, wenn du mir treu sein werde.
+
+I need to enter.
+
+
+I need to finish studying for my test...
+
+
+I need to go on with sorting the bookpages now.
+Ich muss weitergehen mit nun die Sortierung bookpages.
+
+I need to go.
+Ich muss gehen.
+
+I need to know if someone is blaming him. It is important.
+Ich muss wissen, wenn jemand ihm die Schuld. Es ist wichtig.
+
+I need to leave.
+Ich muss gehen.
+
+I need to pour the @@ to summon the Yeti King.
+Ich brauche die @@ beschwört den Yeti König zu gießen.
+
+I need to survive anything!
+
+
+I need to talk with you!
+Ich muss mit dir reden!
+
+I need to think about it...#0
+Ich muss darüber nachdenken...
+
+I need to think about it...#1
+Ich muss darüber nachdenken...
+
+I need you to bring me some basic items to face Winter! Fire is the most important for us.
+Ich brauche Sie mir ein paar grundlegende Dinge zu Gesicht Winter-bringen! Feuer ist das wichtigste für uns.
+
+I need you to find her to and bring her back there, along whatever she stole. Then I'll honor your request.
+Ich brauche dich, sie zu finden und sie wieder dorthin bringen, zusammen, was auch immer sie gestohlen hat. Dann werde ich Ihren Antrag.
+
+I need you to take care of my 'Piou Problem.'
+
+
+I need your help dude!
+Ich brauche Ihre Hilfe dude!
+
+I never knew you could fail THAT hard. I've took Saulc's Fertilizer's recipe, success chance is of 100% if you want to try again.
+Ich wusste nie, könnte man so schwer ausfallen. Ich habe Saulc des Düngemittels Rezept nahm, Erfolgschance ist von 100%, wenn Sie es noch einmal versuchen wollen.
+
+I never tried it, because it makes no sense to do that, but theoretically adding some Silk Cocoons could have such an effect. Uh... but that should not happen.
+Ich habe nie versucht es, weil es keinen Sinn, das zu tun macht, aber theoretisch das Hinzufügen einige Silk Cocoons solche Wirkung haben könnte. Uh ... aber das sollte nicht passieren.
+
+I offer an awesome skill for you, for a very slow price, and you try to cheat me... pitiful...
+Ich biete eine wunderbare Fähigkeit für Sie, für einen sehr langsamen Preis, und Sie versuchen, mich zu betrügen ... erbärmlich ...
+
+I offer you %d GP for one. What do you say?
+
+
+I offer you %s Aethyr Points per unit of %s. How many do you wish to sell? (0-%d)
+
+
+I offer you either %s GP, or %s Monster Points for it. What do you say?
+
+
+I once killed a Giant Maggot alone!
+Ich tötete einmal einen Riesen Maggot allein!
+
+I only need @@ @@. Please! You have to help me!
+Ich brauche nur @@ @@. Bitte! Du musst mir helfen!
+
+I only need @@/@@ @@ to make enough magic paper for the books... Do you, perchance, have them with you?
+Ich brauche nur @@ / @@ @@, um genügend Magie Papier für die Bücher zu machen ... Haben Sie, vielleicht haben sie mit dir?
+
+I only take a tax of 100 gp per gem.
+Ich nehme nur eine Steuer von 100 gp pro gem.
+
+I plan in doing an event! Give me the coins!
+Ich plane eine Veranstaltung dabei! Gib mir die Münzen!
+
+I predict you're closer to find the Secret Of Mana, and therefore, be part on saving our world.
+Ich sage voraus, du bist näher das Geheimnis von Mana zu finden, und daher sein, einen Teil unserer Welt auf Speicher.
+
+I probably can give you my Sharp Knife, though! If you want to help me, that is.
+Ich kann wahrscheinlich Ihnen mein scharfes Messer geben, aber! Wenn Sie uns helfen wollen, ist, dass.
+
+I probably should let %s chant it.
+
+
+I probably should look in a way of calming him down.
+Ich sollte wohl in einer Art und Weise betrachten ihn zu beruhigen.
+
+I probably should talk to everyone else, and assess better the situation, before bothering Oskari.
+
+
+I promise I'll never steal from you again. Here, take these shorts.
+
+
+I protect a dungeon for PARTIES. You're not on a party, get moving.
+Ich schütze einen Kerker für die Parteien. Sie sind nicht auf eine Partei, sich zu bewegen.
+
+I protect a very dangerous dungeon, and it is so dangerous, that only parties can go in.
+Ich schütze einen sehr gefährlichen Kerker, und es ist so gefährlich, dass nur Parteien gehen in können.
+
+I put options on items upon request, but I am very expensive! This is deducted from your tweaking quota.
+
+
+I raise them, water them, and then sell them.
+Ich hebe sie, Wasser sie und verkaufen sie dann.
+
+I really hope that nothing major happens, though. I would hate to see blood being spilled.
+Ich hoffe wirklich, dass nichts wichtiger passiert, wenn. Ich würde es hassen Blut verschüttet zu sehen.
+
+I really wonder how that accident could've happened. I'd have never expected him to mess something up like that.
+Ich frage mich wirklich, wie dieser Unfall passieren kann. Ich hätte ihn nie zu verwirren etwas erwartet bis so.
+
+I really wonder what went wrong. I can't imagine Peetu messing up something so important.
+Ich frage mich wirklich, was schief gelaufen ist. Ich kann mir nicht vorstellen, Peetu etwas so wichtig vermasselt.
+
+I recommend that you train your agility a great deal, since most monsters out there aren't really amazing at hitting you.
+Ich empfehle Ihnen, Ihre Beweglichkeit sehr viel zu trainieren, da die meisten Monster da draußen zu schlagen Sie nicht wirklich erstaunlich sind.
+
+I regret it.
+
+
+I regret to inform Barbara was killed in battle before I could find her. I burried her in the mines.
+Ich bedauere, Barbara informieren wurde in der Schlacht getötet, bevor ich sie finden konnte. Ich burried sie in den Minen.
+
+I represent the @@ Hunters. We hunt @@ (Lv @@).
+Ich vertrete die @@ Hunters. Wir jagen @@ (Lv @@).
+
+I said go away!
+
+
+I said it cannot be yourself... </3
+Ich sagte, es nicht selbst sein kann ... </ 3
+
+I saw Purple the other day... Ah, now I want to eat @@... A dozen should do...
+Ich sah Lila neulich ... Ah, jetzt essen wollen @@ ... sollten ein Dutzend tun ...
+
+I saw some flower adorns, too. I hope it is not some traveler's grave. This war, it makes me so sad... I'm sure the tree was sad, too.
+
+
+I see it's not so easy to get rid of the monsters. Do you want to try again?
+Ich sehe, es ist nicht so einfach, die Monster loszuwerden. Willst du es nochmal versuchen?
+
+I see two snake skins, but you didn't killed them down there. That defeats the whole purpose.
+Ich sehe zwei Schlangenhäute, aber du hast sie nicht dort getötet hinunter. Das besiegt den ganzen Zweck.
+
+I see you are a Monster Hunting Quest Participant, right? I don't need your help right now, but maybe later, who knows?
+Ich sehe Sie ein Monster-Jagd Quest-Teilnehmer sind, nicht wahr? Ich Ihre Hilfe jetzt nicht brauchen, aber vielleicht später, wer weiß?
+
+I see you are doing good. Keep slaying them, hahaah!
+Ich sehe, Sie tun gut. Halten Sie Erschlagen sie, hahaah!
+
+I see you brought @@/5 @@ for us!
+Ich sehe, Sie @@ / 5 @@ für uns gebracht!
+
+I see you don't know how to craft. Do you want me to teach the basic for you? I'll charge 1000 GP.
+Ich sehe, Sie wissen nicht, wie Handwerk. Wollen Sie mir den Grund für Sie zu lehren? Ich werde 1000 GP aufzuladen.
+
+I see you finished the Master Dungeon and didn't found my men. I'll think on something.
+Ich sehe Sie den Meister-Dungeon fertig und haben meine Männer nicht gefunden. Ich werde auf etwas denken.
+
+I see you have arms long enough to be an archer.
+Ich sehe, Sie haben Arme lang genug ein Bogenschütze zu sein.
+
+I see you have brought @@/3 @@ and @@/10 @@ for me.
+Ich sehe, Sie haben gebracht @@ / 3 @@ und @@ / 10 @@ für mich.
+
+I see you have brought @@/3 @@ and @@/3 @@ for me
+Ich sehe, Sie haben gebracht @@ / 3 @@ und @@ / 3 @@ für mich
+
+I see you have collected some experience. Let me try to rank you up!
+Ich sehe, Sie einige Erfahrung gesammelt haben. Lassen Sie mich versuchen, Ihnen Rang aufzusteigen!
+
+I see you have magical powers. Have you been acknowledge by the Alliance as a mage? If not, you should regularize yourself as a @@º degree mage in Tulimshar Magic Council.
+
+
+I see you're trying to use the %s set, nice!
+
+
+I see you've brought Barbara here, excellent. She seems pretty beat up.
+Ich sehe, Sie Barbara hier, ausgezeichnete gebracht haben. Sie scheint ziemlich verprügeln.
+
+I see.
+Ach so.
+
+I see. Well, welcome to the game! If you have any doubt, shout on #world for help!
+
+
+I shall call myself from there on, after this great assault... @@.
+Ich werde mich von dort aus rufen, nach diesem großen Angriff ... @@.
+
+I shall decide here and now, if you are worth of living in this world!
+Ich werde hier und jetzt entscheiden, ob Sie leben in dieser Welt wert sind!
+
+I shall leave this book with my son, SphinxNox. I will not fail, and live forever. This will be their inheritance from me.
+Ich werde dieses Buch mit meinem Sohn, SphinxNox verlassen. Ich werde nicht versagen, und ewig leben. Dies wird ihr Erbe von mir sein.
+
+I shall not fail any further, I think my new formula is perfect! Here's the EXP, but I need material to use it!
+Ich werde nicht weiter scheitern, ich glaube, meine neue Formel ist perfekt! Hier ist die EXP, aber ich brauche Material, es zu benutzen!
+
+I shall report to Kenton. I now entrust this quest in your hands!
+Ich werde Kenton melden. Ich jetzt diese Quest in Ihren Händen anvertrauen!
+
+I should be prepared before walking on this.
+Ich sollte vor dem Gehen auf diese vorbereitet.
+
+I should check if I have more than enough potions and food before proceeding!
+Ich sollte überprüfen, ob ich, bevor Sie fortfahren mehr als genug Tränke und Nahrung haben!
+
+I should check the Apple Garden first.
+Ich soll zuerst den Apple Garden überprüfen.
+
+I should defeat all mobs before passing.
+
+
+I should have full mana before attempting to disarm one.
+Ich sollte die volle Mana hat, bevor zu entwaffnen einen Versuch.
+
+I should not go ahead... yet.
+Ich sollte nicht voran gehen ... noch.
+
+I should not veer off too much the path.
+Ich sollte nicht zu viel den Weg abzukommen.
+
+I should talk to Cauldron now... Scary.
+Ich sollte jetzt Cauldron reden ... Scary.
+
+I should talk to King Arthur.
+
+
+I should train my intelligence, and level up, both my base as my Job Level.
+Ich sollte meine Intelligenz und Level, sowohl meine Basis, wie mein Job Stufe trainieren.
+
+I should train my intelligence, have full MP, and don't neglect even Job Level.
+Ich sollte meine Intelligenz, haben die volle MP trainieren, und nicht zu vernachlässigen, auch Job-Ebene.
+
+I sponsor the alliance and all I got was a NPC and access to this ugly room.
+Ich Sponsor die Allianz und alles was ich bekomme ein NPC und den Zugang zu diesem hässlichen Zimmer.
+
+I stay.
+Ich bleibe.
+
+I still don't have everything, but don't worry, I'll be back.
+Ich habe noch nicht alles, aber keine Sorge, ich komme wieder.
+
+I still have Anwar's fertilizer with me.
+Ich habe immer noch Anwar Dünger mit mir.
+
+I stole nothing from you. Do you have any proof?
+Ich habe nichts von dir. Haben Sie einen Beweis?
+
+I suggest some training.
+Ich schlage vor, eine Ausbildung.
+
+I suggest we ignore the hint and ask %s about it instead.
+
+
+I suggest you leave now, %s. If you are even suspected of being a S.A.R.A.H. agent...
+
+
+I suppose I can make you a %s. It sometimes casts magic skills upon your foes. Well, seldomly, but it also deals more damage than normal wands.
+
+
+I suppose, what would you like?
+Ich nehme an, was möchten Sie?
+
+I swear silence, over this bloody ruby.
+Ich schwöre, Stille, über diesen blutigen Rubin.
+
+I swear silence, over this shining topaz.
+Ich schwöre, Stille, über diesen leuchtenden Topas.
+
+I swear that I, %s, will never let myself be let astray by power.
+
+
+I think I have enough gold with me.#0
+
+
+I think I have enough gold with me.#1
+
+
+I think I'm done with that now. You should now look for captain Nard downstairs. He'll be waiting for you.
+Ich glaube, ich bin jetzt damit fertig. Sie sollten für Kapitän Nard unten schauen jetzt. Er wird auf Sie warten.
+
+I think I'm ready.
+Ich glaube, ich bin bereit.
+
+I think Intense Beard, on Tulimshar's Forge, was taking new apprentices. Try talking to him!
+
+
+I think Lieutenant Paul had a bounty for extra experience.
+Ich glaube, Lieutenant Paul eine Prämie für zusätzliche Erfahrung hatte.
+
+I think it was the Orcs and Raijins town. It was laid to waste by Yetis.
+Ich denke, es war die Orks und Raijins Stadt. Es wurde von Yeti verheert.
+
+I think someone on Tulimshar is capable to teach you these bonuses. Eh, I don't know. Haven't been there for a while.
+Ich denke, dass jemand auf Tulimshar kann man diese Boni zu lehren. Eh, ich weiß es nicht. Haben Sie nicht schon dort für eine Weile.
+
+I think that %d %s and %d %s should be enough for now.
+
+
+I think the Doctor, on Dimond's Cove could help me, but that means passing by Kenton...
+Ich denke, der Arzt, auf Dimond Cove mir helfen könnte, aber das bedeutet vorbei Kenton ...
+
+I think the switches may open it, but I couldn't flip them.
+Ich denke, dass die Schalter öffnen kann, aber ich konnte sie nicht kippen.
+
+I think this blue circle right here can be helpful to break the enchantment that blocks the door of the Inn.
+
+
+I think you should get initiated on any side before speaking to me again.
+Ich denke, man sollte auf jeder Seite begonnen erhalten, bevor sie wieder mit mir zu sprechen.
+
+I think, for just 25 @@, I could arrange a @@ for you.
+Ich denke, für nur 25 @@, ich @@ für Sie arrangieren können.
+
+I think, for just 25 @@, I could arrange one for you. Eh... Just don't think that you have an amazing weapon, alright?
+Ich denke, für nur 25 @@, ich für Sie arrangieren können. Eh ... Man denke nur nicht, dass Sie haben eine erstaunliche Waffe, in Ordnung?
+
+I thought I was going to send you in a nest of Yetis, but instead, I've sent you straight to the birthplace of Bandits and Assassins.
+Ich dachte, ich würde Sie in einem Nest von Yetis senden, aber stattdessen habe ich Sie direkt zum Geburtsort von Bandits und Assassins gesendet.
+
+I thought I would be safe in the shrine, but seems like they are after the Moubootaur. Great danger will befall all forest creatures if they accomplish that.
+Ich dachte, ich würde in dem Schrein sicher sein, aber scheint, wie sie nach dem Moubootaur sind. Große Gefahr werden alle Waldbewohner widerfahren, wenn sie das erreichen.
+
+I thought he would. After all, Everburn Powder... is not a mere powder.
+Ich dachte, er würde. Immerhin ... Everburn Pulver ist nicht nur ein Pulver.
+
+I thought it was meant to be lava, this being in the Land Of Fire and all, but seems like someone must bug Saulc to fix it.
+Ich dachte, es bedeutete, Lava zu sparen, das im Land des Feuers und alle, aber scheint, wie jemand muss Fehler Saulc es zu beheben.
+
+I thought they ate little girls.
+
+
+I tried to keep an eye on him after that, but when I got distracted by some newly arriving visitor he went over to the workshop again! Usually I enjoy my job, because I like talking to people, but this guy... was a pain, really.
+Ich versuchte, ihn im Auge zu halten, nachdem das, aber wenn ich von einigen neu ankommenden Besuchern abgelenkt wurde ging er wieder in die Werkstatt vorbei! Normalerweise mag ich meinen Job, weil ich wie Menschen zu reden, aber dieser Kerl ... war ein Schmerz, wirklich.
+
+I tried. He asked for too much money.
+Ich habe es versucht. Er bat um zu viel Geld.
+
+I try to improve my skills every day. One day, I will sing a song no one will ever forget.
+Ich versuche, meine Fähigkeiten jeden Tag zu verbessern. Eines Tages wird singe ich ein Lied niemand jemals vergessen wird.
+
+I understand. Rakinorf told me to stuff you with them if needed.
+Ich verstehe. Rakinorf hat mir gesagt, du mit ihnen zu stopfen, wenn nötig.
+
+I used to make dyes for Agostine but he hasn't bought any in a while. I could make you a %s if you bring me the right items.
+
+
+I usually ask adventurers for 11 @@, but new miners should be arriving soon. I need to make them cry!
+Ich frage in der Regel Abenteurern für 11 @@, aber neue Bergleute sollten bald ankommen. Ich muss sie weinen!
+
+I usually ask for 7, but to prove you are going to help us in this purge, I will ask you for 14 @@! I will reward you for your bravure.
+Ich frage in der Regel für 7, aber zu beweisen, dass Sie uns in dieser Säuberung helfen werden, werde ich Sie für 14 fragen @@! Ich werde Sie für Ihre bravure belohnen.
+
+I usually don't let anyone in, but I had to make an exception for the likes of you.
+
+
+I visited it with my mother, the other day, and I found a tree in a cave!
+
+
+I wanna return home...
+Ich will nach Hause zurückkehren ...
+
+I want %d %s!
+
+
+I want %d %s! Don't worry, I can pay.
+
+
+I want @@! I want @@!!
+Ich möchte @@! Ich möchte @@!!
+
+I want Arcanum
+Ich will Arcanum
+
+I want Graphene
+Ich möchte Graphene
+
+I want Leather Patch
+Ich möchte Leder-Patch
+
+I want Snake Skin
+Ich will Snake Skin
+
+I want THREE batches!
+Ich möchte drei Chargen!
+
+I want a %s so badly... Pyndragon, in the forge, the master blacksmith which makes powerful weapons for high levels, can give you one.
+
+
+I want a BOSS task!
+
+
+I want a EXPERT (Lv 70~100) task!
+
+
+I want a KUNAI.
+
+
+I want a MASTER (Lv 100+) task!
+
+
+I want a MODERATE (Lv 50~70) task!
+
+
+I want a MODERATE task!
+Ich mag eine moderate Aufgabe!
+
+I want a PORTABLE LIGHTSABER.
+
+
+I want a POWERFUL GUNSTAFF.
+Ich möchte ein leistungsfähiges GUNSTAFF.
+
+I want a POWERFUL LIGHTSABER.
+
+
+I want a RAPID GUNSTAFF.
+Ich möchte ein RAPID GUNSTAFF.
+
+I want a SHORT GUNSTAFF.
+Ich möchte eine kurze GUNSTAFF.
+
+I want a Sponsor Necklace.
+Ich möchte einen Sponsor-Halskette.
+
+I want a WHIP.
+
+
+I want a gemstone or ore
+Ich mag einen Edelstein oder Erz
+
+I want a gift box and here is the gift.
+Ich möchte ein Geschenk-Box und hier ist das Geschenk.
+
+I want a gift box but I don't have a gift.
+Ich möchte ein Geschenk-Box, aber ich habe kein Geschenk haben.
+
+I want a gun!
+Ich will eine Waffe!
+
+I want a knife and a bottle of water!
+
+
+I want an Agi Potion.
+
+
+I want an Agi+ Potion.
+
+
+I want an Agi++ Potion.
+
+
+I want an EASY task!
+
+
+I want an EXPERT task!
+
+
+I want an EXPLOSIVE GUNSTAFF.
+Ich möchte ein explosives GUNSTAFF.
+
+I want an Eggshell Hat!
+
+
+I want coal
+Ich will Kohle
+
+I want copper armbands!
+Ich will Kupfer Armbinden!
+
+I want experience
+Ich will Erfahrung
+
+I want gold
+Ich will Gold
+
+I want iron armbands!
+Ich will Eisen Armbinden!
+
+I want it.
+Ich will es.
+
+I want leather armbands!
+Ich möchte Leder Armbinden!
+
+I want monster points
+
+
+I want more than one!
+
+
+I want something more magical.
+
+
+I want the Wurtzite
+Ich möchte die Wurtzit
+
+I want the apples back.
+
+
+I want to arrest the Monster King one day, but until then, I'm happy getting rid of petty scammers, spammers, and general evildoers.
+
+
+I want to be trained!
+Ich will trainiert werden!
+
+I want to become an archer!
+Ich will ein Bogenschütze werden!
+
+I want to challenge the Yetifly.
+
+
+I want to challenge you both.
+
+
+I want to challenge you.
+
+
+I want to change my Race!
+
+
+I want to craft rings.
+Ich möchte Ringe herstellt.
+
+I want to create polished gemstones.
+Ich will polierte Edelsteine herstellen.
+
+I want to divorce.
+Ich will mich scheiden lassen.
+
+I want to forge One Handed Weapons!
+Ich will Einhändig Waffen schmieden!
+
+I want to forge Quivers!
+Ich will Köcher bauen.
+
+I want to forge Shields!
+Ich will Schilde schmieden.
+
+I want to get rid of them.
+
+
+I want to improve my equipment.
+Ich möchte, dass meine Ausrüstung verbessern.
+
+I want to keep breaking them, until I find the paradise! Thus far, I only found the Land Of Fire!
+Ich möchte, dass sie halten zu brechen, bis ich das Paradies! Bisher fand ich nur das Land Of Fire!
+
+I want to know what you found out again
+Ich will wissen, was Sie wieder herausgefunden
+
+I want to know why you shown me that.
+Ich will wissen, warum du das mir gezeigt.
+
+I want to learn reading ancient languages
+Ich mag alte Sprachen lernen, zu lesen
+
+I want to meet a hero!
+Ich möchte einen Helden treffen!
+
+I want to move left.
+Ich möchte nach links bewegen.
+
+I want to pay my respects as a fellow Pink Mouboo cult member.
+Ich möchte meinen Respekt als Fellow Rosa Mouboo Kultmitglied zahlen.
+
+I want to pay the full price.
+Ich will den vollen Preis bezahlen.
+
+I want to prove exotic tea. More specifically, I'm looking for %s and %s. Bring me %d of each, and I'll reward you awesomely.
+
+
+I want to register for marriage.
+Ich möchte mich zur Hochzeit registrieren.
+
+I want to remove all stuff applied to my ring!
+Ich möchte alle Sachen zu meinen Ring angewendet entfernen!
+
+I want to sell White Fur for 75 GP each
+Ich möchte weißen Pelz für 75 GP jeden verkaufen
+
+I want to shop.
+Ich will einkaufen.
+
+I want to sleep...
+
+
+I want to trade with you.
+Ich möchte mit dir handeln.
+
+I want to trade.
+Ich will handeln.
+
+I want to try convincing the Yeti King again.
+Ich möchte versuchen, wieder den Yeti König zu überzeugen.
+
+I want two batches!
+Ich möchte zwei Chargen!
+
+I want you to brew some for me.
+Ich möchte Ihnen einige für mich brauen.
+
+I want you to decrypt something
+Ich möchte dir etwas entschlüsseln
+
+I want you to impress me, so I can brag about you to all my friends!
+
+
+I want you to kill @@, which are located near the northwest coast of the island.
+
+
+I want you to transform my raw log in a wooden log
+Ich möchte Ihnen meine Raw-Log-in einem Holzscheit verwandeln
+
+I wanted info about how to play.
+Ich wollte Informationen darüber, wie zu spielen.
+
+I wanted to go to the beach, but I can't find the cave entrance. They told me to look around here... What am I doing wrong?
+Ich wollte an den Strand gehen, aber ich kann den Höhleneingang nicht finden. Sie sagten mir, hier umzusehen ... Was mache ich falsch?
+
+I was a bit worried that they might ruin our efforts by messing everything up again after we just cleaned.
+Ich war etwas besorgt, dass sie vielleicht unsere Bemühungen zunichte machen, indem sie alles wieder durcheinander, nachdem wir gerade gereinigt.
+
+I was born here but I had amnesia.
+
+
+I was found near Candor Island, on a raft, and can't remember anything. Do you know who I am?
+Ich war in der Nähe von Candor Island, auf einem Floß gefunden und kann sich an nichts erinnern. Wissen Sie, wer ich bin?
+
+I was informed that our bedding material for fragile presents is nearly depleted...
+Ich wurde darüber informiert, dass unser Einbettungsmaterial für zerbrechliche präsentiert fast erschöpft ist ...
+
+I was kicked out of home for not paying rent. But I had no choice, it was either to eat or to have a roof...
+
+
+I was planning to go there soon, anyway. All aboard!
+Ich habe geplant, es bald zu gehen, sowieso. Alle einsteigen!
+
+I was so excited, I wanted to try it as soon as possible.
+Ich war so Feuer und Flamme, ich wollte das sofort auch probieren.
+
+I was thinking, maybe I could make a @@ for you. But I want a few items:
+Ich dachte, vielleicht könnte ich eine machen @@ für Sie. Aber ich will ein paar Dinge:
+
+I was up until late last night, and woke up so early today... I'm having a break right now.
+Ich war bis spät in der Nacht auf und wachte so früh heute ... Ich bin in diesem Augenblick eine Pause.
+
+I was very surprised when I heard that he's responsible for the failed sealing. I'd never have expected that from him.
+Ich war sehr überrascht, als ich hörte, dass er für die ausgefallene Abdichtung verantwortlich ist. Ich habe nie erwartet, dass von ihm.
+
+I will also need %d %s to make the mixture and %s GP as a fee.
+
+
+I will apply later.
+Ich werde später anzuwenden.
+
+I will be back shortly.
+Ich bin gleich zurück.
+
+I will be forever grateful!
+Ich werde dir für alle Ewigkeit dankbar sein!
+
+I will do it, don't worry.
+Ich werde es tun, keine Sorge.
+
+I will empower you with raw mana now.
+Ich werde Sie jetzt mit rohem Mana stärken.
+
+I will give you 3 @@. Use them on this fight, or you're doomed to fail.
+Ich gebe Ihnen 3 @@. Benutzen Sie sie auf diesem Kampf, oder du bist zum Scheitern verurteilt.
+
+I will go and hunt some snakes.
+Ich werde gehen und einige Schlangen jagen.
+
+I will harass Demure with so many chocolate that she'll leave this event map rolling!
+Ich werde belästigen Demure mit so vielen Schokolade, dass sie dieses Ereignis Karte Roll verlassen werden!
+
+I will kill one.
+Ich werde eins töten.
+
+I will let Lalica, Pihro and Pyndragon know that you find her not guilty, but...
+Ich lasse Lalica, Pihro und Pyndragon wissen, dass du sie nicht schuldig finden, aber ...
+
+I will let you test it for a peny until level 10!
+Ich werde Sie es für einen Pfennig, bis Level lassen testen 10!
+
+I will make quick work of your wounds.
+Ich werde schnell Arbeit Ihrer Wunden machen.
+
+I will need 3 @@, 5 @@ and 100 GP to craft a single stone.
+Ich brauche 3 @@ 5 @@ und 100 GP einen einzigen Stein Handwerk.
+
+I will need many Mauve Herbs! Do you have them with you? If you don't have enough, we'll lose everything! You need at most @@!
+Ich werde viele Mauve Kräuter brauchen! Haben Sie sie mit Ihnen haben? Wenn Sie nicht genug haben, werden wir alles verlieren! Sie müssen in den meisten @@!
+
+I will need:
+Ich werde benötigen:
+
+I will pay you 5,000 GP in pure gold for it!
+Ich werde Sie 5000 GP in reinem Gold dafür bezahlen!
+
+I will prepare you a potion. But beware, that potion will only last 20 minutes. You should assign some intelligence points to succeed.
+Ich werde dir einen Trank vorzubereiten. Aber Vorsicht, dass Trank dauert nur 20 Minuten. Sie sollten einige Intelligenz Punkte zuweisen, um erfolgreich zu sein.
+
+I will require 2500 GP, 1 @@, 1 @@ and 1 @@, for a small handful of it.
+Ich werde verlangen, 2500 GP, 1 @@ 1 @@ und 1 @@, für eine kleine Handvoll davon.
+
+I will reward whoever kills the current bandit leader, of course.
+Ich werde belohnen wer den aktuellen Banditenführer tötet, natürlich.
+
+I will reward you for 7 @@.
+Ich werde Sie für 7 belohnen @@.
+
+I will sing a song about the Five Legendary Heroes myth.
+
+
+I will sing a song about the Mana War and current times.
+Ich werde ein Lied über den Mana-Krieg und die heutige Zeit singen.
+
+I will sing a song about the fate of five legendary weapons.
+
+
+I will summon the Monster King. Don't ask me my reasons. I know this will put Tulimshar in danger. But I will still do it.
+Ich werde das Monster King rufen. Frag mich nicht, meine Gründe. Ich weiß, das Tulimshar in Gefahr gebracht werden. Aber ich werde tun es immer noch.
+
+I will take a claw and show Hasan.
+Ich werde eine Klaue nehmen und Hasan zeigen.
+
+I will take the @@ Bounty.
+Ich werde die @@ Bounty nehmen.
+
+I will trade you a Dagger and Sailor's Hat for it.
+Ich werde handeln Sie einen Dolch und Sailor Hut für sie.
+
+I will try it later.
+Ich werde versuchen Sie es später.
+
+I will, don't worry.
+Ich werde, keine Sorge.
+
+I wish you a good time in town.
+Ich wünsche dir eine gute Zeit in der Stadt.
+
+I wish you good luck!
+Ich wünsche Dir viel Glück!
+
+I wish you good luck. I remember these caves... They're dangerous. Make sure to be prepared before venturing further.
+
+
+I woke up in a shake! I felt... Oh, it's hard to describe... As if the spell suddenly started inflating, getting bigger... bigger... weaker... weaker...
+Ich wachte in einem Shake up! Ich fühlte mich ... Oh, es ist schwer zu beschreiben ... Als ob der Zauber plötzlich begann Aufpumpen immer größer ... größer ... schwächer ... schwächer ...
+
+I won't accept stuff from Halinarzo!
+Ich werde nicht Sachen von Halinarzo akzeptieren!
+
+I won't need it, thank you.#0
+Ich werde es nicht brauchen, danke.
+
+I won't need it, thank you.#1
+Ich werde es nicht brauchen, danke.
+
+I won't share our water with you!
+
+
+I won't stop you from going inside, but be careful, you hear me?
+
+
+I wonder if anyone will notice or care if I take a nap here...
+Ich frage mich, ob jemand bemerken oder Pflege, wenn ich hier ein Nickerchen machen ...
+
+I wonder if he exists on this world too. Because if he doesn't, I could tell many tales about him!
+Ich frage mich, ob er auch auf dieser Welt existiert. Denn wenn er es nicht tut, konnte ich viele Geschichten über ihn erzählen!
+
+I wonder if it'll take too long for the ship to arrive...
+
+
+I wonder if you can still sleep after killing those innocent forest creatures!
+Ich frage mich, wenn Sie können immer noch Schlaf nach diese unschuldigen Waldwesen zu töten!
+
+I wonder what secrets the Heroes Hold could be hiding...
+
+
+I work in this mine since 3 years, I'm an expert on gems: Ruby, Topaz, Sapphire, You know!
+Ich in dieser Mine seit 3 ​​Jahren arbeiten, ich bin ein Experte für Edelsteine: Rubin, Topas, Saphir, Sie wissen!
+
+I would advise you to remain here in the ship, they should leave in a few minutes, but I will not force you.
+Ich würde Ihnen raten, hier in dem Schiff zu bleiben, sie in wenigen Minuten verlassen sollte, aber ich werde dich nicht zwingen.
+
+I would bring @@, just in case. Anyway, the place where you're going to is the village where @@ was born.
+Ich würde bringen @@, nur für den Fall. Wie auch immer, wo der Ort, der Du gehst ist das Dorf, wo @@ geboren wurde.
+
+I would gladly aid you to get rid of that scourge.
+Ich würde Sie gerne helfen, um loszuwerden, diese Geißel zu bekommen.
+
+I would gladly give my life for such noble goal.
+Ich würde gern mein Leben für so hehres Ziel geben.
+
+I would kick me out myself! I'm such a failure! A complete disaster! %%i
+
+
+I would like @@ @@, @@ @@ and @@ @@!
+Ich möchte @@ @@ @@ @@ und @@ @@!
+
+I would like a hat like yours.
+Ich würde einen Hut wie das Ihre mag.
+
+I would like all Knifes and Daggers on me melted!
+Ich möchte alle Messer und Dolche auf mich geschmolzen!
+
+I would like an item melted!
+Ich möchte ein Stück geschmolzen!
+
+I would like some Mouboo Milk.
+Ich würde einige Mouboo Milch mögen.
+
+I would like some information
+Ich würde einige Informationen wie
+
+I would like to REMOVE an item options
+
+
+I would like to buy a Warp Crystal.
+Ich möchte einen Warp-Kristall kaufen.
+
+I would like to change an item options
+Ich möchte ein Element Optionen ändern
+
+I would like to create a guild.
+Ich möchte eine Gilde erstellen.
+
+I would like to create a party.
+Ich will eine Gruppe erstellen.
+
+I would like to enroll!
+
+
+I would like to learn a new skill!
+
+
+I would like to order some dye.
+
+
+I would like to perform money transactions.
+Ich möchte Geld-Transaktionen durchzuführen.
+
+I would like to store some items.
+Ich würde gerne einige Gegenstände einlagern.
+
+I would like to use the Deluxe Storage.
+
+
+I would like to use the Premium Storage.
+
+
+I would love to see the skin of two @@.
+Ich würde gerne die Haut von zwei @@ zu sehen.
+
+I would love to, but the Monster King laid siege there.
+Ich würde gerne, aber das Monster King belagerte es.
+
+I'd like my Crozenite Clover Silvered.
+Ich würde meine Crozenite Clover Silvered mögen.
+
+I'd like to get a different style.
+Ich hätte gerne einen anderen Stil.
+
+I'll also need @@ as base material!
+Ich werde auch brauchen @@ als Basismaterial!
+
+I'll also provide you a few @@s and an Elixir. Use them wisely.
+Ich werde Ihnen auch ein paar @@ s und ein Elixier. Verwenden Sie sie mit Bedacht aus.
+
+I'll also try to bring you to the world's edge, as you've asked.
+Ich werde versuchen, auch Sie in die Welt Rand zu bringen, wie Sie gefragt haben.
+
+I'll ask you to kill 100 @@. This will prove your worth. Good luck.
+Ich werde Sie bitten, 100 zu töten @@. Dies wird Ihren Wert beweisen. Viel Glück.
+
+I'll be attracted by the Shadow Herb. The moss will hide the roots, which will entrap it for a while.
+Ich werde durch den Schatten Herb angezogen werden. Das Moos wird versteckt die Wurzeln, die es für eine Weile verleiten werden.
+
+I'll be back in no time.
+Ich bin sofort zurück.
+
+I'll be back later with all ingredients.
+Ich werde später mit allen Zutaten zurück.
+
+I'll be waiting for you! And trading some items of questionable origins...
+Ich werde auf dich warten! Und der Handel einige Gegenstände von fragwürdiger Herkunft ...
+
+I'll be waiting!
+
+
+I'll be writing a letter to the next town you're going to visit, and also assign work to my household. You should come back later.
+Ich werde einen Brief an die nächste Stadt schreiben Sie besuchen gehen, und auch assign Arbeit zu meinem Haushalt. Sie sollten später zurückkommen.
+
+I'll call someone to aid you.
+Ich werde jemanden anrufen um Ihnen zu helfen.
+
+I'll come back later.
+
+
+I'll configure your flask to a few hours before the Great Fire breaks out. You're looking for "The Queen's party" hideout. Do you need a quick history lesson?
+
+
+I'll decide later
+
+
+I'll draw a card now!
+Ich werde jetzt eine Karte ziehen!
+
+I'll feed you to the Moubootaur %%e
+
+
+I'll get so mad at you that even if you are correct, I'll say otherwise. Also, mind special characters.
+Ich werde Sie bekommen so wütend, dass selbst wenn Sie richtig sind, werde ich etwas anderes sagen. Auch dagegen Sonderzeichen.
+
+I'll get to it.
+Ich werde um es zu bekommen.
+
+I'll get to work.
+Ich werde an der Arbeit.
+
+I'll give it to someone who challenge me and best me in an impressive manner. If it was easy, someone would already have claimed it.
+
+
+I'll give you @@ GP for this job.
+Ich gebe Ihnen @@ GP für diesen Job.
+
+I'll give you a @@. It should aid you out there.
+Ich gebe Ihnen ein @@. Es sollte Ihnen helfen, da draußen.
+
+I'll give you a reward, in the name of Saulc, once you reach the following levels: 25, 50, 75, 100, 125 and 150.
+Ich gebe Ihnen eine Belohnung, im Namen von Saulc, wenn Sie die folgenden Werte erreichen: 25, 50, 75, 100, 125 und 150.
+
+I'll give you the item.
+
+
+I'll have her hospitalized now.
+Ich werde sie jetzt im Krankenhaus haben.
+
+I'll help you.
+Ich werde dir helfen.
+
+I'll input how many I want to attach.
+
+
+I'll keep studying it in secret. I'm so proud of my thieves!
+Ich halte es im Geheimen zu studieren. Ich bin so stolz auf meine Diebe!
+
+I'll make you five questions about lore and general knowledge. You'll have 30 seconds to read and answer each.
+Ich werde Ihnen fünf Fragen zu Lore und Allgemeinwissen machen. Sie werden 30 Sekunden zu lesen und zu jedem zu beantworten.
+
+I'll make your life easier, I'm also accepting 20 @@ or @@ instead the Grass Carp. Go now, pal.
+Ich werde Ihnen das Leben leichter machen, ich nehme auch 20 @@ oder @@ anstelle der Graskarpfen. Gehen Sie jetzt, Kumpel.
+
+I'll only say you this once. Mages can, of course, go to battlefield in heavy armor and stuff.
+Ich werde dir nur einmal sagen. Mages kann, natürlich, in schwerer Rüstung und Sachen zu Schlachtfeld gehen.
+
+I'll pay the GP.
+
+
+I'll present you three kind of strong monsters. Snakes are fast and dangerous. Giant Maggots are slow and dangerous. Black Scorpions have average speed and are... deadly.
+Ich werde Ihnen drei Arten von starken Monster präsentieren. Schlangen sind schnell und gefährlich. Riesen Maggots sind langsam und gefährlich. Schwarz Scorpions haben durchschnittliche Geschwindigkeit und sind ... tödlich.
+
+I'll read the options from you, but the level will be paid by me, and failure rate is non-existant. I am the best. blacksmith. in. the. universe! Use %s if you need to change any options.
+
+
+I'll reward you and your friends in an appropriate way, but if you endanger her... Oh, my poor Cindy...
+Ich werde Sie und Ihre Freunde in einer angemessenen Art und Weise belohnen, aber wenn man sie gefährden ... Oh, meine arme Cindy ...
+
+I'll see you later.
+
+
+I'll seek one for you.
+Ich werde für Sie suchen.
+
+I'll start delivering the fur!
+Ich beginne das Fell zu liefern!
+
+I'll talk about who I am after leaving the well.
+Ich werde darüber sprechen, wer ich bin nach dem gut zu verlassen.
+
+I'll teach you a spell. It is called CUTE HEART. It summons Fluffies. They are so cute, I want to hug them...
+Ich werde dir einen Zauber lehren. Es wird CUTE HEART genannt. Es ruft Fluffies. Sie sind so süß, ich möchte, dass sie umarmen ...
+
+I'll teach you how to transmute some parts of theirs. You can use it to convert a @@ into a @@, but not the other way around, for example.
+Ich werde Sie zeigen, wie einige Teile von ihnen zu verwandeln. Sie können es verwenden, um einen @@ in einen @@, aber nicht umgekehrt zum Beispiel zu konvertieren.
+
+I'll try to find them.
+Ich werde versuchen, sie zu finden.
+
+I'll walk around here a little more.
+Ich werde hier ein wenig mehr herumlaufen.
+
+I'll warp you to the Cave Of Trials. Pass all trials, and meet me on Soren's House. Hahah!
+Ich werde dich in die Höhle Trials verziehen. Führen Sie alle Versuche, und treffen Sie mich auf Sorens House. Hahah!
+
+I'm Carla the Woody Wife, I have lived here with Woody for many years! We decided to live away from civilization, as hunter and shaman life is way better.
+Ich bin Carla die Woody Frau, ich habe hier mit Woody seit vielen Jahren gelebt! Wir beschlossen, von der Zivilisation zu leben weg, als Jäger und Schamanen Leben viel besser ist.
+
+I'm Eistein, survivor from Ukarania. I reward brave adventurers who kill monsters, which plague our lands.
+Ich bin Einstein, Überlebende aus Ukrainisch. Ich belohne tapfere Abenteurer, die Monster zu töten, die unser Land plagen.
+
+I'm GM and got the money. Gimme HALF HOUR to invite everybody!
+Ich bin GM und bekam das Geld. Gib mir alle halbe Stunde laden!
+
+I'm Laranja.
+Ich bin Laranja.
+
+I'm Thurgar the mighty craftsman. I can make anything reality! But I only work to the king!
+Ich bin Thurgar der mächtige Handwerker. Ich kann alles Wirklichkeit werden lassen! Aber ich nur an den König arbeiten!
+
+I'm a bit short in cash right now.
+
+
+I'm a bit sick...#0
+Ich bin ein bisschen krank...
+
+I'm a bit sick...#1
+Ich bin ein bisschen krank...
+
+I'm a little busy right now.
+Ich bin gerade ein kleines bisschen beschäftigt.
+
+I'm a pro, this will be GG EZ. But Raid is not a foe to be underestimated, and I have no hopes for reinforcements. I refuse to leave last words, I shall either triumph, or be forgotten in shame.
+
+
+I'm a traveling poet and admirer of Robert Burns, a bard from the mana world.
+Ich bin ein reisender Dichter und Bewunderer von Robert Burns, ein Barde aus der Mana Welt.
+
+I'm actually half-wose. This means part of me is tree.
+Ich bin eigentlich Halb Wose. Dies bedeutet einen Teil von mir ist Baum.
+
+I'm actually looking for an item forged!
+Ich suche eigentlich für ein Element geschmiedet!
+
+I'm actually paid by the Academy, or there would be no security here.
+
+
+I'm afraid I can't be of any help to you.
+Ich fürchte, ich keine Hilfe zu Ihnen sein kann.
+
+I'm afraid my wounds are too critical. I'm bleeding. I was cursed. And I can't even move.
+Ich fürchte, meine Wunden zu kritisch sind. Ich blute. Ich war verflucht. Und ich kann nicht einmal bewegen.
+
+I'm afraid you can't help me... I still have one HP left.
+Ich habe Angst, daß du mir nicht helfen kann ... Ich habe immer noch ein HP verlassen.
+
+I'm afraid you'll need a key to reach them. But there's a fork on the way.
+
+
+I'm after the Queen's Party.
+
+
+I'm allergic to piou potions, goodbye.#0
+
+
+I'm allergic to piou potions, goodbye.#1
+
+
+I'm allergic to pious, goodbye.
+
+
+I'm almost in the point of no return. I cannot believe this, but mana... is alive.
+Ich bin fast in der point of no return. Ich kann das nicht glauben, aber Mana ... lebt.
+
+I'm already married, though...#0
+
+
+I'm already married, though...#1
+
+
+I'm am about to make myself some powerful equipment... But I ran out of material to refine it!
+
+
+I'm an experienced weapon master helping this smithy here, but I am new in this town. I am best at smithing armor.
+Ich bin ein erfahrener Waffenmeister dieses smithy hier helfen, aber ich bin neu in dieser Stadt. Ich bin am besten bei Rüstung schmieden.
+
+I'm back, I'm here, I'm great! I am the AF King Arthur!
+Ich bin zurück, ich bin hier, ich bin großartig! Ich bin der AF King Arthur!
+
+I'm back.
+Ich bin wieder da.
+
+I'm busy, sorry.
+Ich bin beschäftigt, tut mir leid.
+
+I'm currently cleaning the arena, wait just @@ more.
+Ich putze zur Zeit die Arena, warten nur @@ mehr.
+
+I'm currently doing tutorship for students who are... falling behind %%p
+
+
+I'm currently going over some of the household paperwork. Right now I'm inspecting the @@. The work never stops!
+Ich werde noch einige der Haushalt Papierkram über. Im Moment bin ich Inspizieren des @@. Die Arbeit hört nie auf!
+
+I'm currently hosting a fight.
+Ich bin Hosting derzeit ein Kampf.
+
+I'm doing the covers and illustrations for the new books we create from the pieces of the old ones.
+Ich mache die Cover und Illustrationen für die neuen Bücher, die wir aus den Stücken der alten erstellen.
+
+I'm done.
+Ich bin fertig.
+
+I'm fine for now, thank you.
+Momentan ist alles super, danke dir.
+
+I'm fine, but I can't keep carrying dead weights with me. Candor is a special place, I shall make a base there... Because I know the Monster King will eventually head there.
+
+
+I'm fine, no worries...
+Mir geht es gut, keine Sorgen ...
+
+I'm fine, thanks
+
+
+I'm fine, thanks!
+Es geht mir gut, danke!
+
+I'm fine, thanks.
+Es geht mir gut, danke.
+
+I'm glad there's no annoying towel man. He keeps coming back to annoy me!
+
+
+I'm going, don't worry.
+Ich werde, keine Sorge.
+
+I'm here as an Initiate. May I enter Duck Dungeon?
+
+
+I'm here to arrest a criminal.
+Ich bin hier, einen Verbrecher zu verhaften.
+
+I'm here to arrest you.
+Ich bin hier, Sie zu verhaften.
+
+I'm here to help you restock...
+
+
+I'm here to investigate what exactly happened so this doesn't happens again.
+Ich bin hier um zu untersuchen, was genau passiert ist, so dies nicht wieder passiert.
+
+I'm hungry like a bear :b
+Ich bin hungrig wie ein Bär: b
+
+I'm interested in Grand Hunter Quest.
+Ich bin in Grand Hunter Quest-interessiert.
+
+I'm interested in your arrows, they're too expensive with Rosen.
+Ich bin in deine Pfeile interessiert, sind sie zu teuer mit Rosen.
+
+I'm just a lurker.
+Ich bin nur ein Lurker.
+
+I'm just searching for some cleaning supplies. They must be somewhere around here, but everything went upside down when the slimes escaped.
+Ich suche nur für einige Reinigungsmittel. Sie müssen irgendwo hier in der Nähe, aber alles ging der Kopf, wenn die Schleime entkommen.
+
+I'm listening, but don't hope me to buy your story.
+Ich höre, aber nicht hoffen, dass mir deine Geschichte zu kaufen.
+
+I'm looking for the Queen's Party.
+
+
+I'm moved to tears by your dedication to help us. Unrewarded, even. Here, have this rare %s. For free!
+
+
+I'm not a coward! I must press forward!#0
+
+
+I'm not a coward! I must press forward!#1
+
+
+I'm not blind.
+Ich bin nicht blind.
+
+I'm not crazy, the bucket is vicious and the rope won't withstand my weight.
+Ich bin nicht verrückt, der Eimer ist bösartig und das Seil wird mein Gewicht nicht standhalten.
+
+I'm not done yet, please hold tight. It won't take long.
+Ich bin noch nicht fertig, bitte halten Sie sich fest. Es wird nicht lange dauern.
+
+I'm not done yet. I'll be back.
+Ich bin noch nicht fertig. Ich komme wieder.
+
+I'm not familiar with the Butterfly Caves. Try asking a local, maybe Arkim, they ought know the way.
+
+
+I'm not familiar with the Butterfly Caves. Try asking a local?
+
+
+I'm not feeling like it today... Sorry.
+Ich fühle mich nicht wie es heute ... Sorry.
+
+I'm not going any closer to that cursed place!
+Ich werde Näher nicht an diesem verfluchten Ort!
+
+I'm not going to touch a FLOATING sword made of unobtainum without at least knowing a bit more about it.
+
+
+I'm not going to try to improve this masterpiece. Look its options!
+
+
+I'm not here to listen stories, I need you to return what you've stole.
+Ich bin nicht hier, Geschichten zu hören, muss ich Sie zurückkommen, was Sie gestohlen haben.
+
+I'm not interested in yours, by the way.
+Ich bin nicht in Ihr interessiert, nebenbei bemerkt.
+
+I'm not interested right now.
+Ich bin jetzt nicht interessiert.
+
+I'm not interested, sorry.
+
+
+I'm not interested.
+Ich bin nicht interessiert.
+
+I'm not neutral, so my vouch have no effect.
+Ich bin nicht neutral, so meine bürgen keine Wirkung.
+
+I'm not ready.
+Ich bin noch nicht bereit.
+
+I'm not sure I want to spend that much.
+Ich bin nicht sicher, ob ich möchte, dass viel verbringen.
+
+I'm not sure if that's edible. For teddies, at least.
+
+
+I'm not sure what it needs to move on time, but I managed to make it move in space, back to this village, in no time!
+Ich bin mir nicht sicher, was es auf Zeit bewegen muss, aber ich schaffte es im Raum bewegen zu machen, zurück zu diesem Dorf, in kürzester Zeit!
+
+I'm not that numb eeh *hic* what did ever yous disco... ...vered there, the Guild won't get me!
+Ich bin nicht so taub eeh * hicks * was hat jemals yous Disco ... ... gibt Vered, die Guild werden mich nicht bekommen!
+
+I'm not the Captain, Nard is.
+Ich bin nicht der Kapitän, Nard ist.
+
+I'm not unfamiliar with the children of Merlin, thosem whom cross the Mirror Lake. In case of The Mana World, you're lucky, we're parallel, meaning we share lots of things in common.
+
+
+I'm not.
+Ich bin nicht.
+
+I'm only assuming it was a man because the lack of boobs.
+Ich gehe davon aus es nur ein Mann war, weil die von Brüsten fehlen.
+
+I'm pretty confident you can attempt the Desert Canyon, but expect to die a few times.
+Ich bin mir ziemlich sicher, dass Sie die Wüste Canyon versuchen können, aber erwarten, dass ein paar Mal sterben.
+
+I'm proud of you!
+
+
+I'm quite interested in you, mah' boy!#1
+
+
+I'm quite interested in you, mah' girl!#0
+
+
+I'm railroaded here, I cannot say no. I'll bring you some @@. Break them until one of them fit.
+Ich bin hier railroaded, kann ich nicht nein sagen. Ich werde Ihnen einige @@ bringen. Brechen sie, bis einer von ihnen passen.
+
+I'm ready, let's start!
+Ich bin bereit, lassen Sie uns beginnen!
+
+I'm so glad that you took care of the remaining slimes. Thanks! Do you need anything else?
+Ich bin so froh, dass Sie kümmern sich um die restlichen Schleimen nahm. Vielen Dank! Brauchst du noch was?
+
+I'm so glad we didn't have to go out to hunt the slimes! Thank you!
+Ich bin so froh, dass wir mussten nicht gehen die Schleime zu jagen! Vielen Dank!
+
+I'm so tired... Slimes everywhere... Chaos everywhere... Yawn...
+Ich bin so müde ... Slimes überall ... überall Chaos ... Gähn ...
+
+I'm sorry but I can't talk right now... I have something on my mind.
+
+
+I'm sorry, I just... Maybe if...? Aha! Here's the EXP, ready for a next go?
+Es tut mir Leid, ich ... Vielleicht, wenn ...? Aha! Hier ist die EXP, bereit für einen nächsten Sprung?
+
+I'm sorry, I will come back later.
+Es tut mir leid, ich komme später wieder.
+
+I'm sorry, these words just came to my mind.
+Es tut mir leid, diese Worte kamen nur meiner Meinung nach.
+
+I'm sorry... I can't help you either...
+Es tut mir leid ... Ich kann Ihnen nicht helfen ...
+
+I'm sure I could refine this again, if you bring me the payment and the reagents again.
+Ich bin sicher, dass ich das noch einmal verfeinern könnte, wenn Sie mir die Zahlung bringen und die Reagenzien wieder.
+
+I'm sure it was, now go rest a bit, you deserve it!
+
+
+I'm sure that you've got some questions for me, feel free to ask them, but first I need to tell you the rules all adventurers must respect on this world.
+Ich bin sicher, dass Sie einige Fragen für mich haben, fühlen Sie sich frei, sie zu fragen, aber zuerst muss ich Ihnen die Regeln alle Abenteurer sagen, müssen auf dieser Welt respektieren.
+
+I'm sure the Doctor has a trick... No loans, thanks.
+
+
+I'm sure the crew will like to be spared from having to eat @@ again!
+Ich bin sicher, dass die Crew gerne von mit verschont werden, wieder essen @@!
+
+I'm sure there are a lot of sidequests here until you reach level 30, but that's optional.
+Ich bin sicher, es gibt viele Nebenquests hier, bis du Level 30 erreichen, aber das ist optional.
+
+I'm too busy right now to talk. Dimond's recipes are the best!
+Ich bin zu beschäftigt jetzt zu reden. Dimond Rezepte sind die besten!
+
+I'm too far to jump there.
+
+
+I'm trying to make good food for all the sailors here, could you help me?
+Ich versuche, gutes Essen für alle Segler hier zu machen, könnten Sie mir helfen?
+
+I'm waiting for @@ feedback... Please go talk to them! %%S
+
+
+I'm with the Monster King.
+Ich bin mit dem Monster King.
+
+I'm worried with them. Anyway, I think only heroes are allowed inside, and you are a few levels short of being a Hero...
+Ich bin mit ihnen besorgt. Wie dem auch sei, ich denke nur Helden innen erlaubt sind, und Sie sind ein paar Stufen kurz ein Held zu sein ...
+
+I'm worried with which Sage the masked man will aim next...
+Ich bin besorgt, mit der Sage der maskierte Mann nächstes Ziel wird ...
+
+I'm worried. Will everything be alright? Please, lend your help to sir Sakar - no, to the whole world!
+
+
+I've also got in contact the other alliance representatives, and I've found out there's a way to bring you to Halinarzo, using Hurnscald route!
+
+
+I've been delving in the secrets of Mana, using the stolen Mana Stone we got the other day.
+Ich habe in die Geheimnisse des Mana worden einzutauchen, mit dem gestohlenen Manastein wir den anderen Tag bekam.
+
+I've brought something to exchange.
+Ich habe etwas zu Austausch gebracht.
+
+I've brought the money you've asked for.
+Ich habe das Geld gebracht Sie gefragt haben.
+
+I've changed my mind
+ich habe meine Meinung geändert
+
+I've changed my mind.
+
+
+I've dispatched Benjamin and some other city guards after her flew to Elenium Mines, but thus far, they haven't returned.
+Ich habe Benjamin und einige andere Stadtwachen nach ihrem fliegen nach Elenium Mines, entsandte aber bisher haben sie nicht zurückgekehrt.
+
+I've even heard of people whom dug Casino Coins out of the ground, but as I said, I don't know. But you'll certainly come across a few o your adventures!
+
+
+I've found the Monster King.
+Ich habe das Monster King gefunden.
+
+I've heard Aethyr path was to the west, but I'm not sure west of where... %s
+
+
+I've heard about some adventurers whom obtained magic in another way, but you would still need a lot of levels for that.
+Ich habe über einige Abenteurer gehören die in einer anderen Art und Weise Magie erhalten, aber Sie würden immer noch viele Ebene dafür brauchen.
+
+I've heard rumors about a legendary axe.
+
+
+I've heard some elves, when they abandoned our original town, founded Aethyr somewhere up northwest. But all contact with it has since been lost.
+
+
+I've heard tidings of strange goings-on in this area...
+
+
+I've heard you helped my staff to recreate some books. For that, I am grateful.
+Ich habe gehört, dass Sie meine Mitarbeiter dazu beigetragen, einige Bücher zu erstellen. Dafür bin ich dankbar.
+
+I've managed to create a Maggot. It did not die. And it was not an April Fool's joke. Nice one.
+Ich habe es geschafft, eine Maggot zu erstellen. Es ist nicht gestorben. Und es war kein Aprilscherz. Schön.
+
+I've managed to create the first mana-based artificial lifeform, it survived three seconds, the record so far.
+Ich habe es geschafft, die erste Mana-basierte künstliche Lebensform zu schaffen, überlebte sie drei Sekunden den Rekord bisher.
+
+I've mastered the art of reading ancient languages.
+Ich habe die Kunst des Lesens alte Sprachen beherrscht.
+
+I've mastered the art of speech and communication.
+Ich habe die Kunst der Sprache und Kommunikation beherrschen.
+
+I've sealed a massive amount of dark magic here.
+
+
+I've sent a scout ahead of you, and he reported traps in the caves you'll be needing to use to get there.
+Ich habe einen Scout vor dir gesandt, und er berichtete Fallen in den Höhlen, Sie dort zu bekommen verwenden werde müssen.
+
+I, Elmo, captain's deputy, will help you to make the maximum possible money in Candor!
+I, Elmo, Kapitän Stellvertreter, wird Ihnen helfen, die maximal mögliche Geld in Candor zu machen!
+
+I, Fafa, the Magical Statue, grant you this power! Prove your worth! And never run from the seal, or die for your cowardice!
+I, Fafa, die magische Statue, gewähren Sie diese Kraft! Beweisen Sie Ihre wert! Und nie von der Dichtung laufen oder sterben für Ihre Feigheit!
+
+I, second sage of Fate, write this book. The knowledge on it shall guide you to the Secret Of Mana.
+I, zweiter Salbei des Schicksals, schreibt dieses Buch. Das Wissen über ihnen wird sie führen zu dem Geheimnis von Mana.
+
+I, the rightful ruler, demand back this world! Tyranny!
+
+
+I... I confess. I did steal an apple. I was hungry! I am very poor.
+Ich ... ich gestehen. Ich habe einen Apfel stehlen. Ich war hungrig! Ich bin sehr arm.
+
+IF YOU CHANGE EXP RATE NOW, PREVIOUS BONUS WILL BE LOST!
+WENN SIE CHANGE EXP RATE Nun wird PREVIOUS BONUS verloren!
+
+IF YOU DIE, YOU'LL SUFFER THE EXP PENALTY.
+Wenn du stirbst, werden Sie die EXP STRAFE LEIDEN.
+
+IMPORTANT: All guild magic needs %s to be cast!
+
+
+INV
+INV
+
+Ice Cube
+Eiswürfel
+
+Ice Fluffy
+Ice Fluffy
+
+Ice Gladius
+Ice Gladius
+
+Ice Lord
+
+
+Ice Maggot
+Ice Maggot
+
+Iced Fluffy
+Iced Fluffy
+
+Iced Water
+
+
+Icicle Challenge
+
+
+If %s meet the true form of the %s and prove to be a real hero, the sword will give itself for them. But if they fail to prove real heroism, the sword will leave after a while.
+
+
+If I am doing your dirty work, why am I the one paying you?!
+
+
+If I bring @@, my party leader, and the boss is defeated, I can go you in.
+Wenn ich bringe @@, mein Parteichef, und der Chef besiegt ist, kann ich Sie in gehen.
+
+If I can't beat him, no one else can, and if our species are to survive, we'll need to return to the Edge. Even if it means... Fulfilling the prophecy. %s. Whatever the cost.
+
+
+If I don't know the answer in your language, try answering in English. That always works.
+Wenn ich die Antwort in Ihrer Sprache nicht kennen, versucht auf Englisch zu beantworten. Das funktioniert immer.
+
+If I had a map, I would be digging the treasures, not selling it, arr!
+
+
+If I only could find another way in...
+
+
+If I only knew some magic...
+Wenn ich wüsste, nur etwas Magie ...
+
+If I remember correctly they wanted to see the library. They looked like a man, but you never know.
+Wenn ich mich richtig erinnere, wollte sie die Bibliothek sehen. Sie sahen aus wie ein Mann, aber man weiß ja nie.
+
+If I saw *hic* who you were... *hic* Would not have helped you!
+Wenn ich *hicks* gesehen hätte wer du bist *hips* hätte ich dir nicht geholfen!
+
+If I were you, I would drink water.
+Wenn ich Sie wäre, würde ich Wasser trinken.
+
+If I weren't tempted to try again everytime someone gets it right...
+Wenn ich es nicht versucht wurden noch einmal zu versuchen, jedes Mal jemand macht es richtig ...
+
+If Nikolai's helpers weren't so carefully chosen, I'd think this was some kind of a bad joke from someone.
+Wenn Nikolai Helfer waren nicht so sorgfältig gewählt, würde ich denke, das ist eine Art eines schlechten Witz von jemandem ist.
+
+If a guild mate dies, they will revive. Don't work on self.
+
+
+If a tie happens, I'll give your coin back.
+Wenn ein Unentschieden passiert, werde ich Ihre Münze zurück geben.
+
+If a tie happens, you'll get your coin back.
+Wenn ein Unentschieden passiert, werden Sie Ihre Münze zurück.
+
+If all players there die, Hurnscald WON'T BE LIBERATED.
+Wenn alle Spieler dort sterben, wird Hurnscald NICHT in Freiheit gesetzt werden.
+
+If at any moment in the fight there's less than %d players in the room, a severe penalty will be applied, so watch out!
+
+
+If enabled, automatic captchas may be sent to you every once in a while.
+
+
+If he gives you a guard card, that'll allow access to the Guard House, where you can pick Daily Bounties for monsters. These will pay you in GP.
+
+
+If it expires, you'll need to do another. To bake it I need 1 @@, 10 @@ and an @@.
+Wenn es abläuft, müssen Sie eine andere tun. Zu backen es ich brauche 1 @@ 10 @@ und ein @@.
+
+If it was easy, someone would already have claimed it, so good luck if you plan in obtaining it.
+
+
+If left unchecked for long, they will eventually become the only specie on the sea.
+
+
+If life gets so a person cannot laugh,
+
+
+If one of us found a Mana stone. They would become rich!
+Wenn einer von uns fand einen Mana Stein. Sie würden reich werden!
+
+If only we defeated their generals and put the army in disarray... It would be possible to visit there.
+Wenn wir nur ihre Generäle geschlagen und setzte die Armee in Unordnung ... Es wäre möglich sein, dort zu besuchen.
+
+If the Monster King attacks, I will try to control inbound monsters here.
+
+
+If the event ended now, you would get @@ GP.
+Wenn das Ereignis beendet, würden Sie @@ GP erhalten.
+
+If the members level difference is less than 30, and you enable exp sharing, you'll all get a bonus experience!
+Wenn die Mitglieder Pegeldifferenz weniger als 30, und Sie exp Freigabe aktivieren, werden Sie alle einen Bonus Erfahrung bekommen!
+
+If the water doesn't moves, you will never fish anything. Ah, fat luck...
+Wenn das Wasser nicht bewegt, werden Sie nie Fisch nichts. Ah, Fett Glück ...
+
+If there were strong people to give us food, ah, how that would be good...
+Wenn es starke Leute, die uns Nahrung zu geben sind, ah, wie das wäre gut sein ...
+
+If they at least read the @@, they wouldn't have such problems.
+Wenn sie zumindest das Lesen @@, würden sie solche Probleme nicht haben.
+
+If they enroll, they will become able to study monsters and to visit the Mystical Forest west of here as well.
+
+
+If they were any bigger, monsters would come and kill everyone.
+Wenn sie noch größer wäre, würde Monster kommen und alle töten.
+
+If things keep like this, we will only manage to give @@ gifts to every player...
+Wenn Dinge wie diese zu halten, werden wir es schaffen, nur @@ Geschenke für jeden Spieler zu geben ...
+
+If this is found out to be a fraudulent titulation, both you as target will have their titles cased by the Academic Council, or by the Alliance High Council.
+
+
+If this is not the case, just click on "Send".
+
+
+If this is undesired, select the correct world, and if needed create a new char on it.
+
+
+If town reputation reaches zero, the town will only be able to get money with taxes.
+
+
+If we could convince them to distract the Monster King, we could have chances to do a counter-attack!
+Wenn wir sie davon überzeugen können, das Monster King ablenken, könnten wir Chancen haben, einen Gegenangriff zu tun!
+
+If we don't know where to go - Maybe we should go back looking for clues?
+
+
+If yes, of course she will hate you. With reason! You're murdering her family and friends!
+Wenn ja, natürlich werden sie dich hassen. Mit Grund! Sie ermorden ihre Familie und Freunde!
+
+If you are a brave hero or adventurer, Andrei, his lieutenant Elora and the Alliance will be waiting for you on %s!
+
+
+If you are above the NPC and they still doesn't hear you, this mean they are deaf - you should report this!
+Wenn Sie über dem NPC sind und sie immer noch nicht hören Sie dies bedeuten, sie sind taub - Sie sollten dies berichten!
+
+If you are in need to get lots of experience quickly, you should try to engage the bigger and stronger monsters in the town. However, if they hit you, it's Soul Menhir for you.
+Wenn Sie in Not sind schnell viel Erfahrung zu bekommen, sollten Sie versuchen, die größer und stärker Monster in der Stadt zu engagieren. wenn sie dich jedoch treffen, dann ist es Seele Menhir für Sie.
+
+If you are sure your answer is correct, please contact Jesusalva for bug fixing.
+Wenn Sie sicher, dass Ihre Antwort sind korrekt ist, nehmen Sie bitte Kontakt Jesusalva für Bugfixing.
+
+If you aren't more careful, we might... accidentally... mistake you for an agent of S.A.R.A.H.
+
+
+If you break that, you could never go to the World's Edge!
+Wenn Sie, dass brechen, könnten Sie nie zu dem Rande der Welt gehen!
+
+If you bring friends, I'm sure they'll be no match. Ah... How many people already lost their shorts to Cave Snakes?
+Wenn Sie Freunde mitbringen, ich bin sicher, dass sie nicht gewachsen sein. Ah ... Wie viele Menschen bereits verloren ihre Shorts zu Cave Schlangen?
+
+If you bring me 2 @@ and 210 GP, I can make a @@ for you.
+Wenn Sie mir 2 bringen @@ und 210 GP, kann ich eine @@ für Sie.
+
+If you bring me 2 @@, that Necklace, and 4000 GP, I can improve it. It'll be worth it, I warrant you!
+Wenn Sie mich bringen 2 @@, dass Halskette und 4000 GP, kann ich es verbessern. Es wird es wert sein, ich versichern Sie!
+
+If you bring me 6 @@ I can make a @@ for you.
+Wenn Sie mich 6 bringen @@ Ich kann einen @@ für Sie.
+
+If you bring me @@ @@, I'll give you a reward!
+Wenn Sie mich bringen @@ @@, gebe ich dir eine Belohnung!
+
+If you bring me @@, your party leader, I can let you in.
+Wenn Sie mich bringen @@, Ihr Parteichef, kann ich Ihnen einlassen.
+
+If you bring me a @@ and 500 GP I can make one for you!
+Wenn Sie mich bringen eine @@ und 500 GP kann ich für Sie machen!
+
+If you bring me some items to I do a bandage and heal myself, I'll give you my gloves!
+Wenn Sie mich einige Punkte bringen ich einen Verband tun und heilen mich, werde ich Ihnen meine Handschuhe geben!
+
+If you bring me some items, I can craft one for you. You will be my test subject.
+Wenn Sie mich einige Punkte bringen, kann ich für Sie herstellt. Sie werden mein Test unterzogen werden.
+
+If you bring me some items, I can make some for you!
+Wenn Sie mich einige Punkte bringen, kann ich einige für Sie!
+
+If you bring us 5 @@, we'll be forever grateful.
+Wenn Sie uns 5 bringen @@, werden wir immer dankbar sein.
+
+If you can manage to gather the supplies I need, I can surely craft some %s for you!
+
+
+If you conclude the training, you'll be suitable for the difficult mission our King have to you.
+Wenn Sie die Ausbildung abschließen, werden Sie für die schwierige Aufgabe geeignet sein unser König zu Ihnen haben.
+
+If you could show me what he gave you, I might trust you.
+Wenn Sie mir zeigen können, was er gibt dir, könnte ich Ihnen vertrauen.
+
+If you decide to continue, a random PINCODE will be
+
+
+If you die or logout here, the quest will be reset!
+Wenn Sie sterben oder hier abmelden, wird die Suche zurückgesetzt werden!
+
+If you die, you ##Bwon't##b be able to rejoin, but you won't suffer the penalty.
+
+
+If you die, you'll appear near Tulimshar's Soul Menhir, which is the nearest Menhir to you. You can use @@ if you ever want to change this behavior.
+Wenn Sie sterben, werden Sie scheinen in der Nähe von Tulimshar Seele Menhir, die die nächste Menhir zu Ihnen ist. Sie können @@ verwenden, wenn Sie jemals dieses Verhalten ändern möchten.
+
+If you die, you'll have to begin again. And there is the experience penalty, too.
+Wenn du stirbst, wirst du wieder beginnen haben. Und es ist die Erfahrung Strafe auch.
+
+If you die, you'll need to start over everything again!
+Wenn Sie sterben, müssen Sie wieder über alles starten!
+
+If you distort time-space too much, you might end up outside of it, meeting a quick, permanent, and unrecoverable death.
+Wenn Sie Zeit-Raum zu viel verzerren könnten Sie außerhalb davon enden, treffen eine schnelle, dauerhafte und nicht wiederherstellbar Tod.
+
+If you don't defeat the Soul Eater before the Great Fire happens, which for the record, has already happened, your soul will slowly be reclaimed by her until your existence ceases to serve as fuel to bring back one of the greatest horrors of story.
+
+
+If you don't have the recipe book, you'll need to find one... Maybe someone in a household you've already helped is willing to give you one.
+Wenn Sie nicht das Rezeptbuch haben, müssen Sie einen finden ... Vielleicht hat jemand in einem Haushalt haben Sie bereits geholfen ist bereit, Ihnen eine zu geben.
+
+If you don't know what to use, try using the current date or something.
+Wenn Sie nicht wissen, was zu verwenden, versuchen Sie das aktuelle Datum oder etwas verwenden.
+
+If you don't want to die, fight!
+Wenn Sie nicht wollen, um zu sterben, zu kämpfen!
+
+If you don't want to look at the Bible, you can try to solve the following riddle:
+Wenn Sie nicht in der Bibel suchen möchten, können Sie versuchen, das folgende Rätsel zu lösen:
+
+If you drag the "Resync" skill from the skill list to the shortcut list, you'll be able to rapidly solve some lag issues!
+
+
+If you ever go there, you should pay it a visit. It is most definitely alive! I'm sure it'll like you, too.
+
+
+If you ever need to get quickly from one place to the other, count on us!
+Wenn Sie schon einmal schnell von einem Ort zum anderen gelangen müssen, zählen Sie auf uns!
+
+If you ever visit the fortress island, be sure to visit the friendly tree at the cave. I'm sure it'll like you.
+
+
+If you fell ready, perhaps you should touch it?
+Wenn Sie bereit fiel, vielleicht sollten Sie es berühren?
+
+If you fight Black scorpion or others dangerous monster you should use the 'hit and run' tactic.
+Wenn du Schwarzer Skorpione oder andere gefährliche Monster bekämpfst, solltest du die 'Hit and Run' Taktik verwenden.
+
+If you finish everything, and answer everything right, you may get a reward.
+Wenn Sie alles fertig, und Antwort alles richtig, können Sie eine Belohnung.
+
+If you follow %s's quest, you will eventually reach the requirements for here.
+
+
+If you found anything which requires immediate attention, like broken roads which lead nowhere, or cliffs with weird collisions, invisible rocks, scamming NPCs or the sorts, please write down a %s and I'll see it. If the interface is too difficult to use, you can also do so %s or send an email to %s.
+
+
+If you get %d sequence, you'll get a %s!
+
+
+If you get any bookpages from the slimes, bring them to Ensio. Thanks for your help!
+Wenn Sie von den Schlämmen bookpages bekommen, bringt sie zu Ensio. Danke für Ihre Hilfe!
+
+If you get too much exp this way, a skill will level up and you'll get even more!
+Wenn Sie zu viel auf diese Weise erhalten exp wird nivellieren eine Fähigkeit, und Sie werden noch mehr kommen!
+
+If you go to Lieutenant Dausen, he'll say that you used GIMP. Just give up.
+
+
+If you have a @@, perhaps you could use it as a bait.
+Wenn Sie eine @@ haben, vielleicht könnten Sie es als Köder verwenden.
+
+If you have some coffee to me, I'll buy it of your hands.
+
+
+If you have some gems, I can transform them into powder.
+Wenn Sie einige Edelsteine ​​haben, kann ich sie zu Pulver verwandeln.
+
+If you have trouble with guards, just bribe them and they'll leave you alone. I asked a few to be fired three years ago, but the council haven't reviewed it yet.
+
+
+If you have... references, we may also be able to offer you... premium storing.
+
+
+If you haven't, maybe there are a few things you can do besides selling items."
+
+
+If you head west, you'll eventually reach the magical Kamelot Castle.
+
+
+If you hug the wall, there's a secret passage somewhere there. Well, there are many secret passages at Tulimshar.
+Wenn Sie die Wand umarmen, gibt es einen Geheimgang irgendwo dort. Nun, es gibt viele geheime Passagen in Tulimshar.
+
+If you kill an opponent stronger than you, you will gain honor points. But if the oponent is 15 levels weaker than you, it will be NEGATIVE!
+
+
+If you kill the same person within 30 minutes, honor will not fluctuate. The whole honor system is very experimental.
+
+
+If you leave by the secret window, you'll notice a small cave entrance. Enter it.
+Wenn Sie durch das geheime Fenster verlassen, werden Sie einen kleinen Höhleneingang bemerken. Geben Sie es ein.
+
+If you meant to reset the drop rate to its default value: @droprate default
+Wenn Sie bedeuten die Drop-Rate auf den Standardwert zurückgesetzt: @droprate Standard
+
+If you meant to reset the exp rate to its default value: @exprate default
+Wenn Sie bedeuten die exp Rate auf den Standardwert zurückgesetzt: @exprate Standard
+
+If you miss, walk two or three tiles backwards. This way, you avoid being hit.
+Wenn Sie vergessen haben, gehen Sie zwei oder drei Fliesen nach hinten. Auf diese Weise vermeiden Sie werden getroffen.
+
+If you need more herbs, the best place to look.
+Wenn Sie mehr Kräuter brauchen, ist der beste Ort zu suchen.
+
+If you need to talk with King Gelid, he should be in the castle north here.
+Wenn Sie mit König Gelid reden müssen, sollte er nach Norden hier im Schloss sein.
+
+If you pay attention, you'll learn the skill.
+Wenn Sie darauf achten, haben Sie die Fähigkeit lernen.
+
+If you pay the fee, I'll spawn them, for no longer than 20 minutes. You should not fight alone, instead, you need a group of at least three, because, you know, the curse. Or something.
+Wenn Sie die Gebühr zahlen, werde ich sie laichen, nicht länger als 20 Minuten. Sie sollten nicht allein bekämpfen, stattdessen müssen Sie eine Gruppe von mindestens drei, weil, wissen Sie, den Fluch. Oder so.
+
+If you rent an apartment, you'll become a "citzen" and be allowed here. Besides, you can buy stuff in your apartment to, for example, craft stuff.
+
+
+If you save 80% from the crops or more, you'll get @@ GP.
+Wenn Sie 80% von den Kulturen oder mehr sparen, werden Sie @@ GP erhalten.
+
+If you save 90% from the crops or more, you'll also get a @@.
+Wenn Sie 90% von den Kulturen oder mehr sparen, werden Sie auch eine @@ bekommen.
+
+If you sponsor me, while I break into more dimensions, I'll give you any stuff I find. Hey, they could be rare here!
+Wenn Sie mich sponsern, während ich in mehreren Dimensionen zu brechen, werde ich Ihnen jede Sachen, die ich finden. Hey, könnte sie selten hier sein!
+
+If you succeed, the defense and/or attack will raise. If you fail, refine level goes down.
+Wenn Sie Erfolg haben, wird die Verteidigung und / oder Angriff zu erhöhen. Wenn Sie scheitern, geht refine Ebene nach unten.
+
+If you take too long you'll be penalized.
+Wenn Sie zu lange dauern, werden Sie bestraft.
+
+If you think this should be a priority, please ask Jesusalva.
+Wenn Sie denken, dies eine Priorität sein sollte, wenden Sie sich bitte Jesusalva.
+
+If you train hard enough, and get access to a Mana Stone, I could teach you a trick or two. But right now, I don't sense magic compatibility in you.
+Wenn Sie hart genug trainieren, und der Zugang bekommen zu einem Mana Stein, könnte ich dir einen oder anderen Trick beibringen. Aber jetzt spüre ich keine Magie Kompatibilität in dir.
+
+If you try take any more power from the Mana Seed, I'll kill you.
+
+
+If you try to walk west or east too much, you'll hit an "invisible wall" to prevent you from getting lost.
+
+
+If you unlock a pet but it is missing on this list, this means nobody elese unlocked them yet.
+
+
+If you want it?
+Wenn du es willst?
+
+If you want to be a real miner friend, do this hard task for me. I will reward you with a @@.
+Wenn Sie ein echter Bergmann Freund sein wollen, tun, um diese schwierige Aufgabe für mich. Ich werde Sie mit einem @@ belohnen.
+
+If you want to know what the Alliance is up to, you might have better luck talking to Jerican, from the Press.
+
+
+If you want to pass through it, you'll need to defeat the Guardian which made the seal. You can bring friends for healing and support.
+Wenn Sie durch sie übergeben möchten, müssen Sie den Wächter besiegen, die die Dichtung hergestellt. Sie können Freunde für die Heilung und Unterstützung bringen.
+
+If you want to read this page again, there is a copy up on the wall.
+Wenn Sie diese Seite wieder lesen möchten, gibt es eine an der Wand kopieren auf.
+
+If you want, you can ask there for one. They are at the big building at northwest.
+Wenn Sie möchten, können Sie dort für eine fragen. Sie sind an dem großen Gebäude im Nordwesten.
+
+If you want, you can bring me some more of those herbs and potions.
+Wenn Sie möchten, können Sie mir etwas mehr von diesen Kräutern und Tränken bringen.
+
+If you're afraid of losing everything, then DEFINITELY do not gamble. %%2
+
+
+If you're ever in need, you may use it to call upon the aid of the ducks.
+
+
+If you're reading this - Feel free to use my laboratory in any way you deem fit. Or what's left of it, at least. Also, please kill any slimes you find. I shall be back in six leaps time, according to the Imperial Time, but if I'm not back by then, assume something went wrong and both wushin and me are off the table.
+
+
+If you're right, you'll gain more Casino Coins! And even other nice things!
+
+
+If you're right, you'll get at least 80 GP!
+Wenn du recht hast, hast du mindestens 80 GP erhalten!
+
+If you're still not confident enough, just tell him this: %s
+
+
+If you're wrong, your winning streak is reset.
+Wenn Sie falsch, ist Ihre Siegesserie zurückgesetzt.
+
+If you've used all the ones I've given, you can always bring me more ingredients.
+Wenn Sie alle diejenigen verwendet habe ich gegeben habe, können Sie immer mehr Zutaten bringen mich.
+
+If your guild is defeat during the quest, you'll need to wait the weekly cooldown to expire.
+
+
+Ignore this book
+
+
+Igor
+Igor
+
+Ihclot
+
+
+Imec#EP
+
+
+Immortal Heavy Sword
+Immortal Schweres Schwert
+
+Imperial Crown
+Imperiale Krone
+
+Importing food from Hurnscald is expensive, local food is expensive, if you don't have a job you're a dead person. Worse if you need medical aid.
+
+
+Impossible to read.
+Unmöglich zu lesen.
+
+Impossible to resync: You are dead.
+Unmöglich zu synchronisieren: Sie sind tot.
+
+Impressive. Seven gifts! Now, 12800 is not easy. I understand if everyone gives up.
+Beeindruckend. Sieben Geschenke! Nun 12800 ist nicht einfach. Ich verstehe, wenn jeder aufgibt.
+
+Improve Barter to level
+Verbessern Barter auf Ebene
+
+Improve Max Weight to level
+Verbessern Max Gewicht auf Ebene
+
+Improve Stealing to level
+Verbesserung der Diebstahl auf Stufe
+
+Improved MP Regen
+
+
+In TMW2 there is
+In TMW2 gibt es
+
+In a blood bath, survival is the epitaph.
+
+
+In a few weeks, I will finish the @@ plans, and there will be no doubts, that @@ is not the best weaver in the world!
+In wenigen Wochen wird beende ich die @@ Pläne, und es wird keine Zweifel sein, dass @@ nicht die beste Weber in der Welt ist!
+
+In addition to my fee, I will also need the following items:
+
+
+In exchange for your help, I'll give you a @@!
+Im Gegenzug für die Hilfe, ich werde Ihnen eine @@!
+
+In fact, %s is considered by most to be rare these days.
+
+
+In fact, Bryant is my brother, and he lives in a cave, and he probably have a high level quest too, but that's not important now.
+In der Tat ist Bryant mein Bruder, und er lebt in einer Höhle, und er wahrscheinlich ein hohes Maß Quest haben, aber das ist jetzt nicht wichtig.
+
+In fact, I am cured! Hooray!!
+In der Tat, ich bin geheilt! Hurra!!
+
+In fact, it is flooded at the moment. Come back later.
+In der Tat ist es im Moment überschwemmt. Kommen Sie später wieder.
+
+In fact, the Tulimshar Noble District is world-renowned for crafting high-quality yellow garments!
+
+
+In fact, you would get lost and killed. If I were you, I would avoid the Death Penalty. It's high, ya know?
+In der Tat würden Sie verloren und getötet. Wenn ich Sie wäre, würde ich die Todesstrafe vermeiden. Es ist hoch, ya know?
+
+In general, by touching the Mana Stone once, will make you a first degree mage. But these degrees goes up to seven and beyond, I think.
+In der Regel, indem Sie einmal die Mana Stein zu berühren, werden Sie einen ersten Abschluss Magier. Aber dieser Grad bis zu sieben und darüber hinaus geht, denke ich.
+
+In honor of %s, for their great deeds of recent bravery in face of impending doom.
+
+
+In honor of %s, founder of this academy, whom built this academy WITH HIS OWN HANDS, WITH BLOOD SWEAT AND TEARS.
+
+
+In honor of %s, the greatest hero this world has even seen.
+
+
+In honor of DragonStar, winner of Easter 2018.
+Zu Ehren von DRAGON, Gewinner der Oster-2018.
+
+In honor of Groata, winner of Easter 2020.
+
+
+In honor of Manatauro, Povo, YuckFou, Cadis Etrama di Raizel and everyone whom participated on it!
+
+
+In honor of Woody, winner of Easter 2019.
+Zu Ehren von Woody, den Gewinner von Ostern 2019.
+
+In honor of everyone whom participated on it!
+
+
+In memoriam. May those whom shall never come back find rest in their afterlifes.
+In memoriam. Diese können die nie zur Ruhe kommt zurück in ihren afterlifes.
+
+In order to enter a message press the 'Enter' key, this will display the white box of typing. Type your message there and press 'Enter' again to send your speech.
+Um eine Nachricht drücken Sie die Taste ‚Enter‘ einzugeben, wird dies das weiße Feld der Eingabe angezeigt werden soll. Geben Sie Ihre Nachricht dort ein und drücken Sie ‚Enter‘ erneut Ihre Rede zu senden.
+
+In other words, I never heard of a Yeti eating a kid before. They prefer %s.
+
+
+In other words, it'll make a copy of youself.
+Mit anderen Worten, es wird eine Kopie von sich selbst machen.
+
+In other words, whoever they are, they're after the sages. They are not targeting just simple magical users. This might be a problem.
+
+
+In other words: If Lua couldn't find your record, your parents were part of this story! But, on which of these three groups were them?
+Mit anderen Worten: Wenn könnte Lua nicht gefunden Ihren Rekord, waren Ihre Eltern Teil dieser Geschichte! Aber auf welche dieser drei Gruppen waren sie?
+
+In overall, you'll get more experience by fighting monsters.
+Insgesamt werden Sie mehr Erfahrung von Monstern kämpfen bekommen.
+
+In some cases, your pincode will be required.
+In einigen Fällen wird Ihre PIN-Code erforderlich.
+
+In some dungeons etc., there might be a monster much, much stronger than all other monsters on the area. These are the optional miniboss.
+
+
+In the
+Im
+
+In the end, elves would have quite the age to rivalize with human wizards.
+Am Ende hätten Elfen das ganz Alter mit menschlichen Assistenten rivalize.
+
+In the end, they decide the defensive measures, and they even set curfews!
+Am Ende entscheiden sie die Abwehrmaßnahmen, und sie selbst gesetzt Ausgangssperren!
+
+In the first eight months I wanted to go back, but now I'm pretty used to living here. Please don't rescue me.
+In den ersten acht Monaten wollte ich zurück gehen, aber jetzt bin ich ziemlich zu leben hier verwendet. Bitte rettet mich nicht.
+
+In the storehouse, kill 4 @@. They keep coming back and contaminate our stored goods.
+
+
+In the world, you may find several treasure boxes. Different treasure boxes need different keys.
+
+
+In these dark times, countless souls moved away from Halinarzo. All hope seemed lost.
+In diesen dunklen Zeiten, zog unzählige Seelen von Halinarzo entfernt. Alle Hoffnung schien verloren.
+
+In this case, haven't I counted, I would have deleted only part of the items, then I would go silent. No refunds.
+In diesem Fall müssen nicht zählte ich, ich würde nur ein Teil der Elemente gelöscht haben, dann würde ich verstummen. Keine Rückerstattung.
+
+In this cave we can easily find Coal, Iron ore, and sometimes @@.
+In dieser Höhle können wir leicht finden Kohle, Eisenerz, und manchmal @@.
+
+In this town you'll find many critical things for your journey, like artifacts, dungeons, crafts and refiners. Please enjoy your stay. And keep tuned for news about us!
+In dieser Stadt finden Sie viele wichtige Dinge für die Reise, wie Artefakte, Dungeons, Handwerk und Raffin finden. Bitte genießen Sie Ihren Aufenthalt. Und immer wieder für Neuigkeiten über uns dran!
+
+In this wonderful realm, you can find and earn many @@, our currency!
+In diesem wunderbaren Bereich können Sie finden und viele @@, unsere Währung verdienen!
+
+In this world, Angela married with the Blue Sage. I had an... incident, with the Blue Sage, which is better forgetten. Anyway, seeking to cause a political instability, opposing Yetis every once in a while kidnap their daughter, Cindy.
+
+
+In this world, your friends are your strength. You deserve a reward for the victory, please choose whatever you want.
+In dieser Welt sind Ihre Freunde Ihre Stärke. Sie verdienen eine Belohnung für den Sieg, wählen Sie bitte, was Sie wollen.
+
+In times of the fire, magic came to save us.
+
+
+In whom to vote?
+In wen sie stimmen?
+
+Inac
+inac
+
+Inactive
+Inaktiv
+
+Inar
+inar
+
+Increase STR/INT/DEX in range for all guild allies.
+
+
+Increase Weight skill replaced with Stealing.
+Erhöhen Sie Gewicht Geschick ersetzt durch Diebstahl.
+
+Increase all stats
+
+
+Increase all stats from every guild member in area.
+
+
+Increase bow range and accuracy.
+
+
+Increase critical chance of all guild allies.
+
+
+Increase damage dealt by weapon for all guildies.
+
+
+Increase defense to all friends in radius.
+
+
+Increase walk speed and flee rate.
+
+
+Indeed, matey! Here they are!
+In der Tat, kameradschaftlich! Hier sind sie!
+
+Indeed. Sorry. I'm not giving you anything.
+Tatsächlich. Es tut uns leid. Ich gebe dir nichts.
+
+Indoors 1 (Peace)
+Innenaufnahme 1 (Frieden)
+
+Indoors 2 (Dimonds)
+Innenaufnahme 2 (Diamonds)
+
+Infantry Helmet
+Infanterie-Helm
+
+Info
+Die Info
+
+Information
+Information
+
+Initiate a siege
+Initiieren Sie eine Belagerung
+
+Initiate small siege (lv. 5)
+Initiieren kleine siege (lv. 5)
+
+Injured Mouboo
+
+
+Injuried Mouboo
+Verletzt Mooboo
+
+Inn
+Gasthaus
+
+Inn, Dimond's Cove
+Inn, Dimond Cove
+
+Inn, Houses, Northwest Avenue
+Inn, Häuser, Northwest Avenue
+
+Input new password:
+Geben Sie das neue Passwort:
+
+Inside it, seems to be several magic reagents, powders, and other stuff.
+Innen ist es, scheint einige magischen Reagenzien, Pulver und andere Sachen zu sein.
+
+Inside it, there'll be a Transcendence Gate.
+Innen ist es, es werde ein Transcendence Tor sein.
+
+Inside this house is my brother Alan. He knows how to make Forest Bows of exquisite quality.
+Innerhalb dieses Haus ist mein Bruder Alan. Er weiß, wie Wald-Bögen von erlesener Qualität zu machen.
+
+Insisting will do us no good, maybe we should try to gain its trust first?
+
+
+Inst @@ Map @@
+Inst @@ Map @@
+
+Instantly jumps 5 tiles backwards.
+
+
+Instantly jumps to target and delivers an attack.
+
+
+Instead of "slap", it could "heal" or "appear".
+
+
+Instead of burning the town to a crisp, it moved to the canyon. Passed through the scarce vegetation until it arrived Hurnscald... And burned it down.
+
+
+Insufficient Guild Level! (@@/@@)
+Unzureichende Gildenstufe! (@@ / @@)
+
+Insufficient Guild Money! (Guild has: @@ GP)
+Zu Guild Geld! (Guild hat: @@ GP)
+
+Insufficient mana: @@/@@.
+Nicht genügend Mana: @@ / @@.
+
+Insurance
+
+
+Insurance Contract
+
+
+Int Potion
+Int Trank
+
+Int+ Potion
+Int + Potion
+
+Int++ Potion
+Int ++ Potion
+
+Intelligence
+Intelligenz
+
+Intelligence Fruit
+Intelligenz Fruit
+
+Intense Beard
+intensive Beard
+
+Intensive Mage Challenge
+
+
+Interested?
+Interessiert?
+
+Interesting! can I be rewarded for my help?
+Interessant! kann ich für meine Hilfe belohnt werden?
+
+Interlude
+
+
+Interlude - Fourth Act
+
+
+Intermediary Dungeon (Lv 60+)
+Intermediär Kerker (Lv 60+)
+
+Interval: (none, only sent on login)
+Intervall: (keins, nur zum Login gesendet)
+
+Interval: every @@ hour(s)
+Intervall: alle @@ Stunde(n)
+
+Introduce
+Vorstellen
+
+Invalid Discord ID.
+
+
+Invalid amount!
+Ungültige Menge!
+
+Invalid map mask
+Ungültige Karte Maske
+
+Invalid music key. Current accepted values are:
+
+
+Invalid parameter specified, blame saulc.
+Ungültige Parameter angegeben, Schuld saulc.
+
+Invalid quest state: @@
+Ungültige Quest Zustand: @@
+
+Invalid recipe from Nahrec partly reimbursed.
+
+
+Invalid season: @@
+Ungültige Saison: @@
+
+Invest in Exportations
+Invest in Exportations
+
+Invest in Reputation
+Investieren Sie in Reputation
+
+Investing in Exportations
+Die Investition in Exportations
+
+Investing in Reputation
+Die Investition in Reputation
+
+Investment executed
+Investition ausgeführt
+
+Invite your friends, and become a Moubootaur Legend!
+
+
+Inya, the Jeweler
+Inya, die Bijouterie
+
+Iridium Ingot
+Iridium Ingot
+
+Iridium Ore
+Iridium Ore
+
+Iridium Ore -> Titanium Ore
+Iridium Ore -> Titanium Ore
+
+Iron Ammo Box
+Eisen Munitionsbox
+
+Iron Armbands
+Eisen Armschienen
+
+Iron Arrow
+Iron Arrow
+
+Iron Backsword
+Eisen Backsword
+
+Iron Blade Shield
+Klinge aus Eisen Schild
+
+Iron Bug Slayer
+Eisen Bug Slayer
+
+Iron Ingot
+Eisenbarren
+
+Iron Ore
+Eisenerz
+
+Iron Ore -> Coal
+Eisenerz -> Kohle
+
+Iron Powder
+Eisenpulver
+
+Iron Quiver
+Eisen Quiver
+
+Iron Quiver stats restored
+Eisen Quiver Statistiken restauriert
+
+Iron Short Gladius
+Eisen Short Gladius
+
+Iron Shovel
+Eisenschaufel
+
+Is it too deep?
+Ist es zu tief?
+
+Is it truly a hard choice to make?
+Ist es wirklich so schwer, diese Entscheidung zu treffen?
+
+Is that someone's luggage?
+
+
+Is that... Wait... Wow. You... Killed the murderer scorpion.
+
+
+Is there a reward?
+Gibt es eine Belohnung?
+
+Is this correct?
+
+
+Is this high-quality fur?
+Ist das hochwertige Fell?
+
+Is this letter yours? Very well, let me read.
+Ist dieser Brief bei Ihnen? Sehr gut, lassen Sie mich lesen.
+
+Is your guild strong enough to give Arthur at least good nights sleep?
+
+
+Is... Dan... Ger... Ous...
+Ist gefährlich...
+
+Isbamuth
+Isbamuth
+
+Ishi
+Ishi
+
+Ishi, the Rewards Master
+Ishi, Belohnungen der Meister
+
+Isn't hard to live alone?
+Ist das nicht schwer, allein zu leben?
+
+It also expires after two hours. In such case, talk to him again!
+Sie erlischt auch nach zwei Stunden. In einem solchen Fall sprechen wieder mit ihm!
+
+It also increases naturally as you grow, albeit less.
+
+
+It appears we were focusing too much on research and this lead to neglect of other duties of a Sage's household. This is dangerous in times of changes. I'm worried about the future.
+Es scheint, wir waren zu viel mit Schwerpunkt auf Forschung und diese führt zu Vernachlässigung anderer Pflichten eines Weisen Haushalt. Das ist gefährlich in Zeiten von Veränderungen. Ich bin über die Zukunft besorgt.
+
+It costs %d GP to use.
+
+
+It costs 600 GP to use.
+Es kostet 600 GP zu verwenden.
+
+It doesn't make much sense to draw overhasty conclusions.
+Es macht nicht viel Sinn machen, um vorschnelle Schlüsse zu ziehen.
+
+It happens.
+Es passiert.
+
+It has a very dark color and an unusual aroma reminiscent of a moist forest.
+Es hat eine sehr dunkle Farbe und ein ungewöhnliches Aroma erinnert an einen feuchten Wald.
+
+It has been a great year, and the TMW2 Team would like to
+
+
+It has been a total disaster. They killed %s. And everyone on the village.
+
+
+It has eluded so many craftsmiths, who knows what can be done with that!
+Es hat so viele craftsmiths entzieht, wer weiß, was damit getan werden kann!
+
+It have lots of lava caves, and some cool stuff, like the @@, can only be craft there.
+Es hat viele Lavahöhlen, und einige coolen Sachen, wie die @@ können nur Handwerk dort sein.
+
+It have the same shape as those used to polish weapons, but there are blood stains everywhere.
+Es hat die gleiche Form wie die zum Polieren von Waffen verwendet, aber es gibt Blutflecke überall.
+
+It is %s since the last great attack from the Monster King.
+
+
+It is NOT advised for new players to skip parts of the Main Quest.
+
+
+It is NOT designed for noobs. It is for the pain-seeking pro adventurers who laugh at death, and see danger as fun.
+Es ist nicht für noobs gestaltet. Es ist für den Schmerz such pro Abenteurer, die auf den Tod lachen und sehen Gefahr als Spaß.
+
+It is a boss. I don't know how to summon one, and to be honest - You won't want to see one either.
+Es ist ein Chef. Ich weiß nicht, wie man zu rufen, und um ehrlich zu sein - Sie werden nicht ein entweder sehen wollen.
+
+It is a dangerous area, so we only allow students enrolled at the academy to participate.
+
+
+It is a magical tower, though, cloaked in the desert. You can't just walk there. The tower was north of here, you will find a sign near the gate... But you won't find the gate itself.
+
+
+It is a pirate treasure hideout, yarr arr! If you have a @@ and a @@, you may get luck, yarr!
+Es ist ein Piratenschatz Versteck, yarr arr! Wenn Sie eine @@ und @@, können Sie bekommen Glück, yarr!
+
+It is a port city at the south of the continent. Main economic activities are mining and spices trade.
+Es ist eine Hafenstadt im Süden des Kontinents. Hauptwirtschaftszweige sind der Bergbau und Gewürzen handeln.
+
+It is a really cool place. You must visit it someday!
+Es ist ein wirklich cooler Ort. Sie müssen ihm einen Tag besuchen!
+
+It is a sunny day, don't you think?
+Ein schöner sonniger Tag, findest du nicht?
+
+It is difficult to describe, it is like if it was mixed with mana itself. Drinking a bit of it was enough to recover your MP.
+Es ist schwer zu beschreiben, es ist wie wenn sie sich mit Mana gemischt sind. Trinken ein bisschen es war genug, um Ihre MP zu erholen.
+
+It is known that even world wars have been under cease-fire on this date. On our world, Jesus Saves pays fortunes to Santa so he can gift every adventurer for the good year.
+Es ist bekannt, dass sogar Weltkriege haben an diesem Tag unter Waffenstillstand gewesen. Auf unserer Welt rettet Jesus zahlt Vermögen nach Santa so kann er Geschenk jeden Abenteurer für das gute Jahr.
+
+It is no use... We are too close to a island, they will keep invading the ship...
+Es hat keinen Sinn ... Wir sind zu nah an einer Insel, halten sie das Schiff Invasion ...
+
+It is not much, but here is %d GP. Should buy you a snack!
+
+
+It is not my fault!
+
+
+It is not my fault.
+
+
+It is often easier to get invited by someone, but if you want to create it, you're free to. Remember guilds also have a player limit.
+Es ist oft einfacher, von jemandem eingeladen, aber wenn Sie es schaffen wollen, sind Sie frei. Denken Sie daran, Innungen auch einen Spieler Limit haben.
+
+It is on a huge, icy mountain peak. Rumors about dragons and legendary items to be found.
+Es befindet sich auf einem großen, vereisten Berggipfel. Gerüchte über Drachen und legendäre Gegenstände zu finden.
+
+It is one of the five legendary weapons. Legend says it was hidden in a tree on Aethyr, and will be given to the one who proves to be an excelent archer.
+
+
+It is pretty close to here. I advise you to use a good sword, and heal yourself often.
+Es ist ziemlich nah an hier. Ich rate Ihnen, ein gutes Schwert zu verwenden, und heilen sich oft.
+
+It is said that if someone dies to the pinkies but is then avenged and mourned, the avenger may claim from the tree the shield of the world!
+
+
+It is so dangerous, and it...
+
+
+It is the birthplace of humans, the first place to come to existence... The World Edge. The place where humanity began, and according to the legend... The place where it shall perish.
+Es ist der Geburtsort des Menschen, der erste Ort, um Existenz zu kommen ... The World Rand. Der Ort, an dem die Menschheit begann, und nach der Legende ... Der Ort, wo sie umkommen.
+
+It is the non-rare ingredients I actually need help with!
+Es ist die nicht seltenen Zutaten, die ich mit wirklich brauche Hilfe!
+
+It is the place where it all began... And I'm not talking about the Mana War.
+Es ist der Ort, wo alles begann ... Und ich spreche nicht über den Mana-Krieg.
+
+It is time to send %s to your beloved ones!
+
+
+It is very hard to come by, however, my father has a copy he might sell to you for the right price.
+Es ist sehr schwer zu bekommen, aber mein Vater hat eine Kopie er dir für den richtigen Preis verkaufen kann.
+
+It is... SO CUTE! You won't refuse honey to a teddy, will you?
+
+
+It looks dangerous.
+Es sieht gefährlich.
+
+It looks like you are ready. Let me see if there is an easy task for you...
+
+
+It looks like you can't carry anything else for now.
+Sieht so aus, als könntest du gerade nichts mehr tragen.
+
+It looks locked.
+Es sieht gesperrt.
+
+It matters not, because soon, all of you will be...
+
+
+It may also create some @@ or a @@, with enough skill.
+Es kann auch einige @@ oder ein @@, mit genügend Geschick erstellen.
+
+It may be dangerous. I better ask %s to check it instead.
+
+
+It may be expensive to return here. Are you sure?
+Es kann teuer sein, hier zurückzukehren. Bist du sicher?
+
+It may fail, and you might end up with something entirely unexpected, or nothing at all!
+Es kann fehlschlagen, und Sie können mit etwas völlig unerwartet, oder gar nichts am Ende!
+
+It might be a good idea to ask around if anyone else observed something odd connected to this person.
+Es könnte eine gute Idee zu fragen, um, ob jemand beobachtet ungerade etwas zu dieser Person verbunden sein.
+
+It might be just my gut instinct, but... Would you be willing to talk with Peetu and the other helpers, investigating what actually happened?
+Es könnte nur mein Bauchgefühl, aber ... Wären Sie bereit, mit Peetu und die anderen Helfer zu reden, zu untersuchen, was wirklich passiert?
+
+It might be, but I never heard of you before. Sorry @@, I can't let just anyone go through. It would be a disservice to see you get stuck and die.
+
+
+It might be, but your level isn't. Sorry @@. No going to Hurnscald before level 20.
+Es könnte sein, aber Ihr Niveau ist es nicht. Es tut uns leid @@. Kein werde Hurnscald vor Stufe 20.
+
+It more than just a piece of Zealite Ore... It is a part of the world's heart.
+Es ist mehr als nur ein Stück Zealite Ore ... Es ist ein Teil des Herzens der Welt.
+
+It only loses to Tulimshar, as far as political and economical importance goes.
+Er verliert nur Tulimshar, soweit politische und wirtschaftliche Bedeutung geht.
+
+It really comes in handy that I have my towel with me. A towel is about the most massively useful thing an inte- ahm, a person can have.
+Es kommt wirklich praktisch, dass ich mein Handtuch haben. Ein Handtuch ist über die meist massiv nützliche Sache integrales ahm, kann eine Person hat.
+
+It rules Tulimshar, and is also one of the superior bodies of the Alliance. They have the last Mana Stone in the world on their meeting hall.
+Es herrscht Tulimshar, und ist auch einer der höheren Gremien der Allianz. Sie haben den letzten Mana Stein in der Welt auf ihren Versammlungshall.
+
+It seems all of the slimes are gone now. I'm so glad! Thanks for your help. I mentioned your assistance to Nikolai.
+Es scheint, alle die Schleime nun verschwunden sind. Ich bin so froh! Danke für Ihre Hilfe. Ich erwähnte Ihre Hilfe Nikolai.
+
+It seems happy, but it quickly goes to a dark honey after finishing.
+
+
+It seems that you have no status points to reset!
+Scheinbar hast du keine Status Punkte zum zurücksetzen!
+
+It seems to be a mechanism of some kind, but it is missing a Runestone.
+
+
+It seems to be a puzzle, you can only imagine what needs to be done in order to enable the right portals.
+Es scheint ein Rätsel zu sein, können Sie sich nur vorstellen, was, um die richtigen Portale zu ermöglichen getan werden muss.
+
+It seems to be concentrated on its small pot... So concentrated, it doesn't even realizes you're there.
+
+
+It seems to be growing apples, but by the amount of magic particles...
+Es scheint, Äpfel, aber durch die Menge an magischen Partikel zu wachsen ...
+
+It seems to be the ruins of some sort of Mouboo Temple or whatever, from a millenia ago. There may be traps, so be careful.
+Es scheint, die Ruinen von irgendeiner Art von Mouboo Tempel oder was auch immer zu sein, von einem millenia vor. Es kann Fallen sein, so vorsichtig sein.
+
+It seems to have been abandoned a long time ago, but the chimney is still going?
+Es scheint vor langer Zeit aufgegeben worden, aber der Schornstein geht noch?
+
+It should be almost a boss at your level, so I don't expect to see you again here so soon.
+Es sollte fast einen Chef auf Ihrem Niveau, so dass ich nicht erwarten, dich wieder hier so bald zu sehen.
+
+It should be back in @@
+Es sollte in seinem zurück @@
+
+It should bring me back.
+Es sollte mich zurückbringen.
+
+It smells like manatauro's room.
+
+
+It still isn't time to awake the King Of Holy Swords, Light Bringer.
+Es ist noch nicht Zeit, den König von Heiligen Schwertern, helle Bringer zu wecken.
+
+It then looks at you with a pleasant smile, you definitely earned a new cute friend!
+
+
+It was a boring lesson, but you have mastered Mananese.
+
+
+It was a little @@.
+Es war ein wenig @@.
+
+It was a real problem, threatening them to go out of business. I think they are trying to recover the lost weapons.
+Es war ein echtes Problem, drohen sie von Unternehmen zu gehen. Ich denke, sie versuchen, die verlorenen Waffen zu erholen.
+
+It was a recipe you already knew... (+ @@ Mobpt)
+Es war ein Rezept, das Sie bereits wusste, ... (+ @@ Mobpt)
+
+It was a reeeeeealy close dispute for the podium, but Jesusalva crafted an item at the last minute and took the first place!
+Es war ein reeeeeealy naher Streit um das Podium, aber Jesusalva gestaltete ein Element in der letzten Minute und nahm den ersten Platz!
+
+It was a tough fight.
+
+
+It was a trap! We must escape!
+
+
+It was an awful cut! Don't think any piece of a sightly lower material will have part in my art!
+Es war ein schrecklicher Schnitt! Denken Sie nicht, jedes Stück ein sightly unteren Materialteil in meiner Kunst haben!
+
+It was built by The Alliance, and can be accessed by a ship in Tulimshar.
+
+
+It was just south of the island. Try walking around a bit?
+Es war nur im Süden der Insel. Versuchen Sie ein bisschen herum zu Fuß?
+
+It was my job to seal the slimes away for the night, but I somehow messed it up!
+Es war meine Aufgabe, die Schleime für die Nacht zu versiegeln, aber ich verwirrt es irgendwie up!
+
+It was nice seeing you.
+Es war schön dich zu sehen.
+
+It was said that these five heroes will once again emerge;
+
+
+It was so lovely, and it had some very tasty fruits, too! But the cave was so dangerous...
+
+
+It was so tasty, I can't eat anything more... Thank you.
+Es war so lecker, ich nichts mehr essen kann ... Danke.
+
+It wasn't easy, but you think that you extinguished this nest.
+Es war nicht einfach, aber Sie denken, dass Sie das Nest ausgelöscht.
+
+It wasn't this time...
+Es war diesmal nicht ...
+
+It will allow you to store %d extra items, with unlimited weight or size limit, for only %s GP! Although premium clients such as yourself... deserve a discount!
+
+
+It won't be long before we reach our destination...
+Es wird nicht lange dauern, bis wir unser Ziel erreichen ...
+
+It would be unwise to pick a fight with the Yeti King himself. The whole town would suffer.
+Es wäre unklug, einen Kampf mit dem Yeti König selbst zu holen. Die ganze Stadt würde leiden.
+
+It would be very kind of you, if you could seek who I am!
+Es wäre sehr nett von Ihnen, wenn Sie versuchen könnten, wer ich bin!
+
+It'll also boost your %s for %s.
+
+
+It'll also drain mana in the proccess. If you run out of mana, its over.
+
+
+It'll be my pleasure.
+
+
+It'll be too dangerous if you're not at least level %d. But I'm sure you can grind the required level in no time; Don't let your body down! Exercise!
+
+
+It'll cost @@ GP
+Es wird @@ GP kosten
+
+It'll cost you @@ GP.
+Es wird kostet Sie @@ GO.
+
+It's
+Es ist
+
+It's *sniff* It's all my fault... *sniff*
+Es ist * sniff * Es ist alles meine Schuld ... * sniff *
+
+It's @@ (day)!
+Es ist @@ (Tag)!
+
+It's @@ @@.
+Es ist @@ @@.
+
+It's International Chocolate Day!
+
+
+It's Jesusalva's anniversary!
+Es ist Jesusalva Jubiläum!
+
+It's St. Patrick Day, so be warned everyone wants a green dye... So, I raise the prices.
+Es ist St. Patrick Tag, so gewarnt werden, jeder will ein grüner Farbstoff ... Also, ich die Preise zu erhöhen.
+
+It's St. Patrick Event!
+Es ist St. Patrick Veranstaltung!
+
+It's TMW2 Project anniversary!
+Es ist TMW2 Projekt Jubiläum!
+
+It's TMW2 Server anniversary!
+Es ist TMW2 Server Jahrestag!
+
+It's a @@!
+Es ist ein @@!
+
+It's a complex curse.
+Es ist ein komplexer Fluch.
+
+It's a cursed mouboo.
+Es ist ein verfluchter mouboo.
+
+It's a scary legend of old. It's truth, but I don't know how much it is.
+Es ist eine beängstigende Legende von alt. Es ist Wahrheit, aber ich weiß nicht, wie viel es ist.
+
+It's a simple curse.
+Es ist ein einfacher Fluch.
+
+It's a strange drawing of a Mouboo.
+Es ist eine seltsame Zeichnung eines Mouboo.
+
+It's a tie!
+Es ist eine Krawatte!
+
+It's a very delicate spell. I usually start to prepare it while the helpers are still working on their research and experiments. That way, when they're done, they can just come and place the slimes under the seal.
+Es ist ein sehr heikeler Bann. Ich beginne in der Regel, sich darauf vorzubereiten, während die Helfer noch auf ihre Forschung und Experimente zu arbeiten. Auf diese Weise, wenn sie fertig sind, können sie einfach kommen und die Schleime unter dem Siegel platzieren.
+
+It's advised to collect PVP equipment.
+Es ist zu collect PVP Ausrüstung beraten.
+
+It's advised to come ready for the cold, the hungry beasts, and other dangers snow may bring.
+Es wird empfohlen, für die Kälte bereit zu kommen, die hungrigen Tiere und andere Gefahren Schnee bringen kann.
+
+It's all my fault, I should've paid more attention! You should talk to Chief Oskari about this.
+Es ist alles meine Schuld, ich sollte mehr Aufmerksamkeit geschenkt haben! Sie sollten zum Chief Oskari darüber reden.
+
+It's always good to see if you have a lot of them around before you think about attacking one!
+Es ist immer gut, um zu sehen, wenn Sie viele von ihnen haben sich um, bevor Sie denken über einen Angriff auf!
+
+It's an ambush!
+Es ist ein Ãœberfall!
+
+It's autumn! There is no special event during autumn, only special drops.
+Es ist Herbst! Es gibt keine besondere Veranstaltung im Herbst, nur spezieller Tropfen.
+
+It's cold, harsh climate makes difficult to live there. It was founded by people thrown away from Tulimshar and Hunrscald for political reasons.
+Es ist kalt, raues Klima macht, dort zu leben schwer. Es wurde von Menschen gegründet von Tulimshar und Hunrscald aus politischen Gründen weggeworfen.
+
+It's currently day, but when night falls, Candor will become darker.
+Es ist zur Zeit Tag, aber wenn die Nacht hereinbricht, wird Candor dunkler.
+
+It's currently night, that's why Candor is dark.
+Es ist zur Zeit der Nacht, das ist, warum Candor dunkel ist.
+
+It's dangerous in the library right now, be careful. Do you need anything else?
+Es ist gefährlich, in der Bibliothek gerade jetzt, vorsichtig sein. Brauchst du noch was?
+
+It's done with @@ teethes. These drain your life and raise your strenght to SMASH your foes!
+Es ist mit @@ teeths getan. Diese Drain Ihr Leben und erhöhen Sie Ihre Stärke deine Feinde zu zerschmettern!
+
+It's far from over! You cannot defeat me!
+Es ist noch lange nicht vorbei! Sie können mich nicht besiegen!
+
+It's full of Mouboo drawings.
+Es ist voll von Mouboo Zeichnungen.
+
+It's good to see you too, do you happen to be able to make stuff?
+Es ist gut, dich zu sehen, passieren Sie in der Lage sein, Sachen zu machen?
+
+It's higher! That's right!
+Es ist höher! Das ist richtig!
+
+It's impossible to know when she'll be back, so you should prioritize something else for now.
+Es ist unmöglich zu wissen, wann sie wieder da, so dass Sie etwas anderes für nun priorisieren soll.
+
+It's locked.
+Es ist abgeschlossen.
+
+It's locked. But a close inspection reveals a small key under the rug.
+Es ist abgeschlossen. Aber eine genaue Untersuchung zeigt einen kleinen Schlüssel unter dem Teppich.
+
+It's lower! That's right!
+Es ist niedriger! Das ist richtig!
+
+It's my duty to protect the beings in the forest... Not all of them are monsters as @@s like you think.
+Es ist meine Pflicht, die Wesen in den Wald zu schützen ... Nicht alle von ihnen sind Monster, wie @@ s wie Sie denken.
+
+It's none of your business.
+Es ist nicht ihre Angelegenheit.
+
+It's not as good as my new one, but still very useful.
+Sie ist nicht so gut wie meine Neue, aber trotzdem sehr nützlich.
+
+It's not hard to repair, but nobody is bothering Jesusalva on #world as of late. %%n
+
+
+It's not much of a reward, but doesn't it feel great to help others in need?! HAHAHA!
+
+
+It's not much of a reward, but doesn't it feels great to help others in need?! HAHAHA!
+Es ist nicht viel von einer Belohnung, aber nicht, es fühlt sich gut an, um Hilfe zu anderen in Not ?! HAHAHA!
+
+It's not possible to see any light, and it seems to small and damp to have monsters.
+Es ist nicht möglich, jede Licht zu sehen, und es scheint zu klein und feucht Monster haben.
+
+It's not warranted you'll be able to get the powder back, either.
+Es ist nicht garantiert, werden Sie das Pulver zurück zu bekommen, entweder in der Lage sein.
+
+It's obtained with ADMINS or by selling furniture. It is sumed to money and used first.
+Es ist mit ADMINS oder durch den Verkauf von Möbeln erhalten. Es wird Sumed um Geld und zuerst verwendet.
+
+It's over a hundred meters in depth. There is some land here, but I'm afraid of Terranite.
+Es ist über hundert Meter in die Tiefe. Es ist ein Stück Land hier, aber ich habe Angst vor Terranite.
+
+It's self sufficient economically, and many fairies enjoy travelling there. In fact, rumors says the Fairy Kingdom is near it!
+Es ist autark wirtschaftlich und viele Feen dort gerne reisen. In der Tat, sagen Gerüchte das Feenreich in der Nähe ist!
+
+It's spring! Two lovely NPCs at woodlands can be found...
+Es ist Frühling! Zwei schöne NPCs in Wäldern gefunden werden kann ...
+
+It's spring, when the wind is always good.
+Es ist Frühling, wenn der Wind immer gut ist.
+
+It's steaming hot, but you guess this is where Isbamuth created homunculus. Most bandits, thieves and assassins seems to have been born here.
+Es ist kochend heiß, aber man denkt, das ist, wo Isbamuth Homunkulus erstellt. Die meisten Banditen, scheint Diebe und Mörder hier geboren wurden.
+
+It's steaming. Who knows what insanity Isbamuth is brewing inside?!
+Es dampft. Wer weiß, was Wahnsinn Isbamuth innen zusammenbraut ?!
+
+It's summer! Ched is having his usual contest, but Luffyx in Hurnscald is up to no good!
+Es ist Sommer! Ched ist mit seinem üblichen Wettbewerb, aber Luffyx in Hurnscald ist nichts Gutes!
+
+It's tasty ^.^
+Es ist lecker ^. ^
+
+It's the Free Software Day!
+
+
+It's the International Coffee Day!
+Es ist der Internationale Kaffee-Tag!
+
+It's the least I could do for having you to go through all this struggle. I've already paid everything, so just talk to the receptionist for your room :>
+
+
+It's time to show this shiny @@ who is the boss! HAHAHAHAHAHAHAH!
+Es ist Zeit, diese glänzend zu zeigen @@, wer der Chef ist! HAHAHAHAHAHAHAH!
+
+It's time. My army already have tens of thousands of monsters, homunculus, persons. The mana stones I've got thus far are all dried out, now.
+Es ist Zeit. Meine Armee hat bereits Zehntausende von Monstern, Homunculus, Personen. Die Mana Steine, die ich bisher bekommen habe sind alle ausgetrocknet, jetzt.
+
+It's too faint to read.
+Es ist auch zu lesen, in Ohnmacht fallen.
+
+It's totally safe. They are loyal as long that feed. And to think I started off giving @@ to the poor...
+Es ist absolut sicher. Sie sind loyal, so lange dieses Futter. Und zu denken, ich begann zu geben @@ die Arme ...
+
+It's true enough an @@ could heal even a dead tree, and would dispel almost every status ailment I could have.
+Es ist wahr genug ein @@ könnte heilen sogar einen toten Baum und würde fast jeden Status Krankheit zerstreuen ich haben könnte.
+
+It's valentine day, and I got my hands on a @@ model!
+Es ist Valentinstag, und ich habe meine Hände auf einem @@ Modell!
+
+It's very brave of you to fight against those slimes deeper in the library. Remember that you have to kill the entire group to prevent them from breeding. And do it @@!
+Es ist sehr mutig von dir gegen diese Schleime zu kämpfen tiefer in der Bibliothek. Denken Sie daran, dass Sie die gesamte Gruppe zu töten, sie zu verhindern, dass die Zucht. Und TU es @@!
+
+It's weaker than before, probably only one is working right now.
+
+
+It's winter! An NPC in Nivalis Town is freezing...
+Es ist Winter! Ein NPC in nivalis Stadt friert ...
+
+It's written in Mananese, you cannot read.
+Es ist in Manganese geschrieben, kann man nicht lesen.
+
+It's written in an ancient language, you cannot understand what's written.
+Es ist in einer alten Sprache geschrieben, kann man nicht verstehen, was geschrieben ist.
+
+It's yummy ^.^
+Es ist lecker ^. ^
+
+Item 816
+
+
+Item List
+Artikelliste
+
+Item break? Too dangerous! I don't want it!!
+Artikel Pause? Zu gefährlich! Ich will es nicht !!
+
+Item created.
+Gegenstand hergestellt.
+
+Item obtained: @@
+Artikel erhalten: @@
+
+Item sold!
+Artikel ausverkauft!
+
+Items for consumption, like potions, can only be used once.
+Artikel für den Verzehr, wie Tränke, kann nur einmal verwendet werden.
+
+Items have different effects. Some will heal you, some can be used as weapons or armor, and some can be sold for gold.
+Gegenstände haben unterschiedliche Effekte. Einige werden dich heilen, einige können als Waffe oder Rüstung benutzt werden, und andere können für Gold verkauft werden.
+
+Items in your storage are totally safe. Banking itself is totally safe.
+Artikel im Speicher sind absolut sicher. Das Bank selbst ist absolut sicher.
+
+Iten
+Iten
+
+Itka
+Itka
+
+Ivanize
+
+
+JAIL THEM!!
+
+
+JAK1, THE SLIME RESEARCHER
+
+
+Jack
+Jack
+
+Jack bends the log over his knee.
+Jack beugt sich das Protokoll über seine Knie.
+
+Jack'O
+Jack'O
+
+Jack'O Lantern
+Jack'O Laterne
+
+Jack's Skeleton Charm
+Jack Skeleton Charm
+
+Jack, the Lumberjack
+Jack, der Lumberjack
+
+JackO
+
+
+Jackpot! You got the @@!
+Jackpot! Du hast die @@!
+
+Jackpot! You got the Monocle!
+Jackpot! Du hast die Monocle!
+
+Jackpot! You got the Paper Bag!
+Jackpot! Sie haben die Papiertüte!
+
+Jakod
+Jakod
+
+Janika
+Janika
+
+Jar Of Blood
+Jar Of Blood
+
+Jarret, Tulimshar's Founder, was a great man, but his successors were not. Specially the Red Queen. Eventually, our clan had enough and moved away from Tulim.
+
+
+Jasmine Tea
+
+
+Jeans Chaps
+Jeans Chaps
+
+Jeans Shorts
+Jeans-Shorts
+
+Jelly Beans
+Jelly Beans
+
+Jenny
+Eselin
+
+Jeremy
+
+
+Jerican
+Jerican
+
+Jerry
+Jerry
+
+Jesusalva
+Jesusalva
+
+Jesusalva : \\o/
+
+
+Jesusalva Card
+Jesusalva Karte
+
+Jesusalva still have this closed because the traps are broken... %%n But we shall open soon. %%G
+
+
+Jesusaves wrote a grimorie, with ancient secrets of our world.
+Jesus rettet einen grimoire schreiben, mit alten Geheimnisse unserer Welt.
+
+Jesusaves's Grimorium
+Jesusaves des Grimorium
+
+Jeweler
+Juwelier
+
+Jhedia
+Jhedia
+
+Jhon Henryfield
+
+
+Jhon Longnose
+
+
+Joanna
+
+
+Joaquim
+Joaquim
+
+Job Level and certain equips can affect your status. You'll see the modifiers with a + sign.
+Job-Ebene und bestimmte ausrüstet können Ihren Status beeinflussen. Hier finden Sie die Modifikatoren mit einem Pluszeichen sehen.
+
+Job levels already boosts all your status. It gives +1 on each status every 10 job levels.
+Job-Level bereits Boosts alle Ihren Status. Es gibt +1 auf jeden Status alle 10 Job Ebenen.
+
+Joelin
+
+
+Join existing arena
+Registriert bestehende Arena
+
+Join teh Guild
+Join the Guild
+
+Joker
+Joker
+
+Judgement
+Beurteilung
+
+Judgement has passed.
+Das Urteil wurde gefällt.
+
+Judgment
+
+
+Juliet
+Juliet
+
+Juliet is east (right) of %s.
+
+
+Jump inside!
+Wechsel nach innen!
+
+June 21st - September 21st
+21. Juni - 21. September
+
+Junglefowl
+
+
+Just @@ ago, thieves stole Pihro & Pyndragon weapons.
+Nur @@ vor, stahlen Diebe Pihro & Pyndragon Waffen.
+
+Just be really, REALLY sure you want to do it. I mean, the gemstone will break.
+Nur wirklich, wirklich sicher, dass Sie es tun. Ich meine, bricht der Edelstein.
+
+Just beware that if you leave, you might get killed really quickly. No death penalty, though.
+Nur hüte dich, dass, wenn Sie verlassen, Sie könnten wirklich schnell getötet. Keine Todesstrafe, though.
+
+Just go over there and you'll be able to board the Airship. The travel takes a while so please be patient and good luck!
+
+
+Just go right, yeye can't miss her. She's the only girl in this crew.#1
+
+
+Just go right, yeye can't miss her. She's the only girl in this crew, oh well, except for you now yeyeye!#0
+
+
+Just go to the basement, past this door. Good luck, @@!
+Gehen Sie einfach in den Keller, vorbei an dieser Tür. Viel Glück, @@!
+
+Just like every cave below the woodlands are under the Terranite King domains, every land covered in snow is under the Yeti King's domains.
+Genau wie jede Höhle unterhalb der Wälder unter den Terranite König-Domänen sind, ist jedes Land mit Schnee bedeckt unter dem Yeti Königs-Domänen.
+
+Just like parties, you can create from Social menu, but there is a catch: I will give you a document, which allows you to create ONE GUILD.
+Genau wie Parteien, können Sie von Social-Menü erstellen, aber es gibt einen Haken: Ich gebe Ihnen ein Dokument, das Sie ONE GUILD erstellen können.
+
+Just look at that water! There's a whole bunch of fish down there.
+Schau einfach raus aufs Meer! Es gibt noch unendlich viel Fisch da draußen.
+
+Just looking at him you smell danger, adventure, excitement...
+ihn nur suchen Sie riechen Gefahr, Abenteuer, Spannung ...
+
+Just make sure to don't try to poison a guard or something, and don't tell anyone of our little deal. As a proof of our agreement, I'll even give you a freebie, so you can see this is the real deal.
+
+
+Just one coin for spin.
+Nur eine Münze für Spin.
+
+Just tell him that I want to reconsider, and that I want the souvenir he offered me when I moved to Hurnscald.
+
+
+Just two coins for spin.
+Nur zwei Münzen für Spin.
+
+Just use the arrow key--, err, I mean, just walk to the door on the right. The one which is not guarded by Peter.
+Verwenden Sie einfach den Pfeil key--, äh, ich meine, nur zu Fuß in die Tür auf der rechten Seite. Die eine, die nicht von Peter bewacht.
+
+Just wait. Fafi dragons are slow to show up...
+Warte einfach. Fafi Drachen sind langsam zu zeigen ...
+
+Just... Don't accidentaly invoke a Legendary Guardian or something, these thingies could destroy a whole city.
+Nur ... Do not accidentaly invoke ein Legendärer Wächter oder etwas, könnten diese Dinger eine ganze Stadt zerstören.
+
+KUNAI
+
+
+Kage
+
+
+Kaizei Human
+
+
+Kamelot Castle is a GUILD DUNGEON which refreshes WEEKLY.
+
+
+Kamelot Key
+
+
+Kamelot Raid
+
+
+Kamelot Season is open!
+
+
+Kanabo
+Kanabo
+
+Katazuli breaking proccess will cause the breaker some harm.
+
+
+Katze
+Katze
+
+Keep breaking
+
+
+Keep exploring the Study Room and certify it is safe first.
+Halten Sie den Lernraum zu erforschen und zertifizieren zunächst sicher ist.
+
+Keep exploring the Study Room and certify it is safe first. Also, make sure to learn what this was used for.
+Halten Sie den Lernraum zu erforschen und zertifizieren zunächst sicher ist. Achten Sie auch darauf erfahren, was diese wurde verwendet für.
+
+Keep following the path. Take this and... good luck.
+
+
+Keep in mind that %s are weak, baby Yetis, so kill them as well!
+
+
+Keep in mind the more power you have, the less control you'll have as well. Until you get a %s to track progress, use %s to check your control. Less control may result in failure to summon!
+
+
+Keep in mind this is a PvP area - So try to avoid being butchered, because revival spells are disabled here! Hahaha!
+
+
+Keep in mind, the more levels and intelligence you have, more likely the Mana Stone will grant you more Magic Power. But that means nothing.
+Denken Sie daran, desto mehr Ebenen und Intelligenz Sie, desto wahrscheinlicher ist die Mana Stein gewähren Ihnen mehr Magic Power haben. Aber das bedeutet nichts.
+
+Keep in mind, we at the Academy do not have a Mana Stone.
+
+
+Keep moving boy.#1
+Geh weiter, Junge.#1
+
+Keep moving girl.#0
+Geh weiter, Mädchen.#0
+
+Keep the Grimorie with you. It's a rare book which holds data from all others. The book shall guide your advances!
+Halten Sie die Grimorie mit Ihnen. Es ist ein seltenes Buch, das Daten von allen anderen hält. Das Buch wird Ihre Fortschritte führen!
+
+Keep your voice down and just listen.
+
+
+Keep your voice down! And yes. Can you confirm @@ was the cause?
+Sprich nicht so laut! Und ja. Können Sie bestätigen, @@ die Ursache war?
+
+Kenton
+Kenton
+
+Kevin
+Kevin
+
+Khafar
+Khafar
+
+Khaki Dye
+Khaki Dye
+
+Kid Bola
+Kid Bola
+
+Kill %s!
+
+
+Kill 'em all!
+Töte sie alle!
+
+Kill 'em!
+Töte sie!
+
+Kill 2 @@. This will prove your worth. They are northwest of the island.
+
+
+Kill at least a hundred of Pinkies here, and then we can talk.
+Töte wenigstens hier hundert von Pinkies, und dann können wir reden.
+
+Kill the @@ at the storehouse.
+
+
+Killed in action!
+
+
+King Arthur
+
+
+King Arthur the Corrupted
+
+
+King Arthur the Micksha
+
+
+King Gelid
+König Gelid
+
+King Gelid Frozenheart
+König Gelid Frozenheart
+
+King Gelid Frozenheart II rules over all elves and dwarves who live here peacefully, and he also presides the city council.
+König Gelid Frozenheart II herrscht über alle Elfen und Zwerge, die hier in Frieden leben, und er leitet auch die Stadtverwaltung.
+
+King Gelid Frozenheart II will have you.
+König Gelid Frozenheart II haben Sie.
+
+King Of Trials
+King Of Trials
+
+King of all heroes,
+
+
+Kitana
+Kitana
+
+Knife
+Messer
+
+Knight Card
+Ritter-Karte
+
+Knight Card S
+
+
+Knight Card X
+
+
+Knit Hat
+Wollmütze
+
+Knock on the door?
+An die Tür klopfen?
+
+Knockback Immunity
+
+
+Knowing that would make you a descendant of them. But eh, that's asking too much. You had amnesia, right? That was on the letter.
+Zu wissen, dass würden Sie einen Nachkommen von ihnen machen. Aber eh, das ist zu viel verlangt. Sie hatte Amnesie, nicht wahr? Das war auf dem Brief.
+
+Knowing when to warp is the secret to success!
+wenn sie auf Warp zu kennen, ist das Geheimnis zum Erfolg!
+
+Knowledge is power... And now you have both. Use them wisely.
+Wissen ist Macht ... Und jetzt beide Sie haben. Verwenden Sie sie mit Bedacht aus.
+
+Knox The Traveler
+Knox Der Reisende
+
+Kolchak and dangerDuck are working to finish Duck Dungeon. Contact them for updates...
+
+
+Kreist
+kreist
+
+Kreist, Taskmaster
+Kreist, Zuchtmeister
+
+Kristian
+Kristian
+
+Kullervo
+Kullervo
+
+Kunai
+
+
+LEAVE NOW... BEFORE IT BECOMES TOO LATE....
+LASSEN SIE JETZT ... bevor es zu spät ist ....
+
+LEGACY Broadsword
+LEGACY Breitschwert
+
+LEGACY Miere Cleaver
+LEGACY Miere Cleaver
+
+LET'S DANCE!
+LASS UNS TANZEN!
+
+LOFBot
+LOFBot
+
+LOWER!
+NIEDRIGER!
+
+Lachesis Brew
+Lachesis Gebräu
+
+Land Of Fire
+Land des Feuers
+
+Land Of Fire - @@ GP
+Land Of Fire - @@ GP
+
+Land Of Fire Office
+Land Of Fire Office
+
+Land Of Fire Townhall
+Land Of Fire Townhall
+
+Land Of Fire Village
+Land Of Fire Dorf
+
+Land Of Fire Village (@@m)
+Land Of Fire Dorf (@@ m)
+
+Land Of Fire is a place so warm... Although this workshop is a better place to break time and space during Christmas.
+Land Of Fire ist ein Ort, so warm ... Obwohl diese Werkstatt zu einem besseren Ort zu brechen Zeit und Raum während der Weihnachtszeit ist.
+
+Laranja
+Laranja
+
+Last IP: @@
+Letzte IP: @@
+
+Last Seen: @@
+Zuletzt gesehen: @@
+
+Last Stand Card
+
+
+Last Standing Man
+Last Standing Man
+
+Last map: @@
+Letzte Karte: @@
+
+Last time they told me he collected more than that...
+Zuletzt sie mir gesagt, sammelte er mehr als das ...
+
+Later
+Später
+
+Later.
+Später.
+
+Latif
+Latif
+
+Laura
+
+
+Lava Mana Pearl
+Lava Mana-Perlen
+
+Lava Skull Slime
+
+
+Lava Slime
+Lava Slime
+
+Lava Slime Mother
+
+
+Lavern
+Lavern
+
+Lawn Cable
+Rasen-Kabel
+
+Lawn Cable Card
+Rasen-Kabel-Karte
+
+Lawncandy
+Lawncandy
+
+Layman
+
+
+Lazurite Cristal
+lazurite Cristal
+
+Lazurite Heart
+lazurite Herz
+
+Lazurite Robe
+lazurite Robe
+
+Lazurite Shard
+lazurite Shard
+
+Lead Ingot
+Lead-Ingot
+
+Lead Ore
+Bleierz
+
+Lead Ore -> Tin Ore
+Bleierz -> Zinnerz
+
+Leader Wand
+Leader Wand
+
+Leaderboard is refresh daily at 1 AM!
+Leader ist täglich um 01.00 aufzufrischen!
+
+Leaderboard is refresh daily at 11:59 and 23:59!
+
+
+Learn Alchemy Recipes
+Lernen Alchemy Rezepte
+
+Learn crafting for @@ GP
+Lernen für @@ GP Crafting
+
+Learn individual guild skills
+
+
+Learn milking a Mouboo. And if you harm them, I'll cast a lightning bolt at you!
+Lernen Sie eine Mouboo Melken. Und wenn Sie anderen Menschen schaden, werde ich einen Blitz auf Sie werfen!
+
+Learn what?
+Lernen, was?
+
+Learned a new recipe!
+ein neues Rezept gelernt!
+
+Learning from seeing (aka. AFK-ing) skill LEVEL UP!!
+Lernen aus zu sehen (aka. AFK-ing) Schwierigkeitsgrad UP !!
+
+Leather
+
+
+Leather Ball
+Lederball
+
+Leather Boots
+Lederstiefel
+
+Leather Gloves
+Lederhandschuhe
+
+Leather Patch
+Lederaufnäher
+
+Leather Quiver
+Lederköcher
+
+Leather Shield
+Lederschild
+
+Leather Shirt
+Lederhemd
+
+Leather Suitcase
+Lederner Koffer
+
+Leather Trousers
+Lederhosen
+
+Leave
+Verlassen
+
+Leave blank to abort.
+Freilassen abzubrechen.
+
+Leave it
+Lass es
+
+Leave it alone!
+Lass es in Ruhe!
+
+Leave it alone.
+Lass es in Ruhe.
+
+Leave it alone?
+Lass es in Ruhe?
+
+Leave me alone! Stop annoying me!
+
+
+Leave me alone.
+
+
+Leave sir Benjamin in charge for a few more years, and nothing will be left of these towns. I hope this council perishes in a fire!
+
+
+Leave the Mouboo alone
+Lassen Sie die Mouboo allein
+
+Leave the poor thing in peace.
+
+
+Leave the ship? The town have no death penalty and is under a global event.
+Lassen Sie das Schiff? Die Stadt habe keine Todesstrafe und ist unter einem globalen Ereignisse.
+
+Leave this place now, defiler...
+Lassen Sie diesen Ort jetzt, defiler ...
+
+Leave.
+Verlassen.
+
+Led by the Lightbringer
+
+
+Left Crafty Wing
+Linker Crafty Flügel
+
+Left Eye Patch
+Linkes Auge-Patch
+
+Left-overs will be deleted shortly after.
+
+
+LeftDoorCheck
+LeftDoorCheck
+
+Legacy
+Erbe
+
+Legendary my ass! What a rip-off!
+Legendary meinen Arsch! Was für eine Abzocke!
+
+Lemme just fetch a small something for you....
+Lemme holen nur ein kleines etwas für Sie ....
+
+Lemme see... Sagratha is often regarded as a kind and rather powerful elf lady mage... who hate people.
+Lemme sehen ... Sagratha wird oft als eine Art betrachtet und ziemlich mächtig Elfdame mage ... die Menschen hassen.
+
+Lenita
+Lenita
+
+Leona
+Leona
+
+Leprechaun Hat
+Kobold-Hut
+
+Less maggots means a more reliable food supply. This kind of maggot will be a little more difficult to defeat, which is an excellent way to test your prowess in battle.
+
+
+Less rattos means more food. So, this time the monsters will be a little stronger.
+Weniger Rattos bedeuten mehr Nahrung. Also, dieses Mal werden die Monster ein wenig stärker sein.
+
+Let Cynric open your storage. You might also want to open your inventory.
+Lassen Sie Cynric Ihre Speicher öffnen. Vielleicht haben Sie auch Ihr Inventar öffnen möchten.
+
+Let me analyze that.
+Lassen Sie mich das analysieren.
+
+Let me check into it...
+Lass mich mal drüberschauen...
+
+Let me inspect it...
+Lassen Sie es mich inspizieren ...
+
+Let me introduce myself, I am Nard, captain of this ship.
+Lass mich mich erst einmal vorstellen. Ich bin Nard und bin der Kapitän dieses Schiffes.
+
+Let me just have a quick look at you. Hm... I will need @@ GP to reset your stats.
+Lassen Sie mich einfach nur einen kurzen Blick auf Sie. Hm ... Ich werde @@ GP brauchen Ihre Statisik zurücksetzen.
+
+Let me see your bow.
+Lassen Sie mich Ihren Bogen sehen.
+
+Let me see... The more Wings and Teethes I collect, the more my research shall advance.
+Lassen Sie mich sehen ... Je mehr Wings und teethes ich sammeln, desto mehr meine Forschung voranbringen soll.
+
+Let me see.....
+Lass mich sehen.....
+
+Let me show you...
+Lassen Sie mich Ihnen zeigen, ...
+
+Let's jump straight to action, shall we? I'll build a mighty @@ to fight you!
+
+
+Let's learn new recipes! Do you wanna?
+Lassen Sie uns lernen neue Rezepte! Willst du?
+
+Let's play!
+Lass uns was spielen!
+
+Let's pretend I believe you.
+
+
+Let's say I believe you. Who stole you? Benjamin?
+Sagen wir, ich glaube dir. Wer stahl Sie? Benjamin?
+
+Let's see how I can activate it...
+
+
+Let's see if you can pick a reward!
+Mal sehen, ob Sie eine Belohnung abholen können!
+
+Let's see... @@ of your status points have just been reset!
+Lass mal sehen... @@ deiner Statuspunkte wurden gerade erst zurückgesetzt!
+
+Let's start with something simple, yeye.
+Beginnen wir mit etwas Einfachem beginnen, yeye.
+
+Lethal alcohol overdrinking
+Lethal Alkohol overdrinking
+
+Lethal damage over time, no regen.
+
+
+Lethal overdrinking:
+Lethal overdrinking:
+
+Lets play!
+
+
+Lettuce Leaf
+Salatblatt
+
+Level %d (%s GP)
+
+
+Level %d (%s HP) (Found by %s)
+
+
+Level Boss
+
+
+Level reset from %d to %d
+
+
+Level set from %d to %d
+
+
+Liana
+Liane
+
+Liana, like other NPCs, provide a repeatable quest. Once you finish it, you will be able to do it again, after waiting for a few hours.
+
+
+Liar. Where are the goods? Are you trying to cheat me?!
+Lügner. Wo sind die Waren? Sind Sie versuchen, mich zu betrügen ?!
+
+Liar. You can't fool me. That's the price. Get that or get out!
+Lügner. Sie können mich nicht täuschen. Das ist der Preis. Holen Sie das, oder raus!
+
+Licensing was one of the worst hassle we had, but just today, all mobs may drop Ancient Blueprints. Enjoy!
+
+
+Lieutenant Armor
+Lieutenant Rüstung
+
+Lieutenant Copper Armor
+Lieutenant Copper Rüstung
+
+Lieutenant Dausen
+Lieutenant Dausen
+
+Lieutenant Jacob
+Lieutenant Jacob
+
+Lieutenant Joshua
+Lieutenant Joshua
+
+Lieutenant Paul
+Lieutenant Paul
+
+Life isn't worth the living.
+
+
+Lifestone
+Lebensstein
+
+Lifestone Pendant
+Lebensstein-Anhänger
+
+Lifestones have the potential to heal the user, and thus are used for potions.
+Lifestones hat das Potenzial, um den Benutzer zu heilen und damit für Tränke verwendet.
+
+Light Green Diamond
+Hellgrün Diamant
+
+Light Platemail
+Licht-Platten
+
+Light Ring
+Light Ring
+
+Lightbringer
+Lichtbringer
+
+Lightbringer#NLib
+
+
+Lightning Bolt
+Blitz
+
+Lightsaber
+Lichtschwert
+
+Like Discord integration and sensitive options.
+
+
+Like, I know you are female.#0
+
+
+Like, I know you are male.#1
+
+
+Likewise, it could only do effect if it antagonize or affront the target.
+
+
+Lilanna
+Lilanna
+
+Lilanna Card
+Lilanna Karte
+
+Lilica#easter
+
+
+Lilit
+Lilit
+
+Lilit (@@m)
+Lilit (@@ m)
+
+Lilit - @@ GP (not exchangeable)
+Lilit - @@ GP (nicht austauschbar)
+
+Lilit Warp Crystal
+Lilit Warp-Kristall
+
+Lilit is the fairy kingdom, governed by Lilit the Fairy.
+Lilit ist das Feenreich, regiert von Lilit die Fee.
+
+Lilly
+Lilly
+
+Lime Dye
+Lime Dye
+
+Linarian Soul
+
+
+Line @@ has been removed.
+Zeile @@ wurde entfernt.
+
+Linking requested.
+
+
+Linking the following Discord account:
+
+
+List & Claim rewards
+
+
+List of Unlocked Pets and Food
+
+
+List of known alchemy recipes:
+Liste der bekannten Alchemie-Rezepte:
+
+List of known cooking recipes:
+Liste der bekannten Kochrezepte:
+
+List of known crafting recipes:
+Liste der bekannten Crafting-Rezepte:
+
+Listen to her story again.
+Hören Sie wieder auf ihre Geschichte.
+
+Listen to me! Whoever wants to follow foolish @@ on their suicide quest, stay here for 15 seconds!
+Hör mir zu! Wer will, dumm @@ auf ihrem Selbstmord Suche folgen, bleiben hier 15 Sekunden!
+
+Listen, I was trying to get the Yeti King to help me to fight the Monster King. If you want to go there and do it, be my guest; Maybe they'll even help you with whatever your problem is.
+
+
+Listen, I'll use a trick which I learned in, uh, a past life of mine, so if you die, reality resets your being.
+
+
+Listen, as you're new here, I'll give you my %s. I won't give it again, understood? This is my personal gratitude. Come again!
+
+
+Listen, it was not only me who had issues with this... Masked Man. Auldsbel also had a similar issues.
+Hör zu, es wurde mir nicht nur, wer hatte Probleme mit diesem ... Masked Man. Auldsbel hatte auch ähnliche Probleme.
+
+Listen, kid, one does not simply ignore Elli! She is too scary to be ignored!
+
+
+Listen, she decided to live away from civilization. She choose the forest as her home and the animals as her family.
+Hören Sie, entschied sie sich von der Zivilisation zu leben entfernt. Sie wählen den Wald als sie nach Hause und die Tiere als ihre Familie.
+
+Listen, this is not a disease. No remedy can cure you, and it cannot be inflicted by consumables.
+
+
+Listen. North of here, is the ruins of an old village. Said village is cursed, and nobody here wants to go there.
+Hör mal zu. Nördlich von hier, ist die Ruine eines alten Dorfes. Sagte Dorf ist verflucht, und niemand hier will, dorthin gehen.
+
+Lit the torch?
+
+
+Little Blub
+Kleines Blub
+
+Little Red Slime
+Kleiner roter Schleim
+
+Little Yellow Slime
+Kleiner gelber Schleim
+
+Lives undercover in human society. Luck led them to surviving this far.
+
+
+Living Potato
+Wohnen Kartoffel
+
+Lizards are the main monster found, and they steal gold from innocent bypassers.
+Eidechsen sind die Haupt Monster gefunden, und sie stehlen Gold von unschuldigen Passanten.
+
+Lloyd
+
+
+LoF Coin
+
+
+LoF Warp Crystal
+LoF Warp-Kristall
+
+Loading warp, be at this spot in 15 seconds.
+an dieser Stelle in 15 Sekunden Laden warp, sein.
+
+Locamit
+Locamit
+
+Location Registered. You are now capable to use this warp gate.
+Ort Registriert. Sie sind nun in der Lage diesen Warptor zu verwenden.
+
+Location: %s
+
+
+Location: All bifs in the world.
+
+
+Location: Candor B1F
+
+
+Location: Christmas Workshop, Romantic Field, south of Nivalis.
+
+
+Location: Daily Login.
+
+
+Location: Enchanted Forest, access by Soul Menhir.
+
+
+Location: Fishing spots in the water.
+
+
+Location: Forsaken Inn, South Woodlands
+
+
+Location: Kamelot Castle, west of Hurnscald.
+
+
+Location: N/A
+
+
+Location: North Woodlands, south of Nivalis.
+
+
+Location: Not applicable
+
+
+Location: The Mana Plane, Dream Tower
+
+
+Location: The Mana Plane, Porthos
+
+
+Location: The Mana Plane, Showdown Chamber
+
+
+Location: Treasure Chests, hidden inside dungeons.
+
+
+Location: Tulimshar Sewers / Hurnscald Town Hall
+
+
+Location: Valentine Island, access by Soul Menhir.
+
+
+Location: Worker's Cave, access by Soul Menhir.
+
+
+Lock Picks
+Dietriche
+
+Lockpicks
+Dietriche
+
+Lockpicks are the basic tools for thiefs. Talk to a vault in order to attempt lockpicking.
+Dietriche sind die grundlegenden Werkzeuge für thiefs. Sprechen Sie mit einem Gewölbe, um zu versuchen lockpicking.
+
+Lof Squirrel
+Lof Eichhörnchen
+
+Log Head
+Log Kopf
+
+LogHead
+
+
+Login Bonus
+
+
+Long Sword
+Langschwert
+
+Long Text Wall Density:
+Langtext Wand Dichte:
+
+Look at that pathetic scene, he just put his chair over the desk... Chef Gado won't like it.
+
+
+Look at this, %s really brought me %d %s.
+
+
+Look closer.
+Schau genauer hin.
+
+Look the height of this bridge! Worse, the water around here is pretty shallow.
+Schauen Sie die Höhe dieser Brücke! Schlimmer noch, hier das Wasser um ist ziemlich flach.
+
+Look what we have here, it is a boy!#1
+
+
+Look what we have here, it is a girl!#0
+
+
+Look, I really hate pious...all of them.
+
+
+Looks like I already gave you the Maritime Almanac Scroll. You need to go see George again. I am unable to get another copy for you.
+Sieht aus wie ich Ihnen das Maritime Almanac Scroll bereits gab. Sie müssen wieder gehen sehen George. Ich bin nicht in der Lage für Sie eine weitere Kopie zu erhalten.
+
+Looks like you are a bit short on supplies. Come back when you have everything I need.
+
+
+Loot 10, Luck +2, Luck Dance
+
+
+Loot 3, ASPD +5%
+
+
+Loot 3, Agi +5
+
+
+Loot 3, Agi +5, Agility Dance, Passive MP Regen (1)
+
+
+Loot 3, DEF +5
+
+
+Loot 3, Dex +5
+
+
+Loot 3, Evasion +7
+
+
+Loot 3, Int +5, Agi +1
+
+
+Loot 3, Luck +5, Luck Dance, Passive MP Regen (1)
+
+
+Loot 3, Max HP +250
+
+
+Loot 3, Max MP +250
+
+
+Loot 3, STR +4, AGI +1
+
+
+Loot 3, STR +5, Vitality Dance, Passive HP Regen (1)
+
+
+Loot 3, Steal +15%, Passive HP Regen (1)
+
+
+Loot 4, Str +1, Gold Drop (4%)
+
+
+Lora Tay
+Lora Tay
+
+Lost Ocean Croc
+
+
+Lost Piou
+
+
+Lost forever on the Desert Canyon, I guess.
+Für immer verloren auf der Wüsten-Schlucht, denke ich.
+
+Lost without an acorn.
+
+
+Lousy Moccasins
+Abgenutzte Mokkasins
+
+Love Letter
+Liebesbrief
+
+Love Lollipop
+
+
+Lovely Fluffy
+Schöner Fluffy
+
+Lower MAXHP, Damage over time
+
+
+Lower city taxes
+Untere Stadt Steuer
+
+Lowering Taxes
+Steuersenkungen
+
+Lt. Gerry
+Lt. Gerry
+
+Lt. Longburn#EP
+
+
+Lt. Randy
+Lt. Randy
+
+Lua#003-2
+
+
+Luanna
+Luanna
+
+Luca
+Luca
+
+Luck
+Glück
+
+Luck Fruit
+Luck Fruit
+
+Luck Potion
+Luck Trank
+
+Luck+ Potion
+Luck + Trank
+
+Luck++ Potion
+Luck ++ Potion
+
+Lucky for you, the Alliance have means to assist you. You'll be a grown up, full fledged adventurer in no time at all, and will be able to visit a friend of mine, who will then send you there.
+Zum Glück für Sie, hat die Allianz Mittel, Sie zu unterstützen. Sie werden überhaupt ein erwachsen, vollwertiges Abenteurer in kürzester Zeit, und einen Freund von mir besuchen können, die werden Sie dann dorthin schicken.
+
+Lucky you, you found me! Do you want to SPIN THE WHEEL and gain GREAT rewards?
+Glück haben, Sie hat mich gefunden! Wollen Sie das Rad drehen und große Belohnungen gewinnen?
+
+Lucky! You got the coin back!
+Glücklich! Du hast die Münze zurück!
+
+Luffyx
+Luffyx
+
+Luffyx Summer Shorts
+Luffyx Sommer Shorts
+
+Lune
+
+
+Luvia
+
+
+Luvia is too dangerous to be left alone.
+
+
+Luxury furniture
+Luxusmöbel
+
+Lynn The Traveler
+Lynn Der Reisende
+
+MAX HP
+
+
+MDEF +10
+
+
+MEEEEEERLIN!!! SMASH THEM!!
+
+
+MONSTER KING
+MONSTER KING
+
+MONSTER KING, APPEAR TO ME!
+MONSTER KING, erscheinen mir!
+
+MOTD
+MOTD
+
+MOTD Config
+MOTD konfigurieren
+
+MP +200
+
+
+MSP for Area Provoke was refunded.
+
+
+MSP for Last Man Standing was refunded.
+
+
+MSP for Lightning Strike was refunded.
+
+
+MSP for Wind Walker was refunded.
+
+
+Ma... Magical Re... Re-ref... Reflection.
+Ma ... Magische Re ... Re-ref ... Reflexion.
+
+Machinery#MKHB
+
+
+Mage Card
+Mage-Karte
+
+Mage Card S
+
+
+Mage Card X
+
+
+Mage equipment also raises MP recovery. So yes, a mage can use a sword and heavy armor, but...
+Mage Ausrüstung wirft auch MP Erholung. Also ja, kann ein Magier ein Schwert und schwere Rüstung verwenden, aber ...
+
+Magenta
+
+
+Magenta Spark
+
+
+Mages should use equipment designed for them. Those may be lacking on defense, but will raise MP and Magic Attack.
+Mages sollte Ausrüstung für sie konzipiert wurden. Diese können auf Verteidigung mangelt, sondern erhöhen MP und Magie Angriff.
+
+Maggot
+Made
+
+Maggot Coccon
+Maggot Cocoon
+
+Maggot Slime
+Maggot Slime
+
+Magic Academy Tutorial
+Magic Academy Tutorial
+
+Magic Apple
+Magie von Apple
+
+Magic Arpan
+Magic Arpan
+
+Magic Arpan#sailors
+Magic Arpan#sailors
+
+Magic Barrier
+Magie Barrier
+
+Magic Barrier is active. You must give a whole circle on the desert to break it.
+Magie Barrier aktiv ist. Sie müssen einen ganzen Kreis in der Wüste geben, es zu brechen.
+
+Magic Barrier#0051
+
+
+Magic Barrier#0060
+
+
+Magic Barrier#0063
+
+
+Magic Barrier#0064
+
+
+Magic Barrier#0066
+
+
+Magic Barrier#0067C
+
+
+Magic Barrier#0067E
+
+
+Magic Barrier#0067W
+
+
+Magic Barrier#Bug63
+
+
+Magic Barrier#Pi
+
+
+Magic Bif
+Magie Bif
+
+Magic Council
+
+
+Magic Council? What's that?
+Magie Rat? Was ist das?
+
+Magic Goblin
+Magie Goblin
+
+Magic Maggot
+Magie Maggot
+
+Magic Olympics
+
+
+Magic Olympics Top 1 Prize
+
+
+Magic Power is granted to you, but you die from it.
+Magic Power wird Ihnen gewährt, aber Sie sterben daran.
+
+Magic Ratto
+Magisches Ratto
+
+Magic Raw Power Challenge
+
+
+Magic Scrolls
+
+
+Magic Skill Points can be obtained in three ways: By touching a Mana Stone, by signing up in a Special Class (if you have enough magic power) and by having high amounts of Job Level.
+Magic Fähigkeit Punkte können auf drei Arten erhalten werden: Durch einen Manastein zu berühren, indem sie in einer Sonderklasse anmelden (wenn Sie genug magische Kraft haben) und durch hohe Mengen an Auftragsebene mit.
+
+Magic Status
+
+
+Magic Strike
+Zauberschlag
+
+Magic Top Hat
+Magie Zylinderhut
+
+Magic is dead. Well, not yet, we still have some mana stones left - but only the strongest ones are allowed to use them and acquire magic.
+Magic ist tot. Nun, noch nicht, wir haben noch einige Mana Steine ​​links - aber nur die stärksten sind erlaubt ihnen und acquire Magie zu benutzen.
+
+Magic is necessary for warriors and archers to learn skills. Skills can be learned in Tulimshar.
+
+
+Magic is sacred. With transmutation, you can create convenience items, specially reagents for other magic skills.
+Magie ist heilig. Mit Transmutation können Sie Convenience-Produkte, speziell Reagenzien für andere magische Fähigkeiten erstellen.
+
+Magic skills allows for a more advanced gameplay, but they are meant for level 30 onward.
+
+
+Magic, Warriors and Archers
+
+
+Magic.
+Magie.
+
+Magical MVP Card
+
+
+Magical Weapon Recipes
+Magische Waffe Rezepte
+
+Magically Sealed Gate
+Magisch versiegelte Tor
+
+Magick Real
+Magick Echt
+
+Magnus Healing
+
+
+Mahad
+Mahad
+
+Mahoud
+Mahoud
+
+Mahoud Basement
+Mahoud Keller
+
+Mahul
+Mahul
+
+Main server is: %s
+
+
+Make it brighter
+
+
+Make me an Iron Powder.
+Machen Sie mir ein Eisenpulver.
+
+Make sure to put on a bait after you click, though!
+Vergiß aber nicht, die Angel mit einem Köder zu bestücken!
+
+Male
+Männlich
+
+Malign Chest
+
+
+Malindou
+Malindou
+
+Malivox
+Malivox
+
+Mana Being#001-1
+
+
+Mana Bomb
+
+
+Mana Bug
+Mana Bug
+
+Mana Chest
+Mana Brust
+
+Mana Experience Challenge
+
+
+Mana Ghost
+Mana Geist
+
+Mana Gloves
+Mana Handschuhe
+
+Mana Magic is less reliable and have an experience system. It's the most common for summoning and transmutation.
+Mana Magic ist weniger zuverlässig und ein Erlebnis-System haben. Es ist die am häufigsten für Vorladung und Transmutations.
+
+Mana Magic works similar to regular magic: You can find it on your skill window, and can drag it to your shortcut list.
+Mana Magie funktioniert ähnlich wie normale Magie: Sie es auf Ihrem Geschick Fenster finden können, und können es auf Ihre Shortcut-Liste ziehen.
+
+Mana Piou
+Mana Piou
+
+Mana Piou Feathers
+Mana Piou Federn
+
+Mana Plane - Dream Tower, %dº floor %s
+
+
+Mana Plane - Dream Tower, %dº floor. Time limit: 60 minutes or death.
+
+
+Mana Saulc
+Mana Saulc
+
+Mana Stone
+Manastein
+
+Mana Stone#01863
+
+
+Mana Stone#Tulim
+
+
+Mana Tree
+
+
+Mana Wisdom
+Mana Weisheit
+
+Mana is something which existed since the being, but nobody knows much about.
+Mana ist etwas, das seit dem Wesen existiert, aber niemand weiß viel über.
+
+ManaMarket
+
+
+Manage Beds
+verwalten Betten
+
+Manage Chairs
+verwalten Stühle
+
+Manage Decoration
+verwalten Dekoration
+
+Manage Furniture
+verwalten Möbel
+
+Manage Luxury furniture
+Verwalten Luxusmöbel
+
+Manage Paintings
+verwalten Paintings
+
+Manage Town
+verwalten Stadt
+
+Manage Utilities
+verwalten Dienstprogramme
+
+Managed to get any nice drops? It requires more luck than skill. Here is your reward.
+
+
+Managment Menu
+Verwaltung Menü
+
+Manana
+Manana
+
+Manana Tree
+Manabaum
+
+Manapop
+
+
+Manapple
+Manapple
+
+Mandragora
+
+
+Manually trigger the current broadcast
+Aktuelle Ankündigung manuell auslösen
+
+Many citzens are still cowering in fear. Paths are closed, economy is a disaster, things are not as they should be.
+
+
+Many sacrifices were done, but it was lost.
+Viele Opfer wurden gemacht, aber es war verloren.
+
+Many stories are told about this city sewers.
+Viele Geschichten sind über diese Stadt Kanalisation erzählt.
+
+Many thanks for all the help!
+Vielen Dank für all die Hilfe!
+
+Many thanks for killing it. Maybe more humans come here now, and play with me.
+Vielen Dank für sie zu töten. Vielleicht kommen mehr Menschen jetzt hier, und mit mir spielen.
+
+Many thanks for your help! Here, take this. I'm sure it can be very useful later. It always is.
+Vielen Dank für deine Hilfe! Hier nimm das. Ich bin sicher, es kann später sehr nützlich sein. Es ist immer wieder.
+
+Many thanks!
+Danke vielmals!
+
+Many thanks! %%s
+
+
+Many thanks! At least he'll know he haven't impressed me yet!
+Danke vielmals! Wenigstens würde wissen, dass er er mich noch nicht beeindruckt haben!
+
+Many thanks! Come back later to bring me extra @@!
+Danke vielmals! Kommen Sie später wieder mir zu bringen zusätzliche @@!
+
+Many thanks! Come back soon.
+Danke vielmals! Komm bald wieder.
+
+Many thanks! I'll arrange the table.
+Danke vielmals! Ich werde den Tisch anordnen.
+
+Many thanks! I'll be sooooo fashionable now!
+Danke vielmals! Ich werde jetzt sooooo in Mode sein!
+
+Many thanks! If I let my wose side blossom, I'm sure she'll look at me!
+Danke vielmals! Wenn ich meine Wose Seite blühen lassen, bin ich sicher, dass sie mich anschauen werden!
+
+Many thanks, and once again, your help has been invaluable.
+Vielen Dank, und noch einmal, hat Ihre Hilfe von unschätzbarem Wert.
+
+Many thanks, the Doctor always know what's best for you.
+Vielen Dank, weiß der Doktor immer, was für Sie am besten ist.
+
+Many thanks, your help has been invaluable. We're now capable to travel at ease.#0
+
+
+Many thanks, your help has been invaluable. We're now capable to travel at ease.#1
+
+
+Many thanks, your help has been invaluable. You now have an extra point, use it wisely.
+Vielen Dank, hat Ihre Hilfe von unschätzbarem Wert. Sie haben nun einen zusätzlichen Punkt, verwenden Sie es mit Bedacht aus.
+
+Many thanks. I couldn't live without it. Please come back later.
+Danke vielmals. Ich konnte nicht ohne sie leben. Bitte komme später zurück.
+
+Many thanks. You have my eternal gratitute. Here is 1000 GP for your troubles.
+Danke vielmals. Sie haben meine ewig gratitute. Hier ist 1000 GP für Ihre Mühen.
+
+Many thanks. You have my eternal gratitute. Here is 2000 GP for your troubles.
+Danke vielmals. Sie haben meine ewige Dankbarkeit. Hier ist 2000 GP für Ihre Mühen.
+
+Many, many thanks!
+Vielen, vielen Dank!
+
+Many, many thanks! I'm sure the children will love it!
+Vielen, vielen Dank! Ich bin sicher, die Kinder werden es lieben!
+
+Many, many thanks! Thus far, you delivered me @@ gift boxes!
+Vielen, vielen Dank! Bisher geliefert Sie mir @@ Geschenk-Box!
+
+Map cleared!
+
+
+Marikel
+
+
+Marius The Bard
+Marius The Bard
+
+Market Guard#EP
+
+
+Market Place
+Marktplatz
+
+Marley : I shall stop you!
+
+
+Marley : You... thief... *grumble*
+
+
+Marley is furious that someone stole her treasure... You wouldn't happen to know anything about this, would you...?
+
+
+Marriage failed.
+Hochzeit fehlgeschlagen.
+
+Marriage unlocks %s powers. The ring is sold in Tulimshar.
+
+
+Married with @@
+Verheiratet mit @@
+
+Marsh Pirate
+
+
+Mashmallow
+Mäusespeck
+
+Masked Assassin
+maskierte Attentäter
+
+Mass Provoke replaced with Area Provoke.
+
+
+Master
+
+
+Master Bola
+Master Bola
+
+Master Dungeon (BOSS)
+Master Dungeon (BOSS)
+
+Master Exchanger#0
+
+
+Matk +25
+
+
+Mauve Dye
+Mauve Dye
+
+Mauve Herb
+Mauve Herb
+
+Mauve Plant
+Mauve Pflanze
+
+Max Weight +1kg
+
+
+Maxime
+Maxime
+
+Maximize Damage
+
+
+Maximum Profit: @@ GP
+Maximaler Gewinn: @@ GP
+
+May their journey be successful, may their objectives be attained, may the Mana rest in peace.
+Mai ihre Reise erfolgreich sein, ihre Ziele erreicht werden können, in Frieden die Mana ruhen.
+
+May their memory be remembered, but may their struggle be forgotten, their bodies never profaned, and in the æthyr, may they find eternal rest and comfort for their souls.
+
+
+Maya
+Maya
+
+Maybe I can help to ease your pain?
+Vielleicht kann ich helfen, Ihre Schmerzen zu lindern?
+
+Maybe I could give you more beer?
+Vielleicht könnte ich Ihnen mehr Bier geben?
+
+Maybe I should also give you a lesson in how to count? You don't have enough.
+Vielleicht sollte ich Ihnen auch eine Lektion in Sachen geben, wie zu zählen? Sie haben nicht genug.
+
+Maybe I'm using a too low quality bait, I can't fish %s.
+
+
+Maybe a %s?
+
+
+Maybe another time.
+Vielleicht ein anderes Mal.
+
+Maybe he was confused, not sure. He talked very strangely.
+Vielleicht war er verwirrt, nicht sicher. Er sprach sehr seltsam.
+
+Maybe if someone helped me to get rid of the maggots on my crops, I would be able to sell them to everyone again...
+
+
+Maybe if you go back the way you're coming, you find him...
+Vielleicht, wenn Sie den Weg zurückgehen Sie kommen, Sie ihn finden ...
+
+Maybe if... No... Hmm... I better try this the next time I'm at my laboratory...
+
+
+Maybe it is not hungry, after all.
+
+
+Maybe later.
+Vielleicht später.
+
+Maybe next time, then.
+Vielleicht beim nächsten Mal, dann.
+
+Maybe on spring Blossom will look at me... For now, my wose part is withering.
+Vielleicht auf Frühling Blossom wird sieh mich an ... Vorerst meine Wose Teil Welken.
+
+Maybe one of the slimes dropped it.
+
+
+Maybe some other time.
+Vielleicht ein anderes Mal.
+
+Maybe someone in Hurnscald can help me.
+
+
+Maybe the Hurnscald alchemist, Wyara, could explain why.
+
+
+Maybe the teddy is hungry? What could we offer to it?
+
+
+Maybe there are things in Candor which still require your attention? I might have overheard some of them.
+
+
+Maybe there is a key somewhere near. I should keep looking.
+Vielleicht gibt es einen Schlüssel irgendwo in der Nähe. Ich soll die Suche halten.
+
+Maybe there's a locked door somewhere, and this key will fit?
+Vielleicht gibt es eine verschlossene Tür irgendwo, und dieser Schlüssel passt?
+
+Maybe they're in the library, but it is too dangerous there right now...
+Vielleicht sind sie in der Bibliothek, aber es ist zu gefährlich es jetzt ...
+
+Maybe we can give her something, to cheer her up?
+
+
+Maybe we could give her a %s instead.
+
+
+Maybe you can help our city. I see you are a Monster Hunting Quest Participant, right?
+
+
+Maybe you could bring me 10 sticky @@?
+Vielleicht könnten Sie mir 10 klebrig @@ bringen?
+
+Maybe you could bring me 5 @@? I will reward you for your effort.
+Vielleicht könnten Sie mir 5 @@ bringen? Ich werde Sie für Ihre Mühe belohnen.
+
+Maybe you could bring me 5 delicious @@? They have a great effect in quenching thirst and recovering vigour.
+Vielleicht könnten Sie mir 5 köstlich @@ bringen? Sie haben eine große Wirkung in Durstlöscher und Gewinnen Kraft.
+
+Maybe you could convince him. There's a summoning circle on Tulimshar Sewers.
+Vielleicht könnten Sie ihn überzeugen. Es gibt einen Beschwörungskreis auf Tulimshar Kanalisationen.
+
+Maybe you could do me a favour, though?
+Vielleicht könnten Sie mir einen Gefallen tun, wenn?
+
+Maybe you could now help my friend Oscar. His farm is west of here.
+Vielleicht könnten Sie jetzt mein Freund Oscar helfen. Sein Hof ist von hier nach Westen.
+
+Maybe you did it, after all!
+Vielleicht haben Sie es, nachdem alle!
+
+Maybe you do, your jerk! Stop drinking! Lua told me that you could help me! DO YOUR JOB!!
+Vielleicht haben Sie, Ihren Ruck! Hör auf zu trinken! Lua erzählte mir, dass ihr mir helfen könntet! MACH DEINEN JOB!!
+
+Maybe you should go to the depleted mines in the small cave inside the town. Who knows what you may find inside.
+
+
+Maybe you should talk to your chief about that?
+Vielleicht sollten Sie mit Ihrem Chef darüber sprechen?
+
+Maybe you're interested in the Special Class again? An extra magic skill point for a lot of items, what do ya say?
+Vielleicht sind Sie wieder in der Sonderklasse interessiert? Ein zusätzlicher Zauberfertigkeitspunkt für viele Einzelteile, was sagen ya?
+
+Maybe you're interested in the Special Class again? An extra magic skill point, but this time in a dangerous journey, what do ya say?
+Vielleicht sind Sie wieder in der Sonderklasse interessiert? Ein zusätzlicher Zauberfertigkeitspunkt, aber diesmal in einer gefährlichen Reise, was sagen ya?
+
+Maybe, but... I don't know my parents.
+Vielleicht, aber ... Ich weiß nicht, meine Eltern.
+
+Maybe, if you had some sort of ancient artifact and touched the sign, it would allow you to see through the cloaking? Or if you were powerful enough. As if I would know!
+
+
+Maybe.
+Könnte sein.
+
+Maybe. Come back later.
+Könnte sein. Kommen Sie später wieder.
+
+Maze Race Challenge
+
+
+Meager < Weak < Standard < Intimidating = Daunting
+
+
+Meager.
+
+
+Meaning that once you equip a bow, you likely won't be able to dodge attacks.
+Was bedeutet, dass, wenn Sie einen Bogen ausstatten, werden Sie wahrscheinlich nicht ausweichen Angriffe können.
+
+Meaning you must warp shortly before the Great Fire, defeat her, and be back before the Great Fire happen.
+
+
+Meanwhile, at 00h, 06h, 12h, 15h, 18h and 21h UTC,
+
+
+Meanwhile, the sages of destiny will prepare a way to kick them back to wherever they belong!
+
+
+Mechanically based technology (eg. the Gates or Time Flasks) will never suffer damage from operation but are more costly.
+Mechanisch basierte Technologie (z. B. die Tore oder Time Flasks) wird nie Schaden aus dem Betrieb leidet, ist aber teurer.
+
+Mede
+Mede
+
+Medium Arrow Sack
+Medium Pfeil Sack
+
+Medium Bullet Sack
+Medium Kugel Sack
+
+Medium Elenium Bif
+Medium Elenium Bif
+
+Meh, telling him it was a lie is not going to help.
+Meh, ihm zu sagen, es war eine Lüge nicht helfen wird.
+
+Meh, the Blue Sage is truly wasteful. We use %s even for the simplest things such as keeping the house warm.
+
+
+Melina
+Melina
+
+Melt something else?
+Melt etwas anderes?
+
+Melune
+
+
+Memorize the sequence!
+
+
+Memory slowly returns to you as you start growing aware of your surroundings. That's right, you are on a ship.
+
+
+Meow.
+
+
+Mercenary Boxset A
+Mercenary Boxset A
+
+Mercenary Boxset AA
+Mercenary Boxset AA
+
+Mercenary Boxset B
+Mercenary Boxset B
+
+Mercenary Boxset BB
+Mercenary Boxset BB
+
+Mercenary Boxset C
+Mercenary Boxset C
+
+Mercenary Boxset CC
+Mercenary Boxset CC
+
+Mercenary Boxset D
+Mercenary Boxset D
+
+Mercenary Boxset DD
+Mercenary Boxset DD
+
+Mercenary Boxset E
+Mercenary Boxset E
+
+Mercenary Boxset EE
+Mercenary Boxset EE
+
+Mercenary Quests completed: %s
+
+
+Mercenary Trainer
+Mercenary Trainer
+
+Merchant
+Händler
+
+Merchant Police
+Händler Polizei
+
+Merchants like to buy body parts of killed monsters and animals because they can make items and equipment.
+Merchants gerne Körperteile von getöteten Monster und Tiere kaufen, weil sie Gegenstände und Ausrüstung machen.
+
+Mercy has been granted.
+Gnade wurde gewährt.
+
+Meriel
+
+
+Merlin was a accomplished carpenter and wanted to make a new
+Merlin war ein versierter Schreiner und wollte ein neues machen
+
+Merry Christmas!
+Fröhliche Weihnachten!
+
+Merry Christmas, adventurer.
+Frohe Weihnachten, Abenteurer.
+
+Merry Christmas, and a happy new year! \\o/
+
+
+Merry Christmas, arr yarr!!
+Frohe Weihnachten, arr yarr !!
+
+Message:
+Nachricht:
+
+Meteor Shower
+
+
+Meteor Strike
+
+
+Mh, I can't really tell since I usually work in the library while he works at the workshop. Maybe you should ask around among the people who work there.
+Mh, ich kann, da ich in der Bibliothek arbeiten in der Regel nicht wirklich sagen, während er in der Werkstatt arbeitet. Vielleicht sollten Sie unter den Menschen fragen, um die dort arbeiten.
+
+Mh, I don't know him closely.
+Mh, ich kenne ihn nicht eng.
+
+Mh, let me see. We already have a copy of this page, but it's helpful nevertheless. Thank you.
+Mh, lassen Sie mich sehen. Wir haben bereits eine Kopie dieser Seite, aber es ist dennoch hilfreich. Vielen Dank.
+
+Mh, let me think. There were quite a few visitors with different concerns, but that's usual at this time of the year.
+Mh, lassen Sie mich denken. Es gab ziemlich viele Besucher mit unterschiedlichen Interessen, aber das ist zu diesem Zeitpunkt des Jahres üblich.
+
+Mh, yes. I remember him. He was very interested in the library and the research we do here. He had an unusual behaviour and appearance. But, well, that isn't a reason to refuse someone, right?
+Mh, ja. Ich erinnere mich an ihn. Er interessierte sehr in der Bibliothek und die Forschung wir hier tun. Er hatte ein ungewöhnliches Verhalten und Aussehen. Aber, na ja, das ist kein Grund zu verweigern jemand, nicht wahr?
+
+Mh. I wonder how I'm expected to perform my task with this meager equipment. The new books will look pathetic.
+Mh. Ich frage mich, wie ich erwarte meine Aufgabe mit dieser dürftigen Ausrüstung durchzuführen. Die neuen Bücher aussehen wird pathetisch.
+
+Mh... yes. It makes sense. Listen. This is a secret, but it might have been.... @@.
+Mh ... ja. Es ergibt Sinn. Hör mal zu. Das ist ein Geheimnis, aber es könnte gewesen sein .... @@.
+
+Mhm, this looks healthy.
+Mhm, das sieht gesund aus.
+
+Mhm, you're still weak, I would prefer you to be level %d+ before doing this, but... Whatever, you might even survive.
+
+
+Mhm? I believe it was rebuilt, and the High Alliance took it over from the mage association for not paying taxes.
+
+
+Michel
+Michel
+
+Michel Soul
+Michel Seele
+
+Midway is also a solid range, but for summons, nearby works best. Casing doesn't matters, nor does punctuation.
+
+
+Miere Cleaver
+miere Cleaver
+
+Miere Cleaver!
+Miere Cleaver!
+
+Miler
+1500-Meter-Läufer
+
+Milestone levelup: A reward can now be claimed in Tulimshar.
+Milestone levelup: Eine Belohnung kann nun in Tulimshar geltend gemacht werden.
+
+Milestone reached: %s kills
+
+
+Milk
+Milch
+
+Milly
+Milly
+
+Milocat
+Milocat
+
+Miltaco
+
+
+Min. Position:
+Mindest. Position:
+
+Min. Score:
+Mindest. Ergebnis:
+
+Mine exit is top left!
+Mine Ausfahrt ist links oben!
+
+Miner
+
+
+Miner Gloves
+Miner Handschuhe
+
+Miner Hat
+Miner Hut
+
+Miner Knife
+Miner Messer
+
+Miner Tank Top
+Miner Tank Top
+
+Mineral Bif
+Mineral Bif
+
+Miners Union Research Request!
+
+
+Mini Skirt
+Minirock
+
+Minimum advised level 72 to do this quest.
+Minimum empfohlen 72 Level um diese Quest zu tun.
+
+Minimum range: %d
+
+
+Mining opearations advance steadly day by day with your help, thanks! Maybe one day, we find a Mana Stone here!
+Bergbau voran kontinuierlich Tag für Tag mit Ihrer Hilfe, danke! Vielleicht eines Tages, finden wir einen Manastein hier!
+
+Minor healing to your wounds.
+
+
+Minor healing to yourself or to allies.
+
+
+Mint Dye
+Mint Dye
+
+Mirio
+
+
+Mirjami
+Mirjami
+
+Miro
+Miro
+
+Mirror Island %d
+
+
+Mirror Island 1
+
+
+Mirror Lake
+
+
+Mirror Lake : Created temporary character; It'll be reset on logout.
+
+
+Mirror Lake : Obtain help with %s.
+
+
+Mirror Lake Armor
+
+
+Miscellaneous Recipes
+Verschiedene Rezepte
+
+Miscellaneous Status
+
+
+Mission accomplished. Well played!
+
+
+Mission: Kill all rogue Yetis on the Throne Room. You won't be able to leave until all of them are dead.
+Mission: Tötet alle Schurken Yetis auf dem Thronsaal. Sie können nicht verlassen, bis sie alle tot sind.
+
+Mister Prickel
+
+
+Mmm, it's been so long since I have had herbal tea. You have my gratitude.
+Mmm, es ist so lange her, dass ich Kräutertee hatte. Sie haben meine Dankbarkeit.
+
+Mobiliary Credits is a special currency which can only be used on real estate.
+Mobiliar Credits ist eine spezielle Währung, die nur auf Immobilien verwendet werden.
+
+Mobpt: @@
+Mobpt: @@
+
+Mobs remaining: @@
+Mobs Rest: @@
+
+Mode?
+
+
+Modify another line
+Andere Zeile verändern
+
+Modify monster level!
+
+
+Modify this line
+Diese Zeile verändern
+
+Modify, move, or remove a line
+Ändern, bewegen oder entfernen einer Zeile
+
+Moggun
+Moggun
+
+Moggun Egg
+
+
+Money in your storage is totally safe. Banking itself is totally safe.
+Geld in der Lagerung ist absolut sicher. Das Bank selbst ist absolut sicher.
+
+Money transference by mail is, however, free.
+Geld Ãœbertragung per E-Mail ist jedoch frei.
+
+Money withdrawn!
+Geld zurückgezogen!
+
+Money: @@ GP
+Geld: @@ GP
+
+Monk Pendant
+Monk-Anhänger
+
+Monocle
+Monokel
+
+Monster
+Monster
+
+Monster AGI, Default %d, use 0 to cancel
+
+
+Monster ATK (varies 10%%), Default %d, use 0 to cancel
+
+
+Monster ATK RANGE, Default %d, use 0 to cancel
+
+
+Monster Admiral
+Monster Admiral
+
+Monster Captain
+Monster Kapitän
+
+Monster Colonel
+Monster Colonel
+
+Monster DEF, Default %d, use 0 to cancel
+
+
+Monster DEX, Default %d, use 0 to cancel
+
+
+Monster Density and Boss HP?
+
+
+Monster General
+Monster Allgemein
+
+Monster HP, Default %d, use 0 to cancel
+
+
+Monster Hunter
+
+
+Monster Hunters receive small bounties on a special currency, of Monster Points, for each monster they kill. The amount gained is based on the monster level.
+
+
+Monster ID, 0 to cancel
+
+
+Monster Information!
+
+
+Monster King
+Monster King
+
+Monster King Basement
+Monster King Keller
+
+Monster King Mode
+
+
+Monster Lieutenant
+Monster Lieutenant
+
+Monster Major
+Monster-Dur
+
+Monster NAME, Default %s, empty to cancel
+
+
+Monster Points
+
+
+Monster Points (Mobpt): @@ | Gold: @@
+Monster Punkte (Mobpt): @@ | Gold: @@
+
+Monster Points: %s
+
+
+Monster SPEED, Player speed is 150, minimum is 100!
+
+
+Monster Sergeant
+Monster Sergeant
+
+Monster Soldier
+Monster-Soldat
+
+Monsters Killed in PvE: %s
+Monster in PvE getötet:% s
+
+Monsters are everywhere. They're a plague we're trying to get rid of.
+Die Monster sind überall. Sie sind eine Plage wir versuchen, loswerden.
+
+Monsters do not aim small towns like Candor. This city also comes with the plus that I know where everything's at.
+Monster zielen nicht kleine Städte wie Candor. Diese Stadt kommt auch mit dem Plus, dass ich weiß, wo alles ist an.
+
+Monsters killed: %s
+
+
+Monsters left: @@
+Monster links: @@
+
+Monsters remaining: %s
+
+
+Monsters will spawn in the south fountain continuously.
+
+
+Monsters, however, keep coming from the Impregnable Fortress. They always come on %s, although we have no idea why.
+
+
+Monsters.
+Monster.
+
+Moo!
+Muuh!
+
+Moonshroom
+Moonshroom
+
+Moonshroom Hat
+Moonshroom Hat
+
+Moonshroom Robe
+Moonshroom Robe
+
+Moooo!
+Muuuuh!
+
+Moooooo!
+Muuuuuuuuuuh!
+
+Moooooooooooo!
+Muuuuuuuuuuuuuuuuuuuh!
+
+Mooubootaur Mode
+
+
+More Magic Power is granted to you, but you die from it.
+Magic Power Mehr wird Ihnen gewährt, aber Sie sterben daran.
+
+Morgan
+Morgan
+
+Mortal! I am @@! I have broken through the barriers of space and time!
+Sterblich! Ich bin @@! Ich habe durch die Barrieren von Raum und Zeit gebrochen!
+
+Moss
+Moos
+
+Most Orcs become nomads and Raijins moved to Hurnscald, but they say Thermin might have been rebuilt somewhere else.
+Die meisten Orks werden Nomaden und Raijins zu Hurnscald bewegt, aber sie sagen Thermin vielleicht woanders wieder aufgebaut wurden.
+
+Most common and widely popular in the fish realm are @@ and pieces of @@.
+Am gebräuchlichsten sind in der Anglerwelt @@ und @@-Stückchen.
+
+Most do. I'm not sure if all that hatred is justified, but who cares. She is dead, even if her ghost is back.
+
+
+Most of it should be pretty intuitive, but be sure to press @@ on the bottom-left of inventory screen.
+Das meiste davon sollte ziemlich intuitiv sein, aber achten Sie darauf, drücken Sie @@ auf der linken unteren Ecke des Inventar-Bildschirm.
+
+Most of our professors moved on to the Academy Island, and are with Tulimshar's and Frostia's professors working right now. But...
+Die meisten unserer Professoren zog an der Akademie der Insel und sind mit Tulimshar der und Frostia Professoren jetzt arbeiten. Aber...
+
+Most of their skills are stat-independent, but not all of them.
+
+
+Most of these people will not think twice before giving a nice reward to anyone who helps them.
+Die meisten dieser Leute denken, nicht zweimal, bevor sie eine schöne Belohnung für jeden geben, die sie hilft.
+
+Most thieves left, but that's not a problem, I created an army out of Homunculus. I already have 500 bandits. I will create more later, to get Mana Stones.
+Die meisten Diebe verlassen, aber das ist kein Problem, ich eine Armee aus Homunculus geschaffen. Ich habe bereits 500 Banditen. Ich werde später mehr schaffen, Mana-Steine ​​zu bekommen.
+
+Moubi
+
+
+Moubi Hat
+
+
+Mouboo
+Mouboo
+
+Mouboo Figurine
+Mouboo Figurine
+
+Mouboo Hat
+Mouboo Hat
+
+Mouboo Pendant
+Mouboo Anhänger
+
+Mouboo Slime
+Mouboo Slime
+
+Mouboo Steak
+Mouboo Steak
+
+Mouboo#0142injuried
+
+
+Mouboos are cute
+Mouboos sind nett
+
+Mouboos, come to my aid and protect me!
+Mouboos, komm mir zu Hilfe und schützt mich!
+
+Moubootaur (Sealed)
+
+
+Moubootaur Legends Anniversary
+
+
+Moubootaur Legends Server
+
+
+Moubootaur Legends just got older! %%N
+
+
+Moubootaur Legends presents...
+
+
+Moubootaur Maze
+
+
+Moubootaur, please spare me...
+
+
+Mount your party and find the Yeti King!
+
+
+Mountain Snake
+Berg Snake
+
+Mountain Snake Egg -> Snake Egg
+Berg Snake Egg -> Snake Egg
+
+Mountain Snake Skin
+Berg Snake Skin
+
+Mountain Snake Skin -> Snake Skin
+Berg Snake Skin -> Snake Skin
+
+Mountain Snake Tongue
+Berg Snake Tongue
+
+Mountain Snake Tongue -> Snake Tongue
+Berg Snake Zunge -> Snake Tongue
+
+Mounts
+Anschlüsse
+
+Moutain Snake
+
+
+Moutain Snake Egg
+Berg Snake Egg
+
+Move Speed Potion
+Bewegen Geschwindigkeitstrank
+
+Move this line down
+Zeile nach unten bewegen
+
+Move this line up
+Zeile nach oben bewegen
+
+Movement Speed Potion
+Bewegungsgeschwindigkeit Potion
+
+Moving while AFK is botting! I'll send you to a %s if you move while AFK! ##BYOU HAVE BEEN WARNED!##b
+
+
+Mr Saves
+Herr Saves
+
+Msawis Card
+Msawis ​​Karte
+
+Muahahaha, I'll be SO strong thanks to you! Here, I don't need these weak recipes anymore. You can have them!
+
+
+Muahahaha, I'll be SO strong thanks to you! Here, these recipes should be useful for ya. You can have them!
+
+
+Much better, right?!
+Viel besser, nicht wahr ?!
+
+Multiple players may conduct Katazuli at once. If you move or stand, the spell may be aborted.
+
+
+Murder her too!#0
+
+
+Murder him too!#1
+
+
+Murderer Crown
+Murderer Crown
+
+Murderer Scorpion
+Mörder Skorpion
+
+Mush Hat
+Mush Hat
+
+Mushroom Spores
+Pilzsporen
+
+Mustache
+Schnurrbart
+
+My answer is still a no, and it won't change. Don't test my patience any further.
+Meine Antwort ist immer noch ein Nein, und es wird sich nicht ändern. Sie testen nicht meine Geduld jeden Tag.
+
+My breath smells bad.
+Ich habe Mundgeruch.
+
+My captain wanted me to give this to you as a special reward for your efforts.
+
+
+My chestplate, @@
+Meine Brustplatte, @@
+
+My children and grandchildren have all moved to the Land of Fire, so the amount of leatherwork I can offer you is limited.
+
+
+My crops! Hurry up, and talk to Eomie!!
+Meine Kulturen! Beeilen Sie sich und sprechen Sie mit Eomie !!
+
+My daughter! My precious Cindy, why it had to be you?!
+Meine Tochter! Meine kostbare Cindy, warum es mußte man sein ?!
+
+My equipment is good, let me through!
+Meine Ausrüstung ist gut, lassen Sie mich durch!
+
+My family died when I was just a little girl... I have been trying to survive...
+Meine Familie starb, als ich war nur ein kleines Mädchen ... Ich habe, um zu überleben versucht, ...
+
+My father probably knew... Well, you better ask Blue Sage then.
+Mein Vater wohl wusste, dass ... Nun, Sie besser als Blue Sage fragen.
+
+My father runs a dye business, I'm in charge of selling %s around the world.
+
+
+My figurine is so nice!
+
+
+My formula is not a drug, nor magic. It is an ancient technology of our people!
+Meine Formel ist keine Droge, noch Magie. Es ist eine alte Technologie unseres Volkes!
+
+My friend George is much older than I am, go see him and if he trusts you, so will I.
+Mein Freund George ist viel älter als ich, ihn gehen zu sehen und wenn er dir vertraut, so wird I.
+
+My grandmother gave me a recipe of the @@, it can cure anything but death.
+Meine Großmutter hat mir ein Rezept des @@, kann es alles andere als Tod heilen.
+
+My greatest realization thus far, besides some time rewinding clocks, is the @@!
+Meine größte Erkenntnis bisher, neben einiger Zeit Zurückspulen Uhren, ist die @@!
+
+My helmet, @@
+Mein Helm, @@
+
+My husband and I have moved here under the Alliance orders.
+Mein Mann und ich haben hier im Rahmen der Allianz Aufträge bewegen.
+
+My mother told me, do not go work like a guard. You will die from overheating in the sun during the summer time.
+Meine Mutter erzählte mir, nicht Arbeit wie eine Wache gehen. Sie werden während der Sommerzeit vor Überhitzung in der Sonne sterben.
+
+My name is
+Ich heiße
+
+My name is %s. I am an upstanding citizen of this kingdom. Everyone loves me.
+
+
+My name is @@ and I am the daily task master. Interested in keeping this world free from monsters, or are you here to report back?
+
+
+My name is Amelia, and I am Elora's daughter.
+
+
+My name is Benjamin, and I was in charge of an incursion here to capture Barbara.
+Mein Name ist Benjamin, und ich war verantwortlich für einen Einfall hier Barbara zu erfassen.
+
+My name is Juliet, it is me who took care of you after we found you in the sea. I'm glad to see you're okay.
+Mein Name ist Julia, es ist mir wer von euch kümmerte, nachdem wir Sie im Meer gefunden. Ich bin froh, dass du in Ordnung zu sehen.
+
+My name is Naem and I guard the tunnels in this direction. You shall not pass. Now leave.
+
+
+My name is Nico Goethe, an %s card player.
+
+
+My pleasure.
+
+
+My shaman skills protected us against monsters and thieves!
+Meine Schamanen Fähigkeiten uns gegen Monster und Diebe geschützt!
+
+My shield, @@
+Mein Schild, @@
+
+My stats are too good, I won't need it.
+Nein danke, meine Stats sind absolut perfekt.
+
+My unit, however, was attacked! %s snuck up on us!
+
+
+My waifu Blossom has me trapped here, and she won't even look at me, because I'm part-Wose!
+Mein waifu Blossom hat mich hier gefangen, und sie wird mich nicht einmal sehen, weil ich Teil-Wose bin!
+
+My warp crystal broke!
+Meine Kette Kristall brach!
+
+My weapon, @@
+Meine Waffe, @@
+
+Mylarin Dust
+Mylarin Staub
+
+Mylarin dust?! Where would you get that? That's amazing!
+Mylarin Staub ?! Wo würden Sie das? Das ist erstaunlich!
+
+Mysterious Bif
+Mysterious Bif
+
+Mysterious Bottle
+Mysterious Flasche
+
+Mysterious Chest#EP1
+
+
+Mysterious Chest#EP2
+
+
+Mysterious Fruit
+Mysterious Obst
+
+Mysterious Ore
+
+
+Mysterious Powder expires after some time!
+
+
+Mystic Wand
+
+
+NO
+NEIN
+
+NO!
+
+
+NOT ENOUGH MONEY
+NICHT GENUG GELD
+
+NOTE
+
+
+NOTE: Beside wands and staves, %s, %s, and the %s count as magic weapons.
+
+
+NOTE: It is possible to play the game as a crafter/merchant/fisherman, avoiding to kill as much as possible. However, it is not possible to play the game with a total kill count of zero.
+HINWEIS: Es ist möglich, das Spiel als Crafter / Händler / Fischer zu spielen, so viel wie möglich zu töten, zu vermeiden. Es ist jedoch nicht möglich, das Spiel mit einer vollständigen Abtötung Zahl von Null zu spielen.
+
+NOTE: Must have logged in the past 24 hours to be shown.
+
+
+NOTE: No equipment restriction. Less time is better.
+
+
+NOTE: The Energy Ball explodes and Kills. Very. Well. Make them a priority!
+
+
+NOTE: The effective bonus level applied is the average level of enabled options!
+Hinweis: Die effektive Bonusstufe angewandt wird, die durchschnittliche Höhe der aktivierten Optionen!
+
+NOTE: This quest is still a work in progress. "Bugs" will show up on purpose.
+
+
+NOTE: You're tweaking a(n): @@
+HINWEIS: Sie zwicken eine (n): @@
+
+NPC Blinking Eyes
+NPC zwinkernden Augen
+
+NPC Blinking Eyes 2
+
+
+NPC Blinking Eyes 3
+
+
+NPC stylists can cut your hair and give you a new style, which means the hair style you woke up is something that can be changed.
+
+
+NPCs#RES_0096
+
+
+NPCs#RES_0097
+
+
+NPCs#RES_0128
+
+
+NPCs#RES_0177
+
+
+NPCs#RES_0178
+
+
+NPCs#RES_PPL
+
+
+NPCs(Non Playable Characters) or non-playable characters are characters that are always in the game, offering a wide variety of reactions, from a simple friendly conversation to a desperate request for help.
+NPCs (Nicht spielbare Charaktere) oder nicht-spielbare Charaktere sind Zeichen, die immer im Spiel sind, eine Vielzahl von Reaktionen, von einem einfachen freundlichen Gespräch zu einem verzweifelten Hilferuf an.
+
+NPCs.
+NPCs.
+
+Naem
+
+
+Naftalin
+
+
+Nah, I am a chicken.
+Nee, ich bin ein Huhn.
+
+Nah, I've got more serious matters to attend to...
+Nee, ich habe mehr ernste Dinge zu erledigen ...
+
+Nah, not now. Slimes ruin your clothes, after all.
+Nein, jetzt nicht mehr. Schleime ruinieren Ihre Kleidung, nachdem alle.
+
+Nah, see you later.
+Nö, bis später.
+
+Nah, sorry, everything is good with me.
+Nee, sorry, alles ist gut mit mir.
+
+Nah, thank you.
+Nein, danke.
+
+Nah, that's wrong. Come back if you want to try again.
+Nein, das ist falsch. Kommen Sie zurück, wenn Sie es noch einmal versuchen wollen.
+
+Nah.
+Nö.
+
+Nahrec
+Nahrec
+
+Nahrec discretly gives you a recipe.
+
+
+Name is Jhon, and that's not a typo! I am an absolute coffee lover, and I travel to exotic places in search of the perfect brew.
+
+
+Named Items
+
+
+Napalm Beat
+Napalm Schlag
+
+Nard
+Nard
+
+Nard doesn't like people who gets money without working for it.
+Nard nicht wie Menschen, das Geld ohne Arbeit dafür bekommt.
+
+Nard gives you a map of the city so you don't get lost.
+Nard gibt Ihnen eine Karte der Stadt, so dass Sie nicht verloren gehen.
+
+Nard is amazed at you.
+Nard ist bei Ihnen erstaunt.
+
+Nard is impressed, you're a hard worker.
+Nard ist beeindruckt, du bist ein harter Arbeiter sind.
+
+Nard is truly amazed at you. I am impressed, too.
+Nard ist bei Ihnen wirklich erstaunt. Ich bin beeindruckt, auch.
+
+Nard is very impressed, you're really a hard worker. Congrats!
+Nard ist sehr beeindruckt, du bist wirklich ein harter Arbeiter. Glückwunsch!
+
+Nard likes people who work hard. Work harder!
+Nard mag Menschen, die hart arbeiten. Härter arbeiten!
+
+Nard noticed your hard work.
+Nard bemerkt Ihre harte Arbeit.
+
+Narrator
+Erzähler
+
+Naturally, it doesn't have to be a wiki article. But it must be noteworthy to the whole community, and wiki articles are one of the easiest ways for that.
+
+
+Nature Card
+Natur-Karte
+
+Nature Card S
+
+
+Nature Card X
+
+
+Nature Fairy
+Natur-Fee
+
+Nature Wall
+Natur Wand
+
+Nature Wall Card
+
+
+Nature itself express hate against you!
+
+
+Navy Blue Dye
+Marine-Blau-Färbung
+
+Nea
+Nea
+
+Nearly everyone around is a seasoned veteran or was sent here by the Alliance Council to support the war efforts. Including me. So, good luck!
+
+
+Neat, neat! Thanks! Here you go, this amazing bottle! It is life-bond, so having multiple won't reduce the time you need to wait...
+Ordentlich, sauber! Vielen Dank! Hier gehen Sie, diese erstaunliche Flasche! Es ist das Leben-Bindung, so dass mehrere aufweist, wird die Zeit, die Sie warten müssen nicht reduzieren ...
+
+Necklaces
+Ketten
+
+Necromancer Card
+Necromancer-Karte
+
+Necromancer Card S
+
+
+Necromancer Card X
+
+
+Need a healing?
+Benötigen Sie eine Heilung?
+
+Needless to say, monsters from Expert Dungeon usually drops more often than the ones from Advanced Dungeon.
+Unnötig zu sagen, Monster aus Expert Dungeon fällt in der Regel häufiger als die, die von der Firma Advanced Dungeon.
+
+Neither difficult, neither clear,
+
+
+Neither, sorry
+Weder, sorry
+
+Neko
+Neko
+
+Neutral element comes as "power", "force", "sword", "blade", and even "magic".
+
+
+Neutral monsters do not have such a sense of danger.
+Neutrale Monster haben keine so ein Gefühl von Gefahr.
+
+Never (only on login)
+Nie (nur beim Login)
+
+Never ask: Brew %d
+
+
+Never let yourself be brought astray by it. Swear it to me.
+
+
+Nevermind, bye!
+Macht nichts tschuess!
+
+Nevertheless, you probably need some base materials from Bifs. Who knows what it will drop if you are lucky?
+Dennoch müssen Sie wahrscheinlich einige Basismaterialien aus BIFS. Wer weiß, was es wird fallen, wenn Sie Glück haben?
+
+New chars, and reborn chars, will also begin at level 10.
+
+
+Newbie
+Newbie
+
+Newbies can only get past their limits once, with their party leader level help! If they die, they can't rejoin!
+Newbies kann nur einmal Vergangenheit an ihre Grenzen kommen, mit ihren Parteiführer Ebene Hilfe! Wenn sie sterben, können sie nicht wieder zusammenzubringen!
+
+Next broadcast: (never)
+Nächste Ankündigung: (nie)
+
+Next broadcast: @@
+Nächste Ankündigung: @@
+
+Next time an annoying snake refuses to drop their precious leather drops, come talk to us!
+Das nächste Mal eine lästige Schlange weigert ihre kostbare Leder Tropfen zu fallen, kommen sprechen Sie uns an!
+
+Next time, I'll ask Sagratha to help. Heh. I doubt that's going to happen. By the way, this is the @@ spell. It summons snakes...
+Beim nächsten Mal werde ich Sagratha zu Hilfe bitten. Heh. Ich bezweifle, dass das passieren wird. By the way, ist dies der @@ Bann. Es ruft Schlangen ...
+
+Next we have %s. It guards the world itself and grants all kinds of magic.
+
+
+Nice day to you.
+Einen schönen Tag dir.
+
+Nice to know. I'll come to you when random numbers try to kill me.
+Gut zu wissen. Ich werde zu Ihnen kommen, wenn Zufallszahlen versuchen, mich zu töten.
+
+Nice! First let me introduce myself. I am Dracoula, a miner!
+Nett! Zunächst möchte ich mich vorstellen. Ich bin Dracoula, ein Bergmann!
+
+Nice! I love history!
+
+
+Nice! I want you to kill some red scorpions, as I said!
+Nett! Ich möchte, wie ich schon sagte, das du ein paar rote Skorpione tötest!
+
+Nice, but no, thanks.
+Schön, aber nein, danke.
+
+Nice, thanks.
+
+
+Nice.
+
+
+Nicholas
+Nikolaus
+
+Nico Goethe
+
+
+Night Dragon
+Nachtdrache
+
+Night Scorpion
+Nacht Skorpion
+
+Nightmare Dragon
+Alptraum Drachen
+
+Nightshade Tea
+Nachtschatten Tea
+
+Nigth Scorpion
+
+
+Nikolai said it was important, so we keep a few of them locked in the basement. I apply a spell to seal them so they don't wander around, explode around, or... *sniff*...
+Nikolai sagte, es sei wichtig, so dass wir ein paar von ihnen in den Keller gesperrt halten. Ich beantrage einen Zauber um sie zu versiegeln, so dass sie um nicht wandern tun, explodieren sie um, oder ... * sniff * ...
+
+Nikolai takes a sweat of his head. He seems worried with Cindy.
+Nikolai nimmt einen Schweiße seines Kopfes. Er scheint mit Cindy besorgt.
+
+Nikolai, the Blue Sage
+Nikolai, der Blue Sage
+
+Nilfheim
+
+
+Nina The Traveler
+Nina Der Reisende
+
+Ninja Card
+Ninja-Karte
+
+Ninja Card S
+
+
+Ninja Card X
+
+
+NivalShip
+NivalShip
+
+Nivalis
+nivalis
+
+Nivalis - @@ GP
+Nivalis - @@ GP
+
+Nivalis Office
+nivalis Büro
+
+Nivalis Townhall
+nivalis Townhall
+
+Nivalis Warp Crystal
+Nivalis Warp-Kristall
+
+Nivalis was liberated @@ ago.
+Nivalis wurde befreit @@ vor.
+
+Nivalis was the last human settlement built during the First Era.
+Nivalis war die letzte in der ersten Ära gebaut menschliche Siedlung.
+
+Nivalis? It's frozen during the whole year! I hope you have good ice gear and a high level...
+Nivalis? Es ist das ganze Jahr über gefroren! Ich hoffe, Sie gutes Eis Gang haben und ein hohes Maß ...
+
+No
+Nein
+
+No Chains (Tulimshar)
+Keine Ketten (Tulimshar)
+
+No I don't have herbs. I'll be back.
+Nein, ich habe keine Kräuter. Ich komme wieder.
+
+No and *hic*... No, you and you and your... *burp* stup*hic* guild!#0
+Nö.. und *hicks* nein... , du und deine... *rülps* dähmliche *hicks* Gilde!
+
+No and *hic*... No, you and you and your... *burp* stup*hic* guild!#1
+Nö.. und *hicks* nein... , du und deine... *rülps* dähmliche *hicks* Gilde!
+
+No but thanks.
+
+
+No criminal record, no bank account, not even a tax payment declaration.
+Keine Vorstrafen, kein Bankkonto, nicht einmal eine Steuerzahlungserklärung.
+
+No homunculus found!
+Kein Homunkulus gefunden!
+
+No mercy will be shown, turn back now!
+
+
+No need to kill the Fluffies, though.
+Keine Notwendigkeit, die Fluffies zu töten, though.
+
+No no no, that's wrong.
+Nein, nein, nein, das ist falsch.
+
+No no no, you don't have everything I've asked for!
+Nein, nein, nein, Sie haben nicht alles, was ich gefragt habe!
+
+No one can go out during the quest, so ensure every guild member has proper equipment, potions, and time for this dungeon.
+
+
+No one is allowed past this point.
+Niemand ist über diesen Punkt erlaubt.
+
+No one is more there than here than me! Look at my hat, it symbolizes that I am an useless player!
+Niemand ist mehr da, als hier als ich! Schauen Sie sich meinen Hut, symbolisiert es, dass ich bin ein nutzloser Spieler!
+
+No one visit me, I'm in peace there.
+Niemand Besuch mich, ich bin dort in Frieden.
+
+No penalty against Legendary mobs
+
+
+No problem is too big for me. I have them right here!
+Kein Problem ist zu groß für mich. Ich habe sie hier genau richtig!
+
+No reason.
+Kein Grund.
+
+No reply. We should try something else.
+
+
+No thank you.
+
+
+No thanks, see ya!
+Nein danke, wir sehen uns!
+
+No thanks.
+Nein Danke.
+
+No victor appliable.
+Kein Sieger appliable.
+
+No way!
+Auf keinen Fall!
+
+No way! That's absurd!
+Auf keinen Fall! Das ist absurd!
+
+No you don't. Don't disturb the forest for no reason.
+Nein, Sie nicht. Stören Sie nicht den Wald ohne Grund.
+
+No!
+Nein!
+
+No, I don't have any poison for your sampling yet.
+
+
+No, I don't need monster repellent nor anything! Go away!
+Nein, ich brauche keine Monster abweisende noch nichts! Geh weg!
+
+No, I don't teach magic to strangers. No, I'm not interested in @@ affairs.
+Nein, ich nicht lehren Magie zu Fremden. Nein, ich bin nicht in @@ Angelegenheiten interessiert.
+
+No, I insist, keep the Antennas as a trophy.
+Nein, ich bestehe darauf, halten Sie die Antennen als Trophäe.
+
+No, I want to aim for a higher score.
+
+
+No, I'll be back with them.
+Nein, ich werde mit ihnen wieder.
+
+No, I'll let you there to the Yeti's mercy.
+Nein, ich lasse dich dort auf den Yeti Barmherzigkeit.
+
+No, I'll save my money.
+Nein, ich werde mein Geld sparen.
+
+No, but what option do I have? I'm railroaded!
+Nein, aber was Option habe ich? Ich bin railroaded!
+
+No, it is a family heirloom. But I do have the shield blueprints. A skilled craftsman could forge one.
+Nein, es ist ein Familienerbstück. Aber ich tun, um die Abschirmung Pläne haben. Ein erfahrener Handwerker könnte man schmieden.
+
+No, justice must be done.
+Nein, Gerechtigkeit getan werden muss.
+
+No, loans.
+
+
+No, none.
+Nein, keine.
+
+No, not at the moment.
+Nein, nicht in diesem Moment.
+
+No, nothing. Sorry.
+
+
+No, please don't! I have 3 kids to feed. They are looking for me for contraband. Please, let me go!
+Nein, bitte nicht! Ich habe 3 Kinder zu ernähren. Sie sind für mich nach Schmuggelware. Bitte lass mich gehen!
+
+No, power corrupts.
+
+
+No, seriously, you should do these questions to Elli. She is the smartest girl I know, close to the Academy.
+
+
+No, sir.
+Nein Sir.
+
+No, sorry.
+
+
+No, thank you, kid.
+Nein, danke, Kind.
+
+No, thanks!
+Nein Danke!
+
+No, thanks, I will keep my gems.
+Nein, danke, werde ich meine Edelsteine ​​halten.
+
+No, thanks, it's not my job!
+Nein, danke, es ist nicht meine Aufgabe!
+
+No, thanks.
+Nein. Danke.
+
+No, thanks. I gonna leave this place.
+Nein Danke. Ich Gonna diesen Ort verlassen.
+
+No, they are way too dangerous for me!
+Nein, Die sind zu gefährlich für mich!
+
+No, we challenge you to a duel!
+Nein, wir fordern Sie zu einem Duell!
+
+No, we've done this for our whole life, and we have survived!
+Nein, wir haben dies getan, für unser ganzes Leben, und wir haben überlebt!
+
+No, who knows what they might do with it!
+
+
+No.
+Nein.
+
+No. Hurnscald is besieged and it would be too dangerous to let you go alone. You should talk to %s, instead.
+
+
+No...
+Nein...
+
+No... Not yet, sorry.
+Nein ... Noch nicht, sorry.
+
+Nobody answers.
+Niemand antwortet.
+
+Nobody can know! *burp*
+Niemand kann wissen! *rülpsen*
+
+Nobody lives here for years, arr. Monsters have taken over everything, yarr.
+Niemand lebt hier seit Jahren, arr. Die Monster haben über alles genommen, yarr.
+
+Noel Slime
+Noel Slime
+
+Non Disclosure Agreemeent
+
+
+None
+Keine
+
+None at the moment.
+Keiner im Moment.
+
+Nope, sorry!
+Nein Entschuldigung!
+
+Normal
+Normal
+
+Normal Bullet
+normale Kugel
+
+Normal Cards can be upgraded to S-Tier, and S Cards can be upgraded to X-Tier. X-Tier cards cannot be upgraded.
+
+
+Normal Member
+normale Mitglied
+
+Normal.
+
+
+Normally I would offer to make you some %s, but economic problems in Halinarzo have caused a shortage of supplies...
+
+
+Normally, collaborative behave like neutral monsters. Unless some partner of the same species is in danger, at which point they all take an aggressive stance against the aggressor.
+Normalerweise kooperativer verhalten sich wie neutrale Monster. Es sei denn, einige Partner der gleichen Spezies in Gefahr ist, an welcher Stelle sie alle eine aggressive Haltung gegen den Angreifer nehmen.
+
+North Avenue#lof
+
+
+Northeast Avenue
+Northeast Avenue
+
+Northeast Avenue#lof
+
+
+Northwest Avenue
+Northwest Avenue
+
+Northwest Avenue#lof
+
+
+Not An Oak
+Not An Oak
+
+Not Yet Implemented - Sorry.
+
+
+Not a single deed, but continued heroism. A real hero must be strong. Must help others. Must show up above others. Should have magic even if they don't use, and of course, the world should be in need of a hero. No one is born as hero, for heroes are forged, not born.
+
+
+Not all monsters will do this, but most will. So if you see a monster running after a player and you stand in the way...
+Nicht alle Monster wird dies tun, aber die meisten werden. Also, wenn Sie sehen, ein Monster, nachdem ein Spieler läuft und Sie stehen in der Art und Weise ...
+
+Not allowed
+Nicht erlaubt
+
+Not at all!
+
+
+Not at the moment
+Nicht im Moment
+
+Not bad
+
+
+Not bad, not bad. Let's see if you can answer an even more difficult one.
+Nicht schlecht nicht schlecht. Mal sehen, ob Sie eine noch schwierigere beantworten kann.
+
+Not bad. These are the main threat we have to fend off, along snakes and black scorpions.
+Nicht schlecht. Dies sind die Hauptbedrohung haben wir abwehren, entlang Schlangen und schwarze Skorpione.
+
+Not bad... You can now enter Lilit. If you think you can defeat me, climb the tree and meet me at the top!
+Nicht schlecht ... Sie können nun Lilit eingeben. Wenn Sie denken, dass Sie mich besiegen kann, klettern auf den Baum und treffen Sie mich an der Spitze!
+
+Not crafting - insufficient materials!
+
+
+Not doing that to prevent flood.
+Dies nicht zu tun, dass Hochwasser zu verhindern.
+
+Not enough Monster Points!
+Nicht genug Monster Punkte!
+
+Not enough bottles.
+Nicht genügend Flaschen.
+
+Not enough funds!
+Nicht genug Geld!
+
+Not enough ingredients or invalid amount.
+Nicht genügend Zutaten oder ungültige Menge.
+
+Not enough items!
+Nicht genügend Gegenstände!
+
+Not enough money.
+Nicht genug Geld.
+
+Not every @@ with you belongs to you.
+Nicht jeder @@ mit Ihnen gehört Ihnen.
+
+Not every piece of equipment is ingame yet.
+Nicht jedes Gerät ist im Spiel noch.
+
+Not everyone can be a blood donor. For example, you must be healthy.
+Nicht jeder kann ein Blutspender sein. Zum Beispiel müssen Sie gesund sein.
+
+Not for that! For helping out the injuried mouboo, of course.
+Nicht dafür! Für den verletzten mooboo aushelfen, natürlich.
+
+Not in the mood to chat.
+Ich bin nicht in der Stimmung, mich zu unterhalten.
+
+Not my problem.
+Nicht mein Problem.
+
+Not now, but I may be back later.
+Nicht jetzt, aber ich kann später wieder.
+
+Not now, sorry.
+Nicht jetzt tut mir leid.
+
+Not now, thanks
+Nicht jetzt, Dank
+
+Not now, thanks.
+
+
+Not now.
+
+
+Not now...
+Nicht jetzt...
+
+Not now... *hic* I need @@... *hic* Bring me @@ if you *hic* can...
+Nicht jetzt ... * hicks * Ich brauche @@ ... * hicks * Bringt mir @@ wenn Sie hic * * kann ...
+
+Not only that, but I am also Angela's husband and Nivalis Mayor. If you have any issues, you can go straight to me.
+Nicht nur das, aber ich bin auch Angelas Ehemann und Nivalis Bürgermeister. Wenn Sie irgendwelche Fragen haben, können Sie direkt zu mir gehen.
+
+Not only that, but at night monsters are stronger! They also give more experience and drop more often to compensate, though.
+
+
+Not only that, but he is the only one here besides me who can do magic. Without him, I have to work doubled.
+Nicht nur das, sondern er ist der einzige hier neben mir, die Magie tun. Ohne ihn habe ich verdoppelt zu arbeiten.
+
+Not only that, but it is swarming with monsters. Something is really wrong here. From our scouts which went in there, only one returned.
+
+
+Not only that, but reborn characters will spawn at level %d!
+
+
+Not only that, but the Yeti King and me had an... incident, in times best forgotten. Let's not talk about it.
+Nicht nur das, sondern der Yeti König und ich hatten einen ... Vorfall, in Zeiten am besten vergessen. Lassen Sie uns nicht darüber reden.
+
+Not only that, but you get one free attempt every day!
+
+
+Not participating in a challenge yields you zero points. In case of a tie, char creation date will be the decisive factor: Older adventurers will get the preference.
+
+
+Not really, sorry.
+Nicht wirklich, sorry.
+
+Not really.
+Nicht wirklich.
+
+Not resync'ing to prevent flood.
+Nicht resync'ing Flut zu verhindern.
+
+Not right now, I'm busy.
+Nicht jetzt, ich bin beschäftigt.
+
+Not right now.
+Nicht jetzt.
+
+Not sure
+Nicht sicher
+
+Not to say about bandits and robbers you'll find.
+Um nicht zu sagen über Banditen und Räuber Sie finden.
+
+Not today, sorry.
+Nicht heute, sorry.
+
+Not yet, I'll be right back.
+Noch nicht, ich komme bald wieder.
+
+Not yet, I'm waiting @@ to deliver me the @@ reagent.
+Noch nicht, ich warte @@ mir das @@ Reagens zu liefern.
+
+Not yet, I'm waiting for friends
+Noch nicht, ich warte auf Freunde
+
+Not yet, blame Jesusalva, your reward was with them
+Noch nicht, die Schuld Jesusalva, Ihre Belohnung war mit ihnen
+
+Not yet, but I'll bring them.
+Noch nicht, aber ich werde sie bringen.
+
+Not yet.
+Noch nicht.
+
+Not yet. I've been... delayed.
+
+
+Not yet. You have to ask the mana seed to give you more power.
+Noch nicht. Sie haben die Mana Samen fragen Sie mehr Macht zu geben.
+
+NotSoBot
+NotSoBot
+
+Notable mentions and thanks for our [@@https://tmw2.org/contact|sponsors@@], we wouldn't be here without their continued support.
+
+
+Notable mentions and thanks for our [@@https://www.patreon.com/TMW2|sponsors@@], we wouldn't be here without their continued support.
+Bemerkenswerte Erwähnungen und vielen Dank für unsere [@@ https: //www.patreon.com/TMW2 | Sponsoren @@], würden wir nicht hier sein, ohne ihre Unterstützung.
+
+Note
+
+
+Note 2: If you leave this plataform, it'll reset!
+Anmerkung 2: Wenn Sie diese Plattform verlassen, wird es zurückgesetzt!
+
+Note 3: All maps in Fortress Island have penalty, even towns!
+
+
+Note down. To hunt a target you must click the primary mouse button on it. Avoid fighting monsters or citizens much stronger than you. ##BYou will lose experience if you are defeated.##b
+
+
+Note#012-2
+
+
+Note#johanne
+
+
+Note#saxsocave
+
+
+Note: Dustynator is a high level weapon. You might not have enough level to use it yet.
+Hinweis: Dustynator ist ein hohes Maß Waffe. Möglicherweise müssen genug Ebene nicht benutzen noch.
+
+Note: Golden and Silver Eggs are deleted after the next event end.
+Hinweis: Goldene und silberne Eier werden nach dem nächsten Ereignis Ende gelöscht.
+
+Note: Items brewed here will use a Guild Recipe instead!
+Hinweis: Artikel hier gebraut wird ein Guild Rezept verwenden statt!
+
+Note: Items forged here will be guild-bound, but will use player recipes and bonuses!
+Hinweis: hier geschmiedete Einzelteile werden zunft gebunden werden, wird aber Spieler Rezepte und Boni nutzen!
+
+Note: No rares will be given if Golbarez doesn't get enough GP to find the paradise, but Strange Coins will still be given.
+
+
+Note: Onboard, Destructive, Fire, and AoE Magic are NOT allowed.
+Hinweis: Onboard, Destructive, Feuer und AoE Magie sind nicht erlaubt.
+
+Note: Passives and some skills (e.g. Resync) doesn't count.
+
+
+Note: Poll may increase more than total money donated depending on current date.
+
+
+Note: Support skills used on self does not count.
+
+
+Note: The points will NOT be consumed on 2020.
+
+
+Note: This action cannot be undone.
+Hinweis: Diese Aktion kann nicht rückgängig gemacht werden.
+
+Note: This travel takes a whole minute to complete!!
+Hinweis: Diese Reise dauert eine ganze Minute komplett !!
+
+Note: Transfering items on mail cost @@ GP/item
+Hinweis: Übertragung Artikel auf Post Kosten @@ GP / Stück
+
+Note: Unless you were doing something REALLY bad which is harmful to player community (eg. scamming, hacking, DDoS'ing, etc.)
+Hinweis: Wenn Sie etwas wirklich Schlimmes taten, der Spieler-Community schädlich ist (zB scamming, Hacking, DDoS'ing usw.).
+
+Note: You can exchange 1 @@ for 3 @@
+Hinweis: Sie können 1 austauschen @@ 3 @@
+
+Note: You can increase the time by talking to Emma again.
+
+
+Note: You can only perform this operation @@/6 times.
+Hinweis: Sie können nur diesen Vorgang @@ / 6 mal.
+
+Note: You may fail to write skills to it.
+Hinweis: Sie können Schreibfähigkeiten, um es scheitern.
+
+Note: You must have a char on the first slot to leaderboard work. Points are shared accross all chars on your account.
+Hinweis: Sie müssen auf dem ersten Steckplatz Rangliste Arbeit ein Zeichen haben. Die Punkte werden in allen Charts auf Ihrem Konto geteilt.
+
+Note: You won't be able to leave the class later.
+Hinweis: Sie werden die Klasse später nicht verlassen.
+
+Note: You'll be vulnerable for a short while!
+Hinweis: Sie werden für eine kurze anfällig sein, während!
+
+Note: Your party is currently not sharing experience, and will suffer a time penalty. Your time will be halved.
+Hinweis: Ihre Partei ist zur Zeit nicht den Austausch von Erfahrungen und wird eine Zeitstrafe leiden. Ihre Zeit wird halbiert.
+
+Note: some pets still weren't implemented!
+Hinweis: einige Tiere wurden noch nicht implementiert!
+
+Notebook#MKHB
+
+
+Notes:
+Anmerkungen:
+
+Nothing
+Nichts
+
+Nothing I guess
+Nichts denke ich
+
+Nothing at the moment, thanks.
+Nichts im Moment, danke.
+
+Nothing at the moment.
+Nichts im Augenblick.
+
+Nothing for now, thanks.
+Nichts für jetzt, danke.
+
+Nothing happens.
+Nichts passiert.
+
+Nothing important.
+
+
+Nothing right now.
+Nichts im Moment.
+
+Nothing so sublime!
+Nichts ist so erhaben!
+
+Nothing, good bye!
+Nichts, Abschied!
+
+Nothing, sorry!
+Nichts Entschuldigung!
+
+Nothing, sorry.
+Nichts.
+
+Nothing, thanks
+Nichts, danke
+
+Nothing, thanks anyway.
+
+
+Nothing, thanks!
+Nichts, danke!
+
+Nothing, thanks.
+Nichts, danke.
+
+Nothing.
+Nichts.
+
+Nothing. Take care!
+
+
+Notice: If you join the ##BBandits Guild##b now, you WON'T BE ABLE to be a merchant police later!
+
+
+November 1st - November 30th
+1. November-30. November
+
+Novice Dungeon (Lv 40+)
+Anfänger Kerker (Lv) 40+
+
+Novice Exchanger#0
+
+
+Novice Wand
+Novice Wand
+
+Now I can turn in my report to Professor Volrtaw... I should not have stayed behind the classes.
+Jetzt kann ich in meinem Bericht an Professor Volrtaw drehen ... Ich soll nicht hinter den Klassen geblieben.
+
+Now I just drink down my worries and hope for the best.
+Jetzt habe ich nur meine Sorgen und Hoffnung für die beste Getränk nach unten.
+
+Now I need 20 @@, 20 @@ and 60 @@ to finish my research. Easy materials, except for the Shadow Herb.
+Jetzt brauche ich 20 @@ 20 @@ und 60 @@ meine Recherchen zu beenden. Einfache Materialien, mit Ausnahme des Schatten Herb.
+
+Now I travel by the world, composing songs about the things I see.
+Jetzt reise ich durch die Welt, zu komponieren Lieder über die Dinge, die ich zu sehen.
+
+Now I'll be waiting!
+Jetzt werde ich warten!
+
+Now begone.
+begone jetzt.
+
+Now go and save the world or something like that. I mean, it is not like I really cared with the world, anyway... With luck you'll even find what you are looking for.
+
+
+Now go talk to the King.
+Nun gehen Sie reden an den König.
+
+Now go! Lives are at stack!
+
+
+Now go, and fetch the materials again. I'll make another fertilizer for you.
+Nun gehen Sie und holen die wieder Materialien. Ich werde für Sie eine andere Dünger machen.
+
+Now lo and behold... The ultimate... TRANSMUTATION!
+Nun Und siehe da ... Die ultimative ... VERWANDLUNG!
+
+Now please be a good helper, and aid me by bringing:
+Jetzt bitte ein guter Helfer sein und mir helfen, indem:
+
+Now please bring me @@/2 @@, @@/20 @@, @@/30 @@ and @@/70 @@ so I don't need to leave here and start travelling everywhere...
+Jetzt bitte ich bringen @@ / 2 @@ @@ / 20 @@ @@ / 30 @@ und @@ / 70 @@ so dass ich hier nicht verlassen müssen und beginnen überall unterwegs ...
+
+Now stand still... It should not take much time...
+Jetzt bitte still stehen... Es sollte nicht allzulange dauern...
+
+Now that Chief Oskari knows about the sequence of events, the Sage will take care of it. It's really a shame how malicious people can be.
+Nun, da Chef Oskari über die Abfolge der Ereignisse kennt, wird die Sage kümmern sich um sie. Es ist wirklich eine Schande, wie böswillige Menschen sein können.
+
+Now that I've described the spells to you, I'm sure I cast them correctly. But... I think there is a way to have these effects. It's silly though.
+Nun, da ich die Zauber zu Ihnen beschrieben habe, ich bin sicher, ich warf sie richtig. Aber ... Ich denke, es gibt einen Weg, um diese Effekte zu haben. Es ist dumm aber.
+
+Now that you ask....
+Nun, da Sie fragen ....
+
+Now to head inside the caves, until the last floor, and have my showdown and revenge against the Monster King. I do not plan in failing.
+
+
+Now wait for your partner, then talk to me again.#0
+Warte auf deinen Partner und sprich mich dann nochmal an.#0
+
+Now wait for your partner, then talk to me again.#1
+Warte auf deinen Partner und sprich mich dann nochmal an.#1
+
+Now wanders over the land.
+
+
+Now we are no longer useless — we can play music again!
+
+
+Now we can play any songs! Hooray!
+Jetzt können wir alle Songs spielen! Hurra!
+
+Now you must feel homelike already here... take these slippers so your feet stays warm!
+
+
+Now you need to fight monster with the maximum range, you can to do this do these steps in order: lock enemy, Attack, hit, move backwards of one tile, hit, ETC.
+Nun müssen Sie Monster mit der maximalen Reichweite kämpfen, können Sie dies tun, um diese Schritte zu tun, um: lock Feind, Angriff, Hit, bewegen rückwärts von einer Kachel, Hit, ETC.
+
+Now, I'm sure you could find the answer you seek without the trouble of coming here, but anyway. I guess I'll explain you how things work here, first.
+
+
+Now, a simple @@ quest to make you stronger...
+Nun wird eine einfache @@ Quest machen Sie stärker ...
+
+Now, as you gave yourself the trouble of coming here...
+Nun, wie Sie gab sich die Mühe, hierher zu kommen ...
+
+Now, crafting an airship requires a lot of efforts, resources, money and specially time. Fourteen months, to be exact.
+
+
+Now, isn't this lovely? I'll turn it into some pants for %s winter.
+
+
+Now, let's try again.
+Nun lassen Sie uns noch einmal versuchen.
+
+Now, listen closely. Jesusalva desgined most of the quests. And he hates cheaters and liars.
+Nun, genau zuhören. Jesusalva entwickelt die meisten der Aufgaben. Und er hasst Betrüger und Lügner.
+
+Now, listen to me. I know I promised to bring you to the World's Edge.
+Jetzt hör mir zu. Ich weiß, dass ich dir versprochen, an den Rand der Welt zu bringen.
+
+Now, please kill 50 @@, Try to collect some lamps in the same time, they could be useful later.
+
+
+Now, that's unfortunate. I don't think you can hit me from where you are.
+Nun, das ist bedauerlich. Ich glaube nicht, dass Sie von mir treffen können, wo Sie sind.
+
+Now, to find the treasure chest!
+
+
+Now, to wait for Sunday is the most boring part... Alas, I wonder if I'll remember next week, too.
+Nun, für den Sonntag zu warten, ist der langweiligste Teil ... Ach, ich frage mich, ob ich nächste Woche erinnern würde, auch.
+
+Now, we're hot on the trails of whatever is the reason for the town to be so empty. We blocked this road so the town is not overrun by the monsters outside.
+
+
+Now, you'll learn a thief trick! This one allows you to steal drops from monsters! Ka-pow! Amazing!
+Nun, werden Sie einen Dieb Trick lernen! Dieser ermöglicht es Ihnen, Tropfen von Monstern zu stehlen! Ka-Pow! Tolle!
+
+Now, you'll learn a thief trick! What sort of thief loots so much that they get overweight penalty? That's not cool!
+Nun, werden Sie einen Dieb Trick lernen! Was für einen Dieb plündert so sehr, dass sie übergewichtig Strafe bekommen? Das ist nicht cool!
+
+Now, you'll learn an important trick! Stealing is nice, but scamming is even better!
+Nun werden Sie einen wichtigen Trick lernen! Stehlen ist schön, aber scamming ist noch besser!
+
+Nowhere Gluvine
+nirgendwo Gluvine
+
+Nowhere Jeane
+nirgendwo Jeane
+
+Nowhere Man
+Nirgendwo, Mann
+
+Nulity Pixie
+Ungültigkeit Pixie
+
+Nutcracker
+
+
+Nylo
+Nylo
+
+Nylo#Marggo
+
+
+Nymph Poison
+
+
+O.o "That's a lot. Maybe another day."
+
+
+OFF WITH THEIR HEADS!
+
+
+OH MY, PLEASE DON'T!
+OH MY, BITTE NICHT!
+
+OH NOES! The ceiling seems to have collapsed when the chest was open! We are forced to go forward!!
+
+
+OH NOES! The ceiling seems to have collapsed. I hope we got the key, or the quest is over for us!
+
+
+OK, I will get them.
+OK, ich werde sie bekommen.
+
+OMG CANCEL IT!!
+
+
+OMG so cute! This must be the cutest bear you ever seen your whole life.
+
+
+OMG you got all equipment in Moubootaur Legends. You are truly a legend of legends.
+
+
+Oak
+Eiche
+
+Obtain event equipment
+
+
+Ocean Croc
+Ozean-Croc
+
+Ocean Croc Claw
+Ozean Krebs Klaue
+
+Ocean Pirate
+Ozean-Piraten
+
+Of course I hurried there as fast as I could, yelling to wake up everyone, but that caused so much confusion that we fell over each other in the corridor and when we finally reached the library, the slimes were already spread all over the room, eating or exploding the books.
+Natürlich eilte ich dort so schnell wie ich konnte, schreien alle aufwachen, aber das so viel Verwirrung gesorgt, dass wir uns gegenseitig auf dem Flur fiel und als wir endlich die Bibliothek erreichten, wurden die Schleime bereits im ganzen Raum verteilt, essen oder die Bücher explodiert.
+
+Of course I'll help you!
+Natürlich werde ich Ihnen helfen!
+
+Of course it does. And the same level rules applies.
+
+
+Of course! But beware that %s are always in demand!
+
+
+Of course! Quick, take it!!
+Natürlich! Schnell, nehmen Sie es !!
+
+Of course, I actually have two options:
+Natürlich, ich habe eigentlich zwei Möglichkeiten:
+
+Of course, I do charge a nominal fee of for the service. %s GP to be exact.
+
+
+Of course, give me just a minute to look up for your data, @@.
+Natürlich gib mir nur eine Minute für Ihre Daten zu sehen, @@.
+
+Of course, he doesn't likes the fact you're talking to me.
+
+
+Of course, if you don't ask from the Mana Stone for more magic, you will stay on the first degree forever...
+Natürlich, wenn Sie von der Manastein nicht für mehr Magie fragen, werden Sie immer auf dem ersten Grad bleiben ...
+
+Of course, if your problem is only experience, then you should look for %s and other EXP-boosting drinks. Some are sold, some are made, some are dropped, some are... magical...
+
+
+Of course, lag might always be a problem. Remember to drag healing items to the shortcut list too. %%2
+
+
+Of course, some get scholarship in honor of the cause or by notable knowledge and prowess; These are a special group not worth mentioning.
+
+
+Of course, the Savior race is extinct as far as history book concern with.
+
+
+Of course, they are on the left wall, go have a look at them.
+Natürlich, sie sind an der linken Wand, wirf einen Blick darauf.
+
+Of course, we'll find a way to reward you for your efforts.
+
+
+Of course. I bet Elli is the one who cursed you, who started the Great Fire and who put the time lock in place.
+
+
+Of course. The adviser of the Yeti King, for instance, is very friendly.
+Natürlich. Der Berater des Yeti Kings, zum Beispiel, ist sehr freundlich.
+
+Of course: better drinks, more EXP. Just be careful to don't get so drunk that you cannot fight anymore, will ya?
+Natürlich: bessere Getränke, mehr EXP. Nur vorsichtig sein, nicht so betrunken zu tun bekommen, dass Sie nicht mehr kämpfen können, ja?
+
+Off to storage I go.
+
+
+Offer food to it.
+
+
+Offering alcohol to a teddy seems like a ugly thing to do. We should think on something else.
+
+
+Oh dear, oh dear, where could I have possibly left it?!
+Oh je, oh je, wo könnte ich möglicherweise verlassen haben es ?!
+
+Oh hello again. This time I need you to be enrolled here, for this, you need to either get a good rank at the Magic Olympics or by contributing to the world's knowledge. Talk to headmaster if you need help.
+
+
+Oh it's you @@, I did not recognize you with your hat!
+Oh, es ist Sie @@, ich habe dich nicht erkannt mit Ihrem Hut!
+
+Oh it's you @@, I did not recognize you without a hat!
+Oh, es ist Sie @@, ich habe dich nicht erkannt ohne Hut!
+
+Oh look, it is Cupid!
+
+
+Oh my Jesusalva - You broke my lock! Why?!
+Oh mein Jesusalva - Sie brach mein Schloss! Warum?!
+
+Oh my! Did you rent a house or an apartment and now want to brew stuff, like @@ or @@?
+Oh mein! Haben Sie ein Haus oder eine Wohnung mieten und wollen jetzt Sachen brauen, wie @@ oder @@?
+
+Oh my, the great @@ has come to talk to me!
+Oh mein Gott, der große @@ hat zu reden zu mir kommen!
+
+Oh my, you don't seem to be registered as a Monster Hunting Quest Participant. Would you like to register?
+Oh mein Gott, scheinen Sie nicht als Monster Jagd Quest-Teilnehmer registriert zu sein. Möchten Sie sich registrieren?
+
+Oh no! I will miss my bus! Gotta go!
+Ach nein! Ich werde meinen Bus verpasst! Muss gehen!
+
+Oh no! What should we do now?
+Ach nein! Was sollen wir jetzt tun?
+
+Oh no, Benjamin is a city guard, he would never do that. I hope.
+Oh nein, Benjamin ist eine Stadtwache, würde er nie tun. Ich hoffe.
+
+Oh no, I don't have any money on me right now.
+Oh nein, ich habe kein Geld auf mich jetzt.
+
+Oh no, not another stranger she sends me to tell that!
+Oh nein, nicht ein anderer Fremder sie schickt mir das zu sagen!
+
+Oh no... That is wrong! %%3
+
+
+Oh noes ─ the door is sealed! We can only press forward and failure is final!
+
+
+Oh noes! He fainted! Quick, rescue him!!#1
+
+
+Oh noes! She fainted! Quick, rescue her!!#0
+
+
+Oh noes! The door is locked!! Quick! Call a GM!!!
+Oh nein! Die Tür ist verschlossen!! Schnell! Rufen Sie einen GM !!!
+
+Oh noes! The guards locked the door!
+
+
+Oh noes! You've found the Candor control panel!
+Oh nein! Sie haben die Candor Bedienfeld gefunden!
+
+Oh noes! You've found the Halinarzo control panel!
+Oh nein! Sie haben die Halinarzo Bedienfeld gefunden!
+
+Oh noes! You've found the Hurnscald control panel!
+Oh nein! Sie haben die Hurnscald Bedienfeld gefunden!
+
+Oh noes! You've found the Tulimshar control panel!
+Oh nein! Sie haben die Tulimshar Bedienfeld gefunden!
+
+Oh noes, who nows can help my wife? Please reconsider!
+Oh nein, der nows kann meine Frau helfen? Bitte ueberlege es Dir nochmal!
+
+Oh please. Even if you know a trick or two, you don't have real magic.
+
+
+Oh right, I totally forgot about that, here you go.
+Ach ja richtig, das hab ich vollkommen vergessen. HIer bitte.
+
+Oh well, this sucks, but that was only an illusion.
+Na ja, dieses saugt, aber das war nur eine Illusion.
+
+Oh well... That's my mother, and this is why I love her.
+Na ja ... Das ist meine Mutter, und das ist, warum ich sie liebe.
+
+Oh yeah some work is really painful, especially for my back, and I cant bother Woody to do it, he has so many difficulties moving.
+Oh ja einige Arbeit ist wirklich schmerzhaft, besonders für meinen Rücken, und ich kann nicht die Mühe, Woody, es zu tun, er hat so viele Schwierigkeiten bewegen.
+
+Oh yes, here you go, that will be 1 GP.
+Ach ja, hier gehen Sie, dass 1 GP sein wird.
+
+Oh! You found me. Good job!
+Oh! Du hast mich gefunden. Gut gemacht!
+
+Oh, %s, thanks! The tunnels behind me are very hot, this will help if I have to go inside them.
+
+
+Oh, I can't really tell. I'm mostly working in the library, while he's very involved in the research.
+Oh, ich kann nicht wirklich sagen. Ich arbeite hauptsächlich in der Bibliothek, während er in der Forschung sehr beteiligt ist.
+
+Oh, I know who you mean! That impertinent person came over in the workshop area and fiddled about with all kinds of things here! Such a rude person! Didn't he understand that we had delicate things going on here? We had to send him back to the library area several times.
+Oh, ich weiß, wer du meinst! Das unverschämte Person kam im Werkstattbereich über und über mit allen möglichen Dingen hier getüftelt! Eine solche unhöflich Person! Hat er nicht verstehen, dass wir hier delikate Dinge los war? Wir hatten ihn mehrmals zu dem Bibliotheksbereich zurück zu senden.
+
+Oh, I never really thought about that. He was the one who failed the sealing, right? But I heard it's a quite difficult spell, so I suppose this could've happened to any mage. I don't know. Why are you asking such difficult questions?
+Oh, dachte ich nie wirklich darüber. Er war derjenige, der die Dichtung versagt, nicht wahr? Aber ich hat gehört, es ist ein ziemlich schwieriger Zauber, so nehme ich an, dies zu jedem Magier passieren konnte. Ich weiß es nicht. Warum fragen Sie so schwierige Fragen?
+
+Oh, I was wee lad on the beach singing the blub song
+
+
+Oh, I'm just exploring. What can you tell me about this island?
+
+
+Oh, Miler just prepared a %s for you. You can use it... Or give it to Henry in Nivalis Inn, and whisper "The Shadow Tortuga won the race against the Panthom Lord".
+
+
+Oh, Welcome then.
+Oh, Willkommen dann.
+
+Oh, a visitor. Welcome to the city hall. Please, enjoy your stay.
+Oh, ein Besucher. Willkommen in der Stadthalle. Bitte genießen Sie Ihren Aufenthalt.
+
+Oh, and I almost forgot! Do not share passwords or pincodes, not even with staff! And do not use the same password somewhere else, they can be stolen!
+Oh, und ich fast vergessen! Sie keine Passwörter oder Pincodes teilen, nicht einmal mit dem Personal! Und das gleiche Passwort nicht woanders verwenden, können sie gestohlen werden!
+
+Oh, and about the Candor travel for 200 GP... Which would be a rare for little or no gold... Well, that's just an attention grabber.
+Ach ja, und über die Candor Reise für 200 GP ..., die eine seltene für wenig oder kein Gold sein würde ... Nun, das ist nur ein Blickfang.
+
+Oh, and if I perchance catch you using %s or %s... You'll be banned from my game, understood?
+
+
+Oh, and you will need this book too, it will help you learn the basics of fishing.
+Dieses Buch könntest du auch brauchen, es erklärt dir die Grundlagen des Angelns.
+
+Oh, but don't you worry. Sure, you can't go in Nivalis bank and take my stuff... But the Storage Fairy at Lilit might just let you.
+
+
+Oh, but we are affiliated with Jesusalva, whom hates cheaters. So, meet your dismissal!
+Oh, aber wir sind mit Jesusalva verbundene, den Betrügern hasst. So treffen Sie Ihre Entlassung!
+
+Oh, eh, why are you asking me? I've only been here a short while and don't really know all of the people well enough yet.
+Oh, eh, warum fragst du mich? Ich war hier nur eine kurze Zeit und nicht wirklich alle Leute wissen gut genug, um noch.
+
+Oh, every settlement is part of it. Candor, Tulimshar, Hurnscald, Frostia, Halinarzo, Artis, Nivalis...
+
+
+Oh, he has been a little rascal since his father died.
+Oh, er war ein kleiner Racker da sein Vater starb.
+
+Oh, he's still alive!#1
+Er lebt noch!
+
+Oh, hello %s.
+
+
+Oh, hello there! Welcome to the Mana Plane Of Existence!
+
+
+Oh, hello. If I were you I wouldn't go deeper into the library. There are still some of those monsters left. Slipping between the bookshelves.
+Oh Hallo. Wenn ich Sie wäre, würde ich nicht gehen tiefer in die Bibliothek. Es gibt immer noch einige dieser links Monster. Slipping zwischen den Regalen.
+
+Oh, hello. You didn't choose a good time to visit. The library is a total mess. The slimes got out of control and ate most of the books.
+Oh Hallo. Sie haben keine gute Zeit für einen Besuch wählen. Die Bibliothek ist ein totales Durcheinander. Die Schleime bekamen die Kontrolle und aßen die meisten Bücher.
+
+Oh, here the path seems to split. Which way should we go?
+
+
+Oh, hey, welcome back, @@! Thanks for all your help!
+Oh, hey, willkommen zurück, @@! Danke für deine Hilfe!
+
+Oh, hey. Welcome to the library, or what's left of it.
+Oh hallo. Willkommen in der Bibliothek oder das, was davon übrig ist.
+
+Oh, just an empty staff with black powder inside it. Which explodes. And then kills monsters.
+Oh, nur ein leeres Personal mit schwarzem Pulver in seinem Innern. Was explodiert. Und dann tötet Monster.
+
+Oh, just walk on the dock, and you'll be warped there.
+
+
+Oh, please. They're weaker than Maggots. They will only pose a threat if you're unarmed.
+Oh bitte. Sie sind schwächer als Maden. Sie werden nur eine Bedrohung darstellen, wenn Sie unbewaffnet sind.
+
+Oh, several things. It depends a bit on what the scholars consider, and the scholars... well, they change.
+
+
+Oh, she's still alive!#0
+Sie lebt noch!
+
+Oh, thank you! My daughter means a lot to me.
+Oh danke! Meine Tochter bedeutet mir sehr viel.
+
+Oh, thanks, darling; I was starving. Do you need anything?
+
+
+Oh, that's a long story.
+Oh, das ist eine lange Geschichte.
+
+Oh, that's an interesting question. I was really surprised when I heard that he was responsible for the failure. I've worked together with him before, and I have to say, it really was a pleasure. He's very accurate and diligent, but also polite and helpful.
+Oh, das ist eine interessante Frage. Ich war wirklich überrascht, als ich hörte, dass er verantwortlich für das Scheitern. Ich habe vor, mit ihm zusammengearbeitet, und ich muß sagen, es war wirklich ein Vergnügen. Er ist sehr genau und fleißig, aber auch höflich und hilfsbereit.
+
+Oh, the @@ might be a heirloom or something from Braknar family. I dunno who could have it.
+Oh, die @@ könnte ein Erbstück oder etwas aus Braknar Familie sein. Ich weiß nicht, wer es haben könnte.
+
+Oh, then I don't have enough! I'll bring more later!
+Oh, dann habe ich nicht genug! Ich werde später mehr bringen!
+
+Oh, then you should seek the help of an specialist. These curses have an specific condition to break, like leveling up or being killed. Force-breaking them can be difficult.
+Oh, dann sollten Sie die Hilfe eines Spezialisten suchen. Diese Flüche haben einen bestimmten Zustand zu brechen, wie Nivellierung oder getötet zu werden. Kraft brechen sie kann schwierig sein.
+
+Oh, there was such a visitor, yes. Strange guy, and didn't really know how to behave. He sneaked into the workshop area all the time, I think he was rather curious about the things going on there.
+Oh, es war so ein Besucher, ja. Merkwürdiger Typ, und wusste nicht wirklich, wie sie sich verhalten. Er schlich sich in den Werkstattbereich die ganze Zeit, ich glaube, er war eher neugierig auf das, was dort passiert.
+
+Oh, this is so much work... I can't believe they let this happen! You would think they'd be careful when playing around with such powerful forces. Hah! Big mistake!
+Oh, das ist so viel Arbeit ... Ich kann nicht glauben, dass sie geschehen lassen! Sie würden denken, dass sie vorsichtig sein würde, wenn sie um mit einer solchen starken Kräften zu spielen. Hah! Großer Fehler!
+
+Oh, too bad.
+Oh wie schade.
+
+Oh, would you? That'd be great! You see, the slimes ate most of the books and it is difficult to retrieve the bookpages. If you feel capable of this task, you could go out to hunt the Blue and White Slimes, to get the @@ back from them.
+Oh, würden Sie? Das wäre großartig! Sie sehen, aßen die Schleime die meisten Bücher und es ist schwierig, die bookpages abzurufen. Wenn Sie diese Aufgabe fähig fühlen, könnten Sie gehen das Blau und Weiß Schleime zu jagen, die @@ wieder von ihnen zu bekommen.
+
+Oh, yea, you are right, it was a mistake. Bye-bye.
+
+
+Oh, yes. There was such a guy, shortly before the accident I think. He sneaked into the workshop several times, sticking his nose into stuff that shouldn't be his business. We had to send him back to the library area at least three times.
+Oh ja. Es war so ein Typ, kurz vor dem Unfall, denke ich. Er schlich sich in der Werkstatt mehrmals, seine Nase in Sachen stecken, die nicht sein Geschäft sein sollte. Wir hatten ihn mindestens dreimal in der Bibliothek Bereich zurück zu senden.
+
+Oh, you must be from Hurnscald Household, then. Hand me the letter, I'll have it delivered.
+Oh, müssen Sie von Hurnscald Haushalt sein, dann. Gib mir den Brief, ich muss es geliefert.
+
+Oh. And don't mention anyone what I'm researching here. No need to fuss over minor things, don't you agree? It's totally not shaddy. Not shaddy at all!
+Oh. Und nicht erwähnt jemand, was ich hier zu erforschen. Keine Notwendigkeit, sich aufregen über kleinere Dinge, nicht wahr? Es ist absolut nicht shaddy. Mitnichten shaddy!
+
+Oh... Of course! I'll even do this for free!
+Ja natürlich! Ich werde tun dies sogar kostenlos!
+
+Oh... What a bummer. But you've brought the item back, so we're OK.
+Oh ... So ein Mist. Aber Sie haben den Artikel zurück gebracht, so dass wir OK.
+
+Oh... Wow! I'm surprised.
+Oh wow! Ich bin überrascht.
+
+Oh? Just go east of here. Keep going ##Bright##b, go down the stairs, and you'll be at his office already.
+
+
+Ohh Moubi Moubi you are too pink, that my eyes get shrink
+
+
+Ohh! A fingernail aside.
+Ohh! Ein Fingernagel zur Seite.
+
+Ohh, I think I know who you mean. That was a strange guy. He always came over here in the workshop, said he's very interested in the research. I suppose that's ok, but he didn't keep his hands to himself, and touched some experiments and I caught him near some storage racks.
+Ohh, ich glaube, ich weiß, wer du meinst. Das war ein merkwürdiger Typ. Er kam immer hier in der Werkstatt vorbei, sagte er in der Forschung sehr interessiert. Ich nehme an, das ist in Ordnung, aber er nicht halten seine Hände vor sich hin, und berührte einige Experimente und ich fing ihn in der Nähe von einigen Lagergestellen.
+
+Ohhh moubiii
+
+
+Ohhhhh..... Please, help me!!! My wife is gravely wounded!!
+Ohhhhh ..... Bitte helfen Sie mir !!! Meine Frau ist schwer verletzt !!
+
+Ok
+
+
+Ok I add your name... @@...
+Ok, ich füge deinen Namen hinzu... @@...
+
+Ok grandma CYA!
+Ok Oma CYA!
+
+Ok then... Uh... Please excuse me.....
+Ok dann ... Uh ... Bitte entschuldigen Sie mich .....
+
+Ok, I'll be back in no time.
+Ok, ich werde in kürzester Zeit zurück.
+
+Ok, come back me when you want to know the @@ real power!
+Ok, kommen mir zurück, wenn Sie die @@ wirkliche Macht wissen wollen!
+
+Ok, done!
+OK, fertig!
+
+Ok, done.
+Ok, erledigt.
+
+Ok, good trip then.
+Ok, gute Fahrt dann.
+
+Ok, let me see...
+Ok, lass mich mal sehen...
+
+Ok, let's see how many you have and how many I need:
+Ok, mal sehen, wie viele Sie haben und wie viele ich brauche:
+
+Ok, let's stay focused now!
+
+
+Ok, now I want you to purge the cave from maggots. Kill 25 @@. They keep respawning and annoy miners team.
+Ok, jetzt möchte ich Ihnen die Höhle von Maden spülen. Töte 25 @@. Sie halten respawning und nerven Knappen-Team.
+
+Ok, see you later.
+Okay, bis später.
+
+Ok, see you.
+OK bis bald.
+
+Ok, thanks.
+OK danke.
+
+Ok, this will be my last request. The Trainer asked me for a fine weapon, to protect our village.
+Ok, das wird mein letzter Wunsch sein. Der Trainer hat mich gebeten, für eine feine Waffe, unser Dorf zu schützen.
+
+Ok, what I need is:
+Ok, was ich brauche, ist:
+
+Ok, you can see that target over there? I will tell you how strong the wind blows and from which direction. Then you will try to hit the target by moving right or left and decide how powerful you want to shoot.
+Ok, können Sie das Ziel dort sehen? Ich werde Ihnen sagen, wie stark der Wind weht und aus welcher Richtung. Dann werden Sie versuchen, das Ziel zu treffen von rechts oder links zu bewegen und entscheiden, wie stark Sie schießen wollen.
+
+Ok, you look strong enough. Now, let me think on an easy task for you...
+Ok, schauen Sie stark genug. Nun lassen Sie mich Ihnen auf eine einfache Aufgabe denken ...
+
+Ok. Cool life!
+In Ordnung. Kühle Leben!
+
+Ok. You have made great progress. I think you are ready for further tasks.
+In Ordnung. Sie haben große Fortschritte gemacht. Ich glaube, Sie für weitere Aufgaben bereit sind.
+
+Ok...please come back when you aren't busy...
+Ok ... Bitte komm wieder, wenn Sie nicht damit beschäftigt sind ...
+
+Okay then.
+Alles klar.
+
+Okay!
+Okay!
+
+Okay, I'll be back!
+Okay, ich komme wieder!
+
+Okay, bye
+Okay, bye
+
+Okay, bye.
+Okay, bye.
+
+Okay, here is some experience, and forgot what I've said before. We can try again.
+Okay, hier ist einige Erfahrung, und vergessen, was ich vorher gesagt habe. Wir können es erneut versuchen.
+
+Okay, laters
+Okay, laters
+
+Okay, that is very useful. However, I do need a few reagents to make it.
+Okay, das ist sehr nützlich. Allerdings habe ich ein paar Reagenzien müssen, um es zu machen.
+
+Okay, to join an arena, you need the unique password. Leave blank if you don't know.
+Okay, um eine Arena zu kommen, müssen Sie das einmalige Passwort. Leer lassen, wenn Sie nicht wissen.
+
+Okay, which arena will you rent? Cost is @@ GP.
+Okay, welche Arena werden Sie mieten? Die Kosten sind @@ GP.
+
+Okay, you can start!
+Ok, Du kannst anfangen!
+
+Old Paper Patch
+Old Paper-Patch
+
+Old Snake
+Old Snake
+
+Old Towel
+Old Handtuch
+
+Old Well#003-1
+
+
+Old line:
+Alte Zeile:
+
+On a computer, you can press @@ to attack it. On mobile, that would be the big button with the number 1.
+Auf einem Computer, können Sie es drücken @@ angreifen. Auf mobiles, das wäre die große Taste mit der Nummer 1.
+
+On a side note, more defense is always good, but the damage won't decrease on the same rate that defense raises.
+Auf einer Seite zur Kenntnis, ist mehr Verteidigung immer gut, aber der Schaden wird auf der gleichen Geschwindigkeit nicht verringern, dass die Verteidigung erhöht.
+
+On hindsight, I'll wait you get a few levels. Can't have cheaters, ya know!
+Auf Nachhinein werde ich warten Sie ein paar Ebenen erhalten. Kann nicht Betrüger hat, ya know!
+
+On mobile, the DPAD is at your left. Do you see the chest to my right?
+Auf Mobil ist die DPAD auf der linken Seite. Haben Sie die Brust zu meinen Rechten sehen?
+
+On mobile, you would click on the @@ icon!
+Auf mobilen, würden Sie auf dem @@ Symbol klicken!
+
+On my way to get what you need.
+Auf dem Weg zu bekommen, was Sie brauchen.
+
+On second thought, he really could use a bath.
+Am zweiten Gedanken, kann er wirklich ein Bad verwenden.
+
+On the friday, the 14th, an additional hunting field will be open. Talk to Soul Stone to go there :>
+
+
+On the ruins you may find free loot... And on the new town, you may find the sturdiest stuff of all.
+Auf den Ruinen können Sie kostenlos Beute ... Und auf der neuen Stadt finden, können Sie die stabilste Stoff, aus dem alle finden.
+
+On your marks!
+
+
+On your marks...
+
+
+Once broken, they'll lose the link to the magical seal.
+
+
+Once he resumes working confidently, we can go over this important subject.
+Sobald er wieder vertrauensvoll arbeiten, können wir dieses wichtige Thema gehen.
+
+Once inside the BOSS Cave, you get a five minutes time limit to slay the boss with your party.
+Einmal in der BOSS-Höhle, erhalten Sie ein 5 Minuten Zeitlimit den Chef mit Ihrer Partei zu töten.
+
+Once it begins (you can fight against an AI), kill the most of enemy sparks you can, while preventing your own sparks of being killed. Wins whoever has more sparks after %s minutes.
+
+
+Once that is done, the Alliance's staff will set several stands with the most important services you might need, like banking, inside the town central area.
+
+
+Once the fight begins, the barrier at your left will lock. It won't open until the fight is over.
+Sobald der Kampf beginnt, dann sperrt die Barriere auf der linken Seite. Es wird nicht geöffnet, bis der Kampf vorbei ist.
+
+Once the five are once again assembled,
+
+
+Once the quest is started, entrance will be closed.
+
+
+Once the roots are of a desired thickness, he ties them to make a string, and applies an oil on it.
+Sobald die Wurzeln einer gewünschten Dicke sind, fesselt er sie einen String zu machen, und legt ein Öl darauf.
+
+Once their fight was over,
+
+
+Once they get too annoying, I need to kill them... But I think I could put them to rest with the Rest Homunculus skill.
+Sobald sie zu nerven, ich brauche sie zu töten ... Aber ich denke, ich sie mit dem Rest Homunculus Fähigkeit zur Ruhe setzen könnte.
+
+Once upon a time, five mighty heroes emerged;
+
+
+Once used, they will disappear from your inventory.
+Einmal verwendet, werden sie aus dem Inventar verschwinden.
+
+Once you allocate status points, you can fight it! Good luck, @@!
+Sobald Sie Statuspunkte zuordnen, können Sie es kämpfen! Viel Glück, @@!
+
+Once you decide to rescue Cindy, nobody else will be able to enter or leave this room.
+Wenn Sie sich entscheiden Cindy zu retten, sonst niemand in der Lage sein, diesen Raum zu betreten oder zu verlassen.
+
+Once you done so, come back and report the new passcode... Then I'll disclose to you the real mission.
+
+
+Once you have the appropriate colorant for the item, ##bdrag the colorant##b to the material.
+
+
+Once you join the Alliance, you won't be able to talk with people outside it.
+Sobald Sie die Allianz beitreten, werden Sie nicht in der Lage sein, mit Menschen außerhalb davon zu sprechen.
+
+Once you lit one of them, monsters will pour out, so take care to don't die.
+Sobald Sie einen von ihnen leuchten, wird Monster ausgießen, so kümmern sterben nicht.
+
+Once you reach level %d, I'll offer you a life-time opportunity to delete all your levels and experience for your %s rebirth!
+
+
+Once your skill is forgotten, the Magic Skill Points used will be freed.
+Sobald Ihr Geschick vergessen wird, werden die Magic Fähigkeit Punkte verwendet befreit.
+
+One Hand Weapon Recipes
+Eine Handwaffe Rezepte
+
+One claims to be a constable and teach people to sell high and buy low.
+Ein Ansprüche ein Constable und die Menschen lehren, zu teuer verkaufen und kaufen, niedrig zu sein.
+
+One day Dimond D. Stone dreamed of her own restaurant.
+Ein Tag Dimond D. Stein von ihrem eigenen Restaurant geträumt.
+
+One day I saw myself a rich man ♪
+
+
+One day more or less won't make a difference.
+Eines Tages mehr oder weniger wird keinen Unterschied machen.
+
+One day, I was provoked. Others came to my aid,
+Ein Tag wurde ich provoziert. Andere kamen mir zu Hilfe,
+
+One day... One day! ONE DAY I'LL GET REVENGE ON YOU, MONSTER KING!
+Ein Tag ... Ein Tag! Eines Tages werde ich GET REVENGE ON YOU, MONSTER KING!
+
+One hand sword (average)
+
+
+One last question, but this shouldn't be a problem for you.
+Eine letzte Frage, aber das sollte kein Problem für Sie sein.
+
+One last thing to keep in mind... If you are surrounded, you'll suffer an agility and defense penalty.
+Eine letzte Sache im Auge zu behalten ... Wenn Sie umgeben sind, erhalten Sie eine Agilität und Verteidigungs Strafe leiden.
+
+One last thing... Good luck. This is a long shot, so don't hesit in running away.
+Eine letzte Sache ... Viel Glück. Dies ist eine lange gedreht, also nicht hesit in wegzulaufen.
+
+One of the bandits locked this door; We need to find the key!
+
+
+One of the most important jobs on Moubootaur Legends, crafted equipment is much stronger than regular ones. Specially weapons.
+
+
+One of the most powerful chants known is:
+
+
+One of them is really crazy, though: They say that there is a legendary monster down there.
+Einer von ihnen ist wirklich verrückt, aber: Sie sagen, dass es ein legendäres Monster ist da unten.
+
+One of them was a bit odd, they were wearing a mask and had a strange way of talking. They said they came from Frostia, which is an elven town in the north. Elves are usually shy, so I thought it would have been rude to ask them to remove the mask.
+Einer von ihnen war ein wenig seltsam, sie waren das Tragen einer Maske und hatte eine seltsame Art zu reden. Sie sagten, sie aus Frostia kommen, die eine elfische Stadt im Norden ist. Elfen sind in der Regel scheuen, so dachte ich, es unhöflich gewesen wäre, sie zu bitten, die Maske zu entfernen.
+
+Only %s has the key.
+
+
+Only @@ GP.
+Nur @@ GP.
+
+Only Academy Grand Masters may cassate someone.
+
+
+Only Cronqvist Mode yields more points per wave!
+
+
+Only Sponsors are allowed past this area.
+Nur Sponsoren sind vorbei diesem Bereich erlaubt.
+
+Only Tulimshar Guards are allowed in this building.
+Nur Tulimshar Guards sind in diesem Gebäude erlaubt.
+
+Only elves may run to Town Admin Office in Frostia!
+Nur Elfen können zur Stadt Admin Büro in Frostia laufen!
+
+Only finest wares!
+Nur feinste Waren!
+
+Only getting closer to find out what kind this one is.
+Nur immer näher, um herauszufinden, welche Art diese ist.
+
+Only green from @@ will be taken in account.
+Nur grüne von @@ wird in Betracht gezogen werden.
+
+Only items with max %s%% drop rate are accepted!
+
+
+Only magic weapons are allowed, but legendary ones - %s and %s - won't be tolerated.
+
+
+Only melee weapons are permitted for use with this skill.
+Nur Nahkampfwaffen mit dieser Fähigkeit zur Verwendung zugelassen sind.
+
+Only one vouch can be acquired, and you cannot be vouched to Grand Master position. You need to have touched the Mana Stone to participate.
+
+
+Only the Guild Master and the Vice Leaders are capable of starting this quest.
+
+
+Only the finest bows and arrows, in the land where wood is abundant!
+Nur die feinsten Bögen und Pfeile, in dem Land, wo Holz ist reichlich vorhanden!
+
+Only the party from the MVP will get the reward.
+Nur die Partei von der MVP erhält die Belohnung.
+
+Only then we may have peace!!
+Nur dann können wir Frieden haben !!
+
+Only those whom overcome all Candor Challenges shall wield ultimate power.
+
+
+Ooh, many thanks! Lemme just grab something for you...
+
+
+Ooh, this definitely is a Tulimshar item! But I would prefer a box full of these, please.
+
+
+Ooh, this nice shiny thing? It was an event.
+Ooh, dieses schöne glänzende Ding? Es war ein Ereignis.
+
+Oolong Tea
+
+
+Oooh, I see you have a @@ with you.
+Oooh, ich sehe, Sie haben einen @@ mit.
+
+Oooh, I see, I see! So you're working with ##Bthem##b... This is most appreciated.
+
+
+Oooh, many thanks! ^.^
+Oooh, vielen Dank! ^. ^
+
+Oops! Seems like Saulc doesn't wants you messing on his chemistry set!
+Hoppla! Scheint, wie Saulc Sie Unordnung auf seinem Chemie-Set nicht will!
+
+Oops! Seems like Saulc doesn't wants you messing on his raging furnaces!
+Hoppla! Scheint, wie Saulc Sie Unordnung auf seinem rasenden Öfen nicht will!
+
+Oops! You destroyed your %s.
+
+
+Oops, there is nobody known as @@ on this game.
+Oops, gibt es niemand bekannt als @@ auf dieses Spiel.
+
+Open Beta 2019
+Open Beta 2019
+
+Open Fishing Book
+Öffnen Angeln Buch
+
+Open Petcaring Book
+Öffnen Petcaring Buch
+
+Open Recipe Book
+Öffnen Rezept-Buch
+
+Open shop
+
+
+Open storage
+
+
+Open the chest?
+Öffne die Truhe?
+
+Open your inventory window (F3 key) next to the trading window. Select an item you want to offer, and then press the Add button. To add money to the negotiation, enter the amount you will offer and press the Change button.
+Öffnen Sie Ihr Inventar-Fenster (F3-Taste) neben dem Handelsfenster. Wählen Sie ein Element, das Sie anbieten möchten, und drücken Sie dann auf die Schaltfläche Hinzufügen. Um Geld für die Aushandlung hinzuzufügen, geben Sie den Betrag, den Sie anbieten, und drücken Sie die Schaltfläche Ändern.
+
+Opened Christmas Box
+Eröffnet Weihnachten Box
+
+Opera Mask
+Opera Mask
+
+Operation Cost: @@ GP
+Betriebskosten: @@ GP
+
+Operation successful.
+Operation erfolgreich.
+
+Ops, I should not leave this room without talking to the king first.
+Ops, ich soll diesen Raum nicht verlassen, ohne zuvor mit dem König zu sprechen.
+
+Ops, sorry. I was going to the Soul Menhir and entered your house by accident.
+Ops, sorry. Ich wollte die Seele Menhir und in dein Haus gekommen zufällig.
+
+Ops... I hammered this stuff too hard... It's junk now.
+Ops ... ich gehämmert auch dieses Zeug hart ... Es Junk jetzt.
+
+Optional Miniboss
+
+
+Options are %s. Any craftsman can make them. Adventurers tend to be the best craftsman in the world.
+
+
+Or I can swap the @@ with a @@ - for free.
+Oder ich kann die @@ mit einem @@ tauschen - kostenlos.
+
+Or I can swap the @@ with a @@ - for only 2100 GP.
+Oder ich kann die @@ mit einem @@ tauschen - für nur 2100 GP.
+
+Or I could recover the @@ for 10 @@ and the modest fee of 4400 GP.
+Oder ich könnte die @@ 10 @@ und die geringe Gebühr von 4400 GP erholen.
+
+Or make yourself useful by killing some Ducks. They snatch all the Cherry Cake from the Inn and the staff is getting angry at me. It'll serve, too.
+
+
+Or maybe... You want to try again right now? I'll do whatever needed to level you up to less-noobish levels.
+Oder vielleicht ... Sie mögen sich jetzt noch einmal versuchen? Ich werde tun, was erforderlich Sie weniger noobish Ebene Stufe nach oben.
+
+Or rather, I can't. I would love to help you, just like everybody else, but I don't know how to make fertilizers.
+Oder besser gesagt, ich kann nicht. Ich würde gerne, Ihnen helfen, genau wie alle anderen, aber ich weiß nicht, wie Düngemittel zu machen.
+
+Or should we even split ourselves to check all possible ways?
+
+
+Or use our awesome [@@https://tmw2.org/manalauncher/InstallManaLauncher.exe|Mana Launcher@@] if you're on Windows or Linux.
+
+
+Or you can give me an @@, 3 @@ and an @@, and I'll make a gift for you. If you don't have the @@, you can pay 200 GP for it instead.
+Oder Sie können geben Sie mir eine @@, 3 @@ und ein @@, und ich werde ein Geschenk für Sie. Wenn Sie nicht die @@ haben, können Sie 200 GP statt dafür bezahlen.
+
+Orange
+Orange
+
+Orange Cupcake
+Orange Cupcake
+
+Orange Dye
+Orange Dye
+
+Orange Dye? How much does it cost?
+
+
+Orange Eggshell Hat
+Orange Eggshell Hat
+
+Oranye Isles, 257 AT
+
+
+Orbyter Shrine
+Orbyter Schrein
+
+Orc
+Orc
+
+Orc Voice
+Ork-Stimme
+
+Ore Mines
+ore Mines
+
+Oscar
+Oscar
+
+Oskari
+Oskari
+
+Oskari have a good opinion of you. Can you tell what exactly happened?
+Oskari haben eine gute Meinung von Ihnen. Können Sie sagen, was genau passiert ist?
+
+Other
+Sonstiges
+
+Other food can be used as a bait, too.
+Andere Lebensmittel können als Köder auch verwendet werden.
+
+Other than that, you can explore the city as you want, but as you had a memory loss, You should visit the townhall.
+Other than that, können Sie die Stadt erkunden, wie Sie wollen, aber wie Sie einen Gedächtnisverlust hatte, sollten Sie das Rathaus besuchen.
+
+Other things are written but are not legible anymore.
+Auch andere Dinge wurden niedergeschrieben, aber sie sind jetzt nicht mehr lesbar.
+
+Other.
+Andere.
+
+Others scrying you:
+
+
+Others scrying your char data
+
+
+Otherwise, ##BYOU'LL DIE.##b Have a nice day!
+
+
+Otherwise, his enemies might have bested him, but I doubt any Yeti would dare to kill him.
+Andernfalls hätten seine Feinde ihn besiegt, aber ich bezweifle, dass Yeti würde, ihn zu töten wagen.
+
+Otherwise, the monsters here usually won't attack you unless provoked.
+Ansonsten hier die Monster in der Regel werden Sie nicht, es sei denn provozierten Angriff zu nehmen.
+
+Otherwise, you can also obtain a title during the Magic Olympics. They happen every three months in average, and are the hardest way to obtain a title.
+
+
+Otherwise, you could ask the Constable. They act in the Alliance stead to enforce law and order, and may have... special arrangements for you.
+Andernfalls könnten Sie den Constable fragen. Sie wirken in der Allianz Stelle Recht und Ordnung durchzusetzen, und kann ... spezielle Arrangements für Sie.
+
+Ouch! That was kinda reckless!
+Autsch! Das war ein bisschen rücksichtslos!
+
+Ouch! That's heavy!
+Autsch! Das ist schwer!
+
+Ouch, the bucket BITE me!
+Aua, BITE die Eimer mich!
+
+Oui, welcome to this fine shop! My name is Agostine, the legendary tailor!
+Oui, willkommen in diesem feinen Geschäft! Mein Name ist Agostine, der legendäre Schneider!
+
+Our antecessors used to live peacefully in a sanctuary somewhere close to here, but the path was lost. That's why we now live with dwarves.
+
+
+Our clan has moved away from Tulimshar before the Civil War, almost was wiped off during the Great Fire, and when we thought we could finally life in peace, the Mana War and the Monster War broke out in rapid succession.
+
+
+Our dear mayoress may also need help dealing with that maggot infestation.
+
+
+Our plushy friend knows what is really sweet on this life. It likes honey a great deal, and by the way it looks you, it probably wants more.
+
+
+Our service is dangerous and difficult. But I would not want any other. Thanks for the help.
+Unser Service ist gefährlich und schwierig. Aber ich würde nicht andere wollen. Danke für die Hilfe.
+
+Out of Mind
+
+
+Out of Mind mode is only available for Top 3.
+
+
+Out of Stock.
+Nicht vorrättig.
+
+Out of my experience, you are ready to learn magic.
+Aus meiner Erfahrung, sind Sie bereit, Magie zu lernen.
+
+Out of my experience, your base intelligence may not be enough.
+Aus meiner Erfahrung, Ihre Basis Intelligenz kann nicht genug sein.
+
+Out of my experience, your job may not be enough.
+Aus meiner Erfahrung ist es Ihre Aufgabe sein kann, nicht genug.
+
+Out of my experience, your level may not be enough.
+Aus meiner Erfahrung, Ihr Niveau kann nicht genug sein.
+
+Outside towns, there's an EXP penalty if you die.
+
+
+Outstanding. Congratulations.
+Hervorragend. Herzliche Glückwünsche.
+
+Ozthokk, a great sage from the Land Of Fire, holds secrets of time and space travel.
+Ozthokk, ein großer Weiser aus dem Land des Feuers, hält Geheimnisse der Zeit und Raumfahrt.
+
+PARTY AND GUILD friends: Temporaly regen MP faster.
+
+
+PARTY AND GUILD friends: Weapon always deal max damage.
+
+
+PLEASE STORE ALL MY ITEMS
+
+
+PORTABLE LIGHTSABER
+
+
+POWER!
+
+
+POWERFUL GUNSTAFF
+KRAFTVOLL GUNSTAFF
+
+POWERFUL LIGHTSABER
+
+
+PROTIP: Every quest you complete in a location, will make ship travels to and from them cheaper!
+Protip: Jede Quest in einem Ort abgeschlossen ist, wird Schiff fährt zu und von ihnen billiger machen!
+
+PS. Additional reagents may be required for warps.
+PS. Zusätzliche Reagenzien können für Warps erforderlich.
+
+PS. Doesn't always work. You need an account at %s and to be at ManaPlus Team.
+
+
+PS. Due a bug, they won't be displayed when you equip unless you relog.
+PS. Aufgrund eines Fehlers, werden sie nicht angezeigt, wenn Sie auszurüsten, es sei denn Sie Relog.
+
+PS. No equipment restriction
+
+
+PS. The group names still aren't set. You're free to pinch in suggestions at LoF Discord (Legacy #discussion) :>
+
+
+PS. This char will be reset on logout.
+
+
+Pablin
+
+
+Pachua
+Pachua
+
+Painless, wasn't it?
+Painless, war es nicht?
+
+Painting#Saggy
+
+
+Paintings
+Gemälde
+
+Pal, I'm counting on you. You'll like the little something I have for you!
+
+
+Pan#Saggy
+
+
+Panthom Lord
+
+
+Panthom Wisp
+
+
+Pants
+Hose
+
+Pants Recipes
+
+
+Paper
+Papier
+
+Paper Bag
+Papiertüte
+
+Paper! Paper! Get your copy of The Land of Fire Gazette here!
+Papier! Papier! Bestellen Sie Ihr Exemplar von The Land of Fire Gazette hier!
+
+Parcival
+Parcival
+
+Pardon me, I don't remember my parents.
+Pardon, ich erinnere mich nicht meine Eltern.
+
+Pardon me, what is a recipe book?
+Pardon, was ist ein Rezeptbuch?
+
+Participants: Jesusalva * mishana * bObr * demure * LawnCable
+Teilnehmer: Jesusalva * Mishana * BOBR * sittsam * LawnCable
+
+Participants: Povo * Manatauro * Woody
+
+
+Partner not ready.
+Partner nicht bereit.
+
+Party
+
+
+Party Master
+Party-Meister
+
+Party Name: @@
+Parteinamen: @@
+
+Party Quest
+Party-Quest-
+
+Passive MP Regen
+
+
+Password changed with success!
+Das Passwort wird geändert mit Erfolg!
+
+Past due date.
+Fälliger.
+
+Past this checkpoint, is the village where the Monster King was born.
+Vergangenheit dieses Kontrollpunkt ist der Ort, wo das Monster King geboren wurde.
+
+Past this grates, is the Magic Council Room.
+Vergangenheit dieser Roste, ist der magische Ratssaal.
+
+Past this point is the Fortress Island. %s Even so, be careful, the town should not exist.
+
+
+Paxel
+Paxel
+
+Pay
+
+
+Pay attention to #world chat, as this event is managed by players. The Monster Army is also trying to regroup, neglecting it is not advised.
+
+
+Pay attention to the fight, @@!
+Achten Sie auf den Kampf, @@!
+
+Pay attention to the sequence!
+
+
+Pay for her handi-work?
+Lohn für ihre handi-Arbeit?
+
+Pay the tuition fee?
+
+
+Pear
+Birne
+
+Pearl
+Perle
+
+Peetu
+Peetu
+
+Peetu asked me to talk to you about his mishap.
+Peetu hat mich gebeten, Ihnen über seine Panne zu sprechen.
+
+Peetu thinks someone put Silk Cocoon along the ingredients.
+Peetu denkt jemand setzen Silk Cocoon entlang der Zutaten.
+
+Peetu? He is very cautious. It is not like him to make mistakes. After all, he is a elf. Elves are really careful with their jobs.
+Peetu? Er ist sehr vorsichtig. Es ist nicht wie er Fehler zu machen. Schließlich ist er ein Elf. Elfen sind sehr vorsichtig mit ihrer Arbeit.
+
+Peetu? He's one of those magic wielders who think they can do anything. Heh, you see the result here.
+Peetu? Er ist einer jener magischen wielders, die denken, sie etwas tun können. Heh, sehen Sie das Ergebnis hier.
+
+Peetu? I have always been glad to have him on the team. He's really brought forward our work here.
+Peetu? Ich habe immer froh gewesen, ihn im Team zu haben. Er ist wirklich unsere Arbeit hier vorverlegt.
+
+Peetu? I think he's a good guy. Very focused on his work, I think. I don't have that much to do with him, so I can't really tell.
+Peetu? Ich glaube, er ist ein guter Kerl. Sehr auf seine Arbeit konzentrieren, denke ich. Ich habe nicht so viel mit ihm zu tun, so dass ich sagen kann nicht wirklich.
+
+Peetu? That's one of the high rank helpers. As far as I know, he's capable of magic and takes part in some important researches. But I don't really know about those things.
+Peetu? Das ist einer der hohen Rang Helfer. Soweit ich weiß, ist er der Magie fähig und nimmt in einigen wichtigen Untersuchungen teil. Aber ich weiß nicht wirklich über diese Dinge.
+
+Pentagram#FoS_1
+
+
+People are challenging now.
+Die Menschen sind eine Herausforderung jetzt.
+
+People failed to rescue Cindy!
+
+
+People from here always look dumbfolded when they walk past them and find themselves somewhere else.
+Menschen von hier immer dumbfolded aussehen, wenn sie an ihnen vorbei gehen und sich woanders finden.
+
+People from the press always know what is happening in the world. Talk to them to learn about the latest news! - Jerican from the Press
+
+
+People say it is the second biggest city from the world.
+Die Leute sagen, es die zweitgrößte Stadt der Welt ist.
+
+People usually dock there when travelling to the second continent. Nothing exceptional about economy.
+Menschen in der Regel dort andocken, wenn auf den zweiten Kontinent reisen. Nichts Besonderes über Wirtschaft.
+
+People vary greatly in the amount of strength, agility, dexterity, intelligence, vitality and luck.
+Die Menschen sind sehr unterschiedlich in der Menge an Kraft, Beweglichkeit, Geschicklichkeit, Intelligenz, Vitalität und Glück.
+
+Perfect indeed! Congratulations!
+Perfektionieren der Tat! Herzliche Glückwünsche!
+
+Perfect! Here is your reward!
+Perfekt! Hier ist Ihre Belohnung!
+
+Perfect! So now that you swore secrecy, you can help me! Thing is... there was... a %s!
+
+
+Perfect! you have enough Terranite Ore, I will take them for now but I need other items in order to bring them to life.
+Perfekt! Sie haben genug Terranite Ore, ich sie jetzt brauchen, aber ich brauche andere Gegenstände, um sie zum Leben zu erwecken.
+
+Perfect, I knew you were right person for the job.
+
+
+Perhaps that was the last of them?
+Vielleicht war sie das letzte?
+
+Perhaps this has something to do with the factions.
+
+
+Perhaps we should wait a few days.
+
+
+Perhaps you could tell her how much I love her? It is already some days since I last talked to her.
+Vielleicht könnten Sie ihnen sagen, wie sehr ich sie liebe? Es ist schon ein paar Tage her, dass ich mit ihr gesprochen.
+
+Perhaps you have something like that?
+Vielleicht haben Sie so etwas?
+
+Perhaps you may be of assistance later...
+
+
+Perhaps you should use a key to open it.
+Vielleicht sollten Sie einen Schlüssel verwenden, um es zu öffnen.
+
+Perhaps, in the city, someone knows rumors about Mana Stones and can teach you. Other than that, you're on your own.
+Vielleicht, in der Stadt, kennt jemand Gerüchte über Mana Steine ​​und können Sie lehren. Other than that, sind Sie auf eigene Faust.
+
+Perhaps, you could convince Jack to give me the wood, and seek for a fisherman on Halinarzo to give you the string? I won't charge anything.
+Vielleicht könnten Sie Jack überzeugen mich um das Holz zu geben, und suchen für einen Fischer auf Halinarzo Sie die Zeichenfolge geben? Ich werde nichts berechnen.
+
+Personal Feats
+
+
+Personal Records
+
+
+Personally, I like unranked events more than ranked ones...
+
+
+Pet Detective
+Pet Detective
+
+Pet Summary
+
+
+Pet his wonderfully fluffy pelt.
+
+
+Petal
+Blütenblatt
+
+Peter
+Peter
+
+Peter was also looking for strong people to help him to kill other monsters.
+
+
+Pets
+Haustiere
+
+Pets must keep a strict diet. Pious eats Piberries, Bhoppers eat Aquadas, and Maggots eats Bug Legs.
+Die Tiere müssen eine strenge Diät halten. Fromme eats Piberries, Bhoppers essen Aquadas und Maden isst Bug Beine.
+
+Petu? Yeah, he's the kind of person who always wants to do things perfectly. That makes it a bit difficult to work with him, since his expectations for others are as high as for himself.
+Petu? Ja, er ist die Art von Person, die immer will die Dinge perfekt tun. Das macht es ein bisschen schwierig zu arbeiten mit ihm, da seine Erwartungen für andere sind so hoch wie für sich selbst.
+
+Ph.D
+
+
+Phew! The Bandit Lord was killed.
+Puh! Der Bandit Herr wurde getötet.
+
+Phew... We should be safe now. Thanks, %s!
+
+
+Phil
+Phil
+
+Phoenix Rebirth
+Phoenix Rebirth
+
+Photoshopped. Definitely. Good luck convincing somebody with that! %%a
+
+
+Physical Science
+
+
+Physical Science Institute is on the %s area of the campus.
+
+
+Piano#RES_0128
+
+
+Piano#RES_PPL
+
+
+Piberries
+Pibeeren
+
+Piberries Infusion
+Pibeerentee
+
+Pick an item from either storage or inventory and choose what you want to do with it by clicking the right button.
+Wählen Sie ein Element aus jeder Lagerung oder Inventar und wählen, was Sie damit machen wollen, indem Sie die rechte Maustaste klicken.
+
+Pickaxe
+Spitzhacke
+
+Pihro
+Pihro
+
+Pile Of Ash
+Pile Of Ash
+
+PinCode created, an email should arrive within 15 minutes.
+
+
+Pink 4144
+rosa 4144
+
+Pink Antenna
+rosa Antenne
+
+Pink Blobime
+Pink Blobime
+
+Pink Dye
+rosa Dye
+
+Pink Helmet
+rosa Helm
+
+Pinkie
+kleiner Finger
+
+Pinkie Crystal
+
+
+Pinkie Emperor
+
+
+Pinkie Hat
+Pinkie Hat
+
+Pinkie Leg
+Pinkie Leg
+
+Pinkie Maximus
+
+
+Pinkie Suseran
+
+
+Pinkie, pinkie,pinkie, oh how i luvs thee;
+
+
+Pinkie,pinkie,pinkie, your blood runs like wine. ♪
+
+
+Pinkies forever! Oh yeah!
+Pinkies für immer! Oh ja!
+
+Piou
+Piou
+
+Piou Bola
+Piou Bola
+
+Piou Egg
+Piou Egg
+
+Piou Feathers
+Pioufedern
+
+Piou Fields
+Piou Felder
+
+Piou Knight
+
+
+Piou Legs
+Piou Beine
+
+PiouSpwn
+PiouSpwn
+
+Piousse
+Piousse
+
+Pirate Bandana
+Pirate Bandana
+
+Pirate Lord
+
+
+Pirate Shorts
+Piraten-Shorts
+
+Pirate Treasure Chest
+
+
+Pirate Treasure Map
+Piraten-Schatz-Karte
+
+Planted Trees: %s
+Gepflanzte Bäume:% s
+
+Platinum Four-Leaf Amulet
+Platin Vier-Blatt-Amulett
+
+Platinum Ingot
+Platinbarren
+
+Platinum Ore
+Platinerz
+
+Platinum Ore -> Iridium Ore
+Platinerz -> Iridium Ore
+
+Platinum Quiver
+Platinum Quiver
+
+Platinum Red Queen
+
+
+Player must be online for the operation to finish.
+
+
+Players Killed in PvP: %s
+Spieler im PvP getötet:% s
+
+Players failed to defend the city!!
+
+
+Playtesting
+
+
+Please accept this @@ as a gratitude for your time.
+Bitte nehmen Sie diese @@ als Dank für Ihre Zeit.
+
+Please accept this reward from my part. And if anything else happens again, I'll leave the doors open for you and your guild.
+
+
+Please be a pal and help me! I'll be in a dire situation if you don't! Besides, you also want the extra credit, so it is a win-win situation!
+
+
+Please be careful when fighting. A mighty warrior such as yourself can harm their allies with any AoE effects they may use.
+
+
+Please be patient and
+Bitte haben Sie Geduld und
+
+Please bring me *hic*... Bring me @@ @@!
+Bitte bringen Sie mir * hicks * ... Bring mir @@ @@!
+
+Please bring me a single @@ and @@ GP, and I'll give you a memeto.
+Bitte bringen Sie mir einen einzigen @@ und @@ GP, und ich werde Ihnen eine memeto geben.
+
+Please bring me that or I won't be able to make something really special for you.
+Bitte bringen Sie mir das, oder ich werde nicht in der Lage sein, etwas ganz Besonderes für Sie zu machen.
+
+Please bring us 5 @@! That should be enough!
+Bitte bringen Sie uns 5 @@! Das sollte genug sein!
+
+Please choose the desired gender:
+Bitte wähle das gewünschte Geschlecht:
+
+Please come back later to know how things are going.
+Bitte kommen Sie später wieder zu wissen, wie die Dinge laufen.
+
+Please contact a GM as soon as possible so we can make out a compromise. You should be liberated even if found guilty.
+Bitte kontaktieren Sie einen GM so schnell wie möglich, so dass wir einen Kompromiss machen können. Sie sollten auch schuldig, wenn gefunden werden befreit.
+
+Please deliver the two @@ to Tinris and Eomie, and then I'll give you something for your help.
+Bitte liefern die zwei @@ zu Tinris und Eomie, und dann werde ich Sie etwas für Ihre Hilfe geben.
+
+Please do, my friend.
+Bitte tun, mein Freund.
+
+Please doing business with you.
+
+
+Please don't bore me even more... That's clearly not everything.
+Bitte verwenden Sie langweilen mich nicht noch mehr ... Das ist eindeutig nicht alles.
+
+Please don't disturb me, I'm busy crafting my own customized power mega blaster weapon. I just keep failing to apply +100% exp gain bonus on it!
+Bitte nicht stören mich nicht, ich bin beschäftigt meine eigene kundenspezifische Strom Mega Blaster Waffe anfertigt. Ich halte andernfalls nur auf es + 100% exp Gewinn Bonus bewerben!
+
+Please don't lie to me...
+Bitte lüg mich nicht an ...
+
+Please don't mind the mess, there are slimes everywhere, thanks to Peetu.
+Bitte nicht dagegen, das Chaos, es gibt Schleime überall, dank Peetu.
+
+Please don't sound like I was some sort of vampire or something...
+Bitte nicht klingen, wie ich eine Art von Vampir oder so etwas ...
+
+Please don't use this function in future!
+
+
+Please enter the desired color
+Bitte gib die gewünschte Farbe ein
+
+Please enter the desired race
+Bitte gib die gewünschte Rasse ein
+
+Please enter the desired style
+Bitte gib den gewünschten Schnitt ein
+
+Please enter the message:
+Bitte gib die Nachricht ein:
+
+Please enter the new line.
+Bitte gib die neue Zeile ein.
+
+Please excuse me, Blue Sage Nikolai.
+Bitte entschuldigen Sie, Blue Sage Nikolai.
+
+Please excuse me, captain.
+Bitte entschuldigen Sie mich, Kapitän.
+
+Please find her and don't worry with me! And be careful!
+Bitte finden sie und sorgen Sie sich nicht mit mir! Und sei vorsichtig!
+
+Please find my lovely daughter!
+Bitte finden meine schöne Tochter!
+
+Please get me out of here!
+Bitte hol mich hier raus!
+
+Please get moving, @@. I do not mean any harm to you.
+Bitte setzen Sie sich bewegen, @@. Ich meine nicht schaden Sie.
+
+Please have a look, I have what you asked
+Bitte haben Sie einen Blick, ich habe, was Sie gefragt
+
+Please heal me!
+Bitte heile mich!
+
+Please help me find the bug bomb Eomie gave us is in one of the store room barrels?
+Bitte helfen Sie mir den Fehler Bombe finden Eomie hat uns in einem der Lagerraum Fässer ist?
+
+Please help my wards!
+Bitte helfen Sie meine Stationen!
+
+Please help my wife Yumi, on the Hospital!
+Bitte helfen Sie meine Frau Yumi, im Krankenhaus!
+
+Please help us with the bandits on the Canyon, and meanwhile, I'll seek the records for you. Just @@ more.
+Bitte helfen Sie uns mit den Banditen auf den Canyon, und in der Zwischenzeit, ich werde die Aufzeichnungen für die Sie suchen. Einfach mehr.
+
+Please insert player name to cancel exile.
+
+
+Please insert player name to exile.
+
+
+Please insert your Discord ID, on the following format:
+Bitte geben Sie Ihre Discord ID, auf folgendes Format:
+
+Please insert your pincode.
+Bitte geben Sie Ihre PIN-Code.
+
+Please install the new client from [@@https://manaplus.org/|https://manaplus.org/@@]
+Bitte installieren Sie den neuen Client von [@@ https: //manaplus.org/ | https: //manaplus.org/@@]
+
+Please invite Elmo for the party, matey! We can't leave our positions!
+Bitte laden Elmo für die Partei, kameradschaftlich! Wir können nicht unsere Positionen verlassen!
+
+Please kill @@/@@ @@ for us and make the world a safer place!
+Bitte tötet @@ / @@ @@ für uns und die Welt zu einem sichereren Ort!
+
+Please kill some of them, and bring me 10 @@!
+Bitte tötet einige von ihnen, und bringt mir 10 @@!
+
+Please login right after, and this error should not happen again.
+Bitte Login direkt nach, und dieser Fehler soll nicht wieder vorkommen.
+
+Please note unless you have Magic Powers, obtained from the Mana Seed, all you will be able to learn are small tricks, so please make a wise choice.
+Bitte beachten Sie, wenn Sie magische Kräfte haben, aus dem Mana Seed erhalten, alle können Sie sind kleine Tricks lernen, so wenden Sie sich bitte eine kluge Wahl treffen.
+
+Please pray a bit with us!
+Bitte beten Sie ein bisschen mit uns!
+
+Please prove your statement.
+
+
+Please select a chapter:
+Wähle ein Kapitel aus:
+
+Please select a quest:
+Bitte wähle eine Quest:
+
+Please select a trait.
+
+
+Please select an action
+
+
+Please select quest difficulty.
+
+
+Please select target dungeon:
+Bitte wählen Sie Ziel Kerker:
+
+Please select the Guild Position you want to change.
+Bitte wählen Sie die Guild Position Sie ändern möchten.
+
+Please select the desired race.
+Bitte wählen Sie die gewünschte Rasse.
+
+Please select the interval:
+Bitte wähle das Intervall:
+
+Please select the item you plan in tweaking.
+
+
+Please select the level I should use.
+
+
+Please select the weapon to transfer.
+Bitte wählen Sie die Waffe zu übertragen.
+
+Please select where you left off on Main Quest.
+
+
+Please spare me. I'm gravely wounded. I'm innocent, I swear!
+Bitte verschone mich. Ich bin schwer verwundet. Ich bin unschuldig, ich schwöre!
+
+Please spend responsibly. You still need to pay Nard for a ship travel and there's only so much money you can find on a small island like Candor.
+
+
+Please talk to my wife first, she knows more about the situation than I do.
+Bitte sprechen Sie mit meiner Frau zuerst, weiß, dass sie mehr über die Situation, als ich.
+
+Please talk with this workshop's Chief before talking to me.
+Bitte mit diesem Workshop Chief sprechen, bevor mit mir zu reden.
+
+Please tell Peetu I do not plan in firing him, it should calm him down. And please carry out an investigation, don't disrupt my work until you're done.
+Bitte sagen Sie Peetu ich nicht Plan, ihn in Brand, sollte es ihn beruhigen. Und bitte eine Untersuchung durchführen, nicht stören meine Arbeit, bis Sie fertig sind.
+
+Please tell everyone I am a rogue person who likes to break rules!
+Bitte sagen Sie jeder, ich bin ein Schelm Person, die Regeln brechen mag!
+
+Please tell me calmly what happened so I can help.
+Bitte sagen Sie mir ruhig, was passiert ist, damit ich helfen kann.
+
+Please tell my mom I love her!
+Bitte sagen Sie meine Mutter, ich liebe sie!
+
+Please traveler, help my starving family!
+Bitte Reisenden, helfen meine hungernden Familie!
+
+Please try again later!
+Bitte versuchen Sie es später noch einmal!
+
+Please type a password for your Arena, it must be unique.
+Bitte geben Sie ein Passwort für Ihre Arena, muss es eindeutig sein.
+
+Please unequip your %s first.
+
+
+Please wait %s before trying again.
+
+
+Please wait 60 seconds to cast again.
+
+
+Please wait a while.
+
+
+Please wait here a short while.
+Bitte warten Sie hier eine kurze Weile.
+
+Please wait here on the meanwhile. Try asking Estard about parties, or talk to Eistein.
+Bitte warten Sie hier auf der Zwischenzeit. Versuchen Sie Estard über Parteien zu fragen, oder Einstein sprechen.
+
+Please wait, the fight will start in @@, as requested.
+Bitte warten, beginnt der Kampf in @@, wie gewünscht.
+
+Please write how much in percent is EXP Tax for member (range: 0~50)
+Bitte schreiben Sie, wie viel in Prozent ist EXP Steuer für Mitglied (Bereich: 0 ~ 50)
+
+Please, @@! Hurry up!
+Bitte, @@! Beeile dich!
+
+Please, bring me back home.
+Bitte bringen Sie mich wieder nach Hause.
+
+Please, come back later. I'll see whatever I can fetch for that.
+Bitte komme später zurück. Ich werde sehen, was ich für das holen kann.
+
+Please, don't say I got fat. I DON'T WANNA HEAR IT FROM YOU, WAS I CLEAR?
+Bitte, sagen Sie nicht, dass ich dick geworden. Ich will nicht zu hören von Ihnen ICH WAR KLAR?
+
+Please, enjoy the show! There are some people upstairs, too.
+Bitte genießen Sie die Show! Es gibt einige Leute oben, auch.
+
+Please, help my precious! Save her! Oh, my precious Cindy...
+Bitte, helfen Sie mein kostbares! Rette sie! Oh, meine kostbare Cindy ...
+
+Please, keep it. I don't need it at all!
+Bitte, behalte es. Ich brauche es gar nicht!
+
+Please, show Hasan the claw. Just talk to him.
+Bitte zeigen Hasan die Klaue. Sprich einfach mit ihm.
+
+Please, talk to her. Maybe she understands the direness of the situation and help... But you know. Elves.
+Bitte sprechen Sie mit ihr. Vielleicht versteht sie die Tiefe der Situation und Hilfe ... Aber Sie wissen. Elfen.
+
+Please... Speak low... I am dying........
+Bitte ... Speak Low ... Ich sterbe ........
+
+Pleased to meet you. What brings you down here?
+Schön Sie zu treffen. Was bringt Sie hier unten?
+
+Pleasure doing business with you! Do you want any more?
+
+
+Pledge for Barbara's innocence?
+Pfand für Barbara Unschuld?
+
+Plop dead in the ground. Enemies won't attack you this way.
+
+
+Plum
+Pflaume
+
+Plush Mouboo
+Plüsch Mouboo
+
+Plushroom
+Plushroom
+
+Plushroom Box
+Plushroomkiste
+
+Plushroom Field
+Plushroom Feld
+
+Poison
+Gift
+
+Poison Ammo Box
+Gift Munitionsbox
+
+Poison Arrow
+Vergifteter Pfeil
+
+Poison Arrows
+Vergiftete Pfeile
+
+Poison Fairy
+Gift-Fee
+
+Poison Spiky Mushroom
+Gift Spiky Mushroom
+
+Poisoned Dish
+Vergiftetes Gericht
+
+Poke him
+
+
+Polished Amethyst
+Polierter Amethyst
+
+Polished Diamond
+Polierter Diamant
+
+Polished Emerald
+Polierter Smaragd
+
+Polished Ruby
+Polierter Rubin
+
+Polished Sapphire
+Polierter Saphir
+
+Polished Topaz
+Polierter Topas
+
+Polished gemstones can be dragged and insert on rings. They'll give special stats to rings, but these gems cannot be removed easily.
+Polierte Edelsteine ​​können auf Ringe gezogen und einsetzen werden. Sie geben spezielle Statistiken zu Ringe, aber diese Edelsteine ​​können nicht einfach entfernt werden.
+
+Pollet
+Pollet
+
+Poocandy
+Poocandy
+
+Pooh
+
+
+Pookie Card
+Pookie-Karte
+
+Poor teddy, not even a pretty music can comfort him for long. What can we do now?
+
+
+Portable Apocalypse
+
+
+Portal#_M
+
+
+Potatoz
+Potatoz
+
+Potentially more destructive warp systems will have much longer cooldowns because they cause bigger holes in timespace.
+Potenziell zerstörerische Kettsystemen viel länger Abklingzeiten haben, weil sie größere Löcher in Zeit und Raum führen.
+
+Potion based technology will vanish upon use and usually don't interfer with other technologies. Usually.
+Potion basierte Technologie wird bei der Anwendung verschwinden und in der Regel nicht interfer mit anderen Technologien. In der Regel.
+
+Potions#MKHB
+
+
+Pour the potion
+Gießen den Trank
+
+Power Card
+Power Card
+
+Power Card S
+
+
+Power Card X
+
+
+Power in the wrong hands is nothing but a burden and a reason for others to cry. That's exactly what I don't want in this town.
+Macht in den falschen Händen ist nichts anderes als eine Last und ein Grund für die andere zu weinen. Das ist genau das, was ich nicht in dieser Stadt will.
+
+Power is a double-edged sword. I, Fefe, tried to use it for good, to free the world from Raid's tyranny, and instead, it brought forth the Monster King.
+
+
+Power remaining: %s
+
+
+Powerful Gunstaff
+
+
+Powerful Lightsaber
+
+
+Powerful magic repels you away from this magic place!
+Mächtige Magie abstößt Sie weg von diesem magischen Ort!
+
+Powerful magic repels you!
+
+
+Practice! There are no secrets to becoming a warrior.
+Ãœbung macht den Meister! Es gibt keine Geheimnisse beim Kriegerhandwerk.
+
+Pre-requisites not met!
+
+
+Precision Potion
+Precision Potion
+
+Present Box
+Geschenkbox
+
+Press the 'R' key to ignore or accept business proposals. You and the other citizen who want to negotiate need to be in the configuration that accepts negotiations. if your configuration is 'Ignoring business proposals', then you will not receive the warning from any citizen wanting to negotiate with you, and you will not be able to initiate negotiations.
+Drücken Sie die Taste ‚R‘ zu ignorieren oder Geschäftsvorschläge zu akzeptieren. Sie und die anderen Bürger, der verhandeln müssen wollen in der Konfiguration, die Verhandlungen akzeptiert. wenn Ihre Konfiguration ‚Ignorieren Geschäftsvorschläge‘ ist, dann werden Sie die Warnung nicht von jedem Bürger erhalten wollen, mit Ihnen zu verhandeln, und Sie werden keine Verhandlungen einleiten Lage sein.
+
+Press the doorbell?
+Drücken Sie die Tür?
+
+Pretty cool! I am interested!
+Ziemlich cool! Ich bin interessiert!
+
+Prism Chest
+Prism Chest
+
+Prism Gift
+Prism Geschenk
+
+Prizes
+Preise
+
+Prizes:
+Preise:
+
+Probably.
+Wahrscheinlich.
+
+Problem is, I do not have the knowledge to make it without @@. If you bring me one, I'll reward you with one quarter of my commission.
+Das Problem ist, ich habe nicht das Wissen haben, um es ohne @@. Wenn Sie mir eine bringen, werde ich Sie mit einem Viertel meiner Provision belohnen.
+
+Produced item:
+Produzierte Artikel:
+
+Professor
+Professor
+
+Professor#003-0
+
+
+Progress on this server may be %s.
+
+
+Prologue
+Prolog
+
+Protip
+
+
+Protip 2: Drop rates are low. Try other quests while you slay mobs for this one.
+Protip 2: Tropfen Raten niedrig sind. Versuchen Sie, andere Aufgaben, während Sie Mobs für diesen einen töten.
+
+Protip 2: If you fell stuck, ask at #world, even if nobody is online. Who knows, someone on Discord or IRC might reply!
+
+
+Protip: @@ are dropped by @@. That monster helps each other, so don't attack when they are in packs.
+Protip: @@ werden durch @@ gesunken. Das Monster ihnen hilft, so nicht angreifen, wenn sie in Packungen sind.
+
+Protip: @@ can be found from @@ and @@. For the later one, ask Lua for strategies.
+Protip: @@ aus gefunden werden @@ und @@. Für die später ein, fragt Lua für Strategien.
+
+Protip: @@ is dropped by @@. It is a tough monster, you might need some strategy to kill it. @@ can be bought in shops.
+Protip: @@ wird durch @@ gesunken. Es ist ein hartes Monster, könnten Sie etwas Strategie, es zu töten müssen. @@ können in Geschäften gekauft werden.
+
+Protip: All quests expire at 00:00 server time, be sure to finish AND report back before that!
+Protip: Alle Quests um 00:00 Uhr Serverzeit abläuft, sollten Sie vorher beenden und Bericht zurück!
+
+Protip: Arkim is in a cave southeast of here and is an hermit.
+Protip: Arkim ist in einer Höhle südöstlich von hier und ist ein Einsiedler.
+
+Protip: If you plan in selling it, it's adviseable to ask for GM mediation.
+Protip: Wenn Sie in den Verkauf es zu planen, ist es ratsam, für GM Vermittlung zu bitten.
+
+Protip: You can get @@ from shops. Cotton is rumored to be magical, keep this is mind.
+Protip: Sie können @@ von den Geschäften bekommen. Baumwolle wird gemunkelt, magisch zu sein, halten diesen Geist ist.
+
+Protip: You can trade the cards, but only before inserting them.
+
+
+Protip: You need an @@ full of water to get a reply from guards.
+Protip: Sie benötigen eine @@ voll Wasser eine Antwort von Wachen zu bekommen.
+
+Protip: You need level %d or higher to do this quest.
+
+
+Protip: You skipped tutorial. A lot of tutorial-ish dialogs and quests will be skipped. You can change this anytime on %s > Game Settings.
+
+
+Protip: Your current progress will be saved.
+Protip: Ihr werden aktuelle Fortschritte gespeichert werden.
+
+Proud owner of %s the %s.
+
+
+Proud owner of %s the Homunculus.
+
+
+Provoke
+Provozieren
+
+Provoke a single monster to attack you.
+
+
+Provokes all monsters around the target, and the target itself.
+
+
+Prsm Helmet
+PRSM Helmet
+
+Psi Conscience
+psi Conscience
+
+Psst.
+
+
+Pull it
+Zieh es
+
+Pull the switch?
+Ziehen Sie den Schalter?
+
+Pulsar outranks ancient, Miere outranks pulsar, and Immortal might be the strongest of all. Or not.
+
+
+Pumpkandy
+Pumpkandy
+
+Pumpkandy Seed
+Pumpkandy Seed
+
+Pumpkin
+Kürbis
+
+Pumpkin Hat
+Kürbishut
+
+Pumpkin Juice
+Kürbissaft
+
+Pumpkin Lollipop
+Kürbis-Lutscher
+
+Pumpkin Seed
+Kürbiskerne
+
+Pumpkish Juice
+Pumpkish Saft
+
+Puny mortal, do your best to entertain me! Curse!
+
+
+Purchase %02d %s for %d GP?
+
+
+Purchase successful!
+Erwerben Sie erfolgreich!
+
+Purchasing points
+
+
+Purification Potion
+
+
+Purple Blobime
+Lila Blobime
+
+Purple Bola
+lila Bola
+
+Purple Dye
+Lila Farbe
+
+Purple Wizard
+
+
+Put it out
+
+
+Pydisgner#spoints
+
+
+Pylon
+Pylon
+
+Pyndragon
+Pyndragon
+
+Pyndragon said he'll craft a @@ to whoever reduces them to dust. Interested?
+Pyndragon sagte er zu einem @@ Handwerk würde jeden, den sie zu Staub reduziert. Interessiert?
+
+Pyry
+Pyry
+
+Queen Of Dragons: It is dangerous to go out alone, I'll raise your evasion and life!
+Queen Of Dragons: Es ist gefährlich, allein zu gehen, ich werde deine Flucht und Leben erwecken!
+
+Quest - Find all Keys
+
+
+Quest - Mark as Completed
+
+
+Quest - Skip Krukan fight
+
+
+Quest - Skip Weapons Room
+
+
+Quest - Unlock Boss Room
+
+
+Quest @@ modified by GM
+Quest @@ modifiziert durch GM
+
+Quest Tip
+Quest-Tipp
+
+Quest complete: Congratulations!
+
+
+Quest completed.
+Quest abgeschlossen.
+
+Quest debug
+Quest Debug
+
+Quest restart.
+Quest neu starten.
+
+Quests.
+Quests.
+
+Quick, battle position! They'll strike! I'll help you a tiny bit!
+
+
+Quick, deliver this to Anwar!
+Schnell, liefern diese zu Anwar!
+
+Quick, tell that to Eomie. She knows how to do Bug Bombs which won't harm the plants!
+Schnell, sagen, dass zu Eomie. Sie weiß, wie Bug Bomben zu tun, die nicht die Pflanzen schädigen!
+
+Quill
+Feder
+
+Quirin
+Quirin
+
+Quirin Voraz
+
+
+Quit
+Beenden
+
+Quite benevolent, they are. Nard likes to help anyone who works hard. Anyway, there was something important I needed to say.
+Ganz gütigen, sie sind. Nard gerne Hilfe jeder, der hart arbeitet. Wie auch immer, war es etwas Wichtiges zu sagen, ich brauchte.
+
+Quite interesting, quite interesting indeed.
+Ganz interessant, ganz in der Tat interessant.
+
+Quite the guts! The price is taxed individually, if you run out of GP it is your loss.
+Ganz der Mut! Der Preis wird individuell besteuert, wenn Sie laufen von GP es Ihr Verlust ist.
+
+Quivers
+Quivers
+
+RACE FAILED.
+
+
+RAPID GUNSTAFF
+RAPID GUNSTAFF
+
+REMEMBER: FAILURE AT A BOSS FIGHT WILL CAUSE QUEST TO RESET!
+ERINNERUNG: AUSFALL AT A BOSS Kampf wird QUEST ZU RESET Ursache!
+
+REMINDER: You do not need to kill anything, you need to ##BSURVIVE##b!
+
+
+REVENGE TIME!
+REVENGE ZEIT!
+
+RMG
+
+
+RMG+Playtest
+
+
+ROGUE YETI SLAYING REQUEST
+ROGUE YETI TÖTUNG REQUEST
+
+Race
+Rasse
+
+Raid Trousers
+Raid-Hose
+
+Raid and me have been in hot pursuit for a while, but I fear it is already too late. Yesterday there was another earthquake, and we're receiving summons to return to Tulimshar at once. Apparently, it is under attack.
+
+
+Raid might be great. Saul might be popular. SphinxNox might be an annoying brat. But I'm, or rather, will soon be... @@.
+Raid könnte groß sein. Saul könnte populär sein. SphinxNox könnte eine lästige Göre sein. Aber ich bin, oder besser gesagt, wird bald ... @@.
+
+Raify
+
+
+Raijin
+Raijin
+
+Raise agility to do this quest.
+Raise Agilität diese Quest zu tun.
+
+Raise city taxes
+Raise Kurtaxen
+
+Raise damage of next skill.
+
+
+Raise max members
+Heben max Mitglieder
+
+Raise server wide EXP
+
+
+Raise vitality to be able to drink even more.
+Raise Vitalität in der Lage noch mehr zu trinken.
+
+Raising Taxes
+Die Anhebung von Steuern
+
+Raising this skill will allow to recruit 4 more members.
+diese Fähigkeit Anhebung erlaubt 4 weitere Mitglieder zu werben.
+
+Rakinorf, Mayor
+Rakinorf, Bürgermeister
+
+Random Bif
+zufällige Bif
+
+Random movement and extra desync
+
+
+Rapid Gunstaff
+
+
+Rare Drops:
+Rare Drops:
+
+Rare Mines
+Rare Mines
+
+Rasin
+Rasin
+
+Ratte
+ratte
+
+Ratto
+Ratto
+
+Ratto Tail
+Ratto Schwanz
+
+Ratto Teeth
+Ratto Zähne
+
+Rattos are very fast. They walk fast and attack fast. I advise bringing some healing items!
+Rattos sind sehr schnell. sie laufen schnell und greifen auch schnell an. ich rate dir ein paar Heil-Gegenstände mitzubringen!
+
+RattosControl
+RattoController
+
+Raw Log
+Raw Log
+
+Raw Talisman
+Raw Talisman
+
+Re-casting the same magic spell or skill won't give you magic experience.
+
+
+Re-ref... Reflect.
+Re-ref ... Gelegt.
+
+Reach level @@ to unlock this tier!
+Erreicht Stufe @@ dieses Tier zu entsperren!
+
+Read Rules
+lesen Sie Regeln
+
+Read the News.
+Nachrichten lesen.
+
+Read the Rules.
+Lese die Regeln.
+
+Read the instructions carefully.
+Lesen Sie die Anweisungen sorgfältig.
+
+Read the last 30 days %s
+
+
+Read the tutorial again?
+Lesen Sie noch einmal das Tutorial?
+
+Read tutorial again?
+
+
+Ready...
+
+
+Reagents & Other Potions
+
+
+Real Bronze Gladius
+Echte Bronze Gladius
+
+Really attack the Mouboo with a(n) @@?
+Wirklich greifen die Mouboo mit einem (n) @@?
+
+Really begin the Doppelganger Challenge?
+Wirklich beginnen, die Doppelgänger Herausforderung?
+
+Really deploy your homunculus?
+Wirklich Ihre Homunkulus bereitstellen?
+
+Really give a %s to Jhon?
+
+
+Really give the %s to %s?
+
+
+Really give your %s to the teddy?
+
+
+Really give your @@ to Baktar?
+gibt wirklich Ihre @@ zu Baktar?
+
+Really give your @@ to the Mouboo?
+Wirklich geben Sie Ihre @@ zum Mouboo?
+
+Really interesting, how I am NOT seeing the items I asked for...
+Wirklich interessant, wie ich bin nicht die Einzelteile zu sehen, ich fragte nach ...
+
+Really kill Barbara?
+Wirklich Barbara töten?
+
+Really learn this skill?
+
+
+Really melt down all your @@? It'll cost you @@ GP each. This action cannot be undone!
+Wirklich schmelzen Sie alle Ihre @@? Es wird kostet Sie @@ jeden GP. Diese Aktion kann nicht rückgängig gemacht werden!
+
+Really melt down your @@? It'll cost you @@ GP. This action cannot be undone!
+Wirklich schmelzen Sie Ihre @@? Es kostet Sie @@ GP. Diese Aktion kann nicht rückgängig gemacht werden!
+
+Really resign?
+Wirklich zurücktreten?
+
+Really try to tweak this item? All current options will be deleted.
+Wirklich versuchen, diese Funktion zu optimieren? Alle aktuellen Optionen werden gelöscht.
+
+Really? That would be great!
+"Ja wirklich?" Das wäre großartig!
+
+Really? What do you need?
+"Ja wirklich?" Was brauchst du?
+
+Really? Where are you from?
+"Ja wirklich?" Wo kommen Sie her?
+
+Reaper
+Sensenmann
+
+Rebirth
+Wiedergeburt
+
+Rebirth Race Selection
+
+
+Rebirth Season
+
+
+Rebirth Trait Selection
+
+
+Rebirth is free. Here are the perks you'll get by doing the rebirth:
+Wiedergeburt ist frei. Hier sind die Vergünstigungen Sie, indem Sie die Wiedergeburt bekommen:
+
+Recall
+Erinnern
+
+Receive Chocolate
+Erhalten Sie Schokolade
+
+Received @@ @@!
+Empfangen @@ @@!
+
+Recepcionist#TInn
+
+
+Receptionist#003-0
+
+
+Recipe Book
+Rezeptbuch
+
+Recommended Level: %d+
+
+
+Recommended: ##B%d##b | Max: %d
+
+
+Recover some HP.
+
+
+Recruiter
+Werber
+
+Red
+Rot
+
+Red Apple
+roter Apfel
+
+Red Butterfly
+roter Schmetterling
+
+Red Dye
+rote Farbe
+
+Red Follower (F)
+
+
+Red Follower (M)
+
+
+Red Knight Armor
+Rote Ritter-Rüstung
+
+Red Mushroom
+roter Pilz
+
+Red Nose
+rote Nase
+
+Red Plush Wine
+Wein vom Red Plush
+
+Red Scorpion
+Roter Skorpion
+
+Red Scorpion Claw
+Rote Skorpionen Klaue
+
+Red Scorpion Claw -> Scorpion Claw
+Rote Skorpionen Klaue -> Skorpionen Klaue
+
+Red Scorpion Stinger
+Roter Skorpionstachel
+
+Red Scorpion Stinger -> Scorpion Stinger
+Red Scorpion Stinger -> Scorpion Stinger
+
+Red Scorpion breed as fast as the Ratto! With our current numbers, it's nearly impossible to take over.
+Rote Skorpione vermehren sich so schnell wie Rattos! Mit der momentanen Anzahl ist es fast unmöglich sie in den Griff zu bekommen.
+
+Red Skull Slime
+
+
+Red Slime
+roter Schleim
+
+Red Slime Mother
+
+
+Red Stocking
+Red Stocking
+
+Red Stockings
+rote Strümpfe
+
+Red Switch#EP
+
+
+Red Wizard
+
+
+Red scorpion
+
+
+RedSlime
+
+
+Reduces MP cost when using chanting-based skills.
+
+
+Redy
+redy
+
+Reed Bundle
+Reed Bundle
+
+Referral Program Report
+Empfehlungsprogramm Bericht
+
+Reflect Card
+Reflect-Karte
+
+Reflect Card S
+
+
+Reflect Card X
+
+
+Registed %s ago
+
+
+Register
+Registrieren
+
+Register fee is @@.
+Registrieren Gebühr beträgt @@.
+
+Registered! You can now use any banking service, of any town!
+Eingetragen! Sie können nun jede Bankdienstleistung, jede Stadt nutzen!
+
+Registered, welcome to the Grand Hunter Quest!
+Angemeldete, willkommen zum Grand Hunter spielen!
+
+Registration is open to everybody, but newcomers need to pay a fee for all of the paperwork.
+Jeder kann sich natürlich registrieren, aber Neueinsteiger müssen eine Aufwandsentschädigung für den ganzen Papierkram leisten.
+
+Regnum Blessing
+
+
+Regular Drops:
+Regelmäßige Drops:
+
+Reinboo Wand
+Reinboo Wand
+
+Reject
+
+
+Reload NPC Data
+Reload NPC Daten
+
+Remaining time: @@
+Verbleibende Zeit: @@
+
+Remember also: It is wise to speak with people you meet on your journey, there is always something new to learn.
+Denken Sie auch daran: Es ist ratsam, mit Menschen, die Sie treffen auf Ihrer Reise zu sprechen, gibt es immer etwas Neues zu lernen.
+
+Remember my name: I am Isbamuth, and I've took the Throne which rightfully belongs to me.
+Denken Sie daran, mein Name ist: Ich bin Isbamuth, und ich habe nahm den Thron, der zu Recht zu mir gehört.
+
+Remember that some equipment sets will give you hidden stat bonuses! So dress yourself in a fashion way, if possible!
+Denken Sie daran, dass einige Geräte-Sets Sie versteckt geben Stat Boni! So kleiden sich in einer Art und Weise Art und Weise, wenn möglich!
+
+Remember that wearing green BOOSTS the rates at which good stuff will be found!
+Denken Sie daran, dass das Tragen von Grün erhöht die Raten, mit denen gute Sachen gefunden werden!
+
+Remember the masked man said he was from Frostia? Or masked woman, we don't know. You should inform their Mayor at once.
+Denken Sie daran, der maskierte Mann sagte, er von Frostia war? Oder maskierte Frau, wissen wir nicht. Sie sollten ihre Bürgermeister sofort informieren.
+
+Remember to give it a balanced diet of Aquadas to make it happy.
+Denken Sie daran, es auf eine ausgewogene Ernährung von Aquadas geben sie glücklich zu machen.
+
+Remember to store somewhere any heavy stuff you might be carrying.
+Denken Sie daran, irgendwo keine schweren Sachen verstauen Sie tragen könnten.
+
+Remember! You're trading things, not lending/borrowing them. You are solely responsible for everything you own.
+Merken! Sie traden Dinge, nicht Darlehen / Anleihen ihnen. Sie sind allein verantwortlich für alles, was Sie besitzen.
+
+Remember, I need %d %s, %d %s, and something interesting to read.
+
+
+Remember, I need 30 @@, 50 @@, and 30 @@.
+Denken Sie daran, ich brauche 30 @@ 50 @@ und 30 @@.
+
+Remember, I'll make a @@ for you!
+Denken Sie daran, ich werde eine @@ für Sie!
+
+Remember, there is always something new to learn. And you should not let your training down in order to keep and improve your abilities.
+Denken Sie daran, es gibt immer etwas Neues zu lernen. Und Sie sollten nicht Ihre Ausbildung lassen, um Ihre Fähigkeiten zu halten und zu verbessern.
+
+Remember: Never lend your toothbrush to a slime!
+
+
+Remember: Players can also help enforcing no-AFK-bot rule!
+
+
+Remember: Taking damage will make you stand!
+
+
+Remember: The bigger the area or power, or the more complex it is, the more mana it costs.
+
+
+Remember: The bigger the area or power, the more mana it costs.
+
+
+Reminder : Defeat the %s to win.
+
+
+Reminder:
+
+
+Reminder: Keep an eye out for traps.
+
+
+Reminds me, but they say the Aethyr is a place where powerful elves of old live. But nobody has been there on the past century... Or if they were, nobody said anything about it! Hahahah!
+
+
+Remove this line
+Zeile entfernen
+
+Renew Rent
+erneuern Miete
+
+Rent 1 day for 100 GP
+Mieten 1 Tag für 100 GP
+
+Rent 1 day for 50 GP
+Mieten 1 Tag für 50 GP
+
+Rent 15 days for 1200 GP
+Mieten Sie 15 Tage für 1200 GP
+
+Rent 15 days for 600 GP
+Mieten Sie 15 Tage für 600 GP
+
+Rent 3 days for 135 GP
+Miete 3 Tage 135 GP
+
+Rent 3 days for 270 GP
+Miete 3 Tage 270 GP
+
+Rent 30 days for 1000 GP
+Mieten Sie 30 Tage für 1000 GP
+
+Rent 30 days for 2000 GP
+Mieten Sie 30 Tage für 2000 GP
+
+Rent 7 days for 300 GP
+Mieten 7 Tage für 300 GP
+
+Rent 7 days for 600 GP
+Mieten 7 Tage für 600 GP
+
+Rent Renew Price: @@ GP
+Miete Preis Erneuern: @@ GP
+
+Rent arena
+mieten Arena
+
+Rent it! Make it mine!
+Miete Es! Machen Sie es mir!
+
+Rent successful for 30 days!
+Mieten Sie erfolgreich für 30 Tage!
+
+Rent time available: @@
+Mieten Zeit verfügbar: @@
+
+Rented Cart
+vermietet Wagen
+
+Repair items
+Reparatur Artikel
+
+Repeat
+
+
+Repeat how many times?
+Wie oft wiederholen?
+
+Repeat new password:
+Wiederhole das neue Passwort:
+
+Repeat: @@ times
+Wiederholen: @@ mal
+
+Reply: %s
+
+
+Reputation cannot go above 100!
+Ruf kann nicht über 100 gehen!
+
+Requires logout
+Benötigt Logout
+
+Rescue Cindy from the Ice Labyrinth and the evil Yetis. This is a global, multiplayer quest.
+Rettung Cindy aus dem Eis Labyrinth und dem bösen Yeti. Dies ist ein globaler, multi Quest.
+
+Rescuing Cindy Quest
+Rescuing Cindy Suche
+
+Research Points
+
+
+Research Points +%d
+
+
+Researcher
+Forscher
+
+Researcher Alyta's Residence
+
+
+Researcher Jak's Residence
+
+
+Researchers from the magic school complained about %ss disturbing whatever they are studying in the cave.
+
+
+Reset
+Reset
+
+Reset & Destroy
+
+
+Reset Crazyfefe Fight
+Zurücksetzen Crazyfefe Kampf
+
+Reset EVERYTHING
+ALLES zurücksetzen
+
+Reset done!
+Zurücksetzen erfolgt!
+
+Reset stats, skills, level
+Statuspunkte, Fähigkeiten oder Level zurücksetzen
+
+Reset status
+
+
+Reset!
+Reset!
+
+Reset?
+Reset?
+
+Resign
+Zurücktreten
+
+Resting. I've been slaying slime nests the whole day.
+Ruhe. Ich habe den ganzen Tag Schleim Nester wurden erschlagen.
+
+Restore it
+
+
+Resurrection
+
+
+Retaliates next attack with a critical hit. This instance lasts a second.
+
+
+Return
+
+
+Return @@ boxes
+Zurück @@ Boxen
+
+Return Potion
+Zurück Potion
+
+Return Potions works instantly. Talk to Wyara to get more.
+Return Tränke funktioniert sofort. Sprechen Sie mit Wyara mehr zu bekommen.
+
+Return to Debug menu
+Zum Debug Menü zurückkehren
+
+Return to Frostia's Castle?
+Zurück zu Frostia Schloss?
+
+Return to Sagratha's House?
+Zurück zu Sagratha Hause?
+
+Return to Super Menu
+Zum Super-Menü zurückkehren
+
+Return to User Control Panel
+Zurück zur Seite Benutzer Control-Panel
+
+Return to main island.
+
+
+Return to main menu
+Zum Hauptmenü zurückkehren
+
+Return to your time!
+
+
+Revert a player exile
+
+
+Revives an already dead allied player. Req. Lifestone to cast.
+
+
+Revolver Shooter
+Revolver Shooter
+
+Reward: 200 GP, 200 XP
+Belohnung: 200 GP, 200 XP
+
+Reward: 700 GP, 400 XP, 1 @@
+Belohnung: 700 GP, 400 XP, 1 @@
+
+Rice Hat
+Reis-Hut
+
+Richard
+Richard
+
+Riding Mouboo
+Reit Mouboo
+
+Riding Tortuga
+Riding Tortuga
+
+Rifle Shooter
+Gewehr Shooter
+
+Right Crafty Wing
+Rechter Crafty Flügel
+
+Right Eye Patch
+Rechts-Augen-Flecken
+
+Right click on the NPC to join the Liberation Force on Hurnscald.
+Rechtsklick auf den NPC die Liberation Force auf Hurnscald beizutreten.
+
+Right click on this NPC to join the Hurnscald Alliance.
+Rechtsklick auf dieses NPCs die Hurnscald Allianz beizutreten.
+
+Right now this territory is under the Monster Army's control, but the Alliance has occupied it to raid the Impregnable Fortress.
+
+
+Right now you are too weak.
+
+
+Right now, there is a strong wind blowing from @@.
+Im Moment gibt es einen starken Wind von @@ weht.
+
+Right'o, I'll arrange the material!
+Right'o, ich werde das Material arrangieren!
+
+Right, but now I have business in other places.
+Richtig, aber jetzt habe ich Geschäft in anderen Orten.
+
+RightDoorCheck
+RightDoorCheck
+
+Rings
+Ringe
+
+Roach
+Plötze
+
+Roasted Maggot
+Geröstete Made
+
+Robert
+Robert
+
+Robin Bandit
+Robin Bandit
+
+Rock
+Stein
+
+Rock Knife
+Steinmesser
+
+Roger
+Roger
+
+Roger begins to read.
+Roger beginnt zu lesen.
+
+Roger, eh? Aye, I do need help. If you bring me 30 @@, 50 @@, and 30 @@, maybe I can give you a reward.
+Roger, nicht wahr? Ja, ich brauche Hilfe. Wenn Sie bringen mich 30 @@ 50 @@ und 30 @@, vielleicht kann ich Ihnen eine Belohnung.
+
+Rogue
+Rouge
+
+Rogue Status
+
+
+Room password: @@
+Zimmer Passwort: @@
+
+Root
+Wurzel
+
+Rosa Card
+Rosa Karte
+
+Rose
+Rose
+
+Rosen
+Rosen
+
+Rotten Rags
+Rotten Rags
+
+Round @@
+Round @@
+
+Round Leather Shield
+rundes Lederschild
+
+Royal Fairy
+Königliche Fee
+
+Royal Guard#02416A
+
+
+Rrrr... Pchhhh...
+Rrrr... Pchhhh...
+
+Rubber Ducky
+
+
+Ruby
+Rubin
+
+Ruby (+2 str)
+Rubin (+2 str)
+
+Ruby Bif
+Rubin Bif
+
+Ruby Powder
+Ruby Powder
+
+Rudolph Slime
+Rudolph Slime
+
+Ruined place?
+
+
+Rules
+Regeln
+
+Rules.
+Regeln.
+
+Rules:
+Regeln:
+
+Rum
+
+
+Rum Barrel
+
+
+Run and try jumping it!
+Laufen und versuchen, es springen!
+
+Run away?
+Renn weg?
+
+Run like the wind, @@! For you shall have only @@ to finish the ritual!
+Rennen wie der Wind, @@! Für Sie haben soll @@ das Ritual beenden!
+
+Run! Event started!
+Lauf! Die Veranstaltung hat begonnen!
+
+Runestaff
+Runenstab
+
+Running is for noobs, we should hold our ground!
+Laufen ist für noobs, sollten wir unseren Boden halten!
+
+Rusty Knife
+Rusty Knife
+
+Ryan
+Ryan
+
+Rychell
+
+
+Rydel
+
+
+SCRIPT ERROR (%s/%s)
+
+
+SHORT GUNSTAFF
+SHORT GUNSTAFF
+
+SHOULD
+
+
+SHUT UP PEETU, I'M ALREADY TIRED OF LISTENING YOUR CRIES!
+SHUT UP Peetu, ich bin das Zuhören IHRE CRIES schon müde!
+
+SMASH! And it is now only dust...
+SMASH! Und es ist jetzt nur Staub ...
+
+SPIN!
+ROTIEREN!
+
+STA
+STA
+
+STORY MODE ENABLED. Monsters won't attack you, so you can read without worries.
+
+
+SUCCESS! Congratulations, the item was improved!
+ERFOLG! Herzlichen Glückwunsch, wurde der Artikel verbessert!
+
+Sabotage
+Sabotage
+
+Sacred Bullet
+Heiliger Einschuss
+
+Sacred Forest Hat
+Heiliger Wald Hut
+
+Sacred Immortality Potion
+
+
+Sacred Life Potion
+Heiliger Lebenstrank
+
+Sacred Mana Potion
+Heiliger Manatrank
+
+Sacred Wisp
+
+
+Sadly, you found nothing but dirt.
+Leider hast du nichts ausser Erde gefunden.
+
+Saevel
+
+
+Safe travels!
+
+
+Sage
+Weiser
+
+Sagratha
+Sagratha
+
+Sagratha Door
+Sagratha Tür
+
+Sagratha hates my guts.
+Sagratha hasst meine Eingeweide.
+
+Sagratha#_M
+
+
+Sailing Away!
+Weg segeln!
+
+Sailor
+Matrose
+
+Sailor Hat
+Matrosenmütze
+
+SailorShirt
+Matrosenhemd
+
+Sailors
+Matrosen
+
+Sailors#003-1
+
+
+Sailors#005-1
+
+
+Sakar can now bring you directly to Asphodel Moors. Scouts found a second town as well, from where the raiders seems to be coming from!
+
+
+Sake Barrel
+Sake Barrel
+
+Sale successful!
+Verkauf erfolgreich!
+
+Salohnic
+
+
+Samurai Helmet
+Samurai Helm
+
+Santa Beard Hat
+Sankt Bart Hut
+
+Santa Globe
+Santa Globe
+
+Santa Hat
+Weihnachtsmütze
+
+Santa Slime
+Sankt Slime
+
+Santa can give one present for all players. Maybe if we got 200...
+Sankt kann man gegenwärtig für alle Spieler geben. Vielleicht, wenn wir bekamen 200 ...
+
+Santeri
+Santeri
+
+Sapphire
+Saphir
+
+Sapphire (+2 int)
+Saphir (+2 int)
+
+Sapphire Bif
+Sapphire Bif
+
+Sapphire Powder
+Saphirpulver
+
+Sarab Armlet
+Sarab Armlet
+
+Sarah
+Sarah
+
+Sarracenus
+Sarracenos
+
+Saul and Fefe did a great revolution,
+Saul und Fefe hat eine große Revolution,
+
+Saul is planning an assault at the Magic Tower. I want these Mana Stones.
+Saul plant einen Angriff auf der Magic Tower. Ich mag diesen Mana Stone.
+
+Saul is supplying me the alchemist resources for that. In exchange, my thieves supply him gold and spare his friends.
+Saul liefert mir die Alchemisten Ressourcen dafür. Im Gegenzug liefern meine Diebe ihm Gold und verschonen seine Freunde.
+
+Saul will deal with it. His mess, he will clean up. Raid and me will keep the pursuit. And this time, we shall triumph.
+
+
+Saul will lead the frontal assault, Mr. Saves shall provide distraction, and I'll infiltrate within the Mage Tower.
+
+
+Saulc Card
+Saulc Karte
+
+Saulc Sponsor
+Saulc Sponsor
+
+Saulc is rich, you know. He challenged a group of thirty NPCs to defeat him, whoever won would get this @@.
+Saulc ist reich, wissen Sie. Er forderte eine Gruppe von dreißig NPCs, ihn zu besiegen, wer auch immer das bekommen würde gewonnen @@.
+
+Saulc was here
+Saulc war hier
+
+Saulc, Crazyfefe and Jesus Saves are the three High Councillors. Don't do anything illegal while they're watching!
+Saulc, Crazyfefe und Jesus Saves sind die drei Hohen Räte. Sie tun nichts Illegales, während sie beobachten!
+
+Saulc, the Bug Master
+Saulc, der Bug Meister
+
+Saulcandy
+Saulcandy
+
+Save & Exit
+Sicherer Ausgang
+
+Save Point (@@m)
+Save Point (@@ m)
+
+Savior
+
+
+Savior Armor
+Heiland Rüstung
+
+Savior Blueprint
+
+
+Savior Boots
+Heiland Stiefel
+
+Savior Helmet
+
+
+Savior Pants
+Heiland Hosen
+
+Savior Shield
+Erlöser-Schild
+
+Savior Sky Piercer
+
+
+Sawis
+SAWIS
+
+Saxso
+Saxso
+
+Saxso Chest
+Saxso Chest
+
+Saxso Ghost
+Saxso Geist
+
+Saxso Key
+Saxso Key
+
+Saxso's Basement, Candor - 27th July 300 AT
+
+
+Saxso's Official Residence.
+
+
+Saxso, the former mayor, commanded me to strengthen the youngsters, so that they have sufficient power to fight monsters.
+Saxso, der ehemalige Bürgermeister, befahl mir, die Jugendlichen zu stärken, so dass sie über genügend Macht zu kämpfen Monster haben.
+
+Say magic words
+Sprich Zauberworte
+
+Say that Mouboos are Cute?
+Sagen Sie, dass Mouboos Netter sind?
+
+Say, what do you think if I transmuted your head into the missing materials? I can warrant your soul won't return to the Soul Menhir, either!
+Sagen Sie, was denken Sie, wenn ich den Kopf in den fehlenden Materialien umgewandelt? Ich kann deine Seele wird bestätigt, zur Seele Menhir, entweder rechtfertigen!
+
+Saying that you were sent here would prove nothing.
+
+
+Scar
+
+
+Scarfs
+Schals
+
+Scary...........
+Unheimlich...........
+
+Scented Grenade
+
+
+Scepter of Thunder
+
+
+Scheduled broadcasts
+Angesetzte Ankündigungen
+
+Scheduled broadcasts - Create new
+Angesetzte Ankündigungen - neu erstellen
+
+Scheduled: April 17th - 24th
+Geplant: 17-24 April
+
+Scheduled: April 27th - May 3rd
+Geplant: 27. April - 3. Mai
+
+Scheduled: December 19th - January 2nd
+Geplant: 19. DEZEMBER - 2. Januar
+
+Scheduled: February 12th - 15th
+Geplant: 12-15 Februar
+
+Scheduled: February 13th - 16th
+
+
+Scheduled: January 13rd
+Geplant: Januar 13.
+
+Scheduled: July 20th ~ 31st
+Geplant: 20. Juli ~ 31.
+
+Scheduled: July 7th
+Geplant: 7. Juli
+
+Scheduled: March 2nd
+Geplant: 2. März
+
+Scheduled: October 1st
+Geplant: 1. Oktober
+
+Scheduled: September 9th
+Geplant: 9. September
+
+Scholars dedicate part of their time so others can learn about the world, and as such, they are always welcome to this Academy.
+
+
+Scholarship Badge
+Scholarship Abzeichen
+
+Scholarship Institute is on the %s area of the campus.
+
+
+Scholarship Science
+
+
+Scholarship Tuition
+
+
+School of Quirks (Candor)
+School of Quirks (Candor)
+
+Scissors
+Schere
+
+Score: %s / %s
+
+
+Scoreboards
+Anzeigern
+
+Scores are updated every 6 hours.
+
+
+Scores close at Sunday 23:59 - No scores will be given for last minute rushes!
+
+
+Scorpion
+Skorpion
+
+Scorpion Claw
+Skorpionen Klaue
+
+Scorpion Stinger
+Skorpionstachel
+
+Scorpions killed: @@/@@ scorpions
+Scorpions getötet: @@ / @@ Skorpione
+
+Scout
+Erkunden
+
+Screams
+Geschrei
+
+Script Error
+Skriptfehler
+
+Script Error: "Tux didn't found his fish! Blame Saulc at once!"
+
+
+Scroll Angel Light
+
+
+Scroll Angel Light+
+
+
+Scroll Angel Light++
+
+
+Scroll Battle Plans
+
+
+Scroll Battle Plans+
+
+
+Scroll Battle Plans++
+
+
+Scroll Critical Fortune
+
+
+Scroll Critical Fortune+
+
+
+Scroll Critical Fortune++
+
+
+Scroll Defense Bless
+
+
+Scroll Defense Bless+
+
+
+Scroll Defense Bless++
+
+
+Scroll Magnus Heal
+
+
+Scroll Magnus Heal+
+
+
+Scroll Magnus Heal++
+
+
+Scroll Summon Cave Maggot
+
+
+Scroll Summon Dragon
+
+
+Scroll Summon Maggot
+
+
+Scroll Summon Terranite
+
+
+Scroll Summon Wolvern
+
+
+Scroll Summon Yeti
+
+
+Scythe
+Sense
+
+Sea Drops
+Meerestropfen
+
+Sea Slime
+Sea Slime
+
+Sea Slime Mother
+
+
+Sea Water
+Meerwasser
+
+Sealed Soul
+Versiegelte Seele
+
+Season: %s
+Saison:% s
+
+Seasonal Drop Control
+Saisonale Drop Control
+
+Second Dungeon Master
+Zweiter Dungeon Master
+
+Second Tier
+Zweite Stufe
+
+Secret Admirer
+Heimlicher Verehrer
+
+Secret Passages
+
+
+Secret Window
+Geheimes Fenster
+
+See you later!
+Bis nachher!
+
+See you later, my friend! Thanks for the drink!#0
+
+
+See you later, my friend! Thanks for the drink!#1
+
+
+See you soon!
+Auf bald!
+
+See you!
+Tschüß!
+
+See you.
+Wir sehen uns.
+
+Seems like Arkim held it too close to the flame...
+
+
+Seems like someone else opened this chest before you!
+
+
+Seems like the rat have come after the cheese.
+Scheint, wie die Ratte nach dem Käse kommen.
+
+Seems like they're having difficulty handling the demand, and
+
+
+Seems to be a recipe book about apple cookies.
+Scheint ein Rezeptbuch über Apfel Cookies zu sein.
+
+Seems to be accounting reports and stuff. You take a few pages.
+Es scheint, Rechenschaftsberichte und Sachen zu sein. Sie nehmen ein paar Seiten.
+
+Seems to be related to alchemy.
+Scheint Alchemie zusammenzuhängen.
+
+Seldomly, they'll have an exclamation mark over their heads. But some quests are hidden, so talk to people and have fun!
+Selten werden sie ein Ausrufezeichen über dem Kopf haben. Aber einige Quests sind versteckt, sprechen so zu Menschen und haben Spaß!
+
+Select a set of skills:
+
+
+Select carefully which weapon you want, so there are no regrets.
+Wählen Sie sorgfältig die Waffe, die Sie wollen, so gibt es keine Reue.
+
+Select difficulty.
+
+
+Select one:
+
+
+Select your preferred play-style.
+
+
+Selim
+
+
+Sell
+Verkaufen
+
+Sell old equipment and items you won't use. For example, what should you do with a @@ or an @@? Sell it!
+Verkaufen Altgeräten und Artikel, die Sie nicht verwenden. Zum Beispiel, was Sie tun sollen, mit einem @@ oder einem @@? Verkauf es!
+
+Selling rares
+
+
+Send 10 times
+10mal senden
+
+Send 2 times
+2mal senden
+
+Send 20 times
+20mal senden
+
+Send 3 times
+3mal senden
+
+Send 5 times
+5mal senden
+
+Send Chocolate
+Senden Sie Schokolade
+
+Send indefinitely
+Unbegrenzt senden
+
+Send only once
+Einmalig senden
+
+Send soul to the Mana Plane for GM events
+Sende Seele an das Mana Flugzeug für GM Veranstaltungen
+
+Send them to Valentine Island!
+
+
+Send this message also on login?
+Die Nachricht auch beim Login anzeigen?
+
+Send your Homunculus to a slime nest!
+Senden Sie Ihre Homunculus zu einem Schlamm Nest!
+
+Send your Homunculus to hold off snakes!
+Senden Sie Ihre Homunculus zu halten off Schlangen!
+
+Send your Homunculus to loot the Impregnable Fortress!
+
+
+Send your Homunculus to make money!
+Senden Sie Ihre Homunculus Geld zu verdienen!
+
+Send your Homunculus to mineration!
+Senden Sie Ihre Homunculus zu mineration!
+
+Send your Homunculus to one of the most dangerous...!
+Senden Sie Ihre Homunculus zu einer der gefährlichsten ...!
+
+Sending the letter will give you double event points, but no more than 10 extra points per letter.
+
+
+Sent on login: @@
+Beim Login angezeigt: @@
+
+Sent on login: yes
+Beim Login angezeigt: ja
+
+Sent: @@ times out of @@
+Gesendet: @@ von @@mal
+
+September 22nd - December 20th
+22. SEPTEMBER - 20. Dezember
+
+Serf Hat
+Serf Hat
+
+Serge
+Serge
+
+Seriously? What sort of reward is that?
+Ernsthaft? Was für eine Art von Belohnung ist das?
+
+Server
+
+
+Server Happy Hour Decreed
+
+
+Set All Perms
+
+
+Set a new broadcast
+Neue Ankündigung erstellen
+
+Set room password
+Set Raum Passwort
+
+Set sail! We're going to Tulimshar!
+Segel setzen! Wir werden Tulimshar!
+
+Set status @@ with @@ kills
+Setze den Status @@ mit @@ kills
+
+Setzer
+Setzer
+
+Seven consecutive brawn attacks of diff. elements.
+
+
+Seven levels is what the Mana Seed may give to any race but Saviors.
+
+
+Several books about alchemy. Seems to be pretty advanced.
+Mehrere Bücher über Alchemie. Scheint ziemlich fortgeschritten.
+
+Several books about artificial lifeforms and the man who played God.
+Mehrere Bücher über künstliche Lebensformen und der Mann, der Gott gespielt.
+
+Several books about hiding magic. Might be why the houses looked abandoned and empty but the chimney was going.
+Mehrere Bücher über das Verstecken Magie. Könnte sein, warum sah die Häuser verlassen und leer, aber der Schornstein würde.
+
+Several flasks are aligned there. They seemed to be dyes, but a close inspection reveals they're not.
+Mehrere Flaschen werden dort ausgerichtet sind. Sie schienen Farbstoffe zu sein, aber eine genaue Untersuchung zeigt, sind sie nicht.
+
+Several special clovers will show up at forests.
+Mehrere spezielle Kleeblätter auf Wälder zeigen wird.
+
+Sewer Water
+Kanalisation Wasser
+
+Shaabty
+Shaabty
+
+Shaabty the Fairy
+Shaabty die Fee
+
+Shadow Herb
+Schatten Herb
+
+Shadow Herb only grows on dangerous places, and is mostly found on the Land Of Fire, or underground of very very deep caves.
+Schatten Herb wächst nur auf gefährliche Stellen, und ist vor allem auf dem Land des Feuers gefunden, oder U-Bahn von sehr tiefen Höhlen.
+
+Shadow Pixie
+Schatten Pixie
+
+Shadow Plant
+Schattenpflanze
+
+Shadow Tortuga
+
+
+Shall you disband your guild for whatever reason, you'll need to pay again. No refunds. No complaining.
+Sollen Sie Ihre Gilde aus welchem ​​Grund sich auflösen, werden Sie wieder zahlen müssen. Keine Rückerstattung. Keine beschweren.
+
+Shall you have any inquiry, do not hesit to [@@mailto:admin@tmw2.org|send us an email@@]##b.
+
+
+Shannon
+Shannon
+
+Sharp Knife
+Scharfes Messer
+
+Sharpshooter
+Scharfschütze
+
+Sharpshooting skill replaced with Charged Arrow.
+Sharpshooting Fertigkeit ersetzt mit Charged Pfeil.
+
+She and her husband Simon Bowmaker, vowed to teach the ways of archery to those with willpower, and allow everyone to use a bow.
+Sie und ihr Mann Simon Bowmaker, schworen die Art und Weise des Bogenschießens zu denen mit Willenskraft zu lehren, und damit jeder einen Bogen verwenden.
+
+She can't remember if anything else right now.
+
+
+She doesn't likes @@s, only cute animals. She doesn't likes Ghosts, Undeads, and Shadow monsters either.
+Sie hat mag nicht @@ s, nur nette Tiere. Sie hat nicht mag Geister, Untote und Schatten Monster entweder.
+
+She doesn't seems to trust me... Maybe I should bring a guild vice-leader, or even better, the guild master himself.
+
+
+She falls in a single blow. You'll attribute her death to the Mysterious Assassin.
+Sie fällt in einem einzigen Schlag. Sie werden ihren Tod des Mysterious Attentäter zuzuschreiben.
+
+She is a scary woman and you would do well to remember this.
+
+
+She is staring at the empty sea and sighing. She seems to be really down after Andrei Sakar passed away.
+
+
+She isn't on that cave.
+Sie ist nicht auf dieser Höhle.
+
+She met an adventurer named Merlin outside of the
+Sie traf einen Abenteurer namens Merlin außerhalb der
+
+She mix the powder with the slime inside the bottle, and makes some weird mixture.
+Sie mischen das Pulver mit dem Schleim in der Flasche, und macht einige seltsame Mischung.
+
+She must be thristy, fighting monsters on this sun... If somebody could give her Cactus Potions...
+Sie muss durstig sein, Monster auf dieser Sonne zu kämpfen ... Wenn jemand ihre Cactus Tränke geben könnte ...
+
+She never leaves the shade of that tree, she is always sending messages by other people!!
+Sie hat nie den Schatten des Baumes läßt, sie ist immer das Senden von Nachrichten von anderen Leuten !!
+
+She pours something on it, you're not sure what. And then utters some magic words.
+Sie gießt etwas darauf, Sie sind nicht sicher, was. Und dann spricht ein paar magischen Worte.
+
+She probably just went out for a walk. Nothing to worry, I hope.
+Wahrscheinlich hat sie ging einfach für einen Spaziergang. Kein Grund zur Sorge, hoffe ich.
+
+She shakes her head.
+Sie schüttelt den Kopf.
+
+She should be safe as she is a strong woman, but... You never know.
+Sie sollten sicher sein, als sie eine starke Frau ist, aber ... Man weiß nie.
+
+She shudders.
+Sie erschauert.
+
+She smiles.
+Sie lächelt.
+
+She snaps her fingers.
+Sie schnippt mit den Fingern.
+
+She walks to the target.
+Sie geht auf das Ziel.
+
+She wanted the Soul Eater defeated. Destroying the whole world never stopped her before.
+
+
+She was a tyrant who wanted to rule over not only Tulimshar, but the whole mana world, with an iron fist. She even charged her own premier of treason and tried to execute him.
+
+
+Sheila the Clockmaker
+Sheila der Uhrmacher
+
+Shemagh
+Shemagh
+
+Shield Recipes
+Schild Rezepte
+
+Shields
+Shields
+
+Ship travels are not free. Also, I have a few friends on the Island, and I would like you to check out on them.
+Schiffsreisen sind nicht frei. Ich habe auch ein paar Freunde auf der Insel, und ich möchte Sie auf sie überprüfen möchten.
+
+Ship travels are quite expensive, so perhaps you may think it is worth to complete the other quests here?
+Schiffsfahrten sind recht teuer, so vielleicht denken, dass Sie es sich lohnt, die anderen Aufgaben hier zu vervollständigen?
+
+Shoes
+Schuhe
+
+Shooo, shooo! Give my crops some time to recover, your noob.
+Shooo, shooo! Geben Sie einige Zeit, um meine Pflanzen zu erholen, Ihre Noob.
+
+Shoot FIVE arrows or bullets to the air and cause Area Of Effect Damage.
+
+
+Shoot an arrow or bullet which damages everything on its way.
+
+
+Shop#Candor
+
+
+Shop#bazar1
+
+
+Shoppa Kep
+Shoppa Kep
+
+Short Bow
+Kurzbogen
+
+Short Gladius
+Short Gladius
+
+Short Gunstaff
+
+
+Short Sword
+Kurzschwert
+
+Short Tank Top
+Short Tank Top
+
+Shotgun Shooter
+Shotgun-Shooter
+
+Should I attach a love letter?
+Sollte ich einen Liebesbrief beilegen?
+
+Should I walk on it?
+Soll ich darauf gehen?
+
+Should we ask about the %s before leaving?
+
+
+Should we give this shady looking 'fella a %s?
+
+
+Should we?
+
+
+Should you be too quick or wait too long, you will most likely fail.
+Solltest du zu schnell anschlagen, oder zu lange warten, wird es wahrscheinlich missglücken.
+
+Shovel have been changed, right-click it to bury items.
+Schaufel geändert haben, klicken Sie mit rechts Artikel zu begraben.
+
+Show Tutorial Protips
+
+
+Show me a report
+
+
+Show me something more advanced!
+
+
+Show me what you can!
+Zeig mir, was du kannst!
+
+Show me what you got, noob.
+
+
+Shrewboo
+
+
+Shroom Hat
+Shroom Hut
+
+Siege Tower
+
+
+Sign the non-disclosure agreement?
+
+
+Sign#0051UG
+
+
+Sign#0060CF
+
+
+Sign#0060PI
+
+
+Sign#0063CF
+
+
+Sign#0063PI
+
+
+Sign#0066CR
+
+
+Sign#0066ER
+
+
+Sign#0066WR
+
+
+Sign#014517929
+
+
+Sign#01916730
+
+
+Sign#019295108
+
+
+Sign#02213844
+
+
+Sign#HalinRoute
+
+
+Sign#HalinarzoGoto
+
+
+Sign#MKH
+
+
+Sign#RES_0096
+
+
+Sign#RES_0097
+
+
+Sign#RES_0128
+
+
+Sign#RES_0177
+
+
+Sign#RES_0178
+
+
+Sign#TempBugfix
+
+
+Signpost#lof
+
+
+Silence
+
+
+Silk
+
+
+Silk Cocoon
+Silk Cocoon
+
+Silk Gloves
+Seidenhandschuhe
+
+Silk Pants
+Seidenhose
+
+Silk Robe
+Silk Robe
+
+Silk Worm
+Seidenspinnerlarve
+
+Silk worm
+Silk Wurm
+
+Silkworm
+Seidenraupe
+
+Silver Bell
+Silver Bell
+
+Silver Boss Gift
+
+
+Silver Chest
+Silber Chest
+
+Silver Dye
+Silber Dye
+
+Silver Easteregg
+Silbernes Osterei
+
+Silver Four-Leaf Amulet
+Silber Vier-Blatt-Amulett
+
+Silver Gift
+Silbernes Geschenk
+
+Silver Ingot
+Silberbarren
+
+Silver Key
+Silberschlüssel
+
+Silver Mirror
+Silberspiegel
+
+Silver Ore
+Silbererz
+
+Silver Ore -> Copper Ore
+Silbererz -> Kupfererz
+
+Silver Ring
+Silberring
+
+Silver Ring!
+Silberring!
+
+SilverMedal
+Silbermedaille
+
+Silversmith
+Silberschmied
+
+Silvia
+Silvia
+
+Silvia is in Noble District of Tulimshar.
+Silvia ist in Reichenviertel von Tulimshar.
+
+Simon
+Simon
+
+Simply put, they are raw power.
+
+
+Since Merlin left in an expedition with Morgan, strange things have been happening in Kamelot.
+
+
+Since red is the official color of Land of Fire Village, I craft dye for players who will properly represent our town.
+
+
+Since supplies are limited, I currently prioritize orders placed by higher level players.
+
+
+Since the war outbreak, we have to keep moving constantly. Without strong walls to protect ourselves, though, our clan is on the verge of extinction.
+
+
+Sincerity Island
+Sincerity Insel
+
+Sing a song to brighten its mood.
+
+
+Sing me about grinding!
+Sing mir über Schleifen!
+
+Sing me about miscellaneous monsters!
+
+
+Sing me about slaying Pinkies!
+
+
+Sing me about the world!
+Sing mir über die Welt!
+
+Sing me the fate of the weapons!
+
+
+Sing me the legend of the five heroes!
+
+
+Sir Phoenix
+
+
+Sir Pyndragon and Lady Lalica asked to thank thee for the situation with the thief.
+
+
+Sir Sakar and adventurers are raiding Dracula's Fortress. It is a crazy place, though, who knows what they'll find? He should be at the north exit of this town.
+
+
+Sir Sakar and adventurers are raiding Dracula's Fortress. They found out the Underworld and there is a magic tree. You'll need a %s to use it.
+
+
+Sir Sakar is conducting an exploration on this land. However, you should be able to refine and tweak equipment, as well as crafting your own. Once you're ready, find him at %s of this town.
+
+
+Sit on the rug in front of me and learn wisdom! Maybe you'll learn something this way.
+Setzen Sie sich auf dem Teppich vor mir und lerne Weisheit! Vielleicht werden Sie etwas auf diese Weise lernen.
+
+Skeleton
+Skelet
+
+Skill @@ has been lost
+Geschicklichkeits @@ ist verloren gegangen
+
+Skill @@ will be permanently lost!
+Geschicklichkeits @@ dauerhaft verloren!
+
+Skill Level: %d
+
+
+Skill improved
+
+
+Skill is in cooldown for @@.
+Geschicklichkeit ist in Abklingzeit für @@.
+
+Skill learnt!
+Geschicklichkeit gelernt!
+
+Skip prologue
+
+
+Skipping will FORSAKE rewards for the quest and related; So choose wisely!
+
+
+Skull
+Schädel
+
+Skull Bloody Mug
+Schädel Blutiger Becher
+
+Skull Mask
+Schädelmaske
+
+Sleep
+
+
+Sleeping Bandit
+Sleeping Bandit
+
+Sleeping at night, the bonus will be stronger!
+
+
+Sleeping will fully replenish your health.
+
+
+SleepingBandit
+
+
+Slime Blast
+Slime Explosion
+
+Slime Nest
+Slime Nest
+
+Slimes
+
+
+Slimes are on the loose. They have escaped, ate several books, and some are still in the building.
+Schleime sind auf freiem Fuß. Sie sind entkommen, aß mehrere Bücher, und einige sind noch in dem Gebäude.
+
+Slippers
+
+
+Slot Machine#003-10a
+
+
+Slot Machine#012-7a
+
+
+Slot Machine#017-3a
+
+
+Small Amethyst Bif
+Kleine Amethyst Bif
+
+Small Arrow Sack
+Kleiner Pfeil Sack
+
+Small Bullet Sack
+Kleine Kugel Sack
+
+Small Chocolate Bar
+
+
+Small Diamond Bif
+Small Diamond Bif
+
+Small Diamond Biff
+Small Diamond Biff
+
+Small Elenium Bif
+Kleines Elenium Bif
+
+Small Emerald Bif
+Kleiner Smaragd Bif
+
+Small Fishing Net
+Kleines Fischernetz
+
+Small Frog
+
+
+Small Knife
+Kleines Messer
+
+Small Magic Bif
+Kleiner Zauber Bif
+
+Small Mushroom
+Kleiner Pilz
+
+Small Ruby Bif
+Kleiner Rubin Bif
+
+Small Sapphire Bif
+Kleines Sapphire Bif
+
+Small Tentacles
+Kleine Tentakeln
+
+Small Topaz Bif
+Kleine Topaz Bif
+
+Smells like mouboos.
+Riecht wie mouboos.
+
+Smiley Cap
+
+
+Smith Silvers
+Smith Silvers
+
+SmokeGrenade
+Rauchgranate
+
+Snail
+
+
+Snake
+Schlange
+
+Snake Bola
+Snake Bola
+
+Snake Egg
+Schlangenei
+
+Snake Egg -> Cave Snake Egg
+Snake Egg -> Cave Snake Egg
+
+Snake Pit
+Schlangengrube
+
+Snake Skin
+Schlangenhaut
+
+Snake Skin -> Cave Snake Skin
+Snake Skin -> Cave Snake Skin
+
+Snake Tongue
+Schlangenzunge
+
+Snake Tongue -> Cave Snake Tongue
+Snake Tongue -> Cave Snake Tongue
+
+Snale
+
+
+Snow Binny (NYI)
+Schnee Binny (NYI)
+
+Snow Flower
+
+
+Snowflake
+Schneeflocke
+
+Snowman
+
+
+Snowman Globe
+Schneemann-Kugel
+
+So COOL, thanks! Come back later to bring me extra @@!
+So cool, danke! Kommen Sie später wieder mir zu bringen zusätzliche @@!
+
+So I did what I could - What I always do. Turned my beloved sister in a slime. Turned her into what killed her.
+
+
+So be nice and help people along the way!
+So nett und helfen Menschen auf dem Weg!
+
+So did you take care of my 'Piou Problem?'
+
+
+So fine and pink, tasty too!
+
+
+So good you are here. We have a huge problem.
+
+
+So here is what I am thinking.
+
+
+So how can I help you?
+
+
+So if you bring me %d %s, I'll pay you awesomely! Whaddaya say?!
+
+
+So if you can help, go kill at least one on this island. They take a long time to respawn.
+Also, wenn Sie helfen können, zumindest ein auf der Insel unterwegs zu töten. Sie nehmen eine lange Zeit respawnen.
+
+So if you have any issue which would require the Mayor to see it, you'll need me first.
+Also, wenn Sie Problem haben, die der Bürgermeister es erfordern würde, um zu sehen, mich, dass du zuerst müssen.
+
+So in a hurry, I forgot to take enough bait for fishing.
+Also habe ich in der Eile vergessen, genug Köder fürs fischen mitzunehmen.
+
+So it could be nice, if you could bring me 20 @@,
+So ist es schön sein könnte, wenn Sie mir 20 bringen könnte @@,
+
+So let's strike a deal, bring me %d %s, %d %s, %d %s, and a %s. I'll reward you, promise.
+
+
+So long, and thanks for all the fish!
+
+
+So many bookpages are still missing...
+So viele bookpages fehlen noch ...
+
+So tell me already what you need, and what is the reward!
+Also sag mir schon, was Sie brauchen, und was ist der Lohn!
+
+So they need me again. Alright. Tell them the following:
+
+
+So whaddaya say, sign up won't you?
+So Whaddaya sagen, melden Sie sich werden Sie nicht?
+
+So what can I say, except, you're welcome
+Also, was ich sagen kann, es sei denn, Sie sind willkommen
+
+So what do you say? You in?
+
+
+So you have now a pet, who is loyal to you. It'll follow you everywhere, but there are two things you must know.
+So haben Sie jetzt ein Haustier, die dir treu ist. Es wird Ihnen überallhin folgen, aber es gibt zwei Dinge, die Sie wissen müssen.
+
+So you think you're tough? A warrior must also be loyal and patient.#0
+Du glaubst also, stark zu sein? Ein Krieger muss aber ebenso loyal und freundlich sein.
+
+So you think you're tough? A warrior must also be loyal and patient.#1
+Du glaubst also, stark zu sein? Eine Kriegerin muss aber ebenso loyal und freundlich sein.
+
+So! Bring me %d %s so I may study its properties and make a purifier or enhancer for our well.
+
+
+So! Please transmute a @@ and bring it to me. You may need to switch with another mana skill, until you are successful.
+So! Bitte verwandeln ein @@ und bringt sie mir. Sie können mit einem anderen Mana Geschick wechseln müssen, bis Sie erfolgreich sind.
+
+So, %s, I know you have other priorities. I don't even know why you are here - for riches? For glory, for fame? To save the world? To find out about your past? To talk with me because, well, I am just *that* cool? All of the above? Perhaps something else?
+
+
+So, I looked the records. There was nothing really useful.
+So sah ich die Aufzeichnungen. Es gab nichts wirklich nützlich.
+
+So, I was thinking in crafting a @@ for you.
+Also, dachte ich in einen @@ für Sie anfertigt.
+
+So, I'll have to ask you to get strong and some money for the trip. So, go train now! I wish you the best of the luck!
+
+
+So, I'm placing a special bounty for @@ Mob Points.
+Also, ich bin eine besondere Prämie für @@ Mob Punkte platzieren.
+
+So, Peetu didn't check the ingredients before casting? That's... Well, I don't know.
+Also, Peetu haben überprüfen Sie die Zutaten nicht vor dem Gießen? Das ist ... Nun, ich weiß es nicht.
+
+So, back to action! Finally. Your next destination is going to be Frostia Town.
+Also, zurück zum Handeln! Schließlich. Ihr nächstes Ziel wird Frostia Stadt sein.
+
+So, could I help you?
+So könnte ich Ihnen helfen?
+
+So, did you brought me the twelve cherry cakes?
+Also, hast du mir die zwölf Kirschkuchen gebracht?
+
+So, do you have the items?
+Also, haben Sie die Einzelteile?
+
+So, for the fertilizer. The thing is, all that thing is unstable.
+Also, für den Dünger. Die Sache ist, alles, was Sache instabil ist.
+
+So, how can I help you today?
+
+
+So, how do you feel? I see that Juliet did a marvellous job! You look like you're in good health now.
+Also, wie fühlen Sie sich? Ich sehe, dass Juliet eine wunderbare Arbeit geleistet hat! Sie sehen aus wie Sie jetzt bei guter Gesundheit sind.
+
+So, if you could bring me %d of them, that would be totally awesome! I'm counting on you!
+
+
+So, if you could bring me %d of them, that would be totally awesome! Pretty please! I'm counting on you!
+
+
+So, if you hired a Mercenary to protect your back... Would you prefer it to attack from rearguard, or charge against certain death, buying you time?
+Also, wenn Sie einen Söldner angeheuert dem Rücken zu schützen ... wollen Sie es von Nachhut oder Anklage gegen den sicheren Tod zu attackieren, Sie Zeit zu kaufen?
+
+So, it is @@ GP each one up-front. Or I can brew with your materials:
+So ist es @@ GP jedes up-front. Oder kann ich mit Ihren Materialien brauen:
+
+So, it is ready?
+So ist es fertig?
+
+So, let's return to the business at hand. My men went down and haven't returned. That was long ago, by the way.
+Also, lasst uns auf das Geschäft in der Hand zurück. Meine Männer gingen nach unten und nicht zurückgekehrt. Das war vor langer Zeit, nebenbei bemerkt.
+
+So, let's work with the last proposal, that you're from an ancient family. We can backtrace what they did.
+So lassen Sie sich die Arbeit mit dem letzten Vorschlag, dass Sie aus einer alten Familie. Wir können Backtrace, was sie taten.
+
+So, only citzens, elves and dwarves are normally welcome here and I'm NOT going to make you an exception.
+Also, nur citzens, Elfen und Zwerge sind in der Regel willkommen hier, und ich werde nicht eine Ausnahme machen.
+
+So, please kill %d/%d %ss for us and make the city a better place!
+
+
+So, please kill 3 @@, which are usually found around our beaches. You can sell their stingers if you are short on money.
+
+
+So, please kill @@/@@ @@ for us and make the world a safer place!
+Also, töten Sie @@ / @@ @@ für uns und die Welt zu einem sichereren Ort machen!
+
+So, please kill a %s for us and make the world a safer place!
+
+
+So, please, come to me with stronger magic powers. And then, I'll teach you a new magic spell.
+Also, bitte, komm zu mir mit stärkeren magischen Kräften. Und dann werde ich Ihnen einen neuen Zauber lehren.
+
+So, please, make the most of your stay and our leather works before this knowledge disappear from the world!
+
+
+So, there is a magical barrier to the right, which is in place exactly to protect us.
+So gibt es eine magische Barriere nach rechts, die genau an seinem Platz ist, uns zu schützen.
+
+So, what about this: You bring me a @@ and I'll tailor anything you need!
+Also, was ist das: Sie bringen mir ein @@ und ich werde Schneider alles, was Sie brauchen!
+
+So, what did he said?
+Also, was hat er gesagt?
+
+So, what do you say about a deal? I'll affiliate you on the Pet Caring Guild for only 5.000 GP!
+Also, was sagst du über einen Deal? Ich werde schreibe dich als Mitglied in die Haustier Pflege Gilde für nur 5.000 GP!
+
+So, what to expect? Past this gate is a panthom town and some steel grating. Past the grating is the actual Impregnable Fortress.
+
+
+So, what will it be?
+Was darf's denn sein?
+
+So, when you get on the door, knock it, and say this: "@@". She will open the door for you.
+
+
+So, where we were again... Oh right, travel to world edge, look for family or whatever, right?
+
+
+So, will you challenge me?
+
+
+So, will you go?
+Also, werden Sie gehen?
+
+So, you are the first and must contact Jesusalva %%g
+
+
+So, you have fulfilled this part of the misssion. Bring %d %s and a %s to Pachua in the Desert Canyon, and say the same thing to him so he knows you're with us.
+
+
+So, you just need to survive for one minute, and I'll consider you are good enough.
+So müssen Sie nur eine Minute, um zu überleben, und ich werde überlegen Sie gut genug sind.
+
+So, you need an alternative way to earn a living. So I looked at what is at highest demand right now, and which will remain once the war ends, and I've found you... %s!
+
+
+So, you want some @@ to keep you comfy on this harsh winter?
+Also, wollen Sie einig @@ Sie auf diesem harten Winter ist bequem zu halten?
+
+So, you would die a few thousands of times before ever reaching Halinarzo.
+So würde man ein paar tausend Mal, bevor überhaupt erreicht Halinarzo sterben.
+
+So. For the info dump or text wall... I'll let you choose what you want to know, or to skip it entirely.
+So. Für die Info-Dump oder Textwand ... Ich lasse Sie entscheiden, was Sie wissen wollen, oder es ganz zu überspringen.
+
+So. Uhm. The monsters here have varying levels of strength... I think the best way is to witness that yourself.
+So. Uhm. Die Monster hier unterschiedliche Ebenen der Kraft haben ... Ich denke, der beste Weg, um Zeuge ist, dass selbst.
+
+So... @@ That night, I cast it as usual. Everything seemed alright so I went to bed.
+So ... @@ In dieser Nacht, warf ich es wie gewohnt. Alles schien in Ordnung so ich zu Bett ging.
+
+So... Anything new on my situation?
+Also ... was Neues auf meiner Situation?
+
+So... Have you tried visiting the Canyons? I know, it is a crazy idea.
+So ... Haben Sie versucht, die Schluchten zu besuchen? Ich weiß, es ist eine verrückte Idee.
+
+So... I think I'm almost done! My plan is to force a @@ into being a pretty Butterfly. Hey, I like cute things!
+So ... Ich glaube, ich fast fertig bin! Mein Plan ist es, ein @@ zu zwingen, in einem hübscher Schmetterling zu sein. Hey, Ich mag nette Sachen!
+
+So... I won't say you can't do it, @@. I will just say killing the Bandit Lord is no easy task.
+Also ... Ich werde nicht sagen, dass Sie es nicht tun, @@. Ich will nur sagen, den Banditen Herren zu töten ist keine leichte Aufgabe.
+
+So... I'm at your hands now... What will you do with me?
+Also ... Ich bin jetzt auf der Hand ... Was willst du mit mir zu tun?
+
+So... You see... I usually pay a lot of attention to my work. Especially when doing something as delicate as sealing away the slimes for the night.
+So ... Sie sehen ... ich zahlen in der Regel eine Menge Aufmerksamkeit auf meine Arbeit. Vor allem, wenn als Dichtungs entfernt die Schleime für die Nacht etwas so zart zu tun.
+
+So? How many *hic* he collect?
+So? Wie viele * hicks * er sammeln?
+
+So? How was it?
+So? Wie war es?
+
+Solana
+
+
+Solo
+
+
+Solo Try
+
+
+Some %ss have buried themselves in the sand near the path to the mine, causing burns to people stepping on them.
+
+
+Some %ss have left the mines and made themselves comfortable in the desert, coming closer than ever to us. When there are none left in the desert, go after their nest in the mines.
+
+
+Some are dangerous, too. Even if you look capable of fighting, the Blue Sage instructed me to prevent anyone from visiting until the mess is cleared.
+Einige sind auch gefährlich. Auch wenn Sie zu kämpfen fähig aussehen, instruiert die Blue Sage mir jemand daran zu hindern, den Besuch, bis das Chaos gelöscht.
+
+Some are just living their own lives. In special, I've spent part of my life studying the Yeti Society.
+Manche leben nur ihr eigenes Leben. In besonderen, ich habe einen Teil meines Lebens Studium die Yeti Gesellschaft ausgegeben.
+
+Some are small, others are bigger. But they all fight together, so be mindful when they're in groups.
+
+
+Some bullets have Elemental Properties, by the way. Now, what will it be?
+Einige Kugeln haben Elemental Eigenschaften, durch die Art und Weise. Nun, was wird es sein?
+
+Some items are only produced in Nivalis. After all, it is hard to work properly with ice in a desert!
+Einige Elemente werden nur in Nivalis hergestellt. Schließlich ist es schwer, in einer Wüste richtig mit Eis zu arbeiten!
+
+Some of finest elven craftmanship can be found there, like bows, for example.
+Einige der besten elfischen craftmanship sind dort zu finden, wie Bögen, zum Beispiel.
+
+Some of my miners friends died in this mine, because there are plenty of dangerous monsters.#0
+
+
+Some of my miners friends died in this mine, because there are plenty of dangerous monsters.#1
+
+
+Some of them are pretty strong. Do you need an explanation about hit'n'run and the monster you're about to face?
+Einige von ihnen sind ziemlich stark. Sie benötigen eine Erklärung über Hit'N'Run und das Monster, das du Gesicht sind dabei zu?
+
+Some other adventurers are looking for it. Please wait %s more.
+
+
+Some others also like to buy them to keep as trophies. Either way, you can make some money with that.
+Einige andere wie auch sie kaufen als Trophäen zu halten. So oder so, können Sie etwas Geld damit machen.
+
+Some people say that I am the best tailor in the world, but I think I am the best one in the universe!
+Manche Leute sagen, dass ich der beste Schneider in der Welt bin, aber ich glaube, ich bin die beste im Universum!
+
+Some people, however, prefer to fish with more unorthodox baits, such as @@ or @@.
+Manche Angler bevorzugen jedoch unorthodoxe Köder, wie @@ oder @@.
+
+Some pets will also collect loot for you, right click on it so it drop whatever it is holding for you.
+Manche Tiere werden auch collect Beute für Sie, rechte Maustaste auf, so fallen lassen, was auch immer es für Dich hält.
+
+Some quests and events, like the festival, are only available during specific times.
+
+
+Some rogue Yetis are trying to escape to Nivalis. I can't hold them back for more than @@.
+Einige Gauner Yetis versuchen, Nivalis zu entkommen. Ich kann sie nicht mehr zurückhalten als @@.
+
+Some smoke still remains, but the fire seems to have died.
+Einiger Rauch noch bleibt, aber das Feuer scheint gestorben zu sein.
+
+Some special items cannot be traded, discarded, nor sold. With a right click, you can also protect normal items as if they were special ones.
+Einige spezielle Elemente können nicht gehandelt werden, verworfen, noch verkauft werden. Mit einem Rechtsklick können Sie auch normale Gegenstände schützen, als ob sie besondere diejenigen waren.
+
+Some types of fish also enjoy @@ quite a bit.
+Manche Fischarten mögen @@ auch ziemlich gern.
+
+Some will only repeat yearly, while other events happen weekly or monthly, or in some other time aspect.
+
+
+Some, but not all, from the rare or non-replaceable items will have a warning when you try to sell them.
+Einige, aber nicht alle, von den seltenen oder nicht auswechselbaren Einzelteile werden eine Warnung, wenn Sie versuchen, sie zu verkaufen.
+
+Somebody already rented it before you!
+Jemand schon vermietet, bevor Sie!
+
+Somebody took your place on this spot!
+Jemand hat deinen Platz eingenommen!
+
+Someone else has already defeated this bounty.
+
+
+Someone else is using the guild storage right now. Please wait.
+Jemand anderes wird mit dem Gilde Speicher jetzt. Warten Sie mal.
+
+Someone fell into the well.
+Jemand fiel in den Brunnen.
+
+Someone looted this treasure box already...
+Jemand plünderten diese Schatzkiste bereits ...
+
+Someone seems to be drowned in the water.
+Jemand scheint im Wasser ertränkt werden.
+
+Someone who have clear priorities appeared! I'm glad!
+Jemand, der klare Prioritäten haben erschienen! Ich bin froh!
+
+Something changed; We should see what is.
+
+
+Something else?
+Noch irgendwas?
+
+Something is happening down there.
+
+
+Something is wrong with me, I can't smile nor sit.
+Irgendwas stimmt nicht mit mir. Ich kenn weder lächeln noch sitzen.
+
+Something seems off with that!
+Etwas scheint mit, dass ab!
+
+Something seems to be happening close to the Throne.
+Etwas scheint nahe dem Thron zu geschehen.
+
+Something seems wrong.
+Etwas scheint falsch.
+
+Something to eat?
+
+
+Something very terrible happened.
+
+
+Sometimes I think it'd be better not to allow visitors here. But Nikolai set a high value on keeping contact with the population. Politics.
+Manchmal denke ich, es besser nicht, damit Besucher hier sein würde. Aber Nikolai legen großen Wert auf die Bevölkerung zu halten Kontakt. Politik.
+
+Sometimes humans come here and play with me. Many thanks for the help!
+Manchmal kommen Menschen hier und mit mir spielen. Vielen Dank für die Hilfe!
+
+Sometimes you just need to run from battle.
+Manchmal braucht man nur von Kampf zu laufen.
+
+Sometimes, you just cannot afford to be hit. But even with a melee weapon, you don't need to be hit.
+Manchmal kann man einfach nicht leisten, getroffen werden. Aber auch mit einer Nahkampfwaffe, brauchen Sie nicht getroffen werden.
+
+Sometimes, you really wish you could visit new universes without having to pick some sort of role on it.
+
+
+Somewhere better to live?
+
+
+Sooo, the police station of Moubootaur Legends went ablaze. Constable Perry is too busy to monitor illegal operation on this continent.
+
+
+Sorcerer
+
+
+Sorcerer Robe
+Sorcerer Robe
+
+Soren
+Soren
+
+Soren Card
+Soren-Karte
+
+Soren Village
+Soren Dorf
+
+Soren xd#Valentine
+
+
+Soren's Fountain
+Soren's Brunnen
+
+Soren's Gizmo
+Soren Gizmo
+
+Soren's House
+Soren's Haus
+
+Soren's House Tutorial
+Soren's Haus Anleitung
+
+Soren's Lake
+Soren's See
+
+Sorfina
+Sorfina
+
+Sorfina recomposes herself.
+Sorfina neu zusammensetzt sich.
+
+Sorry 'mam, I forgot courage on my other set of pants. This one doesn't have enough defense for it.#0
+
+
+Sorry 'mam, I forgot courage on my other set of pants. This one doesn't have enough defense for it.#1
+
+
+Sorry but I am not interested in that.
+Sorry, aber ich bin nicht daran interessiert.
+
+Sorry for making you listen my rambles. I need someone strong, you see...
+Sorry für die Herstellung hören Sie meine Streifzüge. Ich brauche jemanden, stark, sehen Sie ...
+
+Sorry kind lady @@, but no.#0
+
+
+Sorry kind sir @@, but no.#1
+
+
+Sorry pal, but only if another miner vouches for you.
+Leider Kumpel, aber nur, wenn ein anderer Bergmann für Sie bürgt.
+
+Sorry! I forgot to introduce myself. My name is Arpan, but other sailors call me Magic Arpan because I know one or two yaing magic tricks.
+Es tut uns leid! Ich habe vergessen, mich vorzustellen. Mein Name ist Arpan, aber auch andere Segler rufen Sie mich an Magie Arpan, weil ich ein oder zwei yaing Zaubertricks kennen.
+
+Sorry! Sorry!
+Es tut uns leid! Es tut uns leid!
+
+Sorry, @@ already started the fight.
+Sorry, @@ begann bereits den Kampf.
+
+Sorry, I am a newbie.
+Sorry, ich bin ein Neuling.
+
+Sorry, I am busy...
+Tut mir leid, ich bin beschäftigt...
+
+Sorry, I am so hungry as you.
+Sorry, ich bin so hungrig, wie Sie.
+
+Sorry, I can't help you. Go away!
+Sorry, ich kann dir nicht helfen. Geh weg!
+
+Sorry, I don't have any pets at the moment.
+Sorry, ich habe kein Haustier im Moment.
+
+Sorry, I forgot my courage on my other set of pants.
+Sorry, ich habe meinen Mut auf meinem anderen Satz von Hosen.
+
+Sorry, I forgot what you need!
+Sorry, ich habe vergessen, was Sie brauchen!
+
+Sorry, I have nothing.
+Sorry, ich habe nichts.
+
+Sorry, I have to go now.
+Entschuldigung, ich muss jetzt gehen.
+
+Sorry, I have to go.
+Entschuldigung, ich muss gehen.
+
+Sorry, I haven't seen you. My name is Barbara.
+Sorry, ich habe dich nicht gesehen. Mein Name ist Barbara.
+
+Sorry, I misclicked the first button. Have a nice nap, great Crazyfefe!
+Sorry, ich misclicked den ersten Knopf. Haben Sie ein schönes Nickerchen, großer Crazyfefe!
+
+Sorry, I need to better prepare myself.
+Sorry, ich muss mich besser vorbereiten.
+
+Sorry, I only deal with Arcmage cards.
+
+
+Sorry, I'll be back.
+
+
+Sorry, I'll keep my gem.
+
+
+Sorry, I'll pass.
+Sorry, ich werde passieren.
+
+Sorry, I'm babbling. Deliver this letter to Frostia's King. He will know what to do and what you should do.
+Sorry, ich bin plappern. diesen Brief an Frostia König liefern. Er wird wissen, was zu tun ist und was Sie tun sollten.
+
+Sorry, I'm busy with other registrations.
+Tut mir leid, aber ich bin momentan mit anderen Registrierungen beschäftigt.
+
+Sorry, I'm doing other things at the moment.
+Tut mir Leid, ich hab was Wichtigeres zu tun.
+
+Sorry, I'm in hurry.
+
+
+Sorry, I'm more of a coffee person.
+Sorry, ich bin eher ein Kaffee Person.
+
+Sorry, It's not place for me.
+Sorry, es ist nicht Platz für mich.
+
+Sorry, Mister Rakinorf, but it was Lua that said you could help me.
+Sorry, Herr Rakinorf, aber es war Lua, dass das ihr mir helfen könntet.
+
+Sorry, and enjoy the game! Your TMW2 Staff Team.
+Es tut uns Leid, und das Spiel genießen! Ihr TMW2 Mitarbeiter-Team.
+
+Sorry, but I already ate the %s you gave me!
+
+
+Sorry, but I need one of each gem powder, and %d GP.
+Sorry, aber ich brauche ein jeder Edelstein-Pulver, und% d GP.
+
+Sorry, but I need the ingredients and %d GP.
+
+
+Sorry, but I won't dare touch a %s.
+
+
+Sorry, but no entry to Townhall under orders of the council head, Benjamin L.
+
+
+Sorry, but no spoilers. You'll met the Moubootaur soon enough.
+
+
+Sorry, but that's not right.
+Sorry, aber das ist nicht richtig.
+
+Sorry, but that's wrong.
+Sorry, aber das ist falsch.
+
+Sorry, but this quest cannot be done by staff.
+
+
+Sorry, but you don't have what I need.
+Du hast leider nicht, was ich brauche.
+
+Sorry, but you have multiple %s.
+
+
+Sorry, it looks like Saulc wrote on this stone. It is entirely illegible... for now.
+Sorry, es sieht aus wie Saul auf diesem Stein schrieben. Es ist durchaus berechtigt ... vorerst.
+
+Sorry, son. I know how hard this is. But this is teaching you a valuable lesson, your eye will be more sharp for quality wood from now on.#0
+
+
+Sorry, son. I know how hard this is. But this is teaching you a valuable lesson, your eye will be more sharp for quality wood from now on.#1
+
+
+Sorry, sorry! Please rest, great Crazyfefe!
+Entschuldigung! Bitte Ruhe, großer Crazyfefe!
+
+Sorry, that arena is already closed.
+Es tut uns Leid, dass Arena ist bereits geschlossen.
+
+Sorry, that is not the cake I love.
+Sorry, das ist nicht der Kuchen I Liebe.
+
+Sorry, this password was already used on another arena.
+Sorry, das Passwort wurde bereits auf einer anderen Arena verwendet.
+
+Sorry, you do not have enough ingredients. You'd better search thoroughly.
+Sorry, Sie haben nicht genug Zutaten. Sie würden besser gründlich suchen.
+
+Sorry, you don't have any chocolate to pick up.
+Sorry, Sie haben keine Schokolade zu holen.
+
+Sorry, you don't seem to have everything I need.
+
+
+Sorry, you were taking too long to decide and I've rented my sword to somebody else.
+
+
+Sorry. At best, you can try your luck in Halinarzo, but the odds of someone recognizing you are pretty slim.
+Es tut uns leid. Am besten können Sie Ihr Glück in Halinarzo versuchen, aber die Chancen von jemand, den Sie zu erkennen sind ziemlich schlank.
+
+Sorry. The arrays can't have zeros.
+
+
+Soul Menhir automatic saving:
+Soul Menhir automatische Speichern:
+
+Soul Menhir#candor
+Seelen Menhir#candor
+
+Soul Menhir#frost
+
+
+Soul Menhir#hali
+Seelen Menhir#hali
+
+Soul Menhir#hurns
+Seelen Menhir#hurns
+
+Soul Menhir#lil
+
+
+Soul Menhir#lof
+
+
+Soul Menhir#niv
+
+
+Soul Menhir#tulim
+Seelen Menhir#tulim
+
+Soul Stone#001-11
+
+
+Soul Stone#001-12
+
+
+Soul Stone#001-4
+
+
+Soul Stone#0064
+
+
+Sounds awesome, but this will also reset a bunch of your progress... And with something as lame as a %s, you'll need quite a while to warp again. Uh, if you can, bring friends, the Soul Eater is... not to be trifled with.
+
+
+Sounds good!
+Klingt gut!
+
+Sounds good.
+Hört sich gut an.
+
+Southeast Avenue#lof
+
+
+Southwest Avenue
+Southwest Avenue
+
+Southwest Avenue#lof
+
+
+Spawn customized boss
+
+
+Speak with ##BBarzil##b. Tell him it is for the Magic Academy. HURRY UP!
+
+
+Spearmint Tea
+
+
+Special Event Pets
+
+
+Special battle modes will also be available.
+
+
+Specialized in destructive, magical skills.
+Spezialisiert auf destruktiv, magischen Fähigkeiten.
+
+Specialized in miscellaneous skills.
+Spezialisiert auf verschiedene Fähigkeiten.
+
+Specialized in skills with fist-based damage and unarmed mastery.
+
+
+Specialized in skills with weapon-based damage and Assassination.
+Spezialisiert auf Fähigkeiten mit Waffenbasis Schaden und Ermordung.
+
+Specialized in support, buff, debuff and strengthening skills.
+Spezialisiert auf Unterstützung, Buff, Debuff und die Stärkung der Fähigkeiten.
+
+Spectral Orb
+Spectral Orb
+
+Speed Card
+Speed-Karte
+
+Speed Card S
+
+
+Speed Card X
+
+
+Spell Book Page
+Zauberbuchseite
+
+Spend it wisely this time.
+Nutze es dieses Mal weise.
+
+Spider
+
+
+Spider Queen
+
+
+SpikyMushroom
+
+
+Spin daily the card to get prizes!
+Spin täglich um die Karte zu erhalten Preise zu gewinnen!
+
+Spin it!
+Dreh es!
+
+Spin three symbols, and jackpot great rewards!
+Spin drei Symbole und Jackpot große Belohnungen!
+
+Spin!
+Rotieren!
+
+Spinning!
+Spinnen!
+
+Spinning...
+Spinnen...
+
+Sponsor @@ in how much GP?
+Sponsor @@ in wie viel GP?
+
+Sponsor Necklace
+Sponsor Halskette
+
+Sponsors Inn
+Sponsoren Inn
+
+Spring
+Frühling
+
+Spring Squirrel
+Frühlings-Eichhörnchen
+
+Squichy Claws
+Matschige Klauen
+
+Squirrel
+Eichhörnchen
+
+Squirrel Boots
+Eichhörnchen-Stiefel
+
+Squirrel Pelt
+Eichhörnchen Pelt
+
+Squirrels are healthy, but they never attack. They run away from you, so good luck catching it!
+Eichhörnchen sind gesund, aber sie greifen nicht. Sie laufen weg von dir, so viel Glück es zu kontrollieren!
+
+St Patrick's Clover
+St Patrick Klee
+
+St. Patrick Day
+
+
+St. Patrick Gold Pot
+St. Patrick Goldtopf
+
+Staff is not allowed to use this command.
+
+
+Staircase#MKHB
+
+
+Stalman
+Stalman
+
+Standard Magic
+
+
+Standard Tricks
+
+
+Start
+
+
+Start broadcasting
+Ankündigung starten
+
+Start broadcasting, and make an extra broadcast right now
+Ankündigung starten, und sofort eine extra Ankündigung einleiten
+
+Start over
+Neustart
+
+Start!
+Start!
+
+Stat Boost Recipes
+Stat-Boost-Rezepte
+
+Status Condition Cleared
+
+
+Status Reset Potion
+Status zurücksetzen Potion
+
+Status point reset can't be undone. Do you really want this?
+Zurücksetzen der Statuspunkte kann nicht rückgangig gemacht werden. Wirklich zurücksetzen?
+
+Status reset? Sounds illegal!
+Der Status zurückgesetzt? Hört sich illegal!
+
+Status.
+Status.
+
+Status: %s
+
+
+Stay out of harm way. Nothing to see here. Stay away, pathetically weak %s.
+
+
+Stay ready!
+Bleiben Sie bereit!
+
+Stay there?
+Bleib hier?
+
+Stay tuned for announcements regarding raid times to retake the towns.
+
+
+Steal bucket!
+Steal Eimer!
+
+Stealing
+
+
+Steam (LoF Village)
+Steam (LoF Dorf)
+
+Steel Shield
+Stahlschild
+
+Steel Shovel
+Stahl Schaufel
+
+Step backward
+Schritt zurück
+
+Step forward
+Schritt vorwärts
+
+Still haven't found it? Well, keep looking the barrels at this storehouse. I know it's in there, somewhere.
+Noch haben herausgefunden, nicht wahr? Nun, halten die Fässer an diesem Lagerhaus suchen. Ich weiß, dass es da drin ist, irgendwo.
+
+Still interested in extra credit? Now that you're a(n) %s, you can sign this perfectly normal and standard %s, and by helping us out, by helping ME out, you'll gain the extra credit. What do you say? Not a bad deal, right?
+
+
+Still, they can be useful when you're trying to solo a boss and need help. The number of stars on the card is the strength and rarity. Use them wisely.
+Dennoch können sie nützlich sein, wenn Sie solo einen Chef und brauchen Hilfe versuchen. Die Anzahl der Sterne auf der Karte ist die Stärke und Seltenheit. Verwenden Sie sie mit Bedacht aus.
+
+Stone
+
+
+Stop broadcasting
+Ankündigung beenden
+
+Stop it!
+Hör damit auf!
+
+Stop on your tracks, unfair being! Freeze!
+
+
+Stop right there, miscreant. I can see you're AFK, it is written on your hat!
+
+
+Storage Fairy
+Storage-Fee
+
+Strange Coin
+Seltsame Münze
+
+Strange Coins stock on shops was restored!
+
+
+Strange switch status: @@
+Seltsam Schaltzustand: @@
+
+Strangely enough, when he died, he became a ghost. This shouldn't happen, but yet...
+Merkwürdigerweise, als er starb, wurde er ein Gespenst. Dies sollte nicht passieren, aber noch ...
+
+Stranger#LoF
+
+
+Strangers and monsters aren't allowed in MY house!
+Fremde und Monster sind in meinem Haus nicht erlaubt!
+
+Stray Little Blub
+Streu Kleine Birne
+
+Strength
+Stärke
+
+Strength Fruit
+Stärke Frucht
+
+Strength Potion
+Stärke-Trank
+
+Strength Statue
+Stärke Statue
+
+Strength: AGI+, Walk Speed +
+
+
+Strength: ALL
+
+
+Strength: DEX+
+
+
+Strength: INT+
+
+
+Strength: LUK+
+
+
+Strength: NONE
+
+
+Strength: STR+, Carry Weight +
+
+
+Strength: VIT++
+
+
+Strong wind area of effect attack.
+
+
+Strong wind single target attack.
+
+
+Student
+
+
+Student#A01
+
+
+Student#A02
+
+
+Stun
+
+
+Stunning Strike
+
+
+Stupid @@, get out of this cave before I lose my patience!
+Dumm @@, raus aus dieser Höhle, bevor ich die Geduld verlieren!
+
+Stupid @@, get out of this cave before I lose my patience! Mercury... Show up already!
+Dumm @@, raus aus dieser Höhle, bevor ich die Geduld verlieren! Mercury ... zeigen bereits oben!
+
+Success ratio is of aprox. @@ %
+Erfolgsquote ist von ca.. @@%
+
+Success!
+Erfolg!
+
+Successfully Crafted: %s
+
+
+Successive warps cause time-space distortions and are thus not allowed.
+
+
+Such convoys had been made since the Civil War, after all, many feared the Red Queen and moving to the sea was a sure way to stay out of her reach. None had ever heard again of them...
+
+
+Such precious gem, is not something you would give for free, unless you are interested on my... rituals.
+Solche kostbaren Edelstein, ist nicht etwas, das Sie kostenlos geben würde, es sei denn, Sie auf meine ... Rituale interessiert sind.
+
+Sudden Attack
+
+
+Suddenly, a bee appears and attacks you out of NOWHERE!
+
+
+Suddenly, the map %s!
+
+
+Sulfur Powder
+Schwefelpulver
+
+Summary
+Zusammenfassung
+
+Summer
+Sommer
+
+Summoned Monster
+Monster beschworen
+
+Summoning and Homunculus (H) skills can be raised from skill window directly.
+
+
+Summoning is part of Mana Magic. Mana Magic is trickier, you must have control over magic power to use it properly.
+Beschwörungs ist ein Teil von Mana Magie. Mana Magic ist kniffliger, müssen Sie die Kontrolle über magische Kraft haben, um es richtig zu verwenden.
+
+Sunday I am having a Church Party but I forgot to prepare food!
+Sonntag habe ich eine Kirche Partei habe aber ich habe vergessen, um Essen zuzubereiten!
+
+Sunglasses
+Sonnenbrille
+
+Sunny Crystal
+Sunny Kristall
+
+Super Menu
+Super-Menü
+
+Superb stealth, and quick on their toes.
+
+
+Superior Shroom
+
+
+Superior damage on enemies who walk over the fire.
+
+
+Superior single target damage which splashes in area.
+
+
+Supreme Attack
+Supreme Angriff
+
+Supreme Chest
+Supreme Chest
+
+Supreme Gift
+Supreme Geschenk
+
+Supreme Ranger Card
+
+
+Supreme Warrior Card
+
+
+Supreme and Absolute lose to Ancient, but Ancient isn't the strongest power level out there.
+
+
+Sure
+Sicher
+
+Sure!
+Sicher!
+
+Sure! But that is Summon Magic. Just bring me a mug of beer, I'm thristy. And I'll teach you a basic skill.
+
+
+Sure, I'd love to help! What can I do?
+Sicher, ich würde gerne helfen! Was kann ich tun?
+
+Sure, I'll be back.
+
+
+Sure, I'll be right back.
+
+
+Sure, I'll do it.
+Sicher, ich werde es tun.
+
+Sure, I'll help.
+
+
+Sure, gimme the Gold.
+
+
+Sure, gimme the Monster Points.
+
+
+Sure, here you go!
+
+
+Sure, no problem! For this awesome hat which I can make it myself, you'll need to bring me a few items!
+Sicher kein Problem! Aus diesem fantastischen Hut, die ich es selbst machen können, müssen Sie bringen Sie mir ein paar Dinge!
+
+Sure, sure, I'm going...
+
+
+Sure, sure... Why are you even *hic* asking me this, anyway? Do I look like your... *hic* your father or something?!
+Sicher, sicher ... Warum sind Sie selbst * hic * mir dies zu fragen, sowieso? Schaue ich, wie Ihr ... * hicks * Ihr Vater oder etwas ?!
+
+Sure, what could go wrong?
+
+
+Sure, why not?
+Sicher warum nicht?
+
+Sure.
+Sicher.
+
+Sure. Here, take it.
+Sicher. Hier nimm es.
+
+Sure. I like to keep Alcoholic beverages, because they raise EXP gain when you drink @@.
+Sicher. Ich mag Alkoholische Getränke halten, weil sie EXP Gewinn zu erhöhen, wenn Sie @@ trinken.
+
+Surprise me!
+Ãœberrasch mich!
+
+Surprisingly, nothing happens.
+Ãœberraschenderweise geschieht nichts.
+
+Survival Challenge
+
+
+Susanne
+Susanne
+
+Swashbuckler
+
+
+Swezanne
+Swezanne
+
+Swezanne Card
+Swezanne Karte
+
+Switching from strong to weak equipments WON'T make it go any easier on you!
+Der Wechsel von stark bis schwach Ausrüstungen NICHT machen es gehen irgendwie einfacher auf Sie!
+
+Syntax: @wset <map_mask>
+Syntax: @wset <map_mask>
+
+T.T "Someone else killed my Dummy!"
+
+
+T.T "Why I think you are withdrawing information all along?"
+
+
+T0 - Base Bonus
+T0 - Grundbonus
+
+T1 - Accuracy Bonus
+T1 - Genauigkeit Bonus
+
+T1 - Attack Bonus
+T1 - Angriff Bonus
+
+T1 - Defense Bonus
+T1 - Verteidigungsbonus
+
+T1 - Evasion Bonus
+T1 - Evasion Bonus
+
+T2 - Double Power Bonus
+T2 - Double Power Bonus
+
+T2 - Max Stats Bonus
+T2 - Max Statistiken Bonus
+
+T2 - Regeneration Bonus
+T2 - Regeneration Bonus
+
+T2 - Speed Bonus
+T2 - Geschwindigkeit Bonus
+
+T3 - Boss Techniques Bonus
+T3 - Boss Techniques Bonus
+
+T3 - Mana Economy Bonus
+T3 - Mana Economy Bonus
+
+T3 - SC Inflict Bonus
+T3 - SC Inflict Bonus
+
+T3 - SC Resist Bonus
+T3 - SC Resist Bonus
+
+T4 - Ultimate Bonus
+T4 - Entscheidender Bonus
+
+THANK YOU for participating on cross-server Valentine 2020 Event! We hope you had fun!
+
+
+THAT GRIMORIE IS A SUPER DUPER MEGA UPER RARE BOOK, I CANNOT GIVE IT TO ANYBODY ASKING ME ABOUT!!
+DASS GRIMORIE ist ein Super-Duper-MEGA UPER Rara, ICH KANN ES NICHT ZU jemand mir zu fragen !!
+
+THE BLOOD HERE SPILLED TODAY... ONLY ENRAGES HIM MORE...
+DAS BLUT HIER VERSCHÜTTETER TODAY ... NUR Enragés ihn mehr ...
+
+THEN DON'T WASTE MY TIME! My friend could be in danger!
+DANN nicht meine Zeit! Mein Freund in Gefahr sein könnte!
+
+THIS IS A SOLO FIGHT, TEAMS ARE NOT ALLOWED INSIDE.
+Dies ist ein SOLO FIGHT, TEAMS SIND NICHT ZUGELASSEN INSIDE.
+
+THIS IS MOUBOOTAUR LEGENDS TEST SERVER.
+
+
+THIS IS THE MOUBOOTAUR TEMPLE RUINS... THIS PLACE IS SACRED...
+DIES IST DIE MOUBOOTAUR Tempelruinen ... Dieser Ort ist SACRED ...
+
+TMW Adventure
+TMW Abenteuer
+
+TMW2
+TMW2
+
+TMW2 Day marks the server birthdate. Do not mistake with TMW2 Anniversary.
+TMW2 Day markiert den Server birth. Nicht mit TMW2 Jahrestag verwechseln.
+
+TMW2 Staff
+TMW2 Mitarbeiter
+
+TUTORIAL
+
+
+Taenya
+
+
+Take care though, don't attack them when they are in group!
+Achten Sie darauf, aber nicht angreifen sie, wenn sie in der Gruppe sind!
+
+Take care!
+Pass auf dich auf!
+
+Take care, adventurer!
+Achten Sie darauf, Abenteurer!
+
+Take care. Here, take this @@. You can sell it for some quick-spot cash, or use it as a weapon.
+Sich kümmern. Hier nimm das @@. Sie können es für einige schnell vor Ort bar verkaufen oder sie als Waffe benutzen.
+
+Take care. This is a dangerous world, but I think that worse than being attacked by sea monsters, is starving from hunger!
+Sich kümmern. Das ist eine gefährliche Welt, aber ich denke, dass schlechter als von Seeungeheuer angegriffen zu werden, von Hunger hungern!
+
+Take care: Secret passages can be dangerous places (or not).
+Achten Sie darauf: Geheime Passagen können gefährliche Orte sein (oder nicht).
+
+Take it!
+Nimm es!
+
+Take it?
+Nimm es?
+
+Take much care with it. It is a very, very rare drop from a rare monster from a difficult, high level area.
+Nehmen Sie viel Sorgfalt mit ihm. Es ist ein sehr, sehr selten Tropfen aus einem seltenen Monster von einem schwierigen, hohen Bereich.
+
+Take the bottle?
+Nehmen Sie die Flasche?
+
+Take the riddle?
+Nehmen Sie das Rätsel?
+
+Take this @@ to prove you're one of us! Could you also invite Elmo? Thanks, matey!
+Nehmen Sie dieses @@ Du bist einer von uns zu beweisen! Könnten Sie auch Elmo einladen? Danke, kameradschaftlich!
+
+Take this @@. It might save your life on the secret mission you're about to be assigned to.
+Nimm das @@. Es könnte Ihr Leben auf der geheimen Mission sparen Sie gleich zugeordnet werden.
+
+Take this badge, so you can enter the guard house. You will find more work there. Bye, and good luck!
+
+
+Take this spare @@ I did. It heals fully and instantly, so don't hesit to use it if you're about to die.
+Nehmen Sie diesen Ersatz @@ mich. Es heilt vollständig und sofort, so zögern Sie nicht, es zu benutzen, wenn Sie im Begriff sind zu sterben.
+
+Take this with you. And please bring Arthur back, the world needs him!
+
+
+Taking your sturdy glove, you attempt to walk by the wall! You are betting your life on it!
+Unter Ihrem robusten Handschuh, versuchen Sie durch die Wand zu gehen! Sie wetten Ihr Leben davon!
+
+Talindra
+
+
+Talk to @@
+Reden mit @@
+
+Talk to Hocus in Porthos (via Menhir) to enroll.
+
+
+Talk to Nard to unlock the door.
+Sprechen Sie mit Nard die Tür zu entriegeln.
+
+Talk to Soul Menhir to engage the boss. Time limit = 1 hour.
+
+
+Talk to Zitoni, and deliver the @@. I can't give you another one, they're super rare.
+Sprechen Sie mit Zitoni und die @@ liefern. Ich kann Ihnen nicht ein anderes geben, sie sind super selten.
+
+Talk to Zitoni, the Alchemist of Candor. He may look humble, but he is the greatest alchemist of this world. I need five @@.
+Sprechen Sie mit Zitoni, der Alchemist von Candor. Er sieht vielleicht bescheiden, aber er ist der größte Alchemist von dieser Welt. Ich brauche fünf @@.
+
+Talk to the Fountain. Pour the potion on it. I advise you to put all your points on int if possible.
+Sprechen Sie mit dem Brunnen. Gießen Sie den Trank darauf. Ich rate Ihnen, alle Ihre Punkte auf int zu setzen, wenn möglich.
+
+Talk to the waitress to get some food. Enjoy the show! And you can sleep on the 3rd Floor.
+Sprechen Sie mit der Kellnerin etwas zu essen zu bekommen. Geniessen Sie die Vorstellung! Und Sie können sich auf der 3. Etage schlafen.
+
+Talk to you later!
+Spreche dich später!
+
+Talk to you soon!
+Wir sprechen uns bald!
+
+Tamed Snake
+
+
+Tamed Snake Egg
+
+
+Tametomo
+
+
+Tamiloc
+Tamiloc
+
+Taree
+Taree
+
+Tax crafters
+Steuer Bastler
+
+Taxes lowered
+Steuern gesenkt
+
+Taxes raised
+Steuern angehoben
+
+Taxes will fall in 0.01~0.03%, capped at 0.00%
+Steuern werden in 0,01 ~ 0,03% fallen, um 0,00% gekappt
+
+Taxes will raise in 0.02~0.05%, capped at 15%.
+
+
+Tea party! I want to participate.
+Tee-Party! Ich will mitmachen.
+
+Teaching %s your skills will make you both forget them.
+
+
+Teaching you how to study will take from my time, so I'll want a small compromise of %s GP to make sure you will actually make good use of it.
+
+
+Teal Dye
+Teal Dye
+
+Tech-User Forge
+Tech-User-Forge
+
+Technician
+
+
+Tell me about Artis.
+Erzähle mir etwas über Artis.
+
+Tell me about Fortress Town.
+
+
+Tell me about Frostia.
+Erzähle mir etwas über Frostia.
+
+Tell me about Halinarzo.
+Erzähle mir etwas über Halinarzo.
+
+Tell me about Hurnscald.
+Erzähle mir etwas über Hurnscald.
+
+Tell me about Nivalis.
+Erzähle mir etwas über Nivalis.
+
+Tell me about Thermin.
+Erzähl mir von Theremin.
+
+Tell me about Tulimshar.
+Erzähle mir etwas über Tulimshar.
+
+Tell me about the Civil War.
+
+
+Tell me about the Great Fire.
+
+
+Tell me about the Land Of Fire.
+Sagen Sie mir über das Land des Feuers.
+
+Tell me about the Mana War.
+
+
+Tell me about the Monster War.
+
+
+Tell me how or I'll kill you!
+Sag mir, wie oder ich werde dich töten!
+
+Tell me which language you speak and I will change the note on the ship passenger list.
+Sag mir, welche Sprache Sie sprechen, und ich werde die Notiz auf dem Schiff Passagierliste ändern.
+
+Tell people the name of a new hero.
+Sagen Sie den Leuten den Namen eines neuen Helden.
+
+Tempest
+
+
+Ten, fifty, thousand... Yep, this is the amount I've asked for.
+Zehn, fünfzig, tausend ... Ja, das ist der Betrag, den ich gefragt habe.
+
+Tench
+Schleie
+
+Tengu
+
+
+Tentacles
+Tentakeln
+
+Teraa
+Teraa
+
+Terranite
+Terranite
+
+Terranite Armor
+Terranite Rüstung
+
+Terranite Blueprint
+
+
+Terranite Boots
+Terranite Schuhe
+
+Terranite Gloves
+Terranite Handschuhe
+
+Terranite Helmet
+Terranite Helmet
+
+Terranite Ingot
+Terranite Ingot
+
+Terranite King
+Terranite König
+
+Terranite Mask
+Terranite Mask
+
+Terranite Ore
+Terranite Erz
+
+Terranite Ore (3 power)
+
+
+Terranite Ore is a really special item. People without helmets can't understand @@'s real power, anyway if you could give me some of them you would understand why they are so special.
+Terranite Ore ist ein ganz besonderes Element. Menschen ohne Helm kann nicht verstehen, @@ 's wirkliche Macht, sowieso, wenn Sie mir einige von ihnen geben könnten Sie würde verstehen, warum sie so besonders sind.
+
+Terranite Pants
+Terranite Hose
+
+Terranite Protector
+Terranite Schutz
+
+Terranite probably mined part of this mine long time ago.
+Terranite wahrscheinlich vor Teil dieser Mine lange Zeit abgebaut.
+
+Terrible manaquake hits the whole world, causing dramatic changes!
+Terrible manaquake trifft die ganze Welt, was zu dramatischen Veränderungen!
+
+Terrible. You know almost nothing from world lore...
+Schrecklich. Sie wissen so gut wie nichts von Welt Lore ...
+
+Test
+Test
+
+Test MOTD
+Test MOTD
+
+Teuvo
+Teuvo
+
+Text Wall Density
+Text Wand Dichte
+
+Tezzerin
+Tezzerin
+
+Thank you for being with us for so long. You gained a %s as a random good-hearted action from the team!
+
+
+Thank you for helping me make my tea. I hope the potions have been helpful...
+Vielen Dank für die Hilfe bei meinem Tee zu machen. Ich hoffe, die Tränke hilfreich gewesen sein ...
+
+Thank you for your help.
+Danke für Deine Hilfe.
+
+Thank you so much! That might not bring my friends back, but will make this island much safer!
+Ich danke dir sehr! Das könnte bringen meine Freunde nicht zurück, sondern wird diese Insel viel sicherer machen!
+
+Thank you soooo much! Here is some compensation, and you can keep this worthless scroll of paper! I looooove Pearls!
+
+
+Thank you! Here is some compensation, and you can keep this worthless scroll of paper! I looooove Pearls!
+
+
+Thank you! Thank you! Savior!#0
+
+
+Thank you! Thank you! Savior!#1
+
+
+Thank you! That's very generous of you.
+Vielen Dank! Das ist sehr großzügig von Ihnen.
+
+Thank you, @@. Please take this pair of gloves as a thank you.
+Vielen Dank, @@. Bitte nehmen Sie dieses Paar Handschuhe als es Ihnen danken.
+
+Thank you, We are now friends, You can visit us when you want!
+Vielen Dank, wir sind jetzt Freunde, Sie können uns besuchen, wenn Sie wollen!
+
+Thank you, here is your reward and... some pocket money.
+Vielen Dank, hier ist euer Lohn und ... etwas Taschengeld.
+
+Thank you, here is your reward.
+Danke, hier ist deine Belohnung.
+
+Thank you, tell her to come to the bakery at... Actually, nevermind. Just give her this note.
+
+
+Thank you.
+Danke.
+
+Thank you. I'll wait here.
+Danke. Ich werde hier warten.
+
+Thank you...
+Vielen Dank...
+
+Thankfully that item is too rare. I want somebody to slay the bandit leader, but if you want to do it, you must prove yourself.
+Zum Glück ist das Element zu selten. Ich will jemanden, der Bandit Führer zu töten, aber wenn Sie es tun wollen, müssen Sie sich beweisen.
+
+Thanks God... The crops are safe. Not only that, but the fertilizer works!
+Gott sei Dank ... Die Kulturpflanzen sind sicher. Nicht nur das, sondern die Düngemittel funktioniert!
+
+Thanks Lilica.
+Dank Lilica.
+
+Thanks a lot for your help revealing the truth.
+Vielen Dank für Ihre Hilfe, die Wahrheit enthüllt.
+
+Thanks a lot!
+Vielen Dank!
+
+Thanks again for the help. You have proven that you are resourceful.
+Nochmals vielen Dank für die Hilfe. Sie haben bewiesen, dass Sie einfallsreich sind.
+
+Thanks again for the help. You have proven that you are resourceful. Come back again later.
+Nochmals vielen Dank für die Hilfe. Sie haben bewiesen, dass Sie einfallsreich sind. Kommen Sie es später noch einmal zurück.
+
+Thanks again for your investigations. It was a great help.
+Nochmals vielen Dank für Ihre Untersuchungen. Es war eine große Hilfe.
+
+Thanks for Helping with clear out the store room!
+Danke für die Hilfe bei räumen den Lagerraum!
+
+Thanks for all of your help!
+Vielen Dank für Ihre Hilfe!
+
+Thanks for attending even this selfish request of mine.
+Vielen Dank für selbst diesen egoistischen Wunsch von mir besucht.
+
+Thanks for attending my call. As you can clearly see, the town is deserted; We only have our own staff in this town.
+
+
+Thanks for avenging my father.
+Vielen Dank für meinen Vater zu rächen.
+
+Thanks for donating blood. You can donate again in 30 days.
+Vielen Dank für die Spende Blut. Sie können in 30 Tagen wieder spenden.
+
+Thanks for feeding us earlier. I wanted to give a great dinner to my family, even if just once.
+Vielen Dank für die Fütterung uns früher. Ich wollte ein tolles Abendessen zu meiner Familie geben, selbst wenn es nur einmal.
+
+Thanks for help! Other guards may need help too!
+Danke für die Hilfe! Andere Wachen können jede Hilfe benötigen!
+
+Thanks for helping me out! Here, take this bag. Now if you excuse me...
+Vielen Dank für die Hilfe aus! Hier, nimm diese Tasche. Nun, wenn Sie mich entschuldigen ...
+
+Thanks for helping me out. I know this is nothing, but please accept these herbs I've collected.
+Dank für die Hilfe aus. Ich weiß, das ist nichts, aber akzeptieren bitte diese Kräuter ich gesammelt habe.
+
+Thanks for helping me this month. Here is my card, just call me if you need.
+Danke, dass ich in diesem Monat zu helfen. Hier ist meine Karte, rufen Sie mich einfach, wenn Sie benötigen.
+
+Thanks for helping my husband. I'll think if there's something I can do for you, why don't you help Oscar on the meanwhile...?
+Vielen Dank für meinen Mann zu helfen. Ich werde denken, wenn es etwas, was ich für Sie tun können, warum Sie nicht Oscar helfen auf der mittlerweile ...?
+
+Thanks for helping my shop earlier. I forge weapons, but unfortunately, I need more than just iron to forge them.
+Vielen Dank für mein Geschäft früher zu helfen. Ich schmieden Waffen, aber leider, ich brauche mehr als nur Eisen, sie zu fälschen.
+
+Thanks for helping my son. Here, take 300 GP for your troubles.
+Vielen Dank für meinen Sohn zu helfen. Hier nehmen 300 GP für Ihre Mühen.
+
+Thanks for helping my wife! Here is, an @@. May the Mouboo watch over you! o.o
+Danke für die Hilfe meiner Frau! Hier ist ein @@. Kann über Sie die Mouboo sehen! o.o
+
+Thanks for helping my wife, I'll be forever grateful.
+Vielen Dank für meine Frau zu helfen, werde ich immer dankbar sein.
+
+Thanks for helping out here. Do you need anything else?
+Danke für die Hilfe hier. Brauchst du noch was?
+
+Thanks for helping us the last year. I hope to have your help by the next year.
+Vielen Dank für das letzte Jahr zu helfen. Ich hoffe, Ihre Hilfe durch das nächste Jahr zu haben.
+
+Thanks for helping!
+
+
+Thanks for listening to my rambles. I'll gift you a @@. Of course, having a wand won't give you magic...
+Dank für das Hören von meinen Streifzügen. Ich werde Geschenk, das Sie eine @@. Natürlich werden Sie einen Zauberstab, die keine Magie geben ...
+
+Thanks for playing with us! Can you find my friends?
+Vielen Dank für die mit uns spielen! Können Sie meine Freunde finden?
+
+Thanks for playing!
+
+
+Thanks for saving Tulimshar from a famine. I'll be forever grateful.
+Vielen Dank für Tulimshar von einer Hungersnot zu retten. Ich werde für immer dankbar sein.
+
+Thanks for saving me. I'll return home on my own, if you don't mind.
+Vielen Dank für mich zu retten. Ich werde zu Hause auf meinem eigenen zurückkehren, wenn Sie nichts dagegen haben.
+
+Thanks for the %s you gave me the other day.
+
+
+Thanks for the Silk Cocoons. With these the new books are going to be exquisite.
+Vielen Dank für die Seidenkokons. Mit diesen die neuen Bücher werden exquisite sein.
+
+Thanks for the help earlier.
+
+
+Thanks for the help earlier. Unfortunately, I had no luck yet.
+
+
+Thanks for the help!
+Danke für die Hilfe!
+
+Thanks for the help! Arr, that was some fine ale, indeed!
+Danke für die Hilfe! Arr, das war einige feine ale, in der Tat!
+
+Thanks for the help! If you help people, they'll start trusting you. Once they trust you, they'll give you quests which are very important to them;
+Danke für die Hilfe! Wenn Sie den Menschen helfen, werden sie im Vertrauen Sie beginnen. Sobald sie Ihnen vertrauen, werden sie Ihnen Quests geben, die ihnen sehr wichtig sind;
+
+Thanks for the help! Yummy!
+Danke für die Hilfe! Lecker!
+
+Thanks for the help, I guess...?
+
+
+Thanks for the help, but no.
+Danke für die Hilfe, aber nein.
+
+Thanks for the help.
+Danke für die Hilfe.
+
+Thanks for the help. Here, take this shirt and some money.
+Danke für die Hilfe. Hier, nehmen Sie dieses Hemd und etwas Geld.
+
+Thanks for the honestity, I guess.
+Vielen Dank für die honestity, denke ich.
+
+Thanks for the kindness, but you don't have enough. I need 5!
+Vielen Dank für die Freundlichkeit, aber Sie haben nicht genug. Ich brauche 5!
+
+Thanks for the nice gift!
+Vielen Dank für das schöne Geschenk!
+
+Thanks for the pages you brought. There are still some missing.
+Vielen Dank für die Seiten, die Sie gebracht. Es fehlen noch einige.
+
+Thanks for travelling with Andrei Sakar to Artis! However, as you see, this town is deserted.
+
+
+Thanks for using my services!
+
+
+Thanks for vanishing the source of the curse.
+
+
+Thanks for your help with the inks! Now I'll be able to fulfill my tasks adequately. Some of these books were really valuable, and it's important to recreate them as good as possible.
+Vielen Dank für Ihre Hilfe bei den Tinten! Jetzt werde ich in der Lage sein, meine Aufgaben angemessen zu erfüllen. Einige dieser Bücher waren sehr wertvoll, und es ist wichtig, sie so gut wie möglich nachzubilden.
+
+Thanks for your help!
+Danke für deine Hilfe!
+
+Thanks for your help, anyway.
+
+
+Thanks for your patronage! The rewards will be available with @@, in case I do find the paradise!
+Vielen Dank für Ihre Schirmherrschaft! Die Belohnungen werden mit @@ verfügbar sein, falls ich das Paradies!
+
+Thanks for your services, knight. One day, you might even deserve a seat at this castle.
+
+
+Thanks for your wise words.
+
+
+Thanks mate, that is everything I need! Have a good day!
+Dank Kumpel, das ist alles, was ich brauche! Haben Sie einen guten Tag!
+
+Thanks once again, I know it's not much but here is @@ GP for your troubles.
+Noch einmal vielen Dank, ich weiß, es ist nicht viel, aber hier ist @@ GP für Ihre Mühen.
+
+Thanks to pirate activity, dye has become more difficult to obtain lately.
+
+
+Thanks to this, we can now respawn after death. But that's when the prophecy was told. The prophecy... Of the death of all humans. It gives me shivers.
+Dank dieser Tatsache können wir nun nach dem Tod respawnen. Aber das ist, wenn die Prophezeiung gesagt wurde. Die Prophezeiung ... Von dem Tod aller Menschen. Es schaudert mich.
+
+Thanks to you, lowly %s, we will soon have water we deserve!
+
+
+Thanks to you, my friend, we will soon have good water to drink.#0
+
+
+Thanks to you, my friend, we will soon have good water to drink.#1
+
+
+Thanks to you, our glue supply is replenished and we can repair those books.
+Dank Ihnen, unsere Leimversorgung nachgefüllt und wir können diese Bücher reparieren.
+
+Thanks!
+Danke!
+
+Thanks! Here you go. Perhaps you need another one?
+Vielen Dank! Bitte schön. Vielleicht brauchen Sie eine andere?
+
+Thanks! Here you go. Perhaps you want another one?
+
+
+Thanks! Here's your dye. Do you want to trade any more?
+
+
+Thanks! I'll enjoy it! Here is the promised reward.
+
+
+Thanks! I'll enjoy it! Here, you can keep this.
+
+
+Thanks! Please come back in two hours, then I'll have the trousers ready.
+Vielen Dank! Bitte kommen Sie in zwei Stunden zurück, dann werde ich die Hose fertig haben.
+
+Thanks! Thanks! Savior! Hurry up!#0
+
+
+Thanks! Thanks! Savior! Hurry up!#1
+
+
+Thanks, @@. We just wanted to be sure it was you.
+Vielen Dank, @@. Wir wollten nur sicher sein, es ist Sie.
+
+Thanks, I knew I could count on you!
+
+
+Thanks, I owe you one!
+
+
+Thanks, I think I'll continue exploring.
+
+
+Thanks, I'll just bake the Elixir right away...!
+Danke, ich werde nur das Elixier backen sofort ...!
+
+Thanks, and bye.
+Danke und Tschüss.
+
+Thanks, come back and see me once you found the bug bomb and set it off.
+Danke, kommen zurück und sehen Sie mich, wenn Sie die Fehler Bombe gefunden und stellte es ab.
+
+Thanks, enjoy your tea! I will certainly enjoy mine!
+Danke, genießen Sie Ihren Tee! Ich werde mein sicherlich genießen!
+
+Thanks, gal!#0
+
+
+Thanks, here is your hat!
+
+
+Thanks, my friend. Here's some money.#0
+
+
+Thanks, my friend. Here's some money.#1
+
+
+Thanks, my friend.#0
+
+
+Thanks, my friend.#1
+
+
+Thanks, my liege.
+Danke, mein König.
+
+Thanks, pal!#1
+
+
+Thanks, pal. I still got some matters to discuss with the Blue Sage if you excuse me.
+Danke Kumpel. Ich noch einige Fragen bekam mit dem Blue Sage zu diskutieren, wenn Sie mich entschuldigen.
+
+Thanks, pal. See you tomorrow.
+Danke Kumpel. Bis morgen.
+
+Thanks, please tell him I'll make his favorite dish. Oh, could you also deliver him this %s?
+
+
+Thanks, they don't like to drop their Antennas.
+Danke, sie nicht wie ihre Antennen fallen zu lassen.
+
+Thanks, they hate to drop their Legs.
+Danke, sie hassen ihre Beine fallen zu lassen.
+
+Thanks, this is very handy.
+Danke, das ist sehr praktisch.
+
+Thanks.
+Danke.
+
+Thanks. A pleasure doing business with you.
+Vielen Dank. Ein Vergnügen, mit Ihnen ins Geschäft.
+
+Thanks. Do you know the KALSPIKE magic? It allows you to summon Poison Spiky Mushroom. Just use a spore.
+Vielen Dank. Kennen Sie die KALSPIKE Magie? Es ermöglicht Ihnen, beschworen Gift Spiky Pilz. Verwenden Sie einfach eine Spore.
+
+Thanks. I am willing to share you more magic, if you're interested.
+
+
+Thanks. I'm actually conducting experiments with scorpions. Please come back later.
+Vielen Dank. Ich bin die Durchführung tatsächlich Experimente mit Skorpionen. Bitte komme später zurück.
+
+Thanks. It is my pleasure.
+
+
+Thanks. Maybe I should stop using Maggot Slime as a bait.
+
+
+Thanks. Please come back later, there is something I want to do for you.
+Vielen Dank. Bitte kommen Sie später wieder, gibt es etwas, was ich für Sie tun möchten.
+
+Thanks. Snakes seems promising indeed! Maybe they work where scorpions failed. If I succeed, I promise I'll teach you the spell. But for now...
+Vielen Dank. Schlangen scheinen vielversprechend in der Tat! Vielleicht sie arbeiten, wo Skorpione gescheitert. Wenn es mir gelingt, das verspreche ich, werde ich Ihnen den Zauber lehren. Aber für den Moment...
+
+Thanks. Take this spare pair of gloves and some change.
+Vielen Dank. Nehmen Sie diesen Ersatz Paar Handschuhe und etwas ändern.
+
+Thanks. You can go, now.
+Vielen Dank. Du kannst jetzt gehen.
+
+Thanks... I guess...
+Danke ... Ich denke, ...
+
+Thanks... I guess...#0
+
+
+Thanks... I guess...#1
+
+
+Thanksgiving
+
+
+That annoying guy on the side of the tree is annoying. I want to ban him.
+Der lästige Kerl auf der Seite des Baumes ist ärgerlich. Ich will ihn verbieten.
+
+That aside, I see you've helped Hurnscald Mayor, Nivalis Mayor, Halinarzo Librarian and even the Alliance Representative in Tulimshar!
+Davon abgesehen, ich sehe, Sie haben dazu beigetragen, Hurnscald Mayor, Nivalis Mayor, Halinarzo Librarian und sogar die Allianz Vertreter in Tulimshar!
+
+That being said, I'll give you an @@, which allows you to learn a skill even if you can't pay for it.
+That being said, ich gebe Ihnen ein @@, das Ihnen erlaubt, eine Fähigkeit, selbst zu lernen, wenn sie es nicht bezahlen kann.
+
+That can be done pressing F2 and opening char screen.
+Das kann getan werden, drücken F2 und char-Bildschirm zu öffnen.
+
+That can explain why we have difficulties to find rare gems here. They probably were already extracted.
+Das kann erklären, warum wir Schwierigkeiten haben, um seltene Edelsteine ​​finden Sie hier. Sie wurden wahrscheinlich bereits extrahiert.
+
+That depends on your luck!#0
+Das hängt von deinem Glück ab!#0
+
+That depends on your luck!#1
+Das hängt von deinem Glück ab!#1
+
+That didn't work!
+Das hat nicht funktioniert!
+
+That indeed is true, you can see a pile of rusty knives on the nearby table.
+
+
+That is a pity...
+Das ist schade...
+
+That is a rare, precious book, which writes itself!
+Das ist ein seltenes, kostbares Buch, das selbst schreibt!
+
+That is not how things are done here.
+
+
+That is quite impressive, but you can perform better with more training.
+Das ist ziemlich beeindruckend, aber man kann eine bessere Leistung mit mehr Training.
+
+That is why I need your help. If you can 'take care of' a bunch of pious and bring me their feathers as proof, I will give you a reward.
+
+
+That is.
+Das ist.
+
+That lazy mayor... He can't do anything on his own!! Sure, what do you need?
+Dass fauler Bürgermeister ... Er kann nichts auf eigene Faust tun !! Sicher, was brauchen Sie?
+
+That rat... I already spent @@ @@ with him!!
+Das Ratte ... ich schon ausgegeben @@ @@ mit ihm !!
+
+That reminds me. I have a friend in Nivalis named Miler who gave me some hints on the recipe. Would you take him a sample of what I gave you?
+Das erinnert mich. Ich habe einen Freund in Nivalis namens Miler, der mir einige Hinweise auf das Rezept gab. Würden Sie ihm eine Probe nehmen, was ich dir gegeben habe?
+
+That she was one of the originals.
+
+
+That she would stop the Soul Eater in past and future.
+
+
+That shouldn't been too hard, but do I get something in return?
+Das sollte nicht zu hart gewesen, aber ich etwas dafür bekommen?
+
+That skill was only to allow you to practice. Now listen well: Transmutation is ##BNOT##b crafting!
+
+
+That was @@.
+Das war @@.
+
+That was a Moubootaur's temple. It is not the kind of place to give a stroll on the park.
+Das war ein Tempel des Moubootaur. Es ist nicht die Art von Ort, um einen Spaziergang auf dem Park zu geben.
+
+That was far @@.
+Das war weit @@.
+
+That was fast. Do not forget to sell their... parts... for some extra cash.
+Das war schnell. Vergessen Sie nicht, ihre ... Teile zu verkaufen ... für etwas mehr Geld.
+
+That was only to prove you're strong enough on yourself to do whatever you want to do. You have friends.
+Das war nur du bist stark genug, um auf sich selbst zu beweisen, zu tun, was Sie tun möchten. Du hast Freunde.
+
+That was quite close. Impressive!
+Das war ganz in der Nähe. Beeindruckend!
+
+That will be %s GP. Are you sure?
+
+
+That will help you to make your very first first craft! Remember to use @@ to change which bonuses can be applied to your craft items.
+Das werden Ihnen helfen, Ihr allererste erstes Handwerk zu machen! Denken Sie daran, verwenden @@ zu ändern, die Boni können auf Ihre handwerklichen Produkten angewendet werden.
+
+That won't do it. I want to see PINK BLOOD! No... not so cluttered. Just kill the Pinkies on my farm.
+Das wird es nicht. Ich möchte PINK BLOOD sehen! Nein ... nicht so überladen. töten nur die Pinkies auf meiner Farm.
+
+That works with most of monsters. Well, but we all know from @@ that it is better to stay put and let mobs kill us, right?
+Das funktioniert mit den meisten Monstern. Nun ja, aber wir alle wissen von @@, dass es besser ist, setzen zu bleiben und lassen Mobs uns töten, nicht wahr?
+
+That would be your next destination, but first, the monster army must be driven out!
+Das wäre Ihr nächstes Ziel sein, aber zuerst muss das Monster Armee verjagt werden!
+
+That wouldn't be fair to you, though. So, you don't need to defeat me.
+Das wäre nicht fair zu dir, aber sein. So brauchen Sie nicht, mich zu besiegen.
+
+That'll be %s GP.
+
+
+That'll cost you @@/@@ @@.
+Das wird kostet Sie @@ / @@ @@.
+
+That's %d seconds better than your previous record!
+
+
+That's a *hic* precious item, and you're *hic* not nearly *hic* strong or worth enough to use it!
+Das ist eine * hicks * Kostbarkeit, und du bist * hicks * nicht annähernd * hicks * stark oder wert genug, um es zu benutzen!
+
+That's a Summon Magic. Unlike regular magic, you can increase its levels directly from skill menu (F5).
+
+
+That's a lot, but I think it will be worth it.
+Das ist viel, aber ich denke, es ist es wert sein wird.
+
+That's a lot, but we have a deal!
+Das ist viel, aber wir haben einen Deal!
+
+That's a pity.
+Das ist schade.
+
+That's a pity. Well, if you change your mind, come back any time.
+Das ist schade. Nun, wenn Sie Ihre Meinung ändern, kommen jederzeit wieder.
+
+That's a really strange letter from Mr. Frozenheart.
+Das ist ein wirklich seltsamer Brief von Herrn Frozenheart.
+
+That's a super rare potion, and it expires after some time. Take care!
+Das ist ein super rare Trank, und es läuft nach einiger Zeit. Sich kümmern!
+
+That's all, thanks!
+
+
+That's basically how democracy works. You are warranted to stay on the office until something goes gravely wrong.
+Das ist im Grunde, wie Demokratie funktioniert. Sie sind gerechtfertigt, auf dem Amt zu bleiben, bis etwas ernsthaft schief geht.
+
+That's because you weren't paying attention!
+
+
+That's easy to know, because the bandits are less coordinated. Perhaps we will be able to sleep in peace this night!
+Das ist einfach zu wissen, weil die Banditen sind weniger koordiniert. Vielleicht werden wir in dieser Nacht in Ruhe schlafen können!
+
+That's easy. Cynric will save your money when you ask him to deposit. Or you pick up your money by asking to withdraw.
+Das ist leicht. Cynric Ihr Geld sparen, wenn man ihn fragt, abzuscheiden. Oder Sie Ihr Geld abholen durch zurückzuziehen fragen.
+
+That's everything I wanted to know.
+Das ist alles, was ich wissen wollte.
+
+That's exactly what I needed!
+Das ist genau, was ich gebraucht habe!
+
+That's exactly why you can't use it to get water. Silly.
+Das ist genau, warum Sie kann es nicht Wasser zu bekommen verwenden. Dumm.
+
+That's how this world inhabitants deal with cheaters... So don't be one, my friend. You have been warned!
+Das ist, wie diese Welt Bewohner mit Betrügern beschäftigen ... Also seien Sie nicht ein, mein Freund. Du wurdest gewarnt!
+
+That's just a friendly advise. That's how things works around here.
+Das ist nur eine freundliche Beratung. Das ist, wie die Dinge funktionieren hier.
+
+That's just nonsense though, I've been there thousands of times and saw no such thing.
+Das ist gerade Unsinn obwohl ist, ich habe es tausende Male gewesen und sah nicht so etwas.
+
+That's nice, but... I don't have a recipe book.
+Das ist schön, aber ... Ich habe kein Rezeptbuch hat.
+
+That's none of your bussiness! We should leave here NOW!
+Das geht dich nichts an! Wir sollten hier jetzt gehen!
+
+That's not *hic*... That's not what I asked you for...
+Das ist nicht * hicks * ... Das ist nicht das, was ich fragte Sie ...
+
+That's not a couple of skins.
+Das ist nicht ein paar Skin.
+
+That's not everything, though. I am having a bad time fishing. Bring me a @@. I know, it is rare. Good luck with it.
+Das ist nicht alles, aber. Ich habe eine schlechte Zeit Angeln. Bring mir eine @@. Ich weiß, es ist selten. Viel Glück damit.
+
+That's obviously impossible, so I'll voiding your result!
+
+
+That's ok, kid... I can't read, anyway.
+Das ist in Ordnung, Kind ... Ich kann nicht lesen, sowieso.
+
+That's right, this is unheard of where I come from.
+
+
+That's right.
+Das ist richtig.
+
+That's rude. I never did anything to you.
+Das ist unhöflich. Ich habe nie etwas für Sie.
+
+That's sad to hear.
+Das ist traurig zu hören.
+
+That's some good white for you've got here!
+Das ist einige gute Weiß hier für Sie haben!
+
+That's terrible! Monsters are piling up near city gates! We need to stop their progression.
+Das ist furchtbar! Monsters häufen sich in der Nähe von Stadttore! Wir brauchen ihre Progression zu stoppen.
+
+That's the Blub Song
+
+
+That's the right wood, my son. Here, I'll wrap it so you don't accidentaly lose it. Good luck with your quest!#0
+
+
+That's the right wood, my son. Here, I'll wrap it so you don't accidentaly lose it. Good luck with your quest!#1
+
+
+That's too bad, because I could teach you some amazing craft skills! This will need to wait another day, I guess. Oh well.
+Das ist schade, weil ich Ihnen einige erstaunliche handwerkliche Fähigkeiten beibringen könnte! Dies muss noch einen Tag warten, ich denke. Naja.
+
+That's very, very risky. I need @@ @@ and @@ @@ to make a Potion to you, and I won't warrant it will work.
+Das ist sehr, sehr riskant. Ich brauche @@ @@ und @@ @@, um einen Trank zu dir zu machen, und ich werde garantiert nicht, dass es funktionieren wird.
+
+That's why I'm really confused about this situation, since he was the one performing the sealing of the slimes. I wonder what went wrong.
+Deshalb habe ich mich wirklich über diese Situation verwirrt, da er derjenige Durchführung der Abdichtung der Schleime war. Ich frage mich, was falsch gelaufen ist.
+
+That's why we must stop... THEM... at any costs. I don't know what they're plotting, but it is not in this world inhabitants best interests... nor any other world.
+
+
+That's your answer. Cindy is not a mage, right? This means some mage has bewitched the Yetis to do so, and if my parallel theory is correct, they're either aiming at the Blue Sage, or at her father.
+
+
+That... Didn't work. I'm sorry.
+
+
+That... It... It worked! This is just the right claw!
+Das ... Es ... Es hat funktioniert! Dies ist genau die richtige Klaue!
+
+The %s shines with a strange light...
+
+
+The %s wasn't ready yet and you lost it...
+
+
+The %s, yes. I have it. It is a legendary weapon, only one of it exist on the world.
+
+
+The %ss are growing and disturbing the already rather infertile desert soil, preventing our crops from growing.
+
+
+The %ss are the cause for all the little maggots to appear, so we need you to stop the problem at the source.
+
+
+The %ss have been multiplying, crawling from the cave into the magic school, causing damage.
+
+
+The %ss have been reproducing rapidly and their natural habitat, our Croconut trees, are being damaged by the excessive number of them.
+
+
+The @@ I told you to kill are usually at the beach.
+
+
+The @@ are specially dangerous, and archers love them.
+Die @@ sind besonders gefährlich und Schützen lieben sie.
+
+The @@ is a powerful healing drink.
+Die @@ ist ein leistungsfähiges Heilgetränk.
+
+The @@ is not only a fearsome and ruthless leader. He is strong, and he have tricks on his sleeve.
+Die @@ ist nicht nur ein gefürchtete und skrupelloser Anführer. Er ist stark, und er hat Tricks auf seinem Ärmel.
+
+The @@ quest is disabled during Christmas event.
+Die @@ Quest wird während der Weihnachts Ereignis deaktiviert.
+
+The @@ quest is disabled during Easter event.
+Die @@ Suche wird während Ostern Ereignis deaktiviert.
+
+The @@ stole my @@. Hahah. I can't find anywhere else to buy it.
+Die @@ stahl meine @@. Hahah. Ich kann nirgendwo anders finden, es zu kaufen.
+
+The @@ tab allows yeye to talk on Discord, too! Yayaya, fancy, uh?
+Die @@ Registerkarte können yeye zu Vortrag über Discord, auch! Yayaya, extravagant, uh?
+
+The Academy Island is situated east of Land of Fire Village.
+
+
+The Alliance
+
+
+The Alliance Advanced Outposts are closed for maintenance. Group in front of the town entrance!
+Die Allianz Vorposten sind wegen Wartungsarbeiten geschlossen. Gruppe vor dem Stadteingang!
+
+The Alliance Advanced Outposts have been abandoned and locked after the Liberation day.
+Die Allianz Vorposten haben nach der Befreiung Tag verlassen und gesperrt.
+
+The Alliance Council rarely meets. It's thanks to them that the cities are well protected, if you want my opinion.
+Der Allianz-Rat tritt selten auf. Es ist zu verdanken, dass die Städte gut geschützt sind, wenn Sie meine Meinung hören wollen.
+
+The Alliance can help you in finding out about who you are, why you are here, or from where you came from. So, about the tasks I want completed.
+Die Allianz kann Ihnen helfen, herauszufinden, wer Sie sind, warum Sie hier sind, oder von wo du herkommst. Also, über die Aufgaben, die ich abgeschlossen werden soll.
+
+The Alliance have records of everyone. And if you need another trip, talk to me!
+Die Allianz hat Aufzeichnungen über alle. Und wenn Sie eine weitere Reise benötigen, sprechen Sie mit mir!
+
+The Alliance says that @@ monsters have been slain since Hurnscald Siege!
+
+
+The Alliance which was formed after the war!
+Die Allianz, die nach dem Krieg gebildet!
+
+The Arena is currently closed for maintenance.
+Die Arena ist derzeit wegen Wartungsarbeiten geschlossen.
+
+The Blue Sage
+Der Blue Sage
+
+The Blue Sage is Nivalis Mayor and very knowledgeable on stuff. Lemme write a letter of recommendation for you and sign it in Rakinorf's stead...
+Die Blue Sage ist Nivalis Bürgermeister und sehr kenntnisreich auf Material. Lemme ein Empfehlungsschreiben für Sie schreiben und unterschreiben Sie es in Rakinorf Statt ...
+
+The Book of Laws
+Das Grundgesetz
+
+The Cave Of Trials, and the Soren's Village... There's only one thing left.
+Die Höhle von Trials und den Soren Dorf ... Es gibt nur eine Sache verlassen.
+
+The Civil War is one of the stuff which nearly everyone forgot about.
+
+
+The Council is not in session, it has dispersed since Andrei Sakar went to an expedition to Artis. However, it was decided to allow others inside.
+
+
+The Council of Elders has enlisted ducks of our island into a militia. In addition, the masters of the Duck Side have seen fit to spare %d Duck initiates to assist us.
+
+
+The Deluxe Storage is available only to our best customers, and how lucky you! YOU are eligible!
+
+
+The Doctor
+Der Doktor
+
+The Doctor sent you some tea.
+Der Arzt schickte dir einen Tee.
+
+The Doppelganger Challenge will create a Gladiator Monster which should somehow emulate a PvP experience.
+Der Doppelgänger Challenge ein Gladiator Monster schaffen, die irgendwie eine PvP Erfahrung emulieren soll.
+
+The Enchanted Forest is now open to visitors!
+
+
+The Fafi Dragon are really really bad guys. I don't know how they came here, as they're not from the Lands Of Fire, nor from Mana World.
+Die Fafi Drachen sind wirklich sehr Bösewichte. Ich weiß nicht, wie sie hierher gekommen, da sie nicht von dem Lands Of Fire sind, noch von Mana World.
+
+The Fafi knows you are here to kill him. They are smart. But I can make a trap.
+Die Fafi kennt Sie hier sind, ihn zu töten. Sie sind schlau. Aber ich kann eine Falle machen.
+
+The Fifth Act
+
+
+The Final Act
+
+
+The First Act
+
+
+The Forest
+Der Wald
+
+The Fortress Island is a terribly dangerous place, so the Alliance sent a scout party beforehand, and set up a tower in front of an... erm... Very disturbing walled place we found.
+
+
+The Fourth Act
+
+
+The Game Masters are assembling a party to storm Hurnscald and liberate it. You should try joining it!
+Die Game Master sind Zusammenbauen einer Partei Hurnscald zu stürmen und sie zu befreien. Sie sollten Verbindungs ​​es versuchen!
+
+The Great Over 100 Hunt
+
+
+The Great Ranged Hunt
+
+
+The Great Slime Hunt
+
+
+The Guard House
+
+
+The Guard patted you on the back.
+Die Wache klopfte Sie auf der Rückseite.
+
+The Guard sends an air kiss to you.
+Die Garde sendet einen Luftkuß zu Ihnen.
+
+The Heroes Hold is divided in seven dungeons level: Novice, Intermediary, Advanced, Expert, Master, Ultimate and Supreme.
+Novice, Intermediate, Advanced, Expert, Master, Ultimate und Supreme: Die Helden Hold ist in sieben Dungeons Ebene geteilt.
+
+The High Council acts in the Alliance stead, as it is not possible to reunite every city leader for all minor matters.
+Der Hohe Rat wirkt in der Allianz statt, da es nicht möglich ist, jede Stadt Führer für alle Nebensächlichkeiten zu vereinen.
+
+The High Council is now on session, you were forced to leave the meeting chamber.
+
+
+The High Council's have some subordinates, but those are hand-picked by them.
+Der Hohe Rat hat einige Untergebene, aber das ist handverlesen von ihnen.
+
+The International Worker Day is a traditional celebration,
+
+
+The La Johanne always have interesting notes.
+Das La Johanne haben immer interessante Hinweise.
+
+The Land Of Fire Village was the result from the collapse of two worlds. It is a huge village.
+Das Land Of Fire Dorf war das Ergebnis aus dem Zusammenbruch von zwei Welten. Es ist ein riesiges Dorf.
+
+The Loyalists
+die Loyalisten
+
+The MVP is the player who did more damage to the boss.
+Der MVP ist der Spieler, der mehr Schaden an den Chef tat.
+
+The Magic Academy System is responsible for learning most skills ingame. For that, you need two things: Magic Skill Points and a reagent.
+Das Magic Academy-System ist verantwortlich für die meisten Fähigkeiten im Spiel zu lernen. Dafür müssen Sie zwei Dinge: Magic Fähigkeit Punkte und ein Reagens.
+
+The Magic Council can be found at this city. They are the most powerful mages. If you have an impressive magical affinity, they may entitle you to have access to a Mana Stone.
+Der Magic Rat kann in dieser Stadt. Sie sind die mächtigsten Magier. Wenn Sie eine beeindruckende magische Affinität haben, können sie berechtigen Sie Zugang zu einem Manastein haben.
+
+The Magic Olympics are held by the Academy Grand Masters roughly quarterly, and allow the brightest mages to acquire scholarships at the Magic Academy.
+
+
+The Magic Olympics consist in twelve challenges with scoreboards.
+
+
+The Magic Olympics happen roughly quarterly, but not always at the same dates. It begins on a monday and ends on the sunday. It usually happens two weeks after the Mining Union Research Request event.
+
+
+The Magical Seal which protects the final room is too strong.
+
+
+The Mana Guardian,
+Die Mana Guardian,
+
+The Mana Plane is currently out of reach.
+Das Mana Flugzeug ist derzeit außer Reichweite.
+
+The Mana Source
+
+
+The Mana Source, supreme guardian of the world itself, has already took providences.
+
+
+The Mana Stone
+Die Manastein
+
+The Mana Stone... is a scary being. It changes you. I'm no longer myself, but some thieves are still at my side... for now.
+Der Mana Stein ... ist eine beängstigende Wesen. Es verändert dich. Ich bin nicht mehr ich selbst, aber einige Diebe sind immer noch an meiner Seite ... für jetzt.
+
+The Mana Stones were stolen, in evil hands have fallen!
+Die Mana-Steine ​​gestohlen wurden, hat in bösen Hände gefallen!
+
+The Mana Sword
+
+
+The Mana Sword, Lightbringer?
+
+
+The Market
+Der Markt
+
+The Miners Union is trying to research this powder.
+
+
+The Monster Army appears to be in complete disarray, sieges are much less frequent.
+
+
+The Monster Army is currently sieging Tulimshar. There are hundreds of dangerous monsters out there right now.
+Die Monster-Armee ist zur Zeit belagern Tulimshar. Es gibt Hunderte von gefährlichen Monstern jetzt da draußen.
+
+The Monster Army is in complete disarray, sieges are much less frequent.
+Die Monster-Armee in völligen Unordnung ist, Belagerungen sind viel seltener.
+
+The Monster King
+Das Monster King
+
+The Monster King Army has occupied several towns!
+
+
+The Monster King Army is attacking towns at random, but players already reduced their organization to @@ %%!
+
+
+The Monster King Army is making siege at towns randomly!
+
+
+The Monster King Army is occupying several towns! Brave players need to group and retake them!
+Die Monster King Armee besetzt mehrere Städte! Brave Spieler müssen Gruppe und wiederholen sie!
+
+The Monster King Army left the cities! What will happen next? Anxiety grows!
+Das Monster King Armee verließ die Städte! Was wird als nächstes passieren? Angst wächst!
+
+The Monster King Lair is not in a impregnable mountain, but in a small island now!!
+Das Monster King Lair ist nicht in einem uneinnehmbaren Berg, aber in einer kleinen Insel jetzt !!
+
+The Monster King has managed to take hold of Nivalis and Hurnscald; Travel to Frostia and Halinarzo has also been made difficult.
+
+
+The Monster King is on the move!
+Das Monster King ist in Bewegung!
+
+The Monster King is scary. To be honest, I'm not sure I would be able to do anything if he showed up.
+
+
+The Monster King is sending their armies to attack towns with a seemingly random pattern.
+
+
+The Monster King once again eluded us. How long has it been? His minions are laying waste to all towns, Saul has been killed, Raid has been wounded.
+
+
+The Monster King was so powerful! It is impossible to recover the artifact now, and everyone will die!
+Das Monster King war so mächtig! Es ist unmöglich, das Artefakt jetzt zu erholen, und jeder wird sterben!
+
+The Monster King#NLib
+
+
+The Monster King.
+Das Monster King.
+
+The Monster War broke out on the very last day of the Mana War. A high council of Tulimshar had set a fortress and storage towers in the canyon, and a few populists went to war.
+
+
+The Mouboo doesn't want to drink the Coffee. Try to force it to drink anyway?
+
+
+The Mouboo is lying down on the grass.
+Die Mouboo liegt auf dem Gras.
+
+The Mouboo seems to be lying in pain.
+Die Mouboo scheint Schmerzen zu liegen.
+
+The Moubootaur
+
+
+The Moubootaur is evil. Defeat him and protect the world. Now...
+
+
+The Moubootaur is the final opponent.
+
+
+The Pet Caring Guild will collect them after a while, and capture many others.
+Der Pet Pflege Guild wird sie nach einer Weile, sammeln und viele andere erfassen.
+
+The Premium Storage is available to all our sponsors and anyone with... references. Such as yourself!
+
+
+The Premium and Deluxe Storages are only available for characters which were reborn at least once.
+
+
+The Professor is so wise that even if you fall asleep while listening to his invisible speech, you'll still learn!!
+
+
+The Professor? Wait, THE Professor? As in, the wisest person on Tulimshar?
+
+
+The Queen's Party?
+
+
+The Red Queen was murdered, but her supporters prolonged the Civil War for at least six years after her death. The grudges were strong back then...
+
+
+The Red Queen's Party?
+
+
+The Regnum Blessing causes all monsters in an area
+
+
+The Second Act
+
+
+The Self-Serving Ice Well!
+Die eigennützige Ice Well!
+
+The Shadow Tortuga won the race against the Panthom Lord.
+
+
+The Soul Menhir will attach your soul, so when you die, you'll appear where you last touched it.
+Die Seele Menhir wird deine Seele legen, so, wenn Sie sterben, werden Sie erscheinen, wo Sie es zuletzt berührt.
+
+The Story of Dimonds Cove
+Die Geschichte von Diamanten Cove
+
+The Strike Back Is Upon Us!
+
+
+The Supreme and Ultimate floors are just a WIP bonus. So if you don't find them on the five and report back, that'll do.
+Die Supreme und Ultimate Etagen sind nur ein WIP-Bonus. Also, wenn Sie sich nicht auf dem fünf und Bericht zurück finden, das wird tun.
+
+The Team For A Better PvP says that @@ players were killed in fair matches!
+Das Team für eine bessere PvP sagt, dass @@ Spieler in fairen Matches getötet wurden!
+
+The Third Act
+
+
+The Throne Room is the last room. You can reactive any switch which turns itself off.
+Der Thronsaal ist das letzte Zimmer. Sie können einen beliebigen Schalter reaktiv, die sich ausschaltet.
+
+The Tulimshar guards needs an freelance employee who would help us with our work. We are searching for people like you.
+
+
+The Wildlife
+Das wilde Leben
+
+The World Edge, which is where we are, is a holy land, the place where all began and all shall perish. Which is why after the World's Heart was broken, it was vowed to never make a settlement here ever again.
+
+
+The World's Heart is at World's Edge. The *real* Ancient Families are the ones who broke it in parts and brought it to each town.
+Die Welt-Herz ist auf Rand der Welt. Die * real * Alte Familien sind diejenigen, die es in Teile gebrochen und brachte es zu jeder Stadt.
+
+The World's Heart was shattered by the Ancient Families to serve as Soul Menhirs on the world, and this allows respawning after death, but at a cost.
+
+
+The Yeti King
+Der Yeti König
+
+The Yetifly drops you off the cliff. Good job, noob.
+Die Yetifly bringt Sie von der Klippe. Gute Arbeit, Noob.
+
+The absolute hero: %s
+
+
+The account with highest votes will win. Ties will be solved by randomness.
+Das Konto mit dem höchsten Stimmen gewinnen. Krawatten werden durch Zufall gelöst werden.
+
+The accounts need 15 days to set Pin Codes.
+
+
+The accurate hero: %s
+
+
+The advantage of fighting with a ranged weapon is that you can stay out of the enemy's range. So there is no need to spend training on your resistance.
+Der Vorteil mit einer Distanzwaffe kämpfen ist, dass Sie den feindlichen Bereichs bleiben können. So gibt es keine Notwendigkeit zu verbringen Ausbildung auf Widerstand.
+
+The aegis, entrusted to the tree,
+
+
+The alliance also have a special program, called ##BGrand Hunter Quest##b, where you kill 10,000 of a monster and get great rewards.
+
+
+The alliance will take %s GP as fee, +%d%% tax over donations.
+
+
+The answers might need to have whitespaces. DO NOT, BY ALL MEANS, insert two whitespaces instead of one.
+Die Antworten müssen möglicherweise Leerzeichen haben. NICHT, mit allen Mitteln, Einsatz zwei Leerzeichen statt einem.
+
+The antennas by themselves mean nothing, I want to see you killing my ENEMIES, the pinkies!
+Die Antennen selbst bedeuten nichts, ich will dich zu töten meine Feinde, die Pinkies sehen!
+
+The average player level is @@
+Die durchschnittliche Spieler Ebene ist @@
+
+The axe, returned to its owner,
+
+
+The bad one, is that you'll have to guide yourself without the map.
+
+
+The bank and item storage is shared between all characters within a same account.
+Die Bank und Positionsspeicher ist in einem gleichen Konto zwischen allen Zeichen geteilt.
+
+The best thing would be to let you make the bow by yourself. But I guess, that would go to far. And it would take ages to get a high quality bow.
+Das Beste, was wäre dir selbst den Bogen machen zu lassen. Aber ich denke, dass zu weit gehen würde. Und es würde ewig dauern eine hohe Qualität Bogen zu erhalten.
+
+The best wares!
+Die besten Waren!
+
+The big one without hat
+Der große ohne Hut
+
+The biggest mine, where you could find Mana Stones in the past, is now entirely depleted. Not a single stone left.
+Die größte Mine, wo man Mana-Steine ​​in der Vergangenheit finden konnte, ist jetzt völlig erschöpft. Nicht ein einziger Stein übrig.
+
+The birthday of me and my girlfriend is coming up. Bring me 12 @@ and I'll make the fertilizer for you.
+Der Geburtstag von mir und meiner Freundin aufkommt. Bringt mir 12 @@ und ich werde den Dünger für Sie.
+
+The blame of failure will be over you, but so will be the glory of success. There's no death penalty for others.
+Die Schuld des Scheiterns wird über euch sein, aber so wird die Herrlichkeit des Erfolgs sein. Es gibt keine Todesstrafe für andere.
+
+The boss can blind players. Blind will reduce hit rate and evasion in 25%.
+Der Chef kann Spieler blenden. Blind Trefferquote und Steuerhinterziehung in 25% reduzieren.
+
+The boss you discovered has ran away!
+
+
+The bottom-most the water, the better the bonus.
+Das am weitesten unten das Wasser, desto besser ist der Bonus.
+
+The bow I gave you was a masterpiece.
+Der Bogen, den ich Ihnen gab, war ein Meisterwerk.
+
+The bugs there can be pretty vicious. Do you know what's worse though? Lag.
+
+
+The chant is ##B EMOC OTEM ITEY GNIK ##b. Good luck!
+
+
+The chant must be exact, without any prefix or suffix.
+
+
+The chest is unlocked and empty.
+Die Brust wird entriegelt und leer.
+
+The children are safe, aren't they...?
+Die Kinder sind sicher, nicht wahr ...?
+
+The children are safe, could you rent me your sword?
+Die Kinder sind sicher, könnten Sie mir dein Schwert mieten?
+
+The city guard won't need help from strangers anymore.
+
+
+The city is still under repairs, but town square is safe already.
+Die Stadt ist nach wie vor unter Reparaturen, aber Stadtplatz ist bereits sicher.
+
+The city only flourished because Janett Platinum had the idea to build city walls surrounding this city.
+Die Stadt blühte nur weil Janett Platinum, die Idee zu bauen Stadtmauer rund um diese Stadt hatte.
+
+The city was defended with success! GG, everyone!
+
+
+The clan will end on this generation. And hopefully, the world will survive longer, things aren't looking well right now.
+
+
+The cold climate is ideal for slimes, penguins, and other icy creatures. You can find lots of... ice, of course!
+Das kalte Klima ist ideal für Schleime, Pinguine und andere eisigen Kreaturen. Sie können viele ... Eis, natürlich finden!
+
+The cooking contest is coming up, and I don't want to lose to @@... Halinarzo's cook is just THAT good.
+Der Kochwettbewerb wird kommen, und ich will nicht zu @@ ... Halinarzo Koch verlieren, ist nur so gut.
+
+The cost for Guild Vault is @@ GP.
+Die Kosten für Guild Vault ist @@ GP.
+
+The cost to create a guild is @@ GP.
+Die Kosten für eine Gilde zu erstellen ist @@ GP.
+
+The council, however, supported the premier. He might have accepted the death sentence quietly, but the council would hear none of it. Benjamin took over and incited a civil war.
+
+
+The crops are under attack? That's terrible!
+Die Kulturen sind unter Beschuss? Das ist furchtbar!
+
+The crops have failed again but the government keeps wasting money on research, for what purposes, as if I would know.
+
+
+The crow took off to his last flight.
+
+
+The crystal has a shard missing.
+
+
+The crystal looks damaged.
+
+
+The current town administrator will be inscribed for re-election automatically.
+Der aktuelle Stadt-Administrator für eine Wiederwahl automatisch beschriftet werden.
+
+The curse was done by nobody less than... the Moubootaur.
+Der Fluch wurde von niemandem getan weniger als ... die Moubootaur.
+
+The desert climate means you'll find mostly maggots and scorpions. Their drops include cactus drinks, cake, knifes, black pearls, gold, and other common things.
+Das Wüstenklima bedeutet, dass Sie meist Maden und Skorpionen finden. Ihre Tropfen umfassen Kaktus Getränke, Kuchen, Messer, schwarze Perlen, Gold und andere allgemeine Dinge.
+
+The doctor quickly analyzes you with some tool. Which looks like a screwdriver? Probably just a generic scanner, though.
+
+
+The doctor raises an eyebrow at you.
+
+
+The doctor told me to move here after I got tuberculosis... But I like Tulimshar so much! Please bring me Tulimshar souvenirs, I'll pay you well!
+Der Arzt sagte mir hier zu bewegen, nachdem ich Tuberkulose habe ... Aber ich wie Tulimshar so viel! Bitte bringen Sie mir Tulimshar Souvenirs, ich werde dich gut bezahlen!
+
+The door is locked
+Die Tür ist verschlossen
+
+The door is locked!
+Die Tür ist verschlossen!
+
+The door is locked, I should come back later.
+Die Tür ist verschlossen, sollte ich später zurückkommen.
+
+The door is locked, you should speak to Carla about it.
+Die Tür ist verschlossen, die Sie Carla darüber sprechen sollte.
+
+The door is locked.
+Die Tür ist verschlossen.
+
+The door is password-protected, so your friends can enter but strangers stay outside.
+Die Tür ist mit einem Passwort geschützt, so dass Ihre Freunde geben können, aber Fremde bleibt draußen.
+
+The door is sealed. The riddle says: “I drink, I become, I am. Don't say my name, but say why you know me. For, I am the best in the world.â€
+
+
+The door won't budge.
+Die Tür wird nicht nach.
+
+The dream towers have shown up. They have several floors filled with treasure and dangerous monsters.
+
+
+The dyes are to disguise myself, I don't want to get caught. The potions are for safety, who knows what I'll face?
+Die Farbstoffe sind mir zu verbergen, ich will nicht einklemmen. Die Tränke sind für die Sicherheit, wer weiß, was ich konfrontiert werde?
+
+The east power system is offline.
+
+
+The effect in this case is based on the element.
+
+
+The effects and uses - if any - are still unknown.
+
+
+The elements have alternate names, like "soil" which equals to "earth".
+
+
+The elf seems busy. He ignores you.
+
+
+The elf seems busy. She ignores you.
+
+
+The engine of fate will once again move!
+
+
+The event is over!
+
+
+The event starts hourly, when the minute clock hits zero. I'll tell everyone on this room when it starts and ends.
+Die Veranstaltung beginnt stündlich, wenn der Minutentakt Hits Null. Ich werde jeden auf diesem Raum sagen, wann es beginnt und endet.
+
+The farmer seems mad and in need of help. Will you help him?
+Der Bauer scheint verrückt und auf Hilfe angewiesen. Werden Sie ihm helfen?
+
+The farther you go on the sequence, the better the payout!
+
+
+The fee only need to be paid once and will work in every town.
+Die Gebühr muss nur einmal bezahlt werden und wird in jeder Stadt arbeiten.
+
+The fee to use this room is %s GP.
+
+
+The fertile climate is ideal for mushrooms. You can also find lots of wood.
+Das fruchtbare Klima ist ideal für Pilze. Sie können auch viel Holz finden.
+
+The final sentence still belongs to LoF Admins.
+Der letzte Satz gehört noch zu LoF Admins.
+
+The first job,
+
+
+The first one is easy.
+Die erste ist einfach.
+
+The first page contains the universal rules that have been agreed upon throughout the land.
+Auf der ersten Seite stehen die allgemeingültigen Regeln, die überall auf den Kontinenten gelten.
+
+The first stage is on the desert canyons. You must give a full circle on the canyon in 90 seconds.
+Die erste Stufe ist auf den Wüsten-Canyons. Sie müssen einen vollständigen Kreis auf der Schlucht in 90 Sekunden geben.
+
+The first way,
+
+
+The fishing rod allows a quick income by selling fishes. However, reaching the fisherman might require some exploration... The whole world is full of secrets.
+Die Angelrute erlaubt ein schnelles Einkommen durch Fische zu verkaufen. Um jedoch den Fischer erreichen könnte einige Exploration erfordern ... Die ganze Welt ist voller Geheimnisse.
+
+The following skill is needed: %s%s (Lv. %d)
+
+
+The fortress hero: %s
+
+
+The frontier hero: %s
+
+
+The gates are firmly shut by some weird magical power. %s
+
+
+The gates are firmly shut, no amount of force will break them.
+Die Tore sind fest geschlossen, wird kein Betrag der Kraft, sie brechen.
+
+The gates are firmly shut. A warning is on the door, "DO NOT ENTER. Guild Only."
+
+
+The gates to Aethyr have opened themselves to you.
+
+
+The giant boogeyman!
+Der riesige Boogeyman!
+
+The girl turns around and you hear her sniffing, she is probably crying...
+Das Mädchen dreht sich um und Sie hören, wie sie Schnupfen, sie ist wahrscheinlich zu weinen ...
+
+The goal is simple - I'll spawn an energy ball and you must kill it quickly. You'll be disqualified if you equip a non-magical weapon at any time.
+
+
+The good one, is that now I know the right path.
+
+
+The grand winner will get a %s. Both the first and second place will get a tuition at the Magic Academy.
+
+
+The great fire did very few causalities, but it destroyed a lot of infrastructure and ruined the economy. Famine and chaos ensued, we almost were wiped out back then. Maybe it would be best if we had indeed been wiped out...
+
+
+The great prize is @@.
+Der große Preis ist @@.
+
+The great prize is to unlock a pet!
+Der große Preis ist ein Haustier zu entsperren!
+
+The greater the distance to your target is, the more important is the strength and direction of the wind. Even if you are exploring a cave, there might be air flow caused by the corners in the cave.
+Je größer die Entfernung zum Ziel ist, desto wichtiger ist die Stärke und Richtung des Windes. Selbst wenn Sie eine Höhle erkunden, kann es Luftstrom durch die Ecken in der Höhle verursacht werden.
+
+The group of warriors which went into the cave to rescue my precious Cindy still haven't returned... I'm worried with them, too...
+Die Gruppe von Kriegern, die in die Höhle ging meine kostbare Cindy noch nicht zurückgekehrt sind, zu retten ... Ich bin mit ihnen besorgt, auch ...
+
+The guard eyes you with suspcion.
+Die Wache Augen Sie mit Argwohn.
+
+The guild's "%s" currently contribute with %02d%% EXP.
+
+
+The harsh pinkie holds secrets,
+
+
+The heroes met their rest.
+
+
+The hooded man was about to deliver me a final blow, but then he saw the Apple I've stole...
+Der maskierte Mann war über mir einen letzten Schlag zu liefern, aber dann sah er das Apple Ich habe gestohlen ...
+
+The house is a mess. They need me here. Also.
+Das Haus ist ein Chaos. Sie brauchen mich hier. Ebenfalls.
+
+The hut is... empty. And it doesn't have a fireplace, either.
+Die Hütte ist ... leer. Und es hat keinen Kamin, auch nicht.
+
+The innominable they shall face
+
+
+The item impact suggests jumping inside should be safe if you have enough life.
+Der Artikel Auswirkungen schlägt Springen innerhalb sicher sein sollten, wenn Sie genug Leben haben.
+
+The item impact suggests jumping inside will leave you badly wounded.
+Der Artikel Auswirkungen schlägt Springen innen wird Sie schwer verwundet.
+
+The item impact suggests you don't have enough vitality to jump inside.
+Der Artikel Auswirkungen schlägt man nicht genug Vitalität innen zu springen.
+
+The item must have a previous bonus, which WILL BE LOST!
+Der Artikel muss einen vorherigen Bonus hat, die verloren!
+
+The item will be lost forever!
+
+
+The item will be lost forever.
+Der Artikel wird für immer verloren sein.
+
+The key is on the sewer %s path. Be careful. May the light be with you.
+
+
+The kid is not paying attention to you.
+Das Kind zahlt nicht die Aufmerksamkeit auf Sie.
+
+The knob has... melted down? What?
+Der Knopf hat ... geschmolzen? Was?
+
+The last one is %s. You will meet him in the future, so no spoilers. Time traveler word.
+
+
+The last task I could give you is to exterminate 200 @@. They actually stop miners progress on the mine.
+Die letzte Aufgabe, die ich Ihnen geben kann, ist 200 @@ auszurotten. Sie tatsächlich Stop Bergleute Fortschritte auf der Mine.
+
+The last time they were seen... They went to explore the Desert Temple. None returned alive.
+Das letzte Mal, sie zu sehen waren ... Sie gingen die Wüste Tempel zu erkunden. Keiner kehrte am Leben.
+
+The lifestone pendant allows you a quicker HP recovery. Life is more important than defense.
+Der Life Anhänger ermöglicht eine schnellere HP Recovery. Das Leben ist wichtiger als Verteidigung.
+
+The lighting hero: %s
+
+
+The lockpick broke.
+Die lockpick brach.
+
+The mage thief tried to all power absorb,
+Der Magier Dieb aller Macht versucht, zu absorbieren,
+
+The maggots will spawn in @@ at random.
+Die Maden werden laichen in @@ zufällig.
+
+The magic accumulated backfires at you!
+
+
+The magic council have only a handful set of them, and they let only the most skilled ones get it.
+Der magische Rat haben nur eine Handvoll Reihe von ihnen, und sie lassen nur die fähigsten denen es.
+
+The magic power outflowing in the room prevents you from leaving.
+Die magische Kraft ausströmende in dem Raum verhindert, dass Sie zu verlassen.
+
+The main power system is offline.
+
+
+The mana bridge is closed at the moment.
+Die Mana Brücke ist zur Zeit geschlossen.
+
+The mana bridge to Aeros is open! To participate on event, talk to ##BSoul Menhir##b!
+
+
+The mana war stroke, and many people died,
+Der Mana Krieg Schlaganfall und viele Menschen starben,
+
+The map starts getting darker with the heat of the flame, and curiously, new shapes starts to form...
+
+
+The masters have decided you are to be given honorary initiation into the Duck Side. The Duck Side is powerful, much more so than you could possibly understand.
+
+
+The masters of the Duck Side, The Council of Elders, and King DD himself, on behalf of all ducks, thank you for your help. We wouldn't have survived without it.
+
+
+The mayor, Rakinorf, is probably on the Inn upstairs, drinking himself to death.
+Der Bürgermeister, Rakinorf, ist wahrscheinlich auf dem Inn nach oben, sich zu Tode zu trinken.
+
+The message cannot be empty
+Die Nachricht darf nicht leer sein
+
+The might contained in this curious object is too powerful. You have to be at least level 20 to harness it.
+
+
+The mightiest mage, which had control over the runes;
+
+
+The mighty Mana Stone does not reacts against you.
+Der mächtige Mana Stein nicht reagiert nicht gegen Sie.
+
+The miner goes to count your stuff again.
+Der Bergmann geht wieder Ihre Sachen zu zählen.
+
+The mines are over a Volcano. Unless you're a Redy, the heat will slowly chip away your health if you go deep. But drinking iced water can improve temporarily your situation.
+
+
+The mines beyond this point have been shut at 280 AT because Terranite. You've been warned!
+Die Minen über diesen Punkt hinaus haben bei 280 AT weil Terranite geschlossen gewesen. Du wurdest gewarnt!
+
+The mist over the Impregnable Fortress Peak finally lowered down, and it seems... The peaks are no more!
+Der Nebel über den undurchdringliche Festung Gipfel schließlich nach unten abgesenkt, und es scheint ... Die Spitzen sind nicht mehr!
+
+The monster hunting program will end, and what will you do?
+
+
+The monsters here are too strong, and as I said before, I can't get close to the Transcendence Portal nor to get training.
+
+
+The monsters on each Heroes Hold Dungeon will drop @@, a coin which can only be found here.
+Die Monster auf jedem Helden halten Dungeon wird fallen @@, eine Münze, die nur hier zu finden.
+
+The most aggressive and main ones are:
+
+
+The most basic grinding camp for your homunculus.
+Der grundlegendste Schleifpunkt für Ihren Homunkulus.
+
+The most common treasure box uses %s and can opened many times. However, this is a special treasure box. You'll need a %s to open it.
+
+
+The most famous nymphs, are those who wear stuff made of Snake Skin.
+Die bekanntesten Nymphen, sind diejenigen, die Sachen von Schlangen-Haut gemacht zu tragen.
+
+The most important thing to improve is your dexterity. When you use a bow, it is your dexterity that determines if you are able to hit your enemy where it hurts most.
+Die wichtigste Sache zu verbessern, ist Ihre Geschicklichkeit. Wenn Sie einen Bogen verwenden, es ist Ihre Geschicklichkeit, die, wenn Sie Ihre Gegner sind in der Lage bestimmt zu treffen, wo es am meisten weh tut.
+
+The most powerful spells can, sometimes, summon some monster you didn't wanted to.
+Die mächtigsten Zauber können, manchmal, rufen einige Monster, das du nicht haben wollte.
+
+The most widespread race in the continent, highly versatile, perfect all-rounders.
+
+
+The mouboo is sleeping soundly. The curse is still there.
+Die mouboo schläft tief und fest. Der Fluch ist immer noch da.
+
+The mouboo looks a bit less sickly. But this is not enough.
+Die mouboo sieht ein bisschen weniger kränklich. Aber das ist nicht genug.
+
+The mouboo looks a bit more healthy. A little more should do.
+Die mouboo sieht ein bisschen gesünder. Ein wenig mehr tun sollten.
+
+The mouboo seems to want to thank you, but is still too weak. Let's finish this healing.
+Die mouboo scheint Ihnen danken zu wollen, ist aber immer noch zu schwach. Lassen Sie uns beenden diese Heilung.
+
+The mouboo still looks terrible, but you can see a small difference.
+Die mouboo sieht immer noch schrecklich, aber man kann einen kleinen Unterschied.
+
+The name of the wizard of Aethyr is the key to open its gates. I've heard it'll open for a lowly %s as you, as long that you know both. But I don't think anyone here would share that with you!
+
+
+The nanorob-- err, the *magic* will seal all your wounds. You trust Basil, right?
+Die nanorob-- err, die * Magie * alle deine Wunden versiegeln. Sie vertrauen Basil, nicht wahr?
+
+The next page begins to list the complex trading laws and political rules. The word "%s" shows up everywhere.
+
+
+The north power system is offline.
+
+
+The number of players must be precise, meaning if someone doesn't joins,
+Die Anzahl der Spieler muss präzise sein, was bedeutet, wenn jemand schließt sich nicht,
+
+The nurse... The nurse is... Doing all she can... To help me, though.
+Die Krankenschwester ... Die Krankenschwester ... tut alles, was sie kann ... mir zu helfen, though.
+
+The objective of this event is to ##Bslay the Monster Admiral##b.
+
+
+The old man seems busy. He ignores you.
+
+
+The one with a star (*) is advised.
+
+
+The ones around here are specially nasty. They steal stuff and seal them on 'present boxes', just to amuse as people try to open those...
+Die, die hier sind besonders fies. Sie stehlen Sachen und versiegeln sie auf ‚präsentieren Boxen‘, nur um amuse wie Menschen versuchen, diese zu öffnen ...
+
+The only readable thing is an old stain of blood.
+Die einzige Sache lesbar ist ein alter Blutfleck.
+
+The other councilors?
+
+
+The other one claims to be a dangerous bandit and to teach how to steal from monsters!
+Die anderen Ansprüche ein gefährlicher Räuber und zu lehren, zu sein, wie von Monstern zu stehlen!
+
+The pan is empty, but it smells like fresh cookies.
+Die Pfanne ist leer, aber es riecht nach frischen Plätzchen.
+
+The passwords doesn't match.
+Die Passwörter stimmen nicht überein.
+
+The path to reach Eugene is hidden. However, if you pay attention to the map, you should figure out how to reach that island without swimming.
+
+
+The pirate ship captain appear! TAKE CARE!!
+Das Piratenschiff Kapitän erscheinen! PASS AUF!!
+
+The pirates amass for their siege, but they will not attack yet. Return when you are stronger. King DD is working to find a solution.
+
+
+The pirates have been surrounding our island for many sun rises. We expect they will attack any time.
+
+
+The player is offline or does not exist.
+
+
+The potion is baked, and the time is now running! Read as fast as you can, don't miss details!
+Der Trank wird gebacken, und die Zeit läuft jetzt! Lesen Sie so schnell wie möglich, nicht verpassen Details!
+
+The power of Soren's House kicks @@ like a game master.
+Die Macht der Soren Haus Kicks @@ wie ein Spiel Meister.
+
+The power system is ##Bactive##b on the east.
+
+
+The power system is ##Bactive##b on the main.
+
+
+The power system is ##Bactive##b on the north.
+
+
+The power system is ##Bactive##b on the south.
+
+
+The power system is ##Bactive##b on the west.
+
+
+The power which lies in Candor acknowledges your strength.
+
+
+The power which lies in Candor rejects your strength.
+
+
+The pressure you did made the door burst open. It is unusually quiet inside...
+Der Druck, den Sie die Tür gemacht haben aufplatzen. Es ist ungewöhnlich ruhig im Inneren ...
+
+The previous attempt will be resumed.
+
+
+The previous mayor was an amazing mayor, but even so, he lost the office after the Monster King attacked.
+Der bisherige Bürgermeister war ein erstaunlicher Bürgermeister, aber auch so, er hatte das Amt nach dem Monster King angegriffen.
+
+The price raises hourly, don't leave to make it on the last day!
+Der Preis erhöht stündlich, lassen Sie es nicht am letzten Tag zu machen!
+
+The prizes are only for the top 10. Loratay on Land Of Fire Village can make, for limited time, a @@ for you if you want.
+
+
+The problem is that Halinarzo was destroyed in the never-ending war and was just recently rebuilt.
+Das Problem ist, dass Halinarzo in dem nie endenden Krieg zerstört wurde und wurde erst vor kurzem wieder aufgebaut.
+
+The problem is... The slimes ate the keys for the chests. This is not the first time such thing happens.
+Das Problem ist, ... Die Schleime die Schlüssel für die Truhen aßen. Dies ist nicht das erste Mal so etwas passiert.
+
+The problem with typos is - unpredictable side effects.
+
+
+The professor is always on the Magic Council, the northmost building. If you sit on the area in front of him (marked with a red rug), you'll gain Experience, even while AFK.
+
+
+The project is involving only a small group of members, but would welcome anyone who knows how to assist in development.
+Das Projekt wird an denen nur eine kleine Gruppe von Mitgliedern, aber würde es begrüßen, wer weiß, wie man in der Entwicklung zu unterstützen.
+
+The reagent is always the same for the same class. If you do not have enough reagents but have an @@, it'll be used to continue.
+Das Reagenz ist immer das gleiche für die gleiche Klasse. Wenn Sie nicht genug Reagenzien haben aber eine haben @@, wird es verwendet werden, um fortzufahren.
+
+The real Monster King is probably on his fortress. It'll take more than that to take him down.
+Das eigentliche Monster King ist wahrscheinlich auf seiner Festung. Es dauert mehr als das ihn zu nehmen.
+
+The reason why they are not occupying the towns like before is still unknown.
+
+
+The register fee is 2000 GP.
+Die Registergebühr beträgt 2000 GP.
+
+The rent lasts 30 days.
+Die Miete beträgt 30 Tage.
+
+The requested char "%s" is not online or does not exist.
+
+
+The runes, burried with its owner.
+
+
+The sailor chugs his beer.
+Der Matrose schüttet sein Bier in sich hinein.
+
+The sailor turns his back to you.
+Der Matrose dreht dir seinen Rücken zu.
+
+The sailors take you aboard their ship.
+Die Matrosen ziehen dich an Bord ihres Schiffes.
+
+The sake wasn't ready yet and you lost it...
+Der Sake war noch nicht fertig, und Sie verloren ...
+
+The sea route I take is very dangerous, and full of pirates. You're too weak to travel with me.
+Die I take Seeweg ist sehr gefährlich und voller Piraten. Du bist zu schwach, um mit mir zu reisen.
+
+The seal retaliates! It was super effective. You are dead!
+Die Dichtung rächt sich! Es war super effektiv. Du bist tot!
+
+The seal was broken!
+Das Siegel wurde gebrochen!
+
+The seals having been broken, the barrier was weakened! You did it! The path is now open!
+Die Siegel gebrochen worden war, wurde die Barriere geschwächt! Du hast es geschafft! Der Weg ist jetzt offen!
+
+The seals slowly grow stronger as time passes!
+
+
+The second job,
+
+
+The second stage is in the first cave to northwest you can find.
+Die zweite Stufe ist in der ersten Höhle nach Nordwesten Sie finden können.
+
+The second way,
+
+
+The selected item is too weak. %s will only tweak items level %d or higher.
+
+
+The sewer mouth is locked.
+Das Kanal Mund ist verschlossen.
+
+The ship can bring you to the town of Hurnscald, but we have a problem: It is currently being occupied by a Monster Army.
+Das Schiff kann man in die Stadt Hurnscald bringen, aber wir haben ein Problem: Es wird derzeit von einer Monster-Armee besetzt.
+
+The ship is locked, probably unable to leave port.
+Das Schiff ist gesperrt, wahrscheinlich nicht in der Lage Hafen zu verlassen.
+
+The sides accept only one adventurer. You'll also lose access to General Chat upon joining, and will have to use #world.
+
+
+The singularities keep arming themselves up again, so I have roughly five minutes between first disarm and entering here.
+Die Singularitäten halten sich wieder zu bewaffnen, so dass ich in etwa 5 Minuten zwischen dem ersten entwaffnen haben und geben hier.
+
+The situation is different if someone from Hurnscald went to her rescue. That's why I ask you to help my Cindy.
+Anders ist die Situation, wenn jemand von Hurnscald zu ihrer Rettung geht. Deshalb bitte ich Sie, meine Cindy zu helfen.
+
+The situation is grim, and some want the return of the Platinum Red Queen. The "Soul Eater" is back, pretending to be her ghost, and the Black Razor believed on it. They made "The Queen's Party" and want to reinstate the queen.
+
+
+The situation is too serious to you be lying... Please, go fetch the items...
+Die Situation ist zu ernst, Sie lügen ... Bitte, die Einzelteile gehen zu holen ...
+
+The skill would be wasted on a noob like you. You are weak. Go gain a few levels and then return here.
+
+
+The skill would be wasted on a noob mage like you. Go get more magic power first!
+
+
+The soldiers are resting at the moment.
+Die Soldaten sind zur Zeit ruhen.
+
+The sorcerer hero: %s
+
+
+The south power system is offline.
+
+
+The spell backfires!
+Die Zauber nach hinten los!
+
+The spell fails!
+Der Zauber versagt!
+
+The spell takes a mind of its own backfires!
+
+
+The stairs have magic cast on them, I cannot climb.
+Die Treppe auf sich Magie gegossen hat, kann ich nicht klettern.
+
+The stairs lead to nowhere. However, there is a magic sigil on the bottom.
+Die Treppe führt ins Nichts. Allerdings gibt es ein magisches Siegel auf der Unterseite.
+
+The statue doesn't replies.
+Die Statue ist, antwortet nicht.
+
+The stolen christmas boxes!! Christmas is RUINED!!!
+Die gestohlenen Weihnachtskästen !! Weihnachten ist RUINIERTE !!!
+
+The storehouse here is overrun with house maggots.
+Das Lagerhaus hier ist überrannt Haus Maden.
+
+The storehouse is still over run with house maggots.
+Das Lagerhaus wird noch über mit Hause Maden läuft.
+
+The story was so cool!
+
+
+The strategy is simple. When you hit the enemy, walk one or two tiles backwards.
+Die Strategie ist einfach. Wenn Sie den Feind getroffen, gehen ein oder zwei Fliesen nach hinten.
+
+The study skill allows you to see the exact health a monster have, as well some details.
+
+
+The supreme guardian of the "Talpan" creatures, such as you.
+
+
+The sword glows too much. Perhaps @@ could take it.
+Das Schwert glüht zu viel. Vielleicht @@ könnte es dauern.
+
+The symbols at the end of the book look to be warnings, though.
+Die Symbole am Ende des Buches Blick auf Warnungen, aber zu sein.
+
+The teddy picks it and goes running to somewhere it can eat in peace. Now we know how we can please our little friend - with %s! How we didn't think on that before?!
+
+
+The teddy quickly takes the honey and fills the pot. It is really hungry!
+
+
+The teddy stares at it but does not approach. Maybe it is not hungry, or it doesn't want the food you offered.
+
+
+The title is transferred when the MVP is killed (either in PVP or by the boss), or when time runs out.
+Der Titel übertragen wird, wenn der MVP (entweder in PVP oder vom Chef) getötet wird, oder wenn die Zeit abläuft.
+
+The torch is currently lit.
+
+
+The torch is lit.
+
+
+The town administrator benefits for free services on the town.
+
+
+The tree doesn't likes your selfishness.
+
+
+The tree generously offer you one of its fruits.
+
+
+The trick at tracing parallel, is finding the difference. In this world, Cindy gives a %s, a personal belonging of her, to those whom rescue her. What is the reward on your world?
+
+
+The trickster can be found right here.
+
+
+The tyrant, which could shot from any distance;
+
+
+The uniform would be: @@, @@, @@ and @@
+Die einheitliche wäre: @@, @@, @@ und @@
+
+The usage of @sk-commands was deprecated
+Die Verwendung von @ sk-Befehle wurde als veraltet
+
+The village name is difficult to read.
+Der Ortsname ist schwer zu lesen.
+
+The vote was cast.
+Die Abstimmung wurde gegossen.
+
+The wage is high?
+
+
+The warp crystal broke.
+Der Kett- Kristall gebrochen.
+
+The warrior turns towards you, grinning broadly.
+Der Krieger wendet sich ihr breit grinsend.
+
+The water was too shallow...
+Das Wasser war zu flach ...
+
+The waterfall open, and you may now pass.
+
+
+The way is full of dangers. Not only king soldiers, but the beast has an army of their own!
+
+
+The west power system is offline.
+
+
+The whole team is very distressed, too. Could you take the opportunity to see if the team is putting the blame on Peetu? Thanks in advance.
+Das ganze Team ist sehr beunruhigt, auch. Könnten Sie die Gelegenheit nutzen, um zu sehen, ob das Team auf Peetu die Schuld setzt? Danke im Voraus.
+
+The wind is blowing from @@.
+Der Wind weht von @@.
+
+The window appears to be unlocked. It might have been open some time ago.
+Das Fenster erscheint entriegelt werden. Es könnte vor einiger Zeit offen gewesen.
+
+The wine wasn't ready yet and you lost it...
+Der Wein war noch nicht fertig, und Sie verloren ...
+
+The wizard seems busy. He ignores you.
+
+
+The wood bends a little, but doesn't breaks.
+Das Holz biegt sich ein wenig, aber nicht bricht.
+
+The wood, Jack the Lumberjack used to deliver me, but he isn't delivering anymore. And the string was imported from Halinarzo.
+Das Holz, Jack the Lumberjack hat mich zu liefern, aber er liefert nicht mehr. Und die Zeichenfolge aus Halinarzo importiert.
+
+The world belong to Mouboos. They are sublime creatures!
+Die Welt gehört in Mouboos. Sie sind erhaben Kreaturen!
+
+The world hero %s and the High Council Officers will announce the times to raid the Fortress.
+
+
+The world is spiniiiiiiiing...
+Die Welt ist spiniiiiiiiing ...
+
+The... Mou... Boo... Taur...
+Das ... Mou ... Boo ... Taur ...
+
+Their economy provide many edible items and potions.
+Ihre Wirtschaft bieten viele essbare Gegenstände und Tränke.
+
+Their fight was not damned,
+
+
+Their first stop was Hurnscald, so please go to Hurnscald Townhall, and speak with the mayor, he can help you getting there. You can't reach there normally, after all.
+Ihre erste Station war Hurnscald, so gehen Sie bitte auf Hurnscald Rathaus und sprechen mit dem Bürgermeister, er kann Ihnen helfen, dorthin zu gelangen. Sie können nicht dort normalerweise erreichen, nachdem alle.
+
+Their level was too low.
+
+
+Their main tasks are ensuring fair trading, protecting the cities from monster invasions, and guarding the Mana Stones.
+
+
+Then I craft some new type of strong desert shirt, to protect users from snakes and sunlight.
+Dann bastle ich eine neue Art von starkem Wüstenhemd, Benutzer von Schlangen und Sonnenlicht zu schützen.
+
+Then I hope you can keep your grades high, hmm hmm!
+
+
+Then I returned to Tulimshar. Now I do research, vote on the Magic Council meetings, and I also teach young mages about Transmutation magic.
+Dann kehrte ich nach Tulimshar. Jetzt mache ich Forschung, Abstimmung über die magischen Ratssitzungen, und ich unterrichte auch junge Magier über Magie Transmutations.
+
+Then I'll be sure you can't talk again.
+Dann werde ich sicher, dass Sie nicht mehr sprechen kann.
+
+Then along came a soul as happy as can be
+Dann kam eine Seele so glücklich, wie sein kann,
+
+Then could you perhaps kill 12 @@ for me?!
+Dann könnten Sie vielleicht 12 @@ für mich töten ?!
+
+Then get to work already!
+
+
+Then please bring me this, so I can help you back.
+Dann Bitte bringen Sie mir dies, so dass ich Ihnen wieder helfen kann.
+
+Then prove yourself!
+Dann beweisen Sie sich selbst!
+
+Then so be it. Farewell.
+
+
+Then someone of a scholarship rank above your must approve it, and say that your work is enough to the next scholar rank.
+
+
+Then take the middle entrance.
+
+
+Then we have %s. You met her. She guards all Talpan beings, such as Humans, Elves, Reidys, Orcs and whatever. She is an evil woman. She grants nothing to her followers.
+
+
+Then you should look in buying Caffeinne. Curse is a status ailment which reduces your attack, nullifies your luck and makes you a snail. Simple Curses can be cured with time, too.
+Dann sollten Sie in Kauf Koffein aussehen. Der Fluch ist ein Status Krankheit, die Ihren Angriff reduziert, zunichte macht Ihr Glück und macht Ihr eine Schnecke. Einfache Flüche können mit der Zeit auch geheilt werden.
+
+Then you'll be able to buy furniture and utility.
+Dann werden Sie in der Lage sein, Möbel und Gebrauch zu kaufen.
+
+Then, would you like me to transform one of your gems?#0
+
+
+Then, would you like me to transform one of your gems?#1
+
+
+There I was knee deep in pinkie pattie,
+
+
+There are Monster Attacks every month, how do you have time for tea parties?!
+Es Monster Angriffe jeden Monat sind, wie haben Sie Zeit für Tee-Partys ?!
+
+There are Pious on the island as well! %%i
+
+
+There are also less common ailments:
+
+
+There are alternatives to the chant words, anyone can do it if they know the basic structure.
+
+
+There are banks all over the world. Usually every important village or city has one.
+Es gibt Banken auf der ganzen Welt. In der Regel alle wichtigen Dorf oder Stadt hat eine.
+
+There are five floors, and they're all very dangerous. But there are riches to be found.
+Es gibt fünf Etagen, und sie sind alle sehr gefährlich. Aber es gibt Schätze zu finden sind.
+
+There are four basic class:
+Es gibt vier grundlegende Klasse:
+
+There are no new players to welcome.
+
+
+There are only a few pages missing.
+Es gibt nur ein paar Seiten fehlen.
+
+There are only four which you could want to know about.
+
+
+There are people in the world who need help!
+Es gibt Menschen auf der Welt, die Hilfe brauchen!
+
+There are rumors about a sacred elf land, where our antecessors lived in peacefully somewhere close to here, but the path was lost. That's why we now live with dwarves.
+
+
+There are secret caves on this city. In fact, Tulimshar holds many misteries.
+Es gibt geheime Höhlen auf diese Stadt. In der Tat hält Tulimshar viele Geheimnisse.
+
+There are several minor status conditions, which may buff or debuff you.
+
+
+There are some old rusty knives on the table. Would you like to take one?
+Es gibt einige alte rostige Messer auf dem Tisch. Möchten Sie ein nehmen?
+
+There are some sailors near the forge. Think outside the box - or rather, inside it, unless you have a fortune to buy the items.
+Es gibt einige Segler in der Nähe der Schmiede. Denken außerhalb der Box - oder besser gesagt, in ihm, es sei denn, Sie ein Vermögen haben die Einzelteile zu kaufen.
+
+There are some slimes around in the deeper parts of the library. Remember to kill them alone, and beware, if they kill themselves it won't count.
+Es gibt einige Schleime in den tieferen Teilen der Bibliothek um. Denken Sie daran, sie allein zu töten, und passen sie auf, wenn sie sich selbst töten sie nicht zählen.
+
+There are some stones scattered around the world that mark your point of return in case of defeats. Some ship chests may also serve as a return point. You can also select some beds in case of defeats.
+Es gibt einige Steine ​​auf der ganzen Welt verstreut, die Ihren Rückkehrpunkt bei Niederlagen markieren. Einige Schiffskisten können auch als Umkehrpunkt dienen. Sie können auch einige Betten bei Niederlagen aus.
+
+There are still some monsters left! Do you want to abort the quest?
+Es gibt noch einige links Monster! Wollen Sie die Suche abbrechen?
+
+There are three kind of monsters which frequently attacks our fair vessel.
+Es gibt drei Arten von Monstern, die häufig unsere Messe Schiff angreift.
+
+There are three singularities on this island. If I disarm more than one, I'll have a penalty.
+Es gibt drei Singularitäten auf dieser Insel. Wenn ich mehr als eine entwaffnen, werde ich eine Strafe haben.
+
+There are three types of items.
+Es gibt drei Arten von Gegenständen.
+
+There are three types of monsters: the aggressive, the neutral, and the collaborative.
+Es gibt drei Arten von Monstern: die aggressive, die neutral, und die Zusammenarbeit.
+
+There doesn't seem to be any physical wound.
+
+
+There exist more food than you know. But this time I don't want anything extravagant, just 6 @@ should be fine.
+Es gibt mehr Nahrung, als Sie wissen. Aber dieses Mal habe ich nichts extravagant wollen, nur 6 @@ sollte in Ordnung sein.
+
+There is a NPC called Trainer, just outside this ship.
+Es gibt einen NPC namens Trainer, etwas außerhalb dieses Schiff.
+
+There is a chasm.
+Es gibt eine Kluft.
+
+There is a rare kind of scorpion, the Murderer Scorpion. Very dangerous.
+Es ist eine seltene Art von Skorpion, der Mörder Skorpion. Sehr gefährlich.
+
+There is a slight breeze coming from @@.
+Es gibt eine leichte Brise von @@ kommen.
+
+There is a time limit, which is already running.
+
+
+There is no EXP penalty, but you cannot go back without either completing the cave, or dying.
+Es gibt keine EXP Strafe, aber man kann ohne entweder Abschluss der Höhle nicht zurück, oder zu sterben.
+
+There is no free speech. Censorship!
+
+
+There is no honor in fighting a weak opponent.
+Es ist nicht ehrenhaft, gegen schwächere Gegner zu kämpfen.
+
+There is no other solution; A desperate struggle is needed...
+
+
+There is only one way towards the best equipment: Smith away!
+Es gibt nur einen Weg in der besten Ausrüstung: Smith weg!
+
+There is only so much magical power your body can handle without breaking.
+
+
+There is someone who might know how to turn a slime back in a human. But alas, that old fart doesn't live here.
+
+
+There isn't enough, not even for NPCs. We need at least 100.
+Es ist nicht genug, auch nicht für NPCs. Wir brauchen mindestens 100.
+
+There may be some exceptions. Anyway, this item clearly cannot be refined.
+Möglicherweise gibt es einige Ausnahmen. Wie dem auch sei, kann dieser Punkt eindeutig nicht verfeinert werden.
+
+There might be reward for anyone who doesn't gets a rank, but I never count on that. So, let's start?
+Es könnte Belohnung für jeden, der nicht einen Rang nicht bekommt, aber ich zähle nie auf. So lass uns anfangen?
+
+There probably is a huge, flashing orange exclamation mark over a suitable knife you could take and nobody would mind.
+Wahrscheinlich gibt es ein großen, blinkende orangefarbene Ausrufezeichen über ein geeignetes Messer Sie und niemand etwas dagegen hätte nehmen könnten.
+
+There seems to be signs of a fight long forgotten, but it still reeks blood.
+Es scheint Anzeichen für einen Kampf längst vergessen zu sein, aber es stinkt immer noch Blut.
+
+There seems to be sort of lock preventing you from passing.
+
+
+There was a visitor with a mask? I didn't notice. You see, I spend most of my time in the workshop, and concentrate on my work. There are other helpers who attend to the visitors. And hopefully keep them from disturbing my concentration.
+Es gab einen Besucher mit einer Maske? Ich habe nicht bemerkt. Sie sehen, ich die meiste Zeit in der Werkstatt verbringen, und konzentrieren sich auf meine Arbeit. Es gibt noch andere Helfer, die an die Besucher teilnehmen. Und hoffentlich halten sie von meiner Konzentration zu stören.
+
+There was nobody on the Bandit Lord's room.
+Es war niemand auf dem Banditen Herren Raum.
+
+There will be consequences.
+Es wird Konsequenzen geben.
+
+There you are! A towel is really the most important item for a hitchhiker to have.
+Da bist du ja! Ein Handtuch ist wirklich der wichtigste Punkt für eine Anhalterin zu haben.
+
+There you go!
+Dort gehen Sie!
+
+There you go! Thanks for all the help!
+Bitteschön! Danke für all deine Hilfe!
+
+There you go, %s. If you don't know anything about crafting I heard someone on Tulimshar's Terranite Forge can help?
+
+
+There you go, a special and rare @@!
+Dort gehen Sie, eine besondere und seltene @@!
+
+There you go, boring person... You will look like the trees here. Ugh, disgusting.
+Dort gehen Sie, Person langweilig ... Sie mögen die Bäume hier aussehen wird. Ugh, ekelhaft.
+
+There you go, your Valentine Dress!
+Dort gehen Sie, Ihr Valentine-Kleid!
+
+There you go. Craft hard, mwhahahahaha!
+Dort gehen Sie. Craft hart, mwhahahahaha!
+
+There you go. Enjoy it!
+Dort gehen Sie. Genieß es!
+
+There you go. I wish you good luck. @@
+Dort gehen Sie. Ich wünsche Dir viel Glück. @@
+
+There'll be monsters, the maze is randomly generated, and the initial position for you and the Ent is not fixed. Therefore, you may begin handicapped in some cases depending on luck only.
+
+
+There's a big prize in the end... Could you bring me some later?
+Es gibt einen großen Preis am Ende ... Könnten Sie mir einige bringen später?
+
+There's a long time we don't eat anything. Bring us @@! Five should do it.
+Es gibt eine lange Zeit, dass wir etwas nicht essen. Bringen Sie uns @@! Fünf sollte es tun.
+
+There's a shiny safe here. How much money is inside? Nobody is looking at you, great!
+Es gibt ein glänzendes hier sicher. Wie viel Geld ist drin? Niemand schaut dich an, großartig!
+
+There's a small, damp corritor, which you could crawl though.
+Es gibt eine kleine, feuchte corritor, die Sie aber kriechen konnte.
+
+There's a strong magic barrier. We need to disarm it in order to enter there.
+Es gibt eine starke magische Barriere. Wir müssen entwaffnen sie, um dort zu betreten.
+
+There's a summoning circle on Tulimshar Sewers. You can reach either by boat, if you have the money - I'll lend you some; Or by the long way.
+
+
+There's also Morgan, who lives in Candor. She is a Redy, and is married with Zitoni. They are great alchemists.
+Es gibt auch Morgan, der in Candor lebt. Sie ist eine Redy und ist mit Zitoni verheiratet. Sie sind große Alchemisten.
+
+There's also a job level, which produces green sparkles when you level it.
+Es gibt auch einen Job-Ebene, die grün funkelt erzeugt, wenn Sie es nivellieren.
+
+There's also weather, meaning it can rain, snow, or even happen a sandstorm. They are usually cosmetic, but...
+Es gibt auch Wetter, was bedeutet, es regnen kann, Schnee oder sogar einen Sandsturm passieren. Sie sind meist kosmetische, aber ...
+
+There's always some chance that THE ITEM WILL BREAK, beware!
+Es gibt immer eine gewisse Chance, dass das Element bricht, Vorsicht!
+
+There's an annoying half-wose-half-elf called Thorn trying to impress me with his wose side!
+Es ist ein lästiger Halb Wose-Halbelf namens Thorn versucht, mich mit seiner Wose Seite zu beeindrucken!
+
+There's no change in the condition of the poor Mouboo.
+
+
+There's no help available for this event.
+
+
+There's no need to go in that Yeti infested den right now.
+Es gibt keine Notwendigkeit zu gehen, dass Yeti die jetzt befallen.
+
+There's no one who knows Butterfly Caves better than me, child. These are MY caves, after all.
+
+
+There's no reason to enter these caves now.
+Es gibt keinen Grund, diese Höhlen jetzt zu betreten.
+
+There's no thank me, its'kay you're welcome
+Es gibt keine mir danken, its'kay Sie sind willkommen
+
+There's no time limit on this riddle.
+Es gibt keine zeitliche Begrenzung für dieses Rätsel.
+
+There's not everything I've asked for...
+Es ist nicht alles, was ich gefragt habe ...
+
+There's nothing in the Magic Council Room, though. It's just a perk.
+Es gibt nichts im Magic Ratssaal, though. Es ist nur eine Vergünstigung.
+
+There's one on the basement of this house. If you kill it, Hasan will think on you as a hero and won't steal you anymore.
+Es gibt eine im Keller des Hauses. Wenn Sie es zu töten, wird Hasan als Held auf Sie denken, und Sie werden nicht mehr stehlen.
+
+There's some diversity, but you should keep aiming at helping people and killing small-fry. If you ever want a challenge, there's a Giant Maggot inside the town which can kill you in one hit.
+
+
+There's somewhere I want you to go, but you're not strong enough yet, so be patient and help them first.
+Es gibt irgendwo Ich will dich gehen, aber du bist noch nicht stark genug, so geduldig sein und zu helfen ihnen zuerst.
+
+There's usually not a lot of things to do past these gates, but some monsters which only lives on the Land of Fire can only be found there!
+Es ist in der Regel nicht eine Menge Dinge, über diese Tore zu machen, aber einige Monster, die nur auf dem Land des Feuers lebt, können nur dort zu finden!
+
+There, now you can not only craft items, but craft AWESOME ITEMS!
+So, jetzt können Sie nicht nur Produkte herstellen, sondern Handwerk FANTASTISCHES PUNKTEN!
+
+There... *hic* They will expire *hic* in just @@... Or on logout.
+Es ... * hicks * werden Sie verfallen * hicks * in nur @@ ... oder beim Abmelden.
+
+Therefore we need a lot of glue, but our supplies are nearly used up. I need @@/@@ @@ as ingredient to make new glue.
+Deshalb brauchen wir eine Menge Leim, aber unsere Lieferungen bis fast zum Einsatz kommen. Ich brauche @@ / @@ @@ als Bestandteil neuen Klebstoff zu machen.
+
+Therefore, I shall head to the %s, and look for %s. If anyone knows how to fix it, might as well be that rat-faced... being.
+
+
+Therefore, children of Merlin, go back to your world, and ask the Blue Sage Nikolai about it. The blue sage may fake angerness or try to dodge the question, but they are a good person. Still, you should ensure you're on his good side.
+
+
+Therefore, just for a short while, I offer to be your blade.
+
+
+Therefore, please choose a permanent stat-boosting fruit.
+
+
+Therefore, the Alliance created a system so when you kill a monster, depending on its strength, you'll get Monster Points.
+Deshalb erstellt die Allianz ein System so, wenn du ein Monster töten, je nach ihrer Stärke, werden Sie Monster Punkte bekommen.
+
+Therefore... Are you perhaps interested in some... illicit goods? %%p
+
+
+Thermin is also known as the lost city. It was once founded to mine ores, and export to everyone.
+Theremin ist auch als die verlorene Stadt bekannt. Es wurde einmal Mine Erzen und den Export in all gegründet.
+
+These are being crafted by Alan.
+Diese werden von Alan gefertigt.
+
+These are dangerous caves since Marley and her gang made it a hideout.
+
+
+These are saved by walking in warp portals or touching Soul Menhirs.
+Diese sind zu Fuß in Kett-Portale oder berühren Seele Menhire gespeichert.
+
+These assassins will catch me if I do that now!
+Diese Mörder werden mich fangen, wenn ich das jetzt tun!
+
+These barrels are sealed and heavy. It's impossible to know what's inside. There's a marking on them, you copy them somewhere.
+Diese Fässer werden verschlossen und schwer. Es ist unmöglich zu wissen, was drin ist. Es gibt eine Markierung auf sie, können Sie sie irgendwo kopieren.
+
+These battle plans are all wrong; They trace routes on the Canyon which doesn't exist...
+
+
+These boxes cannot be sold, but they'll be deleted a while after the event ends.
+Diese Boxen können nicht verkauft werden, aber sie werden eine Weile nach Ende der Veranstaltung gelöscht werden.
+
+These cliffs are no place for weak people like you. You better teleport yourself away as soon as possible!
+Diese Klippen sind kein Platz für schwache Menschen wie Sie. Sie besser zu teleportieren sich weg so schnell wie möglich!
+
+These gold fishes multiply horribly and have no natural predator.
+
+
+These monsters are a great source of raw crafting materials.
+Diese Monster sind eine große Quelle von rohen Handwerksmaterialien.
+
+These paths are all wrong! What is the problem with this map?!
+
+
+These people have lots of unspent Strange Coins! Waw!
+Diese Leute haben eine Menge unverbrauchten Seltsame Münzen! Waw!
+
+These towers must hold unfathomable secrets from %s.
+
+
+These weapons are only for masters, so you must get levels before being able to use them.
+Diese Waffen sind nur für Herren, Sie müssen also Ebenen, bevor in der Lage, sie zu nutzen.
+
+These will do just fine.
+Diese werden ganz gut tun.
+
+Theta Book
+Theta Buch
+
+Theta Ring
+Theta Ring
+
+They also determine rules, and enforce them. We live under a disguised dictatorship.
+
+
+They also don't need much intelligence or magic equipment.
+
+
+They also hold control over the Mana Stones, but this is not the problem.
+Sie halten auch die Kontrolle über die Mana-Steine, aber das ist nicht das Problem.
+
+They also recently took over some city affairs. It's good they're protecting us, but I'm afraid of them creeping into our lives!
+
+
+They are at north of the town.
+
+
+They are filled with a strange gas which makes they deflect attacks. They are done from a material which cannot be cut easily.
+Sie sind mit einem fremden Gas gefüllt, das sie Angriffe abzulenken macht. Sie sind aus einem Material gemacht, das nicht einfach zu schneiden.
+
+They are hidden in the crypts, inside a cave.
+
+
+They are highly intelligent, and have higher magical affinity, and live longer, but lacks creativity.
+
+
+They are in the basement, pulling the strings from behind.
+
+
+They are known to use a revolutionary hair growth formula, which can give you a wild thatch even if you are bald!
+
+
+They are now like most monsters. I pity them. Their sacrifice was not in vain, though.
+Sie sind jetzt wie die meisten Monster. Ich habe Mitleid mit ihnen. Ihr Opfer war nicht umsonst, though.
+
+They are strict with who is allowed inside, so you'll need either elf or ukar friends to pass.
+Sie sind streng mit, die im Inneren erlaubt ist, so dass Sie entweder elf benötigen oder ukar Freunde weitergeben.
+
+They became friends and Dimond told Merlin about her idea.
+Sie wurden Freunde und Dimond sagte Merlin über ihre Idee.
+
+They came in the night, always taking what does not belong to them.... The SLIMES!
+Sie kamen in der Nacht, immer nehmen, was ihnen nicht gehört .... Die Schleime!
+
+They can be a bit lacking in defensive power, however.
+Sie können etwas sein, in Verteidigungskraft fehlt jedoch.
+
+They can be equipped to make your look more interesting or to improve some of its features.
+Sie können Ihr Aussehen interessanter zu machen oder zu verbessern, einige seiner Funktionen ausgestattet werden.
+
+They cheat! They make silly tricks which look like magic.
+
+
+They did nothing good! They claim the Platinum Queen was a savior, all lies!
+
+
+They had a TMWA server, but the Monster King went hyperactive and... Well, it crashed here.
+Sie hatten einen TMWA Server, aber das Monster King ging hyperaktiv und ... Nun, es hier abgestürzt.
+
+They had a critical role in ensuring the human's race survival to The Great Fire.
+
+
+They have 10x more chance to drop a @@, so it is a great deal!
+Sie haben 10x mehr Chancen eines Drop @@, so ist es sehr viel!
+
+They haven't found Mana Stones yet, so no magic, but alchemy is strong. I don't know what caused the Great Fire, and the whole event is time-locked. You can ask Falkrun for more about the Great Fire. That's what you need to know for now.
+
+
+They jump left and right and left and right again, and I can't catch them.
+Sie springen nach links und nach rechts und links und dann wieder rechts, und ich kann sie nicht fangen.
+
+They left me no inheritance, either. Even surviving has been a struggle. I'm not strong enough to kill the living potatoes for @@.
+
+
+They live below this town. Can you do this for me?
+Sie leben unterhalb dieser Stadt. Kannst du das für mich tun?
+
+They must be hiding in some cave... It's a shame!
+Sie müssen Versteck in einiger Höhle sein ... Es ist eine Schande!
+
+They must be reagents used in alchemy.
+Sie müssen Reagenzien in der Alchemie verwendet werden.
+
+They must never know we had it. Their sacrifices must be forgotten. For the sake of all.
+Sie dürfen auf keinen Fall wissen wir es hatten. Ihre Opfer müssen vergessen werden. Im Interesse aller.
+
+They need to be feed, when hunger falls below 75. @@ is the best food for them.
+Sie brauchen Futter zu sein, wenn der Hunger fällt unter 75 @@ ist die beste Nahrung für sie.
+
+They promised to travel to the ##BWorld Edge##b to fetch a Mana Fragment. The wisest of them said it was the only chance.
+
+
+They rely entirely in intelligence and magic equipment.
+
+
+They restrict access to it to prevent new Monster Kings from emerging. They also keep record on every mage in the world.
+Sie beschränken den Zugriff auf die neuen Monster King zu verhindern, entstehen. Sie halten auch Rekord auf jedem Magier der Welt.
+
+They set up shop in the whole town, so if you are in need of upgrading your gear or buying health food, it might be a good idea to pay them a visit.
+
+
+They shouldn't. Could you perhaps, kindly bring me 1 @@?
+Sie sollten nicht. Könnten Sie vielleicht, mich freundlich 1 bringen @@?
+
+They use magic to boost their bodies, allowing them to do very, VERY powerful physical attacks.
+
+
+They use mana to create magic attacks and blast their foes away.
+
+
+They used to be an advanced civilization long long ago, but they decided to go against the Moubootaur.
+Sie benutzten eine fortgeschrittene Zivilisation zu sein, lange vor langer Zeit, aber sie entschieden gegen die Moubootaur zu gehen.
+
+They used to export food and other things but there has been radio silence recentely; Which is why Andrei Sakar and a group of adventurers borrowed Nard's ship and went to investigate.
+
+
+They wanted magic to be once again free!
+Sie wollten Magie einmal wieder frei!
+
+They were a noob.
+
+
+They were given with @@ by @@.
+Sie wurden mit @@ von @@ gegeben.
+
+They were never again seen. None of them. We burnt all records about everyone here, and blamed the Monster King.
+Sie wurden nie wieder gesehen. Keines von denen. Wir verbrannt alle Aufzeichnungen über alle hier, und beschuldigten das Monster King.
+
+They were sending food and supplies to the Alliance, but in the past months, there was a deadly silence. Not a single sign of life came from there.
+
+
+They will all perish, along most of wildlife, according to the legend passed down.
+Sie werden alle umkommen, entlang den meisten Tierwelt, nach der Legende überliefert.
+
+They will not attack anyone unless they are attacked first.
+Sie werden niemanden angreifen, wenn sie zuerst angegriffen werden.
+
+They will try to prove your worth before, though. So be ready.
+Sie werden versuchen, Ihren Wert vor zu beweisen, though. So fertig sein.
+
+They'll also start spawning on whole map, so be careful.
+
+
+They're back - and they took hold of your majesty - my husband - king Arthur!
+
+
+They're not magic, but yayaya, people like to say it is! Yeyeye.
+Sie sind keine Zauberei, sondern Yayaya, wie die Menschen sagen, es ist! Yeyeye.
+
+They're not too dangerous, but they can take a lot of hits. So, if you kill 10 of them, I'll know you're dedicated in learning which monsters are out there.
+
+
+They're scary, don't you think so?
+Sie sind unheimlich, denken Sie nicht so?
+
+They're strong, so keep fighting Maggots and Scorpions which you're used to, until you get stronger.
+Sie sind stark, halten so kämpfen Maggots und Scorpions, die Sie gewohnt sind, bis Sie stärker werden.
+
+They're too strong for me!
+Sie sind zu stark für mich!
+
+They're with me.
+Sie sind mit mir.
+
+Thief
+Dieb
+
+Think on Season Quests as a yearly quest which you have three months to do.
+Denken Sie an Saison Quests als jährlich Quest, die Sie drei Monate zu tun.
+
+Think on it like a... perk, for having helped the adventurers in this world. I just need to check if you are eligible, hold still.
+
+
+Thinking a bit... Yes, you definitely should go to the mines. They have been infested by slimes and people sometimes worry they'll leave and attack the town, but you should be capable of suppressing them.
+
+
+Thinking well, I've heard Cyndala could bleach these pants for free; Must be because their ugliness.
+
+
+Thinking well... There's something behind it! A secret window!
+Denken gut ... Es ist etwas dahinter! Ein geheimes Fenster!
+
+Third Tier
+Third Tier
+
+This %s will do. I mean, it won't be a comfortable trip, but you are in an emergency situation.
+
+
+This @@ is a nice stuff. I can refine it for @@ GP and @@ @@.
+Diese @@ ist eine nette Sachen. Ich kann es für @@ GP und verfeinern @@ @@.
+
+This Portal can send your soul back to the world, along any items, money and/or experience gained.
+Dieses Portal kann die Seele zurück in die Welt, entlang einer beliebigen Gegenstände, Geld und / oder Erfahrungen senden.
+
+This Real Estate is available for rent for only @@ GP!
+Das Real Estate ist zu mieten für nur @@ GP!
+
+This a simple game; Choose one of the shrines - west or east. The one at west is %s, the one at east is %s.
+
+
+This action CANNOT BE UNDONE.
+Diese Aktion kann nicht rückgängig gemacht werden.
+
+This area is not yet ready. Please use the portal to the right instead.
+
+
+This area is only for level 70 upwards.
+Dieser Bereich ist nur für Level 70 aufwärts.
+
+This barrel is a courtesy from Dimond Cove Inn.
+Dieser Lauf ist eine freundliche Genehmigung von Diamond Cove Inn.
+
+This barrel seems suspicious...
+Dieser Lauf scheint verdächtig ...
+
+This basically means that it'll be another day without it.
+Das bedeutet im Wesentlichen, dass es an einem anderen Tag, ohne es sein wird.
+
+This book is too advanced to read. You need level %d in %s to read it.
+
+
+This book outlines the laws which applies everywhere in the World Of Mana.
+Dieses Buch beschreibt die Gesetze, die überall in der Welt der Mana gilt.
+
+This book will write itself, and reveal you the Secret Of Mana.
+Dieses Buch schreibt selbst, und zeigen Sie das Geheimnis von Mana.
+
+This boost can be used until level 20.
+Diese Steigerung kann bis Stufe 20 verwendet werden.
+
+This bounty has expired.
+
+
+This boy needs help, we need to rescue him!#1
+
+
+This can only be reverted at rebirth! Beware!
+
+
+This cannot be evolved.
+
+
+This cannot be undo later!
+Dies kann nicht später rückgängig gemacht werden!
+
+This cave is considered outside the town!
+
+
+This certainly is just to reorganize their armies. We must take this chance to improve ourselves, or else, we'll be overrun soon enough.
+
+
+This challenge will be available in %s. Please wait until then.
+
+
+This character person is strange I better get away...
+Dieser Charakter Person ist seltsam, ich besser weg ...
+
+This choice CANNOT be undone later.
+
+
+This coal will aid you to craft better weapons later. It's a token of appreciation. Good job.
+Diese Kohle wird helfen Sie später bessere Waffen herstellt. Es ist ein Zeichen der Wertschätzung. Gut gemacht.
+
+This command cannot be used on test servers.
+
+
+This conversation never happened.
+
+
+This curse reclaims your soul to the Soul Eater. Except, she perished on the Great Fire.
+
+
+This diary had several pages torn off, but the last page is clearly legible.
+
+
+This didn't work. All pins are now unset!
+Das hat nicht funktioniert. Alle Pins sind jetzt nicht gesetzt!
+
+This doesn't looks like a toy.
+
+
+This door is locked, if we only had a %s...
+
+
+This door is locked.
+Die Tür ist verschlossen.
+
+This door is locked. A warning sign is on the door: "do not enter!".
+
+
+This error is fatal, we stop execution.
+Dieser Fehler ist fatal, wir stoppen Ausführung.
+
+This estate currently belongs to @@.
+Dieses Anwesen gehört zur Zeit @@.
+
+This estate is available for rent, talk to the sign to rent it.
+Diese Immobilien zur Miete zur Verfügung steht, sprechen Sie mit dem Zeichen, es zu mieten.
+
+This event has already ended.
+
+
+This event is unique, and cannot be repeated.
+
+
+This example will not be shown again.
+
+
+This exposition has to be a success!
+
+
+This farm is dying due constant monster attacks, and without them, Tulimshar might face a famine.
+Dieser Hof liegt im Sterben durch konstante Monster angreift, und ohne sie, Tulimshar könnte eine Hungersnot konfrontiert.
+
+This fertilizer is projected to protect the plants from plagues, bugs, scorpions and maggots, trying to not be a plague itself.
+Dieser Dünger wird projiziert, die Pflanzen von Plagen, Wanzen, Skorpionen und Maden zu schützen, versucht nicht, eine Plage selbst zu sein.
+
+This fishing spot has just been used, give it a rest.
+Dieser Angelplatz wurde gerade erst benutzt, lass es hier erst einmal ruhen.
+
+This fishing spot is already being used!
+Dieser Angelplatz wird bereits benutzt!
+
+This forge will prepare equipment for you, no skill required!
+Diese Schmiede Ausrüstung für Sie vorbereitet wird, benötigt keine Fähigkeit!
+
+This gate is still sealed.
+
+
+This girl needs help, we need to rescue her!#0
+Das Mädchen braucht Hilfe. Wir müssen sie retten!
+
+This happens quite often, too. My friends and I are always collecting keys to reduce beer price on Hurnscald. %%2
+
+
+This has been a long journey, children, so please answer me. Is power a good thing?
+
+
+This have many uses. Maybe. Anyway, I'm soon done with my experiment, so please come back later.
+Diese haben viele Anwendungen. Könnte sein. Wie dem auch sei, ich bin bald mit meinem Experiment durchgeführt, so kommen Sie bitte später wieder.
+
+This is ##BCandor Island##b. A very small rich community lives here.
+
+
+This is Duck Island, the last safe refuge for birds. Ducks tend to be very peaceful, but our young ruler, King DD, has been taken up with the art of war.
+
+
+This is Tulishmar, the oldest of human cities.
+Dies ist Tulishmar, die älteste der menschlichen Städte.
+
+This is a @@, meaning only the victor party will receive the great prize.
+Dies ist ein @@, nur der Sieger Partei Sinn den großen Preis erhalten.
+
+This is a Cursed Lands map, you'll lose mana over time and may also incurr in debuffs if mana is low (may cause death).
+
+
+This is a Soul Menhir, but seems more magical than the others.
+Dies ist eine Seele Menhir, scheint aber magischer als die anderen.
+
+This is a bleeding map, HP won't recover naturally, and bleeding may start.
+
+
+This is a hot map, you're suffering damage over time.
+
+
+This is a magical barrier, powered by three seals in your part.
+Dies ist eine magische Barriere, die von drei Dichtungen in Ihrem Teil mit Strom versorgt.
+
+This is a menu, click on the option and then on submit. You can use arrow keys if you prefer.
+
+
+This is a menu. You can click on the desired option and press "Send", and double-clicking should work, too.
+
+
+This is a special map so your death is not counted.
+
+
+This is a strange switch...
+Das ist ein seltsamer Schalter ...
+
+This is a weird stone. It looks like a Mana Stone from afar, but anyone can tell it is fake.
+
+
+This is an apartment. You cannot renew until it expire, and cannot invite guests.
+Dies ist eine Wohnung. Sie können nicht verlängern, bis sie auslaufen, und die Gäste nicht einladen können.
+
+This is another chant which causes normal fire damage in an area.
+
+
+This is difficult, but you are giving your best!!
+Das ist schwierig, aber Sie geben Ihr Bestes !!
+
+This is going to be difficult... oh, hello. I'm working on recreating some of the books that were destroyed.
+Dies wird schwierig sein ... oh, hallo. Ich arbeite einige der Bücher auf neu zu erstellen, die zerstört wurden.
+
+This is great! My collection of rare figurines is now complete.
+Das ist toll! Meine Sammlung von seltenen Figuren ist nun abgeschlossen.
+
+This is how the Monster King became evil. Keep practicing magic, so you get more comfortable with it and fail less often.
+Dies ist, wie das Monster King böse wurde. Halten Magie zu üben, so dass Sie sich wohler mit ihm bekommen und nicht weniger häufig.
+
+This is in honor of all the [@@help://about-server|Contributors@@] who helped rebuilding this world, after the Monster War outbreak.
+Dies ist zu Ehren aller [@@ Hilfe: // about-Server | Contributors @@], die diese Welt geholfen Wiederaufbau nach dem Monster Ist Ausbruch.
+
+This is just a bucket, but I did some cuts on it so you can see though it. It protects your whole face.
+Dies ist nur ein Eimer, aber ich habe auf sie ein paar Schnitte, so dass Sie, obwohl sie sehen können. Es schützt das ganze Gesicht.
+
+This is just a friendly advise. We don't take magic lightly. And you shouldn't, either.
+Dies ist nur eine freundliche Beratung. Wir nehmen Magie nicht leicht. Und Sie sollten auch nicht.
+
+This is just a short list to make GMs life easier!
+Dies ist nur eine kurze Liste GMs das Leben leichter zu machen!
+
+This is just an example of a chant which causes low damage in an area.
+
+
+This is my chance - the biggest Mana Quake ever, it feels like a whole world crushing in ours. I can feel the drain from Candor's Mana Reserves all the way up here.
+
+
+This is not The Mana World. My name is not Bryant.
+Dies ist nicht The Mana World. Mein Name ist nicht Bryant.
+
+This is not a healing item.
+Dies ist keine Heilung Element.
+
+This is not a place for non-experimented people!
+Dies ist kein Ort für nicht-erfahren Leute!
+
+This is not enough, I need 5 @@ to perform the rite. Go talk with Zitoni.
+Dies ist nicht genug, ich brauche 5 @@ den Ritus durchzuführen. Sprich mit Zitoni.
+
+This is not magic, it is science!
+Das ist keine Zauberei, ist es Wissenschaft!
+
+This is not meant for me.
+
+
+This is not saved.
+Dies wird nicht gespeichert.
+
+This is not the first time you've been arrested for AFK botting, so, ##BNO!##b
+
+
+This is not what I asked for.
+Das ist nicht das, was ich gefragt.
+
+This is often 1, 2 or 3 tiles. For talking, usually 4 or 5 tiles. Shouting can be done from 12 up to 18 tiles; But as shouting is rude, most NPCs won't react to it.
+
+
+This is only for the skilled players. Newbies, KEEP OUT!
+Dies ist nur für die erfahrenen Spieler. Newbies, HALTEN!
+
+This is ridiculous. Groata is not here, I am wasting my time!
+
+
+This is so amusing, you decide to stare for a while longer.
+
+
+This is terrible - a fiend from a parallel dimension has broken in ours!
+
+
+This is the @@ skill. It transmutes a single @@ in a @@.
+Dies ist das @@ Geschick. Es verwandelt eine einzige @@ in einem @@.
+
+This is the @@ skill. It transmutes stuff into other stuff. I'll teach you some more recipes as class drag on.
+Dies ist das @@ Geschick. Es verwandelt Sachen in andere Sachen. Ich werde Ihnen ein paar mehr Rezepte als Klasse Hemmschuh für lehren.
+
+This is the FAIRYEMPIRE spell. It'll summon Pixies.
+
+
+This is the FROZENHEART spell. It'll summon... Yeti.
+Dies ist der FROZENHEART Bann. Es wird beschwören ... Yeti.
+
+This is the STONEHEART spell. It'll summon the fierce Terranite.
+Dies ist der Stoneheart Bann. Es wird den heftigen Terranite rufen.
+
+This is the end for your party, as the leader doesn't have sufficient level.
+Dies ist das Ende für Ihre Partei, als der Führer nicht ausreichendes Niveau hat.
+
+This is the least I could do for you. Many thanks. And if you have more food, you can keep feeding my family.
+Das ist das Mindeste, was ich für Sie tun könnte. Danke vielmals. Und wenn Sie mehr Nahrung haben, können Sie meine Familie halten füttern.
+
+This is the main hall. Below this stairs, you'll find the Heroes Hold Main Dungeon. It's a cave in a... uhm. Water.
+Dies ist die Haupthalle. Unterhalb dieser Treppe, werden Sie die Helden Haupt Dungeon Halten finden. Es ist eine Höhle in einem ... uhm. Wasser.
+
+This is the perfect opportunity to help Celestia.
+
+
+This is the test server.
+
+
+This is too powerful to you. Get level 20 before attempting to use.
+Dies ist zu mächtig für Sie. Erhalten Sie Stufe 20 vor dem Gebrauch versuchen.
+
+This is too precious to offer, I think.
+
+
+This is why I love spring!
+Aus diesem Grunde ist Frühling lieben!
+
+This isn't what we requested. Perhaps you should count your items more carefully.
+
+
+This item cannot be auctioned.
+Dieser Artikel kann nicht versteigert werden.
+
+This item cannot be dropped.
+Dieses Item kannst du nicht wegwerfen!
+
+This item cannot be refined further.
+Dieser Artikel kann nicht weiter verfeinert werden.
+
+This item cannot be sold.
+Dieser Artikel kann nicht verkauft werden.
+
+This item cannot be stored.
+Dieses Item kannst du nicht lagern.
+
+This item cannot be traded normally and is a Legendary Item.
+Dieser Artikel kann nicht normal gehandelt werden und ist ein legendärer Gegenstand.
+
+This item cannot be traded.
+Dieses Item kannst du nicht tauschen.
+
+This item cannot be used as bait here.
+Dieser Gegenstand kann hier nicht als Köder verwendet werden.
+
+This item drop rate is %s%%, which exceeds the threshold of %s%%.
+
+
+This item have no bonuses, and cannot be tweaked.
+Dieser Artikel hat keine Boni und kann nicht optimiert werden.
+
+This item is too precious, you cannot part with it!
+Dieser Artikel ist zu kostbar, können Sie sich nicht mit ihm!
+
+This key is dropped by the Saxso Ghost. Did you knew you can obtain info about the monster drop rates and strength?
+
+
+This live sword drafts itself to your hand. You can wield it during today's event.
+Dieses Live-Schwert entwirft selbst auf der Hand. Sie können es während der heutigen Veranstaltung führen.
+
+This live sword drafts itself to your hand. You can wield it for a while.
+Dieses Live-Schwert entwirft selbst auf der Hand. Sie können es für eine Weile ausüben.
+
+This lock is beyond your current capacity.
+Diese Sperre ist jenseits Ihrer aktuellen Kapazität.
+
+This lock is simple, maybe with your thief skills you can manage to pry it open. But beware, you can end up in jail!
+Diese Sperre ist einfach, vielleicht mit Ihrem Dieb Fähigkeiten, die Sie verwalten können es aufzubrechen. Aber Vorsicht, können Sie im Gefängnis landen!
+
+This looks magical, I wonder what it does.
+
+
+This lord dropped a key and a stash of gold!
+
+
+This man is THE LEGENDARY KING ARTHUR!
+
+
+This map contains poisonous gas and may cause diseases.
+
+
+This means ##BAll items were lost##b, and you need to collect EVERYTHING, again, to get the hat.
+
+
+This means everytime you get more power, you lose control. Pratice is the key.
+Das bedeutet, jedes Mal, wenn Sie mehr Leistung zu bekommen, verlieren Sie die Kontrolle. Praxis ist der Schlüssel.
+
+This means that if you die while in the past, you'll be brought back here as if you never traveled in time.
+
+
+This means that if you drop a coin on Advanced Dungeon, 4 coins will be dropped instead. On Expert, that would be 8.
+Dies bedeutet, dass, wenn Sie eine Münze auf Erweiterte Dungeon fallen, 4 Münzen stattdessen fallen gelassen werden. Auf Expert, das würde 8 sein.
+
+This menu allows you to customize your appearance.
+Dieses Menü erlaubt es, dein Aussehen zu personalisieren.
+
+This menu allows you to manage events and gives access to event-related tools.
+Dieses Menü erlaubt es, Events auszurichten und Zugang zu eventbezogenen Tools zu erhalten.
+
+This menu allows you to modify the generic message that is sent to players when they log in.
+Dieses Menü erlaubt es, die Nachricht zu ändern, die den Spielern beim Login angezeigt wird.
+
+This menu allows you to modify your account data.
+Dieses Menü erlaubt es, deine Account-Daten zu ändern.
+
+This menu allows you to set the scheduled broadcast that is sent to all players at a specific interval.
+Dieses Menü ermöglicht die Erstellung einer Ankündigung, die jedem Spieler in einem bestimmten Intervall angezeigt wird.
+
+This menu contains all options available to you, based on your access privileges.
+Dieses Menü enthält alle Optionene, die dir aufgrund deiner Berechtigungen zur Verfügung stehen.
+
+This menu gives access to quest debug menus for @@ quests.
+Dieses Menü erlaubt den Zugang zu den Debug Menüs für die @@ Quests.
+
+This menu gives you some options which affect your account.
+Das Menü gibt Ihnen einige Optionen, die Ihr Konto betreffen.
+
+This might be the place of a great secret, but yet, all you can do is stare.
+
+
+This new skill will allow you to pinch every gold piece from a NPC when selling stuff! Ka-pow, now you can steal items and resell them for moar GP! AMAZING!
+Diese neue Fähigkeit ermöglicht es Ihnen, jedes Goldstück von einem NPC kneifen, wenn Sachen zu verkaufen! Ka-pow, stehlen Sie können jetzt Artikel und verkaufen sie für moar GP! TOLLE!
+
+This note is not interesting, maybe the obelisk is more.
+Dieser Hinweis ist nicht interessant, vielleicht der Obelisk mehr ist.
+
+This note is too old and difficult to read.
+Diese Anmerkung ist zu alt und schwer zu lesen.
+
+This one is useless! Give me another @@.
+Diese ist unbrauchbar! Bring mir eine weitere @@.
+
+This option is not yet available for you; Please purchase the Premium Storage first, and then we can get started on the deluxe.
+
+
+This option will be remembered by other NPCs as well.
+
+
+This passage is still sealed.
+
+
+This passage seems sealed. If I only had a @@...
+Dieser Passus scheint besiegelt. Wenn ich nur eine @@ ...
+
+This place is reeking blood. We better come again later.
+Dieser Ort ist reeking Blut. Wir kommen wieder besser später.
+
+This program will cause experience gain to be tripled during the next siege to the town.
+
+
+This quest will unlock at level 5.
+Diese Quest wird ab Level 5 freigeschaltet.
+
+This quota is reset yearly, by completing %s's quest.
+
+
+This random cave-warping only happens once, too.
+Diese zufällige Höhlen Verziehen geschieht nur einmal, auch.
+
+This request was made by the inn: The %ss are stealing their cherry cakes, causing disruption to their business.
+
+
+This research caused a lot of neglect, so expect poverty and people unwilling to talk. Benjamin, head of the council, is doing a "breaktrhough" in the most literal sense possible (breaking through the whole town finances instead of revolutionizing the world).
+
+
+This room is too dark. I want to brighten it up.
+Dieser Raum ist zu dunkel. Ich möchte es erhellen.
+
+This schedule is subject to change without prior notice.
+Dieser Zeitplan ist Änderungen vorbehalten ohne vorherige Ankündigung.
+
+This seal was already broken, proceed to the next seal!
+Dieses Siegel wurde bereits gebrochen, gehen Sie auf die nächste Dichtung!
+
+This seems like a good idea at first, but actually, it isn't.
+Dies scheint eine gute Idee, auf den ersten, aber eigentlich ist es nicht.
+
+This set grants the following effect when complete:
+
+
+This set is composed by the following items:
+
+
+This setting can only be changed every %d days.
+
+
+This shrine is devoted to those whom shall never come back.
+Dieser Schrein ist denjenigen gewidmet wem soll nie wieder kommen.
+
+This shrine seems to be a dangerous place, and nobody should defile it.
+Dieser Schrein scheint ein gefährlicher Ort zu sein, und niemand sollte es verunreinigen.
+
+This silk robe is more than enough, and you are fighting, you need the def bonus more than me. %%2
+
+
+This singularity will remain disarmed for @@ more!
+Diese Singularität bleibt für @@ mehr entschärft!
+
+This skill can only be used on monsters!
+
+
+This skill can only be used on players!
+
+
+This skill cannot be upgraded further.
+
+
+This small island is a good place to heal our wounds, and the monsters here are not threating.
+Diese kleine Insel ist ein guter Ort, um unsere Wunden zu heilen, und die Monster sind hier nicht threating.
+
+This statue was built for memory of Andrei Sakar, the greatest hero this world has even seen.
+Diese Statue wurde für das Gedächtnis von Andrei Sakar, dem größten Helden baut diese Welt selbst gesehen hat.
+
+This switch controls one of the four dungeons.
+
+
+This table will prepare the potion for you, no skill required!
+Diese Tabelle wird den Trank für Sie vorbereiten, benötigt kein Geschick!
+
+This tax must be paid now, and you can brew as much as you wish after payment.
+
+
+This teleporter is currently recharging.
+Diese Teleporter aufgeladen wird zur Zeit.
+
+This throne is not from the Monster King... IT BELONGS ONLY TO ME!
+Dieser Thron ist nicht vom Monster King ... ES GEHÖRT ZU MIR NUR!
+
+This time, I only a few last reagents and I'll finally attempt it... I want you to witness it. I'll teach you the spell later, of course.
+Diesmal habe ich nur ein paar letzte Reagenzien und ich werde es schließlich versuchen ... Ich möchte Sie es bezeugen. Ich werde Ihnen den Zauber später lehren, natürlich.
+
+This time, I'll be prepared. His reign of terror has its days counted.
+
+
+This torch is already lit.
+Dieser Brenner ist bereits lit.
+
+This tree is crazy!!
+
+
+This vault currently have @@ GP inside.
+Dieses Gewölbe hat derzeit @@ GP innen.
+
+This well is sealed. They must take water outside the town.
+Die gut abgedichtet ist. Sie müssen Wasser außerhalb der Stadt nehmen.
+
+This well is too deep and you don't have a bucket.
+Das gut ist zu tief, und Sie haben nicht einen Eimer.
+
+This whole region is called the Heroes Hold. It's designed for hard core, bragging-rights-hunters, high level, supreme players.
+Diese ganze Region ist die Helden Halten genannt. Es ist für die harten Kern, Prahlerei-Rechte-Jäger, hohe Niveau, höchsten Spieler.
+
+This whole situation is very disquieting, not to say suspicious. There might be something more to it that we're not seeing.
+Diese ganze Situation ist sehr beunruhigend, nicht verdächtig zu sagen. Es könnte etwas mehr sein, dass wir sehen nicht.
+
+This will affect humans, too, so don't act as if it is not your bussiness either.
+Dies wird die Menschen beeinflusst auch so nicht handeln, als ob es entweder nicht Ihre bussiness ist.
+
+This will affect rewards, and decision is final!
+
+
+This will be remembered.
+Dies wird sich erinnern.
+
+This will be your last task. Besides the @@, the strongest monster on this island worth killing is the @@.
+
+
+This will bring me back to the Hall.
+Das wird mich in die Halle bringen.
+
+This will cost you all your action points.
+
+
+This will do nothing if the account already have a PIN.
+
+
+This will remove you from the quest!
+
+
+This will take only a short while.
+Dies dauert nur kurze Zeit.
+
+This workshop doesn't gets too many tasks from Santa outside the Christmas...
+Dieser Workshop wird nicht zu viele Aufgaben von Santa außerhalb der Weihnachts ...
+
+This would mean you might need to complete this quest again in the future.
+Dies würde bedeuten, Sie in Zukunft diese Quest wieder zu vervollständigen brauchen könnten.
+
+Thorn
+Dorn
+
+Thorn Ammo Box
+Thorn Munitionsbox
+
+Thorn Arrow
+Thorn Pfeil
+
+Thorn Chest
+Thorn Chest
+
+Thorn is so annoying...
+Thorn ist so ärgerlich ...
+
+Those for consumption, equipment and generics.
+Diejenigen, für den Verbrauch, Ausstattung und Generika.
+
+Those with most %s on this world becomes scholars.
+
+
+Three equal: @@.
+Drei gleich: @@.
+
+Three powerful consecutive brawn attacks with a chance to stun target.
+
+
+Three powerful consecutive brawn attacks.
+
+
+Throw a coin?
+Werfen Sie eine Münze?
+
+Throw something inside!
+Werfen Sie etwas nach innen!
+
+Thug
+
+
+Thunder Staff
+Gewitter Stab
+
+Thus far you have collected @@ @@, @@ @@ and @@ @@.
+Bis jetzt haben Sie gesammelt @@ @@ @@ @@ und @@ @@.
+
+Thus far you've slain %s/%s %s for me!
+
+
+Thus far, you've donated @@ boxes.
+Bis jetzt haben Sie @@ Boxen gespendet.
+
+Thus far, you've heard about %d hours and %d minutes of wisdom.
+Bis jetzt haben Sie% d Stunden und% d Minuten der Weisheit zu hören.
+
+Thus far, you've sponsored Golbarez in %d %% from total.
+
+
+Thus, I like to collect small memetos from Tulimshar.
+So mag ich kleinen memetos von Tulimshar zu sammeln.
+
+Time Flask
+Zeit Flask
+
+Time Limit
+Zeitlimit
+
+Time Limit: 25 minutes on any dungeon.
+Zeitlimit: 25 Minuten auf jedem Verlies.
+
+Time Limit: 90 minutes
+
+
+Time is running out... Hurry up!
+Die Zeit wird knapp ... Beeilen Sie sich!
+
+Time left until warp can be used: %s
+
+
+Time left: %d minutes
+
+
+Time left: %s
+
+
+Time left: @@ remaining
+Restzeit: @@ Rest
+
+Time limit for answer: 2 minutes
+Frist für die Antwort ein: 2 Minuten
+
+Time limit: 10 minutes
+
+
+Time out!
+
+
+Time remaining to report completion:
+Die verbleibende Zeit bis Bericht Vollendung:
+
+Time remaining: %s
+
+
+Times died: %s
+
+
+Times reborn: %d
+
+
+Times won Call of Dusty: %s
+
+
+Times won Capture the Flag: %s
+
+
+Tin Ingot
+Zinnbarren
+
+Tin Ore
+Zinnerz
+
+Tin Ore -> Gold Ore
+Zinnerz -> Golderz
+
+Tinris
+Tinris
+
+Tinris probably could do that, he is young but very talented. He is a greedy elf, but if you help him, he'll likely help you back.
+Tinris wahrscheinlich könnte das tun, er ist jung, aber sehr talentiert. Er ist ein gieriger elf, aber wenn du ihm helfen, er wird Ihnen wahrscheinlich wieder helfen.
+
+Tipiou
+Tipiou
+
+Tipiu
+Tipiu
+
+Titanium Ingot
+Titanrohblock
+
+Titanium Ore
+Titanium Ore
+
+Titanium Ore -> Lead Ore
+Titanium Ore -> Bleierz
+
+Titanium Ore and Coal refunded on Leather Quiver update.
+Titan Erz- und Kohle erstattet auf Leder Quiver Update.
+
+Titulation
+
+
+Tneck Sweater
+Tneck Sweater
+
+To Artis.
+
+
+To Candor Island.
+Zu Candor Island.
+
+To Hurnscald.
+Zu Hurnscald.
+
+To Nivalis.
+Um Nivalis.
+
+To Tulimshar.
+Zu Tulimshar.
+
+To aid those in need
+Um Menschen in Not zu helfen
+
+To answer them, use: @captcha <num_value>
+
+
+To be honest, I don't know. I was only walking, seeking for adventure!
+Um ehrlich zu sein, weiß ich nicht. Ich war nur zu Fuß, für das Abenteuer suchen!
+
+To be honest, I don't know. Your wife just allowed me to pass the door!
+Um ehrlich zu sein, weiß ich nicht. Ihre Frau nur mir erlaubt, die Tür zu passieren!
+
+To be honest, I have that with me!
+Um ehrlich zu sein, ich habe das bei mir!
+
+To be honest, you should use both. And remember, all Mana Magic skills can be used like they were @sk-commands. %%H
+
+
+To cast, one must sit on the circle and say the chant on general chat.
+
+
+To cause a server happy hour (+%d%% EXP), you need:
+
+
+To celebrate this I'll ask you some questions about my favourite book, The Hitchhiker's Guide to the Galaxy. If you can answer them, I'll give you something very useful.
+Um dies zu feiern werde ich Ihnen einige Fragen über mein Lieblingsbuch, Per Anhalter durch die Galaxis. Wenn Sie sie beantworten kann, werde ich Ihnen etwas sehr nützlich geben.
+
+To collect snake skin
+So sammeln Schlangenhaut
+
+To craft an item, you'll need to learn its blueprint. Blueprints can be very hard to obtain! Being a crafter will take a lot of your time.
+
+
+To create an homunculus out of the embryo mass: Use the Call Homunculus Skill. It'll be random, based on the embryo nature.
+Verwenden Sie den Anruf Homunculus Skill: ein Homunkulus aus dem Embryo Masse zu schaffen. Es wird zufällig sein, auf der Grundlage des Embryos Natur.
+
+To create an homunculus, I should follow the secrets in the book "The Man Who Played God". I wrote this narrative with the greatest secrets of it.
+
+
+To defeat the Moubootaur.
+
+
+To defocus or stop attacking, press Shift + A.
+Um Defokussierung oder Anschlag angreifende, drücken Sie Umschalt + A.
+
+To demonstrate that you understood what I'm trying to teach you, you should go and fight against some snakes. I know they're strong, but that's not important to an archer.
+Um zu zeigen, dass Sie verstehen, was ich versuche, Ihnen beizubringen, sollten Sie gehen und kämpfen gegen einige Schlangen. Ich weiß, sie sind stark, aber das ist auf einen Bogenschützen nicht wichtig.
+
+To discard an item you no longer want, select it and press the 'Discard' button. Generic items can be discarded or sold.
+Um einen Artikel zu verwerfen Sie nicht mehr wollen, wählen Sie es und drücken Sie die Taste ‚Verwerfen‘. Generisches Elemente können verworfen oder verkauft werden.
+
+To display the dialog box with other citizens, press the F7 key.
+Um das Dialogfeld mit anderen Bürgern anzuzeigen, drücken Sie die Taste F7.
+
+To do quests
+Zu tun Quests
+
+To do this you need to disable auto move to target in 'yellow bar'.
+diese müssen Sie deaktivieren Sie die automatische Umstellung auf Ziel in ‚gelben Balken‘ zu tun.
+
+To dungeon deep, and cavern old
+Um Verlies tief und Höhle alt
+
+To enter on them, you need to be level 25 and use the following chant: "Blame Saulc". I don't know why, but that open doors!
+
+
+To equip or unequip an item, select it and press the 'Equip' or 'Unequip' button. You can not 'Equip' or 'Unequip' when talking to someone.
+Auszurüsten oder ausklinken ein Element, wählen Sie es und drücken Sie die ‚Anlegen‘ oder ‚ausklinken‘ -Taste. Sie können nicht ‚Anlegen‘ oder ‚ausklinken‘, wenn jemand spricht.
+
+To explore these lands
+Um zu erforschen diese Länder
+
+To find him, just leave the ship and turn left. You should also touch the Soul Menhir when you leave this ship.
+Um ihn zu finden, lassen Sie das Schiff und biegen Sie links ab. Sie sollten auch die Seele Menhir berühren, wenn Sie das Schiff verlassen.
+
+To focus on a creature, press the 'A' key. To focus on another citizen, press the 'Q' key. To attack the focused target press the 'X' key or click the primary button on the creature.
+Um den Fokus auf eine Kreatur, drücken Sie die ‚A‘ -Taste. Um den Fokus auf einem anderen Bürger, drücken Sie die ‚Q‘ -Taste. Der fokussierte Ziel drücken Sie die Taste ‚X‘ oder klicken Sie auf die primäre Taste auf der Kreatur angreifen.
+
+To focus on an NPC, press the 'N' key. To talk to him press the 'T' key.
+Um den Fokus auf einen NPC, drücken Sie die ‚N‘ -Taste. Um mit ihm sprechen drücken Sie die ‚T‘ -Taste.
+
+To get more experience and magic power, you must practice magical spells. Make sure to vary them; you will learn nothing if you cast the same spell over and over. Also, spells that consume no components seem not to be very instructive in practice.
+Um mehr Erfahrung und Zauberkraft zu erhalten, müssen Sie Zaubersprüche üben. Achten Sie darauf, sie zu variieren; Sie werden nichts lernen, wenn Sie den gleichen Zauber immer und immer gegossen. Auch Zauber, die keine Komponenten verbrauchen scheinen nicht sehr lehrreich in der Praxis zu sein.
+
+To get started with fishing, you'll need two things: a fishing rod and a bait.
+Um mit dem Angeln zu beginnen, braucht es zwei Dinge: Eine Angel und einen Köder.
+
+To get the combo, you must fill all slots if one of the listed items. Usually any of the listed ones will do, but in rare cases it won't!
+
+
+To get there you need to go left, follow rock wall and go up when you can. The entrance to the Bandit cave is on left side of the waterfall.
+Um dorthin zu gelangen müssen Sie gehen Sie nach links, folgen Felswand und gehen, wenn Sie können. Der Eingang zum Bandit Höhle ist auf der linken Seite des Wasserfalls.
+
+To help fairies
+Um Hilfe Feen
+
+To insert a card, select the card and "use" it, or, drag and drop them to the weapon.
+
+
+To join a drill, right click on one of the lieutenants and join their Battle Stations. The drill can last up to 10 minutes.
+Um einen Bohrer zu verbinden, klicken Sie rechts auf einen der Leutnants und verbinden ihre Battle Stations. Der Bohrer kann bis zu 10 Minuten dauern.
+
+To make @@ I need one from each gem powders, and @@ GP for commission.
+Um @@ Ich brauche eine von jedem Edelstein Pulver und @@ GP für Provision.
+
+To make an %s I need a %s, an %s, and %s GP for commission.
+
+
+To make an %s I need a %s, three %s, and %s GP for commission.
+
+
+To make an %s I need a %s, two %s, and %s GP for commission.
+
+
+To make the string you want, I need a special oil, which I make myself. It's hard to do, so I'll spend time I could be using to fish or help the city guard.
+Um die Zeichenfolge, die Sie machen wollen, ich brauche ein spezielles Öl, das ich selbst machen. Es ist schwer zu tun, so dass ich Zeit verbringen werde ich Fisch verwenden könnte oder die Stadtwache helfen.
+
+To my murders, I gave them a full meal.
+Zu meinen Morden, gab ich ihnen eine volle Mahlzeit.
+
+To negotiate with other citizens, you should click the second mouse button on some other citizen who is accepting negotiations, and select the 'Negotiation' option from the menu that will appear.
+Zu verhandeln mit anderen Bürgern, sollten Sie die zweite Maustaste auf einen anderen Bürger klicken, die Verhandlungen, und wählen Sie die ‚Negotiation‘ Option aus dem Menü akzeptiert, die angezeigt wird.
+
+To open yellow Bar you need to right click on your health bar and active status bar, also called yellow bar. Or you can press '8' on numeric keypad.
+Um offene gelbe Bar müssen Sie die rechte Maustaste auf Ihrer Gesundheit Bar und aktive Statusleiste, auch gelbe Balken genannt. Oder Sie können ‚8‘ auf dem Ziffernblock drücken.
+
+To open your inventory, use the F3 key or use your mouse to select it in the above menu in your client.
+Um dein Inventar zu öffnen, drücke die F3-Taste oder nutze die Maus, um es im oberen Menü deines Clients auszuwählen.
+
+To pay in the specified date, we'll charge you %s over the loaned amount. So, how much?
+
+
+To perform most actions, like feeding and renaming, just right-click it. You can even put it back on the egg if its following gets too annoying. When in the egg, they will not feel hunger.
+Für die meisten Aktionen ausführen, wie Fütterung und Umbenennen, einfach mit der rechten klicken Sie darauf. Sie können es sogar auf das Ei legen, wenn seine folgendes zu lästig wird. Wenn im Ei, werden sie nicht das Gefühl, Hunger.
+
+To prevent abuse, a registering fee is charged. Nothing major.
+Um Missbrauch zu verhindern, ist eine Registrierung kostenfrei. Nichts Besonderes.
+
+To prove me your faith, bring me 1 @@ or 1 @@.
+Um zu beweisen, mir deinen Glauben, bring mir 1 @@ oder 1 @@.
+
+To prove me your results, bring me @@ @@, @@ @@ and @@ @@.
+Um zu beweisen, mir Ihre Ergebnisse, mich bringen @@ @@ @@ @@ und @@ @@.
+
+To reach this place... You just need to follow the path after the waterfall. Come back to me after that.
+
+
+To register as a craftsman, you need to talk to Intense Beard in Terranite Forge. The forge is in the Bazar.#1
+
+
+To register as a craftswoman, you need to talk to Intense Beard in Terranite Forge. The forge is in the Bazar.#0
+
+
+To register as a hunter, talk to Aidan, also in the marketplace - the Bazar.
+Um sich anzumelden als Jäger, sprechen Sie mit Aidan, auch auf dem Markt - der Bazar.
+
+To retry, I will charge you %d GP or %d %s for each attempt made. You'll have less time to finish as well.
+
+
+To scry Jesusaves, for example, you would do:
+
+
+To seek our pale, enchanted gold
+Um unsere blasse, verzauberte Gold zu suchen
+
+To speak in public select the 'General' tab. It serves to talk to people who are appearing on your screen.
+in der Öffentlichkeit wählen Sie die Registerkarte ‚Allgemein‘ zu sprechen. Es dient dazu, Menschen, die erscheinen auf dem Bildschirm zu sprechen.
+
+To speak privately to a friend who is not appearing on your screen, type the command '##B /q Citizen Name ##b' and press 'Enter'. This command will open a long-distance dialog that has the name of who you want to talk to. Select this new tab and send your message through it.
+
+
+To speak privately with someone, click the second mouse button on the citizen and select the 'Whisper' option.
+Zu sprechen privat mit jemandem, klicken Sie auf die zweite Maustaste auf die Bürger und wählen Sie das ‚Flüstern‘ Option.
+
+To successfully catch a fish, you need to pull up your hook by clicking it, right after it submerges.
+Um einen Fisch erfolgreich zu fangen, musst du die Angel durch Klicken anschlagen, sobald der Schwimmer untertaucht.
+
+To thank you, accept my old fishing rod.
+Als Belohnung möchte ich dir meine alte Angel geben.
+
+To the brave heart; An endless maze.
+
+
+To the brave, shan't be your grave.
+
+
+To the courageous, thy foe is rancorous.
+
+
+To the lovely cuteness; Unwavering helpfulness.
+
+
+To the strong soul; Challenges to overthrow.
+
+
+To the wanderer: Please avoid entering on the rooms by the internal warp system.
+Der Wanderer: Bitte vermeiden Sie durch das interne Kettensystem auf den Zimmern gelangt.
+
+To train their soldiers, they frequently face Frostia in duels. Adventurers are welcome to join their drills.
+Um ihre Soldaten zu trainieren, stehen sie häufig Frostia in Duellen. Adventurers sind herzlich eingeladen, ihre Bohrer zu verbinden.
+
+To understand the nature of this bow, you have to collect the needed material by yourself. Only this way will you get a feeling of what it means to use such a weapon.
+Um die Natur dieses Bogens zu verstehen, müssen Sie das benötigte Material selbst sammeln. Nur auf diese Weise erhalten Sie ein Gefühl von dem, was es bedeutet, eine solche Waffe zu verwenden.
+
+To unlock the cell on the middle of the throne room, you need to flip all 5 switches there.
+Um die Zelle auf der Mitte des Thronsaals zu entsperren, müssen Sie alle 5 schaltet es kippen.
+
+To which mirrored island you want to warp?
+
+
+To whom you want to send @@ boxes? Cannot be yourself!
+Zu wem wollen Sie @@ Boxen schicken? Kann sein, sich nicht!
+
+To your pleasant surprise the tea is actually quite good.
+Um Ihre angenehme Ãœberraschung ist der Tee eigentlich ganz gut.
+
+ToDo
+Machen
+
+Today at 18:30 UTC we are going to attack the Monster King by surprise. There will be no delays, so be there.
+Heute um 18:30 Uhr UTC werden wir das Monster King überrascht attackieren. Es wird keine Verzögerungen geben, so dass es sein.
+
+Today is soup of Pinkie Legs!
+Heute ist Suppe von Pinkie Beine!
+
+Together, they wrote legends. They slayed Toby Rick the Desert Worm, the mightiest desert beast.
+
+
+Toggle Daily Reward screen
+Toggle tägliche Belohnung Bildschirm
+
+Toggle Inscription
+
+
+Toggle Soul Menhir automatic saving
+Toggle Seele Menhir automatische Speichern
+
+Token Of Apology: 1x @@, 1x @@
+Token Entschuldigungs: 1x @@, 1x @@
+
+Token Of Apology: 1x @@, 570 GP
+Token Entschuldigungs: 1x @@, 570 GP
+
+Tolchi
+Tolchi
+
+Tolchi Ammo Box
+Tolchi Munitionsbox
+
+Tolchi Arrow
+Tolchi Pfeil
+
+Told ya, %s, should know better than to mess with an... assassin!
+
+
+Tomorrow is the day, when we shall march against Raid, in order to free our people from the oppression of her mages.
+
+
+Tonori Delight
+Tonori Delight
+
+Tonori Human
+
+
+Tonori Water
+Tonori Wasser
+
+Too bad these lamps wear off after a while... I am making stocks of them now!
+Schade, tragen diese Lampen ausgeschaltet nach einer Weile ... ich Aktien jetzt von ihnen mache!
+
+Too bad, There is some really good news this week. Things like how to go to Candor for free.
+Schade, Es gibt einige wirklich gute Nachricht in dieser Woche. Solche Dinge wie kostenlos Candor zu gehen.
+
+Too bad, you're really missing out!
+Schade, sind Sie nicht wirklich aus!
+
+Too expensive %%n
+
+
+Too lazy.
+
+
+Too much power can corrupt you. I've seen this happening before... countless times.
+Zu viel Macht kann korrupt Sie. Ich habe dies geschieht, bevor ... unzählige Male gesehen.
+
+Too slow.
+Zu langsam.
+
+Tooth Necklace
+Zahn Halskette
+
+Toothbrush
+Zahnbürste
+
+Top 10 - Summer Ched's Event
+Top 10 - Sommer Ched Veranstaltung
+
+Top 10 - Valentine Day
+Top 10 - Valentine Day
+
+Top 5 - Christmas Box Donation Event
+Top 5 - Christmas Box Donation Ereignis
+
+Top 5 - Golbarez Seasonal Quest
+Top 5 - Golbarez Saison Suche
+
+Top Hat
+Zylinderhut
+
+Topaz
+Topas
+
+Topaz (+2 agi)
+Topas (+2 agi)
+
+Topaz Bif
+Topaz Bif
+
+Topaz Powder
+Topas Pulver
+
+Toppy Blub
+Toppy Blub
+
+Torch#0065
+
+
+Torch#1
+Fackel#1
+
+Torch#2
+Fackel#2
+
+Torch#3
+Fackel#3
+
+Torch#4
+Fackel#4
+
+Torch#5
+Fackel#5
+
+Tortuga
+Schildkröte
+
+Tortuga Shell
+Schildkrötenpanzer
+
+Tortuga Shell Fragment
+Schildkrötenpanzerfragment
+
+Tortuga Tongue
+Schildkrötenzunge
+
+Toss the hook into deep water by clicking on where you want to cast it.
+Wirf die Angel in tiefes Wasser aus, indem du dort klickst, wo du angeln möchtest.
+
+Total Credits and GP: @@
+Gesamt Credits und GP: @@
+
+Total Gold: %s
+
+
+Total Logins: @@
+Insgesamt Logins: @@
+
+Total actions left: %d
+
+
+Total money collected: @@ GP
+Insgesamt Geld gesammelt: @@ GP
+
+Total slow down, DEF-, may freeze
+
+
+Total time AFK'ed in Tulimshar: %d hours and %d minutes
+
+
+Toto
+toto
+
+Touch Soul Menhir and visit the Valentine's Island.
+
+
+Touch it!
+Berühr es!
+
+Touch it.
+Berühr es.
+
+Towards thee I roll, thou all-destroying but unconquering whale; to the last I grapple with thee; from hell’s heart I stab at thee; for hate’s sake I spit my last breath at thee. Sink all coffins and all hearses to one common pool! And since neither can be mine, let me then tow to pieces, while still chasing thee, though tied to thee, thou damned whale! Thus, I give up the spear!
+
+
+Town Administrator can use the town money for investments, and also receive a salary depending on how well the town is.
+Stadt Administrator kann die Stadt Geld für Investitionen nutzen und erhält auch ein Gehalt je nachdem, wie gut die Stadt ist.
+
+Town Defense Program
+
+
+Town Defense Program enabled.
+
+
+Town Money: @@
+Stadt Geld: @@
+
+Town Reputation: %d | %d.%02d %% Tax
+
+
+Town Tax: %d.%02d %%
+
+
+Town Weekly Exports: @@
+Stadt Weekly Exporte: @@
+
+Townhall Guard#EP
+
+
+Trade
+Handel
+
+Trade 2 %s for a Silver Gift + a Bronze Gift
+
+
+Trade Golden Eggs
+Tausche goldene Eier
+
+Trade Silver Eggs
+Tausche silberene Eier
+
+Trade a card
+
+
+Trade my coins in Gift Boxes, pretty please!
+Handel meine Münzen in Geschenkbox, hübsch bitte!
+
+Trade stamps
+Handel briefmarken
+
+Trade the Gingerbread
+Handel die Lebkuchen
+
+Trade the Xmas Cake
+Handel der Weihnachtskuchen
+
+Trade the Xmas Candy Cane
+Handel der Weihnachtszuckerstange
+
+Trader
+Händler
+
+Trainer
+Trainer
+
+Training Ammo Box
+Training Munitionsbox
+
+Training Arrow
+Trainingspfeil
+
+Training Bow
+Trainingsbogen
+
+Training Dummy
+Trainingsattrappe
+
+Training Wand
+Trainingsstab
+
+Training to be sages, their knowledge is unparalleled. They're masters of boosting skills.
+
+
+Transcendence Gate
+Transcendence Tor
+
+Transfer Mana
+
+
+Translators
+
+
+Transmutating @@ will require:
+Transmutating @@ erfordert:
+
+Transmutation Skill
+Transmutation Geschicklichkeit
+
+Transmute?!
+Verwandeln?!
+
+Trap Door
+Falltür
+
+Trapper Hat
+Trappermütze
+
+Travel to this area is impossible, due to the hordes of Monster Armies.
+Reisen in dieses Gebiet ist unmöglich, wegen der Horden von Monster Armeen.
+
+Treasure (High Quality)
+
+
+Treasure (Low Quality)
+
+
+Treasure (Med Quality)
+
+
+Treasure Key
+Schatz Key
+
+Treasure Map
+Schatzkarte
+
+Treasure!
+
+
+Treasurer
+Schatzmeister
+
+Tree Maze (Past Tulimshar)
+
+
+Trick Dead
+
+
+Trickmaster
+Trickmaster
+
+Tricks
+
+
+Tritan
+Tritan
+
+Tritan Voice
+Tritan-Stimme
+
+Triumph of the Eternals
+
+
+Troll
+Troll
+
+Truth is - I cannot do that. Obviously. But I know who can.
+Die Wahrheit ist - ich kann das nicht tun. Offensichtlich. Aber ich weiß, wer es kann.
+
+Try again!
+Versuch es noch einmal!
+
+Try again?
+Versuch es noch einmal?
+
+Try doing quests which doesn't involve monster hunting first. I'm sure ##B Ayasha ##b could use your help.
+
+
+Try helping the city guard. Talk to NPCs around the city. Outside the city walls too. And there are some people on the mines.
+Versuchen Sie, die Stadtwache zu helfen. Sprechen Sie mit NPCs in der Stadt. Außerhalb der Stadtmauern zu. Und es gibt einige Leute auf den Minen.
+
+Try killing it, and if it kills you, just come back from death to continue killing it.
+Versuchen Sie es zu töten, und wenn es dich tötet, kommt gerade vom Tod zurück fortzusetzen es zu töten.
+
+Try praticing with different mana magic skills. Anyway, you can use this command to see your magic proeficiency:
+Versuchen Sie, mit verschiedenen Mana magischen Fähigkeiten zu üben. Wie auch immer, können Sie diesen Befehl verwenden, um Ihre magischen Kenntnisse zu sehen:
+
+Try talking to Soul Menhir or with any NPC on Tulimshar Center (near Soul Menhir).
+
+
+Try this one.
+Probier diese.
+
+Try to don't take too long!
+
+
+Try to make a good time, and... Good luck! On my signal, 3, 2, 1...
+
+
+Trying to chant beyond your capabilities will only drain more mana and be inefficient.
+
+
+Trying to retrieve it now will have @@ % chance to be successful.
+Der Versuch, es jetzt abruft @@% Chance, erfolgreich zu sein hat.
+
+Tuber
+Knolle
+
+Tuesdays
+
+
+Tulim Warp Crystal
+Tulum Warp Kristall
+
+TulimShip
+TulimShip
+
+TulimShip#M
+
+
+Tulimshar
+Tulimshar
+
+Tulimshar (@@m)
+Tulimshar (@@ m)
+
+Tulimshar - @@ GP
+Tulimshar - @@ GP
+
+Tulimshar Beach
+Tulimshar Strand
+
+Tulimshar Bola
+Tulimshar Bola
+
+Tulimshar Guard
+Tulimshar Wache
+
+Tulimshar Guard Boots
+Tulimshar Wächter Schuhe
+
+Tulimshar Guard Card
+Tulimshar Garde-Karte
+
+Tulimshar Guard Card will prove good intentions. Talk to the Lieutenant in front of the Guard House.
+
+
+Tulimshar Map
+Tulimshar Karte
+
+Tulimshar Mines
+Tulimshar Mines
+
+Tulimshar Office
+Tulimshar Büro
+
+Tulimshar Townhall
+Tulimshar Townhall
+
+Tulimshar doesn't have a lot more of quests to offer you, so you should definitely explore new places.
+Tulimshar nicht viel mehr Aufgaben haben Sie anbieten, so dass Sie auf jeden Fall neue Orte erkunden sollen.
+
+Tulimshar is surrounded by strong monsters. If you go out with your poor equipment, you're going to be dead in no time, @@.
+Tulimshar wird von starken Monstern umgeben. Wenn Sie mit Ihrer schlechten Ausrüstung gehen, wirst du in kürzester Zeit tot sein, @@.
+
+Tulimshar is the oldest human city, and its foundation is the year zero of our calendar.
+Tulimshar ist die älteste Stadt der Menschen, und die Gründung ist das Jahr Null unseres Kalenders.
+
+Tulimshar is the strongest city because Dausen teaches every newcomer about the monsters around and how to defeat them. Take his special training if you get the chance!
+
+
+Tulimshar miners mainly try to obtain gems.
+Tulimshar Bergleute in erster Linie versuchen, Edelsteine ​​zu erhalten.
+
+Tulimshar spent trillions in research, and so did Hurnscald and Nivalis. Everything else was neglected. Eventually, some highly experimental tech experiment went haywire.
+
+
+Tulimshar, Tonori - 2nd March 300 AT
+
+
+Tulimshar, right? The oldest human city-state!
+Tulimshar, nicht wahr? Der älteste menschliche Stadtstaat!
+
+Tulip
+Tulpe
+
+Tunnel through the caves!
+Tunnel durch die Höhlen!
+
+Tutorial Protips:
+
+
+Tutorial Tom
+
+
+Tutorship is NOT the most effective way.
+
+
+Tutorship will give you Research Points.
+
+
+Tux Soul
+
+
+Tweaking: %s
+
+
+Twelve times more if it is an elusive Mana Fragment no one knows where they are!
+Zwölf mal mehr, wenn es ein schwer zu erreichendes Mana Fragment ist niemand weiß, wo sie sind!
+
+Twelve... There is no way people collected this many gifts. Anyway. 404,800 is the next milestone.
+Zwölf ... Es gibt keine Art, wie Menschen so viele Geschenke gesammelt. Wie auch immer. 404.800 ist der nächste Meilenstein.
+
+Two Hands Weapon Recipes
+Zwei Hände Waffe Rezepte
+
+Two equal: 1 casino coin.
+Zwei gleiche: 1 Casino-Münze.
+
+Two hands sword (strong, misses)
+
+
+Two still fight better than one. I have the courage of a dustman in me!
+Zwei noch kämpfen besser als einer. Ich habe den Mut eines dustman in mir!
+
+Tycoon
+Tycoon
+
+Tyranny
+Tyrannei
+
+Tyranny as well, but to a different tree.
+
+
+Tyrca
+
+
+Uh are you sure this is fit to drink?
+Uh sind Sie sicher, das ist trinkbar?
+
+Uh, a %s? How odd.
+
+
+Uh, how come? I thought you were an adventurer too! That island which trusted adventurers can reach using Pihro & Pyndragon's personal airship is so popular... Anyway!#0
+
+
+Uh, how come? I thought you were an adventurer too! That island which trusted adventurers can reach using Pihro & Pyndragon's personal airship is so popular... Anyway!#1
+
+
+Uh, maybe another time.
+
+
+Uh, sure. We mouboos are not cruel. But it might not be your size.
+Uh, sicher. Wir mouboos sind nicht grausam. Aber es könnte nicht Ihre Größe sein.
+
+Uh, what?
+UH, was?
+
+Uh, you should ask %s, he is the miners leader.
+Äh, Sie sollten% s fragen, er ist der Führer Bergleute.
+
+Uh. You're probably right. I'm very sorry. I'm just... You know, I wanted to become a scholar of the sages, studying and... Oh, how could I mess that up? Did you see the library? It caused so much damage! What else should they do other than kick me out?
+Äh. Du hast wahrscheinlich Recht. Es tut mir sehr leid. Ich bin nur ... Wisst ihr, ich wollte ein Gelehrter der Weisen werden, zu studieren und ... Oh, wie könnte ich Schlamassel, dass bis? Haben Sie die Bibliothek? Es verursacht so viel Schaden! Was sollten sie anders, als Kick mich aus?
+
+Uh... I *just* remembered I have something else to do!
+Uh ... I * nur * erinnerte ich habe etwas anderes zu tun!
+
+Uh... Something should happen, right? Can you get another one?
+Uh ... Etwas soll passieren, nicht wahr? Können Sie sich einen neuen bekommen?
+
+Uh... That should not happen, right? RIGHT?
+Uh ... Das sollte nicht passieren, nicht wahr? RICHTIG?
+
+Uh... Yeah, that's not funny.
+Äh ... Ja, das ist nicht lustig.
+
+Uh? Hey, look! A platinum card! This should be worth something with the Guild Merchant Guild, right?
+
+
+Uh? I can't pass. I wonder why, maybe I need to wait?
+
+
+Uh? What are you doing here?!
+
+
+Uhh... I'm scared!
+Uhh ... Ich habe Angst!
+
+Uhh... Not really! I love to kill Yetis, but sometimes they are really shy!
+Uhh ... Nicht wirklich! Ich liebe Yeti zu töten, aber manchmal sind sie wirklich scheuen!
+
+Uhh... What happened...
+Uhh ... Was passiert ist ...
+
+Uhh...yeah sure...I guess...
+
+
+Uhm, @@ seems to have finished their scheduled tasks again... If they were so diligent in cleaning and stocking, though...
+Uhm, @@ scheint wieder ihre geplanten Aufgaben fertig zu sein ... Wenn sie so fleißig bei der Reinigung und Lagerung waren, obwohl ...
+
+Uhm, I better heal it first before trying to do anything about the curse.
+
+
+Uhm, I don't need that.
+Ähm, ich das nicht brauchen.
+
+Uhm, I don't think this item needs my skills.
+Ähm, ich glaube nicht, das Element meine Fähigkeiten benötigt.
+
+Uhm, I'm not the king of Frostia, I'm the king of all useless adventurers.
+Ähm, ich bin nicht der König von Frostia, ich bin der König aller nutzlos Abenteurer.
+
+Uhm, just remember it'll be manually verified before prizes are given... Don't even think on cheating!
+Ähm, nur nicht vergessen, werde es manuell, bevor Preise gegeben werden überprüft werden ... Denken Sie nicht einmal auf Betrug!
+
+Uhm, maybe I could teach you something, too. Go mine 5 @@. You should find some at northeast of the Island.
+Ähm, vielleicht könnte ich dir etwas lehren. Go Mine 5 @@. Sie sollten einige im Nordosten der Insel finden.
+
+Uhm, maybe I mashed the Plushroom too hard this time. Here's EXP as usual, let's try again?
+Ähm, vielleicht püriert ich die Plushroom zu hart diesmal. Hier ist EXP wie üblich, lassen Sie uns versuchen Sie es erneut?
+
+Uhm, no, not really. Maybe later, who knows?
+Ähm, nein, nicht wirklich. Vielleicht später, wer weiß?
+
+Uhm, of course a book like this has to be a trap, right?
+Ähm, natürlich ein Buch wie dieses hat eine Falle sein, nicht wahr?
+
+Uhm, sorry, I don't trust stuff you get at market. You know.
+Ähm, sorry, ich weiß nicht Vertrauen Sachen, die man auf Markt. Wissen Sie.
+
+Uhm, that's an... @@. Do you... want to grow a tree on the mouboo or something? Can't you think on something else?
+Uhm, dass ein ist ... @@. Haben Sie ... wollen einen Baum auf der mouboo oder etwas wachsen? Kann nicht denken Sie an etwas anderes?
+
+Uhm, this seems like a bad idea.
+Ähm, das scheint wie eine schlechte Idee.
+
+Uhm... I thought you were trying to heal the mouboo. Why are you giving it poisonous stuff?!
+Ähm ... Ich dachte, dass Sie die mouboo zu heilen versuchen. Warum geben Sie ihm giftiges Zeug ?!
+
+Uhm? Oh, a new believer! Welcome, child of the mana, to the only church in this world.
+
+
+Uhul! My name is Mahul!
+Uhul! Mein Name ist Mahul!
+
+Ukar
+ukar
+
+Ultimate
+
+
+Ultimate Exchanger#0
+
+
+Ultimate Tier
+ultimative Tier
+
+Ultra Rare Drop
+
+
+Um, might I ask, what is so interesting?
+Um, wenn ich frage, was ist so interessant?
+
+Umm..I have another quest to get to. So... umm... I should get going.
+
+
+Unbelievable! You're really a wise person.
+Unglaublich! Du bist wirklich eine kluge Person.
+
+Undead Eye
+Undead Eye
+
+Under the leadership of King Wusher, they were the first to accept immigrants from other races. You will find humans and non-humans there.
+Unter der Führung von König Wusher, waren sie die ersten Einwanderer aus anderen Rassen zu akzeptieren. Sie werden dort Menschen und Nicht-Menschen finden.
+
+Understood
+
+
+Unforgiving Lands
+unversöhnlich Lands
+
+Unfortunately you cannot rebirth anymore!
+Leider Wiedergeburt Sie kann nicht mehr!
+
+Unfortunately you're in tutorial mode, so I cannot let you go ahead knowing you'll fail. Please improve your reputation with Nard and then continue.
+
+
+Unfortunately, @@s are not welcome on the Yeti Domains. You're no exception.
+Leider ist @@ s gern gesehen nicht auf dem Yeti Domains. Sie sind keine Ausnahme.
+
+Unfortunately, I cannot sell them to you. Maggots are attacking my crops and giving me headache.
+
+
+Unfortunately, I was cursed to never enter their cave again. They used a @@ to do that!
+Leider wurde ich verflucht, nie wieder ihre Höhle zu betreten. Sie benutzten eine @@, das zu tun!
+
+Unfortunately, a mere fledgling like you is not strong enough to help us.
+
+
+Unfortunately, elves doesn't like to share coffee, so I thought in leaving but fell asleep. Oops!
+
+
+Unfortunately, he has been corrupted by the terrorist organization calling itself S.A.R.A.H. Hopefully, he will return to the ways of peace and bring prosperity to Duck Island once again.
+
+
+Unfortunately, other victor's names weren't logged.
+Leider waren andere Sieger Namen nicht angemeldet.
+
+Unique monsters can be found there, and people say about staffs which shoot raw death and doom from it!
+Einzigartige Monster können dort gefunden werden, und die Leute sagen über Mitarbeiter, welche schießen roh Tod und Verderben von ihm!
+
+Unless you are an exceptionally talented mage or an influentical politician, it is unlikely.
+Es sei denn, Sie ein außergewöhnlich talentierter Magier oder ein influentical Politiker sind, ist es unwahrscheinlich.
+
+Unless you know what you are doing, please go to Main Server instead.
+
+
+Unless you're an Alliance member or have authorization, you cannot go in.
+Es sei denn, Sie ein Alliance-Mitglied sind oder die Berechtigung haben, können Sie nicht hineingehen.
+
+Unless you're looking forward a death penalty, DO NOT JUMP!
+Es sei denn, Sie sind uns auf eine Todesstrafe suchen, nicht zu springen!
+
+Unless, of course, if Saulc cloned you. But then we must blame Saulc!
+Es sei denn natürlich, geklont Sie, wenn Saulc. Aber dann müssen wir Saulc schuld!
+
+Unless, of course, if you can prove your strength, challenging me to a duel.
+Es sei denn natürlich, wenn Sie Ihre Stärke unter Beweis stellen können, herausfordernd mich zu einem Duell.
+
+Unlike Parum, you can use the skill points you get every time your job level rises. That will lower the mana cost and increase success chances.
+Im Gegensatz zu Parum, können Sie die Fertigkeitspunkte verwenden Sie jedes Mal Ihre Job-Ebene steigt bekommen. Das wird die Manakosten senken und Erfolgschancen erhöhen.
+
+Unlike many other cities, if you want people in eternal need of items, there is a good place to look.
+Im Gegensatz zu vielen anderen Städten, wenn man die Leute in der ewigen Notwendigkeit der Einzelteile wünschen, ist es ein guter Ort zu suchen.
+
+Unlike talking, when trying to pick objects or read signs, you should be at an arms distance of them.
+
+
+Unobtanium
+
+
+Unparelled, strength without precedents. Ancient beings of pure mana, rumored to be immortal.
+
+
+Unsatisfied, it goes away from you and your bag. Such a shame, we almost had got its trust.
+
+
+Unsit me OR I'LL KILL YOU in name of my father, Prsm!
+Unsit oder ich töte dich in Namen meines Vaters, PRSM!
+
+Unsit me at once!
+Unsit mich auf einmal!
+
+Unsurprisingly, nothing happens.
+Wenig überraschend, passiert nichts.
+
+Unused House
+Nicht verwendetes Haus
+
+Unused House, Market
+Nicht verwendetes Haus, Markt
+
+Updates were disabled
+Updates wurden deaktiviert
+
+Upgrade it
+Rüsten sie es
+
+Upgrading a skill level can be done the same away and will always cost a single Magic Skill Point. Job Level points are obtained only after Lv @@, and is a single point each @@ levels.
+ein Skill-Level Upgrade können die gleichen weg und wird immer eine einzige Magic Fähigkeit Punktkosten erfolgen. Job Level Punkte erhalten erst nach Lv @@ und ist ein einzelner Punkt jeweils @@ Ebenen.
+
+Urchin Meat
+Seeigelfleisch
+
+Usage of @exprate without argument is deprecated, please use "@rates" instead.
+
+
+Usage: @translate <npc file>
+
+
+Use %s (name in english) to obtain this info. You don't need the full name either, so go ahead and try it!
+
+
+Use %s to see how long you need to wait.
+Verwenden Sie% s, um zu sehen, wie lange müssen Sie warten.
+
+Use @@ to cancel.
+Verwenden Sie @@ abzubrechen.
+
+Use @@ to read the new version.
+Verwenden Sie @@ die neue Version zu lesen.
+
+Use a key.
+Benutze einen Schlüssel.
+
+Use an alt char to do that.
+Verwenden Sie ein Alt-Zeichen, das zu tun.
+
+Use items to drain the pentagram. Final result is affected by int!
+
+
+Use its powers for good!
+
+
+Use the abandoned passage to the north... Usually, no one uses it.
+
+
+Use the arrow keys to walk right and meet Juliet.
+Mit den Pfeiltasten nach rechts und treffen Juliet gehen.
+
+Use these coins to exchange for stuff. But beware: Each dungeon difficulty will increase the coin drop in the square value of previous.
+Verwenden Sie diese Münzen für Sachen auszutauschen. Aber Achtung: Jede Dungeon-Schwierigkeit wird die Münze Tropfen auf dem Quadratwert der vorherigen erhöhen.
+
+Use your @@ as currency!
+Benutze deine @@ als Währung!
+
+User Control Panel
+Benutzer Control-Panel
+
+Username#0000
+
+
+Using potions and support magic is fine, as well as summons; but using a non-magical weapon will disqualify you.
+
+
+Using potions and support magic is fine. It has high defense, so magic attacks work better.
+
+
+Usually only sponsors are allowed up there, but I'll make an exception today. Go meet the mayor.
+Normalerweise ist nur Sponsoren es erlaubt, aber ich werde eine Ausnahme machen heute. Gehen Sie den Bürgermeister treffen.
+
+Usually they have a few rare drops. The miniboss of Candor may drop a rare key, which you can use to open a certain chest...
+
+
+Usually you can only tweak if the item already have another option, but I am Tolchi. So, which item you want to tweak?
+
+
+Usually, you can find magic on these buildings, but watch out, there is magic to be found elsewhere, and some items are bound with it!
+Normalerweise können Sie Magie auf diesen Gebäuden finden, aber achten Sie, gibt es Magie an anderer Stelle gefunden werden, und einige Elemente sind verpflichtet, mit ihm!
+
+Utilities
+Dienstprogramme
+
+V-neck Jumper
+Pulli mit V-Ausschnitt
+
+Valentine Day
+
+
+Valentine Day Event Reward automatically claimed
+Valentine Day Event Belohnung automatisch beansprucht
+
+Valentine Day event consist in gathering @@ and sending them to your loved one.#0
+
+
+Valentine Day event consist in gathering @@ and sending them to your loved one.#1
+
+
+Valentine Day is over!
+Valentinstag ist vorbei!
+
+Valentine Dress
+Valentins Kleid
+
+Valentine Top 1 Prize
+
+
+Valia
+
+
+Valia Gemini
+
+
+Vampire Bat
+Vampir Fledermaus
+
+Vampire Bat Wing
+Vampir Fledermausflügel
+
+Vanity Pixie
+Vanity Pixie
+
+Various people already went missing, including GMs. This is why if you plan to cross,
+Verschiedene Leute gingen schon vermisst, darunter GMs. Aus diesem Grund, wenn Sie planen, überqueren,
+
+Vault#01710
+
+
+Vault#0172
+
+
+Vault#0173
+
+
+Vault#0174
+
+
+Vault#0175
+
+
+Vault#01824a
+
+
+Veneri
+Veneri
+
+Versatile Card
+
+
+Very well - Congratulations! That was very easy, though, and this one is full of imperfections.
+Sehr gut - Herzlichen Glückwunsch! Das war sehr einfach, aber, und dies ist voll von Unvollkommenheiten.
+
+Very well! We have seven class of items: Wood, Iron, Terranite, Bronze, Silver, Gold and Platinum.
+Sehr gut! Wir haben sieben Klassen der Elemente: Holz, Eisen, Terranite, Bronze, Silber, Gold und Platin.
+
+Very well, but for a fee of @@ GP. There's no free lunch, after all!
+Sehr gut, aber gegen eine Gebühr von @@ GP. Es gibt kein freies Mittagessen, nachdem alle!
+
+Very well, let's see what you are made of!
+
+
+Very well, listen to my plan!
+Sehr gut, hört meinen Plan!
+
+Very well, now I can create more paper.
+Sehr gut, jetzt kann ich mehr Papier erstellen.
+
+Very well, this looks fine. It is time for your first lesson.
+Sehr gut, das sieht gut. Es ist Zeit für Ihre erste Lektion.
+
+Very well, you don't know what you're missing.
+Sehr gut, wissen Sie nicht, was er verpasst hat.
+
+Very well. I shall now share with you the details of this rite.
+Sehr gut. Ich werde jetzt mit Ihnen die Details dieses Ritus teilen.
+
+Very well. That will make a great meal. You pass!
+Sehr gut. Das wird eine große Mahlzeit. Sie übergeben!
+
+Very well. The Platinum Red Queen died in her sleep and the Soul Eater took her role. But the Soul Eater was a tyrant and soon enough, "she" was murdered. A Council has taken over Tulimshar on the meanwhile and is doing intense research.
+
+
+Very well. This conversation never happened.
+Sehr gut. Dieses Gespräch nie stattgefunden.
+
+Veteran Officer
+Veteran Offizier
+
+Vice Leader
+Vizeleiter
+
+Vicious Chest
+Vicious Chest
+
+Vicious Squirrel
+Vicious Eichhörnchen
+
+Vicious Squirrels
+Vicious Eichhörnchen
+
+Victory Conditions
+Siegbedingungen
+
+Victory Conditions: Defeat all enemies!
+Siegbedingungen: Besiegt alle Gegner!
+
+Victory Conditions: Defeat the assassin!
+Siegbedingungen: Besiege den Mörder!
+
+Victory Conditions: Protect Sagratha!
+Siegbedingungen: Protect Sagratha!
+
+Victory Conditions: Survive!
+Siegbedingungen: Ãœberleben!
+
+Victory prizes include guild experience, guild money, and guild bound items.
+
+
+View Candidate List and cast a vote
+Ansicht Kandidatenliste und warf eine Stimme
+
+View LeaderBoard
+Liste anzeigen
+
+Viking Helmet
+Wikinger Helm
+
+Vincent
+Vincent
+
+Visit the Christmas Workshop, and talk to the chief in charge.
+
+
+Visit the special event map, kill low level bosses, collect %s,
+
+
+Visiting a new world is always exciting. Actually, the opportunity of taking a new life in a new universe isn't that bad either.
+
+
+Visiting the bank too right? We're only a small village but Cynric is the best bank guy I know.
+Zu Besuch in der Bank auch nicht wahr? Wir sind nur ein kleines Dorf, aber Cynric ist die beste Bank Typ, den ich kenne.
+
+Visitor with a mask? Ah, I think I know who are you talking about. Black clothes and a golden mask. Rather strange guy.
+Besucher mit einer Maske? Ah, ich glaube, ich weiß, wer sind Sie reden. Schwarze Kleidung und eine goldene Maske. Vielmehr merkwürdiger Typ.
+
+Visitors should keep away from those!
+Besucher sollten sich von denen fernhalten!
+
+Vit Potion
+Vit Potion
+
+Vit+ Potion
+Vit + Potion
+
+Vit++ Potion
+Vit ++ Potion
+
+Vitality
+Vitalität
+
+Vitality Fruit
+Vitalität Obst
+
+Vneck Sweater
+V-Ausschnitt-Sweater
+
+WAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHH
+WAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHH
+
+WARNING
+
+
+WARNING!
+WARNUNG!
+
+WARNING! WARNING! Monster Army is moving towards Halinarzo!!
+
+
+WARNING! WARNING! Monster Army is moving towards Hurnscald!!
+
+
+WARNING! WARNING! Monster Army is moving towards Nivalis!!
+
+
+WARNING! WARNING! Monster Army is moving towards Tulimshar!!
+
+
+WARNING#015535661
+
+
+WARNING, THIS IS A RARE ITEM AND THIS OPERATION CANNOT BE REVERTED!!
+WARNUNG Dies ist ein seltenes ITEM und diese Operation kann nicht sein rückgängig gemacht !!
+
+WARNING, you have been detected cheating and thus, violating Tulimshar Anti-Theft Policy.
+WARNUNG, wurden Sie Betrug erkannt und somit zu verletzen Tulimshar Anti-Diebstahl-Politik.
+
+WARNING. YOU ARE CHEATING THE GRIMORIE QUEST.
+WARNUNG. SIE DIE BETRÃœGT GRIMOIRE QUEST.
+
+WARNING. YOU ARE CHEATING THE SUNNY CRYSTAL QUEST.
+WARNUNG. SIE BETRÃœGT der sonnigen CRYSTAL QUEST.
+
+WARNING:
+WARNUNG:
+
+WARNING:
+WARNUNG:
+
+WARNING: Angela Quest cannot be finished without finishing Mercury sidequest first.
+
+
+WARNING: Change your equipment now.
+WARNUNG: Sie jetzt Ihre Ausrüstung ändern.
+
+WARNING: DO NOT PROCEED UNLESS YOU'RE READY.
+ACHTUNG: NICHT, WENN SIE sind READY.
+
+WARNING: Dangerous!!
+
+
+WARNING: Data may have been corrupted.
+
+
+WARNING: Deprecated!
+
+
+WARNING: Difficult quest, bringing plenty of healing items strongly advised!
+WARNUNG: Schwierige Suche, bringen viele Elemente dringend empfohlen, die Heilung!
+
+WARNING: Do not spend unecessary time on Soren's House, you'll be disconnected!
+Warnung: Nicht unnötig Zeit auf House`s Soren verbringen, werden Sie getrennt!
+
+WARNING: Fake Death skill is disabled on the fight.
+Warnung: Gefälschte Tod Fähigkeit wird auf dem Kampf deaktiviert.
+
+WARNING: HIGH LEVEL AREA. COME PREPARED.
+ACHTUNG: HOCHRANGIGEN AREA. KOMM VORBEREITET.
+
+WARNING: If you insert wrong pincode, you'll be disconnected.
+WARNUNG: Wenn Sie falschen PIN-Code einfügen, werden Sie getrennt werden.
+
+WARNING: If you use any Mirror Lake feature on this world, the current Mirror Lake Quest will be marked as "Failed".
+
+
+WARNING: If you walk out the main gate you WON'T be able to return!
+
+
+WARNING: Might have unexpected side effects!
+
+
+WARNING: Monsters will appear!
+
+
+WARNING: NO EXPERIENCE WILL BE CARRIED OVER FROM THIS FIGHT.
+ACHTUNG: KEINE ERFAHRUNG WIRD VON DIESEM KAMPF übertragen.
+
+WARNING: Nivalis is currently under siege from the Monster King himself.
+ACHTUNG: Nivalis ist derzeit unter Belagerung von dem Monster König selbst.
+
+WARNING: Path temporaly closed due strong snowstorm.
+ACHTUNG: Pfad temporaly aufgrund starken Schneesturms geschlossen.
+
+WARNING: Permanent boosts will return to their fruit form.
+WARNUNG: Permanent Boosts werden in ihre Fruchtform zurückzukehren.
+
+WARNING: Save your game now.
+ACHTUNG: Speichern Sie Ihr Spiel jetzt.
+
+WARNING: Server will go down for scheduled maintenance in 10 minutes!
+
+
+WARNING: Server will go down for scheduled maintenance in 15 minutes!
+
+
+WARNING: Server will go down for scheduled maintenance in 5 minutes!
+
+
+WARNING: Spawn these monsters with moderation!
+ACHTUNG: Spawn diese Monster mit Maßen!
+
+WARNING: Strange bugs may happen if you attempt to craft an item you already have on inventory!
+
+
+WARNING: THIS ACTION IS IRREVERSIBLE.
+WARNUNG: Diese Aktion ist unumkehrbar.
+
+WARNING: The %s is a %s. Besides being insanely powerful, no duplicate of them exist in the world. They can be tweaked freely and can hold multiple cards as well, and scale according to your level. Use its powers wisely. However, beware: This weapon cannot be traded except with "@grantpower" command, and if you abandon the world, the weapon will abandon you as well!
+
+
+WARNING: This is a level 45 quest!
+ACHTUNG: Dies ist ein Stufe 45 Quest!
+
+WARNING: This is experimental!!
+
+
+WARNING: Warp Crystals can break after use and have a cooldown.
+ACHTUNG: Warp Kristalle können nach Gebrauch brechen und eine Abklingzeit haben.
+
+WARNING: You are about to enter a HIGH-RISK zone.
+WARNUNG: Sie sind dabei eine risikoreiche Zone zu gelangen.
+
+WARNING: You died at Forgotten Shrine and the Shrine defense triggered.
+WARNUNG: Sie starb im Forgotten Schrein und der Schrein Verteidigung ausgelöst.
+
+WARNING: You have a time limit!
+
+
+WARNING: You have done less than 50% of Candor Quests!
+ACHTUNG: Sie haben getan weniger als 50% der Candor Quests!
+
+WARNING: You must give at least @@ boxes more before event ends to be eligible for a reward!
+ACHTUNG: Sie müssen geben Sie mindestens @@ Boxen mehr vor Ereignis Enden für eine Belohnung in Frage zu kommen!
+
+WARNING: Your progress on the quest was lost!
+ACHTUNG: Der Fortschritt auf der Suche war verloren!
+
+WARNING: if you die again today in a special map it will be PERMANENT.
+
+
+WARPING IN 10 SECONDS
+WARPEN IN 10 SEKUNDEN
+
+WAW thank you! Come back later to bring me extra @@!
+WAW danke! Kommen Sie später wieder mir zu bringen zusätzliche @@!
+
+WHAT ARE WE WAITING FOR?! START ALREADY!
+
+
+WHAT ARE YOU GOING TO DO?
+WAS WIRST DU MACHEN?
+
+WHAT IN THE NAME OF THE FREAKING PENGUIN WAS THAT?!
+Was im Namen DES AUSFLIPPENDER PENGUIN war die ?!
+
+WHAT? Have you not gained one at birth? That's absurd!
+WAS? Haben Sie nicht ein bei der Geburt gewonnen? Das ist absurd!
+
+WHAT? How can you ever party without beer?!
+
+
+WHAT? That's twice absurd! Now you'll say that you were found stranded on a desert island without equipment and can't remember anything but your own name!
+WAS? Das ist doppelt absurd! Jetzt werden Sie sagen, dass Sie auf einer einsamen Insel ohne Ausrüstung gestrandet gefunden und kann nichts, aber Sie Ihren eigenen Namen erinnern!
+
+WHAT? The farm is plagued with insects?!
+WAS? Der Hof ist mit Insekten geplagt ?!
+
+WHAT?! ARE YOU OUT OF MIND?!?!
+WAS?! ARE YOU OUT OF MIND?!?!
+
+WHIP
+
+
+WOW, THIS IS AWESOME! Many, many thanks!!
+WOW, das ist genial! Vielen, vielen Dank!!
+
+Wait a minute! I have an idea!
+
+
+Wait a minute...
+Warte mal kurz...
+
+Wait a minute... This is written in Mananese! I can't read it!
+
+
+Wait a moment - you are naked! YOU WILL DIE IN THE FREEZE! o.o
+Warten Sie einen Moment - Sie sind nackt! SIE WERDEN IN DER GEFRIER STERBEN! o.o
+
+Wait for the bait to sink underwater.
+Warte, bis der Köder unter Wasser gesunken ist.
+
+Wait, I thought you were a nymph!
+
+
+Wait, Yeti's have a king?
+
+
+Wait, are you with the police? I didn't do anything wrong, I promise!#0
+
+
+Wait, are you with the police? I didn't do anything wrong, I promise!#1
+
+
+Wait, if you try to melt more than one item, manaplus will get buggy.
+Warten Sie, wenn Sie versuchen, mehr als ein Element zu schmelzen, wird manaplus Buggy bekommen.
+
+Wait, it is not so simple as just giving me the money.
+Warten Sie, ist es nicht so einfach wie nur mir das Geld geben.
+
+Wait- Something is happening!
+
+
+Wait. I remember you. You ruined my crops a few seconds ago!!
+Warten. Ich erinnere mich an dich. Sie ruiniert meine Früchte ein paar Sekunden vor !!
+
+Wait...could you repeat that?
+
+
+Waiting for @@...
+Warten auf @@...
+
+Waitress
+Kellnerin
+
+Walk +5%
+
+
+Wall Card
+Wandkarte
+
+Wall Card S
+
+
+Wall Card X
+
+
+Wand (skill boost, pathetically weak)
+
+
+Wanderer, here is dangerous! Go back!
+Wanderer, hier ist gefährlich! Geh zurück!
+
+Wandering Shadow
+
+
+Wandering too much? Take care to don't get lost.
+Wandernde zu viel? Achten Sie darauf, nicht verloren gehen.
+
+Wandering too much? Take care to not get lost.
+Wandernde zu viel? Achten Sie darauf, nicht verloren gehen.
+
+Wands
+Wands
+
+Want to break the hundredthousand item limit?? Ten gifts, for more, bring 102,400 boxes here.
+Möchten Sie die hunderttausend Artikel Grenze brechen ?? Zehn Geschenke, für mehr, bringen 102.400 Boxen hier.
+
+Wardrobe#MKHB
+
+
+Wardrobe#RES_0128
+
+
+Wardrobe#RES_PPL
+
+
+Warez?
+
+
+Warlord
+
+
+Warlord Boots
+Warlord Schuhe
+
+Warlord Gloves
+Warlord Handschuhe
+
+Warlord Helmet
+Warlord Helm
+
+Warlord Pants
+Warlord Hose
+
+Warlord Plate
+Warlord Platte
+
+Warning#Kamelot
+
+
+Warning.
+Warnung.
+
+Warning: If you are taking an advanced class, it will canceled.
+
+
+Warning: Invalid UNIX EPOCH time detected.
+Warnung: Ungültige UNIX-Epoche Zeit erkannt.
+
+Warning: This will drain mana and spawn monsters. You shall not leave this cave section!
+Achtung: Dieses Mana und laichen Monster abläßt. Du sollst diese Höhle Abschnitt nicht verlassen!
+
+Warning: You are using an old client.
+Achtung: Sie einen alten Client.
+
+Warp - Arrest me!
+
+
+Warp - Jump to Basement
+
+
+Warp - Jump to Cave Exit
+
+
+Warp - Jump to Entrance
+
+
+Warp - Jump to Jail
+
+
+Warp - Jump to Sewer Entrance
+
+
+Warp - Jump to Weapon Room
+
+
+Warp to Council room?
+Warp Rates Raum?
+
+Warp to a mirror island.
+
+
+Warp to extra island!
+
+
+Warp to the Cave Of Trials?
+Warp in die Höhle Trials?
+
+Warped Log
+Warped Log
+
+Warped.
+Teleportiert
+
+Warping to save point.
+Teleportiere zum save Point.
+
+Warrior General
+Krieger Allgemein
+
+Was I supposed to have one? How should I reply?
+Sollte ich eine haben? Wie soll ich antworten?
+
+Was it Nard who brought you here?
+War es Nard, die dich hierher gebracht?
+
+Was not it only flooded constantly, the graveyard is not too far. If you stray away from the path, you'll get lost.
+nur ständig überflutet war es nicht, ist der Friedhof nicht zu weit. Wenn Sie vom Weg abkommen weg, erhalten Sie verloren.
+
+Wash yourself with the potion
+Waschen Sie sich mit dem Trank
+
+Wasn't there something on the Holy Bible? About a young boy trapped by his brothers somewhere because envy?
+War da nicht etwas auf die Bibel? Über einen kleinen Jungen gefangen von seinen Brüdern irgendwo da Neid?
+
+Watch out! My wife was gravely wounded the other day. Don't forget your shield when leaving this holy place!
+Achtung! Meine Frau war schwer den anderen Tag verwundet. Vergessen Sie Ihr Schild nicht, wenn diese heilige Stätte zu verlassen!
+
+Water Element
+
+
+Water Fairy
+Wasser-Fee
+
+Water, Bread, Cheese and Cherry Cake are to eat, and money is always useful, you know.
+Wasser, Brot, Käse und Kirschkuchen zu essen, und das Geld ist immer nützlich, wissen Sie.
+
+Wave @@/10
+Welle @@ / 10
+
+Waw! You really did it, you're the savior of my farm!! You have my eternal gratitute. Here is 2500 GP for your troubles!
+Waw! Du hast es wirklich, du bist der Retter meiner Farm !! Sie haben meine ewig gratitute. Hier ist 2500 GP für Ihre Mühen!
+
+Waw! You really did it, you're the savior of my farm!! You have my eternal gratitute. Here is 5000 GP for your troubles!
+Waw! Du hast es wirklich, du bist der Retter meiner Farm !! Sie haben meine ewig gratitute. Hier ist 5000 GP für Ihre Mühen!
+
+Waw, you are level @@! Many congratulations. If there were people like you, ukarania wouldn't have been destroyed...
+Waw, Sie sind Ebene @@! Viele Glückwünsche. Wenn es Menschen wie Sie, würde ukarania nicht zerstört worden ...
+
+We actually have a problem. Bandits ransacked this tavern, and took a huge loot.
+Wir haben tatsächlich ein Problem. Bandits durchwühlten diese Taverne, und nahm eine riesige Beute.
+
+We advise you to change your equipment now.
+Wir beraten Sie Ihre Ausrüstung jetzt ändern.
+
+We also feature some services like a storage and a bank for members.
+Wir bieten auch einige Dienste, wie ein Lager oder eine Bank an.
+
+We also found a small fortress and a small gothic building which might have important clues on your journey. Our first task, therefore, should be recapturing this town from our enemies!
+
+
+We appreciate your help. Take this %s as a token of goodwill.
+
+
+We are assembling forces to take Nivalis back.
+Wir sind Montage Kräfte Nivalis zurückzunehmen.
+
+We are deliberating. Some do not... approve of your initiation. Leave.
+
+
+We are in desperate need of food and nesting material, as well as our sacred supply of @@.
+
+
+We are no longer in danger, thanks to you. The pirates were thoroughly defeated. None survived the battle.
+
+
+We are planning to take over Hurnscald from the Monster King, and we will need everybody's help.
+Wir planen über Hurnscald vom Monster King zu nehmen, und wir werden alle Hilfe brauchen.
+
+We are strong fighters, and we want to free the King from his obsession.
+
+
+We are unsure of the cause, but they must be repelled at any cost!
+
+
+We arranged a small underground room for that, because the Colliseum is too far away.
+Wir verabredeten einen kleinen unterirdischen Raum für das, weil das Kolosseum zu weit entfernt ist.
+
+We can do this again on next summer!
+Wir können das nächsten Sommer nochmal machen!
+
+We can do this again on next winter!
+Wir können dies tun, wieder auf den nächsten Winter!
+
+We can't let you die of thirst! That wouldn't be cool at all! And I'm very cool!
+
+
+We can't, don't you agree?!
+Wir können das nicht machen, findest du nicht auch?!
+
+We don't have a mayor. The independent city-state of Frostia is ruled by a King.
+Wir haben keinen Bürgermeister. Der unabhängige Stadtstaat Frostia wird von einem König regiert.
+
+We elves have greater affinity for magic than humans.
+Wir Elfen für magische größere Affinität haben als Menschen.
+
+We follow north hemisphere seasons in case you're wondering.
+Wir folgen nördliche Hemisphäre Jahreszeit, falls Sie sich fragen.
+
+We found several interest points inside, like some mines with the most precious ores in the world - like %s and even %s - along very powerful monsters. Unfortunately, it is partly flooded.
+
+
+We from Halinarzo are very poor, and in constant need of food. You have to help us!
+Wir aus Halinarzo sind sehr arm, und haben ständig zu wenig zu Essen. Du musst uns helfen!
+
+We have four classes, but you can make a mix between them.
+
+
+We have made a stop at a little island, before making it on to the port of Tulimshar.
+Wir haben einen Halt in einer kleinen Insel gemacht, bevor sie an den Hafen von Tulimshar machen.
+
+We have three vanishing sort of people on the story.
+Wir haben verschwindende drei Art von Menschen auf der Geschichte.
+
+We held to our hope and Jerry figured it out.
+Wir hielten an unserer Hoffnung und Jerry es herausgefunden.
+
+We keep the Slimes past the barrier for the night, so be careful when entering.
+Wir halten die Schleime über die Barriere für die Nacht, also seien Sie vorsichtig bei der Eingabe.
+
+We know a lot, but all this knowledge will part with us. We should not the only nomads, though. There should be nomads in Argaes, Kaizei, besides the citadels of Oceania and Volcania. Unfortunately, all of them are incommunicable. But so are us.
+
+
+We may delete all entries and change formulas in the future.
+
+
+We may require your aid again soon. The tritan pirates are amassing and we fear they are planning a siege of Duck Island. I must speak with the Council of Elders...
+
+
+We must away
+Wir müssen weg
+
+We must blame Saulc!
+Wir müssen die Schuld Saulc!
+
+We must capture Barbara AND return the stolen item!
+
+
+We must defeat the Monster King on his evil lair!
+Wir müssen das Monster King auf seinem bösen Höhle besiegen!
+
+We must find out what lies at the top, whatever the cost!
+
+
+We need to find what powers these two seals and disable it.
+
+
+We need:
+
+
+We offer party and guild certifications.
+Wir bieten Partei und Zunft Zertifizierungen.
+
+We only managed to recover @@ stolen @@ thus far...
+Wir haben es geschafft nur zu erholen @@ gestohlen @@ so weit ...
+
+We only require a small fee of %d %s, or %d %s, or %d %s if you are poor adventurer.
+
+
+We organize some auction and we help local merchants to launch their businesses.
+Wir organisieren eine Auktion und wir helfen lokale Händler ihre Geschäfte zu starten.
+
+We pursued them until the mines, slayed them, and took the chests where they locked our stuff into.
+Wir verfolgten sie bis in die Minen, erschlug sie und nahm die Brust, wo sie in unsere Sachen gesperrt.
+
+We really appreciate your help with the slimes.
+Wir schätzen Ihre Hilfe bei den Schlämmen.
+
+We shall be waiting for your arrival.
+
+
+We should be there in a few days. For now, you can relax on the ship, or visit the island we're docked at! Its a small island, but a good place to get some exercise and stretch your legs.
+Wir sollten in ein paar Tagen da sein. Denn jetzt können Sie auf dem Schiff entspannen, oder besuchen Sie die Insel, die wir bei dockt werden! Es ist eine kleine Insel, aber ein guter Ort, um etwas Bewegung zu bekommen und strecken Sie Ihre Beine.
+
+We should split our team, and have someone to protect our backs. Otherwise, we might not do it.
+Wir sollten unser Team geteilt, und jemand den Rücken zu schützen. Andernfalls könnten wir es nicht tun.
+
+We speak various languages on this world. Let's try gesturing!
+Wir sprechen verschiedene Sprachen auf dieser Welt. Lassen Sie uns versuchen Gestik!
+
+We sure flourished at her early years, but the late years were a disaster! Crops were failing way before her death!
+
+
+We thank every developer which helped this project thus far!
+Wir danken jeden Entwickler, die bisher dieses Projekt geholfen haben!
+
+We thank every player, because without them, this would be nothing!
+Wir danken allen Spielern, denn ohne sie, das nichts wäre!
+
+We thought that you could help us understand this, all we know is that we found you cast in the sea, in a sand bank.
+Wir dachten, dass Sie uns helfen, dies zu verstehen können, alles, was wir wissen ist, dass wir fanden Sie im Meer geworfen, in einer Sandbank.
+
+We want to celebrate this moment, but can you believe we ran out of beer?
+
+
+We want to thank everyone who did this release possible.
+Wir möchten allen danken, die diese Veröffentlichung möglich gemacht haben.
+
+We will be yaying there in a few days, so we will drop you off there.
+Wir yayaen in Artis in ein paar Tagen. Wir werden dich dann dort absetzen.
+
+We will have a party today, but only believers are allowed in!
+Wir werden eine Partei heute haben, aber nur Gläubige dürfen in!
+
+We will talk about it later.
+Wir sprechen später darüber.
+
+We won't be able to pay you in money, but we'll make you one of us if you bring us beer!
+Wir werden Sie nicht in Geld in der Lage zu zahlen, aber wir werden Sie von uns, wenn Sie uns Bier bringen!
+
+We'd never be able to recover our books so quickly without your help. Thanks!
+Wir würden nie in der Lage sein, unsere Bücher zu erholen, so schnell und ohne Ihre Hilfe. Vielen Dank!
+
+We'll be arriving at Artis by the dawn, where Elora will be waiting for us. I can only hope, that the denizens are okay...
+
+
+We'll be correcting this bug automatically now.
+Wir werden diese Fehler automatisch jetzt werden zu korrigieren.
+
+We'll bring this one to Juliet at once. Thanks for your help! Savior!#0
+
+
+We'll bring this one to Juliet at once. Thanks for your help! Savior!#1
+
+
+We'll never forget Andrei Sakar, the most courageous hero this world has ever had.
+
+
+We're busy here, so please don't bother us.
+Wir sind hier beschäftigt, so dass Sie uns bitte nicht stören.
+
+We're currently the biggest exporter of food. We may be a small town, but Tulimshar and Halinarzo can barely hold themselves.
+Wir sind derzeit der größte Exporteur von Lebensmitteln. Wir können eine kleine Stadt, aber Tulimshar und Halinarzo können sich kaum halten.
+
+We're doing researches on slimes, the explosive ones. You probably saw when they explode, they damage anything close to them, friendly or not, right?
+Wir tun Forschungen über Schleime, die explosiv diejenigen. Sie wahrscheinlich sieht, wenn sie explodieren, sie etwas in ihrer Nähe, freundlich oder nicht, oder schaden?
+
+We're nearly out of paper. The new books require so much material... And it's not easy to get Reed Bundles to create new paper.
+Wir sind fast kein Papier mehr. Die neuen Bücher benötigen so viel Material ... Und es ist nicht leicht Reed Bundles zu bekommen neues Papier zu erstellen.
+
+We're talking about @@. It's not something for kids or pranksters!
+Wir sprechen über @@. Es ist nicht etwas für Kinder oder Schelme!
+
+We're trying to repair some of the valuable and important books. It's so much work!
+Wir versuchen, einige der wertvollen und wichtigen Bücher zu reparieren. Es ist so viel Arbeit!
+
+We're trying to repair the books by collecting the ripped out bookpages and sorting them and copying them for new books. It's a lot to do, and after being eaten by a slime they stink!
+Wir versuchen, die Bücher zu reparieren, indem die herausgerissen zu sammeln und bookpages Sortieren und Kopieren sie für neue Bücher. Es ist viel zu tun, und nachdem er von einem Schleim gefressen zu werden sie stinken!
+
+We've built this blockade to prevent this area from being overrun with monsters, but who knows for how long this will last.
+Wir haben diese Blockade errichtet, diesen Bereich zu verhindern, dass mit Monstern überrannt, aber wer weiß, wie lange das dauern wird.
+
+We've finally solved the problem with our instruments!
+Wir haben gelöst endlich das Problem mit unseren Instrumenten!
+
+We've traced them to the Dark Forest, our goal is to destroy every raider there and defeat whoever is behind this tragedy. All that while keeping an eye open for survivors.
+
+
+Weakness: AGI-
+
+
+Weakness: DEX-
+
+
+Weakness: INT-
+
+
+Weakness: LUK-
+
+
+Weakness: NONE
+
+
+Weakness: STR-
+
+
+Weakness: VIT-
+
+
+Weapon Maximum Damage
+
+
+Weapons: +8 attack, +8 magic attack
+Waffen: +8 Angriff +8 Magie-Angriff
+
+Weather & Seasons.
+Wetter und Jahreszeiten.
+
+Wedding Ring
+Hochzeitsring
+
+Weekly, at Sunday 00:00, elections are held.
+Wöchentlich, bis Sonntag 00.00 Uhr, werden Wahlen abgehalten.
+
+Weellos
+
+
+Welcome back, Padric!
+Willkommen zurück, Padric!
+
+Welcome back, children. So, how was your treasure hunt? Did you manage to find the path?
+
+
+Welcome back.
+Willkommen zurück.
+
+Welcome back. Please enjoy your stay here.
+Willkommen zurück. Bitte genießen Sie Ihren Aufenthalt hier.
+
+Welcome back. Uh, no, I haven't forgot I promised you a small something... But you see, then I lost my ring, and...
+
+
+Welcome miss.#0
+Willkommen Miss.#0
+
+Welcome to
+Willkommen zu
+
+Welcome to Aethyr, strange traveler. I am a collector of rare gemstones.
+
+
+Welcome to Dimond's Cove!
+Willkommen bei Dimond Bucht!
+
+Welcome to HUNGRY QUIRIN ARENA mangment panel.
+Willkommen bei HUNGRIGER QUIRIN ARENA Management-Panel.
+
+Welcome to Moubootaur Legends: ##1Fires of Steam##0
+
+
+Welcome to Nivalis, the frozen town.
+Willkommen in Nivalis, die gefrorenen Stadt.
+
+Welcome to Porthos - The Town of Portals (Kaizei's æther / Moubootaur Legends)
+
+
+Welcome to Saulc's Magic Alchemy Table!
+Willkommen bei Saulc Magic Alchemy Table!
+
+Welcome to Saulc's Magic Smith Table!
+Willkommen bei Saulc Magic Smith Table!
+
+Welcome to TMW-2: Moubootaur Legends! We hope you have a great time in our server!
+Willkommen bei TMW-2: Moubootaur Legends! Wir hoffen, dass Sie eine tolle Zeit in unserem Server haben!
+
+Welcome to Tolchi and Rosen Shop.
+Willkommen bei Tolchi und Rosen-Shop.
+
+Welcome to Tulimshar, @@!
+Willkommen in Tulimshar, @@!
+
+Welcome to my fine establishment!
+Willkommen in meinem schönen Hotel!
+
+Welcome to the ##BThieves Guild##b! Follow those with higher rank than you, and happy stealing!
+
+
+Welcome to the Arena. Select your action
+Willkommen in der Arena. Wähle deine Aktion
+
+Welcome to the Greenlands, the place cursed by the Monster King to be ice forever, and now known as Icelands.
+Willkommen in die Grönlands, fluchte der Ort, von dem Monster King Eis zu sein für immer, und jetzt bekannt als Icelands.
+
+Welcome to the Town Hall. I am @@, officer in charge of public associations.
+Willkommen in der Town Hall. Ich bin @@, verantwortliche Offizier der öffentlichen Vereinigungen.
+
+Welcome to the library of Sage Nikolai. I'm very sorry, but as you see it's not in a good shape at the moment. Most of the books were eaten by the slimes or damaged and we're working hard on cleaning up the mess.
+Willkommen in der Bibliothek von Sage Nikolai. Ich bin sehr traurig, aber wie Sie es nicht in einer guten Form im Moment sehen. Die meisten Bücher wurden von den Schlämmen gegessen oder beschädigt und wir arbeiten hart an das Chaos aufzuräumen.
+
+Welcome to the questing world!"
+
+
+Welcome! Here to pick a weapon? You'll be able to select three skill cards as well.
+
+
+Welcome! I come from nowhere, and my family hunt Snakes. We also make fine leather items from their skin!
+Herzlich willkommen! Ich komme aus dem Nichts, und meine Familie jagen Schlangen. Wir machen auch feine Lederwaren aus ihrer Haut!
+
+Welcome! I see you have ##B%d Monster Points##b. Would you like to exchange some of those for items?
+
+
+Welcome! I see you have %d Monster Points. But that isn't enough to get items at your current level, sorry!
+
+
+Welcome! My name is @@, I am a representative of the Merchant Guild on @@.
+Herzlich willkommen! Mein Name ist @@, ich bin ein Vertreter der Händlergilde auf @@.
+
+Welcome! Only the finest wares!#0
+
+
+Welcome! Only the finest wares!#1
+
+
+Welcome. Are you an adventurer? I could use some help.
+Herzlich willkommen. Sind Sie ein Abenteurer? Ich könnte etwas Hilfe gebrauchen.
+
+Welcome. Please don't go deeper into the library, there are still some slimes left. But in spite of that we have made quite a bit of progress. You should have seen the mess just after most of the slimes escaped!
+Herzlich willkommen. Bitte gehen Sie nicht tiefer in die Bibliothek, gibt es noch einige links Schleime. Aber trotz, dass wir ziemlich viel Fortschritte gemacht. Sie sollten das Chaos gesehen haben gerade nachdem die meisten der Schleime entkommen!
+
+Welcome.#0
+Willkommen.#0
+
+Welcome.#1
+Willkommen.#1
+
+Well ... but ... I mean ... I don't know ...
+Nun ja ... aber ... ich meine ... ich weiß nicht ...
+
+Well I see that you have completed the George Quest!
+Nun, ich sehe, dass Sie den George Quest abgeschlossen haben!
+
+Well done! I hope no more of those assassins show up. I'm afraid I cannot give you a proper reward, but...
+
+
+Well well well, @@, good job in reaching Soren's House.
+Nun gut gut, @@, gute Arbeit in Sorens Haus zu erreichen.
+
+Well#003-1
+Brunnen#003-1
+
+Well#Nivalis
+
+
+Well, Andrei Sakar said it was a waste a time, and the other NPCs started fighting against themselves, so I won.
+Nun, Andrei Sakar sagte, es sei eine Verschwendung eine Zeit, und die anderen NPCs begann gegen sich selbst zu kämpfen, so dass ich gewonnen.
+
+Well, I and my brother could make another one, but they are being checked for safety.
+Nun, ich und mein Bruder könnte ein anderes machen, aber sie werden für die Sicherheit überprüft.
+
+Well, I can sell you a random box with almost 100 @@ for just @@ GP.
+Nun, ich kann Ihnen eine zufällige Box verkaufen mit fast 100 @@ für nur @@ GP.
+
+Well, I can't help but keep thinking on how many shiny treasures might be there!
+
+
+Well, I decided to resume an old research of mine, now that I have a minion (you) to gather stuff for me.
+Nun, ich beschlossen, eine alte Forschung von mir wieder aufnehmen, jetzt, dass ich ein Günstling haben (Sie) zu Sachen für mich zu sammeln.
+
+Well, I did my best, but this had been so refined, that it was difficult to find my way.
+Nun, ich habe mein Bestes gegeben, aber das so verfeinert worden, dass es schwierig war, meinen Weg zu finden.
+
+Well, I do not trust you yet. You literally were just brought by the shore, and even if Nard and Lua seems to trust you...
+Nun, ich Ihnen noch nicht trauen. Sie wurden buchstäblich nur am Ufer gebracht, und selbst wenn Nard und Lua scheint, Ihnen zu vertrauen ...
+
+Well, I don't want to be an snob.
+Nun, ich möchte nicht ein Snob sein.
+
+Well, I guess I was thinking too high of a random adventurer like yourself...
+Nun, ich denke, ich dachte zu hoch von einem zufälligen Abenteurer wie Sie selbst ...
+
+Well, I have a small problem. Sorry, but my superior officer did not like you. This happens, not everyone will like us, right? A lot of adventurers actually hate me %%R
+
+
+Well, I have not finished my research on snakes yet, but I'm pretty sure in how to transmute their parts.
+Nun, ich habe meine Forschung auf Schlangen noch nicht fertig, aber ich bin mir ziemlich sicher, wie ihre Teile zu verwandeln.
+
+Well, I heard you needed to have some Job levels to sign up with them, and couldn't resign later.
+Nun, ich hörte, dass Sie ein paar Jobs Ebene benötigt, um mit ihnen registrieren und konnte später nicht mehr zurücktreten.
+
+Well, I just like sunbathing.
+Nun, ich gerade wie Sonnenbaden.
+
+Well, I know a mixture to keep monsters away. I just can't share it with you now.
+Nun, ich kenne eine Mischung Monster fern zu halten. Ich kann einfach teilen Sie es nicht mit Ihnen jetzt.
+
+Well, I know how to do a @@, a sturdy bow, but I am not making those anymore, sorry.
+Nun, ich weiß, wie ein tun @@, einen stabilen Bogen, aber ich mache es sich um nicht mehr, sorry.
+
+Well, I suppose you can have some of my tea.
+Nun, ich nehme an, Sie einige meinen Tee haben können.
+
+Well, I would love to, but the house is a mess.
+Nun, ich würde gerne, aber das Haus ist ein Chaos.
+
+Well, I'll give you a hour of EXP RATE UP! How cool is that? Enjoy!
+Nun, ich gebe Ihnen eine Stunde von EXP RATE UP! Wie cool ist das? Genießen!
+
+Well, I'm currently researching scorpions, as you can imagine.
+Nun, ich bin zur Zeit der Erforschung Skorpionen, wie Sie sich vorstellen können.
+
+Well, I'm the miner leader, indeed. A miner need to have the full set.
+Nun, ich bin der Bergmann Führer, in der Tat. Ein Bergmann Notwendigkeit, den vollen Satz haben.
+
+Well, all humans does mistakes... Wait, he is an elf. So, everyone commit mistakes. Anyway...
+Nun, alle Menschen machen Fehler ... Bitte wartet, bis er ein Elf ist. So verpflichten sich alle Fehler. Wie auch immer...
+
+Well, as with any legendary tailor, you must bring the materials yourself, and pay the work fee!
+Nun, wie bei jedem legendären Schneider, müssen Sie die Materialien selbst mitbringen, und zahlen die Arbeit Gebühr!
+
+Well, first of, you'll need an @@ and an Equipment Recipe.
+Nun, zunächst müssen Sie ein @@ und eine Ausrüstung Rezept.
+
+Well, for a living, I usually tend to the crops.
+Nun, für ein Leben, ich neige dazu, in der Regel auf die Pflanzen.
+
+Well, good luck with your business.
+Nun, viel Glück mit Ihrem Geschäft.
+
+Well, here you are. I hope you enjoy ^^
+
+
+Well, if you are good, you can just not get hit. If you're not so good, then bows will be a pain.
+Nun, wenn Sie gut sind, können Sie einfach nicht getroffen zu werden. Wenn Sie nicht so gut sind, dann werden Bögen ein Schmerz sein.
+
+Well, if you come from Candor, you probably will have some fluffy's yellow feathers. I use them to make pillows.
+Nun, wenn Sie von Candor kommen, werden Sie wahrscheinlich einige gelbe Federn den flaumigen haben. Ich benutze sie Kissen zu machen.
+
+Well, if you ever need help, do not hesit reading the wiki ;-)
+Nun, wenn Sie Hilfe benötigen, zögern Sie nicht, das Wiki zu lesen ;-)
+
+Well, if you want to donate @@, you'll be ranked. There's gift for everyone, and rewards for top 5 donors.
+Nun, wenn Sie spenden möchten @@, werden Sie gewählt werden. Geschenk für alle da ist, und Belohnungen für Top-5-Geber.
+
+Well, if you want warrior craft, perhaps you should look for @@ or @@.
+Nun, wenn Sie Krieger Handwerk wollen, vielleicht sollten Sie suchen @@ oder @@.
+
+Well, if you were from the defenders, you would have been adopted by a family which left Halinarzo.
+Nun, wenn Sie von den Verteidigern, würden Sie von einer Familie adoptiert worden, die Halinarzo gelassen.
+
+Well, if you're scared, you can kill Desert Log Heads, but they'll have a smaller worth.
+Nun, wenn Sie Angst haben, können Sie Wüste Log Heads töten, aber sie werden einen kleineren Wert haben.
+
+Well, it depends on the curse. Some are easy to break, and others are... well...
+Nun, es hängt von dem Fluch. Einige sind leicht zu brechen, und andere sind ... na ja ...
+
+Well, it is terrible! How can I make armours if I ran out of Iron? Shall the citizens of Candor Island perish in a monster attack?!
+Nun, es ist schrecklich! Wie kann ich Panzerungen machen, wenn ich von Eisen lief? Sollen die Bürger von Candor Insel in einem Monster Angriff zugrunde gehen ?!
+
+Well, long story short, we have two magic systems. One works out of box. The later one, is the Mana Magic.
+Nun, lange Geschichte kurz, wir haben zwei magische Systeme. Man arbeitet die Box aus. Je später ein, ist die Mana Magie.
+
+Well, maybe it takes a few hours or days of your life, but who cares! It is instant teleport!
+Na ja, vielleicht dauert es ein paar Stunden oder Tage Ihres Lebens, aber who cares! Es ist Instant-Teleport!
+
+Well, my men went down and still haven't returned.
+Nun, meine Männer gingen nach unten und haben immer noch nicht zurückgekehrt.
+
+Well, my tea is just too good.
+
+
+Well, no risk, no gain.
+Nun, kein Risiko, kein Gewinn.
+
+Well, not like you could understand that with your level! %%a
+
+
+Well, perhaps a few of them are rebels, I mean, people like us, but many of them are monsters.
+Nun, vielleicht ein paar von ihnen sind Rebellen, ich meine, Leute wie uns, aber viele von ihnen sind Monster.
+
+Well, problem is, after that, there was demand for an election. The previous mayor lost. I won.
+Nun, Problem ist, danach gab es Nachfrage nach einer Wahl. Der bisherige Bürgermeister verloren. Ich habe gewonnen.
+
+Well, sorry, but only some items can be refined.
+Nun, sorry, aber nur einige Elemente verfeinert werden.
+
+Well, speaking a bit about myself can't hurt. I am a member from the Magic Council, but one day I decided to take a vacations.
+Nun, Sprechen ein bisschen über mich selbst kann nicht schaden. Ich bin ein Mitglied aus dem Zauber Rat, aber ein Tag beschloss ich, einen Urlaub zu nehmen.
+
+Well, thanks.
+Gut, danke.
+
+Well, that could fail, I said. Here is some experience.
+Nun, das könnte scheitern, sagte ich. Hier finden Sie einige Erfahrung.
+
+Well, that was a good fight. My grand-grand-grandfeather gave his shield to Arvek -- err, Braknar I mean.
+Nun, das war ein guter Kampf. Mein Enkel Urgroßvater gab sein Schild zu Arvek - äh, meine Braknar ich.
+
+Well, that was bad, but at least you know a bit from story.
+Nun, das war schlecht, aber zumindest wissen Sie ein wenig von Geschichte.
+
+Well, that was quite good. To defeat me and Lilit's general, alone, in such low time; You should be proud of yourself.
+
+
+Well, that's easy to do. For starters, I need 1.000 GP as payment, and 10 @@ to make the string.
+Nun, das ist einfach zu tun. Für den Anfang, ich brauche 1.000 GP als Zahlung und 10 @@, um die Zeichenfolge zu machen.
+
+Well, that's not a ring.
+Nun, das ist kein Ring.
+
+Well, the Yeti King has went away to the cliffs north of this one. He'll get back here very hungry.
+Nun, der Yeti König hat nach Norden von diesem zu den Klippen entfernt. Er wird kommen hier sehr hungrig zurück.
+
+Well, the biggest mana stones mine was in %s, but I'm afraid it has already depleted... Besides, it is very dangerous.
+
+
+Well, the first thing would be to get access to a Mana Stone. Halinarzo had the biggest mana stone mines, but it's now depleted.
+Nun, das erste, was wäre Zugang zu einem Mana Stein zu bekommen. Halinarzo hatte die größten mana Steinminen, aber es ist jetzt erschöpft.
+
+Well, the reason why I'm not doing it already is because, you see, I lack cookies.
+Nun, der Grund, warum ich es nicht schon zu tun ist, weil, sehen Sie, ich fehle Cookies.
+
+Well, then I'll give you a task. We may meet again in Soren Village.
+Nun, dann werde ich Ihnen eine Aufgabe. Wir treffen können wieder in Soren Dorf.
+
+Well, there might be a deep water spot, but it would still be dangerous.
+Nun, es könnte ein tiefes Wasser vor Ort sein, aber es wäre immer noch gefährlich sein.
+
+Well, these slimes are dangerous, but if you find some pages, be sure to bring them to Ensio. This will help us a lot. Eh, if you're interested in helping, that is. %%1
+
+
+Well, this is very disturbing, indeed. I hope my good friend Sagratha is fine.
+Nun, das ist sehr beunruhigend, in der Tat. Ich hoffe, dass mein guter Freund Sagratha ist in Ordnung.
+
+Well, too bad!
+Na ja, zu dumm!
+
+Well, welcome to the game! If you have any doubt, shout on #world for help!
+
+
+Well, yes, I've saw them heading off to the Yeti King room. Lately, many Yetis have been uprising against your majesty.
+Nun ja, ich habe gesehen, wie sie mit dem Yeti-King-Zimmer Position aus. In letzter Zeit haben viele Yetis Aufstand gegen Ihre Majestät gewesen.
+
+Well, yes. Look this river. The water is not moving.
+Nun ja. Schauen Sie diesen Fluss. Das Wasser bewegt sich nicht.
+
+Well, you are. You're quite interesting. I've been watching you for some time now, as you've been helping so many people: you're quite a master at what you do, you know.
+Nun, Sie sind. Sie sind recht interessant. Ich habe Sie jetzt für einige Zeit zu beobachten, wie man so viele Menschen zu helfen, wurde ich: Du bist ein ganz Master an, was Sie tun, Sie wissen.
+
+Well, you clearly never fought before, so remember to add stats.
+Nun, man deutlich noch nie gekämpft, so erinnern Statistiken hinzuzufügen.
+
+Well, you don't have a weapon. So, let me explain quickly.
+
+
+Well, you forgot the most important: The material I need to do the string.
+Nun, vergessen Sie die wichtigsten: Das Material, das ich Notwendigkeit, die Zeichenfolge zu tun.
+
+Well, you gave me the gems, so I trust you. Here, take this @@.
+Nun, du hast mir die Edelsteine, so dass ich Ihnen vertrauen. Hier nimm das @@.
+
+Well, you helped me. That's great! One hand washes the other, so, I'm willing to share knowledge with you.
+Nun, man hat mir geholfen. Das ist großartig! Eine Hand wäscht die andere, so, ich bin bereit, Wissen mit Ihnen zu teilen.
+
+Well, you know... Maybe we can strike a deal. I have good relations with the stock manager. I'll give you an event item.
+Nun, wissen Sie ... Vielleicht können wir einen Deal schlagen. Ich habe gute Beziehungen mit den Lager-Managern. Ich werde Ihnen ein Ereignis Artikel geben.
+
+Well, you need more experience. Keep trying!
+Nun, Sie brauchen mehr Erfahrung. Weiter versuchen!
+
+Well, you probably deserve it.
+Nun, Sie haben es sich verdient wahrscheinlich.
+
+Well, you see, you can't jump very far. And the water near land is shallow.
+Nun, sehen Sie, man kann nicht sehr weit springen. Und das Wasser in der Nähe von Land ist flach.
+
+Well, you were warned. Do you have any other stuff for me?
+Nun, Sie wurden gewarnt. Sie haben keine andere Sachen für mich?
+
+Well, you'll need to get used to. Being seasick is annoying, so you might want to leave the ship as soon as possible.
+Nun, Sie müssen sich daran zu gewöhnen. Sein seekrank ist ärgerlich, so dass Sie das Schiff so schnell wie möglich verlassen möchten.
+
+Well, you're an adventurer, and I guess tending to crops isn't your cup of tea.
+Nun, du bist ein Abenteurer, und ich denke an Kulturen neigen, ist nicht Ihre Tasse Tee.
+
+Well. I'll take care of that, don't worry with that.
+Gut. Ich kümmere mich um, dass Sie nicht mit Sorge sein.
+
+Well... Can't say I'm surprised. He is very perfectionist. Putting on himself the blame is something he would do.
+Nun ... Kann nicht sagen, ich bin überrascht. Er ist sehr Perfektionist. Setzen auf sich selbst die Schuld ist etwas, was er tun würde.
+
+Well... Here you go!
+Nun ... Hier gehen Sie!
+
+Well... You're right.
+Nun ... Du hast Recht.
+
+Well... we'll see around!
+Nun ja ... wir werden sehen, um!
+
+Well... you did not succeed in opening this %s.
+
+
+Welp, no, please!
+Welp, nein, bitte!
+
+Welp, you killed 10 Crocs. They're not dangerous, as you see. That's why we don't bother in cleaning them up.
+Welp, getötet Sie 10 Crocs. Sie sind nicht gefährlich, wie Sie sehen. Deshalb haben wir sie nicht stören bei der Säuberung.
+
+West Aeros
+West-Eros
+
+West Avenue#lof
+
+
+West of here is a beach. In said beach there are blubs, they don't attack but they walk in packs. Be careful if you provoke too many of them.
+Westlich von hier ist ein Strand. In dem Strand gibt es blubs, sie nicht angreifen, sondern sie gehen in Packungen. Seien Sie vorsichtig, wenn Sie provozieren zu viele von ihnen.
+
+West of here is a beach. There's a secret passage to it, underground. In there you'll find slime-like creatures called Blubs.
+Westlich von hier ist ein Strand. Es gibt einen Geheimgang zu ihm, unter der Erde. Dort finden Sie schleimartige Kreaturen namens Blubs.
+
+West of here, north of here, is a cabin. Investigate. That's all.
+
+
+Wha- How dare you, to lie to me!
+Wa- Wie kannst du es wagen, zu liegen zu mir!
+
+Whaaaaaaat *hic* is she *hic* have she gotten crazy? *hic*
+Whaaaaaaat * hicks * ist sie * hicks * haben sie verrückt gefahren? * Hicks *
+
+Whaaaaaat, you are that noob from earlier! Vanish! Be gone! Don't bore me!
+Whaaaaaat, Sie sind, dass Noob von früher! Verschwinden! Seien Sie weg! Do trug mich nicht!
+
+What ANISE INC. Does?
+Was ANISE INC. Does?
+
+What Alliance? The Alliance which rules over the World Of Mana!
+Was Allianz? Die Allianz, die Regeln über das World Of Mana!
+
+What I had to bring, again?
+Was sollte ich nochmal mitbringen?
+
+What I want to say is: Kill non-stop!
+Was ich sagen will, ist: Kill-non-stop!
+
+What a rip-off!
+Was für eine Abzocke!
+
+What about job levels and job experience?
+Was über Job-Level und Berufserfahrung?
+
+What about the Desert Temple?
+Was ist mit der Wüste Temple?
+
+What about the Shield?
+Was ist mit dem Schild?
+
+What about the worm?
+Was ist mit dem Wurm?
+
+What about you bring me:
+Was ist mit dir mich bringen:
+
+What alliance?
+Welche Allianz?
+
+What am I supposed to say?
+Was soll ich sagen?
+
+What an amazing crown you have! How do I get it?!
+Was für eine erstaunliche Krone Sie haben! Wie bekomme ich es?!
+
+What are Magic Skill Points?
+
+
+What are Research Points
+
+
+What are current leaderboard?
+Was ist die aktuelle Rangliste?
+
+What are the Ancient Families of the Soul Menhir?
+Was sind die alten Familien der Seele Menhir?
+
+What are the Transcendence Gates?
+Was sind die Transcendence Tore?
+
+What are the tasks of the Alliance?
+
+
+What are you doing alone in this desert?
+Was machst du allein in dieser Wüste?
+
+What are you doing here, @@!
+Was machst du hier, @@!
+
+What are you doing here? This place is too dangerous for you!
+Was machst du hier? Dieser Ort ist zu gefährlich für Sie!
+
+What are you doing in my kitchen?! Get out, it's not a place for kids!
+Was machst du in meiner Küche? Raus hier, das ist kein Ort für Kinder!
+
+What are you doing talking to me? Go fight, you coward!
+Was machst du mit mir zu reden? Go Kampf, du Feigling!
+
+What are you doing? Fight!
+Was tust du? Kampf!
+
+What are you doing? Go talk to @@ and bring me a @@!
+Was tust du? Sprich mit @@ und brachte mir ein @@!
+
+What are you doing? Stop wasting my time and go talk to @@!
+Was tust du? Stop meine Zeit und gehen Sie sprechen @@!
+
+What are you even speaking about?
+
+
+What are you still doing here? Begone!
+
+
+What are you still doing here?! GO!!
+
+
+What are you talking about? What guild?
+Was redest du da? Welche Gilde?
+
+What are you talking about? You are who you are right now. There's no other you.
+Worüber redest du? Sie sind, wer Sie gerade sind. Es gibt Ihnen keine andere.
+
+What are you waiting for? Go kill the bandit lord.
+Worauf wartest du? Gehen Sie töten den Banditen Herr.
+
+What are you waiting for?! Get running, Pachua is waiting!
+
+
+What body orifice should a babel fish be inserted in to work properly?
+
+
+What brings you here, @@?
+Was bringt dich hierher, @@?
+
+What can I do for you?
+Was kann ich für dich tun?
+
+What can I do with Bug Leg?
+Wass kann ich mit Insektenbeinen anstellen?
+
+What can I do with Maggot Slime?
+Was kann ich mit Maggot Slime tun?
+
+What can I do?
+
+
+What can you say about dyes?
+Was kann man sagen über Farbstoffe?
+
+What can you say about the monsters here?
+Was können Sie hier die Monster sagen?
+
+What can you tell me about the Moubootaur?
+Was können Sie mir über die Moubootaur?
+
+What cheap crap is this? It's not worth even 10 GP.
+Was billig Mist ist das? Es ist nicht einmal 10 GP wert.
+
+What color is a Babel Fish?
+
+
+What counts for titulation? Could you give me examples?
+
+
+What crap is that?! This is not from Tulimshar!
+Was Mist ist das ?! Dies ist nicht von Tulimshar!
+
+What did the Council of Elders say? Is there any news of the pirates?
+
+
+What did you expect?
+
+
+What did you need me to get again?
+
+
+What did you want? I've forgotten.
+
+
+What do you choose?
+Was wählst du?
+
+What do you know about other Mana Magic Professors?
+Was wissen Sie über andere Mana Zauber Professoren?
+
+What do you know about the Tyranny Bow?
+
+
+What do you mean? Do you at least have a rowboat with you?!
+Was meinen Sie? Haben Sie mindestens haben ein Ruderboot mit Ihnen ?!
+
+What do you need to learn something besides money for tuitions fee? Time and Dedication.
+Was brauchen Sie etwas anderes als Geld für tuitions Gebühr lernen? Zeit und Hingabe.
+
+What do you need?
+Was brauchst du?
+
+What do you say?
+Was sagst du?
+
+What do you think learning is, magic?! No!
+Was denken Sie, Lernen, Magie ?! Nein!
+
+What do you want to access?
+Wozu möchtest du Zugang erlangen?
+
+What do you want to change?
+Was möchtest du ändern?
+
+What do you want to do with your money?
+Was wollen Sie mit Ihrem Geld zu tun?
+
+What do you want to do?
+Was möchtest du tun?
+
+What do you want to know?
+Was möchtest du wissen?
+
+What do you want to learn more about?
+Was wollen Sie mehr darüber erfahren?
+
+What do you want to reset?
+Was möchtest du zurücksetzen?
+
+What do you want today?
+Was möchtest du heute?
+
+What does miners do in cave?
+Was macht Bergleute in der Höhle?
+
+What else do you need?
+Brauchst du sonst noch was?
+
+What else like a Pinkie?
+
+
+What game is played on earth as a relict of memories to an ancient war?
+
+
+What happened to me?
+Was ist mit mir passiert?
+
+What happened to the Wizard's Tower?
+
+
+What happened?
+Was ist passiert?
+
+What have happened? Why are you crying?
+Was ist passiert? Warum weinst du?
+
+What have you done?! We're under attack!
+
+
+What in the world is happening?! Where in Jesusalva's name are you?!
+Was in der Welt passiert ?! Wo in Jesusalva Namen bist du ?!
+
+What interesting water. Just don't ask me why.
+
+
+What is @@ doing?
+Was macht?
+
+What is Ford Prefect's nickname?
+
+
+What is a %s doing here? Eugh, you stink! You should keep away from our children!
+
+
+What is an airship? O.o
+
+
+What is banking?
+Was ist Banking?
+
+What is going on here?
+
+
+What is my current hairstyle and hair color?
+Was habe ich gerade für eine Frisur und Haarfarbe?
+
+What is the Academy?
+
+
+What is the Alliance?
+Was ist die Allianz?
+
+What is the Magic Academy?
+
+
+What is the Moubootaur?
+Was ist der Moubootaur?
+
+What is the Scholar Rank?
+
+
+What is the answer to life, the universe and everything?
+
+
+What is the first name of the author of the hitchhikers guide?
+
+
+What is the last name of the author of the hitchhikers guide?
+
+
+What is the most important item for every hitchhiker to have?
+Was ist der wichtigste Punkt für jeden Tramper zu haben?
+
+What is the name of the Restaurant at the End of the Universe?
+
+
+What is the name of the Vogon home planet?
+
+
+What is the name of the computer on The Heart of Gold?
+
+
+What is the name of the creature that is continually reincarnated and subsequently killed, each time unknowingly, by Arthur Dent?
+
+
+What is the name of the rock group claiming to be the loudest band in the universe?
+
+
+What is the name of the spaceship which was stolen by the president of the universe?
+
+
+What is the name of the super computer?
+
+
+What is this guild for?
+Wozu dient diese Gilde?
+
+What is this island?
+Was ist diese Insel?
+
+What is this place anyway?
+Was ist dieser Ort überhaupt?
+
+What is your problem?
+Was ist dein Problem?
+
+What item do you want to melt down? This is irreversible, and may return some ingots to you, but there is no way to tell how many you'll receive!
+Was Artikel wollen Sie einschmelzen? Dies ist irreversibel und kann einige Barren zu Ihnen zurück, aber es gibt keine Möglichkeit zu sagen, wie viele Sie erhalten!
+
+What item would you like to bleach?
+Was würdest du gerne bleichen?
+
+What magic classes are there?
+
+
+What race creates the worst poetry in universe?
+
+
+What service do you offer?
+Was für Dienste bietest du an?
+
+What should I do now?
+Was sollte ich jetzt tun?
+
+What star is near Ford's home planet?
+
+
+What the f...? Four Hundred Thousand??? Must be a bug. Next milestone is 819,200. Cheaters.
+Was zum ...? Vierhunderttausend??? Muss ein Fehler sein. Nächster Meilenstein ist 819.200. Betrüger.
+
+What to exchange with Leona?
+Was mit Leona tauschen?
+
+What two words are written in big friendly letters on the back cover?
+
+
+What was I doing before...? I forgot!
+Was tat ich vor ...? Ich habe vergessen!
+
+What was I doing before...? I totally forgot!
+
+
+What was the sequence?
+
+
+What were the second most intelligent creatures on Earth?
+
+
+What will be my reward?
+Was wird mein Lohn sein?
+
+What will be the bait for the fish?
+Was soll der Köder sein?
+
+What will you brew today?
+Was werden Sie heute brauen?
+
+What will you craft today?
+Was werden Sie heute Handwerk?
+
+What will you forge today?
+Was werden Sie heute schmieden?
+
+What will you transmute today?
+Was werden Sie heute verwandeln?
+
+What would you like to bury?
+Was würdest du gerne begraben?
+
+What would you like today?
+Was darfs denn heute sein?
+
+What yeye could I do for you today?
+Was kann ich heute für dich yeyeen?
+
+What you asked me for, again?
+Was fragte man mich, wieder?
+
+What you refer as Ancient Families, are probably their descendants. There was nothing special about them, other than they promised to defend mankind of their own actions.
+Was Sie als alte Familien beziehen, sind wahrscheinlich ihre Nachkommen. Es war nichts Besonderes an ihnen, anders als sie die Menschen ihrer eigenen Handlungen zu verteidigen versprochen.
+
+What're you looking at?!
+Was schaust du so blöd?!
+
+What's S.A.R.A.H.?
+Was ist S.A.R.A.H.?
+
+What's it, scout.
+Was ist es, Scout.
+
+What's that? They seem to be AFK but are not?
+
+
+What's the World Edge?
+Was ist der Weltrand?
+
+What's the difference from a Mana Wizard and a Mage?
+Was ist der Unterschied von einem Mana-Assistenten und einem Magier?
+
+What's the name of the paranoid robot?
+
+
+What's the problem?
+Was ist das Problem?
+
+What's this dark magic, the password has changed!
+
+
+What's wrong?
+Was ist los?
+
+What's your opinion of Peetu and his work?
+Was ist Ihre Meinung Peetu und seine Arbeit?
+
+What, only that? Well, this is actually simpler than it looks.
+Was, nur das? Nun, dies ist tatsächlich einfacher als es aussieht.
+
+What? A party?
+Was? Eine Feier?
+
+What? Don't be ridiculous. Not even the Monster King does that! I think.
+
+
+What? Why not?
+Was? Warum nicht?
+
+What?! Do my house look like the place to you pratice your thief skills?!
+Was?! Habe mein Haus aussehen wie der Platz um Ihren Dieb Fähigkeiten üben ?!
+
+What?! This changes the whole history. Not only that, but this is a serious issue!
+Was?! Dadurch ändert sich die ganze Geschichte. Nicht nur das, aber das ist ein ernstes Problem!
+
+Whatever you find there is yours to keep.
+Was auch immer Sie finden es bei Ihnen zu halten.
+
+Whatever you're blaming Saulc about, this one time, he is innocent.
+Was auch immer Sie die Schuld Saulc über, dieses eine Mal, er ist unschuldig.
+
+When Christmas starts, here will become frantic again, with things running out of stock all the time... But the adventurers deserve it, for fighting monsters the year round.
+Wenn Weihnachten beginnt, wird hier hektisch wieder geworden, mit den Dingen auf Lager, die Zeit läuft aus alle ... Aber die Abenteurer es verdienen, für Monster, die das ganze Jahr über zu kämpfen.
+
+When I am drunk I tell myself to stop drinking, but I won't listen the words of a drunkard.
+Wenn ich betrunken bin ich mir sage dem Trinken aufzuhören, aber ich werde die Worte eines Betrunkenen nicht hören.
+
+When I was alive, I brought people to their destiny.
+Als ich noch am Leben war, brachte ich die Menschen ihrem Schicksal.
+
+When it returns, it is holding a cute %s. Understanding it is a gift, you take it.
+
+
+When people loses too much blood, they die, unless we can lend them somebody's else blood.
+Wenn die Leute zu viel Blut verliert, sie sterben, wenn wir sie nicht jemand anderes Blut verleihen kann.
+
+When receiving the chocolate, you must eat it before event ends to get a point for that!
+Wenn die Schokolade empfangen, müssen Sie sie vor dem Ereignis Enden essen einen Punkt für das bekommen!
+
+When the boss is defeated, or the minute clock marks fifteen, event ends.
+Wenn der Boss besiegt, oder die Minutentaktmarkierungen fünfzehn, Ereignis endet.
+
+When they left to World Edge, they probably were looking for Mana Fragments. In other words... Soul Menhirs. Parts of the World Heart.
+Als sie zum Weltrand links, suchen sie wahrscheinlich für Mana Fragmente. Mit anderen Worten ... Seele Menhire. Teile der World Heart.
+
+When this is the case, you should get closer to the NPC, until they hear you.
+Wenn dies der Fall ist, sollten Sie näher an den NPC erhalten, bis sie dich hören.
+
+When you get out of the ship, it is the first building you'll see. Talk to ##BLua##b, she is an alliance representative.
+
+
+When you have added all the items and money you want, press the 'Propose Business' button. The other citizen must also press the 'Propose Business' button.
+Wenn Sie hinzugefügt haben alle Einzelteile und Geld, das Sie wollen, drücken Sie die ‚Geschäft vorschlagen‘ klicken. Der andere Bürger muss auch die Taste ‚Geschäft vorschlagen‘ klicken.
+
+When you're stronger I may consider asking for your help.
+
+
+When your inventory is open, you can equip an item by selecting it and clicking 'Equip'. You can do the same to unequip an item by clicking on 'Unequip'.
+Wenn dein Inventar offen ist, kannst du einen Gegenstand ausrüsten indem du ihn auswählst und dann auf 'Ausrüsten' klickst. Du kannst das selbe machen um einen Gegenstand zu entfernen indem du 'Ausziehen' anklickst.
+
+Where I needed to go, again?
+Wo ich brauche, wieder zu gehen,?
+
+Where are you from, don't you see all the bandits? Seriously, with these ridiculous plans, the whole continent doomed.
+
+
+Where can I find Juliet?#0
+Wo kann ich Juliet finden?#0
+
+Where can I find Juliet?#1
+Wo kann ich Juliet finden?#1
+
+Where can I find the previous mayor?
+Wo finde ich die vorherigen Bürgermeister finden?
+
+Where can I find them?
+Wo kann ich sie finden?
+
+Where could my man have went?!
+
+
+Where do I get so much money?!
+
+
+Where do you think you are going, without talking to me first?
+Wo denkst du, du gehst, ohne vorher mit mir zu reden?
+
+Where exactly am I?
+Wo genau bin ich?
+
+Where have you been, pal? He perished.
+
+
+Where is Woody?
+Wo ist Woody?
+
+Where is here? What was this place used for?!
+Wo ist hier? Was war dieser Ort verwendet für ?!
+
+Where is it? Everything's upside down. These terrible slimes.
+Wo ist es? Alles Kopf. Diese schrecklichen Schleime.
+
+Where is the World's Edge?
+Wo ist der Rand der Welt?
+
+Where is the item you've stolen?
+Wo ist das Element, das Sie gestohlen haben?
+
+Where is the salt?! This is sugar! Proper sailors need salt, not sugar!
+Wo ist das Salz ?! Dies ist Zucker! Die richtig Seeleute brauchen Salz, Zucker!
+
+Where should I warp to?
+Wo soll ich verziehen zu?
+
+Where's the Sunny Crystal? Hurry up, you only have @@ left!
+Wo ist die Sunny Kristall? Beeilen Sie sich, Sie haben @@ links!
+
+Where's the money? Go away.
+Wo ist das Geld? Geh weg.
+
+Where's the reagent? You don't expect me to find it, right? Go bring them!
+Wo ist das Reagenz? Sie erwarten nicht mich, es zu finden, nicht wahr? Gehen sie bringen!
+
+Which country does the human protagonist come from?
+
+
+Which deal?
+Welches Geschäft?
+
+Which item will you tweak?
+Welche Artikel werden Sie zwicken?
+
+Which language do you speak?
+Welche Sprache sprichst du?
+
+Which melee you craft?
+
+
+Which recipes do you want to read?
+Welche Rezepte möchten Sie lesen?
+
+Which rewards are available?
+Welche Belohnungen stehen zur Verfügung?
+
+Which skill will you FORGET permanently today?
+Welche Fähigkeiten werden Sie permanent heute vergessen?
+
+Which sound great in theory, but it was not. Greedy people found a way into power. They probably had good reasons, but they started confiscating Mana Stones, and storing them in a tower...
+
+
+Which water will you use?
+Welches Wasser verwenden Sie?
+
+While %s's reasons to do so remain unclear, a request was made.
+
+
+While I don't think the Yeti King would ever do or endorse that, yes, I've heard this happens.
+
+
+While breaking the seal, monsters will spawn. The other monsters may drop %s.
+
+
+While it may not be suitable for fighting, by using it against Bifs and other mineral formations, you'll be able to get more ore.
+Es ist zwar nicht für den Kampf geeignet sein können, indem sie sie gegen BIFS und andere mineralische Formationen verwenden, werden Sie in der Lage sein, mehr Erz zu bekommen.
+
+While mining bifs, a strange powder appeared.
+
+
+While on normal magic you must take care with all attributes, on mana magic, you usually only need to worry with reagents and intelligence.
+Während normale Magie Sie Sorgfalt mit allen Attributen, auf Mana Magie nehmen müssen, in der Regel müssen Sie nur mit Reagenzien und Intelligenz zu Sorge.
+
+While the tyrant desires to see skill.
+
+
+While we're at that, do you know how to craft? No? First, you'll need a Cauldron, in case you've rented a house. Otherwise, you can rent a work table on this Forge.
+Während wir an, dass sind, dann wissen Sie, zu Handwerk, wie? Nein? Zuerst müssen Sie einen Kessel, falls Sie ein Haus gemietet haben. Andernfalls können Sie einen Arbeitstisch auf dieser Forge mieten.
+
+Whip
+
+
+Whirly Bird
+Whirly Vogel
+
+Whirly Bird (BOSS)
+
+
+Whiskey Ale
+Whiskey Ale
+
+White
+Weiß
+
+White Cats drink Milk, Forest Mushroom eats Moss, Black Cats eats marshmallow. Keep in mind whatever they eat.
+Weiße Katzen trinken Milch, Waldpilz eats Moss, schwarze Katzen eats Eibisch. Denken Sie daran, was sie essen.
+
+White Fur
+Weißes Fell
+
+White Slime
+weiß Slime
+
+White Slime Mother
+
+
+WhiteCat
+Weiße Katze
+
+Who are the most famous scholars?
+
+
+Who are you, and how did you manage to come down here? The sheer power of our Lord prevents anyone not under his control to go here.
+
+
+Who are you?
+Wer bist du?
+
+Who are you? Thanks for the help.
+Wer bist du? Danke für die Hilfe.
+
+Who are you? Where are you from?
+Wer bist du? Wo kommen Sie her?
+
+Who composes the Alliance?
+Wer komponiert die Allianz?
+
+Who dares to disturb my slumber?
+Wer wagt es, meinen Schlummer zu stören?
+
+Who is Andrei Sakar?
+Wer ist Andrei Sakar?
+
+Who is Kfahr the Warrior?
+Wer ist Kfahr der Krieger?
+
+Who is responsible for the fjords of Norway?
+
+
+Who is the Professor? I've heard he was the father of a certain Arthur... No idea.
+
+
+Who is the male human protagonist? First and last name only.
+
+
+Who is there? Are they trying to break my lock again?!
+Wer ist da? Versuchen sie, mein Schloss wieder zu brechen ?!
+
+Who is this professor?
+
+
+Who is throwing stuff at me?!
+Wer wirft Sachen bei mir ?!
+
+Who sent you here? Merlin?
+
+
+Who will collect the most?!
+
+
+Who will insult every living being in the universe, because he is immortal and getting bored?
+
+
+Who's Mercury? Maybe I'm missing something? Where could he have went?
+Wer ist Mercury? Vielleicht bin ich etwas fehlt? Wo hätte er ging?
+
+Who's this Juliet?
+Wer ist das Juliet?
+
+Who, or what are you?
+Wer oder was bist du?
+
+Whoever took control of this village is no ordinary mage. There's a switch on the wall.
+Wer die Kontrolle über dieses Dorf ist kein gewöhnlicher Magier. Es gibt einen Schalter an der Wand.
+
+Whom put an end at their foes,
+
+
+Why am I having a hard time to believe on you...
+Warum habe ich eine harte Zeit an Sie zu glauben ...
+
+Why are you here? This area is off-limits!
+Warum bist du hier? Dieser Bereich ist tabu!
+
+Why did we had to decide to research slimes of all creatures?! But alas, now is too late. Not even a %s could restore her in this state...
+
+
+Why do you bully me! - This is a bug: 02331.LOGIC.OID
+Warum schikanieren Sie mich! - Das ist ein Fehler: 02331.LOGIC.OID
+
+Why do you only use the silk robe? Don't you have a shorts or something?
+Warum verwenden Sie nur das seidene Gewand? Sie nicht, eine kurze Hose oder etwas haben?
+
+Why do you summon me? Speak.
+Warum rufen Sie mich? Sprechen.
+
+Why do you want to help me?
+
+
+Why does death embrance me so much today?
+Warum ist der Tod embrance mir heute so viel?
+
+Why does it suck?
+
+
+Why don't you go yourself?
+
+
+Why don't you take a break? Breath in some fresh air. The basement is pretty damp.
+Warum nicht nehmen Sie eine Pause? Atem in der frischen Luft. Der Keller ist ziemlich feucht.
+
+Why everything is so broken, couldn't the Monster King try to do less collateral damage?! These things will take years to be fixed!
+
+
+Why is it hard?
+
+
+Why not Andrei Sakar?
+Warum nicht Andrei Sakar?
+
+Why not, I need to train anyway.
+Warum nicht? Ich muss ohnehin üben.
+
+Why should I spare you?
+Warum sollte ich erspare Ihnen?
+
+Why should I? Go away. %%n
+
+
+Why shouldn't I jump here?
+Warum sollte ich hier nicht springen?
+
+Why would you want to go back there?
+Warum würden Sie wollen, dorthin gehen zurück?
+
+Why you don't tell me?
+
+
+Why, I actually do sell a few things here! But they probably aren't what you're looking for.
+Warum, kann ich tatsächlich ein paar Dinge hier verkaufen! Aber sie sind wahrscheinlich nicht das, was Sie suchen.
+
+Why, hello there! Come to visit me to hear Kfahr the Warrior or Andrei Sakar's exploits, have you?
+Warum, hallo dort! Kommen Sie mich besuchen Kfahr den Krieger oder Andrei Sakar Taten zu hören, haben Sie?
+
+Why, thank you!
+
+
+Why? You are most definitely at the wrong place. Leave!
+
+
+Wicked Mushroom
+böse Pilz
+
+Wicked Shroom Hat
+Wicked Shroom Hut
+
+Wielding the lightbringer came the ace,
+
+
+Wiki article
+
+
+Wildx Chest
+Wildx Chest
+
+Will adventurers reach it? Will the random attacks at towns cease??
+
+
+Will next draw be HIGHER or LOWER?!
+Als nächstes wird remis höher oder niedriger sein ?!
+
+Will you accept his challenge?! Raise to the highest top score!
+
+
+Will you help me- no, I mean, will you help us, the whole town of Hurnscald?
+Werden Sie me- nicht helfen, ich meine, helfen Sie uns, die ganze Stadt von Hurnscald?
+
+Will you try to unlock it?
+Werden Sie versuchen, es zu entsperren?
+
+Wind Element
+
+
+Wind Fairy
+Wind-Fee
+
+Wind: @@, @@
+Wind: @@, @@
+
+Windwalker
+Wind Wanderer
+
+Wine Making Barrel
+Weinherstellung Barrel
+
+Winning Streak is also reset on logout or when you leave the Inn.
+Streak Gewinne zurückgesetzt wird auch beim Abmelden oder wenn Sie das Inn verlassen.
+
+Winning Strike Prizes:
+Gewinnen Streik Preise:
+
+Winter
+Winter
+
+Winter this year is really harsh! Fire is the most important for us.
+Winter in diesem Jahr ist wirklich hart! Feuer ist das wichtigste für uns.
+
+Wise choice! But can you really part with it? Better think on something else!
+Weise Entscheidung! Aber kann man wirklich mit ihm trennen? Besser denken an etwas anderes!
+
+Wise choice.
+
+
+Witch Boots
+Hexe Stiefel
+
+With Magic and Blades, The Icicle shall break.
+
+
+With Magic and Blades, The Icicle shall break. Do you undertake the challenge?
+
+
+With Tulimshar being the last major human settlement standing (besides distant locations like Candor), the situation looks more dire than ever.
+
+
+With a PinCode, you'll have access to restricted features,
+
+
+With a big smile, you stretch your hand in the teddy's direction; But the little one gets scared with the movement and starts to move away from you.
+
+
+With a knife, the fisherman makes the roots as thin as he can. You wonder if he knows what he is doing.
+Mit einem Messer, macht der Fischer die Wurzeln so dünn wie er kann. Sie fragen sich, ob er weiß, was er tut.
+
+With a mask you say? This reminds me... wait a moment.
+Mit einer Maske sagen Sie? Das erinnert mich ... einen Moment warten.
+
+With a mask? Hm. I don't remember.
+Mit einer Maske? Hm. Ich erinnere mich nicht.
+
+With a mask? I don't really remember... We have so many visitors. Though I suppose someone wearing a mask would be noticeable... But I'm so worn out from the past few days that I'm just glad I can even recall my own name! Sorry.
+Mit einer Maske? Ich weiß nicht wirklich erinnern ... Wir haben so viele Besucher. Obwohl ich wäre bemerkbar Angenommen, jemand trägt eine Maske ... Aber ich bin so von den letzten Tagen erschöpft, dass ich nur froh bin, kann ich auch meinen eigenen Namen erinnern! Es tut uns leid.
+
+With a mask? I really don't know. I'm usually in the workshop and most of the visitors spend their time in the library. Sometimes they come to have a quick look in the workshop too, but I don't really pay attention to that, so... I can't recall a visitor with a mask, sorry.
+Mit einer Maske? Ich weiß es wirklich nicht. Ich bin in der Regel in der Werkstatt und die meisten Besucher verbringen ihre Zeit in der Bibliothek. Manchmal kommen sie einen kurzen Blick in der Werkstatt zu haben, aber ich weiß nicht wirklich Aufmerksamkeit so auf, dass, zahlen ... ich nicht einen Besucher mit einer Maske erinnern kann, sorry.
+
+With a mask? Mh, I think I know who are you talking about. I vaguely remember that there was someone with a mask... but I can't recall any details, I wasn't really paying attention.
+Mit einer Maske? Mh, ich glaube, ich weiß, wer reden Sie. Ich erinnere mich vage, dass es jemand mit einer Maske war ... aber ich kann keine Details erinnern, ich war nicht wirklich Aufmerksamkeit.
+
+With a mask? Yeah, I remember. That was a strange guy. He came to visit the library, but he lurked around at the workshop area and they had to send him back to the books.
+Mit einer Maske? Ja, ich erinnere mich. Das war ein merkwürdiger Typ. Er kam um die Bibliothek zu besuchen, aber er lauerte in der Werkstatt Bereich um, und sie hatten ihn zurück in die Bücher zu senden.
+
+With a wave, Benjamin returns to report Kenton about the outcome.
+Mit einer Welle kehrt Benjamin Kenton über das Ergebnis zu berichten.
+
+With fresh conviction, you prepare yourself to the fight which draws near.
+
+
+With it, you can safely move items and funds between your characters.
+Mit ihm können Sie sicher Gegenstände und Mittel zwischen Zeichen bewegen.
+
+With one gem you can expect to get 1 to 3 powders!
+Mit einem Juwel können Sie erwarten, 1 bis 3 Pulver zu erhalten!
+
+With recent player activity, the Monster king is @@!
+Mit dem jüngsten Spieler-Aktivität ist das Monster König @@!
+
+With the brave sacrifice of Andrei Sakar to save our world, our future seems as bleak than ever.
+
+
+With the wages I receive, you can use this market at your own risk.
+
+
+With this I make balls of slime for Candor's childs, they really like to play with them.
+Damit ich machen Kugeln aus Schleim für Childs Candor ist, wie sie wirklich mit ihnen zu spielen.
+
+With this tip you will be able to fight strong monsters. It's on Saul's Strategy Guide Against Archwizards.
+Mit diesem Tipp werden Sie starke Monster kämpfen können. Es ist auf Sauls Strategy Guide Gegen Archwizards.
+
+Withdraw GP
+zurückziehen GP
+
+Withdraw.
+Abheben.
+
+Within the cities is a place safe enough not to be attacked by another person (except during wars). But outside of them there are some places where the citizen can be attacked by enemies from other realms, or even by someone from the same realm.
+Innerhalb der Städte ist ein Ort, sicher genug, um nicht von einer anderen Person angegriffen werden (außer während der Kriege). Aber außerhalb von ihnen gibt es einige Orte, an denen der Bürger kann von Feinden aus anderen Bereichen angegriffen werden, oder sogar von jemandem aus dem gleichen Bereich.
+
+Without any ceremony or further ado, the teddy starts poking on your things.
+
+
+Without any mana stone left, and because the walls were not very strong, most of the city was destroyed.
+Ohne Mana Stein links, und weil die Wände nicht sehr stark waren, wurde der größte Teil der Stadt zerstört.
+
+Without magic attack, using a fireball at an enemy will be like throwing a stone.
+Ohne Magie Angriff, einen Feuerball auf einen Gegner mit sein wie ein Stein zu werfen.
+
+Witness my sublime rain of death. Regeneration!
+
+
+Witness, the power of love!
+
+
+Wizard General
+Wizard Allgemein
+
+Wizard Moccasins
+Wizard Mokassins
+
+Wizardry
+
+
+Wizardry Institute is on the %s area of the campus.
+
+
+Wizards Tower, Tonori - 6th March 300 AT
+
+
+Wizards Tower, Tonori - 8th April 300 AT
+
+
+Wo-wo-wow! You really did it! You're the best!#0
+
+
+Wo-wo-wow! You really did it! You're the best!#1
+
+
+Wolvern
+Wolvern
+
+Wolvern Pelt
+Wolverine Pelt
+
+Wolvern Teeth Necklace
+Wolverine Zähne Halskette
+
+Wolvern Tooth
+Wolvern Tooth
+
+Wolverns are fierce creatures who likes cold places. Their fur is soft.
+Wolverns sind wilde Kreaturen, die kalte Orte mag. Ihr Fell ist weich.
+
+Won Quirino Voraz Arena %s ago
+
+
+Wonderful! Here, take the @@, as promised. I need to get back to cooking!
+Wunderbar! Hier nehmen Sie die @@, wie versprochen. Ich muss kochen, um wieder!
+
+Wonderful! I'll be expecting you back.
+Wunderbar! Ich werde erwarten Sie zurück.
+
+Wonderful! Just bring me 12 @@ and 4 @@. I'm counting on you!
+Wunderbar! Bringt mir nur 12 @@ und 4 @@. Ich zähle auf dich!
+
+Wonderful! My fee is @@. This fee is the first step in separating those with willpower, from those without.
+Wunderbar! Mein Honorar ist @@. Diese Gebühr ist der erste Schritt in solche mit Willenskraft zu trennen, von denen ohne.
+
+Wonderful! Now I can prepare the ink for magnificent illustrations! You're very generous.
+Wunderbar! Jetzt kann ich die Tinte für großartig Illustrationen vorzubereiten! Sie sind sehr großzügig.
+
+Wonderful! So, how about a warm up?
+Wunderbar! Also, wie etwa ein Warm-up?
+
+Wonderful! That was great! Directly hit the bull's eye!
+Wunderbar! Das war großartig! Direkt traf ins Schwarze!
+
+Wonderful! You must finish Novice, Intermediary, Advanced and Expert levels before I unlock Master level for you.
+Wunderbar! Sie müssen beenden Novice, Intermediate, Advanced und Expert Level, bevor ich für Sie Master-Ebene zu entsperren.
+
+Wonderful, I am happy to have you over. Lets get things started with some puerh tea.
+Wunderbar, ich bin glücklich, Sie darüber zu haben. Lässt Dinge mit einigen puerh Tee beginnen.
+
+Wooden Bow
+Holzbogen
+
+Wooden Log
+Holzstamm
+
+Wooden Shield
+Holzschild
+
+Wooden Sword
+Holzschwert
+
+Woodland Fantasy
+Wald Fantasie
+
+Woodland Water
+Waldwasser
+
+Woody
+waldig
+
+Woody Barrier
+Woody Barrier
+
+Woody Card
+Woody-Karte
+
+Woody is inside, he is probably crafting some stuff with animals pelts.
+Woody innen, er ist wahrscheinlich ein paar Sachen mit Tieren Pelze anfertigt.
+
+Woohoo, thank you! Maybe now they'll leave me alone!
+Woohoo, danke! Vielleicht jetzt werden sie mich in Ruhe lassen!
+
+Word of the wise: You can freely challenge the Yetifly later.
+Wort des Weisen: Sie können die Yetifly später frei herauszufordern.
+
+Worker Day
+
+
+Worker Statue
+Worker Statue
+
+World Expo
+
+
+World Gate 2
+Welt Gate 2
+
+World Map - @@
+Weltkarte - @@
+
+World hero: %s
+Welt Held:% s
+
+World's Edge is an island situated northwest of here.
+Rand der Welt ist eine Insel nordwestlich von hier.
+
+World's Edge is the place where the Monster King Fortress is.
+Rand der Welt ist der Ort, wo das Monster King Fortress ist.
+
+Worlds Gate
+Welten Tor
+
+Worry not, I have them with me.
+Sorge, ich habe sie bei mir.
+
+Would be nice if you could bring me these:
+Wäre nett, wenn Sie mir diese bringen könnten:
+
+Would love to invite you to a card minigame... But alas, Kenton told me that minigames are a waste of time, and that I should not bother adventurers with it.
+
+
+Would you ... uhm ... would you talk to Chief Oskari for me? And ask her what she plans to do about me? I... I just don't feel capable of doing that myself right now. I'll try to pull myself together in the meanwhile.
+Würden Sie ... ähm ... möchten Sie Chef Oskari für mich sprechen? Und fragen sie, was sie über mich vorhat? Ich ... ich fühle mich einfach nicht in der Lage, dass gerade jetzt selbst zu tun. Ich werde versuchen, mich zusammen in der Zwischenzeit zu ziehen.
+
+Would you like to help me with organizing a Church Party?
+Möchten Sie mir helfen mit einer Kirche Partei zu organisieren?
+
+Would you like to help us to protect the town from a red scorpion invasion??
+Würdest du uns helfen, die Stadt von einer roten Skorpion Invasion zu schützen??
+
+Would you like to help us? Maybe you just need some information.#0
+
+
+Would you like to help us? Maybe you just need some information.#1
+
+
+Would you like to leave this place?
+Möchten Sie diesen Ort verlassen?
+
+Would you like to transform one more?
+Möchten Sie eine weitere verwandeln?
+
+Wouldn't you know it, the bug bomb Eomie gave us is in one of the store room barrels.
+Würden Sie es nicht wissen, die Fehler Bombe Eomie hat uns in einem der Lagerraum Fässer ist.
+
+Wouldn't you like to help me too?
+Möchten Sie nicht mir helfen?
+
+Wounded Girl
+verwundete Mädchen
+
+Wounded Soldier
+verwundete Soldaten
+
+Wounded Soldier#01861
+
+
+Wow!
+Beeindruckend!
+
+Wow! Are you @@? Everyone, in every city, talks about you!
+Beeindruckend! Bist du @@? Jeder, in jeder Stadt, spricht über Sie!
+
+Wow! Those pitiable gloves sure weren't made for mining. They're almost ruined!
+Beeindruckend! Diese bedauernswerten Handschuhe wurden sicher nicht für den Bergbau gemacht. Sie sind fast ruiniert!
+
+Wow! You did it! I do not think anyone else could have done that.
+Beeindruckend! Du hast es geschafft! Ich glaube nicht, dass jemand anderes getan haben könnte.
+
+Wow, a Dagger and a Sailor's Hat!
+Wow, ein Dolch und Hut eines Seemanns!
+
+Wow, it's really generous of you to fight those slimes for us. Do you need anything else?
+Wow, es ist wirklich großzügig von Ihnen diese Schleime für uns zu kämpfen. Brauchst du noch was?
+
+Wow, three gifts! Good job! With 800, an extra gift for everyone!
+Wow, drei Geschenke! Gut gemacht! Mit 800, ein extra Geschenk für alle!
+
+Wow, you already found quite a lot of bookpages. Please keep it up!
+Wow, Sie fand schon ziemlich viel bookpages. Mach bitte weiter so!
+
+Wreath
+Kranz
+
+Writing/Updating in client-data quests.xml and items.xml with the correct information usually counts as well.
+
+
+Wumpus Egg
+
+
+Wurtzite Ore
+Wurtzit Ore
+
+Wushin
+
+
+Wyara
+Wyara
+
+Xanthem Card
+Xanthem Karte
+
+Xmas Cake
+Weihnachtskuchen
+
+Xmas Candy Cane
+Weihnachten Zuckerstange
+
+Xovilam
+
+
+YOU CAN FEEL THE POWER FLOWING TROUGH YOU.
+Sie können den Stromfluss durch Sie fühlen.
+
+YOU FAIL! It is a simple item now.
+DU SCHEITERST! Es ist ein jetzt einfach Element.
+
+YOU HAVE RESIGNED THE OFFICE.
+Sie haben das Amt niedergelegt.
+
+YOU JUMP FOR ALL IT IS WORTH!!
+SIE JUMP FOR ALL Es lohnt sich !!
+
+YOU WERE BLESSED BY %s
+
+
+YOU WHO DEFILE THIS PLACE...
+SIE WHO DEFILE THIS PLACE ...
+
+YOU WILL BE DISCONNECTED BY FORCE.
+SIE WERDEN DISCONNECTED BY FORCE BE.
+
+YOU WILL BE PENALIZED WITH 60% OF HEALTH.
+SIE WERDEN MIT 60% der Gesundheits BESTRAFT.
+
+YOU WILL BE PENALIZED WITH 70% OF HEALTH.
+SIE WERDEN MIT 70% der Gesundheits BESTRAFT.
+
+Yar matey! You have the items I asked for! You have the honor and trust we pirates bestow each other!
+Yar kameradschaftlich! Sie haben die Dinge, die ich gefragt! Sie haben die Ehre und das Vertrauen wir Piraten bestow einander!
+
+Yar! Do you need something, matey?
+Yar! Haben Sie etwas, kameradschaftlich brauchen?
+
+Yarr arr!
+Yarr arr!
+
+Yay it's summer! I love June 21st, and the summer vacations!
+Yay es ist Sommer! Ich liebe 21. Juni und die Sommerferien!
+
+Yay yay! Many thanks! Here, take the reward as promised!
+Yay yay! Danke vielmals! Hier nehmen Sie die Belohnung, wie versprochen!
+
+Yay! Many thanks! I'll enjoy it! Here is the promised reward.
+
+
+Yay! Many thanks! I'll enjoy it! Here, you can keep this.
+
+
+Yay, it worked! You get a good wing.
+Yay, es funktioniert! Sie erhalten einen guten Flügel.
+
+Yaya, are you sure?
+
+
+Yaya, you should go see her! She'll be happy to help you again.#0
+
+
+Yaya, you should go see her! She'll be happy to help you again.#1
+
+
+Yayaya, @@ is surely slow. Do you remember how to walk? You can use arrow keys for that!
+Yayaya, @@ ist sicherlich langsam. Erinnern Sie sich noch, wie man geht? Sie können die Pfeiltasten für die Verwendung!
+
+Yayaya, by pressing @@ or clicking in @@, you'll open your char status window!
+Yayaya, durch Drücken der Taste @@ oder in @@ klicken, werden Sie Ihre char Statusfenster öffnen!
+
+Yayaya, by pressing @@ or clicking in @@, you'll open your character status window!
+
+
+Yayaya, good job! You can collect loot by pressing @@.
+Yayaya, gute Arbeit! Sie können Beute sammeln, indem Sie @@.
+
+Yeah sure, take my Amethyst!
+Ja sicher, nimm meine Amethyst!
+
+Yeah sure, take my Diamond!
+Ja sicher, nimm meinen Diamanten!
+
+Yeah sure, take my Emerald!
+Ja sicher, nimm meinen Smaragd!
+
+Yeah sure, take my Ruby!
+Ja sicher, nimm meinen Rubin!
+
+Yeah sure, take my Sapphire!
+Ja sicher, nimm meine Sapphire!
+
+Yeah sure, take my Topaz!
+Ja sicher, nimm meinen Topaz!
+
+Yeah yeah yeah, you're not the first one to come talking about that to me.
+Yeah yeah yeah, du bist nicht der erste kommen sprechen über das zu mir.
+
+Yeah you're all like *hic* that, but you won't get me! *burp*
+Ja du bist alles wie * hicks * dass, aber Sie werden mich nicht! *rülpsen*
+
+Yeah you're right, I'm a noob anyway, and Sagratha is a skilled mage. She should be fine on her own.
+Ja, du hast recht, ich bin ein Noob sowieso, und Sagratha ist ein erfahrener Magier. Sie sollte in Ordnung auf ihrem eigenen sein.
+
+Yeah!
+Ja!
+
+Yeah, I have the money. Give me FIFTEEN minutes, and Bring it on!
+Ja, ich habe das Geld. Gib mir fünfzehn Minuten, und holen Sie es an!
+
+Yeah, I have the money. Give me FIVE minutes, and Bring it on!
+Ja, ich habe das Geld. Gib mir fünf Minuten, und holen Sie es an!
+
+Yeah, I have the money. Give me TEN minutes, and Bring it on!
+Ja, ich habe das Geld. Gib mir zehn Minuten, und holen Sie es an!
+
+Yeah, I need one.
+Ja, ich brauche ein.
+
+Yeah, Nard's sailors saved my life and brought me here!
+Ja, Nard Matrosen mein Leben gerettet und brachte mich hier!
+
+Yeah, but I would like to make sure I get a reward.
+Ja... Aber ich würde gerne sichergehen, dass ich eine Belohnung bekomme.
+
+Yeah, but what reward will I get?
+Hm. Aber was für eine Belohnung werde ich bekommen?
+
+Yeah, it was my grand-grand-grandfather.
+Ja, es war mein Enkel Urgroßvater.
+
+Yeah, she might be back soon.
+Ja, sie könnte bald wieder.
+
+Yeah, sign me up!
+Ja, melden Sie mich an!
+
+Yeah, sure! I'm brave as Simon.
+Ja sicher! Ich bin mutig wie Simon.
+
+Yeah, sure? What do you need?
+Ja sicher? Was brauchst du?
+
+Yeah, teach them a lesson! Keep going!
+Ja, lehren sie eine Lektion! Mach weiter!
+
+Yeah, they are.
+Ja sie sind.
+
+Yeah, you're right.
+Ja, du hast recht.
+
+Yeah... I also found a few old blueprints. We don't need this crap, you can put it on your @@.
+Ja ... Ich fand auch ein paar alten Baupläne. Wir brauchen nicht diesen Mist, können Sie es auf Ihrem @@ setzen können.
+
+Years later, someone then started giving gifts to the poor childrens on that date. It sticked, and now people usually trade gifts each other on the date.
+Jahre später, jemand dann begann an diesem Tag Geschenke an die armen Kinder zu geben. Es klebte, und die Menschen jetzt in der Regel Geschenke sie am Tag handeln.
+
+Yellow
+Gelb
+
+Yellow Dye
+Gelber Farbstoff
+
+Yellow Skull Slime
+
+
+Yellow Slime
+Gelber Schleim
+
+Yellow Slime Mother
+
+
+Yellow Spark
+
+
+Yellow Switch#EP
+
+
+Yep, I bring them for you!
+Ja, ich bringe sie für Sie!
+
+Yep, I never fly in these days.
+Ja, ich habe nie in diesen Tagen fliegen.
+
+Yep. There was a cursed mouboo on the road.
+Ja. Es war ein verfluchter mouboo auf der Straße.
+
+Yerba Mate
+
+
+Yes
+Ja
+
+Yes I do... I sell %s %s for the small amount of %s GP. Interested? %%%%p
+
+
+Yes please.
+
+
+Yes sir. I will help them.
+Jawohl. Ich werde ihnen helfen.
+
+Yes!
+Ja!
+
+Yes! Here you are.
+Ja! Hier sind Sie ja.
+
+Yes! History is the best!
+
+
+Yes! It is heavy.
+Ja! Es ist schwer.
+
+Yes! We'll sail west, and find legendary lands!
+
+
+Yes, %d
+Ja, %d
+
+Yes, Chief Oskari suspects a sabotage.
+Ja, vermutet Chef Oskari eine Sabotage.
+
+Yes, I accept the pendant!
+Ja, ich akzeptiere die Anhänger!
+
+Yes, I am a mouboo. Why? Can't a mouboo be a dangerous bandit?!
+Ja, ich bin ein mouboo. Warum? Kann kein mouboo einen gefährlichen Banditen sein ?!
+
+Yes, I am a mouboo. Why? Can't a mouboo be a law and order enforcer?!
+Ja, ich bin ein mouboo. Warum? Kann kein mouboo ein Gesetz und Ordnung Enforcer sein ?!
+
+Yes, I am sure.#0
+Ja, ich bin sicher.
+
+Yes, I am sure.#1
+Ja, ich bin sicher.
+
+Yes, I am.
+Ja, bin ich.
+
+Yes, I can craft Savior Pants. But it is not cheap. I'll need Platinum, Iridium, and Mylarin Dust. And gold. Much gold.
+Ja, ich kann Heiland Hosen herstellt. Aber es ist nicht billig. Ich brauche Platin, Iridium und Mylarin Staub. Und Gold. Viel Gold.
+
+Yes, I can craft many things. In addition to plating and improving armor, I can craft smaller items made of gold and other metals.
+Ja, ich kann viele Dinge herstellt. Neben der Plattierung und Rüstung zu verbessern, kann ich kleinere Gegenstände aus Gold und anderen Metallen herstellt.
+
+Yes, I did. There was only an unlocked secret window.
+Ja, habe ich. Es gab nur ein entsperrt geheime Fenster.
+
+Yes, I do.
+Ja, habe ich.
+
+Yes, I have herbs. I assume the risks.
+Ja, ich habe Kräuter. Ich gehe davon aus, die Risiken.
+
+Yes, I have them right here.
+
+
+Yes, I know when next Alliance's Council meeting will be. No, I don't need anything.
+Ja, ich weiß, wenn nächste Sitzung der Allianz des Rates sein wird. Nein, ich brauche nichts.
+
+Yes, I need %d apples.
+
+
+Yes, I need to get out of here the earliest possible.
+Ja, ich muss so früh wie möglich von hier raus.
+
+Yes, I remember that one! I welcomed him in the libary and showed him around. But I didn't have the impression he was really listening to what I was saying, though that's hard to tell with the mask.
+Ja, ich erinnere mich, dass man! Ich begrüßte ihn in der Bibliothek und zeigte ihn herum. Aber ich hatte nicht den Eindruck, dass er wirklich zuhörte, was ich sagte, obwohl das schwer mit der Maske zu erzählen.
+
+Yes, I want to find out who I am.
+Ja, ich möchte, um herauszufinden, wer ich bin.
+
+Yes, I would like to explore!
+
+
+Yes, I would like to go back to Artis.
+
+
+Yes, I would like to go back to the Swamps.
+
+
+Yes, I would like to go to Asphodel Moors!
+
+
+Yes, I'll go.
+Ja, ich werde gehen.
+
+Yes, I'll help you.
+Ja, ich werde dir helfen.
+
+Yes, I'll pay with Common Carp.
+Ja, ich werde mit Karpfen bezahlen.
+
+Yes, I'll pay with Grass Carp.
+Ja, ich werde mit Graskarpfen bezahlen.
+
+Yes, I'll pay with Roach.
+Ja, ich werde mit Roach bezahlen.
+
+Yes, I'm awesome, praise me more.
+Ja, ich bin fantastisch, lobe mich mehr.
+
+Yes, I'm coming from Tulimshar.
+Ja, ich komme aus Tulimshar.
+
+Yes, I'm done with it.
+
+
+Yes, and there was no signs of a fight.
+Ja, und es gab keine Anzeichen eines Kampfes.
+
+Yes, as you see, the costs are high. Prepare yourself.
+Ja, wie Sie sehen, sind die Kosten hoch. Bereiten Sie sich.
+
+Yes, but I like windy days.
+Ja, aber Ich mag windigen Tagen.
+
+Yes, courageous and worthy adventurer. You did well!#0
+
+
+Yes, courageous and worthy adventurer. You did well!#1
+
+
+Yes, deal. Gimme the gold ring.
+Ja, beschäftigen. Gib mir den goldenen Ring.
+
+Yes, deal. Gimme the silver ring.
+Ja, beschäftigen. Gib mir den silbernen Ring.
+
+Yes, did you really think I was some kind of monster that would try to poison you in my own house?
+Ja, haben Sie gedacht, wirklich ich eine Art Monster ist, dass man versuchen würde, in meinem eigenen Hause zu vergiften?
+
+Yes, everyone thinks he is competent and Elias have a report of a masked man.
+Ja, jeder denkt, dass er zuständig ist, und Elias hat einen Bericht von einem maskierten Mann.
+
+Yes, everything is going great, thank you!
+Ja, alles groß wird, danke!
+
+Yes, exactly. Thanks for the rescue. I must guard this area from the caves, if you need, just call me.
+Ja genau. Vielen Dank für die Rettung. Ich muss diesen Bereich von den Höhlen schützen, wenn Sie brauchen, rufen Sie mich einfach.
+
+Yes, here they are.
+Ja, hier sind sie.
+
+Yes, here!
+
+
+Yes, it is a really sweet deal, believe me!
+Ja, es ist ein wirklich süßes Abkommen ist, glauben Sie mir!
+
+Yes, many thanks. This will help me a lot.
+Ja, vielen Dank. Dies wird helfen mir sehr.
+
+Yes, of course!
+Ja natürlich!
+
+Yes, of course.
+Ja natürlich.
+
+Yes, of course. We have good relations with Hurnscald Town, so you're welcome.
+Ja natürlich. Wir haben gute Beziehungen mit Hurnscald Stadt, so Nichts zu danken.
+
+Yes, of course. Without a sweat.
+Ja natürlich. Ohne Schweiß.
+
+Yes, one
+
+
+Yes, please use my blood to save lifes.
+Ja, bitte benutzen mein Blut, Leben zu retten.
+
+Yes, please, book me a bed.
+Ja, bitte, buchen Sie mir ein Bett.
+
+Yes, please.
+Ja bitte.
+
+Yes, power allows us a future of our choosing.
+
+
+Yes, take it.
+Ja, nehmen Sie es.
+
+Yes, take them.
+Ja, nehmen Sie sie.
+
+Yes, the Blue Sage will see you.
+Ja, die Blue Sage werden Sie sehen.
+
+Yes, the cursed Mouboo you told me earlier, on the way out.
+Ja, die verfluchte Mouboo Sie hat mir gesagt, früher, auf dem Weg nach draußen.
+
+Yes, try to summon the Yeti King in Tulimshar Sewers. Make sure you have someone else with you to help.
+
+
+Yes, uhh, very interesting indeed. Haha. I better leave...
+Ja, uhh, sehr interessant in der Tat. Haha. Ich besser lassen ...
+
+Yes, unless you're doing something VERY special, a Wooden Log is what you need.
+Ja, es sei denn, Sie etwas Besonderes tun, ein Holzscheit ist das, was Sie brauchen.
+
+Yes, we have @@!
+Ja, wir haben @@!
+
+Yes, you are now personel! Doesn't it feels exciting? Please tell me it does, I have nothing else to convince you to go otherwise.
+
+
+Yes, you can count it.
+Ja, man kann es zählen.
+
+Yes, you'll be fired.
+Ja, werden Sie gefeuert werden.
+
+Yes.
+Ja.
+
+Yes. Frostia is a city-estate, and is ruled by me, King Gelid Frozenheart II.
+Ja. Frostia ist eine Stadt-estate, und wird von mir, König Gelid Frozenheart II ausgeschlossen.
+
+Yes. I can. But this is irreversible. Are you sure you want this?
+
+
+Yes. I mean, yes, Pihro and Pyndragon will fancy you an airship.
+
+
+Yes. Let me try to open this.
+Ja. Lassen Sie mich versuchen, diese zu öffnen.
+
+Yes. What do you need help with?
+Ja. Was brauchen Sie Hilfe?
+
+Yes? Have you looked her house for signs of battle?
+Ja? ihr Haus auf Anzeichen von Kampf Haben Sie sich?
+
+Yet, I could burn %d %s to keep the house just as warm, maybe even cozier, and the Blue Sage would be none the wiser. Fire is fire, warmth is warmth.
+
+
+Yeti
+Yeti
+
+Yeti Claw
+Yeti Klaue
+
+Yeti Mask
+Yeti Mask
+
+Yeti#0211Cindy
+
+
+Yeti#0211Guard
+
+
+Yetifly
+Yetifly
+
+Yetifly the Mighty
+Yetifly die Mighty
+
+Yety Tank Top
+Yeti Tank Top
+
+Yeye can press @@ to sit, which will allow you to heal faster.
+Yeye kann @@ sitzen drücken, die Sie schneller heilen können.
+
+Yeye don't need to train here anymore! Let's head back to the ship before the sun sets, shall we?
+Yeye braucht nicht mehr hier zu trainieren! Lassen Sie uns zurück zum Schiff, bevor die Sonne untergeht, sollen wir?
+
+Yeye is not paying for your food and is not a sailor like us! You should start standing on your own feet.
+Yeye zahlt nicht für dein Essen und ist kein Seemann wie wir! Du solltest lernen auf eigenen Füßen zu stehen.
+
+Yeye, are you finally ready to go?#0
+
+
+Yeye, are you finally ready to go?#1
+
+
+Yeye, very good, you took the clothes.
+Yeye, sehr gut, nahm man die Kleidung.
+
+Yikes, the Moubootaur!
+Huch, die Moubootaur!
+
+Yo, girl.#0
+
+
+Yo, good joob killing the Fire Goblins. Do you have everything I've asked for?
+Yo, gute Arbeit das Feuer Goblins töten. Haben Sie alles, was ich gefragt habe?
+
+Yo, man.#1
+
+
+You already claimed a reward today! Come back tomorrow, and remember to wear GREEN!
+Sie behauptet, bereits eine Belohnung heute! Kommen Sie morgen wieder, und denken Sie daran zu tragen GRÃœN!
+
+You already delivered @@ high-quality patches of white fur.
+Sie haben bereits geliefert @@ hochwertige Flecken von weißem Fell.
+
+You already got all power I could grant you!
+Sie haben bereits alle Macht ich dir gewähren könnte!
+
+You already got the money. Go there and pay ##B Hurnscald ##b a visit. The ##B mayor ##b should be able to help you.
+
+
+You already have this.
+
+
+You already helped us today. Come back tomorrow.
+Sie half uns schon heute. Komm morgen zurück.
+
+You already ran this command today. Please try again at a later time.
+Sie lief bereits diesen Befehl heute. Bitte versuchen Sie es erneut zu einem späteren Zeitpunkt.
+
+You already registered. Waiting for your partner...
+Du bist schon registriert. Warte bitte auf deinen Partner...
+
+You also can't stay there forever! You will have about 20 minutes to entirely clear it out and defeat the last boss.
+Sie können auch nicht für immer dort bleiben! Sie werden etwa 20 Minuten Zeit haben, völlig es zu räumen und den letzten Boss zu besiegen.
+
+You also cannot send any boxes before eating any you've received, but Demure is an exception for this rule.
+Sie können auch keine Boxen senden, bevor eine haben Sie erhalten, aber Demure ist eine Ausnahme für diese Regel zu essen.
+
+You also find @@ GP with it.
+Sie finden auch @@ GP mit ihm.
+
+You also gained a @@. Bows are very slow, so you should talk to the Blacksmith to make a Quiver.
+Sie gewann auch eine @@. Bögen sind sehr langsam, so dass Sie mit dem Schmied sprechen sollte einen Köcher zu machen.
+
+You also get access to a party chat, and there are no compromises, so it is a perfect choice for a raid.
+Sie erhalten auch Zugang zu einem Party-Chat bekommen, und es gibt keine Kompromisse, so ist es eine perfekte Wahl für einen Überfall.
+
+You also get points for participation, exchange them with Aurora back in Tulimshar before event ends.
+
+
+You also need @@/@@ Mob Points to improve thief skills.
+Sie müssen auch @@ / @@ Mob Punkte Dieb Fähigkeiten zu verbessern.
+
+You are NO LONGER EXILED from %s by %s.
+
+
+You are NOT allowed to leave here!
+Sie sind hier nicht verlassen dürfen!
+
+You are REMOVING an item option.
+
+
+You are a @@º degree mage. This book allows you many new possibilities.
+
+
+You are a master chef, looking at you inspires Maxime.
+
+
+You are a mere %s, but you may be a hero... Find me again...
+
+
+You are about to accept a high-risk quest. You cannot complete it alone.
+Sie sind dabei einen Hochrisiko-Quest zu akzeptieren. Sie können es nicht allein vollenden.
+
+You are allowed to fill your bottles, but BE SURE TO PAY!
+Sie dürfen Ihre Flaschen füllen, aber sicher sein, zu bezahlen!
+
+You are already at the Mana Plane of Existence.
+Sie sind bereits im Mana Ebene der Existenz.
+
+You are already fully trained. You should go to Tulimshar, but if you want a bonus task, please kill a @@.
+Sie sind bereits voll ausgebildet. Sie sollten zu Tulimshar gehen, aber wenn Sie einen Bonus Aufgabe möchten, wählen Sie bitte eine @@ töten.
+
+You are already fully trained. You should go to Tulimshar. I may have another task for you later, but you are too weak now, get some levels.
+Sie sind bereits voll ausgebildet. Sie sollten zu Tulimshar gehen. Ich kann später für Sie eine andere Aufgabe haben, aber Sie sind jetzt zu schwach, einige Ebenen erhalten.
+
+You are carrying duplicates of the same item. Sorry, but I have no idea which one you want to tweak.
+
+
+You are close... You are almost there!
+Sie sind in der Nähe ... Sie sind fast da!
+
+You are completly overwhelmed by your magic.
+Sie sind durch Ihre Magie völlig überwältigt.
+
+You are currently at @@.
+Sie befinden sich in @@.
+
+You are currently hunting @@/10000 @@.
+Sie sind auf der Jagd zur Zeit @@ / 10000 @@.
+
+You are currently hunting @@/10000 @@. Do you want to switch?
+Sie sind auf der Jagd zur Zeit @@ / 10000 @@. Haben Sie wechseln?
+
+You are currently tasked with killing @@. As a reminder, you can usually find them where we grow our crops.
+
+
+You are dead.
+Du bist tot
+
+You are dead. Aborting.
+Du bist tot. Aborting.
+
+You are doing GREAT! Keep slaying them, hahaah!
+Das machst du toll! Halten Sie Erschlagen sie, hahaah!
+
+You are doing some progress. There are about 4 quests on the mines, 1 outside walls, and 10 on the town. Some require level, so talk to people again sometimes.
+Sie sind dabei einige Fortschritte. Es gibt etwa 4 Quests auf den Minen, 1 Außenwand und 10 auf der Stadt. Einige verlangen Ebene, so sprechen Sie mit Menschen wieder manchmal.
+
+You are entering on a PVP Area with lowered death penalty.
+Sie betreten auf einem PVP Gebiet mit gesenktem Todesstrafe.
+
+You are exhausted, you should rest @@.#0
+
+
+You are exhausted, you should rest @@.#1
+
+
+You are exiled from this town and therefore, unable to use the Menhir.
+
+
+You are full of wine, my friend...
+Du bist voll mit Wein, mein Freund...
+
+You are handed the Land of Fire Gazette. You look at the headline...
+Sie sind das Land des Feuers Gazette geben. Sie schauen auf die Ãœberschrift ...
+
+You are holding a few items of mine...
+
+
+You are hurt, and cannot use this.
+Sie sind verletzt, und dies nicht verwenden können.
+
+You are just a random stranger trying to steal adventurer data, aren't you?? %%e
+
+
+You are killing @@/10 @@. They usually are near the mine's Inn.
+Sie töten @@ / 10 @@. Sie sind in der Regel in der Nähe der Mine Inn.
+
+You are killing @@/100 @@. It's still in progress.
+Sie töten @@ / 100 @@. Es ist immer noch im Gange.
+
+You are killing @@/200 @@ at the cave.
+Sie töten @@ / 200 @@ in der Höhle.
+
+You are killing @@/25 @@ at the cave. Good progress!
+Sie töten @@ / 25 @@ in der Höhle. Gute Fortschritte!
+
+You are killing @@/50 @@ at the cave.
+
+
+You are level @@/@@. Keep building levels, you need them!
+Sie sind Ebene @@ / @@. Halten Sie Baulibellen, müssen Sie sie!
+
+You are mostly in control of your magic.
+Sie sind meist in der Steuerung Ihrer Magie.
+
+You are not strong enough to survive this trip.
+Sie sind nicht stark genug, um diese Reise zu überleben.
+
+You are not using a weapon for a merciful last blow.
+
+
+You are not welcome on this island.
+
+
+You are not worthy!
+Du bist es nicht wert!
+
+You are not worthy...
+Du bist es nicht wert...
+
+You are now at Candor Battle Cave at @@'s request.
+Sie befinden sich nun in Candor Schlacht Cave bei @@ 's Anfrage.
+
+You are now at Candor.
+
+
+You are now at Porthos - The Town of Portals.
+
+
+You are now at the Christmas Workshop.
+Sie befinden sich nun in der Weihnachtswerkstatt.
+
+You are now at the Contributor's Cave.
+Sie befinden sich nun in der Höhle Feed abonnieren.
+
+You are now at the Magical Forest.
+Sie befinden sich jetzt im Zauberwald.
+
+You are now at the Mana Plane of Existence, at the Contributor's Cave.
+Sie befinden sich nun in der Mana Ebene der Existenz, in der Höhle des Profis.
+
+You are now at the Mana Plane of Existence, at the Floating Island of Aeros.
+Sie befinden sich nun in der Mana Ebene der Existenz, auf der Floating Island von Eros.
+
+You are now at the Mana Plane of Existence, at the Magical Forest.
+Sie befinden sich nun in der Mana Ebene der Existenz, im Zauberwald.
+
+You are now at the Valentine Highlands.
+Sie befinden sich nun auf den Valentine Highlands.
+
+You are now divorced!
+Du bist jetzt geschieden!
+
+You are part of the "@@" guild.
+
+
+You are perfectly in control of your magic.
+Sie sind perfekt in die Kontrolle über Ihre Magie.
+
+You are pushed back violently. There is probably some way to break this barrier.
+
+
+You are pushed back with absolute force!
+
+
+You are pushed back with extreme force!
+
+
+You are somewhat in control of your magic.
+Sie sind ein wenig Kontrolle über Ihre Magie.
+
+You are the guild's "%s", and you contribute with %02d%% EXP.
+
+
+You are too weak for my last task, please come back later with some levels.
+Sie sind zu schwach für meine letzte Aufgabe, bitte kommen Sie später mit einigen Ebenen zurück.
+
+You are too weak for my task, please come back later with some levels.
+Sie sind zu schwach für meine Aufgabe, kommen Sie bitte später mit einigen Ebenen zurück.
+
+You are too weak to kill one and impress him, so please, bear my son.
+Sie sind zu schwach, einen zu töten und beeindrucken ihn, so wenden Sie sich bitte, tragen mein Sohn.
+
+You are trying to kill a @@.
+Sie versuchen, eine @@ zu töten.
+
+You are trying to open the @@th pin. What will to do?
+Sie versuchen den @@ th Stift zu öffnen. Was tun?
+
+You are very welcome.
+Du bist herzlich Willkommen.
+
+You are weird, I have to go sorry.
+
+
+You are weird, I have to go sorry.#0
+Du bist doch verrückt. Ich muss hier weg.
+
+You are weird, I have to go sorry.#1
+Du bist doch verrückt. Ich muss hier weg.
+
+You are weird, I have to go, sorry.
+
+
+You are welcome here, but don't overstay your welcome and leave as soon as possible.
+
+
+You aren't strong enough.
+Sie sind nicht stark genug.
+
+You ask yourself: What is the teddy looking for? How can I help him?
+
+
+You awake a long forgotten potential, and feel ready to take over the world.
+
+
+You barely know these caves.
+
+
+You better find a way to travel back in time soon!
+
+
+You better have it ready, because I have the Coal with me!
+Sie besser haben es fertig, weil ich die Kohle mit mir haben!
+
+You bring me proof of completing my 'mission,' along with some water and I can dispose of the evidence by turning them into %s
+
+
+You broke the %s into two parts, but you crushed one of them.
+
+
+You brought me 5 @@ ! Here is your @@, as promised.
+Sie brachte mir 5 @@! Hier ist Ihre @@, wie versprochen.
+
+You buried @@ @@.
+Du hast @@ @@ begraben.
+
+You can allocate point on those attributes every time you level up.
+Sie können Punkt auf diesem Attribute zuweisen jedes Mal, wenn Sie Stufe nach oben.
+
+You can also make money ##Bdoing quests##b. Elmo will tell you almost every quest which can be done in Candor.
+
+
+You can also manually stop it at any time with: @droprate default
+Sie können sie auch jederzeit manuell stoppen mit: @droprate Standard
+
+You can also manually stop it at any time with: @exprate default
+Sie können sie auch jederzeit manuell stoppen mit: @exprate Standard
+
+You can also modify your email with %s.
+
+
+You can also obtain ingots by melting down equipment. The Meltdown forge is in Nivalis, very far from Tulimshar.
+
+
+You can also pick and drag items from one window into the other but this will move all items of this kind.
+Sie können auch wählen, und ziehen Sie die Elemente aus einem Fenster in die anderen, aber dies wird alle Artikel dieser Art zu bewegen.
+
+You can also read the [@@news|server news@@], or even [@@https://tmw2.org/news|older entries@@].
+[: //Tmw2.org/news | ältere Einträge @@ @@ https] | [Server Nachrichten @@ @@ news], oder auch Sie können auch den lesen.
+
+You can also use PLANT KINGDOM to spawn several plants at once, too. Let's make this world more green.
+Sie können auch auf einmal auch Pflanzenreich Laich mehrere Pflanzen verwenden. Lassen Sie uns diese Welt mehr grün.
+
+You can also visit our website. And if you want to assist on this server (TMW2: ML), you're welcome too!
+Sie können auch unsere Website besuchen. Und wenn Sie auf diesem Server unterstützen möchten (TMW2: ML), Sie sind willkommen zu!
+
+You can always come to #devel on our Discord, or drop by #landoffire on IRC.
+
+
+You can always try again another day!
+Sie können jederzeit an einem anderen Tag versuchen Sie es erneut!
+
+You can be thankful later. Aren't you excited to see what exactly was on that blueprint? Go on, enjoy it! %%G
+
+
+You can become a Monster Hunter by signing up with %s, near the Market.
+
+
+You can become a hero by completing every quest in a certain location.
+Sie können einen Helden werden, indem jede Quest in einem bestimmten Ort abgeschlossen.
+
+You can bring up to %d other friends with you, but they must be on the same party and map as you and you must be the party leader.
+
+
+You can bug Jesusalva to extend the Battlefield Control skills.
+
+
+You can buy rare items with me, or I can tell you about different cities in our world.
+Sie können seltene Gegenstände mit mir kaufen, oder kann ich Ihnen über die verschiedenen Städte in unserer Welt erzählen.
+
+You can call yourself a pirate now! HAR HAR HAR!!
+
+
+You can change the PIN from ManaPlus char selection screen.
+
+
+You can colaborate with our project though! Just ask on #tmw2-dev, be it on Discord or IRC!
+
+
+You can collect croconuts by killing any tree with it. Then you can break it in half from the inventory screen.
+
+
+You can convert these items in event points and claim rewards at autumn.
+Sie können diese Elemente in Ereignisse Punkten und Anspruch Belohnungen im Herbst konvertieren.
+
+You can craft items in forges. You can use it on your house, or within this forge for a tax.
+Sie können Elemente in schmiedet Handwerk. Sie können es auf Ihrem Haus oder in dieser Schmiede für eine Steuer.
+
+You can donate blood again in %s
+
+
+You can donate up to %s GP.
+
+
+You can drag and drop an item to the NPC window or select an item through your inventory.
+Du kannst den Gegenstand direkt per Drag & Drop ins NPC Fenster verschieben, oder den Gegenstand in deinem Inventar auswählen.
+
+You can easily identify fishing spots, small bubbles and fishes are visible from the surface.
+Sie können Angelplätze, kleine Blasen und Fische leicht identifizieren sind von der Oberfläche sichtbar.
+
+You can enter when clock ticks :15, and the game begin when the clock ticks :25 if anyone is around. This is to match with Call of Dusty event.
+
+
+You can even join the project there. Contributors are greatly appreciated! %%N
+
+
+You can explore the city as you want, but if I were you, I would ##Btouch the Soul Menhir##b, north of here, to don't respawn at Candor.
+
+
+You can explore the city on the meanwhile, I need to inspect the data.
+Sie können die Stadt auf dem mittlerweile erkunden, muss ich die Daten überprüfen.
+
+You can fill this box with the following items:
+
+
+You can find both huge swamps, as huge desertic areas near and on it.
+Sie können beide riesige Sümpfe, als riesige desertic Gebiete in der Nähe und auf ihm finden.
+
+You can find for a good price desert equipment and some kind of dyes. You find all sort of crafters, artisans and warriors here.
+Sie können für eine guten Preis Wüste Ausrüstung und eine Art von Farbstoffen zu finden. Sie finden alle Arten von Handwerker, Handwerker und Krieger hier.
+
+You can find it in the bandit market, but it is EXPENSIVE.
+Sie können es in den Banditen Markt finden, aber es ist teuer.
+
+You can find more info about this on these links:
+
+
+You can find out the monster strength by using "@monsterinfo <English Monster Name>". Check the level in it!
+
+
+You can gain rare treasures, even. Come register for this special program. It's free!
+
+
+You can get @@ anywhere, although here is a little easier to get.
+Sie können @@ überall bekommen, obwohl hier ist ein wenig leichter zu bekommen.
+
+You can get Croconut from Crocotree, and fill @@ purchased in the market.
+
+
+You can get daily something from it, but unless you're green like me, you will have no luck...
+Sie können täglich etwas von ihm zu bekommen, aber wenn Sie wie ich grün sind, werden Sie kein Glück haben ...
+
+You can get money in several ways, including by selling monster parts, doing daily quests, gambling, and even becoming the mayor of a town. Read the [@@help://faq|FAQ@@] (opens ingame) for help.
+
+
+You can get up to %d items.
+
+
+You can give @@ to help us, I'll pay you accordingly.
+Sie können @@ geben, uns zu helfen, werde ich Sie entsprechend bezahlen.
+
+You can have my team's helmet, you're now officially a crusader!
+
+
+You can have this %s as a token of gratitude. But no, you cannot pass, so keep going!
+
+
+You can hear creaking planks and a sail flapping in the storm. A ship?
+
+
+You can kill @@ on the desert. It's a dangerous area though, so take care.
+Sie können auf der Wüste töten @@. Es ist eine gefährliche Gegend aber so kümmern.
+
+You can make a party of 1 if you want to do it alone. This, however, is NOT ADVISED.
+
+
+You can make any build you want! But inserted cards cannot be removed!
+
+
+You can move using @@ or, at your choice, by clicking where you want to go.
+Sie können mit Hilfe bewegen @@ oder, nach Wahl durch Klicken wo Sie hinwollen.
+
+You can only concede or vouch a title for people of academic rank inferior than your own.
+
+
+You can only have one mercenary active at a time, they die and will leave after 10 minutes - logged in or not.
+Sie können nur einen Söldner zu einer Zeit aktiv haben, sie sterben und nach 10 Minuten einwirken lassen - angemeldet oder nicht.
+
+You can only insert up to 3 (three) cards per weapon!
+
+
+You can only try every %d minutes.
+
+
+You can optionally send a @@ along the chocolate box, so the person knows it was you who sent the chocolate.
+Optional können Sie eine @@ entlang der Schokolade Box senden, so dass die Person weiß, dass du es bist, der die Schokolade geschickt.
+
+You can read some words engraved inside this rock, but some are erased by wind and time:
+
+
+You can rent this house to make it yours.
+Sie können dieses Haus mieten, um es Ihnen zu machen.
+
+You can save both items and money at a bank.
+Sie können bei einer Bank beiden Elemente und Geld sparen.
+
+You can scry other players with: %s
+
+
+You can see all your equipment by pressing the F3 key.
+Sie können alle Ihre Geräte sehen, indem Sie die F3-Taste drücken.
+
+You can see in distance two portals working, and two portals offline.
+Sie können offline in Abstand zwei Portale arbeiten und zwei Portale sehen.
+
+You can sense powerful cloaking magic emanating from this sign. With your superior magic, you dismiss the enchantment, and see what the cliffs have been hiding all along...
+
+
+You can tell me the details about why you're here on the way out...
+Sie können mir die Details erzählen, warum Sie hier auf dem Weg nach draußen sind ...
+
+You can then trade these coins for items with me!
+Anschließend können Sie diese Münzen nach Artikeln mit mir handeln!
+
+You can trade them for quite nice items with my friend over there.
+Sie können dort sie für ganz nette Einzelteile mit meinem Freund handeln.
+
+You can transfer it with "@grantpower" command. Please contact a GM for more info.
+
+
+You can use "%s <monster_name>" to obtain specified monster drop list and stats.
+
+
+You can use "@monsterinfo <monster name>" to gauge a monster strength.
+
+
+You can use @@ to summon some maggots. That depends on your magic level, of course.
+Sie können einige Maden verwenden @@ zu rufen. Das hängt von Ihrer magischen Ebene, natürlich.
+
+You can use it again in %s.
+
+
+You can use it again in @@.
+Sie können es wieder in @@ verwenden.
+
+You can use it to clear your stats, to start freshly if you know what I mean...
+Sie können es verwenden, um Ihre Statistiken zu löschen, frisch zu beginnen, wenn Sie wissen, was ich meine ...
+
+You can use many diverse items to lure fishes.
+Du kannst viele verschiedene Gegenstände nutzen, um Fische anzulocken.
+
+You can use super password "mouboo" to unlock the door.
+
+
+You can't afford my services for that amount. Sorry.
+Sie können meine Dienste für diesen Betrag nicht leisten. Es tut uns leid.
+
+You can't afford my work! Do some odd jobs and come back.
+Sie können meine Arbeit nicht leisten! Haben einige Gelegenheitsjobs und kommen zurück.
+
+You can't go in there!
+Sie können da nicht rein!
+
+You can't go there!
+Du kannst da nicht weiter!
+
+You can't pass this barrier while people are fighting inside!
+Sie können diese Schranke nicht passieren, während die Menschen im Inneren kämpfen!
+
+You can't sleep here during daytime!
+Sie können hier nicht während des Tages schlafen!
+
+You can, and @@, register on both programs.
+
+
+You can, however, use ##BCtrl##b to auto-select a monster and attack them. This usually also collects drops, but press Z to be sure.
+
+
+You cannot be fighting to do this trip.
+Sie können nicht kämpfen, diese Reise zu tun.
+
+You cannot begin this now, try again later.
+
+
+You cannot bring anything to the arena. Please put everything into the storage.
+
+
+You cannot bury this item!
+Sie können diesen Artikel nicht begraben!
+
+You cannot carry the fruits.
+
+
+You cannot complete the casting correctly!
+
+
+You cannot decipher what's written in there.
+Sie können nicht entziffern, was da drin geschrieben.
+
+You cannot drop this item!
+Sie können diesen Artikel nicht fallen lassen!
+
+You cannot enter here while you have event weapons or a cart.
+
+
+You cannot exile yourself!
+
+
+You cannot help me at all. You lack any skill to do so.
+Sie können mir nicht helfen. Ihnen fehlt jede Fähigkeit, dies zu tun.
+
+You cannot leave this room until either ALL yetis are dead, or you are dead yourself.
+Sie können diesen Raum nicht verlassen, bis entweder alle Yetis tot sind, oder du bist tot selbst.
+
+You cannot part with this item!
+Sie können nicht mit diesen Titeln trennen!
+
+You cannot pay.
+Sie können nicht zahlen.
+
+You cannot raise crafting skills beyond level @@!
+Sie können Fähigkeiten jenseits Ebene Crafting @@ nicht erhöhen!
+
+You cannot sit idle for too long gaining EXP!
+Sie können nicht untätig sitzen zu lange EXP zu gewinnen!
+
+You cannot understand what's written.
+Sie können nicht verstehen, was geschrieben ist.
+
+You cannot visit Nivalis before obtaining level 20.
+
+
+You cannot visit the Sponsor's Inn!
+Sie können nicht den Sponsor Inn besuchen!
+
+You cannot vote on yourself!
+Sie können nicht auf sich selbst abstimmen!
+
+You carefully pick a @@. It looks delicious! You feel you'll need it sooner than you expect.
+Sie wählen sorgfältig @@. Es sieht lecker aus! Sie glauben, Sie werden es früher benötigen, als Sie erwarten.
+
+You caught a @@ but had no room in your inventory to carry it.
+Du hast einen @@ gefangen, aber dein Inventar ist voll - du kannst ihn nicht mitnehmen.
+
+You clearly don't have money, so let's not bother with that right now.#0
+
+
+You clearly don't have money, so let's not bother with that right now.#1
+
+
+You completed your training, so you're getting 50 bonus experience points. If you level up, use your stat points wisely!
+
+
+You could barely fit on it, and your clothes will be ruined, in need of washing.
+Sie konnte sich kaum auf sie passen, und Ihre Kleidung ruiniert werden, brauchen Waschen.
+
+You could find some bandits in the Bandit cave. Yeah, the name wasn't given for nothing.
+Sie könnten ein paar Banditen in der Bandit Höhle finden. Ja, der Name wurde nicht umsonst gegeben.
+
+You could try getting into a city administration. If you can get a citizenship, you can try to elect for an office.
+Sie könnten versuchen, in eine Stadtverwaltung bekommen. Wenn Sie eine Staatsbürgerschaft bekommen, können Sie versuchen, für ein Büro zu wählen.
+
+You could try to get new equipment by doing more quests. You need level to use them, though.
+Sie könnten versuchen, neue Ausrüstung zu erhalten, indem mehr Aufgaben zu tun. Sie müssen Ebene, sie zu benutzen, wenn.
+
+You could try to get on her good side by killing what destroys the forest, or by planting trees.
+Sie könnten versuchen, auf ihre guten Seite zu erhalten, indem das Töten, was den Wald zerstört oder durch das Pflanzen von Bäumen.
+
+You currently could not use GM MAGIC to visit Candor.
+
+
+You currently have @@ @@.
+Du hast im Moment @@ @@.
+
+You currently have @@ GP on your bank account.
+Sie sind zur Zeit @@ GP auf Ihrem Bankkonto haben.
+
+You currently have @@ Monster Points. These points are acquired while killing monsters.
+Sie haben zur Zeit @@ Monster Punkte. Diese Punkte werden erworben, während das Töten von Monstern.
+
+You currently have @@ event points, but for ONLY @@ points I can make a dress for you!
+Sie haben zur Zeit @@ Ereignis Punkte, aber für nur @@ Punkte kann ich ein Kleid für Sie!
+
+You currently have @@ mobiliary credits + GP at your disposal.
+Sie haben zur Zeit @@ Mobiliar Credits + GP zur Verfügung.
+
+You currently have @@ points, @@ boxes of chocolate and @@ love letters.
+Sie haben zur Zeit @@ Punkte, @@ Boxen von Schokolade und @@ Liebesbriefe.
+
+You currently have @@, so if you accept and come back later with @@ Mob Points, I'll mark the bounty as complete.
+Sie haben zur Zeit @@, also wenn Sie später wieder mit @@ Mob Punkten akzeptieren und kommen, ich werde die Prämie als abgeschlossen markieren.
+
+You currently have no Tweaking AP, so you will need to wait %02d minute(s).
+
+
+You currently have: @@ GP and mobiliary credits
+Sie haben zur Zeit: @@ GP und Mobiliar Credits
+
+You dealt with paperwork.
+
+
+You deserve a reward for helping my husband Hinnak, but please, get Oscar's reward first.
+Sie verdienen eine Belohnung für meinen Mann Hinnak helfen, aber bitte, bekommen ersten Oscar Lohn.
+
+You deserve a reward for helping my husband. I can make you a nice gift.
+Sie verdienen eine Belohnung für meinen Mann zu helfen. Ich kann Ihnen ein schönes Geschenk machen.
+
+You did a good job too. Rest a bit, too. There's still one chair.
+Sie haben auch einen guten Job. Seien Sie ein wenig auch. Es gibt noch einen Stuhl.
+
+You did a good job. Rest a bit. There's still one chair.
+Du hast gute Arbeit geleistet. Seien Sie ein wenig. Es gibt noch einen Stuhl.
+
+You did it! You're now on the last stage of this BORING and LONG quest!
+Du hast es geschafft! Sie sind jetzt in der letzten Phase dieses AUSBOHRENS und lange Suche!
+
+You didn't add a item.
+Sie haben keinen Artikel hinzufügen.
+
+You didn't help all my friends yet, and without trainment, I can't send you to such dangerous place as Tulimshar.
+Sie half auch nicht alle meine Freunde noch, und ohne trainment, ich kann dich nicht so Tulimshar auf solche gefährlichen Ort senden.
+
+You didn't lit every torch yet! Hurry up!!
+Sie haben jede Fackel noch nicht beleuchtet! Beeile dich!!
+
+You didn't mine enough @@. The perfect spot is at northeast of this island. It takes a while to them respawn, so don't hurry.
+Du hast nicht von mir genug @@. Der perfekte Ort ist im Nordosten der Insel. Es dauert eine Weile, bis sie respawnen, keine Eile so nicht.
+
+You displayed courage and completed the mission you set yourself to do. But, tell me. Do you care with this world? Do you care enough with it, to set your mind in saving it from evil?
+
+
+You do not have booked an apartment here.
+Sie haben keine Wohnung hier gebucht.
+
+You do not have enough Gold Pieces on your bank account.
+Sie haben nicht genug Goldstücke auf Ihr Bankkonto.
+
+You do not have enough Gold on yourself.
+Sie haben nicht genug Gold auf sich selbst.
+
+You do not have enough bait for fishing here.
+Sie haben nicht genug Köder hier zum Angeln.
+
+You do not have enough magic power for these classes.
+
+
+You do not have enough money.
+
+
+You do not have the required access privileges to use the Super Menu.
+Du hast nicht die nötigen Berechtigungen, um das Super-Menü zu nutzen.
+
+You do not meet all requisites for this skill.
+Sie müssen nicht alle Voraussetzungen für diese Fähigkeit erfüllen.
+
+You do not own an Homunculus.
+Sie besitzen kein Homunculus.
+
+You don't feel so well... And then, you're dead.
+
+
+You don't have @@.
+Sie haben noch @@.
+
+You don't have a party. You're useless to me.
+
+
+You don't have a ring but I can polish the gemstones nonetheless.
+Sie haben keinen Ring, aber ich kann den Edelstein dennoch polieren.
+
+You don't have any %s.
+Sie haben noch kein% s.
+
+You don't have any @@, are you mocking me?
+Du hast keine @@n, willst du mich verscheißern?
+
+You don't have any @@.
+Du hast keine @@.
+
+You don't have enough GP.
+Sie haben nicht genug GP.
+
+You don't have enough agility / is carrying too much to attempt it.
+Sie haben nicht genug Agilität / tragen zu viel, es zu versuchen.
+
+You don't have enough cards of this type to upgrade.
+
+
+You don't have enough gold! You need @@ gp.
+Sie haben nicht genug Gold! Sie müssen @@ gp.
+
+You don't have enough mana to continue. The seal remains active.
+Sie haben nicht genug Mana, um fortzufahren. Die Dichtung bleibt aktiv.
+
+You don't have enough material, sorry.
+Sie haben nicht genug Material, sorry.
+
+You don't have enough money! I am an expensive tailor, I want @@ GP!
+Sie haben nicht genug Geld! Ich bin ein teures Schneider, ich will @@ GP!
+
+You don't have enough money, bring me @@ GP or join an already existing one.
+Sie haben nicht genug Geld, mich bringen @@ GP oder einen bereits bestehenden beitreten.
+
+You don't have enough money, bring me @@ GP.
+Sie haben nicht genug Geld, bringen Sie mir @@ GP.
+
+You don't have enough money. Sorry.
+Sie haben nicht genug Geld. Es tut uns leid.
+
+You don't have enough wood (5 @@) or crafting skills to do it.
+Sie haben nicht genug Holz (5 @@) oder handwerkliche Fähigkeiten, es zu tun.
+
+You don't have everything I asked you for.
+Sie haben nicht alles, was ich Sie gefragt.
+
+You don't have everything I've asked for!
+Sie haben nicht alles, was ich gefragt habe!
+
+You don't have met all requisites, like money and successful crafts, or you already reached the maximum level for this skill.
+Sie haben nicht alle Voraussetzungen erfüllt sind, wie Geld und erfolgreiche Handwerk, oder Sie bereits den Höchstwert für diese Fähigkeit erreicht.
+
+You don't have money.
+Sie haben kein Geld.
+
+You don't have proper equipment for it.
+Sie haben nicht die richtige Ausrüstung dafür.
+
+You don't have that many empty bottles!
+Sie haben nicht so viele leere Flaschen!
+
+You don't have that many!
+Sie haben nicht so viele!
+
+You don't have that, lying is bad for health...
+Sie haben nicht, dass ist schlecht für die Gesundheit liegen ...
+
+You don't have that.
+Sie haben das nicht.
+
+You don't have the Iron Ingot.
+Sie verfügen nicht über die Eisenbarren.
+
+You don't have the Iron Ore.
+Sie haben nicht das Eisenerz.
+
+You don't have the item.
+Sie haben nicht das Element.
+
+You don't have the key.
+Sie haben den Schlüssel nicht.
+
+You don't have the required level to pass this barrier.
+Sie verfügen nicht über die erforderlichen diese Schranke passieren.
+
+You don't have the three Coal lumps.
+Sie verfügen nicht über die drei Kohleklumpen.
+
+You don't hear anything. This chasm must be incredibly deep.
+Sie hören nichts. Diese Kluft muss unglaublich tief sein.
+
+You don't know how the chimney keeps producing smoke. It must be using hiding magic.
+Sie wissen nicht, wie der Schornstein Rauchentwicklung hält. Es muss mit Versteck Magie sein.
+
+You don't look so well, have you already used the %s to defeat the Soul Eater?
+
+
+You don't look too well; let me treat your wounds.
+Sie sehen nicht allzu gut; Lassen Sie mich Ihre Wunden zu behandeln.
+
+You don't need to do both right now, even if you probably will want to. Once any (or both) of them tell me you're an OK person, I'll start helping you.
+
+
+You don't need to talk with any researcher inside, so why bother? Leave!
+
+
+You don't need, nor deserve it.
+Sie brauchen nicht, noch es verdient.
+
+You don't see any slimes from that nest anymore. But did you really get all of them?
+Sie sehen keine Schleime aus diesem Nest mehr. Aber haben Sie wirklich alle?
+
+You don't seem to have any @@ with you!
+Sie scheinen nicht mit Ihnen jede @@ zu haben!
+
+You don't seem to have anything better to do, anyway.
+Sie scheinen nicht, etwas zu haben, besser, auf jeden Fall zu tun.
+
+You don't seem to have enough gold, not even 1 GP...you should really let go of some useless stuff on your inventory.
+Sie scheinen nicht genug Gold zu haben, nicht einmal 1 GP ... Sie sollten wirklich gehen von etwas unnützes Zeug lassen auf Ihrem Inventar.
+
+You done well in getting so far. I didn't thought you would make it.
+Sie gut daran getan, so weit zu bekommen. Ich habe nicht gedacht, Sie würden es machen.
+
+You earned %s Monster Points for winning.
+
+
+You explain the Blue Sage about the sabotage incident details, from the Silk Cocoon to the masked visitor.
+Sie erklären die Blue Sage über die Sabotage Vorfall Details, von den Seiden Cocoon auf den maskierten Besucher.
+
+You explain to Airlia about you wanting to travel to Halinarzo to find clues.
+Sie erklären Airlia über Sie zu reisen, um Halinarzo wollen Hinweise zu finden.
+
+You failed to protect Sagratha...
+Sie scheiterte Sagratha zu schützen ...
+
+You failed to reply to the captcha in time and were arrested for AFK Botting. You can use @jailtime to keep track of time left.
+
+
+You feel refreshed!
+
+
+You find @@ inside!
+Sie finden @@ nach innen!
+
+You find a slot machine or another gambler, and make a bet!
+
+
+You flip the switch. Nothing happens.
+Sie drehen den Schalter. Nichts passiert.
+
+You found @@ out of @@ kids.
+Sie fanden @@ aus @@ Kinder.
+
+You found a Level %d %s!
+
+
+You found a key.
+
+
+You found an old well with a bucket on it! It's time to fill plenty of @@!
+Sie haben einen alten Brunnen mit einem Eimer auf sie! Es ist Zeit zu füllen, viel @@!
+
+You found something!
+Du hast etwas gefunden!
+
+You found the Runestone! You gave it to the party leader.
+
+
+You found the key!
+
+
+You free the world from an evil Dummy.
+Sie befreien die Welt vor einem bösen Dummy.
+
+You gained a @@ for the #1 place on the event. Remember to feed it @@, or it may run away from you.
+
+
+You give up after seeing its reaction, and try your best to resist the temptation of hugging this fluffy ball. Maybe we have another idea?
+
+
+You give up.
+Du gibst auf.
+
+You gladly accept it. But probably better not disturb it for a few days.
+
+
+You go to the training field and stand exactly on the same level with the target. The target is located about 13 meters north of you. You take one arrow and look at Gwendolyn.
+Sie gelangen auf das Trainingsfeld und stehen genau auf der gleichen Ebene mit dem Ziel. Das Ziel befindet sich etwa 13 Meter nördlich von Ihnen. Sie nehmen einen Pfeil und Blick auf Gwendolyn.
+
+You got %d %s!
+Du hast% d% s!
+
+You got %d EXP!
+Du hast% d EXP!
+
+You got %d GP!
+Du hast% d GP!
+
+You got %d JEXP!
+Du hast% d JEXP!
+
+You got %d Monster Points!
+Du hast% d Monster Punkte!
+
+You got %d Real Estate Credits!
+Du hast% d Real Estate Credits!
+
+You got 120,000 XP for completing Mercury's quest.
+Sie haben 120.000 XP für Mercury Quest abgeschlossen.
+
+You got a %d
+Sie haben eine% d
+
+You got a %s!
+Du hast ein% s!
+
+You got a @@ for completing 100+ daily bountyhunter quests!
+Du hast einen @@ für mehr als 100 tägliche Kopfgeldjäger Erfüllen von Aufgaben!
+
+You got a blueprint as reward for Blue Sage Slimes Quest completion.
+Sie haben einen Plan als Belohnung für Blue Sage Slimes Quest-Abschluss.
+
+You got a(n) %s gift!
+Sie haben eine (n)% s Geschenk!
+
+You got lucky and got a(n) %s!
+
+
+You got married to @@!
+Du wurdest mit @@ verheiratet!
+
+You have %d %s
+
+
+You have %d non-counting deaths remaining today.
+
+
+You have @@ magic skill points available.
+Sie haben @@ Zauberfertigkeitspunkte zur Verfügung.
+
+You have @@/@@ magic skill points available.
+Sie haben @@ / @@ Magie Skillpunkte zur Verfügung.
+
+You have a high level. Go to Halinarzo already! You could even, I don't know, search for magic?!
+Sie haben ein hohes Niveau. Gehen Sie bereits zu Halinarzo! Man könnte sogar, ich weiß nicht, für Magie suchen ?!
+
+You have a nice hat.
+Sie haben einen schönen Hut.
+
+You have access to the storehouse now, right? Well, that's where it happened!
+
+
+You have an @@ - Should you give her that?
+Sie haben eine @@ - sollten Sie geben ihr das?
+
+You have an awful case of amnesia. She is the nurse and shipkeeper of this ship, and took care of you when you were unconscious.#0
+
+
+You have an awful case of amnesia. She is the nurse and shipkeeper of this ship, and took care of you when you were unconscious.#1
+
+
+You have arrived at Fortress Island.
+Sie haben bei Fortress Insel angekommen.
+
+You have been EXILED from %s by %s.
+
+
+You have been disqualified - died or left the maze
+
+
+You have been disqualified - illegal weapon: %s
+
+
+You have been disqualified - target was: %s
+
+
+You have been jailed by a GM.
+Du wurdest von einem GM eingesperrt.
+
+You have collect enough evidence, it's time to leave and report.
+Sie haben collect genügend Beweise, es ist Zeit zu gehen und berichten.
+
+You have collected @@/@@ Mob Points.
+
+
+You have completed the Jesusaves Grimorium Quest!
+Sie haben das Jesusaves Grimorium Quest abgeschlossen!
+
+You have gained a special login bonus!
+Sie haben einen speziellen Login Bonus gewonnen!
+
+You have good intentions, be brave, but in a world where power is measured in levels, numbers have more meaning than they should.
+Sie haben gute Absichten, mutig sein, aber in einer Welt, wo die Macht in Ebenen gemessen wird, Zahlen mehr Bedeutung haben als sie sollten.
+
+You have learnt "Barter" in Thief Skills.
+
+
+You have learnt "Divine Protection" level @@.
+
+
+You have learnt "Increase Weight" in Thief Skills.
+
+
+You have more boxes. Wanna try again?
+Sie haben mehr Boxen. Wollen Sie noch einmal versuchen?
+
+You have my eternal gratitute. Here is 2500 GP for your troubles.
+Sie haben meine ewige Dankbarkeit. Hier ist 2500 GP für Ihre Mühen.
+
+You have my eternal gratitute. Here is 500 GP for your troubles.
+Sie haben meine ewig gratitute. Hier sind 500 GP für Ihre Mühen.
+
+You have no idea of how dangerous that item is! I can't simply do it!
+Sie haben keine Ahnung, wie gefährlich dieses Objekt ist! Ich kann nicht einfach tun es!
+
+You have no idea what that means.
+Sie haben keine Ahnung, was das bedeutet.
+
+You have no idea what that poor creature felt!
+Sie haben keine Ahnung, was die arme Tier fühlt!
+
+You have no idea what this piece of equipment is used for.
+Sie haben keine Ahnung, was dieses Stück Ausrüstung für verwendet wird.
+
+You have no proof that you have robbed vaults or sided with Ben Parkison, the Thieves Guild Master.
+Sie haben keinen Beweis dafür, dass Sie Gewölben haben beraubt oder einseitig mit Ben Parkison, die Diebesgilde Meister.
+
+You have no right to take that away from her!
+Sie haben kein Recht, dass von ihr weg zu nehmen!
+
+You have reached the current reward limit for Jhon.
+
+
+You have the right to defend yourself if you believe we were wrong. If we find out it's true, you'll receive an apology gift.
+Sie haben das Recht, sich zu verteidigen, wenn Sie glauben, dass wir falsch waren. Wenn wir es stimmt, herauszufinden, werden Sie eine Entschuldigung Geschenk erhalten.
+
+You have to excuse me, as you might have heard we're having some trouble at the moment and I, as Chief of Nikolai's household staff, have a lot to do.
+Sie haben mich zu entschuldigen, wie Sie gehört haben, könnten wir eine Menge einige Probleme im Moment und ich als Chef des Nikolai Hauspersonal, haben sind, die zu tun.
+
+You have to kill, alone, and this means without the help of the slimes either, nine nests. One in each quadrant.
+Sie müssen töten, allein, und das bedeutet, ohne die Hilfe der Schleime entweder neun Nester. Ein in jedem Quadranten.
+
+You have too many points. I can't allow you to take all at once right now. I'll try to give you 50, and you can come back later!
+
+
+You have:
+Du hast:
+
+You have: @@ Broken crystals
+Sie haben: @@ Gebrochene Kristalle
+
+You haven't provided me enough High-Quality White Fur! Go back to hunting!
+Sie haben uns nicht genug High-Quality weißen Pelz zur Verfügung gestellt! Gehen Sie auf die Jagd zurück!
+
+You haven't provided me the @@ for the base material!
+Sie haben mir nicht die @@ für das Basismaterial zur Verfügung gestellt!
+
+You hear a noise from distance.
+
+
+You hear birds singing! That is what you had to do!
+Sie hören die Vögel singen! Das ist, was Sie zu tun hatte!
+
+You hear shouting directed at you. Sailors from the ship?
+
+
+You hear waterfall opening in distance.
+
+
+You help Benjamin in getting up.
+Sie helfen Benjamin in dem Aufstehen.
+
+You humans are so greedy... Just like me. I have more important things to do, other than waste time with you.
+Ihre Menschen sind so gierig ... Genau wie ich. Ich habe wichtigere Dinge zu tun, andere als Abfall Zeit mit Ihnen.
+
+You insert the Runestone on it and hear a sound.
+
+
+You insert the hook pick inside the lock, and, without applying any tension, you discover there are only @@ pins to set.
+Sie fügen innerhalb des Schlosses den Haken Pick, und ohne jede Spannung anwenden, entdecken Sie, gibt es nur @@ Stifte-Set.
+
+You jump in deep waters.
+Sie springen in tiefen Gewässern.
+
+You just bought it? You won't learn anything from that.
+Sie kauft es gerade? Sie werden nichts davon lernen.
+
+You just delivered %d %s to %s.
+
+
+You just gained a Prism Gift for your bravery!
+
+
+You just gained a Prism Gift, and 2000 Job Exp for your bravery!
+Sie gewann nur ein Prism-Geschenk, und 2000 Job Exp für Ihre Tapferkeit!
+
+You just gained a Supreme Gift, and 2000 Job Exp for your bravery!
+
+
+You just need one fishing rod, although you should take more than one single bait.
+Du brauchst nur eine Angel, aber du solltest mehr als einen einzigen Köder mitnehmen.
+
+You killed so many Pinkies! My wife and I love you!
+Sie töteten so viele Pinkies! Meine Frau und Ich liebe dich!
+
+You killed so many Pinkies, I don't care with the Antennas anymore! They are almost gone!
+Sie töteten so viele Pinkies, ich mehr mit den Antennen nicht! Sie sind fast weg!
+
+You know Jesus Saves hates cheaters, right? If Saulc didn't asked me to double-check stuff...
+Sie wissen, dass Jesus Hates Betrügern rettet, nicht wahr? Wenn Saulc hat mich gebeten nicht zu Vier-Augen-Zeug ...
+
+You know the Tulimshar Magic Council? The big building on Tulimshar North?
+Sie kennen den Tulimshar Magie Rat? Das große Gebäude auf Tulimshar North?
+
+You know the answer can only be @@.
+Sie kennen die Antwort nur sein @@ kann.
+
+You know this, because their big round eyes were shining.
+
+
+You know what is worse? THIS WHOLE CAVE HAVE DEATH PENALTY ON!!!
+Sie wissen, was ist schlimmer? Diese ganze CAVE HAVE TODESSTRAFE ON !!!
+
+You know, he is very experienced and reliable. He might look and act like a kid, but he is at least a century old.
+Sie wissen, ist er sehr erfahren und zuverlässig. Er könnte wie ein Kind aussehen und handeln, aber er ist mindestens ein Jahrhundert alt.
+
+You know, if you're poor, you can't get too close to the Noble district.
+Wissen Sie, wenn Sie arm sind, können Sie nicht zu nahe zu kommen Nobelbezirk.
+
+You lack money or Action Points.
+
+
+You learn fast, good job. These clothes aren't mighty armor, but they'll help.
+
+
+You leave the teddy alone with its pot.
+
+
+You left your fishing spot!
+Du hast deinen Fischplatz verlassen.
+
+You liar, I'll show you to respect woman!
+
+
+You liar, I'll teach you a lesson you won't forget!
+
+
+You lied, and this caused a headache! You should NEVER lie to NPCs, because they may steal your items!
+
+
+You look like you have enough experience to know your way around town...
+
+
+You lose!
+Du verlierst!
+
+You made a cash deposit of @@ GP.
+Sie haben eine Bareinlage von @@ GP.
+
+You make me dance like a monkey
+
+
+You managed to save @@ % of my crops!
+Du hast es geschafft @@% meiner Kulturen zu retten!
+
+You may even obtain ores which you wouldn't otherwise obtain normally, and the drop rate is fixed.
+Sie können sogar Erze erhalten, die man sonst normalerweise nicht erhalten, und die Drop-Rate festgelegt ist.
+
+You may obtain Thief Exp by using @@.
+Sie können mithilfe von @@ Dieb Exp erhalten.
+
+You may pass. The Sage is on the library waiting for you.
+Sie passieren kann. Die Sage ist auf der Bibliothek auf Sie warten.
+
+You might have the Mouboo Figurine, but I don't trust everyone.
+Sie könnten die Mouboo Figur haben, aber ich weiß nicht jeder vertrauen.
+
+You might need to have a @@ equipped for some recipes!
+Möglicherweise müssen Sie eine @@ für einige Rezepte ausgestattet haben!
+
+You must "add" the items you plan on selling, and then press "sell" to confirm. You'll have this time to review.
+
+
+You must %s and chant %s to begin channeling.
+
+
+You must be close to it, and stealing won't change drops! If you fail, just try again! Good luck!
+Sie müssen nah an ihm sein, und Stehlen nicht Tropfen ändern! Wenn Sie scheitern, versuchen Sie einfach noch einmal! Viel Glück!
+
+You must be dressed, and talk to our captain first. He'll give you a mission and unlock the ship main door.#0
+
+
+You must be dressed, and talk to our captain first. He'll give you a mission and unlock the ship main door.#1
+
+
+You must be fast! The guards are also affected.
+
+
+You must be where the Monster King is at 18:30 UTC sharply - no delays allowed!
+Sie müssen sein, wo das Monster King um 18:30 Uhr UTC ist scharf - keine Verzögerungen erlaubt!
+
+You must break all three seals to cross this barrier! For that, walk on them!
+Sie müssen alle drei Siegel brechen, diese Barriere zu überqueren! Dafür geht auf sie!
+
+You must claim all rewards and use any event item BEFORE it ends.
+
+
+You must deposit %s GP, which will be returned if quest is completed.
+
+
+You must find someone willing to buy, they usually will buy almost anything you have, even items which cannot be replaced, so be careful.
+Sie müssen jemanden finden, der bereit zu kaufen, sie werden in der Regel kaufen fast alles, was Sie haben, auch Gegenstände, die nicht ersetzt werden kann, so vorsichtig sein.
+
+You must flip all 5 switches on this cave, and then walk accross the cave blocked with an etheral crystal.
+Sie müssen alle fünf Schalter auf dieser Höhle drehen, und dann über die Höhle mit einem ätherischen Kristall blockiert gehen.
+
+You must go talk with the Obelisk!
+Sie müssen Gespräch mit dem Obelisken gehen!
+
+You must kill them before the crops are gone. I'll reward you, of course.
+Sie müssen sie töten, bevor die Pflanzen verschwunden sind. Ich werde Sie natürlich belohnen.
+
+You must not be using mana to do this trip.
+Sie müssen nicht diese Reise zu tun Mana verwenden.
+
+You must reach level 5 to open this gift.
+Sie müssen erreichen Level 5 dieses Geschenk zu öffnen.
+
+You must then repeat the sequence at the board which will show.
+
+
+You must understand that this honor has never been granted to a non-duck before. You will have access to Duck Dungeon, a training grounds for Initiates.
+
+
+You need %d %s. I'll start showing you sequences of colors.
+
+
+You need 2x @@ to cast this skill.
+Sie müssen @@ 2x diese Fähigkeit zu werfen.
+
+You need 4x @@ to cast this skill.
+Sie müssen @@ 4x diese Fähigkeit zu werfen.
+
+You need @@ GP to make this investment.
+Sie müssen GP @@ diese Investition zu machen.
+
+You need @@ GP to use this arena.
+Sie braucht GP @@ diese Arena zu verwenden.
+
+You need @@ Reputation to make this investment.
+Sie müssen @@ Reputation diese Investition zu machen.
+
+You need @@ units of bait for this fishing spot. What will you use?
+Sie benötigen @@ Einheiten Köder für diesen Angelplatz. Was werden Sie verwenden?
+
+You need a %s for each floor, and defeat the gatekeeper to advance.
+
+
+You need a @@ for it. Ah, back to research I guess...
+Sie benötigen einen @@ dafür. Ah, zurück zu erforschen ich denke ...
+
+You need a @@ to flip the switches on the Throne Room, don't forget to bring at least five.
+Sie benötigen ein @@ die Schalter auf dem Throne Room kippen, vergessen Sie nicht, mindestens fünf zu bringen.
+
+You need a @@ to try this.
+Sie benötigen einen @@ dies zu versuchen.
+
+You need a @@ to use this.
+Sie benötigen ein @@ diese zu verwenden.
+
+You need a @@. I'll flip one card, and you'll need to decide if next draw will be HIGHER or LOWER.
+Du brauchst ein @@. Ich werde eine Karte umdrehen, und Sie werden entscheiden müssen, ob nächste Ziehung wird höher oder niedriger sein.
+
+You need at least %d cards of same kind.
+
+
+You need at least 35 str and 35 vit to do the trip safely - bonuses not counted - or you will lose HP.
+Sie müssen mindestens 35 str und 35 vit die Reise sicher zu tun - Boni nicht gezählt - oder Sie werden HP verlieren.
+
+You need at least level %s to do this quest.
+
+
+You need at least level 20 to help.
+Sie müssen mindestens Stufe 20 zu Hilfe.
+
+You need be at minimum level 50 to participate. It is PVP, so watch out!
+Sie müssen teilnehmen an mindestens Level 50 sein. Es ist PVP, so watch out!
+
+You need both the stolen item as the thief to complete the quest.
+Sie müssen sowohl den gestohlenen Artikel als Dieb die Quest abzuschließen.
+
+You need level 60 to use these guns, but if you want to start collecting materials, you're allowed to.
+Sie müssen Stufe 60 diese Waffen zu benutzen, aber wenn Sie Materialien zu sammeln beginnen möchten, sind Sie dürfen.
+
+You need to be very careful. Use the sewers to reach... them.
+
+
+You need to choose a Heroes Hold Group. This currently makes absolutely no difference whatsoever.
+Sie brauchen einen Helden halten Gruppe zu wählen. Das zur Zeit macht absolut überhaupt keinen Unterschied.
+
+You need to finish at least %d/%d tasks.
+
+
+You need to have an @@ equipped.
+Sie müssen haben eine @@ ausgestattet.
+
+You need to pick your prizes!
+
+
+You need to reach a certain point in Player Story in order to partake on this event. Non-repeatable.
+
+
+You need to read this recipe. Without the essential crafting skill you won't go very far. There will be no bonuses on the items you craft because you are not a craftsman.
+Sie müssen dieses Rezept lesen. Ohne die wesentliche Handwerksfähigkeit werden Sie nicht sehr weit gehen. Es wird auf die Elemente keine Boni Sie Handwerk, weil Sie nicht ein Handwerker sind.
+
+You need to save the Professor! During night, monsters are stronger, so they'll probably attack at night time!
+
+
+You need to touch a Mana Stone to get magic. Certainly the only Mana Stone on Tulimshar is highly protected by the Council, so no chances here.
+
+
+You need:
+Du brauchst:
+
+You notice a group of slimes emerging from the debris among the shelves.
+Sie stellen fest, eine Gruppe von Schleimen aus den Trümmern zwischen den Regalen entstehen.
+
+You notice that even if she tries to calm down everyone and serve tea, she's pretty distressed with the Monster King herself.
+Man merkt, dass selbst wenn sie alle zu beruhigen versucht und dienen Tee, sie mit dem Monster King selbst ziemlich beunruhigt wird.
+
+You now gained two extra kilograms to your weight quota! Ka-pow, that's fantastic! Good luck!
+Sie jetzt zwei zusätzliche Kilogramm auf Ihr Gewicht Quote gewonnen! Ka-pow, das ist fantastisch! Viel Glück!
+
+You now have an extra point, use it wisely.
+Sie haben nun einen zusätzlichen Punkt, verwenden Sie es mit Bedacht aus.
+
+You only have to tell him how much you want to deposit or withdraw.
+Sie müssen nur um ihm sagen, wie viel Sie einzahlen oder abheben möchten.
+
+You open a book named @@. Do you want to read it?
+Sie öffnen ein Buch mit dem Namen @@. Wollen Sie es lesen?
+
+You open the Recipe Book. Each recipe you get can be put here.
+Sie öffnen das Rezeptbuch. Jedes Rezept, das Sie werden bekommen, kann hier verwendet.
+
+You open the chest and found a @@.
+Sie öffnen die Brust und ein @@ gefunden.
+
+You open the chest!
+Sie öffnen die Brust!
+
+You open your eyes. The remants of the salt water in your eyes is not particularly helping you see.
+
+
+You passed the botcheck. Thanks for playing the game %%G
+
+
+You perchance said in adventure? Good, because I just hurt my arm while mining!
+Du hast gesagt, vielleicht in Abenteuer? Gut, weil ich verletzt nur meinen Arm, während Bergbau!
+
+You perfectly cut your %s into two edible parts.
+
+
+You planned neatly. I'll be back.
+Sie geplant ordentlich. Ich komme wieder.
+
+You ponder whether or not it would be wise to drink it.
+Sie überlegen, ob oder nicht, es wäre klug, es zu trinken.
+
+You pour the whole potion on the fountain.
+Sie gießen Sie die ganze Trank auf dem Brunnen.
+
+You probably was only 4 when all that happened. And opposed to official story, the Monster King never enter this building.
+Sie war wahrscheinlich nur 4, wenn alles, was passiert ist. Und im Gegensatz zu offizieller Geschichte, das Monster King nie dieses Gebäude betreten.
+
+You pulled too late and lost the bait...
+Du hast zu spät angeschlagen, und der Köder ist verloren.
+
+You pulled too soon and lost the bait.
+Du hast zu spät angeschlagen, und der Köder ist verloren.
+
+You quickly give her the herbs, and she skillfully mix them on a potion.
+Sie geben ihr schnell die Kräuter, und sie sie geschickt auf einem Trank mischen.
+
+You ran out of time.
+Sie lief der Zeit heraus.
+
+You realize that you have no means to prove your statement.
+
+
+You really have a reason to be proud.
+Sie haben wirklich einen Grund, stolz zu sein.
+
+You really should do some tasks to impress our captain.
+Sie sollen sich wirklich einige Aufgaben tun, um unseren Kapitän zu beeindrucken.
+
+You really should read the dialogs.
+Sie sollten wirklich die Dialoge lesen.
+
+You receive 32 exp and 30 GP.
+Sie erhalten 32 exp und 30 GP.
+
+You receive @@ GP!
+Sie erhalten @@ GP!
+
+You received one %s!
+
+
+You received the %s title from %s.
+
+
+You received the @@ from @@.
+Sie erhielt den @@ von @@.
+
+You recover a tweaking point every hour.
+Sie erholen ein Zwicken Punkt pro Stunde.
+
+You recovered @@ magic skill points
+Sie erholt @@ Magie Fertigkeitspunkte
+
+You report to the King about everything you've found and learned there.
+Sie berichten an den König über alles, was Sie gefunden haben und dort gelernt.
+
+You run as far as you could. %s
+
+
+You said you would trade a real Mouboo Figurine, but now I see you don't have one. Come back when you do.
+Sie sagten, Sie eine echte Mouboo Figur handeln würde, aber jetzt sehe ich Sie noch kein Konto haben. Komm wieder, wenn Sie tun.
+
+You search for Bandit hoods.
+Sie suchen für Bandit Hauben.
+
+You see a dust covered book on the shelf... The name of the book is @@.
+Sie sehen eine Staub Buch auf dem Regal bedeckt ... Der Name des Buches ist @@.
+
+You see a fruit on her body. You take it.
+
+
+You see a helper looking through some papers that have a strange smell.
+Sie sehen ein Helfer durch einige Papiere suchen, der einen seltsamen Geruch.
+
+You see a raijin boy, sitting on the edge of the dock.
+Du siehst einen Raijin Jungen, der an der Ecke des Docks sitzt.
+
+You see a red apple here. It is
+Sie sehen einen roten Apfel hier. Es ist
+
+You see some fish reflecting the sun on the surface of the water.
+Ein paar Fische reflektieren die Sonne direkt unter der Wasseroberfläche.
+
+You see the docks on the other side of the town? There should be a ship docked there.
+Sie sehen die Docks auf der anderen Seite der Stadt? Es sollte ein Schiff dort andocken.
+
+You see the gates over there? This is the World's Edge. The land which never had a settlement. How. is. there. a. town?!
+
+
+You see these pious around us?
+Siehst du diese Pious um uns herum?
+
+You see yourself in a strange chamber. Strange drawings litter the walls.
+Sie sehen sich in einer fremden Kammer. Seltsame Zeichnungen Wurf der Wände.
+
+You see, Benjamin wanted to reshape the world. Very ambitious plans, which would have been great... If they had prospered.
+
+
+You see, I am Erlan, a researcher. I'm currently developing strong poison to rival with the legendary %s. For that end, I need raw, untreated sewerage, but there is no such thing here. Could you bring me %d %s? Thanks!
+
+
+You see, I am Erlan, a researcher. I'm currently developing strong poison to rival with the legendary %s. For that end, I need raw, untreated sewerage, but there is no such thing in a civilized town like ours.
+
+
+You see, I cannot use any raw material. It must be sturdier than the usual, and I don't have the materials for it.
+Sie sehen, ich kann keinen Rohstoff verwenden. Es muss sein, stabiler als die üblichen, und ich habe nicht die Materialien für sie.
+
+You see, I have a sister. Luvia Gemini. Very talented, but unfortunately, not enough to prevent being captured and brainwashed by Isbamuth.
+
+
+You see, I love %s! So shiny, so bright... They are my favorite!
+
+
+You see, I was walking in the secret caves near Ched, and... well...
+Sie sehen, ich wurde in den geheimen Höhlen in der Nähe von Ched zu Fuß und ... na ja ...
+
+You see, Pihro and Pyndragon, the mayors, are really busy people. They're developing a game or something as we speak.
+Sie sehen, Pihro und Pyndragon, die Bürgermeister, sind wirklich viel beschäftigt Leute. Sie entwickeln ein Spiel oder etwas, wie wir sprechen.
+
+You see, after a monster attack... My husband went to the desert, to check how things were...
+Sie sehen, nach einem Monster Angriff ... Mein Mann in die Wüste ging, um zu überprüfen, wie die Dinge waren ...
+
+You see, because the Monster King, monsters have been running rampant. If they grow too much in numbers, cities may be overrun.
+Sie sehen, weil das Monster King, Monster grassierenden wurden ausgeführt. Wenn sie zu viel in Zahlen wachsen, können Städte überrannt.
+
+You see, it need certain special items... Oh, just blame Jesusalva for this one.
+Sie sehen, es bestimmte Sondereffekte brauchen ... Oh, die Schuld nur Jesusalva für diese ein.
+
+You see, just @@ ago, Hurnscald was liberated from a massive monster attack.
+Sie sehen, nur @@ vor, Hurnscald von einem massiven Monster Angriff befreit wurde.
+
+You see, most people think that all monsters are controlled by the Monster King, but that's not quite right.
+Sie sehen, die meisten Leute denken, dass alle Monster der Monster King kontrolliert werden, aber das ist nicht ganz richtig.
+
+You see, we're working on repairing all of the damaged books and creating new ones for those that were lost.
+Sie sehen, wir arbeiten alle der beschädigten Bücher über Reparaturen und neue für diejenigen zu schaffen, die verloren gingen.
+
+You seem to be doing some money. Would you consider fighting for your own greed, or even be a Robin-Hood-of-sorts, stealing from the rich?
+Sie scheinen etwas Geld zu tun. Würden Sie für Ihre eigene Gier betrachten kämpfen, oder sogar ein Robin-Hood-of-Art sein, von den Reichen stehlen?
+
+You seem to be jailed. We cannot unjail offline players, so please don't logout.
+Sie scheinen eingesperrt werden. Wir können nicht unjail offline Spieler, also bitte nicht Logout.
+
+You seem to have @@ broken items and... Oh, I see you have a broken @@ here! I wanna repair it!
+Sie scheinen zu haben @@ gebrochen Gegenstände und ... Oh, ich sehe, Sie haben ein gebrochenes @@ hier! Ich will, es zu reparieren!
+
+You seem to have gotten Peetu's attention for a while.
+Sie scheinen zu haben Peetu die Aufmerksamkeit für eine Weile erhalten.
+
+You send me the wrong way.
+
+
+You set off a trap!
+Sie legen eine Falle off!
+
+You shall pass. Beyond this gate, she waits for you.
+Sie werden vergehen. Hinter diesem Tor wartet, sie für Sie.
+
+You should allocate some attributes to it. You need @@, @@ and @@, on this order of importance.
+Sie sollten einige Attribute, um es zuzuweisen. Sie benötigen, @@ und @@, auf dieser Reihenfolge ihrer Bedeutung @@.
+
+You should allocate some attributes. You need @@, @@ and @@, on this order of importance.
+
+
+You should ask %s.
+Sie sollten% s fragen.
+
+You should ask this question at Vincent.
+Sie sollten diese Frage zu Vincent stellen.
+
+You should be ASHAMED of yourself, you liar.
+Sie sollten sich schämen, du Lügner.
+
+You should be more careful.
+Du solltest vorsichtiger sein.
+
+You should come back when you have some free space.
+Du solltest zurück kommen wenn du etwas Platz frei hast.
+
+You should complete Candor Prologue before participating on this quest.
+Sie sollten Candor Prolog abgeschlossen sein, bevor auf dieser Suche beteiligt.
+
+You should do the other miners quest first! Some, however, are harder than others. This will unlock the %s, an important item to advance as a crafter.
+
+
+You should eat and drink water after donating blood. Thanks for saving lifes!
+Sie sollten essen und trinken Wasser nach Blut zu spenden. Dank für das Leben zu retten!
+
+You should go and get some sleep.
+Du solltest dir ein wenig Schlaf holen.
+
+You should have gotten here @@.
+Sie sollten hier bekommen haben @@.
+
+You should have some decent gloves, dude. These offer defense, as it's easier to handle your weapon and parry attacks.
+Sie sollten ein paar anständige Handschuhe, Geck haben. Diese bieten Verteidigung, da es einfacher ist Ihre Waffe und Parieren Angriffe zu behandeln.
+
+You should know this, an item like this can't be bleached.
+Du solltest wissen, dass ein Gegenstand wie dieser nicht gebleicht werden kann.
+
+You should never sell your Cactus Drinks. They have many uses.
+Sie sollten nie Ihre Cactus Getränke verkaufen. Sie haben viele Anwendungen.
+
+You should not be here. Get moving.
+Du solltest nicht hier sein. Beweg dich.
+
+You should not be here...
+Du solltest nicht hier sein...
+
+You should not be there! This forest is home to monsters.
+Sie sollten nicht da sein! Dieser Wald ist die Heimat von Monster.
+
+You should not leave this room.
+
+
+You should reset your stats and allocate some points at intelligence.
+Sie sollten Ihre Statistiken zurückzusetzen und einige Punkte an Intelligenz zuordnen.
+
+You should talk to Airlia again to understand what Lua wants me to do.
+Sie sollten wieder zu Airlia reden zu verstehen, was Lua von mir will.
+
+You should talk to Magic Arpan first.
+Du solltest zuerst mit Magier Arpan sprechen.
+
+You should talk to him instead.
+Sie sollten stattdessen mit ihm reden.
+
+You should talk to the Black Razor. He was a researcher, so try the academy.
+
+
+You should unequip this item first.
+
+
+You sing a pretty song to the teddy, and this makes it very happy.
+
+
+You stand before a battle-scarred, darkly tanned warrior, brimming with muscles.
+Sie stehen vor einer Schlacht-vernarbt, dunkel gebräunt Krieger, mit Muskeln voller.
+
+You start feeling dizzy.
+
+
+You started the seal break sequence. Please stand by.
+Sie haben die Dichtung Break-Sequenz. Bitte stehen.
+
+You stay where you are..
+Sie bleiben, wo Sie sind ..
+
+You still are overwhelmed by your magic.
+Sie sind nach wie vor von dem Zauber überwältigt.
+
+You still have ##B%d Monster Points##b! Do you want more items?
+
+
+You still have a low level but I'm sure he will ask for your help once you grow up a little more.
+
+
+You still haven't completed your tasks.
+Du hast deine Aufgaben noch nicht erledigt.
+
+You still haven't found all of them yet.
+Sie haben noch nicht alle von ihnen noch nicht gefunden.
+
+You still need @@ GP for the trip to Tulimshar.
+Sie müssen noch @@ GP für die Reise nach Tulimshar.
+
+You still need @@ GP to afford it.
+Sie müssen noch @@ GP zu leisten.
+
+You still need to grow a few levels more before being able to help me out again.
+Sie müssen noch ein paar Stufen, bevor der Lage wachsen ist, mich wieder zu helfen.
+
+You still need to wait @@ before going to HH again.
+Sie müssen noch warten @@, bevor er wieder zu HH gehen.
+
+You store a large collection of goods. Could you perhaps sell me some?
+Sie speichern eine große Sammlung von Waren. Könnten Sie verkaufen mir vielleicht einige?
+
+You succeed in crossing the chasm!
+Sie gelingt, die Kluft zu überqueren!
+
+You successfully completed Sagratha's Campaign.
+Sie haben sich erfolgreich Sagratha der Kampagne abgeschlossen.
+
+You successfully set the drop rate to @@%. It will reset to @@% (default value) in @@.
+Sie erfolgreich die Drop-Rate auf @@% festgelegt. Es wird zurückgesetzt @@% (Standardwert) in @@.
+
+You successfully set the exp rate to @@%. It will reset to @@% (default value) in @@.
+Sie erfolgreich die exp Rate @@% festgelegt. Es wird zurückgesetzt @@% (Standardwert) in @@.
+
+You supported:
+Sie unterstützt:
+
+You take distance and...
+Sie nehmen Abstand und ...
+
+You take four steps to the left.
+Sie nehmen vier Schritte nach links.
+
+You take four steps to the right.
+Sie nehmen vier Schritte nach rechts.
+
+You take off your bag and put it on the floor, as you lower yourself and try to slowly get close to it.
+
+
+You take one step to the left.
+Sie nehmen einen Schritt nach links.
+
+You take one step to the right.
+Sie nehmen einen Schritt nach rechts.
+
+You take the @@. It seems to be the stolen item.
+Sie nehmen die @@. Es scheint, der gestohlene Gegenstand zu sein.
+
+You take the clothes from the chest.
+Du nimmst die Kleidung aus der Kiste.
+
+You take three steps to the left.
+Sie nehmen drei Schritte nach links.
+
+You take three steps to the right.
+Sie nehmen drei Schritte nach rechts.
+
+You take two steps to the left.
+Sie nehmen zwei Schritte nach links.
+
+You take two steps to the right.
+Sie nehmen zwei Schritte nach rechts.
+
+You take your @@ and leave.
+Sie nehmen Ihre @@ und verlassen.
+
+You take your fishing rod and leave.
+Du nimmst die Angelrute und gehst.
+
+You tell Lua everything you've heard at the Inn.
+
+
+You tell her about the incident at the Blue Sage's residence and how they were aiming at sages.
+Sie sagen, sie über den Vorfall an der Blue Sage Wohnsitz und wie sie auf Weisen zielten.
+
+You think you can fool me and lie? I'll teach you a lesson you won't forget!
+
+
+You thought there was someone here. It must have been your imagination.
+Sie dachten, es war jemand hier. Es muss Ihre Phantasie gewesen sein.
+
+You throw a coin into the well.
+
+
+You throw a coin on the chasm.
+Sie werfen eine Münze auf den Abgrund.
+
+You took more than %s to do this, that is lame! Better luck next time.
+
+
+You took too long to answer.
+Sie dauerte zu lange zu beantworten.
+
+You toss the paper in the trash.
+Sie werfen das Papier in den Papierkorb.
+
+You tried to get rid of me, eeh? But surprise! I'm still here... *hic* Or there...
+Wolltest mich loswerden, hä? Überraschung, ich bin immer noch hier... *hicks*... oder da....
+
+You use the small key from the apple garden hut. It fits neatly.
+Sie verwenden die kleinen Schlüssel aus dem Apfelgarten Hütte. Es passt genau.
+
+You vomit, you are too drunk and drinking is harmful.
+Sie erbrechen, du bist zu betrunken und Trinken ist schädlich.
+
+You vomit, you are too drunk for this to have effect anymore.
+Sie erbrechen, sind Sie zu betrunken für diese Wirkung mehr haben.
+
+You waited too long and lost the bait...
+Du hast zu spät angeschlagen, und der Köder ist verloren.
+
+You wake up in the middle of the night. How did you got here? WERE YOU KIDNAPPED?
+
+
+You wanted to know about the World Edge, right? The Ancient Families of the Soul Menhir, and if you're part of them...
+Sie wollten über den Weltrand, Recht wissen? Die alten Familien der Seele Menhir, und wenn Sie ein Teil von ihnen ...
+
+You were in bad shape, you should be happy we found you before the sea killed you.#0
+Du warst in sehr schlechter Verfassung und solltest froh sein, dass wir dich gefunden haben, bevor das Meer dich für immer verschluckt hat.
+
+You were in bad shape, you should be happy we found you before the sea killed you.#1
+Du warst in sehr schlechter Verfassung und solltest froh sein, dass wir dich gefunden haben, bevor das Meer dich für immer verschluckt hat.
+
+You were jailed and now need a GM to get you out of there.
+Sie wurden eingesperrt und müssen nun einen GM Sie von dort raus.
+
+You were permanently banned by the GM Team.
+Sie wurden von dem GM-Team dauerhaft gesperrt.
+
+You were refunded in %s GP!
+
+
+You were rescued by DUSTMAN.
+Sie wurden von MÃœLLABFUHRMANN gerettet.
+
+You were vouched to the %s title by %s. You still need %d more vouches to be promoted.
+
+
+You were wrong!
+Du lagst falsch!
+
+You will also LOSE honor if the opponent is below level 30. If you are a bandit (negative honor), all fights versus you will be honorable.
+
+
+You will be able to pick basic weapons and skills at the Event Soul Menhir.
+
+
+You will be killed on the road if you try to go like this. The Canyon route is dangerous, and the Swamps route claimed many souls.
+Sie werden auf der Straße getötet werden, wenn Sie so zu gehen versuchen. Der Canyon Weg ist gefährlich, und die Swamps Strecke beansprucht viele Seelen.
+
+You will be rewarded by me shall you succeed in any of the tasks.
+
+
+You will find a fisher, maybe he is having a good time and can sell you a few boxes. And remember to keep your eye open.
+Sie erhalten einen Fischer finden, vielleicht ist er eine gute Zeit und können Sie ein paar Kisten verkaufen. Und denken Sie daran Ihre Augen offen zu halten.
+
+You will find a statue different from the others. It is where the game balance was murdered and bugs added instead! No, not really - this is just a placeholder. Not cool!
+
+
+You will gain @@ Reputation.
+Sie @@ Reputation gewinnen.
+
+You will get @@ which can then be exchanged for items once CoD event quest ends.
+Sie @@ erhalten, die dann für die Einzelteile einmal CoD Ereignis Quest Enden ausgetauscht werden.
+
+You will need a certain amount of them to upgrade any skill, which will be spent and no longer available for use.
+
+
+You will need to *hic* prove yourself to *hic* me and the town first...
+Sie müssen * hicks * selbst beweisen * hicks * me und die Stadt zuerst ein ...
+
+You will see, citizens are polite and you can still ask around for help. They can help find a job for you or maybe help you find out what happened to you out at sea!
+Sie werden sehen, Bürger höflich sind und Sie können um Hilfe bitten noch um. Sie können helfen, einen Job für Sie zu finden oder vielleicht helfen Ihnen herauszufinden, was auf See, um Sie aus passiert ist!
+
+You win!
+Du gewinnst!
+
+You withdrew a total of @@ GP.
+Sie zog sich insgesamt @@ GP.
+
+You won't be able to aim for a better record!
+Sie werden nicht für eine bessere Bilanz zielen können!
+
+You won't be allowed to play this game until you have an updated client.
+Sie spielen werden dürfen dieses Spiel nicht, bis Sie einen aktualisierten Client.
+
+You won't be allowed to walk sideways, except to avoid a monster or two.
+Sie werden nicht seitwärts gehen werden dürfen, es sei denn ein Monster oder zwei zu vermeiden.
+
+You won't have any of my vegetables, you scoundrel! Get off my yard!
+
+
+You won't learn any skill without a good professor to teach them to you.
+Sie werden keine Fähigkeiten ohne einen guten Professor lernen, sie zu Ihnen zu lehren.
+
+You wonder, maybe he entered on an infinite loop? Hellooo, anybody home?
+Sie fragen sich, dass er vielleicht auf einer Endlos-Schleife eingegeben? Hellooo, jemand zu Hause?
+
+You wont be able to go back!
+
+
+You would do well as come prepared, as failing in the last stage will RESET current progress on the quest.
+Sie würden gut vorbereitet wie kommen tun, wie in der letzten Stufe versagt wird auf der Suche aktuellen Fortschritt RESET.
+
+You wouldn't happen to have them, would you?
+Sie würde nicht passieren, sie haben, würden Sie?
+
+You'll all die here!
+Sie werden alle sterben hier!
+
+You'll also get half of the GP as Monster Points!
+
+
+You'll be charged even if you fail, be warned.
+Sie werden sogar in Rechnung gestellt, wenn Sie sich nicht, seien Sie gewarnt.
+
+You'll be charged even if you fail, be warned. You can re-roll the same item %s, free of charge, but it may break and there will be no refunds!
+
+
+You'll come with me!
+Sie werden mit mir kommen!
+
+You'll get %d GP every time you finish the sequence.
+
+
+You'll give your best and attempt to run!
+Sie werden Ihr Bestes geben und zu laufen versuchen!
+
+You'll have 60 seconds to kill as many balls as you can!
+
+
+You'll have to slay %s %s for me! I don't care which ones, just SLAY THEM!
+
+
+You'll need to think on a new password!
+Sie werden auf ein neues Passwort denken müssen!
+
+You'll soon run out of stuff to do around here, so yeah, you should extend your horizons or you may get bored soon enough.
+Sie werden bald von Sachen ausgehen, hier zu tun um, also ja, sollten Sie Ihren Horizont erweitern oder Sie können schon bald langweilen.
+
+You'll want your fishing rod to be flexible but solid.
+Du möchtest, dass deine Angel gleichzeitig flexibel und stabil ist.
+
+You're about to concede an academic title to "@@".
+
+
+You're about to enter a dangerous area. Are you sure?
+Sie sind dabei, einen gefährlichen Bereich zu betreten. Bist du sicher?
+
+You're about to enter a dangerous zone!
+
+
+You're about to transfer a legendary weapon to @@.
+Sie laden eine legendäre Waffe übertragen @@.
+
+You're absolutely right. The next one will be more tricky.
+Du hast absolut recht. Die nächste wird komplizierter sein.
+
+You're brave but weak. Go grind some levels, go make a wooden sword, I don't know.
+Du bist mutig, aber schwach. Go schleifen einige Ebenen, ein Holzschwert unterwegs zu machen, ich weiß es nicht.
+
+You're creepy.
+
+
+You're doing the math wrong, matey! I'll bring them later!
+Sie tun die Mathematik falsch, kameradschaftlich! Ich werde sie später bringen!
+
+You're finally free!
+
+
+You're hesitant to pick one, they could be dangerous.
+Sie sind zögerlich, eine auswählen, sie könnten gefährlich sein.
+
+You're in the "@@" party, I know!
+
+
+You're in the "@@" party, very good!
+
+
+You're lucky that this is the Land Of Fire and I'm on a good mood, otherwise, I would have killed you for lying to me.
+Sie haben Glück, dass dies das Land des Feuers ist, und ich bin auf eine gute Stimmung, sonst hätte ich dich getötet habe mich angelogen.
+
+You're lucky. It is windless now.#0
+
+
+You're lucky. It is windless now.#1
+
+
+You're not welcome here. Get moving.
+Sie sind willkommen hier nicht. Beweg dich.
+
+You're on a ship, we're on our way to the oldest human city, Tulishmar.
+Sie sind auf einem Schiff, wir sind auf dem Weg zu der ältesten menschlichen Stadt, Tulishmar.
+
+You're on our ship, we made port to a little island and we're actually yeyending our long merchant travelling adventure at the city of Tulimshar.#0
+
+
+You're on our ship, we made port to a little island and we're actually yeyending our long merchant travelling adventure at the city of Tulimshar.#1
+
+
+You're playing with fire. Or ice. Or whatever.
+Sie spielen mit dem Feuer. Oder Eis. Oder Wasauchimmer.
+
+You're pretty much stranded on this forsaken island if you don't help me!
+Sie sind so ziemlich auf dieser verlassenen Insel gestrandet, wenn Sie mir nicht helfen!
+
+You're ready. Let's head back to the ship before the sun sets, shall we?
+Du bist bereit. Lassen Sie uns zurück zum Schiff, bevor die Sonne untergeht, sollen wir?
+
+You're right, you never sold any Water Bottle ever. I'm unjailing you.
+Du hast Recht, man kann nie jemals eine Wasserflasche verkauft. Ich unjailing Sie.
+
+You're right. Sorry.
+Du hast recht. Es tut uns leid.
+
+You're strong, maybe you could help Dan. He is a good sailor but he is too afraid from harmless Pious.
+
+
+You're stupid. Leave.
+
+
+You're the savior of Hurnscald crops. Half from the world would die from famine, weren't for you.
+Du bist der Retter der Hurnscald Kulturen. Die Hälfte der Welt vor Hunger sterben würde, waren nicht für Sie.
+
+You're under arrest. I have to bring you back to Kenton.
+Sie sind festgenommen. Ich habe Sie zurück in Kenton zu bringen.
+
+You're wel-- Wait, it was you who was trapped on the well near Miler's house?!
+Sie sind wel-- Warten, waren Sie es, auf dem auch in der Nähe von Miler Haus gefangen war ?!
+
+You're welcome!
+Bitte!
+
+You're welcome.
+Bitte.
+
+You're willing to help? Perfect. We need @@ @@, @@ @@ and @@ @@ for travel.
+Sie sind bereit, zu helfen? Perfekt. Wir brauchen @@ @@ @@ @@ und @@ @@ für die Reise.
+
+You're, of course, invited. Thus far, the total prize money I've collected is @@ GP.
+Sie sind, natürlich eingeladen. Bis jetzt ist das Gesamtpreisgeld ich gesammelt habe @@ GP.
+
+You've already completed this quest today. Try again tomorrow.
+Du hast bereits die Quest heute abgeschlossen. Versuchen Sie es morgen erneut.
+
+You've also learned how to craft Daggers! It serves solely for training purposes. You get crafting points for every 40 levels crafted on the item.
+Sie haben auch, wie man Handwerk Dolche gelernt! Es dient ausschließlich für Schulungszwecke. Sie erhalten Crafting Punkte für alle 40 Ebenen auf das Element gefertigt.
+
+You've been asking for way too much power from the Mana Seed.
+Sie wurden für viel zu viel Energie von der Mana Seed zu fragen.
+
+You've been doing quite well, indeed. Ever visited Lilit?
+Sie haben recht gut gemacht, in der Tat. Immer Lilit besucht?
+
+You've been doing very well, I'm surprised.
+Sie haben sehr gut getan, ich bin überrascht.
+
+You've been doing well. Be careful out there.
+Sie haben sich gut gemacht. Sei vorsichtig da draußen.
+
+You've been spending too much time with humans. You are picking up bad habits from them like lying. Be careful.
+
+
+You've brought me fertilizer! Let me see if it works...
+Du hast mich Dünger gebracht! Lassen Sie mich sehen, ob es funktioniert ...
+
+You've got 2000 xp and 150 job xp in apology tokens.
+Sie haben in Entschuldigung Token 2000 xp und 150 Job xp bekommen.
+
+You've got a Graduation Album for Eistein levels!
+
+
+You've helped me plenty. Please come back in @@
+Sie haben mir viel geholfen. Bitte kommen Sie zurück in @@
+
+You've killed @@ scorpions, and a total of @@ were killed this season.
+Sie haben getötet @@ Skorpionen, und insgesamt @@ dieser Saison getötet wurden.
+
+You've killed @@/12 @@. Get rid of them!
+Sie haben getötet @@ / 12 @@. Sie loswerden!
+
+You've learned how to use @@. Simple locks can now be broken.
+Sie haben gelernt, wie @@ zu verwenden. Einfache Schlösser können jetzt gebrochen werden.
+
+You've obtained a @@ to visit Magic Academy.
+Sie haben eine @@ zu besuchen Magic Academy erhalten.
+
+You've passed the test of courage. Bravure you have, but are you a real adventurer?
+Sie haben die Mutprobe bestanden. Bravure Sie haben, aber sind Sie ein echter Abenteurer?
+
+You've reached the maximum level for this skill.
+Sie haben die maximale Ebene für diese Fertigkeit erreicht.
+
+You've slayed the Yeti.
+Sie haben den Yeti slayed.
+
+You, @@... You better get walking. Soon.
+Sie, @@ ... Sie besser zu Fuß bekommen. Bald.
+
+You, and everyone on the party, won't be able to return.
+
+
+You... You killed my father during Nivalis siege! I'll make you pay for that!!
+Sie ... Sie hat meinen Vater getötet während Nivalis Belagerung! Ich werde Sie dafür bezahlen machen !!
+
+You: @@, @@
+Du: @@, @@
+
+You? Have you ever looked in the mirror? You're not even level 35. Begone.
+Du? Haben Sie schon einmal in den Spiegel geschaut? Du bist nicht einmal Stufe 35. Hinweg.
+
+You? Here?
+Du? Hier?
+
+Your @@ determines several small things, including critical attacks and, limited to a certain extent, affect drop rates.
+Ihr @@ bestimmt mehrere kleine Dinge, einschließlich der kritischen Angriffe und bis zu einem gewissen Ausmaß begrenzt, Drop-Raten beeinflussen.
+
+Your @@ determines your ability to hit monsters and is valuable to players who prefer weapons that use projectiles.
+Ihre @@ bestimmt Ihre Fähigkeit, Hit Monster und ist wertvoll für Spieler, die Waffen, die Verwendung Projektile bevorzugen.
+
+Your @@ is not enough, please look for more.
+Ihr @@ ist nicht genug, bitte Blick auf mehr.
+
+Your Score: @@
+Ihre Punktzahl: @@
+
+Your academy titles have been rescinded%s
+
+
+Your account is too young.
+
+
+Your account must be at least 72 hours old or have level 15+ to use this command.
+
+
+Your body starts to glow. You're not sure why, the fountain did that!
+Ihr Körper beginnt zu leuchten. Sie sind nicht sicher, warum, die Brunnen das taten!
+
+Your class has been changed from %s to %s.
+Ihre Klasse wurde von% s zu% s geändert.
+
+Your coward outer self fails to convince you to leave.
+Ihr Feigling äußeren Selbst versagt, Sie überzeugen zu lassen.
+
+Your current rank: %s
+
+
+Your current scholar rank: %s (%d Research Points)
+
+
+Your current scholar rank: %s (%d/%d vouches)
+
+
+Your current scholar rank: %s (%s Research Points)
+
+
+Your current score: @@
+Ihre aktuelle Punktzahl: @@
+
+Your current win streak is @@!
+Ihre aktuelle Siegesserie ist @@!
+
+Your friend also sent you a gift - open it when you get level 5!
+Ihr Freund hat Sie auch ein Geschenk - es öffnen, wenn Sie Level 5 erhalten!
+
+Your guild does not have the key required to complete this part of the puzzle.
+
+
+Your guild doesn't knows any recipes!
+Eure Gilde hat kennt keine Rezepte!
+
+Your guild need to have at least level 2 to use storage feature.
+Eure Gilde müssen mindestens Level haben 2 -Speicherung Funktion zu nutzen.
+
+Your hairstyle is @@ and its color is @@.
+Deine Frisur ist @@ und die Haarfarbe ist @@.
+
+Your hear a clink, and the key breaks.
+
+
+Your help was invaluable, my staff believed in the unbiased view of the Hurnscald Household. Alas, now Peetu is capable to work again.
+Ihre Hilfe war von unschätzbarem Wert, meine Mitarbeiter glaubte, in der unvoreingenommenen Blick auf die Hurnscald Haushalt. Ach, jetzt ist Peetu wieder arbeitsfähig.
+
+Your homunculus is already on a mission!
+Ihre Homunkulus ist bereits auf einer Mission!
+
+Your homunculus is ready!
+Ihre Homunkulus ist fertig!
+
+Your homunculus is sleeping! Wake them up!
+Ihre Homunkulus schläft! Wecke sie auf!
+
+Your information is correct, %s. Pirates have been plaguing our shores and cutting off our supply lines.
+
+
+Your level is so high, I'm surprised you haven't went there already. But then, most quests around there are for your level...
+Ihr Niveau ist so hoch, ich bin überrascht, dass Sie nicht bereits waren dort. Aber dann sind die meisten Quests um es für Ihr Niveau ...
+
+Your loss!
+
+
+Your low intelligence prevents anything from happening with you.
+Ihre niedrige Intelligenz verhindert nichts mehr mit Ihnen geschieht.
+
+Your magic is more powerful than you, but you can control.
+Ihre Magie ist mächtiger als Sie, aber Sie können steuern.
+
+Your mind is set? You will probably lose all the dyes and/or cards during on the item during this process. You're bleaching a %s by the way.
+
+
+Your mother asked me to say that she loves you.
+Deine Mutter hat mich gebeten, zu sagen, dass sie dich liebt.
+
+Your next step is to get the book of the Second Sage Of Fate.
+Die nächste Schritt ist das Buch der Zweiten Sage Of Fate zu bekommen.
+
+Your party is too big. Discretion is a key if we want to succeed.
+
+
+Your persistence is amusing. However, you're yet to acquire the title of %s.
+
+
+Your personal record: %s
+
+
+Your position is auto-saved when entering a town - use @ucp to change this behavior.
+Ihre Position wird automatisch gespeichert, wenn eine Stadt eingeben - Verwendung @ucp dieses Verhalten zu ändern.
+
+Your position must be the one of a regular member or above.
+Ihre Position muss derjenige sein, der von einem ordentlichen Mitglied oder darüber.
+
+Your position on the guild: @@
+Ihre Position auf der Gilde: @@
+
+Your privileges do not allow you to use this command.
+
+
+Your prize: %s GP
+
+
+Your problems are not mine. By the way, you really should consider taking a shower.
+
+
+Your progress thus far: %s chants casted
+
+
+Your progress thus far: %s damage inflicted
+
+
+Your progress thus far: %s exp earned
+
+
+Your progress thus far: %s friends supported
+
+
+Your progress thus far: %s potions baked
+
+
+Your progress thus far: %s skills casted
+
+
+Your progress thus far: %s sparks
+
+
+Your progress thus far: %s sparks killed
+
+
+Your progress thus far: %s survived.
+
+
+Your progress thus far: %s taken.
+
+
+Your reagents vanish into emptiness!
+Ihre Reagenzien verschwinden ins Leere!
+
+Your rent is valid for @@.
+Ihre Miete gilt für @@.
+
+Your request for @@ @@ are being fermented for @@.
+Ihre Anfrage für @@ @@ werden für @@ vergoren.
+
+Your save point has been changed.
+Dein Speicherpunkt wurde geändert.
+
+Your skill in magic is not great enough to use some of the spells yet, so keep practicing and visiting the mana seed until it is.
+Ihre Fähigkeiten in der Magie ist nicht groß genug, um noch einige der Zauber zu verwenden, so weiter üben und den Besuch der Mana Samen, bis es.
+
+Your son, Hasan, has stolen me!
+Ihr Sohn, Hasan, hat mir gestohlen!
+
+Your spell takes a mind of its own and shapes in something else!
+Ihr Zauber nimmt seinen eigenen Kopf und Formen in etwas anderes!
+
+Your status points were reset.
+Ihre Statuspunkte waren zurückgesetzt.
+
+Your strength is not enough to power on this portal.
+
+
+Your thief instincts suggest you to hurry.
+Ihr Dieb Instinkte schlagen Sie zur Eile.
+
+Your weird robes; They seem like they'll deny your damage, so you definitely want to summon multiple people to help. Try the #world tab.
+
+
+Your worth shall be tested, and from inside, you shall not leave.
+Ihr Wert ist zu prüfen, und von innen, so sollst du nicht verlassen.
+
+Yuko
+
+
+Yuko Cuf
+
+
+Yumi
+Yumi
+
+ZZZzzzz...
+
+
+Zack
+Zack
+
+Zambacutou Heavy Sword
+Zambacutou Schweres Schwert
+
+Zarkor
+Zarkor
+
+Zarkor Scroll
+Zarkor Scroll
+
+Zarkor spills many fluids on the lake, with much concentration.
+Zarkor schwappt viele Flüssigkeiten auf dem See, mit viel Konzentration.
+
+Zarkor starts a weird chant.
+Zarkor beginnt einen seltsamen Gesang.
+
+Zarkor, fell a small taste of my power. That is nothing. If you can't handle that, you're not even near my lowest lieutenant.
+Zarkor, fiel einen kleinen Geschmack meiner Macht. Das ist nichts. Wenn Sie nicht damit umgehen können, sind Sie nicht einmal in der Nähe von meinem tiefstenen Leutnant.
+
+Zarkor, the Dark Summoner
+Zarkor, der Dunkle Summoner
+
+Zegas
+Zegas
+
+ZegasDebug
+ZegasDebug
+
+Zitoni
+Zitoni
+
+Zitoni refused to make the Powder.
+Zitoni weigerte sich, das Pulver zu machen.
+
+Zitoni seems to be lost on deep thought.
+Zitoni scheint tief in Gedanken verloren.
+
+Zitoni won't cooperate with you. Perhaps you should ask to Zarkor about that.
+Zitoni wird nicht mit Ihnen zusammenarbeiten. Vielleicht sollten Sie Zarkor danach fragen.
+
+Zombie Ear
+Zombie Ohr
+
+Zombie Nachos
+Zombie Nachos
+
+Zzzzzz....
+Zzzzzz ....
+
+Zzzzzzzzz...
+Zzzzzzzzz...
+
+[%d GP] [Lv 1~25] Hire for one hour
+[% D GP] [Lv 1 ~ 25] für eine Stunde Vermietung
+
+[%d GP] [Lv 26~40] Hire for one hour
+[% D GP] [Lv 26 ~ 40] für eine Stunde Vermietung
+
+[%d GP] [Lv 41~60] Hire for one hour
+[% D GP] [Lv 41 ~ 60] für eine Stunde Vermietung
+
+[%d GP] [Lv 61~79] Hire for one hour
+[% D GP] [Lv 61 ~ 79] für eine Stunde Vermietung
+
+[%d GP] [Lv 80~100] Hire for one hour
+[% D GP] [Lv 80 ~ 100] für eine Stunde Vermietung
+
+[0] East Aeros
+[0] East Eros
+
+[10x Honey, 1x Elixir of Life] The Shadow Tortuga won the race against the Panthom Lord.
+
+
+[1] West Aeros
+[1] West-Eros
+
+[2] Full Aeros
+[2] Full Eros
+
+[@@https://wiki.moubootaurlegends.org/Storyline|Read the History@@]
+
+
+[Accept Quest]
+[Accept-Quest]
+
+[Caution, this may be dangerous!]
+
+
+[Christmas] Send soul to the Christmas Workshop!
+[Weihnachten] Send Seele an den Weihnachtswerkstatt!
+
+[DEBUG] Current Power: %d
+
+
+[Decline Quest]
+[Decline-Quest]
+
+[Deliver all goods.]
+[Geben Sie alle Waren.]
+
+[Easter] Send soul to the Mana Forest!
+[Ostern] Sende deine Seele zum Mana Wald!
+
+[Explain the situation]
+
+
+[Give him a Mouboo Figurine to play with?]
+[Geben Sie ihm eine Mouboo Figur zu spielen?]
+
+[Give him some salty Sea Drops?]
+[Geben Sie ihm etwas salzig Sea Drops?]
+
+[Give him some tasty Chocolate Bar?]
+[Geben Sie ihm ein paar leckere Chocolate Bar?]
+
+[Kill her]
+[Töte sie]
+
+[Magic Olympics] Send soul to Porthos
+
+
+[Make up a lie]
+
+
+[Maybe another time.]
+[Vielleicht ein anderes Mal.]
+
+[Pat his shoulder and say everything will be fine.]
+[Pat seine Schulter und sagen, dass alles in Ordnung sein wird.]
+
+[Push him away from you and leave]
+[Drücken Sie ihn von Ihnen und verlassen weg]
+
+[Quest Accepted]
+[Quest-Accepted]
+
+[Quit]
+[Verlassen]
+
+[Shake him and tell him to pull himself together]
+[Schütteln ihn und sagt ihm, sich zusammen zu ziehen]
+
+[Slap his hands to surprise him and get his attention?]
+[Slap seine Hände, um ihn zu überraschen und seine Aufmerksamkeit zu bekommen?]
+
+[Soul Menhir]
+[Seelen Menhir]
+
+[TUTORIAL]
+
+
+[Try to console him]
+[Versuchen Sie, ihn zu trösten]
+
+[Valentine Day] Send soul to the Valentine Highlands!
+[Valentine Day] Senden Seele des Valentine Highlands!
+
+[Valentine] Eat all chocolate:
+
+
+[Worker Day] Send soul to the Contributor Cave!
+[Tag der Arbeit] Sende deine Seele zur Contributor Höhle!
+
+^.^ "Nothing is wrong, don't worry!"
+
+
+a Left Crafty Wing
+eine linke Flügel Crafty
+
+a Right Crafty Wing
+ein rechter Flügel Crafty
+
+a ground!
+ein Boden!
+
+a quiet place,
+ein ruhiger Ort,
+
+a(n)
+
+
+above
+über
+
+adams
+
+
+affection
+Zuneigung
+
+agility
+Beweglichkeit
+
+agrajag
+
+
+and
+und
+
+and "listening" to his speech, you'll get EXP!
+
+
+and have Demure to send them to those you admire!
+
+
+angry
+wütend
+
+any
+irgendein
+
+any planned experience and gold reward.
+jede Erfahrung und Gold Belohnung geplant.
+
+arrow keys
+Pfeiltasten
+
+arthur dent
+
+
+assigning 5 points each to str, agi, dex and luck
+
+
+begin Doppelganger Challenge
+beginnen Doppelgänger Herausforderung
+
+below
+unter
+
+betelgeuse
+
+
+big
+
+
+burst up in flames
+
+
+but I was hoping for something more valuable. No, thanks.
+aber ich hatte gehofft, für etwas mehr wert. Nein Danke.
+
+but remember: Rewards will also be based on everyone's progress!
+
+
+cancel
+stornieren
+
+cleaning
+Reinigung
+
+cold, bleak and isolated cell
+
+
+come back stronger, and I will give you a task.
+stärker zurückkommen, und ich werde Ihnen eine Aufgabe.
+
+cricket
+
+
+data @@ @@ @@ data
+data @@ @@ @@ data
+
+day
+Tag
+
+deep thought
+
+
+desert mines one day.
+Wüste Minen einen Tag.
+
+dexterity
+Geschicklichkeit
+
+disaster area
+
+
+discontent
+Unzufriedenheit
+
+don't panic
+
+
+doplhins
+
+
+douglas
+
+
+draw.
+zeichnen.
+
+dude#1
+
+
+ear
+
+
+east
+Osten
+
+easter eggs for more useful things!
+
+
+eddie
+
+
+ee break of day
+ee Tagesanbruch
+
+eight
+
+
+eighteen
+
+
+eleven
+
+
+england
+
+
+equip
+ausstatten
+
+evening
+Abend
+
+evil will return every day to curse King Arthur the Micksha.
+
+
+exchange them, and have fun!
+
+
+experience points
+
+
+fifteen
+
+
+firearms
+Feuerarme
+
+five
+
+
+focused on lower level players, and to cherish those whom work hard everyday.
+
+
+four
+vier
+
+fourteen
+
+
+furious
+wütend
+
+gal#0
+
+
+girl#0
+
+
+give everyone gifts for spending so much time with us %%l
+
+
+hard work, Dimonds Cove was built.
+harte Arbeit, wurde Dimonds Cove gebaut.
+
+heart of gold
+
+
+her
+
+
+here
+
+
+hero#0
+
+
+hero#1
+
+
+hey, hey, are you a hero, are you a hero?#0
+
+
+hey, hey, are you a hero, are you a hero?#1
+
+
+house finances
+Haus Finanzen
+
+humm... Sorry, I forgot what you need!
+humm ... Sorry, ich habe vergessen, was Sie brauchen!
+
+humm... You don't have everything I've asked for!
+humm ... Sie haben nicht alles, was ich gefragt habe!
+
+if the proposal is not convenient for you, just close the trading window to cancel the exchange of items and money. But if both press the 'Accept Negotiation' button, then the marketing will be finished.
+wenn der Vorschlag nicht für Sie geeignet ist, schließen Sie einfach das Handelsfenster den Austausch von Gegenständen und Geld zu stornieren. Aber wenn beide drücken Sie die Taste ‚Negotiation Nehmen‘, dann wird die Vermarktung fertig sein.
+
+in March 2nd 2018.
+
+
+international worker day
+
+
+is your target. They spawn smaller versions of themselves! Kill @@ of them and make the beach safe for tourists.
+
+
+item dependant bonuses
+
+
+ix
+
+
+karim
+Karim
+
+katazuli
+
+
+keyboard
+Tastatur
+
+king
+König
+
+left
+links
+
+left above
+links oben
+
+legendary clovers will spawn almost everywhere.
+
+
+legendary weapon
+legendäre Waffe
+
+library damage
+Bibliothek Schaden
+
+line @@:
+Linie @@:
+
+longing for the day she would have a building.
+Sehnsucht nach dem Tag würde sie ein Gebäude hat.
+
+lost forever
+
+
+love
+Liebe
+
+lower left
+Unten links
+
+lower right
+rechts unten
+
+luck
+Glück
+
+magic book
+magisches Buch
+
+marvin
+
+
+medium shot
+halbnah
+
+milliways
+
+
+miss#0
+
+
+mister#1
+
+
+mobs over lv 100
+
+
+monster points
+
+
+monsters of at least level 100
+
+
+more information about test server ->
+
+
+morning
+
+
+murder
+
+
+my name is karim can you help me?.
+mein Name ist karim Sie mir helfen können ?.
+
+need help to send gifts to everyone! Compete for scoreboards,
+
+
+next
+
+
+nine
+
+
+nineteen
+
+
+no
+Nein
+
+no active MOTD
+keine aktive MOTD
+
+no active broadcast
+keine aktive Ankündigung
+
+north
+Norden
+
+northeast
+Nordost
+
+northwest
+Nordwest
+
+nothing
+nichts
+
+npc1
+npc1
+
+npc1#door
+npc1#door
+
+npc3
+npc3
+
+npc4
+npc4
+
+npc5
+npc5
+
+o.o "You're being unreasonable. That's way too much!"
+
+
+offline player
+
+
+one
+
+
+over 100 mobs
+
+
+pal#1
+
+
+pan galactic gargle blaster
+
+
+passion
+Leidenschaft
+
+peasant#0
+
+
+peasant#1
+
+
+place in the world. He told Dimond that he would make her
+Platz in der Welt. Er sagte Dimond, dass er sie machen würde
+
+powerful shot
+strammer Schuss
+
+quest completed.#0
+Quest angeschlossen.#0
+
+quest completed.#1
+Quest angeschlossen.#1
+
+ranged mobs
+
+
+ranged monsters
+
+
+rather powerful shot
+eher strammer Schuss
+
+rather weak shot
+eher schwacher Schuss
+
+research
+
+
+restaurant for her. He gathered the tools and after much
+Restaurant für sie. Er sammelte die Werkzeuge und nach viel
+
+right
+Rechts
+
+right above
+Rechtsoben
+
+rock
+Stein
+
+sample
+Stichprobe
+
+sent to the email you used to register on Moubootaur Legends.
+
+
+seven
+
+
+seventeen
+
+
+she's smiling at you.
+Sie lächelt dich an.
+
+sit
+
+
+six
+
+
+sixteen
+
+
+slartibartfast
+
+
+slimes
+
+
+small, red, round and shiny.
+klein, rot, rund und glänzend.
+
+somewhat powerful shot
+etwas strammer Schuss
+
+somewhat weak shot
+etwas schwach Schuss
+
+south
+Süd
+
+southeast
+Süd-Ost
+
+southwest
+Südwesten
+
+southwest part of the town
+südwestlichen Teil der Stadt
+
+spawn challenge monster! How far can you go?
+Laich Herausforderung Monster! Wie weit kann man gehen?
+
+splash magic
+
+
+splash weapons
+
+
+start#bat_a02
+
+
+start#hurns_lib
+
+
+stocking
+Strumpf
+
+stop interrupting me while I make your trousers.
+hör auf, mich zu unterbrechen, während ich die Hose machen.
+
+stop making me lose the line by talking to me.
+aufhören, mir die Linie durch Gespräche mit mir verlieren.
+
+supply report
+Versorgungsbericht
+
+survive @@ seconds more!
+überleben @@ Sekunden mehr!
+
+ten
+
+
+test
+Test
+
+test @@
+test @@
+
+test#0
+Test#0
+
+test#1
+Test#1
+
+test1
+test1
+
+test1 @@#0
+Test1 @@#0
+
+test1#0
+Test1#0
+
+test2
+Test2
+
+test2 @@#1
+Test2 @@#1
+
+test2#1
+Test2#1
+
+the Monster King
+das Monster King
+
+the Yeti King
+
+
+the better your chances to get the best cards.
+
+
+the card will determine your gift - the more cards you spin,
+
+
+the event won't start and HURNSCALD WON'T BE LIBERATED.
+das Ereignis wird nicht gestartet und Hurnscald NICHT befreit werden.
+
+the north exit
+
+
+the npc choose paper.
+die npc wählen Papier.
+
+the npc choose rock.
+die npc wählen Rock.
+
+the npc choose scissors.
+die npc wählen Schere.
+
+thirteen
+
+
+this
+
+
+three
+drei
+
+to give %s experience!
+
+
+top 1
+Top 1
+
+top 10
+Top 10
+
+top 3
+Die Besten 3
+
+top 5
+Top 5
+
+top 7
+Top 7
+
+towel
+Handtuch
+
+town damage by monsters
+Stadt Schaden von Monstern
+
+town finances
+Stadt Finanzen
+
+town overview
+Stadt Ãœberblick
+
+triple
+
+
+truth
+Wahrheit
+
+twelve
+
+
+twenty
+
+
+two
+
+
+two jobs
+
+
+two minutes
+zwei Minuten
+
+very angry
+sehr wütend
+
+very mad
+sehr verrückt
+
+very powerful shot
+sehr starker Schuss
+
+very weak shot
+sehr schwacher Schuss
+
+vogon
+
+
+vogsphere
+
+
+votes
+Stimmen
+
+warp back
+Kette zurück
+
+weak shot
+schwacher Schuss
+
+west
+Westen
+
+which creeps over Kamelot! During this event, the ancient
+
+
+with friends
+mit Freunden
+
+wowbagger
+
+
+yawns
+gähnt
+
+yellow
+
+
+yes
+Ja
+
+you already opened the chest.
+Du hast diese Truhe schon mal geöffnet
+
+you choose paper.
+Sie wählen Papier.
+
+you choose rock.
+Sie wählen Rock.
+
+you choose scissors.
+Sie wählen Schere.
+
+you lose
+du verlierst
+
+you win
+du gewinnst
+
+you win @@
+du gewinnst @@
+
+zero
+
+
+~~%d/%d %s~~
+
+
+¬.¬ "Hmm, to me, you look like a thief or bandit..."
+
+
+¬.¬ "I knew it! I'll report you at once."
+
+
+´ .Use lazurite stones ´..´. they will appear. ..´ .. drop them inside .. this circle.
+
+
+↑ Houses, Soul Menhir
+
+
+↑ Town Hall, Noble District
+
+
+─ Crazyfefe is likely patrolling the world, aiding Constables and catching criminals.
+
+
+─ Jak1 should be on the Mirror Lake or verifying the infrastructure.
+
+
+─ LawnCable is likely on his room doing research, I wouldn't disturb him if I were you.
+
+
+─ Saulc should be on his residence, going over the plans again.
+
+
+♪ Pinkie,pinkie,pinkie, you're so fine.
+
+
+♪Hi ho, no one on♫
+
+
+♪There is a server♪
+
+
diff --git a/langs/lang_en.old b/langs/lang_en.old
new file mode 100644
index 0000000..3a359c6
--- /dev/null
+++ b/langs/lang_en.old
@@ -0,0 +1,5811 @@
+ - Daily Login Screen
+ - Daily Login Screen
+
+ - Soul Menhir auto-saving
+ - Soul Menhir auto-saving
+
+"@@", I like this name!
+"@@", I like this name!
+
+"That's the only hard part. Have at least level 40, do not neglect Intelligence nor Job level...
+"That's the only hard part. Have at least level 40, do not neglect Intelligence nor Job level...
+
+##1Bug abuser detected! Automatically banning!!
+##1Bug abuser detected! Automatically banning!!
+
+##1DON'T MOVE until the signal. Stay ready! If you move, you will desync client!
+##1DON'T MOVE until the signal. Stay ready! If you move, you will desync client!
+
+##1Hear ya, hear ya! There are @@ vacant slots at Hurnsguard to LIBERATE HURNSCALD!
+##1Hear ya, hear ya! There are @@ vacant slots at Hurnsguard to LIBERATE HURNSCALD!
+
+##1WARNING! WARNING! Siege starting at Halinarzo!!
+##1WARNING! WARNING! Siege starting at Halinarzo!!
+
+##1WARNING! WARNING! Siege starting at Hurnscald!!
+##1WARNING! WARNING! Siege starting at Hurnscald!!
+
+##1WARNING! WARNING! Siege starting at Tulimshar!!
+##1WARNING! WARNING! Siege starting at Tulimshar!!
+
+##2 14 Days login bonus: ##B1x @@##b
+##2 14 Days login bonus: ##B1x @@##b
+
+##2 14 Days login bonus: ##B2x @@##b
+##2 14 Days login bonus: ##B2x @@##b
+
+##2 14 Days login bonus: ##B5x @@##b
+##2 14 Days login bonus: ##B5x @@##b
+
+##2 21 Days login bonus: ##B1x @@##b
+##2 21 Days login bonus: ##B1x @@##b
+
+##2 21 Days login bonus: ##B3x @@##b
+##2 21 Days login bonus: ##B3x @@##b
+
+##2 21 Days login bonus: ##B7x @@##b
+##2 21 Days login bonus: ##B7x @@##b
+
+##2 27 Days login bonus: ##B1x @@##b
+##2 27 Days login bonus: ##B1x @@##b
+
+##2 3 Days login bonus: ##B1x @@##b
+##2 3 Days login bonus: ##B1x @@##b
+
+##2 7 Days login bonus: ##B2x @@##b
+##2 7 Days login bonus: ##B2x @@##b
+
+##2 7 Days login bonus: ##B3x @@##b
+##2 7 Days login bonus: ##B3x @@##b
+
+##2 7 Days login bonus: ##B@@ Job Exp.##b
+##2 7 Days login bonus: ##B@@ Job Exp.##b
+
+##2 @@ Days login bonus: ##B2x @@##b
+##2 @@ Days login bonus: ##B2x @@##b
+
+##2 @@ Days login bonus: ##B2x @@, 1x @@##b
+##2 @@ Days login bonus: ##B2x @@, 1x @@##b
+
+##2Daily login bonus: ##B1x @@##b
+##2Daily login bonus: ##B1x @@##b
+
+##2Daily login bonus: ##B@@ EXP##b
+##2Daily login bonus: ##B@@ EXP##b
+
+##2Daily login bonus: ##B@@ GP##b
+##2Daily login bonus: ##B@@ GP##b
+
+##2Daily login bonus: ##B@@ Job Exp.##b
+##2Daily login bonus: ##B@@ Job Exp.##b
+
+##2The Monster Colonel was defeated by @@!
+##2The Monster Colonel was defeated by @@!
+
+##2The Monster Lieutenant was defeated by @@!
+##2The Monster Lieutenant was defeated by @@!
+
+##2Your prize: @@ GP
+##2Your prize: @@ GP
+
+##9Hey wait... Your coin turned on a @@!
+##9Hey wait... Your coin turned on a @@!
+
+##9Was that not sufficient, this someone acquired MAGIC and is now under @@'s group.
+##9Was that not sufficient, this someone acquired MAGIC and is now under @@'s group.
+
+##9You found an old well with a bucket on it! It's time to fill plenty of @@!
+##9You found an old well with a bucket on it! It's time to fill plenty of @@!
+
+##BHall Of Academics: TOP10##b
+##BHall Of Academics: TOP10##b
+
+##BHall Of Fame: TOP10##b
+##BHall Of Fame: TOP10##b
+
+##BYou were stolen##b by an evil NPC.
+##BYou were stolen##b by an evil NPC.
+
+%s - %d/%d HP, %d/%d MP
+%s - %d/%d HP, %d/%d MP
+
+%s, you did your best to entretain me. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+%s, you did your best to entretain me. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+%s, you're a good student. You have a bright future if you keep listening to me.
+%s, you're a good student. You have a bright future if you keep listening to me.
+
+'.' "I forgot how to allocate status!"
+'.' "I forgot how to allocate status!"
+
+(10,000 GP) Legendary Mount
+(10,000 GP) Legendary Mount
+
+(100,000 GP) Legendary Mount
+(100,000 GP) Legendary Mount
+
+(By the way, it is rude to not listen when people are speaking to you. Read the dialogs! Important stuff can be found on them.)
+(By the way, it is rude to not listen when people are speaking to you. Read the dialogs! Important stuff can be found on them.)
+
+(Click on me to hear the conversation and advance. I am a NPC, and NPCs can be interact by clicking.)
+(Click on me to hear the conversation and advance. I am a NPC, and NPCs can be interact by clicking.)
+
+(Protip: Use ##Barrow keys##b to walk around once you wake up.)
+(Protip: Use ##Barrow keys##b to walk around once you wake up.)
+
+(Protip: Use arrow keys to walk around once you wake up.)
+(Protip: Use arrow keys to walk around once you wake up.)
+
+(That was already explained on the intro. Read the dialogs! Important stuff can be found on them.)
+(That was already explained on the intro. Read the dialogs! Important stuff can be found on them.)
+
+* %d/%d AP (???)
+* %d/%d AP (???)
+
+* %d/%d RP (Research Points)
+* %d/%d RP (Research Points)
+
+* +2 in all attributes, permanently
+* +2 in all attributes, permanently
+
+* +5%% EXP Gain and Drop Chance, permanently
+* +5%% EXP Gain and Drop Chance, permanently
+
+* Put the %s safely in storage before jumping.
+* Put the %s safely in storage before jumping.
+
+* Register as a Crafter or Hunter
+* Register as a Crafter or Hunter
+
+* Shoots like crazy, but deals less damage.
+* Shoots like crazy, but deals less damage.
+
+* The only one hand ranged weapon you'll ever find. Not amazing at all.
+* The only one hand ranged weapon you'll ever find. Not amazing at all.
+
+*the text is too faded out to read*
+*the text is too faded out to read*
+
+*whistle*
+*whistle*
+
+-
+-
+
+- 5 @@, with 12000 GP, for a @@.
+- 5 @@, with 12000 GP, for a @@.
+
+...And, if you're lucky, you can touch it and receive magic power."
+...And, if you're lucky, you can touch it and receive magic power."
+
+...But saving me won't be enough, so build trust by the kind gift of 60 @@. I'll be waiting.
+...But saving me won't be enough, so build trust by the kind gift of 60 @@. I'll be waiting.
+
+...Of course, Hasan is an exception.
+...Of course, Hasan is an exception.
+
+...including the fabled "Ultimate PVP Event", as the original creators say...
+...including the fabled "Ultimate PVP Event", as the original creators say...
+
+.::
+.::
+
+.:: @@ Recipe ::.
+.:: @@ Recipe ::.
+
+.:: Help for New Players ::.
+.:: Help for New Players ::.
+
+.:: Main Quest 2-1 ::.
+.:: Main Quest 2-1 ::.
+
+.:: Main Quest 2-2 ::.
+.:: Main Quest 2-2 ::.
+
+.:: Main Quest 2-3 ::.
+.:: Main Quest 2-3 ::.
+
+.:: Main Quest 3-1 ::.
+.:: Main Quest 3-1 ::.
+
+.:: Main Quest 4-2 ::.
+.:: Main Quest 4-2 ::.
+
+.:: Main Quest 4-3 ::.
+.:: Main Quest 4-3 ::.
+
+._. "What are these status useful for?"
+._. "What are these status useful for?"
+
+0 - Base Bonus
+0 - Base Bonus
+
+1 - Accuracy Bonus
+1 - Accuracy Bonus
+
+1 - Attack Bonus
+1 - Attack Bonus
+
+1 - Defense Bonus
+1 - Defense Bonus
+
+1 - Evasion Bonus
+1 - Evasion Bonus
+
+1. ##BDo not bot##b, A character must be being controlled by a human, standing, siting, or logged off. You may only control one character at a time.
+1. ##BDo not bot##b, A character must be being controlled by a human, standing, siting, or logged off. You may only control one character at a time.
+
+100 - @@
+100 - @@
+
+1000 - 20x @@
+1000 - 20x @@
+
+10000 (+10,000 GP) - @@
+10000 (+10,000 GP) - @@
+
+10000 (+100,000 GP) - @@
+10000 (+100,000 GP) - @@
+
+10000 - 30x @@
+10000 - 30x @@
+
+17 Croconut
+17 Croconut
+
+2
+2
+
+2 - Double Power Bonus
+2 - Double Power Bonus
+
+2 - Max Stats Bonus
+2 - Max Stats Bonus
+
+2 - Regeneration Bonus
+2 - Regeneration Bonus
+
+2 - Speed Bonus
+2 - Speed Bonus
+
+2. ##BDo not spam nor flood.##b Texts entirely written in UPPER CASE helps counting as spam.
+2. ##BDo not spam nor flood.##b Texts entirely written in UPPER CASE helps counting as spam.
+
+20 Common Carp
+20 Common Carp
+
+2000 - @@
+2000 - @@
+
+2018-03-16
+2018-03-16
+
+2018-03-23
+2018-03-23
+
+2018-04-08
+2018-04-08
+
+2018-05-31
+2018-05-31
+
+2018-05-31 (Latest)
+2018-05-31 (Latest)
+
+2018-06-30
+2018-06-30
+
+2018-06-30 (Latest)
+2018-06-30 (Latest)
+
+2018-07-27
+2018-07-27
+
+2018-07-27 (Latest)
+2018-07-27 (Latest)
+
+2018-09-13 (Latest)
+2018-09-13 (Latest)
+
+250 - @@
+250 - @@
+
+3
+3
+
+3 - Boss Techniques Bonus
+3 - Boss Techniques Bonus
+
+3 - Mana Economy Bonus
+3 - Mana Economy Bonus
+
+3 - SC Inflict Bonus
+3 - SC Inflict Bonus
+
+3 - SC Resist Bonus
+3 - SC Resist Bonus
+
+3x Pearl Ring (+1 agi/int/dex)
+3x Pearl Ring (+1 agi/int/dex)
+
+4 - Ultimate Bonus
+4 - Ultimate Bonus
+
+4144's Tortuga was seen somewhere. Great rewards if someone knock off that monster... Well, not really.
+4144's Tortuga was seen somewhere. Great rewards if someone knock off that monster... Well, not really.
+
+42
+42
+
+4500 - @@
+4500 - @@
+
+5 Chagashrooms for a Strength Potion!
+5 Chagashrooms for a Strength Potion!
+
+5 Plushrooms for a Haste Potion!
+5 Plushrooms for a Haste Potion!
+
+500 - @@
+500 - @@
+
+5000 (+10,000 GP) - @@
+5000 (+10,000 GP) - @@
+
+7 Grass Carp
+7 Grass Carp
+
+7. ##BAs long as you have an account, you agree with the [@@https://tmw2.org/legal.php|Terms Of Service@@]##b. Shall any rule conflict with these terms, the Terms Of Service provided on that link shall prevail.
+7. ##BAs long as you have an account, you agree with the [@@https://tmw2.org/legal.php|Terms Of Service@@]##b. Shall any rule conflict with these terms, the Terms Of Service provided on that link shall prevail.
+
+8 Croconut
+8 Croconut
+
+8. ##BThe use of real money for ingame stuff, except by sponsoring, is prohibted.
+8. ##BThe use of real money for ingame stuff, except by sponsoring, is prohibted.
+
+87 Plushroom
+87 Plushroom
+
+9.1 will now send players to Nivalis, to keep learning about who they are. While greater forces are at play, the player might be just a minor one, but certainly an important one.
+9.1 will now send players to Nivalis, to keep learning about who they are. While greater forces are at play, the player might be just a minor one, but certainly an important one.
+
+:D "Ah! Yes, that would help a lot! I don't need anything a bandit couldn't give you: 30 @@, 2 @@, 2 @@ and a @@. And 6000 GP."
+:D "Ah! Yes, that would help a lot! I don't need anything a bandit couldn't give you: 30 @@, 2 @@, 2 @@ and a @@. And 6000 GP."
+
+@@ -> @@
+@@ -> @@
+
+@@ disembarks at Candor Island.
+@@ disembarks at Candor Island.
+
+@@ hits himself in the head and forgot you ever went after his men.
+@@ hits himself in the head and forgot you ever went after his men.
+
+@@ increased drop rates to @@%. It will only last @@!
+@@ increased drop rates to @@%. It will only last @@!
+
+@@ increased experience rate to @@%. It will only last @@!
+@@ increased experience rate to @@%. It will only last @@!
+
+@@ is helping me.
+@@ is helping me.
+
+@@ is pressing the doorbell.
+@@ is pressing the doorbell.
+
+@@ is searching something in his book.
+@@ is searching something in his book.
+
+@@/100 @@ killed
+@@/100 @@ killed
+
+@@/150 GP
+@@/150 GP
+
+@@/5 House Maggots
+@@/5 House Maggots
+
+@@/70 @@
+@@/70 @@
+
+A blur shape forms in your front. It seems to be a large ship.
+A blur shape forms in your front. It seems to be a large ship.
+
+A guy named Hasan stole me!
+A guy named Hasan stole me!
+
+A major deflation happened while Saulc wasn't looking, and you may find several items with @@ discount.
+A major deflation happened while Saulc wasn't looking, and you may find several items with @@ discount.
+
+A mild magic barrier prevents you from entering.
+A mild magic barrier prevents you from entering.
+
+A minimum of 3 players at the time of start is required!
+A minimum of 3 players at the time of start is required!
+
+A nice meteor shower is thought to happen in February and May, days 18~25.
+A nice meteor shower is thought to happen in February and May, days 18~25.
+
+A pity a friend of ours drank too much. Juliet knows how to cure, but she needs @@ to do a hangover potion.
+A pity a friend of ours drank too much. Juliet knows how to cure, but she needs @@ to do a hangover potion.
+
+A pity that without having born with magic, you need a Mana Stone... And there are none left...
+A pity that without having born with magic, you need a Mana Stone... And there are none left...
+
+Aah, the old age. Sorry. I won't be able to make the gloves for you today. %%3
+Aah, the old age. Sorry. I won't be able to make the gloves for you today. %%3
+
+Abort.
+Abort.
+
+Access is restricted to guards, as usual.
+Access is restricted to guards, as usual.
+
+According to the Guide, space is ____?
+According to the Guide, space is ____?
+
+Accumulate Power - Raise damage of next skill.
+Accumulate Power - Raise damage of next skill.
+
+Actually, the Dummy don't fight back. Are you afraid?
+Actually, the Dummy don't fight back. Are you afraid?
+
+Actually, this fails without tmwa dark magic.
+Actually, this fails without tmwa dark magic.
+
+Actually. Who are you again? A headache which doesn't wants to pass strikes you.
+Actually. Who are you again? A headache which doesn't wants to pass strikes you.
+
+Adding gems will give special stats to rings, and they'll become lighter, but these gems cannot be removed easily.
+Adding gems will give special stats to rings, and they'll become lighter, but these gems cannot be removed easily.
+
+Additional security measures were put in place so such disaster, of a whole world crashing, doesn't happens again.
+Additional security measures were put in place so such disaster, of a whole world crashing, doesn't happens again.
+
+Additionally, for the optimal experience, ensure your party has at least the following members:
+Additionally, for the optimal experience, ensure your party has at least the following members:
+
+Advanced Dungeon
+Advanced Dungeon
+
+Adventurers entirely redressed, people doing Grand Hunter Quest like mad, peple making wishes at... well...
+Adventurers entirely redressed, people doing Grand Hunter Quest like mad, peple making wishes at... well...
+
+Adventurers got drunk to get more EXP?! Players can now buy houses and make their own wine!
+Adventurers got drunk to get more EXP?! Players can now buy houses and make their own wine!
+
+After much struggle with the lazy builders, Nivalis Town is finally open for visit again!
+After much struggle with the lazy builders, Nivalis Town is finally open for visit again!
+
+After paying the divorce fee, she said: "Blame Saulc for this one."
+After paying the divorce fee, she said: "Blame Saulc for this one."
+
+After the Great Famine which happened after the Red Queen death, it was founded by people who sailed away in look of new opportunities.
+After the Great Famine which happened after the Red Queen death, it was founded by people who sailed away in look of new opportunities.
+
+Ah! I know. Kill 10 @@. They usually are the crops.
+Ah! I know. Kill 10 @@. They usually are the crops.
+
+Ah, Hasan... Sorry pal, afraid I can't do anything for you. Try talking to his mother Sorfina, she is on Mahoud's house, near the Inn.#0
+Ah, Hasan... Sorry pal, afraid I can't do anything for you. Try talking to his mother Sorfina, she is on Mahoud's house, near the Inn.
+
+Ah, Hasan... Sorry pal, afraid I can't do anything for you. Try talking to his mother Sorfina, she is on Mahoud's house, near the Inn.#1
+Ah, Hasan... Sorry pal, afraid I can't do anything for you. Try talking to his mother Sorfina, she is on Mahoud's house, near the Inn.
+
+Ah, nothing too major, as you already have magic.
+Ah, nothing too major, as you already have magic.
+
+Ah, there are lots on dark mines.
+Ah, there are lots on dark mines.
+
+Ah, there are lots on the fields.
+Ah, there are lots on the fields.
+
+Ah, this is boring.
+Ah, this is boring.
+
+Ah... I am too lazy to ask for anything in exchange. Here. Take it. Free.
+Ah... I am too lazy to ask for anything in exchange. Here. Take it. Free.
+
+Ah... You must update your client first.
+Ah... You must update your client first.
+
+Ahh, I hate @@.
+Ahh, I hate @@.
+
+Aisen
+Aisen
+
+Alchemy system Not Yet Implemented - Blame Jesusalva
+Alchemy system Not Yet Implemented - Blame Jesusalva
+
+All contributors should claim their rewards with Lua. Weather is there, night cycle happens where monsters are more active.
+All contributors should claim their rewards with Lua. Weather is there, night cycle happens where monsters are more active.
+
+All hail ##B@@##b, first to complete the ##3Yeti King Quest!
+All hail ##B@@##b, first to complete the ##3Yeti King Quest!
+
+Allows to move/attack while casting. (Melee attacks still interrupt casting!)
+Allows to move/attack while casting. (Melee attacks still interrupt casting!)
+
+Alright, I'll look in the archives. I'll have an answer for you in three hours. Meanwhile, why don't you suppress the bandits on the cliff?
+Alright, I'll look in the archives. I'll have an answer for you in three hours. Meanwhile, why don't you suppress the bandits on the cliff?
+
+Alright, I'll look in the archives. I'll have an answer for you in two hours. Meanwhile, why don't you suppress the bandits on the cliff?
+Alright, I'll look in the archives. I'll have an answer for you in two hours. Meanwhile, why don't you suppress the bandits on the cliff?
+
+Alright, I'm going to the capt'n room, keep an eye on her, we still don't know if she's friend or foe...#0
+Alright, I'm going to the capt'n room, keep an eye on her, we still don't know if she's friend or foe...
+
+Alright, I'm going to the capt'n room, keep an eye on him, we still don't know if he's friend or foe...#1
+Alright, I'm going to the capt'n room, keep an eye on him, we still don't know if he's friend or foe...
+
+Alright, take your time we are not in a hurry.
+Alright, take your time we are not in a hurry.
+
+Alright... I shall acknowledge you...
+Alright... I shall acknowledge you...
+
+Also, hidden in a forest which is not either hot or cold, is the Gold Pot Cauldron...
+Also, hidden in a forest which is not either hot or cold, is the Gold Pot Cauldron...
+
+Also, the Inn folks said the Ducks keep bothering them, but they've noticed a small decrease lately.
+Also, the Inn folks said the Ducks keep bothering them, but they've noticed a small decrease lately.
+
+Also, they can control the city taxes, which incide upon purchases and sales within the town.
+Also, they can control the city taxes, which incide upon purchases and sales within the town.
+
+Also, we took your yayed clothes, as they were... Yeyeye... In a bad shape. Go check the chest near your bed, there are some other ones inside.#0
+Also, we took your yayed clothes, as they were... Yeyeye... In a bad shape. Go check the chest near your bed, there are some other ones inside.
+
+Also, we took your yayed clothes, as they were... Yeyeye... In a bad shape. Go check the chest near your bed, there are some other ones inside.#1
+Also, we took your yayed clothes, as they were... Yeyeye... In a bad shape. Go check the chest near your bed, there are some other ones inside.
+
+Also, weird voices are talking to new players, asking if they're here because a friend.
+Also, weird voices are talking to new players, asking if they're here because a friend.
+
+Also, you seem like you are from around LoF. Why don't you take a free @@?
+Also, you seem like you are from around LoF. Why don't you take a free @@?
+
+Amethyst Ring (+2 dex)
+Amethyst Ring (+2 dex)
+
+An emergency skill which temporaly raises all your stats.
+An emergency skill which temporaly raises all your stats.
+
+An error happened: Unable to initialize timer
+An error happened: Unable to initialize timer
+
+An error happened: Unable to spawn: 'Energy Ball'
+An error happened: Unable to spawn: 'Energy Ball'
+
+An error happened: mission_well_done() error
+An error happened: mission_well_done() error
+
+An error happened: professor_thankyou() error
+An error happened: professor_thankyou() error
+
+And I have no mention of a so called "@@" on it!
+And I have no mention of a so called "@@" on it!
+
+And anyone who hanged out on #evol-dev knows that, well... Cookies are life!
+And anyone who hanged out on #evol-dev knows that, well... Cookies are life!
+
+And how do I save items?
+And how do I save items?
+
+And how do I save money?
+And how do I save money?
+
+And on the meanwhile, ships sailors are shouting at you.
+And on the meanwhile, ships sailors are shouting at you.
+
+And speaking in reward, guards are looking for someone contrabanding goods from Artis. Do not help them!
+And speaking in reward, guards are looking for someone contrabanding goods from Artis. Do not help them!
+
+And then what happened?
+And then what happened?
+
+And then, finally, depart to ##BHalinarzo##b. Maybe, just maybe, someone recognize you. Or, start a new life! Few people can do that!
+And then, finally, depart to ##BHalinarzo##b. Maybe, just maybe, someone recognize you. Or, start a new life! Few people can do that!
+
+And they say I am the greedy one. Hmpf.
+And they say I am the greedy one. Hmpf.
+
+And you? How's it going on your side?
+And you? How's it going on your side?
+
+And your rare, a @@! Enjoy!
+And your rare, a @@! Enjoy!
+
+Andrei Sakar is also repeating his questions about World Lore, although rewards are now smaller.
+Andrei Sakar is also repeating his questions about World Lore, although rewards are now smaller.
+
+Andrei Sakar is on the other side of this gate, killing monsters, as we speak.
+Andrei Sakar is on the other side of this gate, killing monsters, as we speak.
+
+AngryScorpion
+AngryScorpion
+
+Another way to attack it is clicking on it. Now, there are some things you must know before fighting this dangerous creature!
+Another way to attack it is clicking on it. Now, there are some things you must know before fighting this dangerous creature!
+
+Anwar left his house to tend Tulimshar's crops, after noticing something strange with them. He blames the Monster King.
+Anwar left his house to tend Tulimshar's crops, after noticing something strange with them. He blames the Monster King.
+
+Anyway, ##Bwelcome##b, and have fun! If you need anything, we are a keypress from distance!
+Anyway, ##Bwelcome##b, and have fun! If you need anything, we are a keypress from distance!
+
+Anyway, I think if you go to Hurnscald Townhall, and speak with the mayor, he can help you getting there. You can't reach there normally, after all.
+Anyway, I think if you go to Hurnscald Townhall, and speak with the mayor, he can help you getting there. You can't reach there normally, after all.
+
+Anyway, I think you should go to Hurnscald Townhall, and speak with the mayor.
+Anyway, I think you should go to Hurnscald Townhall, and speak with the mayor.
+
+Anyway, here your reward.
+Anyway, here your reward.
+
+Anyway, my herb mixture keep monsters away.
+Anyway, my herb mixture keep monsters away.
+
+Anyway, you can check our [@@https://gitlab.com/TMW2/Docs/wikis/home|Wiki@@] to find awesome stuff!
+Anyway, you can check our [@@https://gitlab.com/TMW2/Docs/wikis/home|Wiki@@] to find awesome stuff!
+
+Anyway, you can check our [@@https://gitlab.com/TMW2/TheManaWorld_Wiki/wikis/home|Wiki@@] to find awesome stuff!
+Anyway, you can check our [@@https://gitlab.com/TMW2/TheManaWorld_Wiki/wikis/home|Wiki@@] to find awesome stuff!
+
+Archers start to appear on the game! It seems archery is easier now!
+Archers start to appear on the game! It seems archery is easier now!
+
+Are you cheating?
+Are you cheating?
+
+Are you sure you want to port level %d for Valentine?
+Are you sure you want to port level %d for Valentine?
+
+Are you using my skill?
+Are you using my skill?
+
+Area Provoke - Provoke all monsters centered on target.
+Area Provoke - Provoke all monsters centered on target.
+
+Area Provoke - Provoke all monsters centered on yourself.
+Area Provoke - Provoke all monsters centered on yourself.
+
+AreaNPC
+AreaNPC
+
+AreaNPC#doors5
+AreaNPC#doors5
+
+Arkim also developed a powerful petiscide to make Pinkies less healthy, but that was long ago.
+Arkim also developed a powerful petiscide to make Pinkies less healthy, but that was long ago.
+
+Arrow Shower - Shoot FIVE arrows or bullets to the air and cause Area Of Effect Damage.
+Arrow Shower - Shoot FIVE arrows or bullets to the air and cause Area Of Effect Damage.
+
+Arrows prices were lowered, and a limited teleport to Frostia and Halinarzo is now possible.
+Arrows prices were lowered, and a limited teleport to Frostia and Halinarzo is now possible.
+
+Artis
+Artis
+
+Artis Backsword
+Artis Backsword
+
+Artis is a city port founded after the Great Famine on the other continent.
+Artis is a city port founded after the Great Famine on the other continent.
+
+As promised, here is @@ GP, the fair price for your material, and refunds.
+As promised, here is @@ GP, the fair price for your material, and refunds.
+
+As usual, you can get only one hat yearly, for the symbolic amount of 30 @@ and 10 @@!
+As usual, you can get only one hat yearly, for the symbolic amount of 30 @@ and 10 @@!
+
+As you see, helping others is a good way to level up. You can also sell monster parts for some money.
+As you see, helping others is a good way to level up. You can also sell monster parts for some money.
+
+AssassinChest
+AssassinChest
+
+Astra Cube
+Astra Cube
+
+Astral attack with low damage value, but which can send ghosts to rest.
+Astral attack with low damage value, but which can send ghosts to rest.
+
+Auldsbel#_M
+Auldsbel#_M
+
+BanditLord
+BanditLord
+
+Bare Hands
+Bare Hands
+
+Be aware I can only bake batches of 5 potions.
+Be aware I can only bake batches of 5 potions.
+
+Be careful to don't get lost in this forest.
+Be careful to don't get lost in this forest.
+
+Begin endless mode
+Begin endless mode
+
+Berserker#0
+Berserker
+
+Berserker#1
+Berserker
+
+Better ask your parents for one... Failing that, maybe someone can gift you one. Not sure what you'll need to do for that, though!
+Better ask your parents for one... Failing that, maybe someone can gift you one. Not sure what you'll need to do for that, though!
+
+Bhopper egg
+Bhopper egg
+
+Black Cotton Dye
+Black Cotton Dye
+
+Black Pearl Ring (+1 str/vit/luk)
+Black Pearl Ring (+1 str/vit/luk)
+
+Blame Jesusalva
+Blame Jesusalva
+
+Blob
+Blob
+
+Blow with increased attack and precision.
+Blow with increased attack and precision.
+
+Blue Cotton Dye
+Blue Cotton Dye
+
+Blue Gray Cotton Dye
+Blue Gray Cotton Dye
+
+Bobby
+Bobby
+
+Break the door.
+Break the door.
+
+Bromenal
+Bromenal
+
+Bronze Mimic
+Bronze Mimic
+
+Brown Cotton Dye
+Brown Cotton Dye
+
+Bug, please report: Merry Christmas I am no one
+Bug, please report: Merry Christmas I am no one
+
+Bug, please report: Merry Christmas I am undefined
+Bug, please report: Merry Christmas I am undefined
+
+Bug, please report: Merry Christmas, I am @@. I got @@/@@ on exams last week!
+Bug, please report: Merry Christmas, I am @@. I got @@/@@ on exams last week!
+
+Bull
+Bull
+
+Bury.
+Bury.
+
+But @@ is too valorous, you can only forge with it! So it sells well, about @@ GP.
+But @@ is too valorous, you can only forge with it! So it sells well, about @@ GP.
+
+But I probably should not do it. It might be poisoned!
+But I probably should not do it. It might be poisoned!
+
+But be careful: Only 1MSP-costed skills can be forgotten, and learning fees WON'T be given back!
+But be careful: Only 1MSP-costed skills can be forgotten, and learning fees WON'T be given back!
+
+But be careful: Only 2MSP-costed skills can be forgotten, and learning fees WON'T be given back!
+But be careful: Only 2MSP-costed skills can be forgotten, and learning fees WON'T be given back!
+
+But be careful: Only 3MSP-costed skills can be forgotten, and learning fees WON'T be given back!
+But be careful: Only 3MSP-costed skills can be forgotten, and learning fees WON'T be given back!
+
+But be careful: do not scream when using a lot of capital letters, and do not keep repeating the lines, or you may be severely penalized.
+But be careful: do not scream when using a lot of capital letters, and do not keep repeating the lines, or you may be severely penalized.
+
+But be warned, I don't have the Apple with me. It's further in.
+But be warned, I don't have the Apple with me. It's further in.
+
+But hey, it is Easter and the poll is still open, so here are 15 @@ as a consolation prize.
+But hey, it is Easter and the poll is still open, so here are 15 @@ as a consolation prize.
+
+But if you try to create equipment, assuming magic doesn't backfire, YOU WILL BE BANNED from this school, and lose your class. Permanently.
+But if you try to create equipment, assuming magic doesn't backfire, YOU WILL BE BANNED from this school, and lose your class. Permanently.
+
+But in accordance to [@@https://tmw2.org/forums/viewtopic.php?pid=8|Community Decision@@], you were unlucky.
+But in accordance to [@@https://tmw2.org/forums/viewtopic.php?pid=8|Community Decision@@], you were unlucky.
+
+But most important, she is the one who took care of you when you were unconscious.#0
+But most important, she is the one who took care of you when you were unconscious.
+
+But most important, she is the one who took care of you when you were unconscious.#1
+But most important, she is the one who took care of you when you were unconscious.
+
+But now, we are quite old, I remember the time when I was your age. My generation don't do stupid things like yours!
+But now, we are quite old, I remember the time when I was your age. My generation don't do stupid things like yours!
+
+But the money you brought was really awesome you know.
+But the money you brought was really awesome you know.
+
+But this is not important now. The ships sailors are shouting at you!
+But this is not important now. The ships sailors are shouting at you!
+
+But travel by sea, or access to the village on itself, is thoroughly impossible. Andrei Sakar is at ready.
+But travel by sea, or access to the village on itself, is thoroughly impossible. Andrei Sakar is at ready.
+
+But travel by sea, or access to the village on itself, is throughly impossible. Andrei Sakar is at ready.
+But travel by sea, or access to the village on itself, is throughly impossible. Andrei Sakar is at ready.
+
+But who knows what future holds. The Monster King was blamed as responsible, but he killed our interviewer. Eeh.
+But who knows what future holds. The Monster King was blamed as responsible, but he killed our interviewer. Eeh.
+
+But whoa, not so fast! You must pass the seven steps of a trial first!
+But whoa, not so fast! You must pass the seven steps of a trial first!
+
+Buy it
+Buy it
+
+By last, there was the Blue Sage, living on Nivalis... I never met him.
+By last, there was the Blue Sage, living on Nivalis... I never met him.
+
+By the way, I found this Helmet after you killed the Fafi Dragon, Maybe you can use it some day.
+By the way, I found this Helmet after you killed the Fafi Dragon, Maybe you can use it some day.
+
+By the way, you need a couple of @@ to try the skill. Fail rate is pretty high, but that book will teach you how to reduce it.
+By the way, you need a couple of @@ to try the skill. Fail rate is pretty high, but that book will teach you how to reduce it.
+
+COLLECT EVERY ITEM W/O ATTACKING test
+COLLECT EVERY ITEM W/O ATTACKING test
+
+CONDEMNED: This building has been condemned. The roof may fall. Be careful!
+CONDEMNED: This building has been condemned. The roof may fall. Be careful!
+
+CONGRATULATIONS! For a year worth of logins, you're getting a pet!
+CONGRATULATIONS! For a year worth of logins, you're getting a pet!
+
+COntributor Sweater
+COntributor Sweater
+
+Call Of Dusty: Event End!
+Call Of Dusty: Event End!
+
+Call Of Dusty: Event Start!
+Call Of Dusty: Event Start!
+
+Camel Cotton Dye
+Camel Cotton Dye
+
+Can you bring me 6 piece of Cherry Cake? Pretty please?
+Can you bring me 6 piece of Cherry Cake? Pretty please?
+
+Can you craft Savior Pants?
+Can you craft Savior Pants?
+
+Can you teach me a basic tier 1 magic skill?
+Can you teach me a basic tier 1 magic skill?
+
+Can you teach me a basic tier 2 magic skill?
+Can you teach me a basic tier 2 magic skill?
+
+Can't bring pets with you...
+Can't bring pets with you...
+
+Cancels Poison. Antidotes are hard to come by, anyway.
+Cancels Poison. Antidotes are hard to come by, anyway.
+
+Candor - 2,500 GP
+Candor - 2,500 GP
+
+Candor Battle Score: %d
+Candor Battle Score: %d
+
+Candor Trainer read all the references that he could find and is wiser than ever!
+Candor Trainer read all the references that he could find and is wiser than ever!
+
+Candor was sightly reworked in terms of gold gain/expense. @@ was added.
+Candor was sightly reworked in terms of gold gain/expense. @@ was added.
+
+Canyon - Dangerous Route
+Canyon - Dangerous Route
+
+Captain Nard is in the room to your right.
+Captain Nard is in the room to your right.
+
+Cards are ranked on this priority: @@
+Cards are ranked on this priority: @@
+
+Cauldron#RES_0177
+Cauldron#RES_0177
+
+Cauldron#RES_0178
+Cauldron#RES_0178
+
+Causes a @@ bolt on the enemy. Number of hits is the skill level.
+Causes a @@ bolt on the enemy. Number of hits is the skill level.
+
+Cave Snake lamp
+Cave Snake lamp
+
+Cavern Bat
+Cavern Bat
+
+Central Woodlands suffered dramatic changes due Saulc (ab)using his GM powers.
+Central Woodlands suffered dramatic changes due Saulc (ab)using his GM powers.
+
+Ch 2 — Magic Experience
+Ch 2 — Magic Experience
+
+Ch 2 — Mana Magic vs Common Magic
+Ch 2 — Mana Magic vs Common Magic
+
+Ch 3 — Subclass
+Ch 3 — Subclass
+
+Change my level
+Change my level
+
+Change my skills
+Change my skills
+
+Change my stats
+Change my stats
+
+Changes anyone's weapon to Holy elemental. Causes small damage when used on offensive.
+Changes anyone's weapon to Holy elemental. Causes small damage when used on offensive.
+
+Check if black boxes won't bust language system!
+Check if black boxes won't bust language system!
+
+ChefHat
+ChefHat
+
+Chemist Helmet
+Chemist Helmet
+
+CherryCake
+CherryCake
+
+Chocolate Cashmere Dye
+Chocolate Cashmere Dye
+
+Choose desired quest state:
+Choose desired quest state:
+
+Christmas Event: 21/12 ~ 09/01
+Christmas Event: 21/12 ~ 09/01
+
+Cindy
+Cindy
+
+Citzen
+Citzen
+
+Citzens on the world are now listeing to different tunes, and new adventurers were found... in desert islands?
+Citzens on the world are now listeing to different tunes, and new adventurers were found... in desert islands?
+
+Click here for instructions on how to use the test server.
+Click here for instructions on how to use the test server.
+
+Click on Elmo or Magic Arpan to continue...
+Click on Elmo or Magic Arpan to continue...
+
+Client Version: @@
+Client Version: @@
+
+Close Extension
+Close Extension
+
+Coffee is good, why the Mouboo don't want it?
+Coffee is good, why the Mouboo don't want it?
+
+Colonel DUSTMAN opened the Heroes Hold to the hardcore player. Noobs, keep out! Good players only!
+Colonel DUSTMAN opened the Heroes Hold to the hardcore player. Noobs, keep out! Good players only!
+
+Come back soon!
+Come back soon!
+
+Come talk to me when you're ready, and we can begin.
+Come talk to me when you're ready, and we can begin.
+
+Congrats you passed the cap of the level 50! Here is your @@, you deserve it.
+Congrats you passed the cap of the level 50! Here is your @@, you deserve it.
+
+Congrats! You got the coins prize!
+Congrats! You got the coins prize!
+
+Congrats! You got thirty coins!
+Congrats! You got thirty coins!
+
+Congratulations! Here is your reward (40 xp 25 gp).
+Congratulations! Here is your reward (40 xp 25 gp).
+
+Continue at your own risk.
+Continue at your own risk.
+
+Cotton Cloth (0.5 power)
+Cotton Cloth (0.5 power)
+
+CottonBoots
+CottonBoots
+
+CottonTrous
+CottonTrous
+
+Could I ask you what your native language is? A sailor told me you're Russian, but another one told me you're French... I'm a bit lost. I will register you on the ship passenger list just after that.#0
+Could I ask you what your native language is? A sailor told me you're Russian, but another one told me you're French... I'm a bit lost. I will register you on the ship passenger list just after that.
+
+Could I ask you what your native language is? A sailor told me you're Russian, but another one told me you're French... I'm a bit lost. I will register you on the ship passenger list just after that.#1
+Could I ask you what your native language is? A sailor told me you're Russian, but another one told me you're French... I'm a bit lost. I will register you on the ship passenger list just after that.
+
+Could be nice if you could bring me this:
+Could be nice if you could bring me this:
+
+Could you bleach my clothes?
+Could you bleach my clothes?
+
+Counter Attack - Next attack will be retaliated, with twice critical ratio.
+Counter Attack - Next attack will be retaliated, with twice critical ratio.
+
+Crazyfefe Fight was remastered. The 8.0 release series was the longest release serial thus far.
+Crazyfefe Fight was remastered. The 8.0 release series was the longest release serial thus far.
+
+Create items
+Create items
+
+Crimson Cashmere Dye
+Crimson Cashmere Dye
+
+Crusader Card
+Crusader Card
+
+Crypt Key
+Crypt Key
+
+Current Event:
+Current Event:
+
+Current Progress: @@/10,000 kills
+Current Progress: @@/10,000 kills
+
+Current drop rate is set to @@% (default value).
+Current drop rate is set to @@% (default value).
+
+Current exp rate is set to @@% (default value).
+Current exp rate is set to @@% (default value).
+
+Current progress: @@/10000 @@
+Current progress: @@/10000 @@
+
+Currently, there is no way to reset them. So use them wisely!
+Currently, there is no way to reset them. So use them wisely!
+
+DEBUG: Changing @@ from @@ to something else.
+DEBUG: Changing @@ from @@ to something else.
+
+DO NOT KILL test
+DO NOT KILL test
+
+DO RANDOM EMOTE test
+DO RANDOM EMOTE test
+
+DON'T TAKE THE ITEM test
+DON'T TAKE THE ITEM test
+
+Dargh, you broke the lock!!
+Dargh, you broke the lock!!
+
+Dark Illusion
+Dark Illusion
+
+Dark Red Cotton Dye
+Dark Red Cotton Dye
+
+Darkhelm
+Darkhelm
+
+Debug - Change level
+Debug - Change level
+
+Debug - Change stats
+Debug - Change stats
+
+Debug#BlueSage
+Debug#BlueSage
+
+Decrease ranged damage taken for a few minutes, in exchange of agi and move speed. Req. Shield.
+Decrease ranged damage taken for a few minutes, in exchange of agi and move speed. Req. Shield.
+
+Definitive item break? Too dangerous! I don't want it!!
+Definitive item break? Too dangerous! I don't want it!!
+
+Demonic Chest
+Demonic Chest
+
+Demonic Earth Powder
+Demonic Earth Powder
+
+Demonic Goblin
+Demonic Goblin
+
+Demonic Mouboo
+Demonic Mouboo
+
+Demonic Scythe
+Demonic Scythe
+
+Demonic Skull
+Demonic Skull
+
+Demure#ValentineFinal
+Demure#ValentineFinal
+
+Desert Bow
+Desert Bow
+
+Despite its initial dubious fragrance, the tea comes off as very smooth and mellow with a bit of natural sweetness and a touch of an earthy forest like flavour, but in a very good way.
+Despite its initial dubious fragrance, the tea comes off as very smooth and mellow with a bit of natural sweetness and a touch of an earthy forest like flavour, but in a very good way.
+
+Diamond Ring (+2 vit)
+Diamond Ring (+2 vit)
+
+Did this Mouboo just blinked? No, I made sure to kill it. Must have been my imagination.
+Did this Mouboo just blinked? No, I made sure to kill it. Must have been my imagination.
+
+Did you brought us a kind gift of good will, on the worth of 60 @@, to offer to our King?
+Did you brought us a kind gift of good will, on the worth of 60 @@, to offer to our King?
+
+Did you came here by someone advise? If yes, write their name here!
+Did you came here by someone advise? If yes, write their name here!
+
+Did you have any other questions for me?
+Did you have any other questions for me?
+
+Did you knew some crazy adventurers insists there is a Mana Stone on the danerous caves inside the town?
+Did you knew some crazy adventurers insists there is a Mana Stone on the danerous caves inside the town?
+
+Did you really thought I would allow you to read the question answers on the source code?
+Did you really thought I would allow you to read the question answers on the source code?
+
+Did you say reward? I want it!
+Did you say reward? I want it!
+
+Did you see Jhedia the blacksmith in Tulimshar? He might know how you could get this.
+Did you see Jhedia the blacksmith in Tulimshar? He might know how you could get this.
+
+Dig.
+Dig.
+
+Dimond bought a brand new slot machine and installed on her inn. The rewards are different from the one on Tulimshar.
+Dimond bought a brand new slot machine and installed on her inn. The rewards are different from the one on Tulimshar.
+
+Disable event
+Disable event
+
+Divine Rage - @sk-demure
+Divine Rage - @sk-demure
+
+Do not attempt to use the normal route with a @@ with you.
+Do not attempt to use the normal route with a @@ with you.
+
+Do not attempt to use the normal route without a %s with you.
+Do not attempt to use the normal route without a %s with you.
+
+Do not enter on this storehouse, the maggots there will kill you.
+Do not enter on this storehouse, the maggots there will kill you.
+
+Do not give the password of your room to anybody! Keep it secret and try not to use the same one in any other room in the future. - Juliet
+Do not give the password of your room to anybody! Keep it secret and try not to use the same one in any other room in the future. - Juliet
+
+Do nothing
+Do nothing
+
+Do you feel too weak even to do damage to this areas wishy-washy wildlife?
+Do you feel too weak even to do damage to this areas wishy-washy wildlife?
+
+Do you have any other questions for me?
+Do you have any other questions for me?
+
+Do you have the @@/11 @@ I requested? Sailors are getting hungry because you!
+Do you have the @@/11 @@ I requested? Sailors are getting hungry because you!
+
+Do you really think the poor creature should jump a bridge in water and DIE?
+Do you really think the poor creature should jump a bridge in water and DIE?
+
+Do you see the crocs, with their claws and such? They have high defense, this means your attacks deal less damage.
+Do you see the crocs, with their claws and such? They have high defense, this means your attacks deal less damage.
+
+Do you want to cross Nivalis city to the other side?
+Do you want to cross Nivalis city to the other side?
+
+Do you want to cut this @@?
+Do you want to cut this @@?
+
+Do you want to go against the Monster King now? The event will start 16:30 UTC sharply.
+Do you want to go against the Monster King now? The event will start 16:30 UTC sharply.
+
+Do you want to use this place as save point?
+Do you want to use this place as save point?
+
+Don't be afraid of death. Of course, in most places, dying will reduce your Experience.
+Don't be afraid of death. Of course, in most places, dying will reduce your Experience.
+
+Don't buy it
+Don't buy it
+
+Don't go alone, though! He would not listen to me, it is not you alone he'll pay attention.
+Don't go alone, though! He would not listen to me, it is not you alone he'll pay attention.
+
+DoorUpwards
+DoorUpwards
+
+Drag and drop a @@ in a @@, and you will obtain a @@.
+Drag and drop a @@ in a @@, and you will obtain a @@.
+
+Drag and drop a weapon from your inventory.
+Drag and drop a weapon from your inventory.
+
+Drains Mana to reduce damage taken. The only defensive skill from wizards.
+Drains Mana to reduce damage taken. The only defensive skill from wizards.
+
+Drake the Traveler
+Drake the Traveler
+
+Drinking what drink is like having your brain smashed out by a slice of lemon wrapped round a large gold brick?
+Drinking what drink is like having your brain smashed out by a slice of lemon wrapped round a large gold brick?
+
+Drop Rate management
+Drop Rate management
+
+Drop rates raised drastically for the lucky ones. Eternal Swamp floods are now more cyclic.
+Drop rates raised drastically for the lucky ones. Eternal Swamp floods are now more cyclic.
+
+Dry season at Tulimshar causes crops problems!
+Dry season at Tulimshar causes crops problems!
+
+Due this bug, when you logged off on the BotCheck Area, @@. We wanted to deliver you a token of apology!
+Due this bug, when you logged off on the BotCheck Area, @@. We wanted to deliver you a token of apology!
+
+Due town state, you cannot visit it. Do you want to cross to the other side?
+Due town state, you cannot visit it. Do you want to cross to the other side?
+
+During a very small amount of time, you'll counter any attack with double critical, and won't take the damage.
+During a very small amount of time, you'll counter any attack with double critical, and won't take the damage.
+
+ENEEEEEEEEERGY BALLLLLLL!
+ENEEEEEEEEERGY BALLLLLLL!
+
+ERROR TODO
+ERROR TODO
+
+ERROR, Please report: GHQ GMID: Invalid ID: @@
+ERROR, Please report: GHQ GMID: Invalid ID: @@
+
+ERROR, Please report: GHQ GQID: Invalid ID: @@
+ERROR, Please report: GHQ GQID: Invalid ID: @@
+
+ERROR, missing sprite: Snowland.Well
+ERROR, missing sprite: Snowland.Well
+
+ERROR: Target Account already with merge data.
+ERROR: Target Account already with merge data.
+
+ERROR: Target Account is online.
+ERROR: Target Account is online.
+
+ERROR: Unimplemented Function
+ERROR: Unimplemented Function
+
+Easter eggs have been found, like secret rooms.
+Easter eggs have been found, like secret rooms.
+
+Easter will soon start!
+Easter will soon start!
+
+Eight Maggots will rinse from the ground and will start destroying the crops.
+Eight Maggots will rinse from the ground and will start destroying the crops.
+
+Elevel gifts? You guys really have no live! For 204,800 I'll give an extra one.
+Elevel gifts? You guys really have no live! For 204,800 I'll give an extra one.
+
+Elza, the Forgetful
+Elza, the Forgetful
+
+Emerald Ring (+2 luck)
+Emerald Ring (+2 luck)
+
+Empty Box#it
+Empty Box#it
+
+Enable Christmas
+Enable Christmas
+
+Enable Demure's Birthday
+Enable Demure's Birthday
+
+Enable Easter
+Enable Easter
+
+Enable Event Horizon
+Enable Event Horizon
+
+Enable Refeer Program
+Enable Refeer Program
+
+Enable St. Patrick Day
+Enable St. Patrick Day
+
+Enable Thanksgiving
+Enable Thanksgiving
+
+Enable Valentine Day
+Enable Valentine Day
+
+Enable Worker's Day
+Enable Worker's Day
+
+Enter desired skill level:
+Enter desired skill level:
+
+Enzo, the Forgetful
+Enzo, the Forgetful
+
+Error translating item ID @@ to @@ (Bracco, idx, id)
+Error translating item ID @@ to @@ (Bracco, idx, id)
+
+Error, error, L_T2_S0 General Error, REPORT ME
+Error, error, L_T2_S0 General Error, REPORT ME
+
+Error, marine_maxre invalid @@
+Error, marine_maxre invalid @@
+
+Esperia
+Esperia
+
+Esperia is the human capital founded at the other continent.
+Esperia is the human capital founded at the other continent.
+
+Estard finished arranging sufficient paperwork so adventurers can create their own guilds.
+Estard finished arranging sufficient paperwork so adventurers can create their own guilds.
+
+Even Tulimshar's Council managed to get that sewer unlocked, and as consequence, players can ascend to level 60!
+Even Tulimshar's Council managed to get that sewer unlocked, and as consequence, players can ascend to level 60!
+
+Event Duration: November 3rd ~ November 9th 2018
+Event Duration: November 3rd ~ November 9th 2018
+
+Event stage:
+Event stage:
+
+Every seven successive right guesses, you'll get 2x @@!
+Every seven successive right guesses, you'll get 2x @@!
+
+Every seven successive right guesses, you'll get a @@!
+Every seven successive right guesses, you'll get a @@!
+
+Experience Rate management
+Experience Rate management
+
+Expert Dungeon
+Expert Dungeon
+
+EyePatch
+EyePatch
+
+Ezra, the Very Forgetful
+Ezra, the Very Forgetful
+
+Ezra, the very Forgetful
+Ezra, the very Forgetful
+
+FIXME: This quest is not yet ready, blame Jesusalva ASAP
+FIXME: This quest is not yet ready, blame Jesusalva ASAP
+
+Failed to validate pin. Aborting.
+Failed to validate pin. Aborting.
+
+Failsafe Mechanism
+Failsafe Mechanism
+
+Falkon Punch
+Falkon Punch
+
+Falkon Punch - Bash your weapon against your enemies with raised damage and accuracy.
+Falkon Punch - Bash your weapon against your enemies with raised damage and accuracy.
+
+Falkon Punch!
+Falkon Punch!
+
+Fallen Guard
+Fallen Guard
+
+Fear not! You can check our [@@https://gitlab.com/TMW2/Docs/wikis/home|Wiki@@] to find that and other awesome stuff!
+Fear not! You can check our [@@https://gitlab.com/TMW2/Docs/wikis/home|Wiki@@] to find that and other awesome stuff!
+
+Fighting stronger monsters will yield more EXP, but to make botting less profitable, too weak monsters give less EXP.
+Fighting stronger monsters will yield more EXP, but to make botting less profitable, too weak monsters give less EXP.
+
+Figures clad in dark were reported in Tulimshar Mines, as more miners were hired and need help.
+Figures clad in dark were reported in Tulimshar Mines, as more miners were hired and need help.
+
+Fine.
+Fine.
+
+Fire Walk
+Fire Walk
+
+Fire Walk - Creates a trail of fire, harming any pursuer
+Fire Walk - Creates a trail of fire, harming any pursuer
+
+Fireball - Basic AoE (Area Of Effect) Skill
+Fireball - Basic AoE (Area Of Effect) Skill
+
+First of, you didn't logged in. Without you online, WE CANNOT UNJAIL YOU! We tried with SQL but it didn't budge.
+First of, you didn't logged in. Without you online, WE CANNOT UNJAIL YOU! We tried with SQL but it didn't budge.
+
+First, you need to contribute to the common knowledge of this world. Like, write a %s or something.
+First, you need to contribute to the common knowledge of this world. Like, write a %s or something.
+
+Fishing now gives experience, and two new baits were added: Cheese and Alface.
+Fishing now gives experience, and two new baits were added: Cheese and Alface.
+
+Fluffy Fur
+Fluffy Fur
+
+For (another) one @@, I'll need 4 @@ and 50 GP.
+For (another) one @@, I'll need 4 @@ and 50 GP.
+
+For now, I'll assume your salt is... 9, why not.
+For now, I'll assume your salt is... 9, why not.
+
+For the fishing rod, try looking for a fisher around here. Tricky one, this quest.
+For the fishing rod, try looking for a fisher around here. Tricky one, this quest.
+
+For you, it will be only 150 GP for potion! But I need the base ingredients, four @@ - or @@, depends on which one.
+For you, it will be only 150 GP for potion! But I need the base ingredients, four @@ - or @@, depends on which one.
+
+For you, it will be only 200 GP for potion! But I need the base ingredients, five @@ - or @@, depends on which one.
+For you, it will be only 200 GP for potion! But I need the base ingredients, five @@ - or @@, depends on which one.
+
+For you, it will be only 250 GP for potion! But I need the base ingredients, four @@ - or @@, depends on which one.
+For you, it will be only 250 GP for potion! But I need the base ingredients, four @@ - or @@, depends on which one.
+
+Forest Card
+Forest Card
+
+Free Casting
+Free Casting
+
+Frost Diver - Attempt to freeze an enemy, dealing damage
+Frost Diver - Attempt to freeze an enemy, dealing damage
+
+Frost Nova - Freeze everything in a range
+Frost Nova - Freeze everything in a range
+
+Frostia - 30,000 GP
+Frostia - 30,000 GP
+
+Fuschia Cotton Dye
+Fuschia Cotton Dye
+
+GATLING
+GATLING
+
+GMs weren't using it a lot, and Quirin needed to collect money.
+GMs weren't using it a lot, and Quirin needed to collect money.
+
+Gained @@ XP
+Gained @@ XP
+
+Gatling Shooter
+Gatling Shooter
+
+General Recipes
+General Recipes
+
+Get money
+Get money
+
+Getting in a class is easy, difficult is mastering it. But the more you advance, more powerful skills are unlocked.
+Getting in a class is easy, difficult is mastering it. But the more you advance, more powerful skills are unlocked.
+
+Gimme a sec to take a breath! I don't want to jump!
+Gimme a sec to take a breath! I don't want to jump!
+
+Give me back what you've stole, thief!
+Give me back what you've stole, thief!
+
+Give the Antenna to her?
+Give the Antenna to her?
+
+Go away.
+Go away.
+
+Go very close to it and, speak the four four-letters magic words and he'll appear to you.
+Go very close to it and, speak the four four-letters magic words and he'll appear to you.
+
+Golden Amethyst Ring
+Golden Amethyst Ring
+
+Golden Diamond Ring
+Golden Diamond Ring
+
+Golden Emerald Ring
+Golden Emerald Ring
+
+Golden Ruby Ring
+Golden Ruby Ring
+
+Golden Sapphire Ring
+Golden Sapphire Ring
+
+Golden Scoprion
+Golden Scoprion
+
+Golden Topaz Ring
+Golden Topaz Ring
+
+Golden Warlord Plare
+Golden Warlord Plare
+
+GonzoDark, Saulc.
+GonzoDark, Saulc.
+
+Good job! Here is your reward! (40 xp 25 gp)
+Good job! Here is your reward! (40 xp 25 gp)
+
+Good job! Here is your reward! (50 xp 50 gp)
+Good job! Here is your reward! (50 xp 50 gp)
+
+Good job, here is 1,000,000 GP!
+Good job, here is 1,000,000 GP!
+
+Good job, here is 100,000 GP!
+Good job, here is 100,000 GP!
+
+Good job, here is 150,000 GP and 60 @@!
+Good job, here is 150,000 GP and 60 @@!
+
+Good job, here is 175,000 GP and 60 @@!
+Good job, here is 175,000 GP and 60 @@!
+
+Good job, here is 25,000 GP and 15,000 EXP.
+Good job, here is 25,000 GP and 15,000 EXP.
+
+Good job, here is 25,000 GP and 15,750 EXP.
+Good job, here is 25,000 GP and 15,750 EXP.
+
+Good job, here is 250,000 GP!
+Good job, here is 250,000 GP!
+
+Good job, here is 275,000 GP and 60 @@!
+Good job, here is 275,000 GP and 60 @@!
+
+Good job, here is 300,000 GP and 80 @@!
+Good job, here is 300,000 GP and 80 @@!
+
+Good job, here is @@ GP and @@ @@!
+Good job, here is @@ GP and @@ @@!
+
+Good job, you've killed the 100 @@ and reported back in time!
+Good job, you've killed the 100 @@ and reported back in time!
+
+Good luck adventurers, and may the Pink Mouboo watch over this disaster... Whatever that means. They paid us to say that, I swear!
+Good luck adventurers, and may the Pink Mouboo watch over this disaster... Whatever that means. They paid us to say that, I swear!
+
+Good to hear from you!
+Good to hear from you!
+
+Good, good. The skill you got earlier just raised a single level. I'll also impair some experience on you, no biggies.
+Good, good. The skill you got earlier just raised a single level. I'll also impair some experience on you, no biggies.
+
+Great job! You can keep these items, they will be crucial to your journey.
+Great job! You can keep these items, they will be crucial to your journey.
+
+Great rewards await, according to the voices!
+Great rewards await, according to the voices!
+
+Great! Eomie, the girl on Tulimshar's magic academy, is an alchemist. She makes fertilizers.
+Great! Eomie, the girl on Tulimshar's magic academy, is an alchemist. She makes fertilizers.
+
+Great, I need 11 @@. Remember a good food makes a good crew.
+Great, I need 11 @@. Remember a good food makes a good crew.
+
+Greater agility allows you to attack faster and has a greater chance of evading attacks.
+Greater agility allows you to attack faster and has a greater chance of evading attacks.
+
+Green Cotton Dye
+Green Cotton Dye
+
+Ground Strike - Hit the ground, exploding the surroundings and disabling enemies.
+Ground Strike - Hit the ground, exploding the surroundings and disabling enemies.
+
+Group togheter your guild and challenge the evil power,
+Group togheter your guild and challenge the evil power,
+
+Grrr... Why are @@ on this cave?! What Mercury was doing?!
+Grrr... Why are @@ on this cave?! What Mercury was doing?!
+
+Guilds are now much more stronger, and have exclusive alchemy recipes besides a storage.
+Guilds are now much more stronger, and have exclusive alchemy recipes besides a storage.
+
+Guilds can go from 16 to 56 members, tulimshar was restocked.
+Guilds can go from 16 to 56 members, tulimshar was restocked.
+
+Guilds storage is free for test, and monsters are fainting when too many players attack them at once.
+Guilds storage is free for test, and monsters are fainting when too many players attack them at once.
+
+Halinarzo - 20,000 GP
+Halinarzo - 20,000 GP
+
+Halinarzo Guard
+Halinarzo Guard
+
+Hard workers get an extra work level. This means a +1 VIT bonus is possible!
+Hard workers get an extra work level. This means a +1 VIT bonus is possible!
+
+Hasan is bothering less frequently his friends, as now he have his own seasonal quest.
+Hasan is bothering less frequently his friends, as now he have his own seasonal quest.
+
+Have no idea where in the world you are? Or what a certain mob drops, or even if you should challenge it?
+Have no idea where in the world you are? Or what a certain mob drops, or even if you should challenge it?
+
+Have you came here from Land Of Fire TMWA Server? Do you have the merge points with you?
+Have you came here from Land Of Fire TMWA Server? Do you have the merge points with you?
+
+Have you ever felt struck? Lost? Didn't know about a quest, or an item is troubling you?
+Have you ever felt struck? Lost? Didn't know about a quest, or an item is troubling you?
+
+Having magic power is useless by itself, so you must visit the Magic Council and sign up in one of two classes.
+Having magic power is useless by itself, so you must visit the Magic Council and sign up in one of two classes.
+
+He is strong though, so keep your party togheter!
+He is strong though, so keep your party togheter!
+
+He needs more food.
+He needs more food.
+
+He pours something on it, you're not sure what. He then utters some magic words.
+He pours something on it, you're not sure what. He then utters some magic words.
+
+Healing - The most basic healing skill, requires no items to use.
+Healing - The most basic healing skill, requires no items to use.
+
+Heals more mana while standing.
+Heals more mana while standing.
+
+Heh, there is death penalty indoors and outside the town. You better watch out. The mobs are on a foul mood today, very easy to get killed.
+Heh, there is death penalty indoors and outside the town. You better watch out. The mobs are on a foul mood today, very easy to get killed.
+
+Heh... He gave me a ball, but...
+Heh... He gave me a ball, but...
+
+Hehe... Ok, I'm going to inform the capt'n up there that the boy is fine.#1
+Hehe... Ok, I'm going to inform the capt'n up there that the boy is fine.
+
+Hehe... Ok, I'm going to inform the capt'n up there that the girl is fine.#0
+Hehe... Ok, I'm going to inform the capt'n up there that the girl is fine.
+
+Hehehe, he is a bit nervous, please forgive him, it is not everyday we find someone on the sea!
+Hehehe, he is a bit nervous, please forgive him, it is not everyday we find someone on the sea!
+
+Hehehe, he is a bit nervous, please forgive him, it is not everyday we have a new member in the crew!
+Hehehe, he is a bit nervous, please forgive him, it is not everyday we have a new member in the crew!
+
+Hello there, @@, fear from the wealthy.
+Hello there, @@, fear from the wealthy.
+
+Hello there, @@, protector of law and order.
+Hello there, @@, protector of law and order.
+
+Hello! Do you want to craft @@? For that i will need 7 @@, 11 @@ and @@ gp.
+Hello! Do you want to craft @@? For that i will need 7 @@, 11 @@ and @@ gp.
+
+Hello, @@! We just looked up and found out that you were affected by BotCheck Logout rules!
+Hello, @@! We just looked up and found out that you were affected by BotCheck Logout rules!
+
+Hello, and welcome to Tulimshar guard house.
+Hello, and welcome to Tulimshar guard house.
+
+Hello, can I be rewarded for my help?
+Hello, can I be rewarded for my help?
+
+Herbal Tea
+Herbal Tea
+
+Here is it!
+Here is it!
+
+Here they are.
+Here they are.
+
+Here, all yours. Thank you.
+Here, all yours. Thank you.
+
+Here, learn the ##BFalkon Punch##b. It is on Physical skills tab. You can drag it to the shortcut list. Use it to protect people!
+Here, learn the ##BFalkon Punch##b. It is on Physical skills tab. You can drag it to the shortcut list. Use it to protect people!
+
+Here, learn the ##BFireball##b. It is on Magical skills tab. You can drag it to the shortcut list. Use it to protect people!
+Here, learn the ##BFireball##b. It is on Magical skills tab. You can drag it to the shortcut list. Use it to protect people!
+
+Here, learn this awesome skill. It is on the skills tab. You can drag it to the shortcut list. Use it to protect people!
+Here, learn this awesome skill. It is on the skills tab. You can drag it to the shortcut list. Use it to protect people!
+
+Here, take this @@ - you deserve it! And here is 5.000 GP and 8.400 XP.
+Here, take this @@ - you deserve it! And here is 5.000 GP and 8.400 XP.
+
+Here, you can take mine. I don't mind. Just be sure to don't lose it, you will NEVER get another copy EVER again, was I clear?!
+Here, you can take mine. I don't mind. Just be sure to don't lose it, you will NEVER get another copy EVER again, was I clear?!
+
+Hey @@! You haven't clicked on me yet!
+Hey @@! You haven't clicked on me yet!
+
+Hey do not take me as a child.
+Hey do not take me as a child.
+
+Hey hey! You don't have that stuff, CAN'T YOU READ?!
+Hey hey! You don't have that stuff, CAN'T YOU READ?!
+
+Hey there! Do you want to join the Berserk (Ragger) Class?
+Hey there! Do you want to join the Berserk (Ragger) Class?
+
+Hey there! Do you want to join the Paladin Class?
+Hey there! Do you want to join the Paladin Class?
+
+Hey there! Do you want to join the Priest Class?
+Hey there! Do you want to join the Priest Class?
+
+Hey there! Do you want to join the Sage Class?
+Hey there! Do you want to join the Sage Class?
+
+Hey there! Do you want to join the Tanker Class?
+Hey there! Do you want to join the Tanker Class?
+
+Hey there! Do you want to join the Wizard Class?
+Hey there! Do you want to join the Wizard Class?
+
+Hey there! Do you want to learn new skills for a very small teaching fee?
+Hey there! Do you want to learn new skills for a very small teaching fee?
+
+Hey you! Can you hear us? Are you okay?
+Hey you! Can you hear us? Are you okay?
+
+Hey, if you take a bow, buy a Quiver with Nicholas, on Hurnscald's blacksmith. Come back always!
+Hey, if you take a bow, buy a Quiver with Nicholas, on Hurnscald's blacksmith. Come back always!
+
+Hey, you on the stranded island! Can you hear us?!
+Hey, you on the stranded island! Can you hear us?!
+
+Hey,did you brought me everything I asked for?
+Hey,did you brought me everything I asked for?
+
+Hey.
+Hey.
+
+Heya, noob. Do you have a @@? No? I thought everyone gained one at birth from their parents!
+Heya, noob. Do you have a @@? No? I thought everyone gained one at birth from their parents!
+
+Hi! I'm Camilot, a piou specialist in humanoid hairstyles. Do you want a hair cut?
+Hi! I'm Camilot, a piou specialist in humanoid hairstyles. Do you want a hair cut?
+
+High Healing
+High Healing
+
+High Healing - Use a Lifestone for supreme healing.
+High Healing - Use a Lifestone for supreme healing.
+
+Hinnak and I signed this letter. Deliver it to Airlia on the Town Hall, and she'll reward you correctly.
+Hinnak and I signed this letter. Deliver it to Airlia on the Town Hall, and she'll reward you correctly.
+
+His wandering mirror even challenge players randomly, but rarely grants more than a minute for them.
+His wandering mirror even challenge players randomly, but rarely grants more than a minute for them.
+
+Hm, good job out there.
+Hm, good job out there.
+
+Hmm, that's some progress. Nobody goes to the beach because these slimes, but it looks like this might change sometime soon.
+Hmm, that's some progress. Nobody goes to the beach because these slimes, but it looks like this might change sometime soon.
+
+Hmpf, so says a level 1 player.
+Hmpf, so says a level 1 player.
+
+Holy Light - Standard Holy Magical Attack
+Holy Light - Standard Holy Magical Attack
+
+Honor System.
+Honor System.
+
+How I see my items?
+How I see my items?
+
+How can you help me?
+How can you help me?
+
+How did you got that much? Nine gifts, and 512000 if you want even more.
+How did you got that much? Nine gifts, and 512000 if you want even more.
+
+How difficult it is to obtain a class?
+How difficult it is to obtain a class?
+
+How do I get so much money?!
+How do I get so much money?!
+
+How do you know?
+How do you know?
+
+How hunt monsters?
+How hunt monsters?
+
+How many heads does Zaphod Beeblebrox have? Numbers only.
+How many heads does Zaphod Beeblebrox have? Numbers only.
+
+How many pints of beers should you drink before hitchhiking? Numbers only.
+How many pints of beers should you drink before hitchhiking? Numbers only.
+
+How talk with someone?
+How talk with someone?
+
+How trade with other players?
+How trade with other players?
+
+How was the summoning again...?!
+How was the summoning again...?!
+
+However, I can restart the Heroes Hold, if you want. You'll also get a reward. Are you ready?
+However, I can restart the Heroes Hold, if you want. You'll also get a reward. Are you ready?
+
+However, I can restart the Heroes Hold, if you want. You'll get a reward, but will need to start from scratch. Should I do it?
+However, I can restart the Heroes Hold, if you want. You'll get a reward, but will need to start from scratch. Should I do it?
+
+However, beware! That potion is short-lived, you'll be running against time. Get ready to travel a lot.
+However, beware! That potion is short-lived, you'll be running against time. Get ready to travel a lot.
+
+However, taxes there are the highest. Living cost is high, and you should avoid buying things there.
+However, taxes there are the highest. Living cost is high, and you should avoid buying things there.
+
+However, the Monster King laid siege to Hurnscald. His power increased greatly, and ships are not capable of even approaching the city.
+However, the Monster King laid siege to Hurnscald. His power increased greatly, and ships are not capable of even approaching the city.
+
+However, they allowed everyone to use @@ command to rapidly reach Aeros during events.
+However, they allowed everyone to use @@ command to rapidly reach Aeros during events.
+
+Hurns Island, then? Yes, that is a pretty island, right?
+Hurns Island, then? Yes, that is a pretty island, right?
+
+HurnsShip
+HurnsShip
+
+Hurnscald - 7,500 GP
+Hurnscald - 7,500 GP
+
+Hurnscald Nurse is collecting blood donations, and a veteran officer from Tulimshar City Guard is handing out Wooden Swords.
+Hurnscald Nurse is collecting blood donations, and a veteran officer from Tulimshar City Guard is handing out Wooden Swords.
+
+Hurnscald is in need of help from all adventurers!
+Hurnscald is in need of help from all adventurers!
+
+Hurnscald under siege! No ships are capable to give aid!
+Hurnscald under siege! No ships are capable to give aid!
+
+Hurnscald was liberated by the players @@ ago.
+Hurnscald was liberated by the players @@ ago.
+
+Hurry up! Bring my @@ from Barzil in Halinarzo!! You only have @@ left!
+Hurry up! Bring my @@ from Barzil in Halinarzo!! You only have @@ left!
+
+I advise you to do more quests on Tulimshar and Candor, otherwise, you might fail right at the end.
+I advise you to do more quests on Tulimshar and Candor, otherwise, you might fail right at the end.
+
+I am Kevin, an alchemist specialized in reset potions.
+I am Kevin, an alchemist specialized in reset potions.
+
+I am Malivox, an alchemist specialized in reset potions.
+I am Malivox, an alchemist specialized in reset potions.
+
+I am making a figurin with Bug legs for the upcoming festival.
+I am making a figurin with Bug legs for the upcoming festival.
+
+I am making a figurin with Bug legs.
+I am making a figurin with Bug legs.
+
+I am not worried about rewards. I just want to help.
+I am not worried about rewards. I just want to help.
+
+I am sorry but i can see that you don't have all that I asked you.
+I am sorry but i can see that you don't have all that I asked you.
+
+I am sure that you will change your mind.
+I am sure that you will change your mind.
+
+I am the @@ master.
+I am the @@ master.
+
+I am the Magic Warriors master.
+I am the Magic Warriors master.
+
+I am the Wizard Mages master.
+I am the Wizard Mages master.
+
+I can do this alone!
+I can do this alone!
+
+I can even share with you @@ @@, whaddaya say?
+I can even share with you @@ @@, whaddaya say?
+
+I can make a @@ for just one @@ and 200 GP for my work.
+I can make a @@ for just one @@ and 200 GP for my work.
+
+I can make a nice, simple potion for you. Once you drink it, the raw mana will settle on your body.
+I can make a nice, simple potion for you. Once you drink it, the raw mana will settle on your body.
+
+I can make a nice, simple potion for you. That will help the raw mana to settle on your body.
+I can make a nice, simple potion for you. That will help the raw mana to settle on your body.
+
+I can rent it to you for 500 GP, during 15 minutes. Deal?
+I can rent it to you for 500 GP, during 15 minutes. Deal?
+
+I can send you to at least five from the seven cave levels this dungeon have. Don't worry with the scroll.
+I can send you to at least five from the seven cave levels this dungeon have. Don't worry with the scroll.
+
+I can't believe.
+I can't believe.
+
+I can't go there now.
+I can't go there now.
+
+I can't remember anything.#0
+I can't remember anything.
+
+I can't remember anything.#1
+I can't remember anything.
+
+I can, however, prepare you a potion. But beware, that potion will only last 35 minutes once baked.
+I can, however, prepare you a potion. But beware, that potion will only last 35 minutes once baked.
+
+I charge a service fee of 1000 GP.
+I charge a service fee of 1000 GP.
+
+I charge a service fee of 2000 GP, and two gemstones.
+I charge a service fee of 2000 GP, and two gemstones.
+
+I charge a service fee of 400 GP, and two gemstones.
+I charge a service fee of 400 GP, and two gemstones.
+
+I don't have any gemstone or three pearls with me.
+I don't have any gemstone or three pearls with me.
+
+I don't have the scrolls for the Supreme and Ultimate floors. So if you don't find them on the five and report back, that'll do.
+I don't have the scrolls for the Supreme and Ultimate floors. So if you don't find them on the five and report back, that'll do.
+
+I don't have the time now.
+I don't have the time now.
+
+I don't know if jesusalva allow me to teach you a basic chaman skill!? .
+I don't know if jesusalva allow me to teach you a basic chaman skill!? .
+
+I don't know why they would repeat a past mistake. The Monster King is not human anymore. I also do not know what artifact they lost. We have more questions than certanity about this.
+I don't know why they would repeat a past mistake. The Monster King is not human anymore. I also do not know what artifact they lost. We have more questions than certanity about this.
+
+I don't need a rescue. I'm enjoying myself here.
+I don't need a rescue. I'm enjoying myself here.
+
+I don't need your help right now, come back later.
+I don't need your help right now, come back later.
+
+I don't think you can be part of more than one class, but you can accumulate subclasses. These will only unlock at tier 2, though.
+I don't think you can be part of more than one class, but you can accumulate subclasses. These will only unlock at tier 2, though.
+
+I found your birth record, but it is not complete. Here says you were born on ##BHalinarzo##b.
+I found your birth record, but it is not complete. Here says you were born on ##BHalinarzo##b.
+
+I found your birth record, but it is not complete. Here says you were born on Halinarzo.
+I found your birth record, but it is not complete. Here says you were born on Halinarzo.
+
+I hate sea water, it always make knifes rusty. I already have a stockpile of rusty knifes on the other room.
+I hate sea water, it always make knifes rusty. I already have a stockpile of rusty knifes on the other room.
+
+I hate sea water, it always make knifes rusty. I already have a stockpile of rusty knifes, don't even know what to do with them.
+I hate sea water, it always make knifes rusty. I already have a stockpile of rusty knifes, don't even know what to do with them.
+
+I hope our new campus get built soon. It'll be much better than here.
+I hope our new campus get built soon. It'll be much better than here.
+
+I hope you are proud of your @@
+I hope you are proud of your @@
+
+I hope you got a Jean Shorts, but that depends on luck. Anyway, here is your reward. (1000 xp 350 gp)
+I hope you got a Jean Shorts, but that depends on luck. Anyway, here is your reward. (1000 xp 350 gp)
+
+I knew it!
+I knew it!
+
+I know that you are just starting to feel better, but I'd like you to explore the island we're currently at.
+I know that you are just starting to feel better, but I'd like you to explore the island we're currently at.
+
+I made a figurin with Bug legs.
+I made a figurin with Bug legs.
+
+I mean, that's absurd! If there was one, it would have been taken already. Unless if grew some sencience or something.
+I mean, that's absurd! If there was one, it would have been taken already. Unless if grew some sencience or something.
+
+I mine here since a while. My favorite activity it's to scare others miners!
+I mine here since a while. My favorite activity it's to scare others miners!
+
+I need at minimum @@ Monster Points to get items at current level.
+I need at minimum @@ Monster Points to get items at current level.
+
+I need my master's @@, fast!
+I need my master's @@, fast!
+
+I need somebody who can rid the hold of the ship of these rattos. Can you help me?
+I need somebody who can rid the hold of the ship of these rattos. Can you help me?
+
+I need to think about this.
+I need to think about this.
+
+I need you to bring me some basic item to face Winter! Fire is most important for us.
+I need you to bring me some basic item to face Winter! Fire is most important for us.
+
+I never said that. I come here frequently to trade. It is you who should explore the island.
+I never said that. I come here frequently to trade. It is you who should explore the island.
+
+I only remember I was rescued by you.#0
+I only remember I was rescued by you.
+
+I only remember I was rescued by you.#1
+I only remember I was rescued by you.
+
+I promise I'll never steal from you again. Here, take this shorts.
+I promise I'll never steal from you again. Here, take this shorts.
+
+I recommend that you train your dexterity a great deal, since most monsters out there are hard to hit without it.
+I recommend that you train your dexterity a great deal, since most monsters out there are hard to hit without it.
+
+I remember when I created my first party, we were amazed to share some experience with a small group of adventurer...
+I remember when I created my first party, we were amazed to share some experience with a small group of adventurer...
+
+I represent the @@ Hunters. We hunt @@.
+I represent the @@ Hunters. We hunt @@.
+
+I represent the Halinarzo Hunters. We hunt Snakes.
+I represent the Halinarzo Hunters. We hunt Snakes.
+
+I represent the Tulimshar Hunters. We hunt Maggots.
+I represent the Tulimshar Hunters. We hunt Maggots.
+
+I see it's not so easy to get rid of these rattos. Do you want to try again?
+I see it's not so easy to get rid of these rattos. Do you want to try again?
+
+I see you are a mage too. Have you joined a class already? Luca and Colin are always recruiting on Tulimshar Magic Council.
+I see you are a mage too. Have you joined a class already? Luca and Colin are always recruiting on Tulimshar Magic Council.
+
+I see you finished the Master Dungeon and didn't found my men. I'll think on something
+I see you finished the Master Dungeon and didn't found my men. I'll think on something
+
+I suggest you leave now, %s. If you are even suspected of being a S.A.R.A.H. agent . . .
+I suggest you leave now, %s. If you are even suspected of being a S.A.R.A.H. agent . . .
+
+I think I'll be done soon, since I almost have a box full of @@s!
+I think I'll be done soon, since I almost have a box full of @@s!
+
+I think I'm done with that now. Do you have any questions?
+I think I'm done with that now. Do you have any questions?
+
+I think you should look for the Lieutenant if you want the Guard Card.
+I think you should look for the Lieutenant if you want the Guard Card.
+
+I think, for just 24 @@, I could arrange a @@ for you.
+I think, for just 24 @@, I could arrange a @@ for you.
+
+I think, for just 30 @@, I could arrange one for you. Eh... Just don't think that you have an amazing weapon, alright?
+I think, for just 30 @@, I could arrange one for you. Eh... Just don't think that you have an amazing weapon, alright?
+
+I want a EASY task!
+I want a EASY task!
+
+I want a EXPERT task!
+I want a EXPERT task!
+
+I want a GATLING.
+I want a GATLING.
+
+I want a REVOLVER.
+I want a REVOLVER.
+
+I want a RIFLE.
+I want a RIFLE.
+
+I want a SHOTGUN.
+I want a SHOTGUN.
+
+I want to add gemstones to a ring.
+I want to add gemstones to a ring.
+
+I want to forge Weapons!
+I want to forge Weapons!
+
+I want to turn over my Casino Coins.
+I want to turn over my Casino Coins.
+
+I wanted other info.
+I wanted other info.
+
+I warn about dangers and controls the fights.
+I warn about dangers and controls the fights.
+
+I will empower you with raw mana, and your time will start running out again.
+I will empower you with raw mana, and your time will start running out again.
+
+I will require 3000 GP, 1 @@, 1 @@ and 1 @@, for a small handful of it.
+I will require 3000 GP, 1 @@, 1 @@ and 1 @@, for a small handful of it.
+
+I will yaying do.
+I will yaying do.
+
+I will. Oh, and give her some clothes, the poor girl, the ones she had were in an even worse condition than the ones we have.#0
+I will. Oh, and give her some clothes, the poor girl, the ones she had were in an even worse condition than the ones we have.
+
+I will. Oh, and give him some clothes, the poor guy, the ones he had were in an even worse condition than the ones we have.#1
+I will. Oh, and give him some clothes, the poor guy, the ones he had were in an even worse condition than the ones we have.
+
+I would like to open Guild Storage.
+I would like to open Guild Storage.
+
+I would like to remove an item options
+I would like to remove an item options
+
+I wrote your name on the book, you are now free to use the storage and bank services.
+I wrote your name on the book, you are now free to use the storage and bank services.
+
+I'll also give you a @@. Open it to get a random Mercenary Card.
+I'll also give you a @@. Open it to get a random Mercenary Card.
+
+I'll arrange here with the alliance documents regarding you. I'll add a "war victim" status to make your life easier.
+I'll arrange here with the alliance documents regarding you. I'll add a "war victim" status to make your life easier.
+
+I'll ask you to kill 2 @@. This will prove your worth. They are northwest of the island.
+I'll ask you to kill 2 @@. This will prove your worth. They are northwest of the island.
+
+I'll be back with those items..
+I'll be back with those items..
+
+I'll charge you the irrelevant amount of 100 GP. Come on, it's a pinch!
+I'll charge you the irrelevant amount of 100 GP. Come on, it's a pinch!
+
+I'll give her everything she needs, don't worry.#0
+I'll give her everything she needs, don't worry.
+
+I'll give him everything he needs, don't worry.#1
+I'll give him everything he needs, don't worry.
+
+I'm Eistein, I reward brave adventurers who kill monsters who plague our lands.
+I'm Eistein, I reward brave adventurers who kill monsters who plague our lands.
+
+I'm GM and got the money. START THIS CRAP ALREADY!
+I'm GM and got the money. START THIS CRAP ALREADY!
+
+I'm Laranja
+I'm Laranja
+
+I'm Woody Wife, I live here with Woody since a lot of years! We decided to leave away from civilization, hunter and shaman life is way better.
+I'm Woody Wife, I live here with Woody since a lot of years! We decided to leave away from civilization, hunter and shaman life is way better.
+
+I'm afraid King DD did not finish his testing on this!
+I'm afraid King DD did not finish his testing on this!
+
+I'm allergic to piou, goodbye.
+I'm allergic to piou, goodbye.
+
+I'm donGP.
+I'm donGP.
+
+I'm done.
+I'm done.
+
+I'm glad to see you're okay.#0
+I'm glad to see you're okay.
+
+I'm glad to see you're okay.#1
+I'm glad to see you're okay.
+
+I'm interested.
+I'm interested.
+
+I'm not interested, sorry.
+I'm not interested, sorry.
+
+I'm not sure exactly what we are trying to do, but you seem to need to resolve this puzzle.
+I'm not sure exactly what we are trying to do, but you seem to need to resolve this puzzle.
+
+I'm sure that you've got some questions for me, feel free to ask them, but first I need to tell you the rules of proper social conduct on board.
+I'm sure that you've got some questions for me, feel free to ask them, but first I need to tell you the rules of proper social conduct on board.
+
+I'm surprised, though. It is a very good defensive item, and players can buy it for pretty high sums of money.
+I'm surprised, though. It is a very good defensive item, and players can buy it for pretty high sums of money.
+
+I'm worried with them. Anyway, you need a special scroll to get to the Heroes Cave...
+I'm worried with them. Anyway, you need a special scroll to get to the Heroes Cave...
+
+I've brought a Jean Shorts for you.
+I've brought a Jean Shorts for you.
+
+ID: @@
+ID: @@
+
+ILLEGAL SCRIPT LOGIC REACHED, PLEASE REPORT. (GHQ_GROC)
+ILLEGAL SCRIPT LOGIC REACHED, PLEASE REPORT. (GHQ_GROC)
+
+ILLEGAL SCRIPT POSITION REACHED, PLEASE REPORT.
+ILLEGAL SCRIPT POSITION REACHED, PLEASE REPORT.
+
+Iced Bottle
+Iced Bottle
+
+If I fail, I'll refund you in gold. Do you want me to try it?
+If I fail, I'll refund you in gold. Do you want me to try it?
+
+If it expires, you'll need to do another. To bake it I need 1 @@, 10 @@ and a @@. Have Mauve and Money, lots of it.
+If it expires, you'll need to do another. To bake it I need 1 @@, 10 @@ and a @@. Have Mauve and Money, lots of it.
+
+If the Monster King attack, I will try to control inbound monsters here.
+If the Monster King attack, I will try to control inbound monsters here.
+
+If you bring friends, I'm sure they'll be no match. I'll pay you handsomely if you bring me one, too!
+If you bring friends, I'm sure they'll be no match. I'll pay you handsomely if you bring me one, too!
+
+If you bring me a @@ and 1,000 GP I can make one for you!
+If you bring me a @@ and 1,000 GP I can make one for you!
+
+If you don't have a @@, you can only track progress on Mana Magic using @@, and you won't really gain any mana experience for a while.
+If you don't have a @@, you can only track progress on Mana Magic using @@, and you won't really gain any mana experience for a while.
+
+If you follow %s's quest, you will eventually reach the requeriments for here.
+If you follow %s's quest, you will eventually reach the requeriments for here.
+
+If you go to Lieutenant Dausen, he'll say that you used Gimp. Just give up.
+If you go to Lieutenant Dausen, he'll say that you used Gimp. Just give up.
+
+If you have any trouble or doubt, don't hesit to call us. There are some cooperative quests, and more of them are being added.
+If you have any trouble or doubt, don't hesit to call us. There are some cooperative quests, and more of them are being added.
+
+If you head west, you'll eventually reach Jesus Saves' Castle.
+If you head west, you'll eventually reach Jesus Saves' Castle.
+
+If you notice your pet is missing, this means nobody cleared them yet.
+If you notice your pet is missing, this means nobody cleared them yet.
+
+If you save 90% from the crops or more, you'll get a @@.
+If you save 90% from the crops or more, you'll get a @@.
+
+If you simply wish to get 99 in all stats:
+If you simply wish to get 99 in all stats:
+
+If you want to read this page again, there is a copy up on the left wall.
+If you want to read this page again, there is a copy up on the left wall.
+
+If you wish to reset your stats:
+If you wish to reset your stats:
+
+If you're right, you'll get 80 GP!
+If you're right, you'll get 80 GP!
+
+Imagine I'm now blacklisting you for a hour with a #VARIABLE. Maybe 3 weekly attempts.
+Imagine I'm now blacklisting you for a hour with a #VARIABLE. Maybe 3 weekly attempts.
+
+Improve Arrow Shield
+Improve Arrow Shield
+
+Improve Bash Skill
+Improve Bash Skill
+
+Improve Blessed Weapon
+Improve Blessed Weapon
+
+Improve Cold Bolt
+Improve Cold Bolt
+
+Improve Counter Defense
+Improve Counter Defense
+
+Improve Earth Spike
+Improve Earth Spike
+
+Improve Earth Weapon
+Improve Earth Weapon
+
+Improve Endure Skill
+Improve Endure Skill
+
+Improve Fire Ball
+Improve Fire Ball
+
+Improve Fire Bolt
+Improve Fire Bolt
+
+Improve Fire Weapon
+Improve Fire Weapon
+
+Improve Guard
+Improve Guard
+
+Improve Ice Weapon
+Improve Ice Weapon
+
+Improve Increase Agility
+Improve Increase Agility
+
+Improve Luma
+Improve Luma
+
+Improve Mana Recovery
+Improve Mana Recovery
+
+Improve Mana Wisdom
+Improve Mana Wisdom
+
+Improve Napalm Beat
+Improve Napalm Beat
+
+Improve Party Area Defense
+Improve Party Area Defense
+
+Improve Standing HP Regen
+Improve Standing HP Regen
+
+Improve Thunder Bolt
+Improve Thunder Bolt
+
+Improve Two Hands Quicken
+Improve Two Hands Quicken
+
+Improve Wind Weapon
+Improve Wind Weapon
+
+In case of false positive, @@ was murdered.
+In case of false positive, @@ was murdered.
+
+In honor of Woody, winner of Easter 2018.
+In honor of Woody, winner of Easter 2018.
+
+In other words, simply just walk right and go down the stairs.
+In other words, simply just walk right and go down the stairs.
+
+In other words, whoever they are, they're after the sages. They are not targetting just simple magical users. This might be a problem.
+In other words, whoever they are, they're after the sages. They are not targetting just simple magical users. This might be a problem.
+
+In the storehouse, kill 4 @@. They keep respawning and are annoying.
+In the storehouse, kill 4 @@. They keep respawning and are annoying.
+
+In the storehouse, kill 5 @@. They keep respawning and are annoying.
+In the storehouse, kill 5 @@. They keep respawning and are annoying.
+
+In times of famine, magic came to save us.
+In times of famine, magic came to save us.
+
+Increase mana experience gain, when using mana skills.
+Increase mana experience gain, when using mana skills.
+
+Initiate huge siege (lv. 40)
+Initiate huge siege (lv. 40)
+
+Initiate medium siege (lv. 30)
+Initiate medium siege (lv. 30)
+
+Initiate small siege (lv. 20)
+Initiate small siege (lv. 20)
+
+Insert a key and pull the switch?
+Insert a key and pull the switch?
+
+Intelligence is very useful for alchemy and magic, but nowadays there are few opportunities to use it.
+Intelligence is very useful for alchemy and magic, but nowadays there are few opportunities to use it.
+
+Interessing can I be rewarded for my help?
+Interessing can I be rewarded for my help?
+
+Intermediary Dungeon
+Intermediary Dungeon
+
+Iron Butcher Knife
+Iron Butcher Knife
+
+Iron Four-Leaf Amulet
+Iron Four-Leaf Amulet
+
+Iron Short Sword
+Iron Short Sword
+
+Is that... Wait... Wow. You... Killed a murderer scorpion.
+Is that... Wait... Wow. You... Killed a murderer scorpion.
+
+Ishi also rewrote his rewards table. More items for lower prices!
+Ishi also rewrote his rewards table. More items for lower prices!
+
+It could be from a warship to a random civilian vessel. Well, this is not important now.
+It could be from a warship to a random civilian vessel. Well, this is not important now.
+
+It is a boring speech...
+It is a boring speech...
+
+It is something not yet fully implemented.
+It is something not yet fully implemented.
+
+It looks like you're missing some items or money. Please come back when you have what I need!
+It looks like you're missing some items or money. Please come back when you have what I need!
+
+It may fail, and you might end up with something entirely unexpected!
+It may fail, and you might end up with something entirely unexpected!
+
+It offers better living conditions than Tulimshar, and is bigger and more prosperous. Few monsters live there.
+It offers better living conditions than Tulimshar, and is bigger and more prosperous. Few monsters live there.
+
+It seems like you're finally safe. You shut your eyes and fall asleep.
+It seems like you're finally safe. You shut your eyes and fall asleep.
+
+It seems that you need a key to open this door.
+It seems that you need a key to open this door.
+
+It takes a lot of mana, and is not very powerful, but it is a must have for everyone.
+It takes a lot of mana, and is not very powerful, but it is a must have for everyone.
+
+It was a boring speech, but you have learned ancient languages.
+It was a boring speech, but you have learned ancient languages.
+
+It was a real problem, threating them to go out of business. I think they are trying to recover the lost weapons.
+It was a real problem, threating them to go out of business. I think they are trying to recover the lost weapons.
+
+It was a recipe you already knew...
+It was a recipe you already knew...
+
+It was worth the shot.
+It was worth the shot.
+
+It will be a problem if you run around naked!#0
+It will be a problem if you run around naked!
+
+It will be a problem if you run around naked!#1
+It will be a problem if you run around naked!
+
+It would be good for you to do some exercise, the ship isn't big enough for that.
+It would be good for you to do some exercise, the ship isn't big enough for that.
+
+It's alright! Just one more box and it'll be ok.
+It's alright! Just one more box and it'll be ok.
+
+It's called Mass Provoke. You'll basically try to convince monsters to attack you.
+It's called Mass Provoke. You'll basically try to convince monsters to attack you.
+
+It's ok.
+It's ok.
+
+Item 1166
+Item 1166
+
+Item 563
+Item 563
+
+Items.
+Items.
+
+Jesus Saves
+Jesus Saves
+
+Jesusalva & Saulc, TMW2 Admins
+Jesusalva & Saulc, TMW2 Admins
+
+Johanne Key
+Johanne Key
+
+Join Guild: @@
+Join Guild: @@
+
+Julia
+Julia
+
+Juliet is on the upper level of the ship, use the arrow keys to walk to the stairs or click on the stairs at the top right of your screen.
+Juliet is on the upper level of the ship, use the arrow keys to walk to the stairs or click on the stairs at the top right of your screen.
+
+Just @@ ago, thiefs stole Pihro & Pyndragon weapons.
+Just @@ ago, thiefs stole Pihro & Pyndragon weapons.
+
+KILL EVERY MONSTER W/O COLLECTING test
+KILL EVERY MONSTER W/O COLLECTING test
+
+KILL SPECIFIED MONSTER test
+KILL SPECIFIED MONSTER test
+
+Keep the Grimorie with you. It's the proof you are now Tier 2. The book shall guide your advances!
+Keep the Grimorie with you. It's the proof you are now Tier 2. The book shall guide your advances!
+
+Khaki Cotton Dye
+Khaki Cotton Dye
+
+Kills yourself, but revives everyone in a range. You'll take the death penalty.
+Kills yourself, but revives everyone in a range. You'll take the death penalty.
+
+Land Of Fire - 12,000 GP
+Land Of Fire - 12,000 GP
+
+Land Of Fire Village (30m)
+Land Of Fire Village (30m)
+
+Land Of Fire surprises everyone! There are even pet tamers!
+Land Of Fire surprises everyone! There are even pet tamers!
+
+Last Man Standing
+Last Man Standing
+
+Last Resort
+Last Resort
+
+Last Standing Man - Passive - Raise Max HP and Holy Defense
+Last Standing Man - Passive - Raise Max HP and Holy Defense
+
+Learn Action Casting
+Learn Action Casting
+
+Learn Detoxify
+Learn Detoxify
+
+Learn Dragon Slayer
+Learn Dragon Slayer
+
+Learn Energy Coating
+Learn Energy Coating
+
+Learn Holy Light
+Learn Holy Light
+
+Learn Last Standing Man
+Learn Last Standing Man
+
+Learn Redemption
+Learn Redemption
+
+Learn Ressurection
+Learn Ressurection
+
+Leave Subclass
+Leave Subclass
+
+LeftBarrierCheck
+LeftBarrierCheck
+
+LeftDoor
+LeftDoor
+
+Legendary Mouboo
+Legendary Mouboo
+
+Legendary Tortuga
+Legendary Tortuga
+
+Legendary Wand
+Legendary Wand
+
+Legion's Copper Armor
+Legion's Copper Armor
+
+Legion's Training Shirt
+Legion's Training Shirt
+
+Less maggots means more food to the town. So, this time the monsters will be a little stronger.
+Less maggots means more food to the town. So, this time the monsters will be a little stronger.
+
+Let me explain to you what the Merchant Guild is for.
+Let me explain to you what the Merchant Guild is for.
+
+Let's jump straight to action, shall we? I'll spawn a mighty @@ to fight you!
+Let's jump straight to action, shall we? I'll spawn a mighty @@ to fight you!
+
+LieutenantDausenDebug
+LieutenantDausenDebug
+
+Lightining Bolt
+Lightining Bolt
+
+Lilica#final
+Lilica#final
+
+Lilit - 50,000 GP (not exchangeable)
+Lilit - 50,000 GP (not exchangeable)
+
+Lime Cotton Dye
+Lime Cotton Dye
+
+LoF Merge
+LoF Merge
+
+LoF Password:
+LoF Password:
+
+LoF Transcendence Gate was moved to town centre. Tipius haven't been sighted as of late.
+LoF Transcendence Gate was moved to town centre. Tipius haven't been sighted as of late.
+
+LoF Username:
+LoF Username:
+
+Lollipop
+Lollipop
+
+Look at your equipment, can you guess what material it is made from?
+Look at your equipment, can you guess what material it is made from?
+
+Lower difficulty of advanced stage (level 50+ players), by price rebalances.
+Lower difficulty of advanced stage (level 50+ players), by price rebalances.
+
+Lower difficulty of starters stage (up to level 20 players), by experience redesign.
+Lower difficulty of starters stage (up to level 20 players), by experience redesign.
+
+Lower this skill
+Lower this skill
+
+Lt. Paul unclaimed rewards REDEEMED.
+Lt. Paul unclaimed rewards REDEEMED.
+
+Lua FINALLY noticed that traveling to Halinarzo at level 20 is akin suicide.
+Lua FINALLY noticed that traveling to Halinarzo at level 20 is akin suicide.
+
+Lua FINALLY noticed that travelling to Halinarzo at level 20 is akin suicide.
+Lua FINALLY noticed that travelling to Halinarzo at level 20 is akin suicide.
+
+Lucky for you, the Alliance have means to assist you. Please show me the following:
+Lucky for you, the Alliance have means to assist you. Please show me the following:
+
+Lucky! You got a coin!
+Lucky! You got a coin!
+
+Lufix
+Lufix
+
+MOVE AND DROP ITEM test
+MOVE AND DROP ITEM test
+
+MOVE RANDOMLY test
+MOVE RANDOMLY test
+
+MOVE, DROP, MOVE, EMOTE, MOVE test
+MOVE, DROP, MOVE, EMOTE, MOVE test
+
+Magic Strike - Standard Magical Attack
+Magic Strike - Standard Magical Attack
+
+Magic Warriors
+Magic Warriors
+
+Magic is dead!
+Magic is dead!
+
+Magic skills allows for a more advanced gameplay, but they are meant for level 30 onwards.
+Magic skills allows for a more advanced gameplay, but they are meant for level 30 onwards.
+
+Mainly fixes and the Monster King is now randomly laying siege to towns!
+Mainly fixes and the Monster King is now randomly laying siege to towns!
+
+Major rebalance, lowering difficulty on sub-level-30 stage. Tulimshar is a whole new place.
+Major rebalance, lowering difficulty on sub-level-30 stage. Tulimshar is a whole new place.
+
+Make Potion - @sk-mkpot
+Make Potion - @sk-mkpot
+
+Mana Wisdom - Passive - Raise Mana EXP Gain rate
+Mana Wisdom - Passive - Raise Mana EXP Gain rate
+
+Managed to drop anything? It requires more luck than skill. Here is your reward.
+Managed to drop anything? It requires more luck than skill. Here is your reward.
+
+Managed to drop anything? It requires more luck than skill. Here is your reward. (40 xp 25 gp)
+Managed to drop anything? It requires more luck than skill. Here is your reward. (40 xp 25 gp)
+
+Many citzens are still in fear. Paths are closed, economy is a disaster, things are not here.
+Many citzens are still in fear. Paths are closed, economy is a disaster, things are not here.
+
+Many other things were changed, and it is too much to say here. Even people with stronger magic were seen.
+Many other things were changed, and it is too much to say here. Even people with stronger magic were seen.
+
+Many rejoiced. The damage was very big, and all players help is required, to make Hurnscald prosper again.
+Many rejoiced. The damage was very big, and all players help is required, to make Hurnscald prosper again.
+
+Many thanks. I couldn't live without it. Here, take this reward. Please come back later.
+Many thanks. I couldn't live without it. Here, take this reward. Please come back later.
+
+Mass Provoke
+Mass Provoke
+
+Mass Provoke - Provoke all monsters under your cursor
+Mass Provoke - Provoke all monsters under your cursor
+
+Master Dungeon
+Master Dungeon
+
+Mauve Cotton Dye
+Mauve Cotton Dye
+
+Maybe Hurnscald alchemist, Wyara, could explain why.
+Maybe Hurnscald alchemist, Wyara, could explain why.
+
+Maybe someone in Hurnscald can help me?
+Maybe someone in Hurnscald can help me?
+
+Maybe there are things in Candor which still require your attention? I overheard some of them.
+Maybe there are things in Candor which still require your attention? I overheard some of them.
+
+Maybe you can help our city guard. I see you are a Monster Hunting Quest Participant, right?
+Maybe you can help our city guard. I see you are a Monster Hunting Quest Participant, right?
+
+Maybe you could bring me 20 @@? I will reward you for your effort.
+Maybe you could bring me 20 @@? I will reward you for your effort.
+
+Meanwhile, several bugs were fixed. Our second sun had been glitchy, but Jesus Saves made sure it is now fine.
+Meanwhile, several bugs were fixed. Our second sun had been glitchy, but Jesus Saves made sure it is now fine.
+
+Mecha Medallion
+Mecha Medallion
+
+Meh, the Blue Sage is truly extravagant. We take @@ for the simplest things as keeping the house warm.
+Meh, the Blue Sage is truly extravagant. We take @@ for the simplest things as keeping the house warm.
+
+Meltdown Forge, make your useless equip a good weapon! Lieutenant Dausen have new quests!
+Meltdown Forge, make your useless equip a good weapon! Lieutenant Dausen have new quests!
+
+Mercenaries and blueprints! Players are crafting their own weapons. Sagratha and Cindy are in need of help!
+Mercenaries and blueprints! Players are crafting their own weapons. Sagratha and Cindy are in need of help!
+
+Miner#SkyDG
+Miner#SkyDG
+
+Mining opearations advance steadly day by day with your help, thanks! Maybe one day, we find a Mana Stone here! (1300 xp)
+Mining opearations advance steadly day by day with your help, thanks! Maybe one day, we find a Mana Stone here! (1300 xp)
+
+Minor release to lower travel prices, fix several issues, and enable Friend Referral System.
+Minor release to lower travel prices, fix several issues, and enable Friend Referral System.
+
+Mint Cashmere Dye
+Mint Cashmere Dye
+
+Money to leave Candor is easier, as various persons there need help.
+Money to leave Candor is easier, as various persons there need help.
+
+Monster Points: @@ | Gold: @@
+Monster Points: @@ | Gold: @@
+
+Monsters are dropping strange stuff! The world is changing!
+Monsters are dropping strange stuff! The world is changing!
+
+Monsters are walking to different regions, new grinding zones appears!
+Monsters are walking to different regions, new grinding zones appears!
+
+More powerful version of healing. Requires @@ each cast.
+More powerful version of healing. Requires @@ each cast.
+
+Moving while AFK is botting! I'll send you to a %s if you move while AFK! YOU HAVE BEEN WARNED!
+Moving while AFK is botting! I'll send you to a %s if you move while AFK! YOU HAVE BEEN WARNED!
+
+My father lead a dye fabric, I'm in charge to sell @@ around the world.
+My father lead a dye fabric, I'm in charge to sell @@ around the world.
+
+My father lead a dye fabric, i'm in charge to sell @@ around the world.
+My father lead a dye fabric, i'm in charge to sell @@ around the world.
+
+My figurin is so nice!
+My figurin is so nice!
+
+My man went down and still haven't returned.
+My man went down and still haven't returned.
+
+My name is @@ and I am the daily task master. Interested in keeping this world free from monsters, or to report back?
+My name is @@ and I am the daily task master. Interested in keeping this world free from monsters, or to report back?
+
+My name is @@...
+My name is @@...
+
+My name is Barzil, I am a representative of the Merchant Guild on Halinarzo.
+My name is Barzil, I am a representative of the Merchant Guild on Halinarzo.
+
+My name is Cynric, I am a representative of the Merchant Guild on Candor.
+My name is Cynric, I am a representative of the Merchant Guild on Candor.
+
+My name is Juliet, it is me who took care of you after we found you in the sea.
+My name is Juliet, it is me who took care of you after we found you in the sea.
+
+My name is Malindou, I am a representative of the Merchant Guild on Tulimshar.
+My name is Malindou, I am a representative of the Merchant Guild on Tulimshar.
+
+My shaman skill protect us, against monsters and thiefs!
+My shaman skill protect us, against monsters and thiefs!
+
+My unit, however, was attacked! An assassin snuck up on us!
+My unit, however, was attacked! An assassin snuck up on us!
+
+NOW YOU HAVE DONE IT! By the powers to me vested as a Constable and Game Master, I sentence you to HALF HOUR IN A %s!
+NOW YOU HAVE DONE IT! By the powers to me vested as a Constable and Game Master, I sentence you to HALF HOUR IN A %s!
+
+NPC stylists will cut your hair!
+NPC stylists will cut your hair!
+
+NYI: @@, @@, @@, @@
+NYI: @@, @@, @@, @@
+
+Nameless Doctor found at LoF have a friend! This never happened before!
+Nameless Doctor found at LoF have a friend! This never happened before!
+
+Napalm Beat - Spammable AoE Skill
+Napalm Beat - Spammable AoE Skill
+
+Nard also bought a new ship!.
+Nard also bought a new ship!.
+
+Nard and Elmo changed the way they talk to newcomers, to be more clear about what they expect.
+Nard and Elmo changed the way they talk to newcomers, to be more clear about what they expect.
+
+Nard's ship basement was modified, and winter drops are now alive. Don't miss Christmas event, either.
+Nard's ship basement was modified, and winter drops are now alive. Don't miss Christmas event, either.
+
+Nard's ship is not capable to do Tulimshar<->Candor route instantly anymore: His magic sail broke.
+Nard's ship is not capable to do Tulimshar<->Candor route instantly anymore: His magic sail broke.
+
+Natural Card
+Natural Card
+
+Navy Blue Cotton Dye
+Navy Blue Cotton Dye
+
+Neutral attack with low damage value, but with low cost, high range and wide Effect Area.
+Neutral attack with low damage value, but with low cost, high range and wide Effect Area.
+
+Nevertheless, you probably need some base materials from Bif. Who knows what it will drop if you are lucky?
+Nevertheless, you probably need some base materials from Bif. Who knows what it will drop if you are lucky?
+
+New default game settings:
+New default game settings:
+
+New players can also get an EXP bonus with Elmo until they get level 15.
+New players can also get an EXP bonus with Elmo until they get level 15.
+
+New players can also get an EXP bonus with Elmo until they get level 15. Warp Crystals are here!
+New players can also get an EXP bonus with Elmo until they get level 15. Warp Crystals are here!
+
+Nikolai
+Nikolai
+
+Nivalis - 7,500 GP
+Nivalis - 7,500 GP
+
+Nivalis Liberation Day Result: Players Lost 92 : 300 Monsters Won
+Nivalis Liberation Day Result: Players Lost 92 : 300 Monsters Won
+
+Nivalis is in need of help from all adventurers!
+Nivalis is in need of help from all adventurers!
+
+Nivalis was rebuilt, but not completely!
+Nivalis was rebuilt, but not completely!
+
+No one visit me, I'mm in peace there.
+No one visit me, I'mm in peace there.
+
+No problem, I can help you anyway.
+No problem, I can help you anyway.
+
+No, I don't teach magic. No, I'm not interested in @@ affairs.
+No, I don't teach magic. No, I'm not interested in @@ affairs.
+
+No, none.
+No, none.
+
+No, we do this during our whole life, And we survive!
+No, we do this during our whole life, And we survive!
+
+No. Hurscald is besieged and it would be too dangerous to let you go alone. You should talk to %s, instead.
+No. Hurscald is besieged and it would be too dangerous to let you go alone. You should talk to %s, instead.
+
+None at the moment
+None at the moment
+
+None at the moment!
+None at the moment!
+
+Not only that, but there appeared some paladins, tankers, wizards, sages and raggers claiming to have mastered magic.
+Not only that, but there appeared some paladins, tankers, wizards, sages and raggers claiming to have mastered magic.
+
+Note#014-2tmp
+Note#014-2tmp
+
+Note: Killing enemies there with the Dustynator grants more dusty in a bottle.
+Note: Killing enemies there with the Dustynator grants more dusty in a bottle.
+
+Notice: If you join the ##BMerchants Guild Police##b now, you WON'T BE ABLE to be a thief later!
+Notice: If you join the ##BMerchants Guild Police##b now, you WON'T BE ABLE to be a thief later!
+
+Novice Dungeon
+Novice Dungeon
+
+Now imagine I just did a SQL query to fetch your account password and salt.
+Now imagine I just did a SQL query to fetch your account password and salt.
+
+Now, please kill 45 @@, Try to collect some lamps in the same time, they could be useful later.
+Now, please kill 45 @@, Try to collect some lamps in the same time, they could be useful later.
+
+Now, please kill 50 @@, Try to collect some lamps in the same time, they could be useful later.
+Now, please kill 50 @@, Try to collect some lamps in the same time, they could be useful later.
+
+Now, the real challenge will start. You have a lot of raw power, but that doesn't gives you a lot of skills to learn.
+Now, the real challenge will start. You have a lot of raw power, but that doesn't gives you a lot of skills to learn.
+
+Now, you'll learn a merchant trick! This one allows you to carry more weight with you! Ka-pow! Amazing!
+Now, you'll learn a merchant trick! This one allows you to carry more weight with you! Ka-pow! Amazing!
+
+Now, your hash might be @@.
+Now, your hash might be @@.
+
+Nylo#Beer
+Nylo#Beer
+
+Of course! But beware that [@@https://www.transifex.com/akaras/saulc-tmw-fork|Translators@@] are always in demand!
+Of course! But beware that [@@https://www.transifex.com/akaras/saulc-tmw-fork|Translators@@] are always in demand!
+
+Of course, if you don't ask from the Mana Stone for more magic, that means nothing...
+Of course, if you don't ask from the Mana Stone for more magic, that means nothing...
+
+Of course, this is only some random md5 functions for fun.
+Of course, this is only some random md5 functions for fun.
+
+Of course, with 5 @@ and 3000 GP I could make one too, but I can fail.
+Of course, with 5 @@ and 3000 GP I could make one too, but I can fail.
+
+Of course, you can trade 5 @@, with 12000 GP, for a @@.
+Of course, you can trade 5 @@, with 12000 GP, for a @@.
+
+Of course, you can trade a @@, with 200 GP, for a @@.
+Of course, you can trade a @@, with 200 GP, for a @@.
+
+Of course.
+Of course.
+
+Oh - Welcome to TMW2: Moubootaur Legends!
+Oh - Welcome to TMW2: Moubootaur Legends!
+
+Oh noes ─ the door is sealed! We can only press forward!
+Oh noes ─ the door is sealed! We can only press forward!
+
+Oh really? I'll put more food in the next box then.
+Oh really? I'll put more food in the next box then.
+
+Oh well, we rescued you when you were yaying adrift in the sea.#0
+Oh well, we rescued you when you were yaying adrift in the sea.
+
+Oh well, we rescued you when you were yaying adrift in the sea.#1
+Oh well, we rescued you when you were yaying adrift in the sea.
+
+Oh yeah some work are really painful, especially for my back, and I cant bother Woody to do it, he have so many difficulties to move.
+Oh yeah some work are really painful, especially for my back, and I cant bother Woody to do it, he have so many difficulties to move.
+
+Oh yeyeye... As they are not edible, you can maybe try to equip them?#0
+Oh yeyeye... As they are not edible, you can maybe try to equip them?
+
+Oh yeyeye... As they are not edible, you can maybe try to equip them?#1
+Oh yeyeye... As they are not edible, you can maybe try to equip them?
+
+Oh! And our party chat was really entertaining, I do highly recommend you to share this fun as well.
+Oh! And our party chat was really entertaining, I do highly recommend you to share this fun as well.
+
+Oh, I was going to ask you if you wanted to help the crew search for some food and explore the island out there.
+Oh, I was going to ask you if you wanted to help the crew search for some food and explore the island out there.
+
+Oh, and I almost forgot! Do not give the password of your room to anybody! I am the only one who has the other key and I won't ask for yours so keep it secret and try not to use the same password for any other room in the future.
+Oh, and I almost forgot! Do not give the password of your room to anybody! I am the only one who has the other key and I won't ask for yours so keep it secret and try not to use the same password for any other room in the future.
+
+Oh, and a fruit may even fall for you if you are lucky! But stay alert to pick up your drops.
+Oh, and a fruit may even fall for you if you are lucky! But stay alert to pick up your drops.
+
+Oh, and give her some clothes, the poor girl, the ones she had were in an even worse condition than the ones we have.#0
+Oh, and give her some clothes, the poor girl, the ones she had were in an even worse condition than the ones we have.
+
+Oh, and give him some clothes, the poor guy, the ones he had were in an even worse condition than the ones we have.#1
+Oh, and give him some clothes, the poor guy, the ones he had were in an even worse condition than the ones we have.
+
+Oh, every settlement is part of it. Candor, Tulimshar, Hurnscald, Frostia, Halinarzo, Artis, Esperia, Nivalis...
+Oh, every settlement is part of it. Candor, Tulimshar, Hurnscald, Frostia, Halinarzo, Artis, Esperia, Nivalis...
+
+Oh, hello there! Welcome to the Mana Plain Of Existence!
+Oh, hello there! Welcome to the Mana Plain Of Existence!
+
+Oh, it is simple. I have on this book the names of every citizen of Candor and its surroundings.
+Oh, it is simple. I have on this book the names of every citizen of Candor and its surroundings.
+
+Oh, it is simple. I have on this book the names of every citizen of Halinarzo and its surroundings.
+Oh, it is simple. I have on this book the names of every citizen of Halinarzo and its surroundings.
+
+Oh, it is simple. I have on this book the names of every citizen of Tulimshar and its surroundings.
+Oh, it is simple. I have on this book the names of every citizen of Tulimshar and its surroundings.
+
+Oh, noes! Due lack of translators, some languages were removed from this project.
+Oh, noes! Due lack of translators, some languages were removed from this project.
+
+Oh, now that I remember, we also found some money in your pockets, here it is!#0
+Oh, now that I remember, we also found some money in your pockets, here it is!
+
+Oh, now that I remember, we also found some money in your pockets, here it is!#1
+Oh, now that I remember, we also found some money in your pockets, here it is!
+
+Oh, that's right!
+Oh, that's right!
+
+Oh, wait a second...
+Oh, wait a second...
+
+Oh... Err, yes I did, or, well, good day to you!
+Oh... Err, yes I did, or, well, good day to you!
+
+Oh... Thank you! Here is @@ GP for it.
+Oh... Thank you! Here is @@ GP for it.
+
+Ok, I think he's waking up, go see him.#1
+Ok, I think he's waking up, go see him.
+
+Ok, I think she's waking up, go see her.#0
+Ok, I think she's waking up, go see her.
+
+Ok, you have some level. Now, let me think on an easy task for you...
+Ok, you have some level. Now, let me think on an easy task for you...
+
+Okay, I'm ready to work!#0
+Okay, I'm ready to work!
+
+Okay, I'm ready to work!#1
+Okay, I'm ready to work!
+
+Oldur Card
+Oldur Card
+
+Once you reach level 150, I'll offer you a life-time opportunity to delete all your levels and experience for your first rebirth!
+Once you reach level 150, I'll offer you a life-time opportunity to delete all your levels and experience for your first rebirth!
+
+Once you reach level 99, I'll offer you a life-time opportunity to delete all your levels and experience for your first rebirth!
+Once you reach level 99, I'll offer you a life-time opportunity to delete all your levels and experience for your first rebirth!
+
+Open Extension
+Open Extension
+
+Operation aborted. Phew!
+Operation aborted. Phew!
+
+Ops! You destroyed your @@.
+Ops! You destroyed your @@.
+
+Or make yourself useful killing a Duck. They steal all Cherry Cake from the Inn and the staff is getting angry at me. It'll serve, too.
+Or make yourself useful killing a Duck. They steal all Cherry Cake from the Inn and the staff is getting angry at me. It'll serve, too.
+
+Or use our awesome [@@https://tmw2.org/manalauncher/InstallManaLauncher.exe|Mana Launcher@@] if you're on Windows.
+Or use our awesome [@@https://tmw2.org/manalauncher/InstallManaLauncher.exe|Mana Launcher@@] if you're on Windows.
+
+Orange Cotton Dye
+Orange Cotton Dye
+
+Oscar and I signed this letter. Deliver it to Airlia on the Town Hall, and she'll reward you correctly.
+Oscar and I signed this letter. Deliver it to Airlia on the Town Hall, and she'll reward you correctly.
+
+Otherwise, well, I'm not sure what will happen. You'll probably be either thrown at the wolves or something. Duh.
+Otherwise, well, I'm not sure what will happen. You'll probably be either thrown at the wolves or something. Duh.
+
+Otherwise, you can also obtain a title during the Magic Olympics. These aren't implemented yet, but they're supposed to happen every three months, and are the hardest way to obtain a title.
+Otherwise, you can also obtain a title during the Magic Olympics. These aren't implemented yet, but they're supposed to happen every three months, and are the hardest way to obtain a title.
+
+Our mission statement is to bring fun to all players. You'll get some levels automatically. We advise you to join a guild.
+Our mission statement is to bring fun to all players. You'll get some levels automatically. We advise you to join a guild.
+
+PS. This also allows you to select a subclass.
+PS. This also allows you to select a subclass.
+
+PVP Arena did NOT got in. Same for AFK Cap.
+PVP Arena did NOT got in. Same for AFK Cap.
+
+Paladin Card
+Paladin Card
+
+Paladin Master
+Paladin Master
+
+Paladin#0
+Paladin
+
+Paladin#1
+Paladin
+
+Party levels for experience sharing restriction is more flexible, and there is a great co-op quest.
+Party levels for experience sharing restriction is more flexible, and there is a great co-op quest.
+
+Parum - @sk-parum
+Parum - @sk-parum
+
+Past this way is the Great River and the Eternal Swamps. But the river flooded.
+Past this way is the Great River and the Eternal Swamps. But the river flooded.
+
+Path closed due recent Monster King attack!
+Path closed due recent Monster King attack!
+
+Patrick Saulc
+Patrick Saulc
+
+People at Tulimshar are now giving more tips to newcomers, and new bugs may have been introduced.
+People at Tulimshar are now giving more tips to newcomers, and new bugs may have been introduced.
+
+Perfect!
+Perfect!
+
+Perfect! Here is your reward! (150 xp 150 gp)
+Perfect! Here is your reward! (150 xp 150 gp)
+
+Perfect! Here is your reward! (40 xp 25 gp)
+Perfect! Here is your reward! (40 xp 25 gp)
+
+Perhaps you may be of assistance later . . .
+Perhaps you may be of assistance later . . .
+
+Pet Detective wasn't getting new members and was forced to drop price.
+Pet Detective wasn't getting new members and was forced to drop price.
+
+Piano#RES_0096
+Piano#RES_0096
+
+Piano#RES_0097
+Piano#RES_0097
+
+Piano#RES_0177
+Piano#RES_0177
+
+Piano#RES_0178
+Piano#RES_0178
+
+Pick a bounty at Tulimshar Guard House! Buy and use grenades! (Only against non-boss monsters)
+Pick a bounty at Tulimshar Guard House! Buy and use grenades! (Only against non-boss monsters)
+
+Pink Cotton Dye
+Pink Cotton Dye
+
+Piou Slayer
+Piou Slayer
+
+Piou egg
+Piou egg
+
+Pious must keep a strict diet composed of Piberries, and Bhoppers eat only Aquadas.
+Pious must keep a strict diet composed of Piberries, and Bhoppers eat only Aquadas.
+
+Piousee
+Piousee
+
+Players are now send players to Nivalis and Frostia, to keep learning about who they are. While greater forces are at play, the player might be just a minor one, but certainly an important one.
+Players are now send players to Nivalis and Frostia, to keep learning about who they are. While greater forces are at play, the player might be just a minor one, but certainly an important one.
+
+Players are renting Mouboos and Tortugas to move faster! Shields are now better!
+Players are renting Mouboos and Tortugas to move faster! Shields are now better!
+
+Players can now sense monsters strength with @@, and lag was reduced. Pets can run away again.
+Players can now sense monsters strength with @@, and lag was reduced. Pets can run away again.
+
+Players didn't escape from the manaquake. Xtreem says it is easier to kill monsters now.
+Players didn't escape from the manaquake. Xtreem says it is easier to kill monsters now.
+
+Players who still have Golden Eggs
+Players who still have Golden Eggs
+
+Please bring me a single @@, and I'll give you a memeto.
+Please bring me a single @@, and I'll give you a memeto.
+
+Please contact @@ to clear this misunderstanding.
+Please contact @@ to clear this misunderstanding.
+
+Please kill @@/100 @@ for us and make the world a safer place!
+Please kill @@/100 @@ for us and make the world a safer place!
+
+Please select a category:
+Please select a category:
+
+Please select an action
+Please select an action
+
+Please use the alternative route provided by the Alliance High Council
+Please use the alternative route provided by the Alliance High Council
+
+Please use the warp to the right
+Please use the warp to the right
+
+Please, enjoy your leather gloves.
+Please, enjoy your leather gloves.
+
+Please, fell at home. You can use ##B#world##b channel to speak to everyone on Discord, IRC and ingame.
+Please, fell at home. You can use ##B#world##b channel to speak to everyone on Discord, IRC and ingame.
+
+Plum
+Plum
+
+Port realized.
+Port realized.
+
+PowerfulLightsaber
+PowerfulLightsaber
+
+Priest Master
+Priest Master
+
+Priest#0
+Priest
+
+Priest#1
+Priest
+
+Protip 2: If you fell struck, ask at #world, even if nobody is online. Who knows, someone on Discord or IRC might reply!
+Protip 2: If you fell struck, ask at #world, even if nobody is online. Who knows, someone on Discord or IRC might reply!
+
+Protip: Ducks and Giant Maggots also drops Cherry Cakes.
+Protip: Ducks and Giant Maggots also drops Cherry Cakes.
+
+Protip: Use @hide to don't interfer.
+Protip: Use @hide to don't interfer.
+
+Protip: You can get Croconut from Crocotree, and fill @@ purchased in the market.
+Protip: You can get Croconut from Crocotree, and fill @@ purchased in the market.
+
+Protip: You can use "@monsterinfo <monster name>" to gauge a monster strength.
+Protip: You can use "@monsterinfo <monster name>" to gauge a monster strength.
+
+Provoke - Provoke a single monster
+Provoke - Provoke a single monster
+
+Pst! Speak lower! Otherwise we'll wake @@ up!
+Pst! Speak lower! Otherwise we'll wake @@ up!
+
+Pst, speak lower, @@ may hear us...
+Pst, speak lower, @@ may hear us...
+
+Pst, speak lower, you may wake @@ up...
+Pst, speak lower, you may wake @@ up...
+
+Purple Cotton Dye
+Purple Cotton Dye
+
+Pyn Gatling
+Pyn Gatling
+
+Pyn Revolver
+Pyn Revolver
+
+Pyn Rifle
+Pyn Rifle
+
+Pyn Shotgun
+Pyn Shotgun
+
+Pyndragon said he'll do a @@ to however reduces them to dust. Interested?
+Pyndragon said he'll do a @@ to however reduces them to dust. Interested?
+
+REVOLVERS
+REVOLVERS
+
+RIFLES
+RIFLES
+
+Ragger Master
+Ragger Master
+
+Raijin Voice
+Raijin Voice
+
+Raise fallen party members so they can keep fighting.
+Raise fallen party members so they can keep fighting.
+
+Raise this skill
+Raise this skill
+
+Raises attack and resistance against dragons. Also raises int. Passive.
+Raises attack and resistance against dragons. Also raises int. Passive.
+
+Raises chance to entirely block an attack, but freezes you for a while. Req. Shield.
+Raises chance to entirely block an attack, but freezes you for a while. Req. Shield.
+
+Raises defense of the whole party in 5% for a while.
+Raises defense of the whole party in 5% for a while.
+
+Raises max HP and holy resistance. Passive.
+Raises max HP and holy resistance. Passive.
+
+Raises your Int by 50
+Raises your Int by 50
+
+Raises your base level by 50
+Raises your base level by 50
+
+Raises your job level by 50
+Raises your job level by 50
+
+Ranger#0
+Ranger
+
+Ranger#1
+Ranger
+
+Re-casting the same magic skill won't give you magic experience.
+Re-casting the same magic skill won't give you magic experience.
+
+Re-casting the same mana skill won't give you magic experience. Magic Skills doesn't have this system, and level up on quest or, depending on the skill, on the skill window, using Job Level.
+Re-casting the same mana skill won't give you magic experience. Magic Skills doesn't have this system, and level up on quest or, depending on the skill, on the skill window, using Job Level.
+
+Really begin the UDT Challenge?
+Really begin the UDT Challenge?
+
+Received one @@ as August daily login bug Token of Apology!
+Received one @@ as August daily login bug Token of Apology!
+
+Recepcionist#003-0
+Recepcionist#003-0
+
+Red Butterfy
+Red Butterfy
+
+Red Cotton Dye
+Red Cotton Dye
+
+RedButterfy
+RedButterfy
+
+Reduces your Int by 50
+Reduces your Int by 50
+
+Reduces your base level by 50
+Reduces your base level by 50
+
+Reduces your job level by 50
+Reduces your job level by 50
+
+Regenerate HP every 5 seconds, as if you were always eating a healing item.
+Regenerate HP every 5 seconds, as if you were always eating a healing item.
+
+Release 2
+Release 2
+
+Release 2.1 - Free Lunch For Those Who Work Hard!
+Release 2.1 - Free Lunch For Those Who Work Hard!
+
+Release 2.2 - There Are No Pipelines
+Release 2.2 - There Are No Pipelines
+
+Release 3
+Release 3
+
+Release 3.0 - In The Dreams
+Release 3.0 - In The Dreams
+
+Release 4
+Release 4
+
+Release 4.0 - Quest Giver's Handbook
+Release 4.0 - Quest Giver's Handbook
+
+Release 5
+Release 5
+
+Release 5.0 - Greenland Players
+Release 5.0 - Greenland Players
+
+Release 6
+Release 6
+
+Release 6.0 - Steam, Fire, and... Monster King?!
+Release 6.0 - Steam, Fire, and... Monster King?!
+
+Release 7
+Release 7
+
+Release 7 (Current)
+Release 7 (Current)
+
+Release 7.0 - Polished Emerald
+Release 7.0 - Polished Emerald
+
+Release 7.1 - Broken Emerald
+Release 7.1 - Broken Emerald
+
+Release 7.2 - Frozen Jesusalva
+Release 7.2 - Frozen Jesusalva
+
+Release 7.3 - Frozen Community
+Release 7.3 - Frozen Community
+
+Release 7.4 - Christmas Revolution
+Release 7.4 - Christmas Revolution
+
+Release 7.5 - Merry Christmas, Happy New Year
+Release 7.5 - Merry Christmas, Happy New Year
+
+Release 8
+Release 8
+
+Release 8 (Current)
+Release 8 (Current)
+
+Release 8.0 - Apane Invasion, the Remaster
+Release 8.0 - Apane Invasion, the Remaster
+
+Release 8.1 - It's hidden! Where?
+Release 8.1 - It's hidden! Where?
+
+Release 8.2(1) - Valentine Day (Is Over)
+Release 8.2(1) - Valentine Day (Is Over)
+
+Release 8.3 - King Arthur
+Release 8.3 - King Arthur
+
+Release 8.4 - Can I Live Ingame?
+Release 8.4 - Can I Live Ingame?
+
+Release 8.5 - A Place To Spend Vacations
+Release 8.5 - A Place To Spend Vacations
+
+Release 8.9 - Easter Event
+Release 8.9 - Easter Event
+
+Release 8.99 - JESUSALVA IS LAZY
+Release 8.99 - JESUSALVA IS LAZY
+
+Release 9
+Release 9
+
+Release 9 (Current)
+Release 9 (Current)
+
+Release 9.0 - The Promised Release
+Release 9.0 - The Promised Release
+
+Release 9.1 - Bedtime Stories
+Release 9.1 - Bedtime Stories
+
+Release 9.2 - Workbench
+Release 9.2 - Workbench
+
+Release 9.3 - Lovely Homunculus
+Release 9.3 - Lovely Homunculus
+
+Release 9.4 - Balance & Bugfix Patch
+Release 9.4 - Balance & Bugfix Patch
+
+Remember, I need 100 @@, 50 @@, and something interesting to read.
+Remember, I need 100 @@, 50 @@, and something interesting to read.
+
+Remove this skill
+Remove this skill
+
+Repeat:
+Repeat:
+
+Report this to Jesusalva and he may finish this quest.
+Report this to Jesusalva and he may finish this quest.
+
+Reset Kill Saulc Event (Monthly)
+Reset Kill Saulc Event (Monthly)
+
+Return to skill debug menu
+Return to skill debug menu
+
+RightBarrierCheck
+RightBarrierCheck
+
+RobinBandit
+RobinBandit
+
+Rosen is now making Training Bow in Candor for new adventures.
+Rosen is now making Training Bow in Candor for new adventures.
+
+Ruby Ring (+2 str)
+Ruby Ring (+2 str)
+
+SHOTGUNS
+SHOTGUNS
+
+STR: %d AGI %d VIT %d
+STR: %d AGI %d VIT %d
+
+Safe again! You've gained some experience for your hard work!
+Safe again! You've gained some experience for your hard work!
+
+Sage Master
+Sage Master
+
+Sage#0
+Sage
+
+Sage#1
+Sage
+
+Sapphire Ring (+2 int)
+Sapphire Ring (+2 int)
+
+Saulc and Cherry married in Halinarzo, and stayed like this for perhaps 20 seconds, before Cherry asked for divorce.
+Saulc and Cherry married in Halinarzo, and stayed like this for perhaps 20 seconds, before Cherry asked for divorce.
+
+Saulc said it needs an inspection, and he'll be with everyone trying to proccess and fix the amount of damage this caused.
+Saulc said it needs an inspection, and he'll be with everyone trying to proccess and fix the amount of damage this caused.
+
+Save Point (30m)
+Save Point (30m)
+
+Scarab Armlet
+Scarab Armlet
+
+Seek a colorant for that material: Cotton, cashmere, leather, Lazurite...
+Seek a colorant for that material: Cotton, cashmere, leather, Lazurite...
+
+Select to which server you want to port your event data to.
+Select to which server you want to port your event data to.
+
+Sending the letter will give you double event points, capped to 10 extra points.
+Sending the letter will give you double event points, capped to 10 extra points.
+
+Set state manually
+Set state manually
+
+Set the level manually
+Set the level manually
+
+Several bugfixes! And a new bug replace every removed one!
+Several bugfixes! And a new bug replace every removed one!
+
+Several bugfixes, and new monsters have been seen. Almost all healing items have changed.
+Several bugfixes, and new monsters have been seen. Almost all healing items have changed.
+
+Sharpshooter - Shoot an arrow or bullet which damages everything on its way.
+Sharpshooter - Shoot an arrow or bullet which damages everything on its way.
+
+She is sending players to Hurnscald instead.
+She is sending players to Hurnscald instead.
+
+She is the nurse and shipkeeper of this ship.
+She is the nurse and shipkeeper of this ship.
+
+She's on the upper level, yeye can't miss her. She's the only girl in this crew, oh well, except for you now yeyeye!#0
+She's on the upper level, yeye can't miss her. She's the only girl in this crew, oh well, except for you now yeyeye!
+
+She's on the upper level, yeye can't miss her. She's the only girl in this crew.#1
+She's on the upper level, yeye can't miss her. She's the only girl in this crew.
+
+Ship travels are cheaper, full equipment sets have hidden bonuses, Soul Menhirs are now auto-touched.
+Ship travels are cheaper, full equipment sets have hidden bonuses, Soul Menhirs are now auto-touched.
+
+Ship travels are not free. See if you can gather some money, and I'll bring you to Tulimshar!
+Ship travels are not free. See if you can gather some money, and I'll bring you to Tulimshar!
+
+Shortcuts.
+Shortcuts.
+
+Should we blame Saulc for bugs?
+Should we blame Saulc for bugs?
+
+Shovels and Treasure maps, for the explorers this summer, after June 21st!
+Shovels and Treasure maps, for the explorers this summer, after June 21st!
+
+Side Note: During r6.1 and r6.5, various improvements were done, and two new quests were seen. Priests have shown up.
+Side Note: During r6.1 and r6.5, various improvements were done, and two new quests were seen. Priests have shown up.
+
+Sign#ErrorHandler0041
+Sign#ErrorHandler0041
+
+Sign#ErrorHandler0042
+Sign#ErrorHandler0042
+
+Silver Cotton Dye
+Silver Cotton Dye
+
+Since previous release, there was also seen priests, two new quests, and a breakthrough on reset potions happened.
+Since previous release, there was also seen priests, two new quests, and a breakthrough on reset potions happened.
+
+Skill Debug
+Skill Debug
+
+Skill Debug - Modify Skill
+Skill Debug - Modify Skill
+
+Skill is in cooldown.
+Skill is in cooldown.
+
+Skull Potion
+Skull Potion
+
+SkullBloodyMug
+SkullBloodyMug
+
+Slide Card
+Slide Card
+
+Sniper#0
+Sniper
+
+Sniper#1
+Sniper
+
+Snow Binny
+Snow Binny
+
+So finally someone has came to visit me?
+So finally someone has came to visit me?
+
+So, did you brought me the cherry cakes?
+So, did you brought me the cherry cakes?
+
+So, let's return to the bussiness at hand. My men went down and haven't returned. That was long ago, by the way.
+So, let's return to the bussiness at hand. My men went down and haven't returned. That was long ago, by the way.
+
+So, please kill 3 @@, which are usually at beaches. You can sell their stingers.
+So, please kill 3 @@, which are usually at beaches. You can sell their stingers.
+
+So, please kill @@/100 @@ for us and make the world a safer place!
+So, please kill @@/100 @@ for us and make the world a safer place!
+
+So, what do you say about a deal? I'll affiliate you on the Pet Caring Guild for only 150.000 GP!
+So, what do you say about a deal? I'll affiliate you on the Pet Caring Guild for only 150.000 GP!
+
+So, what do you say about a deal? I'll affiliate you on the Pet Caring Guild for only 350.000 GP!
+So, what do you say about a deal? I'll affiliate you on the Pet Caring Guild for only 350.000 GP!
+
+So, young disciple! I wish I could just chant some gibberish words and that automatically granted you more skills, but alas, that won't work.
+So, young disciple! I wish I could just chant some gibberish words and that automatically granted you more skills, but alas, that won't work.
+
+Some NPCs are [@@https://transifex.com/akaras/saulc-tmw-fork|learning new languages@@].
+Some NPCs are [@@https://transifex.com/akaras/saulc-tmw-fork|learning new languages@@].
+
+Some adventurer broke what was previously thought as maximum level, and is now level 40!
+Some adventurer broke what was previously thought as maximum level, and is now level 40!
+
+Some adventurer broke what was previously thought as maximum level, and is now level 45!
+Some adventurer broke what was previously thought as maximum level, and is now level 45!
+
+Some are small, others are bigger. But they all fight togheter, so be mindful when they're in groups.
+Some are small, others are bigger. But they all fight togheter, so be mindful when they're in groups.
+
+Some monsters gained death and/or attack sounds, and Blue Sage House front door is now open.
+Some monsters gained death and/or attack sounds, and Blue Sage House front door is now open.
+
+Some of them have FORBIDDEN DROPS, which will be DELETED when their event starts!
+Some of them have FORBIDDEN DROPS, which will be DELETED when their event starts!
+
+Some of these even cause area damage! Rumors of time travellers were heard, but no time travel was confirmed.
+Some of these even cause area damage! Rumors of time travellers were heard, but no time travel was confirmed.
+
+Some time later...
+Some time later...
+
+Somebody else also got huge stats bonuses because reached the unbelievable job level 25.
+Somebody else also got huge stats bonuses because reached the unbelievable job level 25.
+
+Someone adventurer broke what was previously thought as maximum level, and is now level 31!
+Someone adventurer broke what was previously thought as maximum level, and is now level 31!
+
+Soon enough, young %s. The study skill is almost finished... Muahaha!
+Soon enough, young %s. The study skill is almost finished... Muahaha!
+
+Soren, the architect responsible for it, is very happy with the new design.
+Soren, the architect responsible for it, is very happy with the new design.
+
+Sorry another day maybe.
+Sorry another day maybe.
+
+Sorry kind lady @@, but no.#1
+Sorry kind lady @@, but no.
+
+Sorry kind sir @@, but no.#0
+Sorry kind sir @@, but no.
+
+Sorry! I forgot to introduce myself. My name is Arpan, but other sailors call me Magic Arpan because I know one or two yaing magic spells.
+Sorry! I forgot to introduce myself. My name is Arpan, but other sailors call me Magic Arpan because I know one or two yaing magic spells.
+
+Sorry! Not yet implemented!
+Sorry! Not yet implemented!
+
+Sorry! The monsters are gone, but this gate stays closed.
+Sorry! The monsters are gone, but this gate stays closed.
+
+Sorry, I am not in the mood for another fight with these rattos.
+Sorry, I am not in the mood for another fight with these rattos.
+
+Sorry, I'm babbling. Deliver this letter to Frostia Mayor. He will know what to do and what you should do.
+Sorry, I'm babbling. Deliver this letter to Frostia Mayor. He will know what to do and what you should do.
+
+Sorry, but I can't tell you anything about that.
+Sorry, but I can't tell you anything about that.
+
+Sorry, but I need one of each gem powder, and 800 GP.
+Sorry, but I need one of each gem powder, and 800 GP.
+
+Sorry, the path to Hurnscald has been locked due to monsters.
+Sorry, the path to Hurnscald has been locked due to monsters.
+
+Sorry, you was taking too long to decide and I've rented my sword to somebody else.
+Sorry, you was taking too long to decide and I've rented my sword to somebody else.
+
+Soul Menhir#001-11
+Soul Menhir#001-11
+
+Soul Menhir#001-4
+Soul Menhir#001-4
+
+Spawn Area 1
+Spawn Area 1
+
+Spawn Area 2
+Spawn Area 2
+
+Spawn Area 3
+Spawn Area 3
+
+Spawn Area 4
+Spawn Area 4
+
+Spawn Area 5
+Spawn Area 5
+
+Speak with ##BBarzil##b. Tell him I need it, he'll give you one from my inventory. HURRY UP!
+Speak with ##BBarzil##b. Tell him I need it, he'll give you one from my inventory. HURRY UP!
+
+Spectra Orb
+Spectra Orb
+
+Standard fireball skill.
+Standard fireball skill.
+
+Stat Reseters had a breakthrough which made potions cheaper, and Arkim brand new petiscide made Pinkies sick (with less HP).
+Stat Reseters had a breakthrough which made potions cheaper, and Arkim brand new petiscide made Pinkies sick (with less HP).
+
+Status point reset can't be undone. Are you sure about this?#0
+Status point reset can't be undone. Are you sure about this?
+
+Status point reset can't be undone. Are you sure about this?#1
+Status point reset can't be undone. Are you sure about this?
+
+Stay out of harm way. Nothing to see here. Stay away, pathetically weak human.#0
+Stay out of harm way. Nothing to see here. Stay away, pathetically weak human.
+
+Stay out of harm way. Nothing to see here. Stay away, pathetically weak human.#1
+Stay out of harm way. Nothing to see here. Stay away, pathetically weak human.
+
+Stop right there, meliant. I can see you're AFK, it is written in your hat!
+Stop right there, meliant. I can see you're AFK, it is written in your hat!
+
+Stovetop#RES_0096
+Stovetop#RES_0096
+
+Stovetop#RES_0097
+Stovetop#RES_0097
+
+Strange figures appear, claiming to be from the Land of Fire, and using interesting sticks, which spits fire.
+Strange figures appear, claiming to be from the Land of Fire, and using interesting sticks, which spits fire.
+
+Stranger and monsters aren't allowed to enter in MY house!
+Stranger and monsters aren't allowed to enter in MY house!
+
+Strength helps you carry more items and also gives you a more forceful blow, but ends up not being very interesting if you focus on weapons that use projectiles, such as the bow.
+Strength helps you carry more items and also gives you a more forceful blow, but ends up not being very interesting if you focus on weapons that use projectiles, such as the bow.
+
+Styles.
+Styles.
+
+Submit to ranking
+Submit to ranking
+
+Successive warps cause time-space distortions and thus, are not allowed.
+Successive warps cause time-space distortions and thus, are not allowed.
+
+Summon Cave Maggot - @sk-zarkor
+Summon Cave Maggot - @sk-zarkor
+
+Summon Dragons - @sk-dragokin
+Summon Dragons - @sk-dragokin
+
+Summon Fairies - @sk-fairykingdom
+Summon Fairies - @sk-fairykingdom
+
+Summon Fluffies - @sk-cuteheart
+Summon Fluffies - @sk-cuteheart
+
+Summon Maggot - @sk-kalmurk
+Summon Maggot - @sk-kalmurk
+
+Summon Mouboo - @sk-kalboo
+Summon Mouboo - @sk-kalboo
+
+Summon P. Spiky Mushroom - @sk-kalspike
+Summon P. Spiky Mushroom - @sk-kalspike
+
+Summon Plants - @sk-plantkingdom
+Summon Plants - @sk-plantkingdom
+
+Summon Slimes - @sk-limerizer
+Summon Slimes - @sk-limerizer
+
+Summon Snakes - @sk-halhiss
+Summon Snakes - @sk-halhiss
+
+Summon Terranites - @sk-stoneheart
+Summon Terranites - @sk-stoneheart
+
+Summon Wolverns - @sk-kalwulf
+Summon Wolverns - @sk-kalwulf
+
+Summon Yetis - @sk-frozenheart
+Summon Yetis - @sk-frozenheart
+
+Supreme Attack - Cause a very strong attack with lowered accuracy.
+Supreme Attack - Cause a very strong attack with lowered accuracy.
+
+Sure! But that is Mana Magic. Just bring me a mug of beer, I'm thristy. And I'll teach you a basic skill.
+Sure! But that is Mana Magic. Just bring me a mug of beer, I'm thristy. And I'll teach you a basic skill.
+
+Syntax: #commandname <reason>
+Syntax: #commandname <reason>
+
+TODO!
+TODO!
+
+TUTORIAL: By pressing @@, you can open the Shortcut menu. And by pressing @@, you open the skill menu!
+TUTORIAL: By pressing @@, you can open the Shortcut menu. And by pressing @@, you open the skill menu!
+
+TUTORIAL: If you drag the "Resync" skill from the skill list to the shortcut list, you'll be able to rapidly solve some lag issues!
+TUTORIAL: If you drag the "Resync" skill from the skill list to the shortcut list, you'll be able to rapidly solve some lag issues!
+
+TUTORIAL: Of course, lag might always be a problem. Remember to drag healing items to the shortcut list too. %%2
+TUTORIAL: Of course, lag might always be a problem. Remember to drag healing items to the shortcut list too. %%2
+
+TUTORIAL: The bugs there can be pretty vicious. Do you know what's worse though? Lag.
+TUTORIAL: The bugs there can be pretty vicious. Do you know what's worse though? Lag.
+
+Tactical Retreat
+Tactical Retreat
+
+Take this badge, so you can get access to the guard house. You will find more work there. Bye, and good luck!
+Take this badge, so you can get access to the guard house. You will find more work there. Bye, and good luck!
+
+Talk to Elmo to get an EXP UP Boost until level 15!
+Talk to Elmo to get an EXP UP Boost until level 15!
+
+Talk to Soul Menhir to start.
+Talk to Soul Menhir to start.
+
+Tamiloc - Modify Race
+Tamiloc - Modify Race
+
+Tanker Master
+Tanker Master
+
+Tanker#0
+Tanker
+
+Tanker#1
+Tanker
+
+Taxes will raise in 0.01~0.03%, capped at 10%.
+Taxes will raise in 0.01~0.03%, capped at 10%.
+
+Teaching Elza your skills will make you both forget them.
+Teaching Elza your skills will make you both forget them.
+
+Teaching Enzo your skills will make you both forget them.
+Teaching Enzo your skills will make you both forget them.
+
+Teaching Ezra your skills will make you both forget them.
+Teaching Ezra your skills will make you both forget them.
+
+Teal Cotton Dye
+Teal Cotton Dye
+
+Technical problem, gimme info about an item.
+Technical problem, gimme info about an item.
+
+Tell me about Esperia.
+Tell me about Esperia.
+
+Temporaly out of order.
+Temporaly out of order.
+
+Temporaly raise your agility and move speed, in exchange of HP.
+Temporaly raise your agility and move speed, in exchange of HP.
+
+Temporaly switch weapon element to @@. Success rate is fixed at 70%.
+Temporaly switch weapon element to @@. Success rate is fixed at 70%.
+
+Temporary immunity to move stun when hit, and MDEF bonus.
+Temporary immunity to move stun when hit, and MDEF bonus.
+
+Terranite King was seen recently. New shields and pants are available for craft.
+Terranite King was seen recently. New shields and pants are available for craft.
+
+Terranite Quiver
+Terranite Quiver
+
+Testing Mob
+Testing Mob
+
+Thank you, I'll take them and put them on.
+Thank you, I'll take them and put them on.
+
+Thankfully, we'll be moving soon. This building is old and the roof is falling.
+Thankfully, we'll be moving soon. This building is old and the roof is falling.
+
+Thanks again for helping me. Drats these rattos for infesting our fair vessal!
+Thanks again for helping me. Drats these rattos for infesting our fair vessal!
+
+Thanks for helping me!
+Thanks for helping me!
+
+Thanks for helping my wife! May the Mouboo watch over you! o.o
+Thanks for helping my wife! May the Mouboo watch over you! o.o
+
+Thanks for the help!
+Thanks for the help!
+
+Thanks once again, I know it's not much but here is 450 GP for your troubles.
+Thanks once again, I know it's not much but here is 450 GP for your troubles.
+
+That and other changes, are all thinking on players helping each other.
+That and other changes, are all thinking on players helping each other.
+
+That indeed is true, you can see a pile of rusty knifes on the nearby table.
+That indeed is true, you can see a pile of rusty knifes on the nearby table.
+
+That's a Mana Magic. It is very different from regular magic. For example, it have an experience meter and an alias you can say.
+That's a Mana Magic. It is very different from regular magic. For example, it have an experience meter and an alias you can say.
+
+That's crazy!
+That's crazy!
+
+That's not everything I asked for.
+That's not everything I asked for.
+
+That's very, very risky. I need 3 @@ and 10 @@ to make a Potion to you, and I won't warrant it will work.
+That's very, very risky. I need 3 @@ and 10 @@ to make a Potion to you, and I won't warrant it will work.
+
+That... Didn't worked. I'm sorry.
+That... Didn't worked. I'm sorry.
+
+The Alliance High Council informs that Super Players and above are capable to try ##B @toevent ##b for free event warps.
+The Alliance High Council informs that Super Players and above are capable to try ##B @toevent ##b for free event warps.
+
+The Alliance announces a great new way to keep adventurers killing monsters.
+The Alliance announces a great new way to keep adventurers killing monsters.
+
+The Alliance changed some rules for storage size, botting, and grand hunter prizes, too.
+The Alliance changed some rules for storage size, botting, and grand hunter prizes, too.
+
+The Alliance prepared an attack against the Monster King. Report at Nivalis Guard for more information.
+The Alliance prepared an attack against the Monster King. Report at Nivalis Guard for more information.
+
+The Alliance says that @@ monsters have been slain by players since 2019-05-24!
+The Alliance says that @@ monsters have been slain by players since 2019-05-24!
+
+The Arena is currently closed for maintenance, and will be open at Release 9.
+The Arena is currently closed for maintenance, and will be open at Release 9.
+
+The Army seems to walk away after some time.
+The Army seems to walk away after some time.
+
+The Grand Hunter quest is available with Aidan. It's an experiment by the High Council,
+The Grand Hunter quest is available with Aidan. It's an experiment by the High Council,
+
+The Guard Card will prove your intentions. Talk to the Lieutenant in front of the Guard House.
+The Guard Card will prove your intentions. Talk to the Lieutenant in front of the Guard House.
+
+The Guard Card will prove your intentions. Talk to the Lieutenant.
+The Guard Card will prove your intentions. Talk to the Lieutenant.
+
+The Magic Council finished the reform on their guest hall.
+The Magic Council finished the reform on their guest hall.
+
+The Magic Council lift Statues in honor of some people. But its guest hall is in reform!
+The Magic Council lift Statues in honor of some people. But its guest hall is in reform!
+
+The Monster King Army is attacking towns at random! Players already caused a loss of about @@ officers!
+The Monster King Army is attacking towns at random! Players already caused a loss of about @@ officers!
+
+The Monster King Fortress
+The Monster King Fortress
+
+The Monster King got so active in the past days, he even have a mirrored version of himself roaming the lands.
+The Monster King got so active in the past days, he even have a mirrored version of himself roaming the lands.
+
+The Monster King left Hurnscald! This is our chance! Saulc GM is assembling a team to TAKE OVER HURNSCALD!!
+The Monster King left Hurnscald! This is our chance! Saulc GM is assembling a team to TAKE OVER HURNSCALD!!
+
+The Mouboo doesn't wants to drink the Coffee. Try to force him to drink anyway?
+The Mouboo doesn't wants to drink the Coffee. Try to force him to drink anyway?
+
+The NPC responsible for buying raw gemstones from other NPCs has recovered since the last siege.
+The NPC responsible for buying raw gemstones from other NPCs has recovered since the last siege.
+
+The Tulimshar Forge is also dealing with more complex materials, and not just Iron.
+The Tulimshar Forge is also dealing with more complex materials, and not just Iron.
+
+The Tulimshar guards needs an freelance employee who would help us in our work. We are searching for people as you.
+The Tulimshar guards needs an freelance employee who would help us in our work. We are searching for people as you.
+
+The UDT Challenge will create a Gladiator Monster which should somehow emulate a PvP experience.
+The UDT Challenge will create a Gladiator Monster which should somehow emulate a PvP experience.
+
+The Warriors have three other subclasses:
+The Warriors have three other subclasses:
+
+The Wizards have three other subclasses:
+The Wizards have three other subclasses:
+
+The alliance panicked, and allowed Demure, Pyndragon and Pihro on their board of members.
+The alliance panicked, and allowed Demure, Pyndragon and Pihro on their board of members.
+
+The alliance, in honor of previous event winners, built new statues on the Council Guest Hall.
+The alliance, in honor of previous event winners, built new statues on the Council Guest Hall.
+
+The announcement is: “Need a challenge? Or perhaps an Infinity +1 Sword? Try Heroes Hold today.â€
+The announcement is: “Need a challenge? Or perhaps an Infinity +1 Sword? Try Heroes Hold today.â€
+
+The basic magic attack from a Priest. No effect against Holy Monsters.
+The basic magic attack from a Priest. No effect against Holy Monsters.
+
+The captain has locked the door, you should go see him.
+The captain has locked the door, you should go see him.
+
+The captain is waiting for you! Hurry up.
+The captain is waiting for you! Hurry up.
+
+The class master mix the powder with the slime inside the bottle, and makes some weird mixture.
+The class master mix the powder with the slime inside the bottle, and makes some weird mixture.
+
+The defensive guy, with every support skill a mage could need.
+The defensive guy, with every support skill a mage could need.
+
+The demand for strong players raised everywhere. Even death penalty decreased, and GMs are doing better events now.
+The demand for strong players raised everywhere. Even death penalty decreased, and GMs are doing better events now.
+
+The door is locked, you should speak to Woody's Wife about it.
+The door is locked, you should speak to Woody's Wife about it.
+
+The easiest way to identify is: Magic Skills never target a single foe. This grimorium reports your Magic Skills.
+The easiest way to identify is: Magic Skills never target a single foe. This grimorium reports your Magic Skills.
+
+The easiest way to identify is: Mana Skills never target a single foe. This grimorium reports your Mana Skills.
+The easiest way to identify is: Mana Skills never target a single foe. This grimorium reports your Mana Skills.
+
+The event is over!
+The event is over!
+
+The famous PVP Arena, Quirino Voraz, can now be used by all players.
+The famous PVP Arena, Quirino Voraz, can now be used by all players.
+
+The fee is of @@ GP. So, do you want to register?
+The fee is of @@ GP. So, do you want to register?
+
+The first trial is simple, I'm not doing anything in special. Bring me 1 @@, or 20 @@ and 20 @@.
+The first trial is simple, I'm not doing anything in special. Bring me 1 @@, or 20 @@ and 20 @@.
+
+The first trial is simple, I'm not doing anything in special. Bring me 1 @@, or 200 @@ and 20 @@.
+The first trial is simple, I'm not doing anything in special. Bring me 1 @@, or 200 @@ and 20 @@.
+
+The foretold Call Of Dusty event quest is also now available for PVP Parties.
+The foretold Call Of Dusty event quest is also now available for PVP Parties.
+
+The full-attack guy. Two hand swords works best!
+The full-attack guy. Two hand swords works best!
+
+The full-defense guy. Most skills require a shield.
+The full-defense guy. Most skills require a shield.
+
+The gates are firmly shut by some weird magical power.
+The gates are firmly shut by some weird magical power.
+
+The great prize is @@ GP. It can be claimed with Aidan, on Tulimshar.
+The great prize is @@ GP. It can be claimed with Aidan, on Tulimshar.
+
+The great prize is @@, a pet which eats Bug Legs.
+The great prize is @@, a pet which eats Bug Legs.
+
+The great prize is @@. It can be claimed with Aidan, on Tulimshar.
+The great prize is @@. It can be claimed with Aidan, on Tulimshar.
+
+The guild is in charge of the commerce regularization throughout Candor and its surroundings.
+The guild is in charge of the commerce regularization throughout Candor and its surroundings.
+
+The guild is in charge of the commerce regularization throughout Halinarzo and its surroundings.
+The guild is in charge of the commerce regularization throughout Halinarzo and its surroundings.
+
+The guild is in charge of the commerce regularization throughout Tulimshar and its surroundings.
+The guild is in charge of the commerce regularization throughout Tulimshar and its surroundings.
+
+The inn north of me still haven't opened, which is a shame. I guess their cassino got too expensive.
+The inn north of me still haven't opened, which is a shame. I guess their cassino got too expensive.
+
+The mana bridge to Aeros is open! To participate on event, talk to ##BSoul Menhir##b!
+The mana bridge to Aeros is open! To participate on event, talk to ##BSoul Menhir##b!
+
+The monsters here are too strong, and as I said before, I can't get close to the Transcedence Portal nor to get training.
+The monsters here are too strong, and as I said before, I can't get close to the Transcedence Portal nor to get training.
+
+The more levels and intelligence you have, more likely the Mana Stone will grant you more Magic Power. But that means nothing.
+The more levels and intelligence you have, more likely the Mana Stone will grant you more Magic Power. But that means nothing.
+
+The most agressive and main ones are:
+The most agressive and main ones are:
+
+The name of the book is @@.
+The name of the book is @@.
+
+The new inhabitants from the Land Of Fire are welcome, and some are still sheltering, like the Silversmith.
+The new inhabitants from the Land Of Fire are welcome, and some are still sheltering, like the Silversmith.
+
+The next page begins to list the complex trading laws and political rules.
+The next page begins to list the complex trading laws and political rules.
+
+The offensive guy, with every attack skill a mage could need.
+The offensive guy, with every attack skill a mage could need.
+
+The old book seems to tell about the legend of Aemil. Would you like to read it?
+The old book seems to tell about the legend of Aemil. Would you like to read it?
+
+The party dungeon is still under maintenance, but it shall soon be liberated. The disaster was so big, all mobs are different.
+The party dungeon is still under maintenance, but it shall soon be liberated. The disaster was so big, all mobs are different.
+
+The path will be open when it's safe again for heavily armed travellers.
+The path will be open when it's safe again for heavily armed travellers.
+
+The potion expired!
+The potion expired!
+
+The potion is baked, you have thirty five minutes! Read as fast as you can, don't miss details!
+The potion is baked, you have thirty five minutes! Read as fast as you can, don't miss details!
+
+The prizes are only for the top 10, but Loratay on Land Of Fire Village can make a dress for you.
+The prizes are only for the top 10, but Loratay on Land Of Fire Village can make a dress for you.
+
+The requested char is not online or does not exist.
+The requested char is not online or does not exist.
+
+The snowstorm at Nivalis has ceased, but the Monster King led a massively huge army to siege Nivalis.
+The snowstorm at Nivalis has ceased, but the Monster King led a massively huge army to siege Nivalis.
+
+The tritan pirates amass for their siege, but they will not attack yet. Return later. King DD is working to find a solution.
+The tritan pirates amass for their siege, but they will not attack yet. Return later. King DD is working to find a solution.
+
+The well-round guy, with reasonable def, attack, and support skills.
+The well-round guy, with reasonable def, attack, and support skills.
+
+The wise guy, which doesn't relies on magic, and loves summon.
+The wise guy, which doesn't relies on magic, and loves summon.
+
+Their main tasks are ensuring trade, protecting the cities from monster invasions, and guarding the Mana Stones.
+Their main tasks are ensuring trade, protecting the cities from monster invasions, and guarding the Mana Stones.
+
+Then concentrate your anger upon the trees hereabouts, you will gain experience whilst leveling your sword skill on them.
+Then concentrate your anger upon the trees hereabouts, you will gain experience whilst leveling your sword skill on them.
+
+There are many key combinations, press F1 to see a short list of them!
+There are many key combinations, press F1 to see a short list of them!
+
+There are only @@ pins to set.
+There are only @@ pins to set.
+
+There are rumors of a grand prize to whoever gets lucky on that machine.
+There are rumors of a grand prize to whoever gets lucky on that machine.
+
+There are still some rattos left! Do you want to abort the quest?
+There are still some rattos left! Do you want to abort the quest?
+
+There are two kind of magic: Mana Skills and Magic Skills.
+There are two kind of magic: Mana Skills and Magic Skills.
+
+There doesn't seems to be any physical wound.
+There doesn't seems to be any physical wound.
+
+There is a paper with some rules written on it.
+There is a paper with some rules written on it.
+
+There is fresh water here. I could use it to fill a bottle.
+There is fresh water here. I could use it to fill a bottle.
+
+There is now a challenge in Tulimshar PvP Duel Room. How long can you survive?
+There is now a challenge in Tulimshar PvP Duel Room. How long can you survive?
+
+There was just too many changes to list all of them here. Good luck finding all of them!
+There was just too many changes to list all of them here. Good luck finding all of them!
+
+There was too many things to keep track. After Hurnscald siege, with lots of earthquakes, we had an accident.
+There was too many things to keep track. After Hurnscald siege, with lots of earthquakes, we had an accident.
+
+There were trees blocking the path to Halinarzo? Why nobody told that to Tulimshar Council?!
+There were trees blocking the path to Halinarzo? Why nobody told that to Tulimshar Council?!
+
+There's a scheduled update for 26/12. Event subject to change without prior notice.
+There's a scheduled update for 26/12. Event subject to change without prior notice.
+
+There's no change in the Mouboo condition.
+There's no change in the Mouboo condition.
+
+There's some diversity, but you should keep aiming at helping people and killing small-fry. If you ever want a challenge, there's a Giant Maggot inside the town which will one-shot you.
+There's some diversity, but you should keep aiming at helping people and killing small-fry. If you ever want a challenge, there's a Giant Maggot inside the town which will one-shot you.
+
+Therefore, raw gemstones prices are once again on the rise.
+Therefore, raw gemstones prices are once again on the rise.
+
+These boxes are way too heavy to be lifted by only one person, all the way onto the ship.
+These boxes are way too heavy to be lifted by only one person, all the way onto the ship.
+
+These can be reverted to previous behavior on User Control Panel!
+These can be reverted to previous behavior on User Control Panel!
+
+These trees were cut and travellers can once again travel to Halin.
+These trees were cut and travellers can once again travel to Halin.
+
+They also determine rules, and enforces them. We live under a disguised dictatorship.
+They also determine rules, and enforces them. We live under a disguised dictatorship.
+
+They also recently took over some city affairs. It's good they're protecting us, but I'm afraid of they creeping in our lives!
+They also recently took over some city affairs. It's good they're protecting us, but I'm afraid of they creeping in our lives!
+
+They are a permanent problem so I will always need your help to exterminate them in order to keep their number under control.
+They are a permanent problem so I will always need your help to exterminate them in order to keep their number under control.
+
+They are known to use a revolutionary hair growth formula.
+They are known to use a revolutionary hair growth formula.
+
+They left me no inheirtance, either. Even surviving has been a struggle. I'm not strong enough to kill the living potatos for @@.
+They left me no inheirtance, either. Even surviving has been a struggle. I'm not strong enough to kill the living potatos for @@.
+
+They look like the same, but they're not. Magic Skills have a Magic Experience meter.
+They look like the same, but they're not. Magic Skills have a Magic Experience meter.
+
+They look like the same, but they're not. Mana Skills have a Magic Experience meter and have different rules.
+They look like the same, but they're not. Mana Skills have a Magic Experience meter and have different rules.
+
+They will expire *hic* in just @@... Or on logout.
+They will expire *hic* in just @@... Or on logout.
+
+They're not too dangerous, but takes a lot to kill. So, if you kill 10 of them, I'll know you're dedicated in learning which monsters are out there.
+They're not too dangerous, but takes a lot to kill. So, if you kill 10 of them, I'll know you're dedicated in learning which monsters are out there.
+
+Thiefs frequently attack this vault, and locking it again is a pain. If you break the lock you'll need to pay 100 GP.
+Thiefs frequently attack this vault, and locking it again is a pain. If you break the lock you'll need to pay 100 GP.
+
+Thinking well... There's something behind it! A secret door!
+Thinking well... There's something behind it! A secret door!
+
+This boost can be used until level 15.
+This boost can be used until level 15.
+
+This cannot be undone. Are you sure?
+This cannot be undone. Are you sure?
+
+This caused a mana disturbance, and healing items are working better now, affecting every sector of economy.
+This caused a mana disturbance, and healing items are working better now, affecting every sector of economy.
+
+This costed years of work... But you deserve it. Here is, an @@. Use it wisely, many armor can be forged with it.
+This costed years of work... But you deserve it. Here is, an @@. Use it wisely, many armor can be forged with it.
+
+This didn't work. All pins are now unlocked!
+This didn't work. All pins are now unlocked!
+
+This fertilizer is projected to protect the plants from plagues, bugs, scorpions and maggots, trying to don't be a plague on itself.
+This fertilizer is projected to protect the plants from plagues, bugs, scorpions and maggots, trying to don't be a plague on itself.
+
+This file must be requested due not being public.
+This file must be requested due not being public.
+
+This girl is lucky we found her before a shark did. I have no idea where she comes from.#0
+This girl is lucky we found her before a shark did. I have no idea where she comes from.
+
+This guy is lucky we found him before a shark did. I have no idea where he comes from.#1
+This guy is lucky we found him before a shark did. I have no idea where he comes from.
+
+This guy needs help, we need to rescue him!#1
+This guy needs help, we need to rescue him!
+
+This is ##BCandor Island##b. A very small community lives here.
+This is ##BCandor Island##b. A very small community lives here.
+
+This is a menu, click on the option and then on send. You can use arrow keys if you prefer.
+This is a menu, click on the option and then on send. You can use arrow keys if you prefer.
+
+This is all in KAMELOT for now.
+This is all in KAMELOT for now.
+
+This is not a weapon. Wait, you don't want to explode it, right?!
+This is not a weapon. Wait, you don't want to explode it, right?!
+
+This is not the first time you're arrested for AFK botting, so, NO!
+This is not the first time you're arrested for AFK botting, so, NO!
+
+This is the @@ skill. It transmutes @@ @@ and a single @@ in @@.
+This is the @@ skill. It transmutes @@ @@ and a single @@ in @@.
+
+This is useless for me!
+This is useless for me!
+
+This map contains poisonous class and may cause diseases.
+This map contains poisonous class and may cause diseases.
+
+This menu allows you to change your skills.
+This menu allows you to change your skills.
+
+This menu gives access to all quest debug menus.
+This menu gives access to all quest debug menus.
+
+This reseatch caused a lot of neglect, so expect poverty and people unwilling to talk. Benjamin, head of the council, is doing a "breaktrhough" in the most literal sense possible (breaking through the whole town finances instead of revolutionizing the world).
+This reseatch caused a lot of neglect, so expect poverty and people unwilling to talk. Benjamin, head of the council, is doing a "breaktrhough" in the most literal sense possible (breaking through the whole town finances instead of revolutionizing the world).
+
+This server's Sponsors bought the area above Hurnscald's Inn. Nobody else is being allowed there.
+This server's Sponsors bought the area above Hurnscald's Inn. Nobody else is being allowed there.
+
+This server's Sponsors bought the area above Hurscald's Inn. Nobody else is being allowed there.
+This server's Sponsors bought the area above Hurscald's Inn. Nobody else is being allowed there.
+
+This skill can be further improved with Job Points
+This skill can be further improved with Job Points
+
+This somehow affected the whole economy.
+This somehow affected the whole economy.
+
+This sword is frightening, and is alive. You better not touch it!
+This sword is frightening, and is alive. You better not touch it!
+
+This useful skill will only require:
+This useful skill will only require:
+
+This was caused because changes on the Mana Bridge. They hope that for next release, everyone will be able to use these magic words, instead of needing to talk to the Soul Menhir.
+This was caused because changes on the Mana Bridge. They hope that for next release, everyone will be able to use these magic words, instead of needing to talk to the Soul Menhir.
+
+This well is dry. They must take water outside the town.
+This well is dry. They must take water outside the town.
+
+This well is too deep and you don't have a bucket.
+This well is too deep and you don't have a bucket.
+
+This will be the last task. Besides the @@, the strongest monster on this island worth killing is the @@.
+This will be the last task. Besides the @@, the strongest monster on this island worth killing is the @@.
+
+Those with most %a on this world becomes scholars.
+Those with most %a on this world becomes scholars.
+
+Three equal: 20 strange coins.
+Three equal: 20 strange coins.
+
+Three equal: 30 coins.
+Three equal: 30 coins.
+
+Three new swords are now obtainable, although Broadsword is still the best weapon around. Except on Heroes Hold.
+Three new swords are now obtainable, although Broadsword is still the best weapon around. Except on Heroes Hold.
+
+Time Limit: 20 minutes on any dungeon.
+Time Limit: 20 minutes on any dungeon.
+
+Titanium Ore and COal refunded on Leather Quiver update.
+Titanium Ore and COal refunded on Leather Quiver update.
+
+To @@ @@ you'll need @@/@@ point(s).
+To @@ @@ you'll need @@/@@ point(s).
+
+To change your base level, use this command:
+To change your base level, use this command:
+
+To change your job level, use this command:
+To change your job level, use this command:
+
+To change your stats, use these commands:
+To change your stats, use these commands:
+
+To counter-act this, nicholas lowered craft prices, and the folks at LoF are doing their best at refines.
+To counter-act this, nicholas lowered craft prices, and the folks at LoF are doing their best at refines.
+
+To discard an item you no longer want, select it and press the 'Discard' button. Generic items can be discarded or sold. But equipment can only be sold.
+To discard an item you no longer want, select it and press the 'Discard' button. Generic items can be discarded or sold. But equipment can only be sold.
+
+To get the current rate:
+To get the current rate:
+
+To go there you need to go left, follow rock wall and go up when you can, entrance of Bandit cave is at left side of waterfall.
+To go there you need to go left, follow rock wall and go up when you can, entrance of Bandit cave is at left side of waterfall.
+
+To make @@ I need one from each gem powders, and 800 GP for commission.
+To make @@ I need one from each gem powders, and 800 GP for commission.
+
+To move between characters that are on different accounts, you have to use the Trade function.
+To move between characters that are on different accounts, you have to use the Trade function.
+
+To perform most actions, like feeding and renaming, just right-click it. You can even put it back on the egg if its following gets too annoying.
+To perform most actions, like feeding and renaming, just right-click it. You can even put it back on the egg if its following gets too annoying.
+
+To perform most actions, like feeding and renaming, just right-click it. You can even put it back on the egg if its following gets too annoying. When in the egg, they would fell hunger.
+To perform most actions, like feeding and renaming, just right-click it. You can even put it back on the egg if its following gets too annoying. When in the egg, they would fell hunger.
+
+To reset back to normal:
+To reset back to normal:
+
+To set the drop rate:
+To set the drop rate:
+
+To set the exp rate:
+To set the exp rate:
+
+Today at 16:30 UTC we are going to attack the Monster King by surprise. There will be no delays, so be there.
+Today at 16:30 UTC we are going to attack the Monster King by surprise. There will be no delays, so be there.
+
+Togheter, they wrote legends. They slayed Toby Rick the Desert Worm, the mightiest desert beast.
+Togheter, they wrote legends. They slayed Toby Rick the Desert Worm, the mightiest desert beast.
+
+Too bad, There is some really good news this week. Things like how to go to Candor for only 200GP.
+Too bad, There is some really good news this week. Things like how to go to Candor for only 200GP.
+
+Too bad, because that wasn't implemented yet!
+Too bad, because that wasn't implemented yet!
+
+Too many evil bots out there %%e They can't learn this!
+Too many evil bots out there %%e They can't learn this!
+
+Topaz Ring (+2 agi)
+Topaz Ring (+2 agi)
+
+Town Reputation: @@ | @@.@@ %% Tax
+Town Reputation: @@ | @@.@@ %% Tax
+
+Trade 2 Pearl for a Silver Gift + a Bronze Gift
+Trade 2 Pearl for a Silver Gift + a Bronze Gift
+
+TrainingGladius
+TrainingGladius
+
+Translators: No need to translate this string. It'll be removed.
+Translators: No need to translate this string. It'll be removed.
+
+Transmutation - @sk-trans
+Transmutation - @sk-trans
+
+Treasure chests have been seen on dungeons, always changing places and refilling themselves.
+Treasure chests have been seen on dungeons, always changing places and refilling themselves.
+
+Trickster uses an experimental window, you might need to resize it to see all skills.
+Trickster uses an experimental window, you might need to resize it to see all skills.
+
+Triggers an attack speed buff when using two swords.
+Triggers an attack speed buff when using two swords.
+
+Try helping the city guard. Many quests can be found around the city. There are also some on the mines, you should visit it.
+Try helping the city guard. Many quests can be found around the city. There are also some on the mines, you should visit it.
+
+Try talking to Soul Menhir or with any NPC on Tulimshar Centre (near Soul Menhir).
+Try talking to Soul Menhir or with any NPC on Tulimshar Centre (near Soul Menhir).
+
+Tsc...! I'll need reinforcements!
+Tsc...! I'll need reinforcements!
+
+Tulimshar - 7,500 GP
+Tulimshar - 7,500 GP
+
+Tulimshar Guardhouse's door was struck, but the guards managed to get it open again.
+Tulimshar Guardhouse's door was struck, but the guards managed to get it open again.
+
+Tulimshar Guards bought a Slot Machine to play, but that was done unofficialy.
+Tulimshar Guards bought a Slot Machine to play, but that was done unofficialy.
+
+Tulimshar Jewerly is now polishing gemstones to add on rings. New monsters were seen, stay on guard.
+Tulimshar Jewerly is now polishing gemstones to add on rings. New monsters were seen, stay on guard.
+
+Tulimshar Jewerly is once again open. Cyndala and Tamiloc rented a shop south of Tulimshar.
+Tulimshar Jewerly is once again open. Cyndala and Tamiloc rented a shop south of Tulimshar.
+
+Tulimshar miners are having troubles with monsters. They are offering rewards to whoever helps them.
+Tulimshar miners are having troubles with monsters. They are offering rewards to whoever helps them.
+
+Tulimshar miners mainly try to optain gems.
+Tulimshar miners mainly try to optain gems.
+
+Tulimshar mines overrun! Great rewards for a lending hand!
+Tulimshar mines overrun! Great rewards for a lending hand!
+
+Two equal: 1 coin.
+Two equal: 1 coin.
+
+UDT Challenge Ranking
+UDT Challenge Ranking
+
+UDT Challenge, @@ began the fight!
+UDT Challenge, @@ began the fight!
+
+Uhm, maybe I could teach you something, too. Go mine 10 @@. You should find some at northeast of the Island.
+Uhm, maybe I could teach you something, too. Go mine 10 @@. You should find some at northeast of the Island.
+
+Uhm... Bye?
+Uhm... Bye?
+
+Unexplained Mountain Snake
+Unexplained Mountain Snake
+
+Unfinished script, blame Jesusalva, he decided to work on Hurnscald before my cherry cakes.
+Unfinished script, blame Jesusalva, he decided to work on Hurnscald before my cherry cakes.
+
+Unfortunately, Tulimshar guards are dying in the sun. Maybe you could provide them with Water?
+Unfortunately, Tulimshar guards are dying in the sun. Maybe you could provide them with Water?
+
+Unfortunately, the main reward of this quest is still a ##1Work In Progress##0.
+Unfortunately, the main reward of this quest is still a ##1Work In Progress##0.
+
+Unfortunately, the main reward of this quest is still a Work In Progress.
+Unfortunately, the main reward of this quest is still a Work In Progress.
+
+Unless you have an @@, it'll be difficult to track progress on Mana Magic, and you won't really gain any mana experience for a while.
+Unless you have an @@, it'll be difficult to track progress on Mana Magic, and you won't really gain any mana experience for a while.
+
+Unlike talking, when trying to pick objects or read signs, you should be at arms distance of them.
+Unlike talking, when trying to pick objects or read signs, you should be at arms distance of them.
+
+Unused Monster
+Unused Monster
+
+Updates disabled, daily login reward: 1,000 GP
+Updates disabled, daily login reward: 1,000 GP
+
+Use ##B@zeny##b instead!
+Use ##B@zeny##b instead!
+
+Use the key.
+Use the key.
+
+Use the normal route?
+Use the normal route?
+
+Useful in PvP when your enemy have equipped a @@
+Useful in PvP when your enemy have equipped a @@
+
+Usename#0000
+Usename#0000
+
+User account safety is at stake, too, so I'll move this crap to a blackbox once done.
+User account safety is at stake, too, so I'll move this crap to a blackbox once done.
+
+Various people already went missing, including GMs. This is why if you plan to cross, @@.
+Various people already went missing, including GMs. This is why if you plan to cross, @@.
+
+Various people already went missing. We are not allowing anyone to pass, not even GMs!
+Various people already went missing. We are not allowing anyone to pass, not even GMs!
+
+Vault
+Vault
+
+Very well! We have six class of items: Iron, Terranite, Bronze, Silver, Gold and Platinum.
+Very well! We have six class of items: Iron, Terranite, Bronze, Silver, Gold and Platinum.
+
+Vitality determines how resistant you are to attacks and how many blows you can take before you die.
+Vitality determines how resistant you are to attacks and how many blows you can take before you die.
+
+Vitality determines how resistant you are to attacks and how many blows you can take before you die. It also affects status effects, like poison.
+Vitality determines how resistant you are to attacks and how many blows you can take before you die. It also affects status effects, like poison.
+
+WARNING: As of r7.2 "Frozen Jesusalva", there's currently no ship route to carry you back.
+WARNING: As of r7.2 "Frozen Jesusalva", there's currently no ship route to carry you back.
+
+WARNING: Certify target account is offline.
+WARNING: Certify target account is offline.
+
+WARNING: Desert Canyon locked down due major bugs
+WARNING: Desert Canyon locked down due major bugs
+
+WARNING: If you leave the subclass, you'll lose all skills related to it!
+WARNING: If you leave the subclass, you'll lose all skills related to it!
+
+WARNING: Quest in development.
+WARNING: Quest in development.
+
+WARNING: This path has been locked down due to major bugs
+WARNING: This path has been locked down due to major bugs
+
+WARNING: Use @ucp to change @@.
+WARNING: Use @ucp to change @@.
+
+WARNING: You still need the @@ to learn new recipes!
+WARNING: You still need the @@ to learn new recipes!
+
+WHAT? How can you ever do a party without beer?!
+WHAT? How can you ever do a party without beer?!
+
+Wait a minute... This is written in Mananese! I can't read!
+Wait a minute... This is written in Mananese! I can't read!
+
+Wait, if you try to melt more than one item at login, manaplus will get buggy.
+Wait, if you try to melt more than one item at login, manaplus will get buggy.
+
+Wait, it seems someone is blocking the door from the other side!
+Wait, it seems someone is blocking the door from the other side!
+
+Wait, you never came here before?
+Wait, you never came here before?
+
+Wait. A ship? Where are you, after all?
+Wait. A ship? Where are you, after all?
+
+Wands are also being sold, and other stuff from the Land Of Fire slowly creeps in.
+Wands are also being sold, and other stuff from the Land Of Fire slowly creeps in.
+
+Wardrobe#RES_0096
+Wardrobe#RES_0096
+
+Wardrobe#RES_0097
+Wardrobe#RES_0097
+
+Wardrobe#RES_0177
+Wardrobe#RES_0177
+
+Wardrobe#RES_0178
+Wardrobe#RES_0178
+
+Warning: If you join a subclass, you can't leave it later!
+Warning: If you join a subclass, you can't leave it later!
+
+Warning: This class haven't been tested/balanced yet. Feedback is required!
+Warning: This class haven't been tested/balanced yet. Feedback is required!
+
+We apologize to all, but the Land Of Fire CRASHED here, and broke the whole balance! Part of woodlands flooded!
+We apologize to all, but the Land Of Fire CRASHED here, and broke the whole balance! Part of woodlands flooded!
+
+We are @@ since the last great attack from the Monster King.
+We are @@ since the last great attack from the Monster King.
+
+We are at half a day from our final destination, by the time that you wake up I'm sure that we will be there!
+We are at half a day from our final destination, by the time that you wake up I'm sure that we will be there!
+
+We arranged a small underground room for that, while the Colliseum doesn't get done.
+We arranged a small underground room for that, while the Colliseum doesn't get done.
+
+We can't let you die from hunger! That wouldn't be cool at all! And I'm very cool!
+We can't let you die from hunger! That wouldn't be cool at all! And I'm very cool!
+
+We have two main groups, entitled classes: The Magic Warriors, and the Wizard Mages.
+We have two main groups, entitled classes: The Magic Warriors, and the Wizard Mages.
+
+We may require your aid again soon. The tritan pirates are amassing and we fear they are planning a siege of Duck Island. I must speak with the council...
+We may require your aid again soon. The tritan pirates are amassing and we fear they are planning a siege of Duck Island. I must speak with the council...
+
+We mean, some are giving stupid amounts of experience, and players can get more levels. Saulc cannot proccess that many changes!
+We mean, some are giving stupid amounts of experience, and players can get more levels. Saulc cannot proccess that many changes!
+
+We must defeat the commanders to avoid major damage to them!
+We must defeat the commanders to avoid major damage to them!
+
+We only require a small fee of 1 @@, or 40 @@
+We only require a small fee of 1 @@, or 40 @@
+
+We only require a small fee of 1 @@, or 40 @@, or 500 @@ if you are poor adventurer.
+We only require a small fee of 1 @@, or 40 @@, or 500 @@ if you are poor adventurer.
+
+We regret to inform...
+We regret to inform...
+
+We speak various languages on this world. Let's try gesturing!#0
+We speak various languages on this world. Let's try gesturing!
+
+We speak various languages on this world. Let's try gesturing!#1
+We speak various languages on this world. Let's try gesturing!
+
+We thought that you could help us understand this, all we know is that we found you cast in the sea, adrift on your raft.
+We thought that you could help us understand this, all we know is that we found you cast in the sea, adrift on your raft.
+
+We tried to clean them but the sea water mostly destroyed them. It's why we gave you these clothes. They're not very nice, but that's all that we have for you.#0
+We tried to clean them but the sea water mostly destroyed them. It's why we gave you these clothes. They're not very nice, but that's all that we have for you.
+
+We tried to clean them but the sea water mostly destroyed them. It's why we gave you these clothes. They're not very nice, but that's all that we have for you.#1
+We tried to clean them but the sea water mostly destroyed them. It's why we gave you these clothes. They're not very nice, but that's all that we have for you.
+
+We use sheer magic to destroy, explode, burn, freeze, and in overall kill our opponents!
+We use sheer magic to destroy, explode, burn, freeze, and in overall kill our opponents!
+
+We use swords and bows to protect the people, and we use magic to spice things up! Because we're strong even without it!
+We use swords and bows to protect the people, and we use magic to spice things up! Because we're strong even without it!
+
+We want to party this moment, but can you believe we ran out of beer?
+We want to party this moment, but can you believe we ran out of beer?
+
+We wish you a merry Christmas! And a happy new year!!
+We wish you a merry Christmas! And a happy new year!!
+
+We're soon leaving that island, please return to your cabine.
+We're soon leaving that island, please return to your cabine.
+
+Weakness: VIT+
+Weakness: VIT+
+
+Welcome to the ##BBandits Guild##b! Steal anyone wealthy!
+Welcome to the ##BBandits Guild##b! Steal anyone wealthy!
+
+Welcome to the ##BMerchant Guild Police##b! Capture anyone doing an evil-doing!
+Welcome to the ##BMerchant Guild Police##b! Capture anyone doing an evil-doing!
+
+Welcome to the Merchant Guild of Halinarzo.
+Welcome to the Merchant Guild of Halinarzo.
+
+Welcome to the Merchant Guild of Tulimshar.
+Welcome to the Merchant Guild of Tulimshar.
+
+Welcome to the Priest guild!
+Welcome to the Priest guild!
+
+Welcome to the berserker guild!
+Welcome to the berserker guild!
+
+Welcome to the paladin guild!
+Welcome to the paladin guild!
+
+Welcome to the sage guild!
+Welcome to the sage guild!
+
+Welcome to the tanker guild!
+Welcome to the tanker guild!
+
+Welcome to the wizard guild!
+Welcome to the wizard guild!
+
+Welcome!
+Welcome!
+
+Welcome! I come from nowhere, and I hunt Mountain Snakes. One of their rare drops are the @@!
+Welcome! I come from nowhere, and I hunt Mountain Snakes. One of their rare drops are the @@!
+
+Welcome! I see you have @@ Monster Points. But that isn't enough to get items at your current level, sorry!
+Welcome! I see you have @@ Monster Points. But that isn't enough to get items at your current level, sorry!
+
+Welcome! I see you have @@ Monster Points. Would you like to exchange some of those for items?
+Welcome! I see you have @@ Monster Points. Would you like to exchange some of those for items?
+
+Well
+Well
+
+Well, I could burn @@ @@ to make Raw Coal and the Blue Sage would be none the wiser.
+Well, I could burn @@ @@ to make Raw Coal and the Blue Sage would be none the wiser.
+
+Well, I did got some other things more, but I don't want to be an snob.
+Well, I did got some other things more, but I don't want to be an snob.
+
+Well, I'll give you 15 minutes of EXP RATE UP! How cool is that? Enjoy!
+Well, I'll give you 15 minutes of EXP RATE UP! How cool is that? Enjoy!
+
+Well, actually, you could help me, traveling to the World's Edge! Ah, that is such dangerous journey though... You are not level 150 yet, are you?
+Well, actually, you could help me, traveling to the World's Edge! Ah, that is such dangerous journey though... You are not level 150 yet, are you?
+
+Well, look at it: I did it!
+Well, look at it: I did it!
+
+Well, profit for me! Thanks for your help. I'll tell all my family how you help me. %%1
+Well, profit for me! Thanks for your help. I'll tell all my family how you help me. %%1
+
+Well, sorry, but only weapons and body armor can be refined.
+Well, sorry, but only weapons and body armor can be refined.
+
+Well, that's a pity! I used to know the formula to make @@, but you know. Old age.
+Well, that's a pity! I used to know the formula to make @@, but you know. Old age.
+
+Well, you already got the Dustynator, but you might want to collect more @@. They keep coming back, after all.
+Well, you already got the Dustynator, but you might want to collect more @@. They keep coming back, after all.
+
+Well, you clearly don't have a weapon. So, let me explain some quick.
+Well, you clearly don't have a weapon. So, let me explain some quick.
+
+Well... you did not succeed in opening this @@.
+Well... you did not succeed in opening this @@.
+
+Wha, your magic power increased! How?! Ah, nevermind. You are eligible to get tier 2!
+Wha, your magic power increased! How?! Ah, nevermind. You are eligible to get tier 2!
+
+What about you bring me 100 @@ and 30 @@?
+What about you bring me 100 @@ and 30 @@?
+
+What are the Alliance tasks?
+What are the Alliance tasks?
+
+What are you *hic* doing here? They are expiring! GO NOW!
+What are you *hic* doing here? They are expiring! GO NOW!
+
+What are you going to do?
+What are you going to do?
+
+What body orifice should a babel fish be inserted in to work properly?
+What body orifice should a babel fish be inserted in to work properly?
+
+What can I do now?
+What can I do now?
+
+What color is a Babel Fish?
+What color is a Babel Fish?
+
+What did Gugli say about the box? Was it ok?
+What did Gugli say about the box? Was it ok?
+
+What did you expected, anyway?
+What did you expected, anyway?
+
+What do I need to do to join?
+What do I need to do to join?
+
+What do you think you are doing, anyway?!
+What do you think you are doing, anyway?!
+
+What game is played on earth as a relict of memories to an ancient war?
+What game is played on earth as a relict of memories to an ancient war?
+
+What if I give you 1000 GP for that job, is it ok?
+What if I give you 1000 GP for that job, is it ok?
+
+What if I give you 850 GP for that job, is it ok?
+What if I give you 850 GP for that job, is it ok?
+
+What is Ford Prefect's nickname?
+What is Ford Prefect's nickname?
+
+What is a class?
+What is a class?
+
+What is the answer to life, the universe and everything?
+What is the answer to life, the universe and everything?
+
+What is the first name of the author of the hitchhikers guide?
+What is the first name of the author of the hitchhikers guide?
+
+What is the last name of the author of the hitchhikers guide?
+What is the last name of the author of the hitchhikers guide?
+
+What is the name of the Restaurant at the End of the Universe?
+What is the name of the Restaurant at the End of the Universe?
+
+What is the name of the Vogon home planet?
+What is the name of the Vogon home planet?
+
+What is the name of the computer on The Heart of Gold?
+What is the name of the computer on The Heart of Gold?
+
+What is the name of the creature that is continually reincarnated and subsequently killed, each time unknowingly, by Arthur Dent?
+What is the name of the creature that is continually reincarnated and subsequently killed, each time unknowingly, by Arthur Dent?
+
+What is the name of the rock group claiming to be the loudest band in the universe?
+What is the name of the rock group claiming to be the loudest band in the universe?
+
+What is the name of the spaceship which was stolen by the president of the universe?
+What is the name of the spaceship which was stolen by the president of the universe?
+
+What is the name of the super computer?
+What is the name of the super computer?
+
+What race creates the worst poetry in universe?
+What race creates the worst poetry in universe?
+
+What should I do after taking these clothes?#0
+What should I do after taking these clothes?
+
+What should I do after taking these clothes?#1
+What should I do after taking these clothes?
+
+What star is near Ford's home planet?
+What star is near Ford's home planet?
+
+What two words are written in big friendly letters on the back cover?
+What two words are written in big friendly letters on the back cover?
+
+What were the second most intelligent creatures on Earth?
+What were the second most intelligent creatures on Earth?
+
+What's that? He seems to be AFK but is not?
+What's that? He seems to be AFK but is not?
+
+What's the name of the paranoid robot?
+What's the name of the paranoid robot?
+
+What? This reward is too small!
+What? This reward is too small!
+
+When you intimacy is high, it'll increase your stats and who knows, might even help you in combat!
+When you intimacy is high, it'll increase your stats and who knows, might even help you in combat!
+
+When your inventory is open, you can equip an item by selecting it and clicking 'Equip'. You can do the same to remove an item by clicking on 'Unequip'.
+When your inventory is open, you can equip an item by selecting it and clicking 'Equip'. You can do the same to remove an item by clicking on 'Unequip'.
+
+Where are my old clothes?
+Where are my old clothes?
+
+Which country does the human protagonist come from?
+Which country does the human protagonist come from?
+
+Which of your weapons do you want to use in order to cut this @@?
+Which of your weapons do you want to use in order to cut this @@?
+
+Which skill do you wish to change?
+Which skill do you wish to change?
+
+Who is responsible for the fjords of Norway?
+Who is responsible for the fjords of Norway?
+
+Who is the male human protagonist? First and last name only.
+Who is the male human protagonist? First and last name only.
+
+Who will insult every living being in the universe, because he is immortal and getting bored?
+Who will insult every living being in the universe, because he is immortal and getting bored?
+
+Whoa! LoF merge wasn't entirely stable! After a terrible manaquake, everything,
+Whoa! LoF merge wasn't entirely stable! After a terrible manaquake, everything,
+
+Why are you here? This area is off-bounds!
+Why are you here? This area is off-bounds!
+
+Why it sucks?
+Why it sucks?
+
+Why we're going Tulimshar, you may ask? Because well, believe me, if you want to find out anything, the best place to ask around is Tulim!
+Why we're going Tulimshar, you may ask? Because well, believe me, if you want to find out anything, the best place to ask around is Tulim!
+
+Wind Walk
+Wind Walk
+
+Windwalker - Increase walk speed and flee rate.
+Windwalker - Increase walk speed and flee rate.
+
+Winter this year is being really harsh! Fire is most important for us.
+Winter this year is being really harsh! Fire is most important for us.
+
+Wisard Moccasins
+Wisard Moccasins
+
+With one gem you can expect to get 1 to 3 powders!
+With one gem you can expect to get 1 to 3 powders!
+
+With renewed confidence about the outcome of the war, various people left their houses.
+With renewed confidence about the outcome of the war, various people left their houses.
+
+With the help of the town hall we organize some auction and we help local merchants to launch their businesses.
+With the help of the town hall we organize some auction and we help local merchants to launch their businesses.
+
+With two extra kilograms you can trade more, or bring thief-killing items! Good luck!
+With two extra kilograms you can trade more, or bring thief-killing items! Good luck!
+
+Wizard Mages
+Wizard Mages
+
+Wizard Master
+Wizard Master
+
+Wizard#0
+Wizard
+
+Wizard#1
+Wizard
+
+Wood Manipulation - @sk-parum
+Wood Manipulation - @sk-parum
+
+Woody Wife
+Woody Wife
+
+Woody is inside, he probably craft some stuff with animals pelts.
+Woody is inside, he probably craft some stuff with animals pelts.
+
+Workers have closed Nivalis to repairs, due intense damage to town infrastructure.
+Workers have closed Nivalis to repairs, due intense damage to town infrastructure.
+
+Would you like to buy some ?.
+Would you like to buy some ?.
+
+Would you like to buy some?
+Would you like to buy some?
+
+Wow! those pity gloves aren'st made for mining. They're almost ruined!
+Wow! those pity gloves aren'st made for mining. They're almost ruined!
+
+Wyara tells she will now make Return Potions for those trusted by Hurnscald Staff!
+Wyara tells she will now make Return Potions for those trusted by Hurnscald Staff!
+
+XmasCake
+XmasCake
+
+YOU WERE BLESSED BY JESUSALVA
+YOU WERE BLESSED BY JESUSALVA
+
+Yaya, it certainly was not from a trade ship, but it doesn't looks like it was from a pirate ship either. Well, that's not important now.#0
+Yaya, it certainly was not from a trade ship, but it doesn't looks like it was from a pirate ship either. Well, that's not important now.
+
+Yaya, it certainly was not from a trade ship, but it doesn't looks like it was from a pirate ship either. Well, that's not important now.#1
+Yaya, it certainly was not from a trade ship, but it doesn't looks like it was from a pirate ship either. Well, that's not important now.
+
+Yaya, it certainly was not from a trade ship, but it doesn't looks like it was from a pirate ship either.#0
+Yaya, it certainly was not from a trade ship, but it doesn't looks like it was from a pirate ship either.
+
+Yaya, it certainly was not from a trade ship, but it doesn't looks like it was from a pirate ship either.#1
+Yaya, it certainly was not from a trade ship, but it doesn't looks like it was from a pirate ship either.
+
+Yaya, you should go see her! She'll be happy to see you.#0
+Yaya, you should go see her! She'll be happy to see you.
+
+Yaya, you should go see her! She'll be happy to see you.#1
+Yaya, you should go see her! She'll be happy to see you.
+
+Yayayaya, it's the first time someone is dressed worse than us!
+Yayayaya, it's the first time someone is dressed worse than us!
+
+Yeah sure let's Trade.
+Yeah sure let's Trade.
+
+Yeah, of course. I will teach you how to give first aid to people.
+Yeah, of course. I will teach you how to give first aid to people.
+
+Yeah, of course. This one is rather useless and difficult to use, though.
+Yeah, of course. This one is rather useless and difficult to use, though.
+
+Yeah... I also found a @@. We don't need this crap, you can put it on your @@.
+Yeah... I also found a @@. We don't need this crap, you can put it on your @@.
+
+Yellow Cotton Dye
+Yellow Cotton Dye
+
+Yes I am.
+Yes I am.
+
+Yes, I do.
+Yes, I do.
+
+Yes, courageous and worthy adventurer. You did well. I won't babysit you anymore. Embrace the new world opening before you!#0
+Yes, courageous and worthy adventurer. You did well. I won't babysit you anymore. Embrace the new world opening before you!
+
+Yes, courageous and worthy adventurer. You did well. I won't babysit you anymore. Embrace the new world opening before you!#1
+Yes, courageous and worthy adventurer. You did well. I won't babysit you anymore. Embrace the new world opening before you!
+
+Yes, deal. Gimme the ring.
+Yes, deal. Gimme the ring.
+
+Yeti King
+Yeti King
+
+Yeye should go see the capt'n. We still don't know if he's friend or foe...#1
+Yeye should go see the capt'n. We still don't know if he's friend or foe...
+
+Yeye should go see the capt'n. We still don't know if she's friend or foe...#0
+Yeye should go see the capt'n. We still don't know if she's friend or foe...
+
+Yeye, you are really lucky to be alive. You are in good enough shape for walking, do you remember what happened?#0
+Yeye, you are really lucky to be alive. You are in good enough shape for walking, do you remember what happened?
+
+Yeye, you are really lucky to be alive. You are in good enough shape for walking, do you remember what happened?#1
+Yeye, you are really lucky to be alive. You are in good enough shape for walking, do you remember what happened?
+
+Yeye, you still did not get your new clothes from the chest next to your bed!#0
+Yeye, you still did not get your new clothes from the chest next to your bed!
+
+Yeye, you still did not get your new clothes from the chest next to your bed!#1
+Yeye, you still did not get your new clothes from the chest next to your bed!
+
+Yeye.
+Yeye.
+
+You abandoned the BERSERKER class!
+You abandoned the BERSERKER class!
+
+You abandoned the PALADIN class!
+You abandoned the PALADIN class!
+
+You abandoned the PRIEST class!
+You abandoned the PRIEST class!
+
+You abandoned the SAGE class!
+You abandoned the SAGE class!
+
+You abandoned the TANKER class!
+You abandoned the TANKER class!
+
+You abandoned the WIZARD class!
+You abandoned the WIZARD class!
+
+You advanced your tier!
+You advanced your tier!
+
+You already did enough for us, do you want to follow Nard's advice and get some rest?
+You already did enough for us, do you want to follow Nard's advice and get some rest?
+
+You already purchased an arena, and password is @@
+You already purchased an arena, and password is @@
+
+You are a legendary hero.
+You are a legendary hero.
+
+You are already hunting something else. Do you want to switch?
+You are already hunting something else. Do you want to switch?
+
+You are already registered for Valentine Event.
+You are already registered for Valentine Event.
+
+You are currently hunting @@/10000 @@. When done, remember to claim rewards with Aidan, on Tulimshar!
+You are currently hunting @@/10000 @@. When done, remember to claim rewards with Aidan, on Tulimshar!
+
+You are exhausted, you should rest a bit.#0
+You are exhausted, you should rest a bit.
+
+You are exhausted, you should rest a bit.#1
+You are exhausted, you should rest a bit.
+
+You are killing @@ at northwest from the island.
+You are killing @@ at northwest from the island.
+
+You are killing @@ at the beach.
+You are killing @@ at the beach.
+
+You are killing @@ at the storehouse.
+You are killing @@ at the storehouse.
+
+You are killing @@. They are usually at the crops.
+You are killing @@. They are usually at the crops.
+
+You are killing @@/45 @@ at the cave.
+You are killing @@/45 @@ at the cave.
+
+You are killing @@/50 @@ at the cave.
+You are killing @@/50 @@ at the cave.
+
+You are new around here, right?#0
+You are new around here, right?
+
+You are new around here, right?#1
+You are new around here, right?
+
+You are not allowed on this building, and was caught by Jesusalva's Police!!
+You are not allowed on this building, and was caught by Jesusalva's Police!!
+
+You are not using a weapon for a merciful (?) last blow.
+You are not using a weapon for a merciful (?) last blow.
+
+You are staff, so no complaining! Go do it yourself!
+You are staff, so no complaining! Go do it yourself!
+
+You are trying to lock the @@th pin. What will to do?
+You are trying to lock the @@th pin. What will to do?
+
+You brought me 6 @@ ! Here is your @@, as promised.
+You brought me 6 @@ ! Here is your @@, as promised.
+
+You can also read The Book of Laws at any time to see the rules.
+You can also read The Book of Laws at any time to see the rules.
+
+You can even join the project there. Contributors are greatly appreciated! %%g
+You can even join the project there. Contributors are greatly appreciated! %%g
+
+You can explore the city as you want, but if I were you, I would visit the townhall first.
+You can explore the city as you want, but if I were you, I would visit the townhall first.
+
+You can fill this box with the following:
+You can fill this box with the following:
+
+You can find it in the bandit market for just 50,000 GP.
+You can find it in the bandit market for just 50,000 GP.
+
+You can gain rares, even. Come register for this special program. It's free!
+You can gain rares, even. Come register for this special program. It's free!
+
+You can get close by feet, and there was an area so empty that you won't even notice the distance walked.
+You can get close by feet, and there was an area so empty that you won't even notice the distance walked.
+
+You can get up to @@ items.
+You can get up to @@ items.
+
+You can only concede or vouch a title for people of academic rank smaller or equal to your own.
+You can only concede or vouch a title for people of academic rank smaller or equal to your own.
+
+You can only merge accounts after 2020-02-07!
+You can only merge accounts after 2020-02-07!
+
+You can only merge accounts after 2020-02-20!
+You can only merge accounts after 2020-02-20!
+
+You can only port one char level per person!
+You can only port one char level per person!
+
+You can think more info about this on these links:
+You can think more info about this on these links:
+
+You can use @@, Audsbel left the Magic School, and Marius is singing again.
+You can use @@, Audsbel left the Magic School, and Marius is singing again.
+
+You can't carry more items, you should go to the storage.
+You can't carry more items, you should go to the storage.
+
+You can, and @@, register on both programs, but only one is required for this quest.
+You can, and @@, register on both programs, but only one is required for this quest.
+
+You cannot be hurt to do this trip.
+You cannot be hurt to do this trip.
+
+You cannot be hurt, must have full mana, and must be in a area where the Mana Plane is connected so @toevent work.
+You cannot be hurt, must have full mana, and must be in a area where the Mana Plane is connected so @toevent work.
+
+You cannot bring anything to the arena. Please put everything on the storage.
+You cannot bring anything to the arena. Please put everything on the storage.
+
+You caught a @@!
+You caught a @@!
+
+You completed your trainment, so you're getting 50 bonus experience points. If you level up, use your stat points wisely!
+You completed your trainment, so you're getting 50 bonus experience points. If you level up, use your stat points wisely!
+
+You could found some bandit in Bandit cave. Yeah this name isen't give for nothing.
+You could found some bandit in Bandit cave. Yeah this name isen't give for nothing.
+
+You currently have @@ Esperin on your bank account.
+You currently have @@ Esperin on your bank account.
+
+You currently have @@ Gold Pieces on your bank account.
+You currently have @@ Gold Pieces on your bank account.
+
+You currently have @@/@@ subclass(es).
+You currently have @@/@@ subclass(es).
+
+You do not have enough Esperin on your bank account.
+You do not have enough Esperin on your bank account.
+
+You do not have enough Esperin on yourself.
+You do not have enough Esperin on yourself.
+
+You do not have enough Gold Pieces on yourself.
+You do not have enough Gold Pieces on yourself.
+
+You do not seem to have enough money, come back later!
+You do not seem to have enough money, come back later!
+
+You don't have enough gp! You need @@ gp.
+You don't have enough gp! You need @@ gp.
+
+You don't have enough material.
+You don't have enough material.
+
+You don't have the required level to pass this door.
+You don't have the required level to pass this door.
+
+You failed to reply captcha in time and was arrested for AFK Botting. You can use @jailtime to keep track of time left.
+You failed to reply captcha in time and was arrested for AFK Botting. You can use @jailtime to keep track of time left.
+
+You faint from the pain, but at least now, you are in good hands.
+You faint from the pain, but at least now, you are in good hands.
+
+You faint from the pain. At least now, you are in good hands.
+You faint from the pain. At least now, you are in good hands.
+
+You got @@ Event Points for leaderboard position.
+You got @@ Event Points for leaderboard position.
+
+You have an awful case of amnesia.
+You have an awful case of amnesia.
+
+You have collected and additional of @@/@@ Mob Points.
+You have collected and additional of @@/@@ Mob Points.
+
+You have some magic power. Do you want to join the @@? ##BThis cannot be undone##b.
+You have some magic power. Do you want to join the @@? ##BThis cannot be undone##b.
+
+You have some magic power. Do you want to join the Magic Warriors? ##BThis cannot be undone##b.
+You have some magic power. Do you want to join the Magic Warriors? ##BThis cannot be undone##b.
+
+You have some magic power. Do you want to join the Wizard Mages? ##BThis cannot be undone##b.
+You have some magic power. Do you want to join the Wizard Mages? ##BThis cannot be undone##b.
+
+You have too much points. I can't allow you to take all at once right now. I'll try to give you 50, and you come back later!
+You have too much points. I can't allow you to take all at once right now. I'll try to give you 50, and you come back later!
+
+You hear a loud scream. It must be the creaking of the wooden door...
+You hear a loud scream. It must be the creaking of the wooden door...
+
+You hide your shovel.
+You hide your shovel.
+
+You hit too hard with your fist, you destroyed your @@.
+You hit too hard with your fist, you destroyed your @@.
+
+You hold the shovel in your hands.
+You hold the shovel in your hands.
+
+You hold the shovel in your hands. What are you going to do?
+You hold the shovel in your hands. What are you going to do?
+
+You just gained a Karma point, a Prism Gift, and 2000 Job Exp for your bravery!
+You just gained a Karma point, a Prism Gift, and 2000 Job Exp for your bravery!
+
+You just gained a Karma point, a Silver Gift, and 200 Job Exp for your bravery!
+You just gained a Karma point, a Silver Gift, and 200 Job Exp for your bravery!
+
+You know the Tulimshar Magic Council? The big building on Tulimshar North? There you can obtain a class.
+You know the Tulimshar Magic Council? The big building on Tulimshar North? There you can obtain a class.
+
+You lack money. Go sell your stuff. And don't ask why a statue needs money!
+You lack money. Go sell your stuff. And don't ask why a statue needs money!
+
+You learn fast, good job. These clothes aren't a mighty armor, but they'll help.
+You learn fast, good job. These clothes aren't a mighty armor, but they'll help.
+
+You made a cash deposit of @@ E.
+You made a cash deposit of @@ E.
+
+You may be trapped forever inside the desert maze beyond help
+You may be trapped forever inside the desert maze beyond help
+
+You might have been affected. Please, select your desired language.
+You might have been affected. Please, select your desired language.
+
+You murder @@ in cold blood.
+You murder @@ in cold blood.
+
+You must be where the Monster King at 16:30 UTC sharply - no delays allowed!
+You must be where the Monster King at 16:30 UTC sharply - no delays allowed!
+
+You must send ##B/verify##b to Discord bot for the linking be complete.
+You must send ##B/verify##b to Discord bot for the linking be complete.
+
+You need 1x @@ to cast this skill.
+You need 1x @@ to cast this skill.
+
+You need 20x @@ to cast this skill.
+You need 20x @@ to cast this skill.
+
+You need 5x @@ to cast this skill.
+You need 5x @@ to cast this skill.
+
+You need @@ @@ and @@ to cast this skill.
+You need @@ @@ and @@ to cast this skill.
+
+You need @@ to cast this skill.
+You need @@ to cast this skill.
+
+You need a Treasure Key to flip each switch, regardless of which cave it is in.
+You need a Treasure Key to flip each switch, regardless of which cave it is in.
+
+You need all your mana to do this trip.
+You need all your mana to do this trip.
+
+You need level 70 to use these guns, but if you want to start collecting materials, you're allowed to.
+You need level 70 to use these guns, but if you want to start collecting materials, you're allowed to.
+
+You open a book named @@.
+You open a book named @@.
+
+You open the book, but it looks like the sea water and time damaged it severely. Some pages are not readable anymore. Some others are simply missing.
+You open the book, but it looks like the sea water and time damaged it severely. Some pages are not readable anymore. Some others are simply missing.
+
+You open your eyes. The salt water is not helping your vision.
+You open your eyes. The salt water is not helping your vision.
+
+You opened the @@ in two parts, but you crushed one of them.
+You opened the @@ in two parts, but you crushed one of them.
+
+You perchance said in adventure? Then you've came to the right place! I can ask you for some stuff, and in exchange, I'll give some useful gloves!
+You perchance said in adventure? Then you've came to the right place! I can ask you for some stuff, and in exchange, I'll give some useful gloves!
+
+You perfectly cut your @@ into two edible parts.
+You perfectly cut your @@ into two edible parts.
+
+You quickly give him the herbs, and he skillfully mix them on a potion.
+You quickly give him the herbs, and he skillfully mix them on a potion.
+
+You really should.
+You really should.
+
+You receive @@ E!
+You receive @@ E!
+
+You received one @@!
+You received one @@!
+
+You see a dust covered book on the shelf...
+You see a dust covered book on the shelf...
+
+You see, I was walking on the secret caves near Ched, and... well...
+You see, I was walking on the secret caves near Ched, and... well...
+
+You seem to be doing some money. Would you consider fighting for evil, and against all those whom make wealthy unworthly?
+You seem to be doing some money. Would you consider fighting for evil, and against all those whom make wealthy unworthly?
+
+You seem to be doing some money. Would you consider fighting for good, and against all thieves?
+You seem to be doing some money. Would you consider fighting for good, and against all thieves?
+
+You seem to run out of place, you should go to the storage.
+You seem to run out of place, you should go to the storage.
+
+You should ask Tycoon.
+You should ask Tycoon.
+
+You step on a trap!
+You step on a trap!
+
+You still have @@ Monster Points! Do you want more items?
+You still have @@ Monster Points! Do you want more items?
+
+You throw a coin on the well.
+You throw a coin on the well.
+
+You were yaying sleeping for quite some time there. Our shipkeeper, Juliet, was here with you, and she did her best to heal your injuries.#0
+You were yaying sleeping for quite some time there. Our shipkeeper, Juliet, was here with you, and she did her best to heal your injuries.
+
+You were yaying sleeping for quite some time there. Our shipkeeper, Juliet, was here with you, and she did her best to heal your injuries.#1
+You were yaying sleeping for quite some time there. Our shipkeeper, Juliet, was here with you, and she did her best to heal your injuries.
+
+You will be killed on the road if you try to go like this. Try helping people. Get money, experience, equipment.
+You will be killed on the road if you try to go like this. Try helping people. Get money, experience, equipment.
+
+You will then be able to register citzenship in any city, for free. But just once.
+You will then be able to register citzenship in any city, for free. But just once.
+
+You withdraw your shovel.
+You withdraw your shovel.
+
+You withdrew a total of @@ E.
+You withdrew a total of @@ E.
+
+You'll also need to pay a fee of @@x @@
+You'll also need to pay a fee of @@x @@
+
+You're willing to help? Perfect. We need 3 @@, 4 @@ and 10 @@ for travel.
+You're willing to help? Perfect. We need 3 @@, 4 @@ and 10 @@ for travel.
+
+Your @@ Knockback effect expired.
+Your @@ Knockback effect expired.
+
+Your account was merged.
+Your account was merged.
+
+Your body aches. You can't remember what happened.
+Your body aches. You can't remember what happened.
+
+Your body aches. You can't remember what happened. But this is not important now. The ships sailors are shouting at you!
+Your body aches. You can't remember what happened. But this is not important now. The ships sailors are shouting at you!
+
+Your class selection is ##BPermanent##b and cannot be changed later. Do their tasks, and you'll be able to harness magic!
+Your class selection is ##BPermanent##b and cannot be changed later. Do their tasks, and you'll be able to harness magic!
+
+Your current maximum magic efficiency is @@. This book allows you many new possibilities.
+Your current maximum magic efficiency is @@. This book allows you many new possibilities.
+
+Your dexterity determines your ability to hit monsters and is valuable to players who prefer weapons that use projectiles.
+Your dexterity determines your ability to hit monsters and is valuable to players who prefer weapons that use projectiles.
+
+Your experience level has been updated.
+Your experience level has been updated.
+
+Your guild doesn't know any recipes.
+Your guild doesn't know any recipes.
+
+Your hands are too weak, you did not succeed in opening this @@.
+Your hands are too weak, you did not succeed in opening this @@.
+
+Your help is very welcome indeed. Unfortunately, I can give you a reward for the first extermination only.
+Your help is very welcome indeed. Unfortunately, I can give you a reward for the first extermination only.
+
+Your items vanishes into thin air. What?!
+Your items vanishes into thin air. What?!
+
+Your lack of magical power is critical. I dare say, you might never in your life get access to a Mana Stone.
+Your lack of magical power is critical. I dare say, you might never in your life get access to a Mana Stone.
+
+Your luck determines several small things, including the number of critical attacks you are going to suffer and perform.
+Your luck determines several small things, including the number of critical attacks you are going to suffer and perform.
+
+Your mind is set? You will loose the color dye during this process.
+Your mind is set? You will loose the color dye during this process.
+
+Your mind is set? You will probably lose the color dye during this process.
+Your mind is set? You will probably lose the color dye during this process.
+
+Your position has been saved.
+Your position has been saved.
+
+Zegas, Saxso's widow, the mayor of Candor, decreed to allow strong adventurers to get past the Candor Cave Magic Barrier.
+Zegas, Saxso's widow, the mayor of Candor, decreed to allow strong adventurers to get past the Candor Cave Magic Barrier.
+
+Zitoni announces he can now craft really good potions to improve attack speed and damage!
+Zitoni announces he can now craft really good potions to improve attack speed and damage!
+
+[40 experience points]
+[40 experience points]
+
+[@@ Bolt]
+[@@ Bolt]
+
+[@@ Weapon]
+[@@ Weapon]
+
+[Action Casting]
+[Action Casting]
+
+[Arrow Shield]
+[Arrow Shield]
+
+[Bash]
+[Bash]
+
+[Bless Weapon]
+[Bless Weapon]
+
+[Counter Defense]
+[Counter Defense]
+
+[Detoxify]
+[Detoxify]
+
+[Dragon Slayer]
+[Dragon Slayer]
+
+[Endure]
+[Endure]
+
+[Energy Coating]
+[Energy Coating]
+
+[Fire Ball]
+[Fire Ball]
+
+[Guard]
+[Guard]
+
+[Holy Light]
+[Holy Light]
+
+[Increase Agility]
+[Increase Agility]
+
+[Last Standing Man]
+[Last Standing Man]
+
+[Luma]
+[Luma]
+
+[MP Regen]
+[MP Regen]
+
+[Mana Wisdom]
+[Mana Wisdom]
+
+[Napalm Beat]
+[Napalm Beat]
+
+[Party Area Defense]
+[Party Area Defense]
+
+[Redemption]
+[Redemption]
+
+[Ressurection]
+[Ressurection]
+
+[Standing Regen]
+[Standing Regen]
+
+[Two Hands Quicken]
+[Two Hands Quicken]
+
+a bit longer and I would have jailed you %%\\
+a bit longer and I would have jailed you %%\\
+
+a couple of
+a couple of
+
+adams
+adams
+
+agrajag
+agrajag
+
+and may change later without notice.
+and may change later without notice.
+
+arthur dent
+arthur dent
+
+assigning 5 points to str, agi, dex and luck
+assigning 5 points to str, agi, dex and luck
+
+begin UDT Challenge
+begin UDT Challenge
+
+betelgeuse
+betelgeuse
+
+big
+big
+
+captcha ok
+captcha ok
+
+captcha successful
+captcha successful
+
+cold, hard, iron cell
+cold, hard, iron cell
+
+correct
+correct
+
+cricket
+cricket
+
+debug
+debug
+
+deep thought
+deep thought
+
+delta
+delta
+
+disaster area
+disaster area
+
+don't panic
+don't panic
+
+doplhins
+doplhins
+
+douglas
+douglas
+
+ear
+ear
+
+eddie
+eddie
+
+england
+england
+
+hairstyle_config
+hairstyle_config
+
+heart of gold
+heart of gold
+
+hinnack
+hinnack
+
+hmpf. That'll do.
+hmpf. That'll do.
+
+i can't reward a weak adventurer like you, Come back later.
+i can't reward a weak adventurer like you, Come back later.
+
+including the 178 monsters and who knows how many equipment, had numeric changes.
+including the 178 monsters and who knows how many equipment, had numeric changes.
+
+is your target. They spawn smaller versions of itself! Kill @@ of them and make the beach safe for tourists.
+is your target. They spawn smaller versions of itself! Kill @@ of them and make the beach safe for tourists.
+
+it look close.
+it look close.
+
+ix
+ix
+
+line @@: @@
+line @@: @@
+
+marriage1
+marriage1
+
+marvin
+marvin
+
+milliways
+milliways
+
+my father probably knew... Well, you better ask Blue Sage then.
+my father probably knew... Well, you better ask Blue Sage then.
+
+not bad
+not bad
+
+npc2
+npc2
+
+npc6
+npc6
+
+pan galactic gargle blaster
+pan galactic gargle blaster
+
+shall you decide to disregard this warning.
+shall you decide to disregard this warning.
+
+slartibartfast
+slartibartfast
+
+the server jailed you
+the server jailed you
+
+to give double experience!
+to give double experience!
+
+understood
+understood
+
+vogon
+vogon
+
+vogsphere
+vogsphere
+
+wowbagger
+wowbagger
+
+yellow
+yellow
+
+you allready open the chest.
+you allready open the chest.
+
+you don't have the key.
+you don't have the key.
+
+you got lucky and got a(n) @@!
+you got lucky and got a(n) @@!
+
+you should use a key for open it.
+you should use a key for open it.
+
+↠Dimond's Cove
+↠Dimond's Cove
+
+↠Dimond's Cove, Potion Maker
+↠Dimond's Cove, Potion Maker
+
+↠Fire Breath Inn
+↠Fire Breath Inn
+
+↠Land Of Fire Village
+↠Land Of Fire Village
+
+↠Northwest Avenue
+↠Northwest Avenue
+
+↑ Houses, Exit
+↑ Houses, Exit
+
+↑ Inn, Houses, Northwest Avenue
+↑ Inn, Houses, Northwest Avenue
+
+↑ Northwest Avenue
+↑ Northwest Avenue
+
+↑ Unused House
+↑ Unused House
+
+→ Market Place
+→ Market Place
+
+→ Northeast Avenue
+→ Northeast Avenue
+
+→ Tech-User Forge
+→ Tech-User Forge
+
+→ Transcendence Gate
+→ Transcendence Gate
+
+↓ Houses, Lake Of Tears
+↓ Houses, Lake Of Tears
+
+↓ Inn, Dimond's Cove
+↓ Inn, Dimond's Cove
+
+↓ Northeast Avenue
+↓ Northeast Avenue
+
+↓ Southwest Avenue
+↓ Southwest Avenue
+
+↓ Transcendence Gate
+↓ Transcendence Gate
+
+↓ Unused House, Market
+↓ Unused House, Market
+
diff --git a/langs/lang_en.txt b/langs/lang_en.txt
new file mode 100644
index 0000000..4ecf1ab
--- /dev/null
+++ b/langs/lang_en.txt
@@ -0,0 +1,37909 @@
+Copyright (C) 2010-2021 TMW2 Team
+ 0 This file is automatically generated. Editing it will have no effect.
+ 0 This file is automatically generated. Editing it will have no effect.
+
+ 1 Please translate at https://transifex.com/arctic-games/moubootaur-legends/ instead.
+ 1 Please translate at https://transifex.com/arctic-games/moubootaur-legends/ instead.
+
+ Fires of Steam
+ Fires of Steam
+
+ A fair all-rounder weapon; Stronger than you would expect and not so clumsy.
+ A fair all-rounder weapon; Stronger than you would expect and not so clumsy.
+
+ Actually, Lalica cursed one of my firestaves and it got a mind of its own D:
+ Actually, Lalica cursed one of my firestaves and it got a mind of its own D:
+
+ But its splash damage does not stack, so be careful when adding options.
+ But its splash damage does not stack, so be careful when adding options.
+
+ But the result is a fast weapon which is also powerful.
+ But the result is a fast weapon which is also powerful.
+
+ I cut it in half, and to fix shooting speed, I added some extra cogs.
+ I cut it in half, and to fix shooting speed, I added some extra cogs.
+
+ It can steal items or collect drops on the floor randomly. Also improves your evasion.
+ It can steal items or collect drops on the floor randomly. Also improves your evasion.
+
+ It didn't got too much lighter, and it got really weak compared to a bow.
+ It didn't got too much lighter, and it got really weak compared to a bow.
+
+ It is also much weaker and less precise than a bow. But it is so fun using...
+ It is also much weaker and less precise than a bow. But it is so fun using...
+
+ It is not that amazing, though. I will trade with you for more useful items.
+ It is not that amazing, though. I will trade with you for more useful items.
+
+ It is the same as a bow, including in penalty. But it deals splash damage!
+ It is the same as a bow, including in penalty. But it deals splash damage!
+
+ It was quite a challenge, and I still need Lalica to keep curse them.
+ It was quite a challenge, and I still need Lalica to keep curse them.
+
+ Oh, and it comes with added shooting range, but it is slow as hell to reload.
+ Oh, and it comes with added shooting range, but it is slow as hell to reload.
+
+ One have lots of powder to attack non-stop, but oh god that is heavy.
+ One have lots of powder to attack non-stop, but oh god that is heavy.
+
+ See, I was lazy and there were only short knives around... So I made a Kunai.
+ See, I was lazy and there were only short knives around... So I made a Kunai.
+
+ The standard gunstaff! It is way stronger than a bow!
+ The standard gunstaff! It is way stronger than a bow!
+
+ Then I found out that I could set the staff in flames using Everburn Powder!
+ Then I found out that I could set the staff in flames using Everburn Powder!
+
+ You know, I wanted to make the powder explode when hitting!
+ You know, I wanted to make the powder explode when hitting!
+
+ (Hinnak's and Oscar's fields Pinkies may not count)
+ (Hinnak's and Oscar's fields Pinkies may not count)
+
+ -- No, wait!
+ -- No, wait!
+
+ . ´´. Don't let .. spell power .´..´ . .. fade away ...
+ . ´´. Don't let .. spell power .´..´ . .. fade away ...
+
+ Coins - Ancient Blueprint
+ Coins - Ancient Blueprint
+
+ Coins - Arcmage Boxset
+ Coins - Arcmage Boxset
+
+ Coins - Mercenary Boxset
+ Coins - Mercenary Boxset
+
+ Coins - Mysterious Fruit
+ Coins - Mysterious Fruit
+
+ It is not like you are strong enough to pick a fight with me so kindly leave before I get mad.
+ It is not like you are strong enough to pick a fight with me so kindly leave before I get mad.
+
+ Take this key, it opens the door behind my throne.
+ Take this key, it opens the door behind my throne.
+
+ What would people think of our village if they come accross a defeated noob wearing our proud colors!
+ What would people think of our village if they come accross a defeated noob wearing our proud colors!
+
+ for
+ for
+
+ is the Inn, and you can rent an apartment there for 30 days.
+ is the Inn, and you can rent an apartment there for 30 days.
+
+"*psst, just follow what is outlined here to make it golden.*"
+"*psst, just follow what is outlined here to make it golden.*"
+
+".. can use this .. power..´. . .´. . . amplify a spell ..´.
+".. can use this .. power..´. . .´. . . amplify a spell ..´.
+
+"Ah, hello there, @@. You've grown quite skilled lately.
+"Ah, hello there, @@. You've grown quite skilled lately.
+
+"Follow the light." - Weary traveler
+"Follow the light." - Weary traveler
+
+"Hey, have you already got the money necessary for the travel?
+"Hey, have you already got the money necessary for the travel?
+
+"Many thanks! I'll be waiting for you, hiding on the ship's hold!"
+"Many thanks! I'll be waiting for you, hiding on the ship's hold!"
+
+"Oh, I'm so glad you're taking care of those scary slimes. You're so brave! How many of them are still left, do you think? Will it be safe to go there soon?
+"Oh, I'm so glad you're taking care of those scary slimes. You're so brave! How many of them are still left, do you think? Will it be safe to go there soon?
+
+"Oh... Sorry, @@.
+"Oh... Sorry, @@.
+
+"That's the only hard part. As long that you do not neglect Intelligence nor Job level...
+"That's the only hard part. As long that you do not neglect Intelligence nor Job level...
+
+"Those whom believe the Pink Moouboo wear rock knifes at the entrances." - Aahna
+"Those whom believe the Pink Moouboo wear rock knifes at the entrances." - Aahna
+
+"Those whom stray from the light shall met a quick death." - Saulc, from the 'Blame Saulc' famous book
+"Those whom stray from the light shall met a quick death." - Saulc, from the 'Blame Saulc' famous book
+
+"WHAT IS CRAFTED IN GUILD BELONGS TO GUILD."
+"WHAT IS CRAFTED IN GUILD BELONGS TO GUILD."
+
+"Well, looks like you qualify!
+"Well, looks like you qualify!
+
+"When you're thirsty, you may look for me. I'm often in desert areas, but this time, the winter has come."
+"When you're thirsty, you may look for me. I'm often in desert areas, but this time, the winter has come."
+
+"When you're thristy, you may look for me. I'm often in desert areas, but this time, the winter has come."
+"When you're thristy, you may look for me. I'm often in desert areas, but this time, the winter has come."
+
+##1DON'T MOVE until the signal. Stay ready! If you move, you will desync the client!
+##1DON'T MOVE until the signal. Stay ready! If you move, you will desync the client!
+
+##1The ship is under a pirate's attack! ##BKill all or survive!
+##1The ship is under a pirate's attack! ##BKill all or survive!
+
+##1WARNING! WARNING! Siege starting at Candor!!
+##1WARNING! WARNING! Siege starting at Candor!!
+
+##1You abused a bug and will be jailed. If this was done in error, you have found a bug. Contact the nearest developer if this is the case.
+##1You abused a bug and will be jailed. If this was done in error, you have found a bug. Contact the nearest developer if this is the case.
+
+##2 %d Days login bonus: ##B2x %s, 1x %s##b
+##2 %d Days login bonus: ##B2x %s, 1x %s##b
+
+##2 14 Days login bonus: ##B1x %s##b
+##2 14 Days login bonus: ##B1x %s##b
+
+##2 21 Days login bonus: ##B1x %s##b
+##2 21 Days login bonus: ##B1x %s##b
+
+##2 27 Days login bonus: ##B1x %s##b
+##2 27 Days login bonus: ##B1x %s##b
+
+##2 3 Days login bonus: ##B1x %s##b
+##2 3 Days login bonus: ##B1x %s##b
+
+##2 7 Days login bonus: ##B3x %s##b
+##2 7 Days login bonus: ##B3x %s##b
+
+##2Daily login bonus: ##B%d EXP##b
+##2Daily login bonus: ##B%d EXP##b
+
+##2Daily login bonus: ##B%d GP##b
+##2Daily login bonus: ##B%d GP##b
+
+##2Daily login bonus: ##B%d Job Exp.##b
+##2Daily login bonus: ##B%d Job Exp.##b
+
+##2Guild's Weekly login bonus: ##B%d %s##b
+##2Guild's Weekly login bonus: ##B%d %s##b
+
+##9 %%A%%A%%A: @@.
+##9 %%A%%A%%A: @@.
+
+##9 %%B%%B%%B: @@.
+##9 %%B%%B%%B: @@.
+
+##9 %%C%%C%%C: @@.
+##9 %%C%%C%%C: @@.
+
+##9 %%D%%D%%D: @@.
+##9 %%D%%D%%D: @@.
+
+##9 %%E%%E%%E: @@.
+##9 %%E%%E%%E: @@.
+
+##9 %%F%%F%%F: @@.
+##9 %%F%%F%%F: @@.
+
+##9 777: @@.
+##9 777: @@.
+
+##9.:: Second Tier Quest - Time Remaining: @@ ::.
+##9.:: Second Tier Quest - Time Remaining: @@ ::.
+
+##9Hey wait... Your coin turned into a @@!
+##9Hey wait... Your coin turned into a @@!
+
+##B%s: TOP 10##b
+##B%s: TOP 10##b
+
+##BFirst and foremost, you should talk to Trainer, inside the big house.##b
+##BFirst and foremost, you should talk to Trainer, inside the big house.##b
+
+##BHall Of @@: TOP15##b
+##BHall Of @@: TOP15##b
+
+##BHall Of AFK: TOP 10##b
+##BHall Of AFK: TOP 10##b
+
+##BHall Of Academics: TOP30##b
+##BHall Of Academics: TOP30##b
+
+##BHall Of Aurora: TOP10##b
+##BHall Of Aurora: TOP10##b
+
+##BHall Of Candor's Bloodbath: TOP 10##b
+##BHall Of Candor's Bloodbath: TOP 10##b
+
+##BHall Of Crazyfefe Fight: TOP 10##b
+##BHall Of Crazyfefe Fight: TOP 10##b
+
+##BHall Of Deaths: Reverse TOP10##b
+##BHall Of Deaths: Reverse TOP10##b
+
+##BHall Of Fortune: TOP15##b
+##BHall Of Fortune: TOP15##b
+
+##BHall Of Guild Level: TOP5##b
+##BHall Of Guild Level: TOP5##b
+
+##BHall Of Honor: TOP 10##b
+##BHall Of Honor: TOP 10##b
+
+##BHall Of Job Level: TOP15##b
+##BHall Of Job Level: TOP15##b
+
+##BHall Of Level: TOP15##b
+##BHall Of Level: TOP15##b
+
+##BHall Of UDT Challenge: TOP 10##b
+##BHall Of UDT Challenge: TOP 10##b
+
+##BIMPORTANT:##b People usually doesn't shout, they talk. Because this, if you are too far, an NPC won't hear you.
+##BIMPORTANT:##b People usually doesn't shout, they talk. Because this, if you are too far, an NPC won't hear you.
+
+##BLatest GM Commands##b
+##BLatest GM Commands##b
+
+##BNOW YOU HAVE DONE IT!##b By the powers to me vested as a Constable and Game Master, I sentence you to HALF AN HOUR IN A %s!
+##BNOW YOU HAVE DONE IT!##b By the powers to me vested as a Constable and Game Master, I sentence you to HALF AN HOUR IN A %s!
+
+##BSincerity Island##b
+##BSincerity Island##b
+
+##BYou were robbed##b by an evil NPC.
+##BYou were robbed##b by an evil NPC.
+
+##a(it would be way too messy anyway)##0
+##a(it would be way too messy anyway)#
+
+%%1 Cheer up, these should go back to normal when you level up. Just don't do that again!
+%%1 Cheer up, these should go back to normal when you level up. Just don't do that again!
+
+%%3 You sadden me. That was so, so lame. I will need to punish you. Sorry. Superior orders. %%S
+%%3 You sadden me. That was so, so lame. I will need to punish you. Sorry. Superior orders. %%S
+
+%%4 Haven't you read your Grimorium yet?!
+%%4 Haven't you read your Grimorium yet?!
+
+%%8
+%%8
+
+%%@
+%%@
+
+%%@ Then wait until Saulc says they are safe!
+%%@ Then wait until Saulc says they are safe!
+
+%%@ You can get Magic by joining class and subclass, and with some NPCs. These work out-of-box. Easy.
+%%@ You can get Magic by joining class and subclass, and with some NPCs. These work out-of-box. Easy.
+
+%%A
+%%A
+
+%%B
+%%B
+
+%%C
+%%C
+
+%%D
+%%D
+
+%%E
+%%E
+
+%%F
+%%F
+
+%%G
+%%G
+
+%%G Just like normal magic, you need power from the Mana Stone, which is based on your levels, intelligence, and mana.
+%%G Just like normal magic, you need power from the Mana Stone, which is based on your levels, intelligence, and mana.
+
+%%H
+%%H
+
+%%K
+%%K
+
+%%N
+%%N
+
+%%Q
+%%Q
+
+%%\\ that'll do.
+%%\\ that'll do.
+
+%%g
+%%g
+
+%%i What, my maximum life and mana just decreased! Noooo!!
+%%i What, my maximum life and mana just decreased! Noooo!!
+
+%%t
+%%t
+
+%d day streak! Gained %d bonus %s!
+%d day streak! Gained %d bonus %s!
+
+%d vs %d: Honor (%d)
+%d vs %d: Honor (%d)
+
+%d/%d %s
+%d/%d %s
+
+%d/%d %s killed
+%d/%d %s killed
+
+%s
+%s
+
+%s %d pts - %d %s
+%s %d pts - %d %s
+
+%s %s will require:
+%s %s will require:
+
+%s (rare)
+%s (rare)
+
+%s - %s/%s HP, %s/%s MP
+%s - %s/%s HP, %s/%s MP
+
+%s - Modify Race
+%s - Modify Race
+
+%s But please be quick! I feel this world doesn't have much time left!
+%s But please be quick! I feel this world doesn't have much time left!
+
+%s GP and %d REP.
+%s GP and %d REP.
+
+%s Hero
+%s Hero
+
+%s Monster Points, and a %s. That's my final offer.
+%s Monster Points, and a %s. That's my final offer.
+
+%s can also be obtained from %s, at a lower drop rate.
+%s can also be obtained from %s, at a lower drop rate.
+
+%s died for your cause. How do you explain this?
+%s died for your cause. How do you explain this?
+
+%s disembarks at %s.
+%s disembarks at %s.
+
+%s eyebrow furrows, as he brings the map closer to a torch.
+%s eyebrow furrows, as he brings the map closer to a torch.
+
+%s has EXILED %s from %s.
+%s has EXILED %s from %s.
+
+%s has protected themselves from prying eyes. Your scry attempt failed.
+%s has protected themselves from prying eyes. Your scry attempt failed.
+
+%s is a legendary hero.
+%s is a legendary hero.
+
+%s is by becoming a %s.
+%s is by becoming a %s.
+
+%s is by impressing the town guard.
+%s is by impressing the town guard.
+
+%s is currently a staff member.
+%s is currently a staff member.
+
+%s is currently sponsoring the High Alliance.
+%s is currently sponsoring the High Alliance.
+
+%s is happy because you've paid %d GP in taxes!
+%s is happy because you've paid %d GP in taxes!
+
+%s is known as the Wizard of Aethyr. They say the elves which lived in Aethyr have became fairies, but contact has been lost long ago... I've heard it was a very pretty town north of here, though.
+%s is known as the Wizard of Aethyr. They say the elves which lived in Aethyr have became fairies, but contact has been lost long ago... I've heard it was a very pretty town north of here, though.
+
+%s is obtained during events, daily logins, heroic deeds, gifts, etc. But cannot be bought with real money.
+%s is obtained during events, daily logins, heroic deeds, gifts, etc. But cannot be bought with real money.
+
+%s lifts an eyebrow to you.
+%s lifts an eyebrow to you.
+
+%s makes a confused face.
+%s makes a confused face.
+
+%s makes specialized weapons for high level players. If you tweak with Nicholas, in Hurnscald, the weapon options, you can get really powerful.
+%s makes specialized weapons for high level players. If you tweak with Nicholas, in Hurnscald, the weapon options, you can get really powerful.
+
+%s refunded to level 1 for %d MSP
+%s refunded to level 1 for %d MSP
+
+%s removed - YOU NOOB STOP CHEATING %%e%%Q
+%s removed - YOU NOOB STOP CHEATING %%e%%Q
+
+%s seems to be asleep... Maybe we can wake him up somehow?
+%s seems to be asleep... Maybe we can wake him up somehow?
+
+%s slain!
+%s slain!
+
+%s slaps you!
+%s slaps you!
+
+%s stabs you to the chest!
+%s stabs you to the chest!
+
+%s stabs you with a dagger!
+%s stabs you with a dagger!
+
+%s takes a paper from his drawer. It has your photo on it.
+%s takes a paper from his drawer. It has your photo on it.
+
+%s thinks if she knows any major, good quest to do.
+%s thinks if she knows any major, good quest to do.
+
+%s! I see you are a(n) %s here, very good!
+%s! I see you are a(n) %s here, very good!
+
+%s, %s in Magic Arts, Parity Level %d, tier %d mage.
+%s, %s in Magic Arts, Parity Level %d, tier %d mage.
+
+%s, a bit upset, tries to change subjects.
+%s, a bit upset, tries to change subjects.
+
+%s, how in the world you got this status ailment?!
+%s, how in the world you got this status ailment?!
+
+%s, the Forgetful
+%s, the Forgetful
+
+%s, you are pathetically weak.
+%s, you are pathetically weak.
+
+%s, you did your best to avenge a fallen comrade. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+%s, you did your best to avenge a fallen comrade. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+%s, you did your best to entertain me. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+%s, you did your best to entertain me. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+%s, you did your best to protect this world inhabitants. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+%s, you did your best to protect this world inhabitants. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+%s, you proved your worth today. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+%s, you proved your worth today. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+%s, you're a good student. You will have a bright future if you keep studying.
+%s, you're a good student. You will have a bright future if you keep studying.
+
+%s, your dedication is touching. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+%s, your dedication is touching. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+%s... While you don't have the title of %s nor the flower of fae, nor have anything remotely important on your persona...
+%s... While you don't have the title of %s nor the flower of fae, nor have anything remotely important on your persona...
+
+%s/%s GP
+%s/%s GP
+
+%s: %s (Lv %d) has appeared!
+%s: %s (Lv %d) has appeared!
+
+%s: Once accepted, you must complete them before taking another one.
+%s: Once accepted, you must complete them before taking another one.
+
+%s: Thanks for helping.
+%s: Thanks for helping.
+
+%s? You don't look so well. You should see a doctor immediately!
+%s? You don't look so well. You should see a doctor immediately!
+
+%ss are lead by the %ss. Disposing of them would bring the bandits into disarray.
+%ss are lead by the %ss. Disposing of them would bring the bandits into disarray.
+
+%ss have infested the store houses, spilling onto the streets. Stop them from destroying even more food.
+%ss have infested the store houses, spilling onto the streets. Stop them from destroying even more food.
+
+'-' "Could you give me his shield? Pretty please? I need it to survive and bring Tulimshar goodies!"
+'-' "Could you give me his shield? Pretty please? I need it to survive and bring Tulimshar goodies!"
+
+'.' "I forgot how to allocate points!"
+'.' "I forgot how to allocate points!"
+
+'Best'? So you can make other things?
+'Best'? So you can make other things?
+
+'Some herbs and potion'? Could you be more specific?
+'Some herbs and potion'? Could you be more specific?
+
+'Them' whom?
+'Them' whom?
+
+(...This probably could have been a great hint... if I knew who Mercury in first place %%L)
+(...This probably could have been a great hint... if I knew who Mercury in first place %%L)
+
+(10,000 GP) Epic Mount
+(10,000 GP) Epic Mount
+
+(A mystical aura surrounds this stone. It probably can return you home. What do you do?)
+(A mystical aura surrounds this stone. It probably can return you home. What do you do?)
+
+(A mystical aura surrounds this stone. You feel mysteriously attracted to it. Something tells you to touch it. What do you do?)
+(A mystical aura surrounds this stone. You feel mysteriously attracted to it. Something tells you to touch it. What do you do?)
+
+(A strange barrier keeps you from touching the stone at this time.)
+(A strange barrier keeps you from touching the stone at this time.)
+
+(A strange sensation flows through you. It feels like your soul leaves your body and becomes one with the stone. As suddenly as the feeling started it stops.)
+(A strange sensation flows through you. It feels like your soul leaves your body and becomes one with the stone. As suddenly as the feeling started it stops.)
+
+(All items must be placed exactly in this order.)
+(All items must be placed exactly in this order.)
+
+(As suddenly as the feeling started it stops. The strange attraction is away from one moment to the next and the menhir feels like just an ordinary stone.)
+(As suddenly as the feeling started it stops. The strange attraction is away from one moment to the next and the menhir feels like just an ordinary stone.)
+
+(Click next button to advance dialogs)
+(Click next button to advance dialogs)
+
+(Don't respond)
+(Don't respond)
+
+(Drink the tea, hoping for the best)
+(Drink the tea, hoping for the best)
+
+(Even bandits doesn't breaks the rules. To see the rules, use ##B@rules##b.)
+(Even bandits doesn't breaks the rules. To see the rules, use ##B@rules##b.)
+
+(If you don't have anyone special to send these, send to @@. Perhaps they'll calm down with those T.T)
+(If you don't have anyone special to send these, send to @@. Perhaps they'll calm down with those T.T)
+
+(Leave the password blank to disable)
+(Leave the password blank to disable)
+
+(Note: Agostine will destroy low quality materials!)
+(Note: Agostine will destroy low quality materials!)
+
+(Passive) Increases Mana EXP/Control Gain rate.
+(Passive) Increases Mana EXP/Control Gain rate.
+
+(Passive) Raise Max HP and Holy Defense.
+(Passive) Raise Max HP and Holy Defense.
+
+(Protip: Always use %s before engaging a different monster!)
+(Protip: Always use %s before engaging a different monster!)
+
+(Suddenly a strange sensation flows through you. It feels like your soul leaves your body and becomes one with the stone.)
+(Suddenly a strange sensation flows through you. It feels like your soul leaves your body and becomes one with the stone.)
+
+(The girl now looks away sadly, thinking about what to say next.)
+(The girl now looks away sadly, thinking about what to say next.)
+
+(To see the rules, use ##B@rules##b.)
+(To see the rules, use ##B@rules##b.)
+
+(You touch the mysterious stone. Somehow it feels warm and cold at the same time.)
+(You touch the mysterious stone. Somehow it feels warm and cold at the same time.)
+
+(shivering) "Ah, how I am afraid of pious!"
+(shivering) "Ah, how I am afraid of pious!"
+
+* %d %s
+* %d %s
+
+* %d/%d %s
+* %d/%d %s
+
+* %d/%d MSP (Magic Skill Points)
+* %d/%d MSP (Magic Skill Points)
+
+* %s
+* %s
+
+* %s Level up
+* %s Level up
+
+* %s/%s RP (Research Points)
+* %s/%s RP (Research Points)
+
+* (optional) Save the world!
+* (optional) Save the world!
+
+* +%d%% EXP Gain and Drop Chance, permanently
+* +%d%% EXP Gain and Drop Chance, permanently
+
+* +1 Magic Skill Point
+* +1 Magic Skill Point
+
+* +1 in all attributes, permanently
+* +1 in all attributes, permanently
+
+* +3 Inventory Slots
+* +3 Inventory Slots
+
+* 1 %s
+* 1 %s
+
+* 1 Trait
+* 1 Trait
+
+* @@ @@
+* @@ @@
+
+* @@ Water Bottle
+* @@ Water Bottle
+
+* @@/12 @@
+* @@/12 @@
+
+* @@/2 @@
+* @@/2 @@
+
+* @@/200 GP
+* @@/200 GP
+
+* @@/30 @@
+* @@/30 @@
+
+* @@/6 @@
+* @@/6 @@
+
+* @@/7.500 GP
+* @@/7.500 GP
+
+* @@/8 @@
+* @@/8 @@
+
+* @@/@@ @@
+* @@/@@ @@
+
+* @@/@@ Base Level
+* @@/@@ Base Level
+
+* @@/@@ GP
+* @@/@@ GP
+
+* @@/@@ Job Level
+* @@/@@ Job Level
+
+* Acquired @@ @@!
+* Acquired @@ @@!
+
+* Aid the Blue Sage in getting Peetu back to action
+* Aid the Blue Sage in getting Peetu back to action
+
+* Ask Zegas, the mayoress, if she needs help.
+* Ask Zegas, the mayoress, if she needs help.
+
+* Cards will be deleted after transfer is done.
+* Cards will be deleted after transfer is done.
+
+* Causes splash damage, and are very expensive.
+* Causes splash damage, and are very expensive.
+
+* Collect @@/@@ GP
+* Collect @@/@@ GP
+
+* Defeat the Assassin
+* Defeat the Assassin
+
+* Deliver Nikolai's Letter to Frostia Mayor
+* Deliver Nikolai's Letter to Frostia Mayor
+
+* Donate blood at least once.
+* Donate blood at least once.
+
+* Find clues
+* Find clues
+
+* Gained %d EXP and %d Job EXP
+* Gained %d EXP and %d Job EXP
+
+* Gained @@ EXP and @@ Job Exp
+* Gained @@ EXP and @@ Job Exp
+
+* Gained @@ GP
+* Gained @@ GP
+
+* Get trained by Valon, in the big house.
+* Get trained by Valon, in the big house.
+
+* Has non-cumulative area of effect damage.
+* Has non-cumulative area of effect damage.
+
+* Healing items improved
+* Healing items improved
+
+* Help Ayasha to take care of the kids.
+* Help Ayasha to take care of the kids.
+
+* Huge damage and more criticals, but slow fire rate.
+* Huge damage and more criticals, but slow fire rate.
+
+* Impress %s
+* Impress %s
+
+* Invade the Fortress Town
+* Invade the Fortress Town
+
+* Item obtained: %s
+* Item obtained: %s
+
+* Lightbringer is self-aware and cannot be given.
+* Lightbringer is self-aware and cannot be given.
+
+* Low damage, highest attack speed from all.
+* Low damage, highest attack speed from all.
+
+* Mage
+* Mage
+
+* Meet the Blue Sage
+* Meet the Blue Sage
+
+* More equipment coming soon...
+* More equipment coming soon...
+
+* More for bandits than assassins or ninjas.
+* More for bandits than assassins or ninjas.
+
+* Options will be removed after transfer is done.
+* Options will be removed after transfer is done.
+
+* Refine will be lost after transfer is done.
+* Refine will be lost after transfer is done.
+
+* Register as a Craftsman/Craftswoman.
+* Register as a Craftsman/Craftswoman.
+
+* Register as a Monster Hunter
+* Register as a Monster Hunter
+
+* Rent a room in Frostia's Inn
+* Rent a room in Frostia's Inn
+
+* Rest at the Inn
+* Rest at the Inn
+
+* Return to Hurnscald Townhall
+* Return to Hurnscald Townhall
+
+* Talk to Librarian in Halinarzo
+* Talk to Librarian in Halinarzo
+
+* The only one hand ranged weapon you'll ever find!
+* The only one hand ranged weapon you'll ever find!
+
+* Thief
+* Thief
+
+* Very quick and can be used in a single hand.
+* Very quick and can be used in a single hand.
+
+* Very quick, two handed, and evil.
+* Very quick, two handed, and evil.
+
+* Win an Arena Match
+* Win an Arena Match
+
+* become @@ Hero
+* become @@ Hero
+
+*-* "Could you share those blueprints with me? Please?"
+*-* "Could you share those blueprints with me? Please?"
+
+*AFK: I am Away From Keyboard*
+*AFK: I am Away From Keyboard*
+
+*CRASH*
+*CRASH*
+
+*CREAK*
+*CREAK*
+
+*Don't fail me. If you do, ensure you're well past dead before.*
+*Don't fail me. If you do, ensure you're well past dead before.*
+
+*Don't shout, you moron!*
+*Don't shout, you moron!*
+
+*Hic*
+*Hic*
+
+*I'll give you two energy balls.*
+*I'll give you two energy balls.*
+
+*I'll take my leave, then.*
+*I'll take my leave, then.*
+
+*Opening eyes in a shock*
+*Opening eyes in a shock*
+
+*Roaaaaaar!*
+*Roaaaaaar!*
+
+*The Professor will never know what got him...*
+*The Professor will never know what got him...*
+
+*They* couldn't take hold of me, but I'm bound to this castle; I can't leave.
+*They* couldn't take hold of me, but I'm bound to this castle; I can't leave.
+
+*Ugh* Thanks for your help. Here... Take this, as promised.
+*Ugh* Thanks for your help. Here... Take this, as promised.
+
+*Yes, boss!*
+*Yes, boss!*
+
+*_* "Pretty please?"
+*_* "Pretty please?"
+
+*are they gone...?*
+*are they gone...?*
+
+*beeep*
+*beeep*
+
+*blushes*
+*blushes*
+
+*burp*
+*burp*
+
+*chants more words, while the crystal hovers the potion*
+*chants more words, while the crystal hovers the potion*
+
+*cheerful*
+*cheerful*
+
+*click*
+*click*
+
+*cough cough*
+*cough cough*
+
+*cries*
+*cries*
+
+*crying*
+*crying*
+
+*drolls*
+*drolls*
+
+*eyes widen up*
+*eyes widen up*
+
+*grumpf*
+*grumpf*
+
+*gulp* *gulp* *gulp*
+*gulp* *gulp* *gulp*
+
+*hehehe...*
+*hehehe...*
+
+*hurry up, your moron!*
+*hurry up, your moron!*
+
+*is everything ready?*
+*is everything ready?*
+
+*plim*
+*plim*
+
+*put his glasses on*
+*put his glasses on*
+
+*scream in pain*
+*scream in pain*
+
+*scream*
+*scream*
+
+*screams*
+*screams*
+
+*sigh*
+*sigh*
+
+*sigh* Yet another failure... Transmutation and Nature Magic doesn't marry well.
+*sigh* Yet another failure... Transmutation and Nature Magic doesn't marry well.
+
+*sighs*
+*sighs*
+
+*snap fingers*
+*snap fingers*
+
+*sniff sniff*
+*sniff sniff*
+
+*sniff* *sniff*
+*sniff* *sniff*
+
+*snooze*
+*snooze*
+
+*sob sob*
+*sob sob*
+
+*sorry, boss!*
+*sorry, boss!*
+
+*tears weeling up*
+*tears weeling up*
+
+*this sign is too blurred to read*
+*this sign is too blurred to read*
+
+*tut*
+*tut*
+
+*whisper whisper*
+*whisper whisper*
+
+*whistles*
+*whistles*
+
+, and you have been banned from the Academy.
+, and you have been banned from the Academy.
+
+, my name is Nikolai. I am a sage, and the owner of this place.
+, my name is Nikolai. I am a sage, and the owner of this place.
+
+- 5 @@, with 1200 GP, for a @@.
+- 5 @@, with 1200 GP, for a @@.
+
+- @@ @@
+- @@ @@
+
+- @@/@@ @@
+- @@/@@ @@
+
+- @@/@@ GP
+- @@/@@ GP
+
+- Boss give more Job experience, but as long that you keep killing, you'll keep gaining.
+- Boss give more Job experience, but as long that you keep killing, you'll keep gaining.
+
+- Defeat the BOSS on each dungeon!
+- Defeat the BOSS on each dungeon!
+
+- Find a path to the island where she is hiding herself!
+- Find a path to the island where she is hiding herself!
+
+- Get killed yourself.
+- Get killed yourself.
+
+- Help the farmers. We rely a lot on agriculture.
+- Help the farmers. We rely a lot on agriculture.
+
+- I currently need your help with @@, but there's no reward.
+- I currently need your help with @@, but there's no reward.
+
+- I currently need your help with @@.
+- I currently need your help with @@.
+
+- I overheard rumors about a festival. Maybe someone needs help with their figurine?
+- I overheard rumors about a festival. Maybe someone needs help with their figurine?
+
+- I think you can help the storehouse for some quick cash.
+- I think you can help the storehouse for some quick cash.
+
+- If you fail, you'll need to pay me ingredients to try again!
+- If you fail, you'll need to pay me ingredients to try again!
+
+- Inside the big house is someone who can train you. All experience is handy!
+- Inside the big house is someone who can train you. All experience is handy!
+
+- Instead, the party will be teleported ##Bto a forest.##b
+- Instead, the party will be teleported ##Bto a forest.##b
+
+- Luvia is a powerful mage and Isbamuth is watching, so teleporting directly would be risky.
+- Luvia is a powerful mage and Isbamuth is watching, so teleporting directly would be risky.
+
+- Players can prevent being scry'ed with %s
+- Players can prevent being scry'ed with %s
+
+- Some information like money won't be available.
+- Some information like money won't be available.
+
+- Some of our crew are missing. They're probably wasting their time at beach.
+- Some of our crew are missing. They're probably wasting their time at beach.
+
+- Some sailors within this ship may need your help: Chef Gado, Dan, Peter... help them all and collect rewards!
+- Some sailors within this ship may need your help: Chef Gado, Dan, Peter... help them all and collect rewards!
+
+- Target player must be online.
+- Target player must be online.
+
+- Teleport yourself away.
+- Teleport yourself away.
+
+- The Death of Andrei Sakar -
+- The Death of Andrei Sakar -
+
+- The farmer Nylo, who loves beer and money, seems to be having troubles with his crops.
+- The farmer Nylo, who loves beer and money, seems to be having troubles with his crops.
+
+- The goal is to rescue Luvia from Isabamuth. She has been ##Bbrainwashed##b.
+- The goal is to rescue Luvia from Isabamuth. She has been ##Bbrainwashed##b.
+
+- The weapon master, Tolchi, could use your help. But she will most likely force you to visit Tulimshar in the end.
+- The weapon master, Tolchi, could use your help. But she will most likely force you to visit Tulimshar in the end.
+
+- The weapon seller, Rosen, wanted to help new players to improve their equipment.
+- The weapon seller, Rosen, wanted to help new players to improve their equipment.
+
+- There is a woman walking on the island, called Maya. Once she realises you're willing to help, she'll start paying well.
+- There is a woman walking on the island, called Maya. Once she realises you're willing to help, she'll start paying well.
+
+- Time runs out (25m).
+- Time runs out (25m).
+
+- To donate blood, go to the hospital and ask about it.
+- To donate blood, go to the hospital and ask about it.
+
+- You can always play with kids. Not very profitable, though.
+- You can always play with kids. Not very profitable, though.
+
+-- Animals Protection Agency of Hurnscald
+-- Animals Protection Agency of Hurnscald
+
+-- Grandmaster
+-- Grandmaster
+
+-- In such event, Candor Underground B4F will be permanently unreachable for this char.
+-- In such event, Candor Underground B4F will be permanently unreachable for this char.
+
+-- Merlin
+-- Merlin
+
+-- The Expedition
+-- The Expedition
+
+-- Valia G.
+-- Valia G.
+
+-- Zegas, the Mayoress
+-- Zegas, the Mayoress
+
+--- AND ANY OF ---
+--- AND ANY OF ---
+
+--- OR ---
+--- OR ---
+
+-.- "I forgot how to fight!"
+-.- "I forgot how to fight!"
+
+. ´ power.. drains .. life..´. .´ focus . .not move at all´. ."
+. ´ power.. drains .. life..´. .´ focus . .not move at all´. ."
+
+...
+...
+
+... ... ...
+... ... ...
+
+... .... ....
+... .... ....
+
+... that looks like an incantation or something.
+... that looks like an incantation or something.
+
+...%s, as far as you should be concerned, this is an hostile land and I'm not your friend. You should use a weapon and a shield if possible. Never trust strangers, specially if they look like an assassin... exactly like me.
+...%s, as far as you should be concerned, this is an hostile land and I'm not your friend. You should use a weapon and a shield if possible. Never trust strangers, specially if they look like an assassin... exactly like me.
+
+...A tower, on this canyon. People disliked it, humans and all other races. The Mana War happened, bloodshed, and... The Monster War.
+...A tower, on this canyon. People disliked it, humans and all other races. The Mana War happened, bloodshed, and... The Monster War.
+
+...Actually, I'm drawing in a blank.
+...Actually, I'm drawing in a blank.
+
+...Actually, you seem like a capable adventurer. If you give me some ingredients I can't get, I'll give you a @@.#0
+...Actually, you seem like a capable adventurer. If you give me some ingredients I can't get, I'll give you a @@.
+
+...Actually, you seem like a capable adventurer. If you give me some ingredients I can't get, I'll give you a @@.#1
+...Actually, you seem like a capable adventurer. If you give me some ingredients I can't get, I'll give you a @@.
+
+...Alright then.
+...Alright then.
+
+...Although that's unlikely, I admit.
+...Although that's unlikely, I admit.
+
+...And at long last, the teddy's pot is full of honey.
+...And at long last, the teddy's pot is full of honey.
+
+...And for some reason he took the apple and went further in the caves.
+...And for some reason he took the apple and went further in the caves.
+
+...And if you're still trying to check your pet stats, just hover it with your mouse. Thanks.
+...And if you're still trying to check your pet stats, just hover it with your mouse. Thanks.
+
+...And stop! You took %s this time!
+...And stop! You took %s this time!
+
+...And trust me, it'll take way more than just water to put the fire down.
+...And trust me, it'll take way more than just water to put the fire down.
+
+...Are you crazy?
+...Are you crazy?
+
+...Are you trying to troll me?
+...Are you trying to troll me?
+
+...As you wish.
+...As you wish.
+
+...Assuming you can break a Mana Stone, that is.
+...Assuming you can break a Mana Stone, that is.
+
+...Automatically retrying...
+...Automatically retrying...
+
+...Besides, I have this nice @@ with me. I'm not low-level like you.
+...Besides, I have this nice @@ with me. I'm not low-level like you.
+
+...Besides, I have this nice @@ with me. It's a reliable bow.
+...Besides, I have this nice @@ with me. It's a reliable bow.
+
+...Blood.
+...Blood.
+
+...But saving me won't be enough, so build trust by the kind gift of @@ @@. I'll be waiting.
+...But saving me won't be enough, so build trust by the kind gift of @@ @@. I'll be waiting.
+
+...But worry not, I have the right screwdriver for the job. So, are you up to bring me some Present Boxes?
+...But worry not, I have the right screwdriver for the job. So, are you up to bring me some Present Boxes?
+
+...Cocktail.
+...Cocktail.
+
+...Coffee.
+...Coffee.
+
+...Dealing with scorpion stingers is a gamble, so we may need a few stingers before making a successful potion.
+...Dealing with scorpion stingers is a gamble, so we may need a few stingers before making a successful potion.
+
+...Even if this is your fault. Anyway, ##Breturn to whoever sent you here##b and begone.
+...Even if this is your fault. Anyway, ##Breturn to whoever sent you here##b and begone.
+
+...Foolish human... Do you really think I will attend your summon?
+...Foolish human... Do you really think I will attend your summon?
+
+...Go mind your own business, %s.
+...Go mind your own business, %s.
+
+...Good luck, @@. And be careful. If Sagratha decided to flee... It might be too strong for you.
+...Good luck, @@. And be careful. If Sagratha decided to flee... It might be too strong for you.
+
+...Have you ever gone there yet?
+...Have you ever gone there yet?
+
+...Help... Me...
+...Help... Me...
+
+...How do you know I'm not from this world?
+...How do you know I'm not from this world?
+
+...I cannot fail to notice your deeds. Very well. Under my own authority, I authorize you to climb this holy tree.
+...I cannot fail to notice your deeds. Very well. Under my own authority, I authorize you to climb this holy tree.
+
+...I deposited everything on the bank. Sorry!
+...I deposited everything on the bank. Sorry!
+
+...I don't think giving it this hat will really help...
+...I don't think giving it this hat will really help...
+
+...I don't think the teddy is sick, so there's no point giving it an Elixir.
+...I don't think the teddy is sick, so there's no point giving it an Elixir.
+
+...I guess I can't hide anymore...
+...I guess I can't hide anymore...
+
+...I have no other choice, do I?
+...I have no other choice, do I?
+
+...I knew bandits were not be trusted, but Saul insisted in doing so. I hate him so much right now. Even if he is my brother.
+...I knew bandits were not be trusted, but Saul insisted in doing so. I hate him so much right now. Even if he is my brother.
+
+...I know it is hot in this desert, but if you don't wear some armor and a hat, monsters will get to you. Really harsh, nowadays.
+...I know it is hot in this desert, but if you don't wear some armor and a hat, monsters will get to you. Really harsh, nowadays.
+
+...I refuse to comment on this ridiculous idea.
+...I refuse to comment on this ridiculous idea.
+
+...I still need to cover up if they're mistaken. Give me a reason to tell you secrets, show me you're concerned with Tulimshar safety and don't want just to be strong.
+...I still need to cover up if they're mistaken. Give me a reason to tell you secrets, show me you're concerned with Tulimshar safety and don't want just to be strong.
+
+...I'll be back later.
+...I'll be back later.
+
+...I'll take it.
+...I'll take it.
+
+...If they decide to do so, they'll have to deal with weak magical attacks, and with quick mana depletion.
+...If they decide to do so, they'll have to deal with weak magical attacks, and with quick mana depletion.
+
+...If you're lucky, you can touch it and receive magic power."
+...If you're lucky, you can touch it and receive magic power."
+
+...Incidents?
+...Incidents?
+
+...It'll most likely attack you, instead.
+...It'll most likely attack you, instead.
+
+...Lalica, the witch, is still with us. And she came to complain that a petty thief stolen a very precious item of hers.
+...Lalica, the witch, is still with us. And she came to complain that a petty thief stolen a very precious item of hers.
+
+...More bugs.
+...More bugs.
+
+...No reaction...
+...No reaction...
+
+...Not yet.
+...Not yet.
+
+...Of course. It was THEM. It gotta to be them!
+...Of course. It was THEM. It gotta to be them!
+
+...Oh, right! We locked it. Uhm, we'll open it for you. Be careful.
+...Oh, right! We locked it. Uhm, we'll open it for you. Be careful.
+
+...Okay, I asked you to explain, and you ended up wasting my time instead. %%n
+...Okay, I asked you to explain, and you ended up wasting my time instead. %%n
+
+...Okay, I guess.
+...Okay, I guess.
+
+...Okay, this is not fun anymore.
+...Okay, this is not fun anymore.
+
+...Otherwise, they're too precious to sell to wanna be adventurers. Beer EXP Bonuses expire on death, you know?!
+...Otherwise, they're too precious to sell to wanna be adventurers. Beer EXP Bonuses expire on death, you know?!
+
+...Poison.
+...Poison.
+
+...Potion.
+...Potion.
+
+...Tea.
+...Tea.
+
+...Thanks, kind person.
+...Thanks, kind person.
+
+...That's your problem, not mine. I am an elf if you haven't noticed.
+...That's your problem, not mine. I am an elf if you haven't noticed.
+
+...The ones who know a lot are dwarves, but they don't live here - they live with elves, it seems.
+...The ones who know a lot are dwarves, but they don't live here - they live with elves, it seems.
+
+...This %s you have there. I haven't seen one for a while.
+...This %s you have there. I haven't seen one for a while.
+
+...Try allocating some points in agility before we continue. I think %d should be suffice.
+...Try allocating some points in agility before we continue. I think %d should be suffice.
+
+...Unless, of course, if you're interested in learning this art. You'll not regret it, I assure you.
+...Unless, of course, if you're interested in learning this art. You'll not regret it, I assure you.
+
+...Until one day, past the sea, in Kolev's continent, they found a mana stone. Magic. This great breakthrough saved this continent, and saved our clan as well.
+...Until one day, past the sea, in Kolev's continent, they found a mana stone. Magic. This great breakthrough saved this continent, and saved our clan as well.
+
+...Water.
+...Water.
+
+...Well, I'll refund you 10% because it was not utterly terrible.
+...Well, I'll refund you 10% because it was not utterly terrible.
+
+...Well, but even if Hurnscald is nearby, you are too weak. You know sometimes, ships get attacked by pirates, right?
+...Well, but even if Hurnscald is nearby, you are too weak. You know sometimes, ships get attacked by pirates, right?
+
+...What? Which item? Sorry, too much smoke around here.
+...What? Which item? Sorry, too much smoke around here.
+
+...What? You want @@? Five of them?!
+...What? You want @@? Five of them?!
+
+...Where's Barbara, the thief?
+...Where's Barbara, the thief?
+
+...Yes. Hold tight.
+...Yes. Hold tight.
+
+...Yes. It was there. Please report to Blue Sage at once.
+...Yes. It was there. Please report to Blue Sage at once.
+
+...You have courage. Many people tried and failed.
+...You have courage. Many people tried and failed.
+
+...You need to learn magic before this equipment being useful to you in any way.
+...You need to learn magic before this equipment being useful to you in any way.
+
+...You still have not overcome his house.
+...You still have not overcome his house.
+
+...You're right. My medicine cannot heal you.
+...You're right. My medicine cannot heal you.
+
+...but it is saying some stuff about a merge which happened literally eons ago.
+...but it is saying some stuff about a merge which happened literally eons ago.
+
+...but it is written in Mananese, a language you know nothing about.
+...but it is written in Mananese, a language you know nothing about.
+
+...for now.
+...for now.
+
+...who knows if there isn't a secret in that?
+...who knows if there isn't a secret in that?
+
+...wingless humanoids.
+...wingless humanoids.
+
+..Anyone there?
+..Anyone there?
+
+.:: %s Recipe ::.
+.:: %s Recipe ::.
+
+.:: Accumulate Power ::.
+.:: Accumulate Power ::.
+
+.:: Alcohol Tutorial ::.
+.:: Alcohol Tutorial ::.
+
+.:: All In One ::.
+.:: All In One ::.
+
+.:: Archers Eye ::.
+.:: Archers Eye ::.
+
+.:: Area Provoke ::.
+.:: Area Provoke ::.
+
+.:: Armageddon ::.
+.:: Armageddon ::.
+
+.:: Arrow Shower ::.
+.:: Arrow Shower ::.
+
+.:: Backsliding ::.
+.:: Backsliding ::.
+
+.:: Bear Strike ::.
+.:: Bear Strike ::.
+
+.:: Brawling ::.
+.:: Brawling ::.
+
+.:: Chanting ::.
+.:: Chanting ::.
+
+.:: Ched's Summer 2018 ::.
+.:: Ched's Summer 2018 ::.
+
+.:: Ched's Summer 2019 ::.
+.:: Ched's Summer 2019 ::.
+
+.:: Ched's Summer 2020 ::.
+.:: Ched's Summer 2020 ::.
+
+.:: Ched's Summer 2021 ::.
+.:: Ched's Summer 2021 ::.
+
+.:: Ched's Summer 2022 ::.
+.:: Ched's Summer 2022 ::.
+
+.:: Chocolate Day ::.
+.:: Chocolate Day ::.
+
+.:: Christmas 2018 ::.
+.:: Christmas 2018 ::.
+
+.:: Christmas 2019 ::.
+.:: Christmas 2019 ::.
+
+.:: Christmas 2020 ::.
+.:: Christmas 2020 ::.
+
+.:: Christmas 2021 ::.
+.:: Christmas 2021 ::.
+
+.:: Christmas 2022 ::.
+.:: Christmas 2022 ::.
+
+.:: Congratulations ::.
+.:: Congratulations ::.
+
+.:: Congratulations! ::.
+.:: Congratulations! ::.
+
+.:: Counter Attack ::.
+.:: Counter Attack ::.
+
+.:: Create PIN Code ::.
+.:: Create PIN Code ::.
+
+.:: Destructive Magic Class ::.
+.:: Destructive Magic Class ::.
+
+.:: Easter 2018 ::.
+.:: Easter 2018 ::.
+
+.:: Easter 2019 ::.
+.:: Easter 2019 ::.
+
+.:: Easter 2020 ::.
+.:: Easter 2020 ::.
+
+.:: Easter 2021 ::.
+.:: Easter 2021 ::.
+
+.:: Easter 2022 ::.
+.:: Easter 2022 ::.
+
+.:: FIND-THE-NPC 2018 MINI-EVENT WINNER ::.
+.:: FIND-THE-NPC 2018 MINI-EVENT WINNER ::.
+
+.:: FIRST PLAYER TO COMPLETE GEMINI SISTERS QUEST ::.
+.:: FIRST PLAYER TO COMPLETE GEMINI SISTERS QUEST ::.
+
+.:: FIRST PLAYER TO COMPLETE HEROES HOLD MASTER DUNGEON ::.
+.:: FIRST PLAYER TO COMPLETE HEROES HOLD MASTER DUNGEON ::.
+
+.:: FIRST PLAYER TO COMPLETE YETI KING QUEST ::.
+.:: FIRST PLAYER TO COMPLETE YETI KING QUEST ::.
+
+.:: FIRST PLAYER TO REBIRTH ::.
+.:: FIRST PLAYER TO REBIRTH ::.
+
+.:: Falkon Strike ::.
+.:: Falkon Strike ::.
+
+.:: Fire Arrow ::.
+.:: Fire Arrow ::.
+
+.:: Fireball ::.
+.:: Fireball ::.
+
+.:: Firewalk ::.
+.:: Firewalk ::.
+
+.:: First Aid ::.
+.:: First Aid ::.
+
+.:: Fortress Island ::.
+.:: Fortress Island ::.
+
+.:: Free Cast ::.
+.:: Free Cast ::.
+
+.:: Free Software Day ::.
+.:: Free Software Day ::.
+
+.:: Frost Diver ::.
+.:: Frost Diver ::.
+
+.:: Frost Nova ::.
+.:: Frost Nova ::.
+
+.:: Full Throttle ::.
+.:: Full Throttle ::.
+
+.:: GEMINI ASSASSINS QUEST ::.
+.:: GEMINI ASSASSINS QUEST ::.
+
+.:: Gaia Break ::.
+.:: Gaia Break ::.
+
+.:: Ground Strike ::.
+.:: Ground Strike ::.
+
+.:: Hasan Scorpion Killing Challenge 2018 ::.
+.:: Hasan Scorpion Killing Challenge 2018 ::.
+
+.:: Hasan Scorpion Killing Challenge 2019 ::.
+.:: Hasan Scorpion Killing Challenge 2019 ::.
+
+.:: Hasan Scorpion Killing Challenge 2020 ::.
+.:: Hasan Scorpion Killing Challenge 2020 ::.
+
+.:: Hasan Scorpion Killing Challenge 2021 ::.
+.:: Hasan Scorpion Killing Challenge 2021 ::.
+
+.:: Hasan Scorpion Killing Challenge 2022 ::.
+.:: Hasan Scorpion Killing Challenge 2022 ::.
+
+.:: Healing ::.
+.:: Healing ::.
+
+.:: Hit'n'Run Tactic ::.
+.:: Hit'n'Run Tactic ::.
+
+.:: Holy Light ::.
+.:: Holy Light ::.
+
+.:: Impressive Hero Quest ::.
+.:: Impressive Hero Quest ::.
+
+.:: International Coffee Day ::.
+.:: International Coffee Day ::.
+
+.:: Judgment ::.
+.:: Judgment ::.
+
+.:: KAMELOT CASTLE, THE GUILD DUNGEON ::.
+.:: KAMELOT CASTLE, THE GUILD DUNGEON ::.
+
+.:: Last Standing Man ::.
+.:: Last Standing Man ::.
+
+.:: Lightning Bolt ::.
+.:: Lightning Bolt ::.
+
+.:: Magic Strike ::.
+.:: Magic Strike ::.
+
+.:: Magnus Healing ::.
+.:: Magnus Healing ::.
+
+.:: Main Quest 1-1 ::.
+.:: Main Quest 1-1 ::.
+
+.:: Main Quest 1-2 ::.
+.:: Main Quest 1-2 ::.
+
+.:: Main Quest 1-3 ::.
+.:: Main Quest 1-3 ::.
+
+.:: Main Quest 2-%d ::.
+.:: Main Quest 2-%d ::.
+
+.:: Main Quest 3-2 ::.
+.:: Main Quest 3-2 ::.
+
+.:: Main Quest 4-1 ::.
+.:: Main Quest 4-1 ::.
+
+.:: Main Quest 5-1 ::.
+.:: Main Quest 5-1 ::.
+
+.:: Main Quest 6-1 ::.
+.:: Main Quest 6-1 ::.
+
+.:: Main Quest 6-2 ::.
+.:: Main Quest 6-2 ::.
+
+.:: Main Quest ::.
+.:: Main Quest ::.
+
+.:: Mana Bomb ::.
+.:: Mana Bomb ::.
+
+.:: Mana Wisdom ::.
+.:: Mana Wisdom ::.
+
+.:: Meteor Shower ::.
+.:: Meteor Shower ::.
+
+.:: Meteor Strike ::.
+.:: Meteor Strike ::.
+
+.:: Mission Failed ::.
+.:: Mission Failed ::.
+
+.:: NOTABLE NAMES ON HURNSCALD LIBERATION DAY ::.
+.:: NOTABLE NAMES ON HURNSCALD LIBERATION DAY ::.
+
+.:: NOTABLE NAMES ON NIVALIS LIBERATION DAY ::.
+.:: NOTABLE NAMES ON NIVALIS LIBERATION DAY ::.
+
+.:: Napalm Beat ::.
+.:: Napalm Beat ::.
+
+.:: Nature Wall ::.
+.:: Nature Wall ::.
+
+.:: Nilfheim ::.
+.:: Nilfheim ::.
+
+.:: Open Beta 2019 ::.
+.:: Open Beta 2019 ::.
+
+.:: PVP King Imperial Arena ::.
+.:: PVP King Imperial Arena ::.
+
+.:: Physical Sciences Class ::.
+.:: Physical Sciences Class ::.
+
+.:: Provoke ::.
+.:: Provoke ::.
+
+.:: Purple Day 2018 ::.
+.:: Purple Day 2018 ::.
+
+.:: Resurrection ::.
+.:: Resurrection ::.
+
+.:: Scholarship Class ::.
+.:: Scholarship Class ::.
+
+.:: Second Tier Quest - Timed Out ::.
+.:: Second Tier Quest - Timed Out ::.
+
+.:: Server Boom ::.
+.:: Server Boom ::.
+
+.:: Sharpshooter ::.
+.:: Sharpshooter ::.
+
+.:: Stunning Strike ::.
+.:: Stunning Strike ::.
+
+.:: Sudden Attack ::.
+.:: Sudden Attack ::.
+
+.:: Supreme Attack ::.
+.:: Supreme Attack ::.
+
+.:: TMW-2 Anniversary ::.
+.:: TMW-2 Anniversary ::.
+
+.:: TMW2 Day ::.
+.:: TMW2 Day ::.
+
+.:: Tempest ::.
+.:: Tempest ::.
+
+.:: Thanksgiving 2019 ::.
+.:: Thanksgiving 2019 ::.
+
+.:: Thanksgiving 2020 ::.
+.:: Thanksgiving 2020 ::.
+
+.:: Thanksgiving 2021 ::.
+.:: Thanksgiving 2021 ::.
+
+.:: Thanksgiving 2022 ::.
+.:: Thanksgiving 2022 ::.
+
+.:: Thanksgiving ::.
+.:: Thanksgiving ::.
+
+.:: The Homunculus Keeping Manual ::.
+.:: The Homunculus Keeping Manual ::.
+
+.:: The Mouboo Temple ::.
+.:: The Mouboo Temple ::.
+
+.:: There are no skills ::.
+.:: There are no skills ::.
+
+.:: This is Release 10.0 Infinity ::.
+.:: This is Release 10.0 Infinity ::.
+
+.:: This is Release 9.5 Academy ::.
+.:: This is Release 9.5 Academy ::.
+
+.:: Transfer Mana ::.
+.:: Transfer Mana ::.
+
+.:: Trick Dead ::.
+.:: Trick Dead ::.
+
+.:: Trickster Class ::.
+.:: Trickster Class ::.
+
+.:: Valentine Day ::.
+.:: Valentine Day ::.
+
+.:: Victory ::.
+.:: Victory ::.
+
+.:: Victory Conditions ::.
+.:: Victory Conditions ::.
+
+.:: WARNING ::.
+.:: WARNING ::.
+
+.:: Windwalker ::.
+.:: Windwalker ::.
+
+.:: Withdraw Conditions ::.
+.:: Withdraw Conditions ::.
+
+.:: Worker Day 2018 ::.
+.:: Worker Day 2018 ::.
+
+.:: Worker Day ::.
+.:: Worker Day ::.
+
+.:: World's Hero Quest ::.
+.:: World's Hero Quest ::.
+
+._. "What are these statuses useful for?"
+._. "What are these statuses useful for?"
+
+/ clear clears the text box.
+/ clear clears the text box.
+
+/ help explains how to use all client commands.
+/ help explains how to use all client commands.
+
+/ mi does the same as @monsterinfo. Takes the monster name as argument and reports monster stats and drops.
+/ mi does the same as @monsterinfo. Takes the monster name as argument and reports monster stats and drops.
+
+/ present shows the number of people in the neighbourhood.
+/ present shows the number of people in the neighbourhood.
+
+/ where shows the name of the map you are in.
+/ where shows the name of the map you are in.
+
+/ whisper [name] allows you to send a private message to the player. if [name] contains spaces, it must be enclosed in quotation marks.
+/ whisper [name] allows you to send a private message to the player. if [name] contains spaces, it must be enclosed in quotation marks.
+
+/who mostra o número de jogadores conectados no momento.
+/who mostra o número de jogadores conectados no momento.
+
+0.0 "No no, please no! I can propose you a great deal for your silence!"
+0.0 "No no, please no! I can propose you a great deal for your silence!"
+
+0022#DoorUpwards
+0022#DoorUpwards
+
+1 Hand Swords
+1 Hand Swords
+
+1 hour
+1 hour
+
+1,000 GP
+1,000 GP
+
+1- Survive. If you die, you will gain nothing. And people want to kill you.
+1- Survive. If you die, you will gain nothing. And people want to kill you.
+
+1- The coward families, who ran away when outlook was bad.
+1- The coward families, who ran away when outlook was bad.
+
+1- You must not be carrying anything with you.
+1- You must not be carrying anything with you.
+
+1. Alcyone - 5,942
+1. Alcyone - 5,942
+
+1. Cassio - 43098
+1. Cassio - 43098
+
+1. Duke M - 16,016
+1. Duke M - 16,016
+
+1. Investigate Kamelot Basements
+1. Investigate Kamelot Basements
+
+1. Jesusalva - 65
+1. Jesusalva - 65
+
+1. Leather - 4523
+1. Leather - 4523
+
+1. Lilanna - 2498
+1. Lilanna - 2498
+
+1. Manatauro - 29504
+1. Manatauro - 29504
+
+1. Mathias Cronqvist - 15000
+1. Mathias Cronqvist - 15000
+
+1. You must be at the computer to play. Using a bot ##Bwhile at computer##b will be tolerated.
+1. You must be at the computer to play. Using a bot ##Bwhile at computer##b will be tolerated.
+
+1. YuckFou - 10,000,010 GP
+1. YuckFou - 10,000,010 GP
+
+1. andulkaT - 100,001 GP
+1. andulkaT - 100,001 GP
+
+1. andulkaT - 702
+1. andulkaT - 702
+
+1. poppet - 3056
+1. poppet - 3056
+
+10 minutes
+10 minutes
+
+10 seconds!
+10 seconds!
+
+10,000 GP
+10,000 GP
+
+10. ##BDo not logout##b at Botcheck area or at Jail. We cannot unjail an offline player. The opposite of rule 9: If you believe you're right, keep your ground and explain calmly what happened. We'll calmly analyse the situation. If you were jailed without guilt, an apology will be sent to you, provided this rule is not broken.
+10. ##BDo not logout##b at Botcheck area or at Jail. We cannot unjail an offline player. The opposite of rule 9: If you believe you're right, keep your ground and explain calmly what happened. We'll calmly analyse the situation. If you were jailed without guilt, an apology will be sent to you, provided this rule is not broken.
+
+10th Place - Saulc (8)
+10th Place - Saulc (8)
+
+11. If you believe you are Not Guilty, but the GM deemed you guilty, request a ##BCouncil Trial##b. It's your right. In a Council Trial, we'll have multiple people giving the veredict. Any player may be called to compose the council. All admins shall take part in it. An arragment relative to time, date, and number of counsellors is to be made.
+11. If you believe you are Not Guilty, but the GM deemed you guilty, request a ##BCouncil Trial##b. It's your right. In a Council Trial, we'll have multiple people giving the veredict. Any player may be called to compose the council. All admins shall take part in it. An arragment relative to time, date, and number of counsellors is to be made.
+
+12x Strange Coins
+12x Strange Coins
+
+15 minutes
+15 minutes
+
+15 minutes.
+15 minutes.
+
+1600 GP
+1600 GP
+
+1st Place - Jesusalva (65)
+1st Place - Jesusalva (65)
+
+1st Place - Mishana, LawnCable, Jesusalva, bObr
+1st Place - Mishana, LawnCable, Jesusalva, bObr
+
+1st Place - Povo (6 likes)
+1st Place - Povo (6 likes)
+
+1st step
+1st step
+
+1° Screenshooting Contest
+1° Screenshooting Contest
+
+2
+2
+
+2 Hand Swords
+2 Hand Swords
+
+2 hours
+2 hours
+
+2,500 GP
+2,500 GP
+
+2- Take everything you can find. You'll be warped without equip or healing items! Kill monsters to get some stuff too!
+2- Take everything you can find. You'll be warped without equip or healing items! Kill monsters to get some stuff too!
+
+2- The defenders of the artifact, who lost their lives and left people behind.
+2- The defenders of the artifact, who lost their lives and left people behind.
+
+2- You must not use a cart. If you do, YOU WILL BE SEVERELY PENALIZED.
+2- You must not use a cart. If you do, YOU WILL BE SEVERELY PENALIZED.
+
+2. ##BDo not spam nor flood.##b This rule is not limited to public chat, actions ingame can be flooding too.
+2. ##BDo not spam nor flood.##b This rule is not limited to public chat, actions ingame can be flooding too.
+
+2. Alcyone - 53,057 GP
+2. Alcyone - 53,057 GP
+
+2. Free Kamelot from its curse!
+2. Free Kamelot from its curse!
+
+2. Gogo VII - 103
+2. Gogo VII - 103
+
+2. Kolchak - 63
+2. Kolchak - 63
+
+2. Manatauro - 4386
+2. Manatauro - 4386
+
+2. Mathias Cronqvist - 7,423,346 GP
+2. Mathias Cronqvist - 7,423,346 GP
+
+2. Povo - 10203
+2. Povo - 10203
+
+2. Rill - 25955
+2. Rill - 25955
+
+2. Woody - 3637
+2. Woody - 3637
+
+2. andulkaT - 1018
+2. andulkaT - 1018
+
+2. andulkaT - 438
+2. andulkaT - 438
+
+2. andulkaT - 6,000
+2. andulkaT - 6,000
+
+2. seeds - 1167
+2. seeds - 1167
+
+20 Common Carps
+20 Common Carps
+
+200 years ago, The Great Fire (%dm)
+200 years ago, The Great Fire (%dm)
+
+2018 Event Winners
+2018 Event Winners
+
+2019 Event Winners
+2019 Event Winners
+
+2020 Event Winners
+2020 Event Winners
+
+2021 Event Winners
+2021 Event Winners
+
+2022 Event Winners
+2022 Event Winners
+
+20x Bug Leg
+20x Bug Leg
+
+250,000 GP
+250,000 GP
+
+2nd Place - Kolchak (63)
+2nd Place - Kolchak (63)
+
+2nd Place - Manatauro (5 likes)
+2nd Place - Manatauro (5 likes)
+
+2nd step
+2nd step
+
+2x Bronze Gift
+2x Bronze Gift
+
+2x Snake Egg
+2x Snake Egg
+
+2° Screenshooting Contest
+2° Screenshooting Contest
+
+3
+3
+
+3- All items from the Arena are from the Arena. You won't carry any of them back with you.
+3- All items from the Arena are from the Arena. You won't carry any of them back with you.
+
+3- The ancient families.
+3- The ancient families.
+
+3- Trust nobody. There can be only one winner, and it must be you.
+3- Trust nobody. There can be only one winner, and it must be you.
+
+3. ##BDo not trade invalid items, or try to cheat on trades.##b This includes any other kind of cheat or bug abuse, passive of account deletion and IP ban as stated by the Terms Of Service.
+3. ##BDo not trade invalid items, or try to cheat on trades.##b This includes any other kind of cheat or bug abuse, passive of account deletion and IP ban as stated by the Terms Of Service.
+
+3. G II - 4151
+3. G II - 4151
+
+3. Jesusalva - 310
+3. Jesusalva - 310
+
+3. Povo - 1,275,000 GP
+3. Povo - 1,275,000 GP
+
+3. Sharli - 4,419
+3. Sharli - 4,419
+
+3. Woody - 1066
+3. Woody - 1066
+
+3. Xanthem - 56
+3. Xanthem - 56
+
+3. YuckFou - 9537
+3. YuckFou - 9537
+
+3. caslu_jpg - 50
+3. caslu_jpg - 50
+
+3. dangerDuck - 1225
+3. dangerDuck - 1225
+
+3. luanaf - 20837
+3. luanaf - 20837
+
+3. poppet - 20,010 GP
+3. poppet - 20,010 GP
+
+3. poppet - 71
+3. poppet - 71
+
+30 minutes
+30 minutes
+
+30x Bug Leg
+30x Bug Leg
+
+3rd Place - Woody (4 likes)
+3rd Place - Woody (4 likes)
+
+3rd Place - Xanthem (56)
+3rd Place - Xanthem (56)
+
+3rd step
+3rd step
+
+4 Chagashrooms for a Strength Potion!
+4 Chagashrooms for a Strength Potion!
+
+4 Plushrooms for a Haste Potion!
+4 Plushrooms for a Haste Potion!
+
+4- Experience and Gold earned during this event can be kept.
+4- Experience and Gold earned during this event can be kept.
+
+4- Take Care. Wildlife can kill you too. There can be traps.
+4- Take Care. Wildlife can kill you too. There can be traps.
+
+4. ##BRespect other players.##b This includes but is not limited to using offensive language in nicknames or chat, and begging items or favours to other players.
+4. ##BRespect other players.##b This includes but is not limited to using offensive language in nicknames or chat, and begging items or favours to other players.
+
+4. Amdros - 1113
+4. Amdros - 1113
+
+4. Hocus - 17260
+4. Hocus - 17260
+
+4. Mathias Cronqvist - 2000
+4. Mathias Cronqvist - 2000
+
+4. Povo - 3999
+4. Povo - 3999
+
+4. dangerDuck - 540
+4. dangerDuck - 540
+
+4. poppet - 3,826
+4. poppet - 3,826
+
+4. seeds - 43
+4. seeds - 43
+
+40/40 slayed @@
+40/40 slayed @@
+
+4144's Tortuga
+4144's Tortuga
+
+42
+42
+
+45 minutes
+45 minutes
+
+4th Place - seeds (43)
+4th Place - seeds (43)
+
+4th step
+4th step
+
+5 @@ can be fused in a @@
+5 @@ can be fused in a @@
+
+5 minutes
+5 minutes
+
+5 seconds!
+5 seconds!
+
+5,000 GP
+5,000 GP
+
+5- Trust yourself. You will lose the moment you enter in panic. This arena is not for the weak-willed!
+5- Trust yourself. You will lose the moment you enter in panic. This arena is not for the weak-willed!
+
+5. ##BThe public chat is to be understood by everyone.##b Therefore, try to use english when possible.
+5. ##BThe public chat is to be understood by everyone.##b Therefore, try to use english when possible.
+
+5. Heaven - 501
+5. Heaven - 501
+
+5. Heaven - 806
+5. Heaven - 806
+
+5. Woolie - 3345
+5. Woolie - 3345
+
+5. Xanthem - 615
+5. Xanthem - 615
+
+5. dangerDuck - 23
+5. dangerDuck - 23
+
+5. girl flapper - 2,487
+5. girl flapper - 2,487
+
+5. seeds - 13395
+5. seeds - 13395
+
+50 Aquadas
+50 Aquadas
+
+50,000 GP
+50,000 GP
+
+5000 GP? That sure is a lot of gold...
+5000 GP? That sure is a lot of gold...
+
+5th Place - Demure
+5th Place - Demure
+
+5th Place - dangerDuck (23)
+5th Place - dangerDuck (23)
+
+5x Strange Coins
+5x Strange Coins
+
+6. ##BDo not create multi accounts.##b A person may only hold one account and as many chars as allowed by the server/client. Staff members with special privileges in-game may have a second account without those privileges.
+6. ##BDo not create multi accounts.##b A person may only hold one account and as many chars as allowed by the server/client. Staff members with special privileges in-game may have a second account without those privileges.
+
+60 seconds
+60 seconds
+
+6th Place - test123 (20)
+6th Place - test123 (20)
+
+7
+7
+
+7 Grass Carps
+7 Grass Carps
+
+7. ##BAs long as you have an account, you agree with the [@@https://tmw2.org/legal|Terms Of Service@@]##b. Shall any rule conflict with these terms, the Terms Of Service provided on that link shall prevail.
+7. ##BAs long as you have an account, you agree with the [@@https://tmw2.org/legal|Terms Of Service@@]##b. Shall any rule conflict with these terms, the Terms Of Service provided on that link shall prevail.
+
+7th Place - Sertrop (17)
+7th Place - Sertrop (17)
+
+8 Croconuts
+8 Croconuts
+
+8. ##BThe use of real money is prohibited##b for ingame stuff, except by sponsoring.
+8. ##BThe use of real money is prohibited##b for ingame stuff, except by sponsoring.
+
+87 Plushrooms
+87 Plushrooms
+
+8th Place - Pookie (13)
+8th Place - Pookie (13)
+
+9. ##BAdmit when you're wrong.##b Users trying to lie to or fool GMs will get no pity from them.
+9. ##BAdmit when you're wrong.##b Users trying to lie to or fool GMs will get no pity from them.
+
+9th Place - LawnCable (13)
+9th Place - LawnCable (13)
+
+:) "A pleasure to trade if you. Don't get caught if you're doing something wrong!"
+:) "A pleasure to trade if you. Don't get caught if you're doing something wrong!"
+
+:/ "Hmm... let me see... Aha, I know! I can make you a great bandit with a simple burglar mask!"
+:/ "Hmm... let me see... Aha, I know! I can make you a great bandit with a simple burglar mask!"
+
+:< "Hey hey! Where's the money?"
+:< "Hey hey! Where's the money?"
+
+:< "Never lie to me. Keep your end on the bargain! Give me everything I asked for!"
+:< "Never lie to me. Keep your end on the bargain! Give me everything I asked for!"
+
+:> "Hello, youngling..."#0
+:> "Hello, youngling..."
+
+:> "Hello, youngling..."#1
+:> "Hello, youngling..."
+
+:D "Ah! Yes, that would help a lot! I don't need anything a bandit couldn't give you: 25 @@, 5 @@, 2 @@ and a @@. And 6000 GP."
+:D "Ah! Yes, that would help a lot! I don't need anything a bandit couldn't give you: 25 @@, 5 @@, 2 @@ and a @@. And 6000 GP."
+
+:D "Excellent! You've kept your end on the bargain!"
+:D "Excellent! You've kept your end on the bargain!"
+
+:D "HAHAHAHAH! Me?! a thief? only during free time..."
+:D "HAHAHAHAH! Me?! a thief? only during free time..."
+
+:P "I am busy, leave me alone."
+:P "I am busy, leave me alone."
+
+:o "What? I'm not a bandit! But it looks SO COOL! Do you need anything while you're here?"
+:o "What? I'm not a bandit! But it looks SO COOL! Do you need anything while you're here?"
+
+;-) "Don't worry! Leave to me!"
+;-) "Don't worry! Leave to me!"
+
+== If you decide to complete the quest you cannot repeat it.
+== If you decide to complete the quest you cannot repeat it.
+
+>.< "The Dummy is a real killer!"
+>.< "The Dummy is a real killer!"
+
+>.> "Sorry pal, I have no idea what she meant by that."
+>.> "Sorry pal, I have no idea what she meant by that."
+
+>:| "Go take the items and remember: Not even a single word about me!"
+>:| "Go take the items and remember: Not even a single word about me!"
+
+>> Hurnscald must be Liberated first, to continue this story <<
+>> Hurnscald must be Liberated first, to continue this story <<
+
+???
+???
+
+??? : Are you trying to steal MY treasure?!
+??? : Are you trying to steal MY treasure?!
+
+??? : I am Pirate Captain Marley, and on the honor of my pirates...
+??? : I am Pirate Captain Marley, and on the honor of my pirates...
+
+??? : Wait, how did you got here? WHO ARE YOU?
+??? : Wait, how did you got here? WHO ARE YOU?
+
+???#01863
+???#01863
+
+@@
+@@
+
+@@ - @@ - @@
+@@ - @@ - @@
+
+@@ - @@ coins
+@@ - @@ coins
+
+@@ - @@ point(s)
+@@ - @@ point(s)
+
+@@ @@ @@
+@@ @@ @@
+
+@@ @@ killed.
+@@ @@ killed.
+
+@@ Dummy
+@@ Dummy
+
+@@ Recipe
+@@ Recipe
+
+@@ You need to wait further releases to continue this quest!
+@@ You need to wait further releases to continue this quest!
+
+@@ and @@ just got married!
+@@ and @@ just got married!
+
+@@ and I signed this letter. Deliver it to Airlia on the Town Hall, and she'll reward you correctly.
+@@ and I signed this letter. Deliver it to Airlia on the Town Hall, and she'll reward you correctly.
+
+@@ boxes of chocolate were given to you as a gift.
+@@ boxes of chocolate were given to you as a gift.
+
+@@ burst in tears.
+@@ burst in tears.
+
+@@ calms a bit.
+@@ calms a bit.
+
+@@ determines how many blows you can take before you die. It also affects status effects, like poison.
+@@ determines how many blows you can take before you die. It also affects status effects, like poison.
+
+@@ disembarks at Hurnscald.
+@@ disembarks at Hurnscald.
+
+@@ disembarks at Nivalis.
+@@ disembarks at Nivalis.
+
+@@ disembarks at Tulimshar.
+@@ disembarks at Tulimshar.
+
+@@ divorced!
+@@ divorced!
+
+@@ drolls without realizing.
+@@ drolls without realizing.
+
+@@ glances at you, suspicion evident in her eyes.
+@@ glances at you, suspicion evident in her eyes.
+
+@@ glares at you in anger.
+@@ glares at you in anger.
+
+@@ goes away for a while and returns briefly.
+@@ goes away for a while and returns briefly.
+
+@@ hands you an @@.
+@@ hands you an @@.
+
+@@ has the clear smile of victory!
+@@ has the clear smile of victory!
+
+@@ helps you carry more items and also gives you a more forceful blow, but ends up not being very interesting if you focus on weapons that use projectiles, such as the bow.
+@@ helps you carry more items and also gives you a more forceful blow, but ends up not being very interesting if you focus on weapons that use projectiles, such as the bow.
+
+@@ is a two-handed weapon with very low damage and attack speed.
+@@ is a two-handed weapon with very low damage and attack speed.
+
+@@ is an expensive, rare, and dangerous item. Do not shake it too much, or it will catch fire.
+@@ is an expensive, rare, and dangerous item. Do not shake it too much, or it will catch fire.
+
+@@ is developing these potions.
+@@ is developing these potions.
+
+@@ is on the verge of crying again. Better leave out and look for Elias.
+@@ is on the verge of crying again. Better leave out and look for Elias.
+
+@@ is very useful for alchemy and magic, but nowadays there are few opportunities to use it.
+@@ is very useful for alchemy and magic, but nowadays there are few opportunities to use it.
+
+@@ latches onto you and starts sobbing on your shoulder.
+@@ latches onto you and starts sobbing on your shoulder.
+
+@@ melt down your @@...
+@@ melt down your @@...
+
+@@ nods as she notices you.
+@@ nods as she notices you.
+
+@@ nods reluctantly.
+@@ nods reluctantly.
+
+@@ nods.
+@@ nods.
+
+@@ pinkies killed on @@'s field.
+@@ pinkies killed on @@'s field.
+
+@@ raise an eyebrow as you hand him Gelid's letter.
+@@ raise an eyebrow as you hand him Gelid's letter.
+
+@@ raises an eyebrow as you address her.
+@@ raises an eyebrow as you address her.
+
+@@ registered for marriage and accepted partner @@!
+@@ registered for marriage and accepted partner @@!
+
+@@ seems to be trembling with disgust as she stares at your headgear.
+@@ seems to be trembling with disgust as she stares at your headgear.
+
+@@ seems to be upset.
+@@ seems to be upset.
+
+@@ snarls.
+@@ snarls.
+
+@@ stares you as you slowly get away from him. Odd person.
+@@ stares you as you slowly get away from him. Odd person.
+
+@@ started disarm process. Please stand by.
+@@ started disarm process. Please stand by.
+
+@@ stops, and keep silent for a while, thinking, before continuing.
+@@ stops, and keep silent for a while, thinking, before continuing.
+
+@@ uses his screwdriver and open the sealed gift box like a pro.
+@@ uses his screwdriver and open the sealed gift box like a pro.
+
+@@ waits for their loved one.
+@@ waits for their loved one.
+
+@@!
+@@!
+
+@@'s Apartment
+@@'s Apartment
+
+@@'s Estate
+@@'s Estate
+
+@@, do you need help? Are you lost? Click me!
+@@, do you need help? Are you lost? Click me!
+
+@@, do you need help? Are you lost? Talk to me!
+@@, do you need help? Are you lost? Talk to me!
+
+@@, don't jump there! It may be fatal!
+@@, don't jump there! It may be fatal!
+
+@@, watch out! The obelisk - it is talking!
+@@, watch out! The obelisk - it is talking!
+
+@@, we are counting on you! We, the whole Hurnscald town!
+@@, we are counting on you! We, the whole Hurnscald town!
+
+@@, we should leave here now.
+@@, we should leave here now.
+
+@@, your party leader, is inside, I'm not sure where.
+@@, your party leader, is inside, I'm not sure where.
+
+@@. PK, however, is allowed!
+@@. PK, however, is allowed!
+
+@@... I think something went wrong... RUN!!
+@@... I think something went wrong... RUN!!
+
+@@/1 @@
+@@/1 @@
+
+@@/1 Mana Bug
+@@/1 Mana Bug
+
+@@/10 @@
+@@/10 @@
+
+@@/10 @@ for 1 @@
+@@/10 @@ for 1 @@
+
+@@/10 Maggots
+@@/10 Maggots
+
+@@/10 Rattos
+@@/10 Rattos
+
+@@/100 @@
+@@/100 @@
+
+@@/100 Red Scorpions
+@@/100 Red Scorpions
+
+@@/1000 GP
+@@/1000 GP
+
+@@/12 @@
+@@/12 @@
+
+@@/120 @@
+@@/120 @@
+
+@@/120 GP
+@@/120 GP
+
+@@/15 @@
+@@/15 @@
+
+@@/150 @@
+@@/150 @@
+
+@@/2 @@
+@@/2 @@
+
+@@/2 Scorpion
+@@/2 Scorpion
+
+@@/20 @@
+@@/20 @@
+
+@@/20 @@ (or @@)
+@@/20 @@ (or @@)
+
+@@/200 Black Scorpions
+@@/200 Black Scorpions
+
+@@/25 @@
+@@/25 @@
+
+@@/25 Cave Maggots
+@@/25 Cave Maggots
+
+@@/3 @@
+@@/3 @@
+
+@@/3 Candor Scorpions
+@@/3 Candor Scorpions
+
+@@/30 @@
+@@/30 @@
+
+@@/4 @@
+@@/4 @@
+
+@@/4 House Maggots
+@@/4 House Maggots
+
+@@/40 @@
+@@/40 @@
+
+@@/40 Fire Goblins killed
+@@/40 Fire Goblins killed
+
+@@/40 slayed @@
+@@/40 slayed @@
+
+@@/45 @@
+@@/45 @@
+
+@@/5 @@
+@@/5 @@
+
+@@/50 @@
+@@/50 @@
+
+@@/50 Cave Snakes
+@@/50 Cave Snakes
+
+@@/55 @@
+@@/55 @@
+
+@@/60 @@
+@@/60 @@
+
+@@/6000 GP
+@@/6000 GP
+
+@@/7 @@
+@@/7 @@
+
+@@/8 @@ for 1 @@
+@@/8 @@ for 1 @@
+
+@@/8 @@
+@@/8 @@
+
+@@/8 @@, just because I'm hungry as a bear.
+@@/8 @@, just because I'm hungry as a bear.
+
+@@/80 @@
+@@/80 @@
+
+@@/9 @@ for 1 @@
+@@/9 @@ for 1 @@
+
+@@/?? @@
+@@/?? @@
+
+@@/@@
+@@/@@
+
+@@/@@ @@
+@@/@@ @@
+
+@@/@@ @@ killed
+@@/@@ @@ killed
+
+@@/@@ GP
+@@/@@ GP
+
+@@: @@/@@
+@@: @@/@@
+
+@@: Fight!
+@@: Fight!
+
+@@: Lv @@
+@@: Lv @@
+
+@commands lists even more advanced commands, but you can't use all of them.
+@commands lists even more advanced commands, but you can't use all of them.
+
+@discord allows you to setup Discord integration settings.
+@discord allows you to setup Discord integration settings.
+
+@info and @tutorial will, using Jesusalva's powers, allow you to contact me anywhere for info.
+@info and @tutorial will, using Jesusalva's powers, allow you to contact me anywhere for info.
+
+@lang allows you to change game language, anytime, anywhere.
+@lang allows you to change game language, anytime, anywhere.
+
+@rentitem <item numeric id> <time in seconds>
+@rentitem <item numeric id> <time in seconds>
+
+@resync will help when the client starts lagging. If you see an attack but no monsters, that's the cause.
+@resync will help when the client starts lagging. If you see an attack but no monsters, that's the cause.
+
+@resyncall is the more powerful version of @resync. It'll reload everything, even the clouds if needed.
+@resyncall is the more powerful version of @resync. It'll reload everything, even the clouds if needed.
+
+@rules will tell you all the rules once again.
+@rules will tell you all the rules once again.
+
+@toevent will warp you to event island, if an event is happening, of course.
+@toevent will warp you to event island, if an event is happening, of course.
+
+@ucp allows you to manage your account, eg. recover lost email.
+@ucp allows you to manage your account, eg. recover lost email.
+
+A GM has discharged you from jail.
+A GM has discharged you from jail.
+
+A Game Master is required to begin the Liberation Day.
+A Game Master is required to begin the Liberation Day.
+
+A Miner is a must-have for a craftsman/craftswoman, as they are in constant need of ores and coal.
+A Miner is a must-have for a craftsman/craftswoman, as they are in constant need of ores and coal.
+
+A bit longer and I would have jailed you %%\\
+A bit longer and I would have jailed you %%\\
+
+A bright and mysterious mushroom!!!
+A bright and mysterious mushroom!!!
+
+A bug was found. Aborting script.
+A bug was found. Aborting script.
+
+A card will be flipped, you'll need to decide if next flip will be HIGHER or LOWER.
+A card will be flipped, you'll need to decide if next flip will be HIGHER or LOWER.
+
+A close inspection reveals nothing out of ordinary. It seems to be well kept.
+A close inspection reveals nothing out of ordinary. It seems to be well kept.
+
+A close inspection suggests the lock was busted. You approach to inspect.
+A close inspection suggests the lock was busted. You approach to inspect.
+
+A closer inspection suggests this mouboo has been... CURSED.
+A closer inspection suggests this mouboo has been... CURSED.
+
+A color sequence will be displayed on the avatar frame.
+A color sequence will be displayed on the avatar frame.
+
+A complex lock seems to be posing a threat to you.
+A complex lock seems to be posing a threat to you.
+
+A critical hit deals added damage and disregards defense. A critical always hit, although it can be blocked just fine.
+A critical hit deals added damage and disregards defense. A critical always hit, although it can be blocked just fine.
+
+A dagger is stuck to your heart.
+A dagger is stuck to your heart.
+
+A dangerous boss room, keep your guard up!
+A dangerous boss room, keep your guard up!
+
+A disarm process is already running.
+A disarm process is already running.
+
+A dungeon is burried in @@, (@@, @@)
+A dungeon is burried in @@, (@@, @@)
+
+A few families, also known as the Ancient Families of the Soul Menhir (for whatever reasons that may be), departed.
+A few families, also known as the Ancient Families of the Soul Menhir (for whatever reasons that may be), departed.
+
+A few switches aren't triggered yet.
+A few switches aren't triggered yet.
+
+A few times during the year, an independent team organizes a world exposition of special relics.
+A few times during the year, an independent team organizes a world exposition of special relics.
+
+A few times during the year, the "golden wave" migrates from the north pole to the south pole.
+A few times during the year, the "golden wave" migrates from the north pole to the south pole.
+
+A fire broke out in Tulimshar's Academy, which quickly spread over the whole town... And you would think it would be all, but no. The fire was odd.
+A fire broke out in Tulimshar's Academy, which quickly spread over the whole town... And you would think it would be all, but no. The fire was odd.
+
+A friend of yours called LOF BOT asked for a coin...
+A friend of yours called LOF BOT asked for a coin...
+
+A game is currently going on, please wait for it to finish.
+A game is currently going on, please wait for it to finish.
+
+A global announcement will be made.
+A global announcement will be made.
+
+A golden pot in woodlands shall reward those who wear green.
+A golden pot in woodlands shall reward those who wear green.
+
+A good thing we still use sturdy standard steel grating on the emergency exit which lead to Nivalis. I can't imagine how bad the incident would be wasn't for that.
+A good thing we still use sturdy standard steel grating on the emergency exit which lead to Nivalis. I can't imagine how bad the incident would be wasn't for that.
+
+A great rush of mana flows though you.
+A great rush of mana flows though you.
+
+A group of %ss are threatening the city. Go to the Desert Canyon and teach them a lesson.
+A group of %ss are threatening the city. Go to the Desert Canyon and teach them a lesson.
+
+A guy named Hasan stole from me!
+A guy named Hasan stole from me!
+
+A hooded man attacked me, and left me in this state.
+A hooded man attacked me, and left me in this state.
+
+A large number of %ss have been sighted. Both the sewer and the mines have been infested, they have even been spotted in the city wall!
+A large number of %ss have been sighted. Both the sewer and the mines have been infested, they have even been spotted in the city wall!
+
+A light magic barrier prevents you from entering.
+A light magic barrier prevents you from entering.
+
+A magic barrier prevents you from enterering. Maybe it is a good idea to shut down the pentagrams first?
+A magic barrier prevents you from enterering. Maybe it is a good idea to shut down the pentagrams first?
+
+A masterpiece!... Whaaaat, this stuff got ##Bweaker##b??
+A masterpiece!... Whaaaat, this stuff got ##Bweaker##b??
+
+A minimum of %d players at the time of start is required!
+A minimum of %d players at the time of start is required!
+
+A mission well done. I should report to lua now.
+A mission well done. I should report to lua now.
+
+A new Dream Tower opens its gates before you...
+A new Dream Tower opens its gates before you...
+
+A new pet has been unlocked on the @@!
+A new pet has been unlocked on the @@!
+
+A pity a friend of ours drank too much. Juliet knows how to cure. We need to give her a @@ to do a hangover potion.
+A pity a friend of ours drank too much. Juliet knows how to cure. We need to give her a @@ to do a hangover potion.
+
+A pity that without being born with magic, you need a Mana Stone... And there are none left...
+A pity that without being born with magic, you need a Mana Stone... And there are none left...
+
+A pity...
+A pity...
+
+A player may be the town admin of several different towns.
+A player may be the town admin of several different towns.
+
+A powerful door is sealed shut. It has no keyhole, but I'm sure it can be opened somewhere else on these caves.
+A powerful door is sealed shut. It has no keyhole, but I'm sure it can be opened somewhere else on these caves.
+
+A powerful magic barrier prevents passage. %d %s should suffice to dispel... Maybe.
+A powerful magic barrier prevents passage. %d %s should suffice to dispel... Maybe.
+
+A powerful magic barrier repeals you!
+A powerful magic barrier repeals you!
+
+A powerful magic barrier repels you!
+A powerful magic barrier repels you!
+
+A previous exp rate up event is already ongoing.
+A previous exp rate up event is already ongoing.
+
+A ranger, with a powerful bow
+A ranger, with a powerful bow
+
+A reward is promised to those whom cooperate.
+A reward is promised to those whom cooperate.
+
+A script error happened, please report: @@
+A script error happened, please report: @@
+
+A sec... And... Done! I just finished cleaning it up!
+A sec... And... Done! I just finished cleaning it up!
+
+A shame there are snakes below the ground. I really, really hate snakes, like every fairy.
+A shame there are snakes below the ground. I really, really hate snakes, like every fairy.
+
+A ship travel will cost you @@ GP.
+A ship travel will cost you @@ GP.
+
+A single switch is not online - Cannot pass without all of them on.
+A single switch is not online - Cannot pass without all of them on.
+
+A skill has been removed, you got @@ job exp and @@ Strange Coin as an apology token.
+A skill has been removed, you got @@ job exp and @@ Strange Coin as an apology token.
+
+A skill has been replaced with an @@.
+A skill has been replaced with an @@.
+
+A slime drips in front of you and explodes!
+A slime drips in front of you and explodes!
+
+A soldier, with a sword and a shield
+A soldier, with a sword and a shield
+
+A stone seemed to be loose, but you barely managed to avoid falling!
+A stone seemed to be loose, but you barely managed to avoid falling!
+
+A sunny and hot day,
+A sunny and hot day,
+
+A treasure is burried in @@, (@@, @@)
+A treasure is burried in @@, (@@, @@)
+
+A tree glows in this dark cave, surrounded by mana lanes.
+A tree glows in this dark cave, surrounded by mana lanes.
+
+A violent fire is less than a great fire, but devasting fire will be even more than these.
+A violent fire is less than a great fire, but devasting fire will be even more than these.
+
+A visitor? I don't really pay attention to visitors, unless it's someone notable.
+A visitor? I don't really pay attention to visitors, unless it's someone notable.
+
+A warrior, with a long blade
+A warrior, with a long blade
+
+A wizard, with a might wand
+A wizard, with a might wand
+
+A-hoy matey!
+A-hoy matey!
+
+A... A sabotage?! O.o
+A... A sabotage?! O.o
+
+A... Mouboo? Well, I know who can handle curses on cute Mouboos.
+A... Mouboo? Well, I know who can handle curses on cute Mouboos.
+
+AAAAAAAHHHHH, Thanks, I am lively again!
+AAAAAAAHHHHH, Thanks, I am lively again!
+
+AAAAaaahhhhh!!!
+AAAAaaahhhhh!!!
+
+AAH! You scared me!
+AAH! You scared me!
+
+ADMIN Cap
+ADMIN Cap
+
+AF King
+AF King
+
+AFK Cap
+AFK Cap
+
+AFK skill levels fixed.
+AFK skill levels fixed.
+
+AFTER THEM!!
+AFTER THEM!!
+
+AH!
+AH!
+
+ALL
+ALL
+
+AND YOU ARE NOT WELCOME HERE!!
+AND YOU ARE NOT WELCOME HERE!!
+
+ANISE Incorporated is the biggest company in warp technology!
+ANISE Incorporated is the biggest company in warp technology!
+
+ARE YOU SURE?
+ARE YOU SURE?
+
+ARE YOU SURE? THIS CANNOT BE UNDONE LATER!!
+ARE YOU SURE? THIS CANNOT BE UNDONE LATER!!
+
+ATK = 25%%, LUK = 0, Slow down
+ATK = 25%%, LUK = 0, Slow down
+
+Aaaaaaaahhhhh.... Much better now *hic*.
+Aaaaaaaahhhhh.... Much better now *hic*.
+
+Aaaaaaah, boy... Just let me drink in peace.#1
+Aaaaaaah, boy... Just let me drink in peace.
+
+Aaaaaaah, gal... Just let me drink in peace.#0
+Aaaaaaah, gal... Just let me drink in peace.
+
+Aaaaaahhh... Oui, that's a good wine! So, what will it be?
+Aaaaaahhh... Oui, that's a good wine! So, what will it be?
+
+Aahna
+Aahna
+
+Abandoned Diary#jak1
+Abandoned Diary#jak1
+
+Abandoned Fountain#MKH
+Abandoned Fountain#MKH
+
+Abandoned House#MKH1
+Abandoned House#MKH1
+
+Abandoned House#MKH2
+Abandoned House#MKH2
+
+Abandoned House#MKH3
+Abandoned House#MKH3
+
+Abandoned House#MKH4
+Abandoned House#MKH4
+
+Abandoned House#MKH5
+Abandoned House#MKH5
+
+Abandoned House#MKH6
+Abandoned House#MKH6
+
+Abort
+Abort
+
+Abort (%d GP)
+Abort (%d GP)
+
+Abort.
+Abort.
+
+About Scoreboards and Honor Points
+About Scoreboards and Honor Points
+
+About the Prophecy... What about Elves? Orcs? Redys? Etc.?
+About the Prophecy... What about Elves? Orcs? Redys? Etc.?
+
+About the items you asked me to collect...
+About the items you asked me to collect...
+
+About this pirate treasure map...
+About this pirate treasure map...
+
+Absolutely not, but not may job offers nowadays.
+Absolutely not, but not may job offers nowadays.
+
+Abuse can be determined by your peers or by the grandmasters, so be careful.
+Abuse can be determined by your peers or by the grandmasters, so be careful.
+
+Academy Guard#EP
+Academy Guard#EP
+
+Acc. and Evade -25%%
+Acc. and Evade -25%%
+
+Accept
+Accept
+
+Accept offer?
+Accept offer?
+
+Accept quest?
+Accept quest?
+
+Access to basement was granted!
+Access to basement was granted!
+
+Accessories
+Accessories
+
+According to the Guide, space is ____?
+According to the Guide, space is ____?
+
+According to the Holy books of a parallel world, Christmas is an event to celebrate the birth of someone very important, the son of God, whom have the promised kingdom.
+According to the Holy books of a parallel world, Christmas is an event to celebrate the birth of someone very important, the son of God, whom have the promised kingdom.
+
+According to the prophecy, he'll not stop, until life itself as we know today is removed from existence.
+According to the prophecy, he'll not stop, until life itself as we know today is removed from existence.
+
+Account Bound
+Account Bound
+
+Account Information
+Account Information
+
+Accumulate Power
+Accumulate Power
+
+Accuracy +25
+Accuracy +25
+
+Ace Ventura
+Ace Ventura
+
+Achievements
+Achievements
+
+Acknowledgment? What do you mean?
+Acknowledgment? What do you mean?
+
+Acorn
+Acorn
+
+Acorn Of Death
+Acorn Of Death
+
+Acquired: %s Monster Points
+Acquired: %s Monster Points
+
+Acquisition:
+Acquisition:
+
+Activate event?
+Activate event?
+
+Active
+Active
+
+Actually - Do you exchange goods even more illegal goods than this?
+Actually - Do you exchange goods even more illegal goods than this?
+
+Actually - Do you exchange illegal... research results?
+Actually - Do you exchange illegal... research results?
+
+Actually I'm responsible of dispatching mages to the Magic Academy.
+Actually I'm responsible of dispatching mages to the Magic Academy.
+
+Actually not.
+Actually not.
+
+Actually, Anwar offered me some ugly, bright orange pants. I thanked him, of course, I prefer this robe than... that.
+Actually, Anwar offered me some ugly, bright orange pants. I thanked him, of course, I prefer this robe than... that.
+
+Actually, I gotta go, see ya!
+Actually, I gotta go, see ya!
+
+Actually, I have bad luck. Could you sell me a box full of fresh fish?
+Actually, I have bad luck. Could you sell me a box full of fresh fish?
+
+Actually, I heard from Roger that you may need some help.
+Actually, I heard from Roger that you may need some help.
+
+Actually, I heard that on the cave north of me a great wizard died from a curse, but his staff would be available for any other wizard who looks.
+Actually, I heard that on the cave north of me a great wizard died from a curse, but his staff would be available for any other wizard who looks.
+
+Actually, I need help with reagents this time. Bring me a %s and a %s and I'll gladly warp you... again.
+Actually, I need help with reagents this time. Bring me a %s and a %s and I'll gladly warp you... again.
+
+Actually, I see you have some @@. Ever tried a bow before?
+Actually, I see you have some @@. Ever tried a bow before?
+
+Actually, a tutorial would be good!
+Actually, a tutorial would be good!
+
+Actually, about Fafi dragons...
+Actually, about Fafi dragons...
+
+Actually, about the Soul Eater...
+Actually, about the Soul Eater...
+
+Actually, can I return to Artis?
+Actually, can I return to Artis?
+
+Actually, could I ask you a favor?
+Actually, could I ask you a favor?
+
+Actually, have you ever heard of Yeti's kidnapping little girls?
+Actually, have you ever heard of Yeti's kidnapping little girls?
+
+Actually, he's just too lazy to add proper checks everywhere. If you try to cheat, you'll suffer some penalty.
+Actually, he's just too lazy to add proper checks everywhere. If you try to cheat, you'll suffer some penalty.
+
+Actually, nevermind. Good bye!
+Actually, nevermind. Good bye!
+
+Actually, nevermind. I'll wait you grind level 25 first, then we can do this.
+Actually, nevermind. I'll wait you grind level 25 first, then we can do this.
+
+Actually, nothing. Bye!
+Actually, nothing. Bye!
+
+Actually, the Dummy will not fight back. Are you afraid?
+Actually, the Dummy will not fight back. Are you afraid?
+
+Actually, using a byproduct of my other works and a few additional ingredients, I could make a %s
+Actually, using a byproduct of my other works and a few additional ingredients, I could make a %s
+
+Actually, you could be really useful testing Snake Poison. What do you think about that?
+Actually, you could be really useful testing Snake Poison. What do you think about that?
+
+Actually, you just took a bounty, right?
+Actually, you just took a bounty, right?
+
+Actually, you look strong...ish. Still, maybe you can help me.
+Actually, you look strong...ish. Still, maybe you can help me.
+
+Actually. Who are you again? A headache which doesn't want to pass strikes you.
+Actually. Who are you again? A headache which doesn't want to pass strikes you.
+
+Add a new line
+Add a new line
+
+Additional Hunting Island will be released on Valentine Day!
+Additional Hunting Island will be released on Valentine Day!
+
+Additionally, for the optimal experience, ensure your party has at least the following members and items:
+Additionally, for the optimal experience, ensure your party has at least the following members and items:
+
+Additionaly, all your movement will be restricted until either you're warped or log out.
+Additionaly, all your movement will be restricted until either you're warped or log out.
+
+Adrian
+Adrian
+
+Advanced Dungeon (Lv 80+)
+Advanced Dungeon (Lv 80+)
+
+Advanced Exchanger#0
+Advanced Exchanger
+
+Advanced Magic
+Advanced Magic
+
+Advanced Tricks
+Advanced Tricks
+
+Adventurer#0
+Adventurer
+
+Adventurer#1
+Adventurer
+
+Adventurer, did you brought me what I asked? I see you have @@/10 @@.#0
+Adventurer, did you brought me what I asked? I see you have @@/10 @@.
+
+Adventurer, did you brought me what I asked? I see you have @@/10 @@.#1
+Adventurer, did you brought me what I asked? I see you have @@/10 @@.
+
+Adventurer, did you brought me what I asked? I see you have @@/5 @@.#0
+Adventurer, did you brought me what I asked? I see you have @@/5 @@.
+
+Adventurer, did you brought me what I asked? I see you have @@/5 @@.#1
+Adventurer, did you brought me what I asked? I see you have @@/5 @@.
+
+Advised party size: From 3 and above
+Advised party size: From 3 and above
+
+Advised: 1+ mage, 1+ tanker, 2+ healers
+Advised: 1+ mage, 1+ tanker, 2+ healers
+
+Advised: 6+ players
+Advised: 6+ players
+
+Aegis Shield
+Aegis Shield
+
+Aegis with their steadfast shield, nigh impregnable;
+Aegis with their steadfast shield, nigh impregnable;
+
+Aeros Trader
+Aeros Trader
+
+Aethyr Points: %s
+Aethyr Points: %s
+
+After about 30 minutes AFK, you won't get EXP anymore.
+After about 30 minutes AFK, you won't get EXP anymore.
+
+After all the monsters in an area are defeated, they'll respawn at once. I know, that's not good, but well, nothing that can be done about it.
+After all the monsters in an area are defeated, they'll respawn at once. I know, that's not good, but well, nothing that can be done about it.
+
+After all, I am the Well Master!
+After all, I am the Well Master!
+
+After all, that was two nights ago, and none of them returned...
+After all, that was two nights ago, and none of them returned...
+
+After all, what would you do if it open a black hole on your head by accident? %%4
+After all, what would you do if it open a black hole on your head by accident? %%4
+
+After being successful is recovering Hurnscald and Nivalis from the Monster Army, they seem to have withdrawn.
+After being successful is recovering Hurnscald and Nivalis from the Monster Army, they seem to have withdrawn.
+
+After casting %s, you must wait %d seconds before casting it again.
+After casting %s, you must wait %d seconds before casting it again.
+
+After cleaning for twelve hours straight, they allowed me to rest a bit.
+After cleaning for twelve hours straight, they allowed me to rest a bit.
+
+After hours of hard work...
+After hours of hard work...
+
+After that, follow the path until you reach a great chamber...
+After that, follow the path until you reach a great chamber...
+
+After that, stay still and be patient, but also alert!
+After that, stay still and be patient, but also alert!
+
+After that, we're going to Tulimshar. Tulim is the most important city on the world, and the Alliance have an office there.
+After that, we're going to Tulimshar. Tulim is the most important city on the world, and the Alliance have an office there.
+
+After the Great Fire... you don't find our world's Elli ever again.
+After the Great Fire... you don't find our world's Elli ever again.
+
+After turning it upside down, it finds something which makes it really happy: %s! And there's nothing a teddy likes more than honey.
+After turning it upside down, it finds something which makes it really happy: %s! And there's nothing a teddy likes more than honey.
+
+After waiting for the oil to dry, he hands you the string.
+After waiting for the oil to dry, he hands you the string.
+
+After you have confirmed the negotiation, a window with a vertical split will appear. The left side are the items you intend to offer in trading. The right side are the items that the other citizen intends to offer in trading.
+After you have confirmed the negotiation, a window with a vertical split will appear. The left side are the items you intend to offer in trading. The right side are the items that the other citizen intends to offer in trading.
+
+After your questions I'm really getting worried about this guy with the mask. In retrospect it really seems suspicous.
+After your questions I'm really getting worried about this guy with the mask. In retrospect it really seems suspicous.
+
+Again, you don't need to do both right now, but you probably will want to. Once you have a stable alternative income, I'll have... This paperwork sorted.
+Again, you don't need to do both right now, but you probably will want to. Once you have a stable alternative income, I'll have... This paperwork sorted.
+
+Aggressors always know when they are in danger! Therefore, they are always on standby, attacking anyone who appears ahead.
+Aggressors always know when they are in danger! Therefore, they are always on standby, attacking anyone who appears ahead.
+
+Agi Potion
+Agi Potion
+
+Agi+ Potion
+Agi+ Potion
+
+Agi++ Potion
+Agi++ Potion
+
+Agility
+Agility
+
+Agility Fruit
+Agility Fruit
+
+Agostine
+Agostine
+
+Agostine takes the fur from your hands.
+Agostine takes the fur from your hands.
+
+Agostine, the Legendary Tailor
+Agostine, the Legendary Tailor
+
+Ah no... That's not what I had to do... I wasted the potion...
+Ah no... That's not what I had to do... I wasted the potion...
+
+Ah yes... I make fine @@...
+Ah yes... I make fine @@...
+
+Ah!
+Ah!
+
+Ah! @@! I heard you helped Hinnak with his Pinkies problem!
+Ah! @@! I heard you helped Hinnak with his Pinkies problem!
+
+Ah! @@. A very rare drop!
+Ah! @@. A very rare drop!
+
+Ah! Actually nobody found one.
+Ah! Actually nobody found one.
+
+Ah! Greedy humans! Couldn't we happy with little?
+Ah! Greedy humans! Couldn't we happy with little?
+
+Ah! Greedy humans! End this war which our greed has stroke!
+Ah! Greedy humans! End this war which our greed has stroke!
+
+Ah! Greedy humans! How ignorant were we, to ever do that?
+Ah! Greedy humans! How ignorant were we, to ever do that?
+
+Ah! Greedy humans! Just how big is our greed?
+Ah! Greedy humans! Just how big is our greed?
+
+Ah! Greedy humans! Stand up to save our world!
+Ah! Greedy humans! Stand up to save our world!
+
+Ah! Greedy humans! The Monster War will now rage the globe!
+Ah! Greedy humans! The Monster War will now rage the globe!
+
+Ah! Greedy humans! Things will never be as they used to be!
+Ah! Greedy humans! Things will never be as they used to be!
+
+Ah! Greedy humans! We pay the price for our actions,
+Ah! Greedy humans! We pay the price for our actions,
+
+Ah! Greedy humans! Why did we had to fight?
+Ah! Greedy humans! Why did we had to fight?
+
+Ah! Greedy humans! Why had we to desire?
+Ah! Greedy humans! Why had we to desire?
+
+Ah! I also want @@ @@.
+Ah! I also want @@ @@.
+
+Ah! I know. Kill 10 @@. They are usually found in the fields, feeding on the crops.
+Ah! I know. Kill 10 @@. They are usually found in the fields, feeding on the crops.
+
+Ah! I know. Kill 10 @@. They usually are near the mine's inn.
+Ah! I know. Kill 10 @@. They usually are near the mine's inn.
+
+Ah, %s, a good thing you're here. You must help!
+Ah, %s, a good thing you're here. You must help!
+
+Ah, @@ is so amazing!
+Ah, @@ is so amazing!
+
+Ah, @@ is sooo amazing!
+Ah, @@ is sooo amazing!
+
+Ah, @@ seems to be behind the @@ schedule again...
+Ah, @@ seems to be behind the @@ schedule again...
+
+Ah, @@! I'm busy now, can we talk again later?
+Ah, @@! I'm busy now, can we talk again later?
+
+Ah, @@, good thing you are here.
+Ah, @@, good thing you are here.
+
+Ah, @@, my friend! Are you here to help us with 5 @@? Or perhaps you have 5 more @@ to show that Hurnscald is getting safer?
+Ah, @@, my friend! Are you here to help us with 5 @@? Or perhaps you have 5 more @@ to show that Hurnscald is getting safer?
+
+Ah, @@, welcome!
+Ah, @@, welcome!
+
+Ah, Halinarzo... Dangerous place. Tulimshar route is plagued with snakes, Hurnscald route is more often than not flooded.
+Ah, Halinarzo... Dangerous place. Tulimshar route is plagued with snakes, Hurnscald route is more often than not flooded.
+
+Ah, Hasan... Sorry pal, afraid I can't do anything for you. Try talking to his mother Sorfina, she is in Mahoud's house, near the Inn.#0
+Ah, Hasan... Sorry pal, afraid I can't do anything for you. Try talking to his mother Sorfina, she is in Mahoud's house, near the Inn.
+
+Ah, Hasan... Sorry pal, afraid I can't do anything for you. Try talking to his mother Sorfina, she is in Mahoud's house, near the Inn.#1
+Ah, Hasan... Sorry pal, afraid I can't do anything for you. Try talking to his mother Sorfina, she is in Mahoud's house, near the Inn.
+
+Ah, I am lively again. I wish I could just raise from this bed and do some exercise, but the Nurse refuses to let me go.
+Ah, I am lively again. I wish I could just raise from this bed and do some exercise, but the Nurse refuses to let me go.
+
+Ah, I can also cure you, if you need.
+Ah, I can also cure you, if you need.
+
+Ah, I guess you want to fight at the cave north of me...
+Ah, I guess you want to fight at the cave north of me...
+
+Ah, I hate mushrooms. Perhaps in future, I could use their spikes and mushies.
+Ah, I hate mushrooms. Perhaps in future, I could use their spikes and mushies.
+
+Ah, I hate snakes. Perhaps in future, I could use their tongues.
+Ah, I hate snakes. Perhaps in future, I could use their tongues.
+
+Ah, I have enough @@ for a life! Take this EXTREMELY RARE @@. Good job!
+Ah, I have enough @@ for a life! Take this EXTREMELY RARE @@. Good job!
+
+Ah, I just wanted @@... Yummy, lovely @@...
+Ah, I just wanted @@... Yummy, lovely @@...
+
+Ah, I love mouboos. But their steaks, hmm. Ah, no, I shouldn't eat that...
+Ah, I love mouboos. But their steaks, hmm. Ah, no, I shouldn't eat that...
+
+Ah, I see you have some used gloves. I'm not sure if you can even mine with it...
+Ah, I see you have some used gloves. I'm not sure if you can even mine with it...
+
+Ah, I see, I imagine you'll wear something different then... But please come back.
+Ah, I see, I imagine you'll wear something different then... But please come back.
+
+Ah, I wish I got something for helping people out...
+Ah, I wish I got something for helping people out...
+
+Ah, I wonder how my mother Swezanne is faring...
+Ah, I wonder how my mother Swezanne is faring...
+
+Ah, Peetu. I really appreciate his sense for high quality work. The requirements to become a helper of a sage are already high, but Peetu is outstanding. He has a talent for magic and combined with his diligence, it's quite remarkable.
+Ah, Peetu. I really appreciate his sense for high quality work. The requirements to become a helper of a sage are already high, but Peetu is outstanding. He has a talent for magic and combined with his diligence, it's quite remarkable.
+
+Ah, Sunday. What better time to go to church?
+Ah, Sunday. What better time to go to church?
+
+Ah, but don't distress them if you can't save her! My precious daughter life is more important than anything!
+Ah, but don't distress them if you can't save her! My precious daughter life is more important than anything!
+
+Ah, don't bother me with that. That wood must be special, it must bend and cannot break. Too difficult to find!
+Ah, don't bother me with that. That wood must be special, it must bend and cannot break. Too difficult to find!
+
+Ah, fighting monsters under this desert heat makes me thirsty. But someone must do this job, otherwise Tulimshar could fall.
+Ah, fighting monsters under this desert heat makes me thirsty. But someone must do this job, otherwise Tulimshar could fall.
+
+Ah, getting experience is hard, too... I would stay within the city. Hit and Run tactics works the best.
+Ah, getting experience is hard, too... I would stay within the city. Hit and Run tactics works the best.
+
+Ah, good. You didn't even bother poisoning it? Hahah, that's great, %s! Here is a couple skins I had lying around, may be useful.
+Ah, good. You didn't even bother poisoning it? Hahah, that's great, %s! Here is a couple skins I had lying around, may be useful.
+
+Ah, hello there! I am @@, a Redy alchemist.
+Ah, hello there! I am @@, a Redy alchemist.
+
+Ah, hello there, funny face! Do you want to refine items?
+Ah, hello there, funny face! Do you want to refine items?
+
+Ah, hello! It is good to see another traveler in this town!
+Ah, hello! It is good to see another traveler in this town!
+
+Ah, hello.
+Ah, hello.
+
+Ah, hello... is it @@? Nice to meet you!
+Ah, hello... is it @@? Nice to meet you!
+
+Ah, if Jack and that fisherman from Halinarzo still gave me materials...
+Ah, if Jack and that fisherman from Halinarzo still gave me materials...
+
+Ah, if it isn't @@? You're the talk of the town!
+Ah, if it isn't @@? You're the talk of the town!
+
+Ah, it is not the same. Not the same.
+Ah, it is not the same. Not the same.
+
+Ah, living in Halinarzo is so difficult...
+Ah, living in Halinarzo is so difficult...
+
+Ah, my daughter Silvia is so far away... But I don't want to leave the shade of this tree...
+Ah, my daughter Silvia is so far away... But I don't want to leave the shade of this tree...
+
+Ah, my husband Hinnak is so hard working...
+Ah, my husband Hinnak is so hard working...
+
+Ah, nice to know.
+Ah, nice to know.
+
+Ah, not now...
+Ah, not now...
+
+Ah, personally I don't use it?
+Ah, personally I don't use it?
+
+Ah, research points (RP). They are knowledge which can be used in honing your skills.
+Ah, research points (RP). They are knowledge which can be used in honing your skills.
+
+Ah, so LOF Bot wants a souvenir after all!
+Ah, so LOF Bot wants a souvenir after all!
+
+Ah, so you must be %s, the new guy! Yes, it is on the rooms upstairs. I'll bring you there, don't you worry a thing!
+Ah, so you must be %s, the new guy! Yes, it is on the rooms upstairs. I'll bring you there, don't you worry a thing!
+
+Ah, so you think you can fool me?
+Ah, so you think you can fool me?
+
+Ah, so you're willing to help? Great! Because I HATE THEM ALL!
+Ah, so you're willing to help? Great! Because I HATE THEM ALL!
+
+Ah, sorry, of course. I need quite a few herbs, look:
+Ah, sorry, of course. I need quite a few herbs, look:
+
+Ah, that was tiresome... I'll go make a reward for them, talk to me again later.
+Ah, that was tiresome... I'll go make a reward for them, talk to me again later.
+
+Ah, the Professors will get mad at me again...
+Ah, the Professors will get mad at me again...
+
+Ah, the kids are playing hide and seek, but I am afraid they went too far. A monster attack could start anytime, after all.
+Ah, the kids are playing hide and seek, but I am afraid they went too far. A monster attack could start anytime, after all.
+
+Ah, the originals. Had the displeasure to met a few of them in the past and in the future with my time machine.
+Ah, the originals. Had the displeasure to met a few of them in the past and in the future with my time machine.
+
+Ah, there are lots on the miners cave.
+Ah, there are lots on the miners cave.
+
+Ah, there are lots with Melina, downstairs.
+Ah, there are lots with Melina, downstairs.
+
+Ah, traveller! I am Lilica the Scary Bunny! I exchange many @@ and @@ for neat rewards!#0
+Ah, traveller! I am Lilica the Scary Bunny! I exchange many @@ and @@ for neat rewards!
+
+Ah, traveller! I am Lilica the Scary Bunny! I exchange many @@ and @@ for neat rewards!#1
+Ah, traveller! I am Lilica the Scary Bunny! I exchange many @@ and @@ for neat rewards!
+
+Ah, uhm, I'm not sure. We at Candor don't need much.
+Ah, uhm, I'm not sure. We at Candor don't need much.
+
+Ah, we have serious problems of robbery. I need someone really strong to help me, and you don't qualify.
+Ah, we have serious problems of robbery. I need someone really strong to help me, and you don't qualify.
+
+Ah, welcome @@. You have @@ Contributor Points.
+Ah, welcome @@. You have @@ Contributor Points.
+
+Ah, welcome. Please, don't be afraid of my look, Saulc GM assigned me to here.
+Ah, welcome. Please, don't be afraid of my look, Saulc GM assigned me to here.
+
+Ah, what a wonderful day.
+Ah, what a wonderful day.
+
+Ah, wonderful! This is a page we haven't found yet!
+Ah, wonderful! This is a page we haven't found yet!
+
+Ah, yes... You see, there is just no task I can give to you right now. ##BYou are too weak to fight monsters.##b
+Ah, yes... You see, there is just no task I can give to you right now. ##BYou are too weak to fight monsters.##b
+
+Ah, yes... You see, there is just no task I can give to you right now. You are too weak to fight these monsters.
+Ah, yes... You see, there is just no task I can give to you right now. You are too weak to fight these monsters.
+
+Ah, you might have seen a treasure chest on the mines. There are several of these chests to loot, and loot again! Here is a @@. Try it!
+Ah, you might have seen a treasure chest on the mines. There are several of these chests to loot, and loot again! Here is a @@. Try it!
+
+Ah, you really deserve this @@. Good job!
+Ah, you really deserve this @@. Good job!
+
+Ah, you'll find on the Land Of Fire Village four transcendence gates.
+Ah, you'll find on the Land Of Fire Village four transcendence gates.
+
+Ah.
+Ah.
+
+Ah... A @@. The sturdiest from all mushroom, and very, very rare.
+Ah... A @@. The sturdiest from all mushroom, and very, very rare.
+
+Ah... I need more beer to keep going... This is so awful...
+Ah... I need more beer to keep going... This is so awful...
+
+Ah... I see. You are a lost soul, without parents, lost on the world with only some basic stuff.
+Ah... I see. You are a lost soul, without parents, lost on the world with only some basic stuff.
+
+Ah... Santa's helpers sure eat a lot. I'm sure gift delivery is hard for them.
+Ah... Santa's helpers sure eat a lot. I'm sure gift delivery is hard for them.
+
+Ah... Slimes... Sorry, not my cup of tea...
+Ah... Slimes... Sorry, not my cup of tea...
+
+Ah... Sorry, your name is not on the contributor list.
+Ah... Sorry, your name is not on the contributor list.
+
+Ah... The mayor. The current mayor. Why do you even want to talk to him, anyway?
+Ah... The mayor. The current mayor. Why do you even want to talk to him, anyway?
+
+Ah... Was I warped?
+Ah... Was I warped?
+
+Ah... Well, ok. I'll do the powder for you, but you still need to bring me the material.
+Ah... Well, ok. I'll do the powder for you, but you still need to bring me the material.
+
+Ah... What is happening to meeeeeeee?
+Ah... What is happening to meeeeeeee?
+
+Ah... You did it!
+Ah... You did it!
+
+Ah... You have one too. Be careful with it, please. Many people lost their lives because they didn't handled that correctly.
+Ah... You have one too. Be careful with it, please. Many people lost their lives because they didn't handled that correctly.
+
+Ah...! POLICE! POLICE! Quick, send this cheating thief to jail!!
+Ah...! POLICE! POLICE! Quick, send this cheating thief to jail!!
+
+Aha! I knew you were a boring person...
+Aha! I knew you were a boring person...
+
+Aha! So that's what it was! The map was hiding its secrets in drawings made with acid. An old technique... But a very useful one.
+Aha! So that's what it was! The map was hiding its secrets in drawings made with acid. An old technique... But a very useful one.
+
+Ahahahah, do you really think I'll accept legs if you don't help me cleaning my fields?
+Ahahahah, do you really think I'll accept legs if you don't help me cleaning my fields?
+
+Ahh, he'll be so happy! Thanks! You can keep this.
+Ahh, he'll be so happy! Thanks! You can keep this.
+
+Ahh, that's a pity... Well, just talk to me with enough money and I'll gladly fix that for you! %%0
+Ahh, that's a pity... Well, just talk to me with enough money and I'll gladly fix that for you! %%0
+
+Ahh, too many items. Sorry.
+Ahh, too many items. Sorry.
+
+Ahoi.
+Ahoi.
+
+Ahoy matey!
+Ahoy matey!
+
+Ahoy! Hey, you, new person! Could you come here?!
+Ahoy! Hey, you, new person! Could you come here?!
+
+Ahoy, @@!
+Ahoy, @@!
+
+Aidan
+Aidan
+
+Aidan and Pet Detective
+Aidan and Pet Detective
+
+Aidan, the Monster Guide
+Aidan, the Monster Guide
+
+Airlia
+Airlia
+
+Airlia told me you should lend me a Return Potion.
+Airlia told me you should lend me a Return Potion.
+
+Airship
+Airship
+
+Aisen Card
+Aisen Card
+
+Alaion
+Alaion
+
+Alan
+Alan
+
+Alchemist Armor
+Alchemist Armor
+
+Alchemist Helmet
+Alchemist Helmet
+
+Alchemy
+Alchemy
+
+Alchemy Blueprint A
+Alchemy Blueprint A
+
+Alchemy Blueprint B
+Alchemy Blueprint B
+
+Alchemy Blueprint C
+Alchemy Blueprint C
+
+Alchemy Blueprint D
+Alchemy Blueprint D
+
+Alchemy Blueprint E
+Alchemy Blueprint E
+
+Alchemy Cauldron
+Alchemy Cauldron
+
+Alchemy Master Challenge
+Alchemy Master Challenge
+
+Alchemy Recipes
+Alchemy Recipes
+
+Alchemy Recipes.
+Alchemy Recipes.
+
+Alchemy Set#MKHB
+Alchemy Set#MKHB
+
+Alchemy Shop
+Alchemy Shop
+
+Alchemy Table brewing
+Alchemy Table brewing
+
+Alchemy Table:
+Alchemy Table:
+
+Alchemy. The art of having quasi-magical effects without magic.
+Alchemy. The art of having quasi-magical effects without magic.
+
+Alcohol effects expire upon death. You need vitality to drink more beer.
+Alcohol effects expire upon death. You need vitality to drink more beer.
+
+Alicia
+Alicia
+
+Alige
+Alige
+
+Alige hands you an old paper patch.
+Alige hands you an old paper patch.
+
+Alizarin Herb
+Alizarin Herb
+
+Alizarin Plant
+Alizarin Plant
+
+All I can say is that you were born there, and moved by the age of 4, but to where? I don't know.
+All I can say is that you were born there, and moved by the age of 4, but to where? I don't know.
+
+All In One
+All In One
+
+All Peetu have been doing the past hours was crying, and crying, and crying some more. I can't barely sleep hearing his cries from my room.
+All Peetu have been doing the past hours was crying, and crying, and crying some more. I can't barely sleep hearing his cries from my room.
+
+All Stats +1
+All Stats +1
+
+All Stats +1, Agi +5
+All Stats +1, Agi +5
+
+All Stats +1, Block +2%
+All Stats +1, Block +2%
+
+All Stats +1, MDEF +30%
+All Stats +1, MDEF +30%
+
+All Stats +1, Max HP +1%
+All Stats +1, Max HP +1%
+
+All Stats +1, Max HP +1%, Max MP +5%
+All Stats +1, Max HP +1%, Max MP +5%
+
+All Stats +1, Vit +2
+All Stats +1, Vit +2
+
+All Stats +2
+All Stats +2
+
+All Stats +5
+All Stats +5
+
+All Stats temporarily raised!
+All Stats temporarily raised!
+
+All arenas stay open for only 30 minutes after being purchased.
+All arenas stay open for only 30 minutes after being purchased.
+
+All black scorpions are dead! Go back to Tycoon.
+All black scorpions are dead! Go back to Tycoon.
+
+All candor scorpions are dead!
+All candor scorpions are dead!
+
+All cave maggots are dead! Go back to Tycoon.
+All cave maggots are dead! Go back to Tycoon.
+
+All cave snakes are dead! Go back to Tycoon.
+All cave snakes are dead! Go back to Tycoon.
+
+All cheaters must die.
+All cheaters must die.
+
+All four Dungeons must be completed.
+All four Dungeons must be completed.
+
+All hail @@ and Andrei Sakar, heroes of the world!
+All hail @@ and Andrei Sakar, heroes of the world!
+
+All hail the ones who proven their worth before the whole Alliance!
+All hail the ones who proven their worth before the whole Alliance!
+
+All hope was lost. We failed to protect it. We lost everyone who challenged the Monster King. Killed without mercy.
+All hope was lost. We failed to protect it. We lost everyone who challenged the Monster King. Killed without mercy.
+
+All house maggots are dead!
+All house maggots are dead!
+
+All leaderboards are refreshed hourly.
+All leaderboards are refreshed hourly.
+
+All maggots are dead!
+All maggots are dead!
+
+All mana bugs are dead!
+All mana bugs are dead!
+
+All monsters may drop chocolate during this period. And here is one for you!
+All monsters may drop chocolate during this period. And here is one for you!
+
+All monsters summoned!
+All monsters summoned!
+
+All my parents, grandparents, until the world was born, are from Tulimshar.
+All my parents, grandparents, until the world was born, are from Tulimshar.
+
+All of my money.
+All of my money.
+
+All quests expire at 00:00 server time, be sure to finish AND report back before that!
+All quests expire at 00:00 server time, be sure to finish AND report back before that!
+
+All rattos are dead! Go back to Tycoon.
+All rattos are dead! Go back to Tycoon.
+
+All red scorpions are dead! Go back to Tycoon.
+All red scorpions are dead! Go back to Tycoon.
+
+All scoreboards are refreshed hourly.
+All scoreboards are refreshed hourly.
+
+All scorpions are dead!
+All scorpions are dead!
+
+All she told me was that I needed to visit Halinarzo, but was too weak, and should look for you instead.
+All she told me was that I needed to visit Halinarzo, but was too weak, and should look for you instead.
+
+All spring it is the same thing... The instruments stop working!
+All spring it is the same thing... The instruments stop working!
+
+All the %ss have become a real nuisance to the citizens and people are getting stung more often now.
+All the %ss have become a real nuisance to the citizens and people are getting stung more often now.
+
+All this seems unimportant to you right now.
+All this seems unimportant to you right now.
+
+All torches are lit!
+All torches are lit!
+
+All warp technology, be it crystal-based, potion-based, or mechanic-based, relies on timespace distortions.
+All warp technology, be it crystal-based, potion-based, or mechanic-based, relies on timespace distortions.
+
+All you need to do then is walk outside, enter on the biggest house, and talk to the Trainer. He'll teach you everything.
+All you need to do then is walk outside, enter on the biggest house, and talk to the Trainer. He'll teach you everything.
+
+Alliance Guard
+Alliance Guard
+
+Alliance Hero#FoS
+Alliance Hero#FoS
+
+Alliance Officer
+Alliance Officer
+
+Alliance members (sponsors) are allowed inside the Council Room.
+Alliance members (sponsors) are allowed inside the Council Room.
+
+Alliance members are those who [@@https://patreon.com/TMW2|sponsor us@@].
+Alliance members are those who [@@https://patreon.com/TMW2|sponsor us@@].
+
+Alliance members are those who [@@https://tmw2.org/contact|sponsor us@@].
+Alliance members are those who [@@https://tmw2.org/contact|sponsor us@@].
+
+Allowed
+Allowed
+
+Allows to attack right after casting.
+Allows to attack right after casting.
+
+Almanac
+Almanac
+
+Almost all creatures drop useful items when defeated. To get the dropped item press the 'Z' key next to the item or click the primary button on the item.
+Almost all creatures drop useful items when defeated. To get the dropped item press the 'Z' key next to the item or click the primary button on the item.
+
+Almost all documents were lost, destroyed or damaged. I cannot even find your parents name.
+Almost all documents were lost, destroyed or damaged. I cannot even find your parents name.
+
+Almost there! The War Lord will be proud with this new armor I am inventing for him! Just a little more...!
+Almost there! The War Lord will be proud with this new armor I am inventing for him! Just a little more...!
+
+Alone
+Alone
+
+Alpha Mouboo
+Alpha Mouboo
+
+Alpha Mouboo Hat
+Alpha Mouboo Hat
+
+Alright, I don't like PVP anyways...
+Alright, I don't like PVP anyways...
+
+Alright, I have them here!
+Alright, I have them here!
+
+Alright, I will help.
+Alright, I will help.
+
+Alright, I'll look in the archives. I'll have an answer for you in @@. Meanwhile, why don't you suppress the bandits on the cliff?
+Alright, I'll look in the archives. I'll have an answer for you in @@. Meanwhile, why don't you suppress the bandits on the cliff?
+
+Alright, I'll pay.
+Alright, I'll pay.
+
+Alright, I'll show up later. Thanks for calling me. Here's 1000 GP for your efforts.
+Alright, I'll show up later. Thanks for calling me. Here's 1000 GP for your efforts.
+
+Alright, PARTY TIME!
+Alright, PARTY TIME!
+
+Alright, good bye.
+Alright, good bye.
+
+Alright, you've not only proven your worth, but you've went through most monsters in the desert close to the town.
+Alright, you've not only proven your worth, but you've went through most monsters in the desert close to the town.
+
+Alright.
+Alright.
+
+Alright. A new world. What mysteries await for me behind that wooden door?
+Alright. A new world. What mysteries await for me behind that wooden door?
+
+Alright. I wish you good luck in your studies.
+Alright. I wish you good luck in your studies.
+
+Alright. Listen, you'll need %s to summon it, and you cannot be alone. I only have so much of that to share, so be careful to don't use all.
+Alright. Listen, you'll need %s to summon it, and you cannot be alone. I only have so much of that to share, so be careful to don't use all.
+
+Alright. Now to give your quest. But not now, you're still weak. Come back later, will you.
+Alright. Now to give your quest. But not now, you're still weak. Come back later, will you.
+
+Alright. Then please don't go too deep on the library, it is dangerous.
+Alright. Then please don't go too deep on the library, it is dangerous.
+
+Alright... Bye.
+Alright... Bye.
+
+Also in honor of @@, who did a great act of bravery recently. May they keep protecting our world!
+Also in honor of @@, who did a great act of bravery recently. May they keep protecting our world!
+
+Also in honor of the other two sages, %s and %s. And finally, notable mention for the noble %s, %s and %s, for sponsoring this Academy.
+Also in honor of the other two sages, %s and %s. And finally, notable mention for the noble %s, %s and %s, for sponsoring this Academy.
+
+Also known as TMW2 Day, it celebrates the server founding,
+Also known as TMW2 Day, it celebrates the server founding,
+
+Also near the market, look for %s. He is the chief of the City Guard. Ask if he need help, and help him!
+Also near the market, look for %s. He is the chief of the City Guard. Ask if he need help, and help him!
+
+Also note that if you are in overweight, your natural regen will halt. 90% in weight, and you won't be able to attack.
+Also note that if you are in overweight, your natural regen will halt. 90% in weight, and you won't be able to attack.
+
+Also note that, under team's discretion, all rewards from this quest might be erasen along quest state.
+Also note that, under team's discretion, all rewards from this quest might be erasen along quest state.
+
+Also worth mentioning is how to improve your ability to shoot fast. You need to be agile to grab a new arrow from your quiver and aim for the next shot before your enemy has recovered from your last.
+Also worth mentioning is how to improve your ability to shoot fast. You need to be agile to grab a new arrow from your quiver and aim for the next shot before your enemy has recovered from your last.
+
+Also you can ask how much he already save for you by checking your balance.
+Also you can ask how much he already save for you by checking your balance.
+
+Also your strength doesn't matter much. It helps you to carry more arrows with you, but nothing a few trips to the store won't do.
+Also your strength doesn't matter much. It helps you to carry more arrows with you, but nothing a few trips to the store won't do.
+
+Also, Halinarzo is famous for the depleted mana mines in the town. You probably won't find a mana stone there, but it might be cool to look.
+Also, Halinarzo is famous for the depleted mana mines in the town. You probably won't find a mana stone there, but it might be cool to look.
+
+Also, I believe hard work always pay off.
+Also, I believe hard work always pay off.
+
+Also, I don't care if you don't like the @@. That's the weapon a true archer should use!
+Also, I don't care if you don't like the @@. That's the weapon a true archer should use!
+
+Also, I don't know what Sage will be their next target. I'm... A bit concerned with Sagratha. As she choose to live with wildlife and all, we sorta don't know a lot of what happens with her.
+Also, I don't know what Sage will be their next target. I'm... A bit concerned with Sagratha. As she choose to live with wildlife and all, we sorta don't know a lot of what happens with her.
+
+Also, I don't think we will be able to go back if we pick the wrong way.
+Also, I don't think we will be able to go back if we pick the wrong way.
+
+Also, I see you're a newly registered mage. Am I right?
+Also, I see you're a newly registered mage. Am I right?
+
+Also, Summer just started. Why not taking this opportunity to go Treasure Hunting?!
+Also, Summer just started. Why not taking this opportunity to go Treasure Hunting?!
+
+Also, Yetis can be crafty at times. I think someone on Hurnscald Household knew a lot about them, you might want to ask them if you ever feel struck.
+Also, Yetis can be crafty at times. I think someone on Hurnscald Household knew a lot about them, you might want to ask them if you ever feel struck.
+
+Also, do you have the stolen item?
+Also, do you have the stolen item?
+
+Also, have a %s on the house!
+Also, have a %s on the house!
+
+Also, hidden in a forest which is not hot nor cold, is the Gold Pot Cauldron...
+Also, hidden in a forest which is not hot nor cold, is the Gold Pot Cauldron...
+
+Also, if I move away from the singularity during disarm process, it'll be lost.
+Also, if I move away from the singularity during disarm process, it'll be lost.
+
+Also, job levels get really hard to obtain after a while. The decision is up to you, just be aware there's that possibility.
+Also, job levels get really hard to obtain after a while. The decision is up to you, just be aware there's that possibility.
+
+Also, listen well, because there are traps and dangers on the whole way. Their leader sealed themselves in safety.
+Also, listen well, because there are traps and dangers on the whole way. Their leader sealed themselves in safety.
+
+Also, most monsters get enraged and will attack whoever is closest to them, regardless of anything else.
+Also, most monsters get enraged and will attack whoever is closest to them, regardless of anything else.
+
+Also, south of here are mines. Talk to Tycoon for information about it.
+Also, south of here are mines. Talk to Tycoon for information about it.
+
+Also, take this book so you don't forget the rules. You can always read it, or type ##B@rules##b on the chat.
+Also, take this book so you don't forget the rules. You can always read it, or type ##B@rules##b on the chat.
+
+Also, take this. It's time to you learn to craft your own weapon. Talk to Nicholas in Hurnscald forge to make an awesome @@. Or use it on some other craft, it is your choice.
+Also, take this. It's time to you learn to craft your own weapon. Talk to Nicholas in Hurnscald forge to make an awesome @@. Or use it on some other craft, it is your choice.
+
+Also, the Inn folks said the Ducks keep bothering them, but they've noticed a small decrease already.
+Also, the Inn folks said the Ducks keep bothering them, but they've noticed a small decrease already.
+
+Also, the more players survive, the better rewards will be given.
+Also, the more players survive, the better rewards will be given.
+
+Also, they can control the city taxes, which are applied upon purchases and sales within the town.
+Also, they can control the city taxes, which are applied upon purchases and sales within the town.
+
+Also, they level up when they attack, and can be revived with the right skill.
+Also, they level up when they attack, and can be revived with the right skill.
+
+Also, unlike regular magic which may cause delay before and after, Mana Magic usually only have a cooldown. But it is hard to know how long that cooldown is...
+Also, unlike regular magic which may cause delay before and after, Mana Magic usually only have a cooldown. But it is hard to know how long that cooldown is...
+
+Also, you need vitality and strength to survive the swimming trip. The closest island is very far away.
+Also, you need vitality and strength to survive the swimming trip. The closest island is very far away.
+
+Also, you'll get more experience by killing monsters stronger than you, and less experience by killing monsters weaker than you.
+Also, you'll get more experience by killing monsters stronger than you, and less experience by killing monsters weaker than you.
+
+Also...
+Also...
+
+Also: You'll be able to rebirth at Tulimshar with Jakod. What are you waiting for?!
+Also: You'll be able to rebirth at Tulimshar with Jakod. What are you waiting for?!
+
+Alternatively, %s, the World Hero, should also be able to do it.
+Alternatively, %s, the World Hero, should also be able to do it.
+
+Alternatively, I think someone at the Land Of Fire Village is able to refine some items. Why don't you try it sometime?
+Alternatively, I think someone at the Land Of Fire Village is able to refine some items. Why don't you try it sometime?
+
+Alternatively, download a bleeding edge build at [@@https://manaplus.germantmw.de/|https://manaplus.germantmw.de/@@]
+Alternatively, download a bleeding edge build at [@@https://manaplus.germantmw.de/|https://manaplus.germantmw.de/@@]
+
+Although I really want the Sailor's Hat, but daggers are dangerous for kids to play with.
+Although I really want the Sailor's Hat, but daggers are dangerous for kids to play with.
+
+Although KOLCHAK managed to rank first in almost every ranking, Jesusalva was too close, and the Crafting gave him the edge he needed to take first place.
+Although KOLCHAK managed to rank first in almost every ranking, Jesusalva was too close, and the Crafting gave him the edge he needed to take first place.
+
+Although the more powerful you are, the more money you will need.
+Although the more powerful you are, the more money you will need.
+
+Although this particular one seems to hate everyone and everything, it recognizes your strength.
+Although this particular one seems to hate everyone and everything, it recognizes your strength.
+
+Alvasus
+Alvasus
+
+Alvasus Pendant
+Alvasus Pendant
+
+Always a pleasure to help.
+Always a pleasure to help.
+
+Always use %s
+Always use %s
+
+Amazing. Five gifts for all. With 3200, we could supply nomad tribes...
+Amazing. Five gifts for all. With 3200, we could supply nomad tribes...
+
+Amazing. I think you found all the missing pages of which we didn't have a copy. This is a great help! I'll mention this to Nikolai.
+Amazing. I think you found all the missing pages of which we didn't have a copy. This is a great help! I'll mention this to Nikolai.
+
+Amelia
+Amelia
+
+Amelia looks much more cheerful than the last time you've met her.
+Amelia looks much more cheerful than the last time you've met her.
+
+Amethyst
+Amethyst
+
+Amethyst (+2 dex)
+Amethyst (+2 dex)
+
+Amethyst Bif
+Amethyst Bif
+
+Amethyst Powder
+Amethyst Powder
+
+Ammo? I prefer power gloves! That is useless for me!
+Ammo? I prefer power gloves! That is useless for me!
+
+Amount?
+Amount?
+
+An Airship? It is just a ship. Which flies.
+An Airship? It is just a ship. Which flies.
+
+An academy was built north of Tulimshar, and later, the Land of Fire Village was also built, symbol of progress, development and research.
+An academy was built north of Tulimshar, and later, the Land of Fire Village was also built, symbol of progress, development and research.
+
+An account may vote anywhere, but only once per town (weekly).
+An account may vote anywhere, but only once per town (weekly).
+
+An assassin
+An assassin
+
+An emergency skill which temporarily raises all your stats.
+An emergency skill which temporarily raises all your stats.
+
+An error happened: professor_was_assasinated() error
+An error happened: professor_was_assasinated() error
+
+An error happened: unitwalk failed
+An error happened: unitwalk failed
+
+An error on your travel happened. Please report.
+An error on your travel happened. Please report.
+
+An error on your travel time happened. Please report.
+An error on your travel time happened. Please report.
+
+An error with Stranger#LoF happened! Please report!!
+An error with Stranger#LoF happened! Please report!!
+
+An event is happening at Aeros! Hurry up!
+An event is happening at Aeros! Hurry up!
+
+An event to prepare for the Steam Release
+An event to prepare for the Steam Release
+
+An example is dec agi, which lowers your agility.
+An example is dec agi, which lowers your agility.
+
+An unlimited number of members can join.
+An unlimited number of members can join.
+
+An upgrade is available.
+An upgrade is available.
+
+Ancient Blueprint
+Ancient Blueprint
+
+Ancient Shield
+Ancient Shield
+
+Ancient Sword
+Ancient Sword
+
+And Demure, the Queen of Dragons.
+And Demure, the Queen of Dragons.
+
+And I'm not talking only about humans here! But perhaps, if you build a good reputation, she teaches you something.
+And I'm not talking only about humans here! But perhaps, if you build a good reputation, she teaches you something.
+
+And a commission of @@/@@ GP.
+And a commission of @@/@@ GP.
+
+And a great threat they shall defeat.
+And a great threat they shall defeat.
+
+And a lot of pages are missing, since most of the slimes escaped. I suppose we'll have to go out and hunt them once we're done here. Unless someone else hunt them for us.
+And a lot of pages are missing, since most of the slimes escaped. I suppose we'll have to go out and hunt them once we're done here. Unless someone else hunt them for us.
+
+And a special coupon section to get rare items for little or no money!
+And a special coupon section to get rare items for little or no money!
+
+And again, and again, again.
+And again, and again, again.
+
+And again, and again.
+And again, and again.
+
+And again.
+And again.
+
+And also in notable mention of those who [@@https://moubootaurlegends.org/en/community|sponsor@@] the Alliance and its administrative structure.
+And also in notable mention of those who [@@https://moubootaurlegends.org/en/community|sponsor@@] the Alliance and its administrative structure.
+
+And also in notable mention of those who [@@https://www.patreon.com/TMW2|sponsor@@] the Alliance and its administrative structure.
+And also in notable mention of those who [@@https://www.patreon.com/TMW2|sponsor@@] the Alliance and its administrative structure.
+
+And anyone like you probably already knows that, well... Cookies are life!
+And anyone like you probably already knows that, well... Cookies are life!
+
+And brought peace to the land.
+And brought peace to the land.
+
+And by "moved to the canyon", I do mean it destroyed the little which kept our community alive back then. I heard the fire even moved to the icelands and burned everything on the path until it died at the frozen sea, but that would be too far for I know.
+And by "moved to the canyon", I do mean it destroyed the little which kept our community alive back then. I heard the fire even moved to the icelands and burned everything on the path until it died at the frozen sea, but that would be too far for I know.
+
+And by last, to speak to everyone online, besides whoever might be idling on Discord, select the '#world' tab.
+And by last, to speak to everyone online, besides whoever might be idling on Discord, select the '#world' tab.
+
+And during that time, item dropped was bugged! We wanted to deliver you a token of apology!
+And during that time, item dropped was bugged! We wanted to deliver you a token of apology!
+
+And guess what? They have a King of their own!
+And guess what? They have a King of their own!
+
+And have you thought in the cause?
+And have you thought in the cause?
+
+And help to obtain they were able.
+And help to obtain they were able.
+
+And here's a rare for you, a @@! Good job!
+And here's a rare for you, a @@! Good job!
+
+And his sister,
+And his sister,
+
+And how do you feel about that?
+And how do you feel about that?
+
+And if I end back here, I'll prove the planet is round! This is the perfect plan! %s GP to ride with me TO GLORY!
+And if I end back here, I'll prove the planet is round! This is the perfect plan! %s GP to ride with me TO GLORY!
+
+And if the item breaks, that is definitive - no repair is possible. What to refine?
+And if the item breaks, that is definitive - no repair is possible. What to refine?
+
+And if the item breaks, that's your loss. What to refine?
+And if the item breaks, that's your loss. What to refine?
+
+And if you bring me 1 @@ and 440 GP, I can make a @@ for you.
+And if you bring me 1 @@ and 440 GP, I can make a @@ for you.
+
+And if you listen to Tulimshar's Professor lecture wearing it, you'll gain more experience!
+And if you listen to Tulimshar's Professor lecture wearing it, you'll gain more experience!
+
+And if you study them well, you'll also gain more Research Points than you would get with other skills.
+And if you study them well, you'll also gain more Research Points than you would get with other skills.
+
+And if your family, real or adoptive, was coward, there would be no lead at all.
+And if your family, real or adoptive, was coward, there would be no lead at all.
+
+And in a hut, a lone woman mourned my death.
+And in a hut, a lone woman mourned my death.
+
+And in all these years, I've never seen him messing up anything important. He's a perfectionist. He isn't satisfied with anything less than the best possible result when doing his work.
+And in all these years, I've never seen him messing up anything important. He's a perfectionist. He isn't satisfied with anything less than the best possible result when doing his work.
+
+And in honor of all brave LoF players, to be known to all, the fluffly hunters.
+And in honor of all brave LoF players, to be known to all, the fluffly hunters.
+
+And it might be changed in a future patch %%g
+And it might be changed in a future patch %%g
+
+And now I'm going to lose my job and I'll have to leave here and no other sage would give me a new appointment and I don't know what else to do!
+And now I'm going to lose my job and I'll have to leave here and no other sage would give me a new appointment and I don't know what else to do!
+
+And now... Somber time is over! Time to get back to drinking! Yaaaay!!
+And now... Somber time is over! Time to get back to drinking! Yaaaay!!
+
+And obviously, Professor Volrtaw assigned me to investigate! Look at me, do I look like an investigator to you? But, he told me I could pick any student to help me! And I choose you!
+And obviously, Professor Volrtaw assigned me to investigate! Look at me, do I look like an investigator to you? But, he told me I could pick any student to help me! And I choose you!
+
+And once they entrust you with what is important for them, they'll pay better. Here is 700 GP. Come back later.
+And once they entrust you with what is important for them, they'll pay better. Here is 700 GP. Come back later.
+
+And one last thing I'll want. See these @@? I don't like them, so I'll have you to kill 40 of them for me.
+And one last thing I'll want. See these @@? I don't like them, so I'll have you to kill 40 of them for me.
+
+And one more thing...
+And one more thing...
+
+And please, bring those criminals to justice! Barbara and the Assassin!
+And please, bring those criminals to justice! Barbara and the Assassin!
+
+And rejoice will come from their feats.
+And rejoice will come from their feats.
+
+And remember: If it was easy, I would be wielding it right now. Instead, I use a %s. So take courage.
+And remember: If it was easy, I would be wielding it right now. Instead, I use a %s. So take courage.
+
+And some from the Grand Hunter Quests give you @@, which can be traded with the travelers for rares! Good luck!
+And some from the Grand Hunter Quests give you @@, which can be traded with the travelers for rares! Good luck!
+
+And some of the shop items can be found as drops or in quests!
+And some of the shop items can be found as drops or in quests!
+
+And some times, more Fafi dragons come... Don't neglect your aid.
+And some times, more Fafi dragons come... Don't neglect your aid.
+
+And the lightbringer,
+And the lightbringer,
+
+And the runes wait for the grave to be found.
+And the runes wait for the grave to be found.
+
+And then you notice the small teddy is opening and closing the lid of this pot repeated times, as if it were looking for something.
+And then you notice the small teddy is opening and closing the lid of this pot repeated times, as if it were looking for something.
+
+And then, it was no more! It vanished! In a matter of minutes the slimes were all over the library. A good thing they are slow, none escaped to the town.
+And then, it was no more! It vanished! In a matter of minutes the slimes were all over the library. A good thing they are slow, none escaped to the town.
+
+And then... There was a quake. And all life died. Bleed!
+And then... There was a quake. And all life died. Bleed!
+
+And there is the Mana Magic, for the pro %%e You'll waste your life on that, as it have an experience system.
+And there is the Mana Magic, for the pro %%e You'll waste your life on that, as it have an experience system.
+
+And they can explode! Nothing in the world could make me go in there. I'll just do my work right here, clean the floor and tidy up the books, and I'm keeping my eyes open in case they get over here.
+And they can explode! Nothing in the world could make me go in there. I'll just do my work right here, clean the floor and tidy up the books, and I'm keeping my eyes open in case they get over here.
+
+And thus, the longest war begun... And our clan was wiped out. Pachua, Mirio, I, Melune and Darug are the last ones. Oh, and Andra, I guess?
+And thus, the longest war begun... And our clan was wiped out. Pachua, Mirio, I, Melune and Darug are the last ones. Oh, and Andra, I guess?
+
+And to leave this cramped ship, just go past his office! But beware...
+And to leave this cramped ship, just go past his office! But beware...
+
+And unless you have a mage permit from the Magic Council, you won't be going to CR1 - Academy Island either.
+And unless you have a mage permit from the Magic Council, you won't be going to CR1 - Academy Island either.
+
+And we know who the thief is.
+And we know who the thief is.
+
+And what's about Iron Ore?
+And what's about Iron Ore?
+
+And what's about Sunny Crystal?
+And what's about Sunny Crystal?
+
+And who are you?
+And who are you?
+
+And who do you think that created GM Magic in first place, inexperienced kid?
+And who do you think that created GM Magic in first place, inexperienced kid?
+
+And who would you be? Another bandit? Leave!
+And who would you be? Another bandit? Leave!
+
+And whom do you claim to be the thief?
+And whom do you claim to be the thief?
+
+And with what you expect to fight monsters? You must arrange yourself a weapon!
+And with what you expect to fight monsters? You must arrange yourself a weapon!
+
+And without proper MP-raising equipment, you'll be exausthed after your first fireball.
+And without proper MP-raising equipment, you'll be exausthed after your first fireball.
+
+And you got help from a kid, Zarkor? Lucky is that kid, that I don't have time to deal with them. Farewell.
+And you got help from a kid, Zarkor? Lucky is that kid, that I don't have time to deal with them. Farewell.
+
+And you, @@... You better get walking. Soon.
+And you, @@... You better get walking. Soon.
+
+And you, take this %s. It is a reward for doing the dirty job. You would think old age would let you retire, hahaha!
+And you, take this %s. It is a reward for doing the dirty job. You would think old age would let you retire, hahaha!
+
+And, that's all.
+And, that's all.
+
+Andrei Sakar
+Andrei Sakar
+
+Andrei Sakar Calls for Heroes!
+Andrei Sakar Calls for Heroes!
+
+Andrei Sakar Card
+Andrei Sakar Card
+
+Andrei Sakar calls for all the brave in the town of Artis - Kolev!
+Andrei Sakar calls for all the brave in the town of Artis - Kolev!
+
+Andrei Sakar is at the north exit of the town.
+Andrei Sakar is at the north exit of the town.
+
+Andrei Sakar is decided to investigate, and has made arrangements with %s.
+Andrei Sakar is decided to investigate, and has made arrangements with %s.
+
+Andrei Sakar used magic: %s
+Andrei Sakar used magic: %s
+
+Andrei Sakar#FoS290
+Andrei Sakar#FoS290
+
+Andrei Sakar#FoS298
+Andrei Sakar#FoS298
+
+Andrei Sakar, Legendary Hero
+Andrei Sakar, Legendary Hero
+
+Andrei Sakar, the legendary Hurnscald Hero, as well as a group of alliance members which include yourself, are heading to the continent of Kolev, where is said to be a legendary town which helped the humans from the second era to survive.
+Andrei Sakar, the legendary Hurnscald Hero, as well as a group of alliance members which include yourself, are heading to the continent of Kolev, where is said to be a legendary town which helped the humans from the second era to survive.
+
+Andrei Sakar, world renowned hero, is assembling a group of adventurers for an important mission!
+Andrei Sakar, world renowned hero, is assembling a group of adventurers for an important mission!
+
+Angel
+Angel
+
+Angel Amulet
+Angel Amulet
+
+Angel Light
+Angel Light
+
+Angela#Outside
+Angela#Outside
+
+Angela#house
+Angela#house
+
+Angry Bat
+Angry Bat
+
+Angry Red Scorpion
+Angry Red Scorpion
+
+Angry Scorpion
+Angry Scorpion
+
+Angry Yellow Slime
+Angry Yellow Slime
+
+Animal Bones
+Animal Bones
+
+Anin The Traveler
+Anin The Traveler
+
+Anise Inc.
+Anise Inc.
+
+Anniversary marks the project birthdate. Do not mistake with TMW2 Day.
+Anniversary marks the project birthdate. Do not mistake with TMW2 Day.
+
+Annoying Paxel, for example %%o
+Annoying Paxel, for example %%o
+
+Another lecture: Take always enough arrows with you. Go and come back when you are equipped adequately.
+Another lecture: Take always enough arrows with you. Go and come back when you are equipped adequately.
+
+Another time, maybe.
+Another time, maybe.
+
+Another way to attack it is clicking on it.
+Another way to attack it is clicking on it.
+
+Another way to attack it is clicking on it. Now, there are some things you must know before fighting this truly dangerous foe!
+Another way to attack it is clicking on it. Now, there are some things you must know before fighting this truly dangerous foe!
+
+Another way to quickly get experience at lower levels, is visiting %s and talking to Professor. I heard those whom sit at the rug gain exp just by listening.
+Another way to quickly get experience at lower levels, is visiting %s and talking to Professor. I heard those whom sit at the rug gain exp just by listening.
+
+Antlers
+Antlers
+
+Antlers Hat
+Antlers Hat
+
+Anwar
+Anwar
+
+Anwar sent you this, erm, hum... @@.
+Anwar sent you this, erm, hum... @@.
+
+Any boss which was previously unhittable, can be hit with appropriate number of attackers.
+Any boss which was previously unhittable, can be hit with appropriate number of attackers.
+
+Any eventual ranking reward will be sent by the banker's mail.
+Any eventual ranking reward will be sent by the banker's mail.
+
+Any fishing tips for me?
+Any fishing tips for me?
+
+Any friend of Hurnscald is my friend too. Come to me again, if you want to do daily quests!
+Any friend of Hurnscald is my friend too. Come to me again, if you want to do daily quests!
+
+Any movement/skill/item will be without effect until time is up.
+Any movement/skill/item will be without effect until time is up.
+
+Anyone within this rug will be teleported.
+Anyone within this rug will be teleported.
+
+Anything else?
+Anything else?
+
+Anyway, I am one of the few Mana Wizard, and I love Transmutation!
+Anyway, I am one of the few Mana Wizard, and I love Transmutation!
+
+Anyway, I am selling Cherry Cakes to sponsor my studies. Please buy as many as you want!
+Anyway, I am selling Cherry Cakes to sponsor my studies. Please buy as many as you want!
+
+Anyway, I got this really nice @@ from Audsbel. He said I could collect herbs more efficiently with it.
+Anyway, I got this really nice @@ from Audsbel. He said I could collect herbs more efficiently with it.
+
+Anyway, I heard both were disciples from Cordo-whatever, a powerful person from LoF Village.
+Anyway, I heard both were disciples from Cordo-whatever, a powerful person from LoF Village.
+
+Anyway, I still need @@. You have plenty of time to do things at your own pace.
+Anyway, I still need @@. You have plenty of time to do things at your own pace.
+
+Anyway, I think you should go to Hurnscald Townhall again, and speak with the mayor.
+Anyway, I think you should go to Hurnscald Townhall again, and speak with the mayor.
+
+Anyway, I'd be really happy if you could give me @@ @@, @@ @@, @@ @@ and @@ @@.
+Anyway, I'd be really happy if you could give me @@ @@, @@ @@, @@ @@ and @@ @@.
+
+Anyway, I'll give you @@ Real Estate Credits in advance. Go book yourself a room in the Inn. And then come back to me so we may discuss details.
+Anyway, I'll give you @@ Real Estate Credits in advance. Go book yourself a room in the Inn. And then come back to me so we may discuss details.
+
+Anyway, Wyara told me about the assassins. I'm surprised they followed me until the ruins.
+Anyway, Wyara told me about the assassins. I'm surprised they followed me until the ruins.
+
+Anyway, after that I'll use my magic, so everyone can rest after that until I finish, or keep killing the new monsters for experience and drops.
+Anyway, after that I'll use my magic, so everyone can rest after that until I finish, or keep killing the new monsters for experience and drops.
+
+Anyway, as you might be aware, Land Of Fire came here in an incident after the Monster King took all Mana Stones... So, we have a good magical affinity.
+Anyway, as you might be aware, Land Of Fire came here in an incident after the Monster King took all Mana Stones... So, we have a good magical affinity.
+
+Anyway, conspiratory theories aside, his ghost is a powerful boss. I would not attack him if I were you!
+Anyway, conspiratory theories aside, his ghost is a powerful boss. I would not attack him if I were you!
+
+Anyway, he had a point. What will you do once the Monster War is over?
+Anyway, he had a point. What will you do once the Monster War is over?
+
+Anyway, he is not available at the moment. Try your luck again later.
+Anyway, he is not available at the moment. Try your luck again later.
+
+Anyway, here is your reward.
+Anyway, here is your reward.
+
+Anyway, if you ever feel bored and wanna see what I mean by yourself, just leave the building and head west, then north. There's a small entrance there.
+Anyway, if you ever feel bored and wanna see what I mean by yourself, just leave the building and head west, then north. There's a small entrance there.
+
+Anyway, it is Valentine Day, a good day to trade @@ with your admired one!
+Anyway, it is Valentine Day, a good day to trade @@ with your admired one!
+
+Anyway, my herb mixture keeps monsters away.
+Anyway, my herb mixture keeps monsters away.
+
+Anyway, once you have the recipe book and learned a recipe, you can craft items in forges. I think you can buy it in your apartment.
+Anyway, once you have the recipe book and learned a recipe, you can craft items in forges. I think you can buy it in your apartment.
+
+Anyway, our shipkeeper, Juliet, helped to heal your injuries way back.
+Anyway, our shipkeeper, Juliet, helped to heal your injuries way back.
+
+Anyway, the Moubootaur certainly existed, and probably is still alive.
+Anyway, the Moubootaur certainly existed, and probably is still alive.
+
+Anyway, there's a barrier to prevent monsters from attacking the city from below.
+Anyway, there's a barrier to prevent monsters from attacking the city from below.
+
+Anyway, why do you ask? Surely not to waste my time.
+Anyway, why do you ask? Surely not to waste my time.
+
+Anyway, you can see how skilled using Mana Magic with @@. Mana Magic is the one which requires concentration, to bring things into existence, for example.
+Anyway, you can see how skilled using Mana Magic with @@. Mana Magic is the one which requires concentration, to bring things into existence, for example.
+
+Anyway, you had a letter to our @@, you meant? Sure thing, I'll let him know at once.
+Anyway, you had a letter to our @@, you meant? Sure thing, I'll let him know at once.
+
+Anyway. This is the FAIRY KINGDOM spell. It'll spawn fairies.
+Anyway. This is the FAIRY KINGDOM spell. It'll spawn fairies.
+
+Anyway. This is the KALBOO spell. It'll summon mouboos.
+Anyway. This is the KALBOO spell. It'll summon mouboos.
+
+Anyway. This is the KALWULF spell. It'll spawn Wolverns.
+Anyway. This is the KALWULF spell. It'll spawn Wolverns.
+
+Anyway... Let's see how this world works!
+Anyway... Let's see how this world works!
+
+AoE (not stackable)
+AoE (not stackable)
+
+Apana Cake
+Apana Cake
+
+Apane Card
+Apane Card
+
+Apartment Manager
+Apartment Manager
+
+Apartment rents cannot be renewed until they expire. Furniture won't be lost.
+Apartment rents cannot be renewed until they expire. Furniture won't be lost.
+
+Apparently, you'll need to use a %s to get this to work!
+Apparently, you'll need to use a %s to get this to work!
+
+Appearance Debug
+Appearance Debug
+
+Appearance Debug - Barber
+Appearance Debug - Barber
+
+Appearance Debug - Race
+Appearance Debug - Race
+
+Appearance Debug - Sex Change
+Appearance Debug - Sex Change
+
+Apple Cocktail
+Apple Cocktail
+
+Apple Trees#MKH1
+Apple Trees#MKH1
+
+Application fee: @@ GP
+Application fee: @@ GP
+
+Application successful!
+Application successful!
+
+Apply for the office!
+Apply for the office!
+
+Apply no pressure
+Apply no pressure
+
+Apply normal pressure
+Apply normal pressure
+
+Apply soft pressure
+Apply soft pressure
+
+Apply strong pressure
+Apply strong pressure
+
+Apply very strong pressure
+Apply very strong pressure
+
+Applying...
+Applying...
+
+Apprentice Wand
+Apprentice Wand
+
+Approach it softly.
+Approach it softly.
+
+Aquada
+Aquada
+
+Aquada Box
+Aquada Box
+
+Ara ara? You do not have enough money with you!
+Ara ara? You do not have enough money with you!
+
+Arabesque (Action)
+Arabesque (Action)
+
+Arauto
+Arauto
+
+Arcanum Stone
+Arcanum Stone
+
+Archant
+Archant
+
+Archers Eye
+Archers Eye
+
+Archery Weapon Recipes
+Archery Weapon Recipes
+
+Arcmage Boxset
+Arcmage Boxset
+
+Are the fish biting today?
+Are the fish biting today?
+
+Are you Sagratha?
+Are you Sagratha?
+
+Are you a terranite?
+Are you a terranite?
+
+Are you and your party ready?
+Are you and your party ready?
+
+Are you asking because people say it's his fault? Listen, I've known him for many years now. We started our service here about the same time. We share our room and are really close friends.
+Are you asking because people say it's his fault? Listen, I've known him for many years now. We started our service here about the same time. We share our room and are really close friends.
+
+Are you done yet?
+Are you done yet?
+
+Are you enjoying yourself in Candor? Do you have any questions?
+Are you enjoying yourself in Candor? Do you have any questions?
+
+Are you feeling well? That was a pretty powerful attack!
+Are you feeling well? That was a pretty powerful attack!
+
+Are you going to stand here all day long? Go wash the dishes or go away.
+Are you going to stand here all day long? Go wash the dishes or go away.
+
+Are you interested in becoming a student of Archery?
+Are you interested in becoming a student of Archery?
+
+Are you interested? You'll keep %s your equipment, magic, quest progression, craft recipes, money, whatever else which is not a level. Not even Job level won't be reset!
+Are you interested? You'll keep %s your equipment, magic, quest progression, craft recipes, money, whatever else which is not a level. Not even Job level won't be reset!
+
+Are you looking for Rebirth? Limited time only!
+Are you looking for Rebirth? Limited time only!
+
+Are you ok?
+Are you ok?
+
+Are you out of your mind?!
+Are you out of your mind?!
+
+Are you ready to cross the Mirror Lake and return to your world?
+Are you ready to cross the Mirror Lake and return to your world?
+
+Are you ready?
+Are you ready?
+
+Are you ready? There will be a long path ahead of us until this mistery is solved.
+Are you ready? There will be a long path ahead of us until this mistery is solved.
+
+Are you really going to jump here?
+Are you really going to jump here?
+
+Are you sure you want leave?
+Are you sure you want leave?
+
+Are you sure you want to begin now? (Cannot be changed later)
+Are you sure you want to begin now? (Cannot be changed later)
+
+Are you sure you want to create a PIN now?
+Are you sure you want to create a PIN now?
+
+Are you sure you want to leave?
+Are you sure you want to leave?
+
+Are you sure you want to proceed? You CANNOT COME BACK!
+Are you sure you want to proceed? You CANNOT COME BACK!
+
+Are you sure you want to smash it?
+Are you sure you want to smash it?
+
+Are you sure?
+Are you sure?
+
+Are you sure? It costs 800 GP.#0
+Are you sure? It costs 800 GP.
+
+Are you sure? It costs 800 GP.#1
+Are you sure? It costs 800 GP.
+
+Are you sure? Like, really really sure?
+Are you sure? Like, really really sure?
+
+Are you sure? This cannot be undone!
+Are you sure? This cannot be undone!
+
+Are you sure?!
+Are you sure?!
+
+Are you trying to collect every piece of equipment ingame? Come tell me if you are and I'll give you a collector stamp!
+Are you trying to collect every piece of equipment ingame? Come tell me if you are and I'll give you a collector stamp!
+
+Are you trying to provoke me?
+Are you trying to provoke me?
+
+Are you up for the challenge?
+Are you up for the challenge?
+
+Are you with what I asked for?
+Are you with what I asked for?
+
+Are you, perhaps, interested?
+Are you, perhaps, interested?
+
+Area Provoke
+Area Provoke
+
+Area of effect fire damage. May burn targets.
+Area of effect fire damage. May burn targets.
+
+AreaNPC#002-1d
+AreaNPC#002-1d
+
+AreaNPC#002-3d
+AreaNPC#002-3d
+
+AreaNPC#002-4d
+AreaNPC#002-4d
+
+AreaNPC#Peter
+AreaNPC#Peter
+
+AreaNPC#doors4
+AreaNPC#doors4
+
+Aren't you Cindy's father? Why don't you go to her rescue?
+Aren't you Cindy's father? Why don't you go to her rescue?
+
+Arena created, it can be used for 30 minutes.
+Arena created, it can be used for 30 minutes.
+
+Argaes Human
+Argaes Human
+
+Argh! I assume I can't do this chant!
+Argh! I assume I can't do this chant!
+
+Argh... I can never get it right! If only he drew an Ace or a Joker on the first draw... But he never does that!
+Argh... I can never get it right! If only he drew an Ace or a Joker on the first draw... But he never does that!
+
+Arkim
+Arkim
+
+Armageddon
+Armageddon
+
+Armbands
+Armbands
+
+Armored Skeleton
+Armored Skeleton
+
+Armors: +3~5 defense
+Armors: +3~5 defense
+
+Arnea
+Arnea
+
+Arnea#003-13
+Arnea#003-13
+
+Arr ha ha ha arr!
+Arr ha ha ha arr!
+
+Arr!
+Arr!
+
+Arr! Here you go, matey!
+Arr! Here you go, matey!
+
+Arr, I'm bored!
+Arr, I'm bored!
+
+Arr, it is always good to be on land after so much time in sea!
+Arr, it is always good to be on land after so much time in sea!
+
+Arr, that's a fine map ya got there! And these are definitely Hurnscald Caves, yarr!
+Arr, that's a fine map ya got there! And these are definitely Hurnscald Caves, yarr!
+
+Arr, that's not enough! I'll bring more later!
+Arr, that's not enough! I'll bring more later!
+
+Arr, that's some fine ale! We can do the party when we're done with our work!
+Arr, that's some fine ale! We can do the party when we're done with our work!
+
+Arr, we will wait for you then! We still have tasks to complete!
+Arr, we will wait for you then! We still have tasks to complete!
+
+Arr, you are not experienced enough to help me yet!
+Arr, you are not experienced enough to help me yet!
+
+Arrested!
+Arrested!
+
+Arrevouir!
+Arrevouir!
+
+Arrow
+Arrow
+
+Arrow Ammo Box
+Arrow Ammo Box
+
+Arrow Shower
+Arrow Shower
+
+Arrow Shower Card
+Arrow Shower Card
+
+Arrr matey! My captain asked me to have you get him some items. Please bring us %d %s and %d %s, my captain likes to snack on those during our long voyages. Oh, and something to read too!
+Arrr matey! My captain asked me to have you get him some items. Please bring us %d %s and %d %s, my captain likes to snack on those during our long voyages. Oh, and something to read too!
+
+Arrr matey! This is @@, yarr.
+Arrr matey! This is @@, yarr.
+
+Arrr! Good job matey! You brought us everything we asked for, even the Maritime Almanac Scroll!
+Arrr! Good job matey! You brought us everything we asked for, even the Maritime Almanac Scroll!
+
+Arrr! You did not bring me everything I asked for!
+Arrr! You did not bring me everything I asked for!
+
+Arrrrh! Looks like ye lost an eye there!
+Arrrrh! Looks like ye lost an eye there!
+
+Arrrrh! Ye be wearing a pirate's hat!
+Arrrrh! Ye be wearing a pirate's hat!
+
+Arrrrh! Ye remind me of my old first mate!
+Arrrrh! Ye remind me of my old first mate!
+
+Arthur Card
+Arthur Card
+
+Artichoke Herb
+Artichoke Herb
+
+Artis
+Artis
+
+Artis - @@ GP (not exchangeable)
+Artis - @@ GP (not exchangeable)
+
+Artis Tank Top
+Artis Tank Top
+
+Artis Warp Crystal
+Artis Warp Crystal
+
+Artis is a city port founded after the Great Fire on the other continent.
+Artis is a city port founded after the Great Fire on the other continent.
+
+Artis, right? So Andrei Sakar summoned you?
+Artis, right? So Andrei Sakar summoned you?
+
+ArtisShip
+ArtisShip
+
+Arvo
+Arvo
+
+As I had the spare materials I've already did yours in advance.
+As I had the spare materials I've already did yours in advance.
+
+As I know, you're kind of hunter crafter, Right?
+As I know, you're kind of hunter crafter, Right?
+
+As I said, S.A.R.A.H. is a terrorist organization. They are dedicated to wiping out every single duck, worldwide. No duck has ever survived an encounter with a S.A.R.A.H. agent. You would do best to avoid them.
+As I said, S.A.R.A.H. is a terrorist organization. They are dedicated to wiping out every single duck, worldwide. No duck has ever survived an encounter with a S.A.R.A.H. agent. You would do best to avoid them.
+
+As I see, you stay alive!
+As I see, you stay alive!
+
+As a King, I cannot simply ignore it. Of course, I really doubt it is zombies, but nobody wants to go. That's why I'm resorting to an adventurer like you.
+As a King, I cannot simply ignore it. Of course, I really doubt it is zombies, but nobody wants to go. That's why I'm resorting to an adventurer like you.
+
+As a result, while fishing you may randomly get a golden fish.
+As a result, while fishing you may randomly get a golden fish.
+
+As a what?
+As a what?
+
+As about if I have any idea why they said they were from here? ...Actually, I do.
+As about if I have any idea why they said they were from here? ...Actually, I do.
+
+As always, I can use a helping hand around here. Interested?
+As always, I can use a helping hand around here. Interested?
+
+As an Apology Token, you're also receiving one @@.
+As an Apology Token, you're also receiving one @@.
+
+As an archer, you should always carry your bow with you. Doesn't warriors carry those heavy swords without complaining? Go and get it.
+As an archer, you should always carry your bow with you. Doesn't warriors carry those heavy swords without complaining? Go and get it.
+
+As an honorary member of the Duck Side, know that we are more than we appear. The Moubootaur itself has seen fit to reward us when it awakens. Do not attempt to cross us.
+As an honorary member of the Duck Side, know that we are more than we appear. The Moubootaur itself has seen fit to reward us when it awakens. Do not attempt to cross us.
+
+As far as we are concerned, you could have been an exiled prisoner who managed to escape! But there are ways to prove to the Alliance that your intentions are good.
+As far as we are concerned, you could have been an exiled prisoner who managed to escape! But there are ways to prove to the Alliance that your intentions are good.
+
+As long that Saulc doesn't draws the sprites for my stuff, that is! %%a
+As long that Saulc doesn't draws the sprites for my stuff, that is! %%a
+
+As long that you have the money, and some really high quality material, I can tailor anything ugly in something fashion!
+As long that you have the money, and some really high quality material, I can tailor anything ugly in something fashion!
+
+As long that you know the basic structure, this shall do damage.
+As long that you know the basic structure, this shall do damage.
+
+As soon that Saulc GM get back, we can start.
+As soon that Saulc GM get back, we can start.
+
+As the leader of your party, you can only go forward.
+As the leader of your party, you can only go forward.
+
+As to how to obtain research points... Randomly when casting, by enrolling in a class with my wife Emma, by studying monsters, and randomly but very rarely with the Professor in Tulimshar.
+As to how to obtain research points... Randomly when casting, by enrolling in a class with my wife Emma, by studying monsters, and randomly but very rarely with the Professor in Tulimshar.
+
+As usual, you can get only one hat yearly, for the symbolic amount of 40 @@ and 10 @@!
+As usual, you can get only one hat yearly, for the symbolic amount of 40 @@ and 10 @@!
+
+As with all TMW2 Major Events, the top 1 receive a special pet, and the other ranked ones get diverse rewards.
+As with all TMW2 Major Events, the top 1 receive a special pet, and the other ranked ones get diverse rewards.
+
+As you can guess, said village was abandoned. However, people are claiming to have seen people walking there, like shadows or zombies.
+As you can guess, said village was abandoned. However, people are claiming to have seen people walking there, like shadows or zombies.
+
+As you learned, helping others is a good way to level up. You can also sell monster parts for some money.
+As you learned, helping others is a good way to level up. You can also sell monster parts for some money.
+
+As you may be aware, the Magic Council is in Tulim, after all.
+As you may be aware, the Magic Council is in Tulim, after all.
+
+As you may know, LOF ran on a modified version of The Mana World game, before being merged on TMW2: Moubootaur Legends.
+As you may know, LOF ran on a modified version of The Mana World game, before being merged on TMW2: Moubootaur Legends.
+
+As you might have noticed, it depends on many circumstances if your arrow finds its target. Your shot may be too powerful or too weak, so the arrow goes far beyond your target or hits the ground before it reaches its destination.
+As you might have noticed, it depends on many circumstances if your arrow finds its target. Your shot may be too powerful or too weak, so the arrow goes far beyond your target or hits the ground before it reaches its destination.
+
+As you might know, the Great Fire ruined the whole world. Many people wanted to escape the wastelands which the continent had became, so they made convoys and left to the great sea.
+As you might know, the Great Fire ruined the whole world. Many people wanted to escape the wastelands which the continent had became, so they made convoys and left to the great sea.
+
+As you see, you can count the mages with the fingers of one hand. It's not just Mana Magic, either - Magic in overall is almost dead, with almost every Mana Stone on the power of the Monster King.
+As you see, you can count the mages with the fingers of one hand. It's not just Mana Magic, either - Magic in overall is almost dead, with almost every Mana Stone on the power of the Monster King.
+
+As you want!
+As you want!
+
+As you wish. But do not mess with things you don't understand.
+As you wish. But do not mess with things you don't understand.
+
+Ash Urn
+Ash Urn
+
+Ask everytime
+Ask everytime
+
+Ask next time
+Ask next time
+
+Ask.
+Ask.
+
+Assassin
+Assassin
+
+Assassin Boots
+Assassin Boots
+
+Assassin Chest
+Assassin Chest
+
+Assassin Gloves
+Assassin Gloves
+
+Assassin Pants
+Assassin Pants
+
+Assassination failed - target is stronger than you
+Assassination failed - target is stronger than you
+
+Astral Cube
+Astral Cube
+
+At 00:00, 06:00, 12:00, 15:00, 18:00 and 21:00 server time
+At 00:00, 06:00, 12:00, 15:00, 18:00 and 21:00 server time
+
+At January 2008 - Construction of Dimonds Cove.
+At January 2008 - Construction of Dimonds Cove.
+
+At a first glance, it seems to be full of water, but inspecting closer, it is not.
+At a first glance, it seems to be full of water, but inspecting closer, it is not.
+
+At long last, you see the end of the corritor.
+At long last, you see the end of the corritor.
+
+At the last day, an earthquake happened. And then, monsters started showing up everywhere. Immortal monsters, which come back after killed, as if they had touched the Soul Menhir.
+At the last day, an earthquake happened. And then, monsters started showing up everywhere. Immortal monsters, which come back after killed, as if they had touched the Soul Menhir.
+
+Atk +25
+Atk +25
+
+Atk Range +1
+Atk Range +1
+
+Atk. Speed +10
+Atk. Speed +10
+
+Atonishing. Six gifts is the real deal. Easy to guess: 6400 is the next milestone.
+Atonishing. Six gifts is the real deal. Easy to guess: 6400 is the next milestone.
+
+Atropos Mixture
+Atropos Mixture
+
+Attack him
+Attack him
+
+Attain level 50 to try this quest.
+Attain level 50 to try this quest.
+
+Attempt to break the Mana Stone?
+Attempt to break the Mana Stone?
+
+Attempt to break the seal?
+Attempt to break the seal?
+
+Attempt to disarm the singularity?
+Attempt to disarm the singularity?
+
+Attempt to heal the Mouboo
+Attempt to heal the Mouboo
+
+Attempt to kill the Mouboo
+Attempt to kill the Mouboo
+
+Attempt to lockpick?
+Attempt to lockpick?
+
+Attempt to retrieve it now?
+Attempt to retrieve it now?
+
+Attempted to buy %d/%d %s, operation cancelled.
+Attempted to buy %d/%d %s, operation cancelled.
+
+Attempts for today: %d/%d
+Attempts for today: %d/%d
+
+Auldsbel
+Auldsbel
+
+Auldsbel the Wizard
+Auldsbel the Wizard
+
+Aurora
+Aurora
+
+Aurora Events
+Aurora Events
+
+Aurora will collect the crystals; And adventurers from the whole world shall look for them in the chests and return to Aurora!
+Aurora will collect the crystals; And adventurers from the whole world shall look for them in the chests and return to Aurora!
+
+Authorship: Former_Cordo (Cordo)
+Authorship: Former_Cordo (Cordo)
+
+Authorship: Manatauro
+Authorship: Manatauro
+
+Authorship: Xanthem (DiamondPython)
+Authorship: Xanthem (DiamondPython)
+
+Automatic Botchecks
+Automatic Botchecks
+
+Automatic disarm in: @@
+Automatic disarm in: @@
+
+Automatic fishing bait
+Automatic fishing bait
+
+Autoreceive Strange Coins:
+Autoreceive Strange Coins:
+
+Autumn
+Autumn
+
+Autumn Mask
+Autumn Mask
+
+Average EXP:
+Average EXP:
+
+Average player level: @@
+Average player level: @@
+
+Awake lost potential? This will mess with your char data irreversibly, beware.
+Awake lost potential? This will mess with your char data irreversibly, beware.
+
+Awesome, come back if you ever want to create a larger group!
+Awesome, come back if you ever want to create a larger group!
+
+Awesome, here is the certificate! Choose guild name wisely, because there are no refunds, even if you lose it!
+Awesome, here is the certificate! Choose guild name wisely, because there are no refunds, even if you lose it!
+
+Awful Yetis kidnapped my daughter, and brought her to the cave. Please save her!
+Awful Yetis kidnapped my daughter, and brought her to the cave. Please save her!
+
+Aww it's not summer. I love June 21st, and the summer vacations!
+Aww it's not summer. I love June 21st, and the summer vacations!
+
+Axe Hat
+Axe Hat
+
+Axzell the Alchemist
+Axzell the Alchemist
+
+Ayasha
+Ayasha
+
+AyashaDebug
+AyashaDebug
+
+Azul Skull Slime
+Azul Skull Slime
+
+Azul Slime
+Azul Slime
+
+Azul Slime Mother
+Azul Slime Mother
+
+AzulSlime
+AzulSlime
+
+BEGIN WARP PROCEDURES?
+BEGIN WARP PROCEDURES?
+
+BOSS FIGHT!
+BOSS FIGHT!
+
+BOSS WARNING
+BOSS WARNING
+
+BOTCHECK: You are on botcheck area. DO NOT attack or collect items until given the order.
+BOTCHECK: You are on botcheck area. DO NOT attack or collect items until given the order.
+
+BUG, Please report: TorchTally, err_val @@
+BUG, Please report: TorchTally, err_val @@
+
+BUG, REPORT ME! Hurncald Liberation Day check FAIL
+BUG, REPORT ME! Hurncald Liberation Day check FAIL
+
+BUG, REPORT ME: QHUB PENALTY OVERRIDE INVALID SIGNAL @@
+BUG, REPORT ME: QHUB PENALTY OVERRIDE INVALID SIGNAL @@
+
+BUT you can reduce the travel price to everywhere, to as low as 250 GP, by completing QUESTS!
+BUT you can reduce the travel price to everywhere, to as low as 250 GP, by completing QUESTS!
+
+Bachelor
+Bachelor
+
+Backsliding
+Backsliding
+
+Backsword
+Backsword
+
+Bah! Don't try to fool me! The sun can't burn in Nivalis.
+Bah! Don't try to fool me! The sun can't burn in Nivalis.
+
+Bah, sorry my manners! I love to chat! Anyway, talk to any General of mine, just behind me. See if they need help.
+Bah, sorry my manners! I love to chat! Anyway, talk to any General of mine, just behind me. See if they need help.
+
+Baktar
+Baktar
+
+Baktar can be picky with Tulimshar stuff, too.
+Baktar can be picky with Tulimshar stuff, too.
+
+Bandana
+Bandana
+
+Bandit
+Bandit
+
+Bandit Hat
+Bandit Hat
+
+Bandit Hood
+Bandit Hood
+
+Bandit Lord
+Bandit Lord
+
+Bandit Mask
+Bandit Mask
+
+Bandit Pants
+Bandit Pants
+
+BanditLord
+BanditLord
+
+Bandits are a huge threat to Hurnscald. We're just a small farming town, and they're countless.
+Bandits are a huge threat to Hurnscald. We're just a small farming town, and they're countless.
+
+Banned from Academy
+Banned from Academy
+
+Banshee Bow
+Banshee Bow
+
+Banu
+Banu
+
+Bar Jobs
+Bar Jobs
+
+Barbara was apprehended. It would be weird to show her on your inventory, so we won't.
+Barbara was apprehended. It would be weird to show her on your inventory, so we won't.
+
+Barbara#01861
+Barbara#01861
+
+Barbara, Wounded Girl
+Barbara, Wounded Girl
+
+Barbara. You're under arrest by Kenton's orders. Please surrend peacefully.
+Barbara. You're under arrest by Kenton's orders. Please surrend peacefully.
+
+Barbarian Amulet
+Barbarian Amulet
+
+Barbarian Master Amulet
+Barbarian Master Amulet
+
+Barbarian#Frostia
+Barbarian#Frostia
+
+Barely any difference, maybe I should use better healing items on it.
+Barely any difference, maybe I should use better healing items on it.
+
+Barrel
+Barrel
+
+Barrel#1
+Barrel
+
+Barrel#2
+Barrel#2
+
+Barrel#3
+Barrel#3
+
+Barrel#4
+Barrel#4
+
+Barrel#5
+Barrel#5
+
+Barrel#6
+Barrel#6
+
+Barrel#7
+Barrel#7
+
+Barrel#8
+Barrel#8
+
+Barrels#MKHB
+Barrels#MKHB
+
+Bartender
+Bartender
+
+Barzil
+Barzil
+
+Base Experience Rate is now %d%%.
+Base Experience Rate is now %d%%.
+
+Base Tier
+Base Tier
+
+Bash your weapon against your enemies with raised damage and accuracy.
+Bash your weapon against your enemies with raised damage and accuracy.
+
+Basic Magic
+Basic Magic
+
+Basic Tricks
+Basic Tricks
+
+Basic earth area attack. May stun targets.
+Basic earth area attack. May stun targets.
+
+Basic earth single target attack. May stun targets.
+Basic earth single target attack. May stun targets.
+
+Basic fire single target attack. May burn targets.
+Basic fire single target attack. May burn targets.
+
+Basic ice area attack. Freeze targets in a big area.
+Basic ice area attack. Freeze targets in a big area.
+
+Basic ice area attack. May freeze targets.
+Basic ice area attack. May freeze targets.
+
+Basic ice single target attack. May freeze targets.
+Basic ice single target attack. May freeze targets.
+
+Basic multi-target holy attack. Is actually weak.
+Basic multi-target holy attack. Is actually weak.
+
+Basic single target holy attack. Splashes in the nearby tiles.
+Basic single target holy attack. Splashes in the nearby tiles.
+
+Basic wind single target attack. Strong in overall.
+Basic wind single target attack. Strong in overall.
+
+Basically, I need to find a friendly Yeti. Do they exist?
+Basically, I need to find a friendly Yeti. Do they exist?
+
+Basically, no one else disturbs me anymore when I'm busy snoring in class! ^.^
+Basically, no one else disturbs me anymore when I'm busy snoring in class! ^.^
+
+Basically, there's no sea route to Halinarzo. You must head southeast of Tulimshar.
+Basically, there's no sea route to Halinarzo. You must head southeast of Tulimshar.
+
+Basil
+Basil
+
+Bat
+Bat
+
+Bat Egg
+Bat Egg
+
+Bat Teeth
+Bat Teeth
+
+Bat Wing
+Bat Wing
+
+Bathrobe
+Bathrobe
+
+Battle Plans
+Battle Plans
+
+Be Patient... You still need to wait @@.
+Be Patient... You still need to wait @@.
+
+Be a friend and bring me @@ @@.#0
+Be a friend and bring me @@ @@.
+
+Be a friend and bring me @@ @@.#1
+Be a friend and bring me @@ @@.
+
+Be aware I can only bake batches of @@ potions.
+Be aware I can only bake batches of @@ potions.
+
+Be careful as not everybody likes transmuted monster parts. Some may even see it as a foul thing. Anyway. Come back later.
+Be careful as not everybody likes transmuted monster parts. Some may even see it as a foul thing. Anyway. Come back later.
+
+Be careful during night, use "@tutorial" in case of doubt, use "%s" to go to the event, and good luck!
+Be careful during night, use "@tutorial" in case of doubt, use "%s" to go to the event, and good luck!
+
+Be careful that they may be anywhere in the world, and the same rules as Tulimshar Guard House apply! So, are you here to apply or to report back?
+Be careful that they may be anywhere in the world, and the same rules as Tulimshar Guard House apply! So, are you here to apply or to report back?
+
+Be careful to not get lost in the forest.
+Be careful to not get lost in the forest.
+
+Be careful when walking, because you may change quadrands and then... It won't count. You'll need to start over again.
+Be careful when walking, because you may change quadrands and then... It won't count. You'll need to start over again.
+
+Be careful!
+Be careful!
+
+Be careful, because the more magic power you ask the Mana Seed, the more difficult to control it will be.
+Be careful, because the more magic power you ask the Mana Seed, the more difficult to control it will be.
+
+Be cursed, you fool!
+Be cursed, you fool!
+
+Be devoured!
+Be devoured!
+
+Be sure to have a friend before joining, or you may have to logout in order to be able to move again!
+Be sure to have a friend before joining, or you may have to logout in order to be able to move again!
+
+Bear Hat
+Bear Hat
+
+Bear Strike
+Bear Strike
+
+Beard
+Beard
+
+Beatrice
+Beatrice
+
+Because I am a special nymph.
+Because I am a special nymph.
+
+Because I am awesome!
+Because I am awesome!
+
+Because Isbamuth is tracking me? It would be pointless if he noticed. If you can't even understand this, maybe I overestimated you, after all...
+Because Isbamuth is tracking me? It would be pointless if he noticed. If you can't even understand this, maybe I overestimated you, after all...
+
+Because heroes are not born, rather, they are made!
+Because heroes are not born, rather, they are made!
+
+Because in the end, you are in the hands of your class leader!
+Because in the end, you are in the hands of your class leader!
+
+Because it may be a fatal fall!
+Because it may be a fatal fall!
+
+Because the council has some crazy project which requires me to move crates all the time!
+Because the council has some crazy project which requires me to move crates all the time!
+
+Because they control everything! They even determine taxes!
+Because they control everything! They even determine taxes!
+
+Because this, the national budget is going to other silly, under-rewarding, minor things...
+Because this, the national budget is going to other silly, under-rewarding, minor things...
+
+Bed#Saggy
+Bed#Saggy
+
+Beds
+Beds
+
+Bee
+Bee
+
+Bee Hive
+Bee Hive
+
+Bee Keeper Hat
+Bee Keeper Hat
+
+Bee Stinger
+Bee Stinger
+
+Beer
+Beer
+
+Beer is nice, but sometimes I want something more exotic to drink! Oui, we need a proper bar here!
+Beer is nice, but sometimes I want something more exotic to drink! Oui, we need a proper bar here!
+
+Before start witch item do you want to play
+Before start witch item do you want to play
+
+Before you give me your report, acquire level %d.
+Before you give me your report, acquire level %d.
+
+Begger#EP
+Begger#EP
+
+Begin campaign?
+Begin campaign?
+
+Begin classic mode
+Begin classic mode
+
+Begin!
+Begin!
+
+Begin?
+Begin?
+
+Behave yourself, or you'll be executed in the town square mercilessly. You have been warned.
+Behave yourself, or you'll be executed in the town square mercilessly. You have been warned.
+
+Behave yourself.
+Behave yourself.
+
+Bella, the Scholar
+Bella, the Scholar
+
+Below this strange writing, you notice a word still deeply engraved in the stone:
+Below this strange writing, you notice a word still deeply engraved in the stone:
+
+Ben Parkison
+Ben Parkison
+
+Ben#NivBanker
+Ben#NivBanker
+
+Benjamin
+Benjamin
+
+Benjamin reported in. Good luck arresting the criminal!
+Benjamin reported in. Good luck arresting the criminal!
+
+Benjamin, Wounded Soldier
+Benjamin, Wounded Soldier
+
+Bent Needle
+Bent Needle
+
+Besides "spot", you can also use "nearest" for more area, and even "near" or "nearby" for even more.
+Besides "spot", you can also use "nearest" for more area, and even "near" or "nearby" for even more.
+
+Besides being able to train you, he is a walking encyclopedia - Ask him anything you are unsure about!
+Besides being able to train you, he is a walking encyclopedia - Ask him anything you are unsure about!
+
+Besides that, do I look like a warrior to you? Why would you give a kid a sharp dagger?
+Besides that, do I look like a warrior to you? Why would you give a kid a sharp dagger?
+
+Besides the Magic Council, Andrei Sakar have his own Mana Stone, but I doubt he would train the likes of you, or share his Mana Stone.
+Besides the Magic Council, Andrei Sakar have his own Mana Stone, but I doubt he would train the likes of you, or share his Mana Stone.
+
+Besides this, there is Seasons. You know, summer, autumn, winter and spring.
+Besides this, there is Seasons. You know, summer, autumn, winter and spring.
+
+Besides, I know these caves like the back of my hand. You would have a hard time tracking me down.
+Besides, I know these caves like the back of my hand. You would have a hard time tracking me down.
+
+Besides, I'm not an Yeti expert. I don't understand how these creatures think, nor do I care! I only want Cindy back home safely!!
+Besides, I'm not an Yeti expert. I don't understand how these creatures think, nor do I care! I only want Cindy back home safely!!
+
+Besides, the Alliance High Council had plans for an expedition on the Fortress Island, but had no personel to do it.
+Besides, the Alliance High Council had plans for an expedition on the Fortress Island, but had no personel to do it.
+
+Besides, there are no Butterflies in Tulimshar, and they could help the farm in getting producing food.
+Besides, there are no Butterflies in Tulimshar, and they could help the farm in getting producing food.
+
+Better do this some other time...
+Better do this some other time...
+
+Better luck next time!
+Better luck next time!
+
+Better luck next time!"
+Better luck next time!"
+
+Beware the Terranite! Only @@ would be brave enough to challenge them!
+Beware the Terranite! Only @@ would be brave enough to challenge them!
+
+Bhop Fluffy
+Bhop Fluffy
+
+Bhopper Egg
+Bhopper Egg
+
+Bif
+Bif
+
+Bif is a monster shaped like weird rocks. Diamond Bif is a Bif with higher chances to drop Diamonds.
+Bif is a monster shaped like weird rocks. Diamond Bif is a Bif with higher chances to drop Diamonds.
+
+Big Amethyst Bif
+Big Amethyst Bif
+
+Big Arrow Sack
+Big Arrow Sack
+
+Big Bullet Sack
+Big Bullet Sack
+
+Big Diamond Bif
+Big Diamond Bif
+
+Big Elenium Bif
+Big Elenium Bif
+
+Big Emerald Bif
+Big Emerald Bif
+
+Big Frog
+Big Frog
+
+Big Magic Bif
+Big Magic Bif
+
+Big Pumpkin Seed
+Big Pumpkin Seed
+
+Big Ruby Bif
+Big Ruby Bif
+
+Big Sapphire Bif
+Big Sapphire Bif
+
+Big Topaz Bif
+Big Topaz Bif
+
+Billy
+Billy
+
+Billy Bons
+Billy Bons
+
+Billy Bons#TMW2
+Billy Bons#TMW2
+
+Birds in the Sunrise
+Birds in the Sunrise
+
+Black Dye
+Black Dye
+
+Black Mamba
+Black Mamba
+
+Black Mamba Egg
+Black Mamba Egg
+
+Black Mamba Egg -> Mountain Snake Egg
+Black Mamba Egg -> Mountain Snake Egg
+
+Black Mamba Skin
+Black Mamba Skin
+
+Black Mamba Skin -> Mountain Snake Skin
+Black Mamba Skin -> Mountain Snake Skin
+
+Black Mamba Tongue
+Black Mamba Tongue
+
+Black Mamba Tongue -> Mountain Snake Tongue
+Black Mamba Tongue -> Mountain Snake Tongue
+
+Black Pearl
+Black Pearl
+
+Black Scorpion
+Black Scorpion
+
+Black Scorpion Claw
+Black Scorpion Claw
+
+Black Scorpion Claw -> Red Scorpion Claw
+Black Scorpion Claw -> Red Scorpion Claw
+
+Black Scorpion Stinger
+Black Scorpion Stinger
+
+Black Scorpion Stinger -> Red Scorpion Stinger
+Black Scorpion Stinger -> Red Scorpion Stinger
+
+Black Skull Slime
+Black Skull Slime
+
+Black Slime
+Black Slime
+
+Black Slime Mother
+Black Slime Mother
+
+BlackCat
+BlackCat
+
+BlackScorpion
+BlackScorpion
+
+Blacksmith
+Blacksmith
+
+Blacksmith Axe
+Blacksmith Axe
+
+Blacky Cat
+Blacky Cat
+
+Blade Shield
+Blade Shield
+
+Blame @@, missing map between 014-5 and 019-1, solely to make trip longer.
+Blame @@, missing map between 014-5 and 019-1, solely to make trip longer.
+
+Blame Saulc
+Blame Saulc
+
+Blame Saulc.
+Blame Saulc.
+
+Blanket
+Blanket
+
+Bleed
+Bleed
+
+Blessing applied at: %s
+Blessing applied at: %s
+
+Blessing of Defense
+Blessing of Defense
+
+Blessing of Immortality
+Blessing of Immortality
+
+Blind
+Blind
+
+Block +1%
+Block +1%
+
+Bloodbath
+Bloodbath
+
+Bloodstone Pendant
+Bloodstone Pendant
+
+Bloody Mouboo
+Bloody Mouboo
+
+Bloody Mouboo Hat
+Bloody Mouboo Hat
+
+Blooodstone
+Blooodstone
+
+Blossom
+Blossom
+
+Blossom, blossom, why you do this to me...
+Blossom, blossom, why you do this to me...
+
+Blub
+Blub
+
+Blub, blub, blub
+Blub, blub, blub
+
+Blue
+Blue
+
+Blue Coral
+Blue Coral
+
+Blue Dye
+Blue Dye
+
+Blue Eggshell Hat
+Blue Eggshell Hat
+
+Blue Gray Dye
+Blue Gray Dye
+
+Blue Knight Shield
+Blue Knight Shield
+
+Blue Mana Pearl
+Blue Mana Pearl
+
+Blue Sage will want to know this, I'll write him a letter.
+Blue Sage will want to know this, I'll write him a letter.
+
+Blue Slime
+Blue Slime
+
+Blue Slime Mother
+Blue Slime Mother
+
+Blue Switch#EP
+Blue Switch#EP
+
+Blue from sea, learned how to hunt. But unfortunately, not how to withstand attacks.
+Blue from sea, learned how to hunt. But unfortunately, not how to withstand attacks.
+
+Blueberries
+Blueberries
+
+Bluepar
+Bluepar
+
+Boias, unlike common shields, does not have any penalty!
+Boias, unlike common shields, does not have any penalty!
+
+Bone
+Bone
+
+Bone Ammo Box
+Bone Ammo Box
+
+Bone Arrow
+Bone Arrow
+
+Bone Knife
+Bone Knife
+
+Bonjour! I am @@, and I am from the Press! Read the latest news with me!
+Bonjour! I am @@, and I am from the Press! Read the latest news with me!
+
+Bonus recipes must be enabled with @@ after learned!
+Bonus recipes must be enabled with @@ after learned!
+
+Bonus:
+Bonus:
+
+Boo!
+Boo!
+
+Book Keeper
+Book Keeper
+
+Book#01863A
+Book#01863A
+
+Book#FoS
+Book#FoS
+
+Book#Saggy
+Book#Saggy
+
+Bookcase#MKHB1
+Bookcase#MKHB1
+
+Bookcase#MKHB2
+Bookcase#MKHB2
+
+Bookcase#MKHB3
+Bookcase#MKHB3
+
+Bookcase#MKHB5
+Bookcase#MKHB5
+
+Booo....
+Booo....
+
+Boots
+Boots
+
+Booty!
+Booty!
+
+Boring NPC
+Boring NPC
+
+Born %s ago
+Born %s ago
+
+Boss Hunter Boina
+Boss Hunter Boina
+
+Boss Of The Dusty People
+Boss Of The Dusty People
+
+Boss Raid
+Boss Raid
+
+Boss defeated!
+Boss defeated!
+
+Bot Master
+Bot Master
+
+Both rent and furniture are bought using money, however, there are mobiliary credits.
+Both rent and furniture are bought using money, however, there are mobiliary credits.
+
+Bottle Of Divine Water
+Bottle Of Divine Water
+
+Bottle Of Sand
+Bottle Of Sand
+
+Bottle Of Sea Water
+Bottle Of Sea Water
+
+Bottle Of Sewer Water
+Bottle Of Sewer Water
+
+Bottle Of Tonori Water
+Bottle Of Tonori Water
+
+Bottle Of Woodland Water
+Bottle Of Woodland Water
+
+Bounty Hunter Helmet
+Bounty Hunter Helmet
+
+Bow (strong, slow, no evasion)
+Bow (strong, slow, no evasion)
+
+Bowler Hat
+Bowler Hat
+
+Bows
+Bows
+
+Bows are good, but if you're going to the Desert Canyon, I would instead invest on a light shield. Heavy ones make you walk slower.
+Bows are good, but if you're going to the Desert Canyon, I would instead invest on a light shield. Heavy ones make you walk slower.
+
+Bows give you a good attack range, in exchange of all your evasion.
+Bows give you a good attack range, in exchange of all your evasion.
+
+Box Of Chocolates
+Box Of Chocolates
+
+Bracco
+Bracco
+
+Brain
+Brain
+
+Brainic
+Brainic
+
+Brainstem
+Brainstem
+
+Braknar Shield
+Braknar Shield
+
+Braknar Shield Recipe unlocked!
+Braknar Shield Recipe unlocked!
+
+Braknar also used a pseudonym - Arvek. If you hear that name in some tale, it is the same person.
+Braknar also used a pseudonym - Arvek. If you hear that name in some tale, it is the same person.
+
+Brave adventurers, be ready for the worst!
+Brave adventurers, be ready for the worst!
+
+Brave players need to group and retake them!
+Brave players need to group and retake them!
+
+Brawling
+Brawling
+
+Brazil: [@@http://www.prosangue.sp.gov.br/home/Default.html|http://www.prosangue.sp.gov.br/home/Default.html@@]
+Brazil: [@@http://www.prosangue.sp.gov.br/home/Default.html|http://www.prosangue.sp.gov.br/home/Default.html@@]
+
+Bread
+Bread
+
+Bread is fine, but it would taste better with @@. Could you bring us three?
+Bread is fine, but it would taste better with @@. Could you bring us three?
+
+Break it!
+Break it!
+
+Break the crystal?
+Break the crystal?
+
+Breaking a seal is easy, just flow mana on it for enough time to it shatter.
+Breaking a seal is easy, just flow mana on it for enough time to it shatter.
+
+Bribe the guard for @@ GP?
+Bribe the guard for @@ GP?
+
+Brimmed Feather Hat
+Brimmed Feather Hat
+
+Brimmed Flower Hat
+Brimmed Flower Hat
+
+Brimmed Hat
+Brimmed Hat
+
+Bring it on!
+Bring it on!
+
+Bring me %d %s so I may study its properties and improve our town water quality!
+Bring me %d %s so I may study its properties and improve our town water quality!
+
+Bring me %d %s, %d %s, %d %s, and %d %s, and I will make it for you. I also charge %d GP as commission.
+Bring me %d %s, %d %s, %d %s, and %d %s, and I will make it for you. I also charge %d GP as commission.
+
+Bring me %d %s, %d %s, %d %s, and %d %s, and I will make it for you. I also charge %d GP commission.
+Bring me %d %s, %d %s, %d %s, and %d %s, and I will make it for you. I also charge %d GP commission.
+
+Bring me %d %s, %d %s, and %d %s and I can make it for you... oh and it will be %d GP for my work.
+Bring me %d %s, %d %s, and %d %s and I can make it for you... oh and it will be %d GP for my work.
+
+Bring me %d %s, the white slimes keep stealing them and I am a bit too old to go running around, hunting slimes!
+Bring me %d %s, the white slimes keep stealing them and I am a bit too old to go running around, hunting slimes!
+
+Bring me %d %s, we elves are infinitely beautiful and the white slimes, just like your kin, seems to envy us. So please recover the stolen mirrors.
+Bring me %d %s, we elves are infinitely beautiful and the white slimes, just like your kin, seems to envy us. So please recover the stolen mirrors.
+
+Bring me %d %s. I cannot tell you what for, though!
+Bring me %d %s. I cannot tell you what for, though!
+
+Bring me %s or make your own party if you want to help me.
+Bring me %s or make your own party if you want to help me.
+
+Bring me 10 @@. I'll pay you some money for that, of course.
+Bring me 10 @@. I'll pay you some money for that, of course.
+
+Bring me @@ Bandits or Sarracenus heads, or the double of that in Desert Log Heads, and I'll consider you brave enough.
+Bring me @@ Bandits or Sarracenus heads, or the double of that in Desert Log Heads, and I'll consider you brave enough.
+
+Bring me the proof of your devotion, and I shall arrange you an audience with the Queen.
+Bring me the proof of your devotion, and I shall arrange you an audience with the Queen.
+
+Bring me the stolen item, pretty please.
+Bring me the stolen item, pretty please.
+
+Bring me this and I'll spawn it for you:
+Bring me this and I'll spawn it for you:
+
+Bring me your wood, and I'll show you which one is sturdy, yet flexible enough to make a good Forest Bow.
+Bring me your wood, and I'll show you which one is sturdy, yet flexible enough to make a good Forest Bow.
+
+Bring me, my worst nightmare.
+Bring me, my worst nightmare.
+
+Brit Shield
+Brit Shield
+
+Broadsword
+Broadsword
+
+Broadsword!
+Broadsword!
+
+Broken Doll
+Broken Doll
+
+Broken Four Leaf Amulet
+Broken Four Leaf Amulet
+
+Broken Medal
+Broken Medal
+
+Broken Warp Crystal
+Broken Warp Crystal
+
+Bromenal Boots
+Bromenal Boots
+
+Bromenal Chest
+Bromenal Chest
+
+Bromenal Four-Leaf Amulet
+Bromenal Four-Leaf Amulet
+
+Bromenal Gloves
+Bromenal Gloves
+
+Bromenal Helmet
+Bromenal Helmet
+
+Bromenal Pants
+Bromenal Pants
+
+Bromenal Shield
+Bromenal Shield
+
+Bronze Boss Gift
+Bronze Boss Gift
+
+Bronze Braknar Shield
+Bronze Braknar Shield
+
+Bronze Chest
+Bronze Chest
+
+Bronze Gift
+Bronze Gift
+
+Bronze Gladius
+Bronze Gladius
+
+Bronze Medal
+Bronze Medal
+
+Bronze Quiver
+Bronze Quiver
+
+Brown Dye
+Brown Dye
+
+Brr! It's extremely cold! I cannot go there!
+Brr! It's extremely cold! I cannot go there!
+
+Brrrr... I'm freezing! The winter at Nivalis is so harsh!!
+Brrrr... I'm freezing! The winter at Nivalis is so harsh!!
+
+Buccaneer
+Buccaneer
+
+Bucket
+Bucket
+
+Bug Leg
+Bug Leg
+
+Bug Slayer
+Bug Slayer
+
+Bug, report me!
+Bug, report me!
+
+Build a bridge with wooden logs!
+Build a bridge with wooden logs!
+
+Bull Helmet
+Bull Helmet
+
+Bullet
+Bullet
+
+Bunny Ears
+Bunny Ears
+
+Burglar Mask
+Burglar Mask
+
+Burn the potion
+Burn the potion
+
+Burn, destroy, do whatever you need, until your last breath, my lieutenants and colonels!
+Burn, destroy, do whatever you need, until your last breath, my lieutenants and colonels!
+
+Burning
+Burning
+
+But %s is too valuable to burn and there is no alternative fuel for forges. It sells for %d GP and we are just wasting it here.
+But %s is too valuable to burn and there is no alternative fuel for forges. It sells for %d GP and we are just wasting it here.
+
+But I can sell ya a %s for %d GP. Interested?
+But I can sell ya a %s for %d GP. Interested?
+
+But I can still make it without cookies, as long that you bring me some other sweeties.
+But I can still make it without cookies, as long that you bring me some other sweeties.
+
+But I can try my best for you!
+But I can try my best for you!
+
+But I can't help but keep thinking on how many shiny treasures might be there!
+But I can't help but keep thinking on how many shiny treasures might be there!
+
+But I need to!
+But I need to!
+
+But I should probably get inside it, first.
+But I should probably get inside it, first.
+
+But I want to swim!
+But I want to swim!
+
+But I will not give up on my little experiment. Incidentally, Snakes are shaddy enough for my experiment. I promise you, I'll succeed this time.
+But I will not give up on my little experiment. Incidentally, Snakes are shaddy enough for my experiment. I promise you, I'll succeed this time.
+
+But I'm almost out of @@...
+But I'm almost out of @@...
+
+But all I could do was a bite.
+But all I could do was a bite.
+
+But also very amusing. I'm sure Pihro and Pyndragon, the town mayors, will fancy this request of yours.
+But also very amusing. I'm sure Pihro and Pyndragon, the town mayors, will fancy this request of yours.
+
+But as you're here now, could you do me a favour?
+But as you're here now, could you do me a favour?
+
+But be careful: do not scream when using a lot of capital letters, and do not keep repeating the lines, and above all DO NOT SPAM, or you may be severely penalized.
+But be careful: do not scream when using a lot of capital letters, and do not keep repeating the lines, and above all DO NOT SPAM, or you may be severely penalized.
+
+But be careful: learning fees and research points WILL NOT be given back!
+But be careful: learning fees and research points WILL NOT be given back!
+
+But be warned, I don't have the Apple with me. It must be further in.
+But be warned, I don't have the Apple with me. It must be further in.
+
+But before, a message from our developers!
+But before, a message from our developers!
+
+But can I help you?
+But can I help you?
+
+But come back in a few hours, I didn't lost all @@!
+But come back in a few hours, I didn't lost all @@!
+
+But do you want to hear a song about the world, or about grinding?
+But do you want to hear a song about the world, or about grinding?
+
+But don't worry! South of here we have an Inn.
+But don't worry! South of here we have an Inn.
+
+But don't worry, because as they say: The more you learn, the better you get at learning!
+But don't worry, because as they say: The more you learn, the better you get at learning!
+
+But dragons came and started roaming this island. My friends are now either dead or missing. You look big and strong, do you want to avenge me?
+But dragons came and started roaming this island. My friends are now either dead or missing. You look big and strong, do you want to avenge me?
+
+But due to all of the chaos from when the slimes escaped, most of the phials of colored ink were broken. How am I supposed to do the illustrations without color?
+But due to all of the chaos from when the slimes escaped, most of the phials of colored ink were broken. How am I supposed to do the illustrations without color?
+
+But first... My throat is dry. Can you bring me a beer?
+But first... My throat is dry. Can you bring me a beer?
+
+But for now, we must NOT enrage the Moubootaur!!
+But for now, we must NOT enrage the Moubootaur!!
+
+But he have lots of enemies... It would not surprise me to find him struck somewhere.
+But he have lots of enemies... It would not surprise me to find him struck somewhere.
+
+But hope is not lost, said the Sages of Fate!
+But hope is not lost, said the Sages of Fate!
+
+But if I do, I'll not return. Neither me, nor Raid. Which is why I'm taking precautions: This diary. In the event of my death, please bury my body and contact Halinarzo.
+But if I do, I'll not return. Neither me, nor Raid. Which is why I'm taking precautions: This diary. In the event of my death, please bury my body and contact Halinarzo.
+
+But if a mage wants to be a warrior, they won't be able to use their full magic skills.
+But if a mage wants to be a warrior, they won't be able to use their full magic skills.
+
+But if you and other players surrounds the monster instead, they'll suffer the same penalties!
+But if you and other players surrounds the monster instead, they'll suffer the same penalties!
+
+But if you believe in such cool challenge like mine there should be no dishonorable fight, comment it on Discord!
+But if you believe in such cool challenge like mine there should be no dishonorable fight, comment it on Discord!
+
+But if you bring me %d %s and %d %s and %s GP, I can give you a %s!
+But if you bring me %d %s and %d %s and %s GP, I can give you a %s!
+
+But if you keep harming the forest, this will be for naught. Was I clear?
+But if you keep harming the forest, this will be for naught. Was I clear?
+
+But if you only want to sit down and chat, this area is ideal for you!
+But if you only want to sit down and chat, this area is ideal for you!
+
+But if you regret this choice later... You know where you can find me.
+But if you regret this choice later... You know where you can find me.
+
+But if you want to be guard, you must be brave! Go fight your fears, and go kill some bandits like a decent guard.
+But if you want to be guard, you must be brave! Go fight your fears, and go kill some bandits like a decent guard.
+
+But if you want, you can farm @@ already. Good luck!
+But if you want, you can farm @@ already. Good luck!
+
+But if you're looking to go to the World Edge, the place where THE WORLD WILL DIE, I guess you are immune to rumors.
+But if you're looking to go to the World Edge, the place where THE WORLD WILL DIE, I guess you are immune to rumors.
+
+But if you're not skilled enough, or lose control of it, a Moggun might be spawned instead. Which is a young, weak, baby Yeti.
+But if you're not skilled enough, or lose control of it, a Moggun might be spawned instead. Which is a young, weak, baby Yeti.
+
+But if you're wrong, you'll have to pay up! There's no refunds. This is gambling, if you lose you lose!
+But if you're wrong, you'll have to pay up! There's no refunds. This is gambling, if you lose you lose!
+
+But in accordance to an old %s, you were unlucky.
+But in accordance to an old %s, you were unlucky.
+
+But instead of dying a Monster King he became!
+But instead of dying a Monster King he became!
+
+But it is a massive organization, recognized by everyone. Guilds train with other guilds, for huge profits.
+But it is a massive organization, recognized by everyone. Guilds train with other guilds, for huge profits.
+
+But it is a so silly fight, that whoever you join with shouldn't do much difference.
+But it is a so silly fight, that whoever you join with shouldn't do much difference.
+
+But it is spring! Perhaps, if you bring me some flowers and fruits which only grow at Spring, I could impress her!
+But it is spring! Perhaps, if you bring me some flowers and fruits which only grow at Spring, I could impress her!
+
+But it is still too early to give it away to a %s children.
+But it is still too early to give it away to a %s children.
+
+But it will not help you to craft something as complex as weapons or armors. If we catch you profaning this magic... I'll have you returned to the sea %%e
+But it will not help you to craft something as complex as weapons or armors. If we catch you profaning this magic... I'll have you returned to the sea %%e
+
+But it's ultimate goal of miners there.
+But it's ultimate goal of miners there.
+
+But maybe you could help me killing a few maggots?
+But maybe you could help me killing a few maggots?
+
+But maybe you should help other people and get some levels before returning to me.
+But maybe you should help other people and get some levels before returning to me.
+
+But my case requires extended treatment. I need to be hospitalized. I'm afraid it is too late for the Elixir to have effect...
+But my case requires extended treatment. I need to be hospitalized. I'm afraid it is too late for the Elixir to have effect...
+
+But now, we are quite old. I remember the time when I was your age. My generation doesn't do stupid things like yours!
+But now, we are quite old. I remember the time when I was your age. My generation doesn't do stupid things like yours!
+
+But please be picky with how you spend job points. They are hard to come by, and I'm not entirely sure you can change it later.
+But please be picky with how you spend job points. They are hard to come by, and I'm not entirely sure you can change it later.
+
+But pretty much, anything which contributes to the common knowledge of this world. It might even be writing a NPC telling about the world history, developing software for Wiki/GameInfo/etc., it all depends on the scholars.
+But pretty much, anything which contributes to the common knowledge of this world. It might even be writing a NPC telling about the world history, developing software for Wiki/GameInfo/etc., it all depends on the scholars.
+
+But remember: %s
+But remember: %s
+
+But remember: This makes you much more vulnerable, and you usually cannot hit from too close, so watch your step and don't stumble into your enemy's attack.
+But remember: This makes you much more vulnerable, and you usually cannot hit from too close, so watch your step and don't stumble into your enemy's attack.
+
+But she is a fairy. She won't be pleased with flowers. Instead, go and give her a %s as a token of good will.
+But she is a fairy. She won't be pleased with flowers. Instead, go and give her a %s as a token of good will.
+
+But still, he can't just walk in there, fiddle with the experiments and disturb the helpers doing their work.
+But still, he can't just walk in there, fiddle with the experiments and disturb the helpers doing their work.
+
+But thanks to your %s skills, maybe you can pry this open.
+But thanks to your %s skills, maybe you can pry this open.
+
+But that is unlikely, we have no reason to sabotage our own work! You saw the mess it caused. Everyone knew it was important.
+But that is unlikely, we have no reason to sabotage our own work! You saw the mess it caused. Everyone knew it was important.
+
+But that's no excuse for cowardice!
+But that's no excuse for cowardice!
+
+But that's not so easy... I already sent many people, and even come myself, but he refuses to help.
+But that's not so easy... I already sent many people, and even come myself, but he refuses to help.
+
+But the box was empty.
+But the box was empty.
+
+But the game still is in development, so not every great feat was added yet.
+But the game still is in development, so not every great feat was added yet.
+
+But the game still is in development, so not every quest was added yet.
+But the game still is in development, so not every quest was added yet.
+
+But the monsters around here must be pretty scary for someone like you.
+But the monsters around here must be pretty scary for someone like you.
+
+But the more you use a certain skill, the less research points will be required to upgrade it. And that bonus is permanent.
+But the more you use a certain skill, the less research points will be required to upgrade it. And that bonus is permanent.
+
+But the most useful thing might be drinking %s and the like. They also boost drop rates, but weak drinks effects are low and short.
+But the most useful thing might be drinking %s and the like. They also boost drop rates, but weak drinks effects are low and short.
+
+But the teddy unexpectedly starts moving towards your bag, possibly attracted by some smell. You give up on approaching it, and starts watching it.
+But the teddy unexpectedly starts moving towards your bag, possibly attracted by some smell. You give up on approaching it, and starts watching it.
+
+But the teddy, noticing your movement, starts getting farther from you. It doesn't seems scared, but it doesn't allows you to approach either.
+But the teddy, noticing your movement, starts getting farther from you. It doesn't seems scared, but it doesn't allows you to approach either.
+
+But then, Andrei Sakar appeared. Hope was not lost. We could still defend it.
+But then, Andrei Sakar appeared. Hope was not lost. We could still defend it.
+
+But there was only @@ GP inside.
+But there was only @@ GP inside.
+
+But there was only a(n) @@ inside.
+But there was only a(n) @@ inside.
+
+But this is not a time of need, so it is unlikely to appear even if all other conditions were to be met.
+But this is not a time of need, so it is unlikely to appear even if all other conditions were to be met.
+
+But this is not important. They are dangerous. They must be stop at any cost!
+But this is not important. They are dangerous. They must be stop at any cost!
+
+But to be fair, from what I've seen Peetu was always very attentive and dutiful.
+But to be fair, from what I've seen Peetu was always very attentive and dutiful.
+
+But to defeat this dummy, I would say that %s should do the trick.
+But to defeat this dummy, I would say that %s should do the trick.
+
+But unfortunately, a loose stone lodges and you fall to your death.
+But unfortunately, a loose stone lodges and you fall to your death.
+
+But unfortunately, it was harder than you thought. You are dead.
+But unfortunately, it was harder than you thought. You are dead.
+
+But unfortunately, whoever made this riddle disagrees with me.
+But unfortunately, whoever made this riddle disagrees with me.
+
+But unless you touch a Mana Stone and get stronger magic, that would be as useful as teaching magic to a wall. No offense.
+But unless you touch a Mana Stone and get stronger magic, that would be as useful as teaching magic to a wall. No offense.
+
+But we are working day and night. We hope that soon, more people come out and this place gets lively again.
+But we are working day and night. We hope that soon, more people come out and this place gets lively again.
+
+But we cannot ignore the threat this imposes to us. You might not know our world's history, but this place should never be inhabited or else...
+But we cannot ignore the threat this imposes to us. You might not know our world's history, but this place should never be inhabited or else...
+
+But we took every stone, and restricted the magic.
+But we took every stone, and restricted the magic.
+
+But what I really hate is that they forbid gossiping.
+But what I really hate is that they forbid gossiping.
+
+But when I left him to look at the books on his own, he sneaked over to the workshop area. Visitors are allowed to have a look there, but only if they don't interfere with any research and experiments. But it seems he was being rather disturbing, since they sent them back to the library part.
+But when I left him to look at the books on his own, he sneaked over to the workshop area. Visitors are allowed to have a look there, but only if they don't interfere with any research and experiments. But it seems he was being rather disturbing, since they sent them back to the library part.
+
+But who am I?
+But who am I?
+
+But who cares? We need to save the Professor! During night, monsters are stronger, so they'll probably attack at night time!
+But who cares? We need to save the Professor! During night, monsters are stronger, so they'll probably attack at night time!
+
+But with a @@, when you are about to die, you can warp back to Soul Menhir and bypass death penalty.
+But with a @@, when you are about to die, you can warp back to Soul Menhir and bypass death penalty.
+
+But you already have Mylarin Dust! That's good, because I no longer craft savior pieces. But. For %s GP I'll give you a %s and if you're lucky, it'll have the recipe you're after.
+But you already have Mylarin Dust! That's good, because I no longer craft savior pieces. But. For %s GP I'll give you a %s and if you're lucky, it'll have the recipe you're after.
+
+But you are welcome to reset your stats again! I need the money.
+But you are welcome to reset your stats again! I need the money.
+
+But you can also wear a %s instead, no problem.
+But you can also wear a %s instead, no problem.
+
+But you did not hit... have another try.
+But you did not hit... have another try.
+
+But you don't have any experience at the moment, so what do you have to lose?
+But you don't have any experience at the moment, so what do you have to lose?
+
+But you have already given me firewood today. Come back tomorrow, pal.
+But you have already given me firewood today. Come back tomorrow, pal.
+
+But you lack magic! That's a pity."
+But you lack magic! That's a pity."
+
+But you seem to have come from more savage and barbaric towns, so if you could bring me %d %s, that would be truly helpful.
+But you seem to have come from more savage and barbaric towns, so if you could bring me %d %s, that would be truly helpful.
+
+But you won't *hic* me this time...
+But you won't *hic* me this time...
+
+But you're too slow to catch any of them. Sorry.
+But you're too slow to catch any of them. Sorry.
+
+But you're too slow. Sorry.
+But you're too slow. Sorry.
+
+But you're too weak to beat any of them. Sorry.
+But you're too weak to beat any of them. Sorry.
+
+But you're too weak. Sorry.
+But you're too weak. Sorry.
+
+But your silly map must be wrong. These passages do not connect themselves like this, but this should not be an issue, as they're not relevant.
+But your silly map must be wrong. These passages do not connect themselves like this, but this should not be an issue, as they're not relevant.
+
+But, I found something really interesting! Ah... I hope you like history?
+But, I found something really interesting! Ah... I hope you like history?
+
+But, hm hm hm! I have a %s for you! It won't have what you wanted, but maybe you're lucky, after all?
+But, hm hm hm! I have a %s for you! It won't have what you wanted, but maybe you're lucky, after all?
+
+But, it wouldn't look nice if I let you do all the killing! The other guards are working right now!
+But, it wouldn't look nice if I let you do all the killing! The other guards are working right now!
+
+But- But you have to! It is the
+But- But you have to! It is the
+
+But... But! Where are you?! That summon ritual is equivalent to GM magic!
+But... But! Where are you?! That summon ritual is equivalent to GM magic!
+
+Butcher Knife
+Butcher Knife
+
+Butterfly
+Butterfly
+
+Buy
+Buy
+
+Buy a Housing Letter
+Buy a Housing Letter
+
+Buy a mercenary card
+Buy a mercenary card
+
+Buy cheap, sell expensive!
+Buy cheap, sell expensive!
+
+Buying rares
+Buying rares
+
+By "breaking", I do not mean death. It is something worse.
+By "breaking", I do not mean death. It is something worse.
+
+By far, the most important holiday on Moubootaur Legends.
+By far, the most important holiday on Moubootaur Legends.
+
+By last, east of here are the Canyons. Do not go there before level 20, and even then, do not engage snakes in combat. They are fast and very dangerous.
+By last, east of here are the Canyons. Do not go there before level 20, and even then, do not engage snakes in combat. They are fast and very dangerous.
+
+By last, there was the Blue Sage, living on Nivalis... I never met him outside the Council.
+By last, there was the Blue Sage, living on Nivalis... I never met him outside the Council.
+
+By pressing @@, you can open the Shortcut menu. And by pressing @@, you open the skill menu!
+By pressing @@, you can open the Shortcut menu. And by pressing @@, you open the skill menu!
+
+By sitting in the rug in front of the professor (the one with benches)
+By sitting in the rug in front of the professor (the one with benches)
+
+By the way , it is done already. You took a long time, you know? Also, we're talking about Pihro and Pyndragon.
+By the way , it is done already. You took a long time, you know? Also, we're talking about Pihro and Pyndragon.
+
+By the way would you like to transform your gem?#0
+By the way would you like to transform your gem?
+
+By the way would you like to transform your gem?#1
+By the way would you like to transform your gem?
+
+By the way, I can't say for sure it was a man. He smelled like onions, and his face was shinning.
+By the way, I can't say for sure it was a man. He smelled like onions, and his face was shinning.
+
+By the way, I found this Mask after you killed the Fafi Dragon, Maybe you can use it some day.
+By the way, I found this Mask after you killed the Fafi Dragon, Maybe you can use it some day.
+
+By the way, I've heard that the name of the wizard of Aethyr is the key to open its gates. But I don't know neither where the gates are, nor who is the "wizard of Aethyr".
+By the way, I've heard that the name of the wizard of Aethyr is the key to open its gates. But I don't know neither where the gates are, nor who is the "wizard of Aethyr".
+
+By the way, did you know that the official color of Tulimshar is yellow?
+By the way, did you know that the official color of Tulimshar is yellow?
+
+By the way, you need a couple of @@ to try the skill. Fail rate is pretty high if you don't know how to control your magic.
+By the way, you need a couple of @@ to try the skill. Fail rate is pretty high if you don't know how to control your magic.
+
+Bye for now.
+Bye for now.
+
+Bye then!
+Bye then!
+
+Bye!
+Bye!
+
+Bye.
+Bye.
+
+CAPTCHA: An error happened, try again.
+CAPTCHA: An error happened, try again.
+
+CAPTCHA: Cooldown in effect.
+CAPTCHA: Cooldown in effect.
+
+CAPTCHA: Incorrect answer. Wait %ds and try again.
+CAPTCHA: Incorrect answer. Wait %ds and try again.
+
+CAPTCHA: You have %s minute(s) remaining
+CAPTCHA: You have %s minute(s) remaining
+
+CLEAR!
+CLEAR!
+
+COD: Ran out of time!
+COD: Ran out of time!
+
+CONGRATULATIONS! For a semester worth of logins, you're getting a pet!
+CONGRATULATIONS! For a semester worth of logins, you're getting a pet!
+
+CONGRATULATIONS! You are the first player to finish Cindy Quest!!
+CONGRATULATIONS! You are the first player to finish Cindy Quest!!
+
+CONGRATULATIONS! You are the first player to finish Gemini Sisters quest!!
+CONGRATULATIONS! You are the first player to finish Gemini Sisters quest!!
+
+CONGRATULATIONS! You are the first player to finish Heroes Hold Master Dungeon!!
+CONGRATULATIONS! You are the first player to finish Heroes Hold Master Dungeon!!
+
+CONGRATULATIONS! You are the first player to finish The Episode of Ozthokk!!
+CONGRATULATIONS! You are the first player to finish The Episode of Ozthokk!!
+
+CONGRATULATIONS! You are the first player to finish Yeti King quest!!
+CONGRATULATIONS! You are the first player to finish Yeti King quest!!
+
+CONGRATULATIONS! You are the first player to harness all power the Mana Stone would willingly give!
+CONGRATULATIONS! You are the first player to harness all power the Mana Stone would willingly give!
+
+CONGRATULATIONS! You have obtained the %s.
+CONGRATULATIONS! You have obtained the %s.
+
+CONTINUE ANYWAY? [Y/N]
+CONTINUE ANYWAY? [Y/N]
+
+Cactus Cocktail
+Cactus Cocktail
+
+Cactus Drink
+Cactus Drink
+
+Cactus Potion
+Cactus Potion
+
+Cadis : You have slain %s %s out of a million.
+Cadis : You have slain %s %s out of a million.
+
+Cadis Mode
+Cadis Mode
+
+Caelum
+Caelum
+
+Cake Town (Hurnscald)
+Cake Town (Hurnscald)
+
+Call Of Dusty
+Call Of Dusty
+
+Call Of Dusty is a timed event quest. It begins hourly, when the minute clock marks zero.
+Call Of Dusty is a timed event quest. It begins hourly, when the minute clock marks zero.
+
+Calm down! How can I help you?
+Calm down! How can I help you?
+
+Calm down, don't get mad! I was wrong in trusting this map, it is definitely faulty. Lemme see it again...
+Calm down, don't get mad! I was wrong in trusting this map, it is definitely faulty. Lemme see it again...
+
+Calm, perfect for a fly!
+Calm, perfect for a fly!
+
+Camel Dye
+Camel Dye
+
+Camilot
+Camilot
+
+Campaign starts after 60 seconds. Eight maggots will spawn on the next 100 seconds.
+Campaign starts after 60 seconds. Eight maggots will spawn on the next 100 seconds.
+
+Can I become a miner?
+Can I become a miner?
+
+Can I find a mana source here?
+Can I find a mana source here?
+
+Can I have a Blanket, at least?
+Can I have a Blanket, at least?
+
+Can I help you somehow today?
+Can I help you somehow today?
+
+Can I help you with something?
+Can I help you with something?
+
+Can I help you?
+Can I help you?
+
+Can I read these rules again?
+Can I read these rules again?
+
+Can I return to the shrine?
+Can I return to the shrine?
+
+Can we get back to that later?
+Can we get back to that later?
+
+Can we keep %s at bay long enough?
+Can we keep %s at bay long enough?
+
+Can you bring me 3 @@? Of course, you'll be rewarded.
+Can you bring me 3 @@? Of course, you'll be rewarded.
+
+Can you bring me 5 pieces of Cherry Cake? Pretty please?
+Can you bring me 5 pieces of Cherry Cake? Pretty please?
+
+Can you come back with all the items I asked for? Please.
+Can you come back with all the items I asked for? Please.
+
+Can you craft Chainmail Skirt?
+Can you craft Chainmail Skirt?
+
+Can you craft Chainmail?
+Can you craft Chainmail?
+
+Can you craft Light Platemail?
+Can you craft Light Platemail?
+
+Can you craft Savior Equipment?
+Can you craft Savior Equipment?
+
+Can you craft Warlord Plate?
+Can you craft Warlord Plate?
+
+Can you do something with my color?
+Can you do something with my color?
+
+Can you do that? I'll be waiting!
+Can you do that? I'll be waiting!
+
+Can you fetch with her? 12 %s.
+Can you fetch with her? 12 %s.
+
+Can you give me a @@ or a @@
+Can you give me a @@ or a @@
+
+Can you give me a tip?
+Can you give me a tip?
+
+Can you give me half the gold and half the monster points?
+Can you give me half the gold and half the monster points?
+
+Can you help me find some @@?
+Can you help me find some @@?
+
+Can you help me with Everburn Powder? I need 5.
+Can you help me with Everburn Powder? I need 5.
+
+Can you help me?
+Can you help me?
+
+Can you improve my Light Platemail for me?
+Can you improve my Light Platemail for me?
+
+Can you improve my Warlord Plate for me?
+Can you improve my Warlord Plate for me?
+
+Can you make me a Monster Potion?
+Can you make me a Monster Potion?
+
+Can you mix Gem Powder?
+Can you mix Gem Powder?
+
+Can you mix me an agility potion?
+Can you mix me an agility potion?
+
+Can you please explain the task again?
+Can you please explain the task again?
+
+Can you please go away?
+Can you please go away?
+
+Can you please repeat your lesson?
+Can you please repeat your lesson?
+
+Can you repeat what you said before?
+Can you repeat what you said before?
+
+Can you reset my stats please?
+Can you reset my stats please?
+
+Can you search ##Bthe barrels##b for the bug bomb and set it off when you find it?
+Can you search ##Bthe barrels##b for the bug bomb and set it off when you find it?
+
+Can you sing me a song?
+Can you sing me a song?
+
+Can you teach me Mana Magic?
+Can you teach me Mana Magic?
+
+Can you teach me a basic shaman skill? please?
+Can you teach me a basic shaman skill? please?
+
+Can you teach me a spell?
+Can you teach me a spell?
+
+Can you teach me magic? Pretty please?
+Can you teach me magic? Pretty please?
+
+Can you teach me some Alchemy Recipe?
+Can you teach me some Alchemy Recipe?
+
+Can you, perhaps, do me a favor? Please... Check her house for any signs of battle.
+Can you, perhaps, do me a favor? Please... Check her house for any signs of battle.
+
+Can't I do anything, though?
+Can't I do anything, though?
+
+Can't blame you, can't blame you at all! Here, take a seat!
+Can't blame you, can't blame you at all! Here, take a seat!
+
+Can't chat, recover HP over time
+Can't chat, recover HP over time
+
+Can't leave right now.
+Can't leave right now.
+
+Can't move nor attack, crit def -100%
+Can't move nor attack, crit def -100%
+
+Can't move nor evade.
+Can't move nor evade.
+
+Can't move, Acc. and Evade -20%%
+Can't move, Acc. and Evade -20%%
+
+Can't move, DEF-, Damage over time, Earth element
+Can't move, DEF-, Damage over time, Earth element
+
+Can't move, DEF-, no evade, Water element
+Can't move, DEF-, no evade, Water element
+
+Can't talk right now, I'm on patrol duty.
+Can't talk right now, I'm on patrol duty.
+
+Can't use skills
+Can't use skills
+
+Can't you see I'm busy?
+Can't you see I'm busy?
+
+Cancel
+Cancel
+
+Candied Slime
+Candied Slime
+
+Candle Helmet
+Candle Helmet
+
+Candor
+Candor
+
+Candor - @@ GP
+Candor - @@ GP
+
+Candor Battle Score: %s
+Candor Battle Score: %s
+
+Candor Battle Season
+Candor Battle Season
+
+Candor Bloodbath Score: %s
+Candor Bloodbath Score: %s
+
+Candor Bola
+Candor Bola
+
+Candor Boots
+Candor Boots
+
+Candor Gloves
+Candor Gloves
+
+Candor Head Band
+Candor Head Band
+
+Candor Island
+Candor Island
+
+Candor Island, then? Yes, that is a pretty island, right?
+Candor Island, then? Yes, that is a pretty island, right?
+
+Candor Scorpion
+Candor Scorpion
+
+Candor Shirt
+Candor Shirt
+
+Candor Shorts
+Candor Shorts
+
+Candor Survival : New Highscore: %s
+Candor Survival : New Highscore: %s
+
+Candor Warp Crystal
+Candor Warp Crystal
+
+Candor's Nurse
+Candor's Nurse
+
+CandorShip
+CandorShip
+
+Candy
+Candy
+
+Candy Cane
+Candy Cane
+
+Canyon - Safe Route
+Canyon - Safe Route
+
+Canyon - Settlement Route
+Canyon - Settlement Route
+
+Cap
+Cap
+
+Captain
+Captain
+
+Captain Cap
+Captain Cap
+
+Captain Nard
+Captain Nard
+
+Captain Nard have it. Fetch it with him! Quick, you only have @@ left!
+Captain Nard have it. Fetch it with him! Quick, you only have @@ left!
+
+Captain, why have you brought me to a deserted boring island?!
+Captain, why have you brought me to a deserted boring island?!
+
+Captcha ok
+Captcha ok
+
+Captcha successful
+Captcha successful
+
+Caramel Candy
+Caramel Candy
+
+Cards are ranked on this priority: A - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - J - Q - K - Joker
+Cards are ranked on this priority: A - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - J - Q - K - Joker
+
+Careful: You have unsaved changes!
+Careful: You have unsaved changes!
+
+Carla
+Carla
+
+Carrot
+Carrot
+
+Casino Coins
+Casino Coins
+
+Cassia
+Cassia
+
+Cat Ears
+Cat Ears
+
+Catch the Golden Fish!
+Catch the Golden Fish!
+
+Catch the golden fish swarm!
+Catch the golden fish swarm!
+
+Cato Mil
+Cato Mil
+
+Catty Cat
+Catty Cat
+
+Cauldron#MKHB
+Cauldron#MKHB
+
+Cauldron#RES_0128
+Cauldron#RES_0128
+
+Cauldron#RES_PPL
+Cauldron#RES_PPL
+
+Cause a very strong attack with lowered accuracy.
+Cause a very strong attack with lowered accuracy.
+
+Causes a healing effect in area to guild members.
+Causes a healing effect in area to guild members.
+
+Caution
+Caution
+
+Cave Bat
+Cave Bat
+
+Cave Maggot
+Cave Maggot
+
+Cave Maggot
+Cave Maggot
+
+Cave Snake
+Cave Snake
+
+Cave Snake Egg
+Cave Snake Egg
+
+Cave Snake Hat
+Cave Snake Hat
+
+Cave Snake Lamp
+Cave Snake Lamp
+
+Cave Snake Skin
+Cave Snake Skin
+
+Cave Snake Tongue
+Cave Snake Tongue
+
+Cave Snale
+Cave Snale
+
+CaveMaggot
+CaveMaggot
+
+Celestia
+Celestia
+
+Celestia Season
+Celestia Season
+
+Celestia Tea
+Celestia Tea
+
+Celestia asks for your help.
+Celestia asks for your help.
+
+Celestia eyes sparkles.
+Celestia eyes sparkles.
+
+Celestia hands you a cup filled with some type of tea that is unlike anything you have seen before.
+Celestia hands you a cup filled with some type of tea that is unlike anything you have seen before.
+
+Celestia then picks up the cup of tea and drinks it in front of you to demonstrate that it is not only harmless but also quite delectable.
+Celestia then picks up the cup of tea and drinks it in front of you to demonstrate that it is not only harmless but also quite delectable.
+
+Cell Door#G01
+Cell Door#G01
+
+Cell Door#G02
+Cell Door#G02
+
+Cell Door#G03
+Cell Door#G03
+
+Cell Door#K01
+Cell Door#K01
+
+Centaur
+Centaur
+
+Centaur Spear
+Centaur Spear
+
+Central Switch#EP
+Central Switch#EP
+
+Centurion Helmet
+Centurion Helmet
+
+Certainly not. Uhh, please excuse me.
+Certainly not. Uhh, please excuse me.
+
+Certainly, you can have all my Terranite Ore.
+Certainly, you can have all my Terranite Ore.
+
+Ch 1 — Fishing apparatus
+Ch 1 — Fishing apparatus
+
+Ch 1 — Prologue
+Ch 1 — Prologue
+
+Ch 2 — About Magic Skills
+Ch 2 — About Magic Skills
+
+Ch 2 — Baits
+Ch 2 — Baits
+
+Ch 3 — Location
+Ch 3 — Location
+
+Ch 3 — Status Ailments
+Ch 3 — Status Ailments
+
+Ch 4 — Casting
+Ch 4 — Casting
+
+Ch 4 — Information About You
+Ch 4 — Information About You
+
+Ch 5 — Information About Others
+Ch 5 — Information About Others
+
+Ch 5 — Reeling
+Ch 5 — Reeling
+
+Chagashroom
+Chagashroom
+
+Chagashroom Field
+Chagashroom Field
+
+Chagashroom Field
+Chagashroom Field
+
+Chainmail
+Chainmail
+
+Chainmail Skirt
+Chainmail Skirt
+
+Chairs
+Chairs
+
+Chamomile Tea
+Chamomile Tea
+
+Championship Bow
+Championship Bow
+
+Change Crafting Options
+Change Crafting Options
+
+Change Language
+Change Language
+
+Change Linked Discord Account
+Change Linked Discord Account
+
+Change Season Event
+Change Season Event
+
+Change crafting method
+Change crafting method
+
+Change my appearance
+Change my appearance
+
+Change my quests
+Change my quests
+
+Change weapons
+Change weapons
+
+Changes include but are not limited to festive events and dates.
+Changes include but are not limited to festive events and dates.
+
+Chanting
+Chanting
+
+Chanting Challenge
+Chanting Challenge
+
+Chanting is extremely simple, and everyone can do it, even if they're not inate.
+Chanting is extremely simple, and everyone can do it, even if they're not inate.
+
+Chaos shall be the founding stone of my town! Falling star!
+Chaos shall be the founding stone of my town! Falling star!
+
+Char Name: @@
+Char Name: @@
+
+Charda
+Charda
+
+Charda clean!
+Charda clean!
+
+Charles, Trader King
+Charles, Trader King
+
+Cheater detected! You have a three minutes sentence to fulfill, now.
+Cheater detected! You have a three minutes sentence to fulfill, now.
+
+Cheater detected.
+Cheater detected.
+
+Check @@ <= @@
+Check @@ <= @@
+
+Checkpoint Guard#1
+Checkpoint Guard
+
+Checkpoint Guard#2
+Checkpoint Guard#2
+
+Checkpoint Guard#3
+Checkpoint Guard#3
+
+Checkpoint Guard#4
+Checkpoint Guard#4
+
+Checkpoint! Magic Barrier went down!
+Checkpoint! Magic Barrier went down!
+
+Ched
+Ched
+
+Cheers!
+Cheers!
+
+Cheese
+Cheese
+
+Chef Gado
+Chef Gado
+
+Chef Hat
+Chef Hat
+
+Chef#dimond
+Chef#dimond
+
+Cherry
+Cherry
+
+Cherry Cake
+Cherry Cake
+
+Cherry Cocktail
+Cherry Cocktail
+
+Chest Armor Recipes
+Chest Armor Recipes
+
+Chest#002-1
+Chest#002-1
+
+Chest#gemini
+Chest#gemini
+
+Chestplates
+Chestplates
+
+Chicken Leg
+Chicken Leg
+
+Chirp
+Chirp
+
+Chocolate Bar
+Chocolate Bar
+
+Chocolate Biscuit
+Chocolate Biscuit
+
+Chocolate Bunny
+Chocolate Bunny
+
+Chocolate Dye
+Chocolate Dye
+
+Chocolate Mouboo
+Chocolate Mouboo
+
+Chocolate Slime
+Chocolate Slime
+
+Chocolate Slime Mother
+Chocolate Slime Mother
+
+Christmas
+Christmas
+
+Christmas 2021 Joint Event
+Christmas 2021 Joint Event
+
+Christmas Chief
+Christmas Chief
+
+Christmas Cook
+Christmas Cook
+
+Christmas Gift
+Christmas Gift
+
+Christmas Storage Master
+Christmas Storage Master
+
+Christmas Sweater
+Christmas Sweater
+
+Christmas Top 1 Prize
+Christmas Top 1 Prize
+
+Christmas Tree
+Christmas Tree
+
+Cindy is gone...
+Cindy is gone...
+
+Cindy is too scared to leave; Better we kill the Yetis and their friends!
+Cindy is too scared to leave; Better we kill the Yetis and their friends!
+
+Cindy#Outside
+Cindy#Outside
+
+Cindy#house
+Cindy#house
+
+Citizen
+Citizen
+
+Civil status: Married
+Civil status: Married
+
+Civil status: Single
+Civil status: Single
+
+Civilian traffic keeps declining but they keep bringing more crates back and forth! Crates filled with rubble!
+Civilian traffic keeps declining but they keep bringing more crates back and forth! Crates filled with rubble!
+
+Clan Name: @@
+Clan Name: @@
+
+Claw Pendant
+Claw Pendant
+
+Clear the arena to leave!
+Clear the arena to leave!
+
+Cleared Gemini Sisters Quest %s ago
+Cleared Gemini Sisters Quest %s ago
+
+Cleared Heroes Hold %s ago
+Cleared Heroes Hold %s ago
+
+Cleared the Yeti King Challenge %s ago
+Cleared the Yeti King Challenge %s ago
+
+Clearly an exotic tea, with a refined flavor fit for a refined woman such as Celestia.
+Clearly an exotic tea, with a refined flavor fit for a refined woman such as Celestia.
+
+Cleric Cap
+Cleric Cap
+
+Cleric Card
+Cleric Card
+
+Cleric Card S
+Cleric Card S
+
+Cleric Card X
+Cleric Card X
+
+Click "Next" to begin the fight.
+Click "Next" to begin the fight.
+
+Click on Elmo or Magic Arpan to continue and begin the game...
+Click on Elmo or Magic Arpan to continue and begin the game...
+
+Click on the NPCs (Non-Player Characters) around you to continue the introduction.
+Click on the NPCs (Non-Player Characters) around you to continue the introduction.
+
+Climb on the walls!
+Climb on the walls!
+
+Close
+Close
+
+Closed Christmas Box
+Closed Christmas Box
+
+Clotho Liquor
+Clotho Liquor
+
+Clover Field
+Clover Field
+
+Clover Patch
+Clover Patch
+
+Coal
+Coal
+
+Coal (2 power)
+Coal (2 power)
+
+Cobalt Herb
+Cobalt Herb
+
+Cobalt Plant
+Cobalt Plant
+
+Coffee
+Coffee
+
+Coffee is good, why does the Mouboo refuse to drink it?
+Coffee is good, why does the Mouboo refuse to drink it?
+
+Coffee! I'm awake now!
+Coffee! I'm awake now!
+
+Coin Bag
+Coin Bag
+
+Cold
+Cold
+
+Colin
+Colin
+
+Collaborate by giving this powder to Aurora, before it vanishes!
+Collaborate by giving this powder to Aurora, before it vanishes!
+
+Collect chocolate and love letters from the fluffies
+Collect chocolate and love letters from the fluffies
+
+Collect easter eggs, and exchange them with Lilica!
+Collect easter eggs, and exchange them with Lilica!
+
+Collect the treasured crystals from treasure chests!
+Collect the treasured crystals from treasure chests!
+
+Collect their %s as well, so our wizards can do their magic!
+Collect their %s as well, so our wizards can do their magic!
+
+Colonel DUSTMAN
+Colonel DUSTMAN
+
+Colonel Dustman
+Colonel Dustman
+
+Come after a little while.
+Come after a little while.
+
+Come ancient evil, and bleed everything!
+Come ancient evil, and bleed everything!
+
+Come and visit again!
+Come and visit again!
+
+Come back and give me more gifts!
+Come back and give me more gifts!
+
+Come back in a few hours, and we can fix that!
+Come back in a few hours, and we can fix that!
+
+Come back when you are a higher level.
+Come back when you are a higher level.
+
+Come back when you are at a higher level.
+Come back when you are at a higher level.
+
+Come back when you are stronger and we can trade.
+Come back when you are stronger and we can trade.
+
+Come back when you are stronger.
+Come back when you are stronger.
+
+Come back when you are willing to spend money.
+Come back when you are willing to spend money.
+
+Come back when you have everything.
+Come back when you have everything.
+
+Come back when you have the Snake Eggs for me.
+Come back when you have the Snake Eggs for me.
+
+Come back when you will really need me.
+Come back when you will really need me.
+
+Come meager magic, and hit spot.
+Come meager magic, and hit spot.
+
+Come standard fire, and harm spot.
+Come standard fire, and harm spot.
+
+Come talk to me once you manage to equip the shirt and the shorts!
+Come talk to me once you manage to equip the shirt and the shorts!
+
+Come to my aid! Vanish this fool!
+Come to my aid! Vanish this fool!
+
+Come to the bakery!
+Come to the bakery!
+
+Come try again, some other time.
+Come try again, some other time.
+
+Come, Calling, and Cast are all the same thing.
+Come, Calling, and Cast are all the same thing.
+
+Come, my minions! Lay siege to towns! LEAVE NO OPPOSITION TO ME!
+Come, my minions! Lay siege to towns! LEAVE NO OPPOSITION TO ME!
+
+Comfortable grip is important especially for newcomers, since they'll be holding it for quite a while.
+Comfortable grip is important especially for newcomers, since they'll be holding it for quite a while.
+
+Command not permitted on this map! Check npc/functions/weather.conf
+Command not permitted on this map! Check npc/functions/weather.conf
+
+Commander Cadis
+Commander Cadis
+
+Commander Povo
+Commander Povo
+
+Commands.
+Commands.
+
+Commmon Fluffy
+Commmon Fluffy
+
+Common Carp
+Common Carp
+
+Common Drops:
+Common Drops:
+
+Common Drops: None
+Common Drops: None
+
+Common Fluffy
+Common Fluffy
+
+Common Maggot
+Common Maggot
+
+Common Mouboo
+Common Mouboo
+
+Common Scorpion
+Common Scorpion
+
+Community Decision
+Community Decision
+
+Community Shirt
+Community Shirt
+
+Compact
+Compact
+
+Compact forge stones
+Compact forge stones
+
+Compatibility Support mode enabled. Client may crash AT RANDOM, beware.
+Compatibility Support mode enabled. Client may crash AT RANDOM, beware.
+
+Compete for the first place, and remember to exchange silver
+Compete for the first place, and remember to exchange silver
+
+Complaints Depto. temporaly closed, come back later
+Complaints Depto. temporaly closed, come back later
+
+Complete Quest?
+Complete Quest?
+
+Complete quests, gain some experience, allocate some status, and you'll be ready for my training.
+Complete quests, gain some experience, allocate some status, and you'll be ready for my training.
+
+Completed Crafts: @@/@@
+Completed Crafts: @@/@@
+
+Completed The Episode of Ozthokk %s ago
+Completed The Episode of Ozthokk %s ago
+
+Completing this quest will allow access to the Guard House, where you can pick Daily Bounties for monsters.
+Completing this quest will allow access to the Guard House, where you can pick Daily Bounties for monsters.
+
+Compliments reaching this far, @@ from the @@ party!
+Compliments reaching this far, @@ from the @@ party!
+
+Confuse
+Confuse
+
+Congrats you passed the level cap of @@! Here is a(n) @@, you deserve it.
+Congrats you passed the level cap of @@! Here is a(n) @@, you deserve it.
+
+Congrats! A pity it was not 777...
+Congrats! A pity it was not 777...
+
+Congrats! You are now part from the Pet Caring Guild. You can now buy pets! %%G
+Congrats! You are now part from the Pet Caring Guild. You can now buy pets! %%G
+
+Congrats! You rank up! You are now a(n) @@!
+Congrats! You rank up! You are now a(n) @@!
+
+Congrats, you did it.
+Congrats, you did it.
+
+Congratulations in making this far, @@.
+Congratulations in making this far, @@.
+
+Congratulations on reaching level 20!
+Congratulations on reaching level 20!
+
+Congratulations on rescuing Cindy.
+Congratulations on rescuing Cindy.
+
+Congratulations on rescuing Cindy. You should now talk to her before leaving.
+Congratulations on rescuing Cindy. You should now talk to her before leaving.
+
+Congratulations to everyone who participated on the event, even those who didn't made to the top 10!
+Congratulations to everyone who participated on the event, even those who didn't made to the top 10!
+
+Congratulations!
+Congratulations!
+
+Congratulations! Everything was correct!
+Congratulations! Everything was correct!
+
+Congratulations! Here is your reward, a @@!
+Congratulations! Here is your reward, a @@!
+
+Congratulations! Here is your reward.
+Congratulations! Here is your reward.
+
+Congratulations! I've managed to process your paperwork. Here, you'll receive the starter kit!
+Congratulations! I've managed to process your paperwork. Here, you'll receive the starter kit!
+
+Congratulations! You've received participation rewards due to the Moubootaur Death.
+Congratulations! You've received participation rewards due to the Moubootaur Death.
+
+Congratulations. You really know about the world lore.
+Congratulations. You really know about the world lore.
+
+Connor
+Connor
+
+Consider it an insurance policy. Besides, %s isn't exactly easy to come by.
+Consider it an insurance policy. Besides, %s isn't exactly easy to come by.
+
+Constable
+Constable
+
+Constable Perry
+Constable Perry
+
+Contact a GM at Migglemire - the small town at center of swamps - to trigger the final showdown.
+Contact a GM at Migglemire - the small town at center of swamps - to trigger the final showdown.
+
+Continue anyway?
+Continue anyway?
+
+Continue anyway? You'll die if your allies cannot protect you!
+Continue anyway? You'll die if your allies cannot protect you!
+
+Continue?
+Continue?
+
+Contributor Sweater
+Contributor Sweater
+
+Converts all your mana in damage. Damages all enemies in same tile.
+Converts all your mana in damage. Damages all enemies in same tile.
+
+Cooking Recipes
+Cooking Recipes
+
+Cooking Recipes.
+Cooking Recipes.
+
+Cool story, bro!
+Cool story, bro!
+
+Cool, an airship!
+Cool, an airship!
+
+Cool, thank you.
+Cool, thank you.
+
+Cool, thanks.
+Cool, thanks.
+
+Copper Armbands
+Copper Armbands
+
+Copper Chest#Saulc
+Copper Chest#Saulc
+
+Copper Ingot
+Copper Ingot
+
+Copper Key
+Copper Key
+
+Copper Ore
+Copper Ore
+
+Copper Ore -> Iron Ore
+Copper Ore -> Iron Ore
+
+Copper Skull Slime
+Copper Skull Slime
+
+Copper Slime
+Copper Slime
+
+Copper Slime Mother
+Copper Slime Mother
+
+CopperSlime
+CopperSlime
+
+Coral
+Coral
+
+Correct
+Correct
+
+Corsair
+Corsair
+
+Corsair Hat
+Corsair Hat
+
+Cost per %s glass:
+Cost per %s glass:
+
+Cost per two glass:
+Cost per two glass:
+
+Cost: %d GP/min
+Cost: %d GP/min
+
+Cost: 1 @@
+Cost: 1 @@
+
+Cost: @@ gp per bottle.
+Cost: @@ gp per bottle.
+
+Cotton
+Cotton
+
+Cotton Boots
+Cotton Boots
+
+Cotton Cloth
+Cotton Cloth
+
+Cotton Cloth (1 power)
+Cotton Cloth (1 power)
+
+Cotton Cloth is sold at Candor, Croconut Boxes can be bought at the market. Fish, however, is a little more tricky.
+Cotton Cloth is sold at Candor, Croconut Boxes can be bought at the market. Fish, however, is a little more tricky.
+
+Cotton Gloves
+Cotton Gloves
+
+Cotton Shirt
+Cotton Shirt
+
+Cotton Shorts
+Cotton Shorts
+
+Cotton Skirt
+Cotton Skirt
+
+Cotton Trousers
+Cotton Trousers
+
+Could I go back to that cave? It's a good farm spot.
+Could I go back to that cave? It's a good farm spot.
+
+Could you *hic* do me a favor? Arkim, on a cave southeast of *hic* here, is collecting some stuff.
+Could you *hic* do me a favor? Arkim, on a cave southeast of *hic* here, is collecting some stuff.
+
+Could you awake my lost and forsaken potential?
+Could you awake my lost and forsaken potential?
+
+Could you bleach my equipment?
+Could you bleach my equipment?
+
+Could you bring me %d %s? That'll help me to finish this.
+Could you bring me %d %s? That'll help me to finish this.
+
+Could you explain to me where I am?
+Could you explain to me where I am?
+
+Could you first explain me why so many items?
+Could you first explain me why so many items?
+
+Could you head deep in the woods and track him down?
+Could you head deep in the woods and track him down?
+
+Could you perhaps help me to find all kids?
+Could you perhaps help me to find all kids?
+
+Could you please ask @@ about it? The ingredients... It would still be my fault...
+Could you please ask @@ about it? The ingredients... It would still be my fault...
+
+Could you please bring me @@ @@ and @@ @@? I'll give you a bunch of herbs if you help me!
+Could you please bring me @@ @@ and @@ @@? I'll give you a bunch of herbs if you help me!
+
+Could you please dispose my failed experiment, first?
+Could you please dispose my failed experiment, first?
+
+Could you please give us a full meal, with 5 @@, 5 @@, 5@@, 5 @@ and 5 @@?
+Could you please give us a full meal, with 5 @@, 5 @@, 5@@, 5 @@ and 5 @@?
+
+Could you sell me a treasure map and a shovel?
+Could you sell me a treasure map and a shovel?
+
+Could you tell me where I am?#0
+Could you tell me where I am?
+
+Could you tell me where I am?#1
+Could you tell me where I am?
+
+Could you try again, please?
+Could you try again, please?
+
+Could you try again? There could be a typo!
+Could you try again? There could be a typo!
+
+Could you, perhaps, bring me %d %s? That'll help me to finish this.
+Could you, perhaps, bring me %d %s? That'll help me to finish this.
+
+Couldn't you climb the rope?
+Couldn't you climb the rope?
+
+Councilor Crazyfefe
+Councilor Crazyfefe
+
+Councilor Jak1
+Councilor Jak1
+
+Councilor Jesusalva
+Councilor Jesusalva
+
+Councilor LawnCable
+Councilor LawnCable
+
+Councilor Saulc
+Councilor Saulc
+
+Countdown: 1 minute
+Countdown: 1 minute
+
+Countdown: 1 minute - Kill %s!
+Countdown: 1 minute - Kill %s!
+
+Counter Attack
+Counter Attack
+
+Coward Card
+Coward Card
+
+Craft @@
+Craft @@
+
+Craft Recipe
+Craft Recipe
+
+Crafters are now paying taxes.
+Crafters are now paying taxes.
+
+Crafters no longer pays taxes. (Tax exempt)
+Crafters no longer pays taxes. (Tax exempt)
+
+Crafting
+Crafting
+
+Crafting Accuracy
+Crafting Accuracy
+
+Crafting Attack
+Crafting Attack
+
+Crafting Basic Skills
+Crafting Basic Skills
+
+Crafting Boss Techiniques
+Crafting Boss Techiniques
+
+Crafting Defense
+Crafting Defense
+
+Crafting Double Power
+Crafting Double Power
+
+Crafting Evasion
+Crafting Evasion
+
+Crafting Exp Up
+Crafting Exp Up
+
+Crafting Mana Economy
+Crafting Mana Economy
+
+Crafting Max Stats
+Crafting Max Stats
+
+Crafting Recipes
+Crafting Recipes
+
+Crafting Recipes.
+Crafting Recipes.
+
+Crafting Regeneration
+Crafting Regeneration
+
+Crafting SC Inflict
+Crafting SC Inflict
+
+Crafting SC Resist
+Crafting SC Resist
+
+Crafting Score: %d.%02d
+Crafting Score: %d.%02d
+
+Crafting Skill Level: @@
+Crafting Skill Level: @@
+
+Crafting Skill: Lv @@
+Crafting Skill: Lv @@
+
+Crafting Speed
+Crafting Speed
+
+Crafting Status
+Crafting Status
+
+Crafting Table
+Crafting Table
+
+Crafting method:
+Crafting method:
+
+Crafting rules changed! Your crafting skill was lowered to Level 5, talk to Craftmaster to recover it!
+Crafting rules changed! Your crafting skill was lowered to Level 5, talk to Craftmaster to recover it!
+
+Craftsman/Craftswoman
+Craftsman/Craftswoman
+
+Crafty
+Crafty
+
+Crazy
+Crazy
+
+Crazy Cadis Ultimate Pandorica Mode
+Crazy Cadis Ultimate Pandorica Mode
+
+Crazy Mode
+Crazy Mode
+
+Crazy Rum
+Crazy Rum
+
+Crazy stuff can happen in overall. YOU HAVE BEEN WARNED TO UPDATE YOUR CLIENT.
+Crazy stuff can happen in overall. YOU HAVE BEEN WARNED TO UPDATE YOUR CLIENT.
+
+Crazyfefe
+Crazyfefe
+
+Crazyfefe Card
+Crazyfefe Card
+
+Crazyfefe Cave: New Highscore: @@ points
+Crazyfefe Cave: New Highscore: @@ points
+
+Crazyfefe Mode
+Crazyfefe Mode
+
+Creased
+Creased
+
+Creased Boots
+Creased Boots
+
+Creased Gloves
+Creased Gloves
+
+Creased Shirt
+Creased Shirt
+
+Creased Shorts
+Creased Shorts
+
+Create PIN Number
+Create PIN Number
+
+Create a natural wall under the cursor, to delay your enemies.
+Create a natural wall under the cursor, to delay your enemies.
+
+Create new arena
+Create new arena
+
+Creating a guild is not for the faint of heart. You cannot share experience or drops.
+Creating a guild is not for the faint of heart. You cannot share experience or drops.
+
+Creating a party has some advantages, it's a pretty good choice!
+Creating a party has some advantages, it's a pretty good choice!
+
+Crimson Dye
+Crimson Dye
+
+Crit +5%
+Crit +5%
+
+Critical Fortune
+Critical Fortune
+
+Croc
+Croc
+
+Croc Claw
+Croc Claw
+
+Croconut
+Croconut
+
+Croconut Box
+Croconut Box
+
+Croconut Box magically became two in inventory. Storage unaffected.
+Croconut Box magically became two in inventory. Storage unaffected.
+
+Croconut Tree
+Croconut Tree
+
+Crocotree
+Crocotree
+
+Crocs are dangerous and very healthy, but very slow. Use that on your advantage.
+Crocs are dangerous and very healthy, but very slow. Use that on your advantage.
+
+Cronqvist Mode
+Cronqvist Mode
+
+Cronqvist mode is only available during Candor Battle.
+Cronqvist mode is only available during Candor Battle.
+
+Crozenite Four-Leaf Amulet
+Crozenite Four-Leaf Amulet
+
+Crusade Armor
+Crusade Armor
+
+Crusade Helmet
+Crusade Helmet
+
+Crypt
+Crypt
+
+Crypt#Fefe
+Crypt#Fefe
+
+Crystal based technology can break if used too often. Try taking longer between each warp to raise their lifetime.
+Crystal based technology can break if used too often. Try taking longer between each warp to raise their lifetime.
+
+Crystal#0065
+Crystal#0065
+
+Crystallized Maggot
+Crystallized Maggot
+
+Ctrl
+Ctrl
+
+Cuf! Cuf!
+Cuf! Cuf!
+
+Curiously, you try to touch the Mana Stone.
+Curiously, you try to touch the Mana Stone.
+
+Current Boss: %s
+Current Boss: %s
+
+Current Guild Balance: %s GP
+Current Guild Balance: %s GP
+
+Current Guild: %s
+Current Guild: %s
+
+Current Magic Control
+Current Magic Control
+
+Current Quest Progress: @@/10,000 kills
+Current Quest Progress: @@/10,000 kills
+
+Current Rankings
+Current Rankings
+
+Current Room password: @@
+Current Room password: @@
+
+Current Spawn Mode:
+Current Spawn Mode:
+
+Current Town Administrator:
+Current Town Administrator:
+
+Current arena player count: @@ on map. (Min. 3 to begin event)
+Current arena player count: @@ on map. (Min. 3 to begin event)
+
+Current date: %d
+Current date: %d
+
+Current drop rate is set to @@%, and will reset to @@% (default value) in @@.
+Current drop rate is set to @@%, and will reset to @@% (default value) in @@.
+
+Current event: @@
+Current event: @@
+
+Current exp rate is set to @@%, and will reset to @@% (default value) in @@.
+Current exp rate is set to @@%, and will reset to @@% (default value) in @@.
+
+Current hero: @@
+Current hero: @@
+
+Current linked Discord account: @@
+Current linked Discord account: @@
+
+Current magic rank: %d
+Current magic rank: %d
+
+Current player count: @@/5 must be online.
+Current player count: @@/5 must be online.
+
+Current score: %s
+Current score: %s
+
+Current score: @@
+Current score: @@
+
+Currently, there is no event going on.
+Currently, there is no event going on.
+
+Currently, you should not attempt the Desert Canyon because low level.
+Currently, you should not attempt the Desert Canyon because low level.
+
+Currently, you stand no chance against the Snakes on the Desert Canyon, but you probably can cross it.
+Currently, you stand no chance against the Snakes on the Desert Canyon, but you probably can cross it.
+
+Currently, you stand no chance against the Snakes on the Desert Canyon.
+Currently, you stand no chance against the Snakes on the Desert Canyon.
+
+Curse
+Curse
+
+Cursed Ammo Box
+Cursed Ammo Box
+
+Cursed Archer Soldier
+Cursed Archer Soldier
+
+Cursed Arrow
+Cursed Arrow
+
+Cursed Arrows
+Cursed Arrows
+
+Cursed Foot Soldier
+Cursed Foot Soldier
+
+Cursed Scythe
+Cursed Scythe
+
+Cursed Skull
+Cursed Skull
+
+Curshroom
+Curshroom
+
+Custom
+Custom
+
+Customize attack delay!
+Customize attack delay!
+
+Customize evasion!
+Customize evasion!
+
+Customize hit rate!
+Customize hit rate!
+
+Cut the chat short and go straight to the point!
+Cut the chat short and go straight to the point!
+
+Cute Maggot
+Cute Maggot
+
+Cutscenes
+Cutscenes
+
+Cyan Butterfly
+Cyan Butterfly
+
+Cyndala
+Cyndala
+
+Cynric
+Cynric
+
+D'oh, what a terrible shot!
+D'oh, what a terrible shot!
+
+DANGER
+DANGER
+
+DANGER!
+DANGER!
+
+DEBUG: Changing @@ field @@ to something else.
+DEBUG: Changing @@ field @@ to something else.
+
+DEBUG: Changing @@, Values: (@@, @@, @@).
+DEBUG: Changing @@, Values: (@@, @@, @@).
+
+DEF-, Damage over time, no MP regen
+DEF-, Damage over time, no MP regen
+
+DEV Cap
+DEV Cap
+
+DIE!
+DIE!
+
+DIE, FILTHY @@!
+DIE, FILTHY @@!
+
+DIE, SCUM!
+DIE, SCUM!
+
+DO NOT ENTER.
+DO NOT ENTER.
+
+DO YOU WANT TO REROLL THE ITEM? THIS CANNOT BE UNDONE! (free)
+DO YOU WANT TO REROLL THE ITEM? THIS CANNOT BE UNDONE! (free)
+
+Dagger
+Dagger
+
+Dagger Crafting recipe learnt.
+Dagger Crafting recipe learnt.
+
+Dah Yeti King!!
+Dah Yeti King!!
+
+Daily Event Bonus: %d Points!
+Daily Event Bonus: %d Points!
+
+Daily Login Rewards
+Daily Login Rewards
+
+Damage Improvement
+Damage Improvement
+
+Damage can be harm, slap, hit, cut and bite; But other keywords can deal more damage.
+Damage can be harm, slap, hit, cut and bite; But other keywords can deal more damage.
+
+Damage isn't the only magic chanting can do.
+Damage isn't the only magic chanting can do.
+
+Damage over time, MDF -25%%
+Damage over time, MDF -25%%
+
+Dan#002-1
+Dan#002-1
+
+Dang Rostra
+Dang Rostra
+
+Dangerous Area
+Dangerous Area
+
+Dark Crystal
+Dark Crystal
+
+Dark Crystal (5 power)
+Dark Crystal (5 power)
+
+Dark Desert Mushroom
+Dark Desert Mushroom
+
+Dark Eggshell Hat
+Dark Eggshell Hat
+
+Dark Forest : %s monster(s) left
+Dark Forest : %s monster(s) left
+
+Dark Helm
+Dark Helm
+
+Dark Knight Helmet
+Dark Knight Helmet
+
+Dark Lizard
+Dark Lizard
+
+Dark Petal
+Dark Petal
+
+Dark Pulsar
+Dark Pulsar
+
+Dark Red Dye
+Dark Red Dye
+
+Dark Talisman
+Dark Talisman
+
+Darkness fills your vision...
+Darkness fills your vision...
+
+Darug
+Darug
+
+Date: 2019-03-05, 03:14 UTC
+Date: 2019-03-05, 03:14 UTC
+
+Date: 2020-03-27, 01:30 UTC
+Date: 2020-03-27, 01:30 UTC
+
+Date: 2020-04-05, 14:40 UTC
+Date: 2020-04-05, 14:40 UTC
+
+Date: 2021-02-24, 02:36 UTC
+Date: 2021-02-24, 02:36 UTC
+
+Dausen Quest - @@ @@ killed
+Dausen Quest - @@ @@ killed
+
+Dead End
+Dead End
+
+Dead Tree#297to298
+Dead Tree#297to298
+
+Deadly Poison
+Deadly Poison
+
+Deal!
+Deal!
+
+Deal.
+Deal.
+
+Deal. Here you go.
+Deal. Here you go.
+
+Deal. Pleasure doing business with you.
+Deal. Pleasure doing business with you.
+
+Dealing with elves is too bothersome to me.
+Dealing with elves is too bothersome to me.
+
+Dear @@, I send you this gift in hopes you do well in TMW2.
+Dear @@, I send you this gift in hopes you do well in TMW2.
+
+Death Cat
+Death Cat
+
+Death Potion
+Death Potion
+
+Debug
+Debug
+
+Debug - Modify Race
+Debug - Modify Race
+
+Debug - Reset
+Debug - Reset
+
+Debug Information
+Debug Information
+
+December 19th - January 2nd
+December 19th - January 2nd
+
+Decipher me... Or I will devour you...
+Decipher me... Or I will devour you...
+
+Decoration
+Decoration
+
+Deep Black Boots
+Deep Black Boots
+
+Deep Sleep
+Deep Sleep
+
+Deep sorrow and sadness, this is the Forgotten Shrine.
+Deep sorrow and sadness, this is the Forgotten Shrine.
+
+Def +20
+Def +20
+
+Default
+Default
+
+Default: %d, use 0 to cancel
+Default: %d, use 0 to cancel
+
+Defeat Conditions: Sagratha gets killed!
+Defeat Conditions: Sagratha gets killed!
+
+Defeat Conditions: Time run out!
+Defeat Conditions: Time run out!
+
+Defeat Conditions: Your death!
+Defeat Conditions: Your death!
+
+Defeat a few waves of Soren's House. Once you're done, this will become a warp. Hurry before it closes.
+Defeat a few waves of Soren's House. Once you're done, this will become a warp. Hurry before it closes.
+
+Defeated the Moubootaur (Sealed) %s ago
+Defeated the Moubootaur (Sealed) %s ago
+
+Defeating him would not only stop monster invasions, but it would also bring magic back... And probably another war, over the mana stones. %%S
+Defeating him would not only stop monster invasions, but it would also bring magic back... And probably another war, over the mana stones. %%S
+
+Defeating is entirely optional. They usually give more experience than the average, but are much stronger and dangerous.
+Defeating is entirely optional. They usually give more experience than the average, but are much stronger and dangerous.
+
+Defeating it will advance the round. How far can you survive?
+Defeating it will advance the round. How far can you survive?
+
+Definitely not suspcious at all.
+Definitely not suspcious at all.
+
+Delicious Cookie
+Delicious Cookie
+
+Deliver @@ @@ to @@?
+Deliver @@ @@ to @@?
+
+Deliver it to Zitoni on my name. He'll trust it. The relation between me and Zitoni... goes way back.
+Deliver it to Zitoni on my name. He'll trust it. The relation between me and Zitoni... goes way back.
+
+Deliver the %s to retrieve Miler's memeto?
+Deliver the %s to retrieve Miler's memeto?
+
+Deliver the items to Sagratha?
+Deliver the items to Sagratha?
+
+Deliver the potions to Sagratha?
+Deliver the potions to Sagratha?
+
+Demure Axe
+Demure Axe
+
+Demure Card
+Demure Card
+
+Demure First Form
+Demure First Form
+
+Demure Second Form
+Demure Second Form
+
+Demure accepts challengers,
+Demure accepts challengers,
+
+Demure#Valentine
+Demure#Valentine
+
+Demure's Axe
+Demure's Axe
+
+Demure, Queen of Dragons
+Demure, Queen of Dragons
+
+Depending on the case, Nicholas, in Hurnscald, can do a better job than me.
+Depending on the case, Nicholas, in Hurnscald, can do a better job than me.
+
+Deploy to Dangerous Area [6h]
+Deploy to Dangerous Area [6h]
+
+Deploy to Herb Fields [1h]
+Deploy to Herb Fields [1h]
+
+Deploy to Monster King Basement [8h]
+Deploy to Monster King Basement [8h]
+
+Deploy to Ore Mines [2h]
+Deploy to Ore Mines [2h]
+
+Deploy to Piou Fields [1h]
+Deploy to Piou Fields [1h]
+
+Deploy to Rare Mines [2h]
+Deploy to Rare Mines [2h]
+
+Deploy to Slime Nest [2h]
+Deploy to Slime Nest [2h]
+
+Deploy to Snake Pit [3h]
+Deploy to Snake Pit [3h]
+
+Deploy to The Market [1h]
+Deploy to The Market [1h]
+
+Deployed!
+Deployed!
+
+Deposit all
+Deposit all
+
+Deposit.
+Deposit.
+
+Der Schneemann
+Der Schneemann
+
+Der Schneemann has been defeated: %s Monster Points gained.
+Der Schneemann has been defeated: %s Monster Points gained.
+
+Descend into Tulimshar sewers?
+Descend into Tulimshar sewers?
+
+Descend into the small corritor?
+Descend into the small corritor?
+
+Description: For starters, I'll blow away all your summons and summon an ent. You must do the most damage to it within 10 seconds.
+Description: For starters, I'll blow away all your summons and summon an ent. You must do the most damage to it within 10 seconds.
+
+Description: Reach the other side of the maze and defeat the %s as quick as possible.
+Description: Reach the other side of the maze and defeat the %s as quick as possible.
+
+Description: Similar to Intensive Mage, but measures mana experience - meaning even less skills will count, and swapping skills give a better effect.
+Description: Similar to Intensive Mage, but measures mana experience - meaning even less skills will count, and swapping skills give a better effect.
+
+Description: Survive for the longest you can without leaving the designed region.
+Description: Survive for the longest you can without leaving the designed region.
+
+Description: There'll be differently colored sparks and you must kill ONLY those of the color I say so! Failure to do so will cause immediate disqualification!
+Description: There'll be differently colored sparks and you must kill ONLY those of the color I say so! Failure to do so will cause immediate disqualification!
+
+Description: Use a lot of magic spells, regardless of type or raw strength. Points earned by skill level.
+Description: Use a lot of magic spells, regardless of type or raw strength. Points earned by skill level.
+
+Description: Use chant-based magic. All chants score equally.
+Description: Use chant-based magic. All chants score equally.
+
+Description: Use support skills and win the event with the power of FRIENDSHIP!
+Description: Use support skills and win the event with the power of FRIENDSHIP!
+
+Description: Whoever crafts more potions, regardless of type, wins this event.
+Description: Whoever crafts more potions, regardless of type, wins this event.
+
+Desert Bandit
+Desert Bandit
+
+Desert Hat
+Desert Hat
+
+Desert Helmet
+Desert Helmet
+
+Desert Log Head
+Desert Log Head
+
+Desert Maggot
+Desert Maggot
+
+Desert Pirate
+Desert Pirate
+
+Desert Shirt
+Desert Shirt
+
+Desert Tablet
+Desert Tablet
+
+Desert Thief Card
+Desert Thief Card
+
+Despite its initial dubious fragrance, the tea comes off as very smooth and mellow with a bit of natural sweetness and a touch of an earthy forest like flavor, but in a very good way.
+Despite its initial dubious fragrance, the tea comes off as very smooth and mellow with a bit of natural sweetness and a touch of an earthy forest like flavor, but in a very good way.
+
+Destroy all mobilia
+Destroy all mobilia
+
+Destroyed by the fire
+Destroyed by the fire
+
+Destroys everything in a line (earth). Boosts allied forces DEF.
+Destroys everything in a line (earth). Boosts allied forces DEF.
+
+Detailed Information
+Detailed Information
+
+Determinate, you move your hand to grab it.
+Determinate, you move your hand to grab it.
+
+Determine Team Size (If everyone is ready and stdby at Tulimshar, use: @@. Minimum 2 players.)
+Determine Team Size (If everyone is ready and stdby at Tulimshar, use: @@. Minimum 2 players.)
+
+Determine Team Size +1 (so 1 each side, use 2)
+Determine Team Size +1 (so 1 each side, use 2)
+
+Developer Cap
+Developer Cap
+
+Devis
+Devis
+
+Dex Potion
+Dex Potion
+
+Dex+ Potion
+Dex+ Potion
+
+Dex++ Potion
+Dex++ Potion
+
+Dexterity
+Dexterity
+
+Dexterity Fruit
+Dexterity Fruit
+
+Diamond
+Diamond
+
+Diamond (+2 vit)
+Diamond (+2 vit)
+
+Diamond Bif
+Diamond Bif
+
+Diamond Powder
+Diamond Powder
+
+Diary#Fefe
+Diary#Fefe
+
+Diary, 12nd December 298 AT
+Diary, 12nd December 298 AT
+
+Diary, 1st April 298 AT
+Diary, 1st April 298 AT
+
+Diary, 21st June 297 AT
+Diary, 21st June 297 AT
+
+Diary, 2nd March 300 AT
+Diary, 2nd March 300 AT
+
+Diary, 31st May 297 AT
+Diary, 31st May 297 AT
+
+Diary, 3rd August 299 AT
+Diary, 3rd August 299 AT
+
+Diary, 3rd March 300 AT
+Diary, 3rd March 300 AT
+
+Did I received any mail?
+Did I received any mail?
+
+Did I said the best craftsman and craftswoman in the world are here? @@, the legendary bow, was proudly crafted by the first king of Frostia!
+Did I said the best craftsman and craftswoman in the world are here? @@, the legendary bow, was proudly crafted by the first king of Frostia!
+
+Did something happen?
+Did something happen?
+
+Did this Mouboo just blink? No, I made sure it was truly dead. Must have been my imagination.
+Did this Mouboo just blink? No, I made sure it was truly dead. Must have been my imagination.
+
+Did we brought everything Naem asked?
+Did we brought everything Naem asked?
+
+Did you bring everything?
+Did you bring everything?
+
+Did you bring the supplies?
+Did you bring the supplies?
+
+Did you brought everything I ask for?
+Did you brought everything I ask for?
+
+Did you brought me 12 %s?
+Did you brought me 12 %s?
+
+Did you brought me 12 @@ and 4 @@? The @@ is waiting for you, sharp sharp!
+Did you brought me 12 @@ and 4 @@? The @@ is waiting for you, sharp sharp!
+
+Did you brought me 7 @@?
+Did you brought me 7 @@?
+
+Did you brought me a %s?
+Did you brought me a %s?
+
+Did you brought me an souvenir from Tulimshar?
+Did you brought me an souvenir from Tulimshar?
+
+Did you brought me everything I asked for?
+Did you brought me everything I asked for?
+
+Did you brought me the %d/%d %s?
+Did you brought me the %d/%d %s?
+
+Did you brought me the feathers?
+Did you brought me the feathers?
+
+Did you brought us a kind gift of good will, on the worth of %d %s, to offer to our King?
+Did you brought us a kind gift of good will, on the worth of %d %s, to offer to our King?
+
+Did you brought what I asked for?
+Did you brought what I asked for?
+
+Did you came here by someone advise? If yes, write their name down here!
+Did you came here by someone advise? If yes, write their name down here!
+
+Did you find some bookpages? Ensio will take them.
+Did you find some bookpages? Ensio will take them.
+
+Did you got an @@ yet? That book have great insight on several details concerning mana and its usages!
+Did you got an @@ yet? That book have great insight on several details concerning mana and its usages!
+
+Did you got everything I've asked?
+Did you got everything I've asked?
+
+Did you got the %d %s I've asked?
+Did you got the %d %s I've asked?
+
+Did you just make up that someone?
+Did you just make up that someone?
+
+Did you knew May 25th it is a very special day - the Towel Day?
+Did you knew May 25th it is a very special day - the Towel Day?
+
+Did you knew about the legend of Aethyr? I've heard the path to it was somewhere to the west of our old village... And some stuff about passwords... Hehe, I don't remember!
+Did you knew about the legend of Aethyr? I've heard the path to it was somewhere to the west of our old village... And some stuff about passwords... Hehe, I don't remember!
+
+Did you knew about the legend of Aethyr? I've heard the path to it was somewhere to the west of our old village... And some stuff about passwords... I'm not sure if I remember!
+Did you knew about the legend of Aethyr? I've heard the path to it was somewhere to the west of our old village... And some stuff about passwords... I'm not sure if I remember!
+
+Did you knew some crazy adventurers insists there is a Mana Stone on the dangerous caves inside the town?
+Did you knew some crazy adventurers insists there is a Mana Stone on the dangerous caves inside the town?
+
+Did you knew that %s was the wizard whom sealed the path to Aethyr, the sacred elf land? I wonder what happened afterwards.
+Did you knew that %s was the wizard whom sealed the path to Aethyr, the sacred elf land? I wonder what happened afterwards.
+
+Did you knew the casino on the inn up here was one of the most expensive on the whole world?
+Did you knew the casino on the inn up here was one of the most expensive on the whole world?
+
+Did you like it? Find me tomorrow, until day @@, for another gift!
+Did you like it? Find me tomorrow, until day @@, for another gift!
+
+Did you noticed how no monster got close to it?
+Did you noticed how no monster got close to it?
+
+Did you said reward?!
+Did you said reward?!
+
+Did you see Jhedia the blacksmith in Tulimshar? She might know how you could get this.
+Did you see Jhedia the blacksmith in Tulimshar? She might know how you could get this.
+
+Didn't he give you anything?
+Didn't he give you anything?
+
+Die already!
+Die already!
+
+Die now!!
+Die now!!
+
+Die, your evil Yeti!
+Die, your evil Yeti!
+
+Different kind of monsters live near the city. For example, blubs. I have no idea of what are those.
+Different kind of monsters live near the city. For example, blubs. I have no idea of what are those.
+
+Different warp systems overlaps each other, so the cooldown is carried over regardless of the technology you use.
+Different warp systems overlaps each other, so the cooldown is carried over regardless of the technology you use.
+
+Difficulty?
+Difficulty?
+
+Dimond
+Dimond
+
+Dimond sold her food alone in this spot for some time,
+Dimond sold her food alone in this spot for some time,
+
+Dimond's Cove
+Dimond's Cove
+
+Dimonds Cove Story
+Dimonds Cove Story
+
+Direction for Pirate Caves
+Direction for Pirate Caves
+
+Directions:
+Directions:
+
+Disable
+Disable
+
+Disable BG
+Disable BG
+
+Disable Event
+Disable Event
+
+Disabled
+Disabled
+
+Disarm process aborted: Disarmer is dead.
+Disarm process aborted: Disarmer is dead.
+
+Disarm process aborted: Disarmer is out of reach.
+Disarm process aborted: Disarmer is out of reach.
+
+Disarm process aborted: Insufficient mana to proceed.
+Disarm process aborted: Insufficient mana to proceed.
+
+Disarmed with success for: @@
+Disarmed with success for: @@
+
+Discard
+Discard
+
+Disconnect
+Disconnect
+
+Discord Necklace
+Discord Necklace
+
+Diseased Heart
+Diseased Heart
+
+Display daily reward screen:
+Display daily reward screen:
+
+Divine Apple
+Divine Apple
+
+Divine Sword
+Divine Sword
+
+Divine Water
+Divine Water
+
+Divorce error!
+Divorce error!
+
+Do I look like a tree? I feel like one.
+Do I look like a tree? I feel like one.
+
+Do a weird dance
+Do a weird dance
+
+Do as I told you, and talk to Alan for the bow!
+Do as I told you, and talk to Alan for the bow!
+
+Do as much as possible.
+Do as much as possible.
+
+Do it!
+Do it!
+
+Do not attempt to go there again.
+Do not attempt to go there again.
+
+Do not break my seal to prevent the curse from reaching Kamelot.
+Do not break my seal to prevent the curse from reaching Kamelot.
+
+Do not disconnect while waiting. You need 100% HP to donate.
+Do not disconnect while waiting. You need 100% HP to donate.
+
+Do not enter in this storehouse, the maggots there will kill you.
+Do not enter in this storehouse, the maggots there will kill you.
+
+Do not give your password to anybody! Keep it secret and try not to use the same one anywhere else in the future. - Juliet
+Do not give your password to anybody! Keep it secret and try not to use the same one anywhere else in the future. - Juliet
+
+Do not hesit to purchase furniture. The furniture belongs to the house, so if you lose the house, you'll lose it, too. But apartments are never rent to someone else!
+Do not hesit to purchase furniture. The furniture belongs to the house, so if you lose the house, you'll lose it, too. But apartments are never rent to someone else!
+
+Do not let intimacy and hunger get to zero. If any of those get to zero, it'll leave you forever.
+Do not let intimacy and hunger get to zero. If any of those get to zero, it'll leave you forever.
+
+Do not open. Do not attempt to eat. Be careful with it, to don't cause any time paradoxes. I also heard a NPC may be interested on that, by the way!
+Do not open. Do not attempt to eat. Be careful with it, to don't cause any time paradoxes. I also heard a NPC may be interested on that, by the way!
+
+Do not rebirth
+Do not rebirth
+
+Do not think you can defeat me yet!
+Do not think you can defeat me yet!
+
+Do not worry with me, youngling... I'll be fine.#0
+Do not worry with me, youngling... I'll be fine.
+
+Do not worry with me, youngling... I'll be fine.#1
+Do not worry with me, youngling... I'll be fine.
+
+Do not worry, I have them right here.
+Do not worry, I have them right here.
+
+Do not worry, I'll be back in a jiffy.
+Do not worry, I'll be back in a jiffy.
+
+Do note that abuse will cause both you and the person you vouched for to be kicked from the Academy! So be mindful with to whom you give titles.
+Do note that abuse will cause both you and the person you vouched for to be kicked from the Academy! So be mindful with to whom you give titles.
+
+Do nothing
+Do nothing
+
+Do some paperwork
+Do some paperwork
+
+Do you accept special requests?
+Do you accept special requests?
+
+Do you accept special requests? Could you make me a really good bow?
+Do you accept special requests? Could you make me a really good bow?
+
+Do you believe I've lost my @@? I can't see anything well without that! %%a
+Do you believe I've lost my @@? I can't see anything well without that! %%a
+
+Do you even know what a bow is?
+Do you even know what a bow is?
+
+Do you have a clue about what went wrong?
+Do you have a clue about what went wrong?
+
+Do you have an extra of 11 @@ for me?
+Do you have an extra of 11 @@ for me?
+
+Do you have any last wishes before being JAILED for your CRIMES?!
+Do you have any last wishes before being JAILED for your CRIMES?!
+
+Do you have any questions?
+Do you have any questions?
+
+Do you have any tips for beginners?
+Do you have any tips for beginners?
+
+Do you have anything else to read?
+Do you have anything else to read?
+
+Do you have mental issues? I mean, of course there is a secret passage there!
+Do you have mental issues? I mean, of course there is a secret passage there!
+
+Do you have my @@?
+Do you have my @@?
+
+Do you have non-ranged weapons?
+Do you have non-ranged weapons?
+
+Do you have something to exchange with me? Or perhaps you want a Grand Hunter Quest?
+Do you have something to exchange with me? Or perhaps you want a Grand Hunter Quest?
+
+Do you have that for me?
+Do you have that for me?
+
+Do you have that with you?
+Do you have that with you?
+
+Do you have that? I have the other materials but I couldn't get it... @@ are too dangerous, they are level @@ monsters.
+Do you have that? I have the other materials but I couldn't get it... @@ are too dangerous, they are level @@ monsters.
+
+Do you have the @@/11 @@ I requested? The sailors are starving because of you!
+Do you have the @@/11 @@ I requested? The sailors are starving because of you!
+
+Do you know @@? It's a poisonous food you can't find around here. It can be made edible with special prepare.
+Do you know @@? It's a poisonous food you can't find around here. It can be made edible with special prepare.
+
+Do you know Land Of Fire Village? It is west of Hurnscald and is a major town.
+Do you know Land Of Fire Village? It is west of Hurnscald and is a major town.
+
+Do you know anything about the strange visitor?
+Do you know anything about the strange visitor?
+
+Do you know how to count, maggot? %%5
+Do you know how to count, maggot? %%5
+
+Do you know someone called Braknar?
+Do you know someone called Braknar?
+
+Do you know something about 'Mylarin Dust'?
+Do you know something about 'Mylarin Dust'?
+
+Do you know the warp crystals? We did them. Did you saw the great warp gate at the town entrance? It was us!
+Do you know the warp crystals? We did them. Did you saw the great warp gate at the town entrance? It was us!
+
+Do you know what a Soul Menhir is?
+Do you know what a Soul Menhir is?
+
+Do you know what happened to the gold I had when you guys saved me?#0
+Do you know what happened to the gold I had when you guys saved me?
+
+Do you know what happened to the gold I had when you guys saved me?#1
+Do you know what happened to the gold I had when you guys saved me?
+
+Do you know where I can find Nard?
+Do you know where I can find Nard?
+
+Do you know where I can level up?
+Do you know where I can level up?
+
+Do you know where my brother Enzo is? I forgot that too!
+Do you know where my brother Enzo is? I forgot that too!
+
+Do you know where the party is? It's at Halin, to get there you need to pass through the Desert Canyon.
+Do you know where the party is? It's at Halin, to get there you need to pass through the Desert Canyon.
+
+Do you like fairies? Well, you should love them! We play with humans all the time, it is usually pretty fun...
+Do you like fairies? Well, you should love them! We play with humans all the time, it is usually pretty fun...
+
+Do you make Lifestones?
+Do you make Lifestones?
+
+Do you make any other kind of potions?
+Do you make any other kind of potions?
+
+Do you make anything else?
+Do you make anything else?
+
+Do you need a refresher of the rules?
+Do you need a refresher of the rules?
+
+Do you need any more help?
+Do you need any more help?
+
+Do you need anything else?
+Do you need anything else?
+
+Do you need help?
+Do you need help?
+
+Do you need my help?
+Do you need my help?
+
+Do you need something from me?
+Do you need something from me?
+
+Do you need something in particular?
+Do you need something in particular?
+
+Do you need the extra credit?
+Do you need the extra credit?
+
+Do you really have to ask? I am a fairy...*sigh*
+Do you really have to ask? I am a fairy...*sigh*
+
+Do you see that fancy house over there? My husband, @@, used to live there.
+Do you see that fancy house over there? My husband, @@, used to live there.
+
+Do you see the crocs, with their claws and hard shell? They have high defense, this means your attacks deal less damage.
+Do you see the crocs, with their claws and hard shell? They have high defense, this means your attacks deal less damage.
+
+Do you see the professor on the next room? Listen to his boring speech for @@. There are the materials for the class.
+Do you see the professor on the next room? Listen to his boring speech for @@. There are the materials for the class.
+
+Do you sell anything here?
+Do you sell anything here?
+
+Do you sell tea?
+Do you sell tea?
+
+Do you still need help with your experiments?
+Do you still need help with your experiments?
+
+Do you think I could join the Alliance?
+Do you think I could join the Alliance?
+
+Do you think I'm ready to go to Halinarzo?
+Do you think I'm ready to go to Halinarzo?
+
+Do you think he may have had something to do with the accident? We're a very hospitable house, so I didn't see a reason to deny him the entrance. I mean, his mask might have been a bit unusual, but hey, there could've been many reasons why someone would wear a mask, don't you think?
+Do you think he may have had something to do with the accident? We're a very hospitable house, so I didn't see a reason to deny him the entrance. I mean, his mask might have been a bit unusual, but hey, there could've been many reasons why someone would wear a mask, don't you think?
+
+Do you think that is funny?
+Do you think that is funny?
+
+Do you think yourself worthy of my power?
+Do you think yourself worthy of my power?
+
+Do you want a tip? "It's not suicide if you know how to swim."
+Do you want a tip? "It's not suicide if you know how to swim."
+
+Do you want any monster killed?
+Do you want any monster killed?
+
+Do you want me to prepare more chocolate box for you? For that I'll need:
+Do you want me to prepare more chocolate box for you? For that I'll need:
+
+Do you want me to teach you how to improve an existing skill with MAGIC? There are no better mages than Mouboos!
+Do you want me to teach you how to improve an existing skill with MAGIC? There are no better mages than Mouboos!
+
+Do you want more coffee?
+Do you want more coffee?
+
+Do you want one?
+Do you want one?
+
+Do you want to advance?
+Do you want to advance?
+
+Do you want to begin the %s Dungeon?
+Do you want to begin the %s Dungeon?
+
+Do you want to break open this %s?
+Do you want to break open this %s?
+
+Do you want to change your race?
+Do you want to change your race?
+
+Do you want to craft @@? For that I will need @@ @@, @@ @@ and @@ gp.
+Do you want to craft @@? For that I will need @@ @@, @@ @@ and @@ gp.
+
+Do you want to craft @@? For that I will need:
+Do you want to craft @@? For that I will need:
+
+Do you want to cross to the other side? You'll need to find the sea to return here if you do.
+Do you want to cross to the other side? You'll need to find the sea to return here if you do.
+
+Do you want to do something else?
+Do you want to do something else?
+
+Do you want to exchange some of your @@ @@ for items?
+Do you want to exchange some of your @@ @@ for items?
+
+Do you want to get a reward nonetheless? You will lose @@.
+Do you want to get a reward nonetheless? You will lose @@.
+
+Do you want to go against the Monster King now? The event will start 18:30 UTC sharply.
+Do you want to go against the Monster King now? The event will start 18:30 UTC sharply.
+
+Do you want to go there? The Red Wizard may be able to offer you training.
+Do you want to go there? The Red Wizard may be able to offer you training.
+
+Do you want to go to Fortress Island, where the Monster King lives?!
+Do you want to go to Fortress Island, where the Monster King lives?!
+
+Do you want to go to the left, the right or stay where you are?
+Do you want to go to the left, the right or stay where you are?
+
+Do you want to help? I promise you no reward, so you will do it of your own will.
+Do you want to help? I promise you no reward, so you will do it of your own will.
+
+Do you want to hire a mercenary? Or perhaps get a card so you can invoke them later? I can even make them stronger if you wish.
+Do you want to hire a mercenary? Or perhaps get a card so you can invoke them later? I can even make them stronger if you wish.
+
+Do you want to make %s?
+Do you want to make %s?
+
+Do you want to make sake?
+Do you want to make sake?
+
+Do you want to make wine?
+Do you want to make wine?
+
+Do you want to marry @@?
+Do you want to marry @@?
+
+Do you want to open this chest?
+Do you want to open this chest?
+
+Do you want to participate on Call Of Dusty?
+Do you want to participate on Call Of Dusty?
+
+Do you want to play a song?
+Do you want to play a song?
+
+Do you want to put it out, or to make it brighter?
+Do you want to put it out, or to make it brighter?
+
+Do you want to re-roll?
+Do you want to re-roll?
+
+Do you want to read again the instructions?
+Do you want to read again the instructions?
+
+Do you want to read it?
+Do you want to read it?
+
+Do you want to read the story again? Or should we get to the most obvious point?
+Do you want to read the story again? Or should we get to the most obvious point?
+
+Do you want to rent a Mouboo? It allows quick traveling!
+Do you want to rent a Mouboo? It allows quick traveling!
+
+Do you want to rent a Tortuga? It allows quick traveling!
+Do you want to rent a Tortuga? It allows quick traveling!
+
+Do you want to restore it, or to keep breaking it?
+Do you want to restore it, or to keep breaking it?
+
+Do you want to return to Land Of Fire Village?
+Do you want to return to Land Of Fire Village?
+
+Do you want to return?
+Do you want to return?
+
+Do you want to start?
+Do you want to start?
+
+Do you want to trade your points? The demand keep raising, and so does the price!
+Do you want to trade your points? The demand keep raising, and so does the price!
+
+Do you want to try to find them? Just search the first five floors: Novice, Intermediary, Advanced, Expert and Master.
+Do you want to try to find them? Just search the first five floors: Novice, Intermediary, Advanced, Expert and Master.
+
+Do you want to use the souls to unlock the passage?
+Do you want to use the souls to unlock the passage?
+
+Do you wish to return to the Academy?
+Do you wish to return to the Academy?
+
+Do you, perchance, have 2 @@ and 3 @@?
+Do you, perchance, have 2 @@ and 3 @@?
+
+Doctor
+Doctor
+
+Dodge Potion
+Dodge Potion
+
+Does it counts to Honor Ranking?
+Does it counts to Honor Ranking?
+
+Doesn't it feel good to help?
+Doesn't it feel good to help?
+
+Dog Statue#Saggy
+Dog Statue#Saggy
+
+Doggy Dog
+Doggy Dog
+
+Doll
+Doll
+
+Don't ask.
+Don't ask.
+
+Don't be afraid of death. Of course, in most places, dying will make you lose some Experience you gathered.
+Don't be afraid of death. Of course, in most places, dying will make you lose some Experience you gathered.
+
+Don't be deemed unworthy,
+Don't be deemed unworthy,
+
+Don't believe anything they tell you! Here, take this, so you can defend yourself. And some food, now leave.
+Don't believe anything they tell you! Here, take this, so you can defend yourself. And some food, now leave.
+
+Don't bore me.
+Don't bore me.
+
+Don't bother me, I'm busy right now. Since the Monster King left, I barely got a night of rest...
+Don't bother me, I'm busy right now. Since the Monster King left, I barely got a night of rest...
+
+Don't break my stuff.
+Don't break my stuff.
+
+Don't challenge the Moubootaur. You saw what happened to me.
+Don't challenge the Moubootaur. You saw what happened to me.
+
+Don't change race
+Don't change race
+
+Don't cry any further. I am here to help.
+Don't cry any further. I am here to help.
+
+Don't deploy
+Don't deploy
+
+Don't distract me, I have to stay alert.
+Don't distract me, I have to stay alert.
+
+Don't do theee... *hic* with me eh!
+Don't do theee... *hic* with me eh!
+
+Don't fill
+Don't fill
+
+Don't fix.
+Don't fix.
+
+Don't forget to collect and eat any chocolate sent to you, too!
+Don't forget to collect and eat any chocolate sent to you, too!
+
+Don't forget to come as close as possible to these spots!
+Don't forget to come as close as possible to these spots!
+
+Don't go alone, though! He would not listen to me, it is not you alone he'll pay attention. You will lose reagents!
+Don't go alone, though! He would not listen to me, it is not you alone he'll pay attention. You will lose reagents!
+
+Don't interrupt me, I'm busy!
+Don't interrupt me, I'm busy!
+
+Don't just stand here! Go fetch help, NOW!!
+Don't just stand here! Go fetch help, NOW!!
+
+Don't pay.
+Don't pay.
+
+Don't rent a mouboo.
+Don't rent a mouboo.
+
+Don't rent a tortuga.
+Don't rent a tortuga.
+
+Don't rent it
+Don't rent it
+
+Don't say anything, I can smell the scent of Helena's hair on you.
+Don't say anything, I can smell the scent of Helena's hair on you.
+
+Don't speak to me crazy guy!
+Don't speak to me crazy guy!
+
+Don't spin it!
+Don't spin it!
+
+Don't tax crafters
+Don't tax crafters
+
+Don't try to trick me, this attracts bad karma! You could get stolen on Christmas! Seriously, this has happened before!
+Don't try to trick me, this attracts bad karma! You could get stolen on Christmas! Seriously, this has happened before!
+
+Don't upgrade it
+Don't upgrade it
+
+Don't warp
+Don't warp
+
+Don't we know any Yeti specialist? Maybe Celestia?
+Don't we know any Yeti specialist? Maybe Celestia?
+
+Don't worry if they don't correspond to you. Each box sent will grant you 1 event point.
+Don't worry if they don't correspond to you. Each box sent will grant you 1 event point.
+
+Don't worry ma'm, I'll recover the Treasure Keys at once.
+Don't worry ma'm, I'll recover the Treasure Keys at once.
+
+Don't worry, I'll stay at the caves.
+Don't worry, I'll stay at the caves.
+
+Don't worry, I've tweaked my formula this time. Here is some experience and let's try again!
+Don't worry, I've tweaked my formula this time. Here is some experience and let's try again!
+
+Don't worry, third time is the charm. Here is some experience. Let's try again.
+Don't worry, third time is the charm. Here is some experience. Let's try again.
+
+Don't you have any exploit of your own?
+Don't you have any exploit of your own?
+
+Donate 1/@@ @@ to Ensio?
+Donate 1/@@ @@ to Ensio?
+
+Donate 100 GP for prize
+Donate 100 GP for prize
+
+Donate 100k GP for prize
+Donate 100k GP for prize
+
+Donate 10k GP for prize
+Donate 10k GP for prize
+
+Donate 15 GP for prize
+Donate 15 GP for prize
+
+Donate 1k GP for prize
+Donate 1k GP for prize
+
+Donate 250k GP for prize
+Donate 250k GP for prize
+
+Donate 25k GP for prize
+Donate 25k GP for prize
+
+Donate 5 GP for prize
+Donate 5 GP for prize
+
+Donate 50 GP for prize
+Donate 50 GP for prize
+
+Donate GP
+Donate GP
+
+Donate a Bat Teeth
+Donate a Bat Teeth
+
+Donate a Bat Wing
+Donate a Bat Wing
+
+Donate to town
+Donate to town
+
+Donating blood is a noble act, which allows to save lifes.
+Donating blood is a noble act, which allows to save lifes.
+
+Donating blood will BLOCK YOUR MOVEMENT for three minutes.
+Donating blood will BLOCK YOUR MOVEMENT for three minutes.
+
+Donation completed.
+Donation completed.
+
+Donation successful!
+Donation successful!
+
+Done!
+Done!
+
+Doorbell is disabled
+Doorbell is disabled
+
+Doorbell#RES_0096
+Doorbell#RES_0096
+
+Doorbell#RES_0097
+Doorbell#RES_0097
+
+Doorbell#RES_0128
+Doorbell#RES_0128
+
+Doorbell#RES_0177
+Doorbell#RES_0177
+
+Doorbell#RES_0178
+Doorbell#RES_0178
+
+Doorbell#RES_PPL
+Doorbell#RES_PPL
+
+Doppelganger Challenge Ranking
+Doppelganger Challenge Ranking
+
+Doppelganger Challenge, @@ began the fight!
+Doppelganger Challenge, @@ began the fight!
+
+Doppelganger Waves Won: %s
+Doppelganger Waves Won: %s
+
+Double Attack +5%
+Double Attack +5%
+
+Doubled.
+Doubled.
+
+Doug
+Doug
+
+Downgrade Ore
+Downgrade Ore
+
+Downgrade Scorpion Claw
+Downgrade Scorpion Claw
+
+Downgrade Scorpion Stinger
+Downgrade Scorpion Stinger
+
+Downgrade Snake Egg
+Downgrade Snake Egg
+
+Downgrade Snake Skin
+Downgrade Snake Skin
+
+Downgrade Snake Tongue
+Downgrade Snake Tongue
+
+Dracoula
+Dracoula
+
+Drag and drop a %s in a %s, and you will obtain a %s.
+Drag and drop a %s in a %s, and you will obtain a %s.
+
+Drag and drop a healing item from your inventory.
+Drag and drop a healing item from your inventory.
+
+Drag and drop an item from your inventory.
+Drag and drop an item from your inventory.
+
+Drag and drop here the item you want to remove the options.
+Drag and drop here the item you want to remove the options.
+
+Dragon Eggshell
+Dragon Eggshell
+
+Dragon Horn
+Dragon Horn
+
+Dragon Scales
+Dragon Scales
+
+Dragon Shield
+Dragon Shield
+
+Dragon Star
+Dragon Star
+
+Dragon Star Card
+Dragon Star Card
+
+DragonStar, Aisen
+DragonStar, Aisen
+
+Dragonfruit
+Dragonfruit
+
+Dragons and Toast
+Dragons and Toast
+
+Dragonstar and Aisen did their best along many others, and managed to liberate Hurnscald, though!
+Dragonstar and Aisen did their best along many others, and managed to liberate Hurnscald, though!
+
+Drahcir
+Drahcir
+
+Drains your MP bar to replenish target's. Doesn't go past 100%.
+Drains your MP bar to replenish target's. Doesn't go past 100%.
+
+Dreaded Pirate Marley
+Dreaded Pirate Marley
+
+Dream Ticket
+Dream Ticket
+
+Dream Tower
+Dream Tower
+
+Dream Tower Appears
+Dream Tower Appears
+
+Dress up! Do not walk without clothes! Always wear your items! They leave you less vulnerable to attacks and stronger to defeat your opponents.
+Dress up! Do not walk without clothes! Always wear your items! They leave you less vulnerable to attacks and stronger to defeat your opponents.
+
+Drink the potion
+Drink the potion
+
+Drink the potion, and say magic words
+Drink the potion, and say magic words
+
+Drinking what drink is like having your brain smashed out by a slice of lemon wrapped round a large gold brick?
+Drinking what drink is like having your brain smashed out by a slice of lemon wrapped round a large gold brick?
+
+Drinking with friends will give 1.5% extra XP boost for each person nearby.
+Drinking with friends will give 1.5% extra XP boost for each person nearby.
+
+Drop a coin to hear how deep it is
+Drop a coin to hear how deep it is
+
+Drop rate has been reset to @@% (default value).
+Drop rate has been reset to @@% (default value).
+
+Drop rate is set to @@% for the next @@.
+Drop rate is set to @@% for the next @@.
+
+Drop these near the circle to make the breaking faster.
+Drop these near the circle to make the breaking faster.
+
+Drowned Man
+Drowned Man
+
+Drueme
+Drueme
+
+Druid Card
+Druid Card
+
+Druid Card S
+Druid Card S
+
+Druid Card X
+Druid Card X
+
+Druid Tree Branch
+Druid Tree Branch
+
+Duck
+Duck
+
+Duck Egg
+Duck Egg
+
+Duck Elder
+Duck Elder
+
+Duck Elder : Success! The pirates have been thwarted.
+Duck Elder : Success! The pirates have been thwarted.
+
+Duck Elder : We have failed. The pirates will regroup and replenish their fallen. They will strike again, until we are defeated.
+Duck Elder : We have failed. The pirates will regroup and replenish their fallen. They will strike again, until we are defeated.
+
+Duck Feather
+Duck Feather
+
+Duck Initiate
+Duck Initiate
+
+Duck Soldier
+Duck Soldier
+
+Ducks and Giant Maggots also drops Cherry Cakes.
+Ducks and Giant Maggots also drops Cherry Cakes.
+
+Due this bug, you didn't got a proper amount of points per sent. We wanted to deliver you a token of apology!
+Due this bug, you didn't got a proper amount of points per sent. We wanted to deliver you a token of apology!
+
+Due to a recent incident involving slimes, the building is closed to public visits.
+Due to a recent incident involving slimes, the building is closed to public visits.
+
+Dummy
+Dummy
+
+Dungeon Map
+Dungeon Map
+
+Dungeon cleared!
+Dungeon cleared!
+
+During Valentine 2020, you can get event equipment with the Soul Stone.
+During Valentine 2020, you can get event equipment with the Soul Stone.
+
+During cutscenes, you cannot move. If you do, you'll be forcibly pushed back.
+During cutscenes, you cannot move. If you do, you'll be forcibly pushed back.
+
+During night the professor also goes to the Magic Academy, using the hidden north port, on the building to left of the Magic Council...
+During night the professor also goes to the Magic Academy, using the hidden north port, on the building to left of the Magic Council...
+
+During night, the monsters usually respawn faster. That can be a problem with aggressive monsters.
+During night, the monsters usually respawn faster. That can be a problem with aggressive monsters.
+
+During summer, more Tonori Delight can be produced.
+During summer, more Tonori Delight can be produced.
+
+During the war, the Monster King cursed the place where he died, but he fought back, and cursed the curse.
+During the war, the Monster King cursed the place where he died, but he fought back, and cursed the curse.
+
+During this season, Gemini Quest can be done with parties of 6.
+During this season, Gemini Quest can be done with parties of 6.
+
+During this season, challenges to Crazyfefe will be free.
+During this season, challenges to Crazyfefe will be free.
+
+During this season, monster point gain is increased in %d%%!
+During this season, monster point gain is increased in %d%%!
+
+During this season, you can summon the Yeti King for free.
+During this season, you can summon the Yeti King for free.
+
+Dust In A Bottle
+Dust In A Bottle
+
+Dustynator 2000
+Dustynator 2000
+
+Dwarf Craftsmaster
+Dwarf Craftsmaster
+
+Dwarven Sake
+Dwarven Sake
+
+Dye cards are not the only thing which exist, but they are the coolest!
+Dye cards are not the only thing which exist, but they are the coolest!
+
+Dye? How can you do that without a cauldron?
+Dye? How can you do that without a cauldron?
+
+Dyes are a special kind of ink to make certain objects fancier.
+Dyes are a special kind of ink to make certain objects fancier.
+
+Dying inside the Heroes Hold Main Dungeon does not have a penalty. However, dying outside the castle have.
+Dying inside the Heroes Hold Main Dungeon does not have a penalty. However, dying outside the castle have.
+
+Dying outside a town square will cause EXP loss.
+Dying outside a town square will cause EXP loss.
+
+Dying will also decrease the pet intimacy, and there are bonuses when your intimacy is high!
+Dying will also decrease the pet intimacy, and there are bonuses when your intimacy is high!
+
+Dyrin The Traveler
+Dyrin The Traveler
+
+ENOUGH! LAME CHEATERS, GET OFF THIS GAME %%a That's 15 gifts, and it is final.
+ENOUGH! LAME CHEATERS, GET OFF THIS GAME %%a That's 15 gifts, and it is final.
+
+ERROR: %d
+ERROR: %d
+
+ERROR: You already took the coins today. Please wait @@ more.
+ERROR: You already took the coins today. Please wait @@ more.
+
+ERROR: You must set a PinCode to make use of this function.
+ERROR: You must set a PinCode to make use of this function.
+
+EVENT Bow
+EVENT Bow
+
+EVENT CANCELLED DUE TO PLAYER INACTIVITY
+EVENT CANCELLED DUE TO PLAYER INACTIVITY
+
+EVENT Single Hand Sword
+EVENT Single Hand Sword
+
+EVENT Two Hands Sword
+EVENT Two Hands Sword
+
+EVENT Wand
+EVENT Wand
+
+EVERY switch on EVERY cave will unflip itself after about 2 minutes. So don't waste your time.
+EVERY switch on EVERY cave will unflip itself after about 2 minutes. So don't waste your time.
+
+EXP Gain +10%
+EXP Gain +10%
+
+EXP Gain raised in @@% for one hour!
+EXP Gain raised in @@% for one hour!
+
+EXP Penalty: ON
+EXP Penalty: ON
+
+EXPERTS ONLY - If you are not a talented crafter, avoid this.
+EXPERTS ONLY - If you are not a talented crafter, avoid this.
+
+EXPLOSIVE GUNSTAFF
+EXPLOSIVE GUNSTAFF
+
+Each item have it's own tax.
+Each item have it's own tax.
+
+Each level up will buff your base stats, and give you stats points to allocate. However, there is Job Level.
+Each level up will buff your base stats, and give you stats points to allocate. However, there is Job Level.
+
+Each monster will be counted as %d kills.
+Each monster will be counted as %d kills.
+
+Each of them require different items, I'll sort from weakest to strongest, so choose wisely.
+Each of them require different items, I'll sort from weakest to strongest, so choose wisely.
+
+Each season unlocks a set of quests and drops which can only be obtained on the season.
+Each season unlocks a set of quests and drops which can only be obtained on the season.
+
+Each settlement names a representative, which forms the Alliance Council. There is also the High Council, and the Magic Council.
+Each settlement names a representative, which forms the Alliance Council. There is also the High Council, and the Magic Council.
+
+Earlier I hadn't any, but now that I have the baits, I will be glad to sell some to you!
+Earlier I hadn't any, but now that I have the baits, I will be glad to sell some to you!
+
+Earmuffs
+Earmuffs
+
+Earth Element
+Earth Element
+
+Earth Fairy
+Earth Fairy
+
+Earth Powder
+Earth Powder
+
+Earth Scroll
+Earth Scroll
+
+Earth Witch Card
+Earth Witch Card
+
+East Aeros
+East Aeros
+
+Easter
+Easter
+
+Easter @@
+Easter @@
+
+Easter Angry Forain
+Easter Angry Forain
+
+Easter Egg
+Easter Egg
+
+Easter Egg quest updated. Total found: %02d/06
+Easter Egg quest updated. Total found: %02d/06
+
+Easter Eggs found: %d
+Easter Eggs found: %d
+
+Easter Mouboo
+Easter Mouboo
+
+Easter Top 1 Prize
+Easter Top 1 Prize
+
+Easter is over! I am the last chance to get rid of eggs!!
+Easter is over! I am the last chance to get rid of eggs!!
+
+Easy
+Easy
+
+Easy Mode
+Easy Mode
+
+Eating is a necessity, but cooking is an art.
+Eating is a necessity, but cooking is an art.
+
+Ectoplasm
+Ectoplasm
+
+Eevert
+Eevert
+
+Effects from The Great Fire are still felt by the people.
+Effects from The Great Fire are still felt by the people.
+
+Eggshell Hat
+Eggshell Hat
+
+Eh, I don't think you'll be brave enough to go after her. If even she decided to flee, I doubt you wouldn't do the same.
+Eh, I don't think you'll be brave enough to go after her. If even she decided to flee, I doubt you wouldn't do the same.
+
+Eh, I have to go.
+Eh, I have to go.
+
+Eh, that seems too problematic. Sorry.
+Eh, that seems too problematic. Sorry.
+
+Eh... Sure, why not. What could go wrong, after all.
+Eh... Sure, why not. What could go wrong, after all.
+
+Eh? Well, you're in a desert. You can see Maggots and Scorpions, they're very common on these parts. Giant Maggots are very dangerous, but also very slow. If you know how to fight, they will yield you lots of experience.
+Eh? Well, you're in a desert. You can see Maggots and Scorpions, they're very common on these parts. Giant Maggots are very dangerous, but also very slow. If you know how to fight, they will yield you lots of experience.
+
+Eh? You sure?
+Eh? You sure?
+
+Eight Maggots will rise from the ground and will start destroying the crops.
+Eight Maggots will rise from the ground and will start destroying the crops.
+
+Eight gifts. Let's double the goal. 25600 gifts. Did you guys hire some chinese gold farmers, anyway?
+Eight gifts. Let's double the goal. 25600 gifts. Did you guys hire some chinese gold farmers, anyway?
+
+Eistein
+Eistein
+
+Elanore casts a chant over the items, closes her hands, and vóila! A lifestone.
+Elanore casts a chant over the items, closes her hands, and vóila! A lifestone.
+
+Elanore the Healer
+Elanore the Healer
+
+Eldrin
+Eldrin
+
+Eldrin, Taskmaster
+Eldrin, Taskmaster
+
+Electro Worm
+Electro Worm
+
+Elen The Traveler
+Elen The Traveler
+
+Elenium Bif
+Elenium Bif
+
+Eleven gifts? You guys really have no live! For 204,800 I'll give an extra one.
+Eleven gifts? You guys really have no live! For 204,800 I'll give an extra one.
+
+Elf
+Elf
+
+Elfic Bow
+Elfic Bow
+
+Elias
+Elias
+
+Elias gets a bit excited.
+Elias gets a bit excited.
+
+Elite Duck
+Elite Duck
+
+Elite Scout#MB0233
+Elite Scout#MB0233
+
+Elixir Of Life
+Elixir Of Life
+
+Elixir of Life
+Elixir of Life
+
+Eliza
+Eliza
+
+Elli
+Elli
+
+Elli#Ep
+Elli#Ep
+
+Elmo
+Elmo
+
+Elmo has given you an EXP UP and DROP UP Boost until level 20!
+Elmo has given you an EXP UP and DROP UP Boost until level 20!
+
+Elmo#002-5
+Elmo#002-5
+
+Elmo#sailors
+Elmo#sailors
+
+Elora
+Elora
+
+Elora#1
+Elora
+
+Elven
+Elven
+
+Elves are always allowed inside.
+Elves are always allowed inside.
+
+Elza
+Elza
+
+Email: @@
+Email: @@
+
+Emeald Bif
+Emeald Bif
+
+Emerald
+Emerald
+
+Emerald (+2 luck)
+Emerald (+2 luck)
+
+Emerald Powder
+Emerald Powder
+
+Emergency Exit
+Emergency Exit
+
+Emma
+Emma
+
+Emoc otem itey gnik!
+Emoc otem itey gnik!
+
+Emperium
+Emperium
+
+Empty Box
+Empty Box
+
+EmptyBottle
+EmptyBottle
+
+Enable
+Enable
+
+Enable Event
+Enable Event
+
+Enable/disable doorbell
+Enable/disable doorbell
+
+Enabled
+Enabled
+
+Enabled: @@
+Enabled: @@
+
+Enchanted Herb Bag
+Enchanted Herb Bag
+
+End status @@
+End status @@
+
+End! Score this time: %d
+End! Score this time: %d
+
+End! Score this time: %s
+End! Score this time: %s
+
+Endless, cute, dangerous, deadly.
+Endless, cute, dangerous, deadly.
+
+Enemies stunned!
+Enemies stunned!
+
+Energy Ball
+Energy Ball
+
+Energy Ball Challenge
+Energy Ball Challenge
+
+Engraving#Katazuli1
+Engraving#Katazuli1
+
+Engravings#Gemini
+Engravings#Gemini
+
+Enjoy this new weapon, I hope you're successful.
+Enjoy this new weapon, I hope you're successful.
+
+Enjoy this world while it lasts. Heh. It's time to... detonate.
+Enjoy this world while it lasts. Heh. It's time to... detonate.
+
+Enjoy your new style.
+Enjoy your new style.
+
+Enjoy your time here, %s. And keep your eye out for agents of S.A.R.A.H.
+Enjoy your time here, %s. And keep your eye out for agents of S.A.R.A.H.
+
+Enliven Reva Foxhound
+Enliven Reva Foxhound
+
+Enough for now. Let's rest, shall we?
+Enough for now. Let's rest, shall we?
+
+Enrique
+Enrique
+
+Ensio
+Ensio
+
+Ent Abomination
+Ent Abomination
+
+Enter
+Enter
+
+Enter anyway?
+Enter anyway?
+
+Enter dungeons? You won't be able to join anymore when he dies.
+Enter dungeons? You won't be able to join anymore when he dies.
+
+Enter line number:
+Enter line number:
+
+Enter new line:
+Enter new line:
+
+Enter though the window to the secret caves?
+Enter though the window to the secret caves?
+
+Enter/Leave after start: %s
+Enter/Leave after start: %s
+
+Enzo
+Enzo
+
+Eomie
+Eomie
+
+Epic Mouboo
+Epic Mouboo
+
+Epic Tortuga
+Epic Tortuga
+
+Epiphany Wisp
+Epiphany Wisp
+
+Equip
+Equip
+
+Equipment Blueprint A
+Equipment Blueprint A
+
+Equipment Blueprint B
+Equipment Blueprint B
+
+Equipment Blueprint C
+Equipment Blueprint C
+
+Equipment Blueprint D
+Equipment Blueprint D
+
+Equipment Blueprint E
+Equipment Blueprint E
+
+Equippable items are armour, weapons and accessories.
+Equippable items are armour, weapons and accessories.
+
+Equipping them is easy, you must open your inventory with @@ or clicking in @@, on the top right.
+Equipping them is easy, you must open your inventory with @@ or clicking in @@, on the top right.
+
+Er, nevermind, I've thought of something to give you. You can go off now and get what I need.
+Er, nevermind, I've thought of something to give you. You can go off now and get what I need.
+
+Er, uhm, hi!
+Er, uhm, hi!
+
+Erik
+Erik
+
+Erlan
+Erlan
+
+Erm, for certain... reasons... I cannot help you right now!
+Erm, for certain... reasons... I cannot help you right now!
+
+Erm... Good bye.
+Erm... Good bye.
+
+Erm... I don't have a recipe book.
+Erm... I don't have a recipe book.
+
+Erm... I don't know my parents.
+Erm... I don't know my parents.
+
+Erm... You're right.
+Erm... You're right.
+
+Error
+Error
+
+Error, cheater detected
+Error, cheater detected
+
+Error, contact Jesusalva! Missing warp. Healing & Reseting temporaly.
+Error, contact Jesusalva! Missing warp. Healing & Reseting temporaly.
+
+Error, error, L_T3_S0 General Error, REPORT ME
+Error, error, L_T3_S0 General Error, REPORT ME
+
+Error, invalid return code, blame Saulc
+Error, invalid return code, blame Saulc
+
+Estard
+Estard
+
+Eugene
+Eugene
+
+Eugene bows politely, but he thinks he can use more.
+Eugene bows politely, but he thinks he can use more.
+
+Eurni
+Eurni
+
+Evasion +20
+Evasion +20
+
+Even after breaking the first layer, a second layer keeps active. The first layer gets back to work shortly after. What have I missed or forgotten to do?
+Even after breaking the first layer, a second layer keeps active. The first layer gets back to work shortly after. What have I missed or forgotten to do?
+
+Even if the city has not been attacked on the last few years, I can't help but be concerned while the kids are playing hide and seek.
+Even if the city has not been attacked on the last few years, I can't help but be concerned while the kids are playing hide and seek.
+
+Even if they recover their strength, because the connection was severed, the barrier will not power up again.
+Even if they recover their strength, because the connection was severed, the barrier will not power up again.
+
+Even if you drink alone, you'll still receive the EXP bonus marked on the item description.
+Even if you drink alone, you'll still receive the EXP bonus marked on the item description.
+
+Even the mighty Andrei Sakar could only barely escape alive. The Monster King was too strong.
+Even the mighty Andrei Sakar could only barely escape alive. The Monster King was too strong.
+
+Event Canceled
+Event Canceled
+
+Event Details
+Event Details
+
+Event Horizon Card
+Event Horizon Card
+
+Event Information
+Event Information
+
+Event Management
+Event Management
+
+Event News
+Event News
+
+Event Ranking Rewards
+Event Ranking Rewards
+
+Event management
+Event management
+
+Event score: %d -> %d
+Event score: %d -> %d
+
+Event weapons and cards will be deleted once event ends.
+Event weapons and cards will be deleted once event ends.
+
+Event will start in @@
+Event will start in @@
+
+Everburn Powder
+Everburn Powder
+
+Every %d sequences, you'll get a %s!
+Every %d sequences, you'll get a %s!
+
+Every 1 hour
+Every 1 hour
+
+Every 101 successive right guesses, you'll get a @@!
+Every 101 successive right guesses, you'll get a @@!
+
+Every 12 hours
+Every 12 hours
+
+Every 24 hours
+Every 24 hours
+
+Every 3 hours
+Every 3 hours
+
+Every 5 hours
+Every 5 hours
+
+Every 6 hours
+Every 6 hours
+
+Every bot says that.
+Every bot says that.
+
+Every day you login, you'll be able to spin a card.
+Every day you login, you'll be able to spin a card.
+
+Every day, they disappear and a new one shows up on its place.
+Every day, they disappear and a new one shows up on its place.
+
+Every fifteen successive right guesses, you'll get a @@!
+Every fifteen successive right guesses, you'll get a @@!
+
+Every fifty successive right guesses, you'll get a @@!
+Every fifty successive right guesses, you'll get a @@!
+
+Every once in a while, but I guess this is not common on your world, am I right.
+Every once in a while, but I guess this is not common on your world, am I right.
+
+Every seven successive right guesses, you'll get a %s!
+Every seven successive right guesses, you'll get a %s!
+
+Everyone commit mistakes and Oskari was very understanding. I need to do some questions about the incident though.
+Everyone commit mistakes and Oskari was very understanding. I need to do some questions about the incident though.
+
+Everyone loves the Land of Fire, it is impossible to not love it.
+Everyone loves the Land of Fire, it is impossible to not love it.
+
+Everything in order.
+Everything in order.
+
+Evil Bullet
+Evil Bullet
+
+Evil Chest
+Evil Chest
+
+Evil Mushroom
+Evil Mushroom
+
+Evil Scythe
+Evil Scythe
+
+Evil Wisp
+Evil Wisp
+
+Evil worms crawl from earth and starts devouring the plants!
+Evil worms crawl from earth and starts devouring the plants!
+
+Evolve a card
+Evolve a card
+
+Evolve mercenaries
+Evolve mercenaries
+
+Examine the Mouboo
+Examine the Mouboo
+
+Example:
+Example:
+
+Example: @translate Elmo
+Example: @translate Elmo
+
+Example: @translate Nard
+Example: @translate Nard
+
+Example: @translate npc/002-1/arpan
+Example: @translate npc/002-1/arpan
+
+Example: Give the answer for the following: one+1
+Example: Give the answer for the following: one+1
+
+Excellent! Let me see...
+Excellent! Let me see...
+
+Excellent! This is exactly what I need. Thanks a lot. I'll tell Nikolai about your generosity.
+Excellent! This is exactly what I need. Thanks a lot. I'll tell Nikolai about your generosity.
+
+Except they're not. I'll be back later.
+Except they're not. I'll be back later.
+
+Exchange Gempowder for Quill
+Exchange Gempowder for Quill
+
+Exchange the item with Leona?
+Exchange the item with Leona?
+
+Excuse me.
+Excuse me.
+
+Excuse me? Do you know who I am?#0
+Excuse me? Do you know who I am?
+
+Excuse me? Do you know who I am?#1
+Excuse me? Do you know who I am?
+
+Exile a player
+Exile a player
+
+Exiled players will not be able to save to menhir.
+Exiled players will not be able to save to menhir.
+
+Exit
+Exit
+
+Exp rate has been reset to @@% (default value).
+Exp rate has been reset to @@% (default value).
+
+Exp rate is set to @@% for the next @@.
+Exp rate is set to @@% for the next @@.
+
+Experience can be gained by completing quests and killing monsters. When you accumulate enough experience, you'll level up!
+Experience can be gained by completing quests and killing monsters. When you accumulate enough experience, you'll level up!
+
+Experience.
+Experience.
+
+Expert Dungeon (Lv 100+)
+Expert Dungeon (Lv 100+)
+
+Expire rent time
+Expire rent time
+
+Explain briefly about mercenaries... I mean, we have a Mercenaries section on @tutorial right?
+Explain briefly about mercenaries... I mean, we have a Mercenaries section on @tutorial right?
+
+Explosive ARROW
+Explosive ARROW
+
+Explosive Arrow
+Explosive Arrow
+
+Explosive Gunstaff
+Explosive Gunstaff
+
+Eyes grows!
+Eyes grows!
+
+Ezra
+Ezra
+
+F2
+F2
+
+F3
+F3
+
+FIGHT!
+FIGHT!
+
+FINAL BOSS FIGHT - WATCH OUT!
+FINAL BOSS FIGHT - WATCH OUT!
+
+FINAL WARNING: Do not spend unecessary time on Soren's House, you'll be disconnected!!
+FINAL WARNING: Do not spend unecessary time on Soren's House, you'll be disconnected!!
+
+Fafi Dragon
+Fafi Dragon
+
+Fafi Mask
+Fafi Mask
+
+Failed to warp to Soren Village.
+Failed to warp to Soren Village.
+
+Failing all else, you can stay at the Magic Council getting experience for sitting. Hopefully you'll gain a level and this will help you a bit.
+Failing all else, you can stay at the Magic Council getting experience for sitting. Hopefully you'll gain a level and this will help you a bit.
+
+Failure to respond to other players and/or GMs in a timely manner will be viewed as unacceptable AFK botting. And you'll spend a night in the jail.
+Failure to respond to other players and/or GMs in a timely manner will be viewed as unacceptable AFK botting. And you'll spend a night in the jail.
+
+Fair Person
+Fair Person
+
+Fairies usually behaves well, but they hate snakes, so avoid casting halhiss and fairy kingdom at once. You never know.
+Fairies usually behaves well, but they hate snakes, so avoid casting halhiss and fairy kingdom at once. You never know.
+
+Fairy's Squirrel
+Fairy's Squirrel
+
+Fake Manastone
+Fake Manastone
+
+Falkon Card
+Falkon Card
+
+Falkon Strike
+Falkon Strike
+
+Falkrun
+Falkrun
+
+Fallen King
+Fallen King
+
+Falling means certain death.
+Falling means certain death.
+
+Fancy Hat
+Fancy Hat
+
+Far over, the misty Nivalis cold ♪
+Far over, the misty Nivalis cold ♪
+
+Farewell, until the next time. Shall we met again, and may the light guide our paths.
+Farewell, until the next time. Shall we met again, and may the light guide our paths.
+
+Farewell.
+Farewell.
+
+Faris
+Faris
+
+Farm there and get the best experience value!
+Farm there and get the best experience value!
+
+Farmer Hat
+Farmer Hat
+
+Farmer Pants
+Farmer Pants
+
+Fate's Potion
+Fate's Potion
+
+Fates Potion
+Fates Potion
+
+Fear
+Fear
+
+Fear not! You can check our [@@https://wiki.moubootaurlegends.org|Wiki@@] to find that and other awesome stuff!
+Fear not! You can check our [@@https://wiki.moubootaurlegends.org|Wiki@@] to find that and other awesome stuff!
+
+Feel free to collect honey from the hives. Remember to bottle them before picking up... You can use the discardable bottles I keep near them for that.
+Feel free to collect honey from the hives. Remember to bottle them before picking up... You can use the discardable bottles I keep near them for that.
+
+Feel free to come visit me another time.
+Feel free to come visit me another time.
+
+Feel free to try again whenever.
+Feel free to try again whenever.
+
+Feeling lucky?
+Feeling lucky?
+
+Fefe's Diary
+Fefe's Diary
+
+Female
+Female
+
+Fertilized Spores
+Fertilized Spores
+
+Figures she would be involved. What did she say?
+Figures she would be involved. What did she say?
+
+Fill Water Bottles
+Fill Water Bottles
+
+Fill with what?
+Fill with what?
+
+Final: @@, @@
+Final: @@, @@
+
+Find it, spin it, and be bestowed in golden rewards!
+Find it, spin it, and be bestowed in golden rewards!
+
+Find yourself a nice dry spot on a coast where you can easily reach into deep water.
+Find yourself a nice dry spot on a coast where you can easily reach into deep water.
+
+Fine.
+Fine.
+
+Finish
+Finish
+
+Fire Arrow
+Fire Arrow
+
+Fire Breath Inn
+Fire Breath Inn
+
+Fire Element
+Fire Element
+
+Fire Fairy
+Fire Fairy
+
+Fire Goblin
+Fire Goblin
+
+Fire Scroll
+Fire Scroll
+
+Fire Skull
+Fire Skull
+
+Fire Staffs Recipes
+Fire Staffs Recipes
+
+Fire Staves
+Fire Staves
+
+Firearms? What would that be? @@
+Firearms? What would that be? @@
+
+Fireball
+Fireball
+
+Fireball Card
+Fireball Card
+
+Fireplace#Saggy
+Fireplace#Saggy
+
+Firewalk
+Firewalk
+
+First - item must be equipped.
+First - item must be equipped.
+
+First Aid
+First Aid
+
+First Dungeon Master
+First Dungeon Master
+
+First Grand Hunter challenge cleared %s ago
+First Grand Hunter challenge cleared %s ago
+
+First Tier
+First Tier
+
+First and foremost, you should get yourself some reputation. I mean, right now, you are a complete nobody who was found on the sea.
+First and foremost, you should get yourself some reputation. I mean, right now, you are a complete nobody who was found on the sea.
+
+First of all: Welcome! Your level was temporaly modified, it'll be reverted once event is over.
+First of all: Welcome! Your level was temporaly modified, it'll be reverted once event is over.
+
+First of, there's a day/night cycle on the game.
+First of, there's a day/night cycle on the game.
+
+First reborn %s ago
+First reborn %s ago
+
+First thing is to get a @@. One from black market won't do, go to Halinarzo!
+First thing is to get a @@. One from black market won't do, go to Halinarzo!
+
+First timers will be lead to somewhere random on this cave to keep intruders out. Just walk there again while all switches are still active.
+First timers will be lead to somewhere random on this cave to keep intruders out. Just walk there again while all switches are still active.
+
+First visit to Fortress Is. %s ago
+First visit to Fortress Is. %s ago
+
+First, %s is the Guardian of Law and Order. He ensures all rules are followed, and if anything breaks them, he erases their existence.
+First, %s is the Guardian of Law and Order. He ensures all rules are followed, and if anything breaks them, he erases their existence.
+
+First, you need to contribute to the common knowledge of this world. Like, write a %s, guide new players or something.
+First, you need to contribute to the common knowledge of this world. Like, write a %s, guide new players or something.
+
+Fish Box
+Fish Box
+
+Fisherman
+Fisherman
+
+Fisherman/Fisherwoman
+Fisherman/Fisherwoman
+
+Fishing
+Fishing
+
+Fishing Guide Vol. I
+Fishing Guide Vol. I
+
+Fishing Rod
+Fishing Rod
+
+Fishing bait:
+Fishing bait:
+
+Fishing is a boring task. Throw the bait, wait for fish to bite. Pull before it is too late. Then sell the fish for money.
+Fishing is a boring task. Throw the bait, wait for fish to bite. Pull before it is too late. Then sell the fish for money.
+
+Fishing next to shallow water is not going to work well, because fishes seldom go there.
+Fishing next to shallow water is not going to work well, because fishes seldom go there.
+
+Five powerful consecutive brawn attacks.
+Five powerful consecutive brawn attacks.
+
+Fixing Crystals have a price. You can only charge crystals to places you've already been.
+Fixing Crystals have a price. You can only charge crystals to places you've already been.
+
+Flight Talisman
+Flight Talisman
+
+Floors cannot be re-visited, and rewards increase at each floor.
+Floors cannot be re-visited, and rewards increase at each floor.
+
+Fluffy
+Fluffy
+
+Fluffy Animals who Love Their Owners
+Fluffy Animals who Love Their Owners
+
+Fluffy Egg
+Fluffy Egg
+
+Fluffy Hat
+Fluffy Hat
+
+Fluffy Hunter Challenge
+Fluffy Hunter Challenge
+
+Fluo Powder
+Fluo Powder
+
+Following these lines are some other writings on this paper.
+Following these lines are some other writings on this paper.
+
+Food is, and should always be, in demand.
+Food is, and should always be, in demand.
+
+Food:
+Food:
+
+Foolish kid, thinking they can fool me, Henry S., from all the people...!
+Foolish kid, thinking they can fool me, Henry S., from all the people...!
+
+Foolish kids, do you think violence is the answer to everything?!
+Foolish kids, do you think violence is the answer to everything?!
+
+Foolish mortal, who doesn't knows what you are doing!
+Foolish mortal, who doesn't knows what you are doing!
+
+Footwear Recipes
+Footwear Recipes
+
+For %d GP I'll teach you, do we have a deal?
+For %d GP I'll teach you, do we have a deal?
+
+For (another) one @@, I'll need 3~4 @@ and 50 GP.
+For (another) one @@, I'll need 3~4 @@ and 50 GP.
+
+For HLib, a GM must take the role of the Monster King
+For HLib, a GM must take the role of the Monster King
+
+For a long time, towns on the distant continent of Kolev have been supporting humans here.
+For a long time, towns on the distant continent of Kolev have been supporting humans here.
+
+For a moment you wonder if Celestia might have gotten confused and tossed in a handful of forest dirt into the teapot.
+For a moment you wonder if Celestia might have gotten confused and tossed in a handful of forest dirt into the teapot.
+
+For all his great deeds, and thousands of lives he saved, this statue is in his honor.
+For all his great deeds, and thousands of lives he saved, this statue is in his honor.
+
+For all the feedback, you know
+For all the feedback, you know
+
+For cowardingly killing in a "secure" area, you will be severely punished.
+For cowardingly killing in a "secure" area, you will be severely punished.
+
+For defeating the Monster King, you've got the Legendary @@.
+For defeating the Monster King, you've got the Legendary @@.
+
+For defending Hurnscald alone and saving all its inhabitants.
+For defending Hurnscald alone and saving all its inhabitants.
+
+For example, translations do not count. Wiki articles count.
+For example, translations do not count. Wiki articles count.
+
+For example, when an item is dropped to the ground, it rots away and disappear. It cannot be recovered. If an item were to break such rule, Mr. Saves would intervene.
+For example, when an item is dropped to the ground, it rots away and disappear. It cannot be recovered. If an item were to break such rule, Mr. Saves would intervene.
+
+For extreme power they hold.
+For extreme power they hold.
+
+For fighting against the Monster King once and getting out alive to tell the story.
+For fighting against the Monster King once and getting out alive to tell the story.
+
+For finding an Easter Egg, you got Strange Coins!
+For finding an Easter Egg, you got Strange Coins!
+
+For now do not take too much time to work on your intelligence, after all, almost nobody have magic this day.
+For now do not take too much time to work on your intelligence, after all, almost nobody have magic this day.
+
+For now, eat this. It'll improve your condition... for now. I don't know where you'll find a time travelling device, but if you find one, come to me. I'll help you.
+For now, eat this. It'll improve your condition... for now. I don't know where you'll find a time travelling device, but if you find one, come to me. I'll help you.
+
+For now, please accept this @@ as my gratitude.
+For now, please accept this @@ as my gratitude.
+
+For now, take this @@. I hope that you will use this power for something good now.
+For now, take this @@. I hope that you will use this power for something good now.
+
+For now, yes. But you will have to prove that you really care about more than yourself.
+For now, yes. But you will have to prove that you really care about more than yourself.
+
+For only 100 GP, you can sleep on the beds of the Land Of Fire.
+For only 100 GP, you can sleep on the beds of the Land Of Fire.
+
+For only @@ GP, I'll decrypt any ancient text file you have. Or you can learn how to read that yourself, for @@ GP.
+For only @@ GP, I'll decrypt any ancient text file you have. Or you can learn how to read that yourself, for @@ GP.
+
+For only a small amount of Gold Pieces, I will show you how it works!
+For only a small amount of Gold Pieces, I will show you how it works!
+
+For short, they had a fight with curses, and now there's a talking statue over his grave which can spawn monsters here.
+For short, they had a fight with curses, and now there's a talking statue over his grave which can spawn monsters here.
+
+For short, you would have lost all your items, wouldn't get anything, and there would be no refunds.
+For short, you would have lost all your items, wouldn't get anything, and there would be no refunds.
+
+For simple-minded individuals like you, pixies are fairies.
+For simple-minded individuals like you, pixies are fairies.
+
+For sure the chef of Nard's ship could spare you a pair of gloves.
+For sure the chef of Nard's ship could spare you a pair of gloves.
+
+For that, I need to light five torches. The pentagram, the magic, and all the else are with me. Just light the torches.
+For that, I need to light five torches. The pentagram, the magic, and all the else are with me. Just light the torches.
+
+For that, I use a special currency - Aethyr points. You can trade rare items for points. I also sell one point for %d GP. So, what will it me?
+For that, I use a special currency - Aethyr points. You can trade rare items for points. I also sell one point for %d GP. So, what will it me?
+
+For that, I'll need @@/@@ @@.
+For that, I'll need @@/@@ @@.
+
+For the @@, I'll need 5 ##Bhigh-quality##b @@, and @@ GP for work fee!
+For the @@, I'll need 5 ##Bhigh-quality##b @@, and @@ GP for work fee!
+
+For the first place in Easter, you gained a Bhopper Fluffy.
+For the first place in Easter, you gained a Bhopper Fluffy.
+
+For the higher titles, you'll need vouch of multiple people. You can vouch for anyone below your rank with %s but never for someone of same or higher rank.
+For the higher titles, you'll need vouch of multiple people. You can vouch for anyone below your rank with %s but never for someone of same or higher rank.
+
+For the mouboo? I was only doing my duty.
+For the mouboo? I was only doing my duty.
+
+For the rescue? You didn't seemed to be in need of aid.
+For the rescue? You didn't seemed to be in need of aid.
+
+For their weapons has a will on them.
+For their weapons has a will on them.
+
+For this @@, I offer you @@ GP.
+For this @@, I offer you @@ GP.
+
+For this @@, I offer you a(n) @@.
+For this @@, I offer you a(n) @@.
+
+For this training, I need @@, not the usual arrow you use.
+For this training, I need @@, not the usual arrow you use.
+
+For which player do you wish to pray?
+For which player do you wish to pray?
+
+For you, boring person like me, It'll cost the small amount of:
+For you, boring person like me, It'll cost the small amount of:
+
+For you, it will be only 50 GP for potion! But I need the base ingredients, four @@ - or @@, depends on which one.
+For you, it will be only 50 GP for potion! But I need the base ingredients, four @@ - or @@, depends on which one.
+
+For you, it'll be @@ GP.
+For you, it'll be @@ GP.
+
+For your incredibly hard work, you got:
+For your incredibly hard work, you got:
+
+For yourself can obtain tandem!
+For yourself can obtain tandem!
+
+Forain
+Forain
+
+Forest Armor
+Forest Armor
+
+Forest Bow
+Forest Bow
+
+Forest Gloves
+Forest Gloves
+
+Forest Mushroom
+Forest Mushroom
+
+Forest Piou
+Forest Piou
+
+Forest Piou Feathers
+Forest Piou Feathers
+
+Forest Shroom Egg
+Forest Shroom Egg
+
+Forest Shroom Hat
+Forest Shroom Hat
+
+Forgotten Chamber
+Forgotten Chamber
+
+Form the strongest party and win! Remember that if you don't kill the boss, you'll never win!
+Form the strongest party and win! Remember that if you don't kill the boss, you'll never win!
+
+Form your party and rescue Luvia Gemini from Isbamuth!
+Form your party and rescue Luvia Gemini from Isbamuth!
+
+Fortiun
+Fortiun
+
+Fortress Gate
+Fortress Gate
+
+Fortress Island
+Fortress Island
+
+Fortress Statue
+Fortress Statue
+
+Fortress Town
+Fortress Town
+
+Fortress Town is connected to the prophecies of the death of all humans, wildlife, and the other lesser races.
+Fortress Town is connected to the prophecies of the death of all humans, wildlife, and the other lesser races.
+
+Fortunately, we know the answer is...
+Fortunately, we know the answer is...
+
+Fortune Statue
+Fortune Statue
+
+Fountain#Hurns
+Fountain#Hurns
+
+Four Leaf
+Four Leaf
+
+Four Leaf Clover
+Four Leaf Clover
+
+Four minutes after the warp, or when the last maggot die, it'll be over.
+Four minutes after the warp, or when the last maggot die, it'll be over.
+
+France: [@@https://dondesang.efs.sante.fr/|https://dondesang.efs.sante.fr/@@]
+France: [@@https://dondesang.efs.sante.fr/|https://dondesang.efs.sante.fr/@@]
+
+Free Cast
+Free Cast
+
+Freeze
+Freeze
+
+Friend Gift
+Friend Gift
+
+Friend of the Fairies
+Friend of the Fairies
+
+Friendly SP Regeneration
+Friendly SP Regeneration
+
+Friendship's Strength Challenge
+Friendship's Strength Challenge
+
+From magical gates to ancient time-space technology - we know it all!
+From magical gates to ancient time-space technology - we know it all!
+
+From the smell I can see you found the bug bomb!
+From the smell I can see you found the bug bomb!
+
+From the time you come from, the Moubootaur has escaped its chains.
+From the time you come from, the Moubootaur has escaped its chains.
+
+Frost Diver
+Frost Diver
+
+Frost Nova
+Frost Nova
+
+Frostia
+Frostia
+
+Frostia (@@m)
+Frostia (@@m)
+
+Frostia - @@ GP
+Frostia - @@ GP
+
+Frostia Guard
+Frostia Guard
+
+Frostia Office
+Frostia Office
+
+Frostia Townhall
+Frostia Townhall
+
+Frostia Warp Crystal
+Frostia Warp Crystal
+
+Frostia and Halinarzo are now on a spar!
+Frostia and Halinarzo are now on a spar!
+
+Frostia is a *hic* town way way north of here. They *hic* hate humans, so... Good luck?
+Frostia is a *hic* town way way north of here. They *hic* hate humans, so... Good luck?
+
+Frostia is the only city known that was not founded by humans.
+Frostia is the only city known that was not founded by humans.
+
+Frostia's Nurse
+Frostia's Nurse
+
+Frozen Squirrel
+Frozen Squirrel
+
+Frozen Yeti Tear
+Frozen Yeti Tear
+
+Frozenbeard
+Frozenbeard
+
+Fruits - @@ coins
+Fruits - @@ coins
+
+Full Power Card
+Full Power Card
+
+Full Throttle
+Full Throttle
+
+Full of agrotoxins, transgenics and whatever. Not safe.
+Full of agrotoxins, transgenics and whatever. Not safe.
+
+Fungus
+Fungus
+
+Funky Hat
+Funky Hat
+
+Fur Boots
+Fur Boots
+
+Furniture Menu
+Furniture Menu
+
+Furthermore, if you don't have enough mana, it'll hurt you until you die.
+Furthermore, if you don't have enough mana, it'll hurt you until you die.
+
+Fuschia Dye
+Fuschia Dye
+
+Fusus
+Fusus
+
+Futurely, Mylarin Dust and a Sunny Crystal will also be available.
+Futurely, Mylarin Dust and a Sunny Crystal will also be available.
+
+GAAAAAAAAAAAAAAAAHHHHHHH!
+GAAAAAAAAAAAAAAAAHHHHHHH!
+
+GAME SETTINGS
+GAME SETTINGS
+
+GET OUT OF HERE, YOUR NOBODY!
+GET OUT OF HERE, YOUR NOBODY!
+
+GM Alchemy Table
+GM Alchemy Table
+
+GM Black Smithy
+GM Black Smithy
+
+GM Cap
+GM Cap
+
+GM Gift Box
+GM Gift Box
+
+GM Robe
+GM Robe
+
+GMs are NOT allowed on Hurnscald Liberation day.
+GMs are NOT allowed on Hurnscald Liberation day.
+
+GO! Run, %s, RUN!!!!
+GO! Run, %s, RUN!!!!
+
+GP
+GP
+
+GP: %d + %d
+GP: %d + %d
+
+GUARDS! GET THEM!
+GUARDS! GET THEM!
+
+Gaelira
+Gaelira
+
+Gaia Break
+Gaia Break
+
+Gain: %d RP/min
+Gain: %d RP/min
+
+Gained 20000 XP and 2500 GP
+Gained 20000 XP and 2500 GP
+
+Gained 2500 XP and 250 GP
+Gained 2500 XP and 250 GP
+
+Gained 5000 XP
+Gained 5000 XP
+
+Gained 7500 XP and 1250 GP
+Gained 7500 XP and 1250 GP
+
+Gained @@ points.
+Gained @@ points.
+
+Gale, not good to fly.
+Gale, not good to fly.
+
+Galimatia
+Galimatia
+
+Gambler Master
+Gambler Master
+
+Gambler#017-3
+Gambler#017-3
+
+Gambler#020-4
+Gambler#020-4
+
+Gambling Xan
+Gambling Xan
+
+Gambling is for the weak, I offer you a true game!
+Gambling is for the weak, I offer you a true game!
+
+Gamboge Herb
+Gamboge Herb
+
+Gamboge Plant
+Gamboge Plant
+
+Game Master
+Game Master
+
+Game Mistress
+Game Mistress
+
+Game News
+Game News
+
+Game Rules were updated!
+Game Rules were updated!
+
+Game Settings
+Game Settings
+
+Game Statistics
+Game Statistics
+
+Gem powder
+Gem powder
+
+Gemini Season
+Gemini Season
+
+Gender
+Gender
+
+General Boosts
+General Boosts
+
+General Information
+General Information
+
+General Krukan
+General Krukan
+
+General Razha
+General Razha
+
+General Store#dimond
+General Store#dimond
+
+General Terogan
+General Terogan
+
+General Terogan : DEAD! Muahahahaha!
+General Terogan : DEAD! Muahahahaha!
+
+Generic items are used for different purposes. In creating other items, to swap and sell, to collect, etc.
+Generic items are used for different purposes. In creating other items, to swap and sell, to collect, etc.
+
+George
+George
+
+George the Pirate
+George the Pirate
+
+Get Rekt Noob.
+Get Rekt Noob.
+
+Get out of here! Before I call the city guard!!
+Get out of here! Before I call the city guard!!
+
+Get out of here, weakling. You'll be killed by bandits.#0
+Get out of here, weakling. You'll be killed by bandits.
+
+Get out of here, weakling. You'll be killed by bandits.#1
+Get out of here, weakling. You'll be killed by bandits.
+
+Getting Money
+Getting Money
+
+Getting ranked #1 in a challenge yields you 10 points, getting ranked #2 yields you 9 points and so on.
+Getting ranked #1 in a challenge yields you 10 points, getting ranked #2 yields you 9 points and so on.
+
+Getting there is tricky, so listen carefully to the instructions:
+Getting there is tricky, so listen carefully to the instructions:
+
+Ggrmm... Grmmmm...
+Ggrmm... Grmmmm...
+
+Ghada
+Ghada
+
+Giant Cave Maggot
+Giant Cave Maggot
+
+Giant Maggot
+Giant Maggot
+
+Giant Maggots are worth 1 point, Snakes are worth 5 points and Black Scorpions are worth 10 points. The ones in caves doesn't count. Bring me 300 points. Good luck!
+Giant Maggots are worth 1 point, Snakes are worth 5 points and Black Scorpions are worth 10 points. The ones in caves doesn't count. Bring me 300 points. Good luck!
+
+Giant Mutated Bat
+Giant Mutated Bat
+
+Gift Fanatic
+Gift Fanatic
+
+Gimme a second... Yes, you seem to be fine now, very well, congratulations!
+Gimme a second... Yes, you seem to be fine now, very well, congratulations!
+
+Ginger Bread Man
+Ginger Bread Man
+
+Give Up
+Give Up
+
+Give a @@ to the Mouboo?
+Give a @@ to the Mouboo?
+
+Give her the materials she asked for?
+Give her the materials she asked for?
+
+Give him an item
+Give him an item
+
+Give him the materials he asked for?
+Give him the materials he asked for?
+
+Give it time, increase your magic power, and you'll find out the truth.
+Give it time, increase your magic power, and you'll find out the truth.
+
+Give me %s cards of the same type, and I'll give you one card of a higher rarity. There is no cost, but the card is random.
+Give me %s cards of the same type, and I'll give you one card of a higher rarity. There is no cost, but the card is random.
+
+Give me %s copies of the same card and %s GP, and I'll improve its tier.
+Give me %s copies of the same card and %s GP, and I'll improve its tier.
+
+Give me a card and select another card of same class. I charge %d GP for simple exchanges.
+Give me a card and select another card of same class. I charge %d GP for simple exchanges.
+
+Give me a second to look over your paperwork.
+Give me a second to look over your paperwork.
+
+Give me back what you stole, thief!
+Give me back what you stole, thief!
+
+Give me some space.
+Give me some space.
+
+Give players 10 minutes
+Give players 10 minutes
+
+Give players 15 minutes
+Give players 15 minutes
+
+Give players 20 minutes
+Give players 20 minutes
+
+Give players 25 minutes
+Give players 25 minutes
+
+Give players 30 minutes
+Give players 30 minutes
+
+Give players 5 minutes
+Give players 5 minutes
+
+Give that to whoever needs them, and see if it works. Then come tell me the result. Do you have the reagents?
+Give that to whoever needs them, and see if it works. Then come tell me the result. Do you have the reagents?
+
+Give the Antenna and the GP to her?
+Give the Antenna and the GP to her?
+
+Give up!
+Give up!
+
+Give your pet a nice name, and keep it healthy, and you'll be a successful pet owner!
+Give your pet a nice name, and keep it healthy, and you'll be a successful pet owner!
+
+Glad the Monster King avoid the seas, arr!
+Glad the Monster King avoid the seas, arr!
+
+Glad to hear. I swear, the fish I picked before you arrive was THAT big!
+Glad to hear. I swear, the fish I picked before you arrive was THAT big!
+
+Gladiator
+Gladiator
+
+Gladys
+Gladys
+
+Gloves
+Gloves
+
+Gloves Recipes
+Gloves Recipes
+
+Go and fetch @@, the party leader!
+Go and fetch @@, the party leader!
+
+Go and follow @@, your party leader!
+Go and follow @@, your party leader!
+
+Go and talk to it.
+Go and talk to it.
+
+Go away creep, I HATE YOU!
+Go away creep, I HATE YOU!
+
+Go away, I am too magical for you. %%n
+Go away, I am too magical for you. %%n
+
+Go away, kid! Let me pray in peace!
+Go away, kid! Let me pray in peace!
+
+Go away,%s can't you see I'm busy?
+Go away,%s can't you see I'm busy?
+
+Go away.
+Go away.
+
+Go back
+Go back
+
+Go back to Rosen!
+Go back to Rosen!
+
+Go do what I told you to do and examine the house thoroughly!
+Go do what I told you to do and examine the house thoroughly!
+
+Go fly a kite.
+Go fly a kite.
+
+Go home now?
+Go home now?
+
+Go kill the Bandit Lord!
+Go kill the Bandit Lord!
+
+Go kill the maggots!
+Go kill the maggots!
+
+Go kill them!!
+Go kill them!!
+
+Go now, with the blessing of ducks. There may come a time when we require your aid once again, O %s.
+Go now, with the blessing of ducks. There may come a time when we require your aid once again, O %s.
+
+Go see someone else for now. Yes, you need level to take most tasks available on the world!
+Go see someone else for now. Yes, you need level to take most tasks available on the world!
+
+Go talk to Sagratha, she is usually in a hut in northen forest. The door have a magic barrier, so you'll need to have minimal magic skills to get close enough to open it.
+Go talk to Sagratha, she is usually in a hut in northen forest. The door have a magic barrier, so you'll need to have minimal magic skills to get close enough to open it.
+
+Go through the waterfall path.
+Go through the waterfall path.
+
+Go to the townhall there and show the mayor this other letter.
+Go to the townhall there and show the mayor this other letter.
+
+Go very close to it and, speak the four four-letters magic words, pour some @@, and he'll appear to you.
+Go very close to it and, speak the four four-letters magic words, pour some @@, and he'll appear to you.
+
+Goal: @@/@@ reached!
+Goal: @@/@@ reached!
+
+Goal: Survive the longest possible.
+Goal: Survive the longest possible.
+
+Gobo Bear
+Gobo Bear
+
+God bless you! You have saved me from sweltering!
+God bless you! You have saved me from sweltering!
+
+Going to World Edge? Never heard of.
+Going to World Edge? Never heard of.
+
+Golbarez
+Golbarez
+
+Gold Fish
+Gold Fish
+
+Gold Ingot
+Gold Ingot
+
+Gold Medal
+Gold Medal
+
+Gold Ore
+Gold Ore
+
+Gold Ore -> Silver Ore
+Gold Ore -> Silver Ore
+
+Gold Pieces
+Gold Pieces
+
+Golden Apple
+Golden Apple
+
+Golden Armbands
+Golden Armbands
+
+Golden Black Pearl Ring
+Golden Black Pearl Ring
+
+Golden Boss Gift
+Golden Boss Gift
+
+Golden Chainmail
+Golden Chainmail
+
+Golden Chest
+Golden Chest
+
+Golden Easteregg
+Golden Easteregg
+
+Golden Eggs are used for the grand collector prize. Ah, I love Easter! I loooooooove it!
+Golden Eggs are used for the grand collector prize. Ah, I love Easter! I loooooooove it!
+
+Golden Four-Leaf Amulet
+Golden Four-Leaf Amulet
+
+Golden Gift
+Golden Gift
+
+Golden Light Platemail
+Golden Light Platemail
+
+Golden Pearl Ring
+Golden Pearl Ring
+
+Golden Ring
+Golden Ring
+
+Golden Scorpion
+Golden Scorpion
+
+Golden Scorpion Claw
+Golden Scorpion Claw
+
+Golden Scorpion Claw -> Black Scorpion Claw
+Golden Scorpion Claw -> Black Scorpion Claw
+
+Golden Warlord
+Golden Warlord
+
+Golden Warlord Plate
+Golden Warlord Plate
+
+Golem
+Golem
+
+Gonzo Dark Card
+Gonzo Dark Card
+
+GonzoDark Sponsor
+GonzoDark Sponsor
+
+Good %s, %s. The council is not in session right now.
+Good %s, %s. The council is not in session right now.
+
+Good %s. Would you like to sleep here? It's only %d GP!
+Good %s. Would you like to sleep here? It's only %d GP!
+
+Good @@. My name is @@ and I make @@.
+Good @@. My name is @@ and I make @@.
+
+Good bye my friend, and safe travels!#0
+Good bye my friend, and safe travels!
+
+Good bye my friend, and safe travels!#1
+Good bye my friend, and safe travels!
+
+Good bye!
+Good bye!
+
+Good bye, darling!
+Good bye, darling!
+
+Good bye, sir.
+Good bye, sir.
+
+Good bye.
+Good bye.
+
+Good choice! This year we're having a @@!
+Good choice! This year we're having a @@!
+
+Good day sir.#1
+Good day sir.
+
+Good job collecting the monster points for me. Here's your reward.
+Good job collecting the monster points for me. Here's your reward.
+
+Good job!
+Good job!
+
+Good job! Here is your reward!
+Good job! Here is your reward!
+
+Good job! I wish you luck, because now you need to SWIM!
+Good job! I wish you luck, because now you need to SWIM!
+
+Good job, kid. You've survived both the Cave Of Trials and Soren's Village.
+Good job, kid. You've survived both the Cave Of Trials and Soren's Village.
+
+Good job, man!
+Good job, man!
+
+Good job, you already killed over 100! Hahah, that sure teach them a lesson!
+Good job, you already killed over 100! Hahah, that sure teach them a lesson!
+
+Good job, you've killed the %d %s and reported back in time!
+Good job, you've killed the %d %s and reported back in time!
+
+Good job, you've killed the @@ @@ and reported back in time!
+Good job, you've killed the @@ @@ and reported back in time!
+
+Good job.
+Good job.
+
+Good job... Here is your reward...
+Good job... Here is your reward...
+
+Good job... You can keep the drops. Touch here to return home.
+Good job... You can keep the drops. Touch here to return home.
+
+Good luck arresting the criminal!
+Good luck arresting the criminal!
+
+Good luck getting the fertilizer from Eomie! Many elves simply refuse to cooperate until it affects them directly.
+Good luck getting the fertilizer from Eomie! Many elves simply refuse to cooperate until it affects them directly.
+
+Good luck hunting down the Monster King.
+Good luck hunting down the Monster King.
+
+Good luck in your journey, @@.
+Good luck in your journey, @@.
+
+Good luck killing it! And don't forget to touch the Soul Menhir before you go!
+Good luck killing it! And don't forget to touch the Soul Menhir before you go!
+
+Good luck on your journey!
+Good luck on your journey!
+
+Good luck out there!
+Good luck out there!
+
+Good luck with that. See you in ten years or something.
+Good luck with that. See you in ten years or something.
+
+Good luck with your boyfriend!#0
+Good luck with your boyfriend!
+
+Good luck with your girlfriend!#1
+Good luck with your girlfriend!
+
+Good luck!
+Good luck!
+
+Good luck! Come for remuneration when you finish!
+Good luck! Come for remuneration when you finish!
+
+Good luck! Don't come back until you reach 10000 kills!
+Good luck! Don't come back until you reach 10000 kills!
+
+Good luck, %s! There are more monsters nearby!
+Good luck, %s! There are more monsters nearby!
+
+Good luck, %s. You'll need it.
+Good luck, %s. You'll need it.
+
+Good luck, @@!
+Good luck, @@!
+
+Good luck, because you'll need it. Talk to me once all of them are lit, and I'll SUMMON DAH MONSTER KING.
+Good luck, because you'll need it. Talk to me once all of them are lit, and I'll SUMMON DAH MONSTER KING.
+
+Good luck.
+Good luck.
+
+Good luck. %%1
+Good luck. %%1
+
+Good luck...
+Good luck...
+
+Good news - Oskari doesn't plans in firing you (yet)!
+Good news - Oskari doesn't plans in firing you (yet)!
+
+Good to know.
+Good to know.
+
+Good work with the slimes. This will make our task much easier.
+Good work with the slimes. This will make our task much easier.
+
+Good!
+Good!
+
+Good! First, let us test if you are resourceful. Bring me 3 @@ and 3 @@. That should be enough!
+Good! First, let us test if you are resourceful. Bring me 3 @@ and 3 @@. That should be enough!
+
+Good! I want 3 @@ and 10 @@. I have a contract to transform that in good money.
+Good! I want 3 @@ and 10 @@. I have a contract to transform that in good money.
+
+Good! Last step! West of Hurnscald, there is a magic fountain.
+Good! Last step! West of Hurnscald, there is a magic fountain.
+
+Good, I need to talk with the King.
+Good, I need to talk with the King.
+
+Good, good, you have enough powder. Now I need you to lit all five torches with them.
+Good, good, you have enough powder. Now I need you to lit all five torches with them.
+
+Good, good. The chant is ##B EMOC OTEM ITEY GNIK ##b. Good luck!
+Good, good. The chant is ##B EMOC OTEM ITEY GNIK ##b. Good luck!
+
+Good, knowing the world lore is important.
+Good, knowing the world lore is important.
+
+Good, there they are.
+Good, there they are.
+
+Good, this must mean that Sagratha managed to flee in time.
+Good, this must mean that Sagratha managed to flee in time.
+
+Good, you *hic* proved your *hic* worth. I'll give you them.
+Good, you *hic* proved your *hic* worth. I'll give you them.
+
+Good, you did it!
+Good, you did it!
+
+Good. Did you knew you could register to the Special Class, in order to get an extra skill point?
+Good. Did you knew you could register to the Special Class, in order to get an extra skill point?
+
+Good. Here, take this key and hide it. I will quickly brief you:
+Good. Here, take this key and hide it. I will quickly brief you:
+
+Good. I hope you have stocked everything. The time limit is 4 hours.
+Good. I hope you have stocked everything. The time limit is 4 hours.
+
+Good. You look like a real miner! Take this @@ and go mine bifs!
+Good. You look like a real miner! Take this @@ and go mine bifs!
+
+Goodbye.
+Goodbye.
+
+Googles
+Googles
+
+Got 1,000,000 Monster Points!
+Got 1,000,000 Monster Points!
+
+Got @@ EXP, @@ JExp and @@ GP for helping out.
+Got @@ EXP, @@ JExp and @@ GP for helping out.
+
+Got Master Blueprints!
+Got Master Blueprints!
+
+Graduation Album
+Graduation Album
+
+Graduation Cap
+Graduation Cap
+
+Graduation Robe
+Graduation Robe
+
+Grand Hunter Quest
+Grand Hunter Quest
+
+Grand Hunter Quest: @@/10,000
+Grand Hunter Quest: @@/10,000
+
+Grand Master
+Grand Master
+
+Grant Power
+Grant Power
+
+Graphene Stone
+Graphene Stone
+
+Grass Carp
+Grass Carp
+
+Grass Liner
+Grass Liner
+
+Grass Seeds
+Grass Seeds
+
+Grass Snake
+Grass Snake
+
+Great Hero
+Great Hero
+
+Great Mouboo Slime
+Great Mouboo Slime
+
+Great Tree
+Great Tree
+
+Great Tree#296to297
+Great Tree#296to297
+
+Great news! Then please bring me 1 @@, or 200 @@ @@ 20 @@.
+Great news! Then please bring me 1 @@, or 200 @@ @@ 20 @@.
+
+Great! Eomie, the girl on Tulimshar's magic academy, is an alchemist. She probably makes fertilizers.
+Great! Eomie, the girl on Tulimshar's magic academy, is an alchemist. She probably makes fertilizers.
+
+Great! Excellent! Because I am also diving in problems!!
+Great! Excellent! Because I am also diving in problems!!
+
+Great! Here, I'll give you %d GP so you can start here with more ease.
+Great! Here, I'll give you %d GP so you can start here with more ease.
+
+Great! It is simple, really. Pachua and I are scouting the desert. Run as fast as you can to Pachua, and then run back here. Pachua will send a smoke signal when you talk to him, so I'll know you haven't cheated.
+Great! It is simple, really. Pachua and I are scouting the desert. Run as fast as you can to Pachua, and then run back here. Pachua will send a smoke signal when you talk to him, so I'll know you haven't cheated.
+
+Great! Now, listen carefully: This library is laid out in nine squares.
+Great! Now, listen carefully: This library is laid out in nine squares.
+
+Great! Thank you!
+Great! Thank you!
+
+Great! The first thing you need is, obviously, a bow. You should not use any you come across, but a high quality one.
+Great! The first thing you need is, obviously, a bow. You should not use any you come across, but a high quality one.
+
+Great, I need 11 @@. Only good food makes a good crew.
+Great, I need 11 @@. Only good food makes a good crew.
+
+Great, I see you've already made yourself comfortable!
+Great, I see you've already made yourself comfortable!
+
+Great, just bring me several boxes, once one of them have the ring I'm looking for.
+Great, just bring me several boxes, once one of them have the ring I'm looking for.
+
+Great. I hereby task you to kill the rogue Yetis on the Yeti King Throne Room. Of course, you won't be able to leave until all of them are dead.
+Great. I hereby task you to kill the rogue Yetis on the Yeti King Throne Room. Of course, you won't be able to leave until all of them are dead.
+
+Greater @@ allows you to attack faster and has a greater chance of evading attacks.
+Greater @@ allows you to attack faster and has a greater chance of evading attacks.
+
+Green
+Green
+
+Green 4144
+Green 4144
+
+Green Dragon
+Green Dragon
+
+Green Dye
+Green Dye
+
+Green Eggshell Hat
+Green Eggshell Hat
+
+Green Skull Slime
+Green Skull Slime
+
+Green Slime
+Green Slime
+
+Green Slime Mother
+Green Slime Mother
+
+Green Switch#EP
+Green Switch#EP
+
+Green Wars project says that @@ trees were planted by adventurers on the world!
+Green Wars project says that @@ trees were planted by adventurers on the world!
+
+Greenhorn Abomination
+Greenhorn Abomination
+
+Greetings %s, I am %s, I am in charge of monster extermination.
+Greetings %s, I am %s, I am in charge of monster extermination.
+
+Greetings %s, I am %s, the man in charge for the Alliance occupation of Fortress Town.
+Greetings %s, I am %s, the man in charge for the Alliance occupation of Fortress Town.
+
+Greetings mortal; I am Demure, Queen of Dragons.
+Greetings mortal; I am Demure, Queen of Dragons.
+
+Greetings! I am %s from the Alliance.
+Greetings! I am %s from the Alliance.
+
+Greetings, %s %s, I am Hocus Pocus the Grandmaster.
+Greetings, %s %s, I am Hocus Pocus the Grandmaster.
+
+Greetings, %s %s, to the Alliance High Council.
+Greetings, %s %s, to the Alliance High Council.
+
+Greetings, %s. Do you have business on the Alliance Council Room?
+Greetings, %s. Do you have business on the Alliance Council Room?
+
+Greetings, adventurer. I am Valia Gemini, owner of this abode.
+Greetings, adventurer. I am Valia Gemini, owner of this abode.
+
+Greetings, traveler. I am Darug, chief of this clan.
+Greetings, traveler. I am Darug, chief of this clan.
+
+Greetings, traveler. My name is Melune, and I'm Darug's wife.
+Greetings, traveler. My name is Melune, and I'm Darug's wife.
+
+Greetings, wanderer. I am @@, chief of the Tulimshar guards. My wards are dying from dehydration in the sun. Bring them water and you will earn a reward.
+Greetings, wanderer. I am @@, chief of the Tulimshar guards. My wards are dying from dehydration in the sun. Bring them water and you will earn a reward.
+
+Greetings, young soul; I am the queen of fairies, Lilit.
+Greetings, young soul; I am the queen of fairies, Lilit.
+
+Greetings. The council is currently in session, no one is allowed in the inner chambers.
+Greetings. The council is currently in session, no one is allowed in the inner chambers.
+
+Grenade
+Grenade
+
+Grenadier
+Grenadier
+
+Grind grind grind the slime!
+Grind grind grind the slime!
+
+Groata : ...Because I am out of freebies and need to sleep. So shoo.
+Groata : ...Because I am out of freebies and need to sleep. So shoo.
+
+Groata : ...Meh. I'll give you this... stuff, and for the last time, don't bother me again...
+Groata : ...Meh. I'll give you this... stuff, and for the last time, don't bother me again...
+
+Groata : ...Will you seriously just keep running around? Like a headless chicken?
+Groata : ...Will you seriously just keep running around? Like a headless chicken?
+
+Groata : C'mon, that is boring. What I need to do to get you out of my house?
+Groata : C'mon, that is boring. What I need to do to get you out of my house?
+
+Groata : Hey. I live here. Why are you spawning monsters in my home??
+Groata : Hey. I live here. Why are you spawning monsters in my home??
+
+Groata : I wonder for how long you can survive here...
+Groata : I wonder for how long you can survive here...
+
+Groata : Let's make a deal. Take this, clear my house, and get out.
+Groata : Let's make a deal. Take this, clear my house, and get out.
+
+Groata : This is rude. Seriously, stop doing this.
+Groata : This is rude. Seriously, stop doing this.
+
+Groata : Uh. What's happening here?
+Groata : Uh. What's happening here?
+
+Groata : You must be idiotic in keeping spawning.
+Groata : You must be idiotic in keeping spawning.
+
+Ground Strike
+Ground Strike
+
+Group together your guild and challenge the evil power,
+Group together your guild and challenge the evil power,
+
+Grown in harsh environments, withstand anything.
+Grown in harsh environments, withstand anything.
+
+Grr, where's Mercury... He was supposed to keep watch over this spot... It was meant to be my free time!
+Grr, where's Mercury... He was supposed to keep watch over this spot... It was meant to be my free time!
+
+Grrr... Why are @@ on this cave?! Begone, before I lose my patience!
+Grrr... Why are @@ on this cave?! Begone, before I lose my patience!
+
+Grrr... Why are @@ on this cave?! Where did Mercury went after all?!
+Grrr... Why are @@ on this cave?! Where did Mercury went after all?!
+
+Guaaaards! Sailors! Help! We have a stowaway!
+Guaaaards! Sailors! Help! We have a stowaway!
+
+Guard
+Guard
+
+Guard Amy
+Guard Amy
+
+Guard Avou
+Guard Avou
+
+Guard Benji
+Guard Benji
+
+Guard Biscop
+Guard Biscop
+
+Guard Corina
+Guard Corina
+
+Guard Defou
+Guard Defou
+
+Guard Devoir
+Guard Devoir
+
+Guard Falko
+Guard Falko
+
+Guard Froma
+Guard Froma
+
+Guard Jennifer
+Guard Jennifer
+
+Guard Jhon
+Guard Jhon
+
+Guard Laurie
+Guard Laurie
+
+Guard Malindax
+Guard Malindax
+
+Guard Maxim
+Guard Maxim
+
+Guard Moustacha
+Guard Moustacha
+
+Guard Nutelo
+Guard Nutelo
+
+Guard Philip
+Guard Philip
+
+Guard Popaul
+Guard Popaul
+
+Guard Roukin
+Guard Roukin
+
+Guard Tetric
+Guard Tetric
+
+Guard Totor
+Guard Totor
+
+Guard Valou
+Guard Valou
+
+Guard Yen
+Guard Yen
+
+Guard Yuna
+Guard Yuna
+
+Guard#00301A
+Guard#00301A
+
+Guard#012-1.1
+Guard#012-1.1
+
+Guard#012-1.2
+Guard#012-1.2
+
+Guard#019-2.1
+Guard#019-2.1
+
+Guard#019-3.1
+Guard#019-3.1
+
+Guard#lof-1
+Guard#lof-1
+
+Guard#lof-2
+Guard#lof-2
+
+Guard#lof-3
+Guard#lof-3
+
+Guard#lof-4
+Guard#lof-4
+
+Guard#lof-5
+Guard#lof-5
+
+Guard#lof-6
+Guard#lof-6
+
+Guardian
+Guardian
+
+Guardian Statue
+Guardian Statue
+
+Guardians Of Soren
+Guardians Of Soren
+
+Guardians will come to stop you, and to lock down the shrine!
+Guardians will come to stop you, and to lock down the shrine!
+
+Guards use it to spar against each other on friendly matches, to see who is stronger.
+Guards use it to spar against each other on friendly matches, to see who is stronger.
+
+Guild Area ATK UP
+Guild Area ATK UP
+
+Guild Area Autorevive
+Guild Area Autorevive
+
+Guild Area CRIT UP
+Guild Area CRIT UP
+
+Guild Area DEF UP
+Guild Area DEF UP
+
+Guild Area Regeneration
+Guild Area Regeneration
+
+Guild Blacksmith
+Guild Blacksmith
+
+Guild Chemistry
+Guild Chemistry
+
+Guild Coin
+Guild Coin
+
+Guild Coin Exchange
+Guild Coin Exchange
+
+Guild Hall
+Guild Hall
+
+Guild Information
+Guild Information
+
+Guild Level is not enough: @@/@@
+Guild Level is not enough: @@/@@
+
+Guild Logs
+Guild Logs
+
+Guild Lv @@, @@/@@ EXP to level up
+Guild Lv @@, @@/@@ EXP to level up
+
+Guild Magic
+Guild Magic
+
+Guild Management
+Guild Management
+
+Guild Master
+Guild Master
+
+Guild Master: @@
+Guild Master: @@
+
+Guild Name: @@
+Guild Name: @@
+
+Guild Storage
+Guild Storage
+
+Guild Vault
+Guild Vault
+
+Guild's Battle Plan
+Guild's Battle Plan
+
+Guild's Power
+Guild's Power
+
+Guinevere
+Guinevere
+
+Guinevere is the King's Wife. If you talk to her, the King will be upset and will send soldiers to you.
+Guinevere is the King's Wife. If you talk to her, the King will be upset and will send soldiers to you.
+
+Gwendolyn
+Gwendolyn
+
+Gwendolyn Bowmaker
+Gwendolyn Bowmaker
+
+Gwendolyn sighs and shake her head.
+Gwendolyn sighs and shake her head.
+
+Gwendolyn takes an analyzing look at you. Then she nods.
+Gwendolyn takes an analyzing look at you. Then she nods.
+
+HA, HA, HA! The blacksmiths from the Land of Fire are the best from the world! There's no challenge too big for us!
+HA, HA, HA! The blacksmiths from the Land of Fire are the best from the world! There's no challenge too big for us!
+
+HAHAHAHA! How foolish of you, didn't even bother trying to sneak in!
+HAHAHAHA! How foolish of you, didn't even bother trying to sneak in!
+
+HAHAHAHAH! Shiny as new, and stronger than ever! Have fun!
+HAHAHAHAH! Shiny as new, and stronger than ever! Have fun!
+
+HC Crazyfefe
+HC Crazyfefe
+
+HC Jak1
+HC Jak1
+
+HC Jesusalva
+HC Jesusalva
+
+HC LawnCable
+HC LawnCable
+
+HC Saulc
+HC Saulc
+
+HIGHER!
+HIGHER!
+
+HISTORY BOOK
+HISTORY BOOK
+
+HOLD THAT! I actually like to drink, and spend some drinking nights with Saulc and Crazyfefe!
+HOLD THAT! I actually like to drink, and spend some drinking nights with Saulc and Crazyfefe!
+
+HP +500
+HP +500
+
+Had you any breakthrough?
+Had you any breakthrough?
+
+Haha yes, you are right!
+Haha yes, you are right!
+
+Haha, Nice, but how do you do that?
+Haha, Nice, but how do you do that?
+
+Haha, as if I believe you.
+Haha, as if I believe you.
+
+Haha, no, I'm not! But we found traces of them.
+Haha, no, I'm not! But we found traces of them.
+
+Haha, this wooden figurine won't do the job, sorry.
+Haha, this wooden figurine won't do the job, sorry.
+
+Hahah, four gifts, neat! Can we get to 1600 boxes?
+Hahah, four gifts, neat! Can we get to 1600 boxes?
+
+Hahah, good to hear! Do you know some items are only dropped on spring? You should go after them!
+Hahah, good to hear! Do you know some items are only dropped on spring? You should go after them!
+
+Hahah, silly, that's yourself!
+Hahah, silly, that's yourself!
+
+Hahah, tell me another one!
+Hahah, tell me another one!
+
+Hahaha, good luck out there, my friend!
+Hahaha, good luck out there, my friend!
+
+Hair color
+Hair color
+
+Hair style
+Hair style
+
+Hairstyles.
+Hairstyles.
+
+Halberd
+Halberd
+
+Half Croconut
+Half Croconut
+
+Half Eggshell
+Half Eggshell
+
+Halin Guard
+Halin Guard
+
+Halin Warp Crystal
+Halin Warp Crystal
+
+Halinarzo
+Halinarzo
+
+Halinarzo (@@m)
+Halinarzo (@@m)
+
+Halinarzo - @@ GP
+Halinarzo - @@ GP
+
+Halinarzo Church makes a party every Sunday! Only true believers are invited!
+Halinarzo Church makes a party every Sunday! Only true believers are invited!
+
+Halinarzo Mines
+Halinarzo Mines
+
+Halinarzo Office
+Halinarzo Office
+
+Halinarzo Route
+Halinarzo Route
+
+Halinarzo Townhall
+Halinarzo Townhall
+
+Halinarzo is a *hic* level 50 area. So please *hic* be careful!
+Halinarzo is a *hic* level 50 area. So please *hic* be careful!
+
+Halinarzo lies past the Canyon, but the @@ there are level @@.
+Halinarzo lies past the Canyon, but the @@ there are level @@.
+
+Halinarzo people are very poor, but we have our resources...
+Halinarzo people are very poor, but we have our resources...
+
+Halinarzo was founded to explore Mana Stones.
+Halinarzo was founded to explore Mana Stones.
+
+Halinarzo's Nurse
+Halinarzo's Nurse
+
+Hall Of AF King
+Hall Of AF King
+
+Hall Of Academics
+Hall Of Academics
+
+Hall Of Base Level
+Hall Of Base Level
+
+Hall Of Candor Bloodbath
+Hall Of Candor Bloodbath
+
+Hall Of Ched
+Hall Of Ched
+
+Hall Of Crazyfefe Battle
+Hall Of Crazyfefe Battle
+
+Hall Of Deaths
+Hall Of Deaths
+
+Hall Of Doppelganger Arena
+Hall Of Doppelganger Arena
+
+Hall Of Fame
+Hall Of Fame
+
+Hall Of Fortune
+Hall Of Fortune
+
+Hall Of GM Commands
+Hall Of GM Commands
+
+Hall Of Guilds
+Hall Of Guilds
+
+Hall Of Honor
+Hall Of Honor
+
+Hall Of Job Level
+Hall Of Job Level
+
+Hall Of Strange Coins
+Hall Of Strange Coins
+
+Hall of Sponsors
+Hall of Sponsors
+
+Halt! Beyond this gate, is the Great River and the Eternal Swamps.
+Halt! Beyond this gate, is the Great River and the Eternal Swamps.
+
+Happy %s!
+Happy %s!
+
+Happy Easter!
+Happy Easter!
+
+Hard
+Hard
+
+Hard Spike
+Hard Spike
+
+Harper
+Harper
+
+Harry
+Harry
+
+Hasan
+Hasan
+
+Hasan takes your print screen and analyzes it.
+Hasan takes your print screen and analyzes it.
+
+Haste Potion
+Haste Potion
+
+Have Maggot Slimes, Bug Legs, Mauve Herbs and Money, lots of them.
+Have Maggot Slimes, Bug Legs, Mauve Herbs and Money, lots of them.
+
+Have a good day!
+Have a good day!
+
+Have a good day, then.
+Have a good day, then.
+
+Have a good time fishing!
+Have a good time fishing!
+
+Have a nice @@ day!
+Have a nice @@ day!
+
+Have a nice day!
+Have a nice day!
+
+Have a warm cup of Coffee on the house, and enjoy!
+Have a warm cup of Coffee on the house, and enjoy!
+
+Have fun!
+Have fun!
+
+Have no idea where in the world you are? Or what a certain foe drops, or if you should even dare to challenge it?
+Have no idea where in the world you are? Or what a certain foe drops, or if you should even dare to challenge it?
+
+Have the pirates been routed? Will they return?
+Have the pirates been routed? Will they return?
+
+Have you already talked to our captain? He should be downstairs waiting for you!
+Have you already talked to our captain? He should be downstairs waiting for you!
+
+Have you been fiddling with time? Anyway, this is not a disease, but a ##Bcomplex curse##b.
+Have you been fiddling with time? Anyway, this is not a disease, but a ##Bcomplex curse##b.
+
+Have you been harming the forest? Specially Mouboos. Are you killing them?
+Have you been harming the forest? Specially Mouboos. Are you killing them?
+
+Have you brought me some %s?
+Have you brought me some %s?
+
+Have you came here to rescue me?
+Have you came here to rescue me?
+
+Have you cried enough?
+Have you cried enough?
+
+Have you ever felt stuck? Lost? Didn't know about a quest, or an item is troubling you?
+Have you ever felt stuck? Lost? Didn't know about a quest, or an item is troubling you?
+
+Have you ever heard of the [@@http://landoffire.org/|Land Of Fire@@]? It is a really cool game which is being developed by Pyndragon and Pihro!
+Have you ever heard of the [@@http://landoffire.org/|Land Of Fire@@]? It is a really cool game which is being developed by Pyndragon and Pihro!
+
+Have you ever met our Queen Lilit? She is lovely but hates @@ for some reason...
+Have you ever met our Queen Lilit? She is lovely but hates @@ for some reason...
+
+Have you found Tulimshar's Secret Beach yet? Tulimshar is full of secrets. Some NPCs which only say hi may say something else depending on your level or insistence.
+Have you found Tulimshar's Secret Beach yet? Tulimshar is full of secrets. Some NPCs which only say hi may say something else depending on your level or insistence.
+
+Have you found out magic already? It should not be possible, but the girl reading the book says it is. I don't know in what to believe.
+Have you found out magic already? It should not be possible, but the girl reading the book says it is. I don't know in what to believe.
+
+Have you got mad? That's too much, it's like you are trying to be perfect! No way I'll help you!
+Have you got mad? That's too much, it's like you are trying to be perfect! No way I'll help you!
+
+Have you managed to transmute the @@ I asked for?
+Have you managed to transmute the @@ I asked for?
+
+Have you seen my brother %s?
+Have you seen my brother %s?
+
+Have you seen my sister Elza?
+Have you seen my sister Elza?
+
+Have you talked to Peetu co-workers about their opinion yet?
+Have you talked to Peetu co-workers about their opinion yet?
+
+Have you thought on my proposal? I'll only charge you %d GP or a %s for each attempt made.
+Have you thought on my proposal? I'll only charge you %d GP or a %s for each attempt made.
+
+Have you visited the mines already? Tycoon is in charge of the security operations in there. He might need your help more than I do.
+Have you visited the mines already? Tycoon is in charge of the security operations in there. He might need your help more than I do.
+
+Having magic power is useless by itself, so you must visit the Academy. I guess that involves approval and acknowledgment of the Mage Council that you are a mage!
+Having magic power is useless by itself, so you must visit the Academy. I guess that involves approval and acknowledgment of the Mage Council that you are a mage!
+
+He died, but I plan in fulfilling his will. I can give you training for that, and teach you how to fight properly.#0
+He died, but I plan in fulfilling his will. I can give you training for that, and teach you how to fight properly.
+
+He died, but I plan in fulfilling his will. I can give you training for that, and teach you how to fight properly.#1
+He died, but I plan in fulfilling his will. I can give you training for that, and teach you how to fight properly.
+
+He dislikes Talpans like you. The Mana Source chained him in ancient times, though, so the Talpans could flourish.
+He dislikes Talpans like you. The Mana Source chained him in ancient times, though, so the Talpans could flourish.
+
+He guards what you call "monsters", but he favor Mouboos. He is possibly the oldest of the Originals.
+He guards what you call "monsters", but he favor Mouboos. He is possibly the oldest of the Originals.
+
+He is blaming himself and is afraid of losing his job.
+He is blaming himself and is afraid of losing his job.
+
+He is by far the most powerful, and has a few chosen ones to whom he granted what we call "SQL Magic". Everyone envies power, so there's the imitation of that, "GM Magic", but unrelated to Mr. Saves.
+He is by far the most powerful, and has a few chosen ones to whom he granted what we call "SQL Magic". Everyone envies power, so there's the imitation of that, "GM Magic", but unrelated to Mr. Saves.
+
+He is in the process of making a figurine made of bug leg.
+He is in the process of making a figurine made of bug leg.
+
+He is my grand-grand-grandfather! The might Kfahr, with his friend Braknar, and heroes from Tulimshar legends.
+He is my grand-grand-grandfather! The might Kfahr, with his friend Braknar, and heroes from Tulimshar legends.
+
+He is not alive anymore, so only a single bow of those exist in the whole world... That is why we call it a
+He is not alive anymore, so only a single bow of those exist in the whole world... That is why we call it a
+
+He is strong though, so keep your party together!
+He is strong though, so keep your party together!
+
+He is the Miners leader.
+He is the Miners leader.
+
+He just abandoned this place and left everything behind... It's suspicious at best. You don't think anyone will be able to decrypt the secrets of Artificial Lifeforms.
+He just abandoned this place and left everything behind... It's suspicious at best. You don't think anyone will be able to decrypt the secrets of Artificial Lifeforms.
+
+He laughs heartily and gives you a slap on the back.
+He laughs heartily and gives you a slap on the back.
+
+He looks displeased and destroys the fur.
+He looks displeased and destroys the fur.
+
+He looks pleased.
+He looks pleased.
+
+He never touched the Soul Menhir... He died... For real...
+He never touched the Soul Menhir... He died... For real...
+
+He should be crying in the far northeast corner of this library. Can you go there to see him?
+He should be crying in the far northeast corner of this library. Can you go there to see him?
+
+He thinks he is using me to his rebellion, but I'm the one using him. I'm not the Bandit Lord for no reason.
+He thinks he is using me to his rebellion, but I'm the one using him. I'm not the Bandit Lord for no reason.
+
+He usually guards a central position on the caves... He could help you, if he is there.
+He usually guards a central position on the caves... He could help you, if he is there.
+
+He was looking around in the library a while, and then came to ask about our research. He seemed to be particularly interested in our experiments with the slimes.
+He was looking around in the library a while, and then came to ask about our research. He seemed to be particularly interested in our experiments with the slimes.
+
+He will summon allies if he think you have the upper hand. So take care if you are going ranged.
+He will summon allies if he think you have the upper hand. So take care if you are going ranged.
+
+He's an *hic* hermit, and collects *hic* Bat teeth and wings... Tell me how many he collected!
+He's an *hic* hermit, and collects *hic* Bat teeth and wings... Tell me how many he collected!
+
+He's holding a fishing rod, while gazing out at the sea.
+He's holding a fishing rod, while gazing out at the sea.
+
+Head Hood
+Head Hood
+
+Headgear
+Headgear
+
+Heal Card
+Heal Card
+
+Healing
+Healing
+
+Healing Recipes
+Healing Recipes
+
+Heals in area every friendly unit (incl. homuns and mercs). Req. Lifestone to cast.
+Heals in area every friendly unit (incl. homuns and mercs). Req. Lifestone to cast.
+
+Hear me *hic* well, what ever, whatididever you will *hic* said ab... uhm... out what?! You saw there, the Guild won't let it get public.
+Hear me *hic* well, what ever, whatididever you will *hic* said ab... uhm... out what?! You saw there, the Guild won't let it get public.
+
+Hear you? How do you even know he can understand you?!#1
+Hear you? How do you even know he can understand you?!
+
+Hear you? How do you even know she can understand you?!#0
+Hear you? How do you even know she can understand you?!
+
+Heart Glasses
+Heart Glasses
+
+Heart Necklace
+Heart Necklace
+
+Heart Of Isis
+Heart Of Isis
+
+Heh, I wonder what he would've said if he'd have visited us a little bit later. Mh, now that I think about it, the accident with the slimes happened just the night after he was here.
+Heh, I wonder what he would've said if he'd have visited us a little bit later. Mh, now that I think about it, the accident with the slimes happened just the night after he was here.
+
+Heh, congratulations making it this far. Once again, allow me to present myself:
+Heh, congratulations making it this far. Once again, allow me to present myself:
+
+Heh, thanks %s. Here's some money.
+Heh, thanks %s. Here's some money.
+
+Heh, there is death penalty outside the town. You better watch out. The mobs are on a foul mood today, very easy to get killed.
+Heh, there is death penalty outside the town. You better watch out. The mobs are on a foul mood today, very easy to get killed.
+
+Heh. Fair enough.
+Heh. Fair enough.
+
+Heh. Foolish. That's what adventurers are, I guess...
+Heh. Foolish. That's what adventurers are, I guess...
+
+Hehe, hehe. Well, come back if you change your mind.
+Hehe, hehe. Well, come back if you change your mind.
+
+Hehe... Some material... %%5
+Hehe... Some material... %%5
+
+Hehehe... A pleasure doing business with you!
+Hehehe... A pleasure doing business with you!
+
+Hehehe... Thanks. Here, take these %s Monster Points... This exchange has never happened.
+Hehehe... Thanks. Here, take these %s Monster Points... This exchange has never happened.
+
+Helena
+Helena
+
+Helena's Teammate
+Helena's Teammate
+
+Helios Boots
+Helios Boots
+
+Hello
+Hello
+
+Hello %s and welcome to Land Of Fire Village. This used to be a whole server before the Monster King crashed it down here.
+Hello %s and welcome to Land Of Fire Village. This used to be a whole server before the Monster King crashed it down here.
+
+Hello %s.
+Hello %s.
+
+Hello %s. What brings you here?
+Hello %s. What brings you here?
+
+Hello @@! Do you have some @@ with you?
+Hello @@! Do you have some @@ with you?
+
+Hello @@, may I interest you in a copy of the Gazette? It's only 1 GP!
+Hello @@, may I interest you in a copy of the Gazette? It's only 1 GP!
+
+Hello Adventurer!#0
+Hello Adventurer!
+
+Hello Adventurer!#1
+Hello Adventurer!
+
+Hello Adventurer.
+Hello Adventurer.
+
+Hello Ms. Eomie, kind sir Anwar sent me to fetch some fertilizers to save Tulimshar from famine, if you may?
+Hello Ms. Eomie, kind sir Anwar sent me to fetch some fertilizers to save Tulimshar from famine, if you may?
+
+Hello Peetu.
+Hello Peetu.
+
+Hello adventurer! Are you lost?#0
+Hello adventurer! Are you lost?
+
+Hello adventurer! Are you lost?#1
+Hello adventurer! Are you lost?
+
+Hello adventurer, what may this humble minstrel do for you today?
+Hello adventurer, what may this humble minstrel do for you today?
+
+Hello adventurer. Are you interested in the Heroes Hold, or in the Call Of Dusty?
+Hello adventurer. Are you interested in the Heroes Hold, or in the Call Of Dusty?
+
+Hello again can you give you give me some tentacles.
+Hello again can you give you give me some tentacles.
+
+Hello darling. The Alliance sucks, but don't tell anyone I told you that.
+Hello darling. The Alliance sucks, but don't tell anyone I told you that.
+
+Hello darling.#0
+Hello darling.
+
+Hello darling.#1
+Hello darling.
+
+Hello dear!#0
+Hello dear!
+
+Hello dear!#1
+Hello dear!
+
+Hello do you want to play rock scissors paper?
+Hello do you want to play rock scissors paper?
+
+Hello little kid. Watch out, there's a maggot behind you %%a !
+Hello little kid. Watch out, there's a maggot behind you %%a !
+
+Hello my friend! I see you've brought your @@ with you this time!
+Hello my friend! I see you've brought your @@ with you this time!
+
+Hello my friend! Need my help?#0
+Hello my friend! Need my help?
+
+Hello my friend! Need my help?#1
+Hello my friend! Need my help?
+
+Hello my friend!#0
+Hello my friend!
+
+Hello my friend!#1
+Hello my friend!
+
+Hello my friend.
+Hello my friend.
+
+Hello my friend. Thanks for slaying the rogue Yetis.
+Hello my friend. Thanks for slaying the rogue Yetis.
+
+Hello my hero!#0
+Hello my hero!
+
+Hello my hero!#1
+Hello my hero!
+
+Hello player, do you want to participate on HUNGRY QUIRIN event?!
+Hello player, do you want to participate on HUNGRY QUIRIN event?!
+
+Hello there pretty fountain, what about granting me magic?
+Hello there pretty fountain, what about granting me magic?
+
+Hello there! I am a constable. I keep law and order here.
+Hello there! I am a constable. I keep law and order here.
+
+Hello there! I make bullets for the weapons my friend Pyndragon makes.
+Hello there! I make bullets for the weapons my friend Pyndragon makes.
+
+Hello there! I'm Jack, the Lumberjack, and enemy of all trees. If you need some firewood, just let me know.
+Hello there! I'm Jack, the Lumberjack, and enemy of all trees. If you need some firewood, just let me know.
+
+Hello there, @@ the @@.
+Hello there, @@ the @@.
+
+Hello there, I am %s and I change item options, can I help you today?
+Hello there, I am %s and I change item options, can I help you today?
+
+Hello there, I am @@, blacksmith of this fine city. What do you want to forge today?
+Hello there, I am @@, blacksmith of this fine city. What do you want to forge today?
+
+Hello there, I am Lilanna and you are in ANISE INC. headquarters.
+Hello there, I am Lilanna and you are in ANISE INC. headquarters.
+
+Hello there, darling.#0
+Hello there, darling.
+
+Hello there, darling.#1
+Hello there, darling.
+
+Hello there. Do you want to donate blood?
+Hello there. Do you want to donate blood?
+
+Hello there. I am looking for strong people, but you are not strong enough.
+Hello there. I am looking for strong people, but you are not strong enough.
+
+Hello there. My name is %s.
+Hello there. My name is %s.
+
+Hello winged friend! How is the wind today?
+Hello winged friend! How is the wind today?
+
+Hello!
+Hello!
+
+Hello! Anwar sent me to get fertilizer to save Tulimshar from famine, could you help me?
+Hello! Anwar sent me to get fertilizer to save Tulimshar from famine, could you help me?
+
+Hello! Calm wind today!
+Hello! Calm wind today!
+
+Hello! Could I see the Mayor?
+Hello! Could I see the Mayor?
+
+Hello! Do you need help?
+Hello! Do you need help?
+
+Hello! How can I help you?
+Hello! How can I help you?
+
+Hello! I am @@, and I take care of Tulimshar forge. I usually make ingots from various materials. So, what do you want today?
+Hello! I am @@, and I take care of Tulimshar forge. I usually make ingots from various materials. So, what do you want today?
+
+Hello! I am Aurora, and I oversee the %s!
+Hello! I am Aurora, and I oversee the %s!
+
+Hello! I am Cassia, Ambassator. During the Monster War outbreak, Halinarzo was almost entirely destroyed.
+Hello! I am Cassia, Ambassator. During the Monster War outbreak, Halinarzo was almost entirely destroyed.
+
+Hello! My name is Kenton, and I'm in charge of Public Affairs of Land Of Fire.
+Hello! My name is Kenton, and I'm in charge of Public Affairs of Land Of Fire.
+
+Hello! Welcome to the Inn! I am an Alliance officer, and I oversee gambling all over the world!
+Hello! Welcome to the Inn! I am an Alliance officer, and I oversee gambling all over the world!
+
+Hello! Would you like to try some piou delicacies?
+Hello! Would you like to try some piou delicacies?
+
+Hello! You seem strong enough, could take a request from me? Of course, not for free.
+Hello! You seem strong enough, could take a request from me? Of course, not for free.
+
+Hello, %s! Congratulations for finishing the %s!
+Hello, %s! Congratulations for finishing the %s!
+
+Hello, %s.
+Hello, %s.
+
+Hello, @@!
+Hello, @@!
+
+Hello, @@! We are proud to announce the @@ RESULTS!
+Hello, @@! We are proud to announce the @@ RESULTS!
+
+Hello, @@! We just looked up and found out you that you were affected on a Valentine Event bug!
+Hello, @@! We just looked up and found out you that you were affected on a Valentine Event bug!
+
+Hello, @@! We just looked up and found out you were active during 2018-12-29!
+Hello, @@! We just looked up and found out you were active during 2018-12-29!
+
+Hello, @@.
+Hello, @@.
+
+Hello, @@. Thanks for helping me.
+Hello, @@. Thanks for helping me.
+
+Hello, I act on the Alliance's behalf.
+Hello, I act on the Alliance's behalf.
+
+Hello, I am B-@@, of the @@ order.
+Hello, I am B-@@, of the @@ order.
+
+Hello, I am G-@@, of the @@ order.
+Hello, I am G-@@, of the @@ order.
+
+Hello, I am K-@@, of the @@ order.
+Hello, I am K-@@, of the @@ order.
+
+Hello, I am T-@@, of the @@ order.
+Hello, I am T-@@, of the @@ order.
+
+Hello, I am a sword to hire, a Mercenary Trainer and Chief.
+Hello, I am a sword to hire, a Mercenary Trainer and Chief.
+
+Hello, I am your local silversmith, here for all of your smithing needs!
+Hello, I am your local silversmith, here for all of your smithing needs!
+
+Hello, I noticed my dear friend, Susanne, asked you to help us save my sisters; do not forget to ask Susanne where the Fafi Dragon was last seen.
+Hello, I noticed my dear friend, Susanne, asked you to help us save my sisters; do not forget to ask Susanne where the Fafi Dragon was last seen.
+
+Hello, I'm Pylon!
+Hello, I'm Pylon!
+
+Hello, I'm looking for bandit hoods!
+Hello, I'm looking for bandit hoods!
+
+Hello, I'm new here! Can I help you?
+Hello, I'm new here! Can I help you?
+
+Hello, Lua told me she booked a room for me.
+Hello, Lua told me she booked a room for me.
+
+Hello, What a lovely day for a stroll.
+Hello, What a lovely day for a stroll.
+
+Hello, and welcome to Blue Sage's Residence, Library, and Nivalis Townhall.
+Hello, and welcome to Blue Sage's Residence, Library, and Nivalis Townhall.
+
+Hello, and welcome to Frostia bounty hunter guild.
+Hello, and welcome to Frostia bounty hunter guild.
+
+Hello, and welcome to TMW2: Moubootaur Legends!
+Hello, and welcome to TMW2: Moubootaur Legends!
+
+Hello, and welcome to Tulimshar Inn.
+Hello, and welcome to Tulimshar Inn.
+
+Hello, and welcome to the Magic Academy.
+Hello, and welcome to the Magic Academy.
+
+Hello, and welcome to the Magic School of Tulimshar.
+Hello, and welcome to the Magic School of Tulimshar.
+
+Hello, and welcome to the Tulimshar guard house.
+Hello, and welcome to the Tulimshar guard house.
+
+Hello, could I help you in exchanger of fertilizer?
+Hello, could I help you in exchanger of fertilizer?
+
+Hello, darling!
+Hello, darling!
+
+Hello, darling. I was thinking in doing a tea party.#0
+Hello, darling. I was thinking in doing a tea party.
+
+Hello, darling. I was thinking in doing a tea party.#1
+Hello, darling. I was thinking in doing a tea party.
+
+Hello, dear! I love @@, could you bring me some? They're sooooo sweet and delicious!#0
+Hello, dear! I love @@, could you bring me some? They're sooooo sweet and delicious!
+
+Hello, dear! I love @@, could you bring me some? They're sooooo sweet and delicious!#1
+Hello, dear! I love @@, could you bring me some? They're sooooo sweet and delicious!
+
+Hello, did you come from Tulimshar? Because you have a nice tan.
+Hello, did you come from Tulimshar? Because you have a nice tan.
+
+Hello, hello! It's great to see you. Maybe you can help me with a little problem I have.
+Hello, hello! It's great to see you. Maybe you can help me with a little problem I have.
+
+Hello, madam!#0
+Hello, madam!
+
+Hello, my name is Mahid, and this well belongs to me!
+Hello, my name is Mahid, and this well belongs to me!
+
+Hello, new wanderer!#0
+Hello, new wanderer!
+
+Hello, new wanderer!#1
+Hello, new wanderer!
+
+Hello, sir!#1
+Hello, sir!
+
+Hello, wanderer! Welcome to Tulimshar.#0
+Hello, wanderer! Welcome to Tulimshar.
+
+Hello, wanderer! Welcome to Tulimshar.#1
+Hello, wanderer! Welcome to Tulimshar.
+
+Hello, wanderer!#0
+Hello, wanderer!
+
+Hello, wanderer!#1
+Hello, wanderer!
+
+Hello, who are you?
+Hello, who are you?
+
+Hello, young boy...#1
+Hello, young boy...
+
+Hello, young girl...#0
+Hello, young girl...
+
+Hello.
+Hello.
+
+Hello. Ah, bad luck. I am three days without fishing a single carp.
+Hello. Ah, bad luck. I am three days without fishing a single carp.
+
+Hello. Did you come here to see the library? There isn't much left... But we're working on recovering the books by collecting the ripped out book pages, sorting them and recreating the books.
+Hello. Did you come here to see the library? There isn't much left... But we're working on recovering the books by collecting the ripped out book pages, sorting them and recreating the books.
+
+Hello. I am @@, and I am from a family of travellers. We travel though the whole world, looking for exotic goods.
+Hello. I am @@, and I am from a family of travellers. We travel though the whole world, looking for exotic goods.
+
+Hello. I am Emma, Enrique's wife.
+Hello. I am Emma, Enrique's wife.
+
+Hello. I am Enrique, headmaster of The Academy.
+Hello. I am Enrique, headmaster of The Academy.
+
+Hello. I am the book keeper, responsible for keeping Halinarzo History.
+Hello. I am the book keeper, responsible for keeping Halinarzo History.
+
+Hello. I am the instructor assigned to the magic range training field.
+Hello. I am the instructor assigned to the magic range training field.
+
+Hello. I know the secrets of the legendary @@.
+Hello. I know the secrets of the legendary @@.
+
+Hello. I was assigned to guard the ranged training grounds of the mystic forest.
+Hello. I was assigned to guard the ranged training grounds of the mystic forest.
+
+Hello. My name is Erik, and I have Homunculus go out in errands in my stead.
+Hello. My name is Erik, and I have Homunculus go out in errands in my stead.
+
+Hello. Take care with the Mountain Snakes, they're highly poisonous!
+Hello. Take care with the Mountain Snakes, they're highly poisonous!
+
+Helmet Recipes
+Helmet Recipes
+
+Help controlling their population, and return those you fish to Aurora!
+Help controlling their population, and return those you fish to Aurora!
+
+Help the distressed woman to save her daughter? ALL PLAYERS are penalized with failures.
+Help the distressed woman to save her daughter? ALL PLAYERS are penalized with failures.
+
+Henriikka
+Henriikka
+
+Henry
+Henry
+
+Henry gave something to drink.
+Henry gave something to drink.
+
+Herb Fields
+Herb Fields
+
+Here are EXTREMELY VALUABLE warp crystals, and the *hic* fabled return potions.
+Here are EXTREMELY VALUABLE warp crystals, and the *hic* fabled return potions.
+
+Here are the Antennas.
+Here are the Antennas.
+
+Here are the Pinkie Legs.
+Here are the Pinkie Legs.
+
+Here are two @@. Please deliver it to them. I hope they'll like it.
+Here are two @@. Please deliver it to them. I hope they'll like it.
+
+Here is 1000 GP for your efforts. Thanks for making Hurnscald a better place to live.
+Here is 1000 GP for your efforts. Thanks for making Hurnscald a better place to live.
+
+Here is 2000 GP for your efforts. Thanks for making Hurnscald a better place to live.
+Here is 2000 GP for your efforts. Thanks for making Hurnscald a better place to live.
+
+Here is a reward for your effort! Now you can be a true buccaneer!
+Here is a reward for your effort! Now you can be a true buccaneer!
+
+Here is a safe haven for we who don't fight. There are no monsters, and the Mouboo watches over us.
+Here is a safe haven for we who don't fight. There are no monsters, and the Mouboo watches over us.
+
+Here is one.
+Here is one.
+
+Here is the @@, like my armor, and one of the best for rangers.
+Here is the @@, like my armor, and one of the best for rangers.
+
+Here is the bug bomb! Eomie just gave me. Hurry up!
+Here is the bug bomb! Eomie just gave me. Hurry up!
+
+Here is your powder! I hope it will be useful.
+Here is your powder! I hope it will be useful.
+
+Here it is, clean like a whistle!
+Here it is, clean like a whistle!
+
+Here it is, miss.#0
+Here it is, miss.
+
+Here it is, mister.#1
+Here it is, mister.
+
+Here it is. Come back to report the results.
+Here it is. Come back to report the results.
+
+Here it is. Take care with it!
+Here it is. Take care with it!
+
+Here kid. Frostia, the elf town, is somewhere near here, but I'm not sure if you can reach it from here.
+Here kid. Frostia, the elf town, is somewhere near here, but I'm not sure if you can reach it from here.
+
+Here lies a diary, presumably from Fefe.
+Here lies a diary, presumably from Fefe.
+
+Here they are miss!
+Here they are miss!
+
+Here they are!
+Here they are!
+
+Here they are, miss!
+Here they are, miss!
+
+Here they are, miss.#0
+Here they are, miss.
+
+Here they are, mister.#1
+Here they are, mister.
+
+Here we have a squall from @@.
+Here we have a squall from @@.
+
+Here you are!
+Here you are!
+
+Here you are, you won't find a dye more yellow than this!
+Here you are, you won't find a dye more yellow than this!
+
+Here you can find professors, academics and researchers. Feel free to enroll in any class as well.
+Here you can find professors, academics and researchers. Feel free to enroll in any class as well.
+
+Here you go - have fun with it.
+Here you go - have fun with it.
+
+Here you go!
+Here you go!
+
+Here you go! Anything else?
+Here you go! Anything else?
+
+Here you go! Happy easter! Bhop bhop!
+Here you go! Happy easter! Bhop bhop!
+
+Here you go! Wasn't this a sweet deal?
+Here you go! Wasn't this a sweet deal?
+
+Here you go, I tried my best! Do you want another?
+Here you go, I tried my best! Do you want another?
+
+Here you go, a brand new crystal. I'll fix the old one on the meanwhile. Take care of it.
+Here you go, a brand new crystal. I'll fix the old one on the meanwhile. Take care of it.
+
+Here you go, anything else?
+Here you go, anything else?
+
+Here you go, everything is fixed.
+Here you go, everything is fixed.
+
+Here you go, fresh from the oven!
+Here you go, fresh from the oven!
+
+Here you go, miss! Thanks for being my hero! <3#0
+Here you go, miss! Thanks for being my hero! <3
+
+Here you go, mister! Thanks for being my hero! <3#1
+Here you go, mister! Thanks for being my hero! <3
+
+Here you go, my friend! Please enjoy!#0
+Here you go, my friend! Please enjoy!
+
+Here you go, my friend! Please enjoy!#1
+Here you go, my friend! Please enjoy!
+
+Here you go, my friend. Uhm, good luck with archery.
+Here you go, my friend. Uhm, good luck with archery.
+
+Here you go, thanks for doing my SECRET quest! Eh, not much to do here. But I like life this way.
+Here you go, thanks for doing my SECRET quest! Eh, not much to do here. But I like life this way.
+
+Here you go. Handle it with caution.
+Here you go. Handle it with caution.
+
+Here you go. Perhaps you need another one?
+Here you go. Perhaps you need another one?
+
+Here you go. Please enjoy and thanks for making this town better to live. Maybe one day the snakes leave ^.^
+Here you go. Please enjoy and thanks for making this town better to live. Maybe one day the snakes leave ^.^
+
+Here you go. Please, keep fighting and growing strong. Improving oneself is... Damn, I forgot the proverb.
+Here you go. Please, keep fighting and growing strong. Improving oneself is... Damn, I forgot the proverb.
+
+Here you go. Uhm, I really prefer if you buy with Rosen, though.
+Here you go. Uhm, I really prefer if you buy with Rosen, though.
+
+Here you go; See you later!
+Here you go; See you later!
+
+Here's some gold for your efforts.
+Here's some gold for your efforts.
+
+Here's what I need:
+Here's what I need:
+
+Here's your reward!
+Here's your reward!
+
+Here's your sword, novice. Now go kill monsters.#0
+Here's your sword, novice. Now go kill monsters.
+
+Here's your sword, novice. Now go kill monsters.#1
+Here's your sword, novice. Now go kill monsters.
+
+Here, I did this @@ for you! I'm pretty sure this is also a drop, but that's literally everything I could do for helping my husband.
+Here, I did this @@ for you! I'm pretty sure this is also a drop, but that's literally everything I could do for helping my husband.
+
+Here, I have a candy!
+Here, I have a candy!
+
+Here, I'll give you a Mercenary Box. Open it, get the mercenary card, and summon it when needed. You absolutely CANNOT let the Professor be assassinated!
+Here, I'll give you a Mercenary Box. Open it, get the mercenary card, and summon it when needed. You absolutely CANNOT let the Professor be assassinated!
+
+Here, all yours. Ah, if I still could walk... I would hunt those annoying squirrels myself!
+Here, all yours. Ah, if I still could walk... I would hunt those annoying squirrels myself!
+
+Here, all yours. I can't use them like I am now. Thank you.
+Here, all yours. I can't use them like I am now. Thank you.
+
+Here, come talk to me, the Magic Arpan! I'll help you get dressed.
+Here, come talk to me, the Magic Arpan! I'll help you get dressed.
+
+Here, lemme tell you something good: Do you know that fortress island which all the adventurers are talking about nowadays?
+Here, lemme tell you something good: Do you know that fortress island which all the adventurers are talking about nowadays?
+
+Here, look at how it is done. Focus. You can use it to convert a @@ into a @@, but not the other way around, for example.
+Here, look at how it is done. Focus. You can use it to convert a @@ into a @@, but not the other way around, for example.
+
+Here, please take this to them. Tell them they are welcome here anytime! %%2
+Here, please take this to them. Tell them they are welcome here anytime! %%2
+
+Here, sparking new! Nice!!
+Here, sparking new! Nice!!
+
+Here, take as much as you need, I have plenty!
+Here, take as much as you need, I have plenty!
+
+Here, take it. If the mana goes out of your body, I'll have your class master to return the book to me.
+Here, take it. If the mana goes out of your body, I'll have your class master to return the book to me.
+
+Here, take the Elixir. Please, bring it to my wife! I am counting on you!!
+Here, take the Elixir. Please, bring it to my wife! I am counting on you!!
+
+Here, take the reward as promised!
+Here, take the reward as promised!
+
+Here, take this %s and these %s and good luck!
+Here, take this %s and these %s and good luck!
+
+Here, take this @@ - you deserve it! And here is 200 GP to buy a better weapon.
+Here, take this @@ - you deserve it! And here is 200 GP to buy a better weapon.
+
+Here, take this @@ - you deserve it! And here is some gold and experience.
+Here, take this @@ - you deserve it! And here is some gold and experience.
+
+Here, take this @@. It will be better suited!
+Here, take this @@. It will be better suited!
+
+Here, take this @@. This is the proof that you've helped Hurnscald greatly. This shall open new opportunities to you.
+Here, take this @@. This is the proof that you've helped Hurnscald greatly. This shall open new opportunities to you.
+
+Here, take this pair of boots as a reward!
+Here, take this pair of boots as a reward!
+
+Here, take this reward. Good luck. %%1
+Here, take this reward. Good luck. %%1
+
+Here, thanks to the oil, this string is very sturdy. You better not keep it on your inventory. Good luck!
+Here, thanks to the oil, this string is very sturdy. You better not keep it on your inventory. Good luck!
+
+Here, you can have a glass.
+Here, you can have a glass.
+
+Here, you can have the partly unobtainable items reserved to developers and contributors. And, uh, these NPC-only items, don't let developers know I gave you this. It'll be our little secret!
+Here, you can have the partly unobtainable items reserved to developers and contributors. And, uh, these NPC-only items, don't let developers know I gave you this. It'll be our little secret!
+
+Here, you can have this one!
+Here, you can have this one!
+
+Here, you can have this souvenir.
+Here, you can have this souvenir.
+
+Here, you can have this spare one. Hahah! Crafting is an art, and I help teaching it. Just be sure to don't lose it, you will NEVER get another copy EVER again, was I clear?!
+Here, you can have this spare one. Hahah! Crafting is an art, and I help teaching it. Just be sure to don't lose it, you will NEVER get another copy EVER again, was I clear?!
+
+Here, you can have this, token of my appreciation.
+Here, you can have this, token of my appreciation.
+
+Here. You know that milking Mouboos won't cause them harm, right? It's a different story with @@.
+Here. You know that milking Mouboos won't cause them harm, right? It's a different story with @@.
+
+Herein also lies Raid Yahoo, enemy of manakind and nemesis of Saul, the one hated by many and loved by few, greedy mana stone collector, but who still opposed to the Monster King and lost her life for it.
+Herein also lies Raid Yahoo, enemy of manakind and nemesis of Saul, the one hated by many and loved by few, greedy mana stone collector, but who still opposed to the Monster King and lost her life for it.
+
+Herein lies Fefe, for his great bravure and heroic deeds, savior of our realm, valiantly defeated in combat against the Monster King, may the mana shine upon him forever.
+Herein lies Fefe, for his great bravure and heroic deeds, savior of our realm, valiantly defeated in combat against the Monster King, may the mana shine upon him forever.
+
+Hero Card
+Hero Card
+
+Hero Card S
+Hero Card S
+
+Hero Card X
+Hero Card X
+
+Hero Coin
+Hero Coin
+
+Hero Statue
+Hero Statue
+
+Hero Statue#012-1
+Hero Statue#012-1
+
+Hero Statue#027-1
+Hero Statue#027-1
+
+Hero#0
+Hero
+
+Hero#1
+Hero
+
+Hero:
+Hero:
+
+Heroes Hold
+Heroes Hold
+
+Heroes Hold - Exchange Hall
+Heroes Hold - Exchange Hall
+
+Hesitant, you reach out your hand, and grab whatever was on the Cauldron. It seems to be an Embryo.
+Hesitant, you reach out your hand, and grab whatever was on the Cauldron. It seems to be an Embryo.
+
+Hey %s, I was informed about your arrival. You are here, good!
+Hey %s, I was informed about your arrival. You are here, good!
+
+Hey %s, could you do me a little favor?
+Hey %s, could you do me a little favor?
+
+Hey @@! You haven't talked to me yet!
+Hey @@! You haven't talked to me yet!
+
+Hey do you have a second?
+Hey do you have a second?
+
+Hey dude. During this event you can trade one @@ for more... useful items.
+Hey dude. During this event you can trade one @@ for more... useful items.
+
+Hey friend, could you do me a little favor?#0
+Hey friend, could you do me a little favor?
+
+Hey friend, could you do me a little favor?#1
+Hey friend, could you do me a little favor?
+
+Hey gal, could you do me a little favor?#0
+Hey gal, could you do me a little favor?
+
+Hey hey, can you impress me? Can you impress me?
+Hey hey, can you impress me? Can you impress me?
+
+Hey hey... Good job! I was worried you would ruin their hoods before being able to take them.
+Hey hey... Good job! I was worried you would ruin their hoods before being able to take them.
+
+Hey hey... Good job! We can now use again the stuff we recovered from the bandits.
+Hey hey... Good job! We can now use again the stuff we recovered from the bandits.
+
+Hey if you want I can do some physical work for you!
+Hey if you want I can do some physical work for you!
+
+Hey kid! Can you hear me?#0
+Hey kid! Can you hear me?
+
+Hey kid! Can you hear me?#1
+Hey kid! Can you hear me?
+
+Hey kid, go play somewhere else, I don't have time! It's soon over!
+Hey kid, go play somewhere else, I don't have time! It's soon over!
+
+Hey look, an alchemy set. Not your area of expertise, but you take a few samples.
+Hey look, an alchemy set. Not your area of expertise, but you take a few samples.
+
+Hey newbie... I am a dangerous bandit.
+Hey newbie... I am a dangerous bandit.
+
+Hey pal, could you do me a little favor?#1
+Hey pal, could you do me a little favor?
+
+Hey silly %s, I need a favor from you.
+Hey silly %s, I need a favor from you.
+
+Hey there! How are you?
+Hey there! How are you?
+
+Hey there! How are you? I hope you're doing fine!
+Hey there! How are you? I hope you're doing fine!
+
+Hey there, %s. I deal with ultra rare items. If the Powers That Be decided you're out of luck, well, I am here to help you to bypass it.
+Hey there, %s. I deal with ultra rare items. If the Powers That Be decided you're out of luck, well, I am here to help you to bypass it.
+
+Hey there, %s. What I deal with is too much for your weak bones. So please come again after you are reborn, then I'll have something for you.
+Hey there, %s. What I deal with is too much for your weak bones. So please come again after you are reborn, then I'll have something for you.
+
+Hey there, @@! Good luck killing monsters!
+Hey there, @@! Good luck killing monsters!
+
+Hey there, @@! I see you are still a noob!
+Hey there, @@! I see you are still a noob!
+
+Hey there. My name is Gwendolyn Bowmaker; I'm the granddaughter of the famous Glinda Bowmaker.
+Hey there. My name is Gwendolyn Bowmaker; I'm the granddaughter of the famous Glinda Bowmaker.
+
+Hey wait... A monster!! Run for your life!!
+Hey wait... A monster!! Run for your life!!
+
+Hey wait... You found 2 GP!
+Hey wait... You found 2 GP!
+
+Hey wait... You're enveloped by a bright light and fully healed!
+Hey wait... You're enveloped by a bright light and fully healed!
+
+Hey wait... You're enveloped by a bright light and gain experience!
+Hey wait... You're enveloped by a bright light and gain experience!
+
+Hey you have a bucket! Too bad there are, you know, HOLES on it, so you can see.
+Hey you have a bucket! Too bad there are, you know, HOLES on it, so you can see.
+
+Hey you. Come here...I have a quest for ya.
+Hey you. Come here...I have a quest for ya.
+
+Hey! Be careful. You can't stay in this basement for so long, you're going to get sick. Come outside and take a break, maybe you can try again later.
+Hey! Be careful. You can't stay in this basement for so long, you're going to get sick. Come outside and take a break, maybe you can try again later.
+
+Hey! Good to hear from you!
+Hey! Good to hear from you!
+
+Hey! Good to see you. I was thinking how I could repay for what you've done for my mother.
+Hey! Good to see you. I was thinking how I could repay for what you've done for my mother.
+
+Hey! How are you today? Thanks again for your help.
+Hey! How are you today? Thanks again for your help.
+
+Hey! I already got them!
+Hey! I already got them!
+
+Hey! I want to enter in this house!
+Hey! I want to enter in this house!
+
+Hey, %s! Welcome back!
+Hey, %s! Welcome back!
+
+Hey, @@!
+Hey, @@!
+
+Hey, I am flopped. Do you want to gamble?
+Hey, I am flopped. Do you want to gamble?
+
+Hey, I like rewards. Wait me, I'll be back!
+Hey, I like rewards. Wait me, I'll be back!
+
+Hey, I said NO ENTRY! Get moving!
+Hey, I said NO ENTRY! Get moving!
+
+Hey, I see you have appointed @@ players to this game. Good job!
+Hey, I see you have appointed @@ players to this game. Good job!
+
+Hey, can you spare me a moment?
+Hey, can you spare me a moment?
+
+Hey, check out my brand new fishing rod. I bought it just today.
+Hey, check out my brand new fishing rod. I bought it just today.
+
+Hey, collect lots of @@ and give them to me on Christmas! Not now. On Christmas!
+Hey, collect lots of @@ and give them to me on Christmas! Not now. On Christmas!
+
+Hey, did you bring me everything I asked for?
+Hey, did you bring me everything I asked for?
+
+Hey, did you know there are two mouboos which constantly fight against themselves?!
+Hey, did you know there are two mouboos which constantly fight against themselves?!
+
+Hey, do not mistake me for a child.
+Hey, do not mistake me for a child.
+
+Hey, do you know the ##BCall Of Dusty##b event?
+Hey, do you know the ##BCall Of Dusty##b event?
+
+Hey, do you know what is good on summer? @@!
+Hey, do you know what is good on summer? @@!
+
+Hey, do you know what is good on this harsh winter? A @@!
+Hey, do you know what is good on this harsh winter? A @@!
+
+Hey, dude! The guards are after me. I need your help, and I can reward you.#0
+Hey, dude! The guards are after me. I need your help, and I can reward you.
+
+Hey, dude! The guards are after me. I need your help, and I can reward you.#1
+Hey, dude! The guards are after me. I need your help, and I can reward you.
+
+Hey, girl!#0
+Hey, girl!
+
+Hey, have you come to play with me? I love playing with humans! Usually so few show in, it must be the dragons...
+Hey, have you come to play with me? I love playing with humans! Usually so few show in, it must be the dragons...
+
+Hey, how is the monster extermination going?
+Hey, how is the monster extermination going?
+
+Hey, huge THANKS for the help! I love gifts! Here's your due reward!
+Hey, huge THANKS for the help! I love gifts! Here's your due reward!
+
+Hey, is somebody over there?
+Hey, is somebody over there?
+
+Hey, it seems like you didn't register as a Monster Hunting Quest participant yet! You can sign up with Aidan.
+Hey, it seems like you didn't register as a Monster Hunting Quest participant yet! You can sign up with Aidan.
+
+Hey, look, a tie happened!
+Hey, look, a tie happened!
+
+Hey, look, you have @@ boxes to collect!
+Hey, look, you have @@ boxes to collect!
+
+Hey, man!#1
+Hey, man!
+
+Hey, nice hat! Can I have it?
+Hey, nice hat! Can I have it?
+
+Hey, pal. This spot is very good, I can see the whole town from here.#0
+Hey, pal. This spot is very good, I can see the whole town from here.
+
+Hey, pal. This spot is very good, I can see the whole town from here.#1
+Hey, pal. This spot is very good, I can see the whole town from here.
+
+Hey, psst! Come over here!
+Hey, psst! Come over here!
+
+Hey, psst! Have you brought me what I asked for?
+Hey, psst! Have you brought me what I asked for?
+
+Hey, take this @@. It heals fully but who cares, I have Tonori Delight!
+Hey, take this @@. It heals fully but who cares, I have Tonori Delight!
+
+Hey, thanks for saving me. You know, from the well.
+Hey, thanks for saving me. You know, from the well.
+
+Hey, the %s you gave me was quite tasty, thanks!
+Hey, the %s you gave me was quite tasty, thanks!
+
+Hey, this Dummy is to @@ kill.
+Hey, this Dummy is to @@ kill.
+
+Hey, two gifts is very nice. But if we delivered 400. Think on it.
+Hey, two gifts is very nice. But if we delivered 400. Think on it.
+
+Hey, you on the dune! Can you hear us?!
+Hey, you on the dune! Can you hear us?!
+
+Hey, you! Aid me!
+Hey, you! Aid me!
+
+Hey, you! Are you here on Kenton's orders?!
+Hey, you! Are you here on Kenton's orders?!
+
+Hey, you! Could you bring me an @@?
+Hey, you! Could you bring me an @@?
+
+Hey, you! Help me!
+Hey, you! Help me!
+
+Hey, you! We need help to find the Monster King.
+Hey, you! We need help to find the Monster King.
+
+Hey, you! We need help to get rid from some remaining monsters at Nivalis City.
+Hey, you! We need help to get rid from some remaining monsters at Nivalis City.
+
+Hey, you! What are you doing here?!
+Hey, you! What are you doing here?!
+
+Hey, you're an elf, cool! But you still cannot run for office here!
+Hey, you're an elf, cool! But you still cannot run for office here!
+
+Hey, you, stranger. I promised Banu a pie, but she is yet to give me the apples.
+Hey, you, stranger. I promised Banu a pie, but she is yet to give me the apples.
+
+Hey. If you want to kill monsters, you need a good sword. I think, a @@ would be the perfect fit for you.
+Hey. If you want to kill monsters, you need a good sword. I think, a @@ would be the perfect fit for you.
+
+Hey. You there. Time to do @@ and show what you're made of.
+Hey. You there. Time to do @@ and show what you're made of.
+
+Hey. You. You were in need of medical attention earlier. Do you remember how to walk, talk, attack, etc?
+Hey. You. You were in need of medical attention earlier. Do you remember how to walk, talk, attack, etc?
+
+Hey... Go bother someone else.
+Hey... Go bother someone else.
+
+Hey... I found a Jeans Shorts. Is it yours?
+Hey... I found a Jeans Shorts. Is it yours?
+
+Hey... You... Come here.
+Hey... You... Come here.
+
+Heya dude! Don't you think this room is too dark?
+Heya dude! Don't you think this room is too dark?
+
+Heya!
+Heya!
+
+Heya, noob. Where is your @@? Are you really so noob to have forgot such important book?!
+Heya, noob. Where is your @@? Are you really so noob to have forgot such important book?!
+
+Hi @@.
+Hi @@.
+
+Hi Peetu, are you calmer now?
+Hi Peetu, are you calmer now?
+
+Hi there, I can always use a helping hand around here, are you the one for the job?
+Hi there, I can always use a helping hand around here, are you the one for the job?
+
+Hi! Apparently, I came from here and moved at the age of 4, but I had amnesia and can't remember!
+Hi! Apparently, I came from here and moved at the age of 4, but I had amnesia and can't remember!
+
+Hi! Do you want a hair cut?
+Hi! Do you want a hair cut?
+
+Hi! I'm Miltaco, a piou specialist in humanoid hairstyles. Do you want a hair cut?
+Hi! I'm Miltaco, a piou specialist in humanoid hairstyles. Do you want a hair cut?
+
+Hi! My name is @@.
+Hi! My name is @@.
+
+Hi, @@.
+Hi, @@.
+
+Hi, I'm Woody!
+Hi, I'm Woody!
+
+Hi, I'm too busy to talk right now, please go away. Very pressing matters at hand.
+Hi, I'm too busy to talk right now, please go away. Very pressing matters at hand.
+
+Hi, nice to see you!
+Hi, nice to see you!
+
+Hi.
+Hi.
+
+Hi. Are you here to get luggage?
+Hi. Are you here to get luggage?
+
+Hi. Come to the bakery!
+Hi. Come to the bakery!
+
+Hi. Could you perhaps be interested in doing some small errand for me?
+Hi. Could you perhaps be interested in doing some small errand for me?
+
+Hi. Do you need something?
+Hi. Do you need something?
+
+Hi. I have questionable items of questionable origins for you.
+Hi. I have questionable items of questionable origins for you.
+
+Hi. My back hurts!
+Hi. My back hurts!
+
+Hi. My captain believe the world is round, can you believe that?
+Hi. My captain believe the world is round, can you believe that?
+
+Hi. My ship is about to set sail, we'll try to find somewhere better to live than this ruined place!
+Hi. My ship is about to set sail, we'll try to find somewhere better to live than this ruined place!
+
+Hi. Thanks for the pie.
+Hi. Thanks for the pie.
+
+Hi. This is a very historic building - the former residence of the red queen no less!
+Hi. This is a very historic building - the former residence of the red queen no less!
+
+Hi. Working on the docks can be hard, but I'm glad I at least get to eat!
+Hi. Working on the docks can be hard, but I'm glad I at least get to eat!
+
+High Council Secretary
+High Council Secretary
+
+High Priest Card
+High Priest Card
+
+Highly strong and bulky, faces their foes head-on.
+Highly strong and bulky, faces their foes head-on.
+
+Hihihi... Thanks! Here, you can keep this.
+Hihihi... Thanks! Here, you can keep this.
+
+Hinnak
+Hinnak
+
+Hire a mercenary
+Hire a mercenary
+
+His daughter, Airlia, is not air-headed as her mother Lia. Try asking her instead.
+His daughter, Airlia, is not air-headed as her mother Lia. Try asking her instead.
+
+His golden ring pops right out of it.
+His golden ring pops right out of it.
+
+His policy is to never read a letter without the sender being present. Of course we checked for poison and traps.
+His policy is to never read a letter without the sender being present. Of course we checked for poison and traps.
+
+Hit the ground, exploding the surroundings and disabling enemies.
+Hit the ground, exploding the surroundings and disabling enemies.
+
+Hit'n'run is not so hard... One hit, one step back... One hit, another step back... One miss, two steps back...
+Hit'n'run is not so hard... One hit, one step back... One hit, another step back... One miss, two steps back...
+
+Hm hm. Thanks for the report. Well, as you could have suspected... I knew that all along.
+Hm hm. Thanks for the report. Well, as you could have suspected... I knew that all along.
+
+Hm hm. This sounds pretty concerning. Aiming at Sages is also a smart move, as they compose the Alliance Council.
+Hm hm. This sounds pretty concerning. Aiming at Sages is also a smart move, as they compose the Alliance Council.
+
+Hm, I would also do some quests if I needed money... On other hand, maybe I could go fishing? Do I know any fisher?
+Hm, I would also do some quests if I needed money... On other hand, maybe I could go fishing? Do I know any fisher?
+
+Hm, can we talk again later?
+Hm, can we talk again later?
+
+Hm, do you perhaps know where to find Cindy and could help me?
+Hm, do you perhaps know where to find Cindy and could help me?
+
+Hm, good luck out there.
+Hm, good luck out there.
+
+Hm, groceries? Well, figure out Naem would ask someone to deliver them.
+Hm, groceries? Well, figure out Naem would ask someone to deliver them.
+
+Hm, thanks for your report. This is most useful. Here, drink this.
+Hm, thanks for your report. This is most useful. Here, drink this.
+
+Hm, would "Cindy" be a small, little girl, kidnapped by some sturdy-looking rogue Yetis?
+Hm, would "Cindy" be a small, little girl, kidnapped by some sturdy-looking rogue Yetis?
+
+Hm. Then please don't disturb me, I'm trying to concentrate.
+Hm. Then please don't disturb me, I'm trying to concentrate.
+
+Hm... Shhhh...
+Hm... Shhhh...
+
+Hmm hmm! Then, let's begin.
+Hmm hmm! Then, let's begin.
+
+Hmm what is it?
+Hmm what is it?
+
+Hmm, I think I can teach you a basic Mana Skill now. That one is pretty simple.
+Hmm, I think I can teach you a basic Mana Skill now. That one is pretty simple.
+
+Hmm, I think I can teach you a basic Mana Skill now. This one is more advanced, though.
+Hmm, I think I can teach you a basic Mana Skill now. This one is more advanced, though.
+
+Hmm, Nivalis is a wonderful place to live in! Although it is a tad too cold on Winter...
+Hmm, Nivalis is a wonderful place to live in! Although it is a tad too cold on Winter...
+
+Hmm, Woodlands is a wonderful place to live in! Although Thorn gets really a thorn in my boots during spring...
+Hmm, Woodlands is a wonderful place to live in! Although Thorn gets really a thorn in my boots during spring...
+
+Hmm, it might be a hunch but... Can you tell me if there were any unusual visitors before the incident?
+Hmm, it might be a hunch but... Can you tell me if there were any unusual visitors before the incident?
+
+Hmm, it's very interesting, very ... (mumbling).
+Hmm, it's very interesting, very ... (mumbling).
+
+Hmm, no, I shouldn't go back there...
+Hmm, no, I shouldn't go back there...
+
+Hmm, no, not really. However, I can try my hand at tweaking an item options :3
+Hmm, no, not really. However, I can try my hand at tweaking an item options :3
+
+Hmm, that's some progress. Nobody goes to the beach because of these slimes, but it looks like this might change sometime soon.
+Hmm, that's some progress. Nobody goes to the beach because of these slimes, but it looks like this might change sometime soon.
+
+Hmm, who are you?
+Hmm, who are you?
+
+Hmm... First of, I would really add some agility. Agility helps you to don't be hit, and not being hit is awesome.
+Hmm... First of, I would really add some agility. Agility helps you to don't be hit, and not being hit is awesome.
+
+Hmm... I can handle cooking during normal days. Christmas is the problem. I never have enough sweeties by then...
+Hmm... I can handle cooking during normal days. Christmas is the problem. I never have enough sweeties by then...
+
+Hmm... See, the thing is that transmuting living beings is not normally something that transmutation magic can do.
+Hmm... See, the thing is that transmuting living beings is not normally something that transmutation magic can do.
+
+Hmm... That's a though question!
+Hmm... That's a though question!
+
+Hmm... Thinking well...
+Hmm... Thinking well...
+
+Hmm... sorry but gotta go...
+Hmm... sorry but gotta go...
+
+Hmm...actually, nevermind.
+Hmm...actually, nevermind.
+
+Hmmm... Yummy!
+Hmmm... Yummy!
+
+Hmpf! Coffee is an heresy!
+Hmpf! Coffee is an heresy!
+
+Hmpf, for a %s, you're a bit resourceful.
+Hmpf, for a %s, you're a bit resourceful.
+
+Hmpf, if %s was still around... He sealed the path to Aethyr, the sacred elf land. I'm sure he could protect Frostia from the likes of you as well!
+Hmpf, if %s was still around... He sealed the path to Aethyr, the sacred elf land. I'm sure he could protect Frostia from the likes of you as well!
+
+Hmpf, it's good to see you're at least trying to follow Wyara's example.
+Hmpf, it's good to see you're at least trying to follow Wyara's example.
+
+Hmpf. A pleasure doing business with you.
+Hmpf. A pleasure doing business with you.
+
+Hmpf. That'll do.
+Hmpf. That'll do.
+
+Hmpf. Wise choice.
+Hmpf. Wise choice.
+
+Hmph, that would only incite bad behavior! No way!
+Hmph, that would only incite bad behavior! No way!
+
+Hmph, you are the second activist I see today! TO THE BRIG!
+Hmph, you are the second activist I see today! TO THE BRIG!
+
+Ho! I'll help them!
+Ho! I'll help them!
+
+Ho... I see you are a tough one...
+Ho... I see you are a tough one...
+
+Hocus Pocus
+Hocus Pocus
+
+Hocus Said So Challenge
+Hocus Said So Challenge
+
+Hocus#MOLY0100
+Hocus#MOLY0100
+
+Hocus#MOLY0200
+Hocus#MOLY0200
+
+Hocus#MOLY0300
+Hocus#MOLY0300
+
+Hocus#MOLY0400
+Hocus#MOLY0400
+
+Hocus#MOLY0500
+Hocus#MOLY0500
+
+Hocus#MOLY0600
+Hocus#MOLY0600
+
+Hocus#MOLY0700
+Hocus#MOLY0700
+
+Hocus#MOLY0800
+Hocus#MOLY0800
+
+Hocus#MOLY0900
+Hocus#MOLY0900
+
+Hocus#MOLY1000
+Hocus#MOLY1000
+
+Hocus#MOLY1100
+Hocus#MOLY1100
+
+Hocus#MOLY1200
+Hocus#MOLY1200
+
+Hoh, I see this %s you've been using. Do you desire for more power?
+Hoh, I see this %s you've been using. Do you desire for more power?
+
+Hold your horses, %s. You are not the party leader.
+Hold your horses, %s. You are not the party leader.
+
+Holy Light
+Holy Light
+
+Holy Pixie
+Holy Pixie
+
+Homun Stat Reset Potion
+Homun Stat Reset Potion
+
+Homunculus are a bit dumb, although the ones I've cultivated and took personal care of can express reactions. In future, I'll research sentience.
+Homunculus are a bit dumb, although the ones I've cultivated and took personal care of can express reactions. In future, I'll research sentience.
+
+Homunculus stats were reset!
+Homunculus stats were reset!
+
+Honey
+Honey
+
+Honor Points: %s
+Honor Points: %s
+
+Honor only applies to PvP fights. It can be seen on "%s" and rewards are given monthly for it.
+Honor only applies to PvP fights. It can be seen on "%s" and rewards are given monthly for it.
+
+Hooded Assassin
+Hooded Assassin
+
+Hooded Ninja
+Hooded Ninja
+
+Hopefully, you'll find something interesting on it to serve as a payment. It's up to luck, I guess....
+Hopefully, you'll find something interesting on it to serve as a payment. It's up to luck, I guess....
+
+Hoping for the best, but prepared for the worst, you set off to the legendary continent of Kolev; Your destination: Artis.
+Hoping for the best, but prepared for the worst, you set off to the legendary continent of Kolev; Your destination: Artis.
+
+House Maggot
+House Maggot
+
+Houses, Exit
+Houses, Exit
+
+Houses, Lake Of Tears
+Houses, Lake Of Tears
+
+Housing Letter I
+Housing Letter I
+
+Housing Letter I for 11,000 GP
+Housing Letter I for 11,000 GP
+
+Housing Letter II
+Housing Letter II
+
+Housing Letter II for 101,000 GP
+Housing Letter II for 101,000 GP
+
+Housing Letter III
+Housing Letter III
+
+Housing Letter III for 1,001,000 GP
+Housing Letter III for 1,001,000 GP
+
+How about this, I can teach you how to be a tiny bit faster, so you can use heavier armor. I'll even give you a discount. Give it some thought, come back to me after you make up your mind.
+How about this, I can teach you how to be a tiny bit faster, so you can use heavier armor. I'll even give you a discount. Give it some thought, come back to me after you make up your mind.
+
+How can I complete a craft?
+How can I complete a craft?
+
+How can I get iron ingot?
+How can I get iron ingot?
+
+How can I help you, my friend?
+How can I help you, my friend?
+
+How can I help you?
+How can I help you?
+
+How can I obtain casino coins?
+How can I obtain casino coins?
+
+How can I reach the Land Of Fire?
+How can I reach the Land Of Fire?
+
+How did I got here?
+How did I got here?
+
+How did you end up here?
+How did you end up here?
+
+How did you even get here? Go back to Candor, where you belong!
+How did you even get here? Go back to Candor, where you belong!
+
+How did you even got here? There are dangerous swamps north, and dangerous deserts south...
+How did you even got here? There are dangerous swamps north, and dangerous deserts south...
+
+How did you get down there?
+How did you get down there?
+
+How did you got that much? Nine gifts, and 51200 if you want even more.
+How did you got that much? Nine gifts, and 51200 if you want even more.
+
+How did you guess that?
+How did you guess that?
+
+How do I advance in Mana Magic? How it works?
+How do I advance in Mana Magic? How it works?
+
+How do I get magic?
+How do I get magic?
+
+How do I hunt monsters?
+How do I hunt monsters?
+
+How do I make money?
+How do I make money?
+
+How do I save items?
+How do I save items?
+
+How do I save money?
+How do I save money?
+
+How do I see my items?
+How do I see my items?
+
+How do I talk with someone?
+How do I talk with someone?
+
+How do I trade with other players?
+How do I trade with other players?
+
+How do you even prove amnesia, anyway?
+How do you even prove amnesia, anyway?
+
+How do you know my name?
+How do you know my name?
+
+How does Gambling works?
+How does Gambling works?
+
+How does spinning works?
+How does spinning works?
+
+How is *hic* it possible?
+How is *hic* it possible?
+
+How is your purge going? I hope you had success at it!
+How is your purge going? I hope you had success at it!
+
+How many %s should I attach?
+How many %s should I attach?
+
+How many batches do you want to produce? (max. 5)
+How many batches do you want to produce? (max. 5)
+
+How many chocolate do you want to send? You can trade: @@
+How many chocolate do you want to send? You can trade: @@
+
+How many did you need again?
+How many did you need again?
+
+How many do you want to sell? You currently have @@ @@.
+How many do you want to sell? You currently have @@ @@.
+
+How many heads does Zaphod Beeblebrox have? Numbers only.
+How many heads does Zaphod Beeblebrox have? Numbers only.
+
+How many ingots do you want to make?
+How many ingots do you want to make?
+
+How many lives will be claimed until he is put to rest?
+How many lives will be claimed until he is put to rest?
+
+How many pints of beers should you drink before hitchhiking? Numbers only.
+How many pints of beers should you drink before hitchhiking? Numbers only.
+
+How many points? (0-%d)
+How many points? (0-%d)
+
+How many steps?
+How many steps?
+
+How many to brew? (%d-%d)
+How many to brew? (%d-%d)
+
+How many?
+How many?
+
+How many? Max. @@
+How many? Max. @@
+
+How may I help you?
+How may I help you?
+
+How much coffee you'll give Jhon?
+How much coffee you'll give Jhon?
+
+How much do you want to deposit?
+How much do you want to deposit?
+
+How much do you want to withdraw?
+How much do you want to withdraw?
+
+How much honey will you give it? (You have: %d)
+How much honey will you give it? (You have: %d)
+
+How much would be the budget for Fur Boots?
+How much would be the budget for Fur Boots?
+
+How powerful they were or are, their cruelty, their judgment against the Terranite Civilization and the other bloody details of the legend... I cannot confirm them to you.
+How powerful they were or are, their cruelty, their judgment against the Terranite Civilization and the other bloody details of the legend... I cannot confirm them to you.
+
+How powerfully do you want to shoot?
+How powerfully do you want to shoot?
+
+How to better preserve your dispostives:
+How to better preserve your dispostives:
+
+How to expand this limit? Well, you'll need to touch a Mana Stone. If you can handle more raw power, your limit will extend.
+How to expand this limit? Well, you'll need to touch a Mana Stone. If you can handle more raw power, your limit will extend.
+
+How to use best Warp Technology?
+How to use best Warp Technology?
+
+How will you respond?!
+How will you respond?!
+
+How's that even possible? Well, 30 @@ for all contestants!
+How's that even possible? Well, 30 @@ for all contestants!
+
+Howdy! Lately I feel like a placeholder, just surviving on these harsh lands.
+Howdy! Lately I feel like a placeholder, just surviving on these harsh lands.
+
+Howdy! Mirio and I scout this canyon to protect our clan. I am also a retired assassin, maybe someday I can exchange some knowledge with you! Hahaha!
+Howdy! Mirio and I scout this canyon to protect our clan. I am also a retired assassin, maybe someday I can exchange some knowledge with you! Hahaha!
+
+Howdy! Pachua and I scout this canyon to protect our clan. I acknowledge only those whom are fast like the wind! I would love to challenge you for a race... But not today.
+Howdy! Pachua and I scout this canyon to protect our clan. I acknowledge only those whom are fast like the wind! I would love to challenge you for a race... But not today.
+
+Howdy, partner! Man, you have no idea how I'm hungry. Been scouting this canyon for weeks, under the scorching sun, and there's only snake meat to eat... I'm get tired of this repulsive stuff.
+Howdy, partner! Man, you have no idea how I'm hungry. Been scouting this canyon for weeks, under the scorching sun, and there's only snake meat to eat... I'm get tired of this repulsive stuff.
+
+Howdy?
+Howdy?
+
+However, %s stole the treasures which were being showcased!
+However, %s stole the treasures which were being showcased!
+
+However, I am still up for trading cards, if you wish.
+However, I am still up for trading cards, if you wish.
+
+However, I need a tax to start, and you need to arrange players. There are no refunds.
+However, I need a tax to start, and you need to arrange players. There are no refunds.
+
+However, I need to see at least three volunteers here, to allow you in.
+However, I need to see at least three volunteers here, to allow you in.
+
+However, I still have hope. Dimond's secret recipe. Ah, but I can't get the ingredients for it...
+However, I still have hope. Dimond's secret recipe. Ah, but I can't get the ingredients for it...
+
+However, LoF admins and developers are working on a new game to offer a new experience for players.
+However, LoF admins and developers are working on a new game to offer a new experience for players.
+
+However, an account may only apply for an office weekly.
+However, an account may only apply for an office weekly.
+
+However, as long as you remain seated and immobile, the spell will slowly destroy the seal.
+However, as long as you remain seated and immobile, the spell will slowly destroy the seal.
+
+However, by casting %s here, we'll be able to weaken the seal!
+However, by casting %s here, we'll be able to weaken the seal!
+
+However, chants can also inflict ailments or even summon creatures.
+However, chants can also inflict ailments or even summon creatures.
+
+However, each group may be expanded later. You can reset group by clearing the Master Floor.
+However, each group may be expanded later. You can reset group by clearing the Master Floor.
+
+However, for a few months already, nothing else has been heard from that town, and all contact was lost.
+However, for a few months already, nothing else has been heard from that town, and all contact was lost.
+
+However, if town has less than 15 reputation, they'll need to re-apply manually, and may lose the office for the bot account.
+However, if town has less than 15 reputation, they'll need to re-apply manually, and may lose the office for the bot account.
+
+However, if we waste the ship's money in beer, Nard will get mad.
+However, if we waste the ship's money in beer, Nard will get mad.
+
+However, it can be unlocked if you know the password:
+However, it can be unlocked if you know the password:
+
+However, it comes back crying! Poor teddy, it got attracted by a sweet smell but it found a %s instead!
+However, it comes back crying! Poor teddy, it got attracted by a sweet smell but it found a %s instead!
+
+However, it stops abruptly and quickly moves away from it.
+However, it stops abruptly and quickly moves away from it.
+
+However, it's also possible they're there already. Be careful for ambushes!
+However, it's also possible they're there already. Be careful for ambushes!
+
+However, our skill growth rate is much smaller than those of humans.
+However, our skill growth rate is much smaller than those of humans.
+
+However, she may have a better assessment of the current situation better than you and your allies.
+However, she may have a better assessment of the current situation better than you and your allies.
+
+However, that is not exactly a popular idea around here. The fae seem more concerned with snakes.
+However, that is not exactly a popular idea around here. The fae seem more concerned with snakes.
+
+However, the Army seems to walk away after some time.
+However, the Army seems to walk away after some time.
+
+However, the fate of this world is at your hands. I shall not allow the Moubootaur to cause havoc.
+However, the fate of this world is at your hands. I shall not allow the Moubootaur to cause havoc.
+
+However, the legend said there was a way to prevent this disaster. A single way... Which the Ancient Families of Soul Menhir kept a secret passed down between generations.
+However, the legend said there was a way to prevent this disaster. A single way... Which the Ancient Families of Soul Menhir kept a secret passed down between generations.
+
+However, the log breaks with a loud crack.
+However, the log breaks with a loud crack.
+
+However, there's a link to get a simple python bot software!
+However, there's a link to get a simple python bot software!
+
+However, they must visit their town office and do daily paperwork, every day. Otherwise, town reputation will go down.
+However, they must visit their town office and do daily paperwork, every day. Otherwise, town reputation will go down.
+
+However, this only distracts him for a short while. Soon after, he returns to his small ritual with the pot.
+However, this only distracts him for a short while. Soon after, he returns to his small ritual with the pot.
+
+However, watch out!
+However, watch out!
+
+However, we must defeat the commanders to avoid major damage to them!
+However, we must defeat the commanders to avoid major damage to them!
+
+However, you need a %s or a Fishing Net. There's one fisherman in Tulimshar Center, called Eugene. He should have one, but he lives isolated on a small island... Good luck getting to him.
+However, you need a %s or a Fishing Net. There's one fisherman in Tulimshar Center, called Eugene. He should have one, but he lives isolated on a small island... Good luck getting to him.
+
+However, you should only give food when it's hungry, otherwise it'll believe you're a bad owner and intimacy will decrease.
+However, you should only give food when it's hungry, otherwise it'll believe you're a bad owner and intimacy will decrease.
+
+However, you'll need to keep cooperating with me. Trust me, this incident and what you look for it is closely related.
+However, you'll need to keep cooperating with me. Trust me, this incident and what you look for it is closely related.
+
+However, your guild just challenged Kamelot Dungeons.
+However, your guild just challenged Kamelot Dungeons.
+
+However...
+However...
+
+Huge area of effect fire damage. May burn targets.
+Huge area of effect fire damage. May burn targets.
+
+Hum, Which type of favor?
+Hum, Which type of favor?
+
+Hum, how many gem powders can I get from one gem?
+Hum, how many gem powders can I get from one gem?
+
+Hum... I'm not really good at it.
+Hum... I'm not really good at it.
+
+Human
+Human
+
+Human Voice
+Human Voice
+
+Humans never built a settlement there. But the prophecy is there.
+Humans never built a settlement there. But the prophecy is there.
+
+Hungry Quirin Arena Information
+Hungry Quirin Arena Information
+
+Hungry Quirin Arena Rules
+Hungry Quirin Arena Rules
+
+Hunter.
+Hunter.
+
+Hurns Warp Crystal
+Hurns Warp Crystal
+
+HurnsShip#M
+HurnsShip#M
+
+Hurnscald
+Hurnscald
+
+Hurnscald - @@ GP
+Hurnscald - @@ GP
+
+Hurnscald Liberation Day special event
+Hurnscald Liberation Day special event
+
+Hurnscald Mines
+Hurnscald Mines
+
+Hurnscald Office
+Hurnscald Office
+
+Hurnscald Townhall
+Hurnscald Townhall
+
+Hurnscald is a large city. I'm sure glad I live in Candor because I know where everything's at.
+Hurnscald is a large city. I'm sure glad I live in Candor because I know where everything's at.
+
+Hurnscald was founded after Tulimshar, in more fertile lands. Their walls are not so sturdy as the ones of Tulimshar.
+Hurnscald was founded after Tulimshar, in more fertile lands. Their walls are not so sturdy as the ones of Tulimshar.
+
+Hurnscald's Nurse
+Hurnscald's Nurse
+
+Hurnscald? Small farming towns are always nice to visit.
+Hurnscald? Small farming towns are always nice to visit.
+
+Hurnsguard
+Hurnsguard
+
+Hurry up! Bring a @@ from Barzil in Halinarzo!! You only have @@ left!
+Hurry up! Bring a @@ from Barzil in Halinarzo!! You only have @@ left!
+
+Hurry up, before the wind changes.
+Hurry up, before the wind changes.
+
+Hurry up, you'll run out of time in @@!
+Hurry up, you'll run out of time in @@!
+
+Hwaaaah... Man, I'm bored. Will you be getting @@?
+Hwaaaah... Man, I'm bored. Will you be getting @@?
+
+Hwellow. I am a boring NPC which makes green dye.
+Hwellow. I am a boring NPC which makes green dye.
+
+I HAVE WARNED YOU!!!!!
+I HAVE WARNED YOU!!!!!
+
+I NEVER TOUCHED THE SOUL MENHIR! I SWEAR YOU, I'M INNOCENT! PLEASE HAVE MERCY!!
+I NEVER TOUCHED THE SOUL MENHIR! I SWEAR YOU, I'M INNOCENT! PLEASE HAVE MERCY!!
+
+I actually have a special class for those with perfect magical control like you.
+I actually have a special class for those with perfect magical control like you.
+
+I actually have them, here.
+I actually have them, here.
+
+I actually need help. I am a mage, and I'm feeling lazy to get the stuff I need.
+I actually need help. I am a mage, and I'm feeling lazy to get the stuff I need.
+
+I actually need help. Padric and I were doing some research with catalysts, you see.
+I actually need help. Padric and I were doing some research with catalysts, you see.
+
+I advise you to do more quests on Tulimshar and Candor, otherwise, you will fail right at the end.
+I advise you to do more quests on Tulimshar and Candor, otherwise, you will fail right at the end.
+
+I agree with you. Most of these materials can't even be found on Nivalis.
+I agree with you. Most of these materials can't even be found on Nivalis.
+
+I already did everything I could with this. What am I waiting for?
+I already did everything I could with this. What am I waiting for?
+
+I already got enough %s, thank you.
+I already got enough %s, thank you.
+
+I already have a Forest Bow.
+I already have a Forest Bow.
+
+I already have that...
+I already have that...
+
+I already told you he is out! Why do you even want to talk to him?! Haven't I told you to... to... leave me alone!?
+I already told you he is out! Why do you even want to talk to him?! Haven't I told you to... to... leave me alone!?
+
+I already took my share from this chest.
+I already took my share from this chest.
+
+I already visited this warp.
+I already visited this warp.
+
+I also brew some of the crops, making Beer. And then I sell to adventurers!
+I also brew some of the crops, making Beer. And then I sell to adventurers!
+
+I also broke my bones, and I was equipping a weapon which prevents HP regen...
+I also broke my bones, and I was equipping a weapon which prevents HP regen...
+
+I also do not keep any stock of them. If you really want it, you can bring me some Raw Logs. I'll show you which one is the good one. Deal?
+I also do not keep any stock of them. If you really want it, you can bring me some Raw Logs. I'll show you which one is the good one. Deal?
+
+I also hear fisherman likes to fish at night. They say the catch is bigger, if you understand me.
+I also hear fisherman likes to fish at night. They say the catch is bigger, if you understand me.
+
+I also see you have a level @@ magic skill!"
+I also see you have a level @@ magic skill!"
+
+I always do shady deals. *cough cough* %s GP.
+I always do shady deals. *cough cough* %s GP.
+
+I always keep my end on the bargain, so here you go.
+I always keep my end on the bargain, so here you go.
+
+I always thought it was a bad idea to play around with the slimes. And as if holding them in here isn't bad enough, no, they also had to mess around with magic.
+I always thought it was a bad idea to play around with the slimes. And as if holding them in here isn't bad enough, no, they also had to mess around with magic.
+
+I always wanted to live in this town. I'm glad I managed to move from LoF Village to here.
+I always wanted to live in this town. I'm glad I managed to move from LoF Village to here.
+
+I always wanted to taste a %s! But they don't grow anywhere, and I've heard the only way to obtain one is from %s. Unfortunately, I do not favor violence, so... Could you get one for me?
+I always wanted to taste a %s! But they don't grow anywhere, and I've heard the only way to obtain one is from %s. Unfortunately, I do not favor violence, so... Could you get one for me?
+
+I always wonder if I should raise my price to teach bad kids to don't lie.
+I always wonder if I should raise my price to teach bad kids to don't lie.
+
+I am %s, a piou alchemist specializing in reset and agility potions.
+I am %s, a piou alchemist specializing in reset and agility potions.
+
+I am @@, an alchemist specialized in reset potions.
+I am @@, an alchemist specialized in reset potions.
+
+I am @@, and I take care of the Arena.
+I am @@, and I take care of the Arena.
+
+I am @@, guardian of Candor Cave. Below this cave, lies the legendary Fefe, arch-wizard from the Great War.
+I am @@, guardian of Candor Cave. Below this cave, lies the legendary Fefe, arch-wizard from the Great War.
+
+I am @@, student from the ancient secrets of the Mage of Time, Ozthokk.
+I am @@, student from the ancient secrets of the Mage of Time, Ozthokk.
+
+I am @@, the only mage in Candor.
+I am @@, the only mage in Candor.
+
+I am Bella, the Scholar.
+I am Bella, the Scholar.
+
+I am Elli. One of the Originals.
+I am Elli. One of the Originals.
+
+I am Quirino Voraz, and my arena is the coolest PVP Arena on all Mana Worlds.
+I am Quirino Voraz, and my arena is the coolest PVP Arena on all Mana Worlds.
+
+I am Yetifly the Mighty, guardian of the fae!
+I am Yetifly the Mighty, guardian of the fae!
+
+I am Zarkor, the Dark Summoner. I want to do a dark summoning ritual, but there are strings attached.
+I am Zarkor, the Dark Summoner. I want to do a dark summoning ritual, but there are strings attached.
+
+I am a GM, and I want to change my Race!
+I am a GM, and I want to change my Race!
+
+I am a bard! I used to be an elf trader, but music got me for good.
+I am a bard! I used to be an elf trader, but music got me for good.
+
+I am a brave adventurer! How can I help you?
+I am a brave adventurer! How can I help you?
+
+I am a contributor, and I want contributor stuff.
+I am a contributor, and I want contributor stuff.
+
+I am a mage. How do I get to Academy?
+I am a mage. How do I get to Academy?
+
+I am a noob and don't need you.
+I am a noob and don't need you.
+
+I am a really good blacksmith. In fact, there is no stuff I can't fix.
+I am a really good blacksmith. In fact, there is no stuff I can't fix.
+
+I am a thief! I want to repent for my sins!
+I am a thief! I want to repent for my sins!
+
+I am a trader from Nard's ship. We actually need supplies. Help us, and I'll help you.#0
+I am a trader from Nard's ship. We actually need supplies. Help us, and I'll help you.
+
+I am a trader from Nard's ship. We actually need supplies. Help us, and I'll help you.#1
+I am a trader from Nard's ship. We actually need supplies. Help us, and I'll help you.
+
+I am actually surprised you clicked me again. Well then, here's the Land of Fire News...
+I am actually surprised you clicked me again. Well then, here's the Land of Fire News...
+
+I am broken?! Please report! Debug data: @@ (@@)
+I am broken?! Please report! Debug data: @@ (@@)
+
+I am collecting money for the Yearly Autumn Scorpion Hunter quest.
+I am collecting money for the Yearly Autumn Scorpion Hunter quest.
+
+I am counting on you!
+I am counting on you!
+
+I am currently in charge of overseeing the world state and the Monster King advancements, as well as planning and dealing with emergencies. The Alliance High Council is currently composed by %s members and %s honorary ones.
+I am currently in charge of overseeing the world state and the Monster King advancements, as well as planning and dealing with emergencies. The Alliance High Council is currently composed by %s members and %s honorary ones.
+
+I am currently very worried with them. They're just children! They don't know how to fight!
+I am currently very worried with them. They're just children! They don't know how to fight!
+
+I am doing a great research with Bats, and thus far I collected @@ Bat Wings and Teeths.
+I am doing a great research with Bats, and thus far I collected @@ Bat Wings and Teeths.
+
+I am happy that such responsible citizens live in Tulimshar. Thank you for your help. It's really hot nowdays!
+I am happy that such responsible citizens live in Tulimshar. Thank you for your help. It's really hot nowdays!
+
+I am his right-hand Yeti, so I could grant you passage to his Throne Room to slay the rogue Yetis...
+I am his right-hand Yeti, so I could grant you passage to his Throne Room to slay the rogue Yetis...
+
+I am hungry. Can I buy some food here?
+I am hungry. Can I buy some food here?
+
+I am making a figurine with Bug legs for the upcoming festival.
+I am making a figurine with Bug legs for the upcoming festival.
+
+I am not a citizen of Candor.
+I am not a citizen of Candor.
+
+I am not a coward to run away by the back door!
+I am not a coward to run away by the back door!
+
+I am not a half-word man, so I won't take your fish. Come back with the money and the Roots, and I'll make the string for you.
+I am not a half-word man, so I won't take your fish. Come back with the money and the Roots, and I'll make the string for you.
+
+I am not afraid of Pious.
+I am not afraid of Pious.
+
+I am not content with our water supply. It gives us common water, but we of the superior race deserve better water.
+I am not content with our water supply. It gives us common water, but we of the superior race deserve better water.
+
+I am not done purifying the water yet. This may take years, but it'll be worth it.
+I am not done purifying the water yet. This may take years, but it'll be worth it.
+
+I am not sure of who makes or haves Lifestones. Try looking outside the city. Who knows.
+I am not sure of who makes or haves Lifestones. Try looking outside the city. Who knows.
+
+I am pleased about your progress, but you are not ready for the next step yet. Go and do some more training, before you come back.
+I am pleased about your progress, but you are not ready for the next step yet. Go and do some more training, before you come back.
+
+I am pleased to see that you have woken up and are active. Elmo came here to tell me this good news!#0
+I am pleased to see that you have woken up and are active. Elmo came here to tell me this good news!
+
+I am pleased to see that you have woken up and are active. Elmo came here to tell me this good news!#1
+I am pleased to see that you have woken up and are active. Elmo came here to tell me this good news!
+
+I am really curious what this shrine is about, though.
+I am really curious what this shrine is about, though.
+
+I am searching again maggot slime to craft more balls.
+I am searching again maggot slime to craft more balls.
+
+I am sorry but I can see that you don't have all that I asked you.
+I am sorry but I can see that you don't have all that I asked you.
+
+I am sorry, but it does not look like you have everything. You will need to bring:
+I am sorry, but it does not look like you have everything. You will need to bring:
+
+I am sorry, but it seems that you don't have enough money. Come back when you have reorganized your finances.
+I am sorry, but it seems that you don't have enough money. Come back when you have reorganized your finances.
+
+I am stationed here to protect Hurnscald from monsters.
+I am stationed here to protect Hurnscald from monsters.
+
+I am stationed here to protect Land Of Fire from monsters.
+I am stationed here to protect Land Of Fire from monsters.
+
+I am still here, but I already did amends for my acts and don't need to flee anymore...
+I am still here, but I already did amends for my acts and don't need to flee anymore...
+
+I am sure that an adventurer like you can gather everything in no time at all!
+I am sure that an adventurer like you can gather everything in no time at all!
+
+I am sure that they will come back to haunt you in your dreams!
+I am sure that they will come back to haunt you in your dreams!
+
+I am sure you already fought him. And survived, too, apparently. Help her, and I will reward your efforts appropriately.
+I am sure you already fought him. And survived, too, apparently. Help her, and I will reward your efforts appropriately.
+
+I am the Judge, and I shall make Judgment upon you!
+I am the Judge, and I shall make Judgment upon you!
+
+I am the Magic Fountain of Hurnscald. You look qualified.
+I am the Magic Fountain of Hurnscald. You look qualified.
+
+I am the Trader King, because I supply a market!
+I am the Trader King, because I supply a market!
+
+I am the Yetifly, guardian of butter and fairies.
+I am the Yetifly, guardian of butter and fairies.
+
+I am too far away to talk. Weird floating thingy...
+I am too far away to talk. Weird floating thingy...
+
+I am trying to fish here without success. You're weak, do not bother me.
+I am trying to fish here without success. You're weak, do not bother me.
+
+I am trying to invent the light bulb, but my name is not Thomas...
+I am trying to invent the light bulb, but my name is not Thomas...
+
+I am willing to give it to you, if help me out. I promise it won't be a bother, and it'll really be useful for you, I swear.
+I am willing to give it to you, if help me out. I promise it won't be a bother, and it'll really be useful for you, I swear.
+
+I am willing to pay @@ GP for 10 @@ you bring me!
+I am willing to pay @@ GP for 10 @@ you bring me!
+
+I am willing to pay @@ GP for each you bring me! Do you want to give me ALL your @@?!
+I am willing to pay @@ GP for each you bring me! Do you want to give me ALL your @@?!
+
+I am. What heroic action is needed?
+I am. What heroic action is needed?
+
+I asked my father and he agreed to trade it to you, so here is the last copy of the Maritime Almanac Scroll.
+I asked my father and he agreed to trade it to you, so here is the last copy of the Maritime Almanac Scroll.
+
+I believe these switches control the cage's lock.
+I believe these switches control the cage's lock.
+
+I bet you are dead tired, and the ship travel takes a long time.
+I bet you are dead tired, and the ship travel takes a long time.
+
+I bet you'll now ask for %s's password, and scam all their money!!
+I bet you'll now ask for %s's password, and scam all their money!!
+
+I better do this some other time...
+I better do this some other time...
+
+I better don't bother this Yeti, before it kills me.
+I better don't bother this Yeti, before it kills me.
+
+I better leave talking to him to the guild Vice Leaders and Master.
+I better leave talking to him to the guild Vice Leaders and Master.
+
+I better leave this crazy man to his ordeals...
+I better leave this crazy man to his ordeals...
+
+I better not disturb the hut owner.
+I better not disturb the hut owner.
+
+I better report this to Lua!
+I better report this to Lua!
+
+I brought a souvenir for you.
+I brought a souvenir for you.
+
+I came from The Mana World.
+I came from The Mana World.
+
+I came from Thermin, a town far far away.
+I came from Thermin, a town far far away.
+
+I came here to ask for help with curses.
+I came here to ask for help with curses.
+
+I came here to report... A sabotage.
+I came here to report... A sabotage.
+
+I came here to talk about the World's Edge.
+I came here to talk about the World's Edge.
+
+I came to enjoy a beautiful day with some ducks!
+I came to enjoy a beautiful day with some ducks!
+
+I can also pay %d GP per %s.
+I can also pay %d GP per %s.
+
+I can do a bug bomb right away, but I still need a few things for it!
+I can do a bug bomb right away, but I still need a few things for it!
+
+I can do that for you, but you'll still need to go to storage to get them back.
+I can do that for you, but you'll still need to go to storage to get them back.
+
+I can even give you the %s lumps of precious %s we would have burned. Whaddaya say, do we have a deal?
+I can even give you the %s lumps of precious %s we would have burned. Whaddaya say, do we have a deal?
+
+I can fill your bottle with water for only @@ gp the bottle.
+I can fill your bottle with water for only @@ gp the bottle.
+
+I can fix this for you. Just pay me @@ GP and a @@. It'll take no time at all!
+I can fix this for you. Just pay me @@ GP and a @@. It'll take no time at all!
+
+I can fuse an @@ and 20 @@, besides @@ GP, into 3~5 @@.
+I can fuse an @@ and 20 @@, besides @@ GP, into 3~5 @@.
+
+I can give you a rare...(cough, cough).. Mouboo Figurine for it.
+I can give you a rare...(cough, cough).. Mouboo Figurine for it.
+
+I can give you my knife if you bring me this:
+I can give you my knife if you bring me this:
+
+I can make @@ from @@, but this costs @@ GP.
+I can make @@ from @@, but this costs @@ GP.
+
+I can make a @@ for just one @@ and @@ GP for my work.
+I can make a @@ for just one @@ and @@ GP for my work.
+
+I can make an @@, I still have a bottle of fairy blood, a few mana pearls, and some other rare ingredients.
+I can make an @@, I still have a bottle of fairy blood, a few mana pearls, and some other rare ingredients.
+
+I can make some stuff with it, but I have no idea where it can be found. Mylarin dust... amazing.
+I can make some stuff with it, but I have no idea where it can be found. Mylarin dust... amazing.
+
+I can make three types of Agility Potions, which would you like?
+I can make three types of Agility Potions, which would you like?
+
+I can make you a @@, and for that I will want a @@ and 500 GP.
+I can make you a @@, and for that I will want a @@ and 500 GP.
+
+I can protect myself, so it should attack from afar.
+I can protect myself, so it should attack from afar.
+
+I can prove you my worth!
+I can prove you my worth!
+
+I can rent it to you for 300 GP, during 15 minutes. Deal?
+I can rent it to you for 300 GP, during 15 minutes. Deal?
+
+I can sell you the Pickaxe for @@ GP if you have and @@ the remaining equipment.
+I can sell you the Pickaxe for @@ GP if you have and @@ the remaining equipment.
+
+I can send you to at least five from the seven cave levels this dungeon have.
+I can send you to at least five from the seven cave levels this dungeon have.
+
+I can summon the BOSS for the level 0~20 area.
+I can summon the BOSS for the level 0~20 area.
+
+I can summon the BOSS for the level 21~40 area.
+I can summon the BOSS for the level 21~40 area.
+
+I can teach you these bonuses, but more powerful bonuses require more skill to learn... And I don't know anyone who could improve your crafting skill...
+I can teach you these bonuses, but more powerful bonuses require more skill to learn... And I don't know anyone who could improve your crafting skill...
+
+I can trade some with you. Just bring me the following cash payment and supplies:
+I can trade some with you. Just bring me the following cash payment and supplies:
+
+I can vouch for you, but only if you help me first!
+I can vouch for you, but only if you help me first!
+
+I can walk, I'm just... Trapped here. That's why I need someone to help me to cultivate my wose part!
+I can walk, I'm just... Trapped here. That's why I need someone to help me to cultivate my wose part!
+
+I can warp you home now.
+I can warp you home now.
+
+I can't believe it took so long to fix... And worse, next spring it'll be the same story all over again...
+I can't believe it took so long to fix... And worse, next spring it'll be the same story all over again...
+
+I can't believe it! You've brought me @@ @@!
+I can't believe it! You've brought me @@ @@!
+
+I can't believe it.
+I can't believe it.
+
+I can't give you the Apple I've stole. Because, I was stolen first!
+I can't give you the Apple I've stole. Because, I was stolen first!
+
+I can't handle it anymore! NO MORE!
+I can't handle it anymore! NO MORE!
+
+I can't sleep, so I'm writing this entry. It'll take a considerable amount of time to decrypt the shield frequency Raid is using, and when Saul's army is marching towards their deaths, time is of essence. Every second I waste, is a comrade who will die.
+I can't sleep, so I'm writing this entry. It'll take a considerable amount of time to decrypt the shield frequency Raid is using, and when Saul's army is marching towards their deaths, time is of essence. Every second I waste, is a comrade who will die.
+
+I can't stay here and talk all day. I have a job to do.
+I can't stay here and talk all day. I have a job to do.
+
+I can't use the shovel here.
+I can't use the shovel here.
+
+I can't, sorry.
+I can't, sorry.
+
+I can't. Rakinorf told me I should bring this matter to you instead.
+I can't. Rakinorf told me I should bring this matter to you instead.
+
+I cannot answer you about yourself, but I can tell you about the Ancient Families and the World Edge. Which is classified information, by the way.
+I cannot answer you about yourself, but I can tell you about the Ancient Families and the World Edge. Which is classified information, by the way.
+
+I cannot be alone to summon the Yeti King.
+I cannot be alone to summon the Yeti King.
+
+I cannot in good faith ask someone with so little experience to risk their life for something so trivial.
+I cannot in good faith ask someone with so little experience to risk their life for something so trivial.
+
+I cannot just give it to you for nothing. Run to Elanore and fetch me a @@. You need to make a new one, an old one I won't accept.
+I cannot just give it to you for nothing. Run to Elanore and fetch me a @@. You need to make a new one, an old one I won't accept.
+
+I cannot leave until Luvia and her allies are dead.
+I cannot leave until Luvia and her allies are dead.
+
+I cannot melt this. I only melt down equipment, and not everything I know how to!
+I cannot melt this. I only melt down equipment, and not everything I know how to!
+
+I cannot pass, because I am only level @@.
+I cannot pass, because I am only level @@.
+
+I cannot read the signs from this far away.
+I cannot read the signs from this far away.
+
+I certainly can't get out on my own.
+I certainly can't get out on my own.
+
+I changed my mind, I think I would like a copy!
+I changed my mind, I think I would like a copy!
+
+I changed my mind, goodbye.
+I changed my mind, goodbye.
+
+I changed my mind.
+I changed my mind.
+
+I charge a service fee of @@ GP, and two gemstones.
+I charge a service fee of @@ GP, and two gemstones.
+
+I collect them.
+I collect them.
+
+I come here frequently to trade. It is not deserted nor boring.
+I come here frequently to trade. It is not deserted nor boring.
+
+I could easily bake one for you, provided you bring me the following:
+I could easily bake one for you, provided you bring me the following:
+
+I could explain this better, but you are just a noob at magic, if you understand me.
+I could explain this better, but you are just a noob at magic, if you understand me.
+
+I could make ink myself, but I am lacking some material...
+I could make ink myself, but I am lacking some material...
+
+I could not be the Bandit King. But once I steal all Mana Stones, I'll be not only the best thief in the world. I already decided my new title.
+I could not be the Bandit King. But once I steal all Mana Stones, I'll be not only the best thief in the world. I already decided my new title.
+
+I currently have some pets with me. For most, you need to finish their Grand Hunter Quest, of course.
+I currently have some pets with me. For most, you need to finish their Grand Hunter Quest, of course.
+
+I did a travel to their cave, I wondered why their faces are never seen. Reason is that they're monsters.
+I did a travel to their cave, I wondered why their faces are never seen. Reason is that they're monsters.
+
+I did not summon you, I'm just a passer-by. Sorry.
+I did not summon you, I'm just a passer-by. Sorry.
+
+I did nothing wrong! I am not AFK!
+I did nothing wrong! I am not AFK!
+
+I did some tritan friends, though. They teached me how to breath underwater. It's not so bad.
+I did some tritan friends, though. They teached me how to breath underwater. It's not so bad.
+
+I disguise myself into a giant mutated bat, but every time I break or lose my fake teeth.
+I disguise myself into a giant mutated bat, but every time I break or lose my fake teeth.
+
+I do not have Everburn Powder to lit the torch.
+I do not have Everburn Powder to lit the torch.
+
+I do not know how to trigger this summoning circle.
+I do not know how to trigger this summoning circle.
+
+I do not like him, but even so, he keeps bothering me! Maybe I could out-impress him, though!
+I do not like him, but even so, he keeps bothering me! Maybe I could out-impress him, though!
+
+I do now know what this means: GS-@@-ICXN-@@
+I do now know what this means: GS-@@-ICXN-@@
+
+I do some research about evolution of snake skin subject to hard sunlight.
+I do some research about evolution of snake skin subject to hard sunlight.
+
+I do. I want to challenge the Candor Cave!
+I do. I want to challenge the Candor Cave!
+
+I don't believe you.
+I don't believe you.
+
+I don't care about dirty miners problem.
+I don't care about dirty miners problem.
+
+I don't care for equipment, gimme a snake skin.
+I don't care for equipment, gimme a snake skin.
+
+I don't care for shorts, gimme a snake skin.
+I don't care for shorts, gimme a snake skin.
+
+I don't care for your reasons.
+I don't care for your reasons.
+
+I don't have a spare. They're *hic* done by ANISE INC., their headquarters are in Frostia.
+I don't have a spare. They're *hic* done by ANISE INC., their headquarters are in Frostia.
+
+I don't have enough money...
+I don't have enough money...
+
+I don't have that much money, sorry.
+I don't have that much money, sorry.
+
+I don't have the time!
+I don't have the time!
+
+I don't have them, actually.
+I don't have them, actually.
+
+I don't have time for that.
+I don't have time for that.
+
+I don't have time sorry.
+I don't have time sorry.
+
+I don't know
+I don't know
+
+I don't know for what crazy reason you might want to do this, there is absolutely no benefit to this. I think you just selected the wrong option.
+I don't know for what crazy reason you might want to do this, there is absolutely no benefit to this. I think you just selected the wrong option.
+
+I don't know if jesusalva allow me to teach you a basic shaman skill!? .
+I don't know if jesusalva allow me to teach you a basic shaman skill!? .
+
+I don't know if our clan will survive for much longer. Do you have any questions before we all die and our knowledge gets forgotten?
+I don't know if our clan will survive for much longer. Do you have any questions before we all die and our knowledge gets forgotten?
+
+I don't know what you did, but both the Ducks and Blubs did got scared. I thank you in the name of the city guard. Please come back later.
+I don't know what you did, but both the Ducks and Blubs did got scared. I thank you in the name of the city guard. Please come back later.
+
+I don't know what, but it is
+I don't know what, but it is
+
+I don't know who sent you to me, but this is a flat and big NO!
+I don't know who sent you to me, but this is a flat and big NO!
+
+I don't know why they would repeat a past mistake. The Monster King is not human anymore. I also do not know what artifact they lost. We have more questions than certainty about this.
+I don't know why they would repeat a past mistake. The Monster King is not human anymore. I also do not know what artifact they lost. We have more questions than certainty about this.
+
+I don't know, I assume the staff was burried with him on the deepest parts of the cave. If it was easy, someone would already have stolen it.
+I don't know, I assume the staff was burried with him on the deepest parts of the cave. If it was easy, someone would already have stolen it.
+
+I don't know.
+I don't know.
+
+I don't know. Try getting a Rusty Knife or something. Maybe the chef of Nard's ship can spare you one.
+I don't know. Try getting a Rusty Knife or something. Maybe the chef of Nard's ship can spare you one.
+
+I don't know?
+I don't know?
+
+I don't like them, I can't fly straight.
+I don't like them, I can't fly straight.
+
+I don't need anything after all, goodbye!
+I don't need anything after all, goodbye!
+
+I don't need help!
+I don't need help!
+
+I don't need to be rescued. I'm enjoying myself here.
+I don't need to be rescued. I'm enjoying myself here.
+
+I don't really understand how the dungeon works. I promise you a reward when you finish the task.
+I don't really understand how the dungeon works. I promise you a reward when you finish the task.
+
+I don't really understand it either, but it's not for sale. Maybe you could come back later so I can read more of it to you.
+I don't really understand it either, but it's not for sale. Maybe you could come back later so I can read more of it to you.
+
+I don't remember what I need now, but if you give me a moment, I'll get the list.
+I don't remember what I need now, but if you give me a moment, I'll get the list.
+
+I don't remember. I guess somebody threw me here!
+I don't remember. I guess somebody threw me here!
+
+I don't suppose you have some herbs and a few bottles of potion with you, do you?
+I don't suppose you have some herbs and a few bottles of potion with you, do you?
+
+I don't think I needed to keep looking these barrels.
+I don't think I needed to keep looking these barrels.
+
+I don't think I needed to keep looking these potions.
+I don't think I needed to keep looking these potions.
+
+I don't think I needed to keep looking these wardrobes.
+I don't think I needed to keep looking these wardrobes.
+
+I don't think he could have collected that many!
+I don't think he could have collected that many!
+
+I don't think so. There have been... Incidents.
+I don't think so. There have been... Incidents.
+
+I don't think you have any broken item, but if a friend of mine break your stuff, come talk to me!
+I don't think you have any broken item, but if a friend of mine break your stuff, come talk to me!
+
+I don't trust @@s.
+I don't trust @@s.
+
+I don't understand what went wrong with that spell, but it just has to have another cause than Peetu. I'm worried about him. He must feel very miserable. But I can't leave my duty here.
+I don't understand what went wrong with that spell, but it just has to have another cause than Peetu. I'm worried about him. He must feel very miserable. But I can't leave my duty here.
+
+I don't want anything right now, bye.
+I don't want anything right now, bye.
+
+I don't want her to think that I am a bad mother.
+I don't want her to think that I am a bad mother.
+
+I don't want to help your "friends", bring me to somewhere useful!
+I don't want to help your "friends", bring me to somewhere useful!
+
+I don't work with bound items.
+I don't work with bound items.
+
+I dunno. I don't think they're sold anywhere.
+I dunno. I don't think they're sold anywhere.
+
+I failed to protect them.
+I failed to protect them.
+
+I feel indifferent.
+I feel indifferent.
+
+I feel like a burden was lifted from my shoulders.
+I feel like a burden was lifted from my shoulders.
+
+I feel much safer now that you defeated the slimes. Thanks so much! Do you need anything else?
+I feel much safer now that you defeated the slimes. Thanks so much! Do you need anything else?
+
+I feel ok.#0
+I feel ok.
+
+I feel ok.#1
+I feel ok.
+
+I fight every day in hopes to be like Andrei, the famous hero who prevented Hurnscald from total destruction against a horde of monsters alone.
+I fight every day in hopes to be like Andrei, the famous hero who prevented Hurnscald from total destruction against a horde of monsters alone.
+
+I fight every day in hopes to meet Andrei, the famous hero who prevented Hurnscald from total destruction against a horde of monsters alone.
+I fight every day in hopes to meet Andrei, the famous hero who prevented Hurnscald from total destruction against a horde of monsters alone.
+
+I finally figured out what was wrong. I must thank everyone who help us.
+I finally figured out what was wrong. I must thank everyone who help us.
+
+I forgot to say earlier, but indeed, I was invited by someone!
+I forgot to say earlier, but indeed, I was invited by someone!
+
+I forgot what you need!
+I forgot what you need!
+
+I forgot what you need.
+I forgot what you need.
+
+I found %s and %s!
+I found %s and %s!
+
+I found %s!
+I found %s!
+
+I found switches which only a Yeti may flip...
+I found switches which only a Yeti may flip...
+
+I found your birth record, but it is not complete. Here says you were born on @@.
+I found your birth record, but it is not complete. Here says you were born on @@.
+
+I give up. You're hopeless.
+I give up. You're hopeless.
+
+I give you five minutes to defeat me. Witness my wrath!
+I give you five minutes to defeat me. Witness my wrath!
+
+I go right.
+I go right.
+
+I got a Wizard Hat.
+I got a Wizard Hat.
+
+I got a Wooden Staff.
+I got a Wooden Staff.
+
+I got the apple.
+I got the apple.
+
+I got the eggs.
+I got the eggs.
+
+I got the maggots slimes.
+I got the maggots slimes.
+
+I got the silk and chocolate.
+I got the silk and chocolate.
+
+I guess I love the server, we all know ♪
+I guess I love the server, we all know ♪
+
+I guess I'll need to try to work with whatever ink is left until the supplies arrive next month...
+I guess I'll need to try to work with whatever ink is left until the supplies arrive next month...
+
+I guess it can also be used at quests... Or sell to Juliet, on Nard's ship.
+I guess it can also be used at quests... Or sell to Juliet, on Nard's ship.
+
+I guess it still remembers the sting on the snout. Ouch!
+I guess it still remembers the sting on the snout. Ouch!
+
+I guess she sent you to kill another Bandit Lord, right? Ok, I'll give you the key for his room.
+I guess she sent you to kill another Bandit Lord, right? Ok, I'll give you the key for his room.
+
+I guess that you could use these lifestones to gain a regeneration effect, too, but I do not know how.
+I guess that you could use these lifestones to gain a regeneration effect, too, but I do not know how.
+
+I guess you cannot bring more than 1kg with full health. Less, if you're hurt.
+I guess you cannot bring more than 1kg with full health. Less, if you're hurt.
+
+I guess you'll need an Yeti for that, but those on the cave are murderous.
+I guess you'll need an Yeti for that, but those on the cave are murderous.
+
+I guess, there might be a single spot where water is a bit deeper, but I wasn't lucky.
+I guess, there might be a single spot where water is a bit deeper, but I wasn't lucky.
+
+I hate asking this of a lesser being like you, but if you plan in staying in our town, you should at very least make yourself useful.
+I hate asking this of a lesser being like you, but if you plan in staying in our town, you should at very least make yourself useful.
+
+I hate foreigners. They know nothing about us and want to impose their "ideals" about democracy and whatever.
+I hate foreigners. They know nothing about us and want to impose their "ideals" about democracy and whatever.
+
+I hate so much the Pinkies on my fields, I want to do a soup! Can you provide me 10 @@? Many thanks.
+I hate so much the Pinkies on my fields, I want to do a soup! Can you provide me 10 @@? Many thanks.
+
+I hate the Red Queen.
+I hate the Red Queen.
+
+I hate the sea, the salty air always lets my knives rust. I already have a stockpile of rusty knives, don't even know what to do with them.
+I hate the sea, the salty air always lets my knives rust. I already have a stockpile of rusty knives, don't even know what to do with them.
+
+I hate to leave you now, @@, but I have more important things to do.
+I hate to leave you now, @@, but I have more important things to do.
+
+I hate you Pinkies, and I hate the Monster King too, for bringing forth these plagues!!
+I hate you Pinkies, and I hate the Monster King too, for bringing forth these plagues!!
+
+I have 5 Bandit Hoods with me.
+I have 5 Bandit Hoods with me.
+
+I have 5 Treasure keys with me.
+I have 5 Treasure keys with me.
+
+I have a Stinger with me. Try it!
+I have a Stinger with me. Try it!
+
+I have a butterfly.
+I have a butterfly.
+
+I have a few items for sale...
+I have a few items for sale...
+
+I have a lava mana pearl.
+I have a lava mana pearl.
+
+I have a letter for the Mayor.
+I have a letter for the Mayor.
+
+I have a letter from Rakinorf.
+I have a letter from Rakinorf.
+
+I have a lot of work to do now.
+I have a lot of work to do now.
+
+I have a lot of work to do now. But before you leave...
+I have a lot of work to do now. But before you leave...
+
+I have a present box to you open.
+I have a present box to you open.
+
+I have a print screen!
+I have a print screen!
+
+I have a spare pair of gloves laying somewhere, you can have those if you finish the task.
+I have a spare pair of gloves laying somewhere, you can have those if you finish the task.
+
+I have a supplier, gimme TEN batches!
+I have a supplier, gimme TEN batches!
+
+I have all.
+I have all.
+
+I have already completed this arena.
+I have already completed this arena.
+
+I have bounties for specific high level monsters as well for extermination. Do note mobs killed in Heroes Hold may not count.
+I have bounties for specific high level monsters as well for extermination. Do note mobs killed in Heroes Hold may not count.
+
+I have brought you the beer.
+I have brought you the beer.
+
+I have developed a special formula, which resets your stats!
+I have developed a special formula, which resets your stats!
+
+I have everything here with me.
+I have everything here with me.
+
+I have everything you asked me.
+I have everything you asked me.
+
+I have everything you've asked for.
+I have everything you've asked for.
+
+I have everything!
+I have everything!
+
+I have everything, can you tailor it?
+I have everything, can you tailor it?
+
+I have everything.
+I have everything.
+
+I have extremely difficult quests for you; They are more painful than a Grand Hunter Quest, because I don't admit wimps fighting with me.
+I have extremely difficult quests for you; They are more painful than a Grand Hunter Quest, because I don't admit wimps fighting with me.
+
+I have homework to do...
+I have homework to do...
+
+I have it right here. You can take it!
+I have it right here. You can take it!
+
+I have my favorite book of all times, Moby Dick. Let me read some of it to you....
+I have my favorite book of all times, Moby Dick. Let me read some of it to you....
+
+I have no idea about who would make a pendant, but lifestone can be done just outside the town walls.
+I have no idea about who would make a pendant, but lifestone can be done just outside the town walls.
+
+I have no idea what's above. Behind the stair, is the painting of a table.
+I have no idea what's above. Behind the stair, is the painting of a table.
+
+I have no interest in things such as that.
+I have no interest in things such as that.
+
+I have no interest on this item.
+I have no interest on this item.
+
+I have one here...
+I have one here...
+
+I have other things to do at the moment.
+I have other things to do at the moment.
+
+I have some good and some bad news for you.
+I have some good and some bad news for you.
+
+I have some healing items with me, we should tend your wounds first.
+I have some healing items with me, we should tend your wounds first.
+
+I have some sweeties for the Tea Party!
+I have some sweeties for the Tea Party!
+
+I have the ingredients here.
+I have the ingredients here.
+
+I have the items, please bake for me
+I have the items, please bake for me
+
+I have the sturdy wood and the string.
+I have the sturdy wood and the string.
+
+I have them here already.
+I have them here already.
+
+I have to get going now. Thanks for the help!
+I have to get going now. Thanks for the help!
+
+I have to go, sorry.
+I have to go, sorry.
+
+I have to go. See you later.
+I have to go. See you later.
+
+I have to think.
+I have to think.
+
+I have what you want.
+I have what you want.
+
+I haven't thanked you yet.
+I haven't thanked you yet.
+
+I hear a Fafi Dragon on THIS very island!!
+I hear a Fafi Dragon on THIS very island!!
+
+I heard a rumor the other day. About the tree I had found!
+I heard a rumor the other day. About the tree I had found!
+
+I heard every Sunday there's a party at Halinarzo Church, but to get there you need to pass through the Desert Canyon.
+I heard every Sunday there's a party at Halinarzo Church, but to get there you need to pass through the Desert Canyon.
+
+I heard they promised to revive the Red Queen, no idea how and don't care, they don't have money anyway.
+I heard they promised to revive the Red Queen, no idea how and don't care, they don't have money anyway.
+
+I heard you fought the slimes that were still roaming between the bookshelves. Thank you!
+I heard you fought the slimes that were still roaming between the bookshelves. Thank you!
+
+I heard you have been assisting the household staff. For that, I am thankful.
+I heard you have been assisting the household staff. For that, I am thankful.
+
+I heard you have met my good friend George, and you gave him some items that he needed...
+I heard you have met my good friend George, and you gave him some items that he needed...
+
+I heard your investigations reminded other people that they observed suspicious behaviour too.
+I heard your investigations reminded other people that they observed suspicious behaviour too.
+
+I honestely wouldn't hire a Mercenary.
+I honestely wouldn't hire a Mercenary.
+
+I hope my answer help you in your adventure!
+I hope my answer help you in your adventure!
+
+I hope my men are safe, that was yesterday. I am barely alive.
+I hope my men are safe, that was yesterday. I am barely alive.
+
+I hope one day, they decide build a church here. It's a pain to travel there every time...
+I hope one day, they decide build a church here. It's a pain to travel there every time...
+
+I hope that strange towel man doesn't bother me again...
+I hope that strange towel man doesn't bother me again...
+
+I hope this is your size.
+I hope this is your size.
+
+I hope to one day be like @@, who @@
+I hope to one day be like @@, who @@
+
+I hope you got a Jean Shorts, but that depends on luck. Anyway, here is your reward.
+I hope you got a Jean Shorts, but that depends on luck. Anyway, here is your reward.
+
+I hope you like this color.
+I hope you like this color.
+
+I intend to continue with my family's tradition, by teaching the Way of Archery.
+I intend to continue with my family's tradition, by teaching the Way of Archery.
+
+I investigate missing pets. Many flee from their owners because they die pathetically or forgot to feed them.
+I investigate missing pets. Many flee from their owners because they die pathetically or forgot to feed them.
+
+I just gave you it. Come back later.
+I just gave you it. Come back later.
+
+I just go out removing swords from rocks, and then throwing them again at the lake. All that while I drink coffee.
+I just go out removing swords from rocks, and then throwing them again at the lake. All that while I drink coffee.
+
+I just want to live my life in peace.
+I just want to live my life in peace.
+
+I just want to trade.
+I just want to trade.
+
+I keep failing to summon maggots...
+I keep failing to summon maggots...
+
+I knew someone would agree with me!
+I knew someone would agree with me!
+
+I know a few bandits stole a few, and Lava Slimes love to eat Casino Coins.
+I know a few bandits stole a few, and Lava Slimes love to eat Casino Coins.
+
+I know another Bandit Lord will take up his place, but the loss of their leader will make bandits scatter long enough.
+I know another Bandit Lord will take up his place, but the loss of their leader will make bandits scatter long enough.
+
+I know how hard it is! I hate them with all my heart, only seeing you killing them left and right was GREAT!
+I know how hard it is! I hate them with all my heart, only seeing you killing them left and right was GREAT!
+
+I know how many bat teeth and wings Arkim collected.
+I know how many bat teeth and wings Arkim collected.
+
+I know it may sound silly, but I need your help to find out who I am.
+I know it may sound silly, but I need your help to find out who I am.
+
+I know where the Bandit Lord room is, and I have a guard stationed not far from there. Ask him for the key.
+I know where the Bandit Lord room is, and I have a guard stationed not far from there. Ask him for the key.
+
+I know you have %d %s with you, just haven't said before to be polite.
+I know you have %d %s with you, just haven't said before to be polite.
+
+I leave this basement that start to be too dangerous!
+I leave this basement that start to be too dangerous!
+
+I like Mana Magic the best, as we can both summon creatures as transmutate stuff. %%N
+I like Mana Magic the best, as we can both summon creatures as transmutate stuff. %%N
+
+I like people like you, straight to the subject.
+I like people like you, straight to the subject.
+
+I like to eat snake eggs. Lemme do you a proposal: You bring me %d %s, and I'll give you a flask of %s.
+I like to eat snake eggs. Lemme do you a proposal: You bring me %d %s, and I'll give you a flask of %s.
+
+I like to sing.
+I like to sing.
+
+I like to talk! If yeye likes too, you can press @@ to open chat box!
+I like to talk! If yeye likes too, you can press @@ to open chat box!
+
+I lost the precious ring they gave me as a gift... Who could have taken it...?
+I lost the precious ring they gave me as a gift... Who could have taken it...?
+
+I love living here, but I wish people weren't locked inside the rooms all time.
+I love living here, but I wish people weren't locked inside the rooms all time.
+
+I love seeing their terrorize face.
+I love seeing their terrorize face.
+
+I love you, Silvia! - Swezanne
+I love you, Silvia! - Swezanne
+
+I made a mistake, I would like to change my language.#0
+I made a mistake, I would like to change my language.
+
+I made a mistake, I would like to change my language.#1
+I made a mistake, I would like to change my language.
+
+I make both @@ and @@, if you give me the shrooms associated to them, and money.
+I make both @@ and @@, if you give me the shrooms associated to them, and money.
+
+I may have a task for you. Return when you tired of exploring...
+I may have a task for you. Return when you tired of exploring...
+
+I mean, a ship should come to pick you up, but the arch-wizards said they were too lazy to take care of those small details. So you'll be warped.
+I mean, a ship should come to pick you up, but the arch-wizards said they were too lazy to take care of those small details. So you'll be warped.
+
+I mean, that's absurd! If there was one, it would have been taken already. Unless if grew some sentience or something.
+I mean, that's absurd! If there was one, it would have been taken already. Unless if grew some sentience or something.
+
+I mean, there's even an Monster King? What sort of world is this?!
+I mean, there's even an Monster King? What sort of world is this?!
+
+I met Elli.
+I met Elli.
+
+I might be able to get you a rare copy of the Maritime Almanac Scroll. A yearly publication for seafaring men.
+I might be able to get you a rare copy of the Maritime Almanac Scroll. A yearly publication for seafaring men.
+
+I might want to ask an Yeti specialist about this. Maybe Celestia?
+I might want to ask an Yeti specialist about this. Maybe Celestia?
+
+I mine here since a while. My favorite activity is to scare other miners!
+I mine here since a while. My favorite activity is to scare other miners!
+
+I miss Ms. De'Kagen, she was very benevolent but from another world. Why does this one only have annoying pricks for Originals. Wait, I'm getting sidetracked.
+I miss Ms. De'Kagen, she was very benevolent but from another world. Why does this one only have annoying pricks for Originals. Wait, I'm getting sidetracked.
+
+I miss the Red Queen, times were easier when she was around.
+I miss the Red Queen, times were easier when she was around.
+
+I moved to Hurnscald, stayed there for over a decade, until Lord Transmogrifier Pontorias the Plaid (May His Shape Reflect His Soul Forever) died.
+I moved to Hurnscald, stayed there for over a decade, until Lord Transmogrifier Pontorias the Plaid (May His Shape Reflect His Soul Forever) died.
+
+I must have full MP to touch it... Which I don't.
+I must have full MP to touch it... Which I don't.
+
+I must keep notes of this.
+I must keep notes of this.
+
+I must report this to Jesusalva. The inventory system can't handle that much. Want more? Try 1,638,400.
+I must report this to Jesusalva. The inventory system can't handle that much. Want more? Try 1,638,400.
+
+I must, however, remember that the most powerful magical equipment ##B may require intelligence ##b to use.
+I must, however, remember that the most powerful magical equipment ##B may require intelligence ##b to use.
+
+I must, however, thank you. I could not just come straight up and tell that to everyone, nor simply lock the house without no reason. I'm always fair.
+I must, however, thank you. I could not just come straight up and tell that to everyone, nor simply lock the house without no reason. I'm always fair.
+
+I need 2 @@, the @@, and 4000 GP.
+I need 2 @@, the @@, and 4000 GP.
+
+I need @@ @@, if you could arrange me that I would be grateful.
+I need @@ @@, if you could arrange me that I would be grateful.
+
+I need @@ @@.
+I need @@ @@.
+
+I need @@ Herbs!
+I need @@ Herbs!
+
+I need @@ to work...
+I need @@ to work...
+
+I need @@/@@ @@ for the book covers and binding of some of the more valuable books we're trying to recreate.
+I need @@/@@ @@ for the book covers and binding of some of the more valuable books we're trying to recreate.
+
+I need FIVE batches!
+I need FIVE batches!
+
+I need a GM set, please!
+I need a GM set, please!
+
+I need a favor from you. Go talk to Peetu. Ask him to confirm if there was silk cocoon in the ingredients. Janika reported me that we've ran out of it two days ago.
+I need a favor from you. Go talk to Peetu. Ask him to confirm if there was silk cocoon in the ingredients. Janika reported me that we've ran out of it two days ago.
+
+I need a favor! For certain... reasons... I ran out of poison! And For certain... reasons... I am in dire need of them!
+I need a favor! For certain... reasons... I ran out of poison! And For certain... reasons... I am in dire need of them!
+
+I need a string, but not just any string, a really good string.
+I need a string, but not just any string, a really good string.
+
+I need a sturdy wood piece for a Forest Bow.
+I need a sturdy wood piece for a Forest Bow.
+
+I need a suitable base helmet, some herbs to use my magical dye, and gold:
+I need a suitable base helmet, some herbs to use my magical dye, and gold:
+
+I need a tutorial, where can I find help?
+I need a tutorial, where can I find help?
+
+I need at minimum %d Monster Points to get items at current level.
+I need at minimum %d Monster Points to get items at current level.
+
+I need for the Magic Academy a @@, fast!
+I need for the Magic Academy a @@, fast!
+
+I need groceries. %d %s, %d %s, %d %s, %d %s and %d %s. Give it to my wife, Silvia.
+I need groceries. %d %s, %d %s, %d %s, %d %s and %d %s. Give it to my wife, Silvia.
+
+I need help because, you see, I don't carry a cauldron around.
+I need help because, you see, I don't carry a cauldron around.
+
+I need help, but you aren't strong enough. Please come back later.
+I need help, but you aren't strong enough. Please come back later.
+
+I need help.
+I need help.
+
+I need infirmary services.
+I need infirmary services.
+
+I need millions of GP to fund my time-space shattering, and thus far, I've only collected @@ GP.
+I need millions of GP to fund my time-space shattering, and thus far, I've only collected @@ GP.
+
+I need more feathers for a fair deal.
+I need more feathers for a fair deal.
+
+I need more return potions.
+I need more return potions.
+
+I need offensive magic!
+I need offensive magic!
+
+I need some help with something, but I don't think you're strong enough. Come back later please when you're stronger.
+I need some help with something, but I don't think you're strong enough. Come back later please when you're stronger.
+
+I need some materials to repair my spacesh- ahm, it's not important why I need it.
+I need some materials to repair my spacesh- ahm, it's not important why I need it.
+
+I need somebody who can rid the hold of the ship of these creatures. Can you help me?
+I need somebody who can rid the hold of the ship of these creatures. Can you help me?
+
+I need someone to help me clean the edge of the ship, but you aren't strong enough for now.#0
+I need someone to help me clean the edge of the ship, but you aren't strong enough for now.
+
+I need someone to help me clean the edge of the ship, but you aren't strong enough for now.#1
+I need someone to help me clean the edge of the ship, but you aren't strong enough for now.
+
+I need support magic!
+I need support magic!
+
+I need supreme ranger skills!
+I need supreme ranger skills!
+
+I need supreme warrior skills!
+I need supreme warrior skills!
+
+I need to buy your silence. I'll reward you greatly when I'm done. But first, I need to know if you'll be loyal to me.
+I need to buy your silence. I'll reward you greatly when I'm done. But first, I need to know if you'll be loyal to me.
+
+I need to enter.
+I need to enter.
+
+I need to finish studying for my test...
+I need to finish studying for my test...
+
+I need to go on with sorting the bookpages now.
+I need to go on with sorting the bookpages now.
+
+I need to go.
+I need to go.
+
+I need to know if someone is blaming him. It is important.
+I need to know if someone is blaming him. It is important.
+
+I need to leave.
+I need to leave.
+
+I need to pour the @@ to summon the Yeti King.
+I need to pour the @@ to summon the Yeti King.
+
+I need to survive anything!
+I need to survive anything!
+
+I need to talk with you!
+I need to talk with you!
+
+I need to think about it...#0
+I need to think about it...
+
+I need to think about it...#1
+I need to think about it...
+
+I need you to bring me some basic items to face Winter! Fire is the most important for us.
+I need you to bring me some basic items to face Winter! Fire is the most important for us.
+
+I need you to find her to and bring her back there, along whatever she stole. Then I'll honor your request.
+I need you to find her to and bring her back there, along whatever she stole. Then I'll honor your request.
+
+I need you to take care of my 'Piou Problem.'
+I need you to take care of my 'Piou Problem.'
+
+I need your help dude!
+I need your help dude!
+
+I never knew you could fail THAT hard. I've took Saulc's Fertilizer's recipe, success chance is of 100% if you want to try again.
+I never knew you could fail THAT hard. I've took Saulc's Fertilizer's recipe, success chance is of 100% if you want to try again.
+
+I never tried it, because it makes no sense to do that, but theoretically adding some Silk Cocoons could have such an effect. Uh... but that should not happen.
+I never tried it, because it makes no sense to do that, but theoretically adding some Silk Cocoons could have such an effect. Uh... but that should not happen.
+
+I offer an awesome skill for you, for a very slow price, and you try to cheat me... pitiful...
+I offer an awesome skill for you, for a very slow price, and you try to cheat me... pitiful...
+
+I offer you %d GP for one. What do you say?
+I offer you %d GP for one. What do you say?
+
+I offer you %s Aethyr Points per unit of %s. How many do you wish to sell? (0-%d)
+I offer you %s Aethyr Points per unit of %s. How many do you wish to sell? (0-%d)
+
+I offer you either %s GP, or %s Monster Points for it. What do you say?
+I offer you either %s GP, or %s Monster Points for it. What do you say?
+
+I once killed a Giant Maggot alone!
+I once killed a Giant Maggot alone!
+
+I only need @@ @@. Please! You have to help me!
+I only need @@ @@. Please! You have to help me!
+
+I only need @@/@@ @@ to make enough magic paper for the books... Do you, perchance, have them with you?
+I only need @@/@@ @@ to make enough magic paper for the books... Do you, perchance, have them with you?
+
+I only take a tax of 100 gp per gem.
+I only take a tax of 100 gp per gem.
+
+I plan in doing an event! Give me the coins!
+I plan in doing an event! Give me the coins!
+
+I predict you're closer to find the Secret Of Mana, and therefore, be part on saving our world.
+I predict you're closer to find the Secret Of Mana, and therefore, be part on saving our world.
+
+I probably can give you my Sharp Knife, though! If you want to help me, that is.
+I probably can give you my Sharp Knife, though! If you want to help me, that is.
+
+I probably should let %s chant it.
+I probably should let %s chant it.
+
+I probably should look in a way of calming him down.
+I probably should look in a way of calming him down.
+
+I probably should talk to everyone else, and assess better the situation, before bothering Oskari.
+I probably should talk to everyone else, and assess better the situation, before bothering Oskari.
+
+I promise I'll never steal from you again. Here, take these shorts.
+I promise I'll never steal from you again. Here, take these shorts.
+
+I protect a dungeon for PARTIES. You're not on a party, get moving.
+I protect a dungeon for PARTIES. You're not on a party, get moving.
+
+I protect a very dangerous dungeon, and it is so dangerous, that only parties can go in.
+I protect a very dangerous dungeon, and it is so dangerous, that only parties can go in.
+
+I put options on items upon request, but I am very expensive! This is deducted from your tweaking quota.
+I put options on items upon request, but I am very expensive! This is deducted from your tweaking quota.
+
+I raise them, water them, and then sell them.
+I raise them, water them, and then sell them.
+
+I really hope that nothing major happens, though. I would hate to see blood being spilled.
+I really hope that nothing major happens, though. I would hate to see blood being spilled.
+
+I really wonder how that accident could've happened. I'd have never expected him to mess something up like that.
+I really wonder how that accident could've happened. I'd have never expected him to mess something up like that.
+
+I really wonder what went wrong. I can't imagine Peetu messing up something so important.
+I really wonder what went wrong. I can't imagine Peetu messing up something so important.
+
+I recommend that you train your agility a great deal, since most monsters out there aren't really amazing at hitting you.
+I recommend that you train your agility a great deal, since most monsters out there aren't really amazing at hitting you.
+
+I regret it.
+I regret it.
+
+I regret to inform Barbara was killed in battle before I could find her. I burried her in the mines.
+I regret to inform Barbara was killed in battle before I could find her. I burried her in the mines.
+
+I represent the @@ Hunters. We hunt @@ (Lv @@).
+I represent the @@ Hunters. We hunt @@ (Lv @@).
+
+I said go away!
+I said go away!
+
+I said it cannot be yourself... </3
+I said it cannot be yourself... </3
+
+I saw Purple the other day... Ah, now I want to eat @@... A dozen should do...
+I saw Purple the other day... Ah, now I want to eat @@... A dozen should do...
+
+I saw some flower adorns, too. I hope it is not some traveler's grave. This war, it makes me so sad... I'm sure the tree was sad, too.
+I saw some flower adorns, too. I hope it is not some traveler's grave. This war, it makes me so sad... I'm sure the tree was sad, too.
+
+I see it's not so easy to get rid of the monsters. Do you want to try again?
+I see it's not so easy to get rid of the monsters. Do you want to try again?
+
+I see two snake skins, but you didn't killed them down there. That defeats the whole purpose.
+I see two snake skins, but you didn't killed them down there. That defeats the whole purpose.
+
+I see you are a Monster Hunting Quest Participant, right? I don't need your help right now, but maybe later, who knows?
+I see you are a Monster Hunting Quest Participant, right? I don't need your help right now, but maybe later, who knows?
+
+I see you are doing good. Keep slaying them, hahaah!
+I see you are doing good. Keep slaying them, hahaah!
+
+I see you brought @@/5 @@ for us!
+I see you brought @@/5 @@ for us!
+
+I see you don't know how to craft. Do you want me to teach the basic for you? I'll charge 1000 GP.
+I see you don't know how to craft. Do you want me to teach the basic for you? I'll charge 1000 GP.
+
+I see you finished the Master Dungeon and didn't found my men. I'll think on something.
+I see you finished the Master Dungeon and didn't found my men. I'll think on something.
+
+I see you have arms long enough to be an archer.
+I see you have arms long enough to be an archer.
+
+I see you have brought @@/3 @@ and @@/10 @@ for me.
+I see you have brought @@/3 @@ and @@/10 @@ for me.
+
+I see you have brought @@/3 @@ and @@/3 @@ for me
+I see you have brought @@/3 @@ and @@/3 @@ for me
+
+I see you have collected some experience. Let me try to rank you up!
+I see you have collected some experience. Let me try to rank you up!
+
+I see you have magical powers. Have you been acknowledge by the Alliance as a mage? If not, you should regularize yourself as a @@º degree mage in Tulimshar Magic Council.
+I see you have magical powers. Have you been acknowledge by the Alliance as a mage? If not, you should regularize yourself as a @@º degree mage in Tulimshar Magic Council.
+
+I see you're trying to use the %s set, nice!
+I see you're trying to use the %s set, nice!
+
+I see you've brought Barbara here, excellent. She seems pretty beat up.
+I see you've brought Barbara here, excellent. She seems pretty beat up.
+
+I see.
+I see.
+
+I see. Well, welcome to the game! If you have any doubt, shout on #world for help!
+I see. Well, welcome to the game! If you have any doubt, shout on #world for help!
+
+I shall call myself from there on, after this great assault... @@.
+I shall call myself from there on, after this great assault... @@.
+
+I shall decide here and now, if you are worth of living in this world!
+I shall decide here and now, if you are worth of living in this world!
+
+I shall leave this book with my son, SphinxNox. I will not fail, and live forever. This will be their inheritance from me.
+I shall leave this book with my son, SphinxNox. I will not fail, and live forever. This will be their inheritance from me.
+
+I shall not fail any further, I think my new formula is perfect! Here's the EXP, but I need material to use it!
+I shall not fail any further, I think my new formula is perfect! Here's the EXP, but I need material to use it!
+
+I shall report to Kenton. I now entrust this quest in your hands!
+I shall report to Kenton. I now entrust this quest in your hands!
+
+I should be prepared before walking on this.
+I should be prepared before walking on this.
+
+I should check if I have more than enough potions and food before proceeding!
+I should check if I have more than enough potions and food before proceeding!
+
+I should check the Apple Garden first.
+I should check the Apple Garden first.
+
+I should defeat all mobs before passing.
+I should defeat all mobs before passing.
+
+I should have full mana before attempting to disarm one.
+I should have full mana before attempting to disarm one.
+
+I should not go ahead... yet.
+I should not go ahead... yet.
+
+I should not veer off too much the path.
+I should not veer off too much the path.
+
+I should talk to Cauldron now... Scary.
+I should talk to Cauldron now... Scary.
+
+I should talk to King Arthur.
+I should talk to King Arthur.
+
+I should train my intelligence, and level up, both my base as my Job Level.
+I should train my intelligence, and level up, both my base as my Job Level.
+
+I should train my intelligence, have full MP, and don't neglect even Job Level.
+I should train my intelligence, have full MP, and don't neglect even Job Level.
+
+I sponsor the alliance and all I got was a NPC and access to this ugly room.
+I sponsor the alliance and all I got was a NPC and access to this ugly room.
+
+I stay.
+I stay.
+
+I still don't have everything, but don't worry, I'll be back.
+I still don't have everything, but don't worry, I'll be back.
+
+I still have Anwar's fertilizer with me.
+I still have Anwar's fertilizer with me.
+
+I stole nothing from you. Do you have any proof?
+I stole nothing from you. Do you have any proof?
+
+I suggest some training.
+I suggest some training.
+
+I suggest we ignore the hint and ask %s about it instead.
+I suggest we ignore the hint and ask %s about it instead.
+
+I suggest you leave now, %s. If you are even suspected of being a S.A.R.A.H. agent...
+I suggest you leave now, %s. If you are even suspected of being a S.A.R.A.H. agent...
+
+I suppose I can make you a %s. It sometimes casts magic skills upon your foes. Well, seldomly, but it also deals more damage than normal wands.
+I suppose I can make you a %s. It sometimes casts magic skills upon your foes. Well, seldomly, but it also deals more damage than normal wands.
+
+I suppose, what would you like?
+I suppose, what would you like?
+
+I swear silence, over this bloody ruby.
+I swear silence, over this bloody ruby.
+
+I swear silence, over this shining topaz.
+I swear silence, over this shining topaz.
+
+I swear that I, %s, will never let myself be let astray by power.
+I swear that I, %s, will never let myself be let astray by power.
+
+I think I have enough gold with me.#0
+I think I have enough gold with me.
+
+I think I have enough gold with me.#1
+I think I have enough gold with me.
+
+I think I'm done with that now. You should now look for captain Nard downstairs. He'll be waiting for you.
+I think I'm done with that now. You should now look for captain Nard downstairs. He'll be waiting for you.
+
+I think I'm ready.
+I think I'm ready.
+
+I think Intense Beard, on Tulimshar's Forge, was taking new apprentices. Try talking to him!
+I think Intense Beard, on Tulimshar's Forge, was taking new apprentices. Try talking to him!
+
+I think Lieutenant Paul had a bounty for extra experience.
+I think Lieutenant Paul had a bounty for extra experience.
+
+I think it was the Orcs and Raijins town. It was laid to waste by Yetis.
+I think it was the Orcs and Raijins town. It was laid to waste by Yetis.
+
+I think someone on Tulimshar is capable to teach you these bonuses. Eh, I don't know. Haven't been there for a while.
+I think someone on Tulimshar is capable to teach you these bonuses. Eh, I don't know. Haven't been there for a while.
+
+I think that %d %s and %d %s should be enough for now.
+I think that %d %s and %d %s should be enough for now.
+
+I think the Doctor, on Dimond's Cove could help me, but that means passing by Kenton...
+I think the Doctor, on Dimond's Cove could help me, but that means passing by Kenton...
+
+I think the switches may open it, but I couldn't flip them.
+I think the switches may open it, but I couldn't flip them.
+
+I think this blue circle right here can be helpful to break the enchantment that blocks the door of the Inn.
+I think this blue circle right here can be helpful to break the enchantment that blocks the door of the Inn.
+
+I think you should get initiated on any side before speaking to me again.
+I think you should get initiated on any side before speaking to me again.
+
+I think, for just 25 @@, I could arrange a @@ for you.
+I think, for just 25 @@, I could arrange a @@ for you.
+
+I think, for just 25 @@, I could arrange one for you. Eh... Just don't think that you have an amazing weapon, alright?
+I think, for just 25 @@, I could arrange one for you. Eh... Just don't think that you have an amazing weapon, alright?
+
+I thought I was going to send you in a nest of Yetis, but instead, I've sent you straight to the birthplace of Bandits and Assassins.
+I thought I was going to send you in a nest of Yetis, but instead, I've sent you straight to the birthplace of Bandits and Assassins.
+
+I thought I would be safe in the shrine, but seems like they are after the Moubootaur. Great danger will befall all forest creatures if they accomplish that.
+I thought I would be safe in the shrine, but seems like they are after the Moubootaur. Great danger will befall all forest creatures if they accomplish that.
+
+I thought he would. After all, Everburn Powder... is not a mere powder.
+I thought he would. After all, Everburn Powder... is not a mere powder.
+
+I thought it was meant to be lava, this being in the Land Of Fire and all, but seems like someone must bug Saulc to fix it.
+I thought it was meant to be lava, this being in the Land Of Fire and all, but seems like someone must bug Saulc to fix it.
+
+I thought they ate little girls.
+I thought they ate little girls.
+
+I tried to keep an eye on him after that, but when I got distracted by some newly arriving visitor he went over to the workshop again! Usually I enjoy my job, because I like talking to people, but this guy... was a pain, really.
+I tried to keep an eye on him after that, but when I got distracted by some newly arriving visitor he went over to the workshop again! Usually I enjoy my job, because I like talking to people, but this guy... was a pain, really.
+
+I tried. He asked for too much money.
+I tried. He asked for too much money.
+
+I try to improve my skills every day. One day, I will sing a song no one will ever forget.
+I try to improve my skills every day. One day, I will sing a song no one will ever forget.
+
+I understand. Rakinorf told me to stuff you with them if needed.
+I understand. Rakinorf told me to stuff you with them if needed.
+
+I used to make dyes for Agostine but he hasn't bought any in a while. I could make you a %s if you bring me the right items.
+I used to make dyes for Agostine but he hasn't bought any in a while. I could make you a %s if you bring me the right items.
+
+I usually ask adventurers for 11 @@, but new miners should be arriving soon. I need to make them cry!
+I usually ask adventurers for 11 @@, but new miners should be arriving soon. I need to make them cry!
+
+I usually ask for 7, but to prove you are going to help us in this purge, I will ask you for 14 @@! I will reward you for your bravure.
+I usually ask for 7, but to prove you are going to help us in this purge, I will ask you for 14 @@! I will reward you for your bravure.
+
+I usually don't let anyone in, but I had to make an exception for the likes of you.
+I usually don't let anyone in, but I had to make an exception for the likes of you.
+
+I visited it with my mother, the other day, and I found a tree in a cave!
+I visited it with my mother, the other day, and I found a tree in a cave!
+
+I wanna return home...
+I wanna return home...
+
+I want %d %s!
+I want %d %s!
+
+I want %d %s! Don't worry, I can pay.
+I want %d %s! Don't worry, I can pay.
+
+I want @@! I want @@!!
+I want @@! I want @@!!
+
+I want Arcanum
+I want Arcanum
+
+I want Graphene
+I want Graphene
+
+I want Leather Patch
+I want Leather Patch
+
+I want Snake Skin
+I want Snake Skin
+
+I want THREE batches!
+I want THREE batches!
+
+I want a %s so badly... Pyndragon, in the forge, the master blacksmith which makes powerful weapons for high levels, can give you one.
+I want a %s so badly... Pyndragon, in the forge, the master blacksmith which makes powerful weapons for high levels, can give you one.
+
+I want a BOSS task!
+I want a BOSS task!
+
+I want a EXPERT (Lv 70~100) task!
+I want a EXPERT (Lv 70~100) task!
+
+I want a KUNAI.
+I want a KUNAI.
+
+I want a MASTER (Lv 100+) task!
+I want a MASTER (Lv 100+) task!
+
+I want a MODERATE (Lv 50~70) task!
+I want a MODERATE (Lv 50~70) task!
+
+I want a MODERATE task!
+I want a MODERATE task!
+
+I want a PORTABLE LIGHTSABER.
+I want a PORTABLE LIGHTSABER.
+
+I want a POWERFUL GUNSTAFF.
+I want a POWERFUL GUNSTAFF.
+
+I want a POWERFUL LIGHTSABER.
+I want a POWERFUL LIGHTSABER.
+
+I want a RAPID GUNSTAFF.
+I want a RAPID GUNSTAFF.
+
+I want a SHORT GUNSTAFF.
+I want a SHORT GUNSTAFF.
+
+I want a Sponsor Necklace.
+I want a Sponsor Necklace.
+
+I want a WHIP.
+I want a WHIP.
+
+I want a gemstone or ore
+I want a gemstone or ore
+
+I want a gift box and here is the gift.
+I want a gift box and here is the gift.
+
+I want a gift box but I don't have a gift.
+I want a gift box but I don't have a gift.
+
+I want a gun!
+I want a gun!
+
+I want a knife and a bottle of water!
+I want a knife and a bottle of water!
+
+I want an Agi Potion.
+I want an Agi Potion.
+
+I want an Agi+ Potion.
+I want an Agi+ Potion.
+
+I want an Agi++ Potion.
+I want an Agi++ Potion.
+
+I want an EASY task!
+I want an EASY task!
+
+I want an EXPERT task!
+I want an EXPERT task!
+
+I want an EXPLOSIVE GUNSTAFF.
+I want an EXPLOSIVE GUNSTAFF.
+
+I want an Eggshell Hat!
+I want an Eggshell Hat!
+
+I want coal
+I want coal
+
+I want copper armbands!
+I want copper armbands!
+
+I want experience
+I want experience
+
+I want gold
+I want gold
+
+I want iron armbands!
+I want iron armbands!
+
+I want it.
+I want it.
+
+I want leather armbands!
+I want leather armbands!
+
+I want monster points
+I want monster points
+
+I want more than one!
+I want more than one!
+
+I want something more magical.
+I want something more magical.
+
+I want the Wurtzite
+I want the Wurtzite
+
+I want the apples back.
+I want the apples back.
+
+I want to arrest the Monster King one day, but until then, I'm happy getting rid of petty scammers, spammers, and general evildoers.
+I want to arrest the Monster King one day, but until then, I'm happy getting rid of petty scammers, spammers, and general evildoers.
+
+I want to be trained!
+I want to be trained!
+
+I want to become an archer!
+I want to become an archer!
+
+I want to challenge the Yetifly.
+I want to challenge the Yetifly.
+
+I want to challenge you both.
+I want to challenge you both.
+
+I want to challenge you.
+I want to challenge you.
+
+I want to change my Race!
+I want to change my Race!
+
+I want to craft rings.
+I want to craft rings.
+
+I want to create polished gemstones.
+I want to create polished gemstones.
+
+I want to divorce.
+I want to divorce.
+
+I want to forge One Handed Weapons!
+I want to forge One Handed Weapons!
+
+I want to forge Quivers!
+I want to forge Quivers!
+
+I want to forge Shields!
+I want to forge Shields!
+
+I want to get rid of them.
+I want to get rid of them.
+
+I want to improve my equipment.
+I want to improve my equipment.
+
+I want to keep breaking them, until I find the paradise! Thus far, I only found the Land Of Fire!
+I want to keep breaking them, until I find the paradise! Thus far, I only found the Land Of Fire!
+
+I want to know what you found out again
+I want to know what you found out again
+
+I want to know why you shown me that.
+I want to know why you shown me that.
+
+I want to learn reading ancient languages
+I want to learn reading ancient languages
+
+I want to meet a hero!
+I want to meet a hero!
+
+I want to move left.
+I want to move left.
+
+I want to pay my respects as a fellow Pink Mouboo cult member.
+I want to pay my respects as a fellow Pink Mouboo cult member.
+
+I want to pay the full price.
+I want to pay the full price.
+
+I want to prove exotic tea. More specifically, I'm looking for %s and %s. Bring me %d of each, and I'll reward you awesomely.
+I want to prove exotic tea. More specifically, I'm looking for %s and %s. Bring me %d of each, and I'll reward you awesomely.
+
+I want to register for marriage.
+I want to register for marriage.
+
+I want to remove all stuff applied to my ring!
+I want to remove all stuff applied to my ring!
+
+I want to sell White Fur for 75 GP each
+I want to sell White Fur for 75 GP each
+
+I want to shop.
+I want to shop.
+
+I want to sleep...
+I want to sleep...
+
+I want to trade with you.
+I want to trade with you.
+
+I want to trade.
+I want to trade.
+
+I want to try convincing the Yeti King again.
+I want to try convincing the Yeti King again.
+
+I want two batches!
+I want two batches!
+
+I want you to brew some for me.
+I want you to brew some for me.
+
+I want you to decrypt something
+I want you to decrypt something
+
+I want you to impress me, so I can brag about you to all my friends!
+I want you to impress me, so I can brag about you to all my friends!
+
+I want you to kill @@, which are located near the northwest coast of the island.
+I want you to kill @@, which are located near the northwest coast of the island.
+
+I want you to transform my raw log in a wooden log
+I want you to transform my raw log in a wooden log
+
+I wanted info about how to play.
+I wanted info about how to play.
+
+I wanted to go to the beach, but I can't find the cave entrance. They told me to look around here... What am I doing wrong?
+I wanted to go to the beach, but I can't find the cave entrance. They told me to look around here... What am I doing wrong?
+
+I was a bit worried that they might ruin our efforts by messing everything up again after we just cleaned.
+I was a bit worried that they might ruin our efforts by messing everything up again after we just cleaned.
+
+I was born here but I had amnesia.
+I was born here but I had amnesia.
+
+I was found near Candor Island, on a raft, and can't remember anything. Do you know who I am?
+I was found near Candor Island, on a raft, and can't remember anything. Do you know who I am?
+
+I was informed that our bedding material for fragile presents is nearly depleted...
+I was informed that our bedding material for fragile presents is nearly depleted...
+
+I was kicked out of home for not paying rent. But I had no choice, it was either to eat or to have a roof...
+I was kicked out of home for not paying rent. But I had no choice, it was either to eat or to have a roof...
+
+I was planning to go there soon, anyway. All aboard!
+I was planning to go there soon, anyway. All aboard!
+
+I was so excited, I wanted to try it as soon as possible.
+I was so excited, I wanted to try it as soon as possible.
+
+I was thinking, maybe I could make a @@ for you. But I want a few items:
+I was thinking, maybe I could make a @@ for you. But I want a few items:
+
+I was up until late last night, and woke up so early today... I'm having a break right now.
+I was up until late last night, and woke up so early today... I'm having a break right now.
+
+I was very surprised when I heard that he's responsible for the failed sealing. I'd never have expected that from him.
+I was very surprised when I heard that he's responsible for the failed sealing. I'd never have expected that from him.
+
+I will also need %d %s to make the mixture and %s GP as a fee.
+I will also need %d %s to make the mixture and %s GP as a fee.
+
+I will apply later.
+I will apply later.
+
+I will be back shortly.
+I will be back shortly.
+
+I will be forever grateful!
+I will be forever grateful!
+
+I will do it, don't worry.
+I will do it, don't worry.
+
+I will empower you with raw mana now.
+I will empower you with raw mana now.
+
+I will give you 3 @@. Use them on this fight, or you're doomed to fail.
+I will give you 3 @@. Use them on this fight, or you're doomed to fail.
+
+I will go and hunt some snakes.
+I will go and hunt some snakes.
+
+I will harass Demure with so many chocolate that she'll leave this event map rolling!
+I will harass Demure with so many chocolate that she'll leave this event map rolling!
+
+I will kill one.
+I will kill one.
+
+I will let Lalica, Pihro and Pyndragon know that you find her not guilty, but...
+I will let Lalica, Pihro and Pyndragon know that you find her not guilty, but...
+
+I will let you test it for a peny until level 10!
+I will let you test it for a peny until level 10!
+
+I will make quick work of your wounds.
+I will make quick work of your wounds.
+
+I will need 3 @@, 5 @@ and 100 GP to craft a single stone.
+I will need 3 @@, 5 @@ and 100 GP to craft a single stone.
+
+I will need many Mauve Herbs! Do you have them with you? If you don't have enough, we'll lose everything! You need at most @@!
+I will need many Mauve Herbs! Do you have them with you? If you don't have enough, we'll lose everything! You need at most @@!
+
+I will need:
+I will need:
+
+I will pay you 5,000 GP in pure gold for it!
+I will pay you 5,000 GP in pure gold for it!
+
+I will prepare you a potion. But beware, that potion will only last 20 minutes. You should assign some intelligence points to succeed.
+I will prepare you a potion. But beware, that potion will only last 20 minutes. You should assign some intelligence points to succeed.
+
+I will require 2500 GP, 1 @@, 1 @@ and 1 @@, for a small handful of it.
+I will require 2500 GP, 1 @@, 1 @@ and 1 @@, for a small handful of it.
+
+I will reward whoever kills the current bandit leader, of course.
+I will reward whoever kills the current bandit leader, of course.
+
+I will reward you for 7 @@.
+I will reward you for 7 @@.
+
+I will sing a song about the Five Legendary Heroes myth.
+I will sing a song about the Five Legendary Heroes myth.
+
+I will sing a song about the Mana War and current times.
+I will sing a song about the Mana War and current times.
+
+I will sing a song about the fate of five legendary weapons.
+I will sing a song about the fate of five legendary weapons.
+
+I will summon the Monster King. Don't ask me my reasons. I know this will put Tulimshar in danger. But I will still do it.
+I will summon the Monster King. Don't ask me my reasons. I know this will put Tulimshar in danger. But I will still do it.
+
+I will take a claw and show Hasan.
+I will take a claw and show Hasan.
+
+I will take the @@ Bounty.
+I will take the @@ Bounty.
+
+I will trade you a Dagger and Sailor's Hat for it.
+I will trade you a Dagger and Sailor's Hat for it.
+
+I will try it later.
+I will try it later.
+
+I will, don't worry.
+I will, don't worry.
+
+I wish you a good time in town.
+I wish you a good time in town.
+
+I wish you good luck!
+I wish you good luck!
+
+I wish you good luck. I remember these caves... They're dangerous. Make sure to be prepared before venturing further.
+I wish you good luck. I remember these caves... They're dangerous. Make sure to be prepared before venturing further.
+
+I woke up in a shake! I felt... Oh, it's hard to describe... As if the spell suddenly started inflating, getting bigger... bigger... weaker... weaker...
+I woke up in a shake! I felt... Oh, it's hard to describe... As if the spell suddenly started inflating, getting bigger... bigger... weaker... weaker...
+
+I won't accept stuff from Halinarzo!
+I won't accept stuff from Halinarzo!
+
+I won't need it, thank you.#0
+I won't need it, thank you.
+
+I won't need it, thank you.#1
+I won't need it, thank you.
+
+I won't share our water with you!
+I won't share our water with you!
+
+I won't stop you from going inside, but be careful, you hear me?
+I won't stop you from going inside, but be careful, you hear me?
+
+I wonder if anyone will notice or care if I take a nap here...
+I wonder if anyone will notice or care if I take a nap here...
+
+I wonder if he exists on this world too. Because if he doesn't, I could tell many tales about him!
+I wonder if he exists on this world too. Because if he doesn't, I could tell many tales about him!
+
+I wonder if it'll take too long for the ship to arrive...
+I wonder if it'll take too long for the ship to arrive...
+
+I wonder if you can still sleep after killing those innocent forest creatures!
+I wonder if you can still sleep after killing those innocent forest creatures!
+
+I wonder what secrets the Heroes Hold could be hiding...
+I wonder what secrets the Heroes Hold could be hiding...
+
+I work in this mine since 3 years, I'm an expert on gems: Ruby, Topaz, Sapphire, You know!
+I work in this mine since 3 years, I'm an expert on gems: Ruby, Topaz, Sapphire, You know!
+
+I would advise you to remain here in the ship, they should leave in a few minutes, but I will not force you.
+I would advise you to remain here in the ship, they should leave in a few minutes, but I will not force you.
+
+I would bring @@, just in case. Anyway, the place where you're going to is the village where @@ was born.
+I would bring @@, just in case. Anyway, the place where you're going to is the village where @@ was born.
+
+I would gladly aid you to get rid of that scourge.
+I would gladly aid you to get rid of that scourge.
+
+I would gladly give my life for such noble goal.
+I would gladly give my life for such noble goal.
+
+I would kick me out myself! I'm such a failure! A complete disaster! %%i
+I would kick me out myself! I'm such a failure! A complete disaster! %%i
+
+I would like @@ @@, @@ @@ and @@ @@!
+I would like @@ @@, @@ @@ and @@ @@!
+
+I would like a hat like yours.
+I would like a hat like yours.
+
+I would like all Knifes and Daggers on me melted!
+I would like all Knifes and Daggers on me melted!
+
+I would like an item melted!
+I would like an item melted!
+
+I would like some Mouboo Milk.
+I would like some Mouboo Milk.
+
+I would like some information
+I would like some information
+
+I would like to REMOVE an item options
+I would like to REMOVE an item options
+
+I would like to buy a Warp Crystal.
+I would like to buy a Warp Crystal.
+
+I would like to change an item options
+I would like to change an item options
+
+I would like to create a guild.
+I would like to create a guild.
+
+I would like to create a party.
+I would like to create a party.
+
+I would like to enroll!
+I would like to enroll!
+
+I would like to learn a new skill!
+I would like to learn a new skill!
+
+I would like to order some dye.
+I would like to order some dye.
+
+I would like to perform money transactions.
+I would like to perform money transactions.
+
+I would like to store some items.
+I would like to store some items.
+
+I would like to use the Deluxe Storage.
+I would like to use the Deluxe Storage.
+
+I would like to use the Premium Storage.
+I would like to use the Premium Storage.
+
+I would love to see the skin of two @@.
+I would love to see the skin of two @@.
+
+I would love to, but the Monster King laid siege there.
+I would love to, but the Monster King laid siege there.
+
+I'd like my Crozenite Clover Silvered.
+I'd like my Crozenite Clover Silvered.
+
+I'd like to get a different style.
+I'd like to get a different style.
+
+I'll also need @@ as base material!
+I'll also need @@ as base material!
+
+I'll also provide you a few @@s and an Elixir. Use them wisely.
+I'll also provide you a few @@s and an Elixir. Use them wisely.
+
+I'll also try to bring you to the world's edge, as you've asked.
+I'll also try to bring you to the world's edge, as you've asked.
+
+I'll ask you to kill 100 @@. This will prove your worth. Good luck.
+I'll ask you to kill 100 @@. This will prove your worth. Good luck.
+
+I'll be attracted by the Shadow Herb. The moss will hide the roots, which will entrap it for a while.
+I'll be attracted by the Shadow Herb. The moss will hide the roots, which will entrap it for a while.
+
+I'll be back in no time.
+I'll be back in no time.
+
+I'll be back later with all ingredients.
+I'll be back later with all ingredients.
+
+I'll be waiting for you! And trading some items of questionable origins...
+I'll be waiting for you! And trading some items of questionable origins...
+
+I'll be waiting!
+I'll be waiting!
+
+I'll be writing a letter to the next town you're going to visit, and also assign work to my household. You should come back later.
+I'll be writing a letter to the next town you're going to visit, and also assign work to my household. You should come back later.
+
+I'll call someone to aid you.
+I'll call someone to aid you.
+
+I'll come back later.
+I'll come back later.
+
+I'll configure your flask to a few hours before the Great Fire breaks out. You're looking for "The Queen's party" hideout. Do you need a quick history lesson?
+I'll configure your flask to a few hours before the Great Fire breaks out. You're looking for "The Queen's party" hideout. Do you need a quick history lesson?
+
+I'll decide later
+I'll decide later
+
+I'll draw a card now!
+I'll draw a card now!
+
+I'll feed you to the Moubootaur %%e
+I'll feed you to the Moubootaur %%e
+
+I'll get so mad at you that even if you are correct, I'll say otherwise. Also, mind special characters.
+I'll get so mad at you that even if you are correct, I'll say otherwise. Also, mind special characters.
+
+I'll get to it.
+I'll get to it.
+
+I'll get to work.
+I'll get to work.
+
+I'll give it to someone who challenge me and best me in an impressive manner. If it was easy, someone would already have claimed it.
+I'll give it to someone who challenge me and best me in an impressive manner. If it was easy, someone would already have claimed it.
+
+I'll give you @@ GP for this job.
+I'll give you @@ GP for this job.
+
+I'll give you a @@. It should aid you out there.
+I'll give you a @@. It should aid you out there.
+
+I'll give you a reward, in the name of Saulc, once you reach the following levels: 25, 50, 75, 100, 125 and 150.
+I'll give you a reward, in the name of Saulc, once you reach the following levels: 25, 50, 75, 100, 125 and 150.
+
+I'll give you the item.
+I'll give you the item.
+
+I'll have her hospitalized now.
+I'll have her hospitalized now.
+
+I'll help you.
+I'll help you.
+
+I'll input how many I want to attach.
+I'll input how many I want to attach.
+
+I'll keep studying it in secret. I'm so proud of my thieves!
+I'll keep studying it in secret. I'm so proud of my thieves!
+
+I'll make you five questions about lore and general knowledge. You'll have 30 seconds to read and answer each.
+I'll make you five questions about lore and general knowledge. You'll have 30 seconds to read and answer each.
+
+I'll make your life easier, I'm also accepting 20 @@ or @@ instead the Grass Carp. Go now, pal.
+I'll make your life easier, I'm also accepting 20 @@ or @@ instead the Grass Carp. Go now, pal.
+
+I'll only say you this once. Mages can, of course, go to battlefield in heavy armor and stuff.
+I'll only say you this once. Mages can, of course, go to battlefield in heavy armor and stuff.
+
+I'll pay the GP.
+I'll pay the GP.
+
+I'll present you three kind of strong monsters. Snakes are fast and dangerous. Giant Maggots are slow and dangerous. Black Scorpions have average speed and are... deadly.
+I'll present you three kind of strong monsters. Snakes are fast and dangerous. Giant Maggots are slow and dangerous. Black Scorpions have average speed and are... deadly.
+
+I'll read the options from you, but the level will be paid by me, and failure rate is non-existant. I am the best. blacksmith. in. the. universe! Use %s if you need to change any options.
+I'll read the options from you, but the level will be paid by me, and failure rate is non-existant. I am the best. blacksmith. in. the. universe! Use %s if you need to change any options.
+
+I'll reward you and your friends in an appropriate way, but if you endanger her... Oh, my poor Cindy...
+I'll reward you and your friends in an appropriate way, but if you endanger her... Oh, my poor Cindy...
+
+I'll see you later.
+I'll see you later.
+
+I'll seek one for you.
+I'll seek one for you.
+
+I'll start delivering the fur!
+I'll start delivering the fur!
+
+I'll talk about who I am after leaving the well.
+I'll talk about who I am after leaving the well.
+
+I'll teach you a spell. It is called CUTE HEART. It summons Fluffies. They are so cute, I want to hug them...
+I'll teach you a spell. It is called CUTE HEART. It summons Fluffies. They are so cute, I want to hug them...
+
+I'll teach you how to transmute some parts of theirs. You can use it to convert a @@ into a @@, but not the other way around, for example.
+I'll teach you how to transmute some parts of theirs. You can use it to convert a @@ into a @@, but not the other way around, for example.
+
+I'll try to find them.
+I'll try to find them.
+
+I'll walk around here a little more.
+I'll walk around here a little more.
+
+I'll warp you to the Cave Of Trials. Pass all trials, and meet me on Soren's House. Hahah!
+I'll warp you to the Cave Of Trials. Pass all trials, and meet me on Soren's House. Hahah!
+
+I'm Carla the Woody Wife, I have lived here with Woody for many years! We decided to live away from civilization, as hunter and shaman life is way better.
+I'm Carla the Woody Wife, I have lived here with Woody for many years! We decided to live away from civilization, as hunter and shaman life is way better.
+
+I'm Eistein, survivor from Ukarania. I reward brave adventurers who kill monsters, which plague our lands.
+I'm Eistein, survivor from Ukarania. I reward brave adventurers who kill monsters, which plague our lands.
+
+I'm GM and got the money. Gimme HALF HOUR to invite everybody!
+I'm GM and got the money. Gimme HALF HOUR to invite everybody!
+
+I'm Laranja.
+I'm Laranja.
+
+I'm Thurgar the mighty craftsman. I can make anything reality! But I only work to the king!
+I'm Thurgar the mighty craftsman. I can make anything reality! But I only work to the king!
+
+I'm a bit short in cash right now.
+I'm a bit short in cash right now.
+
+I'm a bit sick...#0
+I'm a bit sick...
+
+I'm a bit sick...#1
+I'm a bit sick...
+
+I'm a little busy right now.
+I'm a little busy right now.
+
+I'm a pro, this will be GG EZ. But Raid is not a foe to be underestimated, and I have no hopes for reinforcements. I refuse to leave last words, I shall either triumph, or be forgotten in shame.
+I'm a pro, this will be GG EZ. But Raid is not a foe to be underestimated, and I have no hopes for reinforcements. I refuse to leave last words, I shall either triumph, or be forgotten in shame.
+
+I'm a traveling poet and admirer of Robert Burns, a bard from the mana world.
+I'm a traveling poet and admirer of Robert Burns, a bard from the mana world.
+
+I'm actually half-wose. This means part of me is tree.
+I'm actually half-wose. This means part of me is tree.
+
+I'm actually looking for an item forged!
+I'm actually looking for an item forged!
+
+I'm actually paid by the Academy, or there would be no security here.
+I'm actually paid by the Academy, or there would be no security here.
+
+I'm afraid I can't be of any help to you.
+I'm afraid I can't be of any help to you.
+
+I'm afraid my wounds are too critical. I'm bleeding. I was cursed. And I can't even move.
+I'm afraid my wounds are too critical. I'm bleeding. I was cursed. And I can't even move.
+
+I'm afraid you can't help me... I still have one HP left.
+I'm afraid you can't help me... I still have one HP left.
+
+I'm afraid you'll need a key to reach them. But there's a fork on the way.
+I'm afraid you'll need a key to reach them. But there's a fork on the way.
+
+I'm after the Queen's Party.
+I'm after the Queen's Party.
+
+I'm allergic to piou potions, goodbye.#0
+I'm allergic to piou potions, goodbye.
+
+I'm allergic to piou potions, goodbye.#1
+I'm allergic to piou potions, goodbye.
+
+I'm allergic to pious, goodbye.
+I'm allergic to pious, goodbye.
+
+I'm almost in the point of no return. I cannot believe this, but mana... is alive.
+I'm almost in the point of no return. I cannot believe this, but mana... is alive.
+
+I'm already married, though...#0
+I'm already married, though...
+
+I'm already married, though...#1
+I'm already married, though...
+
+I'm am about to make myself some powerful equipment... But I ran out of material to refine it!
+I'm am about to make myself some powerful equipment... But I ran out of material to refine it!
+
+I'm an experienced weapon master helping this smithy here, but I am new in this town. I am best at smithing armor.
+I'm an experienced weapon master helping this smithy here, but I am new in this town. I am best at smithing armor.
+
+I'm back, I'm here, I'm great! I am the AF King Arthur!
+I'm back, I'm here, I'm great! I am the AF King Arthur!
+
+I'm back.
+I'm back.
+
+I'm busy, sorry.
+I'm busy, sorry.
+
+I'm currently cleaning the arena, wait just @@ more.
+I'm currently cleaning the arena, wait just @@ more.
+
+I'm currently doing tutorship for students who are... falling behind %%p
+I'm currently doing tutorship for students who are... falling behind %%p
+
+I'm currently going over some of the household paperwork. Right now I'm inspecting the @@. The work never stops!
+I'm currently going over some of the household paperwork. Right now I'm inspecting the @@. The work never stops!
+
+I'm currently hosting a fight.
+I'm currently hosting a fight.
+
+I'm doing the covers and illustrations for the new books we create from the pieces of the old ones.
+I'm doing the covers and illustrations for the new books we create from the pieces of the old ones.
+
+I'm done.
+I'm done.
+
+I'm fine for now, thank you.
+I'm fine for now, thank you.
+
+I'm fine, but I can't keep carrying dead weights with me. Candor is a special place, I shall make a base there... Because I know the Monster King will eventually head there.
+I'm fine, but I can't keep carrying dead weights with me. Candor is a special place, I shall make a base there... Because I know the Monster King will eventually head there.
+
+I'm fine, no worries...
+I'm fine, no worries...
+
+I'm fine, thanks
+I'm fine, thanks
+
+I'm fine, thanks!
+I'm fine, thanks!
+
+I'm fine, thanks.
+I'm fine, thanks.
+
+I'm glad there's no annoying towel man. He keeps coming back to annoy me!
+I'm glad there's no annoying towel man. He keeps coming back to annoy me!
+
+I'm going, don't worry.
+I'm going, don't worry.
+
+I'm here as an Initiate. May I enter Duck Dungeon?
+I'm here as an Initiate. May I enter Duck Dungeon?
+
+I'm here to arrest a criminal.
+I'm here to arrest a criminal.
+
+I'm here to arrest you.
+I'm here to arrest you.
+
+I'm here to help you restock...
+I'm here to help you restock...
+
+I'm here to investigate what exactly happened so this doesn't happens again.
+I'm here to investigate what exactly happened so this doesn't happens again.
+
+I'm hungry like a bear :b
+I'm hungry like a bear :b
+
+I'm interested in Grand Hunter Quest.
+I'm interested in Grand Hunter Quest.
+
+I'm interested in your arrows, they're too expensive with Rosen.
+I'm interested in your arrows, they're too expensive with Rosen.
+
+I'm just a lurker.
+I'm just a lurker.
+
+I'm just searching for some cleaning supplies. They must be somewhere around here, but everything went upside down when the slimes escaped.
+I'm just searching for some cleaning supplies. They must be somewhere around here, but everything went upside down when the slimes escaped.
+
+I'm listening, but don't hope me to buy your story.
+I'm listening, but don't hope me to buy your story.
+
+I'm looking for the Queen's Party.
+I'm looking for the Queen's Party.
+
+I'm moved to tears by your dedication to help us. Unrewarded, even. Here, have this rare %s. For free!
+I'm moved to tears by your dedication to help us. Unrewarded, even. Here, have this rare %s. For free!
+
+I'm not a coward! I must press forward!#0
+I'm not a coward! I must press forward!
+
+I'm not a coward! I must press forward!#1
+I'm not a coward! I must press forward!
+
+I'm not blind.
+I'm not blind.
+
+I'm not crazy, the bucket is vicious and the rope won't withstand my weight.
+I'm not crazy, the bucket is vicious and the rope won't withstand my weight.
+
+I'm not done yet, please hold tight. It won't take long.
+I'm not done yet, please hold tight. It won't take long.
+
+I'm not done yet. I'll be back.
+I'm not done yet. I'll be back.
+
+I'm not familiar with the Butterfly Caves. Try asking a local, maybe Arkim, they ought know the way.
+I'm not familiar with the Butterfly Caves. Try asking a local, maybe Arkim, they ought know the way.
+
+I'm not familiar with the Butterfly Caves. Try asking a local?
+I'm not familiar with the Butterfly Caves. Try asking a local?
+
+I'm not feeling like it today... Sorry.
+I'm not feeling like it today... Sorry.
+
+I'm not going any closer to that cursed place!
+I'm not going any closer to that cursed place!
+
+I'm not going to touch a FLOATING sword made of unobtainum without at least knowing a bit more about it.
+I'm not going to touch a FLOATING sword made of unobtainum without at least knowing a bit more about it.
+
+I'm not going to try to improve this masterpiece. Look its options!
+I'm not going to try to improve this masterpiece. Look its options!
+
+I'm not here to listen stories, I need you to return what you've stole.
+I'm not here to listen stories, I need you to return what you've stole.
+
+I'm not interested in yours, by the way.
+I'm not interested in yours, by the way.
+
+I'm not interested right now.
+I'm not interested right now.
+
+I'm not interested, sorry.
+I'm not interested, sorry.
+
+I'm not interested.
+I'm not interested.
+
+I'm not neutral, so my vouch have no effect.
+I'm not neutral, so my vouch have no effect.
+
+I'm not ready.
+I'm not ready.
+
+I'm not sure I want to spend that much.
+I'm not sure I want to spend that much.
+
+I'm not sure if that's edible. For teddies, at least.
+I'm not sure if that's edible. For teddies, at least.
+
+I'm not sure what it needs to move on time, but I managed to make it move in space, back to this village, in no time!
+I'm not sure what it needs to move on time, but I managed to make it move in space, back to this village, in no time!
+
+I'm not that numb eeh *hic* what did ever yous disco... ...vered there, the Guild won't get me!
+I'm not that numb eeh *hic* what did ever yous disco... ...vered there, the Guild won't get me!
+
+I'm not the Captain, Nard is.
+I'm not the Captain, Nard is.
+
+I'm not unfamiliar with the children of Merlin, thosem whom cross the Mirror Lake. In case of The Mana World, you're lucky, we're parallel, meaning we share lots of things in common.
+I'm not unfamiliar with the children of Merlin, thosem whom cross the Mirror Lake. In case of The Mana World, you're lucky, we're parallel, meaning we share lots of things in common.
+
+I'm not.
+I'm not.
+
+I'm only assuming it was a man because the lack of boobs.
+I'm only assuming it was a man because the lack of boobs.
+
+I'm pretty confident you can attempt the Desert Canyon, but expect to die a few times.
+I'm pretty confident you can attempt the Desert Canyon, but expect to die a few times.
+
+I'm proud of you!
+I'm proud of you!
+
+I'm quite interested in you, mah' boy!#1
+I'm quite interested in you, mah' boy!
+
+I'm quite interested in you, mah' girl!#0
+I'm quite interested in you, mah' girl!
+
+I'm railroaded here, I cannot say no. I'll bring you some @@. Break them until one of them fit.
+I'm railroaded here, I cannot say no. I'll bring you some @@. Break them until one of them fit.
+
+I'm ready, let's start!
+I'm ready, let's start!
+
+I'm so glad that you took care of the remaining slimes. Thanks! Do you need anything else?
+I'm so glad that you took care of the remaining slimes. Thanks! Do you need anything else?
+
+I'm so glad we didn't have to go out to hunt the slimes! Thank you!
+I'm so glad we didn't have to go out to hunt the slimes! Thank you!
+
+I'm so tired... Slimes everywhere... Chaos everywhere... Yawn...
+I'm so tired... Slimes everywhere... Chaos everywhere... Yawn...
+
+I'm sorry but I can't talk right now... I have something on my mind.
+I'm sorry but I can't talk right now... I have something on my mind.
+
+I'm sorry, I just... Maybe if...? Aha! Here's the EXP, ready for a next go?
+I'm sorry, I just... Maybe if...? Aha! Here's the EXP, ready for a next go?
+
+I'm sorry, I will come back later.
+I'm sorry, I will come back later.
+
+I'm sorry, these words just came to my mind.
+I'm sorry, these words just came to my mind.
+
+I'm sorry... I can't help you either...
+I'm sorry... I can't help you either...
+
+I'm sure I could refine this again, if you bring me the payment and the reagents again.
+I'm sure I could refine this again, if you bring me the payment and the reagents again.
+
+I'm sure it was, now go rest a bit, you deserve it!
+I'm sure it was, now go rest a bit, you deserve it!
+
+I'm sure that you've got some questions for me, feel free to ask them, but first I need to tell you the rules all adventurers must respect on this world.
+I'm sure that you've got some questions for me, feel free to ask them, but first I need to tell you the rules all adventurers must respect on this world.
+
+I'm sure the Doctor has a trick... No loans, thanks.
+I'm sure the Doctor has a trick... No loans, thanks.
+
+I'm sure the crew will like to be spared from having to eat @@ again!
+I'm sure the crew will like to be spared from having to eat @@ again!
+
+I'm sure there are a lot of sidequests here until you reach level 30, but that's optional.
+I'm sure there are a lot of sidequests here until you reach level 30, but that's optional.
+
+I'm too busy right now to talk. Dimond's recipes are the best!
+I'm too busy right now to talk. Dimond's recipes are the best!
+
+I'm too far to jump there.
+I'm too far to jump there.
+
+I'm trying to make good food for all the sailors here, could you help me?
+I'm trying to make good food for all the sailors here, could you help me?
+
+I'm waiting for @@ feedback... Please go talk to them! %%S
+I'm waiting for @@ feedback... Please go talk to them! %%S
+
+I'm with the Monster King.
+I'm with the Monster King.
+
+I'm worried with them. Anyway, I think only heroes are allowed inside, and you are a few levels short of being a Hero...
+I'm worried with them. Anyway, I think only heroes are allowed inside, and you are a few levels short of being a Hero...
+
+I'm worried with which Sage the masked man will aim next...
+I'm worried with which Sage the masked man will aim next...
+
+I'm worried. Will everything be alright? Please, lend your help to sir Sakar - no, to the whole world!
+I'm worried. Will everything be alright? Please, lend your help to sir Sakar - no, to the whole world!
+
+I've also got in contact the other alliance representatives, and I've found out there's a way to bring you to Halinarzo, using Hurnscald route!
+I've also got in contact the other alliance representatives, and I've found out there's a way to bring you to Halinarzo, using Hurnscald route!
+
+I've been delving in the secrets of Mana, using the stolen Mana Stone we got the other day.
+I've been delving in the secrets of Mana, using the stolen Mana Stone we got the other day.
+
+I've brought something to exchange.
+I've brought something to exchange.
+
+I've brought the money you've asked for.
+I've brought the money you've asked for.
+
+I've changed my mind
+I've changed my mind
+
+I've changed my mind.
+I've changed my mind.
+
+I've dispatched Benjamin and some other city guards after her flew to Elenium Mines, but thus far, they haven't returned.
+I've dispatched Benjamin and some other city guards after her flew to Elenium Mines, but thus far, they haven't returned.
+
+I've even heard of people whom dug Casino Coins out of the ground, but as I said, I don't know. But you'll certainly come across a few o your adventures!
+I've even heard of people whom dug Casino Coins out of the ground, but as I said, I don't know. But you'll certainly come across a few o your adventures!
+
+I've found the Monster King.
+I've found the Monster King.
+
+I've heard Aethyr path was to the west, but I'm not sure west of where... %s
+I've heard Aethyr path was to the west, but I'm not sure west of where... %s
+
+I've heard about some adventurers whom obtained magic in another way, but you would still need a lot of levels for that.
+I've heard about some adventurers whom obtained magic in another way, but you would still need a lot of levels for that.
+
+I've heard rumors about a legendary axe.
+I've heard rumors about a legendary axe.
+
+I've heard some elves, when they abandoned our original town, founded Aethyr somewhere up northwest. But all contact with it has since been lost.
+I've heard some elves, when they abandoned our original town, founded Aethyr somewhere up northwest. But all contact with it has since been lost.
+
+I've heard tidings of strange goings-on in this area...
+I've heard tidings of strange goings-on in this area...
+
+I've heard you helped my staff to recreate some books. For that, I am grateful.
+I've heard you helped my staff to recreate some books. For that, I am grateful.
+
+I've managed to create a Maggot. It did not die. And it was not an April Fool's joke. Nice one.
+I've managed to create a Maggot. It did not die. And it was not an April Fool's joke. Nice one.
+
+I've managed to create the first mana-based artificial lifeform, it survived three seconds, the record so far.
+I've managed to create the first mana-based artificial lifeform, it survived three seconds, the record so far.
+
+I've mastered the art of reading ancient languages.
+I've mastered the art of reading ancient languages.
+
+I've mastered the art of speech and communication.
+I've mastered the art of speech and communication.
+
+I've sealed a massive amount of dark magic here.
+I've sealed a massive amount of dark magic here.
+
+I've sent a scout ahead of you, and he reported traps in the caves you'll be needing to use to get there.
+I've sent a scout ahead of you, and he reported traps in the caves you'll be needing to use to get there.
+
+I, Elmo, captain's deputy, will help you to make the maximum possible money in Candor!
+I, Elmo, captain's deputy, will help you to make the maximum possible money in Candor!
+
+I, Fafa, the Magical Statue, grant you this power! Prove your worth! And never run from the seal, or die for your cowardice!
+I, Fafa, the Magical Statue, grant you this power! Prove your worth! And never run from the seal, or die for your cowardice!
+
+I, second sage of Fate, write this book. The knowledge on it shall guide you to the Secret Of Mana.
+I, second sage of Fate, write this book. The knowledge on it shall guide you to the Secret Of Mana.
+
+I, the rightful ruler, demand back this world! Tyranny!
+I, the rightful ruler, demand back this world! Tyranny!
+
+I... I confess. I did steal an apple. I was hungry! I am very poor.
+I... I confess. I did steal an apple. I was hungry! I am very poor.
+
+IF YOU CHANGE EXP RATE NOW, PREVIOUS BONUS WILL BE LOST!
+IF YOU CHANGE EXP RATE NOW, PREVIOUS BONUS WILL BE LOST!
+
+IF YOU DIE, YOU'LL SUFFER THE EXP PENALTY.
+IF YOU DIE, YOU'LL SUFFER THE EXP PENALTY.
+
+IMPORTANT: All guild magic needs %s to be cast!
+IMPORTANT: All guild magic needs %s to be cast!
+
+INV
+INV
+
+Ice Cube
+Ice Cube
+
+Ice Fluffy
+Ice Fluffy
+
+Ice Gladius
+Ice Gladius
+
+Ice Lord
+Ice Lord
+
+Ice Maggot
+Ice Maggot
+
+Iced Fluffy
+Iced Fluffy
+
+Iced Water
+Iced Water
+
+Icicle Challenge
+Icicle Challenge
+
+If %s meet the true form of the %s and prove to be a real hero, the sword will give itself for them. But if they fail to prove real heroism, the sword will leave after a while.
+If %s meet the true form of the %s and prove to be a real hero, the sword will give itself for them. But if they fail to prove real heroism, the sword will leave after a while.
+
+If I am doing your dirty work, why am I the one paying you?!
+If I am doing your dirty work, why am I the one paying you?!
+
+If I bring @@, my party leader, and the boss is defeated, I can go you in.
+If I bring @@, my party leader, and the boss is defeated, I can go you in.
+
+If I can't beat him, no one else can, and if our species are to survive, we'll need to return to the Edge. Even if it means... Fulfilling the prophecy. %s. Whatever the cost.
+If I can't beat him, no one else can, and if our species are to survive, we'll need to return to the Edge. Even if it means... Fulfilling the prophecy. %s. Whatever the cost.
+
+If I don't know the answer in your language, try answering in English. That always works.
+If I don't know the answer in your language, try answering in English. That always works.
+
+If I had a map, I would be digging the treasures, not selling it, arr!
+If I had a map, I would be digging the treasures, not selling it, arr!
+
+If I only could find another way in...
+If I only could find another way in...
+
+If I only knew some magic...
+If I only knew some magic...
+
+If I remember correctly they wanted to see the library. They looked like a man, but you never know.
+If I remember correctly they wanted to see the library. They looked like a man, but you never know.
+
+If I saw *hic* who you were... *hic* Would not have helped you!
+If I saw *hic* who you were... *hic* Would not have helped you!
+
+If I were you, I would drink water.
+If I were you, I would drink water.
+
+If I weren't tempted to try again everytime someone gets it right...
+If I weren't tempted to try again everytime someone gets it right...
+
+If Nikolai's helpers weren't so carefully chosen, I'd think this was some kind of a bad joke from someone.
+If Nikolai's helpers weren't so carefully chosen, I'd think this was some kind of a bad joke from someone.
+
+If a guild mate dies, they will revive. Don't work on self.
+If a guild mate dies, they will revive. Don't work on self.
+
+If a tie happens, I'll give your coin back.
+If a tie happens, I'll give your coin back.
+
+If a tie happens, you'll get your coin back.
+If a tie happens, you'll get your coin back.
+
+If all players there die, Hurnscald WON'T BE LIBERATED.
+If all players there die, Hurnscald WON'T BE LIBERATED.
+
+If at any moment in the fight there's less than %d players in the room, a severe penalty will be applied, so watch out!
+If at any moment in the fight there's less than %d players in the room, a severe penalty will be applied, so watch out!
+
+If enabled, automatic captchas may be sent to you every once in a while.
+If enabled, automatic captchas may be sent to you every once in a while.
+
+If he gives you a guard card, that'll allow access to the Guard House, where you can pick Daily Bounties for monsters. These will pay you in GP.
+If he gives you a guard card, that'll allow access to the Guard House, where you can pick Daily Bounties for monsters. These will pay you in GP.
+
+If it expires, you'll need to do another. To bake it I need 1 @@, 10 @@ and an @@.
+If it expires, you'll need to do another. To bake it I need 1 @@, 10 @@ and an @@.
+
+If it was easy, someone would already have claimed it, so good luck if you plan in obtaining it.
+If it was easy, someone would already have claimed it, so good luck if you plan in obtaining it.
+
+If left unchecked for long, they will eventually become the only specie on the sea.
+If left unchecked for long, they will eventually become the only specie on the sea.
+
+If life gets so a person cannot laugh,
+If life gets so a person cannot laugh,
+
+If one of us found a Mana stone. They would become rich!
+If one of us found a Mana stone. They would become rich!
+
+If only we defeated their generals and put the army in disarray... It would be possible to visit there.
+If only we defeated their generals and put the army in disarray... It would be possible to visit there.
+
+If the Monster King attacks, I will try to control inbound monsters here.
+If the Monster King attacks, I will try to control inbound monsters here.
+
+If the event ended now, you would get @@ GP.
+If the event ended now, you would get @@ GP.
+
+If the members level difference is less than 30, and you enable exp sharing, you'll all get a bonus experience!
+If the members level difference is less than 30, and you enable exp sharing, you'll all get a bonus experience!
+
+If the water doesn't moves, you will never fish anything. Ah, fat luck...
+If the water doesn't moves, you will never fish anything. Ah, fat luck...
+
+If there were strong people to give us food, ah, how that would be good...
+If there were strong people to give us food, ah, how that would be good...
+
+If they at least read the @@, they wouldn't have such problems.
+If they at least read the @@, they wouldn't have such problems.
+
+If they enroll, they will become able to study monsters and to visit the Mystical Forest west of here as well.
+If they enroll, they will become able to study monsters and to visit the Mystical Forest west of here as well.
+
+If they were any bigger, monsters would come and kill everyone.
+If they were any bigger, monsters would come and kill everyone.
+
+If things keep like this, we will only manage to give @@ gifts to every player...
+If things keep like this, we will only manage to give @@ gifts to every player...
+
+If this is found out to be a fraudulent titulation, both you as target will have their titles cased by the Academic Council, or by the Alliance High Council.
+If this is found out to be a fraudulent titulation, both you as target will have their titles cased by the Academic Council, or by the Alliance High Council.
+
+If this is not the case, just click on "Send".
+If this is not the case, just click on "Send".
+
+If this is undesired, select the correct world, and if needed create a new char on it.
+If this is undesired, select the correct world, and if needed create a new char on it.
+
+If town reputation reaches zero, the town will only be able to get money with taxes.
+If town reputation reaches zero, the town will only be able to get money with taxes.
+
+If we could convince them to distract the Monster King, we could have chances to do a counter-attack!
+If we could convince them to distract the Monster King, we could have chances to do a counter-attack!
+
+If we don't know where to go - Maybe we should go back looking for clues?
+If we don't know where to go - Maybe we should go back looking for clues?
+
+If yes, of course she will hate you. With reason! You're murdering her family and friends!
+If yes, of course she will hate you. With reason! You're murdering her family and friends!
+
+If you are a brave hero or adventurer, Andrei, his lieutenant Elora and the Alliance will be waiting for you on %s!
+If you are a brave hero or adventurer, Andrei, his lieutenant Elora and the Alliance will be waiting for you on %s!
+
+If you are above the NPC and they still doesn't hear you, this mean they are deaf - you should report this!
+If you are above the NPC and they still doesn't hear you, this mean they are deaf - you should report this!
+
+If you are in need to get lots of experience quickly, you should try to engage the bigger and stronger monsters in the town. However, if they hit you, it's Soul Menhir for you.
+If you are in need to get lots of experience quickly, you should try to engage the bigger and stronger monsters in the town. However, if they hit you, it's Soul Menhir for you.
+
+If you are sure your answer is correct, please contact Jesusalva for bug fixing.
+If you are sure your answer is correct, please contact Jesusalva for bug fixing.
+
+If you aren't more careful, we might... accidentally... mistake you for an agent of S.A.R.A.H.
+If you aren't more careful, we might... accidentally... mistake you for an agent of S.A.R.A.H.
+
+If you break that, you could never go to the World's Edge!
+If you break that, you could never go to the World's Edge!
+
+If you bring friends, I'm sure they'll be no match. Ah... How many people already lost their shorts to Cave Snakes?
+If you bring friends, I'm sure they'll be no match. Ah... How many people already lost their shorts to Cave Snakes?
+
+If you bring me 2 @@ and 210 GP, I can make a @@ for you.
+If you bring me 2 @@ and 210 GP, I can make a @@ for you.
+
+If you bring me 2 @@, that Necklace, and 4000 GP, I can improve it. It'll be worth it, I warrant you!
+If you bring me 2 @@, that Necklace, and 4000 GP, I can improve it. It'll be worth it, I warrant you!
+
+If you bring me 6 @@ I can make a @@ for you.
+If you bring me 6 @@ I can make a @@ for you.
+
+If you bring me @@ @@, I'll give you a reward!
+If you bring me @@ @@, I'll give you a reward!
+
+If you bring me @@, your party leader, I can let you in.
+If you bring me @@, your party leader, I can let you in.
+
+If you bring me a @@ and 500 GP I can make one for you!
+If you bring me a @@ and 500 GP I can make one for you!
+
+If you bring me some items to I do a bandage and heal myself, I'll give you my gloves!
+If you bring me some items to I do a bandage and heal myself, I'll give you my gloves!
+
+If you bring me some items, I can craft one for you. You will be my test subject.
+If you bring me some items, I can craft one for you. You will be my test subject.
+
+If you bring me some items, I can make some for you!
+If you bring me some items, I can make some for you!
+
+If you bring us 5 @@, we'll be forever grateful.
+If you bring us 5 @@, we'll be forever grateful.
+
+If you can manage to gather the supplies I need, I can surely craft some %s for you!
+If you can manage to gather the supplies I need, I can surely craft some %s for you!
+
+If you conclude the training, you'll be suitable for the difficult mission our King have to you.
+If you conclude the training, you'll be suitable for the difficult mission our King have to you.
+
+If you could show me what he gave you, I might trust you.
+If you could show me what he gave you, I might trust you.
+
+If you decide to continue, a random PINCODE will be
+If you decide to continue, a random PINCODE will be
+
+If you die or logout here, the quest will be reset!
+If you die or logout here, the quest will be reset!
+
+If you die, you ##Bwon't##b be able to rejoin, but you won't suffer the penalty.
+If you die, you ##Bwon't##b be able to rejoin, but you won't suffer the penalty.
+
+If you die, you'll appear near Tulimshar's Soul Menhir, which is the nearest Menhir to you. You can use @@ if you ever want to change this behavior.
+If you die, you'll appear near Tulimshar's Soul Menhir, which is the nearest Menhir to you. You can use @@ if you ever want to change this behavior.
+
+If you die, you'll have to begin again. And there is the experience penalty, too.
+If you die, you'll have to begin again. And there is the experience penalty, too.
+
+If you die, you'll need to start over everything again!
+If you die, you'll need to start over everything again!
+
+If you distort time-space too much, you might end up outside of it, meeting a quick, permanent, and unrecoverable death.
+If you distort time-space too much, you might end up outside of it, meeting a quick, permanent, and unrecoverable death.
+
+If you don't defeat the Soul Eater before the Great Fire happens, which for the record, has already happened, your soul will slowly be reclaimed by her until your existence ceases to serve as fuel to bring back one of the greatest horrors of story.
+If you don't defeat the Soul Eater before the Great Fire happens, which for the record, has already happened, your soul will slowly be reclaimed by her until your existence ceases to serve as fuel to bring back one of the greatest horrors of story.
+
+If you don't have the recipe book, you'll need to find one... Maybe someone in a household you've already helped is willing to give you one.
+If you don't have the recipe book, you'll need to find one... Maybe someone in a household you've already helped is willing to give you one.
+
+If you don't know what to use, try using the current date or something.
+If you don't know what to use, try using the current date or something.
+
+If you don't want to die, fight!
+If you don't want to die, fight!
+
+If you don't want to look at the Bible, you can try to solve the following riddle:
+If you don't want to look at the Bible, you can try to solve the following riddle:
+
+If you drag the "Resync" skill from the skill list to the shortcut list, you'll be able to rapidly solve some lag issues!
+If you drag the "Resync" skill from the skill list to the shortcut list, you'll be able to rapidly solve some lag issues!
+
+If you ever go there, you should pay it a visit. It is most definitely alive! I'm sure it'll like you, too.
+If you ever go there, you should pay it a visit. It is most definitely alive! I'm sure it'll like you, too.
+
+If you ever need to get quickly from one place to the other, count on us!
+If you ever need to get quickly from one place to the other, count on us!
+
+If you ever visit the fortress island, be sure to visit the friendly tree at the cave. I'm sure it'll like you.
+If you ever visit the fortress island, be sure to visit the friendly tree at the cave. I'm sure it'll like you.
+
+If you fell ready, perhaps you should touch it?
+If you fell ready, perhaps you should touch it?
+
+If you fight Black scorpion or others dangerous monster you should use the 'hit and run' tactic.
+If you fight Black scorpion or others dangerous monster you should use the 'hit and run' tactic.
+
+If you finish everything, and answer everything right, you may get a reward.
+If you finish everything, and answer everything right, you may get a reward.
+
+If you follow %s's quest, you will eventually reach the requirements for here.
+If you follow %s's quest, you will eventually reach the requirements for here.
+
+If you found anything which requires immediate attention, like broken roads which lead nowhere, or cliffs with weird collisions, invisible rocks, scamming NPCs or the sorts, please write down a %s and I'll see it. If the interface is too difficult to use, you can also do so %s or send an email to %s.
+If you found anything which requires immediate attention, like broken roads which lead nowhere, or cliffs with weird collisions, invisible rocks, scamming NPCs or the sorts, please write down a %s and I'll see it. If the interface is too difficult to use, you can also do so %s or send an email to %s.
+
+If you get %d sequence, you'll get a %s!
+If you get %d sequence, you'll get a %s!
+
+If you get any bookpages from the slimes, bring them to Ensio. Thanks for your help!
+If you get any bookpages from the slimes, bring them to Ensio. Thanks for your help!
+
+If you get too much exp this way, a skill will level up and you'll get even more!
+If you get too much exp this way, a skill will level up and you'll get even more!
+
+If you go to Lieutenant Dausen, he'll say that you used GIMP. Just give up.
+If you go to Lieutenant Dausen, he'll say that you used GIMP. Just give up.
+
+If you have a @@, perhaps you could use it as a bait.
+If you have a @@, perhaps you could use it as a bait.
+
+If you have some coffee to me, I'll buy it of your hands.
+If you have some coffee to me, I'll buy it of your hands.
+
+If you have some gems, I can transform them into powder.
+If you have some gems, I can transform them into powder.
+
+If you have trouble with guards, just bribe them and they'll leave you alone. I asked a few to be fired three years ago, but the council haven't reviewed it yet.
+If you have trouble with guards, just bribe them and they'll leave you alone. I asked a few to be fired three years ago, but the council haven't reviewed it yet.
+
+If you have... references, we may also be able to offer you... premium storing.
+If you have... references, we may also be able to offer you... premium storing.
+
+If you haven't, maybe there are a few things you can do besides selling items."
+If you haven't, maybe there are a few things you can do besides selling items."
+
+If you head west, you'll eventually reach the magical Kamelot Castle.
+If you head west, you'll eventually reach the magical Kamelot Castle.
+
+If you hug the wall, there's a secret passage somewhere there. Well, there are many secret passages at Tulimshar.
+If you hug the wall, there's a secret passage somewhere there. Well, there are many secret passages at Tulimshar.
+
+If you kill an opponent stronger than you, you will gain honor points. But if the oponent is 15 levels weaker than you, it will be NEGATIVE!
+If you kill an opponent stronger than you, you will gain honor points. But if the oponent is 15 levels weaker than you, it will be NEGATIVE!
+
+If you kill the same person within 30 minutes, honor will not fluctuate. The whole honor system is very experimental.
+If you kill the same person within 30 minutes, honor will not fluctuate. The whole honor system is very experimental.
+
+If you leave by the secret window, you'll notice a small cave entrance. Enter it.
+If you leave by the secret window, you'll notice a small cave entrance. Enter it.
+
+If you meant to reset the drop rate to its default value: @droprate default
+If you meant to reset the drop rate to its default value: @droprate default
+
+If you meant to reset the exp rate to its default value: @exprate default
+If you meant to reset the exp rate to its default value: @exprate default
+
+If you miss, walk two or three tiles backwards. This way, you avoid being hit.
+If you miss, walk two or three tiles backwards. This way, you avoid being hit.
+
+If you need more herbs, the best place to look.
+If you need more herbs, the best place to look.
+
+If you need to talk with King Gelid, he should be in the castle north here.
+If you need to talk with King Gelid, he should be in the castle north here.
+
+If you pay attention, you'll learn the skill.
+If you pay attention, you'll learn the skill.
+
+If you pay the fee, I'll spawn them, for no longer than 20 minutes. You should not fight alone, instead, you need a group of at least three, because, you know, the curse. Or something.
+If you pay the fee, I'll spawn them, for no longer than 20 minutes. You should not fight alone, instead, you need a group of at least three, because, you know, the curse. Or something.
+
+If you rent an apartment, you'll become a "citzen" and be allowed here. Besides, you can buy stuff in your apartment to, for example, craft stuff.
+If you rent an apartment, you'll become a "citzen" and be allowed here. Besides, you can buy stuff in your apartment to, for example, craft stuff.
+
+If you save 80% from the crops or more, you'll get @@ GP.
+If you save 80% from the crops or more, you'll get @@ GP.
+
+If you save 90% from the crops or more, you'll also get a @@.
+If you save 90% from the crops or more, you'll also get a @@.
+
+If you sponsor me, while I break into more dimensions, I'll give you any stuff I find. Hey, they could be rare here!
+If you sponsor me, while I break into more dimensions, I'll give you any stuff I find. Hey, they could be rare here!
+
+If you succeed, the defense and/or attack will raise. If you fail, refine level goes down.
+If you succeed, the defense and/or attack will raise. If you fail, refine level goes down.
+
+If you take too long you'll be penalized.
+If you take too long you'll be penalized.
+
+If you think this should be a priority, please ask Jesusalva.
+If you think this should be a priority, please ask Jesusalva.
+
+If you train hard enough, and get access to a Mana Stone, I could teach you a trick or two. But right now, I don't sense magic compatibility in you.
+If you train hard enough, and get access to a Mana Stone, I could teach you a trick or two. But right now, I don't sense magic compatibility in you.
+
+If you try take any more power from the Mana Seed, I'll kill you.
+If you try take any more power from the Mana Seed, I'll kill you.
+
+If you try to walk west or east too much, you'll hit an "invisible wall" to prevent you from getting lost.
+If you try to walk west or east too much, you'll hit an "invisible wall" to prevent you from getting lost.
+
+If you unlock a pet but it is missing on this list, this means nobody elese unlocked them yet.
+If you unlock a pet but it is missing on this list, this means nobody elese unlocked them yet.
+
+If you want it?
+If you want it?
+
+If you want to be a real miner friend, do this hard task for me. I will reward you with a @@.
+If you want to be a real miner friend, do this hard task for me. I will reward you with a @@.
+
+If you want to know what the Alliance is up to, you might have better luck talking to Jerican, from the Press.
+If you want to know what the Alliance is up to, you might have better luck talking to Jerican, from the Press.
+
+If you want to pass through it, you'll need to defeat the Guardian which made the seal. You can bring friends for healing and support.
+If you want to pass through it, you'll need to defeat the Guardian which made the seal. You can bring friends for healing and support.
+
+If you want to read this page again, there is a copy up on the wall.
+If you want to read this page again, there is a copy up on the wall.
+
+If you want, you can ask there for one. They are at the big building at northwest.
+If you want, you can ask there for one. They are at the big building at northwest.
+
+If you want, you can bring me some more of those herbs and potions.
+If you want, you can bring me some more of those herbs and potions.
+
+If you're afraid of losing everything, then DEFINITELY do not gamble. %%2
+If you're afraid of losing everything, then DEFINITELY do not gamble. %%2
+
+If you're ever in need, you may use it to call upon the aid of the ducks.
+If you're ever in need, you may use it to call upon the aid of the ducks.
+
+If you're reading this - Feel free to use my laboratory in any way you deem fit. Or what's left of it, at least. Also, please kill any slimes you find. I shall be back in six leaps time, according to the Imperial Time, but if I'm not back by then, assume something went wrong and both wushin and me are off the table.
+If you're reading this - Feel free to use my laboratory in any way you deem fit. Or what's left of it, at least. Also, please kill any slimes you find. I shall be back in six leaps time, according to the Imperial Time, but if I'm not back by then, assume something went wrong and both wushin and me are off the table.
+
+If you're right, you'll gain more Casino Coins! And even other nice things!
+If you're right, you'll gain more Casino Coins! And even other nice things!
+
+If you're right, you'll get at least 80 GP!
+If you're right, you'll get at least 80 GP!
+
+If you're still not confident enough, just tell him this: %s
+If you're still not confident enough, just tell him this: %s
+
+If you're wrong, your winning streak is reset.
+If you're wrong, your winning streak is reset.
+
+If you've used all the ones I've given, you can always bring me more ingredients.
+If you've used all the ones I've given, you can always bring me more ingredients.
+
+If your guild is defeat during the quest, you'll need to wait the weekly cooldown to expire.
+If your guild is defeat during the quest, you'll need to wait the weekly cooldown to expire.
+
+Ignore this book
+Ignore this book
+
+Igor
+Igor
+
+Ihclot
+Ihclot
+
+Imec#EP
+Imec#EP
+
+Immortal Heavy Sword
+Immortal Heavy Sword
+
+Imperial Crown
+Imperial Crown
+
+Importing food from Hurnscald is expensive, local food is expensive, if you don't have a job you're a dead person. Worse if you need medical aid.
+Importing food from Hurnscald is expensive, local food is expensive, if you don't have a job you're a dead person. Worse if you need medical aid.
+
+Impossible to read.
+Impossible to read.
+
+Impossible to resync: You are dead.
+Impossible to resync: You are dead.
+
+Impressive. Seven gifts! Now, 12800 is not easy. I understand if everyone gives up.
+Impressive. Seven gifts! Now, 12800 is not easy. I understand if everyone gives up.
+
+Improve Barter to level
+Improve Barter to level
+
+Improve Max Weight to level
+Improve Max Weight to level
+
+Improve Stealing to level
+Improve Stealing to level
+
+Improved MP Regen
+Improved MP Regen
+
+In TMW2 there is
+In TMW2 there is
+
+In a blood bath, survival is the epitaph.
+In a blood bath, survival is the epitaph.
+
+In a few weeks, I will finish the @@ plans, and there will be no doubts, that @@ is not the best weaver in the world!
+In a few weeks, I will finish the @@ plans, and there will be no doubts, that @@ is not the best weaver in the world!
+
+In addition to my fee, I will also need the following items:
+In addition to my fee, I will also need the following items:
+
+In exchange for your help, I'll give you a @@!
+In exchange for your help, I'll give you a @@!
+
+In fact, %s is considered by most to be rare these days.
+In fact, %s is considered by most to be rare these days.
+
+In fact, Bryant is my brother, and he lives in a cave, and he probably have a high level quest too, but that's not important now.
+In fact, Bryant is my brother, and he lives in a cave, and he probably have a high level quest too, but that's not important now.
+
+In fact, I am cured! Hooray!!
+In fact, I am cured! Hooray!!
+
+In fact, it is flooded at the moment. Come back later.
+In fact, it is flooded at the moment. Come back later.
+
+In fact, the Tulimshar Noble District is world-renowned for crafting high-quality yellow garments!
+In fact, the Tulimshar Noble District is world-renowned for crafting high-quality yellow garments!
+
+In fact, you would get lost and killed. If I were you, I would avoid the Death Penalty. It's high, ya know?
+In fact, you would get lost and killed. If I were you, I would avoid the Death Penalty. It's high, ya know?
+
+In general, by touching the Mana Stone once, will make you a first degree mage. But these degrees goes up to seven and beyond, I think.
+In general, by touching the Mana Stone once, will make you a first degree mage. But these degrees goes up to seven and beyond, I think.
+
+In honor of %s, for their great deeds of recent bravery in face of impending doom.
+In honor of %s, for their great deeds of recent bravery in face of impending doom.
+
+In honor of %s, founder of this academy, whom built this academy WITH HIS OWN HANDS, WITH BLOOD SWEAT AND TEARS.
+In honor of %s, founder of this academy, whom built this academy WITH HIS OWN HANDS, WITH BLOOD SWEAT AND TEARS.
+
+In honor of %s, the greatest hero this world has even seen.
+In honor of %s, the greatest hero this world has even seen.
+
+In honor of DragonStar, winner of Easter 2018.
+In honor of DragonStar, winner of Easter 2018.
+
+In honor of Groata, winner of Easter 2020.
+In honor of Groata, winner of Easter 2020.
+
+In honor of Manatauro, Povo, YuckFou, Cadis Etrama di Raizel and everyone whom participated on it!
+In honor of Manatauro, Povo, YuckFou, Cadis Etrama di Raizel and everyone whom participated on it!
+
+In honor of Woody, winner of Easter 2019.
+In honor of Woody, winner of Easter 2019.
+
+In honor of everyone whom participated on it!
+In honor of everyone whom participated on it!
+
+In memoriam. May those whom shall never come back find rest in their afterlifes.
+In memoriam. May those whom shall never come back find rest in their afterlifes.
+
+In order to enter a message press the 'Enter' key, this will display the white box of typing. Type your message there and press 'Enter' again to send your speech.
+In order to enter a message press the 'Enter' key, this will display the white box of typing. Type your message there and press 'Enter' again to send your speech.
+
+In other words, I never heard of a Yeti eating a kid before. They prefer %s.
+In other words, I never heard of a Yeti eating a kid before. They prefer %s.
+
+In other words, it'll make a copy of youself.
+In other words, it'll make a copy of youself.
+
+In other words, whoever they are, they're after the sages. They are not targeting just simple magical users. This might be a problem.
+In other words, whoever they are, they're after the sages. They are not targeting just simple magical users. This might be a problem.
+
+In other words: If Lua couldn't find your record, your parents were part of this story! But, on which of these three groups were them?
+In other words: If Lua couldn't find your record, your parents were part of this story! But, on which of these three groups were them?
+
+In overall, you'll get more experience by fighting monsters.
+In overall, you'll get more experience by fighting monsters.
+
+In some cases, your pincode will be required.
+In some cases, your pincode will be required.
+
+In some dungeons etc., there might be a monster much, much stronger than all other monsters on the area. These are the optional miniboss.
+In some dungeons etc., there might be a monster much, much stronger than all other monsters on the area. These are the optional miniboss.
+
+In the
+In the
+
+In the end, elves would have quite the age to rivalize with human wizards.
+In the end, elves would have quite the age to rivalize with human wizards.
+
+In the end, they decide the defensive measures, and they even set curfews!
+In the end, they decide the defensive measures, and they even set curfews!
+
+In the first eight months I wanted to go back, but now I'm pretty used to living here. Please don't rescue me.
+In the first eight months I wanted to go back, but now I'm pretty used to living here. Please don't rescue me.
+
+In the storehouse, kill 4 @@. They keep coming back and contaminate our stored goods.
+In the storehouse, kill 4 @@. They keep coming back and contaminate our stored goods.
+
+In the world, you may find several treasure boxes. Different treasure boxes need different keys.
+In the world, you may find several treasure boxes. Different treasure boxes need different keys.
+
+In these dark times, countless souls moved away from Halinarzo. All hope seemed lost.
+In these dark times, countless souls moved away from Halinarzo. All hope seemed lost.
+
+In this case, haven't I counted, I would have deleted only part of the items, then I would go silent. No refunds.
+In this case, haven't I counted, I would have deleted only part of the items, then I would go silent. No refunds.
+
+In this cave we can easily find Coal, Iron ore, and sometimes @@.
+In this cave we can easily find Coal, Iron ore, and sometimes @@.
+
+In this town you'll find many critical things for your journey, like artifacts, dungeons, crafts and refiners. Please enjoy your stay. And keep tuned for news about us!
+In this town you'll find many critical things for your journey, like artifacts, dungeons, crafts and refiners. Please enjoy your stay. And keep tuned for news about us!
+
+In this wonderful realm, you can find and earn many @@, our currency!
+In this wonderful realm, you can find and earn many @@, our currency!
+
+In this world, Angela married with the Blue Sage. I had an... incident, with the Blue Sage, which is better forgetten. Anyway, seeking to cause a political instability, opposing Yetis every once in a while kidnap their daughter, Cindy.
+In this world, Angela married with the Blue Sage. I had an... incident, with the Blue Sage, which is better forgetten. Anyway, seeking to cause a political instability, opposing Yetis every once in a while kidnap their daughter, Cindy.
+
+In this world, your friends are your strength. You deserve a reward for the victory, please choose whatever you want.
+In this world, your friends are your strength. You deserve a reward for the victory, please choose whatever you want.
+
+In times of the fire, magic came to save us.
+In times of the fire, magic came to save us.
+
+In whom to vote?
+In whom to vote?
+
+Inac
+Inac
+
+Inactive
+Inactive
+
+Inar
+Inar
+
+Increase STR/INT/DEX in range for all guild allies.
+Increase STR/INT/DEX in range for all guild allies.
+
+Increase Weight skill replaced with Stealing.
+Increase Weight skill replaced with Stealing.
+
+Increase all stats
+Increase all stats
+
+Increase all stats from every guild member in area.
+Increase all stats from every guild member in area.
+
+Increase bow range and accuracy.
+Increase bow range and accuracy.
+
+Increase critical chance of all guild allies.
+Increase critical chance of all guild allies.
+
+Increase damage dealt by weapon for all guildies.
+Increase damage dealt by weapon for all guildies.
+
+Increase defense to all friends in radius.
+Increase defense to all friends in radius.
+
+Increase walk speed and flee rate.
+Increase walk speed and flee rate.
+
+Indeed, matey! Here they are!
+Indeed, matey! Here they are!
+
+Indeed. Sorry. I'm not giving you anything.
+Indeed. Sorry. I'm not giving you anything.
+
+Indoors 1 (Peace)
+Indoors 1 (Peace)
+
+Indoors 2 (Dimonds)
+Indoors 2 (Dimonds)
+
+Infantry Helmet
+Infantry Helmet
+
+Info
+Info
+
+Information
+Information
+
+Initiate a siege
+Initiate a siege
+
+Initiate small siege (lv. 5)
+Initiate small siege (lv. 5)
+
+Injured Mouboo
+Injured Mouboo
+
+Injuried Mouboo
+Injuried Mouboo
+
+Inn
+Inn
+
+Inn, Dimond's Cove
+Inn, Dimond's Cove
+
+Inn, Houses, Northwest Avenue
+Inn, Houses, Northwest Avenue
+
+Input new password:
+Input new password:
+
+Inside it, seems to be several magic reagents, powders, and other stuff.
+Inside it, seems to be several magic reagents, powders, and other stuff.
+
+Inside it, there'll be a Transcendence Gate.
+Inside it, there'll be a Transcendence Gate.
+
+Inside this house is my brother Alan. He knows how to make Forest Bows of exquisite quality.
+Inside this house is my brother Alan. He knows how to make Forest Bows of exquisite quality.
+
+Insisting will do us no good, maybe we should try to gain its trust first?
+Insisting will do us no good, maybe we should try to gain its trust first?
+
+Inst @@ Map @@
+Inst @@ Map @@
+
+Instantly jumps 5 tiles backwards.
+Instantly jumps 5 tiles backwards.
+
+Instantly jumps to target and delivers an attack.
+Instantly jumps to target and delivers an attack.
+
+Instead of "slap", it could "heal" or "appear".
+Instead of "slap", it could "heal" or "appear".
+
+Instead of burning the town to a crisp, it moved to the canyon. Passed through the scarce vegetation until it arrived Hurnscald... And burned it down.
+Instead of burning the town to a crisp, it moved to the canyon. Passed through the scarce vegetation until it arrived Hurnscald... And burned it down.
+
+Insufficient Guild Level! (@@/@@)
+Insufficient Guild Level! (@@/@@)
+
+Insufficient Guild Money! (Guild has: @@ GP)
+Insufficient Guild Money! (Guild has: @@ GP)
+
+Insufficient mana: @@/@@.
+Insufficient mana: @@/@@.
+
+Insurance
+Insurance
+
+Insurance Contract
+Insurance Contract
+
+Int Potion
+Int Potion
+
+Int+ Potion
+Int+ Potion
+
+Int++ Potion
+Int++ Potion
+
+Intelligence
+Intelligence
+
+Intelligence Fruit
+Intelligence Fruit
+
+Intense Beard
+Intense Beard
+
+Intensive Mage Challenge
+Intensive Mage Challenge
+
+Interested?
+Interested?
+
+Interesting! can I be rewarded for my help?
+Interesting! can I be rewarded for my help?
+
+Interlude
+Interlude
+
+Interlude - Fourth Act
+Interlude - Fourth Act
+
+Intermediary Dungeon (Lv 60+)
+Intermediary Dungeon (Lv 60+)
+
+Interval: (none, only sent on login)
+Interval: (none, only sent on login)
+
+Interval: every @@ hour(s)
+Interval: every @@ hour(s)
+
+Introduce
+Introduce
+
+Invalid Discord ID.
+Invalid Discord ID.
+
+Invalid amount!
+Invalid amount!
+
+Invalid map mask
+Invalid map mask
+
+Invalid music key. Current accepted values are:
+Invalid music key. Current accepted values are:
+
+Invalid parameter specified, blame saulc.
+Invalid parameter specified, blame saulc.
+
+Invalid quest state: @@
+Invalid quest state: @@
+
+Invalid recipe from Nahrec partly reimbursed.
+Invalid recipe from Nahrec partly reimbursed.
+
+Invalid season: @@
+Invalid season: @@
+
+Invest in Exportations
+Invest in Exportations
+
+Invest in Reputation
+Invest in Reputation
+
+Investing in Exportations
+Investing in Exportations
+
+Investing in Reputation
+Investing in Reputation
+
+Investment executed
+Investment executed
+
+Invite your friends, and become a Moubootaur Legend!
+Invite your friends, and become a Moubootaur Legend!
+
+Inya, the Jeweler
+Inya, the Jeweler
+
+Iridium Ingot
+Iridium Ingot
+
+Iridium Ore
+Iridium Ore
+
+Iridium Ore -> Titanium Ore
+Iridium Ore -> Titanium Ore
+
+Iron Ammo Box
+Iron Ammo Box
+
+Iron Armbands
+Iron Armbands
+
+Iron Arrow
+Iron Arrow
+
+Iron Backsword
+Iron Backsword
+
+Iron Blade Shield
+Iron Blade Shield
+
+Iron Bug Slayer
+Iron Bug Slayer
+
+Iron Ingot
+Iron Ingot
+
+Iron Ore
+Iron Ore
+
+Iron Ore -> Coal
+Iron Ore -> Coal
+
+Iron Powder
+Iron Powder
+
+Iron Quiver
+Iron Quiver
+
+Iron Quiver stats restored
+Iron Quiver stats restored
+
+Iron Short Gladius
+Iron Short Gladius
+
+Iron Shovel
+Iron Shovel
+
+Is it too deep?
+Is it too deep?
+
+Is it truly a hard choice to make?
+Is it truly a hard choice to make?
+
+Is that someone's luggage?
+Is that someone's luggage?
+
+Is that... Wait... Wow. You... Killed the murderer scorpion.
+Is that... Wait... Wow. You... Killed the murderer scorpion.
+
+Is there a reward?
+Is there a reward?
+
+Is this correct?
+Is this correct?
+
+Is this high-quality fur?
+Is this high-quality fur?
+
+Is this letter yours? Very well, let me read.
+Is this letter yours? Very well, let me read.
+
+Is your guild strong enough to give Arthur at least good nights sleep?
+Is your guild strong enough to give Arthur at least good nights sleep?
+
+Is... Dan... Ger... Ous...
+Is... Dan... Ger... Ous...
+
+Isbamuth
+Isbamuth
+
+Ishi
+Ishi
+
+Ishi, the Rewards Master
+Ishi, the Rewards Master
+
+Isn't hard to live alone?
+Isn't hard to live alone?
+
+It also expires after two hours. In such case, talk to him again!
+It also expires after two hours. In such case, talk to him again!
+
+It also increases naturally as you grow, albeit less.
+It also increases naturally as you grow, albeit less.
+
+It appears we were focusing too much on research and this lead to neglect of other duties of a Sage's household. This is dangerous in times of changes. I'm worried about the future.
+It appears we were focusing too much on research and this lead to neglect of other duties of a Sage's household. This is dangerous in times of changes. I'm worried about the future.
+
+It costs %d GP to use.
+It costs %d GP to use.
+
+It costs 600 GP to use.
+It costs 600 GP to use.
+
+It doesn't make much sense to draw overhasty conclusions.
+It doesn't make much sense to draw overhasty conclusions.
+
+It happens.
+It happens.
+
+It has a very dark color and an unusual aroma reminiscent of a moist forest.
+It has a very dark color and an unusual aroma reminiscent of a moist forest.
+
+It has been a great year, and the TMW2 Team would like to
+It has been a great year, and the TMW2 Team would like to
+
+It has been a total disaster. They killed %s. And everyone on the village.
+It has been a total disaster. They killed %s. And everyone on the village.
+
+It has eluded so many craftsmiths, who knows what can be done with that!
+It has eluded so many craftsmiths, who knows what can be done with that!
+
+It have lots of lava caves, and some cool stuff, like the @@, can only be craft there.
+It have lots of lava caves, and some cool stuff, like the @@, can only be craft there.
+
+It have the same shape as those used to polish weapons, but there are blood stains everywhere.
+It have the same shape as those used to polish weapons, but there are blood stains everywhere.
+
+It is %s since the last great attack from the Monster King.
+It is %s since the last great attack from the Monster King.
+
+It is NOT advised for new players to skip parts of the Main Quest.
+It is NOT advised for new players to skip parts of the Main Quest.
+
+It is NOT designed for noobs. It is for the pain-seeking pro adventurers who laugh at death, and see danger as fun.
+It is NOT designed for noobs. It is for the pain-seeking pro adventurers who laugh at death, and see danger as fun.
+
+It is a boss. I don't know how to summon one, and to be honest - You won't want to see one either.
+It is a boss. I don't know how to summon one, and to be honest - You won't want to see one either.
+
+It is a dangerous area, so we only allow students enrolled at the academy to participate.
+It is a dangerous area, so we only allow students enrolled at the academy to participate.
+
+It is a magical tower, though, cloaked in the desert. You can't just walk there. The tower was north of here, you will find a sign near the gate... But you won't find the gate itself.
+It is a magical tower, though, cloaked in the desert. You can't just walk there. The tower was north of here, you will find a sign near the gate... But you won't find the gate itself.
+
+It is a pirate treasure hideout, yarr arr! If you have a @@ and a @@, you may get luck, yarr!
+It is a pirate treasure hideout, yarr arr! If you have a @@ and a @@, you may get luck, yarr!
+
+It is a port city at the south of the continent. Main economic activities are mining and spices trade.
+It is a port city at the south of the continent. Main economic activities are mining and spices trade.
+
+It is a really cool place. You must visit it someday!
+It is a really cool place. You must visit it someday!
+
+It is a sunny day, don't you think?
+It is a sunny day, don't you think?
+
+It is difficult to describe, it is like if it was mixed with mana itself. Drinking a bit of it was enough to recover your MP.
+It is difficult to describe, it is like if it was mixed with mana itself. Drinking a bit of it was enough to recover your MP.
+
+It is known that even world wars have been under cease-fire on this date. On our world, Jesus Saves pays fortunes to Santa so he can gift every adventurer for the good year.
+It is known that even world wars have been under cease-fire on this date. On our world, Jesus Saves pays fortunes to Santa so he can gift every adventurer for the good year.
+
+It is no use... We are too close to a island, they will keep invading the ship...
+It is no use... We are too close to a island, they will keep invading the ship...
+
+It is not much, but here is %d GP. Should buy you a snack!
+It is not much, but here is %d GP. Should buy you a snack!
+
+It is not my fault!
+It is not my fault!
+
+It is not my fault.
+It is not my fault.
+
+It is often easier to get invited by someone, but if you want to create it, you're free to. Remember guilds also have a player limit.
+It is often easier to get invited by someone, but if you want to create it, you're free to. Remember guilds also have a player limit.
+
+It is on a huge, icy mountain peak. Rumors about dragons and legendary items to be found.
+It is on a huge, icy mountain peak. Rumors about dragons and legendary items to be found.
+
+It is one of the five legendary weapons. Legend says it was hidden in a tree on Aethyr, and will be given to the one who proves to be an excelent archer.
+It is one of the five legendary weapons. Legend says it was hidden in a tree on Aethyr, and will be given to the one who proves to be an excelent archer.
+
+It is pretty close to here. I advise you to use a good sword, and heal yourself often.
+It is pretty close to here. I advise you to use a good sword, and heal yourself often.
+
+It is said that if someone dies to the pinkies but is then avenged and mourned, the avenger may claim from the tree the shield of the world!
+It is said that if someone dies to the pinkies but is then avenged and mourned, the avenger may claim from the tree the shield of the world!
+
+It is so dangerous, and it...
+It is so dangerous, and it...
+
+It is the birthplace of humans, the first place to come to existence... The World Edge. The place where humanity began, and according to the legend... The place where it shall perish.
+It is the birthplace of humans, the first place to come to existence... The World Edge. The place where humanity began, and according to the legend... The place where it shall perish.
+
+It is the non-rare ingredients I actually need help with!
+It is the non-rare ingredients I actually need help with!
+
+It is the place where it all began... And I'm not talking about the Mana War.
+It is the place where it all began... And I'm not talking about the Mana War.
+
+It is time to send %s to your beloved ones!
+It is time to send %s to your beloved ones!
+
+It is very hard to come by, however, my father has a copy he might sell to you for the right price.
+It is very hard to come by, however, my father has a copy he might sell to you for the right price.
+
+It is... SO CUTE! You won't refuse honey to a teddy, will you?
+It is... SO CUTE! You won't refuse honey to a teddy, will you?
+
+It looks dangerous.
+It looks dangerous.
+
+It looks like you are ready. Let me see if there is an easy task for you...
+It looks like you are ready. Let me see if there is an easy task for you...
+
+It looks like you can't carry anything else for now.
+It looks like you can't carry anything else for now.
+
+It looks locked.
+It looks locked.
+
+It matters not, because soon, all of you will be...
+It matters not, because soon, all of you will be...
+
+It may also create some @@ or a @@, with enough skill.
+It may also create some @@ or a @@, with enough skill.
+
+It may be dangerous. I better ask %s to check it instead.
+It may be dangerous. I better ask %s to check it instead.
+
+It may be expensive to return here. Are you sure?
+It may be expensive to return here. Are you sure?
+
+It may fail, and you might end up with something entirely unexpected, or nothing at all!
+It may fail, and you might end up with something entirely unexpected, or nothing at all!
+
+It might be a good idea to ask around if anyone else observed something odd connected to this person.
+It might be a good idea to ask around if anyone else observed something odd connected to this person.
+
+It might be just my gut instinct, but... Would you be willing to talk with Peetu and the other helpers, investigating what actually happened?
+It might be just my gut instinct, but... Would you be willing to talk with Peetu and the other helpers, investigating what actually happened?
+
+It might be, but I never heard of you before. Sorry @@, I can't let just anyone go through. It would be a disservice to see you get stuck and die.
+It might be, but I never heard of you before. Sorry @@, I can't let just anyone go through. It would be a disservice to see you get stuck and die.
+
+It might be, but your level isn't. Sorry @@. No going to Hurnscald before level 20.
+It might be, but your level isn't. Sorry @@. No going to Hurnscald before level 20.
+
+It more than just a piece of Zealite Ore... It is a part of the world's heart.
+It more than just a piece of Zealite Ore... It is a part of the world's heart.
+
+It only loses to Tulimshar, as far as political and economical importance goes.
+It only loses to Tulimshar, as far as political and economical importance goes.
+
+It really comes in handy that I have my towel with me. A towel is about the most massively useful thing an inte- ahm, a person can have.
+It really comes in handy that I have my towel with me. A towel is about the most massively useful thing an inte- ahm, a person can have.
+
+It rules Tulimshar, and is also one of the superior bodies of the Alliance. They have the last Mana Stone in the world on their meeting hall.
+It rules Tulimshar, and is also one of the superior bodies of the Alliance. They have the last Mana Stone in the world on their meeting hall.
+
+It seems all of the slimes are gone now. I'm so glad! Thanks for your help. I mentioned your assistance to Nikolai.
+It seems all of the slimes are gone now. I'm so glad! Thanks for your help. I mentioned your assistance to Nikolai.
+
+It seems happy, but it quickly goes to a dark honey after finishing.
+It seems happy, but it quickly goes to a dark honey after finishing.
+
+It seems that you have no status points to reset!
+It seems that you have no status points to reset!
+
+It seems to be a mechanism of some kind, but it is missing a Runestone.
+It seems to be a mechanism of some kind, but it is missing a Runestone.
+
+It seems to be a puzzle, you can only imagine what needs to be done in order to enable the right portals.
+It seems to be a puzzle, you can only imagine what needs to be done in order to enable the right portals.
+
+It seems to be concentrated on its small pot... So concentrated, it doesn't even realizes you're there.
+It seems to be concentrated on its small pot... So concentrated, it doesn't even realizes you're there.
+
+It seems to be growing apples, but by the amount of magic particles...
+It seems to be growing apples, but by the amount of magic particles...
+
+It seems to be the ruins of some sort of Mouboo Temple or whatever, from a millenia ago. There may be traps, so be careful.
+It seems to be the ruins of some sort of Mouboo Temple or whatever, from a millenia ago. There may be traps, so be careful.
+
+It seems to have been abandoned a long time ago, but the chimney is still going?
+It seems to have been abandoned a long time ago, but the chimney is still going?
+
+It should be almost a boss at your level, so I don't expect to see you again here so soon.
+It should be almost a boss at your level, so I don't expect to see you again here so soon.
+
+It should be back in @@
+It should be back in @@
+
+It should bring me back.
+It should bring me back.
+
+It smells like manatauro's room.
+It smells like manatauro's room.
+
+It still isn't time to awake the King Of Holy Swords, Light Bringer.
+It still isn't time to awake the King Of Holy Swords, Light Bringer.
+
+It then looks at you with a pleasant smile, you definitely earned a new cute friend!
+It then looks at you with a pleasant smile, you definitely earned a new cute friend!
+
+It was a boring lesson, but you have mastered Mananese.
+It was a boring lesson, but you have mastered Mananese.
+
+It was a little @@.
+It was a little @@.
+
+It was a real problem, threatening them to go out of business. I think they are trying to recover the lost weapons.
+It was a real problem, threatening them to go out of business. I think they are trying to recover the lost weapons.
+
+It was a recipe you already knew... (+ @@ Mobpt)
+It was a recipe you already knew... (+ @@ Mobpt)
+
+It was a reeeeeealy close dispute for the podium, but Jesusalva crafted an item at the last minute and took the first place!
+It was a reeeeeealy close dispute for the podium, but Jesusalva crafted an item at the last minute and took the first place!
+
+It was a tough fight.
+It was a tough fight.
+
+It was a trap! We must escape!
+It was a trap! We must escape!
+
+It was an awful cut! Don't think any piece of a sightly lower material will have part in my art!
+It was an awful cut! Don't think any piece of a sightly lower material will have part in my art!
+
+It was built by The Alliance, and can be accessed by a ship in Tulimshar.
+It was built by The Alliance, and can be accessed by a ship in Tulimshar.
+
+It was just south of the island. Try walking around a bit?
+It was just south of the island. Try walking around a bit?
+
+It was my job to seal the slimes away for the night, but I somehow messed it up!
+It was my job to seal the slimes away for the night, but I somehow messed it up!
+
+It was nice seeing you.
+It was nice seeing you.
+
+It was said that these five heroes will once again emerge;
+It was said that these five heroes will once again emerge;
+
+It was so lovely, and it had some very tasty fruits, too! But the cave was so dangerous...
+It was so lovely, and it had some very tasty fruits, too! But the cave was so dangerous...
+
+It was so tasty, I can't eat anything more... Thank you.
+It was so tasty, I can't eat anything more... Thank you.
+
+It wasn't easy, but you think that you extinguished this nest.
+It wasn't easy, but you think that you extinguished this nest.
+
+It wasn't this time...
+It wasn't this time...
+
+It will allow you to store %d extra items, with unlimited weight or size limit, for only %s GP! Although premium clients such as yourself... deserve a discount!
+It will allow you to store %d extra items, with unlimited weight or size limit, for only %s GP! Although premium clients such as yourself... deserve a discount!
+
+It won't be long before we reach our destination...
+It won't be long before we reach our destination...
+
+It would be unwise to pick a fight with the Yeti King himself. The whole town would suffer.
+It would be unwise to pick a fight with the Yeti King himself. The whole town would suffer.
+
+It would be very kind of you, if you could seek who I am!
+It would be very kind of you, if you could seek who I am!
+
+It'll also boost your %s for %s.
+It'll also boost your %s for %s.
+
+It'll also drain mana in the proccess. If you run out of mana, its over.
+It'll also drain mana in the proccess. If you run out of mana, its over.
+
+It'll be my pleasure.
+It'll be my pleasure.
+
+It'll be too dangerous if you're not at least level %d. But I'm sure you can grind the required level in no time; Don't let your body down! Exercise!
+It'll be too dangerous if you're not at least level %d. But I'm sure you can grind the required level in no time; Don't let your body down! Exercise!
+
+It'll cost @@ GP
+It'll cost @@ GP
+
+It'll cost you @@ GP.
+It'll cost you @@ GP.
+
+It's
+It's
+
+It's *sniff* It's all my fault... *sniff*
+It's *sniff* It's all my fault... *sniff*
+
+It's @@ (day)!
+It's @@ (day)!
+
+It's @@ @@.
+It's @@ @@.
+
+It's International Chocolate Day!
+It's International Chocolate Day!
+
+It's Jesusalva's anniversary!
+It's Jesusalva's anniversary!
+
+It's St. Patrick Day, so be warned everyone wants a green dye... So, I raise the prices.
+It's St. Patrick Day, so be warned everyone wants a green dye... So, I raise the prices.
+
+It's St. Patrick Event!
+It's St. Patrick Event!
+
+It's TMW2 Project anniversary!
+It's TMW2 Project anniversary!
+
+It's TMW2 Server anniversary!
+It's TMW2 Server anniversary!
+
+It's a @@!
+It's a @@!
+
+It's a complex curse.
+It's a complex curse.
+
+It's a cursed mouboo.
+It's a cursed mouboo.
+
+It's a scary legend of old. It's truth, but I don't know how much it is.
+It's a scary legend of old. It's truth, but I don't know how much it is.
+
+It's a simple curse.
+It's a simple curse.
+
+It's a strange drawing of a Mouboo.
+It's a strange drawing of a Mouboo.
+
+It's a tie!
+It's a tie!
+
+It's a very delicate spell. I usually start to prepare it while the helpers are still working on their research and experiments. That way, when they're done, they can just come and place the slimes under the seal.
+It's a very delicate spell. I usually start to prepare it while the helpers are still working on their research and experiments. That way, when they're done, they can just come and place the slimes under the seal.
+
+It's advised to collect PVP equipment.
+It's advised to collect PVP equipment.
+
+It's advised to come ready for the cold, the hungry beasts, and other dangers snow may bring.
+It's advised to come ready for the cold, the hungry beasts, and other dangers snow may bring.
+
+It's all my fault, I should've paid more attention! You should talk to Chief Oskari about this.
+It's all my fault, I should've paid more attention! You should talk to Chief Oskari about this.
+
+It's always good to see if you have a lot of them around before you think about attacking one!
+It's always good to see if you have a lot of them around before you think about attacking one!
+
+It's an ambush!
+It's an ambush!
+
+It's autumn! There is no special event during autumn, only special drops.
+It's autumn! There is no special event during autumn, only special drops.
+
+It's cold, harsh climate makes difficult to live there. It was founded by people thrown away from Tulimshar and Hunrscald for political reasons.
+It's cold, harsh climate makes difficult to live there. It was founded by people thrown away from Tulimshar and Hunrscald for political reasons.
+
+It's currently day, but when night falls, Candor will become darker.
+It's currently day, but when night falls, Candor will become darker.
+
+It's currently night, that's why Candor is dark.
+It's currently night, that's why Candor is dark.
+
+It's dangerous in the library right now, be careful. Do you need anything else?
+It's dangerous in the library right now, be careful. Do you need anything else?
+
+It's done with @@ teethes. These drain your life and raise your strenght to SMASH your foes!
+It's done with @@ teethes. These drain your life and raise your strenght to SMASH your foes!
+
+It's far from over! You cannot defeat me!
+It's far from over! You cannot defeat me!
+
+It's full of Mouboo drawings.
+It's full of Mouboo drawings.
+
+It's good to see you too, do you happen to be able to make stuff?
+It's good to see you too, do you happen to be able to make stuff?
+
+It's higher! That's right!
+It's higher! That's right!
+
+It's impossible to know when she'll be back, so you should prioritize something else for now.
+It's impossible to know when she'll be back, so you should prioritize something else for now.
+
+It's locked.
+It's locked.
+
+It's locked. But a close inspection reveals a small key under the rug.
+It's locked. But a close inspection reveals a small key under the rug.
+
+It's lower! That's right!
+It's lower! That's right!
+
+It's my duty to protect the beings in the forest... Not all of them are monsters as @@s like you think.
+It's my duty to protect the beings in the forest... Not all of them are monsters as @@s like you think.
+
+It's none of your business.
+It's none of your business.
+
+It's not as good as my new one, but still very useful.
+It's not as good as my new one, but still very useful.
+
+It's not hard to repair, but nobody is bothering Jesusalva on #world as of late. %%n
+It's not hard to repair, but nobody is bothering Jesusalva on #world as of late. %%n
+
+It's not much of a reward, but doesn't it feel great to help others in need?! HAHAHA!
+It's not much of a reward, but doesn't it feel great to help others in need?! HAHAHA!
+
+It's not much of a reward, but doesn't it feels great to help others in need?! HAHAHA!
+It's not much of a reward, but doesn't it feels great to help others in need?! HAHAHA!
+
+It's not possible to see any light, and it seems to small and damp to have monsters.
+It's not possible to see any light, and it seems to small and damp to have monsters.
+
+It's not warranted you'll be able to get the powder back, either.
+It's not warranted you'll be able to get the powder back, either.
+
+It's obtained with ADMINS or by selling furniture. It is sumed to money and used first.
+It's obtained with ADMINS or by selling furniture. It is sumed to money and used first.
+
+It's over a hundred meters in depth. There is some land here, but I'm afraid of Terranite.
+It's over a hundred meters in depth. There is some land here, but I'm afraid of Terranite.
+
+It's self sufficient economically, and many fairies enjoy travelling there. In fact, rumors says the Fairy Kingdom is near it!
+It's self sufficient economically, and many fairies enjoy travelling there. In fact, rumors says the Fairy Kingdom is near it!
+
+It's spring! Two lovely NPCs at woodlands can be found...
+It's spring! Two lovely NPCs at woodlands can be found...
+
+It's spring, when the wind is always good.
+It's spring, when the wind is always good.
+
+It's steaming hot, but you guess this is where Isbamuth created homunculus. Most bandits, thieves and assassins seems to have been born here.
+It's steaming hot, but you guess this is where Isbamuth created homunculus. Most bandits, thieves and assassins seems to have been born here.
+
+It's steaming. Who knows what insanity Isbamuth is brewing inside?!
+It's steaming. Who knows what insanity Isbamuth is brewing inside?!
+
+It's summer! Ched is having his usual contest, but Luffyx in Hurnscald is up to no good!
+It's summer! Ched is having his usual contest, but Luffyx in Hurnscald is up to no good!
+
+It's tasty ^.^
+It's tasty ^.^
+
+It's the Free Software Day!
+It's the Free Software Day!
+
+It's the International Coffee Day!
+It's the International Coffee Day!
+
+It's the least I could do for having you to go through all this struggle. I've already paid everything, so just talk to the receptionist for your room :>
+It's the least I could do for having you to go through all this struggle. I've already paid everything, so just talk to the receptionist for your room :>
+
+It's time to show this shiny @@ who is the boss! HAHAHAHAHAHAHAH!
+It's time to show this shiny @@ who is the boss! HAHAHAHAHAHAHAH!
+
+It's time. My army already have tens of thousands of monsters, homunculus, persons. The mana stones I've got thus far are all dried out, now.
+It's time. My army already have tens of thousands of monsters, homunculus, persons. The mana stones I've got thus far are all dried out, now.
+
+It's too faint to read.
+It's too faint to read.
+
+It's totally safe. They are loyal as long that feed. And to think I started off giving @@ to the poor...
+It's totally safe. They are loyal as long that feed. And to think I started off giving @@ to the poor...
+
+It's true enough an @@ could heal even a dead tree, and would dispel almost every status ailment I could have.
+It's true enough an @@ could heal even a dead tree, and would dispel almost every status ailment I could have.
+
+It's valentine day, and I got my hands on a @@ model!
+It's valentine day, and I got my hands on a @@ model!
+
+It's very brave of you to fight against those slimes deeper in the library. Remember that you have to kill the entire group to prevent them from breeding. And do it @@!
+It's very brave of you to fight against those slimes deeper in the library. Remember that you have to kill the entire group to prevent them from breeding. And do it @@!
+
+It's weaker than before, probably only one is working right now.
+It's weaker than before, probably only one is working right now.
+
+It's winter! An NPC in Nivalis Town is freezing...
+It's winter! An NPC in Nivalis Town is freezing...
+
+It's written in Mananese, you cannot read.
+It's written in Mananese, you cannot read.
+
+It's written in an ancient language, you cannot understand what's written.
+It's written in an ancient language, you cannot understand what's written.
+
+It's yummy ^.^
+It's yummy ^.^
+
+Item 816
+Item 816
+
+Item List
+Item List
+
+Item break? Too dangerous! I don't want it!!
+Item break? Too dangerous! I don't want it!!
+
+Item created.
+Item created.
+
+Item obtained: @@
+Item obtained: @@
+
+Item sold!
+Item sold!
+
+Items for consumption, like potions, can only be used once.
+Items for consumption, like potions, can only be used once.
+
+Items have different effects. Some will heal you, some can be used as weapons or armor, and some can be sold for gold.
+Items have different effects. Some will heal you, some can be used as weapons or armor, and some can be sold for gold.
+
+Items in your storage are totally safe. Banking itself is totally safe.
+Items in your storage are totally safe. Banking itself is totally safe.
+
+Iten
+Iten
+
+Itka
+Itka
+
+Ivanize
+Ivanize
+
+JAIL THEM!!
+JAIL THEM!!
+
+JAK1, THE SLIME RESEARCHER
+JAK1, THE SLIME RESEARCHER
+
+Jack
+Jack
+
+Jack bends the log over his knee.
+Jack bends the log over his knee.
+
+Jack'O
+Jack'O
+
+Jack'O Lantern
+Jack'O Lantern
+
+Jack's Skeleton Charm
+Jack's Skeleton Charm
+
+Jack, the Lumberjack
+Jack, the Lumberjack
+
+JackO
+JackO
+
+Jackpot! You got the @@!
+Jackpot! You got the @@!
+
+Jackpot! You got the Monocle!
+Jackpot! You got the Monocle!
+
+Jackpot! You got the Paper Bag!
+Jackpot! You got the Paper Bag!
+
+Jakod
+Jakod
+
+Janika
+Janika
+
+Jar Of Blood
+Jar Of Blood
+
+Jarret, Tulimshar's Founder, was a great man, but his successors were not. Specially the Red Queen. Eventually, our clan had enough and moved away from Tulim.
+Jarret, Tulimshar's Founder, was a great man, but his successors were not. Specially the Red Queen. Eventually, our clan had enough and moved away from Tulim.
+
+Jasmine Tea
+Jasmine Tea
+
+Jeans Chaps
+Jeans Chaps
+
+Jeans Shorts
+Jeans Shorts
+
+Jelly Beans
+Jelly Beans
+
+Jenny
+Jenny
+
+Jeremy
+Jeremy
+
+Jerican
+Jerican
+
+Jerry
+Jerry
+
+Jesusalva
+Jesusalva
+
+Jesusalva : \\o/
+Jesusalva : \\o/
+
+Jesusalva Card
+Jesusalva Card
+
+Jesusalva still have this closed because the traps are broken... %%n But we shall open soon. %%G
+Jesusalva still have this closed because the traps are broken... %%n But we shall open soon. %%G
+
+Jesusaves wrote a grimorie, with ancient secrets of our world.
+Jesusaves wrote a grimorie, with ancient secrets of our world.
+
+Jesusaves's Grimorium
+Jesusaves's Grimorium
+
+Jeweler
+Jeweler
+
+Jhedia
+Jhedia
+
+Jhon Henryfield
+Jhon Henryfield
+
+Jhon Longnose
+Jhon Longnose
+
+Joanna
+Joanna
+
+Joaquim
+Joaquim
+
+Job Level and certain equips can affect your status. You'll see the modifiers with a + sign.
+Job Level and certain equips can affect your status. You'll see the modifiers with a + sign.
+
+Job levels already boosts all your status. It gives +1 on each status every 10 job levels.
+Job levels already boosts all your status. It gives +1 on each status every 10 job levels.
+
+Joelin
+Joelin
+
+Join existing arena
+Join existing arena
+
+Join teh Guild
+Join teh Guild
+
+Joker
+Joker
+
+Judgement
+Judgement
+
+Judgement has passed.
+Judgement has passed.
+
+Judgment
+Judgment
+
+Juliet
+Juliet
+
+Juliet is east (right) of %s.
+Juliet is east (right) of %s.
+
+Jump inside!
+Jump inside!
+
+June 21st - September 21st
+June 21st - September 21st
+
+Junglefowl
+Junglefowl
+
+Just @@ ago, thieves stole Pihro & Pyndragon weapons.
+Just @@ ago, thieves stole Pihro & Pyndragon weapons.
+
+Just be really, REALLY sure you want to do it. I mean, the gemstone will break.
+Just be really, REALLY sure you want to do it. I mean, the gemstone will break.
+
+Just beware that if you leave, you might get killed really quickly. No death penalty, though.
+Just beware that if you leave, you might get killed really quickly. No death penalty, though.
+
+Just go over there and you'll be able to board the Airship. The travel takes a while so please be patient and good luck!
+Just go over there and you'll be able to board the Airship. The travel takes a while so please be patient and good luck!
+
+Just go right, yeye can't miss her. She's the only girl in this crew.#1
+Just go right, yeye can't miss her. She's the only girl in this crew.
+
+Just go right, yeye can't miss her. She's the only girl in this crew, oh well, except for you now yeyeye!#0
+Just go right, yeye can't miss her. She's the only girl in this crew, oh well, except for you now yeyeye!
+
+Just go to the basement, past this door. Good luck, @@!
+Just go to the basement, past this door. Good luck, @@!
+
+Just like every cave below the woodlands are under the Terranite King domains, every land covered in snow is under the Yeti King's domains.
+Just like every cave below the woodlands are under the Terranite King domains, every land covered in snow is under the Yeti King's domains.
+
+Just like parties, you can create from Social menu, but there is a catch: I will give you a document, which allows you to create ONE GUILD.
+Just like parties, you can create from Social menu, but there is a catch: I will give you a document, which allows you to create ONE GUILD.
+
+Just look at that water! There's a whole bunch of fish down there.
+Just look at that water! There's a whole bunch of fish down there.
+
+Just looking at him you smell danger, adventure, excitement...
+Just looking at him you smell danger, adventure, excitement...
+
+Just make sure to don't try to poison a guard or something, and don't tell anyone of our little deal. As a proof of our agreement, I'll even give you a freebie, so you can see this is the real deal.
+Just make sure to don't try to poison a guard or something, and don't tell anyone of our little deal. As a proof of our agreement, I'll even give you a freebie, so you can see this is the real deal.
+
+Just one coin for spin.
+Just one coin for spin.
+
+Just tell him that I want to reconsider, and that I want the souvenir he offered me when I moved to Hurnscald.
+Just tell him that I want to reconsider, and that I want the souvenir he offered me when I moved to Hurnscald.
+
+Just two coins for spin.
+Just two coins for spin.
+
+Just use the arrow key--, err, I mean, just walk to the door on the right. The one which is not guarded by Peter.
+Just use the arrow key--, err, I mean, just walk to the door on the right. The one which is not guarded by Peter.
+
+Just wait. Fafi dragons are slow to show up...
+Just wait. Fafi dragons are slow to show up...
+
+Just... Don't accidentaly invoke a Legendary Guardian or something, these thingies could destroy a whole city.
+Just... Don't accidentaly invoke a Legendary Guardian or something, these thingies could destroy a whole city.
+
+KUNAI
+KUNAI
+
+Kage
+Kage
+
+Kaizei Human
+Kaizei Human
+
+Kamelot Castle is a GUILD DUNGEON which refreshes WEEKLY.
+Kamelot Castle is a GUILD DUNGEON which refreshes WEEKLY.
+
+Kamelot Key
+Kamelot Key
+
+Kamelot Raid
+Kamelot Raid
+
+Kamelot Season is open!
+Kamelot Season is open!
+
+Kanabo
+Kanabo
+
+Katazuli breaking proccess will cause the breaker some harm.
+Katazuli breaking proccess will cause the breaker some harm.
+
+Katze
+Katze
+
+Keep breaking
+Keep breaking
+
+Keep exploring the Study Room and certify it is safe first.
+Keep exploring the Study Room and certify it is safe first.
+
+Keep exploring the Study Room and certify it is safe first. Also, make sure to learn what this was used for.
+Keep exploring the Study Room and certify it is safe first. Also, make sure to learn what this was used for.
+
+Keep following the path. Take this and... good luck.
+Keep following the path. Take this and... good luck.
+
+Keep in mind that %s are weak, baby Yetis, so kill them as well!
+Keep in mind that %s are weak, baby Yetis, so kill them as well!
+
+Keep in mind the more power you have, the less control you'll have as well. Until you get a %s to track progress, use %s to check your control. Less control may result in failure to summon!
+Keep in mind the more power you have, the less control you'll have as well. Until you get a %s to track progress, use %s to check your control. Less control may result in failure to summon!
+
+Keep in mind this is a PvP area - So try to avoid being butchered, because revival spells are disabled here! Hahaha!
+Keep in mind this is a PvP area - So try to avoid being butchered, because revival spells are disabled here! Hahaha!
+
+Keep in mind, the more levels and intelligence you have, more likely the Mana Stone will grant you more Magic Power. But that means nothing.
+Keep in mind, the more levels and intelligence you have, more likely the Mana Stone will grant you more Magic Power. But that means nothing.
+
+Keep in mind, we at the Academy do not have a Mana Stone.
+Keep in mind, we at the Academy do not have a Mana Stone.
+
+Keep moving boy.#1
+Keep moving boy.
+
+Keep moving girl.#0
+Keep moving girl.
+
+Keep the Grimorie with you. It's a rare book which holds data from all others. The book shall guide your advances!
+Keep the Grimorie with you. It's a rare book which holds data from all others. The book shall guide your advances!
+
+Keep your voice down and just listen.
+Keep your voice down and just listen.
+
+Keep your voice down! And yes. Can you confirm @@ was the cause?
+Keep your voice down! And yes. Can you confirm @@ was the cause?
+
+Kenton
+Kenton
+
+Kevin
+Kevin
+
+Khafar
+Khafar
+
+Khaki Dye
+Khaki Dye
+
+Kid Bola
+Kid Bola
+
+Kill %s!
+Kill %s!
+
+Kill 'em all!
+Kill 'em all!
+
+Kill 'em!
+Kill 'em!
+
+Kill 2 @@. This will prove your worth. They are northwest of the island.
+Kill 2 @@. This will prove your worth. They are northwest of the island.
+
+Kill at least a hundred of Pinkies here, and then we can talk.
+Kill at least a hundred of Pinkies here, and then we can talk.
+
+Kill the @@ at the storehouse.
+Kill the @@ at the storehouse.
+
+Killed in action!
+Killed in action!
+
+King Arthur
+King Arthur
+
+King Arthur the Corrupted
+King Arthur the Corrupted
+
+King Arthur the Micksha
+King Arthur the Micksha
+
+King Gelid
+King Gelid
+
+King Gelid Frozenheart
+King Gelid Frozenheart
+
+King Gelid Frozenheart II rules over all elves and dwarves who live here peacefully, and he also presides the city council.
+King Gelid Frozenheart II rules over all elves and dwarves who live here peacefully, and he also presides the city council.
+
+King Gelid Frozenheart II will have you.
+King Gelid Frozenheart II will have you.
+
+King Of Trials
+King Of Trials
+
+King of all heroes,
+King of all heroes,
+
+Kitana
+Kitana
+
+Knife
+Knife
+
+Knight Card
+Knight Card
+
+Knight Card S
+Knight Card S
+
+Knight Card X
+Knight Card X
+
+Knit Hat
+Knit Hat
+
+Knock on the door?
+Knock on the door?
+
+Knockback Immunity
+Knockback Immunity
+
+Knowing that would make you a descendant of them. But eh, that's asking too much. You had amnesia, right? That was on the letter.
+Knowing that would make you a descendant of them. But eh, that's asking too much. You had amnesia, right? That was on the letter.
+
+Knowing when to warp is the secret to success!
+Knowing when to warp is the secret to success!
+
+Knowledge is power... And now you have both. Use them wisely.
+Knowledge is power... And now you have both. Use them wisely.
+
+Knox The Traveler
+Knox The Traveler
+
+Kolchak and dangerDuck are working to finish Duck Dungeon. Contact them for updates...
+Kolchak and dangerDuck are working to finish Duck Dungeon. Contact them for updates...
+
+Kreist
+Kreist
+
+Kreist, Taskmaster
+Kreist, Taskmaster
+
+Kristian
+Kristian
+
+Kullervo
+Kullervo
+
+Kunai
+Kunai
+
+LEAVE NOW... BEFORE IT BECOMES TOO LATE....
+LEAVE NOW... BEFORE IT BECOMES TOO LATE....
+
+LEGACY Broadsword
+LEGACY Broadsword
+
+LEGACY Miere Cleaver
+LEGACY Miere Cleaver
+
+LET'S DANCE!
+LET'S DANCE!
+
+LOFBot
+LOFBot
+
+LOWER!
+LOWER!
+
+Lachesis Brew
+Lachesis Brew
+
+Land Of Fire
+Land Of Fire
+
+Land Of Fire - @@ GP
+Land Of Fire - @@ GP
+
+Land Of Fire Office
+Land Of Fire Office
+
+Land Of Fire Townhall
+Land Of Fire Townhall
+
+Land Of Fire Village
+Land Of Fire Village
+
+Land Of Fire Village (@@m)
+Land Of Fire Village (@@m)
+
+Land Of Fire is a place so warm... Although this workshop is a better place to break time and space during Christmas.
+Land Of Fire is a place so warm... Although this workshop is a better place to break time and space during Christmas.
+
+Laranja
+Laranja
+
+Last IP: @@
+Last IP: @@
+
+Last Seen: @@
+Last Seen: @@
+
+Last Stand Card
+Last Stand Card
+
+Last Standing Man
+Last Standing Man
+
+Last map: @@
+Last map: @@
+
+Last time they told me he collected more than that...
+Last time they told me he collected more than that...
+
+Later
+Later
+
+Later.
+Later.
+
+Latif
+Latif
+
+Laura
+Laura
+
+Lava Mana Pearl
+Lava Mana Pearl
+
+Lava Skull Slime
+Lava Skull Slime
+
+Lava Slime
+Lava Slime
+
+Lava Slime Mother
+Lava Slime Mother
+
+Lavern
+Lavern
+
+Lawn Cable
+Lawn Cable
+
+Lawn Cable Card
+Lawn Cable Card
+
+Lawncandy
+Lawncandy
+
+Layman
+Layman
+
+Lazurite Cristal
+Lazurite Cristal
+
+Lazurite Heart
+Lazurite Heart
+
+Lazurite Robe
+Lazurite Robe
+
+Lazurite Shard
+Lazurite Shard
+
+Lead Ingot
+Lead Ingot
+
+Lead Ore
+Lead Ore
+
+Lead Ore -> Tin Ore
+Lead Ore -> Tin Ore
+
+Leader Wand
+Leader Wand
+
+Leaderboard is refresh daily at 1 AM!
+Leaderboard is refresh daily at 1 AM!
+
+Leaderboard is refresh daily at 11:59 and 23:59!
+Leaderboard is refresh daily at 11:59 and 23:59!
+
+Learn Alchemy Recipes
+Learn Alchemy Recipes
+
+Learn crafting for @@ GP
+Learn crafting for @@ GP
+
+Learn individual guild skills
+Learn individual guild skills
+
+Learn milking a Mouboo. And if you harm them, I'll cast a lightning bolt at you!
+Learn milking a Mouboo. And if you harm them, I'll cast a lightning bolt at you!
+
+Learn what?
+Learn what?
+
+Learned a new recipe!
+Learned a new recipe!
+
+Learning from seeing (aka. AFK-ing) skill LEVEL UP!!
+Learning from seeing (aka. AFK-ing) skill LEVEL UP!!
+
+Leather
+Leather
+
+Leather Ball
+Leather Ball
+
+Leather Boots
+Leather Boots
+
+Leather Gloves
+Leather Gloves
+
+Leather Patch
+Leather Patch
+
+Leather Quiver
+Leather Quiver
+
+Leather Shield
+Leather Shield
+
+Leather Shirt
+Leather Shirt
+
+Leather Suitcase
+Leather Suitcase
+
+Leather Trousers
+Leather Trousers
+
+Leave
+Leave
+
+Leave blank to abort.
+Leave blank to abort.
+
+Leave it
+Leave it
+
+Leave it alone!
+Leave it alone!
+
+Leave it alone.
+Leave it alone.
+
+Leave it alone?
+Leave it alone?
+
+Leave me alone! Stop annoying me!
+Leave me alone! Stop annoying me!
+
+Leave me alone.
+Leave me alone.
+
+Leave sir Benjamin in charge for a few more years, and nothing will be left of these towns. I hope this council perishes in a fire!
+Leave sir Benjamin in charge for a few more years, and nothing will be left of these towns. I hope this council perishes in a fire!
+
+Leave the Mouboo alone
+Leave the Mouboo alone
+
+Leave the poor thing in peace.
+Leave the poor thing in peace.
+
+Leave the ship? The town have no death penalty and is under a global event.
+Leave the ship? The town have no death penalty and is under a global event.
+
+Leave this place now, defiler...
+Leave this place now, defiler...
+
+Leave.
+Leave.
+
+Led by the Lightbringer
+Led by the Lightbringer
+
+Left Crafty Wing
+Left Crafty Wing
+
+Left Eye Patch
+Left Eye Patch
+
+Left-overs will be deleted shortly after.
+Left-overs will be deleted shortly after.
+
+LeftDoorCheck
+LeftDoorCheck
+
+Legacy
+Legacy
+
+Legendary my ass! What a rip-off!
+Legendary my ass! What a rip-off!
+
+Lemme just fetch a small something for you....
+Lemme just fetch a small something for you....
+
+Lemme see... Sagratha is often regarded as a kind and rather powerful elf lady mage... who hate people.
+Lemme see... Sagratha is often regarded as a kind and rather powerful elf lady mage... who hate people.
+
+Lenita
+Lenita
+
+Leona
+Leona
+
+Leprechaun Hat
+Leprechaun Hat
+
+Less maggots means a more reliable food supply. This kind of maggot will be a little more difficult to defeat, which is an excellent way to test your prowess in battle.
+Less maggots means a more reliable food supply. This kind of maggot will be a little more difficult to defeat, which is an excellent way to test your prowess in battle.
+
+Less rattos means more food. So, this time the monsters will be a little stronger.
+Less rattos means more food. So, this time the monsters will be a little stronger.
+
+Let Cynric open your storage. You might also want to open your inventory.
+Let Cynric open your storage. You might also want to open your inventory.
+
+Let me analyze that.
+Let me analyze that.
+
+Let me check into it...
+Let me check into it...
+
+Let me inspect it...
+Let me inspect it...
+
+Let me introduce myself, I am Nard, captain of this ship.
+Let me introduce myself, I am Nard, captain of this ship.
+
+Let me just have a quick look at you. Hm... I will need @@ GP to reset your stats.
+Let me just have a quick look at you. Hm... I will need @@ GP to reset your stats.
+
+Let me see your bow.
+Let me see your bow.
+
+Let me see... The more Wings and Teethes I collect, the more my research shall advance.
+Let me see... The more Wings and Teethes I collect, the more my research shall advance.
+
+Let me see.....
+Let me see.....
+
+Let me show you...
+Let me show you...
+
+Let's jump straight to action, shall we? I'll build a mighty @@ to fight you!
+Let's jump straight to action, shall we? I'll build a mighty @@ to fight you!
+
+Let's learn new recipes! Do you wanna?
+Let's learn new recipes! Do you wanna?
+
+Let's play!
+Let's play!
+
+Let's pretend I believe you.
+Let's pretend I believe you.
+
+Let's say I believe you. Who stole you? Benjamin?
+Let's say I believe you. Who stole you? Benjamin?
+
+Let's see how I can activate it...
+Let's see how I can activate it...
+
+Let's see if you can pick a reward!
+Let's see if you can pick a reward!
+
+Let's see... @@ of your status points have just been reset!
+Let's see... @@ of your status points have just been reset!
+
+Let's start with something simple, yeye.
+Let's start with something simple, yeye.
+
+Lethal alcohol overdrinking
+Lethal alcohol overdrinking
+
+Lethal damage over time, no regen.
+Lethal damage over time, no regen.
+
+Lethal overdrinking:
+Lethal overdrinking:
+
+Lets play!
+Lets play!
+
+Lettuce Leaf
+Lettuce Leaf
+
+Level %d (%s GP)
+Level %d (%s GP)
+
+Level %d (%s HP) (Found by %s)
+Level %d (%s HP) (Found by %s)
+
+Level Boss
+Level Boss
+
+Level reset from %d to %d
+Level reset from %d to %d
+
+Level set from %d to %d
+Level set from %d to %d
+
+Liana
+Liana
+
+Liana, like other NPCs, provide a repeatable quest. Once you finish it, you will be able to do it again, after waiting for a few hours.
+Liana, like other NPCs, provide a repeatable quest. Once you finish it, you will be able to do it again, after waiting for a few hours.
+
+Liar. Where are the goods? Are you trying to cheat me?!
+Liar. Where are the goods? Are you trying to cheat me?!
+
+Liar. You can't fool me. That's the price. Get that or get out!
+Liar. You can't fool me. That's the price. Get that or get out!
+
+Licensing was one of the worst hassle we had, but just today, all mobs may drop Ancient Blueprints. Enjoy!
+Licensing was one of the worst hassle we had, but just today, all mobs may drop Ancient Blueprints. Enjoy!
+
+Lieutenant Armor
+Lieutenant Armor
+
+Lieutenant Copper Armor
+Lieutenant Copper Armor
+
+Lieutenant Dausen
+Lieutenant Dausen
+
+Lieutenant Jacob
+Lieutenant Jacob
+
+Lieutenant Joshua
+Lieutenant Joshua
+
+Lieutenant Paul
+Lieutenant Paul
+
+Life isn't worth the living.
+Life isn't worth the living.
+
+Lifestone
+Lifestone
+
+Lifestone Pendant
+Lifestone Pendant
+
+Lifestones have the potential to heal the user, and thus are used for potions.
+Lifestones have the potential to heal the user, and thus are used for potions.
+
+Light Green Diamond
+Light Green Diamond
+
+Light Platemail
+Light Platemail
+
+Light Ring
+Light Ring
+
+Lightbringer
+Lightbringer
+
+Lightbringer#NLib
+Lightbringer#NLib
+
+Lightning Bolt
+Lightning Bolt
+
+Lightsaber
+Lightsaber
+
+Like Discord integration and sensitive options.
+Like Discord integration and sensitive options.
+
+Like, I know you are female.#0
+Like, I know you are female.
+
+Like, I know you are male.#1
+Like, I know you are male.
+
+Likewise, it could only do effect if it antagonize or affront the target.
+Likewise, it could only do effect if it antagonize or affront the target.
+
+Lilanna
+Lilanna
+
+Lilanna Card
+Lilanna Card
+
+Lilica#easter
+Lilica#easter
+
+Lilit
+Lilit
+
+Lilit (@@m)
+Lilit (@@m)
+
+Lilit - @@ GP (not exchangeable)
+Lilit - @@ GP (not exchangeable)
+
+Lilit Warp Crystal
+Lilit Warp Crystal
+
+Lilit is the fairy kingdom, governed by Lilit the Fairy.
+Lilit is the fairy kingdom, governed by Lilit the Fairy.
+
+Lilly
+Lilly
+
+Lime Dye
+Lime Dye
+
+Linarian Soul
+Linarian Soul
+
+Line @@ has been removed.
+Line @@ has been removed.
+
+Linking requested.
+Linking requested.
+
+Linking the following Discord account:
+Linking the following Discord account:
+
+List & Claim rewards
+List & Claim rewards
+
+List of Unlocked Pets and Food
+List of Unlocked Pets and Food
+
+List of known alchemy recipes:
+List of known alchemy recipes:
+
+List of known cooking recipes:
+List of known cooking recipes:
+
+List of known crafting recipes:
+List of known crafting recipes:
+
+Listen to her story again.
+Listen to her story again.
+
+Listen to me! Whoever wants to follow foolish @@ on their suicide quest, stay here for 15 seconds!
+Listen to me! Whoever wants to follow foolish @@ on their suicide quest, stay here for 15 seconds!
+
+Listen, I was trying to get the Yeti King to help me to fight the Monster King. If you want to go there and do it, be my guest; Maybe they'll even help you with whatever your problem is.
+Listen, I was trying to get the Yeti King to help me to fight the Monster King. If you want to go there and do it, be my guest; Maybe they'll even help you with whatever your problem is.
+
+Listen, I'll use a trick which I learned in, uh, a past life of mine, so if you die, reality resets your being.
+Listen, I'll use a trick which I learned in, uh, a past life of mine, so if you die, reality resets your being.
+
+Listen, as you're new here, I'll give you my %s. I won't give it again, understood? This is my personal gratitude. Come again!
+Listen, as you're new here, I'll give you my %s. I won't give it again, understood? This is my personal gratitude. Come again!
+
+Listen, it was not only me who had issues with this... Masked Man. Auldsbel also had a similar issues.
+Listen, it was not only me who had issues with this... Masked Man. Auldsbel also had a similar issues.
+
+Listen, kid, one does not simply ignore Elli! She is too scary to be ignored!
+Listen, kid, one does not simply ignore Elli! She is too scary to be ignored!
+
+Listen, she decided to live away from civilization. She choose the forest as her home and the animals as her family.
+Listen, she decided to live away from civilization. She choose the forest as her home and the animals as her family.
+
+Listen, this is not a disease. No remedy can cure you, and it cannot be inflicted by consumables.
+Listen, this is not a disease. No remedy can cure you, and it cannot be inflicted by consumables.
+
+Listen. North of here, is the ruins of an old village. Said village is cursed, and nobody here wants to go there.
+Listen. North of here, is the ruins of an old village. Said village is cursed, and nobody here wants to go there.
+
+Lit the torch?
+Lit the torch?
+
+Little Blub
+Little Blub
+
+Little Red Slime
+Little Red Slime
+
+Little Yellow Slime
+Little Yellow Slime
+
+Lives undercover in human society. Luck led them to surviving this far.
+Lives undercover in human society. Luck led them to surviving this far.
+
+Living Potato
+Living Potato
+
+Lizards are the main monster found, and they steal gold from innocent bypassers.
+Lizards are the main monster found, and they steal gold from innocent bypassers.
+
+Lloyd
+Lloyd
+
+LoF Coin
+LoF Coin
+
+LoF Warp Crystal
+LoF Warp Crystal
+
+Loading warp, be at this spot in 15 seconds.
+Loading warp, be at this spot in 15 seconds.
+
+Locamit
+Locamit
+
+Location Registered. You are now capable to use this warp gate.
+Location Registered. You are now capable to use this warp gate.
+
+Location: %s
+Location: %s
+
+Location: All bifs in the world.
+Location: All bifs in the world.
+
+Location: Candor B1F
+Location: Candor B1F
+
+Location: Christmas Workshop, Romantic Field, south of Nivalis.
+Location: Christmas Workshop, Romantic Field, south of Nivalis.
+
+Location: Daily Login.
+Location: Daily Login.
+
+Location: Enchanted Forest, access by Soul Menhir.
+Location: Enchanted Forest, access by Soul Menhir.
+
+Location: Fishing spots in the water.
+Location: Fishing spots in the water.
+
+Location: Forsaken Inn, South Woodlands
+Location: Forsaken Inn, South Woodlands
+
+Location: Kamelot Castle, west of Hurnscald.
+Location: Kamelot Castle, west of Hurnscald.
+
+Location: N/A
+Location: N/A
+
+Location: North Woodlands, south of Nivalis.
+Location: North Woodlands, south of Nivalis.
+
+Location: Not applicable
+Location: Not applicable
+
+Location: The Mana Plane, Dream Tower
+Location: The Mana Plane, Dream Tower
+
+Location: The Mana Plane, Porthos
+Location: The Mana Plane, Porthos
+
+Location: The Mana Plane, Showdown Chamber
+Location: The Mana Plane, Showdown Chamber
+
+Location: Treasure Chests, hidden inside dungeons.
+Location: Treasure Chests, hidden inside dungeons.
+
+Location: Tulimshar Sewers / Hurnscald Town Hall
+Location: Tulimshar Sewers / Hurnscald Town Hall
+
+Location: Valentine Island, access by Soul Menhir.
+Location: Valentine Island, access by Soul Menhir.
+
+Location: Worker's Cave, access by Soul Menhir.
+Location: Worker's Cave, access by Soul Menhir.
+
+Lock Picks
+Lock Picks
+
+Lockpicks
+Lockpicks
+
+Lockpicks are the basic tools for thiefs. Talk to a vault in order to attempt lockpicking.
+Lockpicks are the basic tools for thiefs. Talk to a vault in order to attempt lockpicking.
+
+Lof Squirrel
+Lof Squirrel
+
+Log Head
+Log Head
+
+LogHead
+LogHead
+
+Login Bonus
+Login Bonus
+
+Long Sword
+Long Sword
+
+Long Text Wall Density:
+Long Text Wall Density:
+
+Look at that pathetic scene, he just put his chair over the desk... Chef Gado won't like it.
+Look at that pathetic scene, he just put his chair over the desk... Chef Gado won't like it.
+
+Look at this, %s really brought me %d %s.
+Look at this, %s really brought me %d %s.
+
+Look closer.
+Look closer.
+
+Look the height of this bridge! Worse, the water around here is pretty shallow.
+Look the height of this bridge! Worse, the water around here is pretty shallow.
+
+Look what we have here, it is a boy!#1
+Look what we have here, it is a boy!
+
+Look what we have here, it is a girl!#0
+Look what we have here, it is a girl!
+
+Look, I really hate pious...all of them.
+Look, I really hate pious...all of them.
+
+Looks like I already gave you the Maritime Almanac Scroll. You need to go see George again. I am unable to get another copy for you.
+Looks like I already gave you the Maritime Almanac Scroll. You need to go see George again. I am unable to get another copy for you.
+
+Looks like you are a bit short on supplies. Come back when you have everything I need.
+Looks like you are a bit short on supplies. Come back when you have everything I need.
+
+Loot 10, Luck +2, Luck Dance
+Loot 10, Luck +2, Luck Dance
+
+Loot 3, ASPD +5%
+Loot 3, ASPD +5%
+
+Loot 3, Agi +5
+Loot 3, Agi +5
+
+Loot 3, Agi +5, Agility Dance, Passive MP Regen (1)
+Loot 3, Agi +5, Agility Dance, Passive MP Regen (1)
+
+Loot 3, DEF +5
+Loot 3, DEF +5
+
+Loot 3, Dex +5
+Loot 3, Dex +5
+
+Loot 3, Evasion +7
+Loot 3, Evasion +7
+
+Loot 3, Int +5, Agi +1
+Loot 3, Int +5, Agi +1
+
+Loot 3, Luck +5, Luck Dance, Passive MP Regen (1)
+Loot 3, Luck +5, Luck Dance, Passive MP Regen (1)
+
+Loot 3, Max HP +250
+Loot 3, Max HP +250
+
+Loot 3, Max MP +250
+Loot 3, Max MP +250
+
+Loot 3, STR +4, AGI +1
+Loot 3, STR +4, AGI +1
+
+Loot 3, STR +5, Vitality Dance, Passive HP Regen (1)
+Loot 3, STR +5, Vitality Dance, Passive HP Regen (1)
+
+Loot 3, Steal +15%, Passive HP Regen (1)
+Loot 3, Steal +15%, Passive HP Regen (1)
+
+Loot 4, Str +1, Gold Drop (4%)
+Loot 4, Str +1, Gold Drop (4%)
+
+Lora Tay
+Lora Tay
+
+Lost Ocean Croc
+Lost Ocean Croc
+
+Lost Piou
+Lost Piou
+
+Lost forever on the Desert Canyon, I guess.
+Lost forever on the Desert Canyon, I guess.
+
+Lost without an acorn.
+Lost without an acorn.
+
+Lousy Moccasins
+Lousy Moccasins
+
+Love Letter
+Love Letter
+
+Love Lollipop
+Love Lollipop
+
+Lovely Fluffy
+Lovely Fluffy
+
+Lower MAXHP, Damage over time
+Lower MAXHP, Damage over time
+
+Lower city taxes
+Lower city taxes
+
+Lowering Taxes
+Lowering Taxes
+
+Lt. Gerry
+Lt. Gerry
+
+Lt. Longburn#EP
+Lt. Longburn#EP
+
+Lt. Randy
+Lt. Randy
+
+Lua#003-2
+Lua#003-2
+
+Luanna
+Luanna
+
+Luca
+Luca
+
+Luck
+Luck
+
+Luck Fruit
+Luck Fruit
+
+Luck Potion
+Luck Potion
+
+Luck+ Potion
+Luck+ Potion
+
+Luck++ Potion
+Luck++ Potion
+
+Lucky for you, the Alliance have means to assist you. You'll be a grown up, full fledged adventurer in no time at all, and will be able to visit a friend of mine, who will then send you there.
+Lucky for you, the Alliance have means to assist you. You'll be a grown up, full fledged adventurer in no time at all, and will be able to visit a friend of mine, who will then send you there.
+
+Lucky you, you found me! Do you want to SPIN THE WHEEL and gain GREAT rewards?
+Lucky you, you found me! Do you want to SPIN THE WHEEL and gain GREAT rewards?
+
+Lucky! You got the coin back!
+Lucky! You got the coin back!
+
+Luffyx
+Luffyx
+
+Luffyx Summer Shorts
+Luffyx Summer Shorts
+
+Lune
+Lune
+
+Luvia
+Luvia
+
+Luvia is too dangerous to be left alone.
+Luvia is too dangerous to be left alone.
+
+Luxury furniture
+Luxury furniture
+
+Lynn The Traveler
+Lynn The Traveler
+
+MAX HP
+MAX HP
+
+MDEF +10
+MDEF +10
+
+MEEEEEERLIN!!! SMASH THEM!!
+MEEEEEERLIN!!! SMASH THEM!!
+
+MONSTER KING
+MONSTER KING
+
+MONSTER KING, APPEAR TO ME!
+MONSTER KING, APPEAR TO ME!
+
+MOTD
+MOTD
+
+MOTD Config
+MOTD Config
+
+MP +200
+MP +200
+
+MSP for Area Provoke was refunded.
+MSP for Area Provoke was refunded.
+
+MSP for Last Man Standing was refunded.
+MSP for Last Man Standing was refunded.
+
+MSP for Lightning Strike was refunded.
+MSP for Lightning Strike was refunded.
+
+MSP for Wind Walker was refunded.
+MSP for Wind Walker was refunded.
+
+Ma... Magical Re... Re-ref... Reflection.
+Ma... Magical Re... Re-ref... Reflection.
+
+Machinery#MKHB
+Machinery#MKHB
+
+Mage Card
+Mage Card
+
+Mage Card S
+Mage Card S
+
+Mage Card X
+Mage Card X
+
+Mage equipment also raises MP recovery. So yes, a mage can use a sword and heavy armor, but...
+Mage equipment also raises MP recovery. So yes, a mage can use a sword and heavy armor, but...
+
+Magenta
+Magenta
+
+Magenta Spark
+Magenta Spark
+
+Mages should use equipment designed for them. Those may be lacking on defense, but will raise MP and Magic Attack.
+Mages should use equipment designed for them. Those may be lacking on defense, but will raise MP and Magic Attack.
+
+Maggot
+Maggot
+
+Maggot Coccon
+Maggot Coccon
+
+Maggot Slime
+Maggot Slime
+
+Magic Academy Tutorial
+Magic Academy Tutorial
+
+Magic Apple
+Magic Apple
+
+Magic Arpan
+Magic Arpan
+
+Magic Arpan#sailors
+Magic Arpan#sailors
+
+Magic Barrier
+Magic Barrier
+
+Magic Barrier is active. You must give a whole circle on the desert to break it.
+Magic Barrier is active. You must give a whole circle on the desert to break it.
+
+Magic Barrier#0051
+Magic Barrier#0051
+
+Magic Barrier#0060
+Magic Barrier#0060
+
+Magic Barrier#0063
+Magic Barrier#0063
+
+Magic Barrier#0064
+Magic Barrier#0064
+
+Magic Barrier#0066
+Magic Barrier#0066
+
+Magic Barrier#0067C
+Magic Barrier#0067C
+
+Magic Barrier#0067E
+Magic Barrier#0067E
+
+Magic Barrier#0067W
+Magic Barrier#0067W
+
+Magic Barrier#Bug63
+Magic Barrier#Bug63
+
+Magic Barrier#Pi
+Magic Barrier#Pi
+
+Magic Bif
+Magic Bif
+
+Magic Council
+Magic Council
+
+Magic Council? What's that?
+Magic Council? What's that?
+
+Magic Goblin
+Magic Goblin
+
+Magic Maggot
+Magic Maggot
+
+Magic Olympics
+Magic Olympics
+
+Magic Olympics Top 1 Prize
+Magic Olympics Top 1 Prize
+
+Magic Power is granted to you, but you die from it.
+Magic Power is granted to you, but you die from it.
+
+Magic Ratto
+Magic Ratto
+
+Magic Raw Power Challenge
+Magic Raw Power Challenge
+
+Magic Scrolls
+Magic Scrolls
+
+Magic Skill Points can be obtained in three ways: By touching a Mana Stone, by signing up in a Special Class (if you have enough magic power) and by having high amounts of Job Level.
+Magic Skill Points can be obtained in three ways: By touching a Mana Stone, by signing up in a Special Class (if you have enough magic power) and by having high amounts of Job Level.
+
+Magic Status
+Magic Status
+
+Magic Strike
+Magic Strike
+
+Magic Top Hat
+Magic Top Hat
+
+Magic is dead. Well, not yet, we still have some mana stones left - but only the strongest ones are allowed to use them and acquire magic.
+Magic is dead. Well, not yet, we still have some mana stones left - but only the strongest ones are allowed to use them and acquire magic.
+
+Magic is necessary for warriors and archers to learn skills. Skills can be learned in Tulimshar.
+Magic is necessary for warriors and archers to learn skills. Skills can be learned in Tulimshar.
+
+Magic is sacred. With transmutation, you can create convenience items, specially reagents for other magic skills.
+Magic is sacred. With transmutation, you can create convenience items, specially reagents for other magic skills.
+
+Magic skills allows for a more advanced gameplay, but they are meant for level 30 onward.
+Magic skills allows for a more advanced gameplay, but they are meant for level 30 onward.
+
+Magic, Warriors and Archers
+Magic, Warriors and Archers
+
+Magic.
+Magic.
+
+Magical MVP Card
+Magical MVP Card
+
+Magical Weapon Recipes
+Magical Weapon Recipes
+
+Magically Sealed Gate
+Magically Sealed Gate
+
+Magick Real
+Magick Real
+
+Magnus Healing
+Magnus Healing
+
+Mahad
+Mahad
+
+Mahoud
+Mahoud
+
+Mahoud Basement
+Mahoud Basement
+
+Mahul
+Mahul
+
+Main server is: %s
+Main server is: %s
+
+Make it brighter
+Make it brighter
+
+Make me an Iron Powder.
+Make me an Iron Powder.
+
+Make sure to put on a bait after you click, though!
+Make sure to put on a bait after you click, though!
+
+Male
+Male
+
+Malign Chest
+Malign Chest
+
+Malindou
+Malindou
+
+Malivox
+Malivox
+
+Mana Being#001-1
+Mana Being#001-1
+
+Mana Bomb
+Mana Bomb
+
+Mana Bug
+Mana Bug
+
+Mana Chest
+Mana Chest
+
+Mana Experience Challenge
+Mana Experience Challenge
+
+Mana Ghost
+Mana Ghost
+
+Mana Gloves
+Mana Gloves
+
+Mana Magic is less reliable and have an experience system. It's the most common for summoning and transmutation.
+Mana Magic is less reliable and have an experience system. It's the most common for summoning and transmutation.
+
+Mana Magic works similar to regular magic: You can find it on your skill window, and can drag it to your shortcut list.
+Mana Magic works similar to regular magic: You can find it on your skill window, and can drag it to your shortcut list.
+
+Mana Piou
+Mana Piou
+
+Mana Piou Feathers
+Mana Piou Feathers
+
+Mana Plane - Dream Tower, %dº floor %s
+Mana Plane - Dream Tower, %dº floor %s
+
+Mana Plane - Dream Tower, %dº floor. Time limit: 60 minutes or death.
+Mana Plane - Dream Tower, %dº floor. Time limit: 60 minutes or death.
+
+Mana Saulc
+Mana Saulc
+
+Mana Stone
+Mana Stone
+
+Mana Stone#01863
+Mana Stone#01863
+
+Mana Stone#Tulim
+Mana Stone#Tulim
+
+Mana Tree
+Mana Tree
+
+Mana Wisdom
+Mana Wisdom
+
+Mana is something which existed since the being, but nobody knows much about.
+Mana is something which existed since the being, but nobody knows much about.
+
+ManaMarket
+ManaMarket
+
+Manage Beds
+Manage Beds
+
+Manage Chairs
+Manage Chairs
+
+Manage Decoration
+Manage Decoration
+
+Manage Furniture
+Manage Furniture
+
+Manage Luxury furniture
+Manage Luxury furniture
+
+Manage Paintings
+Manage Paintings
+
+Manage Town
+Manage Town
+
+Manage Utilities
+Manage Utilities
+
+Managed to get any nice drops? It requires more luck than skill. Here is your reward.
+Managed to get any nice drops? It requires more luck than skill. Here is your reward.
+
+Managment Menu
+Managment Menu
+
+Manana
+Manana
+
+Manana Tree
+Manana Tree
+
+Manapop
+Manapop
+
+Manapple
+Manapple
+
+Mandragora
+Mandragora
+
+Manually trigger the current broadcast
+Manually trigger the current broadcast
+
+Many citzens are still cowering in fear. Paths are closed, economy is a disaster, things are not as they should be.
+Many citzens are still cowering in fear. Paths are closed, economy is a disaster, things are not as they should be.
+
+Many sacrifices were done, but it was lost.
+Many sacrifices were done, but it was lost.
+
+Many stories are told about this city sewers.
+Many stories are told about this city sewers.
+
+Many thanks for all the help!
+Many thanks for all the help!
+
+Many thanks for killing it. Maybe more humans come here now, and play with me.
+Many thanks for killing it. Maybe more humans come here now, and play with me.
+
+Many thanks for your help! Here, take this. I'm sure it can be very useful later. It always is.
+Many thanks for your help! Here, take this. I'm sure it can be very useful later. It always is.
+
+Many thanks!
+Many thanks!
+
+Many thanks! %%s
+Many thanks! %%s
+
+Many thanks! At least he'll know he haven't impressed me yet!
+Many thanks! At least he'll know he haven't impressed me yet!
+
+Many thanks! Come back later to bring me extra @@!
+Many thanks! Come back later to bring me extra @@!
+
+Many thanks! Come back soon.
+Many thanks! Come back soon.
+
+Many thanks! I'll arrange the table.
+Many thanks! I'll arrange the table.
+
+Many thanks! I'll be sooooo fashionable now!
+Many thanks! I'll be sooooo fashionable now!
+
+Many thanks! If I let my wose side blossom, I'm sure she'll look at me!
+Many thanks! If I let my wose side blossom, I'm sure she'll look at me!
+
+Many thanks, and once again, your help has been invaluable.
+Many thanks, and once again, your help has been invaluable.
+
+Many thanks, the Doctor always know what's best for you.
+Many thanks, the Doctor always know what's best for you.
+
+Many thanks, your help has been invaluable. We're now capable to travel at ease.#0
+Many thanks, your help has been invaluable. We're now capable to travel at ease.
+
+Many thanks, your help has been invaluable. We're now capable to travel at ease.#1
+Many thanks, your help has been invaluable. We're now capable to travel at ease.
+
+Many thanks, your help has been invaluable. You now have an extra point, use it wisely.
+Many thanks, your help has been invaluable. You now have an extra point, use it wisely.
+
+Many thanks. I couldn't live without it. Please come back later.
+Many thanks. I couldn't live without it. Please come back later.
+
+Many thanks. You have my eternal gratitute. Here is 1000 GP for your troubles.
+Many thanks. You have my eternal gratitute. Here is 1000 GP for your troubles.
+
+Many thanks. You have my eternal gratitute. Here is 2000 GP for your troubles.
+Many thanks. You have my eternal gratitute. Here is 2000 GP for your troubles.
+
+Many, many thanks!
+Many, many thanks!
+
+Many, many thanks! I'm sure the children will love it!
+Many, many thanks! I'm sure the children will love it!
+
+Many, many thanks! Thus far, you delivered me @@ gift boxes!
+Many, many thanks! Thus far, you delivered me @@ gift boxes!
+
+Map cleared!
+Map cleared!
+
+Marikel
+Marikel
+
+Marius The Bard
+Marius The Bard
+
+Market Guard#EP
+Market Guard#EP
+
+Market Place
+Market Place
+
+Marley : I shall stop you!
+Marley : I shall stop you!
+
+Marley : You... thief... *grumble*
+Marley : You... thief... *grumble*
+
+Marley is furious that someone stole her treasure... You wouldn't happen to know anything about this, would you...?
+Marley is furious that someone stole her treasure... You wouldn't happen to know anything about this, would you...?
+
+Marriage failed.
+Marriage failed.
+
+Marriage unlocks %s powers. The ring is sold in Tulimshar.
+Marriage unlocks %s powers. The ring is sold in Tulimshar.
+
+Married with @@
+Married with @@
+
+Marsh Pirate
+Marsh Pirate
+
+Mashmallow
+Mashmallow
+
+Masked Assassin
+Masked Assassin
+
+Mass Provoke replaced with Area Provoke.
+Mass Provoke replaced with Area Provoke.
+
+Master
+Master
+
+Master Bola
+Master Bola
+
+Master Dungeon (BOSS)
+Master Dungeon (BOSS)
+
+Master Exchanger#0
+Master Exchanger
+
+Matk +25
+Matk +25
+
+Mauve Dye
+Mauve Dye
+
+Mauve Herb
+Mauve Herb
+
+Mauve Plant
+Mauve Plant
+
+Max Weight +1kg
+Max Weight +1kg
+
+Maxime
+Maxime
+
+Maximize Damage
+Maximize Damage
+
+Maximum Profit: @@ GP
+Maximum Profit: @@ GP
+
+May their journey be successful, may their objectives be attained, may the Mana rest in peace.
+May their journey be successful, may their objectives be attained, may the Mana rest in peace.
+
+May their memory be remembered, but may their struggle be forgotten, their bodies never profaned, and in the æthyr, may they find eternal rest and comfort for their souls.
+May their memory be remembered, but may their struggle be forgotten, their bodies never profaned, and in the æthyr, may they find eternal rest and comfort for their souls.
+
+Maya
+Maya
+
+Maybe I can help to ease your pain?
+Maybe I can help to ease your pain?
+
+Maybe I could give you more beer?
+Maybe I could give you more beer?
+
+Maybe I should also give you a lesson in how to count? You don't have enough.
+Maybe I should also give you a lesson in how to count? You don't have enough.
+
+Maybe I'm using a too low quality bait, I can't fish %s.
+Maybe I'm using a too low quality bait, I can't fish %s.
+
+Maybe a %s?
+Maybe a %s?
+
+Maybe another time.
+Maybe another time.
+
+Maybe he was confused, not sure. He talked very strangely.
+Maybe he was confused, not sure. He talked very strangely.
+
+Maybe if someone helped me to get rid of the maggots on my crops, I would be able to sell them to everyone again...
+Maybe if someone helped me to get rid of the maggots on my crops, I would be able to sell them to everyone again...
+
+Maybe if you go back the way you're coming, you find him...
+Maybe if you go back the way you're coming, you find him...
+
+Maybe if... No... Hmm... I better try this the next time I'm at my laboratory...
+Maybe if... No... Hmm... I better try this the next time I'm at my laboratory...
+
+Maybe it is not hungry, after all.
+Maybe it is not hungry, after all.
+
+Maybe later.
+Maybe later.
+
+Maybe next time, then.
+Maybe next time, then.
+
+Maybe on spring Blossom will look at me... For now, my wose part is withering.
+Maybe on spring Blossom will look at me... For now, my wose part is withering.
+
+Maybe one of the slimes dropped it.
+Maybe one of the slimes dropped it.
+
+Maybe some other time.
+Maybe some other time.
+
+Maybe someone in Hurnscald can help me.
+Maybe someone in Hurnscald can help me.
+
+Maybe the Hurnscald alchemist, Wyara, could explain why.
+Maybe the Hurnscald alchemist, Wyara, could explain why.
+
+Maybe the teddy is hungry? What could we offer to it?
+Maybe the teddy is hungry? What could we offer to it?
+
+Maybe there are things in Candor which still require your attention? I might have overheard some of them.
+Maybe there are things in Candor which still require your attention? I might have overheard some of them.
+
+Maybe there is a key somewhere near. I should keep looking.
+Maybe there is a key somewhere near. I should keep looking.
+
+Maybe there's a locked door somewhere, and this key will fit?
+Maybe there's a locked door somewhere, and this key will fit?
+
+Maybe they're in the library, but it is too dangerous there right now...
+Maybe they're in the library, but it is too dangerous there right now...
+
+Maybe we can give her something, to cheer her up?
+Maybe we can give her something, to cheer her up?
+
+Maybe we could give her a %s instead.
+Maybe we could give her a %s instead.
+
+Maybe you can help our city. I see you are a Monster Hunting Quest Participant, right?
+Maybe you can help our city. I see you are a Monster Hunting Quest Participant, right?
+
+Maybe you could bring me 10 sticky @@?
+Maybe you could bring me 10 sticky @@?
+
+Maybe you could bring me 5 @@? I will reward you for your effort.
+Maybe you could bring me 5 @@? I will reward you for your effort.
+
+Maybe you could bring me 5 delicious @@? They have a great effect in quenching thirst and recovering vigour.
+Maybe you could bring me 5 delicious @@? They have a great effect in quenching thirst and recovering vigour.
+
+Maybe you could convince him. There's a summoning circle on Tulimshar Sewers.
+Maybe you could convince him. There's a summoning circle on Tulimshar Sewers.
+
+Maybe you could do me a favour, though?
+Maybe you could do me a favour, though?
+
+Maybe you could now help my friend Oscar. His farm is west of here.
+Maybe you could now help my friend Oscar. His farm is west of here.
+
+Maybe you did it, after all!
+Maybe you did it, after all!
+
+Maybe you do, your jerk! Stop drinking! Lua told me that you could help me! DO YOUR JOB!!
+Maybe you do, your jerk! Stop drinking! Lua told me that you could help me! DO YOUR JOB!!
+
+Maybe you should go to the depleted mines in the small cave inside the town. Who knows what you may find inside.
+Maybe you should go to the depleted mines in the small cave inside the town. Who knows what you may find inside.
+
+Maybe you should talk to your chief about that?
+Maybe you should talk to your chief about that?
+
+Maybe you're interested in the Special Class again? An extra magic skill point for a lot of items, what do ya say?
+Maybe you're interested in the Special Class again? An extra magic skill point for a lot of items, what do ya say?
+
+Maybe you're interested in the Special Class again? An extra magic skill point, but this time in a dangerous journey, what do ya say?
+Maybe you're interested in the Special Class again? An extra magic skill point, but this time in a dangerous journey, what do ya say?
+
+Maybe, but... I don't know my parents.
+Maybe, but... I don't know my parents.
+
+Maybe, if you had some sort of ancient artifact and touched the sign, it would allow you to see through the cloaking? Or if you were powerful enough. As if I would know!
+Maybe, if you had some sort of ancient artifact and touched the sign, it would allow you to see through the cloaking? Or if you were powerful enough. As if I would know!
+
+Maybe.
+Maybe.
+
+Maybe. Come back later.
+Maybe. Come back later.
+
+Maze Race Challenge
+Maze Race Challenge
+
+Meager < Weak < Standard < Intimidating = Daunting
+Meager < Weak < Standard < Intimidating = Daunting
+
+Meager.
+Meager.
+
+Meaning that once you equip a bow, you likely won't be able to dodge attacks.
+Meaning that once you equip a bow, you likely won't be able to dodge attacks.
+
+Meaning you must warp shortly before the Great Fire, defeat her, and be back before the Great Fire happen.
+Meaning you must warp shortly before the Great Fire, defeat her, and be back before the Great Fire happen.
+
+Meanwhile, at 00h, 06h, 12h, 15h, 18h and 21h UTC,
+Meanwhile, at 00h, 06h, 12h, 15h, 18h and 21h UTC,
+
+Meanwhile, the sages of destiny will prepare a way to kick them back to wherever they belong!
+Meanwhile, the sages of destiny will prepare a way to kick them back to wherever they belong!
+
+Mechanically based technology (eg. the Gates or Time Flasks) will never suffer damage from operation but are more costly.
+Mechanically based technology (eg. the Gates or Time Flasks) will never suffer damage from operation but are more costly.
+
+Mede
+Mede
+
+Medium Arrow Sack
+Medium Arrow Sack
+
+Medium Bullet Sack
+Medium Bullet Sack
+
+Medium Elenium Bif
+Medium Elenium Bif
+
+Meh, telling him it was a lie is not going to help.
+Meh, telling him it was a lie is not going to help.
+
+Meh, the Blue Sage is truly wasteful. We use %s even for the simplest things such as keeping the house warm.
+Meh, the Blue Sage is truly wasteful. We use %s even for the simplest things such as keeping the house warm.
+
+Melina
+Melina
+
+Melt something else?
+Melt something else?
+
+Melune
+Melune
+
+Memorize the sequence!
+Memorize the sequence!
+
+Memory slowly returns to you as you start growing aware of your surroundings. That's right, you are on a ship.
+Memory slowly returns to you as you start growing aware of your surroundings. That's right, you are on a ship.
+
+Meow.
+Meow.
+
+Mercenary Boxset A
+Mercenary Boxset A
+
+Mercenary Boxset AA
+Mercenary Boxset AA
+
+Mercenary Boxset B
+Mercenary Boxset B
+
+Mercenary Boxset BB
+Mercenary Boxset BB
+
+Mercenary Boxset C
+Mercenary Boxset C
+
+Mercenary Boxset CC
+Mercenary Boxset CC
+
+Mercenary Boxset D
+Mercenary Boxset D
+
+Mercenary Boxset DD
+Mercenary Boxset DD
+
+Mercenary Boxset E
+Mercenary Boxset E
+
+Mercenary Boxset EE
+Mercenary Boxset EE
+
+Mercenary Quests completed: %s
+Mercenary Quests completed: %s
+
+Mercenary Trainer
+Mercenary Trainer
+
+Merchant
+Merchant
+
+Merchant Police
+Merchant Police
+
+Merchants like to buy body parts of killed monsters and animals because they can make items and equipment.
+Merchants like to buy body parts of killed monsters and animals because they can make items and equipment.
+
+Mercy has been granted.
+Mercy has been granted.
+
+Meriel
+Meriel
+
+Merlin was a accomplished carpenter and wanted to make a new
+Merlin was a accomplished carpenter and wanted to make a new
+
+Merry Christmas!
+Merry Christmas!
+
+Merry Christmas, adventurer.
+Merry Christmas, adventurer.
+
+Merry Christmas, and a happy new year! \\o/
+Merry Christmas, and a happy new year! \\o/
+
+Merry Christmas, arr yarr!!
+Merry Christmas, arr yarr!!
+
+Message:
+Message:
+
+Meteor Shower
+Meteor Shower
+
+Meteor Strike
+Meteor Strike
+
+Mh, I can't really tell since I usually work in the library while he works at the workshop. Maybe you should ask around among the people who work there.
+Mh, I can't really tell since I usually work in the library while he works at the workshop. Maybe you should ask around among the people who work there.
+
+Mh, I don't know him closely.
+Mh, I don't know him closely.
+
+Mh, let me see. We already have a copy of this page, but it's helpful nevertheless. Thank you.
+Mh, let me see. We already have a copy of this page, but it's helpful nevertheless. Thank you.
+
+Mh, let me think. There were quite a few visitors with different concerns, but that's usual at this time of the year.
+Mh, let me think. There were quite a few visitors with different concerns, but that's usual at this time of the year.
+
+Mh, yes. I remember him. He was very interested in the library and the research we do here. He had an unusual behaviour and appearance. But, well, that isn't a reason to refuse someone, right?
+Mh, yes. I remember him. He was very interested in the library and the research we do here. He had an unusual behaviour and appearance. But, well, that isn't a reason to refuse someone, right?
+
+Mh. I wonder how I'm expected to perform my task with this meager equipment. The new books will look pathetic.
+Mh. I wonder how I'm expected to perform my task with this meager equipment. The new books will look pathetic.
+
+Mh... yes. It makes sense. Listen. This is a secret, but it might have been.... @@.
+Mh... yes. It makes sense. Listen. This is a secret, but it might have been.... @@.
+
+Mhm, this looks healthy.
+Mhm, this looks healthy.
+
+Mhm, you're still weak, I would prefer you to be level %d+ before doing this, but... Whatever, you might even survive.
+Mhm, you're still weak, I would prefer you to be level %d+ before doing this, but... Whatever, you might even survive.
+
+Mhm? I believe it was rebuilt, and the High Alliance took it over from the mage association for not paying taxes.
+Mhm? I believe it was rebuilt, and the High Alliance took it over from the mage association for not paying taxes.
+
+Michel
+Michel
+
+Michel Soul
+Michel Soul
+
+Midway is also a solid range, but for summons, nearby works best. Casing doesn't matters, nor does punctuation.
+Midway is also a solid range, but for summons, nearby works best. Casing doesn't matters, nor does punctuation.
+
+Miere Cleaver
+Miere Cleaver
+
+Miere Cleaver!
+Miere Cleaver!
+
+Miler
+Miler
+
+Milestone levelup: A reward can now be claimed in Tulimshar.
+Milestone levelup: A reward can now be claimed in Tulimshar.
+
+Milestone reached: %s kills
+Milestone reached: %s kills
+
+Milk
+Milk
+
+Milly
+Milly
+
+Milocat
+Milocat
+
+Miltaco
+Miltaco
+
+Min. Position:
+Min. Position:
+
+Min. Score:
+Min. Score:
+
+Mine exit is top left!
+Mine exit is top left!
+
+Miner
+Miner
+
+Miner Gloves
+Miner Gloves
+
+Miner Hat
+Miner Hat
+
+Miner Knife
+Miner Knife
+
+Miner Tank Top
+Miner Tank Top
+
+Mineral Bif
+Mineral Bif
+
+Miners Union Research Request!
+Miners Union Research Request!
+
+Mini Skirt
+Mini Skirt
+
+Minimum advised level 72 to do this quest.
+Minimum advised level 72 to do this quest.
+
+Minimum range: %d
+Minimum range: %d
+
+Mining opearations advance steadly day by day with your help, thanks! Maybe one day, we find a Mana Stone here!
+Mining opearations advance steadly day by day with your help, thanks! Maybe one day, we find a Mana Stone here!
+
+Minor healing to your wounds.
+Minor healing to your wounds.
+
+Minor healing to yourself or to allies.
+Minor healing to yourself or to allies.
+
+Mint Dye
+Mint Dye
+
+Mirio
+Mirio
+
+Mirjami
+Mirjami
+
+Miro
+Miro
+
+Mirror Island %d
+Mirror Island %d
+
+Mirror Island 1
+Mirror Island 1
+
+Mirror Lake
+Mirror Lake
+
+Mirror Lake : Created temporary character; It'll be reset on logout.
+Mirror Lake : Created temporary character; It'll be reset on logout.
+
+Mirror Lake : Obtain help with %s.
+Mirror Lake : Obtain help with %s.
+
+Mirror Lake Armor
+Mirror Lake Armor
+
+Miscellaneous Recipes
+Miscellaneous Recipes
+
+Miscellaneous Status
+Miscellaneous Status
+
+Mission accomplished. Well played!
+Mission accomplished. Well played!
+
+Mission: Kill all rogue Yetis on the Throne Room. You won't be able to leave until all of them are dead.
+Mission: Kill all rogue Yetis on the Throne Room. You won't be able to leave until all of them are dead.
+
+Mister Prickel
+Mister Prickel
+
+Mmm, it's been so long since I have had herbal tea. You have my gratitude.
+Mmm, it's been so long since I have had herbal tea. You have my gratitude.
+
+Mobiliary Credits is a special currency which can only be used on real estate.
+Mobiliary Credits is a special currency which can only be used on real estate.
+
+Mobpt: @@
+Mobpt: @@
+
+Mobs remaining: @@
+Mobs remaining: @@
+
+Mode?
+Mode?
+
+Modify another line
+Modify another line
+
+Modify monster level!
+Modify monster level!
+
+Modify this line
+Modify this line
+
+Modify, move, or remove a line
+Modify, move, or remove a line
+
+Moggun
+Moggun
+
+Moggun Egg
+Moggun Egg
+
+Money in your storage is totally safe. Banking itself is totally safe.
+Money in your storage is totally safe. Banking itself is totally safe.
+
+Money transference by mail is, however, free.
+Money transference by mail is, however, free.
+
+Money withdrawn!
+Money withdrawn!
+
+Money: @@ GP
+Money: @@ GP
+
+Monk Pendant
+Monk Pendant
+
+Monocle
+Monocle
+
+Monster
+Monster
+
+Monster AGI, Default %d, use 0 to cancel
+Monster AGI, Default %d, use 0 to cancel
+
+Monster ATK (varies 10%%), Default %d, use 0 to cancel
+Monster ATK (varies 10%%), Default %d, use 0 to cancel
+
+Monster ATK RANGE, Default %d, use 0 to cancel
+Monster ATK RANGE, Default %d, use 0 to cancel
+
+Monster Admiral
+Monster Admiral
+
+Monster Captain
+Monster Captain
+
+Monster Colonel
+Monster Colonel
+
+Monster DEF, Default %d, use 0 to cancel
+Monster DEF, Default %d, use 0 to cancel
+
+Monster DEX, Default %d, use 0 to cancel
+Monster DEX, Default %d, use 0 to cancel
+
+Monster Density and Boss HP?
+Monster Density and Boss HP?
+
+Monster General
+Monster General
+
+Monster HP, Default %d, use 0 to cancel
+Monster HP, Default %d, use 0 to cancel
+
+Monster Hunter
+Monster Hunter
+
+Monster Hunters receive small bounties on a special currency, of Monster Points, for each monster they kill. The amount gained is based on the monster level.
+Monster Hunters receive small bounties on a special currency, of Monster Points, for each monster they kill. The amount gained is based on the monster level.
+
+Monster ID, 0 to cancel
+Monster ID, 0 to cancel
+
+Monster Information!
+Monster Information!
+
+Monster King
+Monster King
+
+Monster King Basement
+Monster King Basement
+
+Monster King Mode
+Monster King Mode
+
+Monster Lieutenant
+Monster Lieutenant
+
+Monster Major
+Monster Major
+
+Monster NAME, Default %s, empty to cancel
+Monster NAME, Default %s, empty to cancel
+
+Monster Points
+Monster Points
+
+Monster Points (Mobpt): @@ | Gold: @@
+Monster Points (Mobpt): @@ | Gold: @@
+
+Monster Points: %s
+Monster Points: %s
+
+Monster SPEED, Player speed is 150, minimum is 100!
+Monster SPEED, Player speed is 150, minimum is 100!
+
+Monster Sergeant
+Monster Sergeant
+
+Monster Soldier
+Monster Soldier
+
+Monsters Killed in PvE: %s
+Monsters Killed in PvE: %s
+
+Monsters are everywhere. They're a plague we're trying to get rid of.
+Monsters are everywhere. They're a plague we're trying to get rid of.
+
+Monsters do not aim small towns like Candor. This city also comes with the plus that I know where everything's at.
+Monsters do not aim small towns like Candor. This city also comes with the plus that I know where everything's at.
+
+Monsters killed: %s
+Monsters killed: %s
+
+Monsters left: @@
+Monsters left: @@
+
+Monsters remaining: %s
+Monsters remaining: %s
+
+Monsters will spawn in the south fountain continuously.
+Monsters will spawn in the south fountain continuously.
+
+Monsters, however, keep coming from the Impregnable Fortress. They always come on %s, although we have no idea why.
+Monsters, however, keep coming from the Impregnable Fortress. They always come on %s, although we have no idea why.
+
+Monsters.
+Monsters.
+
+Moo!
+Moo!
+
+Moonshroom
+Moonshroom
+
+Moonshroom Hat
+Moonshroom Hat
+
+Moonshroom Robe
+Moonshroom Robe
+
+Moooo!
+Moooo!
+
+Moooooo!
+Moooooo!
+
+Moooooooooooo!
+Moooooooooooo!
+
+Mooubootaur Mode
+Mooubootaur Mode
+
+More Magic Power is granted to you, but you die from it.
+More Magic Power is granted to you, but you die from it.
+
+Morgan
+Morgan
+
+Mortal! I am @@! I have broken through the barriers of space and time!
+Mortal! I am @@! I have broken through the barriers of space and time!
+
+Moss
+Moss
+
+Most Orcs become nomads and Raijins moved to Hurnscald, but they say Thermin might have been rebuilt somewhere else.
+Most Orcs become nomads and Raijins moved to Hurnscald, but they say Thermin might have been rebuilt somewhere else.
+
+Most common and widely popular in the fish realm are @@ and pieces of @@.
+Most common and widely popular in the fish realm are @@ and pieces of @@.
+
+Most do. I'm not sure if all that hatred is justified, but who cares. She is dead, even if her ghost is back.
+Most do. I'm not sure if all that hatred is justified, but who cares. She is dead, even if her ghost is back.
+
+Most of it should be pretty intuitive, but be sure to press @@ on the bottom-left of inventory screen.
+Most of it should be pretty intuitive, but be sure to press @@ on the bottom-left of inventory screen.
+
+Most of our professors moved on to the Academy Island, and are with Tulimshar's and Frostia's professors working right now. But...
+Most of our professors moved on to the Academy Island, and are with Tulimshar's and Frostia's professors working right now. But...
+
+Most of their skills are stat-independent, but not all of them.
+Most of their skills are stat-independent, but not all of them.
+
+Most of these people will not think twice before giving a nice reward to anyone who helps them.
+Most of these people will not think twice before giving a nice reward to anyone who helps them.
+
+Most thieves left, but that's not a problem, I created an army out of Homunculus. I already have 500 bandits. I will create more later, to get Mana Stones.
+Most thieves left, but that's not a problem, I created an army out of Homunculus. I already have 500 bandits. I will create more later, to get Mana Stones.
+
+Moubi
+Moubi
+
+Moubi Hat
+Moubi Hat
+
+Mouboo
+Mouboo
+
+Mouboo Figurine
+Mouboo Figurine
+
+Mouboo Hat
+Mouboo Hat
+
+Mouboo Pendant
+Mouboo Pendant
+
+Mouboo Slime
+Mouboo Slime
+
+Mouboo Steak
+Mouboo Steak
+
+Mouboo#0142injuried
+Mouboo#0142injuried
+
+Mouboos are cute
+Mouboos are cute
+
+Mouboos, come to my aid and protect me!
+Mouboos, come to my aid and protect me!
+
+Moubootaur (Sealed)
+Moubootaur (Sealed)
+
+Moubootaur Legends Anniversary
+Moubootaur Legends Anniversary
+
+Moubootaur Legends Server
+Moubootaur Legends Server
+
+Moubootaur Legends just got older! %%N
+Moubootaur Legends just got older! %%N
+
+Moubootaur Legends presents...
+Moubootaur Legends presents...
+
+Moubootaur Maze
+Moubootaur Maze
+
+Moubootaur, please spare me...
+Moubootaur, please spare me...
+
+Mount your party and find the Yeti King!
+Mount your party and find the Yeti King!
+
+Mountain Snake
+Mountain Snake
+
+Mountain Snake Egg -> Snake Egg
+Mountain Snake Egg -> Snake Egg
+
+Mountain Snake Skin
+Mountain Snake Skin
+
+Mountain Snake Skin -> Snake Skin
+Mountain Snake Skin -> Snake Skin
+
+Mountain Snake Tongue
+Mountain Snake Tongue
+
+Mountain Snake Tongue -> Snake Tongue
+Mountain Snake Tongue -> Snake Tongue
+
+Mounts
+Mounts
+
+Moutain Snake
+Moutain Snake
+
+Moutain Snake Egg
+Moutain Snake Egg
+
+Move Speed Potion
+Move Speed Potion
+
+Move this line down
+Move this line down
+
+Move this line up
+Move this line up
+
+Movement Speed Potion
+Movement Speed Potion
+
+Moving while AFK is botting! I'll send you to a %s if you move while AFK! ##BYOU HAVE BEEN WARNED!##b
+Moving while AFK is botting! I'll send you to a %s if you move while AFK! ##BYOU HAVE BEEN WARNED!##b
+
+Mr Saves
+Mr Saves
+
+Msawis Card
+Msawis Card
+
+Muahahaha, I'll be SO strong thanks to you! Here, I don't need these weak recipes anymore. You can have them!
+Muahahaha, I'll be SO strong thanks to you! Here, I don't need these weak recipes anymore. You can have them!
+
+Muahahaha, I'll be SO strong thanks to you! Here, these recipes should be useful for ya. You can have them!
+Muahahaha, I'll be SO strong thanks to you! Here, these recipes should be useful for ya. You can have them!
+
+Much better, right?!
+Much better, right?!
+
+Multiple players may conduct Katazuli at once. If you move or stand, the spell may be aborted.
+Multiple players may conduct Katazuli at once. If you move or stand, the spell may be aborted.
+
+Murder her too!#0
+Murder her too!
+
+Murder him too!#1
+Murder him too!
+
+Murderer Crown
+Murderer Crown
+
+Murderer Scorpion
+Murderer Scorpion
+
+Mush Hat
+Mush Hat
+
+Mushroom Spores
+Mushroom Spores
+
+Mustache
+Mustache
+
+My answer is still a no, and it won't change. Don't test my patience any further.
+My answer is still a no, and it won't change. Don't test my patience any further.
+
+My breath smells bad.
+My breath smells bad.
+
+My captain wanted me to give this to you as a special reward for your efforts.
+My captain wanted me to give this to you as a special reward for your efforts.
+
+My chestplate, @@
+My chestplate, @@
+
+My children and grandchildren have all moved to the Land of Fire, so the amount of leatherwork I can offer you is limited.
+My children and grandchildren have all moved to the Land of Fire, so the amount of leatherwork I can offer you is limited.
+
+My crops! Hurry up, and talk to Eomie!!
+My crops! Hurry up, and talk to Eomie!!
+
+My daughter! My precious Cindy, why it had to be you?!
+My daughter! My precious Cindy, why it had to be you?!
+
+My equipment is good, let me through!
+My equipment is good, let me through!
+
+My family died when I was just a little girl... I have been trying to survive...
+My family died when I was just a little girl... I have been trying to survive...
+
+My father probably knew... Well, you better ask Blue Sage then.
+My father probably knew... Well, you better ask Blue Sage then.
+
+My father runs a dye business, I'm in charge of selling %s around the world.
+My father runs a dye business, I'm in charge of selling %s around the world.
+
+My figurine is so nice!
+My figurine is so nice!
+
+My formula is not a drug, nor magic. It is an ancient technology of our people!
+My formula is not a drug, nor magic. It is an ancient technology of our people!
+
+My friend George is much older than I am, go see him and if he trusts you, so will I.
+My friend George is much older than I am, go see him and if he trusts you, so will I.
+
+My grandmother gave me a recipe of the @@, it can cure anything but death.
+My grandmother gave me a recipe of the @@, it can cure anything but death.
+
+My greatest realization thus far, besides some time rewinding clocks, is the @@!
+My greatest realization thus far, besides some time rewinding clocks, is the @@!
+
+My helmet, @@
+My helmet, @@
+
+My husband and I have moved here under the Alliance orders.
+My husband and I have moved here under the Alliance orders.
+
+My mother told me, do not go work like a guard. You will die from overheating in the sun during the summer time.
+My mother told me, do not go work like a guard. You will die from overheating in the sun during the summer time.
+
+My name is
+My name is
+
+My name is %s. I am an upstanding citizen of this kingdom. Everyone loves me.
+My name is %s. I am an upstanding citizen of this kingdom. Everyone loves me.
+
+My name is @@ and I am the daily task master. Interested in keeping this world free from monsters, or are you here to report back?
+My name is @@ and I am the daily task master. Interested in keeping this world free from monsters, or are you here to report back?
+
+My name is Amelia, and I am Elora's daughter.
+My name is Amelia, and I am Elora's daughter.
+
+My name is Benjamin, and I was in charge of an incursion here to capture Barbara.
+My name is Benjamin, and I was in charge of an incursion here to capture Barbara.
+
+My name is Juliet, it is me who took care of you after we found you in the sea. I'm glad to see you're okay.
+My name is Juliet, it is me who took care of you after we found you in the sea. I'm glad to see you're okay.
+
+My name is Naem and I guard the tunnels in this direction. You shall not pass. Now leave.
+My name is Naem and I guard the tunnels in this direction. You shall not pass. Now leave.
+
+My name is Nico Goethe, an %s card player.
+My name is Nico Goethe, an %s card player.
+
+My pleasure.
+My pleasure.
+
+My shaman skills protected us against monsters and thieves!
+My shaman skills protected us against monsters and thieves!
+
+My shield, @@
+My shield, @@
+
+My stats are too good, I won't need it.
+My stats are too good, I won't need it.
+
+My unit, however, was attacked! %s snuck up on us!
+My unit, however, was attacked! %s snuck up on us!
+
+My waifu Blossom has me trapped here, and she won't even look at me, because I'm part-Wose!
+My waifu Blossom has me trapped here, and she won't even look at me, because I'm part-Wose!
+
+My warp crystal broke!
+My warp crystal broke!
+
+My weapon, @@
+My weapon, @@
+
+Mylarin Dust
+Mylarin Dust
+
+Mylarin dust?! Where would you get that? That's amazing!
+Mylarin dust?! Where would you get that? That's amazing!
+
+Mysterious Bif
+Mysterious Bif
+
+Mysterious Bottle
+Mysterious Bottle
+
+Mysterious Chest#EP1
+Mysterious Chest#EP1
+
+Mysterious Chest#EP2
+Mysterious Chest#EP2
+
+Mysterious Fruit
+Mysterious Fruit
+
+Mysterious Ore
+Mysterious Ore
+
+Mysterious Powder expires after some time!
+Mysterious Powder expires after some time!
+
+Mystic Wand
+Mystic Wand
+
+NO
+NO
+
+NO!
+NO!
+
+NOT ENOUGH MONEY
+NOT ENOUGH MONEY
+
+NOTE
+NOTE
+
+NOTE: Beside wands and staves, %s, %s, and the %s count as magic weapons.
+NOTE: Beside wands and staves, %s, %s, and the %s count as magic weapons.
+
+NOTE: It is possible to play the game as a crafter/merchant/fisherman, avoiding to kill as much as possible. However, it is not possible to play the game with a total kill count of zero.
+NOTE: It is possible to play the game as a crafter/merchant/fisherman, avoiding to kill as much as possible. However, it is not possible to play the game with a total kill count of zero.
+
+NOTE: Must have logged in the past 24 hours to be shown.
+NOTE: Must have logged in the past 24 hours to be shown.
+
+NOTE: No equipment restriction. Less time is better.
+NOTE: No equipment restriction. Less time is better.
+
+NOTE: The Energy Ball explodes and Kills. Very. Well. Make them a priority!
+NOTE: The Energy Ball explodes and Kills. Very. Well. Make them a priority!
+
+NOTE: The effective bonus level applied is the average level of enabled options!
+NOTE: The effective bonus level applied is the average level of enabled options!
+
+NOTE: This quest is still a work in progress. "Bugs" will show up on purpose.
+NOTE: This quest is still a work in progress. "Bugs" will show up on purpose.
+
+NOTE: You're tweaking a(n): @@
+NOTE: You're tweaking a(n): @@
+
+NPC Blinking Eyes
+NPC Blinking Eyes
+
+NPC Blinking Eyes 2
+NPC Blinking Eyes 2
+
+NPC Blinking Eyes 3
+NPC Blinking Eyes 3
+
+NPC stylists can cut your hair and give you a new style, which means the hair style you woke up is something that can be changed.
+NPC stylists can cut your hair and give you a new style, which means the hair style you woke up is something that can be changed.
+
+NPCs#RES_0096
+NPCs#RES_0096
+
+NPCs#RES_0097
+NPCs#RES_0097
+
+NPCs#RES_0128
+NPCs#RES_0128
+
+NPCs#RES_0177
+NPCs#RES_0177
+
+NPCs#RES_0178
+NPCs#RES_0178
+
+NPCs#RES_PPL
+NPCs#RES_PPL
+
+NPCs(Non Playable Characters) or non-playable characters are characters that are always in the game, offering a wide variety of reactions, from a simple friendly conversation to a desperate request for help.
+NPCs(Non Playable Characters) or non-playable characters are characters that are always in the game, offering a wide variety of reactions, from a simple friendly conversation to a desperate request for help.
+
+NPCs.
+NPCs.
+
+Naem
+Naem
+
+Naftalin
+Naftalin
+
+Nah, I am a chicken.
+Nah, I am a chicken.
+
+Nah, I've got more serious matters to attend to...
+Nah, I've got more serious matters to attend to...
+
+Nah, not now. Slimes ruin your clothes, after all.
+Nah, not now. Slimes ruin your clothes, after all.
+
+Nah, see you later.
+Nah, see you later.
+
+Nah, sorry, everything is good with me.
+Nah, sorry, everything is good with me.
+
+Nah, thank you.
+Nah, thank you.
+
+Nah, that's wrong. Come back if you want to try again.
+Nah, that's wrong. Come back if you want to try again.
+
+Nah.
+Nah.
+
+Nahrec
+Nahrec
+
+Nahrec discretly gives you a recipe.
+Nahrec discretly gives you a recipe.
+
+Name is Jhon, and that's not a typo! I am an absolute coffee lover, and I travel to exotic places in search of the perfect brew.
+Name is Jhon, and that's not a typo! I am an absolute coffee lover, and I travel to exotic places in search of the perfect brew.
+
+Named Items
+Named Items
+
+Napalm Beat
+Napalm Beat
+
+Nard
+Nard
+
+Nard doesn't like people who gets money without working for it.
+Nard doesn't like people who gets money without working for it.
+
+Nard gives you a map of the city so you don't get lost.
+Nard gives you a map of the city so you don't get lost.
+
+Nard is amazed at you.
+Nard is amazed at you.
+
+Nard is impressed, you're a hard worker.
+Nard is impressed, you're a hard worker.
+
+Nard is truly amazed at you. I am impressed, too.
+Nard is truly amazed at you. I am impressed, too.
+
+Nard is very impressed, you're really a hard worker. Congrats!
+Nard is very impressed, you're really a hard worker. Congrats!
+
+Nard likes people who work hard. Work harder!
+Nard likes people who work hard. Work harder!
+
+Nard noticed your hard work.
+Nard noticed your hard work.
+
+Narrator
+Narrator
+
+Naturally, it doesn't have to be a wiki article. But it must be noteworthy to the whole community, and wiki articles are one of the easiest ways for that.
+Naturally, it doesn't have to be a wiki article. But it must be noteworthy to the whole community, and wiki articles are one of the easiest ways for that.
+
+Nature Card
+Nature Card
+
+Nature Card S
+Nature Card S
+
+Nature Card X
+Nature Card X
+
+Nature Fairy
+Nature Fairy
+
+Nature Wall
+Nature Wall
+
+Nature Wall Card
+Nature Wall Card
+
+Nature itself express hate against you!
+Nature itself express hate against you!
+
+Navy Blue Dye
+Navy Blue Dye
+
+Nea
+Nea
+
+Nearly everyone around is a seasoned veteran or was sent here by the Alliance Council to support the war efforts. Including me. So, good luck!
+Nearly everyone around is a seasoned veteran or was sent here by the Alliance Council to support the war efforts. Including me. So, good luck!
+
+Neat, neat! Thanks! Here you go, this amazing bottle! It is life-bond, so having multiple won't reduce the time you need to wait...
+Neat, neat! Thanks! Here you go, this amazing bottle! It is life-bond, so having multiple won't reduce the time you need to wait...
+
+Necklaces
+Necklaces
+
+Necromancer Card
+Necromancer Card
+
+Necromancer Card S
+Necromancer Card S
+
+Necromancer Card X
+Necromancer Card X
+
+Need a healing?
+Need a healing?
+
+Needless to say, monsters from Expert Dungeon usually drops more often than the ones from Advanced Dungeon.
+Needless to say, monsters from Expert Dungeon usually drops more often than the ones from Advanced Dungeon.
+
+Neither difficult, neither clear,
+Neither difficult, neither clear,
+
+Neither, sorry
+Neither, sorry
+
+Neko
+Neko
+
+Neutral element comes as "power", "force", "sword", "blade", and even "magic".
+Neutral element comes as "power", "force", "sword", "blade", and even "magic".
+
+Neutral monsters do not have such a sense of danger.
+Neutral monsters do not have such a sense of danger.
+
+Never (only on login)
+Never (only on login)
+
+Never ask: Brew %d
+Never ask: Brew %d
+
+Never let yourself be brought astray by it. Swear it to me.
+Never let yourself be brought astray by it. Swear it to me.
+
+Nevermind, bye!
+Nevermind, bye!
+
+Nevertheless, you probably need some base materials from Bifs. Who knows what it will drop if you are lucky?
+Nevertheless, you probably need some base materials from Bifs. Who knows what it will drop if you are lucky?
+
+New chars, and reborn chars, will also begin at level 10.
+New chars, and reborn chars, will also begin at level 10.
+
+Newbie
+Newbie
+
+Newbies can only get past their limits once, with their party leader level help! If they die, they can't rejoin!
+Newbies can only get past their limits once, with their party leader level help! If they die, they can't rejoin!
+
+Next broadcast: (never)
+Next broadcast: (never)
+
+Next broadcast: @@
+Next broadcast: @@
+
+Next time an annoying snake refuses to drop their precious leather drops, come talk to us!
+Next time an annoying snake refuses to drop their precious leather drops, come talk to us!
+
+Next time, I'll ask Sagratha to help. Heh. I doubt that's going to happen. By the way, this is the @@ spell. It summons snakes...
+Next time, I'll ask Sagratha to help. Heh. I doubt that's going to happen. By the way, this is the @@ spell. It summons snakes...
+
+Next we have %s. It guards the world itself and grants all kinds of magic.
+Next we have %s. It guards the world itself and grants all kinds of magic.
+
+Nice day to you.
+Nice day to you.
+
+Nice to know. I'll come to you when random numbers try to kill me.
+Nice to know. I'll come to you when random numbers try to kill me.
+
+Nice! First let me introduce myself. I am Dracoula, a miner!
+Nice! First let me introduce myself. I am Dracoula, a miner!
+
+Nice! I love history!
+Nice! I love history!
+
+Nice! I want you to kill some red scorpions, as I said!
+Nice! I want you to kill some red scorpions, as I said!
+
+Nice, but no, thanks.
+Nice, but no, thanks.
+
+Nice, thanks.
+Nice, thanks.
+
+Nice.
+Nice.
+
+Nicholas
+Nicholas
+
+Nico Goethe
+Nico Goethe
+
+Night Dragon
+Night Dragon
+
+Night Scorpion
+Night Scorpion
+
+Nightmare Dragon
+Nightmare Dragon
+
+Nightshade Tea
+Nightshade Tea
+
+Nigth Scorpion
+Nigth Scorpion
+
+Nikolai said it was important, so we keep a few of them locked in the basement. I apply a spell to seal them so they don't wander around, explode around, or... *sniff*...
+Nikolai said it was important, so we keep a few of them locked in the basement. I apply a spell to seal them so they don't wander around, explode around, or... *sniff*...
+
+Nikolai takes a sweat of his head. He seems worried with Cindy.
+Nikolai takes a sweat of his head. He seems worried with Cindy.
+
+Nikolai, the Blue Sage
+Nikolai, the Blue Sage
+
+Nilfheim
+Nilfheim
+
+Nina The Traveler
+Nina The Traveler
+
+Ninja Card
+Ninja Card
+
+Ninja Card S
+Ninja Card S
+
+Ninja Card X
+Ninja Card X
+
+NivalShip
+NivalShip
+
+Nivalis
+Nivalis
+
+Nivalis - @@ GP
+Nivalis - @@ GP
+
+Nivalis Office
+Nivalis Office
+
+Nivalis Townhall
+Nivalis Townhall
+
+Nivalis Warp Crystal
+Nivalis Warp Crystal
+
+Nivalis was liberated @@ ago.
+Nivalis was liberated @@ ago.
+
+Nivalis was the last human settlement built during the First Era.
+Nivalis was the last human settlement built during the First Era.
+
+Nivalis? It's frozen during the whole year! I hope you have good ice gear and a high level...
+Nivalis? It's frozen during the whole year! I hope you have good ice gear and a high level...
+
+No
+No
+
+No Chains (Tulimshar)
+No Chains (Tulimshar)
+
+No I don't have herbs. I'll be back.
+No I don't have herbs. I'll be back.
+
+No and *hic*... No, you and you and your... *burp* stup*hic* guild!#0
+No and *hic*... No, you and you and your... *burp* stup*hic* guild!
+
+No and *hic*... No, you and you and your... *burp* stup*hic* guild!#1
+No and *hic*... No, you and you and your... *burp* stup*hic* guild!
+
+No but thanks.
+No but thanks.
+
+No criminal record, no bank account, not even a tax payment declaration.
+No criminal record, no bank account, not even a tax payment declaration.
+
+No homunculus found!
+No homunculus found!
+
+No mercy will be shown, turn back now!
+No mercy will be shown, turn back now!
+
+No need to kill the Fluffies, though.
+No need to kill the Fluffies, though.
+
+No no no, that's wrong.
+No no no, that's wrong.
+
+No no no, you don't have everything I've asked for!
+No no no, you don't have everything I've asked for!
+
+No one can go out during the quest, so ensure every guild member has proper equipment, potions, and time for this dungeon.
+No one can go out during the quest, so ensure every guild member has proper equipment, potions, and time for this dungeon.
+
+No one is allowed past this point.
+No one is allowed past this point.
+
+No one is more there than here than me! Look at my hat, it symbolizes that I am an useless player!
+No one is more there than here than me! Look at my hat, it symbolizes that I am an useless player!
+
+No one visit me, I'm in peace there.
+No one visit me, I'm in peace there.
+
+No penalty against Legendary mobs
+No penalty against Legendary mobs
+
+No problem is too big for me. I have them right here!
+No problem is too big for me. I have them right here!
+
+No reason.
+No reason.
+
+No reply. We should try something else.
+No reply. We should try something else.
+
+No thank you.
+No thank you.
+
+No thanks, see ya!
+No thanks, see ya!
+
+No thanks.
+No thanks.
+
+No victor appliable.
+No victor appliable.
+
+No way!
+No way!
+
+No way! That's absurd!
+No way! That's absurd!
+
+No you don't. Don't disturb the forest for no reason.
+No you don't. Don't disturb the forest for no reason.
+
+No!
+No!
+
+No, I don't have any poison for your sampling yet.
+No, I don't have any poison for your sampling yet.
+
+No, I don't need monster repellent nor anything! Go away!
+No, I don't need monster repellent nor anything! Go away!
+
+No, I don't teach magic to strangers. No, I'm not interested in @@ affairs.
+No, I don't teach magic to strangers. No, I'm not interested in @@ affairs.
+
+No, I insist, keep the Antennas as a trophy.
+No, I insist, keep the Antennas as a trophy.
+
+No, I want to aim for a higher score.
+No, I want to aim for a higher score.
+
+No, I'll be back with them.
+No, I'll be back with them.
+
+No, I'll let you there to the Yeti's mercy.
+No, I'll let you there to the Yeti's mercy.
+
+No, I'll save my money.
+No, I'll save my money.
+
+No, but what option do I have? I'm railroaded!
+No, but what option do I have? I'm railroaded!
+
+No, it is a family heirloom. But I do have the shield blueprints. A skilled craftsman could forge one.
+No, it is a family heirloom. But I do have the shield blueprints. A skilled craftsman could forge one.
+
+No, justice must be done.
+No, justice must be done.
+
+No, loans.
+No, loans.
+
+No, none.
+No, none.
+
+No, not at the moment.
+No, not at the moment.
+
+No, nothing. Sorry.
+No, nothing. Sorry.
+
+No, please don't! I have 3 kids to feed. They are looking for me for contraband. Please, let me go!
+No, please don't! I have 3 kids to feed. They are looking for me for contraband. Please, let me go!
+
+No, power corrupts.
+No, power corrupts.
+
+No, seriously, you should do these questions to Elli. She is the smartest girl I know, close to the Academy.
+No, seriously, you should do these questions to Elli. She is the smartest girl I know, close to the Academy.
+
+No, sir.
+No, sir.
+
+No, sorry.
+No, sorry.
+
+No, thank you, kid.
+No, thank you, kid.
+
+No, thanks!
+No, thanks!
+
+No, thanks, I will keep my gems.
+No, thanks, I will keep my gems.
+
+No, thanks, it's not my job!
+No, thanks, it's not my job!
+
+No, thanks.
+No, thanks.
+
+No, thanks. I gonna leave this place.
+No, thanks. I gonna leave this place.
+
+No, they are way too dangerous for me!
+No, they are way too dangerous for me!
+
+No, we challenge you to a duel!
+No, we challenge you to a duel!
+
+No, we've done this for our whole life, and we have survived!
+No, we've done this for our whole life, and we have survived!
+
+No, who knows what they might do with it!
+No, who knows what they might do with it!
+
+No.
+No.
+
+No. Hurnscald is besieged and it would be too dangerous to let you go alone. You should talk to %s, instead.
+No. Hurnscald is besieged and it would be too dangerous to let you go alone. You should talk to %s, instead.
+
+No...
+No...
+
+No... Not yet, sorry.
+No... Not yet, sorry.
+
+Nobody answers.
+Nobody answers.
+
+Nobody can know! *burp*
+Nobody can know! *burp*
+
+Nobody lives here for years, arr. Monsters have taken over everything, yarr.
+Nobody lives here for years, arr. Monsters have taken over everything, yarr.
+
+Noel Slime
+Noel Slime
+
+Non Disclosure Agreemeent
+Non Disclosure Agreemeent
+
+None
+None
+
+None at the moment.
+None at the moment.
+
+Nope, sorry!
+Nope, sorry!
+
+Normal
+Normal
+
+Normal Bullet
+Normal Bullet
+
+Normal Cards can be upgraded to S-Tier, and S Cards can be upgraded to X-Tier. X-Tier cards cannot be upgraded.
+Normal Cards can be upgraded to S-Tier, and S Cards can be upgraded to X-Tier. X-Tier cards cannot be upgraded.
+
+Normal Member
+Normal Member
+
+Normal.
+Normal.
+
+Normally I would offer to make you some %s, but economic problems in Halinarzo have caused a shortage of supplies...
+Normally I would offer to make you some %s, but economic problems in Halinarzo have caused a shortage of supplies...
+
+Normally, collaborative behave like neutral monsters. Unless some partner of the same species is in danger, at which point they all take an aggressive stance against the aggressor.
+Normally, collaborative behave like neutral monsters. Unless some partner of the same species is in danger, at which point they all take an aggressive stance against the aggressor.
+
+North Avenue#lof
+North Avenue#lof
+
+Northeast Avenue
+Northeast Avenue
+
+Northeast Avenue#lof
+Northeast Avenue#lof
+
+Northwest Avenue
+Northwest Avenue
+
+Northwest Avenue#lof
+Northwest Avenue#lof
+
+Not An Oak
+Not An Oak
+
+Not Yet Implemented - Sorry.
+Not Yet Implemented - Sorry.
+
+Not a single deed, but continued heroism. A real hero must be strong. Must help others. Must show up above others. Should have magic even if they don't use, and of course, the world should be in need of a hero. No one is born as hero, for heroes are forged, not born.
+Not a single deed, but continued heroism. A real hero must be strong. Must help others. Must show up above others. Should have magic even if they don't use, and of course, the world should be in need of a hero. No one is born as hero, for heroes are forged, not born.
+
+Not all monsters will do this, but most will. So if you see a monster running after a player and you stand in the way...
+Not all monsters will do this, but most will. So if you see a monster running after a player and you stand in the way...
+
+Not allowed
+Not allowed
+
+Not at all!
+Not at all!
+
+Not at the moment
+Not at the moment
+
+Not bad
+Not bad
+
+Not bad, not bad. Let's see if you can answer an even more difficult one.
+Not bad, not bad. Let's see if you can answer an even more difficult one.
+
+Not bad. These are the main threat we have to fend off, along snakes and black scorpions.
+Not bad. These are the main threat we have to fend off, along snakes and black scorpions.
+
+Not bad... You can now enter Lilit. If you think you can defeat me, climb the tree and meet me at the top!
+Not bad... You can now enter Lilit. If you think you can defeat me, climb the tree and meet me at the top!
+
+Not crafting - insufficient materials!
+Not crafting - insufficient materials!
+
+Not doing that to prevent flood.
+Not doing that to prevent flood.
+
+Not enough Monster Points!
+Not enough Monster Points!
+
+Not enough bottles.
+Not enough bottles.
+
+Not enough funds!
+Not enough funds!
+
+Not enough ingredients or invalid amount.
+Not enough ingredients or invalid amount.
+
+Not enough items!
+Not enough items!
+
+Not enough money.
+Not enough money.
+
+Not every @@ with you belongs to you.
+Not every @@ with you belongs to you.
+
+Not every piece of equipment is ingame yet.
+Not every piece of equipment is ingame yet.
+
+Not everyone can be a blood donor. For example, you must be healthy.
+Not everyone can be a blood donor. For example, you must be healthy.
+
+Not for that! For helping out the injuried mouboo, of course.
+Not for that! For helping out the injuried mouboo, of course.
+
+Not in the mood to chat.
+Not in the mood to chat.
+
+Not my problem.
+Not my problem.
+
+Not now, but I may be back later.
+Not now, but I may be back later.
+
+Not now, sorry.
+Not now, sorry.
+
+Not now, thanks
+Not now, thanks
+
+Not now, thanks.
+Not now, thanks.
+
+Not now.
+Not now.
+
+Not now...
+Not now...
+
+Not now... *hic* I need @@... *hic* Bring me @@ if you *hic* can...
+Not now... *hic* I need @@... *hic* Bring me @@ if you *hic* can...
+
+Not only that, but I am also Angela's husband and Nivalis Mayor. If you have any issues, you can go straight to me.
+Not only that, but I am also Angela's husband and Nivalis Mayor. If you have any issues, you can go straight to me.
+
+Not only that, but at night monsters are stronger! They also give more experience and drop more often to compensate, though.
+Not only that, but at night monsters are stronger! They also give more experience and drop more often to compensate, though.
+
+Not only that, but he is the only one here besides me who can do magic. Without him, I have to work doubled.
+Not only that, but he is the only one here besides me who can do magic. Without him, I have to work doubled.
+
+Not only that, but it is swarming with monsters. Something is really wrong here. From our scouts which went in there, only one returned.
+Not only that, but it is swarming with monsters. Something is really wrong here. From our scouts which went in there, only one returned.
+
+Not only that, but reborn characters will spawn at level %d!
+Not only that, but reborn characters will spawn at level %d!
+
+Not only that, but the Yeti King and me had an... incident, in times best forgotten. Let's not talk about it.
+Not only that, but the Yeti King and me had an... incident, in times best forgotten. Let's not talk about it.
+
+Not only that, but you get one free attempt every day!
+Not only that, but you get one free attempt every day!
+
+Not participating in a challenge yields you zero points. In case of a tie, char creation date will be the decisive factor: Older adventurers will get the preference.
+Not participating in a challenge yields you zero points. In case of a tie, char creation date will be the decisive factor: Older adventurers will get the preference.
+
+Not really, sorry.
+Not really, sorry.
+
+Not really.
+Not really.
+
+Not resync'ing to prevent flood.
+Not resync'ing to prevent flood.
+
+Not right now, I'm busy.
+Not right now, I'm busy.
+
+Not right now.
+Not right now.
+
+Not sure
+Not sure
+
+Not to say about bandits and robbers you'll find.
+Not to say about bandits and robbers you'll find.
+
+Not today, sorry.
+Not today, sorry.
+
+Not yet, I'll be right back.
+Not yet, I'll be right back.
+
+Not yet, I'm waiting @@ to deliver me the @@ reagent.
+Not yet, I'm waiting @@ to deliver me the @@ reagent.
+
+Not yet, I'm waiting for friends
+Not yet, I'm waiting for friends
+
+Not yet, blame Jesusalva, your reward was with them
+Not yet, blame Jesusalva, your reward was with them
+
+Not yet, but I'll bring them.
+Not yet, but I'll bring them.
+
+Not yet.
+Not yet.
+
+Not yet. I've been... delayed.
+Not yet. I've been... delayed.
+
+Not yet. You have to ask the mana seed to give you more power.
+Not yet. You have to ask the mana seed to give you more power.
+
+NotSoBot
+NotSoBot
+
+Notable mentions and thanks for our [@@https://tmw2.org/contact|sponsors@@], we wouldn't be here without their continued support.
+Notable mentions and thanks for our [@@https://tmw2.org/contact|sponsors@@], we wouldn't be here without their continued support.
+
+Notable mentions and thanks for our [@@https://www.patreon.com/TMW2|sponsors@@], we wouldn't be here without their continued support.
+Notable mentions and thanks for our [@@https://www.patreon.com/TMW2|sponsors@@], we wouldn't be here without their continued support.
+
+Note
+Note
+
+Note 2: If you leave this plataform, it'll reset!
+Note 2: If you leave this plataform, it'll reset!
+
+Note 3: All maps in Fortress Island have penalty, even towns!
+Note 3: All maps in Fortress Island have penalty, even towns!
+
+Note down. To hunt a target you must click the primary mouse button on it. Avoid fighting monsters or citizens much stronger than you. ##BYou will lose experience if you are defeated.##b
+Note down. To hunt a target you must click the primary mouse button on it. Avoid fighting monsters or citizens much stronger than you. ##BYou will lose experience if you are defeated.##b
+
+Note#012-2
+Note#012-2
+
+Note#johanne
+Note#johanne
+
+Note#saxsocave
+Note#saxsocave
+
+Note: Dustynator is a high level weapon. You might not have enough level to use it yet.
+Note: Dustynator is a high level weapon. You might not have enough level to use it yet.
+
+Note: Golden and Silver Eggs are deleted after the next event end.
+Note: Golden and Silver Eggs are deleted after the next event end.
+
+Note: Items brewed here will use a Guild Recipe instead!
+Note: Items brewed here will use a Guild Recipe instead!
+
+Note: Items forged here will be guild-bound, but will use player recipes and bonuses!
+Note: Items forged here will be guild-bound, but will use player recipes and bonuses!
+
+Note: No rares will be given if Golbarez doesn't get enough GP to find the paradise, but Strange Coins will still be given.
+Note: No rares will be given if Golbarez doesn't get enough GP to find the paradise, but Strange Coins will still be given.
+
+Note: Onboard, Destructive, Fire, and AoE Magic are NOT allowed.
+Note: Onboard, Destructive, Fire, and AoE Magic are NOT allowed.
+
+Note: Passives and some skills (e.g. Resync) doesn't count.
+Note: Passives and some skills (e.g. Resync) doesn't count.
+
+Note: Poll may increase more than total money donated depending on current date.
+Note: Poll may increase more than total money donated depending on current date.
+
+Note: Support skills used on self does not count.
+Note: Support skills used on self does not count.
+
+Note: The points will NOT be consumed on 2020.
+Note: The points will NOT be consumed on 2020.
+
+Note: This action cannot be undone.
+Note: This action cannot be undone.
+
+Note: This travel takes a whole minute to complete!!
+Note: This travel takes a whole minute to complete!!
+
+Note: Transfering items on mail cost @@ GP/item
+Note: Transfering items on mail cost @@ GP/item
+
+Note: Unless you were doing something REALLY bad which is harmful to player community (eg. scamming, hacking, DDoS'ing, etc.)
+Note: Unless you were doing something REALLY bad which is harmful to player community (eg. scamming, hacking, DDoS'ing, etc.)
+
+Note: You can exchange 1 @@ for 3 @@
+Note: You can exchange 1 @@ for 3 @@
+
+Note: You can increase the time by talking to Emma again.
+Note: You can increase the time by talking to Emma again.
+
+Note: You can only perform this operation @@/6 times.
+Note: You can only perform this operation @@/6 times.
+
+Note: You may fail to write skills to it.
+Note: You may fail to write skills to it.
+
+Note: You must have a char on the first slot to leaderboard work. Points are shared accross all chars on your account.
+Note: You must have a char on the first slot to leaderboard work. Points are shared accross all chars on your account.
+
+Note: You won't be able to leave the class later.
+Note: You won't be able to leave the class later.
+
+Note: You'll be vulnerable for a short while!
+Note: You'll be vulnerable for a short while!
+
+Note: Your party is currently not sharing experience, and will suffer a time penalty. Your time will be halved.
+Note: Your party is currently not sharing experience, and will suffer a time penalty. Your time will be halved.
+
+Note: some pets still weren't implemented!
+Note: some pets still weren't implemented!
+
+Notebook#MKHB
+Notebook#MKHB
+
+Notes:
+Notes:
+
+Nothing
+Nothing
+
+Nothing I guess
+Nothing I guess
+
+Nothing at the moment, thanks.
+Nothing at the moment, thanks.
+
+Nothing at the moment.
+Nothing at the moment.
+
+Nothing for now, thanks.
+Nothing for now, thanks.
+
+Nothing happens.
+Nothing happens.
+
+Nothing important.
+Nothing important.
+
+Nothing right now.
+Nothing right now.
+
+Nothing so sublime!
+Nothing so sublime!
+
+Nothing, good bye!
+Nothing, good bye!
+
+Nothing, sorry!
+Nothing, sorry!
+
+Nothing, sorry.
+Nothing, sorry.
+
+Nothing, thanks
+Nothing, thanks
+
+Nothing, thanks anyway.
+Nothing, thanks anyway.
+
+Nothing, thanks!
+Nothing, thanks!
+
+Nothing, thanks.
+Nothing, thanks.
+
+Nothing.
+Nothing.
+
+Nothing. Take care!
+Nothing. Take care!
+
+Notice: If you join the ##BBandits Guild##b now, you WON'T BE ABLE to be a merchant police later!
+Notice: If you join the ##BBandits Guild##b now, you WON'T BE ABLE to be a merchant police later!
+
+November 1st - November 30th
+November 1st - November 30th
+
+Novice Dungeon (Lv 40+)
+Novice Dungeon (Lv 40+)
+
+Novice Exchanger#0
+Novice Exchanger
+
+Novice Wand
+Novice Wand
+
+Now I can turn in my report to Professor Volrtaw... I should not have stayed behind the classes.
+Now I can turn in my report to Professor Volrtaw... I should not have stayed behind the classes.
+
+Now I just drink down my worries and hope for the best.
+Now I just drink down my worries and hope for the best.
+
+Now I need 20 @@, 20 @@ and 60 @@ to finish my research. Easy materials, except for the Shadow Herb.
+Now I need 20 @@, 20 @@ and 60 @@ to finish my research. Easy materials, except for the Shadow Herb.
+
+Now I travel by the world, composing songs about the things I see.
+Now I travel by the world, composing songs about the things I see.
+
+Now I'll be waiting!
+Now I'll be waiting!
+
+Now begone.
+Now begone.
+
+Now go and save the world or something like that. I mean, it is not like I really cared with the world, anyway... With luck you'll even find what you are looking for.
+Now go and save the world or something like that. I mean, it is not like I really cared with the world, anyway... With luck you'll even find what you are looking for.
+
+Now go talk to the King.
+Now go talk to the King.
+
+Now go! Lives are at stack!
+Now go! Lives are at stack!
+
+Now go, and fetch the materials again. I'll make another fertilizer for you.
+Now go, and fetch the materials again. I'll make another fertilizer for you.
+
+Now lo and behold... The ultimate... TRANSMUTATION!
+Now lo and behold... The ultimate... TRANSMUTATION!
+
+Now please be a good helper, and aid me by bringing:
+Now please be a good helper, and aid me by bringing:
+
+Now please bring me @@/2 @@, @@/20 @@, @@/30 @@ and @@/70 @@ so I don't need to leave here and start travelling everywhere...
+Now please bring me @@/2 @@, @@/20 @@, @@/30 @@ and @@/70 @@ so I don't need to leave here and start travelling everywhere...
+
+Now stand still... It should not take much time...
+Now stand still... It should not take much time...
+
+Now that Chief Oskari knows about the sequence of events, the Sage will take care of it. It's really a shame how malicious people can be.
+Now that Chief Oskari knows about the sequence of events, the Sage will take care of it. It's really a shame how malicious people can be.
+
+Now that I've described the spells to you, I'm sure I cast them correctly. But... I think there is a way to have these effects. It's silly though.
+Now that I've described the spells to you, I'm sure I cast them correctly. But... I think there is a way to have these effects. It's silly though.
+
+Now that you ask....
+Now that you ask....
+
+Now to head inside the caves, until the last floor, and have my showdown and revenge against the Monster King. I do not plan in failing.
+Now to head inside the caves, until the last floor, and have my showdown and revenge against the Monster King. I do not plan in failing.
+
+Now wait for your partner, then talk to me again.#0
+Now wait for your partner, then talk to me again.
+
+Now wait for your partner, then talk to me again.#1
+Now wait for your partner, then talk to me again.
+
+Now wanders over the land.
+Now wanders over the land.
+
+Now we are no longer useless — we can play music again!
+Now we are no longer useless — we can play music again!
+
+Now we can play any songs! Hooray!
+Now we can play any songs! Hooray!
+
+Now you must feel homelike already here... take these slippers so your feet stays warm!
+Now you must feel homelike already here... take these slippers so your feet stays warm!
+
+Now you need to fight monster with the maximum range, you can to do this do these steps in order: lock enemy, Attack, hit, move backwards of one tile, hit, ETC.
+Now you need to fight monster with the maximum range, you can to do this do these steps in order: lock enemy, Attack, hit, move backwards of one tile, hit, ETC.
+
+Now, I'm sure you could find the answer you seek without the trouble of coming here, but anyway. I guess I'll explain you how things work here, first.
+Now, I'm sure you could find the answer you seek without the trouble of coming here, but anyway. I guess I'll explain you how things work here, first.
+
+Now, a simple @@ quest to make you stronger...
+Now, a simple @@ quest to make you stronger...
+
+Now, as you gave yourself the trouble of coming here...
+Now, as you gave yourself the trouble of coming here...
+
+Now, crafting an airship requires a lot of efforts, resources, money and specially time. Fourteen months, to be exact.
+Now, crafting an airship requires a lot of efforts, resources, money and specially time. Fourteen months, to be exact.
+
+Now, isn't this lovely? I'll turn it into some pants for %s winter.
+Now, isn't this lovely? I'll turn it into some pants for %s winter.
+
+Now, let's try again.
+Now, let's try again.
+
+Now, listen closely. Jesusalva desgined most of the quests. And he hates cheaters and liars.
+Now, listen closely. Jesusalva desgined most of the quests. And he hates cheaters and liars.
+
+Now, listen to me. I know I promised to bring you to the World's Edge.
+Now, listen to me. I know I promised to bring you to the World's Edge.
+
+Now, please kill 50 @@, Try to collect some lamps in the same time, they could be useful later.
+Now, please kill 50 @@, Try to collect some lamps in the same time, they could be useful later.
+
+Now, that's unfortunate. I don't think you can hit me from where you are.
+Now, that's unfortunate. I don't think you can hit me from where you are.
+
+Now, to find the treasure chest!
+Now, to find the treasure chest!
+
+Now, to wait for Sunday is the most boring part... Alas, I wonder if I'll remember next week, too.
+Now, to wait for Sunday is the most boring part... Alas, I wonder if I'll remember next week, too.
+
+Now, we're hot on the trails of whatever is the reason for the town to be so empty. We blocked this road so the town is not overrun by the monsters outside.
+Now, we're hot on the trails of whatever is the reason for the town to be so empty. We blocked this road so the town is not overrun by the monsters outside.
+
+Now, you'll learn a thief trick! This one allows you to steal drops from monsters! Ka-pow! Amazing!
+Now, you'll learn a thief trick! This one allows you to steal drops from monsters! Ka-pow! Amazing!
+
+Now, you'll learn a thief trick! What sort of thief loots so much that they get overweight penalty? That's not cool!
+Now, you'll learn a thief trick! What sort of thief loots so much that they get overweight penalty? That's not cool!
+
+Now, you'll learn an important trick! Stealing is nice, but scamming is even better!
+Now, you'll learn an important trick! Stealing is nice, but scamming is even better!
+
+Nowhere Gluvine
+Nowhere Gluvine
+
+Nowhere Jeane
+Nowhere Jeane
+
+Nowhere Man
+Nowhere Man
+
+Nulity Pixie
+Nulity Pixie
+
+Nutcracker
+Nutcracker
+
+Nylo
+Nylo
+
+Nylo#Marggo
+Nylo#Marggo
+
+Nymph Poison
+Nymph Poison
+
+O.o "That's a lot. Maybe another day."
+O.o "That's a lot. Maybe another day."
+
+OFF WITH THEIR HEADS!
+OFF WITH THEIR HEADS!
+
+OH MY, PLEASE DON'T!
+OH MY, PLEASE DON'T!
+
+OH NOES! The ceiling seems to have collapsed when the chest was open! We are forced to go forward!!
+OH NOES! The ceiling seems to have collapsed when the chest was open! We are forced to go forward!!
+
+OH NOES! The ceiling seems to have collapsed. I hope we got the key, or the quest is over for us!
+OH NOES! The ceiling seems to have collapsed. I hope we got the key, or the quest is over for us!
+
+OK, I will get them.
+OK, I will get them.
+
+OMG CANCEL IT!!
+OMG CANCEL IT!!
+
+OMG so cute! This must be the cutest bear you ever seen your whole life.
+OMG so cute! This must be the cutest bear you ever seen your whole life.
+
+OMG you got all equipment in Moubootaur Legends. You are truly a legend of legends.
+OMG you got all equipment in Moubootaur Legends. You are truly a legend of legends.
+
+Oak
+Oak
+
+Obtain event equipment
+Obtain event equipment
+
+Ocean Croc
+Ocean Croc
+
+Ocean Croc Claw
+Ocean Croc Claw
+
+Ocean Pirate
+Ocean Pirate
+
+Of course I hurried there as fast as I could, yelling to wake up everyone, but that caused so much confusion that we fell over each other in the corridor and when we finally reached the library, the slimes were already spread all over the room, eating or exploding the books.
+Of course I hurried there as fast as I could, yelling to wake up everyone, but that caused so much confusion that we fell over each other in the corridor and when we finally reached the library, the slimes were already spread all over the room, eating or exploding the books.
+
+Of course I'll help you!
+Of course I'll help you!
+
+Of course it does. And the same level rules applies.
+Of course it does. And the same level rules applies.
+
+Of course! But beware that %s are always in demand!
+Of course! But beware that %s are always in demand!
+
+Of course! Quick, take it!!
+Of course! Quick, take it!!
+
+Of course, I actually have two options:
+Of course, I actually have two options:
+
+Of course, I do charge a nominal fee of for the service. %s GP to be exact.
+Of course, I do charge a nominal fee of for the service. %s GP to be exact.
+
+Of course, give me just a minute to look up for your data, @@.
+Of course, give me just a minute to look up for your data, @@.
+
+Of course, he doesn't likes the fact you're talking to me.
+Of course, he doesn't likes the fact you're talking to me.
+
+Of course, if you don't ask from the Mana Stone for more magic, you will stay on the first degree forever...
+Of course, if you don't ask from the Mana Stone for more magic, you will stay on the first degree forever...
+
+Of course, if your problem is only experience, then you should look for %s and other EXP-boosting drinks. Some are sold, some are made, some are dropped, some are... magical...
+Of course, if your problem is only experience, then you should look for %s and other EXP-boosting drinks. Some are sold, some are made, some are dropped, some are... magical...
+
+Of course, lag might always be a problem. Remember to drag healing items to the shortcut list too. %%2
+Of course, lag might always be a problem. Remember to drag healing items to the shortcut list too. %%2
+
+Of course, some get scholarship in honor of the cause or by notable knowledge and prowess; These are a special group not worth mentioning.
+Of course, some get scholarship in honor of the cause or by notable knowledge and prowess; These are a special group not worth mentioning.
+
+Of course, the Savior race is extinct as far as history book concern with.
+Of course, the Savior race is extinct as far as history book concern with.
+
+Of course, they are on the left wall, go have a look at them.
+Of course, they are on the left wall, go have a look at them.
+
+Of course, we'll find a way to reward you for your efforts.
+Of course, we'll find a way to reward you for your efforts.
+
+Of course. I bet Elli is the one who cursed you, who started the Great Fire and who put the time lock in place.
+Of course. I bet Elli is the one who cursed you, who started the Great Fire and who put the time lock in place.
+
+Of course. The adviser of the Yeti King, for instance, is very friendly.
+Of course. The adviser of the Yeti King, for instance, is very friendly.
+
+Of course: better drinks, more EXP. Just be careful to don't get so drunk that you cannot fight anymore, will ya?
+Of course: better drinks, more EXP. Just be careful to don't get so drunk that you cannot fight anymore, will ya?
+
+Off to storage I go.
+Off to storage I go.
+
+Offer food to it.
+Offer food to it.
+
+Offering alcohol to a teddy seems like a ugly thing to do. We should think on something else.
+Offering alcohol to a teddy seems like a ugly thing to do. We should think on something else.
+
+Oh dear, oh dear, where could I have possibly left it?!
+Oh dear, oh dear, where could I have possibly left it?!
+
+Oh hello again. This time I need you to be enrolled here, for this, you need to either get a good rank at the Magic Olympics or by contributing to the world's knowledge. Talk to headmaster if you need help.
+Oh hello again. This time I need you to be enrolled here, for this, you need to either get a good rank at the Magic Olympics or by contributing to the world's knowledge. Talk to headmaster if you need help.
+
+Oh it's you @@, I did not recognize you with your hat!
+Oh it's you @@, I did not recognize you with your hat!
+
+Oh it's you @@, I did not recognize you without a hat!
+Oh it's you @@, I did not recognize you without a hat!
+
+Oh look, it is Cupid!
+Oh look, it is Cupid!
+
+Oh my Jesusalva - You broke my lock! Why?!
+Oh my Jesusalva - You broke my lock! Why?!
+
+Oh my! Did you rent a house or an apartment and now want to brew stuff, like @@ or @@?
+Oh my! Did you rent a house or an apartment and now want to brew stuff, like @@ or @@?
+
+Oh my, the great @@ has come to talk to me!
+Oh my, the great @@ has come to talk to me!
+
+Oh my, you don't seem to be registered as a Monster Hunting Quest Participant. Would you like to register?
+Oh my, you don't seem to be registered as a Monster Hunting Quest Participant. Would you like to register?
+
+Oh no! I will miss my bus! Gotta go!
+Oh no! I will miss my bus! Gotta go!
+
+Oh no! What should we do now?
+Oh no! What should we do now?
+
+Oh no, Benjamin is a city guard, he would never do that. I hope.
+Oh no, Benjamin is a city guard, he would never do that. I hope.
+
+Oh no, I don't have any money on me right now.
+Oh no, I don't have any money on me right now.
+
+Oh no, not another stranger she sends me to tell that!
+Oh no, not another stranger she sends me to tell that!
+
+Oh no... That is wrong! %%3
+Oh no... That is wrong! %%3
+
+Oh noes ─ the door is sealed! We can only press forward and failure is final!
+Oh noes ─ the door is sealed! We can only press forward and failure is final!
+
+Oh noes! He fainted! Quick, rescue him!!#1
+Oh noes! He fainted! Quick, rescue him!!
+
+Oh noes! She fainted! Quick, rescue her!!#0
+Oh noes! She fainted! Quick, rescue her!!
+
+Oh noes! The door is locked!! Quick! Call a GM!!!
+Oh noes! The door is locked!! Quick! Call a GM!!!
+
+Oh noes! The guards locked the door!
+Oh noes! The guards locked the door!
+
+Oh noes! You've found the Candor control panel!
+Oh noes! You've found the Candor control panel!
+
+Oh noes! You've found the Halinarzo control panel!
+Oh noes! You've found the Halinarzo control panel!
+
+Oh noes! You've found the Hurnscald control panel!
+Oh noes! You've found the Hurnscald control panel!
+
+Oh noes! You've found the Tulimshar control panel!
+Oh noes! You've found the Tulimshar control panel!
+
+Oh noes, who nows can help my wife? Please reconsider!
+Oh noes, who nows can help my wife? Please reconsider!
+
+Oh please. Even if you know a trick or two, you don't have real magic.
+Oh please. Even if you know a trick or two, you don't have real magic.
+
+Oh right, I totally forgot about that, here you go.
+Oh right, I totally forgot about that, here you go.
+
+Oh well, this sucks, but that was only an illusion.
+Oh well, this sucks, but that was only an illusion.
+
+Oh well... That's my mother, and this is why I love her.
+Oh well... That's my mother, and this is why I love her.
+
+Oh yeah some work is really painful, especially for my back, and I cant bother Woody to do it, he has so many difficulties moving.
+Oh yeah some work is really painful, especially for my back, and I cant bother Woody to do it, he has so many difficulties moving.
+
+Oh yes, here you go, that will be 1 GP.
+Oh yes, here you go, that will be 1 GP.
+
+Oh! You found me. Good job!
+Oh! You found me. Good job!
+
+Oh, %s, thanks! The tunnels behind me are very hot, this will help if I have to go inside them.
+Oh, %s, thanks! The tunnels behind me are very hot, this will help if I have to go inside them.
+
+Oh, I can't really tell. I'm mostly working in the library, while he's very involved in the research.
+Oh, I can't really tell. I'm mostly working in the library, while he's very involved in the research.
+
+Oh, I know who you mean! That impertinent person came over in the workshop area and fiddled about with all kinds of things here! Such a rude person! Didn't he understand that we had delicate things going on here? We had to send him back to the library area several times.
+Oh, I know who you mean! That impertinent person came over in the workshop area and fiddled about with all kinds of things here! Such a rude person! Didn't he understand that we had delicate things going on here? We had to send him back to the library area several times.
+
+Oh, I never really thought about that. He was the one who failed the sealing, right? But I heard it's a quite difficult spell, so I suppose this could've happened to any mage. I don't know. Why are you asking such difficult questions?
+Oh, I never really thought about that. He was the one who failed the sealing, right? But I heard it's a quite difficult spell, so I suppose this could've happened to any mage. I don't know. Why are you asking such difficult questions?
+
+Oh, I was wee lad on the beach singing the blub song
+Oh, I was wee lad on the beach singing the blub song
+
+Oh, I'm just exploring. What can you tell me about this island?
+Oh, I'm just exploring. What can you tell me about this island?
+
+Oh, Miler just prepared a %s for you. You can use it... Or give it to Henry in Nivalis Inn, and whisper "The Shadow Tortuga won the race against the Panthom Lord".
+Oh, Miler just prepared a %s for you. You can use it... Or give it to Henry in Nivalis Inn, and whisper "The Shadow Tortuga won the race against the Panthom Lord".
+
+Oh, Welcome then.
+Oh, Welcome then.
+
+Oh, a visitor. Welcome to the city hall. Please, enjoy your stay.
+Oh, a visitor. Welcome to the city hall. Please, enjoy your stay.
+
+Oh, and I almost forgot! Do not share passwords or pincodes, not even with staff! And do not use the same password somewhere else, they can be stolen!
+Oh, and I almost forgot! Do not share passwords or pincodes, not even with staff! And do not use the same password somewhere else, they can be stolen!
+
+Oh, and about the Candor travel for 200 GP... Which would be a rare for little or no gold... Well, that's just an attention grabber.
+Oh, and about the Candor travel for 200 GP... Which would be a rare for little or no gold... Well, that's just an attention grabber.
+
+Oh, and if I perchance catch you using %s or %s... You'll be banned from my game, understood?
+Oh, and if I perchance catch you using %s or %s... You'll be banned from my game, understood?
+
+Oh, and you will need this book too, it will help you learn the basics of fishing.
+Oh, and you will need this book too, it will help you learn the basics of fishing.
+
+Oh, but don't you worry. Sure, you can't go in Nivalis bank and take my stuff... But the Storage Fairy at Lilit might just let you.
+Oh, but don't you worry. Sure, you can't go in Nivalis bank and take my stuff... But the Storage Fairy at Lilit might just let you.
+
+Oh, but we are affiliated with Jesusalva, whom hates cheaters. So, meet your dismissal!
+Oh, but we are affiliated with Jesusalva, whom hates cheaters. So, meet your dismissal!
+
+Oh, eh, why are you asking me? I've only been here a short while and don't really know all of the people well enough yet.
+Oh, eh, why are you asking me? I've only been here a short while and don't really know all of the people well enough yet.
+
+Oh, every settlement is part of it. Candor, Tulimshar, Hurnscald, Frostia, Halinarzo, Artis, Nivalis...
+Oh, every settlement is part of it. Candor, Tulimshar, Hurnscald, Frostia, Halinarzo, Artis, Nivalis...
+
+Oh, he has been a little rascal since his father died.
+Oh, he has been a little rascal since his father died.
+
+Oh, he's still alive!#1
+Oh, he's still alive!
+
+Oh, hello %s.
+Oh, hello %s.
+
+Oh, hello there! Welcome to the Mana Plane Of Existence!
+Oh, hello there! Welcome to the Mana Plane Of Existence!
+
+Oh, hello. If I were you I wouldn't go deeper into the library. There are still some of those monsters left. Slipping between the bookshelves.
+Oh, hello. If I were you I wouldn't go deeper into the library. There are still some of those monsters left. Slipping between the bookshelves.
+
+Oh, hello. You didn't choose a good time to visit. The library is a total mess. The slimes got out of control and ate most of the books.
+Oh, hello. You didn't choose a good time to visit. The library is a total mess. The slimes got out of control and ate most of the books.
+
+Oh, here the path seems to split. Which way should we go?
+Oh, here the path seems to split. Which way should we go?
+
+Oh, hey, welcome back, @@! Thanks for all your help!
+Oh, hey, welcome back, @@! Thanks for all your help!
+
+Oh, hey. Welcome to the library, or what's left of it.
+Oh, hey. Welcome to the library, or what's left of it.
+
+Oh, just an empty staff with black powder inside it. Which explodes. And then kills monsters.
+Oh, just an empty staff with black powder inside it. Which explodes. And then kills monsters.
+
+Oh, just walk on the dock, and you'll be warped there.
+Oh, just walk on the dock, and you'll be warped there.
+
+Oh, please. They're weaker than Maggots. They will only pose a threat if you're unarmed.
+Oh, please. They're weaker than Maggots. They will only pose a threat if you're unarmed.
+
+Oh, several things. It depends a bit on what the scholars consider, and the scholars... well, they change.
+Oh, several things. It depends a bit on what the scholars consider, and the scholars... well, they change.
+
+Oh, she's still alive!#0
+Oh, she's still alive!
+
+Oh, thank you! My daughter means a lot to me.
+Oh, thank you! My daughter means a lot to me.
+
+Oh, thanks, darling; I was starving. Do you need anything?
+Oh, thanks, darling; I was starving. Do you need anything?
+
+Oh, that's a long story.
+Oh, that's a long story.
+
+Oh, that's an interesting question. I was really surprised when I heard that he was responsible for the failure. I've worked together with him before, and I have to say, it really was a pleasure. He's very accurate and diligent, but also polite and helpful.
+Oh, that's an interesting question. I was really surprised when I heard that he was responsible for the failure. I've worked together with him before, and I have to say, it really was a pleasure. He's very accurate and diligent, but also polite and helpful.
+
+Oh, the @@ might be a heirloom or something from Braknar family. I dunno who could have it.
+Oh, the @@ might be a heirloom or something from Braknar family. I dunno who could have it.
+
+Oh, then I don't have enough! I'll bring more later!
+Oh, then I don't have enough! I'll bring more later!
+
+Oh, then you should seek the help of an specialist. These curses have an specific condition to break, like leveling up or being killed. Force-breaking them can be difficult.
+Oh, then you should seek the help of an specialist. These curses have an specific condition to break, like leveling up or being killed. Force-breaking them can be difficult.
+
+Oh, there was such a visitor, yes. Strange guy, and didn't really know how to behave. He sneaked into the workshop area all the time, I think he was rather curious about the things going on there.
+Oh, there was such a visitor, yes. Strange guy, and didn't really know how to behave. He sneaked into the workshop area all the time, I think he was rather curious about the things going on there.
+
+Oh, this is so much work... I can't believe they let this happen! You would think they'd be careful when playing around with such powerful forces. Hah! Big mistake!
+Oh, this is so much work... I can't believe they let this happen! You would think they'd be careful when playing around with such powerful forces. Hah! Big mistake!
+
+Oh, too bad.
+Oh, too bad.
+
+Oh, would you? That'd be great! You see, the slimes ate most of the books and it is difficult to retrieve the bookpages. If you feel capable of this task, you could go out to hunt the Blue and White Slimes, to get the @@ back from them.
+Oh, would you? That'd be great! You see, the slimes ate most of the books and it is difficult to retrieve the bookpages. If you feel capable of this task, you could go out to hunt the Blue and White Slimes, to get the @@ back from them.
+
+Oh, yea, you are right, it was a mistake. Bye-bye.
+Oh, yea, you are right, it was a mistake. Bye-bye.
+
+Oh, yes. There was such a guy, shortly before the accident I think. He sneaked into the workshop several times, sticking his nose into stuff that shouldn't be his business. We had to send him back to the library area at least three times.
+Oh, yes. There was such a guy, shortly before the accident I think. He sneaked into the workshop several times, sticking his nose into stuff that shouldn't be his business. We had to send him back to the library area at least three times.
+
+Oh, you must be from Hurnscald Household, then. Hand me the letter, I'll have it delivered.
+Oh, you must be from Hurnscald Household, then. Hand me the letter, I'll have it delivered.
+
+Oh. And don't mention anyone what I'm researching here. No need to fuss over minor things, don't you agree? It's totally not shaddy. Not shaddy at all!
+Oh. And don't mention anyone what I'm researching here. No need to fuss over minor things, don't you agree? It's totally not shaddy. Not shaddy at all!
+
+Oh... Of course! I'll even do this for free!
+Oh... Of course! I'll even do this for free!
+
+Oh... What a bummer. But you've brought the item back, so we're OK.
+Oh... What a bummer. But you've brought the item back, so we're OK.
+
+Oh... Wow! I'm surprised.
+Oh... Wow! I'm surprised.
+
+Oh? Just go east of here. Keep going ##Bright##b, go down the stairs, and you'll be at his office already.
+Oh? Just go east of here. Keep going ##Bright##b, go down the stairs, and you'll be at his office already.
+
+Ohh Moubi Moubi you are too pink, that my eyes get shrink
+Ohh Moubi Moubi you are too pink, that my eyes get shrink
+
+Ohh! A fingernail aside.
+Ohh! A fingernail aside.
+
+Ohh, I think I know who you mean. That was a strange guy. He always came over here in the workshop, said he's very interested in the research. I suppose that's ok, but he didn't keep his hands to himself, and touched some experiments and I caught him near some storage racks.
+Ohh, I think I know who you mean. That was a strange guy. He always came over here in the workshop, said he's very interested in the research. I suppose that's ok, but he didn't keep his hands to himself, and touched some experiments and I caught him near some storage racks.
+
+Ohhh moubiii
+Ohhh moubiii
+
+Ohhhhh..... Please, help me!!! My wife is gravely wounded!!
+Ohhhhh..... Please, help me!!! My wife is gravely wounded!!
+
+Ok
+Ok
+
+Ok I add your name... @@...
+Ok I add your name... @@...
+
+Ok grandma CYA!
+Ok grandma CYA!
+
+Ok then... Uh... Please excuse me.....
+Ok then... Uh... Please excuse me.....
+
+Ok, I'll be back in no time.
+Ok, I'll be back in no time.
+
+Ok, come back me when you want to know the @@ real power!
+Ok, come back me when you want to know the @@ real power!
+
+Ok, done!
+Ok, done!
+
+Ok, done.
+Ok, done.
+
+Ok, good trip then.
+Ok, good trip then.
+
+Ok, let me see...
+Ok, let me see...
+
+Ok, let's see how many you have and how many I need:
+Ok, let's see how many you have and how many I need:
+
+Ok, let's stay focused now!
+Ok, let's stay focused now!
+
+Ok, now I want you to purge the cave from maggots. Kill 25 @@. They keep respawning and annoy miners team.
+Ok, now I want you to purge the cave from maggots. Kill 25 @@. They keep respawning and annoy miners team.
+
+Ok, see you later.
+Ok, see you later.
+
+Ok, see you.
+Ok, see you.
+
+Ok, thanks.
+Ok, thanks.
+
+Ok, this will be my last request. The Trainer asked me for a fine weapon, to protect our village.
+Ok, this will be my last request. The Trainer asked me for a fine weapon, to protect our village.
+
+Ok, what I need is:
+Ok, what I need is:
+
+Ok, you can see that target over there? I will tell you how strong the wind blows and from which direction. Then you will try to hit the target by moving right or left and decide how powerful you want to shoot.
+Ok, you can see that target over there? I will tell you how strong the wind blows and from which direction. Then you will try to hit the target by moving right or left and decide how powerful you want to shoot.
+
+Ok, you look strong enough. Now, let me think on an easy task for you...
+Ok, you look strong enough. Now, let me think on an easy task for you...
+
+Ok. Cool life!
+Ok. Cool life!
+
+Ok. You have made great progress. I think you are ready for further tasks.
+Ok. You have made great progress. I think you are ready for further tasks.
+
+Ok...please come back when you aren't busy...
+Ok...please come back when you aren't busy...
+
+Okay then.
+Okay then.
+
+Okay!
+Okay!
+
+Okay, I'll be back!
+Okay, I'll be back!
+
+Okay, bye
+Okay, bye
+
+Okay, bye.
+Okay, bye.
+
+Okay, here is some experience, and forgot what I've said before. We can try again.
+Okay, here is some experience, and forgot what I've said before. We can try again.
+
+Okay, laters
+Okay, laters
+
+Okay, that is very useful. However, I do need a few reagents to make it.
+Okay, that is very useful. However, I do need a few reagents to make it.
+
+Okay, to join an arena, you need the unique password. Leave blank if you don't know.
+Okay, to join an arena, you need the unique password. Leave blank if you don't know.
+
+Okay, which arena will you rent? Cost is @@ GP.
+Okay, which arena will you rent? Cost is @@ GP.
+
+Okay, you can start!
+Okay, you can start!
+
+Old Paper Patch
+Old Paper Patch
+
+Old Snake
+Old Snake
+
+Old Towel
+Old Towel
+
+Old Well#003-1
+Old Well#003-1
+
+Old line:
+Old line:
+
+On a computer, you can press @@ to attack it. On mobile, that would be the big button with the number 1.
+On a computer, you can press @@ to attack it. On mobile, that would be the big button with the number 1.
+
+On a side note, more defense is always good, but the damage won't decrease on the same rate that defense raises.
+On a side note, more defense is always good, but the damage won't decrease on the same rate that defense raises.
+
+On hindsight, I'll wait you get a few levels. Can't have cheaters, ya know!
+On hindsight, I'll wait you get a few levels. Can't have cheaters, ya know!
+
+On mobile, the DPAD is at your left. Do you see the chest to my right?
+On mobile, the DPAD is at your left. Do you see the chest to my right?
+
+On mobile, you would click on the @@ icon!
+On mobile, you would click on the @@ icon!
+
+On my way to get what you need.
+On my way to get what you need.
+
+On second thought, he really could use a bath.
+On second thought, he really could use a bath.
+
+On the friday, the 14th, an additional hunting field will be open. Talk to Soul Stone to go there :>
+On the friday, the 14th, an additional hunting field will be open. Talk to Soul Stone to go there :>
+
+On the ruins you may find free loot... And on the new town, you may find the sturdiest stuff of all.
+On the ruins you may find free loot... And on the new town, you may find the sturdiest stuff of all.
+
+On your marks!
+On your marks!
+
+On your marks...
+On your marks...
+
+Once broken, they'll lose the link to the magical seal.
+Once broken, they'll lose the link to the magical seal.
+
+Once he resumes working confidently, we can go over this important subject.
+Once he resumes working confidently, we can go over this important subject.
+
+Once inside the BOSS Cave, you get a five minutes time limit to slay the boss with your party.
+Once inside the BOSS Cave, you get a five minutes time limit to slay the boss with your party.
+
+Once it begins (you can fight against an AI), kill the most of enemy sparks you can, while preventing your own sparks of being killed. Wins whoever has more sparks after %s minutes.
+Once it begins (you can fight against an AI), kill the most of enemy sparks you can, while preventing your own sparks of being killed. Wins whoever has more sparks after %s minutes.
+
+Once that is done, the Alliance's staff will set several stands with the most important services you might need, like banking, inside the town central area.
+Once that is done, the Alliance's staff will set several stands with the most important services you might need, like banking, inside the town central area.
+
+Once the fight begins, the barrier at your left will lock. It won't open until the fight is over.
+Once the fight begins, the barrier at your left will lock. It won't open until the fight is over.
+
+Once the five are once again assembled,
+Once the five are once again assembled,
+
+Once the quest is started, entrance will be closed.
+Once the quest is started, entrance will be closed.
+
+Once the roots are of a desired thickness, he ties them to make a string, and applies an oil on it.
+Once the roots are of a desired thickness, he ties them to make a string, and applies an oil on it.
+
+Once their fight was over,
+Once their fight was over,
+
+Once they get too annoying, I need to kill them... But I think I could put them to rest with the Rest Homunculus skill.
+Once they get too annoying, I need to kill them... But I think I could put them to rest with the Rest Homunculus skill.
+
+Once upon a time, five mighty heroes emerged;
+Once upon a time, five mighty heroes emerged;
+
+Once used, they will disappear from your inventory.
+Once used, they will disappear from your inventory.
+
+Once you allocate status points, you can fight it! Good luck, @@!
+Once you allocate status points, you can fight it! Good luck, @@!
+
+Once you decide to rescue Cindy, nobody else will be able to enter or leave this room.
+Once you decide to rescue Cindy, nobody else will be able to enter or leave this room.
+
+Once you done so, come back and report the new passcode... Then I'll disclose to you the real mission.
+Once you done so, come back and report the new passcode... Then I'll disclose to you the real mission.
+
+Once you have the appropriate colorant for the item, ##bdrag the colorant##b to the material.
+Once you have the appropriate colorant for the item, ##bdrag the colorant##b to the material.
+
+Once you join the Alliance, you won't be able to talk with people outside it.
+Once you join the Alliance, you won't be able to talk with people outside it.
+
+Once you lit one of them, monsters will pour out, so take care to don't die.
+Once you lit one of them, monsters will pour out, so take care to don't die.
+
+Once you reach level %d, I'll offer you a life-time opportunity to delete all your levels and experience for your %s rebirth!
+Once you reach level %d, I'll offer you a life-time opportunity to delete all your levels and experience for your %s rebirth!
+
+Once your skill is forgotten, the Magic Skill Points used will be freed.
+Once your skill is forgotten, the Magic Skill Points used will be freed.
+
+One Hand Weapon Recipes
+One Hand Weapon Recipes
+
+One claims to be a constable and teach people to sell high and buy low.
+One claims to be a constable and teach people to sell high and buy low.
+
+One day Dimond D. Stone dreamed of her own restaurant.
+One day Dimond D. Stone dreamed of her own restaurant.
+
+One day I saw myself a rich man ♪
+One day I saw myself a rich man ♪
+
+One day more or less won't make a difference.
+One day more or less won't make a difference.
+
+One day, I was provoked. Others came to my aid,
+One day, I was provoked. Others came to my aid,
+
+One day... One day! ONE DAY I'LL GET REVENGE ON YOU, MONSTER KING!
+One day... One day! ONE DAY I'LL GET REVENGE ON YOU, MONSTER KING!
+
+One hand sword (average)
+One hand sword (average)
+
+One last question, but this shouldn't be a problem for you.
+One last question, but this shouldn't be a problem for you.
+
+One last thing to keep in mind... If you are surrounded, you'll suffer an agility and defense penalty.
+One last thing to keep in mind... If you are surrounded, you'll suffer an agility and defense penalty.
+
+One last thing... Good luck. This is a long shot, so don't hesit in running away.
+One last thing... Good luck. This is a long shot, so don't hesit in running away.
+
+One of the bandits locked this door; We need to find the key!
+One of the bandits locked this door; We need to find the key!
+
+One of the most important jobs on Moubootaur Legends, crafted equipment is much stronger than regular ones. Specially weapons.
+One of the most important jobs on Moubootaur Legends, crafted equipment is much stronger than regular ones. Specially weapons.
+
+One of the most powerful chants known is:
+One of the most powerful chants known is:
+
+One of them is really crazy, though: They say that there is a legendary monster down there.
+One of them is really crazy, though: They say that there is a legendary monster down there.
+
+One of them was a bit odd, they were wearing a mask and had a strange way of talking. They said they came from Frostia, which is an elven town in the north. Elves are usually shy, so I thought it would have been rude to ask them to remove the mask.
+One of them was a bit odd, they were wearing a mask and had a strange way of talking. They said they came from Frostia, which is an elven town in the north. Elves are usually shy, so I thought it would have been rude to ask them to remove the mask.
+
+Only %s has the key.
+Only %s has the key.
+
+Only @@ GP.
+Only @@ GP.
+
+Only Academy Grand Masters may cassate someone.
+Only Academy Grand Masters may cassate someone.
+
+Only Cronqvist Mode yields more points per wave!
+Only Cronqvist Mode yields more points per wave!
+
+Only Sponsors are allowed past this area.
+Only Sponsors are allowed past this area.
+
+Only Tulimshar Guards are allowed in this building.
+Only Tulimshar Guards are allowed in this building.
+
+Only elves may run to Town Admin Office in Frostia!
+Only elves may run to Town Admin Office in Frostia!
+
+Only finest wares!
+Only finest wares!
+
+Only getting closer to find out what kind this one is.
+Only getting closer to find out what kind this one is.
+
+Only green from @@ will be taken in account.
+Only green from @@ will be taken in account.
+
+Only items with max %s%% drop rate are accepted!
+Only items with max %s%% drop rate are accepted!
+
+Only magic weapons are allowed, but legendary ones - %s and %s - won't be tolerated.
+Only magic weapons are allowed, but legendary ones - %s and %s - won't be tolerated.
+
+Only melee weapons are permitted for use with this skill.
+Only melee weapons are permitted for use with this skill.
+
+Only one vouch can be acquired, and you cannot be vouched to Grand Master position. You need to have touched the Mana Stone to participate.
+Only one vouch can be acquired, and you cannot be vouched to Grand Master position. You need to have touched the Mana Stone to participate.
+
+Only the Guild Master and the Vice Leaders are capable of starting this quest.
+Only the Guild Master and the Vice Leaders are capable of starting this quest.
+
+Only the finest bows and arrows, in the land where wood is abundant!
+Only the finest bows and arrows, in the land where wood is abundant!
+
+Only the party from the MVP will get the reward.
+Only the party from the MVP will get the reward.
+
+Only then we may have peace!!
+Only then we may have peace!!
+
+Only those whom overcome all Candor Challenges shall wield ultimate power.
+Only those whom overcome all Candor Challenges shall wield ultimate power.
+
+Ooh, many thanks! Lemme just grab something for you...
+Ooh, many thanks! Lemme just grab something for you...
+
+Ooh, this definitely is a Tulimshar item! But I would prefer a box full of these, please.
+Ooh, this definitely is a Tulimshar item! But I would prefer a box full of these, please.
+
+Ooh, this nice shiny thing? It was an event.
+Ooh, this nice shiny thing? It was an event.
+
+Oolong Tea
+Oolong Tea
+
+Oooh, I see you have a @@ with you.
+Oooh, I see you have a @@ with you.
+
+Oooh, I see, I see! So you're working with ##Bthem##b... This is most appreciated.
+Oooh, I see, I see! So you're working with ##Bthem##b... This is most appreciated.
+
+Oooh, many thanks! ^.^
+Oooh, many thanks! ^.^
+
+Oops! Seems like Saulc doesn't wants you messing on his chemistry set!
+Oops! Seems like Saulc doesn't wants you messing on his chemistry set!
+
+Oops! Seems like Saulc doesn't wants you messing on his raging furnaces!
+Oops! Seems like Saulc doesn't wants you messing on his raging furnaces!
+
+Oops! You destroyed your %s.
+Oops! You destroyed your %s.
+
+Oops, there is nobody known as @@ on this game.
+Oops, there is nobody known as @@ on this game.
+
+Open Beta 2019
+Open Beta 2019
+
+Open Fishing Book
+Open Fishing Book
+
+Open Petcaring Book
+Open Petcaring Book
+
+Open Recipe Book
+Open Recipe Book
+
+Open shop
+Open shop
+
+Open storage
+Open storage
+
+Open the chest?
+Open the chest?
+
+Open your inventory window (F3 key) next to the trading window. Select an item you want to offer, and then press the Add button. To add money to the negotiation, enter the amount you will offer and press the Change button.
+Open your inventory window (F3 key) next to the trading window. Select an item you want to offer, and then press the Add button. To add money to the negotiation, enter the amount you will offer and press the Change button.
+
+Opened Christmas Box
+Opened Christmas Box
+
+Opera Mask
+Opera Mask
+
+Operation Cost: @@ GP
+Operation Cost: @@ GP
+
+Operation successful.
+Operation successful.
+
+Ops, I should not leave this room without talking to the king first.
+Ops, I should not leave this room without talking to the king first.
+
+Ops, sorry. I was going to the Soul Menhir and entered your house by accident.
+Ops, sorry. I was going to the Soul Menhir and entered your house by accident.
+
+Ops... I hammered this stuff too hard... It's junk now.
+Ops... I hammered this stuff too hard... It's junk now.
+
+Optional Miniboss
+Optional Miniboss
+
+Options are %s. Any craftsman can make them. Adventurers tend to be the best craftsman in the world.
+Options are %s. Any craftsman can make them. Adventurers tend to be the best craftsman in the world.
+
+Or I can swap the @@ with a @@ - for free.
+Or I can swap the @@ with a @@ - for free.
+
+Or I can swap the @@ with a @@ - for only 2100 GP.
+Or I can swap the @@ with a @@ - for only 2100 GP.
+
+Or I could recover the @@ for 10 @@ and the modest fee of 4400 GP.
+Or I could recover the @@ for 10 @@ and the modest fee of 4400 GP.
+
+Or make yourself useful by killing some Ducks. They snatch all the Cherry Cake from the Inn and the staff is getting angry at me. It'll serve, too.
+Or make yourself useful by killing some Ducks. They snatch all the Cherry Cake from the Inn and the staff is getting angry at me. It'll serve, too.
+
+Or maybe... You want to try again right now? I'll do whatever needed to level you up to less-noobish levels.
+Or maybe... You want to try again right now? I'll do whatever needed to level you up to less-noobish levels.
+
+Or rather, I can't. I would love to help you, just like everybody else, but I don't know how to make fertilizers.
+Or rather, I can't. I would love to help you, just like everybody else, but I don't know how to make fertilizers.
+
+Or should we even split ourselves to check all possible ways?
+Or should we even split ourselves to check all possible ways?
+
+Or use our awesome [@@https://tmw2.org/manalauncher/InstallManaLauncher.exe|Mana Launcher@@] if you're on Windows or Linux.
+Or use our awesome [@@https://tmw2.org/manalauncher/InstallManaLauncher.exe|Mana Launcher@@] if you're on Windows or Linux.
+
+Or you can give me an @@, 3 @@ and an @@, and I'll make a gift for you. If you don't have the @@, you can pay 200 GP for it instead.
+Or you can give me an @@, 3 @@ and an @@, and I'll make a gift for you. If you don't have the @@, you can pay 200 GP for it instead.
+
+Orange
+Orange
+
+Orange Cupcake
+Orange Cupcake
+
+Orange Dye
+Orange Dye
+
+Orange Dye? How much does it cost?
+Orange Dye? How much does it cost?
+
+Orange Eggshell Hat
+Orange Eggshell Hat
+
+Oranye Isles, 257 AT
+Oranye Isles, 257 AT
+
+Orbyter Shrine
+Orbyter Shrine
+
+Orc
+Orc
+
+Orc Voice
+Orc Voice
+
+Ore Mines
+Ore Mines
+
+Oscar
+Oscar
+
+Oskari
+Oskari
+
+Oskari have a good opinion of you. Can you tell what exactly happened?
+Oskari have a good opinion of you. Can you tell what exactly happened?
+
+Other
+Other
+
+Other food can be used as a bait, too.
+Other food can be used as a bait, too.
+
+Other than that, you can explore the city as you want, but as you had a memory loss, You should visit the townhall.
+Other than that, you can explore the city as you want, but as you had a memory loss, You should visit the townhall.
+
+Other things are written but are not legible anymore.
+Other things are written but are not legible anymore.
+
+Other.
+Other.
+
+Others scrying you:
+Others scrying you:
+
+Others scrying your char data
+Others scrying your char data
+
+Otherwise, ##BYOU'LL DIE.##b Have a nice day!
+Otherwise, ##BYOU'LL DIE.##b Have a nice day!
+
+Otherwise, his enemies might have bested him, but I doubt any Yeti would dare to kill him.
+Otherwise, his enemies might have bested him, but I doubt any Yeti would dare to kill him.
+
+Otherwise, the monsters here usually won't attack you unless provoked.
+Otherwise, the monsters here usually won't attack you unless provoked.
+
+Otherwise, you can also obtain a title during the Magic Olympics. They happen every three months in average, and are the hardest way to obtain a title.
+Otherwise, you can also obtain a title during the Magic Olympics. They happen every three months in average, and are the hardest way to obtain a title.
+
+Otherwise, you could ask the Constable. They act in the Alliance stead to enforce law and order, and may have... special arrangements for you.
+Otherwise, you could ask the Constable. They act in the Alliance stead to enforce law and order, and may have... special arrangements for you.
+
+Ouch! That was kinda reckless!
+Ouch! That was kinda reckless!
+
+Ouch! That's heavy!
+Ouch! That's heavy!
+
+Ouch, the bucket BITE me!
+Ouch, the bucket BITE me!
+
+Oui, welcome to this fine shop! My name is Agostine, the legendary tailor!
+Oui, welcome to this fine shop! My name is Agostine, the legendary tailor!
+
+Our antecessors used to live peacefully in a sanctuary somewhere close to here, but the path was lost. That's why we now live with dwarves.
+Our antecessors used to live peacefully in a sanctuary somewhere close to here, but the path was lost. That's why we now live with dwarves.
+
+Our clan has moved away from Tulimshar before the Civil War, almost was wiped off during the Great Fire, and when we thought we could finally life in peace, the Mana War and the Monster War broke out in rapid succession.
+Our clan has moved away from Tulimshar before the Civil War, almost was wiped off during the Great Fire, and when we thought we could finally life in peace, the Mana War and the Monster War broke out in rapid succession.
+
+Our dear mayoress may also need help dealing with that maggot infestation.
+Our dear mayoress may also need help dealing with that maggot infestation.
+
+Our plushy friend knows what is really sweet on this life. It likes honey a great deal, and by the way it looks you, it probably wants more.
+Our plushy friend knows what is really sweet on this life. It likes honey a great deal, and by the way it looks you, it probably wants more.
+
+Our service is dangerous and difficult. But I would not want any other. Thanks for the help.
+Our service is dangerous and difficult. But I would not want any other. Thanks for the help.
+
+Out of Mind
+Out of Mind
+
+Out of Mind mode is only available for Top 3.
+Out of Mind mode is only available for Top 3.
+
+Out of Stock.
+Out of Stock.
+
+Out of my experience, you are ready to learn magic.
+Out of my experience, you are ready to learn magic.
+
+Out of my experience, your base intelligence may not be enough.
+Out of my experience, your base intelligence may not be enough.
+
+Out of my experience, your job may not be enough.
+Out of my experience, your job may not be enough.
+
+Out of my experience, your level may not be enough.
+Out of my experience, your level may not be enough.
+
+Outside towns, there's an EXP penalty if you die.
+Outside towns, there's an EXP penalty if you die.
+
+Outstanding. Congratulations.
+Outstanding. Congratulations.
+
+Ozthokk, a great sage from the Land Of Fire, holds secrets of time and space travel.
+Ozthokk, a great sage from the Land Of Fire, holds secrets of time and space travel.
+
+PARTY AND GUILD friends: Temporaly regen MP faster.
+PARTY AND GUILD friends: Temporaly regen MP faster.
+
+PARTY AND GUILD friends: Weapon always deal max damage.
+PARTY AND GUILD friends: Weapon always deal max damage.
+
+PLEASE STORE ALL MY ITEMS
+PLEASE STORE ALL MY ITEMS
+
+PORTABLE LIGHTSABER
+PORTABLE LIGHTSABER
+
+POWER!
+POWER!
+
+POWERFUL GUNSTAFF
+POWERFUL GUNSTAFF
+
+POWERFUL LIGHTSABER
+POWERFUL LIGHTSABER
+
+PROTIP: Every quest you complete in a location, will make ship travels to and from them cheaper!
+PROTIP: Every quest you complete in a location, will make ship travels to and from them cheaper!
+
+PS. Additional reagents may be required for warps.
+PS. Additional reagents may be required for warps.
+
+PS. Doesn't always work. You need an account at %s and to be at ManaPlus Team.
+PS. Doesn't always work. You need an account at %s and to be at ManaPlus Team.
+
+PS. Due a bug, they won't be displayed when you equip unless you relog.
+PS. Due a bug, they won't be displayed when you equip unless you relog.
+
+PS. No equipment restriction
+PS. No equipment restriction
+
+PS. The group names still aren't set. You're free to pinch in suggestions at LoF Discord (Legacy #discussion) :>
+PS. The group names still aren't set. You're free to pinch in suggestions at LoF Discord (Legacy #discussion) :>
+
+PS. This char will be reset on logout.
+PS. This char will be reset on logout.
+
+Pablin
+Pablin
+
+Pachua
+Pachua
+
+Painless, wasn't it?
+Painless, wasn't it?
+
+Painting#Saggy
+Painting#Saggy
+
+Paintings
+Paintings
+
+Pal, I'm counting on you. You'll like the little something I have for you!
+Pal, I'm counting on you. You'll like the little something I have for you!
+
+Pan#Saggy
+Pan#Saggy
+
+Panthom Lord
+Panthom Lord
+
+Panthom Wisp
+Panthom Wisp
+
+Pants
+Pants
+
+Pants Recipes
+Pants Recipes
+
+Paper
+Paper
+
+Paper Bag
+Paper Bag
+
+Paper! Paper! Get your copy of The Land of Fire Gazette here!
+Paper! Paper! Get your copy of The Land of Fire Gazette here!
+
+Parcival
+Parcival
+
+Pardon me, I don't remember my parents.
+Pardon me, I don't remember my parents.
+
+Pardon me, what is a recipe book?
+Pardon me, what is a recipe book?
+
+Participants: Jesusalva * mishana * bObr * demure * LawnCable
+Participants: Jesusalva * mishana * bObr * demure * LawnCable
+
+Participants: Povo * Manatauro * Woody
+Participants: Povo * Manatauro * Woody
+
+Partner not ready.
+Partner not ready.
+
+Party
+Party
+
+Party Master
+Party Master
+
+Party Name: @@
+Party Name: @@
+
+Party Quest
+Party Quest
+
+Passive MP Regen
+Passive MP Regen
+
+Password changed with success!
+Password changed with success!
+
+Past due date.
+Past due date.
+
+Past this checkpoint, is the village where the Monster King was born.
+Past this checkpoint, is the village where the Monster King was born.
+
+Past this grates, is the Magic Council Room.
+Past this grates, is the Magic Council Room.
+
+Past this point is the Fortress Island. %s Even so, be careful, the town should not exist.
+Past this point is the Fortress Island. %s Even so, be careful, the town should not exist.
+
+Paxel
+Paxel
+
+Pay
+Pay
+
+Pay attention to #world chat, as this event is managed by players. The Monster Army is also trying to regroup, neglecting it is not advised.
+Pay attention to #world chat, as this event is managed by players. The Monster Army is also trying to regroup, neglecting it is not advised.
+
+Pay attention to the fight, @@!
+Pay attention to the fight, @@!
+
+Pay attention to the sequence!
+Pay attention to the sequence!
+
+Pay for her handi-work?
+Pay for her handi-work?
+
+Pay the tuition fee?
+Pay the tuition fee?
+
+Pear
+Pear
+
+Pearl
+Pearl
+
+Peetu
+Peetu
+
+Peetu asked me to talk to you about his mishap.
+Peetu asked me to talk to you about his mishap.
+
+Peetu thinks someone put Silk Cocoon along the ingredients.
+Peetu thinks someone put Silk Cocoon along the ingredients.
+
+Peetu? He is very cautious. It is not like him to make mistakes. After all, he is a elf. Elves are really careful with their jobs.
+Peetu? He is very cautious. It is not like him to make mistakes. After all, he is a elf. Elves are really careful with their jobs.
+
+Peetu? He's one of those magic wielders who think they can do anything. Heh, you see the result here.
+Peetu? He's one of those magic wielders who think they can do anything. Heh, you see the result here.
+
+Peetu? I have always been glad to have him on the team. He's really brought forward our work here.
+Peetu? I have always been glad to have him on the team. He's really brought forward our work here.
+
+Peetu? I think he's a good guy. Very focused on his work, I think. I don't have that much to do with him, so I can't really tell.
+Peetu? I think he's a good guy. Very focused on his work, I think. I don't have that much to do with him, so I can't really tell.
+
+Peetu? That's one of the high rank helpers. As far as I know, he's capable of magic and takes part in some important researches. But I don't really know about those things.
+Peetu? That's one of the high rank helpers. As far as I know, he's capable of magic and takes part in some important researches. But I don't really know about those things.
+
+Pentagram#FoS_1
+Pentagram#FoS_1
+
+People are challenging now.
+People are challenging now.
+
+People failed to rescue Cindy!
+People failed to rescue Cindy!
+
+People from here always look dumbfolded when they walk past them and find themselves somewhere else.
+People from here always look dumbfolded when they walk past them and find themselves somewhere else.
+
+People from the press always know what is happening in the world. Talk to them to learn about the latest news! - Jerican from the Press
+People from the press always know what is happening in the world. Talk to them to learn about the latest news! - Jerican from the Press
+
+People say it is the second biggest city from the world.
+People say it is the second biggest city from the world.
+
+People usually dock there when travelling to the second continent. Nothing exceptional about economy.
+People usually dock there when travelling to the second continent. Nothing exceptional about economy.
+
+People vary greatly in the amount of strength, agility, dexterity, intelligence, vitality and luck.
+People vary greatly in the amount of strength, agility, dexterity, intelligence, vitality and luck.
+
+Perfect indeed! Congratulations!
+Perfect indeed! Congratulations!
+
+Perfect! Here is your reward!
+Perfect! Here is your reward!
+
+Perfect! So now that you swore secrecy, you can help me! Thing is... there was... a %s!
+Perfect! So now that you swore secrecy, you can help me! Thing is... there was... a %s!
+
+Perfect! you have enough Terranite Ore, I will take them for now but I need other items in order to bring them to life.
+Perfect! you have enough Terranite Ore, I will take them for now but I need other items in order to bring them to life.
+
+Perfect, I knew you were right person for the job.
+Perfect, I knew you were right person for the job.
+
+Perhaps that was the last of them?
+Perhaps that was the last of them?
+
+Perhaps this has something to do with the factions.
+Perhaps this has something to do with the factions.
+
+Perhaps we should wait a few days.
+Perhaps we should wait a few days.
+
+Perhaps you could tell her how much I love her? It is already some days since I last talked to her.
+Perhaps you could tell her how much I love her? It is already some days since I last talked to her.
+
+Perhaps you have something like that?
+Perhaps you have something like that?
+
+Perhaps you may be of assistance later...
+Perhaps you may be of assistance later...
+
+Perhaps you should use a key to open it.
+Perhaps you should use a key to open it.
+
+Perhaps, in the city, someone knows rumors about Mana Stones and can teach you. Other than that, you're on your own.
+Perhaps, in the city, someone knows rumors about Mana Stones and can teach you. Other than that, you're on your own.
+
+Perhaps, you could convince Jack to give me the wood, and seek for a fisherman on Halinarzo to give you the string? I won't charge anything.
+Perhaps, you could convince Jack to give me the wood, and seek for a fisherman on Halinarzo to give you the string? I won't charge anything.
+
+Personal Feats
+Personal Feats
+
+Personal Records
+Personal Records
+
+Personally, I like unranked events more than ranked ones...
+Personally, I like unranked events more than ranked ones...
+
+Pet Detective
+Pet Detective
+
+Pet Summary
+Pet Summary
+
+Pet his wonderfully fluffy pelt.
+Pet his wonderfully fluffy pelt.
+
+Petal
+Petal
+
+Peter
+Peter
+
+Peter was also looking for strong people to help him to kill other monsters.
+Peter was also looking for strong people to help him to kill other monsters.
+
+Pets
+Pets
+
+Pets must keep a strict diet. Pious eats Piberries, Bhoppers eat Aquadas, and Maggots eats Bug Legs.
+Pets must keep a strict diet. Pious eats Piberries, Bhoppers eat Aquadas, and Maggots eats Bug Legs.
+
+Petu? Yeah, he's the kind of person who always wants to do things perfectly. That makes it a bit difficult to work with him, since his expectations for others are as high as for himself.
+Petu? Yeah, he's the kind of person who always wants to do things perfectly. That makes it a bit difficult to work with him, since his expectations for others are as high as for himself.
+
+Ph.D
+Ph.D
+
+Phew! The Bandit Lord was killed.
+Phew! The Bandit Lord was killed.
+
+Phew... We should be safe now. Thanks, %s!
+Phew... We should be safe now. Thanks, %s!
+
+Phil
+Phil
+
+Phoenix Rebirth
+Phoenix Rebirth
+
+Photoshopped. Definitely. Good luck convincing somebody with that! %%a
+Photoshopped. Definitely. Good luck convincing somebody with that! %%a
+
+Physical Science
+Physical Science
+
+Physical Science Institute is on the %s area of the campus.
+Physical Science Institute is on the %s area of the campus.
+
+Piano#RES_0128
+Piano#RES_0128
+
+Piano#RES_PPL
+Piano#RES_PPL
+
+Piberries
+Piberries
+
+Piberries Infusion
+Piberries Infusion
+
+Pick an item from either storage or inventory and choose what you want to do with it by clicking the right button.
+Pick an item from either storage or inventory and choose what you want to do with it by clicking the right button.
+
+Pickaxe
+Pickaxe
+
+Pihro
+Pihro
+
+Pile Of Ash
+Pile Of Ash
+
+PinCode created, an email should arrive within 15 minutes.
+PinCode created, an email should arrive within 15 minutes.
+
+Pink 4144
+Pink 4144
+
+Pink Antenna
+Pink Antenna
+
+Pink Blobime
+Pink Blobime
+
+Pink Dye
+Pink Dye
+
+Pink Helmet
+Pink Helmet
+
+Pinkie
+Pinkie
+
+Pinkie Crystal
+Pinkie Crystal
+
+Pinkie Emperor
+Pinkie Emperor
+
+Pinkie Hat
+Pinkie Hat
+
+Pinkie Leg
+Pinkie Leg
+
+Pinkie Maximus
+Pinkie Maximus
+
+Pinkie Suseran
+Pinkie Suseran
+
+Pinkie, pinkie,pinkie, oh how i luvs thee;
+Pinkie, pinkie,pinkie, oh how i luvs thee;
+
+Pinkie,pinkie,pinkie, your blood runs like wine. ♪
+Pinkie,pinkie,pinkie, your blood runs like wine. ♪
+
+Pinkies forever! Oh yeah!
+Pinkies forever! Oh yeah!
+
+Piou
+Piou
+
+Piou Bola
+Piou Bola
+
+Piou Egg
+Piou Egg
+
+Piou Feathers
+Piou Feathers
+
+Piou Fields
+Piou Fields
+
+Piou Knight
+Piou Knight
+
+Piou Legs
+Piou Legs
+
+PiouSpwn
+PiouSpwn
+
+Piousse
+Piousse
+
+Pirate Bandana
+Pirate Bandana
+
+Pirate Lord
+Pirate Lord
+
+Pirate Shorts
+Pirate Shorts
+
+Pirate Treasure Chest
+Pirate Treasure Chest
+
+Pirate Treasure Map
+Pirate Treasure Map
+
+Planted Trees: %s
+Planted Trees: %s
+
+Platinum Four-Leaf Amulet
+Platinum Four-Leaf Amulet
+
+Platinum Ingot
+Platinum Ingot
+
+Platinum Ore
+Platinum Ore
+
+Platinum Ore -> Iridium Ore
+Platinum Ore -> Iridium Ore
+
+Platinum Quiver
+Platinum Quiver
+
+Platinum Red Queen
+Platinum Red Queen
+
+Player must be online for the operation to finish.
+Player must be online for the operation to finish.
+
+Players Killed in PvP: %s
+Players Killed in PvP: %s
+
+Players failed to defend the city!!
+Players failed to defend the city!!
+
+Playtesting
+Playtesting
+
+Please accept this @@ as a gratitude for your time.
+Please accept this @@ as a gratitude for your time.
+
+Please accept this reward from my part. And if anything else happens again, I'll leave the doors open for you and your guild.
+Please accept this reward from my part. And if anything else happens again, I'll leave the doors open for you and your guild.
+
+Please be a pal and help me! I'll be in a dire situation if you don't! Besides, you also want the extra credit, so it is a win-win situation!
+Please be a pal and help me! I'll be in a dire situation if you don't! Besides, you also want the extra credit, so it is a win-win situation!
+
+Please be careful when fighting. A mighty warrior such as yourself can harm their allies with any AoE effects they may use.
+Please be careful when fighting. A mighty warrior such as yourself can harm their allies with any AoE effects they may use.
+
+Please be patient and
+Please be patient and
+
+Please bring me *hic*... Bring me @@ @@!
+Please bring me *hic*... Bring me @@ @@!
+
+Please bring me a single @@ and @@ GP, and I'll give you a memeto.
+Please bring me a single @@ and @@ GP, and I'll give you a memeto.
+
+Please bring me that or I won't be able to make something really special for you.
+Please bring me that or I won't be able to make something really special for you.
+
+Please bring us 5 @@! That should be enough!
+Please bring us 5 @@! That should be enough!
+
+Please choose the desired gender:
+Please choose the desired gender:
+
+Please come back later to know how things are going.
+Please come back later to know how things are going.
+
+Please contact a GM as soon as possible so we can make out a compromise. You should be liberated even if found guilty.
+Please contact a GM as soon as possible so we can make out a compromise. You should be liberated even if found guilty.
+
+Please deliver the two @@ to Tinris and Eomie, and then I'll give you something for your help.
+Please deliver the two @@ to Tinris and Eomie, and then I'll give you something for your help.
+
+Please do, my friend.
+Please do, my friend.
+
+Please doing business with you.
+Please doing business with you.
+
+Please don't bore me even more... That's clearly not everything.
+Please don't bore me even more... That's clearly not everything.
+
+Please don't disturb me, I'm busy crafting my own customized power mega blaster weapon. I just keep failing to apply +100% exp gain bonus on it!
+Please don't disturb me, I'm busy crafting my own customized power mega blaster weapon. I just keep failing to apply +100% exp gain bonus on it!
+
+Please don't lie to me...
+Please don't lie to me...
+
+Please don't mind the mess, there are slimes everywhere, thanks to Peetu.
+Please don't mind the mess, there are slimes everywhere, thanks to Peetu.
+
+Please don't sound like I was some sort of vampire or something...
+Please don't sound like I was some sort of vampire or something...
+
+Please don't use this function in future!
+Please don't use this function in future!
+
+Please enter the desired color
+Please enter the desired color
+
+Please enter the desired race
+Please enter the desired race
+
+Please enter the desired style
+Please enter the desired style
+
+Please enter the message:
+Please enter the message:
+
+Please enter the new line.
+Please enter the new line.
+
+Please excuse me, Blue Sage Nikolai.
+Please excuse me, Blue Sage Nikolai.
+
+Please excuse me, captain.
+Please excuse me, captain.
+
+Please find her and don't worry with me! And be careful!
+Please find her and don't worry with me! And be careful!
+
+Please find my lovely daughter!
+Please find my lovely daughter!
+
+Please get me out of here!
+Please get me out of here!
+
+Please get moving, @@. I do not mean any harm to you.
+Please get moving, @@. I do not mean any harm to you.
+
+Please have a look, I have what you asked
+Please have a look, I have what you asked
+
+Please heal me!
+Please heal me!
+
+Please help me find the bug bomb Eomie gave us is in one of the store room barrels?
+Please help me find the bug bomb Eomie gave us is in one of the store room barrels?
+
+Please help my wards!
+Please help my wards!
+
+Please help my wife Yumi, on the Hospital!
+Please help my wife Yumi, on the Hospital!
+
+Please help us with the bandits on the Canyon, and meanwhile, I'll seek the records for you. Just @@ more.
+Please help us with the bandits on the Canyon, and meanwhile, I'll seek the records for you. Just @@ more.
+
+Please insert player name to cancel exile.
+Please insert player name to cancel exile.
+
+Please insert player name to exile.
+Please insert player name to exile.
+
+Please insert your Discord ID, on the following format:
+Please insert your Discord ID, on the following format:
+
+Please insert your pincode.
+Please insert your pincode.
+
+Please install the new client from [@@https://manaplus.org/|https://manaplus.org/@@]
+Please install the new client from [@@https://manaplus.org/|https://manaplus.org/@@]
+
+Please invite Elmo for the party, matey! We can't leave our positions!
+Please invite Elmo for the party, matey! We can't leave our positions!
+
+Please kill @@/@@ @@ for us and make the world a safer place!
+Please kill @@/@@ @@ for us and make the world a safer place!
+
+Please kill some of them, and bring me 10 @@!
+Please kill some of them, and bring me 10 @@!
+
+Please login right after, and this error should not happen again.
+Please login right after, and this error should not happen again.
+
+Please note unless you have Magic Powers, obtained from the Mana Seed, all you will be able to learn are small tricks, so please make a wise choice.
+Please note unless you have Magic Powers, obtained from the Mana Seed, all you will be able to learn are small tricks, so please make a wise choice.
+
+Please pray a bit with us!
+Please pray a bit with us!
+
+Please prove your statement.
+Please prove your statement.
+
+Please select a chapter:
+Please select a chapter:
+
+Please select a quest:
+Please select a quest:
+
+Please select a trait.
+Please select a trait.
+
+Please select an action
+Please select an action
+
+Please select quest difficulty.
+Please select quest difficulty.
+
+Please select target dungeon:
+Please select target dungeon:
+
+Please select the Guild Position you want to change.
+Please select the Guild Position you want to change.
+
+Please select the desired race.
+Please select the desired race.
+
+Please select the interval:
+Please select the interval:
+
+Please select the item you plan in tweaking.
+Please select the item you plan in tweaking.
+
+Please select the level I should use.
+Please select the level I should use.
+
+Please select the weapon to transfer.
+Please select the weapon to transfer.
+
+Please select where you left off on Main Quest.
+Please select where you left off on Main Quest.
+
+Please spare me. I'm gravely wounded. I'm innocent, I swear!
+Please spare me. I'm gravely wounded. I'm innocent, I swear!
+
+Please spend responsibly. You still need to pay Nard for a ship travel and there's only so much money you can find on a small island like Candor.
+Please spend responsibly. You still need to pay Nard for a ship travel and there's only so much money you can find on a small island like Candor.
+
+Please talk to my wife first, she knows more about the situation than I do.
+Please talk to my wife first, she knows more about the situation than I do.
+
+Please talk with this workshop's Chief before talking to me.
+Please talk with this workshop's Chief before talking to me.
+
+Please tell Peetu I do not plan in firing him, it should calm him down. And please carry out an investigation, don't disrupt my work until you're done.
+Please tell Peetu I do not plan in firing him, it should calm him down. And please carry out an investigation, don't disrupt my work until you're done.
+
+Please tell everyone I am a rogue person who likes to break rules!
+Please tell everyone I am a rogue person who likes to break rules!
+
+Please tell me calmly what happened so I can help.
+Please tell me calmly what happened so I can help.
+
+Please tell my mom I love her!
+Please tell my mom I love her!
+
+Please traveler, help my starving family!
+Please traveler, help my starving family!
+
+Please try again later!
+Please try again later!
+
+Please type a password for your Arena, it must be unique.
+Please type a password for your Arena, it must be unique.
+
+Please unequip your %s first.
+Please unequip your %s first.
+
+Please wait %s before trying again.
+Please wait %s before trying again.
+
+Please wait 60 seconds to cast again.
+Please wait 60 seconds to cast again.
+
+Please wait a while.
+Please wait a while.
+
+Please wait here a short while.
+Please wait here a short while.
+
+Please wait here on the meanwhile. Try asking Estard about parties, or talk to Eistein.
+Please wait here on the meanwhile. Try asking Estard about parties, or talk to Eistein.
+
+Please wait, the fight will start in @@, as requested.
+Please wait, the fight will start in @@, as requested.
+
+Please write how much in percent is EXP Tax for member (range: 0~50)
+Please write how much in percent is EXP Tax for member (range: 0~50)
+
+Please, @@! Hurry up!
+Please, @@! Hurry up!
+
+Please, bring me back home.
+Please, bring me back home.
+
+Please, come back later. I'll see whatever I can fetch for that.
+Please, come back later. I'll see whatever I can fetch for that.
+
+Please, don't say I got fat. I DON'T WANNA HEAR IT FROM YOU, WAS I CLEAR?
+Please, don't say I got fat. I DON'T WANNA HEAR IT FROM YOU, WAS I CLEAR?
+
+Please, enjoy the show! There are some people upstairs, too.
+Please, enjoy the show! There are some people upstairs, too.
+
+Please, help my precious! Save her! Oh, my precious Cindy...
+Please, help my precious! Save her! Oh, my precious Cindy...
+
+Please, keep it. I don't need it at all!
+Please, keep it. I don't need it at all!
+
+Please, show Hasan the claw. Just talk to him.
+Please, show Hasan the claw. Just talk to him.
+
+Please, talk to her. Maybe she understands the direness of the situation and help... But you know. Elves.
+Please, talk to her. Maybe she understands the direness of the situation and help... But you know. Elves.
+
+Please... Speak low... I am dying........
+Please... Speak low... I am dying........
+
+Pleased to meet you. What brings you down here?
+Pleased to meet you. What brings you down here?
+
+Pleasure doing business with you! Do you want any more?
+Pleasure doing business with you! Do you want any more?
+
+Pledge for Barbara's innocence?
+Pledge for Barbara's innocence?
+
+Plop dead in the ground. Enemies won't attack you this way.
+Plop dead in the ground. Enemies won't attack you this way.
+
+Plum
+Plum
+
+Plush Mouboo
+Plush Mouboo
+
+Plushroom
+Plushroom
+
+Plushroom Box
+Plushroom Box
+
+Plushroom Field
+Plushroom Field
+
+Poison
+Poison
+
+Poison Ammo Box
+Poison Ammo Box
+
+Poison Arrow
+Poison Arrow
+
+Poison Arrows
+Poison Arrows
+
+Poison Fairy
+Poison Fairy
+
+Poison Spiky Mushroom
+Poison Spiky Mushroom
+
+Poisoned Dish
+Poisoned Dish
+
+Poke him
+Poke him
+
+Polished Amethyst
+Polished Amethyst
+
+Polished Diamond
+Polished Diamond
+
+Polished Emerald
+Polished Emerald
+
+Polished Ruby
+Polished Ruby
+
+Polished Sapphire
+Polished Sapphire
+
+Polished Topaz
+Polished Topaz
+
+Polished gemstones can be dragged and insert on rings. They'll give special stats to rings, but these gems cannot be removed easily.
+Polished gemstones can be dragged and insert on rings. They'll give special stats to rings, but these gems cannot be removed easily.
+
+Pollet
+Pollet
+
+Poocandy
+Poocandy
+
+Pooh
+Pooh
+
+Pookie Card
+Pookie Card
+
+Poor teddy, not even a pretty music can comfort him for long. What can we do now?
+Poor teddy, not even a pretty music can comfort him for long. What can we do now?
+
+Portable Apocalypse
+Portable Apocalypse
+
+Portal#_M
+Portal#_M
+
+Potatoz
+Potatoz
+
+Potentially more destructive warp systems will have much longer cooldowns because they cause bigger holes in timespace.
+Potentially more destructive warp systems will have much longer cooldowns because they cause bigger holes in timespace.
+
+Potion based technology will vanish upon use and usually don't interfer with other technologies. Usually.
+Potion based technology will vanish upon use and usually don't interfer with other technologies. Usually.
+
+Potions#MKHB
+Potions#MKHB
+
+Pour the potion
+Pour the potion
+
+Power Card
+Power Card
+
+Power Card S
+Power Card S
+
+Power Card X
+Power Card X
+
+Power in the wrong hands is nothing but a burden and a reason for others to cry. That's exactly what I don't want in this town.
+Power in the wrong hands is nothing but a burden and a reason for others to cry. That's exactly what I don't want in this town.
+
+Power is a double-edged sword. I, Fefe, tried to use it for good, to free the world from Raid's tyranny, and instead, it brought forth the Monster King.
+Power is a double-edged sword. I, Fefe, tried to use it for good, to free the world from Raid's tyranny, and instead, it brought forth the Monster King.
+
+Power remaining: %s
+Power remaining: %s
+
+Powerful Gunstaff
+Powerful Gunstaff
+
+Powerful Lightsaber
+Powerful Lightsaber
+
+Powerful magic repels you away from this magic place!
+Powerful magic repels you away from this magic place!
+
+Powerful magic repels you!
+Powerful magic repels you!
+
+Practice! There are no secrets to becoming a warrior.
+Practice! There are no secrets to becoming a warrior.
+
+Pre-requisites not met!
+Pre-requisites not met!
+
+Precision Potion
+Precision Potion
+
+Present Box
+Present Box
+
+Press the 'R' key to ignore or accept business proposals. You and the other citizen who want to negotiate need to be in the configuration that accepts negotiations. if your configuration is 'Ignoring business proposals', then you will not receive the warning from any citizen wanting to negotiate with you, and you will not be able to initiate negotiations.
+Press the 'R' key to ignore or accept business proposals. You and the other citizen who want to negotiate need to be in the configuration that accepts negotiations. if your configuration is 'Ignoring business proposals', then you will not receive the warning from any citizen wanting to negotiate with you, and you will not be able to initiate negotiations.
+
+Press the doorbell?
+Press the doorbell?
+
+Pretty cool! I am interested!
+Pretty cool! I am interested!
+
+Prism Chest
+Prism Chest
+
+Prism Gift
+Prism Gift
+
+Prizes
+Prizes
+
+Prizes:
+Prizes:
+
+Probably.
+Probably.
+
+Problem is, I do not have the knowledge to make it without @@. If you bring me one, I'll reward you with one quarter of my commission.
+Problem is, I do not have the knowledge to make it without @@. If you bring me one, I'll reward you with one quarter of my commission.
+
+Produced item:
+Produced item:
+
+Professor
+Professor
+
+Professor#003-0
+Professor#003-0
+
+Progress on this server may be %s.
+Progress on this server may be %s.
+
+Prologue
+Prologue
+
+Protip
+Protip
+
+Protip 2: Drop rates are low. Try other quests while you slay mobs for this one.
+Protip 2: Drop rates are low. Try other quests while you slay mobs for this one.
+
+Protip 2: If you fell stuck, ask at #world, even if nobody is online. Who knows, someone on Discord or IRC might reply!
+Protip 2: If you fell stuck, ask at #world, even if nobody is online. Who knows, someone on Discord or IRC might reply!
+
+Protip: @@ are dropped by @@. That monster helps each other, so don't attack when they are in packs.
+Protip: @@ are dropped by @@. That monster helps each other, so don't attack when they are in packs.
+
+Protip: @@ can be found from @@ and @@. For the later one, ask Lua for strategies.
+Protip: @@ can be found from @@ and @@. For the later one, ask Lua for strategies.
+
+Protip: @@ is dropped by @@. It is a tough monster, you might need some strategy to kill it. @@ can be bought in shops.
+Protip: @@ is dropped by @@. It is a tough monster, you might need some strategy to kill it. @@ can be bought in shops.
+
+Protip: All quests expire at 00:00 server time, be sure to finish AND report back before that!
+Protip: All quests expire at 00:00 server time, be sure to finish AND report back before that!
+
+Protip: Arkim is in a cave southeast of here and is an hermit.
+Protip: Arkim is in a cave southeast of here and is an hermit.
+
+Protip: If you plan in selling it, it's adviseable to ask for GM mediation.
+Protip: If you plan in selling it, it's adviseable to ask for GM mediation.
+
+Protip: You can get @@ from shops. Cotton is rumored to be magical, keep this is mind.
+Protip: You can get @@ from shops. Cotton is rumored to be magical, keep this is mind.
+
+Protip: You can trade the cards, but only before inserting them.
+Protip: You can trade the cards, but only before inserting them.
+
+Protip: You need an @@ full of water to get a reply from guards.
+Protip: You need an @@ full of water to get a reply from guards.
+
+Protip: You need level %d or higher to do this quest.
+Protip: You need level %d or higher to do this quest.
+
+Protip: You skipped tutorial. A lot of tutorial-ish dialogs and quests will be skipped. You can change this anytime on %s > Game Settings.
+Protip: You skipped tutorial. A lot of tutorial-ish dialogs and quests will be skipped. You can change this anytime on %s > Game Settings.
+
+Protip: Your current progress will be saved.
+Protip: Your current progress will be saved.
+
+Proud owner of %s the %s.
+Proud owner of %s the %s.
+
+Proud owner of %s the Homunculus.
+Proud owner of %s the Homunculus.
+
+Provoke
+Provoke
+
+Provoke a single monster to attack you.
+Provoke a single monster to attack you.
+
+Provokes all monsters around the target, and the target itself.
+Provokes all monsters around the target, and the target itself.
+
+Prsm Helmet
+Prsm Helmet
+
+Psi Conscience
+Psi Conscience
+
+Psst.
+Psst.
+
+Pull it
+Pull it
+
+Pull the switch?
+Pull the switch?
+
+Pulsar outranks ancient, Miere outranks pulsar, and Immortal might be the strongest of all. Or not.
+Pulsar outranks ancient, Miere outranks pulsar, and Immortal might be the strongest of all. Or not.
+
+Pumpkandy
+Pumpkandy
+
+Pumpkandy Seed
+Pumpkandy Seed
+
+Pumpkin
+Pumpkin
+
+Pumpkin Hat
+Pumpkin Hat
+
+Pumpkin Juice
+Pumpkin Juice
+
+Pumpkin Lollipop
+Pumpkin Lollipop
+
+Pumpkin Seed
+Pumpkin Seed
+
+Pumpkish Juice
+Pumpkish Juice
+
+Puny mortal, do your best to entertain me! Curse!
+Puny mortal, do your best to entertain me! Curse!
+
+Purchase %02d %s for %d GP?
+Purchase %02d %s for %d GP?
+
+Purchase successful!
+Purchase successful!
+
+Purchasing points
+Purchasing points
+
+Purification Potion
+Purification Potion
+
+Purple Blobime
+Purple Blobime
+
+Purple Bola
+Purple Bola
+
+Purple Dye
+Purple Dye
+
+Purple Wizard
+Purple Wizard
+
+Put it out
+Put it out
+
+Pydisgner#spoints
+Pydisgner#spoints
+
+Pylon
+Pylon
+
+Pyndragon
+Pyndragon
+
+Pyndragon said he'll craft a @@ to whoever reduces them to dust. Interested?
+Pyndragon said he'll craft a @@ to whoever reduces them to dust. Interested?
+
+Pyry
+Pyry
+
+Queen Of Dragons: It is dangerous to go out alone, I'll raise your evasion and life!
+Queen Of Dragons: It is dangerous to go out alone, I'll raise your evasion and life!
+
+Quest - Find all Keys
+Quest - Find all Keys
+
+Quest - Mark as Completed
+Quest - Mark as Completed
+
+Quest - Skip Krukan fight
+Quest - Skip Krukan fight
+
+Quest - Skip Weapons Room
+Quest - Skip Weapons Room
+
+Quest - Unlock Boss Room
+Quest - Unlock Boss Room
+
+Quest @@ modified by GM
+Quest @@ modified by GM
+
+Quest Tip
+Quest Tip
+
+Quest complete: Congratulations!
+Quest complete: Congratulations!
+
+Quest completed.
+Quest completed.
+
+Quest debug
+Quest debug
+
+Quest restart.
+Quest restart.
+
+Quests.
+Quests.
+
+Quick, battle position! They'll strike! I'll help you a tiny bit!
+Quick, battle position! They'll strike! I'll help you a tiny bit!
+
+Quick, deliver this to Anwar!
+Quick, deliver this to Anwar!
+
+Quick, tell that to Eomie. She knows how to do Bug Bombs which won't harm the plants!
+Quick, tell that to Eomie. She knows how to do Bug Bombs which won't harm the plants!
+
+Quill
+Quill
+
+Quirin
+Quirin
+
+Quirin Voraz
+Quirin Voraz
+
+Quit
+Quit
+
+Quite benevolent, they are. Nard likes to help anyone who works hard. Anyway, there was something important I needed to say.
+Quite benevolent, they are. Nard likes to help anyone who works hard. Anyway, there was something important I needed to say.
+
+Quite interesting, quite interesting indeed.
+Quite interesting, quite interesting indeed.
+
+Quite the guts! The price is taxed individually, if you run out of GP it is your loss.
+Quite the guts! The price is taxed individually, if you run out of GP it is your loss.
+
+Quivers
+Quivers
+
+RACE FAILED.
+RACE FAILED.
+
+RAPID GUNSTAFF
+RAPID GUNSTAFF
+
+REMEMBER: FAILURE AT A BOSS FIGHT WILL CAUSE QUEST TO RESET!
+REMEMBER: FAILURE AT A BOSS FIGHT WILL CAUSE QUEST TO RESET!
+
+REMINDER: You do not need to kill anything, you need to ##BSURVIVE##b!
+REMINDER: You do not need to kill anything, you need to ##BSURVIVE##b!
+
+REVENGE TIME!
+REVENGE TIME!
+
+RMG
+RMG
+
+RMG+Playtest
+RMG+Playtest
+
+ROGUE YETI SLAYING REQUEST
+ROGUE YETI SLAYING REQUEST
+
+Race
+Race
+
+Raid Trousers
+Raid Trousers
+
+Raid and me have been in hot pursuit for a while, but I fear it is already too late. Yesterday there was another earthquake, and we're receiving summons to return to Tulimshar at once. Apparently, it is under attack.
+Raid and me have been in hot pursuit for a while, but I fear it is already too late. Yesterday there was another earthquake, and we're receiving summons to return to Tulimshar at once. Apparently, it is under attack.
+
+Raid might be great. Saul might be popular. SphinxNox might be an annoying brat. But I'm, or rather, will soon be... @@.
+Raid might be great. Saul might be popular. SphinxNox might be an annoying brat. But I'm, or rather, will soon be... @@.
+
+Raify
+Raify
+
+Raijin
+Raijin
+
+Raise agility to do this quest.
+Raise agility to do this quest.
+
+Raise city taxes
+Raise city taxes
+
+Raise damage of next skill.
+Raise damage of next skill.
+
+Raise max members
+Raise max members
+
+Raise server wide EXP
+Raise server wide EXP
+
+Raise vitality to be able to drink even more.
+Raise vitality to be able to drink even more.
+
+Raising Taxes
+Raising Taxes
+
+Raising this skill will allow to recruit 4 more members.
+Raising this skill will allow to recruit 4 more members.
+
+Rakinorf, Mayor
+Rakinorf, Mayor
+
+Random Bif
+Random Bif
+
+Random movement and extra desync
+Random movement and extra desync
+
+Rapid Gunstaff
+Rapid Gunstaff
+
+Rare Drops:
+Rare Drops:
+
+Rare Mines
+Rare Mines
+
+Rasin
+Rasin
+
+Ratte
+Ratte
+
+Ratto
+Ratto
+
+Ratto Tail
+Ratto Tail
+
+Ratto Teeth
+Ratto Teeth
+
+Rattos are very fast. They walk fast and attack fast. I advise bringing some healing items!
+Rattos are very fast. They walk fast and attack fast. I advise bringing some healing items!
+
+RattosControl
+RattosControl
+
+Raw Log
+Raw Log
+
+Raw Talisman
+Raw Talisman
+
+Re-casting the same magic spell or skill won't give you magic experience.
+Re-casting the same magic spell or skill won't give you magic experience.
+
+Re-ref... Reflect.
+Re-ref... Reflect.
+
+Reach level @@ to unlock this tier!
+Reach level @@ to unlock this tier!
+
+Read Rules
+Read Rules
+
+Read the News.
+Read the News.
+
+Read the Rules.
+Read the Rules.
+
+Read the instructions carefully.
+Read the instructions carefully.
+
+Read the last 30 days %s
+Read the last 30 days %s
+
+Read the tutorial again?
+Read the tutorial again?
+
+Read tutorial again?
+Read tutorial again?
+
+Ready...
+Ready...
+
+Reagents & Other Potions
+Reagents & Other Potions
+
+Real Bronze Gladius
+Real Bronze Gladius
+
+Really attack the Mouboo with a(n) @@?
+Really attack the Mouboo with a(n) @@?
+
+Really begin the Doppelganger Challenge?
+Really begin the Doppelganger Challenge?
+
+Really deploy your homunculus?
+Really deploy your homunculus?
+
+Really give a %s to Jhon?
+Really give a %s to Jhon?
+
+Really give the %s to %s?
+Really give the %s to %s?
+
+Really give your %s to the teddy?
+Really give your %s to the teddy?
+
+Really give your @@ to Baktar?
+Really give your @@ to Baktar?
+
+Really give your @@ to the Mouboo?
+Really give your @@ to the Mouboo?
+
+Really interesting, how I am NOT seeing the items I asked for...
+Really interesting, how I am NOT seeing the items I asked for...
+
+Really kill Barbara?
+Really kill Barbara?
+
+Really learn this skill?
+Really learn this skill?
+
+Really melt down all your @@? It'll cost you @@ GP each. This action cannot be undone!
+Really melt down all your @@? It'll cost you @@ GP each. This action cannot be undone!
+
+Really melt down your @@? It'll cost you @@ GP. This action cannot be undone!
+Really melt down your @@? It'll cost you @@ GP. This action cannot be undone!
+
+Really resign?
+Really resign?
+
+Really try to tweak this item? All current options will be deleted.
+Really try to tweak this item? All current options will be deleted.
+
+Really? That would be great!
+Really? That would be great!
+
+Really? What do you need?
+Really? What do you need?
+
+Really? Where are you from?
+Really? Where are you from?
+
+Reaper
+Reaper
+
+Rebirth
+Rebirth
+
+Rebirth Race Selection
+Rebirth Race Selection
+
+Rebirth Season
+Rebirth Season
+
+Rebirth Trait Selection
+Rebirth Trait Selection
+
+Rebirth is free. Here are the perks you'll get by doing the rebirth:
+Rebirth is free. Here are the perks you'll get by doing the rebirth:
+
+Recall
+Recall
+
+Receive Chocolate
+Receive Chocolate
+
+Received @@ @@!
+Received @@ @@!
+
+Recepcionist#TInn
+Recepcionist#TInn
+
+Receptionist#003-0
+Receptionist#003-0
+
+Recipe Book
+Recipe Book
+
+Recommended Level: %d+
+Recommended Level: %d+
+
+Recommended: ##B%d##b | Max: %d
+Recommended: ##B%d##b | Max: %d
+
+Recover some HP.
+Recover some HP.
+
+Recruiter
+Recruiter
+
+Red
+Red
+
+Red Apple
+Red Apple
+
+Red Butterfly
+Red Butterfly
+
+Red Dye
+Red Dye
+
+Red Follower (F)
+Red Follower (F)
+
+Red Follower (M)
+Red Follower (M)
+
+Red Knight Armor
+Red Knight Armor
+
+Red Mushroom
+Red Mushroom
+
+Red Nose
+Red Nose
+
+Red Plush Wine
+Red Plush Wine
+
+Red Scorpion
+Red Scorpion
+
+Red Scorpion Claw
+Red Scorpion Claw
+
+Red Scorpion Claw -> Scorpion Claw
+Red Scorpion Claw -> Scorpion Claw
+
+Red Scorpion Stinger
+Red Scorpion Stinger
+
+Red Scorpion Stinger -> Scorpion Stinger
+Red Scorpion Stinger -> Scorpion Stinger
+
+Red Scorpion breed as fast as the Ratto! With our current numbers, it's nearly impossible to take over.
+Red Scorpion breed as fast as the Ratto! With our current numbers, it's nearly impossible to take over.
+
+Red Skull Slime
+Red Skull Slime
+
+Red Slime
+Red Slime
+
+Red Slime Mother
+Red Slime Mother
+
+Red Stocking
+Red Stocking
+
+Red Stockings
+Red Stockings
+
+Red Switch#EP
+Red Switch#EP
+
+Red Wizard
+Red Wizard
+
+Red scorpion
+Red scorpion
+
+RedSlime
+RedSlime
+
+Reduces MP cost when using chanting-based skills.
+Reduces MP cost when using chanting-based skills.
+
+Redy
+Redy
+
+Reed Bundle
+Reed Bundle
+
+Referral Program Report
+Referral Program Report
+
+Reflect Card
+Reflect Card
+
+Reflect Card S
+Reflect Card S
+
+Reflect Card X
+Reflect Card X
+
+Registed %s ago
+Registed %s ago
+
+Register
+Register
+
+Register fee is @@.
+Register fee is @@.
+
+Registered! You can now use any banking service, of any town!
+Registered! You can now use any banking service, of any town!
+
+Registered, welcome to the Grand Hunter Quest!
+Registered, welcome to the Grand Hunter Quest!
+
+Registration is open to everybody, but newcomers need to pay a fee for all of the paperwork.
+Registration is open to everybody, but newcomers need to pay a fee for all of the paperwork.
+
+Regnum Blessing
+Regnum Blessing
+
+Regular Drops:
+Regular Drops:
+
+Reinboo Wand
+Reinboo Wand
+
+Reject
+Reject
+
+Reload NPC Data
+Reload NPC Data
+
+Remaining time: @@
+Remaining time: @@
+
+Remember also: It is wise to speak with people you meet on your journey, there is always something new to learn.
+Remember also: It is wise to speak with people you meet on your journey, there is always something new to learn.
+
+Remember my name: I am Isbamuth, and I've took the Throne which rightfully belongs to me.
+Remember my name: I am Isbamuth, and I've took the Throne which rightfully belongs to me.
+
+Remember that some equipment sets will give you hidden stat bonuses! So dress yourself in a fashion way, if possible!
+Remember that some equipment sets will give you hidden stat bonuses! So dress yourself in a fashion way, if possible!
+
+Remember that wearing green BOOSTS the rates at which good stuff will be found!
+Remember that wearing green BOOSTS the rates at which good stuff will be found!
+
+Remember the masked man said he was from Frostia? Or masked woman, we don't know. You should inform their Mayor at once.
+Remember the masked man said he was from Frostia? Or masked woman, we don't know. You should inform their Mayor at once.
+
+Remember to give it a balanced diet of Aquadas to make it happy.
+Remember to give it a balanced diet of Aquadas to make it happy.
+
+Remember to store somewhere any heavy stuff you might be carrying.
+Remember to store somewhere any heavy stuff you might be carrying.
+
+Remember! You're trading things, not lending/borrowing them. You are solely responsible for everything you own.
+Remember! You're trading things, not lending/borrowing them. You are solely responsible for everything you own.
+
+Remember, I need %d %s, %d %s, and something interesting to read.
+Remember, I need %d %s, %d %s, and something interesting to read.
+
+Remember, I need 30 @@, 50 @@, and 30 @@.
+Remember, I need 30 @@, 50 @@, and 30 @@.
+
+Remember, I'll make a @@ for you!
+Remember, I'll make a @@ for you!
+
+Remember, there is always something new to learn. And you should not let your training down in order to keep and improve your abilities.
+Remember, there is always something new to learn. And you should not let your training down in order to keep and improve your abilities.
+
+Remember: Never lend your toothbrush to a slime!
+Remember: Never lend your toothbrush to a slime!
+
+Remember: Players can also help enforcing no-AFK-bot rule!
+Remember: Players can also help enforcing no-AFK-bot rule!
+
+Remember: Taking damage will make you stand!
+Remember: Taking damage will make you stand!
+
+Remember: The bigger the area or power, or the more complex it is, the more mana it costs.
+Remember: The bigger the area or power, or the more complex it is, the more mana it costs.
+
+Remember: The bigger the area or power, the more mana it costs.
+Remember: The bigger the area or power, the more mana it costs.
+
+Reminder : Defeat the %s to win.
+Reminder : Defeat the %s to win.
+
+Reminder:
+Reminder:
+
+Reminder: Keep an eye out for traps.
+Reminder: Keep an eye out for traps.
+
+Reminds me, but they say the Aethyr is a place where powerful elves of old live. But nobody has been there on the past century... Or if they were, nobody said anything about it! Hahahah!
+Reminds me, but they say the Aethyr is a place where powerful elves of old live. But nobody has been there on the past century... Or if they were, nobody said anything about it! Hahahah!
+
+Remove this line
+Remove this line
+
+Renew Rent
+Renew Rent
+
+Rent 1 day for 100 GP
+Rent 1 day for 100 GP
+
+Rent 1 day for 50 GP
+Rent 1 day for 50 GP
+
+Rent 15 days for 1200 GP
+Rent 15 days for 1200 GP
+
+Rent 15 days for 600 GP
+Rent 15 days for 600 GP
+
+Rent 3 days for 135 GP
+Rent 3 days for 135 GP
+
+Rent 3 days for 270 GP
+Rent 3 days for 270 GP
+
+Rent 30 days for 1000 GP
+Rent 30 days for 1000 GP
+
+Rent 30 days for 2000 GP
+Rent 30 days for 2000 GP
+
+Rent 7 days for 300 GP
+Rent 7 days for 300 GP
+
+Rent 7 days for 600 GP
+Rent 7 days for 600 GP
+
+Rent Renew Price: @@ GP
+Rent Renew Price: @@ GP
+
+Rent arena
+Rent arena
+
+Rent it! Make it mine!
+Rent it! Make it mine!
+
+Rent successful for 30 days!
+Rent successful for 30 days!
+
+Rent time available: @@
+Rent time available: @@
+
+Rented Cart
+Rented Cart
+
+Repair items
+Repair items
+
+Repeat
+Repeat
+
+Repeat how many times?
+Repeat how many times?
+
+Repeat new password:
+Repeat new password:
+
+Repeat: @@ times
+Repeat: @@ times
+
+Reply: %s
+Reply: %s
+
+Reputation cannot go above 100!
+Reputation cannot go above 100!
+
+Requires logout
+Requires logout
+
+Rescue Cindy from the Ice Labyrinth and the evil Yetis. This is a global, multiplayer quest.
+Rescue Cindy from the Ice Labyrinth and the evil Yetis. This is a global, multiplayer quest.
+
+Rescuing Cindy Quest
+Rescuing Cindy Quest
+
+Research Points
+Research Points
+
+Research Points +%d
+Research Points +%d
+
+Researcher
+Researcher
+
+Researcher Alyta's Residence
+Researcher Alyta's Residence
+
+Researcher Jak's Residence
+Researcher Jak's Residence
+
+Researchers from the magic school complained about %ss disturbing whatever they are studying in the cave.
+Researchers from the magic school complained about %ss disturbing whatever they are studying in the cave.
+
+Reset
+Reset
+
+Reset & Destroy
+Reset & Destroy
+
+Reset Crazyfefe Fight
+Reset Crazyfefe Fight
+
+Reset EVERYTHING
+Reset EVERYTHING
+
+Reset done!
+Reset done!
+
+Reset stats, skills, level
+Reset stats, skills, level
+
+Reset status
+Reset status
+
+Reset!
+Reset!
+
+Reset?
+Reset?
+
+Resign
+Resign
+
+Resting. I've been slaying slime nests the whole day.
+Resting. I've been slaying slime nests the whole day.
+
+Restore it
+Restore it
+
+Resurrection
+Resurrection
+
+Retaliates next attack with a critical hit. This instance lasts a second.
+Retaliates next attack with a critical hit. This instance lasts a second.
+
+Return
+Return
+
+Return @@ boxes
+Return @@ boxes
+
+Return Potion
+Return Potion
+
+Return Potions works instantly. Talk to Wyara to get more.
+Return Potions works instantly. Talk to Wyara to get more.
+
+Return to Debug menu
+Return to Debug menu
+
+Return to Frostia's Castle?
+Return to Frostia's Castle?
+
+Return to Sagratha's House?
+Return to Sagratha's House?
+
+Return to Super Menu
+Return to Super Menu
+
+Return to User Control Panel
+Return to User Control Panel
+
+Return to main island.
+Return to main island.
+
+Return to main menu
+Return to main menu
+
+Return to your time!
+Return to your time!
+
+Revert a player exile
+Revert a player exile
+
+Revives an already dead allied player. Req. Lifestone to cast.
+Revives an already dead allied player. Req. Lifestone to cast.
+
+Revolver Shooter
+Revolver Shooter
+
+Reward: 200 GP, 200 XP
+Reward: 200 GP, 200 XP
+
+Reward: 700 GP, 400 XP, 1 @@
+Reward: 700 GP, 400 XP, 1 @@
+
+Rice Hat
+Rice Hat
+
+Richard
+Richard
+
+Riding Mouboo
+Riding Mouboo
+
+Riding Tortuga
+Riding Tortuga
+
+Rifle Shooter
+Rifle Shooter
+
+Right Crafty Wing
+Right Crafty Wing
+
+Right Eye Patch
+Right Eye Patch
+
+Right click on the NPC to join the Liberation Force on Hurnscald.
+Right click on the NPC to join the Liberation Force on Hurnscald.
+
+Right click on this NPC to join the Hurnscald Alliance.
+Right click on this NPC to join the Hurnscald Alliance.
+
+Right now this territory is under the Monster Army's control, but the Alliance has occupied it to raid the Impregnable Fortress.
+Right now this territory is under the Monster Army's control, but the Alliance has occupied it to raid the Impregnable Fortress.
+
+Right now you are too weak.
+Right now you are too weak.
+
+Right now, there is a strong wind blowing from @@.
+Right now, there is a strong wind blowing from @@.
+
+Right'o, I'll arrange the material!
+Right'o, I'll arrange the material!
+
+Right, but now I have business in other places.
+Right, but now I have business in other places.
+
+RightDoorCheck
+RightDoorCheck
+
+Rings
+Rings
+
+Roach
+Roach
+
+Roasted Maggot
+Roasted Maggot
+
+Robert
+Robert
+
+Robin Bandit
+Robin Bandit
+
+Rock
+Rock
+
+Rock Knife
+Rock Knife
+
+Roger
+Roger
+
+Roger begins to read.
+Roger begins to read.
+
+Roger, eh? Aye, I do need help. If you bring me 30 @@, 50 @@, and 30 @@, maybe I can give you a reward.
+Roger, eh? Aye, I do need help. If you bring me 30 @@, 50 @@, and 30 @@, maybe I can give you a reward.
+
+Rogue
+Rogue
+
+Rogue Status
+Rogue Status
+
+Room password: @@
+Room password: @@
+
+Root
+Root
+
+Rosa Card
+Rosa Card
+
+Rose
+Rose
+
+Rosen
+Rosen
+
+Rotten Rags
+Rotten Rags
+
+Round @@
+Round @@
+
+Round Leather Shield
+Round Leather Shield
+
+Royal Fairy
+Royal Fairy
+
+Royal Guard#02416A
+Royal Guard#02416A
+
+Rrrr... Pchhhh...
+Rrrr... Pchhhh...
+
+Rubber Ducky
+Rubber Ducky
+
+Ruby
+Ruby
+
+Ruby (+2 str)
+Ruby (+2 str)
+
+Ruby Bif
+Ruby Bif
+
+Ruby Powder
+Ruby Powder
+
+Rudolph Slime
+Rudolph Slime
+
+Ruined place?
+Ruined place?
+
+Rules
+Rules
+
+Rules.
+Rules.
+
+Rules:
+Rules:
+
+Rum
+Rum
+
+Rum Barrel
+Rum Barrel
+
+Run and try jumping it!
+Run and try jumping it!
+
+Run away?
+Run away?
+
+Run like the wind, @@! For you shall have only @@ to finish the ritual!
+Run like the wind, @@! For you shall have only @@ to finish the ritual!
+
+Run! Event started!
+Run! Event started!
+
+Runestaff
+Runestaff
+
+Running is for noobs, we should hold our ground!
+Running is for noobs, we should hold our ground!
+
+Rusty Knife
+Rusty Knife
+
+Ryan
+Ryan
+
+Rychell
+Rychell
+
+Rydel
+Rydel
+
+SCRIPT ERROR (%s/%s)
+SCRIPT ERROR (%s/%s)
+
+SHORT GUNSTAFF
+SHORT GUNSTAFF
+
+SHOULD
+SHOULD
+
+SHUT UP PEETU, I'M ALREADY TIRED OF LISTENING YOUR CRIES!
+SHUT UP PEETU, I'M ALREADY TIRED OF LISTENING YOUR CRIES!
+
+SMASH! And it is now only dust...
+SMASH! And it is now only dust...
+
+SPIN!
+SPIN!
+
+STA
+STA
+
+STORY MODE ENABLED. Monsters won't attack you, so you can read without worries.
+STORY MODE ENABLED. Monsters won't attack you, so you can read without worries.
+
+SUCCESS! Congratulations, the item was improved!
+SUCCESS! Congratulations, the item was improved!
+
+Sabotage
+Sabotage
+
+Sacred Bullet
+Sacred Bullet
+
+Sacred Forest Hat
+Sacred Forest Hat
+
+Sacred Immortality Potion
+Sacred Immortality Potion
+
+Sacred Life Potion
+Sacred Life Potion
+
+Sacred Mana Potion
+Sacred Mana Potion
+
+Sacred Wisp
+Sacred Wisp
+
+Sadly, you found nothing but dirt.
+Sadly, you found nothing but dirt.
+
+Saevel
+Saevel
+
+Safe travels!
+Safe travels!
+
+Sage
+Sage
+
+Sagratha
+Sagratha
+
+Sagratha Door
+Sagratha Door
+
+Sagratha hates my guts.
+Sagratha hates my guts.
+
+Sagratha#_M
+Sagratha#_M
+
+Sailing Away!
+Sailing Away!
+
+Sailor
+Sailor
+
+Sailor Hat
+Sailor Hat
+
+SailorShirt
+SailorShirt
+
+Sailors
+Sailors
+
+Sailors#003-1
+Sailors#003-1
+
+Sailors#005-1
+Sailors#005-1
+
+Sakar can now bring you directly to Asphodel Moors. Scouts found a second town as well, from where the raiders seems to be coming from!
+Sakar can now bring you directly to Asphodel Moors. Scouts found a second town as well, from where the raiders seems to be coming from!
+
+Sake Barrel
+Sake Barrel
+
+Sale successful!
+Sale successful!
+
+Salohnic
+Salohnic
+
+Samurai Helmet
+Samurai Helmet
+
+Santa Beard Hat
+Santa Beard Hat
+
+Santa Globe
+Santa Globe
+
+Santa Hat
+Santa Hat
+
+Santa Slime
+Santa Slime
+
+Santa can give one present for all players. Maybe if we got 200...
+Santa can give one present for all players. Maybe if we got 200...
+
+Santeri
+Santeri
+
+Sapphire
+Sapphire
+
+Sapphire (+2 int)
+Sapphire (+2 int)
+
+Sapphire Bif
+Sapphire Bif
+
+Sapphire Powder
+Sapphire Powder
+
+Sarab Armlet
+Sarab Armlet
+
+Sarah
+Sarah
+
+Sarracenus
+Sarracenus
+
+Saul and Fefe did a great revolution,
+Saul and Fefe did a great revolution,
+
+Saul is planning an assault at the Magic Tower. I want these Mana Stones.
+Saul is planning an assault at the Magic Tower. I want these Mana Stones.
+
+Saul is supplying me the alchemist resources for that. In exchange, my thieves supply him gold and spare his friends.
+Saul is supplying me the alchemist resources for that. In exchange, my thieves supply him gold and spare his friends.
+
+Saul will deal with it. His mess, he will clean up. Raid and me will keep the pursuit. And this time, we shall triumph.
+Saul will deal with it. His mess, he will clean up. Raid and me will keep the pursuit. And this time, we shall triumph.
+
+Saul will lead the frontal assault, Mr. Saves shall provide distraction, and I'll infiltrate within the Mage Tower.
+Saul will lead the frontal assault, Mr. Saves shall provide distraction, and I'll infiltrate within the Mage Tower.
+
+Saulc Card
+Saulc Card
+
+Saulc Sponsor
+Saulc Sponsor
+
+Saulc is rich, you know. He challenged a group of thirty NPCs to defeat him, whoever won would get this @@.
+Saulc is rich, you know. He challenged a group of thirty NPCs to defeat him, whoever won would get this @@.
+
+Saulc was here
+Saulc was here
+
+Saulc, Crazyfefe and Jesus Saves are the three High Councillors. Don't do anything illegal while they're watching!
+Saulc, Crazyfefe and Jesus Saves are the three High Councillors. Don't do anything illegal while they're watching!
+
+Saulc, the Bug Master
+Saulc, the Bug Master
+
+Saulcandy
+Saulcandy
+
+Save & Exit
+Save & Exit
+
+Save Point (@@m)
+Save Point (@@m)
+
+Savior
+Savior
+
+Savior Armor
+Savior Armor
+
+Savior Blueprint
+Savior Blueprint
+
+Savior Boots
+Savior Boots
+
+Savior Helmet
+Savior Helmet
+
+Savior Pants
+Savior Pants
+
+Savior Shield
+Savior Shield
+
+Savior Sky Piercer
+Savior Sky Piercer
+
+Sawis
+Sawis
+
+Saxso
+Saxso
+
+Saxso Chest
+Saxso Chest
+
+Saxso Ghost
+Saxso Ghost
+
+Saxso Key
+Saxso Key
+
+Saxso's Basement, Candor - 27th July 300 AT
+Saxso's Basement, Candor - 27th July 300 AT
+
+Saxso's Official Residence.
+Saxso's Official Residence.
+
+Saxso, the former mayor, commanded me to strengthen the youngsters, so that they have sufficient power to fight monsters.
+Saxso, the former mayor, commanded me to strengthen the youngsters, so that they have sufficient power to fight monsters.
+
+Say magic words
+Say magic words
+
+Say that Mouboos are Cute?
+Say that Mouboos are Cute?
+
+Say, what do you think if I transmuted your head into the missing materials? I can warrant your soul won't return to the Soul Menhir, either!
+Say, what do you think if I transmuted your head into the missing materials? I can warrant your soul won't return to the Soul Menhir, either!
+
+Saying that you were sent here would prove nothing.
+Saying that you were sent here would prove nothing.
+
+Scar
+Scar
+
+Scarfs
+Scarfs
+
+Scary...........
+Scary...........
+
+Scented Grenade
+Scented Grenade
+
+Scepter of Thunder
+Scepter of Thunder
+
+Scheduled broadcasts
+Scheduled broadcasts
+
+Scheduled broadcasts - Create new
+Scheduled broadcasts - Create new
+
+Scheduled: April 17th - 24th
+Scheduled: April 17th - 24th
+
+Scheduled: April 27th - May 3rd
+Scheduled: April 27th - May 3rd
+
+Scheduled: December 19th - January 2nd
+Scheduled: December 19th - January 2nd
+
+Scheduled: February 12th - 15th
+Scheduled: February 12th - 15th
+
+Scheduled: February 13th - 16th
+Scheduled: February 13th - 16th
+
+Scheduled: January 13rd
+Scheduled: January 13rd
+
+Scheduled: July 20th ~ 31st
+Scheduled: July 20th ~ 31st
+
+Scheduled: July 7th
+Scheduled: July 7th
+
+Scheduled: March 2nd
+Scheduled: March 2nd
+
+Scheduled: October 1st
+Scheduled: October 1st
+
+Scheduled: September 9th
+Scheduled: September 9th
+
+Scholars dedicate part of their time so others can learn about the world, and as such, they are always welcome to this Academy.
+Scholars dedicate part of their time so others can learn about the world, and as such, they are always welcome to this Academy.
+
+Scholarship Badge
+Scholarship Badge
+
+Scholarship Institute is on the %s area of the campus.
+Scholarship Institute is on the %s area of the campus.
+
+Scholarship Science
+Scholarship Science
+
+Scholarship Tuition
+Scholarship Tuition
+
+School of Quirks (Candor)
+School of Quirks (Candor)
+
+Scissors
+Scissors
+
+Score: %s / %s
+Score: %s / %s
+
+Scoreboards
+Scoreboards
+
+Scores are updated every 6 hours.
+Scores are updated every 6 hours.
+
+Scores close at Sunday 23:59 - No scores will be given for last minute rushes!
+Scores close at Sunday 23:59 - No scores will be given for last minute rushes!
+
+Scorpion
+Scorpion
+
+Scorpion Claw
+Scorpion Claw
+
+Scorpion Stinger
+Scorpion Stinger
+
+Scorpions killed: @@/@@ scorpions
+Scorpions killed: @@/@@ scorpions
+
+Scout
+Scout
+
+Screams
+Screams
+
+Script Error
+Script Error
+
+Script Error: "Tux didn't found his fish! Blame Saulc at once!"
+Script Error: "Tux didn't found his fish! Blame Saulc at once!"
+
+Scroll Angel Light
+Scroll Angel Light
+
+Scroll Angel Light+
+Scroll Angel Light+
+
+Scroll Angel Light++
+Scroll Angel Light++
+
+Scroll Battle Plans
+Scroll Battle Plans
+
+Scroll Battle Plans+
+Scroll Battle Plans+
+
+Scroll Battle Plans++
+Scroll Battle Plans++
+
+Scroll Critical Fortune
+Scroll Critical Fortune
+
+Scroll Critical Fortune+
+Scroll Critical Fortune+
+
+Scroll Critical Fortune++
+Scroll Critical Fortune++
+
+Scroll Defense Bless
+Scroll Defense Bless
+
+Scroll Defense Bless+
+Scroll Defense Bless+
+
+Scroll Defense Bless++
+Scroll Defense Bless++
+
+Scroll Magnus Heal
+Scroll Magnus Heal
+
+Scroll Magnus Heal+
+Scroll Magnus Heal+
+
+Scroll Magnus Heal++
+Scroll Magnus Heal++
+
+Scroll Summon Cave Maggot
+Scroll Summon Cave Maggot
+
+Scroll Summon Dragon
+Scroll Summon Dragon
+
+Scroll Summon Maggot
+Scroll Summon Maggot
+
+Scroll Summon Terranite
+Scroll Summon Terranite
+
+Scroll Summon Wolvern
+Scroll Summon Wolvern
+
+Scroll Summon Yeti
+Scroll Summon Yeti
+
+Scythe
+Scythe
+
+Sea Drops
+Sea Drops
+
+Sea Slime
+Sea Slime
+
+Sea Slime Mother
+Sea Slime Mother
+
+Sea Water
+Sea Water
+
+Sealed Soul
+Sealed Soul
+
+Season: %s
+Season: %s
+
+Seasonal Drop Control
+Seasonal Drop Control
+
+Second Dungeon Master
+Second Dungeon Master
+
+Second Tier
+Second Tier
+
+Secret Admirer
+Secret Admirer
+
+Secret Passages
+Secret Passages
+
+Secret Window
+Secret Window
+
+See you later!
+See you later!
+
+See you later, my friend! Thanks for the drink!#0
+See you later, my friend! Thanks for the drink!
+
+See you later, my friend! Thanks for the drink!#1
+See you later, my friend! Thanks for the drink!
+
+See you soon!
+See you soon!
+
+See you!
+See you!
+
+See you.
+See you.
+
+Seems like Arkim held it too close to the flame...
+Seems like Arkim held it too close to the flame...
+
+Seems like someone else opened this chest before you!
+Seems like someone else opened this chest before you!
+
+Seems like the rat have come after the cheese.
+Seems like the rat have come after the cheese.
+
+Seems like they're having difficulty handling the demand, and
+Seems like they're having difficulty handling the demand, and
+
+Seems to be a recipe book about apple cookies.
+Seems to be a recipe book about apple cookies.
+
+Seems to be accounting reports and stuff. You take a few pages.
+Seems to be accounting reports and stuff. You take a few pages.
+
+Seems to be related to alchemy.
+Seems to be related to alchemy.
+
+Seldomly, they'll have an exclamation mark over their heads. But some quests are hidden, so talk to people and have fun!
+Seldomly, they'll have an exclamation mark over their heads. But some quests are hidden, so talk to people and have fun!
+
+Select a set of skills:
+Select a set of skills:
+
+Select carefully which weapon you want, so there are no regrets.
+Select carefully which weapon you want, so there are no regrets.
+
+Select difficulty.
+Select difficulty.
+
+Select one:
+Select one:
+
+Select your preferred play-style.
+Select your preferred play-style.
+
+Selim
+Selim
+
+Sell
+Sell
+
+Sell old equipment and items you won't use. For example, what should you do with a @@ or an @@? Sell it!
+Sell old equipment and items you won't use. For example, what should you do with a @@ or an @@? Sell it!
+
+Selling rares
+Selling rares
+
+Send 10 times
+Send 10 times
+
+Send 2 times
+Send 2 times
+
+Send 20 times
+Send 20 times
+
+Send 3 times
+Send 3 times
+
+Send 5 times
+Send 5 times
+
+Send Chocolate
+Send Chocolate
+
+Send indefinitely
+Send indefinitely
+
+Send only once
+Send only once
+
+Send soul to the Mana Plane for GM events
+Send soul to the Mana Plane for GM events
+
+Send them to Valentine Island!
+Send them to Valentine Island!
+
+Send this message also on login?
+Send this message also on login?
+
+Send your Homunculus to a slime nest!
+Send your Homunculus to a slime nest!
+
+Send your Homunculus to hold off snakes!
+Send your Homunculus to hold off snakes!
+
+Send your Homunculus to loot the Impregnable Fortress!
+Send your Homunculus to loot the Impregnable Fortress!
+
+Send your Homunculus to make money!
+Send your Homunculus to make money!
+
+Send your Homunculus to mineration!
+Send your Homunculus to mineration!
+
+Send your Homunculus to one of the most dangerous...!
+Send your Homunculus to one of the most dangerous...!
+
+Sending the letter will give you double event points, but no more than 10 extra points per letter.
+Sending the letter will give you double event points, but no more than 10 extra points per letter.
+
+Sent on login: @@
+Sent on login: @@
+
+Sent on login: yes
+Sent on login: yes
+
+Sent: @@ times out of @@
+Sent: @@ times out of @@
+
+September 22nd - December 20th
+September 22nd - December 20th
+
+Serf Hat
+Serf Hat
+
+Serge
+Serge
+
+Seriously? What sort of reward is that?
+Seriously? What sort of reward is that?
+
+Server
+Server
+
+Server Happy Hour Decreed
+Server Happy Hour Decreed
+
+Set All Perms
+Set All Perms
+
+Set a new broadcast
+Set a new broadcast
+
+Set room password
+Set room password
+
+Set sail! We're going to Tulimshar!
+Set sail! We're going to Tulimshar!
+
+Set status @@ with @@ kills
+Set status @@ with @@ kills
+
+Setzer
+Setzer
+
+Seven consecutive brawn attacks of diff. elements.
+Seven consecutive brawn attacks of diff. elements.
+
+Seven levels is what the Mana Seed may give to any race but Saviors.
+Seven levels is what the Mana Seed may give to any race but Saviors.
+
+Several books about alchemy. Seems to be pretty advanced.
+Several books about alchemy. Seems to be pretty advanced.
+
+Several books about artificial lifeforms and the man who played God.
+Several books about artificial lifeforms and the man who played God.
+
+Several books about hiding magic. Might be why the houses looked abandoned and empty but the chimney was going.
+Several books about hiding magic. Might be why the houses looked abandoned and empty but the chimney was going.
+
+Several flasks are aligned there. They seemed to be dyes, but a close inspection reveals they're not.
+Several flasks are aligned there. They seemed to be dyes, but a close inspection reveals they're not.
+
+Several special clovers will show up at forests.
+Several special clovers will show up at forests.
+
+Sewer Water
+Sewer Water
+
+Shaabty
+Shaabty
+
+Shaabty the Fairy
+Shaabty the Fairy
+
+Shadow Herb
+Shadow Herb
+
+Shadow Herb only grows on dangerous places, and is mostly found on the Land Of Fire, or underground of very very deep caves.
+Shadow Herb only grows on dangerous places, and is mostly found on the Land Of Fire, or underground of very very deep caves.
+
+Shadow Pixie
+Shadow Pixie
+
+Shadow Plant
+Shadow Plant
+
+Shadow Tortuga
+Shadow Tortuga
+
+Shall you disband your guild for whatever reason, you'll need to pay again. No refunds. No complaining.
+Shall you disband your guild for whatever reason, you'll need to pay again. No refunds. No complaining.
+
+Shall you have any inquiry, do not hesit to [@@mailto:admin@tmw2.org|send us an email@@]##b.
+Shall you have any inquiry, do not hesit to [@@mailto:admin@tmw2.org|send us an email@@]##b.
+
+Shannon
+Shannon
+
+Sharp Knife
+Sharp Knife
+
+Sharpshooter
+Sharpshooter
+
+Sharpshooting skill replaced with Charged Arrow.
+Sharpshooting skill replaced with Charged Arrow.
+
+She and her husband Simon Bowmaker, vowed to teach the ways of archery to those with willpower, and allow everyone to use a bow.
+She and her husband Simon Bowmaker, vowed to teach the ways of archery to those with willpower, and allow everyone to use a bow.
+
+She can't remember if anything else right now.
+She can't remember if anything else right now.
+
+She doesn't likes @@s, only cute animals. She doesn't likes Ghosts, Undeads, and Shadow monsters either.
+She doesn't likes @@s, only cute animals. She doesn't likes Ghosts, Undeads, and Shadow monsters either.
+
+She doesn't seems to trust me... Maybe I should bring a guild vice-leader, or even better, the guild master himself.
+She doesn't seems to trust me... Maybe I should bring a guild vice-leader, or even better, the guild master himself.
+
+She falls in a single blow. You'll attribute her death to the Mysterious Assassin.
+She falls in a single blow. You'll attribute her death to the Mysterious Assassin.
+
+She is a scary woman and you would do well to remember this.
+She is a scary woman and you would do well to remember this.
+
+She is staring at the empty sea and sighing. She seems to be really down after Andrei Sakar passed away.
+She is staring at the empty sea and sighing. She seems to be really down after Andrei Sakar passed away.
+
+She isn't on that cave.
+She isn't on that cave.
+
+She met an adventurer named Merlin outside of the
+She met an adventurer named Merlin outside of the
+
+She mix the powder with the slime inside the bottle, and makes some weird mixture.
+She mix the powder with the slime inside the bottle, and makes some weird mixture.
+
+She must be thristy, fighting monsters on this sun... If somebody could give her Cactus Potions...
+She must be thristy, fighting monsters on this sun... If somebody could give her Cactus Potions...
+
+She never leaves the shade of that tree, she is always sending messages by other people!!
+She never leaves the shade of that tree, she is always sending messages by other people!!
+
+She pours something on it, you're not sure what. And then utters some magic words.
+She pours something on it, you're not sure what. And then utters some magic words.
+
+She probably just went out for a walk. Nothing to worry, I hope.
+She probably just went out for a walk. Nothing to worry, I hope.
+
+She shakes her head.
+She shakes her head.
+
+She should be safe as she is a strong woman, but... You never know.
+She should be safe as she is a strong woman, but... You never know.
+
+She shudders.
+She shudders.
+
+She smiles.
+She smiles.
+
+She snaps her fingers.
+She snaps her fingers.
+
+She walks to the target.
+She walks to the target.
+
+She wanted the Soul Eater defeated. Destroying the whole world never stopped her before.
+She wanted the Soul Eater defeated. Destroying the whole world never stopped her before.
+
+She was a tyrant who wanted to rule over not only Tulimshar, but the whole mana world, with an iron fist. She even charged her own premier of treason and tried to execute him.
+She was a tyrant who wanted to rule over not only Tulimshar, but the whole mana world, with an iron fist. She even charged her own premier of treason and tried to execute him.
+
+Sheila the Clockmaker
+Sheila the Clockmaker
+
+Shemagh
+Shemagh
+
+Shield Recipes
+Shield Recipes
+
+Shields
+Shields
+
+Ship travels are not free. Also, I have a few friends on the Island, and I would like you to check out on them.
+Ship travels are not free. Also, I have a few friends on the Island, and I would like you to check out on them.
+
+Ship travels are quite expensive, so perhaps you may think it is worth to complete the other quests here?
+Ship travels are quite expensive, so perhaps you may think it is worth to complete the other quests here?
+
+Shoes
+Shoes
+
+Shooo, shooo! Give my crops some time to recover, your noob.
+Shooo, shooo! Give my crops some time to recover, your noob.
+
+Shoot FIVE arrows or bullets to the air and cause Area Of Effect Damage.
+Shoot FIVE arrows or bullets to the air and cause Area Of Effect Damage.
+
+Shoot an arrow or bullet which damages everything on its way.
+Shoot an arrow or bullet which damages everything on its way.
+
+Shop#Candor
+Shop#Candor
+
+Shop#bazar1
+Shop#bazar1
+
+Shoppa Kep
+Shoppa Kep
+
+Short Bow
+Short Bow
+
+Short Gladius
+Short Gladius
+
+Short Gunstaff
+Short Gunstaff
+
+Short Sword
+Short Sword
+
+Short Tank Top
+Short Tank Top
+
+Shotgun Shooter
+Shotgun Shooter
+
+Should I attach a love letter?
+Should I attach a love letter?
+
+Should I walk on it?
+Should I walk on it?
+
+Should we ask about the %s before leaving?
+Should we ask about the %s before leaving?
+
+Should we give this shady looking 'fella a %s?
+Should we give this shady looking 'fella a %s?
+
+Should we?
+Should we?
+
+Should you be too quick or wait too long, you will most likely fail.
+Should you be too quick or wait too long, you will most likely fail.
+
+Shovel have been changed, right-click it to bury items.
+Shovel have been changed, right-click it to bury items.
+
+Show Tutorial Protips
+Show Tutorial Protips
+
+Show me a report
+Show me a report
+
+Show me something more advanced!
+Show me something more advanced!
+
+Show me what you can!
+Show me what you can!
+
+Show me what you got, noob.
+Show me what you got, noob.
+
+Shrewboo
+Shrewboo
+
+Shroom Hat
+Shroom Hat
+
+Siege Tower
+Siege Tower
+
+Sign the non-disclosure agreement?
+Sign the non-disclosure agreement?
+
+Sign#0051UG
+Sign#0051UG
+
+Sign#0060CF
+Sign#0060CF
+
+Sign#0060PI
+Sign#0060PI
+
+Sign#0063CF
+Sign#0063CF
+
+Sign#0063PI
+Sign#0063PI
+
+Sign#0066CR
+Sign#0066CR
+
+Sign#0066ER
+Sign#0066ER
+
+Sign#0066WR
+Sign#0066WR
+
+Sign#014517929
+Sign#014517929
+
+Sign#01916730
+Sign#01916730
+
+Sign#019295108
+Sign#019295108
+
+Sign#02213844
+Sign#02213844
+
+Sign#HalinRoute
+Sign#HalinRoute
+
+Sign#HalinarzoGoto
+Sign#HalinarzoGoto
+
+Sign#MKH
+Sign#MKH
+
+Sign#RES_0096
+Sign#RES_0096
+
+Sign#RES_0097
+Sign#RES_0097
+
+Sign#RES_0128
+Sign#RES_0128
+
+Sign#RES_0177
+Sign#RES_0177
+
+Sign#RES_0178
+Sign#RES_0178
+
+Sign#TempBugfix
+Sign#TempBugfix
+
+Signpost#lof
+Signpost#lof
+
+Silence
+Silence
+
+Silk
+Silk
+
+Silk Cocoon
+Silk Cocoon
+
+Silk Gloves
+Silk Gloves
+
+Silk Pants
+Silk Pants
+
+Silk Robe
+Silk Robe
+
+Silk Worm
+Silk Worm
+
+Silk worm
+Silk worm
+
+Silkworm
+Silkworm
+
+Silver Bell
+Silver Bell
+
+Silver Boss Gift
+Silver Boss Gift
+
+Silver Chest
+Silver Chest
+
+Silver Dye
+Silver Dye
+
+Silver Easteregg
+Silver Easteregg
+
+Silver Four-Leaf Amulet
+Silver Four-Leaf Amulet
+
+Silver Gift
+Silver Gift
+
+Silver Ingot
+Silver Ingot
+
+Silver Key
+Silver Key
+
+Silver Mirror
+Silver Mirror
+
+Silver Ore
+Silver Ore
+
+Silver Ore -> Copper Ore
+Silver Ore -> Copper Ore
+
+Silver Ring
+Silver Ring
+
+Silver Ring!
+Silver Ring!
+
+SilverMedal
+SilverMedal
+
+Silversmith
+Silversmith
+
+Silvia
+Silvia
+
+Silvia is in Noble District of Tulimshar.
+Silvia is in Noble District of Tulimshar.
+
+Simon
+Simon
+
+Simply put, they are raw power.
+Simply put, they are raw power.
+
+Since Merlin left in an expedition with Morgan, strange things have been happening in Kamelot.
+Since Merlin left in an expedition with Morgan, strange things have been happening in Kamelot.
+
+Since red is the official color of Land of Fire Village, I craft dye for players who will properly represent our town.
+Since red is the official color of Land of Fire Village, I craft dye for players who will properly represent our town.
+
+Since supplies are limited, I currently prioritize orders placed by higher level players.
+Since supplies are limited, I currently prioritize orders placed by higher level players.
+
+Since the war outbreak, we have to keep moving constantly. Without strong walls to protect ourselves, though, our clan is on the verge of extinction.
+Since the war outbreak, we have to keep moving constantly. Without strong walls to protect ourselves, though, our clan is on the verge of extinction.
+
+Sincerity Island
+Sincerity Island
+
+Sing a song to brighten its mood.
+Sing a song to brighten its mood.
+
+Sing me about grinding!
+Sing me about grinding!
+
+Sing me about miscellaneous monsters!
+Sing me about miscellaneous monsters!
+
+Sing me about slaying Pinkies!
+Sing me about slaying Pinkies!
+
+Sing me about the world!
+Sing me about the world!
+
+Sing me the fate of the weapons!
+Sing me the fate of the weapons!
+
+Sing me the legend of the five heroes!
+Sing me the legend of the five heroes!
+
+Sir Phoenix
+Sir Phoenix
+
+Sir Pyndragon and Lady Lalica asked to thank thee for the situation with the thief.
+Sir Pyndragon and Lady Lalica asked to thank thee for the situation with the thief.
+
+Sir Sakar and adventurers are raiding Dracula's Fortress. It is a crazy place, though, who knows what they'll find? He should be at the north exit of this town.
+Sir Sakar and adventurers are raiding Dracula's Fortress. It is a crazy place, though, who knows what they'll find? He should be at the north exit of this town.
+
+Sir Sakar and adventurers are raiding Dracula's Fortress. They found out the Underworld and there is a magic tree. You'll need a %s to use it.
+Sir Sakar and adventurers are raiding Dracula's Fortress. They found out the Underworld and there is a magic tree. You'll need a %s to use it.
+
+Sir Sakar is conducting an exploration on this land. However, you should be able to refine and tweak equipment, as well as crafting your own. Once you're ready, find him at %s of this town.
+Sir Sakar is conducting an exploration on this land. However, you should be able to refine and tweak equipment, as well as crafting your own. Once you're ready, find him at %s of this town.
+
+Sit on the rug in front of me and learn wisdom! Maybe you'll learn something this way.
+Sit on the rug in front of me and learn wisdom! Maybe you'll learn something this way.
+
+Skeleton
+Skeleton
+
+Skill @@ has been lost
+Skill @@ has been lost
+
+Skill @@ will be permanently lost!
+Skill @@ will be permanently lost!
+
+Skill Level: %d
+Skill Level: %d
+
+Skill improved
+Skill improved
+
+Skill is in cooldown for @@.
+Skill is in cooldown for @@.
+
+Skill learnt!
+Skill learnt!
+
+Skip prologue
+Skip prologue
+
+Skipping will FORSAKE rewards for the quest and related; So choose wisely!
+Skipping will FORSAKE rewards for the quest and related; So choose wisely!
+
+Skull
+Skull
+
+Skull Bloody Mug
+Skull Bloody Mug
+
+Skull Mask
+Skull Mask
+
+Sleep
+Sleep
+
+Sleeping Bandit
+Sleeping Bandit
+
+Sleeping at night, the bonus will be stronger!
+Sleeping at night, the bonus will be stronger!
+
+Sleeping will fully replenish your health.
+Sleeping will fully replenish your health.
+
+SleepingBandit
+SleepingBandit
+
+Slime Blast
+Slime Blast
+
+Slime Nest
+Slime Nest
+
+Slimes
+Slimes
+
+Slimes are on the loose. They have escaped, ate several books, and some are still in the building.
+Slimes are on the loose. They have escaped, ate several books, and some are still in the building.
+
+Slippers
+Slippers
+
+Slot Machine#003-10a
+Slot Machine#003-10a
+
+Slot Machine#012-7a
+Slot Machine#012-7a
+
+Slot Machine#017-3a
+Slot Machine#017-3a
+
+Small Amethyst Bif
+Small Amethyst Bif
+
+Small Arrow Sack
+Small Arrow Sack
+
+Small Bullet Sack
+Small Bullet Sack
+
+Small Chocolate Bar
+Small Chocolate Bar
+
+Small Diamond Bif
+Small Diamond Bif
+
+Small Diamond Biff
+Small Diamond Biff
+
+Small Elenium Bif
+Small Elenium Bif
+
+Small Emerald Bif
+Small Emerald Bif
+
+Small Fishing Net
+Small Fishing Net
+
+Small Frog
+Small Frog
+
+Small Knife
+Small Knife
+
+Small Magic Bif
+Small Magic Bif
+
+Small Mushroom
+Small Mushroom
+
+Small Ruby Bif
+Small Ruby Bif
+
+Small Sapphire Bif
+Small Sapphire Bif
+
+Small Tentacles
+Small Tentacles
+
+Small Topaz Bif
+Small Topaz Bif
+
+Smells like mouboos.
+Smells like mouboos.
+
+Smiley Cap
+Smiley Cap
+
+Smith Silvers
+Smith Silvers
+
+SmokeGrenade
+SmokeGrenade
+
+Snail
+Snail
+
+Snake
+Snake
+
+Snake Bola
+Snake Bola
+
+Snake Egg
+Snake Egg
+
+Snake Egg -> Cave Snake Egg
+Snake Egg -> Cave Snake Egg
+
+Snake Pit
+Snake Pit
+
+Snake Skin
+Snake Skin
+
+Snake Skin -> Cave Snake Skin
+Snake Skin -> Cave Snake Skin
+
+Snake Tongue
+Snake Tongue
+
+Snake Tongue -> Cave Snake Tongue
+Snake Tongue -> Cave Snake Tongue
+
+Snale
+Snale
+
+Snow Binny (NYI)
+Snow Binny (NYI)
+
+Snow Flower
+Snow Flower
+
+Snowflake
+Snowflake
+
+Snowman
+Snowman
+
+Snowman Globe
+Snowman Globe
+
+So COOL, thanks! Come back later to bring me extra @@!
+So COOL, thanks! Come back later to bring me extra @@!
+
+So I did what I could - What I always do. Turned my beloved sister in a slime. Turned her into what killed her.
+So I did what I could - What I always do. Turned my beloved sister in a slime. Turned her into what killed her.
+
+So be nice and help people along the way!
+So be nice and help people along the way!
+
+So did you take care of my 'Piou Problem?'
+So did you take care of my 'Piou Problem?'
+
+So fine and pink, tasty too!
+So fine and pink, tasty too!
+
+So good you are here. We have a huge problem.
+So good you are here. We have a huge problem.
+
+So here is what I am thinking.
+So here is what I am thinking.
+
+So how can I help you?
+So how can I help you?
+
+So if you bring me %d %s, I'll pay you awesomely! Whaddaya say?!
+So if you bring me %d %s, I'll pay you awesomely! Whaddaya say?!
+
+So if you can help, go kill at least one on this island. They take a long time to respawn.
+So if you can help, go kill at least one on this island. They take a long time to respawn.
+
+So if you have any issue which would require the Mayor to see it, you'll need me first.
+So if you have any issue which would require the Mayor to see it, you'll need me first.
+
+So in a hurry, I forgot to take enough bait for fishing.
+So in a hurry, I forgot to take enough bait for fishing.
+
+So it could be nice, if you could bring me 20 @@,
+So it could be nice, if you could bring me 20 @@,
+
+So let's strike a deal, bring me %d %s, %d %s, %d %s, and a %s. I'll reward you, promise.
+So let's strike a deal, bring me %d %s, %d %s, %d %s, and a %s. I'll reward you, promise.
+
+So long, and thanks for all the fish!
+So long, and thanks for all the fish!
+
+So many bookpages are still missing...
+So many bookpages are still missing...
+
+So tell me already what you need, and what is the reward!
+So tell me already what you need, and what is the reward!
+
+So they need me again. Alright. Tell them the following:
+So they need me again. Alright. Tell them the following:
+
+So whaddaya say, sign up won't you?
+So whaddaya say, sign up won't you?
+
+So what can I say, except, you're welcome
+So what can I say, except, you're welcome
+
+So what do you say? You in?
+So what do you say? You in?
+
+So you have now a pet, who is loyal to you. It'll follow you everywhere, but there are two things you must know.
+So you have now a pet, who is loyal to you. It'll follow you everywhere, but there are two things you must know.
+
+So you think you're tough? A warrior must also be loyal and patient.#0
+So you think you're tough? A warrior must also be loyal and patient.
+
+So you think you're tough? A warrior must also be loyal and patient.#1
+So you think you're tough? A warrior must also be loyal and patient.
+
+So! Bring me %d %s so I may study its properties and make a purifier or enhancer for our well.
+So! Bring me %d %s so I may study its properties and make a purifier or enhancer for our well.
+
+So! Please transmute a @@ and bring it to me. You may need to switch with another mana skill, until you are successful.
+So! Please transmute a @@ and bring it to me. You may need to switch with another mana skill, until you are successful.
+
+So, %s, I know you have other priorities. I don't even know why you are here - for riches? For glory, for fame? To save the world? To find out about your past? To talk with me because, well, I am just *that* cool? All of the above? Perhaps something else?
+So, %s, I know you have other priorities. I don't even know why you are here - for riches? For glory, for fame? To save the world? To find out about your past? To talk with me because, well, I am just *that* cool? All of the above? Perhaps something else?
+
+So, I looked the records. There was nothing really useful.
+So, I looked the records. There was nothing really useful.
+
+So, I was thinking in crafting a @@ for you.
+So, I was thinking in crafting a @@ for you.
+
+So, I'll have to ask you to get strong and some money for the trip. So, go train now! I wish you the best of the luck!
+So, I'll have to ask you to get strong and some money for the trip. So, go train now! I wish you the best of the luck!
+
+So, I'm placing a special bounty for @@ Mob Points.
+So, I'm placing a special bounty for @@ Mob Points.
+
+So, Peetu didn't check the ingredients before casting? That's... Well, I don't know.
+So, Peetu didn't check the ingredients before casting? That's... Well, I don't know.
+
+So, back to action! Finally. Your next destination is going to be Frostia Town.
+So, back to action! Finally. Your next destination is going to be Frostia Town.
+
+So, could I help you?
+So, could I help you?
+
+So, did you brought me the twelve cherry cakes?
+So, did you brought me the twelve cherry cakes?
+
+So, do you have the items?
+So, do you have the items?
+
+So, for the fertilizer. The thing is, all that thing is unstable.
+So, for the fertilizer. The thing is, all that thing is unstable.
+
+So, how can I help you today?
+So, how can I help you today?
+
+So, how do you feel? I see that Juliet did a marvellous job! You look like you're in good health now.
+So, how do you feel? I see that Juliet did a marvellous job! You look like you're in good health now.
+
+So, if you could bring me %d of them, that would be totally awesome! I'm counting on you!
+So, if you could bring me %d of them, that would be totally awesome! I'm counting on you!
+
+So, if you could bring me %d of them, that would be totally awesome! Pretty please! I'm counting on you!
+So, if you could bring me %d of them, that would be totally awesome! Pretty please! I'm counting on you!
+
+So, if you hired a Mercenary to protect your back... Would you prefer it to attack from rearguard, or charge against certain death, buying you time?
+So, if you hired a Mercenary to protect your back... Would you prefer it to attack from rearguard, or charge against certain death, buying you time?
+
+So, it is @@ GP each one up-front. Or I can brew with your materials:
+So, it is @@ GP each one up-front. Or I can brew with your materials:
+
+So, it is ready?
+So, it is ready?
+
+So, let's return to the business at hand. My men went down and haven't returned. That was long ago, by the way.
+So, let's return to the business at hand. My men went down and haven't returned. That was long ago, by the way.
+
+So, let's work with the last proposal, that you're from an ancient family. We can backtrace what they did.
+So, let's work with the last proposal, that you're from an ancient family. We can backtrace what they did.
+
+So, only citzens, elves and dwarves are normally welcome here and I'm NOT going to make you an exception.
+So, only citzens, elves and dwarves are normally welcome here and I'm NOT going to make you an exception.
+
+So, please kill %d/%d %ss for us and make the city a better place!
+So, please kill %d/%d %ss for us and make the city a better place!
+
+So, please kill 3 @@, which are usually found around our beaches. You can sell their stingers if you are short on money.
+So, please kill 3 @@, which are usually found around our beaches. You can sell their stingers if you are short on money.
+
+So, please kill @@/@@ @@ for us and make the world a safer place!
+So, please kill @@/@@ @@ for us and make the world a safer place!
+
+So, please kill a %s for us and make the world a safer place!
+So, please kill a %s for us and make the world a safer place!
+
+So, please, come to me with stronger magic powers. And then, I'll teach you a new magic spell.
+So, please, come to me with stronger magic powers. And then, I'll teach you a new magic spell.
+
+So, please, make the most of your stay and our leather works before this knowledge disappear from the world!
+So, please, make the most of your stay and our leather works before this knowledge disappear from the world!
+
+So, there is a magical barrier to the right, which is in place exactly to protect us.
+So, there is a magical barrier to the right, which is in place exactly to protect us.
+
+So, what about this: You bring me a @@ and I'll tailor anything you need!
+So, what about this: You bring me a @@ and I'll tailor anything you need!
+
+So, what did he said?
+So, what did he said?
+
+So, what do you say about a deal? I'll affiliate you on the Pet Caring Guild for only 5.000 GP!
+So, what do you say about a deal? I'll affiliate you on the Pet Caring Guild for only 5.000 GP!
+
+So, what to expect? Past this gate is a panthom town and some steel grating. Past the grating is the actual Impregnable Fortress.
+So, what to expect? Past this gate is a panthom town and some steel grating. Past the grating is the actual Impregnable Fortress.
+
+So, what will it be?
+So, what will it be?
+
+So, when you get on the door, knock it, and say this: "@@". She will open the door for you.
+So, when you get on the door, knock it, and say this: "@@". She will open the door for you.
+
+So, where we were again... Oh right, travel to world edge, look for family or whatever, right?
+So, where we were again... Oh right, travel to world edge, look for family or whatever, right?
+
+So, will you challenge me?
+So, will you challenge me?
+
+So, will you go?
+So, will you go?
+
+So, you are the first and must contact Jesusalva %%g
+So, you are the first and must contact Jesusalva %%g
+
+So, you have fulfilled this part of the misssion. Bring %d %s and a %s to Pachua in the Desert Canyon, and say the same thing to him so he knows you're with us.
+So, you have fulfilled this part of the misssion. Bring %d %s and a %s to Pachua in the Desert Canyon, and say the same thing to him so he knows you're with us.
+
+So, you just need to survive for one minute, and I'll consider you are good enough.
+So, you just need to survive for one minute, and I'll consider you are good enough.
+
+So, you need an alternative way to earn a living. So I looked at what is at highest demand right now, and which will remain once the war ends, and I've found you... %s!
+So, you need an alternative way to earn a living. So I looked at what is at highest demand right now, and which will remain once the war ends, and I've found you... %s!
+
+So, you want some @@ to keep you comfy on this harsh winter?
+So, you want some @@ to keep you comfy on this harsh winter?
+
+So, you would die a few thousands of times before ever reaching Halinarzo.
+So, you would die a few thousands of times before ever reaching Halinarzo.
+
+So. For the info dump or text wall... I'll let you choose what you want to know, or to skip it entirely.
+So. For the info dump or text wall... I'll let you choose what you want to know, or to skip it entirely.
+
+So. Uhm. The monsters here have varying levels of strength... I think the best way is to witness that yourself.
+So. Uhm. The monsters here have varying levels of strength... I think the best way is to witness that yourself.
+
+So... @@ That night, I cast it as usual. Everything seemed alright so I went to bed.
+So... @@ That night, I cast it as usual. Everything seemed alright so I went to bed.
+
+So... Anything new on my situation?
+So... Anything new on my situation?
+
+So... Have you tried visiting the Canyons? I know, it is a crazy idea.
+So... Have you tried visiting the Canyons? I know, it is a crazy idea.
+
+So... I think I'm almost done! My plan is to force a @@ into being a pretty Butterfly. Hey, I like cute things!
+So... I think I'm almost done! My plan is to force a @@ into being a pretty Butterfly. Hey, I like cute things!
+
+So... I won't say you can't do it, @@. I will just say killing the Bandit Lord is no easy task.
+So... I won't say you can't do it, @@. I will just say killing the Bandit Lord is no easy task.
+
+So... I'm at your hands now... What will you do with me?
+So... I'm at your hands now... What will you do with me?
+
+So... You see... I usually pay a lot of attention to my work. Especially when doing something as delicate as sealing away the slimes for the night.
+So... You see... I usually pay a lot of attention to my work. Especially when doing something as delicate as sealing away the slimes for the night.
+
+So? How many *hic* he collect?
+So? How many *hic* he collect?
+
+So? How was it?
+So? How was it?
+
+Solana
+Solana
+
+Solo
+Solo
+
+Solo Try
+Solo Try
+
+Some %ss have buried themselves in the sand near the path to the mine, causing burns to people stepping on them.
+Some %ss have buried themselves in the sand near the path to the mine, causing burns to people stepping on them.
+
+Some %ss have left the mines and made themselves comfortable in the desert, coming closer than ever to us. When there are none left in the desert, go after their nest in the mines.
+Some %ss have left the mines and made themselves comfortable in the desert, coming closer than ever to us. When there are none left in the desert, go after their nest in the mines.
+
+Some are dangerous, too. Even if you look capable of fighting, the Blue Sage instructed me to prevent anyone from visiting until the mess is cleared.
+Some are dangerous, too. Even if you look capable of fighting, the Blue Sage instructed me to prevent anyone from visiting until the mess is cleared.
+
+Some are just living their own lives. In special, I've spent part of my life studying the Yeti Society.
+Some are just living their own lives. In special, I've spent part of my life studying the Yeti Society.
+
+Some are small, others are bigger. But they all fight together, so be mindful when they're in groups.
+Some are small, others are bigger. But they all fight together, so be mindful when they're in groups.
+
+Some bullets have Elemental Properties, by the way. Now, what will it be?
+Some bullets have Elemental Properties, by the way. Now, what will it be?
+
+Some items are only produced in Nivalis. After all, it is hard to work properly with ice in a desert!
+Some items are only produced in Nivalis. After all, it is hard to work properly with ice in a desert!
+
+Some of finest elven craftmanship can be found there, like bows, for example.
+Some of finest elven craftmanship can be found there, like bows, for example.
+
+Some of my miners friends died in this mine, because there are plenty of dangerous monsters.#0
+Some of my miners friends died in this mine, because there are plenty of dangerous monsters.
+
+Some of my miners friends died in this mine, because there are plenty of dangerous monsters.#1
+Some of my miners friends died in this mine, because there are plenty of dangerous monsters.
+
+Some of them are pretty strong. Do you need an explanation about hit'n'run and the monster you're about to face?
+Some of them are pretty strong. Do you need an explanation about hit'n'run and the monster you're about to face?
+
+Some other adventurers are looking for it. Please wait %s more.
+Some other adventurers are looking for it. Please wait %s more.
+
+Some others also like to buy them to keep as trophies. Either way, you can make some money with that.
+Some others also like to buy them to keep as trophies. Either way, you can make some money with that.
+
+Some people say that I am the best tailor in the world, but I think I am the best one in the universe!
+Some people say that I am the best tailor in the world, but I think I am the best one in the universe!
+
+Some people, however, prefer to fish with more unorthodox baits, such as @@ or @@.
+Some people, however, prefer to fish with more unorthodox baits, such as @@ or @@.
+
+Some pets will also collect loot for you, right click on it so it drop whatever it is holding for you.
+Some pets will also collect loot for you, right click on it so it drop whatever it is holding for you.
+
+Some quests and events, like the festival, are only available during specific times.
+Some quests and events, like the festival, are only available during specific times.
+
+Some rogue Yetis are trying to escape to Nivalis. I can't hold them back for more than @@.
+Some rogue Yetis are trying to escape to Nivalis. I can't hold them back for more than @@.
+
+Some smoke still remains, but the fire seems to have died.
+Some smoke still remains, but the fire seems to have died.
+
+Some special items cannot be traded, discarded, nor sold. With a right click, you can also protect normal items as if they were special ones.
+Some special items cannot be traded, discarded, nor sold. With a right click, you can also protect normal items as if they were special ones.
+
+Some types of fish also enjoy @@ quite a bit.
+Some types of fish also enjoy @@ quite a bit.
+
+Some will only repeat yearly, while other events happen weekly or monthly, or in some other time aspect.
+Some will only repeat yearly, while other events happen weekly or monthly, or in some other time aspect.
+
+Some, but not all, from the rare or non-replaceable items will have a warning when you try to sell them.
+Some, but not all, from the rare or non-replaceable items will have a warning when you try to sell them.
+
+Somebody already rented it before you!
+Somebody already rented it before you!
+
+Somebody took your place on this spot!
+Somebody took your place on this spot!
+
+Someone else has already defeated this bounty.
+Someone else has already defeated this bounty.
+
+Someone else is using the guild storage right now. Please wait.
+Someone else is using the guild storage right now. Please wait.
+
+Someone fell into the well.
+Someone fell into the well.
+
+Someone looted this treasure box already...
+Someone looted this treasure box already...
+
+Someone seems to be drowned in the water.
+Someone seems to be drowned in the water.
+
+Someone who have clear priorities appeared! I'm glad!
+Someone who have clear priorities appeared! I'm glad!
+
+Something changed; We should see what is.
+Something changed; We should see what is.
+
+Something else?
+Something else?
+
+Something is happening down there.
+Something is happening down there.
+
+Something is wrong with me, I can't smile nor sit.
+Something is wrong with me, I can't smile nor sit.
+
+Something seems off with that!
+Something seems off with that!
+
+Something seems to be happening close to the Throne.
+Something seems to be happening close to the Throne.
+
+Something seems wrong.
+Something seems wrong.
+
+Something to eat?
+Something to eat?
+
+Something very terrible happened.
+Something very terrible happened.
+
+Sometimes I think it'd be better not to allow visitors here. But Nikolai set a high value on keeping contact with the population. Politics.
+Sometimes I think it'd be better not to allow visitors here. But Nikolai set a high value on keeping contact with the population. Politics.
+
+Sometimes humans come here and play with me. Many thanks for the help!
+Sometimes humans come here and play with me. Many thanks for the help!
+
+Sometimes you just need to run from battle.
+Sometimes you just need to run from battle.
+
+Sometimes, you just cannot afford to be hit. But even with a melee weapon, you don't need to be hit.
+Sometimes, you just cannot afford to be hit. But even with a melee weapon, you don't need to be hit.
+
+Sometimes, you really wish you could visit new universes without having to pick some sort of role on it.
+Sometimes, you really wish you could visit new universes without having to pick some sort of role on it.
+
+Somewhere better to live?
+Somewhere better to live?
+
+Sooo, the police station of Moubootaur Legends went ablaze. Constable Perry is too busy to monitor illegal operation on this continent.
+Sooo, the police station of Moubootaur Legends went ablaze. Constable Perry is too busy to monitor illegal operation on this continent.
+
+Sorcerer
+Sorcerer
+
+Sorcerer Robe
+Sorcerer Robe
+
+Soren
+Soren
+
+Soren Card
+Soren Card
+
+Soren Village
+Soren Village
+
+Soren xd#Valentine
+Soren xd#Valentine
+
+Soren's Fountain
+Soren's Fountain
+
+Soren's Gizmo
+Soren's Gizmo
+
+Soren's House
+Soren's House
+
+Soren's House Tutorial
+Soren's House Tutorial
+
+Soren's Lake
+Soren's Lake
+
+Sorfina
+Sorfina
+
+Sorfina recomposes herself.
+Sorfina recomposes herself.
+
+Sorry 'mam, I forgot courage on my other set of pants. This one doesn't have enough defense for it.#0
+Sorry 'mam, I forgot courage on my other set of pants. This one doesn't have enough defense for it.
+
+Sorry 'mam, I forgot courage on my other set of pants. This one doesn't have enough defense for it.#1
+Sorry 'mam, I forgot courage on my other set of pants. This one doesn't have enough defense for it.
+
+Sorry but I am not interested in that.
+Sorry but I am not interested in that.
+
+Sorry for making you listen my rambles. I need someone strong, you see...
+Sorry for making you listen my rambles. I need someone strong, you see...
+
+Sorry kind lady @@, but no.#0
+Sorry kind lady @@, but no.
+
+Sorry kind sir @@, but no.#1
+Sorry kind sir @@, but no.
+
+Sorry pal, but only if another miner vouches for you.
+Sorry pal, but only if another miner vouches for you.
+
+Sorry! I forgot to introduce myself. My name is Arpan, but other sailors call me Magic Arpan because I know one or two yaing magic tricks.
+Sorry! I forgot to introduce myself. My name is Arpan, but other sailors call me Magic Arpan because I know one or two yaing magic tricks.
+
+Sorry! Sorry!
+Sorry! Sorry!
+
+Sorry, @@ already started the fight.
+Sorry, @@ already started the fight.
+
+Sorry, I am a newbie.
+Sorry, I am a newbie.
+
+Sorry, I am busy...
+Sorry, I am busy...
+
+Sorry, I am so hungry as you.
+Sorry, I am so hungry as you.
+
+Sorry, I can't help you. Go away!
+Sorry, I can't help you. Go away!
+
+Sorry, I don't have any pets at the moment.
+Sorry, I don't have any pets at the moment.
+
+Sorry, I forgot my courage on my other set of pants.
+Sorry, I forgot my courage on my other set of pants.
+
+Sorry, I forgot what you need!
+Sorry, I forgot what you need!
+
+Sorry, I have nothing.
+Sorry, I have nothing.
+
+Sorry, I have to go now.
+Sorry, I have to go now.
+
+Sorry, I have to go.
+Sorry, I have to go.
+
+Sorry, I haven't seen you. My name is Barbara.
+Sorry, I haven't seen you. My name is Barbara.
+
+Sorry, I misclicked the first button. Have a nice nap, great Crazyfefe!
+Sorry, I misclicked the first button. Have a nice nap, great Crazyfefe!
+
+Sorry, I need to better prepare myself.
+Sorry, I need to better prepare myself.
+
+Sorry, I only deal with Arcmage cards.
+Sorry, I only deal with Arcmage cards.
+
+Sorry, I'll be back.
+Sorry, I'll be back.
+
+Sorry, I'll keep my gem.
+Sorry, I'll keep my gem.
+
+Sorry, I'll pass.
+Sorry, I'll pass.
+
+Sorry, I'm babbling. Deliver this letter to Frostia's King. He will know what to do and what you should do.
+Sorry, I'm babbling. Deliver this letter to Frostia's King. He will know what to do and what you should do.
+
+Sorry, I'm busy with other registrations.
+Sorry, I'm busy with other registrations.
+
+Sorry, I'm doing other things at the moment.
+Sorry, I'm doing other things at the moment.
+
+Sorry, I'm in hurry.
+Sorry, I'm in hurry.
+
+Sorry, I'm more of a coffee person.
+Sorry, I'm more of a coffee person.
+
+Sorry, It's not place for me.
+Sorry, It's not place for me.
+
+Sorry, Mister Rakinorf, but it was Lua that said you could help me.
+Sorry, Mister Rakinorf, but it was Lua that said you could help me.
+
+Sorry, and enjoy the game! Your TMW2 Staff Team.
+Sorry, and enjoy the game! Your TMW2 Staff Team.
+
+Sorry, but I already ate the %s you gave me!
+Sorry, but I already ate the %s you gave me!
+
+Sorry, but I need one of each gem powder, and %d GP.
+Sorry, but I need one of each gem powder, and %d GP.
+
+Sorry, but I need the ingredients and %d GP.
+Sorry, but I need the ingredients and %d GP.
+
+Sorry, but I won't dare touch a %s.
+Sorry, but I won't dare touch a %s.
+
+Sorry, but no entry to Townhall under orders of the council head, Benjamin L.
+Sorry, but no entry to Townhall under orders of the council head, Benjamin L.
+
+Sorry, but no spoilers. You'll met the Moubootaur soon enough.
+Sorry, but no spoilers. You'll met the Moubootaur soon enough.
+
+Sorry, but that's not right.
+Sorry, but that's not right.
+
+Sorry, but that's wrong.
+Sorry, but that's wrong.
+
+Sorry, but this quest cannot be done by staff.
+Sorry, but this quest cannot be done by staff.
+
+Sorry, but you don't have what I need.
+Sorry, but you don't have what I need.
+
+Sorry, but you have multiple %s.
+Sorry, but you have multiple %s.
+
+Sorry, it looks like Saulc wrote on this stone. It is entirely illegible... for now.
+Sorry, it looks like Saulc wrote on this stone. It is entirely illegible... for now.
+
+Sorry, son. I know how hard this is. But this is teaching you a valuable lesson, your eye will be more sharp for quality wood from now on.#0
+Sorry, son. I know how hard this is. But this is teaching you a valuable lesson, your eye will be more sharp for quality wood from now on.
+
+Sorry, son. I know how hard this is. But this is teaching you a valuable lesson, your eye will be more sharp for quality wood from now on.#1
+Sorry, son. I know how hard this is. But this is teaching you a valuable lesson, your eye will be more sharp for quality wood from now on.
+
+Sorry, sorry! Please rest, great Crazyfefe!
+Sorry, sorry! Please rest, great Crazyfefe!
+
+Sorry, that arena is already closed.
+Sorry, that arena is already closed.
+
+Sorry, that is not the cake I love.
+Sorry, that is not the cake I love.
+
+Sorry, this password was already used on another arena.
+Sorry, this password was already used on another arena.
+
+Sorry, you do not have enough ingredients. You'd better search thoroughly.
+Sorry, you do not have enough ingredients. You'd better search thoroughly.
+
+Sorry, you don't have any chocolate to pick up.
+Sorry, you don't have any chocolate to pick up.
+
+Sorry, you don't seem to have everything I need.
+Sorry, you don't seem to have everything I need.
+
+Sorry, you were taking too long to decide and I've rented my sword to somebody else.
+Sorry, you were taking too long to decide and I've rented my sword to somebody else.
+
+Sorry. At best, you can try your luck in Halinarzo, but the odds of someone recognizing you are pretty slim.
+Sorry. At best, you can try your luck in Halinarzo, but the odds of someone recognizing you are pretty slim.
+
+Sorry. The arrays can't have zeros.
+Sorry. The arrays can't have zeros.
+
+Soul Menhir automatic saving:
+Soul Menhir automatic saving:
+
+Soul Menhir#candor
+Soul Menhir#candor
+
+Soul Menhir#frost
+Soul Menhir#frost
+
+Soul Menhir#hali
+Soul Menhir#hali
+
+Soul Menhir#hurns
+Soul Menhir#hurns
+
+Soul Menhir#lil
+Soul Menhir#lil
+
+Soul Menhir#lof
+Soul Menhir#lof
+
+Soul Menhir#niv
+Soul Menhir#niv
+
+Soul Menhir#tulim
+Soul Menhir#tulim
+
+Soul Stone#001-11
+Soul Stone#001-11
+
+Soul Stone#001-12
+Soul Stone#001-12
+
+Soul Stone#001-4
+Soul Stone#001-4
+
+Soul Stone#0064
+Soul Stone#0064
+
+Sounds awesome, but this will also reset a bunch of your progress... And with something as lame as a %s, you'll need quite a while to warp again. Uh, if you can, bring friends, the Soul Eater is... not to be trifled with.
+Sounds awesome, but this will also reset a bunch of your progress... And with something as lame as a %s, you'll need quite a while to warp again. Uh, if you can, bring friends, the Soul Eater is... not to be trifled with.
+
+Sounds good!
+Sounds good!
+
+Sounds good.
+Sounds good.
+
+Southeast Avenue#lof
+Southeast Avenue#lof
+
+Southwest Avenue
+Southwest Avenue
+
+Southwest Avenue#lof
+Southwest Avenue#lof
+
+Spawn customized boss
+Spawn customized boss
+
+Speak with ##BBarzil##b. Tell him it is for the Magic Academy. HURRY UP!
+Speak with ##BBarzil##b. Tell him it is for the Magic Academy. HURRY UP!
+
+Spearmint Tea
+Spearmint Tea
+
+Special Event Pets
+Special Event Pets
+
+Special battle modes will also be available.
+Special battle modes will also be available.
+
+Specialized in destructive, magical skills.
+Specialized in destructive, magical skills.
+
+Specialized in miscellaneous skills.
+Specialized in miscellaneous skills.
+
+Specialized in skills with fist-based damage and unarmed mastery.
+Specialized in skills with fist-based damage and unarmed mastery.
+
+Specialized in skills with weapon-based damage and Assassination.
+Specialized in skills with weapon-based damage and Assassination.
+
+Specialized in support, buff, debuff and strengthening skills.
+Specialized in support, buff, debuff and strengthening skills.
+
+Spectral Orb
+Spectral Orb
+
+Speed Card
+Speed Card
+
+Speed Card S
+Speed Card S
+
+Speed Card X
+Speed Card X
+
+Spell Book Page
+Spell Book Page
+
+Spend it wisely this time.
+Spend it wisely this time.
+
+Spider
+Spider
+
+Spider Queen
+Spider Queen
+
+SpikyMushroom
+SpikyMushroom
+
+Spin daily the card to get prizes!
+Spin daily the card to get prizes!
+
+Spin it!
+Spin it!
+
+Spin three symbols, and jackpot great rewards!
+Spin three symbols, and jackpot great rewards!
+
+Spin!
+Spin!
+
+Spinning!
+Spinning!
+
+Spinning...
+Spinning...
+
+Sponsor @@ in how much GP?
+Sponsor @@ in how much GP?
+
+Sponsor Necklace
+Sponsor Necklace
+
+Sponsors Inn
+Sponsors Inn
+
+Spring
+Spring
+
+Spring Squirrel
+Spring Squirrel
+
+Squichy Claws
+Squichy Claws
+
+Squirrel
+Squirrel
+
+Squirrel Boots
+Squirrel Boots
+
+Squirrel Pelt
+Squirrel Pelt
+
+Squirrels are healthy, but they never attack. They run away from you, so good luck catching it!
+Squirrels are healthy, but they never attack. They run away from you, so good luck catching it!
+
+St Patrick's Clover
+St Patrick's Clover
+
+St. Patrick Day
+St. Patrick Day
+
+St. Patrick Gold Pot
+St. Patrick Gold Pot
+
+Staff is not allowed to use this command.
+Staff is not allowed to use this command.
+
+Staircase#MKHB
+Staircase#MKHB
+
+Stalman
+Stalman
+
+Standard Magic
+Standard Magic
+
+Standard Tricks
+Standard Tricks
+
+Start
+Start
+
+Start broadcasting
+Start broadcasting
+
+Start broadcasting, and make an extra broadcast right now
+Start broadcasting, and make an extra broadcast right now
+
+Start over
+Start over
+
+Start!
+Start!
+
+Stat Boost Recipes
+Stat Boost Recipes
+
+Status Condition Cleared
+Status Condition Cleared
+
+Status Reset Potion
+Status Reset Potion
+
+Status point reset can't be undone. Do you really want this?
+Status point reset can't be undone. Do you really want this?
+
+Status reset? Sounds illegal!
+Status reset? Sounds illegal!
+
+Status.
+Status.
+
+Status: %s
+Status: %s
+
+Stay out of harm way. Nothing to see here. Stay away, pathetically weak %s.
+Stay out of harm way. Nothing to see here. Stay away, pathetically weak %s.
+
+Stay ready!
+Stay ready!
+
+Stay there?
+Stay there?
+
+Stay tuned for announcements regarding raid times to retake the towns.
+Stay tuned for announcements regarding raid times to retake the towns.
+
+Steal bucket!
+Steal bucket!
+
+Stealing
+Stealing
+
+Steam (LoF Village)
+Steam (LoF Village)
+
+Steel Shield
+Steel Shield
+
+Steel Shovel
+Steel Shovel
+
+Step backward
+Step backward
+
+Step forward
+Step forward
+
+Still haven't found it? Well, keep looking the barrels at this storehouse. I know it's in there, somewhere.
+Still haven't found it? Well, keep looking the barrels at this storehouse. I know it's in there, somewhere.
+
+Still interested in extra credit? Now that you're a(n) %s, you can sign this perfectly normal and standard %s, and by helping us out, by helping ME out, you'll gain the extra credit. What do you say? Not a bad deal, right?
+Still interested in extra credit? Now that you're a(n) %s, you can sign this perfectly normal and standard %s, and by helping us out, by helping ME out, you'll gain the extra credit. What do you say? Not a bad deal, right?
+
+Still, they can be useful when you're trying to solo a boss and need help. The number of stars on the card is the strength and rarity. Use them wisely.
+Still, they can be useful when you're trying to solo a boss and need help. The number of stars on the card is the strength and rarity. Use them wisely.
+
+Stone
+Stone
+
+Stop broadcasting
+Stop broadcasting
+
+Stop it!
+Stop it!
+
+Stop on your tracks, unfair being! Freeze!
+Stop on your tracks, unfair being! Freeze!
+
+Stop right there, miscreant. I can see you're AFK, it is written on your hat!
+Stop right there, miscreant. I can see you're AFK, it is written on your hat!
+
+Storage Fairy
+Storage Fairy
+
+Strange Coin
+Strange Coin
+
+Strange Coins stock on shops was restored!
+Strange Coins stock on shops was restored!
+
+Strange switch status: @@
+Strange switch status: @@
+
+Strangely enough, when he died, he became a ghost. This shouldn't happen, but yet...
+Strangely enough, when he died, he became a ghost. This shouldn't happen, but yet...
+
+Stranger#LoF
+Stranger#LoF
+
+Strangers and monsters aren't allowed in MY house!
+Strangers and monsters aren't allowed in MY house!
+
+Stray Little Blub
+Stray Little Blub
+
+Strength
+Strength
+
+Strength Fruit
+Strength Fruit
+
+Strength Potion
+Strength Potion
+
+Strength Statue
+Strength Statue
+
+Strength: AGI+, Walk Speed +
+Strength: AGI+, Walk Speed +
+
+Strength: ALL
+Strength: ALL
+
+Strength: DEX+
+Strength: DEX+
+
+Strength: INT+
+Strength: INT+
+
+Strength: LUK+
+Strength: LUK+
+
+Strength: NONE
+Strength: NONE
+
+Strength: STR+, Carry Weight +
+Strength: STR+, Carry Weight +
+
+Strength: VIT++
+Strength: VIT++
+
+Strong wind area of effect attack.
+Strong wind area of effect attack.
+
+Strong wind single target attack.
+Strong wind single target attack.
+
+Student
+Student
+
+Student#A01
+Student#A01
+
+Student#A02
+Student#A02
+
+Stun
+Stun
+
+Stunning Strike
+Stunning Strike
+
+Stupid @@, get out of this cave before I lose my patience!
+Stupid @@, get out of this cave before I lose my patience!
+
+Stupid @@, get out of this cave before I lose my patience! Mercury... Show up already!
+Stupid @@, get out of this cave before I lose my patience! Mercury... Show up already!
+
+Success ratio is of aprox. @@ %
+Success ratio is of aprox. @@ %
+
+Success!
+Success!
+
+Successfully Crafted: %s
+Successfully Crafted: %s
+
+Successive warps cause time-space distortions and are thus not allowed.
+Successive warps cause time-space distortions and are thus not allowed.
+
+Such convoys had been made since the Civil War, after all, many feared the Red Queen and moving to the sea was a sure way to stay out of her reach. None had ever heard again of them...
+Such convoys had been made since the Civil War, after all, many feared the Red Queen and moving to the sea was a sure way to stay out of her reach. None had ever heard again of them...
+
+Such precious gem, is not something you would give for free, unless you are interested on my... rituals.
+Such precious gem, is not something you would give for free, unless you are interested on my... rituals.
+
+Sudden Attack
+Sudden Attack
+
+Suddenly, a bee appears and attacks you out of NOWHERE!
+Suddenly, a bee appears and attacks you out of NOWHERE!
+
+Suddenly, the map %s!
+Suddenly, the map %s!
+
+Sulfur Powder
+Sulfur Powder
+
+Summary
+Summary
+
+Summer
+Summer
+
+Summoned Monster
+Summoned Monster
+
+Summoning and Homunculus (H) skills can be raised from skill window directly.
+Summoning and Homunculus (H) skills can be raised from skill window directly.
+
+Summoning is part of Mana Magic. Mana Magic is trickier, you must have control over magic power to use it properly.
+Summoning is part of Mana Magic. Mana Magic is trickier, you must have control over magic power to use it properly.
+
+Sunday I am having a Church Party but I forgot to prepare food!
+Sunday I am having a Church Party but I forgot to prepare food!
+
+Sunglasses
+Sunglasses
+
+Sunny Crystal
+Sunny Crystal
+
+Super Menu
+Super Menu
+
+Superb stealth, and quick on their toes.
+Superb stealth, and quick on their toes.
+
+Superior Shroom
+Superior Shroom
+
+Superior damage on enemies who walk over the fire.
+Superior damage on enemies who walk over the fire.
+
+Superior single target damage which splashes in area.
+Superior single target damage which splashes in area.
+
+Supreme Attack
+Supreme Attack
+
+Supreme Chest
+Supreme Chest
+
+Supreme Gift
+Supreme Gift
+
+Supreme Ranger Card
+Supreme Ranger Card
+
+Supreme Warrior Card
+Supreme Warrior Card
+
+Supreme and Absolute lose to Ancient, but Ancient isn't the strongest power level out there.
+Supreme and Absolute lose to Ancient, but Ancient isn't the strongest power level out there.
+
+Sure
+Sure
+
+Sure!
+Sure!
+
+Sure! But that is Summon Magic. Just bring me a mug of beer, I'm thristy. And I'll teach you a basic skill.
+Sure! But that is Summon Magic. Just bring me a mug of beer, I'm thristy. And I'll teach you a basic skill.
+
+Sure, I'd love to help! What can I do?
+Sure, I'd love to help! What can I do?
+
+Sure, I'll be back.
+Sure, I'll be back.
+
+Sure, I'll be right back.
+Sure, I'll be right back.
+
+Sure, I'll do it.
+Sure, I'll do it.
+
+Sure, I'll help.
+Sure, I'll help.
+
+Sure, gimme the Gold.
+Sure, gimme the Gold.
+
+Sure, gimme the Monster Points.
+Sure, gimme the Monster Points.
+
+Sure, here you go!
+Sure, here you go!
+
+Sure, no problem! For this awesome hat which I can make it myself, you'll need to bring me a few items!
+Sure, no problem! For this awesome hat which I can make it myself, you'll need to bring me a few items!
+
+Sure, sure, I'm going...
+Sure, sure, I'm going...
+
+Sure, sure... Why are you even *hic* asking me this, anyway? Do I look like your... *hic* your father or something?!
+Sure, sure... Why are you even *hic* asking me this, anyway? Do I look like your... *hic* your father or something?!
+
+Sure, what could go wrong?
+Sure, what could go wrong?
+
+Sure, why not?
+Sure, why not?
+
+Sure.
+Sure.
+
+Sure. Here, take it.
+Sure. Here, take it.
+
+Sure. I like to keep Alcoholic beverages, because they raise EXP gain when you drink @@.
+Sure. I like to keep Alcoholic beverages, because they raise EXP gain when you drink @@.
+
+Surprise me!
+Surprise me!
+
+Surprisingly, nothing happens.
+Surprisingly, nothing happens.
+
+Survival Challenge
+Survival Challenge
+
+Susanne
+Susanne
+
+Swashbuckler
+Swashbuckler
+
+Swezanne
+Swezanne
+
+Swezanne Card
+Swezanne Card
+
+Switching from strong to weak equipments WON'T make it go any easier on you!
+Switching from strong to weak equipments WON'T make it go any easier on you!
+
+Syntax: @wset <map_mask>
+Syntax: @wset <map_mask>
+
+T.T "Someone else killed my Dummy!"
+T.T "Someone else killed my Dummy!"
+
+T.T "Why I think you are withdrawing information all along?"
+T.T "Why I think you are withdrawing information all along?"
+
+T0 - Base Bonus
+T0 - Base Bonus
+
+T1 - Accuracy Bonus
+T1 - Accuracy Bonus
+
+T1 - Attack Bonus
+T1 - Attack Bonus
+
+T1 - Defense Bonus
+T1 - Defense Bonus
+
+T1 - Evasion Bonus
+T1 - Evasion Bonus
+
+T2 - Double Power Bonus
+T2 - Double Power Bonus
+
+T2 - Max Stats Bonus
+T2 - Max Stats Bonus
+
+T2 - Regeneration Bonus
+T2 - Regeneration Bonus
+
+T2 - Speed Bonus
+T2 - Speed Bonus
+
+T3 - Boss Techniques Bonus
+T3 - Boss Techniques Bonus
+
+T3 - Mana Economy Bonus
+T3 - Mana Economy Bonus
+
+T3 - SC Inflict Bonus
+T3 - SC Inflict Bonus
+
+T3 - SC Resist Bonus
+T3 - SC Resist Bonus
+
+T4 - Ultimate Bonus
+T4 - Ultimate Bonus
+
+THANK YOU for participating on cross-server Valentine 2020 Event! We hope you had fun!
+THANK YOU for participating on cross-server Valentine 2020 Event! We hope you had fun!
+
+THAT GRIMORIE IS A SUPER DUPER MEGA UPER RARE BOOK, I CANNOT GIVE IT TO ANYBODY ASKING ME ABOUT!!
+THAT GRIMORIE IS A SUPER DUPER MEGA UPER RARE BOOK, I CANNOT GIVE IT TO ANYBODY ASKING ME ABOUT!!
+
+THE BLOOD HERE SPILLED TODAY... ONLY ENRAGES HIM MORE...
+THE BLOOD HERE SPILLED TODAY... ONLY ENRAGES HIM MORE...
+
+THEN DON'T WASTE MY TIME! My friend could be in danger!
+THEN DON'T WASTE MY TIME! My friend could be in danger!
+
+THIS IS A SOLO FIGHT, TEAMS ARE NOT ALLOWED INSIDE.
+THIS IS A SOLO FIGHT, TEAMS ARE NOT ALLOWED INSIDE.
+
+THIS IS MOUBOOTAUR LEGENDS TEST SERVER.
+THIS IS MOUBOOTAUR LEGENDS TEST SERVER.
+
+THIS IS THE MOUBOOTAUR TEMPLE RUINS... THIS PLACE IS SACRED...
+THIS IS THE MOUBOOTAUR TEMPLE RUINS... THIS PLACE IS SACRED...
+
+TMW Adventure
+TMW Adventure
+
+TMW2
+TMW2
+
+TMW2 Day marks the server birthdate. Do not mistake with TMW2 Anniversary.
+TMW2 Day marks the server birthdate. Do not mistake with TMW2 Anniversary.
+
+TMW2 Staff
+TMW2 Staff
+
+TUTORIAL
+TUTORIAL
+
+Taenya
+Taenya
+
+Take care though, don't attack them when they are in group!
+Take care though, don't attack them when they are in group!
+
+Take care!
+Take care!
+
+Take care, adventurer!
+Take care, adventurer!
+
+Take care. Here, take this @@. You can sell it for some quick-spot cash, or use it as a weapon.
+Take care. Here, take this @@. You can sell it for some quick-spot cash, or use it as a weapon.
+
+Take care. This is a dangerous world, but I think that worse than being attacked by sea monsters, is starving from hunger!
+Take care. This is a dangerous world, but I think that worse than being attacked by sea monsters, is starving from hunger!
+
+Take care: Secret passages can be dangerous places (or not).
+Take care: Secret passages can be dangerous places (or not).
+
+Take it!
+Take it!
+
+Take it?
+Take it?
+
+Take much care with it. It is a very, very rare drop from a rare monster from a difficult, high level area.
+Take much care with it. It is a very, very rare drop from a rare monster from a difficult, high level area.
+
+Take the bottle?
+Take the bottle?
+
+Take the riddle?
+Take the riddle?
+
+Take this @@ to prove you're one of us! Could you also invite Elmo? Thanks, matey!
+Take this @@ to prove you're one of us! Could you also invite Elmo? Thanks, matey!
+
+Take this @@. It might save your life on the secret mission you're about to be assigned to.
+Take this @@. It might save your life on the secret mission you're about to be assigned to.
+
+Take this badge, so you can enter the guard house. You will find more work there. Bye, and good luck!
+Take this badge, so you can enter the guard house. You will find more work there. Bye, and good luck!
+
+Take this spare @@ I did. It heals fully and instantly, so don't hesit to use it if you're about to die.
+Take this spare @@ I did. It heals fully and instantly, so don't hesit to use it if you're about to die.
+
+Take this with you. And please bring Arthur back, the world needs him!
+Take this with you. And please bring Arthur back, the world needs him!
+
+Taking your sturdy glove, you attempt to walk by the wall! You are betting your life on it!
+Taking your sturdy glove, you attempt to walk by the wall! You are betting your life on it!
+
+Talindra
+Talindra
+
+Talk to @@
+Talk to @@
+
+Talk to Hocus in Porthos (via Menhir) to enroll.
+Talk to Hocus in Porthos (via Menhir) to enroll.
+
+Talk to Nard to unlock the door.
+Talk to Nard to unlock the door.
+
+Talk to Soul Menhir to engage the boss. Time limit = 1 hour.
+Talk to Soul Menhir to engage the boss. Time limit = 1 hour.
+
+Talk to Zitoni, and deliver the @@. I can't give you another one, they're super rare.
+Talk to Zitoni, and deliver the @@. I can't give you another one, they're super rare.
+
+Talk to Zitoni, the Alchemist of Candor. He may look humble, but he is the greatest alchemist of this world. I need five @@.
+Talk to Zitoni, the Alchemist of Candor. He may look humble, but he is the greatest alchemist of this world. I need five @@.
+
+Talk to the Fountain. Pour the potion on it. I advise you to put all your points on int if possible.
+Talk to the Fountain. Pour the potion on it. I advise you to put all your points on int if possible.
+
+Talk to the waitress to get some food. Enjoy the show! And you can sleep on the 3rd Floor.
+Talk to the waitress to get some food. Enjoy the show! And you can sleep on the 3rd Floor.
+
+Talk to you later!
+Talk to you later!
+
+Talk to you soon!
+Talk to you soon!
+
+Tamed Snake
+Tamed Snake
+
+Tamed Snake Egg
+Tamed Snake Egg
+
+Tametomo
+Tametomo
+
+Tamiloc
+Tamiloc
+
+Taree
+Taree
+
+Tax crafters
+Tax crafters
+
+Taxes lowered
+Taxes lowered
+
+Taxes raised
+Taxes raised
+
+Taxes will fall in 0.01~0.03%, capped at 0.00%
+Taxes will fall in 0.01~0.03%, capped at 0.00%
+
+Taxes will raise in 0.02~0.05%, capped at 15%.
+Taxes will raise in 0.02~0.05%, capped at 15%.
+
+Tea party! I want to participate.
+Tea party! I want to participate.
+
+Teaching %s your skills will make you both forget them.
+Teaching %s your skills will make you both forget them.
+
+Teaching you how to study will take from my time, so I'll want a small compromise of %s GP to make sure you will actually make good use of it.
+Teaching you how to study will take from my time, so I'll want a small compromise of %s GP to make sure you will actually make good use of it.
+
+Teal Dye
+Teal Dye
+
+Tech-User Forge
+Tech-User Forge
+
+Technician
+Technician
+
+Tell me about Artis.
+Tell me about Artis.
+
+Tell me about Fortress Town.
+Tell me about Fortress Town.
+
+Tell me about Frostia.
+Tell me about Frostia.
+
+Tell me about Halinarzo.
+Tell me about Halinarzo.
+
+Tell me about Hurnscald.
+Tell me about Hurnscald.
+
+Tell me about Nivalis.
+Tell me about Nivalis.
+
+Tell me about Thermin.
+Tell me about Thermin.
+
+Tell me about Tulimshar.
+Tell me about Tulimshar.
+
+Tell me about the Civil War.
+Tell me about the Civil War.
+
+Tell me about the Great Fire.
+Tell me about the Great Fire.
+
+Tell me about the Land Of Fire.
+Tell me about the Land Of Fire.
+
+Tell me about the Mana War.
+Tell me about the Mana War.
+
+Tell me about the Monster War.
+Tell me about the Monster War.
+
+Tell me how or I'll kill you!
+Tell me how or I'll kill you!
+
+Tell me which language you speak and I will change the note on the ship passenger list.
+Tell me which language you speak and I will change the note on the ship passenger list.
+
+Tell people the name of a new hero.
+Tell people the name of a new hero.
+
+Tempest
+Tempest
+
+Ten, fifty, thousand... Yep, this is the amount I've asked for.
+Ten, fifty, thousand... Yep, this is the amount I've asked for.
+
+Tench
+Tench
+
+Tengu
+Tengu
+
+Tentacles
+Tentacles
+
+Teraa
+Teraa
+
+Terranite
+Terranite
+
+Terranite Armor
+Terranite Armor
+
+Terranite Blueprint
+Terranite Blueprint
+
+Terranite Boots
+Terranite Boots
+
+Terranite Gloves
+Terranite Gloves
+
+Terranite Helmet
+Terranite Helmet
+
+Terranite Ingot
+Terranite Ingot
+
+Terranite King
+Terranite King
+
+Terranite Mask
+Terranite Mask
+
+Terranite Ore
+Terranite Ore
+
+Terranite Ore (3 power)
+Terranite Ore (3 power)
+
+Terranite Ore is a really special item. People without helmets can't understand @@'s real power, anyway if you could give me some of them you would understand why they are so special.
+Terranite Ore is a really special item. People without helmets can't understand @@'s real power, anyway if you could give me some of them you would understand why they are so special.
+
+Terranite Pants
+Terranite Pants
+
+Terranite Protector
+Terranite Protector
+
+Terranite probably mined part of this mine long time ago.
+Terranite probably mined part of this mine long time ago.
+
+Terrible manaquake hits the whole world, causing dramatic changes!
+Terrible manaquake hits the whole world, causing dramatic changes!
+
+Terrible. You know almost nothing from world lore...
+Terrible. You know almost nothing from world lore...
+
+Test
+Test
+
+Test MOTD
+Test MOTD
+
+Teuvo
+Teuvo
+
+Text Wall Density
+Text Wall Density
+
+Tezzerin
+Tezzerin
+
+Thank you for being with us for so long. You gained a %s as a random good-hearted action from the team!
+Thank you for being with us for so long. You gained a %s as a random good-hearted action from the team!
+
+Thank you for helping me make my tea. I hope the potions have been helpful...
+Thank you for helping me make my tea. I hope the potions have been helpful...
+
+Thank you for your help.
+Thank you for your help.
+
+Thank you so much! That might not bring my friends back, but will make this island much safer!
+Thank you so much! That might not bring my friends back, but will make this island much safer!
+
+Thank you soooo much! Here is some compensation, and you can keep this worthless scroll of paper! I looooove Pearls!
+Thank you soooo much! Here is some compensation, and you can keep this worthless scroll of paper! I looooove Pearls!
+
+Thank you! Here is some compensation, and you can keep this worthless scroll of paper! I looooove Pearls!
+Thank you! Here is some compensation, and you can keep this worthless scroll of paper! I looooove Pearls!
+
+Thank you! Thank you! Savior!#0
+Thank you! Thank you! Savior!
+
+Thank you! Thank you! Savior!#1
+Thank you! Thank you! Savior!
+
+Thank you! That's very generous of you.
+Thank you! That's very generous of you.
+
+Thank you, @@. Please take this pair of gloves as a thank you.
+Thank you, @@. Please take this pair of gloves as a thank you.
+
+Thank you, We are now friends, You can visit us when you want!
+Thank you, We are now friends, You can visit us when you want!
+
+Thank you, here is your reward and... some pocket money.
+Thank you, here is your reward and... some pocket money.
+
+Thank you, here is your reward.
+Thank you, here is your reward.
+
+Thank you, tell her to come to the bakery at... Actually, nevermind. Just give her this note.
+Thank you, tell her to come to the bakery at... Actually, nevermind. Just give her this note.
+
+Thank you.
+Thank you.
+
+Thank you. I'll wait here.
+Thank you. I'll wait here.
+
+Thank you...
+Thank you...
+
+Thankfully that item is too rare. I want somebody to slay the bandit leader, but if you want to do it, you must prove yourself.
+Thankfully that item is too rare. I want somebody to slay the bandit leader, but if you want to do it, you must prove yourself.
+
+Thanks God... The crops are safe. Not only that, but the fertilizer works!
+Thanks God... The crops are safe. Not only that, but the fertilizer works!
+
+Thanks Lilica.
+Thanks Lilica.
+
+Thanks a lot for your help revealing the truth.
+Thanks a lot for your help revealing the truth.
+
+Thanks a lot!
+Thanks a lot!
+
+Thanks again for the help. You have proven that you are resourceful.
+Thanks again for the help. You have proven that you are resourceful.
+
+Thanks again for the help. You have proven that you are resourceful. Come back again later.
+Thanks again for the help. You have proven that you are resourceful. Come back again later.
+
+Thanks again for your investigations. It was a great help.
+Thanks again for your investigations. It was a great help.
+
+Thanks for Helping with clear out the store room!
+Thanks for Helping with clear out the store room!
+
+Thanks for all of your help!
+Thanks for all of your help!
+
+Thanks for attending even this selfish request of mine.
+Thanks for attending even this selfish request of mine.
+
+Thanks for attending my call. As you can clearly see, the town is deserted; We only have our own staff in this town.
+Thanks for attending my call. As you can clearly see, the town is deserted; We only have our own staff in this town.
+
+Thanks for avenging my father.
+Thanks for avenging my father.
+
+Thanks for donating blood. You can donate again in 30 days.
+Thanks for donating blood. You can donate again in 30 days.
+
+Thanks for feeding us earlier. I wanted to give a great dinner to my family, even if just once.
+Thanks for feeding us earlier. I wanted to give a great dinner to my family, even if just once.
+
+Thanks for help! Other guards may need help too!
+Thanks for help! Other guards may need help too!
+
+Thanks for helping me out! Here, take this bag. Now if you excuse me...
+Thanks for helping me out! Here, take this bag. Now if you excuse me...
+
+Thanks for helping me out. I know this is nothing, but please accept these herbs I've collected.
+Thanks for helping me out. I know this is nothing, but please accept these herbs I've collected.
+
+Thanks for helping me this month. Here is my card, just call me if you need.
+Thanks for helping me this month. Here is my card, just call me if you need.
+
+Thanks for helping my husband. I'll think if there's something I can do for you, why don't you help Oscar on the meanwhile...?
+Thanks for helping my husband. I'll think if there's something I can do for you, why don't you help Oscar on the meanwhile...?
+
+Thanks for helping my shop earlier. I forge weapons, but unfortunately, I need more than just iron to forge them.
+Thanks for helping my shop earlier. I forge weapons, but unfortunately, I need more than just iron to forge them.
+
+Thanks for helping my son. Here, take 300 GP for your troubles.
+Thanks for helping my son. Here, take 300 GP for your troubles.
+
+Thanks for helping my wife! Here is, an @@. May the Mouboo watch over you! o.o
+Thanks for helping my wife! Here is, an @@. May the Mouboo watch over you! o.o
+
+Thanks for helping my wife, I'll be forever grateful.
+Thanks for helping my wife, I'll be forever grateful.
+
+Thanks for helping out here. Do you need anything else?
+Thanks for helping out here. Do you need anything else?
+
+Thanks for helping us the last year. I hope to have your help by the next year.
+Thanks for helping us the last year. I hope to have your help by the next year.
+
+Thanks for helping!
+Thanks for helping!
+
+Thanks for listening to my rambles. I'll gift you a @@. Of course, having a wand won't give you magic...
+Thanks for listening to my rambles. I'll gift you a @@. Of course, having a wand won't give you magic...
+
+Thanks for playing with us! Can you find my friends?
+Thanks for playing with us! Can you find my friends?
+
+Thanks for playing!
+Thanks for playing!
+
+Thanks for saving Tulimshar from a famine. I'll be forever grateful.
+Thanks for saving Tulimshar from a famine. I'll be forever grateful.
+
+Thanks for saving me. I'll return home on my own, if you don't mind.
+Thanks for saving me. I'll return home on my own, if you don't mind.
+
+Thanks for the %s you gave me the other day.
+Thanks for the %s you gave me the other day.
+
+Thanks for the Silk Cocoons. With these the new books are going to be exquisite.
+Thanks for the Silk Cocoons. With these the new books are going to be exquisite.
+
+Thanks for the help earlier.
+Thanks for the help earlier.
+
+Thanks for the help earlier. Unfortunately, I had no luck yet.
+Thanks for the help earlier. Unfortunately, I had no luck yet.
+
+Thanks for the help!
+Thanks for the help!
+
+Thanks for the help! Arr, that was some fine ale, indeed!
+Thanks for the help! Arr, that was some fine ale, indeed!
+
+Thanks for the help! If you help people, they'll start trusting you. Once they trust you, they'll give you quests which are very important to them;
+Thanks for the help! If you help people, they'll start trusting you. Once they trust you, they'll give you quests which are very important to them;
+
+Thanks for the help! Yummy!
+Thanks for the help! Yummy!
+
+Thanks for the help, I guess...?
+Thanks for the help, I guess...?
+
+Thanks for the help, but no.
+Thanks for the help, but no.
+
+Thanks for the help.
+Thanks for the help.
+
+Thanks for the help. Here, take this shirt and some money.
+Thanks for the help. Here, take this shirt and some money.
+
+Thanks for the honestity, I guess.
+Thanks for the honestity, I guess.
+
+Thanks for the kindness, but you don't have enough. I need 5!
+Thanks for the kindness, but you don't have enough. I need 5!
+
+Thanks for the nice gift!
+Thanks for the nice gift!
+
+Thanks for the pages you brought. There are still some missing.
+Thanks for the pages you brought. There are still some missing.
+
+Thanks for travelling with Andrei Sakar to Artis! However, as you see, this town is deserted.
+Thanks for travelling with Andrei Sakar to Artis! However, as you see, this town is deserted.
+
+Thanks for using my services!
+Thanks for using my services!
+
+Thanks for vanishing the source of the curse.
+Thanks for vanishing the source of the curse.
+
+Thanks for your help with the inks! Now I'll be able to fulfill my tasks adequately. Some of these books were really valuable, and it's important to recreate them as good as possible.
+Thanks for your help with the inks! Now I'll be able to fulfill my tasks adequately. Some of these books were really valuable, and it's important to recreate them as good as possible.
+
+Thanks for your help!
+Thanks for your help!
+
+Thanks for your help, anyway.
+Thanks for your help, anyway.
+
+Thanks for your patronage! The rewards will be available with @@, in case I do find the paradise!
+Thanks for your patronage! The rewards will be available with @@, in case I do find the paradise!
+
+Thanks for your services, knight. One day, you might even deserve a seat at this castle.
+Thanks for your services, knight. One day, you might even deserve a seat at this castle.
+
+Thanks for your wise words.
+Thanks for your wise words.
+
+Thanks mate, that is everything I need! Have a good day!
+Thanks mate, that is everything I need! Have a good day!
+
+Thanks once again, I know it's not much but here is @@ GP for your troubles.
+Thanks once again, I know it's not much but here is @@ GP for your troubles.
+
+Thanks to pirate activity, dye has become more difficult to obtain lately.
+Thanks to pirate activity, dye has become more difficult to obtain lately.
+
+Thanks to this, we can now respawn after death. But that's when the prophecy was told. The prophecy... Of the death of all humans. It gives me shivers.
+Thanks to this, we can now respawn after death. But that's when the prophecy was told. The prophecy... Of the death of all humans. It gives me shivers.
+
+Thanks to you, lowly %s, we will soon have water we deserve!
+Thanks to you, lowly %s, we will soon have water we deserve!
+
+Thanks to you, my friend, we will soon have good water to drink.#0
+Thanks to you, my friend, we will soon have good water to drink.
+
+Thanks to you, my friend, we will soon have good water to drink.#1
+Thanks to you, my friend, we will soon have good water to drink.
+
+Thanks to you, our glue supply is replenished and we can repair those books.
+Thanks to you, our glue supply is replenished and we can repair those books.
+
+Thanks!
+Thanks!
+
+Thanks! Here you go. Perhaps you need another one?
+Thanks! Here you go. Perhaps you need another one?
+
+Thanks! Here you go. Perhaps you want another one?
+Thanks! Here you go. Perhaps you want another one?
+
+Thanks! Here's your dye. Do you want to trade any more?
+Thanks! Here's your dye. Do you want to trade any more?
+
+Thanks! I'll enjoy it! Here is the promised reward.
+Thanks! I'll enjoy it! Here is the promised reward.
+
+Thanks! I'll enjoy it! Here, you can keep this.
+Thanks! I'll enjoy it! Here, you can keep this.
+
+Thanks! Please come back in two hours, then I'll have the trousers ready.
+Thanks! Please come back in two hours, then I'll have the trousers ready.
+
+Thanks! Thanks! Savior! Hurry up!#0
+Thanks! Thanks! Savior! Hurry up!
+
+Thanks! Thanks! Savior! Hurry up!#1
+Thanks! Thanks! Savior! Hurry up!
+
+Thanks, @@. We just wanted to be sure it was you.
+Thanks, @@. We just wanted to be sure it was you.
+
+Thanks, I knew I could count on you!
+Thanks, I knew I could count on you!
+
+Thanks, I owe you one!
+Thanks, I owe you one!
+
+Thanks, I think I'll continue exploring.
+Thanks, I think I'll continue exploring.
+
+Thanks, I'll just bake the Elixir right away...!
+Thanks, I'll just bake the Elixir right away...!
+
+Thanks, and bye.
+Thanks, and bye.
+
+Thanks, come back and see me once you found the bug bomb and set it off.
+Thanks, come back and see me once you found the bug bomb and set it off.
+
+Thanks, enjoy your tea! I will certainly enjoy mine!
+Thanks, enjoy your tea! I will certainly enjoy mine!
+
+Thanks, gal!#0
+Thanks, gal!
+
+Thanks, here is your hat!
+Thanks, here is your hat!
+
+Thanks, my friend. Here's some money.#0
+Thanks, my friend. Here's some money.
+
+Thanks, my friend. Here's some money.#1
+Thanks, my friend. Here's some money.
+
+Thanks, my friend.#0
+Thanks, my friend.
+
+Thanks, my friend.#1
+Thanks, my friend.
+
+Thanks, my liege.
+Thanks, my liege.
+
+Thanks, pal!#1
+Thanks, pal!
+
+Thanks, pal. I still got some matters to discuss with the Blue Sage if you excuse me.
+Thanks, pal. I still got some matters to discuss with the Blue Sage if you excuse me.
+
+Thanks, pal. See you tomorrow.
+Thanks, pal. See you tomorrow.
+
+Thanks, please tell him I'll make his favorite dish. Oh, could you also deliver him this %s?
+Thanks, please tell him I'll make his favorite dish. Oh, could you also deliver him this %s?
+
+Thanks, they don't like to drop their Antennas.
+Thanks, they don't like to drop their Antennas.
+
+Thanks, they hate to drop their Legs.
+Thanks, they hate to drop their Legs.
+
+Thanks, this is very handy.
+Thanks, this is very handy.
+
+Thanks.
+Thanks.
+
+Thanks. A pleasure doing business with you.
+Thanks. A pleasure doing business with you.
+
+Thanks. Do you know the KALSPIKE magic? It allows you to summon Poison Spiky Mushroom. Just use a spore.
+Thanks. Do you know the KALSPIKE magic? It allows you to summon Poison Spiky Mushroom. Just use a spore.
+
+Thanks. I am willing to share you more magic, if you're interested.
+Thanks. I am willing to share you more magic, if you're interested.
+
+Thanks. I'm actually conducting experiments with scorpions. Please come back later.
+Thanks. I'm actually conducting experiments with scorpions. Please come back later.
+
+Thanks. It is my pleasure.
+Thanks. It is my pleasure.
+
+Thanks. Maybe I should stop using Maggot Slime as a bait.
+Thanks. Maybe I should stop using Maggot Slime as a bait.
+
+Thanks. Please come back later, there is something I want to do for you.
+Thanks. Please come back later, there is something I want to do for you.
+
+Thanks. Snakes seems promising indeed! Maybe they work where scorpions failed. If I succeed, I promise I'll teach you the spell. But for now...
+Thanks. Snakes seems promising indeed! Maybe they work where scorpions failed. If I succeed, I promise I'll teach you the spell. But for now...
+
+Thanks. Take this spare pair of gloves and some change.
+Thanks. Take this spare pair of gloves and some change.
+
+Thanks. You can go, now.
+Thanks. You can go, now.
+
+Thanks... I guess...
+Thanks... I guess...
+
+Thanks... I guess...#0
+Thanks... I guess...
+
+Thanks... I guess...#1
+Thanks... I guess...
+
+Thanksgiving
+Thanksgiving
+
+That annoying guy on the side of the tree is annoying. I want to ban him.
+That annoying guy on the side of the tree is annoying. I want to ban him.
+
+That aside, I see you've helped Hurnscald Mayor, Nivalis Mayor, Halinarzo Librarian and even the Alliance Representative in Tulimshar!
+That aside, I see you've helped Hurnscald Mayor, Nivalis Mayor, Halinarzo Librarian and even the Alliance Representative in Tulimshar!
+
+That being said, I'll give you an @@, which allows you to learn a skill even if you can't pay for it.
+That being said, I'll give you an @@, which allows you to learn a skill even if you can't pay for it.
+
+That can be done pressing F2 and opening char screen.
+That can be done pressing F2 and opening char screen.
+
+That can explain why we have difficulties to find rare gems here. They probably were already extracted.
+That can explain why we have difficulties to find rare gems here. They probably were already extracted.
+
+That depends on your luck!#0
+That depends on your luck!
+
+That depends on your luck!#1
+That depends on your luck!
+
+That didn't work!
+That didn't work!
+
+That indeed is true, you can see a pile of rusty knives on the nearby table.
+That indeed is true, you can see a pile of rusty knives on the nearby table.
+
+That is a pity...
+That is a pity...
+
+That is a rare, precious book, which writes itself!
+That is a rare, precious book, which writes itself!
+
+That is not how things are done here.
+That is not how things are done here.
+
+That is quite impressive, but you can perform better with more training.
+That is quite impressive, but you can perform better with more training.
+
+That is why I need your help. If you can 'take care of' a bunch of pious and bring me their feathers as proof, I will give you a reward.
+That is why I need your help. If you can 'take care of' a bunch of pious and bring me their feathers as proof, I will give you a reward.
+
+That is.
+That is.
+
+That lazy mayor... He can't do anything on his own!! Sure, what do you need?
+That lazy mayor... He can't do anything on his own!! Sure, what do you need?
+
+That rat... I already spent @@ @@ with him!!
+That rat... I already spent @@ @@ with him!!
+
+That reminds me. I have a friend in Nivalis named Miler who gave me some hints on the recipe. Would you take him a sample of what I gave you?
+That reminds me. I have a friend in Nivalis named Miler who gave me some hints on the recipe. Would you take him a sample of what I gave you?
+
+That she was one of the originals.
+That she was one of the originals.
+
+That she would stop the Soul Eater in past and future.
+That she would stop the Soul Eater in past and future.
+
+That shouldn't been too hard, but do I get something in return?
+That shouldn't been too hard, but do I get something in return?
+
+That skill was only to allow you to practice. Now listen well: Transmutation is ##BNOT##b crafting!
+That skill was only to allow you to practice. Now listen well: Transmutation is ##BNOT##b crafting!
+
+That was @@.
+That was @@.
+
+That was a Moubootaur's temple. It is not the kind of place to give a stroll on the park.
+That was a Moubootaur's temple. It is not the kind of place to give a stroll on the park.
+
+That was far @@.
+That was far @@.
+
+That was fast. Do not forget to sell their... parts... for some extra cash.
+That was fast. Do not forget to sell their... parts... for some extra cash.
+
+That was only to prove you're strong enough on yourself to do whatever you want to do. You have friends.
+That was only to prove you're strong enough on yourself to do whatever you want to do. You have friends.
+
+That was quite close. Impressive!
+That was quite close. Impressive!
+
+That will be %s GP. Are you sure?
+That will be %s GP. Are you sure?
+
+That will help you to make your very first first craft! Remember to use @@ to change which bonuses can be applied to your craft items.
+That will help you to make your very first first craft! Remember to use @@ to change which bonuses can be applied to your craft items.
+
+That won't do it. I want to see PINK BLOOD! No... not so cluttered. Just kill the Pinkies on my farm.
+That won't do it. I want to see PINK BLOOD! No... not so cluttered. Just kill the Pinkies on my farm.
+
+That works with most of monsters. Well, but we all know from @@ that it is better to stay put and let mobs kill us, right?
+That works with most of monsters. Well, but we all know from @@ that it is better to stay put and let mobs kill us, right?
+
+That would be your next destination, but first, the monster army must be driven out!
+That would be your next destination, but first, the monster army must be driven out!
+
+That wouldn't be fair to you, though. So, you don't need to defeat me.
+That wouldn't be fair to you, though. So, you don't need to defeat me.
+
+That'll be %s GP.
+That'll be %s GP.
+
+That'll cost you @@/@@ @@.
+That'll cost you @@/@@ @@.
+
+That's %d seconds better than your previous record!
+That's %d seconds better than your previous record!
+
+That's a *hic* precious item, and you're *hic* not nearly *hic* strong or worth enough to use it!
+That's a *hic* precious item, and you're *hic* not nearly *hic* strong or worth enough to use it!
+
+That's a Summon Magic. Unlike regular magic, you can increase its levels directly from skill menu (F5).
+That's a Summon Magic. Unlike regular magic, you can increase its levels directly from skill menu (F5).
+
+That's a lot, but I think it will be worth it.
+That's a lot, but I think it will be worth it.
+
+That's a lot, but we have a deal!
+That's a lot, but we have a deal!
+
+That's a pity.
+That's a pity.
+
+That's a pity. Well, if you change your mind, come back any time.
+That's a pity. Well, if you change your mind, come back any time.
+
+That's a really strange letter from Mr. Frozenheart.
+That's a really strange letter from Mr. Frozenheart.
+
+That's a super rare potion, and it expires after some time. Take care!
+That's a super rare potion, and it expires after some time. Take care!
+
+That's all, thanks!
+That's all, thanks!
+
+That's basically how democracy works. You are warranted to stay on the office until something goes gravely wrong.
+That's basically how democracy works. You are warranted to stay on the office until something goes gravely wrong.
+
+That's because you weren't paying attention!
+That's because you weren't paying attention!
+
+That's easy to know, because the bandits are less coordinated. Perhaps we will be able to sleep in peace this night!
+That's easy to know, because the bandits are less coordinated. Perhaps we will be able to sleep in peace this night!
+
+That's easy. Cynric will save your money when you ask him to deposit. Or you pick up your money by asking to withdraw.
+That's easy. Cynric will save your money when you ask him to deposit. Or you pick up your money by asking to withdraw.
+
+That's everything I wanted to know.
+That's everything I wanted to know.
+
+That's exactly what I needed!
+That's exactly what I needed!
+
+That's exactly why you can't use it to get water. Silly.
+That's exactly why you can't use it to get water. Silly.
+
+That's how this world inhabitants deal with cheaters... So don't be one, my friend. You have been warned!
+That's how this world inhabitants deal with cheaters... So don't be one, my friend. You have been warned!
+
+That's just a friendly advise. That's how things works around here.
+That's just a friendly advise. That's how things works around here.
+
+That's just nonsense though, I've been there thousands of times and saw no such thing.
+That's just nonsense though, I've been there thousands of times and saw no such thing.
+
+That's nice, but... I don't have a recipe book.
+That's nice, but... I don't have a recipe book.
+
+That's none of your bussiness! We should leave here NOW!
+That's none of your bussiness! We should leave here NOW!
+
+That's not *hic*... That's not what I asked you for...
+That's not *hic*... That's not what I asked you for...
+
+That's not a couple of skins.
+That's not a couple of skins.
+
+That's not everything, though. I am having a bad time fishing. Bring me a @@. I know, it is rare. Good luck with it.
+That's not everything, though. I am having a bad time fishing. Bring me a @@. I know, it is rare. Good luck with it.
+
+That's obviously impossible, so I'll voiding your result!
+That's obviously impossible, so I'll voiding your result!
+
+That's ok, kid... I can't read, anyway.
+That's ok, kid... I can't read, anyway.
+
+That's right, this is unheard of where I come from.
+That's right, this is unheard of where I come from.
+
+That's right.
+That's right.
+
+That's rude. I never did anything to you.
+That's rude. I never did anything to you.
+
+That's sad to hear.
+That's sad to hear.
+
+That's some good white for you've got here!
+That's some good white for you've got here!
+
+That's terrible! Monsters are piling up near city gates! We need to stop their progression.
+That's terrible! Monsters are piling up near city gates! We need to stop their progression.
+
+That's the Blub Song
+That's the Blub Song
+
+That's the right wood, my son. Here, I'll wrap it so you don't accidentaly lose it. Good luck with your quest!#0
+That's the right wood, my son. Here, I'll wrap it so you don't accidentaly lose it. Good luck with your quest!
+
+That's the right wood, my son. Here, I'll wrap it so you don't accidentaly lose it. Good luck with your quest!#1
+That's the right wood, my son. Here, I'll wrap it so you don't accidentaly lose it. Good luck with your quest!
+
+That's too bad, because I could teach you some amazing craft skills! This will need to wait another day, I guess. Oh well.
+That's too bad, because I could teach you some amazing craft skills! This will need to wait another day, I guess. Oh well.
+
+That's very, very risky. I need @@ @@ and @@ @@ to make a Potion to you, and I won't warrant it will work.
+That's very, very risky. I need @@ @@ and @@ @@ to make a Potion to you, and I won't warrant it will work.
+
+That's why I'm really confused about this situation, since he was the one performing the sealing of the slimes. I wonder what went wrong.
+That's why I'm really confused about this situation, since he was the one performing the sealing of the slimes. I wonder what went wrong.
+
+That's why we must stop... THEM... at any costs. I don't know what they're plotting, but it is not in this world inhabitants best interests... nor any other world.
+That's why we must stop... THEM... at any costs. I don't know what they're plotting, but it is not in this world inhabitants best interests... nor any other world.
+
+That's your answer. Cindy is not a mage, right? This means some mage has bewitched the Yetis to do so, and if my parallel theory is correct, they're either aiming at the Blue Sage, or at her father.
+That's your answer. Cindy is not a mage, right? This means some mage has bewitched the Yetis to do so, and if my parallel theory is correct, they're either aiming at the Blue Sage, or at her father.
+
+That... Didn't work. I'm sorry.
+That... Didn't work. I'm sorry.
+
+That... It... It worked! This is just the right claw!
+That... It... It worked! This is just the right claw!
+
+The %s shines with a strange light...
+The %s shines with a strange light...
+
+The %s wasn't ready yet and you lost it...
+The %s wasn't ready yet and you lost it...
+
+The %s, yes. I have it. It is a legendary weapon, only one of it exist on the world.
+The %s, yes. I have it. It is a legendary weapon, only one of it exist on the world.
+
+The %ss are growing and disturbing the already rather infertile desert soil, preventing our crops from growing.
+The %ss are growing and disturbing the already rather infertile desert soil, preventing our crops from growing.
+
+The %ss are the cause for all the little maggots to appear, so we need you to stop the problem at the source.
+The %ss are the cause for all the little maggots to appear, so we need you to stop the problem at the source.
+
+The %ss have been multiplying, crawling from the cave into the magic school, causing damage.
+The %ss have been multiplying, crawling from the cave into the magic school, causing damage.
+
+The %ss have been reproducing rapidly and their natural habitat, our Croconut trees, are being damaged by the excessive number of them.
+The %ss have been reproducing rapidly and their natural habitat, our Croconut trees, are being damaged by the excessive number of them.
+
+The @@ I told you to kill are usually at the beach.
+The @@ I told you to kill are usually at the beach.
+
+The @@ are specially dangerous, and archers love them.
+The @@ are specially dangerous, and archers love them.
+
+The @@ is a powerful healing drink.
+The @@ is a powerful healing drink.
+
+The @@ is not only a fearsome and ruthless leader. He is strong, and he have tricks on his sleeve.
+The @@ is not only a fearsome and ruthless leader. He is strong, and he have tricks on his sleeve.
+
+The @@ quest is disabled during Christmas event.
+The @@ quest is disabled during Christmas event.
+
+The @@ quest is disabled during Easter event.
+The @@ quest is disabled during Easter event.
+
+The @@ stole my @@. Hahah. I can't find anywhere else to buy it.
+The @@ stole my @@. Hahah. I can't find anywhere else to buy it.
+
+The @@ tab allows yeye to talk on Discord, too! Yayaya, fancy, uh?
+The @@ tab allows yeye to talk on Discord, too! Yayaya, fancy, uh?
+
+The Academy Island is situated east of Land of Fire Village.
+The Academy Island is situated east of Land of Fire Village.
+
+The Alliance
+The Alliance
+
+The Alliance Advanced Outposts are closed for maintenance. Group in front of the town entrance!
+The Alliance Advanced Outposts are closed for maintenance. Group in front of the town entrance!
+
+The Alliance Advanced Outposts have been abandoned and locked after the Liberation day.
+The Alliance Advanced Outposts have been abandoned and locked after the Liberation day.
+
+The Alliance Council rarely meets. It's thanks to them that the cities are well protected, if you want my opinion.
+The Alliance Council rarely meets. It's thanks to them that the cities are well protected, if you want my opinion.
+
+The Alliance can help you in finding out about who you are, why you are here, or from where you came from. So, about the tasks I want completed.
+The Alliance can help you in finding out about who you are, why you are here, or from where you came from. So, about the tasks I want completed.
+
+The Alliance have records of everyone. And if you need another trip, talk to me!
+The Alliance have records of everyone. And if you need another trip, talk to me!
+
+The Alliance says that @@ monsters have been slain since Hurnscald Siege!
+The Alliance says that @@ monsters have been slain since Hurnscald Siege!
+
+The Alliance which was formed after the war!
+The Alliance which was formed after the war!
+
+The Arena is currently closed for maintenance.
+The Arena is currently closed for maintenance.
+
+The Blue Sage
+The Blue Sage
+
+The Blue Sage is Nivalis Mayor and very knowledgeable on stuff. Lemme write a letter of recommendation for you and sign it in Rakinorf's stead...
+The Blue Sage is Nivalis Mayor and very knowledgeable on stuff. Lemme write a letter of recommendation for you and sign it in Rakinorf's stead...
+
+The Book of Laws
+The Book of Laws
+
+The Cave Of Trials, and the Soren's Village... There's only one thing left.
+The Cave Of Trials, and the Soren's Village... There's only one thing left.
+
+The Civil War is one of the stuff which nearly everyone forgot about.
+The Civil War is one of the stuff which nearly everyone forgot about.
+
+The Council is not in session, it has dispersed since Andrei Sakar went to an expedition to Artis. However, it was decided to allow others inside.
+The Council is not in session, it has dispersed since Andrei Sakar went to an expedition to Artis. However, it was decided to allow others inside.
+
+The Council of Elders has enlisted ducks of our island into a militia. In addition, the masters of the Duck Side have seen fit to spare %d Duck initiates to assist us.
+The Council of Elders has enlisted ducks of our island into a militia. In addition, the masters of the Duck Side have seen fit to spare %d Duck initiates to assist us.
+
+The Deluxe Storage is available only to our best customers, and how lucky you! YOU are eligible!
+The Deluxe Storage is available only to our best customers, and how lucky you! YOU are eligible!
+
+The Doctor
+The Doctor
+
+The Doctor sent you some tea.
+The Doctor sent you some tea.
+
+The Doppelganger Challenge will create a Gladiator Monster which should somehow emulate a PvP experience.
+The Doppelganger Challenge will create a Gladiator Monster which should somehow emulate a PvP experience.
+
+The Enchanted Forest is now open to visitors!
+The Enchanted Forest is now open to visitors!
+
+The Fafi Dragon are really really bad guys. I don't know how they came here, as they're not from the Lands Of Fire, nor from Mana World.
+The Fafi Dragon are really really bad guys. I don't know how they came here, as they're not from the Lands Of Fire, nor from Mana World.
+
+The Fafi knows you are here to kill him. They are smart. But I can make a trap.
+The Fafi knows you are here to kill him. They are smart. But I can make a trap.
+
+The Fifth Act
+The Fifth Act
+
+The Final Act
+The Final Act
+
+The First Act
+The First Act
+
+The Forest
+The Forest
+
+The Fortress Island is a terribly dangerous place, so the Alliance sent a scout party beforehand, and set up a tower in front of an... erm... Very disturbing walled place we found.
+The Fortress Island is a terribly dangerous place, so the Alliance sent a scout party beforehand, and set up a tower in front of an... erm... Very disturbing walled place we found.
+
+The Fourth Act
+The Fourth Act
+
+The Game Masters are assembling a party to storm Hurnscald and liberate it. You should try joining it!
+The Game Masters are assembling a party to storm Hurnscald and liberate it. You should try joining it!
+
+The Great Over 100 Hunt
+The Great Over 100 Hunt
+
+The Great Ranged Hunt
+The Great Ranged Hunt
+
+The Great Slime Hunt
+The Great Slime Hunt
+
+The Guard House
+The Guard House
+
+The Guard patted you on the back.
+The Guard patted you on the back.
+
+The Guard sends an air kiss to you.
+The Guard sends an air kiss to you.
+
+The Heroes Hold is divided in seven dungeons level: Novice, Intermediary, Advanced, Expert, Master, Ultimate and Supreme.
+The Heroes Hold is divided in seven dungeons level: Novice, Intermediary, Advanced, Expert, Master, Ultimate and Supreme.
+
+The High Council acts in the Alliance stead, as it is not possible to reunite every city leader for all minor matters.
+The High Council acts in the Alliance stead, as it is not possible to reunite every city leader for all minor matters.
+
+The High Council is now on session, you were forced to leave the meeting chamber.
+The High Council is now on session, you were forced to leave the meeting chamber.
+
+The High Council's have some subordinates, but those are hand-picked by them.
+The High Council's have some subordinates, but those are hand-picked by them.
+
+The International Worker Day is a traditional celebration,
+The International Worker Day is a traditional celebration,
+
+The La Johanne always have interesting notes.
+The La Johanne always have interesting notes.
+
+The Land Of Fire Village was the result from the collapse of two worlds. It is a huge village.
+The Land Of Fire Village was the result from the collapse of two worlds. It is a huge village.
+
+The Loyalists
+The Loyalists
+
+The MVP is the player who did more damage to the boss.
+The MVP is the player who did more damage to the boss.
+
+The Magic Academy System is responsible for learning most skills ingame. For that, you need two things: Magic Skill Points and a reagent.
+The Magic Academy System is responsible for learning most skills ingame. For that, you need two things: Magic Skill Points and a reagent.
+
+The Magic Council can be found at this city. They are the most powerful mages. If you have an impressive magical affinity, they may entitle you to have access to a Mana Stone.
+The Magic Council can be found at this city. They are the most powerful mages. If you have an impressive magical affinity, they may entitle you to have access to a Mana Stone.
+
+The Magic Olympics are held by the Academy Grand Masters roughly quarterly, and allow the brightest mages to acquire scholarships at the Magic Academy.
+The Magic Olympics are held by the Academy Grand Masters roughly quarterly, and allow the brightest mages to acquire scholarships at the Magic Academy.
+
+The Magic Olympics consist in twelve challenges with scoreboards.
+The Magic Olympics consist in twelve challenges with scoreboards.
+
+The Magic Olympics happen roughly quarterly, but not always at the same dates. It begins on a monday and ends on the sunday. It usually happens two weeks after the Mining Union Research Request event.
+The Magic Olympics happen roughly quarterly, but not always at the same dates. It begins on a monday and ends on the sunday. It usually happens two weeks after the Mining Union Research Request event.
+
+The Magical Seal which protects the final room is too strong.
+The Magical Seal which protects the final room is too strong.
+
+The Mana Guardian,
+The Mana Guardian,
+
+The Mana Plane is currently out of reach.
+The Mana Plane is currently out of reach.
+
+The Mana Source
+The Mana Source
+
+The Mana Source, supreme guardian of the world itself, has already took providences.
+The Mana Source, supreme guardian of the world itself, has already took providences.
+
+The Mana Stone
+The Mana Stone
+
+The Mana Stone... is a scary being. It changes you. I'm no longer myself, but some thieves are still at my side... for now.
+The Mana Stone... is a scary being. It changes you. I'm no longer myself, but some thieves are still at my side... for now.
+
+The Mana Stones were stolen, in evil hands have fallen!
+The Mana Stones were stolen, in evil hands have fallen!
+
+The Mana Sword
+The Mana Sword
+
+The Mana Sword, Lightbringer?
+The Mana Sword, Lightbringer?
+
+The Market
+The Market
+
+The Miners Union is trying to research this powder.
+The Miners Union is trying to research this powder.
+
+The Monster Army appears to be in complete disarray, sieges are much less frequent.
+The Monster Army appears to be in complete disarray, sieges are much less frequent.
+
+The Monster Army is currently sieging Tulimshar. There are hundreds of dangerous monsters out there right now.
+The Monster Army is currently sieging Tulimshar. There are hundreds of dangerous monsters out there right now.
+
+The Monster Army is in complete disarray, sieges are much less frequent.
+The Monster Army is in complete disarray, sieges are much less frequent.
+
+The Monster King
+The Monster King
+
+The Monster King Army has occupied several towns!
+The Monster King Army has occupied several towns!
+
+The Monster King Army is attacking towns at random, but players already reduced their organization to @@ %%!
+The Monster King Army is attacking towns at random, but players already reduced their organization to @@ %%!
+
+The Monster King Army is making siege at towns randomly!
+The Monster King Army is making siege at towns randomly!
+
+The Monster King Army is occupying several towns! Brave players need to group and retake them!
+The Monster King Army is occupying several towns! Brave players need to group and retake them!
+
+The Monster King Army left the cities! What will happen next? Anxiety grows!
+The Monster King Army left the cities! What will happen next? Anxiety grows!
+
+The Monster King Lair is not in a impregnable mountain, but in a small island now!!
+The Monster King Lair is not in a impregnable mountain, but in a small island now!!
+
+The Monster King has managed to take hold of Nivalis and Hurnscald; Travel to Frostia and Halinarzo has also been made difficult.
+The Monster King has managed to take hold of Nivalis and Hurnscald; Travel to Frostia and Halinarzo has also been made difficult.
+
+The Monster King is on the move!
+The Monster King is on the move!
+
+The Monster King is scary. To be honest, I'm not sure I would be able to do anything if he showed up.
+The Monster King is scary. To be honest, I'm not sure I would be able to do anything if he showed up.
+
+The Monster King is sending their armies to attack towns with a seemingly random pattern.
+The Monster King is sending their armies to attack towns with a seemingly random pattern.
+
+The Monster King once again eluded us. How long has it been? His minions are laying waste to all towns, Saul has been killed, Raid has been wounded.
+The Monster King once again eluded us. How long has it been? His minions are laying waste to all towns, Saul has been killed, Raid has been wounded.
+
+The Monster King was so powerful! It is impossible to recover the artifact now, and everyone will die!
+The Monster King was so powerful! It is impossible to recover the artifact now, and everyone will die!
+
+The Monster King#NLib
+The Monster King#NLib
+
+The Monster King.
+The Monster King.
+
+The Monster War broke out on the very last day of the Mana War. A high council of Tulimshar had set a fortress and storage towers in the canyon, and a few populists went to war.
+The Monster War broke out on the very last day of the Mana War. A high council of Tulimshar had set a fortress and storage towers in the canyon, and a few populists went to war.
+
+The Mouboo doesn't want to drink the Coffee. Try to force it to drink anyway?
+The Mouboo doesn't want to drink the Coffee. Try to force it to drink anyway?
+
+The Mouboo is lying down on the grass.
+The Mouboo is lying down on the grass.
+
+The Mouboo seems to be lying in pain.
+The Mouboo seems to be lying in pain.
+
+The Moubootaur
+The Moubootaur
+
+The Moubootaur is evil. Defeat him and protect the world. Now...
+The Moubootaur is evil. Defeat him and protect the world. Now...
+
+The Moubootaur is the final opponent.
+The Moubootaur is the final opponent.
+
+The Pet Caring Guild will collect them after a while, and capture many others.
+The Pet Caring Guild will collect them after a while, and capture many others.
+
+The Premium Storage is available to all our sponsors and anyone with... references. Such as yourself!
+The Premium Storage is available to all our sponsors and anyone with... references. Such as yourself!
+
+The Premium and Deluxe Storages are only available for characters which were reborn at least once.
+The Premium and Deluxe Storages are only available for characters which were reborn at least once.
+
+The Professor is so wise that even if you fall asleep while listening to his invisible speech, you'll still learn!!
+The Professor is so wise that even if you fall asleep while listening to his invisible speech, you'll still learn!!
+
+The Professor? Wait, THE Professor? As in, the wisest person on Tulimshar?
+The Professor? Wait, THE Professor? As in, the wisest person on Tulimshar?
+
+The Queen's Party?
+The Queen's Party?
+
+The Red Queen was murdered, but her supporters prolonged the Civil War for at least six years after her death. The grudges were strong back then...
+The Red Queen was murdered, but her supporters prolonged the Civil War for at least six years after her death. The grudges were strong back then...
+
+The Red Queen's Party?
+The Red Queen's Party?
+
+The Regnum Blessing causes all monsters in an area
+The Regnum Blessing causes all monsters in an area
+
+The Second Act
+The Second Act
+
+The Self-Serving Ice Well!
+The Self-Serving Ice Well!
+
+The Shadow Tortuga won the race against the Panthom Lord.
+The Shadow Tortuga won the race against the Panthom Lord.
+
+The Soul Menhir will attach your soul, so when you die, you'll appear where you last touched it.
+The Soul Menhir will attach your soul, so when you die, you'll appear where you last touched it.
+
+The Story of Dimonds Cove
+The Story of Dimonds Cove
+
+The Strike Back Is Upon Us!
+The Strike Back Is Upon Us!
+
+The Supreme and Ultimate floors are just a WIP bonus. So if you don't find them on the five and report back, that'll do.
+The Supreme and Ultimate floors are just a WIP bonus. So if you don't find them on the five and report back, that'll do.
+
+The Team For A Better PvP says that @@ players were killed in fair matches!
+The Team For A Better PvP says that @@ players were killed in fair matches!
+
+The Third Act
+The Third Act
+
+The Throne Room is the last room. You can reactive any switch which turns itself off.
+The Throne Room is the last room. You can reactive any switch which turns itself off.
+
+The Tulimshar guards needs an freelance employee who would help us with our work. We are searching for people like you.
+The Tulimshar guards needs an freelance employee who would help us with our work. We are searching for people like you.
+
+The Wildlife
+The Wildlife
+
+The World Edge, which is where we are, is a holy land, the place where all began and all shall perish. Which is why after the World's Heart was broken, it was vowed to never make a settlement here ever again.
+The World Edge, which is where we are, is a holy land, the place where all began and all shall perish. Which is why after the World's Heart was broken, it was vowed to never make a settlement here ever again.
+
+The World's Heart is at World's Edge. The *real* Ancient Families are the ones who broke it in parts and brought it to each town.
+The World's Heart is at World's Edge. The *real* Ancient Families are the ones who broke it in parts and brought it to each town.
+
+The World's Heart was shattered by the Ancient Families to serve as Soul Menhirs on the world, and this allows respawning after death, but at a cost.
+The World's Heart was shattered by the Ancient Families to serve as Soul Menhirs on the world, and this allows respawning after death, but at a cost.
+
+The Yeti King
+The Yeti King
+
+The Yetifly drops you off the cliff. Good job, noob.
+The Yetifly drops you off the cliff. Good job, noob.
+
+The absolute hero: %s
+The absolute hero: %s
+
+The account with highest votes will win. Ties will be solved by randomness.
+The account with highest votes will win. Ties will be solved by randomness.
+
+The accounts need 15 days to set Pin Codes.
+The accounts need 15 days to set Pin Codes.
+
+The accurate hero: %s
+The accurate hero: %s
+
+The advantage of fighting with a ranged weapon is that you can stay out of the enemy's range. So there is no need to spend training on your resistance.
+The advantage of fighting with a ranged weapon is that you can stay out of the enemy's range. So there is no need to spend training on your resistance.
+
+The aegis, entrusted to the tree,
+The aegis, entrusted to the tree,
+
+The alliance also have a special program, called ##BGrand Hunter Quest##b, where you kill 10,000 of a monster and get great rewards.
+The alliance also have a special program, called ##BGrand Hunter Quest##b, where you kill 10,000 of a monster and get great rewards.
+
+The alliance will take %s GP as fee, +%d%% tax over donations.
+The alliance will take %s GP as fee, +%d%% tax over donations.
+
+The answers might need to have whitespaces. DO NOT, BY ALL MEANS, insert two whitespaces instead of one.
+The answers might need to have whitespaces. DO NOT, BY ALL MEANS, insert two whitespaces instead of one.
+
+The antennas by themselves mean nothing, I want to see you killing my ENEMIES, the pinkies!
+The antennas by themselves mean nothing, I want to see you killing my ENEMIES, the pinkies!
+
+The average player level is @@
+The average player level is @@
+
+The axe, returned to its owner,
+The axe, returned to its owner,
+
+The bad one, is that you'll have to guide yourself without the map.
+The bad one, is that you'll have to guide yourself without the map.
+
+The bank and item storage is shared between all characters within a same account.
+The bank and item storage is shared between all characters within a same account.
+
+The best thing would be to let you make the bow by yourself. But I guess, that would go to far. And it would take ages to get a high quality bow.
+The best thing would be to let you make the bow by yourself. But I guess, that would go to far. And it would take ages to get a high quality bow.
+
+The best wares!
+The best wares!
+
+The big one without hat
+The big one without hat
+
+The biggest mine, where you could find Mana Stones in the past, is now entirely depleted. Not a single stone left.
+The biggest mine, where you could find Mana Stones in the past, is now entirely depleted. Not a single stone left.
+
+The birthday of me and my girlfriend is coming up. Bring me 12 @@ and I'll make the fertilizer for you.
+The birthday of me and my girlfriend is coming up. Bring me 12 @@ and I'll make the fertilizer for you.
+
+The blame of failure will be over you, but so will be the glory of success. There's no death penalty for others.
+The blame of failure will be over you, but so will be the glory of success. There's no death penalty for others.
+
+The boss can blind players. Blind will reduce hit rate and evasion in 25%.
+The boss can blind players. Blind will reduce hit rate and evasion in 25%.
+
+The boss you discovered has ran away!
+The boss you discovered has ran away!
+
+The bottom-most the water, the better the bonus.
+The bottom-most the water, the better the bonus.
+
+The bow I gave you was a masterpiece.
+The bow I gave you was a masterpiece.
+
+The bugs there can be pretty vicious. Do you know what's worse though? Lag.
+The bugs there can be pretty vicious. Do you know what's worse though? Lag.
+
+The chant is ##B EMOC OTEM ITEY GNIK ##b. Good luck!
+The chant is ##B EMOC OTEM ITEY GNIK ##b. Good luck!
+
+The chant must be exact, without any prefix or suffix.
+The chant must be exact, without any prefix or suffix.
+
+The chest is unlocked and empty.
+The chest is unlocked and empty.
+
+The children are safe, aren't they...?
+The children are safe, aren't they...?
+
+The children are safe, could you rent me your sword?
+The children are safe, could you rent me your sword?
+
+The city guard won't need help from strangers anymore.
+The city guard won't need help from strangers anymore.
+
+The city is still under repairs, but town square is safe already.
+The city is still under repairs, but town square is safe already.
+
+The city only flourished because Janett Platinum had the idea to build city walls surrounding this city.
+The city only flourished because Janett Platinum had the idea to build city walls surrounding this city.
+
+The city was defended with success! GG, everyone!
+The city was defended with success! GG, everyone!
+
+The clan will end on this generation. And hopefully, the world will survive longer, things aren't looking well right now.
+The clan will end on this generation. And hopefully, the world will survive longer, things aren't looking well right now.
+
+The cold climate is ideal for slimes, penguins, and other icy creatures. You can find lots of... ice, of course!
+The cold climate is ideal for slimes, penguins, and other icy creatures. You can find lots of... ice, of course!
+
+The cooking contest is coming up, and I don't want to lose to @@... Halinarzo's cook is just THAT good.
+The cooking contest is coming up, and I don't want to lose to @@... Halinarzo's cook is just THAT good.
+
+The cost for Guild Vault is @@ GP.
+The cost for Guild Vault is @@ GP.
+
+The cost to create a guild is @@ GP.
+The cost to create a guild is @@ GP.
+
+The council, however, supported the premier. He might have accepted the death sentence quietly, but the council would hear none of it. Benjamin took over and incited a civil war.
+The council, however, supported the premier. He might have accepted the death sentence quietly, but the council would hear none of it. Benjamin took over and incited a civil war.
+
+The crops are under attack? That's terrible!
+The crops are under attack? That's terrible!
+
+The crops have failed again but the government keeps wasting money on research, for what purposes, as if I would know.
+The crops have failed again but the government keeps wasting money on research, for what purposes, as if I would know.
+
+The crow took off to his last flight.
+The crow took off to his last flight.
+
+The crystal has a shard missing.
+The crystal has a shard missing.
+
+The crystal looks damaged.
+The crystal looks damaged.
+
+The current town administrator will be inscribed for re-election automatically.
+The current town administrator will be inscribed for re-election automatically.
+
+The curse was done by nobody less than... the Moubootaur.
+The curse was done by nobody less than... the Moubootaur.
+
+The desert climate means you'll find mostly maggots and scorpions. Their drops include cactus drinks, cake, knifes, black pearls, gold, and other common things.
+The desert climate means you'll find mostly maggots and scorpions. Their drops include cactus drinks, cake, knifes, black pearls, gold, and other common things.
+
+The doctor quickly analyzes you with some tool. Which looks like a screwdriver? Probably just a generic scanner, though.
+The doctor quickly analyzes you with some tool. Which looks like a screwdriver? Probably just a generic scanner, though.
+
+The doctor raises an eyebrow at you.
+The doctor raises an eyebrow at you.
+
+The doctor told me to move here after I got tuberculosis... But I like Tulimshar so much! Please bring me Tulimshar souvenirs, I'll pay you well!
+The doctor told me to move here after I got tuberculosis... But I like Tulimshar so much! Please bring me Tulimshar souvenirs, I'll pay you well!
+
+The door is locked
+The door is locked
+
+The door is locked!
+The door is locked!
+
+The door is locked, I should come back later.
+The door is locked, I should come back later.
+
+The door is locked, you should speak to Carla about it.
+The door is locked, you should speak to Carla about it.
+
+The door is locked.
+The door is locked.
+
+The door is password-protected, so your friends can enter but strangers stay outside.
+The door is password-protected, so your friends can enter but strangers stay outside.
+
+The door is sealed. The riddle says: “I drink, I become, I am. Don't say my name, but say why you know me. For, I am the best in the world.â€
+The door is sealed. The riddle says: “I drink, I become, I am. Don't say my name, but say why you know me. For, I am the best in the world.â€
+
+The door won't budge.
+The door won't budge.
+
+The dream towers have shown up. They have several floors filled with treasure and dangerous monsters.
+The dream towers have shown up. They have several floors filled with treasure and dangerous monsters.
+
+The dyes are to disguise myself, I don't want to get caught. The potions are for safety, who knows what I'll face?
+The dyes are to disguise myself, I don't want to get caught. The potions are for safety, who knows what I'll face?
+
+The east power system is offline.
+The east power system is offline.
+
+The effect in this case is based on the element.
+The effect in this case is based on the element.
+
+The effects and uses - if any - are still unknown.
+The effects and uses - if any - are still unknown.
+
+The elements have alternate names, like "soil" which equals to "earth".
+The elements have alternate names, like "soil" which equals to "earth".
+
+The elf seems busy. He ignores you.
+The elf seems busy. He ignores you.
+
+The elf seems busy. She ignores you.
+The elf seems busy. She ignores you.
+
+The engine of fate will once again move!
+The engine of fate will once again move!
+
+The event is over!
+The event is over!
+
+The event starts hourly, when the minute clock hits zero. I'll tell everyone on this room when it starts and ends.
+The event starts hourly, when the minute clock hits zero. I'll tell everyone on this room when it starts and ends.
+
+The farmer seems mad and in need of help. Will you help him?
+The farmer seems mad and in need of help. Will you help him?
+
+The farther you go on the sequence, the better the payout!
+The farther you go on the sequence, the better the payout!
+
+The fee only need to be paid once and will work in every town.
+The fee only need to be paid once and will work in every town.
+
+The fee to use this room is %s GP.
+The fee to use this room is %s GP.
+
+The fertile climate is ideal for mushrooms. You can also find lots of wood.
+The fertile climate is ideal for mushrooms. You can also find lots of wood.
+
+The final sentence still belongs to LoF Admins.
+The final sentence still belongs to LoF Admins.
+
+The first job,
+The first job,
+
+The first one is easy.
+The first one is easy.
+
+The first page contains the universal rules that have been agreed upon throughout the land.
+The first page contains the universal rules that have been agreed upon throughout the land.
+
+The first stage is on the desert canyons. You must give a full circle on the canyon in 90 seconds.
+The first stage is on the desert canyons. You must give a full circle on the canyon in 90 seconds.
+
+The first way,
+The first way,
+
+The fishing rod allows a quick income by selling fishes. However, reaching the fisherman might require some exploration... The whole world is full of secrets.
+The fishing rod allows a quick income by selling fishes. However, reaching the fisherman might require some exploration... The whole world is full of secrets.
+
+The following skill is needed: %s%s (Lv. %d)
+The following skill is needed: %s%s (Lv. %d)
+
+The fortress hero: %s
+The fortress hero: %s
+
+The frontier hero: %s
+The frontier hero: %s
+
+The gates are firmly shut by some weird magical power. %s
+The gates are firmly shut by some weird magical power. %s
+
+The gates are firmly shut, no amount of force will break them.
+The gates are firmly shut, no amount of force will break them.
+
+The gates are firmly shut. A warning is on the door, "DO NOT ENTER. Guild Only."
+The gates are firmly shut. A warning is on the door, "DO NOT ENTER. Guild Only."
+
+The gates to Aethyr have opened themselves to you.
+The gates to Aethyr have opened themselves to you.
+
+The giant boogeyman!
+The giant boogeyman!
+
+The girl turns around and you hear her sniffing, she is probably crying...
+The girl turns around and you hear her sniffing, she is probably crying...
+
+The goal is simple - I'll spawn an energy ball and you must kill it quickly. You'll be disqualified if you equip a non-magical weapon at any time.
+The goal is simple - I'll spawn an energy ball and you must kill it quickly. You'll be disqualified if you equip a non-magical weapon at any time.
+
+The good one, is that now I know the right path.
+The good one, is that now I know the right path.
+
+The grand winner will get a %s. Both the first and second place will get a tuition at the Magic Academy.
+The grand winner will get a %s. Both the first and second place will get a tuition at the Magic Academy.
+
+The great fire did very few causalities, but it destroyed a lot of infrastructure and ruined the economy. Famine and chaos ensued, we almost were wiped out back then. Maybe it would be best if we had indeed been wiped out...
+The great fire did very few causalities, but it destroyed a lot of infrastructure and ruined the economy. Famine and chaos ensued, we almost were wiped out back then. Maybe it would be best if we had indeed been wiped out...
+
+The great prize is @@.
+The great prize is @@.
+
+The great prize is to unlock a pet!
+The great prize is to unlock a pet!
+
+The greater the distance to your target is, the more important is the strength and direction of the wind. Even if you are exploring a cave, there might be air flow caused by the corners in the cave.
+The greater the distance to your target is, the more important is the strength and direction of the wind. Even if you are exploring a cave, there might be air flow caused by the corners in the cave.
+
+The group of warriors which went into the cave to rescue my precious Cindy still haven't returned... I'm worried with them, too...
+The group of warriors which went into the cave to rescue my precious Cindy still haven't returned... I'm worried with them, too...
+
+The guard eyes you with suspcion.
+The guard eyes you with suspcion.
+
+The guild's "%s" currently contribute with %02d%% EXP.
+The guild's "%s" currently contribute with %02d%% EXP.
+
+The harsh pinkie holds secrets,
+The harsh pinkie holds secrets,
+
+The heroes met their rest.
+The heroes met their rest.
+
+The hooded man was about to deliver me a final blow, but then he saw the Apple I've stole...
+The hooded man was about to deliver me a final blow, but then he saw the Apple I've stole...
+
+The house is a mess. They need me here. Also.
+The house is a mess. They need me here. Also.
+
+The hut is... empty. And it doesn't have a fireplace, either.
+The hut is... empty. And it doesn't have a fireplace, either.
+
+The innominable they shall face
+The innominable they shall face
+
+The item impact suggests jumping inside should be safe if you have enough life.
+The item impact suggests jumping inside should be safe if you have enough life.
+
+The item impact suggests jumping inside will leave you badly wounded.
+The item impact suggests jumping inside will leave you badly wounded.
+
+The item impact suggests you don't have enough vitality to jump inside.
+The item impact suggests you don't have enough vitality to jump inside.
+
+The item must have a previous bonus, which WILL BE LOST!
+The item must have a previous bonus, which WILL BE LOST!
+
+The item will be lost forever!
+The item will be lost forever!
+
+The item will be lost forever.
+The item will be lost forever.
+
+The key is on the sewer %s path. Be careful. May the light be with you.
+The key is on the sewer %s path. Be careful. May the light be with you.
+
+The kid is not paying attention to you.
+The kid is not paying attention to you.
+
+The knob has... melted down? What?
+The knob has... melted down? What?
+
+The last one is %s. You will meet him in the future, so no spoilers. Time traveler word.
+The last one is %s. You will meet him in the future, so no spoilers. Time traveler word.
+
+The last task I could give you is to exterminate 200 @@. They actually stop miners progress on the mine.
+The last task I could give you is to exterminate 200 @@. They actually stop miners progress on the mine.
+
+The last time they were seen... They went to explore the Desert Temple. None returned alive.
+The last time they were seen... They went to explore the Desert Temple. None returned alive.
+
+The lifestone pendant allows you a quicker HP recovery. Life is more important than defense.
+The lifestone pendant allows you a quicker HP recovery. Life is more important than defense.
+
+The lighting hero: %s
+The lighting hero: %s
+
+The lockpick broke.
+The lockpick broke.
+
+The mage thief tried to all power absorb,
+The mage thief tried to all power absorb,
+
+The maggots will spawn in @@ at random.
+The maggots will spawn in @@ at random.
+
+The magic accumulated backfires at you!
+The magic accumulated backfires at you!
+
+The magic council have only a handful set of them, and they let only the most skilled ones get it.
+The magic council have only a handful set of them, and they let only the most skilled ones get it.
+
+The magic power outflowing in the room prevents you from leaving.
+The magic power outflowing in the room prevents you from leaving.
+
+The main power system is offline.
+The main power system is offline.
+
+The mana bridge is closed at the moment.
+The mana bridge is closed at the moment.
+
+The mana bridge to Aeros is open! To participate on event, talk to ##BSoul Menhir##b!
+The mana bridge to Aeros is open! To participate on event, talk to ##BSoul Menhir##b!
+
+The mana war stroke, and many people died,
+The mana war stroke, and many people died,
+
+The map starts getting darker with the heat of the flame, and curiously, new shapes starts to form...
+The map starts getting darker with the heat of the flame, and curiously, new shapes starts to form...
+
+The masters have decided you are to be given honorary initiation into the Duck Side. The Duck Side is powerful, much more so than you could possibly understand.
+The masters have decided you are to be given honorary initiation into the Duck Side. The Duck Side is powerful, much more so than you could possibly understand.
+
+The masters of the Duck Side, The Council of Elders, and King DD himself, on behalf of all ducks, thank you for your help. We wouldn't have survived without it.
+The masters of the Duck Side, The Council of Elders, and King DD himself, on behalf of all ducks, thank you for your help. We wouldn't have survived without it.
+
+The mayor, Rakinorf, is probably on the Inn upstairs, drinking himself to death.
+The mayor, Rakinorf, is probably on the Inn upstairs, drinking himself to death.
+
+The message cannot be empty
+The message cannot be empty
+
+The might contained in this curious object is too powerful. You have to be at least level 20 to harness it.
+The might contained in this curious object is too powerful. You have to be at least level 20 to harness it.
+
+The mightiest mage, which had control over the runes;
+The mightiest mage, which had control over the runes;
+
+The mighty Mana Stone does not reacts against you.
+The mighty Mana Stone does not reacts against you.
+
+The miner goes to count your stuff again.
+The miner goes to count your stuff again.
+
+The mines are over a Volcano. Unless you're a Redy, the heat will slowly chip away your health if you go deep. But drinking iced water can improve temporarily your situation.
+The mines are over a Volcano. Unless you're a Redy, the heat will slowly chip away your health if you go deep. But drinking iced water can improve temporarily your situation.
+
+The mines beyond this point have been shut at 280 AT because Terranite. You've been warned!
+The mines beyond this point have been shut at 280 AT because Terranite. You've been warned!
+
+The mist over the Impregnable Fortress Peak finally lowered down, and it seems... The peaks are no more!
+The mist over the Impregnable Fortress Peak finally lowered down, and it seems... The peaks are no more!
+
+The monster hunting program will end, and what will you do?
+The monster hunting program will end, and what will you do?
+
+The monsters here are too strong, and as I said before, I can't get close to the Transcendence Portal nor to get training.
+The monsters here are too strong, and as I said before, I can't get close to the Transcendence Portal nor to get training.
+
+The monsters on each Heroes Hold Dungeon will drop @@, a coin which can only be found here.
+The monsters on each Heroes Hold Dungeon will drop @@, a coin which can only be found here.
+
+The most aggressive and main ones are:
+The most aggressive and main ones are:
+
+The most basic grinding camp for your homunculus.
+The most basic grinding camp for your homunculus.
+
+The most common treasure box uses %s and can opened many times. However, this is a special treasure box. You'll need a %s to open it.
+The most common treasure box uses %s and can opened many times. However, this is a special treasure box. You'll need a %s to open it.
+
+The most famous nymphs, are those who wear stuff made of Snake Skin.
+The most famous nymphs, are those who wear stuff made of Snake Skin.
+
+The most important thing to improve is your dexterity. When you use a bow, it is your dexterity that determines if you are able to hit your enemy where it hurts most.
+The most important thing to improve is your dexterity. When you use a bow, it is your dexterity that determines if you are able to hit your enemy where it hurts most.
+
+The most powerful spells can, sometimes, summon some monster you didn't wanted to.
+The most powerful spells can, sometimes, summon some monster you didn't wanted to.
+
+The most widespread race in the continent, highly versatile, perfect all-rounders.
+The most widespread race in the continent, highly versatile, perfect all-rounders.
+
+The mouboo is sleeping soundly. The curse is still there.
+The mouboo is sleeping soundly. The curse is still there.
+
+The mouboo looks a bit less sickly. But this is not enough.
+The mouboo looks a bit less sickly. But this is not enough.
+
+The mouboo looks a bit more healthy. A little more should do.
+The mouboo looks a bit more healthy. A little more should do.
+
+The mouboo seems to want to thank you, but is still too weak. Let's finish this healing.
+The mouboo seems to want to thank you, but is still too weak. Let's finish this healing.
+
+The mouboo still looks terrible, but you can see a small difference.
+The mouboo still looks terrible, but you can see a small difference.
+
+The name of the wizard of Aethyr is the key to open its gates. I've heard it'll open for a lowly %s as you, as long that you know both. But I don't think anyone here would share that with you!
+The name of the wizard of Aethyr is the key to open its gates. I've heard it'll open for a lowly %s as you, as long that you know both. But I don't think anyone here would share that with you!
+
+The nanorob-- err, the *magic* will seal all your wounds. You trust Basil, right?
+The nanorob-- err, the *magic* will seal all your wounds. You trust Basil, right?
+
+The next page begins to list the complex trading laws and political rules. The word "%s" shows up everywhere.
+The next page begins to list the complex trading laws and political rules. The word "%s" shows up everywhere.
+
+The north power system is offline.
+The north power system is offline.
+
+The number of players must be precise, meaning if someone doesn't joins,
+The number of players must be precise, meaning if someone doesn't joins,
+
+The nurse... The nurse is... Doing all she can... To help me, though.
+The nurse... The nurse is... Doing all she can... To help me, though.
+
+The objective of this event is to ##Bslay the Monster Admiral##b.
+The objective of this event is to ##Bslay the Monster Admiral##b.
+
+The old man seems busy. He ignores you.
+The old man seems busy. He ignores you.
+
+The one with a star (*) is advised.
+The one with a star (*) is advised.
+
+The ones around here are specially nasty. They steal stuff and seal them on 'present boxes', just to amuse as people try to open those...
+The ones around here are specially nasty. They steal stuff and seal them on 'present boxes', just to amuse as people try to open those...
+
+The only readable thing is an old stain of blood.
+The only readable thing is an old stain of blood.
+
+The other councilors?
+The other councilors?
+
+The other one claims to be a dangerous bandit and to teach how to steal from monsters!
+The other one claims to be a dangerous bandit and to teach how to steal from monsters!
+
+The pan is empty, but it smells like fresh cookies.
+The pan is empty, but it smells like fresh cookies.
+
+The passwords doesn't match.
+The passwords doesn't match.
+
+The path to reach Eugene is hidden. However, if you pay attention to the map, you should figure out how to reach that island without swimming.
+The path to reach Eugene is hidden. However, if you pay attention to the map, you should figure out how to reach that island without swimming.
+
+The pirate ship captain appear! TAKE CARE!!
+The pirate ship captain appear! TAKE CARE!!
+
+The pirates amass for their siege, but they will not attack yet. Return when you are stronger. King DD is working to find a solution.
+The pirates amass for their siege, but they will not attack yet. Return when you are stronger. King DD is working to find a solution.
+
+The pirates have been surrounding our island for many sun rises. We expect they will attack any time.
+The pirates have been surrounding our island for many sun rises. We expect they will attack any time.
+
+The player is offline or does not exist.
+The player is offline or does not exist.
+
+The potion is baked, and the time is now running! Read as fast as you can, don't miss details!
+The potion is baked, and the time is now running! Read as fast as you can, don't miss details!
+
+The power of Soren's House kicks @@ like a game master.
+The power of Soren's House kicks @@ like a game master.
+
+The power system is ##Bactive##b on the east.
+The power system is ##Bactive##b on the east.
+
+The power system is ##Bactive##b on the main.
+The power system is ##Bactive##b on the main.
+
+The power system is ##Bactive##b on the north.
+The power system is ##Bactive##b on the north.
+
+The power system is ##Bactive##b on the south.
+The power system is ##Bactive##b on the south.
+
+The power system is ##Bactive##b on the west.
+The power system is ##Bactive##b on the west.
+
+The power which lies in Candor acknowledges your strength.
+The power which lies in Candor acknowledges your strength.
+
+The power which lies in Candor rejects your strength.
+The power which lies in Candor rejects your strength.
+
+The pressure you did made the door burst open. It is unusually quiet inside...
+The pressure you did made the door burst open. It is unusually quiet inside...
+
+The previous attempt will be resumed.
+The previous attempt will be resumed.
+
+The previous mayor was an amazing mayor, but even so, he lost the office after the Monster King attacked.
+The previous mayor was an amazing mayor, but even so, he lost the office after the Monster King attacked.
+
+The price raises hourly, don't leave to make it on the last day!
+The price raises hourly, don't leave to make it on the last day!
+
+The prizes are only for the top 10. Loratay on Land Of Fire Village can make, for limited time, a @@ for you if you want.
+The prizes are only for the top 10. Loratay on Land Of Fire Village can make, for limited time, a @@ for you if you want.
+
+The problem is that Halinarzo was destroyed in the never-ending war and was just recently rebuilt.
+The problem is that Halinarzo was destroyed in the never-ending war and was just recently rebuilt.
+
+The problem is... The slimes ate the keys for the chests. This is not the first time such thing happens.
+The problem is... The slimes ate the keys for the chests. This is not the first time such thing happens.
+
+The problem with typos is - unpredictable side effects.
+The problem with typos is - unpredictable side effects.
+
+The professor is always on the Magic Council, the northmost building. If you sit on the area in front of him (marked with a red rug), you'll gain Experience, even while AFK.
+The professor is always on the Magic Council, the northmost building. If you sit on the area in front of him (marked with a red rug), you'll gain Experience, even while AFK.
+
+The project is involving only a small group of members, but would welcome anyone who knows how to assist in development.
+The project is involving only a small group of members, but would welcome anyone who knows how to assist in development.
+
+The reagent is always the same for the same class. If you do not have enough reagents but have an @@, it'll be used to continue.
+The reagent is always the same for the same class. If you do not have enough reagents but have an @@, it'll be used to continue.
+
+The real Monster King is probably on his fortress. It'll take more than that to take him down.
+The real Monster King is probably on his fortress. It'll take more than that to take him down.
+
+The reason why they are not occupying the towns like before is still unknown.
+The reason why they are not occupying the towns like before is still unknown.
+
+The register fee is 2000 GP.
+The register fee is 2000 GP.
+
+The rent lasts 30 days.
+The rent lasts 30 days.
+
+The requested char "%s" is not online or does not exist.
+The requested char "%s" is not online or does not exist.
+
+The runes, burried with its owner.
+The runes, burried with its owner.
+
+The sailor chugs his beer.
+The sailor chugs his beer.
+
+The sailor turns his back to you.
+The sailor turns his back to you.
+
+The sailors take you aboard their ship.
+The sailors take you aboard their ship.
+
+The sake wasn't ready yet and you lost it...
+The sake wasn't ready yet and you lost it...
+
+The sea route I take is very dangerous, and full of pirates. You're too weak to travel with me.
+The sea route I take is very dangerous, and full of pirates. You're too weak to travel with me.
+
+The seal retaliates! It was super effective. You are dead!
+The seal retaliates! It was super effective. You are dead!
+
+The seal was broken!
+The seal was broken!
+
+The seals having been broken, the barrier was weakened! You did it! The path is now open!
+The seals having been broken, the barrier was weakened! You did it! The path is now open!
+
+The seals slowly grow stronger as time passes!
+The seals slowly grow stronger as time passes!
+
+The second job,
+The second job,
+
+The second stage is in the first cave to northwest you can find.
+The second stage is in the first cave to northwest you can find.
+
+The second way,
+The second way,
+
+The selected item is too weak. %s will only tweak items level %d or higher.
+The selected item is too weak. %s will only tweak items level %d or higher.
+
+The sewer mouth is locked.
+The sewer mouth is locked.
+
+The ship can bring you to the town of Hurnscald, but we have a problem: It is currently being occupied by a Monster Army.
+The ship can bring you to the town of Hurnscald, but we have a problem: It is currently being occupied by a Monster Army.
+
+The ship is locked, probably unable to leave port.
+The ship is locked, probably unable to leave port.
+
+The sides accept only one adventurer. You'll also lose access to General Chat upon joining, and will have to use #world.
+The sides accept only one adventurer. You'll also lose access to General Chat upon joining, and will have to use #world.
+
+The singularities keep arming themselves up again, so I have roughly five minutes between first disarm and entering here.
+The singularities keep arming themselves up again, so I have roughly five minutes between first disarm and entering here.
+
+The situation is different if someone from Hurnscald went to her rescue. That's why I ask you to help my Cindy.
+The situation is different if someone from Hurnscald went to her rescue. That's why I ask you to help my Cindy.
+
+The situation is grim, and some want the return of the Platinum Red Queen. The "Soul Eater" is back, pretending to be her ghost, and the Black Razor believed on it. They made "The Queen's Party" and want to reinstate the queen.
+The situation is grim, and some want the return of the Platinum Red Queen. The "Soul Eater" is back, pretending to be her ghost, and the Black Razor believed on it. They made "The Queen's Party" and want to reinstate the queen.
+
+The situation is too serious to you be lying... Please, go fetch the items...
+The situation is too serious to you be lying... Please, go fetch the items...
+
+The skill would be wasted on a noob like you. You are weak. Go gain a few levels and then return here.
+The skill would be wasted on a noob like you. You are weak. Go gain a few levels and then return here.
+
+The skill would be wasted on a noob mage like you. Go get more magic power first!
+The skill would be wasted on a noob mage like you. Go get more magic power first!
+
+The soldiers are resting at the moment.
+The soldiers are resting at the moment.
+
+The sorcerer hero: %s
+The sorcerer hero: %s
+
+The south power system is offline.
+The south power system is offline.
+
+The spell backfires!
+The spell backfires!
+
+The spell fails!
+The spell fails!
+
+The spell takes a mind of its own backfires!
+The spell takes a mind of its own backfires!
+
+The stairs have magic cast on them, I cannot climb.
+The stairs have magic cast on them, I cannot climb.
+
+The stairs lead to nowhere. However, there is a magic sigil on the bottom.
+The stairs lead to nowhere. However, there is a magic sigil on the bottom.
+
+The statue doesn't replies.
+The statue doesn't replies.
+
+The stolen christmas boxes!! Christmas is RUINED!!!
+The stolen christmas boxes!! Christmas is RUINED!!!
+
+The storehouse here is overrun with house maggots.
+The storehouse here is overrun with house maggots.
+
+The storehouse is still over run with house maggots.
+The storehouse is still over run with house maggots.
+
+The story was so cool!
+The story was so cool!
+
+The strategy is simple. When you hit the enemy, walk one or two tiles backwards.
+The strategy is simple. When you hit the enemy, walk one or two tiles backwards.
+
+The study skill allows you to see the exact health a monster have, as well some details.
+The study skill allows you to see the exact health a monster have, as well some details.
+
+The supreme guardian of the "Talpan" creatures, such as you.
+The supreme guardian of the "Talpan" creatures, such as you.
+
+The sword glows too much. Perhaps @@ could take it.
+The sword glows too much. Perhaps @@ could take it.
+
+The symbols at the end of the book look to be warnings, though.
+The symbols at the end of the book look to be warnings, though.
+
+The teddy picks it and goes running to somewhere it can eat in peace. Now we know how we can please our little friend - with %s! How we didn't think on that before?!
+The teddy picks it and goes running to somewhere it can eat in peace. Now we know how we can please our little friend - with %s! How we didn't think on that before?!
+
+The teddy quickly takes the honey and fills the pot. It is really hungry!
+The teddy quickly takes the honey and fills the pot. It is really hungry!
+
+The teddy stares at it but does not approach. Maybe it is not hungry, or it doesn't want the food you offered.
+The teddy stares at it but does not approach. Maybe it is not hungry, or it doesn't want the food you offered.
+
+The title is transferred when the MVP is killed (either in PVP or by the boss), or when time runs out.
+The title is transferred when the MVP is killed (either in PVP or by the boss), or when time runs out.
+
+The torch is currently lit.
+The torch is currently lit.
+
+The torch is lit.
+The torch is lit.
+
+The town administrator benefits for free services on the town.
+The town administrator benefits for free services on the town.
+
+The tree doesn't likes your selfishness.
+The tree doesn't likes your selfishness.
+
+The tree generously offer you one of its fruits.
+The tree generously offer you one of its fruits.
+
+The trick at tracing parallel, is finding the difference. In this world, Cindy gives a %s, a personal belonging of her, to those whom rescue her. What is the reward on your world?
+The trick at tracing parallel, is finding the difference. In this world, Cindy gives a %s, a personal belonging of her, to those whom rescue her. What is the reward on your world?
+
+The trickster can be found right here.
+The trickster can be found right here.
+
+The tyrant, which could shot from any distance;
+The tyrant, which could shot from any distance;
+
+The uniform would be: @@, @@, @@ and @@
+The uniform would be: @@, @@, @@ and @@
+
+The usage of @sk-commands was deprecated
+The usage of @sk-commands was deprecated
+
+The village name is difficult to read.
+The village name is difficult to read.
+
+The vote was cast.
+The vote was cast.
+
+The wage is high?
+The wage is high?
+
+The warp crystal broke.
+The warp crystal broke.
+
+The warrior turns towards you, grinning broadly.
+The warrior turns towards you, grinning broadly.
+
+The water was too shallow...
+The water was too shallow...
+
+The waterfall open, and you may now pass.
+The waterfall open, and you may now pass.
+
+The way is full of dangers. Not only king soldiers, but the beast has an army of their own!
+The way is full of dangers. Not only king soldiers, but the beast has an army of their own!
+
+The west power system is offline.
+The west power system is offline.
+
+The whole team is very distressed, too. Could you take the opportunity to see if the team is putting the blame on Peetu? Thanks in advance.
+The whole team is very distressed, too. Could you take the opportunity to see if the team is putting the blame on Peetu? Thanks in advance.
+
+The wind is blowing from @@.
+The wind is blowing from @@.
+
+The window appears to be unlocked. It might have been open some time ago.
+The window appears to be unlocked. It might have been open some time ago.
+
+The wine wasn't ready yet and you lost it...
+The wine wasn't ready yet and you lost it...
+
+The wizard seems busy. He ignores you.
+The wizard seems busy. He ignores you.
+
+The wood bends a little, but doesn't breaks.
+The wood bends a little, but doesn't breaks.
+
+The wood, Jack the Lumberjack used to deliver me, but he isn't delivering anymore. And the string was imported from Halinarzo.
+The wood, Jack the Lumberjack used to deliver me, but he isn't delivering anymore. And the string was imported from Halinarzo.
+
+The world belong to Mouboos. They are sublime creatures!
+The world belong to Mouboos. They are sublime creatures!
+
+The world hero %s and the High Council Officers will announce the times to raid the Fortress.
+The world hero %s and the High Council Officers will announce the times to raid the Fortress.
+
+The world is spiniiiiiiiing...
+The world is spiniiiiiiiing...
+
+The... Mou... Boo... Taur...
+The... Mou... Boo... Taur...
+
+Their economy provide many edible items and potions.
+Their economy provide many edible items and potions.
+
+Their fight was not damned,
+Their fight was not damned,
+
+Their first stop was Hurnscald, so please go to Hurnscald Townhall, and speak with the mayor, he can help you getting there. You can't reach there normally, after all.
+Their first stop was Hurnscald, so please go to Hurnscald Townhall, and speak with the mayor, he can help you getting there. You can't reach there normally, after all.
+
+Their level was too low.
+Their level was too low.
+
+Their main tasks are ensuring fair trading, protecting the cities from monster invasions, and guarding the Mana Stones.
+Their main tasks are ensuring fair trading, protecting the cities from monster invasions, and guarding the Mana Stones.
+
+Then I craft some new type of strong desert shirt, to protect users from snakes and sunlight.
+Then I craft some new type of strong desert shirt, to protect users from snakes and sunlight.
+
+Then I hope you can keep your grades high, hmm hmm!
+Then I hope you can keep your grades high, hmm hmm!
+
+Then I returned to Tulimshar. Now I do research, vote on the Magic Council meetings, and I also teach young mages about Transmutation magic.
+Then I returned to Tulimshar. Now I do research, vote on the Magic Council meetings, and I also teach young mages about Transmutation magic.
+
+Then I'll be sure you can't talk again.
+Then I'll be sure you can't talk again.
+
+Then along came a soul as happy as can be
+Then along came a soul as happy as can be
+
+Then could you perhaps kill 12 @@ for me?!
+Then could you perhaps kill 12 @@ for me?!
+
+Then get to work already!
+Then get to work already!
+
+Then please bring me this, so I can help you back.
+Then please bring me this, so I can help you back.
+
+Then prove yourself!
+Then prove yourself!
+
+Then so be it. Farewell.
+Then so be it. Farewell.
+
+Then someone of a scholarship rank above your must approve it, and say that your work is enough to the next scholar rank.
+Then someone of a scholarship rank above your must approve it, and say that your work is enough to the next scholar rank.
+
+Then take the middle entrance.
+Then take the middle entrance.
+
+Then we have %s. You met her. She guards all Talpan beings, such as Humans, Elves, Reidys, Orcs and whatever. She is an evil woman. She grants nothing to her followers.
+Then we have %s. You met her. She guards all Talpan beings, such as Humans, Elves, Reidys, Orcs and whatever. She is an evil woman. She grants nothing to her followers.
+
+Then you should look in buying Caffeinne. Curse is a status ailment which reduces your attack, nullifies your luck and makes you a snail. Simple Curses can be cured with time, too.
+Then you should look in buying Caffeinne. Curse is a status ailment which reduces your attack, nullifies your luck and makes you a snail. Simple Curses can be cured with time, too.
+
+Then you'll be able to buy furniture and utility.
+Then you'll be able to buy furniture and utility.
+
+Then, would you like me to transform one of your gems?#0
+Then, would you like me to transform one of your gems?
+
+Then, would you like me to transform one of your gems?#1
+Then, would you like me to transform one of your gems?
+
+There I was knee deep in pinkie pattie,
+There I was knee deep in pinkie pattie,
+
+There are Monster Attacks every month, how do you have time for tea parties?!
+There are Monster Attacks every month, how do you have time for tea parties?!
+
+There are Pious on the island as well! %%i
+There are Pious on the island as well! %%i
+
+There are also less common ailments:
+There are also less common ailments:
+
+There are alternatives to the chant words, anyone can do it if they know the basic structure.
+There are alternatives to the chant words, anyone can do it if they know the basic structure.
+
+There are banks all over the world. Usually every important village or city has one.
+There are banks all over the world. Usually every important village or city has one.
+
+There are five floors, and they're all very dangerous. But there are riches to be found.
+There are five floors, and they're all very dangerous. But there are riches to be found.
+
+There are four basic class:
+There are four basic class:
+
+There are no new players to welcome.
+There are no new players to welcome.
+
+There are only a few pages missing.
+There are only a few pages missing.
+
+There are only four which you could want to know about.
+There are only four which you could want to know about.
+
+There are people in the world who need help!
+There are people in the world who need help!
+
+There are rumors about a sacred elf land, where our antecessors lived in peacefully somewhere close to here, but the path was lost. That's why we now live with dwarves.
+There are rumors about a sacred elf land, where our antecessors lived in peacefully somewhere close to here, but the path was lost. That's why we now live with dwarves.
+
+There are secret caves on this city. In fact, Tulimshar holds many misteries.
+There are secret caves on this city. In fact, Tulimshar holds many misteries.
+
+There are several minor status conditions, which may buff or debuff you.
+There are several minor status conditions, which may buff or debuff you.
+
+There are some old rusty knives on the table. Would you like to take one?
+There are some old rusty knives on the table. Would you like to take one?
+
+There are some sailors near the forge. Think outside the box - or rather, inside it, unless you have a fortune to buy the items.
+There are some sailors near the forge. Think outside the box - or rather, inside it, unless you have a fortune to buy the items.
+
+There are some slimes around in the deeper parts of the library. Remember to kill them alone, and beware, if they kill themselves it won't count.
+There are some slimes around in the deeper parts of the library. Remember to kill them alone, and beware, if they kill themselves it won't count.
+
+There are some stones scattered around the world that mark your point of return in case of defeats. Some ship chests may also serve as a return point. You can also select some beds in case of defeats.
+There are some stones scattered around the world that mark your point of return in case of defeats. Some ship chests may also serve as a return point. You can also select some beds in case of defeats.
+
+There are still some monsters left! Do you want to abort the quest?
+There are still some monsters left! Do you want to abort the quest?
+
+There are three kind of monsters which frequently attacks our fair vessel.
+There are three kind of monsters which frequently attacks our fair vessel.
+
+There are three singularities on this island. If I disarm more than one, I'll have a penalty.
+There are three singularities on this island. If I disarm more than one, I'll have a penalty.
+
+There are three types of items.
+There are three types of items.
+
+There are three types of monsters: the aggressive, the neutral, and the collaborative.
+There are three types of monsters: the aggressive, the neutral, and the collaborative.
+
+There doesn't seem to be any physical wound.
+There doesn't seem to be any physical wound.
+
+There exist more food than you know. But this time I don't want anything extravagant, just 6 @@ should be fine.
+There exist more food than you know. But this time I don't want anything extravagant, just 6 @@ should be fine.
+
+There is a NPC called Trainer, just outside this ship.
+There is a NPC called Trainer, just outside this ship.
+
+There is a chasm.
+There is a chasm.
+
+There is a rare kind of scorpion, the Murderer Scorpion. Very dangerous.
+There is a rare kind of scorpion, the Murderer Scorpion. Very dangerous.
+
+There is a slight breeze coming from @@.
+There is a slight breeze coming from @@.
+
+There is a time limit, which is already running.
+There is a time limit, which is already running.
+
+There is no EXP penalty, but you cannot go back without either completing the cave, or dying.
+There is no EXP penalty, but you cannot go back without either completing the cave, or dying.
+
+There is no free speech. Censorship!
+There is no free speech. Censorship!
+
+There is no honor in fighting a weak opponent.
+There is no honor in fighting a weak opponent.
+
+There is no other solution; A desperate struggle is needed...
+There is no other solution; A desperate struggle is needed...
+
+There is only one way towards the best equipment: Smith away!
+There is only one way towards the best equipment: Smith away!
+
+There is only so much magical power your body can handle without breaking.
+There is only so much magical power your body can handle without breaking.
+
+There is someone who might know how to turn a slime back in a human. But alas, that old fart doesn't live here.
+There is someone who might know how to turn a slime back in a human. But alas, that old fart doesn't live here.
+
+There isn't enough, not even for NPCs. We need at least 100.
+There isn't enough, not even for NPCs. We need at least 100.
+
+There may be some exceptions. Anyway, this item clearly cannot be refined.
+There may be some exceptions. Anyway, this item clearly cannot be refined.
+
+There might be reward for anyone who doesn't gets a rank, but I never count on that. So, let's start?
+There might be reward for anyone who doesn't gets a rank, but I never count on that. So, let's start?
+
+There probably is a huge, flashing orange exclamation mark over a suitable knife you could take and nobody would mind.
+There probably is a huge, flashing orange exclamation mark over a suitable knife you could take and nobody would mind.
+
+There seems to be signs of a fight long forgotten, but it still reeks blood.
+There seems to be signs of a fight long forgotten, but it still reeks blood.
+
+There seems to be sort of lock preventing you from passing.
+There seems to be sort of lock preventing you from passing.
+
+There was a visitor with a mask? I didn't notice. You see, I spend most of my time in the workshop, and concentrate on my work. There are other helpers who attend to the visitors. And hopefully keep them from disturbing my concentration.
+There was a visitor with a mask? I didn't notice. You see, I spend most of my time in the workshop, and concentrate on my work. There are other helpers who attend to the visitors. And hopefully keep them from disturbing my concentration.
+
+There was nobody on the Bandit Lord's room.
+There was nobody on the Bandit Lord's room.
+
+There will be consequences.
+There will be consequences.
+
+There you are! A towel is really the most important item for a hitchhiker to have.
+There you are! A towel is really the most important item for a hitchhiker to have.
+
+There you go!
+There you go!
+
+There you go! Thanks for all the help!
+There you go! Thanks for all the help!
+
+There you go, %s. If you don't know anything about crafting I heard someone on Tulimshar's Terranite Forge can help?
+There you go, %s. If you don't know anything about crafting I heard someone on Tulimshar's Terranite Forge can help?
+
+There you go, a special and rare @@!
+There you go, a special and rare @@!
+
+There you go, boring person... You will look like the trees here. Ugh, disgusting.
+There you go, boring person... You will look like the trees here. Ugh, disgusting.
+
+There you go, your Valentine Dress!
+There you go, your Valentine Dress!
+
+There you go. Craft hard, mwhahahahaha!
+There you go. Craft hard, mwhahahahaha!
+
+There you go. Enjoy it!
+There you go. Enjoy it!
+
+There you go. I wish you good luck. @@
+There you go. I wish you good luck. @@
+
+There'll be monsters, the maze is randomly generated, and the initial position for you and the Ent is not fixed. Therefore, you may begin handicapped in some cases depending on luck only.
+There'll be monsters, the maze is randomly generated, and the initial position for you and the Ent is not fixed. Therefore, you may begin handicapped in some cases depending on luck only.
+
+There's a big prize in the end... Could you bring me some later?
+There's a big prize in the end... Could you bring me some later?
+
+There's a long time we don't eat anything. Bring us @@! Five should do it.
+There's a long time we don't eat anything. Bring us @@! Five should do it.
+
+There's a shiny safe here. How much money is inside? Nobody is looking at you, great!
+There's a shiny safe here. How much money is inside? Nobody is looking at you, great!
+
+There's a small, damp corritor, which you could crawl though.
+There's a small, damp corritor, which you could crawl though.
+
+There's a strong magic barrier. We need to disarm it in order to enter there.
+There's a strong magic barrier. We need to disarm it in order to enter there.
+
+There's a summoning circle on Tulimshar Sewers. You can reach either by boat, if you have the money - I'll lend you some; Or by the long way.
+There's a summoning circle on Tulimshar Sewers. You can reach either by boat, if you have the money - I'll lend you some; Or by the long way.
+
+There's also Morgan, who lives in Candor. She is a Redy, and is married with Zitoni. They are great alchemists.
+There's also Morgan, who lives in Candor. She is a Redy, and is married with Zitoni. They are great alchemists.
+
+There's also a job level, which produces green sparkles when you level it.
+There's also a job level, which produces green sparkles when you level it.
+
+There's also weather, meaning it can rain, snow, or even happen a sandstorm. They are usually cosmetic, but...
+There's also weather, meaning it can rain, snow, or even happen a sandstorm. They are usually cosmetic, but...
+
+There's always some chance that THE ITEM WILL BREAK, beware!
+There's always some chance that THE ITEM WILL BREAK, beware!
+
+There's an annoying half-wose-half-elf called Thorn trying to impress me with his wose side!
+There's an annoying half-wose-half-elf called Thorn trying to impress me with his wose side!
+
+There's no change in the condition of the poor Mouboo.
+There's no change in the condition of the poor Mouboo.
+
+There's no help available for this event.
+There's no help available for this event.
+
+There's no need to go in that Yeti infested den right now.
+There's no need to go in that Yeti infested den right now.
+
+There's no one who knows Butterfly Caves better than me, child. These are MY caves, after all.
+There's no one who knows Butterfly Caves better than me, child. These are MY caves, after all.
+
+There's no reason to enter these caves now.
+There's no reason to enter these caves now.
+
+There's no thank me, its'kay you're welcome
+There's no thank me, its'kay you're welcome
+
+There's no time limit on this riddle.
+There's no time limit on this riddle.
+
+There's not everything I've asked for...
+There's not everything I've asked for...
+
+There's nothing in the Magic Council Room, though. It's just a perk.
+There's nothing in the Magic Council Room, though. It's just a perk.
+
+There's one on the basement of this house. If you kill it, Hasan will think on you as a hero and won't steal you anymore.
+There's one on the basement of this house. If you kill it, Hasan will think on you as a hero and won't steal you anymore.
+
+There's some diversity, but you should keep aiming at helping people and killing small-fry. If you ever want a challenge, there's a Giant Maggot inside the town which can kill you in one hit.
+There's some diversity, but you should keep aiming at helping people and killing small-fry. If you ever want a challenge, there's a Giant Maggot inside the town which can kill you in one hit.
+
+There's somewhere I want you to go, but you're not strong enough yet, so be patient and help them first.
+There's somewhere I want you to go, but you're not strong enough yet, so be patient and help them first.
+
+There's usually not a lot of things to do past these gates, but some monsters which only lives on the Land of Fire can only be found there!
+There's usually not a lot of things to do past these gates, but some monsters which only lives on the Land of Fire can only be found there!
+
+There, now you can not only craft items, but craft AWESOME ITEMS!
+There, now you can not only craft items, but craft AWESOME ITEMS!
+
+There... *hic* They will expire *hic* in just @@... Or on logout.
+There... *hic* They will expire *hic* in just @@... Or on logout.
+
+Therefore we need a lot of glue, but our supplies are nearly used up. I need @@/@@ @@ as ingredient to make new glue.
+Therefore we need a lot of glue, but our supplies are nearly used up. I need @@/@@ @@ as ingredient to make new glue.
+
+Therefore, I shall head to the %s, and look for %s. If anyone knows how to fix it, might as well be that rat-faced... being.
+Therefore, I shall head to the %s, and look for %s. If anyone knows how to fix it, might as well be that rat-faced... being.
+
+Therefore, children of Merlin, go back to your world, and ask the Blue Sage Nikolai about it. The blue sage may fake angerness or try to dodge the question, but they are a good person. Still, you should ensure you're on his good side.
+Therefore, children of Merlin, go back to your world, and ask the Blue Sage Nikolai about it. The blue sage may fake angerness or try to dodge the question, but they are a good person. Still, you should ensure you're on his good side.
+
+Therefore, just for a short while, I offer to be your blade.
+Therefore, just for a short while, I offer to be your blade.
+
+Therefore, please choose a permanent stat-boosting fruit.
+Therefore, please choose a permanent stat-boosting fruit.
+
+Therefore, the Alliance created a system so when you kill a monster, depending on its strength, you'll get Monster Points.
+Therefore, the Alliance created a system so when you kill a monster, depending on its strength, you'll get Monster Points.
+
+Therefore... Are you perhaps interested in some... illicit goods? %%p
+Therefore... Are you perhaps interested in some... illicit goods? %%p
+
+Thermin is also known as the lost city. It was once founded to mine ores, and export to everyone.
+Thermin is also known as the lost city. It was once founded to mine ores, and export to everyone.
+
+These are being crafted by Alan.
+These are being crafted by Alan.
+
+These are dangerous caves since Marley and her gang made it a hideout.
+These are dangerous caves since Marley and her gang made it a hideout.
+
+These are saved by walking in warp portals or touching Soul Menhirs.
+These are saved by walking in warp portals or touching Soul Menhirs.
+
+These assassins will catch me if I do that now!
+These assassins will catch me if I do that now!
+
+These barrels are sealed and heavy. It's impossible to know what's inside. There's a marking on them, you copy them somewhere.
+These barrels are sealed and heavy. It's impossible to know what's inside. There's a marking on them, you copy them somewhere.
+
+These battle plans are all wrong; They trace routes on the Canyon which doesn't exist...
+These battle plans are all wrong; They trace routes on the Canyon which doesn't exist...
+
+These boxes cannot be sold, but they'll be deleted a while after the event ends.
+These boxes cannot be sold, but they'll be deleted a while after the event ends.
+
+These cliffs are no place for weak people like you. You better teleport yourself away as soon as possible!
+These cliffs are no place for weak people like you. You better teleport yourself away as soon as possible!
+
+These gold fishes multiply horribly and have no natural predator.
+These gold fishes multiply horribly and have no natural predator.
+
+These monsters are a great source of raw crafting materials.
+These monsters are a great source of raw crafting materials.
+
+These paths are all wrong! What is the problem with this map?!
+These paths are all wrong! What is the problem with this map?!
+
+These people have lots of unspent Strange Coins! Waw!
+These people have lots of unspent Strange Coins! Waw!
+
+These towers must hold unfathomable secrets from %s.
+These towers must hold unfathomable secrets from %s.
+
+These weapons are only for masters, so you must get levels before being able to use them.
+These weapons are only for masters, so you must get levels before being able to use them.
+
+These will do just fine.
+These will do just fine.
+
+Theta Book
+Theta Book
+
+Theta Ring
+Theta Ring
+
+They also determine rules, and enforce them. We live under a disguised dictatorship.
+They also determine rules, and enforce them. We live under a disguised dictatorship.
+
+They also don't need much intelligence or magic equipment.
+They also don't need much intelligence or magic equipment.
+
+They also hold control over the Mana Stones, but this is not the problem.
+They also hold control over the Mana Stones, but this is not the problem.
+
+They also recently took over some city affairs. It's good they're protecting us, but I'm afraid of them creeping into our lives!
+They also recently took over some city affairs. It's good they're protecting us, but I'm afraid of them creeping into our lives!
+
+They are at north of the town.
+They are at north of the town.
+
+They are filled with a strange gas which makes they deflect attacks. They are done from a material which cannot be cut easily.
+They are filled with a strange gas which makes they deflect attacks. They are done from a material which cannot be cut easily.
+
+They are hidden in the crypts, inside a cave.
+They are hidden in the crypts, inside a cave.
+
+They are highly intelligent, and have higher magical affinity, and live longer, but lacks creativity.
+They are highly intelligent, and have higher magical affinity, and live longer, but lacks creativity.
+
+They are in the basement, pulling the strings from behind.
+They are in the basement, pulling the strings from behind.
+
+They are known to use a revolutionary hair growth formula, which can give you a wild thatch even if you are bald!
+They are known to use a revolutionary hair growth formula, which can give you a wild thatch even if you are bald!
+
+They are now like most monsters. I pity them. Their sacrifice was not in vain, though.
+They are now like most monsters. I pity them. Their sacrifice was not in vain, though.
+
+They are strict with who is allowed inside, so you'll need either elf or ukar friends to pass.
+They are strict with who is allowed inside, so you'll need either elf or ukar friends to pass.
+
+They became friends and Dimond told Merlin about her idea.
+They became friends and Dimond told Merlin about her idea.
+
+They came in the night, always taking what does not belong to them.... The SLIMES!
+They came in the night, always taking what does not belong to them.... The SLIMES!
+
+They can be a bit lacking in defensive power, however.
+They can be a bit lacking in defensive power, however.
+
+They can be equipped to make your look more interesting or to improve some of its features.
+They can be equipped to make your look more interesting or to improve some of its features.
+
+They cheat! They make silly tricks which look like magic.
+They cheat! They make silly tricks which look like magic.
+
+They did nothing good! They claim the Platinum Queen was a savior, all lies!
+They did nothing good! They claim the Platinum Queen was a savior, all lies!
+
+They had a TMWA server, but the Monster King went hyperactive and... Well, it crashed here.
+They had a TMWA server, but the Monster King went hyperactive and... Well, it crashed here.
+
+They had a critical role in ensuring the human's race survival to The Great Fire.
+They had a critical role in ensuring the human's race survival to The Great Fire.
+
+They have 10x more chance to drop a @@, so it is a great deal!
+They have 10x more chance to drop a @@, so it is a great deal!
+
+They haven't found Mana Stones yet, so no magic, but alchemy is strong. I don't know what caused the Great Fire, and the whole event is time-locked. You can ask Falkrun for more about the Great Fire. That's what you need to know for now.
+They haven't found Mana Stones yet, so no magic, but alchemy is strong. I don't know what caused the Great Fire, and the whole event is time-locked. You can ask Falkrun for more about the Great Fire. That's what you need to know for now.
+
+They jump left and right and left and right again, and I can't catch them.
+They jump left and right and left and right again, and I can't catch them.
+
+They left me no inheritance, either. Even surviving has been a struggle. I'm not strong enough to kill the living potatoes for @@.
+They left me no inheritance, either. Even surviving has been a struggle. I'm not strong enough to kill the living potatoes for @@.
+
+They live below this town. Can you do this for me?
+They live below this town. Can you do this for me?
+
+They must be hiding in some cave... It's a shame!
+They must be hiding in some cave... It's a shame!
+
+They must be reagents used in alchemy.
+They must be reagents used in alchemy.
+
+They must never know we had it. Their sacrifices must be forgotten. For the sake of all.
+They must never know we had it. Their sacrifices must be forgotten. For the sake of all.
+
+They need to be feed, when hunger falls below 75. @@ is the best food for them.
+They need to be feed, when hunger falls below 75. @@ is the best food for them.
+
+They promised to travel to the ##BWorld Edge##b to fetch a Mana Fragment. The wisest of them said it was the only chance.
+They promised to travel to the ##BWorld Edge##b to fetch a Mana Fragment. The wisest of them said it was the only chance.
+
+They rely entirely in intelligence and magic equipment.
+They rely entirely in intelligence and magic equipment.
+
+They restrict access to it to prevent new Monster Kings from emerging. They also keep record on every mage in the world.
+They restrict access to it to prevent new Monster Kings from emerging. They also keep record on every mage in the world.
+
+They set up shop in the whole town, so if you are in need of upgrading your gear or buying health food, it might be a good idea to pay them a visit.
+They set up shop in the whole town, so if you are in need of upgrading your gear or buying health food, it might be a good idea to pay them a visit.
+
+They shouldn't. Could you perhaps, kindly bring me 1 @@?
+They shouldn't. Could you perhaps, kindly bring me 1 @@?
+
+They use magic to boost their bodies, allowing them to do very, VERY powerful physical attacks.
+They use magic to boost their bodies, allowing them to do very, VERY powerful physical attacks.
+
+They use mana to create magic attacks and blast their foes away.
+They use mana to create magic attacks and blast their foes away.
+
+They used to be an advanced civilization long long ago, but they decided to go against the Moubootaur.
+They used to be an advanced civilization long long ago, but they decided to go against the Moubootaur.
+
+They used to export food and other things but there has been radio silence recentely; Which is why Andrei Sakar and a group of adventurers borrowed Nard's ship and went to investigate.
+They used to export food and other things but there has been radio silence recentely; Which is why Andrei Sakar and a group of adventurers borrowed Nard's ship and went to investigate.
+
+They wanted magic to be once again free!
+They wanted magic to be once again free!
+
+They were a noob.
+They were a noob.
+
+They were given with @@ by @@.
+They were given with @@ by @@.
+
+They were never again seen. None of them. We burnt all records about everyone here, and blamed the Monster King.
+They were never again seen. None of them. We burnt all records about everyone here, and blamed the Monster King.
+
+They were sending food and supplies to the Alliance, but in the past months, there was a deadly silence. Not a single sign of life came from there.
+They were sending food and supplies to the Alliance, but in the past months, there was a deadly silence. Not a single sign of life came from there.
+
+They will all perish, along most of wildlife, according to the legend passed down.
+They will all perish, along most of wildlife, according to the legend passed down.
+
+They will not attack anyone unless they are attacked first.
+They will not attack anyone unless they are attacked first.
+
+They will try to prove your worth before, though. So be ready.
+They will try to prove your worth before, though. So be ready.
+
+They'll also start spawning on whole map, so be careful.
+They'll also start spawning on whole map, so be careful.
+
+They're back - and they took hold of your majesty - my husband - king Arthur!
+They're back - and they took hold of your majesty - my husband - king Arthur!
+
+They're not magic, but yayaya, people like to say it is! Yeyeye.
+They're not magic, but yayaya, people like to say it is! Yeyeye.
+
+They're not too dangerous, but they can take a lot of hits. So, if you kill 10 of them, I'll know you're dedicated in learning which monsters are out there.
+They're not too dangerous, but they can take a lot of hits. So, if you kill 10 of them, I'll know you're dedicated in learning which monsters are out there.
+
+They're scary, don't you think so?
+They're scary, don't you think so?
+
+They're strong, so keep fighting Maggots and Scorpions which you're used to, until you get stronger.
+They're strong, so keep fighting Maggots and Scorpions which you're used to, until you get stronger.
+
+They're too strong for me!
+They're too strong for me!
+
+They're with me.
+They're with me.
+
+Thief
+Thief
+
+Think on Season Quests as a yearly quest which you have three months to do.
+Think on Season Quests as a yearly quest which you have three months to do.
+
+Think on it like a... perk, for having helped the adventurers in this world. I just need to check if you are eligible, hold still.
+Think on it like a... perk, for having helped the adventurers in this world. I just need to check if you are eligible, hold still.
+
+Thinking a bit... Yes, you definitely should go to the mines. They have been infested by slimes and people sometimes worry they'll leave and attack the town, but you should be capable of suppressing them.
+Thinking a bit... Yes, you definitely should go to the mines. They have been infested by slimes and people sometimes worry they'll leave and attack the town, but you should be capable of suppressing them.
+
+Thinking well, I've heard Cyndala could bleach these pants for free; Must be because their ugliness.
+Thinking well, I've heard Cyndala could bleach these pants for free; Must be because their ugliness.
+
+Thinking well... There's something behind it! A secret window!
+Thinking well... There's something behind it! A secret window!
+
+Third Tier
+Third Tier
+
+This %s will do. I mean, it won't be a comfortable trip, but you are in an emergency situation.
+This %s will do. I mean, it won't be a comfortable trip, but you are in an emergency situation.
+
+This @@ is a nice stuff. I can refine it for @@ GP and @@ @@.
+This @@ is a nice stuff. I can refine it for @@ GP and @@ @@.
+
+This Portal can send your soul back to the world, along any items, money and/or experience gained.
+This Portal can send your soul back to the world, along any items, money and/or experience gained.
+
+This Real Estate is available for rent for only @@ GP!
+This Real Estate is available for rent for only @@ GP!
+
+This a simple game; Choose one of the shrines - west or east. The one at west is %s, the one at east is %s.
+This a simple game; Choose one of the shrines - west or east. The one at west is %s, the one at east is %s.
+
+This action CANNOT BE UNDONE.
+This action CANNOT BE UNDONE.
+
+This area is not yet ready. Please use the portal to the right instead.
+This area is not yet ready. Please use the portal to the right instead.
+
+This area is only for level 70 upwards.
+This area is only for level 70 upwards.
+
+This barrel is a courtesy from Dimond Cove Inn.
+This barrel is a courtesy from Dimond Cove Inn.
+
+This barrel seems suspicious...
+This barrel seems suspicious...
+
+This basically means that it'll be another day without it.
+This basically means that it'll be another day without it.
+
+This book is too advanced to read. You need level %d in %s to read it.
+This book is too advanced to read. You need level %d in %s to read it.
+
+This book outlines the laws which applies everywhere in the World Of Mana.
+This book outlines the laws which applies everywhere in the World Of Mana.
+
+This book will write itself, and reveal you the Secret Of Mana.
+This book will write itself, and reveal you the Secret Of Mana.
+
+This boost can be used until level 20.
+This boost can be used until level 20.
+
+This bounty has expired.
+This bounty has expired.
+
+This boy needs help, we need to rescue him!#1
+This boy needs help, we need to rescue him!
+
+This can only be reverted at rebirth! Beware!
+This can only be reverted at rebirth! Beware!
+
+This cannot be evolved.
+This cannot be evolved.
+
+This cannot be undo later!
+This cannot be undo later!
+
+This cave is considered outside the town!
+This cave is considered outside the town!
+
+This certainly is just to reorganize their armies. We must take this chance to improve ourselves, or else, we'll be overrun soon enough.
+This certainly is just to reorganize their armies. We must take this chance to improve ourselves, or else, we'll be overrun soon enough.
+
+This challenge will be available in %s. Please wait until then.
+This challenge will be available in %s. Please wait until then.
+
+This character person is strange I better get away...
+This character person is strange I better get away...
+
+This choice CANNOT be undone later.
+This choice CANNOT be undone later.
+
+This coal will aid you to craft better weapons later. It's a token of appreciation. Good job.
+This coal will aid you to craft better weapons later. It's a token of appreciation. Good job.
+
+This command cannot be used on test servers.
+This command cannot be used on test servers.
+
+This conversation never happened.
+This conversation never happened.
+
+This curse reclaims your soul to the Soul Eater. Except, she perished on the Great Fire.
+This curse reclaims your soul to the Soul Eater. Except, she perished on the Great Fire.
+
+This diary had several pages torn off, but the last page is clearly legible.
+This diary had several pages torn off, but the last page is clearly legible.
+
+This didn't work. All pins are now unset!
+This didn't work. All pins are now unset!
+
+This doesn't looks like a toy.
+This doesn't looks like a toy.
+
+This door is locked, if we only had a %s...
+This door is locked, if we only had a %s...
+
+This door is locked.
+This door is locked.
+
+This door is locked. A warning sign is on the door: "do not enter!".
+This door is locked. A warning sign is on the door: "do not enter!".
+
+This error is fatal, we stop execution.
+This error is fatal, we stop execution.
+
+This estate currently belongs to @@.
+This estate currently belongs to @@.
+
+This estate is available for rent, talk to the sign to rent it.
+This estate is available for rent, talk to the sign to rent it.
+
+This event has already ended.
+This event has already ended.
+
+This event is unique, and cannot be repeated.
+This event is unique, and cannot be repeated.
+
+This example will not be shown again.
+This example will not be shown again.
+
+This exposition has to be a success!
+This exposition has to be a success!
+
+This farm is dying due constant monster attacks, and without them, Tulimshar might face a famine.
+This farm is dying due constant monster attacks, and without them, Tulimshar might face a famine.
+
+This fertilizer is projected to protect the plants from plagues, bugs, scorpions and maggots, trying to not be a plague itself.
+This fertilizer is projected to protect the plants from plagues, bugs, scorpions and maggots, trying to not be a plague itself.
+
+This fishing spot has just been used, give it a rest.
+This fishing spot has just been used, give it a rest.
+
+This fishing spot is already being used!
+This fishing spot is already being used!
+
+This forge will prepare equipment for you, no skill required!
+This forge will prepare equipment for you, no skill required!
+
+This gate is still sealed.
+This gate is still sealed.
+
+This girl needs help, we need to rescue her!#0
+This girl needs help, we need to rescue her!
+
+This happens quite often, too. My friends and I are always collecting keys to reduce beer price on Hurnscald. %%2
+This happens quite often, too. My friends and I are always collecting keys to reduce beer price on Hurnscald. %%2
+
+This has been a long journey, children, so please answer me. Is power a good thing?
+This has been a long journey, children, so please answer me. Is power a good thing?
+
+This have many uses. Maybe. Anyway, I'm soon done with my experiment, so please come back later.
+This have many uses. Maybe. Anyway, I'm soon done with my experiment, so please come back later.
+
+This is ##BCandor Island##b. A very small rich community lives here.
+This is ##BCandor Island##b. A very small rich community lives here.
+
+This is Duck Island, the last safe refuge for birds. Ducks tend to be very peaceful, but our young ruler, King DD, has been taken up with the art of war.
+This is Duck Island, the last safe refuge for birds. Ducks tend to be very peaceful, but our young ruler, King DD, has been taken up with the art of war.
+
+This is Tulishmar, the oldest of human cities.
+This is Tulishmar, the oldest of human cities.
+
+This is a @@, meaning only the victor party will receive the great prize.
+This is a @@, meaning only the victor party will receive the great prize.
+
+This is a Cursed Lands map, you'll lose mana over time and may also incurr in debuffs if mana is low (may cause death).
+This is a Cursed Lands map, you'll lose mana over time and may also incurr in debuffs if mana is low (may cause death).
+
+This is a Soul Menhir, but seems more magical than the others.
+This is a Soul Menhir, but seems more magical than the others.
+
+This is a bleeding map, HP won't recover naturally, and bleeding may start.
+This is a bleeding map, HP won't recover naturally, and bleeding may start.
+
+This is a hot map, you're suffering damage over time.
+This is a hot map, you're suffering damage over time.
+
+This is a magical barrier, powered by three seals in your part.
+This is a magical barrier, powered by three seals in your part.
+
+This is a menu, click on the option and then on submit. You can use arrow keys if you prefer.
+This is a menu, click on the option and then on submit. You can use arrow keys if you prefer.
+
+This is a menu. You can click on the desired option and press "Send", and double-clicking should work, too.
+This is a menu. You can click on the desired option and press "Send", and double-clicking should work, too.
+
+This is a special map so your death is not counted.
+This is a special map so your death is not counted.
+
+This is a strange switch...
+This is a strange switch...
+
+This is a weird stone. It looks like a Mana Stone from afar, but anyone can tell it is fake.
+This is a weird stone. It looks like a Mana Stone from afar, but anyone can tell it is fake.
+
+This is an apartment. You cannot renew until it expire, and cannot invite guests.
+This is an apartment. You cannot renew until it expire, and cannot invite guests.
+
+This is another chant which causes normal fire damage in an area.
+This is another chant which causes normal fire damage in an area.
+
+This is difficult, but you are giving your best!!
+This is difficult, but you are giving your best!!
+
+This is going to be difficult... oh, hello. I'm working on recreating some of the books that were destroyed.
+This is going to be difficult... oh, hello. I'm working on recreating some of the books that were destroyed.
+
+This is great! My collection of rare figurines is now complete.
+This is great! My collection of rare figurines is now complete.
+
+This is how the Monster King became evil. Keep practicing magic, so you get more comfortable with it and fail less often.
+This is how the Monster King became evil. Keep practicing magic, so you get more comfortable with it and fail less often.
+
+This is in honor of all the [@@help://about-server|Contributors@@] who helped rebuilding this world, after the Monster War outbreak.
+This is in honor of all the [@@help://about-server|Contributors@@] who helped rebuilding this world, after the Monster War outbreak.
+
+This is just a bucket, but I did some cuts on it so you can see though it. It protects your whole face.
+This is just a bucket, but I did some cuts on it so you can see though it. It protects your whole face.
+
+This is just a friendly advise. We don't take magic lightly. And you shouldn't, either.
+This is just a friendly advise. We don't take magic lightly. And you shouldn't, either.
+
+This is just a short list to make GMs life easier!
+This is just a short list to make GMs life easier!
+
+This is just an example of a chant which causes low damage in an area.
+This is just an example of a chant which causes low damage in an area.
+
+This is my chance - the biggest Mana Quake ever, it feels like a whole world crushing in ours. I can feel the drain from Candor's Mana Reserves all the way up here.
+This is my chance - the biggest Mana Quake ever, it feels like a whole world crushing in ours. I can feel the drain from Candor's Mana Reserves all the way up here.
+
+This is not The Mana World. My name is not Bryant.
+This is not The Mana World. My name is not Bryant.
+
+This is not a healing item.
+This is not a healing item.
+
+This is not a place for non-experimented people!
+This is not a place for non-experimented people!
+
+This is not enough, I need 5 @@ to perform the rite. Go talk with Zitoni.
+This is not enough, I need 5 @@ to perform the rite. Go talk with Zitoni.
+
+This is not magic, it is science!
+This is not magic, it is science!
+
+This is not meant for me.
+This is not meant for me.
+
+This is not saved.
+This is not saved.
+
+This is not the first time you've been arrested for AFK botting, so, ##BNO!##b
+This is not the first time you've been arrested for AFK botting, so, ##BNO!##b
+
+This is not what I asked for.
+This is not what I asked for.
+
+This is often 1, 2 or 3 tiles. For talking, usually 4 or 5 tiles. Shouting can be done from 12 up to 18 tiles; But as shouting is rude, most NPCs won't react to it.
+This is often 1, 2 or 3 tiles. For talking, usually 4 or 5 tiles. Shouting can be done from 12 up to 18 tiles; But as shouting is rude, most NPCs won't react to it.
+
+This is only for the skilled players. Newbies, KEEP OUT!
+This is only for the skilled players. Newbies, KEEP OUT!
+
+This is ridiculous. Groata is not here, I am wasting my time!
+This is ridiculous. Groata is not here, I am wasting my time!
+
+This is so amusing, you decide to stare for a while longer.
+This is so amusing, you decide to stare for a while longer.
+
+This is terrible - a fiend from a parallel dimension has broken in ours!
+This is terrible - a fiend from a parallel dimension has broken in ours!
+
+This is the @@ skill. It transmutes a single @@ in a @@.
+This is the @@ skill. It transmutes a single @@ in a @@.
+
+This is the @@ skill. It transmutes stuff into other stuff. I'll teach you some more recipes as class drag on.
+This is the @@ skill. It transmutes stuff into other stuff. I'll teach you some more recipes as class drag on.
+
+This is the FAIRYEMPIRE spell. It'll summon Pixies.
+This is the FAIRYEMPIRE spell. It'll summon Pixies.
+
+This is the FROZENHEART spell. It'll summon... Yeti.
+This is the FROZENHEART spell. It'll summon... Yeti.
+
+This is the STONEHEART spell. It'll summon the fierce Terranite.
+This is the STONEHEART spell. It'll summon the fierce Terranite.
+
+This is the end for your party, as the leader doesn't have sufficient level.
+This is the end for your party, as the leader doesn't have sufficient level.
+
+This is the least I could do for you. Many thanks. And if you have more food, you can keep feeding my family.
+This is the least I could do for you. Many thanks. And if you have more food, you can keep feeding my family.
+
+This is the main hall. Below this stairs, you'll find the Heroes Hold Main Dungeon. It's a cave in a... uhm. Water.
+This is the main hall. Below this stairs, you'll find the Heroes Hold Main Dungeon. It's a cave in a... uhm. Water.
+
+This is the perfect opportunity to help Celestia.
+This is the perfect opportunity to help Celestia.
+
+This is the test server.
+This is the test server.
+
+This is too powerful to you. Get level 20 before attempting to use.
+This is too powerful to you. Get level 20 before attempting to use.
+
+This is too precious to offer, I think.
+This is too precious to offer, I think.
+
+This is why I love spring!
+This is why I love spring!
+
+This isn't what we requested. Perhaps you should count your items more carefully.
+This isn't what we requested. Perhaps you should count your items more carefully.
+
+This item cannot be auctioned.
+This item cannot be auctioned.
+
+This item cannot be dropped.
+This item cannot be dropped.
+
+This item cannot be refined further.
+This item cannot be refined further.
+
+This item cannot be sold.
+This item cannot be sold.
+
+This item cannot be stored.
+This item cannot be stored.
+
+This item cannot be traded normally and is a Legendary Item.
+This item cannot be traded normally and is a Legendary Item.
+
+This item cannot be traded.
+This item cannot be traded.
+
+This item cannot be used as bait here.
+This item cannot be used as bait here.
+
+This item drop rate is %s%%, which exceeds the threshold of %s%%.
+This item drop rate is %s%%, which exceeds the threshold of %s%%.
+
+This item have no bonuses, and cannot be tweaked.
+This item have no bonuses, and cannot be tweaked.
+
+This item is too precious, you cannot part with it!
+This item is too precious, you cannot part with it!
+
+This key is dropped by the Saxso Ghost. Did you knew you can obtain info about the monster drop rates and strength?
+This key is dropped by the Saxso Ghost. Did you knew you can obtain info about the monster drop rates and strength?
+
+This live sword drafts itself to your hand. You can wield it during today's event.
+This live sword drafts itself to your hand. You can wield it during today's event.
+
+This live sword drafts itself to your hand. You can wield it for a while.
+This live sword drafts itself to your hand. You can wield it for a while.
+
+This lock is beyond your current capacity.
+This lock is beyond your current capacity.
+
+This lock is simple, maybe with your thief skills you can manage to pry it open. But beware, you can end up in jail!
+This lock is simple, maybe with your thief skills you can manage to pry it open. But beware, you can end up in jail!
+
+This looks magical, I wonder what it does.
+This looks magical, I wonder what it does.
+
+This lord dropped a key and a stash of gold!
+This lord dropped a key and a stash of gold!
+
+This man is THE LEGENDARY KING ARTHUR!
+This man is THE LEGENDARY KING ARTHUR!
+
+This map contains poisonous gas and may cause diseases.
+This map contains poisonous gas and may cause diseases.
+
+This means ##BAll items were lost##b, and you need to collect EVERYTHING, again, to get the hat.
+This means ##BAll items were lost##b, and you need to collect EVERYTHING, again, to get the hat.
+
+This means everytime you get more power, you lose control. Pratice is the key.
+This means everytime you get more power, you lose control. Pratice is the key.
+
+This means that if you die while in the past, you'll be brought back here as if you never traveled in time.
+This means that if you die while in the past, you'll be brought back here as if you never traveled in time.
+
+This means that if you drop a coin on Advanced Dungeon, 4 coins will be dropped instead. On Expert, that would be 8.
+This means that if you drop a coin on Advanced Dungeon, 4 coins will be dropped instead. On Expert, that would be 8.
+
+This menu allows you to customize your appearance.
+This menu allows you to customize your appearance.
+
+This menu allows you to manage events and gives access to event-related tools.
+This menu allows you to manage events and gives access to event-related tools.
+
+This menu allows you to modify the generic message that is sent to players when they log in.
+This menu allows you to modify the generic message that is sent to players when they log in.
+
+This menu allows you to modify your account data.
+This menu allows you to modify your account data.
+
+This menu allows you to set the scheduled broadcast that is sent to all players at a specific interval.
+This menu allows you to set the scheduled broadcast that is sent to all players at a specific interval.
+
+This menu contains all options available to you, based on your access privileges.
+This menu contains all options available to you, based on your access privileges.
+
+This menu gives access to quest debug menus for @@ quests.
+This menu gives access to quest debug menus for @@ quests.
+
+This menu gives you some options which affect your account.
+This menu gives you some options which affect your account.
+
+This might be the place of a great secret, but yet, all you can do is stare.
+This might be the place of a great secret, but yet, all you can do is stare.
+
+This new skill will allow you to pinch every gold piece from a NPC when selling stuff! Ka-pow, now you can steal items and resell them for moar GP! AMAZING!
+This new skill will allow you to pinch every gold piece from a NPC when selling stuff! Ka-pow, now you can steal items and resell them for moar GP! AMAZING!
+
+This note is not interesting, maybe the obelisk is more.
+This note is not interesting, maybe the obelisk is more.
+
+This note is too old and difficult to read.
+This note is too old and difficult to read.
+
+This one is useless! Give me another @@.
+This one is useless! Give me another @@.
+
+This option is not yet available for you; Please purchase the Premium Storage first, and then we can get started on the deluxe.
+This option is not yet available for you; Please purchase the Premium Storage first, and then we can get started on the deluxe.
+
+This option will be remembered by other NPCs as well.
+This option will be remembered by other NPCs as well.
+
+This passage is still sealed.
+This passage is still sealed.
+
+This passage seems sealed. If I only had a @@...
+This passage seems sealed. If I only had a @@...
+
+This place is reeking blood. We better come again later.
+This place is reeking blood. We better come again later.
+
+This program will cause experience gain to be tripled during the next siege to the town.
+This program will cause experience gain to be tripled during the next siege to the town.
+
+This quest will unlock at level 5.
+This quest will unlock at level 5.
+
+This quota is reset yearly, by completing %s's quest.
+This quota is reset yearly, by completing %s's quest.
+
+This random cave-warping only happens once, too.
+This random cave-warping only happens once, too.
+
+This request was made by the inn: The %ss are stealing their cherry cakes, causing disruption to their business.
+This request was made by the inn: The %ss are stealing their cherry cakes, causing disruption to their business.
+
+This research caused a lot of neglect, so expect poverty and people unwilling to talk. Benjamin, head of the council, is doing a "breaktrhough" in the most literal sense possible (breaking through the whole town finances instead of revolutionizing the world).
+This research caused a lot of neglect, so expect poverty and people unwilling to talk. Benjamin, head of the council, is doing a "breaktrhough" in the most literal sense possible (breaking through the whole town finances instead of revolutionizing the world).
+
+This room is too dark. I want to brighten it up.
+This room is too dark. I want to brighten it up.
+
+This schedule is subject to change without prior notice.
+This schedule is subject to change without prior notice.
+
+This seal was already broken, proceed to the next seal!
+This seal was already broken, proceed to the next seal!
+
+This seems like a good idea at first, but actually, it isn't.
+This seems like a good idea at first, but actually, it isn't.
+
+This set grants the following effect when complete:
+This set grants the following effect when complete:
+
+This set is composed by the following items:
+This set is composed by the following items:
+
+This setting can only be changed every %d days.
+This setting can only be changed every %d days.
+
+This shrine is devoted to those whom shall never come back.
+This shrine is devoted to those whom shall never come back.
+
+This shrine seems to be a dangerous place, and nobody should defile it.
+This shrine seems to be a dangerous place, and nobody should defile it.
+
+This silk robe is more than enough, and you are fighting, you need the def bonus more than me. %%2
+This silk robe is more than enough, and you are fighting, you need the def bonus more than me. %%2
+
+This singularity will remain disarmed for @@ more!
+This singularity will remain disarmed for @@ more!
+
+This skill can only be used on monsters!
+This skill can only be used on monsters!
+
+This skill can only be used on players!
+This skill can only be used on players!
+
+This skill cannot be upgraded further.
+This skill cannot be upgraded further.
+
+This small island is a good place to heal our wounds, and the monsters here are not threating.
+This small island is a good place to heal our wounds, and the monsters here are not threating.
+
+This statue was built for memory of Andrei Sakar, the greatest hero this world has even seen.
+This statue was built for memory of Andrei Sakar, the greatest hero this world has even seen.
+
+This switch controls one of the four dungeons.
+This switch controls one of the four dungeons.
+
+This table will prepare the potion for you, no skill required!
+This table will prepare the potion for you, no skill required!
+
+This tax must be paid now, and you can brew as much as you wish after payment.
+This tax must be paid now, and you can brew as much as you wish after payment.
+
+This teleporter is currently recharging.
+This teleporter is currently recharging.
+
+This throne is not from the Monster King... IT BELONGS ONLY TO ME!
+This throne is not from the Monster King... IT BELONGS ONLY TO ME!
+
+This time, I only a few last reagents and I'll finally attempt it... I want you to witness it. I'll teach you the spell later, of course.
+This time, I only a few last reagents and I'll finally attempt it... I want you to witness it. I'll teach you the spell later, of course.
+
+This time, I'll be prepared. His reign of terror has its days counted.
+This time, I'll be prepared. His reign of terror has its days counted.
+
+This torch is already lit.
+This torch is already lit.
+
+This tree is crazy!!
+This tree is crazy!!
+
+This vault currently have @@ GP inside.
+This vault currently have @@ GP inside.
+
+This well is sealed. They must take water outside the town.
+This well is sealed. They must take water outside the town.
+
+This well is too deep and you don't have a bucket.
+This well is too deep and you don't have a bucket.
+
+This whole region is called the Heroes Hold. It's designed for hard core, bragging-rights-hunters, high level, supreme players.
+This whole region is called the Heroes Hold. It's designed for hard core, bragging-rights-hunters, high level, supreme players.
+
+This whole situation is very disquieting, not to say suspicious. There might be something more to it that we're not seeing.
+This whole situation is very disquieting, not to say suspicious. There might be something more to it that we're not seeing.
+
+This will affect humans, too, so don't act as if it is not your bussiness either.
+This will affect humans, too, so don't act as if it is not your bussiness either.
+
+This will affect rewards, and decision is final!
+This will affect rewards, and decision is final!
+
+This will be remembered.
+This will be remembered.
+
+This will be your last task. Besides the @@, the strongest monster on this island worth killing is the @@.
+This will be your last task. Besides the @@, the strongest monster on this island worth killing is the @@.
+
+This will bring me back to the Hall.
+This will bring me back to the Hall.
+
+This will cost you all your action points.
+This will cost you all your action points.
+
+This will do nothing if the account already have a PIN.
+This will do nothing if the account already have a PIN.
+
+This will remove you from the quest!
+This will remove you from the quest!
+
+This will take only a short while.
+This will take only a short while.
+
+This workshop doesn't gets too many tasks from Santa outside the Christmas...
+This workshop doesn't gets too many tasks from Santa outside the Christmas...
+
+This would mean you might need to complete this quest again in the future.
+This would mean you might need to complete this quest again in the future.
+
+Thorn
+Thorn
+
+Thorn Ammo Box
+Thorn Ammo Box
+
+Thorn Arrow
+Thorn Arrow
+
+Thorn Chest
+Thorn Chest
+
+Thorn is so annoying...
+Thorn is so annoying...
+
+Those for consumption, equipment and generics.
+Those for consumption, equipment and generics.
+
+Those with most %s on this world becomes scholars.
+Those with most %s on this world becomes scholars.
+
+Three equal: @@.
+Three equal: @@.
+
+Three powerful consecutive brawn attacks with a chance to stun target.
+Three powerful consecutive brawn attacks with a chance to stun target.
+
+Three powerful consecutive brawn attacks.
+Three powerful consecutive brawn attacks.
+
+Throw a coin?
+Throw a coin?
+
+Throw something inside!
+Throw something inside!
+
+Thug
+Thug
+
+Thunder Staff
+Thunder Staff
+
+Thus far you have collected @@ @@, @@ @@ and @@ @@.
+Thus far you have collected @@ @@, @@ @@ and @@ @@.
+
+Thus far you've slain %s/%s %s for me!
+Thus far you've slain %s/%s %s for me!
+
+Thus far, you've donated @@ boxes.
+Thus far, you've donated @@ boxes.
+
+Thus far, you've heard about %d hours and %d minutes of wisdom.
+Thus far, you've heard about %d hours and %d minutes of wisdom.
+
+Thus far, you've sponsored Golbarez in %d %% from total.
+Thus far, you've sponsored Golbarez in %d %% from total.
+
+Thus, I like to collect small memetos from Tulimshar.
+Thus, I like to collect small memetos from Tulimshar.
+
+Time Flask
+Time Flask
+
+Time Limit
+Time Limit
+
+Time Limit: 25 minutes on any dungeon.
+Time Limit: 25 minutes on any dungeon.
+
+Time Limit: 90 minutes
+Time Limit: 90 minutes
+
+Time is running out... Hurry up!
+Time is running out... Hurry up!
+
+Time left until warp can be used: %s
+Time left until warp can be used: %s
+
+Time left: %d minutes
+Time left: %d minutes
+
+Time left: %s
+Time left: %s
+
+Time left: @@ remaining
+Time left: @@ remaining
+
+Time limit for answer: 2 minutes
+Time limit for answer: 2 minutes
+
+Time limit: 10 minutes
+Time limit: 10 minutes
+
+Time out!
+Time out!
+
+Time remaining to report completion:
+Time remaining to report completion:
+
+Time remaining: %s
+Time remaining: %s
+
+Times died: %s
+Times died: %s
+
+Times reborn: %d
+Times reborn: %d
+
+Times won Call of Dusty: %s
+Times won Call of Dusty: %s
+
+Times won Capture the Flag: %s
+Times won Capture the Flag: %s
+
+Tin Ingot
+Tin Ingot
+
+Tin Ore
+Tin Ore
+
+Tin Ore -> Gold Ore
+Tin Ore -> Gold Ore
+
+Tinris
+Tinris
+
+Tinris probably could do that, he is young but very talented. He is a greedy elf, but if you help him, he'll likely help you back.
+Tinris probably could do that, he is young but very talented. He is a greedy elf, but if you help him, he'll likely help you back.
+
+Tipiou
+Tipiou
+
+Tipiu
+Tipiu
+
+Titanium Ingot
+Titanium Ingot
+
+Titanium Ore
+Titanium Ore
+
+Titanium Ore -> Lead Ore
+Titanium Ore -> Lead Ore
+
+Titanium Ore and Coal refunded on Leather Quiver update.
+Titanium Ore and Coal refunded on Leather Quiver update.
+
+Titulation
+Titulation
+
+Tneck Sweater
+Tneck Sweater
+
+To Artis.
+To Artis.
+
+To Candor Island.
+To Candor Island.
+
+To Hurnscald.
+To Hurnscald.
+
+To Nivalis.
+To Nivalis.
+
+To Tulimshar.
+To Tulimshar.
+
+To aid those in need
+To aid those in need
+
+To answer them, use: @captcha <num_value>
+To answer them, use: @captcha <num_value>
+
+To be honest, I don't know. I was only walking, seeking for adventure!
+To be honest, I don't know. I was only walking, seeking for adventure!
+
+To be honest, I don't know. Your wife just allowed me to pass the door!
+To be honest, I don't know. Your wife just allowed me to pass the door!
+
+To be honest, I have that with me!
+To be honest, I have that with me!
+
+To be honest, you should use both. And remember, all Mana Magic skills can be used like they were @sk-commands. %%H
+To be honest, you should use both. And remember, all Mana Magic skills can be used like they were @sk-commands. %%H
+
+To cast, one must sit on the circle and say the chant on general chat.
+To cast, one must sit on the circle and say the chant on general chat.
+
+To cause a server happy hour (+%d%% EXP), you need:
+To cause a server happy hour (+%d%% EXP), you need:
+
+To celebrate this I'll ask you some questions about my favourite book, The Hitchhiker's Guide to the Galaxy. If you can answer them, I'll give you something very useful.
+To celebrate this I'll ask you some questions about my favourite book, The Hitchhiker's Guide to the Galaxy. If you can answer them, I'll give you something very useful.
+
+To collect snake skin
+To collect snake skin
+
+To craft an item, you'll need to learn its blueprint. Blueprints can be very hard to obtain! Being a crafter will take a lot of your time.
+To craft an item, you'll need to learn its blueprint. Blueprints can be very hard to obtain! Being a crafter will take a lot of your time.
+
+To create an homunculus out of the embryo mass: Use the Call Homunculus Skill. It'll be random, based on the embryo nature.
+To create an homunculus out of the embryo mass: Use the Call Homunculus Skill. It'll be random, based on the embryo nature.
+
+To create an homunculus, I should follow the secrets in the book "The Man Who Played God". I wrote this narrative with the greatest secrets of it.
+To create an homunculus, I should follow the secrets in the book "The Man Who Played God". I wrote this narrative with the greatest secrets of it.
+
+To defeat the Moubootaur.
+To defeat the Moubootaur.
+
+To defocus or stop attacking, press Shift + A.
+To defocus or stop attacking, press Shift + A.
+
+To demonstrate that you understood what I'm trying to teach you, you should go and fight against some snakes. I know they're strong, but that's not important to an archer.
+To demonstrate that you understood what I'm trying to teach you, you should go and fight against some snakes. I know they're strong, but that's not important to an archer.
+
+To discard an item you no longer want, select it and press the 'Discard' button. Generic items can be discarded or sold.
+To discard an item you no longer want, select it and press the 'Discard' button. Generic items can be discarded or sold.
+
+To display the dialog box with other citizens, press the F7 key.
+To display the dialog box with other citizens, press the F7 key.
+
+To do quests
+To do quests
+
+To do this you need to disable auto move to target in 'yellow bar'.
+To do this you need to disable auto move to target in 'yellow bar'.
+
+To dungeon deep, and cavern old
+To dungeon deep, and cavern old
+
+To enter on them, you need to be level 25 and use the following chant: "Blame Saulc". I don't know why, but that open doors!
+To enter on them, you need to be level 25 and use the following chant: "Blame Saulc". I don't know why, but that open doors!
+
+To equip or unequip an item, select it and press the 'Equip' or 'Unequip' button. You can not 'Equip' or 'Unequip' when talking to someone.
+To equip or unequip an item, select it and press the 'Equip' or 'Unequip' button. You can not 'Equip' or 'Unequip' when talking to someone.
+
+To explore these lands
+To explore these lands
+
+To find him, just leave the ship and turn left. You should also touch the Soul Menhir when you leave this ship.
+To find him, just leave the ship and turn left. You should also touch the Soul Menhir when you leave this ship.
+
+To focus on a creature, press the 'A' key. To focus on another citizen, press the 'Q' key. To attack the focused target press the 'X' key or click the primary button on the creature.
+To focus on a creature, press the 'A' key. To focus on another citizen, press the 'Q' key. To attack the focused target press the 'X' key or click the primary button on the creature.
+
+To focus on an NPC, press the 'N' key. To talk to him press the 'T' key.
+To focus on an NPC, press the 'N' key. To talk to him press the 'T' key.
+
+To get more experience and magic power, you must practice magical spells. Make sure to vary them; you will learn nothing if you cast the same spell over and over. Also, spells that consume no components seem not to be very instructive in practice.
+To get more experience and magic power, you must practice magical spells. Make sure to vary them; you will learn nothing if you cast the same spell over and over. Also, spells that consume no components seem not to be very instructive in practice.
+
+To get started with fishing, you'll need two things: a fishing rod and a bait.
+To get started with fishing, you'll need two things: a fishing rod and a bait.
+
+To get the combo, you must fill all slots if one of the listed items. Usually any of the listed ones will do, but in rare cases it won't!
+To get the combo, you must fill all slots if one of the listed items. Usually any of the listed ones will do, but in rare cases it won't!
+
+To get there you need to go left, follow rock wall and go up when you can. The entrance to the Bandit cave is on left side of the waterfall.
+To get there you need to go left, follow rock wall and go up when you can. The entrance to the Bandit cave is on left side of the waterfall.
+
+To help fairies
+To help fairies
+
+To insert a card, select the card and "use" it, or, drag and drop them to the weapon.
+To insert a card, select the card and "use" it, or, drag and drop them to the weapon.
+
+To join a drill, right click on one of the lieutenants and join their Battle Stations. The drill can last up to 10 minutes.
+To join a drill, right click on one of the lieutenants and join their Battle Stations. The drill can last up to 10 minutes.
+
+To make @@ I need one from each gem powders, and @@ GP for commission.
+To make @@ I need one from each gem powders, and @@ GP for commission.
+
+To make an %s I need a %s, an %s, and %s GP for commission.
+To make an %s I need a %s, an %s, and %s GP for commission.
+
+To make an %s I need a %s, three %s, and %s GP for commission.
+To make an %s I need a %s, three %s, and %s GP for commission.
+
+To make an %s I need a %s, two %s, and %s GP for commission.
+To make an %s I need a %s, two %s, and %s GP for commission.
+
+To make the string you want, I need a special oil, which I make myself. It's hard to do, so I'll spend time I could be using to fish or help the city guard.
+To make the string you want, I need a special oil, which I make myself. It's hard to do, so I'll spend time I could be using to fish or help the city guard.
+
+To my murders, I gave them a full meal.
+To my murders, I gave them a full meal.
+
+To negotiate with other citizens, you should click the second mouse button on some other citizen who is accepting negotiations, and select the 'Negotiation' option from the menu that will appear.
+To negotiate with other citizens, you should click the second mouse button on some other citizen who is accepting negotiations, and select the 'Negotiation' option from the menu that will appear.
+
+To open yellow Bar you need to right click on your health bar and active status bar, also called yellow bar. Or you can press '8' on numeric keypad.
+To open yellow Bar you need to right click on your health bar and active status bar, also called yellow bar. Or you can press '8' on numeric keypad.
+
+To open your inventory, use the F3 key or use your mouse to select it in the above menu in your client.
+To open your inventory, use the F3 key or use your mouse to select it in the above menu in your client.
+
+To pay in the specified date, we'll charge you %s over the loaned amount. So, how much?
+To pay in the specified date, we'll charge you %s over the loaned amount. So, how much?
+
+To perform most actions, like feeding and renaming, just right-click it. You can even put it back on the egg if its following gets too annoying. When in the egg, they will not feel hunger.
+To perform most actions, like feeding and renaming, just right-click it. You can even put it back on the egg if its following gets too annoying. When in the egg, they will not feel hunger.
+
+To prevent abuse, a registering fee is charged. Nothing major.
+To prevent abuse, a registering fee is charged. Nothing major.
+
+To prove me your faith, bring me 1 @@ or 1 @@.
+To prove me your faith, bring me 1 @@ or 1 @@.
+
+To prove me your results, bring me @@ @@, @@ @@ and @@ @@.
+To prove me your results, bring me @@ @@, @@ @@ and @@ @@.
+
+To reach this place... You just need to follow the path after the waterfall. Come back to me after that.
+To reach this place... You just need to follow the path after the waterfall. Come back to me after that.
+
+To register as a craftsman, you need to talk to Intense Beard in Terranite Forge. The forge is in the Bazar.#1
+To register as a craftsman, you need to talk to Intense Beard in Terranite Forge. The forge is in the Bazar.
+
+To register as a craftswoman, you need to talk to Intense Beard in Terranite Forge. The forge is in the Bazar.#0
+To register as a craftswoman, you need to talk to Intense Beard in Terranite Forge. The forge is in the Bazar.
+
+To register as a hunter, talk to Aidan, also in the marketplace - the Bazar.
+To register as a hunter, talk to Aidan, also in the marketplace - the Bazar.
+
+To retry, I will charge you %d GP or %d %s for each attempt made. You'll have less time to finish as well.
+To retry, I will charge you %d GP or %d %s for each attempt made. You'll have less time to finish as well.
+
+To scry Jesusaves, for example, you would do:
+To scry Jesusaves, for example, you would do:
+
+To seek our pale, enchanted gold
+To seek our pale, enchanted gold
+
+To speak in public select the 'General' tab. It serves to talk to people who are appearing on your screen.
+To speak in public select the 'General' tab. It serves to talk to people who are appearing on your screen.
+
+To speak privately to a friend who is not appearing on your screen, type the command '##B /q Citizen Name ##b' and press 'Enter'. This command will open a long-distance dialog that has the name of who you want to talk to. Select this new tab and send your message through it.
+To speak privately to a friend who is not appearing on your screen, type the command '##B /q Citizen Name ##b' and press 'Enter'. This command will open a long-distance dialog that has the name of who you want to talk to. Select this new tab and send your message through it.
+
+To speak privately with someone, click the second mouse button on the citizen and select the 'Whisper' option.
+To speak privately with someone, click the second mouse button on the citizen and select the 'Whisper' option.
+
+To successfully catch a fish, you need to pull up your hook by clicking it, right after it submerges.
+To successfully catch a fish, you need to pull up your hook by clicking it, right after it submerges.
+
+To thank you, accept my old fishing rod.
+To thank you, accept my old fishing rod.
+
+To the brave heart; An endless maze.
+To the brave heart; An endless maze.
+
+To the brave, shan't be your grave.
+To the brave, shan't be your grave.
+
+To the courageous, thy foe is rancorous.
+To the courageous, thy foe is rancorous.
+
+To the lovely cuteness; Unwavering helpfulness.
+To the lovely cuteness; Unwavering helpfulness.
+
+To the strong soul; Challenges to overthrow.
+To the strong soul; Challenges to overthrow.
+
+To the wanderer: Please avoid entering on the rooms by the internal warp system.
+To the wanderer: Please avoid entering on the rooms by the internal warp system.
+
+To train their soldiers, they frequently face Frostia in duels. Adventurers are welcome to join their drills.
+To train their soldiers, they frequently face Frostia in duels. Adventurers are welcome to join their drills.
+
+To understand the nature of this bow, you have to collect the needed material by yourself. Only this way will you get a feeling of what it means to use such a weapon.
+To understand the nature of this bow, you have to collect the needed material by yourself. Only this way will you get a feeling of what it means to use such a weapon.
+
+To unlock the cell on the middle of the throne room, you need to flip all 5 switches there.
+To unlock the cell on the middle of the throne room, you need to flip all 5 switches there.
+
+To which mirrored island you want to warp?
+To which mirrored island you want to warp?
+
+To whom you want to send @@ boxes? Cannot be yourself!
+To whom you want to send @@ boxes? Cannot be yourself!
+
+To your pleasant surprise the tea is actually quite good.
+To your pleasant surprise the tea is actually quite good.
+
+ToDo
+ToDo
+
+Today at 18:30 UTC we are going to attack the Monster King by surprise. There will be no delays, so be there.
+Today at 18:30 UTC we are going to attack the Monster King by surprise. There will be no delays, so be there.
+
+Today is soup of Pinkie Legs!
+Today is soup of Pinkie Legs!
+
+Together, they wrote legends. They slayed Toby Rick the Desert Worm, the mightiest desert beast.
+Together, they wrote legends. They slayed Toby Rick the Desert Worm, the mightiest desert beast.
+
+Toggle Daily Reward screen
+Toggle Daily Reward screen
+
+Toggle Inscription
+Toggle Inscription
+
+Toggle Soul Menhir automatic saving
+Toggle Soul Menhir automatic saving
+
+Token Of Apology: 1x @@, 1x @@
+Token Of Apology: 1x @@, 1x @@
+
+Token Of Apology: 1x @@, 570 GP
+Token Of Apology: 1x @@, 570 GP
+
+Tolchi
+Tolchi
+
+Tolchi Ammo Box
+Tolchi Ammo Box
+
+Tolchi Arrow
+Tolchi Arrow
+
+Told ya, %s, should know better than to mess with an... assassin!
+Told ya, %s, should know better than to mess with an... assassin!
+
+Tomorrow is the day, when we shall march against Raid, in order to free our people from the oppression of her mages.
+Tomorrow is the day, when we shall march against Raid, in order to free our people from the oppression of her mages.
+
+Tonori Delight
+Tonori Delight
+
+Tonori Human
+Tonori Human
+
+Tonori Water
+Tonori Water
+
+Too bad these lamps wear off after a while... I am making stocks of them now!
+Too bad these lamps wear off after a while... I am making stocks of them now!
+
+Too bad, There is some really good news this week. Things like how to go to Candor for free.
+Too bad, There is some really good news this week. Things like how to go to Candor for free.
+
+Too bad, you're really missing out!
+Too bad, you're really missing out!
+
+Too expensive %%n
+Too expensive %%n
+
+Too lazy.
+Too lazy.
+
+Too much power can corrupt you. I've seen this happening before... countless times.
+Too much power can corrupt you. I've seen this happening before... countless times.
+
+Too slow.
+Too slow.
+
+Tooth Necklace
+Tooth Necklace
+
+Toothbrush
+Toothbrush
+
+Top 10 - Summer Ched's Event
+Top 10 - Summer Ched's Event
+
+Top 10 - Valentine Day
+Top 10 - Valentine Day
+
+Top 5 - Christmas Box Donation Event
+Top 5 - Christmas Box Donation Event
+
+Top 5 - Golbarez Seasonal Quest
+Top 5 - Golbarez Seasonal Quest
+
+Top Hat
+Top Hat
+
+Topaz
+Topaz
+
+Topaz (+2 agi)
+Topaz (+2 agi)
+
+Topaz Bif
+Topaz Bif
+
+Topaz Powder
+Topaz Powder
+
+Toppy Blub
+Toppy Blub
+
+Torch#0065
+Torch#0065
+
+Torch#1
+Torch
+
+Torch#2
+Torch#2
+
+Torch#3
+Torch#3
+
+Torch#4
+Torch#4
+
+Torch#5
+Torch#5
+
+Tortuga
+Tortuga
+
+Tortuga Shell
+Tortuga Shell
+
+Tortuga Shell Fragment
+Tortuga Shell Fragment
+
+Tortuga Tongue
+Tortuga Tongue
+
+Toss the hook into deep water by clicking on where you want to cast it.
+Toss the hook into deep water by clicking on where you want to cast it.
+
+Total Credits and GP: @@
+Total Credits and GP: @@
+
+Total Gold: %s
+Total Gold: %s
+
+Total Logins: @@
+Total Logins: @@
+
+Total actions left: %d
+Total actions left: %d
+
+Total money collected: @@ GP
+Total money collected: @@ GP
+
+Total slow down, DEF-, may freeze
+Total slow down, DEF-, may freeze
+
+Total time AFK'ed in Tulimshar: %d hours and %d minutes
+Total time AFK'ed in Tulimshar: %d hours and %d minutes
+
+Toto
+Toto
+
+Touch Soul Menhir and visit the Valentine's Island.
+Touch Soul Menhir and visit the Valentine's Island.
+
+Touch it!
+Touch it!
+
+Touch it.
+Touch it.
+
+Towards thee I roll, thou all-destroying but unconquering whale; to the last I grapple with thee; from hell’s heart I stab at thee; for hate’s sake I spit my last breath at thee. Sink all coffins and all hearses to one common pool! And since neither can be mine, let me then tow to pieces, while still chasing thee, though tied to thee, thou damned whale! Thus, I give up the spear!
+Towards thee I roll, thou all-destroying but unconquering whale; to the last I grapple with thee; from hell’s heart I stab at thee; for hate’s sake I spit my last breath at thee. Sink all coffins and all hearses to one common pool! And since neither can be mine, let me then tow to pieces, while still chasing thee, though tied to thee, thou damned whale! Thus, I give up the spear!
+
+Town Administrator can use the town money for investments, and also receive a salary depending on how well the town is.
+Town Administrator can use the town money for investments, and also receive a salary depending on how well the town is.
+
+Town Defense Program
+Town Defense Program
+
+Town Defense Program enabled.
+Town Defense Program enabled.
+
+Town Money: @@
+Town Money: @@
+
+Town Reputation: %d | %d.%02d %% Tax
+Town Reputation: %d | %d.%02d %% Tax
+
+Town Tax: %d.%02d %%
+Town Tax: %d.%02d %%
+
+Town Weekly Exports: @@
+Town Weekly Exports: @@
+
+Townhall Guard#EP
+Townhall Guard#EP
+
+Trade
+Trade
+
+Trade 2 %s for a Silver Gift + a Bronze Gift
+Trade 2 %s for a Silver Gift + a Bronze Gift
+
+Trade Golden Eggs
+Trade Golden Eggs
+
+Trade Silver Eggs
+Trade Silver Eggs
+
+Trade a card
+Trade a card
+
+Trade my coins in Gift Boxes, pretty please!
+Trade my coins in Gift Boxes, pretty please!
+
+Trade stamps
+Trade stamps
+
+Trade the Gingerbread
+Trade the Gingerbread
+
+Trade the Xmas Cake
+Trade the Xmas Cake
+
+Trade the Xmas Candy Cane
+Trade the Xmas Candy Cane
+
+Trader
+Trader
+
+Trainer
+Trainer
+
+Training Ammo Box
+Training Ammo Box
+
+Training Arrow
+Training Arrow
+
+Training Bow
+Training Bow
+
+Training Dummy
+Training Dummy
+
+Training Wand
+Training Wand
+
+Training to be sages, their knowledge is unparalleled. They're masters of boosting skills.
+Training to be sages, their knowledge is unparalleled. They're masters of boosting skills.
+
+Transcendence Gate
+Transcendence Gate
+
+Transfer Mana
+Transfer Mana
+
+Translators
+Translators
+
+Transmutating @@ will require:
+Transmutating @@ will require:
+
+Transmutation Skill
+Transmutation Skill
+
+Transmute?!
+Transmute?!
+
+Trap Door
+Trap Door
+
+Trapper Hat
+Trapper Hat
+
+Travel to this area is impossible, due to the hordes of Monster Armies.
+Travel to this area is impossible, due to the hordes of Monster Armies.
+
+Treasure (High Quality)
+Treasure (High Quality)
+
+Treasure (Low Quality)
+Treasure (Low Quality)
+
+Treasure (Med Quality)
+Treasure (Med Quality)
+
+Treasure Key
+Treasure Key
+
+Treasure Map
+Treasure Map
+
+Treasure!
+Treasure!
+
+Treasurer
+Treasurer
+
+Tree Maze (Past Tulimshar)
+Tree Maze (Past Tulimshar)
+
+Trick Dead
+Trick Dead
+
+Trickmaster
+Trickmaster
+
+Tricks
+Tricks
+
+Tritan
+Tritan
+
+Tritan Voice
+Tritan Voice
+
+Triumph of the Eternals
+Triumph of the Eternals
+
+Troll
+Troll
+
+Truth is - I cannot do that. Obviously. But I know who can.
+Truth is - I cannot do that. Obviously. But I know who can.
+
+Try again!
+Try again!
+
+Try again?
+Try again?
+
+Try doing quests which doesn't involve monster hunting first. I'm sure ##B Ayasha ##b could use your help.
+Try doing quests which doesn't involve monster hunting first. I'm sure ##B Ayasha ##b could use your help.
+
+Try helping the city guard. Talk to NPCs around the city. Outside the city walls too. And there are some people on the mines.
+Try helping the city guard. Talk to NPCs around the city. Outside the city walls too. And there are some people on the mines.
+
+Try killing it, and if it kills you, just come back from death to continue killing it.
+Try killing it, and if it kills you, just come back from death to continue killing it.
+
+Try praticing with different mana magic skills. Anyway, you can use this command to see your magic proeficiency:
+Try praticing with different mana magic skills. Anyway, you can use this command to see your magic proeficiency:
+
+Try talking to Soul Menhir or with any NPC on Tulimshar Center (near Soul Menhir).
+Try talking to Soul Menhir or with any NPC on Tulimshar Center (near Soul Menhir).
+
+Try this one.
+Try this one.
+
+Try to don't take too long!
+Try to don't take too long!
+
+Try to make a good time, and... Good luck! On my signal, 3, 2, 1...
+Try to make a good time, and... Good luck! On my signal, 3, 2, 1...
+
+Trying to chant beyond your capabilities will only drain more mana and be inefficient.
+Trying to chant beyond your capabilities will only drain more mana and be inefficient.
+
+Trying to retrieve it now will have @@ % chance to be successful.
+Trying to retrieve it now will have @@ % chance to be successful.
+
+Tuber
+Tuber
+
+Tuesdays
+Tuesdays
+
+Tulim Warp Crystal
+Tulim Warp Crystal
+
+TulimShip
+TulimShip
+
+TulimShip#M
+TulimShip#M
+
+Tulimshar
+Tulimshar
+
+Tulimshar (@@m)
+Tulimshar (@@m)
+
+Tulimshar - @@ GP
+Tulimshar - @@ GP
+
+Tulimshar Beach
+Tulimshar Beach
+
+Tulimshar Bola
+Tulimshar Bola
+
+Tulimshar Guard
+Tulimshar Guard
+
+Tulimshar Guard Boots
+Tulimshar Guard Boots
+
+Tulimshar Guard Card
+Tulimshar Guard Card
+
+Tulimshar Guard Card will prove good intentions. Talk to the Lieutenant in front of the Guard House.
+Tulimshar Guard Card will prove good intentions. Talk to the Lieutenant in front of the Guard House.
+
+Tulimshar Map
+Tulimshar Map
+
+Tulimshar Mines
+Tulimshar Mines
+
+Tulimshar Office
+Tulimshar Office
+
+Tulimshar Townhall
+Tulimshar Townhall
+
+Tulimshar doesn't have a lot more of quests to offer you, so you should definitely explore new places.
+Tulimshar doesn't have a lot more of quests to offer you, so you should definitely explore new places.
+
+Tulimshar is surrounded by strong monsters. If you go out with your poor equipment, you're going to be dead in no time, @@.
+Tulimshar is surrounded by strong monsters. If you go out with your poor equipment, you're going to be dead in no time, @@.
+
+Tulimshar is the oldest human city, and its foundation is the year zero of our calendar.
+Tulimshar is the oldest human city, and its foundation is the year zero of our calendar.
+
+Tulimshar is the strongest city because Dausen teaches every newcomer about the monsters around and how to defeat them. Take his special training if you get the chance!
+Tulimshar is the strongest city because Dausen teaches every newcomer about the monsters around and how to defeat them. Take his special training if you get the chance!
+
+Tulimshar miners mainly try to obtain gems.
+Tulimshar miners mainly try to obtain gems.
+
+Tulimshar spent trillions in research, and so did Hurnscald and Nivalis. Everything else was neglected. Eventually, some highly experimental tech experiment went haywire.
+Tulimshar spent trillions in research, and so did Hurnscald and Nivalis. Everything else was neglected. Eventually, some highly experimental tech experiment went haywire.
+
+Tulimshar, Tonori - 2nd March 300 AT
+Tulimshar, Tonori - 2nd March 300 AT
+
+Tulimshar, right? The oldest human city-state!
+Tulimshar, right? The oldest human city-state!
+
+Tulip
+Tulip
+
+Tunnel through the caves!
+Tunnel through the caves!
+
+Tutorial Protips:
+Tutorial Protips:
+
+Tutorial Tom
+Tutorial Tom
+
+Tutorship is NOT the most effective way.
+Tutorship is NOT the most effective way.
+
+Tutorship will give you Research Points.
+Tutorship will give you Research Points.
+
+Tux Soul
+Tux Soul
+
+Tweaking: %s
+Tweaking: %s
+
+Twelve times more if it is an elusive Mana Fragment no one knows where they are!
+Twelve times more if it is an elusive Mana Fragment no one knows where they are!
+
+Twelve... There is no way people collected this many gifts. Anyway. 404,800 is the next milestone.
+Twelve... There is no way people collected this many gifts. Anyway. 404,800 is the next milestone.
+
+Two Hands Weapon Recipes
+Two Hands Weapon Recipes
+
+Two equal: 1 casino coin.
+Two equal: 1 casino coin.
+
+Two hands sword (strong, misses)
+Two hands sword (strong, misses)
+
+Two still fight better than one. I have the courage of a dustman in me!
+Two still fight better than one. I have the courage of a dustman in me!
+
+Tycoon
+Tycoon
+
+Tyranny
+Tyranny
+
+Tyranny as well, but to a different tree.
+Tyranny as well, but to a different tree.
+
+Tyrca
+Tyrca
+
+Uh are you sure this is fit to drink?
+Uh are you sure this is fit to drink?
+
+Uh, a %s? How odd.
+Uh, a %s? How odd.
+
+Uh, how come? I thought you were an adventurer too! That island which trusted adventurers can reach using Pihro & Pyndragon's personal airship is so popular... Anyway!#0
+Uh, how come? I thought you were an adventurer too! That island which trusted adventurers can reach using Pihro & Pyndragon's personal airship is so popular... Anyway!
+
+Uh, how come? I thought you were an adventurer too! That island which trusted adventurers can reach using Pihro & Pyndragon's personal airship is so popular... Anyway!#1
+Uh, how come? I thought you were an adventurer too! That island which trusted adventurers can reach using Pihro & Pyndragon's personal airship is so popular... Anyway!
+
+Uh, maybe another time.
+Uh, maybe another time.
+
+Uh, sure. We mouboos are not cruel. But it might not be your size.
+Uh, sure. We mouboos are not cruel. But it might not be your size.
+
+Uh, what?
+Uh, what?
+
+Uh, you should ask %s, he is the miners leader.
+Uh, you should ask %s, he is the miners leader.
+
+Uh. You're probably right. I'm very sorry. I'm just... You know, I wanted to become a scholar of the sages, studying and... Oh, how could I mess that up? Did you see the library? It caused so much damage! What else should they do other than kick me out?
+Uh. You're probably right. I'm very sorry. I'm just... You know, I wanted to become a scholar of the sages, studying and... Oh, how could I mess that up? Did you see the library? It caused so much damage! What else should they do other than kick me out?
+
+Uh... I *just* remembered I have something else to do!
+Uh... I *just* remembered I have something else to do!
+
+Uh... Something should happen, right? Can you get another one?
+Uh... Something should happen, right? Can you get another one?
+
+Uh... That should not happen, right? RIGHT?
+Uh... That should not happen, right? RIGHT?
+
+Uh... Yeah, that's not funny.
+Uh... Yeah, that's not funny.
+
+Uh? Hey, look! A platinum card! This should be worth something with the Guild Merchant Guild, right?
+Uh? Hey, look! A platinum card! This should be worth something with the Guild Merchant Guild, right?
+
+Uh? I can't pass. I wonder why, maybe I need to wait?
+Uh? I can't pass. I wonder why, maybe I need to wait?
+
+Uh? What are you doing here?!
+Uh? What are you doing here?!
+
+Uhh... I'm scared!
+Uhh... I'm scared!
+
+Uhh... Not really! I love to kill Yetis, but sometimes they are really shy!
+Uhh... Not really! I love to kill Yetis, but sometimes they are really shy!
+
+Uhh... What happened...
+Uhh... What happened...
+
+Uhh...yeah sure...I guess...
+Uhh...yeah sure...I guess...
+
+Uhm, @@ seems to have finished their scheduled tasks again... If they were so diligent in cleaning and stocking, though...
+Uhm, @@ seems to have finished their scheduled tasks again... If they were so diligent in cleaning and stocking, though...
+
+Uhm, I better heal it first before trying to do anything about the curse.
+Uhm, I better heal it first before trying to do anything about the curse.
+
+Uhm, I don't need that.
+Uhm, I don't need that.
+
+Uhm, I don't think this item needs my skills.
+Uhm, I don't think this item needs my skills.
+
+Uhm, I'm not the king of Frostia, I'm the king of all useless adventurers.
+Uhm, I'm not the king of Frostia, I'm the king of all useless adventurers.
+
+Uhm, just remember it'll be manually verified before prizes are given... Don't even think on cheating!
+Uhm, just remember it'll be manually verified before prizes are given... Don't even think on cheating!
+
+Uhm, maybe I could teach you something, too. Go mine 5 @@. You should find some at northeast of the Island.
+Uhm, maybe I could teach you something, too. Go mine 5 @@. You should find some at northeast of the Island.
+
+Uhm, maybe I mashed the Plushroom too hard this time. Here's EXP as usual, let's try again?
+Uhm, maybe I mashed the Plushroom too hard this time. Here's EXP as usual, let's try again?
+
+Uhm, no, not really. Maybe later, who knows?
+Uhm, no, not really. Maybe later, who knows?
+
+Uhm, of course a book like this has to be a trap, right?
+Uhm, of course a book like this has to be a trap, right?
+
+Uhm, sorry, I don't trust stuff you get at market. You know.
+Uhm, sorry, I don't trust stuff you get at market. You know.
+
+Uhm, that's an... @@. Do you... want to grow a tree on the mouboo or something? Can't you think on something else?
+Uhm, that's an... @@. Do you... want to grow a tree on the mouboo or something? Can't you think on something else?
+
+Uhm, this seems like a bad idea.
+Uhm, this seems like a bad idea.
+
+Uhm... I thought you were trying to heal the mouboo. Why are you giving it poisonous stuff?!
+Uhm... I thought you were trying to heal the mouboo. Why are you giving it poisonous stuff?!
+
+Uhm? Oh, a new believer! Welcome, child of the mana, to the only church in this world.
+Uhm? Oh, a new believer! Welcome, child of the mana, to the only church in this world.
+
+Uhul! My name is Mahul!
+Uhul! My name is Mahul!
+
+Ukar
+Ukar
+
+Ultimate
+Ultimate
+
+Ultimate Exchanger#0
+Ultimate Exchanger
+
+Ultimate Tier
+Ultimate Tier
+
+Ultra Rare Drop
+Ultra Rare Drop
+
+Um, might I ask, what is so interesting?
+Um, might I ask, what is so interesting?
+
+Umm..I have another quest to get to. So... umm... I should get going.
+Umm..I have another quest to get to. So... umm... I should get going.
+
+Unbelievable! You're really a wise person.
+Unbelievable! You're really a wise person.
+
+Undead Eye
+Undead Eye
+
+Under the leadership of King Wusher, they were the first to accept immigrants from other races. You will find humans and non-humans there.
+Under the leadership of King Wusher, they were the first to accept immigrants from other races. You will find humans and non-humans there.
+
+Understood
+Understood
+
+Unforgiving Lands
+Unforgiving Lands
+
+Unfortunately you cannot rebirth anymore!
+Unfortunately you cannot rebirth anymore!
+
+Unfortunately you're in tutorial mode, so I cannot let you go ahead knowing you'll fail. Please improve your reputation with Nard and then continue.
+Unfortunately you're in tutorial mode, so I cannot let you go ahead knowing you'll fail. Please improve your reputation with Nard and then continue.
+
+Unfortunately, @@s are not welcome on the Yeti Domains. You're no exception.
+Unfortunately, @@s are not welcome on the Yeti Domains. You're no exception.
+
+Unfortunately, I cannot sell them to you. Maggots are attacking my crops and giving me headache.
+Unfortunately, I cannot sell them to you. Maggots are attacking my crops and giving me headache.
+
+Unfortunately, I was cursed to never enter their cave again. They used a @@ to do that!
+Unfortunately, I was cursed to never enter their cave again. They used a @@ to do that!
+
+Unfortunately, a mere fledgling like you is not strong enough to help us.
+Unfortunately, a mere fledgling like you is not strong enough to help us.
+
+Unfortunately, elves doesn't like to share coffee, so I thought in leaving but fell asleep. Oops!
+Unfortunately, elves doesn't like to share coffee, so I thought in leaving but fell asleep. Oops!
+
+Unfortunately, he has been corrupted by the terrorist organization calling itself S.A.R.A.H. Hopefully, he will return to the ways of peace and bring prosperity to Duck Island once again.
+Unfortunately, he has been corrupted by the terrorist organization calling itself S.A.R.A.H. Hopefully, he will return to the ways of peace and bring prosperity to Duck Island once again.
+
+Unfortunately, other victor's names weren't logged.
+Unfortunately, other victor's names weren't logged.
+
+Unique monsters can be found there, and people say about staffs which shoot raw death and doom from it!
+Unique monsters can be found there, and people say about staffs which shoot raw death and doom from it!
+
+Unless you are an exceptionally talented mage or an influentical politician, it is unlikely.
+Unless you are an exceptionally talented mage or an influentical politician, it is unlikely.
+
+Unless you know what you are doing, please go to Main Server instead.
+Unless you know what you are doing, please go to Main Server instead.
+
+Unless you're an Alliance member or have authorization, you cannot go in.
+Unless you're an Alliance member or have authorization, you cannot go in.
+
+Unless you're looking forward a death penalty, DO NOT JUMP!
+Unless you're looking forward a death penalty, DO NOT JUMP!
+
+Unless, of course, if Saulc cloned you. But then we must blame Saulc!
+Unless, of course, if Saulc cloned you. But then we must blame Saulc!
+
+Unless, of course, if you can prove your strength, challenging me to a duel.
+Unless, of course, if you can prove your strength, challenging me to a duel.
+
+Unlike Parum, you can use the skill points you get every time your job level rises. That will lower the mana cost and increase success chances.
+Unlike Parum, you can use the skill points you get every time your job level rises. That will lower the mana cost and increase success chances.
+
+Unlike many other cities, if you want people in eternal need of items, there is a good place to look.
+Unlike many other cities, if you want people in eternal need of items, there is a good place to look.
+
+Unlike talking, when trying to pick objects or read signs, you should be at an arms distance of them.
+Unlike talking, when trying to pick objects or read signs, you should be at an arms distance of them.
+
+Unobtanium
+Unobtanium
+
+Unparelled, strength without precedents. Ancient beings of pure mana, rumored to be immortal.
+Unparelled, strength without precedents. Ancient beings of pure mana, rumored to be immortal.
+
+Unsatisfied, it goes away from you and your bag. Such a shame, we almost had got its trust.
+Unsatisfied, it goes away from you and your bag. Such a shame, we almost had got its trust.
+
+Unsit me OR I'LL KILL YOU in name of my father, Prsm!
+Unsit me OR I'LL KILL YOU in name of my father, Prsm!
+
+Unsit me at once!
+Unsit me at once!
+
+Unsurprisingly, nothing happens.
+Unsurprisingly, nothing happens.
+
+Unused House
+Unused House
+
+Unused House, Market
+Unused House, Market
+
+Updates were disabled
+Updates were disabled
+
+Upgrade it
+Upgrade it
+
+Upgrading a skill level can be done the same away and will always cost a single Magic Skill Point. Job Level points are obtained only after Lv @@, and is a single point each @@ levels.
+Upgrading a skill level can be done the same away and will always cost a single Magic Skill Point. Job Level points are obtained only after Lv @@, and is a single point each @@ levels.
+
+Urchin Meat
+Urchin Meat
+
+Usage of @exprate without argument is deprecated, please use "@rates" instead.
+Usage of @exprate without argument is deprecated, please use "@rates" instead.
+
+Usage: @translate <npc file>
+Usage: @translate <npc file>
+
+Use %s (name in english) to obtain this info. You don't need the full name either, so go ahead and try it!
+Use %s (name in english) to obtain this info. You don't need the full name either, so go ahead and try it!
+
+Use %s to see how long you need to wait.
+Use %s to see how long you need to wait.
+
+Use @@ to cancel.
+Use @@ to cancel.
+
+Use @@ to read the new version.
+Use @@ to read the new version.
+
+Use a key.
+Use a key.
+
+Use an alt char to do that.
+Use an alt char to do that.
+
+Use items to drain the pentagram. Final result is affected by int!
+Use items to drain the pentagram. Final result is affected by int!
+
+Use its powers for good!
+Use its powers for good!
+
+Use the abandoned passage to the north... Usually, no one uses it.
+Use the abandoned passage to the north... Usually, no one uses it.
+
+Use the arrow keys to walk right and meet Juliet.
+Use the arrow keys to walk right and meet Juliet.
+
+Use these coins to exchange for stuff. But beware: Each dungeon difficulty will increase the coin drop in the square value of previous.
+Use these coins to exchange for stuff. But beware: Each dungeon difficulty will increase the coin drop in the square value of previous.
+
+Use your @@ as currency!
+Use your @@ as currency!
+
+User Control Panel
+User Control Panel
+
+Username#0000
+Username#0000
+
+Using potions and support magic is fine, as well as summons; but using a non-magical weapon will disqualify you.
+Using potions and support magic is fine, as well as summons; but using a non-magical weapon will disqualify you.
+
+Using potions and support magic is fine. It has high defense, so magic attacks work better.
+Using potions and support magic is fine. It has high defense, so magic attacks work better.
+
+Usually only sponsors are allowed up there, but I'll make an exception today. Go meet the mayor.
+Usually only sponsors are allowed up there, but I'll make an exception today. Go meet the mayor.
+
+Usually they have a few rare drops. The miniboss of Candor may drop a rare key, which you can use to open a certain chest...
+Usually they have a few rare drops. The miniboss of Candor may drop a rare key, which you can use to open a certain chest...
+
+Usually you can only tweak if the item already have another option, but I am Tolchi. So, which item you want to tweak?
+Usually you can only tweak if the item already have another option, but I am Tolchi. So, which item you want to tweak?
+
+Usually, you can find magic on these buildings, but watch out, there is magic to be found elsewhere, and some items are bound with it!
+Usually, you can find magic on these buildings, but watch out, there is magic to be found elsewhere, and some items are bound with it!
+
+Utilities
+Utilities
+
+V-neck Jumper
+V-neck Jumper
+
+Valentine Day
+Valentine Day
+
+Valentine Day Event Reward automatically claimed
+Valentine Day Event Reward automatically claimed
+
+Valentine Day event consist in gathering @@ and sending them to your loved one.#0
+Valentine Day event consist in gathering @@ and sending them to your loved one.
+
+Valentine Day event consist in gathering @@ and sending them to your loved one.#1
+Valentine Day event consist in gathering @@ and sending them to your loved one.
+
+Valentine Day is over!
+Valentine Day is over!
+
+Valentine Dress
+Valentine Dress
+
+Valentine Top 1 Prize
+Valentine Top 1 Prize
+
+Valia
+Valia
+
+Valia Gemini
+Valia Gemini
+
+Vampire Bat
+Vampire Bat
+
+Vampire Bat Wing
+Vampire Bat Wing
+
+Vanity Pixie
+Vanity Pixie
+
+Various people already went missing, including GMs. This is why if you plan to cross,
+Various people already went missing, including GMs. This is why if you plan to cross,
+
+Vault#01710
+Vault#01710
+
+Vault#0172
+Vault#0172
+
+Vault#0173
+Vault#0173
+
+Vault#0174
+Vault#0174
+
+Vault#0175
+Vault#0175
+
+Vault#01824a
+Vault#01824a
+
+Veneri
+Veneri
+
+Versatile Card
+Versatile Card
+
+Very well - Congratulations! That was very easy, though, and this one is full of imperfections.
+Very well - Congratulations! That was very easy, though, and this one is full of imperfections.
+
+Very well! We have seven class of items: Wood, Iron, Terranite, Bronze, Silver, Gold and Platinum.
+Very well! We have seven class of items: Wood, Iron, Terranite, Bronze, Silver, Gold and Platinum.
+
+Very well, but for a fee of @@ GP. There's no free lunch, after all!
+Very well, but for a fee of @@ GP. There's no free lunch, after all!
+
+Very well, let's see what you are made of!
+Very well, let's see what you are made of!
+
+Very well, listen to my plan!
+Very well, listen to my plan!
+
+Very well, now I can create more paper.
+Very well, now I can create more paper.
+
+Very well, this looks fine. It is time for your first lesson.
+Very well, this looks fine. It is time for your first lesson.
+
+Very well, you don't know what you're missing.
+Very well, you don't know what you're missing.
+
+Very well. I shall now share with you the details of this rite.
+Very well. I shall now share with you the details of this rite.
+
+Very well. That will make a great meal. You pass!
+Very well. That will make a great meal. You pass!
+
+Very well. The Platinum Red Queen died in her sleep and the Soul Eater took her role. But the Soul Eater was a tyrant and soon enough, "she" was murdered. A Council has taken over Tulimshar on the meanwhile and is doing intense research.
+Very well. The Platinum Red Queen died in her sleep and the Soul Eater took her role. But the Soul Eater was a tyrant and soon enough, "she" was murdered. A Council has taken over Tulimshar on the meanwhile and is doing intense research.
+
+Very well. This conversation never happened.
+Very well. This conversation never happened.
+
+Veteran Officer
+Veteran Officer
+
+Vice Leader
+Vice Leader
+
+Vicious Chest
+Vicious Chest
+
+Vicious Squirrel
+Vicious Squirrel
+
+Vicious Squirrels
+Vicious Squirrels
+
+Victory Conditions
+Victory Conditions
+
+Victory Conditions: Defeat all enemies!
+Victory Conditions: Defeat all enemies!
+
+Victory Conditions: Defeat the assassin!
+Victory Conditions: Defeat the assassin!
+
+Victory Conditions: Protect Sagratha!
+Victory Conditions: Protect Sagratha!
+
+Victory Conditions: Survive!
+Victory Conditions: Survive!
+
+Victory prizes include guild experience, guild money, and guild bound items.
+Victory prizes include guild experience, guild money, and guild bound items.
+
+View Candidate List and cast a vote
+View Candidate List and cast a vote
+
+View LeaderBoard
+View LeaderBoard
+
+Viking Helmet
+Viking Helmet
+
+Vincent
+Vincent
+
+Visit the Christmas Workshop, and talk to the chief in charge.
+Visit the Christmas Workshop, and talk to the chief in charge.
+
+Visit the special event map, kill low level bosses, collect %s,
+Visit the special event map, kill low level bosses, collect %s,
+
+Visiting a new world is always exciting. Actually, the opportunity of taking a new life in a new universe isn't that bad either.
+Visiting a new world is always exciting. Actually, the opportunity of taking a new life in a new universe isn't that bad either.
+
+Visiting the bank too right? We're only a small village but Cynric is the best bank guy I know.
+Visiting the bank too right? We're only a small village but Cynric is the best bank guy I know.
+
+Visitor with a mask? Ah, I think I know who are you talking about. Black clothes and a golden mask. Rather strange guy.
+Visitor with a mask? Ah, I think I know who are you talking about. Black clothes and a golden mask. Rather strange guy.
+
+Visitors should keep away from those!
+Visitors should keep away from those!
+
+Vit Potion
+Vit Potion
+
+Vit+ Potion
+Vit+ Potion
+
+Vit++ Potion
+Vit++ Potion
+
+Vitality
+Vitality
+
+Vitality Fruit
+Vitality Fruit
+
+Vneck Sweater
+Vneck Sweater
+
+WAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHH
+WAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHH
+
+WARNING
+WARNING
+
+WARNING!
+WARNING!
+
+WARNING! WARNING! Monster Army is moving towards Halinarzo!!
+WARNING! WARNING! Monster Army is moving towards Halinarzo!!
+
+WARNING! WARNING! Monster Army is moving towards Hurnscald!!
+WARNING! WARNING! Monster Army is moving towards Hurnscald!!
+
+WARNING! WARNING! Monster Army is moving towards Nivalis!!
+WARNING! WARNING! Monster Army is moving towards Nivalis!!
+
+WARNING! WARNING! Monster Army is moving towards Tulimshar!!
+WARNING! WARNING! Monster Army is moving towards Tulimshar!!
+
+WARNING#015535661
+WARNING#015535661
+
+WARNING, THIS IS A RARE ITEM AND THIS OPERATION CANNOT BE REVERTED!!
+WARNING, THIS IS A RARE ITEM AND THIS OPERATION CANNOT BE REVERTED!!
+
+WARNING, you have been detected cheating and thus, violating Tulimshar Anti-Theft Policy.
+WARNING, you have been detected cheating and thus, violating Tulimshar Anti-Theft Policy.
+
+WARNING. YOU ARE CHEATING THE GRIMORIE QUEST.
+WARNING. YOU ARE CHEATING THE GRIMORIE QUEST.
+
+WARNING. YOU ARE CHEATING THE SUNNY CRYSTAL QUEST.
+WARNING. YOU ARE CHEATING THE SUNNY CRYSTAL QUEST.
+
+WARNING:
+WARNING:
+
+WARNING:
+WARNING:
+
+WARNING: Angela Quest cannot be finished without finishing Mercury sidequest first.
+WARNING: Angela Quest cannot be finished without finishing Mercury sidequest first.
+
+WARNING: Change your equipment now.
+WARNING: Change your equipment now.
+
+WARNING: DO NOT PROCEED UNLESS YOU'RE READY.
+WARNING: DO NOT PROCEED UNLESS YOU'RE READY.
+
+WARNING: Dangerous!!
+WARNING: Dangerous!!
+
+WARNING: Data may have been corrupted.
+WARNING: Data may have been corrupted.
+
+WARNING: Deprecated!
+WARNING: Deprecated!
+
+WARNING: Difficult quest, bringing plenty of healing items strongly advised!
+WARNING: Difficult quest, bringing plenty of healing items strongly advised!
+
+WARNING: Do not spend unecessary time on Soren's House, you'll be disconnected!
+WARNING: Do not spend unecessary time on Soren's House, you'll be disconnected!
+
+WARNING: Fake Death skill is disabled on the fight.
+WARNING: Fake Death skill is disabled on the fight.
+
+WARNING: HIGH LEVEL AREA. COME PREPARED.
+WARNING: HIGH LEVEL AREA. COME PREPARED.
+
+WARNING: If you insert wrong pincode, you'll be disconnected.
+WARNING: If you insert wrong pincode, you'll be disconnected.
+
+WARNING: If you use any Mirror Lake feature on this world, the current Mirror Lake Quest will be marked as "Failed".
+WARNING: If you use any Mirror Lake feature on this world, the current Mirror Lake Quest will be marked as "Failed".
+
+WARNING: If you walk out the main gate you WON'T be able to return!
+WARNING: If you walk out the main gate you WON'T be able to return!
+
+WARNING: Might have unexpected side effects!
+WARNING: Might have unexpected side effects!
+
+WARNING: Monsters will appear!
+WARNING: Monsters will appear!
+
+WARNING: NO EXPERIENCE WILL BE CARRIED OVER FROM THIS FIGHT.
+WARNING: NO EXPERIENCE WILL BE CARRIED OVER FROM THIS FIGHT.
+
+WARNING: Nivalis is currently under siege from the Monster King himself.
+WARNING: Nivalis is currently under siege from the Monster King himself.
+
+WARNING: Path temporaly closed due strong snowstorm.
+WARNING: Path temporaly closed due strong snowstorm.
+
+WARNING: Permanent boosts will return to their fruit form.
+WARNING: Permanent boosts will return to their fruit form.
+
+WARNING: Save your game now.
+WARNING: Save your game now.
+
+WARNING: Server will go down for scheduled maintenance in 10 minutes!
+WARNING: Server will go down for scheduled maintenance in 10 minutes!
+
+WARNING: Server will go down for scheduled maintenance in 15 minutes!
+WARNING: Server will go down for scheduled maintenance in 15 minutes!
+
+WARNING: Server will go down for scheduled maintenance in 5 minutes!
+WARNING: Server will go down for scheduled maintenance in 5 minutes!
+
+WARNING: Spawn these monsters with moderation!
+WARNING: Spawn these monsters with moderation!
+
+WARNING: Strange bugs may happen if you attempt to craft an item you already have on inventory!
+WARNING: Strange bugs may happen if you attempt to craft an item you already have on inventory!
+
+WARNING: THIS ACTION IS IRREVERSIBLE.
+WARNING: THIS ACTION IS IRREVERSIBLE.
+
+WARNING: The %s is a %s. Besides being insanely powerful, no duplicate of them exist in the world. They can be tweaked freely and can hold multiple cards as well, and scale according to your level. Use its powers wisely. However, beware: This weapon cannot be traded except with "@grantpower" command, and if you abandon the world, the weapon will abandon you as well!
+WARNING: The %s is a %s. Besides being insanely powerful, no duplicate of them exist in the world. They can be tweaked freely and can hold multiple cards as well, and scale according to your level. Use its powers wisely. However, beware: This weapon cannot be traded except with "@grantpower" command, and if you abandon the world, the weapon will abandon you as well!
+
+WARNING: This is a level 45 quest!
+WARNING: This is a level 45 quest!
+
+WARNING: This is experimental!!
+WARNING: This is experimental!!
+
+WARNING: Warp Crystals can break after use and have a cooldown.
+WARNING: Warp Crystals can break after use and have a cooldown.
+
+WARNING: You are about to enter a HIGH-RISK zone.
+WARNING: You are about to enter a HIGH-RISK zone.
+
+WARNING: You died at Forgotten Shrine and the Shrine defense triggered.
+WARNING: You died at Forgotten Shrine and the Shrine defense triggered.
+
+WARNING: You have a time limit!
+WARNING: You have a time limit!
+
+WARNING: You have done less than 50% of Candor Quests!
+WARNING: You have done less than 50% of Candor Quests!
+
+WARNING: You must give at least @@ boxes more before event ends to be eligible for a reward!
+WARNING: You must give at least @@ boxes more before event ends to be eligible for a reward!
+
+WARNING: Your progress on the quest was lost!
+WARNING: Your progress on the quest was lost!
+
+WARNING: if you die again today in a special map it will be PERMANENT.
+WARNING: if you die again today in a special map it will be PERMANENT.
+
+WARPING IN 10 SECONDS
+WARPING IN 10 SECONDS
+
+WAW thank you! Come back later to bring me extra @@!
+WAW thank you! Come back later to bring me extra @@!
+
+WHAT ARE WE WAITING FOR?! START ALREADY!
+WHAT ARE WE WAITING FOR?! START ALREADY!
+
+WHAT ARE YOU GOING TO DO?
+WHAT ARE YOU GOING TO DO?
+
+WHAT IN THE NAME OF THE FREAKING PENGUIN WAS THAT?!
+WHAT IN THE NAME OF THE FREAKING PENGUIN WAS THAT?!
+
+WHAT? Have you not gained one at birth? That's absurd!
+WHAT? Have you not gained one at birth? That's absurd!
+
+WHAT? How can you ever party without beer?!
+WHAT? How can you ever party without beer?!
+
+WHAT? That's twice absurd! Now you'll say that you were found stranded on a desert island without equipment and can't remember anything but your own name!
+WHAT? That's twice absurd! Now you'll say that you were found stranded on a desert island without equipment and can't remember anything but your own name!
+
+WHAT? The farm is plagued with insects?!
+WHAT? The farm is plagued with insects?!
+
+WHAT?! ARE YOU OUT OF MIND?!?!
+WHAT?! ARE YOU OUT OF MIND?!?!
+
+WHIP
+WHIP
+
+WOW, THIS IS AWESOME! Many, many thanks!!
+WOW, THIS IS AWESOME! Many, many thanks!!
+
+Wait a minute! I have an idea!
+Wait a minute! I have an idea!
+
+Wait a minute...
+Wait a minute...
+
+Wait a minute... This is written in Mananese! I can't read it!
+Wait a minute... This is written in Mananese! I can't read it!
+
+Wait a moment - you are naked! YOU WILL DIE IN THE FREEZE! o.o
+Wait a moment - you are naked! YOU WILL DIE IN THE FREEZE! o.o
+
+Wait for the bait to sink underwater.
+Wait for the bait to sink underwater.
+
+Wait, I thought you were a nymph!
+Wait, I thought you were a nymph!
+
+Wait, Yeti's have a king?
+Wait, Yeti's have a king?
+
+Wait, are you with the police? I didn't do anything wrong, I promise!#0
+Wait, are you with the police? I didn't do anything wrong, I promise!
+
+Wait, are you with the police? I didn't do anything wrong, I promise!#1
+Wait, are you with the police? I didn't do anything wrong, I promise!
+
+Wait, if you try to melt more than one item, manaplus will get buggy.
+Wait, if you try to melt more than one item, manaplus will get buggy.
+
+Wait, it is not so simple as just giving me the money.
+Wait, it is not so simple as just giving me the money.
+
+Wait- Something is happening!
+Wait- Something is happening!
+
+Wait. I remember you. You ruined my crops a few seconds ago!!
+Wait. I remember you. You ruined my crops a few seconds ago!!
+
+Wait...could you repeat that?
+Wait...could you repeat that?
+
+Waiting for @@...
+Waiting for @@...
+
+Waitress
+Waitress
+
+Walk +5%
+Walk +5%
+
+Wall Card
+Wall Card
+
+Wall Card S
+Wall Card S
+
+Wall Card X
+Wall Card X
+
+Wand (skill boost, pathetically weak)
+Wand (skill boost, pathetically weak)
+
+Wanderer, here is dangerous! Go back!
+Wanderer, here is dangerous! Go back!
+
+Wandering Shadow
+Wandering Shadow
+
+Wandering too much? Take care to don't get lost.
+Wandering too much? Take care to don't get lost.
+
+Wandering too much? Take care to not get lost.
+Wandering too much? Take care to not get lost.
+
+Wands
+Wands
+
+Want to break the hundredthousand item limit?? Ten gifts, for more, bring 102,400 boxes here.
+Want to break the hundredthousand item limit?? Ten gifts, for more, bring 102,400 boxes here.
+
+Wardrobe#MKHB
+Wardrobe#MKHB
+
+Wardrobe#RES_0128
+Wardrobe#RES_0128
+
+Wardrobe#RES_PPL
+Wardrobe#RES_PPL
+
+Warez?
+Warez?
+
+Warlord
+Warlord
+
+Warlord Boots
+Warlord Boots
+
+Warlord Gloves
+Warlord Gloves
+
+Warlord Helmet
+Warlord Helmet
+
+Warlord Pants
+Warlord Pants
+
+Warlord Plate
+Warlord Plate
+
+Warning#Kamelot
+Warning#Kamelot
+
+Warning.
+Warning.
+
+Warning: If you are taking an advanced class, it will canceled.
+Warning: If you are taking an advanced class, it will canceled.
+
+Warning: Invalid UNIX EPOCH time detected.
+Warning: Invalid UNIX EPOCH time detected.
+
+Warning: This will drain mana and spawn monsters. You shall not leave this cave section!
+Warning: This will drain mana and spawn monsters. You shall not leave this cave section!
+
+Warning: You are using an old client.
+Warning: You are using an old client.
+
+Warp - Arrest me!
+Warp - Arrest me!
+
+Warp - Jump to Basement
+Warp - Jump to Basement
+
+Warp - Jump to Cave Exit
+Warp - Jump to Cave Exit
+
+Warp - Jump to Entrance
+Warp - Jump to Entrance
+
+Warp - Jump to Jail
+Warp - Jump to Jail
+
+Warp - Jump to Sewer Entrance
+Warp - Jump to Sewer Entrance
+
+Warp - Jump to Weapon Room
+Warp - Jump to Weapon Room
+
+Warp to Council room?
+Warp to Council room?
+
+Warp to a mirror island.
+Warp to a mirror island.
+
+Warp to extra island!
+Warp to extra island!
+
+Warp to the Cave Of Trials?
+Warp to the Cave Of Trials?
+
+Warped Log
+Warped Log
+
+Warped.
+Warped.
+
+Warping to save point.
+Warping to save point.
+
+Warrior General
+Warrior General
+
+Was I supposed to have one? How should I reply?
+Was I supposed to have one? How should I reply?
+
+Was it Nard who brought you here?
+Was it Nard who brought you here?
+
+Was not it only flooded constantly, the graveyard is not too far. If you stray away from the path, you'll get lost.
+Was not it only flooded constantly, the graveyard is not too far. If you stray away from the path, you'll get lost.
+
+Wash yourself with the potion
+Wash yourself with the potion
+
+Wasn't there something on the Holy Bible? About a young boy trapped by his brothers somewhere because envy?
+Wasn't there something on the Holy Bible? About a young boy trapped by his brothers somewhere because envy?
+
+Watch out! My wife was gravely wounded the other day. Don't forget your shield when leaving this holy place!
+Watch out! My wife was gravely wounded the other day. Don't forget your shield when leaving this holy place!
+
+Water Element
+Water Element
+
+Water Fairy
+Water Fairy
+
+Water, Bread, Cheese and Cherry Cake are to eat, and money is always useful, you know.
+Water, Bread, Cheese and Cherry Cake are to eat, and money is always useful, you know.
+
+Wave @@/10
+Wave @@/10
+
+Waw! You really did it, you're the savior of my farm!! You have my eternal gratitute. Here is 2500 GP for your troubles!
+Waw! You really did it, you're the savior of my farm!! You have my eternal gratitute. Here is 2500 GP for your troubles!
+
+Waw! You really did it, you're the savior of my farm!! You have my eternal gratitute. Here is 5000 GP for your troubles!
+Waw! You really did it, you're the savior of my farm!! You have my eternal gratitute. Here is 5000 GP for your troubles!
+
+Waw, you are level @@! Many congratulations. If there were people like you, ukarania wouldn't have been destroyed...
+Waw, you are level @@! Many congratulations. If there were people like you, ukarania wouldn't have been destroyed...
+
+We actually have a problem. Bandits ransacked this tavern, and took a huge loot.
+We actually have a problem. Bandits ransacked this tavern, and took a huge loot.
+
+We advise you to change your equipment now.
+We advise you to change your equipment now.
+
+We also feature some services like a storage and a bank for members.
+We also feature some services like a storage and a bank for members.
+
+We also found a small fortress and a small gothic building which might have important clues on your journey. Our first task, therefore, should be recapturing this town from our enemies!
+We also found a small fortress and a small gothic building which might have important clues on your journey. Our first task, therefore, should be recapturing this town from our enemies!
+
+We appreciate your help. Take this %s as a token of goodwill.
+We appreciate your help. Take this %s as a token of goodwill.
+
+We are assembling forces to take Nivalis back.
+We are assembling forces to take Nivalis back.
+
+We are deliberating. Some do not... approve of your initiation. Leave.
+We are deliberating. Some do not... approve of your initiation. Leave.
+
+We are in desperate need of food and nesting material, as well as our sacred supply of @@.
+We are in desperate need of food and nesting material, as well as our sacred supply of @@.
+
+We are no longer in danger, thanks to you. The pirates were thoroughly defeated. None survived the battle.
+We are no longer in danger, thanks to you. The pirates were thoroughly defeated. None survived the battle.
+
+We are planning to take over Hurnscald from the Monster King, and we will need everybody's help.
+We are planning to take over Hurnscald from the Monster King, and we will need everybody's help.
+
+We are strong fighters, and we want to free the King from his obsession.
+We are strong fighters, and we want to free the King from his obsession.
+
+We are unsure of the cause, but they must be repelled at any cost!
+We are unsure of the cause, but they must be repelled at any cost!
+
+We arranged a small underground room for that, because the Colliseum is too far away.
+We arranged a small underground room for that, because the Colliseum is too far away.
+
+We can do this again on next summer!
+We can do this again on next summer!
+
+We can do this again on next winter!
+We can do this again on next winter!
+
+We can't let you die of thirst! That wouldn't be cool at all! And I'm very cool!
+We can't let you die of thirst! That wouldn't be cool at all! And I'm very cool!
+
+We can't, don't you agree?!
+We can't, don't you agree?!
+
+We don't have a mayor. The independent city-state of Frostia is ruled by a King.
+We don't have a mayor. The independent city-state of Frostia is ruled by a King.
+
+We elves have greater affinity for magic than humans.
+We elves have greater affinity for magic than humans.
+
+We follow north hemisphere seasons in case you're wondering.
+We follow north hemisphere seasons in case you're wondering.
+
+We found several interest points inside, like some mines with the most precious ores in the world - like %s and even %s - along very powerful monsters. Unfortunately, it is partly flooded.
+We found several interest points inside, like some mines with the most precious ores in the world - like %s and even %s - along very powerful monsters. Unfortunately, it is partly flooded.
+
+We from Halinarzo are very poor, and in constant need of food. You have to help us!
+We from Halinarzo are very poor, and in constant need of food. You have to help us!
+
+We have four classes, but you can make a mix between them.
+We have four classes, but you can make a mix between them.
+
+We have made a stop at a little island, before making it on to the port of Tulimshar.
+We have made a stop at a little island, before making it on to the port of Tulimshar.
+
+We have three vanishing sort of people on the story.
+We have three vanishing sort of people on the story.
+
+We held to our hope and Jerry figured it out.
+We held to our hope and Jerry figured it out.
+
+We keep the Slimes past the barrier for the night, so be careful when entering.
+We keep the Slimes past the barrier for the night, so be careful when entering.
+
+We know a lot, but all this knowledge will part with us. We should not the only nomads, though. There should be nomads in Argaes, Kaizei, besides the citadels of Oceania and Volcania. Unfortunately, all of them are incommunicable. But so are us.
+We know a lot, but all this knowledge will part with us. We should not the only nomads, though. There should be nomads in Argaes, Kaizei, besides the citadels of Oceania and Volcania. Unfortunately, all of them are incommunicable. But so are us.
+
+We may delete all entries and change formulas in the future.
+We may delete all entries and change formulas in the future.
+
+We may require your aid again soon. The tritan pirates are amassing and we fear they are planning a siege of Duck Island. I must speak with the Council of Elders...
+We may require your aid again soon. The tritan pirates are amassing and we fear they are planning a siege of Duck Island. I must speak with the Council of Elders...
+
+We must away
+We must away
+
+We must blame Saulc!
+We must blame Saulc!
+
+We must capture Barbara AND return the stolen item!
+We must capture Barbara AND return the stolen item!
+
+We must defeat the Monster King on his evil lair!
+We must defeat the Monster King on his evil lair!
+
+We must find out what lies at the top, whatever the cost!
+We must find out what lies at the top, whatever the cost!
+
+We need to find what powers these two seals and disable it.
+We need to find what powers these two seals and disable it.
+
+We need:
+We need:
+
+We offer party and guild certifications.
+We offer party and guild certifications.
+
+We only managed to recover @@ stolen @@ thus far...
+We only managed to recover @@ stolen @@ thus far...
+
+We only require a small fee of %d %s, or %d %s, or %d %s if you are poor adventurer.
+We only require a small fee of %d %s, or %d %s, or %d %s if you are poor adventurer.
+
+We organize some auction and we help local merchants to launch their businesses.
+We organize some auction and we help local merchants to launch their businesses.
+
+We pursued them until the mines, slayed them, and took the chests where they locked our stuff into.
+We pursued them until the mines, slayed them, and took the chests where they locked our stuff into.
+
+We really appreciate your help with the slimes.
+We really appreciate your help with the slimes.
+
+We shall be waiting for your arrival.
+We shall be waiting for your arrival.
+
+We should be there in a few days. For now, you can relax on the ship, or visit the island we're docked at! Its a small island, but a good place to get some exercise and stretch your legs.
+We should be there in a few days. For now, you can relax on the ship, or visit the island we're docked at! Its a small island, but a good place to get some exercise and stretch your legs.
+
+We should split our team, and have someone to protect our backs. Otherwise, we might not do it.
+We should split our team, and have someone to protect our backs. Otherwise, we might not do it.
+
+We speak various languages on this world. Let's try gesturing!
+We speak various languages on this world. Let's try gesturing!
+
+We sure flourished at her early years, but the late years were a disaster! Crops were failing way before her death!
+We sure flourished at her early years, but the late years were a disaster! Crops were failing way before her death!
+
+We thank every developer which helped this project thus far!
+We thank every developer which helped this project thus far!
+
+We thank every player, because without them, this would be nothing!
+We thank every player, because without them, this would be nothing!
+
+We thought that you could help us understand this, all we know is that we found you cast in the sea, in a sand bank.
+We thought that you could help us understand this, all we know is that we found you cast in the sea, in a sand bank.
+
+We want to celebrate this moment, but can you believe we ran out of beer?
+We want to celebrate this moment, but can you believe we ran out of beer?
+
+We want to thank everyone who did this release possible.
+We want to thank everyone who did this release possible.
+
+We will be yaying there in a few days, so we will drop you off there.
+We will be yaying there in a few days, so we will drop you off there.
+
+We will have a party today, but only believers are allowed in!
+We will have a party today, but only believers are allowed in!
+
+We will talk about it later.
+We will talk about it later.
+
+We won't be able to pay you in money, but we'll make you one of us if you bring us beer!
+We won't be able to pay you in money, but we'll make you one of us if you bring us beer!
+
+We'd never be able to recover our books so quickly without your help. Thanks!
+We'd never be able to recover our books so quickly without your help. Thanks!
+
+We'll be arriving at Artis by the dawn, where Elora will be waiting for us. I can only hope, that the denizens are okay...
+We'll be arriving at Artis by the dawn, where Elora will be waiting for us. I can only hope, that the denizens are okay...
+
+We'll be correcting this bug automatically now.
+We'll be correcting this bug automatically now.
+
+We'll bring this one to Juliet at once. Thanks for your help! Savior!#0
+We'll bring this one to Juliet at once. Thanks for your help! Savior!
+
+We'll bring this one to Juliet at once. Thanks for your help! Savior!#1
+We'll bring this one to Juliet at once. Thanks for your help! Savior!
+
+We'll never forget Andrei Sakar, the most courageous hero this world has ever had.
+We'll never forget Andrei Sakar, the most courageous hero this world has ever had.
+
+We're busy here, so please don't bother us.
+We're busy here, so please don't bother us.
+
+We're currently the biggest exporter of food. We may be a small town, but Tulimshar and Halinarzo can barely hold themselves.
+We're currently the biggest exporter of food. We may be a small town, but Tulimshar and Halinarzo can barely hold themselves.
+
+We're doing researches on slimes, the explosive ones. You probably saw when they explode, they damage anything close to them, friendly or not, right?
+We're doing researches on slimes, the explosive ones. You probably saw when they explode, they damage anything close to them, friendly or not, right?
+
+We're nearly out of paper. The new books require so much material... And it's not easy to get Reed Bundles to create new paper.
+We're nearly out of paper. The new books require so much material... And it's not easy to get Reed Bundles to create new paper.
+
+We're talking about @@. It's not something for kids or pranksters!
+We're talking about @@. It's not something for kids or pranksters!
+
+We're trying to repair some of the valuable and important books. It's so much work!
+We're trying to repair some of the valuable and important books. It's so much work!
+
+We're trying to repair the books by collecting the ripped out bookpages and sorting them and copying them for new books. It's a lot to do, and after being eaten by a slime they stink!
+We're trying to repair the books by collecting the ripped out bookpages and sorting them and copying them for new books. It's a lot to do, and after being eaten by a slime they stink!
+
+We've built this blockade to prevent this area from being overrun with monsters, but who knows for how long this will last.
+We've built this blockade to prevent this area from being overrun with monsters, but who knows for how long this will last.
+
+We've finally solved the problem with our instruments!
+We've finally solved the problem with our instruments!
+
+We've traced them to the Dark Forest, our goal is to destroy every raider there and defeat whoever is behind this tragedy. All that while keeping an eye open for survivors.
+We've traced them to the Dark Forest, our goal is to destroy every raider there and defeat whoever is behind this tragedy. All that while keeping an eye open for survivors.
+
+Weakness: AGI-
+Weakness: AGI-
+
+Weakness: DEX-
+Weakness: DEX-
+
+Weakness: INT-
+Weakness: INT-
+
+Weakness: LUK-
+Weakness: LUK-
+
+Weakness: NONE
+Weakness: NONE
+
+Weakness: STR-
+Weakness: STR-
+
+Weakness: VIT-
+Weakness: VIT-
+
+Weapon Maximum Damage
+Weapon Maximum Damage
+
+Weapons: +8 attack, +8 magic attack
+Weapons: +8 attack, +8 magic attack
+
+Weather & Seasons.
+Weather & Seasons.
+
+Wedding Ring
+Wedding Ring
+
+Weekly, at Sunday 00:00, elections are held.
+Weekly, at Sunday 00:00, elections are held.
+
+Weellos
+Weellos
+
+Welcome back, Padric!
+Welcome back, Padric!
+
+Welcome back, children. So, how was your treasure hunt? Did you manage to find the path?
+Welcome back, children. So, how was your treasure hunt? Did you manage to find the path?
+
+Welcome back.
+Welcome back.
+
+Welcome back. Please enjoy your stay here.
+Welcome back. Please enjoy your stay here.
+
+Welcome back. Uh, no, I haven't forgot I promised you a small something... But you see, then I lost my ring, and...
+Welcome back. Uh, no, I haven't forgot I promised you a small something... But you see, then I lost my ring, and...
+
+Welcome miss.#0
+Welcome miss.
+
+Welcome to
+Welcome to
+
+Welcome to Aethyr, strange traveler. I am a collector of rare gemstones.
+Welcome to Aethyr, strange traveler. I am a collector of rare gemstones.
+
+Welcome to Dimond's Cove!
+Welcome to Dimond's Cove!
+
+Welcome to HUNGRY QUIRIN ARENA mangment panel.
+Welcome to HUNGRY QUIRIN ARENA mangment panel.
+
+Welcome to Moubootaur Legends: ##1Fires of Steam##0
+Welcome to Moubootaur Legends: ##1Fires of Steam#
+
+Welcome to Nivalis, the frozen town.
+Welcome to Nivalis, the frozen town.
+
+Welcome to Porthos - The Town of Portals (Kaizei's æther / Moubootaur Legends)
+Welcome to Porthos - The Town of Portals (Kaizei's æther / Moubootaur Legends)
+
+Welcome to Saulc's Magic Alchemy Table!
+Welcome to Saulc's Magic Alchemy Table!
+
+Welcome to Saulc's Magic Smith Table!
+Welcome to Saulc's Magic Smith Table!
+
+Welcome to TMW-2: Moubootaur Legends! We hope you have a great time in our server!
+Welcome to TMW-2: Moubootaur Legends! We hope you have a great time in our server!
+
+Welcome to Tolchi and Rosen Shop.
+Welcome to Tolchi and Rosen Shop.
+
+Welcome to Tulimshar, @@!
+Welcome to Tulimshar, @@!
+
+Welcome to my fine establishment!
+Welcome to my fine establishment!
+
+Welcome to the ##BThieves Guild##b! Follow those with higher rank than you, and happy stealing!
+Welcome to the ##BThieves Guild##b! Follow those with higher rank than you, and happy stealing!
+
+Welcome to the Arena. Select your action
+Welcome to the Arena. Select your action
+
+Welcome to the Greenlands, the place cursed by the Monster King to be ice forever, and now known as Icelands.
+Welcome to the Greenlands, the place cursed by the Monster King to be ice forever, and now known as Icelands.
+
+Welcome to the Town Hall. I am @@, officer in charge of public associations.
+Welcome to the Town Hall. I am @@, officer in charge of public associations.
+
+Welcome to the library of Sage Nikolai. I'm very sorry, but as you see it's not in a good shape at the moment. Most of the books were eaten by the slimes or damaged and we're working hard on cleaning up the mess.
+Welcome to the library of Sage Nikolai. I'm very sorry, but as you see it's not in a good shape at the moment. Most of the books were eaten by the slimes or damaged and we're working hard on cleaning up the mess.
+
+Welcome to the questing world!"
+Welcome to the questing world!"
+
+Welcome! Here to pick a weapon? You'll be able to select three skill cards as well.
+Welcome! Here to pick a weapon? You'll be able to select three skill cards as well.
+
+Welcome! I come from nowhere, and my family hunt Snakes. We also make fine leather items from their skin!
+Welcome! I come from nowhere, and my family hunt Snakes. We also make fine leather items from their skin!
+
+Welcome! I see you have ##B%d Monster Points##b. Would you like to exchange some of those for items?
+Welcome! I see you have ##B%d Monster Points##b. Would you like to exchange some of those for items?
+
+Welcome! I see you have %d Monster Points. But that isn't enough to get items at your current level, sorry!
+Welcome! I see you have %d Monster Points. But that isn't enough to get items at your current level, sorry!
+
+Welcome! My name is @@, I am a representative of the Merchant Guild on @@.
+Welcome! My name is @@, I am a representative of the Merchant Guild on @@.
+
+Welcome! Only the finest wares!#0
+Welcome! Only the finest wares!
+
+Welcome! Only the finest wares!#1
+Welcome! Only the finest wares!
+
+Welcome. Are you an adventurer? I could use some help.
+Welcome. Are you an adventurer? I could use some help.
+
+Welcome. Please don't go deeper into the library, there are still some slimes left. But in spite of that we have made quite a bit of progress. You should have seen the mess just after most of the slimes escaped!
+Welcome. Please don't go deeper into the library, there are still some slimes left. But in spite of that we have made quite a bit of progress. You should have seen the mess just after most of the slimes escaped!
+
+Welcome.#0
+Welcome.
+
+Welcome.#1
+Welcome.
+
+Well ... but ... I mean ... I don't know ...
+Well ... but ... I mean ... I don't know ...
+
+Well I see that you have completed the George Quest!
+Well I see that you have completed the George Quest!
+
+Well done! I hope no more of those assassins show up. I'm afraid I cannot give you a proper reward, but...
+Well done! I hope no more of those assassins show up. I'm afraid I cannot give you a proper reward, but...
+
+Well well well, @@, good job in reaching Soren's House.
+Well well well, @@, good job in reaching Soren's House.
+
+Well#003-1
+Well#003-1
+
+Well#Nivalis
+Well#Nivalis
+
+Well, Andrei Sakar said it was a waste a time, and the other NPCs started fighting against themselves, so I won.
+Well, Andrei Sakar said it was a waste a time, and the other NPCs started fighting against themselves, so I won.
+
+Well, I and my brother could make another one, but they are being checked for safety.
+Well, I and my brother could make another one, but they are being checked for safety.
+
+Well, I can sell you a random box with almost 100 @@ for just @@ GP.
+Well, I can sell you a random box with almost 100 @@ for just @@ GP.
+
+Well, I can't help but keep thinking on how many shiny treasures might be there!
+Well, I can't help but keep thinking on how many shiny treasures might be there!
+
+Well, I decided to resume an old research of mine, now that I have a minion (you) to gather stuff for me.
+Well, I decided to resume an old research of mine, now that I have a minion (you) to gather stuff for me.
+
+Well, I did my best, but this had been so refined, that it was difficult to find my way.
+Well, I did my best, but this had been so refined, that it was difficult to find my way.
+
+Well, I do not trust you yet. You literally were just brought by the shore, and even if Nard and Lua seems to trust you...
+Well, I do not trust you yet. You literally were just brought by the shore, and even if Nard and Lua seems to trust you...
+
+Well, I don't want to be an snob.
+Well, I don't want to be an snob.
+
+Well, I guess I was thinking too high of a random adventurer like yourself...
+Well, I guess I was thinking too high of a random adventurer like yourself...
+
+Well, I have a small problem. Sorry, but my superior officer did not like you. This happens, not everyone will like us, right? A lot of adventurers actually hate me %%R
+Well, I have a small problem. Sorry, but my superior officer did not like you. This happens, not everyone will like us, right? A lot of adventurers actually hate me %%R
+
+Well, I have not finished my research on snakes yet, but I'm pretty sure in how to transmute their parts.
+Well, I have not finished my research on snakes yet, but I'm pretty sure in how to transmute their parts.
+
+Well, I heard you needed to have some Job levels to sign up with them, and couldn't resign later.
+Well, I heard you needed to have some Job levels to sign up with them, and couldn't resign later.
+
+Well, I just like sunbathing.
+Well, I just like sunbathing.
+
+Well, I know a mixture to keep monsters away. I just can't share it with you now.
+Well, I know a mixture to keep monsters away. I just can't share it with you now.
+
+Well, I know how to do a @@, a sturdy bow, but I am not making those anymore, sorry.
+Well, I know how to do a @@, a sturdy bow, but I am not making those anymore, sorry.
+
+Well, I suppose you can have some of my tea.
+Well, I suppose you can have some of my tea.
+
+Well, I would love to, but the house is a mess.
+Well, I would love to, but the house is a mess.
+
+Well, I'll give you a hour of EXP RATE UP! How cool is that? Enjoy!
+Well, I'll give you a hour of EXP RATE UP! How cool is that? Enjoy!
+
+Well, I'm currently researching scorpions, as you can imagine.
+Well, I'm currently researching scorpions, as you can imagine.
+
+Well, I'm the miner leader, indeed. A miner need to have the full set.
+Well, I'm the miner leader, indeed. A miner need to have the full set.
+
+Well, all humans does mistakes... Wait, he is an elf. So, everyone commit mistakes. Anyway...
+Well, all humans does mistakes... Wait, he is an elf. So, everyone commit mistakes. Anyway...
+
+Well, as with any legendary tailor, you must bring the materials yourself, and pay the work fee!
+Well, as with any legendary tailor, you must bring the materials yourself, and pay the work fee!
+
+Well, first of, you'll need an @@ and an Equipment Recipe.
+Well, first of, you'll need an @@ and an Equipment Recipe.
+
+Well, for a living, I usually tend to the crops.
+Well, for a living, I usually tend to the crops.
+
+Well, good luck with your business.
+Well, good luck with your business.
+
+Well, here you are. I hope you enjoy ^^
+Well, here you are. I hope you enjoy ^^
+
+Well, if you are good, you can just not get hit. If you're not so good, then bows will be a pain.
+Well, if you are good, you can just not get hit. If you're not so good, then bows will be a pain.
+
+Well, if you come from Candor, you probably will have some fluffy's yellow feathers. I use them to make pillows.
+Well, if you come from Candor, you probably will have some fluffy's yellow feathers. I use them to make pillows.
+
+Well, if you ever need help, do not hesit reading the wiki ;-)
+Well, if you ever need help, do not hesit reading the wiki ;-)
+
+Well, if you want to donate @@, you'll be ranked. There's gift for everyone, and rewards for top 5 donors.
+Well, if you want to donate @@, you'll be ranked. There's gift for everyone, and rewards for top 5 donors.
+
+Well, if you want warrior craft, perhaps you should look for @@ or @@.
+Well, if you want warrior craft, perhaps you should look for @@ or @@.
+
+Well, if you were from the defenders, you would have been adopted by a family which left Halinarzo.
+Well, if you were from the defenders, you would have been adopted by a family which left Halinarzo.
+
+Well, if you're scared, you can kill Desert Log Heads, but they'll have a smaller worth.
+Well, if you're scared, you can kill Desert Log Heads, but they'll have a smaller worth.
+
+Well, it depends on the curse. Some are easy to break, and others are... well...
+Well, it depends on the curse. Some are easy to break, and others are... well...
+
+Well, it is terrible! How can I make armours if I ran out of Iron? Shall the citizens of Candor Island perish in a monster attack?!
+Well, it is terrible! How can I make armours if I ran out of Iron? Shall the citizens of Candor Island perish in a monster attack?!
+
+Well, long story short, we have two magic systems. One works out of box. The later one, is the Mana Magic.
+Well, long story short, we have two magic systems. One works out of box. The later one, is the Mana Magic.
+
+Well, maybe it takes a few hours or days of your life, but who cares! It is instant teleport!
+Well, maybe it takes a few hours or days of your life, but who cares! It is instant teleport!
+
+Well, my men went down and still haven't returned.
+Well, my men went down and still haven't returned.
+
+Well, my tea is just too good.
+Well, my tea is just too good.
+
+Well, no risk, no gain.
+Well, no risk, no gain.
+
+Well, not like you could understand that with your level! %%a
+Well, not like you could understand that with your level! %%a
+
+Well, perhaps a few of them are rebels, I mean, people like us, but many of them are monsters.
+Well, perhaps a few of them are rebels, I mean, people like us, but many of them are monsters.
+
+Well, problem is, after that, there was demand for an election. The previous mayor lost. I won.
+Well, problem is, after that, there was demand for an election. The previous mayor lost. I won.
+
+Well, sorry, but only some items can be refined.
+Well, sorry, but only some items can be refined.
+
+Well, speaking a bit about myself can't hurt. I am a member from the Magic Council, but one day I decided to take a vacations.
+Well, speaking a bit about myself can't hurt. I am a member from the Magic Council, but one day I decided to take a vacations.
+
+Well, thanks.
+Well, thanks.
+
+Well, that could fail, I said. Here is some experience.
+Well, that could fail, I said. Here is some experience.
+
+Well, that was a good fight. My grand-grand-grandfeather gave his shield to Arvek -- err, Braknar I mean.
+Well, that was a good fight. My grand-grand-grandfeather gave his shield to Arvek -- err, Braknar I mean.
+
+Well, that was bad, but at least you know a bit from story.
+Well, that was bad, but at least you know a bit from story.
+
+Well, that was quite good. To defeat me and Lilit's general, alone, in such low time; You should be proud of yourself.
+Well, that was quite good. To defeat me and Lilit's general, alone, in such low time; You should be proud of yourself.
+
+Well, that's easy to do. For starters, I need 1.000 GP as payment, and 10 @@ to make the string.
+Well, that's easy to do. For starters, I need 1.000 GP as payment, and 10 @@ to make the string.
+
+Well, that's not a ring.
+Well, that's not a ring.
+
+Well, the Yeti King has went away to the cliffs north of this one. He'll get back here very hungry.
+Well, the Yeti King has went away to the cliffs north of this one. He'll get back here very hungry.
+
+Well, the biggest mana stones mine was in %s, but I'm afraid it has already depleted... Besides, it is very dangerous.
+Well, the biggest mana stones mine was in %s, but I'm afraid it has already depleted... Besides, it is very dangerous.
+
+Well, the first thing would be to get access to a Mana Stone. Halinarzo had the biggest mana stone mines, but it's now depleted.
+Well, the first thing would be to get access to a Mana Stone. Halinarzo had the biggest mana stone mines, but it's now depleted.
+
+Well, the reason why I'm not doing it already is because, you see, I lack cookies.
+Well, the reason why I'm not doing it already is because, you see, I lack cookies.
+
+Well, then I'll give you a task. We may meet again in Soren Village.
+Well, then I'll give you a task. We may meet again in Soren Village.
+
+Well, there might be a deep water spot, but it would still be dangerous.
+Well, there might be a deep water spot, but it would still be dangerous.
+
+Well, these slimes are dangerous, but if you find some pages, be sure to bring them to Ensio. This will help us a lot. Eh, if you're interested in helping, that is. %%1
+Well, these slimes are dangerous, but if you find some pages, be sure to bring them to Ensio. This will help us a lot. Eh, if you're interested in helping, that is. %%1
+
+Well, this is very disturbing, indeed. I hope my good friend Sagratha is fine.
+Well, this is very disturbing, indeed. I hope my good friend Sagratha is fine.
+
+Well, too bad!
+Well, too bad!
+
+Well, welcome to the game! If you have any doubt, shout on #world for help!
+Well, welcome to the game! If you have any doubt, shout on #world for help!
+
+Well, yes, I've saw them heading off to the Yeti King room. Lately, many Yetis have been uprising against your majesty.
+Well, yes, I've saw them heading off to the Yeti King room. Lately, many Yetis have been uprising against your majesty.
+
+Well, yes. Look this river. The water is not moving.
+Well, yes. Look this river. The water is not moving.
+
+Well, you are. You're quite interesting. I've been watching you for some time now, as you've been helping so many people: you're quite a master at what you do, you know.
+Well, you are. You're quite interesting. I've been watching you for some time now, as you've been helping so many people: you're quite a master at what you do, you know.
+
+Well, you clearly never fought before, so remember to add stats.
+Well, you clearly never fought before, so remember to add stats.
+
+Well, you don't have a weapon. So, let me explain quickly.
+Well, you don't have a weapon. So, let me explain quickly.
+
+Well, you forgot the most important: The material I need to do the string.
+Well, you forgot the most important: The material I need to do the string.
+
+Well, you gave me the gems, so I trust you. Here, take this @@.
+Well, you gave me the gems, so I trust you. Here, take this @@.
+
+Well, you helped me. That's great! One hand washes the other, so, I'm willing to share knowledge with you.
+Well, you helped me. That's great! One hand washes the other, so, I'm willing to share knowledge with you.
+
+Well, you know... Maybe we can strike a deal. I have good relations with the stock manager. I'll give you an event item.
+Well, you know... Maybe we can strike a deal. I have good relations with the stock manager. I'll give you an event item.
+
+Well, you need more experience. Keep trying!
+Well, you need more experience. Keep trying!
+
+Well, you probably deserve it.
+Well, you probably deserve it.
+
+Well, you see, you can't jump very far. And the water near land is shallow.
+Well, you see, you can't jump very far. And the water near land is shallow.
+
+Well, you were warned. Do you have any other stuff for me?
+Well, you were warned. Do you have any other stuff for me?
+
+Well, you'll need to get used to. Being seasick is annoying, so you might want to leave the ship as soon as possible.
+Well, you'll need to get used to. Being seasick is annoying, so you might want to leave the ship as soon as possible.
+
+Well, you're an adventurer, and I guess tending to crops isn't your cup of tea.
+Well, you're an adventurer, and I guess tending to crops isn't your cup of tea.
+
+Well. I'll take care of that, don't worry with that.
+Well. I'll take care of that, don't worry with that.
+
+Well... Can't say I'm surprised. He is very perfectionist. Putting on himself the blame is something he would do.
+Well... Can't say I'm surprised. He is very perfectionist. Putting on himself the blame is something he would do.
+
+Well... Here you go!
+Well... Here you go!
+
+Well... You're right.
+Well... You're right.
+
+Well... we'll see around!
+Well... we'll see around!
+
+Well... you did not succeed in opening this %s.
+Well... you did not succeed in opening this %s.
+
+Welp, no, please!
+Welp, no, please!
+
+Welp, you killed 10 Crocs. They're not dangerous, as you see. That's why we don't bother in cleaning them up.
+Welp, you killed 10 Crocs. They're not dangerous, as you see. That's why we don't bother in cleaning them up.
+
+West Aeros
+West Aeros
+
+West Avenue#lof
+West Avenue#lof
+
+West of here is a beach. In said beach there are blubs, they don't attack but they walk in packs. Be careful if you provoke too many of them.
+West of here is a beach. In said beach there are blubs, they don't attack but they walk in packs. Be careful if you provoke too many of them.
+
+West of here is a beach. There's a secret passage to it, underground. In there you'll find slime-like creatures called Blubs.
+West of here is a beach. There's a secret passage to it, underground. In there you'll find slime-like creatures called Blubs.
+
+West of here, north of here, is a cabin. Investigate. That's all.
+West of here, north of here, is a cabin. Investigate. That's all.
+
+Wha- How dare you, to lie to me!
+Wha- How dare you, to lie to me!
+
+Whaaaaaaat *hic* is she *hic* have she gotten crazy? *hic*
+Whaaaaaaat *hic* is she *hic* have she gotten crazy? *hic*
+
+Whaaaaaat, you are that noob from earlier! Vanish! Be gone! Don't bore me!
+Whaaaaaat, you are that noob from earlier! Vanish! Be gone! Don't bore me!
+
+What ANISE INC. Does?
+What ANISE INC. Does?
+
+What Alliance? The Alliance which rules over the World Of Mana!
+What Alliance? The Alliance which rules over the World Of Mana!
+
+What I had to bring, again?
+What I had to bring, again?
+
+What I want to say is: Kill non-stop!
+What I want to say is: Kill non-stop!
+
+What a rip-off!
+What a rip-off!
+
+What about job levels and job experience?
+What about job levels and job experience?
+
+What about the Desert Temple?
+What about the Desert Temple?
+
+What about the Shield?
+What about the Shield?
+
+What about the worm?
+What about the worm?
+
+What about you bring me:
+What about you bring me:
+
+What alliance?
+What alliance?
+
+What am I supposed to say?
+What am I supposed to say?
+
+What an amazing crown you have! How do I get it?!
+What an amazing crown you have! How do I get it?!
+
+What are Magic Skill Points?
+What are Magic Skill Points?
+
+What are Research Points
+What are Research Points
+
+What are current leaderboard?
+What are current leaderboard?
+
+What are the Ancient Families of the Soul Menhir?
+What are the Ancient Families of the Soul Menhir?
+
+What are the Transcendence Gates?
+What are the Transcendence Gates?
+
+What are the tasks of the Alliance?
+What are the tasks of the Alliance?
+
+What are you doing alone in this desert?
+What are you doing alone in this desert?
+
+What are you doing here, @@!
+What are you doing here, @@!
+
+What are you doing here? This place is too dangerous for you!
+What are you doing here? This place is too dangerous for you!
+
+What are you doing in my kitchen?! Get out, it's not a place for kids!
+What are you doing in my kitchen?! Get out, it's not a place for kids!
+
+What are you doing talking to me? Go fight, you coward!
+What are you doing talking to me? Go fight, you coward!
+
+What are you doing? Fight!
+What are you doing? Fight!
+
+What are you doing? Go talk to @@ and bring me a @@!
+What are you doing? Go talk to @@ and bring me a @@!
+
+What are you doing? Stop wasting my time and go talk to @@!
+What are you doing? Stop wasting my time and go talk to @@!
+
+What are you even speaking about?
+What are you even speaking about?
+
+What are you still doing here? Begone!
+What are you still doing here? Begone!
+
+What are you still doing here?! GO!!
+What are you still doing here?! GO!!
+
+What are you talking about? What guild?
+What are you talking about? What guild?
+
+What are you talking about? You are who you are right now. There's no other you.
+What are you talking about? You are who you are right now. There's no other you.
+
+What are you waiting for? Go kill the bandit lord.
+What are you waiting for? Go kill the bandit lord.
+
+What are you waiting for?! Get running, Pachua is waiting!
+What are you waiting for?! Get running, Pachua is waiting!
+
+What body orifice should a babel fish be inserted in to work properly?
+What body orifice should a babel fish be inserted in to work properly?
+
+What brings you here, @@?
+What brings you here, @@?
+
+What can I do for you?
+What can I do for you?
+
+What can I do with Bug Leg?
+What can I do with Bug Leg?
+
+What can I do with Maggot Slime?
+What can I do with Maggot Slime?
+
+What can I do?
+What can I do?
+
+What can you say about dyes?
+What can you say about dyes?
+
+What can you say about the monsters here?
+What can you say about the monsters here?
+
+What can you tell me about the Moubootaur?
+What can you tell me about the Moubootaur?
+
+What cheap crap is this? It's not worth even 10 GP.
+What cheap crap is this? It's not worth even 10 GP.
+
+What color is a Babel Fish?
+What color is a Babel Fish?
+
+What counts for titulation? Could you give me examples?
+What counts for titulation? Could you give me examples?
+
+What crap is that?! This is not from Tulimshar!
+What crap is that?! This is not from Tulimshar!
+
+What did the Council of Elders say? Is there any news of the pirates?
+What did the Council of Elders say? Is there any news of the pirates?
+
+What did you expect?
+What did you expect?
+
+What did you need me to get again?
+What did you need me to get again?
+
+What did you want? I've forgotten.
+What did you want? I've forgotten.
+
+What do you choose?
+What do you choose?
+
+What do you know about other Mana Magic Professors?
+What do you know about other Mana Magic Professors?
+
+What do you know about the Tyranny Bow?
+What do you know about the Tyranny Bow?
+
+What do you mean? Do you at least have a rowboat with you?!
+What do you mean? Do you at least have a rowboat with you?!
+
+What do you need to learn something besides money for tuitions fee? Time and Dedication.
+What do you need to learn something besides money for tuitions fee? Time and Dedication.
+
+What do you need?
+What do you need?
+
+What do you say?
+What do you say?
+
+What do you think learning is, magic?! No!
+What do you think learning is, magic?! No!
+
+What do you want to access?
+What do you want to access?
+
+What do you want to change?
+What do you want to change?
+
+What do you want to do with your money?
+What do you want to do with your money?
+
+What do you want to do?
+What do you want to do?
+
+What do you want to know?
+What do you want to know?
+
+What do you want to learn more about?
+What do you want to learn more about?
+
+What do you want to reset?
+What do you want to reset?
+
+What do you want today?
+What do you want today?
+
+What does miners do in cave?
+What does miners do in cave?
+
+What else do you need?
+What else do you need?
+
+What else like a Pinkie?
+What else like a Pinkie?
+
+What game is played on earth as a relict of memories to an ancient war?
+What game is played on earth as a relict of memories to an ancient war?
+
+What happened to me?
+What happened to me?
+
+What happened to the Wizard's Tower?
+What happened to the Wizard's Tower?
+
+What happened?
+What happened?
+
+What have happened? Why are you crying?
+What have happened? Why are you crying?
+
+What have you done?! We're under attack!
+What have you done?! We're under attack!
+
+What in the world is happening?! Where in Jesusalva's name are you?!
+What in the world is happening?! Where in Jesusalva's name are you?!
+
+What interesting water. Just don't ask me why.
+What interesting water. Just don't ask me why.
+
+What is @@ doing?
+What is @@ doing?
+
+What is Ford Prefect's nickname?
+What is Ford Prefect's nickname?
+
+What is a %s doing here? Eugh, you stink! You should keep away from our children!
+What is a %s doing here? Eugh, you stink! You should keep away from our children!
+
+What is an airship? O.o
+What is an airship? O.o
+
+What is banking?
+What is banking?
+
+What is going on here?
+What is going on here?
+
+What is my current hairstyle and hair color?
+What is my current hairstyle and hair color?
+
+What is the Academy?
+What is the Academy?
+
+What is the Alliance?
+What is the Alliance?
+
+What is the Magic Academy?
+What is the Magic Academy?
+
+What is the Moubootaur?
+What is the Moubootaur?
+
+What is the Scholar Rank?
+What is the Scholar Rank?
+
+What is the answer to life, the universe and everything?
+What is the answer to life, the universe and everything?
+
+What is the first name of the author of the hitchhikers guide?
+What is the first name of the author of the hitchhikers guide?
+
+What is the last name of the author of the hitchhikers guide?
+What is the last name of the author of the hitchhikers guide?
+
+What is the most important item for every hitchhiker to have?
+What is the most important item for every hitchhiker to have?
+
+What is the name of the Restaurant at the End of the Universe?
+What is the name of the Restaurant at the End of the Universe?
+
+What is the name of the Vogon home planet?
+What is the name of the Vogon home planet?
+
+What is the name of the computer on The Heart of Gold?
+What is the name of the computer on The Heart of Gold?
+
+What is the name of the creature that is continually reincarnated and subsequently killed, each time unknowingly, by Arthur Dent?
+What is the name of the creature that is continually reincarnated and subsequently killed, each time unknowingly, by Arthur Dent?
+
+What is the name of the rock group claiming to be the loudest band in the universe?
+What is the name of the rock group claiming to be the loudest band in the universe?
+
+What is the name of the spaceship which was stolen by the president of the universe?
+What is the name of the spaceship which was stolen by the president of the universe?
+
+What is the name of the super computer?
+What is the name of the super computer?
+
+What is this guild for?
+What is this guild for?
+
+What is this island?
+What is this island?
+
+What is this place anyway?
+What is this place anyway?
+
+What is your problem?
+What is your problem?
+
+What item do you want to melt down? This is irreversible, and may return some ingots to you, but there is no way to tell how many you'll receive!
+What item do you want to melt down? This is irreversible, and may return some ingots to you, but there is no way to tell how many you'll receive!
+
+What item would you like to bleach?
+What item would you like to bleach?
+
+What magic classes are there?
+What magic classes are there?
+
+What race creates the worst poetry in universe?
+What race creates the worst poetry in universe?
+
+What service do you offer?
+What service do you offer?
+
+What should I do now?
+What should I do now?
+
+What star is near Ford's home planet?
+What star is near Ford's home planet?
+
+What the f...? Four Hundred Thousand??? Must be a bug. Next milestone is 819,200. Cheaters.
+What the f...? Four Hundred Thousand??? Must be a bug. Next milestone is 819,200. Cheaters.
+
+What to exchange with Leona?
+What to exchange with Leona?
+
+What two words are written in big friendly letters on the back cover?
+What two words are written in big friendly letters on the back cover?
+
+What was I doing before...? I forgot!
+What was I doing before...? I forgot!
+
+What was I doing before...? I totally forgot!
+What was I doing before...? I totally forgot!
+
+What was the sequence?
+What was the sequence?
+
+What were the second most intelligent creatures on Earth?
+What were the second most intelligent creatures on Earth?
+
+What will be my reward?
+What will be my reward?
+
+What will be the bait for the fish?
+What will be the bait for the fish?
+
+What will you brew today?
+What will you brew today?
+
+What will you craft today?
+What will you craft today?
+
+What will you forge today?
+What will you forge today?
+
+What will you transmute today?
+What will you transmute today?
+
+What would you like to bury?
+What would you like to bury?
+
+What would you like today?
+What would you like today?
+
+What yeye could I do for you today?
+What yeye could I do for you today?
+
+What you asked me for, again?
+What you asked me for, again?
+
+What you refer as Ancient Families, are probably their descendants. There was nothing special about them, other than they promised to defend mankind of their own actions.
+What you refer as Ancient Families, are probably their descendants. There was nothing special about them, other than they promised to defend mankind of their own actions.
+
+What're you looking at?!
+What're you looking at?!
+
+What's S.A.R.A.H.?
+What's S.A.R.A.H.?
+
+What's it, scout.
+What's it, scout.
+
+What's that? They seem to be AFK but are not?
+What's that? They seem to be AFK but are not?
+
+What's the World Edge?
+What's the World Edge?
+
+What's the difference from a Mana Wizard and a Mage?
+What's the difference from a Mana Wizard and a Mage?
+
+What's the name of the paranoid robot?
+What's the name of the paranoid robot?
+
+What's the problem?
+What's the problem?
+
+What's this dark magic, the password has changed!
+What's this dark magic, the password has changed!
+
+What's wrong?
+What's wrong?
+
+What's your opinion of Peetu and his work?
+What's your opinion of Peetu and his work?
+
+What, only that? Well, this is actually simpler than it looks.
+What, only that? Well, this is actually simpler than it looks.
+
+What? A party?
+What? A party?
+
+What? Don't be ridiculous. Not even the Monster King does that! I think.
+What? Don't be ridiculous. Not even the Monster King does that! I think.
+
+What? Why not?
+What? Why not?
+
+What?! Do my house look like the place to you pratice your thief skills?!
+What?! Do my house look like the place to you pratice your thief skills?!
+
+What?! This changes the whole history. Not only that, but this is a serious issue!
+What?! This changes the whole history. Not only that, but this is a serious issue!
+
+Whatever you find there is yours to keep.
+Whatever you find there is yours to keep.
+
+Whatever you're blaming Saulc about, this one time, he is innocent.
+Whatever you're blaming Saulc about, this one time, he is innocent.
+
+When Christmas starts, here will become frantic again, with things running out of stock all the time... But the adventurers deserve it, for fighting monsters the year round.
+When Christmas starts, here will become frantic again, with things running out of stock all the time... But the adventurers deserve it, for fighting monsters the year round.
+
+When I am drunk I tell myself to stop drinking, but I won't listen the words of a drunkard.
+When I am drunk I tell myself to stop drinking, but I won't listen the words of a drunkard.
+
+When I was alive, I brought people to their destiny.
+When I was alive, I brought people to their destiny.
+
+When it returns, it is holding a cute %s. Understanding it is a gift, you take it.
+When it returns, it is holding a cute %s. Understanding it is a gift, you take it.
+
+When people loses too much blood, they die, unless we can lend them somebody's else blood.
+When people loses too much blood, they die, unless we can lend them somebody's else blood.
+
+When receiving the chocolate, you must eat it before event ends to get a point for that!
+When receiving the chocolate, you must eat it before event ends to get a point for that!
+
+When the boss is defeated, or the minute clock marks fifteen, event ends.
+When the boss is defeated, or the minute clock marks fifteen, event ends.
+
+When they left to World Edge, they probably were looking for Mana Fragments. In other words... Soul Menhirs. Parts of the World Heart.
+When they left to World Edge, they probably were looking for Mana Fragments. In other words... Soul Menhirs. Parts of the World Heart.
+
+When this is the case, you should get closer to the NPC, until they hear you.
+When this is the case, you should get closer to the NPC, until they hear you.
+
+When you get out of the ship, it is the first building you'll see. Talk to ##BLua##b, she is an alliance representative.
+When you get out of the ship, it is the first building you'll see. Talk to ##BLua##b, she is an alliance representative.
+
+When you have added all the items and money you want, press the 'Propose Business' button. The other citizen must also press the 'Propose Business' button.
+When you have added all the items and money you want, press the 'Propose Business' button. The other citizen must also press the 'Propose Business' button.
+
+When you're stronger I may consider asking for your help.
+When you're stronger I may consider asking for your help.
+
+When your inventory is open, you can equip an item by selecting it and clicking 'Equip'. You can do the same to unequip an item by clicking on 'Unequip'.
+When your inventory is open, you can equip an item by selecting it and clicking 'Equip'. You can do the same to unequip an item by clicking on 'Unequip'.
+
+Where I needed to go, again?
+Where I needed to go, again?
+
+Where are you from, don't you see all the bandits? Seriously, with these ridiculous plans, the whole continent doomed.
+Where are you from, don't you see all the bandits? Seriously, with these ridiculous plans, the whole continent doomed.
+
+Where can I find Juliet?#0
+Where can I find Juliet?
+
+Where can I find Juliet?#1
+Where can I find Juliet?
+
+Where can I find the previous mayor?
+Where can I find the previous mayor?
+
+Where can I find them?
+Where can I find them?
+
+Where could my man have went?!
+Where could my man have went?!
+
+Where do I get so much money?!
+Where do I get so much money?!
+
+Where do you think you are going, without talking to me first?
+Where do you think you are going, without talking to me first?
+
+Where exactly am I?
+Where exactly am I?
+
+Where have you been, pal? He perished.
+Where have you been, pal? He perished.
+
+Where is Woody?
+Where is Woody?
+
+Where is here? What was this place used for?!
+Where is here? What was this place used for?!
+
+Where is it? Everything's upside down. These terrible slimes.
+Where is it? Everything's upside down. These terrible slimes.
+
+Where is the World's Edge?
+Where is the World's Edge?
+
+Where is the item you've stolen?
+Where is the item you've stolen?
+
+Where is the salt?! This is sugar! Proper sailors need salt, not sugar!
+Where is the salt?! This is sugar! Proper sailors need salt, not sugar!
+
+Where should I warp to?
+Where should I warp to?
+
+Where's the Sunny Crystal? Hurry up, you only have @@ left!
+Where's the Sunny Crystal? Hurry up, you only have @@ left!
+
+Where's the money? Go away.
+Where's the money? Go away.
+
+Where's the reagent? You don't expect me to find it, right? Go bring them!
+Where's the reagent? You don't expect me to find it, right? Go bring them!
+
+Which country does the human protagonist come from?
+Which country does the human protagonist come from?
+
+Which deal?
+Which deal?
+
+Which item will you tweak?
+Which item will you tweak?
+
+Which language do you speak?
+Which language do you speak?
+
+Which melee you craft?
+Which melee you craft?
+
+Which recipes do you want to read?
+Which recipes do you want to read?
+
+Which rewards are available?
+Which rewards are available?
+
+Which skill will you FORGET permanently today?
+Which skill will you FORGET permanently today?
+
+Which sound great in theory, but it was not. Greedy people found a way into power. They probably had good reasons, but they started confiscating Mana Stones, and storing them in a tower...
+Which sound great in theory, but it was not. Greedy people found a way into power. They probably had good reasons, but they started confiscating Mana Stones, and storing them in a tower...
+
+Which water will you use?
+Which water will you use?
+
+While %s's reasons to do so remain unclear, a request was made.
+While %s's reasons to do so remain unclear, a request was made.
+
+While I don't think the Yeti King would ever do or endorse that, yes, I've heard this happens.
+While I don't think the Yeti King would ever do or endorse that, yes, I've heard this happens.
+
+While breaking the seal, monsters will spawn. The other monsters may drop %s.
+While breaking the seal, monsters will spawn. The other monsters may drop %s.
+
+While it may not be suitable for fighting, by using it against Bifs and other mineral formations, you'll be able to get more ore.
+While it may not be suitable for fighting, by using it against Bifs and other mineral formations, you'll be able to get more ore.
+
+While mining bifs, a strange powder appeared.
+While mining bifs, a strange powder appeared.
+
+While on normal magic you must take care with all attributes, on mana magic, you usually only need to worry with reagents and intelligence.
+While on normal magic you must take care with all attributes, on mana magic, you usually only need to worry with reagents and intelligence.
+
+While the tyrant desires to see skill.
+While the tyrant desires to see skill.
+
+While we're at that, do you know how to craft? No? First, you'll need a Cauldron, in case you've rented a house. Otherwise, you can rent a work table on this Forge.
+While we're at that, do you know how to craft? No? First, you'll need a Cauldron, in case you've rented a house. Otherwise, you can rent a work table on this Forge.
+
+Whip
+Whip
+
+Whirly Bird
+Whirly Bird
+
+Whirly Bird (BOSS)
+Whirly Bird (BOSS)
+
+Whiskey Ale
+Whiskey Ale
+
+White
+White
+
+White Cats drink Milk, Forest Mushroom eats Moss, Black Cats eats marshmallow. Keep in mind whatever they eat.
+White Cats drink Milk, Forest Mushroom eats Moss, Black Cats eats marshmallow. Keep in mind whatever they eat.
+
+White Fur
+White Fur
+
+White Slime
+White Slime
+
+White Slime Mother
+White Slime Mother
+
+WhiteCat
+WhiteCat
+
+Who are the most famous scholars?
+Who are the most famous scholars?
+
+Who are you, and how did you manage to come down here? The sheer power of our Lord prevents anyone not under his control to go here.
+Who are you, and how did you manage to come down here? The sheer power of our Lord prevents anyone not under his control to go here.
+
+Who are you?
+Who are you?
+
+Who are you? Thanks for the help.
+Who are you? Thanks for the help.
+
+Who are you? Where are you from?
+Who are you? Where are you from?
+
+Who composes the Alliance?
+Who composes the Alliance?
+
+Who dares to disturb my slumber?
+Who dares to disturb my slumber?
+
+Who is Andrei Sakar?
+Who is Andrei Sakar?
+
+Who is Kfahr the Warrior?
+Who is Kfahr the Warrior?
+
+Who is responsible for the fjords of Norway?
+Who is responsible for the fjords of Norway?
+
+Who is the Professor? I've heard he was the father of a certain Arthur... No idea.
+Who is the Professor? I've heard he was the father of a certain Arthur... No idea.
+
+Who is the male human protagonist? First and last name only.
+Who is the male human protagonist? First and last name only.
+
+Who is there? Are they trying to break my lock again?!
+Who is there? Are they trying to break my lock again?!
+
+Who is this professor?
+Who is this professor?
+
+Who is throwing stuff at me?!
+Who is throwing stuff at me?!
+
+Who sent you here? Merlin?
+Who sent you here? Merlin?
+
+Who will collect the most?!
+Who will collect the most?!
+
+Who will insult every living being in the universe, because he is immortal and getting bored?
+Who will insult every living being in the universe, because he is immortal and getting bored?
+
+Who's Mercury? Maybe I'm missing something? Where could he have went?
+Who's Mercury? Maybe I'm missing something? Where could he have went?
+
+Who's this Juliet?
+Who's this Juliet?
+
+Who, or what are you?
+Who, or what are you?
+
+Whoever took control of this village is no ordinary mage. There's a switch on the wall.
+Whoever took control of this village is no ordinary mage. There's a switch on the wall.
+
+Whom put an end at their foes,
+Whom put an end at their foes,
+
+Why am I having a hard time to believe on you...
+Why am I having a hard time to believe on you...
+
+Why are you here? This area is off-limits!
+Why are you here? This area is off-limits!
+
+Why did we had to decide to research slimes of all creatures?! But alas, now is too late. Not even a %s could restore her in this state...
+Why did we had to decide to research slimes of all creatures?! But alas, now is too late. Not even a %s could restore her in this state...
+
+Why do you bully me! - This is a bug: 02331.LOGIC.OID
+Why do you bully me! - This is a bug: 02331.LOGIC.OID
+
+Why do you only use the silk robe? Don't you have a shorts or something?
+Why do you only use the silk robe? Don't you have a shorts or something?
+
+Why do you summon me? Speak.
+Why do you summon me? Speak.
+
+Why do you want to help me?
+Why do you want to help me?
+
+Why does death embrance me so much today?
+Why does death embrance me so much today?
+
+Why does it suck?
+Why does it suck?
+
+Why don't you go yourself?
+Why don't you go yourself?
+
+Why don't you take a break? Breath in some fresh air. The basement is pretty damp.
+Why don't you take a break? Breath in some fresh air. The basement is pretty damp.
+
+Why everything is so broken, couldn't the Monster King try to do less collateral damage?! These things will take years to be fixed!
+Why everything is so broken, couldn't the Monster King try to do less collateral damage?! These things will take years to be fixed!
+
+Why is it hard?
+Why is it hard?
+
+Why not Andrei Sakar?
+Why not Andrei Sakar?
+
+Why not, I need to train anyway.
+Why not, I need to train anyway.
+
+Why should I spare you?
+Why should I spare you?
+
+Why should I? Go away. %%n
+Why should I? Go away. %%n
+
+Why shouldn't I jump here?
+Why shouldn't I jump here?
+
+Why would you want to go back there?
+Why would you want to go back there?
+
+Why you don't tell me?
+Why you don't tell me?
+
+Why, I actually do sell a few things here! But they probably aren't what you're looking for.
+Why, I actually do sell a few things here! But they probably aren't what you're looking for.
+
+Why, hello there! Come to visit me to hear Kfahr the Warrior or Andrei Sakar's exploits, have you?
+Why, hello there! Come to visit me to hear Kfahr the Warrior or Andrei Sakar's exploits, have you?
+
+Why, thank you!
+Why, thank you!
+
+Why? You are most definitely at the wrong place. Leave!
+Why? You are most definitely at the wrong place. Leave!
+
+Wicked Mushroom
+Wicked Mushroom
+
+Wicked Shroom Hat
+Wicked Shroom Hat
+
+Wielding the lightbringer came the ace,
+Wielding the lightbringer came the ace,
+
+Wiki article
+Wiki article
+
+Wildx Chest
+Wildx Chest
+
+Will adventurers reach it? Will the random attacks at towns cease??
+Will adventurers reach it? Will the random attacks at towns cease??
+
+Will next draw be HIGHER or LOWER?!
+Will next draw be HIGHER or LOWER?!
+
+Will you accept his challenge?! Raise to the highest top score!
+Will you accept his challenge?! Raise to the highest top score!
+
+Will you help me- no, I mean, will you help us, the whole town of Hurnscald?
+Will you help me- no, I mean, will you help us, the whole town of Hurnscald?
+
+Will you try to unlock it?
+Will you try to unlock it?
+
+Wind Element
+Wind Element
+
+Wind Fairy
+Wind Fairy
+
+Wind: @@, @@
+Wind: @@, @@
+
+Windwalker
+Windwalker
+
+Wine Making Barrel
+Wine Making Barrel
+
+Winning Streak is also reset on logout or when you leave the Inn.
+Winning Streak is also reset on logout or when you leave the Inn.
+
+Winning Strike Prizes:
+Winning Strike Prizes:
+
+Winter
+Winter
+
+Winter this year is really harsh! Fire is the most important for us.
+Winter this year is really harsh! Fire is the most important for us.
+
+Wise choice! But can you really part with it? Better think on something else!
+Wise choice! But can you really part with it? Better think on something else!
+
+Wise choice.
+Wise choice.
+
+Witch Boots
+Witch Boots
+
+With Magic and Blades, The Icicle shall break.
+With Magic and Blades, The Icicle shall break.
+
+With Magic and Blades, The Icicle shall break. Do you undertake the challenge?
+With Magic and Blades, The Icicle shall break. Do you undertake the challenge?
+
+With Tulimshar being the last major human settlement standing (besides distant locations like Candor), the situation looks more dire than ever.
+With Tulimshar being the last major human settlement standing (besides distant locations like Candor), the situation looks more dire than ever.
+
+With a PinCode, you'll have access to restricted features,
+With a PinCode, you'll have access to restricted features,
+
+With a big smile, you stretch your hand in the teddy's direction; But the little one gets scared with the movement and starts to move away from you.
+With a big smile, you stretch your hand in the teddy's direction; But the little one gets scared with the movement and starts to move away from you.
+
+With a knife, the fisherman makes the roots as thin as he can. You wonder if he knows what he is doing.
+With a knife, the fisherman makes the roots as thin as he can. You wonder if he knows what he is doing.
+
+With a mask you say? This reminds me... wait a moment.
+With a mask you say? This reminds me... wait a moment.
+
+With a mask? Hm. I don't remember.
+With a mask? Hm. I don't remember.
+
+With a mask? I don't really remember... We have so many visitors. Though I suppose someone wearing a mask would be noticeable... But I'm so worn out from the past few days that I'm just glad I can even recall my own name! Sorry.
+With a mask? I don't really remember... We have so many visitors. Though I suppose someone wearing a mask would be noticeable... But I'm so worn out from the past few days that I'm just glad I can even recall my own name! Sorry.
+
+With a mask? I really don't know. I'm usually in the workshop and most of the visitors spend their time in the library. Sometimes they come to have a quick look in the workshop too, but I don't really pay attention to that, so... I can't recall a visitor with a mask, sorry.
+With a mask? I really don't know. I'm usually in the workshop and most of the visitors spend their time in the library. Sometimes they come to have a quick look in the workshop too, but I don't really pay attention to that, so... I can't recall a visitor with a mask, sorry.
+
+With a mask? Mh, I think I know who are you talking about. I vaguely remember that there was someone with a mask... but I can't recall any details, I wasn't really paying attention.
+With a mask? Mh, I think I know who are you talking about. I vaguely remember that there was someone with a mask... but I can't recall any details, I wasn't really paying attention.
+
+With a mask? Yeah, I remember. That was a strange guy. He came to visit the library, but he lurked around at the workshop area and they had to send him back to the books.
+With a mask? Yeah, I remember. That was a strange guy. He came to visit the library, but he lurked around at the workshop area and they had to send him back to the books.
+
+With a wave, Benjamin returns to report Kenton about the outcome.
+With a wave, Benjamin returns to report Kenton about the outcome.
+
+With fresh conviction, you prepare yourself to the fight which draws near.
+With fresh conviction, you prepare yourself to the fight which draws near.
+
+With it, you can safely move items and funds between your characters.
+With it, you can safely move items and funds between your characters.
+
+With one gem you can expect to get 1 to 3 powders!
+With one gem you can expect to get 1 to 3 powders!
+
+With recent player activity, the Monster king is @@!
+With recent player activity, the Monster king is @@!
+
+With the brave sacrifice of Andrei Sakar to save our world, our future seems as bleak than ever.
+With the brave sacrifice of Andrei Sakar to save our world, our future seems as bleak than ever.
+
+With the wages I receive, you can use this market at your own risk.
+With the wages I receive, you can use this market at your own risk.
+
+With this I make balls of slime for Candor's childs, they really like to play with them.
+With this I make balls of slime for Candor's childs, they really like to play with them.
+
+With this tip you will be able to fight strong monsters. It's on Saul's Strategy Guide Against Archwizards.
+With this tip you will be able to fight strong monsters. It's on Saul's Strategy Guide Against Archwizards.
+
+Withdraw GP
+Withdraw GP
+
+Withdraw.
+Withdraw.
+
+Within the cities is a place safe enough not to be attacked by another person (except during wars). But outside of them there are some places where the citizen can be attacked by enemies from other realms, or even by someone from the same realm.
+Within the cities is a place safe enough not to be attacked by another person (except during wars). But outside of them there are some places where the citizen can be attacked by enemies from other realms, or even by someone from the same realm.
+
+Without any ceremony or further ado, the teddy starts poking on your things.
+Without any ceremony or further ado, the teddy starts poking on your things.
+
+Without any mana stone left, and because the walls were not very strong, most of the city was destroyed.
+Without any mana stone left, and because the walls were not very strong, most of the city was destroyed.
+
+Without magic attack, using a fireball at an enemy will be like throwing a stone.
+Without magic attack, using a fireball at an enemy will be like throwing a stone.
+
+Witness my sublime rain of death. Regeneration!
+Witness my sublime rain of death. Regeneration!
+
+Witness, the power of love!
+Witness, the power of love!
+
+Wizard General
+Wizard General
+
+Wizard Moccasins
+Wizard Moccasins
+
+Wizardry
+Wizardry
+
+Wizardry Institute is on the %s area of the campus.
+Wizardry Institute is on the %s area of the campus.
+
+Wizards Tower, Tonori - 6th March 300 AT
+Wizards Tower, Tonori - 6th March 300 AT
+
+Wizards Tower, Tonori - 8th April 300 AT
+Wizards Tower, Tonori - 8th April 300 AT
+
+Wo-wo-wow! You really did it! You're the best!#0
+Wo-wo-wow! You really did it! You're the best!
+
+Wo-wo-wow! You really did it! You're the best!#1
+Wo-wo-wow! You really did it! You're the best!
+
+Wolvern
+Wolvern
+
+Wolvern Pelt
+Wolvern Pelt
+
+Wolvern Teeth Necklace
+Wolvern Teeth Necklace
+
+Wolvern Tooth
+Wolvern Tooth
+
+Wolverns are fierce creatures who likes cold places. Their fur is soft.
+Wolverns are fierce creatures who likes cold places. Their fur is soft.
+
+Won Quirino Voraz Arena %s ago
+Won Quirino Voraz Arena %s ago
+
+Wonderful! Here, take the @@, as promised. I need to get back to cooking!
+Wonderful! Here, take the @@, as promised. I need to get back to cooking!
+
+Wonderful! I'll be expecting you back.
+Wonderful! I'll be expecting you back.
+
+Wonderful! Just bring me 12 @@ and 4 @@. I'm counting on you!
+Wonderful! Just bring me 12 @@ and 4 @@. I'm counting on you!
+
+Wonderful! My fee is @@. This fee is the first step in separating those with willpower, from those without.
+Wonderful! My fee is @@. This fee is the first step in separating those with willpower, from those without.
+
+Wonderful! Now I can prepare the ink for magnificent illustrations! You're very generous.
+Wonderful! Now I can prepare the ink for magnificent illustrations! You're very generous.
+
+Wonderful! So, how about a warm up?
+Wonderful! So, how about a warm up?
+
+Wonderful! That was great! Directly hit the bull's eye!
+Wonderful! That was great! Directly hit the bull's eye!
+
+Wonderful! You must finish Novice, Intermediary, Advanced and Expert levels before I unlock Master level for you.
+Wonderful! You must finish Novice, Intermediary, Advanced and Expert levels before I unlock Master level for you.
+
+Wonderful, I am happy to have you over. Lets get things started with some puerh tea.
+Wonderful, I am happy to have you over. Lets get things started with some puerh tea.
+
+Wooden Bow
+Wooden Bow
+
+Wooden Log
+Wooden Log
+
+Wooden Shield
+Wooden Shield
+
+Wooden Sword
+Wooden Sword
+
+Woodland Fantasy
+Woodland Fantasy
+
+Woodland Water
+Woodland Water
+
+Woody
+Woody
+
+Woody Barrier
+Woody Barrier
+
+Woody Card
+Woody Card
+
+Woody is inside, he is probably crafting some stuff with animals pelts.
+Woody is inside, he is probably crafting some stuff with animals pelts.
+
+Woohoo, thank you! Maybe now they'll leave me alone!
+Woohoo, thank you! Maybe now they'll leave me alone!
+
+Word of the wise: You can freely challenge the Yetifly later.
+Word of the wise: You can freely challenge the Yetifly later.
+
+Worker Day
+Worker Day
+
+Worker Statue
+Worker Statue
+
+World Expo
+World Expo
+
+World Gate 2
+World Gate 2
+
+World Map - @@
+World Map - @@
+
+World hero: %s
+World hero: %s
+
+World's Edge is an island situated northwest of here.
+World's Edge is an island situated northwest of here.
+
+World's Edge is the place where the Monster King Fortress is.
+World's Edge is the place where the Monster King Fortress is.
+
+Worlds Gate
+Worlds Gate
+
+Worry not, I have them with me.
+Worry not, I have them with me.
+
+Would be nice if you could bring me these:
+Would be nice if you could bring me these:
+
+Would love to invite you to a card minigame... But alas, Kenton told me that minigames are a waste of time, and that I should not bother adventurers with it.
+Would love to invite you to a card minigame... But alas, Kenton told me that minigames are a waste of time, and that I should not bother adventurers with it.
+
+Would you ... uhm ... would you talk to Chief Oskari for me? And ask her what she plans to do about me? I... I just don't feel capable of doing that myself right now. I'll try to pull myself together in the meanwhile.
+Would you ... uhm ... would you talk to Chief Oskari for me? And ask her what she plans to do about me? I... I just don't feel capable of doing that myself right now. I'll try to pull myself together in the meanwhile.
+
+Would you like to help me with organizing a Church Party?
+Would you like to help me with organizing a Church Party?
+
+Would you like to help us to protect the town from a red scorpion invasion??
+Would you like to help us to protect the town from a red scorpion invasion??
+
+Would you like to help us? Maybe you just need some information.#0
+Would you like to help us? Maybe you just need some information.
+
+Would you like to help us? Maybe you just need some information.#1
+Would you like to help us? Maybe you just need some information.
+
+Would you like to leave this place?
+Would you like to leave this place?
+
+Would you like to transform one more?
+Would you like to transform one more?
+
+Wouldn't you know it, the bug bomb Eomie gave us is in one of the store room barrels.
+Wouldn't you know it, the bug bomb Eomie gave us is in one of the store room barrels.
+
+Wouldn't you like to help me too?
+Wouldn't you like to help me too?
+
+Wounded Girl
+Wounded Girl
+
+Wounded Soldier
+Wounded Soldier
+
+Wounded Soldier#01861
+Wounded Soldier#01861
+
+Wow!
+Wow!
+
+Wow! Are you @@? Everyone, in every city, talks about you!
+Wow! Are you @@? Everyone, in every city, talks about you!
+
+Wow! Those pitiable gloves sure weren't made for mining. They're almost ruined!
+Wow! Those pitiable gloves sure weren't made for mining. They're almost ruined!
+
+Wow! You did it! I do not think anyone else could have done that.
+Wow! You did it! I do not think anyone else could have done that.
+
+Wow, a Dagger and a Sailor's Hat!
+Wow, a Dagger and a Sailor's Hat!
+
+Wow, it's really generous of you to fight those slimes for us. Do you need anything else?
+Wow, it's really generous of you to fight those slimes for us. Do you need anything else?
+
+Wow, three gifts! Good job! With 800, an extra gift for everyone!
+Wow, three gifts! Good job! With 800, an extra gift for everyone!
+
+Wow, you already found quite a lot of bookpages. Please keep it up!
+Wow, you already found quite a lot of bookpages. Please keep it up!
+
+Wreath
+Wreath
+
+Writing/Updating in client-data quests.xml and items.xml with the correct information usually counts as well.
+Writing/Updating in client-data quests.xml and items.xml with the correct information usually counts as well.
+
+Wumpus Egg
+Wumpus Egg
+
+Wurtzite Ore
+Wurtzite Ore
+
+Wushin
+Wushin
+
+Wyara
+Wyara
+
+Xanthem Card
+Xanthem Card
+
+Xmas Cake
+Xmas Cake
+
+Xmas Candy Cane
+Xmas Candy Cane
+
+Xovilam
+Xovilam
+
+YOU CAN FEEL THE POWER FLOWING TROUGH YOU.
+YOU CAN FEEL THE POWER FLOWING TROUGH YOU.
+
+YOU FAIL! It is a simple item now.
+YOU FAIL! It is a simple item now.
+
+YOU HAVE RESIGNED THE OFFICE.
+YOU HAVE RESIGNED THE OFFICE.
+
+YOU JUMP FOR ALL IT IS WORTH!!
+YOU JUMP FOR ALL IT IS WORTH!!
+
+YOU WERE BLESSED BY %s
+YOU WERE BLESSED BY %s
+
+YOU WHO DEFILE THIS PLACE...
+YOU WHO DEFILE THIS PLACE...
+
+YOU WILL BE DISCONNECTED BY FORCE.
+YOU WILL BE DISCONNECTED BY FORCE.
+
+YOU WILL BE PENALIZED WITH 60% OF HEALTH.
+YOU WILL BE PENALIZED WITH 60% OF HEALTH.
+
+YOU WILL BE PENALIZED WITH 70% OF HEALTH.
+YOU WILL BE PENALIZED WITH 70% OF HEALTH.
+
+Yar matey! You have the items I asked for! You have the honor and trust we pirates bestow each other!
+Yar matey! You have the items I asked for! You have the honor and trust we pirates bestow each other!
+
+Yar! Do you need something, matey?
+Yar! Do you need something, matey?
+
+Yarr arr!
+Yarr arr!
+
+Yay it's summer! I love June 21st, and the summer vacations!
+Yay it's summer! I love June 21st, and the summer vacations!
+
+Yay yay! Many thanks! Here, take the reward as promised!
+Yay yay! Many thanks! Here, take the reward as promised!
+
+Yay! Many thanks! I'll enjoy it! Here is the promised reward.
+Yay! Many thanks! I'll enjoy it! Here is the promised reward.
+
+Yay! Many thanks! I'll enjoy it! Here, you can keep this.
+Yay! Many thanks! I'll enjoy it! Here, you can keep this.
+
+Yay, it worked! You get a good wing.
+Yay, it worked! You get a good wing.
+
+Yaya, are you sure?
+Yaya, are you sure?
+
+Yaya, you should go see her! She'll be happy to help you again.#0
+Yaya, you should go see her! She'll be happy to help you again.
+
+Yaya, you should go see her! She'll be happy to help you again.#1
+Yaya, you should go see her! She'll be happy to help you again.
+
+Yayaya, @@ is surely slow. Do you remember how to walk? You can use arrow keys for that!
+Yayaya, @@ is surely slow. Do you remember how to walk? You can use arrow keys for that!
+
+Yayaya, by pressing @@ or clicking in @@, you'll open your char status window!
+Yayaya, by pressing @@ or clicking in @@, you'll open your char status window!
+
+Yayaya, by pressing @@ or clicking in @@, you'll open your character status window!
+Yayaya, by pressing @@ or clicking in @@, you'll open your character status window!
+
+Yayaya, good job! You can collect loot by pressing @@.
+Yayaya, good job! You can collect loot by pressing @@.
+
+Yeah sure, take my Amethyst!
+Yeah sure, take my Amethyst!
+
+Yeah sure, take my Diamond!
+Yeah sure, take my Diamond!
+
+Yeah sure, take my Emerald!
+Yeah sure, take my Emerald!
+
+Yeah sure, take my Ruby!
+Yeah sure, take my Ruby!
+
+Yeah sure, take my Sapphire!
+Yeah sure, take my Sapphire!
+
+Yeah sure, take my Topaz!
+Yeah sure, take my Topaz!
+
+Yeah yeah yeah, you're not the first one to come talking about that to me.
+Yeah yeah yeah, you're not the first one to come talking about that to me.
+
+Yeah you're all like *hic* that, but you won't get me! *burp*
+Yeah you're all like *hic* that, but you won't get me! *burp*
+
+Yeah you're right, I'm a noob anyway, and Sagratha is a skilled mage. She should be fine on her own.
+Yeah you're right, I'm a noob anyway, and Sagratha is a skilled mage. She should be fine on her own.
+
+Yeah!
+Yeah!
+
+Yeah, I have the money. Give me FIFTEEN minutes, and Bring it on!
+Yeah, I have the money. Give me FIFTEEN minutes, and Bring it on!
+
+Yeah, I have the money. Give me FIVE minutes, and Bring it on!
+Yeah, I have the money. Give me FIVE minutes, and Bring it on!
+
+Yeah, I have the money. Give me TEN minutes, and Bring it on!
+Yeah, I have the money. Give me TEN minutes, and Bring it on!
+
+Yeah, I need one.
+Yeah, I need one.
+
+Yeah, Nard's sailors saved my life and brought me here!
+Yeah, Nard's sailors saved my life and brought me here!
+
+Yeah, but I would like to make sure I get a reward.
+Yeah, but I would like to make sure I get a reward.
+
+Yeah, but what reward will I get?
+Yeah, but what reward will I get?
+
+Yeah, it was my grand-grand-grandfather.
+Yeah, it was my grand-grand-grandfather.
+
+Yeah, she might be back soon.
+Yeah, she might be back soon.
+
+Yeah, sign me up!
+Yeah, sign me up!
+
+Yeah, sure! I'm brave as Simon.
+Yeah, sure! I'm brave as Simon.
+
+Yeah, sure? What do you need?
+Yeah, sure? What do you need?
+
+Yeah, teach them a lesson! Keep going!
+Yeah, teach them a lesson! Keep going!
+
+Yeah, they are.
+Yeah, they are.
+
+Yeah, you're right.
+Yeah, you're right.
+
+Yeah... I also found a few old blueprints. We don't need this crap, you can put it on your @@.
+Yeah... I also found a few old blueprints. We don't need this crap, you can put it on your @@.
+
+Years later, someone then started giving gifts to the poor childrens on that date. It sticked, and now people usually trade gifts each other on the date.
+Years later, someone then started giving gifts to the poor childrens on that date. It sticked, and now people usually trade gifts each other on the date.
+
+Yellow
+Yellow
+
+Yellow Dye
+Yellow Dye
+
+Yellow Skull Slime
+Yellow Skull Slime
+
+Yellow Slime
+Yellow Slime
+
+Yellow Slime Mother
+Yellow Slime Mother
+
+Yellow Spark
+Yellow Spark
+
+Yellow Switch#EP
+Yellow Switch#EP
+
+Yep, I bring them for you!
+Yep, I bring them for you!
+
+Yep, I never fly in these days.
+Yep, I never fly in these days.
+
+Yep. There was a cursed mouboo on the road.
+Yep. There was a cursed mouboo on the road.
+
+Yerba Mate
+Yerba Mate
+
+Yes
+Yes
+
+Yes I do... I sell %s %s for the small amount of %s GP. Interested? %%%%p
+Yes I do... I sell %s %s for the small amount of %s GP. Interested? %%%%p
+
+Yes please.
+Yes please.
+
+Yes sir. I will help them.
+Yes sir. I will help them.
+
+Yes!
+Yes!
+
+Yes! Here you are.
+Yes! Here you are.
+
+Yes! History is the best!
+Yes! History is the best!
+
+Yes! It is heavy.
+Yes! It is heavy.
+
+Yes! We'll sail west, and find legendary lands!
+Yes! We'll sail west, and find legendary lands!
+
+Yes, %d
+Yes, %d
+
+Yes, Chief Oskari suspects a sabotage.
+Yes, Chief Oskari suspects a sabotage.
+
+Yes, I accept the pendant!
+Yes, I accept the pendant!
+
+Yes, I am a mouboo. Why? Can't a mouboo be a dangerous bandit?!
+Yes, I am a mouboo. Why? Can't a mouboo be a dangerous bandit?!
+
+Yes, I am a mouboo. Why? Can't a mouboo be a law and order enforcer?!
+Yes, I am a mouboo. Why? Can't a mouboo be a law and order enforcer?!
+
+Yes, I am sure.#0
+Yes, I am sure.
+
+Yes, I am sure.#1
+Yes, I am sure.
+
+Yes, I am.
+Yes, I am.
+
+Yes, I can craft Savior Pants. But it is not cheap. I'll need Platinum, Iridium, and Mylarin Dust. And gold. Much gold.
+Yes, I can craft Savior Pants. But it is not cheap. I'll need Platinum, Iridium, and Mylarin Dust. And gold. Much gold.
+
+Yes, I can craft many things. In addition to plating and improving armor, I can craft smaller items made of gold and other metals.
+Yes, I can craft many things. In addition to plating and improving armor, I can craft smaller items made of gold and other metals.
+
+Yes, I did. There was only an unlocked secret window.
+Yes, I did. There was only an unlocked secret window.
+
+Yes, I do.
+Yes, I do.
+
+Yes, I have herbs. I assume the risks.
+Yes, I have herbs. I assume the risks.
+
+Yes, I have them right here.
+Yes, I have them right here.
+
+Yes, I know when next Alliance's Council meeting will be. No, I don't need anything.
+Yes, I know when next Alliance's Council meeting will be. No, I don't need anything.
+
+Yes, I need %d apples.
+Yes, I need %d apples.
+
+Yes, I need to get out of here the earliest possible.
+Yes, I need to get out of here the earliest possible.
+
+Yes, I remember that one! I welcomed him in the libary and showed him around. But I didn't have the impression he was really listening to what I was saying, though that's hard to tell with the mask.
+Yes, I remember that one! I welcomed him in the libary and showed him around. But I didn't have the impression he was really listening to what I was saying, though that's hard to tell with the mask.
+
+Yes, I want to find out who I am.
+Yes, I want to find out who I am.
+
+Yes, I would like to explore!
+Yes, I would like to explore!
+
+Yes, I would like to go back to Artis.
+Yes, I would like to go back to Artis.
+
+Yes, I would like to go back to the Swamps.
+Yes, I would like to go back to the Swamps.
+
+Yes, I would like to go to Asphodel Moors!
+Yes, I would like to go to Asphodel Moors!
+
+Yes, I'll go.
+Yes, I'll go.
+
+Yes, I'll help you.
+Yes, I'll help you.
+
+Yes, I'll pay with Common Carp.
+Yes, I'll pay with Common Carp.
+
+Yes, I'll pay with Grass Carp.
+Yes, I'll pay with Grass Carp.
+
+Yes, I'll pay with Roach.
+Yes, I'll pay with Roach.
+
+Yes, I'm awesome, praise me more.
+Yes, I'm awesome, praise me more.
+
+Yes, I'm coming from Tulimshar.
+Yes, I'm coming from Tulimshar.
+
+Yes, I'm done with it.
+Yes, I'm done with it.
+
+Yes, and there was no signs of a fight.
+Yes, and there was no signs of a fight.
+
+Yes, as you see, the costs are high. Prepare yourself.
+Yes, as you see, the costs are high. Prepare yourself.
+
+Yes, but I like windy days.
+Yes, but I like windy days.
+
+Yes, courageous and worthy adventurer. You did well!#0
+Yes, courageous and worthy adventurer. You did well!
+
+Yes, courageous and worthy adventurer. You did well!#1
+Yes, courageous and worthy adventurer. You did well!
+
+Yes, deal. Gimme the gold ring.
+Yes, deal. Gimme the gold ring.
+
+Yes, deal. Gimme the silver ring.
+Yes, deal. Gimme the silver ring.
+
+Yes, did you really think I was some kind of monster that would try to poison you in my own house?
+Yes, did you really think I was some kind of monster that would try to poison you in my own house?
+
+Yes, everyone thinks he is competent and Elias have a report of a masked man.
+Yes, everyone thinks he is competent and Elias have a report of a masked man.
+
+Yes, everything is going great, thank you!
+Yes, everything is going great, thank you!
+
+Yes, exactly. Thanks for the rescue. I must guard this area from the caves, if you need, just call me.
+Yes, exactly. Thanks for the rescue. I must guard this area from the caves, if you need, just call me.
+
+Yes, here they are.
+Yes, here they are.
+
+Yes, here!
+Yes, here!
+
+Yes, it is a really sweet deal, believe me!
+Yes, it is a really sweet deal, believe me!
+
+Yes, many thanks. This will help me a lot.
+Yes, many thanks. This will help me a lot.
+
+Yes, of course!
+Yes, of course!
+
+Yes, of course.
+Yes, of course.
+
+Yes, of course. We have good relations with Hurnscald Town, so you're welcome.
+Yes, of course. We have good relations with Hurnscald Town, so you're welcome.
+
+Yes, of course. Without a sweat.
+Yes, of course. Without a sweat.
+
+Yes, one
+Yes, one
+
+Yes, please use my blood to save lifes.
+Yes, please use my blood to save lifes.
+
+Yes, please, book me a bed.
+Yes, please, book me a bed.
+
+Yes, please.
+Yes, please.
+
+Yes, power allows us a future of our choosing.
+Yes, power allows us a future of our choosing.
+
+Yes, take it.
+Yes, take it.
+
+Yes, take them.
+Yes, take them.
+
+Yes, the Blue Sage will see you.
+Yes, the Blue Sage will see you.
+
+Yes, the cursed Mouboo you told me earlier, on the way out.
+Yes, the cursed Mouboo you told me earlier, on the way out.
+
+Yes, try to summon the Yeti King in Tulimshar Sewers. Make sure you have someone else with you to help.
+Yes, try to summon the Yeti King in Tulimshar Sewers. Make sure you have someone else with you to help.
+
+Yes, uhh, very interesting indeed. Haha. I better leave...
+Yes, uhh, very interesting indeed. Haha. I better leave...
+
+Yes, unless you're doing something VERY special, a Wooden Log is what you need.
+Yes, unless you're doing something VERY special, a Wooden Log is what you need.
+
+Yes, we have @@!
+Yes, we have @@!
+
+Yes, you are now personel! Doesn't it feels exciting? Please tell me it does, I have nothing else to convince you to go otherwise.
+Yes, you are now personel! Doesn't it feels exciting? Please tell me it does, I have nothing else to convince you to go otherwise.
+
+Yes, you can count it.
+Yes, you can count it.
+
+Yes, you'll be fired.
+Yes, you'll be fired.
+
+Yes.
+Yes.
+
+Yes. Frostia is a city-estate, and is ruled by me, King Gelid Frozenheart II.
+Yes. Frostia is a city-estate, and is ruled by me, King Gelid Frozenheart II.
+
+Yes. I can. But this is irreversible. Are you sure you want this?
+Yes. I can. But this is irreversible. Are you sure you want this?
+
+Yes. I mean, yes, Pihro and Pyndragon will fancy you an airship.
+Yes. I mean, yes, Pihro and Pyndragon will fancy you an airship.
+
+Yes. Let me try to open this.
+Yes. Let me try to open this.
+
+Yes. What do you need help with?
+Yes. What do you need help with?
+
+Yes? Have you looked her house for signs of battle?
+Yes? Have you looked her house for signs of battle?
+
+Yet, I could burn %d %s to keep the house just as warm, maybe even cozier, and the Blue Sage would be none the wiser. Fire is fire, warmth is warmth.
+Yet, I could burn %d %s to keep the house just as warm, maybe even cozier, and the Blue Sage would be none the wiser. Fire is fire, warmth is warmth.
+
+Yeti
+Yeti
+
+Yeti Claw
+Yeti Claw
+
+Yeti Mask
+Yeti Mask
+
+Yeti#0211Cindy
+Yeti#0211Cindy
+
+Yeti#0211Guard
+Yeti#0211Guard
+
+Yetifly
+Yetifly
+
+Yetifly the Mighty
+Yetifly the Mighty
+
+Yety Tank Top
+Yety Tank Top
+
+Yeye can press @@ to sit, which will allow you to heal faster.
+Yeye can press @@ to sit, which will allow you to heal faster.
+
+Yeye don't need to train here anymore! Let's head back to the ship before the sun sets, shall we?
+Yeye don't need to train here anymore! Let's head back to the ship before the sun sets, shall we?
+
+Yeye is not paying for your food and is not a sailor like us! You should start standing on your own feet.
+Yeye is not paying for your food and is not a sailor like us! You should start standing on your own feet.
+
+Yeye, are you finally ready to go?#0
+Yeye, are you finally ready to go?
+
+Yeye, are you finally ready to go?#1
+Yeye, are you finally ready to go?
+
+Yeye, very good, you took the clothes.
+Yeye, very good, you took the clothes.
+
+Yikes, the Moubootaur!
+Yikes, the Moubootaur!
+
+Yo, girl.#0
+Yo, girl.
+
+Yo, good joob killing the Fire Goblins. Do you have everything I've asked for?
+Yo, good joob killing the Fire Goblins. Do you have everything I've asked for?
+
+Yo, man.#1
+Yo, man.
+
+You already claimed a reward today! Come back tomorrow, and remember to wear GREEN!
+You already claimed a reward today! Come back tomorrow, and remember to wear GREEN!
+
+You already delivered @@ high-quality patches of white fur.
+You already delivered @@ high-quality patches of white fur.
+
+You already got all power I could grant you!
+You already got all power I could grant you!
+
+You already got the money. Go there and pay ##B Hurnscald ##b a visit. The ##B mayor ##b should be able to help you.
+You already got the money. Go there and pay ##B Hurnscald ##b a visit. The ##B mayor ##b should be able to help you.
+
+You already have this.
+You already have this.
+
+You already helped us today. Come back tomorrow.
+You already helped us today. Come back tomorrow.
+
+You already ran this command today. Please try again at a later time.
+You already ran this command today. Please try again at a later time.
+
+You already registered. Waiting for your partner...
+You already registered. Waiting for your partner...
+
+You also can't stay there forever! You will have about 20 minutes to entirely clear it out and defeat the last boss.
+You also can't stay there forever! You will have about 20 minutes to entirely clear it out and defeat the last boss.
+
+You also cannot send any boxes before eating any you've received, but Demure is an exception for this rule.
+You also cannot send any boxes before eating any you've received, but Demure is an exception for this rule.
+
+You also find @@ GP with it.
+You also find @@ GP with it.
+
+You also gained a @@. Bows are very slow, so you should talk to the Blacksmith to make a Quiver.
+You also gained a @@. Bows are very slow, so you should talk to the Blacksmith to make a Quiver.
+
+You also get access to a party chat, and there are no compromises, so it is a perfect choice for a raid.
+You also get access to a party chat, and there are no compromises, so it is a perfect choice for a raid.
+
+You also get points for participation, exchange them with Aurora back in Tulimshar before event ends.
+You also get points for participation, exchange them with Aurora back in Tulimshar before event ends.
+
+You also need @@/@@ Mob Points to improve thief skills.
+You also need @@/@@ Mob Points to improve thief skills.
+
+You are NO LONGER EXILED from %s by %s.
+You are NO LONGER EXILED from %s by %s.
+
+You are NOT allowed to leave here!
+You are NOT allowed to leave here!
+
+You are REMOVING an item option.
+You are REMOVING an item option.
+
+You are a @@º degree mage. This book allows you many new possibilities.
+You are a @@º degree mage. This book allows you many new possibilities.
+
+You are a master chef, looking at you inspires Maxime.
+You are a master chef, looking at you inspires Maxime.
+
+You are a mere %s, but you may be a hero... Find me again...
+You are a mere %s, but you may be a hero... Find me again...
+
+You are about to accept a high-risk quest. You cannot complete it alone.
+You are about to accept a high-risk quest. You cannot complete it alone.
+
+You are allowed to fill your bottles, but BE SURE TO PAY!
+You are allowed to fill your bottles, but BE SURE TO PAY!
+
+You are already at the Mana Plane of Existence.
+You are already at the Mana Plane of Existence.
+
+You are already fully trained. You should go to Tulimshar, but if you want a bonus task, please kill a @@.
+You are already fully trained. You should go to Tulimshar, but if you want a bonus task, please kill a @@.
+
+You are already fully trained. You should go to Tulimshar. I may have another task for you later, but you are too weak now, get some levels.
+You are already fully trained. You should go to Tulimshar. I may have another task for you later, but you are too weak now, get some levels.
+
+You are carrying duplicates of the same item. Sorry, but I have no idea which one you want to tweak.
+You are carrying duplicates of the same item. Sorry, but I have no idea which one you want to tweak.
+
+You are close... You are almost there!
+You are close... You are almost there!
+
+You are completly overwhelmed by your magic.
+You are completly overwhelmed by your magic.
+
+You are currently at @@.
+You are currently at @@.
+
+You are currently hunting @@/10000 @@.
+You are currently hunting @@/10000 @@.
+
+You are currently hunting @@/10000 @@. Do you want to switch?
+You are currently hunting @@/10000 @@. Do you want to switch?
+
+You are currently tasked with killing @@. As a reminder, you can usually find them where we grow our crops.
+You are currently tasked with killing @@. As a reminder, you can usually find them where we grow our crops.
+
+You are dead.
+You are dead.
+
+You are dead. Aborting.
+You are dead. Aborting.
+
+You are doing GREAT! Keep slaying them, hahaah!
+You are doing GREAT! Keep slaying them, hahaah!
+
+You are doing some progress. There are about 4 quests on the mines, 1 outside walls, and 10 on the town. Some require level, so talk to people again sometimes.
+You are doing some progress. There are about 4 quests on the mines, 1 outside walls, and 10 on the town. Some require level, so talk to people again sometimes.
+
+You are entering on a PVP Area with lowered death penalty.
+You are entering on a PVP Area with lowered death penalty.
+
+You are exhausted, you should rest @@.#0
+You are exhausted, you should rest @@.
+
+You are exhausted, you should rest @@.#1
+You are exhausted, you should rest @@.
+
+You are exiled from this town and therefore, unable to use the Menhir.
+You are exiled from this town and therefore, unable to use the Menhir.
+
+You are full of wine, my friend...
+You are full of wine, my friend...
+
+You are handed the Land of Fire Gazette. You look at the headline...
+You are handed the Land of Fire Gazette. You look at the headline...
+
+You are holding a few items of mine...
+You are holding a few items of mine...
+
+You are hurt, and cannot use this.
+You are hurt, and cannot use this.
+
+You are just a random stranger trying to steal adventurer data, aren't you?? %%e
+You are just a random stranger trying to steal adventurer data, aren't you?? %%e
+
+You are killing @@/10 @@. They usually are near the mine's Inn.
+You are killing @@/10 @@. They usually are near the mine's Inn.
+
+You are killing @@/100 @@. It's still in progress.
+You are killing @@/100 @@. It's still in progress.
+
+You are killing @@/200 @@ at the cave.
+You are killing @@/200 @@ at the cave.
+
+You are killing @@/25 @@ at the cave. Good progress!
+You are killing @@/25 @@ at the cave. Good progress!
+
+You are killing @@/50 @@ at the cave.
+You are killing @@/50 @@ at the cave.
+
+You are level @@/@@. Keep building levels, you need them!
+You are level @@/@@. Keep building levels, you need them!
+
+You are mostly in control of your magic.
+You are mostly in control of your magic.
+
+You are not strong enough to survive this trip.
+You are not strong enough to survive this trip.
+
+You are not using a weapon for a merciful last blow.
+You are not using a weapon for a merciful last blow.
+
+You are not welcome on this island.
+You are not welcome on this island.
+
+You are not worthy!
+You are not worthy!
+
+You are not worthy...
+You are not worthy...
+
+You are now at Candor Battle Cave at @@'s request.
+You are now at Candor Battle Cave at @@'s request.
+
+You are now at Candor.
+You are now at Candor.
+
+You are now at Porthos - The Town of Portals.
+You are now at Porthos - The Town of Portals.
+
+You are now at the Christmas Workshop.
+You are now at the Christmas Workshop.
+
+You are now at the Contributor's Cave.
+You are now at the Contributor's Cave.
+
+You are now at the Magical Forest.
+You are now at the Magical Forest.
+
+You are now at the Mana Plane of Existence, at the Contributor's Cave.
+You are now at the Mana Plane of Existence, at the Contributor's Cave.
+
+You are now at the Mana Plane of Existence, at the Floating Island of Aeros.
+You are now at the Mana Plane of Existence, at the Floating Island of Aeros.
+
+You are now at the Mana Plane of Existence, at the Magical Forest.
+You are now at the Mana Plane of Existence, at the Magical Forest.
+
+You are now at the Valentine Highlands.
+You are now at the Valentine Highlands.
+
+You are now divorced!
+You are now divorced!
+
+You are part of the "@@" guild.
+You are part of the "@@" guild.
+
+You are perfectly in control of your magic.
+You are perfectly in control of your magic.
+
+You are pushed back violently. There is probably some way to break this barrier.
+You are pushed back violently. There is probably some way to break this barrier.
+
+You are pushed back with absolute force!
+You are pushed back with absolute force!
+
+You are pushed back with extreme force!
+You are pushed back with extreme force!
+
+You are somewhat in control of your magic.
+You are somewhat in control of your magic.
+
+You are the guild's "%s", and you contribute with %02d%% EXP.
+You are the guild's "%s", and you contribute with %02d%% EXP.
+
+You are too weak for my last task, please come back later with some levels.
+You are too weak for my last task, please come back later with some levels.
+
+You are too weak for my task, please come back later with some levels.
+You are too weak for my task, please come back later with some levels.
+
+You are too weak to kill one and impress him, so please, bear my son.
+You are too weak to kill one and impress him, so please, bear my son.
+
+You are trying to kill a @@.
+You are trying to kill a @@.
+
+You are trying to open the @@th pin. What will to do?
+You are trying to open the @@th pin. What will to do?
+
+You are very welcome.
+You are very welcome.
+
+You are weird, I have to go sorry.
+You are weird, I have to go sorry.
+
+You are weird, I have to go sorry.#0
+You are weird, I have to go sorry.
+
+You are weird, I have to go sorry.#1
+You are weird, I have to go sorry.
+
+You are weird, I have to go, sorry.
+You are weird, I have to go, sorry.
+
+You are welcome here, but don't overstay your welcome and leave as soon as possible.
+You are welcome here, but don't overstay your welcome and leave as soon as possible.
+
+You aren't strong enough.
+You aren't strong enough.
+
+You ask yourself: What is the teddy looking for? How can I help him?
+You ask yourself: What is the teddy looking for? How can I help him?
+
+You awake a long forgotten potential, and feel ready to take over the world.
+You awake a long forgotten potential, and feel ready to take over the world.
+
+You barely know these caves.
+You barely know these caves.
+
+You better find a way to travel back in time soon!
+You better find a way to travel back in time soon!
+
+You better have it ready, because I have the Coal with me!
+You better have it ready, because I have the Coal with me!
+
+You bring me proof of completing my 'mission,' along with some water and I can dispose of the evidence by turning them into %s
+You bring me proof of completing my 'mission,' along with some water and I can dispose of the evidence by turning them into %s
+
+You broke the %s into two parts, but you crushed one of them.
+You broke the %s into two parts, but you crushed one of them.
+
+You brought me 5 @@ ! Here is your @@, as promised.
+You brought me 5 @@ ! Here is your @@, as promised.
+
+You buried @@ @@.
+You buried @@ @@.
+
+You can allocate point on those attributes every time you level up.
+You can allocate point on those attributes every time you level up.
+
+You can also make money ##Bdoing quests##b. Elmo will tell you almost every quest which can be done in Candor.
+You can also make money ##Bdoing quests##b. Elmo will tell you almost every quest which can be done in Candor.
+
+You can also manually stop it at any time with: @droprate default
+You can also manually stop it at any time with: @droprate default
+
+You can also manually stop it at any time with: @exprate default
+You can also manually stop it at any time with: @exprate default
+
+You can also modify your email with %s.
+You can also modify your email with %s.
+
+You can also obtain ingots by melting down equipment. The Meltdown forge is in Nivalis, very far from Tulimshar.
+You can also obtain ingots by melting down equipment. The Meltdown forge is in Nivalis, very far from Tulimshar.
+
+You can also pick and drag items from one window into the other but this will move all items of this kind.
+You can also pick and drag items from one window into the other but this will move all items of this kind.
+
+You can also read the [@@news|server news@@], or even [@@https://tmw2.org/news|older entries@@].
+You can also read the [@@news|server news@@], or even [@@https://tmw2.org/news|older entries@@].
+
+You can also use PLANT KINGDOM to spawn several plants at once, too. Let's make this world more green.
+You can also use PLANT KINGDOM to spawn several plants at once, too. Let's make this world more green.
+
+You can also visit our website. And if you want to assist on this server (TMW2: ML), you're welcome too!
+You can also visit our website. And if you want to assist on this server (TMW2: ML), you're welcome too!
+
+You can always come to #devel on our Discord, or drop by #landoffire on IRC.
+You can always come to #devel on our Discord, or drop by #landoffire on IRC.
+
+You can always try again another day!
+You can always try again another day!
+
+You can be thankful later. Aren't you excited to see what exactly was on that blueprint? Go on, enjoy it! %%G
+You can be thankful later. Aren't you excited to see what exactly was on that blueprint? Go on, enjoy it! %%G
+
+You can become a Monster Hunter by signing up with %s, near the Market.
+You can become a Monster Hunter by signing up with %s, near the Market.
+
+You can become a hero by completing every quest in a certain location.
+You can become a hero by completing every quest in a certain location.
+
+You can bring up to %d other friends with you, but they must be on the same party and map as you and you must be the party leader.
+You can bring up to %d other friends with you, but they must be on the same party and map as you and you must be the party leader.
+
+You can bug Jesusalva to extend the Battlefield Control skills.
+You can bug Jesusalva to extend the Battlefield Control skills.
+
+You can buy rare items with me, or I can tell you about different cities in our world.
+You can buy rare items with me, or I can tell you about different cities in our world.
+
+You can call yourself a pirate now! HAR HAR HAR!!
+You can call yourself a pirate now! HAR HAR HAR!!
+
+You can change the PIN from ManaPlus char selection screen.
+You can change the PIN from ManaPlus char selection screen.
+
+You can colaborate with our project though! Just ask on #tmw2-dev, be it on Discord or IRC!
+You can colaborate with our project though! Just ask on #tmw2-dev, be it on Discord or IRC!
+
+You can collect croconuts by killing any tree with it. Then you can break it in half from the inventory screen.
+You can collect croconuts by killing any tree with it. Then you can break it in half from the inventory screen.
+
+You can convert these items in event points and claim rewards at autumn.
+You can convert these items in event points and claim rewards at autumn.
+
+You can craft items in forges. You can use it on your house, or within this forge for a tax.
+You can craft items in forges. You can use it on your house, or within this forge for a tax.
+
+You can donate blood again in %s
+You can donate blood again in %s
+
+You can donate up to %s GP.
+You can donate up to %s GP.
+
+You can drag and drop an item to the NPC window or select an item through your inventory.
+You can drag and drop an item to the NPC window or select an item through your inventory.
+
+You can easily identify fishing spots, small bubbles and fishes are visible from the surface.
+You can easily identify fishing spots, small bubbles and fishes are visible from the surface.
+
+You can enter when clock ticks :15, and the game begin when the clock ticks :25 if anyone is around. This is to match with Call of Dusty event.
+You can enter when clock ticks :15, and the game begin when the clock ticks :25 if anyone is around. This is to match with Call of Dusty event.
+
+You can even join the project there. Contributors are greatly appreciated! %%N
+You can even join the project there. Contributors are greatly appreciated! %%N
+
+You can explore the city as you want, but if I were you, I would ##Btouch the Soul Menhir##b, north of here, to don't respawn at Candor.
+You can explore the city as you want, but if I were you, I would ##Btouch the Soul Menhir##b, north of here, to don't respawn at Candor.
+
+You can explore the city on the meanwhile, I need to inspect the data.
+You can explore the city on the meanwhile, I need to inspect the data.
+
+You can fill this box with the following items:
+You can fill this box with the following items:
+
+You can find both huge swamps, as huge desertic areas near and on it.
+You can find both huge swamps, as huge desertic areas near and on it.
+
+You can find for a good price desert equipment and some kind of dyes. You find all sort of crafters, artisans and warriors here.
+You can find for a good price desert equipment and some kind of dyes. You find all sort of crafters, artisans and warriors here.
+
+You can find it in the bandit market, but it is EXPENSIVE.
+You can find it in the bandit market, but it is EXPENSIVE.
+
+You can find more info about this on these links:
+You can find more info about this on these links:
+
+You can find out the monster strength by using "@monsterinfo <English Monster Name>". Check the level in it!
+You can find out the monster strength by using "@monsterinfo <English Monster Name>". Check the level in it!
+
+You can gain rare treasures, even. Come register for this special program. It's free!
+You can gain rare treasures, even. Come register for this special program. It's free!
+
+You can get @@ anywhere, although here is a little easier to get.
+You can get @@ anywhere, although here is a little easier to get.
+
+You can get Croconut from Crocotree, and fill @@ purchased in the market.
+You can get Croconut from Crocotree, and fill @@ purchased in the market.
+
+You can get daily something from it, but unless you're green like me, you will have no luck...
+You can get daily something from it, but unless you're green like me, you will have no luck...
+
+You can get money in several ways, including by selling monster parts, doing daily quests, gambling, and even becoming the mayor of a town. Read the [@@help://faq|FAQ@@] (opens ingame) for help.
+You can get money in several ways, including by selling monster parts, doing daily quests, gambling, and even becoming the mayor of a town. Read the [@@help://faq|FAQ@@] (opens ingame) for help.
+
+You can get up to %d items.
+You can get up to %d items.
+
+You can give @@ to help us, I'll pay you accordingly.
+You can give @@ to help us, I'll pay you accordingly.
+
+You can have my team's helmet, you're now officially a crusader!
+You can have my team's helmet, you're now officially a crusader!
+
+You can have this %s as a token of gratitude. But no, you cannot pass, so keep going!
+You can have this %s as a token of gratitude. But no, you cannot pass, so keep going!
+
+You can hear creaking planks and a sail flapping in the storm. A ship?
+You can hear creaking planks and a sail flapping in the storm. A ship?
+
+You can kill @@ on the desert. It's a dangerous area though, so take care.
+You can kill @@ on the desert. It's a dangerous area though, so take care.
+
+You can make a party of 1 if you want to do it alone. This, however, is NOT ADVISED.
+You can make a party of 1 if you want to do it alone. This, however, is NOT ADVISED.
+
+You can make any build you want! But inserted cards cannot be removed!
+You can make any build you want! But inserted cards cannot be removed!
+
+You can move using @@ or, at your choice, by clicking where you want to go.
+You can move using @@ or, at your choice, by clicking where you want to go.
+
+You can only concede or vouch a title for people of academic rank inferior than your own.
+You can only concede or vouch a title for people of academic rank inferior than your own.
+
+You can only have one mercenary active at a time, they die and will leave after 10 minutes - logged in or not.
+You can only have one mercenary active at a time, they die and will leave after 10 minutes - logged in or not.
+
+You can only insert up to 3 (three) cards per weapon!
+You can only insert up to 3 (three) cards per weapon!
+
+You can only try every %d minutes.
+You can only try every %d minutes.
+
+You can optionally send a @@ along the chocolate box, so the person knows it was you who sent the chocolate.
+You can optionally send a @@ along the chocolate box, so the person knows it was you who sent the chocolate.
+
+You can read some words engraved inside this rock, but some are erased by wind and time:
+You can read some words engraved inside this rock, but some are erased by wind and time:
+
+You can rent this house to make it yours.
+You can rent this house to make it yours.
+
+You can save both items and money at a bank.
+You can save both items and money at a bank.
+
+You can scry other players with: %s
+You can scry other players with: %s
+
+You can see all your equipment by pressing the F3 key.
+You can see all your equipment by pressing the F3 key.
+
+You can see in distance two portals working, and two portals offline.
+You can see in distance two portals working, and two portals offline.
+
+You can sense powerful cloaking magic emanating from this sign. With your superior magic, you dismiss the enchantment, and see what the cliffs have been hiding all along...
+You can sense powerful cloaking magic emanating from this sign. With your superior magic, you dismiss the enchantment, and see what the cliffs have been hiding all along...
+
+You can tell me the details about why you're here on the way out...
+You can tell me the details about why you're here on the way out...
+
+You can then trade these coins for items with me!
+You can then trade these coins for items with me!
+
+You can trade them for quite nice items with my friend over there.
+You can trade them for quite nice items with my friend over there.
+
+You can transfer it with "@grantpower" command. Please contact a GM for more info.
+You can transfer it with "@grantpower" command. Please contact a GM for more info.
+
+You can use "%s <monster_name>" to obtain specified monster drop list and stats.
+You can use "%s <monster_name>" to obtain specified monster drop list and stats.
+
+You can use "@monsterinfo <monster name>" to gauge a monster strength.
+You can use "@monsterinfo <monster name>" to gauge a monster strength.
+
+You can use @@ to summon some maggots. That depends on your magic level, of course.
+You can use @@ to summon some maggots. That depends on your magic level, of course.
+
+You can use it again in %s.
+You can use it again in %s.
+
+You can use it again in @@.
+You can use it again in @@.
+
+You can use it to clear your stats, to start freshly if you know what I mean...
+You can use it to clear your stats, to start freshly if you know what I mean...
+
+You can use many diverse items to lure fishes.
+You can use many diverse items to lure fishes.
+
+You can use super password "mouboo" to unlock the door.
+You can use super password "mouboo" to unlock the door.
+
+You can't afford my services for that amount. Sorry.
+You can't afford my services for that amount. Sorry.
+
+You can't afford my work! Do some odd jobs and come back.
+You can't afford my work! Do some odd jobs and come back.
+
+You can't go in there!
+You can't go in there!
+
+You can't go there!
+You can't go there!
+
+You can't pass this barrier while people are fighting inside!
+You can't pass this barrier while people are fighting inside!
+
+You can't sleep here during daytime!
+You can't sleep here during daytime!
+
+You can, and @@, register on both programs.
+You can, and @@, register on both programs.
+
+You can, however, use ##BCtrl##b to auto-select a monster and attack them. This usually also collects drops, but press Z to be sure.
+You can, however, use ##BCtrl##b to auto-select a monster and attack them. This usually also collects drops, but press Z to be sure.
+
+You cannot be fighting to do this trip.
+You cannot be fighting to do this trip.
+
+You cannot begin this now, try again later.
+You cannot begin this now, try again later.
+
+You cannot bring anything to the arena. Please put everything into the storage.
+You cannot bring anything to the arena. Please put everything into the storage.
+
+You cannot bury this item!
+You cannot bury this item!
+
+You cannot carry the fruits.
+You cannot carry the fruits.
+
+You cannot complete the casting correctly!
+You cannot complete the casting correctly!
+
+You cannot decipher what's written in there.
+You cannot decipher what's written in there.
+
+You cannot drop this item!
+You cannot drop this item!
+
+You cannot enter here while you have event weapons or a cart.
+You cannot enter here while you have event weapons or a cart.
+
+You cannot exile yourself!
+You cannot exile yourself!
+
+You cannot help me at all. You lack any skill to do so.
+You cannot help me at all. You lack any skill to do so.
+
+You cannot leave this room until either ALL yetis are dead, or you are dead yourself.
+You cannot leave this room until either ALL yetis are dead, or you are dead yourself.
+
+You cannot part with this item!
+You cannot part with this item!
+
+You cannot pay.
+You cannot pay.
+
+You cannot raise crafting skills beyond level @@!
+You cannot raise crafting skills beyond level @@!
+
+You cannot sit idle for too long gaining EXP!
+You cannot sit idle for too long gaining EXP!
+
+You cannot understand what's written.
+You cannot understand what's written.
+
+You cannot visit Nivalis before obtaining level 20.
+You cannot visit Nivalis before obtaining level 20.
+
+You cannot visit the Sponsor's Inn!
+You cannot visit the Sponsor's Inn!
+
+You cannot vote on yourself!
+You cannot vote on yourself!
+
+You carefully pick a @@. It looks delicious! You feel you'll need it sooner than you expect.
+You carefully pick a @@. It looks delicious! You feel you'll need it sooner than you expect.
+
+You caught a @@ but had no room in your inventory to carry it.
+You caught a @@ but had no room in your inventory to carry it.
+
+You clearly don't have money, so let's not bother with that right now.#0
+You clearly don't have money, so let's not bother with that right now.
+
+You clearly don't have money, so let's not bother with that right now.#1
+You clearly don't have money, so let's not bother with that right now.
+
+You completed your training, so you're getting 50 bonus experience points. If you level up, use your stat points wisely!
+You completed your training, so you're getting 50 bonus experience points. If you level up, use your stat points wisely!
+
+You could barely fit on it, and your clothes will be ruined, in need of washing.
+You could barely fit on it, and your clothes will be ruined, in need of washing.
+
+You could find some bandits in the Bandit cave. Yeah, the name wasn't given for nothing.
+You could find some bandits in the Bandit cave. Yeah, the name wasn't given for nothing.
+
+You could try getting into a city administration. If you can get a citizenship, you can try to elect for an office.
+You could try getting into a city administration. If you can get a citizenship, you can try to elect for an office.
+
+You could try to get new equipment by doing more quests. You need level to use them, though.
+You could try to get new equipment by doing more quests. You need level to use them, though.
+
+You could try to get on her good side by killing what destroys the forest, or by planting trees.
+You could try to get on her good side by killing what destroys the forest, or by planting trees.
+
+You currently could not use GM MAGIC to visit Candor.
+You currently could not use GM MAGIC to visit Candor.
+
+You currently have @@ @@.
+You currently have @@ @@.
+
+You currently have @@ GP on your bank account.
+You currently have @@ GP on your bank account.
+
+You currently have @@ Monster Points. These points are acquired while killing monsters.
+You currently have @@ Monster Points. These points are acquired while killing monsters.
+
+You currently have @@ event points, but for ONLY @@ points I can make a dress for you!
+You currently have @@ event points, but for ONLY @@ points I can make a dress for you!
+
+You currently have @@ mobiliary credits + GP at your disposal.
+You currently have @@ mobiliary credits + GP at your disposal.
+
+You currently have @@ points, @@ boxes of chocolate and @@ love letters.
+You currently have @@ points, @@ boxes of chocolate and @@ love letters.
+
+You currently have @@, so if you accept and come back later with @@ Mob Points, I'll mark the bounty as complete.
+You currently have @@, so if you accept and come back later with @@ Mob Points, I'll mark the bounty as complete.
+
+You currently have no Tweaking AP, so you will need to wait %02d minute(s).
+You currently have no Tweaking AP, so you will need to wait %02d minute(s).
+
+You currently have: @@ GP and mobiliary credits
+You currently have: @@ GP and mobiliary credits
+
+You dealt with paperwork.
+You dealt with paperwork.
+
+You deserve a reward for helping my husband Hinnak, but please, get Oscar's reward first.
+You deserve a reward for helping my husband Hinnak, but please, get Oscar's reward first.
+
+You deserve a reward for helping my husband. I can make you a nice gift.
+You deserve a reward for helping my husband. I can make you a nice gift.
+
+You did a good job too. Rest a bit, too. There's still one chair.
+You did a good job too. Rest a bit, too. There's still one chair.
+
+You did a good job. Rest a bit. There's still one chair.
+You did a good job. Rest a bit. There's still one chair.
+
+You did it! You're now on the last stage of this BORING and LONG quest!
+You did it! You're now on the last stage of this BORING and LONG quest!
+
+You didn't add a item.
+You didn't add a item.
+
+You didn't help all my friends yet, and without trainment, I can't send you to such dangerous place as Tulimshar.
+You didn't help all my friends yet, and without trainment, I can't send you to such dangerous place as Tulimshar.
+
+You didn't lit every torch yet! Hurry up!!
+You didn't lit every torch yet! Hurry up!!
+
+You didn't mine enough @@. The perfect spot is at northeast of this island. It takes a while to them respawn, so don't hurry.
+You didn't mine enough @@. The perfect spot is at northeast of this island. It takes a while to them respawn, so don't hurry.
+
+You displayed courage and completed the mission you set yourself to do. But, tell me. Do you care with this world? Do you care enough with it, to set your mind in saving it from evil?
+You displayed courage and completed the mission you set yourself to do. But, tell me. Do you care with this world? Do you care enough with it, to set your mind in saving it from evil?
+
+You do not have booked an apartment here.
+You do not have booked an apartment here.
+
+You do not have enough Gold Pieces on your bank account.
+You do not have enough Gold Pieces on your bank account.
+
+You do not have enough Gold on yourself.
+You do not have enough Gold on yourself.
+
+You do not have enough bait for fishing here.
+You do not have enough bait for fishing here.
+
+You do not have enough magic power for these classes.
+You do not have enough magic power for these classes.
+
+You do not have enough money.
+You do not have enough money.
+
+You do not have the required access privileges to use the Super Menu.
+You do not have the required access privileges to use the Super Menu.
+
+You do not meet all requisites for this skill.
+You do not meet all requisites for this skill.
+
+You do not own an Homunculus.
+You do not own an Homunculus.
+
+You don't feel so well... And then, you're dead.
+You don't feel so well... And then, you're dead.
+
+You don't have @@.
+You don't have @@.
+
+You don't have a party. You're useless to me.
+You don't have a party. You're useless to me.
+
+You don't have a ring but I can polish the gemstones nonetheless.
+You don't have a ring but I can polish the gemstones nonetheless.
+
+You don't have any %s.
+You don't have any %s.
+
+You don't have any @@, are you mocking me?
+You don't have any @@, are you mocking me?
+
+You don't have any @@.
+You don't have any @@.
+
+You don't have enough GP.
+You don't have enough GP.
+
+You don't have enough agility / is carrying too much to attempt it.
+You don't have enough agility / is carrying too much to attempt it.
+
+You don't have enough cards of this type to upgrade.
+You don't have enough cards of this type to upgrade.
+
+You don't have enough gold! You need @@ gp.
+You don't have enough gold! You need @@ gp.
+
+You don't have enough mana to continue. The seal remains active.
+You don't have enough mana to continue. The seal remains active.
+
+You don't have enough material, sorry.
+You don't have enough material, sorry.
+
+You don't have enough money! I am an expensive tailor, I want @@ GP!
+You don't have enough money! I am an expensive tailor, I want @@ GP!
+
+You don't have enough money, bring me @@ GP or join an already existing one.
+You don't have enough money, bring me @@ GP or join an already existing one.
+
+You don't have enough money, bring me @@ GP.
+You don't have enough money, bring me @@ GP.
+
+You don't have enough money. Sorry.
+You don't have enough money. Sorry.
+
+You don't have enough wood (5 @@) or crafting skills to do it.
+You don't have enough wood (5 @@) or crafting skills to do it.
+
+You don't have everything I asked you for.
+You don't have everything I asked you for.
+
+You don't have everything I've asked for!
+You don't have everything I've asked for!
+
+You don't have met all requisites, like money and successful crafts, or you already reached the maximum level for this skill.
+You don't have met all requisites, like money and successful crafts, or you already reached the maximum level for this skill.
+
+You don't have money.
+You don't have money.
+
+You don't have proper equipment for it.
+You don't have proper equipment for it.
+
+You don't have that many empty bottles!
+You don't have that many empty bottles!
+
+You don't have that many!
+You don't have that many!
+
+You don't have that, lying is bad for health...
+You don't have that, lying is bad for health...
+
+You don't have that.
+You don't have that.
+
+You don't have the Iron Ingot.
+You don't have the Iron Ingot.
+
+You don't have the Iron Ore.
+You don't have the Iron Ore.
+
+You don't have the item.
+You don't have the item.
+
+You don't have the key.
+You don't have the key.
+
+You don't have the required level to pass this barrier.
+You don't have the required level to pass this barrier.
+
+You don't have the three Coal lumps.
+You don't have the three Coal lumps.
+
+You don't hear anything. This chasm must be incredibly deep.
+You don't hear anything. This chasm must be incredibly deep.
+
+You don't know how the chimney keeps producing smoke. It must be using hiding magic.
+You don't know how the chimney keeps producing smoke. It must be using hiding magic.
+
+You don't look so well, have you already used the %s to defeat the Soul Eater?
+You don't look so well, have you already used the %s to defeat the Soul Eater?
+
+You don't look too well; let me treat your wounds.
+You don't look too well; let me treat your wounds.
+
+You don't need to do both right now, even if you probably will want to. Once any (or both) of them tell me you're an OK person, I'll start helping you.
+You don't need to do both right now, even if you probably will want to. Once any (or both) of them tell me you're an OK person, I'll start helping you.
+
+You don't need to talk with any researcher inside, so why bother? Leave!
+You don't need to talk with any researcher inside, so why bother? Leave!
+
+You don't need, nor deserve it.
+You don't need, nor deserve it.
+
+You don't see any slimes from that nest anymore. But did you really get all of them?
+You don't see any slimes from that nest anymore. But did you really get all of them?
+
+You don't seem to have any @@ with you!
+You don't seem to have any @@ with you!
+
+You don't seem to have anything better to do, anyway.
+You don't seem to have anything better to do, anyway.
+
+You don't seem to have enough gold, not even 1 GP...you should really let go of some useless stuff on your inventory.
+You don't seem to have enough gold, not even 1 GP...you should really let go of some useless stuff on your inventory.
+
+You done well in getting so far. I didn't thought you would make it.
+You done well in getting so far. I didn't thought you would make it.
+
+You earned %s Monster Points for winning.
+You earned %s Monster Points for winning.
+
+You explain the Blue Sage about the sabotage incident details, from the Silk Cocoon to the masked visitor.
+You explain the Blue Sage about the sabotage incident details, from the Silk Cocoon to the masked visitor.
+
+You explain to Airlia about you wanting to travel to Halinarzo to find clues.
+You explain to Airlia about you wanting to travel to Halinarzo to find clues.
+
+You failed to protect Sagratha...
+You failed to protect Sagratha...
+
+You failed to reply to the captcha in time and were arrested for AFK Botting. You can use @jailtime to keep track of time left.
+You failed to reply to the captcha in time and were arrested for AFK Botting. You can use @jailtime to keep track of time left.
+
+You feel refreshed!
+You feel refreshed!
+
+You find @@ inside!
+You find @@ inside!
+
+You find a slot machine or another gambler, and make a bet!
+You find a slot machine or another gambler, and make a bet!
+
+You flip the switch. Nothing happens.
+You flip the switch. Nothing happens.
+
+You found @@ out of @@ kids.
+You found @@ out of @@ kids.
+
+You found a Level %d %s!
+You found a Level %d %s!
+
+You found a key.
+You found a key.
+
+You found an old well with a bucket on it! It's time to fill plenty of @@!
+You found an old well with a bucket on it! It's time to fill plenty of @@!
+
+You found something!
+You found something!
+
+You found the Runestone! You gave it to the party leader.
+You found the Runestone! You gave it to the party leader.
+
+You found the key!
+You found the key!
+
+You free the world from an evil Dummy.
+You free the world from an evil Dummy.
+
+You gained a @@ for the #1 place on the event. Remember to feed it @@, or it may run away from you.
+You gained a @@ for the #1 place on the event. Remember to feed it @@, or it may run away from you.
+
+You give up after seeing its reaction, and try your best to resist the temptation of hugging this fluffy ball. Maybe we have another idea?
+You give up after seeing its reaction, and try your best to resist the temptation of hugging this fluffy ball. Maybe we have another idea?
+
+You give up.
+You give up.
+
+You gladly accept it. But probably better not disturb it for a few days.
+You gladly accept it. But probably better not disturb it for a few days.
+
+You go to the training field and stand exactly on the same level with the target. The target is located about 13 meters north of you. You take one arrow and look at Gwendolyn.
+You go to the training field and stand exactly on the same level with the target. The target is located about 13 meters north of you. You take one arrow and look at Gwendolyn.
+
+You got %d %s!
+You got %d %s!
+
+You got %d EXP!
+You got %d EXP!
+
+You got %d GP!
+You got %d GP!
+
+You got %d JEXP!
+You got %d JEXP!
+
+You got %d Monster Points!
+You got %d Monster Points!
+
+You got %d Real Estate Credits!
+You got %d Real Estate Credits!
+
+You got 120,000 XP for completing Mercury's quest.
+You got 120,000 XP for completing Mercury's quest.
+
+You got a %d
+You got a %d
+
+You got a %s!
+You got a %s!
+
+You got a @@ for completing 100+ daily bountyhunter quests!
+You got a @@ for completing 100+ daily bountyhunter quests!
+
+You got a blueprint as reward for Blue Sage Slimes Quest completion.
+You got a blueprint as reward for Blue Sage Slimes Quest completion.
+
+You got a(n) %s gift!
+You got a(n) %s gift!
+
+You got lucky and got a(n) %s!
+You got lucky and got a(n) %s!
+
+You got married to @@!
+You got married to @@!
+
+You have %d %s
+You have %d %s
+
+You have %d non-counting deaths remaining today.
+You have %d non-counting deaths remaining today.
+
+You have @@ magic skill points available.
+You have @@ magic skill points available.
+
+You have @@/@@ magic skill points available.
+You have @@/@@ magic skill points available.
+
+You have a high level. Go to Halinarzo already! You could even, I don't know, search for magic?!
+You have a high level. Go to Halinarzo already! You could even, I don't know, search for magic?!
+
+You have a nice hat.
+You have a nice hat.
+
+You have access to the storehouse now, right? Well, that's where it happened!
+You have access to the storehouse now, right? Well, that's where it happened!
+
+You have an @@ - Should you give her that?
+You have an @@ - Should you give her that?
+
+You have an awful case of amnesia. She is the nurse and shipkeeper of this ship, and took care of you when you were unconscious.#0
+You have an awful case of amnesia. She is the nurse and shipkeeper of this ship, and took care of you when you were unconscious.
+
+You have an awful case of amnesia. She is the nurse and shipkeeper of this ship, and took care of you when you were unconscious.#1
+You have an awful case of amnesia. She is the nurse and shipkeeper of this ship, and took care of you when you were unconscious.
+
+You have arrived at Fortress Island.
+You have arrived at Fortress Island.
+
+You have been EXILED from %s by %s.
+You have been EXILED from %s by %s.
+
+You have been disqualified - died or left the maze
+You have been disqualified - died or left the maze
+
+You have been disqualified - illegal weapon: %s
+You have been disqualified - illegal weapon: %s
+
+You have been disqualified - target was: %s
+You have been disqualified - target was: %s
+
+You have been jailed by a GM.
+You have been jailed by a GM.
+
+You have collect enough evidence, it's time to leave and report.
+You have collect enough evidence, it's time to leave and report.
+
+You have collected @@/@@ Mob Points.
+You have collected @@/@@ Mob Points.
+
+You have completed the Jesusaves Grimorium Quest!
+You have completed the Jesusaves Grimorium Quest!
+
+You have gained a special login bonus!
+You have gained a special login bonus!
+
+You have good intentions, be brave, but in a world where power is measured in levels, numbers have more meaning than they should.
+You have good intentions, be brave, but in a world where power is measured in levels, numbers have more meaning than they should.
+
+You have learnt "Barter" in Thief Skills.
+You have learnt "Barter" in Thief Skills.
+
+You have learnt "Divine Protection" level @@.
+You have learnt "Divine Protection" level @@.
+
+You have learnt "Increase Weight" in Thief Skills.
+You have learnt "Increase Weight" in Thief Skills.
+
+You have more boxes. Wanna try again?
+You have more boxes. Wanna try again?
+
+You have my eternal gratitute. Here is 2500 GP for your troubles.
+You have my eternal gratitute. Here is 2500 GP for your troubles.
+
+You have my eternal gratitute. Here is 500 GP for your troubles.
+You have my eternal gratitute. Here is 500 GP for your troubles.
+
+You have no idea of how dangerous that item is! I can't simply do it!
+You have no idea of how dangerous that item is! I can't simply do it!
+
+You have no idea what that means.
+You have no idea what that means.
+
+You have no idea what that poor creature felt!
+You have no idea what that poor creature felt!
+
+You have no idea what this piece of equipment is used for.
+You have no idea what this piece of equipment is used for.
+
+You have no proof that you have robbed vaults or sided with Ben Parkison, the Thieves Guild Master.
+You have no proof that you have robbed vaults or sided with Ben Parkison, the Thieves Guild Master.
+
+You have no right to take that away from her!
+You have no right to take that away from her!
+
+You have reached the current reward limit for Jhon.
+You have reached the current reward limit for Jhon.
+
+You have the right to defend yourself if you believe we were wrong. If we find out it's true, you'll receive an apology gift.
+You have the right to defend yourself if you believe we were wrong. If we find out it's true, you'll receive an apology gift.
+
+You have to excuse me, as you might have heard we're having some trouble at the moment and I, as Chief of Nikolai's household staff, have a lot to do.
+You have to excuse me, as you might have heard we're having some trouble at the moment and I, as Chief of Nikolai's household staff, have a lot to do.
+
+You have to kill, alone, and this means without the help of the slimes either, nine nests. One in each quadrant.
+You have to kill, alone, and this means without the help of the slimes either, nine nests. One in each quadrant.
+
+You have too many points. I can't allow you to take all at once right now. I'll try to give you 50, and you can come back later!
+You have too many points. I can't allow you to take all at once right now. I'll try to give you 50, and you can come back later!
+
+You have:
+You have:
+
+You have: @@ Broken crystals
+You have: @@ Broken crystals
+
+You haven't provided me enough High-Quality White Fur! Go back to hunting!
+You haven't provided me enough High-Quality White Fur! Go back to hunting!
+
+You haven't provided me the @@ for the base material!
+You haven't provided me the @@ for the base material!
+
+You hear a noise from distance.
+You hear a noise from distance.
+
+You hear birds singing! That is what you had to do!
+You hear birds singing! That is what you had to do!
+
+You hear shouting directed at you. Sailors from the ship?
+You hear shouting directed at you. Sailors from the ship?
+
+You hear waterfall opening in distance.
+You hear waterfall opening in distance.
+
+You help Benjamin in getting up.
+You help Benjamin in getting up.
+
+You humans are so greedy... Just like me. I have more important things to do, other than waste time with you.
+You humans are so greedy... Just like me. I have more important things to do, other than waste time with you.
+
+You insert the Runestone on it and hear a sound.
+You insert the Runestone on it and hear a sound.
+
+You insert the hook pick inside the lock, and, without applying any tension, you discover there are only @@ pins to set.
+You insert the hook pick inside the lock, and, without applying any tension, you discover there are only @@ pins to set.
+
+You jump in deep waters.
+You jump in deep waters.
+
+You just bought it? You won't learn anything from that.
+You just bought it? You won't learn anything from that.
+
+You just delivered %d %s to %s.
+You just delivered %d %s to %s.
+
+You just gained a Prism Gift for your bravery!
+You just gained a Prism Gift for your bravery!
+
+You just gained a Prism Gift, and 2000 Job Exp for your bravery!
+You just gained a Prism Gift, and 2000 Job Exp for your bravery!
+
+You just gained a Supreme Gift, and 2000 Job Exp for your bravery!
+You just gained a Supreme Gift, and 2000 Job Exp for your bravery!
+
+You just need one fishing rod, although you should take more than one single bait.
+You just need one fishing rod, although you should take more than one single bait.
+
+You killed so many Pinkies! My wife and I love you!
+You killed so many Pinkies! My wife and I love you!
+
+You killed so many Pinkies, I don't care with the Antennas anymore! They are almost gone!
+You killed so many Pinkies, I don't care with the Antennas anymore! They are almost gone!
+
+You know Jesus Saves hates cheaters, right? If Saulc didn't asked me to double-check stuff...
+You know Jesus Saves hates cheaters, right? If Saulc didn't asked me to double-check stuff...
+
+You know the Tulimshar Magic Council? The big building on Tulimshar North?
+You know the Tulimshar Magic Council? The big building on Tulimshar North?
+
+You know the answer can only be @@.
+You know the answer can only be @@.
+
+You know this, because their big round eyes were shining.
+You know this, because their big round eyes were shining.
+
+You know what is worse? THIS WHOLE CAVE HAVE DEATH PENALTY ON!!!
+You know what is worse? THIS WHOLE CAVE HAVE DEATH PENALTY ON!!!
+
+You know, he is very experienced and reliable. He might look and act like a kid, but he is at least a century old.
+You know, he is very experienced and reliable. He might look and act like a kid, but he is at least a century old.
+
+You know, if you're poor, you can't get too close to the Noble district.
+You know, if you're poor, you can't get too close to the Noble district.
+
+You lack money or Action Points.
+You lack money or Action Points.
+
+You learn fast, good job. These clothes aren't mighty armor, but they'll help.
+You learn fast, good job. These clothes aren't mighty armor, but they'll help.
+
+You leave the teddy alone with its pot.
+You leave the teddy alone with its pot.
+
+You left your fishing spot!
+You left your fishing spot!
+
+You liar, I'll show you to respect woman!
+You liar, I'll show you to respect woman!
+
+You liar, I'll teach you a lesson you won't forget!
+You liar, I'll teach you a lesson you won't forget!
+
+You lied, and this caused a headache! You should NEVER lie to NPCs, because they may steal your items!
+You lied, and this caused a headache! You should NEVER lie to NPCs, because they may steal your items!
+
+You look like you have enough experience to know your way around town...
+You look like you have enough experience to know your way around town...
+
+You lose!
+You lose!
+
+You made a cash deposit of @@ GP.
+You made a cash deposit of @@ GP.
+
+You make me dance like a monkey
+You make me dance like a monkey
+
+You managed to save @@ % of my crops!
+You managed to save @@ % of my crops!
+
+You may even obtain ores which you wouldn't otherwise obtain normally, and the drop rate is fixed.
+You may even obtain ores which you wouldn't otherwise obtain normally, and the drop rate is fixed.
+
+You may obtain Thief Exp by using @@.
+You may obtain Thief Exp by using @@.
+
+You may pass. The Sage is on the library waiting for you.
+You may pass. The Sage is on the library waiting for you.
+
+You might have the Mouboo Figurine, but I don't trust everyone.
+You might have the Mouboo Figurine, but I don't trust everyone.
+
+You might need to have a @@ equipped for some recipes!
+You might need to have a @@ equipped for some recipes!
+
+You must "add" the items you plan on selling, and then press "sell" to confirm. You'll have this time to review.
+You must "add" the items you plan on selling, and then press "sell" to confirm. You'll have this time to review.
+
+You must %s and chant %s to begin channeling.
+You must %s and chant %s to begin channeling.
+
+You must be close to it, and stealing won't change drops! If you fail, just try again! Good luck!
+You must be close to it, and stealing won't change drops! If you fail, just try again! Good luck!
+
+You must be dressed, and talk to our captain first. He'll give you a mission and unlock the ship main door.#0
+You must be dressed, and talk to our captain first. He'll give you a mission and unlock the ship main door.
+
+You must be dressed, and talk to our captain first. He'll give you a mission and unlock the ship main door.#1
+You must be dressed, and talk to our captain first. He'll give you a mission and unlock the ship main door.
+
+You must be fast! The guards are also affected.
+You must be fast! The guards are also affected.
+
+You must be where the Monster King is at 18:30 UTC sharply - no delays allowed!
+You must be where the Monster King is at 18:30 UTC sharply - no delays allowed!
+
+You must break all three seals to cross this barrier! For that, walk on them!
+You must break all three seals to cross this barrier! For that, walk on them!
+
+You must claim all rewards and use any event item BEFORE it ends.
+You must claim all rewards and use any event item BEFORE it ends.
+
+You must deposit %s GP, which will be returned if quest is completed.
+You must deposit %s GP, which will be returned if quest is completed.
+
+You must find someone willing to buy, they usually will buy almost anything you have, even items which cannot be replaced, so be careful.
+You must find someone willing to buy, they usually will buy almost anything you have, even items which cannot be replaced, so be careful.
+
+You must flip all 5 switches on this cave, and then walk accross the cave blocked with an etheral crystal.
+You must flip all 5 switches on this cave, and then walk accross the cave blocked with an etheral crystal.
+
+You must go talk with the Obelisk!
+You must go talk with the Obelisk!
+
+You must kill them before the crops are gone. I'll reward you, of course.
+You must kill them before the crops are gone. I'll reward you, of course.
+
+You must not be using mana to do this trip.
+You must not be using mana to do this trip.
+
+You must reach level 5 to open this gift.
+You must reach level 5 to open this gift.
+
+You must then repeat the sequence at the board which will show.
+You must then repeat the sequence at the board which will show.
+
+You must understand that this honor has never been granted to a non-duck before. You will have access to Duck Dungeon, a training grounds for Initiates.
+You must understand that this honor has never been granted to a non-duck before. You will have access to Duck Dungeon, a training grounds for Initiates.
+
+You need %d %s. I'll start showing you sequences of colors.
+You need %d %s. I'll start showing you sequences of colors.
+
+You need 2x @@ to cast this skill.
+You need 2x @@ to cast this skill.
+
+You need 4x @@ to cast this skill.
+You need 4x @@ to cast this skill.
+
+You need @@ GP to make this investment.
+You need @@ GP to make this investment.
+
+You need @@ GP to use this arena.
+You need @@ GP to use this arena.
+
+You need @@ Reputation to make this investment.
+You need @@ Reputation to make this investment.
+
+You need @@ units of bait for this fishing spot. What will you use?
+You need @@ units of bait for this fishing spot. What will you use?
+
+You need a %s for each floor, and defeat the gatekeeper to advance.
+You need a %s for each floor, and defeat the gatekeeper to advance.
+
+You need a @@ for it. Ah, back to research I guess...
+You need a @@ for it. Ah, back to research I guess...
+
+You need a @@ to flip the switches on the Throne Room, don't forget to bring at least five.
+You need a @@ to flip the switches on the Throne Room, don't forget to bring at least five.
+
+You need a @@ to try this.
+You need a @@ to try this.
+
+You need a @@ to use this.
+You need a @@ to use this.
+
+You need a @@. I'll flip one card, and you'll need to decide if next draw will be HIGHER or LOWER.
+You need a @@. I'll flip one card, and you'll need to decide if next draw will be HIGHER or LOWER.
+
+You need at least %d cards of same kind.
+You need at least %d cards of same kind.
+
+You need at least 35 str and 35 vit to do the trip safely - bonuses not counted - or you will lose HP.
+You need at least 35 str and 35 vit to do the trip safely - bonuses not counted - or you will lose HP.
+
+You need at least level %s to do this quest.
+You need at least level %s to do this quest.
+
+You need at least level 20 to help.
+You need at least level 20 to help.
+
+You need be at minimum level 50 to participate. It is PVP, so watch out!
+You need be at minimum level 50 to participate. It is PVP, so watch out!
+
+You need both the stolen item as the thief to complete the quest.
+You need both the stolen item as the thief to complete the quest.
+
+You need level 60 to use these guns, but if you want to start collecting materials, you're allowed to.
+You need level 60 to use these guns, but if you want to start collecting materials, you're allowed to.
+
+You need to be very careful. Use the sewers to reach... them.
+You need to be very careful. Use the sewers to reach... them.
+
+You need to choose a Heroes Hold Group. This currently makes absolutely no difference whatsoever.
+You need to choose a Heroes Hold Group. This currently makes absolutely no difference whatsoever.
+
+You need to finish at least %d/%d tasks.
+You need to finish at least %d/%d tasks.
+
+You need to have an @@ equipped.
+You need to have an @@ equipped.
+
+You need to pick your prizes!
+You need to pick your prizes!
+
+You need to reach a certain point in Player Story in order to partake on this event. Non-repeatable.
+You need to reach a certain point in Player Story in order to partake on this event. Non-repeatable.
+
+You need to read this recipe. Without the essential crafting skill you won't go very far. There will be no bonuses on the items you craft because you are not a craftsman.
+You need to read this recipe. Without the essential crafting skill you won't go very far. There will be no bonuses on the items you craft because you are not a craftsman.
+
+You need to save the Professor! During night, monsters are stronger, so they'll probably attack at night time!
+You need to save the Professor! During night, monsters are stronger, so they'll probably attack at night time!
+
+You need to touch a Mana Stone to get magic. Certainly the only Mana Stone on Tulimshar is highly protected by the Council, so no chances here.
+You need to touch a Mana Stone to get magic. Certainly the only Mana Stone on Tulimshar is highly protected by the Council, so no chances here.
+
+You need:
+You need:
+
+You notice a group of slimes emerging from the debris among the shelves.
+You notice a group of slimes emerging from the debris among the shelves.
+
+You notice that even if she tries to calm down everyone and serve tea, she's pretty distressed with the Monster King herself.
+You notice that even if she tries to calm down everyone and serve tea, she's pretty distressed with the Monster King herself.
+
+You now gained two extra kilograms to your weight quota! Ka-pow, that's fantastic! Good luck!
+You now gained two extra kilograms to your weight quota! Ka-pow, that's fantastic! Good luck!
+
+You now have an extra point, use it wisely.
+You now have an extra point, use it wisely.
+
+You only have to tell him how much you want to deposit or withdraw.
+You only have to tell him how much you want to deposit or withdraw.
+
+You open a book named @@. Do you want to read it?
+You open a book named @@. Do you want to read it?
+
+You open the Recipe Book. Each recipe you get can be put here.
+You open the Recipe Book. Each recipe you get can be put here.
+
+You open the chest and found a @@.
+You open the chest and found a @@.
+
+You open the chest!
+You open the chest!
+
+You open your eyes. The remants of the salt water in your eyes is not particularly helping you see.
+You open your eyes. The remants of the salt water in your eyes is not particularly helping you see.
+
+You passed the botcheck. Thanks for playing the game %%G
+You passed the botcheck. Thanks for playing the game %%G
+
+You perchance said in adventure? Good, because I just hurt my arm while mining!
+You perchance said in adventure? Good, because I just hurt my arm while mining!
+
+You perfectly cut your %s into two edible parts.
+You perfectly cut your %s into two edible parts.
+
+You planned neatly. I'll be back.
+You planned neatly. I'll be back.
+
+You ponder whether or not it would be wise to drink it.
+You ponder whether or not it would be wise to drink it.
+
+You pour the whole potion on the fountain.
+You pour the whole potion on the fountain.
+
+You probably was only 4 when all that happened. And opposed to official story, the Monster King never enter this building.
+You probably was only 4 when all that happened. And opposed to official story, the Monster King never enter this building.
+
+You pulled too late and lost the bait...
+You pulled too late and lost the bait...
+
+You pulled too soon and lost the bait.
+You pulled too soon and lost the bait.
+
+You quickly give her the herbs, and she skillfully mix them on a potion.
+You quickly give her the herbs, and she skillfully mix them on a potion.
+
+You ran out of time.
+You ran out of time.
+
+You realize that you have no means to prove your statement.
+You realize that you have no means to prove your statement.
+
+You really have a reason to be proud.
+You really have a reason to be proud.
+
+You really should do some tasks to impress our captain.
+You really should do some tasks to impress our captain.
+
+You really should read the dialogs.
+You really should read the dialogs.
+
+You receive 32 exp and 30 GP.
+You receive 32 exp and 30 GP.
+
+You receive @@ GP!
+You receive @@ GP!
+
+You received one %s!
+You received one %s!
+
+You received the %s title from %s.
+You received the %s title from %s.
+
+You received the @@ from @@.
+You received the @@ from @@.
+
+You recover a tweaking point every hour.
+You recover a tweaking point every hour.
+
+You recovered @@ magic skill points
+You recovered @@ magic skill points
+
+You report to the King about everything you've found and learned there.
+You report to the King about everything you've found and learned there.
+
+You run as far as you could. %s
+You run as far as you could. %s
+
+You said you would trade a real Mouboo Figurine, but now I see you don't have one. Come back when you do.
+You said you would trade a real Mouboo Figurine, but now I see you don't have one. Come back when you do.
+
+You search for Bandit hoods.
+You search for Bandit hoods.
+
+You see a dust covered book on the shelf... The name of the book is @@.
+You see a dust covered book on the shelf... The name of the book is @@.
+
+You see a fruit on her body. You take it.
+You see a fruit on her body. You take it.
+
+You see a helper looking through some papers that have a strange smell.
+You see a helper looking through some papers that have a strange smell.
+
+You see a raijin boy, sitting on the edge of the dock.
+You see a raijin boy, sitting on the edge of the dock.
+
+You see a red apple here. It is
+You see a red apple here. It is
+
+You see some fish reflecting the sun on the surface of the water.
+You see some fish reflecting the sun on the surface of the water.
+
+You see the docks on the other side of the town? There should be a ship docked there.
+You see the docks on the other side of the town? There should be a ship docked there.
+
+You see the gates over there? This is the World's Edge. The land which never had a settlement. How. is. there. a. town?!
+You see the gates over there? This is the World's Edge. The land which never had a settlement. How. is. there. a. town?!
+
+You see these pious around us?
+You see these pious around us?
+
+You see yourself in a strange chamber. Strange drawings litter the walls.
+You see yourself in a strange chamber. Strange drawings litter the walls.
+
+You see, Benjamin wanted to reshape the world. Very ambitious plans, which would have been great... If they had prospered.
+You see, Benjamin wanted to reshape the world. Very ambitious plans, which would have been great... If they had prospered.
+
+You see, I am Erlan, a researcher. I'm currently developing strong poison to rival with the legendary %s. For that end, I need raw, untreated sewerage, but there is no such thing here. Could you bring me %d %s? Thanks!
+You see, I am Erlan, a researcher. I'm currently developing strong poison to rival with the legendary %s. For that end, I need raw, untreated sewerage, but there is no such thing here. Could you bring me %d %s? Thanks!
+
+You see, I am Erlan, a researcher. I'm currently developing strong poison to rival with the legendary %s. For that end, I need raw, untreated sewerage, but there is no such thing in a civilized town like ours.
+You see, I am Erlan, a researcher. I'm currently developing strong poison to rival with the legendary %s. For that end, I need raw, untreated sewerage, but there is no such thing in a civilized town like ours.
+
+You see, I cannot use any raw material. It must be sturdier than the usual, and I don't have the materials for it.
+You see, I cannot use any raw material. It must be sturdier than the usual, and I don't have the materials for it.
+
+You see, I have a sister. Luvia Gemini. Very talented, but unfortunately, not enough to prevent being captured and brainwashed by Isbamuth.
+You see, I have a sister. Luvia Gemini. Very talented, but unfortunately, not enough to prevent being captured and brainwashed by Isbamuth.
+
+You see, I love %s! So shiny, so bright... They are my favorite!
+You see, I love %s! So shiny, so bright... They are my favorite!
+
+You see, I was walking in the secret caves near Ched, and... well...
+You see, I was walking in the secret caves near Ched, and... well...
+
+You see, Pihro and Pyndragon, the mayors, are really busy people. They're developing a game or something as we speak.
+You see, Pihro and Pyndragon, the mayors, are really busy people. They're developing a game or something as we speak.
+
+You see, after a monster attack... My husband went to the desert, to check how things were...
+You see, after a monster attack... My husband went to the desert, to check how things were...
+
+You see, because the Monster King, monsters have been running rampant. If they grow too much in numbers, cities may be overrun.
+You see, because the Monster King, monsters have been running rampant. If they grow too much in numbers, cities may be overrun.
+
+You see, it need certain special items... Oh, just blame Jesusalva for this one.
+You see, it need certain special items... Oh, just blame Jesusalva for this one.
+
+You see, just @@ ago, Hurnscald was liberated from a massive monster attack.
+You see, just @@ ago, Hurnscald was liberated from a massive monster attack.
+
+You see, most people think that all monsters are controlled by the Monster King, but that's not quite right.
+You see, most people think that all monsters are controlled by the Monster King, but that's not quite right.
+
+You see, we're working on repairing all of the damaged books and creating new ones for those that were lost.
+You see, we're working on repairing all of the damaged books and creating new ones for those that were lost.
+
+You seem to be doing some money. Would you consider fighting for your own greed, or even be a Robin-Hood-of-sorts, stealing from the rich?
+You seem to be doing some money. Would you consider fighting for your own greed, or even be a Robin-Hood-of-sorts, stealing from the rich?
+
+You seem to be jailed. We cannot unjail offline players, so please don't logout.
+You seem to be jailed. We cannot unjail offline players, so please don't logout.
+
+You seem to have @@ broken items and... Oh, I see you have a broken @@ here! I wanna repair it!
+You seem to have @@ broken items and... Oh, I see you have a broken @@ here! I wanna repair it!
+
+You seem to have gotten Peetu's attention for a while.
+You seem to have gotten Peetu's attention for a while.
+
+You send me the wrong way.
+You send me the wrong way.
+
+You set off a trap!
+You set off a trap!
+
+You shall pass. Beyond this gate, she waits for you.
+You shall pass. Beyond this gate, she waits for you.
+
+You should allocate some attributes to it. You need @@, @@ and @@, on this order of importance.
+You should allocate some attributes to it. You need @@, @@ and @@, on this order of importance.
+
+You should allocate some attributes. You need @@, @@ and @@, on this order of importance.
+You should allocate some attributes. You need @@, @@ and @@, on this order of importance.
+
+You should ask %s.
+You should ask %s.
+
+You should ask this question at Vincent.
+You should ask this question at Vincent.
+
+You should be ASHAMED of yourself, you liar.
+You should be ASHAMED of yourself, you liar.
+
+You should be more careful.
+You should be more careful.
+
+You should come back when you have some free space.
+You should come back when you have some free space.
+
+You should complete Candor Prologue before participating on this quest.
+You should complete Candor Prologue before participating on this quest.
+
+You should do the other miners quest first! Some, however, are harder than others. This will unlock the %s, an important item to advance as a crafter.
+You should do the other miners quest first! Some, however, are harder than others. This will unlock the %s, an important item to advance as a crafter.
+
+You should eat and drink water after donating blood. Thanks for saving lifes!
+You should eat and drink water after donating blood. Thanks for saving lifes!
+
+You should go and get some sleep.
+You should go and get some sleep.
+
+You should have gotten here @@.
+You should have gotten here @@.
+
+You should have some decent gloves, dude. These offer defense, as it's easier to handle your weapon and parry attacks.
+You should have some decent gloves, dude. These offer defense, as it's easier to handle your weapon and parry attacks.
+
+You should know this, an item like this can't be bleached.
+You should know this, an item like this can't be bleached.
+
+You should never sell your Cactus Drinks. They have many uses.
+You should never sell your Cactus Drinks. They have many uses.
+
+You should not be here. Get moving.
+You should not be here. Get moving.
+
+You should not be here...
+You should not be here...
+
+You should not be there! This forest is home to monsters.
+You should not be there! This forest is home to monsters.
+
+You should not leave this room.
+You should not leave this room.
+
+You should reset your stats and allocate some points at intelligence.
+You should reset your stats and allocate some points at intelligence.
+
+You should talk to Airlia again to understand what Lua wants me to do.
+You should talk to Airlia again to understand what Lua wants me to do.
+
+You should talk to Magic Arpan first.
+You should talk to Magic Arpan first.
+
+You should talk to him instead.
+You should talk to him instead.
+
+You should talk to the Black Razor. He was a researcher, so try the academy.
+You should talk to the Black Razor. He was a researcher, so try the academy.
+
+You should unequip this item first.
+You should unequip this item first.
+
+You sing a pretty song to the teddy, and this makes it very happy.
+You sing a pretty song to the teddy, and this makes it very happy.
+
+You stand before a battle-scarred, darkly tanned warrior, brimming with muscles.
+You stand before a battle-scarred, darkly tanned warrior, brimming with muscles.
+
+You start feeling dizzy.
+You start feeling dizzy.
+
+You started the seal break sequence. Please stand by.
+You started the seal break sequence. Please stand by.
+
+You stay where you are..
+You stay where you are..
+
+You still are overwhelmed by your magic.
+You still are overwhelmed by your magic.
+
+You still have ##B%d Monster Points##b! Do you want more items?
+You still have ##B%d Monster Points##b! Do you want more items?
+
+You still have a low level but I'm sure he will ask for your help once you grow up a little more.
+You still have a low level but I'm sure he will ask for your help once you grow up a little more.
+
+You still haven't completed your tasks.
+You still haven't completed your tasks.
+
+You still haven't found all of them yet.
+You still haven't found all of them yet.
+
+You still need @@ GP for the trip to Tulimshar.
+You still need @@ GP for the trip to Tulimshar.
+
+You still need @@ GP to afford it.
+You still need @@ GP to afford it.
+
+You still need to grow a few levels more before being able to help me out again.
+You still need to grow a few levels more before being able to help me out again.
+
+You still need to wait @@ before going to HH again.
+You still need to wait @@ before going to HH again.
+
+You store a large collection of goods. Could you perhaps sell me some?
+You store a large collection of goods. Could you perhaps sell me some?
+
+You succeed in crossing the chasm!
+You succeed in crossing the chasm!
+
+You successfully completed Sagratha's Campaign.
+You successfully completed Sagratha's Campaign.
+
+You successfully set the drop rate to @@%. It will reset to @@% (default value) in @@.
+You successfully set the drop rate to @@%. It will reset to @@% (default value) in @@.
+
+You successfully set the exp rate to @@%. It will reset to @@% (default value) in @@.
+You successfully set the exp rate to @@%. It will reset to @@% (default value) in @@.
+
+You supported:
+You supported:
+
+You take distance and...
+You take distance and...
+
+You take four steps to the left.
+You take four steps to the left.
+
+You take four steps to the right.
+You take four steps to the right.
+
+You take off your bag and put it on the floor, as you lower yourself and try to slowly get close to it.
+You take off your bag and put it on the floor, as you lower yourself and try to slowly get close to it.
+
+You take one step to the left.
+You take one step to the left.
+
+You take one step to the right.
+You take one step to the right.
+
+You take the @@. It seems to be the stolen item.
+You take the @@. It seems to be the stolen item.
+
+You take the clothes from the chest.
+You take the clothes from the chest.
+
+You take three steps to the left.
+You take three steps to the left.
+
+You take three steps to the right.
+You take three steps to the right.
+
+You take two steps to the left.
+You take two steps to the left.
+
+You take two steps to the right.
+You take two steps to the right.
+
+You take your @@ and leave.
+You take your @@ and leave.
+
+You take your fishing rod and leave.
+You take your fishing rod and leave.
+
+You tell Lua everything you've heard at the Inn.
+You tell Lua everything you've heard at the Inn.
+
+You tell her about the incident at the Blue Sage's residence and how they were aiming at sages.
+You tell her about the incident at the Blue Sage's residence and how they were aiming at sages.
+
+You think you can fool me and lie? I'll teach you a lesson you won't forget!
+You think you can fool me and lie? I'll teach you a lesson you won't forget!
+
+You thought there was someone here. It must have been your imagination.
+You thought there was someone here. It must have been your imagination.
+
+You throw a coin into the well.
+You throw a coin into the well.
+
+You throw a coin on the chasm.
+You throw a coin on the chasm.
+
+You took more than %s to do this, that is lame! Better luck next time.
+You took more than %s to do this, that is lame! Better luck next time.
+
+You took too long to answer.
+You took too long to answer.
+
+You toss the paper in the trash.
+You toss the paper in the trash.
+
+You tried to get rid of me, eeh? But surprise! I'm still here... *hic* Or there...
+You tried to get rid of me, eeh? But surprise! I'm still here... *hic* Or there...
+
+You use the small key from the apple garden hut. It fits neatly.
+You use the small key from the apple garden hut. It fits neatly.
+
+You vomit, you are too drunk and drinking is harmful.
+You vomit, you are too drunk and drinking is harmful.
+
+You vomit, you are too drunk for this to have effect anymore.
+You vomit, you are too drunk for this to have effect anymore.
+
+You waited too long and lost the bait...
+You waited too long and lost the bait...
+
+You wake up in the middle of the night. How did you got here? WERE YOU KIDNAPPED?
+You wake up in the middle of the night. How did you got here? WERE YOU KIDNAPPED?
+
+You wanted to know about the World Edge, right? The Ancient Families of the Soul Menhir, and if you're part of them...
+You wanted to know about the World Edge, right? The Ancient Families of the Soul Menhir, and if you're part of them...
+
+You were in bad shape, you should be happy we found you before the sea killed you.#0
+You were in bad shape, you should be happy we found you before the sea killed you.
+
+You were in bad shape, you should be happy we found you before the sea killed you.#1
+You were in bad shape, you should be happy we found you before the sea killed you.
+
+You were jailed and now need a GM to get you out of there.
+You were jailed and now need a GM to get you out of there.
+
+You were permanently banned by the GM Team.
+You were permanently banned by the GM Team.
+
+You were refunded in %s GP!
+You were refunded in %s GP!
+
+You were rescued by DUSTMAN.
+You were rescued by DUSTMAN.
+
+You were vouched to the %s title by %s. You still need %d more vouches to be promoted.
+You were vouched to the %s title by %s. You still need %d more vouches to be promoted.
+
+You were wrong!
+You were wrong!
+
+You will also LOSE honor if the opponent is below level 30. If you are a bandit (negative honor), all fights versus you will be honorable.
+You will also LOSE honor if the opponent is below level 30. If you are a bandit (negative honor), all fights versus you will be honorable.
+
+You will be able to pick basic weapons and skills at the Event Soul Menhir.
+You will be able to pick basic weapons and skills at the Event Soul Menhir.
+
+You will be killed on the road if you try to go like this. The Canyon route is dangerous, and the Swamps route claimed many souls.
+You will be killed on the road if you try to go like this. The Canyon route is dangerous, and the Swamps route claimed many souls.
+
+You will be rewarded by me shall you succeed in any of the tasks.
+You will be rewarded by me shall you succeed in any of the tasks.
+
+You will find a fisher, maybe he is having a good time and can sell you a few boxes. And remember to keep your eye open.
+You will find a fisher, maybe he is having a good time and can sell you a few boxes. And remember to keep your eye open.
+
+You will find a statue different from the others. It is where the game balance was murdered and bugs added instead! No, not really - this is just a placeholder. Not cool!
+You will find a statue different from the others. It is where the game balance was murdered and bugs added instead! No, not really - this is just a placeholder. Not cool!
+
+You will gain @@ Reputation.
+You will gain @@ Reputation.
+
+You will get @@ which can then be exchanged for items once CoD event quest ends.
+You will get @@ which can then be exchanged for items once CoD event quest ends.
+
+You will need a certain amount of them to upgrade any skill, which will be spent and no longer available for use.
+You will need a certain amount of them to upgrade any skill, which will be spent and no longer available for use.
+
+You will need to *hic* prove yourself to *hic* me and the town first...
+You will need to *hic* prove yourself to *hic* me and the town first...
+
+You will see, citizens are polite and you can still ask around for help. They can help find a job for you or maybe help you find out what happened to you out at sea!
+You will see, citizens are polite and you can still ask around for help. They can help find a job for you or maybe help you find out what happened to you out at sea!
+
+You win!
+You win!
+
+You withdrew a total of @@ GP.
+You withdrew a total of @@ GP.
+
+You won't be able to aim for a better record!
+You won't be able to aim for a better record!
+
+You won't be allowed to play this game until you have an updated client.
+You won't be allowed to play this game until you have an updated client.
+
+You won't be allowed to walk sideways, except to avoid a monster or two.
+You won't be allowed to walk sideways, except to avoid a monster or two.
+
+You won't have any of my vegetables, you scoundrel! Get off my yard!
+You won't have any of my vegetables, you scoundrel! Get off my yard!
+
+You won't learn any skill without a good professor to teach them to you.
+You won't learn any skill without a good professor to teach them to you.
+
+You wonder, maybe he entered on an infinite loop? Hellooo, anybody home?
+You wonder, maybe he entered on an infinite loop? Hellooo, anybody home?
+
+You wont be able to go back!
+You wont be able to go back!
+
+You would do well as come prepared, as failing in the last stage will RESET current progress on the quest.
+You would do well as come prepared, as failing in the last stage will RESET current progress on the quest.
+
+You wouldn't happen to have them, would you?
+You wouldn't happen to have them, would you?
+
+You'll all die here!
+You'll all die here!
+
+You'll also get half of the GP as Monster Points!
+You'll also get half of the GP as Monster Points!
+
+You'll be charged even if you fail, be warned.
+You'll be charged even if you fail, be warned.
+
+You'll be charged even if you fail, be warned. You can re-roll the same item %s, free of charge, but it may break and there will be no refunds!
+You'll be charged even if you fail, be warned. You can re-roll the same item %s, free of charge, but it may break and there will be no refunds!
+
+You'll come with me!
+You'll come with me!
+
+You'll get %d GP every time you finish the sequence.
+You'll get %d GP every time you finish the sequence.
+
+You'll give your best and attempt to run!
+You'll give your best and attempt to run!
+
+You'll have 60 seconds to kill as many balls as you can!
+You'll have 60 seconds to kill as many balls as you can!
+
+You'll have to slay %s %s for me! I don't care which ones, just SLAY THEM!
+You'll have to slay %s %s for me! I don't care which ones, just SLAY THEM!
+
+You'll need to think on a new password!
+You'll need to think on a new password!
+
+You'll soon run out of stuff to do around here, so yeah, you should extend your horizons or you may get bored soon enough.
+You'll soon run out of stuff to do around here, so yeah, you should extend your horizons or you may get bored soon enough.
+
+You'll want your fishing rod to be flexible but solid.
+You'll want your fishing rod to be flexible but solid.
+
+You're about to concede an academic title to "@@".
+You're about to concede an academic title to "@@".
+
+You're about to enter a dangerous area. Are you sure?
+You're about to enter a dangerous area. Are you sure?
+
+You're about to enter a dangerous zone!
+You're about to enter a dangerous zone!
+
+You're about to transfer a legendary weapon to @@.
+You're about to transfer a legendary weapon to @@.
+
+You're absolutely right. The next one will be more tricky.
+You're absolutely right. The next one will be more tricky.
+
+You're brave but weak. Go grind some levels, go make a wooden sword, I don't know.
+You're brave but weak. Go grind some levels, go make a wooden sword, I don't know.
+
+You're creepy.
+You're creepy.
+
+You're doing the math wrong, matey! I'll bring them later!
+You're doing the math wrong, matey! I'll bring them later!
+
+You're finally free!
+You're finally free!
+
+You're hesitant to pick one, they could be dangerous.
+You're hesitant to pick one, they could be dangerous.
+
+You're in the "@@" party, I know!
+You're in the "@@" party, I know!
+
+You're in the "@@" party, very good!
+You're in the "@@" party, very good!
+
+You're lucky that this is the Land Of Fire and I'm on a good mood, otherwise, I would have killed you for lying to me.
+You're lucky that this is the Land Of Fire and I'm on a good mood, otherwise, I would have killed you for lying to me.
+
+You're lucky. It is windless now.#0
+You're lucky. It is windless now.
+
+You're lucky. It is windless now.#1
+You're lucky. It is windless now.
+
+You're not welcome here. Get moving.
+You're not welcome here. Get moving.
+
+You're on a ship, we're on our way to the oldest human city, Tulishmar.
+You're on a ship, we're on our way to the oldest human city, Tulishmar.
+
+You're on our ship, we made port to a little island and we're actually yeyending our long merchant travelling adventure at the city of Tulimshar.#0
+You're on our ship, we made port to a little island and we're actually yeyending our long merchant travelling adventure at the city of Tulimshar.
+
+You're on our ship, we made port to a little island and we're actually yeyending our long merchant travelling adventure at the city of Tulimshar.#1
+You're on our ship, we made port to a little island and we're actually yeyending our long merchant travelling adventure at the city of Tulimshar.
+
+You're playing with fire. Or ice. Or whatever.
+You're playing with fire. Or ice. Or whatever.
+
+You're pretty much stranded on this forsaken island if you don't help me!
+You're pretty much stranded on this forsaken island if you don't help me!
+
+You're ready. Let's head back to the ship before the sun sets, shall we?
+You're ready. Let's head back to the ship before the sun sets, shall we?
+
+You're right, you never sold any Water Bottle ever. I'm unjailing you.
+You're right, you never sold any Water Bottle ever. I'm unjailing you.
+
+You're right. Sorry.
+You're right. Sorry.
+
+You're strong, maybe you could help Dan. He is a good sailor but he is too afraid from harmless Pious.
+You're strong, maybe you could help Dan. He is a good sailor but he is too afraid from harmless Pious.
+
+You're stupid. Leave.
+You're stupid. Leave.
+
+You're the savior of Hurnscald crops. Half from the world would die from famine, weren't for you.
+You're the savior of Hurnscald crops. Half from the world would die from famine, weren't for you.
+
+You're under arrest. I have to bring you back to Kenton.
+You're under arrest. I have to bring you back to Kenton.
+
+You're wel-- Wait, it was you who was trapped on the well near Miler's house?!
+You're wel-- Wait, it was you who was trapped on the well near Miler's house?!
+
+You're welcome!
+You're welcome!
+
+You're welcome.
+You're welcome.
+
+You're willing to help? Perfect. We need @@ @@, @@ @@ and @@ @@ for travel.
+You're willing to help? Perfect. We need @@ @@, @@ @@ and @@ @@ for travel.
+
+You're, of course, invited. Thus far, the total prize money I've collected is @@ GP.
+You're, of course, invited. Thus far, the total prize money I've collected is @@ GP.
+
+You've already completed this quest today. Try again tomorrow.
+You've already completed this quest today. Try again tomorrow.
+
+You've also learned how to craft Daggers! It serves solely for training purposes. You get crafting points for every 40 levels crafted on the item.
+You've also learned how to craft Daggers! It serves solely for training purposes. You get crafting points for every 40 levels crafted on the item.
+
+You've been asking for way too much power from the Mana Seed.
+You've been asking for way too much power from the Mana Seed.
+
+You've been doing quite well, indeed. Ever visited Lilit?
+You've been doing quite well, indeed. Ever visited Lilit?
+
+You've been doing very well, I'm surprised.
+You've been doing very well, I'm surprised.
+
+You've been doing well. Be careful out there.
+You've been doing well. Be careful out there.
+
+You've been spending too much time with humans. You are picking up bad habits from them like lying. Be careful.
+You've been spending too much time with humans. You are picking up bad habits from them like lying. Be careful.
+
+You've brought me fertilizer! Let me see if it works...
+You've brought me fertilizer! Let me see if it works...
+
+You've got 2000 xp and 150 job xp in apology tokens.
+You've got 2000 xp and 150 job xp in apology tokens.
+
+You've got a Graduation Album for Eistein levels!
+You've got a Graduation Album for Eistein levels!
+
+You've helped me plenty. Please come back in @@
+You've helped me plenty. Please come back in @@
+
+You've killed @@ scorpions, and a total of @@ were killed this season.
+You've killed @@ scorpions, and a total of @@ were killed this season.
+
+You've killed @@/12 @@. Get rid of them!
+You've killed @@/12 @@. Get rid of them!
+
+You've learned how to use @@. Simple locks can now be broken.
+You've learned how to use @@. Simple locks can now be broken.
+
+You've obtained a @@ to visit Magic Academy.
+You've obtained a @@ to visit Magic Academy.
+
+You've passed the test of courage. Bravure you have, but are you a real adventurer?
+You've passed the test of courage. Bravure you have, but are you a real adventurer?
+
+You've reached the maximum level for this skill.
+You've reached the maximum level for this skill.
+
+You've slayed the Yeti.
+You've slayed the Yeti.
+
+You, @@... You better get walking. Soon.
+You, @@... You better get walking. Soon.
+
+You, and everyone on the party, won't be able to return.
+You, and everyone on the party, won't be able to return.
+
+You... You killed my father during Nivalis siege! I'll make you pay for that!!
+You... You killed my father during Nivalis siege! I'll make you pay for that!!
+
+You: @@, @@
+You: @@, @@
+
+You? Have you ever looked in the mirror? You're not even level 35. Begone.
+You? Have you ever looked in the mirror? You're not even level 35. Begone.
+
+You? Here?
+You? Here?
+
+Your @@ determines several small things, including critical attacks and, limited to a certain extent, affect drop rates.
+Your @@ determines several small things, including critical attacks and, limited to a certain extent, affect drop rates.
+
+Your @@ determines your ability to hit monsters and is valuable to players who prefer weapons that use projectiles.
+Your @@ determines your ability to hit monsters and is valuable to players who prefer weapons that use projectiles.
+
+Your @@ is not enough, please look for more.
+Your @@ is not enough, please look for more.
+
+Your Score: @@
+Your Score: @@
+
+Your academy titles have been rescinded%s
+Your academy titles have been rescinded%s
+
+Your account is too young.
+Your account is too young.
+
+Your account must be at least 72 hours old or have level 15+ to use this command.
+Your account must be at least 72 hours old or have level 15+ to use this command.
+
+Your body starts to glow. You're not sure why, the fountain did that!
+Your body starts to glow. You're not sure why, the fountain did that!
+
+Your class has been changed from %s to %s.
+Your class has been changed from %s to %s.
+
+Your coward outer self fails to convince you to leave.
+Your coward outer self fails to convince you to leave.
+
+Your current rank: %s
+Your current rank: %s
+
+Your current scholar rank: %s (%d Research Points)
+Your current scholar rank: %s (%d Research Points)
+
+Your current scholar rank: %s (%d/%d vouches)
+Your current scholar rank: %s (%d/%d vouches)
+
+Your current scholar rank: %s (%s Research Points)
+Your current scholar rank: %s (%s Research Points)
+
+Your current score: @@
+Your current score: @@
+
+Your current win streak is @@!
+Your current win streak is @@!
+
+Your friend also sent you a gift - open it when you get level 5!
+Your friend also sent you a gift - open it when you get level 5!
+
+Your guild does not have the key required to complete this part of the puzzle.
+Your guild does not have the key required to complete this part of the puzzle.
+
+Your guild doesn't knows any recipes!
+Your guild doesn't knows any recipes!
+
+Your guild need to have at least level 2 to use storage feature.
+Your guild need to have at least level 2 to use storage feature.
+
+Your hairstyle is @@ and its color is @@.
+Your hairstyle is @@ and its color is @@.
+
+Your hear a clink, and the key breaks.
+Your hear a clink, and the key breaks.
+
+Your help was invaluable, my staff believed in the unbiased view of the Hurnscald Household. Alas, now Peetu is capable to work again.
+Your help was invaluable, my staff believed in the unbiased view of the Hurnscald Household. Alas, now Peetu is capable to work again.
+
+Your homunculus is already on a mission!
+Your homunculus is already on a mission!
+
+Your homunculus is ready!
+Your homunculus is ready!
+
+Your homunculus is sleeping! Wake them up!
+Your homunculus is sleeping! Wake them up!
+
+Your information is correct, %s. Pirates have been plaguing our shores and cutting off our supply lines.
+Your information is correct, %s. Pirates have been plaguing our shores and cutting off our supply lines.
+
+Your level is so high, I'm surprised you haven't went there already. But then, most quests around there are for your level...
+Your level is so high, I'm surprised you haven't went there already. But then, most quests around there are for your level...
+
+Your loss!
+Your loss!
+
+Your low intelligence prevents anything from happening with you.
+Your low intelligence prevents anything from happening with you.
+
+Your magic is more powerful than you, but you can control.
+Your magic is more powerful than you, but you can control.
+
+Your mind is set? You will probably lose all the dyes and/or cards during on the item during this process. You're bleaching a %s by the way.
+Your mind is set? You will probably lose all the dyes and/or cards during on the item during this process. You're bleaching a %s by the way.
+
+Your mother asked me to say that she loves you.
+Your mother asked me to say that she loves you.
+
+Your next step is to get the book of the Second Sage Of Fate.
+Your next step is to get the book of the Second Sage Of Fate.
+
+Your party is too big. Discretion is a key if we want to succeed.
+Your party is too big. Discretion is a key if we want to succeed.
+
+Your persistence is amusing. However, you're yet to acquire the title of %s.
+Your persistence is amusing. However, you're yet to acquire the title of %s.
+
+Your personal record: %s
+Your personal record: %s
+
+Your position is auto-saved when entering a town - use @ucp to change this behavior.
+Your position is auto-saved when entering a town - use @ucp to change this behavior.
+
+Your position must be the one of a regular member or above.
+Your position must be the one of a regular member or above.
+
+Your position on the guild: @@
+Your position on the guild: @@
+
+Your privileges do not allow you to use this command.
+Your privileges do not allow you to use this command.
+
+Your prize: %s GP
+Your prize: %s GP
+
+Your problems are not mine. By the way, you really should consider taking a shower.
+Your problems are not mine. By the way, you really should consider taking a shower.
+
+Your progress thus far: %s chants casted
+Your progress thus far: %s chants casted
+
+Your progress thus far: %s damage inflicted
+Your progress thus far: %s damage inflicted
+
+Your progress thus far: %s exp earned
+Your progress thus far: %s exp earned
+
+Your progress thus far: %s friends supported
+Your progress thus far: %s friends supported
+
+Your progress thus far: %s potions baked
+Your progress thus far: %s potions baked
+
+Your progress thus far: %s skills casted
+Your progress thus far: %s skills casted
+
+Your progress thus far: %s sparks
+Your progress thus far: %s sparks
+
+Your progress thus far: %s sparks killed
+Your progress thus far: %s sparks killed
+
+Your progress thus far: %s survived.
+Your progress thus far: %s survived.
+
+Your progress thus far: %s taken.
+Your progress thus far: %s taken.
+
+Your reagents vanish into emptiness!
+Your reagents vanish into emptiness!
+
+Your rent is valid for @@.
+Your rent is valid for @@.
+
+Your request for @@ @@ are being fermented for @@.
+Your request for @@ @@ are being fermented for @@.
+
+Your save point has been changed.
+Your save point has been changed.
+
+Your skill in magic is not great enough to use some of the spells yet, so keep practicing and visiting the mana seed until it is.
+Your skill in magic is not great enough to use some of the spells yet, so keep practicing and visiting the mana seed until it is.
+
+Your son, Hasan, has stolen me!
+Your son, Hasan, has stolen me!
+
+Your spell takes a mind of its own and shapes in something else!
+Your spell takes a mind of its own and shapes in something else!
+
+Your status points were reset.
+Your status points were reset.
+
+Your strength is not enough to power on this portal.
+Your strength is not enough to power on this portal.
+
+Your thief instincts suggest you to hurry.
+Your thief instincts suggest you to hurry.
+
+Your weird robes; They seem like they'll deny your damage, so you definitely want to summon multiple people to help. Try the #world tab.
+Your weird robes; They seem like they'll deny your damage, so you definitely want to summon multiple people to help. Try the #world tab.
+
+Your worth shall be tested, and from inside, you shall not leave.
+Your worth shall be tested, and from inside, you shall not leave.
+
+Yuko
+Yuko
+
+Yuko Cuf
+Yuko Cuf
+
+Yumi
+Yumi
+
+ZZZzzzz...
+ZZZzzzz...
+
+Zack
+Zack
+
+Zambacutou Heavy Sword
+Zambacutou Heavy Sword
+
+Zarkor
+Zarkor
+
+Zarkor Scroll
+Zarkor Scroll
+
+Zarkor spills many fluids on the lake, with much concentration.
+Zarkor spills many fluids on the lake, with much concentration.
+
+Zarkor starts a weird chant.
+Zarkor starts a weird chant.
+
+Zarkor, fell a small taste of my power. That is nothing. If you can't handle that, you're not even near my lowest lieutenant.
+Zarkor, fell a small taste of my power. That is nothing. If you can't handle that, you're not even near my lowest lieutenant.
+
+Zarkor, the Dark Summoner
+Zarkor, the Dark Summoner
+
+Zegas
+Zegas
+
+ZegasDebug
+ZegasDebug
+
+Zitoni
+Zitoni
+
+Zitoni refused to make the Powder.
+Zitoni refused to make the Powder.
+
+Zitoni seems to be lost on deep thought.
+Zitoni seems to be lost on deep thought.
+
+Zitoni won't cooperate with you. Perhaps you should ask to Zarkor about that.
+Zitoni won't cooperate with you. Perhaps you should ask to Zarkor about that.
+
+Zombie Ear
+Zombie Ear
+
+Zombie Nachos
+Zombie Nachos
+
+Zzzzzz....
+Zzzzzz....
+
+Zzzzzzzzz...
+Zzzzzzzzz...
+
+[%d GP] [Lv 1~25] Hire for one hour
+[%d GP] [Lv 1~25] Hire for one hour
+
+[%d GP] [Lv 26~40] Hire for one hour
+[%d GP] [Lv 26~40] Hire for one hour
+
+[%d GP] [Lv 41~60] Hire for one hour
+[%d GP] [Lv 41~60] Hire for one hour
+
+[%d GP] [Lv 61~79] Hire for one hour
+[%d GP] [Lv 61~79] Hire for one hour
+
+[%d GP] [Lv 80~100] Hire for one hour
+[%d GP] [Lv 80~100] Hire for one hour
+
+[0] East Aeros
+[0] East Aeros
+
+[10x Honey, 1x Elixir of Life] The Shadow Tortuga won the race against the Panthom Lord.
+[10x Honey, 1x Elixir of Life] The Shadow Tortuga won the race against the Panthom Lord.
+
+[1] West Aeros
+[1] West Aeros
+
+[2] Full Aeros
+[2] Full Aeros
+
+[@@https://wiki.moubootaurlegends.org/Storyline|Read the History@@]
+[@@https://wiki.moubootaurlegends.org/Storyline|Read the History@@]
+
+[Accept Quest]
+[Accept Quest]
+
+[Caution, this may be dangerous!]
+[Caution, this may be dangerous!]
+
+[Christmas] Send soul to the Christmas Workshop!
+[Christmas] Send soul to the Christmas Workshop!
+
+[DEBUG] Current Power: %d
+[DEBUG] Current Power: %d
+
+[Decline Quest]
+[Decline Quest]
+
+[Deliver all goods.]
+[Deliver all goods.]
+
+[Easter] Send soul to the Mana Forest!
+[Easter] Send soul to the Mana Forest!
+
+[Explain the situation]
+[Explain the situation]
+
+[Give him a Mouboo Figurine to play with?]
+[Give him a Mouboo Figurine to play with?]
+
+[Give him some salty Sea Drops?]
+[Give him some salty Sea Drops?]
+
+[Give him some tasty Chocolate Bar?]
+[Give him some tasty Chocolate Bar?]
+
+[Kill her]
+[Kill her]
+
+[Magic Olympics] Send soul to Porthos
+[Magic Olympics] Send soul to Porthos
+
+[Make up a lie]
+[Make up a lie]
+
+[Maybe another time.]
+[Maybe another time.]
+
+[Pat his shoulder and say everything will be fine.]
+[Pat his shoulder and say everything will be fine.]
+
+[Push him away from you and leave]
+[Push him away from you and leave]
+
+[Quest Accepted]
+[Quest Accepted]
+
+[Quit]
+[Quit]
+
+[Shake him and tell him to pull himself together]
+[Shake him and tell him to pull himself together]
+
+[Slap his hands to surprise him and get his attention?]
+[Slap his hands to surprise him and get his attention?]
+
+[Soul Menhir]
+[Soul Menhir]
+
+[TUTORIAL]
+[TUTORIAL]
+
+[Try to console him]
+[Try to console him]
+
+[Valentine Day] Send soul to the Valentine Highlands!
+[Valentine Day] Send soul to the Valentine Highlands!
+
+[Valentine] Eat all chocolate:
+[Valentine] Eat all chocolate:
+
+[Worker Day] Send soul to the Contributor Cave!
+[Worker Day] Send soul to the Contributor Cave!
+
+^.^ "Nothing is wrong, don't worry!"
+^.^ "Nothing is wrong, don't worry!"
+
+a Left Crafty Wing
+a Left Crafty Wing
+
+a Right Crafty Wing
+a Right Crafty Wing
+
+a ground!
+a ground!
+
+a quiet place,
+a quiet place,
+
+a(n)
+a(n)
+
+above
+above
+
+adams
+adams
+
+affection
+affection
+
+agility
+agility
+
+agrajag
+agrajag
+
+and
+and
+
+and "listening" to his speech, you'll get EXP!
+and "listening" to his speech, you'll get EXP!
+
+and have Demure to send them to those you admire!
+and have Demure to send them to those you admire!
+
+angry
+angry
+
+any
+any
+
+any planned experience and gold reward.
+any planned experience and gold reward.
+
+arrow keys
+arrow keys
+
+arthur dent
+arthur dent
+
+assigning 5 points each to str, agi, dex and luck
+assigning 5 points each to str, agi, dex and luck
+
+begin Doppelganger Challenge
+begin Doppelganger Challenge
+
+below
+below
+
+betelgeuse
+betelgeuse
+
+big
+big
+
+burst up in flames
+burst up in flames
+
+but I was hoping for something more valuable. No, thanks.
+but I was hoping for something more valuable. No, thanks.
+
+but remember: Rewards will also be based on everyone's progress!
+but remember: Rewards will also be based on everyone's progress!
+
+cancel
+cancel
+
+cleaning
+cleaning
+
+cold, bleak and isolated cell
+cold, bleak and isolated cell
+
+come back stronger, and I will give you a task.
+come back stronger, and I will give you a task.
+
+cricket
+cricket
+
+data @@ @@ @@ data
+data @@ @@ @@ data
+
+day
+day
+
+deep thought
+deep thought
+
+desert mines one day.
+desert mines one day.
+
+dexterity
+dexterity
+
+disaster area
+disaster area
+
+discontent
+discontent
+
+don't panic
+don't panic
+
+doplhins
+doplhins
+
+douglas
+douglas
+
+draw.
+draw.
+
+dude#1
+dude
+
+ear
+ear
+
+east
+east
+
+easter eggs for more useful things!
+easter eggs for more useful things!
+
+eddie
+eddie
+
+ee break of day
+ee break of day
+
+eight
+eight
+
+eighteen
+eighteen
+
+eleven
+eleven
+
+england
+england
+
+equip
+equip
+
+evening
+evening
+
+evil will return every day to curse King Arthur the Micksha.
+evil will return every day to curse King Arthur the Micksha.
+
+exchange them, and have fun!
+exchange them, and have fun!
+
+experience points
+experience points
+
+fifteen
+fifteen
+
+firearms
+firearms
+
+five
+five
+
+focused on lower level players, and to cherish those whom work hard everyday.
+focused on lower level players, and to cherish those whom work hard everyday.
+
+four
+four
+
+fourteen
+fourteen
+
+furious
+furious
+
+gal#0
+gal
+
+girl#0
+girl
+
+give everyone gifts for spending so much time with us %%l
+give everyone gifts for spending so much time with us %%l
+
+hard work, Dimonds Cove was built.
+hard work, Dimonds Cove was built.
+
+heart of gold
+heart of gold
+
+her
+her
+
+here
+here
+
+hero#0
+hero
+
+hero#1
+hero
+
+hey, hey, are you a hero, are you a hero?#0
+hey, hey, are you a hero, are you a hero?
+
+hey, hey, are you a hero, are you a hero?#1
+hey, hey, are you a hero, are you a hero?
+
+house finances
+house finances
+
+humm... Sorry, I forgot what you need!
+humm... Sorry, I forgot what you need!
+
+humm... You don't have everything I've asked for!
+humm... You don't have everything I've asked for!
+
+if the proposal is not convenient for you, just close the trading window to cancel the exchange of items and money. But if both press the 'Accept Negotiation' button, then the marketing will be finished.
+if the proposal is not convenient for you, just close the trading window to cancel the exchange of items and money. But if both press the 'Accept Negotiation' button, then the marketing will be finished.
+
+in March 2nd 2018.
+in March 2nd 2018.
+
+international worker day
+international worker day
+
+is your target. They spawn smaller versions of themselves! Kill @@ of them and make the beach safe for tourists.
+is your target. They spawn smaller versions of themselves! Kill @@ of them and make the beach safe for tourists.
+
+item dependant bonuses
+item dependant bonuses
+
+ix
+ix
+
+karim
+karim
+
+katazuli
+katazuli
+
+keyboard
+keyboard
+
+king
+king
+
+left
+left
+
+left above
+left above
+
+legendary clovers will spawn almost everywhere.
+legendary clovers will spawn almost everywhere.
+
+legendary weapon
+legendary weapon
+
+library damage
+library damage
+
+line @@:
+line @@:
+
+longing for the day she would have a building.
+longing for the day she would have a building.
+
+lost forever
+lost forever
+
+love
+love
+
+lower left
+lower left
+
+lower right
+lower right
+
+luck
+luck
+
+magic book
+magic book
+
+marvin
+marvin
+
+medium shot
+medium shot
+
+milliways
+milliways
+
+miss#0
+miss
+
+mister#1
+mister
+
+mobs over lv 100
+mobs over lv 100
+
+monster points
+monster points
+
+monsters of at least level 100
+monsters of at least level 100
+
+more information about test server ->
+more information about test server ->
+
+morning
+morning
+
+murder
+murder
+
+my name is karim can you help me?.
+my name is karim can you help me?.
+
+need help to send gifts to everyone! Compete for scoreboards,
+need help to send gifts to everyone! Compete for scoreboards,
+
+next
+next
+
+nine
+nine
+
+nineteen
+nineteen
+
+no
+no
+
+no active MOTD
+no active MOTD
+
+no active broadcast
+no active broadcast
+
+north
+north
+
+northeast
+northeast
+
+northwest
+northwest
+
+nothing
+nothing
+
+npc1
+npc1
+
+npc1#door
+npc1#door
+
+npc3
+npc3
+
+npc4
+npc4
+
+npc5
+npc5
+
+o.o "You're being unreasonable. That's way too much!"
+o.o "You're being unreasonable. That's way too much!"
+
+offline player
+offline player
+
+one
+one
+
+over 100 mobs
+over 100 mobs
+
+pal#1
+pal
+
+pan galactic gargle blaster
+pan galactic gargle blaster
+
+passion
+passion
+
+peasant#0
+peasant
+
+peasant#1
+peasant
+
+place in the world. He told Dimond that he would make her
+place in the world. He told Dimond that he would make her
+
+powerful shot
+powerful shot
+
+quest completed.#0
+quest completed.
+
+quest completed.#1
+quest completed.
+
+ranged mobs
+ranged mobs
+
+ranged monsters
+ranged monsters
+
+rather powerful shot
+rather powerful shot
+
+rather weak shot
+rather weak shot
+
+research
+research
+
+restaurant for her. He gathered the tools and after much
+restaurant for her. He gathered the tools and after much
+
+right
+right
+
+right above
+right above
+
+rock
+rock
+
+sample
+sample
+
+sent to the email you used to register on Moubootaur Legends.
+sent to the email you used to register on Moubootaur Legends.
+
+seven
+seven
+
+seventeen
+seventeen
+
+she's smiling at you.
+she's smiling at you.
+
+sit
+sit
+
+six
+six
+
+sixteen
+sixteen
+
+slartibartfast
+slartibartfast
+
+slimes
+slimes
+
+small, red, round and shiny.
+small, red, round and shiny.
+
+somewhat powerful shot
+somewhat powerful shot
+
+somewhat weak shot
+somewhat weak shot
+
+south
+south
+
+southeast
+southeast
+
+southwest
+southwest
+
+southwest part of the town
+southwest part of the town
+
+spawn challenge monster! How far can you go?
+spawn challenge monster! How far can you go?
+
+splash magic
+splash magic
+
+splash weapons
+splash weapons
+
+start#bat_a02
+start#bat_a02
+
+start#hurns_lib
+start#hurns_lib
+
+stocking
+stocking
+
+stop interrupting me while I make your trousers.
+stop interrupting me while I make your trousers.
+
+stop making me lose the line by talking to me.
+stop making me lose the line by talking to me.
+
+supply report
+supply report
+
+survive @@ seconds more!
+survive @@ seconds more!
+
+ten
+ten
+
+test
+test
+
+test @@
+test @@
+
+test#0
+test
+
+test#1
+test
+
+test1
+test1
+
+test1 @@#0
+test1 @@
+
+test1#0
+test1
+
+test2
+test2
+
+test2 @@#1
+test2 @@
+
+test2#1
+test2
+
+the Monster King
+the Monster King
+
+the Yeti King
+the Yeti King
+
+the better your chances to get the best cards.
+the better your chances to get the best cards.
+
+the card will determine your gift - the more cards you spin,
+the card will determine your gift - the more cards you spin,
+
+the event won't start and HURNSCALD WON'T BE LIBERATED.
+the event won't start and HURNSCALD WON'T BE LIBERATED.
+
+the north exit
+the north exit
+
+the npc choose paper.
+the npc choose paper.
+
+the npc choose rock.
+the npc choose rock.
+
+the npc choose scissors.
+the npc choose scissors.
+
+thirteen
+thirteen
+
+this
+this
+
+three
+three
+
+to give %s experience!
+to give %s experience!
+
+top 1
+top 1
+
+top 10
+top 10
+
+top 3
+top 3
+
+top 5
+top 5
+
+top 7
+top 7
+
+towel
+towel
+
+town damage by monsters
+town damage by monsters
+
+town finances
+town finances
+
+town overview
+town overview
+
+triple
+triple
+
+truth
+truth
+
+twelve
+twelve
+
+twenty
+twenty
+
+two
+two
+
+two jobs
+two jobs
+
+two minutes
+two minutes
+
+very angry
+very angry
+
+very mad
+very mad
+
+very powerful shot
+very powerful shot
+
+very weak shot
+very weak shot
+
+vogon
+vogon
+
+vogsphere
+vogsphere
+
+votes
+votes
+
+warp back
+warp back
+
+weak shot
+weak shot
+
+west
+west
+
+which creeps over Kamelot! During this event, the ancient
+which creeps over Kamelot! During this event, the ancient
+
+with friends
+with friends
+
+wowbagger
+wowbagger
+
+yawns
+yawns
+
+yellow
+yellow
+
+yes
+yes
+
+you already opened the chest.
+you already opened the chest.
+
+you choose paper.
+you choose paper.
+
+you choose rock.
+you choose rock.
+
+you choose scissors.
+you choose scissors.
+
+you lose
+you lose
+
+you win
+you win
+
+you win @@
+you win @@
+
+zero
+zero
+
+~~%d/%d %s~~
+~~%d/%d %s~~
+
+¬.¬ "Hmm, to me, you look like a thief or bandit..."
+¬.¬ "Hmm, to me, you look like a thief or bandit..."
+
+¬.¬ "I knew it! I'll report you at once."
+¬.¬ "I knew it! I'll report you at once."
+
+´ .Use lazurite stones ´..´. they will appear. ..´ .. drop them inside .. this circle.
+´ .Use lazurite stones ´..´. they will appear. ..´ .. drop them inside .. this circle.
+
+↑ Houses, Soul Menhir
+↑ Houses, Soul Menhir
+
+↑ Town Hall, Noble District
+↑ Town Hall, Noble District
+
+─ Crazyfefe is likely patrolling the world, aiding Constables and catching criminals.
+─ Crazyfefe is likely patrolling the world, aiding Constables and catching criminals.
+
+─ Jak1 should be on the Mirror Lake or verifying the infrastructure.
+─ Jak1 should be on the Mirror Lake or verifying the infrastructure.
+
+─ LawnCable is likely on his room doing research, I wouldn't disturb him if I were you.
+─ LawnCable is likely on his room doing research, I wouldn't disturb him if I were you.
+
+─ Saulc should be on his residence, going over the plans again.
+─ Saulc should be on his residence, going over the plans again.
+
+♪ Pinkie,pinkie,pinkie, you're so fine.
+♪ Pinkie,pinkie,pinkie, you're so fine.
+
+♪Hi ho, no one on♫
+♪Hi ho, no one on♫
+
+♪There is a server♪
+♪There is a server♪
+
diff --git a/langs/lang_es.old b/langs/lang_es.old
new file mode 100644
index 0000000..f9d56cd
--- /dev/null
+++ b/langs/lang_es.old
@@ -0,0 +1,708 @@
+@@ is helping me.
+@@ está ayudándome.
+
+Alright, take your time we are not in a hurry.
+De acuerdo, tómese su tiempo, no tenemos prisa.
+
+Also, we took your yayed clothes, as they were... Yeyeye... In a bad shape. Go check the chest near your bed, there are some other ones inside.#0
+También, cogemos sus ropas, pues están... Yeyeye... en mala forma. Vaya a comprobar el cofre cercano a su cama, hay algunas otras dentro.#0
+
+Also, we took your yayed clothes, as they were... Yeyeye... In a bad shape. Go check the chest near your bed, there are some other ones inside.#1
+También, cogemos sus ropas, pues están... Yeyeye... In mala forma. Vaya a comprobar el cofre cercano a su cama, hay algunas otras dentro.#1
+
+And then what happened?
+¿Y entonces qué pasó?
+
+And you? How's it going on your side?
+¿Y a ti? ¿Cómo te ha ido de tu lado?
+
+AreaNPC
+AreaNPC
+
+Artis
+Artis
+
+Artis Backsword
+Artis Espadanegra
+
+Bare Hands
+Manos desnudas.
+
+Black Cotton Dye
+Tinte de algodón negro
+
+Blue Cotton Dye
+Tinte de algodón azul
+
+Blue Gray Cotton Dye
+Tinte de algodón gris azulado
+
+Break the door.
+Rompe la puerta.
+
+Brown Cotton Dye
+Tinte de algodón marrón
+
+Bury.
+Enterrar.
+
+But most important, she is the one who took care of you when you were unconscious.#0
+Pero más importante, ella es la únca que se ocupó de usted cuando estaba inconsciente.#0
+
+But most important, she is the one who took care of you when you were unconscious.#1
+Pero más importante, ella es la únca que se ocupó de usted cuando estaba inconsciente.#1
+
+Camel Cotton Dye
+Tinte de algodón beige
+
+Captain Nard is in the room to your right.
+El Capitán Nard esta en la habitación a tu derecha.
+
+Change my level
+Cambiar mi nivel
+
+Change my skills
+Cambiar mis habilidades
+
+Change my stats
+Cambiar mis estadísticas
+
+Chocolate Cashmere Dye
+Tinte de lana de cachemira chocolate
+
+Choose desired quest state:
+Elegir el estado de la misión deseada:
+
+Click here for instructions on how to use the test server.
+Click aquí para instrucciones de cómo usar el servidor de prueba.
+
+Could I ask you what your native language is? A sailor told me you're Russian, but another one told me you're French... I'm a bit lost. I will register you on the ship passenger list just after that.#0
+¿Puedo preguntarte cuál es tu lengua materna? Un marinero me dijo que eres ruso, pero otro me dijo que eres francés... Estoy un poco perdido. Te rejistraré en la lista de pasajeros del barco justo después de eso.#0
+
+Could I ask you what your native language is? A sailor told me you're Russian, but another one told me you're French... I'm a bit lost. I will register you on the ship passenger list just after that.#1
+¿Puedo preguntarte cuál es tu lengua materna? Un marinero me dijo que eres rusa, pero otro me dijo que eres francesa... Estoy un poco perdido. Te rejistraré en la lista de pasajeros del barco justo después de eso.#1
+
+Could you bleach my clothes?
+¿Puede descolorar mi ropa?
+
+Create items
+Crear artículos
+
+Crimson Cashmere Dye
+Tinte de lana de cachemira carmesí
+
+Dark Red Cotton Dye
+Tinte de algodón rojo oscuro
+
+Debug - Change level
+Depurar - Cambiar nivel
+
+Debug - Change stats
+Depurar - cambiar estadísticas
+
+Did you say reward? I want it!
+¿Has dicho recompensa? ¡La quiero!
+
+Dig.
+Cavar.
+
+Do nothing
+No haga nada
+
+Do you feel too weak even to do damage to this areas wishy-washy wildlife?
+¿Se siente demasiado débil hasta para hacer daño a estas áreas de vida salvaje insípida?
+
+Do you have any other questions for me?
+¿Tienes alguna otra alguna pregunta para mí?
+
+Do you want to cut this @@?
+¿Quieres cortar este @@?
+
+Do you want to use this place as save point?
+¿Quieres usar este lugar como punto de guardado?
+
+DoorUpwards
+DoorUpwards
+
+Enter desired skill level:
+Introduzca el nivel de habilidad deseado:
+
+Fine.
+Genial.
+
+Fluffy Fur
+Piel acolchada
+
+Fuschia Cotton Dye
+Tinte de algodón fucsia
+
+Get money
+Conseguir dinero
+
+Go away.
+Aléjate.
+
+Good to hear from you!
+¡Es bueno saber de ti!
+
+Green Cotton Dye
+Tinte de algodón verde
+
+He needs more food.
+Él necesita más comida.
+
+Hehehe, he is a bit nervous, please forgive him, it is not everyday we have a new member in the crew!
+Jejeje. Él esta un poco nervioso; por favor discúlpalo. ¡No todos los días tenemos un nuevo miembro en la tripulación!
+
+Here they are.
+Aqui están.
+
+Hey you! Can you hear us? Are you okay?
+¡Oye, tú! ¿Puedes oírnos? ¿Estás bien?
+
+Hey.
+Oye.
+
+How do you know?
+¿Cómo lo sabe?
+
+I am not worried about rewards. I just want to help.
+No estoy preocupado por la recompensa. Sólo quiero ayudar.
+
+I can't remember anything.#0
+No puedo recordar nada.#0
+
+I can't remember anything.#1
+No puedo recordar nada.#1
+
+I don't have the time now.
+Ahora no tengo tiempo.
+
+I don't need your help right now, come back later.
+No necesito tu ayuda en este momento, vuelve luego.
+
+I knew it!
+¡Lo sabía!
+
+I need somebody who can rid the hold of the ship of these rattos. Can you help me?
+Necesito a alguien que pueda librar el fondo de la nave de esos rattos. ¿Puedes ayudarme?
+
+I only remember I was rescued by you.#0
+Sólo recuerdo que usted me rescató.#0
+
+I only remember I was rescued by you.#1
+Sólo recuerdo que usted me rescató.#1
+
+I remember when I created my first party, we were amazed to share some experience with a small group of adventurer...
+Recuerdo cuando creé mi primer grupo, estábamos sorprendidos al compartir experiencia con un pequeño grupo de aventureros...
+
+I see it's not so easy to get rid of these rattos. Do you want to try again?
+Veo que no es nada sencillo deshacerse de esos rattos. ¿Quieres intentarlo otra vez?
+
+I think I'll be done soon, since I almost have a box full of @@s!
+¡Creo que terminaré pronto, ya que casi tengo una caja llena de @@s!
+
+I think I'm done with that now. Do you have any questions?
+Creo que es todo por ahora. ¿Tienes alguna pregunta?
+
+I will yaying do.
+Lo yaying haré.
+
+I wrote your name on the book, you are now free to use the storage and bank services.
+He escrito tu nombre en el libro, ahora puedes usar el almacén y los servicios del banco.
+
+I'll give her everything she needs, don't worry.#0
+Le daré todo cuanto necesite, no se preocupe.#0
+
+I'll give him everything he needs, don't worry.#1
+Le daré todo cuanto necesite, no se preocupe.#1
+
+I'm done.
+He terminado.
+
+I'm glad to see you're okay.#0
+Me alegra ver que está bien.#0
+
+I'm glad to see you're okay.#1
+Me alegra ver que está bien.#1
+
+I'm sure that you've got some questions for me, feel free to ask them, but first I need to tell you the rules of proper social conduct on board.
+Estoy segura de que tienes algunas preguntas para mí. Siéntete libre de preguntar entonces, pero primero necesito decirte las reglas de conducta social adecuada en el barco.
+
+If you simply wish to get 99 in all stats:
+Si desea conseguir 99 en todos los estados:
+
+If you want to read this page again, there is a copy up on the left wall.
+Si deseas leer esta página de nuevo, allí en la pared a mi izquierda hay una copia.
+
+If you wish to reset your stats:
+Si desea reiniciar sus estadísticas:
+
+It seems that you need a key to open this door.
+Parece que necesitas una llave para abrir esta puerta.
+
+It would be good for you to do some exercise, the ship isn't big enough for that.
+Sería bueno para ti que hagas algo de ejercicio; el barco no es lo suficientemente grande para eso.
+
+It's alright! Just one more box and it'll be ok.
+¡Está bien!
+
+It's ok.
+Está bien.
+
+Johanne Key
+Johanne Key
+
+Julia
+Julia
+
+Khaki Cotton Dye
+Tinte de algodón caquí
+
+LeftBarrierCheck
+LeftBarrierCheck
+
+LeftDoor
+LeftDoor
+
+Legendary Mouboo
+Mouboo legendario
+
+Legion's Copper Armor
+Armadura de Cobre de la Legión
+
+Legion's Training Shirt
+Camisa de entrenamiento de la Legión
+
+Let me explain to you what the Merchant Guild is for.
+Déjame explicarte para que es el Gremio Mercante.
+
+Lime Cotton Dye
+Tinte de algodón limón
+
+Look at your equipment, can you guess what material it is made from?
+Mire su equipamiento, ¿Puede imaginar de qué material está hecho?
+
+Lower this skill
+Rebajar esta habilidad
+
+Mauve Cotton Dye
+Tinte de algodón malva
+
+Mint Cashmere Dye
+Tinte de cachemira de menta
+
+My name is @@...
+Mi nombre es @@...
+
+Navy Blue Cotton Dye
+Tinte de algodón azul marino
+
+No problem, I can help you anyway.
+No hay problema, te puedo ayudar de todos modos.
+
+No, none.
+No, ninguna.
+
+Oh really? I'll put more food in the next box then.
+¿En serio? Entonces pondré más comida en la siguiente caja.
+
+Oh well, we rescued you when you were yaying adrift in the sea.#0
+Oh bien, le rescatamos cuando iba a la deriva en el mar.#0
+
+Oh well, we rescued you when you were yaying adrift in the sea.#1
+Oh bien, le rescatamos cuando iba a la deriva en el mar.#1
+
+Oh yeyeye... As they are not edible, you can maybe try to equip them?#0
+Oh sí, sí, sí... Como no son comestibles, ¿tal vez puede intentar equiparlas?#0
+
+Oh yeyeye... As they are not edible, you can maybe try to equip them?#1
+Oh sí, sí, sí... Como no son comestibles, ¿tal vez puede intentar equiparlos?#1
+
+Oh! And our party chat was really entertaining, I do highly recommend you to share this fun as well.
+¡Oh! Y nuestra charla de grupo fue realmente entretenida. Le recomiendo encarecidamente compartir esta diversión también.
+
+Oh, I was going to ask you if you wanted to help the crew search for some food and explore the island out there.
+Oh, estaba por preguntarte si querías ayudar a la tripulación a buscar algo de comida y explorar la isla allá afuera.
+
+Oh, and I almost forgot! Do not give the password of your room to anybody! I am the only one who has the other key and I won't ask for yours so keep it secret and try not to use the same password for any other room in the future.
+Oh, ¡casi lo olvido! ¡No le des la clave de tu habitación a nadie! Yo soy la única que tiene la otra clave y yo no voy a preguntar por la tuya a fin de mantenerla en secreto Y, en el futuro, trata de no usar la misma contraseña para cualquier otra habitación.
+
+Oh, and a fruit may even fall for you if you are lucky! But stay alert to pick up your drops.
+¡Oh, y hasta puede caerle una fruta si es afortunado! Pero esté atento para recoger sus caídas.
+
+Oh, and give her some clothes, the poor girl, the ones she had were in an even worse condition than the ones we have.#0
+Oh, y déle alguna ropa. Las que la pobre chica tenía estaban incluso en una peor condición que las que tenemos nosotros.#0
+
+Oh, and give him some clothes, the poor guy, the ones he had were in an even worse condition than the ones we have.#1
+Oh, y déle alguna ropa. Las que el pobre chico tenía estaban incluso en una peor condición que las que tenemos nosotros.#1
+
+Oh, now that I remember, we also found some money in your pockets, here it is!#0
+Oh, ahora que lo recuerdo, también encontramos algo de dinero en sus bolsillos. ¡Aquí está!#0
+
+Oh, now that I remember, we also found some money in your pockets, here it is!#1
+Oh, ahora que lo recuerdo, también encontramos algo de dinero en sus bolsillos. ¡Aquí está!#1
+
+Oh, wait a second...
+Oh, espere un segundo...
+
+Oh... Err, yes I did, or, well, good day to you!
+Oh... Err, sí lo hice, o, bueno, ¡buen día para ti!
+
+Ok, I think he's waking up, go see him.#1
+De acuerdo, creo que se está acercando, para verle.#1
+
+Ok, I think she's waking up, go see her.#0
+De acuerdo, creo que se está acercando, para verle.#0
+
+Okay, I'm ready to work!#0
+De acuerdo, ¡Estoy lista para trabajar!#0
+
+Okay, I'm ready to work!#1
+De acuerdo, ¡Estoy listo para trabajar!#1
+
+Orange Cotton Dye
+Tinte de algodón naranja
+
+Perfect!
+¡Perfecto!
+
+Pink Cotton Dye
+Tinte de algodón rosa
+
+Piou Slayer
+Piou Asesino
+
+Piou egg
+Huevo de Piou
+
+Please select a category:
+Por favor seleccione una categoría:
+
+Plum
+Ciruela
+
+Purple Cotton Dye
+Tinte de algodón púrpura
+
+Raijin Voice
+Voz de Raijin
+
+Raise this skill
+Subir esta habilidad
+
+Raises your Int by 50
+Sube su Int en 50
+
+Raises your base level by 50
+Sube su nivel base en 50
+
+Raises your job level by 50
+Sube su nivel de oficio en 50
+
+Red Cotton Dye
+Tinte de algodón rojo
+
+Reduces your Int by 50
+Reduce su Int en 50
+
+Reduces your base level by 50
+Reduce su nivel base en 50
+
+Reduces your job level by 50
+Reduce su nivel de oficio en 50
+
+Remove this skill
+Eliminar esta habilidad
+
+Return to skill debug menu
+Volver al menú de limpieza de habilidad
+
+RightBarrierCheck
+RightBarrierCheck
+
+Set state manually
+Introducir estado manualmente
+
+Set the level manually
+Introducir el nivel manualmente
+
+She is the nurse and shipkeeper of this ship.
+Ella es la enfermera y la guarda de este barco.
+
+She's on the upper level, yeye can't miss her. She's the only girl in this crew, oh well, except for you now yeyeye!#0
+Ella está en el nivel superior, no puede perderle. Es la única chica en esta tripulación: ¡Oh bien, excepto por usted ahora yeyeye!#0
+
+She's on the upper level, yeye can't miss her. She's the only girl in this crew.#1
+Ella está en el nivel superior, no puede perderle. Es la única chica en esta tripulación.#1
+
+Silver Cotton Dye
+Tinte de algodón plateado
+
+Skill Debug
+Limpieza de Habilidad
+
+Skill Debug - Modify Skill
+Limpieza de habilidad - Modificar habilidad
+
+Skull Potion
+Poción de calavera
+
+So finally someone has came to visit me?
+¿Así que finalmente ha venido alguien a visitarme?
+
+Sorry! I forgot to introduce myself. My name is Arpan, but other sailors call me Magic Arpan because I know one or two yaing magic spells.
+¡Lo siento! Olvidé presentarme. Mi nombre es Arpan, pero los otros marineros me llaman Magic Arpan, porque sé una o dos cosas yaing hechizos mágicos.
+
+Sorry, I am not in the mood for another fight with these rattos.
+Lo siento, no estoy de humor para otra pelea con estos rattos.
+
+Sorry, but I can't tell you anything about that.
+Lo siento, pero no puedo decirte nada acerca de eso.
+
+Teal Cotton Dye
+Tinte de algodón verde azulado
+
+Thank you, I'll take them and put them on.
+Te agradezco, los tomaré y los pondré encima.
+
+Thanks again for helping me. Drats these rattos for infesting our fair vessal!
+Gracias otra vez por ayudarme. ¡Porras, estos rattos infestan nuestro hermoso vessal!
+
+Thanks for helping me!
+¡Gracias por ayudarme!
+
+Thanks for the help!
+¡Gracias por la ayuda!
+
+The captain has locked the door, you should go see him.
+El capitán ha cerrado la puerta, deberías ir a verlo.
+
+The captain is waiting for you! Hurry up.
+¡El capitán te está esperando! Date prisa.
+
+The name of the book is @@.
+El nombre del libro es @@.
+
+The old book seems to tell about the legend of Aemil. Would you like to read it?
+El viejo libro parece contar la leyenda de Aemil. ¿Quieres leerlo?
+
+Then concentrate your anger upon the trees hereabouts, you will gain experience whilst leveling your sword skill on them.
+Enconces concentre su ira sobre esos árboles. Ganará experiencia mientras sube su nivel de espada.
+
+There are still some rattos left! Do you want to abort the quest?
+¡Aún hay unos rattos a la izquierda! ¿Quieres abortar la misión?
+
+There is a paper with some rules written on it.
+Allí hay un papel con algunas reglas escritas en él.
+
+These boxes are way too heavy to be lifted by only one person, all the way onto the ship.
+Estas cajas son demasiado pesadas para que las cargeu una sola persona todo el camino hasta el barco.
+
+They are a permanent problem so I will always need your help to exterminate them in order to keep their number under control.
+Son un problema permanente, por lo que siempre necesitaré su ayuda para exterminarlos para mantener su número bajo control.
+
+This guy needs help, we need to rescue him!#1
+¡Este tipo necesita ayuda, tenemos que rescatarle!#1
+
+This menu allows you to change your skills.
+Este menú le permite cambiar sus habilidades.
+
+This menu gives access to all quest debug menus.
+Este menú da acceso a todos los menús de limpieza de misión.
+
+To change your base level, use this command:
+Para cambiar su nivel base, use este comando:
+
+To change your job level, use this command:
+Para cambiar su nivel de oficio, use este comando:
+
+To change your stats, use these commands:
+Para cambiar sus estadísticas, use estos comandos:
+
+TrainingGladius
+Gladius de Entrenamiento
+
+Use the key.
+Usa la llave.
+
+Wait, it seems someone is blocking the door from the other side!
+Espera, ¡parece que alguien esta empujando la puerta desde afuera!
+
+Wait, you never came here before?
+Espere, ¿nunca ha venido antes?
+
+We are at half a day from our final destination, by the time that you wake up I'm sure that we will be there!
+Estamos a medio día de nuestro destino final. ¡Estoy seguro de que estaremos allí para cuando despierte!
+
+We thought that you could help us understand this, all we know is that we found you cast in the sea, adrift on your raft.
+Pensábamos que tú podrías ayudarnos a entenderlo, todo lo que sabemos es que te encontramos tirado en el mar, a la deriva en tu balsa.
+
+We tried to clean them but the sea water mostly destroyed them. It's why we gave you these clothes. They're not very nice, but that's all that we have for you.#0
+Intentamos limpiarlas pero el agua del mar destruyó la mayoría. Por eso le damos esta ropa. No es muy buena, pero es todo lo que tenemos para usted.#0
+
+We tried to clean them but the sea water mostly destroyed them. It's why we gave you these clothes. They're not very nice, but that's all that we have for you.#1
+Intentamos limpiarlas pero el agua del mar destruyó la mayoría. Por eso le damos esta ropa. No es muy buena, pero es todo lo que tenemos para usted.#1
+
+We're soon leaving that island, please return to your cabine.
+Pronto dejaremos esa isla, por favor vuelva a su cabina.
+
+Welcome!
+¡Bienvenido!
+
+What are you going to do?
+¿Qué va a hacer?
+
+What can I do now?
+¿Qué puedo hacer ahora?
+
+What did Gugli say about the box? Was it ok?
+¿Qué dijo Gugli sobre la caja? ¿Estaba bien?
+
+What should I do after taking these clothes?#0
+¿Qué debería hacer despés de coger esta ropa?#0
+
+What should I do after taking these clothes?#1
+¿Qué debería hacer despés de coger esta ropa?#1
+
+What? This reward is too small!
+¿Qué? ¡Esta recompensa es muy pequeña!
+
+When your inventory is open, you can equip an item by selecting it and clicking 'Equip'. You can do the same to remove an item by clicking on 'Unequip'.
+Cuando tu inventario está abierto, puedes equipar algún artículo seleccionándolo y haciendo clic en 'Equipar'. También puedes hacer lo mismo para des-equipar haciendo clic en 'Quitárselo'.
+
+Where are my old clothes?
+¿Dónde están mis ropas viejas?
+
+Which of your weapons do you want to use in order to cut this @@?
+¿Cual de tus armas quieres usar para cortar esto @@?
+
+Which skill do you wish to change?
+¿Qué habilidad desea cambiar?
+
+Yaya, you should go see her! She'll be happy to see you.#0
+¡Debería ir a verle! Ella se alegrará de verle.#0
+
+Yaya, you should go see her! She'll be happy to see you.#1
+¡Debería ir a verle! Ella se alegrará de verle.#1
+
+Yayayaya, it's the first time someone is dressed worse than us!
+Yayayaya, ¡es la primera vez que alguien se viste peor que nosotros!
+
+Yellow Cotton Dye
+Tinte de algodón amarillo
+
+Yes I am.
+Sí lo soy.
+
+Yes, I do.
+Sí, así es.
+
+Yeye, you are really lucky to be alive. You are in good enough shape for walking, do you remember what happened?#0
+Tiene mucha suerte de estar vivo. Está en bastante buena forma para caminar. ¿Recuerda qué pasó?#0
+
+Yeye, you are really lucky to be alive. You are in good enough shape for walking, do you remember what happened?#1
+Tiene mucha suerte de estar vivo. Está en bastante buena forma para caminar. ¿Recuerda qué pasó?#1
+
+Yeye, you still did not get your new clothes from the chest next to your bed!#0
+¡Aún no cogió su nueva ropa del cofre junto a su cama!#0
+
+Yeye, you still did not get your new clothes from the chest next to your bed!#1
+¡Aún no cogió su nueva ropa del cofre junto a su cama!#1
+
+Yeye.
+Yeye.
+
+You already did enough for us, do you want to follow Nard's advice and get some rest?
+Ya ha hecho suficiente por nosotros. ¿Quiere seguir el consejo de Nard y descansar un poco?
+
+You are exhausted, you should rest a bit.#0
+Está exhausta, debería descansar un poco.#0
+
+You are exhausted, you should rest a bit.#1
+Está exhausto, debería descansar un poco.#1
+
+You are new around here, right?#0
+Usted es nueva por aquí, ¿verdad?#0
+
+You are new around here, right?#1
+Usted es nuevo por aquí, ¿verdad?#1
+
+You caught a @@!
+¡Ha capturado un @@!
+
+You do not have enough Esperin on your bank account.
+No tiene suficiente Esperin en su cuenta de banco.
+
+You do not have enough Esperin on yourself.
+No lleva suficiente Esperin encima.
+
+You do not seem to have enough money, come back later!
+No parece tener suficiente dinero. ¡Vuelva más tarde!
+
+You have an awful case of amnesia.
+Tienes un terrible caso de amnesia.
+
+You hear a loud scream. It must be the creaking of the wooden door...
+Oyes un ruidoso chirrido. Debe ser el rechinar de la puerta de madera...
+
+You hide your shovel.
+Usted esconde su pala.
+
+You hit too hard with your fist, you destroyed your @@.
+Golpeaste muy duro con tu puño, destruiste tu @@.
+
+You hold the shovel in your hands.
+Usted conserva la pala en las manos.
+
+You made a cash deposit of @@ E.
+Ha hecho un depósito de dinero de @@ E.
+
+You open a book named @@.
+Abre un libro llamado @@.
+
+You open the book, but it looks like the sea water and time damaged it severely. Some pages are not readable anymore. Some others are simply missing.
+Abres el libro, pero parece que el agua marina y el paso del tiempo lo han dañado severamente. Algunas páginas ya no son legibles. Y otras simplemente están perdidas.
+
+You opened the @@ in two parts, but you crushed one of them.
+Abriste el @@ en dos partes, pero aplastaste uno de ellos.
+
+You perfectly cut your @@ into two edible parts.
+Tú cortas perfectamente tu @@ en dos partes comestibles.
+
+You receive @@ E!
+¡Recibes @@ E!
+
+You see a dust covered book on the shelf...
+Ves un libro cubiero de polvo en el estante...
+
+Your hands are too weak, you did not succeed in opening this @@.
+Tus manos son muy débiles, no tuviste éxito al abrir este @@.
+
+Your help is very welcome indeed. Unfortunately, I can give you a reward for the first extermination only.
+Su ayuda es bienvenida. Por desgracia, sólo puedo darle una recompensa por el primer exterminio.
+
+Your mind is set? You will loose the color dye during this process.
+¿Está decidido? Perderá el tinte de color durante este proceso.
+
+Your position has been saved.
+Tu posición fue guardada.
+
+debug
+Depurar
+
+delta
+delta
+
+hairstyle_config
+hairstyle_config
+
+line @@: @@
+línea @@: @@
+
+marriage1
+matrimonio1
+
+npc2
+npc2
+
diff --git a/langs/lang_es.txt b/langs/lang_es.txt
new file mode 100644
index 0000000..1e57545
--- /dev/null
+++ b/langs/lang_es.txt
@@ -0,0 +1,37909 @@
+Copyright (C) 2010-2021 TMW2 Team
+ 0 This file is automatically generated. Editing it will have no effect.
+
+
+ 1 Please translate at https://transifex.com/arctic-games/moubootaur-legends/ instead.
+
+
+ Fires of Steam
+
+
+ A fair all-rounder weapon; Stronger than you would expect and not so clumsy.
+
+
+ Actually, Lalica cursed one of my firestaves and it got a mind of its own D:
+
+
+ But its splash damage does not stack, so be careful when adding options.
+
+
+ But the result is a fast weapon which is also powerful.
+
+
+ I cut it in half, and to fix shooting speed, I added some extra cogs.
+
+
+ It can steal items or collect drops on the floor randomly. Also improves your evasion.
+
+
+ It didn't got too much lighter, and it got really weak compared to a bow.
+
+
+ It is also much weaker and less precise than a bow. But it is so fun using...
+
+
+ It is not that amazing, though. I will trade with you for more useful items.
+
+
+ It is the same as a bow, including in penalty. But it deals splash damage!
+
+
+ It was quite a challenge, and I still need Lalica to keep curse them.
+
+
+ Oh, and it comes with added shooting range, but it is slow as hell to reload.
+
+
+ One have lots of powder to attack non-stop, but oh god that is heavy.
+
+
+ See, I was lazy and there were only short knives around... So I made a Kunai.
+
+
+ The standard gunstaff! It is way stronger than a bow!
+
+
+ Then I found out that I could set the staff in flames using Everburn Powder!
+
+
+ You know, I wanted to make the powder explode when hitting!
+
+
+ (Hinnak's and Oscar's fields Pinkies may not count)
+
+
+ -- No, wait!
+
+
+ . ´´. Don't let .. spell power .´..´ . .. fade away ...
+
+
+ Coins - Ancient Blueprint
+
+
+ Coins - Arcmage Boxset
+
+
+ Coins - Mercenary Boxset
+
+
+ Coins - Mysterious Fruit
+
+
+ It is not like you are strong enough to pick a fight with me so kindly leave before I get mad.
+
+
+ Take this key, it opens the door behind my throne.
+
+
+ What would people think of our village if they come accross a defeated noob wearing our proud colors!
+
+
+ for
+
+
+ is the Inn, and you can rent an apartment there for 30 days.
+
+
+"*psst, just follow what is outlined here to make it golden.*"
+
+
+".. can use this .. power..´. . .´. . . amplify a spell ..´.
+
+
+"Ah, hello there, @@. You've grown quite skilled lately.
+
+
+"Follow the light." - Weary traveler
+
+
+"Hey, have you already got the money necessary for the travel?
+
+
+"Many thanks! I'll be waiting for you, hiding on the ship's hold!"
+
+
+"Oh, I'm so glad you're taking care of those scary slimes. You're so brave! How many of them are still left, do you think? Will it be safe to go there soon?
+
+
+"Oh... Sorry, @@.
+
+
+"That's the only hard part. As long that you do not neglect Intelligence nor Job level...
+
+
+"Those whom believe the Pink Moouboo wear rock knifes at the entrances." - Aahna
+
+
+"Those whom stray from the light shall met a quick death." - Saulc, from the 'Blame Saulc' famous book
+
+
+"WHAT IS CRAFTED IN GUILD BELONGS TO GUILD."
+
+
+"Well, looks like you qualify!
+
+
+"When you're thirsty, you may look for me. I'm often in desert areas, but this time, the winter has come."
+
+
+"When you're thristy, you may look for me. I'm often in desert areas, but this time, the winter has come."
+
+
+##1DON'T MOVE until the signal. Stay ready! If you move, you will desync the client!
+
+
+##1The ship is under a pirate's attack! ##BKill all or survive!
+
+
+##1WARNING! WARNING! Siege starting at Candor!!
+
+
+##1You abused a bug and will be jailed. If this was done in error, you have found a bug. Contact the nearest developer if this is the case.
+
+
+##2 %d Days login bonus: ##B2x %s, 1x %s##b
+
+
+##2 14 Days login bonus: ##B1x %s##b
+
+
+##2 21 Days login bonus: ##B1x %s##b
+
+
+##2 27 Days login bonus: ##B1x %s##b
+
+
+##2 3 Days login bonus: ##B1x %s##b
+
+
+##2 7 Days login bonus: ##B3x %s##b
+
+
+##2Daily login bonus: ##B%d EXP##b
+
+
+##2Daily login bonus: ##B%d GP##b
+
+
+##2Daily login bonus: ##B%d Job Exp.##b
+
+
+##2Guild's Weekly login bonus: ##B%d %s##b
+
+
+##9 %%A%%A%%A: @@.
+
+
+##9 %%B%%B%%B: @@.
+
+
+##9 %%C%%C%%C: @@.
+
+
+##9 %%D%%D%%D: @@.
+
+
+##9 %%E%%E%%E: @@.
+
+
+##9 %%F%%F%%F: @@.
+
+
+##9 777: @@.
+
+
+##9.:: Second Tier Quest - Time Remaining: @@ ::.
+
+
+##9Hey wait... Your coin turned into a @@!
+
+
+##B%s: TOP 10##b
+
+
+##BFirst and foremost, you should talk to Trainer, inside the big house.##b
+
+
+##BHall Of @@: TOP15##b
+
+
+##BHall Of AFK: TOP 10##b
+
+
+##BHall Of Academics: TOP30##b
+
+
+##BHall Of Aurora: TOP10##b
+
+
+##BHall Of Candor's Bloodbath: TOP 10##b
+
+
+##BHall Of Crazyfefe Fight: TOP 10##b
+
+
+##BHall Of Deaths: Reverse TOP10##b
+
+
+##BHall Of Fortune: TOP15##b
+
+
+##BHall Of Guild Level: TOP5##b
+
+
+##BHall Of Honor: TOP 10##b
+
+
+##BHall Of Job Level: TOP15##b
+
+
+##BHall Of Level: TOP15##b
+
+
+##BHall Of UDT Challenge: TOP 10##b
+
+
+##BIMPORTANT:##b People usually doesn't shout, they talk. Because this, if you are too far, an NPC won't hear you.
+
+
+##BLatest GM Commands##b
+
+
+##BNOW YOU HAVE DONE IT!##b By the powers to me vested as a Constable and Game Master, I sentence you to HALF AN HOUR IN A %s!
+
+
+##BSincerity Island##b
+
+
+##BYou were robbed##b by an evil NPC.
+
+
+##a(it would be way too messy anyway)##0
+
+
+%%1 Cheer up, these should go back to normal when you level up. Just don't do that again!
+
+
+%%3 You sadden me. That was so, so lame. I will need to punish you. Sorry. Superior orders. %%S
+
+
+%%4 Haven't you read your Grimorium yet?!
+
+
+%%8
+
+
+%%@
+
+
+%%@ Then wait until Saulc says they are safe!
+
+
+%%@ You can get Magic by joining class and subclass, and with some NPCs. These work out-of-box. Easy.
+
+
+%%A
+
+
+%%B
+
+
+%%C
+
+
+%%D
+
+
+%%E
+
+
+%%F
+
+
+%%G
+
+
+%%G Just like normal magic, you need power from the Mana Stone, which is based on your levels, intelligence, and mana.
+
+
+%%H
+
+
+%%K
+
+
+%%N
+
+
+%%Q
+
+
+%%\\ that'll do.
+
+
+%%g
+
+
+%%i What, my maximum life and mana just decreased! Noooo!!
+
+
+%%t
+
+
+%d day streak! Gained %d bonus %s!
+
+
+%d vs %d: Honor (%d)
+
+
+%d/%d %s
+
+
+%d/%d %s killed
+
+
+%s
+
+
+%s %d pts - %d %s
+
+
+%s %s will require:
+
+
+%s (rare)
+
+
+%s - %s/%s HP, %s/%s MP
+
+
+%s - Modify Race
+
+
+%s But please be quick! I feel this world doesn't have much time left!
+
+
+%s GP and %d REP.
+
+
+%s Hero
+
+
+%s Monster Points, and a %s. That's my final offer.
+
+
+%s can also be obtained from %s, at a lower drop rate.
+
+
+%s died for your cause. How do you explain this?
+
+
+%s disembarks at %s.
+
+
+%s eyebrow furrows, as he brings the map closer to a torch.
+
+
+%s has EXILED %s from %s.
+
+
+%s has protected themselves from prying eyes. Your scry attempt failed.
+
+
+%s is a legendary hero.
+
+
+%s is by becoming a %s.
+
+
+%s is by impressing the town guard.
+
+
+%s is currently a staff member.
+
+
+%s is currently sponsoring the High Alliance.
+
+
+%s is happy because you've paid %d GP in taxes!
+
+
+%s is known as the Wizard of Aethyr. They say the elves which lived in Aethyr have became fairies, but contact has been lost long ago... I've heard it was a very pretty town north of here, though.
+
+
+%s is obtained during events, daily logins, heroic deeds, gifts, etc. But cannot be bought with real money.
+
+
+%s lifts an eyebrow to you.
+
+
+%s makes a confused face.
+
+
+%s makes specialized weapons for high level players. If you tweak with Nicholas, in Hurnscald, the weapon options, you can get really powerful.
+
+
+%s refunded to level 1 for %d MSP
+
+
+%s removed - YOU NOOB STOP CHEATING %%e%%Q
+
+
+%s seems to be asleep... Maybe we can wake him up somehow?
+
+
+%s slain!
+
+
+%s slaps you!
+
+
+%s stabs you to the chest!
+
+
+%s stabs you with a dagger!
+
+
+%s takes a paper from his drawer. It has your photo on it.
+
+
+%s thinks if she knows any major, good quest to do.
+
+
+%s! I see you are a(n) %s here, very good!
+
+
+%s, %s in Magic Arts, Parity Level %d, tier %d mage.
+
+
+%s, a bit upset, tries to change subjects.
+
+
+%s, how in the world you got this status ailment?!
+
+
+%s, the Forgetful
+
+
+%s, you are pathetically weak.
+
+
+%s, you did your best to avenge a fallen comrade. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+
+%s, you did your best to entertain me. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+
+%s, you did your best to protect this world inhabitants. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+
+%s, you proved your worth today. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+
+%s, you're a good student. You will have a bright future if you keep studying.
+
+
+%s, your dedication is touching. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+
+%s... While you don't have the title of %s nor the flower of fae, nor have anything remotely important on your persona...
+
+
+%s/%s GP
+
+
+%s: %s (Lv %d) has appeared!
+
+
+%s: Once accepted, you must complete them before taking another one.
+
+
+%s: Thanks for helping.
+
+
+%s? You don't look so well. You should see a doctor immediately!
+
+
+%ss are lead by the %ss. Disposing of them would bring the bandits into disarray.
+
+
+%ss have infested the store houses, spilling onto the streets. Stop them from destroying even more food.
+
+
+'-' "Could you give me his shield? Pretty please? I need it to survive and bring Tulimshar goodies!"
+
+
+'.' "I forgot how to allocate points!"
+
+
+'Best'? So you can make other things?
+
+
+'Some herbs and potion'? Could you be more specific?
+
+
+'Them' whom?
+
+
+(...This probably could have been a great hint... if I knew who Mercury in first place %%L)
+
+
+(10,000 GP) Epic Mount
+
+
+(A mystical aura surrounds this stone. It probably can return you home. What do you do?)
+
+
+(A mystical aura surrounds this stone. You feel mysteriously attracted to it. Something tells you to touch it. What do you do?)
+
+
+(A strange barrier keeps you from touching the stone at this time.)
+
+
+(A strange sensation flows through you. It feels like your soul leaves your body and becomes one with the stone. As suddenly as the feeling started it stops.)
+
+
+(All items must be placed exactly in this order.)
+
+
+(As suddenly as the feeling started it stops. The strange attraction is away from one moment to the next and the menhir feels like just an ordinary stone.)
+
+
+(Click next button to advance dialogs)
+
+
+(Don't respond)
+
+
+(Drink the tea, hoping for the best)
+
+
+(Even bandits doesn't breaks the rules. To see the rules, use ##B@rules##b.)
+
+
+(If you don't have anyone special to send these, send to @@. Perhaps they'll calm down with those T.T)
+
+
+(Leave the password blank to disable)
+
+
+(Note: Agostine will destroy low quality materials!)
+
+
+(Passive) Increases Mana EXP/Control Gain rate.
+
+
+(Passive) Raise Max HP and Holy Defense.
+
+
+(Protip: Always use %s before engaging a different monster!)
+
+
+(Suddenly a strange sensation flows through you. It feels like your soul leaves your body and becomes one with the stone.)
+
+
+(The girl now looks away sadly, thinking about what to say next.)
+
+
+(To see the rules, use ##B@rules##b.)
+
+
+(You touch the mysterious stone. Somehow it feels warm and cold at the same time.)
+
+
+(shivering) "Ah, how I am afraid of pious!"
+
+
+* %d %s
+
+
+* %d/%d %s
+
+
+* %d/%d MSP (Magic Skill Points)
+
+
+* %s
+
+
+* %s Level up
+
+
+* %s/%s RP (Research Points)
+
+
+* (optional) Save the world!
+
+
+* +%d%% EXP Gain and Drop Chance, permanently
+
+
+* +1 Magic Skill Point
+
+
+* +1 in all attributes, permanently
+
+
+* +3 Inventory Slots
+
+
+* 1 %s
+
+
+* 1 Trait
+
+
+* @@ @@
+
+
+* @@ Water Bottle
+
+
+* @@/12 @@
+
+
+* @@/2 @@
+
+
+* @@/200 GP
+
+
+* @@/30 @@
+
+
+* @@/6 @@
+
+
+* @@/7.500 GP
+
+
+* @@/8 @@
+
+
+* @@/@@ @@
+
+
+* @@/@@ Base Level
+
+
+* @@/@@ GP
+
+
+* @@/@@ Job Level
+
+
+* Acquired @@ @@!
+
+
+* Aid the Blue Sage in getting Peetu back to action
+
+
+* Ask Zegas, the mayoress, if she needs help.
+
+
+* Cards will be deleted after transfer is done.
+
+
+* Causes splash damage, and are very expensive.
+
+
+* Collect @@/@@ GP
+
+
+* Defeat the Assassin
+
+
+* Deliver Nikolai's Letter to Frostia Mayor
+
+
+* Donate blood at least once.
+
+
+* Find clues
+
+
+* Gained %d EXP and %d Job EXP
+
+
+* Gained @@ EXP and @@ Job Exp
+
+
+* Gained @@ GP
+
+
+* Get trained by Valon, in the big house.
+
+
+* Has non-cumulative area of effect damage.
+
+
+* Healing items improved
+
+
+* Help Ayasha to take care of the kids.
+
+
+* Huge damage and more criticals, but slow fire rate.
+
+
+* Impress %s
+
+
+* Invade the Fortress Town
+
+
+* Item obtained: %s
+
+
+* Lightbringer is self-aware and cannot be given.
+
+
+* Low damage, highest attack speed from all.
+
+
+* Mage
+
+
+* Meet the Blue Sage
+
+
+* More equipment coming soon...
+
+
+* More for bandits than assassins or ninjas.
+
+
+* Options will be removed after transfer is done.
+
+
+* Refine will be lost after transfer is done.
+
+
+* Register as a Craftsman/Craftswoman.
+
+
+* Register as a Monster Hunter
+
+
+* Rent a room in Frostia's Inn
+
+
+* Rest at the Inn
+
+
+* Return to Hurnscald Townhall
+
+
+* Talk to Librarian in Halinarzo
+
+
+* The only one hand ranged weapon you'll ever find!
+
+
+* Thief
+
+
+* Very quick and can be used in a single hand.
+
+
+* Very quick, two handed, and evil.
+
+
+* Win an Arena Match
+
+
+* become @@ Hero
+
+
+*-* "Could you share those blueprints with me? Please?"
+
+
+*AFK: I am Away From Keyboard*
+
+
+*CRASH*
+
+
+*CREAK*
+
+
+*Don't fail me. If you do, ensure you're well past dead before.*
+
+
+*Don't shout, you moron!*
+
+
+*Hic*
+*Hic*
+
+*I'll give you two energy balls.*
+
+
+*I'll take my leave, then.*
+
+
+*Opening eyes in a shock*
+
+
+*Roaaaaaar!*
+
+
+*The Professor will never know what got him...*
+
+
+*They* couldn't take hold of me, but I'm bound to this castle; I can't leave.
+
+
+*Ugh* Thanks for your help. Here... Take this, as promised.
+
+
+*Yes, boss!*
+
+
+*_* "Pretty please?"
+
+
+*are they gone...?*
+
+
+*beeep*
+
+
+*blushes*
+
+
+*burp*
+*eructa*
+
+*chants more words, while the crystal hovers the potion*
+
+
+*cheerful*
+
+
+*click*
+
+
+*cough cough*
+
+
+*cries*
+
+
+*crying*
+
+
+*drolls*
+
+
+*eyes widen up*
+
+
+*grumpf*
+
+
+*gulp* *gulp* *gulp*
+
+
+*hehehe...*
+
+
+*hurry up, your moron!*
+
+
+*is everything ready?*
+
+
+*plim*
+
+
+*put his glasses on*
+
+
+*scream in pain*
+
+
+*scream*
+
+
+*screams*
+
+
+*sigh*
+
+
+*sigh* Yet another failure... Transmutation and Nature Magic doesn't marry well.
+
+
+*sighs*
+
+
+*snap fingers*
+
+
+*sniff sniff*
+
+
+*sniff* *sniff*
+
+
+*snooze*
+
+
+*sob sob*
+
+
+*sorry, boss!*
+
+
+*tears weeling up*
+
+
+*this sign is too blurred to read*
+
+
+*tut*
+
+
+*whisper whisper*
+
+
+*whistles*
+
+
+, and you have been banned from the Academy.
+
+
+, my name is Nikolai. I am a sage, and the owner of this place.
+
+
+- 5 @@, with 1200 GP, for a @@.
+
+
+- @@ @@
+
+
+- @@/@@ @@
+
+
+- @@/@@ GP
+
+
+- Boss give more Job experience, but as long that you keep killing, you'll keep gaining.
+
+
+- Defeat the BOSS on each dungeon!
+
+
+- Find a path to the island where she is hiding herself!
+
+
+- Get killed yourself.
+
+
+- Help the farmers. We rely a lot on agriculture.
+
+
+- I currently need your help with @@, but there's no reward.
+
+
+- I currently need your help with @@.
+
+
+- I overheard rumors about a festival. Maybe someone needs help with their figurine?
+
+
+- I think you can help the storehouse for some quick cash.
+
+
+- If you fail, you'll need to pay me ingredients to try again!
+
+
+- Inside the big house is someone who can train you. All experience is handy!
+
+
+- Instead, the party will be teleported ##Bto a forest.##b
+
+
+- Luvia is a powerful mage and Isbamuth is watching, so teleporting directly would be risky.
+
+
+- Players can prevent being scry'ed with %s
+
+
+- Some information like money won't be available.
+
+
+- Some of our crew are missing. They're probably wasting their time at beach.
+
+
+- Some sailors within this ship may need your help: Chef Gado, Dan, Peter... help them all and collect rewards!
+
+
+- Target player must be online.
+
+
+- Teleport yourself away.
+
+
+- The Death of Andrei Sakar -
+
+
+- The farmer Nylo, who loves beer and money, seems to be having troubles with his crops.
+
+
+- The goal is to rescue Luvia from Isabamuth. She has been ##Bbrainwashed##b.
+
+
+- The weapon master, Tolchi, could use your help. But she will most likely force you to visit Tulimshar in the end.
+
+
+- The weapon seller, Rosen, wanted to help new players to improve their equipment.
+
+
+- There is a woman walking on the island, called Maya. Once she realises you're willing to help, she'll start paying well.
+
+
+- Time runs out (25m).
+
+
+- To donate blood, go to the hospital and ask about it.
+
+
+- You can always play with kids. Not very profitable, though.
+
+
+-- Animals Protection Agency of Hurnscald
+
+
+-- Grandmaster
+
+
+-- In such event, Candor Underground B4F will be permanently unreachable for this char.
+
+
+-- Merlin
+
+
+-- The Expedition
+
+
+-- Valia G.
+
+
+-- Zegas, the Mayoress
+
+
+--- AND ANY OF ---
+
+
+--- OR ---
+
+
+-.- "I forgot how to fight!"
+
+
+. ´ power.. drains .. life..´. .´ focus . .not move at all´. ."
+
+
+...
+...
+
+... ... ...
+
+
+... .... ....
+
+
+... that looks like an incantation or something.
+
+
+...%s, as far as you should be concerned, this is an hostile land and I'm not your friend. You should use a weapon and a shield if possible. Never trust strangers, specially if they look like an assassin... exactly like me.
+
+
+...A tower, on this canyon. People disliked it, humans and all other races. The Mana War happened, bloodshed, and... The Monster War.
+
+
+...Actually, I'm drawing in a blank.
+
+
+...Actually, you seem like a capable adventurer. If you give me some ingredients I can't get, I'll give you a @@.#0
+
+
+...Actually, you seem like a capable adventurer. If you give me some ingredients I can't get, I'll give you a @@.#1
+
+
+...Alright then.
+
+
+...Although that's unlikely, I admit.
+
+
+...And at long last, the teddy's pot is full of honey.
+
+
+...And for some reason he took the apple and went further in the caves.
+
+
+...And if you're still trying to check your pet stats, just hover it with your mouse. Thanks.
+
+
+...And stop! You took %s this time!
+
+
+...And trust me, it'll take way more than just water to put the fire down.
+
+
+...Are you crazy?
+
+
+...Are you trying to troll me?
+
+
+...As you wish.
+
+
+...Assuming you can break a Mana Stone, that is.
+
+
+...Automatically retrying...
+
+
+...Besides, I have this nice @@ with me. I'm not low-level like you.
+
+
+...Besides, I have this nice @@ with me. It's a reliable bow.
+
+
+...Blood.
+
+
+...But saving me won't be enough, so build trust by the kind gift of @@ @@. I'll be waiting.
+
+
+...But worry not, I have the right screwdriver for the job. So, are you up to bring me some Present Boxes?
+
+
+...Cocktail.
+
+
+...Coffee.
+
+
+...Dealing with scorpion stingers is a gamble, so we may need a few stingers before making a successful potion.
+
+
+...Even if this is your fault. Anyway, ##Breturn to whoever sent you here##b and begone.
+
+
+...Foolish human... Do you really think I will attend your summon?
+
+
+...Go mind your own business, %s.
+
+
+...Good luck, @@. And be careful. If Sagratha decided to flee... It might be too strong for you.
+
+
+...Have you ever gone there yet?
+
+
+...Help... Me...
+
+
+...How do you know I'm not from this world?
+
+
+...I cannot fail to notice your deeds. Very well. Under my own authority, I authorize you to climb this holy tree.
+
+
+...I deposited everything on the bank. Sorry!
+
+
+...I don't think giving it this hat will really help...
+
+
+...I don't think the teddy is sick, so there's no point giving it an Elixir.
+
+
+...I guess I can't hide anymore...
+
+
+...I have no other choice, do I?
+
+
+...I knew bandits were not be trusted, but Saul insisted in doing so. I hate him so much right now. Even if he is my brother.
+
+
+...I know it is hot in this desert, but if you don't wear some armor and a hat, monsters will get to you. Really harsh, nowadays.
+
+
+...I refuse to comment on this ridiculous idea.
+
+
+...I still need to cover up if they're mistaken. Give me a reason to tell you secrets, show me you're concerned with Tulimshar safety and don't want just to be strong.
+
+
+...I'll be back later.
+
+
+...I'll take it.
+
+
+...If they decide to do so, they'll have to deal with weak magical attacks, and with quick mana depletion.
+
+
+...If you're lucky, you can touch it and receive magic power."
+
+
+...Incidents?
+
+
+...It'll most likely attack you, instead.
+
+
+...Lalica, the witch, is still with us. And she came to complain that a petty thief stolen a very precious item of hers.
+
+
+...More bugs.
+
+
+...No reaction...
+
+
+...Not yet.
+
+
+...Of course. It was THEM. It gotta to be them!
+
+
+...Oh, right! We locked it. Uhm, we'll open it for you. Be careful.
+
+
+...Okay, I asked you to explain, and you ended up wasting my time instead. %%n
+
+
+...Okay, I guess.
+
+
+...Okay, this is not fun anymore.
+
+
+...Otherwise, they're too precious to sell to wanna be adventurers. Beer EXP Bonuses expire on death, you know?!
+
+
+...Poison.
+
+
+...Potion.
+
+
+...Tea.
+
+
+...Thanks, kind person.
+
+
+...That's your problem, not mine. I am an elf if you haven't noticed.
+
+
+...The ones who know a lot are dwarves, but they don't live here - they live with elves, it seems.
+
+
+...This %s you have there. I haven't seen one for a while.
+
+
+...Try allocating some points in agility before we continue. I think %d should be suffice.
+
+
+...Unless, of course, if you're interested in learning this art. You'll not regret it, I assure you.
+
+
+...Until one day, past the sea, in Kolev's continent, they found a mana stone. Magic. This great breakthrough saved this continent, and saved our clan as well.
+
+
+...Water.
+
+
+...Well, I'll refund you 10% because it was not utterly terrible.
+
+
+...Well, but even if Hurnscald is nearby, you are too weak. You know sometimes, ships get attacked by pirates, right?
+
+
+...What? Which item? Sorry, too much smoke around here.
+
+
+...What? You want @@? Five of them?!
+
+
+...Where's Barbara, the thief?
+
+
+...Yes. Hold tight.
+
+
+...Yes. It was there. Please report to Blue Sage at once.
+
+
+...You have courage. Many people tried and failed.
+
+
+...You need to learn magic before this equipment being useful to you in any way.
+
+
+...You still have not overcome his house.
+
+
+...You're right. My medicine cannot heal you.
+
+
+...but it is saying some stuff about a merge which happened literally eons ago.
+
+
+...but it is written in Mananese, a language you know nothing about.
+
+
+...for now.
+
+
+...who knows if there isn't a secret in that?
+
+
+...wingless humanoids.
+
+
+..Anyone there?
+
+
+.:: %s Recipe ::.
+
+
+.:: Accumulate Power ::.
+
+
+.:: Alcohol Tutorial ::.
+
+
+.:: All In One ::.
+
+
+.:: Archers Eye ::.
+
+
+.:: Area Provoke ::.
+
+
+.:: Armageddon ::.
+
+
+.:: Arrow Shower ::.
+
+
+.:: Backsliding ::.
+
+
+.:: Bear Strike ::.
+
+
+.:: Brawling ::.
+
+
+.:: Chanting ::.
+
+
+.:: Ched's Summer 2018 ::.
+
+
+.:: Ched's Summer 2019 ::.
+
+
+.:: Ched's Summer 2020 ::.
+
+
+.:: Ched's Summer 2021 ::.
+
+
+.:: Ched's Summer 2022 ::.
+
+
+.:: Chocolate Day ::.
+
+
+.:: Christmas 2018 ::.
+
+
+.:: Christmas 2019 ::.
+
+
+.:: Christmas 2020 ::.
+
+
+.:: Christmas 2021 ::.
+
+
+.:: Christmas 2022 ::.
+
+
+.:: Congratulations ::.
+
+
+.:: Congratulations! ::.
+
+
+.:: Counter Attack ::.
+
+
+.:: Create PIN Code ::.
+
+
+.:: Destructive Magic Class ::.
+
+
+.:: Easter 2018 ::.
+
+
+.:: Easter 2019 ::.
+
+
+.:: Easter 2020 ::.
+
+
+.:: Easter 2021 ::.
+
+
+.:: Easter 2022 ::.
+
+
+.:: FIND-THE-NPC 2018 MINI-EVENT WINNER ::.
+
+
+.:: FIRST PLAYER TO COMPLETE GEMINI SISTERS QUEST ::.
+
+
+.:: FIRST PLAYER TO COMPLETE HEROES HOLD MASTER DUNGEON ::.
+
+
+.:: FIRST PLAYER TO COMPLETE YETI KING QUEST ::.
+
+
+.:: FIRST PLAYER TO REBIRTH ::.
+
+
+.:: Falkon Strike ::.
+
+
+.:: Fire Arrow ::.
+
+
+.:: Fireball ::.
+
+
+.:: Firewalk ::.
+
+
+.:: First Aid ::.
+
+
+.:: Fortress Island ::.
+
+
+.:: Free Cast ::.
+
+
+.:: Free Software Day ::.
+
+
+.:: Frost Diver ::.
+
+
+.:: Frost Nova ::.
+
+
+.:: Full Throttle ::.
+
+
+.:: GEMINI ASSASSINS QUEST ::.
+
+
+.:: Gaia Break ::.
+
+
+.:: Ground Strike ::.
+
+
+.:: Hasan Scorpion Killing Challenge 2018 ::.
+
+
+.:: Hasan Scorpion Killing Challenge 2019 ::.
+
+
+.:: Hasan Scorpion Killing Challenge 2020 ::.
+
+
+.:: Hasan Scorpion Killing Challenge 2021 ::.
+
+
+.:: Hasan Scorpion Killing Challenge 2022 ::.
+
+
+.:: Healing ::.
+
+
+.:: Hit'n'Run Tactic ::.
+
+
+.:: Holy Light ::.
+
+
+.:: Impressive Hero Quest ::.
+
+
+.:: International Coffee Day ::.
+
+
+.:: Judgment ::.
+
+
+.:: KAMELOT CASTLE, THE GUILD DUNGEON ::.
+
+
+.:: Last Standing Man ::.
+
+
+.:: Lightning Bolt ::.
+
+
+.:: Magic Strike ::.
+
+
+.:: Magnus Healing ::.
+
+
+.:: Main Quest 1-1 ::.
+
+
+.:: Main Quest 1-2 ::.
+
+
+.:: Main Quest 1-3 ::.
+
+
+.:: Main Quest 2-%d ::.
+
+
+.:: Main Quest 3-2 ::.
+
+
+.:: Main Quest 4-1 ::.
+
+
+.:: Main Quest 5-1 ::.
+
+
+.:: Main Quest 6-1 ::.
+
+
+.:: Main Quest 6-2 ::.
+
+
+.:: Main Quest ::.
+
+
+.:: Mana Bomb ::.
+
+
+.:: Mana Wisdom ::.
+
+
+.:: Meteor Shower ::.
+
+
+.:: Meteor Strike ::.
+
+
+.:: Mission Failed ::.
+
+
+.:: NOTABLE NAMES ON HURNSCALD LIBERATION DAY ::.
+
+
+.:: NOTABLE NAMES ON NIVALIS LIBERATION DAY ::.
+
+
+.:: Napalm Beat ::.
+
+
+.:: Nature Wall ::.
+
+
+.:: Nilfheim ::.
+
+
+.:: Open Beta 2019 ::.
+
+
+.:: PVP King Imperial Arena ::.
+
+
+.:: Physical Sciences Class ::.
+
+
+.:: Provoke ::.
+
+
+.:: Purple Day 2018 ::.
+
+
+.:: Resurrection ::.
+
+
+.:: Scholarship Class ::.
+
+
+.:: Second Tier Quest - Timed Out ::.
+
+
+.:: Server Boom ::.
+
+
+.:: Sharpshooter ::.
+
+
+.:: Stunning Strike ::.
+
+
+.:: Sudden Attack ::.
+
+
+.:: Supreme Attack ::.
+
+
+.:: TMW-2 Anniversary ::.
+
+
+.:: TMW2 Day ::.
+
+
+.:: Tempest ::.
+
+
+.:: Thanksgiving 2019 ::.
+
+
+.:: Thanksgiving 2020 ::.
+
+
+.:: Thanksgiving 2021 ::.
+
+
+.:: Thanksgiving 2022 ::.
+
+
+.:: Thanksgiving ::.
+
+
+.:: The Homunculus Keeping Manual ::.
+
+
+.:: The Mouboo Temple ::.
+
+
+.:: There are no skills ::.
+
+
+.:: This is Release 10.0 Infinity ::.
+
+
+.:: This is Release 9.5 Academy ::.
+
+
+.:: Transfer Mana ::.
+
+
+.:: Trick Dead ::.
+
+
+.:: Trickster Class ::.
+
+
+.:: Valentine Day ::.
+
+
+.:: Victory ::.
+
+
+.:: Victory Conditions ::.
+
+
+.:: WARNING ::.
+
+
+.:: Windwalker ::.
+
+
+.:: Withdraw Conditions ::.
+
+
+.:: Worker Day 2018 ::.
+
+
+.:: Worker Day ::.
+
+
+.:: World's Hero Quest ::.
+
+
+._. "What are these statuses useful for?"
+
+
+/ clear clears the text box.
+
+
+/ help explains how to use all client commands.
+
+
+/ mi does the same as @monsterinfo. Takes the monster name as argument and reports monster stats and drops.
+
+
+/ present shows the number of people in the neighbourhood.
+
+
+/ where shows the name of the map you are in.
+
+
+/ whisper [name] allows you to send a private message to the player. if [name] contains spaces, it must be enclosed in quotation marks.
+
+
+/who mostra o número de jogadores conectados no momento.
+
+
+0.0 "No no, please no! I can propose you a great deal for your silence!"
+
+
+0022#DoorUpwards
+
+
+1 Hand Swords
+
+
+1 hour
+
+
+1,000 GP
+
+
+1- Survive. If you die, you will gain nothing. And people want to kill you.
+
+
+1- The coward families, who ran away when outlook was bad.
+
+
+1- You must not be carrying anything with you.
+
+
+1. Alcyone - 5,942
+
+
+1. Cassio - 43098
+
+
+1. Duke M - 16,016
+
+
+1. Investigate Kamelot Basements
+
+
+1. Jesusalva - 65
+
+
+1. Leather - 4523
+
+
+1. Lilanna - 2498
+
+
+1. Manatauro - 29504
+
+
+1. Mathias Cronqvist - 15000
+
+
+1. You must be at the computer to play. Using a bot ##Bwhile at computer##b will be tolerated.
+
+
+1. YuckFou - 10,000,010 GP
+
+
+1. andulkaT - 100,001 GP
+
+
+1. andulkaT - 702
+
+
+1. poppet - 3056
+
+
+10 minutes
+
+
+10 seconds!
+
+
+10,000 GP
+
+
+10. ##BDo not logout##b at Botcheck area or at Jail. We cannot unjail an offline player. The opposite of rule 9: If you believe you're right, keep your ground and explain calmly what happened. We'll calmly analyse the situation. If you were jailed without guilt, an apology will be sent to you, provided this rule is not broken.
+
+
+10th Place - Saulc (8)
+
+
+11. If you believe you are Not Guilty, but the GM deemed you guilty, request a ##BCouncil Trial##b. It's your right. In a Council Trial, we'll have multiple people giving the veredict. Any player may be called to compose the council. All admins shall take part in it. An arragment relative to time, date, and number of counsellors is to be made.
+
+
+12x Strange Coins
+
+
+15 minutes
+
+
+15 minutes.
+
+
+1600 GP
+
+
+1st Place - Jesusalva (65)
+
+
+1st Place - Mishana, LawnCable, Jesusalva, bObr
+
+
+1st Place - Povo (6 likes)
+
+
+1st step
+
+
+1° Screenshooting Contest
+
+
+2
+
+
+2 Hand Swords
+
+
+2 hours
+
+
+2,500 GP
+
+
+2- Take everything you can find. You'll be warped without equip or healing items! Kill monsters to get some stuff too!
+
+
+2- The defenders of the artifact, who lost their lives and left people behind.
+
+
+2- You must not use a cart. If you do, YOU WILL BE SEVERELY PENALIZED.
+
+
+2. ##BDo not spam nor flood.##b This rule is not limited to public chat, actions ingame can be flooding too.
+
+
+2. Alcyone - 53,057 GP
+
+
+2. Free Kamelot from its curse!
+
+
+2. Gogo VII - 103
+
+
+2. Kolchak - 63
+
+
+2. Manatauro - 4386
+
+
+2. Mathias Cronqvist - 7,423,346 GP
+
+
+2. Povo - 10203
+
+
+2. Rill - 25955
+
+
+2. Woody - 3637
+
+
+2. andulkaT - 1018
+
+
+2. andulkaT - 438
+
+
+2. andulkaT - 6,000
+
+
+2. seeds - 1167
+
+
+20 Common Carps
+
+
+200 years ago, The Great Fire (%dm)
+
+
+2018 Event Winners
+
+
+2019 Event Winners
+
+
+2020 Event Winners
+
+
+2021 Event Winners
+
+
+2022 Event Winners
+
+
+20x Bug Leg
+
+
+250,000 GP
+
+
+2nd Place - Kolchak (63)
+
+
+2nd Place - Manatauro (5 likes)
+
+
+2nd step
+
+
+2x Bronze Gift
+
+
+2x Snake Egg
+
+
+2° Screenshooting Contest
+
+
+3
+
+
+3- All items from the Arena are from the Arena. You won't carry any of them back with you.
+
+
+3- The ancient families.
+
+
+3- Trust nobody. There can be only one winner, and it must be you.
+
+
+3. ##BDo not trade invalid items, or try to cheat on trades.##b This includes any other kind of cheat or bug abuse, passive of account deletion and IP ban as stated by the Terms Of Service.
+
+
+3. G II - 4151
+
+
+3. Jesusalva - 310
+
+
+3. Povo - 1,275,000 GP
+
+
+3. Sharli - 4,419
+
+
+3. Woody - 1066
+
+
+3. Xanthem - 56
+
+
+3. YuckFou - 9537
+
+
+3. caslu_jpg - 50
+
+
+3. dangerDuck - 1225
+
+
+3. luanaf - 20837
+
+
+3. poppet - 20,010 GP
+
+
+3. poppet - 71
+
+
+30 minutes
+
+
+30x Bug Leg
+
+
+3rd Place - Woody (4 likes)
+
+
+3rd Place - Xanthem (56)
+
+
+3rd step
+
+
+4 Chagashrooms for a Strength Potion!
+
+
+4 Plushrooms for a Haste Potion!
+
+
+4- Experience and Gold earned during this event can be kept.
+
+
+4- Take Care. Wildlife can kill you too. There can be traps.
+
+
+4. ##BRespect other players.##b This includes but is not limited to using offensive language in nicknames or chat, and begging items or favours to other players.
+
+
+4. Amdros - 1113
+
+
+4. Hocus - 17260
+
+
+4. Mathias Cronqvist - 2000
+
+
+4. Povo - 3999
+
+
+4. dangerDuck - 540
+
+
+4. poppet - 3,826
+
+
+4. seeds - 43
+
+
+40/40 slayed @@
+
+
+4144's Tortuga
+Tortuga de 4144
+
+42
+
+
+45 minutes
+
+
+4th Place - seeds (43)
+
+
+4th step
+
+
+5 @@ can be fused in a @@
+
+
+5 minutes
+
+
+5 seconds!
+
+
+5,000 GP
+
+
+5- Trust yourself. You will lose the moment you enter in panic. This arena is not for the weak-willed!
+
+
+5. ##BThe public chat is to be understood by everyone.##b Therefore, try to use english when possible.
+
+
+5. Heaven - 501
+
+
+5. Heaven - 806
+
+
+5. Woolie - 3345
+
+
+5. Xanthem - 615
+
+
+5. dangerDuck - 23
+
+
+5. girl flapper - 2,487
+
+
+5. seeds - 13395
+
+
+50 Aquadas
+
+
+50,000 GP
+
+
+5000 GP? That sure is a lot of gold...
+
+
+5th Place - Demure
+
+
+5th Place - dangerDuck (23)
+
+
+5x Strange Coins
+
+
+6. ##BDo not create multi accounts.##b A person may only hold one account and as many chars as allowed by the server/client. Staff members with special privileges in-game may have a second account without those privileges.
+
+
+60 seconds
+
+
+6th Place - test123 (20)
+
+
+7
+
+
+7 Grass Carps
+
+
+7. ##BAs long as you have an account, you agree with the [@@https://tmw2.org/legal|Terms Of Service@@]##b. Shall any rule conflict with these terms, the Terms Of Service provided on that link shall prevail.
+
+
+7th Place - Sertrop (17)
+
+
+8 Croconuts
+
+
+8. ##BThe use of real money is prohibited##b for ingame stuff, except by sponsoring.
+
+
+87 Plushrooms
+
+
+8th Place - Pookie (13)
+
+
+9. ##BAdmit when you're wrong.##b Users trying to lie to or fool GMs will get no pity from them.
+
+
+9th Place - LawnCable (13)
+
+
+:) "A pleasure to trade if you. Don't get caught if you're doing something wrong!"
+
+
+:/ "Hmm... let me see... Aha, I know! I can make you a great bandit with a simple burglar mask!"
+
+
+:< "Hey hey! Where's the money?"
+
+
+:< "Never lie to me. Keep your end on the bargain! Give me everything I asked for!"
+
+
+:> "Hello, youngling..."#0
+
+
+:> "Hello, youngling..."#1
+
+
+:D "Ah! Yes, that would help a lot! I don't need anything a bandit couldn't give you: 25 @@, 5 @@, 2 @@ and a @@. And 6000 GP."
+
+
+:D "Excellent! You've kept your end on the bargain!"
+
+
+:D "HAHAHAHAH! Me?! a thief? only during free time..."
+
+
+:P "I am busy, leave me alone."
+
+
+:o "What? I'm not a bandit! But it looks SO COOL! Do you need anything while you're here?"
+
+
+;-) "Don't worry! Leave to me!"
+
+
+== If you decide to complete the quest you cannot repeat it.
+
+
+>.< "The Dummy is a real killer!"
+
+
+>.> "Sorry pal, I have no idea what she meant by that."
+
+
+>:| "Go take the items and remember: Not even a single word about me!"
+
+
+>> Hurnscald must be Liberated first, to continue this story <<
+
+
+???
+
+
+??? : Are you trying to steal MY treasure?!
+
+
+??? : I am Pirate Captain Marley, and on the honor of my pirates...
+
+
+??? : Wait, how did you got here? WHO ARE YOU?
+
+
+???#01863
+
+
+@@
+@@
+
+@@ - @@ - @@
+
+
+@@ - @@ coins
+
+
+@@ - @@ point(s)
+
+
+@@ @@ @@
+@@ @@ @@
+
+@@ @@ killed.
+
+
+@@ Dummy
+
+
+@@ Recipe
+
+
+@@ You need to wait further releases to continue this quest!
+
+
+@@ and @@ just got married!
+¡@@ y @@ acaban de casarse!
+
+@@ and I signed this letter. Deliver it to Airlia on the Town Hall, and she'll reward you correctly.
+
+
+@@ boxes of chocolate were given to you as a gift.
+
+
+@@ burst in tears.
+
+
+@@ calms a bit.
+
+
+@@ determines how many blows you can take before you die. It also affects status effects, like poison.
+
+
+@@ disembarks at Hurnscald.
+
+
+@@ disembarks at Nivalis.
+
+
+@@ disembarks at Tulimshar.
+
+
+@@ divorced!
+¡@@ se ha divorciado!
+
+@@ drolls without realizing.
+
+
+@@ glances at you, suspicion evident in her eyes.
+
+
+@@ glares at you in anger.
+
+
+@@ goes away for a while and returns briefly.
+
+
+@@ hands you an @@.
+
+
+@@ has the clear smile of victory!
+
+
+@@ helps you carry more items and also gives you a more forceful blow, but ends up not being very interesting if you focus on weapons that use projectiles, such as the bow.
+
+
+@@ is a two-handed weapon with very low damage and attack speed.
+
+
+@@ is an expensive, rare, and dangerous item. Do not shake it too much, or it will catch fire.
+
+
+@@ is developing these potions.
+
+
+@@ is on the verge of crying again. Better leave out and look for Elias.
+
+
+@@ is very useful for alchemy and magic, but nowadays there are few opportunities to use it.
+
+
+@@ latches onto you and starts sobbing on your shoulder.
+
+
+@@ melt down your @@...
+
+
+@@ nods as she notices you.
+
+
+@@ nods reluctantly.
+
+
+@@ nods.
+
+
+@@ pinkies killed on @@'s field.
+
+
+@@ raise an eyebrow as you hand him Gelid's letter.
+
+
+@@ raises an eyebrow as you address her.
+
+
+@@ registered for marriage and accepted partner @@!
+¡@@ se inscribió para casarse y aceptó a la pareja @@!
+
+@@ seems to be trembling with disgust as she stares at your headgear.
+
+
+@@ seems to be upset.
+
+
+@@ snarls.
+
+
+@@ stares you as you slowly get away from him. Odd person.
+
+
+@@ started disarm process. Please stand by.
+
+
+@@ stops, and keep silent for a while, thinking, before continuing.
+
+
+@@ uses his screwdriver and open the sealed gift box like a pro.
+
+
+@@ waits for their loved one.
+
+
+@@!
+
+
+@@'s Apartment
+
+
+@@'s Estate
+
+
+@@, do you need help? Are you lost? Click me!
+
+
+@@, do you need help? Are you lost? Talk to me!
+
+
+@@, don't jump there! It may be fatal!
+
+
+@@, watch out! The obelisk - it is talking!
+
+
+@@, we are counting on you! We, the whole Hurnscald town!
+
+
+@@, we should leave here now.
+
+
+@@, your party leader, is inside, I'm not sure where.
+
+
+@@. PK, however, is allowed!
+
+
+@@... I think something went wrong... RUN!!
+
+
+@@/1 @@
+
+
+@@/1 Mana Bug
+
+
+@@/10 @@
+
+
+@@/10 @@ for 1 @@
+
+
+@@/10 Maggots
+
+
+@@/10 Rattos
+
+
+@@/100 @@
+
+
+@@/100 Red Scorpions
+
+
+@@/1000 GP
+
+
+@@/12 @@
+
+
+@@/120 @@
+
+
+@@/120 GP
+
+
+@@/15 @@
+
+
+@@/150 @@
+
+
+@@/2 @@
+
+
+@@/2 Scorpion
+
+
+@@/20 @@
+
+
+@@/20 @@ (or @@)
+
+
+@@/200 Black Scorpions
+
+
+@@/25 @@
+
+
+@@/25 Cave Maggots
+
+
+@@/3 @@
+
+
+@@/3 Candor Scorpions
+
+
+@@/30 @@
+
+
+@@/4 @@
+
+
+@@/4 House Maggots
+
+
+@@/40 @@
+
+
+@@/40 Fire Goblins killed
+
+
+@@/40 slayed @@
+
+
+@@/45 @@
+
+
+@@/5 @@
+
+
+@@/50 @@
+
+
+@@/50 Cave Snakes
+
+
+@@/55 @@
+
+
+@@/60 @@
+
+
+@@/6000 GP
+
+
+@@/7 @@
+
+
+@@/8 @@ for 1 @@
+
+
+@@/8 @@
+
+
+@@/8 @@, just because I'm hungry as a bear.
+
+
+@@/80 @@
+
+
+@@/9 @@ for 1 @@
+
+
+@@/?? @@
+
+
+@@/@@
+
+
+@@/@@ @@
+
+
+@@/@@ @@ killed
+
+
+@@/@@ GP
+
+
+@@: @@/@@
+
+
+@@: Fight!
+
+
+@@: Lv @@
+
+
+@commands lists even more advanced commands, but you can't use all of them.
+
+
+@discord allows you to setup Discord integration settings.
+
+
+@info and @tutorial will, using Jesusalva's powers, allow you to contact me anywhere for info.
+
+
+@lang allows you to change game language, anytime, anywhere.
+
+
+@rentitem <item numeric id> <time in seconds>
+
+
+@resync will help when the client starts lagging. If you see an attack but no monsters, that's the cause.
+
+
+@resyncall is the more powerful version of @resync. It'll reload everything, even the clouds if needed.
+
+
+@rules will tell you all the rules once again.
+
+
+@toevent will warp you to event island, if an event is happening, of course.
+
+
+@ucp allows you to manage your account, eg. recover lost email.
+
+
+A GM has discharged you from jail.
+Un GM te ha liberado de la cárcel.
+
+A Game Master is required to begin the Liberation Day.
+
+
+A Miner is a must-have for a craftsman/craftswoman, as they are in constant need of ores and coal.
+
+
+A bit longer and I would have jailed you %%\\
+
+
+A bright and mysterious mushroom!!!
+
+
+A bug was found. Aborting script.
+
+
+A card will be flipped, you'll need to decide if next flip will be HIGHER or LOWER.
+
+
+A close inspection reveals nothing out of ordinary. It seems to be well kept.
+
+
+A close inspection suggests the lock was busted. You approach to inspect.
+
+
+A closer inspection suggests this mouboo has been... CURSED.
+
+
+A color sequence will be displayed on the avatar frame.
+
+
+A complex lock seems to be posing a threat to you.
+
+
+A critical hit deals added damage and disregards defense. A critical always hit, although it can be blocked just fine.
+
+
+A dagger is stuck to your heart.
+
+
+A dangerous boss room, keep your guard up!
+
+
+A disarm process is already running.
+
+
+A dungeon is burried in @@, (@@, @@)
+
+
+A few families, also known as the Ancient Families of the Soul Menhir (for whatever reasons that may be), departed.
+
+
+A few switches aren't triggered yet.
+
+
+A few times during the year, an independent team organizes a world exposition of special relics.
+
+
+A few times during the year, the "golden wave" migrates from the north pole to the south pole.
+
+
+A fire broke out in Tulimshar's Academy, which quickly spread over the whole town... And you would think it would be all, but no. The fire was odd.
+
+
+A friend of yours called LOF BOT asked for a coin...
+
+
+A game is currently going on, please wait for it to finish.
+
+
+A global announcement will be made.
+
+
+A golden pot in woodlands shall reward those who wear green.
+
+
+A good thing we still use sturdy standard steel grating on the emergency exit which lead to Nivalis. I can't imagine how bad the incident would be wasn't for that.
+
+
+A great rush of mana flows though you.
+
+
+A group of %ss are threatening the city. Go to the Desert Canyon and teach them a lesson.
+
+
+A guy named Hasan stole from me!
+
+
+A hooded man attacked me, and left me in this state.
+
+
+A large number of %ss have been sighted. Both the sewer and the mines have been infested, they have even been spotted in the city wall!
+
+
+A light magic barrier prevents you from entering.
+
+
+A magic barrier prevents you from enterering. Maybe it is a good idea to shut down the pentagrams first?
+
+
+A masterpiece!... Whaaaat, this stuff got ##Bweaker##b??
+
+
+A minimum of %d players at the time of start is required!
+
+
+A mission well done. I should report to lua now.
+
+
+A new Dream Tower opens its gates before you...
+
+
+A new pet has been unlocked on the @@!
+
+
+A pity a friend of ours drank too much. Juliet knows how to cure. We need to give her a @@ to do a hangover potion.
+
+
+A pity that without being born with magic, you need a Mana Stone... And there are none left...
+
+
+A pity...
+
+
+A player may be the town admin of several different towns.
+
+
+A powerful door is sealed shut. It has no keyhole, but I'm sure it can be opened somewhere else on these caves.
+
+
+A powerful magic barrier prevents passage. %d %s should suffice to dispel... Maybe.
+
+
+A powerful magic barrier repeals you!
+
+
+A powerful magic barrier repels you!
+
+
+A previous exp rate up event is already ongoing.
+
+
+A ranger, with a powerful bow
+
+
+A reward is promised to those whom cooperate.
+
+
+A script error happened, please report: @@
+
+
+A sec... And... Done! I just finished cleaning it up!
+
+
+A shame there are snakes below the ground. I really, really hate snakes, like every fairy.
+
+
+A ship travel will cost you @@ GP.
+
+
+A single switch is not online - Cannot pass without all of them on.
+
+
+A skill has been removed, you got @@ job exp and @@ Strange Coin as an apology token.
+
+
+A skill has been replaced with an @@.
+
+
+A slime drips in front of you and explodes!
+
+
+A soldier, with a sword and a shield
+
+
+A stone seemed to be loose, but you barely managed to avoid falling!
+
+
+A sunny and hot day,
+Un soleado y caluroso día,
+
+A treasure is burried in @@, (@@, @@)
+
+
+A tree glows in this dark cave, surrounded by mana lanes.
+
+
+A violent fire is less than a great fire, but devasting fire will be even more than these.
+
+
+A visitor? I don't really pay attention to visitors, unless it's someone notable.
+
+
+A warrior, with a long blade
+
+
+A wizard, with a might wand
+
+
+A-hoy matey!
+¡Ah camarada!
+
+A... A sabotage?! O.o
+
+
+A... Mouboo? Well, I know who can handle curses on cute Mouboos.
+
+
+AAAAAAAHHHHH, Thanks, I am lively again!
+
+
+AAAAaaahhhhh!!!
+
+
+AAH! You scared me!
+
+
+ADMIN Cap
+
+
+AF King
+
+
+AFK Cap
+Gorra AFK
+
+AFK skill levels fixed.
+
+
+AFTER THEM!!
+
+
+AH!
+
+
+ALL
+
+
+AND YOU ARE NOT WELCOME HERE!!
+
+
+ANISE Incorporated is the biggest company in warp technology!
+
+
+ARE YOU SURE?
+
+
+ARE YOU SURE? THIS CANNOT BE UNDONE LATER!!
+
+
+ATK = 25%%, LUK = 0, Slow down
+
+
+Aaaaaaaahhhhh.... Much better now *hic*.
+
+
+Aaaaaaah, boy... Just let me drink in peace.#1
+
+
+Aaaaaaah, gal... Just let me drink in peace.#0
+
+
+Aaaaaahhh... Oui, that's a good wine! So, what will it be?
+
+
+Aahna
+
+
+Abandoned Diary#jak1
+
+
+Abandoned Fountain#MKH
+
+
+Abandoned House#MKH1
+
+
+Abandoned House#MKH2
+
+
+Abandoned House#MKH3
+
+
+Abandoned House#MKH4
+
+
+Abandoned House#MKH5
+
+
+Abandoned House#MKH6
+
+
+Abort
+Abortar
+
+Abort (%d GP)
+
+
+Abort.
+
+
+About Scoreboards and Honor Points
+
+
+About the Prophecy... What about Elves? Orcs? Redys? Etc.?
+
+
+About the items you asked me to collect...
+
+
+About this pirate treasure map...
+
+
+Absolutely not, but not may job offers nowadays.
+
+
+Abuse can be determined by your peers or by the grandmasters, so be careful.
+
+
+Academy Guard#EP
+
+
+Acc. and Evade -25%%
+
+
+Accept
+
+
+Accept offer?
+
+
+Accept quest?
+
+
+Access to basement was granted!
+
+
+Accessories
+
+
+According to the Guide, space is ____?
+
+
+According to the Holy books of a parallel world, Christmas is an event to celebrate the birth of someone very important, the son of God, whom have the promised kingdom.
+
+
+According to the prophecy, he'll not stop, until life itself as we know today is removed from existence.
+
+
+Account Bound
+
+
+Account Information
+
+
+Accumulate Power
+
+
+Accuracy +25
+
+
+Ace Ventura
+
+
+Achievements
+
+
+Acknowledgment? What do you mean?
+
+
+Acorn
+Bellota
+
+Acorn Of Death
+
+
+Acquired: %s Monster Points
+
+
+Acquisition:
+
+
+Activate event?
+
+
+Active
+
+
+Actually - Do you exchange goods even more illegal goods than this?
+
+
+Actually - Do you exchange illegal... research results?
+
+
+Actually I'm responsible of dispatching mages to the Magic Academy.
+
+
+Actually not.
+
+
+Actually, Anwar offered me some ugly, bright orange pants. I thanked him, of course, I prefer this robe than... that.
+
+
+Actually, I gotta go, see ya!
+
+
+Actually, I have bad luck. Could you sell me a box full of fresh fish?
+
+
+Actually, I heard from Roger that you may need some help.
+
+
+Actually, I heard that on the cave north of me a great wizard died from a curse, but his staff would be available for any other wizard who looks.
+
+
+Actually, I need help with reagents this time. Bring me a %s and a %s and I'll gladly warp you... again.
+
+
+Actually, I see you have some @@. Ever tried a bow before?
+
+
+Actually, a tutorial would be good!
+
+
+Actually, about Fafi dragons...
+
+
+Actually, about the Soul Eater...
+
+
+Actually, can I return to Artis?
+
+
+Actually, could I ask you a favor?
+
+
+Actually, have you ever heard of Yeti's kidnapping little girls?
+
+
+Actually, he's just too lazy to add proper checks everywhere. If you try to cheat, you'll suffer some penalty.
+
+
+Actually, nevermind. Good bye!
+
+
+Actually, nevermind. I'll wait you grind level 25 first, then we can do this.
+
+
+Actually, nothing. Bye!
+
+
+Actually, the Dummy will not fight back. Are you afraid?
+
+
+Actually, using a byproduct of my other works and a few additional ingredients, I could make a %s
+
+
+Actually, you could be really useful testing Snake Poison. What do you think about that?
+
+
+Actually, you just took a bounty, right?
+
+
+Actually, you look strong...ish. Still, maybe you can help me.
+
+
+Actually. Who are you again? A headache which doesn't want to pass strikes you.
+
+
+Add a new line
+Añadir una nueva línea
+
+Additional Hunting Island will be released on Valentine Day!
+
+
+Additionally, for the optimal experience, ensure your party has at least the following members and items:
+
+
+Additionaly, all your movement will be restricted until either you're warped or log out.
+
+
+Adrian
+
+
+Advanced Dungeon (Lv 80+)
+
+
+Advanced Exchanger#0
+
+
+Advanced Magic
+
+
+Advanced Tricks
+
+
+Adventurer#0
+
+
+Adventurer#1
+
+
+Adventurer, did you brought me what I asked? I see you have @@/10 @@.#0
+
+
+Adventurer, did you brought me what I asked? I see you have @@/10 @@.#1
+
+
+Adventurer, did you brought me what I asked? I see you have @@/5 @@.#0
+
+
+Adventurer, did you brought me what I asked? I see you have @@/5 @@.#1
+
+
+Advised party size: From 3 and above
+
+
+Advised: 1+ mage, 1+ tanker, 2+ healers
+
+
+Advised: 6+ players
+
+
+Aegis Shield
+
+
+Aegis with their steadfast shield, nigh impregnable;
+
+
+Aeros Trader
+
+
+Aethyr Points: %s
+
+
+After about 30 minutes AFK, you won't get EXP anymore.
+
+
+After all the monsters in an area are defeated, they'll respawn at once. I know, that's not good, but well, nothing that can be done about it.
+
+
+After all, I am the Well Master!
+
+
+After all, that was two nights ago, and none of them returned...
+
+
+After all, what would you do if it open a black hole on your head by accident? %%4
+
+
+After being successful is recovering Hurnscald and Nivalis from the Monster Army, they seem to have withdrawn.
+
+
+After casting %s, you must wait %d seconds before casting it again.
+
+
+After cleaning for twelve hours straight, they allowed me to rest a bit.
+
+
+After hours of hard work...
+
+
+After that, follow the path until you reach a great chamber...
+
+
+After that, stay still and be patient, but also alert!
+Después de eso, quédate quieto y sé paciente, ¡pero permanece también alerta!
+
+After that, we're going to Tulimshar. Tulim is the most important city on the world, and the Alliance have an office there.
+
+
+After the Great Fire... you don't find our world's Elli ever again.
+
+
+After turning it upside down, it finds something which makes it really happy: %s! And there's nothing a teddy likes more than honey.
+
+
+After waiting for the oil to dry, he hands you the string.
+
+
+After you have confirmed the negotiation, a window with a vertical split will appear. The left side are the items you intend to offer in trading. The right side are the items that the other citizen intends to offer in trading.
+
+
+After your questions I'm really getting worried about this guy with the mask. In retrospect it really seems suspicous.
+
+
+Again, you don't need to do both right now, but you probably will want to. Once you have a stable alternative income, I'll have... This paperwork sorted.
+
+
+Aggressors always know when they are in danger! Therefore, they are always on standby, attacking anyone who appears ahead.
+
+
+Agi Potion
+
+
+Agi+ Potion
+
+
+Agi++ Potion
+
+
+Agility
+Agilidad
+
+Agility Fruit
+
+
+Agostine
+
+
+Agostine takes the fur from your hands.
+
+
+Agostine, the Legendary Tailor
+
+
+Ah no... That's not what I had to do... I wasted the potion...
+
+
+Ah yes... I make fine @@...
+
+
+Ah!
+
+
+Ah! @@! I heard you helped Hinnak with his Pinkies problem!
+
+
+Ah! @@. A very rare drop!
+
+
+Ah! Actually nobody found one.
+
+
+Ah! Greedy humans! Couldn't we happy with little?
+
+
+Ah! Greedy humans! End this war which our greed has stroke!
+
+
+Ah! Greedy humans! How ignorant were we, to ever do that?
+
+
+Ah! Greedy humans! Just how big is our greed?
+
+
+Ah! Greedy humans! Stand up to save our world!
+
+
+Ah! Greedy humans! The Monster War will now rage the globe!
+
+
+Ah! Greedy humans! Things will never be as they used to be!
+
+
+Ah! Greedy humans! We pay the price for our actions,
+
+
+Ah! Greedy humans! Why did we had to fight?
+
+
+Ah! Greedy humans! Why had we to desire?
+
+
+Ah! I also want @@ @@.
+
+
+Ah! I know. Kill 10 @@. They are usually found in the fields, feeding on the crops.
+
+
+Ah! I know. Kill 10 @@. They usually are near the mine's inn.
+
+
+Ah, %s, a good thing you're here. You must help!
+
+
+Ah, @@ is so amazing!
+
+
+Ah, @@ is sooo amazing!
+
+
+Ah, @@ seems to be behind the @@ schedule again...
+
+
+Ah, @@! I'm busy now, can we talk again later?
+
+
+Ah, @@, good thing you are here.
+
+
+Ah, @@, my friend! Are you here to help us with 5 @@? Or perhaps you have 5 more @@ to show that Hurnscald is getting safer?
+
+
+Ah, @@, welcome!
+
+
+Ah, Halinarzo... Dangerous place. Tulimshar route is plagued with snakes, Hurnscald route is more often than not flooded.
+
+
+Ah, Hasan... Sorry pal, afraid I can't do anything for you. Try talking to his mother Sorfina, she is in Mahoud's house, near the Inn.#0
+
+
+Ah, Hasan... Sorry pal, afraid I can't do anything for you. Try talking to his mother Sorfina, she is in Mahoud's house, near the Inn.#1
+
+
+Ah, I am lively again. I wish I could just raise from this bed and do some exercise, but the Nurse refuses to let me go.
+
+
+Ah, I can also cure you, if you need.
+
+
+Ah, I guess you want to fight at the cave north of me...
+
+
+Ah, I hate mushrooms. Perhaps in future, I could use their spikes and mushies.
+
+
+Ah, I hate snakes. Perhaps in future, I could use their tongues.
+
+
+Ah, I have enough @@ for a life! Take this EXTREMELY RARE @@. Good job!
+
+
+Ah, I just wanted @@... Yummy, lovely @@...
+
+
+Ah, I love mouboos. But their steaks, hmm. Ah, no, I shouldn't eat that...
+
+
+Ah, I see you have some used gloves. I'm not sure if you can even mine with it...
+
+
+Ah, I see, I imagine you'll wear something different then... But please come back.
+
+
+Ah, I wish I got something for helping people out...
+
+
+Ah, I wonder how my mother Swezanne is faring...
+
+
+Ah, Peetu. I really appreciate his sense for high quality work. The requirements to become a helper of a sage are already high, but Peetu is outstanding. He has a talent for magic and combined with his diligence, it's quite remarkable.
+
+
+Ah, Sunday. What better time to go to church?
+
+
+Ah, but don't distress them if you can't save her! My precious daughter life is more important than anything!
+
+
+Ah, don't bother me with that. That wood must be special, it must bend and cannot break. Too difficult to find!
+
+
+Ah, fighting monsters under this desert heat makes me thirsty. But someone must do this job, otherwise Tulimshar could fall.
+
+
+Ah, getting experience is hard, too... I would stay within the city. Hit and Run tactics works the best.
+
+
+Ah, good. You didn't even bother poisoning it? Hahah, that's great, %s! Here is a couple skins I had lying around, may be useful.
+
+
+Ah, hello there! I am @@, a Redy alchemist.
+
+
+Ah, hello there, funny face! Do you want to refine items?
+
+
+Ah, hello! It is good to see another traveler in this town!
+
+
+Ah, hello.
+
+
+Ah, hello... is it @@? Nice to meet you!
+
+
+Ah, if Jack and that fisherman from Halinarzo still gave me materials...
+
+
+Ah, if it isn't @@? You're the talk of the town!
+
+
+Ah, it is not the same. Not the same.
+
+
+Ah, living in Halinarzo is so difficult...
+
+
+Ah, my daughter Silvia is so far away... But I don't want to leave the shade of this tree...
+
+
+Ah, my husband Hinnak is so hard working...
+
+
+Ah, nice to know.
+
+
+Ah, not now...
+
+
+Ah, personally I don't use it?
+
+
+Ah, research points (RP). They are knowledge which can be used in honing your skills.
+
+
+Ah, so LOF Bot wants a souvenir after all!
+
+
+Ah, so you must be %s, the new guy! Yes, it is on the rooms upstairs. I'll bring you there, don't you worry a thing!
+
+
+Ah, so you think you can fool me?
+
+
+Ah, so you're willing to help? Great! Because I HATE THEM ALL!
+
+
+Ah, sorry, of course. I need quite a few herbs, look:
+
+
+Ah, that was tiresome... I'll go make a reward for them, talk to me again later.
+
+
+Ah, the Professors will get mad at me again...
+
+
+Ah, the kids are playing hide and seek, but I am afraid they went too far. A monster attack could start anytime, after all.
+
+
+Ah, the originals. Had the displeasure to met a few of them in the past and in the future with my time machine.
+
+
+Ah, there are lots on the miners cave.
+
+
+Ah, there are lots with Melina, downstairs.
+
+
+Ah, traveller! I am Lilica the Scary Bunny! I exchange many @@ and @@ for neat rewards!#0
+
+
+Ah, traveller! I am Lilica the Scary Bunny! I exchange many @@ and @@ for neat rewards!#1
+
+
+Ah, uhm, I'm not sure. We at Candor don't need much.
+
+
+Ah, we have serious problems of robbery. I need someone really strong to help me, and you don't qualify.
+
+
+Ah, welcome @@. You have @@ Contributor Points.
+
+
+Ah, welcome. Please, don't be afraid of my look, Saulc GM assigned me to here.
+
+
+Ah, what a wonderful day.
+
+
+Ah, wonderful! This is a page we haven't found yet!
+
+
+Ah, yes... You see, there is just no task I can give to you right now. ##BYou are too weak to fight monsters.##b
+
+
+Ah, yes... You see, there is just no task I can give to you right now. You are too weak to fight these monsters.
+
+
+Ah, you might have seen a treasure chest on the mines. There are several of these chests to loot, and loot again! Here is a @@. Try it!
+
+
+Ah, you really deserve this @@. Good job!
+
+
+Ah, you'll find on the Land Of Fire Village four transcendence gates.
+
+
+Ah.
+
+
+Ah... A @@. The sturdiest from all mushroom, and very, very rare.
+
+
+Ah... I need more beer to keep going... This is so awful...
+
+
+Ah... I see. You are a lost soul, without parents, lost on the world with only some basic stuff.
+
+
+Ah... Santa's helpers sure eat a lot. I'm sure gift delivery is hard for them.
+
+
+Ah... Slimes... Sorry, not my cup of tea...
+
+
+Ah... Sorry, your name is not on the contributor list.
+
+
+Ah... The mayor. The current mayor. Why do you even want to talk to him, anyway?
+
+
+Ah... Was I warped?
+
+
+Ah... Well, ok. I'll do the powder for you, but you still need to bring me the material.
+
+
+Ah... What is happening to meeeeeeee?
+
+
+Ah... You did it!
+
+
+Ah... You have one too. Be careful with it, please. Many people lost their lives because they didn't handled that correctly.
+
+
+Ah...! POLICE! POLICE! Quick, send this cheating thief to jail!!
+
+
+Aha! I knew you were a boring person...
+
+
+Aha! So that's what it was! The map was hiding its secrets in drawings made with acid. An old technique... But a very useful one.
+
+
+Ahahahah, do you really think I'll accept legs if you don't help me cleaning my fields?
+
+
+Ahh, he'll be so happy! Thanks! You can keep this.
+
+
+Ahh, that's a pity... Well, just talk to me with enough money and I'll gladly fix that for you! %%0
+
+
+Ahh, too many items. Sorry.
+
+
+Ahoi.
+Ahoi.
+
+Ahoy matey!
+
+
+Ahoy! Hey, you, new person! Could you come here?!
+
+
+Ahoy, @@!
+¡Ah, @@!
+
+Aidan
+
+
+Aidan and Pet Detective
+
+
+Aidan, the Monster Guide
+
+
+Airlia
+
+
+Airlia told me you should lend me a Return Potion.
+
+
+Airship
+
+
+Aisen Card
+
+
+Alaion
+
+
+Alan
+
+
+Alchemist Armor
+
+
+Alchemist Helmet
+Casco de alquimista
+
+Alchemy
+
+
+Alchemy Blueprint A
+
+
+Alchemy Blueprint B
+
+
+Alchemy Blueprint C
+
+
+Alchemy Blueprint D
+
+
+Alchemy Blueprint E
+
+
+Alchemy Cauldron
+
+
+Alchemy Master Challenge
+
+
+Alchemy Recipes
+
+
+Alchemy Recipes.
+
+
+Alchemy Set#MKHB
+
+
+Alchemy Shop
+
+
+Alchemy Table brewing
+
+
+Alchemy Table:
+
+
+Alchemy. The art of having quasi-magical effects without magic.
+
+
+Alcohol effects expire upon death. You need vitality to drink more beer.
+
+
+Alicia
+
+
+Alige
+Alige
+
+Alige hands you an old paper patch.
+
+
+Alizarin Herb
+Hierba de alizarin
+
+Alizarin Plant
+
+
+All I can say is that you were born there, and moved by the age of 4, but to where? I don't know.
+
+
+All In One
+
+
+All Peetu have been doing the past hours was crying, and crying, and crying some more. I can't barely sleep hearing his cries from my room.
+
+
+All Stats +1
+
+
+All Stats +1, Agi +5
+
+
+All Stats +1, Block +2%
+
+
+All Stats +1, MDEF +30%
+
+
+All Stats +1, Max HP +1%
+
+
+All Stats +1, Max HP +1%, Max MP +5%
+
+
+All Stats +1, Vit +2
+
+
+All Stats +2
+
+
+All Stats +5
+
+
+All Stats temporarily raised!
+
+
+All arenas stay open for only 30 minutes after being purchased.
+
+
+All black scorpions are dead! Go back to Tycoon.
+
+
+All candor scorpions are dead!
+
+
+All cave maggots are dead! Go back to Tycoon.
+
+
+All cave snakes are dead! Go back to Tycoon.
+
+
+All cheaters must die.
+
+
+All four Dungeons must be completed.
+
+
+All hail @@ and Andrei Sakar, heroes of the world!
+
+
+All hail the ones who proven their worth before the whole Alliance!
+
+
+All hope was lost. We failed to protect it. We lost everyone who challenged the Monster King. Killed without mercy.
+
+
+All house maggots are dead!
+
+
+All leaderboards are refreshed hourly.
+
+
+All maggots are dead!
+
+
+All mana bugs are dead!
+
+
+All monsters may drop chocolate during this period. And here is one for you!
+
+
+All monsters summoned!
+¡Todos los monstruos han sido convocados!
+
+All my parents, grandparents, until the world was born, are from Tulimshar.
+
+
+All of my money.
+
+
+All quests expire at 00:00 server time, be sure to finish AND report back before that!
+
+
+All rattos are dead! Go back to Tycoon.
+
+
+All red scorpions are dead! Go back to Tycoon.
+
+
+All scoreboards are refreshed hourly.
+
+
+All scorpions are dead!
+
+
+All she told me was that I needed to visit Halinarzo, but was too weak, and should look for you instead.
+
+
+All spring it is the same thing... The instruments stop working!
+
+
+All the %ss have become a real nuisance to the citizens and people are getting stung more often now.
+
+
+All this seems unimportant to you right now.
+Nada de esto parece importante para ti ahora mismo.
+
+All torches are lit!
+
+
+All warp technology, be it crystal-based, potion-based, or mechanic-based, relies on timespace distortions.
+
+
+All you need to do then is walk outside, enter on the biggest house, and talk to the Trainer. He'll teach you everything.
+
+
+Alliance Guard
+
+
+Alliance Hero#FoS
+
+
+Alliance Officer
+
+
+Alliance members (sponsors) are allowed inside the Council Room.
+
+
+Alliance members are those who [@@https://patreon.com/TMW2|sponsor us@@].
+
+
+Alliance members are those who [@@https://tmw2.org/contact|sponsor us@@].
+
+
+Allowed
+
+
+Allows to attack right after casting.
+
+
+Almanac
+
+
+Almost all creatures drop useful items when defeated. To get the dropped item press the 'Z' key next to the item or click the primary button on the item.
+
+
+Almost all documents were lost, destroyed or damaged. I cannot even find your parents name.
+
+
+Almost there! The War Lord will be proud with this new armor I am inventing for him! Just a little more...!
+
+
+Alone
+
+
+Alpha Mouboo
+
+
+Alpha Mouboo Hat
+Sombrero de mouboo alpha
+
+Alright, I don't like PVP anyways...
+
+
+Alright, I have them here!
+
+
+Alright, I will help.
+
+
+Alright, I'll look in the archives. I'll have an answer for you in @@. Meanwhile, why don't you suppress the bandits on the cliff?
+
+
+Alright, I'll pay.
+
+
+Alright, I'll show up later. Thanks for calling me. Here's 1000 GP for your efforts.
+
+
+Alright, PARTY TIME!
+
+
+Alright, good bye.
+
+
+Alright, you've not only proven your worth, but you've went through most monsters in the desert close to the town.
+
+
+Alright.
+
+
+Alright. A new world. What mysteries await for me behind that wooden door?
+
+
+Alright. I wish you good luck in your studies.
+
+
+Alright. Listen, you'll need %s to summon it, and you cannot be alone. I only have so much of that to share, so be careful to don't use all.
+
+
+Alright. Now to give your quest. But not now, you're still weak. Come back later, will you.
+
+
+Alright. Then please don't go too deep on the library, it is dangerous.
+
+
+Alright... Bye.
+Muy bien... Adiós.
+
+Also in honor of @@, who did a great act of bravery recently. May they keep protecting our world!
+
+
+Also in honor of the other two sages, %s and %s. And finally, notable mention for the noble %s, %s and %s, for sponsoring this Academy.
+
+
+Also known as TMW2 Day, it celebrates the server founding,
+
+
+Also near the market, look for %s. He is the chief of the City Guard. Ask if he need help, and help him!
+
+
+Also note that if you are in overweight, your natural regen will halt. 90% in weight, and you won't be able to attack.
+
+
+Also note that, under team's discretion, all rewards from this quest might be erasen along quest state.
+
+
+Also worth mentioning is how to improve your ability to shoot fast. You need to be agile to grab a new arrow from your quiver and aim for the next shot before your enemy has recovered from your last.
+
+
+Also you can ask how much he already save for you by checking your balance.
+
+
+Also your strength doesn't matter much. It helps you to carry more arrows with you, but nothing a few trips to the store won't do.
+
+
+Also, Halinarzo is famous for the depleted mana mines in the town. You probably won't find a mana stone there, but it might be cool to look.
+
+
+Also, I believe hard work always pay off.
+
+
+Also, I don't care if you don't like the @@. That's the weapon a true archer should use!
+
+
+Also, I don't know what Sage will be their next target. I'm... A bit concerned with Sagratha. As she choose to live with wildlife and all, we sorta don't know a lot of what happens with her.
+
+
+Also, I don't think we will be able to go back if we pick the wrong way.
+
+
+Also, I see you're a newly registered mage. Am I right?
+
+
+Also, Summer just started. Why not taking this opportunity to go Treasure Hunting?!
+
+
+Also, Yetis can be crafty at times. I think someone on Hurnscald Household knew a lot about them, you might want to ask them if you ever feel struck.
+
+
+Also, do you have the stolen item?
+
+
+Also, have a %s on the house!
+
+
+Also, hidden in a forest which is not hot nor cold, is the Gold Pot Cauldron...
+
+
+Also, if I move away from the singularity during disarm process, it'll be lost.
+
+
+Also, job levels get really hard to obtain after a while. The decision is up to you, just be aware there's that possibility.
+
+
+Also, listen well, because there are traps and dangers on the whole way. Their leader sealed themselves in safety.
+
+
+Also, most monsters get enraged and will attack whoever is closest to them, regardless of anything else.
+
+
+Also, south of here are mines. Talk to Tycoon for information about it.
+
+
+Also, take this book so you don't forget the rules. You can always read it, or type ##B@rules##b on the chat.
+
+
+Also, take this. It's time to you learn to craft your own weapon. Talk to Nicholas in Hurnscald forge to make an awesome @@. Or use it on some other craft, it is your choice.
+
+
+Also, the Inn folks said the Ducks keep bothering them, but they've noticed a small decrease already.
+
+
+Also, the more players survive, the better rewards will be given.
+
+
+Also, they can control the city taxes, which are applied upon purchases and sales within the town.
+
+
+Also, they level up when they attack, and can be revived with the right skill.
+
+
+Also, unlike regular magic which may cause delay before and after, Mana Magic usually only have a cooldown. But it is hard to know how long that cooldown is...
+
+
+Also, you need vitality and strength to survive the swimming trip. The closest island is very far away.
+
+
+Also, you'll get more experience by killing monsters stronger than you, and less experience by killing monsters weaker than you.
+
+
+Also...
+
+
+Also: You'll be able to rebirth at Tulimshar with Jakod. What are you waiting for?!
+
+
+Alternatively, %s, the World Hero, should also be able to do it.
+
+
+Alternatively, I think someone at the Land Of Fire Village is able to refine some items. Why don't you try it sometime?
+
+
+Alternatively, download a bleeding edge build at [@@https://manaplus.germantmw.de/|https://manaplus.germantmw.de/@@]
+
+
+Although I really want the Sailor's Hat, but daggers are dangerous for kids to play with.
+
+
+Although KOLCHAK managed to rank first in almost every ranking, Jesusalva was too close, and the Crafting gave him the edge he needed to take first place.
+
+
+Although the more powerful you are, the more money you will need.
+
+
+Although this particular one seems to hate everyone and everything, it recognizes your strength.
+
+
+Alvasus
+
+
+Alvasus Pendant
+Colgante Alvasus
+
+Always a pleasure to help.
+
+
+Always use %s
+
+
+Amazing. Five gifts for all. With 3200, we could supply nomad tribes...
+
+
+Amazing. I think you found all the missing pages of which we didn't have a copy. This is a great help! I'll mention this to Nikolai.
+
+
+Amelia
+
+
+Amelia looks much more cheerful than the last time you've met her.
+
+
+Amethyst
+Amatista
+
+Amethyst (+2 dex)
+
+
+Amethyst Bif
+
+
+Amethyst Powder
+Polvo de amatista
+
+Ammo? I prefer power gloves! That is useless for me!
+
+
+Amount?
+¿Cantidad?
+
+An Airship? It is just a ship. Which flies.
+
+
+An academy was built north of Tulimshar, and later, the Land of Fire Village was also built, symbol of progress, development and research.
+
+
+An account may vote anywhere, but only once per town (weekly).
+
+
+An assassin
+
+
+An emergency skill which temporarily raises all your stats.
+
+
+An error happened: professor_was_assasinated() error
+
+
+An error happened: unitwalk failed
+
+
+An error on your travel happened. Please report.
+
+
+An error on your travel time happened. Please report.
+
+
+An error with Stranger#LoF happened! Please report!!
+
+
+An event is happening at Aeros! Hurry up!
+
+
+An event to prepare for the Steam Release
+
+
+An example is dec agi, which lowers your agility.
+
+
+An unlimited number of members can join.
+
+
+An upgrade is available.
+
+
+Ancient Blueprint
+
+
+Ancient Shield
+Escudo antiguo
+
+Ancient Sword
+Espada antigua
+
+And Demure, the Queen of Dragons.
+
+
+And I'm not talking only about humans here! But perhaps, if you build a good reputation, she teaches you something.
+
+
+And a commission of @@/@@ GP.
+
+
+And a great threat they shall defeat.
+
+
+And a lot of pages are missing, since most of the slimes escaped. I suppose we'll have to go out and hunt them once we're done here. Unless someone else hunt them for us.
+
+
+And a special coupon section to get rare items for little or no money!
+
+
+And again, and again, again.
+
+
+And again, and again.
+
+
+And again.
+
+
+And also in notable mention of those who [@@https://moubootaurlegends.org/en/community|sponsor@@] the Alliance and its administrative structure.
+
+
+And also in notable mention of those who [@@https://www.patreon.com/TMW2|sponsor@@] the Alliance and its administrative structure.
+
+
+And anyone like you probably already knows that, well... Cookies are life!
+
+
+And brought peace to the land.
+
+
+And by "moved to the canyon", I do mean it destroyed the little which kept our community alive back then. I heard the fire even moved to the icelands and burned everything on the path until it died at the frozen sea, but that would be too far for I know.
+
+
+And by last, to speak to everyone online, besides whoever might be idling on Discord, select the '#world' tab.
+
+
+And during that time, item dropped was bugged! We wanted to deliver you a token of apology!
+
+
+And guess what? They have a King of their own!
+
+
+And have you thought in the cause?
+
+
+And help to obtain they were able.
+
+
+And here's a rare for you, a @@! Good job!
+
+
+And his sister,
+
+
+And how do you feel about that?
+
+
+And if I end back here, I'll prove the planet is round! This is the perfect plan! %s GP to ride with me TO GLORY!
+
+
+And if the item breaks, that is definitive - no repair is possible. What to refine?
+
+
+And if the item breaks, that's your loss. What to refine?
+
+
+And if you bring me 1 @@ and 440 GP, I can make a @@ for you.
+
+
+And if you listen to Tulimshar's Professor lecture wearing it, you'll gain more experience!
+
+
+And if you study them well, you'll also gain more Research Points than you would get with other skills.
+
+
+And if your family, real or adoptive, was coward, there would be no lead at all.
+
+
+And in a hut, a lone woman mourned my death.
+
+
+And in all these years, I've never seen him messing up anything important. He's a perfectionist. He isn't satisfied with anything less than the best possible result when doing his work.
+
+
+And in honor of all brave LoF players, to be known to all, the fluffly hunters.
+
+
+And it might be changed in a future patch %%g
+
+
+And now I'm going to lose my job and I'll have to leave here and no other sage would give me a new appointment and I don't know what else to do!
+
+
+And now... Somber time is over! Time to get back to drinking! Yaaaay!!
+
+
+And obviously, Professor Volrtaw assigned me to investigate! Look at me, do I look like an investigator to you? But, he told me I could pick any student to help me! And I choose you!
+
+
+And once they entrust you with what is important for them, they'll pay better. Here is 700 GP. Come back later.
+
+
+And one last thing I'll want. See these @@? I don't like them, so I'll have you to kill 40 of them for me.
+
+
+And one more thing...
+
+
+And please, bring those criminals to justice! Barbara and the Assassin!
+
+
+And rejoice will come from their feats.
+
+
+And remember: If it was easy, I would be wielding it right now. Instead, I use a %s. So take courage.
+
+
+And some from the Grand Hunter Quests give you @@, which can be traded with the travelers for rares! Good luck!
+
+
+And some of the shop items can be found as drops or in quests!
+
+
+And some times, more Fafi dragons come... Don't neglect your aid.
+
+
+And the lightbringer,
+
+
+And the runes wait for the grave to be found.
+
+
+And then you notice the small teddy is opening and closing the lid of this pot repeated times, as if it were looking for something.
+
+
+And then, it was no more! It vanished! In a matter of minutes the slimes were all over the library. A good thing they are slow, none escaped to the town.
+
+
+And then... There was a quake. And all life died. Bleed!
+
+
+And there is the Mana Magic, for the pro %%e You'll waste your life on that, as it have an experience system.
+
+
+And they can explode! Nothing in the world could make me go in there. I'll just do my work right here, clean the floor and tidy up the books, and I'm keeping my eyes open in case they get over here.
+
+
+And thus, the longest war begun... And our clan was wiped out. Pachua, Mirio, I, Melune and Darug are the last ones. Oh, and Andra, I guess?
+
+
+And to leave this cramped ship, just go past his office! But beware...
+
+
+And unless you have a mage permit from the Magic Council, you won't be going to CR1 - Academy Island either.
+
+
+And we know who the thief is.
+
+
+And what's about Iron Ore?
+
+
+And what's about Sunny Crystal?
+
+
+And who are you?
+
+
+And who do you think that created GM Magic in first place, inexperienced kid?
+
+
+And who would you be? Another bandit? Leave!
+
+
+And whom do you claim to be the thief?
+
+
+And with what you expect to fight monsters? You must arrange yourself a weapon!
+
+
+And without proper MP-raising equipment, you'll be exausthed after your first fireball.
+
+
+And you got help from a kid, Zarkor? Lucky is that kid, that I don't have time to deal with them. Farewell.
+
+
+And you, @@... You better get walking. Soon.
+
+
+And you, take this %s. It is a reward for doing the dirty job. You would think old age would let you retire, hahaha!
+
+
+And, that's all.
+
+
+Andrei Sakar
+
+
+Andrei Sakar Calls for Heroes!
+
+
+Andrei Sakar Card
+
+
+Andrei Sakar calls for all the brave in the town of Artis - Kolev!
+
+
+Andrei Sakar is at the north exit of the town.
+
+
+Andrei Sakar is decided to investigate, and has made arrangements with %s.
+
+
+Andrei Sakar used magic: %s
+
+
+Andrei Sakar#FoS290
+
+
+Andrei Sakar#FoS298
+
+
+Andrei Sakar, Legendary Hero
+
+
+Andrei Sakar, the legendary Hurnscald Hero, as well as a group of alliance members which include yourself, are heading to the continent of Kolev, where is said to be a legendary town which helped the humans from the second era to survive.
+
+
+Andrei Sakar, world renowned hero, is assembling a group of adventurers for an important mission!
+
+
+Angel
+Ãngel
+
+Angel Amulet
+Amuleto de ángel
+
+Angel Light
+
+
+Angela#Outside
+
+
+Angela#house
+
+
+Angry Bat
+
+
+Angry Red Scorpion
+
+
+Angry Scorpion
+
+
+Angry Yellow Slime
+
+
+Animal Bones
+Huesos de animales
+
+Anin The Traveler
+
+
+Anise Inc.
+
+
+Anniversary marks the project birthdate. Do not mistake with TMW2 Day.
+
+
+Annoying Paxel, for example %%o
+
+
+Another lecture: Take always enough arrows with you. Go and come back when you are equipped adequately.
+
+
+Another time, maybe.
+
+
+Another way to attack it is clicking on it.
+
+
+Another way to attack it is clicking on it. Now, there are some things you must know before fighting this truly dangerous foe!
+
+
+Another way to quickly get experience at lower levels, is visiting %s and talking to Professor. I heard those whom sit at the rug gain exp just by listening.
+
+
+Antlers
+Cornamenta
+
+Antlers Hat
+Sombrero de astas
+
+Anwar
+
+
+Anwar sent you this, erm, hum... @@.
+
+
+Any boss which was previously unhittable, can be hit with appropriate number of attackers.
+
+
+Any eventual ranking reward will be sent by the banker's mail.
+
+
+Any fishing tips for me?
+
+
+Any friend of Hurnscald is my friend too. Come to me again, if you want to do daily quests!
+
+
+Any movement/skill/item will be without effect until time is up.
+
+
+Anyone within this rug will be teleported.
+
+
+Anything else?
+¿Algo más?
+
+Anyway, I am one of the few Mana Wizard, and I love Transmutation!
+
+
+Anyway, I am selling Cherry Cakes to sponsor my studies. Please buy as many as you want!
+
+
+Anyway, I got this really nice @@ from Audsbel. He said I could collect herbs more efficiently with it.
+
+
+Anyway, I heard both were disciples from Cordo-whatever, a powerful person from LoF Village.
+
+
+Anyway, I still need @@. You have plenty of time to do things at your own pace.
+
+
+Anyway, I think you should go to Hurnscald Townhall again, and speak with the mayor.
+
+
+Anyway, I'd be really happy if you could give me @@ @@, @@ @@, @@ @@ and @@ @@.
+
+
+Anyway, I'll give you @@ Real Estate Credits in advance. Go book yourself a room in the Inn. And then come back to me so we may discuss details.
+
+
+Anyway, Wyara told me about the assassins. I'm surprised they followed me until the ruins.
+
+
+Anyway, after that I'll use my magic, so everyone can rest after that until I finish, or keep killing the new monsters for experience and drops.
+
+
+Anyway, as you might be aware, Land Of Fire came here in an incident after the Monster King took all Mana Stones... So, we have a good magical affinity.
+
+
+Anyway, conspiratory theories aside, his ghost is a powerful boss. I would not attack him if I were you!
+
+
+Anyway, he had a point. What will you do once the Monster War is over?
+
+
+Anyway, he is not available at the moment. Try your luck again later.
+
+
+Anyway, here is your reward.
+
+
+Anyway, if you ever feel bored and wanna see what I mean by yourself, just leave the building and head west, then north. There's a small entrance there.
+
+
+Anyway, it is Valentine Day, a good day to trade @@ with your admired one!
+
+
+Anyway, my herb mixture keeps monsters away.
+
+
+Anyway, once you have the recipe book and learned a recipe, you can craft items in forges. I think you can buy it in your apartment.
+
+
+Anyway, our shipkeeper, Juliet, helped to heal your injuries way back.
+
+
+Anyway, the Moubootaur certainly existed, and probably is still alive.
+
+
+Anyway, there's a barrier to prevent monsters from attacking the city from below.
+
+
+Anyway, why do you ask? Surely not to waste my time.
+
+
+Anyway, you can see how skilled using Mana Magic with @@. Mana Magic is the one which requires concentration, to bring things into existence, for example.
+
+
+Anyway, you had a letter to our @@, you meant? Sure thing, I'll let him know at once.
+
+
+Anyway. This is the FAIRY KINGDOM spell. It'll spawn fairies.
+
+
+Anyway. This is the KALBOO spell. It'll summon mouboos.
+
+
+Anyway. This is the KALWULF spell. It'll spawn Wolverns.
+
+
+Anyway... Let's see how this world works!
+
+
+AoE (not stackable)
+
+
+Apana Cake
+Pastel de Apana
+
+Apane Card
+
+
+Apartment Manager
+
+
+Apartment rents cannot be renewed until they expire. Furniture won't be lost.
+
+
+Apparently, you'll need to use a %s to get this to work!
+
+
+Appearance Debug
+Limpieza de apariencia
+
+Appearance Debug - Barber
+Limpieza de apariencia - Barbero
+
+Appearance Debug - Race
+Limpieza de apariencia - Raza
+
+Appearance Debug - Sex Change
+Limpieza de apariencia - Cambio de sexo
+
+Apple Cocktail
+Cóctel de manzana
+
+Apple Trees#MKH1
+
+
+Application fee: @@ GP
+
+
+Application successful!
+
+
+Apply for the office!
+
+
+Apply no pressure
+
+
+Apply normal pressure
+
+
+Apply soft pressure
+
+
+Apply strong pressure
+
+
+Apply very strong pressure
+
+
+Applying...
+
+
+Apprentice Wand
+
+
+Approach it softly.
+
+
+Aquada
+Aquada
+
+Aquada Box
+Caja de Aquada
+
+Ara ara? You do not have enough money with you!
+
+
+Arabesque (Action)
+
+
+Arauto
+
+
+Arcanum Stone
+Piedra Arcana
+
+Archant
+
+
+Archers Eye
+
+
+Archery Weapon Recipes
+
+
+Arcmage Boxset
+
+
+Are the fish biting today?
+¿Están picando los peces hoy?
+
+Are you Sagratha?
+
+
+Are you a terranite?
+
+
+Are you and your party ready?
+
+
+Are you asking because people say it's his fault? Listen, I've known him for many years now. We started our service here about the same time. We share our room and are really close friends.
+
+
+Are you done yet?
+
+
+Are you enjoying yourself in Candor? Do you have any questions?
+
+
+Are you feeling well? That was a pretty powerful attack!
+
+
+Are you going to stand here all day long? Go wash the dishes or go away.
+
+
+Are you interested in becoming a student of Archery?
+
+
+Are you interested? You'll keep %s your equipment, magic, quest progression, craft recipes, money, whatever else which is not a level. Not even Job level won't be reset!
+
+
+Are you looking for Rebirth? Limited time only!
+
+
+Are you ok?
+¿Estás bien?
+
+Are you out of your mind?!
+
+
+Are you ready to cross the Mirror Lake and return to your world?
+
+
+Are you ready?
+
+
+Are you ready? There will be a long path ahead of us until this mistery is solved.
+
+
+Are you really going to jump here?
+
+
+Are you sure you want leave?
+
+
+Are you sure you want to begin now? (Cannot be changed later)
+
+
+Are you sure you want to create a PIN now?
+
+
+Are you sure you want to leave?
+
+
+Are you sure you want to proceed? You CANNOT COME BACK!
+
+
+Are you sure you want to smash it?
+
+
+Are you sure?
+
+
+Are you sure? It costs 800 GP.#0
+
+
+Are you sure? It costs 800 GP.#1
+
+
+Are you sure? Like, really really sure?
+
+
+Are you sure? This cannot be undone!
+
+
+Are you sure?!
+
+
+Are you trying to collect every piece of equipment ingame? Come tell me if you are and I'll give you a collector stamp!
+
+
+Are you trying to provoke me?
+
+
+Are you up for the challenge?
+
+
+Are you with what I asked for?
+
+
+Are you, perhaps, interested?
+
+
+Area Provoke
+
+
+Area of effect fire damage. May burn targets.
+
+
+AreaNPC#002-1d
+
+
+AreaNPC#002-3d
+
+
+AreaNPC#002-4d
+
+
+AreaNPC#Peter
+
+
+AreaNPC#doors4
+
+
+Aren't you Cindy's father? Why don't you go to her rescue?
+
+
+Arena created, it can be used for 30 minutes.
+
+
+Argaes Human
+Humano de Argaes
+
+Argh! I assume I can't do this chant!
+
+
+Argh... I can never get it right! If only he drew an Ace or a Joker on the first draw... But he never does that!
+
+
+Arkim
+
+
+Armageddon
+
+
+Armbands
+Manguitos
+
+Armored Skeleton
+
+
+Armors: +3~5 defense
+
+
+Arnea
+
+
+Arnea#003-13
+
+
+Arr ha ha ha arr!
+
+
+Arr!
+
+
+Arr! Here you go, matey!
+
+
+Arr, I'm bored!
+
+
+Arr, it is always good to be on land after so much time in sea!
+
+
+Arr, that's a fine map ya got there! And these are definitely Hurnscald Caves, yarr!
+
+
+Arr, that's not enough! I'll bring more later!
+
+
+Arr, that's some fine ale! We can do the party when we're done with our work!
+
+
+Arr, we will wait for you then! We still have tasks to complete!
+
+
+Arr, you are not experienced enough to help me yet!
+
+
+Arrested!
+
+
+Arrevouir!
+
+
+Arrow
+Flecha
+
+Arrow Ammo Box
+
+
+Arrow Shower
+
+
+Arrow Shower Card
+
+
+Arrr matey! My captain asked me to have you get him some items. Please bring us %d %s and %d %s, my captain likes to snack on those during our long voyages. Oh, and something to read too!
+
+
+Arrr matey! This is @@, yarr.
+
+
+Arrr! Good job matey! You brought us everything we asked for, even the Maritime Almanac Scroll!
+
+
+Arrr! You did not bring me everything I asked for!
+
+
+Arrrrh! Looks like ye lost an eye there!
+
+
+Arrrrh! Ye be wearing a pirate's hat!
+
+
+Arrrrh! Ye remind me of my old first mate!
+
+
+Arthur Card
+
+
+Artichoke Herb
+hierba de artichok
+
+Artis
+Artis
+
+Artis - @@ GP (not exchangeable)
+
+
+Artis Tank Top
+Artis Habla Alto
+
+Artis Warp Crystal
+Cristal de warp de Artis
+
+Artis is a city port founded after the Great Fire on the other continent.
+
+
+Artis, right? So Andrei Sakar summoned you?
+
+
+ArtisShip
+
+
+Arvo
+
+
+As I had the spare materials I've already did yours in advance.
+
+
+As I know, you're kind of hunter crafter, Right?
+
+
+As I said, S.A.R.A.H. is a terrorist organization. They are dedicated to wiping out every single duck, worldwide. No duck has ever survived an encounter with a S.A.R.A.H. agent. You would do best to avoid them.
+
+
+As I see, you stay alive!
+
+
+As a King, I cannot simply ignore it. Of course, I really doubt it is zombies, but nobody wants to go. That's why I'm resorting to an adventurer like you.
+
+
+As a result, while fishing you may randomly get a golden fish.
+
+
+As a what?
+
+
+As about if I have any idea why they said they were from here? ...Actually, I do.
+
+
+As always, I can use a helping hand around here. Interested?
+
+
+As an Apology Token, you're also receiving one @@.
+
+
+As an archer, you should always carry your bow with you. Doesn't warriors carry those heavy swords without complaining? Go and get it.
+
+
+As an honorary member of the Duck Side, know that we are more than we appear. The Moubootaur itself has seen fit to reward us when it awakens. Do not attempt to cross us.
+
+
+As far as we are concerned, you could have been an exiled prisoner who managed to escape! But there are ways to prove to the Alliance that your intentions are good.
+
+
+As long that Saulc doesn't draws the sprites for my stuff, that is! %%a
+
+
+As long that you have the money, and some really high quality material, I can tailor anything ugly in something fashion!
+
+
+As long that you know the basic structure, this shall do damage.
+
+
+As soon that Saulc GM get back, we can start.
+
+
+As the leader of your party, you can only go forward.
+
+
+As to how to obtain research points... Randomly when casting, by enrolling in a class with my wife Emma, by studying monsters, and randomly but very rarely with the Professor in Tulimshar.
+
+
+As usual, you can get only one hat yearly, for the symbolic amount of 40 @@ and 10 @@!
+
+
+As with all TMW2 Major Events, the top 1 receive a special pet, and the other ranked ones get diverse rewards.
+
+
+As you can guess, said village was abandoned. However, people are claiming to have seen people walking there, like shadows or zombies.
+
+
+As you learned, helping others is a good way to level up. You can also sell monster parts for some money.
+
+
+As you may be aware, the Magic Council is in Tulim, after all.
+
+
+As you may know, LOF ran on a modified version of The Mana World game, before being merged on TMW2: Moubootaur Legends.
+
+
+As you might have noticed, it depends on many circumstances if your arrow finds its target. Your shot may be too powerful or too weak, so the arrow goes far beyond your target or hits the ground before it reaches its destination.
+
+
+As you might know, the Great Fire ruined the whole world. Many people wanted to escape the wastelands which the continent had became, so they made convoys and left to the great sea.
+
+
+As you see, you can count the mages with the fingers of one hand. It's not just Mana Magic, either - Magic in overall is almost dead, with almost every Mana Stone on the power of the Monster King.
+
+
+As you want!
+¡Como quiera!
+
+As you wish. But do not mess with things you don't understand.
+
+
+Ash Urn
+Urna de ceniza
+
+Ask everytime
+
+
+Ask next time
+
+
+Ask.
+
+
+Assassin
+Asesino
+
+Assassin Boots
+Botas de asesino
+
+Assassin Chest
+
+
+Assassin Gloves
+Guantes de asesino
+
+Assassin Pants
+Pantalones de asesin
+
+Assassination failed - target is stronger than you
+
+
+Astral Cube
+Cubo astral
+
+At 00:00, 06:00, 12:00, 15:00, 18:00 and 21:00 server time
+
+
+At January 2008 - Construction of Dimonds Cove.
+
+
+At a first glance, it seems to be full of water, but inspecting closer, it is not.
+
+
+At long last, you see the end of the corritor.
+
+
+At the last day, an earthquake happened. And then, monsters started showing up everywhere. Immortal monsters, which come back after killed, as if they had touched the Soul Menhir.
+
+
+Atk +25
+
+
+Atk Range +1
+
+
+Atk. Speed +10
+
+
+Atonishing. Six gifts is the real deal. Easy to guess: 6400 is the next milestone.
+
+
+Atropos Mixture
+Mezcla de Atropos
+
+Attack him
+
+
+Attain level 50 to try this quest.
+
+
+Attempt to break the Mana Stone?
+
+
+Attempt to break the seal?
+
+
+Attempt to disarm the singularity?
+
+
+Attempt to heal the Mouboo
+
+
+Attempt to kill the Mouboo
+
+
+Attempt to lockpick?
+
+
+Attempt to retrieve it now?
+
+
+Attempted to buy %d/%d %s, operation cancelled.
+
+
+Attempts for today: %d/%d
+
+
+Auldsbel
+
+
+Auldsbel the Wizard
+
+
+Aurora
+
+
+Aurora Events
+
+
+Aurora will collect the crystals; And adventurers from the whole world shall look for them in the chests and return to Aurora!
+
+
+Authorship: Former_Cordo (Cordo)
+
+
+Authorship: Manatauro
+
+
+Authorship: Xanthem (DiamondPython)
+
+
+Automatic Botchecks
+
+
+Automatic disarm in: @@
+
+
+Automatic fishing bait
+
+
+Autoreceive Strange Coins:
+
+
+Autumn
+
+
+Autumn Mask
+
+
+Average EXP:
+
+
+Average player level: @@
+
+
+Awake lost potential? This will mess with your char data irreversibly, beware.
+
+
+Awesome, come back if you ever want to create a larger group!
+¡Genial, vuelva si alguna vez quiere crear un grupo más grande!
+
+Awesome, here is the certificate! Choose guild name wisely, because there are no refunds, even if you lose it!
+
+
+Awful Yetis kidnapped my daughter, and brought her to the cave. Please save her!
+
+
+Aww it's not summer. I love June 21st, and the summer vacations!
+
+
+Axe Hat
+Sombrero de hacha
+
+Axzell the Alchemist
+
+
+Ayasha
+
+
+AyashaDebug
+
+
+Azul Skull Slime
+
+
+Azul Slime
+
+
+Azul Slime Mother
+
+
+AzulSlime
+
+
+BEGIN WARP PROCEDURES?
+
+
+BOSS FIGHT!
+
+
+BOSS WARNING
+
+
+BOTCHECK: You are on botcheck area. DO NOT attack or collect items until given the order.
+
+
+BUG, Please report: TorchTally, err_val @@
+
+
+BUG, REPORT ME! Hurncald Liberation Day check FAIL
+
+
+BUG, REPORT ME: QHUB PENALTY OVERRIDE INVALID SIGNAL @@
+
+
+BUT you can reduce the travel price to everywhere, to as low as 250 GP, by completing QUESTS!
+
+
+Bachelor
+
+
+Backsliding
+
+
+Backsword
+Sable
+
+Bah! Don't try to fool me! The sun can't burn in Nivalis.
+
+
+Bah, sorry my manners! I love to chat! Anyway, talk to any General of mine, just behind me. See if they need help.
+
+
+Baktar
+
+
+Baktar can be picky with Tulimshar stuff, too.
+
+
+Bandana
+Plátano
+
+Bandit
+
+
+Bandit Hat
+
+
+Bandit Hood
+Capucha de bandido
+
+Bandit Lord
+
+
+Bandit Mask
+
+
+Bandit Pants
+Pantalones de bandido
+
+BanditLord
+
+
+Bandits are a huge threat to Hurnscald. We're just a small farming town, and they're countless.
+
+
+Banned from Academy
+
+
+Banshee Bow
+Arco de Banshee
+
+Banu
+
+
+Bar Jobs
+
+
+Barbara was apprehended. It would be weird to show her on your inventory, so we won't.
+
+
+Barbara#01861
+
+
+Barbara, Wounded Girl
+
+
+Barbara. You're under arrest by Kenton's orders. Please surrend peacefully.
+
+
+Barbarian Amulet
+Amuleto bárbaro
+
+Barbarian Master Amulet
+Amuleto de maestro bárbaro
+
+Barbarian#Frostia
+
+
+Barely any difference, maybe I should use better healing items on it.
+
+
+Barrel
+Barril
+
+Barrel#1
+
+
+Barrel#2
+
+
+Barrel#3
+
+
+Barrel#4
+
+
+Barrel#5
+
+
+Barrel#6
+
+
+Barrel#7
+
+
+Barrel#8
+
+
+Barrels#MKHB
+
+
+Bartender
+
+
+Barzil
+
+
+Base Experience Rate is now %d%%.
+
+
+Base Tier
+
+
+Bash your weapon against your enemies with raised damage and accuracy.
+
+
+Basic Magic
+
+
+Basic Tricks
+
+
+Basic earth area attack. May stun targets.
+
+
+Basic earth single target attack. May stun targets.
+
+
+Basic fire single target attack. May burn targets.
+
+
+Basic ice area attack. Freeze targets in a big area.
+
+
+Basic ice area attack. May freeze targets.
+
+
+Basic ice single target attack. May freeze targets.
+
+
+Basic multi-target holy attack. Is actually weak.
+
+
+Basic single target holy attack. Splashes in the nearby tiles.
+
+
+Basic wind single target attack. Strong in overall.
+
+
+Basically, I need to find a friendly Yeti. Do they exist?
+
+
+Basically, no one else disturbs me anymore when I'm busy snoring in class! ^.^
+
+
+Basically, there's no sea route to Halinarzo. You must head southeast of Tulimshar.
+
+
+Basil
+
+
+Bat
+
+
+Bat Egg
+
+
+Bat Teeth
+Dientes de murciélago
+
+Bat Wing
+Ala de murciélago
+
+Bathrobe
+Bata de baño
+
+Battle Plans
+
+
+Be Patient... You still need to wait @@.
+
+
+Be a friend and bring me @@ @@.#0
+Sea un amigo y tráigame @@ @@.#0
+
+Be a friend and bring me @@ @@.#1
+Sea un amigo y tráigame @@ @@.#1
+
+Be aware I can only bake batches of @@ potions.
+
+
+Be careful as not everybody likes transmuted monster parts. Some may even see it as a foul thing. Anyway. Come back later.
+
+
+Be careful during night, use "@tutorial" in case of doubt, use "%s" to go to the event, and good luck!
+
+
+Be careful that they may be anywhere in the world, and the same rules as Tulimshar Guard House apply! So, are you here to apply or to report back?
+
+
+Be careful to not get lost in the forest.
+
+
+Be careful when walking, because you may change quadrands and then... It won't count. You'll need to start over again.
+
+
+Be careful!
+
+
+Be careful, because the more magic power you ask the Mana Seed, the more difficult to control it will be.
+
+
+Be cursed, you fool!
+
+
+Be devoured!
+
+
+Be sure to have a friend before joining, or you may have to logout in order to be able to move again!
+
+
+Bear Hat
+
+
+Bear Strike
+
+
+Beard
+Barba
+
+Beatrice
+
+
+Because I am a special nymph.
+
+
+Because I am awesome!
+
+
+Because Isbamuth is tracking me? It would be pointless if he noticed. If you can't even understand this, maybe I overestimated you, after all...
+
+
+Because heroes are not born, rather, they are made!
+
+
+Because in the end, you are in the hands of your class leader!
+
+
+Because it may be a fatal fall!
+
+
+Because the council has some crazy project which requires me to move crates all the time!
+
+
+Because they control everything! They even determine taxes!
+
+
+Because this, the national budget is going to other silly, under-rewarding, minor things...
+
+
+Bed#Saggy
+
+
+Beds
+
+
+Bee
+
+
+Bee Hive
+
+
+Bee Keeper Hat
+
+
+Bee Stinger
+
+
+Beer
+
+
+Beer is nice, but sometimes I want something more exotic to drink! Oui, we need a proper bar here!
+
+
+Before start witch item do you want to play
+
+
+Before you give me your report, acquire level %d.
+
+
+Begger#EP
+
+
+Begin campaign?
+
+
+Begin classic mode
+
+
+Begin!
+
+
+Begin?
+
+
+Behave yourself, or you'll be executed in the town square mercilessly. You have been warned.
+
+
+Behave yourself.
+
+
+Bella, the Scholar
+
+
+Below this strange writing, you notice a word still deeply engraved in the stone:
+
+
+Ben Parkison
+
+
+Ben#NivBanker
+
+
+Benjamin
+
+
+Benjamin reported in. Good luck arresting the criminal!
+
+
+Benjamin, Wounded Soldier
+
+
+Bent Needle
+Aguja doblada
+
+Besides "spot", you can also use "nearest" for more area, and even "near" or "nearby" for even more.
+
+
+Besides being able to train you, he is a walking encyclopedia - Ask him anything you are unsure about!
+
+
+Besides that, do I look like a warrior to you? Why would you give a kid a sharp dagger?
+
+
+Besides the Magic Council, Andrei Sakar have his own Mana Stone, but I doubt he would train the likes of you, or share his Mana Stone.
+
+
+Besides this, there is Seasons. You know, summer, autumn, winter and spring.
+
+
+Besides, I know these caves like the back of my hand. You would have a hard time tracking me down.
+
+
+Besides, I'm not an Yeti expert. I don't understand how these creatures think, nor do I care! I only want Cindy back home safely!!
+
+
+Besides, the Alliance High Council had plans for an expedition on the Fortress Island, but had no personel to do it.
+
+
+Besides, there are no Butterflies in Tulimshar, and they could help the farm in getting producing food.
+
+
+Better do this some other time...
+
+
+Better luck next time!
+
+
+Better luck next time!"
+
+
+Beware the Terranite! Only @@ would be brave enough to challenge them!
+
+
+Bhop Fluffy
+
+
+Bhopper Egg
+
+
+Bif
+
+
+Bif is a monster shaped like weird rocks. Diamond Bif is a Bif with higher chances to drop Diamonds.
+
+
+Big Amethyst Bif
+
+
+Big Arrow Sack
+
+
+Big Bullet Sack
+
+
+Big Diamond Bif
+
+
+Big Elenium Bif
+
+
+Big Emerald Bif
+
+
+Big Frog
+
+
+Big Magic Bif
+
+
+Big Pumpkin Seed
+Semilla de calabaza grande
+
+Big Ruby Bif
+
+
+Big Sapphire Bif
+
+
+Big Topaz Bif
+
+
+Billy
+
+
+Billy Bons
+
+
+Billy Bons#TMW2
+
+
+Birds in the Sunrise
+
+
+Black Dye
+Tinte negro
+
+Black Mamba
+
+
+Black Mamba Egg
+Huevo de mamba negra
+
+Black Mamba Egg -> Mountain Snake Egg
+
+
+Black Mamba Skin
+Piel de mamba negra
+
+Black Mamba Skin -> Mountain Snake Skin
+
+
+Black Mamba Tongue
+Lengua de mamba negra
+
+Black Mamba Tongue -> Mountain Snake Tongue
+
+
+Black Pearl
+Perla Negra
+
+Black Scorpion
+
+
+Black Scorpion Claw
+
+
+Black Scorpion Claw -> Red Scorpion Claw
+
+
+Black Scorpion Stinger
+Aguijón de escorpión negro
+
+Black Scorpion Stinger -> Red Scorpion Stinger
+
+
+Black Skull Slime
+
+
+Black Slime
+
+
+Black Slime Mother
+
+
+BlackCat
+
+
+BlackScorpion
+
+
+Blacksmith
+Herrero
+
+Blacksmith Axe
+Hacha de herrero
+
+Blacky Cat
+Gato negro
+
+Blade Shield
+Escudo de cuchillas
+
+Blame @@, missing map between 014-5 and 019-1, solely to make trip longer.
+
+
+Blame Saulc
+Culpa a Saulc
+
+Blame Saulc.
+
+
+Blanket
+Manta
+
+Bleed
+
+
+Blessing applied at: %s
+
+
+Blessing of Defense
+
+
+Blessing of Immortality
+
+
+Blind
+
+
+Block +1%
+
+
+Bloodbath
+
+
+Bloodstone Pendant
+Colgante de piedra de sangre
+
+Bloody Mouboo
+
+
+Bloody Mouboo Hat
+Sombrero de Mouboo ensangrentado
+
+Blooodstone
+
+
+Blossom
+
+
+Blossom, blossom, why you do this to me...
+
+
+Blub
+Blub
+
+Blub, blub, blub
+
+
+Blue
+Azul
+
+Blue Coral
+Coral azul
+
+Blue Dye
+Tinte azul
+
+Blue Eggshell Hat
+Sombrero de cáscara de huevo azul
+
+Blue Gray Dye
+Tinte gris azulado
+
+Blue Knight Shield
+Escudo de Caballero Azul
+
+Blue Mana Pearl
+Perla de maná azul
+
+Blue Sage will want to know this, I'll write him a letter.
+
+
+Blue Slime
+
+
+Blue Slime Mother
+
+
+Blue Switch#EP
+
+
+Blue from sea, learned how to hunt. But unfortunately, not how to withstand attacks.
+
+
+Blueberries
+
+
+Bluepar
+
+
+Boias, unlike common shields, does not have any penalty!
+
+
+Bone
+Hueso
+
+Bone Ammo Box
+
+
+Bone Arrow
+
+
+Bone Knife
+Cuchillo de hueso
+
+Bonjour! I am @@, and I am from the Press! Read the latest news with me!
+
+
+Bonus recipes must be enabled with @@ after learned!
+
+
+Bonus:
+
+
+Boo!
+
+
+Book Keeper
+
+
+Book#01863A
+
+
+Book#FoS
+
+
+Book#Saggy
+
+
+Bookcase#MKHB1
+
+
+Bookcase#MKHB2
+
+
+Bookcase#MKHB3
+
+
+Bookcase#MKHB5
+
+
+Booo....
+
+
+Boots
+Botas
+
+Booty!
+
+
+Boring NPC
+
+
+Born %s ago
+
+
+Boss Hunter Boina
+Boss Hunter Boina
+
+Boss Of The Dusty People
+
+
+Boss Raid
+
+
+Boss defeated!
+
+
+Bot Master
+
+
+Both rent and furniture are bought using money, however, there are mobiliary credits.
+
+
+Bottle Of Divine Water
+Botella de agua divina
+
+Bottle Of Sand
+Botella de arena
+
+Bottle Of Sea Water
+Botella de agua de mar
+
+Bottle Of Sewer Water
+
+
+Bottle Of Tonori Water
+
+
+Bottle Of Woodland Water
+
+
+Bounty Hunter Helmet
+Casco de cazarrecompensas
+
+Bow (strong, slow, no evasion)
+
+
+Bowler Hat
+Bombín
+
+Bows
+
+
+Bows are good, but if you're going to the Desert Canyon, I would instead invest on a light shield. Heavy ones make you walk slower.
+
+
+Bows give you a good attack range, in exchange of all your evasion.
+
+
+Box Of Chocolates
+Caja de chocolates
+
+Bracco
+
+
+Brain
+Cerebro
+
+Brainic
+
+
+Brainstem
+Tronco encefálico
+
+Braknar Shield
+Escudo Braknar
+
+Braknar Shield Recipe unlocked!
+
+
+Braknar also used a pseudonym - Arvek. If you hear that name in some tale, it is the same person.
+
+
+Brave adventurers, be ready for the worst!
+
+
+Brave players need to group and retake them!
+
+
+Brawling
+
+
+Brazil: [@@http://www.prosangue.sp.gov.br/home/Default.html|http://www.prosangue.sp.gov.br/home/Default.html@@]
+
+
+Bread
+Pan
+
+Bread is fine, but it would taste better with @@. Could you bring us three?
+
+
+Break it!
+
+
+Break the crystal?
+
+
+Breaking a seal is easy, just flow mana on it for enough time to it shatter.
+
+
+Bribe the guard for @@ GP?
+
+
+Brimmed Feather Hat
+Sombrero de visera con plumas
+
+Brimmed Flower Hat
+Sombrero de visera con flores
+
+Brimmed Hat
+Sombrero de visera
+
+Bring it on!
+
+
+Bring me %d %s so I may study its properties and improve our town water quality!
+
+
+Bring me %d %s, %d %s, %d %s, and %d %s, and I will make it for you. I also charge %d GP as commission.
+
+
+Bring me %d %s, %d %s, %d %s, and %d %s, and I will make it for you. I also charge %d GP commission.
+
+
+Bring me %d %s, %d %s, and %d %s and I can make it for you... oh and it will be %d GP for my work.
+
+
+Bring me %d %s, the white slimes keep stealing them and I am a bit too old to go running around, hunting slimes!
+
+
+Bring me %d %s, we elves are infinitely beautiful and the white slimes, just like your kin, seems to envy us. So please recover the stolen mirrors.
+
+
+Bring me %d %s. I cannot tell you what for, though!
+
+
+Bring me %s or make your own party if you want to help me.
+
+
+Bring me 10 @@. I'll pay you some money for that, of course.
+
+
+Bring me @@ Bandits or Sarracenus heads, or the double of that in Desert Log Heads, and I'll consider you brave enough.
+
+
+Bring me the proof of your devotion, and I shall arrange you an audience with the Queen.
+
+
+Bring me the stolen item, pretty please.
+
+
+Bring me this and I'll spawn it for you:
+
+
+Bring me your wood, and I'll show you which one is sturdy, yet flexible enough to make a good Forest Bow.
+
+
+Bring me, my worst nightmare.
+
+
+Brit Shield
+Escudo britanico
+
+Broadsword
+Mandoble
+
+Broadsword!
+
+
+Broken Doll
+Muñeca rota
+
+Broken Four Leaf Amulet
+
+
+Broken Medal
+Medalla rota
+
+Broken Warp Crystal
+Cristal de warp roto
+
+Bromenal Boots
+Botas Bromenal
+
+Bromenal Chest
+Pechera bromeral
+
+Bromenal Four-Leaf Amulet
+Amuleto bromenal de cuatro hojas
+
+Bromenal Gloves
+Guantes Bromenal
+
+Bromenal Helmet
+Casco Bromenal
+
+Bromenal Pants
+Pantalones Bromenal
+
+Bromenal Shield
+Escudo Bromenal
+
+Bronze Boss Gift
+
+
+Bronze Braknar Shield
+
+
+Bronze Chest
+
+
+Bronze Gift
+Regalo de bronce
+
+Bronze Gladius
+Gladius de bronce
+
+Bronze Medal
+
+
+Bronze Quiver
+Carcaj de bronce
+
+Brown Dye
+Tinte marrón
+
+Brr! It's extremely cold! I cannot go there!
+
+
+Brrrr... I'm freezing! The winter at Nivalis is so harsh!!
+
+
+Buccaneer
+
+
+Bucket
+Cubeta
+
+Bug Leg
+Pata de insecto
+
+Bug Slayer
+Asesino de Bugs
+
+Bug, report me!
+
+
+Build a bridge with wooden logs!
+
+
+Bull Helmet
+Casco de toro
+
+Bullet
+
+
+Bunny Ears
+
+
+Burglar Mask
+Máscara de ladrón
+
+Burn the potion
+
+
+Burn, destroy, do whatever you need, until your last breath, my lieutenants and colonels!
+
+
+Burning
+
+
+But %s is too valuable to burn and there is no alternative fuel for forges. It sells for %d GP and we are just wasting it here.
+
+
+But I can sell ya a %s for %d GP. Interested?
+
+
+But I can still make it without cookies, as long that you bring me some other sweeties.
+
+
+But I can try my best for you!
+
+
+But I can't help but keep thinking on how many shiny treasures might be there!
+
+
+But I need to!
+
+
+But I should probably get inside it, first.
+
+
+But I want to swim!
+
+
+But I will not give up on my little experiment. Incidentally, Snakes are shaddy enough for my experiment. I promise you, I'll succeed this time.
+
+
+But I'm almost out of @@...
+Pero estoy casi fuera de @@...
+
+But all I could do was a bite.
+
+
+But also very amusing. I'm sure Pihro and Pyndragon, the town mayors, will fancy this request of yours.
+
+
+But as you're here now, could you do me a favour?
+
+
+But be careful: do not scream when using a lot of capital letters, and do not keep repeating the lines, and above all DO NOT SPAM, or you may be severely penalized.
+
+
+But be careful: learning fees and research points WILL NOT be given back!
+
+
+But be warned, I don't have the Apple with me. It must be further in.
+
+
+But before, a message from our developers!
+
+
+But can I help you?
+
+
+But come back in a few hours, I didn't lost all @@!
+
+
+But do you want to hear a song about the world, or about grinding?
+
+
+But don't worry! South of here we have an Inn.
+
+
+But don't worry, because as they say: The more you learn, the better you get at learning!
+
+
+But dragons came and started roaming this island. My friends are now either dead or missing. You look big and strong, do you want to avenge me?
+
+
+But due to all of the chaos from when the slimes escaped, most of the phials of colored ink were broken. How am I supposed to do the illustrations without color?
+
+
+But first... My throat is dry. Can you bring me a beer?
+
+
+But for now, we must NOT enrage the Moubootaur!!
+
+
+But he have lots of enemies... It would not surprise me to find him struck somewhere.
+
+
+But hope is not lost, said the Sages of Fate!
+
+
+But if I do, I'll not return. Neither me, nor Raid. Which is why I'm taking precautions: This diary. In the event of my death, please bury my body and contact Halinarzo.
+
+
+But if a mage wants to be a warrior, they won't be able to use their full magic skills.
+
+
+But if you and other players surrounds the monster instead, they'll suffer the same penalties!
+
+
+But if you believe in such cool challenge like mine there should be no dishonorable fight, comment it on Discord!
+
+
+But if you bring me %d %s and %d %s and %s GP, I can give you a %s!
+
+
+But if you keep harming the forest, this will be for naught. Was I clear?
+
+
+But if you only want to sit down and chat, this area is ideal for you!
+
+
+But if you regret this choice later... You know where you can find me.
+
+
+But if you want to be guard, you must be brave! Go fight your fears, and go kill some bandits like a decent guard.
+
+
+But if you want, you can farm @@ already. Good luck!
+
+
+But if you're looking to go to the World Edge, the place where THE WORLD WILL DIE, I guess you are immune to rumors.
+
+
+But if you're not skilled enough, or lose control of it, a Moggun might be spawned instead. Which is a young, weak, baby Yeti.
+
+
+But if you're wrong, you'll have to pay up! There's no refunds. This is gambling, if you lose you lose!
+
+
+But in accordance to an old %s, you were unlucky.
+
+
+But instead of dying a Monster King he became!
+
+
+But it is a massive organization, recognized by everyone. Guilds train with other guilds, for huge profits.
+
+
+But it is a so silly fight, that whoever you join with shouldn't do much difference.
+
+
+But it is spring! Perhaps, if you bring me some flowers and fruits which only grow at Spring, I could impress her!
+
+
+But it is still too early to give it away to a %s children.
+
+
+But it will not help you to craft something as complex as weapons or armors. If we catch you profaning this magic... I'll have you returned to the sea %%e
+
+
+But it's ultimate goal of miners there.
+
+
+But maybe you could help me killing a few maggots?
+
+
+But maybe you should help other people and get some levels before returning to me.
+
+
+But my case requires extended treatment. I need to be hospitalized. I'm afraid it is too late for the Elixir to have effect...
+
+
+But now, we are quite old. I remember the time when I was your age. My generation doesn't do stupid things like yours!
+
+
+But please be picky with how you spend job points. They are hard to come by, and I'm not entirely sure you can change it later.
+
+
+But pretty much, anything which contributes to the common knowledge of this world. It might even be writing a NPC telling about the world history, developing software for Wiki/GameInfo/etc., it all depends on the scholars.
+
+
+But remember: %s
+
+
+But remember: This makes you much more vulnerable, and you usually cannot hit from too close, so watch your step and don't stumble into your enemy's attack.
+
+
+But she is a fairy. She won't be pleased with flowers. Instead, go and give her a %s as a token of good will.
+
+
+But still, he can't just walk in there, fiddle with the experiments and disturb the helpers doing their work.
+
+
+But thanks to your %s skills, maybe you can pry this open.
+
+
+But that is unlikely, we have no reason to sabotage our own work! You saw the mess it caused. Everyone knew it was important.
+
+
+But that's no excuse for cowardice!
+
+
+But that's not so easy... I already sent many people, and even come myself, but he refuses to help.
+
+
+But the box was empty.
+
+
+But the game still is in development, so not every great feat was added yet.
+
+
+But the game still is in development, so not every quest was added yet.
+
+
+But the monsters around here must be pretty scary for someone like you.
+
+
+But the more you use a certain skill, the less research points will be required to upgrade it. And that bonus is permanent.
+
+
+But the most useful thing might be drinking %s and the like. They also boost drop rates, but weak drinks effects are low and short.
+
+
+But the teddy unexpectedly starts moving towards your bag, possibly attracted by some smell. You give up on approaching it, and starts watching it.
+
+
+But the teddy, noticing your movement, starts getting farther from you. It doesn't seems scared, but it doesn't allows you to approach either.
+
+
+But then, Andrei Sakar appeared. Hope was not lost. We could still defend it.
+
+
+But there was only @@ GP inside.
+
+
+But there was only a(n) @@ inside.
+
+
+But this is not a time of need, so it is unlikely to appear even if all other conditions were to be met.
+
+
+But this is not important. They are dangerous. They must be stop at any cost!
+
+
+But to be fair, from what I've seen Peetu was always very attentive and dutiful.
+
+
+But to defeat this dummy, I would say that %s should do the trick.
+
+
+But unfortunately, a loose stone lodges and you fall to your death.
+
+
+But unfortunately, it was harder than you thought. You are dead.
+
+
+But unfortunately, whoever made this riddle disagrees with me.
+
+
+But unless you touch a Mana Stone and get stronger magic, that would be as useful as teaching magic to a wall. No offense.
+
+
+But we are working day and night. We hope that soon, more people come out and this place gets lively again.
+
+
+But we cannot ignore the threat this imposes to us. You might not know our world's history, but this place should never be inhabited or else...
+
+
+But we took every stone, and restricted the magic.
+
+
+But what I really hate is that they forbid gossiping.
+
+
+But when I left him to look at the books on his own, he sneaked over to the workshop area. Visitors are allowed to have a look there, but only if they don't interfere with any research and experiments. But it seems he was being rather disturbing, since they sent them back to the library part.
+
+
+But who am I?
+Pero, ¿quién soy yo?
+
+But who cares? We need to save the Professor! During night, monsters are stronger, so they'll probably attack at night time!
+
+
+But with a @@, when you are about to die, you can warp back to Soul Menhir and bypass death penalty.
+
+
+But you already have Mylarin Dust! That's good, because I no longer craft savior pieces. But. For %s GP I'll give you a %s and if you're lucky, it'll have the recipe you're after.
+
+
+But you are welcome to reset your stats again! I need the money.
+
+
+But you can also wear a %s instead, no problem.
+
+
+But you did not hit... have another try.
+
+
+But you don't have any experience at the moment, so what do you have to lose?
+
+
+But you have already given me firewood today. Come back tomorrow, pal.
+
+
+But you lack magic! That's a pity."
+
+
+But you seem to have come from more savage and barbaric towns, so if you could bring me %d %s, that would be truly helpful.
+
+
+But you won't *hic* me this time...
+Pero tú no me *hic* esta vez.
+
+But you're too slow to catch any of them. Sorry.
+
+
+But you're too slow. Sorry.
+
+
+But you're too weak to beat any of them. Sorry.
+
+
+But you're too weak. Sorry.
+
+
+But your silly map must be wrong. These passages do not connect themselves like this, but this should not be an issue, as they're not relevant.
+
+
+But, I found something really interesting! Ah... I hope you like history?
+
+
+But, hm hm hm! I have a %s for you! It won't have what you wanted, but maybe you're lucky, after all?
+
+
+But, it wouldn't look nice if I let you do all the killing! The other guards are working right now!
+
+
+But- But you have to! It is the
+
+
+But... But! Where are you?! That summon ritual is equivalent to GM magic!
+
+
+Butcher Knife
+Cuchillo de carnicero
+
+Butterfly
+Mariposa
+
+Buy
+
+
+Buy a Housing Letter
+
+
+Buy a mercenary card
+
+
+Buy cheap, sell expensive!
+
+
+Buying rares
+
+
+By "breaking", I do not mean death. It is something worse.
+
+
+By far, the most important holiday on Moubootaur Legends.
+
+
+By last, east of here are the Canyons. Do not go there before level 20, and even then, do not engage snakes in combat. They are fast and very dangerous.
+
+
+By last, there was the Blue Sage, living on Nivalis... I never met him outside the Council.
+
+
+By pressing @@, you can open the Shortcut menu. And by pressing @@, you open the skill menu!
+
+
+By sitting in the rug in front of the professor (the one with benches)
+
+
+By the way , it is done already. You took a long time, you know? Also, we're talking about Pihro and Pyndragon.
+
+
+By the way would you like to transform your gem?#0
+
+
+By the way would you like to transform your gem?#1
+
+
+By the way, I can't say for sure it was a man. He smelled like onions, and his face was shinning.
+
+
+By the way, I found this Mask after you killed the Fafi Dragon, Maybe you can use it some day.
+
+
+By the way, I've heard that the name of the wizard of Aethyr is the key to open its gates. But I don't know neither where the gates are, nor who is the "wizard of Aethyr".
+
+
+By the way, did you know that the official color of Tulimshar is yellow?
+
+
+By the way, you need a couple of @@ to try the skill. Fail rate is pretty high if you don't know how to control your magic.
+
+
+Bye for now.
+Adiós, por ahora.
+
+Bye then!
+¡Hasta pronto!
+
+Bye!
+¡Adiós!
+
+Bye.
+Adiós.
+
+CAPTCHA: An error happened, try again.
+
+
+CAPTCHA: Cooldown in effect.
+
+
+CAPTCHA: Incorrect answer. Wait %ds and try again.
+
+
+CAPTCHA: You have %s minute(s) remaining
+
+
+CLEAR!
+
+
+COD: Ran out of time!
+
+
+CONGRATULATIONS! For a semester worth of logins, you're getting a pet!
+
+
+CONGRATULATIONS! You are the first player to finish Cindy Quest!!
+
+
+CONGRATULATIONS! You are the first player to finish Gemini Sisters quest!!
+
+
+CONGRATULATIONS! You are the first player to finish Heroes Hold Master Dungeon!!
+
+
+CONGRATULATIONS! You are the first player to finish The Episode of Ozthokk!!
+
+
+CONGRATULATIONS! You are the first player to finish Yeti King quest!!
+
+
+CONGRATULATIONS! You are the first player to harness all power the Mana Stone would willingly give!
+
+
+CONGRATULATIONS! You have obtained the %s.
+
+
+CONTINUE ANYWAY? [Y/N]
+
+
+Cactus Cocktail
+Cóctel de cactus
+
+Cactus Drink
+Bebida de cactus
+
+Cactus Potion
+Poción de cactus
+
+Cadis : You have slain %s %s out of a million.
+
+
+Cadis Mode
+
+
+Caelum
+
+
+Cake Town (Hurnscald)
+
+
+Call Of Dusty
+
+
+Call Of Dusty is a timed event quest. It begins hourly, when the minute clock marks zero.
+
+
+Calm down! How can I help you?
+
+
+Calm down, don't get mad! I was wrong in trusting this map, it is definitely faulty. Lemme see it again...
+
+
+Calm, perfect for a fly!
+
+
+Camel Dye
+Tinte camel
+
+Camilot
+
+
+Campaign starts after 60 seconds. Eight maggots will spawn on the next 100 seconds.
+
+
+Can I become a miner?
+
+
+Can I find a mana source here?
+
+
+Can I have a Blanket, at least?
+
+
+Can I help you somehow today?
+
+
+Can I help you with something?
+
+
+Can I help you?
+
+
+Can I read these rules again?
+¿Puedo leer estas reglas de nuevo?
+
+Can I return to the shrine?
+
+
+Can we get back to that later?
+
+
+Can we keep %s at bay long enough?
+
+
+Can you bring me 3 @@? Of course, you'll be rewarded.
+
+
+Can you bring me 5 pieces of Cherry Cake? Pretty please?
+
+
+Can you come back with all the items I asked for? Please.
+
+
+Can you craft Chainmail Skirt?
+
+
+Can you craft Chainmail?
+
+
+Can you craft Light Platemail?
+
+
+Can you craft Savior Equipment?
+
+
+Can you craft Warlord Plate?
+
+
+Can you do something with my color?
+¿Puede hacer algo con i color?
+
+Can you do that? I'll be waiting!
+
+
+Can you fetch with her? 12 %s.
+
+
+Can you give me a @@ or a @@
+
+
+Can you give me a tip?
+
+
+Can you give me half the gold and half the monster points?
+
+
+Can you help me find some @@?
+
+
+Can you help me with Everburn Powder? I need 5.
+
+
+Can you help me?
+
+
+Can you improve my Light Platemail for me?
+
+
+Can you improve my Warlord Plate for me?
+
+
+Can you make me a Monster Potion?
+
+
+Can you mix Gem Powder?
+
+
+Can you mix me an agility potion?
+
+
+Can you please explain the task again?
+
+
+Can you please go away?
+¿Puede irse, por favor?
+
+Can you please repeat your lesson?
+
+
+Can you repeat what you said before?
+
+
+Can you reset my stats please?
+¿Puede reiniciar mis estadísticas, por favor?
+
+Can you search ##Bthe barrels##b for the bug bomb and set it off when you find it?
+
+
+Can you sing me a song?
+
+
+Can you teach me Mana Magic?
+
+
+Can you teach me a basic shaman skill? please?
+
+
+Can you teach me a spell?
+
+
+Can you teach me magic? Pretty please?
+
+
+Can you teach me some Alchemy Recipe?
+
+
+Can you, perhaps, do me a favor? Please... Check her house for any signs of battle.
+
+
+Can't I do anything, though?
+
+
+Can't blame you, can't blame you at all! Here, take a seat!
+
+
+Can't chat, recover HP over time
+
+
+Can't leave right now.
+
+
+Can't move nor attack, crit def -100%
+
+
+Can't move nor evade.
+
+
+Can't move, Acc. and Evade -20%%
+
+
+Can't move, DEF-, Damage over time, Earth element
+
+
+Can't move, DEF-, no evade, Water element
+
+
+Can't talk right now, I'm on patrol duty.
+No puedo hablar ahora, estoy de patruya.
+
+Can't use skills
+
+
+Can't you see I'm busy?
+
+
+Cancel
+
+
+Candied Slime
+
+
+Candle Helmet
+Casco de vela
+
+Candor
+
+
+Candor - @@ GP
+
+
+Candor Battle Score: %s
+
+
+Candor Battle Season
+
+
+Candor Bloodbath Score: %s
+
+
+Candor Bola
+Flotador de candor
+
+Candor Boots
+Botas de Candor
+
+Candor Gloves
+Guantes de Candor
+
+Candor Head Band
+Banda para la cabeza de Candor
+
+Candor Island
+
+
+Candor Island, then? Yes, that is a pretty island, right?
+
+
+Candor Scorpion
+
+
+Candor Shirt
+Camisa de candor
+
+Candor Shorts
+Pantalones cortos Candor
+
+Candor Survival : New Highscore: %s
+
+
+Candor Warp Crystal
+Cristal de warp de Candor
+
+Candor's Nurse
+
+
+CandorShip
+
+
+Candy
+Dulce
+
+Candy Cane
+Bastón de caramelo
+
+Canyon - Safe Route
+
+
+Canyon - Settlement Route
+
+
+Cap
+Gorra
+
+Captain
+
+
+Captain Cap
+Gorra de capitán
+
+Captain Nard
+
+
+Captain Nard have it. Fetch it with him! Quick, you only have @@ left!
+
+
+Captain, why have you brought me to a deserted boring island?!
+
+
+Captcha ok
+
+
+Captcha successful
+
+
+Caramel Candy
+Dulce acaramelado
+
+Cards are ranked on this priority: A - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - J - Q - K - Joker
+
+
+Careful: You have unsaved changes!
+
+
+Carla
+
+
+Carrot
+Zanahoria
+
+Casino Coins
+Monedas de casino
+
+Cassia
+
+
+Cat Ears
+Orejas de gato
+
+Catch the Golden Fish!
+
+
+Catch the golden fish swarm!
+
+
+Cato Mil
+
+
+Catty Cat
+Gatito
+
+Cauldron#MKHB
+
+
+Cauldron#RES_0128
+
+
+Cauldron#RES_PPL
+
+
+Cause a very strong attack with lowered accuracy.
+
+
+Causes a healing effect in area to guild members.
+
+
+Caution
+
+
+Cave Bat
+
+
+Cave Maggot
+
+
+Cave Maggot
+
+
+Cave Snake
+
+
+Cave Snake Egg
+Huevo de serpiente de cueva
+
+Cave Snake Hat
+Sombrero de serpiente cueva
+
+Cave Snake Lamp
+Lámpara de serpiente cueva
+
+Cave Snake Skin
+Piel de serpiente cueva
+
+Cave Snake Tongue
+Lengua de serpiente cueva
+
+Cave Snale
+
+
+CaveMaggot
+
+
+Celestia
+
+
+Celestia Season
+
+
+Celestia Tea
+
+
+Celestia asks for your help.
+
+
+Celestia eyes sparkles.
+
+
+Celestia hands you a cup filled with some type of tea that is unlike anything you have seen before.
+
+
+Celestia then picks up the cup of tea and drinks it in front of you to demonstrate that it is not only harmless but also quite delectable.
+
+
+Cell Door#G01
+
+
+Cell Door#G02
+
+
+Cell Door#G03
+
+
+Cell Door#K01
+
+
+Centaur
+
+
+Centaur Spear
+Lanza de centauro
+
+Central Switch#EP
+
+
+Centurion Helmet
+Casco de centurión
+
+Certainly not. Uhh, please excuse me.
+
+
+Certainly, you can have all my Terranite Ore.
+
+
+Ch 1 — Fishing apparatus
+Ch 1 — Aparatos de pesca
+
+Ch 1 — Prologue
+
+
+Ch 2 — About Magic Skills
+
+
+Ch 2 — Baits
+Ch 2 — Anzuelos
+
+Ch 3 — Location
+Ch 3 — Ubicación
+
+Ch 3 — Status Ailments
+
+
+Ch 4 — Casting
+Ch 4 — Fundición
+
+Ch 4 — Information About You
+
+
+Ch 5 — Information About Others
+
+
+Ch 5 — Reeling
+Ch 5 — Carrete
+
+Chagashroom
+Seta chaga
+
+Chagashroom Field
+
+
+Chagashroom Field
+
+
+Chainmail
+Cota de malla
+
+Chainmail Skirt
+Falda de cota de malla
+
+Chairs
+
+
+Chamomile Tea
+
+
+Championship Bow
+Arco de campeonato
+
+Change Crafting Options
+
+
+Change Language
+
+
+Change Linked Discord Account
+
+
+Change Season Event
+
+
+Change crafting method
+
+
+Change my appearance
+Cambiar mi apariencia
+
+Change my quests
+Cambiar mis misiones
+
+Change weapons
+
+
+Changes include but are not limited to festive events and dates.
+
+
+Chanting
+
+
+Chanting Challenge
+
+
+Chanting is extremely simple, and everyone can do it, even if they're not inate.
+
+
+Chaos shall be the founding stone of my town! Falling star!
+
+
+Char Name: @@
+
+
+Charda
+
+
+Charda clean!
+
+
+Charles, Trader King
+
+
+Cheater detected! You have a three minutes sentence to fulfill, now.
+
+
+Cheater detected.
+
+
+Check @@ <= @@
+
+
+Checkpoint Guard#1
+
+
+Checkpoint Guard#2
+
+
+Checkpoint Guard#3
+
+
+Checkpoint Guard#4
+
+
+Checkpoint! Magic Barrier went down!
+
+
+Ched
+
+
+Cheers!
+¡Salud!
+
+Cheese
+Queso
+
+Chef Gado
+Chef Gado
+
+Chef Hat
+Sombrero de cocinero
+
+Chef#dimond
+
+
+Cherry
+Cereza
+
+Cherry Cake
+pastel de cereza
+
+Cherry Cocktail
+Cóctel de cereza
+
+Chest Armor Recipes
+
+
+Chest#002-1
+
+
+Chest#gemini
+
+
+Chestplates
+
+
+Chicken Leg
+Pata de pollo
+
+Chirp
+
+
+Chocolate Bar
+Barra de chocolate
+
+Chocolate Biscuit
+galletas de chocolate
+
+Chocolate Bunny
+Conejo de choclate
+
+Chocolate Dye
+Tinte de chocolate
+
+Chocolate Mouboo
+Mouboo de chocolate
+
+Chocolate Slime
+
+
+Chocolate Slime Mother
+
+
+Christmas
+Navidad
+
+Christmas 2021 Joint Event
+
+
+Christmas Chief
+
+
+Christmas Cook
+
+
+Christmas Gift
+
+
+Christmas Storage Master
+
+
+Christmas Sweater
+
+
+Christmas Top 1 Prize
+
+
+Christmas Tree
+
+
+Cindy is gone...
+
+
+Cindy is too scared to leave; Better we kill the Yetis and their friends!
+
+
+Cindy#Outside
+
+
+Cindy#house
+
+
+Citizen
+
+
+Civil status: Married
+
+
+Civil status: Single
+
+
+Civilian traffic keeps declining but they keep bringing more crates back and forth! Crates filled with rubble!
+
+
+Clan Name: @@
+
+
+Claw Pendant
+Colgante de garra
+
+Clear the arena to leave!
+
+
+Cleared Gemini Sisters Quest %s ago
+
+
+Cleared Heroes Hold %s ago
+
+
+Cleared the Yeti King Challenge %s ago
+
+
+Clearly an exotic tea, with a refined flavor fit for a refined woman such as Celestia.
+
+
+Cleric Cap
+Gorro de clérigo
+
+Cleric Card
+
+
+Cleric Card S
+
+
+Cleric Card X
+
+
+Click "Next" to begin the fight.
+
+
+Click on Elmo or Magic Arpan to continue and begin the game...
+
+
+Click on the NPCs (Non-Player Characters) around you to continue the introduction.
+Click en los NPCs (Non-Player Characters) para continuar la presentación.
+
+Climb on the walls!
+
+
+Close
+
+
+Closed Christmas Box
+Caja de Navidad cerrada
+
+Clotho Liquor
+Clotho Liquor
+
+Clover Field
+
+
+Clover Patch
+
+
+Coal
+Carbón
+
+Coal (2 power)
+
+
+Cobalt Herb
+hierba de colbat
+
+Cobalt Plant
+
+
+Coffee
+café
+
+Coffee is good, why does the Mouboo refuse to drink it?
+
+
+Coffee! I'm awake now!
+
+
+Coin Bag
+Bolsa de monedas
+
+Cold
+
+
+Colin
+
+
+Collaborate by giving this powder to Aurora, before it vanishes!
+
+
+Collect chocolate and love letters from the fluffies
+
+
+Collect easter eggs, and exchange them with Lilica!
+
+
+Collect the treasured crystals from treasure chests!
+
+
+Collect their %s as well, so our wizards can do their magic!
+
+
+Colonel DUSTMAN
+
+
+Colonel Dustman
+
+
+Come after a little while.
+Venga en un breve momento.
+
+Come ancient evil, and bleed everything!
+
+
+Come and visit again!
+
+
+Come back and give me more gifts!
+
+
+Come back in a few hours, and we can fix that!
+
+
+Come back when you are a higher level.
+
+
+Come back when you are at a higher level.
+
+
+Come back when you are stronger and we can trade.
+
+
+Come back when you are stronger.
+
+
+Come back when you are willing to spend money.
+
+
+Come back when you have everything.
+
+
+Come back when you have the Snake Eggs for me.
+
+
+Come back when you will really need me.
+
+
+Come meager magic, and hit spot.
+
+
+Come standard fire, and harm spot.
+
+
+Come talk to me once you manage to equip the shirt and the shorts!
+
+
+Come to my aid! Vanish this fool!
+
+
+Come to the bakery!
+
+
+Come try again, some other time.
+
+
+Come, Calling, and Cast are all the same thing.
+
+
+Come, my minions! Lay siege to towns! LEAVE NO OPPOSITION TO ME!
+
+
+Comfortable grip is important especially for newcomers, since they'll be holding it for quite a while.
+Una sujeción cómoda es importante especialmente para recién llegados, ya que les va a sostener durante bastante tiempo.
+
+Command not permitted on this map! Check npc/functions/weather.conf
+
+
+Commander Cadis
+
+
+Commander Povo
+
+
+Commands.
+
+
+Commmon Fluffy
+
+
+Common Carp
+Carpa común
+
+Common Drops:
+
+
+Common Drops: None
+
+
+Common Fluffy
+
+
+Common Maggot
+
+
+Common Mouboo
+
+
+Common Scorpion
+
+
+Community Decision
+
+
+Community Shirt
+
+
+Compact
+
+
+Compact forge stones
+
+
+Compatibility Support mode enabled. Client may crash AT RANDOM, beware.
+
+
+Compete for the first place, and remember to exchange silver
+
+
+Complaints Depto. temporaly closed, come back later
+
+
+Complete Quest?
+
+
+Complete quests, gain some experience, allocate some status, and you'll be ready for my training.
+
+
+Completed Crafts: @@/@@
+
+
+Completed The Episode of Ozthokk %s ago
+
+
+Completing this quest will allow access to the Guard House, where you can pick Daily Bounties for monsters.
+
+
+Compliments reaching this far, @@ from the @@ party!
+
+
+Confuse
+
+
+Congrats you passed the level cap of @@! Here is a(n) @@, you deserve it.
+
+
+Congrats! A pity it was not 777...
+
+
+Congrats! You are now part from the Pet Caring Guild. You can now buy pets! %%G
+
+
+Congrats! You rank up! You are now a(n) @@!
+
+
+Congrats, you did it.
+
+
+Congratulations in making this far, @@.
+
+
+Congratulations on reaching level 20!
+
+
+Congratulations on rescuing Cindy.
+
+
+Congratulations on rescuing Cindy. You should now talk to her before leaving.
+
+
+Congratulations to everyone who participated on the event, even those who didn't made to the top 10!
+
+
+Congratulations!
+
+
+Congratulations! Everything was correct!
+
+
+Congratulations! Here is your reward, a @@!
+
+
+Congratulations! Here is your reward.
+
+
+Congratulations! I've managed to process your paperwork. Here, you'll receive the starter kit!
+
+
+Congratulations! You've received participation rewards due to the Moubootaur Death.
+
+
+Congratulations. You really know about the world lore.
+
+
+Connor
+
+
+Consider it an insurance policy. Besides, %s isn't exactly easy to come by.
+
+
+Constable
+
+
+Constable Perry
+
+
+Contact a GM at Migglemire - the small town at center of swamps - to trigger the final showdown.
+
+
+Continue anyway?
+
+
+Continue anyway? You'll die if your allies cannot protect you!
+
+
+Continue?
+
+
+Contributor Sweater
+
+
+Converts all your mana in damage. Damages all enemies in same tile.
+
+
+Cooking Recipes
+
+
+Cooking Recipes.
+
+
+Cool story, bro!
+
+
+Cool, an airship!
+
+
+Cool, thank you.
+
+
+Cool, thanks.
+
+
+Copper Armbands
+Brazaletes de cobre
+
+Copper Chest#Saulc
+
+
+Copper Ingot
+Lingote de cobre
+
+Copper Key
+Llave de cobre
+
+Copper Ore
+Mineral de cobre
+
+Copper Ore -> Iron Ore
+
+
+Copper Skull Slime
+
+
+Copper Slime
+
+
+Copper Slime Mother
+
+
+CopperSlime
+
+
+Coral
+Coral
+
+Correct
+
+
+Corsair
+
+
+Corsair Hat
+Sombrero de corsario
+
+Cost per %s glass:
+
+
+Cost per two glass:
+
+
+Cost: %d GP/min
+
+
+Cost: 1 @@
+
+
+Cost: @@ gp per bottle.
+
+
+Cotton
+
+
+Cotton Boots
+
+
+Cotton Cloth
+Ropa de algodón
+
+Cotton Cloth (1 power)
+
+
+Cotton Cloth is sold at Candor, Croconut Boxes can be bought at the market. Fish, however, is a little more tricky.
+
+
+Cotton Gloves
+
+
+Cotton Shirt
+
+
+Cotton Shorts
+Pantalones cortos de algodón
+
+Cotton Skirt
+
+
+Cotton Trousers
+
+
+Could I go back to that cave? It's a good farm spot.
+
+
+Could you *hic* do me a favor? Arkim, on a cave southeast of *hic* here, is collecting some stuff.
+
+
+Could you awake my lost and forsaken potential?
+
+
+Could you bleach my equipment?
+
+
+Could you bring me %d %s? That'll help me to finish this.
+
+
+Could you explain to me where I am?
+¿Podrías explicarme dónde estoy?
+
+Could you first explain me why so many items?
+
+
+Could you head deep in the woods and track him down?
+
+
+Could you perhaps help me to find all kids?
+
+
+Could you please ask @@ about it? The ingredients... It would still be my fault...
+
+
+Could you please bring me @@ @@ and @@ @@? I'll give you a bunch of herbs if you help me!
+
+
+Could you please dispose my failed experiment, first?
+
+
+Could you please give us a full meal, with 5 @@, 5 @@, 5@@, 5 @@ and 5 @@?
+
+
+Could you sell me a treasure map and a shovel?
+
+
+Could you tell me where I am?#0
+¿Puede decirme dónde estoy?#0
+
+Could you tell me where I am?#1
+¿Puede decirme dónde estoy?#1
+
+Could you try again, please?
+
+
+Could you try again? There could be a typo!
+
+
+Could you, perhaps, bring me %d %s? That'll help me to finish this.
+
+
+Couldn't you climb the rope?
+
+
+Councilor Crazyfefe
+
+
+Councilor Jak1
+
+
+Councilor Jesusalva
+
+
+Councilor LawnCable
+
+
+Councilor Saulc
+
+
+Countdown: 1 minute
+
+
+Countdown: 1 minute - Kill %s!
+
+
+Counter Attack
+
+
+Coward Card
+
+
+Craft @@
+
+
+Craft Recipe
+
+
+Crafters are now paying taxes.
+
+
+Crafters no longer pays taxes. (Tax exempt)
+
+
+Crafting
+
+
+Crafting Accuracy
+
+
+Crafting Attack
+
+
+Crafting Basic Skills
+
+
+Crafting Boss Techiniques
+
+
+Crafting Defense
+
+
+Crafting Double Power
+
+
+Crafting Evasion
+
+
+Crafting Exp Up
+
+
+Crafting Mana Economy
+
+
+Crafting Max Stats
+
+
+Crafting Recipes
+
+
+Crafting Recipes.
+
+
+Crafting Regeneration
+
+
+Crafting SC Inflict
+
+
+Crafting SC Resist
+
+
+Crafting Score: %d.%02d
+
+
+Crafting Skill Level: @@
+
+
+Crafting Skill: Lv @@
+
+
+Crafting Speed
+
+
+Crafting Status
+
+
+Crafting Table
+
+
+Crafting method:
+
+
+Crafting rules changed! Your crafting skill was lowered to Level 5, talk to Craftmaster to recover it!
+
+
+Craftsman/Craftswoman
+
+
+Crafty
+Crafty
+
+Crazy
+
+
+Crazy Cadis Ultimate Pandorica Mode
+
+
+Crazy Mode
+
+
+Crazy Rum
+
+
+Crazy stuff can happen in overall. YOU HAVE BEEN WARNED TO UPDATE YOUR CLIENT.
+
+
+Crazyfefe
+
+
+Crazyfefe Card
+
+
+Crazyfefe Cave: New Highscore: @@ points
+
+
+Crazyfefe Mode
+
+
+Creased
+
+
+Creased Boots
+Botas arrugadas
+
+Creased Gloves
+Guantes arrugados
+
+Creased Shirt
+Camisa arrugada
+
+Creased Shorts
+Pantalones arrugados
+
+Create PIN Number
+
+
+Create a natural wall under the cursor, to delay your enemies.
+
+
+Create new arena
+
+
+Creating a guild is not for the faint of heart. You cannot share experience or drops.
+
+
+Creating a party has some advantages, it's a pretty good choice!
+Crear un grupo tiene algunas ventajas, ¡es una elección bastante buena!
+
+Crimson Dye
+Tinte carmesí
+
+Crit +5%
+
+
+Critical Fortune
+
+
+Croc
+Croc
+
+Croc Claw
+Garra de Croc
+
+Croconut
+Croconut
+
+Croconut Box
+Caja de Croconut
+
+Croconut Box magically became two in inventory. Storage unaffected.
+
+
+Croconut Tree
+
+
+Crocotree
+Crocotree
+
+Crocs are dangerous and very healthy, but very slow. Use that on your advantage.
+
+
+Cronqvist Mode
+
+
+Cronqvist mode is only available during Candor Battle.
+
+
+Crozenite Four-Leaf Amulet
+Amuleto de crozenita de cuatro hojas
+
+Crusade Armor
+Armadura de cruzada
+
+Crusade Helmet
+Casco de cruzada
+
+Crypt
+
+
+Crypt#Fefe
+
+
+Crystal based technology can break if used too often. Try taking longer between each warp to raise their lifetime.
+
+
+Crystal#0065
+
+
+Crystallized Maggot
+Gusano cristalizado
+
+Ctrl
+Ctrl
+
+Cuf! Cuf!
+
+
+Curiously, you try to touch the Mana Stone.
+
+
+Current Boss: %s
+
+
+Current Guild Balance: %s GP
+
+
+Current Guild: %s
+
+
+Current Magic Control
+
+
+Current Quest Progress: @@/10,000 kills
+
+
+Current Rankings
+
+
+Current Room password: @@
+
+
+Current Spawn Mode:
+
+
+Current Town Administrator:
+
+
+Current arena player count: @@ on map. (Min. 3 to begin event)
+
+
+Current date: %d
+
+
+Current drop rate is set to @@%, and will reset to @@% (default value) in @@.
+
+
+Current event: @@
+
+
+Current exp rate is set to @@%, and will reset to @@% (default value) in @@.
+
+
+Current hero: @@
+
+
+Current linked Discord account: @@
+
+
+Current magic rank: %d
+
+
+Current player count: @@/5 must be online.
+
+
+Current score: %s
+
+
+Current score: @@
+
+
+Currently, there is no event going on.
+
+
+Currently, you should not attempt the Desert Canyon because low level.
+
+
+Currently, you stand no chance against the Snakes on the Desert Canyon, but you probably can cross it.
+
+
+Currently, you stand no chance against the Snakes on the Desert Canyon.
+
+
+Curse
+
+
+Cursed Ammo Box
+
+
+Cursed Archer Soldier
+
+
+Cursed Arrow
+Flecha maldita
+
+Cursed Arrows
+
+
+Cursed Foot Soldier
+
+
+Cursed Scythe
+Guadaña maldita
+
+Cursed Skull
+Calavera maldita
+
+Curshroom
+Curshroom
+
+Custom
+
+
+Customize attack delay!
+
+
+Customize evasion!
+
+
+Customize hit rate!
+
+
+Cut the chat short and go straight to the point!
+
+
+Cute Maggot
+
+
+Cutscenes
+
+
+Cyan Butterfly
+
+
+Cyndala
+
+
+Cynric
+
+
+D'oh, what a terrible shot!
+
+
+DANGER
+
+
+DANGER!
+
+
+DEBUG: Changing @@ field @@ to something else.
+
+
+DEBUG: Changing @@, Values: (@@, @@, @@).
+
+
+DEF-, Damage over time, no MP regen
+
+
+DEV Cap
+Gorra de Developer
+
+DIE!
+
+
+DIE, FILTHY @@!
+
+
+DIE, SCUM!
+
+
+DO NOT ENTER.
+
+
+DO YOU WANT TO REROLL THE ITEM? THIS CANNOT BE UNDONE! (free)
+
+
+Dagger
+Daga
+
+Dagger Crafting recipe learnt.
+
+
+Dah Yeti King!!
+
+
+Daily Event Bonus: %d Points!
+
+
+Daily Login Rewards
+
+
+Damage Improvement
+
+
+Damage can be harm, slap, hit, cut and bite; But other keywords can deal more damage.
+
+
+Damage isn't the only magic chanting can do.
+
+
+Damage over time, MDF -25%%
+
+
+Dan#002-1
+
+
+Dang Rostra
+
+
+Dangerous Area
+
+
+Dark Crystal
+Cristal oscuro
+
+Dark Crystal (5 power)
+
+
+Dark Desert Mushroom
+Hongo del desierto oscuro
+
+Dark Eggshell Hat
+Sombrero de cáscara de huevo oscuro
+
+Dark Forest : %s monster(s) left
+
+
+Dark Helm
+
+
+Dark Knight Helmet
+Casco de caballero oscuro
+
+Dark Lizard
+
+
+Dark Petal
+Pétalo oscuro
+
+Dark Pulsar
+
+
+Dark Red Dye
+Tinte rojo oscuro
+
+Dark Talisman
+Talismán oscuro
+
+Darkness fills your vision...
+
+
+Darug
+
+
+Date: 2019-03-05, 03:14 UTC
+
+
+Date: 2020-03-27, 01:30 UTC
+
+
+Date: 2020-04-05, 14:40 UTC
+
+
+Date: 2021-02-24, 02:36 UTC
+
+
+Dausen Quest - @@ @@ killed
+
+
+Dead End
+
+
+Dead Tree#297to298
+
+
+Deadly Poison
+
+
+Deal!
+
+
+Deal.
+
+
+Deal. Here you go.
+
+
+Deal. Pleasure doing business with you.
+
+
+Dealing with elves is too bothersome to me.
+
+
+Dear @@, I send you this gift in hopes you do well in TMW2.
+
+
+Death Cat
+
+
+Death Potion
+Poción de muerte
+
+Debug
+Depurar
+
+Debug - Modify Race
+
+
+Debug - Reset
+Depurar - Reiniciar
+
+Debug Information
+
+
+December 19th - January 2nd
+
+
+Decipher me... Or I will devour you...
+
+
+Decoration
+
+
+Deep Black Boots
+
+
+Deep Sleep
+
+
+Deep sorrow and sadness, this is the Forgotten Shrine.
+
+
+Def +20
+
+
+Default
+
+
+Default: %d, use 0 to cancel
+
+
+Defeat Conditions: Sagratha gets killed!
+
+
+Defeat Conditions: Time run out!
+
+
+Defeat Conditions: Your death!
+
+
+Defeat a few waves of Soren's House. Once you're done, this will become a warp. Hurry before it closes.
+
+
+Defeated the Moubootaur (Sealed) %s ago
+
+
+Defeating him would not only stop monster invasions, but it would also bring magic back... And probably another war, over the mana stones. %%S
+
+
+Defeating is entirely optional. They usually give more experience than the average, but are much stronger and dangerous.
+
+
+Defeating it will advance the round. How far can you survive?
+
+
+Definitely not suspcious at all.
+
+
+Delicious Cookie
+Galleta Deliciosa
+
+Deliver @@ @@ to @@?
+
+
+Deliver it to Zitoni on my name. He'll trust it. The relation between me and Zitoni... goes way back.
+
+
+Deliver the %s to retrieve Miler's memeto?
+
+
+Deliver the items to Sagratha?
+
+
+Deliver the potions to Sagratha?
+
+
+Demure Axe
+
+
+Demure Card
+
+
+Demure First Form
+
+
+Demure Second Form
+
+
+Demure accepts challengers,
+
+
+Demure#Valentine
+
+
+Demure's Axe
+
+
+Demure, Queen of Dragons
+
+
+Depending on the case, Nicholas, in Hurnscald, can do a better job than me.
+
+
+Deploy to Dangerous Area [6h]
+
+
+Deploy to Herb Fields [1h]
+
+
+Deploy to Monster King Basement [8h]
+
+
+Deploy to Ore Mines [2h]
+
+
+Deploy to Piou Fields [1h]
+
+
+Deploy to Rare Mines [2h]
+
+
+Deploy to Slime Nest [2h]
+
+
+Deploy to Snake Pit [3h]
+
+
+Deploy to The Market [1h]
+
+
+Deployed!
+
+
+Deposit all
+
+
+Deposit.
+Depositar.
+
+Der Schneemann
+
+
+Der Schneemann has been defeated: %s Monster Points gained.
+
+
+Descend into Tulimshar sewers?
+
+
+Descend into the small corritor?
+
+
+Description: For starters, I'll blow away all your summons and summon an ent. You must do the most damage to it within 10 seconds.
+
+
+Description: Reach the other side of the maze and defeat the %s as quick as possible.
+
+
+Description: Similar to Intensive Mage, but measures mana experience - meaning even less skills will count, and swapping skills give a better effect.
+
+
+Description: Survive for the longest you can without leaving the designed region.
+
+
+Description: There'll be differently colored sparks and you must kill ONLY those of the color I say so! Failure to do so will cause immediate disqualification!
+
+
+Description: Use a lot of magic spells, regardless of type or raw strength. Points earned by skill level.
+
+
+Description: Use chant-based magic. All chants score equally.
+
+
+Description: Use support skills and win the event with the power of FRIENDSHIP!
+
+
+Description: Whoever crafts more potions, regardless of type, wins this event.
+
+
+Desert Bandit
+
+
+Desert Hat
+
+
+Desert Helmet
+Casco del desierto
+
+Desert Log Head
+
+
+Desert Maggot
+
+
+Desert Pirate
+
+
+Desert Shirt
+Camisa del desierto
+
+Desert Tablet
+mesa de postres
+
+Desert Thief Card
+Tarjeta de ladrón del desierto
+
+Despite its initial dubious fragrance, the tea comes off as very smooth and mellow with a bit of natural sweetness and a touch of an earthy forest like flavor, but in a very good way.
+
+
+Destroy all mobilia
+
+
+Destroyed by the fire
+
+
+Destroys everything in a line (earth). Boosts allied forces DEF.
+
+
+Detailed Information
+
+
+Determinate, you move your hand to grab it.
+
+
+Determine Team Size (If everyone is ready and stdby at Tulimshar, use: @@. Minimum 2 players.)
+
+
+Determine Team Size +1 (so 1 each side, use 2)
+
+
+Developer Cap
+
+
+Devis
+Devis
+
+Dex Potion
+
+
+Dex+ Potion
+
+
+Dex++ Potion
+
+
+Dexterity
+Destreza
+
+Dexterity Fruit
+
+
+Diamond
+Diamante
+
+Diamond (+2 vit)
+
+
+Diamond Bif
+
+
+Diamond Powder
+Polvo de diamante
+
+Diary#Fefe
+
+
+Diary, 12nd December 298 AT
+
+
+Diary, 1st April 298 AT
+
+
+Diary, 21st June 297 AT
+
+
+Diary, 2nd March 300 AT
+
+
+Diary, 31st May 297 AT
+
+
+Diary, 3rd August 299 AT
+
+
+Diary, 3rd March 300 AT
+
+
+Did I received any mail?
+
+
+Did I said the best craftsman and craftswoman in the world are here? @@, the legendary bow, was proudly crafted by the first king of Frostia!
+
+
+Did something happen?
+
+
+Did this Mouboo just blink? No, I made sure it was truly dead. Must have been my imagination.
+
+
+Did we brought everything Naem asked?
+
+
+Did you bring everything?
+
+
+Did you bring the supplies?
+
+
+Did you brought everything I ask for?
+
+
+Did you brought me 12 %s?
+
+
+Did you brought me 12 @@ and 4 @@? The @@ is waiting for you, sharp sharp!
+
+
+Did you brought me 7 @@?
+
+
+Did you brought me a %s?
+
+
+Did you brought me an souvenir from Tulimshar?
+
+
+Did you brought me everything I asked for?
+
+
+Did you brought me the %d/%d %s?
+
+
+Did you brought me the feathers?
+
+
+Did you brought us a kind gift of good will, on the worth of %d %s, to offer to our King?
+
+
+Did you brought what I asked for?
+
+
+Did you came here by someone advise? If yes, write their name down here!
+
+
+Did you find some bookpages? Ensio will take them.
+
+
+Did you got an @@ yet? That book have great insight on several details concerning mana and its usages!
+
+
+Did you got everything I've asked?
+
+
+Did you got the %d %s I've asked?
+
+
+Did you just make up that someone?
+
+
+Did you knew May 25th it is a very special day - the Towel Day?
+
+
+Did you knew about the legend of Aethyr? I've heard the path to it was somewhere to the west of our old village... And some stuff about passwords... Hehe, I don't remember!
+
+
+Did you knew about the legend of Aethyr? I've heard the path to it was somewhere to the west of our old village... And some stuff about passwords... I'm not sure if I remember!
+
+
+Did you knew some crazy adventurers insists there is a Mana Stone on the dangerous caves inside the town?
+
+
+Did you knew that %s was the wizard whom sealed the path to Aethyr, the sacred elf land? I wonder what happened afterwards.
+
+
+Did you knew the casino on the inn up here was one of the most expensive on the whole world?
+
+
+Did you like it? Find me tomorrow, until day @@, for another gift!
+
+
+Did you noticed how no monster got close to it?
+
+
+Did you said reward?!
+
+
+Did you see Jhedia the blacksmith in Tulimshar? She might know how you could get this.
+
+
+Didn't he give you anything?
+
+
+Die already!
+
+
+Die now!!
+
+
+Die, your evil Yeti!
+
+
+Different kind of monsters live near the city. For example, blubs. I have no idea of what are those.
+
+
+Different warp systems overlaps each other, so the cooldown is carried over regardless of the technology you use.
+
+
+Difficulty?
+
+
+Dimond
+
+
+Dimond sold her food alone in this spot for some time,
+
+
+Dimond's Cove
+
+
+Dimonds Cove Story
+
+
+Direction for Pirate Caves
+
+
+Directions:
+
+
+Disable
+Deshabilitar
+
+Disable BG
+
+
+Disable Event
+
+
+Disabled
+Desactivado
+
+Disarm process aborted: Disarmer is dead.
+
+
+Disarm process aborted: Disarmer is out of reach.
+
+
+Disarm process aborted: Insufficient mana to proceed.
+
+
+Disarmed with success for: @@
+
+
+Discard
+Desechar
+
+Disconnect
+
+
+Discord Necklace
+Collar de discord
+
+Diseased Heart
+
+
+Display daily reward screen:
+
+
+Divine Apple
+Manzana Divina
+
+Divine Sword
+Espada divina
+
+Divine Water
+
+
+Divorce error!
+¡Error de divorcio!
+
+Do I look like a tree? I feel like one.
+¿Parezco un árbol? Me siento como uno.
+
+Do a weird dance
+
+
+Do as I told you, and talk to Alan for the bow!
+
+
+Do as much as possible.
+
+
+Do it!
+
+
+Do not attempt to go there again.
+
+
+Do not break my seal to prevent the curse from reaching Kamelot.
+
+
+Do not disconnect while waiting. You need 100% HP to donate.
+
+
+Do not enter in this storehouse, the maggots there will kill you.
+
+
+Do not give your password to anybody! Keep it secret and try not to use the same one anywhere else in the future. - Juliet
+
+
+Do not hesit to purchase furniture. The furniture belongs to the house, so if you lose the house, you'll lose it, too. But apartments are never rent to someone else!
+
+
+Do not let intimacy and hunger get to zero. If any of those get to zero, it'll leave you forever.
+
+
+Do not open. Do not attempt to eat. Be careful with it, to don't cause any time paradoxes. I also heard a NPC may be interested on that, by the way!
+
+
+Do not rebirth
+
+
+Do not think you can defeat me yet!
+
+
+Do not worry with me, youngling... I'll be fine.#0
+
+
+Do not worry with me, youngling... I'll be fine.#1
+
+
+Do not worry, I have them right here.
+
+
+Do not worry, I'll be back in a jiffy.
+
+
+Do note that abuse will cause both you and the person you vouched for to be kicked from the Academy! So be mindful with to whom you give titles.
+
+
+Do nothing
+No haga nada
+
+Do some paperwork
+
+
+Do you accept special requests?
+
+
+Do you accept special requests? Could you make me a really good bow?
+
+
+Do you believe I've lost my @@? I can't see anything well without that! %%a
+
+
+Do you even know what a bow is?
+
+
+Do you have a clue about what went wrong?
+
+
+Do you have an extra of 11 @@ for me?
+
+
+Do you have any last wishes before being JAILED for your CRIMES?!
+
+
+Do you have any questions?
+
+
+Do you have any tips for beginners?
+
+
+Do you have anything else to read?
+
+
+Do you have mental issues? I mean, of course there is a secret passage there!
+
+
+Do you have my @@?
+
+
+Do you have non-ranged weapons?
+
+
+Do you have something to exchange with me? Or perhaps you want a Grand Hunter Quest?
+
+
+Do you have that for me?
+
+
+Do you have that with you?
+
+
+Do you have that? I have the other materials but I couldn't get it... @@ are too dangerous, they are level @@ monsters.
+
+
+Do you have the @@/11 @@ I requested? The sailors are starving because of you!
+
+
+Do you know @@? It's a poisonous food you can't find around here. It can be made edible with special prepare.
+
+
+Do you know Land Of Fire Village? It is west of Hurnscald and is a major town.
+
+
+Do you know anything about the strange visitor?
+
+
+Do you know how to count, maggot? %%5
+
+
+Do you know someone called Braknar?
+
+
+Do you know something about 'Mylarin Dust'?
+
+
+Do you know the warp crystals? We did them. Did you saw the great warp gate at the town entrance? It was us!
+
+
+Do you know what a Soul Menhir is?
+
+
+Do you know what happened to the gold I had when you guys saved me?#0
+¿Sabe qué le pasó al oro que yo tenía cuando ustedes me salvaron?#0
+
+Do you know what happened to the gold I had when you guys saved me?#1
+¿Sabe qué le pasó al oro que yo tenía cuando ustedes me salvaron?#1
+
+Do you know where I can find Nard?
+
+
+Do you know where I can level up?
+
+
+Do you know where my brother Enzo is? I forgot that too!
+
+
+Do you know where the party is? It's at Halin, to get there you need to pass through the Desert Canyon.
+
+
+Do you like fairies? Well, you should love them! We play with humans all the time, it is usually pretty fun...
+
+
+Do you make Lifestones?
+
+
+Do you make any other kind of potions?
+
+
+Do you make anything else?
+
+
+Do you need a refresher of the rules?
+
+
+Do you need any more help?
+
+
+Do you need anything else?
+
+
+Do you need help?
+
+
+Do you need my help?
+
+
+Do you need something from me?
+
+
+Do you need something in particular?
+
+
+Do you need the extra credit?
+
+
+Do you really have to ask? I am a fairy...*sigh*
+
+
+Do you see that fancy house over there? My husband, @@, used to live there.
+
+
+Do you see the crocs, with their claws and hard shell? They have high defense, this means your attacks deal less damage.
+
+
+Do you see the professor on the next room? Listen to his boring speech for @@. There are the materials for the class.
+
+
+Do you sell anything here?
+
+
+Do you sell tea?
+
+
+Do you still need help with your experiments?
+
+
+Do you think I could join the Alliance?
+
+
+Do you think I'm ready to go to Halinarzo?
+
+
+Do you think he may have had something to do with the accident? We're a very hospitable house, so I didn't see a reason to deny him the entrance. I mean, his mask might have been a bit unusual, but hey, there could've been many reasons why someone would wear a mask, don't you think?
+
+
+Do you think that is funny?
+
+
+Do you think yourself worthy of my power?
+
+
+Do you want a tip? "It's not suicide if you know how to swim."
+
+
+Do you want any monster killed?
+
+
+Do you want me to prepare more chocolate box for you? For that I'll need:
+
+
+Do you want me to teach you how to improve an existing skill with MAGIC? There are no better mages than Mouboos!
+
+
+Do you want more coffee?
+
+
+Do you want one?
+
+
+Do you want to advance?
+
+
+Do you want to begin the %s Dungeon?
+
+
+Do you want to break open this %s?
+
+
+Do you want to change your race?
+
+
+Do you want to craft @@? For that I will need @@ @@, @@ @@ and @@ gp.
+
+
+Do you want to craft @@? For that I will need:
+
+
+Do you want to cross to the other side? You'll need to find the sea to return here if you do.
+
+
+Do you want to do something else?
+
+
+Do you want to exchange some of your @@ @@ for items?
+
+
+Do you want to get a reward nonetheless? You will lose @@.
+
+
+Do you want to go against the Monster King now? The event will start 18:30 UTC sharply.
+
+
+Do you want to go there? The Red Wizard may be able to offer you training.
+
+
+Do you want to go to Fortress Island, where the Monster King lives?!
+
+
+Do you want to go to the left, the right or stay where you are?
+
+
+Do you want to help? I promise you no reward, so you will do it of your own will.
+
+
+Do you want to hire a mercenary? Or perhaps get a card so you can invoke them later? I can even make them stronger if you wish.
+
+
+Do you want to make %s?
+
+
+Do you want to make sake?
+
+
+Do you want to make wine?
+
+
+Do you want to marry @@?
+¿Quiere casarse con @@?
+
+Do you want to open this chest?
+
+
+Do you want to participate on Call Of Dusty?
+
+
+Do you want to play a song?
+
+
+Do you want to put it out, or to make it brighter?
+
+
+Do you want to re-roll?
+
+
+Do you want to read again the instructions?
+
+
+Do you want to read it?
+¿Quieres leerlo?
+
+Do you want to read the story again? Or should we get to the most obvious point?
+
+
+Do you want to rent a Mouboo? It allows quick traveling!
+
+
+Do you want to rent a Tortuga? It allows quick traveling!
+
+
+Do you want to restore it, or to keep breaking it?
+
+
+Do you want to return to Land Of Fire Village?
+
+
+Do you want to return?
+
+
+Do you want to start?
+
+
+Do you want to trade your points? The demand keep raising, and so does the price!
+
+
+Do you want to try to find them? Just search the first five floors: Novice, Intermediary, Advanced, Expert and Master.
+
+
+Do you want to use the souls to unlock the passage?
+
+
+Do you wish to return to the Academy?
+
+
+Do you, perchance, have 2 @@ and 3 @@?
+
+
+Doctor
+
+
+Dodge Potion
+poción de evadir
+
+Does it counts to Honor Ranking?
+
+
+Doesn't it feel good to help?
+
+
+Dog Statue#Saggy
+
+
+Doggy Dog
+Perrito
+
+Doll
+Muñeca
+
+Don't ask.
+
+
+Don't be afraid of death. Of course, in most places, dying will make you lose some Experience you gathered.
+
+
+Don't be deemed unworthy,
+
+
+Don't believe anything they tell you! Here, take this, so you can defend yourself. And some food, now leave.
+
+
+Don't bore me.
+
+
+Don't bother me, I'm busy right now. Since the Monster King left, I barely got a night of rest...
+
+
+Don't break my stuff.
+
+
+Don't challenge the Moubootaur. You saw what happened to me.
+
+
+Don't change race
+
+
+Don't cry any further. I am here to help.
+
+
+Don't deploy
+
+
+Don't distract me, I have to stay alert.
+No me distraiga, tengo que estar alerta.
+
+Don't do theee... *hic* with me eh!
+¡No te hagas eeel... *hic* conmigo eh!
+
+Don't fill
+
+
+Don't fix.
+
+
+Don't forget to collect and eat any chocolate sent to you, too!
+
+
+Don't forget to come as close as possible to these spots!
+
+
+Don't go alone, though! He would not listen to me, it is not you alone he'll pay attention. You will lose reagents!
+
+
+Don't interrupt me, I'm busy!
+
+
+Don't just stand here! Go fetch help, NOW!!
+
+
+Don't pay.
+
+
+Don't rent a mouboo.
+
+
+Don't rent a tortuga.
+
+
+Don't rent it
+
+
+Don't say anything, I can smell the scent of Helena's hair on you.
+
+
+Don't speak to me crazy guy!
+
+
+Don't spin it!
+
+
+Don't tax crafters
+
+
+Don't try to trick me, this attracts bad karma! You could get stolen on Christmas! Seriously, this has happened before!
+
+
+Don't upgrade it
+
+
+Don't warp
+
+
+Don't we know any Yeti specialist? Maybe Celestia?
+
+
+Don't worry if they don't correspond to you. Each box sent will grant you 1 event point.
+
+
+Don't worry ma'm, I'll recover the Treasure Keys at once.
+
+
+Don't worry, I'll stay at the caves.
+
+
+Don't worry, I've tweaked my formula this time. Here is some experience and let's try again!
+
+
+Don't worry, third time is the charm. Here is some experience. Let's try again.
+
+
+Don't you have any exploit of your own?
+
+
+Donate 1/@@ @@ to Ensio?
+
+
+Donate 100 GP for prize
+
+
+Donate 100k GP for prize
+
+
+Donate 10k GP for prize
+
+
+Donate 15 GP for prize
+
+
+Donate 1k GP for prize
+
+
+Donate 250k GP for prize
+
+
+Donate 25k GP for prize
+
+
+Donate 5 GP for prize
+
+
+Donate 50 GP for prize
+
+
+Donate GP
+
+
+Donate a Bat Teeth
+
+
+Donate a Bat Wing
+
+
+Donate to town
+
+
+Donating blood is a noble act, which allows to save lifes.
+
+
+Donating blood will BLOCK YOUR MOVEMENT for three minutes.
+
+
+Donation completed.
+
+
+Donation successful!
+
+
+Done!
+
+
+Doorbell is disabled
+
+
+Doorbell#RES_0096
+
+
+Doorbell#RES_0097
+
+
+Doorbell#RES_0128
+
+
+Doorbell#RES_0177
+
+
+Doorbell#RES_0178
+
+
+Doorbell#RES_PPL
+
+
+Doppelganger Challenge Ranking
+
+
+Doppelganger Challenge, @@ began the fight!
+
+
+Doppelganger Waves Won: %s
+
+
+Double Attack +5%
+
+
+Doubled.
+
+
+Doug
+
+
+Downgrade Ore
+
+
+Downgrade Scorpion Claw
+
+
+Downgrade Scorpion Stinger
+
+
+Downgrade Snake Egg
+
+
+Downgrade Snake Skin
+
+
+Downgrade Snake Tongue
+
+
+Dracoula
+
+
+Drag and drop a %s in a %s, and you will obtain a %s.
+
+
+Drag and drop a healing item from your inventory.
+
+
+Drag and drop an item from your inventory.
+Arrastra y suelta un artículo de tu inventario.
+
+Drag and drop here the item you want to remove the options.
+
+
+Dragon Eggshell
+Cáscara de huevo de dragón
+
+Dragon Horn
+Cuerno de dragón
+
+Dragon Scales
+Escamas de dragon
+
+Dragon Shield
+Escudo de dragón
+
+Dragon Star
+Estrella de dragón
+
+Dragon Star Card
+
+
+DragonStar, Aisen
+
+
+Dragonfruit
+
+
+Dragons and Toast
+
+
+Dragonstar and Aisen did their best along many others, and managed to liberate Hurnscald, though!
+
+
+Drahcir
+
+
+Drains your MP bar to replenish target's. Doesn't go past 100%.
+
+
+Dreaded Pirate Marley
+
+
+Dream Ticket
+
+
+Dream Tower
+
+
+Dream Tower Appears
+
+
+Dress up! Do not walk without clothes! Always wear your items! They leave you less vulnerable to attacks and stronger to defeat your opponents.
+
+
+Drink the potion
+
+
+Drink the potion, and say magic words
+
+
+Drinking what drink is like having your brain smashed out by a slice of lemon wrapped round a large gold brick?
+
+
+Drinking with friends will give 1.5% extra XP boost for each person nearby.
+
+
+Drop a coin to hear how deep it is
+
+
+Drop rate has been reset to @@% (default value).
+
+
+Drop rate is set to @@% for the next @@.
+
+
+Drop these near the circle to make the breaking faster.
+
+
+Drowned Man
+
+
+Drueme
+
+
+Druid Card
+
+
+Druid Card S
+
+
+Druid Card X
+
+
+Druid Tree Branch
+Rama de árbol druida
+
+Duck
+
+
+Duck Egg
+
+
+Duck Elder
+
+
+Duck Elder : Success! The pirates have been thwarted.
+
+
+Duck Elder : We have failed. The pirates will regroup and replenish their fallen. They will strike again, until we are defeated.
+
+
+Duck Feather
+
+
+Duck Initiate
+
+
+Duck Soldier
+
+
+Ducks and Giant Maggots also drops Cherry Cakes.
+
+
+Due this bug, you didn't got a proper amount of points per sent. We wanted to deliver you a token of apology!
+
+
+Due to a recent incident involving slimes, the building is closed to public visits.
+
+
+Dummy
+Maniquí
+
+Dungeon Map
+
+
+Dungeon cleared!
+
+
+During Valentine 2020, you can get event equipment with the Soul Stone.
+
+
+During cutscenes, you cannot move. If you do, you'll be forcibly pushed back.
+
+
+During night the professor also goes to the Magic Academy, using the hidden north port, on the building to left of the Magic Council...
+
+
+During night, the monsters usually respawn faster. That can be a problem with aggressive monsters.
+
+
+During summer, more Tonori Delight can be produced.
+
+
+During the war, the Monster King cursed the place where he died, but he fought back, and cursed the curse.
+
+
+During this season, Gemini Quest can be done with parties of 6.
+
+
+During this season, challenges to Crazyfefe will be free.
+
+
+During this season, monster point gain is increased in %d%%!
+
+
+During this season, you can summon the Yeti King for free.
+
+
+Dust In A Bottle
+
+
+Dustynator 2000
+Dustynator 2000
+
+Dwarf Craftsmaster
+
+
+Dwarven Sake
+
+
+Dye cards are not the only thing which exist, but they are the coolest!
+
+
+Dye? How can you do that without a cauldron?
+
+
+Dyes are a special kind of ink to make certain objects fancier.
+
+
+Dying inside the Heroes Hold Main Dungeon does not have a penalty. However, dying outside the castle have.
+
+
+Dying outside a town square will cause EXP loss.
+
+
+Dying will also decrease the pet intimacy, and there are bonuses when your intimacy is high!
+
+
+Dyrin The Traveler
+
+
+ENOUGH! LAME CHEATERS, GET OFF THIS GAME %%a That's 15 gifts, and it is final.
+
+
+ERROR: %d
+
+
+ERROR: You already took the coins today. Please wait @@ more.
+
+
+ERROR: You must set a PinCode to make use of this function.
+
+
+EVENT Bow
+
+
+EVENT CANCELLED DUE TO PLAYER INACTIVITY
+
+
+EVENT Single Hand Sword
+
+
+EVENT Two Hands Sword
+
+
+EVENT Wand
+
+
+EVERY switch on EVERY cave will unflip itself after about 2 minutes. So don't waste your time.
+
+
+EXP Gain +10%
+
+
+EXP Gain raised in @@% for one hour!
+
+
+EXP Penalty: ON
+
+
+EXPERTS ONLY - If you are not a talented crafter, avoid this.
+
+
+EXPLOSIVE GUNSTAFF
+
+
+Each item have it's own tax.
+
+
+Each level up will buff your base stats, and give you stats points to allocate. However, there is Job Level.
+
+
+Each monster will be counted as %d kills.
+
+
+Each of them require different items, I'll sort from weakest to strongest, so choose wisely.
+
+
+Each season unlocks a set of quests and drops which can only be obtained on the season.
+
+
+Each settlement names a representative, which forms the Alliance Council. There is also the High Council, and the Magic Council.
+
+
+Earlier I hadn't any, but now that I have the baits, I will be glad to sell some to you!
+
+
+Earmuffs
+Orejeras
+
+Earth Element
+
+
+Earth Fairy
+
+
+Earth Powder
+Polvo de tierra
+
+Earth Scroll
+Pergamino de la tierra
+
+Earth Witch Card
+
+
+East Aeros
+
+
+Easter
+
+
+Easter @@
+
+
+Easter Angry Forain
+
+
+Easter Egg
+Huevo de Pascua
+
+Easter Egg quest updated. Total found: %02d/06
+
+
+Easter Eggs found: %d
+
+
+Easter Mouboo
+
+
+Easter Top 1 Prize
+
+
+Easter is over! I am the last chance to get rid of eggs!!
+
+
+Easy
+
+
+Easy Mode
+
+
+Eating is a necessity, but cooking is an art.
+
+
+Ectoplasm
+Ectoplasma
+
+Eevert
+
+
+Effects from The Great Fire are still felt by the people.
+
+
+Eggshell Hat
+Sombrero de cáscara de huevo
+
+Eh, I don't think you'll be brave enough to go after her. If even she decided to flee, I doubt you wouldn't do the same.
+
+
+Eh, I have to go.
+
+
+Eh, that seems too problematic. Sorry.
+
+
+Eh... Sure, why not. What could go wrong, after all.
+
+
+Eh? Well, you're in a desert. You can see Maggots and Scorpions, they're very common on these parts. Giant Maggots are very dangerous, but also very slow. If you know how to fight, they will yield you lots of experience.
+
+
+Eh? You sure?
+
+
+Eight Maggots will rise from the ground and will start destroying the crops.
+
+
+Eight gifts. Let's double the goal. 25600 gifts. Did you guys hire some chinese gold farmers, anyway?
+
+
+Eistein
+
+
+Elanore casts a chant over the items, closes her hands, and vóila! A lifestone.
+
+
+Elanore the Healer
+
+
+Eldrin
+
+
+Eldrin, Taskmaster
+
+
+Electro Worm
+
+
+Elen The Traveler
+
+
+Elenium Bif
+
+
+Eleven gifts? You guys really have no live! For 204,800 I'll give an extra one.
+
+
+Elf
+
+
+Elfic Bow
+Arco de elfo
+
+Elias
+
+
+Elias gets a bit excited.
+
+
+Elite Duck
+
+
+Elite Scout#MB0233
+
+
+Elixir Of Life
+Elixir de Vida
+
+Elixir of Life
+
+
+Eliza
+
+
+Elli
+
+
+Elli#Ep
+
+
+Elmo
+Elmo
+
+Elmo has given you an EXP UP and DROP UP Boost until level 20!
+
+
+Elmo#002-5
+
+
+Elmo#sailors
+Elmo#sailors
+
+Elora
+
+
+Elora#1
+
+
+Elven
+Elfo
+
+Elves are always allowed inside.
+
+
+Elza
+
+
+Email: @@
+
+
+Emeald Bif
+
+
+Emerald
+Esmeralda
+
+Emerald (+2 luck)
+
+
+Emerald Powder
+Polvo de esmeralda
+
+Emergency Exit
+
+
+Emma
+
+
+Emoc otem itey gnik!
+
+
+Emperium
+
+
+Empty Box
+Caja vacia
+
+EmptyBottle
+
+
+Enable
+Habilitar
+
+Enable Event
+
+
+Enable/disable doorbell
+
+
+Enabled
+Activado
+
+Enabled: @@
+Habilitado: @@
+
+Enchanted Herb Bag
+Bolsa de hierbas encantadas
+
+End status @@
+
+
+End! Score this time: %d
+
+
+End! Score this time: %s
+
+
+Endless, cute, dangerous, deadly.
+
+
+Enemies stunned!
+
+
+Energy Ball
+
+
+Energy Ball Challenge
+
+
+Engraving#Katazuli1
+
+
+Engravings#Gemini
+
+
+Enjoy this new weapon, I hope you're successful.
+
+
+Enjoy this world while it lasts. Heh. It's time to... detonate.
+
+
+Enjoy your new style.
+Disfrute de su nuevo estilo.
+
+Enjoy your time here, %s. And keep your eye out for agents of S.A.R.A.H.
+
+
+Enliven Reva Foxhound
+
+
+Enough for now. Let's rest, shall we?
+
+
+Enrique
+
+
+Ensio
+
+
+Ent Abomination
+
+
+Enter
+Ingresar
+
+Enter anyway?
+
+
+Enter dungeons? You won't be able to join anymore when he dies.
+
+
+Enter line number:
+Introduzca el número:
+
+Enter new line:
+Introduzca nueva línea:
+
+Enter though the window to the secret caves?
+
+
+Enter/Leave after start: %s
+
+
+Enzo
+
+
+Eomie
+
+
+Epic Mouboo
+
+
+Epic Tortuga
+
+
+Epiphany Wisp
+
+
+Equip
+
+
+Equipment Blueprint A
+
+
+Equipment Blueprint B
+
+
+Equipment Blueprint C
+
+
+Equipment Blueprint D
+
+
+Equipment Blueprint E
+
+
+Equippable items are armour, weapons and accessories.
+
+
+Equipping them is easy, you must open your inventory with @@ or clicking in @@, on the top right.
+
+
+Er, nevermind, I've thought of something to give you. You can go off now and get what I need.
+
+
+Er, uhm, hi!
+
+
+Erik
+
+
+Erlan
+
+
+Erm, for certain... reasons... I cannot help you right now!
+
+
+Erm... Good bye.
+
+
+Erm... I don't have a recipe book.
+
+
+Erm... I don't know my parents.
+
+
+Erm... You're right.
+
+
+Error
+
+
+Error, cheater detected
+
+
+Error, contact Jesusalva! Missing warp. Healing & Reseting temporaly.
+
+
+Error, error, L_T3_S0 General Error, REPORT ME
+
+
+Error, invalid return code, blame Saulc
+
+
+Estard
+
+
+Eugene
+Eugene
+
+Eugene bows politely, but he thinks he can use more.
+
+
+Eurni
+
+
+Evasion +20
+
+
+Even after breaking the first layer, a second layer keeps active. The first layer gets back to work shortly after. What have I missed or forgotten to do?
+
+
+Even if the city has not been attacked on the last few years, I can't help but be concerned while the kids are playing hide and seek.
+
+
+Even if they recover their strength, because the connection was severed, the barrier will not power up again.
+
+
+Even if you drink alone, you'll still receive the EXP bonus marked on the item description.
+
+
+Even the mighty Andrei Sakar could only barely escape alive. The Monster King was too strong.
+
+
+Event Canceled
+
+
+Event Details
+
+
+Event Horizon Card
+
+
+Event Information
+
+
+Event Management
+Manejo de Evento
+
+Event News
+
+
+Event Ranking Rewards
+
+
+Event management
+Manejo de evento
+
+Event score: %d -> %d
+
+
+Event weapons and cards will be deleted once event ends.
+
+
+Event will start in @@
+
+
+Everburn Powder
+Polvo Everburn
+
+Every %d sequences, you'll get a %s!
+
+
+Every 1 hour
+Cada 1 hora
+
+Every 101 successive right guesses, you'll get a @@!
+
+
+Every 12 hours
+Cada 12 horas
+
+Every 24 hours
+Cada 24 horas
+
+Every 3 hours
+Cada 3 horas
+
+Every 5 hours
+Cada 5 horas
+
+Every 6 hours
+Cada 6 horas
+
+Every bot says that.
+
+
+Every day you login, you'll be able to spin a card.
+
+
+Every day, they disappear and a new one shows up on its place.
+
+
+Every fifteen successive right guesses, you'll get a @@!
+
+
+Every fifty successive right guesses, you'll get a @@!
+
+
+Every once in a while, but I guess this is not common on your world, am I right.
+
+
+Every seven successive right guesses, you'll get a %s!
+
+
+Everyone commit mistakes and Oskari was very understanding. I need to do some questions about the incident though.
+
+
+Everyone loves the Land of Fire, it is impossible to not love it.
+
+
+Everything in order.
+
+
+Evil Bullet
+
+
+Evil Chest
+
+
+Evil Mushroom
+
+
+Evil Scythe
+
+
+Evil Wisp
+
+
+Evil worms crawl from earth and starts devouring the plants!
+
+
+Evolve a card
+
+
+Evolve mercenaries
+
+
+Examine the Mouboo
+
+
+Example:
+Ejemplo:
+
+Example: @translate Elmo
+
+
+Example: @translate Nard
+
+
+Example: @translate npc/002-1/arpan
+
+
+Example: Give the answer for the following: one+1
+
+
+Excellent! Let me see...
+
+
+Excellent! This is exactly what I need. Thanks a lot. I'll tell Nikolai about your generosity.
+
+
+Except they're not. I'll be back later.
+
+
+Exchange Gempowder for Quill
+
+
+Exchange the item with Leona?
+
+
+Excuse me.
+
+
+Excuse me? Do you know who I am?#0
+¿Perdón? ¿Sabe quién soy?#0
+
+Excuse me? Do you know who I am?#1
+¿Perdón? ¿Sabe quién soy?#1
+
+Exile a player
+
+
+Exiled players will not be able to save to menhir.
+
+
+Exit
+
+
+Exp rate has been reset to @@% (default value).
+
+
+Exp rate is set to @@% for the next @@.
+
+
+Experience can be gained by completing quests and killing monsters. When you accumulate enough experience, you'll level up!
+
+
+Experience.
+
+
+Expert Dungeon (Lv 100+)
+
+
+Expire rent time
+
+
+Explain briefly about mercenaries... I mean, we have a Mercenaries section on @tutorial right?
+
+
+Explosive ARROW
+
+
+Explosive Arrow
+
+
+Explosive Gunstaff
+Arma explosiva
+
+Eyes grows!
+
+
+Ezra
+
+
+F2
+
+
+F3
+
+
+FIGHT!
+
+
+FINAL BOSS FIGHT - WATCH OUT!
+
+
+FINAL WARNING: Do not spend unecessary time on Soren's House, you'll be disconnected!!
+
+
+Fafi Dragon
+
+
+Fafi Mask
+Máscara de Fafi
+
+Failed to warp to Soren Village.
+
+
+Failing all else, you can stay at the Magic Council getting experience for sitting. Hopefully you'll gain a level and this will help you a bit.
+
+
+Failure to respond to other players and/or GMs in a timely manner will be viewed as unacceptable AFK botting. And you'll spend a night in the jail.
+
+
+Fair Person
+
+
+Fairies usually behaves well, but they hate snakes, so avoid casting halhiss and fairy kingdom at once. You never know.
+
+
+Fairy's Squirrel
+
+
+Fake Manastone
+
+
+Falkon Card
+
+
+Falkon Strike
+
+
+Falkrun
+
+
+Fallen King
+
+
+Falling means certain death.
+
+
+Fancy Hat
+Sombrero adornado
+
+Far over, the misty Nivalis cold ♪
+
+
+Farewell, until the next time. Shall we met again, and may the light guide our paths.
+
+
+Farewell.
+Adiós.
+
+Faris
+
+
+Farm there and get the best experience value!
+
+
+Farmer Hat
+
+
+Farmer Pants
+
+
+Fate's Potion
+Poción del destino
+
+Fates Potion
+Poción de Suerte
+
+Fear
+
+
+Fear not! You can check our [@@https://wiki.moubootaurlegends.org|Wiki@@] to find that and other awesome stuff!
+
+
+Feel free to collect honey from the hives. Remember to bottle them before picking up... You can use the discardable bottles I keep near them for that.
+
+
+Feel free to come visit me another time.
+Siéntase libre de visitarme otra vez.
+
+Feel free to try again whenever.
+
+
+Feeling lucky?
+
+
+Fefe's Diary
+
+
+Female
+Hembra
+
+Fertilized Spores
+Esporas fertilizadas
+
+Figures she would be involved. What did she say?
+
+
+Fill Water Bottles
+
+
+Fill with what?
+
+
+Final: @@, @@
+
+
+Find it, spin it, and be bestowed in golden rewards!
+
+
+Find yourself a nice dry spot on a coast where you can easily reach into deep water.
+Encuentra un buen punto seco en una costa en la que pueda alcanzar fácilmente aguas profundas.
+
+Fine.
+Genial.
+
+Finish
+
+
+Fire Arrow
+
+
+Fire Breath Inn
+
+
+Fire Element
+
+
+Fire Fairy
+
+
+Fire Goblin
+
+
+Fire Scroll
+Pergamino de fuego
+
+Fire Skull
+
+
+Fire Staffs Recipes
+
+
+Fire Staves
+
+
+Firearms? What would that be? @@
+
+
+Fireball
+
+
+Fireball Card
+
+
+Fireplace#Saggy
+
+
+Firewalk
+
+
+First - item must be equipped.
+
+
+First Aid
+
+
+First Dungeon Master
+
+
+First Grand Hunter challenge cleared %s ago
+
+
+First Tier
+
+
+First and foremost, you should get yourself some reputation. I mean, right now, you are a complete nobody who was found on the sea.
+
+
+First of all: Welcome! Your level was temporaly modified, it'll be reverted once event is over.
+
+
+First of, there's a day/night cycle on the game.
+
+
+First reborn %s ago
+
+
+First thing is to get a @@. One from black market won't do, go to Halinarzo!
+
+
+First timers will be lead to somewhere random on this cave to keep intruders out. Just walk there again while all switches are still active.
+
+
+First visit to Fortress Is. %s ago
+
+
+First, %s is the Guardian of Law and Order. He ensures all rules are followed, and if anything breaks them, he erases their existence.
+
+
+First, you need to contribute to the common knowledge of this world. Like, write a %s, guide new players or something.
+
+
+Fish Box
+Caja de pescado
+
+Fisherman
+
+
+Fisherman/Fisherwoman
+
+
+Fishing
+
+
+Fishing Guide Vol. I
+Guía de pesca Vol. I
+
+Fishing Rod
+Caña de pescar
+
+Fishing bait:
+
+
+Fishing is a boring task. Throw the bait, wait for fish to bite. Pull before it is too late. Then sell the fish for money.
+
+
+Fishing next to shallow water is not going to work well, because fishes seldom go there.
+Pescar junto a aguas poco profundas no va a funcionar bien, porque los peces rara vez van allí.
+
+Five powerful consecutive brawn attacks.
+
+
+Fixing Crystals have a price. You can only charge crystals to places you've already been.
+
+
+Flight Talisman
+Talismán de vuelo
+
+Floors cannot be re-visited, and rewards increase at each floor.
+
+
+Fluffy
+Fluffy
+
+Fluffy Animals who Love Their Owners
+Animales mullidos que aman a sus dueños
+
+Fluffy Egg
+Huevo de fluffy
+
+Fluffy Hat
+Sombrero esponjoso
+
+Fluffy Hunter Challenge
+
+
+Fluo Powder
+Polvo Fluo
+
+Following these lines are some other writings on this paper.
+Ulterior a estas líneas están otros escritos en este papel.
+
+Food is, and should always be, in demand.
+
+
+Food:
+
+
+Foolish kid, thinking they can fool me, Henry S., from all the people...!
+
+
+Foolish kids, do you think violence is the answer to everything?!
+
+
+Foolish mortal, who doesn't knows what you are doing!
+
+
+Footwear Recipes
+
+
+For %d GP I'll teach you, do we have a deal?
+
+
+For (another) one @@, I'll need 3~4 @@ and 50 GP.
+
+
+For HLib, a GM must take the role of the Monster King
+
+
+For a long time, towns on the distant continent of Kolev have been supporting humans here.
+
+
+For a moment you wonder if Celestia might have gotten confused and tossed in a handful of forest dirt into the teapot.
+
+
+For all his great deeds, and thousands of lives he saved, this statue is in his honor.
+
+
+For all the feedback, you know
+
+
+For cowardingly killing in a "secure" area, you will be severely punished.
+
+
+For defeating the Monster King, you've got the Legendary @@.
+
+
+For defending Hurnscald alone and saving all its inhabitants.
+
+
+For example, translations do not count. Wiki articles count.
+
+
+For example, when an item is dropped to the ground, it rots away and disappear. It cannot be recovered. If an item were to break such rule, Mr. Saves would intervene.
+
+
+For extreme power they hold.
+
+
+For fighting against the Monster King once and getting out alive to tell the story.
+
+
+For finding an Easter Egg, you got Strange Coins!
+
+
+For now do not take too much time to work on your intelligence, after all, almost nobody have magic this day.
+
+
+For now, eat this. It'll improve your condition... for now. I don't know where you'll find a time travelling device, but if you find one, come to me. I'll help you.
+
+
+For now, please accept this @@ as my gratitude.
+
+
+For now, take this @@. I hope that you will use this power for something good now.
+
+
+For now, yes. But you will have to prove that you really care about more than yourself.
+
+
+For only 100 GP, you can sleep on the beds of the Land Of Fire.
+
+
+For only @@ GP, I'll decrypt any ancient text file you have. Or you can learn how to read that yourself, for @@ GP.
+
+
+For only a small amount of Gold Pieces, I will show you how it works!
+
+
+For short, they had a fight with curses, and now there's a talking statue over his grave which can spawn monsters here.
+
+
+For short, you would have lost all your items, wouldn't get anything, and there would be no refunds.
+
+
+For simple-minded individuals like you, pixies are fairies.
+
+
+For sure the chef of Nard's ship could spare you a pair of gloves.
+
+
+For that, I need to light five torches. The pentagram, the magic, and all the else are with me. Just light the torches.
+
+
+For that, I use a special currency - Aethyr points. You can trade rare items for points. I also sell one point for %d GP. So, what will it me?
+
+
+For that, I'll need @@/@@ @@.
+
+
+For the @@, I'll need 5 ##Bhigh-quality##b @@, and @@ GP for work fee!
+
+
+For the first place in Easter, you gained a Bhopper Fluffy.
+
+
+For the higher titles, you'll need vouch of multiple people. You can vouch for anyone below your rank with %s but never for someone of same or higher rank.
+
+
+For the mouboo? I was only doing my duty.
+
+
+For the rescue? You didn't seemed to be in need of aid.
+
+
+For their weapons has a will on them.
+
+
+For this @@, I offer you @@ GP.
+
+
+For this @@, I offer you a(n) @@.
+
+
+For this training, I need @@, not the usual arrow you use.
+
+
+For which player do you wish to pray?
+
+
+For you, boring person like me, It'll cost the small amount of:
+
+
+For you, it will be only 50 GP for potion! But I need the base ingredients, four @@ - or @@, depends on which one.
+
+
+For you, it'll be @@ GP.
+
+
+For your incredibly hard work, you got:
+
+
+For yourself can obtain tandem!
+
+
+Forain
+
+
+Forest Armor
+Armadura del bosque
+
+Forest Bow
+Arco del bosque
+
+Forest Gloves
+
+
+Forest Mushroom
+
+
+Forest Piou
+
+
+Forest Piou Feathers
+Plumas de Piou del bosque
+
+Forest Shroom Egg
+
+
+Forest Shroom Hat
+Sombrero de seta del bosque
+
+Forgotten Chamber
+
+
+Form the strongest party and win! Remember that if you don't kill the boss, you'll never win!
+
+
+Form your party and rescue Luvia Gemini from Isbamuth!
+
+
+Fortiun
+
+
+Fortress Gate
+
+
+Fortress Island
+
+
+Fortress Statue
+
+
+Fortress Town
+
+
+Fortress Town is connected to the prophecies of the death of all humans, wildlife, and the other lesser races.
+
+
+Fortunately, we know the answer is...
+
+
+Fortune Statue
+
+
+Fountain#Hurns
+
+
+Four Leaf
+
+
+Four Leaf Clover
+Trébol de cuatro hojas
+
+Four minutes after the warp, or when the last maggot die, it'll be over.
+
+
+France: [@@https://dondesang.efs.sante.fr/|https://dondesang.efs.sante.fr/@@]
+
+
+Free Cast
+
+
+Freeze
+
+
+Friend Gift
+Regalo de amigo
+
+Friend of the Fairies
+
+
+Friendly SP Regeneration
+
+
+Friendship's Strength Challenge
+
+
+From magical gates to ancient time-space technology - we know it all!
+
+
+From the smell I can see you found the bug bomb!
+
+
+From the time you come from, the Moubootaur has escaped its chains.
+
+
+Frost Diver
+
+
+Frost Nova
+
+
+Frostia
+
+
+Frostia (@@m)
+
+
+Frostia - @@ GP
+
+
+Frostia Guard
+
+
+Frostia Office
+
+
+Frostia Townhall
+
+
+Frostia Warp Crystal
+Cristal de warp a Frostia
+
+Frostia and Halinarzo are now on a spar!
+
+
+Frostia is a *hic* town way way north of here. They *hic* hate humans, so... Good luck?
+
+
+Frostia is the only city known that was not founded by humans.
+
+
+Frostia's Nurse
+
+
+Frozen Squirrel
+
+
+Frozen Yeti Tear
+Lágrima de Yeti congelada
+
+Frozenbeard
+
+
+Fruits - @@ coins
+
+
+Full Power Card
+
+
+Full Throttle
+
+
+Full of agrotoxins, transgenics and whatever. Not safe.
+
+
+Fungus
+Hongo
+
+Funky Hat
+
+
+Fur Boots
+Botas de piel
+
+Furniture Menu
+
+
+Furthermore, if you don't have enough mana, it'll hurt you until you die.
+
+
+Fuschia Dye
+
+
+Fusus
+
+
+Futurely, Mylarin Dust and a Sunny Crystal will also be available.
+
+
+GAAAAAAAAAAAAAAAAHHHHHHH!
+
+
+GAME SETTINGS
+
+
+GET OUT OF HERE, YOUR NOBODY!
+
+
+GM Alchemy Table
+
+
+GM Black Smithy
+
+
+GM Cap
+Gorra de Game master
+
+GM Gift Box
+
+
+GM Robe
+Tunica de Game master
+
+GMs are NOT allowed on Hurnscald Liberation day.
+
+
+GO! Run, %s, RUN!!!!
+
+
+GP
+
+
+GP: %d + %d
+
+
+GUARDS! GET THEM!
+
+
+Gaelira
+
+
+Gaia Break
+
+
+Gain: %d RP/min
+
+
+Gained 20000 XP and 2500 GP
+
+
+Gained 2500 XP and 250 GP
+
+
+Gained 5000 XP
+
+
+Gained 7500 XP and 1250 GP
+
+
+Gained @@ points.
+
+
+Gale, not good to fly.
+
+
+Galimatia
+
+
+Gambler Master
+
+
+Gambler#017-3
+
+
+Gambler#020-4
+
+
+Gambling Xan
+
+
+Gambling is for the weak, I offer you a true game!
+
+
+Gamboge Herb
+Hierba de Gamboge
+
+Gamboge Plant
+
+
+Game Master
+Maestro del juego
+
+Game Mistress
+
+
+Game News
+
+
+Game Rules were updated!
+
+
+Game Settings
+
+
+Game Statistics
+
+
+Gem powder
+
+
+Gemini Season
+
+
+Gender
+Género
+
+General Boosts
+
+
+General Information
+
+
+General Krukan
+
+
+General Razha
+
+
+General Store#dimond
+
+
+General Terogan
+
+
+General Terogan : DEAD! Muahahahaha!
+
+
+Generic items are used for different purposes. In creating other items, to swap and sell, to collect, etc.
+
+
+George
+
+
+George the Pirate
+
+
+Get Rekt Noob.
+
+
+Get out of here! Before I call the city guard!!
+
+
+Get out of here, weakling. You'll be killed by bandits.#0
+
+
+Get out of here, weakling. You'll be killed by bandits.#1
+
+
+Getting Money
+
+
+Getting ranked #1 in a challenge yields you 10 points, getting ranked #2 yields you 9 points and so on.
+
+
+Getting there is tricky, so listen carefully to the instructions:
+
+
+Ggrmm... Grmmmm...
+Ggrmm... Grmmmm...
+
+Ghada
+
+
+Giant Cave Maggot
+
+
+Giant Maggot
+
+
+Giant Maggots are worth 1 point, Snakes are worth 5 points and Black Scorpions are worth 10 points. The ones in caves doesn't count. Bring me 300 points. Good luck!
+
+
+Giant Mutated Bat
+
+
+Gift Fanatic
+
+
+Gimme a second... Yes, you seem to be fine now, very well, congratulations!
+
+
+Ginger Bread Man
+Hombre de pan de jengibre
+
+Give Up
+
+
+Give a @@ to the Mouboo?
+
+
+Give her the materials she asked for?
+
+
+Give him an item
+
+
+Give him the materials he asked for?
+
+
+Give it time, increase your magic power, and you'll find out the truth.
+
+
+Give me %s cards of the same type, and I'll give you one card of a higher rarity. There is no cost, but the card is random.
+
+
+Give me %s copies of the same card and %s GP, and I'll improve its tier.
+
+
+Give me a card and select another card of same class. I charge %d GP for simple exchanges.
+
+
+Give me a second to look over your paperwork.
+
+
+Give me back what you stole, thief!
+
+
+Give me some space.
+Deme espacio.
+
+Give players 10 minutes
+
+
+Give players 15 minutes
+
+
+Give players 20 minutes
+
+
+Give players 25 minutes
+
+
+Give players 30 minutes
+
+
+Give players 5 minutes
+
+
+Give that to whoever needs them, and see if it works. Then come tell me the result. Do you have the reagents?
+
+
+Give the Antenna and the GP to her?
+
+
+Give up!
+
+
+Give your pet a nice name, and keep it healthy, and you'll be a successful pet owner!
+
+
+Glad the Monster King avoid the seas, arr!
+
+
+Glad to hear. I swear, the fish I picked before you arrive was THAT big!
+
+
+Gladiator
+
+
+Gladys
+
+
+Gloves
+
+
+Gloves Recipes
+
+
+Go and fetch @@, the party leader!
+
+
+Go and follow @@, your party leader!
+
+
+Go and talk to it.
+
+
+Go away creep, I HATE YOU!
+
+
+Go away, I am too magical for you. %%n
+
+
+Go away, kid! Let me pray in peace!
+
+
+Go away,%s can't you see I'm busy?
+
+
+Go away.
+Aléjate.
+
+Go back
+Volver
+
+Go back to Rosen!
+
+
+Go do what I told you to do and examine the house thoroughly!
+
+
+Go fly a kite.
+Ve a volar una cometa
+
+Go home now?
+
+
+Go kill the Bandit Lord!
+
+
+Go kill the maggots!
+
+
+Go kill them!!
+
+
+Go now, with the blessing of ducks. There may come a time when we require your aid once again, O %s.
+
+
+Go see someone else for now. Yes, you need level to take most tasks available on the world!
+
+
+Go talk to Sagratha, she is usually in a hut in northen forest. The door have a magic barrier, so you'll need to have minimal magic skills to get close enough to open it.
+
+
+Go through the waterfall path.
+
+
+Go to the townhall there and show the mayor this other letter.
+
+
+Go very close to it and, speak the four four-letters magic words, pour some @@, and he'll appear to you.
+
+
+Goal: @@/@@ reached!
+
+
+Goal: Survive the longest possible.
+
+
+Gobo Bear
+
+
+God bless you! You have saved me from sweltering!
+
+
+Going to World Edge? Never heard of.
+
+
+Golbarez
+
+
+Gold Fish
+Pez dorado
+
+Gold Ingot
+Lingote de oro
+
+Gold Medal
+
+
+Gold Ore
+Mineral de oro
+
+Gold Ore -> Silver Ore
+
+
+Gold Pieces
+Piezas de oro
+
+Golden Apple
+Manzana dorada
+
+Golden Armbands
+
+
+Golden Black Pearl Ring
+Anillo de perla negra dorado
+
+Golden Boss Gift
+
+
+Golden Chainmail
+Cota de malla dorada
+
+Golden Chest
+
+
+Golden Easteregg
+
+
+Golden Eggs are used for the grand collector prize. Ah, I love Easter! I loooooooove it!
+
+
+Golden Four-Leaf Amulet
+Amuleto dorado de cuatro hojas
+
+Golden Gift
+Regalo de oro
+
+Golden Light Platemail
+Malla de placas ligera dorada
+
+Golden Pearl Ring
+Anillo Perla Dorada
+
+Golden Ring
+
+
+Golden Scorpion
+
+
+Golden Scorpion Claw
+
+
+Golden Scorpion Claw -> Black Scorpion Claw
+
+
+Golden Warlord
+
+
+Golden Warlord Plate
+Placa del señor de la guerra dorada
+
+Golem
+
+
+Gonzo Dark Card
+
+
+GonzoDark Sponsor
+
+
+Good %s, %s. The council is not in session right now.
+
+
+Good %s. Would you like to sleep here? It's only %d GP!
+
+
+Good @@. My name is @@ and I make @@.
+
+
+Good bye my friend, and safe travels!#0
+
+
+Good bye my friend, and safe travels!#1
+
+
+Good bye!
+
+
+Good bye, darling!
+
+
+Good bye, sir.
+
+
+Good bye.
+
+
+Good choice! This year we're having a @@!
+
+
+Good day sir.#1
+Buenos días, señor.#1
+
+Good job collecting the monster points for me. Here's your reward.
+
+
+Good job!
+¡Buen trabajo!
+
+Good job! Here is your reward!
+
+
+Good job! I wish you luck, because now you need to SWIM!
+
+
+Good job, kid. You've survived both the Cave Of Trials and Soren's Village.
+
+
+Good job, man!
+
+
+Good job, you already killed over 100! Hahah, that sure teach them a lesson!
+
+
+Good job, you've killed the %d %s and reported back in time!
+
+
+Good job, you've killed the @@ @@ and reported back in time!
+
+
+Good job.
+
+
+Good job... Here is your reward...
+
+
+Good job... You can keep the drops. Touch here to return home.
+
+
+Good luck arresting the criminal!
+
+
+Good luck getting the fertilizer from Eomie! Many elves simply refuse to cooperate until it affects them directly.
+
+
+Good luck hunting down the Monster King.
+
+
+Good luck in your journey, @@.
+
+
+Good luck killing it! And don't forget to touch the Soul Menhir before you go!
+
+
+Good luck on your journey!
+
+
+Good luck out there!
+
+
+Good luck with that. See you in ten years or something.
+
+
+Good luck with your boyfriend!#0
+
+
+Good luck with your girlfriend!#1
+
+
+Good luck!
+¡Buena suerte!
+
+Good luck! Come for remuneration when you finish!
+
+
+Good luck! Don't come back until you reach 10000 kills!
+
+
+Good luck, %s! There are more monsters nearby!
+
+
+Good luck, %s. You'll need it.
+
+
+Good luck, @@!
+
+
+Good luck, because you'll need it. Talk to me once all of them are lit, and I'll SUMMON DAH MONSTER KING.
+
+
+Good luck.
+
+
+Good luck. %%1
+
+
+Good luck...
+
+
+Good news - Oskari doesn't plans in firing you (yet)!
+
+
+Good to know.
+Es bueno saberlo.
+
+Good work with the slimes. This will make our task much easier.
+
+
+Good!
+
+
+Good! First, let us test if you are resourceful. Bring me 3 @@ and 3 @@. That should be enough!
+
+
+Good! I want 3 @@ and 10 @@. I have a contract to transform that in good money.
+
+
+Good! Last step! West of Hurnscald, there is a magic fountain.
+
+
+Good, I need to talk with the King.
+
+
+Good, good, you have enough powder. Now I need you to lit all five torches with them.
+
+
+Good, good. The chant is ##B EMOC OTEM ITEY GNIK ##b. Good luck!
+
+
+Good, knowing the world lore is important.
+
+
+Good, there they are.
+
+
+Good, this must mean that Sagratha managed to flee in time.
+
+
+Good, you *hic* proved your *hic* worth. I'll give you them.
+
+
+Good, you did it!
+
+
+Good. Did you knew you could register to the Special Class, in order to get an extra skill point?
+
+
+Good. Here, take this key and hide it. I will quickly brief you:
+
+
+Good. I hope you have stocked everything. The time limit is 4 hours.
+
+
+Good. You look like a real miner! Take this @@ and go mine bifs!
+
+
+Goodbye.
+Adiós.
+
+Googles
+Gafas
+
+Got 1,000,000 Monster Points!
+
+
+Got @@ EXP, @@ JExp and @@ GP for helping out.
+
+
+Got Master Blueprints!
+
+
+Graduation Album
+Ãlbum de graduación
+
+Graduation Cap
+Gorro de graduación
+
+Graduation Robe
+Túnica de graduación
+
+Grand Hunter Quest
+
+
+Grand Hunter Quest: @@/10,000
+
+
+Grand Master
+
+
+Grant Power
+
+
+Graphene Stone
+Piedra de grafeno
+
+Grass Carp
+Carpa herbívora
+
+Grass Liner
+Revestimiento de hierba
+
+Grass Seeds
+Semillas de cesped
+
+Grass Snake
+
+
+Great Hero
+
+
+Great Mouboo Slime
+
+
+Great Tree
+
+
+Great Tree#296to297
+
+
+Great news! Then please bring me 1 @@, or 200 @@ @@ 20 @@.
+
+
+Great! Eomie, the girl on Tulimshar's magic academy, is an alchemist. She probably makes fertilizers.
+
+
+Great! Excellent! Because I am also diving in problems!!
+
+
+Great! Here, I'll give you %d GP so you can start here with more ease.
+
+
+Great! It is simple, really. Pachua and I are scouting the desert. Run as fast as you can to Pachua, and then run back here. Pachua will send a smoke signal when you talk to him, so I'll know you haven't cheated.
+
+
+Great! Now, listen carefully: This library is laid out in nine squares.
+
+
+Great! Thank you!
+
+
+Great! The first thing you need is, obviously, a bow. You should not use any you come across, but a high quality one.
+
+
+Great, I need 11 @@. Only good food makes a good crew.
+
+
+Great, I see you've already made yourself comfortable!
+
+
+Great, just bring me several boxes, once one of them have the ring I'm looking for.
+
+
+Great. I hereby task you to kill the rogue Yetis on the Yeti King Throne Room. Of course, you won't be able to leave until all of them are dead.
+
+
+Greater @@ allows you to attack faster and has a greater chance of evading attacks.
+
+
+Green
+verde
+
+Green 4144
+
+
+Green Dragon
+
+
+Green Dye
+Tinte verde
+
+Green Eggshell Hat
+Sombrero de cáscara de huevo verde
+
+Green Skull Slime
+
+
+Green Slime
+
+
+Green Slime Mother
+
+
+Green Switch#EP
+
+
+Green Wars project says that @@ trees were planted by adventurers on the world!
+
+
+Greenhorn Abomination
+
+
+Greetings %s, I am %s, I am in charge of monster extermination.
+
+
+Greetings %s, I am %s, the man in charge for the Alliance occupation of Fortress Town.
+
+
+Greetings mortal; I am Demure, Queen of Dragons.
+
+
+Greetings! I am %s from the Alliance.
+
+
+Greetings, %s %s, I am Hocus Pocus the Grandmaster.
+
+
+Greetings, %s %s, to the Alliance High Council.
+
+
+Greetings, %s. Do you have business on the Alliance Council Room?
+
+
+Greetings, adventurer. I am Valia Gemini, owner of this abode.
+
+
+Greetings, traveler. I am Darug, chief of this clan.
+
+
+Greetings, traveler. My name is Melune, and I'm Darug's wife.
+
+
+Greetings, wanderer. I am @@, chief of the Tulimshar guards. My wards are dying from dehydration in the sun. Bring them water and you will earn a reward.
+
+
+Greetings, young soul; I am the queen of fairies, Lilit.
+
+
+Greetings. The council is currently in session, no one is allowed in the inner chambers.
+
+
+Grenade
+Granada
+
+Grenadier
+
+
+Grind grind grind the slime!
+
+
+Groata : ...Because I am out of freebies and need to sleep. So shoo.
+
+
+Groata : ...Meh. I'll give you this... stuff, and for the last time, don't bother me again...
+
+
+Groata : ...Will you seriously just keep running around? Like a headless chicken?
+
+
+Groata : C'mon, that is boring. What I need to do to get you out of my house?
+
+
+Groata : Hey. I live here. Why are you spawning monsters in my home??
+
+
+Groata : I wonder for how long you can survive here...
+
+
+Groata : Let's make a deal. Take this, clear my house, and get out.
+
+
+Groata : This is rude. Seriously, stop doing this.
+
+
+Groata : Uh. What's happening here?
+
+
+Groata : You must be idiotic in keeping spawning.
+
+
+Ground Strike
+
+
+Group together your guild and challenge the evil power,
+
+
+Grown in harsh environments, withstand anything.
+
+
+Grr, where's Mercury... He was supposed to keep watch over this spot... It was meant to be my free time!
+
+
+Grrr... Why are @@ on this cave?! Begone, before I lose my patience!
+
+
+Grrr... Why are @@ on this cave?! Where did Mercury went after all?!
+
+
+Guaaaards! Sailors! Help! We have a stowaway!
+
+
+Guard
+
+
+Guard Amy
+
+
+Guard Avou
+
+
+Guard Benji
+
+
+Guard Biscop
+
+
+Guard Corina
+
+
+Guard Defou
+
+
+Guard Devoir
+
+
+Guard Falko
+
+
+Guard Froma
+
+
+Guard Jennifer
+
+
+Guard Jhon
+
+
+Guard Laurie
+
+
+Guard Malindax
+
+
+Guard Maxim
+
+
+Guard Moustacha
+
+
+Guard Nutelo
+
+
+Guard Philip
+
+
+Guard Popaul
+
+
+Guard Roukin
+
+
+Guard Tetric
+
+
+Guard Totor
+
+
+Guard Valou
+
+
+Guard Yen
+
+
+Guard Yuna
+
+
+Guard#00301A
+
+
+Guard#012-1.1
+
+
+Guard#012-1.2
+
+
+Guard#019-2.1
+
+
+Guard#019-3.1
+
+
+Guard#lof-1
+
+
+Guard#lof-2
+
+
+Guard#lof-3
+
+
+Guard#lof-4
+
+
+Guard#lof-5
+
+
+Guard#lof-6
+
+
+Guardian
+
+
+Guardian Statue
+
+
+Guardians Of Soren
+
+
+Guardians will come to stop you, and to lock down the shrine!
+
+
+Guards use it to spar against each other on friendly matches, to see who is stronger.
+
+
+Guild Area ATK UP
+
+
+Guild Area Autorevive
+
+
+Guild Area CRIT UP
+
+
+Guild Area DEF UP
+
+
+Guild Area Regeneration
+
+
+Guild Blacksmith
+
+
+Guild Chemistry
+
+
+Guild Coin
+Moneda de gremio
+
+Guild Coin Exchange
+
+
+Guild Hall
+
+
+Guild Information
+
+
+Guild Level is not enough: @@/@@
+
+
+Guild Logs
+
+
+Guild Lv @@, @@/@@ EXP to level up
+
+
+Guild Magic
+
+
+Guild Management
+
+
+Guild Master
+
+
+Guild Master: @@
+
+
+Guild Name: @@
+
+
+Guild Storage
+
+
+Guild Vault
+
+
+Guild's Battle Plan
+
+
+Guild's Power
+
+
+Guinevere
+
+
+Guinevere is the King's Wife. If you talk to her, the King will be upset and will send soldiers to you.
+
+
+Gwendolyn
+
+
+Gwendolyn Bowmaker
+
+
+Gwendolyn sighs and shake her head.
+
+
+Gwendolyn takes an analyzing look at you. Then she nods.
+
+
+HA, HA, HA! The blacksmiths from the Land of Fire are the best from the world! There's no challenge too big for us!
+
+
+HAHAHAHA! How foolish of you, didn't even bother trying to sneak in!
+
+
+HAHAHAHAH! Shiny as new, and stronger than ever! Have fun!
+
+
+HC Crazyfefe
+
+
+HC Jak1
+
+
+HC Jesusalva
+
+
+HC LawnCable
+
+
+HC Saulc
+
+
+HIGHER!
+
+
+HISTORY BOOK
+
+
+HOLD THAT! I actually like to drink, and spend some drinking nights with Saulc and Crazyfefe!
+
+
+HP +500
+
+
+Had you any breakthrough?
+
+
+Haha yes, you are right!
+
+
+Haha, Nice, but how do you do that?
+
+
+Haha, as if I believe you.
+
+
+Haha, no, I'm not! But we found traces of them.
+
+
+Haha, this wooden figurine won't do the job, sorry.
+
+
+Hahah, four gifts, neat! Can we get to 1600 boxes?
+
+
+Hahah, good to hear! Do you know some items are only dropped on spring? You should go after them!
+
+
+Hahah, silly, that's yourself!
+
+
+Hahah, tell me another one!
+
+
+Hahaha, good luck out there, my friend!
+
+
+Hair color
+Color del pelo
+
+Hair style
+Peinado
+
+Hairstyles.
+
+
+Halberd
+Alabarda
+
+Half Croconut
+Medio Croconut
+
+Half Eggshell
+Media cáscara de huevo
+
+Halin Guard
+
+
+Halin Warp Crystal
+
+
+Halinarzo
+
+
+Halinarzo (@@m)
+
+
+Halinarzo - @@ GP
+
+
+Halinarzo Church makes a party every Sunday! Only true believers are invited!
+
+
+Halinarzo Mines
+
+
+Halinarzo Office
+
+
+Halinarzo Route
+
+
+Halinarzo Townhall
+
+
+Halinarzo is a *hic* level 50 area. So please *hic* be careful!
+
+
+Halinarzo lies past the Canyon, but the @@ there are level @@.
+
+
+Halinarzo people are very poor, but we have our resources...
+
+
+Halinarzo was founded to explore Mana Stones.
+
+
+Halinarzo's Nurse
+
+
+Hall Of AF King
+
+
+Hall Of Academics
+
+
+Hall Of Base Level
+
+
+Hall Of Candor Bloodbath
+
+
+Hall Of Ched
+
+
+Hall Of Crazyfefe Battle
+
+
+Hall Of Deaths
+
+
+Hall Of Doppelganger Arena
+
+
+Hall Of Fame
+
+
+Hall Of Fortune
+
+
+Hall Of GM Commands
+
+
+Hall Of Guilds
+
+
+Hall Of Honor
+
+
+Hall Of Job Level
+
+
+Hall Of Strange Coins
+
+
+Hall of Sponsors
+
+
+Halt! Beyond this gate, is the Great River and the Eternal Swamps.
+
+
+Happy %s!
+
+
+Happy Easter!
+
+
+Hard
+
+
+Hard Spike
+Espiga dura
+
+Harper
+
+
+Harry
+
+
+Hasan
+
+
+Hasan takes your print screen and analyzes it.
+
+
+Haste Potion
+Poción de prisa
+
+Have Maggot Slimes, Bug Legs, Mauve Herbs and Money, lots of them.
+
+
+Have a good day!
+¡Que tengas un buen día!
+
+Have a good day, then.
+
+
+Have a good time fishing!
+¡Páselo bien pescando!
+
+Have a nice @@ day!
+
+
+Have a nice day!
+
+
+Have a warm cup of Coffee on the house, and enjoy!
+
+
+Have fun!
+
+
+Have no idea where in the world you are? Or what a certain foe drops, or if you should even dare to challenge it?
+
+
+Have the pirates been routed? Will they return?
+
+
+Have you already talked to our captain? He should be downstairs waiting for you!
+
+
+Have you been fiddling with time? Anyway, this is not a disease, but a ##Bcomplex curse##b.
+
+
+Have you been harming the forest? Specially Mouboos. Are you killing them?
+
+
+Have you brought me some %s?
+
+
+Have you came here to rescue me?
+
+
+Have you cried enough?
+
+
+Have you ever felt stuck? Lost? Didn't know about a quest, or an item is troubling you?
+
+
+Have you ever heard of the [@@http://landoffire.org/|Land Of Fire@@]? It is a really cool game which is being developed by Pyndragon and Pihro!
+
+
+Have you ever met our Queen Lilit? She is lovely but hates @@ for some reason...
+
+
+Have you found Tulimshar's Secret Beach yet? Tulimshar is full of secrets. Some NPCs which only say hi may say something else depending on your level or insistence.
+
+
+Have you found out magic already? It should not be possible, but the girl reading the book says it is. I don't know in what to believe.
+
+
+Have you got mad? That's too much, it's like you are trying to be perfect! No way I'll help you!
+
+
+Have you managed to transmute the @@ I asked for?
+
+
+Have you seen my brother %s?
+
+
+Have you seen my sister Elza?
+
+
+Have you talked to Peetu co-workers about their opinion yet?
+
+
+Have you thought on my proposal? I'll only charge you %d GP or a %s for each attempt made.
+
+
+Have you visited the mines already? Tycoon is in charge of the security operations in there. He might need your help more than I do.
+
+
+Having magic power is useless by itself, so you must visit the Academy. I guess that involves approval and acknowledgment of the Mage Council that you are a mage!
+
+
+He died, but I plan in fulfilling his will. I can give you training for that, and teach you how to fight properly.#0
+
+
+He died, but I plan in fulfilling his will. I can give you training for that, and teach you how to fight properly.#1
+
+
+He dislikes Talpans like you. The Mana Source chained him in ancient times, though, so the Talpans could flourish.
+
+
+He guards what you call "monsters", but he favor Mouboos. He is possibly the oldest of the Originals.
+
+
+He is blaming himself and is afraid of losing his job.
+
+
+He is by far the most powerful, and has a few chosen ones to whom he granted what we call "SQL Magic". Everyone envies power, so there's the imitation of that, "GM Magic", but unrelated to Mr. Saves.
+
+
+He is in the process of making a figurine made of bug leg.
+
+
+He is my grand-grand-grandfather! The might Kfahr, with his friend Braknar, and heroes from Tulimshar legends.
+
+
+He is not alive anymore, so only a single bow of those exist in the whole world... That is why we call it a
+
+
+He is strong though, so keep your party together!
+
+
+He is the Miners leader.
+
+
+He just abandoned this place and left everything behind... It's suspicious at best. You don't think anyone will be able to decrypt the secrets of Artificial Lifeforms.
+
+
+He laughs heartily and gives you a slap on the back.
+
+
+He looks displeased and destroys the fur.
+
+
+He looks pleased.
+
+
+He never touched the Soul Menhir... He died... For real...
+
+
+He should be crying in the far northeast corner of this library. Can you go there to see him?
+
+
+He thinks he is using me to his rebellion, but I'm the one using him. I'm not the Bandit Lord for no reason.
+
+
+He usually guards a central position on the caves... He could help you, if he is there.
+
+
+He was looking around in the library a while, and then came to ask about our research. He seemed to be particularly interested in our experiments with the slimes.
+
+
+He will summon allies if he think you have the upper hand. So take care if you are going ranged.
+
+
+He's an *hic* hermit, and collects *hic* Bat teeth and wings... Tell me how many he collected!
+
+
+He's holding a fishing rod, while gazing out at the sea.
+Está sujetando una caña de pescar, cuando mira hacia el mar.
+
+Head Hood
+
+
+Headgear
+
+
+Heal Card
+
+
+Healing
+
+
+Healing Recipes
+
+
+Heals in area every friendly unit (incl. homuns and mercs). Req. Lifestone to cast.
+
+
+Hear me *hic* well, what ever, whatididever you will *hic* said ab... uhm... out what?! You saw there, the Guild won't let it get public.
+
+
+Hear you? How do you even know he can understand you?!#1
+
+
+Hear you? How do you even know she can understand you?!#0
+
+
+Heart Glasses
+Gafas de corazón
+
+Heart Necklace
+Collar de corazón
+
+Heart Of Isis
+Corazón de isis
+
+Heh, I wonder what he would've said if he'd have visited us a little bit later. Mh, now that I think about it, the accident with the slimes happened just the night after he was here.
+
+
+Heh, congratulations making it this far. Once again, allow me to present myself:
+
+
+Heh, thanks %s. Here's some money.
+
+
+Heh, there is death penalty outside the town. You better watch out. The mobs are on a foul mood today, very easy to get killed.
+
+
+Heh. Fair enough.
+
+
+Heh. Foolish. That's what adventurers are, I guess...
+
+
+Hehe, hehe. Well, come back if you change your mind.
+Jeje, jeje. Bien, vuelve si cambias de idea.
+
+Hehe... Some material... %%5
+
+
+Hehehe... A pleasure doing business with you!
+
+
+Hehehe... Thanks. Here, take these %s Monster Points... This exchange has never happened.
+
+
+Helena
+
+
+Helena's Teammate
+
+
+Helios Boots
+
+
+Hello
+
+
+Hello %s and welcome to Land Of Fire Village. This used to be a whole server before the Monster King crashed it down here.
+
+
+Hello %s.
+
+
+Hello %s. What brings you here?
+
+
+Hello @@! Do you have some @@ with you?
+
+
+Hello @@, may I interest you in a copy of the Gazette? It's only 1 GP!
+
+
+Hello Adventurer!#0
+
+
+Hello Adventurer!#1
+
+
+Hello Adventurer.
+
+
+Hello Ms. Eomie, kind sir Anwar sent me to fetch some fertilizers to save Tulimshar from famine, if you may?
+
+
+Hello Peetu.
+
+
+Hello adventurer! Are you lost?#0
+
+
+Hello adventurer! Are you lost?#1
+
+
+Hello adventurer, what may this humble minstrel do for you today?
+
+
+Hello adventurer. Are you interested in the Heroes Hold, or in the Call Of Dusty?
+
+
+Hello again can you give you give me some tentacles.
+
+
+Hello darling. The Alliance sucks, but don't tell anyone I told you that.
+
+
+Hello darling.#0
+
+
+Hello darling.#1
+
+
+Hello dear!#0
+¡Hola, cariño!#0
+
+Hello dear!#1
+¡Hola, cariño!#1
+
+Hello do you want to play rock scissors paper?
+
+
+Hello little kid. Watch out, there's a maggot behind you %%a !
+
+
+Hello my friend! I see you've brought your @@ with you this time!
+
+
+Hello my friend! Need my help?#0
+
+
+Hello my friend! Need my help?#1
+
+
+Hello my friend!#0
+
+
+Hello my friend!#1
+
+
+Hello my friend.
+
+
+Hello my friend. Thanks for slaying the rogue Yetis.
+
+
+Hello my hero!#0
+
+
+Hello my hero!#1
+
+
+Hello player, do you want to participate on HUNGRY QUIRIN event?!
+
+
+Hello there pretty fountain, what about granting me magic?
+
+
+Hello there! I am a constable. I keep law and order here.
+
+
+Hello there! I make bullets for the weapons my friend Pyndragon makes.
+
+
+Hello there! I'm Jack, the Lumberjack, and enemy of all trees. If you need some firewood, just let me know.
+
+
+Hello there, @@ the @@.
+
+
+Hello there, I am %s and I change item options, can I help you today?
+
+
+Hello there, I am @@, blacksmith of this fine city. What do you want to forge today?
+
+
+Hello there, I am Lilanna and you are in ANISE INC. headquarters.
+
+
+Hello there, darling.#0
+
+
+Hello there, darling.#1
+
+
+Hello there. Do you want to donate blood?
+
+
+Hello there. I am looking for strong people, but you are not strong enough.
+
+
+Hello there. My name is %s.
+
+
+Hello winged friend! How is the wind today?
+
+
+Hello!
+
+
+Hello! Anwar sent me to get fertilizer to save Tulimshar from famine, could you help me?
+
+
+Hello! Calm wind today!
+
+
+Hello! Could I see the Mayor?
+
+
+Hello! Do you need help?
+
+
+Hello! How can I help you?
+
+
+Hello! I am @@, and I take care of Tulimshar forge. I usually make ingots from various materials. So, what do you want today?
+
+
+Hello! I am Aurora, and I oversee the %s!
+
+
+Hello! I am Cassia, Ambassator. During the Monster War outbreak, Halinarzo was almost entirely destroyed.
+
+
+Hello! My name is Kenton, and I'm in charge of Public Affairs of Land Of Fire.
+
+
+Hello! Welcome to the Inn! I am an Alliance officer, and I oversee gambling all over the world!
+
+
+Hello! Would you like to try some piou delicacies?
+
+
+Hello! You seem strong enough, could take a request from me? Of course, not for free.
+
+
+Hello, %s! Congratulations for finishing the %s!
+
+
+Hello, %s.
+
+
+Hello, @@!
+
+
+Hello, @@! We are proud to announce the @@ RESULTS!
+
+
+Hello, @@! We just looked up and found out you that you were affected on a Valentine Event bug!
+
+
+Hello, @@! We just looked up and found out you were active during 2018-12-29!
+
+
+Hello, @@.
+
+
+Hello, @@. Thanks for helping me.
+
+
+Hello, I act on the Alliance's behalf.
+
+
+Hello, I am B-@@, of the @@ order.
+
+
+Hello, I am G-@@, of the @@ order.
+
+
+Hello, I am K-@@, of the @@ order.
+
+
+Hello, I am T-@@, of the @@ order.
+
+
+Hello, I am a sword to hire, a Mercenary Trainer and Chief.
+
+
+Hello, I am your local silversmith, here for all of your smithing needs!
+
+
+Hello, I noticed my dear friend, Susanne, asked you to help us save my sisters; do not forget to ask Susanne where the Fafi Dragon was last seen.
+
+
+Hello, I'm Pylon!
+
+
+Hello, I'm looking for bandit hoods!
+
+
+Hello, I'm new here! Can I help you?
+
+
+Hello, Lua told me she booked a room for me.
+
+
+Hello, What a lovely day for a stroll.
+
+
+Hello, and welcome to Blue Sage's Residence, Library, and Nivalis Townhall.
+
+
+Hello, and welcome to Frostia bounty hunter guild.
+
+
+Hello, and welcome to TMW2: Moubootaur Legends!
+
+
+Hello, and welcome to Tulimshar Inn.
+
+
+Hello, and welcome to the Magic Academy.
+
+
+Hello, and welcome to the Magic School of Tulimshar.
+
+
+Hello, and welcome to the Tulimshar guard house.
+
+
+Hello, could I help you in exchanger of fertilizer?
+
+
+Hello, darling!
+
+
+Hello, darling. I was thinking in doing a tea party.#0
+
+
+Hello, darling. I was thinking in doing a tea party.#1
+
+
+Hello, dear! I love @@, could you bring me some? They're sooooo sweet and delicious!#0
+
+
+Hello, dear! I love @@, could you bring me some? They're sooooo sweet and delicious!#1
+
+
+Hello, did you come from Tulimshar? Because you have a nice tan.
+
+
+Hello, hello! It's great to see you. Maybe you can help me with a little problem I have.
+
+
+Hello, madam!#0
+
+
+Hello, my name is Mahid, and this well belongs to me!
+
+
+Hello, new wanderer!#0
+
+
+Hello, new wanderer!#1
+
+
+Hello, sir!#1
+
+
+Hello, wanderer! Welcome to Tulimshar.#0
+
+
+Hello, wanderer! Welcome to Tulimshar.#1
+
+
+Hello, wanderer!#0
+
+
+Hello, wanderer!#1
+
+
+Hello, who are you?
+
+
+Hello, young boy...#1
+
+
+Hello, young girl...#0
+
+
+Hello.
+Hola.
+
+Hello. Ah, bad luck. I am three days without fishing a single carp.
+
+
+Hello. Did you come here to see the library? There isn't much left... But we're working on recovering the books by collecting the ripped out book pages, sorting them and recreating the books.
+
+
+Hello. I am @@, and I am from a family of travellers. We travel though the whole world, looking for exotic goods.
+
+
+Hello. I am Emma, Enrique's wife.
+
+
+Hello. I am Enrique, headmaster of The Academy.
+
+
+Hello. I am the book keeper, responsible for keeping Halinarzo History.
+
+
+Hello. I am the instructor assigned to the magic range training field.
+
+
+Hello. I know the secrets of the legendary @@.
+
+
+Hello. I was assigned to guard the ranged training grounds of the mystic forest.
+
+
+Hello. My name is Erik, and I have Homunculus go out in errands in my stead.
+
+
+Hello. Take care with the Mountain Snakes, they're highly poisonous!
+
+
+Helmet Recipes
+
+
+Help controlling their population, and return those you fish to Aurora!
+
+
+Help the distressed woman to save her daughter? ALL PLAYERS are penalized with failures.
+
+
+Henriikka
+
+
+Henry
+
+
+Henry gave something to drink.
+
+
+Herb Fields
+
+
+Here are EXTREMELY VALUABLE warp crystals, and the *hic* fabled return potions.
+
+
+Here are the Antennas.
+
+
+Here are the Pinkie Legs.
+
+
+Here are two @@. Please deliver it to them. I hope they'll like it.
+
+
+Here is 1000 GP for your efforts. Thanks for making Hurnscald a better place to live.
+
+
+Here is 2000 GP for your efforts. Thanks for making Hurnscald a better place to live.
+
+
+Here is a reward for your effort! Now you can be a true buccaneer!
+
+
+Here is a safe haven for we who don't fight. There are no monsters, and the Mouboo watches over us.
+
+
+Here is one.
+
+
+Here is the @@, like my armor, and one of the best for rangers.
+
+
+Here is the bug bomb! Eomie just gave me. Hurry up!
+
+
+Here is your powder! I hope it will be useful.
+
+
+Here it is, clean like a whistle!
+¡Aquí está, limpio como un silbido!
+
+Here it is, miss.#0
+
+
+Here it is, mister.#1
+
+
+Here it is. Come back to report the results.
+
+
+Here it is. Take care with it!
+
+
+Here kid. Frostia, the elf town, is somewhere near here, but I'm not sure if you can reach it from here.
+
+
+Here lies a diary, presumably from Fefe.
+
+
+Here they are miss!
+
+
+Here they are!
+
+
+Here they are, miss!
+
+
+Here they are, miss.#0
+
+
+Here they are, mister.#1
+
+
+Here we have a squall from @@.
+
+
+Here you are!
+
+
+Here you are, you won't find a dye more yellow than this!
+
+
+Here you can find professors, academics and researchers. Feel free to enroll in any class as well.
+
+
+Here you go - have fun with it.
+
+
+Here you go!
+
+
+Here you go! Anything else?
+
+
+Here you go! Happy easter! Bhop bhop!
+
+
+Here you go! Wasn't this a sweet deal?
+
+
+Here you go, I tried my best! Do you want another?
+
+
+Here you go, a brand new crystal. I'll fix the old one on the meanwhile. Take care of it.
+
+
+Here you go, anything else?
+
+
+Here you go, everything is fixed.
+Aquí tienes, todo arreglado.
+
+Here you go, fresh from the oven!
+
+
+Here you go, miss! Thanks for being my hero! <3#0
+
+
+Here you go, mister! Thanks for being my hero! <3#1
+
+
+Here you go, my friend! Please enjoy!#0
+
+
+Here you go, my friend! Please enjoy!#1
+
+
+Here you go, my friend. Uhm, good luck with archery.
+
+
+Here you go, thanks for doing my SECRET quest! Eh, not much to do here. But I like life this way.
+
+
+Here you go. Handle it with caution.
+
+
+Here you go. Perhaps you need another one?
+
+
+Here you go. Please enjoy and thanks for making this town better to live. Maybe one day the snakes leave ^.^
+
+
+Here you go. Please, keep fighting and growing strong. Improving oneself is... Damn, I forgot the proverb.
+
+
+Here you go. Uhm, I really prefer if you buy with Rosen, though.
+
+
+Here you go; See you later!
+
+
+Here's some gold for your efforts.
+
+
+Here's what I need:
+
+
+Here's your reward!
+¡Aquí está tu recompensa!
+
+Here's your sword, novice. Now go kill monsters.#0
+
+
+Here's your sword, novice. Now go kill monsters.#1
+
+
+Here, I did this @@ for you! I'm pretty sure this is also a drop, but that's literally everything I could do for helping my husband.
+
+
+Here, I have a candy!
+
+
+Here, I'll give you a Mercenary Box. Open it, get the mercenary card, and summon it when needed. You absolutely CANNOT let the Professor be assassinated!
+
+
+Here, all yours. Ah, if I still could walk... I would hunt those annoying squirrels myself!
+
+
+Here, all yours. I can't use them like I am now. Thank you.
+
+
+Here, come talk to me, the Magic Arpan! I'll help you get dressed.
+
+
+Here, lemme tell you something good: Do you know that fortress island which all the adventurers are talking about nowadays?
+
+
+Here, look at how it is done. Focus. You can use it to convert a @@ into a @@, but not the other way around, for example.
+
+
+Here, please take this to them. Tell them they are welcome here anytime! %%2
+
+
+Here, sparking new! Nice!!
+
+
+Here, take as much as you need, I have plenty!
+
+
+Here, take it. If the mana goes out of your body, I'll have your class master to return the book to me.
+
+
+Here, take the Elixir. Please, bring it to my wife! I am counting on you!!
+
+
+Here, take the reward as promised!
+
+
+Here, take this %s and these %s and good luck!
+
+
+Here, take this @@ - you deserve it! And here is 200 GP to buy a better weapon.
+
+
+Here, take this @@ - you deserve it! And here is some gold and experience.
+
+
+Here, take this @@. It will be better suited!
+
+
+Here, take this @@. This is the proof that you've helped Hurnscald greatly. This shall open new opportunities to you.
+
+
+Here, take this pair of boots as a reward!
+
+
+Here, take this reward. Good luck. %%1
+
+
+Here, thanks to the oil, this string is very sturdy. You better not keep it on your inventory. Good luck!
+
+
+Here, you can have a glass.
+
+
+Here, you can have the partly unobtainable items reserved to developers and contributors. And, uh, these NPC-only items, don't let developers know I gave you this. It'll be our little secret!
+
+
+Here, you can have this one!
+
+
+Here, you can have this souvenir.
+
+
+Here, you can have this spare one. Hahah! Crafting is an art, and I help teaching it. Just be sure to don't lose it, you will NEVER get another copy EVER again, was I clear?!
+
+
+Here, you can have this, token of my appreciation.
+
+
+Here. You know that milking Mouboos won't cause them harm, right? It's a different story with @@.
+
+
+Herein also lies Raid Yahoo, enemy of manakind and nemesis of Saul, the one hated by many and loved by few, greedy mana stone collector, but who still opposed to the Monster King and lost her life for it.
+
+
+Herein lies Fefe, for his great bravure and heroic deeds, savior of our realm, valiantly defeated in combat against the Monster King, may the mana shine upon him forever.
+
+
+Hero Card
+Carta de héroe
+
+Hero Card S
+
+
+Hero Card X
+
+
+Hero Coin
+moneda de héroe
+
+Hero Statue
+
+
+Hero Statue#012-1
+
+
+Hero Statue#027-1
+
+
+Hero#0
+
+
+Hero#1
+
+
+Hero:
+
+
+Heroes Hold
+
+
+Heroes Hold - Exchange Hall
+
+
+Hesitant, you reach out your hand, and grab whatever was on the Cauldron. It seems to be an Embryo.
+
+
+Hey %s, I was informed about your arrival. You are here, good!
+
+
+Hey %s, could you do me a little favor?
+
+
+Hey @@! You haven't talked to me yet!
+
+
+Hey do you have a second?
+
+
+Hey dude. During this event you can trade one @@ for more... useful items.
+
+
+Hey friend, could you do me a little favor?#0
+
+
+Hey friend, could you do me a little favor?#1
+
+
+Hey gal, could you do me a little favor?#0
+
+
+Hey hey, can you impress me? Can you impress me?
+
+
+Hey hey... Good job! I was worried you would ruin their hoods before being able to take them.
+
+
+Hey hey... Good job! We can now use again the stuff we recovered from the bandits.
+
+
+Hey if you want I can do some physical work for you!
+
+
+Hey kid! Can you hear me?#0
+
+
+Hey kid! Can you hear me?#1
+
+
+Hey kid, go play somewhere else, I don't have time! It's soon over!
+
+
+Hey look, an alchemy set. Not your area of expertise, but you take a few samples.
+
+
+Hey newbie... I am a dangerous bandit.
+
+
+Hey pal, could you do me a little favor?#1
+
+
+Hey silly %s, I need a favor from you.
+
+
+Hey there! How are you?
+
+
+Hey there! How are you? I hope you're doing fine!
+
+
+Hey there, %s. I deal with ultra rare items. If the Powers That Be decided you're out of luck, well, I am here to help you to bypass it.
+
+
+Hey there, %s. What I deal with is too much for your weak bones. So please come again after you are reborn, then I'll have something for you.
+
+
+Hey there, @@! Good luck killing monsters!
+
+
+Hey there, @@! I see you are still a noob!
+
+
+Hey there. My name is Gwendolyn Bowmaker; I'm the granddaughter of the famous Glinda Bowmaker.
+
+
+Hey wait... A monster!! Run for your life!!
+
+
+Hey wait... You found 2 GP!
+
+
+Hey wait... You're enveloped by a bright light and fully healed!
+
+
+Hey wait... You're enveloped by a bright light and gain experience!
+
+
+Hey you have a bucket! Too bad there are, you know, HOLES on it, so you can see.
+
+
+Hey you. Come here...I have a quest for ya.
+
+
+Hey! Be careful. You can't stay in this basement for so long, you're going to get sick. Come outside and take a break, maybe you can try again later.
+¡Oye! Ten cuidado. No puedes quedarte en ese sótano por mucho tiempo, puedes enfermarte. Ven afuera y toma un poco de aire, puedes probar nuevamente mas tarde.
+
+Hey! Good to hear from you!
+
+
+Hey! Good to see you. I was thinking how I could repay for what you've done for my mother.
+
+
+Hey! How are you today? Thanks again for your help.
+
+
+Hey! I already got them!
+
+
+Hey! I want to enter in this house!
+
+
+Hey, %s! Welcome back!
+
+
+Hey, @@!
+
+
+Hey, I am flopped. Do you want to gamble?
+
+
+Hey, I like rewards. Wait me, I'll be back!
+
+
+Hey, I said NO ENTRY! Get moving!
+
+
+Hey, I see you have appointed @@ players to this game. Good job!
+
+
+Hey, can you spare me a moment?
+
+
+Hey, check out my brand new fishing rod. I bought it just today.
+Eh, eche un vistazo a mi nueva caña de pescar. La compré hoy mismo.
+
+Hey, collect lots of @@ and give them to me on Christmas! Not now. On Christmas!
+
+
+Hey, did you bring me everything I asked for?
+
+
+Hey, did you know there are two mouboos which constantly fight against themselves?!
+
+
+Hey, do not mistake me for a child.
+
+
+Hey, do you know the ##BCall Of Dusty##b event?
+
+
+Hey, do you know what is good on summer? @@!
+
+
+Hey, do you know what is good on this harsh winter? A @@!
+
+
+Hey, dude! The guards are after me. I need your help, and I can reward you.#0
+
+
+Hey, dude! The guards are after me. I need your help, and I can reward you.#1
+
+
+Hey, girl!#0
+¡Eh, chica!#0
+
+Hey, have you come to play with me? I love playing with humans! Usually so few show in, it must be the dragons...
+
+
+Hey, how is the monster extermination going?
+
+
+Hey, huge THANKS for the help! I love gifts! Here's your due reward!
+
+
+Hey, is somebody over there?
+
+
+Hey, it seems like you didn't register as a Monster Hunting Quest participant yet! You can sign up with Aidan.
+
+
+Hey, look, a tie happened!
+
+
+Hey, look, you have @@ boxes to collect!
+
+
+Hey, man!#1
+¡Eh, tío!#1
+
+Hey, nice hat! Can I have it?
+
+
+Hey, pal. This spot is very good, I can see the whole town from here.#0
+
+
+Hey, pal. This spot is very good, I can see the whole town from here.#1
+
+
+Hey, psst! Come over here!
+
+
+Hey, psst! Have you brought me what I asked for?
+
+
+Hey, take this @@. It heals fully but who cares, I have Tonori Delight!
+
+
+Hey, thanks for saving me. You know, from the well.
+
+
+Hey, the %s you gave me was quite tasty, thanks!
+
+
+Hey, this Dummy is to @@ kill.
+
+
+Hey, two gifts is very nice. But if we delivered 400. Think on it.
+
+
+Hey, you on the dune! Can you hear us?!
+
+
+Hey, you! Aid me!
+
+
+Hey, you! Are you here on Kenton's orders?!
+
+
+Hey, you! Could you bring me an @@?
+
+
+Hey, you! Help me!
+
+
+Hey, you! We need help to find the Monster King.
+
+
+Hey, you! We need help to get rid from some remaining monsters at Nivalis City.
+
+
+Hey, you! What are you doing here?!
+
+
+Hey, you're an elf, cool! But you still cannot run for office here!
+
+
+Hey, you, stranger. I promised Banu a pie, but she is yet to give me the apples.
+
+
+Hey. If you want to kill monsters, you need a good sword. I think, a @@ would be the perfect fit for you.
+
+
+Hey. You there. Time to do @@ and show what you're made of.
+
+
+Hey. You. You were in need of medical attention earlier. Do you remember how to walk, talk, attack, etc?
+
+
+Hey... Go bother someone else.
+
+
+Hey... I found a Jeans Shorts. Is it yours?
+
+
+Hey... You... Come here.
+
+
+Heya dude! Don't you think this room is too dark?
+
+
+Heya!
+¡Eh, usted!
+
+Heya, noob. Where is your @@? Are you really so noob to have forgot such important book?!
+
+
+Hi @@.
+Hola, @@.
+
+Hi Peetu, are you calmer now?
+
+
+Hi there, I can always use a helping hand around here, are you the one for the job?
+
+
+Hi! Apparently, I came from here and moved at the age of 4, but I had amnesia and can't remember!
+
+
+Hi! Do you want a hair cut?
+
+
+Hi! I'm Miltaco, a piou specialist in humanoid hairstyles. Do you want a hair cut?
+
+
+Hi! My name is @@.
+
+
+Hi, @@.
+
+
+Hi, I'm Woody!
+
+
+Hi, I'm too busy to talk right now, please go away. Very pressing matters at hand.
+
+
+Hi, nice to see you!
+¡Hola, me alegro de verte!
+
+Hi.
+Hola.
+
+Hi. Are you here to get luggage?
+
+
+Hi. Come to the bakery!
+
+
+Hi. Could you perhaps be interested in doing some small errand for me?
+
+
+Hi. Do you need something?
+
+
+Hi. I have questionable items of questionable origins for you.
+
+
+Hi. My back hurts!
+
+
+Hi. My captain believe the world is round, can you believe that?
+
+
+Hi. My ship is about to set sail, we'll try to find somewhere better to live than this ruined place!
+
+
+Hi. Thanks for the pie.
+
+
+Hi. This is a very historic building - the former residence of the red queen no less!
+
+
+Hi. Working on the docks can be hard, but I'm glad I at least get to eat!
+
+
+High Council Secretary
+
+
+High Priest Card
+
+
+Highly strong and bulky, faces their foes head-on.
+
+
+Hihihi... Thanks! Here, you can keep this.
+
+
+Hinnak
+
+
+Hire a mercenary
+
+
+His daughter, Airlia, is not air-headed as her mother Lia. Try asking her instead.
+
+
+His golden ring pops right out of it.
+
+
+His policy is to never read a letter without the sender being present. Of course we checked for poison and traps.
+
+
+Hit the ground, exploding the surroundings and disabling enemies.
+
+
+Hit'n'run is not so hard... One hit, one step back... One hit, another step back... One miss, two steps back...
+
+
+Hm hm. Thanks for the report. Well, as you could have suspected... I knew that all along.
+
+
+Hm hm. This sounds pretty concerning. Aiming at Sages is also a smart move, as they compose the Alliance Council.
+
+
+Hm, I would also do some quests if I needed money... On other hand, maybe I could go fishing? Do I know any fisher?
+
+
+Hm, can we talk again later?
+
+
+Hm, do you perhaps know where to find Cindy and could help me?
+
+
+Hm, good luck out there.
+
+
+Hm, groceries? Well, figure out Naem would ask someone to deliver them.
+
+
+Hm, thanks for your report. This is most useful. Here, drink this.
+
+
+Hm, would "Cindy" be a small, little girl, kidnapped by some sturdy-looking rogue Yetis?
+
+
+Hm. Then please don't disturb me, I'm trying to concentrate.
+
+
+Hm... Shhhh...
+Hm... Shhhh...
+
+Hmm hmm! Then, let's begin.
+
+
+Hmm what is it?
+
+
+Hmm, I think I can teach you a basic Mana Skill now. That one is pretty simple.
+
+
+Hmm, I think I can teach you a basic Mana Skill now. This one is more advanced, though.
+
+
+Hmm, Nivalis is a wonderful place to live in! Although it is a tad too cold on Winter...
+
+
+Hmm, Woodlands is a wonderful place to live in! Although Thorn gets really a thorn in my boots during spring...
+
+
+Hmm, it might be a hunch but... Can you tell me if there were any unusual visitors before the incident?
+
+
+Hmm, it's very interesting, very ... (mumbling).
+
+
+Hmm, no, I shouldn't go back there...
+
+
+Hmm, no, not really. However, I can try my hand at tweaking an item options :3
+
+
+Hmm, that's some progress. Nobody goes to the beach because of these slimes, but it looks like this might change sometime soon.
+
+
+Hmm, who are you?
+
+
+Hmm... First of, I would really add some agility. Agility helps you to don't be hit, and not being hit is awesome.
+
+
+Hmm... I can handle cooking during normal days. Christmas is the problem. I never have enough sweeties by then...
+
+
+Hmm... See, the thing is that transmuting living beings is not normally something that transmutation magic can do.
+
+
+Hmm... That's a though question!
+
+
+Hmm... Thinking well...
+
+
+Hmm... sorry but gotta go...
+
+
+Hmm...actually, nevermind.
+
+
+Hmmm... Yummy!
+
+
+Hmpf! Coffee is an heresy!
+
+
+Hmpf, for a %s, you're a bit resourceful.
+
+
+Hmpf, if %s was still around... He sealed the path to Aethyr, the sacred elf land. I'm sure he could protect Frostia from the likes of you as well!
+
+
+Hmpf, it's good to see you're at least trying to follow Wyara's example.
+
+
+Hmpf. A pleasure doing business with you.
+
+
+Hmpf. That'll do.
+
+
+Hmpf. Wise choice.
+
+
+Hmph, that would only incite bad behavior! No way!
+
+
+Hmph, you are the second activist I see today! TO THE BRIG!
+
+
+Ho! I'll help them!
+
+
+Ho... I see you are a tough one...
+
+
+Hocus Pocus
+
+
+Hocus Said So Challenge
+
+
+Hocus#MOLY0100
+
+
+Hocus#MOLY0200
+
+
+Hocus#MOLY0300
+
+
+Hocus#MOLY0400
+
+
+Hocus#MOLY0500
+
+
+Hocus#MOLY0600
+
+
+Hocus#MOLY0700
+
+
+Hocus#MOLY0800
+
+
+Hocus#MOLY0900
+
+
+Hocus#MOLY1000
+
+
+Hocus#MOLY1100
+
+
+Hocus#MOLY1200
+
+
+Hoh, I see this %s you've been using. Do you desire for more power?
+
+
+Hold your horses, %s. You are not the party leader.
+
+
+Holy Light
+
+
+Holy Pixie
+
+
+Homun Stat Reset Potion
+
+
+Homunculus are a bit dumb, although the ones I've cultivated and took personal care of can express reactions. In future, I'll research sentience.
+
+
+Homunculus stats were reset!
+
+
+Honey
+
+
+Honor Points: %s
+
+
+Honor only applies to PvP fights. It can be seen on "%s" and rewards are given monthly for it.
+
+
+Hooded Assassin
+
+
+Hooded Ninja
+
+
+Hopefully, you'll find something interesting on it to serve as a payment. It's up to luck, I guess....
+
+
+Hoping for the best, but prepared for the worst, you set off to the legendary continent of Kolev; Your destination: Artis.
+
+
+House Maggot
+
+
+Houses, Exit
+
+
+Houses, Lake Of Tears
+
+
+Housing Letter I
+Carta de vivienda I
+
+Housing Letter I for 11,000 GP
+
+
+Housing Letter II
+Carta de vivienda II
+
+Housing Letter II for 101,000 GP
+
+
+Housing Letter III
+Carta de vivienda III
+
+Housing Letter III for 1,001,000 GP
+
+
+How about this, I can teach you how to be a tiny bit faster, so you can use heavier armor. I'll even give you a discount. Give it some thought, come back to me after you make up your mind.
+
+
+How can I complete a craft?
+
+
+How can I get iron ingot?
+
+
+How can I help you, my friend?
+
+
+How can I help you?
+
+
+How can I obtain casino coins?
+
+
+How can I reach the Land Of Fire?
+
+
+How did I got here?
+
+
+How did you end up here?
+
+
+How did you even get here? Go back to Candor, where you belong!
+
+
+How did you even got here? There are dangerous swamps north, and dangerous deserts south...
+
+
+How did you get down there?
+
+
+How did you got that much? Nine gifts, and 51200 if you want even more.
+
+
+How did you guess that?
+
+
+How do I advance in Mana Magic? How it works?
+
+
+How do I get magic?
+
+
+How do I hunt monsters?
+
+
+How do I make money?
+
+
+How do I save items?
+
+
+How do I save money?
+
+
+How do I see my items?
+
+
+How do I talk with someone?
+
+
+How do I trade with other players?
+
+
+How do you even prove amnesia, anyway?
+
+
+How do you know my name?
+
+
+How does Gambling works?
+
+
+How does spinning works?
+
+
+How is *hic* it possible?
+¿Cómo es *hic* posible?
+
+How is your purge going? I hope you had success at it!
+
+
+How many %s should I attach?
+
+
+How many batches do you want to produce? (max. 5)
+
+
+How many chocolate do you want to send? You can trade: @@
+
+
+How many did you need again?
+
+
+How many do you want to sell? You currently have @@ @@.
+
+
+How many heads does Zaphod Beeblebrox have? Numbers only.
+
+
+How many ingots do you want to make?
+
+
+How many lives will be claimed until he is put to rest?
+
+
+How many pints of beers should you drink before hitchhiking? Numbers only.
+
+
+How many points? (0-%d)
+
+
+How many steps?
+
+
+How many to brew? (%d-%d)
+
+
+How many?
+
+
+How many? Max. @@
+
+
+How may I help you?
+
+
+How much coffee you'll give Jhon?
+
+
+How much do you want to deposit?
+
+
+How much do you want to withdraw?
+
+
+How much honey will you give it? (You have: %d)
+
+
+How much would be the budget for Fur Boots?
+
+
+How powerful they were or are, their cruelty, their judgment against the Terranite Civilization and the other bloody details of the legend... I cannot confirm them to you.
+
+
+How powerfully do you want to shoot?
+
+
+How to better preserve your dispostives:
+
+
+How to expand this limit? Well, you'll need to touch a Mana Stone. If you can handle more raw power, your limit will extend.
+
+
+How to use best Warp Technology?
+
+
+How will you respond?!
+
+
+How's that even possible? Well, 30 @@ for all contestants!
+
+
+Howdy! Lately I feel like a placeholder, just surviving on these harsh lands.
+
+
+Howdy! Mirio and I scout this canyon to protect our clan. I am also a retired assassin, maybe someday I can exchange some knowledge with you! Hahaha!
+
+
+Howdy! Pachua and I scout this canyon to protect our clan. I acknowledge only those whom are fast like the wind! I would love to challenge you for a race... But not today.
+
+
+Howdy, partner! Man, you have no idea how I'm hungry. Been scouting this canyon for weeks, under the scorching sun, and there's only snake meat to eat... I'm get tired of this repulsive stuff.
+
+
+Howdy?
+¿Qué tal?
+
+However, %s stole the treasures which were being showcased!
+
+
+However, I am still up for trading cards, if you wish.
+
+
+However, I need a tax to start, and you need to arrange players. There are no refunds.
+
+
+However, I need to see at least three volunteers here, to allow you in.
+
+
+However, I still have hope. Dimond's secret recipe. Ah, but I can't get the ingredients for it...
+
+
+However, LoF admins and developers are working on a new game to offer a new experience for players.
+
+
+However, an account may only apply for an office weekly.
+
+
+However, as long as you remain seated and immobile, the spell will slowly destroy the seal.
+
+
+However, by casting %s here, we'll be able to weaken the seal!
+
+
+However, chants can also inflict ailments or even summon creatures.
+
+
+However, each group may be expanded later. You can reset group by clearing the Master Floor.
+
+
+However, for a few months already, nothing else has been heard from that town, and all contact was lost.
+
+
+However, if town has less than 15 reputation, they'll need to re-apply manually, and may lose the office for the bot account.
+
+
+However, if we waste the ship's money in beer, Nard will get mad.
+
+
+However, it can be unlocked if you know the password:
+
+
+However, it comes back crying! Poor teddy, it got attracted by a sweet smell but it found a %s instead!
+
+
+However, it stops abruptly and quickly moves away from it.
+
+
+However, it's also possible they're there already. Be careful for ambushes!
+
+
+However, our skill growth rate is much smaller than those of humans.
+
+
+However, she may have a better assessment of the current situation better than you and your allies.
+
+
+However, that is not exactly a popular idea around here. The fae seem more concerned with snakes.
+
+
+However, the Army seems to walk away after some time.
+
+
+However, the fate of this world is at your hands. I shall not allow the Moubootaur to cause havoc.
+
+
+However, the legend said there was a way to prevent this disaster. A single way... Which the Ancient Families of Soul Menhir kept a secret passed down between generations.
+
+
+However, the log breaks with a loud crack.
+
+
+However, there's a link to get a simple python bot software!
+
+
+However, they must visit their town office and do daily paperwork, every day. Otherwise, town reputation will go down.
+
+
+However, this only distracts him for a short while. Soon after, he returns to his small ritual with the pot.
+
+
+However, watch out!
+
+
+However, we must defeat the commanders to avoid major damage to them!
+
+
+However, you need a %s or a Fishing Net. There's one fisherman in Tulimshar Center, called Eugene. He should have one, but he lives isolated on a small island... Good luck getting to him.
+
+
+However, you should only give food when it's hungry, otherwise it'll believe you're a bad owner and intimacy will decrease.
+
+
+However, you'll need to keep cooperating with me. Trust me, this incident and what you look for it is closely related.
+
+
+However, your guild just challenged Kamelot Dungeons.
+
+
+However...
+
+
+Huge area of effect fire damage. May burn targets.
+
+
+Hum, Which type of favor?
+
+
+Hum, how many gem powders can I get from one gem?
+
+
+Hum... I'm not really good at it.
+
+
+Human
+
+
+Human Voice
+Voz Humana
+
+Humans never built a settlement there. But the prophecy is there.
+
+
+Hungry Quirin Arena Information
+
+
+Hungry Quirin Arena Rules
+
+
+Hunter.
+
+
+Hurns Warp Crystal
+
+
+HurnsShip#M
+
+
+Hurnscald
+
+
+Hurnscald - @@ GP
+
+
+Hurnscald Liberation Day special event
+
+
+Hurnscald Mines
+
+
+Hurnscald Office
+
+
+Hurnscald Townhall
+
+
+Hurnscald is a large city. I'm sure glad I live in Candor because I know where everything's at.
+
+
+Hurnscald was founded after Tulimshar, in more fertile lands. Their walls are not so sturdy as the ones of Tulimshar.
+
+
+Hurnscald's Nurse
+
+
+Hurnscald? Small farming towns are always nice to visit.
+
+
+Hurnsguard
+
+
+Hurry up! Bring a @@ from Barzil in Halinarzo!! You only have @@ left!
+
+
+Hurry up, before the wind changes.
+
+
+Hurry up, you'll run out of time in @@!
+
+
+Hwaaaah... Man, I'm bored. Will you be getting @@?
+
+
+Hwellow. I am a boring NPC which makes green dye.
+
+
+I HAVE WARNED YOU!!!!!
+
+
+I NEVER TOUCHED THE SOUL MENHIR! I SWEAR YOU, I'M INNOCENT! PLEASE HAVE MERCY!!
+
+
+I actually have a special class for those with perfect magical control like you.
+
+
+I actually have them, here.
+
+
+I actually need help. I am a mage, and I'm feeling lazy to get the stuff I need.
+
+
+I actually need help. Padric and I were doing some research with catalysts, you see.
+
+
+I advise you to do more quests on Tulimshar and Candor, otherwise, you will fail right at the end.
+
+
+I agree with you. Most of these materials can't even be found on Nivalis.
+
+
+I already did everything I could with this. What am I waiting for?
+
+
+I already got enough %s, thank you.
+
+
+I already have a Forest Bow.
+
+
+I already have that...
+
+
+I already told you he is out! Why do you even want to talk to him?! Haven't I told you to... to... leave me alone!?
+
+
+I already took my share from this chest.
+
+
+I already visited this warp.
+
+
+I also brew some of the crops, making Beer. And then I sell to adventurers!
+
+
+I also broke my bones, and I was equipping a weapon which prevents HP regen...
+
+
+I also do not keep any stock of them. If you really want it, you can bring me some Raw Logs. I'll show you which one is the good one. Deal?
+
+
+I also hear fisherman likes to fish at night. They say the catch is bigger, if you understand me.
+
+
+I also see you have a level @@ magic skill!"
+
+
+I always do shady deals. *cough cough* %s GP.
+
+
+I always keep my end on the bargain, so here you go.
+
+
+I always thought it was a bad idea to play around with the slimes. And as if holding them in here isn't bad enough, no, they also had to mess around with magic.
+
+
+I always wanted to live in this town. I'm glad I managed to move from LoF Village to here.
+
+
+I always wanted to taste a %s! But they don't grow anywhere, and I've heard the only way to obtain one is from %s. Unfortunately, I do not favor violence, so... Could you get one for me?
+
+
+I always wonder if I should raise my price to teach bad kids to don't lie.
+
+
+I am %s, a piou alchemist specializing in reset and agility potions.
+
+
+I am @@, an alchemist specialized in reset potions.
+
+
+I am @@, and I take care of the Arena.
+
+
+I am @@, guardian of Candor Cave. Below this cave, lies the legendary Fefe, arch-wizard from the Great War.
+
+
+I am @@, student from the ancient secrets of the Mage of Time, Ozthokk.
+
+
+I am @@, the only mage in Candor.
+
+
+I am Bella, the Scholar.
+
+
+I am Elli. One of the Originals.
+
+
+I am Quirino Voraz, and my arena is the coolest PVP Arena on all Mana Worlds.
+
+
+I am Yetifly the Mighty, guardian of the fae!
+
+
+I am Zarkor, the Dark Summoner. I want to do a dark summoning ritual, but there are strings attached.
+
+
+I am a GM, and I want to change my Race!
+
+
+I am a bard! I used to be an elf trader, but music got me for good.
+
+
+I am a brave adventurer! How can I help you?
+
+
+I am a contributor, and I want contributor stuff.
+
+
+I am a mage. How do I get to Academy?
+
+
+I am a noob and don't need you.
+
+
+I am a really good blacksmith. In fact, there is no stuff I can't fix.
+
+
+I am a thief! I want to repent for my sins!
+
+
+I am a trader from Nard's ship. We actually need supplies. Help us, and I'll help you.#0
+
+
+I am a trader from Nard's ship. We actually need supplies. Help us, and I'll help you.#1
+
+
+I am actually surprised you clicked me again. Well then, here's the Land of Fire News...
+
+
+I am broken?! Please report! Debug data: @@ (@@)
+
+
+I am collecting money for the Yearly Autumn Scorpion Hunter quest.
+
+
+I am counting on you!
+
+
+I am currently in charge of overseeing the world state and the Monster King advancements, as well as planning and dealing with emergencies. The Alliance High Council is currently composed by %s members and %s honorary ones.
+
+
+I am currently very worried with them. They're just children! They don't know how to fight!
+
+
+I am doing a great research with Bats, and thus far I collected @@ Bat Wings and Teeths.
+
+
+I am happy that such responsible citizens live in Tulimshar. Thank you for your help. It's really hot nowdays!
+
+
+I am his right-hand Yeti, so I could grant you passage to his Throne Room to slay the rogue Yetis...
+
+
+I am hungry. Can I buy some food here?
+
+
+I am making a figurine with Bug legs for the upcoming festival.
+
+
+I am not a citizen of Candor.
+
+
+I am not a coward to run away by the back door!
+
+
+I am not a half-word man, so I won't take your fish. Come back with the money and the Roots, and I'll make the string for you.
+
+
+I am not afraid of Pious.
+
+
+I am not content with our water supply. It gives us common water, but we of the superior race deserve better water.
+
+
+I am not done purifying the water yet. This may take years, but it'll be worth it.
+
+
+I am not sure of who makes or haves Lifestones. Try looking outside the city. Who knows.
+
+
+I am pleased about your progress, but you are not ready for the next step yet. Go and do some more training, before you come back.
+
+
+I am pleased to see that you have woken up and are active. Elmo came here to tell me this good news!#0
+Estoy encantado de ver que haya despertado y esté activo. ¡Elmo vino a contarme estas buenas noticias!#0
+
+I am pleased to see that you have woken up and are active. Elmo came here to tell me this good news!#1
+Estoy encantado de ver que haya despertado y esté activo. ¡Elmo vino a contarme estas buenas noticias!#1
+
+I am really curious what this shrine is about, though.
+
+
+I am searching again maggot slime to craft more balls.
+
+
+I am sorry but I can see that you don't have all that I asked you.
+
+
+I am sorry, but it does not look like you have everything. You will need to bring:
+
+
+I am sorry, but it seems that you don't have enough money. Come back when you have reorganized your finances.
+
+
+I am stationed here to protect Hurnscald from monsters.
+
+
+I am stationed here to protect Land Of Fire from monsters.
+
+
+I am still here, but I already did amends for my acts and don't need to flee anymore...
+
+
+I am sure that an adventurer like you can gather everything in no time at all!
+
+
+I am sure that they will come back to haunt you in your dreams!
+
+
+I am sure you already fought him. And survived, too, apparently. Help her, and I will reward your efforts appropriately.
+
+
+I am the Judge, and I shall make Judgment upon you!
+
+
+I am the Magic Fountain of Hurnscald. You look qualified.
+
+
+I am the Trader King, because I supply a market!
+
+
+I am the Yetifly, guardian of butter and fairies.
+
+
+I am too far away to talk. Weird floating thingy...
+
+
+I am trying to fish here without success. You're weak, do not bother me.
+
+
+I am trying to invent the light bulb, but my name is not Thomas...
+
+
+I am willing to give it to you, if help me out. I promise it won't be a bother, and it'll really be useful for you, I swear.
+
+
+I am willing to pay @@ GP for 10 @@ you bring me!
+
+
+I am willing to pay @@ GP for each you bring me! Do you want to give me ALL your @@?!
+
+
+I am. What heroic action is needed?
+
+
+I asked my father and he agreed to trade it to you, so here is the last copy of the Maritime Almanac Scroll.
+
+
+I believe these switches control the cage's lock.
+
+
+I bet you are dead tired, and the ship travel takes a long time.
+
+
+I bet you'll now ask for %s's password, and scam all their money!!
+
+
+I better do this some other time...
+
+
+I better don't bother this Yeti, before it kills me.
+
+
+I better leave talking to him to the guild Vice Leaders and Master.
+
+
+I better leave this crazy man to his ordeals...
+
+
+I better not disturb the hut owner.
+
+
+I better report this to Lua!
+
+
+I brought a souvenir for you.
+
+
+I came from The Mana World.
+
+
+I came from Thermin, a town far far away.
+
+
+I came here to ask for help with curses.
+
+
+I came here to report... A sabotage.
+
+
+I came here to talk about the World's Edge.
+
+
+I came to enjoy a beautiful day with some ducks!
+
+
+I can also pay %d GP per %s.
+
+
+I can do a bug bomb right away, but I still need a few things for it!
+
+
+I can do that for you, but you'll still need to go to storage to get them back.
+
+
+I can even give you the %s lumps of precious %s we would have burned. Whaddaya say, do we have a deal?
+
+
+I can fill your bottle with water for only @@ gp the bottle.
+
+
+I can fix this for you. Just pay me @@ GP and a @@. It'll take no time at all!
+
+
+I can fuse an @@ and 20 @@, besides @@ GP, into 3~5 @@.
+
+
+I can give you a rare...(cough, cough).. Mouboo Figurine for it.
+
+
+I can give you my knife if you bring me this:
+
+
+I can make @@ from @@, but this costs @@ GP.
+
+
+I can make a @@ for just one @@ and @@ GP for my work.
+
+
+I can make an @@, I still have a bottle of fairy blood, a few mana pearls, and some other rare ingredients.
+
+
+I can make some stuff with it, but I have no idea where it can be found. Mylarin dust... amazing.
+
+
+I can make three types of Agility Potions, which would you like?
+
+
+I can make you a @@, and for that I will want a @@ and 500 GP.
+
+
+I can protect myself, so it should attack from afar.
+
+
+I can prove you my worth!
+
+
+I can rent it to you for 300 GP, during 15 minutes. Deal?
+
+
+I can sell you the Pickaxe for @@ GP if you have and @@ the remaining equipment.
+
+
+I can send you to at least five from the seven cave levels this dungeon have.
+
+
+I can summon the BOSS for the level 0~20 area.
+
+
+I can summon the BOSS for the level 21~40 area.
+
+
+I can teach you these bonuses, but more powerful bonuses require more skill to learn... And I don't know anyone who could improve your crafting skill...
+
+
+I can trade some with you. Just bring me the following cash payment and supplies:
+
+
+I can vouch for you, but only if you help me first!
+
+
+I can walk, I'm just... Trapped here. That's why I need someone to help me to cultivate my wose part!
+
+
+I can warp you home now.
+
+
+I can't believe it took so long to fix... And worse, next spring it'll be the same story all over again...
+
+
+I can't believe it! You've brought me @@ @@!
+
+
+I can't believe it.
+
+
+I can't give you the Apple I've stole. Because, I was stolen first!
+
+
+I can't handle it anymore! NO MORE!
+
+
+I can't sleep, so I'm writing this entry. It'll take a considerable amount of time to decrypt the shield frequency Raid is using, and when Saul's army is marching towards their deaths, time is of essence. Every second I waste, is a comrade who will die.
+
+
+I can't stay here and talk all day. I have a job to do.
+No puedo quedarme aquí y hablar todo el día. Tengo trabajo que hacer.
+
+I can't use the shovel here.
+No puedo usar la pala aquí.
+
+I can't, sorry.
+
+
+I can't. Rakinorf told me I should bring this matter to you instead.
+
+
+I cannot answer you about yourself, but I can tell you about the Ancient Families and the World Edge. Which is classified information, by the way.
+
+
+I cannot be alone to summon the Yeti King.
+
+
+I cannot in good faith ask someone with so little experience to risk their life for something so trivial.
+
+
+I cannot just give it to you for nothing. Run to Elanore and fetch me a @@. You need to make a new one, an old one I won't accept.
+
+
+I cannot leave until Luvia and her allies are dead.
+
+
+I cannot melt this. I only melt down equipment, and not everything I know how to!
+
+
+I cannot pass, because I am only level @@.
+
+
+I cannot read the signs from this far away.
+
+
+I certainly can't get out on my own.
+
+
+I changed my mind, I think I would like a copy!
+
+
+I changed my mind, goodbye.
+
+
+I changed my mind.
+He cambiado de opinión.
+
+I charge a service fee of @@ GP, and two gemstones.
+
+
+I collect them.
+
+
+I come here frequently to trade. It is not deserted nor boring.
+
+
+I could easily bake one for you, provided you bring me the following:
+
+
+I could explain this better, but you are just a noob at magic, if you understand me.
+
+
+I could make ink myself, but I am lacking some material...
+
+
+I could not be the Bandit King. But once I steal all Mana Stones, I'll be not only the best thief in the world. I already decided my new title.
+
+
+I currently have some pets with me. For most, you need to finish their Grand Hunter Quest, of course.
+
+
+I did a travel to their cave, I wondered why their faces are never seen. Reason is that they're monsters.
+
+
+I did not summon you, I'm just a passer-by. Sorry.
+
+
+I did nothing wrong! I am not AFK!
+
+
+I did some tritan friends, though. They teached me how to breath underwater. It's not so bad.
+
+
+I disguise myself into a giant mutated bat, but every time I break or lose my fake teeth.
+
+
+I do not have Everburn Powder to lit the torch.
+
+
+I do not know how to trigger this summoning circle.
+
+
+I do not like him, but even so, he keeps bothering me! Maybe I could out-impress him, though!
+
+
+I do now know what this means: GS-@@-ICXN-@@
+
+
+I do some research about evolution of snake skin subject to hard sunlight.
+
+
+I do. I want to challenge the Candor Cave!
+
+
+I don't believe you.
+
+
+I don't care about dirty miners problem.
+
+
+I don't care for equipment, gimme a snake skin.
+
+
+I don't care for shorts, gimme a snake skin.
+
+
+I don't care for your reasons.
+
+
+I don't have a spare. They're *hic* done by ANISE INC., their headquarters are in Frostia.
+
+
+I don't have enough money...
+
+
+I don't have that much money, sorry.
+
+
+I don't have the time!
+
+
+I don't have them, actually.
+
+
+I don't have time for that.
+
+
+I don't have time sorry.
+
+
+I don't know
+
+
+I don't know for what crazy reason you might want to do this, there is absolutely no benefit to this. I think you just selected the wrong option.
+
+
+I don't know if jesusalva allow me to teach you a basic shaman skill!? .
+
+
+I don't know if our clan will survive for much longer. Do you have any questions before we all die and our knowledge gets forgotten?
+
+
+I don't know what you did, but both the Ducks and Blubs did got scared. I thank you in the name of the city guard. Please come back later.
+
+
+I don't know what, but it is
+
+
+I don't know who sent you to me, but this is a flat and big NO!
+
+
+I don't know why they would repeat a past mistake. The Monster King is not human anymore. I also do not know what artifact they lost. We have more questions than certainty about this.
+
+
+I don't know, I assume the staff was burried with him on the deepest parts of the cave. If it was easy, someone would already have stolen it.
+
+
+I don't know.
+
+
+I don't know. Try getting a Rusty Knife or something. Maybe the chef of Nard's ship can spare you one.
+
+
+I don't know?
+
+
+I don't like them, I can't fly straight.
+
+
+I don't need anything after all, goodbye!
+
+
+I don't need help!
+
+
+I don't need to be rescued. I'm enjoying myself here.
+
+
+I don't really understand how the dungeon works. I promise you a reward when you finish the task.
+
+
+I don't really understand it either, but it's not for sale. Maybe you could come back later so I can read more of it to you.
+
+
+I don't remember what I need now, but if you give me a moment, I'll get the list.
+
+
+I don't remember. I guess somebody threw me here!
+
+
+I don't suppose you have some herbs and a few bottles of potion with you, do you?
+
+
+I don't think I needed to keep looking these barrels.
+
+
+I don't think I needed to keep looking these potions.
+
+
+I don't think I needed to keep looking these wardrobes.
+
+
+I don't think he could have collected that many!
+
+
+I don't think so. There have been... Incidents.
+
+
+I don't think you have any broken item, but if a friend of mine break your stuff, come talk to me!
+
+
+I don't trust @@s.
+
+
+I don't understand what went wrong with that spell, but it just has to have another cause than Peetu. I'm worried about him. He must feel very miserable. But I can't leave my duty here.
+
+
+I don't want anything right now, bye.
+
+
+I don't want her to think that I am a bad mother.
+
+
+I don't want to help your "friends", bring me to somewhere useful!
+
+
+I don't work with bound items.
+
+
+I dunno. I don't think they're sold anywhere.
+
+
+I failed to protect them.
+
+
+I feel indifferent.
+
+
+I feel like a burden was lifted from my shoulders.
+
+
+I feel much safer now that you defeated the slimes. Thanks so much! Do you need anything else?
+
+
+I feel ok.#0
+Me siento bien.#0
+
+I feel ok.#1
+Me siento bien.#1
+
+I fight every day in hopes to be like Andrei, the famous hero who prevented Hurnscald from total destruction against a horde of monsters alone.
+
+
+I fight every day in hopes to meet Andrei, the famous hero who prevented Hurnscald from total destruction against a horde of monsters alone.
+
+
+I finally figured out what was wrong. I must thank everyone who help us.
+
+
+I forgot to say earlier, but indeed, I was invited by someone!
+
+
+I forgot what you need!
+
+
+I forgot what you need.
+
+
+I found %s and %s!
+
+
+I found %s!
+
+
+I found switches which only a Yeti may flip...
+
+
+I found your birth record, but it is not complete. Here says you were born on @@.
+
+
+I give up. You're hopeless.
+
+
+I give you five minutes to defeat me. Witness my wrath!
+
+
+I go right.
+
+
+I got a Wizard Hat.
+
+
+I got a Wooden Staff.
+
+
+I got the apple.
+
+
+I got the eggs.
+
+
+I got the maggots slimes.
+
+
+I got the silk and chocolate.
+
+
+I guess I love the server, we all know ♪
+
+
+I guess I'll need to try to work with whatever ink is left until the supplies arrive next month...
+
+
+I guess it can also be used at quests... Or sell to Juliet, on Nard's ship.
+
+
+I guess it still remembers the sting on the snout. Ouch!
+
+
+I guess she sent you to kill another Bandit Lord, right? Ok, I'll give you the key for his room.
+
+
+I guess that you could use these lifestones to gain a regeneration effect, too, but I do not know how.
+
+
+I guess you cannot bring more than 1kg with full health. Less, if you're hurt.
+
+
+I guess you'll need an Yeti for that, but those on the cave are murderous.
+
+
+I guess, there might be a single spot where water is a bit deeper, but I wasn't lucky.
+
+
+I hate asking this of a lesser being like you, but if you plan in staying in our town, you should at very least make yourself useful.
+
+
+I hate foreigners. They know nothing about us and want to impose their "ideals" about democracy and whatever.
+
+
+I hate so much the Pinkies on my fields, I want to do a soup! Can you provide me 10 @@? Many thanks.
+
+
+I hate the Red Queen.
+
+
+I hate the sea, the salty air always lets my knives rust. I already have a stockpile of rusty knives, don't even know what to do with them.
+
+
+I hate to leave you now, @@, but I have more important things to do.
+
+
+I hate you Pinkies, and I hate the Monster King too, for bringing forth these plagues!!
+
+
+I have 5 Bandit Hoods with me.
+
+
+I have 5 Treasure keys with me.
+
+
+I have a Stinger with me. Try it!
+
+
+I have a butterfly.
+
+
+I have a few items for sale...
+
+
+I have a lava mana pearl.
+
+
+I have a letter for the Mayor.
+
+
+I have a letter from Rakinorf.
+
+
+I have a lot of work to do now.
+
+
+I have a lot of work to do now. But before you leave...
+
+
+I have a present box to you open.
+
+
+I have a print screen!
+
+
+I have a spare pair of gloves laying somewhere, you can have those if you finish the task.
+
+
+I have a supplier, gimme TEN batches!
+
+
+I have all.
+
+
+I have already completed this arena.
+
+
+I have bounties for specific high level monsters as well for extermination. Do note mobs killed in Heroes Hold may not count.
+
+
+I have brought you the beer.
+
+
+I have developed a special formula, which resets your stats!
+
+
+I have everything here with me.
+
+
+I have everything you asked me.
+
+
+I have everything you've asked for.
+
+
+I have everything!
+
+
+I have everything, can you tailor it?
+
+
+I have everything.
+
+
+I have extremely difficult quests for you; They are more painful than a Grand Hunter Quest, because I don't admit wimps fighting with me.
+
+
+I have homework to do...
+
+
+I have it right here. You can take it!
+
+
+I have my favorite book of all times, Moby Dick. Let me read some of it to you....
+
+
+I have no idea about who would make a pendant, but lifestone can be done just outside the town walls.
+
+
+I have no idea what's above. Behind the stair, is the painting of a table.
+
+
+I have no interest in things such as that.
+
+
+I have no interest on this item.
+
+
+I have one here...
+
+
+I have other things to do at the moment.
+
+
+I have some good and some bad news for you.
+
+
+I have some healing items with me, we should tend your wounds first.
+
+
+I have some sweeties for the Tea Party!
+
+
+I have the ingredients here.
+
+
+I have the items, please bake for me
+
+
+I have the sturdy wood and the string.
+
+
+I have them here already.
+
+
+I have to get going now. Thanks for the help!
+
+
+I have to go, sorry.
+
+
+I have to go. See you later.
+
+
+I have to think.
+
+
+I have what you want.
+
+
+I haven't thanked you yet.
+
+
+I hear a Fafi Dragon on THIS very island!!
+
+
+I heard a rumor the other day. About the tree I had found!
+
+
+I heard every Sunday there's a party at Halinarzo Church, but to get there you need to pass through the Desert Canyon.
+
+
+I heard they promised to revive the Red Queen, no idea how and don't care, they don't have money anyway.
+
+
+I heard you fought the slimes that were still roaming between the bookshelves. Thank you!
+
+
+I heard you have been assisting the household staff. For that, I am thankful.
+
+
+I heard you have met my good friend George, and you gave him some items that he needed...
+
+
+I heard your investigations reminded other people that they observed suspicious behaviour too.
+
+
+I honestely wouldn't hire a Mercenary.
+
+
+I hope my answer help you in your adventure!
+
+
+I hope my men are safe, that was yesterday. I am barely alive.
+
+
+I hope one day, they decide build a church here. It's a pain to travel there every time...
+
+
+I hope that strange towel man doesn't bother me again...
+
+
+I hope this is your size.
+
+
+I hope to one day be like @@, who @@
+
+
+I hope you got a Jean Shorts, but that depends on luck. Anyway, here is your reward.
+
+
+I hope you like this color.
+Espero que le guste este color.
+
+I intend to continue with my family's tradition, by teaching the Way of Archery.
+
+
+I investigate missing pets. Many flee from their owners because they die pathetically or forgot to feed them.
+
+
+I just gave you it. Come back later.
+
+
+I just go out removing swords from rocks, and then throwing them again at the lake. All that while I drink coffee.
+
+
+I just want to live my life in peace.
+Sólo quiero vivir en paz.
+
+I just want to trade.
+
+
+I keep failing to summon maggots...
+
+
+I knew someone would agree with me!
+
+
+I know a few bandits stole a few, and Lava Slimes love to eat Casino Coins.
+
+
+I know another Bandit Lord will take up his place, but the loss of their leader will make bandits scatter long enough.
+
+
+I know how hard it is! I hate them with all my heart, only seeing you killing them left and right was GREAT!
+
+
+I know how many bat teeth and wings Arkim collected.
+
+
+I know it may sound silly, but I need your help to find out who I am.
+
+
+I know where the Bandit Lord room is, and I have a guard stationed not far from there. Ask him for the key.
+
+
+I know you have %d %s with you, just haven't said before to be polite.
+
+
+I leave this basement that start to be too dangerous!
+
+
+I like Mana Magic the best, as we can both summon creatures as transmutate stuff. %%N
+
+
+I like people like you, straight to the subject.
+
+
+I like to eat snake eggs. Lemme do you a proposal: You bring me %d %s, and I'll give you a flask of %s.
+
+
+I like to sing.
+
+
+I like to talk! If yeye likes too, you can press @@ to open chat box!
+
+
+I lost the precious ring they gave me as a gift... Who could have taken it...?
+
+
+I love living here, but I wish people weren't locked inside the rooms all time.
+
+
+I love seeing their terrorize face.
+
+
+I love you, Silvia! - Swezanne
+
+
+I made a mistake, I would like to change my language.#0
+Me he equivocado, me gustaría cambiar mi idioma.
+
+I made a mistake, I would like to change my language.#1
+Me he equivocado, me gustaría cambiar mi idioma.
+
+I make both @@ and @@, if you give me the shrooms associated to them, and money.
+
+
+I may have a task for you. Return when you tired of exploring...
+
+
+I mean, a ship should come to pick you up, but the arch-wizards said they were too lazy to take care of those small details. So you'll be warped.
+
+
+I mean, that's absurd! If there was one, it would have been taken already. Unless if grew some sentience or something.
+
+
+I mean, there's even an Monster King? What sort of world is this?!
+
+
+I met Elli.
+
+
+I might be able to get you a rare copy of the Maritime Almanac Scroll. A yearly publication for seafaring men.
+
+
+I might want to ask an Yeti specialist about this. Maybe Celestia?
+
+
+I mine here since a while. My favorite activity is to scare other miners!
+
+
+I miss Ms. De'Kagen, she was very benevolent but from another world. Why does this one only have annoying pricks for Originals. Wait, I'm getting sidetracked.
+
+
+I miss the Red Queen, times were easier when she was around.
+
+
+I moved to Hurnscald, stayed there for over a decade, until Lord Transmogrifier Pontorias the Plaid (May His Shape Reflect His Soul Forever) died.
+
+
+I must have full MP to touch it... Which I don't.
+
+
+I must keep notes of this.
+
+
+I must report this to Jesusalva. The inventory system can't handle that much. Want more? Try 1,638,400.
+
+
+I must, however, remember that the most powerful magical equipment ##B may require intelligence ##b to use.
+
+
+I must, however, thank you. I could not just come straight up and tell that to everyone, nor simply lock the house without no reason. I'm always fair.
+
+
+I need 2 @@, the @@, and 4000 GP.
+
+
+I need @@ @@, if you could arrange me that I would be grateful.
+
+
+I need @@ @@.
+Necesito @@ @@.
+
+I need @@ Herbs!
+
+
+I need @@ to work...
+
+
+I need @@/@@ @@ for the book covers and binding of some of the more valuable books we're trying to recreate.
+
+
+I need FIVE batches!
+
+
+I need a GM set, please!
+
+
+I need a favor from you. Go talk to Peetu. Ask him to confirm if there was silk cocoon in the ingredients. Janika reported me that we've ran out of it two days ago.
+
+
+I need a favor! For certain... reasons... I ran out of poison! And For certain... reasons... I am in dire need of them!
+
+
+I need a string, but not just any string, a really good string.
+
+
+I need a sturdy wood piece for a Forest Bow.
+
+
+I need a suitable base helmet, some herbs to use my magical dye, and gold:
+
+
+I need a tutorial, where can I find help?
+
+
+I need at minimum %d Monster Points to get items at current level.
+
+
+I need for the Magic Academy a @@, fast!
+
+
+I need groceries. %d %s, %d %s, %d %s, %d %s and %d %s. Give it to my wife, Silvia.
+
+
+I need help because, you see, I don't carry a cauldron around.
+
+
+I need help, but you aren't strong enough. Please come back later.
+
+
+I need help.
+
+
+I need infirmary services.
+
+
+I need millions of GP to fund my time-space shattering, and thus far, I've only collected @@ GP.
+
+
+I need more feathers for a fair deal.
+
+
+I need more return potions.
+
+
+I need offensive magic!
+
+
+I need some help with something, but I don't think you're strong enough. Come back later please when you're stronger.
+
+
+I need some materials to repair my spacesh- ahm, it's not important why I need it.
+
+
+I need somebody who can rid the hold of the ship of these creatures. Can you help me?
+
+
+I need someone to help me clean the edge of the ship, but you aren't strong enough for now.#0
+Necesito que alguien me ayude a limpiar el borde del barco, pero usted no es lo bastante fuerte por ahora.#0
+
+I need someone to help me clean the edge of the ship, but you aren't strong enough for now.#1
+Necesito que alguien me ayude a limpiar el borde del barco, pero usted no es lo bastante fuerte por ahora.#1
+
+I need support magic!
+
+
+I need supreme ranger skills!
+
+
+I need supreme warrior skills!
+
+
+I need to buy your silence. I'll reward you greatly when I'm done. But first, I need to know if you'll be loyal to me.
+
+
+I need to enter.
+
+
+I need to finish studying for my test...
+
+
+I need to go on with sorting the bookpages now.
+
+
+I need to go.
+
+
+I need to know if someone is blaming him. It is important.
+
+
+I need to leave.
+
+
+I need to pour the @@ to summon the Yeti King.
+
+
+I need to survive anything!
+
+
+I need to talk with you!
+
+
+I need to think about it...#0
+Necesito pensar en ello...#0
+
+I need to think about it...#1
+Necesito pensar en ello...#1
+
+I need you to bring me some basic items to face Winter! Fire is the most important for us.
+
+
+I need you to find her to and bring her back there, along whatever she stole. Then I'll honor your request.
+
+
+I need you to take care of my 'Piou Problem.'
+
+
+I need your help dude!
+
+
+I never knew you could fail THAT hard. I've took Saulc's Fertilizer's recipe, success chance is of 100% if you want to try again.
+
+
+I never tried it, because it makes no sense to do that, but theoretically adding some Silk Cocoons could have such an effect. Uh... but that should not happen.
+
+
+I offer an awesome skill for you, for a very slow price, and you try to cheat me... pitiful...
+
+
+I offer you %d GP for one. What do you say?
+
+
+I offer you %s Aethyr Points per unit of %s. How many do you wish to sell? (0-%d)
+
+
+I offer you either %s GP, or %s Monster Points for it. What do you say?
+
+
+I once killed a Giant Maggot alone!
+
+
+I only need @@ @@. Please! You have to help me!
+
+
+I only need @@/@@ @@ to make enough magic paper for the books... Do you, perchance, have them with you?
+
+
+I only take a tax of 100 gp per gem.
+
+
+I plan in doing an event! Give me the coins!
+
+
+I predict you're closer to find the Secret Of Mana, and therefore, be part on saving our world.
+
+
+I probably can give you my Sharp Knife, though! If you want to help me, that is.
+
+
+I probably should let %s chant it.
+
+
+I probably should look in a way of calming him down.
+
+
+I probably should talk to everyone else, and assess better the situation, before bothering Oskari.
+
+
+I promise I'll never steal from you again. Here, take these shorts.
+
+
+I protect a dungeon for PARTIES. You're not on a party, get moving.
+
+
+I protect a very dangerous dungeon, and it is so dangerous, that only parties can go in.
+
+
+I put options on items upon request, but I am very expensive! This is deducted from your tweaking quota.
+
+
+I raise them, water them, and then sell them.
+
+
+I really hope that nothing major happens, though. I would hate to see blood being spilled.
+
+
+I really wonder how that accident could've happened. I'd have never expected him to mess something up like that.
+
+
+I really wonder what went wrong. I can't imagine Peetu messing up something so important.
+
+
+I recommend that you train your agility a great deal, since most monsters out there aren't really amazing at hitting you.
+
+
+I regret it.
+
+
+I regret to inform Barbara was killed in battle before I could find her. I burried her in the mines.
+
+
+I represent the @@ Hunters. We hunt @@ (Lv @@).
+
+
+I said go away!
+
+
+I said it cannot be yourself... </3
+
+
+I saw Purple the other day... Ah, now I want to eat @@... A dozen should do...
+
+
+I saw some flower adorns, too. I hope it is not some traveler's grave. This war, it makes me so sad... I'm sure the tree was sad, too.
+
+
+I see it's not so easy to get rid of the monsters. Do you want to try again?
+
+
+I see two snake skins, but you didn't killed them down there. That defeats the whole purpose.
+
+
+I see you are a Monster Hunting Quest Participant, right? I don't need your help right now, but maybe later, who knows?
+
+
+I see you are doing good. Keep slaying them, hahaah!
+
+
+I see you brought @@/5 @@ for us!
+
+
+I see you don't know how to craft. Do you want me to teach the basic for you? I'll charge 1000 GP.
+
+
+I see you finished the Master Dungeon and didn't found my men. I'll think on something.
+
+
+I see you have arms long enough to be an archer.
+
+
+I see you have brought @@/3 @@ and @@/10 @@ for me.
+
+
+I see you have brought @@/3 @@ and @@/3 @@ for me
+
+
+I see you have collected some experience. Let me try to rank you up!
+
+
+I see you have magical powers. Have you been acknowledge by the Alliance as a mage? If not, you should regularize yourself as a @@º degree mage in Tulimshar Magic Council.
+
+
+I see you're trying to use the %s set, nice!
+
+
+I see you've brought Barbara here, excellent. She seems pretty beat up.
+
+
+I see.
+Ya veo.
+
+I see. Well, welcome to the game! If you have any doubt, shout on #world for help!
+
+
+I shall call myself from there on, after this great assault... @@.
+
+
+I shall decide here and now, if you are worth of living in this world!
+
+
+I shall leave this book with my son, SphinxNox. I will not fail, and live forever. This will be their inheritance from me.
+
+
+I shall not fail any further, I think my new formula is perfect! Here's the EXP, but I need material to use it!
+
+
+I shall report to Kenton. I now entrust this quest in your hands!
+
+
+I should be prepared before walking on this.
+
+
+I should check if I have more than enough potions and food before proceeding!
+
+
+I should check the Apple Garden first.
+
+
+I should defeat all mobs before passing.
+
+
+I should have full mana before attempting to disarm one.
+
+
+I should not go ahead... yet.
+
+
+I should not veer off too much the path.
+
+
+I should talk to Cauldron now... Scary.
+
+
+I should talk to King Arthur.
+
+
+I should train my intelligence, and level up, both my base as my Job Level.
+
+
+I should train my intelligence, have full MP, and don't neglect even Job Level.
+
+
+I sponsor the alliance and all I got was a NPC and access to this ugly room.
+
+
+I stay.
+
+
+I still don't have everything, but don't worry, I'll be back.
+
+
+I still have Anwar's fertilizer with me.
+
+
+I stole nothing from you. Do you have any proof?
+
+
+I suggest some training.
+
+
+I suggest we ignore the hint and ask %s about it instead.
+
+
+I suggest you leave now, %s. If you are even suspected of being a S.A.R.A.H. agent...
+
+
+I suppose I can make you a %s. It sometimes casts magic skills upon your foes. Well, seldomly, but it also deals more damage than normal wands.
+
+
+I suppose, what would you like?
+
+
+I swear silence, over this bloody ruby.
+
+
+I swear silence, over this shining topaz.
+
+
+I swear that I, %s, will never let myself be let astray by power.
+
+
+I think I have enough gold with me.#0
+
+
+I think I have enough gold with me.#1
+
+
+I think I'm done with that now. You should now look for captain Nard downstairs. He'll be waiting for you.
+
+
+I think I'm ready.
+
+
+I think Intense Beard, on Tulimshar's Forge, was taking new apprentices. Try talking to him!
+
+
+I think Lieutenant Paul had a bounty for extra experience.
+
+
+I think it was the Orcs and Raijins town. It was laid to waste by Yetis.
+
+
+I think someone on Tulimshar is capable to teach you these bonuses. Eh, I don't know. Haven't been there for a while.
+
+
+I think that %d %s and %d %s should be enough for now.
+
+
+I think the Doctor, on Dimond's Cove could help me, but that means passing by Kenton...
+
+
+I think the switches may open it, but I couldn't flip them.
+
+
+I think this blue circle right here can be helpful to break the enchantment that blocks the door of the Inn.
+
+
+I think you should get initiated on any side before speaking to me again.
+
+
+I think, for just 25 @@, I could arrange a @@ for you.
+
+
+I think, for just 25 @@, I could arrange one for you. Eh... Just don't think that you have an amazing weapon, alright?
+
+
+I thought I was going to send you in a nest of Yetis, but instead, I've sent you straight to the birthplace of Bandits and Assassins.
+
+
+I thought I would be safe in the shrine, but seems like they are after the Moubootaur. Great danger will befall all forest creatures if they accomplish that.
+
+
+I thought he would. After all, Everburn Powder... is not a mere powder.
+
+
+I thought it was meant to be lava, this being in the Land Of Fire and all, but seems like someone must bug Saulc to fix it.
+
+
+I thought they ate little girls.
+
+
+I tried to keep an eye on him after that, but when I got distracted by some newly arriving visitor he went over to the workshop again! Usually I enjoy my job, because I like talking to people, but this guy... was a pain, really.
+
+
+I tried. He asked for too much money.
+
+
+I try to improve my skills every day. One day, I will sing a song no one will ever forget.
+
+
+I understand. Rakinorf told me to stuff you with them if needed.
+
+
+I used to make dyes for Agostine but he hasn't bought any in a while. I could make you a %s if you bring me the right items.
+
+
+I usually ask adventurers for 11 @@, but new miners should be arriving soon. I need to make them cry!
+
+
+I usually ask for 7, but to prove you are going to help us in this purge, I will ask you for 14 @@! I will reward you for your bravure.
+
+
+I usually don't let anyone in, but I had to make an exception for the likes of you.
+
+
+I visited it with my mother, the other day, and I found a tree in a cave!
+
+
+I wanna return home...
+
+
+I want %d %s!
+
+
+I want %d %s! Don't worry, I can pay.
+
+
+I want @@! I want @@!!
+
+
+I want Arcanum
+
+
+I want Graphene
+
+
+I want Leather Patch
+
+
+I want Snake Skin
+
+
+I want THREE batches!
+
+
+I want a %s so badly... Pyndragon, in the forge, the master blacksmith which makes powerful weapons for high levels, can give you one.
+
+
+I want a BOSS task!
+
+
+I want a EXPERT (Lv 70~100) task!
+
+
+I want a KUNAI.
+
+
+I want a MASTER (Lv 100+) task!
+
+
+I want a MODERATE (Lv 50~70) task!
+
+
+I want a MODERATE task!
+
+
+I want a PORTABLE LIGHTSABER.
+
+
+I want a POWERFUL GUNSTAFF.
+
+
+I want a POWERFUL LIGHTSABER.
+
+
+I want a RAPID GUNSTAFF.
+
+
+I want a SHORT GUNSTAFF.
+
+
+I want a Sponsor Necklace.
+
+
+I want a WHIP.
+
+
+I want a gemstone or ore
+
+
+I want a gift box and here is the gift.
+
+
+I want a gift box but I don't have a gift.
+
+
+I want a gun!
+
+
+I want a knife and a bottle of water!
+
+
+I want an Agi Potion.
+
+
+I want an Agi+ Potion.
+
+
+I want an Agi++ Potion.
+
+
+I want an EASY task!
+
+
+I want an EXPERT task!
+
+
+I want an EXPLOSIVE GUNSTAFF.
+
+
+I want an Eggshell Hat!
+
+
+I want coal
+
+
+I want copper armbands!
+
+
+I want experience
+
+
+I want gold
+
+
+I want iron armbands!
+
+
+I want it.
+
+
+I want leather armbands!
+
+
+I want monster points
+
+
+I want more than one!
+
+
+I want something more magical.
+
+
+I want the Wurtzite
+
+
+I want the apples back.
+
+
+I want to arrest the Monster King one day, but until then, I'm happy getting rid of petty scammers, spammers, and general evildoers.
+
+
+I want to be trained!
+
+
+I want to become an archer!
+
+
+I want to challenge the Yetifly.
+
+
+I want to challenge you both.
+
+
+I want to challenge you.
+
+
+I want to change my Race!
+
+
+I want to craft rings.
+
+
+I want to create polished gemstones.
+
+
+I want to divorce.
+Quiero divorciarme.
+
+I want to forge One Handed Weapons!
+
+
+I want to forge Quivers!
+
+
+I want to forge Shields!
+
+
+I want to get rid of them.
+
+
+I want to improve my equipment.
+
+
+I want to keep breaking them, until I find the paradise! Thus far, I only found the Land Of Fire!
+
+
+I want to know what you found out again
+
+
+I want to know why you shown me that.
+
+
+I want to learn reading ancient languages
+
+
+I want to meet a hero!
+
+
+I want to move left.
+
+
+I want to pay my respects as a fellow Pink Mouboo cult member.
+
+
+I want to pay the full price.
+
+
+I want to prove exotic tea. More specifically, I'm looking for %s and %s. Bring me %d of each, and I'll reward you awesomely.
+
+
+I want to register for marriage.
+Quiero registrarme para casarme.
+
+I want to remove all stuff applied to my ring!
+
+
+I want to sell White Fur for 75 GP each
+
+
+I want to shop.
+
+
+I want to sleep...
+
+
+I want to trade with you.
+
+
+I want to trade.
+
+
+I want to try convincing the Yeti King again.
+
+
+I want two batches!
+
+
+I want you to brew some for me.
+
+
+I want you to decrypt something
+
+
+I want you to impress me, so I can brag about you to all my friends!
+
+
+I want you to kill @@, which are located near the northwest coast of the island.
+
+
+I want you to transform my raw log in a wooden log
+
+
+I wanted info about how to play.
+
+
+I wanted to go to the beach, but I can't find the cave entrance. They told me to look around here... What am I doing wrong?
+
+
+I was a bit worried that they might ruin our efforts by messing everything up again after we just cleaned.
+
+
+I was born here but I had amnesia.
+
+
+I was found near Candor Island, on a raft, and can't remember anything. Do you know who I am?
+
+
+I was informed that our bedding material for fragile presents is nearly depleted...
+
+
+I was kicked out of home for not paying rent. But I had no choice, it was either to eat or to have a roof...
+
+
+I was planning to go there soon, anyway. All aboard!
+
+
+I was so excited, I wanted to try it as soon as possible.
+Estaba muy entusiasmado, quise probarlo lo antes posible.
+
+I was thinking, maybe I could make a @@ for you. But I want a few items:
+
+
+I was up until late last night, and woke up so early today... I'm having a break right now.
+
+
+I was very surprised when I heard that he's responsible for the failed sealing. I'd never have expected that from him.
+
+
+I will also need %d %s to make the mixture and %s GP as a fee.
+
+
+I will apply later.
+
+
+I will be back shortly.
+
+
+I will be forever grateful!
+
+
+I will do it, don't worry.
+
+
+I will empower you with raw mana now.
+
+
+I will give you 3 @@. Use them on this fight, or you're doomed to fail.
+
+
+I will go and hunt some snakes.
+
+
+I will harass Demure with so many chocolate that she'll leave this event map rolling!
+
+
+I will kill one.
+
+
+I will let Lalica, Pihro and Pyndragon know that you find her not guilty, but...
+
+
+I will let you test it for a peny until level 10!
+
+
+I will make quick work of your wounds.
+
+
+I will need 3 @@, 5 @@ and 100 GP to craft a single stone.
+
+
+I will need many Mauve Herbs! Do you have them with you? If you don't have enough, we'll lose everything! You need at most @@!
+
+
+I will need:
+
+
+I will pay you 5,000 GP in pure gold for it!
+
+
+I will prepare you a potion. But beware, that potion will only last 20 minutes. You should assign some intelligence points to succeed.
+
+
+I will require 2500 GP, 1 @@, 1 @@ and 1 @@, for a small handful of it.
+
+
+I will reward whoever kills the current bandit leader, of course.
+
+
+I will reward you for 7 @@.
+
+
+I will sing a song about the Five Legendary Heroes myth.
+
+
+I will sing a song about the Mana War and current times.
+
+
+I will sing a song about the fate of five legendary weapons.
+
+
+I will summon the Monster King. Don't ask me my reasons. I know this will put Tulimshar in danger. But I will still do it.
+
+
+I will take a claw and show Hasan.
+
+
+I will take the @@ Bounty.
+
+
+I will trade you a Dagger and Sailor's Hat for it.
+
+
+I will try it later.
+
+
+I will, don't worry.
+
+
+I wish you a good time in town.
+Que lo pase bien en la ciudad.
+
+I wish you good luck!
+
+
+I wish you good luck. I remember these caves... They're dangerous. Make sure to be prepared before venturing further.
+
+
+I woke up in a shake! I felt... Oh, it's hard to describe... As if the spell suddenly started inflating, getting bigger... bigger... weaker... weaker...
+
+
+I won't accept stuff from Halinarzo!
+
+
+I won't need it, thank you.#0
+No lo necesitaré, gracias.#0
+
+I won't need it, thank you.#1
+No lo necesitaré, gracias.#1
+
+I won't share our water with you!
+
+
+I won't stop you from going inside, but be careful, you hear me?
+
+
+I wonder if anyone will notice or care if I take a nap here...
+
+
+I wonder if he exists on this world too. Because if he doesn't, I could tell many tales about him!
+
+
+I wonder if it'll take too long for the ship to arrive...
+
+
+I wonder if you can still sleep after killing those innocent forest creatures!
+
+
+I wonder what secrets the Heroes Hold could be hiding...
+
+
+I work in this mine since 3 years, I'm an expert on gems: Ruby, Topaz, Sapphire, You know!
+
+
+I would advise you to remain here in the ship, they should leave in a few minutes, but I will not force you.
+
+
+I would bring @@, just in case. Anyway, the place where you're going to is the village where @@ was born.
+
+
+I would gladly aid you to get rid of that scourge.
+
+
+I would gladly give my life for such noble goal.
+
+
+I would kick me out myself! I'm such a failure! A complete disaster! %%i
+
+
+I would like @@ @@, @@ @@ and @@ @@!
+
+
+I would like a hat like yours.
+
+
+I would like all Knifes and Daggers on me melted!
+
+
+I would like an item melted!
+
+
+I would like some Mouboo Milk.
+
+
+I would like some information
+
+
+I would like to REMOVE an item options
+
+
+I would like to buy a Warp Crystal.
+
+
+I would like to change an item options
+
+
+I would like to create a guild.
+Me gustaría crear un gremio.
+
+I would like to create a party.
+Me gustaría crear un grupo.
+
+I would like to enroll!
+
+
+I would like to learn a new skill!
+
+
+I would like to order some dye.
+
+
+I would like to perform money transactions.
+
+
+I would like to store some items.
+Me gustaría guardar algunos objetos.
+
+I would like to use the Deluxe Storage.
+
+
+I would like to use the Premium Storage.
+
+
+I would love to see the skin of two @@.
+
+
+I would love to, but the Monster King laid siege there.
+
+
+I'd like my Crozenite Clover Silvered.
+
+
+I'd like to get a different style.
+Me gustaría tener un estilo diferente.
+
+I'll also need @@ as base material!
+
+
+I'll also provide you a few @@s and an Elixir. Use them wisely.
+
+
+I'll also try to bring you to the world's edge, as you've asked.
+
+
+I'll ask you to kill 100 @@. This will prove your worth. Good luck.
+
+
+I'll be attracted by the Shadow Herb. The moss will hide the roots, which will entrap it for a while.
+
+
+I'll be back in no time.
+Volveré en un momento.
+
+I'll be back later with all ingredients.
+
+
+I'll be waiting for you! And trading some items of questionable origins...
+
+
+I'll be waiting!
+
+
+I'll be writing a letter to the next town you're going to visit, and also assign work to my household. You should come back later.
+
+
+I'll call someone to aid you.
+
+
+I'll come back later.
+
+
+I'll configure your flask to a few hours before the Great Fire breaks out. You're looking for "The Queen's party" hideout. Do you need a quick history lesson?
+
+
+I'll decide later
+
+
+I'll draw a card now!
+
+
+I'll feed you to the Moubootaur %%e
+
+
+I'll get so mad at you that even if you are correct, I'll say otherwise. Also, mind special characters.
+
+
+I'll get to it.
+
+
+I'll get to work.
+
+
+I'll give it to someone who challenge me and best me in an impressive manner. If it was easy, someone would already have claimed it.
+
+
+I'll give you @@ GP for this job.
+
+
+I'll give you a @@. It should aid you out there.
+
+
+I'll give you a reward, in the name of Saulc, once you reach the following levels: 25, 50, 75, 100, 125 and 150.
+
+
+I'll give you the item.
+
+
+I'll have her hospitalized now.
+
+
+I'll help you.
+
+
+I'll input how many I want to attach.
+
+
+I'll keep studying it in secret. I'm so proud of my thieves!
+
+
+I'll make you five questions about lore and general knowledge. You'll have 30 seconds to read and answer each.
+
+
+I'll make your life easier, I'm also accepting 20 @@ or @@ instead the Grass Carp. Go now, pal.
+
+
+I'll only say you this once. Mages can, of course, go to battlefield in heavy armor and stuff.
+
+
+I'll pay the GP.
+
+
+I'll present you three kind of strong monsters. Snakes are fast and dangerous. Giant Maggots are slow and dangerous. Black Scorpions have average speed and are... deadly.
+
+
+I'll read the options from you, but the level will be paid by me, and failure rate is non-existant. I am the best. blacksmith. in. the. universe! Use %s if you need to change any options.
+
+
+I'll reward you and your friends in an appropriate way, but if you endanger her... Oh, my poor Cindy...
+
+
+I'll see you later.
+
+
+I'll seek one for you.
+
+
+I'll start delivering the fur!
+
+
+I'll talk about who I am after leaving the well.
+
+
+I'll teach you a spell. It is called CUTE HEART. It summons Fluffies. They are so cute, I want to hug them...
+
+
+I'll teach you how to transmute some parts of theirs. You can use it to convert a @@ into a @@, but not the other way around, for example.
+
+
+I'll try to find them.
+
+
+I'll walk around here a little more.
+
+
+I'll warp you to the Cave Of Trials. Pass all trials, and meet me on Soren's House. Hahah!
+
+
+I'm Carla the Woody Wife, I have lived here with Woody for many years! We decided to live away from civilization, as hunter and shaman life is way better.
+
+
+I'm Eistein, survivor from Ukarania. I reward brave adventurers who kill monsters, which plague our lands.
+
+
+I'm GM and got the money. Gimme HALF HOUR to invite everybody!
+
+
+I'm Laranja.
+
+
+I'm Thurgar the mighty craftsman. I can make anything reality! But I only work to the king!
+
+
+I'm a bit short in cash right now.
+
+
+I'm a bit sick...#0
+Estoy un poco enfermo...#0
+
+I'm a bit sick...#1
+Estoy un poco enfermo...#1
+
+I'm a little busy right now.
+Estoy algo ocupado ahora mismo.
+
+I'm a pro, this will be GG EZ. But Raid is not a foe to be underestimated, and I have no hopes for reinforcements. I refuse to leave last words, I shall either triumph, or be forgotten in shame.
+
+
+I'm a traveling poet and admirer of Robert Burns, a bard from the mana world.
+
+
+I'm actually half-wose. This means part of me is tree.
+
+
+I'm actually looking for an item forged!
+
+
+I'm actually paid by the Academy, or there would be no security here.
+
+
+I'm afraid I can't be of any help to you.
+
+
+I'm afraid my wounds are too critical. I'm bleeding. I was cursed. And I can't even move.
+
+
+I'm afraid you can't help me... I still have one HP left.
+
+
+I'm afraid you'll need a key to reach them. But there's a fork on the way.
+
+
+I'm after the Queen's Party.
+
+
+I'm allergic to piou potions, goodbye.#0
+
+
+I'm allergic to piou potions, goodbye.#1
+
+
+I'm allergic to pious, goodbye.
+
+
+I'm almost in the point of no return. I cannot believe this, but mana... is alive.
+
+
+I'm already married, though...#0
+
+
+I'm already married, though...#1
+
+
+I'm am about to make myself some powerful equipment... But I ran out of material to refine it!
+
+
+I'm an experienced weapon master helping this smithy here, but I am new in this town. I am best at smithing armor.
+
+
+I'm back, I'm here, I'm great! I am the AF King Arthur!
+
+
+I'm back.
+
+
+I'm busy, sorry.
+
+
+I'm currently cleaning the arena, wait just @@ more.
+
+
+I'm currently doing tutorship for students who are... falling behind %%p
+
+
+I'm currently going over some of the household paperwork. Right now I'm inspecting the @@. The work never stops!
+
+
+I'm currently hosting a fight.
+
+
+I'm doing the covers and illustrations for the new books we create from the pieces of the old ones.
+
+
+I'm done.
+He terminado.
+
+I'm fine for now, thank you.
+Estoy genial por ahora, gracias.
+
+I'm fine, but I can't keep carrying dead weights with me. Candor is a special place, I shall make a base there... Because I know the Monster King will eventually head there.
+
+
+I'm fine, no worries...
+
+
+I'm fine, thanks
+
+
+I'm fine, thanks!
+
+
+I'm fine, thanks.
+
+
+I'm glad there's no annoying towel man. He keeps coming back to annoy me!
+
+
+I'm going, don't worry.
+
+
+I'm here as an Initiate. May I enter Duck Dungeon?
+
+
+I'm here to arrest a criminal.
+
+
+I'm here to arrest you.
+
+
+I'm here to help you restock...
+
+
+I'm here to investigate what exactly happened so this doesn't happens again.
+
+
+I'm hungry like a bear :b
+
+
+I'm interested in Grand Hunter Quest.
+
+
+I'm interested in your arrows, they're too expensive with Rosen.
+
+
+I'm just a lurker.
+
+
+I'm just searching for some cleaning supplies. They must be somewhere around here, but everything went upside down when the slimes escaped.
+
+
+I'm listening, but don't hope me to buy your story.
+
+
+I'm looking for the Queen's Party.
+
+
+I'm moved to tears by your dedication to help us. Unrewarded, even. Here, have this rare %s. For free!
+
+
+I'm not a coward! I must press forward!#0
+
+
+I'm not a coward! I must press forward!#1
+
+
+I'm not blind.
+
+
+I'm not crazy, the bucket is vicious and the rope won't withstand my weight.
+
+
+I'm not done yet, please hold tight. It won't take long.
+
+
+I'm not done yet. I'll be back.
+
+
+I'm not familiar with the Butterfly Caves. Try asking a local, maybe Arkim, they ought know the way.
+
+
+I'm not familiar with the Butterfly Caves. Try asking a local?
+
+
+I'm not feeling like it today... Sorry.
+
+
+I'm not going any closer to that cursed place!
+
+
+I'm not going to touch a FLOATING sword made of unobtainum without at least knowing a bit more about it.
+
+
+I'm not going to try to improve this masterpiece. Look its options!
+
+
+I'm not here to listen stories, I need you to return what you've stole.
+
+
+I'm not interested in yours, by the way.
+
+
+I'm not interested right now.
+
+
+I'm not interested, sorry.
+
+
+I'm not interested.
+
+
+I'm not neutral, so my vouch have no effect.
+
+
+I'm not ready.
+
+
+I'm not sure I want to spend that much.
+
+
+I'm not sure if that's edible. For teddies, at least.
+
+
+I'm not sure what it needs to move on time, but I managed to make it move in space, back to this village, in no time!
+
+
+I'm not that numb eeh *hic* what did ever yous disco... ...vered there, the Guild won't get me!
+
+
+I'm not the Captain, Nard is.
+
+
+I'm not unfamiliar with the children of Merlin, thosem whom cross the Mirror Lake. In case of The Mana World, you're lucky, we're parallel, meaning we share lots of things in common.
+
+
+I'm not.
+
+
+I'm only assuming it was a man because the lack of boobs.
+
+
+I'm pretty confident you can attempt the Desert Canyon, but expect to die a few times.
+
+
+I'm proud of you!
+
+
+I'm quite interested in you, mah' boy!#1
+
+
+I'm quite interested in you, mah' girl!#0
+
+
+I'm railroaded here, I cannot say no. I'll bring you some @@. Break them until one of them fit.
+
+
+I'm ready, let's start!
+
+
+I'm so glad that you took care of the remaining slimes. Thanks! Do you need anything else?
+
+
+I'm so glad we didn't have to go out to hunt the slimes! Thank you!
+
+
+I'm so tired... Slimes everywhere... Chaos everywhere... Yawn...
+
+
+I'm sorry but I can't talk right now... I have something on my mind.
+
+
+I'm sorry, I just... Maybe if...? Aha! Here's the EXP, ready for a next go?
+
+
+I'm sorry, I will come back later.
+
+
+I'm sorry, these words just came to my mind.
+
+
+I'm sorry... I can't help you either...
+
+
+I'm sure I could refine this again, if you bring me the payment and the reagents again.
+
+
+I'm sure it was, now go rest a bit, you deserve it!
+
+
+I'm sure that you've got some questions for me, feel free to ask them, but first I need to tell you the rules all adventurers must respect on this world.
+
+
+I'm sure the Doctor has a trick... No loans, thanks.
+
+
+I'm sure the crew will like to be spared from having to eat @@ again!
+
+
+I'm sure there are a lot of sidequests here until you reach level 30, but that's optional.
+
+
+I'm too busy right now to talk. Dimond's recipes are the best!
+
+
+I'm too far to jump there.
+
+
+I'm trying to make good food for all the sailors here, could you help me?
+
+
+I'm waiting for @@ feedback... Please go talk to them! %%S
+
+
+I'm with the Monster King.
+
+
+I'm worried with them. Anyway, I think only heroes are allowed inside, and you are a few levels short of being a Hero...
+
+
+I'm worried with which Sage the masked man will aim next...
+
+
+I'm worried. Will everything be alright? Please, lend your help to sir Sakar - no, to the whole world!
+
+
+I've also got in contact the other alliance representatives, and I've found out there's a way to bring you to Halinarzo, using Hurnscald route!
+
+
+I've been delving in the secrets of Mana, using the stolen Mana Stone we got the other day.
+
+
+I've brought something to exchange.
+
+
+I've brought the money you've asked for.
+
+
+I've changed my mind
+
+
+I've changed my mind.
+
+
+I've dispatched Benjamin and some other city guards after her flew to Elenium Mines, but thus far, they haven't returned.
+
+
+I've even heard of people whom dug Casino Coins out of the ground, but as I said, I don't know. But you'll certainly come across a few o your adventures!
+
+
+I've found the Monster King.
+
+
+I've heard Aethyr path was to the west, but I'm not sure west of where... %s
+
+
+I've heard about some adventurers whom obtained magic in another way, but you would still need a lot of levels for that.
+
+
+I've heard rumors about a legendary axe.
+
+
+I've heard some elves, when they abandoned our original town, founded Aethyr somewhere up northwest. But all contact with it has since been lost.
+
+
+I've heard tidings of strange goings-on in this area...
+
+
+I've heard you helped my staff to recreate some books. For that, I am grateful.
+
+
+I've managed to create a Maggot. It did not die. And it was not an April Fool's joke. Nice one.
+
+
+I've managed to create the first mana-based artificial lifeform, it survived three seconds, the record so far.
+
+
+I've mastered the art of reading ancient languages.
+
+
+I've mastered the art of speech and communication.
+
+
+I've sealed a massive amount of dark magic here.
+
+
+I've sent a scout ahead of you, and he reported traps in the caves you'll be needing to use to get there.
+
+
+I, Elmo, captain's deputy, will help you to make the maximum possible money in Candor!
+
+
+I, Fafa, the Magical Statue, grant you this power! Prove your worth! And never run from the seal, or die for your cowardice!
+
+
+I, second sage of Fate, write this book. The knowledge on it shall guide you to the Secret Of Mana.
+
+
+I, the rightful ruler, demand back this world! Tyranny!
+
+
+I... I confess. I did steal an apple. I was hungry! I am very poor.
+
+
+IF YOU CHANGE EXP RATE NOW, PREVIOUS BONUS WILL BE LOST!
+
+
+IF YOU DIE, YOU'LL SUFFER THE EXP PENALTY.
+
+
+IMPORTANT: All guild magic needs %s to be cast!
+
+
+INV
+
+
+Ice Cube
+Cubo de hielo
+
+Ice Fluffy
+
+
+Ice Gladius
+Gladius de hielo
+
+Ice Lord
+
+
+Ice Maggot
+
+
+Iced Fluffy
+
+
+Iced Water
+
+
+Icicle Challenge
+
+
+If %s meet the true form of the %s and prove to be a real hero, the sword will give itself for them. But if they fail to prove real heroism, the sword will leave after a while.
+
+
+If I am doing your dirty work, why am I the one paying you?!
+
+
+If I bring @@, my party leader, and the boss is defeated, I can go you in.
+
+
+If I can't beat him, no one else can, and if our species are to survive, we'll need to return to the Edge. Even if it means... Fulfilling the prophecy. %s. Whatever the cost.
+
+
+If I don't know the answer in your language, try answering in English. That always works.
+
+
+If I had a map, I would be digging the treasures, not selling it, arr!
+
+
+If I only could find another way in...
+
+
+If I only knew some magic...
+
+
+If I remember correctly they wanted to see the library. They looked like a man, but you never know.
+
+
+If I saw *hic* who you were... *hic* Would not have helped you!
+Si hubiese visto *hic* quién eras... *hic* ¡No te habría ayudado!
+
+If I were you, I would drink water.
+
+
+If I weren't tempted to try again everytime someone gets it right...
+
+
+If Nikolai's helpers weren't so carefully chosen, I'd think this was some kind of a bad joke from someone.
+
+
+If a guild mate dies, they will revive. Don't work on self.
+
+
+If a tie happens, I'll give your coin back.
+
+
+If a tie happens, you'll get your coin back.
+
+
+If all players there die, Hurnscald WON'T BE LIBERATED.
+
+
+If at any moment in the fight there's less than %d players in the room, a severe penalty will be applied, so watch out!
+
+
+If enabled, automatic captchas may be sent to you every once in a while.
+
+
+If he gives you a guard card, that'll allow access to the Guard House, where you can pick Daily Bounties for monsters. These will pay you in GP.
+
+
+If it expires, you'll need to do another. To bake it I need 1 @@, 10 @@ and an @@.
+
+
+If it was easy, someone would already have claimed it, so good luck if you plan in obtaining it.
+
+
+If left unchecked for long, they will eventually become the only specie on the sea.
+
+
+If life gets so a person cannot laugh,
+
+
+If one of us found a Mana stone. They would become rich!
+
+
+If only we defeated their generals and put the army in disarray... It would be possible to visit there.
+
+
+If the Monster King attacks, I will try to control inbound monsters here.
+
+
+If the event ended now, you would get @@ GP.
+
+
+If the members level difference is less than 30, and you enable exp sharing, you'll all get a bonus experience!
+
+
+If the water doesn't moves, you will never fish anything. Ah, fat luck...
+
+
+If there were strong people to give us food, ah, how that would be good...
+
+
+If they at least read the @@, they wouldn't have such problems.
+
+
+If they enroll, they will become able to study monsters and to visit the Mystical Forest west of here as well.
+
+
+If they were any bigger, monsters would come and kill everyone.
+
+
+If things keep like this, we will only manage to give @@ gifts to every player...
+
+
+If this is found out to be a fraudulent titulation, both you as target will have their titles cased by the Academic Council, or by the Alliance High Council.
+
+
+If this is not the case, just click on "Send".
+
+
+If this is undesired, select the correct world, and if needed create a new char on it.
+
+
+If town reputation reaches zero, the town will only be able to get money with taxes.
+
+
+If we could convince them to distract the Monster King, we could have chances to do a counter-attack!
+
+
+If we don't know where to go - Maybe we should go back looking for clues?
+
+
+If yes, of course she will hate you. With reason! You're murdering her family and friends!
+
+
+If you are a brave hero or adventurer, Andrei, his lieutenant Elora and the Alliance will be waiting for you on %s!
+
+
+If you are above the NPC and they still doesn't hear you, this mean they are deaf - you should report this!
+
+
+If you are in need to get lots of experience quickly, you should try to engage the bigger and stronger monsters in the town. However, if they hit you, it's Soul Menhir for you.
+
+
+If you are sure your answer is correct, please contact Jesusalva for bug fixing.
+
+
+If you aren't more careful, we might... accidentally... mistake you for an agent of S.A.R.A.H.
+
+
+If you break that, you could never go to the World's Edge!
+
+
+If you bring friends, I'm sure they'll be no match. Ah... How many people already lost their shorts to Cave Snakes?
+
+
+If you bring me 2 @@ and 210 GP, I can make a @@ for you.
+
+
+If you bring me 2 @@, that Necklace, and 4000 GP, I can improve it. It'll be worth it, I warrant you!
+
+
+If you bring me 6 @@ I can make a @@ for you.
+
+
+If you bring me @@ @@, I'll give you a reward!
+
+
+If you bring me @@, your party leader, I can let you in.
+
+
+If you bring me a @@ and 500 GP I can make one for you!
+
+
+If you bring me some items to I do a bandage and heal myself, I'll give you my gloves!
+
+
+If you bring me some items, I can craft one for you. You will be my test subject.
+
+
+If you bring me some items, I can make some for you!
+
+
+If you bring us 5 @@, we'll be forever grateful.
+
+
+If you can manage to gather the supplies I need, I can surely craft some %s for you!
+
+
+If you conclude the training, you'll be suitable for the difficult mission our King have to you.
+
+
+If you could show me what he gave you, I might trust you.
+
+
+If you decide to continue, a random PINCODE will be
+
+
+If you die or logout here, the quest will be reset!
+
+
+If you die, you ##Bwon't##b be able to rejoin, but you won't suffer the penalty.
+
+
+If you die, you'll appear near Tulimshar's Soul Menhir, which is the nearest Menhir to you. You can use @@ if you ever want to change this behavior.
+
+
+If you die, you'll have to begin again. And there is the experience penalty, too.
+
+
+If you die, you'll need to start over everything again!
+
+
+If you distort time-space too much, you might end up outside of it, meeting a quick, permanent, and unrecoverable death.
+
+
+If you don't defeat the Soul Eater before the Great Fire happens, which for the record, has already happened, your soul will slowly be reclaimed by her until your existence ceases to serve as fuel to bring back one of the greatest horrors of story.
+
+
+If you don't have the recipe book, you'll need to find one... Maybe someone in a household you've already helped is willing to give you one.
+
+
+If you don't know what to use, try using the current date or something.
+
+
+If you don't want to die, fight!
+
+
+If you don't want to look at the Bible, you can try to solve the following riddle:
+
+
+If you drag the "Resync" skill from the skill list to the shortcut list, you'll be able to rapidly solve some lag issues!
+
+
+If you ever go there, you should pay it a visit. It is most definitely alive! I'm sure it'll like you, too.
+
+
+If you ever need to get quickly from one place to the other, count on us!
+
+
+If you ever visit the fortress island, be sure to visit the friendly tree at the cave. I'm sure it'll like you.
+
+
+If you fell ready, perhaps you should touch it?
+
+
+If you fight Black scorpion or others dangerous monster you should use the 'hit and run' tactic.
+
+
+If you finish everything, and answer everything right, you may get a reward.
+
+
+If you follow %s's quest, you will eventually reach the requirements for here.
+
+
+If you found anything which requires immediate attention, like broken roads which lead nowhere, or cliffs with weird collisions, invisible rocks, scamming NPCs or the sorts, please write down a %s and I'll see it. If the interface is too difficult to use, you can also do so %s or send an email to %s.
+
+
+If you get %d sequence, you'll get a %s!
+
+
+If you get any bookpages from the slimes, bring them to Ensio. Thanks for your help!
+
+
+If you get too much exp this way, a skill will level up and you'll get even more!
+
+
+If you go to Lieutenant Dausen, he'll say that you used GIMP. Just give up.
+
+
+If you have a @@, perhaps you could use it as a bait.
+
+
+If you have some coffee to me, I'll buy it of your hands.
+
+
+If you have some gems, I can transform them into powder.
+
+
+If you have trouble with guards, just bribe them and they'll leave you alone. I asked a few to be fired three years ago, but the council haven't reviewed it yet.
+
+
+If you have... references, we may also be able to offer you... premium storing.
+
+
+If you haven't, maybe there are a few things you can do besides selling items."
+
+
+If you head west, you'll eventually reach the magical Kamelot Castle.
+
+
+If you hug the wall, there's a secret passage somewhere there. Well, there are many secret passages at Tulimshar.
+
+
+If you kill an opponent stronger than you, you will gain honor points. But if the oponent is 15 levels weaker than you, it will be NEGATIVE!
+
+
+If you kill the same person within 30 minutes, honor will not fluctuate. The whole honor system is very experimental.
+
+
+If you leave by the secret window, you'll notice a small cave entrance. Enter it.
+
+
+If you meant to reset the drop rate to its default value: @droprate default
+
+
+If you meant to reset the exp rate to its default value: @exprate default
+
+
+If you miss, walk two or three tiles backwards. This way, you avoid being hit.
+
+
+If you need more herbs, the best place to look.
+
+
+If you need to talk with King Gelid, he should be in the castle north here.
+
+
+If you pay attention, you'll learn the skill.
+
+
+If you pay the fee, I'll spawn them, for no longer than 20 minutes. You should not fight alone, instead, you need a group of at least three, because, you know, the curse. Or something.
+
+
+If you rent an apartment, you'll become a "citzen" and be allowed here. Besides, you can buy stuff in your apartment to, for example, craft stuff.
+
+
+If you save 80% from the crops or more, you'll get @@ GP.
+
+
+If you save 90% from the crops or more, you'll also get a @@.
+
+
+If you sponsor me, while I break into more dimensions, I'll give you any stuff I find. Hey, they could be rare here!
+
+
+If you succeed, the defense and/or attack will raise. If you fail, refine level goes down.
+
+
+If you take too long you'll be penalized.
+
+
+If you think this should be a priority, please ask Jesusalva.
+
+
+If you train hard enough, and get access to a Mana Stone, I could teach you a trick or two. But right now, I don't sense magic compatibility in you.
+
+
+If you try take any more power from the Mana Seed, I'll kill you.
+
+
+If you try to walk west or east too much, you'll hit an "invisible wall" to prevent you from getting lost.
+
+
+If you unlock a pet but it is missing on this list, this means nobody elese unlocked them yet.
+
+
+If you want it?
+
+
+If you want to be a real miner friend, do this hard task for me. I will reward you with a @@.
+
+
+If you want to know what the Alliance is up to, you might have better luck talking to Jerican, from the Press.
+
+
+If you want to pass through it, you'll need to defeat the Guardian which made the seal. You can bring friends for healing and support.
+
+
+If you want to read this page again, there is a copy up on the wall.
+
+
+If you want, you can ask there for one. They are at the big building at northwest.
+
+
+If you want, you can bring me some more of those herbs and potions.
+
+
+If you're afraid of losing everything, then DEFINITELY do not gamble. %%2
+
+
+If you're ever in need, you may use it to call upon the aid of the ducks.
+
+
+If you're reading this - Feel free to use my laboratory in any way you deem fit. Or what's left of it, at least. Also, please kill any slimes you find. I shall be back in six leaps time, according to the Imperial Time, but if I'm not back by then, assume something went wrong and both wushin and me are off the table.
+
+
+If you're right, you'll gain more Casino Coins! And even other nice things!
+
+
+If you're right, you'll get at least 80 GP!
+
+
+If you're still not confident enough, just tell him this: %s
+
+
+If you're wrong, your winning streak is reset.
+
+
+If you've used all the ones I've given, you can always bring me more ingredients.
+
+
+If your guild is defeat during the quest, you'll need to wait the weekly cooldown to expire.
+
+
+Ignore this book
+
+
+Igor
+
+
+Ihclot
+
+
+Imec#EP
+
+
+Immortal Heavy Sword
+Espada pesada inmortal
+
+Imperial Crown
+ Corona imperial
+
+Importing food from Hurnscald is expensive, local food is expensive, if you don't have a job you're a dead person. Worse if you need medical aid.
+
+
+Impossible to read.
+
+
+Impossible to resync: You are dead.
+
+
+Impressive. Seven gifts! Now, 12800 is not easy. I understand if everyone gives up.
+
+
+Improve Barter to level
+
+
+Improve Max Weight to level
+
+
+Improve Stealing to level
+
+
+Improved MP Regen
+
+
+In TMW2 there is
+
+
+In a blood bath, survival is the epitaph.
+
+
+In a few weeks, I will finish the @@ plans, and there will be no doubts, that @@ is not the best weaver in the world!
+
+
+In addition to my fee, I will also need the following items:
+
+
+In exchange for your help, I'll give you a @@!
+
+
+In fact, %s is considered by most to be rare these days.
+
+
+In fact, Bryant is my brother, and he lives in a cave, and he probably have a high level quest too, but that's not important now.
+
+
+In fact, I am cured! Hooray!!
+
+
+In fact, it is flooded at the moment. Come back later.
+
+
+In fact, the Tulimshar Noble District is world-renowned for crafting high-quality yellow garments!
+
+
+In fact, you would get lost and killed. If I were you, I would avoid the Death Penalty. It's high, ya know?
+
+
+In general, by touching the Mana Stone once, will make you a first degree mage. But these degrees goes up to seven and beyond, I think.
+
+
+In honor of %s, for their great deeds of recent bravery in face of impending doom.
+
+
+In honor of %s, founder of this academy, whom built this academy WITH HIS OWN HANDS, WITH BLOOD SWEAT AND TEARS.
+
+
+In honor of %s, the greatest hero this world has even seen.
+
+
+In honor of DragonStar, winner of Easter 2018.
+
+
+In honor of Groata, winner of Easter 2020.
+
+
+In honor of Manatauro, Povo, YuckFou, Cadis Etrama di Raizel and everyone whom participated on it!
+
+
+In honor of Woody, winner of Easter 2019.
+
+
+In honor of everyone whom participated on it!
+
+
+In memoriam. May those whom shall never come back find rest in their afterlifes.
+
+
+In order to enter a message press the 'Enter' key, this will display the white box of typing. Type your message there and press 'Enter' again to send your speech.
+
+
+In other words, I never heard of a Yeti eating a kid before. They prefer %s.
+
+
+In other words, it'll make a copy of youself.
+
+
+In other words, whoever they are, they're after the sages. They are not targeting just simple magical users. This might be a problem.
+
+
+In other words: If Lua couldn't find your record, your parents were part of this story! But, on which of these three groups were them?
+
+
+In overall, you'll get more experience by fighting monsters.
+
+
+In some cases, your pincode will be required.
+
+
+In some dungeons etc., there might be a monster much, much stronger than all other monsters on the area. These are the optional miniboss.
+
+
+In the
+
+
+In the end, elves would have quite the age to rivalize with human wizards.
+
+
+In the end, they decide the defensive measures, and they even set curfews!
+
+
+In the first eight months I wanted to go back, but now I'm pretty used to living here. Please don't rescue me.
+
+
+In the storehouse, kill 4 @@. They keep coming back and contaminate our stored goods.
+
+
+In the world, you may find several treasure boxes. Different treasure boxes need different keys.
+
+
+In these dark times, countless souls moved away from Halinarzo. All hope seemed lost.
+
+
+In this case, haven't I counted, I would have deleted only part of the items, then I would go silent. No refunds.
+
+
+In this cave we can easily find Coal, Iron ore, and sometimes @@.
+
+
+In this town you'll find many critical things for your journey, like artifacts, dungeons, crafts and refiners. Please enjoy your stay. And keep tuned for news about us!
+
+
+In this wonderful realm, you can find and earn many @@, our currency!
+
+
+In this world, Angela married with the Blue Sage. I had an... incident, with the Blue Sage, which is better forgetten. Anyway, seeking to cause a political instability, opposing Yetis every once in a while kidnap their daughter, Cindy.
+
+
+In this world, your friends are your strength. You deserve a reward for the victory, please choose whatever you want.
+
+
+In times of the fire, magic came to save us.
+
+
+In whom to vote?
+
+
+Inac
+
+
+Inactive
+
+
+Inar
+
+
+Increase STR/INT/DEX in range for all guild allies.
+
+
+Increase Weight skill replaced with Stealing.
+
+
+Increase all stats
+
+
+Increase all stats from every guild member in area.
+
+
+Increase bow range and accuracy.
+
+
+Increase critical chance of all guild allies.
+
+
+Increase damage dealt by weapon for all guildies.
+
+
+Increase defense to all friends in radius.
+
+
+Increase walk speed and flee rate.
+
+
+Indeed, matey! Here they are!
+
+
+Indeed. Sorry. I'm not giving you anything.
+
+
+Indoors 1 (Peace)
+
+
+Indoors 2 (Dimonds)
+
+
+Infantry Helmet
+Casco de infantería
+
+Info
+
+
+Information
+
+
+Initiate a siege
+
+
+Initiate small siege (lv. 5)
+
+
+Injured Mouboo
+
+
+Injuried Mouboo
+
+
+Inn
+
+
+Inn, Dimond's Cove
+
+
+Inn, Houses, Northwest Avenue
+
+
+Input new password:
+
+
+Inside it, seems to be several magic reagents, powders, and other stuff.
+
+
+Inside it, there'll be a Transcendence Gate.
+
+
+Inside this house is my brother Alan. He knows how to make Forest Bows of exquisite quality.
+
+
+Insisting will do us no good, maybe we should try to gain its trust first?
+
+
+Inst @@ Map @@
+
+
+Instantly jumps 5 tiles backwards.
+
+
+Instantly jumps to target and delivers an attack.
+
+
+Instead of "slap", it could "heal" or "appear".
+
+
+Instead of burning the town to a crisp, it moved to the canyon. Passed through the scarce vegetation until it arrived Hurnscald... And burned it down.
+
+
+Insufficient Guild Level! (@@/@@)
+
+
+Insufficient Guild Money! (Guild has: @@ GP)
+
+
+Insufficient mana: @@/@@.
+
+
+Insurance
+Seguro
+
+Insurance Contract
+
+
+Int Potion
+
+
+Int+ Potion
+
+
+Int++ Potion
+
+
+Intelligence
+Inteligencia
+
+Intelligence Fruit
+
+
+Intense Beard
+
+
+Intensive Mage Challenge
+
+
+Interested?
+
+
+Interesting! can I be rewarded for my help?
+
+
+Interlude
+
+
+Interlude - Fourth Act
+
+
+Intermediary Dungeon (Lv 60+)
+
+
+Interval: (none, only sent on login)
+Intervalo: (ninguno, sólo enviado en el acceso)
+
+Interval: every @@ hour(s)
+Intervalo: cada @@ hora(s)
+
+Introduce
+
+
+Invalid Discord ID.
+
+
+Invalid amount!
+
+
+Invalid map mask
+
+
+Invalid music key. Current accepted values are:
+
+
+Invalid parameter specified, blame saulc.
+
+
+Invalid quest state: @@
+
+
+Invalid recipe from Nahrec partly reimbursed.
+
+
+Invalid season: @@
+
+
+Invest in Exportations
+
+
+Invest in Reputation
+
+
+Investing in Exportations
+
+
+Investing in Reputation
+
+
+Investment executed
+
+
+Invite your friends, and become a Moubootaur Legend!
+
+
+Inya, the Jeweler
+
+
+Iridium Ingot
+
+
+Iridium Ore
+Mineral de iridio
+
+Iridium Ore -> Titanium Ore
+
+
+Iron Ammo Box
+
+
+Iron Armbands
+Brazaletes de Hierro
+
+Iron Arrow
+Flecha de hierro
+
+Iron Backsword
+
+
+Iron Blade Shield
+
+
+Iron Bug Slayer
+
+
+Iron Ingot
+Lingote de hierro
+
+Iron Ore
+Mineral de hierro
+
+Iron Ore -> Coal
+
+
+Iron Powder
+Polvo de hierro
+
+Iron Quiver
+Carcaj de hierro
+
+Iron Quiver stats restored
+
+
+Iron Short Gladius
+
+
+Iron Shovel
+Pala de Hierro
+
+Is it too deep?
+
+
+Is it truly a hard choice to make?
+¿Es verdaderamente una dura decisión que tomar?
+
+Is that someone's luggage?
+
+
+Is that... Wait... Wow. You... Killed the murderer scorpion.
+
+
+Is there a reward?
+¿Hay alguna recompensa?
+
+Is this correct?
+
+
+Is this high-quality fur?
+
+
+Is this letter yours? Very well, let me read.
+
+
+Is your guild strong enough to give Arthur at least good nights sleep?
+
+
+Is... Dan... Ger... Ous...
+
+
+Isbamuth
+
+
+Ishi
+
+
+Ishi, the Rewards Master
+
+
+Isn't hard to live alone?
+
+
+It also expires after two hours. In such case, talk to him again!
+
+
+It also increases naturally as you grow, albeit less.
+
+
+It appears we were focusing too much on research and this lead to neglect of other duties of a Sage's household. This is dangerous in times of changes. I'm worried about the future.
+
+
+It costs %d GP to use.
+
+
+It costs 600 GP to use.
+
+
+It doesn't make much sense to draw overhasty conclusions.
+
+
+It happens.
+
+
+It has a very dark color and an unusual aroma reminiscent of a moist forest.
+
+
+It has been a great year, and the TMW2 Team would like to
+
+
+It has been a total disaster. They killed %s. And everyone on the village.
+
+
+It has eluded so many craftsmiths, who knows what can be done with that!
+
+
+It have lots of lava caves, and some cool stuff, like the @@, can only be craft there.
+
+
+It have the same shape as those used to polish weapons, but there are blood stains everywhere.
+
+
+It is %s since the last great attack from the Monster King.
+
+
+It is NOT advised for new players to skip parts of the Main Quest.
+
+
+It is NOT designed for noobs. It is for the pain-seeking pro adventurers who laugh at death, and see danger as fun.
+
+
+It is a boss. I don't know how to summon one, and to be honest - You won't want to see one either.
+
+
+It is a dangerous area, so we only allow students enrolled at the academy to participate.
+
+
+It is a magical tower, though, cloaked in the desert. You can't just walk there. The tower was north of here, you will find a sign near the gate... But you won't find the gate itself.
+
+
+It is a pirate treasure hideout, yarr arr! If you have a @@ and a @@, you may get luck, yarr!
+
+
+It is a port city at the south of the continent. Main economic activities are mining and spices trade.
+
+
+It is a really cool place. You must visit it someday!
+
+
+It is a sunny day, don't you think?
+Es un dia soleado, ¿no le parece?
+
+It is difficult to describe, it is like if it was mixed with mana itself. Drinking a bit of it was enough to recover your MP.
+
+
+It is known that even world wars have been under cease-fire on this date. On our world, Jesus Saves pays fortunes to Santa so he can gift every adventurer for the good year.
+
+
+It is no use... We are too close to a island, they will keep invading the ship...
+
+
+It is not much, but here is %d GP. Should buy you a snack!
+
+
+It is not my fault!
+
+
+It is not my fault.
+
+
+It is often easier to get invited by someone, but if you want to create it, you're free to. Remember guilds also have a player limit.
+
+
+It is on a huge, icy mountain peak. Rumors about dragons and legendary items to be found.
+
+
+It is one of the five legendary weapons. Legend says it was hidden in a tree on Aethyr, and will be given to the one who proves to be an excelent archer.
+
+
+It is pretty close to here. I advise you to use a good sword, and heal yourself often.
+
+
+It is said that if someone dies to the pinkies but is then avenged and mourned, the avenger may claim from the tree the shield of the world!
+
+
+It is so dangerous, and it...
+
+
+It is the birthplace of humans, the first place to come to existence... The World Edge. The place where humanity began, and according to the legend... The place where it shall perish.
+
+
+It is the non-rare ingredients I actually need help with!
+
+
+It is the place where it all began... And I'm not talking about the Mana War.
+
+
+It is time to send %s to your beloved ones!
+
+
+It is very hard to come by, however, my father has a copy he might sell to you for the right price.
+
+
+It is... SO CUTE! You won't refuse honey to a teddy, will you?
+
+
+It looks dangerous.
+
+
+It looks like you are ready. Let me see if there is an easy task for you...
+
+
+It looks like you can't carry anything else for now.
+Parece que no puedes cargar nada más, por ahora.
+
+It looks locked.
+
+
+It matters not, because soon, all of you will be...
+
+
+It may also create some @@ or a @@, with enough skill.
+
+
+It may be dangerous. I better ask %s to check it instead.
+
+
+It may be expensive to return here. Are you sure?
+
+
+It may fail, and you might end up with something entirely unexpected, or nothing at all!
+
+
+It might be a good idea to ask around if anyone else observed something odd connected to this person.
+
+
+It might be just my gut instinct, but... Would you be willing to talk with Peetu and the other helpers, investigating what actually happened?
+
+
+It might be, but I never heard of you before. Sorry @@, I can't let just anyone go through. It would be a disservice to see you get stuck and die.
+
+
+It might be, but your level isn't. Sorry @@. No going to Hurnscald before level 20.
+
+
+It more than just a piece of Zealite Ore... It is a part of the world's heart.
+
+
+It only loses to Tulimshar, as far as political and economical importance goes.
+
+
+It really comes in handy that I have my towel with me. A towel is about the most massively useful thing an inte- ahm, a person can have.
+
+
+It rules Tulimshar, and is also one of the superior bodies of the Alliance. They have the last Mana Stone in the world on their meeting hall.
+
+
+It seems all of the slimes are gone now. I'm so glad! Thanks for your help. I mentioned your assistance to Nikolai.
+
+
+It seems happy, but it quickly goes to a dark honey after finishing.
+
+
+It seems that you have no status points to reset!
+¡Parece que no tiene puntos de estado para reiniciar!
+
+It seems to be a mechanism of some kind, but it is missing a Runestone.
+
+
+It seems to be a puzzle, you can only imagine what needs to be done in order to enable the right portals.
+
+
+It seems to be concentrated on its small pot... So concentrated, it doesn't even realizes you're there.
+
+
+It seems to be growing apples, but by the amount of magic particles...
+
+
+It seems to be the ruins of some sort of Mouboo Temple or whatever, from a millenia ago. There may be traps, so be careful.
+
+
+It seems to have been abandoned a long time ago, but the chimney is still going?
+
+
+It should be almost a boss at your level, so I don't expect to see you again here so soon.
+
+
+It should be back in @@
+
+
+It should bring me back.
+
+
+It smells like manatauro's room.
+
+
+It still isn't time to awake the King Of Holy Swords, Light Bringer.
+
+
+It then looks at you with a pleasant smile, you definitely earned a new cute friend!
+
+
+It was a boring lesson, but you have mastered Mananese.
+
+
+It was a little @@.
+
+
+It was a real problem, threatening them to go out of business. I think they are trying to recover the lost weapons.
+
+
+It was a recipe you already knew... (+ @@ Mobpt)
+
+
+It was a reeeeeealy close dispute for the podium, but Jesusalva crafted an item at the last minute and took the first place!
+
+
+It was a tough fight.
+
+
+It was a trap! We must escape!
+
+
+It was an awful cut! Don't think any piece of a sightly lower material will have part in my art!
+
+
+It was built by The Alliance, and can be accessed by a ship in Tulimshar.
+
+
+It was just south of the island. Try walking around a bit?
+
+
+It was my job to seal the slimes away for the night, but I somehow messed it up!
+
+
+It was nice seeing you.
+
+
+It was said that these five heroes will once again emerge;
+
+
+It was so lovely, and it had some very tasty fruits, too! But the cave was so dangerous...
+
+
+It was so tasty, I can't eat anything more... Thank you.
+
+
+It wasn't easy, but you think that you extinguished this nest.
+
+
+It wasn't this time...
+
+
+It will allow you to store %d extra items, with unlimited weight or size limit, for only %s GP! Although premium clients such as yourself... deserve a discount!
+
+
+It won't be long before we reach our destination...
+
+
+It would be unwise to pick a fight with the Yeti King himself. The whole town would suffer.
+
+
+It would be very kind of you, if you could seek who I am!
+
+
+It'll also boost your %s for %s.
+
+
+It'll also drain mana in the proccess. If you run out of mana, its over.
+
+
+It'll be my pleasure.
+
+
+It'll be too dangerous if you're not at least level %d. But I'm sure you can grind the required level in no time; Don't let your body down! Exercise!
+
+
+It'll cost @@ GP
+
+
+It'll cost you @@ GP.
+
+
+It's
+
+
+It's *sniff* It's all my fault... *sniff*
+
+
+It's @@ (day)!
+
+
+It's @@ @@.
+Eso es @@ @@.
+
+It's International Chocolate Day!
+
+
+It's Jesusalva's anniversary!
+
+
+It's St. Patrick Day, so be warned everyone wants a green dye... So, I raise the prices.
+
+
+It's St. Patrick Event!
+
+
+It's TMW2 Project anniversary!
+
+
+It's TMW2 Server anniversary!
+
+
+It's a @@!
+
+
+It's a complex curse.
+
+
+It's a cursed mouboo.
+
+
+It's a scary legend of old. It's truth, but I don't know how much it is.
+
+
+It's a simple curse.
+
+
+It's a strange drawing of a Mouboo.
+
+
+It's a tie!
+
+
+It's a very delicate spell. I usually start to prepare it while the helpers are still working on their research and experiments. That way, when they're done, they can just come and place the slimes under the seal.
+
+
+It's advised to collect PVP equipment.
+
+
+It's advised to come ready for the cold, the hungry beasts, and other dangers snow may bring.
+
+
+It's all my fault, I should've paid more attention! You should talk to Chief Oskari about this.
+
+
+It's always good to see if you have a lot of them around before you think about attacking one!
+
+
+It's an ambush!
+
+
+It's autumn! There is no special event during autumn, only special drops.
+
+
+It's cold, harsh climate makes difficult to live there. It was founded by people thrown away from Tulimshar and Hunrscald for political reasons.
+
+
+It's currently day, but when night falls, Candor will become darker.
+
+
+It's currently night, that's why Candor is dark.
+
+
+It's dangerous in the library right now, be careful. Do you need anything else?
+
+
+It's done with @@ teethes. These drain your life and raise your strenght to SMASH your foes!
+
+
+It's far from over! You cannot defeat me!
+
+
+It's full of Mouboo drawings.
+
+
+It's good to see you too, do you happen to be able to make stuff?
+
+
+It's higher! That's right!
+
+
+It's impossible to know when she'll be back, so you should prioritize something else for now.
+
+
+It's locked.
+
+
+It's locked. But a close inspection reveals a small key under the rug.
+
+
+It's lower! That's right!
+
+
+It's my duty to protect the beings in the forest... Not all of them are monsters as @@s like you think.
+
+
+It's none of your business.
+
+
+It's not as good as my new one, but still very useful.
+
+
+It's not hard to repair, but nobody is bothering Jesusalva on #world as of late. %%n
+
+
+It's not much of a reward, but doesn't it feel great to help others in need?! HAHAHA!
+
+
+It's not much of a reward, but doesn't it feels great to help others in need?! HAHAHA!
+
+
+It's not possible to see any light, and it seems to small and damp to have monsters.
+
+
+It's not warranted you'll be able to get the powder back, either.
+
+
+It's obtained with ADMINS or by selling furniture. It is sumed to money and used first.
+
+
+It's over a hundred meters in depth. There is some land here, but I'm afraid of Terranite.
+
+
+It's self sufficient economically, and many fairies enjoy travelling there. In fact, rumors says the Fairy Kingdom is near it!
+
+
+It's spring! Two lovely NPCs at woodlands can be found...
+
+
+It's spring, when the wind is always good.
+
+
+It's steaming hot, but you guess this is where Isbamuth created homunculus. Most bandits, thieves and assassins seems to have been born here.
+
+
+It's steaming. Who knows what insanity Isbamuth is brewing inside?!
+
+
+It's summer! Ched is having his usual contest, but Luffyx in Hurnscald is up to no good!
+
+
+It's tasty ^.^
+
+
+It's the Free Software Day!
+
+
+It's the International Coffee Day!
+
+
+It's the least I could do for having you to go through all this struggle. I've already paid everything, so just talk to the receptionist for your room :>
+
+
+It's time to show this shiny @@ who is the boss! HAHAHAHAHAHAHAH!
+
+
+It's time. My army already have tens of thousands of monsters, homunculus, persons. The mana stones I've got thus far are all dried out, now.
+
+
+It's too faint to read.
+
+
+It's totally safe. They are loyal as long that feed. And to think I started off giving @@ to the poor...
+
+
+It's true enough an @@ could heal even a dead tree, and would dispel almost every status ailment I could have.
+
+
+It's valentine day, and I got my hands on a @@ model!
+
+
+It's very brave of you to fight against those slimes deeper in the library. Remember that you have to kill the entire group to prevent them from breeding. And do it @@!
+
+
+It's weaker than before, probably only one is working right now.
+
+
+It's winter! An NPC in Nivalis Town is freezing...
+
+
+It's written in Mananese, you cannot read.
+
+
+It's written in an ancient language, you cannot understand what's written.
+
+
+It's yummy ^.^
+
+
+Item 816
+
+
+Item List
+
+
+Item break? Too dangerous! I don't want it!!
+
+
+Item created.
+Objeto creado.
+
+Item obtained: @@
+
+
+Item sold!
+
+
+Items for consumption, like potions, can only be used once.
+
+
+Items have different effects. Some will heal you, some can be used as weapons or armor, and some can be sold for gold.
+Los artículos tienes efectos diversos. Algunos te curarán, otros pueden ser usados como armas o armadura, y algunos pueden ser vendidos por oro.
+
+Items in your storage are totally safe. Banking itself is totally safe.
+
+
+Iten
+Iten
+
+Itka
+
+
+Ivanize
+
+
+JAIL THEM!!
+
+
+JAK1, THE SLIME RESEARCHER
+
+
+Jack
+
+
+Jack bends the log over his knee.
+
+
+Jack'O
+
+
+Jack'O Lantern
+
+
+Jack's Skeleton Charm
+hechizo de esqueleto de Jack
+
+Jack, the Lumberjack
+
+
+JackO
+
+
+Jackpot! You got the @@!
+
+
+Jackpot! You got the Monocle!
+
+
+Jackpot! You got the Paper Bag!
+
+
+Jakod
+
+
+Janika
+
+
+Jar Of Blood
+Jarra de sangre
+
+Jarret, Tulimshar's Founder, was a great man, but his successors were not. Specially the Red Queen. Eventually, our clan had enough and moved away from Tulim.
+
+
+Jasmine Tea
+
+
+Jeans Chaps
+pantalones vaqueros
+
+Jeans Shorts
+Jeans cortos
+
+Jelly Beans
+Frijolitos confitado
+
+Jenny
+
+
+Jeremy
+
+
+Jerican
+
+
+Jerry
+
+
+Jesusalva
+
+
+Jesusalva : \\o/
+
+
+Jesusalva Card
+
+
+Jesusalva still have this closed because the traps are broken... %%n But we shall open soon. %%G
+
+
+Jesusaves wrote a grimorie, with ancient secrets of our world.
+
+
+Jesusaves's Grimorium
+Grimorium de Jesusaves
+
+Jeweler
+
+
+Jhedia
+
+
+Jhon Henryfield
+
+
+Jhon Longnose
+
+
+Joanna
+
+
+Joaquim
+
+
+Job Level and certain equips can affect your status. You'll see the modifiers with a + sign.
+
+
+Job levels already boosts all your status. It gives +1 on each status every 10 job levels.
+
+
+Joelin
+
+
+Join existing arena
+
+
+Join teh Guild
+
+
+Joker
+
+
+Judgement
+
+
+Judgement has passed.
+El juido ha pasado.
+
+Judgment
+
+
+Juliet
+
+
+Juliet is east (right) of %s.
+
+
+Jump inside!
+
+
+June 21st - September 21st
+
+
+Junglefowl
+
+
+Just @@ ago, thieves stole Pihro & Pyndragon weapons.
+
+
+Just be really, REALLY sure you want to do it. I mean, the gemstone will break.
+
+
+Just beware that if you leave, you might get killed really quickly. No death penalty, though.
+
+
+Just go over there and you'll be able to board the Airship. The travel takes a while so please be patient and good luck!
+
+
+Just go right, yeye can't miss her. She's the only girl in this crew.#1
+
+
+Just go right, yeye can't miss her. She's the only girl in this crew, oh well, except for you now yeyeye!#0
+
+
+Just go to the basement, past this door. Good luck, @@!
+
+
+Just like every cave below the woodlands are under the Terranite King domains, every land covered in snow is under the Yeti King's domains.
+
+
+Just like parties, you can create from Social menu, but there is a catch: I will give you a document, which allows you to create ONE GUILD.
+
+
+Just look at that water! There's a whole bunch of fish down there.
+
+
+Just looking at him you smell danger, adventure, excitement...
+
+
+Just make sure to don't try to poison a guard or something, and don't tell anyone of our little deal. As a proof of our agreement, I'll even give you a freebie, so you can see this is the real deal.
+
+
+Just one coin for spin.
+
+
+Just tell him that I want to reconsider, and that I want the souvenir he offered me when I moved to Hurnscald.
+
+
+Just two coins for spin.
+
+
+Just use the arrow key--, err, I mean, just walk to the door on the right. The one which is not guarded by Peter.
+
+
+Just wait. Fafi dragons are slow to show up...
+
+
+Just... Don't accidentaly invoke a Legendary Guardian or something, these thingies could destroy a whole city.
+
+
+KUNAI
+
+
+Kage
+
+
+Kaizei Human
+Humano de Kaizei
+
+Kamelot Castle is a GUILD DUNGEON which refreshes WEEKLY.
+
+
+Kamelot Key
+Llave Kamelot
+
+Kamelot Raid
+
+
+Kamelot Season is open!
+
+
+Kanabo
+Kanabo
+
+Katazuli breaking proccess will cause the breaker some harm.
+
+
+Katze
+
+
+Keep breaking
+
+
+Keep exploring the Study Room and certify it is safe first.
+
+
+Keep exploring the Study Room and certify it is safe first. Also, make sure to learn what this was used for.
+
+
+Keep following the path. Take this and... good luck.
+
+
+Keep in mind that %s are weak, baby Yetis, so kill them as well!
+
+
+Keep in mind the more power you have, the less control you'll have as well. Until you get a %s to track progress, use %s to check your control. Less control may result in failure to summon!
+
+
+Keep in mind this is a PvP area - So try to avoid being butchered, because revival spells are disabled here! Hahaha!
+
+
+Keep in mind, the more levels and intelligence you have, more likely the Mana Stone will grant you more Magic Power. But that means nothing.
+
+
+Keep in mind, we at the Academy do not have a Mana Stone.
+
+
+Keep moving boy.#1
+Sígue moviéndote, chico.#1
+
+Keep moving girl.#0
+Sigue moviéndote, chica.#0
+
+Keep the Grimorie with you. It's a rare book which holds data from all others. The book shall guide your advances!
+
+
+Keep your voice down and just listen.
+
+
+Keep your voice down! And yes. Can you confirm @@ was the cause?
+
+
+Kenton
+
+
+Kevin
+
+
+Khafar
+
+
+Khaki Dye
+Tinte de color caqui
+
+Kid Bola
+Flotador de niño
+
+Kill %s!
+
+
+Kill 'em all!
+
+
+Kill 'em!
+
+
+Kill 2 @@. This will prove your worth. They are northwest of the island.
+
+
+Kill at least a hundred of Pinkies here, and then we can talk.
+
+
+Kill the @@ at the storehouse.
+
+
+Killed in action!
+
+
+King Arthur
+
+
+King Arthur the Corrupted
+
+
+King Arthur the Micksha
+
+
+King Gelid
+
+
+King Gelid Frozenheart
+
+
+King Gelid Frozenheart II rules over all elves and dwarves who live here peacefully, and he also presides the city council.
+
+
+King Gelid Frozenheart II will have you.
+
+
+King Of Trials
+
+
+King of all heroes,
+
+
+Kitana
+Katana
+
+Knife
+Cuchillo
+
+Knight Card
+
+
+Knight Card S
+
+
+Knight Card X
+
+
+Knit Hat
+Gorro de lana
+
+Knock on the door?
+
+
+Knockback Immunity
+
+
+Knowing that would make you a descendant of them. But eh, that's asking too much. You had amnesia, right? That was on the letter.
+
+
+Knowing when to warp is the secret to success!
+
+
+Knowledge is power... And now you have both. Use them wisely.
+
+
+Knox The Traveler
+
+
+Kolchak and dangerDuck are working to finish Duck Dungeon. Contact them for updates...
+
+
+Kreist
+
+
+Kreist, Taskmaster
+
+
+Kristian
+
+
+Kullervo
+
+
+Kunai
+
+
+LEAVE NOW... BEFORE IT BECOMES TOO LATE....
+
+
+LEGACY Broadsword
+
+
+LEGACY Miere Cleaver
+
+
+LET'S DANCE!
+
+
+LOFBot
+
+
+LOWER!
+
+
+Lachesis Brew
+Infusión de lachesis
+
+Land Of Fire
+
+
+Land Of Fire - @@ GP
+
+
+Land Of Fire Office
+
+
+Land Of Fire Townhall
+
+
+Land Of Fire Village
+
+
+Land Of Fire Village (@@m)
+
+
+Land Of Fire is a place so warm... Although this workshop is a better place to break time and space during Christmas.
+
+
+Laranja
+
+
+Last IP: @@
+
+
+Last Seen: @@
+
+
+Last Stand Card
+
+
+Last Standing Man
+
+
+Last map: @@
+
+
+Last time they told me he collected more than that...
+
+
+Later
+
+
+Later.
+
+
+Latif
+
+
+Laura
+
+
+Lava Mana Pearl
+Perla de maná de lava
+
+Lava Skull Slime
+
+
+Lava Slime
+
+
+Lava Slime Mother
+
+
+Lavern
+
+
+Lawn Cable
+
+
+Lawn Cable Card
+
+
+Lawncandy
+Dulce de lawn
+
+Layman
+
+
+Lazurite Cristal
+
+
+Lazurite Heart
+Corazón de lazurita
+
+Lazurite Robe
+
+
+Lazurite Shard
+Fragmento de lazurita
+
+Lead Ingot
+Lingote de plomo
+
+Lead Ore
+Mineral de plomo
+
+Lead Ore -> Tin Ore
+
+
+Leader Wand
+
+
+Leaderboard is refresh daily at 1 AM!
+
+
+Leaderboard is refresh daily at 11:59 and 23:59!
+
+
+Learn Alchemy Recipes
+
+
+Learn crafting for @@ GP
+
+
+Learn individual guild skills
+
+
+Learn milking a Mouboo. And if you harm them, I'll cast a lightning bolt at you!
+
+
+Learn what?
+
+
+Learned a new recipe!
+
+
+Learning from seeing (aka. AFK-ing) skill LEVEL UP!!
+
+
+Leather
+
+
+Leather Ball
+Bola de cuero
+
+Leather Boots
+Botas de cuero
+
+Leather Gloves
+Guantes de cuero
+
+Leather Patch
+Parche de cuero
+
+Leather Quiver
+Carcaj de cuero
+
+Leather Shield
+Escudo de Cuero
+
+Leather Shirt
+Camisa de cuero
+
+Leather Suitcase
+Maleta de cuero
+
+Leather Trousers
+Pantalones de cuero
+
+Leave
+
+
+Leave blank to abort.
+
+
+Leave it
+
+
+Leave it alone!
+
+
+Leave it alone.
+
+
+Leave it alone?
+
+
+Leave me alone! Stop annoying me!
+
+
+Leave me alone.
+
+
+Leave sir Benjamin in charge for a few more years, and nothing will be left of these towns. I hope this council perishes in a fire!
+
+
+Leave the Mouboo alone
+
+
+Leave the poor thing in peace.
+
+
+Leave the ship? The town have no death penalty and is under a global event.
+
+
+Leave this place now, defiler...
+
+
+Leave.
+
+
+Led by the Lightbringer
+
+
+Left Crafty Wing
+Ala hábil izquierda
+
+Left Eye Patch
+Parche de ojo izquierdo
+
+Left-overs will be deleted shortly after.
+
+
+LeftDoorCheck
+LeftDoorCheck
+
+Legacy
+
+
+Legendary my ass! What a rip-off!
+
+
+Lemme just fetch a small something for you....
+
+
+Lemme see... Sagratha is often regarded as a kind and rather powerful elf lady mage... who hate people.
+
+
+Lenita
+
+
+Leona
+
+
+Leprechaun Hat
+Sombrero de duende
+
+Less maggots means a more reliable food supply. This kind of maggot will be a little more difficult to defeat, which is an excellent way to test your prowess in battle.
+
+
+Less rattos means more food. So, this time the monsters will be a little stronger.
+
+
+Let Cynric open your storage. You might also want to open your inventory.
+
+
+Let me analyze that.
+
+
+Let me check into it...
+Déjame revisarlo...
+
+Let me inspect it...
+
+
+Let me introduce myself, I am Nard, captain of this ship.
+Permíteme presentarme. Soy Nard, capitán de este barco.
+
+Let me just have a quick look at you. Hm... I will need @@ GP to reset your stats.
+
+
+Let me see your bow.
+
+
+Let me see... The more Wings and Teethes I collect, the more my research shall advance.
+
+
+Let me see.....
+
+
+Let me show you...
+
+
+Let's jump straight to action, shall we? I'll build a mighty @@ to fight you!
+
+
+Let's learn new recipes! Do you wanna?
+
+
+Let's play!
+
+
+Let's pretend I believe you.
+
+
+Let's say I believe you. Who stole you? Benjamin?
+
+
+Let's see how I can activate it...
+
+
+Let's see if you can pick a reward!
+
+
+Let's see... @@ of your status points have just been reset!
+Veamos... ¡@@ de sus puntos de estado acaban de ser reiniciados!
+
+Let's start with something simple, yeye.
+
+
+Lethal alcohol overdrinking
+
+
+Lethal damage over time, no regen.
+
+
+Lethal overdrinking:
+
+
+Lets play!
+
+
+Lettuce Leaf
+Hoja de Lechuga
+
+Level %d (%s GP)
+
+
+Level %d (%s HP) (Found by %s)
+
+
+Level Boss
+
+
+Level reset from %d to %d
+
+
+Level set from %d to %d
+
+
+Liana
+
+
+Liana, like other NPCs, provide a repeatable quest. Once you finish it, you will be able to do it again, after waiting for a few hours.
+
+
+Liar. Where are the goods? Are you trying to cheat me?!
+
+
+Liar. You can't fool me. That's the price. Get that or get out!
+
+
+Licensing was one of the worst hassle we had, but just today, all mobs may drop Ancient Blueprints. Enjoy!
+
+
+Lieutenant Armor
+Armadura de teniente
+
+Lieutenant Copper Armor
+armadura de teniente cobre
+
+Lieutenant Dausen
+
+
+Lieutenant Jacob
+
+
+Lieutenant Joshua
+
+
+Lieutenant Paul
+
+
+Life isn't worth the living.
+
+
+Lifestone
+piedra de la vida
+
+Lifestone Pendant
+Collar de piedra de vida
+
+Lifestones have the potential to heal the user, and thus are used for potions.
+
+
+Light Green Diamond
+Diamante verde claro
+
+Light Platemail
+Malla de placas ligera
+
+Light Ring
+Anillo de luz
+
+Lightbringer
+
+
+Lightbringer#NLib
+
+
+Lightning Bolt
+
+
+Lightsaber
+Sable de luz
+
+Like Discord integration and sensitive options.
+
+
+Like, I know you are female.#0
+
+
+Like, I know you are male.#1
+
+
+Likewise, it could only do effect if it antagonize or affront the target.
+
+
+Lilanna
+
+
+Lilanna Card
+
+
+Lilica#easter
+
+
+Lilit
+
+
+Lilit (@@m)
+
+
+Lilit - @@ GP (not exchangeable)
+
+
+Lilit Warp Crystal
+Cristal de warp a Lilit
+
+Lilit is the fairy kingdom, governed by Lilit the Fairy.
+
+
+Lilly
+
+
+Lime Dye
+Tinte de lima
+
+Linarian Soul
+
+
+Line @@ has been removed.
+La línea @@ se ha eliminado.
+
+Linking requested.
+
+
+Linking the following Discord account:
+
+
+List & Claim rewards
+
+
+List of Unlocked Pets and Food
+
+
+List of known alchemy recipes:
+
+
+List of known cooking recipes:
+
+
+List of known crafting recipes:
+
+
+Listen to her story again.
+
+
+Listen to me! Whoever wants to follow foolish @@ on their suicide quest, stay here for 15 seconds!
+
+
+Listen, I was trying to get the Yeti King to help me to fight the Monster King. If you want to go there and do it, be my guest; Maybe they'll even help you with whatever your problem is.
+
+
+Listen, I'll use a trick which I learned in, uh, a past life of mine, so if you die, reality resets your being.
+
+
+Listen, as you're new here, I'll give you my %s. I won't give it again, understood? This is my personal gratitude. Come again!
+
+
+Listen, it was not only me who had issues with this... Masked Man. Auldsbel also had a similar issues.
+
+
+Listen, kid, one does not simply ignore Elli! She is too scary to be ignored!
+
+
+Listen, she decided to live away from civilization. She choose the forest as her home and the animals as her family.
+
+
+Listen, this is not a disease. No remedy can cure you, and it cannot be inflicted by consumables.
+
+
+Listen. North of here, is the ruins of an old village. Said village is cursed, and nobody here wants to go there.
+
+
+Lit the torch?
+
+
+Little Blub
+Blub Pequeño
+
+Little Red Slime
+
+
+Little Yellow Slime
+
+
+Lives undercover in human society. Luck led them to surviving this far.
+
+
+Living Potato
+
+
+Lizards are the main monster found, and they steal gold from innocent bypassers.
+
+
+Lloyd
+
+
+LoF Coin
+
+
+LoF Warp Crystal
+Warp a LOF
+
+Loading warp, be at this spot in 15 seconds.
+
+
+Locamit
+
+
+Location Registered. You are now capable to use this warp gate.
+
+
+Location: %s
+
+
+Location: All bifs in the world.
+
+
+Location: Candor B1F
+
+
+Location: Christmas Workshop, Romantic Field, south of Nivalis.
+
+
+Location: Daily Login.
+
+
+Location: Enchanted Forest, access by Soul Menhir.
+
+
+Location: Fishing spots in the water.
+
+
+Location: Forsaken Inn, South Woodlands
+
+
+Location: Kamelot Castle, west of Hurnscald.
+
+
+Location: N/A
+
+
+Location: North Woodlands, south of Nivalis.
+
+
+Location: Not applicable
+
+
+Location: The Mana Plane, Dream Tower
+
+
+Location: The Mana Plane, Porthos
+
+
+Location: The Mana Plane, Showdown Chamber
+
+
+Location: Treasure Chests, hidden inside dungeons.
+
+
+Location: Tulimshar Sewers / Hurnscald Town Hall
+
+
+Location: Valentine Island, access by Soul Menhir.
+
+
+Location: Worker's Cave, access by Soul Menhir.
+
+
+Lock Picks
+Ganzúas
+
+Lockpicks
+
+
+Lockpicks are the basic tools for thiefs. Talk to a vault in order to attempt lockpicking.
+
+
+Lof Squirrel
+
+
+Log Head
+
+
+LogHead
+
+
+Login Bonus
+
+
+Long Sword
+Espada larga
+
+Long Text Wall Density:
+
+
+Look at that pathetic scene, he just put his chair over the desk... Chef Gado won't like it.
+
+
+Look at this, %s really brought me %d %s.
+
+
+Look closer.
+
+
+Look the height of this bridge! Worse, the water around here is pretty shallow.
+
+
+Look what we have here, it is a boy!#1
+
+
+Look what we have here, it is a girl!#0
+
+
+Look, I really hate pious...all of them.
+
+
+Looks like I already gave you the Maritime Almanac Scroll. You need to go see George again. I am unable to get another copy for you.
+
+
+Looks like you are a bit short on supplies. Come back when you have everything I need.
+
+
+Loot 10, Luck +2, Luck Dance
+
+
+Loot 3, ASPD +5%
+
+
+Loot 3, Agi +5
+
+
+Loot 3, Agi +5, Agility Dance, Passive MP Regen (1)
+
+
+Loot 3, DEF +5
+
+
+Loot 3, Dex +5
+
+
+Loot 3, Evasion +7
+
+
+Loot 3, Int +5, Agi +1
+
+
+Loot 3, Luck +5, Luck Dance, Passive MP Regen (1)
+
+
+Loot 3, Max HP +250
+
+
+Loot 3, Max MP +250
+
+
+Loot 3, STR +4, AGI +1
+
+
+Loot 3, STR +5, Vitality Dance, Passive HP Regen (1)
+
+
+Loot 3, Steal +15%, Passive HP Regen (1)
+
+
+Loot 4, Str +1, Gold Drop (4%)
+
+
+Lora Tay
+
+
+Lost Ocean Croc
+
+
+Lost Piou
+
+
+Lost forever on the Desert Canyon, I guess.
+
+
+Lost without an acorn.
+
+
+Lousy Moccasins
+Lousy Moccasins
+
+Love Letter
+Carta de amor
+
+Love Lollipop
+Paleta de amor
+
+Lovely Fluffy
+
+
+Lower MAXHP, Damage over time
+
+
+Lower city taxes
+
+
+Lowering Taxes
+
+
+Lt. Gerry
+
+
+Lt. Longburn#EP
+
+
+Lt. Randy
+
+
+Lua#003-2
+
+
+Luanna
+
+
+Luca
+
+
+Luck
+Suerte
+
+Luck Fruit
+
+
+Luck Potion
+Poción de suerte
+
+Luck+ Potion
+Poción de suerte +
+
+Luck++ Potion
+Poción de suerte ++
+
+Lucky for you, the Alliance have means to assist you. You'll be a grown up, full fledged adventurer in no time at all, and will be able to visit a friend of mine, who will then send you there.
+
+
+Lucky you, you found me! Do you want to SPIN THE WHEEL and gain GREAT rewards?
+
+
+Lucky! You got the coin back!
+
+
+Luffyx
+
+
+Luffyx Summer Shorts
+Pantalones cortos de verano de Luffyx
+
+Lune
+
+
+Luvia
+
+
+Luvia is too dangerous to be left alone.
+
+
+Luxury furniture
+
+
+Lynn The Traveler
+
+
+MAX HP
+
+
+MDEF +10
+
+
+MEEEEEERLIN!!! SMASH THEM!!
+
+
+MONSTER KING
+
+
+MONSTER KING, APPEAR TO ME!
+
+
+MOTD
+MOTD
+
+MOTD Config
+Configuración de MOTD
+
+MP +200
+
+
+MSP for Area Provoke was refunded.
+
+
+MSP for Last Man Standing was refunded.
+
+
+MSP for Lightning Strike was refunded.
+
+
+MSP for Wind Walker was refunded.
+
+
+Ma... Magical Re... Re-ref... Reflection.
+
+
+Machinery#MKHB
+
+
+Mage Card
+
+
+Mage Card S
+
+
+Mage Card X
+
+
+Mage equipment also raises MP recovery. So yes, a mage can use a sword and heavy armor, but...
+
+
+Magenta
+
+
+Magenta Spark
+
+
+Mages should use equipment designed for them. Those may be lacking on defense, but will raise MP and Magic Attack.
+
+
+Maggot
+
+
+Maggot Coccon
+
+
+Maggot Slime
+Slime de gusano
+
+Magic Academy Tutorial
+
+
+Magic Apple
+Manzana mágica
+
+Magic Arpan
+Magic Arpan
+
+Magic Arpan#sailors
+Magic Arpan#sailors
+
+Magic Barrier
+
+
+Magic Barrier is active. You must give a whole circle on the desert to break it.
+
+
+Magic Barrier#0051
+
+
+Magic Barrier#0060
+
+
+Magic Barrier#0063
+
+
+Magic Barrier#0064
+
+
+Magic Barrier#0066
+
+
+Magic Barrier#0067C
+
+
+Magic Barrier#0067E
+
+
+Magic Barrier#0067W
+
+
+Magic Barrier#Bug63
+
+
+Magic Barrier#Pi
+
+
+Magic Bif
+
+
+Magic Council
+
+
+Magic Council? What's that?
+
+
+Magic Goblin
+
+
+Magic Maggot
+
+
+Magic Olympics
+
+
+Magic Olympics Top 1 Prize
+
+
+Magic Power is granted to you, but you die from it.
+
+
+Magic Ratto
+
+
+Magic Raw Power Challenge
+
+
+Magic Scrolls
+
+
+Magic Skill Points can be obtained in three ways: By touching a Mana Stone, by signing up in a Special Class (if you have enough magic power) and by having high amounts of Job Level.
+
+
+Magic Status
+
+
+Magic Strike
+
+
+Magic Top Hat
+Sombrero de copa mágico
+
+Magic is dead. Well, not yet, we still have some mana stones left - but only the strongest ones are allowed to use them and acquire magic.
+
+
+Magic is necessary for warriors and archers to learn skills. Skills can be learned in Tulimshar.
+
+
+Magic is sacred. With transmutation, you can create convenience items, specially reagents for other magic skills.
+
+
+Magic skills allows for a more advanced gameplay, but they are meant for level 30 onward.
+
+
+Magic, Warriors and Archers
+
+
+Magic.
+
+
+Magical MVP Card
+
+
+Magical Weapon Recipes
+
+
+Magically Sealed Gate
+
+
+Magick Real
+
+
+Magnus Healing
+
+
+Mahad
+
+
+Mahoud
+
+
+Mahoud Basement
+
+
+Mahul
+
+
+Main server is: %s
+
+
+Make it brighter
+
+
+Make me an Iron Powder.
+
+
+Make sure to put on a bait after you click, though!
+
+
+Male
+Varón
+
+Malign Chest
+
+
+Malindou
+
+
+Malivox
+
+
+Mana Being#001-1
+
+
+Mana Bomb
+
+
+Mana Bug
+
+
+Mana Chest
+
+
+Mana Experience Challenge
+
+
+Mana Ghost
+
+
+Mana Gloves
+Guantes de maná
+
+Mana Magic is less reliable and have an experience system. It's the most common for summoning and transmutation.
+
+
+Mana Magic works similar to regular magic: You can find it on your skill window, and can drag it to your shortcut list.
+
+
+Mana Piou
+
+
+Mana Piou Feathers
+Plumas de Mana Piou
+
+Mana Plane - Dream Tower, %dº floor %s
+
+
+Mana Plane - Dream Tower, %dº floor. Time limit: 60 minutes or death.
+
+
+Mana Saulc
+
+
+Mana Stone
+
+
+Mana Stone#01863
+
+
+Mana Stone#Tulim
+
+
+Mana Tree
+
+
+Mana Wisdom
+
+
+Mana is something which existed since the being, but nobody knows much about.
+
+
+ManaMarket
+
+
+Manage Beds
+
+
+Manage Chairs
+
+
+Manage Decoration
+
+
+Manage Furniture
+
+
+Manage Luxury furniture
+
+
+Manage Paintings
+
+
+Manage Town
+
+
+Manage Utilities
+
+
+Managed to get any nice drops? It requires more luck than skill. Here is your reward.
+
+
+Managment Menu
+
+
+Manana
+Mañana
+
+Manana Tree
+Ãrbol del Mañana
+
+Manapop
+Paleta de mana
+
+Manapple
+Manzana de mana
+
+Mandragora
+
+
+Manually trigger the current broadcast
+Desatar manualmente la transmisión actual
+
+Many citzens are still cowering in fear. Paths are closed, economy is a disaster, things are not as they should be.
+
+
+Many sacrifices were done, but it was lost.
+
+
+Many stories are told about this city sewers.
+
+
+Many thanks for all the help!
+
+
+Many thanks for killing it. Maybe more humans come here now, and play with me.
+
+
+Many thanks for your help! Here, take this. I'm sure it can be very useful later. It always is.
+
+
+Many thanks!
+
+
+Many thanks! %%s
+
+
+Many thanks! At least he'll know he haven't impressed me yet!
+
+
+Many thanks! Come back later to bring me extra @@!
+
+
+Many thanks! Come back soon.
+
+
+Many thanks! I'll arrange the table.
+
+
+Many thanks! I'll be sooooo fashionable now!
+
+
+Many thanks! If I let my wose side blossom, I'm sure she'll look at me!
+
+
+Many thanks, and once again, your help has been invaluable.
+
+
+Many thanks, the Doctor always know what's best for you.
+
+
+Many thanks, your help has been invaluable. We're now capable to travel at ease.#0
+
+
+Many thanks, your help has been invaluable. We're now capable to travel at ease.#1
+
+
+Many thanks, your help has been invaluable. You now have an extra point, use it wisely.
+
+
+Many thanks. I couldn't live without it. Please come back later.
+
+
+Many thanks. You have my eternal gratitute. Here is 1000 GP for your troubles.
+
+
+Many thanks. You have my eternal gratitute. Here is 2000 GP for your troubles.
+
+
+Many, many thanks!
+
+
+Many, many thanks! I'm sure the children will love it!
+
+
+Many, many thanks! Thus far, you delivered me @@ gift boxes!
+
+
+Map cleared!
+
+
+Marikel
+
+
+Marius The Bard
+
+
+Market Guard#EP
+
+
+Market Place
+
+
+Marley : I shall stop you!
+
+
+Marley : You... thief... *grumble*
+
+
+Marley is furious that someone stole her treasure... You wouldn't happen to know anything about this, would you...?
+
+
+Marriage failed.
+El matrimonio falló.
+
+Marriage unlocks %s powers. The ring is sold in Tulimshar.
+
+
+Married with @@
+
+
+Marsh Pirate
+
+
+Mashmallow
+
+
+Masked Assassin
+
+
+Mass Provoke replaced with Area Provoke.
+
+
+Master
+
+
+Master Bola
+Flotador maestro
+
+Master Dungeon (BOSS)
+
+
+Master Exchanger#0
+
+
+Matk +25
+
+
+Mauve Dye
+Tinte malva
+
+Mauve Herb
+Hierba de mauve
+
+Mauve Plant
+
+
+Max Weight +1kg
+
+
+Maxime
+
+
+Maximize Damage
+
+
+Maximum Profit: @@ GP
+
+
+May their journey be successful, may their objectives be attained, may the Mana rest in peace.
+
+
+May their memory be remembered, but may their struggle be forgotten, their bodies never profaned, and in the æthyr, may they find eternal rest and comfort for their souls.
+
+
+Maya
+
+
+Maybe I can help to ease your pain?
+
+
+Maybe I could give you more beer?
+
+
+Maybe I should also give you a lesson in how to count? You don't have enough.
+
+
+Maybe I'm using a too low quality bait, I can't fish %s.
+
+
+Maybe a %s?
+
+
+Maybe another time.
+
+
+Maybe he was confused, not sure. He talked very strangely.
+
+
+Maybe if someone helped me to get rid of the maggots on my crops, I would be able to sell them to everyone again...
+
+
+Maybe if you go back the way you're coming, you find him...
+
+
+Maybe if... No... Hmm... I better try this the next time I'm at my laboratory...
+
+
+Maybe it is not hungry, after all.
+
+
+Maybe later.
+
+
+Maybe next time, then.
+
+
+Maybe on spring Blossom will look at me... For now, my wose part is withering.
+
+
+Maybe one of the slimes dropped it.
+
+
+Maybe some other time.
+
+
+Maybe someone in Hurnscald can help me.
+
+
+Maybe the Hurnscald alchemist, Wyara, could explain why.
+
+
+Maybe the teddy is hungry? What could we offer to it?
+
+
+Maybe there are things in Candor which still require your attention? I might have overheard some of them.
+
+
+Maybe there is a key somewhere near. I should keep looking.
+
+
+Maybe there's a locked door somewhere, and this key will fit?
+
+
+Maybe they're in the library, but it is too dangerous there right now...
+
+
+Maybe we can give her something, to cheer her up?
+
+
+Maybe we could give her a %s instead.
+
+
+Maybe you can help our city. I see you are a Monster Hunting Quest Participant, right?
+
+
+Maybe you could bring me 10 sticky @@?
+
+
+Maybe you could bring me 5 @@? I will reward you for your effort.
+
+
+Maybe you could bring me 5 delicious @@? They have a great effect in quenching thirst and recovering vigour.
+
+
+Maybe you could convince him. There's a summoning circle on Tulimshar Sewers.
+
+
+Maybe you could do me a favour, though?
+
+
+Maybe you could now help my friend Oscar. His farm is west of here.
+
+
+Maybe you did it, after all!
+
+
+Maybe you do, your jerk! Stop drinking! Lua told me that you could help me! DO YOUR JOB!!
+
+
+Maybe you should go to the depleted mines in the small cave inside the town. Who knows what you may find inside.
+
+
+Maybe you should talk to your chief about that?
+
+
+Maybe you're interested in the Special Class again? An extra magic skill point for a lot of items, what do ya say?
+
+
+Maybe you're interested in the Special Class again? An extra magic skill point, but this time in a dangerous journey, what do ya say?
+
+
+Maybe, but... I don't know my parents.
+
+
+Maybe, if you had some sort of ancient artifact and touched the sign, it would allow you to see through the cloaking? Or if you were powerful enough. As if I would know!
+
+
+Maybe.
+
+
+Maybe. Come back later.
+
+
+Maze Race Challenge
+
+
+Meager < Weak < Standard < Intimidating = Daunting
+
+
+Meager.
+
+
+Meaning that once you equip a bow, you likely won't be able to dodge attacks.
+
+
+Meaning you must warp shortly before the Great Fire, defeat her, and be back before the Great Fire happen.
+
+
+Meanwhile, at 00h, 06h, 12h, 15h, 18h and 21h UTC,
+
+
+Meanwhile, the sages of destiny will prepare a way to kick them back to wherever they belong!
+
+
+Mechanically based technology (eg. the Gates or Time Flasks) will never suffer damage from operation but are more costly.
+
+
+Mede
+
+
+Medium Arrow Sack
+
+
+Medium Bullet Sack
+
+
+Medium Elenium Bif
+
+
+Meh, telling him it was a lie is not going to help.
+
+
+Meh, the Blue Sage is truly wasteful. We use %s even for the simplest things such as keeping the house warm.
+
+
+Melina
+
+
+Melt something else?
+
+
+Melune
+
+
+Memorize the sequence!
+
+
+Memory slowly returns to you as you start growing aware of your surroundings. That's right, you are on a ship.
+
+
+Meow.
+
+
+Mercenary Boxset A
+
+
+Mercenary Boxset AA
+
+
+Mercenary Boxset B
+
+
+Mercenary Boxset BB
+
+
+Mercenary Boxset C
+
+
+Mercenary Boxset CC
+
+
+Mercenary Boxset D
+
+
+Mercenary Boxset DD
+
+
+Mercenary Boxset E
+
+
+Mercenary Boxset EE
+
+
+Mercenary Quests completed: %s
+
+
+Mercenary Trainer
+
+
+Merchant
+Mercader
+
+Merchant Police
+
+
+Merchants like to buy body parts of killed monsters and animals because they can make items and equipment.
+
+
+Mercy has been granted.
+Mercy se ha asumida.
+
+Meriel
+
+
+Merlin was a accomplished carpenter and wanted to make a new
+
+
+Merry Christmas!
+
+
+Merry Christmas, adventurer.
+
+
+Merry Christmas, and a happy new year! \\o/
+
+
+Merry Christmas, arr yarr!!
+
+
+Message:
+Mensaje:
+
+Meteor Shower
+
+
+Meteor Strike
+
+
+Mh, I can't really tell since I usually work in the library while he works at the workshop. Maybe you should ask around among the people who work there.
+
+
+Mh, I don't know him closely.
+
+
+Mh, let me see. We already have a copy of this page, but it's helpful nevertheless. Thank you.
+
+
+Mh, let me think. There were quite a few visitors with different concerns, but that's usual at this time of the year.
+
+
+Mh, yes. I remember him. He was very interested in the library and the research we do here. He had an unusual behaviour and appearance. But, well, that isn't a reason to refuse someone, right?
+
+
+Mh. I wonder how I'm expected to perform my task with this meager equipment. The new books will look pathetic.
+
+
+Mh... yes. It makes sense. Listen. This is a secret, but it might have been.... @@.
+
+
+Mhm, this looks healthy.
+
+
+Mhm, you're still weak, I would prefer you to be level %d+ before doing this, but... Whatever, you might even survive.
+
+
+Mhm? I believe it was rebuilt, and the High Alliance took it over from the mage association for not paying taxes.
+
+
+Michel
+
+
+Michel Soul
+alma de michel
+
+Midway is also a solid range, but for summons, nearby works best. Casing doesn't matters, nor does punctuation.
+
+
+Miere Cleaver
+Cuchilla Miere
+
+Miere Cleaver!
+
+
+Miler
+
+
+Milestone levelup: A reward can now be claimed in Tulimshar.
+
+
+Milestone reached: %s kills
+
+
+Milk
+
+
+Milly
+
+
+Milocat
+
+
+Miltaco
+
+
+Min. Position:
+
+
+Min. Score:
+
+
+Mine exit is top left!
+
+
+Miner
+
+
+Miner Gloves
+Guantes de minero
+
+Miner Hat
+Sombrero de minero
+
+Miner Knife
+Cuchillo minero
+
+Miner Tank Top
+Camiseta sin mangas de minero
+
+Mineral Bif
+
+
+Miners Union Research Request!
+
+
+Mini Skirt
+Minifalda
+
+Minimum advised level 72 to do this quest.
+
+
+Minimum range: %d
+
+
+Mining opearations advance steadly day by day with your help, thanks! Maybe one day, we find a Mana Stone here!
+
+
+Minor healing to your wounds.
+
+
+Minor healing to yourself or to allies.
+
+
+Mint Dye
+Tinte de menta
+
+Mirio
+
+
+Mirjami
+
+
+Miro
+
+
+Mirror Island %d
+
+
+Mirror Island 1
+
+
+Mirror Lake
+Reflejo del lago
+
+Mirror Lake : Created temporary character; It'll be reset on logout.
+
+
+Mirror Lake : Obtain help with %s.
+
+
+Mirror Lake Armor
+
+
+Miscellaneous Recipes
+
+
+Miscellaneous Status
+
+
+Mission accomplished. Well played!
+
+
+Mission: Kill all rogue Yetis on the Throne Room. You won't be able to leave until all of them are dead.
+
+
+Mister Prickel
+
+
+Mmm, it's been so long since I have had herbal tea. You have my gratitude.
+
+
+Mobiliary Credits is a special currency which can only be used on real estate.
+
+
+Mobpt: @@
+
+
+Mobs remaining: @@
+
+
+Mode?
+
+
+Modify another line
+Modificar otra línea
+
+Modify monster level!
+
+
+Modify this line
+Modificar esta línea
+
+Modify, move, or remove a line
+Modificar, mover, o eliminar una línea
+
+Moggun
+
+
+Moggun Egg
+Huevo de Moggun
+
+Money in your storage is totally safe. Banking itself is totally safe.
+
+
+Money transference by mail is, however, free.
+
+
+Money withdrawn!
+
+
+Money: @@ GP
+
+
+Monk Pendant
+Colgante de monje
+
+Monocle
+Monóculo
+
+Monster
+
+
+Monster AGI, Default %d, use 0 to cancel
+
+
+Monster ATK (varies 10%%), Default %d, use 0 to cancel
+
+
+Monster ATK RANGE, Default %d, use 0 to cancel
+
+
+Monster Admiral
+
+
+Monster Captain
+
+
+Monster Colonel
+
+
+Monster DEF, Default %d, use 0 to cancel
+
+
+Monster DEX, Default %d, use 0 to cancel
+
+
+Monster Density and Boss HP?
+
+
+Monster General
+
+
+Monster HP, Default %d, use 0 to cancel
+
+
+Monster Hunter
+
+
+Monster Hunters receive small bounties on a special currency, of Monster Points, for each monster they kill. The amount gained is based on the monster level.
+
+
+Monster ID, 0 to cancel
+
+
+Monster Information!
+
+
+Monster King
+
+
+Monster King Basement
+
+
+Monster King Mode
+
+
+Monster Lieutenant
+
+
+Monster Major
+
+
+Monster NAME, Default %s, empty to cancel
+
+
+Monster Points
+
+
+Monster Points (Mobpt): @@ | Gold: @@
+
+
+Monster Points: %s
+
+
+Monster SPEED, Player speed is 150, minimum is 100!
+
+
+Monster Sergeant
+
+
+Monster Soldier
+
+
+Monsters Killed in PvE: %s
+
+
+Monsters are everywhere. They're a plague we're trying to get rid of.
+
+
+Monsters do not aim small towns like Candor. This city also comes with the plus that I know where everything's at.
+
+
+Monsters killed: %s
+
+
+Monsters left: @@
+
+
+Monsters remaining: %s
+
+
+Monsters will spawn in the south fountain continuously.
+
+
+Monsters, however, keep coming from the Impregnable Fortress. They always come on %s, although we have no idea why.
+
+
+Monsters.
+
+
+Moo!
+¡Moo!
+
+Moonshroom
+
+
+Moonshroom Hat
+Sombrero de hongo lunar
+
+Moonshroom Robe
+
+
+Moooo!
+¡Moooo!
+
+Moooooo!
+¡Moooooo!
+
+Moooooooooooo!
+¡Moooooooooooo!
+
+Mooubootaur Mode
+
+
+More Magic Power is granted to you, but you die from it.
+
+
+Morgan
+
+
+Mortal! I am @@! I have broken through the barriers of space and time!
+
+
+Moss
+Musgo
+
+Most Orcs become nomads and Raijins moved to Hurnscald, but they say Thermin might have been rebuilt somewhere else.
+
+
+Most common and widely popular in the fish realm are @@ and pieces of @@.
+
+
+Most do. I'm not sure if all that hatred is justified, but who cares. She is dead, even if her ghost is back.
+
+
+Most of it should be pretty intuitive, but be sure to press @@ on the bottom-left of inventory screen.
+
+
+Most of our professors moved on to the Academy Island, and are with Tulimshar's and Frostia's professors working right now. But...
+
+
+Most of their skills are stat-independent, but not all of them.
+
+
+Most of these people will not think twice before giving a nice reward to anyone who helps them.
+
+
+Most thieves left, but that's not a problem, I created an army out of Homunculus. I already have 500 bandits. I will create more later, to get Mana Stones.
+
+
+Moubi
+
+
+Moubi Hat
+Sombrero Moubi
+
+Mouboo
+
+
+Mouboo Figurine
+Figurilla de Mouboo
+
+Mouboo Hat
+Sombrero de mouboo
+
+Mouboo Pendant
+
+
+Mouboo Slime
+
+
+Mouboo Steak
+Filete Mouboo
+
+Mouboo#0142injuried
+
+
+Mouboos are cute
+
+
+Mouboos, come to my aid and protect me!
+
+
+Moubootaur (Sealed)
+
+
+Moubootaur Legends Anniversary
+
+
+Moubootaur Legends Server
+
+
+Moubootaur Legends just got older! %%N
+
+
+Moubootaur Legends presents...
+
+
+Moubootaur Maze
+
+
+Moubootaur, please spare me...
+
+
+Mount your party and find the Yeti King!
+
+
+Mountain Snake
+
+
+Mountain Snake Egg -> Snake Egg
+
+
+Mountain Snake Skin
+Piel de serpiente de montaña
+
+Mountain Snake Skin -> Snake Skin
+
+
+Mountain Snake Tongue
+Lengua de serpiente de montaña
+
+Mountain Snake Tongue -> Snake Tongue
+
+
+Mounts
+
+
+Moutain Snake
+
+
+Moutain Snake Egg
+
+
+Move Speed Potion
+
+
+Move this line down
+Mover esta linea abajo
+
+Move this line up
+Mover esta línea arriba
+
+Movement Speed Potion
+
+
+Moving while AFK is botting! I'll send you to a %s if you move while AFK! ##BYOU HAVE BEEN WARNED!##b
+
+
+Mr Saves
+
+
+Msawis Card
+
+
+Muahahaha, I'll be SO strong thanks to you! Here, I don't need these weak recipes anymore. You can have them!
+
+
+Muahahaha, I'll be SO strong thanks to you! Here, these recipes should be useful for ya. You can have them!
+
+
+Much better, right?!
+
+
+Multiple players may conduct Katazuli at once. If you move or stand, the spell may be aborted.
+
+
+Murder her too!#0
+
+
+Murder him too!#1
+
+
+Murderer Crown
+Corona de asesino
+
+Murderer Scorpion
+
+
+Mush Hat
+Sombrero Mush
+
+Mushroom Spores
+Esporas de hongo
+
+Mustache
+Mostacho
+
+My answer is still a no, and it won't change. Don't test my patience any further.
+
+
+My breath smells bad.
+Mi aliento huele mal
+
+My captain wanted me to give this to you as a special reward for your efforts.
+
+
+My chestplate, @@
+
+
+My children and grandchildren have all moved to the Land of Fire, so the amount of leatherwork I can offer you is limited.
+
+
+My crops! Hurry up, and talk to Eomie!!
+
+
+My daughter! My precious Cindy, why it had to be you?!
+
+
+My equipment is good, let me through!
+
+
+My family died when I was just a little girl... I have been trying to survive...
+
+
+My father probably knew... Well, you better ask Blue Sage then.
+
+
+My father runs a dye business, I'm in charge of selling %s around the world.
+
+
+My figurine is so nice!
+
+
+My formula is not a drug, nor magic. It is an ancient technology of our people!
+
+
+My friend George is much older than I am, go see him and if he trusts you, so will I.
+
+
+My grandmother gave me a recipe of the @@, it can cure anything but death.
+
+
+My greatest realization thus far, besides some time rewinding clocks, is the @@!
+
+
+My helmet, @@
+
+
+My husband and I have moved here under the Alliance orders.
+
+
+My mother told me, do not go work like a guard. You will die from overheating in the sun during the summer time.
+
+
+My name is
+
+
+My name is %s. I am an upstanding citizen of this kingdom. Everyone loves me.
+
+
+My name is @@ and I am the daily task master. Interested in keeping this world free from monsters, or are you here to report back?
+
+
+My name is Amelia, and I am Elora's daughter.
+
+
+My name is Benjamin, and I was in charge of an incursion here to capture Barbara.
+
+
+My name is Juliet, it is me who took care of you after we found you in the sea. I'm glad to see you're okay.
+
+
+My name is Naem and I guard the tunnels in this direction. You shall not pass. Now leave.
+
+
+My name is Nico Goethe, an %s card player.
+
+
+My pleasure.
+
+
+My shaman skills protected us against monsters and thieves!
+
+
+My shield, @@
+
+
+My stats are too good, I won't need it.
+Mis estadísticas son demasiado buenas, no lo necesitaré.
+
+My unit, however, was attacked! %s snuck up on us!
+
+
+My waifu Blossom has me trapped here, and she won't even look at me, because I'm part-Wose!
+
+
+My warp crystal broke!
+
+
+My weapon, @@
+
+
+Mylarin Dust
+Polvo de Mylarin
+
+Mylarin dust?! Where would you get that? That's amazing!
+
+
+Mysterious Bif
+
+
+Mysterious Bottle
+Botella misteriosa
+
+Mysterious Chest#EP1
+
+
+Mysterious Chest#EP2
+
+
+Mysterious Fruit
+
+
+Mysterious Ore
+
+
+Mysterious Powder expires after some time!
+
+
+Mystic Wand
+
+
+NO
+
+
+NO!
+
+
+NOT ENOUGH MONEY
+
+
+NOTE
+
+
+NOTE: Beside wands and staves, %s, %s, and the %s count as magic weapons.
+
+
+NOTE: It is possible to play the game as a crafter/merchant/fisherman, avoiding to kill as much as possible. However, it is not possible to play the game with a total kill count of zero.
+
+
+NOTE: Must have logged in the past 24 hours to be shown.
+
+
+NOTE: No equipment restriction. Less time is better.
+
+
+NOTE: The Energy Ball explodes and Kills. Very. Well. Make them a priority!
+
+
+NOTE: The effective bonus level applied is the average level of enabled options!
+
+
+NOTE: This quest is still a work in progress. "Bugs" will show up on purpose.
+
+
+NOTE: You're tweaking a(n): @@
+
+
+NPC Blinking Eyes
+
+
+NPC Blinking Eyes 2
+
+
+NPC Blinking Eyes 3
+
+
+NPC stylists can cut your hair and give you a new style, which means the hair style you woke up is something that can be changed.
+
+
+NPCs#RES_0096
+
+
+NPCs#RES_0097
+
+
+NPCs#RES_0128
+
+
+NPCs#RES_0177
+
+
+NPCs#RES_0178
+
+
+NPCs#RES_PPL
+
+
+NPCs(Non Playable Characters) or non-playable characters are characters that are always in the game, offering a wide variety of reactions, from a simple friendly conversation to a desperate request for help.
+
+
+NPCs.
+
+
+Naem
+
+
+Naftalin
+
+
+Nah, I am a chicken.
+
+
+Nah, I've got more serious matters to attend to...
+
+
+Nah, not now. Slimes ruin your clothes, after all.
+
+
+Nah, see you later.
+
+
+Nah, sorry, everything is good with me.
+
+
+Nah, thank you.
+
+
+Nah, that's wrong. Come back if you want to try again.
+
+
+Nah.
+
+
+Nahrec
+
+
+Nahrec discretly gives you a recipe.
+
+
+Name is Jhon, and that's not a typo! I am an absolute coffee lover, and I travel to exotic places in search of the perfect brew.
+
+
+Named Items
+
+
+Napalm Beat
+
+
+Nard
+Nard
+
+Nard doesn't like people who gets money without working for it.
+
+
+Nard gives you a map of the city so you don't get lost.
+
+
+Nard is amazed at you.
+
+
+Nard is impressed, you're a hard worker.
+
+
+Nard is truly amazed at you. I am impressed, too.
+
+
+Nard is very impressed, you're really a hard worker. Congrats!
+
+
+Nard likes people who work hard. Work harder!
+
+
+Nard noticed your hard work.
+
+
+Narrator
+Narrador
+
+Naturally, it doesn't have to be a wiki article. But it must be noteworthy to the whole community, and wiki articles are one of the easiest ways for that.
+
+
+Nature Card
+
+
+Nature Card S
+
+
+Nature Card X
+
+
+Nature Fairy
+
+
+Nature Wall
+
+
+Nature Wall Card
+
+
+Nature itself express hate against you!
+
+
+Navy Blue Dye
+Tinte azul marino
+
+Nea
+
+
+Nearly everyone around is a seasoned veteran or was sent here by the Alliance Council to support the war efforts. Including me. So, good luck!
+
+
+Neat, neat! Thanks! Here you go, this amazing bottle! It is life-bond, so having multiple won't reduce the time you need to wait...
+
+
+Necklaces
+
+
+Necromancer Card
+Tarjeta de nigromante
+
+Necromancer Card S
+
+
+Necromancer Card X
+
+
+Need a healing?
+
+
+Needless to say, monsters from Expert Dungeon usually drops more often than the ones from Advanced Dungeon.
+
+
+Neither difficult, neither clear,
+
+
+Neither, sorry
+
+
+Neko
+
+
+Neutral element comes as "power", "force", "sword", "blade", and even "magic".
+
+
+Neutral monsters do not have such a sense of danger.
+
+
+Never (only on login)
+Nunca (sólo al acceder)
+
+Never ask: Brew %d
+
+
+Never let yourself be brought astray by it. Swear it to me.
+
+
+Nevermind, bye!
+
+
+Nevertheless, you probably need some base materials from Bifs. Who knows what it will drop if you are lucky?
+
+
+New chars, and reborn chars, will also begin at level 10.
+
+
+Newbie
+
+
+Newbies can only get past their limits once, with their party leader level help! If they die, they can't rejoin!
+
+
+Next broadcast: (never)
+Siguiente transmisión: (nunca)
+
+Next broadcast: @@
+Siguiente transmisión: @@
+
+Next time an annoying snake refuses to drop their precious leather drops, come talk to us!
+
+
+Next time, I'll ask Sagratha to help. Heh. I doubt that's going to happen. By the way, this is the @@ spell. It summons snakes...
+
+
+Next we have %s. It guards the world itself and grants all kinds of magic.
+
+
+Nice day to you.
+Que tenga un buen día.
+
+Nice to know. I'll come to you when random numbers try to kill me.
+
+
+Nice! First let me introduce myself. I am Dracoula, a miner!
+
+
+Nice! I love history!
+
+
+Nice! I want you to kill some red scorpions, as I said!
+
+
+Nice, but no, thanks.
+
+
+Nice, thanks.
+
+
+Nice.
+
+
+Nicholas
+
+
+Nico Goethe
+
+
+Night Dragon
+
+
+Night Scorpion
+
+
+Nightmare Dragon
+
+
+Nightshade Tea
+Té de sombra nocturna
+
+Nigth Scorpion
+
+
+Nikolai said it was important, so we keep a few of them locked in the basement. I apply a spell to seal them so they don't wander around, explode around, or... *sniff*...
+
+
+Nikolai takes a sweat of his head. He seems worried with Cindy.
+
+
+Nikolai, the Blue Sage
+
+
+Nilfheim
+
+
+Nina The Traveler
+
+
+Ninja Card
+
+
+Ninja Card S
+
+
+Ninja Card X
+
+
+NivalShip
+
+
+Nivalis
+
+
+Nivalis - @@ GP
+
+
+Nivalis Office
+
+
+Nivalis Townhall
+
+
+Nivalis Warp Crystal
+Cristal warp a Nivalis
+
+Nivalis was liberated @@ ago.
+
+
+Nivalis was the last human settlement built during the First Era.
+
+
+Nivalis? It's frozen during the whole year! I hope you have good ice gear and a high level...
+
+
+No
+No
+
+No Chains (Tulimshar)
+
+
+No I don't have herbs. I'll be back.
+
+
+No and *hic*... No, you and you and your... *burp* stup*hic* guild!#0
+¡No y *hic*... No, tú y tú y tu... *burp* stup*hic* gremio!#0
+
+No and *hic*... No, you and you and your... *burp* stup*hic* guild!#1
+¡No y *hic*... No, tú y tú y tu... *burp* stup*hic* gremio!#1
+
+No but thanks.
+
+
+No criminal record, no bank account, not even a tax payment declaration.
+
+
+No homunculus found!
+
+
+No mercy will be shown, turn back now!
+
+
+No need to kill the Fluffies, though.
+
+
+No no no, that's wrong.
+
+
+No no no, you don't have everything I've asked for!
+
+
+No one can go out during the quest, so ensure every guild member has proper equipment, potions, and time for this dungeon.
+
+
+No one is allowed past this point.
+
+
+No one is more there than here than me! Look at my hat, it symbolizes that I am an useless player!
+
+
+No one visit me, I'm in peace there.
+
+
+No penalty against Legendary mobs
+
+
+No problem is too big for me. I have them right here!
+
+
+No reason.
+
+
+No reply. We should try something else.
+
+
+No thank you.
+
+
+No thanks, see ya!
+
+
+No thanks.
+
+
+No victor appliable.
+
+
+No way!
+
+
+No way! That's absurd!
+
+
+No you don't. Don't disturb the forest for no reason.
+
+
+No!
+
+
+No, I don't have any poison for your sampling yet.
+
+
+No, I don't need monster repellent nor anything! Go away!
+
+
+No, I don't teach magic to strangers. No, I'm not interested in @@ affairs.
+
+
+No, I insist, keep the Antennas as a trophy.
+
+
+No, I want to aim for a higher score.
+
+
+No, I'll be back with them.
+
+
+No, I'll let you there to the Yeti's mercy.
+
+
+No, I'll save my money.
+
+
+No, but what option do I have? I'm railroaded!
+
+
+No, it is a family heirloom. But I do have the shield blueprints. A skilled craftsman could forge one.
+
+
+No, justice must be done.
+
+
+No, loans.
+
+
+No, none.
+No, ninguna.
+
+No, not at the moment.
+
+
+No, nothing. Sorry.
+
+
+No, please don't! I have 3 kids to feed. They are looking for me for contraband. Please, let me go!
+
+
+No, power corrupts.
+
+
+No, seriously, you should do these questions to Elli. She is the smartest girl I know, close to the Academy.
+
+
+No, sir.
+
+
+No, sorry.
+
+
+No, thank you, kid.
+
+
+No, thanks!
+
+
+No, thanks, I will keep my gems.
+
+
+No, thanks, it's not my job!
+
+
+No, thanks.
+No, gracias.
+
+No, thanks. I gonna leave this place.
+
+
+No, they are way too dangerous for me!
+No, ¡son demasiado peligrosos para mi!
+
+No, we challenge you to a duel!
+
+
+No, we've done this for our whole life, and we have survived!
+
+
+No, who knows what they might do with it!
+
+
+No.
+No.
+
+No. Hurnscald is besieged and it would be too dangerous to let you go alone. You should talk to %s, instead.
+
+
+No...
+
+
+No... Not yet, sorry.
+
+
+Nobody answers.
+
+
+Nobody can know! *burp*
+
+
+Nobody lives here for years, arr. Monsters have taken over everything, yarr.
+
+
+Noel Slime
+
+
+Non Disclosure Agreemeent
+
+
+None
+Ninguno
+
+None at the moment.
+
+
+Nope, sorry!
+
+
+Normal
+
+
+Normal Bullet
+
+
+Normal Cards can be upgraded to S-Tier, and S Cards can be upgraded to X-Tier. X-Tier cards cannot be upgraded.
+
+
+Normal Member
+
+
+Normal.
+
+
+Normally I would offer to make you some %s, but economic problems in Halinarzo have caused a shortage of supplies...
+
+
+Normally, collaborative behave like neutral monsters. Unless some partner of the same species is in danger, at which point they all take an aggressive stance against the aggressor.
+
+
+North Avenue#lof
+
+
+Northeast Avenue
+
+
+Northeast Avenue#lof
+
+
+Northwest Avenue
+
+
+Northwest Avenue#lof
+
+
+Not An Oak
+
+
+Not Yet Implemented - Sorry.
+
+
+Not a single deed, but continued heroism. A real hero must be strong. Must help others. Must show up above others. Should have magic even if they don't use, and of course, the world should be in need of a hero. No one is born as hero, for heroes are forged, not born.
+
+
+Not all monsters will do this, but most will. So if you see a monster running after a player and you stand in the way...
+
+
+Not allowed
+
+
+Not at all!
+
+
+Not at the moment
+
+
+Not bad
+
+
+Not bad, not bad. Let's see if you can answer an even more difficult one.
+
+
+Not bad. These are the main threat we have to fend off, along snakes and black scorpions.
+
+
+Not bad... You can now enter Lilit. If you think you can defeat me, climb the tree and meet me at the top!
+
+
+Not crafting - insufficient materials!
+
+
+Not doing that to prevent flood.
+
+
+Not enough Monster Points!
+
+
+Not enough bottles.
+
+
+Not enough funds!
+
+
+Not enough ingredients or invalid amount.
+
+
+Not enough items!
+
+
+Not enough money.
+
+
+Not every @@ with you belongs to you.
+
+
+Not every piece of equipment is ingame yet.
+
+
+Not everyone can be a blood donor. For example, you must be healthy.
+
+
+Not for that! For helping out the injuried mouboo, of course.
+
+
+Not in the mood to chat.
+No estoy de humor para charlar.
+
+Not my problem.
+
+
+Not now, but I may be back later.
+
+
+Not now, sorry.
+
+
+Not now, thanks
+
+
+Not now, thanks.
+
+
+Not now.
+
+
+Not now...
+
+
+Not now... *hic* I need @@... *hic* Bring me @@ if you *hic* can...
+
+
+Not only that, but I am also Angela's husband and Nivalis Mayor. If you have any issues, you can go straight to me.
+
+
+Not only that, but at night monsters are stronger! They also give more experience and drop more often to compensate, though.
+
+
+Not only that, but he is the only one here besides me who can do magic. Without him, I have to work doubled.
+
+
+Not only that, but it is swarming with monsters. Something is really wrong here. From our scouts which went in there, only one returned.
+
+
+Not only that, but reborn characters will spawn at level %d!
+
+
+Not only that, but the Yeti King and me had an... incident, in times best forgotten. Let's not talk about it.
+
+
+Not only that, but you get one free attempt every day!
+
+
+Not participating in a challenge yields you zero points. In case of a tie, char creation date will be the decisive factor: Older adventurers will get the preference.
+
+
+Not really, sorry.
+
+
+Not really.
+
+
+Not resync'ing to prevent flood.
+
+
+Not right now, I'm busy.
+
+
+Not right now.
+
+
+Not sure
+
+
+Not to say about bandits and robbers you'll find.
+
+
+Not today, sorry.
+
+
+Not yet, I'll be right back.
+
+
+Not yet, I'm waiting @@ to deliver me the @@ reagent.
+
+
+Not yet, I'm waiting for friends
+
+
+Not yet, blame Jesusalva, your reward was with them
+
+
+Not yet, but I'll bring them.
+
+
+Not yet.
+Aún no.
+
+Not yet. I've been... delayed.
+
+
+Not yet. You have to ask the mana seed to give you more power.
+
+
+NotSoBot
+
+
+Notable mentions and thanks for our [@@https://tmw2.org/contact|sponsors@@], we wouldn't be here without their continued support.
+
+
+Notable mentions and thanks for our [@@https://www.patreon.com/TMW2|sponsors@@], we wouldn't be here without their continued support.
+
+
+Note
+
+
+Note 2: If you leave this plataform, it'll reset!
+
+
+Note 3: All maps in Fortress Island have penalty, even towns!
+
+
+Note down. To hunt a target you must click the primary mouse button on it. Avoid fighting monsters or citizens much stronger than you. ##BYou will lose experience if you are defeated.##b
+
+
+Note#012-2
+
+
+Note#johanne
+
+
+Note#saxsocave
+
+
+Note: Dustynator is a high level weapon. You might not have enough level to use it yet.
+
+
+Note: Golden and Silver Eggs are deleted after the next event end.
+
+
+Note: Items brewed here will use a Guild Recipe instead!
+
+
+Note: Items forged here will be guild-bound, but will use player recipes and bonuses!
+
+
+Note: No rares will be given if Golbarez doesn't get enough GP to find the paradise, but Strange Coins will still be given.
+
+
+Note: Onboard, Destructive, Fire, and AoE Magic are NOT allowed.
+
+
+Note: Passives and some skills (e.g. Resync) doesn't count.
+
+
+Note: Poll may increase more than total money donated depending on current date.
+
+
+Note: Support skills used on self does not count.
+
+
+Note: The points will NOT be consumed on 2020.
+
+
+Note: This action cannot be undone.
+
+
+Note: This travel takes a whole minute to complete!!
+
+
+Note: Transfering items on mail cost @@ GP/item
+
+
+Note: Unless you were doing something REALLY bad which is harmful to player community (eg. scamming, hacking, DDoS'ing, etc.)
+
+
+Note: You can exchange 1 @@ for 3 @@
+
+
+Note: You can increase the time by talking to Emma again.
+
+
+Note: You can only perform this operation @@/6 times.
+
+
+Note: You may fail to write skills to it.
+
+
+Note: You must have a char on the first slot to leaderboard work. Points are shared accross all chars on your account.
+
+
+Note: You won't be able to leave the class later.
+
+
+Note: You'll be vulnerable for a short while!
+
+
+Note: Your party is currently not sharing experience, and will suffer a time penalty. Your time will be halved.
+
+
+Note: some pets still weren't implemented!
+
+
+Notebook#MKHB
+
+
+Notes:
+
+
+Nothing
+Nada
+
+Nothing I guess
+
+
+Nothing at the moment, thanks.
+
+
+Nothing at the moment.
+
+
+Nothing for now, thanks.
+
+
+Nothing happens.
+
+
+Nothing important.
+
+
+Nothing right now.
+
+
+Nothing so sublime!
+
+
+Nothing, good bye!
+
+
+Nothing, sorry!
+
+
+Nothing, sorry.
+Nada, lo siento.
+
+Nothing, thanks
+
+
+Nothing, thanks anyway.
+
+
+Nothing, thanks!
+
+
+Nothing, thanks.
+
+
+Nothing.
+Nada.
+
+Nothing. Take care!
+
+
+Notice: If you join the ##BBandits Guild##b now, you WON'T BE ABLE to be a merchant police later!
+
+
+November 1st - November 30th
+
+
+Novice Dungeon (Lv 40+)
+
+
+Novice Exchanger#0
+
+
+Novice Wand
+
+
+Now I can turn in my report to Professor Volrtaw... I should not have stayed behind the classes.
+
+
+Now I just drink down my worries and hope for the best.
+
+
+Now I need 20 @@, 20 @@ and 60 @@ to finish my research. Easy materials, except for the Shadow Herb.
+
+
+Now I travel by the world, composing songs about the things I see.
+
+
+Now I'll be waiting!
+
+
+Now begone.
+
+
+Now go and save the world or something like that. I mean, it is not like I really cared with the world, anyway... With luck you'll even find what you are looking for.
+
+
+Now go talk to the King.
+
+
+Now go! Lives are at stack!
+
+
+Now go, and fetch the materials again. I'll make another fertilizer for you.
+
+
+Now lo and behold... The ultimate... TRANSMUTATION!
+
+
+Now please be a good helper, and aid me by bringing:
+
+
+Now please bring me @@/2 @@, @@/20 @@, @@/30 @@ and @@/70 @@ so I don't need to leave here and start travelling everywhere...
+
+
+Now stand still... It should not take much time...
+Ahora no se mueva... No debería tardar mucho...
+
+Now that Chief Oskari knows about the sequence of events, the Sage will take care of it. It's really a shame how malicious people can be.
+
+
+Now that I've described the spells to you, I'm sure I cast them correctly. But... I think there is a way to have these effects. It's silly though.
+
+
+Now that you ask....
+
+
+Now to head inside the caves, until the last floor, and have my showdown and revenge against the Monster King. I do not plan in failing.
+
+
+Now wait for your partner, then talk to me again.#0
+Ahora espere a su socia, después vuelva a hablar conmgo.#0
+
+Now wait for your partner, then talk to me again.#1
+Ahora espere a su socio, después vuelva a hablar conmgo.#1
+
+Now wanders over the land.
+
+
+Now we are no longer useless — we can play music again!
+
+
+Now we can play any songs! Hooray!
+
+
+Now you must feel homelike already here... take these slippers so your feet stays warm!
+
+
+Now you need to fight monster with the maximum range, you can to do this do these steps in order: lock enemy, Attack, hit, move backwards of one tile, hit, ETC.
+
+
+Now, I'm sure you could find the answer you seek without the trouble of coming here, but anyway. I guess I'll explain you how things work here, first.
+
+
+Now, a simple @@ quest to make you stronger...
+
+
+Now, as you gave yourself the trouble of coming here...
+
+
+Now, crafting an airship requires a lot of efforts, resources, money and specially time. Fourteen months, to be exact.
+
+
+Now, isn't this lovely? I'll turn it into some pants for %s winter.
+
+
+Now, let's try again.
+
+
+Now, listen closely. Jesusalva desgined most of the quests. And he hates cheaters and liars.
+
+
+Now, listen to me. I know I promised to bring you to the World's Edge.
+
+
+Now, please kill 50 @@, Try to collect some lamps in the same time, they could be useful later.
+
+
+Now, that's unfortunate. I don't think you can hit me from where you are.
+
+
+Now, to find the treasure chest!
+
+
+Now, to wait for Sunday is the most boring part... Alas, I wonder if I'll remember next week, too.
+
+
+Now, we're hot on the trails of whatever is the reason for the town to be so empty. We blocked this road so the town is not overrun by the monsters outside.
+
+
+Now, you'll learn a thief trick! This one allows you to steal drops from monsters! Ka-pow! Amazing!
+
+
+Now, you'll learn a thief trick! What sort of thief loots so much that they get overweight penalty? That's not cool!
+
+
+Now, you'll learn an important trick! Stealing is nice, but scamming is even better!
+
+
+Nowhere Gluvine
+
+
+Nowhere Jeane
+
+
+Nowhere Man
+
+
+Nulity Pixie
+
+
+Nutcracker
+
+
+Nylo
+
+
+Nylo#Marggo
+
+
+Nymph Poison
+
+
+O.o "That's a lot. Maybe another day."
+
+
+OFF WITH THEIR HEADS!
+
+
+OH MY, PLEASE DON'T!
+
+
+OH NOES! The ceiling seems to have collapsed when the chest was open! We are forced to go forward!!
+
+
+OH NOES! The ceiling seems to have collapsed. I hope we got the key, or the quest is over for us!
+
+
+OK, I will get them.
+
+
+OMG CANCEL IT!!
+
+
+OMG so cute! This must be the cutest bear you ever seen your whole life.
+
+
+OMG you got all equipment in Moubootaur Legends. You are truly a legend of legends.
+
+
+Oak
+
+
+Obtain event equipment
+
+
+Ocean Croc
+
+
+Ocean Croc Claw
+Garra de Croc oceánico
+
+Ocean Pirate
+
+
+Of course I hurried there as fast as I could, yelling to wake up everyone, but that caused so much confusion that we fell over each other in the corridor and when we finally reached the library, the slimes were already spread all over the room, eating or exploding the books.
+
+
+Of course I'll help you!
+
+
+Of course it does. And the same level rules applies.
+
+
+Of course! But beware that %s are always in demand!
+
+
+Of course! Quick, take it!!
+
+
+Of course, I actually have two options:
+
+
+Of course, I do charge a nominal fee of for the service. %s GP to be exact.
+
+
+Of course, give me just a minute to look up for your data, @@.
+
+
+Of course, he doesn't likes the fact you're talking to me.
+
+
+Of course, if you don't ask from the Mana Stone for more magic, you will stay on the first degree forever...
+
+
+Of course, if your problem is only experience, then you should look for %s and other EXP-boosting drinks. Some are sold, some are made, some are dropped, some are... magical...
+
+
+Of course, lag might always be a problem. Remember to drag healing items to the shortcut list too. %%2
+
+
+Of course, some get scholarship in honor of the cause or by notable knowledge and prowess; These are a special group not worth mentioning.
+
+
+Of course, the Savior race is extinct as far as history book concern with.
+
+
+Of course, they are on the left wall, go have a look at them.
+Por su puesto, están en la pared izquierda, ve y échales un vistazo.
+
+Of course, we'll find a way to reward you for your efforts.
+
+
+Of course. I bet Elli is the one who cursed you, who started the Great Fire and who put the time lock in place.
+
+
+Of course. The adviser of the Yeti King, for instance, is very friendly.
+
+
+Of course: better drinks, more EXP. Just be careful to don't get so drunk that you cannot fight anymore, will ya?
+
+
+Off to storage I go.
+
+
+Offer food to it.
+
+
+Offering alcohol to a teddy seems like a ugly thing to do. We should think on something else.
+
+
+Oh dear, oh dear, where could I have possibly left it?!
+
+
+Oh hello again. This time I need you to be enrolled here, for this, you need to either get a good rank at the Magic Olympics or by contributing to the world's knowledge. Talk to headmaster if you need help.
+
+
+Oh it's you @@, I did not recognize you with your hat!
+
+
+Oh it's you @@, I did not recognize you without a hat!
+
+
+Oh look, it is Cupid!
+
+
+Oh my Jesusalva - You broke my lock! Why?!
+
+
+Oh my! Did you rent a house or an apartment and now want to brew stuff, like @@ or @@?
+
+
+Oh my, the great @@ has come to talk to me!
+
+
+Oh my, you don't seem to be registered as a Monster Hunting Quest Participant. Would you like to register?
+
+
+Oh no! I will miss my bus! Gotta go!
+
+
+Oh no! What should we do now?
+
+
+Oh no, Benjamin is a city guard, he would never do that. I hope.
+
+
+Oh no, I don't have any money on me right now.
+
+
+Oh no, not another stranger she sends me to tell that!
+
+
+Oh no... That is wrong! %%3
+
+
+Oh noes ─ the door is sealed! We can only press forward and failure is final!
+
+
+Oh noes! He fainted! Quick, rescue him!!#1
+
+
+Oh noes! She fainted! Quick, rescue her!!#0
+
+
+Oh noes! The door is locked!! Quick! Call a GM!!!
+
+
+Oh noes! The guards locked the door!
+
+
+Oh noes! You've found the Candor control panel!
+
+
+Oh noes! You've found the Halinarzo control panel!
+
+
+Oh noes! You've found the Hurnscald control panel!
+
+
+Oh noes! You've found the Tulimshar control panel!
+
+
+Oh noes, who nows can help my wife? Please reconsider!
+
+
+Oh please. Even if you know a trick or two, you don't have real magic.
+
+
+Oh right, I totally forgot about that, here you go.
+Oh correcto, lo olvidé totalmente, aquí va.
+
+Oh well, this sucks, but that was only an illusion.
+
+
+Oh well... That's my mother, and this is why I love her.
+
+
+Oh yeah some work is really painful, especially for my back, and I cant bother Woody to do it, he has so many difficulties moving.
+
+
+Oh yes, here you go, that will be 1 GP.
+
+
+Oh! You found me. Good job!
+
+
+Oh, %s, thanks! The tunnels behind me are very hot, this will help if I have to go inside them.
+
+
+Oh, I can't really tell. I'm mostly working in the library, while he's very involved in the research.
+
+
+Oh, I know who you mean! That impertinent person came over in the workshop area and fiddled about with all kinds of things here! Such a rude person! Didn't he understand that we had delicate things going on here? We had to send him back to the library area several times.
+
+
+Oh, I never really thought about that. He was the one who failed the sealing, right? But I heard it's a quite difficult spell, so I suppose this could've happened to any mage. I don't know. Why are you asking such difficult questions?
+
+
+Oh, I was wee lad on the beach singing the blub song
+
+
+Oh, I'm just exploring. What can you tell me about this island?
+
+
+Oh, Miler just prepared a %s for you. You can use it... Or give it to Henry in Nivalis Inn, and whisper "The Shadow Tortuga won the race against the Panthom Lord".
+
+
+Oh, Welcome then.
+
+
+Oh, a visitor. Welcome to the city hall. Please, enjoy your stay.
+
+
+Oh, and I almost forgot! Do not share passwords or pincodes, not even with staff! And do not use the same password somewhere else, they can be stolen!
+
+
+Oh, and about the Candor travel for 200 GP... Which would be a rare for little or no gold... Well, that's just an attention grabber.
+
+
+Oh, and if I perchance catch you using %s or %s... You'll be banned from my game, understood?
+
+
+Oh, and you will need this book too, it will help you learn the basics of fishing.
+
+
+Oh, but don't you worry. Sure, you can't go in Nivalis bank and take my stuff... But the Storage Fairy at Lilit might just let you.
+
+
+Oh, but we are affiliated with Jesusalva, whom hates cheaters. So, meet your dismissal!
+
+
+Oh, eh, why are you asking me? I've only been here a short while and don't really know all of the people well enough yet.
+
+
+Oh, every settlement is part of it. Candor, Tulimshar, Hurnscald, Frostia, Halinarzo, Artis, Nivalis...
+
+
+Oh, he has been a little rascal since his father died.
+
+
+Oh, he's still alive!#1
+¡Oh, aún está vivo!#1
+
+Oh, hello %s.
+
+
+Oh, hello there! Welcome to the Mana Plane Of Existence!
+
+
+Oh, hello. If I were you I wouldn't go deeper into the library. There are still some of those monsters left. Slipping between the bookshelves.
+
+
+Oh, hello. You didn't choose a good time to visit. The library is a total mess. The slimes got out of control and ate most of the books.
+
+
+Oh, here the path seems to split. Which way should we go?
+
+
+Oh, hey, welcome back, @@! Thanks for all your help!
+
+
+Oh, hey. Welcome to the library, or what's left of it.
+
+
+Oh, just an empty staff with black powder inside it. Which explodes. And then kills monsters.
+
+
+Oh, just walk on the dock, and you'll be warped there.
+
+
+Oh, please. They're weaker than Maggots. They will only pose a threat if you're unarmed.
+
+
+Oh, several things. It depends a bit on what the scholars consider, and the scholars... well, they change.
+
+
+Oh, she's still alive!#0
+¡Oh, aún está viva!#0
+
+Oh, thank you! My daughter means a lot to me.
+
+
+Oh, thanks, darling; I was starving. Do you need anything?
+
+
+Oh, that's a long story.
+
+
+Oh, that's an interesting question. I was really surprised when I heard that he was responsible for the failure. I've worked together with him before, and I have to say, it really was a pleasure. He's very accurate and diligent, but also polite and helpful.
+
+
+Oh, the @@ might be a heirloom or something from Braknar family. I dunno who could have it.
+
+
+Oh, then I don't have enough! I'll bring more later!
+
+
+Oh, then you should seek the help of an specialist. These curses have an specific condition to break, like leveling up or being killed. Force-breaking them can be difficult.
+
+
+Oh, there was such a visitor, yes. Strange guy, and didn't really know how to behave. He sneaked into the workshop area all the time, I think he was rather curious about the things going on there.
+
+
+Oh, this is so much work... I can't believe they let this happen! You would think they'd be careful when playing around with such powerful forces. Hah! Big mistake!
+
+
+Oh, too bad.
+
+
+Oh, would you? That'd be great! You see, the slimes ate most of the books and it is difficult to retrieve the bookpages. If you feel capable of this task, you could go out to hunt the Blue and White Slimes, to get the @@ back from them.
+
+
+Oh, yea, you are right, it was a mistake. Bye-bye.
+
+
+Oh, yes. There was such a guy, shortly before the accident I think. He sneaked into the workshop several times, sticking his nose into stuff that shouldn't be his business. We had to send him back to the library area at least three times.
+
+
+Oh, you must be from Hurnscald Household, then. Hand me the letter, I'll have it delivered.
+
+
+Oh. And don't mention anyone what I'm researching here. No need to fuss over minor things, don't you agree? It's totally not shaddy. Not shaddy at all!
+
+
+Oh... Of course! I'll even do this for free!
+
+
+Oh... What a bummer. But you've brought the item back, so we're OK.
+
+
+Oh... Wow! I'm surprised.
+
+
+Oh? Just go east of here. Keep going ##Bright##b, go down the stairs, and you'll be at his office already.
+
+
+Ohh Moubi Moubi you are too pink, that my eyes get shrink
+
+
+Ohh! A fingernail aside.
+
+
+Ohh, I think I know who you mean. That was a strange guy. He always came over here in the workshop, said he's very interested in the research. I suppose that's ok, but he didn't keep his hands to himself, and touched some experiments and I caught him near some storage racks.
+
+
+Ohhh moubiii
+
+
+Ohhhhh..... Please, help me!!! My wife is gravely wounded!!
+
+
+Ok
+
+
+Ok I add your name... @@...
+De acuerdo, añado su nombre... @@...
+
+Ok grandma CYA!
+
+
+Ok then... Uh... Please excuse me.....
+
+
+Ok, I'll be back in no time.
+
+
+Ok, come back me when you want to know the @@ real power!
+
+
+Ok, done!
+
+
+Ok, done.
+Bien. Listo.
+
+Ok, good trip then.
+
+
+Ok, let me see...
+De acuerdo, veamos...
+
+Ok, let's see how many you have and how many I need:
+
+
+Ok, let's stay focused now!
+
+
+Ok, now I want you to purge the cave from maggots. Kill 25 @@. They keep respawning and annoy miners team.
+
+
+Ok, see you later.
+
+
+Ok, see you.
+
+
+Ok, thanks.
+
+
+Ok, this will be my last request. The Trainer asked me for a fine weapon, to protect our village.
+
+
+Ok, what I need is:
+
+
+Ok, you can see that target over there? I will tell you how strong the wind blows and from which direction. Then you will try to hit the target by moving right or left and decide how powerful you want to shoot.
+
+
+Ok, you look strong enough. Now, let me think on an easy task for you...
+
+
+Ok. Cool life!
+
+
+Ok. You have made great progress. I think you are ready for further tasks.
+
+
+Ok...please come back when you aren't busy...
+
+
+Okay then.
+
+
+Okay!
+
+
+Okay, I'll be back!
+
+
+Okay, bye
+
+
+Okay, bye.
+
+
+Okay, here is some experience, and forgot what I've said before. We can try again.
+
+
+Okay, laters
+
+
+Okay, that is very useful. However, I do need a few reagents to make it.
+
+
+Okay, to join an arena, you need the unique password. Leave blank if you don't know.
+
+
+Okay, which arena will you rent? Cost is @@ GP.
+
+
+Okay, you can start!
+¡Está bien, puedes iniciar!
+
+Old Paper Patch
+
+
+Old Snake
+
+
+Old Towel
+Toalla vieja
+
+Old Well#003-1
+
+
+Old line:
+Línea vieja:
+
+On a computer, you can press @@ to attack it. On mobile, that would be the big button with the number 1.
+
+
+On a side note, more defense is always good, but the damage won't decrease on the same rate that defense raises.
+
+
+On hindsight, I'll wait you get a few levels. Can't have cheaters, ya know!
+
+
+On mobile, the DPAD is at your left. Do you see the chest to my right?
+
+
+On mobile, you would click on the @@ icon!
+
+
+On my way to get what you need.
+
+
+On second thought, he really could use a bath.
+
+
+On the friday, the 14th, an additional hunting field will be open. Talk to Soul Stone to go there :>
+
+
+On the ruins you may find free loot... And on the new town, you may find the sturdiest stuff of all.
+
+
+On your marks!
+
+
+On your marks...
+
+
+Once broken, they'll lose the link to the magical seal.
+
+
+Once he resumes working confidently, we can go over this important subject.
+
+
+Once inside the BOSS Cave, you get a five minutes time limit to slay the boss with your party.
+
+
+Once it begins (you can fight against an AI), kill the most of enemy sparks you can, while preventing your own sparks of being killed. Wins whoever has more sparks after %s minutes.
+
+
+Once that is done, the Alliance's staff will set several stands with the most important services you might need, like banking, inside the town central area.
+
+
+Once the fight begins, the barrier at your left will lock. It won't open until the fight is over.
+
+
+Once the five are once again assembled,
+
+
+Once the quest is started, entrance will be closed.
+
+
+Once the roots are of a desired thickness, he ties them to make a string, and applies an oil on it.
+
+
+Once their fight was over,
+
+
+Once they get too annoying, I need to kill them... But I think I could put them to rest with the Rest Homunculus skill.
+
+
+Once upon a time, five mighty heroes emerged;
+
+
+Once used, they will disappear from your inventory.
+
+
+Once you allocate status points, you can fight it! Good luck, @@!
+
+
+Once you decide to rescue Cindy, nobody else will be able to enter or leave this room.
+
+
+Once you done so, come back and report the new passcode... Then I'll disclose to you the real mission.
+
+
+Once you have the appropriate colorant for the item, ##bdrag the colorant##b to the material.
+
+
+Once you join the Alliance, you won't be able to talk with people outside it.
+
+
+Once you lit one of them, monsters will pour out, so take care to don't die.
+
+
+Once you reach level %d, I'll offer you a life-time opportunity to delete all your levels and experience for your %s rebirth!
+
+
+Once your skill is forgotten, the Magic Skill Points used will be freed.
+
+
+One Hand Weapon Recipes
+
+
+One claims to be a constable and teach people to sell high and buy low.
+
+
+One day Dimond D. Stone dreamed of her own restaurant.
+
+
+One day I saw myself a rich man ♪
+
+
+One day more or less won't make a difference.
+
+
+One day, I was provoked. Others came to my aid,
+
+
+One day... One day! ONE DAY I'LL GET REVENGE ON YOU, MONSTER KING!
+
+
+One hand sword (average)
+
+
+One last question, but this shouldn't be a problem for you.
+
+
+One last thing to keep in mind... If you are surrounded, you'll suffer an agility and defense penalty.
+
+
+One last thing... Good luck. This is a long shot, so don't hesit in running away.
+
+
+One of the bandits locked this door; We need to find the key!
+
+
+One of the most important jobs on Moubootaur Legends, crafted equipment is much stronger than regular ones. Specially weapons.
+
+
+One of the most powerful chants known is:
+
+
+One of them is really crazy, though: They say that there is a legendary monster down there.
+
+
+One of them was a bit odd, they were wearing a mask and had a strange way of talking. They said they came from Frostia, which is an elven town in the north. Elves are usually shy, so I thought it would have been rude to ask them to remove the mask.
+
+
+Only %s has the key.
+
+
+Only @@ GP.
+
+
+Only Academy Grand Masters may cassate someone.
+
+
+Only Cronqvist Mode yields more points per wave!
+
+
+Only Sponsors are allowed past this area.
+
+
+Only Tulimshar Guards are allowed in this building.
+
+
+Only elves may run to Town Admin Office in Frostia!
+
+
+Only finest wares!
+
+
+Only getting closer to find out what kind this one is.
+
+
+Only green from @@ will be taken in account.
+
+
+Only items with max %s%% drop rate are accepted!
+
+
+Only magic weapons are allowed, but legendary ones - %s and %s - won't be tolerated.
+
+
+Only melee weapons are permitted for use with this skill.
+
+
+Only one vouch can be acquired, and you cannot be vouched to Grand Master position. You need to have touched the Mana Stone to participate.
+
+
+Only the Guild Master and the Vice Leaders are capable of starting this quest.
+
+
+Only the finest bows and arrows, in the land where wood is abundant!
+
+
+Only the party from the MVP will get the reward.
+
+
+Only then we may have peace!!
+
+
+Only those whom overcome all Candor Challenges shall wield ultimate power.
+
+
+Ooh, many thanks! Lemme just grab something for you...
+
+
+Ooh, this definitely is a Tulimshar item! But I would prefer a box full of these, please.
+
+
+Ooh, this nice shiny thing? It was an event.
+
+
+Oolong Tea
+
+
+Oooh, I see you have a @@ with you.
+
+
+Oooh, I see, I see! So you're working with ##Bthem##b... This is most appreciated.
+
+
+Oooh, many thanks! ^.^
+
+
+Oops! Seems like Saulc doesn't wants you messing on his chemistry set!
+
+
+Oops! Seems like Saulc doesn't wants you messing on his raging furnaces!
+
+
+Oops! You destroyed your %s.
+
+
+Oops, there is nobody known as @@ on this game.
+
+
+Open Beta 2019
+
+
+Open Fishing Book
+
+
+Open Petcaring Book
+
+
+Open Recipe Book
+
+
+Open shop
+
+
+Open storage
+
+
+Open the chest?
+
+
+Open your inventory window (F3 key) next to the trading window. Select an item you want to offer, and then press the Add button. To add money to the negotiation, enter the amount you will offer and press the Change button.
+
+
+Opened Christmas Box
+Caja de Navidad abierta
+
+Opera Mask
+Máscara de ópera
+
+Operation Cost: @@ GP
+
+
+Operation successful.
+
+
+Ops, I should not leave this room without talking to the king first.
+
+
+Ops, sorry. I was going to the Soul Menhir and entered your house by accident.
+
+
+Ops... I hammered this stuff too hard... It's junk now.
+
+
+Optional Miniboss
+
+
+Options are %s. Any craftsman can make them. Adventurers tend to be the best craftsman in the world.
+
+
+Or I can swap the @@ with a @@ - for free.
+
+
+Or I can swap the @@ with a @@ - for only 2100 GP.
+
+
+Or I could recover the @@ for 10 @@ and the modest fee of 4400 GP.
+
+
+Or make yourself useful by killing some Ducks. They snatch all the Cherry Cake from the Inn and the staff is getting angry at me. It'll serve, too.
+
+
+Or maybe... You want to try again right now? I'll do whatever needed to level you up to less-noobish levels.
+
+
+Or rather, I can't. I would love to help you, just like everybody else, but I don't know how to make fertilizers.
+
+
+Or should we even split ourselves to check all possible ways?
+
+
+Or use our awesome [@@https://tmw2.org/manalauncher/InstallManaLauncher.exe|Mana Launcher@@] if you're on Windows or Linux.
+
+
+Or you can give me an @@, 3 @@ and an @@, and I'll make a gift for you. If you don't have the @@, you can pay 200 GP for it instead.
+
+
+Orange
+Naranja
+
+Orange Cupcake
+Magdalena de naranja
+
+Orange Dye
+Tinte naranja
+
+Orange Dye? How much does it cost?
+
+
+Orange Eggshell Hat
+Sombrero de cáscara de huevo naranja
+
+Oranye Isles, 257 AT
+
+
+Orbyter Shrine
+
+
+Orc
+Orco
+
+Orc Voice
+Voz de Orc
+
+Ore Mines
+
+
+Oscar
+
+
+Oskari
+
+
+Oskari have a good opinion of you. Can you tell what exactly happened?
+
+
+Other
+Otro
+
+Other food can be used as a bait, too.
+
+
+Other than that, you can explore the city as you want, but as you had a memory loss, You should visit the townhall.
+
+
+Other things are written but are not legible anymore.
+Otras cosas están escritas, pero ya no son legibles.
+
+Other.
+
+
+Others scrying you:
+
+
+Others scrying your char data
+
+
+Otherwise, ##BYOU'LL DIE.##b Have a nice day!
+
+
+Otherwise, his enemies might have bested him, but I doubt any Yeti would dare to kill him.
+
+
+Otherwise, the monsters here usually won't attack you unless provoked.
+
+
+Otherwise, you can also obtain a title during the Magic Olympics. They happen every three months in average, and are the hardest way to obtain a title.
+
+
+Otherwise, you could ask the Constable. They act in the Alliance stead to enforce law and order, and may have... special arrangements for you.
+
+
+Ouch! That was kinda reckless!
+
+
+Ouch! That's heavy!
+
+
+Ouch, the bucket BITE me!
+
+
+Oui, welcome to this fine shop! My name is Agostine, the legendary tailor!
+
+
+Our antecessors used to live peacefully in a sanctuary somewhere close to here, but the path was lost. That's why we now live with dwarves.
+
+
+Our clan has moved away from Tulimshar before the Civil War, almost was wiped off during the Great Fire, and when we thought we could finally life in peace, the Mana War and the Monster War broke out in rapid succession.
+
+
+Our dear mayoress may also need help dealing with that maggot infestation.
+
+
+Our plushy friend knows what is really sweet on this life. It likes honey a great deal, and by the way it looks you, it probably wants more.
+
+
+Our service is dangerous and difficult. But I would not want any other. Thanks for the help.
+
+
+Out of Mind
+
+
+Out of Mind mode is only available for Top 3.
+
+
+Out of Stock.
+
+
+Out of my experience, you are ready to learn magic.
+
+
+Out of my experience, your base intelligence may not be enough.
+
+
+Out of my experience, your job may not be enough.
+
+
+Out of my experience, your level may not be enough.
+
+
+Outside towns, there's an EXP penalty if you die.
+
+
+Outstanding. Congratulations.
+
+
+Ozthokk, a great sage from the Land Of Fire, holds secrets of time and space travel.
+
+
+PARTY AND GUILD friends: Temporaly regen MP faster.
+
+
+PARTY AND GUILD friends: Weapon always deal max damage.
+
+
+PLEASE STORE ALL MY ITEMS
+
+
+PORTABLE LIGHTSABER
+
+
+POWER!
+
+
+POWERFUL GUNSTAFF
+
+
+POWERFUL LIGHTSABER
+
+
+PROTIP: Every quest you complete in a location, will make ship travels to and from them cheaper!
+
+
+PS. Additional reagents may be required for warps.
+
+
+PS. Doesn't always work. You need an account at %s and to be at ManaPlus Team.
+
+
+PS. Due a bug, they won't be displayed when you equip unless you relog.
+
+
+PS. No equipment restriction
+
+
+PS. The group names still aren't set. You're free to pinch in suggestions at LoF Discord (Legacy #discussion) :>
+
+
+PS. This char will be reset on logout.
+
+
+Pablin
+
+
+Pachua
+
+
+Painless, wasn't it?
+
+
+Painting#Saggy
+
+
+Paintings
+
+
+Pal, I'm counting on you. You'll like the little something I have for you!
+
+
+Pan#Saggy
+
+
+Panthom Lord
+
+
+Panthom Wisp
+
+
+Pants
+
+
+Pants Recipes
+
+
+Paper
+
+
+Paper Bag
+Bolsa de papel
+
+Paper! Paper! Get your copy of The Land of Fire Gazette here!
+
+
+Parcival
+
+
+Pardon me, I don't remember my parents.
+
+
+Pardon me, what is a recipe book?
+
+
+Participants: Jesusalva * mishana * bObr * demure * LawnCable
+
+
+Participants: Povo * Manatauro * Woody
+
+
+Partner not ready.
+El compañero no está listo.
+
+Party
+
+
+Party Master
+
+
+Party Name: @@
+
+
+Party Quest
+
+
+Passive MP Regen
+
+
+Password changed with success!
+
+
+Past due date.
+
+
+Past this checkpoint, is the village where the Monster King was born.
+
+
+Past this grates, is the Magic Council Room.
+
+
+Past this point is the Fortress Island. %s Even so, be careful, the town should not exist.
+
+
+Paxel
+
+
+Pay
+
+
+Pay attention to #world chat, as this event is managed by players. The Monster Army is also trying to regroup, neglecting it is not advised.
+
+
+Pay attention to the fight, @@!
+
+
+Pay attention to the sequence!
+
+
+Pay for her handi-work?
+
+
+Pay the tuition fee?
+
+
+Pear
+Pera
+
+Pearl
+Perla
+
+Peetu
+
+
+Peetu asked me to talk to you about his mishap.
+
+
+Peetu thinks someone put Silk Cocoon along the ingredients.
+
+
+Peetu? He is very cautious. It is not like him to make mistakes. After all, he is a elf. Elves are really careful with their jobs.
+
+
+Peetu? He's one of those magic wielders who think they can do anything. Heh, you see the result here.
+
+
+Peetu? I have always been glad to have him on the team. He's really brought forward our work here.
+
+
+Peetu? I think he's a good guy. Very focused on his work, I think. I don't have that much to do with him, so I can't really tell.
+
+
+Peetu? That's one of the high rank helpers. As far as I know, he's capable of magic and takes part in some important researches. But I don't really know about those things.
+
+
+Pentagram#FoS_1
+
+
+People are challenging now.
+
+
+People failed to rescue Cindy!
+
+
+People from here always look dumbfolded when they walk past them and find themselves somewhere else.
+
+
+People from the press always know what is happening in the world. Talk to them to learn about the latest news! - Jerican from the Press
+
+
+People say it is the second biggest city from the world.
+
+
+People usually dock there when travelling to the second continent. Nothing exceptional about economy.
+
+
+People vary greatly in the amount of strength, agility, dexterity, intelligence, vitality and luck.
+
+
+Perfect indeed! Congratulations!
+
+
+Perfect! Here is your reward!
+
+
+Perfect! So now that you swore secrecy, you can help me! Thing is... there was... a %s!
+
+
+Perfect! you have enough Terranite Ore, I will take them for now but I need other items in order to bring them to life.
+
+
+Perfect, I knew you were right person for the job.
+
+
+Perhaps that was the last of them?
+
+
+Perhaps this has something to do with the factions.
+
+
+Perhaps we should wait a few days.
+
+
+Perhaps you could tell her how much I love her? It is already some days since I last talked to her.
+
+
+Perhaps you have something like that?
+
+
+Perhaps you may be of assistance later...
+
+
+Perhaps you should use a key to open it.
+
+
+Perhaps, in the city, someone knows rumors about Mana Stones and can teach you. Other than that, you're on your own.
+
+
+Perhaps, you could convince Jack to give me the wood, and seek for a fisherman on Halinarzo to give you the string? I won't charge anything.
+
+
+Personal Feats
+
+
+Personal Records
+
+
+Personally, I like unranked events more than ranked ones...
+
+
+Pet Detective
+
+
+Pet Summary
+
+
+Pet his wonderfully fluffy pelt.
+
+
+Petal
+Pétalo
+
+Peter
+Peter
+
+Peter was also looking for strong people to help him to kill other monsters.
+
+
+Pets
+
+
+Pets must keep a strict diet. Pious eats Piberries, Bhoppers eat Aquadas, and Maggots eats Bug Legs.
+
+
+Petu? Yeah, he's the kind of person who always wants to do things perfectly. That makes it a bit difficult to work with him, since his expectations for others are as high as for himself.
+
+
+Ph.D
+
+
+Phew! The Bandit Lord was killed.
+
+
+Phew... We should be safe now. Thanks, %s!
+
+
+Phil
+
+
+Phoenix Rebirth
+
+
+Photoshopped. Definitely. Good luck convincing somebody with that! %%a
+
+
+Physical Science
+
+
+Physical Science Institute is on the %s area of the campus.
+
+
+Piano#RES_0128
+
+
+Piano#RES_PPL
+
+
+Piberries
+Pibayas
+
+Piberries Infusion
+Infusión de Pibayas
+
+Pick an item from either storage or inventory and choose what you want to do with it by clicking the right button.
+
+
+Pickaxe
+Pico
+
+Pihro
+
+
+Pile Of Ash
+Pila de ceniza
+
+PinCode created, an email should arrive within 15 minutes.
+
+
+Pink 4144
+
+
+Pink Antenna
+Antena rosa
+
+Pink Blobime
+Blobime Rosado
+
+Pink Dye
+Tinte rosa
+
+Pink Helmet
+Casco rosa
+
+Pinkie
+
+
+Pinkie Crystal
+Pinkie Crystal
+
+Pinkie Emperor
+
+
+Pinkie Hat
+Sombrero de pinkie
+
+Pinkie Leg
+pata rosada
+
+Pinkie Maximus
+
+
+Pinkie Suseran
+
+
+Pinkie, pinkie,pinkie, oh how i luvs thee;
+
+
+Pinkie,pinkie,pinkie, your blood runs like wine. ♪
+
+
+Pinkies forever! Oh yeah!
+
+
+Piou
+Piou
+
+Piou Bola
+Flotador de Piou
+
+Piou Egg
+
+
+Piou Feathers
+Plumas de Piou
+
+Piou Fields
+
+
+Piou Knight
+Caballero Piou
+
+Piou Legs
+Patas de Piou
+
+PiouSpwn
+
+
+Piousse
+Piousse
+
+Pirate Bandana
+Bandana pirata
+
+Pirate Lord
+
+
+Pirate Shorts
+Pantalones cortos de pirata
+
+Pirate Treasure Chest
+
+
+Pirate Treasure Map
+Mapa del tesoro pirata
+
+Planted Trees: %s
+
+
+Platinum Four-Leaf Amulet
+Amuleto de platino de cuatro hojas
+
+Platinum Ingot
+Lingote de platino
+
+Platinum Ore
+Mineral de platino
+
+Platinum Ore -> Iridium Ore
+
+
+Platinum Quiver
+Carcaj de platino
+
+Platinum Red Queen
+
+
+Player must be online for the operation to finish.
+
+
+Players Killed in PvP: %s
+
+
+Players failed to defend the city!!
+
+
+Playtesting
+
+
+Please accept this @@ as a gratitude for your time.
+
+
+Please accept this reward from my part. And if anything else happens again, I'll leave the doors open for you and your guild.
+
+
+Please be a pal and help me! I'll be in a dire situation if you don't! Besides, you also want the extra credit, so it is a win-win situation!
+
+
+Please be careful when fighting. A mighty warrior such as yourself can harm their allies with any AoE effects they may use.
+
+
+Please be patient and
+
+
+Please bring me *hic*... Bring me @@ @@!
+
+
+Please bring me a single @@ and @@ GP, and I'll give you a memeto.
+
+
+Please bring me that or I won't be able to make something really special for you.
+
+
+Please bring us 5 @@! That should be enough!
+
+
+Please choose the desired gender:
+Por favor elija el género deseado:
+
+Please come back later to know how things are going.
+
+
+Please contact a GM as soon as possible so we can make out a compromise. You should be liberated even if found guilty.
+
+
+Please deliver the two @@ to Tinris and Eomie, and then I'll give you something for your help.
+
+
+Please do, my friend.
+
+
+Please doing business with you.
+
+
+Please don't bore me even more... That's clearly not everything.
+
+
+Please don't disturb me, I'm busy crafting my own customized power mega blaster weapon. I just keep failing to apply +100% exp gain bonus on it!
+
+
+Please don't lie to me...
+
+
+Please don't mind the mess, there are slimes everywhere, thanks to Peetu.
+
+
+Please don't sound like I was some sort of vampire or something...
+
+
+Please don't use this function in future!
+
+
+Please enter the desired color
+Por favor introduzca el color deseado
+
+Please enter the desired race
+Por favor introduzca la raza deseada
+
+Please enter the desired style
+Por favor introduzca el estilo deseado
+
+Please enter the message:
+Por favor introduzca el mensaje:
+
+Please enter the new line.
+Por favor introduzca la nueva línea.
+
+Please excuse me, Blue Sage Nikolai.
+
+
+Please excuse me, captain.
+
+
+Please find her and don't worry with me! And be careful!
+
+
+Please find my lovely daughter!
+
+
+Please get me out of here!
+
+
+Please get moving, @@. I do not mean any harm to you.
+
+
+Please have a look, I have what you asked
+
+
+Please heal me!
+
+
+Please help me find the bug bomb Eomie gave us is in one of the store room barrels?
+
+
+Please help my wards!
+
+
+Please help my wife Yumi, on the Hospital!
+
+
+Please help us with the bandits on the Canyon, and meanwhile, I'll seek the records for you. Just @@ more.
+
+
+Please insert player name to cancel exile.
+
+
+Please insert player name to exile.
+
+
+Please insert your Discord ID, on the following format:
+
+
+Please insert your pincode.
+
+
+Please install the new client from [@@https://manaplus.org/|https://manaplus.org/@@]
+
+
+Please invite Elmo for the party, matey! We can't leave our positions!
+
+
+Please kill @@/@@ @@ for us and make the world a safer place!
+
+
+Please kill some of them, and bring me 10 @@!
+
+
+Please login right after, and this error should not happen again.
+
+
+Please note unless you have Magic Powers, obtained from the Mana Seed, all you will be able to learn are small tricks, so please make a wise choice.
+
+
+Please pray a bit with us!
+
+
+Please prove your statement.
+
+
+Please select a chapter:
+
+
+Please select a quest:
+Por favor selecione una misión:
+
+Please select a trait.
+
+
+Please select an action
+
+
+Please select quest difficulty.
+
+
+Please select target dungeon:
+
+
+Please select the Guild Position you want to change.
+
+
+Please select the desired race.
+
+
+Please select the interval:
+Por favor seleccione el intervalo:
+
+Please select the item you plan in tweaking.
+
+
+Please select the level I should use.
+
+
+Please select the weapon to transfer.
+
+
+Please select where you left off on Main Quest.
+
+
+Please spare me. I'm gravely wounded. I'm innocent, I swear!
+
+
+Please spend responsibly. You still need to pay Nard for a ship travel and there's only so much money you can find on a small island like Candor.
+
+
+Please talk to my wife first, she knows more about the situation than I do.
+
+
+Please talk with this workshop's Chief before talking to me.
+
+
+Please tell Peetu I do not plan in firing him, it should calm him down. And please carry out an investigation, don't disrupt my work until you're done.
+
+
+Please tell everyone I am a rogue person who likes to break rules!
+
+
+Please tell me calmly what happened so I can help.
+
+
+Please tell my mom I love her!
+
+
+Please traveler, help my starving family!
+
+
+Please try again later!
+
+
+Please type a password for your Arena, it must be unique.
+
+
+Please unequip your %s first.
+
+
+Please wait %s before trying again.
+
+
+Please wait 60 seconds to cast again.
+
+
+Please wait a while.
+
+
+Please wait here a short while.
+
+
+Please wait here on the meanwhile. Try asking Estard about parties, or talk to Eistein.
+
+
+Please wait, the fight will start in @@, as requested.
+
+
+Please write how much in percent is EXP Tax for member (range: 0~50)
+
+
+Please, @@! Hurry up!
+
+
+Please, bring me back home.
+
+
+Please, come back later. I'll see whatever I can fetch for that.
+
+
+Please, don't say I got fat. I DON'T WANNA HEAR IT FROM YOU, WAS I CLEAR?
+
+
+Please, enjoy the show! There are some people upstairs, too.
+
+
+Please, help my precious! Save her! Oh, my precious Cindy...
+
+
+Please, keep it. I don't need it at all!
+
+
+Please, show Hasan the claw. Just talk to him.
+
+
+Please, talk to her. Maybe she understands the direness of the situation and help... But you know. Elves.
+
+
+Please... Speak low... I am dying........
+
+
+Pleased to meet you. What brings you down here?
+
+
+Pleasure doing business with you! Do you want any more?
+
+
+Pledge for Barbara's innocence?
+
+
+Plop dead in the ground. Enemies won't attack you this way.
+
+
+Plum
+Ciruela
+
+Plush Mouboo
+Peluche Mouboo
+
+Plushroom
+Plushroom
+
+Plushroom Box
+Caja de Plushroom
+
+Plushroom Field
+Campo de Plushroom
+
+Poison
+Veneno
+
+Poison Ammo Box
+
+
+Poison Arrow
+Flecha venenosa
+
+Poison Arrows
+
+
+Poison Fairy
+
+
+Poison Spiky Mushroom
+
+
+Poisoned Dish
+Plato envenenado
+
+Poke him
+
+
+Polished Amethyst
+Amatista pulida
+
+Polished Diamond
+Diamante pulido
+
+Polished Emerald
+Esmeralda pulida
+
+Polished Ruby
+Rubí pulido
+
+Polished Sapphire
+Zafiro pulido
+
+Polished Topaz
+Topacio pulido
+
+Polished gemstones can be dragged and insert on rings. They'll give special stats to rings, but these gems cannot be removed easily.
+
+
+Pollet
+
+
+Poocandy
+Dulce de Poo
+
+Pooh
+
+
+Pookie Card
+
+
+Poor teddy, not even a pretty music can comfort him for long. What can we do now?
+
+
+Portable Apocalypse
+
+
+Portal#_M
+
+
+Potatoz
+papata
+
+Potentially more destructive warp systems will have much longer cooldowns because they cause bigger holes in timespace.
+
+
+Potion based technology will vanish upon use and usually don't interfer with other technologies. Usually.
+
+
+Potions#MKHB
+
+
+Pour the potion
+
+
+Power Card
+Tarjeta de poder
+
+Power Card S
+
+
+Power Card X
+
+
+Power in the wrong hands is nothing but a burden and a reason for others to cry. That's exactly what I don't want in this town.
+
+
+Power is a double-edged sword. I, Fefe, tried to use it for good, to free the world from Raid's tyranny, and instead, it brought forth the Monster King.
+
+
+Power remaining: %s
+
+
+Powerful Gunstaff
+Poderosa Gunstaff
+
+Powerful Lightsaber
+ Sable de luz poderoso
+
+Powerful magic repels you away from this magic place!
+
+
+Powerful magic repels you!
+
+
+Practice! There are no secrets to becoming a warrior.
+¡Práctica! No hay secretos para convertirse en un guerrero.
+
+Pre-requisites not met!
+
+
+Precision Potion
+Poción de precisión
+
+Present Box
+Caja actual
+
+Press the 'R' key to ignore or accept business proposals. You and the other citizen who want to negotiate need to be in the configuration that accepts negotiations. if your configuration is 'Ignoring business proposals', then you will not receive the warning from any citizen wanting to negotiate with you, and you will not be able to initiate negotiations.
+
+
+Press the doorbell?
+
+
+Pretty cool! I am interested!
+
+
+Prism Chest
+
+
+Prism Gift
+regalo de prisma
+
+Prizes
+
+
+Prizes:
+
+
+Probably.
+
+
+Problem is, I do not have the knowledge to make it without @@. If you bring me one, I'll reward you with one quarter of my commission.
+
+
+Produced item:
+
+
+Professor
+Profesor
+
+Professor#003-0
+
+
+Progress on this server may be %s.
+
+
+Prologue
+Prólogo
+
+Protip
+
+
+Protip 2: Drop rates are low. Try other quests while you slay mobs for this one.
+
+
+Protip 2: If you fell stuck, ask at #world, even if nobody is online. Who knows, someone on Discord or IRC might reply!
+
+
+Protip: @@ are dropped by @@. That monster helps each other, so don't attack when they are in packs.
+
+
+Protip: @@ can be found from @@ and @@. For the later one, ask Lua for strategies.
+
+
+Protip: @@ is dropped by @@. It is a tough monster, you might need some strategy to kill it. @@ can be bought in shops.
+
+
+Protip: All quests expire at 00:00 server time, be sure to finish AND report back before that!
+
+
+Protip: Arkim is in a cave southeast of here and is an hermit.
+
+
+Protip: If you plan in selling it, it's adviseable to ask for GM mediation.
+
+
+Protip: You can get @@ from shops. Cotton is rumored to be magical, keep this is mind.
+
+
+Protip: You can trade the cards, but only before inserting them.
+
+
+Protip: You need an @@ full of water to get a reply from guards.
+
+
+Protip: You need level %d or higher to do this quest.
+
+
+Protip: You skipped tutorial. A lot of tutorial-ish dialogs and quests will be skipped. You can change this anytime on %s > Game Settings.
+
+
+Protip: Your current progress will be saved.
+
+
+Proud owner of %s the %s.
+
+
+Proud owner of %s the Homunculus.
+
+
+Provoke
+
+
+Provoke a single monster to attack you.
+
+
+Provokes all monsters around the target, and the target itself.
+
+
+Prsm Helmet
+Casco de Prsm
+
+Psi Conscience
+
+
+Psst.
+
+
+Pull it
+
+
+Pull the switch?
+
+
+Pulsar outranks ancient, Miere outranks pulsar, and Immortal might be the strongest of all. Or not.
+
+
+Pumpkandy
+
+
+Pumpkandy Seed
+Semilla de calabaza de dulces
+
+Pumpkin
+Calabaza
+
+Pumpkin Hat
+Sombrero de calabaza
+
+Pumpkin Juice
+Jugo de calabaza
+
+Pumpkin Lollipop
+chupete de calabaza
+
+Pumpkin Seed
+Semilla de calabaza
+
+Pumpkish Juice
+Zumo de calabaza
+
+Puny mortal, do your best to entertain me! Curse!
+
+
+Purchase %02d %s for %d GP?
+
+
+Purchase successful!
+
+
+Purchasing points
+
+
+Purification Potion
+
+
+Purple Blobime
+Purple Blobime
+
+Purple Bola
+Flotador purura
+
+Purple Dye
+Tinte púrpura
+
+Purple Wizard
+
+
+Put it out
+
+
+Pydisgner#spoints
+
+
+Pylon
+
+
+Pyndragon
+
+
+Pyndragon said he'll craft a @@ to whoever reduces them to dust. Interested?
+
+
+Pyry
+
+
+Queen Of Dragons: It is dangerous to go out alone, I'll raise your evasion and life!
+
+
+Quest - Find all Keys
+
+
+Quest - Mark as Completed
+
+
+Quest - Skip Krukan fight
+
+
+Quest - Skip Weapons Room
+
+
+Quest - Unlock Boss Room
+
+
+Quest @@ modified by GM
+
+
+Quest Tip
+
+
+Quest complete: Congratulations!
+
+
+Quest completed.
+
+
+Quest debug
+Limpieza de misión
+
+Quest restart.
+
+
+Quests.
+
+
+Quick, battle position! They'll strike! I'll help you a tiny bit!
+
+
+Quick, deliver this to Anwar!
+
+
+Quick, tell that to Eomie. She knows how to do Bug Bombs which won't harm the plants!
+
+
+Quill
+Pluma
+
+Quirin
+
+
+Quirin Voraz
+
+
+Quit
+Salir
+
+Quite benevolent, they are. Nard likes to help anyone who works hard. Anyway, there was something important I needed to say.
+
+
+Quite interesting, quite interesting indeed.
+
+
+Quite the guts! The price is taxed individually, if you run out of GP it is your loss.
+
+
+Quivers
+
+
+RACE FAILED.
+
+
+RAPID GUNSTAFF
+
+
+REMEMBER: FAILURE AT A BOSS FIGHT WILL CAUSE QUEST TO RESET!
+
+
+REMINDER: You do not need to kill anything, you need to ##BSURVIVE##b!
+
+
+REVENGE TIME!
+
+
+RMG
+
+
+RMG+Playtest
+
+
+ROGUE YETI SLAYING REQUEST
+
+
+Race
+Carrera
+
+Raid Trousers
+Pantalones de incursión
+
+Raid and me have been in hot pursuit for a while, but I fear it is already too late. Yesterday there was another earthquake, and we're receiving summons to return to Tulimshar at once. Apparently, it is under attack.
+
+
+Raid might be great. Saul might be popular. SphinxNox might be an annoying brat. But I'm, or rather, will soon be... @@.
+
+
+Raify
+
+
+Raijin
+Raijin
+
+Raise agility to do this quest.
+
+
+Raise city taxes
+
+
+Raise damage of next skill.
+
+
+Raise max members
+
+
+Raise server wide EXP
+
+
+Raise vitality to be able to drink even more.
+
+
+Raising Taxes
+
+
+Raising this skill will allow to recruit 4 more members.
+
+
+Rakinorf, Mayor
+
+
+Random Bif
+
+
+Random movement and extra desync
+
+
+Rapid Gunstaff
+Arma rapida
+
+Rare Drops:
+
+
+Rare Mines
+
+
+Rasin
+
+
+Ratte
+
+
+Ratto
+Ratto
+
+Ratto Tail
+Cola de Ratto
+
+Ratto Teeth
+Dientes de Ratto
+
+Rattos are very fast. They walk fast and attack fast. I advise bringing some healing items!
+
+
+RattosControl
+RattosControl
+
+Raw Log
+Tronco en bruto
+
+Raw Talisman
+Talisman en bruto
+
+Re-casting the same magic spell or skill won't give you magic experience.
+
+
+Re-ref... Reflect.
+
+
+Reach level @@ to unlock this tier!
+
+
+Read Rules
+
+
+Read the News.
+
+
+Read the Rules.
+
+
+Read the instructions carefully.
+
+
+Read the last 30 days %s
+
+
+Read the tutorial again?
+
+
+Read tutorial again?
+
+
+Ready...
+
+
+Reagents & Other Potions
+
+
+Real Bronze Gladius
+Gladius de bronce real
+
+Really attack the Mouboo with a(n) @@?
+
+
+Really begin the Doppelganger Challenge?
+
+
+Really deploy your homunculus?
+
+
+Really give a %s to Jhon?
+
+
+Really give the %s to %s?
+
+
+Really give your %s to the teddy?
+
+
+Really give your @@ to Baktar?
+
+
+Really give your @@ to the Mouboo?
+
+
+Really interesting, how I am NOT seeing the items I asked for...
+
+
+Really kill Barbara?
+
+
+Really learn this skill?
+
+
+Really melt down all your @@? It'll cost you @@ GP each. This action cannot be undone!
+
+
+Really melt down your @@? It'll cost you @@ GP. This action cannot be undone!
+
+
+Really resign?
+
+
+Really try to tweak this item? All current options will be deleted.
+
+
+Really? That would be great!
+
+
+Really? What do you need?
+
+
+Really? Where are you from?
+
+
+Reaper
+
+
+Rebirth
+
+
+Rebirth Race Selection
+
+
+Rebirth Season
+
+
+Rebirth Trait Selection
+
+
+Rebirth is free. Here are the perks you'll get by doing the rebirth:
+
+
+Recall
+
+
+Receive Chocolate
+
+
+Received @@ @@!
+
+
+Recepcionist#TInn
+
+
+Receptionist#003-0
+
+
+Recipe Book
+Libro de recetas
+
+Recommended Level: %d+
+
+
+Recommended: ##B%d##b | Max: %d
+
+
+Recover some HP.
+
+
+Recruiter
+
+
+Red
+Rojo
+
+Red Apple
+Manzana roja
+
+Red Butterfly
+
+
+Red Dye
+Tinte rojo
+
+Red Follower (F)
+
+
+Red Follower (M)
+
+
+Red Knight Armor
+
+
+Red Mushroom
+
+
+Red Nose
+
+
+Red Plush Wine
+Vino rojo de lujo
+
+Red Scorpion
+
+
+Red Scorpion Claw
+
+
+Red Scorpion Claw -> Scorpion Claw
+
+
+Red Scorpion Stinger
+Aguijón de escorpión rojo
+
+Red Scorpion Stinger -> Scorpion Stinger
+
+
+Red Scorpion breed as fast as the Ratto! With our current numbers, it's nearly impossible to take over.
+
+
+Red Skull Slime
+
+
+Red Slime
+
+
+Red Slime Mother
+
+
+Red Stocking
+Medias rojas
+
+Red Stockings
+Medias rojas
+
+Red Switch#EP
+
+
+Red Wizard
+
+
+Red scorpion
+
+
+RedSlime
+
+
+Reduces MP cost when using chanting-based skills.
+
+
+Redy
+Redy
+
+Reed Bundle
+Paquete de cañas
+
+Referral Program Report
+
+
+Reflect Card
+Tarjeta de reflejo
+
+Reflect Card S
+
+
+Reflect Card X
+
+
+Registed %s ago
+
+
+Register
+
+
+Register fee is @@.
+
+
+Registered! You can now use any banking service, of any town!
+
+
+Registered, welcome to the Grand Hunter Quest!
+
+
+Registration is open to everybody, but newcomers need to pay a fee for all of the paperwork.
+
+
+Regnum Blessing
+
+
+Regular Drops:
+
+
+Reinboo Wand
+
+
+Reject
+
+
+Reload NPC Data
+
+
+Remaining time: @@
+
+
+Remember also: It is wise to speak with people you meet on your journey, there is always something new to learn.
+
+
+Remember my name: I am Isbamuth, and I've took the Throne which rightfully belongs to me.
+
+
+Remember that some equipment sets will give you hidden stat bonuses! So dress yourself in a fashion way, if possible!
+
+
+Remember that wearing green BOOSTS the rates at which good stuff will be found!
+
+
+Remember the masked man said he was from Frostia? Or masked woman, we don't know. You should inform their Mayor at once.
+
+
+Remember to give it a balanced diet of Aquadas to make it happy.
+
+
+Remember to store somewhere any heavy stuff you might be carrying.
+
+
+Remember! You're trading things, not lending/borrowing them. You are solely responsible for everything you own.
+
+
+Remember, I need %d %s, %d %s, and something interesting to read.
+
+
+Remember, I need 30 @@, 50 @@, and 30 @@.
+
+
+Remember, I'll make a @@ for you!
+
+
+Remember, there is always something new to learn. And you should not let your training down in order to keep and improve your abilities.
+
+
+Remember: Never lend your toothbrush to a slime!
+
+
+Remember: Players can also help enforcing no-AFK-bot rule!
+
+
+Remember: Taking damage will make you stand!
+
+
+Remember: The bigger the area or power, or the more complex it is, the more mana it costs.
+
+
+Remember: The bigger the area or power, the more mana it costs.
+
+
+Reminder : Defeat the %s to win.
+
+
+Reminder:
+
+
+Reminder: Keep an eye out for traps.
+
+
+Reminds me, but they say the Aethyr is a place where powerful elves of old live. But nobody has been there on the past century... Or if they were, nobody said anything about it! Hahahah!
+
+
+Remove this line
+Eliminar esta línea
+
+Renew Rent
+
+
+Rent 1 day for 100 GP
+
+
+Rent 1 day for 50 GP
+
+
+Rent 15 days for 1200 GP
+
+
+Rent 15 days for 600 GP
+
+
+Rent 3 days for 135 GP
+
+
+Rent 3 days for 270 GP
+
+
+Rent 30 days for 1000 GP
+
+
+Rent 30 days for 2000 GP
+
+
+Rent 7 days for 300 GP
+
+
+Rent 7 days for 600 GP
+
+
+Rent Renew Price: @@ GP
+
+
+Rent arena
+
+
+Rent it! Make it mine!
+
+
+Rent successful for 30 days!
+
+
+Rent time available: @@
+
+
+Rented Cart
+
+
+Repair items
+
+
+Repeat
+
+
+Repeat how many times?
+Repita, ¿cuántas veces?
+
+Repeat new password:
+
+
+Repeat: @@ times
+Repetir: @@ veces
+
+Reply: %s
+
+
+Reputation cannot go above 100!
+
+
+Requires logout
+Requiere cerrar la sesión
+
+Rescue Cindy from the Ice Labyrinth and the evil Yetis. This is a global, multiplayer quest.
+
+
+Rescuing Cindy Quest
+
+
+Research Points
+
+
+Research Points +%d
+
+
+Researcher
+
+
+Researcher Alyta's Residence
+
+
+Researcher Jak's Residence
+
+
+Researchers from the magic school complained about %ss disturbing whatever they are studying in the cave.
+
+
+Reset
+Reiniciar
+
+Reset & Destroy
+
+
+Reset Crazyfefe Fight
+
+
+Reset EVERYTHING
+Reiniciar TODO
+
+Reset done!
+¡Reinicio concluido!
+
+Reset stats, skills, level
+Reiniciar estadísticas, habilidades, nivel
+
+Reset status
+
+
+Reset!
+
+
+Reset?
+
+
+Resign
+
+
+Resting. I've been slaying slime nests the whole day.
+
+
+Restore it
+
+
+Resurrection
+
+
+Retaliates next attack with a critical hit. This instance lasts a second.
+
+
+Return
+Regresar
+
+Return @@ boxes
+
+
+Return Potion
+Poción de retorno
+
+Return Potions works instantly. Talk to Wyara to get more.
+
+
+Return to Debug menu
+Volver al menú Limpieza
+
+Return to Frostia's Castle?
+
+
+Return to Sagratha's House?
+
+
+Return to Super Menu
+Volver al Menú Super
+
+Return to User Control Panel
+
+
+Return to main island.
+
+
+Return to main menu
+Volver al menú principal
+
+Return to your time!
+
+
+Revert a player exile
+
+
+Revives an already dead allied player. Req. Lifestone to cast.
+
+
+Revolver Shooter
+
+
+Reward: 200 GP, 200 XP
+
+
+Reward: 700 GP, 400 XP, 1 @@
+
+
+Rice Hat
+Sombrero de arroz
+
+Richard
+
+
+Riding Mouboo
+Mouboo montabl
+
+Riding Tortuga
+Tortuga montable
+
+Rifle Shooter
+
+
+Right Crafty Wing
+Ala derecha hábil
+
+Right Eye Patch
+Parche de ojo derecho
+
+Right click on the NPC to join the Liberation Force on Hurnscald.
+
+
+Right click on this NPC to join the Hurnscald Alliance.
+
+
+Right now this territory is under the Monster Army's control, but the Alliance has occupied it to raid the Impregnable Fortress.
+
+
+Right now you are too weak.
+
+
+Right now, there is a strong wind blowing from @@.
+
+
+Right'o, I'll arrange the material!
+
+
+Right, but now I have business in other places.
+
+
+RightDoorCheck
+RightDoorCheck
+
+Rings
+
+
+Roach
+Escarcho
+
+Roasted Maggot
+Gusano asado
+
+Robert
+
+
+Robin Bandit
+
+
+Rock
+
+
+Rock Knife
+Cuchillo de roca
+
+Roger
+
+
+Roger begins to read.
+
+
+Roger, eh? Aye, I do need help. If you bring me 30 @@, 50 @@, and 30 @@, maybe I can give you a reward.
+
+
+Rogue
+Rufián
+
+Rogue Status
+
+
+Room password: @@
+
+
+Root
+Raiz
+
+Rosa Card
+
+
+Rose
+Rosa
+
+Rosen
+
+
+Rotten Rags
+Trapos podridos
+
+Round @@
+
+
+Round Leather Shield
+Escudo de cuero redondo
+
+Royal Fairy
+
+
+Royal Guard#02416A
+
+
+Rrrr... Pchhhh...
+Rrrr...Pchhhh...
+
+Rubber Ducky
+Patito de goma
+
+Ruby
+Ruby
+
+Ruby (+2 str)
+
+
+Ruby Bif
+
+
+Ruby Powder
+Polvo de rubí
+
+Rudolph Slime
+
+
+Ruined place?
+
+
+Rules
+
+
+Rules.
+
+
+Rules:
+
+
+Rum
+
+
+Rum Barrel
+
+
+Run and try jumping it!
+
+
+Run away?
+
+
+Run like the wind, @@! For you shall have only @@ to finish the ritual!
+
+
+Run! Event started!
+
+
+Runestaff
+
+
+Running is for noobs, we should hold our ground!
+
+
+Rusty Knife
+Cuchillo oxidado
+
+Ryan
+
+
+Rychell
+
+
+Rydel
+
+
+SCRIPT ERROR (%s/%s)
+
+
+SHORT GUNSTAFF
+
+
+SHOULD
+
+
+SHUT UP PEETU, I'M ALREADY TIRED OF LISTENING YOUR CRIES!
+
+
+SMASH! And it is now only dust...
+
+
+SPIN!
+
+
+STA
+
+
+STORY MODE ENABLED. Monsters won't attack you, so you can read without worries.
+
+
+SUCCESS! Congratulations, the item was improved!
+
+
+Sabotage
+
+
+Sacred Bullet
+
+
+Sacred Forest Hat
+Sombrero del Bosque Sagrado
+
+Sacred Immortality Potion
+
+
+Sacred Life Potion
+Poción de vida sagrada
+
+Sacred Mana Potion
+Poción de maná sagrada
+
+Sacred Wisp
+
+
+Sadly, you found nothing but dirt.
+Tristemente, no encontró nada más que basura.
+
+Saevel
+
+
+Safe travels!
+
+
+Sage
+Sabio
+
+Sagratha
+
+
+Sagratha Door
+
+
+Sagratha hates my guts.
+
+
+Sagratha#_M
+
+
+Sailing Away!
+
+
+Sailor
+
+
+Sailor Hat
+Sombrero de marinero
+
+SailorShirt
+Camisa de Marinero
+
+Sailors
+Marineros
+
+Sailors#003-1
+
+
+Sailors#005-1
+
+
+Sakar can now bring you directly to Asphodel Moors. Scouts found a second town as well, from where the raiders seems to be coming from!
+
+
+Sake Barrel
+
+
+Sale successful!
+
+
+Salohnic
+
+
+Samurai Helmet
+Casco samurái
+
+Santa Beard Hat
+Sombrero de Santa Barba
+
+Santa Globe
+Globo de santa
+
+Santa Hat
+Sombrero de Santa
+
+Santa Slime
+
+
+Santa can give one present for all players. Maybe if we got 200...
+
+
+Santeri
+
+
+Sapphire
+Zafiro
+
+Sapphire (+2 int)
+
+
+Sapphire Bif
+
+
+Sapphire Powder
+Polvo de zafiro
+
+Sarab Armlet
+Brazalete de Sarab
+
+Sarah
+
+
+Sarracenus
+
+
+Saul and Fefe did a great revolution,
+
+
+Saul is planning an assault at the Magic Tower. I want these Mana Stones.
+
+
+Saul is supplying me the alchemist resources for that. In exchange, my thieves supply him gold and spare his friends.
+
+
+Saul will deal with it. His mess, he will clean up. Raid and me will keep the pursuit. And this time, we shall triumph.
+
+
+Saul will lead the frontal assault, Mr. Saves shall provide distraction, and I'll infiltrate within the Mage Tower.
+
+
+Saulc Card
+
+
+Saulc Sponsor
+
+
+Saulc is rich, you know. He challenged a group of thirty NPCs to defeat him, whoever won would get this @@.
+
+
+Saulc was here
+
+
+Saulc, Crazyfefe and Jesus Saves are the three High Councillors. Don't do anything illegal while they're watching!
+
+
+Saulc, the Bug Master
+
+
+Saulcandy
+Dulce de Saulc
+
+Save & Exit
+
+
+Save Point (@@m)
+
+
+Savior
+
+
+Savior Armor
+
+
+Savior Blueprint
+
+
+Savior Boots
+
+
+Savior Helmet
+
+
+Savior Pants
+
+
+Savior Shield
+Escudo Salvador
+
+Savior Sky Piercer
+
+
+Sawis
+
+
+Saxso
+
+
+Saxso Chest
+
+
+Saxso Ghost
+
+
+Saxso Key
+Llave de saxo
+
+Saxso's Basement, Candor - 27th July 300 AT
+
+
+Saxso's Official Residence.
+
+
+Saxso, the former mayor, commanded me to strengthen the youngsters, so that they have sufficient power to fight monsters.
+
+
+Say magic words
+
+
+Say that Mouboos are Cute?
+
+
+Say, what do you think if I transmuted your head into the missing materials? I can warrant your soul won't return to the Soul Menhir, either!
+
+
+Saying that you were sent here would prove nothing.
+
+
+Scar
+
+
+Scarfs
+
+
+Scary...........
+
+
+Scented Grenade
+
+
+Scepter of Thunder
+
+
+Scheduled broadcasts
+Emisiones programadas
+
+Scheduled broadcasts - Create new
+Emisiones programadas - Crear nueva
+
+Scheduled: April 17th - 24th
+
+
+Scheduled: April 27th - May 3rd
+
+
+Scheduled: December 19th - January 2nd
+
+
+Scheduled: February 12th - 15th
+
+
+Scheduled: February 13th - 16th
+
+
+Scheduled: January 13rd
+
+
+Scheduled: July 20th ~ 31st
+
+
+Scheduled: July 7th
+
+
+Scheduled: March 2nd
+
+
+Scheduled: October 1st
+
+
+Scheduled: September 9th
+
+
+Scholars dedicate part of their time so others can learn about the world, and as such, they are always welcome to this Academy.
+
+
+Scholarship Badge
+Insignia de beca
+
+Scholarship Institute is on the %s area of the campus.
+
+
+Scholarship Science
+
+
+Scholarship Tuition
+
+
+School of Quirks (Candor)
+
+
+Scissors
+
+
+Score: %s / %s
+
+
+Scoreboards
+
+
+Scores are updated every 6 hours.
+
+
+Scores close at Sunday 23:59 - No scores will be given for last minute rushes!
+
+
+Scorpion
+
+
+Scorpion Claw
+
+
+Scorpion Stinger
+Aguijón de escorpión
+
+Scorpions killed: @@/@@ scorpions
+
+
+Scout
+
+
+Screams
+
+
+Script Error
+
+
+Script Error: "Tux didn't found his fish! Blame Saulc at once!"
+
+
+Scroll Angel Light
+
+
+Scroll Angel Light+
+
+
+Scroll Angel Light++
+
+
+Scroll Battle Plans
+
+
+Scroll Battle Plans+
+
+
+Scroll Battle Plans++
+
+
+Scroll Critical Fortune
+
+
+Scroll Critical Fortune+
+
+
+Scroll Critical Fortune++
+
+
+Scroll Defense Bless
+
+
+Scroll Defense Bless+
+
+
+Scroll Defense Bless++
+
+
+Scroll Magnus Heal
+
+
+Scroll Magnus Heal+
+
+
+Scroll Magnus Heal++
+
+
+Scroll Summon Cave Maggot
+
+
+Scroll Summon Dragon
+
+
+Scroll Summon Maggot
+
+
+Scroll Summon Terranite
+
+
+Scroll Summon Wolvern
+
+
+Scroll Summon Yeti
+
+
+Scythe
+Guadaña
+
+Sea Drops
+Gotas de Mar
+
+Sea Slime
+
+
+Sea Slime Mother
+
+
+Sea Water
+
+
+Sealed Soul
+Alma sellada
+
+Season: %s
+
+
+Seasonal Drop Control
+
+
+Second Dungeon Master
+
+
+Second Tier
+
+
+Secret Admirer
+
+
+Secret Passages
+
+
+Secret Window
+
+
+See you later!
+¡Nos vemos luego!
+
+See you later, my friend! Thanks for the drink!#0
+
+
+See you later, my friend! Thanks for the drink!#1
+
+
+See you soon!
+¡Hasta pronto!
+
+See you!
+¡Nos vemos!
+
+See you.
+
+
+Seems like Arkim held it too close to the flame...
+
+
+Seems like someone else opened this chest before you!
+
+
+Seems like the rat have come after the cheese.
+
+
+Seems like they're having difficulty handling the demand, and
+
+
+Seems to be a recipe book about apple cookies.
+
+
+Seems to be accounting reports and stuff. You take a few pages.
+
+
+Seems to be related to alchemy.
+
+
+Seldomly, they'll have an exclamation mark over their heads. But some quests are hidden, so talk to people and have fun!
+
+
+Select a set of skills:
+
+
+Select carefully which weapon you want, so there are no regrets.
+
+
+Select difficulty.
+
+
+Select one:
+
+
+Select your preferred play-style.
+
+
+Selim
+
+
+Sell
+
+
+Sell old equipment and items you won't use. For example, what should you do with a @@ or an @@? Sell it!
+
+
+Selling rares
+
+
+Send 10 times
+Enviar 10 veces
+
+Send 2 times
+Enviar 2 veces
+
+Send 20 times
+Enviar 20 veces
+
+Send 3 times
+Enviar 3 veces
+
+Send 5 times
+Enviar 5 veces
+
+Send Chocolate
+
+
+Send indefinitely
+Enviar indefinidamente
+
+Send only once
+Enviar sólo una vez
+
+Send soul to the Mana Plane for GM events
+
+
+Send them to Valentine Island!
+
+
+Send this message also on login?
+¿Enviar también este mensaje al acceder?
+
+Send your Homunculus to a slime nest!
+
+
+Send your Homunculus to hold off snakes!
+
+
+Send your Homunculus to loot the Impregnable Fortress!
+
+
+Send your Homunculus to make money!
+
+
+Send your Homunculus to mineration!
+
+
+Send your Homunculus to one of the most dangerous...!
+
+
+Sending the letter will give you double event points, but no more than 10 extra points per letter.
+
+
+Sent on login: @@
+Enviar al acceder: @@
+
+Sent on login: yes
+Enviar al acceder: sí
+
+Sent: @@ times out of @@
+Enviar: @@ veces fuera de @@
+
+September 22nd - December 20th
+
+
+Serf Hat
+Sombrero de siervo
+
+Serge
+
+
+Seriously? What sort of reward is that?
+
+
+Server
+
+
+Server Happy Hour Decreed
+
+
+Set All Perms
+
+
+Set a new broadcast
+Introduzca una nueva emisión
+
+Set room password
+
+
+Set sail! We're going to Tulimshar!
+
+
+Set status @@ with @@ kills
+
+
+Setzer
+Setzer
+
+Seven consecutive brawn attacks of diff. elements.
+
+
+Seven levels is what the Mana Seed may give to any race but Saviors.
+
+
+Several books about alchemy. Seems to be pretty advanced.
+
+
+Several books about artificial lifeforms and the man who played God.
+
+
+Several books about hiding magic. Might be why the houses looked abandoned and empty but the chimney was going.
+
+
+Several flasks are aligned there. They seemed to be dyes, but a close inspection reveals they're not.
+
+
+Several special clovers will show up at forests.
+
+
+Sewer Water
+Agua de alcantarilla
+
+Shaabty
+
+
+Shaabty the Fairy
+
+
+Shadow Herb
+Hierba de las Sombras
+
+Shadow Herb only grows on dangerous places, and is mostly found on the Land Of Fire, or underground of very very deep caves.
+
+
+Shadow Pixie
+
+
+Shadow Plant
+
+
+Shadow Tortuga
+
+
+Shall you disband your guild for whatever reason, you'll need to pay again. No refunds. No complaining.
+
+
+Shall you have any inquiry, do not hesit to [@@mailto:admin@tmw2.org|send us an email@@]##b.
+
+
+Shannon
+
+
+Sharp Knife
+Cuchillo afilado
+
+Sharpshooter
+
+
+Sharpshooting skill replaced with Charged Arrow.
+
+
+She and her husband Simon Bowmaker, vowed to teach the ways of archery to those with willpower, and allow everyone to use a bow.
+
+
+She can't remember if anything else right now.
+
+
+She doesn't likes @@s, only cute animals. She doesn't likes Ghosts, Undeads, and Shadow monsters either.
+
+
+She doesn't seems to trust me... Maybe I should bring a guild vice-leader, or even better, the guild master himself.
+
+
+She falls in a single blow. You'll attribute her death to the Mysterious Assassin.
+
+
+She is a scary woman and you would do well to remember this.
+
+
+She is staring at the empty sea and sighing. She seems to be really down after Andrei Sakar passed away.
+
+
+She isn't on that cave.
+
+
+She met an adventurer named Merlin outside of the
+
+
+She mix the powder with the slime inside the bottle, and makes some weird mixture.
+
+
+She must be thristy, fighting monsters on this sun... If somebody could give her Cactus Potions...
+
+
+She never leaves the shade of that tree, she is always sending messages by other people!!
+
+
+She pours something on it, you're not sure what. And then utters some magic words.
+
+
+She probably just went out for a walk. Nothing to worry, I hope.
+
+
+She shakes her head.
+
+
+She should be safe as she is a strong woman, but... You never know.
+
+
+She shudders.
+
+
+She smiles.
+
+
+She snaps her fingers.
+
+
+She walks to the target.
+
+
+She wanted the Soul Eater defeated. Destroying the whole world never stopped her before.
+
+
+She was a tyrant who wanted to rule over not only Tulimshar, but the whole mana world, with an iron fist. She even charged her own premier of treason and tried to execute him.
+
+
+Sheila the Clockmaker
+
+
+Shemagh
+Shemagh
+
+Shield Recipes
+
+
+Shields
+
+
+Ship travels are not free. Also, I have a few friends on the Island, and I would like you to check out on them.
+
+
+Ship travels are quite expensive, so perhaps you may think it is worth to complete the other quests here?
+
+
+Shoes
+
+
+Shooo, shooo! Give my crops some time to recover, your noob.
+
+
+Shoot FIVE arrows or bullets to the air and cause Area Of Effect Damage.
+
+
+Shoot an arrow or bullet which damages everything on its way.
+
+
+Shop#Candor
+
+
+Shop#bazar1
+
+
+Shoppa Kep
+
+
+Short Bow
+Arco corto
+
+Short Gladius
+Gladius corta
+
+Short Gunstaff
+Arma corta
+
+Short Sword
+Espada corta
+
+Short Tank Top
+
+
+Shotgun Shooter
+
+
+Should I attach a love letter?
+
+
+Should I walk on it?
+
+
+Should we ask about the %s before leaving?
+
+
+Should we give this shady looking 'fella a %s?
+
+
+Should we?
+
+
+Should you be too quick or wait too long, you will most likely fail.
+
+
+Shovel have been changed, right-click it to bury items.
+
+
+Show Tutorial Protips
+
+
+Show me a report
+
+
+Show me something more advanced!
+
+
+Show me what you can!
+
+
+Show me what you got, noob.
+
+
+Shrewboo
+
+
+Shroom Hat
+Sombero Shroom
+
+Siege Tower
+
+
+Sign the non-disclosure agreement?
+
+
+Sign#0051UG
+
+
+Sign#0060CF
+
+
+Sign#0060PI
+
+
+Sign#0063CF
+
+
+Sign#0063PI
+
+
+Sign#0066CR
+
+
+Sign#0066ER
+
+
+Sign#0066WR
+
+
+Sign#014517929
+
+
+Sign#01916730
+
+
+Sign#019295108
+
+
+Sign#02213844
+
+
+Sign#HalinRoute
+
+
+Sign#HalinarzoGoto
+
+
+Sign#MKH
+
+
+Sign#RES_0096
+
+
+Sign#RES_0097
+
+
+Sign#RES_0128
+
+
+Sign#RES_0177
+
+
+Sign#RES_0178
+
+
+Sign#TempBugfix
+
+
+Signpost#lof
+
+
+Silence
+
+
+Silk
+
+
+Silk Cocoon
+Capullo de seda
+
+Silk Gloves
+
+
+Silk Pants
+
+
+Silk Robe
+
+
+Silk Worm
+
+
+Silk worm
+
+
+Silkworm
+
+
+Silver Bell
+Campana de plata
+
+Silver Boss Gift
+
+
+Silver Chest
+
+
+Silver Dye
+Tinte de plata
+
+Silver Easteregg
+
+
+Silver Four-Leaf Amulet
+Amuleto de plata de cuatro hojas
+
+Silver Gift
+Regalo de plata
+
+Silver Ingot
+Lingote de plata
+
+Silver Key
+Llave de plata
+
+Silver Mirror
+Espejo de plata
+
+Silver Ore
+Mineral de plata
+
+Silver Ore -> Copper Ore
+
+
+Silver Ring
+
+
+Silver Ring!
+
+
+SilverMedal
+
+
+Silversmith
+
+
+Silvia
+
+
+Silvia is in Noble District of Tulimshar.
+
+
+Simon
+
+
+Simply put, they are raw power.
+
+
+Since Merlin left in an expedition with Morgan, strange things have been happening in Kamelot.
+
+
+Since red is the official color of Land of Fire Village, I craft dye for players who will properly represent our town.
+
+
+Since supplies are limited, I currently prioritize orders placed by higher level players.
+
+
+Since the war outbreak, we have to keep moving constantly. Without strong walls to protect ourselves, though, our clan is on the verge of extinction.
+
+
+Sincerity Island
+
+
+Sing a song to brighten its mood.
+
+
+Sing me about grinding!
+
+
+Sing me about miscellaneous monsters!
+
+
+Sing me about slaying Pinkies!
+
+
+Sing me about the world!
+
+
+Sing me the fate of the weapons!
+
+
+Sing me the legend of the five heroes!
+
+
+Sir Phoenix
+
+
+Sir Pyndragon and Lady Lalica asked to thank thee for the situation with the thief.
+
+
+Sir Sakar and adventurers are raiding Dracula's Fortress. It is a crazy place, though, who knows what they'll find? He should be at the north exit of this town.
+
+
+Sir Sakar and adventurers are raiding Dracula's Fortress. They found out the Underworld and there is a magic tree. You'll need a %s to use it.
+
+
+Sir Sakar is conducting an exploration on this land. However, you should be able to refine and tweak equipment, as well as crafting your own. Once you're ready, find him at %s of this town.
+
+
+Sit on the rug in front of me and learn wisdom! Maybe you'll learn something this way.
+
+
+Skeleton
+
+
+Skill @@ has been lost
+
+
+Skill @@ will be permanently lost!
+
+
+Skill Level: %d
+
+
+Skill improved
+
+
+Skill is in cooldown for @@.
+
+
+Skill learnt!
+
+
+Skip prologue
+
+
+Skipping will FORSAKE rewards for the quest and related; So choose wisely!
+
+
+Skull
+Cráneo
+
+Skull Bloody Mug
+Taza Calavera sangrienta
+
+Skull Mask
+Máscara de calavera
+
+Sleep
+
+
+Sleeping Bandit
+
+
+Sleeping at night, the bonus will be stronger!
+
+
+Sleeping will fully replenish your health.
+
+
+SleepingBandit
+
+
+Slime Blast
+
+
+Slime Nest
+
+
+Slimes
+
+
+Slimes are on the loose. They have escaped, ate several books, and some are still in the building.
+
+
+Slippers
+Pantuflas
+
+Slot Machine#003-10a
+
+
+Slot Machine#012-7a
+
+
+Slot Machine#017-3a
+
+
+Small Amethyst Bif
+
+
+Small Arrow Sack
+
+
+Small Bullet Sack
+
+
+Small Chocolate Bar
+Pequeña barra de chocolate
+
+Small Diamond Bif
+
+
+Small Diamond Biff
+
+
+Small Elenium Bif
+
+
+Small Emerald Bif
+
+
+Small Fishing Net
+Red de pesca pequeña
+
+Small Frog
+
+
+Small Knife
+Cuchillo pequeño
+
+Small Magic Bif
+
+
+Small Mushroom
+Seta pequeña
+
+Small Ruby Bif
+
+
+Small Sapphire Bif
+
+
+Small Tentacles
+Tentáculos Pequeños
+
+Small Topaz Bif
+
+
+Smells like mouboos.
+
+
+Smiley Cap
+Gorra sonriente
+
+Smith Silvers
+
+
+SmokeGrenade
+
+
+Snail
+
+
+Snake
+
+
+Snake Bola
+Flotador de serpiente
+
+Snake Egg
+Huevo de serpiente
+
+Snake Egg -> Cave Snake Egg
+
+
+Snake Pit
+
+
+Snake Skin
+Piel de serpiente
+
+Snake Skin -> Cave Snake Skin
+
+
+Snake Tongue
+Lengua de serpiente
+
+Snake Tongue -> Cave Snake Tongue
+
+
+Snale
+
+
+Snow Binny (NYI)
+
+
+Snow Flower
+
+
+Snowflake
+Copo de nieve
+
+Snowman
+
+
+Snowman Globe
+Esfera de muñeco de nieve
+
+So COOL, thanks! Come back later to bring me extra @@!
+
+
+So I did what I could - What I always do. Turned my beloved sister in a slime. Turned her into what killed her.
+
+
+So be nice and help people along the way!
+
+
+So did you take care of my 'Piou Problem?'
+
+
+So fine and pink, tasty too!
+
+
+So good you are here. We have a huge problem.
+
+
+So here is what I am thinking.
+
+
+So how can I help you?
+
+
+So if you bring me %d %s, I'll pay you awesomely! Whaddaya say?!
+
+
+So if you can help, go kill at least one on this island. They take a long time to respawn.
+
+
+So if you have any issue which would require the Mayor to see it, you'll need me first.
+
+
+So in a hurry, I forgot to take enough bait for fishing.
+Así que con las prisas, olvidé coger suficiente cebo para pescar.
+
+So it could be nice, if you could bring me 20 @@,
+
+
+So let's strike a deal, bring me %d %s, %d %s, %d %s, and a %s. I'll reward you, promise.
+
+
+So long, and thanks for all the fish!
+
+
+So many bookpages are still missing...
+
+
+So tell me already what you need, and what is the reward!
+
+
+So they need me again. Alright. Tell them the following:
+
+
+So whaddaya say, sign up won't you?
+
+
+So what can I say, except, you're welcome
+
+
+So what do you say? You in?
+
+
+So you have now a pet, who is loyal to you. It'll follow you everywhere, but there are two things you must know.
+
+
+So you think you're tough? A warrior must also be loyal and patient.#0
+¿Así que se cre dura? Un guerrero debe ser también leal y paciente.#0
+
+So you think you're tough? A warrior must also be loyal and patient.#1
+¿Así que se cre duro? Un guerrero debe ser también leal y paciente.#1
+
+So! Bring me %d %s so I may study its properties and make a purifier or enhancer for our well.
+
+
+So! Please transmute a @@ and bring it to me. You may need to switch with another mana skill, until you are successful.
+
+
+So, %s, I know you have other priorities. I don't even know why you are here - for riches? For glory, for fame? To save the world? To find out about your past? To talk with me because, well, I am just *that* cool? All of the above? Perhaps something else?
+
+
+So, I looked the records. There was nothing really useful.
+
+
+So, I was thinking in crafting a @@ for you.
+
+
+So, I'll have to ask you to get strong and some money for the trip. So, go train now! I wish you the best of the luck!
+
+
+So, I'm placing a special bounty for @@ Mob Points.
+
+
+So, Peetu didn't check the ingredients before casting? That's... Well, I don't know.
+
+
+So, back to action! Finally. Your next destination is going to be Frostia Town.
+
+
+So, could I help you?
+
+
+So, did you brought me the twelve cherry cakes?
+
+
+So, do you have the items?
+
+
+So, for the fertilizer. The thing is, all that thing is unstable.
+
+
+So, how can I help you today?
+
+
+So, how do you feel? I see that Juliet did a marvellous job! You look like you're in good health now.
+
+
+So, if you could bring me %d of them, that would be totally awesome! I'm counting on you!
+
+
+So, if you could bring me %d of them, that would be totally awesome! Pretty please! I'm counting on you!
+
+
+So, if you hired a Mercenary to protect your back... Would you prefer it to attack from rearguard, or charge against certain death, buying you time?
+
+
+So, it is @@ GP each one up-front. Or I can brew with your materials:
+
+
+So, it is ready?
+
+
+So, let's return to the business at hand. My men went down and haven't returned. That was long ago, by the way.
+
+
+So, let's work with the last proposal, that you're from an ancient family. We can backtrace what they did.
+
+
+So, only citzens, elves and dwarves are normally welcome here and I'm NOT going to make you an exception.
+
+
+So, please kill %d/%d %ss for us and make the city a better place!
+
+
+So, please kill 3 @@, which are usually found around our beaches. You can sell their stingers if you are short on money.
+
+
+So, please kill @@/@@ @@ for us and make the world a safer place!
+
+
+So, please kill a %s for us and make the world a safer place!
+
+
+So, please, come to me with stronger magic powers. And then, I'll teach you a new magic spell.
+
+
+So, please, make the most of your stay and our leather works before this knowledge disappear from the world!
+
+
+So, there is a magical barrier to the right, which is in place exactly to protect us.
+
+
+So, what about this: You bring me a @@ and I'll tailor anything you need!
+
+
+So, what did he said?
+
+
+So, what do you say about a deal? I'll affiliate you on the Pet Caring Guild for only 5.000 GP!
+
+
+So, what to expect? Past this gate is a panthom town and some steel grating. Past the grating is the actual Impregnable Fortress.
+
+
+So, what will it be?
+
+
+So, when you get on the door, knock it, and say this: "@@". She will open the door for you.
+
+
+So, where we were again... Oh right, travel to world edge, look for family or whatever, right?
+
+
+So, will you challenge me?
+
+
+So, will you go?
+
+
+So, you are the first and must contact Jesusalva %%g
+
+
+So, you have fulfilled this part of the misssion. Bring %d %s and a %s to Pachua in the Desert Canyon, and say the same thing to him so he knows you're with us.
+
+
+So, you just need to survive for one minute, and I'll consider you are good enough.
+
+
+So, you need an alternative way to earn a living. So I looked at what is at highest demand right now, and which will remain once the war ends, and I've found you... %s!
+
+
+So, you want some @@ to keep you comfy on this harsh winter?
+
+
+So, you would die a few thousands of times before ever reaching Halinarzo.
+
+
+So. For the info dump or text wall... I'll let you choose what you want to know, or to skip it entirely.
+
+
+So. Uhm. The monsters here have varying levels of strength... I think the best way is to witness that yourself.
+
+
+So... @@ That night, I cast it as usual. Everything seemed alright so I went to bed.
+
+
+So... Anything new on my situation?
+
+
+So... Have you tried visiting the Canyons? I know, it is a crazy idea.
+
+
+So... I think I'm almost done! My plan is to force a @@ into being a pretty Butterfly. Hey, I like cute things!
+
+
+So... I won't say you can't do it, @@. I will just say killing the Bandit Lord is no easy task.
+
+
+So... I'm at your hands now... What will you do with me?
+
+
+So... You see... I usually pay a lot of attention to my work. Especially when doing something as delicate as sealing away the slimes for the night.
+
+
+So? How many *hic* he collect?
+
+
+So? How was it?
+
+
+Solana
+
+
+Solo
+
+
+Solo Try
+
+
+Some %ss have buried themselves in the sand near the path to the mine, causing burns to people stepping on them.
+
+
+Some %ss have left the mines and made themselves comfortable in the desert, coming closer than ever to us. When there are none left in the desert, go after their nest in the mines.
+
+
+Some are dangerous, too. Even if you look capable of fighting, the Blue Sage instructed me to prevent anyone from visiting until the mess is cleared.
+
+
+Some are just living their own lives. In special, I've spent part of my life studying the Yeti Society.
+
+
+Some are small, others are bigger. But they all fight together, so be mindful when they're in groups.
+
+
+Some bullets have Elemental Properties, by the way. Now, what will it be?
+
+
+Some items are only produced in Nivalis. After all, it is hard to work properly with ice in a desert!
+
+
+Some of finest elven craftmanship can be found there, like bows, for example.
+
+
+Some of my miners friends died in this mine, because there are plenty of dangerous monsters.#0
+
+
+Some of my miners friends died in this mine, because there are plenty of dangerous monsters.#1
+
+
+Some of them are pretty strong. Do you need an explanation about hit'n'run and the monster you're about to face?
+
+
+Some other adventurers are looking for it. Please wait %s more.
+
+
+Some others also like to buy them to keep as trophies. Either way, you can make some money with that.
+
+
+Some people say that I am the best tailor in the world, but I think I am the best one in the universe!
+
+
+Some people, however, prefer to fish with more unorthodox baits, such as @@ or @@.
+
+
+Some pets will also collect loot for you, right click on it so it drop whatever it is holding for you.
+
+
+Some quests and events, like the festival, are only available during specific times.
+
+
+Some rogue Yetis are trying to escape to Nivalis. I can't hold them back for more than @@.
+
+
+Some smoke still remains, but the fire seems to have died.
+
+
+Some special items cannot be traded, discarded, nor sold. With a right click, you can also protect normal items as if they were special ones.
+
+
+Some types of fish also enjoy @@ quite a bit.
+
+
+Some will only repeat yearly, while other events happen weekly or monthly, or in some other time aspect.
+
+
+Some, but not all, from the rare or non-replaceable items will have a warning when you try to sell them.
+
+
+Somebody already rented it before you!
+
+
+Somebody took your place on this spot!
+¡Alguien tomó su lugar en este punto!
+
+Someone else has already defeated this bounty.
+
+
+Someone else is using the guild storage right now. Please wait.
+
+
+Someone fell into the well.
+
+
+Someone looted this treasure box already...
+
+
+Someone seems to be drowned in the water.
+
+
+Someone who have clear priorities appeared! I'm glad!
+
+
+Something changed; We should see what is.
+
+
+Something else?
+¿Algo más?
+
+Something is happening down there.
+
+
+Something is wrong with me, I can't smile nor sit.
+Hay algo mal conmigo; no puedo sonreír ni sentarme.
+
+Something seems off with that!
+
+
+Something seems to be happening close to the Throne.
+
+
+Something seems wrong.
+
+
+Something to eat?
+
+
+Something very terrible happened.
+
+
+Sometimes I think it'd be better not to allow visitors here. But Nikolai set a high value on keeping contact with the population. Politics.
+
+
+Sometimes humans come here and play with me. Many thanks for the help!
+
+
+Sometimes you just need to run from battle.
+
+
+Sometimes, you just cannot afford to be hit. But even with a melee weapon, you don't need to be hit.
+
+
+Sometimes, you really wish you could visit new universes without having to pick some sort of role on it.
+
+
+Somewhere better to live?
+
+
+Sooo, the police station of Moubootaur Legends went ablaze. Constable Perry is too busy to monitor illegal operation on this continent.
+
+
+Sorcerer
+
+
+Sorcerer Robe
+
+
+Soren
+
+
+Soren Card
+
+
+Soren Village
+
+
+Soren xd#Valentine
+
+
+Soren's Fountain
+
+
+Soren's Gizmo
+
+
+Soren's House
+
+
+Soren's House Tutorial
+
+
+Soren's Lake
+
+
+Sorfina
+
+
+Sorfina recomposes herself.
+
+
+Sorry 'mam, I forgot courage on my other set of pants. This one doesn't have enough defense for it.#0
+
+
+Sorry 'mam, I forgot courage on my other set of pants. This one doesn't have enough defense for it.#1
+
+
+Sorry but I am not interested in that.
+
+
+Sorry for making you listen my rambles. I need someone strong, you see...
+
+
+Sorry kind lady @@, but no.#0
+
+
+Sorry kind sir @@, but no.#1
+
+
+Sorry pal, but only if another miner vouches for you.
+
+
+Sorry! I forgot to introduce myself. My name is Arpan, but other sailors call me Magic Arpan because I know one or two yaing magic tricks.
+
+
+Sorry! Sorry!
+
+
+Sorry, @@ already started the fight.
+
+
+Sorry, I am a newbie.
+
+
+Sorry, I am busy...
+
+
+Sorry, I am so hungry as you.
+
+
+Sorry, I can't help you. Go away!
+
+
+Sorry, I don't have any pets at the moment.
+
+
+Sorry, I forgot my courage on my other set of pants.
+
+
+Sorry, I forgot what you need!
+
+
+Sorry, I have nothing.
+
+
+Sorry, I have to go now.
+
+
+Sorry, I have to go.
+
+
+Sorry, I haven't seen you. My name is Barbara.
+
+
+Sorry, I misclicked the first button. Have a nice nap, great Crazyfefe!
+
+
+Sorry, I need to better prepare myself.
+
+
+Sorry, I only deal with Arcmage cards.
+
+
+Sorry, I'll be back.
+
+
+Sorry, I'll keep my gem.
+
+
+Sorry, I'll pass.
+
+
+Sorry, I'm babbling. Deliver this letter to Frostia's King. He will know what to do and what you should do.
+
+
+Sorry, I'm busy with other registrations.
+Lo siento, estoy ocupado con otros registros.
+
+Sorry, I'm doing other things at the moment.
+Lo siento, estoy haciendo otras cosas por el momento.
+
+Sorry, I'm in hurry.
+
+
+Sorry, I'm more of a coffee person.
+
+
+Sorry, It's not place for me.
+
+
+Sorry, Mister Rakinorf, but it was Lua that said you could help me.
+
+
+Sorry, and enjoy the game! Your TMW2 Staff Team.
+
+
+Sorry, but I already ate the %s you gave me!
+
+
+Sorry, but I need one of each gem powder, and %d GP.
+
+
+Sorry, but I need the ingredients and %d GP.
+
+
+Sorry, but I won't dare touch a %s.
+
+
+Sorry, but no entry to Townhall under orders of the council head, Benjamin L.
+
+
+Sorry, but no spoilers. You'll met the Moubootaur soon enough.
+
+
+Sorry, but that's not right.
+
+
+Sorry, but that's wrong.
+
+
+Sorry, but this quest cannot be done by staff.
+
+
+Sorry, but you don't have what I need.
+Lo siento, pero no tiene lo que necesito.
+
+Sorry, but you have multiple %s.
+
+
+Sorry, it looks like Saulc wrote on this stone. It is entirely illegible... for now.
+
+
+Sorry, son. I know how hard this is. But this is teaching you a valuable lesson, your eye will be more sharp for quality wood from now on.#0
+
+
+Sorry, son. I know how hard this is. But this is teaching you a valuable lesson, your eye will be more sharp for quality wood from now on.#1
+
+
+Sorry, sorry! Please rest, great Crazyfefe!
+
+
+Sorry, that arena is already closed.
+
+
+Sorry, that is not the cake I love.
+
+
+Sorry, this password was already used on another arena.
+
+
+Sorry, you do not have enough ingredients. You'd better search thoroughly.
+
+
+Sorry, you don't have any chocolate to pick up.
+
+
+Sorry, you don't seem to have everything I need.
+
+
+Sorry, you were taking too long to decide and I've rented my sword to somebody else.
+
+
+Sorry. At best, you can try your luck in Halinarzo, but the odds of someone recognizing you are pretty slim.
+
+
+Sorry. The arrays can't have zeros.
+
+
+Soul Menhir automatic saving:
+
+
+Soul Menhir#candor
+
+
+Soul Menhir#frost
+
+
+Soul Menhir#hali
+
+
+Soul Menhir#hurns
+
+
+Soul Menhir#lil
+
+
+Soul Menhir#lof
+
+
+Soul Menhir#niv
+
+
+Soul Menhir#tulim
+
+
+Soul Stone#001-11
+
+
+Soul Stone#001-12
+
+
+Soul Stone#001-4
+
+
+Soul Stone#0064
+
+
+Sounds awesome, but this will also reset a bunch of your progress... And with something as lame as a %s, you'll need quite a while to warp again. Uh, if you can, bring friends, the Soul Eater is... not to be trifled with.
+
+
+Sounds good!
+¡Suena bien!
+
+Sounds good.
+
+
+Southeast Avenue#lof
+
+
+Southwest Avenue
+
+
+Southwest Avenue#lof
+
+
+Spawn customized boss
+
+
+Speak with ##BBarzil##b. Tell him it is for the Magic Academy. HURRY UP!
+
+
+Spearmint Tea
+
+
+Special Event Pets
+
+
+Special battle modes will also be available.
+
+
+Specialized in destructive, magical skills.
+
+
+Specialized in miscellaneous skills.
+
+
+Specialized in skills with fist-based damage and unarmed mastery.
+
+
+Specialized in skills with weapon-based damage and Assassination.
+
+
+Specialized in support, buff, debuff and strengthening skills.
+
+
+Spectral Orb
+Orbe espectral
+
+Speed Card
+Tarjeta de velocidad
+
+Speed Card S
+
+
+Speed Card X
+
+
+Spell Book Page
+Página del libro de hechizos
+
+Spend it wisely this time.
+Gástelo sabiamente esta vez.
+
+Spider
+
+
+Spider Queen
+
+
+SpikyMushroom
+
+
+Spin daily the card to get prizes!
+
+
+Spin it!
+
+
+Spin three symbols, and jackpot great rewards!
+
+
+Spin!
+
+
+Spinning!
+
+
+Spinning...
+
+
+Sponsor @@ in how much GP?
+
+
+Sponsor Necklace
+Collar de patrocinador
+
+Sponsors Inn
+
+
+Spring
+
+
+Spring Squirrel
+
+
+Squichy Claws
+Garras de Squichy
+
+Squirrel
+
+
+Squirrel Boots
+Botas de ardilla
+
+Squirrel Pelt
+Piel de ardilla
+
+Squirrels are healthy, but they never attack. They run away from you, so good luck catching it!
+
+
+St Patrick's Clover
+
+
+St. Patrick Day
+
+
+St. Patrick Gold Pot
+
+
+Staff is not allowed to use this command.
+
+
+Staircase#MKHB
+
+
+Stalman
+
+
+Standard Magic
+
+
+Standard Tricks
+
+
+Start
+Comenzar
+
+Start broadcasting
+Iniciar emisión
+
+Start broadcasting, and make an extra broadcast right now
+Iniciar emisión, y crear una emisión extra ahora mismo
+
+Start over
+Volver a empezar
+
+Start!
+
+
+Stat Boost Recipes
+
+
+Status Condition Cleared
+
+
+Status Reset Potion
+Poción de restablecimiento
+
+Status point reset can't be undone. Do you really want this?
+El reinicio de los puntos de estado no puede deshacerse. ¿Seguro que quiere esto?
+
+Status reset? Sounds illegal!
+
+
+Status.
+
+
+Status: %s
+
+
+Stay out of harm way. Nothing to see here. Stay away, pathetically weak %s.
+
+
+Stay ready!
+
+
+Stay there?
+
+
+Stay tuned for announcements regarding raid times to retake the towns.
+
+
+Steal bucket!
+
+
+Stealing
+
+
+Steam (LoF Village)
+
+
+Steel Shield
+Escudo de acero
+
+Steel Shovel
+Pala de acero
+
+Step backward
+
+
+Step forward
+
+
+Still haven't found it? Well, keep looking the barrels at this storehouse. I know it's in there, somewhere.
+
+
+Still interested in extra credit? Now that you're a(n) %s, you can sign this perfectly normal and standard %s, and by helping us out, by helping ME out, you'll gain the extra credit. What do you say? Not a bad deal, right?
+
+
+Still, they can be useful when you're trying to solo a boss and need help. The number of stars on the card is the strength and rarity. Use them wisely.
+
+
+Stone
+
+
+Stop broadcasting
+Detener emisión
+
+Stop it!
+¡Basta!
+
+Stop on your tracks, unfair being! Freeze!
+
+
+Stop right there, miscreant. I can see you're AFK, it is written on your hat!
+
+
+Storage Fairy
+
+
+Strange Coin
+Moneda extraña
+
+Strange Coins stock on shops was restored!
+
+
+Strange switch status: @@
+
+
+Strangely enough, when he died, he became a ghost. This shouldn't happen, but yet...
+
+
+Stranger#LoF
+
+
+Strangers and monsters aren't allowed in MY house!
+
+
+Stray Little Blub
+
+
+Strength
+Fuerza
+
+Strength Fruit
+
+
+Strength Potion
+Poción de fuerza
+
+Strength Statue
+
+
+Strength: AGI+, Walk Speed +
+
+
+Strength: ALL
+
+
+Strength: DEX+
+
+
+Strength: INT+
+
+
+Strength: LUK+
+
+
+Strength: NONE
+
+
+Strength: STR+, Carry Weight +
+
+
+Strength: VIT++
+
+
+Strong wind area of effect attack.
+
+
+Strong wind single target attack.
+
+
+Student
+
+
+Student#A01
+
+
+Student#A02
+
+
+Stun
+
+
+Stunning Strike
+
+
+Stupid @@, get out of this cave before I lose my patience!
+
+
+Stupid @@, get out of this cave before I lose my patience! Mercury... Show up already!
+
+
+Success ratio is of aprox. @@ %
+
+
+Success!
+
+
+Successfully Crafted: %s
+
+
+Successive warps cause time-space distortions and are thus not allowed.
+
+
+Such convoys had been made since the Civil War, after all, many feared the Red Queen and moving to the sea was a sure way to stay out of her reach. None had ever heard again of them...
+
+
+Such precious gem, is not something you would give for free, unless you are interested on my... rituals.
+
+
+Sudden Attack
+
+
+Suddenly, a bee appears and attacks you out of NOWHERE!
+
+
+Suddenly, the map %s!
+
+
+Sulfur Powder
+Polvo de azufre
+
+Summary
+
+
+Summer
+Verano
+
+Summoned Monster
+
+
+Summoning and Homunculus (H) skills can be raised from skill window directly.
+
+
+Summoning is part of Mana Magic. Mana Magic is trickier, you must have control over magic power to use it properly.
+
+
+Sunday I am having a Church Party but I forgot to prepare food!
+
+
+Sunglasses
+
+
+Sunny Crystal
+Cristal soleado
+
+Super Menu
+Super Menú
+
+Superb stealth, and quick on their toes.
+
+
+Superior Shroom
+
+
+Superior damage on enemies who walk over the fire.
+
+
+Superior single target damage which splashes in area.
+
+
+Supreme Attack
+
+
+Supreme Chest
+
+
+Supreme Gift
+Regalo supremo
+
+Supreme Ranger Card
+
+
+Supreme Warrior Card
+
+
+Supreme and Absolute lose to Ancient, but Ancient isn't the strongest power level out there.
+
+
+Sure
+
+
+Sure!
+
+
+Sure! But that is Summon Magic. Just bring me a mug of beer, I'm thristy. And I'll teach you a basic skill.
+
+
+Sure, I'd love to help! What can I do?
+
+
+Sure, I'll be back.
+
+
+Sure, I'll be right back.
+
+
+Sure, I'll do it.
+
+
+Sure, I'll help.
+
+
+Sure, gimme the Gold.
+
+
+Sure, gimme the Monster Points.
+
+
+Sure, here you go!
+
+
+Sure, no problem! For this awesome hat which I can make it myself, you'll need to bring me a few items!
+
+
+Sure, sure, I'm going...
+
+
+Sure, sure... Why are you even *hic* asking me this, anyway? Do I look like your... *hic* your father or something?!
+
+
+Sure, what could go wrong?
+
+
+Sure, why not?
+
+
+Sure.
+
+
+Sure. Here, take it.
+
+
+Sure. I like to keep Alcoholic beverages, because they raise EXP gain when you drink @@.
+
+
+Surprise me!
+¡Sorpréndame!
+
+Surprisingly, nothing happens.
+
+
+Survival Challenge
+
+
+Susanne
+
+
+Swashbuckler
+
+
+Swezanne
+
+
+Swezanne Card
+
+
+Switching from strong to weak equipments WON'T make it go any easier on you!
+
+
+Syntax: @wset <map_mask>
+
+
+T.T "Someone else killed my Dummy!"
+
+
+T.T "Why I think you are withdrawing information all along?"
+
+
+T0 - Base Bonus
+
+
+T1 - Accuracy Bonus
+
+
+T1 - Attack Bonus
+
+
+T1 - Defense Bonus
+
+
+T1 - Evasion Bonus
+
+
+T2 - Double Power Bonus
+
+
+T2 - Max Stats Bonus
+
+
+T2 - Regeneration Bonus
+
+
+T2 - Speed Bonus
+
+
+T3 - Boss Techniques Bonus
+
+
+T3 - Mana Economy Bonus
+
+
+T3 - SC Inflict Bonus
+
+
+T3 - SC Resist Bonus
+
+
+T4 - Ultimate Bonus
+
+
+THANK YOU for participating on cross-server Valentine 2020 Event! We hope you had fun!
+
+
+THAT GRIMORIE IS A SUPER DUPER MEGA UPER RARE BOOK, I CANNOT GIVE IT TO ANYBODY ASKING ME ABOUT!!
+
+
+THE BLOOD HERE SPILLED TODAY... ONLY ENRAGES HIM MORE...
+
+
+THEN DON'T WASTE MY TIME! My friend could be in danger!
+
+
+THIS IS A SOLO FIGHT, TEAMS ARE NOT ALLOWED INSIDE.
+
+
+THIS IS MOUBOOTAUR LEGENDS TEST SERVER.
+
+
+THIS IS THE MOUBOOTAUR TEMPLE RUINS... THIS PLACE IS SACRED...
+
+
+TMW Adventure
+
+
+TMW2
+
+
+TMW2 Day marks the server birthdate. Do not mistake with TMW2 Anniversary.
+
+
+TMW2 Staff
+
+
+TUTORIAL
+
+
+Taenya
+
+
+Take care though, don't attack them when they are in group!
+
+
+Take care!
+¡Cuídate!
+
+Take care, adventurer!
+
+
+Take care. Here, take this @@. You can sell it for some quick-spot cash, or use it as a weapon.
+
+
+Take care. This is a dangerous world, but I think that worse than being attacked by sea monsters, is starving from hunger!
+
+
+Take care: Secret passages can be dangerous places (or not).
+
+
+Take it!
+
+
+Take it?
+
+
+Take much care with it. It is a very, very rare drop from a rare monster from a difficult, high level area.
+
+
+Take the bottle?
+
+
+Take the riddle?
+
+
+Take this @@ to prove you're one of us! Could you also invite Elmo? Thanks, matey!
+
+
+Take this @@. It might save your life on the secret mission you're about to be assigned to.
+
+
+Take this badge, so you can enter the guard house. You will find more work there. Bye, and good luck!
+
+
+Take this spare @@ I did. It heals fully and instantly, so don't hesit to use it if you're about to die.
+
+
+Take this with you. And please bring Arthur back, the world needs him!
+
+
+Taking your sturdy glove, you attempt to walk by the wall! You are betting your life on it!
+
+
+Talindra
+
+
+Talk to @@
+
+
+Talk to Hocus in Porthos (via Menhir) to enroll.
+
+
+Talk to Nard to unlock the door.
+
+
+Talk to Soul Menhir to engage the boss. Time limit = 1 hour.
+
+
+Talk to Zitoni, and deliver the @@. I can't give you another one, they're super rare.
+
+
+Talk to Zitoni, the Alchemist of Candor. He may look humble, but he is the greatest alchemist of this world. I need five @@.
+
+
+Talk to the Fountain. Pour the potion on it. I advise you to put all your points on int if possible.
+
+
+Talk to the waitress to get some food. Enjoy the show! And you can sleep on the 3rd Floor.
+
+
+Talk to you later!
+¡Hablaré con usted más tarde!
+
+Talk to you soon!
+¡Hablamos luego!
+
+Tamed Snake
+
+
+Tamed Snake Egg
+
+
+Tametomo
+
+
+Tamiloc
+
+
+Taree
+
+
+Tax crafters
+
+
+Taxes lowered
+
+
+Taxes raised
+
+
+Taxes will fall in 0.01~0.03%, capped at 0.00%
+
+
+Taxes will raise in 0.02~0.05%, capped at 15%.
+
+
+Tea party! I want to participate.
+
+
+Teaching %s your skills will make you both forget them.
+
+
+Teaching you how to study will take from my time, so I'll want a small compromise of %s GP to make sure you will actually make good use of it.
+
+
+Teal Dye
+Tinte verde azulado
+
+Tech-User Forge
+
+
+Technician
+
+
+Tell me about Artis.
+
+
+Tell me about Fortress Town.
+
+
+Tell me about Frostia.
+
+
+Tell me about Halinarzo.
+
+
+Tell me about Hurnscald.
+
+
+Tell me about Nivalis.
+
+
+Tell me about Thermin.
+
+
+Tell me about Tulimshar.
+
+
+Tell me about the Civil War.
+
+
+Tell me about the Great Fire.
+
+
+Tell me about the Land Of Fire.
+
+
+Tell me about the Mana War.
+
+
+Tell me about the Monster War.
+
+
+Tell me how or I'll kill you!
+
+
+Tell me which language you speak and I will change the note on the ship passenger list.
+
+
+Tell people the name of a new hero.
+
+
+Tempest
+
+
+Ten, fifty, thousand... Yep, this is the amount I've asked for.
+
+
+Tench
+Tenca
+
+Tengu
+
+
+Tentacles
+Tentáculos
+
+Teraa
+
+
+Terranite
+
+
+Terranite Armor
+Armadura de terranita
+
+Terranite Blueprint
+
+
+Terranite Boots
+
+
+Terranite Gloves
+
+
+Terranite Helmet
+Casco de terranita
+
+Terranite Ingot
+Lingote de terranita
+
+Terranite King
+
+
+Terranite Mask
+Máscara de terranita
+
+Terranite Ore
+Mineral de terranita
+
+Terranite Ore (3 power)
+
+
+Terranite Ore is a really special item. People without helmets can't understand @@'s real power, anyway if you could give me some of them you would understand why they are so special.
+
+
+Terranite Pants
+Pantalones de terranita
+
+Terranite Protector
+
+
+Terranite probably mined part of this mine long time ago.
+
+
+Terrible manaquake hits the whole world, causing dramatic changes!
+
+
+Terrible. You know almost nothing from world lore...
+
+
+Test
+
+
+Test MOTD
+Prueba MOTD
+
+Teuvo
+
+
+Text Wall Density
+
+
+Tezzerin
+
+
+Thank you for being with us for so long. You gained a %s as a random good-hearted action from the team!
+
+
+Thank you for helping me make my tea. I hope the potions have been helpful...
+
+
+Thank you for your help.
+Gracias por tu ayuda.
+
+Thank you so much! That might not bring my friends back, but will make this island much safer!
+
+
+Thank you soooo much! Here is some compensation, and you can keep this worthless scroll of paper! I looooove Pearls!
+
+
+Thank you! Here is some compensation, and you can keep this worthless scroll of paper! I looooove Pearls!
+
+
+Thank you! Thank you! Savior!#0
+
+
+Thank you! Thank you! Savior!#1
+
+
+Thank you! That's very generous of you.
+
+
+Thank you, @@. Please take this pair of gloves as a thank you.
+
+
+Thank you, We are now friends, You can visit us when you want!
+
+
+Thank you, here is your reward and... some pocket money.
+
+
+Thank you, here is your reward.
+
+
+Thank you, tell her to come to the bakery at... Actually, nevermind. Just give her this note.
+
+
+Thank you.
+Gracias.
+
+Thank you. I'll wait here.
+Gracias. Esperaré aquí.
+
+Thank you...
+
+
+Thankfully that item is too rare. I want somebody to slay the bandit leader, but if you want to do it, you must prove yourself.
+
+
+Thanks God... The crops are safe. Not only that, but the fertilizer works!
+
+
+Thanks Lilica.
+
+
+Thanks a lot for your help revealing the truth.
+
+
+Thanks a lot!
+
+
+Thanks again for the help. You have proven that you are resourceful.
+
+
+Thanks again for the help. You have proven that you are resourceful. Come back again later.
+
+
+Thanks again for your investigations. It was a great help.
+
+
+Thanks for Helping with clear out the store room!
+
+
+Thanks for all of your help!
+
+
+Thanks for attending even this selfish request of mine.
+
+
+Thanks for attending my call. As you can clearly see, the town is deserted; We only have our own staff in this town.
+
+
+Thanks for avenging my father.
+
+
+Thanks for donating blood. You can donate again in 30 days.
+
+
+Thanks for feeding us earlier. I wanted to give a great dinner to my family, even if just once.
+
+
+Thanks for help! Other guards may need help too!
+
+
+Thanks for helping me out! Here, take this bag. Now if you excuse me...
+
+
+Thanks for helping me out. I know this is nothing, but please accept these herbs I've collected.
+
+
+Thanks for helping me this month. Here is my card, just call me if you need.
+
+
+Thanks for helping my husband. I'll think if there's something I can do for you, why don't you help Oscar on the meanwhile...?
+
+
+Thanks for helping my shop earlier. I forge weapons, but unfortunately, I need more than just iron to forge them.
+
+
+Thanks for helping my son. Here, take 300 GP for your troubles.
+
+
+Thanks for helping my wife! Here is, an @@. May the Mouboo watch over you! o.o
+
+
+Thanks for helping my wife, I'll be forever grateful.
+
+
+Thanks for helping out here. Do you need anything else?
+
+
+Thanks for helping us the last year. I hope to have your help by the next year.
+
+
+Thanks for helping!
+
+
+Thanks for listening to my rambles. I'll gift you a @@. Of course, having a wand won't give you magic...
+
+
+Thanks for playing with us! Can you find my friends?
+
+
+Thanks for playing!
+¡Gracias por jugar!
+
+Thanks for saving Tulimshar from a famine. I'll be forever grateful.
+
+
+Thanks for saving me. I'll return home on my own, if you don't mind.
+
+
+Thanks for the %s you gave me the other day.
+
+
+Thanks for the Silk Cocoons. With these the new books are going to be exquisite.
+
+
+Thanks for the help earlier.
+
+
+Thanks for the help earlier. Unfortunately, I had no luck yet.
+
+
+Thanks for the help!
+¡Gracias por la ayuda!
+
+Thanks for the help! Arr, that was some fine ale, indeed!
+
+
+Thanks for the help! If you help people, they'll start trusting you. Once they trust you, they'll give you quests which are very important to them;
+
+
+Thanks for the help! Yummy!
+
+
+Thanks for the help, I guess...?
+
+
+Thanks for the help, but no.
+
+
+Thanks for the help.
+
+
+Thanks for the help. Here, take this shirt and some money.
+
+
+Thanks for the honestity, I guess.
+
+
+Thanks for the kindness, but you don't have enough. I need 5!
+
+
+Thanks for the nice gift!
+
+
+Thanks for the pages you brought. There are still some missing.
+
+
+Thanks for travelling with Andrei Sakar to Artis! However, as you see, this town is deserted.
+
+
+Thanks for using my services!
+
+
+Thanks for vanishing the source of the curse.
+
+
+Thanks for your help with the inks! Now I'll be able to fulfill my tasks adequately. Some of these books were really valuable, and it's important to recreate them as good as possible.
+
+
+Thanks for your help!
+
+
+Thanks for your help, anyway.
+
+
+Thanks for your patronage! The rewards will be available with @@, in case I do find the paradise!
+
+
+Thanks for your services, knight. One day, you might even deserve a seat at this castle.
+
+
+Thanks for your wise words.
+
+
+Thanks mate, that is everything I need! Have a good day!
+
+
+Thanks once again, I know it's not much but here is @@ GP for your troubles.
+
+
+Thanks to pirate activity, dye has become more difficult to obtain lately.
+
+
+Thanks to this, we can now respawn after death. But that's when the prophecy was told. The prophecy... Of the death of all humans. It gives me shivers.
+
+
+Thanks to you, lowly %s, we will soon have water we deserve!
+
+
+Thanks to you, my friend, we will soon have good water to drink.#0
+
+
+Thanks to you, my friend, we will soon have good water to drink.#1
+
+
+Thanks to you, our glue supply is replenished and we can repair those books.
+
+
+Thanks!
+
+
+Thanks! Here you go. Perhaps you need another one?
+
+
+Thanks! Here you go. Perhaps you want another one?
+
+
+Thanks! Here's your dye. Do you want to trade any more?
+
+
+Thanks! I'll enjoy it! Here is the promised reward.
+
+
+Thanks! I'll enjoy it! Here, you can keep this.
+
+
+Thanks! Please come back in two hours, then I'll have the trousers ready.
+
+
+Thanks! Thanks! Savior! Hurry up!#0
+
+
+Thanks! Thanks! Savior! Hurry up!#1
+
+
+Thanks, @@. We just wanted to be sure it was you.
+
+
+Thanks, I knew I could count on you!
+
+
+Thanks, I owe you one!
+
+
+Thanks, I think I'll continue exploring.
+
+
+Thanks, I'll just bake the Elixir right away...!
+
+
+Thanks, and bye.
+
+
+Thanks, come back and see me once you found the bug bomb and set it off.
+
+
+Thanks, enjoy your tea! I will certainly enjoy mine!
+
+
+Thanks, gal!#0
+
+
+Thanks, here is your hat!
+
+
+Thanks, my friend. Here's some money.#0
+
+
+Thanks, my friend. Here's some money.#1
+
+
+Thanks, my friend.#0
+
+
+Thanks, my friend.#1
+
+
+Thanks, my liege.
+
+
+Thanks, pal!#1
+
+
+Thanks, pal. I still got some matters to discuss with the Blue Sage if you excuse me.
+
+
+Thanks, pal. See you tomorrow.
+
+
+Thanks, please tell him I'll make his favorite dish. Oh, could you also deliver him this %s?
+
+
+Thanks, they don't like to drop their Antennas.
+
+
+Thanks, they hate to drop their Legs.
+
+
+Thanks, this is very handy.
+
+
+Thanks.
+
+
+Thanks. A pleasure doing business with you.
+
+
+Thanks. Do you know the KALSPIKE magic? It allows you to summon Poison Spiky Mushroom. Just use a spore.
+
+
+Thanks. I am willing to share you more magic, if you're interested.
+
+
+Thanks. I'm actually conducting experiments with scorpions. Please come back later.
+
+
+Thanks. It is my pleasure.
+
+
+Thanks. Maybe I should stop using Maggot Slime as a bait.
+
+
+Thanks. Please come back later, there is something I want to do for you.
+
+
+Thanks. Snakes seems promising indeed! Maybe they work where scorpions failed. If I succeed, I promise I'll teach you the spell. But for now...
+
+
+Thanks. Take this spare pair of gloves and some change.
+
+
+Thanks. You can go, now.
+
+
+Thanks... I guess...
+
+
+Thanks... I guess...#0
+
+
+Thanks... I guess...#1
+
+
+Thanksgiving
+
+
+That annoying guy on the side of the tree is annoying. I want to ban him.
+
+
+That aside, I see you've helped Hurnscald Mayor, Nivalis Mayor, Halinarzo Librarian and even the Alliance Representative in Tulimshar!
+
+
+That being said, I'll give you an @@, which allows you to learn a skill even if you can't pay for it.
+
+
+That can be done pressing F2 and opening char screen.
+
+
+That can explain why we have difficulties to find rare gems here. They probably were already extracted.
+
+
+That depends on your luck!#0
+
+
+That depends on your luck!#1
+
+
+That didn't work!
+
+
+That indeed is true, you can see a pile of rusty knives on the nearby table.
+
+
+That is a pity...
+
+
+That is a rare, precious book, which writes itself!
+
+
+That is not how things are done here.
+
+
+That is quite impressive, but you can perform better with more training.
+
+
+That is why I need your help. If you can 'take care of' a bunch of pious and bring me their feathers as proof, I will give you a reward.
+
+
+That is.
+
+
+That lazy mayor... He can't do anything on his own!! Sure, what do you need?
+
+
+That rat... I already spent @@ @@ with him!!
+
+
+That reminds me. I have a friend in Nivalis named Miler who gave me some hints on the recipe. Would you take him a sample of what I gave you?
+
+
+That she was one of the originals.
+
+
+That she would stop the Soul Eater in past and future.
+
+
+That shouldn't been too hard, but do I get something in return?
+
+
+That skill was only to allow you to practice. Now listen well: Transmutation is ##BNOT##b crafting!
+
+
+That was @@.
+
+
+That was a Moubootaur's temple. It is not the kind of place to give a stroll on the park.
+
+
+That was far @@.
+
+
+That was fast. Do not forget to sell their... parts... for some extra cash.
+
+
+That was only to prove you're strong enough on yourself to do whatever you want to do. You have friends.
+
+
+That was quite close. Impressive!
+
+
+That will be %s GP. Are you sure?
+
+
+That will help you to make your very first first craft! Remember to use @@ to change which bonuses can be applied to your craft items.
+
+
+That won't do it. I want to see PINK BLOOD! No... not so cluttered. Just kill the Pinkies on my farm.
+
+
+That works with most of monsters. Well, but we all know from @@ that it is better to stay put and let mobs kill us, right?
+
+
+That would be your next destination, but first, the monster army must be driven out!
+
+
+That wouldn't be fair to you, though. So, you don't need to defeat me.
+
+
+That'll be %s GP.
+
+
+That'll cost you @@/@@ @@.
+
+
+That's %d seconds better than your previous record!
+
+
+That's a *hic* precious item, and you're *hic* not nearly *hic* strong or worth enough to use it!
+
+
+That's a Summon Magic. Unlike regular magic, you can increase its levels directly from skill menu (F5).
+
+
+That's a lot, but I think it will be worth it.
+
+
+That's a lot, but we have a deal!
+
+
+That's a pity.
+
+
+That's a pity. Well, if you change your mind, come back any time.
+
+
+That's a really strange letter from Mr. Frozenheart.
+
+
+That's a super rare potion, and it expires after some time. Take care!
+
+
+That's all, thanks!
+
+
+That's basically how democracy works. You are warranted to stay on the office until something goes gravely wrong.
+
+
+That's because you weren't paying attention!
+
+
+That's easy to know, because the bandits are less coordinated. Perhaps we will be able to sleep in peace this night!
+
+
+That's easy. Cynric will save your money when you ask him to deposit. Or you pick up your money by asking to withdraw.
+
+
+That's everything I wanted to know.
+
+
+That's exactly what I needed!
+
+
+That's exactly why you can't use it to get water. Silly.
+
+
+That's how this world inhabitants deal with cheaters... So don't be one, my friend. You have been warned!
+
+
+That's just a friendly advise. That's how things works around here.
+
+
+That's just nonsense though, I've been there thousands of times and saw no such thing.
+
+
+That's nice, but... I don't have a recipe book.
+
+
+That's none of your bussiness! We should leave here NOW!
+
+
+That's not *hic*... That's not what I asked you for...
+
+
+That's not a couple of skins.
+
+
+That's not everything, though. I am having a bad time fishing. Bring me a @@. I know, it is rare. Good luck with it.
+
+
+That's obviously impossible, so I'll voiding your result!
+
+
+That's ok, kid... I can't read, anyway.
+
+
+That's right, this is unheard of where I come from.
+
+
+That's right.
+
+
+That's rude. I never did anything to you.
+
+
+That's sad to hear.
+
+
+That's some good white for you've got here!
+
+
+That's terrible! Monsters are piling up near city gates! We need to stop their progression.
+
+
+That's the Blub Song
+
+
+That's the right wood, my son. Here, I'll wrap it so you don't accidentaly lose it. Good luck with your quest!#0
+
+
+That's the right wood, my son. Here, I'll wrap it so you don't accidentaly lose it. Good luck with your quest!#1
+
+
+That's too bad, because I could teach you some amazing craft skills! This will need to wait another day, I guess. Oh well.
+
+
+That's very, very risky. I need @@ @@ and @@ @@ to make a Potion to you, and I won't warrant it will work.
+
+
+That's why I'm really confused about this situation, since he was the one performing the sealing of the slimes. I wonder what went wrong.
+
+
+That's why we must stop... THEM... at any costs. I don't know what they're plotting, but it is not in this world inhabitants best interests... nor any other world.
+
+
+That's your answer. Cindy is not a mage, right? This means some mage has bewitched the Yetis to do so, and if my parallel theory is correct, they're either aiming at the Blue Sage, or at her father.
+
+
+That... Didn't work. I'm sorry.
+
+
+That... It... It worked! This is just the right claw!
+
+
+The %s shines with a strange light...
+
+
+The %s wasn't ready yet and you lost it...
+
+
+The %s, yes. I have it. It is a legendary weapon, only one of it exist on the world.
+
+
+The %ss are growing and disturbing the already rather infertile desert soil, preventing our crops from growing.
+
+
+The %ss are the cause for all the little maggots to appear, so we need you to stop the problem at the source.
+
+
+The %ss have been multiplying, crawling from the cave into the magic school, causing damage.
+
+
+The %ss have been reproducing rapidly and their natural habitat, our Croconut trees, are being damaged by the excessive number of them.
+
+
+The @@ I told you to kill are usually at the beach.
+
+
+The @@ are specially dangerous, and archers love them.
+
+
+The @@ is a powerful healing drink.
+
+
+The @@ is not only a fearsome and ruthless leader. He is strong, and he have tricks on his sleeve.
+
+
+The @@ quest is disabled during Christmas event.
+
+
+The @@ quest is disabled during Easter event.
+
+
+The @@ stole my @@. Hahah. I can't find anywhere else to buy it.
+
+
+The @@ tab allows yeye to talk on Discord, too! Yayaya, fancy, uh?
+
+
+The Academy Island is situated east of Land of Fire Village.
+
+
+The Alliance
+
+
+The Alliance Advanced Outposts are closed for maintenance. Group in front of the town entrance!
+
+
+The Alliance Advanced Outposts have been abandoned and locked after the Liberation day.
+
+
+The Alliance Council rarely meets. It's thanks to them that the cities are well protected, if you want my opinion.
+
+
+The Alliance can help you in finding out about who you are, why you are here, or from where you came from. So, about the tasks I want completed.
+
+
+The Alliance have records of everyone. And if you need another trip, talk to me!
+
+
+The Alliance says that @@ monsters have been slain since Hurnscald Siege!
+
+
+The Alliance which was formed after the war!
+
+
+The Arena is currently closed for maintenance.
+
+
+The Blue Sage
+
+
+The Blue Sage is Nivalis Mayor and very knowledgeable on stuff. Lemme write a letter of recommendation for you and sign it in Rakinorf's stead...
+
+
+The Book of Laws
+El libro de las reglas
+
+The Cave Of Trials, and the Soren's Village... There's only one thing left.
+
+
+The Civil War is one of the stuff which nearly everyone forgot about.
+
+
+The Council is not in session, it has dispersed since Andrei Sakar went to an expedition to Artis. However, it was decided to allow others inside.
+
+
+The Council of Elders has enlisted ducks of our island into a militia. In addition, the masters of the Duck Side have seen fit to spare %d Duck initiates to assist us.
+
+
+The Deluxe Storage is available only to our best customers, and how lucky you! YOU are eligible!
+
+
+The Doctor
+
+
+The Doctor sent you some tea.
+
+
+The Doppelganger Challenge will create a Gladiator Monster which should somehow emulate a PvP experience.
+
+
+The Enchanted Forest is now open to visitors!
+
+
+The Fafi Dragon are really really bad guys. I don't know how they came here, as they're not from the Lands Of Fire, nor from Mana World.
+
+
+The Fafi knows you are here to kill him. They are smart. But I can make a trap.
+
+
+The Fifth Act
+
+
+The Final Act
+
+
+The First Act
+
+
+The Forest
+
+
+The Fortress Island is a terribly dangerous place, so the Alliance sent a scout party beforehand, and set up a tower in front of an... erm... Very disturbing walled place we found.
+
+
+The Fourth Act
+
+
+The Game Masters are assembling a party to storm Hurnscald and liberate it. You should try joining it!
+
+
+The Great Over 100 Hunt
+
+
+The Great Ranged Hunt
+
+
+The Great Slime Hunt
+
+
+The Guard House
+
+
+The Guard patted you on the back.
+
+
+The Guard sends an air kiss to you.
+
+
+The Heroes Hold is divided in seven dungeons level: Novice, Intermediary, Advanced, Expert, Master, Ultimate and Supreme.
+
+
+The High Council acts in the Alliance stead, as it is not possible to reunite every city leader for all minor matters.
+
+
+The High Council is now on session, you were forced to leave the meeting chamber.
+
+
+The High Council's have some subordinates, but those are hand-picked by them.
+
+
+The International Worker Day is a traditional celebration,
+
+
+The La Johanne always have interesting notes.
+
+
+The Land Of Fire Village was the result from the collapse of two worlds. It is a huge village.
+
+
+The Loyalists
+
+
+The MVP is the player who did more damage to the boss.
+
+
+The Magic Academy System is responsible for learning most skills ingame. For that, you need two things: Magic Skill Points and a reagent.
+
+
+The Magic Council can be found at this city. They are the most powerful mages. If you have an impressive magical affinity, they may entitle you to have access to a Mana Stone.
+
+
+The Magic Olympics are held by the Academy Grand Masters roughly quarterly, and allow the brightest mages to acquire scholarships at the Magic Academy.
+
+
+The Magic Olympics consist in twelve challenges with scoreboards.
+
+
+The Magic Olympics happen roughly quarterly, but not always at the same dates. It begins on a monday and ends on the sunday. It usually happens two weeks after the Mining Union Research Request event.
+
+
+The Magical Seal which protects the final room is too strong.
+
+
+The Mana Guardian,
+
+
+The Mana Plane is currently out of reach.
+
+
+The Mana Source
+
+
+The Mana Source, supreme guardian of the world itself, has already took providences.
+
+
+The Mana Stone
+
+
+The Mana Stone... is a scary being. It changes you. I'm no longer myself, but some thieves are still at my side... for now.
+
+
+The Mana Stones were stolen, in evil hands have fallen!
+
+
+The Mana Sword
+
+
+The Mana Sword, Lightbringer?
+
+
+The Market
+
+
+The Miners Union is trying to research this powder.
+
+
+The Monster Army appears to be in complete disarray, sieges are much less frequent.
+
+
+The Monster Army is currently sieging Tulimshar. There are hundreds of dangerous monsters out there right now.
+
+
+The Monster Army is in complete disarray, sieges are much less frequent.
+
+
+The Monster King
+
+
+The Monster King Army has occupied several towns!
+
+
+The Monster King Army is attacking towns at random, but players already reduced their organization to @@ %%!
+
+
+The Monster King Army is making siege at towns randomly!
+
+
+The Monster King Army is occupying several towns! Brave players need to group and retake them!
+
+
+The Monster King Army left the cities! What will happen next? Anxiety grows!
+
+
+The Monster King Lair is not in a impregnable mountain, but in a small island now!!
+
+
+The Monster King has managed to take hold of Nivalis and Hurnscald; Travel to Frostia and Halinarzo has also been made difficult.
+
+
+The Monster King is on the move!
+
+
+The Monster King is scary. To be honest, I'm not sure I would be able to do anything if he showed up.
+
+
+The Monster King is sending their armies to attack towns with a seemingly random pattern.
+
+
+The Monster King once again eluded us. How long has it been? His minions are laying waste to all towns, Saul has been killed, Raid has been wounded.
+
+
+The Monster King was so powerful! It is impossible to recover the artifact now, and everyone will die!
+
+
+The Monster King#NLib
+
+
+The Monster King.
+
+
+The Monster War broke out on the very last day of the Mana War. A high council of Tulimshar had set a fortress and storage towers in the canyon, and a few populists went to war.
+
+
+The Mouboo doesn't want to drink the Coffee. Try to force it to drink anyway?
+
+
+The Mouboo is lying down on the grass.
+
+
+The Mouboo seems to be lying in pain.
+
+
+The Moubootaur
+
+
+The Moubootaur is evil. Defeat him and protect the world. Now...
+
+
+The Moubootaur is the final opponent.
+
+
+The Pet Caring Guild will collect them after a while, and capture many others.
+
+
+The Premium Storage is available to all our sponsors and anyone with... references. Such as yourself!
+
+
+The Premium and Deluxe Storages are only available for characters which were reborn at least once.
+
+
+The Professor is so wise that even if you fall asleep while listening to his invisible speech, you'll still learn!!
+
+
+The Professor? Wait, THE Professor? As in, the wisest person on Tulimshar?
+
+
+The Queen's Party?
+
+
+The Red Queen was murdered, but her supporters prolonged the Civil War for at least six years after her death. The grudges were strong back then...
+
+
+The Red Queen's Party?
+
+
+The Regnum Blessing causes all monsters in an area
+
+
+The Second Act
+
+
+The Self-Serving Ice Well!
+
+
+The Shadow Tortuga won the race against the Panthom Lord.
+
+
+The Soul Menhir will attach your soul, so when you die, you'll appear where you last touched it.
+
+
+The Story of Dimonds Cove
+
+
+The Strike Back Is Upon Us!
+
+
+The Supreme and Ultimate floors are just a WIP bonus. So if you don't find them on the five and report back, that'll do.
+
+
+The Team For A Better PvP says that @@ players were killed in fair matches!
+
+
+The Third Act
+
+
+The Throne Room is the last room. You can reactive any switch which turns itself off.
+
+
+The Tulimshar guards needs an freelance employee who would help us with our work. We are searching for people like you.
+
+
+The Wildlife
+
+
+The World Edge, which is where we are, is a holy land, the place where all began and all shall perish. Which is why after the World's Heart was broken, it was vowed to never make a settlement here ever again.
+
+
+The World's Heart is at World's Edge. The *real* Ancient Families are the ones who broke it in parts and brought it to each town.
+
+
+The World's Heart was shattered by the Ancient Families to serve as Soul Menhirs on the world, and this allows respawning after death, but at a cost.
+
+
+The Yeti King
+
+
+The Yetifly drops you off the cliff. Good job, noob.
+
+
+The absolute hero: %s
+
+
+The account with highest votes will win. Ties will be solved by randomness.
+
+
+The accounts need 15 days to set Pin Codes.
+
+
+The accurate hero: %s
+
+
+The advantage of fighting with a ranged weapon is that you can stay out of the enemy's range. So there is no need to spend training on your resistance.
+
+
+The aegis, entrusted to the tree,
+
+
+The alliance also have a special program, called ##BGrand Hunter Quest##b, where you kill 10,000 of a monster and get great rewards.
+
+
+The alliance will take %s GP as fee, +%d%% tax over donations.
+
+
+The answers might need to have whitespaces. DO NOT, BY ALL MEANS, insert two whitespaces instead of one.
+
+
+The antennas by themselves mean nothing, I want to see you killing my ENEMIES, the pinkies!
+
+
+The average player level is @@
+
+
+The axe, returned to its owner,
+
+
+The bad one, is that you'll have to guide yourself without the map.
+
+
+The bank and item storage is shared between all characters within a same account.
+
+
+The best thing would be to let you make the bow by yourself. But I guess, that would go to far. And it would take ages to get a high quality bow.
+
+
+The best wares!
+
+
+The big one without hat
+
+
+The biggest mine, where you could find Mana Stones in the past, is now entirely depleted. Not a single stone left.
+
+
+The birthday of me and my girlfriend is coming up. Bring me 12 @@ and I'll make the fertilizer for you.
+
+
+The blame of failure will be over you, but so will be the glory of success. There's no death penalty for others.
+
+
+The boss can blind players. Blind will reduce hit rate and evasion in 25%.
+
+
+The boss you discovered has ran away!
+
+
+The bottom-most the water, the better the bonus.
+
+
+The bow I gave you was a masterpiece.
+
+
+The bugs there can be pretty vicious. Do you know what's worse though? Lag.
+
+
+The chant is ##B EMOC OTEM ITEY GNIK ##b. Good luck!
+
+
+The chant must be exact, without any prefix or suffix.
+
+
+The chest is unlocked and empty.
+
+
+The children are safe, aren't they...?
+
+
+The children are safe, could you rent me your sword?
+
+
+The city guard won't need help from strangers anymore.
+
+
+The city is still under repairs, but town square is safe already.
+
+
+The city only flourished because Janett Platinum had the idea to build city walls surrounding this city.
+
+
+The city was defended with success! GG, everyone!
+
+
+The clan will end on this generation. And hopefully, the world will survive longer, things aren't looking well right now.
+
+
+The cold climate is ideal for slimes, penguins, and other icy creatures. You can find lots of... ice, of course!
+
+
+The cooking contest is coming up, and I don't want to lose to @@... Halinarzo's cook is just THAT good.
+
+
+The cost for Guild Vault is @@ GP.
+
+
+The cost to create a guild is @@ GP.
+
+
+The council, however, supported the premier. He might have accepted the death sentence quietly, but the council would hear none of it. Benjamin took over and incited a civil war.
+
+
+The crops are under attack? That's terrible!
+
+
+The crops have failed again but the government keeps wasting money on research, for what purposes, as if I would know.
+
+
+The crow took off to his last flight.
+
+
+The crystal has a shard missing.
+
+
+The crystal looks damaged.
+
+
+The current town administrator will be inscribed for re-election automatically.
+
+
+The curse was done by nobody less than... the Moubootaur.
+
+
+The desert climate means you'll find mostly maggots and scorpions. Their drops include cactus drinks, cake, knifes, black pearls, gold, and other common things.
+
+
+The doctor quickly analyzes you with some tool. Which looks like a screwdriver? Probably just a generic scanner, though.
+
+
+The doctor raises an eyebrow at you.
+
+
+The doctor told me to move here after I got tuberculosis... But I like Tulimshar so much! Please bring me Tulimshar souvenirs, I'll pay you well!
+
+
+The door is locked
+
+
+The door is locked!
+
+
+The door is locked, I should come back later.
+
+
+The door is locked, you should speak to Carla about it.
+
+
+The door is locked.
+
+
+The door is password-protected, so your friends can enter but strangers stay outside.
+
+
+The door is sealed. The riddle says: “I drink, I become, I am. Don't say my name, but say why you know me. For, I am the best in the world.â€
+
+
+The door won't budge.
+
+
+The dream towers have shown up. They have several floors filled with treasure and dangerous monsters.
+
+
+The dyes are to disguise myself, I don't want to get caught. The potions are for safety, who knows what I'll face?
+
+
+The east power system is offline.
+
+
+The effect in this case is based on the element.
+
+
+The effects and uses - if any - are still unknown.
+
+
+The elements have alternate names, like "soil" which equals to "earth".
+
+
+The elf seems busy. He ignores you.
+
+
+The elf seems busy. She ignores you.
+
+
+The engine of fate will once again move!
+
+
+The event is over!
+
+
+The event starts hourly, when the minute clock hits zero. I'll tell everyone on this room when it starts and ends.
+
+
+The farmer seems mad and in need of help. Will you help him?
+
+
+The farther you go on the sequence, the better the payout!
+
+
+The fee only need to be paid once and will work in every town.
+
+
+The fee to use this room is %s GP.
+
+
+The fertile climate is ideal for mushrooms. You can also find lots of wood.
+
+
+The final sentence still belongs to LoF Admins.
+
+
+The first job,
+
+
+The first one is easy.
+
+
+The first page contains the universal rules that have been agreed upon throughout the land.
+
+
+The first stage is on the desert canyons. You must give a full circle on the canyon in 90 seconds.
+
+
+The first way,
+
+
+The fishing rod allows a quick income by selling fishes. However, reaching the fisherman might require some exploration... The whole world is full of secrets.
+
+
+The following skill is needed: %s%s (Lv. %d)
+
+
+The fortress hero: %s
+
+
+The frontier hero: %s
+
+
+The gates are firmly shut by some weird magical power. %s
+
+
+The gates are firmly shut, no amount of force will break them.
+
+
+The gates are firmly shut. A warning is on the door, "DO NOT ENTER. Guild Only."
+
+
+The gates to Aethyr have opened themselves to you.
+
+
+The giant boogeyman!
+¡El gigante boogeyman!
+
+The girl turns around and you hear her sniffing, she is probably crying...
+
+
+The goal is simple - I'll spawn an energy ball and you must kill it quickly. You'll be disqualified if you equip a non-magical weapon at any time.
+
+
+The good one, is that now I know the right path.
+
+
+The grand winner will get a %s. Both the first and second place will get a tuition at the Magic Academy.
+
+
+The great fire did very few causalities, but it destroyed a lot of infrastructure and ruined the economy. Famine and chaos ensued, we almost were wiped out back then. Maybe it would be best if we had indeed been wiped out...
+
+
+The great prize is @@.
+
+
+The great prize is to unlock a pet!
+
+
+The greater the distance to your target is, the more important is the strength and direction of the wind. Even if you are exploring a cave, there might be air flow caused by the corners in the cave.
+
+
+The group of warriors which went into the cave to rescue my precious Cindy still haven't returned... I'm worried with them, too...
+
+
+The guard eyes you with suspcion.
+
+
+The guild's "%s" currently contribute with %02d%% EXP.
+
+
+The harsh pinkie holds secrets,
+
+
+The heroes met their rest.
+
+
+The hooded man was about to deliver me a final blow, but then he saw the Apple I've stole...
+
+
+The house is a mess. They need me here. Also.
+
+
+The hut is... empty. And it doesn't have a fireplace, either.
+
+
+The innominable they shall face
+
+
+The item impact suggests jumping inside should be safe if you have enough life.
+
+
+The item impact suggests jumping inside will leave you badly wounded.
+
+
+The item impact suggests you don't have enough vitality to jump inside.
+
+
+The item must have a previous bonus, which WILL BE LOST!
+
+
+The item will be lost forever!
+
+
+The item will be lost forever.
+
+
+The key is on the sewer %s path. Be careful. May the light be with you.
+
+
+The kid is not paying attention to you.
+
+
+The knob has... melted down? What?
+
+
+The last one is %s. You will meet him in the future, so no spoilers. Time traveler word.
+
+
+The last task I could give you is to exterminate 200 @@. They actually stop miners progress on the mine.
+
+
+The last time they were seen... They went to explore the Desert Temple. None returned alive.
+
+
+The lifestone pendant allows you a quicker HP recovery. Life is more important than defense.
+
+
+The lighting hero: %s
+
+
+The lockpick broke.
+
+
+The mage thief tried to all power absorb,
+
+
+The maggots will spawn in @@ at random.
+
+
+The magic accumulated backfires at you!
+
+
+The magic council have only a handful set of them, and they let only the most skilled ones get it.
+
+
+The magic power outflowing in the room prevents you from leaving.
+
+
+The main power system is offline.
+
+
+The mana bridge is closed at the moment.
+
+
+The mana bridge to Aeros is open! To participate on event, talk to ##BSoul Menhir##b!
+
+
+The mana war stroke, and many people died,
+
+
+The map starts getting darker with the heat of the flame, and curiously, new shapes starts to form...
+
+
+The masters have decided you are to be given honorary initiation into the Duck Side. The Duck Side is powerful, much more so than you could possibly understand.
+
+
+The masters of the Duck Side, The Council of Elders, and King DD himself, on behalf of all ducks, thank you for your help. We wouldn't have survived without it.
+
+
+The mayor, Rakinorf, is probably on the Inn upstairs, drinking himself to death.
+
+
+The message cannot be empty
+El mensaje no opuede estar vacío
+
+The might contained in this curious object is too powerful. You have to be at least level 20 to harness it.
+
+
+The mightiest mage, which had control over the runes;
+
+
+The mighty Mana Stone does not reacts against you.
+
+
+The miner goes to count your stuff again.
+
+
+The mines are over a Volcano. Unless you're a Redy, the heat will slowly chip away your health if you go deep. But drinking iced water can improve temporarily your situation.
+
+
+The mines beyond this point have been shut at 280 AT because Terranite. You've been warned!
+
+
+The mist over the Impregnable Fortress Peak finally lowered down, and it seems... The peaks are no more!
+
+
+The monster hunting program will end, and what will you do?
+
+
+The monsters here are too strong, and as I said before, I can't get close to the Transcendence Portal nor to get training.
+
+
+The monsters on each Heroes Hold Dungeon will drop @@, a coin which can only be found here.
+
+
+The most aggressive and main ones are:
+
+
+The most basic grinding camp for your homunculus.
+
+
+The most common treasure box uses %s and can opened many times. However, this is a special treasure box. You'll need a %s to open it.
+
+
+The most famous nymphs, are those who wear stuff made of Snake Skin.
+
+
+The most important thing to improve is your dexterity. When you use a bow, it is your dexterity that determines if you are able to hit your enemy where it hurts most.
+
+
+The most powerful spells can, sometimes, summon some monster you didn't wanted to.
+
+
+The most widespread race in the continent, highly versatile, perfect all-rounders.
+
+
+The mouboo is sleeping soundly. The curse is still there.
+
+
+The mouboo looks a bit less sickly. But this is not enough.
+
+
+The mouboo looks a bit more healthy. A little more should do.
+
+
+The mouboo seems to want to thank you, but is still too weak. Let's finish this healing.
+
+
+The mouboo still looks terrible, but you can see a small difference.
+
+
+The name of the wizard of Aethyr is the key to open its gates. I've heard it'll open for a lowly %s as you, as long that you know both. But I don't think anyone here would share that with you!
+
+
+The nanorob-- err, the *magic* will seal all your wounds. You trust Basil, right?
+
+
+The next page begins to list the complex trading laws and political rules. The word "%s" shows up everywhere.
+
+
+The north power system is offline.
+
+
+The number of players must be precise, meaning if someone doesn't joins,
+
+
+The nurse... The nurse is... Doing all she can... To help me, though.
+
+
+The objective of this event is to ##Bslay the Monster Admiral##b.
+
+
+The old man seems busy. He ignores you.
+
+
+The one with a star (*) is advised.
+
+
+The ones around here are specially nasty. They steal stuff and seal them on 'present boxes', just to amuse as people try to open those...
+
+
+The only readable thing is an old stain of blood.
+
+
+The other councilors?
+
+
+The other one claims to be a dangerous bandit and to teach how to steal from monsters!
+
+
+The pan is empty, but it smells like fresh cookies.
+
+
+The passwords doesn't match.
+
+
+The path to reach Eugene is hidden. However, if you pay attention to the map, you should figure out how to reach that island without swimming.
+
+
+The pirate ship captain appear! TAKE CARE!!
+
+
+The pirates amass for their siege, but they will not attack yet. Return when you are stronger. King DD is working to find a solution.
+
+
+The pirates have been surrounding our island for many sun rises. We expect they will attack any time.
+
+
+The player is offline or does not exist.
+
+
+The potion is baked, and the time is now running! Read as fast as you can, don't miss details!
+
+
+The power of Soren's House kicks @@ like a game master.
+
+
+The power system is ##Bactive##b on the east.
+
+
+The power system is ##Bactive##b on the main.
+
+
+The power system is ##Bactive##b on the north.
+
+
+The power system is ##Bactive##b on the south.
+
+
+The power system is ##Bactive##b on the west.
+
+
+The power which lies in Candor acknowledges your strength.
+
+
+The power which lies in Candor rejects your strength.
+
+
+The pressure you did made the door burst open. It is unusually quiet inside...
+
+
+The previous attempt will be resumed.
+
+
+The previous mayor was an amazing mayor, but even so, he lost the office after the Monster King attacked.
+
+
+The price raises hourly, don't leave to make it on the last day!
+
+
+The prizes are only for the top 10. Loratay on Land Of Fire Village can make, for limited time, a @@ for you if you want.
+
+
+The problem is that Halinarzo was destroyed in the never-ending war and was just recently rebuilt.
+
+
+The problem is... The slimes ate the keys for the chests. This is not the first time such thing happens.
+
+
+The problem with typos is - unpredictable side effects.
+
+
+The professor is always on the Magic Council, the northmost building. If you sit on the area in front of him (marked with a red rug), you'll gain Experience, even while AFK.
+
+
+The project is involving only a small group of members, but would welcome anyone who knows how to assist in development.
+
+
+The reagent is always the same for the same class. If you do not have enough reagents but have an @@, it'll be used to continue.
+
+
+The real Monster King is probably on his fortress. It'll take more than that to take him down.
+
+
+The reason why they are not occupying the towns like before is still unknown.
+
+
+The register fee is 2000 GP.
+
+
+The rent lasts 30 days.
+
+
+The requested char "%s" is not online or does not exist.
+
+
+The runes, burried with its owner.
+
+
+The sailor chugs his beer.
+El marinero resopla su cerveza.
+
+The sailor turns his back to you.
+El marinero te da la espalda.
+
+The sailors take you aboard their ship.
+Los marineros te llevan a bordo de su barco.
+
+The sake wasn't ready yet and you lost it...
+
+
+The sea route I take is very dangerous, and full of pirates. You're too weak to travel with me.
+
+
+The seal retaliates! It was super effective. You are dead!
+
+
+The seal was broken!
+
+
+The seals having been broken, the barrier was weakened! You did it! The path is now open!
+
+
+The seals slowly grow stronger as time passes!
+
+
+The second job,
+
+
+The second stage is in the first cave to northwest you can find.
+
+
+The second way,
+
+
+The selected item is too weak. %s will only tweak items level %d or higher.
+
+
+The sewer mouth is locked.
+
+
+The ship can bring you to the town of Hurnscald, but we have a problem: It is currently being occupied by a Monster Army.
+
+
+The ship is locked, probably unable to leave port.
+
+
+The sides accept only one adventurer. You'll also lose access to General Chat upon joining, and will have to use #world.
+
+
+The singularities keep arming themselves up again, so I have roughly five minutes between first disarm and entering here.
+
+
+The situation is different if someone from Hurnscald went to her rescue. That's why I ask you to help my Cindy.
+
+
+The situation is grim, and some want the return of the Platinum Red Queen. The "Soul Eater" is back, pretending to be her ghost, and the Black Razor believed on it. They made "The Queen's Party" and want to reinstate the queen.
+
+
+The situation is too serious to you be lying... Please, go fetch the items...
+
+
+The skill would be wasted on a noob like you. You are weak. Go gain a few levels and then return here.
+
+
+The skill would be wasted on a noob mage like you. Go get more magic power first!
+
+
+The soldiers are resting at the moment.
+
+
+The sorcerer hero: %s
+
+
+The south power system is offline.
+
+
+The spell backfires!
+
+
+The spell fails!
+
+
+The spell takes a mind of its own backfires!
+
+
+The stairs have magic cast on them, I cannot climb.
+
+
+The stairs lead to nowhere. However, there is a magic sigil on the bottom.
+
+
+The statue doesn't replies.
+
+
+The stolen christmas boxes!! Christmas is RUINED!!!
+
+
+The storehouse here is overrun with house maggots.
+
+
+The storehouse is still over run with house maggots.
+
+
+The story was so cool!
+
+
+The strategy is simple. When you hit the enemy, walk one or two tiles backwards.
+
+
+The study skill allows you to see the exact health a monster have, as well some details.
+
+
+The supreme guardian of the "Talpan" creatures, such as you.
+
+
+The sword glows too much. Perhaps @@ could take it.
+
+
+The symbols at the end of the book look to be warnings, though.
+
+
+The teddy picks it and goes running to somewhere it can eat in peace. Now we know how we can please our little friend - with %s! How we didn't think on that before?!
+
+
+The teddy quickly takes the honey and fills the pot. It is really hungry!
+
+
+The teddy stares at it but does not approach. Maybe it is not hungry, or it doesn't want the food you offered.
+
+
+The title is transferred when the MVP is killed (either in PVP or by the boss), or when time runs out.
+
+
+The torch is currently lit.
+
+
+The torch is lit.
+
+
+The town administrator benefits for free services on the town.
+
+
+The tree doesn't likes your selfishness.
+
+
+The tree generously offer you one of its fruits.
+
+
+The trick at tracing parallel, is finding the difference. In this world, Cindy gives a %s, a personal belonging of her, to those whom rescue her. What is the reward on your world?
+
+
+The trickster can be found right here.
+
+
+The tyrant, which could shot from any distance;
+
+
+The uniform would be: @@, @@, @@ and @@
+
+
+The usage of @sk-commands was deprecated
+
+
+The village name is difficult to read.
+
+
+The vote was cast.
+
+
+The wage is high?
+
+
+The warp crystal broke.
+
+
+The warrior turns towards you, grinning broadly.
+
+
+The water was too shallow...
+
+
+The waterfall open, and you may now pass.
+
+
+The way is full of dangers. Not only king soldiers, but the beast has an army of their own!
+
+
+The west power system is offline.
+
+
+The whole team is very distressed, too. Could you take the opportunity to see if the team is putting the blame on Peetu? Thanks in advance.
+
+
+The wind is blowing from @@.
+
+
+The window appears to be unlocked. It might have been open some time ago.
+
+
+The wine wasn't ready yet and you lost it...
+
+
+The wizard seems busy. He ignores you.
+
+
+The wood bends a little, but doesn't breaks.
+
+
+The wood, Jack the Lumberjack used to deliver me, but he isn't delivering anymore. And the string was imported from Halinarzo.
+
+
+The world belong to Mouboos. They are sublime creatures!
+
+
+The world hero %s and the High Council Officers will announce the times to raid the Fortress.
+
+
+The world is spiniiiiiiiing...
+
+
+The... Mou... Boo... Taur...
+
+
+Their economy provide many edible items and potions.
+
+
+Their fight was not damned,
+
+
+Their first stop was Hurnscald, so please go to Hurnscald Townhall, and speak with the mayor, he can help you getting there. You can't reach there normally, after all.
+
+
+Their level was too low.
+
+
+Their main tasks are ensuring fair trading, protecting the cities from monster invasions, and guarding the Mana Stones.
+
+
+Then I craft some new type of strong desert shirt, to protect users from snakes and sunlight.
+
+
+Then I hope you can keep your grades high, hmm hmm!
+
+
+Then I returned to Tulimshar. Now I do research, vote on the Magic Council meetings, and I also teach young mages about Transmutation magic.
+
+
+Then I'll be sure you can't talk again.
+
+
+Then along came a soul as happy as can be
+
+
+Then could you perhaps kill 12 @@ for me?!
+
+
+Then get to work already!
+
+
+Then please bring me this, so I can help you back.
+
+
+Then prove yourself!
+
+
+Then so be it. Farewell.
+
+
+Then someone of a scholarship rank above your must approve it, and say that your work is enough to the next scholar rank.
+
+
+Then take the middle entrance.
+
+
+Then we have %s. You met her. She guards all Talpan beings, such as Humans, Elves, Reidys, Orcs and whatever. She is an evil woman. She grants nothing to her followers.
+
+
+Then you should look in buying Caffeinne. Curse is a status ailment which reduces your attack, nullifies your luck and makes you a snail. Simple Curses can be cured with time, too.
+
+
+Then you'll be able to buy furniture and utility.
+
+
+Then, would you like me to transform one of your gems?#0
+
+
+Then, would you like me to transform one of your gems?#1
+
+
+There I was knee deep in pinkie pattie,
+
+
+There are Monster Attacks every month, how do you have time for tea parties?!
+
+
+There are Pious on the island as well! %%i
+
+
+There are also less common ailments:
+
+
+There are alternatives to the chant words, anyone can do it if they know the basic structure.
+
+
+There are banks all over the world. Usually every important village or city has one.
+
+
+There are five floors, and they're all very dangerous. But there are riches to be found.
+
+
+There are four basic class:
+
+
+There are no new players to welcome.
+
+
+There are only a few pages missing.
+
+
+There are only four which you could want to know about.
+
+
+There are people in the world who need help!
+
+
+There are rumors about a sacred elf land, where our antecessors lived in peacefully somewhere close to here, but the path was lost. That's why we now live with dwarves.
+
+
+There are secret caves on this city. In fact, Tulimshar holds many misteries.
+
+
+There are several minor status conditions, which may buff or debuff you.
+
+
+There are some old rusty knives on the table. Would you like to take one?
+
+
+There are some sailors near the forge. Think outside the box - or rather, inside it, unless you have a fortune to buy the items.
+
+
+There are some slimes around in the deeper parts of the library. Remember to kill them alone, and beware, if they kill themselves it won't count.
+
+
+There are some stones scattered around the world that mark your point of return in case of defeats. Some ship chests may also serve as a return point. You can also select some beds in case of defeats.
+
+
+There are still some monsters left! Do you want to abort the quest?
+
+
+There are three kind of monsters which frequently attacks our fair vessel.
+
+
+There are three singularities on this island. If I disarm more than one, I'll have a penalty.
+
+
+There are three types of items.
+
+
+There are three types of monsters: the aggressive, the neutral, and the collaborative.
+
+
+There doesn't seem to be any physical wound.
+
+
+There exist more food than you know. But this time I don't want anything extravagant, just 6 @@ should be fine.
+
+
+There is a NPC called Trainer, just outside this ship.
+
+
+There is a chasm.
+
+
+There is a rare kind of scorpion, the Murderer Scorpion. Very dangerous.
+
+
+There is a slight breeze coming from @@.
+
+
+There is a time limit, which is already running.
+
+
+There is no EXP penalty, but you cannot go back without either completing the cave, or dying.
+
+
+There is no free speech. Censorship!
+
+
+There is no honor in fighting a weak opponent.
+No hay honor en enfrentarse a un oponente débil.
+
+There is no other solution; A desperate struggle is needed...
+
+
+There is only one way towards the best equipment: Smith away!
+
+
+There is only so much magical power your body can handle without breaking.
+
+
+There is someone who might know how to turn a slime back in a human. But alas, that old fart doesn't live here.
+
+
+There isn't enough, not even for NPCs. We need at least 100.
+
+
+There may be some exceptions. Anyway, this item clearly cannot be refined.
+
+
+There might be reward for anyone who doesn't gets a rank, but I never count on that. So, let's start?
+
+
+There probably is a huge, flashing orange exclamation mark over a suitable knife you could take and nobody would mind.
+
+
+There seems to be signs of a fight long forgotten, but it still reeks blood.
+
+
+There seems to be sort of lock preventing you from passing.
+
+
+There was a visitor with a mask? I didn't notice. You see, I spend most of my time in the workshop, and concentrate on my work. There are other helpers who attend to the visitors. And hopefully keep them from disturbing my concentration.
+
+
+There was nobody on the Bandit Lord's room.
+
+
+There will be consequences.
+
+
+There you are! A towel is really the most important item for a hitchhiker to have.
+
+
+There you go!
+
+
+There you go! Thanks for all the help!
+
+
+There you go, %s. If you don't know anything about crafting I heard someone on Tulimshar's Terranite Forge can help?
+
+
+There you go, a special and rare @@!
+
+
+There you go, boring person... You will look like the trees here. Ugh, disgusting.
+
+
+There you go, your Valentine Dress!
+
+
+There you go. Craft hard, mwhahahahaha!
+
+
+There you go. Enjoy it!
+
+
+There you go. I wish you good luck. @@
+
+
+There'll be monsters, the maze is randomly generated, and the initial position for you and the Ent is not fixed. Therefore, you may begin handicapped in some cases depending on luck only.
+
+
+There's a big prize in the end... Could you bring me some later?
+
+
+There's a long time we don't eat anything. Bring us @@! Five should do it.
+
+
+There's a shiny safe here. How much money is inside? Nobody is looking at you, great!
+
+
+There's a small, damp corritor, which you could crawl though.
+
+
+There's a strong magic barrier. We need to disarm it in order to enter there.
+
+
+There's a summoning circle on Tulimshar Sewers. You can reach either by boat, if you have the money - I'll lend you some; Or by the long way.
+
+
+There's also Morgan, who lives in Candor. She is a Redy, and is married with Zitoni. They are great alchemists.
+
+
+There's also a job level, which produces green sparkles when you level it.
+
+
+There's also weather, meaning it can rain, snow, or even happen a sandstorm. They are usually cosmetic, but...
+
+
+There's always some chance that THE ITEM WILL BREAK, beware!
+
+
+There's an annoying half-wose-half-elf called Thorn trying to impress me with his wose side!
+
+
+There's no change in the condition of the poor Mouboo.
+
+
+There's no help available for this event.
+
+
+There's no need to go in that Yeti infested den right now.
+
+
+There's no one who knows Butterfly Caves better than me, child. These are MY caves, after all.
+
+
+There's no reason to enter these caves now.
+
+
+There's no thank me, its'kay you're welcome
+
+
+There's no time limit on this riddle.
+
+
+There's not everything I've asked for...
+
+
+There's nothing in the Magic Council Room, though. It's just a perk.
+
+
+There's one on the basement of this house. If you kill it, Hasan will think on you as a hero and won't steal you anymore.
+
+
+There's some diversity, but you should keep aiming at helping people and killing small-fry. If you ever want a challenge, there's a Giant Maggot inside the town which can kill you in one hit.
+
+
+There's somewhere I want you to go, but you're not strong enough yet, so be patient and help them first.
+
+
+There's usually not a lot of things to do past these gates, but some monsters which only lives on the Land of Fire can only be found there!
+
+
+There, now you can not only craft items, but craft AWESOME ITEMS!
+
+
+There... *hic* They will expire *hic* in just @@... Or on logout.
+
+
+Therefore we need a lot of glue, but our supplies are nearly used up. I need @@/@@ @@ as ingredient to make new glue.
+
+
+Therefore, I shall head to the %s, and look for %s. If anyone knows how to fix it, might as well be that rat-faced... being.
+
+
+Therefore, children of Merlin, go back to your world, and ask the Blue Sage Nikolai about it. The blue sage may fake angerness or try to dodge the question, but they are a good person. Still, you should ensure you're on his good side.
+
+
+Therefore, just for a short while, I offer to be your blade.
+
+
+Therefore, please choose a permanent stat-boosting fruit.
+
+
+Therefore, the Alliance created a system so when you kill a monster, depending on its strength, you'll get Monster Points.
+
+
+Therefore... Are you perhaps interested in some... illicit goods? %%p
+
+
+Thermin is also known as the lost city. It was once founded to mine ores, and export to everyone.
+
+
+These are being crafted by Alan.
+
+
+These are dangerous caves since Marley and her gang made it a hideout.
+
+
+These are saved by walking in warp portals or touching Soul Menhirs.
+
+
+These assassins will catch me if I do that now!
+
+
+These barrels are sealed and heavy. It's impossible to know what's inside. There's a marking on them, you copy them somewhere.
+
+
+These battle plans are all wrong; They trace routes on the Canyon which doesn't exist...
+
+
+These boxes cannot be sold, but they'll be deleted a while after the event ends.
+
+
+These cliffs are no place for weak people like you. You better teleport yourself away as soon as possible!
+
+
+These gold fishes multiply horribly and have no natural predator.
+
+
+These monsters are a great source of raw crafting materials.
+
+
+These paths are all wrong! What is the problem with this map?!
+
+
+These people have lots of unspent Strange Coins! Waw!
+
+
+These towers must hold unfathomable secrets from %s.
+
+
+These weapons are only for masters, so you must get levels before being able to use them.
+
+
+These will do just fine.
+
+
+Theta Book
+Libro Theta
+
+Theta Ring
+Anillo de theta
+
+They also determine rules, and enforce them. We live under a disguised dictatorship.
+
+
+They also don't need much intelligence or magic equipment.
+
+
+They also hold control over the Mana Stones, but this is not the problem.
+
+
+They also recently took over some city affairs. It's good they're protecting us, but I'm afraid of them creeping into our lives!
+
+
+They are at north of the town.
+
+
+They are filled with a strange gas which makes they deflect attacks. They are done from a material which cannot be cut easily.
+
+
+They are hidden in the crypts, inside a cave.
+
+
+They are highly intelligent, and have higher magical affinity, and live longer, but lacks creativity.
+
+
+They are in the basement, pulling the strings from behind.
+
+
+They are known to use a revolutionary hair growth formula, which can give you a wild thatch even if you are bald!
+
+
+They are now like most monsters. I pity them. Their sacrifice was not in vain, though.
+
+
+They are strict with who is allowed inside, so you'll need either elf or ukar friends to pass.
+
+
+They became friends and Dimond told Merlin about her idea.
+
+
+They came in the night, always taking what does not belong to them.... The SLIMES!
+
+
+They can be a bit lacking in defensive power, however.
+
+
+They can be equipped to make your look more interesting or to improve some of its features.
+
+
+They cheat! They make silly tricks which look like magic.
+
+
+They did nothing good! They claim the Platinum Queen was a savior, all lies!
+
+
+They had a TMWA server, but the Monster King went hyperactive and... Well, it crashed here.
+
+
+They had a critical role in ensuring the human's race survival to The Great Fire.
+
+
+They have 10x more chance to drop a @@, so it is a great deal!
+
+
+They haven't found Mana Stones yet, so no magic, but alchemy is strong. I don't know what caused the Great Fire, and the whole event is time-locked. You can ask Falkrun for more about the Great Fire. That's what you need to know for now.
+
+
+They jump left and right and left and right again, and I can't catch them.
+
+
+They left me no inheritance, either. Even surviving has been a struggle. I'm not strong enough to kill the living potatoes for @@.
+
+
+They live below this town. Can you do this for me?
+
+
+They must be hiding in some cave... It's a shame!
+
+
+They must be reagents used in alchemy.
+
+
+They must never know we had it. Their sacrifices must be forgotten. For the sake of all.
+
+
+They need to be feed, when hunger falls below 75. @@ is the best food for them.
+
+
+They promised to travel to the ##BWorld Edge##b to fetch a Mana Fragment. The wisest of them said it was the only chance.
+
+
+They rely entirely in intelligence and magic equipment.
+
+
+They restrict access to it to prevent new Monster Kings from emerging. They also keep record on every mage in the world.
+
+
+They set up shop in the whole town, so if you are in need of upgrading your gear or buying health food, it might be a good idea to pay them a visit.
+
+
+They shouldn't. Could you perhaps, kindly bring me 1 @@?
+
+
+They use magic to boost their bodies, allowing them to do very, VERY powerful physical attacks.
+
+
+They use mana to create magic attacks and blast their foes away.
+
+
+They used to be an advanced civilization long long ago, but they decided to go against the Moubootaur.
+
+
+They used to export food and other things but there has been radio silence recentely; Which is why Andrei Sakar and a group of adventurers borrowed Nard's ship and went to investigate.
+
+
+They wanted magic to be once again free!
+
+
+They were a noob.
+
+
+They were given with @@ by @@.
+
+
+They were never again seen. None of them. We burnt all records about everyone here, and blamed the Monster King.
+
+
+They were sending food and supplies to the Alliance, but in the past months, there was a deadly silence. Not a single sign of life came from there.
+
+
+They will all perish, along most of wildlife, according to the legend passed down.
+
+
+They will not attack anyone unless they are attacked first.
+
+
+They will try to prove your worth before, though. So be ready.
+
+
+They'll also start spawning on whole map, so be careful.
+
+
+They're back - and they took hold of your majesty - my husband - king Arthur!
+
+
+They're not magic, but yayaya, people like to say it is! Yeyeye.
+
+
+They're not too dangerous, but they can take a lot of hits. So, if you kill 10 of them, I'll know you're dedicated in learning which monsters are out there.
+
+
+They're scary, don't you think so?
+
+
+They're strong, so keep fighting Maggots and Scorpions which you're used to, until you get stronger.
+
+
+They're too strong for me!
+
+
+They're with me.
+
+
+Thief
+Ladrón
+
+Think on Season Quests as a yearly quest which you have three months to do.
+
+
+Think on it like a... perk, for having helped the adventurers in this world. I just need to check if you are eligible, hold still.
+
+
+Thinking a bit... Yes, you definitely should go to the mines. They have been infested by slimes and people sometimes worry they'll leave and attack the town, but you should be capable of suppressing them.
+
+
+Thinking well, I've heard Cyndala could bleach these pants for free; Must be because their ugliness.
+
+
+Thinking well... There's something behind it! A secret window!
+
+
+Third Tier
+
+
+This %s will do. I mean, it won't be a comfortable trip, but you are in an emergency situation.
+
+
+This @@ is a nice stuff. I can refine it for @@ GP and @@ @@.
+
+
+This Portal can send your soul back to the world, along any items, money and/or experience gained.
+
+
+This Real Estate is available for rent for only @@ GP!
+
+
+This a simple game; Choose one of the shrines - west or east. The one at west is %s, the one at east is %s.
+
+
+This action CANNOT BE UNDONE.
+
+
+This area is not yet ready. Please use the portal to the right instead.
+
+
+This area is only for level 70 upwards.
+
+
+This barrel is a courtesy from Dimond Cove Inn.
+
+
+This barrel seems suspicious...
+
+
+This basically means that it'll be another day without it.
+
+
+This book is too advanced to read. You need level %d in %s to read it.
+
+
+This book outlines the laws which applies everywhere in the World Of Mana.
+
+
+This book will write itself, and reveal you the Secret Of Mana.
+
+
+This boost can be used until level 20.
+
+
+This bounty has expired.
+
+
+This boy needs help, we need to rescue him!#1
+
+
+This can only be reverted at rebirth! Beware!
+
+
+This cannot be evolved.
+
+
+This cannot be undo later!
+
+
+This cave is considered outside the town!
+
+
+This certainly is just to reorganize their armies. We must take this chance to improve ourselves, or else, we'll be overrun soon enough.
+
+
+This challenge will be available in %s. Please wait until then.
+
+
+This character person is strange I better get away...
+
+
+This choice CANNOT be undone later.
+
+
+This coal will aid you to craft better weapons later. It's a token of appreciation. Good job.
+
+
+This command cannot be used on test servers.
+
+
+This conversation never happened.
+
+
+This curse reclaims your soul to the Soul Eater. Except, she perished on the Great Fire.
+
+
+This diary had several pages torn off, but the last page is clearly legible.
+
+
+This didn't work. All pins are now unset!
+
+
+This doesn't looks like a toy.
+
+
+This door is locked, if we only had a %s...
+
+
+This door is locked.
+Esta puerta está cerrada.
+
+This door is locked. A warning sign is on the door: "do not enter!".
+
+
+This error is fatal, we stop execution.
+
+
+This estate currently belongs to @@.
+
+
+This estate is available for rent, talk to the sign to rent it.
+
+
+This event has already ended.
+
+
+This event is unique, and cannot be repeated.
+
+
+This example will not be shown again.
+
+
+This exposition has to be a success!
+
+
+This farm is dying due constant monster attacks, and without them, Tulimshar might face a famine.
+
+
+This fertilizer is projected to protect the plants from plagues, bugs, scorpions and maggots, trying to not be a plague itself.
+
+
+This fishing spot has just been used, give it a rest.
+Este lugar de pesca acaba de ser usado, dele un descanso.
+
+This fishing spot is already being used!
+¡Este lugar de pesca ya está siendo utilizado!
+
+This forge will prepare equipment for you, no skill required!
+
+
+This gate is still sealed.
+
+
+This girl needs help, we need to rescue her!#0
+¡Esta chica necesita ayuda, tenemos que rescatarle!#0
+
+This happens quite often, too. My friends and I are always collecting keys to reduce beer price on Hurnscald. %%2
+
+
+This has been a long journey, children, so please answer me. Is power a good thing?
+
+
+This have many uses. Maybe. Anyway, I'm soon done with my experiment, so please come back later.
+
+
+This is ##BCandor Island##b. A very small rich community lives here.
+
+
+This is Duck Island, the last safe refuge for birds. Ducks tend to be very peaceful, but our young ruler, King DD, has been taken up with the art of war.
+
+
+This is Tulishmar, the oldest of human cities.
+
+
+This is a @@, meaning only the victor party will receive the great prize.
+
+
+This is a Cursed Lands map, you'll lose mana over time and may also incurr in debuffs if mana is low (may cause death).
+
+
+This is a Soul Menhir, but seems more magical than the others.
+
+
+This is a bleeding map, HP won't recover naturally, and bleeding may start.
+
+
+This is a hot map, you're suffering damage over time.
+
+
+This is a magical barrier, powered by three seals in your part.
+
+
+This is a menu, click on the option and then on submit. You can use arrow keys if you prefer.
+
+
+This is a menu. You can click on the desired option and press "Send", and double-clicking should work, too.
+
+
+This is a special map so your death is not counted.
+
+
+This is a strange switch...
+
+
+This is a weird stone. It looks like a Mana Stone from afar, but anyone can tell it is fake.
+
+
+This is an apartment. You cannot renew until it expire, and cannot invite guests.
+
+
+This is another chant which causes normal fire damage in an area.
+
+
+This is difficult, but you are giving your best!!
+
+
+This is going to be difficult... oh, hello. I'm working on recreating some of the books that were destroyed.
+
+
+This is great! My collection of rare figurines is now complete.
+
+
+This is how the Monster King became evil. Keep practicing magic, so you get more comfortable with it and fail less often.
+
+
+This is in honor of all the [@@help://about-server|Contributors@@] who helped rebuilding this world, after the Monster War outbreak.
+
+
+This is just a bucket, but I did some cuts on it so you can see though it. It protects your whole face.
+
+
+This is just a friendly advise. We don't take magic lightly. And you shouldn't, either.
+
+
+This is just a short list to make GMs life easier!
+
+
+This is just an example of a chant which causes low damage in an area.
+
+
+This is my chance - the biggest Mana Quake ever, it feels like a whole world crushing in ours. I can feel the drain from Candor's Mana Reserves all the way up here.
+
+
+This is not The Mana World. My name is not Bryant.
+
+
+This is not a healing item.
+
+
+This is not a place for non-experimented people!
+
+
+This is not enough, I need 5 @@ to perform the rite. Go talk with Zitoni.
+
+
+This is not magic, it is science!
+
+
+This is not meant for me.
+
+
+This is not saved.
+
+
+This is not the first time you've been arrested for AFK botting, so, ##BNO!##b
+
+
+This is not what I asked for.
+
+
+This is often 1, 2 or 3 tiles. For talking, usually 4 or 5 tiles. Shouting can be done from 12 up to 18 tiles; But as shouting is rude, most NPCs won't react to it.
+
+
+This is only for the skilled players. Newbies, KEEP OUT!
+
+
+This is ridiculous. Groata is not here, I am wasting my time!
+
+
+This is so amusing, you decide to stare for a while longer.
+
+
+This is terrible - a fiend from a parallel dimension has broken in ours!
+
+
+This is the @@ skill. It transmutes a single @@ in a @@.
+
+
+This is the @@ skill. It transmutes stuff into other stuff. I'll teach you some more recipes as class drag on.
+
+
+This is the FAIRYEMPIRE spell. It'll summon Pixies.
+
+
+This is the FROZENHEART spell. It'll summon... Yeti.
+
+
+This is the STONEHEART spell. It'll summon the fierce Terranite.
+
+
+This is the end for your party, as the leader doesn't have sufficient level.
+
+
+This is the least I could do for you. Many thanks. And if you have more food, you can keep feeding my family.
+
+
+This is the main hall. Below this stairs, you'll find the Heroes Hold Main Dungeon. It's a cave in a... uhm. Water.
+
+
+This is the perfect opportunity to help Celestia.
+
+
+This is the test server.
+
+
+This is too powerful to you. Get level 20 before attempting to use.
+
+
+This is too precious to offer, I think.
+
+
+This is why I love spring!
+
+
+This isn't what we requested. Perhaps you should count your items more carefully.
+
+
+This item cannot be auctioned.
+
+
+This item cannot be dropped.
+Este artículo no puede arrojarse.
+
+This item cannot be refined further.
+
+
+This item cannot be sold.
+
+
+This item cannot be stored.
+Este artículo no puede almacenarse.
+
+This item cannot be traded normally and is a Legendary Item.
+
+
+This item cannot be traded.
+No se puede comerciar con este artícuo.
+
+This item cannot be used as bait here.
+
+
+This item drop rate is %s%%, which exceeds the threshold of %s%%.
+
+
+This item have no bonuses, and cannot be tweaked.
+
+
+This item is too precious, you cannot part with it!
+
+
+This key is dropped by the Saxso Ghost. Did you knew you can obtain info about the monster drop rates and strength?
+
+
+This live sword drafts itself to your hand. You can wield it during today's event.
+
+
+This live sword drafts itself to your hand. You can wield it for a while.
+
+
+This lock is beyond your current capacity.
+
+
+This lock is simple, maybe with your thief skills you can manage to pry it open. But beware, you can end up in jail!
+
+
+This looks magical, I wonder what it does.
+
+
+This lord dropped a key and a stash of gold!
+
+
+This man is THE LEGENDARY KING ARTHUR!
+
+
+This map contains poisonous gas and may cause diseases.
+
+
+This means ##BAll items were lost##b, and you need to collect EVERYTHING, again, to get the hat.
+
+
+This means everytime you get more power, you lose control. Pratice is the key.
+
+
+This means that if you die while in the past, you'll be brought back here as if you never traveled in time.
+
+
+This means that if you drop a coin on Advanced Dungeon, 4 coins will be dropped instead. On Expert, that would be 8.
+
+
+This menu allows you to customize your appearance.
+Este menú le permite personalizar su apariencia.
+
+This menu allows you to manage events and gives access to event-related tools.
+Este menú le permite gestionar eventos y le da acceso a herramientas relacionadas con los eventos.
+
+This menu allows you to modify the generic message that is sent to players when they log in.
+Este menú le permite modificar el mensaje genérico que se envía a jugadores cuando se conectan.
+
+This menu allows you to modify your account data.
+Este menú le permite modificar su información de cuenta.
+
+This menu allows you to set the scheduled broadcast that is sent to all players at a specific interval.
+Este menú le permite enviar la emisión programada que se envía a todos los jugadores en un intervalo específico.
+
+This menu contains all options available to you, based on your access privileges.
+Este menú contiene todas las opciones disponibles para usted, basadas en sus privilegios de acceso.
+
+This menu gives access to quest debug menus for @@ quests.
+Este menú da acceso a menús de limpieza de misión para @@ misiones.
+
+This menu gives you some options which affect your account.
+
+
+This might be the place of a great secret, but yet, all you can do is stare.
+
+
+This new skill will allow you to pinch every gold piece from a NPC when selling stuff! Ka-pow, now you can steal items and resell them for moar GP! AMAZING!
+
+
+This note is not interesting, maybe the obelisk is more.
+
+
+This note is too old and difficult to read.
+
+
+This one is useless! Give me another @@.
+¡Este no sirve! Deme otro @@.
+
+This option is not yet available for you; Please purchase the Premium Storage first, and then we can get started on the deluxe.
+
+
+This option will be remembered by other NPCs as well.
+
+
+This passage is still sealed.
+
+
+This passage seems sealed. If I only had a @@...
+
+
+This place is reeking blood. We better come again later.
+
+
+This program will cause experience gain to be tripled during the next siege to the town.
+
+
+This quest will unlock at level 5.
+
+
+This quota is reset yearly, by completing %s's quest.
+
+
+This random cave-warping only happens once, too.
+
+
+This request was made by the inn: The %ss are stealing their cherry cakes, causing disruption to their business.
+
+
+This research caused a lot of neglect, so expect poverty and people unwilling to talk. Benjamin, head of the council, is doing a "breaktrhough" in the most literal sense possible (breaking through the whole town finances instead of revolutionizing the world).
+
+
+This room is too dark. I want to brighten it up.
+
+
+This schedule is subject to change without prior notice.
+
+
+This seal was already broken, proceed to the next seal!
+
+
+This seems like a good idea at first, but actually, it isn't.
+
+
+This set grants the following effect when complete:
+
+
+This set is composed by the following items:
+
+
+This setting can only be changed every %d days.
+
+
+This shrine is devoted to those whom shall never come back.
+
+
+This shrine seems to be a dangerous place, and nobody should defile it.
+
+
+This silk robe is more than enough, and you are fighting, you need the def bonus more than me. %%2
+
+
+This singularity will remain disarmed for @@ more!
+
+
+This skill can only be used on monsters!
+
+
+This skill can only be used on players!
+
+
+This skill cannot be upgraded further.
+
+
+This small island is a good place to heal our wounds, and the monsters here are not threating.
+
+
+This statue was built for memory of Andrei Sakar, the greatest hero this world has even seen.
+
+
+This switch controls one of the four dungeons.
+
+
+This table will prepare the potion for you, no skill required!
+
+
+This tax must be paid now, and you can brew as much as you wish after payment.
+
+
+This teleporter is currently recharging.
+
+
+This throne is not from the Monster King... IT BELONGS ONLY TO ME!
+
+
+This time, I only a few last reagents and I'll finally attempt it... I want you to witness it. I'll teach you the spell later, of course.
+
+
+This time, I'll be prepared. His reign of terror has its days counted.
+
+
+This torch is already lit.
+
+
+This tree is crazy!!
+
+
+This vault currently have @@ GP inside.
+
+
+This well is sealed. They must take water outside the town.
+
+
+This well is too deep and you don't have a bucket.
+
+
+This whole region is called the Heroes Hold. It's designed for hard core, bragging-rights-hunters, high level, supreme players.
+
+
+This whole situation is very disquieting, not to say suspicious. There might be something more to it that we're not seeing.
+
+
+This will affect humans, too, so don't act as if it is not your bussiness either.
+
+
+This will affect rewards, and decision is final!
+
+
+This will be remembered.
+
+
+This will be your last task. Besides the @@, the strongest monster on this island worth killing is the @@.
+
+
+This will bring me back to the Hall.
+
+
+This will cost you all your action points.
+
+
+This will do nothing if the account already have a PIN.
+
+
+This will remove you from the quest!
+
+
+This will take only a short while.
+
+
+This workshop doesn't gets too many tasks from Santa outside the Christmas...
+
+
+This would mean you might need to complete this quest again in the future.
+
+
+Thorn
+
+
+Thorn Ammo Box
+
+
+Thorn Arrow
+
+
+Thorn Chest
+
+
+Thorn is so annoying...
+
+
+Those for consumption, equipment and generics.
+
+
+Those with most %s on this world becomes scholars.
+
+
+Three equal: @@.
+
+
+Three powerful consecutive brawn attacks with a chance to stun target.
+
+
+Three powerful consecutive brawn attacks.
+
+
+Throw a coin?
+
+
+Throw something inside!
+
+
+Thug
+
+
+Thunder Staff
+
+
+Thus far you have collected @@ @@, @@ @@ and @@ @@.
+
+
+Thus far you've slain %s/%s %s for me!
+
+
+Thus far, you've donated @@ boxes.
+
+
+Thus far, you've heard about %d hours and %d minutes of wisdom.
+
+
+Thus far, you've sponsored Golbarez in %d %% from total.
+
+
+Thus, I like to collect small memetos from Tulimshar.
+
+
+Time Flask
+Matraz de tiempo
+
+Time Limit
+
+
+Time Limit: 25 minutes on any dungeon.
+
+
+Time Limit: 90 minutes
+
+
+Time is running out... Hurry up!
+
+
+Time left until warp can be used: %s
+
+
+Time left: %d minutes
+
+
+Time left: %s
+
+
+Time left: @@ remaining
+
+
+Time limit for answer: 2 minutes
+
+
+Time limit: 10 minutes
+
+
+Time out!
+
+
+Time remaining to report completion:
+
+
+Time remaining: %s
+
+
+Times died: %s
+
+
+Times reborn: %d
+
+
+Times won Call of Dusty: %s
+
+
+Times won Capture the Flag: %s
+
+
+Tin Ingot
+Lingotes de estaño
+
+Tin Ore
+Mineral de estaño
+
+Tin Ore -> Gold Ore
+
+
+Tinris
+
+
+Tinris probably could do that, he is young but very talented. He is a greedy elf, but if you help him, he'll likely help you back.
+
+
+Tipiou
+Tipiou
+
+Tipiu
+Tipiu
+
+Titanium Ingot
+Lingote de titanio
+
+Titanium Ore
+Mineral de titanio
+
+Titanium Ore -> Lead Ore
+
+
+Titanium Ore and Coal refunded on Leather Quiver update.
+
+
+Titulation
+
+
+Tneck Sweater
+
+
+To Artis.
+
+
+To Candor Island.
+
+
+To Hurnscald.
+
+
+To Nivalis.
+
+
+To Tulimshar.
+
+
+To aid those in need
+
+
+To answer them, use: @captcha <num_value>
+
+
+To be honest, I don't know. I was only walking, seeking for adventure!
+
+
+To be honest, I don't know. Your wife just allowed me to pass the door!
+
+
+To be honest, I have that with me!
+
+
+To be honest, you should use both. And remember, all Mana Magic skills can be used like they were @sk-commands. %%H
+
+
+To cast, one must sit on the circle and say the chant on general chat.
+
+
+To cause a server happy hour (+%d%% EXP), you need:
+
+
+To celebrate this I'll ask you some questions about my favourite book, The Hitchhiker's Guide to the Galaxy. If you can answer them, I'll give you something very useful.
+
+
+To collect snake skin
+
+
+To craft an item, you'll need to learn its blueprint. Blueprints can be very hard to obtain! Being a crafter will take a lot of your time.
+
+
+To create an homunculus out of the embryo mass: Use the Call Homunculus Skill. It'll be random, based on the embryo nature.
+
+
+To create an homunculus, I should follow the secrets in the book "The Man Who Played God". I wrote this narrative with the greatest secrets of it.
+
+
+To defeat the Moubootaur.
+
+
+To defocus or stop attacking, press Shift + A.
+
+
+To demonstrate that you understood what I'm trying to teach you, you should go and fight against some snakes. I know they're strong, but that's not important to an archer.
+
+
+To discard an item you no longer want, select it and press the 'Discard' button. Generic items can be discarded or sold.
+
+
+To display the dialog box with other citizens, press the F7 key.
+
+
+To do quests
+
+
+To do this you need to disable auto move to target in 'yellow bar'.
+
+
+To dungeon deep, and cavern old
+
+
+To enter on them, you need to be level 25 and use the following chant: "Blame Saulc". I don't know why, but that open doors!
+
+
+To equip or unequip an item, select it and press the 'Equip' or 'Unequip' button. You can not 'Equip' or 'Unequip' when talking to someone.
+
+
+To explore these lands
+
+
+To find him, just leave the ship and turn left. You should also touch the Soul Menhir when you leave this ship.
+
+
+To focus on a creature, press the 'A' key. To focus on another citizen, press the 'Q' key. To attack the focused target press the 'X' key or click the primary button on the creature.
+
+
+To focus on an NPC, press the 'N' key. To talk to him press the 'T' key.
+
+
+To get more experience and magic power, you must practice magical spells. Make sure to vary them; you will learn nothing if you cast the same spell over and over. Also, spells that consume no components seem not to be very instructive in practice.
+
+
+To get started with fishing, you'll need two things: a fishing rod and a bait.
+
+
+To get the combo, you must fill all slots if one of the listed items. Usually any of the listed ones will do, but in rare cases it won't!
+
+
+To get there you need to go left, follow rock wall and go up when you can. The entrance to the Bandit cave is on left side of the waterfall.
+
+
+To help fairies
+
+
+To insert a card, select the card and "use" it, or, drag and drop them to the weapon.
+
+
+To join a drill, right click on one of the lieutenants and join their Battle Stations. The drill can last up to 10 minutes.
+
+
+To make @@ I need one from each gem powders, and @@ GP for commission.
+
+
+To make an %s I need a %s, an %s, and %s GP for commission.
+
+
+To make an %s I need a %s, three %s, and %s GP for commission.
+
+
+To make an %s I need a %s, two %s, and %s GP for commission.
+
+
+To make the string you want, I need a special oil, which I make myself. It's hard to do, so I'll spend time I could be using to fish or help the city guard.
+
+
+To my murders, I gave them a full meal.
+
+
+To negotiate with other citizens, you should click the second mouse button on some other citizen who is accepting negotiations, and select the 'Negotiation' option from the menu that will appear.
+
+
+To open yellow Bar you need to right click on your health bar and active status bar, also called yellow bar. Or you can press '8' on numeric keypad.
+
+
+To open your inventory, use the F3 key or use your mouse to select it in the above menu in your client.
+Para abrir tu inventario, usa la tecla F3 o usa el ratón para seleccionarlo en el menú de arriba del cliente.
+
+To pay in the specified date, we'll charge you %s over the loaned amount. So, how much?
+
+
+To perform most actions, like feeding and renaming, just right-click it. You can even put it back on the egg if its following gets too annoying. When in the egg, they will not feel hunger.
+
+
+To prevent abuse, a registering fee is charged. Nothing major.
+
+
+To prove me your faith, bring me 1 @@ or 1 @@.
+
+
+To prove me your results, bring me @@ @@, @@ @@ and @@ @@.
+
+
+To reach this place... You just need to follow the path after the waterfall. Come back to me after that.
+
+
+To register as a craftsman, you need to talk to Intense Beard in Terranite Forge. The forge is in the Bazar.#1
+
+
+To register as a craftswoman, you need to talk to Intense Beard in Terranite Forge. The forge is in the Bazar.#0
+
+
+To register as a hunter, talk to Aidan, also in the marketplace - the Bazar.
+
+
+To retry, I will charge you %d GP or %d %s for each attempt made. You'll have less time to finish as well.
+
+
+To scry Jesusaves, for example, you would do:
+
+
+To seek our pale, enchanted gold
+
+
+To speak in public select the 'General' tab. It serves to talk to people who are appearing on your screen.
+
+
+To speak privately to a friend who is not appearing on your screen, type the command '##B /q Citizen Name ##b' and press 'Enter'. This command will open a long-distance dialog that has the name of who you want to talk to. Select this new tab and send your message through it.
+
+
+To speak privately with someone, click the second mouse button on the citizen and select the 'Whisper' option.
+
+
+To successfully catch a fish, you need to pull up your hook by clicking it, right after it submerges.
+
+
+To thank you, accept my old fishing rod.
+
+
+To the brave heart; An endless maze.
+
+
+To the brave, shan't be your grave.
+
+
+To the courageous, thy foe is rancorous.
+
+
+To the lovely cuteness; Unwavering helpfulness.
+
+
+To the strong soul; Challenges to overthrow.
+
+
+To the wanderer: Please avoid entering on the rooms by the internal warp system.
+
+
+To train their soldiers, they frequently face Frostia in duels. Adventurers are welcome to join their drills.
+
+
+To understand the nature of this bow, you have to collect the needed material by yourself. Only this way will you get a feeling of what it means to use such a weapon.
+
+
+To unlock the cell on the middle of the throne room, you need to flip all 5 switches there.
+
+
+To which mirrored island you want to warp?
+
+
+To whom you want to send @@ boxes? Cannot be yourself!
+
+
+To your pleasant surprise the tea is actually quite good.
+
+
+ToDo
+
+
+Today at 18:30 UTC we are going to attack the Monster King by surprise. There will be no delays, so be there.
+
+
+Today is soup of Pinkie Legs!
+
+
+Together, they wrote legends. They slayed Toby Rick the Desert Worm, the mightiest desert beast.
+
+
+Toggle Daily Reward screen
+
+
+Toggle Inscription
+
+
+Toggle Soul Menhir automatic saving
+
+
+Token Of Apology: 1x @@, 1x @@
+
+
+Token Of Apology: 1x @@, 570 GP
+
+
+Tolchi
+
+
+Tolchi Ammo Box
+
+
+Tolchi Arrow
+Flecha de Tolchi
+
+Told ya, %s, should know better than to mess with an... assassin!
+
+
+Tomorrow is the day, when we shall march against Raid, in order to free our people from the oppression of her mages.
+
+
+Tonori Delight
+Deleitoso Tonori
+
+Tonori Human
+Humano de Tonori
+
+Tonori Water
+Agua de Tonori
+
+Too bad these lamps wear off after a while... I am making stocks of them now!
+
+
+Too bad, There is some really good news this week. Things like how to go to Candor for free.
+
+
+Too bad, you're really missing out!
+
+
+Too expensive %%n
+
+
+Too lazy.
+
+
+Too much power can corrupt you. I've seen this happening before... countless times.
+
+
+Too slow.
+
+
+Tooth Necklace
+Collar de dientes
+
+Toothbrush
+Cepillo de dientes
+
+Top 10 - Summer Ched's Event
+
+
+Top 10 - Valentine Day
+
+
+Top 5 - Christmas Box Donation Event
+
+
+Top 5 - Golbarez Seasonal Quest
+
+
+Top Hat
+Sombrero de copa
+
+Topaz
+Topaz
+
+Topaz (+2 agi)
+
+
+Topaz Bif
+
+
+Topaz Powder
+Polvo de topacio
+
+Toppy Blub
+Toppy Blub
+
+Torch#0065
+
+
+Torch#1
+
+
+Torch#2
+
+
+Torch#3
+
+
+Torch#4
+
+
+Torch#5
+
+
+Tortuga
+Tortuga
+
+Tortuga Shell
+Caparazón de Tortuga
+
+Tortuga Shell Fragment
+Fragmento de Caparazón de Tortuga
+
+Tortuga Tongue
+Lengua de Tortuga
+
+Toss the hook into deep water by clicking on where you want to cast it.
+
+
+Total Credits and GP: @@
+
+
+Total Gold: %s
+
+
+Total Logins: @@
+
+
+Total actions left: %d
+
+
+Total money collected: @@ GP
+
+
+Total slow down, DEF-, may freeze
+
+
+Total time AFK'ed in Tulimshar: %d hours and %d minutes
+
+
+Toto
+
+
+Touch Soul Menhir and visit the Valentine's Island.
+
+
+Touch it!
+
+
+Touch it.
+
+
+Towards thee I roll, thou all-destroying but unconquering whale; to the last I grapple with thee; from hell’s heart I stab at thee; for hate’s sake I spit my last breath at thee. Sink all coffins and all hearses to one common pool! And since neither can be mine, let me then tow to pieces, while still chasing thee, though tied to thee, thou damned whale! Thus, I give up the spear!
+
+
+Town Administrator can use the town money for investments, and also receive a salary depending on how well the town is.
+
+
+Town Defense Program
+
+
+Town Defense Program enabled.
+
+
+Town Money: @@
+
+
+Town Reputation: %d | %d.%02d %% Tax
+
+
+Town Tax: %d.%02d %%
+
+
+Town Weekly Exports: @@
+
+
+Townhall Guard#EP
+
+
+Trade
+Comercio
+
+Trade 2 %s for a Silver Gift + a Bronze Gift
+
+
+Trade Golden Eggs
+
+
+Trade Silver Eggs
+
+
+Trade a card
+
+
+Trade my coins in Gift Boxes, pretty please!
+
+
+Trade stamps
+
+
+Trade the Gingerbread
+
+
+Trade the Xmas Cake
+
+
+Trade the Xmas Candy Cane
+
+
+Trader
+
+
+Trainer
+
+
+Training Ammo Box
+
+
+Training Arrow
+Flecha de Entrenamiento
+
+Training Bow
+Arco de entrenamiento
+
+Training Dummy
+
+
+Training Wand
+
+
+Training to be sages, their knowledge is unparalleled. They're masters of boosting skills.
+
+
+Transcendence Gate
+
+
+Transfer Mana
+
+
+Translators
+
+
+Transmutating @@ will require:
+
+
+Transmutation Skill
+
+
+Transmute?!
+
+
+Trap Door
+
+
+Trapper Hat
+Sombrero de trampero
+
+Travel to this area is impossible, due to the hordes of Monster Armies.
+
+
+Treasure (High Quality)
+Tesoro (alta calidad)
+
+Treasure (Low Quality)
+Tesoro (baja calidad)
+
+Treasure (Med Quality)
+Tesoro (Calidad media)
+
+Treasure Key
+Llave del tesoro
+
+Treasure Map
+Mapa del tesoro
+
+Treasure!
+
+
+Treasurer
+
+
+Tree Maze (Past Tulimshar)
+
+
+Trick Dead
+
+
+Trickmaster
+
+
+Tricks
+
+
+Tritan
+Tritan
+
+Tritan Voice
+Voz de Tritan
+
+Triumph of the Eternals
+
+
+Troll
+
+
+Truth is - I cannot do that. Obviously. But I know who can.
+
+
+Try again!
+
+
+Try again?
+
+
+Try doing quests which doesn't involve monster hunting first. I'm sure ##B Ayasha ##b could use your help.
+
+
+Try helping the city guard. Talk to NPCs around the city. Outside the city walls too. And there are some people on the mines.
+
+
+Try killing it, and if it kills you, just come back from death to continue killing it.
+
+
+Try praticing with different mana magic skills. Anyway, you can use this command to see your magic proeficiency:
+
+
+Try talking to Soul Menhir or with any NPC on Tulimshar Center (near Soul Menhir).
+
+
+Try this one.
+
+
+Try to don't take too long!
+
+
+Try to make a good time, and... Good luck! On my signal, 3, 2, 1...
+
+
+Trying to chant beyond your capabilities will only drain more mana and be inefficient.
+
+
+Trying to retrieve it now will have @@ % chance to be successful.
+
+
+Tuber
+Tubérculo
+
+Tuesdays
+
+
+Tulim Warp Crystal
+
+
+TulimShip
+
+
+TulimShip#M
+
+
+Tulimshar
+
+
+Tulimshar (@@m)
+
+
+Tulimshar - @@ GP
+
+
+Tulimshar Beach
+
+
+Tulimshar Bola
+Flotador de Tulimshar
+
+Tulimshar Guard
+
+
+Tulimshar Guard Boots
+Botas de guardia de Tulimshar
+
+Tulimshar Guard Card
+Tarjeta de guardia de Tulimshar
+
+Tulimshar Guard Card will prove good intentions. Talk to the Lieutenant in front of the Guard House.
+
+
+Tulimshar Map
+Mapa de Tulimshar
+
+Tulimshar Mines
+
+
+Tulimshar Office
+
+
+Tulimshar Townhall
+
+
+Tulimshar doesn't have a lot more of quests to offer you, so you should definitely explore new places.
+
+
+Tulimshar is surrounded by strong monsters. If you go out with your poor equipment, you're going to be dead in no time, @@.
+
+
+Tulimshar is the oldest human city, and its foundation is the year zero of our calendar.
+
+
+Tulimshar is the strongest city because Dausen teaches every newcomer about the monsters around and how to defeat them. Take his special training if you get the chance!
+
+
+Tulimshar miners mainly try to obtain gems.
+
+
+Tulimshar spent trillions in research, and so did Hurnscald and Nivalis. Everything else was neglected. Eventually, some highly experimental tech experiment went haywire.
+
+
+Tulimshar, Tonori - 2nd March 300 AT
+
+
+Tulimshar, right? The oldest human city-state!
+
+
+Tulip
+Tulipán
+
+Tunnel through the caves!
+
+
+Tutorial Protips:
+
+
+Tutorial Tom
+
+
+Tutorship is NOT the most effective way.
+
+
+Tutorship will give you Research Points.
+
+
+Tux Soul
+
+
+Tweaking: %s
+
+
+Twelve times more if it is an elusive Mana Fragment no one knows where they are!
+
+
+Twelve... There is no way people collected this many gifts. Anyway. 404,800 is the next milestone.
+
+
+Two Hands Weapon Recipes
+
+
+Two equal: 1 casino coin.
+
+
+Two hands sword (strong, misses)
+
+
+Two still fight better than one. I have the courage of a dustman in me!
+
+
+Tycoon
+
+
+Tyranny
+
+
+Tyranny as well, but to a different tree.
+
+
+Tyrca
+
+
+Uh are you sure this is fit to drink?
+
+
+Uh, a %s? How odd.
+
+
+Uh, how come? I thought you were an adventurer too! That island which trusted adventurers can reach using Pihro & Pyndragon's personal airship is so popular... Anyway!#0
+
+
+Uh, how come? I thought you were an adventurer too! That island which trusted adventurers can reach using Pihro & Pyndragon's personal airship is so popular... Anyway!#1
+
+
+Uh, maybe another time.
+
+
+Uh, sure. We mouboos are not cruel. But it might not be your size.
+
+
+Uh, what?
+
+
+Uh, you should ask %s, he is the miners leader.
+
+
+Uh. You're probably right. I'm very sorry. I'm just... You know, I wanted to become a scholar of the sages, studying and... Oh, how could I mess that up? Did you see the library? It caused so much damage! What else should they do other than kick me out?
+
+
+Uh... I *just* remembered I have something else to do!
+
+
+Uh... Something should happen, right? Can you get another one?
+
+
+Uh... That should not happen, right? RIGHT?
+
+
+Uh... Yeah, that's not funny.
+
+
+Uh? Hey, look! A platinum card! This should be worth something with the Guild Merchant Guild, right?
+
+
+Uh? I can't pass. I wonder why, maybe I need to wait?
+
+
+Uh? What are you doing here?!
+
+
+Uhh... I'm scared!
+
+
+Uhh... Not really! I love to kill Yetis, but sometimes they are really shy!
+
+
+Uhh... What happened...
+
+
+Uhh...yeah sure...I guess...
+
+
+Uhm, @@ seems to have finished their scheduled tasks again... If they were so diligent in cleaning and stocking, though...
+
+
+Uhm, I better heal it first before trying to do anything about the curse.
+
+
+Uhm, I don't need that.
+
+
+Uhm, I don't think this item needs my skills.
+
+
+Uhm, I'm not the king of Frostia, I'm the king of all useless adventurers.
+
+
+Uhm, just remember it'll be manually verified before prizes are given... Don't even think on cheating!
+
+
+Uhm, maybe I could teach you something, too. Go mine 5 @@. You should find some at northeast of the Island.
+
+
+Uhm, maybe I mashed the Plushroom too hard this time. Here's EXP as usual, let's try again?
+
+
+Uhm, no, not really. Maybe later, who knows?
+
+
+Uhm, of course a book like this has to be a trap, right?
+
+
+Uhm, sorry, I don't trust stuff you get at market. You know.
+
+
+Uhm, that's an... @@. Do you... want to grow a tree on the mouboo or something? Can't you think on something else?
+
+
+Uhm, this seems like a bad idea.
+
+
+Uhm... I thought you were trying to heal the mouboo. Why are you giving it poisonous stuff?!
+
+
+Uhm? Oh, a new believer! Welcome, child of the mana, to the only church in this world.
+
+
+Uhul! My name is Mahul!
+
+
+Ukar
+Ukar
+
+Ultimate
+
+
+Ultimate Exchanger#0
+
+
+Ultimate Tier
+
+
+Ultra Rare Drop
+
+
+Um, might I ask, what is so interesting?
+
+
+Umm..I have another quest to get to. So... umm... I should get going.
+
+
+Unbelievable! You're really a wise person.
+
+
+Undead Eye
+Ojo no muerto
+
+Under the leadership of King Wusher, they were the first to accept immigrants from other races. You will find humans and non-humans there.
+
+
+Understood
+
+
+Unforgiving Lands
+
+
+Unfortunately you cannot rebirth anymore!
+
+
+Unfortunately you're in tutorial mode, so I cannot let you go ahead knowing you'll fail. Please improve your reputation with Nard and then continue.
+
+
+Unfortunately, @@s are not welcome on the Yeti Domains. You're no exception.
+
+
+Unfortunately, I cannot sell them to you. Maggots are attacking my crops and giving me headache.
+
+
+Unfortunately, I was cursed to never enter their cave again. They used a @@ to do that!
+
+
+Unfortunately, a mere fledgling like you is not strong enough to help us.
+
+
+Unfortunately, elves doesn't like to share coffee, so I thought in leaving but fell asleep. Oops!
+
+
+Unfortunately, he has been corrupted by the terrorist organization calling itself S.A.R.A.H. Hopefully, he will return to the ways of peace and bring prosperity to Duck Island once again.
+
+
+Unfortunately, other victor's names weren't logged.
+
+
+Unique monsters can be found there, and people say about staffs which shoot raw death and doom from it!
+
+
+Unless you are an exceptionally talented mage or an influentical politician, it is unlikely.
+
+
+Unless you know what you are doing, please go to Main Server instead.
+
+
+Unless you're an Alliance member or have authorization, you cannot go in.
+
+
+Unless you're looking forward a death penalty, DO NOT JUMP!
+
+
+Unless, of course, if Saulc cloned you. But then we must blame Saulc!
+
+
+Unless, of course, if you can prove your strength, challenging me to a duel.
+
+
+Unlike Parum, you can use the skill points you get every time your job level rises. That will lower the mana cost and increase success chances.
+
+
+Unlike many other cities, if you want people in eternal need of items, there is a good place to look.
+
+
+Unlike talking, when trying to pick objects or read signs, you should be at an arms distance of them.
+
+
+Unobtanium
+
+
+Unparelled, strength without precedents. Ancient beings of pure mana, rumored to be immortal.
+
+
+Unsatisfied, it goes away from you and your bag. Such a shame, we almost had got its trust.
+
+
+Unsit me OR I'LL KILL YOU in name of my father, Prsm!
+
+
+Unsit me at once!
+
+
+Unsurprisingly, nothing happens.
+
+
+Unused House
+
+
+Unused House, Market
+
+
+Updates were disabled
+
+
+Upgrade it
+
+
+Upgrading a skill level can be done the same away and will always cost a single Magic Skill Point. Job Level points are obtained only after Lv @@, and is a single point each @@ levels.
+
+
+Urchin Meat
+Carne de niño pobre
+
+Usage of @exprate without argument is deprecated, please use "@rates" instead.
+
+
+Usage: @translate <npc file>
+
+
+Use %s (name in english) to obtain this info. You don't need the full name either, so go ahead and try it!
+
+
+Use %s to see how long you need to wait.
+
+
+Use @@ to cancel.
+
+
+Use @@ to read the new version.
+
+
+Use a key.
+
+
+Use an alt char to do that.
+
+
+Use items to drain the pentagram. Final result is affected by int!
+
+
+Use its powers for good!
+
+
+Use the abandoned passage to the north... Usually, no one uses it.
+
+
+Use the arrow keys to walk right and meet Juliet.
+
+
+Use these coins to exchange for stuff. But beware: Each dungeon difficulty will increase the coin drop in the square value of previous.
+
+
+Use your @@ as currency!
+
+
+User Control Panel
+
+
+Username#0000
+
+
+Using potions and support magic is fine, as well as summons; but using a non-magical weapon will disqualify you.
+
+
+Using potions and support magic is fine. It has high defense, so magic attacks work better.
+
+
+Usually only sponsors are allowed up there, but I'll make an exception today. Go meet the mayor.
+
+
+Usually they have a few rare drops. The miniboss of Candor may drop a rare key, which you can use to open a certain chest...
+
+
+Usually you can only tweak if the item already have another option, but I am Tolchi. So, which item you want to tweak?
+
+
+Usually, you can find magic on these buildings, but watch out, there is magic to be found elsewhere, and some items are bound with it!
+
+
+Utilities
+
+
+V-neck Jumper
+Jersey de cuello V
+
+Valentine Day
+
+
+Valentine Day Event Reward automatically claimed
+
+
+Valentine Day event consist in gathering @@ and sending them to your loved one.#0
+
+
+Valentine Day event consist in gathering @@ and sending them to your loved one.#1
+
+
+Valentine Day is over!
+
+
+Valentine Dress
+
+
+Valentine Top 1 Prize
+
+
+Valia
+
+
+Valia Gemini
+
+
+Vampire Bat
+
+
+Vampire Bat Wing
+Ala de murciélago vampiro
+
+Vanity Pixie
+
+
+Various people already went missing, including GMs. This is why if you plan to cross,
+
+
+Vault#01710
+
+
+Vault#0172
+
+
+Vault#0173
+
+
+Vault#0174
+
+
+Vault#0175
+
+
+Vault#01824a
+
+
+Veneri
+
+
+Versatile Card
+
+
+Very well - Congratulations! That was very easy, though, and this one is full of imperfections.
+
+
+Very well! We have seven class of items: Wood, Iron, Terranite, Bronze, Silver, Gold and Platinum.
+
+
+Very well, but for a fee of @@ GP. There's no free lunch, after all!
+
+
+Very well, let's see what you are made of!
+
+
+Very well, listen to my plan!
+
+
+Very well, now I can create more paper.
+
+
+Very well, this looks fine. It is time for your first lesson.
+
+
+Very well, you don't know what you're missing.
+
+
+Very well. I shall now share with you the details of this rite.
+
+
+Very well. That will make a great meal. You pass!
+
+
+Very well. The Platinum Red Queen died in her sleep and the Soul Eater took her role. But the Soul Eater was a tyrant and soon enough, "she" was murdered. A Council has taken over Tulimshar on the meanwhile and is doing intense research.
+
+
+Very well. This conversation never happened.
+
+
+Veteran Officer
+
+
+Vice Leader
+
+
+Vicious Chest
+
+
+Vicious Squirrel
+
+
+Vicious Squirrels
+
+
+Victory Conditions
+
+
+Victory Conditions: Defeat all enemies!
+
+
+Victory Conditions: Defeat the assassin!
+
+
+Victory Conditions: Protect Sagratha!
+
+
+Victory Conditions: Survive!
+
+
+Victory prizes include guild experience, guild money, and guild bound items.
+
+
+View Candidate List and cast a vote
+
+
+View LeaderBoard
+
+
+Viking Helmet
+Casco vikingo
+
+Vincent
+
+
+Visit the Christmas Workshop, and talk to the chief in charge.
+
+
+Visit the special event map, kill low level bosses, collect %s,
+
+
+Visiting a new world is always exciting. Actually, the opportunity of taking a new life in a new universe isn't that bad either.
+
+
+Visiting the bank too right? We're only a small village but Cynric is the best bank guy I know.
+
+
+Visitor with a mask? Ah, I think I know who are you talking about. Black clothes and a golden mask. Rather strange guy.
+
+
+Visitors should keep away from those!
+
+
+Vit Potion
+
+
+Vit+ Potion
+
+
+Vit++ Potion
+
+
+Vitality
+Vitalidad
+
+Vitality Fruit
+
+
+Vneck Sweater
+
+
+WAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHH
+
+
+WARNING
+
+
+WARNING!
+
+
+WARNING! WARNING! Monster Army is moving towards Halinarzo!!
+
+
+WARNING! WARNING! Monster Army is moving towards Hurnscald!!
+
+
+WARNING! WARNING! Monster Army is moving towards Nivalis!!
+
+
+WARNING! WARNING! Monster Army is moving towards Tulimshar!!
+
+
+WARNING#015535661
+
+
+WARNING, THIS IS A RARE ITEM AND THIS OPERATION CANNOT BE REVERTED!!
+
+
+WARNING, you have been detected cheating and thus, violating Tulimshar Anti-Theft Policy.
+
+
+WARNING. YOU ARE CHEATING THE GRIMORIE QUEST.
+
+
+WARNING. YOU ARE CHEATING THE SUNNY CRYSTAL QUEST.
+
+
+WARNING:
+
+
+WARNING:
+
+
+WARNING: Angela Quest cannot be finished without finishing Mercury sidequest first.
+
+
+WARNING: Change your equipment now.
+
+
+WARNING: DO NOT PROCEED UNLESS YOU'RE READY.
+
+
+WARNING: Dangerous!!
+
+
+WARNING: Data may have been corrupted.
+
+
+WARNING: Deprecated!
+
+
+WARNING: Difficult quest, bringing plenty of healing items strongly advised!
+
+
+WARNING: Do not spend unecessary time on Soren's House, you'll be disconnected!
+
+
+WARNING: Fake Death skill is disabled on the fight.
+
+
+WARNING: HIGH LEVEL AREA. COME PREPARED.
+
+
+WARNING: If you insert wrong pincode, you'll be disconnected.
+
+
+WARNING: If you use any Mirror Lake feature on this world, the current Mirror Lake Quest will be marked as "Failed".
+
+
+WARNING: If you walk out the main gate you WON'T be able to return!
+
+
+WARNING: Might have unexpected side effects!
+
+
+WARNING: Monsters will appear!
+
+
+WARNING: NO EXPERIENCE WILL BE CARRIED OVER FROM THIS FIGHT.
+
+
+WARNING: Nivalis is currently under siege from the Monster King himself.
+
+
+WARNING: Path temporaly closed due strong snowstorm.
+
+
+WARNING: Permanent boosts will return to their fruit form.
+
+
+WARNING: Save your game now.
+
+
+WARNING: Server will go down for scheduled maintenance in 10 minutes!
+
+
+WARNING: Server will go down for scheduled maintenance in 15 minutes!
+
+
+WARNING: Server will go down for scheduled maintenance in 5 minutes!
+
+
+WARNING: Spawn these monsters with moderation!
+
+
+WARNING: Strange bugs may happen if you attempt to craft an item you already have on inventory!
+
+
+WARNING: THIS ACTION IS IRREVERSIBLE.
+
+
+WARNING: The %s is a %s. Besides being insanely powerful, no duplicate of them exist in the world. They can be tweaked freely and can hold multiple cards as well, and scale according to your level. Use its powers wisely. However, beware: This weapon cannot be traded except with "@grantpower" command, and if you abandon the world, the weapon will abandon you as well!
+
+
+WARNING: This is a level 45 quest!
+
+
+WARNING: This is experimental!!
+
+
+WARNING: Warp Crystals can break after use and have a cooldown.
+
+
+WARNING: You are about to enter a HIGH-RISK zone.
+
+
+WARNING: You died at Forgotten Shrine and the Shrine defense triggered.
+
+
+WARNING: You have a time limit!
+
+
+WARNING: You have done less than 50% of Candor Quests!
+
+
+WARNING: You must give at least @@ boxes more before event ends to be eligible for a reward!
+
+
+WARNING: Your progress on the quest was lost!
+
+
+WARNING: if you die again today in a special map it will be PERMANENT.
+
+
+WARPING IN 10 SECONDS
+
+
+WAW thank you! Come back later to bring me extra @@!
+
+
+WHAT ARE WE WAITING FOR?! START ALREADY!
+
+
+WHAT ARE YOU GOING TO DO?
+
+
+WHAT IN THE NAME OF THE FREAKING PENGUIN WAS THAT?!
+
+
+WHAT? Have you not gained one at birth? That's absurd!
+
+
+WHAT? How can you ever party without beer?!
+
+
+WHAT? That's twice absurd! Now you'll say that you were found stranded on a desert island without equipment and can't remember anything but your own name!
+
+
+WHAT? The farm is plagued with insects?!
+
+
+WHAT?! ARE YOU OUT OF MIND?!?!
+
+
+WHIP
+
+
+WOW, THIS IS AWESOME! Many, many thanks!!
+
+
+Wait a minute! I have an idea!
+
+
+Wait a minute...
+
+
+Wait a minute... This is written in Mananese! I can't read it!
+
+
+Wait a moment - you are naked! YOU WILL DIE IN THE FREEZE! o.o
+
+
+Wait for the bait to sink underwater.
+Esperar al anzuelo para undirse bajo el agua.
+
+Wait, I thought you were a nymph!
+
+
+Wait, Yeti's have a king?
+
+
+Wait, are you with the police? I didn't do anything wrong, I promise!#0
+
+
+Wait, are you with the police? I didn't do anything wrong, I promise!#1
+
+
+Wait, if you try to melt more than one item, manaplus will get buggy.
+
+
+Wait, it is not so simple as just giving me the money.
+
+
+Wait- Something is happening!
+
+
+Wait. I remember you. You ruined my crops a few seconds ago!!
+
+
+Wait...could you repeat that?
+
+
+Waiting for @@...
+Esperando a @@...
+
+Waitress
+
+
+Walk +5%
+
+
+Wall Card
+Tarjeta de pared
+
+Wall Card S
+
+
+Wall Card X
+
+
+Wand (skill boost, pathetically weak)
+
+
+Wanderer, here is dangerous! Go back!
+
+
+Wandering Shadow
+
+
+Wandering too much? Take care to don't get lost.
+
+
+Wandering too much? Take care to not get lost.
+
+
+Wands
+
+
+Want to break the hundredthousand item limit?? Ten gifts, for more, bring 102,400 boxes here.
+
+
+Wardrobe#MKHB
+
+
+Wardrobe#RES_0128
+
+
+Wardrobe#RES_PPL
+
+
+Warez?
+
+
+Warlord
+
+
+Warlord Boots
+Botas del señor de la guerra
+
+Warlord Gloves
+Guantes del señor de la guerra
+
+Warlord Helmet
+Casco de señor de la guerra
+
+Warlord Pants
+
+
+Warlord Plate
+placa de señor de la guerra
+
+Warning#Kamelot
+
+
+Warning.
+
+
+Warning: If you are taking an advanced class, it will canceled.
+
+
+Warning: Invalid UNIX EPOCH time detected.
+
+
+Warning: This will drain mana and spawn monsters. You shall not leave this cave section!
+
+
+Warning: You are using an old client.
+
+
+Warp - Arrest me!
+
+
+Warp - Jump to Basement
+
+
+Warp - Jump to Cave Exit
+
+
+Warp - Jump to Entrance
+
+
+Warp - Jump to Jail
+
+
+Warp - Jump to Sewer Entrance
+
+
+Warp - Jump to Weapon Room
+
+
+Warp to Council room?
+
+
+Warp to a mirror island.
+
+
+Warp to extra island!
+
+
+Warp to the Cave Of Trials?
+
+
+Warped Log
+Tronco deformado
+
+Warped.
+Teletransportado.
+
+Warping to save point.
+Girar para guardar punto.
+
+Warrior General
+
+
+Was I supposed to have one? How should I reply?
+
+
+Was it Nard who brought you here?
+
+
+Was not it only flooded constantly, the graveyard is not too far. If you stray away from the path, you'll get lost.
+
+
+Wash yourself with the potion
+
+
+Wasn't there something on the Holy Bible? About a young boy trapped by his brothers somewhere because envy?
+
+
+Watch out! My wife was gravely wounded the other day. Don't forget your shield when leaving this holy place!
+
+
+Water Element
+
+
+Water Fairy
+
+
+Water, Bread, Cheese and Cherry Cake are to eat, and money is always useful, you know.
+
+
+Wave @@/10
+
+
+Waw! You really did it, you're the savior of my farm!! You have my eternal gratitute. Here is 2500 GP for your troubles!
+
+
+Waw! You really did it, you're the savior of my farm!! You have my eternal gratitute. Here is 5000 GP for your troubles!
+
+
+Waw, you are level @@! Many congratulations. If there were people like you, ukarania wouldn't have been destroyed...
+
+
+We actually have a problem. Bandits ransacked this tavern, and took a huge loot.
+
+
+We advise you to change your equipment now.
+
+
+We also feature some services like a storage and a bank for members.
+También contamos con algunos servicios como un almacén y un banco para los miembros.
+
+We also found a small fortress and a small gothic building which might have important clues on your journey. Our first task, therefore, should be recapturing this town from our enemies!
+
+
+We appreciate your help. Take this %s as a token of goodwill.
+
+
+We are assembling forces to take Nivalis back.
+
+
+We are deliberating. Some do not... approve of your initiation. Leave.
+
+
+We are in desperate need of food and nesting material, as well as our sacred supply of @@.
+
+
+We are no longer in danger, thanks to you. The pirates were thoroughly defeated. None survived the battle.
+
+
+We are planning to take over Hurnscald from the Monster King, and we will need everybody's help.
+
+
+We are strong fighters, and we want to free the King from his obsession.
+
+
+We are unsure of the cause, but they must be repelled at any cost!
+
+
+We arranged a small underground room for that, because the Colliseum is too far away.
+
+
+We can do this again on next summer!
+
+
+We can do this again on next winter!
+
+
+We can't let you die of thirst! That wouldn't be cool at all! And I'm very cool!
+
+
+We can't, don't you agree?!
+
+
+We don't have a mayor. The independent city-state of Frostia is ruled by a King.
+
+
+We elves have greater affinity for magic than humans.
+
+
+We follow north hemisphere seasons in case you're wondering.
+
+
+We found several interest points inside, like some mines with the most precious ores in the world - like %s and even %s - along very powerful monsters. Unfortunately, it is partly flooded.
+
+
+We from Halinarzo are very poor, and in constant need of food. You have to help us!
+
+
+We have four classes, but you can make a mix between them.
+
+
+We have made a stop at a little island, before making it on to the port of Tulimshar.
+
+
+We have three vanishing sort of people on the story.
+
+
+We held to our hope and Jerry figured it out.
+
+
+We keep the Slimes past the barrier for the night, so be careful when entering.
+
+
+We know a lot, but all this knowledge will part with us. We should not the only nomads, though. There should be nomads in Argaes, Kaizei, besides the citadels of Oceania and Volcania. Unfortunately, all of them are incommunicable. But so are us.
+
+
+We may delete all entries and change formulas in the future.
+
+
+We may require your aid again soon. The tritan pirates are amassing and we fear they are planning a siege of Duck Island. I must speak with the Council of Elders...
+
+
+We must away
+
+
+We must blame Saulc!
+
+
+We must capture Barbara AND return the stolen item!
+
+
+We must defeat the Monster King on his evil lair!
+
+
+We must find out what lies at the top, whatever the cost!
+
+
+We need to find what powers these two seals and disable it.
+
+
+We need:
+
+
+We offer party and guild certifications.
+
+
+We only managed to recover @@ stolen @@ thus far...
+
+
+We only require a small fee of %d %s, or %d %s, or %d %s if you are poor adventurer.
+
+
+We organize some auction and we help local merchants to launch their businesses.
+
+
+We pursued them until the mines, slayed them, and took the chests where they locked our stuff into.
+
+
+We really appreciate your help with the slimes.
+
+
+We shall be waiting for your arrival.
+
+
+We should be there in a few days. For now, you can relax on the ship, or visit the island we're docked at! Its a small island, but a good place to get some exercise and stretch your legs.
+
+
+We should split our team, and have someone to protect our backs. Otherwise, we might not do it.
+
+
+We speak various languages on this world. Let's try gesturing!
+
+
+We sure flourished at her early years, but the late years were a disaster! Crops were failing way before her death!
+
+
+We thank every developer which helped this project thus far!
+
+
+We thank every player, because without them, this would be nothing!
+
+
+We thought that you could help us understand this, all we know is that we found you cast in the sea, in a sand bank.
+
+
+We want to celebrate this moment, but can you believe we ran out of beer?
+
+
+We want to thank everyone who did this release possible.
+
+
+We will be yaying there in a few days, so we will drop you off there.
+Estaremos yaying allí en unos dias, así que te dejaremos allí.
+
+We will have a party today, but only believers are allowed in!
+
+
+We will talk about it later.
+Hablaremos de ello más tarde.
+
+We won't be able to pay you in money, but we'll make you one of us if you bring us beer!
+
+
+We'd never be able to recover our books so quickly without your help. Thanks!
+
+
+We'll be arriving at Artis by the dawn, where Elora will be waiting for us. I can only hope, that the denizens are okay...
+
+
+We'll be correcting this bug automatically now.
+
+
+We'll bring this one to Juliet at once. Thanks for your help! Savior!#0
+
+
+We'll bring this one to Juliet at once. Thanks for your help! Savior!#1
+
+
+We'll never forget Andrei Sakar, the most courageous hero this world has ever had.
+
+
+We're busy here, so please don't bother us.
+
+
+We're currently the biggest exporter of food. We may be a small town, but Tulimshar and Halinarzo can barely hold themselves.
+
+
+We're doing researches on slimes, the explosive ones. You probably saw when they explode, they damage anything close to them, friendly or not, right?
+
+
+We're nearly out of paper. The new books require so much material... And it's not easy to get Reed Bundles to create new paper.
+
+
+We're talking about @@. It's not something for kids or pranksters!
+
+
+We're trying to repair some of the valuable and important books. It's so much work!
+
+
+We're trying to repair the books by collecting the ripped out bookpages and sorting them and copying them for new books. It's a lot to do, and after being eaten by a slime they stink!
+
+
+We've built this blockade to prevent this area from being overrun with monsters, but who knows for how long this will last.
+
+
+We've finally solved the problem with our instruments!
+
+
+We've traced them to the Dark Forest, our goal is to destroy every raider there and defeat whoever is behind this tragedy. All that while keeping an eye open for survivors.
+
+
+Weakness: AGI-
+
+
+Weakness: DEX-
+
+
+Weakness: INT-
+
+
+Weakness: LUK-
+
+
+Weakness: NONE
+
+
+Weakness: STR-
+
+
+Weakness: VIT-
+
+
+Weapon Maximum Damage
+
+
+Weapons: +8 attack, +8 magic attack
+
+
+Weather & Seasons.
+
+
+Wedding Ring
+Anillo de bodas
+
+Weekly, at Sunday 00:00, elections are held.
+
+
+Weellos
+
+
+Welcome back, Padric!
+
+
+Welcome back, children. So, how was your treasure hunt? Did you manage to find the path?
+
+
+Welcome back.
+
+
+Welcome back. Please enjoy your stay here.
+
+
+Welcome back. Uh, no, I haven't forgot I promised you a small something... But you see, then I lost my ring, and...
+
+
+Welcome miss.#0
+Bienvenida, señorita.#0
+
+Welcome to
+
+
+Welcome to Aethyr, strange traveler. I am a collector of rare gemstones.
+
+
+Welcome to Dimond's Cove!
+
+
+Welcome to HUNGRY QUIRIN ARENA mangment panel.
+
+
+Welcome to Moubootaur Legends: ##1Fires of Steam##0
+
+
+Welcome to Nivalis, the frozen town.
+
+
+Welcome to Porthos - The Town of Portals (Kaizei's æther / Moubootaur Legends)
+
+
+Welcome to Saulc's Magic Alchemy Table!
+
+
+Welcome to Saulc's Magic Smith Table!
+
+
+Welcome to TMW-2: Moubootaur Legends! We hope you have a great time in our server!
+
+
+Welcome to Tolchi and Rosen Shop.
+
+
+Welcome to Tulimshar, @@!
+
+
+Welcome to my fine establishment!
+
+
+Welcome to the ##BThieves Guild##b! Follow those with higher rank than you, and happy stealing!
+
+
+Welcome to the Arena. Select your action
+
+
+Welcome to the Greenlands, the place cursed by the Monster King to be ice forever, and now known as Icelands.
+
+
+Welcome to the Town Hall. I am @@, officer in charge of public associations.
+
+
+Welcome to the library of Sage Nikolai. I'm very sorry, but as you see it's not in a good shape at the moment. Most of the books were eaten by the slimes or damaged and we're working hard on cleaning up the mess.
+
+
+Welcome to the questing world!"
+
+
+Welcome! Here to pick a weapon? You'll be able to select three skill cards as well.
+
+
+Welcome! I come from nowhere, and my family hunt Snakes. We also make fine leather items from their skin!
+
+
+Welcome! I see you have ##B%d Monster Points##b. Would you like to exchange some of those for items?
+
+
+Welcome! I see you have %d Monster Points. But that isn't enough to get items at your current level, sorry!
+
+
+Welcome! My name is @@, I am a representative of the Merchant Guild on @@.
+
+
+Welcome! Only the finest wares!#0
+
+
+Welcome! Only the finest wares!#1
+
+
+Welcome. Are you an adventurer? I could use some help.
+
+
+Welcome. Please don't go deeper into the library, there are still some slimes left. But in spite of that we have made quite a bit of progress. You should have seen the mess just after most of the slimes escaped!
+
+
+Welcome.#0
+
+
+Welcome.#1
+
+
+Well ... but ... I mean ... I don't know ...
+
+
+Well I see that you have completed the George Quest!
+
+
+Well done! I hope no more of those assassins show up. I'm afraid I cannot give you a proper reward, but...
+
+
+Well well well, @@, good job in reaching Soren's House.
+
+
+Well#003-1
+
+
+Well#Nivalis
+
+
+Well, Andrei Sakar said it was a waste a time, and the other NPCs started fighting against themselves, so I won.
+
+
+Well, I and my brother could make another one, but they are being checked for safety.
+
+
+Well, I can sell you a random box with almost 100 @@ for just @@ GP.
+
+
+Well, I can't help but keep thinking on how many shiny treasures might be there!
+
+
+Well, I decided to resume an old research of mine, now that I have a minion (you) to gather stuff for me.
+
+
+Well, I did my best, but this had been so refined, that it was difficult to find my way.
+
+
+Well, I do not trust you yet. You literally were just brought by the shore, and even if Nard and Lua seems to trust you...
+
+
+Well, I don't want to be an snob.
+
+
+Well, I guess I was thinking too high of a random adventurer like yourself...
+
+
+Well, I have a small problem. Sorry, but my superior officer did not like you. This happens, not everyone will like us, right? A lot of adventurers actually hate me %%R
+
+
+Well, I have not finished my research on snakes yet, but I'm pretty sure in how to transmute their parts.
+
+
+Well, I heard you needed to have some Job levels to sign up with them, and couldn't resign later.
+
+
+Well, I just like sunbathing.
+
+
+Well, I know a mixture to keep monsters away. I just can't share it with you now.
+
+
+Well, I know how to do a @@, a sturdy bow, but I am not making those anymore, sorry.
+
+
+Well, I suppose you can have some of my tea.
+
+
+Well, I would love to, but the house is a mess.
+
+
+Well, I'll give you a hour of EXP RATE UP! How cool is that? Enjoy!
+
+
+Well, I'm currently researching scorpions, as you can imagine.
+
+
+Well, I'm the miner leader, indeed. A miner need to have the full set.
+
+
+Well, all humans does mistakes... Wait, he is an elf. So, everyone commit mistakes. Anyway...
+
+
+Well, as with any legendary tailor, you must bring the materials yourself, and pay the work fee!
+
+
+Well, first of, you'll need an @@ and an Equipment Recipe.
+
+
+Well, for a living, I usually tend to the crops.
+
+
+Well, good luck with your business.
+
+
+Well, here you are. I hope you enjoy ^^
+
+
+Well, if you are good, you can just not get hit. If you're not so good, then bows will be a pain.
+
+
+Well, if you come from Candor, you probably will have some fluffy's yellow feathers. I use them to make pillows.
+
+
+Well, if you ever need help, do not hesit reading the wiki ;-)
+
+
+Well, if you want to donate @@, you'll be ranked. There's gift for everyone, and rewards for top 5 donors.
+
+
+Well, if you want warrior craft, perhaps you should look for @@ or @@.
+
+
+Well, if you were from the defenders, you would have been adopted by a family which left Halinarzo.
+
+
+Well, if you're scared, you can kill Desert Log Heads, but they'll have a smaller worth.
+
+
+Well, it depends on the curse. Some are easy to break, and others are... well...
+
+
+Well, it is terrible! How can I make armours if I ran out of Iron? Shall the citizens of Candor Island perish in a monster attack?!
+
+
+Well, long story short, we have two magic systems. One works out of box. The later one, is the Mana Magic.
+
+
+Well, maybe it takes a few hours or days of your life, but who cares! It is instant teleport!
+
+
+Well, my men went down and still haven't returned.
+
+
+Well, my tea is just too good.
+
+
+Well, no risk, no gain.
+
+
+Well, not like you could understand that with your level! %%a
+
+
+Well, perhaps a few of them are rebels, I mean, people like us, but many of them are monsters.
+
+
+Well, problem is, after that, there was demand for an election. The previous mayor lost. I won.
+
+
+Well, sorry, but only some items can be refined.
+
+
+Well, speaking a bit about myself can't hurt. I am a member from the Magic Council, but one day I decided to take a vacations.
+
+
+Well, thanks.
+
+
+Well, that could fail, I said. Here is some experience.
+
+
+Well, that was a good fight. My grand-grand-grandfeather gave his shield to Arvek -- err, Braknar I mean.
+
+
+Well, that was bad, but at least you know a bit from story.
+
+
+Well, that was quite good. To defeat me and Lilit's general, alone, in such low time; You should be proud of yourself.
+
+
+Well, that's easy to do. For starters, I need 1.000 GP as payment, and 10 @@ to make the string.
+
+
+Well, that's not a ring.
+
+
+Well, the Yeti King has went away to the cliffs north of this one. He'll get back here very hungry.
+
+
+Well, the biggest mana stones mine was in %s, but I'm afraid it has already depleted... Besides, it is very dangerous.
+
+
+Well, the first thing would be to get access to a Mana Stone. Halinarzo had the biggest mana stone mines, but it's now depleted.
+
+
+Well, the reason why I'm not doing it already is because, you see, I lack cookies.
+
+
+Well, then I'll give you a task. We may meet again in Soren Village.
+
+
+Well, there might be a deep water spot, but it would still be dangerous.
+
+
+Well, these slimes are dangerous, but if you find some pages, be sure to bring them to Ensio. This will help us a lot. Eh, if you're interested in helping, that is. %%1
+
+
+Well, this is very disturbing, indeed. I hope my good friend Sagratha is fine.
+
+
+Well, too bad!
+
+
+Well, welcome to the game! If you have any doubt, shout on #world for help!
+
+
+Well, yes, I've saw them heading off to the Yeti King room. Lately, many Yetis have been uprising against your majesty.
+
+
+Well, yes. Look this river. The water is not moving.
+
+
+Well, you are. You're quite interesting. I've been watching you for some time now, as you've been helping so many people: you're quite a master at what you do, you know.
+
+
+Well, you clearly never fought before, so remember to add stats.
+
+
+Well, you don't have a weapon. So, let me explain quickly.
+
+
+Well, you forgot the most important: The material I need to do the string.
+
+
+Well, you gave me the gems, so I trust you. Here, take this @@.
+
+
+Well, you helped me. That's great! One hand washes the other, so, I'm willing to share knowledge with you.
+
+
+Well, you know... Maybe we can strike a deal. I have good relations with the stock manager. I'll give you an event item.
+
+
+Well, you need more experience. Keep trying!
+
+
+Well, you probably deserve it.
+
+
+Well, you see, you can't jump very far. And the water near land is shallow.
+
+
+Well, you were warned. Do you have any other stuff for me?
+
+
+Well, you'll need to get used to. Being seasick is annoying, so you might want to leave the ship as soon as possible.
+
+
+Well, you're an adventurer, and I guess tending to crops isn't your cup of tea.
+
+
+Well. I'll take care of that, don't worry with that.
+
+
+Well... Can't say I'm surprised. He is very perfectionist. Putting on himself the blame is something he would do.
+
+
+Well... Here you go!
+
+
+Well... You're right.
+
+
+Well... we'll see around!
+
+
+Well... you did not succeed in opening this %s.
+
+
+Welp, no, please!
+
+
+Welp, you killed 10 Crocs. They're not dangerous, as you see. That's why we don't bother in cleaning them up.
+
+
+West Aeros
+
+
+West Avenue#lof
+
+
+West of here is a beach. In said beach there are blubs, they don't attack but they walk in packs. Be careful if you provoke too many of them.
+
+
+West of here is a beach. There's a secret passage to it, underground. In there you'll find slime-like creatures called Blubs.
+
+
+West of here, north of here, is a cabin. Investigate. That's all.
+
+
+Wha- How dare you, to lie to me!
+
+
+Whaaaaaaat *hic* is she *hic* have she gotten crazy? *hic*
+
+
+Whaaaaaat, you are that noob from earlier! Vanish! Be gone! Don't bore me!
+
+
+What ANISE INC. Does?
+
+
+What Alliance? The Alliance which rules over the World Of Mana!
+
+
+What I had to bring, again?
+
+
+What I want to say is: Kill non-stop!
+
+
+What a rip-off!
+
+
+What about job levels and job experience?
+
+
+What about the Desert Temple?
+
+
+What about the Shield?
+
+
+What about the worm?
+
+
+What about you bring me:
+
+
+What alliance?
+
+
+What am I supposed to say?
+¿Qué se supone que diga?
+
+What an amazing crown you have! How do I get it?!
+
+
+What are Magic Skill Points?
+
+
+What are Research Points
+
+
+What are current leaderboard?
+
+
+What are the Ancient Families of the Soul Menhir?
+
+
+What are the Transcendence Gates?
+
+
+What are the tasks of the Alliance?
+
+
+What are you doing alone in this desert?
+
+
+What are you doing here, @@!
+
+
+What are you doing here? This place is too dangerous for you!
+
+
+What are you doing in my kitchen?! Get out, it's not a place for kids!
+¡¿Qué haces en mi cocina?! ¡Sal de aquí, este no es un sitio para niños!
+
+What are you doing talking to me? Go fight, you coward!
+
+
+What are you doing? Fight!
+
+
+What are you doing? Go talk to @@ and bring me a @@!
+
+
+What are you doing? Stop wasting my time and go talk to @@!
+
+
+What are you even speaking about?
+
+
+What are you still doing here? Begone!
+
+
+What are you still doing here?! GO!!
+
+
+What are you talking about? What guild?
+¿De qué estás hablando? ¿Cuál gremio?
+
+What are you talking about? You are who you are right now. There's no other you.
+
+
+What are you waiting for? Go kill the bandit lord.
+
+
+What are you waiting for?! Get running, Pachua is waiting!
+
+
+What body orifice should a babel fish be inserted in to work properly?
+
+
+What brings you here, @@?
+
+
+What can I do for you?
+¿Qué puedo hacer por ti?
+
+What can I do with Bug Leg?
+
+
+What can I do with Maggot Slime?
+
+
+What can I do?
+
+
+What can you say about dyes?
+
+
+What can you say about the monsters here?
+
+
+What can you tell me about the Moubootaur?
+
+
+What cheap crap is this? It's not worth even 10 GP.
+
+
+What color is a Babel Fish?
+
+
+What counts for titulation? Could you give me examples?
+
+
+What crap is that?! This is not from Tulimshar!
+
+
+What did the Council of Elders say? Is there any news of the pirates?
+
+
+What did you expect?
+
+
+What did you need me to get again?
+
+
+What did you want? I've forgotten.
+
+
+What do you choose?
+
+
+What do you know about other Mana Magic Professors?
+
+
+What do you know about the Tyranny Bow?
+
+
+What do you mean? Do you at least have a rowboat with you?!
+
+
+What do you need to learn something besides money for tuitions fee? Time and Dedication.
+
+
+What do you need?
+¿Qué necesitas?
+
+What do you say?
+
+
+What do you think learning is, magic?! No!
+
+
+What do you want to access?
+¿Qué quiere entrar?
+
+What do you want to change?
+¿Qué quiere cambiar?
+
+What do you want to do with your money?
+
+
+What do you want to do?
+¿Qué quieres hacer?
+
+What do you want to know?
+
+
+What do you want to learn more about?
+
+
+What do you want to reset?
+¿Qué quiere restablecer?
+
+What do you want today?
+¿Qué quieres hoy?
+
+What does miners do in cave?
+
+
+What else do you need?
+¿Qué más necesitas?
+
+What else like a Pinkie?
+
+
+What game is played on earth as a relict of memories to an ancient war?
+
+
+What happened to me?
+¿Qué me ha pasado?
+
+What happened to the Wizard's Tower?
+
+
+What happened?
+
+
+What have happened? Why are you crying?
+
+
+What have you done?! We're under attack!
+
+
+What in the world is happening?! Where in Jesusalva's name are you?!
+
+
+What interesting water. Just don't ask me why.
+
+
+What is @@ doing?
+
+
+What is Ford Prefect's nickname?
+
+
+What is a %s doing here? Eugh, you stink! You should keep away from our children!
+
+
+What is an airship? O.o
+
+
+What is banking?
+
+
+What is going on here?
+
+
+What is my current hairstyle and hair color?
+¿Cuáles son mi peinado y color de pelo actuales?
+
+What is the Academy?
+
+
+What is the Alliance?
+
+
+What is the Magic Academy?
+
+
+What is the Moubootaur?
+
+
+What is the Scholar Rank?
+
+
+What is the answer to life, the universe and everything?
+
+
+What is the first name of the author of the hitchhikers guide?
+
+
+What is the last name of the author of the hitchhikers guide?
+
+
+What is the most important item for every hitchhiker to have?
+
+
+What is the name of the Restaurant at the End of the Universe?
+
+
+What is the name of the Vogon home planet?
+
+
+What is the name of the computer on The Heart of Gold?
+
+
+What is the name of the creature that is continually reincarnated and subsequently killed, each time unknowingly, by Arthur Dent?
+
+
+What is the name of the rock group claiming to be the loudest band in the universe?
+
+
+What is the name of the spaceship which was stolen by the president of the universe?
+
+
+What is the name of the super computer?
+
+
+What is this guild for?
+¿Para qué es este gremio?
+
+What is this island?
+
+
+What is this place anyway?
+
+
+What is your problem?
+
+
+What item do you want to melt down? This is irreversible, and may return some ingots to you, but there is no way to tell how many you'll receive!
+
+
+What item would you like to bleach?
+¿Qué artículo le gustaría decolorar?
+
+What magic classes are there?
+
+
+What race creates the worst poetry in universe?
+
+
+What service do you offer?
+¿Qué servicio ofrece?
+
+What should I do now?
+
+
+What star is near Ford's home planet?
+
+
+What the f...? Four Hundred Thousand??? Must be a bug. Next milestone is 819,200. Cheaters.
+
+
+What to exchange with Leona?
+
+
+What two words are written in big friendly letters on the back cover?
+
+
+What was I doing before...? I forgot!
+
+
+What was I doing before...? I totally forgot!
+
+
+What was the sequence?
+
+
+What were the second most intelligent creatures on Earth?
+
+
+What will be my reward?
+
+
+What will be the bait for the fish?
+¿Qué será el anzuelo para el pez?
+
+What will you brew today?
+
+
+What will you craft today?
+
+
+What will you forge today?
+
+
+What will you transmute today?
+
+
+What would you like to bury?
+¿Qué te gustaría enterrar?
+
+What would you like today?
+¿Qué te gustaría hoy?
+
+What yeye could I do for you today?
+¿Qué yeye podría hacer por ti el día de hoy?
+
+What you asked me for, again?
+
+
+What you refer as Ancient Families, are probably their descendants. There was nothing special about them, other than they promised to defend mankind of their own actions.
+
+
+What're you looking at?!
+¡¿Qué estás mirando?!
+
+What's S.A.R.A.H.?
+
+
+What's it, scout.
+
+
+What's that? They seem to be AFK but are not?
+
+
+What's the World Edge?
+
+
+What's the difference from a Mana Wizard and a Mage?
+
+
+What's the name of the paranoid robot?
+
+
+What's the problem?
+
+
+What's this dark magic, the password has changed!
+
+
+What's wrong?
+
+
+What's your opinion of Peetu and his work?
+
+
+What, only that? Well, this is actually simpler than it looks.
+
+
+What? A party?
+
+
+What? Don't be ridiculous. Not even the Monster King does that! I think.
+
+
+What? Why not?
+
+
+What?! Do my house look like the place to you pratice your thief skills?!
+
+
+What?! This changes the whole history. Not only that, but this is a serious issue!
+
+
+Whatever you find there is yours to keep.
+
+
+Whatever you're blaming Saulc about, this one time, he is innocent.
+
+
+When Christmas starts, here will become frantic again, with things running out of stock all the time... But the adventurers deserve it, for fighting monsters the year round.
+
+
+When I am drunk I tell myself to stop drinking, but I won't listen the words of a drunkard.
+
+
+When I was alive, I brought people to their destiny.
+
+
+When it returns, it is holding a cute %s. Understanding it is a gift, you take it.
+
+
+When people loses too much blood, they die, unless we can lend them somebody's else blood.
+
+
+When receiving the chocolate, you must eat it before event ends to get a point for that!
+
+
+When the boss is defeated, or the minute clock marks fifteen, event ends.
+
+
+When they left to World Edge, they probably were looking for Mana Fragments. In other words... Soul Menhirs. Parts of the World Heart.
+
+
+When this is the case, you should get closer to the NPC, until they hear you.
+
+
+When you get out of the ship, it is the first building you'll see. Talk to ##BLua##b, she is an alliance representative.
+
+
+When you have added all the items and money you want, press the 'Propose Business' button. The other citizen must also press the 'Propose Business' button.
+
+
+When you're stronger I may consider asking for your help.
+
+
+When your inventory is open, you can equip an item by selecting it and clicking 'Equip'. You can do the same to unequip an item by clicking on 'Unequip'.
+Cuando tu inventario está abierto, puedes equipar un artículo seleccionándolo y dándole clic en 'Equipar'. Puedes hacer lo mismo para quitártelo, dándole clic en 'Quitar'.
+
+Where I needed to go, again?
+
+
+Where are you from, don't you see all the bandits? Seriously, with these ridiculous plans, the whole continent doomed.
+
+
+Where can I find Juliet?#0
+
+
+Where can I find Juliet?#1
+
+
+Where can I find the previous mayor?
+
+
+Where can I find them?
+
+
+Where could my man have went?!
+
+
+Where do I get so much money?!
+
+
+Where do you think you are going, without talking to me first?
+
+
+Where exactly am I?
+
+
+Where have you been, pal? He perished.
+
+
+Where is Woody?
+
+
+Where is here? What was this place used for?!
+
+
+Where is it? Everything's upside down. These terrible slimes.
+
+
+Where is the World's Edge?
+
+
+Where is the item you've stolen?
+
+
+Where is the salt?! This is sugar! Proper sailors need salt, not sugar!
+
+
+Where should I warp to?
+
+
+Where's the Sunny Crystal? Hurry up, you only have @@ left!
+
+
+Where's the money? Go away.
+
+
+Where's the reagent? You don't expect me to find it, right? Go bring them!
+
+
+Which country does the human protagonist come from?
+
+
+Which deal?
+
+
+Which item will you tweak?
+
+
+Which language do you speak?
+
+
+Which melee you craft?
+
+
+Which recipes do you want to read?
+
+
+Which rewards are available?
+
+
+Which skill will you FORGET permanently today?
+
+
+Which sound great in theory, but it was not. Greedy people found a way into power. They probably had good reasons, but they started confiscating Mana Stones, and storing them in a tower...
+
+
+Which water will you use?
+
+
+While %s's reasons to do so remain unclear, a request was made.
+
+
+While I don't think the Yeti King would ever do or endorse that, yes, I've heard this happens.
+
+
+While breaking the seal, monsters will spawn. The other monsters may drop %s.
+
+
+While it may not be suitable for fighting, by using it against Bifs and other mineral formations, you'll be able to get more ore.
+
+
+While mining bifs, a strange powder appeared.
+
+
+While on normal magic you must take care with all attributes, on mana magic, you usually only need to worry with reagents and intelligence.
+
+
+While the tyrant desires to see skill.
+
+
+While we're at that, do you know how to craft? No? First, you'll need a Cauldron, in case you've rented a house. Otherwise, you can rent a work table on this Forge.
+
+
+Whip
+
+
+Whirly Bird
+
+
+Whirly Bird (BOSS)
+
+
+Whiskey Ale
+
+
+White
+Blanco
+
+White Cats drink Milk, Forest Mushroom eats Moss, Black Cats eats marshmallow. Keep in mind whatever they eat.
+
+
+White Fur
+Piel blanca
+
+White Slime
+
+
+White Slime Mother
+
+
+WhiteCat
+
+
+Who are the most famous scholars?
+
+
+Who are you, and how did you manage to come down here? The sheer power of our Lord prevents anyone not under his control to go here.
+
+
+Who are you?
+¿Quién eres tú?
+
+Who are you? Thanks for the help.
+
+
+Who are you? Where are you from?
+
+
+Who composes the Alliance?
+
+
+Who dares to disturb my slumber?
+
+
+Who is Andrei Sakar?
+
+
+Who is Kfahr the Warrior?
+
+
+Who is responsible for the fjords of Norway?
+
+
+Who is the Professor? I've heard he was the father of a certain Arthur... No idea.
+
+
+Who is the male human protagonist? First and last name only.
+
+
+Who is there? Are they trying to break my lock again?!
+
+
+Who is this professor?
+
+
+Who is throwing stuff at me?!
+
+
+Who sent you here? Merlin?
+
+
+Who will collect the most?!
+
+
+Who will insult every living being in the universe, because he is immortal and getting bored?
+
+
+Who's Mercury? Maybe I'm missing something? Where could he have went?
+
+
+Who's this Juliet?
+
+
+Who, or what are you?
+
+
+Whoever took control of this village is no ordinary mage. There's a switch on the wall.
+
+
+Whom put an end at their foes,
+
+
+Why am I having a hard time to believe on you...
+
+
+Why are you here? This area is off-limits!
+
+
+Why did we had to decide to research slimes of all creatures?! But alas, now is too late. Not even a %s could restore her in this state...
+
+
+Why do you bully me! - This is a bug: 02331.LOGIC.OID
+
+
+Why do you only use the silk robe? Don't you have a shorts or something?
+
+
+Why do you summon me? Speak.
+
+
+Why do you want to help me?
+
+
+Why does death embrance me so much today?
+
+
+Why does it suck?
+
+
+Why don't you go yourself?
+
+
+Why don't you take a break? Breath in some fresh air. The basement is pretty damp.
+
+
+Why everything is so broken, couldn't the Monster King try to do less collateral damage?! These things will take years to be fixed!
+
+
+Why is it hard?
+
+
+Why not Andrei Sakar?
+
+
+Why not, I need to train anyway.
+Por qué no. De todos modos necesito entrenar.
+
+Why should I spare you?
+
+
+Why should I? Go away. %%n
+
+
+Why shouldn't I jump here?
+
+
+Why would you want to go back there?
+
+
+Why you don't tell me?
+
+
+Why, I actually do sell a few things here! But they probably aren't what you're looking for.
+
+
+Why, hello there! Come to visit me to hear Kfahr the Warrior or Andrei Sakar's exploits, have you?
+
+
+Why, thank you!
+
+
+Why? You are most definitely at the wrong place. Leave!
+
+
+Wicked Mushroom
+
+
+Wicked Shroom Hat
+Sombrero de hongo malvado
+
+Wielding the lightbringer came the ace,
+
+
+Wiki article
+
+
+Wildx Chest
+
+
+Will adventurers reach it? Will the random attacks at towns cease??
+
+
+Will next draw be HIGHER or LOWER?!
+
+
+Will you accept his challenge?! Raise to the highest top score!
+
+
+Will you help me- no, I mean, will you help us, the whole town of Hurnscald?
+
+
+Will you try to unlock it?
+
+
+Wind Element
+
+
+Wind Fairy
+
+
+Wind: @@, @@
+
+
+Windwalker
+
+
+Wine Making Barrel
+
+
+Winning Streak is also reset on logout or when you leave the Inn.
+
+
+Winning Strike Prizes:
+
+
+Winter
+
+
+Winter this year is really harsh! Fire is the most important for us.
+
+
+Wise choice! But can you really part with it? Better think on something else!
+
+
+Wise choice.
+
+
+Witch Boots
+
+
+With Magic and Blades, The Icicle shall break.
+
+
+With Magic and Blades, The Icicle shall break. Do you undertake the challenge?
+
+
+With Tulimshar being the last major human settlement standing (besides distant locations like Candor), the situation looks more dire than ever.
+
+
+With a PinCode, you'll have access to restricted features,
+
+
+With a big smile, you stretch your hand in the teddy's direction; But the little one gets scared with the movement and starts to move away from you.
+
+
+With a knife, the fisherman makes the roots as thin as he can. You wonder if he knows what he is doing.
+
+
+With a mask you say? This reminds me... wait a moment.
+
+
+With a mask? Hm. I don't remember.
+
+
+With a mask? I don't really remember... We have so many visitors. Though I suppose someone wearing a mask would be noticeable... But I'm so worn out from the past few days that I'm just glad I can even recall my own name! Sorry.
+
+
+With a mask? I really don't know. I'm usually in the workshop and most of the visitors spend their time in the library. Sometimes they come to have a quick look in the workshop too, but I don't really pay attention to that, so... I can't recall a visitor with a mask, sorry.
+
+
+With a mask? Mh, I think I know who are you talking about. I vaguely remember that there was someone with a mask... but I can't recall any details, I wasn't really paying attention.
+
+
+With a mask? Yeah, I remember. That was a strange guy. He came to visit the library, but he lurked around at the workshop area and they had to send him back to the books.
+
+
+With a wave, Benjamin returns to report Kenton about the outcome.
+
+
+With fresh conviction, you prepare yourself to the fight which draws near.
+
+
+With it, you can safely move items and funds between your characters.
+
+
+With one gem you can expect to get 1 to 3 powders!
+
+
+With recent player activity, the Monster king is @@!
+
+
+With the brave sacrifice of Andrei Sakar to save our world, our future seems as bleak than ever.
+
+
+With the wages I receive, you can use this market at your own risk.
+
+
+With this I make balls of slime for Candor's childs, they really like to play with them.
+
+
+With this tip you will be able to fight strong monsters. It's on Saul's Strategy Guide Against Archwizards.
+
+
+Withdraw GP
+
+
+Withdraw.
+Retirar.
+
+Within the cities is a place safe enough not to be attacked by another person (except during wars). But outside of them there are some places where the citizen can be attacked by enemies from other realms, or even by someone from the same realm.
+
+
+Without any ceremony or further ado, the teddy starts poking on your things.
+
+
+Without any mana stone left, and because the walls were not very strong, most of the city was destroyed.
+
+
+Without magic attack, using a fireball at an enemy will be like throwing a stone.
+
+
+Witness my sublime rain of death. Regeneration!
+
+
+Witness, the power of love!
+
+
+Wizard General
+
+
+Wizard Moccasins
+
+
+Wizardry
+
+
+Wizardry Institute is on the %s area of the campus.
+
+
+Wizards Tower, Tonori - 6th March 300 AT
+
+
+Wizards Tower, Tonori - 8th April 300 AT
+
+
+Wo-wo-wow! You really did it! You're the best!#0
+
+
+Wo-wo-wow! You really did it! You're the best!#1
+
+
+Wolvern
+
+
+Wolvern Pelt
+Piel de lobo
+
+Wolvern Teeth Necklace
+Collar de dientes de lobo
+
+Wolvern Tooth
+Diente de lobo
+
+Wolverns are fierce creatures who likes cold places. Their fur is soft.
+
+
+Won Quirino Voraz Arena %s ago
+
+
+Wonderful! Here, take the @@, as promised. I need to get back to cooking!
+
+
+Wonderful! I'll be expecting you back.
+
+
+Wonderful! Just bring me 12 @@ and 4 @@. I'm counting on you!
+
+
+Wonderful! My fee is @@. This fee is the first step in separating those with willpower, from those without.
+
+
+Wonderful! Now I can prepare the ink for magnificent illustrations! You're very generous.
+
+
+Wonderful! So, how about a warm up?
+
+
+Wonderful! That was great! Directly hit the bull's eye!
+
+
+Wonderful! You must finish Novice, Intermediary, Advanced and Expert levels before I unlock Master level for you.
+
+
+Wonderful, I am happy to have you over. Lets get things started with some puerh tea.
+
+
+Wooden Bow
+Arco de madera
+
+Wooden Log
+Tronco de madera
+
+Wooden Shield
+Escudo de madera
+
+Wooden Sword
+Espada de madera
+
+Woodland Fantasy
+
+
+Woodland Water
+Agua del bosque
+
+Woody
+
+
+Woody Barrier
+
+
+Woody Card
+
+
+Woody is inside, he is probably crafting some stuff with animals pelts.
+
+
+Woohoo, thank you! Maybe now they'll leave me alone!
+
+
+Word of the wise: You can freely challenge the Yetifly later.
+
+
+Worker Day
+
+
+Worker Statue
+
+
+World Expo
+
+
+World Gate 2
+
+
+World Map - @@
+
+
+World hero: %s
+
+
+World's Edge is an island situated northwest of here.
+
+
+World's Edge is the place where the Monster King Fortress is.
+
+
+Worlds Gate
+
+
+Worry not, I have them with me.
+
+
+Would be nice if you could bring me these:
+
+
+Would love to invite you to a card minigame... But alas, Kenton told me that minigames are a waste of time, and that I should not bother adventurers with it.
+
+
+Would you ... uhm ... would you talk to Chief Oskari for me? And ask her what she plans to do about me? I... I just don't feel capable of doing that myself right now. I'll try to pull myself together in the meanwhile.
+
+
+Would you like to help me with organizing a Church Party?
+
+
+Would you like to help us to protect the town from a red scorpion invasion??
+
+
+Would you like to help us? Maybe you just need some information.#0
+
+
+Would you like to help us? Maybe you just need some information.#1
+
+
+Would you like to leave this place?
+
+
+Would you like to transform one more?
+
+
+Wouldn't you know it, the bug bomb Eomie gave us is in one of the store room barrels.
+
+
+Wouldn't you like to help me too?
+
+
+Wounded Girl
+
+
+Wounded Soldier
+
+
+Wounded Soldier#01861
+
+
+Wow!
+
+
+Wow! Are you @@? Everyone, in every city, talks about you!
+
+
+Wow! Those pitiable gloves sure weren't made for mining. They're almost ruined!
+
+
+Wow! You did it! I do not think anyone else could have done that.
+
+
+Wow, a Dagger and a Sailor's Hat!
+
+
+Wow, it's really generous of you to fight those slimes for us. Do you need anything else?
+
+
+Wow, three gifts! Good job! With 800, an extra gift for everyone!
+
+
+Wow, you already found quite a lot of bookpages. Please keep it up!
+
+
+Wreath
+Guirnalda
+
+Writing/Updating in client-data quests.xml and items.xml with the correct information usually counts as well.
+
+
+Wumpus Egg
+
+
+Wurtzite Ore
+Mineral de wurtzita
+
+Wushin
+
+
+Wyara
+
+
+Xanthem Card
+
+
+Xmas Cake
+Pastel de navidad
+
+Xmas Candy Cane
+Bastón de caramelo de Navidad
+
+Xovilam
+
+
+YOU CAN FEEL THE POWER FLOWING TROUGH YOU.
+
+
+YOU FAIL! It is a simple item now.
+
+
+YOU HAVE RESIGNED THE OFFICE.
+
+
+YOU JUMP FOR ALL IT IS WORTH!!
+
+
+YOU WERE BLESSED BY %s
+
+
+YOU WHO DEFILE THIS PLACE...
+
+
+YOU WILL BE DISCONNECTED BY FORCE.
+
+
+YOU WILL BE PENALIZED WITH 60% OF HEALTH.
+
+
+YOU WILL BE PENALIZED WITH 70% OF HEALTH.
+
+
+Yar matey! You have the items I asked for! You have the honor and trust we pirates bestow each other!
+
+
+Yar! Do you need something, matey?
+
+
+Yarr arr!
+
+
+Yay it's summer! I love June 21st, and the summer vacations!
+
+
+Yay yay! Many thanks! Here, take the reward as promised!
+
+
+Yay! Many thanks! I'll enjoy it! Here is the promised reward.
+
+
+Yay! Many thanks! I'll enjoy it! Here, you can keep this.
+
+
+Yay, it worked! You get a good wing.
+
+
+Yaya, are you sure?
+
+
+Yaya, you should go see her! She'll be happy to help you again.#0
+
+
+Yaya, you should go see her! She'll be happy to help you again.#1
+
+
+Yayaya, @@ is surely slow. Do you remember how to walk? You can use arrow keys for that!
+
+
+Yayaya, by pressing @@ or clicking in @@, you'll open your char status window!
+
+
+Yayaya, by pressing @@ or clicking in @@, you'll open your character status window!
+
+
+Yayaya, good job! You can collect loot by pressing @@.
+
+
+Yeah sure, take my Amethyst!
+
+
+Yeah sure, take my Diamond!
+
+
+Yeah sure, take my Emerald!
+
+
+Yeah sure, take my Ruby!
+
+
+Yeah sure, take my Sapphire!
+
+
+Yeah sure, take my Topaz!
+
+
+Yeah yeah yeah, you're not the first one to come talking about that to me.
+
+
+Yeah you're all like *hic* that, but you won't get me! *burp*
+
+
+Yeah you're right, I'm a noob anyway, and Sagratha is a skilled mage. She should be fine on her own.
+
+
+Yeah!
+
+
+Yeah, I have the money. Give me FIFTEEN minutes, and Bring it on!
+
+
+Yeah, I have the money. Give me FIVE minutes, and Bring it on!
+
+
+Yeah, I have the money. Give me TEN minutes, and Bring it on!
+
+
+Yeah, I need one.
+
+
+Yeah, Nard's sailors saved my life and brought me here!
+
+
+Yeah, but I would like to make sure I get a reward.
+Sí, pero me gustaría asegurarme de obtener una recompensa.
+
+Yeah, but what reward will I get?
+Sí, pero ¿qué recompensa obtendré?
+
+Yeah, it was my grand-grand-grandfather.
+
+
+Yeah, she might be back soon.
+
+
+Yeah, sign me up!
+
+
+Yeah, sure! I'm brave as Simon.
+
+
+Yeah, sure? What do you need?
+
+
+Yeah, teach them a lesson! Keep going!
+
+
+Yeah, they are.
+
+
+Yeah, you're right.
+
+
+Yeah... I also found a few old blueprints. We don't need this crap, you can put it on your @@.
+
+
+Years later, someone then started giving gifts to the poor childrens on that date. It sticked, and now people usually trade gifts each other on the date.
+
+
+Yellow
+Amarillo
+
+Yellow Dye
+Tinte amarillo
+
+Yellow Skull Slime
+
+
+Yellow Slime
+
+
+Yellow Slime Mother
+
+
+Yellow Spark
+
+
+Yellow Switch#EP
+
+
+Yep, I bring them for you!
+
+
+Yep, I never fly in these days.
+
+
+Yep. There was a cursed mouboo on the road.
+
+
+Yerba Mate
+
+
+Yes
+Sí
+
+Yes I do... I sell %s %s for the small amount of %s GP. Interested? %%%%p
+
+
+Yes please.
+
+
+Yes sir. I will help them.
+
+
+Yes!
+¡Sí!
+
+Yes! Here you are.
+
+
+Yes! History is the best!
+
+
+Yes! It is heavy.
+
+
+Yes! We'll sail west, and find legendary lands!
+
+
+Yes, %d
+
+
+Yes, Chief Oskari suspects a sabotage.
+
+
+Yes, I accept the pendant!
+
+
+Yes, I am a mouboo. Why? Can't a mouboo be a dangerous bandit?!
+
+
+Yes, I am a mouboo. Why? Can't a mouboo be a law and order enforcer?!
+
+
+Yes, I am sure.#0
+Sí, estoy segura.#0
+
+Yes, I am sure.#1
+Sí, estoy seguro.#1
+
+Yes, I am.
+
+
+Yes, I can craft Savior Pants. But it is not cheap. I'll need Platinum, Iridium, and Mylarin Dust. And gold. Much gold.
+
+
+Yes, I can craft many things. In addition to plating and improving armor, I can craft smaller items made of gold and other metals.
+
+
+Yes, I did. There was only an unlocked secret window.
+
+
+Yes, I do.
+Sí, así es.
+
+Yes, I have herbs. I assume the risks.
+
+
+Yes, I have them right here.
+
+
+Yes, I know when next Alliance's Council meeting will be. No, I don't need anything.
+
+
+Yes, I need %d apples.
+
+
+Yes, I need to get out of here the earliest possible.
+
+
+Yes, I remember that one! I welcomed him in the libary and showed him around. But I didn't have the impression he was really listening to what I was saying, though that's hard to tell with the mask.
+
+
+Yes, I want to find out who I am.
+
+
+Yes, I would like to explore!
+
+
+Yes, I would like to go back to Artis.
+
+
+Yes, I would like to go back to the Swamps.
+
+
+Yes, I would like to go to Asphodel Moors!
+
+
+Yes, I'll go.
+
+
+Yes, I'll help you.
+
+
+Yes, I'll pay with Common Carp.
+
+
+Yes, I'll pay with Grass Carp.
+
+
+Yes, I'll pay with Roach.
+
+
+Yes, I'm awesome, praise me more.
+
+
+Yes, I'm coming from Tulimshar.
+
+
+Yes, I'm done with it.
+
+
+Yes, and there was no signs of a fight.
+
+
+Yes, as you see, the costs are high. Prepare yourself.
+
+
+Yes, but I like windy days.
+
+
+Yes, courageous and worthy adventurer. You did well!#0
+
+
+Yes, courageous and worthy adventurer. You did well!#1
+
+
+Yes, deal. Gimme the gold ring.
+
+
+Yes, deal. Gimme the silver ring.
+
+
+Yes, did you really think I was some kind of monster that would try to poison you in my own house?
+
+
+Yes, everyone thinks he is competent and Elias have a report of a masked man.
+
+
+Yes, everything is going great, thank you!
+
+
+Yes, exactly. Thanks for the rescue. I must guard this area from the caves, if you need, just call me.
+
+
+Yes, here they are.
+
+
+Yes, here!
+
+
+Yes, it is a really sweet deal, believe me!
+
+
+Yes, many thanks. This will help me a lot.
+
+
+Yes, of course!
+
+
+Yes, of course.
+
+
+Yes, of course. We have good relations with Hurnscald Town, so you're welcome.
+
+
+Yes, of course. Without a sweat.
+
+
+Yes, one
+
+
+Yes, please use my blood to save lifes.
+
+
+Yes, please, book me a bed.
+
+
+Yes, please.
+
+
+Yes, power allows us a future of our choosing.
+
+
+Yes, take it.
+
+
+Yes, take them.
+
+
+Yes, the Blue Sage will see you.
+
+
+Yes, the cursed Mouboo you told me earlier, on the way out.
+
+
+Yes, try to summon the Yeti King in Tulimshar Sewers. Make sure you have someone else with you to help.
+
+
+Yes, uhh, very interesting indeed. Haha. I better leave...
+
+
+Yes, unless you're doing something VERY special, a Wooden Log is what you need.
+
+
+Yes, we have @@!
+
+
+Yes, you are now personel! Doesn't it feels exciting? Please tell me it does, I have nothing else to convince you to go otherwise.
+
+
+Yes, you can count it.
+
+
+Yes, you'll be fired.
+
+
+Yes.
+Sí.
+
+Yes. Frostia is a city-estate, and is ruled by me, King Gelid Frozenheart II.
+
+
+Yes. I can. But this is irreversible. Are you sure you want this?
+
+
+Yes. I mean, yes, Pihro and Pyndragon will fancy you an airship.
+
+
+Yes. Let me try to open this.
+
+
+Yes. What do you need help with?
+
+
+Yes? Have you looked her house for signs of battle?
+
+
+Yet, I could burn %d %s to keep the house just as warm, maybe even cozier, and the Blue Sage would be none the wiser. Fire is fire, warmth is warmth.
+
+
+Yeti
+
+
+Yeti Claw
+Garra de yeti
+
+Yeti Mask
+Mascara de yeti
+
+Yeti#0211Cindy
+
+
+Yeti#0211Guard
+
+
+Yetifly
+
+
+Yetifly the Mighty
+
+
+Yety Tank Top
+
+
+Yeye can press @@ to sit, which will allow you to heal faster.
+
+
+Yeye don't need to train here anymore! Let's head back to the ship before the sun sets, shall we?
+
+
+Yeye is not paying for your food and is not a sailor like us! You should start standing on your own feet.
+
+
+Yeye, are you finally ready to go?#0
+
+
+Yeye, are you finally ready to go?#1
+
+
+Yeye, very good, you took the clothes.
+
+
+Yikes, the Moubootaur!
+
+
+Yo, girl.#0
+
+
+Yo, good joob killing the Fire Goblins. Do you have everything I've asked for?
+
+
+Yo, man.#1
+
+
+You already claimed a reward today! Come back tomorrow, and remember to wear GREEN!
+
+
+You already delivered @@ high-quality patches of white fur.
+
+
+You already got all power I could grant you!
+
+
+You already got the money. Go there and pay ##B Hurnscald ##b a visit. The ##B mayor ##b should be able to help you.
+
+
+You already have this.
+
+
+You already helped us today. Come back tomorrow.
+
+
+You already ran this command today. Please try again at a later time.
+
+
+You already registered. Waiting for your partner...
+Ya se ha registrado. Esperando a su pareja...
+
+You also can't stay there forever! You will have about 20 minutes to entirely clear it out and defeat the last boss.
+
+
+You also cannot send any boxes before eating any you've received, but Demure is an exception for this rule.
+
+
+You also find @@ GP with it.
+
+
+You also gained a @@. Bows are very slow, so you should talk to the Blacksmith to make a Quiver.
+
+
+You also get access to a party chat, and there are no compromises, so it is a perfect choice for a raid.
+
+
+You also get points for participation, exchange them with Aurora back in Tulimshar before event ends.
+
+
+You also need @@/@@ Mob Points to improve thief skills.
+
+
+You are NO LONGER EXILED from %s by %s.
+
+
+You are NOT allowed to leave here!
+
+
+You are REMOVING an item option.
+
+
+You are a @@º degree mage. This book allows you many new possibilities.
+
+
+You are a master chef, looking at you inspires Maxime.
+
+
+You are a mere %s, but you may be a hero... Find me again...
+
+
+You are about to accept a high-risk quest. You cannot complete it alone.
+
+
+You are allowed to fill your bottles, but BE SURE TO PAY!
+
+
+You are already at the Mana Plane of Existence.
+
+
+You are already fully trained. You should go to Tulimshar, but if you want a bonus task, please kill a @@.
+
+
+You are already fully trained. You should go to Tulimshar. I may have another task for you later, but you are too weak now, get some levels.
+
+
+You are carrying duplicates of the same item. Sorry, but I have no idea which one you want to tweak.
+
+
+You are close... You are almost there!
+
+
+You are completly overwhelmed by your magic.
+
+
+You are currently at @@.
+
+
+You are currently hunting @@/10000 @@.
+
+
+You are currently hunting @@/10000 @@. Do you want to switch?
+
+
+You are currently tasked with killing @@. As a reminder, you can usually find them where we grow our crops.
+
+
+You are dead.
+Estas acabado
+
+You are dead. Aborting.
+
+
+You are doing GREAT! Keep slaying them, hahaah!
+
+
+You are doing some progress. There are about 4 quests on the mines, 1 outside walls, and 10 on the town. Some require level, so talk to people again sometimes.
+
+
+You are entering on a PVP Area with lowered death penalty.
+
+
+You are exhausted, you should rest @@.#0
+
+
+You are exhausted, you should rest @@.#1
+
+
+You are exiled from this town and therefore, unable to use the Menhir.
+
+
+You are full of wine, my friend...
+Usted está lleno de vino, mi amigo...
+
+You are handed the Land of Fire Gazette. You look at the headline...
+
+
+You are holding a few items of mine...
+
+
+You are hurt, and cannot use this.
+
+
+You are just a random stranger trying to steal adventurer data, aren't you?? %%e
+
+
+You are killing @@/10 @@. They usually are near the mine's Inn.
+
+
+You are killing @@/100 @@. It's still in progress.
+
+
+You are killing @@/200 @@ at the cave.
+
+
+You are killing @@/25 @@ at the cave. Good progress!
+
+
+You are killing @@/50 @@ at the cave.
+
+
+You are level @@/@@. Keep building levels, you need them!
+
+
+You are mostly in control of your magic.
+
+
+You are not strong enough to survive this trip.
+
+
+You are not using a weapon for a merciful last blow.
+
+
+You are not welcome on this island.
+
+
+You are not worthy!
+
+
+You are not worthy...
+
+
+You are now at Candor Battle Cave at @@'s request.
+
+
+You are now at Candor.
+
+
+You are now at Porthos - The Town of Portals.
+
+
+You are now at the Christmas Workshop.
+
+
+You are now at the Contributor's Cave.
+
+
+You are now at the Magical Forest.
+
+
+You are now at the Mana Plane of Existence, at the Contributor's Cave.
+
+
+You are now at the Mana Plane of Existence, at the Floating Island of Aeros.
+
+
+You are now at the Mana Plane of Existence, at the Magical Forest.
+
+
+You are now at the Valentine Highlands.
+
+
+You are now divorced!
+¡Ahora se ha divorciado!
+
+You are part of the "@@" guild.
+
+
+You are perfectly in control of your magic.
+
+
+You are pushed back violently. There is probably some way to break this barrier.
+
+
+You are pushed back with absolute force!
+
+
+You are pushed back with extreme force!
+
+
+You are somewhat in control of your magic.
+
+
+You are the guild's "%s", and you contribute with %02d%% EXP.
+
+
+You are too weak for my last task, please come back later with some levels.
+
+
+You are too weak for my task, please come back later with some levels.
+
+
+You are too weak to kill one and impress him, so please, bear my son.
+
+
+You are trying to kill a @@.
+
+
+You are trying to open the @@th pin. What will to do?
+
+
+You are very welcome.
+
+
+You are weird, I have to go sorry.
+
+
+You are weird, I have to go sorry.#0
+Es usted extraña. Tengo que irme, lo siento.#0
+
+You are weird, I have to go sorry.#1
+Es usted extraño. Tengo que irme, lo siento.#1
+
+You are weird, I have to go, sorry.
+
+
+You are welcome here, but don't overstay your welcome and leave as soon as possible.
+
+
+You aren't strong enough.
+
+
+You ask yourself: What is the teddy looking for? How can I help him?
+
+
+You awake a long forgotten potential, and feel ready to take over the world.
+
+
+You barely know these caves.
+
+
+You better find a way to travel back in time soon!
+
+
+You better have it ready, because I have the Coal with me!
+
+
+You bring me proof of completing my 'mission,' along with some water and I can dispose of the evidence by turning them into %s
+
+
+You broke the %s into two parts, but you crushed one of them.
+
+
+You brought me 5 @@ ! Here is your @@, as promised.
+
+
+You buried @@ @@.
+Usted enterró a @@ @@.
+
+You can allocate point on those attributes every time you level up.
+
+
+You can also make money ##Bdoing quests##b. Elmo will tell you almost every quest which can be done in Candor.
+
+
+You can also manually stop it at any time with: @droprate default
+
+
+You can also manually stop it at any time with: @exprate default
+
+
+You can also modify your email with %s.
+
+
+You can also obtain ingots by melting down equipment. The Meltdown forge is in Nivalis, very far from Tulimshar.
+
+
+You can also pick and drag items from one window into the other but this will move all items of this kind.
+
+
+You can also read the [@@news|server news@@], or even [@@https://tmw2.org/news|older entries@@].
+
+
+You can also use PLANT KINGDOM to spawn several plants at once, too. Let's make this world more green.
+
+
+You can also visit our website. And if you want to assist on this server (TMW2: ML), you're welcome too!
+
+
+You can always come to #devel on our Discord, or drop by #landoffire on IRC.
+
+
+You can always try again another day!
+
+
+You can be thankful later. Aren't you excited to see what exactly was on that blueprint? Go on, enjoy it! %%G
+
+
+You can become a Monster Hunter by signing up with %s, near the Market.
+
+
+You can become a hero by completing every quest in a certain location.
+
+
+You can bring up to %d other friends with you, but they must be on the same party and map as you and you must be the party leader.
+
+
+You can bug Jesusalva to extend the Battlefield Control skills.
+
+
+You can buy rare items with me, or I can tell you about different cities in our world.
+
+
+You can call yourself a pirate now! HAR HAR HAR!!
+
+
+You can change the PIN from ManaPlus char selection screen.
+
+
+You can colaborate with our project though! Just ask on #tmw2-dev, be it on Discord or IRC!
+
+
+You can collect croconuts by killing any tree with it. Then you can break it in half from the inventory screen.
+
+
+You can convert these items in event points and claim rewards at autumn.
+
+
+You can craft items in forges. You can use it on your house, or within this forge for a tax.
+
+
+You can donate blood again in %s
+
+
+You can donate up to %s GP.
+
+
+You can drag and drop an item to the NPC window or select an item through your inventory.
+Puede arrastrar y soltar un artículo en la ventana del NPC o seleccionar un artículo a través de su inventario.
+
+You can easily identify fishing spots, small bubbles and fishes are visible from the surface.
+
+
+You can enter when clock ticks :15, and the game begin when the clock ticks :25 if anyone is around. This is to match with Call of Dusty event.
+
+
+You can even join the project there. Contributors are greatly appreciated! %%N
+
+
+You can explore the city as you want, but if I were you, I would ##Btouch the Soul Menhir##b, north of here, to don't respawn at Candor.
+
+
+You can explore the city on the meanwhile, I need to inspect the data.
+
+
+You can fill this box with the following items:
+
+
+You can find both huge swamps, as huge desertic areas near and on it.
+
+
+You can find for a good price desert equipment and some kind of dyes. You find all sort of crafters, artisans and warriors here.
+
+
+You can find it in the bandit market, but it is EXPENSIVE.
+
+
+You can find more info about this on these links:
+
+
+You can find out the monster strength by using "@monsterinfo <English Monster Name>". Check the level in it!
+
+
+You can gain rare treasures, even. Come register for this special program. It's free!
+
+
+You can get @@ anywhere, although here is a little easier to get.
+
+
+You can get Croconut from Crocotree, and fill @@ purchased in the market.
+
+
+You can get daily something from it, but unless you're green like me, you will have no luck...
+
+
+You can get money in several ways, including by selling monster parts, doing daily quests, gambling, and even becoming the mayor of a town. Read the [@@help://faq|FAQ@@] (opens ingame) for help.
+
+
+You can get up to %d items.
+
+
+You can give @@ to help us, I'll pay you accordingly.
+
+
+You can have my team's helmet, you're now officially a crusader!
+
+
+You can have this %s as a token of gratitude. But no, you cannot pass, so keep going!
+
+
+You can hear creaking planks and a sail flapping in the storm. A ship?
+
+
+You can kill @@ on the desert. It's a dangerous area though, so take care.
+
+
+You can make a party of 1 if you want to do it alone. This, however, is NOT ADVISED.
+
+
+You can make any build you want! But inserted cards cannot be removed!
+
+
+You can move using @@ or, at your choice, by clicking where you want to go.
+
+
+You can only concede or vouch a title for people of academic rank inferior than your own.
+
+
+You can only have one mercenary active at a time, they die and will leave after 10 minutes - logged in or not.
+
+
+You can only insert up to 3 (three) cards per weapon!
+
+
+You can only try every %d minutes.
+
+
+You can optionally send a @@ along the chocolate box, so the person knows it was you who sent the chocolate.
+
+
+You can read some words engraved inside this rock, but some are erased by wind and time:
+
+
+You can rent this house to make it yours.
+
+
+You can save both items and money at a bank.
+
+
+You can scry other players with: %s
+
+
+You can see all your equipment by pressing the F3 key.
+
+
+You can see in distance two portals working, and two portals offline.
+
+
+You can sense powerful cloaking magic emanating from this sign. With your superior magic, you dismiss the enchantment, and see what the cliffs have been hiding all along...
+
+
+You can tell me the details about why you're here on the way out...
+
+
+You can then trade these coins for items with me!
+
+
+You can trade them for quite nice items with my friend over there.
+
+
+You can transfer it with "@grantpower" command. Please contact a GM for more info.
+
+
+You can use "%s <monster_name>" to obtain specified monster drop list and stats.
+
+
+You can use "@monsterinfo <monster name>" to gauge a monster strength.
+
+
+You can use @@ to summon some maggots. That depends on your magic level, of course.
+
+
+You can use it again in %s.
+
+
+You can use it again in @@.
+
+
+You can use it to clear your stats, to start freshly if you know what I mean...
+
+
+You can use many diverse items to lure fishes.
+
+
+You can use super password "mouboo" to unlock the door.
+
+
+You can't afford my services for that amount. Sorry.
+
+
+You can't afford my work! Do some odd jobs and come back.
+
+
+You can't go in there!
+
+
+You can't go there!
+¡No puedes ir allí!
+
+You can't pass this barrier while people are fighting inside!
+
+
+You can't sleep here during daytime!
+
+
+You can, and @@, register on both programs.
+
+
+You can, however, use ##BCtrl##b to auto-select a monster and attack them. This usually also collects drops, but press Z to be sure.
+
+
+You cannot be fighting to do this trip.
+
+
+You cannot begin this now, try again later.
+
+
+You cannot bring anything to the arena. Please put everything into the storage.
+
+
+You cannot bury this item!
+
+
+You cannot carry the fruits.
+
+
+You cannot complete the casting correctly!
+
+
+You cannot decipher what's written in there.
+
+
+You cannot drop this item!
+
+
+You cannot enter here while you have event weapons or a cart.
+
+
+You cannot exile yourself!
+
+
+You cannot help me at all. You lack any skill to do so.
+
+
+You cannot leave this room until either ALL yetis are dead, or you are dead yourself.
+
+
+You cannot part with this item!
+
+
+You cannot pay.
+
+
+You cannot raise crafting skills beyond level @@!
+
+
+You cannot sit idle for too long gaining EXP!
+
+
+You cannot understand what's written.
+
+
+You cannot visit Nivalis before obtaining level 20.
+
+
+You cannot visit the Sponsor's Inn!
+
+
+You cannot vote on yourself!
+
+
+You carefully pick a @@. It looks delicious! You feel you'll need it sooner than you expect.
+
+
+You caught a @@ but had no room in your inventory to carry it.
+
+
+You clearly don't have money, so let's not bother with that right now.#0
+
+
+You clearly don't have money, so let's not bother with that right now.#1
+
+
+You completed your training, so you're getting 50 bonus experience points. If you level up, use your stat points wisely!
+
+
+You could barely fit on it, and your clothes will be ruined, in need of washing.
+
+
+You could find some bandits in the Bandit cave. Yeah, the name wasn't given for nothing.
+
+
+You could try getting into a city administration. If you can get a citizenship, you can try to elect for an office.
+
+
+You could try to get new equipment by doing more quests. You need level to use them, though.
+
+
+You could try to get on her good side by killing what destroys the forest, or by planting trees.
+
+
+You currently could not use GM MAGIC to visit Candor.
+
+
+You currently have @@ @@.
+
+
+You currently have @@ GP on your bank account.
+
+
+You currently have @@ Monster Points. These points are acquired while killing monsters.
+
+
+You currently have @@ event points, but for ONLY @@ points I can make a dress for you!
+
+
+You currently have @@ mobiliary credits + GP at your disposal.
+
+
+You currently have @@ points, @@ boxes of chocolate and @@ love letters.
+
+
+You currently have @@, so if you accept and come back later with @@ Mob Points, I'll mark the bounty as complete.
+
+
+You currently have no Tweaking AP, so you will need to wait %02d minute(s).
+
+
+You currently have: @@ GP and mobiliary credits
+
+
+You dealt with paperwork.
+
+
+You deserve a reward for helping my husband Hinnak, but please, get Oscar's reward first.
+
+
+You deserve a reward for helping my husband. I can make you a nice gift.
+
+
+You did a good job too. Rest a bit, too. There's still one chair.
+
+
+You did a good job. Rest a bit. There's still one chair.
+
+
+You did it! You're now on the last stage of this BORING and LONG quest!
+
+
+You didn't add a item.
+
+
+You didn't help all my friends yet, and without trainment, I can't send you to such dangerous place as Tulimshar.
+
+
+You didn't lit every torch yet! Hurry up!!
+
+
+You didn't mine enough @@. The perfect spot is at northeast of this island. It takes a while to them respawn, so don't hurry.
+
+
+You displayed courage and completed the mission you set yourself to do. But, tell me. Do you care with this world? Do you care enough with it, to set your mind in saving it from evil?
+
+
+You do not have booked an apartment here.
+
+
+You do not have enough Gold Pieces on your bank account.
+
+
+You do not have enough Gold on yourself.
+
+
+You do not have enough bait for fishing here.
+
+
+You do not have enough magic power for these classes.
+
+
+You do not have enough money.
+
+
+You do not have the required access privileges to use the Super Menu.
+No tiene los privilegios de acceso requeridos para utilizar el menú Super.
+
+You do not meet all requisites for this skill.
+
+
+You do not own an Homunculus.
+
+
+You don't feel so well... And then, you're dead.
+
+
+You don't have @@.
+
+
+You don't have a party. You're useless to me.
+
+
+You don't have a ring but I can polish the gemstones nonetheless.
+
+
+You don't have any %s.
+
+
+You don't have any @@, are you mocking me?
+Ni tiene ningún @@. ¿Se burla de mí?
+
+You don't have any @@.
+No tiene ningún @@.
+
+You don't have enough GP.
+
+
+You don't have enough agility / is carrying too much to attempt it.
+
+
+You don't have enough cards of this type to upgrade.
+
+
+You don't have enough gold! You need @@ gp.
+
+
+You don't have enough mana to continue. The seal remains active.
+
+
+You don't have enough material, sorry.
+
+
+You don't have enough money! I am an expensive tailor, I want @@ GP!
+
+
+You don't have enough money, bring me @@ GP or join an already existing one.
+
+
+You don't have enough money, bring me @@ GP.
+
+
+You don't have enough money. Sorry.
+
+
+You don't have enough wood (5 @@) or crafting skills to do it.
+
+
+You don't have everything I asked you for.
+
+
+You don't have everything I've asked for!
+
+
+You don't have met all requisites, like money and successful crafts, or you already reached the maximum level for this skill.
+
+
+You don't have money.
+
+
+You don't have proper equipment for it.
+
+
+You don't have that many empty bottles!
+
+
+You don't have that many!
+
+
+You don't have that, lying is bad for health...
+
+
+You don't have that.
+
+
+You don't have the Iron Ingot.
+
+
+You don't have the Iron Ore.
+
+
+You don't have the item.
+
+
+You don't have the key.
+
+
+You don't have the required level to pass this barrier.
+
+
+You don't have the three Coal lumps.
+
+
+You don't hear anything. This chasm must be incredibly deep.
+
+
+You don't know how the chimney keeps producing smoke. It must be using hiding magic.
+
+
+You don't look so well, have you already used the %s to defeat the Soul Eater?
+
+
+You don't look too well; let me treat your wounds.
+
+
+You don't need to do both right now, even if you probably will want to. Once any (or both) of them tell me you're an OK person, I'll start helping you.
+
+
+You don't need to talk with any researcher inside, so why bother? Leave!
+
+
+You don't need, nor deserve it.
+
+
+You don't see any slimes from that nest anymore. But did you really get all of them?
+
+
+You don't seem to have any @@ with you!
+
+
+You don't seem to have anything better to do, anyway.
+
+
+You don't seem to have enough gold, not even 1 GP...you should really let go of some useless stuff on your inventory.
+
+
+You done well in getting so far. I didn't thought you would make it.
+
+
+You earned %s Monster Points for winning.
+
+
+You explain the Blue Sage about the sabotage incident details, from the Silk Cocoon to the masked visitor.
+
+
+You explain to Airlia about you wanting to travel to Halinarzo to find clues.
+
+
+You failed to protect Sagratha...
+
+
+You failed to reply to the captcha in time and were arrested for AFK Botting. You can use @jailtime to keep track of time left.
+
+
+You feel refreshed!
+
+
+You find @@ inside!
+
+
+You find a slot machine or another gambler, and make a bet!
+
+
+You flip the switch. Nothing happens.
+
+
+You found @@ out of @@ kids.
+
+
+You found a Level %d %s!
+
+
+You found a key.
+
+
+You found an old well with a bucket on it! It's time to fill plenty of @@!
+
+
+You found something!
+¡Ha encontrado algo!
+
+You found the Runestone! You gave it to the party leader.
+
+
+You found the key!
+
+
+You free the world from an evil Dummy.
+
+
+You gained a @@ for the #1 place on the event. Remember to feed it @@, or it may run away from you.
+
+
+You give up after seeing its reaction, and try your best to resist the temptation of hugging this fluffy ball. Maybe we have another idea?
+
+
+You give up.
+
+
+You gladly accept it. But probably better not disturb it for a few days.
+
+
+You go to the training field and stand exactly on the same level with the target. The target is located about 13 meters north of you. You take one arrow and look at Gwendolyn.
+
+
+You got %d %s!
+
+
+You got %d EXP!
+
+
+You got %d GP!
+
+
+You got %d JEXP!
+
+
+You got %d Monster Points!
+
+
+You got %d Real Estate Credits!
+
+
+You got 120,000 XP for completing Mercury's quest.
+
+
+You got a %d
+
+
+You got a %s!
+
+
+You got a @@ for completing 100+ daily bountyhunter quests!
+
+
+You got a blueprint as reward for Blue Sage Slimes Quest completion.
+
+
+You got a(n) %s gift!
+
+
+You got lucky and got a(n) %s!
+
+
+You got married to @@!
+¡Se ha casado con @@!
+
+You have %d %s
+
+
+You have %d non-counting deaths remaining today.
+
+
+You have @@ magic skill points available.
+
+
+You have @@/@@ magic skill points available.
+
+
+You have a high level. Go to Halinarzo already! You could even, I don't know, search for magic?!
+
+
+You have a nice hat.
+
+
+You have access to the storehouse now, right? Well, that's where it happened!
+
+
+You have an @@ - Should you give her that?
+
+
+You have an awful case of amnesia. She is the nurse and shipkeeper of this ship, and took care of you when you were unconscious.#0
+
+
+You have an awful case of amnesia. She is the nurse and shipkeeper of this ship, and took care of you when you were unconscious.#1
+
+
+You have arrived at Fortress Island.
+
+
+You have been EXILED from %s by %s.
+
+
+You have been disqualified - died or left the maze
+
+
+You have been disqualified - illegal weapon: %s
+
+
+You have been disqualified - target was: %s
+
+
+You have been jailed by a GM.
+Ha sido encarcelado por un GM.
+
+You have collect enough evidence, it's time to leave and report.
+
+
+You have collected @@/@@ Mob Points.
+
+
+You have completed the Jesusaves Grimorium Quest!
+
+
+You have gained a special login bonus!
+
+
+You have good intentions, be brave, but in a world where power is measured in levels, numbers have more meaning than they should.
+
+
+You have learnt "Barter" in Thief Skills.
+
+
+You have learnt "Divine Protection" level @@.
+
+
+You have learnt "Increase Weight" in Thief Skills.
+
+
+You have more boxes. Wanna try again?
+
+
+You have my eternal gratitute. Here is 2500 GP for your troubles.
+
+
+You have my eternal gratitute. Here is 500 GP for your troubles.
+
+
+You have no idea of how dangerous that item is! I can't simply do it!
+
+
+You have no idea what that means.
+
+
+You have no idea what that poor creature felt!
+
+
+You have no idea what this piece of equipment is used for.
+
+
+You have no proof that you have robbed vaults or sided with Ben Parkison, the Thieves Guild Master.
+
+
+You have no right to take that away from her!
+
+
+You have reached the current reward limit for Jhon.
+
+
+You have the right to defend yourself if you believe we were wrong. If we find out it's true, you'll receive an apology gift.
+
+
+You have to excuse me, as you might have heard we're having some trouble at the moment and I, as Chief of Nikolai's household staff, have a lot to do.
+
+
+You have to kill, alone, and this means without the help of the slimes either, nine nests. One in each quadrant.
+
+
+You have too many points. I can't allow you to take all at once right now. I'll try to give you 50, and you can come back later!
+
+
+You have:
+
+
+You have: @@ Broken crystals
+
+
+You haven't provided me enough High-Quality White Fur! Go back to hunting!
+
+
+You haven't provided me the @@ for the base material!
+
+
+You hear a noise from distance.
+
+
+You hear birds singing! That is what you had to do!
+
+
+You hear shouting directed at you. Sailors from the ship?
+
+
+You hear waterfall opening in distance.
+
+
+You help Benjamin in getting up.
+
+
+You humans are so greedy... Just like me. I have more important things to do, other than waste time with you.
+
+
+You insert the Runestone on it and hear a sound.
+
+
+You insert the hook pick inside the lock, and, without applying any tension, you discover there are only @@ pins to set.
+
+
+You jump in deep waters.
+
+
+You just bought it? You won't learn anything from that.
+
+
+You just delivered %d %s to %s.
+
+
+You just gained a Prism Gift for your bravery!
+
+
+You just gained a Prism Gift, and 2000 Job Exp for your bravery!
+
+
+You just gained a Supreme Gift, and 2000 Job Exp for your bravery!
+
+
+You just need one fishing rod, although you should take more than one single bait.
+
+
+You killed so many Pinkies! My wife and I love you!
+
+
+You killed so many Pinkies, I don't care with the Antennas anymore! They are almost gone!
+
+
+You know Jesus Saves hates cheaters, right? If Saulc didn't asked me to double-check stuff...
+
+
+You know the Tulimshar Magic Council? The big building on Tulimshar North?
+
+
+You know the answer can only be @@.
+
+
+You know this, because their big round eyes were shining.
+
+
+You know what is worse? THIS WHOLE CAVE HAVE DEATH PENALTY ON!!!
+
+
+You know, he is very experienced and reliable. He might look and act like a kid, but he is at least a century old.
+
+
+You know, if you're poor, you can't get too close to the Noble district.
+
+
+You lack money or Action Points.
+
+
+You learn fast, good job. These clothes aren't mighty armor, but they'll help.
+
+
+You leave the teddy alone with its pot.
+
+
+You left your fishing spot!
+¡Ha dejado su lugar de pesca!
+
+You liar, I'll show you to respect woman!
+
+
+You liar, I'll teach you a lesson you won't forget!
+
+
+You lied, and this caused a headache! You should NEVER lie to NPCs, because they may steal your items!
+
+
+You look like you have enough experience to know your way around town...
+
+
+You lose!
+
+
+You made a cash deposit of @@ GP.
+
+
+You make me dance like a monkey
+
+
+You managed to save @@ % of my crops!
+
+
+You may even obtain ores which you wouldn't otherwise obtain normally, and the drop rate is fixed.
+
+
+You may obtain Thief Exp by using @@.
+
+
+You may pass. The Sage is on the library waiting for you.
+
+
+You might have the Mouboo Figurine, but I don't trust everyone.
+
+
+You might need to have a @@ equipped for some recipes!
+
+
+You must "add" the items you plan on selling, and then press "sell" to confirm. You'll have this time to review.
+
+
+You must %s and chant %s to begin channeling.
+
+
+You must be close to it, and stealing won't change drops! If you fail, just try again! Good luck!
+
+
+You must be dressed, and talk to our captain first. He'll give you a mission and unlock the ship main door.#0
+
+
+You must be dressed, and talk to our captain first. He'll give you a mission and unlock the ship main door.#1
+
+
+You must be fast! The guards are also affected.
+
+
+You must be where the Monster King is at 18:30 UTC sharply - no delays allowed!
+
+
+You must break all three seals to cross this barrier! For that, walk on them!
+
+
+You must claim all rewards and use any event item BEFORE it ends.
+
+
+You must deposit %s GP, which will be returned if quest is completed.
+
+
+You must find someone willing to buy, they usually will buy almost anything you have, even items which cannot be replaced, so be careful.
+
+
+You must flip all 5 switches on this cave, and then walk accross the cave blocked with an etheral crystal.
+
+
+You must go talk with the Obelisk!
+
+
+You must kill them before the crops are gone. I'll reward you, of course.
+
+
+You must not be using mana to do this trip.
+
+
+You must reach level 5 to open this gift.
+
+
+You must then repeat the sequence at the board which will show.
+
+
+You must understand that this honor has never been granted to a non-duck before. You will have access to Duck Dungeon, a training grounds for Initiates.
+
+
+You need %d %s. I'll start showing you sequences of colors.
+
+
+You need 2x @@ to cast this skill.
+
+
+You need 4x @@ to cast this skill.
+
+
+You need @@ GP to make this investment.
+
+
+You need @@ GP to use this arena.
+
+
+You need @@ Reputation to make this investment.
+
+
+You need @@ units of bait for this fishing spot. What will you use?
+
+
+You need a %s for each floor, and defeat the gatekeeper to advance.
+
+
+You need a @@ for it. Ah, back to research I guess...
+
+
+You need a @@ to flip the switches on the Throne Room, don't forget to bring at least five.
+
+
+You need a @@ to try this.
+
+
+You need a @@ to use this.
+
+
+You need a @@. I'll flip one card, and you'll need to decide if next draw will be HIGHER or LOWER.
+
+
+You need at least %d cards of same kind.
+
+
+You need at least 35 str and 35 vit to do the trip safely - bonuses not counted - or you will lose HP.
+
+
+You need at least level %s to do this quest.
+
+
+You need at least level 20 to help.
+
+
+You need be at minimum level 50 to participate. It is PVP, so watch out!
+
+
+You need both the stolen item as the thief to complete the quest.
+
+
+You need level 60 to use these guns, but if you want to start collecting materials, you're allowed to.
+
+
+You need to be very careful. Use the sewers to reach... them.
+
+
+You need to choose a Heroes Hold Group. This currently makes absolutely no difference whatsoever.
+
+
+You need to finish at least %d/%d tasks.
+
+
+You need to have an @@ equipped.
+
+
+You need to pick your prizes!
+
+
+You need to reach a certain point in Player Story in order to partake on this event. Non-repeatable.
+
+
+You need to read this recipe. Without the essential crafting skill you won't go very far. There will be no bonuses on the items you craft because you are not a craftsman.
+
+
+You need to save the Professor! During night, monsters are stronger, so they'll probably attack at night time!
+
+
+You need to touch a Mana Stone to get magic. Certainly the only Mana Stone on Tulimshar is highly protected by the Council, so no chances here.
+
+
+You need:
+
+
+You notice a group of slimes emerging from the debris among the shelves.
+
+
+You notice that even if she tries to calm down everyone and serve tea, she's pretty distressed with the Monster King herself.
+
+
+You now gained two extra kilograms to your weight quota! Ka-pow, that's fantastic! Good luck!
+
+
+You now have an extra point, use it wisely.
+
+
+You only have to tell him how much you want to deposit or withdraw.
+
+
+You open a book named @@. Do you want to read it?
+
+
+You open the Recipe Book. Each recipe you get can be put here.
+
+
+You open the chest and found a @@.
+
+
+You open the chest!
+
+
+You open your eyes. The remants of the salt water in your eyes is not particularly helping you see.
+
+
+You passed the botcheck. Thanks for playing the game %%G
+
+
+You perchance said in adventure? Good, because I just hurt my arm while mining!
+
+
+You perfectly cut your %s into two edible parts.
+
+
+You planned neatly. I'll be back.
+
+
+You ponder whether or not it would be wise to drink it.
+
+
+You pour the whole potion on the fountain.
+
+
+You probably was only 4 when all that happened. And opposed to official story, the Monster King never enter this building.
+
+
+You pulled too late and lost the bait...
+
+
+You pulled too soon and lost the bait.
+Ha tirado demasiado tarde y ha perdido el anzuelo.
+
+You quickly give her the herbs, and she skillfully mix them on a potion.
+
+
+You ran out of time.
+
+
+You realize that you have no means to prove your statement.
+
+
+You really have a reason to be proud.
+
+
+You really should do some tasks to impress our captain.
+
+
+You really should read the dialogs.
+
+
+You receive 32 exp and 30 GP.
+
+
+You receive @@ GP!
+
+
+You received one %s!
+
+
+You received the %s title from %s.
+
+
+You received the @@ from @@.
+
+
+You recover a tweaking point every hour.
+
+
+You recovered @@ magic skill points
+
+
+You report to the King about everything you've found and learned there.
+
+
+You run as far as you could. %s
+
+
+You said you would trade a real Mouboo Figurine, but now I see you don't have one. Come back when you do.
+
+
+You search for Bandit hoods.
+
+
+You see a dust covered book on the shelf... The name of the book is @@.
+
+
+You see a fruit on her body. You take it.
+
+
+You see a helper looking through some papers that have a strange smell.
+
+
+You see a raijin boy, sitting on the edge of the dock.
+Ve a un niño raijin, sentado al borde del muelle.
+
+You see a red apple here. It is
+
+
+You see some fish reflecting the sun on the surface of the water.
+Ve a un pez reflectando en sol sobre la superficie del agua.
+
+You see the docks on the other side of the town? There should be a ship docked there.
+
+
+You see the gates over there? This is the World's Edge. The land which never had a settlement. How. is. there. a. town?!
+
+
+You see these pious around us?
+¿Ves estos pious alrededor de nosotros?
+
+You see yourself in a strange chamber. Strange drawings litter the walls.
+
+
+You see, Benjamin wanted to reshape the world. Very ambitious plans, which would have been great... If they had prospered.
+
+
+You see, I am Erlan, a researcher. I'm currently developing strong poison to rival with the legendary %s. For that end, I need raw, untreated sewerage, but there is no such thing here. Could you bring me %d %s? Thanks!
+
+
+You see, I am Erlan, a researcher. I'm currently developing strong poison to rival with the legendary %s. For that end, I need raw, untreated sewerage, but there is no such thing in a civilized town like ours.
+
+
+You see, I cannot use any raw material. It must be sturdier than the usual, and I don't have the materials for it.
+
+
+You see, I have a sister. Luvia Gemini. Very talented, but unfortunately, not enough to prevent being captured and brainwashed by Isbamuth.
+
+
+You see, I love %s! So shiny, so bright... They are my favorite!
+
+
+You see, I was walking in the secret caves near Ched, and... well...
+
+
+You see, Pihro and Pyndragon, the mayors, are really busy people. They're developing a game or something as we speak.
+
+
+You see, after a monster attack... My husband went to the desert, to check how things were...
+
+
+You see, because the Monster King, monsters have been running rampant. If they grow too much in numbers, cities may be overrun.
+
+
+You see, it need certain special items... Oh, just blame Jesusalva for this one.
+
+
+You see, just @@ ago, Hurnscald was liberated from a massive monster attack.
+
+
+You see, most people think that all monsters are controlled by the Monster King, but that's not quite right.
+
+
+You see, we're working on repairing all of the damaged books and creating new ones for those that were lost.
+
+
+You seem to be doing some money. Would you consider fighting for your own greed, or even be a Robin-Hood-of-sorts, stealing from the rich?
+
+
+You seem to be jailed. We cannot unjail offline players, so please don't logout.
+
+
+You seem to have @@ broken items and... Oh, I see you have a broken @@ here! I wanna repair it!
+
+
+You seem to have gotten Peetu's attention for a while.
+
+
+You send me the wrong way.
+
+
+You set off a trap!
+
+
+You shall pass. Beyond this gate, she waits for you.
+
+
+You should allocate some attributes to it. You need @@, @@ and @@, on this order of importance.
+
+
+You should allocate some attributes. You need @@, @@ and @@, on this order of importance.
+
+
+You should ask %s.
+
+
+You should ask this question at Vincent.
+
+
+You should be ASHAMED of yourself, you liar.
+
+
+You should be more careful.
+
+
+You should come back when you have some free space.
+Deberías volver cuando tengas algo de espacio libre.
+
+You should complete Candor Prologue before participating on this quest.
+
+
+You should do the other miners quest first! Some, however, are harder than others. This will unlock the %s, an important item to advance as a crafter.
+
+
+You should eat and drink water after donating blood. Thanks for saving lifes!
+
+
+You should go and get some sleep.
+Usted debería ir y dormir un poco.
+
+You should have gotten here @@.
+
+
+You should have some decent gloves, dude. These offer defense, as it's easier to handle your weapon and parry attacks.
+
+
+You should know this, an item like this can't be bleached.
+Debería saber esto: un artículo como este no puede desteñirse.
+
+You should never sell your Cactus Drinks. They have many uses.
+
+
+You should not be here. Get moving.
+
+
+You should not be here...
+
+
+You should not be there! This forest is home to monsters.
+
+
+You should not leave this room.
+
+
+You should reset your stats and allocate some points at intelligence.
+
+
+You should talk to Airlia again to understand what Lua wants me to do.
+
+
+You should talk to Magic Arpan first.
+Deberías hablar con Magic Arpan primero.
+
+You should talk to him instead.
+
+
+You should talk to the Black Razor. He was a researcher, so try the academy.
+
+
+You should unequip this item first.
+
+
+You sing a pretty song to the teddy, and this makes it very happy.
+
+
+You stand before a battle-scarred, darkly tanned warrior, brimming with muscles.
+
+
+You start feeling dizzy.
+
+
+You started the seal break sequence. Please stand by.
+
+
+You stay where you are..
+
+
+You still are overwhelmed by your magic.
+
+
+You still have ##B%d Monster Points##b! Do you want more items?
+
+
+You still have a low level but I'm sure he will ask for your help once you grow up a little more.
+
+
+You still haven't completed your tasks.
+Aún no has completado tus tareas.
+
+You still haven't found all of them yet.
+
+
+You still need @@ GP for the trip to Tulimshar.
+
+
+You still need @@ GP to afford it.
+
+
+You still need to grow a few levels more before being able to help me out again.
+
+
+You still need to wait @@ before going to HH again.
+
+
+You store a large collection of goods. Could you perhaps sell me some?
+
+
+You succeed in crossing the chasm!
+
+
+You successfully completed Sagratha's Campaign.
+
+
+You successfully set the drop rate to @@%. It will reset to @@% (default value) in @@.
+
+
+You successfully set the exp rate to @@%. It will reset to @@% (default value) in @@.
+
+
+You supported:
+
+
+You take distance and...
+
+
+You take four steps to the left.
+
+
+You take four steps to the right.
+
+
+You take off your bag and put it on the floor, as you lower yourself and try to slowly get close to it.
+
+
+You take one step to the left.
+
+
+You take one step to the right.
+
+
+You take the @@. It seems to be the stolen item.
+
+
+You take the clothes from the chest.
+Tomas la ropa del cofre.
+
+You take three steps to the left.
+
+
+You take three steps to the right.
+
+
+You take two steps to the left.
+
+
+You take two steps to the right.
+
+
+You take your @@ and leave.
+
+
+You take your fishing rod and leave.
+Usted coge su caña de pesca y se va.
+
+You tell Lua everything you've heard at the Inn.
+
+
+You tell her about the incident at the Blue Sage's residence and how they were aiming at sages.
+
+
+You think you can fool me and lie? I'll teach you a lesson you won't forget!
+
+
+You thought there was someone here. It must have been your imagination.
+
+
+You throw a coin into the well.
+
+
+You throw a coin on the chasm.
+
+
+You took more than %s to do this, that is lame! Better luck next time.
+
+
+You took too long to answer.
+
+
+You toss the paper in the trash.
+
+
+You tried to get rid of me, eeh? But surprise! I'm still here... *hic* Or there...
+Intentaste deshacerte de mí, ¿eeh? ¡Pero sorpresa! Todavía estoy aquí... *hic* O allí.
+
+You use the small key from the apple garden hut. It fits neatly.
+
+
+You vomit, you are too drunk and drinking is harmful.
+
+
+You vomit, you are too drunk for this to have effect anymore.
+
+
+You waited too long and lost the bait...
+
+
+You wake up in the middle of the night. How did you got here? WERE YOU KIDNAPPED?
+
+
+You wanted to know about the World Edge, right? The Ancient Families of the Soul Menhir, and if you're part of them...
+
+
+You were in bad shape, you should be happy we found you before the sea killed you.#0
+Usted estaba en mala forma. Debería alegrarse por que le encontrásemos antes de que el mar le matase.#0
+
+You were in bad shape, you should be happy we found you before the sea killed you.#1
+Usted estaba en mala forma. Debería alegrarse por que le encontrásemos antes de que el mar le matase.#1
+
+You were jailed and now need a GM to get you out of there.
+
+
+You were permanently banned by the GM Team.
+
+
+You were refunded in %s GP!
+
+
+You were rescued by DUSTMAN.
+
+
+You were vouched to the %s title by %s. You still need %d more vouches to be promoted.
+
+
+You were wrong!
+
+
+You will also LOSE honor if the opponent is below level 30. If you are a bandit (negative honor), all fights versus you will be honorable.
+
+
+You will be able to pick basic weapons and skills at the Event Soul Menhir.
+
+
+You will be killed on the road if you try to go like this. The Canyon route is dangerous, and the Swamps route claimed many souls.
+
+
+You will be rewarded by me shall you succeed in any of the tasks.
+
+
+You will find a fisher, maybe he is having a good time and can sell you a few boxes. And remember to keep your eye open.
+
+
+You will find a statue different from the others. It is where the game balance was murdered and bugs added instead! No, not really - this is just a placeholder. Not cool!
+
+
+You will gain @@ Reputation.
+
+
+You will get @@ which can then be exchanged for items once CoD event quest ends.
+
+
+You will need a certain amount of them to upgrade any skill, which will be spent and no longer available for use.
+
+
+You will need to *hic* prove yourself to *hic* me and the town first...
+
+
+You will see, citizens are polite and you can still ask around for help. They can help find a job for you or maybe help you find out what happened to you out at sea!
+
+
+You win!
+
+
+You withdrew a total of @@ GP.
+
+
+You won't be able to aim for a better record!
+
+
+You won't be allowed to play this game until you have an updated client.
+
+
+You won't be allowed to walk sideways, except to avoid a monster or two.
+
+
+You won't have any of my vegetables, you scoundrel! Get off my yard!
+
+
+You won't learn any skill without a good professor to teach them to you.
+
+
+You wonder, maybe he entered on an infinite loop? Hellooo, anybody home?
+
+
+You wont be able to go back!
+
+
+You would do well as come prepared, as failing in the last stage will RESET current progress on the quest.
+
+
+You wouldn't happen to have them, would you?
+
+
+You'll all die here!
+
+
+You'll also get half of the GP as Monster Points!
+
+
+You'll be charged even if you fail, be warned.
+
+
+You'll be charged even if you fail, be warned. You can re-roll the same item %s, free of charge, but it may break and there will be no refunds!
+
+
+You'll come with me!
+
+
+You'll get %d GP every time you finish the sequence.
+
+
+You'll give your best and attempt to run!
+
+
+You'll have 60 seconds to kill as many balls as you can!
+
+
+You'll have to slay %s %s for me! I don't care which ones, just SLAY THEM!
+
+
+You'll need to think on a new password!
+
+
+You'll soon run out of stuff to do around here, so yeah, you should extend your horizons or you may get bored soon enough.
+
+
+You'll want your fishing rod to be flexible but solid.
+
+
+You're about to concede an academic title to "@@".
+
+
+You're about to enter a dangerous area. Are you sure?
+
+
+You're about to enter a dangerous zone!
+
+
+You're about to transfer a legendary weapon to @@.
+
+
+You're absolutely right. The next one will be more tricky.
+
+
+You're brave but weak. Go grind some levels, go make a wooden sword, I don't know.
+
+
+You're creepy.
+
+
+You're doing the math wrong, matey! I'll bring them later!
+
+
+You're finally free!
+
+
+You're hesitant to pick one, they could be dangerous.
+
+
+You're in the "@@" party, I know!
+
+
+You're in the "@@" party, very good!
+
+
+You're lucky that this is the Land Of Fire and I'm on a good mood, otherwise, I would have killed you for lying to me.
+
+
+You're lucky. It is windless now.#0
+
+
+You're lucky. It is windless now.#1
+
+
+You're not welcome here. Get moving.
+
+
+You're on a ship, we're on our way to the oldest human city, Tulishmar.
+
+
+You're on our ship, we made port to a little island and we're actually yeyending our long merchant travelling adventure at the city of Tulimshar.#0
+
+
+You're on our ship, we made port to a little island and we're actually yeyending our long merchant travelling adventure at the city of Tulimshar.#1
+
+
+You're playing with fire. Or ice. Or whatever.
+
+
+You're pretty much stranded on this forsaken island if you don't help me!
+
+
+You're ready. Let's head back to the ship before the sun sets, shall we?
+
+
+You're right, you never sold any Water Bottle ever. I'm unjailing you.
+
+
+You're right. Sorry.
+
+
+You're strong, maybe you could help Dan. He is a good sailor but he is too afraid from harmless Pious.
+
+
+You're stupid. Leave.
+
+
+You're the savior of Hurnscald crops. Half from the world would die from famine, weren't for you.
+
+
+You're under arrest. I have to bring you back to Kenton.
+
+
+You're wel-- Wait, it was you who was trapped on the well near Miler's house?!
+
+
+You're welcome!
+
+
+You're welcome.
+
+
+You're willing to help? Perfect. We need @@ @@, @@ @@ and @@ @@ for travel.
+
+
+You're, of course, invited. Thus far, the total prize money I've collected is @@ GP.
+
+
+You've already completed this quest today. Try again tomorrow.
+
+
+You've also learned how to craft Daggers! It serves solely for training purposes. You get crafting points for every 40 levels crafted on the item.
+
+
+You've been asking for way too much power from the Mana Seed.
+
+
+You've been doing quite well, indeed. Ever visited Lilit?
+
+
+You've been doing very well, I'm surprised.
+
+
+You've been doing well. Be careful out there.
+
+
+You've been spending too much time with humans. You are picking up bad habits from them like lying. Be careful.
+
+
+You've brought me fertilizer! Let me see if it works...
+
+
+You've got 2000 xp and 150 job xp in apology tokens.
+
+
+You've got a Graduation Album for Eistein levels!
+
+
+You've helped me plenty. Please come back in @@
+
+
+You've killed @@ scorpions, and a total of @@ were killed this season.
+
+
+You've killed @@/12 @@. Get rid of them!
+
+
+You've learned how to use @@. Simple locks can now be broken.
+
+
+You've obtained a @@ to visit Magic Academy.
+
+
+You've passed the test of courage. Bravure you have, but are you a real adventurer?
+
+
+You've reached the maximum level for this skill.
+
+
+You've slayed the Yeti.
+
+
+You, @@... You better get walking. Soon.
+
+
+You, and everyone on the party, won't be able to return.
+
+
+You... You killed my father during Nivalis siege! I'll make you pay for that!!
+
+
+You: @@, @@
+
+
+You? Have you ever looked in the mirror? You're not even level 35. Begone.
+
+
+You? Here?
+¿Tú? ¿Aquí?
+
+Your @@ determines several small things, including critical attacks and, limited to a certain extent, affect drop rates.
+
+
+Your @@ determines your ability to hit monsters and is valuable to players who prefer weapons that use projectiles.
+
+
+Your @@ is not enough, please look for more.
+
+
+Your Score: @@
+
+
+Your academy titles have been rescinded%s
+
+
+Your account is too young.
+
+
+Your account must be at least 72 hours old or have level 15+ to use this command.
+
+
+Your body starts to glow. You're not sure why, the fountain did that!
+
+
+Your class has been changed from %s to %s.
+
+
+Your coward outer self fails to convince you to leave.
+
+
+Your current rank: %s
+
+
+Your current scholar rank: %s (%d Research Points)
+
+
+Your current scholar rank: %s (%d/%d vouches)
+
+
+Your current scholar rank: %s (%s Research Points)
+
+
+Your current score: @@
+
+
+Your current win streak is @@!
+
+
+Your friend also sent you a gift - open it when you get level 5!
+
+
+Your guild does not have the key required to complete this part of the puzzle.
+
+
+Your guild doesn't knows any recipes!
+
+
+Your guild need to have at least level 2 to use storage feature.
+
+
+Your hairstyle is @@ and its color is @@.
+Su peinado es @@ y su color es @@.
+
+Your hear a clink, and the key breaks.
+
+
+Your help was invaluable, my staff believed in the unbiased view of the Hurnscald Household. Alas, now Peetu is capable to work again.
+
+
+Your homunculus is already on a mission!
+
+
+Your homunculus is ready!
+
+
+Your homunculus is sleeping! Wake them up!
+
+
+Your information is correct, %s. Pirates have been plaguing our shores and cutting off our supply lines.
+
+
+Your level is so high, I'm surprised you haven't went there already. But then, most quests around there are for your level...
+
+
+Your loss!
+
+
+Your low intelligence prevents anything from happening with you.
+
+
+Your magic is more powerful than you, but you can control.
+
+
+Your mind is set? You will probably lose all the dyes and/or cards during on the item during this process. You're bleaching a %s by the way.
+
+
+Your mother asked me to say that she loves you.
+
+
+Your next step is to get the book of the Second Sage Of Fate.
+
+
+Your party is too big. Discretion is a key if we want to succeed.
+
+
+Your persistence is amusing. However, you're yet to acquire the title of %s.
+
+
+Your personal record: %s
+
+
+Your position is auto-saved when entering a town - use @ucp to change this behavior.
+
+
+Your position must be the one of a regular member or above.
+
+
+Your position on the guild: @@
+
+
+Your privileges do not allow you to use this command.
+
+
+Your prize: %s GP
+
+
+Your problems are not mine. By the way, you really should consider taking a shower.
+
+
+Your progress thus far: %s chants casted
+
+
+Your progress thus far: %s damage inflicted
+
+
+Your progress thus far: %s exp earned
+
+
+Your progress thus far: %s friends supported
+
+
+Your progress thus far: %s potions baked
+
+
+Your progress thus far: %s skills casted
+
+
+Your progress thus far: %s sparks
+
+
+Your progress thus far: %s sparks killed
+
+
+Your progress thus far: %s survived.
+
+
+Your progress thus far: %s taken.
+
+
+Your reagents vanish into emptiness!
+
+
+Your rent is valid for @@.
+
+
+Your request for @@ @@ are being fermented for @@.
+
+
+Your save point has been changed.
+Su punto de guardado ha sido cambiado.
+
+Your skill in magic is not great enough to use some of the spells yet, so keep practicing and visiting the mana seed until it is.
+
+
+Your son, Hasan, has stolen me!
+
+
+Your spell takes a mind of its own and shapes in something else!
+
+
+Your status points were reset.
+
+
+Your strength is not enough to power on this portal.
+
+
+Your thief instincts suggest you to hurry.
+
+
+Your weird robes; They seem like they'll deny your damage, so you definitely want to summon multiple people to help. Try the #world tab.
+
+
+Your worth shall be tested, and from inside, you shall not leave.
+
+
+Yuko
+
+
+Yuko Cuf
+
+
+Yumi
+
+
+ZZZzzzz...
+
+
+Zack
+
+
+Zambacutou Heavy Sword
+Espada pesada Zambacutou
+
+Zarkor
+
+
+Zarkor Scroll
+Pergamino de Zarkor
+
+Zarkor spills many fluids on the lake, with much concentration.
+
+
+Zarkor starts a weird chant.
+
+
+Zarkor, fell a small taste of my power. That is nothing. If you can't handle that, you're not even near my lowest lieutenant.
+
+
+Zarkor, the Dark Summoner
+
+
+Zegas
+
+
+ZegasDebug
+
+
+Zitoni
+
+
+Zitoni refused to make the Powder.
+
+
+Zitoni seems to be lost on deep thought.
+
+
+Zitoni won't cooperate with you. Perhaps you should ask to Zarkor about that.
+
+
+Zombie Ear
+Oreja de zombi
+
+Zombie Nachos
+Nachos zombie
+
+Zzzzzz....
+
+
+Zzzzzzzzz...
+Zzzzzzzzz...
+
+[%d GP] [Lv 1~25] Hire for one hour
+
+
+[%d GP] [Lv 26~40] Hire for one hour
+
+
+[%d GP] [Lv 41~60] Hire for one hour
+
+
+[%d GP] [Lv 61~79] Hire for one hour
+
+
+[%d GP] [Lv 80~100] Hire for one hour
+
+
+[0] East Aeros
+
+
+[10x Honey, 1x Elixir of Life] The Shadow Tortuga won the race against the Panthom Lord.
+
+
+[1] West Aeros
+
+
+[2] Full Aeros
+
+
+[@@https://wiki.moubootaurlegends.org/Storyline|Read the History@@]
+
+
+[Accept Quest]
+
+
+[Caution, this may be dangerous!]
+
+
+[Christmas] Send soul to the Christmas Workshop!
+
+
+[DEBUG] Current Power: %d
+
+
+[Decline Quest]
+
+
+[Deliver all goods.]
+
+
+[Easter] Send soul to the Mana Forest!
+
+
+[Explain the situation]
+
+
+[Give him a Mouboo Figurine to play with?]
+
+
+[Give him some salty Sea Drops?]
+
+
+[Give him some tasty Chocolate Bar?]
+
+
+[Kill her]
+
+
+[Magic Olympics] Send soul to Porthos
+
+
+[Make up a lie]
+
+
+[Maybe another time.]
+
+
+[Pat his shoulder and say everything will be fine.]
+
+
+[Push him away from you and leave]
+
+
+[Quest Accepted]
+
+
+[Quit]
+
+
+[Shake him and tell him to pull himself together]
+
+
+[Slap his hands to surprise him and get his attention?]
+
+
+[Soul Menhir]
+
+
+[TUTORIAL]
+
+
+[Try to console him]
+
+
+[Valentine Day] Send soul to the Valentine Highlands!
+
+
+[Valentine] Eat all chocolate:
+
+
+[Worker Day] Send soul to the Contributor Cave!
+
+
+^.^ "Nothing is wrong, don't worry!"
+
+
+a Left Crafty Wing
+
+
+a Right Crafty Wing
+
+
+a ground!
+¡Tierra!
+
+a quiet place,
+un lugar tranquilo,
+
+a(n)
+
+
+above
+
+
+adams
+
+
+affection
+
+
+agility
+
+
+agrajag
+
+
+and
+
+
+and "listening" to his speech, you'll get EXP!
+
+
+and have Demure to send them to those you admire!
+
+
+angry
+
+
+any
+
+
+any planned experience and gold reward.
+
+
+arrow keys
+
+
+arthur dent
+
+
+assigning 5 points each to str, agi, dex and luck
+
+
+begin Doppelganger Challenge
+
+
+below
+
+
+betelgeuse
+
+
+big
+
+
+burst up in flames
+
+
+but I was hoping for something more valuable. No, thanks.
+
+
+but remember: Rewards will also be based on everyone's progress!
+
+
+cancel
+
+
+cleaning
+
+
+cold, bleak and isolated cell
+
+
+come back stronger, and I will give you a task.
+
+
+cricket
+
+
+data @@ @@ @@ data
+información @@ @@ @@ información
+
+day
+
+
+deep thought
+
+
+desert mines one day.
+
+
+dexterity
+
+
+disaster area
+
+
+discontent
+
+
+don't panic
+
+
+doplhins
+
+
+douglas
+
+
+draw.
+
+
+dude#1
+
+
+ear
+
+
+east
+
+
+easter eggs for more useful things!
+
+
+eddie
+
+
+ee break of day
+
+
+eight
+
+
+eighteen
+
+
+eleven
+
+
+england
+
+
+equip
+
+
+evening
+
+
+evil will return every day to curse King Arthur the Micksha.
+
+
+exchange them, and have fun!
+
+
+experience points
+
+
+fifteen
+
+
+firearms
+
+
+five
+
+
+focused on lower level players, and to cherish those whom work hard everyday.
+
+
+four
+
+
+fourteen
+
+
+furious
+
+
+gal#0
+
+
+girl#0
+
+
+give everyone gifts for spending so much time with us %%l
+
+
+hard work, Dimonds Cove was built.
+
+
+heart of gold
+
+
+her
+
+
+here
+
+
+hero#0
+
+
+hero#1
+
+
+hey, hey, are you a hero, are you a hero?#0
+
+
+hey, hey, are you a hero, are you a hero?#1
+
+
+house finances
+
+
+humm... Sorry, I forgot what you need!
+
+
+humm... You don't have everything I've asked for!
+
+
+if the proposal is not convenient for you, just close the trading window to cancel the exchange of items and money. But if both press the 'Accept Negotiation' button, then the marketing will be finished.
+
+
+in March 2nd 2018.
+
+
+international worker day
+
+
+is your target. They spawn smaller versions of themselves! Kill @@ of them and make the beach safe for tourists.
+
+
+item dependant bonuses
+
+
+ix
+
+
+karim
+
+
+katazuli
+
+
+keyboard
+
+
+king
+
+
+left
+
+
+left above
+
+
+legendary clovers will spawn almost everywhere.
+
+
+legendary weapon
+
+
+library damage
+
+
+line @@:
+
+
+longing for the day she would have a building.
+
+
+lost forever
+
+
+love
+
+
+lower left
+
+
+lower right
+
+
+luck
+
+
+magic book
+
+
+marvin
+
+
+medium shot
+
+
+milliways
+
+
+miss#0
+
+
+mister#1
+
+
+mobs over lv 100
+
+
+monster points
+
+
+monsters of at least level 100
+
+
+more information about test server ->
+
+
+morning
+
+
+murder
+
+
+my name is karim can you help me?.
+
+
+need help to send gifts to everyone! Compete for scoreboards,
+
+
+next
+
+
+nine
+
+
+nineteen
+
+
+no
+no
+
+no active MOTD
+MOTD no activo
+
+no active broadcast
+transmisión no activa
+
+north
+
+
+northeast
+
+
+northwest
+
+
+nothing
+
+
+npc1
+npc1
+
+npc1#door
+npc1#door
+
+npc3
+npc3
+
+npc4
+npc4
+
+npc5
+npc5
+
+o.o "You're being unreasonable. That's way too much!"
+
+
+offline player
+
+
+one
+
+
+over 100 mobs
+
+
+pal#1
+
+
+pan galactic gargle blaster
+
+
+passion
+
+
+peasant#0
+
+
+peasant#1
+
+
+place in the world. He told Dimond that he would make her
+
+
+powerful shot
+
+
+quest completed.#0
+
+
+quest completed.#1
+
+
+ranged mobs
+
+
+ranged monsters
+
+
+rather powerful shot
+
+
+rather weak shot
+
+
+research
+
+
+restaurant for her. He gathered the tools and after much
+
+
+right
+
+
+right above
+
+
+rock
+
+
+sample
+
+
+sent to the email you used to register on Moubootaur Legends.
+
+
+seven
+
+
+seventeen
+
+
+she's smiling at you.
+
+
+sit
+
+
+six
+
+
+sixteen
+
+
+slartibartfast
+
+
+slimes
+
+
+small, red, round and shiny.
+
+
+somewhat powerful shot
+
+
+somewhat weak shot
+
+
+south
+
+
+southeast
+
+
+southwest
+
+
+southwest part of the town
+
+
+spawn challenge monster! How far can you go?
+
+
+splash magic
+
+
+splash weapons
+
+
+start#bat_a02
+
+
+start#hurns_lib
+
+
+stocking
+
+
+stop interrupting me while I make your trousers.
+
+
+stop making me lose the line by talking to me.
+
+
+supply report
+
+
+survive @@ seconds more!
+
+
+ten
+
+
+test
+
+
+test @@
+test @@
+
+test#0
+
+
+test#1
+
+
+test1
+test1
+
+test1 @@#0
+
+
+test1#0
+
+
+test2
+test2
+
+test2 @@#1
+
+
+test2#1
+
+
+the Monster King
+
+
+the Yeti King
+
+
+the better your chances to get the best cards.
+
+
+the card will determine your gift - the more cards you spin,
+
+
+the event won't start and HURNSCALD WON'T BE LIBERATED.
+
+
+the north exit
+
+
+the npc choose paper.
+
+
+the npc choose rock.
+
+
+the npc choose scissors.
+
+
+thirteen
+
+
+this
+
+
+three
+
+
+to give %s experience!
+
+
+top 1
+
+
+top 10
+
+
+top 3
+
+
+top 5
+
+
+top 7
+
+
+towel
+
+
+town damage by monsters
+
+
+town finances
+
+
+town overview
+
+
+triple
+
+
+truth
+
+
+twelve
+
+
+twenty
+
+
+two
+
+
+two jobs
+
+
+two minutes
+
+
+very angry
+
+
+very mad
+
+
+very powerful shot
+
+
+very weak shot
+
+
+vogon
+
+
+vogsphere
+
+
+votes
+
+
+warp back
+
+
+weak shot
+
+
+west
+
+
+which creeps over Kamelot! During this event, the ancient
+
+
+with friends
+
+
+wowbagger
+
+
+yawns
+
+
+yellow
+
+
+yes
+sí
+
+you already opened the chest.
+
+
+you choose paper.
+
+
+you choose rock.
+
+
+you choose scissors.
+
+
+you lose
+
+
+you win
+
+
+you win @@
+
+
+zero
+
+
+~~%d/%d %s~~
+
+
+¬.¬ "Hmm, to me, you look like a thief or bandit..."
+
+
+¬.¬ "I knew it! I'll report you at once."
+
+
+´ .Use lazurite stones ´..´. they will appear. ..´ .. drop them inside .. this circle.
+
+
+↑ Houses, Soul Menhir
+
+
+↑ Town Hall, Noble District
+
+
+─ Crazyfefe is likely patrolling the world, aiding Constables and catching criminals.
+
+
+─ Jak1 should be on the Mirror Lake or verifying the infrastructure.
+
+
+─ LawnCable is likely on his room doing research, I wouldn't disturb him if I were you.
+
+
+─ Saulc should be on his residence, going over the plans again.
+
+
+♪ Pinkie,pinkie,pinkie, you're so fine.
+
+
+♪Hi ho, no one on♫
+
+
+♪There is a server♪
+
+
diff --git a/langs/lang_fr.old b/langs/lang_fr.old
new file mode 100644
index 0000000..236940e
--- /dev/null
+++ b/langs/lang_fr.old
@@ -0,0 +1,1122 @@
+##1Bug abuser detected! Automatically banning!!
+##1 Abus de bug detecté! Bannissement Automatque!!
+
+##1WARNING! WARNING! Siege starting at Halinarzo!!
+##1ALERTE! ALERTE! Un siege débute à Halinarzo!!
+
+##1WARNING! WARNING! Siege starting at Tulimshar!!
+##1ALERTE! ALERTE! Un siege débute à Tulimshar!!
+
+##2 14 Days login bonus: ##B1x @@##b
+##2 Bonus journalier de 14 jours:: ##B1x @@##b
+
+##2 14 Days login bonus: ##B2x @@##b
+##2 Bonus journalier de 14 jours: ##B2x @@##b
+
+##2 21 Days login bonus: ##B1x @@##b
+##2 Bonus journalier de 21 jours:: ##B1x @@##b
+
+##2 21 Days login bonus: ##B3x @@##b
+##2 Bonus journalier de 21 jours:: ##B3x @@##b
+
+##2 27 Days login bonus: ##B1x @@##b
+##2 Bonus journalier de 27 jours:: ##B1x @@##b
+
+##2 3 Days login bonus: ##B1x @@##b
+##2 Bonus journalier de 3 jours:: ##B1x @@##b
+
+##2 7 Days login bonus: ##B@@ Job Exp.##b
+##2 Bonus journalier de 7 jours:: ##B@@ Job Exp.##b
+
+##2 @@ Days login bonus: ##B2x @@##b
+##2 @@ Bonus journalier: ##B2x @@##b
+
+##2Daily login bonus: ##B1x @@##b
+##2 Bonus journalier: ##B1x @@##b
+
+##2Daily login bonus: ##B@@ GP##b
+##2 Bonus journalier: ##B@@ GP##b
+
+##2Daily login bonus: ##B@@ Job Exp.##b
+##2 Bonus journalier: ##B@@ Job Exp.##b
+
+##2The Monster Colonel was defeated by @@!
+##2The Monster Colonel a été vaincu par @@!
+
+##2The Monster Lieutenant was defeated by @@!
+##2The Monster Lieutenant a été vaincu par @@!
+
+##2Your prize: @@ GP
+##2Ton prix: @@ GP
+
+##BHall Of Fame: TOP10##b
+##BHall Of Fame: TOP10##b
+
+(Protip: Use arrow keys to walk around once you wake up.)
+(Protip: Utilisez les touches fléchées pour vous déplacer une fois que vous vous réveillez.)
+
+1. ##BDo not bot##b, A character must be being controlled by a human, standing, siting, or logged off. You may only control one character at a time.
+1. ##BNe pas bot##b, Le personnage doit être contrôlé par un humain, debout, assis ou déconnecté. Vous ne pouvez contrôler qu'un seul personnage à la fois.
+
+2. ##BDo not spam nor flood.##b Texts entirely written in UPPER CASE helps counting as spam.
+2. ##BNe pas spammer.##b Les textes entièrement écrits en MAJUSCULES compte comme spam.
+
+@@ is helping me.
+@@ m'aide.
+
+@@/5 House Maggots
+@@/5 House Maggots
+
+A blur shape forms in your front. It seems to be a large ship.
+Une forme de flou se forme devant vous. on dirait bien un bateau.
+
+Actually, the Dummy don't fight back. Are you afraid?
+En fait, le Dummy ne se défend pas. Donc pas de peur à avoir?
+
+Ah, this is boring.
+Ah, c'est ennuyant
+
+Alright, I'm going to the capt'n room, keep an eye on her, we still don't know if she's friend or foe...#0
+Bon, je vais à la salle capt'n, surveille-la, on ne sait toujours pas si elle est amie ou ennemie ... #0
+
+Alright, I'm going to the capt'n room, keep an eye on him, we still don't know if he's friend or foe...#1
+Bon, je vais à la salle des captn, garde un œil sur lui, on ne sait toujours pas s'il est ami ou ennemi ... #1
+
+Alright, take your time we are not in a hurry.
+Entendu, prends ton temps, nous ne sommes pas pressés.
+
+Also, we took your yayed clothes, as they were... Yeyeye... In a bad shape. Go check the chest near your bed, there are some other ones inside.#0
+Aussi, nous avons pris tes vêtements déchirés, car ils étaient... déchirés... Dans un sale état. Regarde dans le coffre près de ton lit, il y en a d'autres pour toi.#0
+
+Also, we took your yayed clothes, as they were... Yeyeye... In a bad shape. Go check the chest near your bed, there are some other ones inside.#1
+Aussi, nous avons pris tes vêtements déchirés, car ils étaient... déchirés... Dans un sale état. Regarde dans le coffre près de ton lit, il y en a d'autres pour toi.#1
+
+And how do I save items?
+Et comment puis-je protéger mes objets?
+
+And how do I save money?
+Et comment puis-je protéger mon argents ?
+
+And then what happened?
+Et donc, qu'est-il arrivé ?
+
+And you? How's it going on your side?
+Et toi ? Comment ça va de ton côté ?
+
+Another way to attack it is clicking on it. Now, there are some things you must know before fighting this dangerous creature!
+Une autre façon d'attaquer est de cliquer sur l'énnemi. Maintenant, il y a certaines choses que vous devez savoir avant de combattre ce mannequin dangereux!
+
+AreaNPC
+ZonePNJ
+
+AreaNPC#doors5
+AreaNPC#doors5
+
+Artis
+Artis
+
+Artis Backsword
+Latte d'Artis
+
+AssassinChest
+AssassinChest
+
+Astra Cube
+Astra Cube
+
+Bare Hands
+Mains Nues
+
+Bhopper egg
+Bhopper egg
+
+Black Cotton Dye
+Teinture Coton Noir
+
+Blob
+Blob
+
+Blue Cotton Dye
+Teinture Coton Bleu
+
+Blue Gray Cotton Dye
+Teinture Coton Bleu-Gris
+
+Break the door.
+Casser la porte.
+
+Bromenal
+Bromenal
+
+Brown Cotton Dye
+Teinture Coton Marron
+
+Bull
+Bull
+
+Bury.
+Enterrer.
+
+But most important, she is the one who took care of you when you were unconscious.#0
+Mais par dessus tout, c'est celle qui s'est occupée de toi pendant que tu étais inconsciente.
+
+But most important, she is the one who took care of you when you were unconscious.#1
+Mais par dessus tout, c'est celle qui s'est occupée de toi pendant que tu étais inconscient.
+
+COntributor Sweater
+Contributor Sweater
+
+Camel Cotton Dye
+Teinture Coton Beige
+
+Captain Nard is in the room to your right.
+La capitaine Nard se trouve dans la pièce à ta droite.
+
+Cave Snake lamp
+Cave Snake lamp
+
+Change my level
+Changer mon niveau
+
+Change my skills
+Changer mes compétences
+
+Change my stats
+Changer mes caractéristiques
+
+ChefHat
+ChefHat
+
+CherryCake
+CherryCake
+
+Chocolate Cashmere Dye
+Teinture Cachemire Chocolat
+
+Choose desired quest state:
+Choisi l'état de quête désiré :
+
+Click here for instructions on how to use the test server.
+Cliques ici pour connaître les instructions pour utiliser le serveur test.
+
+CottonBoots
+CottonBoots
+
+CottonTrous
+CottonTrous
+
+Could I ask you what your native language is? A sailor told me you're Russian, but another one told me you're French... I'm a bit lost. I will register you on the ship passenger list just after that.#0
+Puis-je te demander qu'elle est ta langue natale ? Un marin m'a dit que tu étais russe, mais un autre m'a dit que tu étais française... Je suis un peu perdue. Je t'inscris sur le registre de bord juste après ça.
+
+Could I ask you what your native language is? A sailor told me you're Russian, but another one told me you're French... I'm a bit lost. I will register you on the ship passenger list just after that.#1
+Puis-je te demander qu'elle est ta langue natale ? Un marin m'a dit que tu étais russe, mais un autre m'a dit que tu étais français... Je suis un peu perdue. Je t'inscris sur le registre de bord juste après ça.
+
+Could you bleach my clothes?
+Peux-tu blanchir mes vêtements ?
+
+Create items
+Créer des objets
+
+Crimson Cashmere Dye
+Teinture Cachemire Cramoisi
+
+Crusader Card
+Crusader Card
+
+Crypt Key
+Crypt Key
+
+Dark Red Cotton Dye
+Teinture Coton Rouge Foncé
+
+Darkhelm
+Darkhelm
+
+Debug - Change level
+Débogage - Changer de niveau
+
+Debug - Change stats
+Débogage - Changer de statistiques
+
+Demonic Chest
+Demonic Chest
+
+Demonic Earth Powder
+Demonic Earth Powder
+
+Demonic Goblin
+Demonic Goblin
+
+Demonic Mouboo
+Demonic Mouboo
+
+Demonic Scythe
+Demonic Scythe
+
+Demonic Skull
+Demonic Skull
+
+Desert Bow
+Desert Bow
+
+Did you have any other questions for me?
+As-tu une autre question à me poser ?
+
+Did you say reward? I want it!
+As-tu dis une récompense ? Je la veux !
+
+Dig.
+Creuser.
+
+Do nothing
+Ne rien faire
+
+Do you feel too weak even to do damage to this areas wishy-washy wildlife?
+Te sens-tu trop faible même pour faire des dégâts à la faune de cet endroit insipide ?
+
+Do you have any other questions for me?
+As-tu une autre question à me poser ?
+
+Do you have the @@/11 @@ I requested? Sailors are getting hungry because you!
+Avez-vous les @@ / 11 @@ que j'ai demandé? Les marins commencent a avoir faim 
+
+Do you want to cut this @@?
+Veux-tu couper cette @@ ?
+
+Do you want to use this place as save point?
+Veux-tu utiliser cet endroit comme point de sauvegarde ?
+
+Don't be afraid of death. Of course, in most places, dying will reduce your Experience.
+N'ayez pas peur de la mort. Nosu somme avec vous. Bien sûr, dans la plupart des endroits, la mort devra étre crainte car elle réduira votre expérience.
+
+DoorUpwards
+PorteHaute
+
+Enter desired skill level:
+Entre le niveau de compétence désiré :
+
+EyePatch
+EyePatch
+
+Fallen Guard
+Fallen Guard
+
+Fine.
+Bien
+
+Fluffy Fur
+Fourrure de Pluche
+
+Forest Card
+Forest Card
+
+Fuschia Cotton Dye
+Teinture Coton Fuchsia
+
+Get money
+Recevoir l'argent
+
+Go away.
+Va t'en.
+
+Golden Amethyst Ring
+Golden Amethyst Ring
+
+Golden Diamond Ring
+Golden Diamond Ring
+
+Golden Emerald Ring
+Golden Emerald Ring
+
+Golden Ruby Ring
+Golden Ruby Ring
+
+Golden Sapphire Ring
+Golden Sapphire Ring
+
+Golden Scoprion
+Golden Scoprion
+
+Golden Topaz Ring
+Golden Topaz Ring
+
+GonzoDark, Saulc.
+GonzoDark, Saulc.
+
+Good to hear from you!
+Heureux d'avoir de tes nouvelles !
+
+Great, I need 11 @@. Remember a good food makes a good crew.
+Génial, j'ai besoin de 11 @@, rappelez-vous qu'une bonne cantine fait un bon équipage.
+
+Green Cotton Dye
+Teinture Coton Vert
+
+Halinarzo Guard
+Halinarzo Guard
+
+He needs more food.
+Il a besoin de plus de nourriture.
+
+Hehe... Ok, I'm going to inform the capt'n up there that the boy is fine.#1
+Hehe ... Ok, je vais informer le capt là-haut que le garçon va bien. #1
+
+Hehe... Ok, I'm going to inform the capt'n up there that the girl is fine.#0
+Hehe ... Ok, je vais informer le capt là-haut que la fille va bien. #0
+
+Hehehe, he is a bit nervous, please forgive him, it is not everyday we have a new member in the crew!
+Hehehe, il est un peu nerveux, pardonnes-le, ce n'est pas tous les jours qu'on a un nouveau membre dans l'équipage !
+
+Here they are.
+Les voilà.
+
+Hey @@! You haven't clicked on me yet!
+Hey @@! Vous n'avez pas encore cliqué sur moi!
+
+Hey you! Can you hear us? Are you okay?
+Eh toi ! Tu nous entends ? Tu vas bien ?
+
+Hey.
+Hey.
+
+How do you know?
+Comment tu le sais ?
+
+I am not worried about rewards. I just want to help.
+Je ne me préoccupe pas des récompenses. Je veux juste aider.
+
+I can't believe.
+Je ne peux pas y croire.
+
+I can't remember anything.#0
+Je n'arrive à me souvenir de rien.
+
+I can't remember anything.#1
+Je n'arrive à me souvenir de rien.
+
+I don't have the time now.
+Je n'ai pas le temps là maintenant.
+
+I don't need your help right now, come back later.
+Je n'ai pas besoin de ton aide pour le moment, reviens me voir plus tard.
+
+I hate sea water, it always make knifes rusty. I already have a stockpile of rusty knifes on the other room.
+Je déteste l'eau de mer, elle fait toujours rouiller les couteaux. J'ai déjà un stock de Rusty Knife dans l'autre pièce.
+
+I knew it!
+Je le savais !
+
+I made a figurin with Bug legs.
+J'ai fait une figurine avec les Bug Legs.
+
+I need at minimum @@ Monster Points to get items at current level.
+J'ai besoin d'au moins @@ Monster Points pour obtenir des objets au niveau actuel.
+
+I need somebody who can rid the hold of the ship of these rattos. Can you help me?
+J'ai besoin de quelqu'un qui peut me débarrasser la cave de ces rattos. Peux-tu m'aider ?
+
+I only remember I was rescued by you.#0
+Tout ce dont je me souviens c'est que j'ai été sauvée par vous.
+
+I only remember I was rescued by you.#1
+Tout ce dont je me souviens c'est que j'ai été sauvé par vous.
+
+I remember when I created my first party, we were amazed to share some experience with a small group of adventurer...
+Je me souviens quand j'ai créé mon premier groupe, nous étions stupéfais de partager de l'expérience avec un petit groupe d'aventuriers...
+
+I see it's not so easy to get rid of these rattos. Do you want to try again?
+Je vois que ce n'est pas facile de se débarasser de ces rattos. Veux-tu essayer une nouvelle fois ?
+
+I think I'll be done soon, since I almost have a box full of @@s!
+Je pense avoir bientôt terminé puisque j'ai une boîte quasiment pleine de @@s !
+
+I think I'm done with that now. Do you have any questions?
+Je pense avoir terminé avec ça pour l'instant. As-tu des questions ?
+
+I wanted other info.
+Je voulais d'autres informations.
+
+I will yaying do.
+Je le ferai.
+
+I wrote your name on the book, you are now free to use the storage and bank services.
+J'ai écrit ton nom dans le livre, tu es maintenant libre d'utiliser les services d'entrepôt et de la banque.
+
+I'll give her everything she needs, don't worry.#0
+Je lui donnerai tout ce dont elle a besoin, ne t'en fais pas.
+
+I'll give him everything he needs, don't worry.#1
+Je lui donnerai tout ce dont elle a besoin, ne t'en fais pas.
+
+I'm done.
+J'ai fini.
+
+I'm glad to see you're okay.#0
+Je suis content que tu n'aies rien.
+
+I'm glad to see you're okay.#1
+Je suis content que tu n'aies rien.
+
+I'm sure that you've got some questions for me, feel free to ask them, but first I need to tell you the rules of proper social conduct on board.
+Je suis certaine que tu as des questions à me poser, fais-toi plaisir et demande-moi, mais avant je dois te rappeler les règles de conduite à bord de ce navire.
+
+Iced Bottle
+Iced Bottle
+
+If you simply wish to get 99 in all stats:
+Si tu désires simplement avoir 99 dans toutes les compétences :
+
+If you want to read this page again, there is a copy up on the left wall.
+Si tu veux lire cette page une nouvelle fois, il y en a une copie sur le mur de gauche.
+
+If you wish to reset your stats:
+Si tu désires réinitialiser tes statistiques :
+
+Iron Four-Leaf Amulet
+Iron Four-Leaf Amulet
+
+It seems like you're finally safe. You shut your eyes and fall asleep.
+Il semble que tu sois enfin en sécurité. Vous fermez les yeux et vous endormez.
+
+It seems that you need a key to open this door.
+Il semblerait que tu ais besoin d'une clé pour ouvrir cette porte.
+
+It would be good for you to do some exercise, the ship isn't big enough for that.
+Il serait bon pour toi que tu fasses de l'exercice, le bateau n'est pas assez grand pour ça.
+
+It's alright! Just one more box and it'll be ok.
+C'est bien ! Encore une seule boîte et ça sera parfait.
+
+It's ok.
+C'est bon.
+
+Items.
+Items.
+
+Johanne Key
+Clé de la Johanne
+
+Julia
+Julia
+
+Juliet is on the upper level of the ship, use the arrow keys to walk to the stairs or click on the stairs at the top right of your screen.
+Juliette est sur le niveau supérieur du navire, utilisez les touches fléchées pour marcher vers les escaliers ou cliquez sur les escaliers en haut à droite de votre écran.
+
+Khaki Cotton Dye
+Teinture Coton Khaki
+
+LeftBarrierCheck
+BarriereGauche
+
+LeftDoor
+PorteGauche
+
+Legendary Wand
+Legendary Wand
+
+Legion's Copper Armor
+Armure en Cuivre de la Légion
+
+Legion's Training Shirt
+Chemise d'Entraînement de la Légion
+
+Less maggots means more food to the town. So, this time the monsters will be a little stronger.
+Moins de maggots signifie plus de nourriture pour la ville. Donc, cette fois les monstres seront un peu plus forts.
+
+Let me explain to you what the Merchant Guild is for.
+Laisse-moi d'expliquer à quoi sert la Guilde des Marchands.
+
+Let's jump straight to action, shall we? I'll spawn a mighty @@ to fight you!
+Passons directement à l'action! Aller donc combattre ce puissant @@ que je viens de faire apparaitre.
+
+LieutenantDausenDebug
+LieutenantDausenDebug
+
+Lilica#final
+Lilica#final
+
+Lime Cotton Dye
+Teinture Coton Citron
+
+Lollipop
+Lollipop
+
+Look at your equipment, can you guess what material it is made from?
+Regarde ton équipement, peux-tu deviner de quoi il est fait ?
+
+Lower this skill
+Réduire cette compétence
+
+Magic is dead!
+La Magie est Morte !
+
+Mauve Cotton Dye
+Teinture Coton Mauve
+
+Mecha Medallion
+Mecha Medallion
+
+Mint Cashmere Dye
+Teinture Cachemire Menthe
+
+My name is @@...
+Je m'appelle @@...
+
+Natural Card
+Natural Card
+
+Navy Blue Cotton Dye
+Teinture Coton Bleu Marine
+
+No problem, I can help you anyway.
+Pas de problème, je peux quand même t'aider.
+
+No, none.
+Non, aucune.
+
+Nylo#Beer
+Nylo#Beer
+
+Of course! But beware that [@@https://www.transifex.com/akaras/saulc-tmw-fork|Translators@@] are always in demand!
+Bien sûr! On recherche des [@@https://www.transifex.com/akaras/saulc-tmw-fork|Translators@@] traducteurs!
+
+Oh really? I'll put more food in the next box then.
+Oh vraiment ? Je mettrai plus de nourriture dans la prochaine boîte alors.
+
+Oh well, we rescued you when you were yaying adrift in the sea.#0
+Et bien nous t'avons sauvée quand tu étais à la yayive dans la mer.
+
+Oh well, we rescued you when you were yaying adrift in the sea.#1
+Et bien nous t'avons sauvé quand tu étais à la yayive dans la mer.
+
+Oh yeyeye... As they are not edible, you can maybe try to equip them?#0
+Oh mon yieuyieuyieu... Puisqu'ils ne sont pas comestibles, peut-être peux-tu essayer de les équiper ?
+
+Oh yeyeye... As they are not edible, you can maybe try to equip them?#1
+Oh mon yieuyieuyieu... Puisqu'ils ne sont pas comestibles, peut-être peux-tu essayer de les équiper ?
+
+Oh! And our party chat was really entertaining, I do highly recommend you to share this fun as well.
+Oh ! Et notre conversation de groupe était vraiment intéressante, je te recommande aussi vivement de partager cet amusement.
+
+Oh, I was going to ask you if you wanted to help the crew search for some food and explore the island out there.
+Oh, j'allai te demander si tu voulais aider l'équipage à aller chercher de la nourriture et explorer cette île, là-dehors.
+
+Oh, and I almost forgot! Do not give the password of your room to anybody! I am the only one who has the other key and I won't ask for yours so keep it secret and try not to use the same password for any other room in the future.
+Oh, j'avais presque oublié ! Ne donne le mot de passe de ta chambre à personne ! Je suis la seule personne a avoir l'autre clé et je ne te demanderai jamais la tienne alors garde-la en secret et essaye de ne pas utiliser le même mot de passe pour chaque chambre dans le futur.
+
+Oh, and a fruit may even fall for you if you are lucky! But stay alert to pick up your drops.
+Oh, et un fruit peut même tomber si tu as de la chance ! Mais fais attention à ne pas oublier de ramasser les objets abandonnés.
+
+Oh, and give her some clothes, the poor girl, the ones she had were in an even worse condition than the ones we have.#0
+Oh, et donne-lui des vêtements, la pauvre fille, ceux qu'elle avait étaient dans un état bien pire que ceux que nous avons nous.
+
+Oh, and give him some clothes, the poor guy, the ones he had were in an even worse condition than the ones we have.#1
+Oh, et donne-lui des vêtements, le pauvre garçon, ceux qu'il avait étaient dans un état bien pire que ceux que nous avons nous.
+
+Oh, now that I remember, we also found some money in your pockets, here it is!#0
+Oh, maintenant ça me revient, nous avons aussi trouvé de l'argent au fond de tes poches, le voici !
+
+Oh, now that I remember, we also found some money in your pockets, here it is!#1
+Oh, maintenant ça me revient, nous avons aussi trouvé de l'argent au fond de tes poches, le voici !
+
+Oh, wait a second...
+Oh, attends une seconde...
+
+Oh... Err, yes I did, or, well, good day to you!
+Oh... Err, oui j'ai, ou... Bien, bien le bonjour à toi !
+
+Ok, I think he's waking up, go see him.#1
+Oh, je crois qu'il se réveille, va le voir.
+
+Ok, I think she's waking up, go see her.#0
+Oh, je crois qu'elle se réveille, va la voir.
+
+Okay, I'm ready to work!#0
+Entendu, je suis prête à travailler !
+
+Okay, I'm ready to work!#1
+Entendu, je suis prêt à travailler !
+
+Oldur Card
+Oldur Card
+
+Orange Cotton Dye
+Teinture Coton Orange
+
+Paladin Card
+Paladin Card
+
+Perfect!
+Parfait !
+
+Pink Cotton Dye
+Teinture Coton Rose
+
+Piou Slayer
+Tueuse de Piou
+
+Piou egg
+Å’uf de Piou
+
+Piousee
+Piousee
+
+Please select a category:
+Sélectionne une catégorie :
+
+Plum
+Plum
+
+Purple Cotton Dye
+Teinture Coton Violet
+
+Raijin Voice
+Voix d'un Raijin
+
+Raise this skill
+Augmenter cette compétence
+
+Raises your Int by 50
+Int augmenté de 50
+
+Raises your base level by 50
+Niveau de base augmenté de 50
+
+Raises your job level by 50
+Niveau de métier augmenté de 50
+
+Red Cotton Dye
+Teinture Coton Rouge
+
+Reduces your Int by 50
+Int réduit de 50
+
+Reduces your base level by 50
+Int niveau de base de 50
+
+Reduces your job level by 50
+Int niveau de métier de 50
+
+Remove this skill
+Supprimer cette compétence
+
+Return to skill debug menu
+Revenir au menu de débogage de compétence
+
+RightBarrierCheck
+BarrièreDroite
+
+Scarab Armlet
+Scarab Armlet
+
+Set state manually
+Changer l'état manuellement
+
+Set the level manually
+Changer le niveau manuellement
+
+She is the nurse and shipkeeper of this ship.
+Elle est l'infirmière et la gardienne de ce navire.
+
+She's on the upper level, yeye can't miss her. She's the only girl in this crew, oh well, except for you now yeyeye!#0
+Elle est sur le niveau supérieur, tu ne peux pas la rater. C'est la seule fille de l'équipage, enfin plus maintenant grace a toi, #0
+
+She's on the upper level, yeye can't miss her. She's the only girl in this crew.#1
+Elle est sur le niveau supérieur, tu ne peux pas la rater. C'est la seule fille de l'équipage.
+
+Silver Cotton Dye
+Teinture Coton Argenté
+
+Skill Debug
+Débogage de Compétence
+
+Skill Debug - Modify Skill
+Débogage de Compétence - Modifier Compétence
+
+Skull Potion
+Skull Potion
+
+SkullBloodyMug
+SkullBloodyMug
+
+Slide Card
+Slide Card
+
+So finally someone has came to visit me?
+Alors quelqu'un est enfin venu me rendre visite ?
+
+Sorry! I forgot to introduce myself. My name is Arpan, but other sailors call me Magic Arpan because I know one or two yaing magic spells.
+Oh pardon ! J'ai complètement oublié de me présenter. Je me nomme Arpan, mais les autres m'appellent Arpan Magique, parce que je connais deux, trois tours de magie.
+
+Sorry, I am not in the mood for another fight with these rattos.
+Désolé, mais je ne suis pas d'humeur à me battre contre des rattos.
+
+Sorry, but I can't tell you anything about that.
+Désolé, mais je ne peux rien te dire à ce sujet.
+
+Soul Menhir#001-4
+Soul Menhir#001-4
+
+Spectra Orb
+Spectra Orb
+
+TUTORIAL: By pressing @@, you can open the Shortcut menu. And by pressing @@, you open the skill menu!
+TUTORIEL: En appuyant sur @@, tu peux ouvrir le menu des raccourcis. En appuyany sur @@, tu peux ouvrir le menu des compétences!
+
+TUTORIAL: Of course, lag might always be a problem. Remember to drag healing items to the shortcut list too. %%2
+TUTORIEL: Il va de soi que le lag peut toujours être un problème. N'oublie pas que tu peux aussi glisser des items de guérison dans le menu des raccourcis. \nPS: Si tu meurt pour des causes injustifiées, blâme ##BTOUJOURS##b Saulc :) %%2
+
+TUTORIAL: The bugs there can be pretty vicious. Do you know what's worse though? Lag.
+TUTORIEL: Ces insectes peuvent être plutôt vicieux. Tu sais ce qui est pire ? Le lag.
+
+Teal Cotton Dye
+Teinture Coton Turquoise
+
+Thank you, I'll take them and put them on.
+Merci, je vais aller les prendre et les enfiler.
+
+Thanks again for helping me. Drats these rattos for infesting our fair vessal!
+Merci encore pour m'avoir aidé ! Ces fichus ratto infestent tout notre vaisseau !
+
+Thanks for helping me!
+Merci de m'avoir aidé !
+
+Thanks for the help!
+Merci pour l'aide !
+
+The captain has locked the door, you should go see him.
+Le capitaine a fermé la porte, tu devrais aller le voir.
+
+The captain is waiting for you! Hurry up.
+Le capitaine t'attends. Dépêches-toi !
+
+The name of the book is @@.
+Le nom du livre est @@.
+
+The old book seems to tell about the legend of Aemil. Would you like to read it?
+Le vieux livre semble raconter la légende d'Aémil. Veux-tu la lire ?
+
+Then concentrate your anger upon the trees hereabouts, you will gain experience whilst leveling your sword skill on them.
+Et bien concentre ta colère sur les arbres par ici, tu obtiendras de l'expérience en même temps qu'améliorer tes compétences d'épée dessus.
+
+There are still some rattos left! Do you want to abort the quest?
+Il y a encore quelques Rattos présents ! Veux-tu abandonner la quête ?
+
+There is a paper with some rules written on it.
+Il y a un papier avec des règles écrites dessus.
+
+These boxes are way too heavy to be lifted by only one person, all the way onto the ship.
+Ces boîtes sont bien trop lourdes pour être soulevées par une seule personne, tout au bout jusque sur le bateau.
+
+They are a permanent problem so I will always need your help to exterminate them in order to keep their number under control.
+C'est un problème permanent donc j'aurai toujours besoin de ton aide pour les exterminer afin de garder leur nombre sous contrôle.
+
+This girl is lucky we found her before a shark did. I have no idea where she comes from.#0
+Cette fille a de la chance d'etre tombée sur nous avant un requin. Je n'ai aucune idée d'où elle vient. # 0
+
+This guy is lucky we found him before a shark did. I have no idea where he comes from.#1
+Ce mec a eu de la chance que nous l’ayons trouvé avant un requin. Je n'ai aucune idée d'où il vient. #1
+
+This guy needs help, we need to rescue him!#1
+Ce gars a besoin d'aide, nous devons le sauver !
+
+This is a menu, click on the option and then on send. You can use arrow keys if you prefer.
+Ceci est un menu, cliquez sur l'option puis sur envoyer. Vous pouvez utiliser les touches directionnelless si vous préférez.
+
+This menu allows you to change your skills.
+Ce menu te permet de changer tes compétences.
+
+This menu gives access to all quest debug menus.
+Ce menu donne accès à tous les menus de débogage de quête.
+
+To change your base level, use this command:
+Pour changer ton niveau de base, utilise cette commande :
+
+To change your job level, use this command:
+Pour changer ton niveau de métier, utilise cette commande :
+
+To change your stats, use these commands:
+Pour changer tes compétences, utilise ces commandes :
+
+TrainingGladius
+Glaived'Entraînement
+
+Use the key.
+Utilise la clé.
+
+Wait, it seems someone is blocking the door from the other side!
+Attends, il semblerait qu'il y ai quelqu'un derrière qui bloque la porte.
+
+Wait, you never came here before?
+Attends, tu n'es jamais venu ici auparavant ?
+
+Wait. A ship? Where are you, after all?
+Quoi ! un bateau ?? mais ou est tu !?
+
+We are at half a day from our final destination, by the time that you wake up I'm sure that we will be there!
+Nous sommes à une demi journée de notre destination finale, et au moment où tu te réveilleras, je suis certain que nous y serons déjà !
+
+We speak various languages on this world. Let's try gesturing!#0
+Heureusement, nous parlons plusieurs langues. Essayons de faire des gestes!#0
+
+We speak various languages on this world. Let's try gesturing!#1
+Heureusement, nous parlons plusieurs langues. Essayons de faire des gestes!#1
+
+We thought that you could help us understand this, all we know is that we found you cast in the sea, adrift on your raft.
+Nous pensions que tu pouvais nous aider à comprendre cela, tout ce que nous savons de toi c'est que nous t'avons trouvé à la dérive en pleine mer, sur ton radeau.
+
+We tried to clean them but the sea water mostly destroyed them. It's why we gave you these clothes. They're not very nice, but that's all that we have for you.#0
+On a essayé de les nettoyer mais l'eau de la mer les a principalement détruits. C'est pourquoi nous t'avons donnée ces vêtements. Ils ne sont pas super beaux mais c'est tout ce que nous avond pour toi.
+
+We tried to clean them but the sea water mostly destroyed them. It's why we gave you these clothes. They're not very nice, but that's all that we have for you.#1
+On a essayé de les nettoyer mais l'eau de la mer les a principalement détruits. C'est pourquoi nous t'avons donné ces vêtements. Ils ne sont pas super beaux mais c'est tout ce que nous avond pour toi.
+
+We're soon leaving that island, please return to your cabine.
+Nous allons bientôt quitter cette île, retourne s'il-te-plaît à ta cabine.
+
+Welcome!
+Bienvenue !
+
+Welcome! I see you have @@ Monster Points. But that isn't enough to get items at your current level, sorry!
+Bienvenue! Je vois que tu as @@ Monster Points. Mais ne ce n'est pas assez pour obtenir des objets à ton niveau actuel, désolé!
+
+Welcome! I see you have @@ Monster Points. Would you like to exchange some of those for items?
+Bienvenue! Je vois que tu as @@ Monster Points. Tu veux en échanger contre des objets?
+
+Well
+Well
+
+Well, you clearly don't have a weapon. So, let me explain some quick.
+Eh bien, vous n'avez clairement pas d'arme. Alors, laissez-moi vous expliquer ca rapidement.
+
+What are you going to do?
+Que vas-tu faire ?
+
+What can I do now?
+Que puis-je faire maintenant ?
+
+What did Gugli say about the box? Was it ok?
+Qu'est-ce que Gugli a dit à propos de la boîte? C'est bon?
+
+What if I give you 1000 GP for that job, is it ok?
+Et si je te donnais 1000 GP pour ce travail, ça va?
+
+What should I do after taking these clothes?#0
+Que dois-je faire après avoir pris ces vêtements ?
+
+What should I do after taking these clothes?#1
+Que dois-je faire après avoir pris ces vêtements ?
+
+What? This reward is too small!
+Quoi ? Ce n'est pas assez !
+
+When your inventory is open, you can equip an item by selecting it and clicking 'Equip'. You can do the same to remove an item by clicking on 'Unequip'.
+Lorsque ton inventaire est ouvert, tu peux équiper un objet en le sélectionnant puis en cliquant sur "Équiper". Tu peux faire de même pour enlever un objet en le sélectionnant puis en cliquant sur "Enlever".
+
+Where are my old clothes?
+Où sont mes anciennes affaires ?
+
+Which of your weapons do you want to use in order to cut this @@?
+Laquelle de tes armes veux-tu utiliser afin de couper cette @@ ?
+
+Which skill do you wish to change?
+Quelle compétence voudrais-tu changer ?
+
+Wisard Moccasins
+Wisard Moccasins
+
+XmasCake
+XmasCake
+
+Yaya, it certainly was not from a trade ship, but it doesn't looks like it was from a pirate ship either. Well, that's not important now.#0
+Yaya, ce n'était certainement pas un navire de commerce, mais il ne semble pas non plus provenir d'un bateau pirate. Eh bien, ce n'est plus important maintenant. #0
+
+Yaya, it certainly was not from a trade ship, but it doesn't looks like it was from a pirate ship either. Well, that's not important now.#1
+Yaya, ce n'était certainement pas un navire de commerce, mais il ne semble pas non plus provenir d'un bateau pirate. Eh bien, ce n'est plus important maintenant. #1
+
+Yaya, you should go see her! She'll be happy to see you.#0
+Ayaya, tu devrais aller la voir ! Elle sera contente de te voir.
+
+Yaya, you should go see her! She'll be happy to see you.#1
+Ayaya, tu devrais aller la voir ! Elle sera contente de te voir.
+
+Yayayaya, it's the first time someone is dressed worse than us!
+Yayayaya, c'est la première fois que quelqu'un est encore moins bien habillé que nous !
+
+Yellow Cotton Dye
+Teinture Coton Jaune
+
+Yes I am.
+Oui je le suis.
+
+Yes, I do.
+Oui, j'en ai une.
+
+Yeti King
+Yeti King
+
+Yeye, you are really lucky to be alive. You are in good enough shape for walking, do you remember what happened?#0
+Youiyoui, tu as de la chance d'être vivante. Tu es suffisamment assez en forme pour marcher, te souviens-tu ce qu'il t'es arrivée ?
+
+Yeye, you are really lucky to be alive. You are in good enough shape for walking, do you remember what happened?#1
+Youiyoui, tu as de la chance d'être vivant. Tu es suffisamment assez en forme pour marcher, te souviens-tu ce qu'il t'es arrivé ?
+
+Yeye, you still did not get your new clothes from the chest next to your bed!#0
+Eh, tu n'as toujours pas pris tes vêtements dans le coffre près de ton lit !
+
+Yeye, you still did not get your new clothes from the chest next to your bed!#1
+Eh, tu n'as toujours pas pris tes vêtements dans le coffre près de ton lit !
+
+Yeye.
+Oui.
+
+You already did enough for us, do you want to follow Nard's advice and get some rest?
+Tu en a fait assez pour nous, veux-tu suivre les conseils de Nard et te reposer ?
+
+You are exhausted, you should rest a bit.#0
+Tu es épuisée, tu devrais te reposer un peu.
+
+You are exhausted, you should rest a bit.#1
+Tu es épuisé, tu devrais te reposer un peu.
+
+You are new around here, right?#0
+Tu es nouvelle par ici, pas vrai ?
+
+You are new around here, right?#1
+Tu es nouveau par ici, pas vrai ?
+
+You can also read The Book of Laws at any time to see the rules.
+Tu peux aussi lire le Livre des Lois à n'importe quel moment pour revoir les règles.
+
+You can get up to @@ items.
+Tu peux obtenir jusqu'à @@ objets.
+
+You caught a @@!
+Tu as attrapé une @@ !
+
+You do not have enough Esperin on your bank account.
+Tu n'as aucun Esperin dans ton compte en banque.
+
+You do not have enough Esperin on yourself.
+Tu n'as pas assez d'Esperins sur toi.
+
+You do not seem to have enough money, come back later!
+Il semblerait que tu n'aies pas assez d'argent, reviens plus tard !
+
+You faint from the pain, but at least now, you are in good hands.
+Vous vous évanouissez de la douleur, Mais bon au moins vous etes entre de bonne mains.
+
+You have an awful case of amnesia.
+Tu as un cas très grave d'amnésie.
+
+You have too much points. I can't allow you to take all at once right now. I'll try to give you 50, and you come back later!
+Tu as trop de points. Je ne peux pas te permettre de tout prendre d'un coup. J'essaierai de t'en donner 50, et tu reviendras plus tard!
+
+You hear a loud scream. It must be the creaking of the wooden door...
+Tu entends un cri très fort. Ça doit être le craquement de la porte en bois...
+
+You hide your shovel.
+Tu caches ta pelle.
+
+You hit too hard with your fist, you destroyed your @@.
+Tu as frappé trop fort avec ton poing, tu as détruit ta @@.
+
+You hold the shovel in your hands.
+Tu tiens ta pelle dans tes mains.
+
+You learn fast, good job. These clothes aren't a mighty armor, but they'll help.
+Vous apprenez vite, bon boulot. Ces vêtements ne sont pas trés puissants mais ils feront l'affaire.
+
+You made a cash deposit of @@ E.
+Tu as fait un dépôt d'argent de @@ E.
+
+You open a book named @@.
+Tu ouvres un livre appelé @@.
+
+You open the book, but it looks like the sea water and time damaged it severely. Some pages are not readable anymore. Some others are simply missing.
+Tu ouvres le livre, mais il semblerait que l'eau de mer l'ai endommagé sévèrement. Plusieurs pages ne sont plus lisibles. D'autres sont simplement manquantes.
+
+You open your eyes. The salt water is not helping your vision.
+Tu ouvre les yeux. L'eau de la mer ne te facilite pas la tache.
+
+You opened the @@ in two parts, but you crushed one of them.
+Tu as ouvert cette @@ en deux parties, mais tu as détruit l'une d'entre elles.
+
+You perfectly cut your @@ into two edible parts.
+Tu as parfaitement coupé ta @@ en deux parties comestibles.
+
+You receive @@ E!
+Tu reçois @@ E !
+
+You received one @@!
+tu as reçu un @@!
+
+You see a dust covered book on the shelf...
+Tu vois un livre recouvert de poussière sur l'étagère...
+
+You still have @@ Monster Points! Do you want more items?
+Tu as @@ Monster Points ! Tu veux plus d'objets ?
+
+You were yaying sleeping for quite some time there. Our shipkeeper, Juliet, was here with you, and she did her best to heal your injuries.#0
+Vous avez dormi pendant un certain temps ici, Notre lieutnant, Juliette, était ici avec vous et elle a fait de son mieux pour soigner vos blessures.#0
+
+You were yaying sleeping for quite some time there. Our shipkeeper, Juliet, was here with you, and she did her best to heal your injuries.#1
+Vous avez dormi pendant un certain temps ici, Notre lieutnant, Juliette, était ici avec vous et elle a fait de son mieux pour soigner vos blessures.#1
+
+Your body aches. You can't remember what happened. But this is not important now. The ships sailors are shouting at you!
+Tu ressens de forte douleur, Il est impossible de te souvenir ce qu'il est arrivé. Mais bon esque ç'est vraiment le moment de réfléchir à ca ? quand les marins te font des signes et crient dans ta direction!
+
+Your hands are too weak, you did not succeed in opening this @@.
+Tes mains sont trop faibles, tu n'as pas réussi à ouvrir cette @@.
+
+Your help is very welcome indeed. Unfortunately, I can give you a reward for the first extermination only.
+Ton aide est en effet la bienvenue. Malheureusement, je ne peux te donner une récompense seulement pour la première extermination.
+
+Your mind is set? You will loose the color dye during this process.
+Tu as fait ton choix ? Tu perdras la teinture lors de ce procédé.
+
+Your position has been saved.
+Ta position a été sauvegardée.
+
+debug
+débogage
+
+delta
+delta
+
+hairstyle_config
+hairstyle_config
+
+hinnack
+hinnack
+
+i can't reward a weak adventurer like you, Come back later.
+Je ne peux pas récompenser un faible aventurier comme toi, Reviens plus tard
+
+it look close.
+Ca a l'air fermer
+
+line @@: @@
+ligne @@ : @@
+
+marriage1
+marriage1
+
+npc2
+pnj2
+
+npc6
+npc6
+
+you allready open the chest.
+Tu as déja ouvert le coffre.
+
+you don't have the key.
+tu n'a pas la clé
+
+you got lucky and got a(n) @@!
+Tu as eu de la chance et recoit a(n) @@!
+
+you should use a key for open it.
+Tu doit utiliser une clé pour ouvrir ce coffre
+
diff --git a/langs/lang_fr.txt b/langs/lang_fr.txt
new file mode 100644
index 0000000..8a13c3d
--- /dev/null
+++ b/langs/lang_fr.txt
@@ -0,0 +1,37909 @@
+Copyright (C) 2010-2021 TMW2 Team
+ 0 This file is automatically generated. Editing it will have no effect.
+
+
+ 1 Please translate at https://transifex.com/arctic-games/moubootaur-legends/ instead.
+
+
+ Fires of Steam
+
+
+ A fair all-rounder weapon; Stronger than you would expect and not so clumsy.
+
+
+ Actually, Lalica cursed one of my firestaves and it got a mind of its own D:
+
+
+ But its splash damage does not stack, so be careful when adding options.
+
+
+ But the result is a fast weapon which is also powerful.
+
+
+ I cut it in half, and to fix shooting speed, I added some extra cogs.
+Je l'ai coupé en deux, et pour fixer la vitesse de tir, j'ai ajouté quelques rouages supplémentaires.
+
+ It can steal items or collect drops on the floor randomly. Also improves your evasion.
+
+
+ It didn't got too much lighter, and it got really weak compared to a bow.
+Il n'est pas devenu trop léger, et il est devenu très faible par rapport à un arc.
+
+ It is also much weaker and less precise than a bow. But it is so fun using...
+
+
+ It is not that amazing, though. I will trade with you for more useful items.
+
+
+ It is the same as a bow, including in penalty. But it deals splash damage!
+
+
+ It was quite a challenge, and I still need Lalica to keep curse them.
+
+
+ Oh, and it comes with added shooting range, but it is slow as hell to reload.
+
+
+ One have lots of powder to attack non-stop, but oh god that is heavy.
+
+
+ See, I was lazy and there were only short knives around... So I made a Kunai.
+
+
+ The standard gunstaff! It is way stronger than a bow!
+
+
+ Then I found out that I could set the staff in flames using Everburn Powder!
+
+
+ You know, I wanted to make the powder explode when hitting!
+
+
+ (Hinnak's and Oscar's fields Pinkies may not count)
+
+
+ -- No, wait!
+
+
+ . ´´. Don't let .. spell power .´..´ . .. fade away ...
+
+
+ Coins - Ancient Blueprint
+
+
+ Coins - Arcmage Boxset
+
+
+ Coins - Mercenary Boxset
+
+
+ Coins - Mysterious Fruit
+
+
+ It is not like you are strong enough to pick a fight with me so kindly leave before I get mad.
+
+
+ Take this key, it opens the door behind my throne.
+
+
+ What would people think of our village if they come accross a defeated noob wearing our proud colors!
+
+
+ for
+
+
+ is the Inn, and you can rent an apartment there for 30 days.
+
+
+"*psst, just follow what is outlined here to make it golden.*"
+
+
+".. can use this .. power..´. . .´. . . amplify a spell ..´.
+
+
+"Ah, hello there, @@. You've grown quite skilled lately.
+
+
+"Follow the light." - Weary traveler
+
+
+"Hey, have you already got the money necessary for the travel?
+
+
+"Many thanks! I'll be waiting for you, hiding on the ship's hold!"
+
+
+"Oh, I'm so glad you're taking care of those scary slimes. You're so brave! How many of them are still left, do you think? Will it be safe to go there soon?
+
+
+"Oh... Sorry, @@.
+
+
+"That's the only hard part. As long that you do not neglect Intelligence nor Job level...
+
+
+"Those whom believe the Pink Moouboo wear rock knifes at the entrances." - Aahna
+
+
+"Those whom stray from the light shall met a quick death." - Saulc, from the 'Blame Saulc' famous book
+
+
+"WHAT IS CRAFTED IN GUILD BELONGS TO GUILD."
+
+
+"Well, looks like you qualify!
+
+
+"When you're thirsty, you may look for me. I'm often in desert areas, but this time, the winter has come."
+
+
+"When you're thristy, you may look for me. I'm often in desert areas, but this time, the winter has come."
+
+
+##1DON'T MOVE until the signal. Stay ready! If you move, you will desync the client!
+
+
+##1The ship is under a pirate's attack! ##BKill all or survive!
+
+
+##1WARNING! WARNING! Siege starting at Candor!!
+##1ALERTE! ALERTE! Un siege débute à Candor!!
+
+##1You abused a bug and will be jailed. If this was done in error, you have found a bug. Contact the nearest developer if this is the case.
+
+
+##2 %d Days login bonus: ##B2x %s, 1x %s##b
+
+
+##2 14 Days login bonus: ##B1x %s##b
+
+
+##2 21 Days login bonus: ##B1x %s##b
+
+
+##2 27 Days login bonus: ##B1x %s##b
+
+
+##2 3 Days login bonus: ##B1x %s##b
+
+
+##2 7 Days login bonus: ##B3x %s##b
+
+
+##2Daily login bonus: ##B%d EXP##b
+
+
+##2Daily login bonus: ##B%d GP##b
+
+
+##2Daily login bonus: ##B%d Job Exp.##b
+
+
+##2Guild's Weekly login bonus: ##B%d %s##b
+
+
+##9 %%A%%A%%A: @@.
+
+
+##9 %%B%%B%%B: @@.
+
+
+##9 %%C%%C%%C: @@.
+
+
+##9 %%D%%D%%D: @@.
+
+
+##9 %%E%%E%%E: @@.
+
+
+##9 %%F%%F%%F: @@.
+
+
+##9 777: @@.
+##9 777: @@.
+
+##9.:: Second Tier Quest - Time Remaining: @@ ::.
+
+
+##9Hey wait... Your coin turned into a @@!
+
+
+##B%s: TOP 10##b
+
+
+##BFirst and foremost, you should talk to Trainer, inside the big house.##b
+
+
+##BHall Of @@: TOP15##b
+##BHall Of @@: TOP15##b
+
+##BHall Of AFK: TOP 10##b
+
+
+##BHall Of Academics: TOP30##b
+
+
+##BHall Of Aurora: TOP10##b
+
+
+##BHall Of Candor's Bloodbath: TOP 10##b
+
+
+##BHall Of Crazyfefe Fight: TOP 10##b
+
+
+##BHall Of Deaths: Reverse TOP10##b
+
+
+##BHall Of Fortune: TOP15##b
+##BHall Of Fortune: TOP15##b
+
+##BHall Of Guild Level: TOP5##b
+
+
+##BHall Of Honor: TOP 10##b
+
+
+##BHall Of Job Level: TOP15##b
+
+
+##BHall Of Level: TOP15##b
+##BHall Of Level: TOP15##b
+
+##BHall Of UDT Challenge: TOP 10##b
+
+
+##BIMPORTANT:##b People usually doesn't shout, they talk. Because this, if you are too far, an NPC won't hear you.
+
+
+##BLatest GM Commands##b
+##BDernière commandes GM##b
+
+##BNOW YOU HAVE DONE IT!##b By the powers to me vested as a Constable and Game Master, I sentence you to HALF AN HOUR IN A %s!
+
+
+##BSincerity Island##b
+##BSincerity Island##b
+
+##BYou were robbed##b by an evil NPC.
+##BVous venez de vous faire voler##b par un méchant PNJ
+
+##a(it would be way too messy anyway)##0
+
+
+%%1 Cheer up, these should go back to normal when you level up. Just don't do that again!
+
+
+%%3 You sadden me. That was so, so lame. I will need to punish you. Sorry. Superior orders. %%S
+
+
+%%4 Haven't you read your Grimorium yet?!
+
+
+%%8
+
+
+%%@
+%%@
+
+%%@ Then wait until Saulc says they are safe!
+
+
+%%@ You can get Magic by joining class and subclass, and with some NPCs. These work out-of-box. Easy.
+
+
+%%A
+%%A
+
+%%B
+%%B
+
+%%C
+%%C
+
+%%D
+%%D
+
+%%E
+%%E
+
+%%F
+%%F
+
+%%G
+
+
+%%G Just like normal magic, you need power from the Mana Stone, which is based on your levels, intelligence, and mana.
+
+
+%%H
+
+
+%%K
+
+
+%%N
+
+
+%%Q
+
+
+%%\\ that'll do.
+
+
+%%g
+
+
+%%i What, my maximum life and mana just decreased! Noooo!!
+
+
+%%t
+
+
+%d day streak! Gained %d bonus %s!
+
+
+%d vs %d: Honor (%d)
+
+
+%d/%d %s
+
+
+%d/%d %s killed
+
+
+%s
+
+
+%s %d pts - %d %s
+
+
+%s %s will require:
+
+
+%s (rare)
+
+
+%s - %s/%s HP, %s/%s MP
+
+
+%s - Modify Race
+
+
+%s But please be quick! I feel this world doesn't have much time left!
+
+
+%s GP and %d REP.
+
+
+%s Hero
+
+
+%s Monster Points, and a %s. That's my final offer.
+
+
+%s can also be obtained from %s, at a lower drop rate.
+
+
+%s died for your cause. How do you explain this?
+
+
+%s disembarks at %s.
+
+
+%s eyebrow furrows, as he brings the map closer to a torch.
+
+
+%s has EXILED %s from %s.
+
+
+%s has protected themselves from prying eyes. Your scry attempt failed.
+
+
+%s is a legendary hero.
+
+
+%s is by becoming a %s.
+
+
+%s is by impressing the town guard.
+
+
+%s is currently a staff member.
+
+
+%s is currently sponsoring the High Alliance.
+
+
+%s is happy because you've paid %d GP in taxes!
+
+
+%s is known as the Wizard of Aethyr. They say the elves which lived in Aethyr have became fairies, but contact has been lost long ago... I've heard it was a very pretty town north of here, though.
+
+
+%s is obtained during events, daily logins, heroic deeds, gifts, etc. But cannot be bought with real money.
+
+
+%s lifts an eyebrow to you.
+
+
+%s makes a confused face.
+
+
+%s makes specialized weapons for high level players. If you tweak with Nicholas, in Hurnscald, the weapon options, you can get really powerful.
+
+
+%s refunded to level 1 for %d MSP
+
+
+%s removed - YOU NOOB STOP CHEATING %%e%%Q
+
+
+%s seems to be asleep... Maybe we can wake him up somehow?
+
+
+%s slain!
+
+
+%s slaps you!
+
+
+%s stabs you to the chest!
+
+
+%s stabs you with a dagger!
+
+
+%s takes a paper from his drawer. It has your photo on it.
+
+
+%s thinks if she knows any major, good quest to do.
+
+
+%s! I see you are a(n) %s here, very good!
+
+
+%s, %s in Magic Arts, Parity Level %d, tier %d mage.
+
+
+%s, a bit upset, tries to change subjects.
+
+
+%s, how in the world you got this status ailment?!
+
+
+%s, the Forgetful
+
+
+%s, you are pathetically weak.
+
+
+%s, you did your best to avenge a fallen comrade. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+
+%s, you did your best to entertain me. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+
+%s, you did your best to protect this world inhabitants. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+
+%s, you proved your worth today. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+
+%s, you're a good student. You will have a bright future if you keep studying.
+
+
+%s, your dedication is touching. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+
+%s... While you don't have the title of %s nor the flower of fae, nor have anything remotely important on your persona...
+
+
+%s/%s GP
+
+
+%s: %s (Lv %d) has appeared!
+
+
+%s: Once accepted, you must complete them before taking another one.
+
+
+%s: Thanks for helping.
+
+
+%s? You don't look so well. You should see a doctor immediately!
+
+
+%ss are lead by the %ss. Disposing of them would bring the bandits into disarray.
+
+
+%ss have infested the store houses, spilling onto the streets. Stop them from destroying even more food.
+
+
+'-' "Could you give me his shield? Pretty please? I need it to survive and bring Tulimshar goodies!"
+
+
+'.' "I forgot how to allocate points!"
+
+
+'Best'? So you can make other things?
+
+
+'Some herbs and potion'? Could you be more specific?
+
+
+'Them' whom?
+
+
+(...This probably could have been a great hint... if I knew who Mercury in first place %%L)
+
+
+(10,000 GP) Epic Mount
+
+
+(A mystical aura surrounds this stone. It probably can return you home. What do you do?)
+
+
+(A mystical aura surrounds this stone. You feel mysteriously attracted to it. Something tells you to touch it. What do you do?)
+
+
+(A strange barrier keeps you from touching the stone at this time.)
+
+
+(A strange sensation flows through you. It feels like your soul leaves your body and becomes one with the stone. As suddenly as the feeling started it stops.)
+
+
+(All items must be placed exactly in this order.)
+
+
+(As suddenly as the feeling started it stops. The strange attraction is away from one moment to the next and the menhir feels like just an ordinary stone.)
+
+
+(Click next button to advance dialogs)
+
+
+(Don't respond)
+
+
+(Drink the tea, hoping for the best)
+
+
+(Even bandits doesn't breaks the rules. To see the rules, use ##B@rules##b.)
+
+
+(If you don't have anyone special to send these, send to @@. Perhaps they'll calm down with those T.T)
+
+
+(Leave the password blank to disable)
+
+
+(Note: Agostine will destroy low quality materials!)
+
+
+(Passive) Increases Mana EXP/Control Gain rate.
+
+
+(Passive) Raise Max HP and Holy Defense.
+
+
+(Protip: Always use %s before engaging a different monster!)
+
+
+(Suddenly a strange sensation flows through you. It feels like your soul leaves your body and becomes one with the stone.)
+
+
+(The girl now looks away sadly, thinking about what to say next.)
+
+
+(To see the rules, use ##B@rules##b.)
+
+
+(You touch the mysterious stone. Somehow it feels warm and cold at the same time.)
+
+
+(shivering) "Ah, how I am afraid of pious!"
+
+
+* %d %s
+
+
+* %d/%d %s
+
+
+* %d/%d MSP (Magic Skill Points)
+
+
+* %s
+
+
+* %s Level up
+
+
+* %s/%s RP (Research Points)
+
+
+* (optional) Save the world!
+
+
+* +%d%% EXP Gain and Drop Chance, permanently
+
+
+* +1 Magic Skill Point
+
+
+* +1 in all attributes, permanently
+
+
+* +3 Inventory Slots
+
+
+* 1 %s
+
+
+* 1 Trait
+
+
+* @@ @@
+
+
+* @@ Water Bottle
+
+
+* @@/12 @@
+* @@/12 @@
+
+* @@/2 @@
+* @@/2 @@
+
+* @@/200 GP
+
+
+* @@/30 @@
+* @@/30 @@
+
+* @@/6 @@
+* @@/6 @@
+
+* @@/7.500 GP
+* @@/7.500 GP
+
+* @@/8 @@
+* @@/8 @@
+
+* @@/@@ @@
+
+
+* @@/@@ Base Level
+
+
+* @@/@@ GP
+* @@/@@ GP
+
+* @@/@@ Job Level
+
+
+* Acquired @@ @@!
+
+
+* Aid the Blue Sage in getting Peetu back to action
+
+
+* Ask Zegas, the mayoress, if she needs help.
+
+
+* Cards will be deleted after transfer is done.
+
+
+* Causes splash damage, and are very expensive.
+
+
+* Collect @@/@@ GP
+
+
+* Defeat the Assassin
+
+
+* Deliver Nikolai's Letter to Frostia Mayor
+
+
+* Donate blood at least once.
+
+
+* Find clues
+
+
+* Gained %d EXP and %d Job EXP
+
+
+* Gained @@ EXP and @@ Job Exp
+
+
+* Gained @@ GP
+
+
+* Get trained by Valon, in the big house.
+
+
+* Has non-cumulative area of effect damage.
+
+
+* Healing items improved
+
+
+* Help Ayasha to take care of the kids.
+
+
+* Huge damage and more criticals, but slow fire rate.
+
+
+* Impress %s
+
+
+* Invade the Fortress Town
+
+
+* Item obtained: %s
+
+
+* Lightbringer is self-aware and cannot be given.
+
+
+* Low damage, highest attack speed from all.
+
+
+* Mage
+
+
+* Meet the Blue Sage
+
+
+* More equipment coming soon...
+
+
+* More for bandits than assassins or ninjas.
+
+
+* Options will be removed after transfer is done.
+
+
+* Refine will be lost after transfer is done.
+
+
+* Register as a Craftsman/Craftswoman.
+
+
+* Register as a Monster Hunter
+
+
+* Rent a room in Frostia's Inn
+
+
+* Rest at the Inn
+
+
+* Return to Hurnscald Townhall
+
+
+* Talk to Librarian in Halinarzo
+
+
+* The only one hand ranged weapon you'll ever find!
+
+
+* Thief
+
+
+* Very quick and can be used in a single hand.
+
+
+* Very quick, two handed, and evil.
+
+
+* Win an Arena Match
+
+
+* become @@ Hero
+
+
+*-* "Could you share those blueprints with me? Please?"
+
+
+*AFK: I am Away From Keyboard*
+
+
+*CRASH*
+
+
+*CREAK*
+
+
+*Don't fail me. If you do, ensure you're well past dead before.*
+
+
+*Don't shout, you moron!*
+
+
+*Hic*
+*Hic*
+
+*I'll give you two energy balls.*
+
+
+*I'll take my leave, then.*
+
+
+*Opening eyes in a shock*
+
+
+*Roaaaaaar!*
+
+
+*The Professor will never know what got him...*
+
+
+*They* couldn't take hold of me, but I'm bound to this castle; I can't leave.
+
+
+*Ugh* Thanks for your help. Here... Take this, as promised.
+
+
+*Yes, boss!*
+
+
+*_* "Pretty please?"
+
+
+*are they gone...?*
+
+
+*beeep*
+
+
+*blushes*
+
+
+*burp*
+*burp*
+
+*chants more words, while the crystal hovers the potion*
+
+
+*cheerful*
+
+
+*click*
+
+
+*cough cough*
+
+
+*cries*
+
+
+*crying*
+
+
+*drolls*
+
+
+*eyes widen up*
+
+
+*grumpf*
+
+
+*gulp* *gulp* *gulp*
+
+
+*hehehe...*
+
+
+*hurry up, your moron!*
+
+
+*is everything ready?*
+
+
+*plim*
+
+
+*put his glasses on*
+
+
+*scream in pain*
+
+
+*scream*
+
+
+*screams*
+
+
+*sigh*
+
+
+*sigh* Yet another failure... Transmutation and Nature Magic doesn't marry well.
+
+
+*sighs*
+
+
+*snap fingers*
+
+
+*sniff sniff*
+
+
+*sniff* *sniff*
+
+
+*snooze*
+
+
+*sob sob*
+
+
+*sorry, boss!*
+
+
+*tears weeling up*
+
+
+*this sign is too blurred to read*
+
+
+*tut*
+*tut*
+
+*whisper whisper*
+
+
+*whistles*
+
+
+, and you have been banned from the Academy.
+
+
+, my name is Nikolai. I am a sage, and the owner of this place.
+
+
+- 5 @@, with 1200 GP, for a @@.
+
+
+- @@ @@
+
+
+- @@/@@ @@
+
+
+- @@/@@ GP
+
+
+- Boss give more Job experience, but as long that you keep killing, you'll keep gaining.
+
+
+- Defeat the BOSS on each dungeon!
+
+
+- Find a path to the island where she is hiding herself!
+
+
+- Get killed yourself.
+
+
+- Help the farmers. We rely a lot on agriculture.
+
+
+- I currently need your help with @@, but there's no reward.
+ J'ai actuellement besoin que tu élimine les @@. mais il n'y aura pas de récompense.
+
+- I currently need your help with @@.
+- J'ai actuellement besoin que tu élimine les @@.
+
+- I overheard rumors about a festival. Maybe someone needs help with their figurine?
+
+
+- I think you can help the storehouse for some quick cash.
+
+
+- If you fail, you'll need to pay me ingredients to try again!
+
+
+- Inside the big house is someone who can train you. All experience is handy!
+
+
+- Instead, the party will be teleported ##Bto a forest.##b
+
+
+- Luvia is a powerful mage and Isbamuth is watching, so teleporting directly would be risky.
+
+
+- Players can prevent being scry'ed with %s
+
+
+- Some information like money won't be available.
+
+
+- Some of our crew are missing. They're probably wasting their time at beach.
+
+
+- Some sailors within this ship may need your help: Chef Gado, Dan, Peter... help them all and collect rewards!
+
+
+- Target player must be online.
+
+
+- Teleport yourself away.
+
+
+- The Death of Andrei Sakar -
+
+
+- The farmer Nylo, who loves beer and money, seems to be having troubles with his crops.
+
+
+- The goal is to rescue Luvia from Isabamuth. She has been ##Bbrainwashed##b.
+
+
+- The weapon master, Tolchi, could use your help. But she will most likely force you to visit Tulimshar in the end.
+
+
+- The weapon seller, Rosen, wanted to help new players to improve their equipment.
+
+
+- There is a woman walking on the island, called Maya. Once she realises you're willing to help, she'll start paying well.
+
+
+- Time runs out (25m).
+
+
+- To donate blood, go to the hospital and ask about it.
+
+
+- You can always play with kids. Not very profitable, though.
+
+
+-- Animals Protection Agency of Hurnscald
+
+
+-- Grandmaster
+
+
+-- In such event, Candor Underground B4F will be permanently unreachable for this char.
+
+
+-- Merlin
+
+
+-- The Expedition
+
+
+-- Valia G.
+
+
+-- Zegas, the Mayoress
+
+
+--- AND ANY OF ---
+
+
+--- OR ---
+
+
+-.- "I forgot how to fight!"
+
+
+. ´ power.. drains .. life..´. .´ focus . .not move at all´. ."
+
+
+...
+...
+
+... ... ...
+
+
+... .... ....
+
+
+... that looks like an incantation or something.
+
+
+...%s, as far as you should be concerned, this is an hostile land and I'm not your friend. You should use a weapon and a shield if possible. Never trust strangers, specially if they look like an assassin... exactly like me.
+
+
+...A tower, on this canyon. People disliked it, humans and all other races. The Mana War happened, bloodshed, and... The Monster War.
+
+
+...Actually, I'm drawing in a blank.
+
+
+...Actually, you seem like a capable adventurer. If you give me some ingredients I can't get, I'll give you a @@.#0
+
+
+...Actually, you seem like a capable adventurer. If you give me some ingredients I can't get, I'll give you a @@.#1
+
+
+...Alright then.
+
+
+...Although that's unlikely, I admit.
+
+
+...And at long last, the teddy's pot is full of honey.
+
+
+...And for some reason he took the apple and went further in the caves.
+
+
+...And if you're still trying to check your pet stats, just hover it with your mouse. Thanks.
+
+
+...And stop! You took %s this time!
+
+
+...And trust me, it'll take way more than just water to put the fire down.
+
+
+...Are you crazy?
+
+
+...Are you trying to troll me?
+
+
+...As you wish.
+
+
+...Assuming you can break a Mana Stone, that is.
+
+
+...Automatically retrying...
+
+
+...Besides, I have this nice @@ with me. I'm not low-level like you.
+
+
+...Besides, I have this nice @@ with me. It's a reliable bow.
+
+
+...Blood.
+
+
+...But saving me won't be enough, so build trust by the kind gift of @@ @@. I'll be waiting.
+
+
+...But worry not, I have the right screwdriver for the job. So, are you up to bring me some Present Boxes?
+
+
+...Cocktail.
+
+
+...Coffee.
+
+
+...Dealing with scorpion stingers is a gamble, so we may need a few stingers before making a successful potion.
+
+
+...Even if this is your fault. Anyway, ##Breturn to whoever sent you here##b and begone.
+
+
+...Foolish human... Do you really think I will attend your summon?
+
+
+...Go mind your own business, %s.
+
+
+...Good luck, @@. And be careful. If Sagratha decided to flee... It might be too strong for you.
+
+
+...Have you ever gone there yet?
+
+
+...Help... Me...
+
+
+...How do you know I'm not from this world?
+
+
+...I cannot fail to notice your deeds. Very well. Under my own authority, I authorize you to climb this holy tree.
+
+
+...I deposited everything on the bank. Sorry!
+
+
+...I don't think giving it this hat will really help...
+
+
+...I don't think the teddy is sick, so there's no point giving it an Elixir.
+
+
+...I guess I can't hide anymore...
+
+
+...I have no other choice, do I?
+
+
+...I knew bandits were not be trusted, but Saul insisted in doing so. I hate him so much right now. Even if he is my brother.
+
+
+...I know it is hot in this desert, but if you don't wear some armor and a hat, monsters will get to you. Really harsh, nowadays.
+
+
+...I refuse to comment on this ridiculous idea.
+
+
+...I still need to cover up if they're mistaken. Give me a reason to tell you secrets, show me you're concerned with Tulimshar safety and don't want just to be strong.
+
+
+...I'll be back later.
+
+
+...I'll take it.
+
+
+...If they decide to do so, they'll have to deal with weak magical attacks, and with quick mana depletion.
+
+
+...If you're lucky, you can touch it and receive magic power."
+
+
+...Incidents?
+
+
+...It'll most likely attack you, instead.
+
+
+...Lalica, the witch, is still with us. And she came to complain that a petty thief stolen a very precious item of hers.
+
+
+...More bugs.
+
+
+...No reaction...
+
+
+...Not yet.
+
+
+...Of course. It was THEM. It gotta to be them!
+
+
+...Oh, right! We locked it. Uhm, we'll open it for you. Be careful.
+
+
+...Okay, I asked you to explain, and you ended up wasting my time instead. %%n
+
+
+...Okay, I guess.
+
+
+...Okay, this is not fun anymore.
+
+
+...Otherwise, they're too precious to sell to wanna be adventurers. Beer EXP Bonuses expire on death, you know?!
+
+
+...Poison.
+
+
+...Potion.
+
+
+...Tea.
+
+
+...Thanks, kind person.
+
+
+...That's your problem, not mine. I am an elf if you haven't noticed.
+
+
+...The ones who know a lot are dwarves, but they don't live here - they live with elves, it seems.
+
+
+...This %s you have there. I haven't seen one for a while.
+
+
+...Try allocating some points in agility before we continue. I think %d should be suffice.
+
+
+...Unless, of course, if you're interested in learning this art. You'll not regret it, I assure you.
+
+
+...Until one day, past the sea, in Kolev's continent, they found a mana stone. Magic. This great breakthrough saved this continent, and saved our clan as well.
+
+
+...Water.
+
+
+...Well, I'll refund you 10% because it was not utterly terrible.
+
+
+...Well, but even if Hurnscald is nearby, you are too weak. You know sometimes, ships get attacked by pirates, right?
+
+
+...What? Which item? Sorry, too much smoke around here.
+
+
+...What? You want @@? Five of them?!
+
+
+...Where's Barbara, the thief?
+
+
+...Yes. Hold tight.
+
+
+...Yes. It was there. Please report to Blue Sage at once.
+
+
+...You have courage. Many people tried and failed.
+
+
+...You need to learn magic before this equipment being useful to you in any way.
+
+
+...You still have not overcome his house.
+
+
+...You're right. My medicine cannot heal you.
+
+
+...but it is saying some stuff about a merge which happened literally eons ago.
+
+
+...but it is written in Mananese, a language you know nothing about.
+
+
+...for now.
+
+
+...who knows if there isn't a secret in that?
+
+
+...wingless humanoids.
+
+
+..Anyone there?
+
+
+.:: %s Recipe ::.
+
+
+.:: Accumulate Power ::.
+
+
+.:: Alcohol Tutorial ::.
+
+
+.:: All In One ::.
+
+
+.:: Archers Eye ::.
+
+
+.:: Area Provoke ::.
+
+
+.:: Armageddon ::.
+
+
+.:: Arrow Shower ::.
+
+
+.:: Backsliding ::.
+
+
+.:: Bear Strike ::.
+
+
+.:: Brawling ::.
+
+
+.:: Chanting ::.
+
+
+.:: Ched's Summer 2018 ::.
+
+
+.:: Ched's Summer 2019 ::.
+
+
+.:: Ched's Summer 2020 ::.
+
+
+.:: Ched's Summer 2021 ::.
+
+
+.:: Ched's Summer 2022 ::.
+
+
+.:: Chocolate Day ::.
+
+
+.:: Christmas 2018 ::.
+
+
+.:: Christmas 2019 ::.
+
+
+.:: Christmas 2020 ::.
+
+
+.:: Christmas 2021 ::.
+
+
+.:: Christmas 2022 ::.
+
+
+.:: Congratulations ::.
+
+
+.:: Congratulations! ::.
+
+
+.:: Counter Attack ::.
+
+
+.:: Create PIN Code ::.
+
+
+.:: Destructive Magic Class ::.
+
+
+.:: Easter 2018 ::.
+
+
+.:: Easter 2019 ::.
+
+
+.:: Easter 2020 ::.
+
+
+.:: Easter 2021 ::.
+
+
+.:: Easter 2022 ::.
+
+
+.:: FIND-THE-NPC 2018 MINI-EVENT WINNER ::.
+
+
+.:: FIRST PLAYER TO COMPLETE GEMINI SISTERS QUEST ::.
+
+
+.:: FIRST PLAYER TO COMPLETE HEROES HOLD MASTER DUNGEON ::.
+
+
+.:: FIRST PLAYER TO COMPLETE YETI KING QUEST ::.
+
+
+.:: FIRST PLAYER TO REBIRTH ::.
+
+
+.:: Falkon Strike ::.
+
+
+.:: Fire Arrow ::.
+
+
+.:: Fireball ::.
+
+
+.:: Firewalk ::.
+
+
+.:: First Aid ::.
+
+
+.:: Fortress Island ::.
+
+
+.:: Free Cast ::.
+
+
+.:: Free Software Day ::.
+
+
+.:: Frost Diver ::.
+
+
+.:: Frost Nova ::.
+
+
+.:: Full Throttle ::.
+
+
+.:: GEMINI ASSASSINS QUEST ::.
+
+
+.:: Gaia Break ::.
+
+
+.:: Ground Strike ::.
+
+
+.:: Hasan Scorpion Killing Challenge 2018 ::.
+
+
+.:: Hasan Scorpion Killing Challenge 2019 ::.
+
+
+.:: Hasan Scorpion Killing Challenge 2020 ::.
+
+
+.:: Hasan Scorpion Killing Challenge 2021 ::.
+
+
+.:: Hasan Scorpion Killing Challenge 2022 ::.
+
+
+.:: Healing ::.
+
+
+.:: Hit'n'Run Tactic ::.
+.:: Tactique de Hit'n'Run ::.
+
+.:: Holy Light ::.
+
+
+.:: Impressive Hero Quest ::.
+
+
+.:: International Coffee Day ::.
+
+
+.:: Judgment ::.
+
+
+.:: KAMELOT CASTLE, THE GUILD DUNGEON ::.
+
+
+.:: Last Standing Man ::.
+
+
+.:: Lightning Bolt ::.
+
+
+.:: Magic Strike ::.
+
+
+.:: Magnus Healing ::.
+
+
+.:: Main Quest 1-1 ::.
+
+
+.:: Main Quest 1-2 ::.
+.:: Quête principale 1-2 ::.
+
+.:: Main Quest 1-3 ::.
+
+
+.:: Main Quest 2-%d ::.
+
+
+.:: Main Quest 3-2 ::.
+
+
+.:: Main Quest 4-1 ::.
+
+
+.:: Main Quest 5-1 ::.
+
+
+.:: Main Quest 6-1 ::.
+
+
+.:: Main Quest 6-2 ::.
+
+
+.:: Main Quest ::.
+
+
+.:: Mana Bomb ::.
+
+
+.:: Mana Wisdom ::.
+
+
+.:: Meteor Shower ::.
+
+
+.:: Meteor Strike ::.
+
+
+.:: Mission Failed ::.
+
+
+.:: NOTABLE NAMES ON HURNSCALD LIBERATION DAY ::.
+
+
+.:: NOTABLE NAMES ON NIVALIS LIBERATION DAY ::.
+
+
+.:: Napalm Beat ::.
+
+
+.:: Nature Wall ::.
+
+
+.:: Nilfheim ::.
+
+
+.:: Open Beta 2019 ::.
+
+
+.:: PVP King Imperial Arena ::.
+
+
+.:: Physical Sciences Class ::.
+
+
+.:: Provoke ::.
+
+
+.:: Purple Day 2018 ::.
+
+
+.:: Resurrection ::.
+
+
+.:: Scholarship Class ::.
+
+
+.:: Second Tier Quest - Timed Out ::.
+
+
+.:: Server Boom ::.
+
+
+.:: Sharpshooter ::.
+
+
+.:: Stunning Strike ::.
+
+
+.:: Sudden Attack ::.
+
+
+.:: Supreme Attack ::.
+
+
+.:: TMW-2 Anniversary ::.
+
+
+.:: TMW2 Day ::.
+
+
+.:: Tempest ::.
+
+
+.:: Thanksgiving 2019 ::.
+
+
+.:: Thanksgiving 2020 ::.
+
+
+.:: Thanksgiving 2021 ::.
+
+
+.:: Thanksgiving 2022 ::.
+
+
+.:: Thanksgiving ::.
+
+
+.:: The Homunculus Keeping Manual ::.
+
+
+.:: The Mouboo Temple ::.
+
+
+.:: There are no skills ::.
+
+
+.:: This is Release 10.0 Infinity ::.
+
+
+.:: This is Release 9.5 Academy ::.
+
+
+.:: Transfer Mana ::.
+
+
+.:: Trick Dead ::.
+
+
+.:: Trickster Class ::.
+
+
+.:: Valentine Day ::.
+
+
+.:: Victory ::.
+
+
+.:: Victory Conditions ::.
+
+
+.:: WARNING ::.
+
+
+.:: Windwalker ::.
+
+
+.:: Withdraw Conditions ::.
+
+
+.:: Worker Day 2018 ::.
+
+
+.:: Worker Day ::.
+
+
+.:: World's Hero Quest ::.
+
+
+._. "What are these statuses useful for?"
+
+
+/ clear clears the text box.
+
+
+/ help explains how to use all client commands.
+
+
+/ mi does the same as @monsterinfo. Takes the monster name as argument and reports monster stats and drops.
+
+
+/ present shows the number of people in the neighbourhood.
+
+
+/ where shows the name of the map you are in.
+
+
+/ whisper [name] allows you to send a private message to the player. if [name] contains spaces, it must be enclosed in quotation marks.
+
+
+/who mostra o número de jogadores conectados no momento.
+
+
+0.0 "No no, please no! I can propose you a great deal for your silence!"
+
+
+0022#DoorUpwards
+
+
+1 Hand Swords
+
+
+1 hour
+
+
+1,000 GP
+
+
+1- Survive. If you die, you will gain nothing. And people want to kill you.
+
+
+1- The coward families, who ran away when outlook was bad.
+
+
+1- You must not be carrying anything with you.
+
+
+1. Alcyone - 5,942
+
+
+1. Cassio - 43098
+
+
+1. Duke M - 16,016
+
+
+1. Investigate Kamelot Basements
+
+
+1. Jesusalva - 65
+
+
+1. Leather - 4523
+
+
+1. Lilanna - 2498
+
+
+1. Manatauro - 29504
+
+
+1. Mathias Cronqvist - 15000
+
+
+1. You must be at the computer to play. Using a bot ##Bwhile at computer##b will be tolerated.
+
+
+1. YuckFou - 10,000,010 GP
+
+
+1. andulkaT - 100,001 GP
+
+
+1. andulkaT - 702
+
+
+1. poppet - 3056
+
+
+10 minutes
+
+
+10 seconds!
+
+
+10,000 GP
+
+
+10. ##BDo not logout##b at Botcheck area or at Jail. We cannot unjail an offline player. The opposite of rule 9: If you believe you're right, keep your ground and explain calmly what happened. We'll calmly analyse the situation. If you were jailed without guilt, an apology will be sent to you, provided this rule is not broken.
+
+
+10th Place - Saulc (8)
+
+
+11. If you believe you are Not Guilty, but the GM deemed you guilty, request a ##BCouncil Trial##b. It's your right. In a Council Trial, we'll have multiple people giving the veredict. Any player may be called to compose the council. All admins shall take part in it. An arragment relative to time, date, and number of counsellors is to be made.
+
+
+12x Strange Coins
+12x Strange Coins
+
+15 minutes
+
+
+15 minutes.
+
+
+1600 GP
+1600 GP
+
+1st Place - Jesusalva (65)
+
+
+1st Place - Mishana, LawnCable, Jesusalva, bObr
+
+
+1st Place - Povo (6 likes)
+
+
+1st step
+
+
+1° Screenshooting Contest
+
+
+2
+
+
+2 Hand Swords
+
+
+2 hours
+
+
+2,500 GP
+
+
+2- Take everything you can find. You'll be warped without equip or healing items! Kill monsters to get some stuff too!
+
+
+2- The defenders of the artifact, who lost their lives and left people behind.
+
+
+2- You must not use a cart. If you do, YOU WILL BE SEVERELY PENALIZED.
+
+
+2. ##BDo not spam nor flood.##b This rule is not limited to public chat, actions ingame can be flooding too.
+
+
+2. Alcyone - 53,057 GP
+
+
+2. Free Kamelot from its curse!
+
+
+2. Gogo VII - 103
+
+
+2. Kolchak - 63
+
+
+2. Manatauro - 4386
+
+
+2. Mathias Cronqvist - 7,423,346 GP
+
+
+2. Povo - 10203
+
+
+2. Rill - 25955
+
+
+2. Woody - 3637
+
+
+2. andulkaT - 1018
+
+
+2. andulkaT - 438
+
+
+2. andulkaT - 6,000
+
+
+2. seeds - 1167
+
+
+20 Common Carps
+
+
+200 years ago, The Great Fire (%dm)
+
+
+2018 Event Winners
+
+
+2019 Event Winners
+
+
+2020 Event Winners
+
+
+2021 Event Winners
+
+
+2022 Event Winners
+
+
+20x Bug Leg
+
+
+250,000 GP
+
+
+2nd Place - Kolchak (63)
+
+
+2nd Place - Manatauro (5 likes)
+
+
+2nd step
+
+
+2x Bronze Gift
+2x Bronze Gift
+
+2x Snake Egg
+2x Snake Egg
+
+2° Screenshooting Contest
+
+
+3
+
+
+3- All items from the Arena are from the Arena. You won't carry any of them back with you.
+
+
+3- The ancient families.
+
+
+3- Trust nobody. There can be only one winner, and it must be you.
+
+
+3. ##BDo not trade invalid items, or try to cheat on trades.##b This includes any other kind of cheat or bug abuse, passive of account deletion and IP ban as stated by the Terms Of Service.
+
+
+3. G II - 4151
+
+
+3. Jesusalva - 310
+
+
+3. Povo - 1,275,000 GP
+
+
+3. Sharli - 4,419
+
+
+3. Woody - 1066
+
+
+3. Xanthem - 56
+
+
+3. YuckFou - 9537
+
+
+3. caslu_jpg - 50
+
+
+3. dangerDuck - 1225
+
+
+3. luanaf - 20837
+
+
+3. poppet - 20,010 GP
+
+
+3. poppet - 71
+
+
+30 minutes
+
+
+30x Bug Leg
+
+
+3rd Place - Woody (4 likes)
+
+
+3rd Place - Xanthem (56)
+
+
+3rd step
+
+
+4 Chagashrooms for a Strength Potion!
+
+
+4 Plushrooms for a Haste Potion!
+
+
+4- Experience and Gold earned during this event can be kept.
+
+
+4- Take Care. Wildlife can kill you too. There can be traps.
+
+
+4. ##BRespect other players.##b This includes but is not limited to using offensive language in nicknames or chat, and begging items or favours to other players.
+
+
+4. Amdros - 1113
+
+
+4. Hocus - 17260
+
+
+4. Mathias Cronqvist - 2000
+
+
+4. Povo - 3999
+
+
+4. dangerDuck - 540
+
+
+4. poppet - 3,826
+
+
+4. seeds - 43
+
+
+40/40 slayed @@
+
+
+4144's Tortuga
+
+
+42
+
+
+45 minutes
+
+
+4th Place - seeds (43)
+
+
+4th step
+
+
+5 @@ can be fused in a @@
+
+
+5 minutes
+
+
+5 seconds!
+
+
+5,000 GP
+
+
+5- Trust yourself. You will lose the moment you enter in panic. This arena is not for the weak-willed!
+
+
+5. ##BThe public chat is to be understood by everyone.##b Therefore, try to use english when possible.
+
+
+5. Heaven - 501
+
+
+5. Heaven - 806
+
+
+5. Woolie - 3345
+
+
+5. Xanthem - 615
+
+
+5. dangerDuck - 23
+
+
+5. girl flapper - 2,487
+
+
+5. seeds - 13395
+
+
+50 Aquadas
+
+
+50,000 GP
+
+
+5000 GP? That sure is a lot of gold...
+
+
+5th Place - Demure
+
+
+5th Place - dangerDuck (23)
+
+
+5x Strange Coins
+
+
+6. ##BDo not create multi accounts.##b A person may only hold one account and as many chars as allowed by the server/client. Staff members with special privileges in-game may have a second account without those privileges.
+
+
+60 seconds
+
+
+6th Place - test123 (20)
+
+
+7
+7
+
+7 Grass Carps
+
+
+7. ##BAs long as you have an account, you agree with the [@@https://tmw2.org/legal|Terms Of Service@@]##b. Shall any rule conflict with these terms, the Terms Of Service provided on that link shall prevail.
+
+
+7th Place - Sertrop (17)
+
+
+8 Croconuts
+
+
+8. ##BThe use of real money is prohibited##b for ingame stuff, except by sponsoring.
+
+
+87 Plushrooms
+
+
+8th Place - Pookie (13)
+
+
+9. ##BAdmit when you're wrong.##b Users trying to lie to or fool GMs will get no pity from them.
+
+
+9th Place - LawnCable (13)
+
+
+:) "A pleasure to trade if you. Don't get caught if you're doing something wrong!"
+
+
+:/ "Hmm... let me see... Aha, I know! I can make you a great bandit with a simple burglar mask!"
+
+
+:< "Hey hey! Where's the money?"
+
+
+:< "Never lie to me. Keep your end on the bargain! Give me everything I asked for!"
+
+
+:> "Hello, youngling..."#0
+
+
+:> "Hello, youngling..."#1
+
+
+:D "Ah! Yes, that would help a lot! I don't need anything a bandit couldn't give you: 25 @@, 5 @@, 2 @@ and a @@. And 6000 GP."
+
+
+:D "Excellent! You've kept your end on the bargain!"
+
+
+:D "HAHAHAHAH! Me?! a thief? only during free time..."
+
+
+:P "I am busy, leave me alone."
+
+
+:o "What? I'm not a bandit! But it looks SO COOL! Do you need anything while you're here?"
+
+
+;-) "Don't worry! Leave to me!"
+
+
+== If you decide to complete the quest you cannot repeat it.
+
+
+>.< "The Dummy is a real killer!"
+
+
+>.> "Sorry pal, I have no idea what she meant by that."
+
+
+>:| "Go take the items and remember: Not even a single word about me!"
+
+
+>> Hurnscald must be Liberated first, to continue this story <<
+
+
+???
+???
+
+??? : Are you trying to steal MY treasure?!
+
+
+??? : I am Pirate Captain Marley, and on the honor of my pirates...
+
+
+??? : Wait, how did you got here? WHO ARE YOU?
+
+
+???#01863
+
+
+@@
+@@
+
+@@ - @@ - @@
+
+
+@@ - @@ coins
+
+
+@@ - @@ point(s)
+
+
+@@ @@ @@
+@@ @@ @@
+
+@@ @@ killed.
+
+
+@@ Dummy
+@@ Dummy
+
+@@ Recipe
+
+
+@@ You need to wait further releases to continue this quest!
+
+
+@@ and @@ just got married!
+@@ et @@ sont maintenant mariés !
+
+@@ and I signed this letter. Deliver it to Airlia on the Town Hall, and she'll reward you correctly.
+
+
+@@ boxes of chocolate were given to you as a gift.
+
+
+@@ burst in tears.
+
+
+@@ calms a bit.
+
+
+@@ determines how many blows you can take before you die. It also affects status effects, like poison.
+
+
+@@ disembarks at Hurnscald.
+
+
+@@ disembarks at Nivalis.
+
+
+@@ disembarks at Tulimshar.
+
+
+@@ divorced!
+@@ a divorcé !
+
+@@ drolls without realizing.
+
+
+@@ glances at you, suspicion evident in her eyes.
+
+
+@@ glares at you in anger.
+
+
+@@ goes away for a while and returns briefly.
+
+
+@@ hands you an @@.
+
+
+@@ has the clear smile of victory!
+@@ lâche le sourire de la victoire!
+
+@@ helps you carry more items and also gives you a more forceful blow, but ends up not being very interesting if you focus on weapons that use projectiles, such as the bow.
+
+
+@@ is a two-handed weapon with very low damage and attack speed.
+
+
+@@ is an expensive, rare, and dangerous item. Do not shake it too much, or it will catch fire.
+
+
+@@ is developing these potions.
+
+
+@@ is on the verge of crying again. Better leave out and look for Elias.
+
+
+@@ is very useful for alchemy and magic, but nowadays there are few opportunities to use it.
+
+
+@@ latches onto you and starts sobbing on your shoulder.
+
+
+@@ melt down your @@...
+
+
+@@ nods as she notices you.
+
+
+@@ nods reluctantly.
+
+
+@@ nods.
+
+
+@@ pinkies killed on @@'s field.
+
+
+@@ raise an eyebrow as you hand him Gelid's letter.
+
+
+@@ raises an eyebrow as you address her.
+
+
+@@ registered for marriage and accepted partner @@!
+@@ s'est enregistré pour le marriage et a accepté le partenaire @@ !
+
+@@ seems to be trembling with disgust as she stares at your headgear.
+
+
+@@ seems to be upset.
+
+
+@@ snarls.
+
+
+@@ stares you as you slowly get away from him. Odd person.
+
+
+@@ started disarm process. Please stand by.
+
+
+@@ stops, and keep silent for a while, thinking, before continuing.
+
+
+@@ uses his screwdriver and open the sealed gift box like a pro.
+
+
+@@ waits for their loved one.
+
+
+@@!
+
+
+@@'s Apartment
+
+
+@@'s Estate
+
+
+@@, do you need help? Are you lost? Click me!
+@@, as-tu besoin d'aide? Es-tu perdu? Clique sur moi!
+
+@@, do you need help? Are you lost? Talk to me!
+
+
+@@, don't jump there! It may be fatal!
+
+
+@@, watch out! The obelisk - it is talking!
+
+
+@@, we are counting on you! We, the whole Hurnscald town!
+
+
+@@, we should leave here now.
+
+
+@@, your party leader, is inside, I'm not sure where.
+
+
+@@. PK, however, is allowed!
+
+
+@@... I think something went wrong... RUN!!
+
+
+@@/1 @@
+
+
+@@/1 Mana Bug
+@@/1 Mana Bug
+
+@@/10 @@
+
+
+@@/10 @@ for 1 @@
+
+
+@@/10 Maggots
+@@/10 Maggots
+
+@@/10 Rattos
+
+
+@@/100 @@
+
+
+@@/100 Red Scorpions
+
+
+@@/1000 GP
+
+
+@@/12 @@
+
+
+@@/120 @@
+
+
+@@/120 GP
+
+
+@@/15 @@
+
+
+@@/150 @@
+
+
+@@/2 @@
+
+
+@@/2 Scorpion
+@@/2 Scorpion
+
+@@/20 @@
+
+
+@@/20 @@ (or @@)
+
+
+@@/200 Black Scorpions
+
+
+@@/25 @@
+
+
+@@/25 Cave Maggots
+
+
+@@/3 @@
+
+
+@@/3 Candor Scorpions
+@@/3 Candor Scorpions
+
+@@/30 @@
+
+
+@@/4 @@
+
+
+@@/4 House Maggots
+
+
+@@/40 @@
+
+
+@@/40 Fire Goblins killed
+
+
+@@/40 slayed @@
+
+
+@@/45 @@
+
+
+@@/5 @@
+
+
+@@/50 @@
+
+
+@@/50 Cave Snakes
+
+
+@@/55 @@
+
+
+@@/60 @@
+
+
+@@/6000 GP
+
+
+@@/7 @@
+
+
+@@/8 @@ for 1 @@
+
+
+@@/8 @@
+
+
+@@/8 @@, just because I'm hungry as a bear.
+
+
+@@/80 @@
+
+
+@@/9 @@ for 1 @@
+
+
+@@/?? @@
+
+
+@@/@@
+@@/@@
+
+@@/@@ @@
+
+
+@@/@@ @@ killed
+
+
+@@/@@ GP
+
+
+@@: @@/@@
+
+
+@@: Fight!
+
+
+@@: Lv @@
+
+
+@commands lists even more advanced commands, but you can't use all of them.
+
+
+@discord allows you to setup Discord integration settings.
+
+
+@info and @tutorial will, using Jesusalva's powers, allow you to contact me anywhere for info.
+
+
+@lang allows you to change game language, anytime, anywhere.
+
+
+@rentitem <item numeric id> <time in seconds>
+
+
+@resync will help when the client starts lagging. If you see an attack but no monsters, that's the cause.
+
+
+@resyncall is the more powerful version of @resync. It'll reload everything, even the clouds if needed.
+
+
+@rules will tell you all the rules once again.
+
+
+@toevent will warp you to event island, if an event is happening, of course.
+
+
+@ucp allows you to manage your account, eg. recover lost email.
+
+
+A GM has discharged you from jail.
+Un MJ t'a libéré de prison.
+
+A Game Master is required to begin the Liberation Day.
+
+
+A Miner is a must-have for a craftsman/craftswoman, as they are in constant need of ores and coal.
+
+
+A bit longer and I would have jailed you %%\\
+
+
+A bright and mysterious mushroom!!!
+
+
+A bug was found. Aborting script.
+
+
+A card will be flipped, you'll need to decide if next flip will be HIGHER or LOWER.
+
+
+A close inspection reveals nothing out of ordinary. It seems to be well kept.
+
+
+A close inspection suggests the lock was busted. You approach to inspect.
+
+
+A closer inspection suggests this mouboo has been... CURSED.
+
+
+A color sequence will be displayed on the avatar frame.
+
+
+A complex lock seems to be posing a threat to you.
+
+
+A critical hit deals added damage and disregards defense. A critical always hit, although it can be blocked just fine.
+
+
+A dagger is stuck to your heart.
+
+
+A dangerous boss room, keep your guard up!
+
+
+A disarm process is already running.
+
+
+A dungeon is burried in @@, (@@, @@)
+
+
+A few families, also known as the Ancient Families of the Soul Menhir (for whatever reasons that may be), departed.
+
+
+A few switches aren't triggered yet.
+
+
+A few times during the year, an independent team organizes a world exposition of special relics.
+
+
+A few times during the year, the "golden wave" migrates from the north pole to the south pole.
+
+
+A fire broke out in Tulimshar's Academy, which quickly spread over the whole town... And you would think it would be all, but no. The fire was odd.
+
+
+A friend of yours called LOF BOT asked for a coin...
+
+
+A game is currently going on, please wait for it to finish.
+
+
+A global announcement will be made.
+
+
+A golden pot in woodlands shall reward those who wear green.
+
+
+A good thing we still use sturdy standard steel grating on the emergency exit which lead to Nivalis. I can't imagine how bad the incident would be wasn't for that.
+
+
+A great rush of mana flows though you.
+
+
+A group of %ss are threatening the city. Go to the Desert Canyon and teach them a lesson.
+
+
+A guy named Hasan stole from me!
+
+
+A hooded man attacked me, and left me in this state.
+
+
+A large number of %ss have been sighted. Both the sewer and the mines have been infested, they have even been spotted in the city wall!
+
+
+A light magic barrier prevents you from entering.
+
+
+A magic barrier prevents you from enterering. Maybe it is a good idea to shut down the pentagrams first?
+
+
+A masterpiece!... Whaaaat, this stuff got ##Bweaker##b??
+
+
+A minimum of %d players at the time of start is required!
+
+
+A mission well done. I should report to lua now.
+
+
+A new Dream Tower opens its gates before you...
+
+
+A new pet has been unlocked on the @@!
+
+
+A pity a friend of ours drank too much. Juliet knows how to cure. We need to give her a @@ to do a hangover potion.
+
+
+A pity that without being born with magic, you need a Mana Stone... And there are none left...
+
+
+A pity...
+
+
+A player may be the town admin of several different towns.
+
+
+A powerful door is sealed shut. It has no keyhole, but I'm sure it can be opened somewhere else on these caves.
+
+
+A powerful magic barrier prevents passage. %d %s should suffice to dispel... Maybe.
+
+
+A powerful magic barrier repeals you!
+
+
+A powerful magic barrier repels you!
+
+
+A previous exp rate up event is already ongoing.
+
+
+A ranger, with a powerful bow
+
+
+A reward is promised to those whom cooperate.
+
+
+A script error happened, please report: @@
+
+
+A sec... And... Done! I just finished cleaning it up!
+
+
+A shame there are snakes below the ground. I really, really hate snakes, like every fairy.
+
+
+A ship travel will cost you @@ GP.
+Un voyage en bateau te coûtera @@ GP.
+
+A single switch is not online - Cannot pass without all of them on.
+
+
+A skill has been removed, you got @@ job exp and @@ Strange Coin as an apology token.
+
+
+A skill has been replaced with an @@.
+
+
+A slime drips in front of you and explodes!
+
+
+A soldier, with a sword and a shield
+
+
+A stone seemed to be loose, but you barely managed to avoid falling!
+
+
+A sunny and hot day,
+Un jour chaud et ensoleillé,
+
+A treasure is burried in @@, (@@, @@)
+
+
+A tree glows in this dark cave, surrounded by mana lanes.
+
+
+A violent fire is less than a great fire, but devasting fire will be even more than these.
+
+
+A visitor? I don't really pay attention to visitors, unless it's someone notable.
+
+
+A warrior, with a long blade
+
+
+A wizard, with a might wand
+
+
+A-hoy matey!
+Eh-oh matelot !
+
+A... A sabotage?! O.o
+
+
+A... Mouboo? Well, I know who can handle curses on cute Mouboos.
+
+
+AAAAAAAHHHHH, Thanks, I am lively again!
+
+
+AAAAaaahhhhh!!!
+
+
+AAH! You scared me!
+
+
+ADMIN Cap
+ADMIN Cap
+
+AF King
+
+
+AFK Cap
+
+
+AFK skill levels fixed.
+
+
+AFTER THEM!!
+
+
+AH!
+
+
+ALL
+
+
+AND YOU ARE NOT WELCOME HERE!!
+
+
+ANISE Incorporated is the biggest company in warp technology!
+
+
+ARE YOU SURE?
+
+
+ARE YOU SURE? THIS CANNOT BE UNDONE LATER!!
+
+
+ATK = 25%%, LUK = 0, Slow down
+
+
+Aaaaaaaahhhhh.... Much better now *hic*.
+
+
+Aaaaaaah, boy... Just let me drink in peace.#1
+
+
+Aaaaaaah, gal... Just let me drink in peace.#0
+
+
+Aaaaaahhh... Oui, that's a good wine! So, what will it be?
+
+
+Aahna
+Aahna
+
+Abandoned Diary#jak1
+
+
+Abandoned Fountain#MKH
+
+
+Abandoned House#MKH1
+
+
+Abandoned House#MKH2
+
+
+Abandoned House#MKH3
+
+
+Abandoned House#MKH4
+
+
+Abandoned House#MKH5
+
+
+Abandoned House#MKH6
+
+
+Abort
+Abandonner
+
+Abort (%d GP)
+
+
+Abort.
+
+
+About Scoreboards and Honor Points
+
+
+About the Prophecy... What about Elves? Orcs? Redys? Etc.?
+
+
+About the items you asked me to collect...
+
+
+About this pirate treasure map...
+
+
+Absolutely not, but not may job offers nowadays.
+
+
+Abuse can be determined by your peers or by the grandmasters, so be careful.
+
+
+Academy Guard#EP
+
+
+Acc. and Evade -25%%
+
+
+Accept
+
+
+Accept offer?
+
+
+Accept quest?
+
+
+Access to basement was granted!
+
+
+Accessories
+
+
+According to the Guide, space is ____?
+
+
+According to the Holy books of a parallel world, Christmas is an event to celebrate the birth of someone very important, the son of God, whom have the promised kingdom.
+
+
+According to the prophecy, he'll not stop, until life itself as we know today is removed from existence.
+
+
+Account Bound
+
+
+Account Information
+
+
+Accumulate Power
+
+
+Accuracy +25
+
+
+Ace Ventura
+
+
+Achievements
+
+
+Acknowledgment? What do you mean?
+
+
+Acorn
+Gland
+
+Acorn Of Death
+Acorn Of Death
+
+Acquired: %s Monster Points
+
+
+Acquisition:
+
+
+Activate event?
+
+
+Active
+
+
+Actually - Do you exchange goods even more illegal goods than this?
+
+
+Actually - Do you exchange illegal... research results?
+
+
+Actually I'm responsible of dispatching mages to the Magic Academy.
+
+
+Actually not.
+
+
+Actually, Anwar offered me some ugly, bright orange pants. I thanked him, of course, I prefer this robe than... that.
+
+
+Actually, I gotta go, see ya!
+
+
+Actually, I have bad luck. Could you sell me a box full of fresh fish?
+
+
+Actually, I heard from Roger that you may need some help.
+
+
+Actually, I heard that on the cave north of me a great wizard died from a curse, but his staff would be available for any other wizard who looks.
+
+
+Actually, I need help with reagents this time. Bring me a %s and a %s and I'll gladly warp you... again.
+
+
+Actually, I see you have some @@. Ever tried a bow before?
+
+
+Actually, a tutorial would be good!
+En fait, un tutoriel serait le bien venu!
+
+Actually, about Fafi dragons...
+
+
+Actually, about the Soul Eater...
+
+
+Actually, can I return to Artis?
+
+
+Actually, could I ask you a favor?
+
+
+Actually, have you ever heard of Yeti's kidnapping little girls?
+
+
+Actually, he's just too lazy to add proper checks everywhere. If you try to cheat, you'll suffer some penalty.
+
+
+Actually, nevermind. Good bye!
+
+
+Actually, nevermind. I'll wait you grind level 25 first, then we can do this.
+
+
+Actually, nothing. Bye!
+
+
+Actually, the Dummy will not fight back. Are you afraid?
+
+
+Actually, using a byproduct of my other works and a few additional ingredients, I could make a %s
+
+
+Actually, you could be really useful testing Snake Poison. What do you think about that?
+
+
+Actually, you just took a bounty, right?
+En fait, tu viens de prendre la prime, non?
+
+Actually, you look strong...ish. Still, maybe you can help me.
+
+
+Actually. Who are you again? A headache which doesn't want to pass strikes you.
+
+
+Add a new line
+Ajouter une nouvelle ligne
+
+Additional Hunting Island will be released on Valentine Day!
+
+
+Additionally, for the optimal experience, ensure your party has at least the following members and items:
+
+
+Additionaly, all your movement will be restricted until either you're warped or log out.
+
+
+Adrian
+
+
+Advanced Dungeon (Lv 80+)
+
+
+Advanced Exchanger#0
+
+
+Advanced Magic
+
+
+Advanced Tricks
+
+
+Adventurer#0
+
+
+Adventurer#1
+
+
+Adventurer, did you brought me what I asked? I see you have @@/10 @@.#0
+
+
+Adventurer, did you brought me what I asked? I see you have @@/10 @@.#1
+
+
+Adventurer, did you brought me what I asked? I see you have @@/5 @@.#0
+
+
+Adventurer, did you brought me what I asked? I see you have @@/5 @@.#1
+
+
+Advised party size: From 3 and above
+
+
+Advised: 1+ mage, 1+ tanker, 2+ healers
+
+
+Advised: 6+ players
+
+
+Aegis Shield
+
+
+Aegis with their steadfast shield, nigh impregnable;
+
+
+Aeros Trader
+Marchand d'Aeros
+
+Aethyr Points: %s
+
+
+After about 30 minutes AFK, you won't get EXP anymore.
+
+
+After all the monsters in an area are defeated, they'll respawn at once. I know, that's not good, but well, nothing that can be done about it.
+
+
+After all, I am the Well Master!
+
+
+After all, that was two nights ago, and none of them returned...
+
+
+After all, what would you do if it open a black hole on your head by accident? %%4
+
+
+After being successful is recovering Hurnscald and Nivalis from the Monster Army, they seem to have withdrawn.
+
+
+After casting %s, you must wait %d seconds before casting it again.
+
+
+After cleaning for twelve hours straight, they allowed me to rest a bit.
+
+
+After hours of hard work...
+
+
+After that, follow the path until you reach a great chamber...
+
+
+After that, stay still and be patient, but also alert!
+Après ça, ne bouge pas et patiente, mais aussi à l'affut !
+
+After that, we're going to Tulimshar. Tulim is the most important city on the world, and the Alliance have an office there.
+
+
+After the Great Fire... you don't find our world's Elli ever again.
+
+
+After turning it upside down, it finds something which makes it really happy: %s! And there's nothing a teddy likes more than honey.
+
+
+After waiting for the oil to dry, he hands you the string.
+
+
+After you have confirmed the negotiation, a window with a vertical split will appear. The left side are the items you intend to offer in trading. The right side are the items that the other citizen intends to offer in trading.
+
+
+After your questions I'm really getting worried about this guy with the mask. In retrospect it really seems suspicous.
+
+
+Again, you don't need to do both right now, but you probably will want to. Once you have a stable alternative income, I'll have... This paperwork sorted.
+
+
+Aggressors always know when they are in danger! Therefore, they are always on standby, attacking anyone who appears ahead.
+
+
+Agi Potion
+
+
+Agi+ Potion
+
+
+Agi++ Potion
+
+
+Agility
+Agilité
+
+Agility Fruit
+
+
+Agostine
+
+
+Agostine takes the fur from your hands.
+
+
+Agostine, the Legendary Tailor
+
+
+Ah no... That's not what I had to do... I wasted the potion...
+
+
+Ah yes... I make fine @@...
+
+
+Ah!
+
+
+Ah! @@! I heard you helped Hinnak with his Pinkies problem!
+
+
+Ah! @@. A very rare drop!
+Oh! @@. C'est très rare!
+
+Ah! Actually nobody found one.
+
+
+Ah! Greedy humans! Couldn't we happy with little?
+
+
+Ah! Greedy humans! End this war which our greed has stroke!
+
+
+Ah! Greedy humans! How ignorant were we, to ever do that?
+
+
+Ah! Greedy humans! Just how big is our greed?
+
+
+Ah! Greedy humans! Stand up to save our world!
+
+
+Ah! Greedy humans! The Monster War will now rage the globe!
+
+
+Ah! Greedy humans! Things will never be as they used to be!
+
+
+Ah! Greedy humans! We pay the price for our actions,
+
+
+Ah! Greedy humans! Why did we had to fight?
+
+
+Ah! Greedy humans! Why had we to desire?
+
+
+Ah! I also want @@ @@.
+
+
+Ah! I know. Kill 10 @@. They are usually found in the fields, feeding on the crops.
+
+
+Ah! I know. Kill 10 @@. They usually are near the mine's inn.
+
+
+Ah, %s, a good thing you're here. You must help!
+
+
+Ah, @@ is so amazing!
+
+
+Ah, @@ is sooo amazing!
+
+
+Ah, @@ seems to be behind the @@ schedule again...
+
+
+Ah, @@! I'm busy now, can we talk again later?
+
+
+Ah, @@, good thing you are here.
+
+
+Ah, @@, my friend! Are you here to help us with 5 @@? Or perhaps you have 5 more @@ to show that Hurnscald is getting safer?
+
+
+Ah, @@, welcome!
+
+
+Ah, Halinarzo... Dangerous place. Tulimshar route is plagued with snakes, Hurnscald route is more often than not flooded.
+
+
+Ah, Hasan... Sorry pal, afraid I can't do anything for you. Try talking to his mother Sorfina, she is in Mahoud's house, near the Inn.#0
+
+
+Ah, Hasan... Sorry pal, afraid I can't do anything for you. Try talking to his mother Sorfina, she is in Mahoud's house, near the Inn.#1
+
+
+Ah, I am lively again. I wish I could just raise from this bed and do some exercise, but the Nurse refuses to let me go.
+
+
+Ah, I can also cure you, if you need.
+
+
+Ah, I guess you want to fight at the cave north of me...
+
+
+Ah, I hate mushrooms. Perhaps in future, I could use their spikes and mushies.
+
+
+Ah, I hate snakes. Perhaps in future, I could use their tongues.
+
+
+Ah, I have enough @@ for a life! Take this EXTREMELY RARE @@. Good job!
+
+
+Ah, I just wanted @@... Yummy, lovely @@...
+
+
+Ah, I love mouboos. But their steaks, hmm. Ah, no, I shouldn't eat that...
+
+
+Ah, I see you have some used gloves. I'm not sure if you can even mine with it...
+
+
+Ah, I see, I imagine you'll wear something different then... But please come back.
+
+
+Ah, I wish I got something for helping people out...
+Je rêve d'avoir quelque chose pour aider les gens dehors...
+
+Ah, I wonder how my mother Swezanne is faring...
+
+
+Ah, Peetu. I really appreciate his sense for high quality work. The requirements to become a helper of a sage are already high, but Peetu is outstanding. He has a talent for magic and combined with his diligence, it's quite remarkable.
+
+
+Ah, Sunday. What better time to go to church?
+
+
+Ah, but don't distress them if you can't save her! My precious daughter life is more important than anything!
+
+
+Ah, don't bother me with that. That wood must be special, it must bend and cannot break. Too difficult to find!
+
+
+Ah, fighting monsters under this desert heat makes me thirsty. But someone must do this job, otherwise Tulimshar could fall.
+
+
+Ah, getting experience is hard, too... I would stay within the city. Hit and Run tactics works the best.
+
+
+Ah, good. You didn't even bother poisoning it? Hahah, that's great, %s! Here is a couple skins I had lying around, may be useful.
+
+
+Ah, hello there! I am @@, a Redy alchemist.
+
+
+Ah, hello there, funny face! Do you want to refine items?
+
+
+Ah, hello! It is good to see another traveler in this town!
+
+
+Ah, hello.
+
+
+Ah, hello... is it @@? Nice to meet you!
+
+
+Ah, if Jack and that fisherman from Halinarzo still gave me materials...
+
+
+Ah, if it isn't @@? You're the talk of the town!
+
+
+Ah, it is not the same. Not the same.
+
+
+Ah, living in Halinarzo is so difficult...
+
+
+Ah, my daughter Silvia is so far away... But I don't want to leave the shade of this tree...
+
+
+Ah, my husband Hinnak is so hard working...
+
+
+Ah, nice to know.
+
+
+Ah, not now...
+
+
+Ah, personally I don't use it?
+Ah, personnellement je ne l'utilise pas!
+
+Ah, research points (RP). They are knowledge which can be used in honing your skills.
+
+
+Ah, so LOF Bot wants a souvenir after all!
+
+
+Ah, so you must be %s, the new guy! Yes, it is on the rooms upstairs. I'll bring you there, don't you worry a thing!
+
+
+Ah, so you think you can fool me?
+Tu crois que tu peux m'entourlouper?
+
+Ah, so you're willing to help? Great! Because I HATE THEM ALL!
+
+
+Ah, sorry, of course. I need quite a few herbs, look:
+
+
+Ah, that was tiresome... I'll go make a reward for them, talk to me again later.
+
+
+Ah, the Professors will get mad at me again...
+
+
+Ah, the kids are playing hide and seek, but I am afraid they went too far. A monster attack could start anytime, after all.
+
+
+Ah, the originals. Had the displeasure to met a few of them in the past and in the future with my time machine.
+
+
+Ah, there are lots on the miners cave.
+
+
+Ah, there are lots with Melina, downstairs.
+
+
+Ah, traveller! I am Lilica the Scary Bunny! I exchange many @@ and @@ for neat rewards!#0
+
+
+Ah, traveller! I am Lilica the Scary Bunny! I exchange many @@ and @@ for neat rewards!#1
+
+
+Ah, uhm, I'm not sure. We at Candor don't need much.
+
+
+Ah, we have serious problems of robbery. I need someone really strong to help me, and you don't qualify.
+
+
+Ah, welcome @@. You have @@ Contributor Points.
+
+
+Ah, welcome. Please, don't be afraid of my look, Saulc GM assigned me to here.
+Ah, bienvenue. S'il vous plait, ne soyez pas effrayé par mon apparence, Saulc GM m'a assigné ici.
+
+Ah, what a wonderful day.
+
+
+Ah, wonderful! This is a page we haven't found yet!
+
+
+Ah, yes... You see, there is just no task I can give to you right now. ##BYou are too weak to fight monsters.##b
+
+
+Ah, yes... You see, there is just no task I can give to you right now. You are too weak to fight these monsters.
+
+
+Ah, you might have seen a treasure chest on the mines. There are several of these chests to loot, and loot again! Here is a @@. Try it!
+
+
+Ah, you really deserve this @@. Good job!
+
+
+Ah, you'll find on the Land Of Fire Village four transcendence gates.
+
+
+Ah.
+
+
+Ah... A @@. The sturdiest from all mushroom, and very, very rare.
+
+
+Ah... I need more beer to keep going... This is so awful...
+
+
+Ah... I see. You are a lost soul, without parents, lost on the world with only some basic stuff.
+
+
+Ah... Santa's helpers sure eat a lot. I'm sure gift delivery is hard for them.
+
+
+Ah... Slimes... Sorry, not my cup of tea...
+
+
+Ah... Sorry, your name is not on the contributor list.
+
+
+Ah... The mayor. The current mayor. Why do you even want to talk to him, anyway?
+
+
+Ah... Was I warped?
+Ah... J'ai été téléporté?
+
+Ah... Well, ok. I'll do the powder for you, but you still need to bring me the material.
+
+
+Ah... What is happening to meeeeeeee?
+Ah ... Qu'est-ce qu'il m'arrive !!!!
+
+Ah... You did it!
+
+
+Ah... You have one too. Be careful with it, please. Many people lost their lives because they didn't handled that correctly.
+
+
+Ah...! POLICE! POLICE! Quick, send this cheating thief to jail!!
+
+
+Aha! I knew you were a boring person...
+
+
+Aha! So that's what it was! The map was hiding its secrets in drawings made with acid. An old technique... But a very useful one.
+
+
+Ahahahah, do you really think I'll accept legs if you don't help me cleaning my fields?
+
+
+Ahh, he'll be so happy! Thanks! You can keep this.
+
+
+Ahh, that's a pity... Well, just talk to me with enough money and I'll gladly fix that for you! %%0
+
+
+Ahh, too many items. Sorry.
+
+
+Ahoi.
+Ahoi.
+
+Ahoy matey!
+
+
+Ahoy! Hey, you, new person! Could you come here?!
+
+
+Ahoy, @@!
+Ahoy, @@ !
+
+Aidan
+Aidan
+
+Aidan and Pet Detective
+
+
+Aidan, the Monster Guide
+Aidan, the Monster Guide
+
+Airlia
+
+
+Airlia told me you should lend me a Return Potion.
+
+
+Airship
+
+
+Aisen Card
+
+
+Alaion
+
+
+Alan
+
+
+Alchemist Armor
+
+
+Alchemist Helmet
+Alchemist Helmet
+
+Alchemy
+
+
+Alchemy Blueprint A
+
+
+Alchemy Blueprint B
+
+
+Alchemy Blueprint C
+
+
+Alchemy Blueprint D
+
+
+Alchemy Blueprint E
+
+
+Alchemy Cauldron
+
+
+Alchemy Master Challenge
+
+
+Alchemy Recipes
+
+
+Alchemy Recipes.
+
+
+Alchemy Set#MKHB
+
+
+Alchemy Shop
+
+
+Alchemy Table brewing
+
+
+Alchemy Table:
+
+
+Alchemy. The art of having quasi-magical effects without magic.
+
+
+Alcohol effects expire upon death. You need vitality to drink more beer.
+
+
+Alicia
+
+
+Alige
+Alige
+
+Alige hands you an old paper patch.
+Alige vous tend un vieux morceau de papier.
+
+Alizarin Herb
+
+
+Alizarin Plant
+Alizarin Plant
+
+All I can say is that you were born there, and moved by the age of 4, but to where? I don't know.
+
+
+All In One
+
+
+All Peetu have been doing the past hours was crying, and crying, and crying some more. I can't barely sleep hearing his cries from my room.
+
+
+All Stats +1
+
+
+All Stats +1, Agi +5
+
+
+All Stats +1, Block +2%
+
+
+All Stats +1, MDEF +30%
+
+
+All Stats +1, Max HP +1%
+
+
+All Stats +1, Max HP +1%, Max MP +5%
+
+
+All Stats +1, Vit +2
+
+
+All Stats +2
+
+
+All Stats +5
+
+
+All Stats temporarily raised!
+
+
+All arenas stay open for only 30 minutes after being purchased.
+
+
+All black scorpions are dead! Go back to Tycoon.
+Tous les Black Scorpions sont morts! Retournez parler à Tycoon.
+
+All candor scorpions are dead!
+Tous les Candor Scorpions sont morts!
+
+All cave maggots are dead! Go back to Tycoon.
+Tous les Cave Maggotss sont morts! Retournez voir Tycoon.
+
+All cave snakes are dead! Go back to Tycoon.
+Tous les Cave Snakes sont morts! Retournez parler à Tycoon.
+
+All cheaters must die.
+
+
+All four Dungeons must be completed.
+
+
+All hail @@ and Andrei Sakar, heroes of the world!
+
+
+All hail the ones who proven their worth before the whole Alliance!
+
+
+All hope was lost. We failed to protect it. We lost everyone who challenged the Monster King. Killed without mercy.
+
+
+All house maggots are dead!
+Tout les House Maggot requis sont morts
+
+All leaderboards are refreshed hourly.
+
+
+All maggots are dead!
+Tout les Maggots sont morts !
+
+All mana bugs are dead!
+Toute les Mana Bug sont mortes
+
+All monsters may drop chocolate during this period. And here is one for you!
+
+
+All monsters summoned!
+Tous les monstres ont été invoqués!
+
+All my parents, grandparents, until the world was born, are from Tulimshar.
+
+
+All of my money.
+Tout mon argent
+
+All quests expire at 00:00 server time, be sure to finish AND report back before that!
+
+
+All rattos are dead! Go back to Tycoon.
+Tous les Rattos sont morts! Retournez parler à Tycoon.
+
+All red scorpions are dead! Go back to Tycoon.
+Tous les Red Scorpions sont morts! Retournez parler à Tycoon.
+
+All scoreboards are refreshed hourly.
+
+
+All scorpions are dead!
+Tout les Scorpiosn sont morts !
+
+All she told me was that I needed to visit Halinarzo, but was too weak, and should look for you instead.
+
+
+All spring it is the same thing... The instruments stop working!
+
+
+All the %ss have become a real nuisance to the citizens and people are getting stung more often now.
+
+
+All this seems unimportant to you right now.
+Tout ceci te semble maintenant peu important.
+
+All torches are lit!
+
+
+All warp technology, be it crystal-based, potion-based, or mechanic-based, relies on timespace distortions.
+
+
+All you need to do then is walk outside, enter on the biggest house, and talk to the Trainer. He'll teach you everything.
+Tout ce que vous avez à faire est de marcher dehors, d'entrer dans la plus grande maison et de parler au Trainerr. Il t'apprendra tout.
+
+Alliance Guard
+
+
+Alliance Hero#FoS
+
+
+Alliance Officer
+
+
+Alliance members (sponsors) are allowed inside the Council Room.
+
+
+Alliance members are those who [@@https://patreon.com/TMW2|sponsor us@@].
+
+
+Alliance members are those who [@@https://tmw2.org/contact|sponsor us@@].
+
+
+Allowed
+
+
+Allows to attack right after casting.
+
+
+Almanac
+
+
+Almost all creatures drop useful items when defeated. To get the dropped item press the 'Z' key next to the item or click the primary button on the item.
+
+
+Almost all documents were lost, destroyed or damaged. I cannot even find your parents name.
+
+
+Almost there! The War Lord will be proud with this new armor I am inventing for him! Just a little more...!
+
+
+Alone
+
+
+Alpha Mouboo
+Alpha Mouboo
+
+Alpha Mouboo Hat
+Alpha Mouboo Hat
+
+Alright, I don't like PVP anyways...
+
+
+Alright, I have them here!
+
+
+Alright, I will help.
+
+
+Alright, I'll look in the archives. I'll have an answer for you in @@. Meanwhile, why don't you suppress the bandits on the cliff?
+
+
+Alright, I'll pay.
+
+
+Alright, I'll show up later. Thanks for calling me. Here's 1000 GP for your efforts.
+
+
+Alright, PARTY TIME!
+
+
+Alright, good bye.
+
+
+Alright, you've not only proven your worth, but you've went through most monsters in the desert close to the town.
+
+
+Alright.
+
+
+Alright. A new world. What mysteries await for me behind that wooden door?
+
+
+Alright. I wish you good luck in your studies.
+
+
+Alright. Listen, you'll need %s to summon it, and you cannot be alone. I only have so much of that to share, so be careful to don't use all.
+
+
+Alright. Now to give your quest. But not now, you're still weak. Come back later, will you.
+
+
+Alright. Then please don't go too deep on the library, it is dangerous.
+
+
+Alright... Bye.
+D'accord... Salut.
+
+Also in honor of @@, who did a great act of bravery recently. May they keep protecting our world!
+
+
+Also in honor of the other two sages, %s and %s. And finally, notable mention for the noble %s, %s and %s, for sponsoring this Academy.
+
+
+Also known as TMW2 Day, it celebrates the server founding,
+
+
+Also near the market, look for %s. He is the chief of the City Guard. Ask if he need help, and help him!
+
+
+Also note that if you are in overweight, your natural regen will halt. 90% in weight, and you won't be able to attack.
+
+
+Also note that, under team's discretion, all rewards from this quest might be erasen along quest state.
+
+
+Also worth mentioning is how to improve your ability to shoot fast. You need to be agile to grab a new arrow from your quiver and aim for the next shot before your enemy has recovered from your last.
+
+
+Also you can ask how much he already save for you by checking your balance.
+
+
+Also your strength doesn't matter much. It helps you to carry more arrows with you, but nothing a few trips to the store won't do.
+
+
+Also, Halinarzo is famous for the depleted mana mines in the town. You probably won't find a mana stone there, but it might be cool to look.
+
+
+Also, I believe hard work always pay off.
+
+
+Also, I don't care if you don't like the @@. That's the weapon a true archer should use!
+
+
+Also, I don't know what Sage will be their next target. I'm... A bit concerned with Sagratha. As she choose to live with wildlife and all, we sorta don't know a lot of what happens with her.
+
+
+Also, I don't think we will be able to go back if we pick the wrong way.
+
+
+Also, I see you're a newly registered mage. Am I right?
+
+
+Also, Summer just started. Why not taking this opportunity to go Treasure Hunting?!
+
+
+Also, Yetis can be crafty at times. I think someone on Hurnscald Household knew a lot about them, you might want to ask them if you ever feel struck.
+
+
+Also, do you have the stolen item?
+
+
+Also, have a %s on the house!
+
+
+Also, hidden in a forest which is not hot nor cold, is the Gold Pot Cauldron...
+
+
+Also, if I move away from the singularity during disarm process, it'll be lost.
+
+
+Also, job levels get really hard to obtain after a while. The decision is up to you, just be aware there's that possibility.
+
+
+Also, listen well, because there are traps and dangers on the whole way. Their leader sealed themselves in safety.
+
+
+Also, most monsters get enraged and will attack whoever is closest to them, regardless of anything else.
+
+
+Also, south of here are mines. Talk to Tycoon for information about it.
+
+
+Also, take this book so you don't forget the rules. You can always read it, or type ##B@rules##b on the chat.
+Aussi, prend ce livre pour ne pas oublier les règles. Tu pourras toujours le lire ou tapez ##B@rules##b dans le chat.
+
+Also, take this. It's time to you learn to craft your own weapon. Talk to Nicholas in Hurnscald forge to make an awesome @@. Or use it on some other craft, it is your choice.
+
+
+Also, the Inn folks said the Ducks keep bothering them, but they've noticed a small decrease already.
+
+
+Also, the more players survive, the better rewards will be given.
+
+
+Also, they can control the city taxes, which are applied upon purchases and sales within the town.
+
+
+Also, they level up when they attack, and can be revived with the right skill.
+
+
+Also, unlike regular magic which may cause delay before and after, Mana Magic usually only have a cooldown. But it is hard to know how long that cooldown is...
+
+
+Also, you need vitality and strength to survive the swimming trip. The closest island is very far away.
+
+
+Also, you'll get more experience by killing monsters stronger than you, and less experience by killing monsters weaker than you.
+
+
+Also...
+
+
+Also: You'll be able to rebirth at Tulimshar with Jakod. What are you waiting for?!
+
+
+Alternatively, %s, the World Hero, should also be able to do it.
+
+
+Alternatively, I think someone at the Land Of Fire Village is able to refine some items. Why don't you try it sometime?
+
+
+Alternatively, download a bleeding edge build at [@@https://manaplus.germantmw.de/|https://manaplus.germantmw.de/@@]
+
+
+Although I really want the Sailor's Hat, but daggers are dangerous for kids to play with.
+
+
+Although KOLCHAK managed to rank first in almost every ranking, Jesusalva was too close, and the Crafting gave him the edge he needed to take first place.
+
+
+Although the more powerful you are, the more money you will need.
+
+
+Although this particular one seems to hate everyone and everything, it recognizes your strength.
+
+
+Alvasus
+
+
+Alvasus Pendant
+
+
+Always a pleasure to help.
+
+
+Always use %s
+
+
+Amazing. Five gifts for all. With 3200, we could supply nomad tribes...
+
+
+Amazing. I think you found all the missing pages of which we didn't have a copy. This is a great help! I'll mention this to Nikolai.
+
+
+Amelia
+
+
+Amelia looks much more cheerful than the last time you've met her.
+
+
+Amethyst
+Amethyst
+
+Amethyst (+2 dex)
+
+
+Amethyst Bif
+Amethyst Bif
+
+Amethyst Powder
+Amethyst Powder
+
+Ammo? I prefer power gloves! That is useless for me!
+
+
+Amount?
+Combien ?
+
+An Airship? It is just a ship. Which flies.
+
+
+An academy was built north of Tulimshar, and later, the Land of Fire Village was also built, symbol of progress, development and research.
+
+
+An account may vote anywhere, but only once per town (weekly).
+
+
+An assassin
+
+
+An emergency skill which temporarily raises all your stats.
+
+
+An error happened: professor_was_assasinated() error
+
+
+An error happened: unitwalk failed
+
+
+An error on your travel happened. Please report.
+
+
+An error on your travel time happened. Please report.
+
+
+An error with Stranger#LoF happened! Please report!!
+
+
+An event is happening at Aeros! Hurry up!
+
+
+An event to prepare for the Steam Release
+
+
+An example is dec agi, which lowers your agility.
+
+
+An unlimited number of members can join.
+
+
+An upgrade is available.
+
+
+Ancient Blueprint
+
+
+Ancient Shield
+Ancient Shield
+
+Ancient Sword
+Ancient Sword
+
+And Demure, the Queen of Dragons.
+
+
+And I'm not talking only about humans here! But perhaps, if you build a good reputation, she teaches you something.
+
+
+And a commission of @@/@@ GP.
+
+
+And a great threat they shall defeat.
+
+
+And a lot of pages are missing, since most of the slimes escaped. I suppose we'll have to go out and hunt them once we're done here. Unless someone else hunt them for us.
+
+
+And a special coupon section to get rare items for little or no money!
+
+
+And again, and again, again.
+
+
+And again, and again.
+
+
+And again.
+
+
+And also in notable mention of those who [@@https://moubootaurlegends.org/en/community|sponsor@@] the Alliance and its administrative structure.
+
+
+And also in notable mention of those who [@@https://www.patreon.com/TMW2|sponsor@@] the Alliance and its administrative structure.
+
+
+And anyone like you probably already knows that, well... Cookies are life!
+
+
+And brought peace to the land.
+
+
+And by "moved to the canyon", I do mean it destroyed the little which kept our community alive back then. I heard the fire even moved to the icelands and burned everything on the path until it died at the frozen sea, but that would be too far for I know.
+
+
+And by last, to speak to everyone online, besides whoever might be idling on Discord, select the '#world' tab.
+
+
+And during that time, item dropped was bugged! We wanted to deliver you a token of apology!
+
+
+And guess what? They have a King of their own!
+
+
+And have you thought in the cause?
+
+
+And help to obtain they were able.
+
+
+And here's a rare for you, a @@! Good job!
+
+
+And his sister,
+
+
+And how do you feel about that?
+
+
+And if I end back here, I'll prove the planet is round! This is the perfect plan! %s GP to ride with me TO GLORY!
+
+
+And if the item breaks, that is definitive - no repair is possible. What to refine?
+
+
+And if the item breaks, that's your loss. What to refine?
+
+
+And if you bring me 1 @@ and 440 GP, I can make a @@ for you.
+
+
+And if you listen to Tulimshar's Professor lecture wearing it, you'll gain more experience!
+
+
+And if you study them well, you'll also gain more Research Points than you would get with other skills.
+
+
+And if your family, real or adoptive, was coward, there would be no lead at all.
+
+
+And in a hut, a lone woman mourned my death.
+
+
+And in all these years, I've never seen him messing up anything important. He's a perfectionist. He isn't satisfied with anything less than the best possible result when doing his work.
+
+
+And in honor of all brave LoF players, to be known to all, the fluffly hunters.
+
+
+And it might be changed in a future patch %%g
+
+
+And now I'm going to lose my job and I'll have to leave here and no other sage would give me a new appointment and I don't know what else to do!
+
+
+And now... Somber time is over! Time to get back to drinking! Yaaaay!!
+
+
+And obviously, Professor Volrtaw assigned me to investigate! Look at me, do I look like an investigator to you? But, he told me I could pick any student to help me! And I choose you!
+
+
+And once they entrust you with what is important for them, they'll pay better. Here is 700 GP. Come back later.
+
+
+And one last thing I'll want. See these @@? I don't like them, so I'll have you to kill 40 of them for me.
+
+
+And one more thing...
+
+
+And please, bring those criminals to justice! Barbara and the Assassin!
+
+
+And rejoice will come from their feats.
+
+
+And remember: If it was easy, I would be wielding it right now. Instead, I use a %s. So take courage.
+
+
+And some from the Grand Hunter Quests give you @@, which can be traded with the travelers for rares! Good luck!
+
+
+And some of the shop items can be found as drops or in quests!
+
+
+And some times, more Fafi dragons come... Don't neglect your aid.
+
+
+And the lightbringer,
+
+
+And the runes wait for the grave to be found.
+
+
+And then you notice the small teddy is opening and closing the lid of this pot repeated times, as if it were looking for something.
+
+
+And then, it was no more! It vanished! In a matter of minutes the slimes were all over the library. A good thing they are slow, none escaped to the town.
+
+
+And then... There was a quake. And all life died. Bleed!
+
+
+And there is the Mana Magic, for the pro %%e You'll waste your life on that, as it have an experience system.
+
+
+And they can explode! Nothing in the world could make me go in there. I'll just do my work right here, clean the floor and tidy up the books, and I'm keeping my eyes open in case they get over here.
+
+
+And thus, the longest war begun... And our clan was wiped out. Pachua, Mirio, I, Melune and Darug are the last ones. Oh, and Andra, I guess?
+
+
+And to leave this cramped ship, just go past his office! But beware...
+
+
+And unless you have a mage permit from the Magic Council, you won't be going to CR1 - Academy Island either.
+
+
+And we know who the thief is.
+
+
+And what's about Iron Ore?
+
+
+And what's about Sunny Crystal?
+
+
+And who are you?
+
+
+And who do you think that created GM Magic in first place, inexperienced kid?
+
+
+And who would you be? Another bandit? Leave!
+
+
+And whom do you claim to be the thief?
+
+
+And with what you expect to fight monsters? You must arrange yourself a weapon!
+
+
+And without proper MP-raising equipment, you'll be exausthed after your first fireball.
+
+
+And you got help from a kid, Zarkor? Lucky is that kid, that I don't have time to deal with them. Farewell.
+
+
+And you, @@... You better get walking. Soon.
+
+
+And you, take this %s. It is a reward for doing the dirty job. You would think old age would let you retire, hahaha!
+
+
+And, that's all.
+
+
+Andrei Sakar
+Andrei Sakar
+
+Andrei Sakar Calls for Heroes!
+
+
+Andrei Sakar Card
+
+
+Andrei Sakar calls for all the brave in the town of Artis - Kolev!
+
+
+Andrei Sakar is at the north exit of the town.
+
+
+Andrei Sakar is decided to investigate, and has made arrangements with %s.
+
+
+Andrei Sakar used magic: %s
+
+
+Andrei Sakar#FoS290
+
+
+Andrei Sakar#FoS298
+
+
+Andrei Sakar, Legendary Hero
+
+
+Andrei Sakar, the legendary Hurnscald Hero, as well as a group of alliance members which include yourself, are heading to the continent of Kolev, where is said to be a legendary town which helped the humans from the second era to survive.
+
+
+Andrei Sakar, world renowned hero, is assembling a group of adventurers for an important mission!
+
+
+Angel
+Ange
+
+Angel Amulet
+Angel Amulet
+
+Angel Light
+
+
+Angela#Outside
+
+
+Angela#house
+
+
+Angry Bat
+Angry Bat
+
+Angry Red Scorpion
+Angry Red Scorpion
+
+Angry Scorpion
+Angry Scorpion
+
+Angry Yellow Slime
+Angry Yellow Slime
+
+Animal Bones
+Animal Bones
+
+Anin The Traveler
+
+
+Anise Inc.
+
+
+Anniversary marks the project birthdate. Do not mistake with TMW2 Day.
+
+
+Annoying Paxel, for example %%o
+
+
+Another lecture: Take always enough arrows with you. Go and come back when you are equipped adequately.
+
+
+Another time, maybe.
+Another time, maybe.
+
+Another way to attack it is clicking on it.
+Une autre façon d'attaquer est de cliquer sur l'énnemi.
+
+Another way to attack it is clicking on it. Now, there are some things you must know before fighting this truly dangerous foe!
+
+
+Another way to quickly get experience at lower levels, is visiting %s and talking to Professor. I heard those whom sit at the rug gain exp just by listening.
+
+
+Antlers
+Antlers
+
+Antlers Hat
+Antlers Hat
+
+Anwar
+
+
+Anwar sent you this, erm, hum... @@.
+
+
+Any boss which was previously unhittable, can be hit with appropriate number of attackers.
+
+
+Any eventual ranking reward will be sent by the banker's mail.
+
+
+Any fishing tips for me?
+
+
+Any friend of Hurnscald is my friend too. Come to me again, if you want to do daily quests!
+
+
+Any movement/skill/item will be without effect until time is up.
+
+
+Anyone within this rug will be teleported.
+
+
+Anything else?
+Ça sera tout ?
+
+Anyway, I am one of the few Mana Wizard, and I love Transmutation!
+
+
+Anyway, I am selling Cherry Cakes to sponsor my studies. Please buy as many as you want!
+
+
+Anyway, I got this really nice @@ from Audsbel. He said I could collect herbs more efficiently with it.
+
+
+Anyway, I heard both were disciples from Cordo-whatever, a powerful person from LoF Village.
+
+
+Anyway, I still need @@. You have plenty of time to do things at your own pace.
+
+
+Anyway, I think you should go to Hurnscald Townhall again, and speak with the mayor.
+
+
+Anyway, I'd be really happy if you could give me @@ @@, @@ @@, @@ @@ and @@ @@.
+
+
+Anyway, I'll give you @@ Real Estate Credits in advance. Go book yourself a room in the Inn. And then come back to me so we may discuss details.
+
+
+Anyway, Wyara told me about the assassins. I'm surprised they followed me until the ruins.
+
+
+Anyway, after that I'll use my magic, so everyone can rest after that until I finish, or keep killing the new monsters for experience and drops.
+
+
+Anyway, as you might be aware, Land Of Fire came here in an incident after the Monster King took all Mana Stones... So, we have a good magical affinity.
+
+
+Anyway, conspiratory theories aside, his ghost is a powerful boss. I would not attack him if I were you!
+Quoi qu'il en soit, outre des théories complotistes, son fantôme est très puissant. Je ne l'attaquerai pas si j'étais à ta place!
+
+Anyway, he had a point. What will you do once the Monster War is over?
+
+
+Anyway, he is not available at the moment. Try your luck again later.
+
+
+Anyway, here is your reward.
+
+
+Anyway, if you ever feel bored and wanna see what I mean by yourself, just leave the building and head west, then north. There's a small entrance there.
+
+
+Anyway, it is Valentine Day, a good day to trade @@ with your admired one!
+
+
+Anyway, my herb mixture keeps monsters away.
+
+
+Anyway, once you have the recipe book and learned a recipe, you can craft items in forges. I think you can buy it in your apartment.
+
+
+Anyway, our shipkeeper, Juliet, helped to heal your injuries way back.
+Quoi qu’il en soit, Juliet notre commerçante, a aidé à soigner vos blessures.
+
+Anyway, the Moubootaur certainly existed, and probably is still alive.
+
+
+Anyway, there's a barrier to prevent monsters from attacking the city from below.
+
+
+Anyway, why do you ask? Surely not to waste my time.
+
+
+Anyway, you can see how skilled using Mana Magic with @@. Mana Magic is the one which requires concentration, to bring things into existence, for example.
+
+
+Anyway, you had a letter to our @@, you meant? Sure thing, I'll let him know at once.
+
+
+Anyway. This is the FAIRY KINGDOM spell. It'll spawn fairies.
+
+
+Anyway. This is the KALBOO spell. It'll summon mouboos.
+
+
+Anyway. This is the KALWULF spell. It'll spawn Wolverns.
+
+
+Anyway... Let's see how this world works!
+
+
+AoE (not stackable)
+
+
+Apana Cake
+Apana Cake
+
+Apane Card
+
+
+Apartment Manager
+
+
+Apartment rents cannot be renewed until they expire. Furniture won't be lost.
+
+
+Apparently, you'll need to use a %s to get this to work!
+
+
+Appearance Debug
+Débogage d'Apparence
+
+Appearance Debug - Barber
+Débogage d'Apparence - Coiffeur
+
+Appearance Debug - Race
+Débogage d'Apparence - Race
+
+Appearance Debug - Sex Change
+Débogage d'Apparence - Changement de Sexe
+
+Apple Cocktail
+
+
+Apple Trees#MKH1
+
+
+Application fee: @@ GP
+
+
+Application successful!
+
+
+Apply for the office!
+
+
+Apply no pressure
+
+
+Apply normal pressure
+
+
+Apply soft pressure
+
+
+Apply strong pressure
+
+
+Apply very strong pressure
+
+
+Applying...
+
+
+Apprentice Wand
+Apprentice Wand
+
+Approach it softly.
+
+
+Aquada
+Aquada
+
+Aquada Box
+Boîte d'Aquadas
+
+Ara ara? You do not have enough money with you!
+
+
+Arabesque (Action)
+
+
+Arauto
+
+
+Arcanum Stone
+
+
+Archant
+Archant
+
+Archers Eye
+
+
+Archery Weapon Recipes
+
+
+Arcmage Boxset
+Arcmage Boxset
+
+Are the fish biting today?
+Les poissons mordent aujourd'hui ?
+
+Are you Sagratha?
+
+
+Are you a terranite?
+
+
+Are you and your party ready?
+
+
+Are you asking because people say it's his fault? Listen, I've known him for many years now. We started our service here about the same time. We share our room and are really close friends.
+
+
+Are you done yet?
+
+
+Are you enjoying yourself in Candor? Do you have any questions?
+
+
+Are you feeling well? That was a pretty powerful attack!
+
+
+Are you going to stand here all day long? Go wash the dishes or go away.
+Allez-vous rester planter ici toute la journée? Va laver la vaisselle ou déguerpi.
+
+Are you interested in becoming a student of Archery?
+
+
+Are you interested? You'll keep %s your equipment, magic, quest progression, craft recipes, money, whatever else which is not a level. Not even Job level won't be reset!
+
+
+Are you looking for Rebirth? Limited time only!
+
+
+Are you ok?
+Est-ce que ça va ?
+
+Are you out of your mind?!
+
+
+Are you ready to cross the Mirror Lake and return to your world?
+
+
+Are you ready?
+
+
+Are you ready? There will be a long path ahead of us until this mistery is solved.
+
+
+Are you really going to jump here?
+
+
+Are you sure you want leave?
+
+
+Are you sure you want to begin now? (Cannot be changed later)
+
+
+Are you sure you want to create a PIN now?
+
+
+Are you sure you want to leave?
+
+
+Are you sure you want to proceed? You CANNOT COME BACK!
+
+
+Are you sure you want to smash it?
+
+
+Are you sure?
+
+
+Are you sure? It costs 800 GP.#0
+
+
+Are you sure? It costs 800 GP.#1
+
+
+Are you sure? Like, really really sure?
+
+
+Are you sure? This cannot be undone!
+
+
+Are you sure?!
+
+
+Are you trying to collect every piece of equipment ingame? Come tell me if you are and I'll give you a collector stamp!
+
+
+Are you trying to provoke me?
+
+
+Are you up for the challenge?
+
+
+Are you with what I asked for?
+
+
+Are you, perhaps, interested?
+
+
+Area Provoke
+
+
+Area of effect fire damage. May burn targets.
+
+
+AreaNPC#002-1d
+AreaNPC#002-1d
+
+AreaNPC#002-3d
+AreaNPC#002-3d
+
+AreaNPC#002-4d
+AreaNPC#002-4d
+
+AreaNPC#Peter
+AreaNPC#Peter
+
+AreaNPC#doors4
+AreaNPC#doors4
+
+Aren't you Cindy's father? Why don't you go to her rescue?
+
+
+Arena created, it can be used for 30 minutes.
+
+
+Argaes Human
+
+
+Argh! I assume I can't do this chant!
+
+
+Argh... I can never get it right! If only he drew an Ace or a Joker on the first draw... But he never does that!
+
+
+Arkim
+
+
+Armageddon
+
+
+Armbands
+Brassards
+
+Armored Skeleton
+
+
+Armors: +3~5 defense
+
+
+Arnea
+Arnea
+
+Arnea#003-13
+Arnea#003-13
+
+Arr ha ha ha arr!
+
+
+Arr!
+
+
+Arr! Here you go, matey!
+
+
+Arr, I'm bored!
+
+
+Arr, it is always good to be on land after so much time in sea!
+
+
+Arr, that's a fine map ya got there! And these are definitely Hurnscald Caves, yarr!
+
+
+Arr, that's not enough! I'll bring more later!
+
+
+Arr, that's some fine ale! We can do the party when we're done with our work!
+
+
+Arr, we will wait for you then! We still have tasks to complete!
+
+
+Arr, you are not experienced enough to help me yet!
+
+
+Arrested!
+
+
+Arrevouir!
+
+
+Arrow
+Arrow
+
+Arrow Ammo Box
+
+
+Arrow Shower
+
+
+Arrow Shower Card
+
+
+Arrr matey! My captain asked me to have you get him some items. Please bring us %d %s and %d %s, my captain likes to snack on those during our long voyages. Oh, and something to read too!
+
+
+Arrr matey! This is @@, yarr.
+
+
+Arrr! Good job matey! You brought us everything we asked for, even the Maritime Almanac Scroll!
+
+
+Arrr! You did not bring me everything I asked for!
+
+
+Arrrrh! Looks like ye lost an eye there!
+
+
+Arrrrh! Ye be wearing a pirate's hat!
+
+
+Arrrrh! Ye remind me of my old first mate!
+
+
+Arthur Card
+
+
+Artichoke Herb
+Artichoke Herb
+
+Artis
+Artis
+
+Artis - @@ GP (not exchangeable)
+
+
+Artis Tank Top
+Débardeur d'Artis
+
+Artis Warp Crystal
+
+
+Artis is a city port founded after the Great Fire on the other continent.
+
+
+Artis, right? So Andrei Sakar summoned you?
+
+
+ArtisShip
+
+
+Arvo
+
+
+As I had the spare materials I've already did yours in advance.
+
+
+As I know, you're kind of hunter crafter, Right?
+
+
+As I said, S.A.R.A.H. is a terrorist organization. They are dedicated to wiping out every single duck, worldwide. No duck has ever survived an encounter with a S.A.R.A.H. agent. You would do best to avoid them.
+
+
+As I see, you stay alive!
+
+
+As a King, I cannot simply ignore it. Of course, I really doubt it is zombies, but nobody wants to go. That's why I'm resorting to an adventurer like you.
+
+
+As a result, while fishing you may randomly get a golden fish.
+
+
+As a what?
+
+
+As about if I have any idea why they said they were from here? ...Actually, I do.
+
+
+As always, I can use a helping hand around here. Interested?
+
+
+As an Apology Token, you're also receiving one @@.
+
+
+As an archer, you should always carry your bow with you. Doesn't warriors carry those heavy swords without complaining? Go and get it.
+
+
+As an honorary member of the Duck Side, know that we are more than we appear. The Moubootaur itself has seen fit to reward us when it awakens. Do not attempt to cross us.
+
+
+As far as we are concerned, you could have been an exiled prisoner who managed to escape! But there are ways to prove to the Alliance that your intentions are good.
+
+
+As long that Saulc doesn't draws the sprites for my stuff, that is! %%a
+
+
+As long that you have the money, and some really high quality material, I can tailor anything ugly in something fashion!
+
+
+As long that you know the basic structure, this shall do damage.
+
+
+As soon that Saulc GM get back, we can start.
+
+
+As the leader of your party, you can only go forward.
+
+
+As to how to obtain research points... Randomly when casting, by enrolling in a class with my wife Emma, by studying monsters, and randomly but very rarely with the Professor in Tulimshar.
+
+
+As usual, you can get only one hat yearly, for the symbolic amount of 40 @@ and 10 @@!
+
+
+As with all TMW2 Major Events, the top 1 receive a special pet, and the other ranked ones get diverse rewards.
+
+
+As you can guess, said village was abandoned. However, people are claiming to have seen people walking there, like shadows or zombies.
+
+
+As you learned, helping others is a good way to level up. You can also sell monster parts for some money.
+
+
+As you may be aware, the Magic Council is in Tulim, after all.
+
+
+As you may know, LOF ran on a modified version of The Mana World game, before being merged on TMW2: Moubootaur Legends.
+
+
+As you might have noticed, it depends on many circumstances if your arrow finds its target. Your shot may be too powerful or too weak, so the arrow goes far beyond your target or hits the ground before it reaches its destination.
+
+
+As you might know, the Great Fire ruined the whole world. Many people wanted to escape the wastelands which the continent had became, so they made convoys and left to the great sea.
+
+
+As you see, you can count the mages with the fingers of one hand. It's not just Mana Magic, either - Magic in overall is almost dead, with almost every Mana Stone on the power of the Monster King.
+
+
+As you want!
+Comment tu veux !
+
+As you wish. But do not mess with things you don't understand.
+
+
+Ash Urn
+Ash Urn
+
+Ask everytime
+
+
+Ask next time
+
+
+Ask.
+
+
+Assassin
+Assassin
+
+Assassin Boots
+Assassin Boots
+
+Assassin Chest
+
+
+Assassin Gloves
+Assassin Gloves
+
+Assassin Pants
+Assassin Pants
+
+Assassination failed - target is stronger than you
+
+
+Astral Cube
+Astral Cube
+
+At 00:00, 06:00, 12:00, 15:00, 18:00 and 21:00 server time
+
+
+At January 2008 - Construction of Dimonds Cove.
+
+
+At a first glance, it seems to be full of water, but inspecting closer, it is not.
+
+
+At long last, you see the end of the corritor.
+
+
+At the last day, an earthquake happened. And then, monsters started showing up everywhere. Immortal monsters, which come back after killed, as if they had touched the Soul Menhir.
+
+
+Atk +25
+
+
+Atk Range +1
+
+
+Atk. Speed +10
+
+
+Atonishing. Six gifts is the real deal. Easy to guess: 6400 is the next milestone.
+
+
+Atropos Mixture
+Mixture d'Atropos
+
+Attack him
+
+
+Attain level 50 to try this quest.
+
+
+Attempt to break the Mana Stone?
+
+
+Attempt to break the seal?
+
+
+Attempt to disarm the singularity?
+
+
+Attempt to heal the Mouboo
+
+
+Attempt to kill the Mouboo
+
+
+Attempt to lockpick?
+
+
+Attempt to retrieve it now?
+
+
+Attempted to buy %d/%d %s, operation cancelled.
+
+
+Attempts for today: %d/%d
+
+
+Auldsbel
+
+
+Auldsbel the Wizard
+
+
+Aurora
+
+
+Aurora Events
+
+
+Aurora will collect the crystals; And adventurers from the whole world shall look for them in the chests and return to Aurora!
+
+
+Authorship: Former_Cordo (Cordo)
+
+
+Authorship: Manatauro
+
+
+Authorship: Xanthem (DiamondPython)
+
+
+Automatic Botchecks
+
+
+Automatic disarm in: @@
+
+
+Automatic fishing bait
+
+
+Autoreceive Strange Coins:
+
+
+Autumn
+
+
+Autumn Mask
+
+
+Average EXP:
+
+
+Average player level: @@
+
+
+Awake lost potential? This will mess with your char data irreversibly, beware.
+
+
+Awesome, come back if you ever want to create a larger group!
+Super, reviens si jamais tu veux créer un groupe plus grand !
+
+Awesome, here is the certificate! Choose guild name wisely, because there are no refunds, even if you lose it!
+
+
+Awful Yetis kidnapped my daughter, and brought her to the cave. Please save her!
+
+
+Aww it's not summer. I love June 21st, and the summer vacations!
+
+
+Axe Hat
+Axe Hat
+
+Axzell the Alchemist
+
+
+Ayasha
+Ayasha
+
+AyashaDebug
+AyashaDebug
+
+Azul Skull Slime
+
+
+Azul Slime
+Azul Slime
+
+Azul Slime Mother
+
+
+AzulSlime
+
+
+BEGIN WARP PROCEDURES?
+
+
+BOSS FIGHT!
+
+
+BOSS WARNING
+
+
+BOTCHECK: You are on botcheck area. DO NOT attack or collect items until given the order.
+
+
+BUG, Please report: TorchTally, err_val @@
+
+
+BUG, REPORT ME! Hurncald Liberation Day check FAIL
+
+
+BUG, REPORT ME: QHUB PENALTY OVERRIDE INVALID SIGNAL @@
+
+
+BUT you can reduce the travel price to everywhere, to as low as 250 GP, by completing QUESTS!
+
+
+Bachelor
+
+
+Backsliding
+
+
+Backsword
+
+
+Bah! Don't try to fool me! The sun can't burn in Nivalis.
+
+
+Bah, sorry my manners! I love to chat! Anyway, talk to any General of mine, just behind me. See if they need help.
+
+
+Baktar
+
+
+Baktar can be picky with Tulimshar stuff, too.
+
+
+Bandana
+Bandana
+
+Bandit
+Bandit
+
+Bandit Hat
+
+
+Bandit Hood
+Bandit Hood
+
+Bandit Lord
+Bandit Lord
+
+Bandit Mask
+
+
+Bandit Pants
+Bandit Pants
+
+BanditLord
+
+
+Bandits are a huge threat to Hurnscald. We're just a small farming town, and they're countless.
+
+
+Banned from Academy
+
+
+Banshee Bow
+Banshee Bow
+
+Banu
+
+
+Bar Jobs
+
+
+Barbara was apprehended. It would be weird to show her on your inventory, so we won't.
+
+
+Barbara#01861
+
+
+Barbara, Wounded Girl
+
+
+Barbara. You're under arrest by Kenton's orders. Please surrend peacefully.
+
+
+Barbarian Amulet
+Barbarian Amulet
+
+Barbarian Master Amulet
+Barbarian Master Amulet
+
+Barbarian#Frostia
+
+
+Barely any difference, maybe I should use better healing items on it.
+
+
+Barrel
+Tonneau
+
+Barrel#1
+Barrel#1
+
+Barrel#2
+Barrel#2
+
+Barrel#3
+Barrel#3
+
+Barrel#4
+Barrel#4
+
+Barrel#5
+Barrel#5
+
+Barrel#6
+Barrel#6
+
+Barrel#7
+Barrel#7
+
+Barrel#8
+Barrel#8
+
+Barrels#MKHB
+
+
+Bartender
+
+
+Barzil
+
+
+Base Experience Rate is now %d%%.
+
+
+Base Tier
+
+
+Bash your weapon against your enemies with raised damage and accuracy.
+
+
+Basic Magic
+
+
+Basic Tricks
+
+
+Basic earth area attack. May stun targets.
+
+
+Basic earth single target attack. May stun targets.
+
+
+Basic fire single target attack. May burn targets.
+
+
+Basic ice area attack. Freeze targets in a big area.
+
+
+Basic ice area attack. May freeze targets.
+
+
+Basic ice single target attack. May freeze targets.
+
+
+Basic multi-target holy attack. Is actually weak.
+
+
+Basic single target holy attack. Splashes in the nearby tiles.
+
+
+Basic wind single target attack. Strong in overall.
+
+
+Basically, I need to find a friendly Yeti. Do they exist?
+
+
+Basically, no one else disturbs me anymore when I'm busy snoring in class! ^.^
+
+
+Basically, there's no sea route to Halinarzo. You must head southeast of Tulimshar.
+
+
+Basil
+
+
+Bat
+Bat
+
+Bat Egg
+
+
+Bat Teeth
+Dent de Chauve-souris
+
+Bat Wing
+Bat Wing
+
+Bathrobe
+
+
+Battle Plans
+
+
+Be Patient... You still need to wait @@.
+
+
+Be a friend and bring me @@ @@.#0
+Sois une amie et apporte moi @@ @@.
+
+Be a friend and bring me @@ @@.#1
+Sois un ami et apporte moi @@ @@.
+
+Be aware I can only bake batches of @@ potions.
+
+
+Be careful as not everybody likes transmuted monster parts. Some may even see it as a foul thing. Anyway. Come back later.
+
+
+Be careful during night, use "@tutorial" in case of doubt, use "%s" to go to the event, and good luck!
+
+
+Be careful that they may be anywhere in the world, and the same rules as Tulimshar Guard House apply! So, are you here to apply or to report back?
+
+
+Be careful to not get lost in the forest.
+
+
+Be careful when walking, because you may change quadrands and then... It won't count. You'll need to start over again.
+
+
+Be careful!
+
+
+Be careful, because the more magic power you ask the Mana Seed, the more difficult to control it will be.
+
+
+Be cursed, you fool!
+
+
+Be devoured!
+
+
+Be sure to have a friend before joining, or you may have to logout in order to be able to move again!
+
+
+Bear Hat
+
+
+Bear Strike
+
+
+Beard
+Beard
+
+Beatrice
+
+
+Because I am a special nymph.
+
+
+Because I am awesome!
+
+
+Because Isbamuth is tracking me? It would be pointless if he noticed. If you can't even understand this, maybe I overestimated you, after all...
+
+
+Because heroes are not born, rather, they are made!
+
+
+Because in the end, you are in the hands of your class leader!
+
+
+Because it may be a fatal fall!
+
+
+Because the council has some crazy project which requires me to move crates all the time!
+
+
+Because they control everything! They even determine taxes!
+
+
+Because this, the national budget is going to other silly, under-rewarding, minor things...
+
+
+Bed#Saggy
+
+
+Beds
+
+
+Bee
+Bee
+
+Bee Hive
+
+
+Bee Keeper Hat
+
+
+Bee Stinger
+
+
+Beer
+Beer
+
+Beer is nice, but sometimes I want something more exotic to drink! Oui, we need a proper bar here!
+
+
+Before start witch item do you want to play
+
+
+Before you give me your report, acquire level %d.
+
+
+Begger#EP
+
+
+Begin campaign?
+
+
+Begin classic mode
+
+
+Begin!
+
+
+Begin?
+
+
+Behave yourself, or you'll be executed in the town square mercilessly. You have been warned.
+
+
+Behave yourself.
+
+
+Bella, the Scholar
+
+
+Below this strange writing, you notice a word still deeply engraved in the stone:
+
+
+Ben Parkison
+
+
+Ben#NivBanker
+
+
+Benjamin
+
+
+Benjamin reported in. Good luck arresting the criminal!
+
+
+Benjamin, Wounded Soldier
+
+
+Bent Needle
+Bent Needle
+
+Besides "spot", you can also use "nearest" for more area, and even "near" or "nearby" for even more.
+
+
+Besides being able to train you, he is a walking encyclopedia - Ask him anything you are unsure about!
+
+
+Besides that, do I look like a warrior to you? Why would you give a kid a sharp dagger?
+
+
+Besides the Magic Council, Andrei Sakar have his own Mana Stone, but I doubt he would train the likes of you, or share his Mana Stone.
+
+
+Besides this, there is Seasons. You know, summer, autumn, winter and spring.
+
+
+Besides, I know these caves like the back of my hand. You would have a hard time tracking me down.
+
+
+Besides, I'm not an Yeti expert. I don't understand how these creatures think, nor do I care! I only want Cindy back home safely!!
+
+
+Besides, the Alliance High Council had plans for an expedition on the Fortress Island, but had no personel to do it.
+
+
+Besides, there are no Butterflies in Tulimshar, and they could help the farm in getting producing food.
+
+
+Better do this some other time...
+
+
+Better luck next time!
+
+
+Better luck next time!"
+
+
+Beware the Terranite! Only @@ would be brave enough to challenge them!
+
+
+Bhop Fluffy
+Bhop Fluffy
+
+Bhopper Egg
+
+
+Bif
+Bif
+
+Bif is a monster shaped like weird rocks. Diamond Bif is a Bif with higher chances to drop Diamonds.
+
+
+Big Amethyst Bif
+Big Amethyst Bif
+
+Big Arrow Sack
+
+
+Big Bullet Sack
+Big Bullet Sack
+
+Big Diamond Bif
+Big Diamond Bif
+
+Big Elenium Bif
+Big Elenium Bif
+
+Big Emerald Bif
+Big Emerald Bif
+
+Big Frog
+
+
+Big Magic Bif
+Big Magic Bif
+
+Big Pumpkin Seed
+Big Pumpkin Seed
+
+Big Ruby Bif
+Big Ruby Bif
+
+Big Sapphire Bif
+Big Sapphire Bif
+
+Big Topaz Bif
+Big Topaz Bif
+
+Billy
+
+
+Billy Bons
+
+
+Billy Bons#TMW2
+Billy Bons#TMW2
+
+Birds in the Sunrise
+
+
+Black Dye
+
+
+Black Mamba
+Black Mamba
+
+Black Mamba Egg
+
+
+Black Mamba Egg -> Mountain Snake Egg
+
+
+Black Mamba Skin
+
+
+Black Mamba Skin -> Mountain Snake Skin
+
+
+Black Mamba Tongue
+
+
+Black Mamba Tongue -> Mountain Snake Tongue
+
+
+Black Pearl
+Black Pearl
+
+Black Scorpion
+Black Scorpion
+
+Black Scorpion Claw
+
+
+Black Scorpion Claw -> Red Scorpion Claw
+
+
+Black Scorpion Stinger
+Black Scorpion Stinger
+
+Black Scorpion Stinger -> Red Scorpion Stinger
+
+
+Black Skull Slime
+
+
+Black Slime
+Black Slime
+
+Black Slime Mother
+
+
+BlackCat
+
+
+BlackScorpion
+
+
+Blacksmith
+Forgeron
+
+Blacksmith Axe
+
+
+Blacky Cat
+
+
+Blade Shield
+Blade Shield
+
+Blame @@, missing map between 014-5 and 019-1, solely to make trip longer.
+
+
+Blame Saulc
+
+
+Blame Saulc.
+
+
+Blanket
+Blanket
+
+Bleed
+
+
+Blessing applied at: %s
+
+
+Blessing of Defense
+
+
+Blessing of Immortality
+
+
+Blind
+
+
+Block +1%
+
+
+Bloodbath
+
+
+Bloodstone Pendant
+Bloodstone Pendant
+
+Bloody Mouboo
+
+
+Bloody Mouboo Hat
+
+
+Blooodstone
+Blooodstone
+
+Blossom
+
+
+Blossom, blossom, why you do this to me...
+
+
+Blub
+Blub
+
+Blub, blub, blub
+
+
+Blue
+Bleu
+
+Blue Coral
+Corail Bleu
+
+Blue Dye
+
+
+Blue Eggshell Hat
+Blue Eggshell Hat
+
+Blue Gray Dye
+
+
+Blue Knight Shield
+Blue Knight Shield
+
+Blue Mana Pearl
+Blue Mana Pearl
+
+Blue Sage will want to know this, I'll write him a letter.
+
+
+Blue Slime
+Blue Slime
+
+Blue Slime Mother
+
+
+Blue Switch#EP
+
+
+Blue from sea, learned how to hunt. But unfortunately, not how to withstand attacks.
+
+
+Blueberries
+Blueberries
+
+Bluepar
+Bluepar
+
+Boias, unlike common shields, does not have any penalty!
+
+
+Bone
+Bone
+
+Bone Ammo Box
+
+
+Bone Arrow
+Bone Arrow
+
+Bone Knife
+Bone Knife
+
+Bonjour! I am @@, and I am from the Press! Read the latest news with me!
+
+
+Bonus recipes must be enabled with @@ after learned!
+
+
+Bonus:
+
+
+Boo!
+
+
+Book Keeper
+
+
+Book#01863A
+
+
+Book#FoS
+
+
+Book#Saggy
+
+
+Bookcase#MKHB1
+
+
+Bookcase#MKHB2
+
+
+Bookcase#MKHB3
+
+
+Bookcase#MKHB5
+
+
+Booo....
+
+
+Boots
+Boots
+
+Booty!
+
+
+Boring NPC
+
+
+Born %s ago
+
+
+Boss Hunter Boina
+
+
+Boss Of The Dusty People
+Boss Of The Dusty People
+
+Boss Raid
+
+
+Boss defeated!
+
+
+Bot Master
+
+
+Both rent and furniture are bought using money, however, there are mobiliary credits.
+
+
+Bottle Of Divine Water
+Bottle Of Divine Water
+
+Bottle Of Sand
+Bottle Of Sand
+
+Bottle Of Sea Water
+Bottle Of Sea Water
+
+Bottle Of Sewer Water
+
+
+Bottle Of Tonori Water
+Bottle Of Tonori Water
+
+Bottle Of Woodland Water
+
+
+Bounty Hunter Helmet
+
+
+Bow (strong, slow, no evasion)
+
+
+Bowler Hat
+Bowler Hat
+
+Bows
+
+
+Bows are good, but if you're going to the Desert Canyon, I would instead invest on a light shield. Heavy ones make you walk slower.
+
+
+Bows give you a good attack range, in exchange of all your evasion.
+
+
+Box Of Chocolates
+
+
+Bracco
+
+
+Brain
+Brain
+
+Brainic
+
+
+Brainstem
+Brainstem
+
+Braknar Shield
+Braknar Shield
+
+Braknar Shield Recipe unlocked!
+
+
+Braknar also used a pseudonym - Arvek. If you hear that name in some tale, it is the same person.
+
+
+Brave adventurers, be ready for the worst!
+
+
+Brave players need to group and retake them!
+
+
+Brawling
+
+
+Brazil: [@@http://www.prosangue.sp.gov.br/home/Default.html|http://www.prosangue.sp.gov.br/home/Default.html@@]
+
+
+Bread
+Pain
+
+Bread is fine, but it would taste better with @@. Could you bring us three?
+
+
+Break it!
+
+
+Break the crystal?
+
+
+Breaking a seal is easy, just flow mana on it for enough time to it shatter.
+
+
+Bribe the guard for @@ GP?
+
+
+Brimmed Feather Hat
+Chapeau à Plume Élargi
+
+Brimmed Flower Hat
+Chapeau à Fleur Élargi
+
+Brimmed Hat
+Chapeau Élargi
+
+Bring it on!
+
+
+Bring me %d %s so I may study its properties and improve our town water quality!
+
+
+Bring me %d %s, %d %s, %d %s, and %d %s, and I will make it for you. I also charge %d GP as commission.
+
+
+Bring me %d %s, %d %s, %d %s, and %d %s, and I will make it for you. I also charge %d GP commission.
+
+
+Bring me %d %s, %d %s, and %d %s and I can make it for you... oh and it will be %d GP for my work.
+
+
+Bring me %d %s, the white slimes keep stealing them and I am a bit too old to go running around, hunting slimes!
+
+
+Bring me %d %s, we elves are infinitely beautiful and the white slimes, just like your kin, seems to envy us. So please recover the stolen mirrors.
+
+
+Bring me %d %s. I cannot tell you what for, though!
+
+
+Bring me %s or make your own party if you want to help me.
+
+
+Bring me 10 @@. I'll pay you some money for that, of course.
+
+
+Bring me @@ Bandits or Sarracenus heads, or the double of that in Desert Log Heads, and I'll consider you brave enough.
+
+
+Bring me the proof of your devotion, and I shall arrange you an audience with the Queen.
+
+
+Bring me the stolen item, pretty please.
+
+
+Bring me this and I'll spawn it for you:
+
+
+Bring me your wood, and I'll show you which one is sturdy, yet flexible enough to make a good Forest Bow.
+
+
+Bring me, my worst nightmare.
+
+
+Brit Shield
+Brit Shield
+
+Broadsword
+
+
+Broadsword!
+
+
+Broken Doll
+Broken Doll
+
+Broken Four Leaf Amulet
+Broken Four Leaf Amulet
+
+Broken Medal
+Broken Medal
+
+Broken Warp Crystal
+Broken Warp Crystal
+
+Bromenal Boots
+
+
+Bromenal Chest
+Bromenal Chest
+
+Bromenal Four-Leaf Amulet
+Bromenal Four-Leaf Amulet
+
+Bromenal Gloves
+Bromenal Gloves
+
+Bromenal Helmet
+Bromenal Helmet
+
+Bromenal Pants
+Bromenal Pants
+
+Bromenal Shield
+Bromenal Shield
+
+Bronze Boss Gift
+
+
+Bronze Braknar Shield
+
+
+Bronze Chest
+Bronze Chest
+
+Bronze Gift
+Bronze Gift
+
+Bronze Gladius
+Bronze Gladius
+
+Bronze Medal
+Bronze Medal
+
+Bronze Quiver
+Bronze Quiver
+
+Brown Dye
+
+
+Brr! It's extremely cold! I cannot go there!
+
+
+Brrrr... I'm freezing! The winter at Nivalis is so harsh!!
+
+
+Buccaneer
+
+
+Bucket
+Bucket
+
+Bug Leg
+Bug Leg
+
+Bug Slayer
+
+
+Bug, report me!
+
+
+Build a bridge with wooden logs!
+
+
+Bull Helmet
+
+
+Bullet
+
+
+Bunny Ears
+Bunny Ears
+
+Burglar Mask
+
+
+Burn the potion
+
+
+Burn, destroy, do whatever you need, until your last breath, my lieutenants and colonels!
+
+
+Burning
+
+
+But %s is too valuable to burn and there is no alternative fuel for forges. It sells for %d GP and we are just wasting it here.
+
+
+But I can sell ya a %s for %d GP. Interested?
+
+
+But I can still make it without cookies, as long that you bring me some other sweeties.
+
+
+But I can try my best for you!
+
+
+But I can't help but keep thinking on how many shiny treasures might be there!
+
+
+But I need to!
+
+
+But I should probably get inside it, first.
+
+
+But I want to swim!
+
+
+But I will not give up on my little experiment. Incidentally, Snakes are shaddy enough for my experiment. I promise you, I'll succeed this time.
+
+
+But I'm almost out of @@...
+Mais je suis presque à court de @@...
+
+But all I could do was a bite.
+
+
+But also very amusing. I'm sure Pihro and Pyndragon, the town mayors, will fancy this request of yours.
+
+
+But as you're here now, could you do me a favour?
+
+
+But be careful: do not scream when using a lot of capital letters, and do not keep repeating the lines, and above all DO NOT SPAM, or you may be severely penalized.
+
+
+But be careful: learning fees and research points WILL NOT be given back!
+
+
+But be warned, I don't have the Apple with me. It must be further in.
+
+
+But before, a message from our developers!
+
+
+But can I help you?
+
+
+But come back in a few hours, I didn't lost all @@!
+
+
+But do you want to hear a song about the world, or about grinding?
+
+
+But don't worry! South of here we have an Inn.
+
+
+But don't worry, because as they say: The more you learn, the better you get at learning!
+
+
+But dragons came and started roaming this island. My friends are now either dead or missing. You look big and strong, do you want to avenge me?
+
+
+But due to all of the chaos from when the slimes escaped, most of the phials of colored ink were broken. How am I supposed to do the illustrations without color?
+
+
+But first... My throat is dry. Can you bring me a beer?
+
+
+But for now, we must NOT enrage the Moubootaur!!
+
+
+But he have lots of enemies... It would not surprise me to find him struck somewhere.
+
+
+But hope is not lost, said the Sages of Fate!
+
+
+But if I do, I'll not return. Neither me, nor Raid. Which is why I'm taking precautions: This diary. In the event of my death, please bury my body and contact Halinarzo.
+
+
+But if a mage wants to be a warrior, they won't be able to use their full magic skills.
+
+
+But if you and other players surrounds the monster instead, they'll suffer the same penalties!
+
+
+But if you believe in such cool challenge like mine there should be no dishonorable fight, comment it on Discord!
+
+
+But if you bring me %d %s and %d %s and %s GP, I can give you a %s!
+
+
+But if you keep harming the forest, this will be for naught. Was I clear?
+
+
+But if you only want to sit down and chat, this area is ideal for you!
+
+
+But if you regret this choice later... You know where you can find me.
+
+
+But if you want to be guard, you must be brave! Go fight your fears, and go kill some bandits like a decent guard.
+
+
+But if you want, you can farm @@ already. Good luck!
+
+
+But if you're looking to go to the World Edge, the place where THE WORLD WILL DIE, I guess you are immune to rumors.
+
+
+But if you're not skilled enough, or lose control of it, a Moggun might be spawned instead. Which is a young, weak, baby Yeti.
+
+
+But if you're wrong, you'll have to pay up! There's no refunds. This is gambling, if you lose you lose!
+
+
+But in accordance to an old %s, you were unlucky.
+
+
+But instead of dying a Monster King he became!
+
+
+But it is a massive organization, recognized by everyone. Guilds train with other guilds, for huge profits.
+
+
+But it is a so silly fight, that whoever you join with shouldn't do much difference.
+
+
+But it is spring! Perhaps, if you bring me some flowers and fruits which only grow at Spring, I could impress her!
+
+
+But it is still too early to give it away to a %s children.
+
+
+But it will not help you to craft something as complex as weapons or armors. If we catch you profaning this magic... I'll have you returned to the sea %%e
+
+
+But it's ultimate goal of miners there.
+
+
+But maybe you could help me killing a few maggots?
+
+
+But maybe you should help other people and get some levels before returning to me.
+
+
+But my case requires extended treatment. I need to be hospitalized. I'm afraid it is too late for the Elixir to have effect...
+
+
+But now, we are quite old. I remember the time when I was your age. My generation doesn't do stupid things like yours!
+
+
+But please be picky with how you spend job points. They are hard to come by, and I'm not entirely sure you can change it later.
+
+
+But pretty much, anything which contributes to the common knowledge of this world. It might even be writing a NPC telling about the world history, developing software for Wiki/GameInfo/etc., it all depends on the scholars.
+
+
+But remember: %s
+
+
+But remember: This makes you much more vulnerable, and you usually cannot hit from too close, so watch your step and don't stumble into your enemy's attack.
+
+
+But she is a fairy. She won't be pleased with flowers. Instead, go and give her a %s as a token of good will.
+
+
+But still, he can't just walk in there, fiddle with the experiments and disturb the helpers doing their work.
+
+
+But thanks to your %s skills, maybe you can pry this open.
+
+
+But that is unlikely, we have no reason to sabotage our own work! You saw the mess it caused. Everyone knew it was important.
+
+
+But that's no excuse for cowardice!
+
+
+But that's not so easy... I already sent many people, and even come myself, but he refuses to help.
+
+
+But the box was empty.
+
+
+But the game still is in development, so not every great feat was added yet.
+
+
+But the game still is in development, so not every quest was added yet.
+
+
+But the monsters around here must be pretty scary for someone like you.
+
+
+But the more you use a certain skill, the less research points will be required to upgrade it. And that bonus is permanent.
+
+
+But the most useful thing might be drinking %s and the like. They also boost drop rates, but weak drinks effects are low and short.
+
+
+But the teddy unexpectedly starts moving towards your bag, possibly attracted by some smell. You give up on approaching it, and starts watching it.
+
+
+But the teddy, noticing your movement, starts getting farther from you. It doesn't seems scared, but it doesn't allows you to approach either.
+
+
+But then, Andrei Sakar appeared. Hope was not lost. We could still defend it.
+
+
+But there was only @@ GP inside.
+
+
+But there was only a(n) @@ inside.
+
+
+But this is not a time of need, so it is unlikely to appear even if all other conditions were to be met.
+
+
+But this is not important. They are dangerous. They must be stop at any cost!
+
+
+But to be fair, from what I've seen Peetu was always very attentive and dutiful.
+
+
+But to defeat this dummy, I would say that %s should do the trick.
+
+
+But unfortunately, a loose stone lodges and you fall to your death.
+
+
+But unfortunately, it was harder than you thought. You are dead.
+
+
+But unfortunately, whoever made this riddle disagrees with me.
+
+
+But unless you touch a Mana Stone and get stronger magic, that would be as useful as teaching magic to a wall. No offense.
+
+
+But we are working day and night. We hope that soon, more people come out and this place gets lively again.
+
+
+But we cannot ignore the threat this imposes to us. You might not know our world's history, but this place should never be inhabited or else...
+
+
+But we took every stone, and restricted the magic.
+
+
+But what I really hate is that they forbid gossiping.
+
+
+But when I left him to look at the books on his own, he sneaked over to the workshop area. Visitors are allowed to have a look there, but only if they don't interfere with any research and experiments. But it seems he was being rather disturbing, since they sent them back to the library part.
+
+
+But who am I?
+Mais qui suis-je ?
+
+But who cares? We need to save the Professor! During night, monsters are stronger, so they'll probably attack at night time!
+
+
+But with a @@, when you are about to die, you can warp back to Soul Menhir and bypass death penalty.
+
+
+But you already have Mylarin Dust! That's good, because I no longer craft savior pieces. But. For %s GP I'll give you a %s and if you're lucky, it'll have the recipe you're after.
+
+
+But you are welcome to reset your stats again! I need the money.
+
+
+But you can also wear a %s instead, no problem.
+
+
+But you did not hit... have another try.
+
+
+But you don't have any experience at the moment, so what do you have to lose?
+Mais vous avez aucune expérience en ce moment, alors qu'est-ce que vous avez à perdre?
+
+But you have already given me firewood today. Come back tomorrow, pal.
+
+
+But you lack magic! That's a pity."
+
+
+But you seem to have come from more savage and barbaric towns, so if you could bring me %d %s, that would be truly helpful.
+
+
+But you won't *hic* me this time...
+Mais tu ne me *hic*ra pas cette fois...
+
+But you're too slow to catch any of them. Sorry.
+
+
+But you're too slow. Sorry.
+
+
+But you're too weak to beat any of them. Sorry.
+
+
+But you're too weak. Sorry.
+
+
+But your silly map must be wrong. These passages do not connect themselves like this, but this should not be an issue, as they're not relevant.
+
+
+But, I found something really interesting! Ah... I hope you like history?
+
+
+But, hm hm hm! I have a %s for you! It won't have what you wanted, but maybe you're lucky, after all?
+
+
+But, it wouldn't look nice if I let you do all the killing! The other guards are working right now!
+
+
+But- But you have to! It is the
+
+
+But... But! Where are you?! That summon ritual is equivalent to GM magic!
+
+
+Butcher Knife
+Butcher Knife
+
+Butterfly
+Butterfly
+
+Buy
+Acheter
+
+Buy a Housing Letter
+
+
+Buy a mercenary card
+
+
+Buy cheap, sell expensive!
+
+
+Buying rares
+
+
+By "breaking", I do not mean death. It is something worse.
+
+
+By far, the most important holiday on Moubootaur Legends.
+
+
+By last, east of here are the Canyons. Do not go there before level 20, and even then, do not engage snakes in combat. They are fast and very dangerous.
+
+
+By last, there was the Blue Sage, living on Nivalis... I never met him outside the Council.
+
+
+By pressing @@, you can open the Shortcut menu. And by pressing @@, you open the skill menu!
+
+
+By sitting in the rug in front of the professor (the one with benches)
+
+
+By the way , it is done already. You took a long time, you know? Also, we're talking about Pihro and Pyndragon.
+
+
+By the way would you like to transform your gem?#0
+
+
+By the way would you like to transform your gem?#1
+
+
+By the way, I can't say for sure it was a man. He smelled like onions, and his face was shinning.
+
+
+By the way, I found this Mask after you killed the Fafi Dragon, Maybe you can use it some day.
+
+
+By the way, I've heard that the name of the wizard of Aethyr is the key to open its gates. But I don't know neither where the gates are, nor who is the "wizard of Aethyr".
+
+
+By the way, did you know that the official color of Tulimshar is yellow?
+
+
+By the way, you need a couple of @@ to try the skill. Fail rate is pretty high if you don't know how to control your magic.
+
+
+Bye for now.
+Au revoir pour le moment.
+
+Bye then!
+Alors au revoir !
+
+Bye!
+Au revoir !
+
+Bye.
+Au revoir.
+
+CAPTCHA: An error happened, try again.
+
+
+CAPTCHA: Cooldown in effect.
+
+
+CAPTCHA: Incorrect answer. Wait %ds and try again.
+
+
+CAPTCHA: You have %s minute(s) remaining
+
+
+CLEAR!
+
+
+COD: Ran out of time!
+
+
+CONGRATULATIONS! For a semester worth of logins, you're getting a pet!
+
+
+CONGRATULATIONS! You are the first player to finish Cindy Quest!!
+
+
+CONGRATULATIONS! You are the first player to finish Gemini Sisters quest!!
+
+
+CONGRATULATIONS! You are the first player to finish Heroes Hold Master Dungeon!!
+
+
+CONGRATULATIONS! You are the first player to finish The Episode of Ozthokk!!
+
+
+CONGRATULATIONS! You are the first player to finish Yeti King quest!!
+
+
+CONGRATULATIONS! You are the first player to harness all power the Mana Stone would willingly give!
+
+
+CONGRATULATIONS! You have obtained the %s.
+
+
+CONTINUE ANYWAY? [Y/N]
+
+
+Cactus Cocktail
+
+
+Cactus Drink
+Cactus Drink
+
+Cactus Potion
+Cactus Potion
+
+Cadis : You have slain %s %s out of a million.
+
+
+Cadis Mode
+
+
+Caelum
+
+
+Cake Town (Hurnscald)
+
+
+Call Of Dusty
+
+
+Call Of Dusty is a timed event quest. It begins hourly, when the minute clock marks zero.
+
+
+Calm down! How can I help you?
+
+
+Calm down, don't get mad! I was wrong in trusting this map, it is definitely faulty. Lemme see it again...
+
+
+Calm, perfect for a fly!
+
+
+Camel Dye
+
+
+Camilot
+
+
+Campaign starts after 60 seconds. Eight maggots will spawn on the next 100 seconds.
+
+
+Can I become a miner?
+
+
+Can I find a mana source here?
+
+
+Can I have a Blanket, at least?
+
+
+Can I help you somehow today?
+
+
+Can I help you with something?
+
+
+Can I help you?
+
+
+Can I read these rules again?
+Puis-je lire les règles une nouvelle fois ?
+
+Can I return to the shrine?
+
+
+Can we get back to that later?
+
+
+Can we keep %s at bay long enough?
+
+
+Can you bring me 3 @@? Of course, you'll be rewarded.
+
+
+Can you bring me 5 pieces of Cherry Cake? Pretty please?
+
+
+Can you come back with all the items I asked for? Please.
+
+
+Can you craft Chainmail Skirt?
+
+
+Can you craft Chainmail?
+
+
+Can you craft Light Platemail?
+
+
+Can you craft Savior Equipment?
+
+
+Can you craft Warlord Plate?
+
+
+Can you do something with my color?
+Peux-tu faire quelque chose avec ma couleur ?
+
+Can you do that? I'll be waiting!
+
+
+Can you fetch with her? 12 %s.
+
+
+Can you give me a @@ or a @@
+
+
+Can you give me a tip?
+
+
+Can you give me half the gold and half the monster points?
+
+
+Can you help me find some @@?
+
+
+Can you help me with Everburn Powder? I need 5.
+
+
+Can you help me?
+
+
+Can you improve my Light Platemail for me?
+
+
+Can you improve my Warlord Plate for me?
+
+
+Can you make me a Monster Potion?
+
+
+Can you mix Gem Powder?
+
+
+Can you mix me an agility potion?
+
+
+Can you please explain the task again?
+
+
+Can you please go away?
+Peux-tu t'en aller je te prie ?
+
+Can you please repeat your lesson?
+
+
+Can you repeat what you said before?
+
+
+Can you reset my stats please?
+Peux-tu réinitialiser mes statistiques s'il-te-plaît ?
+
+Can you search ##Bthe barrels##b for the bug bomb and set it off when you find it?
+Pourrais tu inspecter ##Bles tonneaux##b en quête de la bombe insecticide et la déclencher une fois que tu l'a trouvé ?
+
+Can you sing me a song?
+
+
+Can you teach me Mana Magic?
+
+
+Can you teach me a basic shaman skill? please?
+
+
+Can you teach me a spell?
+
+
+Can you teach me magic? Pretty please?
+
+
+Can you teach me some Alchemy Recipe?
+
+
+Can you, perhaps, do me a favor? Please... Check her house for any signs of battle.
+
+
+Can't I do anything, though?
+
+
+Can't blame you, can't blame you at all! Here, take a seat!
+
+
+Can't chat, recover HP over time
+
+
+Can't leave right now.
+
+
+Can't move nor attack, crit def -100%
+
+
+Can't move nor evade.
+
+
+Can't move, Acc. and Evade -20%%
+
+
+Can't move, DEF-, Damage over time, Earth element
+
+
+Can't move, DEF-, no evade, Water element
+
+
+Can't talk right now, I'm on patrol duty.
+Je ne peux pas parler là maintenant, je suis de patrouille.
+
+Can't use skills
+
+
+Can't you see I'm busy?
+
+
+Cancel
+
+
+Candied Slime
+Candied Slime
+
+Candle Helmet
+Candle Helmet
+
+Candor
+
+
+Candor - @@ GP
+
+
+Candor Battle Score: %s
+
+
+Candor Battle Season
+
+
+Candor Bloodbath Score: %s
+
+
+Candor Bola
+
+
+Candor Boots
+Candor Boots
+
+Candor Gloves
+
+
+Candor Head Band
+Candor Head Band
+
+Candor Island
+Candor Island
+
+Candor Island, then? Yes, that is a pretty island, right?
+
+
+Candor Scorpion
+Candor Scorpion
+
+Candor Shirt
+Candor Shirt
+
+Candor Shorts
+Candor Shorts
+
+Candor Survival : New Highscore: %s
+
+
+Candor Warp Crystal
+
+
+Candor's Nurse
+Candor's Nurse
+
+CandorShip
+
+
+Candy
+Candy
+
+Candy Cane
+Candy Cane
+
+Canyon - Safe Route
+
+
+Canyon - Settlement Route
+
+
+Cap
+Cap
+
+Captain
+
+
+Captain Cap
+Captain Cap
+
+Captain Nard
+Le capitaine Nard
+
+Captain Nard have it. Fetch it with him! Quick, you only have @@ left!
+
+
+Captain, why have you brought me to a deserted boring island?!
+
+
+Captcha ok
+
+
+Captcha successful
+
+
+Caramel Candy
+
+
+Cards are ranked on this priority: A - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - J - Q - K - Joker
+
+
+Careful: You have unsaved changes!
+
+
+Carla
+
+
+Carrot
+Carotte
+
+Casino Coins
+Casino Coins
+
+Cassia
+Cassia
+
+Cat Ears
+
+
+Catch the Golden Fish!
+
+
+Catch the golden fish swarm!
+
+
+Cato Mil
+
+
+Catty Cat
+
+
+Cauldron#MKHB
+
+
+Cauldron#RES_0128
+
+
+Cauldron#RES_PPL
+
+
+Cause a very strong attack with lowered accuracy.
+
+
+Causes a healing effect in area to guild members.
+
+
+Caution
+
+
+Cave Bat
+Cave Bat
+
+Cave Maggot
+Cave Maggot
+
+Cave Maggot
+
+
+Cave Snake
+Cave Snake
+
+Cave Snake Egg
+Cave Snake Egg
+
+Cave Snake Hat
+Cave Snake Hat
+
+Cave Snake Lamp
+
+
+Cave Snake Skin
+Cave Snake Skin
+
+Cave Snake Tongue
+Cave Snake Tongue
+
+Cave Snale
+
+
+CaveMaggot
+
+
+Celestia
+
+
+Celestia Season
+
+
+Celestia Tea
+
+
+Celestia asks for your help.
+
+
+Celestia eyes sparkles.
+
+
+Celestia hands you a cup filled with some type of tea that is unlike anything you have seen before.
+
+
+Celestia then picks up the cup of tea and drinks it in front of you to demonstrate that it is not only harmless but also quite delectable.
+
+
+Cell Door#G01
+
+
+Cell Door#G02
+
+
+Cell Door#G03
+
+
+Cell Door#K01
+
+
+Centaur
+Centaur
+
+Centaur Spear
+
+
+Central Switch#EP
+
+
+Centurion Helmet
+Centurion Helmet
+
+Certainly not. Uhh, please excuse me.
+
+
+Certainly, you can have all my Terranite Ore.
+
+
+Ch 1 — Fishing apparatus
+Ch 1 — Accessoires de pêche
+
+Ch 1 — Prologue
+
+
+Ch 2 — About Magic Skills
+
+
+Ch 2 — Baits
+Ch 2 — Appâts
+
+Ch 3 — Location
+Ch 3 — Emplacement
+
+Ch 3 — Status Ailments
+
+
+Ch 4 — Casting
+Ch 4 — Lancement
+
+Ch 4 — Information About You
+
+
+Ch 5 — Information About Others
+
+
+Ch 5 — Reeling
+Ch 5 — Tirer
+
+Chagashroom
+
+
+Chagashroom Field
+Chagashroom Field
+
+Chagashroom Field
+
+
+Chainmail
+Chainmail
+
+Chainmail Skirt
+Chainmail Skirt
+
+Chairs
+
+
+Chamomile Tea
+
+
+Championship Bow
+Championship Bow
+
+Change Crafting Options
+
+
+Change Language
+
+
+Change Linked Discord Account
+
+
+Change Season Event
+
+
+Change crafting method
+
+
+Change my appearance
+Changer mon apparence
+
+Change my quests
+Changer mes quêtes
+
+Change weapons
+
+
+Changes include but are not limited to festive events and dates.
+
+
+Chanting
+
+
+Chanting Challenge
+
+
+Chanting is extremely simple, and everyone can do it, even if they're not inate.
+
+
+Chaos shall be the founding stone of my town! Falling star!
+
+
+Char Name: @@
+
+
+Charda
+Charda
+
+Charda clean!
+
+
+Charles, Trader King
+
+
+Cheater detected! You have a three minutes sentence to fulfill, now.
+
+
+Cheater detected.
+
+
+Check @@ <= @@
+
+
+Checkpoint Guard#1
+
+
+Checkpoint Guard#2
+
+
+Checkpoint Guard#3
+
+
+Checkpoint Guard#4
+
+
+Checkpoint! Magic Barrier went down!
+
+
+Ched
+Ched
+
+Cheers!
+Tchao !
+
+Cheese
+Fromage
+
+Chef Gado
+Gado le Cuisinier
+
+Chef Hat
+Chef Hat
+
+Chef#dimond
+
+
+Cherry
+Cherry
+
+Cherry Cake
+
+
+Cherry Cocktail
+
+
+Chest Armor Recipes
+
+
+Chest#002-1
+Chest#002-1
+
+Chest#gemini
+
+
+Chestplates
+
+
+Chicken Leg
+Chicken Leg
+
+Chirp
+
+
+Chocolate Bar
+Chocolate Bar
+
+Chocolate Biscuit
+Chocolate Biscuit
+
+Chocolate Bunny
+Chocolate Bunny
+
+Chocolate Dye
+
+
+Chocolate Mouboo
+
+
+Chocolate Slime
+Chocolate Slime
+
+Chocolate Slime Mother
+
+
+Christmas
+Noël
+
+Christmas 2021 Joint Event
+
+
+Christmas Chief
+
+
+Christmas Cook
+
+
+Christmas Gift
+
+
+Christmas Storage Master
+
+
+Christmas Sweater
+
+
+Christmas Top 1 Prize
+
+
+Christmas Tree
+
+
+Cindy is gone...
+
+
+Cindy is too scared to leave; Better we kill the Yetis and their friends!
+
+
+Cindy#Outside
+
+
+Cindy#house
+
+
+Citizen
+
+
+Civil status: Married
+
+
+Civil status: Single
+
+
+Civilian traffic keeps declining but they keep bringing more crates back and forth! Crates filled with rubble!
+
+
+Clan Name: @@
+
+
+Claw Pendant
+Claw Pendant
+
+Clear the arena to leave!
+
+
+Cleared Gemini Sisters Quest %s ago
+
+
+Cleared Heroes Hold %s ago
+
+
+Cleared the Yeti King Challenge %s ago
+
+
+Clearly an exotic tea, with a refined flavor fit for a refined woman such as Celestia.
+
+
+Cleric Cap
+Cleric Cap
+
+Cleric Card
+
+
+Cleric Card S
+
+
+Cleric Card X
+
+
+Click "Next" to begin the fight.
+
+
+Click on Elmo or Magic Arpan to continue and begin the game...
+Cliquez sur Elmo ou Magic Arpan pour continuer et commencer le jeu ...
+
+Click on the NPCs (Non-Player Characters) around you to continue the introduction.
+Clique sur les PNJs (Personnages Non Joueurs) autour de toi pour continuer l'introduction.
+
+Climb on the walls!
+
+
+Close
+
+
+Closed Christmas Box
+
+
+Clotho Liquor
+Liqueur de Clotho
+
+Clover Field
+
+
+Clover Patch
+Clover Patch
+
+Coal
+Coal
+
+Coal (2 power)
+
+
+Cobalt Herb
+Cobalt Herb
+
+Cobalt Plant
+Cobalt Plant
+
+Coffee
+
+
+Coffee is good, why does the Mouboo refuse to drink it?
+
+
+Coffee! I'm awake now!
+
+
+Coin Bag
+
+
+Cold
+
+
+Colin
+
+
+Collaborate by giving this powder to Aurora, before it vanishes!
+
+
+Collect chocolate and love letters from the fluffies
+
+
+Collect easter eggs, and exchange them with Lilica!
+
+
+Collect the treasured crystals from treasure chests!
+
+
+Collect their %s as well, so our wizards can do their magic!
+
+
+Colonel DUSTMAN
+
+
+Colonel Dustman
+
+
+Come after a little while.
+Reviens après un petit peu de temps.
+
+Come ancient evil, and bleed everything!
+
+
+Come and visit again!
+
+
+Come back and give me more gifts!
+
+
+Come back in a few hours, and we can fix that!
+
+
+Come back when you are a higher level.
+
+
+Come back when you are at a higher level.
+
+
+Come back when you are stronger and we can trade.
+
+
+Come back when you are stronger.
+
+
+Come back when you are willing to spend money.
+
+
+Come back when you have everything.
+
+
+Come back when you have the Snake Eggs for me.
+
+
+Come back when you will really need me.
+
+
+Come meager magic, and hit spot.
+
+
+Come standard fire, and harm spot.
+
+
+Come talk to me once you manage to equip the shirt and the shorts!
+Viens me parler une fois que tu auras réussi à enfiler cette chemise et ce short!
+
+Come to my aid! Vanish this fool!
+
+
+Come to the bakery!
+
+
+Come try again, some other time.
+
+
+Come, Calling, and Cast are all the same thing.
+
+
+Come, my minions! Lay siege to towns! LEAVE NO OPPOSITION TO ME!
+
+
+Comfortable grip is important especially for newcomers, since they'll be holding it for quite a while.
+Une poignée confortable est tout particulièrement importante pour les débutants puisqu'ils la tiendront pendant un bon moment.
+
+Command not permitted on this map! Check npc/functions/weather.conf
+
+
+Commander Cadis
+
+
+Commander Povo
+
+
+Commands.
+
+
+Commmon Fluffy
+
+
+Common Carp
+Carpe Commune
+
+Common Drops:
+
+
+Common Drops: None
+
+
+Common Fluffy
+
+
+Common Maggot
+
+
+Common Mouboo
+
+
+Common Scorpion
+
+
+Community Decision
+
+
+Community Shirt
+
+
+Compact
+
+
+Compact forge stones
+
+
+Compatibility Support mode enabled. Client may crash AT RANDOM, beware.
+
+
+Compete for the first place, and remember to exchange silver
+
+
+Complaints Depto. temporaly closed, come back later
+
+
+Complete Quest?
+
+
+Complete quests, gain some experience, allocate some status, and you'll be ready for my training.
+
+
+Completed Crafts: @@/@@
+
+
+Completed The Episode of Ozthokk %s ago
+
+
+Completing this quest will allow access to the Guard House, where you can pick Daily Bounties for monsters.
+
+
+Compliments reaching this far, @@ from the @@ party!
+
+
+Confuse
+
+
+Congrats you passed the level cap of @@! Here is a(n) @@, you deserve it.
+Féliciations! Vous avez passé le cap du niveau @@! Voici un(e) @@, vous le méritez.
+
+Congrats! A pity it was not 777...
+
+
+Congrats! You are now part from the Pet Caring Guild. You can now buy pets! %%G
+
+
+Congrats! You rank up! You are now a(n) @@!
+
+
+Congrats, you did it.
+
+
+Congratulations in making this far, @@.
+
+
+Congratulations on reaching level 20!
+
+
+Congratulations on rescuing Cindy.
+
+
+Congratulations on rescuing Cindy. You should now talk to her before leaving.
+
+
+Congratulations to everyone who participated on the event, even those who didn't made to the top 10!
+
+
+Congratulations!
+
+
+Congratulations! Everything was correct!
+
+
+Congratulations! Here is your reward, a @@!
+
+
+Congratulations! Here is your reward.
+
+
+Congratulations! I've managed to process your paperwork. Here, you'll receive the starter kit!
+
+
+Congratulations! You've received participation rewards due to the Moubootaur Death.
+
+
+Congratulations. You really know about the world lore.
+
+
+Connor
+
+
+Consider it an insurance policy. Besides, %s isn't exactly easy to come by.
+
+
+Constable
+
+
+Constable Perry
+
+
+Contact a GM at Migglemire - the small town at center of swamps - to trigger the final showdown.
+
+
+Continue anyway?
+
+
+Continue anyway? You'll die if your allies cannot protect you!
+
+
+Continue?
+
+
+Contributor Sweater
+
+
+Converts all your mana in damage. Damages all enemies in same tile.
+
+
+Cooking Recipes
+
+
+Cooking Recipes.
+
+
+Cool story, bro!
+
+
+Cool, an airship!
+
+
+Cool, thank you.
+
+
+Cool, thanks.
+
+
+Copper Armbands
+Brassards Cuivrés
+
+Copper Chest#Saulc
+
+
+Copper Ingot
+Copper Ingot
+
+Copper Key
+
+
+Copper Ore
+Copper Ore
+
+Copper Ore -> Iron Ore
+
+
+Copper Skull Slime
+
+
+Copper Slime
+Copper Slime
+
+Copper Slime Mother
+
+
+CopperSlime
+
+
+Coral
+Corail
+
+Correct
+
+
+Corsair
+
+
+Corsair Hat
+
+
+Cost per %s glass:
+
+
+Cost per two glass:
+
+
+Cost: %d GP/min
+
+
+Cost: 1 @@
+
+
+Cost: @@ gp per bottle.
+
+
+Cotton
+
+
+Cotton Boots
+Cotton Boots
+
+Cotton Cloth
+Cotton Cloth
+
+Cotton Cloth (1 power)
+
+
+Cotton Cloth is sold at Candor, Croconut Boxes can be bought at the market. Fish, however, is a little more tricky.
+
+
+Cotton Gloves
+
+
+Cotton Shirt
+
+
+Cotton Shorts
+
+
+Cotton Skirt
+Cotton Skirt
+
+Cotton Trousers
+
+
+Could I go back to that cave? It's a good farm spot.
+
+
+Could you *hic* do me a favor? Arkim, on a cave southeast of *hic* here, is collecting some stuff.
+
+
+Could you awake my lost and forsaken potential?
+
+
+Could you bleach my equipment?
+
+
+Could you bring me %d %s? That'll help me to finish this.
+
+
+Could you explain to me where I am?
+Peux-tu me dire où je me trouve ?
+
+Could you first explain me why so many items?
+Pourrais-tu d'abord m'expliquer pourquoi tant d'objets?
+
+Could you head deep in the woods and track him down?
+
+
+Could you perhaps help me to find all kids?
+
+
+Could you please ask @@ about it? The ingredients... It would still be my fault...
+
+
+Could you please bring me @@ @@ and @@ @@? I'll give you a bunch of herbs if you help me!
+
+
+Could you please dispose my failed experiment, first?
+
+
+Could you please give us a full meal, with 5 @@, 5 @@, 5@@, 5 @@ and 5 @@?
+
+
+Could you sell me a treasure map and a shovel?
+
+
+Could you tell me where I am?#0
+Peux-tu me dire où je me trouve ?
+
+Could you tell me where I am?#1
+Peux-tu me dire où je me trouve ?
+
+Could you try again, please?
+
+
+Could you try again? There could be a typo!
+
+
+Could you, perhaps, bring me %d %s? That'll help me to finish this.
+
+
+Couldn't you climb the rope?
+
+
+Councilor Crazyfefe
+
+
+Councilor Jak1
+
+
+Councilor Jesusalva
+
+
+Councilor LawnCable
+
+
+Councilor Saulc
+
+
+Countdown: 1 minute
+
+
+Countdown: 1 minute - Kill %s!
+
+
+Counter Attack
+
+
+Coward Card
+
+
+Craft @@
+
+
+Craft Recipe
+
+
+Crafters are now paying taxes.
+
+
+Crafters no longer pays taxes. (Tax exempt)
+
+
+Crafting
+Crafting
+
+Crafting Accuracy
+
+
+Crafting Attack
+
+
+Crafting Basic Skills
+
+
+Crafting Boss Techiniques
+
+
+Crafting Defense
+
+
+Crafting Double Power
+
+
+Crafting Evasion
+
+
+Crafting Exp Up
+
+
+Crafting Mana Economy
+
+
+Crafting Max Stats
+
+
+Crafting Recipes
+
+
+Crafting Recipes.
+
+
+Crafting Regeneration
+
+
+Crafting SC Inflict
+
+
+Crafting SC Resist
+
+
+Crafting Score: %d.%02d
+
+
+Crafting Skill Level: @@
+
+
+Crafting Skill: Lv @@
+
+
+Crafting Speed
+
+
+Crafting Status
+
+
+Crafting Table
+
+
+Crafting method:
+
+
+Crafting rules changed! Your crafting skill was lowered to Level 5, talk to Craftmaster to recover it!
+
+
+Craftsman/Craftswoman
+
+
+Crafty
+Crafty
+
+Crazy
+
+
+Crazy Cadis Ultimate Pandorica Mode
+
+
+Crazy Mode
+
+
+Crazy Rum
+
+
+Crazy stuff can happen in overall. YOU HAVE BEEN WARNED TO UPDATE YOUR CLIENT.
+
+
+Crazyfefe
+
+
+Crazyfefe Card
+
+
+Crazyfefe Cave: New Highscore: @@ points
+
+
+Crazyfefe Mode
+
+
+Creased
+
+
+Creased Boots
+Creased Boots
+
+Creased Gloves
+Creased Gloves
+
+Creased Shirt
+Chemise Froissée
+
+Creased Shorts
+Short Froissé
+
+Create PIN Number
+
+
+Create a natural wall under the cursor, to delay your enemies.
+
+
+Create new arena
+
+
+Creating a guild is not for the faint of heart. You cannot share experience or drops.
+
+
+Creating a party has some advantages, it's a pretty good choice!
+Créer un groupe a plusieurs aventages, c'est un choix judicieux !
+
+Crimson Dye
+
+
+Crit +5%
+
+
+Critical Fortune
+
+
+Croc
+Croc
+
+Croc Claw
+Pince de Croc
+
+Croconut
+Noix de Croco
+
+Croconut Box
+Boîte de Croconuts
+
+Croconut Box magically became two in inventory. Storage unaffected.
+
+
+Croconut Tree
+
+
+Crocotree
+Crocotree
+
+Crocs are dangerous and very healthy, but very slow. Use that on your advantage.
+Les Crocs sont dangereux et trés résistants, mais très lents. Utilise cela à votre avantage.
+
+Cronqvist Mode
+
+
+Cronqvist mode is only available during Candor Battle.
+
+
+Crozenite Four-Leaf Amulet
+Crozenite Four-Leaf Amulet
+
+Crusade Armor
+Crusade Armor
+
+Crusade Helmet
+Crusade Helmet
+
+Crypt
+
+
+Crypt#Fefe
+
+
+Crystal based technology can break if used too often. Try taking longer between each warp to raise their lifetime.
+
+
+Crystal#0065
+
+
+Crystallized Maggot
+Crystallized Maggot
+
+Ctrl
+Ctrl
+
+Cuf! Cuf!
+
+
+Curiously, you try to touch the Mana Stone.
+
+
+Current Boss: %s
+
+
+Current Guild Balance: %s GP
+
+
+Current Guild: %s
+
+
+Current Magic Control
+
+
+Current Quest Progress: @@/10,000 kills
+
+
+Current Rankings
+
+
+Current Room password: @@
+
+
+Current Spawn Mode:
+
+
+Current Town Administrator:
+
+
+Current arena player count: @@ on map. (Min. 3 to begin event)
+
+
+Current date: %d
+
+
+Current drop rate is set to @@%, and will reset to @@% (default value) in @@.
+
+
+Current event: @@
+
+
+Current exp rate is set to @@%, and will reset to @@% (default value) in @@.
+
+
+Current hero: @@
+
+
+Current linked Discord account: @@
+
+
+Current magic rank: %d
+
+
+Current player count: @@/5 must be online.
+
+
+Current score: %s
+
+
+Current score: @@
+
+
+Currently, there is no event going on.
+
+
+Currently, you should not attempt the Desert Canyon because low level.
+
+
+Currently, you stand no chance against the Snakes on the Desert Canyon, but you probably can cross it.
+
+
+Currently, you stand no chance against the Snakes on the Desert Canyon.
+
+
+Curse
+
+
+Cursed Ammo Box
+
+
+Cursed Archer Soldier
+
+
+Cursed Arrow
+Cursed Arrow
+
+Cursed Arrows
+
+
+Cursed Foot Soldier
+
+
+Cursed Scythe
+
+
+Cursed Skull
+
+
+Curshroom
+Malédichamp
+
+Custom
+
+
+Customize attack delay!
+
+
+Customize evasion!
+
+
+Customize hit rate!
+
+
+Cut the chat short and go straight to the point!
+
+
+Cute Maggot
+Cute Maggot
+
+Cutscenes
+
+
+Cyan Butterfly
+Cyan Butterfly
+
+Cyndala
+Cyndala
+
+Cynric
+Cynric
+
+D'oh, what a terrible shot!
+
+
+DANGER
+
+
+DANGER!
+
+
+DEBUG: Changing @@ field @@ to something else.
+
+
+DEBUG: Changing @@, Values: (@@, @@, @@).
+
+
+DEF-, Damage over time, no MP regen
+
+
+DEV Cap
+DEV Cap
+
+DIE!
+
+
+DIE, FILTHY @@!
+
+
+DIE, SCUM!
+
+
+DO NOT ENTER.
+
+
+DO YOU WANT TO REROLL THE ITEM? THIS CANNOT BE UNDONE! (free)
+
+
+Dagger
+Dagger
+
+Dagger Crafting recipe learnt.
+
+
+Dah Yeti King!!
+
+
+Daily Event Bonus: %d Points!
+
+
+Daily Login Rewards
+
+
+Damage Improvement
+
+
+Damage can be harm, slap, hit, cut and bite; But other keywords can deal more damage.
+
+
+Damage isn't the only magic chanting can do.
+
+
+Damage over time, MDF -25%%
+
+
+Dan#002-1
+Dan#002-1
+
+Dang Rostra
+
+
+Dangerous Area
+
+
+Dark Crystal
+Dark Crystal
+
+Dark Crystal (5 power)
+
+
+Dark Desert Mushroom
+
+
+Dark Eggshell Hat
+Dark Eggshell Hat
+
+Dark Forest : %s monster(s) left
+
+
+Dark Helm
+
+
+Dark Knight Helmet
+Dark Knight Helmet
+
+Dark Lizard
+Dark Lizard
+
+Dark Petal
+Dark Petal
+
+Dark Pulsar
+Dark Pulsar
+
+Dark Red Dye
+
+
+Dark Talisman
+Dark Talisman
+
+Darkness fills your vision...
+
+
+Darug
+
+
+Date: 2019-03-05, 03:14 UTC
+
+
+Date: 2020-03-27, 01:30 UTC
+
+
+Date: 2020-04-05, 14:40 UTC
+
+
+Date: 2021-02-24, 02:36 UTC
+
+
+Dausen Quest - @@ @@ killed
+
+
+Dead End
+
+
+Dead Tree#297to298
+
+
+Deadly Poison
+
+
+Deal!
+
+
+Deal.
+
+
+Deal. Here you go.
+
+
+Deal. Pleasure doing business with you.
+
+
+Dealing with elves is too bothersome to me.
+
+
+Dear @@, I send you this gift in hopes you do well in TMW2.
+
+
+Death Cat
+Death Cat
+
+Death Potion
+
+
+Debug
+Débogage
+
+Debug - Modify Race
+Debug - Modify Race
+
+Debug - Reset
+Débogage - Réinitialisation
+
+Debug Information
+Debug Information
+
+December 19th - January 2nd
+
+
+Decipher me... Or I will devour you...
+
+
+Decoration
+
+
+Deep Black Boots
+Deep Black Boots
+
+Deep Sleep
+
+
+Deep sorrow and sadness, this is the Forgotten Shrine.
+
+
+Def +20
+
+
+Default
+
+
+Default: %d, use 0 to cancel
+
+
+Defeat Conditions: Sagratha gets killed!
+
+
+Defeat Conditions: Time run out!
+
+
+Defeat Conditions: Your death!
+
+
+Defeat a few waves of Soren's House. Once you're done, this will become a warp. Hurry before it closes.
+
+
+Defeated the Moubootaur (Sealed) %s ago
+
+
+Defeating him would not only stop monster invasions, but it would also bring magic back... And probably another war, over the mana stones. %%S
+
+
+Defeating is entirely optional. They usually give more experience than the average, but are much stronger and dangerous.
+
+
+Defeating it will advance the round. How far can you survive?
+
+
+Definitely not suspcious at all.
+
+
+Delicious Cookie
+Délicieux Cookie
+
+Deliver @@ @@ to @@?
+
+
+Deliver it to Zitoni on my name. He'll trust it. The relation between me and Zitoni... goes way back.
+
+
+Deliver the %s to retrieve Miler's memeto?
+
+
+Deliver the items to Sagratha?
+
+
+Deliver the potions to Sagratha?
+
+
+Demure Axe
+
+
+Demure Card
+
+
+Demure First Form
+
+
+Demure Second Form
+
+
+Demure accepts challengers,
+
+
+Demure#Valentine
+
+
+Demure's Axe
+
+
+Demure, Queen of Dragons
+
+
+Depending on the case, Nicholas, in Hurnscald, can do a better job than me.
+
+
+Deploy to Dangerous Area [6h]
+
+
+Deploy to Herb Fields [1h]
+
+
+Deploy to Monster King Basement [8h]
+
+
+Deploy to Ore Mines [2h]
+
+
+Deploy to Piou Fields [1h]
+
+
+Deploy to Rare Mines [2h]
+
+
+Deploy to Slime Nest [2h]
+
+
+Deploy to Snake Pit [3h]
+
+
+Deploy to The Market [1h]
+
+
+Deployed!
+
+
+Deposit all
+
+
+Deposit.
+Dépôt.
+
+Der Schneemann
+
+
+Der Schneemann has been defeated: %s Monster Points gained.
+
+
+Descend into Tulimshar sewers?
+
+
+Descend into the small corritor?
+
+
+Description: For starters, I'll blow away all your summons and summon an ent. You must do the most damage to it within 10 seconds.
+
+
+Description: Reach the other side of the maze and defeat the %s as quick as possible.
+
+
+Description: Similar to Intensive Mage, but measures mana experience - meaning even less skills will count, and swapping skills give a better effect.
+
+
+Description: Survive for the longest you can without leaving the designed region.
+
+
+Description: There'll be differently colored sparks and you must kill ONLY those of the color I say so! Failure to do so will cause immediate disqualification!
+
+
+Description: Use a lot of magic spells, regardless of type or raw strength. Points earned by skill level.
+
+
+Description: Use chant-based magic. All chants score equally.
+
+
+Description: Use support skills and win the event with the power of FRIENDSHIP!
+
+
+Description: Whoever crafts more potions, regardless of type, wins this event.
+
+
+Desert Bandit
+Desert Bandit
+
+Desert Hat
+Desert Hat
+
+Desert Helmet
+Desert Helmet
+
+Desert Log Head
+Desert Log Head
+
+Desert Maggot
+Desert Maggot
+
+Desert Pirate
+
+
+Desert Shirt
+Desert Shirt
+
+Desert Tablet
+Desert Tablet
+
+Desert Thief Card
+Desert Thief Card
+
+Despite its initial dubious fragrance, the tea comes off as very smooth and mellow with a bit of natural sweetness and a touch of an earthy forest like flavor, but in a very good way.
+
+
+Destroy all mobilia
+
+
+Destroyed by the fire
+
+
+Destroys everything in a line (earth). Boosts allied forces DEF.
+
+
+Detailed Information
+
+
+Determinate, you move your hand to grab it.
+
+
+Determine Team Size (If everyone is ready and stdby at Tulimshar, use: @@. Minimum 2 players.)
+
+
+Determine Team Size +1 (so 1 each side, use 2)
+
+
+Developer Cap
+
+
+Devis
+Devis
+
+Dex Potion
+
+
+Dex+ Potion
+
+
+Dex++ Potion
+
+
+Dexterity
+Dextérité
+
+Dexterity Fruit
+
+
+Diamond
+Diamond
+
+Diamond (+2 vit)
+
+
+Diamond Bif
+Diamond Bif
+
+Diamond Powder
+Diamond Powder
+
+Diary#Fefe
+
+
+Diary, 12nd December 298 AT
+
+
+Diary, 1st April 298 AT
+
+
+Diary, 21st June 297 AT
+
+
+Diary, 2nd March 300 AT
+
+
+Diary, 31st May 297 AT
+
+
+Diary, 3rd August 299 AT
+
+
+Diary, 3rd March 300 AT
+
+
+Did I received any mail?
+
+
+Did I said the best craftsman and craftswoman in the world are here? @@, the legendary bow, was proudly crafted by the first king of Frostia!
+
+
+Did something happen?
+Quelque chose ne vas pas?
+
+Did this Mouboo just blink? No, I made sure it was truly dead. Must have been my imagination.
+
+
+Did we brought everything Naem asked?
+
+
+Did you bring everything?
+
+
+Did you bring the supplies?
+
+
+Did you brought everything I ask for?
+
+
+Did you brought me 12 %s?
+
+
+Did you brought me 12 @@ and 4 @@? The @@ is waiting for you, sharp sharp!
+
+
+Did you brought me 7 @@?
+
+
+Did you brought me a %s?
+
+
+Did you brought me an souvenir from Tulimshar?
+
+
+Did you brought me everything I asked for?
+
+
+Did you brought me the %d/%d %s?
+
+
+Did you brought me the feathers?
+
+
+Did you brought us a kind gift of good will, on the worth of %d %s, to offer to our King?
+
+
+Did you brought what I asked for?
+
+
+Did you came here by someone advise? If yes, write their name down here!
+
+
+Did you find some bookpages? Ensio will take them.
+
+
+Did you got an @@ yet? That book have great insight on several details concerning mana and its usages!
+
+
+Did you got everything I've asked?
+
+
+Did you got the %d %s I've asked?
+
+
+Did you just make up that someone?
+
+
+Did you knew May 25th it is a very special day - the Towel Day?
+
+
+Did you knew about the legend of Aethyr? I've heard the path to it was somewhere to the west of our old village... And some stuff about passwords... Hehe, I don't remember!
+
+
+Did you knew about the legend of Aethyr? I've heard the path to it was somewhere to the west of our old village... And some stuff about passwords... I'm not sure if I remember!
+
+
+Did you knew some crazy adventurers insists there is a Mana Stone on the dangerous caves inside the town?
+
+
+Did you knew that %s was the wizard whom sealed the path to Aethyr, the sacred elf land? I wonder what happened afterwards.
+
+
+Did you knew the casino on the inn up here was one of the most expensive on the whole world?
+
+
+Did you like it? Find me tomorrow, until day @@, for another gift!
+
+
+Did you noticed how no monster got close to it?
+
+
+Did you said reward?!
+Tu as dit récompense?!
+
+Did you see Jhedia the blacksmith in Tulimshar? She might know how you could get this.
+
+
+Didn't he give you anything?
+
+
+Die already!
+
+
+Die now!!
+
+
+Die, your evil Yeti!
+
+
+Different kind of monsters live near the city. For example, blubs. I have no idea of what are those.
+
+
+Different warp systems overlaps each other, so the cooldown is carried over regardless of the technology you use.
+
+
+Difficulty?
+
+
+Dimond
+
+
+Dimond sold her food alone in this spot for some time,
+
+
+Dimond's Cove
+
+
+Dimonds Cove Story
+
+
+Direction for Pirate Caves
+
+
+Directions:
+
+
+Disable
+Désactivé
+
+Disable BG
+
+
+Disable Event
+
+
+Disabled
+
+
+Disarm process aborted: Disarmer is dead.
+
+
+Disarm process aborted: Disarmer is out of reach.
+
+
+Disarm process aborted: Insufficient mana to proceed.
+
+
+Disarmed with success for: @@
+
+
+Discard
+Abandon
+
+Disconnect
+
+
+Discord Necklace
+
+
+Diseased Heart
+Diseased Heart
+
+Display daily reward screen:
+
+
+Divine Apple
+Divine Apple
+
+Divine Sword
+Divine Sword
+
+Divine Water
+
+
+Divorce error!
+Erreur de divorce.
+
+Do I look like a tree? I feel like one.
+Est-ce que je ressemble à un arbre ? J'ai l'impression d'en être un.
+
+Do a weird dance
+
+
+Do as I told you, and talk to Alan for the bow!
+
+
+Do as much as possible.
+
+
+Do it!
+
+
+Do not attempt to go there again.
+
+
+Do not break my seal to prevent the curse from reaching Kamelot.
+
+
+Do not disconnect while waiting. You need 100% HP to donate.
+
+
+Do not enter in this storehouse, the maggots there will kill you.
+
+
+Do not give your password to anybody! Keep it secret and try not to use the same one anywhere else in the future. - Juliet
+
+
+Do not hesit to purchase furniture. The furniture belongs to the house, so if you lose the house, you'll lose it, too. But apartments are never rent to someone else!
+
+
+Do not let intimacy and hunger get to zero. If any of those get to zero, it'll leave you forever.
+
+
+Do not open. Do not attempt to eat. Be careful with it, to don't cause any time paradoxes. I also heard a NPC may be interested on that, by the way!
+
+
+Do not rebirth
+
+
+Do not think you can defeat me yet!
+
+
+Do not worry with me, youngling... I'll be fine.#0
+
+
+Do not worry with me, youngling... I'll be fine.#1
+
+
+Do not worry, I have them right here.
+
+
+Do not worry, I'll be back in a jiffy.
+
+
+Do note that abuse will cause both you and the person you vouched for to be kicked from the Academy! So be mindful with to whom you give titles.
+
+
+Do nothing
+Ne rien faire
+
+Do some paperwork
+
+
+Do you accept special requests?
+
+
+Do you accept special requests? Could you make me a really good bow?
+
+
+Do you believe I've lost my @@? I can't see anything well without that! %%a
+
+
+Do you even know what a bow is?
+
+
+Do you have a clue about what went wrong?
+
+
+Do you have an extra of 11 @@ for me?
+
+
+Do you have any last wishes before being JAILED for your CRIMES?!
+
+
+Do you have any questions?
+As-tu des questions?
+
+Do you have any tips for beginners?
+
+
+Do you have anything else to read?
+
+
+Do you have mental issues? I mean, of course there is a secret passage there!
+
+
+Do you have my @@?
+
+
+Do you have non-ranged weapons?
+
+
+Do you have something to exchange with me? Or perhaps you want a Grand Hunter Quest?
+
+
+Do you have that for me?
+
+
+Do you have that with you?
+
+
+Do you have that? I have the other materials but I couldn't get it... @@ are too dangerous, they are level @@ monsters.
+
+
+Do you have the @@/11 @@ I requested? The sailors are starving because of you!
+
+
+Do you know @@? It's a poisonous food you can't find around here. It can be made edible with special prepare.
+
+
+Do you know Land Of Fire Village? It is west of Hurnscald and is a major town.
+
+
+Do you know anything about the strange visitor?
+
+
+Do you know how to count, maggot? %%5
+
+
+Do you know someone called Braknar?
+
+
+Do you know something about 'Mylarin Dust'?
+
+
+Do you know the warp crystals? We did them. Did you saw the great warp gate at the town entrance? It was us!
+
+
+Do you know what a Soul Menhir is?
+
+
+Do you know what happened to the gold I had when you guys saved me?#0
+Saurais-tu ce qu'il est arrivé à l'argent que j'avais quand vous m'avez sauvée ?
+
+Do you know what happened to the gold I had when you guys saved me?#1
+Saurais-tu ce qu'il est arrivé à l'argent que j'avais quand vous m'avez sauvé ?
+
+Do you know where I can find Nard?
+
+
+Do you know where I can level up?
+
+
+Do you know where my brother Enzo is? I forgot that too!
+
+
+Do you know where the party is? It's at Halin, to get there you need to pass through the Desert Canyon.
+
+
+Do you like fairies? Well, you should love them! We play with humans all the time, it is usually pretty fun...
+
+
+Do you make Lifestones?
+
+
+Do you make any other kind of potions?
+
+
+Do you make anything else?
+
+
+Do you need a refresher of the rules?
+
+
+Do you need any more help?
+
+
+Do you need anything else?
+
+
+Do you need help?
+
+
+Do you need my help?
+
+
+Do you need something from me?
+
+
+Do you need something in particular?
+
+
+Do you need the extra credit?
+
+
+Do you really have to ask? I am a fairy...*sigh*
+
+
+Do you see that fancy house over there? My husband, @@, used to live there.
+Tu vois la belle maison làbas ? Mon mari, @@, y habitait.
+
+Do you see the crocs, with their claws and hard shell? They have high defense, this means your attacks deal less damage.
+
+
+Do you see the professor on the next room? Listen to his boring speech for @@. There are the materials for the class.
+
+
+Do you sell anything here?
+
+
+Do you sell tea?
+
+
+Do you still need help with your experiments?
+
+
+Do you think I could join the Alliance?
+
+
+Do you think I'm ready to go to Halinarzo?
+
+
+Do you think he may have had something to do with the accident? We're a very hospitable house, so I didn't see a reason to deny him the entrance. I mean, his mask might have been a bit unusual, but hey, there could've been many reasons why someone would wear a mask, don't you think?
+
+
+Do you think that is funny?
+
+
+Do you think yourself worthy of my power?
+
+
+Do you want a tip? "It's not suicide if you know how to swim."
+
+
+Do you want any monster killed?
+
+
+Do you want me to prepare more chocolate box for you? For that I'll need:
+
+
+Do you want me to teach you how to improve an existing skill with MAGIC? There are no better mages than Mouboos!
+
+
+Do you want more coffee?
+
+
+Do you want one?
+
+
+Do you want to advance?
+
+
+Do you want to begin the %s Dungeon?
+
+
+Do you want to break open this %s?
+
+
+Do you want to change your race?
+
+
+Do you want to craft @@? For that I will need @@ @@, @@ @@ and @@ gp.
+
+
+Do you want to craft @@? For that I will need:
+
+
+Do you want to cross to the other side? You'll need to find the sea to return here if you do.
+
+
+Do you want to do something else?
+
+
+Do you want to exchange some of your @@ @@ for items?
+
+
+Do you want to get a reward nonetheless? You will lose @@.
+
+
+Do you want to go against the Monster King now? The event will start 18:30 UTC sharply.
+
+
+Do you want to go there? The Red Wizard may be able to offer you training.
+
+
+Do you want to go to Fortress Island, where the Monster King lives?!
+
+
+Do you want to go to the left, the right or stay where you are?
+
+
+Do you want to help? I promise you no reward, so you will do it of your own will.
+
+
+Do you want to hire a mercenary? Or perhaps get a card so you can invoke them later? I can even make them stronger if you wish.
+
+
+Do you want to make %s?
+
+
+Do you want to make sake?
+
+
+Do you want to make wine?
+
+
+Do you want to marry @@?
+Veux-tu épouser @@ ?
+
+Do you want to open this chest?
+
+
+Do you want to participate on Call Of Dusty?
+
+
+Do you want to play a song?
+
+
+Do you want to put it out, or to make it brighter?
+
+
+Do you want to re-roll?
+
+
+Do you want to read again the instructions?
+
+
+Do you want to read it?
+Veux-tu le lire ?
+
+Do you want to read the story again? Or should we get to the most obvious point?
+
+
+Do you want to rent a Mouboo? It allows quick traveling!
+
+
+Do you want to rent a Tortuga? It allows quick traveling!
+
+
+Do you want to restore it, or to keep breaking it?
+
+
+Do you want to return to Land Of Fire Village?
+
+
+Do you want to return?
+
+
+Do you want to start?
+
+
+Do you want to trade your points? The demand keep raising, and so does the price!
+
+
+Do you want to try to find them? Just search the first five floors: Novice, Intermediary, Advanced, Expert and Master.
+
+
+Do you want to use the souls to unlock the passage?
+
+
+Do you wish to return to the Academy?
+
+
+Do you, perchance, have 2 @@ and 3 @@?
+
+
+Doctor
+
+
+Dodge Potion
+
+
+Does it counts to Honor Ranking?
+
+
+Doesn't it feel good to help?
+
+
+Dog Statue#Saggy
+
+
+Doggy Dog
+
+
+Doll
+Doll
+
+Don't ask.
+
+
+Don't be afraid of death. Of course, in most places, dying will make you lose some Experience you gathered.
+
+
+Don't be deemed unworthy,
+
+
+Don't believe anything they tell you! Here, take this, so you can defend yourself. And some food, now leave.
+
+
+Don't bore me.
+
+
+Don't bother me, I'm busy right now. Since the Monster King left, I barely got a night of rest...
+
+
+Don't break my stuff.
+
+
+Don't challenge the Moubootaur. You saw what happened to me.
+
+
+Don't change race
+
+
+Don't cry any further. I am here to help.
+
+
+Don't deploy
+
+
+Don't distract me, I have to stay alert.
+Ne me distrais pas, je dois rester concentré.
+
+Don't do theee... *hic* with me eh!
+Ne joue pas à ça... *hic* avec moi, hein !
+
+Don't fill
+
+
+Don't fix.
+
+
+Don't forget to collect and eat any chocolate sent to you, too!
+
+
+Don't forget to come as close as possible to these spots!
+
+
+Don't go alone, though! He would not listen to me, it is not you alone he'll pay attention. You will lose reagents!
+
+
+Don't interrupt me, I'm busy!
+
+
+Don't just stand here! Go fetch help, NOW!!
+
+
+Don't pay.
+
+
+Don't rent a mouboo.
+
+
+Don't rent a tortuga.
+
+
+Don't rent it
+
+
+Don't say anything, I can smell the scent of Helena's hair on you.
+
+
+Don't speak to me crazy guy!
+
+
+Don't spin it!
+
+
+Don't tax crafters
+
+
+Don't try to trick me, this attracts bad karma! You could get stolen on Christmas! Seriously, this has happened before!
+
+
+Don't upgrade it
+
+
+Don't warp
+
+
+Don't we know any Yeti specialist? Maybe Celestia?
+
+
+Don't worry if they don't correspond to you. Each box sent will grant you 1 event point.
+
+
+Don't worry ma'm, I'll recover the Treasure Keys at once.
+
+
+Don't worry, I'll stay at the caves.
+
+
+Don't worry, I've tweaked my formula this time. Here is some experience and let's try again!
+
+
+Don't worry, third time is the charm. Here is some experience. Let's try again.
+
+
+Don't you have any exploit of your own?
+
+
+Donate 1/@@ @@ to Ensio?
+
+
+Donate 100 GP for prize
+
+
+Donate 100k GP for prize
+
+
+Donate 10k GP for prize
+
+
+Donate 15 GP for prize
+
+
+Donate 1k GP for prize
+
+
+Donate 250k GP for prize
+
+
+Donate 25k GP for prize
+
+
+Donate 5 GP for prize
+
+
+Donate 50 GP for prize
+
+
+Donate GP
+
+
+Donate a Bat Teeth
+
+
+Donate a Bat Wing
+
+
+Donate to town
+
+
+Donating blood is a noble act, which allows to save lifes.
+
+
+Donating blood will BLOCK YOUR MOVEMENT for three minutes.
+
+
+Donation completed.
+
+
+Donation successful!
+
+
+Done!
+
+
+Doorbell is disabled
+
+
+Doorbell#RES_0096
+
+
+Doorbell#RES_0097
+
+
+Doorbell#RES_0128
+
+
+Doorbell#RES_0177
+
+
+Doorbell#RES_0178
+
+
+Doorbell#RES_PPL
+
+
+Doppelganger Challenge Ranking
+
+
+Doppelganger Challenge, @@ began the fight!
+
+
+Doppelganger Waves Won: %s
+
+
+Double Attack +5%
+
+
+Doubled.
+
+
+Doug
+
+
+Downgrade Ore
+
+
+Downgrade Scorpion Claw
+
+
+Downgrade Scorpion Stinger
+
+
+Downgrade Snake Egg
+
+
+Downgrade Snake Skin
+
+
+Downgrade Snake Tongue
+
+
+Dracoula
+
+
+Drag and drop a %s in a %s, and you will obtain a %s.
+
+
+Drag and drop a healing item from your inventory.
+
+
+Drag and drop an item from your inventory.
+Glisse et dépose un item de ton inventaire.
+
+Drag and drop here the item you want to remove the options.
+
+
+Dragon Eggshell
+Dragon Eggshell
+
+Dragon Horn
+
+
+Dragon Scales
+Dragon Scales
+
+Dragon Shield
+Dragon Shield
+
+Dragon Star
+
+
+Dragon Star Card
+
+
+DragonStar, Aisen
+
+
+Dragonfruit
+
+
+Dragons and Toast
+
+
+Dragonstar and Aisen did their best along many others, and managed to liberate Hurnscald, though!
+
+
+Drahcir
+
+
+Drains your MP bar to replenish target's. Doesn't go past 100%.
+
+
+Dreaded Pirate Marley
+
+
+Dream Ticket
+
+
+Dream Tower
+
+
+Dream Tower Appears
+
+
+Dress up! Do not walk without clothes! Always wear your items! They leave you less vulnerable to attacks and stronger to defeat your opponents.
+
+
+Drink the potion
+
+
+Drink the potion, and say magic words
+
+
+Drinking what drink is like having your brain smashed out by a slice of lemon wrapped round a large gold brick?
+
+
+Drinking with friends will give 1.5% extra XP boost for each person nearby.
+
+
+Drop a coin to hear how deep it is
+
+
+Drop rate has been reset to @@% (default value).
+
+
+Drop rate is set to @@% for the next @@.
+
+
+Drop these near the circle to make the breaking faster.
+
+
+Drowned Man
+
+
+Drueme
+
+
+Druid Card
+
+
+Druid Card S
+
+
+Druid Card X
+
+
+Druid Tree Branch
+Druid Tree Branch
+
+Duck
+Duck
+
+Duck Egg
+
+
+Duck Elder
+
+
+Duck Elder : Success! The pirates have been thwarted.
+
+
+Duck Elder : We have failed. The pirates will regroup and replenish their fallen. They will strike again, until we are defeated.
+
+
+Duck Feather
+Duck Feather
+
+Duck Initiate
+
+
+Duck Soldier
+
+
+Ducks and Giant Maggots also drops Cherry Cakes.
+
+
+Due this bug, you didn't got a proper amount of points per sent. We wanted to deliver you a token of apology!
+
+
+Due to a recent incident involving slimes, the building is closed to public visits.
+
+
+Dummy
+Dummy
+
+Dungeon Map
+
+
+Dungeon cleared!
+
+
+During Valentine 2020, you can get event equipment with the Soul Stone.
+
+
+During cutscenes, you cannot move. If you do, you'll be forcibly pushed back.
+
+
+During night the professor also goes to the Magic Academy, using the hidden north port, on the building to left of the Magic Council...
+
+
+During night, the monsters usually respawn faster. That can be a problem with aggressive monsters.
+
+
+During summer, more Tonori Delight can be produced.
+
+
+During the war, the Monster King cursed the place where he died, but he fought back, and cursed the curse.
+
+
+During this season, Gemini Quest can be done with parties of 6.
+
+
+During this season, challenges to Crazyfefe will be free.
+
+
+During this season, monster point gain is increased in %d%%!
+
+
+During this season, you can summon the Yeti King for free.
+
+
+Dust In A Bottle
+
+
+Dustynator 2000
+
+
+Dwarf Craftsmaster
+
+
+Dwarven Sake
+
+
+Dye cards are not the only thing which exist, but they are the coolest!
+
+
+Dye? How can you do that without a cauldron?
+
+
+Dyes are a special kind of ink to make certain objects fancier.
+
+
+Dying inside the Heroes Hold Main Dungeon does not have a penalty. However, dying outside the castle have.
+
+
+Dying outside a town square will cause EXP loss.
+
+
+Dying will also decrease the pet intimacy, and there are bonuses when your intimacy is high!
+
+
+Dyrin The Traveler
+
+
+ENOUGH! LAME CHEATERS, GET OFF THIS GAME %%a That's 15 gifts, and it is final.
+
+
+ERROR: %d
+
+
+ERROR: You already took the coins today. Please wait @@ more.
+
+
+ERROR: You must set a PinCode to make use of this function.
+
+
+EVENT Bow
+
+
+EVENT CANCELLED DUE TO PLAYER INACTIVITY
+
+
+EVENT Single Hand Sword
+
+
+EVENT Two Hands Sword
+
+
+EVENT Wand
+
+
+EVERY switch on EVERY cave will unflip itself after about 2 minutes. So don't waste your time.
+
+
+EXP Gain +10%
+
+
+EXP Gain raised in @@% for one hour!
+
+
+EXP Penalty: ON
+
+
+EXPERTS ONLY - If you are not a talented crafter, avoid this.
+
+
+EXPLOSIVE GUNSTAFF
+
+
+Each item have it's own tax.
+
+
+Each level up will buff your base stats, and give you stats points to allocate. However, there is Job Level.
+
+
+Each monster will be counted as %d kills.
+
+
+Each of them require different items, I'll sort from weakest to strongest, so choose wisely.
+
+
+Each season unlocks a set of quests and drops which can only be obtained on the season.
+
+
+Each settlement names a representative, which forms the Alliance Council. There is also the High Council, and the Magic Council.
+
+
+Earlier I hadn't any, but now that I have the baits, I will be glad to sell some to you!
+
+
+Earmuffs
+Earmuffs
+
+Earth Element
+
+
+Earth Fairy
+Earth Fairy
+
+Earth Powder
+
+
+Earth Scroll
+Earth Scroll
+
+Earth Witch Card
+
+
+East Aeros
+
+
+Easter
+
+
+Easter @@
+
+
+Easter Angry Forain
+Easter Angry Forain
+
+Easter Egg
+Œuf de Pâques
+
+Easter Egg quest updated. Total found: %02d/06
+
+
+Easter Eggs found: %d
+
+
+Easter Mouboo
+Easter Mouboo
+
+Easter Top 1 Prize
+
+
+Easter is over! I am the last chance to get rid of eggs!!
+
+
+Easy
+
+
+Easy Mode
+
+
+Eating is a necessity, but cooking is an art.
+
+
+Ectoplasm
+Ectoplasm
+
+Eevert
+
+
+Effects from The Great Fire are still felt by the people.
+
+
+Eggshell Hat
+Eggshell Hat
+
+Eh, I don't think you'll be brave enough to go after her. If even she decided to flee, I doubt you wouldn't do the same.
+
+
+Eh, I have to go.
+
+
+Eh, that seems too problematic. Sorry.
+
+
+Eh... Sure, why not. What could go wrong, after all.
+
+
+Eh? Well, you're in a desert. You can see Maggots and Scorpions, they're very common on these parts. Giant Maggots are very dangerous, but also very slow. If you know how to fight, they will yield you lots of experience.
+
+
+Eh? You sure?
+
+
+Eight Maggots will rise from the ground and will start destroying the crops.
+
+
+Eight gifts. Let's double the goal. 25600 gifts. Did you guys hire some chinese gold farmers, anyway?
+
+
+Eistein
+Eistein
+
+Elanore casts a chant over the items, closes her hands, and vóila! A lifestone.
+
+
+Elanore the Healer
+Elanore the Healer
+
+Eldrin
+
+
+Eldrin, Taskmaster
+
+
+Electro Worm
+Electro Worm
+
+Elen The Traveler
+
+
+Elenium Bif
+Elenium Bif
+
+Eleven gifts? You guys really have no live! For 204,800 I'll give an extra one.
+
+
+Elf
+
+
+Elfic Bow
+
+
+Elias
+
+
+Elias gets a bit excited.
+
+
+Elite Duck
+
+
+Elite Scout#MB0233
+
+
+Elixir Of Life
+Élixir de Vie
+
+Elixir of Life
+
+
+Eliza
+
+
+Elli
+
+
+Elli#Ep
+
+
+Elmo
+Elmo
+
+Elmo has given you an EXP UP and DROP UP Boost until level 20!
+
+
+Elmo#002-5
+Elmo#002-5
+
+Elmo#sailors
+Elmo#marins
+
+Elora
+
+
+Elora#1
+
+
+Elven
+Elven
+
+Elves are always allowed inside.
+
+
+Elza
+
+
+Email: @@
+
+
+Emeald Bif
+Emeald Bif
+
+Emerald
+Emerald
+
+Emerald (+2 luck)
+
+
+Emerald Powder
+Emerald Powder
+
+Emergency Exit
+Sortie de secours
+
+Emma
+
+
+Emoc otem itey gnik!
+
+
+Emperium
+Emperium
+
+Empty Box
+
+
+EmptyBottle
+EmptyBottle
+
+Enable
+Activer
+
+Enable Event
+
+
+Enable/disable doorbell
+
+
+Enabled
+
+
+Enabled: @@
+Activé : @@
+
+Enchanted Herb Bag
+
+
+End status @@
+
+
+End! Score this time: %d
+
+
+End! Score this time: %s
+
+
+Endless, cute, dangerous, deadly.
+
+
+Enemies stunned!
+
+
+Energy Ball
+Energy Ball
+
+Energy Ball Challenge
+
+
+Engraving#Katazuli1
+
+
+Engravings#Gemini
+
+
+Enjoy this new weapon, I hope you're successful.
+
+
+Enjoy this world while it lasts. Heh. It's time to... detonate.
+
+
+Enjoy your new style.
+Profite de ton nouveau style !
+
+Enjoy your time here, %s. And keep your eye out for agents of S.A.R.A.H.
+
+
+Enliven Reva Foxhound
+
+
+Enough for now. Let's rest, shall we?
+
+
+Enrique
+
+
+Ensio
+
+
+Ent Abomination
+
+
+Enter
+Entrer
+
+Enter anyway?
+
+
+Enter dungeons? You won't be able to join anymore when he dies.
+
+
+Enter line number:
+Entre le numéro de ligne :
+
+Enter new line:
+Entre une nouvelle ligne :
+
+Enter though the window to the secret caves?
+
+
+Enter/Leave after start: %s
+
+
+Enzo
+
+
+Eomie
+Eomie
+
+Epic Mouboo
+
+
+Epic Tortuga
+
+
+Epiphany Wisp
+
+
+Equip
+Équiper
+
+Equipment Blueprint A
+
+
+Equipment Blueprint B
+
+
+Equipment Blueprint C
+
+
+Equipment Blueprint D
+
+
+Equipment Blueprint E
+
+
+Equippable items are armour, weapons and accessories.
+
+
+Equipping them is easy, you must open your inventory with @@ or clicking in @@, on the top right.
+Il est simple de les équiper, vous devez ouvrir votre inventaire avec @@ ou cliquer sur @@, en haut à droite.
+
+Er, nevermind, I've thought of something to give you. You can go off now and get what I need.
+
+
+Er, uhm, hi!
+
+
+Erik
+
+
+Erlan
+
+
+Erm, for certain... reasons... I cannot help you right now!
+
+
+Erm... Good bye.
+
+
+Erm... I don't have a recipe book.
+
+
+Erm... I don't know my parents.
+
+
+Erm... You're right.
+
+
+Error
+
+
+Error, cheater detected
+
+
+Error, contact Jesusalva! Missing warp. Healing & Reseting temporaly.
+
+
+Error, error, L_T3_S0 General Error, REPORT ME
+
+
+Error, invalid return code, blame Saulc
+
+
+Estard
+Estard
+
+Eugene
+Eugène.
+
+Eugene bows politely, but he thinks he can use more.
+
+
+Eurni
+
+
+Evasion +20
+
+
+Even after breaking the first layer, a second layer keeps active. The first layer gets back to work shortly after. What have I missed or forgotten to do?
+
+
+Even if the city has not been attacked on the last few years, I can't help but be concerned while the kids are playing hide and seek.
+
+
+Even if they recover their strength, because the connection was severed, the barrier will not power up again.
+
+
+Even if you drink alone, you'll still receive the EXP bonus marked on the item description.
+
+
+Even the mighty Andrei Sakar could only barely escape alive. The Monster King was too strong.
+
+
+Event Canceled
+
+
+Event Details
+
+
+Event Horizon Card
+
+
+Event Information
+
+
+Event Management
+Gestion d'Évènements
+
+Event News
+
+
+Event Ranking Rewards
+
+
+Event management
+Gestion d'évènements
+
+Event score: %d -> %d
+
+
+Event weapons and cards will be deleted once event ends.
+
+
+Event will start in @@
+
+
+Everburn Powder
+
+
+Every %d sequences, you'll get a %s!
+
+
+Every 1 hour
+Toute les 1 heures
+
+Every 101 successive right guesses, you'll get a @@!
+
+
+Every 12 hours
+Toute les 12 heures
+
+Every 24 hours
+Toute les 24 heures
+
+Every 3 hours
+Toute les 3 heures
+
+Every 5 hours
+Toute les 5 heures
+
+Every 6 hours
+Toute les 6 heures
+
+Every bot says that.
+
+
+Every day you login, you'll be able to spin a card.
+
+
+Every day, they disappear and a new one shows up on its place.
+
+
+Every fifteen successive right guesses, you'll get a @@!
+
+
+Every fifty successive right guesses, you'll get a @@!
+
+
+Every once in a while, but I guess this is not common on your world, am I right.
+
+
+Every seven successive right guesses, you'll get a %s!
+
+
+Everyone commit mistakes and Oskari was very understanding. I need to do some questions about the incident though.
+
+
+Everyone loves the Land of Fire, it is impossible to not love it.
+
+
+Everything in order.
+
+
+Evil Bullet
+
+
+Evil Chest
+Evil Chest
+
+Evil Mushroom
+
+
+Evil Scythe
+Evil Scythe
+
+Evil Wisp
+
+
+Evil worms crawl from earth and starts devouring the plants!
+
+
+Evolve a card
+
+
+Evolve mercenaries
+
+
+Examine the Mouboo
+
+
+Example:
+Exemple :
+
+Example: @translate Elmo
+
+
+Example: @translate Nard
+
+
+Example: @translate npc/002-1/arpan
+
+
+Example: Give the answer for the following: one+1
+
+
+Excellent! Let me see...
+
+
+Excellent! This is exactly what I need. Thanks a lot. I'll tell Nikolai about your generosity.
+
+
+Except they're not. I'll be back later.
+
+
+Exchange Gempowder for Quill
+
+
+Exchange the item with Leona?
+
+
+Excuse me.
+Excuse moi.
+
+Excuse me? Do you know who I am?#0
+Excuse-moi ? Sais-tu qui je suis ?
+
+Excuse me? Do you know who I am?#1
+Excuse-moi ? Sais-tu qui je suis ?
+
+Exile a player
+
+
+Exiled players will not be able to save to menhir.
+
+
+Exit
+
+
+Exp rate has been reset to @@% (default value).
+
+
+Exp rate is set to @@% for the next @@.
+
+
+Experience can be gained by completing quests and killing monsters. When you accumulate enough experience, you'll level up!
+
+
+Experience.
+
+
+Expert Dungeon (Lv 100+)
+
+
+Expire rent time
+
+
+Explain briefly about mercenaries... I mean, we have a Mercenaries section on @tutorial right?
+
+
+Explosive ARROW
+
+
+Explosive Arrow
+
+
+Explosive Gunstaff
+
+
+Eyes grows!
+
+
+Ezra
+
+
+F2
+F2
+
+F3
+F3
+
+FIGHT!
+
+
+FINAL BOSS FIGHT - WATCH OUT!
+
+
+FINAL WARNING: Do not spend unecessary time on Soren's House, you'll be disconnected!!
+
+
+Fafi Dragon
+Fafi Dragon
+
+Fafi Mask
+
+
+Failed to warp to Soren Village.
+
+
+Failing all else, you can stay at the Magic Council getting experience for sitting. Hopefully you'll gain a level and this will help you a bit.
+
+
+Failure to respond to other players and/or GMs in a timely manner will be viewed as unacceptable AFK botting. And you'll spend a night in the jail.
+
+
+Fair Person
+
+
+Fairies usually behaves well, but they hate snakes, so avoid casting halhiss and fairy kingdom at once. You never know.
+
+
+Fairy's Squirrel
+
+
+Fake Manastone
+
+
+Falkon Card
+
+
+Falkon Strike
+
+
+Falkrun
+
+
+Fallen King
+Fallen King
+
+Falling means certain death.
+
+
+Fancy Hat
+Chapeau Fantaisiste
+
+Far over, the misty Nivalis cold ♪
+
+
+Farewell, until the next time. Shall we met again, and may the light guide our paths.
+
+
+Farewell.
+Adieu.
+
+Faris
+Faris
+
+Farm there and get the best experience value!
+
+
+Farmer Hat
+
+
+Farmer Pants
+
+
+Fate's Potion
+
+
+Fates Potion
+Potion du Destin
+
+Fear
+
+
+Fear not! You can check our [@@https://wiki.moubootaurlegends.org|Wiki@@] to find that and other awesome stuff!
+
+
+Feel free to collect honey from the hives. Remember to bottle them before picking up... You can use the discardable bottles I keep near them for that.
+
+
+Feel free to come visit me another time.
+Sens-toi libre de venir me rendre visite à tout moment.
+
+Feel free to try again whenever.
+
+
+Feeling lucky?
+
+
+Fefe's Diary
+
+
+Female
+Féminin
+
+Fertilized Spores
+
+
+Figures she would be involved. What did she say?
+
+
+Fill Water Bottles
+
+
+Fill with what?
+
+
+Final: @@, @@
+
+
+Find it, spin it, and be bestowed in golden rewards!
+
+
+Find yourself a nice dry spot on a coast where you can easily reach into deep water.
+Trouve-toi un endroit au sec sur la côte où tu peux aisément atteindre le fond de l'eau.
+
+Fine.
+Bien
+
+Finish
+
+
+Fire Arrow
+
+
+Fire Breath Inn
+
+
+Fire Element
+
+
+Fire Fairy
+Fire Fairy
+
+Fire Goblin
+Fire Goblin
+
+Fire Scroll
+Fire Scroll
+
+Fire Skull
+Fire Skull
+
+Fire Staffs Recipes
+
+
+Fire Staves
+
+
+Firearms? What would that be? @@
+
+
+Fireball
+
+
+Fireball Card
+
+
+Fireplace#Saggy
+
+
+Firewalk
+
+
+First - item must be equipped.
+
+
+First Aid
+
+
+First Dungeon Master
+
+
+First Grand Hunter challenge cleared %s ago
+
+
+First Tier
+
+
+First and foremost, you should get yourself some reputation. I mean, right now, you are a complete nobody who was found on the sea.
+
+
+First of all: Welcome! Your level was temporaly modified, it'll be reverted once event is over.
+
+
+First of, there's a day/night cycle on the game.
+
+
+First reborn %s ago
+
+
+First thing is to get a @@. One from black market won't do, go to Halinarzo!
+
+
+First timers will be lead to somewhere random on this cave to keep intruders out. Just walk there again while all switches are still active.
+
+
+First visit to Fortress Is. %s ago
+
+
+First, %s is the Guardian of Law and Order. He ensures all rules are followed, and if anything breaks them, he erases their existence.
+
+
+First, you need to contribute to the common knowledge of this world. Like, write a %s, guide new players or something.
+
+
+Fish Box
+Boîte de Poissons
+
+Fisherman
+
+
+Fisherman/Fisherwoman
+
+
+Fishing
+
+
+Fishing Guide Vol. I
+Guide de Pêche Vol. I
+
+Fishing Rod
+Canne à Pêche
+
+Fishing bait:
+
+
+Fishing is a boring task. Throw the bait, wait for fish to bite. Pull before it is too late. Then sell the fish for money.
+
+
+Fishing next to shallow water is not going to work well, because fishes seldom go there.
+Pêcher dans de l'eau peu profonde ne va pas fonctionner très bien car les poisons y nagent rarement.
+
+Five powerful consecutive brawn attacks.
+
+
+Fixing Crystals have a price. You can only charge crystals to places you've already been.
+
+
+Flight Talisman
+Flight Talisman
+
+Floors cannot be re-visited, and rewards increase at each floor.
+
+
+Fluffy
+Pluche
+
+Fluffy Animals who Love Their Owners
+Fluffy Animals who Love Their Owners
+
+Fluffy Egg
+
+
+Fluffy Hat
+
+
+Fluffy Hunter Challenge
+
+
+Fluo Powder
+Fluo Powder
+
+Following these lines are some other writings on this paper.
+À la suite de ces lignes se trouvent d'autres écritures sur ce papier.
+
+Food is, and should always be, in demand.
+
+
+Food:
+
+
+Foolish kid, thinking they can fool me, Henry S., from all the people...!
+
+
+Foolish kids, do you think violence is the answer to everything?!
+
+
+Foolish mortal, who doesn't knows what you are doing!
+
+
+Footwear Recipes
+
+
+For %d GP I'll teach you, do we have a deal?
+
+
+For (another) one @@, I'll need 3~4 @@ and 50 GP.
+
+
+For HLib, a GM must take the role of the Monster King
+
+
+For a long time, towns on the distant continent of Kolev have been supporting humans here.
+
+
+For a moment you wonder if Celestia might have gotten confused and tossed in a handful of forest dirt into the teapot.
+
+
+For all his great deeds, and thousands of lives he saved, this statue is in his honor.
+
+
+For all the feedback, you know
+
+
+For cowardingly killing in a "secure" area, you will be severely punished.
+
+
+For defeating the Monster King, you've got the Legendary @@.
+
+
+For defending Hurnscald alone and saving all its inhabitants.
+
+
+For example, translations do not count. Wiki articles count.
+
+
+For example, when an item is dropped to the ground, it rots away and disappear. It cannot be recovered. If an item were to break such rule, Mr. Saves would intervene.
+
+
+For extreme power they hold.
+
+
+For fighting against the Monster King once and getting out alive to tell the story.
+
+
+For finding an Easter Egg, you got Strange Coins!
+
+
+For now do not take too much time to work on your intelligence, after all, almost nobody have magic this day.
+
+
+For now, eat this. It'll improve your condition... for now. I don't know where you'll find a time travelling device, but if you find one, come to me. I'll help you.
+
+
+For now, please accept this @@ as my gratitude.
+
+
+For now, take this @@. I hope that you will use this power for something good now.
+
+
+For now, yes. But you will have to prove that you really care about more than yourself.
+
+
+For only 100 GP, you can sleep on the beds of the Land Of Fire.
+
+
+For only @@ GP, I'll decrypt any ancient text file you have. Or you can learn how to read that yourself, for @@ GP.
+
+
+For only a small amount of Gold Pieces, I will show you how it works!
+
+
+For short, they had a fight with curses, and now there's a talking statue over his grave which can spawn monsters here.
+
+
+For short, you would have lost all your items, wouldn't get anything, and there would be no refunds.
+
+
+For simple-minded individuals like you, pixies are fairies.
+
+
+For sure the chef of Nard's ship could spare you a pair of gloves.
+
+
+For that, I need to light five torches. The pentagram, the magic, and all the else are with me. Just light the torches.
+
+
+For that, I use a special currency - Aethyr points. You can trade rare items for points. I also sell one point for %d GP. So, what will it me?
+
+
+For that, I'll need @@/@@ @@.
+
+
+For the @@, I'll need 5 ##Bhigh-quality##b @@, and @@ GP for work fee!
+
+
+For the first place in Easter, you gained a Bhopper Fluffy.
+
+
+For the higher titles, you'll need vouch of multiple people. You can vouch for anyone below your rank with %s but never for someone of same or higher rank.
+
+
+For the mouboo? I was only doing my duty.
+
+
+For the rescue? You didn't seemed to be in need of aid.
+
+
+For their weapons has a will on them.
+
+
+For this @@, I offer you @@ GP.
+
+
+For this @@, I offer you a(n) @@.
+
+
+For this training, I need @@, not the usual arrow you use.
+
+
+For which player do you wish to pray?
+
+
+For you, boring person like me, It'll cost the small amount of:
+
+
+For you, it will be only 50 GP for potion! But I need the base ingredients, four @@ - or @@, depends on which one.
+
+
+For you, it'll be @@ GP.
+Pour toi, ce sera @@ GP.
+
+For your incredibly hard work, you got:
+
+
+For yourself can obtain tandem!
+
+
+Forain
+Forain
+
+Forest Armor
+Forest Armor
+
+Forest Bow
+Forest Bow
+
+Forest Gloves
+Forest Gloves
+
+Forest Mushroom
+Forest Mushroom
+
+Forest Piou
+
+
+Forest Piou Feathers
+
+
+Forest Shroom Egg
+
+
+Forest Shroom Hat
+
+
+Forgotten Chamber
+
+
+Form the strongest party and win! Remember that if you don't kill the boss, you'll never win!
+
+
+Form your party and rescue Luvia Gemini from Isbamuth!
+
+
+Fortiun
+
+
+Fortress Gate
+
+
+Fortress Island
+
+
+Fortress Statue
+
+
+Fortress Town
+
+
+Fortress Town is connected to the prophecies of the death of all humans, wildlife, and the other lesser races.
+
+
+Fortunately, we know the answer is...
+
+
+Fortune Statue
+
+
+Fountain#Hurns
+
+
+Four Leaf
+Four Leaf
+
+Four Leaf Clover
+Four Leaf Clover
+
+Four minutes after the warp, or when the last maggot die, it'll be over.
+
+
+France: [@@https://dondesang.efs.sante.fr/|https://dondesang.efs.sante.fr/@@]
+
+
+Free Cast
+
+
+Freeze
+
+
+Friend Gift
+
+
+Friend of the Fairies
+
+
+Friendly SP Regeneration
+
+
+Friendship's Strength Challenge
+
+
+From magical gates to ancient time-space technology - we know it all!
+
+
+From the smell I can see you found the bug bomb!
+Ohf, cette odeur ! Je peux constater que tu as trouvé la bombe insecticide !
+
+From the time you come from, the Moubootaur has escaped its chains.
+
+
+Frost Diver
+Frost Diver
+
+Frost Nova
+Frost Nova
+
+Frostia
+
+
+Frostia (@@m)
+
+
+Frostia - @@ GP
+
+
+Frostia Guard
+Frostia Guard
+
+Frostia Office
+
+
+Frostia Townhall
+
+
+Frostia Warp Crystal
+
+
+Frostia and Halinarzo are now on a spar!
+
+
+Frostia is a *hic* town way way north of here. They *hic* hate humans, so... Good luck?
+
+
+Frostia is the only city known that was not founded by humans.
+
+
+Frostia's Nurse
+
+
+Frozen Squirrel
+
+
+Frozen Yeti Tear
+Frozen Yeti Tear
+
+Frozenbeard
+
+
+Fruits - @@ coins
+
+
+Full Power Card
+
+
+Full Throttle
+
+
+Full of agrotoxins, transgenics and whatever. Not safe.
+
+
+Fungus
+Champignon
+
+Funky Hat
+Funky Hat
+
+Fur Boots
+Fur Boots
+
+Furniture Menu
+
+
+Furthermore, if you don't have enough mana, it'll hurt you until you die.
+
+
+Fuschia Dye
+
+
+Fusus
+
+
+Futurely, Mylarin Dust and a Sunny Crystal will also be available.
+
+
+GAAAAAAAAAAAAAAAAHHHHHHH!
+
+
+GAME SETTINGS
+
+
+GET OUT OF HERE, YOUR NOBODY!
+
+
+GM Alchemy Table
+
+
+GM Black Smithy
+
+
+GM Cap
+GM Cap
+
+GM Gift Box
+
+
+GM Robe
+GM Robe
+
+GMs are NOT allowed on Hurnscald Liberation day.
+
+
+GO! Run, %s, RUN!!!!
+
+
+GP
+
+
+GP: %d + %d
+
+
+GUARDS! GET THEM!
+
+
+Gaelira
+
+
+Gaia Break
+
+
+Gain: %d RP/min
+
+
+Gained 20000 XP and 2500 GP
+
+
+Gained 2500 XP and 250 GP
+
+
+Gained 5000 XP
+
+
+Gained 7500 XP and 1250 GP
+
+
+Gained @@ points.
+
+
+Gale, not good to fly.
+
+
+Galimatia
+
+
+Gambler Master
+
+
+Gambler#017-3
+
+
+Gambler#020-4
+
+
+Gambling Xan
+
+
+Gambling is for the weak, I offer you a true game!
+
+
+Gamboge Herb
+Gamboge Herb
+
+Gamboge Plant
+Gamboge Plant
+
+Game Master
+Maître Du Jeu
+
+Game Mistress
+
+
+Game News
+
+
+Game Rules were updated!
+
+
+Game Settings
+
+
+Game Statistics
+
+
+Gem powder
+Gem powder
+
+Gemini Season
+
+
+Gender
+Sexe
+
+General Boosts
+
+
+General Information
+
+
+General Krukan
+
+
+General Razha
+
+
+General Store#dimond
+
+
+General Terogan
+
+
+General Terogan : DEAD! Muahahahaha!
+
+
+Generic items are used for different purposes. In creating other items, to swap and sell, to collect, etc.
+
+
+George
+
+
+George the Pirate
+
+
+Get Rekt Noob.
+
+
+Get out of here! Before I call the city guard!!
+
+
+Get out of here, weakling. You'll be killed by bandits.#0
+
+
+Get out of here, weakling. You'll be killed by bandits.#1
+
+
+Getting Money
+
+
+Getting ranked #1 in a challenge yields you 10 points, getting ranked #2 yields you 9 points and so on.
+
+
+Getting there is tricky, so listen carefully to the instructions:
+
+
+Ggrmm... Grmmmm...
+Ggrmm... Grmmmm...
+
+Ghada
+Ghada
+
+Giant Cave Maggot
+Giant Cave Maggot
+
+Giant Maggot
+Giant Maggot
+
+Giant Maggots are worth 1 point, Snakes are worth 5 points and Black Scorpions are worth 10 points. The ones in caves doesn't count. Bring me 300 points. Good luck!
+
+
+Giant Mutated Bat
+Giant Mutated Bat
+
+Gift Fanatic
+
+
+Gimme a second... Yes, you seem to be fine now, very well, congratulations!
+
+
+Ginger Bread Man
+Ginger Bread Man
+
+Give Up
+Abandonner
+
+Give a @@ to the Mouboo?
+
+
+Give her the materials she asked for?
+
+
+Give him an item
+
+
+Give him the materials he asked for?
+
+
+Give it time, increase your magic power, and you'll find out the truth.
+
+
+Give me %s cards of the same type, and I'll give you one card of a higher rarity. There is no cost, but the card is random.
+
+
+Give me %s copies of the same card and %s GP, and I'll improve its tier.
+
+
+Give me a card and select another card of same class. I charge %d GP for simple exchanges.
+
+
+Give me a second to look over your paperwork.
+
+
+Give me back what you stole, thief!
+
+
+Give me some space.
+Donne-moi de l'espace.
+
+Give players 10 minutes
+
+
+Give players 15 minutes
+
+
+Give players 20 minutes
+
+
+Give players 25 minutes
+
+
+Give players 30 minutes
+
+
+Give players 5 minutes
+
+
+Give that to whoever needs them, and see if it works. Then come tell me the result. Do you have the reagents?
+
+
+Give the Antenna and the GP to her?
+
+
+Give up!
+
+
+Give your pet a nice name, and keep it healthy, and you'll be a successful pet owner!
+
+
+Glad the Monster King avoid the seas, arr!
+
+
+Glad to hear. I swear, the fish I picked before you arrive was THAT big!
+
+
+Gladiator
+
+
+Gladys
+Gladys
+
+Gloves
+
+
+Gloves Recipes
+
+
+Go and fetch @@, the party leader!
+
+
+Go and follow @@, your party leader!
+
+
+Go and talk to it.
+Allez donc parler à ce Chest.
+
+Go away creep, I HATE YOU!
+
+
+Go away, I am too magical for you. %%n
+
+
+Go away, kid! Let me pray in peace!
+
+
+Go away,%s can't you see I'm busy?
+
+
+Go away.
+Va t'en.
+
+Go back
+Revenir en arrière
+
+Go back to Rosen!
+
+
+Go do what I told you to do and examine the house thoroughly!
+
+
+Go fly a kite.
+Vas faire voler un cerf-volant.
+
+Go home now?
+
+
+Go kill the Bandit Lord!
+
+
+Go kill the maggots!
+
+
+Go kill them!!
+
+
+Go now, with the blessing of ducks. There may come a time when we require your aid once again, O %s.
+
+
+Go see someone else for now. Yes, you need level to take most tasks available on the world!
+
+
+Go talk to Sagratha, she is usually in a hut in northen forest. The door have a magic barrier, so you'll need to have minimal magic skills to get close enough to open it.
+
+
+Go through the waterfall path.
+
+
+Go to the townhall there and show the mayor this other letter.
+
+
+Go very close to it and, speak the four four-letters magic words, pour some @@, and he'll appear to you.
+
+
+Goal: @@/@@ reached!
+
+
+Goal: Survive the longest possible.
+
+
+Gobo Bear
+Gobo Bear
+
+God bless you! You have saved me from sweltering!
+
+
+Going to World Edge? Never heard of.
+
+
+Golbarez
+
+
+Gold Fish
+
+
+Gold Ingot
+Gold Ingot
+
+Gold Medal
+Gold Medal
+
+Gold Ore
+Gold Ore
+
+Gold Ore -> Silver Ore
+
+
+Gold Pieces
+Gold Pieces
+
+Golden Apple
+Golden Apple
+
+Golden Armbands
+Golden Armbands
+
+Golden Black Pearl Ring
+
+
+Golden Boss Gift
+
+
+Golden Chainmail
+Golden Chainmail
+
+Golden Chest
+Golden Chest
+
+Golden Easteregg
+Golden Easteregg
+
+Golden Eggs are used for the grand collector prize. Ah, I love Easter! I loooooooove it!
+
+
+Golden Four-Leaf Amulet
+Golden Four-Leaf Amulet
+
+Golden Gift
+Golden Gift
+
+Golden Light Platemail
+Golden Light Platemail
+
+Golden Pearl Ring
+Golden Pearl Ring
+
+Golden Ring
+
+
+Golden Scorpion
+Golden Scorpion
+
+Golden Scorpion Claw
+
+
+Golden Scorpion Claw -> Black Scorpion Claw
+
+
+Golden Warlord
+
+
+Golden Warlord Plate
+Golden Warlord Plate
+
+Golem
+
+
+Gonzo Dark Card
+
+
+GonzoDark Sponsor
+
+
+Good %s, %s. The council is not in session right now.
+
+
+Good %s. Would you like to sleep here? It's only %d GP!
+
+
+Good @@. My name is @@ and I make @@.
+
+
+Good bye my friend, and safe travels!#0
+
+
+Good bye my friend, and safe travels!#1
+
+
+Good bye!
+
+
+Good bye, darling!
+
+
+Good bye, sir.
+
+
+Good bye.
+
+
+Good choice! This year we're having a @@!
+
+
+Good day sir.#1
+Bien le bonjour monsieur.
+
+Good job collecting the monster points for me. Here's your reward.
+
+
+Good job!
+Beau travail !
+
+Good job! Here is your reward!
+
+
+Good job! I wish you luck, because now you need to SWIM!
+
+
+Good job, kid. You've survived both the Cave Of Trials and Soren's Village.
+
+
+Good job, man!
+
+
+Good job, you already killed over 100! Hahah, that sure teach them a lesson!
+
+
+Good job, you've killed the %d %s and reported back in time!
+
+
+Good job, you've killed the @@ @@ and reported back in time!
+
+
+Good job.
+
+
+Good job... Here is your reward...
+Bon travail ... Voici ta récompense ...
+
+Good job... You can keep the drops. Touch here to return home.
+
+
+Good luck arresting the criminal!
+
+
+Good luck getting the fertilizer from Eomie! Many elves simply refuse to cooperate until it affects them directly.
+
+
+Good luck hunting down the Monster King.
+
+
+Good luck in your journey, @@.
+
+
+Good luck killing it! And don't forget to touch the Soul Menhir before you go!
+
+
+Good luck on your journey!
+
+
+Good luck out there!
+
+
+Good luck with that. See you in ten years or something.
+
+
+Good luck with your boyfriend!#0
+
+
+Good luck with your girlfriend!#1
+
+
+Good luck!
+Bonne chance !
+
+Good luck! Come for remuneration when you finish!
+
+
+Good luck! Don't come back until you reach 10000 kills!
+
+
+Good luck, %s! There are more monsters nearby!
+
+
+Good luck, %s. You'll need it.
+
+
+Good luck, @@!
+
+
+Good luck, because you'll need it. Talk to me once all of them are lit, and I'll SUMMON DAH MONSTER KING.
+
+
+Good luck.
+
+
+Good luck. %%1
+
+
+Good luck...
+
+
+Good news - Oskari doesn't plans in firing you (yet)!
+
+
+Good to know.
+C'est bon à savoir.
+
+Good work with the slimes. This will make our task much easier.
+
+
+Good!
+
+
+Good! First, let us test if you are resourceful. Bring me 3 @@ and 3 @@. That should be enough!
+
+
+Good! I want 3 @@ and 10 @@. I have a contract to transform that in good money.
+
+
+Good! Last step! West of Hurnscald, there is a magic fountain.
+
+
+Good, I need to talk with the King.
+
+
+Good, good, you have enough powder. Now I need you to lit all five torches with them.
+
+
+Good, good. The chant is ##B EMOC OTEM ITEY GNIK ##b. Good luck!
+
+
+Good, knowing the world lore is important.
+
+
+Good, there they are.
+
+
+Good, this must mean that Sagratha managed to flee in time.
+
+
+Good, you *hic* proved your *hic* worth. I'll give you them.
+
+
+Good, you did it!
+
+
+Good. Did you knew you could register to the Special Class, in order to get an extra skill point?
+
+
+Good. Here, take this key and hide it. I will quickly brief you:
+
+
+Good. I hope you have stocked everything. The time limit is 4 hours.
+
+
+Good. You look like a real miner! Take this @@ and go mine bifs!
+
+
+Goodbye.
+Au revoir.
+
+Googles
+Googles
+
+Got 1,000,000 Monster Points!
+
+
+Got @@ EXP, @@ JExp and @@ GP for helping out.
+
+
+Got Master Blueprints!
+
+
+Graduation Album
+
+
+Graduation Cap
+Graduation Cap
+
+Graduation Robe
+
+
+Grand Hunter Quest
+
+
+Grand Hunter Quest: @@/10,000
+
+
+Grand Master
+
+
+Grant Power
+
+
+Graphene Stone
+
+
+Grass Carp
+Carpe des Roseaux
+
+Grass Liner
+Grass Liner
+
+Grass Seeds
+Grass Seeds
+
+Grass Snake
+Grass Snake
+
+Great Hero
+
+
+Great Mouboo Slime
+
+
+Great Tree
+
+
+Great Tree#296to297
+
+
+Great news! Then please bring me 1 @@, or 200 @@ @@ 20 @@.
+
+
+Great! Eomie, the girl on Tulimshar's magic academy, is an alchemist. She probably makes fertilizers.
+
+
+Great! Excellent! Because I am also diving in problems!!
+
+
+Great! Here, I'll give you %d GP so you can start here with more ease.
+
+
+Great! It is simple, really. Pachua and I are scouting the desert. Run as fast as you can to Pachua, and then run back here. Pachua will send a smoke signal when you talk to him, so I'll know you haven't cheated.
+
+
+Great! Now, listen carefully: This library is laid out in nine squares.
+
+
+Great! Thank you!
+
+
+Great! The first thing you need is, obviously, a bow. You should not use any you come across, but a high quality one.
+
+
+Great, I need 11 @@. Only good food makes a good crew.
+
+
+Great, I see you've already made yourself comfortable!
+
+
+Great, just bring me several boxes, once one of them have the ring I'm looking for.
+
+
+Great. I hereby task you to kill the rogue Yetis on the Yeti King Throne Room. Of course, you won't be able to leave until all of them are dead.
+
+
+Greater @@ allows you to attack faster and has a greater chance of evading attacks.
+
+
+Green
+Vert
+
+Green 4144
+
+
+Green Dragon
+Green Dragon
+
+Green Dye
+
+
+Green Eggshell Hat
+Green Eggshell Hat
+
+Green Skull Slime
+
+
+Green Slime
+Green Slime
+
+Green Slime Mother
+
+
+Green Switch#EP
+
+
+Green Wars project says that @@ trees were planted by adventurers on the world!
+
+
+Greenhorn Abomination
+
+
+Greetings %s, I am %s, I am in charge of monster extermination.
+
+
+Greetings %s, I am %s, the man in charge for the Alliance occupation of Fortress Town.
+
+
+Greetings mortal; I am Demure, Queen of Dragons.
+
+
+Greetings! I am %s from the Alliance.
+
+
+Greetings, %s %s, I am Hocus Pocus the Grandmaster.
+
+
+Greetings, %s %s, to the Alliance High Council.
+
+
+Greetings, %s. Do you have business on the Alliance Council Room?
+
+
+Greetings, adventurer. I am Valia Gemini, owner of this abode.
+
+
+Greetings, traveler. I am Darug, chief of this clan.
+
+
+Greetings, traveler. My name is Melune, and I'm Darug's wife.
+
+
+Greetings, wanderer. I am @@, chief of the Tulimshar guards. My wards are dying from dehydration in the sun. Bring them water and you will earn a reward.
+
+
+Greetings, young soul; I am the queen of fairies, Lilit.
+
+
+Greetings. The council is currently in session, no one is allowed in the inner chambers.
+
+
+Grenade
+Grenade
+
+Grenadier
+
+
+Grind grind grind the slime!
+
+
+Groata : ...Because I am out of freebies and need to sleep. So shoo.
+
+
+Groata : ...Meh. I'll give you this... stuff, and for the last time, don't bother me again...
+
+
+Groata : ...Will you seriously just keep running around? Like a headless chicken?
+
+
+Groata : C'mon, that is boring. What I need to do to get you out of my house?
+
+
+Groata : Hey. I live here. Why are you spawning monsters in my home??
+
+
+Groata : I wonder for how long you can survive here...
+
+
+Groata : Let's make a deal. Take this, clear my house, and get out.
+
+
+Groata : This is rude. Seriously, stop doing this.
+
+
+Groata : Uh. What's happening here?
+
+
+Groata : You must be idiotic in keeping spawning.
+
+
+Ground Strike
+
+
+Group together your guild and challenge the evil power,
+
+
+Grown in harsh environments, withstand anything.
+
+
+Grr, where's Mercury... He was supposed to keep watch over this spot... It was meant to be my free time!
+
+
+Grrr... Why are @@ on this cave?! Begone, before I lose my patience!
+
+
+Grrr... Why are @@ on this cave?! Where did Mercury went after all?!
+
+
+Guaaaards! Sailors! Help! We have a stowaway!
+Gaaaards! Marins! Aidez-moi! Nous avons un passager clandestin!
+
+Guard
+
+
+Guard Amy
+Guard Amy
+
+Guard Avou
+Guard Avou
+
+Guard Benji
+Guard Benji
+
+Guard Biscop
+Guard Biscop
+
+Guard Corina
+Guard Corina
+
+Guard Defou
+Guard Defou
+
+Guard Devoir
+
+
+Guard Falko
+Guard Falko
+
+Guard Froma
+Guard Froma
+
+Guard Jennifer
+
+
+Guard Jhon
+Guard Jhon
+
+Guard Laurie
+Guard Laurie
+
+Guard Malindax
+Guard Malindax
+
+Guard Maxim
+Guard Maxim
+
+Guard Moustacha
+Guard Moustacha
+
+Guard Nutelo
+Guard Nutelo
+
+Guard Philip
+Guard Philip
+
+Guard Popaul
+Guard Popaul
+
+Guard Roukin
+Guard Roukin
+
+Guard Tetric
+Guard Tetric
+
+Guard Totor
+Guard Totor
+
+Guard Valou
+Guard Valou
+
+Guard Yen
+Guard Yen
+
+Guard Yuna
+Guard Yuna
+
+Guard#00301A
+
+
+Guard#012-1.1
+
+
+Guard#012-1.2
+
+
+Guard#019-2.1
+
+
+Guard#019-3.1
+
+
+Guard#lof-1
+
+
+Guard#lof-2
+
+
+Guard#lof-3
+
+
+Guard#lof-4
+
+
+Guard#lof-5
+
+
+Guard#lof-6
+
+
+Guardian
+
+
+Guardian Statue
+
+
+Guardians Of Soren
+
+
+Guardians will come to stop you, and to lock down the shrine!
+
+
+Guards use it to spar against each other on friendly matches, to see who is stronger.
+
+
+Guild Area ATK UP
+
+
+Guild Area Autorevive
+
+
+Guild Area CRIT UP
+
+
+Guild Area DEF UP
+
+
+Guild Area Regeneration
+
+
+Guild Blacksmith
+
+
+Guild Chemistry
+
+
+Guild Coin
+
+
+Guild Coin Exchange
+
+
+Guild Hall
+
+
+Guild Information
+
+
+Guild Level is not enough: @@/@@
+
+
+Guild Logs
+
+
+Guild Lv @@, @@/@@ EXP to level up
+
+
+Guild Magic
+
+
+Guild Management
+
+
+Guild Master
+
+
+Guild Master: @@
+
+
+Guild Name: @@
+
+
+Guild Storage
+
+
+Guild Vault
+
+
+Guild's Battle Plan
+
+
+Guild's Power
+
+
+Guinevere
+
+
+Guinevere is the King's Wife. If you talk to her, the King will be upset and will send soldiers to you.
+
+
+Gwendolyn
+
+
+Gwendolyn Bowmaker
+
+
+Gwendolyn sighs and shake her head.
+
+
+Gwendolyn takes an analyzing look at you. Then she nods.
+
+
+HA, HA, HA! The blacksmiths from the Land of Fire are the best from the world! There's no challenge too big for us!
+
+
+HAHAHAHA! How foolish of you, didn't even bother trying to sneak in!
+
+
+HAHAHAHAH! Shiny as new, and stronger than ever! Have fun!
+
+
+HC Crazyfefe
+
+
+HC Jak1
+
+
+HC Jesusalva
+
+
+HC LawnCable
+
+
+HC Saulc
+
+
+HIGHER!
+
+
+HISTORY BOOK
+
+
+HOLD THAT! I actually like to drink, and spend some drinking nights with Saulc and Crazyfefe!
+
+
+HP +500
+
+
+Had you any breakthrough?
+
+
+Haha yes, you are right!
+
+
+Haha, Nice, but how do you do that?
+
+
+Haha, as if I believe you.
+
+
+Haha, no, I'm not! But we found traces of them.
+
+
+Haha, this wooden figurine won't do the job, sorry.
+
+
+Hahah, four gifts, neat! Can we get to 1600 boxes?
+
+
+Hahah, good to hear! Do you know some items are only dropped on spring? You should go after them!
+
+
+Hahah, silly, that's yourself!
+
+
+Hahah, tell me another one!
+
+
+Hahaha, good luck out there, my friend!
+
+
+Hair color
+Couleur de cheveux
+
+Hair style
+Coupe de cheveux
+
+Hairstyles.
+
+
+Halberd
+Halberd
+
+Half Croconut
+Demi Noix de Croco
+
+Half Eggshell
+Demi Coquille d'Å’uf
+
+Halin Guard
+
+
+Halin Warp Crystal
+
+
+Halinarzo
+Halinarzo
+
+Halinarzo (@@m)
+
+
+Halinarzo - @@ GP
+
+
+Halinarzo Church makes a party every Sunday! Only true believers are invited!
+
+
+Halinarzo Mines
+
+
+Halinarzo Office
+
+
+Halinarzo Route
+
+
+Halinarzo Townhall
+
+
+Halinarzo is a *hic* level 50 area. So please *hic* be careful!
+
+
+Halinarzo lies past the Canyon, but the @@ there are level @@.
+
+
+Halinarzo people are very poor, but we have our resources...
+
+
+Halinarzo was founded to explore Mana Stones.
+
+
+Halinarzo's Nurse
+
+
+Hall Of AF King
+
+
+Hall Of Academics
+
+
+Hall Of Base Level
+
+
+Hall Of Candor Bloodbath
+
+
+Hall Of Ched
+
+
+Hall Of Crazyfefe Battle
+
+
+Hall Of Deaths
+
+
+Hall Of Doppelganger Arena
+
+
+Hall Of Fame
+
+
+Hall Of Fortune
+
+
+Hall Of GM Commands
+
+
+Hall Of Guilds
+
+
+Hall Of Honor
+
+
+Hall Of Job Level
+
+
+Hall Of Strange Coins
+
+
+Hall of Sponsors
+
+
+Halt! Beyond this gate, is the Great River and the Eternal Swamps.
+
+
+Happy %s!
+
+
+Happy Easter!
+
+
+Hard
+
+
+Hard Spike
+Hard Spike
+
+Harper
+
+
+Harry
+
+
+Hasan
+Hasan
+
+Hasan takes your print screen and analyzes it.
+
+
+Haste Potion
+
+
+Have Maggot Slimes, Bug Legs, Mauve Herbs and Money, lots of them.
+
+
+Have a good day!
+Passe une bonne journée!
+
+Have a good day, then.
+
+
+Have a good time fishing!
+Amuses-toi bien à pêcher !
+
+Have a nice @@ day!
+
+
+Have a nice day!
+
+
+Have a warm cup of Coffee on the house, and enjoy!
+
+
+Have fun!
+
+
+Have no idea where in the world you are? Or what a certain foe drops, or if you should even dare to challenge it?
+
+
+Have the pirates been routed? Will they return?
+
+
+Have you already talked to our captain? He should be downstairs waiting for you!
+As-tu déjà parlé à notre capitaine? Il doit t'attendre à l'heure qu'il est!
+
+Have you been fiddling with time? Anyway, this is not a disease, but a ##Bcomplex curse##b.
+
+
+Have you been harming the forest? Specially Mouboos. Are you killing them?
+
+
+Have you brought me some %s?
+
+
+Have you came here to rescue me?
+
+
+Have you cried enough?
+
+
+Have you ever felt stuck? Lost? Didn't know about a quest, or an item is troubling you?
+
+
+Have you ever heard of the [@@http://landoffire.org/|Land Of Fire@@]? It is a really cool game which is being developed by Pyndragon and Pihro!
+
+
+Have you ever met our Queen Lilit? She is lovely but hates @@ for some reason...
+
+
+Have you found Tulimshar's Secret Beach yet? Tulimshar is full of secrets. Some NPCs which only say hi may say something else depending on your level or insistence.
+
+
+Have you found out magic already? It should not be possible, but the girl reading the book says it is. I don't know in what to believe.
+
+
+Have you got mad? That's too much, it's like you are trying to be perfect! No way I'll help you!
+Tu es fou?! C'est trop, c'est comme si vous essayez d'être parfait! Pas moyen que je t'aide!
+
+Have you managed to transmute the @@ I asked for?
+
+
+Have you seen my brother %s?
+
+
+Have you seen my sister Elza?
+
+
+Have you talked to Peetu co-workers about their opinion yet?
+
+
+Have you thought on my proposal? I'll only charge you %d GP or a %s for each attempt made.
+
+
+Have you visited the mines already? Tycoon is in charge of the security operations in there. He might need your help more than I do.
+
+
+Having magic power is useless by itself, so you must visit the Academy. I guess that involves approval and acknowledgment of the Mage Council that you are a mage!
+
+
+He died, but I plan in fulfilling his will. I can give you training for that, and teach you how to fight properly.#0
+
+
+He died, but I plan in fulfilling his will. I can give you training for that, and teach you how to fight properly.#1
+
+
+He dislikes Talpans like you. The Mana Source chained him in ancient times, though, so the Talpans could flourish.
+
+
+He guards what you call "monsters", but he favor Mouboos. He is possibly the oldest of the Originals.
+
+
+He is blaming himself and is afraid of losing his job.
+
+
+He is by far the most powerful, and has a few chosen ones to whom he granted what we call "SQL Magic". Everyone envies power, so there's the imitation of that, "GM Magic", but unrelated to Mr. Saves.
+
+
+He is in the process of making a figurine made of bug leg.
+
+
+He is my grand-grand-grandfather! The might Kfahr, with his friend Braknar, and heroes from Tulimshar legends.
+
+
+He is not alive anymore, so only a single bow of those exist in the whole world... That is why we call it a
+
+
+He is strong though, so keep your party together!
+
+
+He is the Miners leader.
+
+
+He just abandoned this place and left everything behind... It's suspicious at best. You don't think anyone will be able to decrypt the secrets of Artificial Lifeforms.
+
+
+He laughs heartily and gives you a slap on the back.
+
+
+He looks displeased and destroys the fur.
+
+
+He looks pleased.
+
+
+He never touched the Soul Menhir... He died... For real...
+
+
+He should be crying in the far northeast corner of this library. Can you go there to see him?
+
+
+He thinks he is using me to his rebellion, but I'm the one using him. I'm not the Bandit Lord for no reason.
+
+
+He usually guards a central position on the caves... He could help you, if he is there.
+
+
+He was looking around in the library a while, and then came to ask about our research. He seemed to be particularly interested in our experiments with the slimes.
+
+
+He will summon allies if he think you have the upper hand. So take care if you are going ranged.
+
+
+He's an *hic* hermit, and collects *hic* Bat teeth and wings... Tell me how many he collected!
+
+
+He's holding a fishing rod, while gazing out at the sea.
+Il tient dans ses mains une canne à pêche pendant qu'il contemple la mer.
+
+Head Hood
+
+
+Headgear
+
+
+Heal Card
+
+
+Healing
+Healing
+
+Healing Recipes
+
+
+Heals in area every friendly unit (incl. homuns and mercs). Req. Lifestone to cast.
+
+
+Hear me *hic* well, what ever, whatididever you will *hic* said ab... uhm... out what?! You saw there, the Guild won't let it get public.
+
+
+Hear you? How do you even know he can understand you?!#1
+T'entendre ? Comment sais-tu qu'il peut vous comprendre?! # 1
+
+Hear you? How do you even know she can understand you?!#0
+T'entendre ? Comment sais-tu qu'il peut vous comprendre?! #0
+
+Heart Glasses
+Heart Glasses
+
+Heart Necklace
+Heart Necklace
+
+Heart Of Isis
+Heart Of Isis
+
+Heh, I wonder what he would've said if he'd have visited us a little bit later. Mh, now that I think about it, the accident with the slimes happened just the night after he was here.
+
+
+Heh, congratulations making it this far. Once again, allow me to present myself:
+
+
+Heh, thanks %s. Here's some money.
+
+
+Heh, there is death penalty outside the town. You better watch out. The mobs are on a foul mood today, very easy to get killed.
+
+
+Heh. Fair enough.
+
+
+Heh. Foolish. That's what adventurers are, I guess...
+
+
+Hehe, hehe. Well, come back if you change your mind.
+Héhé, héhé. Et bien, reviens si tu changes d'avis.
+
+Hehe... Some material... %%5
+
+
+Hehehe... A pleasure doing business with you!
+
+
+Hehehe... Thanks. Here, take these %s Monster Points... This exchange has never happened.
+
+
+Helena
+
+
+Helena's Teammate
+
+
+Helios Boots
+
+
+Hello
+Bonjour
+
+Hello %s and welcome to Land Of Fire Village. This used to be a whole server before the Monster King crashed it down here.
+
+
+Hello %s.
+
+
+Hello %s. What brings you here?
+
+
+Hello @@! Do you have some @@ with you?
+
+
+Hello @@, may I interest you in a copy of the Gazette? It's only 1 GP!
+
+
+Hello Adventurer!#0
+
+
+Hello Adventurer!#1
+
+
+Hello Adventurer.
+
+
+Hello Ms. Eomie, kind sir Anwar sent me to fetch some fertilizers to save Tulimshar from famine, if you may?
+
+
+Hello Peetu.
+
+
+Hello adventurer! Are you lost?#0
+
+
+Hello adventurer! Are you lost?#1
+
+
+Hello adventurer, what may this humble minstrel do for you today?
+
+
+Hello adventurer. Are you interested in the Heroes Hold, or in the Call Of Dusty?
+
+
+Hello again can you give you give me some tentacles.
+
+
+Hello darling. The Alliance sucks, but don't tell anyone I told you that.
+
+
+Hello darling.#0
+
+
+Hello darling.#1
+
+
+Hello dear!#0
+Bonjour ma chère !
+
+Hello dear!#1
+Bonjour mon cher !
+
+Hello do you want to play rock scissors paper?
+
+
+Hello little kid. Watch out, there's a maggot behind you %%a !
+
+
+Hello my friend! I see you've brought your @@ with you this time!
+
+
+Hello my friend! Need my help?#0
+
+
+Hello my friend! Need my help?#1
+
+
+Hello my friend!#0
+
+
+Hello my friend!#1
+
+
+Hello my friend.
+
+
+Hello my friend. Thanks for slaying the rogue Yetis.
+
+
+Hello my hero!#0
+
+
+Hello my hero!#1
+
+
+Hello player, do you want to participate on HUNGRY QUIRIN event?!
+
+
+Hello there pretty fountain, what about granting me magic?
+
+
+Hello there! I am a constable. I keep law and order here.
+
+
+Hello there! I make bullets for the weapons my friend Pyndragon makes.
+
+
+Hello there! I'm Jack, the Lumberjack, and enemy of all trees. If you need some firewood, just let me know.
+
+
+Hello there, @@ the @@.
+
+
+Hello there, I am %s and I change item options, can I help you today?
+
+
+Hello there, I am @@, blacksmith of this fine city. What do you want to forge today?
+
+
+Hello there, I am Lilanna and you are in ANISE INC. headquarters.
+
+
+Hello there, darling.#0
+
+
+Hello there, darling.#1
+
+
+Hello there. Do you want to donate blood?
+
+
+Hello there. I am looking for strong people, but you are not strong enough.
+
+
+Hello there. My name is %s.
+
+
+Hello winged friend! How is the wind today?
+
+
+Hello!
+Salut !
+
+Hello! Anwar sent me to get fertilizer to save Tulimshar from famine, could you help me?
+
+
+Hello! Calm wind today!
+
+
+Hello! Could I see the Mayor?
+
+
+Hello! Do you need help?
+
+
+Hello! How can I help you?
+
+
+Hello! I am @@, and I take care of Tulimshar forge. I usually make ingots from various materials. So, what do you want today?
+
+
+Hello! I am Aurora, and I oversee the %s!
+
+
+Hello! I am Cassia, Ambassator. During the Monster War outbreak, Halinarzo was almost entirely destroyed.
+
+
+Hello! My name is Kenton, and I'm in charge of Public Affairs of Land Of Fire.
+
+
+Hello! Welcome to the Inn! I am an Alliance officer, and I oversee gambling all over the world!
+
+
+Hello! Would you like to try some piou delicacies?
+
+
+Hello! You seem strong enough, could take a request from me? Of course, not for free.
+
+
+Hello, %s! Congratulations for finishing the %s!
+
+
+Hello, %s.
+
+
+Hello, @@!
+
+
+Hello, @@! We are proud to announce the @@ RESULTS!
+
+
+Hello, @@! We just looked up and found out you that you were affected on a Valentine Event bug!
+
+
+Hello, @@! We just looked up and found out you were active during 2018-12-29!
+
+
+Hello, @@.
+
+
+Hello, @@. Thanks for helping me.
+
+
+Hello, I act on the Alliance's behalf.
+
+
+Hello, I am B-@@, of the @@ order.
+
+
+Hello, I am G-@@, of the @@ order.
+
+
+Hello, I am K-@@, of the @@ order.
+
+
+Hello, I am T-@@, of the @@ order.
+
+
+Hello, I am a sword to hire, a Mercenary Trainer and Chief.
+
+
+Hello, I am your local silversmith, here for all of your smithing needs!
+
+
+Hello, I noticed my dear friend, Susanne, asked you to help us save my sisters; do not forget to ask Susanne where the Fafi Dragon was last seen.
+
+
+Hello, I'm Pylon!
+
+
+Hello, I'm looking for bandit hoods!
+
+
+Hello, I'm new here! Can I help you?
+
+
+Hello, Lua told me she booked a room for me.
+
+
+Hello, What a lovely day for a stroll.
+
+
+Hello, and welcome to Blue Sage's Residence, Library, and Nivalis Townhall.
+
+
+Hello, and welcome to Frostia bounty hunter guild.
+
+
+Hello, and welcome to TMW2: Moubootaur Legends!
+
+
+Hello, and welcome to Tulimshar Inn.
+
+
+Hello, and welcome to the Magic Academy.
+
+
+Hello, and welcome to the Magic School of Tulimshar.
+
+
+Hello, and welcome to the Tulimshar guard house.
+
+
+Hello, could I help you in exchanger of fertilizer?
+
+
+Hello, darling!
+
+
+Hello, darling. I was thinking in doing a tea party.#0
+
+
+Hello, darling. I was thinking in doing a tea party.#1
+
+
+Hello, dear! I love @@, could you bring me some? They're sooooo sweet and delicious!#0
+
+
+Hello, dear! I love @@, could you bring me some? They're sooooo sweet and delicious!#1
+
+
+Hello, did you come from Tulimshar? Because you have a nice tan.
+
+
+Hello, hello! It's great to see you. Maybe you can help me with a little problem I have.
+
+
+Hello, madam!#0
+
+
+Hello, my name is Mahid, and this well belongs to me!
+
+
+Hello, new wanderer!#0
+
+
+Hello, new wanderer!#1
+
+
+Hello, sir!#1
+
+
+Hello, wanderer! Welcome to Tulimshar.#0
+
+
+Hello, wanderer! Welcome to Tulimshar.#1
+
+
+Hello, wanderer!#0
+Bonjour, voyageur!#0
+
+Hello, wanderer!#1
+Bonjour, voyageur!#1
+
+Hello, who are you?
+Bonjour, qui es-tu ?
+
+Hello, young boy...#1
+
+
+Hello, young girl...#0
+
+
+Hello.
+Bonjour.
+
+Hello. Ah, bad luck. I am three days without fishing a single carp.
+
+
+Hello. Did you come here to see the library? There isn't much left... But we're working on recovering the books by collecting the ripped out book pages, sorting them and recreating the books.
+
+
+Hello. I am @@, and I am from a family of travellers. We travel though the whole world, looking for exotic goods.
+
+
+Hello. I am Emma, Enrique's wife.
+
+
+Hello. I am Enrique, headmaster of The Academy.
+
+
+Hello. I am the book keeper, responsible for keeping Halinarzo History.
+
+
+Hello. I am the instructor assigned to the magic range training field.
+
+
+Hello. I know the secrets of the legendary @@.
+
+
+Hello. I was assigned to guard the ranged training grounds of the mystic forest.
+
+
+Hello. My name is Erik, and I have Homunculus go out in errands in my stead.
+
+
+Hello. Take care with the Mountain Snakes, they're highly poisonous!
+
+
+Helmet Recipes
+
+
+Help controlling their population, and return those you fish to Aurora!
+
+
+Help the distressed woman to save her daughter? ALL PLAYERS are penalized with failures.
+
+
+Henriikka
+
+
+Henry
+
+
+Henry gave something to drink.
+
+
+Herb Fields
+
+
+Here are EXTREMELY VALUABLE warp crystals, and the *hic* fabled return potions.
+
+
+Here are the Antennas.
+
+
+Here are the Pinkie Legs.
+
+
+Here are two @@. Please deliver it to them. I hope they'll like it.
+
+
+Here is 1000 GP for your efforts. Thanks for making Hurnscald a better place to live.
+
+
+Here is 2000 GP for your efforts. Thanks for making Hurnscald a better place to live.
+
+
+Here is a reward for your effort! Now you can be a true buccaneer!
+
+
+Here is a safe haven for we who don't fight. There are no monsters, and the Mouboo watches over us.
+
+
+Here is one.
+
+
+Here is the @@, like my armor, and one of the best for rangers.
+
+
+Here is the bug bomb! Eomie just gave me. Hurry up!
+
+
+Here is your powder! I hope it will be useful.
+
+
+Here it is, clean like a whistle!
+Et voilà, propre comme un sifflet !
+
+Here it is, miss.#0
+
+
+Here it is, mister.#1
+
+
+Here it is. Come back to report the results.
+
+
+Here it is. Take care with it!
+
+
+Here kid. Frostia, the elf town, is somewhere near here, but I'm not sure if you can reach it from here.
+
+
+Here lies a diary, presumably from Fefe.
+
+
+Here they are miss!
+
+
+Here they are!
+Et voici!
+
+Here they are, miss!
+
+
+Here they are, miss.#0
+
+
+Here they are, mister.#1
+
+
+Here we have a squall from @@.
+
+
+Here you are!
+
+
+Here you are, you won't find a dye more yellow than this!
+
+
+Here you can find professors, academics and researchers. Feel free to enroll in any class as well.
+
+
+Here you go - have fun with it.
+
+
+Here you go!
+
+
+Here you go! Anything else?
+
+
+Here you go! Happy easter! Bhop bhop!
+
+
+Here you go! Wasn't this a sweet deal?
+
+
+Here you go, I tried my best! Do you want another?
+
+
+Here you go, a brand new crystal. I'll fix the old one on the meanwhile. Take care of it.
+
+
+Here you go, anything else?
+
+
+Here you go, everything is fixed.
+Et voilà pour toi, tout est bon.
+
+Here you go, fresh from the oven!
+
+
+Here you go, miss! Thanks for being my hero! <3#0
+
+
+Here you go, mister! Thanks for being my hero! <3#1
+
+
+Here you go, my friend! Please enjoy!#0
+
+
+Here you go, my friend! Please enjoy!#1
+
+
+Here you go, my friend. Uhm, good luck with archery.
+
+
+Here you go, thanks for doing my SECRET quest! Eh, not much to do here. But I like life this way.
+
+
+Here you go. Handle it with caution.
+
+
+Here you go. Perhaps you need another one?
+
+
+Here you go. Please enjoy and thanks for making this town better to live. Maybe one day the snakes leave ^.^
+
+
+Here you go. Please, keep fighting and growing strong. Improving oneself is... Damn, I forgot the proverb.
+
+
+Here you go. Uhm, I really prefer if you buy with Rosen, though.
+
+
+Here you go; See you later!
+
+
+Here's some gold for your efforts.
+
+
+Here's what I need:
+
+
+Here's your reward!
+Voici ta récompense !
+
+Here's your sword, novice. Now go kill monsters.#0
+
+
+Here's your sword, novice. Now go kill monsters.#1
+
+
+Here, I did this @@ for you! I'm pretty sure this is also a drop, but that's literally everything I could do for helping my husband.
+
+
+Here, I have a candy!
+
+
+Here, I'll give you a Mercenary Box. Open it, get the mercenary card, and summon it when needed. You absolutely CANNOT let the Professor be assassinated!
+
+
+Here, all yours. Ah, if I still could walk... I would hunt those annoying squirrels myself!
+
+
+Here, all yours. I can't use them like I am now. Thank you.
+
+
+Here, come talk to me, the Magic Arpan! I'll help you get dressed.
+Tiens, viens donc parler, Au Magic Arpan! Je t'aiderai à t'habiller.
+
+Here, lemme tell you something good: Do you know that fortress island which all the adventurers are talking about nowadays?
+
+
+Here, look at how it is done. Focus. You can use it to convert a @@ into a @@, but not the other way around, for example.
+
+
+Here, please take this to them. Tell them they are welcome here anytime! %%2
+
+
+Here, sparking new! Nice!!
+
+
+Here, take as much as you need, I have plenty!
+
+
+Here, take it. If the mana goes out of your body, I'll have your class master to return the book to me.
+
+
+Here, take the Elixir. Please, bring it to my wife! I am counting on you!!
+
+
+Here, take the reward as promised!
+
+
+Here, take this %s and these %s and good luck!
+
+
+Here, take this @@ - you deserve it! And here is 200 GP to buy a better weapon.
+
+
+Here, take this @@ - you deserve it! And here is some gold and experience.
+
+
+Here, take this @@. It will be better suited!
+
+
+Here, take this @@. This is the proof that you've helped Hurnscald greatly. This shall open new opportunities to you.
+
+
+Here, take this pair of boots as a reward!
+Tient, prend cette paire de bottes en récompense!
+
+Here, take this reward. Good luck. %%1
+
+
+Here, thanks to the oil, this string is very sturdy. You better not keep it on your inventory. Good luck!
+
+
+Here, you can have a glass.
+
+
+Here, you can have the partly unobtainable items reserved to developers and contributors. And, uh, these NPC-only items, don't let developers know I gave you this. It'll be our little secret!
+
+
+Here, you can have this one!
+
+
+Here, you can have this souvenir.
+
+
+Here, you can have this spare one. Hahah! Crafting is an art, and I help teaching it. Just be sure to don't lose it, you will NEVER get another copy EVER again, was I clear?!
+
+
+Here, you can have this, token of my appreciation.
+
+
+Here. You know that milking Mouboos won't cause them harm, right? It's a different story with @@.
+
+
+Herein also lies Raid Yahoo, enemy of manakind and nemesis of Saul, the one hated by many and loved by few, greedy mana stone collector, but who still opposed to the Monster King and lost her life for it.
+
+
+Herein lies Fefe, for his great bravure and heroic deeds, savior of our realm, valiantly defeated in combat against the Monster King, may the mana shine upon him forever.
+
+
+Hero Card
+
+
+Hero Card S
+
+
+Hero Card X
+
+
+Hero Coin
+Hero Coin
+
+Hero Statue
+
+
+Hero Statue#012-1
+
+
+Hero Statue#027-1
+
+
+Hero#0
+
+
+Hero#1
+
+
+Hero:
+
+
+Heroes Hold
+
+
+Heroes Hold - Exchange Hall
+
+
+Hesitant, you reach out your hand, and grab whatever was on the Cauldron. It seems to be an Embryo.
+
+
+Hey %s, I was informed about your arrival. You are here, good!
+
+
+Hey %s, could you do me a little favor?
+
+
+Hey @@! You haven't talked to me yet!
+
+
+Hey do you have a second?
+Hey, t'as une seconde ?
+
+Hey dude. During this event you can trade one @@ for more... useful items.
+
+
+Hey friend, could you do me a little favor?#0
+
+
+Hey friend, could you do me a little favor?#1
+
+
+Hey gal, could you do me a little favor?#0
+
+
+Hey hey, can you impress me? Can you impress me?
+
+
+Hey hey... Good job! I was worried you would ruin their hoods before being able to take them.
+
+
+Hey hey... Good job! We can now use again the stuff we recovered from the bandits.
+
+
+Hey if you want I can do some physical work for you!
+
+
+Hey kid! Can you hear me?#0
+Hey gamin! Tu m'entends ? #0
+
+Hey kid! Can you hear me?#1
+Hey kid! Can you hear me?#1
+
+Hey kid, go play somewhere else, I don't have time! It's soon over!
+
+
+Hey look, an alchemy set. Not your area of expertise, but you take a few samples.
+
+
+Hey newbie... I am a dangerous bandit.
+
+
+Hey pal, could you do me a little favor?#1
+
+
+Hey silly %s, I need a favor from you.
+
+
+Hey there! How are you?
+
+
+Hey there! How are you? I hope you're doing fine!
+
+
+Hey there, %s. I deal with ultra rare items. If the Powers That Be decided you're out of luck, well, I am here to help you to bypass it.
+
+
+Hey there, %s. What I deal with is too much for your weak bones. So please come again after you are reborn, then I'll have something for you.
+
+
+Hey there, @@! Good luck killing monsters!
+
+
+Hey there, @@! I see you are still a noob!
+
+
+Hey there. My name is Gwendolyn Bowmaker; I'm the granddaughter of the famous Glinda Bowmaker.
+
+
+Hey wait... A monster!! Run for your life!!
+
+
+Hey wait... You found 2 GP!
+
+
+Hey wait... You're enveloped by a bright light and fully healed!
+
+
+Hey wait... You're enveloped by a bright light and gain experience!
+
+
+Hey you have a bucket! Too bad there are, you know, HOLES on it, so you can see.
+
+
+Hey you. Come here...I have a quest for ya.
+
+
+Hey! Be careful. You can't stay in this basement for so long, you're going to get sick. Come outside and take a break, maybe you can try again later.
+Eh ! Fais attention. Tu ne peux pas rester dans ce sous-sol pour si longtemps, tu vas tomber malade. Viens dehors et fais une pause, peut-être peux-tu essayer plus tard ?
+
+Hey! Good to hear from you!
+
+
+Hey! Good to see you. I was thinking how I could repay for what you've done for my mother.
+
+
+Hey! How are you today? Thanks again for your help.
+
+
+Hey! I already got them!
+
+
+Hey! I want to enter in this house!
+
+
+Hey, %s! Welcome back!
+
+
+Hey, @@!
+
+
+Hey, I am flopped. Do you want to gamble?
+
+
+Hey, I like rewards. Wait me, I'll be back!
+
+
+Hey, I said NO ENTRY! Get moving!
+
+
+Hey, I see you have appointed @@ players to this game. Good job!
+
+
+Hey, can you spare me a moment?
+
+
+Hey, check out my brand new fishing rod. I bought it just today.
+Hey, jette un œil à ma toute nouvelle canne à pêche. Je l'ai achetée aujourd'hui.
+
+Hey, collect lots of @@ and give them to me on Christmas! Not now. On Christmas!
+
+
+Hey, did you bring me everything I asked for?
+
+
+Hey, did you know there are two mouboos which constantly fight against themselves?!
+
+
+Hey, do not mistake me for a child.
+
+
+Hey, do you know the ##BCall Of Dusty##b event?
+
+
+Hey, do you know what is good on summer? @@!
+
+
+Hey, do you know what is good on this harsh winter? A @@!
+
+
+Hey, dude! The guards are after me. I need your help, and I can reward you.#0
+Salut mec! Les gardes sont après moi. J'ai besoin de ton aide et je peux t'en récompenser.
+
+Hey, dude! The guards are after me. I need your help, and I can reward you.#1
+Salut mec! Les gardes sont après moi. J'ai besoin de ton aide et je peux t'en récompenser.
+
+Hey, girl!#0
+Salut fille !
+
+Hey, have you come to play with me? I love playing with humans! Usually so few show in, it must be the dragons...
+
+
+Hey, how is the monster extermination going?
+
+
+Hey, huge THANKS for the help! I love gifts! Here's your due reward!
+
+
+Hey, is somebody over there?
+
+
+Hey, it seems like you didn't register as a Monster Hunting Quest participant yet! You can sign up with Aidan.
+
+
+Hey, look, a tie happened!
+
+
+Hey, look, you have @@ boxes to collect!
+
+
+Hey, man!#1
+Salut mec !
+
+Hey, nice hat! Can I have it?
+
+
+Hey, pal. This spot is very good, I can see the whole town from here.#0
+
+
+Hey, pal. This spot is very good, I can see the whole town from here.#1
+
+
+Hey, psst! Come over here!
+
+
+Hey, psst! Have you brought me what I asked for?
+Hé, psst! M'as-tu apporté ce que je t'ai demandé?
+
+Hey, take this @@. It heals fully but who cares, I have Tonori Delight!
+
+
+Hey, thanks for saving me. You know, from the well.
+
+
+Hey, the %s you gave me was quite tasty, thanks!
+
+
+Hey, this Dummy is to @@ kill.
+Hey, ce Dummy est pourr @@
+
+Hey, two gifts is very nice. But if we delivered 400. Think on it.
+
+
+Hey, you on the dune! Can you hear us?!
+
+
+Hey, you! Aid me!
+
+
+Hey, you! Are you here on Kenton's orders?!
+
+
+Hey, you! Could you bring me an @@?
+
+
+Hey, you! Help me!
+
+
+Hey, you! We need help to find the Monster King.
+
+
+Hey, you! We need help to get rid from some remaining monsters at Nivalis City.
+
+
+Hey, you! What are you doing here?!
+
+
+Hey, you're an elf, cool! But you still cannot run for office here!
+
+
+Hey, you, stranger. I promised Banu a pie, but she is yet to give me the apples.
+
+
+Hey. If you want to kill monsters, you need a good sword. I think, a @@ would be the perfect fit for you.
+
+
+Hey. You there. Time to do @@ and show what you're made of.
+
+
+Hey. You. You were in need of medical attention earlier. Do you remember how to walk, talk, attack, etc?
+Hey. Vous. Vous avez besoin de soins médicaux. Vous souvenez-vous comment marcher, parler, attaquer, etc.?
+
+Hey... Go bother someone else.
+
+
+Hey... I found a Jeans Shorts. Is it yours?
+Eh... J'ai trouvé un Jean Short. C'est à toi?
+
+Hey... You... Come here.
+
+
+Heya dude! Don't you think this room is too dark?
+
+
+Heya!
+Hey !
+
+Heya, noob. Where is your @@? Are you really so noob to have forgot such important book?!
+
+
+Hi @@.
+Salut @@.
+
+Hi Peetu, are you calmer now?
+
+
+Hi there, I can always use a helping hand around here, are you the one for the job?
+
+
+Hi! Apparently, I came from here and moved at the age of 4, but I had amnesia and can't remember!
+
+
+Hi! Do you want a hair cut?
+
+
+Hi! I'm Miltaco, a piou specialist in humanoid hairstyles. Do you want a hair cut?
+
+
+Hi! My name is @@.
+
+
+Hi, @@.
+
+
+Hi, I'm Woody!
+
+
+Hi, I'm too busy to talk right now, please go away. Very pressing matters at hand.
+
+
+Hi, nice to see you!
+Salut, contente de te voir!
+
+Hi.
+Bonjour.
+
+Hi. Are you here to get luggage?
+
+
+Hi. Come to the bakery!
+
+
+Hi. Could you perhaps be interested in doing some small errand for me?
+
+
+Hi. Do you need something?
+
+
+Hi. I have questionable items of questionable origins for you.
+
+
+Hi. My back hurts!
+
+
+Hi. My captain believe the world is round, can you believe that?
+
+
+Hi. My ship is about to set sail, we'll try to find somewhere better to live than this ruined place!
+
+
+Hi. Thanks for the pie.
+
+
+Hi. This is a very historic building - the former residence of the red queen no less!
+
+
+Hi. Working on the docks can be hard, but I'm glad I at least get to eat!
+
+
+High Council Secretary
+
+
+High Priest Card
+
+
+Highly strong and bulky, faces their foes head-on.
+
+
+Hihihi... Thanks! Here, you can keep this.
+
+
+Hinnak
+
+
+Hire a mercenary
+
+
+His daughter, Airlia, is not air-headed as her mother Lia. Try asking her instead.
+
+
+His golden ring pops right out of it.
+
+
+His policy is to never read a letter without the sender being present. Of course we checked for poison and traps.
+
+
+Hit the ground, exploding the surroundings and disabling enemies.
+
+
+Hit'n'run is not so hard... One hit, one step back... One hit, another step back... One miss, two steps back...
+
+
+Hm hm. Thanks for the report. Well, as you could have suspected... I knew that all along.
+
+
+Hm hm. This sounds pretty concerning. Aiming at Sages is also a smart move, as they compose the Alliance Council.
+
+
+Hm, I would also do some quests if I needed money... On other hand, maybe I could go fishing? Do I know any fisher?
+
+
+Hm, can we talk again later?
+
+
+Hm, do you perhaps know where to find Cindy and could help me?
+
+
+Hm, good luck out there.
+
+
+Hm, groceries? Well, figure out Naem would ask someone to deliver them.
+
+
+Hm, thanks for your report. This is most useful. Here, drink this.
+
+
+Hm, would "Cindy" be a small, little girl, kidnapped by some sturdy-looking rogue Yetis?
+
+
+Hm. Then please don't disturb me, I'm trying to concentrate.
+
+
+Hm... Shhhh...
+Hm... Shhhh...
+
+Hmm hmm! Then, let's begin.
+
+
+Hmm what is it?
+
+
+Hmm, I think I can teach you a basic Mana Skill now. That one is pretty simple.
+
+
+Hmm, I think I can teach you a basic Mana Skill now. This one is more advanced, though.
+
+
+Hmm, Nivalis is a wonderful place to live in! Although it is a tad too cold on Winter...
+
+
+Hmm, Woodlands is a wonderful place to live in! Although Thorn gets really a thorn in my boots during spring...
+
+
+Hmm, it might be a hunch but... Can you tell me if there were any unusual visitors before the incident?
+
+
+Hmm, it's very interesting, very ... (mumbling).
+
+
+Hmm, no, I shouldn't go back there...
+
+
+Hmm, no, not really. However, I can try my hand at tweaking an item options :3
+
+
+Hmm, that's some progress. Nobody goes to the beach because of these slimes, but it looks like this might change sometime soon.
+
+
+Hmm, who are you?
+Hmm, Qui es-tu ?
+
+Hmm... First of, I would really add some agility. Agility helps you to don't be hit, and not being hit is awesome.
+
+
+Hmm... I can handle cooking during normal days. Christmas is the problem. I never have enough sweeties by then...
+
+
+Hmm... See, the thing is that transmuting living beings is not normally something that transmutation magic can do.
+
+
+Hmm... That's a though question!
+
+
+Hmm... Thinking well...
+
+
+Hmm... sorry but gotta go...
+
+
+Hmm...actually, nevermind.
+
+
+Hmmm... Yummy!
+
+
+Hmpf! Coffee is an heresy!
+
+
+Hmpf, for a %s, you're a bit resourceful.
+
+
+Hmpf, if %s was still around... He sealed the path to Aethyr, the sacred elf land. I'm sure he could protect Frostia from the likes of you as well!
+
+
+Hmpf, it's good to see you're at least trying to follow Wyara's example.
+
+
+Hmpf. A pleasure doing business with you.
+
+
+Hmpf. That'll do.
+
+
+Hmpf. Wise choice.
+
+
+Hmph, that would only incite bad behavior! No way!
+
+
+Hmph, you are the second activist I see today! TO THE BRIG!
+
+
+Ho! I'll help them!
+
+
+Ho... I see you are a tough one...
+
+
+Hocus Pocus
+
+
+Hocus Said So Challenge
+
+
+Hocus#MOLY0100
+
+
+Hocus#MOLY0200
+
+
+Hocus#MOLY0300
+
+
+Hocus#MOLY0400
+
+
+Hocus#MOLY0500
+
+
+Hocus#MOLY0600
+
+
+Hocus#MOLY0700
+
+
+Hocus#MOLY0800
+
+
+Hocus#MOLY0900
+
+
+Hocus#MOLY1000
+
+
+Hocus#MOLY1100
+
+
+Hocus#MOLY1200
+
+
+Hoh, I see this %s you've been using. Do you desire for more power?
+
+
+Hold your horses, %s. You are not the party leader.
+
+
+Holy Light
+
+
+Holy Pixie
+Holy Pixie
+
+Homun Stat Reset Potion
+
+
+Homunculus are a bit dumb, although the ones I've cultivated and took personal care of can express reactions. In future, I'll research sentience.
+
+
+Homunculus stats were reset!
+
+
+Honey
+
+
+Honor Points: %s
+
+
+Honor only applies to PvP fights. It can be seen on "%s" and rewards are given monthly for it.
+
+
+Hooded Assassin
+Hooded Assassin
+
+Hooded Ninja
+Hooded Ninja
+
+Hopefully, you'll find something interesting on it to serve as a payment. It's up to luck, I guess....
+
+
+Hoping for the best, but prepared for the worst, you set off to the legendary continent of Kolev; Your destination: Artis.
+
+
+House Maggot
+House Maggot
+
+Houses, Exit
+
+
+Houses, Lake Of Tears
+
+
+Housing Letter I
+
+
+Housing Letter I for 11,000 GP
+
+
+Housing Letter II
+
+
+Housing Letter II for 101,000 GP
+
+
+Housing Letter III
+
+
+Housing Letter III for 1,001,000 GP
+
+
+How about this, I can teach you how to be a tiny bit faster, so you can use heavier armor. I'll even give you a discount. Give it some thought, come back to me after you make up your mind.
+
+
+How can I complete a craft?
+
+
+How can I get iron ingot?
+
+
+How can I help you, my friend?
+
+
+How can I help you?
+
+
+How can I obtain casino coins?
+
+
+How can I reach the Land Of Fire?
+
+
+How did I got here?
+
+
+How did you end up here?
+
+
+How did you even get here? Go back to Candor, where you belong!
+
+
+How did you even got here? There are dangerous swamps north, and dangerous deserts south...
+
+
+How did you get down there?
+
+
+How did you got that much? Nine gifts, and 51200 if you want even more.
+
+
+How did you guess that?
+
+
+How do I advance in Mana Magic? How it works?
+
+
+How do I get magic?
+
+
+How do I hunt monsters?
+
+
+How do I make money?
+
+
+How do I save items?
+
+
+How do I save money?
+
+
+How do I see my items?
+
+
+How do I talk with someone?
+
+
+How do I trade with other players?
+
+
+How do you even prove amnesia, anyway?
+
+
+How do you know my name?
+
+
+How does Gambling works?
+
+
+How does spinning works?
+
+
+How is *hic* it possible?
+Comment est-ce *hic* possible ?
+
+How is your purge going? I hope you had success at it!
+
+
+How many %s should I attach?
+
+
+How many batches do you want to produce? (max. 5)
+
+
+How many chocolate do you want to send? You can trade: @@
+
+
+How many did you need again?
+
+
+How many do you want to sell? You currently have @@ @@.
+
+
+How many heads does Zaphod Beeblebrox have? Numbers only.
+
+
+How many ingots do you want to make?
+
+
+How many lives will be claimed until he is put to rest?
+
+
+How many pints of beers should you drink before hitchhiking? Numbers only.
+
+
+How many points? (0-%d)
+
+
+How many steps?
+
+
+How many to brew? (%d-%d)
+
+
+How many?
+
+
+How many? Max. @@
+
+
+How may I help you?
+
+
+How much coffee you'll give Jhon?
+
+
+How much do you want to deposit?
+
+
+How much do you want to withdraw?
+
+
+How much honey will you give it? (You have: %d)
+
+
+How much would be the budget for Fur Boots?
+
+
+How powerful they were or are, their cruelty, their judgment against the Terranite Civilization and the other bloody details of the legend... I cannot confirm them to you.
+
+
+How powerfully do you want to shoot?
+
+
+How to better preserve your dispostives:
+
+
+How to expand this limit? Well, you'll need to touch a Mana Stone. If you can handle more raw power, your limit will extend.
+
+
+How to use best Warp Technology?
+
+
+How will you respond?!
+
+
+How's that even possible? Well, 30 @@ for all contestants!
+
+
+Howdy! Lately I feel like a placeholder, just surviving on these harsh lands.
+
+
+Howdy! Mirio and I scout this canyon to protect our clan. I am also a retired assassin, maybe someday I can exchange some knowledge with you! Hahaha!
+
+
+Howdy! Pachua and I scout this canyon to protect our clan. I acknowledge only those whom are fast like the wind! I would love to challenge you for a race... But not today.
+
+
+Howdy, partner! Man, you have no idea how I'm hungry. Been scouting this canyon for weeks, under the scorching sun, and there's only snake meat to eat... I'm get tired of this repulsive stuff.
+
+
+Howdy?
+Comment vas-tu ?
+
+However, %s stole the treasures which were being showcased!
+
+
+However, I am still up for trading cards, if you wish.
+
+
+However, I need a tax to start, and you need to arrange players. There are no refunds.
+
+
+However, I need to see at least three volunteers here, to allow you in.
+
+
+However, I still have hope. Dimond's secret recipe. Ah, but I can't get the ingredients for it...
+
+
+However, LoF admins and developers are working on a new game to offer a new experience for players.
+
+
+However, an account may only apply for an office weekly.
+
+
+However, as long as you remain seated and immobile, the spell will slowly destroy the seal.
+
+
+However, by casting %s here, we'll be able to weaken the seal!
+
+
+However, chants can also inflict ailments or even summon creatures.
+
+
+However, each group may be expanded later. You can reset group by clearing the Master Floor.
+
+
+However, for a few months already, nothing else has been heard from that town, and all contact was lost.
+
+
+However, if town has less than 15 reputation, they'll need to re-apply manually, and may lose the office for the bot account.
+
+
+However, if we waste the ship's money in beer, Nard will get mad.
+
+
+However, it can be unlocked if you know the password:
+
+
+However, it comes back crying! Poor teddy, it got attracted by a sweet smell but it found a %s instead!
+
+
+However, it stops abruptly and quickly moves away from it.
+
+
+However, it's also possible they're there already. Be careful for ambushes!
+
+
+However, our skill growth rate is much smaller than those of humans.
+
+
+However, she may have a better assessment of the current situation better than you and your allies.
+
+
+However, that is not exactly a popular idea around here. The fae seem more concerned with snakes.
+
+
+However, the Army seems to walk away after some time.
+
+
+However, the fate of this world is at your hands. I shall not allow the Moubootaur to cause havoc.
+
+
+However, the legend said there was a way to prevent this disaster. A single way... Which the Ancient Families of Soul Menhir kept a secret passed down between generations.
+
+
+However, the log breaks with a loud crack.
+
+
+However, there's a link to get a simple python bot software!
+
+
+However, they must visit their town office and do daily paperwork, every day. Otherwise, town reputation will go down.
+
+
+However, this only distracts him for a short while. Soon after, he returns to his small ritual with the pot.
+
+
+However, watch out!
+
+
+However, we must defeat the commanders to avoid major damage to them!
+
+
+However, you need a %s or a Fishing Net. There's one fisherman in Tulimshar Center, called Eugene. He should have one, but he lives isolated on a small island... Good luck getting to him.
+
+
+However, you should only give food when it's hungry, otherwise it'll believe you're a bad owner and intimacy will decrease.
+
+
+However, you'll need to keep cooperating with me. Trust me, this incident and what you look for it is closely related.
+
+
+However, your guild just challenged Kamelot Dungeons.
+
+
+However...
+
+
+Huge area of effect fire damage. May burn targets.
+
+
+Hum, Which type of favor?
+
+
+Hum, how many gem powders can I get from one gem?
+
+
+Hum... I'm not really good at it.
+
+
+Human
+Humain
+
+Human Voice
+Voix Humaine
+
+Humans never built a settlement there. But the prophecy is there.
+
+
+Hungry Quirin Arena Information
+
+
+Hungry Quirin Arena Rules
+
+
+Hunter.
+
+
+Hurns Warp Crystal
+
+
+HurnsShip#M
+
+
+Hurnscald
+
+
+Hurnscald - @@ GP
+
+
+Hurnscald Liberation Day special event
+
+
+Hurnscald Mines
+
+
+Hurnscald Office
+
+
+Hurnscald Townhall
+
+
+Hurnscald is a large city. I'm sure glad I live in Candor because I know where everything's at.
+
+
+Hurnscald was founded after Tulimshar, in more fertile lands. Their walls are not so sturdy as the ones of Tulimshar.
+
+
+Hurnscald's Nurse
+
+
+Hurnscald? Small farming towns are always nice to visit.
+
+
+Hurnsguard
+
+
+Hurry up! Bring a @@ from Barzil in Halinarzo!! You only have @@ left!
+
+
+Hurry up, before the wind changes.
+
+
+Hurry up, you'll run out of time in @@!
+
+
+Hwaaaah... Man, I'm bored. Will you be getting @@?
+
+
+Hwellow. I am a boring NPC which makes green dye.
+
+
+I HAVE WARNED YOU!!!!!
+
+
+I NEVER TOUCHED THE SOUL MENHIR! I SWEAR YOU, I'M INNOCENT! PLEASE HAVE MERCY!!
+
+
+I actually have a special class for those with perfect magical control like you.
+
+
+I actually have them, here.
+
+
+I actually need help. I am a mage, and I'm feeling lazy to get the stuff I need.
+
+
+I actually need help. Padric and I were doing some research with catalysts, you see.
+
+
+I advise you to do more quests on Tulimshar and Candor, otherwise, you will fail right at the end.
+
+
+I agree with you. Most of these materials can't even be found on Nivalis.
+
+
+I already did everything I could with this. What am I waiting for?
+
+
+I already got enough %s, thank you.
+
+
+I already have a Forest Bow.
+
+
+I already have that...
+
+
+I already told you he is out! Why do you even want to talk to him?! Haven't I told you to... to... leave me alone!?
+
+
+I already took my share from this chest.
+
+
+I already visited this warp.
+
+
+I also brew some of the crops, making Beer. And then I sell to adventurers!
+
+
+I also broke my bones, and I was equipping a weapon which prevents HP regen...
+
+
+I also do not keep any stock of them. If you really want it, you can bring me some Raw Logs. I'll show you which one is the good one. Deal?
+
+
+I also hear fisherman likes to fish at night. They say the catch is bigger, if you understand me.
+
+
+I also see you have a level @@ magic skill!"
+
+
+I always do shady deals. *cough cough* %s GP.
+
+
+I always keep my end on the bargain, so here you go.
+
+
+I always thought it was a bad idea to play around with the slimes. And as if holding them in here isn't bad enough, no, they also had to mess around with magic.
+
+
+I always wanted to live in this town. I'm glad I managed to move from LoF Village to here.
+
+
+I always wanted to taste a %s! But they don't grow anywhere, and I've heard the only way to obtain one is from %s. Unfortunately, I do not favor violence, so... Could you get one for me?
+
+
+I always wonder if I should raise my price to teach bad kids to don't lie.
+
+
+I am %s, a piou alchemist specializing in reset and agility potions.
+
+
+I am @@, an alchemist specialized in reset potions.
+
+
+I am @@, and I take care of the Arena.
+
+
+I am @@, guardian of Candor Cave. Below this cave, lies the legendary Fefe, arch-wizard from the Great War.
+
+
+I am @@, student from the ancient secrets of the Mage of Time, Ozthokk.
+
+
+I am @@, the only mage in Candor.
+
+
+I am Bella, the Scholar.
+
+
+I am Elli. One of the Originals.
+
+
+I am Quirino Voraz, and my arena is the coolest PVP Arena on all Mana Worlds.
+
+
+I am Yetifly the Mighty, guardian of the fae!
+
+
+I am Zarkor, the Dark Summoner. I want to do a dark summoning ritual, but there are strings attached.
+
+
+I am a GM, and I want to change my Race!
+
+
+I am a bard! I used to be an elf trader, but music got me for good.
+
+
+I am a brave adventurer! How can I help you?
+
+
+I am a contributor, and I want contributor stuff.
+
+
+I am a mage. How do I get to Academy?
+
+
+I am a noob and don't need you.
+
+
+I am a really good blacksmith. In fact, there is no stuff I can't fix.
+
+
+I am a thief! I want to repent for my sins!
+
+
+I am a trader from Nard's ship. We actually need supplies. Help us, and I'll help you.#0
+
+
+I am a trader from Nard's ship. We actually need supplies. Help us, and I'll help you.#1
+
+
+I am actually surprised you clicked me again. Well then, here's the Land of Fire News...
+
+
+I am broken?! Please report! Debug data: @@ (@@)
+Je suis cassé?! S'il vous plaît signaler! Debug data: @@ (@@)
+
+I am collecting money for the Yearly Autumn Scorpion Hunter quest.
+
+
+I am counting on you!
+Je compte sur toi!
+
+I am currently in charge of overseeing the world state and the Monster King advancements, as well as planning and dealing with emergencies. The Alliance High Council is currently composed by %s members and %s honorary ones.
+
+
+I am currently very worried with them. They're just children! They don't know how to fight!
+
+
+I am doing a great research with Bats, and thus far I collected @@ Bat Wings and Teeths.
+
+
+I am happy that such responsible citizens live in Tulimshar. Thank you for your help. It's really hot nowdays!
+
+
+I am his right-hand Yeti, so I could grant you passage to his Throne Room to slay the rogue Yetis...
+
+
+I am hungry. Can I buy some food here?
+Oh qu'est-ce que j'ai faim. On peux acheter de la nourriture ici?
+
+I am making a figurine with Bug legs for the upcoming festival.
+
+
+I am not a citizen of Candor.
+
+
+I am not a coward to run away by the back door!
+
+
+I am not a half-word man, so I won't take your fish. Come back with the money and the Roots, and I'll make the string for you.
+
+
+I am not afraid of Pious.
+Je n'ai pas peur des Pious.
+
+I am not content with our water supply. It gives us common water, but we of the superior race deserve better water.
+
+
+I am not done purifying the water yet. This may take years, but it'll be worth it.
+
+
+I am not sure of who makes or haves Lifestones. Try looking outside the city. Who knows.
+
+
+I am pleased about your progress, but you are not ready for the next step yet. Go and do some more training, before you come back.
+
+
+I am pleased to see that you have woken up and are active. Elmo came here to tell me this good news!#0
+Je suis ravi de voir que tu t'es levée et est déjà active. Elmo est venu m'apporter la bonne nouvelle !
+
+I am pleased to see that you have woken up and are active. Elmo came here to tell me this good news!#1
+Je suis ravi de voir que tu t'es levé et est déjà actif. Elmo est venu m'apporter la bonne nouvelle !
+
+I am really curious what this shrine is about, though.
+
+
+I am searching again maggot slime to craft more balls.
+
+
+I am sorry but I can see that you don't have all that I asked you.
+
+
+I am sorry, but it does not look like you have everything. You will need to bring:
+
+
+I am sorry, but it seems that you don't have enough money. Come back when you have reorganized your finances.
+
+
+I am stationed here to protect Hurnscald from monsters.
+
+
+I am stationed here to protect Land Of Fire from monsters.
+
+
+I am still here, but I already did amends for my acts and don't need to flee anymore...
+Je suis toujours là, mais j'ai déjà amendé mes actes et je n'ai plus besoin de fuir ...
+
+I am sure that an adventurer like you can gather everything in no time at all!
+
+
+I am sure that they will come back to haunt you in your dreams!
+
+
+I am sure you already fought him. And survived, too, apparently. Help her, and I will reward your efforts appropriately.
+
+
+I am the Judge, and I shall make Judgment upon you!
+
+
+I am the Magic Fountain of Hurnscald. You look qualified.
+
+
+I am the Trader King, because I supply a market!
+
+
+I am the Yetifly, guardian of butter and fairies.
+
+
+I am too far away to talk. Weird floating thingy...
+
+
+I am trying to fish here without success. You're weak, do not bother me.
+
+
+I am trying to invent the light bulb, but my name is not Thomas...
+
+
+I am willing to give it to you, if help me out. I promise it won't be a bother, and it'll really be useful for you, I swear.
+
+
+I am willing to pay @@ GP for 10 @@ you bring me!
+
+
+I am willing to pay @@ GP for each you bring me! Do you want to give me ALL your @@?!
+
+
+I am. What heroic action is needed?
+
+
+I asked my father and he agreed to trade it to you, so here is the last copy of the Maritime Almanac Scroll.
+
+
+I believe these switches control the cage's lock.
+
+
+I bet you are dead tired, and the ship travel takes a long time.
+
+
+I bet you'll now ask for %s's password, and scam all their money!!
+
+
+I better do this some other time...
+
+
+I better don't bother this Yeti, before it kills me.
+
+
+I better leave talking to him to the guild Vice Leaders and Master.
+
+
+I better leave this crazy man to his ordeals...
+
+
+I better not disturb the hut owner.
+
+
+I better report this to Lua!
+
+
+I brought a souvenir for you.
+
+
+I came from The Mana World.
+
+
+I came from Thermin, a town far far away.
+
+
+I came here to ask for help with curses.
+
+
+I came here to report... A sabotage.
+
+
+I came here to talk about the World's Edge.
+
+
+I came to enjoy a beautiful day with some ducks!
+
+
+I can also pay %d GP per %s.
+
+
+I can do a bug bomb right away, but I still need a few things for it!
+
+
+I can do that for you, but you'll still need to go to storage to get them back.
+
+
+I can even give you the %s lumps of precious %s we would have burned. Whaddaya say, do we have a deal?
+
+
+I can fill your bottle with water for only @@ gp the bottle.
+
+
+I can fix this for you. Just pay me @@ GP and a @@. It'll take no time at all!
+
+
+I can fuse an @@ and 20 @@, besides @@ GP, into 3~5 @@.
+
+
+I can give you a rare...(cough, cough).. Mouboo Figurine for it.
+
+
+I can give you my knife if you bring me this:
+
+
+I can make @@ from @@, but this costs @@ GP.
+
+
+I can make a @@ for just one @@ and @@ GP for my work.
+
+
+I can make an @@, I still have a bottle of fairy blood, a few mana pearls, and some other rare ingredients.
+
+
+I can make some stuff with it, but I have no idea where it can be found. Mylarin dust... amazing.
+
+
+I can make three types of Agility Potions, which would you like?
+
+
+I can make you a @@, and for that I will want a @@ and 500 GP.
+
+
+I can protect myself, so it should attack from afar.
+
+
+I can prove you my worth!
+
+
+I can rent it to you for 300 GP, during 15 minutes. Deal?
+
+
+I can sell you the Pickaxe for @@ GP if you have and @@ the remaining equipment.
+
+
+I can send you to at least five from the seven cave levels this dungeon have.
+
+
+I can summon the BOSS for the level 0~20 area.
+
+
+I can summon the BOSS for the level 21~40 area.
+
+
+I can teach you these bonuses, but more powerful bonuses require more skill to learn... And I don't know anyone who could improve your crafting skill...
+
+
+I can trade some with you. Just bring me the following cash payment and supplies:
+
+
+I can vouch for you, but only if you help me first!
+
+
+I can walk, I'm just... Trapped here. That's why I need someone to help me to cultivate my wose part!
+
+
+I can warp you home now.
+
+
+I can't believe it took so long to fix... And worse, next spring it'll be the same story all over again...
+
+
+I can't believe it! You've brought me @@ @@!
+
+
+I can't believe it.
+
+
+I can't give you the Apple I've stole. Because, I was stolen first!
+
+
+I can't handle it anymore! NO MORE!
+
+
+I can't sleep, so I'm writing this entry. It'll take a considerable amount of time to decrypt the shield frequency Raid is using, and when Saul's army is marching towards their deaths, time is of essence. Every second I waste, is a comrade who will die.
+
+
+I can't stay here and talk all day. I have a job to do.
+Je ne peux pas rester ici à te parler toute la journée. J'ai un travail à faire.
+
+I can't use the shovel here.
+Je ne peux pas utiliser la pelle ici.
+
+I can't, sorry.
+Je ne peux pas, désolé.
+
+I can't. Rakinorf told me I should bring this matter to you instead.
+
+
+I cannot answer you about yourself, but I can tell you about the Ancient Families and the World Edge. Which is classified information, by the way.
+
+
+I cannot be alone to summon the Yeti King.
+
+
+I cannot in good faith ask someone with so little experience to risk their life for something so trivial.
+
+
+I cannot just give it to you for nothing. Run to Elanore and fetch me a @@. You need to make a new one, an old one I won't accept.
+
+
+I cannot leave until Luvia and her allies are dead.
+
+
+I cannot melt this. I only melt down equipment, and not everything I know how to!
+
+
+I cannot pass, because I am only level @@.
+
+
+I cannot read the signs from this far away.
+
+
+I certainly can't get out on my own.
+
+
+I changed my mind, I think I would like a copy!
+
+
+I changed my mind, goodbye.
+
+
+I changed my mind.
+J'ai changé d'avis.
+
+I charge a service fee of @@ GP, and two gemstones.
+
+
+I collect them.
+
+
+I come here frequently to trade. It is not deserted nor boring.
+
+
+I could easily bake one for you, provided you bring me the following:
+
+
+I could explain this better, but you are just a noob at magic, if you understand me.
+
+
+I could make ink myself, but I am lacking some material...
+
+
+I could not be the Bandit King. But once I steal all Mana Stones, I'll be not only the best thief in the world. I already decided my new title.
+
+
+I currently have some pets with me. For most, you need to finish their Grand Hunter Quest, of course.
+
+
+I did a travel to their cave, I wondered why their faces are never seen. Reason is that they're monsters.
+
+
+I did not summon you, I'm just a passer-by. Sorry.
+
+
+I did nothing wrong! I am not AFK!
+
+
+I did some tritan friends, though. They teached me how to breath underwater. It's not so bad.
+
+
+I disguise myself into a giant mutated bat, but every time I break or lose my fake teeth.
+
+
+I do not have Everburn Powder to lit the torch.
+
+
+I do not know how to trigger this summoning circle.
+
+
+I do not like him, but even so, he keeps bothering me! Maybe I could out-impress him, though!
+
+
+I do now know what this means: GS-@@-ICXN-@@
+
+
+I do some research about evolution of snake skin subject to hard sunlight.
+
+
+I do. I want to challenge the Candor Cave!
+
+
+I don't believe you.
+
+
+I don't care about dirty miners problem.
+
+
+I don't care for equipment, gimme a snake skin.
+
+
+I don't care for shorts, gimme a snake skin.
+
+
+I don't care for your reasons.
+
+
+I don't have a spare. They're *hic* done by ANISE INC., their headquarters are in Frostia.
+
+
+I don't have enough money...
+
+
+I don't have that much money, sorry.
+
+
+I don't have the time!
+
+
+I don't have them, actually.
+
+
+I don't have time for that.
+
+
+I don't have time sorry.
+
+
+I don't know
+
+
+I don't know for what crazy reason you might want to do this, there is absolutely no benefit to this. I think you just selected the wrong option.
+
+
+I don't know if jesusalva allow me to teach you a basic shaman skill!? .
+
+
+I don't know if our clan will survive for much longer. Do you have any questions before we all die and our knowledge gets forgotten?
+
+
+I don't know what you did, but both the Ducks and Blubs did got scared. I thank you in the name of the city guard. Please come back later.
+
+
+I don't know what, but it is
+
+
+I don't know who sent you to me, but this is a flat and big NO!
+
+
+I don't know why they would repeat a past mistake. The Monster King is not human anymore. I also do not know what artifact they lost. We have more questions than certainty about this.
+
+
+I don't know, I assume the staff was burried with him on the deepest parts of the cave. If it was easy, someone would already have stolen it.
+
+
+I don't know.
+
+
+I don't know. Try getting a Rusty Knife or something. Maybe the chef of Nard's ship can spare you one.
+
+
+I don't know?
+
+
+I don't like them, I can't fly straight.
+
+
+I don't need anything after all, goodbye!
+
+
+I don't need help!
+
+
+I don't need to be rescued. I'm enjoying myself here.
+
+
+I don't really understand how the dungeon works. I promise you a reward when you finish the task.
+
+
+I don't really understand it either, but it's not for sale. Maybe you could come back later so I can read more of it to you.
+
+
+I don't remember what I need now, but if you give me a moment, I'll get the list.
+
+
+I don't remember. I guess somebody threw me here!
+
+
+I don't suppose you have some herbs and a few bottles of potion with you, do you?
+
+
+I don't think I needed to keep looking these barrels.
+
+
+I don't think I needed to keep looking these potions.
+
+
+I don't think I needed to keep looking these wardrobes.
+
+
+I don't think he could have collected that many!
+
+
+I don't think so. There have been... Incidents.
+
+
+I don't think you have any broken item, but if a friend of mine break your stuff, come talk to me!
+
+
+I don't trust @@s.
+
+
+I don't understand what went wrong with that spell, but it just has to have another cause than Peetu. I'm worried about him. He must feel very miserable. But I can't leave my duty here.
+
+
+I don't want anything right now, bye.
+
+
+I don't want her to think that I am a bad mother.
+
+
+I don't want to help your "friends", bring me to somewhere useful!
+
+
+I don't work with bound items.
+
+
+I dunno. I don't think they're sold anywhere.
+
+
+I failed to protect them.
+
+
+I feel indifferent.
+
+
+I feel like a burden was lifted from my shoulders.
+
+
+I feel much safer now that you defeated the slimes. Thanks so much! Do you need anything else?
+
+
+I feel ok.#0
+Je me sens bien.
+
+I feel ok.#1
+Je me sens bien.
+
+I fight every day in hopes to be like Andrei, the famous hero who prevented Hurnscald from total destruction against a horde of monsters alone.
+
+
+I fight every day in hopes to meet Andrei, the famous hero who prevented Hurnscald from total destruction against a horde of monsters alone.
+
+
+I finally figured out what was wrong. I must thank everyone who help us.
+
+
+I forgot to say earlier, but indeed, I was invited by someone!
+
+
+I forgot what you need!
+
+
+I forgot what you need.
+
+
+I found %s and %s!
+
+
+I found %s!
+
+
+I found switches which only a Yeti may flip...
+
+
+I found your birth record, but it is not complete. Here says you were born on @@.
+
+
+I give up. You're hopeless.
+
+
+I give you five minutes to defeat me. Witness my wrath!
+
+
+I go right.
+
+
+I got a Wizard Hat.
+
+
+I got a Wooden Staff.
+
+
+I got the apple.
+j'ai la pomme !!!
+
+I got the eggs.
+
+
+I got the maggots slimes.
+
+
+I got the silk and chocolate.
+
+
+I guess I love the server, we all know ♪
+
+
+I guess I'll need to try to work with whatever ink is left until the supplies arrive next month...
+
+
+I guess it can also be used at quests... Or sell to Juliet, on Nard's ship.
+
+
+I guess it still remembers the sting on the snout. Ouch!
+
+
+I guess she sent you to kill another Bandit Lord, right? Ok, I'll give you the key for his room.
+
+
+I guess that you could use these lifestones to gain a regeneration effect, too, but I do not know how.
+
+
+I guess you cannot bring more than 1kg with full health. Less, if you're hurt.
+
+
+I guess you'll need an Yeti for that, but those on the cave are murderous.
+
+
+I guess, there might be a single spot where water is a bit deeper, but I wasn't lucky.
+
+
+I hate asking this of a lesser being like you, but if you plan in staying in our town, you should at very least make yourself useful.
+
+
+I hate foreigners. They know nothing about us and want to impose their "ideals" about democracy and whatever.
+
+
+I hate so much the Pinkies on my fields, I want to do a soup! Can you provide me 10 @@? Many thanks.
+
+
+I hate the Red Queen.
+
+
+I hate the sea, the salty air always lets my knives rust. I already have a stockpile of rusty knives, don't even know what to do with them.
+
+
+I hate to leave you now, @@, but I have more important things to do.
+
+
+I hate you Pinkies, and I hate the Monster King too, for bringing forth these plagues!!
+
+
+I have 5 Bandit Hoods with me.
+
+
+I have 5 Treasure keys with me.
+
+
+I have a Stinger with me. Try it!
+
+
+I have a butterfly.
+
+
+I have a few items for sale...
+
+
+I have a lava mana pearl.
+
+
+I have a letter for the Mayor.
+
+
+I have a letter from Rakinorf.
+
+
+I have a lot of work to do now.
+
+
+I have a lot of work to do now. But before you leave...
+
+
+I have a present box to you open.
+
+
+I have a print screen!
+
+
+I have a spare pair of gloves laying somewhere, you can have those if you finish the task.
+J'ai une paire de gants de rechange quelque part, vous pouvez les avoir si vous terminez la tâche.
+
+I have a supplier, gimme TEN batches!
+
+
+I have all.
+
+
+I have already completed this arena.
+
+
+I have bounties for specific high level monsters as well for extermination. Do note mobs killed in Heroes Hold may not count.
+
+
+I have brought you the beer.
+
+
+I have developed a special formula, which resets your stats!
+
+
+I have everything here with me.
+
+
+I have everything you asked me.
+
+
+I have everything you've asked for.
+
+
+I have everything!
+
+
+I have everything, can you tailor it?
+
+
+I have everything.
+
+
+I have extremely difficult quests for you; They are more painful than a Grand Hunter Quest, because I don't admit wimps fighting with me.
+
+
+I have homework to do...
+
+
+I have it right here. You can take it!
+
+
+I have my favorite book of all times, Moby Dick. Let me read some of it to you....
+
+
+I have no idea about who would make a pendant, but lifestone can be done just outside the town walls.
+
+
+I have no idea what's above. Behind the stair, is the painting of a table.
+
+
+I have no interest in things such as that.
+
+
+I have no interest on this item.
+
+
+I have one here...
+
+
+I have other things to do at the moment.
+
+
+I have some good and some bad news for you.
+
+
+I have some healing items with me, we should tend your wounds first.
+
+
+I have some sweeties for the Tea Party!
+
+
+I have the ingredients here.
+
+
+I have the items, please bake for me
+
+
+I have the sturdy wood and the string.
+
+
+I have them here already.
+
+
+I have to get going now. Thanks for the help!
+Je dois y aller maintenant. Merci pour l'aide!
+
+I have to go, sorry.
+
+
+I have to go. See you later.
+
+
+I have to think.
+
+
+I have what you want.
+
+
+I haven't thanked you yet.
+
+
+I hear a Fafi Dragon on THIS very island!!
+
+
+I heard a rumor the other day. About the tree I had found!
+
+
+I heard every Sunday there's a party at Halinarzo Church, but to get there you need to pass through the Desert Canyon.
+
+
+I heard they promised to revive the Red Queen, no idea how and don't care, they don't have money anyway.
+
+
+I heard you fought the slimes that were still roaming between the bookshelves. Thank you!
+
+
+I heard you have been assisting the household staff. For that, I am thankful.
+
+
+I heard you have met my good friend George, and you gave him some items that he needed...
+
+
+I heard your investigations reminded other people that they observed suspicious behaviour too.
+
+
+I honestely wouldn't hire a Mercenary.
+
+
+I hope my answer help you in your adventure!
+
+
+I hope my men are safe, that was yesterday. I am barely alive.
+
+
+I hope one day, they decide build a church here. It's a pain to travel there every time...
+
+
+I hope that strange towel man doesn't bother me again...
+
+
+I hope this is your size.
+
+
+I hope to one day be like @@, who @@
+
+
+I hope you got a Jean Shorts, but that depends on luck. Anyway, here is your reward.
+
+
+I hope you like this color.
+J'espère que tu aimes cette couleur.
+
+I intend to continue with my family's tradition, by teaching the Way of Archery.
+
+
+I investigate missing pets. Many flee from their owners because they die pathetically or forgot to feed them.
+
+
+I just gave you it. Come back later.
+
+
+I just go out removing swords from rocks, and then throwing them again at the lake. All that while I drink coffee.
+
+
+I just want to live my life in peace.
+Je veux juste vivre ma vie en paix.
+
+I just want to trade.
+
+
+I keep failing to summon maggots...
+
+
+I knew someone would agree with me!
+Je savais bien que quelqu'un serait d'accord avec moi!
+
+I know a few bandits stole a few, and Lava Slimes love to eat Casino Coins.
+
+
+I know another Bandit Lord will take up his place, but the loss of their leader will make bandits scatter long enough.
+
+
+I know how hard it is! I hate them with all my heart, only seeing you killing them left and right was GREAT!
+
+
+I know how many bat teeth and wings Arkim collected.
+
+
+I know it may sound silly, but I need your help to find out who I am.
+
+
+I know where the Bandit Lord room is, and I have a guard stationed not far from there. Ask him for the key.
+
+
+I know you have %d %s with you, just haven't said before to be polite.
+
+
+I leave this basement that start to be too dangerous!
+
+
+I like Mana Magic the best, as we can both summon creatures as transmutate stuff. %%N
+
+
+I like people like you, straight to the subject.
+
+
+I like to eat snake eggs. Lemme do you a proposal: You bring me %d %s, and I'll give you a flask of %s.
+
+
+I like to sing.
+J'aime bien chanter.
+
+I like to talk! If yeye likes too, you can press @@ to open chat box!
+J'aime parler! Si vous aimez aussi, vous pouvez appuyer sur @@ pour ouvrir le salon de discussion!
+
+I lost the precious ring they gave me as a gift... Who could have taken it...?
+
+
+I love living here, but I wish people weren't locked inside the rooms all time.
+
+
+I love seeing their terrorize face.
+
+
+I love you, Silvia! - Swezanne
+
+
+I made a mistake, I would like to change my language.#0
+J'ai fait une bêtise, je voudrais changer de langue.
+
+I made a mistake, I would like to change my language.#1
+J'ai fait une bêtise, je voudrais changer de langue.
+
+I make both @@ and @@, if you give me the shrooms associated to them, and money.
+
+
+I may have a task for you. Return when you tired of exploring...
+
+
+I mean, a ship should come to pick you up, but the arch-wizards said they were too lazy to take care of those small details. So you'll be warped.
+
+
+I mean, that's absurd! If there was one, it would have been taken already. Unless if grew some sentience or something.
+
+
+I mean, there's even an Monster King? What sort of world is this?!
+
+
+I met Elli.
+
+
+I might be able to get you a rare copy of the Maritime Almanac Scroll. A yearly publication for seafaring men.
+
+
+I might want to ask an Yeti specialist about this. Maybe Celestia?
+
+
+I mine here since a while. My favorite activity is to scare other miners!
+
+
+I miss Ms. De'Kagen, she was very benevolent but from another world. Why does this one only have annoying pricks for Originals. Wait, I'm getting sidetracked.
+
+
+I miss the Red Queen, times were easier when she was around.
+
+
+I moved to Hurnscald, stayed there for over a decade, until Lord Transmogrifier Pontorias the Plaid (May His Shape Reflect His Soul Forever) died.
+
+
+I must have full MP to touch it... Which I don't.
+
+
+I must keep notes of this.
+
+
+I must report this to Jesusalva. The inventory system can't handle that much. Want more? Try 1,638,400.
+
+
+I must, however, remember that the most powerful magical equipment ##B may require intelligence ##b to use.
+
+
+I must, however, thank you. I could not just come straight up and tell that to everyone, nor simply lock the house without no reason. I'm always fair.
+
+
+I need 2 @@, the @@, and 4000 GP.
+
+
+I need @@ @@, if you could arrange me that I would be grateful.
+
+
+I need @@ @@.
+J'ai besoin de @@ @@.
+
+I need @@ Herbs!
+
+
+I need @@ to work...
+
+
+I need @@/@@ @@ for the book covers and binding of some of the more valuable books we're trying to recreate.
+
+
+I need FIVE batches!
+
+
+I need a GM set, please!
+Il me faudrais un équipement de GM.
+
+I need a favor from you. Go talk to Peetu. Ask him to confirm if there was silk cocoon in the ingredients. Janika reported me that we've ran out of it two days ago.
+
+
+I need a favor! For certain... reasons... I ran out of poison! And For certain... reasons... I am in dire need of them!
+
+
+I need a string, but not just any string, a really good string.
+
+
+I need a sturdy wood piece for a Forest Bow.
+
+
+I need a suitable base helmet, some herbs to use my magical dye, and gold:
+
+
+I need a tutorial, where can I find help?
+J'ai besoin d'un tutoriel, où puis-je trouver de l'aide?
+
+I need at minimum %d Monster Points to get items at current level.
+
+
+I need for the Magic Academy a @@, fast!
+
+
+I need groceries. %d %s, %d %s, %d %s, %d %s and %d %s. Give it to my wife, Silvia.
+
+
+I need help because, you see, I don't carry a cauldron around.
+
+
+I need help, but you aren't strong enough. Please come back later.
+
+
+I need help.
+
+
+I need infirmary services.
+
+
+I need millions of GP to fund my time-space shattering, and thus far, I've only collected @@ GP.
+
+
+I need more feathers for a fair deal.
+
+
+I need more return potions.
+
+
+I need offensive magic!
+
+
+I need some help with something, but I don't think you're strong enough. Come back later please when you're stronger.
+
+
+I need some materials to repair my spacesh- ahm, it's not important why I need it.
+
+
+I need somebody who can rid the hold of the ship of these creatures. Can you help me?
+J'ai besoin de quelqu'un qui puisse débarrasser le navire de ces satané créatures. Es-tu la bonne personne?
+
+I need someone to help me clean the edge of the ship, but you aren't strong enough for now.#0
+J'ai besoin d'aide pour nettoyer la cale de ce navire, mais tu n'es pas assez forte pour m'aider pour le moment.
+
+I need someone to help me clean the edge of the ship, but you aren't strong enough for now.#1
+J'ai besoin d'aide pour nettoyer la cale de ce navire, mais tu n'es pas assez fort pour m'aider pour le moment.
+
+I need support magic!
+
+
+I need supreme ranger skills!
+
+
+I need supreme warrior skills!
+
+
+I need to buy your silence. I'll reward you greatly when I'm done. But first, I need to know if you'll be loyal to me.
+
+
+I need to enter.
+
+
+I need to finish studying for my test...
+
+
+I need to go on with sorting the bookpages now.
+
+
+I need to go.
+
+
+I need to know if someone is blaming him. It is important.
+
+
+I need to leave.
+
+
+I need to pour the @@ to summon the Yeti King.
+
+
+I need to survive anything!
+
+
+I need to talk with you!
+
+
+I need to think about it...#0
+Je dois y réfléchir.
+
+I need to think about it...#1
+Je dois y réfléchir.
+
+I need you to bring me some basic items to face Winter! Fire is the most important for us.
+
+
+I need you to find her to and bring her back there, along whatever she stole. Then I'll honor your request.
+
+
+I need you to take care of my 'Piou Problem.'
+
+
+I need your help dude!
+
+
+I never knew you could fail THAT hard. I've took Saulc's Fertilizer's recipe, success chance is of 100% if you want to try again.
+
+
+I never tried it, because it makes no sense to do that, but theoretically adding some Silk Cocoons could have such an effect. Uh... but that should not happen.
+
+
+I offer an awesome skill for you, for a very slow price, and you try to cheat me... pitiful...
+
+
+I offer you %d GP for one. What do you say?
+
+
+I offer you %s Aethyr Points per unit of %s. How many do you wish to sell? (0-%d)
+
+
+I offer you either %s GP, or %s Monster Points for it. What do you say?
+
+
+I once killed a Giant Maggot alone!
+
+
+I only need @@ @@. Please! You have to help me!
+
+
+I only need @@/@@ @@ to make enough magic paper for the books... Do you, perchance, have them with you?
+
+
+I only take a tax of 100 gp per gem.
+
+
+I plan in doing an event! Give me the coins!
+Je voudrais préparer un Event ! Donne moi des Coins !
+
+I predict you're closer to find the Secret Of Mana, and therefore, be part on saving our world.
+
+
+I probably can give you my Sharp Knife, though! If you want to help me, that is.
+
+
+I probably should let %s chant it.
+
+
+I probably should look in a way of calming him down.
+
+
+I probably should talk to everyone else, and assess better the situation, before bothering Oskari.
+
+
+I promise I'll never steal from you again. Here, take these shorts.
+
+
+I protect a dungeon for PARTIES. You're not on a party, get moving.
+
+
+I protect a very dangerous dungeon, and it is so dangerous, that only parties can go in.
+
+
+I put options on items upon request, but I am very expensive! This is deducted from your tweaking quota.
+
+
+I raise them, water them, and then sell them.
+
+
+I really hope that nothing major happens, though. I would hate to see blood being spilled.
+
+
+I really wonder how that accident could've happened. I'd have never expected him to mess something up like that.
+
+
+I really wonder what went wrong. I can't imagine Peetu messing up something so important.
+
+
+I recommend that you train your agility a great deal, since most monsters out there aren't really amazing at hitting you.
+
+
+I regret it.
+
+
+I regret to inform Barbara was killed in battle before I could find her. I burried her in the mines.
+
+
+I represent the @@ Hunters. We hunt @@ (Lv @@).
+
+
+I said go away!
+
+
+I said it cannot be yourself... </3
+
+
+I saw Purple the other day... Ah, now I want to eat @@... A dozen should do...
+
+
+I saw some flower adorns, too. I hope it is not some traveler's grave. This war, it makes me so sad... I'm sure the tree was sad, too.
+
+
+I see it's not so easy to get rid of the monsters. Do you want to try again?
+Hum.. je vois que ce n'est pas si facile de se débarrasser des monstres. Veux tu essayer à nouveau?
+
+I see two snake skins, but you didn't killed them down there. That defeats the whole purpose.
+
+
+I see you are a Monster Hunting Quest Participant, right? I don't need your help right now, but maybe later, who knows?
+
+
+I see you are doing good. Keep slaying them, hahaah!
+
+
+I see you brought @@/5 @@ for us!
+
+
+I see you don't know how to craft. Do you want me to teach the basic for you? I'll charge 1000 GP.
+
+
+I see you finished the Master Dungeon and didn't found my men. I'll think on something.
+
+
+I see you have arms long enough to be an archer.
+
+
+I see you have brought @@/3 @@ and @@/10 @@ for me.
+
+
+I see you have brought @@/3 @@ and @@/3 @@ for me
+
+
+I see you have collected some experience. Let me try to rank you up!
+
+
+I see you have magical powers. Have you been acknowledge by the Alliance as a mage? If not, you should regularize yourself as a @@º degree mage in Tulimshar Magic Council.
+
+
+I see you're trying to use the %s set, nice!
+
+
+I see you've brought Barbara here, excellent. She seems pretty beat up.
+
+
+I see.
+Je vois.
+
+I see. Well, welcome to the game! If you have any doubt, shout on #world for help!
+
+
+I shall call myself from there on, after this great assault... @@.
+
+
+I shall decide here and now, if you are worth of living in this world!
+
+
+I shall leave this book with my son, SphinxNox. I will not fail, and live forever. This will be their inheritance from me.
+
+
+I shall not fail any further, I think my new formula is perfect! Here's the EXP, but I need material to use it!
+
+
+I shall report to Kenton. I now entrust this quest in your hands!
+
+
+I should be prepared before walking on this.
+
+
+I should check if I have more than enough potions and food before proceeding!
+
+
+I should check the Apple Garden first.
+
+
+I should defeat all mobs before passing.
+
+
+I should have full mana before attempting to disarm one.
+
+
+I should not go ahead... yet.
+
+
+I should not veer off too much the path.
+
+
+I should talk to Cauldron now... Scary.
+
+
+I should talk to King Arthur.
+
+
+I should train my intelligence, and level up, both my base as my Job Level.
+
+
+I should train my intelligence, have full MP, and don't neglect even Job Level.
+
+
+I sponsor the alliance and all I got was a NPC and access to this ugly room.
+
+
+I stay.
+
+
+I still don't have everything, but don't worry, I'll be back.
+
+
+I still have Anwar's fertilizer with me.
+
+
+I stole nothing from you. Do you have any proof?
+
+
+I suggest some training.
+
+
+I suggest we ignore the hint and ask %s about it instead.
+
+
+I suggest you leave now, %s. If you are even suspected of being a S.A.R.A.H. agent...
+
+
+I suppose I can make you a %s. It sometimes casts magic skills upon your foes. Well, seldomly, but it also deals more damage than normal wands.
+
+
+I suppose, what would you like?
+
+
+I swear silence, over this bloody ruby.
+
+
+I swear silence, over this shining topaz.
+
+
+I swear that I, %s, will never let myself be let astray by power.
+
+
+I think I have enough gold with me.#0
+
+
+I think I have enough gold with me.#1
+
+
+I think I'm done with that now. You should now look for captain Nard downstairs. He'll be waiting for you.
+Je pense que j'en ai fini avec ça maintenant. Tu devrais aller chercher le capitaine Nard Il t'attend.
+
+I think I'm ready.
+
+
+I think Intense Beard, on Tulimshar's Forge, was taking new apprentices. Try talking to him!
+
+
+I think Lieutenant Paul had a bounty for extra experience.
+
+
+I think it was the Orcs and Raijins town. It was laid to waste by Yetis.
+
+
+I think someone on Tulimshar is capable to teach you these bonuses. Eh, I don't know. Haven't been there for a while.
+
+
+I think that %d %s and %d %s should be enough for now.
+
+
+I think the Doctor, on Dimond's Cove could help me, but that means passing by Kenton...
+
+
+I think the switches may open it, but I couldn't flip them.
+
+
+I think this blue circle right here can be helpful to break the enchantment that blocks the door of the Inn.
+
+
+I think you should get initiated on any side before speaking to me again.
+
+
+I think, for just 25 @@, I could arrange a @@ for you.
+
+
+I think, for just 25 @@, I could arrange one for you. Eh... Just don't think that you have an amazing weapon, alright?
+
+
+I thought I was going to send you in a nest of Yetis, but instead, I've sent you straight to the birthplace of Bandits and Assassins.
+
+
+I thought I would be safe in the shrine, but seems like they are after the Moubootaur. Great danger will befall all forest creatures if they accomplish that.
+
+
+I thought he would. After all, Everburn Powder... is not a mere powder.
+
+
+I thought it was meant to be lava, this being in the Land Of Fire and all, but seems like someone must bug Saulc to fix it.
+
+
+I thought they ate little girls.
+
+
+I tried to keep an eye on him after that, but when I got distracted by some newly arriving visitor he went over to the workshop again! Usually I enjoy my job, because I like talking to people, but this guy... was a pain, really.
+
+
+I tried. He asked for too much money.
+
+
+I try to improve my skills every day. One day, I will sing a song no one will ever forget.
+
+
+I understand. Rakinorf told me to stuff you with them if needed.
+
+
+I used to make dyes for Agostine but he hasn't bought any in a while. I could make you a %s if you bring me the right items.
+
+
+I usually ask adventurers for 11 @@, but new miners should be arriving soon. I need to make them cry!
+
+
+I usually ask for 7, but to prove you are going to help us in this purge, I will ask you for 14 @@! I will reward you for your bravure.
+
+
+I usually don't let anyone in, but I had to make an exception for the likes of you.
+
+
+I visited it with my mother, the other day, and I found a tree in a cave!
+
+
+I wanna return home...
+
+
+I want %d %s!
+
+
+I want %d %s! Don't worry, I can pay.
+
+
+I want @@! I want @@!!
+
+
+I want Arcanum
+
+
+I want Graphene
+
+
+I want Leather Patch
+
+
+I want Snake Skin
+
+
+I want THREE batches!
+
+
+I want a %s so badly... Pyndragon, in the forge, the master blacksmith which makes powerful weapons for high levels, can give you one.
+
+
+I want a BOSS task!
+
+
+I want a EXPERT (Lv 70~100) task!
+
+
+I want a KUNAI.
+
+
+I want a MASTER (Lv 100+) task!
+
+
+I want a MODERATE (Lv 50~70) task!
+
+
+I want a MODERATE task!
+
+
+I want a PORTABLE LIGHTSABER.
+
+
+I want a POWERFUL GUNSTAFF.
+
+
+I want a POWERFUL LIGHTSABER.
+
+
+I want a RAPID GUNSTAFF.
+
+
+I want a SHORT GUNSTAFF.
+
+
+I want a Sponsor Necklace.
+
+
+I want a WHIP.
+
+
+I want a gemstone or ore
+
+
+I want a gift box and here is the gift.
+
+
+I want a gift box but I don't have a gift.
+
+
+I want a gun!
+
+
+I want a knife and a bottle of water!
+
+
+I want an Agi Potion.
+
+
+I want an Agi+ Potion.
+
+
+I want an Agi++ Potion.
+
+
+I want an EASY task!
+
+
+I want an EXPERT task!
+
+
+I want an EXPLOSIVE GUNSTAFF.
+
+
+I want an Eggshell Hat!
+
+
+I want coal
+
+
+I want copper armbands!
+
+
+I want experience
+
+
+I want gold
+
+
+I want iron armbands!
+
+
+I want it.
+
+
+I want leather armbands!
+
+
+I want monster points
+
+
+I want more than one!
+
+
+I want something more magical.
+
+
+I want the Wurtzite
+
+
+I want the apples back.
+
+
+I want to arrest the Monster King one day, but until then, I'm happy getting rid of petty scammers, spammers, and general evildoers.
+
+
+I want to be trained!
+Je veux être entrainer !
+
+I want to become an archer!
+
+
+I want to challenge the Yetifly.
+
+
+I want to challenge you both.
+
+
+I want to challenge you.
+
+
+I want to change my Race!
+
+
+I want to craft rings.
+
+
+I want to create polished gemstones.
+
+
+I want to divorce.
+Je veux divorcer.
+
+I want to forge One Handed Weapons!
+
+
+I want to forge Quivers!
+
+
+I want to forge Shields!
+
+
+I want to get rid of them.
+
+
+I want to improve my equipment.
+
+
+I want to keep breaking them, until I find the paradise! Thus far, I only found the Land Of Fire!
+
+
+I want to know what you found out again
+
+
+I want to know why you shown me that.
+
+
+I want to learn reading ancient languages
+
+
+I want to meet a hero!
+
+
+I want to move left.
+
+
+I want to pay my respects as a fellow Pink Mouboo cult member.
+
+
+I want to pay the full price.
+
+
+I want to prove exotic tea. More specifically, I'm looking for %s and %s. Bring me %d of each, and I'll reward you awesomely.
+
+
+I want to register for marriage.
+Je veux m'enregistrer pour le marriage.
+
+I want to remove all stuff applied to my ring!
+
+
+I want to sell White Fur for 75 GP each
+
+
+I want to shop.
+
+
+I want to sleep...
+
+
+I want to trade with you.
+Je voudrais échanger avec toi.
+
+I want to trade.
+
+
+I want to try convincing the Yeti King again.
+
+
+I want two batches!
+
+
+I want you to brew some for me.
+
+
+I want you to decrypt something
+
+
+I want you to impress me, so I can brag about you to all my friends!
+
+
+I want you to kill @@, which are located near the northwest coast of the island.
+
+
+I want you to transform my raw log in a wooden log
+
+
+I wanted info about how to play.
+
+
+I wanted to go to the beach, but I can't find the cave entrance. They told me to look around here... What am I doing wrong?
+
+
+I was a bit worried that they might ruin our efforts by messing everything up again after we just cleaned.
+
+
+I was born here but I had amnesia.
+
+
+I was found near Candor Island, on a raft, and can't remember anything. Do you know who I am?
+
+
+I was informed that our bedding material for fragile presents is nearly depleted...
+
+
+I was kicked out of home for not paying rent. But I had no choice, it was either to eat or to have a roof...
+
+
+I was planning to go there soon, anyway. All aboard!
+
+
+I was so excited, I wanted to try it as soon as possible.
+J'étais tout excité, je voulais l'essayer le plus rapidement possible.
+
+I was thinking, maybe I could make a @@ for you. But I want a few items:
+
+
+I was up until late last night, and woke up so early today... I'm having a break right now.
+
+
+I was very surprised when I heard that he's responsible for the failed sealing. I'd never have expected that from him.
+
+
+I will also need %d %s to make the mixture and %s GP as a fee.
+
+
+I will apply later.
+
+
+I will be back shortly.
+
+
+I will be forever grateful!
+Je serai éternellement reconnaissant!
+
+I will do it, don't worry.
+
+
+I will empower you with raw mana now.
+
+
+I will give you 3 @@. Use them on this fight, or you're doomed to fail.
+
+
+I will go and hunt some snakes.
+
+
+I will harass Demure with so many chocolate that she'll leave this event map rolling!
+
+
+I will kill one.
+
+
+I will let Lalica, Pihro and Pyndragon know that you find her not guilty, but...
+
+
+I will let you test it for a peny until level 10!
+
+
+I will make quick work of your wounds.
+
+
+I will need 3 @@, 5 @@ and 100 GP to craft a single stone.
+
+
+I will need many Mauve Herbs! Do you have them with you? If you don't have enough, we'll lose everything! You need at most @@!
+
+
+I will need:
+
+
+I will pay you 5,000 GP in pure gold for it!
+
+
+I will prepare you a potion. But beware, that potion will only last 20 minutes. You should assign some intelligence points to succeed.
+
+
+I will require 2500 GP, 1 @@, 1 @@ and 1 @@, for a small handful of it.
+
+
+I will reward whoever kills the current bandit leader, of course.
+
+
+I will reward you for 7 @@.
+
+
+I will sing a song about the Five Legendary Heroes myth.
+
+
+I will sing a song about the Mana War and current times.
+
+
+I will sing a song about the fate of five legendary weapons.
+
+
+I will summon the Monster King. Don't ask me my reasons. I know this will put Tulimshar in danger. But I will still do it.
+
+
+I will take a claw and show Hasan.
+
+
+I will take the @@ Bounty.
+Je vais aller exterminer les @@.
+
+I will trade you a Dagger and Sailor's Hat for it.
+
+
+I will try it later.
+
+
+I will, don't worry.
+
+
+I wish you a good time in town.
+Je te souhaite un bon séjour en ville.
+
+I wish you good luck!
+
+
+I wish you good luck. I remember these caves... They're dangerous. Make sure to be prepared before venturing further.
+
+
+I woke up in a shake! I felt... Oh, it's hard to describe... As if the spell suddenly started inflating, getting bigger... bigger... weaker... weaker...
+
+
+I won't accept stuff from Halinarzo!
+
+
+I won't need it, thank you.#0
+Je n'en aurai pas besoin, merci.
+
+I won't need it, thank you.#1
+Je n'en aurai pas besoin, merci.
+
+I won't share our water with you!
+
+
+I won't stop you from going inside, but be careful, you hear me?
+
+
+I wonder if anyone will notice or care if I take a nap here...
+
+
+I wonder if he exists on this world too. Because if he doesn't, I could tell many tales about him!
+
+
+I wonder if it'll take too long for the ship to arrive...
+
+
+I wonder if you can still sleep after killing those innocent forest creatures!
+
+
+I wonder what secrets the Heroes Hold could be hiding...
+
+
+I work in this mine since 3 years, I'm an expert on gems: Ruby, Topaz, Sapphire, You know!
+
+
+I would advise you to remain here in the ship, they should leave in a few minutes, but I will not force you.
+
+
+I would bring @@, just in case. Anyway, the place where you're going to is the village where @@ was born.
+
+
+I would gladly aid you to get rid of that scourge.
+
+
+I would gladly give my life for such noble goal.
+
+
+I would kick me out myself! I'm such a failure! A complete disaster! %%i
+
+
+I would like @@ @@, @@ @@ and @@ @@!
+
+
+I would like a hat like yours.
+
+
+I would like all Knifes and Daggers on me melted!
+
+
+I would like an item melted!
+
+
+I would like some Mouboo Milk.
+
+
+I would like some information
+
+
+I would like to REMOVE an item options
+
+
+I would like to buy a Warp Crystal.
+
+
+I would like to change an item options
+
+
+I would like to create a guild.
+Je voudrais créer une guilde.
+
+I would like to create a party.
+Je voudrais créer un groupe.
+
+I would like to enroll!
+
+
+I would like to learn a new skill!
+
+
+I would like to order some dye.
+
+
+I would like to perform money transactions.
+
+
+I would like to store some items.
+Je voudrais entreposer des objets.
+
+I would like to use the Deluxe Storage.
+
+
+I would like to use the Premium Storage.
+
+
+I would love to see the skin of two @@.
+
+
+I would love to, but the Monster King laid siege there.
+
+
+I'd like my Crozenite Clover Silvered.
+
+
+I'd like to get a different style.
+J'aimerais avoir un style différent.
+
+I'll also need @@ as base material!
+
+
+I'll also provide you a few @@s and an Elixir. Use them wisely.
+
+
+I'll also try to bring you to the world's edge, as you've asked.
+
+
+I'll ask you to kill 100 @@. This will prove your worth. Good luck.
+
+
+I'll be attracted by the Shadow Herb. The moss will hide the roots, which will entrap it for a while.
+
+
+I'll be back in no time.
+Je serai de retour dans un rien de temps.
+
+I'll be back later with all ingredients.
+
+
+I'll be waiting for you! And trading some items of questionable origins...
+
+
+I'll be waiting!
+
+
+I'll be writing a letter to the next town you're going to visit, and also assign work to my household. You should come back later.
+
+
+I'll call someone to aid you.
+
+
+I'll come back later.
+
+
+I'll configure your flask to a few hours before the Great Fire breaks out. You're looking for "The Queen's party" hideout. Do you need a quick history lesson?
+
+
+I'll decide later
+
+
+I'll draw a card now!
+
+
+I'll feed you to the Moubootaur %%e
+
+
+I'll get so mad at you that even if you are correct, I'll say otherwise. Also, mind special characters.
+
+
+I'll get to it.
+Je vais y arriver.
+
+I'll get to work.
+Je me met au boulot.
+
+I'll give it to someone who challenge me and best me in an impressive manner. If it was easy, someone would already have claimed it.
+
+
+I'll give you @@ GP for this job.
+Je vais te donner @@ GP pour ce job.
+
+I'll give you a @@. It should aid you out there.
+
+
+I'll give you a reward, in the name of Saulc, once you reach the following levels: 25, 50, 75, 100, 125 and 150.
+Je vous donnerai une récompense, au nom de Saulc, dès que vous aurez atteint les niveaux 25, 50, 75, 100, 125 et 150.
+
+I'll give you the item.
+
+
+I'll have her hospitalized now.
+
+
+I'll help you.
+
+
+I'll input how many I want to attach.
+
+
+I'll keep studying it in secret. I'm so proud of my thieves!
+
+
+I'll make you five questions about lore and general knowledge. You'll have 30 seconds to read and answer each.
+
+
+I'll make your life easier, I'm also accepting 20 @@ or @@ instead the Grass Carp. Go now, pal.
+
+
+I'll only say you this once. Mages can, of course, go to battlefield in heavy armor and stuff.
+
+
+I'll pay the GP.
+
+
+I'll present you three kind of strong monsters. Snakes are fast and dangerous. Giant Maggots are slow and dangerous. Black Scorpions have average speed and are... deadly.
+
+
+I'll read the options from you, but the level will be paid by me, and failure rate is non-existant. I am the best. blacksmith. in. the. universe! Use %s if you need to change any options.
+
+
+I'll reward you and your friends in an appropriate way, but if you endanger her... Oh, my poor Cindy...
+
+
+I'll see you later.
+
+
+I'll seek one for you.
+
+
+I'll start delivering the fur!
+
+
+I'll talk about who I am after leaving the well.
+
+
+I'll teach you a spell. It is called CUTE HEART. It summons Fluffies. They are so cute, I want to hug them...
+
+
+I'll teach you how to transmute some parts of theirs. You can use it to convert a @@ into a @@, but not the other way around, for example.
+
+
+I'll try to find them.
+
+
+I'll walk around here a little more.
+
+
+I'll warp you to the Cave Of Trials. Pass all trials, and meet me on Soren's House. Hahah!
+
+
+I'm Carla the Woody Wife, I have lived here with Woody for many years! We decided to live away from civilization, as hunter and shaman life is way better.
+
+
+I'm Eistein, survivor from Ukarania. I reward brave adventurers who kill monsters, which plague our lands.
+Je suis Eistein, survivant d'Ukarania. Je récompense les courageux aventuriers qui tuent ces monstres qui infestent nos terres.
+
+I'm GM and got the money. Gimme HALF HOUR to invite everybody!
+
+
+I'm Laranja.
+
+
+I'm Thurgar the mighty craftsman. I can make anything reality! But I only work to the king!
+
+
+I'm a bit short in cash right now.
+
+
+I'm a bit sick...#0
+Je suis un peu malade...
+
+I'm a bit sick...#1
+Je suis un peu malade...
+
+I'm a little busy right now.
+Je suis un peu occupé pour le moment.
+
+I'm a pro, this will be GG EZ. But Raid is not a foe to be underestimated, and I have no hopes for reinforcements. I refuse to leave last words, I shall either triumph, or be forgotten in shame.
+
+
+I'm a traveling poet and admirer of Robert Burns, a bard from the mana world.
+
+
+I'm actually half-wose. This means part of me is tree.
+
+
+I'm actually looking for an item forged!
+
+
+I'm actually paid by the Academy, or there would be no security here.
+
+
+I'm afraid I can't be of any help to you.
+
+
+I'm afraid my wounds are too critical. I'm bleeding. I was cursed. And I can't even move.
+
+
+I'm afraid you can't help me... I still have one HP left.
+
+
+I'm afraid you'll need a key to reach them. But there's a fork on the way.
+
+
+I'm after the Queen's Party.
+
+
+I'm allergic to piou potions, goodbye.#0
+
+
+I'm allergic to piou potions, goodbye.#1
+
+
+I'm allergic to pious, goodbye.
+
+
+I'm almost in the point of no return. I cannot believe this, but mana... is alive.
+
+
+I'm already married, though...#0
+
+
+I'm already married, though...#1
+
+
+I'm am about to make myself some powerful equipment... But I ran out of material to refine it!
+
+
+I'm an experienced weapon master helping this smithy here, but I am new in this town. I am best at smithing armor.
+
+
+I'm back, I'm here, I'm great! I am the AF King Arthur!
+
+
+I'm back.
+
+
+I'm busy, sorry.
+
+
+I'm currently cleaning the arena, wait just @@ more.
+
+
+I'm currently doing tutorship for students who are... falling behind %%p
+
+
+I'm currently going over some of the household paperwork. Right now I'm inspecting the @@. The work never stops!
+
+
+I'm currently hosting a fight.
+
+
+I'm doing the covers and illustrations for the new books we create from the pieces of the old ones.
+
+
+I'm done.
+J'ai fini.
+
+I'm fine for now, thank you.
+Je vais bien pour l'instant, merci.
+
+I'm fine, but I can't keep carrying dead weights with me. Candor is a special place, I shall make a base there... Because I know the Monster King will eventually head there.
+
+
+I'm fine, no worries...
+
+
+I'm fine, thanks
+
+
+I'm fine, thanks!
+
+
+I'm fine, thanks.
+
+
+I'm glad there's no annoying towel man. He keeps coming back to annoy me!
+
+
+I'm going, don't worry.
+
+
+I'm here as an Initiate. May I enter Duck Dungeon?
+
+
+I'm here to arrest a criminal.
+
+
+I'm here to arrest you.
+
+
+I'm here to help you restock...
+
+
+I'm here to investigate what exactly happened so this doesn't happens again.
+
+
+I'm hungry like a bear :b
+
+
+I'm interested in Grand Hunter Quest.
+
+
+I'm interested in your arrows, they're too expensive with Rosen.
+
+
+I'm just a lurker.
+
+
+I'm just searching for some cleaning supplies. They must be somewhere around here, but everything went upside down when the slimes escaped.
+
+
+I'm listening, but don't hope me to buy your story.
+
+
+I'm looking for the Queen's Party.
+
+
+I'm moved to tears by your dedication to help us. Unrewarded, even. Here, have this rare %s. For free!
+
+
+I'm not a coward! I must press forward!#0
+
+
+I'm not a coward! I must press forward!#1
+
+
+I'm not blind.
+
+
+I'm not crazy, the bucket is vicious and the rope won't withstand my weight.
+
+
+I'm not done yet, please hold tight. It won't take long.
+
+
+I'm not done yet. I'll be back.
+
+
+I'm not familiar with the Butterfly Caves. Try asking a local, maybe Arkim, they ought know the way.
+
+
+I'm not familiar with the Butterfly Caves. Try asking a local?
+
+
+I'm not feeling like it today... Sorry.
+Je ne suis pas dans mon assiette aujourd'hui. Désolé.
+
+I'm not going any closer to that cursed place!
+
+
+I'm not going to touch a FLOATING sword made of unobtainum without at least knowing a bit more about it.
+
+
+I'm not going to try to improve this masterpiece. Look its options!
+
+
+I'm not here to listen stories, I need you to return what you've stole.
+
+
+I'm not interested in yours, by the way.
+
+
+I'm not interested right now.
+
+
+I'm not interested, sorry.
+
+
+I'm not interested.
+
+
+I'm not neutral, so my vouch have no effect.
+
+
+I'm not ready.
+
+
+I'm not sure I want to spend that much.
+
+
+I'm not sure if that's edible. For teddies, at least.
+
+
+I'm not sure what it needs to move on time, but I managed to make it move in space, back to this village, in no time!
+
+
+I'm not that numb eeh *hic* what did ever yous disco... ...vered there, the Guild won't get me!
+
+
+I'm not the Captain, Nard is.
+
+
+I'm not unfamiliar with the children of Merlin, thosem whom cross the Mirror Lake. In case of The Mana World, you're lucky, we're parallel, meaning we share lots of things in common.
+
+
+I'm not.
+
+
+I'm only assuming it was a man because the lack of boobs.
+
+
+I'm pretty confident you can attempt the Desert Canyon, but expect to die a few times.
+
+
+I'm proud of you!
+
+
+I'm quite interested in you, mah' boy!#1
+
+
+I'm quite interested in you, mah' girl!#0
+
+
+I'm railroaded here, I cannot say no. I'll bring you some @@. Break them until one of them fit.
+
+
+I'm ready, let's start!
+
+
+I'm so glad that you took care of the remaining slimes. Thanks! Do you need anything else?
+
+
+I'm so glad we didn't have to go out to hunt the slimes! Thank you!
+
+
+I'm so tired... Slimes everywhere... Chaos everywhere... Yawn...
+
+
+I'm sorry but I can't talk right now... I have something on my mind.
+
+
+I'm sorry, I just... Maybe if...? Aha! Here's the EXP, ready for a next go?
+
+
+I'm sorry, I will come back later.
+
+
+I'm sorry, these words just came to my mind.
+
+
+I'm sorry... I can't help you either...
+
+
+I'm sure I could refine this again, if you bring me the payment and the reagents again.
+
+
+I'm sure it was, now go rest a bit, you deserve it!
+
+
+I'm sure that you've got some questions for me, feel free to ask them, but first I need to tell you the rules all adventurers must respect on this world.
+Je suis sûr que tu as plein de questions pour moi, n'hésitez pas à les poser, mais je dois d'abord te lire les règles que tous les aventuriers doivent respecter sur ce monde.
+
+I'm sure the Doctor has a trick... No loans, thanks.
+
+
+I'm sure the crew will like to be spared from having to eat @@ again!
+Je suis sûr que l’équipage aimera éviter de devoir manger à nouveau des @@!
+
+I'm sure there are a lot of sidequests here until you reach level 30, but that's optional.
+
+
+I'm too busy right now to talk. Dimond's recipes are the best!
+
+
+I'm too far to jump there.
+
+
+I'm trying to make good food for all the sailors here, could you help me?
+J'essaie de faire de la bonne cuisine pour tous les marins ici, pourriez-vous m'aider?
+
+I'm waiting for @@ feedback... Please go talk to them! %%S
+
+
+I'm with the Monster King.
+
+
+I'm worried with them. Anyway, I think only heroes are allowed inside, and you are a few levels short of being a Hero...
+
+
+I'm worried with which Sage the masked man will aim next...
+
+
+I'm worried. Will everything be alright? Please, lend your help to sir Sakar - no, to the whole world!
+
+
+I've also got in contact the other alliance representatives, and I've found out there's a way to bring you to Halinarzo, using Hurnscald route!
+
+
+I've been delving in the secrets of Mana, using the stolen Mana Stone we got the other day.
+
+
+I've brought something to exchange.
+
+
+I've brought the money you've asked for.
+
+
+I've changed my mind
+
+
+I've changed my mind.
+
+
+I've dispatched Benjamin and some other city guards after her flew to Elenium Mines, but thus far, they haven't returned.
+
+
+I've even heard of people whom dug Casino Coins out of the ground, but as I said, I don't know. But you'll certainly come across a few o your adventures!
+
+
+I've found the Monster King.
+
+
+I've heard Aethyr path was to the west, but I'm not sure west of where... %s
+
+
+I've heard about some adventurers whom obtained magic in another way, but you would still need a lot of levels for that.
+
+
+I've heard rumors about a legendary axe.
+
+
+I've heard some elves, when they abandoned our original town, founded Aethyr somewhere up northwest. But all contact with it has since been lost.
+
+
+I've heard tidings of strange goings-on in this area...
+
+
+I've heard you helped my staff to recreate some books. For that, I am grateful.
+
+
+I've managed to create a Maggot. It did not die. And it was not an April Fool's joke. Nice one.
+
+
+I've managed to create the first mana-based artificial lifeform, it survived three seconds, the record so far.
+
+
+I've mastered the art of reading ancient languages.
+
+
+I've mastered the art of speech and communication.
+
+
+I've sealed a massive amount of dark magic here.
+
+
+I've sent a scout ahead of you, and he reported traps in the caves you'll be needing to use to get there.
+
+
+I, Elmo, captain's deputy, will help you to make the maximum possible money in Candor!
+
+
+I, Fafa, the Magical Statue, grant you this power! Prove your worth! And never run from the seal, or die for your cowardice!
+
+
+I, second sage of Fate, write this book. The knowledge on it shall guide you to the Secret Of Mana.
+
+
+I, the rightful ruler, demand back this world! Tyranny!
+
+
+I... I confess. I did steal an apple. I was hungry! I am very poor.
+
+
+IF YOU CHANGE EXP RATE NOW, PREVIOUS BONUS WILL BE LOST!
+
+
+IF YOU DIE, YOU'LL SUFFER THE EXP PENALTY.
+
+
+IMPORTANT: All guild magic needs %s to be cast!
+
+
+INV
+INV
+
+Ice Cube
+Ice Cube
+
+Ice Fluffy
+
+
+Ice Gladius
+Ice Gladius
+
+Ice Lord
+
+
+Ice Maggot
+Ice Maggot
+
+Iced Fluffy
+Iced Fluffy
+
+Iced Water
+
+
+Icicle Challenge
+
+
+If %s meet the true form of the %s and prove to be a real hero, the sword will give itself for them. But if they fail to prove real heroism, the sword will leave after a while.
+
+
+If I am doing your dirty work, why am I the one paying you?!
+
+
+If I bring @@, my party leader, and the boss is defeated, I can go you in.
+
+
+If I can't beat him, no one else can, and if our species are to survive, we'll need to return to the Edge. Even if it means... Fulfilling the prophecy. %s. Whatever the cost.
+
+
+If I don't know the answer in your language, try answering in English. That always works.
+
+
+If I had a map, I would be digging the treasures, not selling it, arr!
+
+
+If I only could find another way in...
+
+
+If I only knew some magic...
+
+
+If I remember correctly they wanted to see the library. They looked like a man, but you never know.
+
+
+If I saw *hic* who you were... *hic* Would not have helped you!
+Si je t'avais *hic* reconnus... *hic* Je ne t'aurais pas aidé !
+
+If I were you, I would drink water.
+
+
+If I weren't tempted to try again everytime someone gets it right...
+
+
+If Nikolai's helpers weren't so carefully chosen, I'd think this was some kind of a bad joke from someone.
+
+
+If a guild mate dies, they will revive. Don't work on self.
+
+
+If a tie happens, I'll give your coin back.
+
+
+If a tie happens, you'll get your coin back.
+
+
+If all players there die, Hurnscald WON'T BE LIBERATED.
+
+
+If at any moment in the fight there's less than %d players in the room, a severe penalty will be applied, so watch out!
+
+
+If enabled, automatic captchas may be sent to you every once in a while.
+
+
+If he gives you a guard card, that'll allow access to the Guard House, where you can pick Daily Bounties for monsters. These will pay you in GP.
+
+
+If it expires, you'll need to do another. To bake it I need 1 @@, 10 @@ and an @@.
+
+
+If it was easy, someone would already have claimed it, so good luck if you plan in obtaining it.
+
+
+If left unchecked for long, they will eventually become the only specie on the sea.
+
+
+If life gets so a person cannot laugh,
+
+
+If one of us found a Mana stone. They would become rich!
+
+
+If only we defeated their generals and put the army in disarray... It would be possible to visit there.
+
+
+If the Monster King attacks, I will try to control inbound monsters here.
+
+
+If the event ended now, you would get @@ GP.
+
+
+If the members level difference is less than 30, and you enable exp sharing, you'll all get a bonus experience!
+
+
+If the water doesn't moves, you will never fish anything. Ah, fat luck...
+
+
+If there were strong people to give us food, ah, how that would be good...
+
+
+If they at least read the @@, they wouldn't have such problems.
+
+
+If they enroll, they will become able to study monsters and to visit the Mystical Forest west of here as well.
+
+
+If they were any bigger, monsters would come and kill everyone.
+
+
+If things keep like this, we will only manage to give @@ gifts to every player...
+
+
+If this is found out to be a fraudulent titulation, both you as target will have their titles cased by the Academic Council, or by the Alliance High Council.
+
+
+If this is not the case, just click on "Send".
+
+
+If this is undesired, select the correct world, and if needed create a new char on it.
+
+
+If town reputation reaches zero, the town will only be able to get money with taxes.
+
+
+If we could convince them to distract the Monster King, we could have chances to do a counter-attack!
+
+
+If we don't know where to go - Maybe we should go back looking for clues?
+
+
+If yes, of course she will hate you. With reason! You're murdering her family and friends!
+
+
+If you are a brave hero or adventurer, Andrei, his lieutenant Elora and the Alliance will be waiting for you on %s!
+
+
+If you are above the NPC and they still doesn't hear you, this mean they are deaf - you should report this!
+
+
+If you are in need to get lots of experience quickly, you should try to engage the bigger and stronger monsters in the town. However, if they hit you, it's Soul Menhir for you.
+
+
+If you are sure your answer is correct, please contact Jesusalva for bug fixing.
+
+
+If you aren't more careful, we might... accidentally... mistake you for an agent of S.A.R.A.H.
+
+
+If you break that, you could never go to the World's Edge!
+
+
+If you bring friends, I'm sure they'll be no match. Ah... How many people already lost their shorts to Cave Snakes?
+
+
+If you bring me 2 @@ and 210 GP, I can make a @@ for you.
+
+
+If you bring me 2 @@, that Necklace, and 4000 GP, I can improve it. It'll be worth it, I warrant you!
+
+
+If you bring me 6 @@ I can make a @@ for you.
+
+
+If you bring me @@ @@, I'll give you a reward!
+
+
+If you bring me @@, your party leader, I can let you in.
+
+
+If you bring me a @@ and 500 GP I can make one for you!
+
+
+If you bring me some items to I do a bandage and heal myself, I'll give you my gloves!
+
+
+If you bring me some items, I can craft one for you. You will be my test subject.
+
+
+If you bring me some items, I can make some for you!
+
+
+If you bring us 5 @@, we'll be forever grateful.
+
+
+If you can manage to gather the supplies I need, I can surely craft some %s for you!
+
+
+If you conclude the training, you'll be suitable for the difficult mission our King have to you.
+
+
+If you could show me what he gave you, I might trust you.
+
+
+If you decide to continue, a random PINCODE will be
+
+
+If you die or logout here, the quest will be reset!
+
+
+If you die, you ##Bwon't##b be able to rejoin, but you won't suffer the penalty.
+
+
+If you die, you'll appear near Tulimshar's Soul Menhir, which is the nearest Menhir to you. You can use @@ if you ever want to change this behavior.
+
+
+If you die, you'll have to begin again. And there is the experience penalty, too.
+
+
+If you die, you'll need to start over everything again!
+
+
+If you distort time-space too much, you might end up outside of it, meeting a quick, permanent, and unrecoverable death.
+
+
+If you don't defeat the Soul Eater before the Great Fire happens, which for the record, has already happened, your soul will slowly be reclaimed by her until your existence ceases to serve as fuel to bring back one of the greatest horrors of story.
+
+
+If you don't have the recipe book, you'll need to find one... Maybe someone in a household you've already helped is willing to give you one.
+
+
+If you don't know what to use, try using the current date or something.
+
+
+If you don't want to die, fight!
+
+
+If you don't want to look at the Bible, you can try to solve the following riddle:
+
+
+If you drag the "Resync" skill from the skill list to the shortcut list, you'll be able to rapidly solve some lag issues!
+
+
+If you ever go there, you should pay it a visit. It is most definitely alive! I'm sure it'll like you, too.
+
+
+If you ever need to get quickly from one place to the other, count on us!
+
+
+If you ever visit the fortress island, be sure to visit the friendly tree at the cave. I'm sure it'll like you.
+
+
+If you fell ready, perhaps you should touch it?
+
+
+If you fight Black scorpion or others dangerous monster you should use the 'hit and run' tactic.
+
+
+If you finish everything, and answer everything right, you may get a reward.
+
+
+If you follow %s's quest, you will eventually reach the requirements for here.
+
+
+If you found anything which requires immediate attention, like broken roads which lead nowhere, or cliffs with weird collisions, invisible rocks, scamming NPCs or the sorts, please write down a %s and I'll see it. If the interface is too difficult to use, you can also do so %s or send an email to %s.
+
+
+If you get %d sequence, you'll get a %s!
+
+
+If you get any bookpages from the slimes, bring them to Ensio. Thanks for your help!
+
+
+If you get too much exp this way, a skill will level up and you'll get even more!
+
+
+If you go to Lieutenant Dausen, he'll say that you used GIMP. Just give up.
+
+
+If you have a @@, perhaps you could use it as a bait.
+
+
+If you have some coffee to me, I'll buy it of your hands.
+
+
+If you have some gems, I can transform them into powder.
+
+
+If you have trouble with guards, just bribe them and they'll leave you alone. I asked a few to be fired three years ago, but the council haven't reviewed it yet.
+
+
+If you have... references, we may also be able to offer you... premium storing.
+
+
+If you haven't, maybe there are a few things you can do besides selling items."
+
+
+If you head west, you'll eventually reach the magical Kamelot Castle.
+
+
+If you hug the wall, there's a secret passage somewhere there. Well, there are many secret passages at Tulimshar.
+
+
+If you kill an opponent stronger than you, you will gain honor points. But if the oponent is 15 levels weaker than you, it will be NEGATIVE!
+
+
+If you kill the same person within 30 minutes, honor will not fluctuate. The whole honor system is very experimental.
+
+
+If you leave by the secret window, you'll notice a small cave entrance. Enter it.
+
+
+If you meant to reset the drop rate to its default value: @droprate default
+
+
+If you meant to reset the exp rate to its default value: @exprate default
+
+
+If you miss, walk two or three tiles backwards. This way, you avoid being hit.
+Si tu rate la cible, marche deux ou trois cases en arrière. De cette façon, tu évite d'être frappé.
+
+If you need more herbs, the best place to look.
+
+
+If you need to talk with King Gelid, he should be in the castle north here.
+
+
+If you pay attention, you'll learn the skill.
+
+
+If you pay the fee, I'll spawn them, for no longer than 20 minutes. You should not fight alone, instead, you need a group of at least three, because, you know, the curse. Or something.
+
+
+If you rent an apartment, you'll become a "citzen" and be allowed here. Besides, you can buy stuff in your apartment to, for example, craft stuff.
+
+
+If you save 80% from the crops or more, you'll get @@ GP.
+
+
+If you save 90% from the crops or more, you'll also get a @@.
+
+
+If you sponsor me, while I break into more dimensions, I'll give you any stuff I find. Hey, they could be rare here!
+
+
+If you succeed, the defense and/or attack will raise. If you fail, refine level goes down.
+
+
+If you take too long you'll be penalized.
+
+
+If you think this should be a priority, please ask Jesusalva.
+
+
+If you train hard enough, and get access to a Mana Stone, I could teach you a trick or two. But right now, I don't sense magic compatibility in you.
+
+
+If you try take any more power from the Mana Seed, I'll kill you.
+
+
+If you try to walk west or east too much, you'll hit an "invisible wall" to prevent you from getting lost.
+
+
+If you unlock a pet but it is missing on this list, this means nobody elese unlocked them yet.
+
+
+If you want it?
+
+
+If you want to be a real miner friend, do this hard task for me. I will reward you with a @@.
+
+
+If you want to know what the Alliance is up to, you might have better luck talking to Jerican, from the Press.
+
+
+If you want to pass through it, you'll need to defeat the Guardian which made the seal. You can bring friends for healing and support.
+
+
+If you want to read this page again, there is a copy up on the wall.
+Si tu veux relire cette page, il y en a une copie sur le mur au dessus.
+
+If you want, you can ask there for one. They are at the big building at northwest.
+
+
+If you want, you can bring me some more of those herbs and potions.
+
+
+If you're afraid of losing everything, then DEFINITELY do not gamble. %%2
+
+
+If you're ever in need, you may use it to call upon the aid of the ducks.
+
+
+If you're reading this - Feel free to use my laboratory in any way you deem fit. Or what's left of it, at least. Also, please kill any slimes you find. I shall be back in six leaps time, according to the Imperial Time, but if I'm not back by then, assume something went wrong and both wushin and me are off the table.
+
+
+If you're right, you'll gain more Casino Coins! And even other nice things!
+
+
+If you're right, you'll get at least 80 GP!
+
+
+If you're still not confident enough, just tell him this: %s
+
+
+If you're wrong, your winning streak is reset.
+
+
+If you've used all the ones I've given, you can always bring me more ingredients.
+
+
+If your guild is defeat during the quest, you'll need to wait the weekly cooldown to expire.
+
+
+Ignore this book
+
+
+Igor
+
+
+Ihclot
+
+
+Imec#EP
+
+
+Immortal Heavy Sword
+
+
+Imperial Crown
+Imperial Crown
+
+Importing food from Hurnscald is expensive, local food is expensive, if you don't have a job you're a dead person. Worse if you need medical aid.
+
+
+Impossible to read.
+
+
+Impossible to resync: You are dead.
+Impossible de Resync: Vous êtes mort.
+
+Impressive. Seven gifts! Now, 12800 is not easy. I understand if everyone gives up.
+
+
+Improve Barter to level
+
+
+Improve Max Weight to level
+
+
+Improve Stealing to level
+
+
+Improved MP Regen
+
+
+In TMW2 there is
+
+
+In a blood bath, survival is the epitaph.
+
+
+In a few weeks, I will finish the @@ plans, and there will be no doubts, that @@ is not the best weaver in the world!
+
+
+In addition to my fee, I will also need the following items:
+
+
+In exchange for your help, I'll give you a @@!
+En échange de ton aide, je vais te donner un @@!
+
+In fact, %s is considered by most to be rare these days.
+
+
+In fact, Bryant is my brother, and he lives in a cave, and he probably have a high level quest too, but that's not important now.
+
+
+In fact, I am cured! Hooray!!
+
+
+In fact, it is flooded at the moment. Come back later.
+
+
+In fact, the Tulimshar Noble District is world-renowned for crafting high-quality yellow garments!
+
+
+In fact, you would get lost and killed. If I were you, I would avoid the Death Penalty. It's high, ya know?
+
+
+In general, by touching the Mana Stone once, will make you a first degree mage. But these degrees goes up to seven and beyond, I think.
+
+
+In honor of %s, for their great deeds of recent bravery in face of impending doom.
+
+
+In honor of %s, founder of this academy, whom built this academy WITH HIS OWN HANDS, WITH BLOOD SWEAT AND TEARS.
+
+
+In honor of %s, the greatest hero this world has even seen.
+
+
+In honor of DragonStar, winner of Easter 2018.
+
+
+In honor of Groata, winner of Easter 2020.
+
+
+In honor of Manatauro, Povo, YuckFou, Cadis Etrama di Raizel and everyone whom participated on it!
+
+
+In honor of Woody, winner of Easter 2019.
+
+
+In honor of everyone whom participated on it!
+
+
+In memoriam. May those whom shall never come back find rest in their afterlifes.
+
+
+In order to enter a message press the 'Enter' key, this will display the white box of typing. Type your message there and press 'Enter' again to send your speech.
+
+
+In other words, I never heard of a Yeti eating a kid before. They prefer %s.
+
+
+In other words, it'll make a copy of youself.
+
+
+In other words, whoever they are, they're after the sages. They are not targeting just simple magical users. This might be a problem.
+
+
+In other words: If Lua couldn't find your record, your parents were part of this story! But, on which of these three groups were them?
+
+
+In overall, you'll get more experience by fighting monsters.
+
+
+In some cases, your pincode will be required.
+
+
+In some dungeons etc., there might be a monster much, much stronger than all other monsters on the area. These are the optional miniboss.
+
+
+In the
+
+
+In the end, elves would have quite the age to rivalize with human wizards.
+
+
+In the end, they decide the defensive measures, and they even set curfews!
+
+
+In the first eight months I wanted to go back, but now I'm pretty used to living here. Please don't rescue me.
+
+
+In the storehouse, kill 4 @@. They keep coming back and contaminate our stored goods.
+
+
+In the world, you may find several treasure boxes. Different treasure boxes need different keys.
+
+
+In these dark times, countless souls moved away from Halinarzo. All hope seemed lost.
+
+
+In this case, haven't I counted, I would have deleted only part of the items, then I would go silent. No refunds.
+
+
+In this cave we can easily find Coal, Iron ore, and sometimes @@.
+
+
+In this town you'll find many critical things for your journey, like artifacts, dungeons, crafts and refiners. Please enjoy your stay. And keep tuned for news about us!
+
+
+In this wonderful realm, you can find and earn many @@, our currency!
+
+
+In this world, Angela married with the Blue Sage. I had an... incident, with the Blue Sage, which is better forgetten. Anyway, seeking to cause a political instability, opposing Yetis every once in a while kidnap their daughter, Cindy.
+
+
+In this world, your friends are your strength. You deserve a reward for the victory, please choose whatever you want.
+
+
+In times of the fire, magic came to save us.
+
+
+In whom to vote?
+
+
+Inac
+Inac
+
+Inactive
+
+
+Inar
+Inar
+
+Increase STR/INT/DEX in range for all guild allies.
+
+
+Increase Weight skill replaced with Stealing.
+
+
+Increase all stats
+
+
+Increase all stats from every guild member in area.
+
+
+Increase bow range and accuracy.
+
+
+Increase critical chance of all guild allies.
+
+
+Increase damage dealt by weapon for all guildies.
+
+
+Increase defense to all friends in radius.
+
+
+Increase walk speed and flee rate.
+
+
+Indeed, matey! Here they are!
+En effet, matelo! Les voici!
+
+Indeed. Sorry. I'm not giving you anything.
+
+
+Indoors 1 (Peace)
+
+
+Indoors 2 (Dimonds)
+
+
+Infantry Helmet
+Infantry Helmet
+
+Info
+
+
+Information
+Information
+
+Initiate a siege
+
+
+Initiate small siege (lv. 5)
+
+
+Injured Mouboo
+
+
+Injuried Mouboo
+
+
+Inn
+
+
+Inn, Dimond's Cove
+
+
+Inn, Houses, Northwest Avenue
+
+
+Input new password:
+
+
+Inside it, seems to be several magic reagents, powders, and other stuff.
+
+
+Inside it, there'll be a Transcendence Gate.
+
+
+Inside this house is my brother Alan. He knows how to make Forest Bows of exquisite quality.
+
+
+Insisting will do us no good, maybe we should try to gain its trust first?
+
+
+Inst @@ Map @@
+
+
+Instantly jumps 5 tiles backwards.
+
+
+Instantly jumps to target and delivers an attack.
+
+
+Instead of "slap", it could "heal" or "appear".
+
+
+Instead of burning the town to a crisp, it moved to the canyon. Passed through the scarce vegetation until it arrived Hurnscald... And burned it down.
+
+
+Insufficient Guild Level! (@@/@@)
+
+
+Insufficient Guild Money! (Guild has: @@ GP)
+
+
+Insufficient mana: @@/@@.
+
+
+Insurance
+
+
+Insurance Contract
+
+
+Int Potion
+
+
+Int+ Potion
+
+
+Int++ Potion
+
+
+Intelligence
+Intelligence
+
+Intelligence Fruit
+
+
+Intense Beard
+
+
+Intensive Mage Challenge
+
+
+Interested?
+
+
+Interesting! can I be rewarded for my help?
+Intéressant! Puis-je être récompensé pour mon aide?
+
+Interlude
+
+
+Interlude - Fourth Act
+
+
+Intermediary Dungeon (Lv 60+)
+
+
+Interval: (none, only sent on login)
+Intervalle : (aucun, seulement envoyé en se connectant)
+
+Interval: every @@ hour(s)
+Intervalle : toutes les @@ heure(s)
+
+Introduce
+ Présenter
+
+Invalid Discord ID.
+
+
+Invalid amount!
+
+
+Invalid map mask
+
+
+Invalid music key. Current accepted values are:
+
+
+Invalid parameter specified, blame saulc.
+
+
+Invalid quest state: @@
+
+
+Invalid recipe from Nahrec partly reimbursed.
+
+
+Invalid season: @@
+
+
+Invest in Exportations
+
+
+Invest in Reputation
+
+
+Investing in Exportations
+
+
+Investing in Reputation
+
+
+Investment executed
+
+
+Invite your friends, and become a Moubootaur Legend!
+
+
+Inya, the Jeweler
+
+
+Iridium Ingot
+Iridium Ingot
+
+Iridium Ore
+Iridium Ore
+
+Iridium Ore -> Titanium Ore
+
+
+Iron Ammo Box
+
+
+Iron Armbands
+Brassards en Fer
+
+Iron Arrow
+Iron Arrow
+
+Iron Backsword
+
+
+Iron Blade Shield
+
+
+Iron Bug Slayer
+
+
+Iron Ingot
+Iron Ingot
+
+Iron Ore
+Iron Ore
+
+Iron Ore -> Coal
+
+
+Iron Powder
+Iron Powder
+
+Iron Quiver
+
+
+Iron Quiver stats restored
+
+
+Iron Short Gladius
+
+
+Iron Shovel
+Pelle en Fer
+
+Is it too deep?
+
+
+Is it truly a hard choice to make?
+Est-ce vraiment un choix difficile à faire ?
+
+Is that someone's luggage?
+
+
+Is that... Wait... Wow. You... Killed the murderer scorpion.
+
+
+Is there a reward?
+Y-a-t'il une récompense ?
+
+Is this correct?
+
+
+Is this high-quality fur?
+
+
+Is this letter yours? Very well, let me read.
+
+
+Is your guild strong enough to give Arthur at least good nights sleep?
+
+
+Is... Dan... Ger... Ous...
+
+
+Isbamuth
+Isbamuth
+
+Ishi
+Ishi
+
+Ishi, the Rewards Master
+Ishi, la maître des récompenses
+
+Isn't hard to live alone?
+
+
+It also expires after two hours. In such case, talk to him again!
+
+
+It also increases naturally as you grow, albeit less.
+
+
+It appears we were focusing too much on research and this lead to neglect of other duties of a Sage's household. This is dangerous in times of changes. I'm worried about the future.
+
+
+It costs %d GP to use.
+
+
+It costs 600 GP to use.
+
+
+It doesn't make much sense to draw overhasty conclusions.
+
+
+It happens.
+
+
+It has a very dark color and an unusual aroma reminiscent of a moist forest.
+
+
+It has been a great year, and the TMW2 Team would like to
+
+
+It has been a total disaster. They killed %s. And everyone on the village.
+
+
+It has eluded so many craftsmiths, who knows what can be done with that!
+
+
+It have lots of lava caves, and some cool stuff, like the @@, can only be craft there.
+
+
+It have the same shape as those used to polish weapons, but there are blood stains everywhere.
+
+
+It is %s since the last great attack from the Monster King.
+
+
+It is NOT advised for new players to skip parts of the Main Quest.
+
+
+It is NOT designed for noobs. It is for the pain-seeking pro adventurers who laugh at death, and see danger as fun.
+
+
+It is a boss. I don't know how to summon one, and to be honest - You won't want to see one either.
+
+
+It is a dangerous area, so we only allow students enrolled at the academy to participate.
+
+
+It is a magical tower, though, cloaked in the desert. You can't just walk there. The tower was north of here, you will find a sign near the gate... But you won't find the gate itself.
+
+
+It is a pirate treasure hideout, yarr arr! If you have a @@ and a @@, you may get luck, yarr!
+
+
+It is a port city at the south of the continent. Main economic activities are mining and spices trade.
+
+
+It is a really cool place. You must visit it someday!
+
+
+It is a sunny day, don't you think?
+C'est un jour ensoleillé, tu ne trouves pas ?
+
+It is difficult to describe, it is like if it was mixed with mana itself. Drinking a bit of it was enough to recover your MP.
+
+
+It is known that even world wars have been under cease-fire on this date. On our world, Jesus Saves pays fortunes to Santa so he can gift every adventurer for the good year.
+
+
+It is no use... We are too close to a island, they will keep invading the ship...
+Cela ne sert à rien ... Nous sommes trop près d'une île, ils continueront à envahir le navire ...
+
+It is not much, but here is %d GP. Should buy you a snack!
+
+
+It is not my fault!
+
+
+It is not my fault.
+
+
+It is often easier to get invited by someone, but if you want to create it, you're free to. Remember guilds also have a player limit.
+
+
+It is on a huge, icy mountain peak. Rumors about dragons and legendary items to be found.
+
+
+It is one of the five legendary weapons. Legend says it was hidden in a tree on Aethyr, and will be given to the one who proves to be an excelent archer.
+
+
+It is pretty close to here. I advise you to use a good sword, and heal yourself often.
+
+
+It is said that if someone dies to the pinkies but is then avenged and mourned, the avenger may claim from the tree the shield of the world!
+
+
+It is so dangerous, and it...
+
+
+It is the birthplace of humans, the first place to come to existence... The World Edge. The place where humanity began, and according to the legend... The place where it shall perish.
+
+
+It is the non-rare ingredients I actually need help with!
+
+
+It is the place where it all began... And I'm not talking about the Mana War.
+
+
+It is time to send %s to your beloved ones!
+
+
+It is very hard to come by, however, my father has a copy he might sell to you for the right price.
+
+
+It is... SO CUTE! You won't refuse honey to a teddy, will you?
+
+
+It looks dangerous.
+
+
+It looks like you are ready. Let me see if there is an easy task for you...
+
+
+It looks like you can't carry anything else for now.
+Il semblerait que tu ne puisses rien porter d'autre pour l'instant.
+
+It looks locked.
+
+
+It matters not, because soon, all of you will be...
+
+
+It may also create some @@ or a @@, with enough skill.
+
+
+It may be dangerous. I better ask %s to check it instead.
+
+
+It may be expensive to return here. Are you sure?
+
+
+It may fail, and you might end up with something entirely unexpected, or nothing at all!
+
+
+It might be a good idea to ask around if anyone else observed something odd connected to this person.
+
+
+It might be just my gut instinct, but... Would you be willing to talk with Peetu and the other helpers, investigating what actually happened?
+
+
+It might be, but I never heard of you before. Sorry @@, I can't let just anyone go through. It would be a disservice to see you get stuck and die.
+
+
+It might be, but your level isn't. Sorry @@. No going to Hurnscald before level 20.
+
+
+It more than just a piece of Zealite Ore... It is a part of the world's heart.
+
+
+It only loses to Tulimshar, as far as political and economical importance goes.
+
+
+It really comes in handy that I have my towel with me. A towel is about the most massively useful thing an inte- ahm, a person can have.
+
+
+It rules Tulimshar, and is also one of the superior bodies of the Alliance. They have the last Mana Stone in the world on their meeting hall.
+
+
+It seems all of the slimes are gone now. I'm so glad! Thanks for your help. I mentioned your assistance to Nikolai.
+
+
+It seems happy, but it quickly goes to a dark honey after finishing.
+
+
+It seems that you have no status points to reset!
+Il semblerait que tu n'aies aucun points de statut à réinitialiser.
+
+It seems to be a mechanism of some kind, but it is missing a Runestone.
+
+
+It seems to be a puzzle, you can only imagine what needs to be done in order to enable the right portals.
+
+
+It seems to be concentrated on its small pot... So concentrated, it doesn't even realizes you're there.
+
+
+It seems to be growing apples, but by the amount of magic particles...
+
+
+It seems to be the ruins of some sort of Mouboo Temple or whatever, from a millenia ago. There may be traps, so be careful.
+
+
+It seems to have been abandoned a long time ago, but the chimney is still going?
+
+
+It should be almost a boss at your level, so I don't expect to see you again here so soon.
+
+
+It should be back in @@
+
+
+It should bring me back.
+
+
+It smells like manatauro's room.
+
+
+It still isn't time to awake the King Of Holy Swords, Light Bringer.
+
+
+It then looks at you with a pleasant smile, you definitely earned a new cute friend!
+
+
+It was a boring lesson, but you have mastered Mananese.
+
+
+It was a little @@.
+
+
+It was a real problem, threatening them to go out of business. I think they are trying to recover the lost weapons.
+
+
+It was a recipe you already knew... (+ @@ Mobpt)
+
+
+It was a reeeeeealy close dispute for the podium, but Jesusalva crafted an item at the last minute and took the first place!
+
+
+It was a tough fight.
+
+
+It was a trap! We must escape!
+
+
+It was an awful cut! Don't think any piece of a sightly lower material will have part in my art!
+
+
+It was built by The Alliance, and can be accessed by a ship in Tulimshar.
+
+
+It was just south of the island. Try walking around a bit?
+Marche un peu. tu en trouvera un en bas a droite de l'île.
+
+It was my job to seal the slimes away for the night, but I somehow messed it up!
+
+
+It was nice seeing you.
+
+
+It was said that these five heroes will once again emerge;
+
+
+It was so lovely, and it had some very tasty fruits, too! But the cave was so dangerous...
+
+
+It was so tasty, I can't eat anything more... Thank you.
+
+
+It wasn't easy, but you think that you extinguished this nest.
+
+
+It wasn't this time...
+
+
+It will allow you to store %d extra items, with unlimited weight or size limit, for only %s GP! Although premium clients such as yourself... deserve a discount!
+
+
+It won't be long before we reach our destination...
+
+
+It would be unwise to pick a fight with the Yeti King himself. The whole town would suffer.
+
+
+It would be very kind of you, if you could seek who I am!
+
+
+It'll also boost your %s for %s.
+
+
+It'll also drain mana in the proccess. If you run out of mana, its over.
+
+
+It'll be my pleasure.
+
+
+It'll be too dangerous if you're not at least level %d. But I'm sure you can grind the required level in no time; Don't let your body down! Exercise!
+
+
+It'll cost @@ GP
+
+
+It'll cost you @@ GP.
+
+
+It's
+
+
+It's *sniff* It's all my fault... *sniff*
+
+
+It's @@ (day)!
+
+
+It's @@ @@.
+C'est @@ @@.
+
+It's International Chocolate Day!
+
+
+It's Jesusalva's anniversary!
+
+
+It's St. Patrick Day, so be warned everyone wants a green dye... So, I raise the prices.
+
+
+It's St. Patrick Event!
+
+
+It's TMW2 Project anniversary!
+
+
+It's TMW2 Server anniversary!
+
+
+It's a @@!
+
+
+It's a complex curse.
+
+
+It's a cursed mouboo.
+
+
+It's a scary legend of old. It's truth, but I don't know how much it is.
+
+
+It's a simple curse.
+
+
+It's a strange drawing of a Mouboo.
+
+
+It's a tie!
+
+
+It's a very delicate spell. I usually start to prepare it while the helpers are still working on their research and experiments. That way, when they're done, they can just come and place the slimes under the seal.
+
+
+It's advised to collect PVP equipment.
+
+
+It's advised to come ready for the cold, the hungry beasts, and other dangers snow may bring.
+
+
+It's all my fault, I should've paid more attention! You should talk to Chief Oskari about this.
+
+
+It's always good to see if you have a lot of them around before you think about attacking one!
+
+
+It's an ambush!
+
+
+It's autumn! There is no special event during autumn, only special drops.
+
+
+It's cold, harsh climate makes difficult to live there. It was founded by people thrown away from Tulimshar and Hunrscald for political reasons.
+
+
+It's currently day, but when night falls, Candor will become darker.
+
+
+It's currently night, that's why Candor is dark.
+
+
+It's dangerous in the library right now, be careful. Do you need anything else?
+
+
+It's done with @@ teethes. These drain your life and raise your strenght to SMASH your foes!
+
+
+It's far from over! You cannot defeat me!
+
+
+It's full of Mouboo drawings.
+
+
+It's good to see you too, do you happen to be able to make stuff?
+
+
+It's higher! That's right!
+
+
+It's impossible to know when she'll be back, so you should prioritize something else for now.
+
+
+It's locked.
+
+
+It's locked. But a close inspection reveals a small key under the rug.
+
+
+It's lower! That's right!
+
+
+It's my duty to protect the beings in the forest... Not all of them are monsters as @@s like you think.
+
+
+It's none of your business.
+
+
+It's not as good as my new one, but still very useful.
+Elle n'est pas aussi bonne que ma nouvelle, mais elle est reste encore très efficace.
+
+It's not hard to repair, but nobody is bothering Jesusalva on #world as of late. %%n
+
+
+It's not much of a reward, but doesn't it feel great to help others in need?! HAHAHA!
+
+
+It's not much of a reward, but doesn't it feels great to help others in need?! HAHAHA!
+
+
+It's not possible to see any light, and it seems to small and damp to have monsters.
+
+
+It's not warranted you'll be able to get the powder back, either.
+
+
+It's obtained with ADMINS or by selling furniture. It is sumed to money and used first.
+
+
+It's over a hundred meters in depth. There is some land here, but I'm afraid of Terranite.
+
+
+It's self sufficient economically, and many fairies enjoy travelling there. In fact, rumors says the Fairy Kingdom is near it!
+
+
+It's spring! Two lovely NPCs at woodlands can be found...
+
+
+It's spring, when the wind is always good.
+
+
+It's steaming hot, but you guess this is where Isbamuth created homunculus. Most bandits, thieves and assassins seems to have been born here.
+
+
+It's steaming. Who knows what insanity Isbamuth is brewing inside?!
+
+
+It's summer! Ched is having his usual contest, but Luffyx in Hurnscald is up to no good!
+
+
+It's tasty ^.^
+
+
+It's the Free Software Day!
+
+
+It's the International Coffee Day!
+
+
+It's the least I could do for having you to go through all this struggle. I've already paid everything, so just talk to the receptionist for your room :>
+
+
+It's time to show this shiny @@ who is the boss! HAHAHAHAHAHAHAH!
+
+
+It's time. My army already have tens of thousands of monsters, homunculus, persons. The mana stones I've got thus far are all dried out, now.
+
+
+It's too faint to read.
+
+
+It's totally safe. They are loyal as long that feed. And to think I started off giving @@ to the poor...
+
+
+It's true enough an @@ could heal even a dead tree, and would dispel almost every status ailment I could have.
+
+
+It's valentine day, and I got my hands on a @@ model!
+
+
+It's very brave of you to fight against those slimes deeper in the library. Remember that you have to kill the entire group to prevent them from breeding. And do it @@!
+
+
+It's weaker than before, probably only one is working right now.
+
+
+It's winter! An NPC in Nivalis Town is freezing...
+
+
+It's written in Mananese, you cannot read.
+
+
+It's written in an ancient language, you cannot understand what's written.
+
+
+It's yummy ^.^
+
+
+Item 816
+
+
+Item List
+
+
+Item break? Too dangerous! I don't want it!!
+
+
+Item created.
+Objet créé.
+
+Item obtained: @@
+
+
+Item sold!
+
+
+Items for consumption, like potions, can only be used once.
+Les objets à consommer, comme les potions, ne peuvent être utilisés qu'une seule fois.
+
+Items have different effects. Some will heal you, some can be used as weapons or armor, and some can be sold for gold.
+Les objets ont différents effets. Certains peuvent te soigner, d'autres peuvent être utilisés comme armes et armures, et enfin d'autres peuvent être vendus pour de l'or.
+
+Items in your storage are totally safe. Banking itself is totally safe.
+Les objets dans votre storage sont totalement sûrs. La banque elle-même est totalement sécurisée.
+
+Iten
+Iten
+
+Itka
+Itka
+
+Ivanize
+
+
+JAIL THEM!!
+
+
+JAK1, THE SLIME RESEARCHER
+
+
+Jack
+
+
+Jack bends the log over his knee.
+
+
+Jack'O
+Jack'O
+
+Jack'O Lantern
+Jack'O Lantern
+
+Jack's Skeleton Charm
+Jack's Skeleton Charm
+
+Jack, the Lumberjack
+
+
+JackO
+
+
+Jackpot! You got the @@!
+
+
+Jackpot! You got the Monocle!
+
+
+Jackpot! You got the Paper Bag!
+
+
+Jakod
+Jakod
+
+Janika
+
+
+Jar Of Blood
+Jar Of Blood
+
+Jarret, Tulimshar's Founder, was a great man, but his successors were not. Specially the Red Queen. Eventually, our clan had enough and moved away from Tulim.
+
+
+Jasmine Tea
+
+
+Jeans Chaps
+Jeans Chaps
+
+Jeans Shorts
+Jeans Shorts
+
+Jelly Beans
+Jelly Beans
+
+Jenny
+
+
+Jeremy
+
+
+Jerican
+Jerican
+
+Jerry
+
+
+Jesusalva
+
+
+Jesusalva : \\o/
+
+
+Jesusalva Card
+
+
+Jesusalva still have this closed because the traps are broken... %%n But we shall open soon. %%G
+
+
+Jesusaves wrote a grimorie, with ancient secrets of our world.
+
+
+Jesusaves's Grimorium
+Jesusaves's Grimorium
+
+Jeweler
+
+
+Jhedia
+Jhedia
+
+Jhon Henryfield
+
+
+Jhon Longnose
+
+
+Joanna
+
+
+Joaquim
+
+
+Job Level and certain equips can affect your status. You'll see the modifiers with a + sign.
+
+
+Job levels already boosts all your status. It gives +1 on each status every 10 job levels.
+
+
+Joelin
+
+
+Join existing arena
+Rejoindre une arène existante
+
+Join teh Guild
+
+
+Joker
+
+
+Judgement
+Judgement
+
+Judgement has passed.
+Le jugement est passé.
+
+Judgment
+
+
+Juliet
+Juliet
+
+Juliet is east (right) of %s.
+
+
+Jump inside!
+
+
+June 21st - September 21st
+
+
+Junglefowl
+
+
+Just @@ ago, thieves stole Pihro & Pyndragon weapons.
+
+
+Just be really, REALLY sure you want to do it. I mean, the gemstone will break.
+
+
+Just beware that if you leave, you might get killed really quickly. No death penalty, though.
+
+
+Just go over there and you'll be able to board the Airship. The travel takes a while so please be patient and good luck!
+
+
+Just go right, yeye can't miss her. She's the only girl in this crew.#1
+Allez juste à droite, vous ne pouvez pas la manquer. Elle est la seule fille de cet équipage,
+
+Just go right, yeye can't miss her. She's the only girl in this crew, oh well, except for you now yeyeye!#0
+Allez juste à droite, vous ne pouvez pas la manquer. Elle est la seule fille de cet équipage, Enfin, plus maintenant hey hey!
+
+Just go to the basement, past this door. Good luck, @@!
+
+
+Just like every cave below the woodlands are under the Terranite King domains, every land covered in snow is under the Yeti King's domains.
+
+
+Just like parties, you can create from Social menu, but there is a catch: I will give you a document, which allows you to create ONE GUILD.
+
+
+Just look at that water! There's a whole bunch of fish down there.
+Regarde juste cette eau ! Il y a encore un tas de poissons en dessous.
+
+Just looking at him you smell danger, adventure, excitement...
+
+
+Just make sure to don't try to poison a guard or something, and don't tell anyone of our little deal. As a proof of our agreement, I'll even give you a freebie, so you can see this is the real deal.
+
+
+Just one coin for spin.
+
+
+Just tell him that I want to reconsider, and that I want the souvenir he offered me when I moved to Hurnscald.
+
+
+Just two coins for spin.
+
+
+Just use the arrow key--, err, I mean, just walk to the door on the right. The one which is not guarded by Peter.
+Utilisez simplement la touche fléchée--, err, je veux dire, juste marcher vers la porte sur la droite. Celle qui n'est pas gardé par Peter.
+
+Just wait. Fafi dragons are slow to show up...
+
+
+Just... Don't accidentaly invoke a Legendary Guardian or something, these thingies could destroy a whole city.
+
+
+KUNAI
+
+
+Kage
+
+
+Kaizei Human
+
+
+Kamelot Castle is a GUILD DUNGEON which refreshes WEEKLY.
+
+
+Kamelot Key
+
+
+Kamelot Raid
+
+
+Kamelot Season is open!
+
+
+Kanabo
+
+
+Katazuli breaking proccess will cause the breaker some harm.
+
+
+Katze
+
+
+Keep breaking
+
+
+Keep exploring the Study Room and certify it is safe first.
+
+
+Keep exploring the Study Room and certify it is safe first. Also, make sure to learn what this was used for.
+
+
+Keep following the path. Take this and... good luck.
+
+
+Keep in mind that %s are weak, baby Yetis, so kill them as well!
+
+
+Keep in mind the more power you have, the less control you'll have as well. Until you get a %s to track progress, use %s to check your control. Less control may result in failure to summon!
+
+
+Keep in mind this is a PvP area - So try to avoid being butchered, because revival spells are disabled here! Hahaha!
+
+
+Keep in mind, the more levels and intelligence you have, more likely the Mana Stone will grant you more Magic Power. But that means nothing.
+
+
+Keep in mind, we at the Academy do not have a Mana Stone.
+
+
+Keep moving boy.#1
+Continue de marcher garçon.
+
+Keep moving girl.#0
+Continue de marcher fillette.
+
+Keep the Grimorie with you. It's a rare book which holds data from all others. The book shall guide your advances!
+
+
+Keep your voice down and just listen.
+
+
+Keep your voice down! And yes. Can you confirm @@ was the cause?
+
+
+Kenton
+
+
+Kevin
+Kevin
+
+Khafar
+
+
+Khaki Dye
+
+
+Kid Bola
+
+
+Kill %s!
+
+
+Kill 'em all!
+
+
+Kill 'em!
+
+
+Kill 2 @@. This will prove your worth. They are northwest of the island.
+
+
+Kill at least a hundred of Pinkies here, and then we can talk.
+
+
+Kill the @@ at the storehouse.
+
+
+Killed in action!
+
+
+King Arthur
+
+
+King Arthur the Corrupted
+
+
+King Arthur the Micksha
+
+
+King Gelid
+
+
+King Gelid Frozenheart
+
+
+King Gelid Frozenheart II rules over all elves and dwarves who live here peacefully, and he also presides the city council.
+
+
+King Gelid Frozenheart II will have you.
+
+
+King Of Trials
+
+
+King of all heroes,
+
+
+Kitana
+
+
+Knife
+Couteau
+
+Knight Card
+
+
+Knight Card S
+
+
+Knight Card X
+
+
+Knit Hat
+
+
+Knock on the door?
+
+
+Knockback Immunity
+
+
+Knowing that would make you a descendant of them. But eh, that's asking too much. You had amnesia, right? That was on the letter.
+
+
+Knowing when to warp is the secret to success!
+
+
+Knowledge is power... And now you have both. Use them wisely.
+
+
+Knox The Traveler
+
+
+Kolchak and dangerDuck are working to finish Duck Dungeon. Contact them for updates...
+
+
+Kreist
+
+
+Kreist, Taskmaster
+
+
+Kristian
+
+
+Kullervo
+
+
+Kunai
+
+
+LEAVE NOW... BEFORE IT BECOMES TOO LATE....
+
+
+LEGACY Broadsword
+
+
+LEGACY Miere Cleaver
+
+
+LET'S DANCE!
+
+
+LOFBot
+
+
+LOWER!
+
+
+Lachesis Brew
+Brassage de Lachésis
+
+Land Of Fire
+
+
+Land Of Fire - @@ GP
+
+
+Land Of Fire Office
+
+
+Land Of Fire Townhall
+
+
+Land Of Fire Village
+
+
+Land Of Fire Village (@@m)
+
+
+Land Of Fire is a place so warm... Although this workshop is a better place to break time and space during Christmas.
+
+
+Laranja
+
+
+Last IP: @@
+
+
+Last Seen: @@
+
+
+Last Stand Card
+
+
+Last Standing Man
+
+
+Last map: @@
+
+
+Last time they told me he collected more than that...
+
+
+Later
+
+
+Later.
+
+
+Latif
+Latif
+
+Laura
+
+
+Lava Mana Pearl
+
+
+Lava Skull Slime
+
+
+Lava Slime
+Lava Slime
+
+Lava Slime Mother
+
+
+Lavern
+
+
+Lawn Cable
+
+
+Lawn Cable Card
+
+
+Lawncandy
+
+
+Layman
+
+
+Lazurite Cristal
+Lazurite Cristal
+
+Lazurite Heart
+Lazurite Heart
+
+Lazurite Robe
+Lazurite Robe
+
+Lazurite Shard
+Lazurite Shard
+
+Lead Ingot
+Lead Ingot
+
+Lead Ore
+Lead Ore
+
+Lead Ore -> Tin Ore
+
+
+Leader Wand
+Leader Wand
+
+Leaderboard is refresh daily at 1 AM!
+
+
+Leaderboard is refresh daily at 11:59 and 23:59!
+
+
+Learn Alchemy Recipes
+
+
+Learn crafting for @@ GP
+
+
+Learn individual guild skills
+
+
+Learn milking a Mouboo. And if you harm them, I'll cast a lightning bolt at you!
+
+
+Learn what?
+
+
+Learned a new recipe!
+
+
+Learning from seeing (aka. AFK-ing) skill LEVEL UP!!
+
+
+Leather
+
+
+Leather Ball
+Leather Ball
+
+Leather Boots
+Leather Boots
+
+Leather Gloves
+Leather Gloves
+
+Leather Patch
+Leather Patch
+
+Leather Quiver
+
+
+Leather Shield
+Bouclier en Cuir
+
+Leather Shirt
+Leather Shirt
+
+Leather Suitcase
+Leather Suitcase
+
+Leather Trousers
+Leather Trousers
+
+Leave
+Quitter
+
+Leave blank to abort.
+
+
+Leave it
+
+
+Leave it alone!
+laissez le tranquille !
+
+Leave it alone.
+laissez le tranquille.
+
+Leave it alone?
+
+
+Leave me alone! Stop annoying me!
+
+
+Leave me alone.
+
+
+Leave sir Benjamin in charge for a few more years, and nothing will be left of these towns. I hope this council perishes in a fire!
+
+
+Leave the Mouboo alone
+
+
+Leave the poor thing in peace.
+
+
+Leave the ship? The town have no death penalty and is under a global event.
+
+
+Leave this place now, defiler...
+
+
+Leave.
+Quitter.
+
+Led by the Lightbringer
+
+
+Left Crafty Wing
+Aile Gauche de Crafty
+
+Left Eye Patch
+
+
+Left-overs will be deleted shortly after.
+
+
+LeftDoorCheck
+PorteGauche
+
+Legacy
+
+
+Legendary my ass! What a rip-off!
+
+
+Lemme just fetch a small something for you....
+
+
+Lemme see... Sagratha is often regarded as a kind and rather powerful elf lady mage... who hate people.
+
+
+Lenita
+
+
+Leona
+
+
+Leprechaun Hat
+
+
+Less maggots means a more reliable food supply. This kind of maggot will be a little more difficult to defeat, which is an excellent way to test your prowess in battle.
+
+
+Less rattos means more food. So, this time the monsters will be a little stronger.
+
+
+Let Cynric open your storage. You might also want to open your inventory.
+Laissez Cynric ouvrir votre storage. Vous pourriez également vouloir ouvrir votre inventaire.
+
+Let me analyze that.
+
+
+Let me check into it...
+Laisse-moi y jeter un Å“il...
+
+Let me inspect it...
+
+
+Let me introduce myself, I am Nard, captain of this ship.
+Laisse-moi me présenter, je suis Nard, capitaine de ce navire.
+
+Let me just have a quick look at you. Hm... I will need @@ GP to reset your stats.
+Laisse-moi juste te regarder rapidement. Hm ... J'aurai besoin de @@ GP pour réinitialiser vos stats.
+
+Let me see your bow.
+
+
+Let me see... The more Wings and Teethes I collect, the more my research shall advance.
+
+
+Let me see.....
+
+
+Let me show you...
+
+
+Let's jump straight to action, shall we? I'll build a mighty @@ to fight you!
+
+
+Let's learn new recipes! Do you wanna?
+
+
+Let's play!
+
+
+Let's pretend I believe you.
+
+
+Let's say I believe you. Who stole you? Benjamin?
+
+
+Let's see how I can activate it...
+
+
+Let's see if you can pick a reward!
+
+
+Let's see... @@ of your status points have just been reset!
+Voyons voir... @@ de points de statut ont été réinitialisés !
+
+Let's start with something simple, yeye.
+Commençons par quelque chose de simple, hey hey.
+
+Lethal alcohol overdrinking
+
+
+Lethal damage over time, no regen.
+
+
+Lethal overdrinking:
+
+
+Lets play!
+
+
+Lettuce Leaf
+Feuille de Laitue
+
+Level %d (%s GP)
+
+
+Level %d (%s HP) (Found by %s)
+
+
+Level Boss
+
+
+Level reset from %d to %d
+
+
+Level set from %d to %d
+
+
+Liana
+Liana
+
+Liana, like other NPCs, provide a repeatable quest. Once you finish it, you will be able to do it again, after waiting for a few hours.
+
+
+Liar. Where are the goods? Are you trying to cheat me?!
+
+
+Liar. You can't fool me. That's the price. Get that or get out!
+
+
+Licensing was one of the worst hassle we had, but just today, all mobs may drop Ancient Blueprints. Enjoy!
+
+
+Lieutenant Armor
+
+
+Lieutenant Copper Armor
+
+
+Lieutenant Dausen
+Lieutenant Dausen
+
+Lieutenant Jacob
+Lieutenant Jacob
+
+Lieutenant Joshua
+
+
+Lieutenant Paul
+
+
+Life isn't worth the living.
+
+
+Lifestone
+Lifestone
+
+Lifestone Pendant
+Lifestone Pendant
+
+Lifestones have the potential to heal the user, and thus are used for potions.
+Les Lifestones ont le potentiel de guérir l'utilisateur, et sont donc utilisés pour les potions.
+
+Light Green Diamond
+Light Green Diamond
+
+Light Platemail
+Light Platemail
+
+Light Ring
+Light Ring
+
+Lightbringer
+
+
+Lightbringer#NLib
+
+
+Lightning Bolt
+
+
+Lightsaber
+
+
+Like Discord integration and sensitive options.
+
+
+Like, I know you are female.#0
+
+
+Like, I know you are male.#1
+
+
+Likewise, it could only do effect if it antagonize or affront the target.
+
+
+Lilanna
+
+
+Lilanna Card
+
+
+Lilica#easter
+Lilica#easter
+
+Lilit
+
+
+Lilit (@@m)
+
+
+Lilit - @@ GP (not exchangeable)
+
+
+Lilit Warp Crystal
+
+
+Lilit is the fairy kingdom, governed by Lilit the Fairy.
+
+
+Lilly
+Lilly
+
+Lime Dye
+
+
+Linarian Soul
+
+
+Line @@ has been removed.
+La ligne @@ a été supprimée.
+
+Linking requested.
+
+
+Linking the following Discord account:
+
+
+List & Claim rewards
+
+
+List of Unlocked Pets and Food
+
+
+List of known alchemy recipes:
+
+
+List of known cooking recipes:
+
+
+List of known crafting recipes:
+
+
+Listen to her story again.
+
+
+Listen to me! Whoever wants to follow foolish @@ on their suicide quest, stay here for 15 seconds!
+
+
+Listen, I was trying to get the Yeti King to help me to fight the Monster King. If you want to go there and do it, be my guest; Maybe they'll even help you with whatever your problem is.
+
+
+Listen, I'll use a trick which I learned in, uh, a past life of mine, so if you die, reality resets your being.
+
+
+Listen, as you're new here, I'll give you my %s. I won't give it again, understood? This is my personal gratitude. Come again!
+
+
+Listen, it was not only me who had issues with this... Masked Man. Auldsbel also had a similar issues.
+
+
+Listen, kid, one does not simply ignore Elli! She is too scary to be ignored!
+
+
+Listen, she decided to live away from civilization. She choose the forest as her home and the animals as her family.
+
+
+Listen, this is not a disease. No remedy can cure you, and it cannot be inflicted by consumables.
+
+
+Listen. North of here, is the ruins of an old village. Said village is cursed, and nobody here wants to go there.
+
+
+Lit the torch?
+
+
+Little Blub
+Petit Blub
+
+Little Red Slime
+
+
+Little Yellow Slime
+
+
+Lives undercover in human society. Luck led them to surviving this far.
+
+
+Living Potato
+Living Potato
+
+Lizards are the main monster found, and they steal gold from innocent bypassers.
+Les Lizards sont le monstre principalement présent ici, ils volent l'or des voyageur innocents.
+
+Lloyd
+
+
+LoF Coin
+
+
+LoF Warp Crystal
+
+
+Loading warp, be at this spot in 15 seconds.
+
+
+Locamit
+
+
+Location Registered. You are now capable to use this warp gate.
+
+
+Location: %s
+
+
+Location: All bifs in the world.
+
+
+Location: Candor B1F
+
+
+Location: Christmas Workshop, Romantic Field, south of Nivalis.
+
+
+Location: Daily Login.
+
+
+Location: Enchanted Forest, access by Soul Menhir.
+
+
+Location: Fishing spots in the water.
+
+
+Location: Forsaken Inn, South Woodlands
+
+
+Location: Kamelot Castle, west of Hurnscald.
+
+
+Location: N/A
+
+
+Location: North Woodlands, south of Nivalis.
+
+
+Location: Not applicable
+
+
+Location: The Mana Plane, Dream Tower
+
+
+Location: The Mana Plane, Porthos
+
+
+Location: The Mana Plane, Showdown Chamber
+
+
+Location: Treasure Chests, hidden inside dungeons.
+
+
+Location: Tulimshar Sewers / Hurnscald Town Hall
+
+
+Location: Valentine Island, access by Soul Menhir.
+
+
+Location: Worker's Cave, access by Soul Menhir.
+
+
+Lock Picks
+Lock Picks
+
+Lockpicks
+Lockpicks
+
+Lockpicks are the basic tools for thiefs. Talk to a vault in order to attempt lockpicking.
+
+
+Lof Squirrel
+
+
+Log Head
+Log Head
+
+LogHead
+
+
+Login Bonus
+
+
+Long Sword
+Long Sword
+
+Long Text Wall Density:
+
+
+Look at that pathetic scene, he just put his chair over the desk... Chef Gado won't like it.
+
+
+Look at this, %s really brought me %d %s.
+
+
+Look closer.
+
+
+Look the height of this bridge! Worse, the water around here is pretty shallow.
+
+
+Look what we have here, it is a boy!#1
+
+
+Look what we have here, it is a girl!#0
+
+
+Look, I really hate pious...all of them.
+
+
+Looks like I already gave you the Maritime Almanac Scroll. You need to go see George again. I am unable to get another copy for you.
+
+
+Looks like you are a bit short on supplies. Come back when you have everything I need.
+
+
+Loot 10, Luck +2, Luck Dance
+
+
+Loot 3, ASPD +5%
+
+
+Loot 3, Agi +5
+
+
+Loot 3, Agi +5, Agility Dance, Passive MP Regen (1)
+
+
+Loot 3, DEF +5
+
+
+Loot 3, Dex +5
+
+
+Loot 3, Evasion +7
+
+
+Loot 3, Int +5, Agi +1
+
+
+Loot 3, Luck +5, Luck Dance, Passive MP Regen (1)
+
+
+Loot 3, Max HP +250
+
+
+Loot 3, Max MP +250
+
+
+Loot 3, STR +4, AGI +1
+
+
+Loot 3, STR +5, Vitality Dance, Passive HP Regen (1)
+
+
+Loot 3, Steal +15%, Passive HP Regen (1)
+
+
+Loot 4, Str +1, Gold Drop (4%)
+
+
+Lora Tay
+
+
+Lost Ocean Croc
+
+
+Lost Piou
+
+
+Lost forever on the Desert Canyon, I guess.
+
+
+Lost without an acorn.
+
+
+Lousy Moccasins
+Mocassins Moches
+
+Love Letter
+Love Letter
+
+Love Lollipop
+
+
+Lovely Fluffy
+Lovely Fluffy
+
+Lower MAXHP, Damage over time
+
+
+Lower city taxes
+
+
+Lowering Taxes
+
+
+Lt. Gerry
+Lt. Gerry
+
+Lt. Longburn#EP
+
+
+Lt. Randy
+Lt. Randy
+
+Lua#003-2
+Lua#003-2
+
+Luanna
+
+
+Luca
+Luca
+
+Luck
+Chance
+
+Luck Fruit
+
+
+Luck Potion
+
+
+Luck+ Potion
+
+
+Luck++ Potion
+
+
+Lucky for you, the Alliance have means to assist you. You'll be a grown up, full fledged adventurer in no time at all, and will be able to visit a friend of mine, who will then send you there.
+
+
+Lucky you, you found me! Do you want to SPIN THE WHEEL and gain GREAT rewards?
+
+
+Lucky! You got the coin back!
+
+
+Luffyx
+
+
+Luffyx Summer Shorts
+
+
+Lune
+
+
+Luvia
+
+
+Luvia is too dangerous to be left alone.
+
+
+Luxury furniture
+
+
+Lynn The Traveler
+Lynn The Traveler
+
+MAX HP
+
+
+MDEF +10
+
+
+MEEEEEERLIN!!! SMASH THEM!!
+
+
+MONSTER KING
+
+
+MONSTER KING, APPEAR TO ME!
+
+
+MOTD
+MOTD
+
+MOTD Config
+Configuration de MOTD
+
+MP +200
+
+
+MSP for Area Provoke was refunded.
+
+
+MSP for Last Man Standing was refunded.
+
+
+MSP for Lightning Strike was refunded.
+
+
+MSP for Wind Walker was refunded.
+
+
+Ma... Magical Re... Re-ref... Reflection.
+
+
+Machinery#MKHB
+
+
+Mage Card
+
+
+Mage Card S
+
+
+Mage Card X
+
+
+Mage equipment also raises MP recovery. So yes, a mage can use a sword and heavy armor, but...
+
+
+Magenta
+
+
+Magenta Spark
+
+
+Mages should use equipment designed for them. Those may be lacking on defense, but will raise MP and Magic Attack.
+
+
+Maggot
+Maggot
+
+Maggot Coccon
+
+
+Maggot Slime
+Maggot Slime
+
+Magic Academy Tutorial
+
+
+Magic Apple
+Magic Apple
+
+Magic Arpan
+Magic Arpan
+
+Magic Arpan#sailors
+Magic Arpan#sailors
+
+Magic Barrier
+Magic Barrier
+
+Magic Barrier is active. You must give a whole circle on the desert to break it.
+
+
+Magic Barrier#0051
+
+
+Magic Barrier#0060
+
+
+Magic Barrier#0063
+
+
+Magic Barrier#0064
+
+
+Magic Barrier#0066
+
+
+Magic Barrier#0067C
+
+
+Magic Barrier#0067E
+
+
+Magic Barrier#0067W
+
+
+Magic Barrier#Bug63
+
+
+Magic Barrier#Pi
+
+
+Magic Bif
+Magic Bif
+
+Magic Council
+
+
+Magic Council? What's that?
+
+
+Magic Goblin
+Magic Goblin
+
+Magic Maggot
+
+
+Magic Olympics
+
+
+Magic Olympics Top 1 Prize
+
+
+Magic Power is granted to you, but you die from it.
+La puissance magique vous est accordée, mais vous en êtes mort.
+
+Magic Ratto
+Magic Ratto
+
+Magic Raw Power Challenge
+
+
+Magic Scrolls
+
+
+Magic Skill Points can be obtained in three ways: By touching a Mana Stone, by signing up in a Special Class (if you have enough magic power) and by having high amounts of Job Level.
+
+
+Magic Status
+
+
+Magic Strike
+
+
+Magic Top Hat
+
+
+Magic is dead. Well, not yet, we still have some mana stones left - but only the strongest ones are allowed to use them and acquire magic.
+
+
+Magic is necessary for warriors and archers to learn skills. Skills can be learned in Tulimshar.
+
+
+Magic is sacred. With transmutation, you can create convenience items, specially reagents for other magic skills.
+
+
+Magic skills allows for a more advanced gameplay, but they are meant for level 30 onward.
+
+
+Magic, Warriors and Archers
+
+
+Magic.
+Magic.
+
+Magical MVP Card
+
+
+Magical Weapon Recipes
+
+
+Magically Sealed Gate
+
+
+Magick Real
+
+
+Magnus Healing
+
+
+Mahad
+
+
+Mahoud
+Mahoud
+
+Mahoud Basement
+Cave de Mahoud
+
+Mahul
+
+
+Main server is: %s
+
+
+Make it brighter
+
+
+Make me an Iron Powder.
+Créé moi une Iron Powder.
+
+Make sure to put on a bait after you click, though!
+Cependant, n'oublie pas d'ajouter un appât après avoir cliqué !
+
+Male
+Masculin
+
+Malign Chest
+
+
+Malindou
+Malindou
+
+Malivox
+Malivox
+
+Mana Being#001-1
+Mana Being#001-1
+
+Mana Bomb
+
+
+Mana Bug
+Mana Bug
+
+Mana Chest
+Mana Chest
+
+Mana Experience Challenge
+
+
+Mana Ghost
+Mana Ghost
+
+Mana Gloves
+Mana Gloves
+
+Mana Magic is less reliable and have an experience system. It's the most common for summoning and transmutation.
+
+
+Mana Magic works similar to regular magic: You can find it on your skill window, and can drag it to your shortcut list.
+
+
+Mana Piou
+Mana Piou
+
+Mana Piou Feathers
+
+
+Mana Plane - Dream Tower, %dº floor %s
+
+
+Mana Plane - Dream Tower, %dº floor. Time limit: 60 minutes or death.
+
+
+Mana Saulc
+
+
+Mana Stone
+Mana Stone
+
+Mana Stone#01863
+
+
+Mana Stone#Tulim
+
+
+Mana Tree
+
+
+Mana Wisdom
+
+
+Mana is something which existed since the being, but nobody knows much about.
+
+
+ManaMarket
+
+
+Manage Beds
+
+
+Manage Chairs
+
+
+Manage Decoration
+
+
+Manage Furniture
+
+
+Manage Luxury furniture
+
+
+Manage Paintings
+
+
+Manage Town
+
+
+Manage Utilities
+
+
+Managed to get any nice drops? It requires more luck than skill. Here is your reward.
+
+
+Managment Menu
+
+
+Manana
+Manana
+
+Manana Tree
+Manana Tree
+
+Manapop
+Manapop
+
+Manapple
+
+
+Mandragora
+
+
+Manually trigger the current broadcast
+Déclencher manuellement l'annonce actuelle
+
+Many citzens are still cowering in fear. Paths are closed, economy is a disaster, things are not as they should be.
+
+
+Many sacrifices were done, but it was lost.
+
+
+Many stories are told about this city sewers.
+
+
+Many thanks for all the help!
+Un grand merci pour toute ton aide!
+
+Many thanks for killing it. Maybe more humans come here now, and play with me.
+
+
+Many thanks for your help! Here, take this. I'm sure it can be very useful later. It always is.
+
+
+Many thanks!
+
+
+Many thanks! %%s
+
+
+Many thanks! At least he'll know he haven't impressed me yet!
+
+
+Many thanks! Come back later to bring me extra @@!
+
+
+Many thanks! Come back soon.
+
+
+Many thanks! I'll arrange the table.
+
+
+Many thanks! I'll be sooooo fashionable now!
+
+
+Many thanks! If I let my wose side blossom, I'm sure she'll look at me!
+
+
+Many thanks, and once again, your help has been invaluable.
+
+
+Many thanks, the Doctor always know what's best for you.
+
+
+Many thanks, your help has been invaluable. We're now capable to travel at ease.#0
+
+
+Many thanks, your help has been invaluable. We're now capable to travel at ease.#1
+
+
+Many thanks, your help has been invaluable. You now have an extra point, use it wisely.
+
+
+Many thanks. I couldn't live without it. Please come back later.
+
+
+Many thanks. You have my eternal gratitute. Here is 1000 GP for your troubles.
+
+
+Many thanks. You have my eternal gratitute. Here is 2000 GP for your troubles.
+
+
+Many, many thanks!
+
+
+Many, many thanks! I'm sure the children will love it!
+
+
+Many, many thanks! Thus far, you delivered me @@ gift boxes!
+
+
+Map cleared!
+
+
+Marikel
+
+
+Marius The Bard
+Marius The Bard
+
+Market Guard#EP
+
+
+Market Place
+
+
+Marley : I shall stop you!
+
+
+Marley : You... thief... *grumble*
+
+
+Marley is furious that someone stole her treasure... You wouldn't happen to know anything about this, would you...?
+
+
+Marriage failed.
+Le marriage a échoué.
+
+Marriage unlocks %s powers. The ring is sold in Tulimshar.
+
+
+Married with @@
+
+
+Marsh Pirate
+
+
+Mashmallow
+Mashmallow
+
+Masked Assassin
+
+
+Mass Provoke replaced with Area Provoke.
+
+
+Master
+
+
+Master Bola
+
+
+Master Dungeon (BOSS)
+
+
+Master Exchanger#0
+
+
+Matk +25
+
+
+Mauve Dye
+Mauve Dye
+
+Mauve Herb
+Mauve Herb
+
+Mauve Plant
+Mauve Plant
+
+Max Weight +1kg
+
+
+Maxime
+Maxime
+
+Maximize Damage
+
+
+Maximum Profit: @@ GP
+
+
+May their journey be successful, may their objectives be attained, may the Mana rest in peace.
+
+
+May their memory be remembered, but may their struggle be forgotten, their bodies never profaned, and in the æthyr, may they find eternal rest and comfort for their souls.
+
+
+Maya
+Maya
+
+Maybe I can help to ease your pain?
+
+
+Maybe I could give you more beer?
+
+
+Maybe I should also give you a lesson in how to count? You don't have enough.
+
+
+Maybe I'm using a too low quality bait, I can't fish %s.
+
+
+Maybe a %s?
+
+
+Maybe another time.
+
+
+Maybe he was confused, not sure. He talked very strangely.
+
+
+Maybe if someone helped me to get rid of the maggots on my crops, I would be able to sell them to everyone again...
+
+
+Maybe if you go back the way you're coming, you find him...
+
+
+Maybe if... No... Hmm... I better try this the next time I'm at my laboratory...
+
+
+Maybe it is not hungry, after all.
+
+
+Maybe later.
+Peut-être plus tard
+
+Maybe next time, then.
+
+
+Maybe on spring Blossom will look at me... For now, my wose part is withering.
+
+
+Maybe one of the slimes dropped it.
+
+
+Maybe some other time.
+Peut être une autre fois.
+
+Maybe someone in Hurnscald can help me.
+
+
+Maybe the Hurnscald alchemist, Wyara, could explain why.
+
+
+Maybe the teddy is hungry? What could we offer to it?
+
+
+Maybe there are things in Candor which still require your attention? I might have overheard some of them.
+
+
+Maybe there is a key somewhere near. I should keep looking.
+
+
+Maybe there's a locked door somewhere, and this key will fit?
+
+
+Maybe they're in the library, but it is too dangerous there right now...
+
+
+Maybe we can give her something, to cheer her up?
+
+
+Maybe we could give her a %s instead.
+
+
+Maybe you can help our city. I see you are a Monster Hunting Quest Participant, right?
+
+
+Maybe you could bring me 10 sticky @@?
+
+
+Maybe you could bring me 5 @@? I will reward you for your effort.
+
+
+Maybe you could bring me 5 delicious @@? They have a great effect in quenching thirst and recovering vigour.
+
+
+Maybe you could convince him. There's a summoning circle on Tulimshar Sewers.
+
+
+Maybe you could do me a favour, though?
+
+
+Maybe you could now help my friend Oscar. His farm is west of here.
+
+
+Maybe you did it, after all!
+
+
+Maybe you do, your jerk! Stop drinking! Lua told me that you could help me! DO YOUR JOB!!
+
+
+Maybe you should go to the depleted mines in the small cave inside the town. Who knows what you may find inside.
+
+
+Maybe you should talk to your chief about that?
+
+
+Maybe you're interested in the Special Class again? An extra magic skill point for a lot of items, what do ya say?
+
+
+Maybe you're interested in the Special Class again? An extra magic skill point, but this time in a dangerous journey, what do ya say?
+
+
+Maybe, but... I don't know my parents.
+
+
+Maybe, if you had some sort of ancient artifact and touched the sign, it would allow you to see through the cloaking? Or if you were powerful enough. As if I would know!
+
+
+Maybe.
+
+
+Maybe. Come back later.
+
+
+Maze Race Challenge
+
+
+Meager < Weak < Standard < Intimidating = Daunting
+
+
+Meager.
+
+
+Meaning that once you equip a bow, you likely won't be able to dodge attacks.
+
+
+Meaning you must warp shortly before the Great Fire, defeat her, and be back before the Great Fire happen.
+
+
+Meanwhile, at 00h, 06h, 12h, 15h, 18h and 21h UTC,
+
+
+Meanwhile, the sages of destiny will prepare a way to kick them back to wherever they belong!
+
+
+Mechanically based technology (eg. the Gates or Time Flasks) will never suffer damage from operation but are more costly.
+
+
+Mede
+
+
+Medium Arrow Sack
+
+
+Medium Bullet Sack
+
+
+Medium Elenium Bif
+
+
+Meh, telling him it was a lie is not going to help.
+
+
+Meh, the Blue Sage is truly wasteful. We use %s even for the simplest things such as keeping the house warm.
+
+
+Melina
+
+
+Melt something else?
+
+
+Melune
+
+
+Memorize the sequence!
+
+
+Memory slowly returns to you as you start growing aware of your surroundings. That's right, you are on a ship.
+
+
+Meow.
+
+
+Mercenary Boxset A
+
+
+Mercenary Boxset AA
+
+
+Mercenary Boxset B
+
+
+Mercenary Boxset BB
+
+
+Mercenary Boxset C
+
+
+Mercenary Boxset CC
+
+
+Mercenary Boxset D
+
+
+Mercenary Boxset DD
+
+
+Mercenary Boxset E
+
+
+Mercenary Boxset EE
+
+
+Mercenary Quests completed: %s
+
+
+Mercenary Trainer
+
+
+Merchant
+Marchand
+
+Merchant Police
+
+
+Merchants like to buy body parts of killed monsters and animals because they can make items and equipment.
+
+
+Mercy has been granted.
+La miséricorde a été accordée.
+
+Meriel
+
+
+Merlin was a accomplished carpenter and wanted to make a new
+
+
+Merry Christmas!
+
+
+Merry Christmas, adventurer.
+
+
+Merry Christmas, and a happy new year! \\o/
+
+
+Merry Christmas, arr yarr!!
+
+
+Message:
+Message :
+
+Meteor Shower
+
+
+Meteor Strike
+
+
+Mh, I can't really tell since I usually work in the library while he works at the workshop. Maybe you should ask around among the people who work there.
+
+
+Mh, I don't know him closely.
+
+
+Mh, let me see. We already have a copy of this page, but it's helpful nevertheless. Thank you.
+
+
+Mh, let me think. There were quite a few visitors with different concerns, but that's usual at this time of the year.
+
+
+Mh, yes. I remember him. He was very interested in the library and the research we do here. He had an unusual behaviour and appearance. But, well, that isn't a reason to refuse someone, right?
+
+
+Mh. I wonder how I'm expected to perform my task with this meager equipment. The new books will look pathetic.
+
+
+Mh... yes. It makes sense. Listen. This is a secret, but it might have been.... @@.
+
+
+Mhm, this looks healthy.
+
+
+Mhm, you're still weak, I would prefer you to be level %d+ before doing this, but... Whatever, you might even survive.
+
+
+Mhm? I believe it was rebuilt, and the High Alliance took it over from the mage association for not paying taxes.
+
+
+Michel
+Michel
+
+Michel Soul
+
+
+Midway is also a solid range, but for summons, nearby works best. Casing doesn't matters, nor does punctuation.
+
+
+Miere Cleaver
+
+
+Miere Cleaver!
+
+
+Miler
+
+
+Milestone levelup: A reward can now be claimed in Tulimshar.
+
+
+Milestone reached: %s kills
+
+
+Milk
+Milk
+
+Milly
+
+
+Milocat
+
+
+Miltaco
+
+
+Min. Position:
+
+
+Min. Score:
+
+
+Mine exit is top left!
+
+
+Miner
+
+
+Miner Gloves
+
+
+Miner Hat
+
+
+Miner Knife
+
+
+Miner Tank Top
+
+
+Mineral Bif
+Mineral Bif
+
+Miners Union Research Request!
+
+
+Mini Skirt
+
+
+Minimum advised level 72 to do this quest.
+
+
+Minimum range: %d
+
+
+Mining opearations advance steadly day by day with your help, thanks! Maybe one day, we find a Mana Stone here!
+
+
+Minor healing to your wounds.
+
+
+Minor healing to yourself or to allies.
+
+
+Mint Dye
+
+
+Mirio
+
+
+Mirjami
+
+
+Miro
+
+
+Mirror Island %d
+
+
+Mirror Island 1
+
+
+Mirror Lake
+
+
+Mirror Lake : Created temporary character; It'll be reset on logout.
+
+
+Mirror Lake : Obtain help with %s.
+
+
+Mirror Lake Armor
+
+
+Miscellaneous Recipes
+
+
+Miscellaneous Status
+
+
+Mission accomplished. Well played!
+
+
+Mission: Kill all rogue Yetis on the Throne Room. You won't be able to leave until all of them are dead.
+
+
+Mister Prickel
+
+
+Mmm, it's been so long since I have had herbal tea. You have my gratitude.
+
+
+Mobiliary Credits is a special currency which can only be used on real estate.
+
+
+Mobpt: @@
+
+
+Mobs remaining: @@
+
+
+Mode?
+
+
+Modify another line
+Modifier une autre ligne
+
+Modify monster level!
+
+
+Modify this line
+Modifier cette ligne
+
+Modify, move, or remove a line
+Modifier, déplacer, ou supprimer une ligne
+
+Moggun
+Moggun
+
+Moggun Egg
+
+
+Money in your storage is totally safe. Banking itself is totally safe.
+
+
+Money transference by mail is, however, free.
+
+
+Money withdrawn!
+
+
+Money: @@ GP
+
+
+Monk Pendant
+Monk Pendant
+
+Monocle
+Monocle
+
+Monster
+
+
+Monster AGI, Default %d, use 0 to cancel
+
+
+Monster ATK (varies 10%%), Default %d, use 0 to cancel
+
+
+Monster ATK RANGE, Default %d, use 0 to cancel
+
+
+Monster Admiral
+
+
+Monster Captain
+Monster Captain
+
+Monster Colonel
+Monster Colonel
+
+Monster DEF, Default %d, use 0 to cancel
+
+
+Monster DEX, Default %d, use 0 to cancel
+
+
+Monster Density and Boss HP?
+
+
+Monster General
+Monster General
+
+Monster HP, Default %d, use 0 to cancel
+
+
+Monster Hunter
+
+
+Monster Hunters receive small bounties on a special currency, of Monster Points, for each monster they kill. The amount gained is based on the monster level.
+
+
+Monster ID, 0 to cancel
+
+
+Monster Information!
+
+
+Monster King
+
+
+Monster King Basement
+
+
+Monster King Mode
+
+
+Monster Lieutenant
+Monster Lieutenant
+
+Monster Major
+
+
+Monster NAME, Default %s, empty to cancel
+
+
+Monster Points
+
+
+Monster Points (Mobpt): @@ | Gold: @@
+
+
+Monster Points: %s
+
+
+Monster SPEED, Player speed is 150, minimum is 100!
+
+
+Monster Sergeant
+Monster Sergeant
+
+Monster Soldier
+
+
+Monsters Killed in PvE: %s
+
+
+Monsters are everywhere. They're a plague we're trying to get rid of.
+
+
+Monsters do not aim small towns like Candor. This city also comes with the plus that I know where everything's at.
+
+
+Monsters killed: %s
+
+
+Monsters left: @@
+
+
+Monsters remaining: %s
+
+
+Monsters will spawn in the south fountain continuously.
+
+
+Monsters, however, keep coming from the Impregnable Fortress. They always come on %s, although we have no idea why.
+
+
+Monsters.
+
+
+Moo!
+Moo !
+
+Moonshroom
+Moonshroom
+
+Moonshroom Hat
+
+
+Moonshroom Robe
+
+
+Moooo!
+Moooo!
+
+Moooooo!
+Moooooo!
+
+Moooooooooooo!
+Moooooooooooo!
+
+Mooubootaur Mode
+
+
+More Magic Power is granted to you, but you die from it.
+
+
+Morgan
+Morgan
+
+Mortal! I am @@! I have broken through the barriers of space and time!
+
+
+Moss
+Mousse
+
+Most Orcs become nomads and Raijins moved to Hurnscald, but they say Thermin might have been rebuilt somewhere else.
+
+
+Most common and widely popular in the fish realm are @@ and pieces of @@.
+Le poisson le plus commun et répandu dans le monde du poisson c'est la @@ et parfois quelques @@.
+
+Most do. I'm not sure if all that hatred is justified, but who cares. She is dead, even if her ghost is back.
+
+
+Most of it should be pretty intuitive, but be sure to press @@ on the bottom-left of inventory screen.
+La plupart de ces opérations devraient être assez intuitives, mais appuyez bien sur @@ en bas à gauche de la fenètre de l'inventaire.
+
+Most of our professors moved on to the Academy Island, and are with Tulimshar's and Frostia's professors working right now. But...
+
+
+Most of their skills are stat-independent, but not all of them.
+
+
+Most of these people will not think twice before giving a nice reward to anyone who helps them.
+
+
+Most thieves left, but that's not a problem, I created an army out of Homunculus. I already have 500 bandits. I will create more later, to get Mana Stones.
+
+
+Moubi
+
+
+Moubi Hat
+
+
+Mouboo
+Mouboo
+
+Mouboo Figurine
+Mouboo Figurine
+
+Mouboo Hat
+Mouboo Hat
+
+Mouboo Pendant
+
+
+Mouboo Slime
+Mouboo Slime
+
+Mouboo Steak
+
+
+Mouboo#0142injuried
+
+
+Mouboos are cute
+
+
+Mouboos, come to my aid and protect me!
+
+
+Moubootaur (Sealed)
+
+
+Moubootaur Legends Anniversary
+
+
+Moubootaur Legends Server
+
+
+Moubootaur Legends just got older! %%N
+
+
+Moubootaur Legends presents...
+
+
+Moubootaur Maze
+
+
+Moubootaur, please spare me...
+
+
+Mount your party and find the Yeti King!
+
+
+Mountain Snake
+Mountain Snake
+
+Mountain Snake Egg -> Snake Egg
+
+
+Mountain Snake Skin
+Mountain Snake Skin
+
+Mountain Snake Skin -> Snake Skin
+
+
+Mountain Snake Tongue
+
+
+Mountain Snake Tongue -> Snake Tongue
+
+
+Mounts
+
+
+Moutain Snake
+
+
+Moutain Snake Egg
+
+
+Move Speed Potion
+
+
+Move this line down
+Déplacer cette ligne vers le bas
+
+Move this line up
+Déplacer cette ligne vers le haut
+
+Movement Speed Potion
+
+
+Moving while AFK is botting! I'll send you to a %s if you move while AFK! ##BYOU HAVE BEEN WARNED!##b
+
+
+Mr Saves
+
+
+Msawis Card
+
+
+Muahahaha, I'll be SO strong thanks to you! Here, I don't need these weak recipes anymore. You can have them!
+
+
+Muahahaha, I'll be SO strong thanks to you! Here, these recipes should be useful for ya. You can have them!
+
+
+Much better, right?!
+
+
+Multiple players may conduct Katazuli at once. If you move or stand, the spell may be aborted.
+
+
+Murder her too!#0
+
+
+Murder him too!#1
+
+
+Murderer Crown
+
+
+Murderer Scorpion
+Murderer Scorpion
+
+Mush Hat
+
+
+Mushroom Spores
+Spores de Champignons
+
+Mustache
+Mustache
+
+My answer is still a no, and it won't change. Don't test my patience any further.
+
+
+My breath smells bad.
+J'ai une haleine horrible.
+
+My captain wanted me to give this to you as a special reward for your efforts.
+
+
+My chestplate, @@
+
+
+My children and grandchildren have all moved to the Land of Fire, so the amount of leatherwork I can offer you is limited.
+
+
+My crops! Hurry up, and talk to Eomie!!
+
+
+My daughter! My precious Cindy, why it had to be you?!
+
+
+My equipment is good, let me through!
+
+
+My family died when I was just a little girl... I have been trying to survive...
+
+
+My father probably knew... Well, you better ask Blue Sage then.
+
+
+My father runs a dye business, I'm in charge of selling %s around the world.
+
+
+My figurine is so nice!
+
+
+My formula is not a drug, nor magic. It is an ancient technology of our people!
+
+
+My friend George is much older than I am, go see him and if he trusts you, so will I.
+
+
+My grandmother gave me a recipe of the @@, it can cure anything but death.
+
+
+My greatest realization thus far, besides some time rewinding clocks, is the @@!
+
+
+My helmet, @@
+
+
+My husband and I have moved here under the Alliance orders.
+
+
+My mother told me, do not go work like a guard. You will die from overheating in the sun during the summer time.
+
+
+My name is
+
+
+My name is %s. I am an upstanding citizen of this kingdom. Everyone loves me.
+
+
+My name is @@ and I am the daily task master. Interested in keeping this world free from monsters, or are you here to report back?
+
+
+My name is Amelia, and I am Elora's daughter.
+
+
+My name is Benjamin, and I was in charge of an incursion here to capture Barbara.
+
+
+My name is Juliet, it is me who took care of you after we found you in the sea. I'm glad to see you're okay.
+Je m'appelle Juliette, c'est moi qui ai pris soin de toi après que l'on t'ai retrouvé en mer. Je suis contente de voir que tu vas bien.
+
+My name is Naem and I guard the tunnels in this direction. You shall not pass. Now leave.
+
+
+My name is Nico Goethe, an %s card player.
+
+
+My pleasure.
+
+
+My shaman skills protected us against monsters and thieves!
+
+
+My shield, @@
+
+
+My stats are too good, I won't need it.
+Mes statistiques sont bonnes, je n'en aurai pas besoin.
+
+My unit, however, was attacked! %s snuck up on us!
+
+
+My waifu Blossom has me trapped here, and she won't even look at me, because I'm part-Wose!
+
+
+My warp crystal broke!
+
+
+My weapon, @@
+
+
+Mylarin Dust
+Mylarin Dust
+
+Mylarin dust?! Where would you get that? That's amazing!
+
+
+Mysterious Bif
+
+
+Mysterious Bottle
+
+
+Mysterious Chest#EP1
+
+
+Mysterious Chest#EP2
+
+
+Mysterious Fruit
+Mysterious Fruit
+
+Mysterious Ore
+
+
+Mysterious Powder expires after some time!
+
+
+Mystic Wand
+
+
+NO
+
+
+NO!
+
+
+NOT ENOUGH MONEY
+
+
+NOTE
+
+
+NOTE: Beside wands and staves, %s, %s, and the %s count as magic weapons.
+
+
+NOTE: It is possible to play the game as a crafter/merchant/fisherman, avoiding to kill as much as possible. However, it is not possible to play the game with a total kill count of zero.
+
+
+NOTE: Must have logged in the past 24 hours to be shown.
+
+
+NOTE: No equipment restriction. Less time is better.
+
+
+NOTE: The Energy Ball explodes and Kills. Very. Well. Make them a priority!
+
+
+NOTE: The effective bonus level applied is the average level of enabled options!
+
+
+NOTE: This quest is still a work in progress. "Bugs" will show up on purpose.
+
+
+NOTE: You're tweaking a(n): @@
+
+
+NPC Blinking Eyes
+
+
+NPC Blinking Eyes 2
+
+
+NPC Blinking Eyes 3
+
+
+NPC stylists can cut your hair and give you a new style, which means the hair style you woke up is something that can be changed.
+
+
+NPCs#RES_0096
+
+
+NPCs#RES_0097
+
+
+NPCs#RES_0128
+
+
+NPCs#RES_0177
+
+
+NPCs#RES_0178
+
+
+NPCs#RES_PPL
+
+
+NPCs(Non Playable Characters) or non-playable characters are characters that are always in the game, offering a wide variety of reactions, from a simple friendly conversation to a desperate request for help.
+
+
+NPCs.
+PNJ's
+
+Naem
+
+
+Naftalin
+
+
+Nah, I am a chicken.
+
+
+Nah, I've got more serious matters to attend to...
+
+
+Nah, not now. Slimes ruin your clothes, after all.
+
+
+Nah, see you later.
+
+
+Nah, sorry, everything is good with me.
+
+
+Nah, thank you.
+
+
+Nah, that's wrong. Come back if you want to try again.
+
+
+Nah.
+Nah.
+
+Nahrec
+
+
+Nahrec discretly gives you a recipe.
+
+
+Name is Jhon, and that's not a typo! I am an absolute coffee lover, and I travel to exotic places in search of the perfect brew.
+
+
+Named Items
+
+
+Napalm Beat
+
+
+Nard
+Nard
+
+Nard doesn't like people who gets money without working for it.
+
+
+Nard gives you a map of the city so you don't get lost.
+
+
+Nard is amazed at you.
+
+
+Nard is impressed, you're a hard worker.
+
+
+Nard is truly amazed at you. I am impressed, too.
+
+
+Nard is very impressed, you're really a hard worker. Congrats!
+
+
+Nard likes people who work hard. Work harder!
+
+
+Nard noticed your hard work.
+
+
+Narrator
+Narrateur
+
+Naturally, it doesn't have to be a wiki article. But it must be noteworthy to the whole community, and wiki articles are one of the easiest ways for that.
+
+
+Nature Card
+
+
+Nature Card S
+
+
+Nature Card X
+
+
+Nature Fairy
+Nature Fairy
+
+Nature Wall
+
+
+Nature Wall Card
+
+
+Nature itself express hate against you!
+
+
+Navy Blue Dye
+
+
+Nea
+
+
+Nearly everyone around is a seasoned veteran or was sent here by the Alliance Council to support the war efforts. Including me. So, good luck!
+
+
+Neat, neat! Thanks! Here you go, this amazing bottle! It is life-bond, so having multiple won't reduce the time you need to wait...
+
+
+Necklaces
+
+
+Necromancer Card
+Necromancer Card
+
+Necromancer Card S
+
+
+Necromancer Card X
+
+
+Need a healing?
+
+
+Needless to say, monsters from Expert Dungeon usually drops more often than the ones from Advanced Dungeon.
+
+
+Neither difficult, neither clear,
+
+
+Neither, sorry
+
+
+Neko
+Neko
+
+Neutral element comes as "power", "force", "sword", "blade", and even "magic".
+
+
+Neutral monsters do not have such a sense of danger.
+
+
+Never (only on login)
+Jamais (seulement en se connectant)
+
+Never ask: Brew %d
+
+
+Never let yourself be brought astray by it. Swear it to me.
+
+
+Nevermind, bye!
+
+
+Nevertheless, you probably need some base materials from Bifs. Who knows what it will drop if you are lucky?
+
+
+New chars, and reborn chars, will also begin at level 10.
+
+
+Newbie
+
+
+Newbies can only get past their limits once, with their party leader level help! If they die, they can't rejoin!
+
+
+Next broadcast: (never)
+Prochaine annonce : (jamais)
+
+Next broadcast: @@
+Prochaine annonce : @@
+
+Next time an annoying snake refuses to drop their precious leather drops, come talk to us!
+
+
+Next time, I'll ask Sagratha to help. Heh. I doubt that's going to happen. By the way, this is the @@ spell. It summons snakes...
+
+
+Next we have %s. It guards the world itself and grants all kinds of magic.
+
+
+Nice day to you.
+Bonne journée à toi.
+
+Nice to know. I'll come to you when random numbers try to kill me.
+
+
+Nice! First let me introduce myself. I am Dracoula, a miner!
+
+
+Nice! I love history!
+
+
+Nice! I want you to kill some red scorpions, as I said!
+
+
+Nice, but no, thanks.
+
+
+Nice, thanks.
+
+
+Nice.
+
+
+Nicholas
+
+
+Nico Goethe
+
+
+Night Dragon
+Night Dragon
+
+Night Scorpion
+Night Scorpion
+
+Nightmare Dragon
+
+
+Nightshade Tea
+
+
+Nigth Scorpion
+
+
+Nikolai said it was important, so we keep a few of them locked in the basement. I apply a spell to seal them so they don't wander around, explode around, or... *sniff*...
+
+
+Nikolai takes a sweat of his head. He seems worried with Cindy.
+
+
+Nikolai, the Blue Sage
+
+
+Nilfheim
+
+
+Nina The Traveler
+Nina The Traveler
+
+Ninja Card
+
+
+Ninja Card S
+
+
+Ninja Card X
+
+
+NivalShip
+
+
+Nivalis
+
+
+Nivalis - @@ GP
+
+
+Nivalis Office
+
+
+Nivalis Townhall
+
+
+Nivalis Warp Crystal
+
+
+Nivalis was liberated @@ ago.
+
+
+Nivalis was the last human settlement built during the First Era.
+
+
+Nivalis? It's frozen during the whole year! I hope you have good ice gear and a high level...
+
+
+No
+Non
+
+No Chains (Tulimshar)
+
+
+No I don't have herbs. I'll be back.
+
+
+No and *hic*... No, you and you and your... *burp* stup*hic* guild!#0
+Non et *hic*... Non, toi et toi et ta... *burp* stup*hic* guilde !
+
+No and *hic*... No, you and you and your... *burp* stup*hic* guild!#1
+Non et *hic*... Non, toi et toi et ta... *burp* stup*hic* guilde !
+
+No but thanks.
+
+
+No criminal record, no bank account, not even a tax payment declaration.
+
+
+No homunculus found!
+
+
+No mercy will be shown, turn back now!
+
+
+No need to kill the Fluffies, though.
+
+
+No no no, that's wrong.
+
+
+No no no, you don't have everything I've asked for!
+
+
+No one can go out during the quest, so ensure every guild member has proper equipment, potions, and time for this dungeon.
+
+
+No one is allowed past this point.
+
+
+No one is more there than here than me! Look at my hat, it symbolizes that I am an useless player!
+
+
+No one visit me, I'm in peace there.
+
+
+No penalty against Legendary mobs
+
+
+No problem is too big for me. I have them right here!
+
+
+No reason.
+
+
+No reply. We should try something else.
+
+
+No thank you.
+
+
+No thanks, see ya!
+
+
+No thanks.
+
+
+No victor appliable.
+
+
+No way!
+
+
+No way! That's absurd!
+
+
+No you don't. Don't disturb the forest for no reason.
+
+
+No!
+
+
+No, I don't have any poison for your sampling yet.
+
+
+No, I don't need monster repellent nor anything! Go away!
+
+
+No, I don't teach magic to strangers. No, I'm not interested in @@ affairs.
+
+
+No, I insist, keep the Antennas as a trophy.
+
+
+No, I want to aim for a higher score.
+
+
+No, I'll be back with them.
+
+
+No, I'll let you there to the Yeti's mercy.
+
+
+No, I'll save my money.
+
+
+No, but what option do I have? I'm railroaded!
+Non, mais quelle option ai-je?
+
+No, it is a family heirloom. But I do have the shield blueprints. A skilled craftsman could forge one.
+
+
+No, justice must be done.
+
+
+No, loans.
+
+
+No, none.
+Non, aucune.
+
+No, not at the moment.
+
+
+No, nothing. Sorry.
+
+
+No, please don't! I have 3 kids to feed. They are looking for me for contraband. Please, let me go!
+Non! s'il vous plaît ne crie pas! J'ai 3 enfants à nourrir. Ils me cherchent pour de la contrebande. S'il te plait, laisse-moi partir!
+
+No, power corrupts.
+
+
+No, seriously, you should do these questions to Elli. She is the smartest girl I know, close to the Academy.
+
+
+No, sir.
+
+
+No, sorry.
+
+
+No, thank you, kid.
+
+
+No, thanks!
+
+
+No, thanks, I will keep my gems.
+
+
+No, thanks, it's not my job!
+
+
+No, thanks.
+Non, merci.
+
+No, thanks. I gonna leave this place.
+
+
+No, they are way too dangerous for me!
+Non, ils sont bien trop dangereux pour moi !
+
+No, we challenge you to a duel!
+
+
+No, we've done this for our whole life, and we have survived!
+
+
+No, who knows what they might do with it!
+
+
+No.
+Non.
+
+No. Hurnscald is besieged and it would be too dangerous to let you go alone. You should talk to %s, instead.
+
+
+No...
+
+
+No... Not yet, sorry.
+Non ... pas encore, désolé.
+
+Nobody answers.
+
+
+Nobody can know! *burp*
+
+
+Nobody lives here for years, arr. Monsters have taken over everything, yarr.
+
+
+Noel Slime
+
+
+Non Disclosure Agreemeent
+
+
+None
+Aucun
+
+None at the moment.
+
+
+Nope, sorry!
+
+
+Normal
+
+
+Normal Bullet
+
+
+Normal Cards can be upgraded to S-Tier, and S Cards can be upgraded to X-Tier. X-Tier cards cannot be upgraded.
+
+
+Normal Member
+
+
+Normal.
+
+
+Normally I would offer to make you some %s, but economic problems in Halinarzo have caused a shortage of supplies...
+
+
+Normally, collaborative behave like neutral monsters. Unless some partner of the same species is in danger, at which point they all take an aggressive stance against the aggressor.
+
+
+North Avenue#lof
+
+
+Northeast Avenue
+
+
+Northeast Avenue#lof
+
+
+Northwest Avenue
+
+
+Northwest Avenue#lof
+
+
+Not An Oak
+
+
+Not Yet Implemented - Sorry.
+
+
+Not a single deed, but continued heroism. A real hero must be strong. Must help others. Must show up above others. Should have magic even if they don't use, and of course, the world should be in need of a hero. No one is born as hero, for heroes are forged, not born.
+
+
+Not all monsters will do this, but most will. So if you see a monster running after a player and you stand in the way...
+
+
+Not allowed
+
+
+Not at all!
+
+
+Not at the moment
+
+
+Not bad
+
+
+Not bad, not bad. Let's see if you can answer an even more difficult one.
+
+
+Not bad. These are the main threat we have to fend off, along snakes and black scorpions.
+
+
+Not bad... You can now enter Lilit. If you think you can defeat me, climb the tree and meet me at the top!
+
+
+Not crafting - insufficient materials!
+
+
+Not doing that to prevent flood.
+
+
+Not enough Monster Points!
+
+
+Not enough bottles.
+
+
+Not enough funds!
+
+
+Not enough ingredients or invalid amount.
+
+
+Not enough items!
+
+
+Not enough money.
+
+
+Not every @@ with you belongs to you.
+
+
+Not every piece of equipment is ingame yet.
+
+
+Not everyone can be a blood donor. For example, you must be healthy.
+
+
+Not for that! For helping out the injuried mouboo, of course.
+
+
+Not in the mood to chat.
+Je ne suis pas dans l'humeur de parler.
+
+Not my problem.
+
+
+Not now, but I may be back later.
+
+
+Not now, sorry.
+
+
+Not now, thanks
+
+
+Not now, thanks.
+
+
+Not now.
+
+
+Not now...
+
+
+Not now... *hic* I need @@... *hic* Bring me @@ if you *hic* can...
+
+
+Not only that, but I am also Angela's husband and Nivalis Mayor. If you have any issues, you can go straight to me.
+
+
+Not only that, but at night monsters are stronger! They also give more experience and drop more often to compensate, though.
+
+
+Not only that, but he is the only one here besides me who can do magic. Without him, I have to work doubled.
+
+
+Not only that, but it is swarming with monsters. Something is really wrong here. From our scouts which went in there, only one returned.
+
+
+Not only that, but reborn characters will spawn at level %d!
+
+
+Not only that, but the Yeti King and me had an... incident, in times best forgotten. Let's not talk about it.
+
+
+Not only that, but you get one free attempt every day!
+
+
+Not participating in a challenge yields you zero points. In case of a tie, char creation date will be the decisive factor: Older adventurers will get the preference.
+
+
+Not really, sorry.
+
+
+Not really.
+
+
+Not resync'ing to prevent flood.
+
+
+Not right now, I'm busy.
+Pas maintenant, je suis occupé.
+
+Not right now.
+
+
+Not sure
+
+
+Not to say about bandits and robbers you'll find.
+
+
+Not today, sorry.
+
+
+Not yet, I'll be right back.
+
+
+Not yet, I'm waiting @@ to deliver me the @@ reagent.
+
+
+Not yet, I'm waiting for friends
+
+
+Not yet, blame Jesusalva, your reward was with them
+
+
+Not yet, but I'll bring them.
+
+
+Not yet.
+Pas encore.
+
+Not yet. I've been... delayed.
+
+
+Not yet. You have to ask the mana seed to give you more power.
+
+
+NotSoBot
+
+
+Notable mentions and thanks for our [@@https://tmw2.org/contact|sponsors@@], we wouldn't be here without their continued support.
+
+
+Notable mentions and thanks for our [@@https://www.patreon.com/TMW2|sponsors@@], we wouldn't be here without their continued support.
+
+
+Note
+
+
+Note 2: If you leave this plataform, it'll reset!
+
+
+Note 3: All maps in Fortress Island have penalty, even towns!
+
+
+Note down. To hunt a target you must click the primary mouse button on it. Avoid fighting monsters or citizens much stronger than you. ##BYou will lose experience if you are defeated.##b
+
+
+Note#012-2
+
+
+Note#johanne
+
+
+Note#saxsocave
+
+
+Note: Dustynator is a high level weapon. You might not have enough level to use it yet.
+
+
+Note: Golden and Silver Eggs are deleted after the next event end.
+
+
+Note: Items brewed here will use a Guild Recipe instead!
+
+
+Note: Items forged here will be guild-bound, but will use player recipes and bonuses!
+
+
+Note: No rares will be given if Golbarez doesn't get enough GP to find the paradise, but Strange Coins will still be given.
+
+
+Note: Onboard, Destructive, Fire, and AoE Magic are NOT allowed.
+
+
+Note: Passives and some skills (e.g. Resync) doesn't count.
+
+
+Note: Poll may increase more than total money donated depending on current date.
+
+
+Note: Support skills used on self does not count.
+
+
+Note: The points will NOT be consumed on 2020.
+
+
+Note: This action cannot be undone.
+
+
+Note: This travel takes a whole minute to complete!!
+
+
+Note: Transfering items on mail cost @@ GP/item
+
+
+Note: Unless you were doing something REALLY bad which is harmful to player community (eg. scamming, hacking, DDoS'ing, etc.)
+
+
+Note: You can exchange 1 @@ for 3 @@
+
+
+Note: You can increase the time by talking to Emma again.
+
+
+Note: You can only perform this operation @@/6 times.
+
+
+Note: You may fail to write skills to it.
+
+
+Note: You must have a char on the first slot to leaderboard work. Points are shared accross all chars on your account.
+
+
+Note: You won't be able to leave the class later.
+
+
+Note: You'll be vulnerable for a short while!
+
+
+Note: Your party is currently not sharing experience, and will suffer a time penalty. Your time will be halved.
+
+
+Note: some pets still weren't implemented!
+
+
+Notebook#MKHB
+
+
+Notes:
+
+
+Nothing
+Rien
+
+Nothing I guess
+
+
+Nothing at the moment, thanks.
+
+
+Nothing at the moment.
+
+
+Nothing for now, thanks.
+
+
+Nothing happens.
+
+
+Nothing important.
+
+
+Nothing right now.
+
+
+Nothing so sublime!
+
+
+Nothing, good bye!
+
+
+Nothing, sorry!
+
+
+Nothing, sorry.
+Rien, merci.
+
+Nothing, thanks
+
+
+Nothing, thanks anyway.
+
+
+Nothing, thanks!
+
+
+Nothing, thanks.
+
+
+Nothing.
+Rien.
+
+Nothing. Take care!
+
+
+Notice: If you join the ##BBandits Guild##b now, you WON'T BE ABLE to be a merchant police later!
+
+
+November 1st - November 30th
+
+
+Novice Dungeon (Lv 40+)
+
+
+Novice Exchanger#0
+
+
+Novice Wand
+
+
+Now I can turn in my report to Professor Volrtaw... I should not have stayed behind the classes.
+
+
+Now I just drink down my worries and hope for the best.
+
+
+Now I need 20 @@, 20 @@ and 60 @@ to finish my research. Easy materials, except for the Shadow Herb.
+
+
+Now I travel by the world, composing songs about the things I see.
+
+
+Now I'll be waiting!
+
+
+Now begone.
+
+
+Now go and save the world or something like that. I mean, it is not like I really cared with the world, anyway... With luck you'll even find what you are looking for.
+
+
+Now go talk to the King.
+
+
+Now go! Lives are at stack!
+
+
+Now go, and fetch the materials again. I'll make another fertilizer for you.
+
+
+Now lo and behold... The ultimate... TRANSMUTATION!
+
+
+Now please be a good helper, and aid me by bringing:
+
+
+Now please bring me @@/2 @@, @@/20 @@, @@/30 @@ and @@/70 @@ so I don't need to leave here and start travelling everywhere...
+
+
+Now stand still... It should not take much time...
+Maintenant ne bouge pas... Ça ne devrait pas prendre beaucoup de temps...
+
+Now that Chief Oskari knows about the sequence of events, the Sage will take care of it. It's really a shame how malicious people can be.
+
+
+Now that I've described the spells to you, I'm sure I cast them correctly. But... I think there is a way to have these effects. It's silly though.
+
+
+Now that you ask....
+
+
+Now to head inside the caves, until the last floor, and have my showdown and revenge against the Monster King. I do not plan in failing.
+
+
+Now wait for your partner, then talk to me again.#0
+Maintenant attend ton partenaire puis parle-moi après.
+
+Now wait for your partner, then talk to me again.#1
+Maintenant attend ton partenaire puis parle-moi après.
+
+Now wanders over the land.
+
+
+Now we are no longer useless — we can play music again!
+
+
+Now we can play any songs! Hooray!
+
+
+Now you must feel homelike already here... take these slippers so your feet stays warm!
+
+
+Now you need to fight monster with the maximum range, you can to do this do these steps in order: lock enemy, Attack, hit, move backwards of one tile, hit, ETC.
+
+
+Now, I'm sure you could find the answer you seek without the trouble of coming here, but anyway. I guess I'll explain you how things work here, first.
+
+
+Now, a simple @@ quest to make you stronger...
+
+
+Now, as you gave yourself the trouble of coming here...
+
+
+Now, crafting an airship requires a lot of efforts, resources, money and specially time. Fourteen months, to be exact.
+
+
+Now, isn't this lovely? I'll turn it into some pants for %s winter.
+
+
+Now, let's try again.
+
+
+Now, listen closely. Jesusalva desgined most of the quests. And he hates cheaters and liars.
+
+
+Now, listen to me. I know I promised to bring you to the World's Edge.
+
+
+Now, please kill 50 @@, Try to collect some lamps in the same time, they could be useful later.
+
+
+Now, that's unfortunate. I don't think you can hit me from where you are.
+
+
+Now, to find the treasure chest!
+
+
+Now, to wait for Sunday is the most boring part... Alas, I wonder if I'll remember next week, too.
+
+
+Now, we're hot on the trails of whatever is the reason for the town to be so empty. We blocked this road so the town is not overrun by the monsters outside.
+
+
+Now, you'll learn a thief trick! This one allows you to steal drops from monsters! Ka-pow! Amazing!
+
+
+Now, you'll learn a thief trick! What sort of thief loots so much that they get overweight penalty? That's not cool!
+
+
+Now, you'll learn an important trick! Stealing is nice, but scamming is even better!
+
+
+Nowhere Gluvine
+
+
+Nowhere Jeane
+
+
+Nowhere Man
+
+
+Nulity Pixie
+Nulity Pixie
+
+Nutcracker
+
+
+Nylo
+Nylo
+
+Nylo#Marggo
+
+
+Nymph Poison
+
+
+O.o "That's a lot. Maybe another day."
+
+
+OFF WITH THEIR HEADS!
+
+
+OH MY, PLEASE DON'T!
+
+
+OH NOES! The ceiling seems to have collapsed when the chest was open! We are forced to go forward!!
+
+
+OH NOES! The ceiling seems to have collapsed. I hope we got the key, or the quest is over for us!
+
+
+OK, I will get them.
+
+
+OMG CANCEL IT!!
+
+
+OMG so cute! This must be the cutest bear you ever seen your whole life.
+
+
+OMG you got all equipment in Moubootaur Legends. You are truly a legend of legends.
+
+
+Oak
+
+
+Obtain event equipment
+
+
+Ocean Croc
+Ocean Croc
+
+Ocean Croc Claw
+
+
+Ocean Pirate
+Ocean Pirate
+
+Of course I hurried there as fast as I could, yelling to wake up everyone, but that caused so much confusion that we fell over each other in the corridor and when we finally reached the library, the slimes were already spread all over the room, eating or exploding the books.
+
+
+Of course I'll help you!
+Bien sûr que je vais vous t'aider!
+
+Of course it does. And the same level rules applies.
+
+
+Of course! But beware that %s are always in demand!
+
+
+Of course! Quick, take it!!
+
+
+Of course, I actually have two options:
+
+
+Of course, I do charge a nominal fee of for the service. %s GP to be exact.
+
+
+Of course, give me just a minute to look up for your data, @@.
+
+
+Of course, he doesn't likes the fact you're talking to me.
+
+
+Of course, if you don't ask from the Mana Stone for more magic, you will stay on the first degree forever...
+
+
+Of course, if your problem is only experience, then you should look for %s and other EXP-boosting drinks. Some are sold, some are made, some are dropped, some are... magical...
+
+
+Of course, lag might always be a problem. Remember to drag healing items to the shortcut list too. %%2
+
+
+Of course, some get scholarship in honor of the cause or by notable knowledge and prowess; These are a special group not worth mentioning.
+
+
+Of course, the Savior race is extinct as far as history book concern with.
+
+
+Of course, they are on the left wall, go have a look at them.
+Bien sûr, elles sont sur le mur de gauche, va y jeter un œil.
+
+Of course, we'll find a way to reward you for your efforts.
+
+
+Of course. I bet Elli is the one who cursed you, who started the Great Fire and who put the time lock in place.
+
+
+Of course. The adviser of the Yeti King, for instance, is very friendly.
+
+
+Of course: better drinks, more EXP. Just be careful to don't get so drunk that you cannot fight anymore, will ya?
+
+
+Off to storage I go.
+
+
+Offer food to it.
+
+
+Offering alcohol to a teddy seems like a ugly thing to do. We should think on something else.
+
+
+Oh dear, oh dear, where could I have possibly left it?!
+
+
+Oh hello again. This time I need you to be enrolled here, for this, you need to either get a good rank at the Magic Olympics or by contributing to the world's knowledge. Talk to headmaster if you need help.
+
+
+Oh it's you @@, I did not recognize you with your hat!
+
+
+Oh it's you @@, I did not recognize you without a hat!
+
+
+Oh look, it is Cupid!
+
+
+Oh my Jesusalva - You broke my lock! Why?!
+
+
+Oh my! Did you rent a house or an apartment and now want to brew stuff, like @@ or @@?
+
+
+Oh my, the great @@ has come to talk to me!
+
+
+Oh my, you don't seem to be registered as a Monster Hunting Quest Participant. Would you like to register?
+
+
+Oh no! I will miss my bus! Gotta go!
+
+
+Oh no! What should we do now?
+
+
+Oh no, Benjamin is a city guard, he would never do that. I hope.
+
+
+Oh no, I don't have any money on me right now.
+
+
+Oh no, not another stranger she sends me to tell that!
+
+
+Oh no... That is wrong! %%3
+
+
+Oh noes ─ the door is sealed! We can only press forward and failure is final!
+
+
+Oh noes! He fainted! Quick, rescue him!!#1
+
+
+Oh noes! She fainted! Quick, rescue her!!#0
+
+
+Oh noes! The door is locked!! Quick! Call a GM!!!
+
+
+Oh noes! The guards locked the door!
+
+
+Oh noes! You've found the Candor control panel!
+
+
+Oh noes! You've found the Halinarzo control panel!
+
+
+Oh noes! You've found the Hurnscald control panel!
+
+
+Oh noes! You've found the Tulimshar control panel!
+
+
+Oh noes, who nows can help my wife? Please reconsider!
+
+
+Oh please. Even if you know a trick or two, you don't have real magic.
+
+
+Oh right, I totally forgot about that, here you go.
+Ah c'est vrai, j'ai complètement oublié ça, tiens.
+
+Oh well, this sucks, but that was only an illusion.
+
+
+Oh well... That's my mother, and this is why I love her.
+
+
+Oh yeah some work is really painful, especially for my back, and I cant bother Woody to do it, he has so many difficulties moving.
+
+
+Oh yes, here you go, that will be 1 GP.
+
+
+Oh! You found me. Good job!
+
+
+Oh, %s, thanks! The tunnels behind me are very hot, this will help if I have to go inside them.
+
+
+Oh, I can't really tell. I'm mostly working in the library, while he's very involved in the research.
+
+
+Oh, I know who you mean! That impertinent person came over in the workshop area and fiddled about with all kinds of things here! Such a rude person! Didn't he understand that we had delicate things going on here? We had to send him back to the library area several times.
+
+
+Oh, I never really thought about that. He was the one who failed the sealing, right? But I heard it's a quite difficult spell, so I suppose this could've happened to any mage. I don't know. Why are you asking such difficult questions?
+
+
+Oh, I was wee lad on the beach singing the blub song
+
+
+Oh, I'm just exploring. What can you tell me about this island?
+
+
+Oh, Miler just prepared a %s for you. You can use it... Or give it to Henry in Nivalis Inn, and whisper "The Shadow Tortuga won the race against the Panthom Lord".
+
+
+Oh, Welcome then.
+
+
+Oh, a visitor. Welcome to the city hall. Please, enjoy your stay.
+
+
+Oh, and I almost forgot! Do not share passwords or pincodes, not even with staff! And do not use the same password somewhere else, they can be stolen!
+Oh, et j'ai presque oublié! Ne partagez pas les mots de passe ou les codes PIN, pas même avec le staffl! Et n'utilisez pas le même mot de passe ailleurs, ils peuvent être volés!
+
+Oh, and about the Candor travel for 200 GP... Which would be a rare for little or no gold... Well, that's just an attention grabber.
+
+
+Oh, and if I perchance catch you using %s or %s... You'll be banned from my game, understood?
+
+
+Oh, and you will need this book too, it will help you learn the basics of fishing.
+Oh, et tu auras aussi besoin de ce livre, il t'aidera à apprendre toutes les bases de la pêche.
+
+Oh, but don't you worry. Sure, you can't go in Nivalis bank and take my stuff... But the Storage Fairy at Lilit might just let you.
+
+
+Oh, but we are affiliated with Jesusalva, whom hates cheaters. So, meet your dismissal!
+
+
+Oh, eh, why are you asking me? I've only been here a short while and don't really know all of the people well enough yet.
+
+
+Oh, every settlement is part of it. Candor, Tulimshar, Hurnscald, Frostia, Halinarzo, Artis, Nivalis...
+
+
+Oh, he has been a little rascal since his father died.
+
+
+Oh, he's still alive!#1
+Oh, il est toujours vivant !
+
+Oh, hello %s.
+
+
+Oh, hello there! Welcome to the Mana Plane Of Existence!
+
+
+Oh, hello. If I were you I wouldn't go deeper into the library. There are still some of those monsters left. Slipping between the bookshelves.
+
+
+Oh, hello. You didn't choose a good time to visit. The library is a total mess. The slimes got out of control and ate most of the books.
+
+
+Oh, here the path seems to split. Which way should we go?
+
+
+Oh, hey, welcome back, @@! Thanks for all your help!
+
+
+Oh, hey. Welcome to the library, or what's left of it.
+
+
+Oh, just an empty staff with black powder inside it. Which explodes. And then kills monsters.
+
+
+Oh, just walk on the dock, and you'll be warped there.
+
+
+Oh, please. They're weaker than Maggots. They will only pose a threat if you're unarmed.
+Oh s'il te plait. Ils sont plus faibles que les Maggots. Ils ne constitueront une menace que si vous n'êtes pas armé.
+
+Oh, several things. It depends a bit on what the scholars consider, and the scholars... well, they change.
+
+
+Oh, she's still alive!#0
+Oh, elle est toujours vivante !
+
+Oh, thank you! My daughter means a lot to me.
+
+
+Oh, thanks, darling; I was starving. Do you need anything?
+
+
+Oh, that's a long story.
+Oh, c'est une longue histoire.
+
+Oh, that's an interesting question. I was really surprised when I heard that he was responsible for the failure. I've worked together with him before, and I have to say, it really was a pleasure. He's very accurate and diligent, but also polite and helpful.
+
+
+Oh, the @@ might be a heirloom or something from Braknar family. I dunno who could have it.
+
+
+Oh, then I don't have enough! I'll bring more later!
+
+
+Oh, then you should seek the help of an specialist. These curses have an specific condition to break, like leveling up or being killed. Force-breaking them can be difficult.
+
+
+Oh, there was such a visitor, yes. Strange guy, and didn't really know how to behave. He sneaked into the workshop area all the time, I think he was rather curious about the things going on there.
+
+
+Oh, this is so much work... I can't believe they let this happen! You would think they'd be careful when playing around with such powerful forces. Hah! Big mistake!
+
+
+Oh, too bad.
+
+
+Oh, would you? That'd be great! You see, the slimes ate most of the books and it is difficult to retrieve the bookpages. If you feel capable of this task, you could go out to hunt the Blue and White Slimes, to get the @@ back from them.
+
+
+Oh, yea, you are right, it was a mistake. Bye-bye.
+
+
+Oh, yes. There was such a guy, shortly before the accident I think. He sneaked into the workshop several times, sticking his nose into stuff that shouldn't be his business. We had to send him back to the library area at least three times.
+
+
+Oh, you must be from Hurnscald Household, then. Hand me the letter, I'll have it delivered.
+
+
+Oh. And don't mention anyone what I'm researching here. No need to fuss over minor things, don't you agree? It's totally not shaddy. Not shaddy at all!
+
+
+Oh... Of course! I'll even do this for free!
+
+
+Oh... What a bummer. But you've brought the item back, so we're OK.
+
+
+Oh... Wow! I'm surprised.
+Oh... Wow! Je suis surprise.
+
+Oh? Just go east of here. Keep going ##Bright##b, go down the stairs, and you'll be at his office already.
+
+
+Ohh Moubi Moubi you are too pink, that my eyes get shrink
+
+
+Ohh! A fingernail aside.
+
+
+Ohh, I think I know who you mean. That was a strange guy. He always came over here in the workshop, said he's very interested in the research. I suppose that's ok, but he didn't keep his hands to himself, and touched some experiments and I caught him near some storage racks.
+
+
+Ohhh moubiii
+
+
+Ohhhhh..... Please, help me!!! My wife is gravely wounded!!
+
+
+Ok
+
+
+Ok I add your name... @@...
+Ok, j'ajoute ton nom... @@...
+
+Ok grandma CYA!
+
+
+Ok then... Uh... Please excuse me.....
+
+
+Ok, I'll be back in no time.
+
+
+Ok, come back me when you want to know the @@ real power!
+
+
+Ok, done!
+
+
+Ok, done.
+Ok, c'est bon.
+
+Ok, good trip then.
+
+
+Ok, let me see...
+Ok, laisse-moi regarder...
+
+Ok, let's see how many you have and how many I need:
+
+
+Ok, let's stay focused now!
+
+
+Ok, now I want you to purge the cave from maggots. Kill 25 @@. They keep respawning and annoy miners team.
+
+
+Ok, see you later.
+
+
+Ok, see you.
+
+
+Ok, thanks.
+
+
+Ok, this will be my last request. The Trainer asked me for a fine weapon, to protect our village.
+
+
+Ok, what I need is:
+
+
+Ok, you can see that target over there? I will tell you how strong the wind blows and from which direction. Then you will try to hit the target by moving right or left and decide how powerful you want to shoot.
+
+
+Ok, you look strong enough. Now, let me think on an easy task for you...
+
+
+Ok. Cool life!
+
+
+Ok. You have made great progress. I think you are ready for further tasks.
+
+
+Ok...please come back when you aren't busy...
+
+
+Okay then.
+
+
+Okay!
+
+
+Okay, I'll be back!
+
+
+Okay, bye
+
+
+Okay, bye.
+
+
+Okay, here is some experience, and forgot what I've said before. We can try again.
+
+
+Okay, laters
+
+
+Okay, that is very useful. However, I do need a few reagents to make it.
+
+
+Okay, to join an arena, you need the unique password. Leave blank if you don't know.
+
+
+Okay, which arena will you rent? Cost is @@ GP.
+
+
+Okay, you can start!
+D'accord, tu peux commencer !
+
+Old Paper Patch
+Le vieux morceau de papier.
+
+Old Snake
+Old Snake
+
+Old Towel
+Old Towel
+
+Old Well#003-1
+Old Well#003-1
+
+Old line:
+Ancienne ligne :
+
+On a computer, you can press @@ to attack it. On mobile, that would be the big button with the number 1.
+Sur ordinateur, vous pouvez appuyer sur @@ pour l'attaquer. Et sur mobile, c'est le gros bouton avec le numéro 1
+
+On a side note, more defense is always good, but the damage won't decrease on the same rate that defense raises.
+
+
+On hindsight, I'll wait you get a few levels. Can't have cheaters, ya know!
+Avec le recul, je vais attendre que vous obteniez quelques niveaux. Je ne peux pas avoir affaire a un tricheur, tu sais!
+
+On mobile, the DPAD is at your left. Do you see the chest to my right?
+Sur mobile, le PAD est à votre gauche de l'écran. Par ailleurs Voyez-vous le coffre à ma droite?
+
+On mobile, you would click on the @@ icon!
+Sur mobile, vous cliqueriez sur l'icône @@!
+
+On my way to get what you need.
+
+
+On second thought, he really could use a bath.
+
+
+On the friday, the 14th, an additional hunting field will be open. Talk to Soul Stone to go there :>
+
+
+On the ruins you may find free loot... And on the new town, you may find the sturdiest stuff of all.
+
+
+On your marks!
+
+
+On your marks...
+
+
+Once broken, they'll lose the link to the magical seal.
+
+
+Once he resumes working confidently, we can go over this important subject.
+
+
+Once inside the BOSS Cave, you get a five minutes time limit to slay the boss with your party.
+
+
+Once it begins (you can fight against an AI), kill the most of enemy sparks you can, while preventing your own sparks of being killed. Wins whoever has more sparks after %s minutes.
+
+
+Once that is done, the Alliance's staff will set several stands with the most important services you might need, like banking, inside the town central area.
+
+
+Once the fight begins, the barrier at your left will lock. It won't open until the fight is over.
+
+
+Once the five are once again assembled,
+
+
+Once the quest is started, entrance will be closed.
+
+
+Once the roots are of a desired thickness, he ties them to make a string, and applies an oil on it.
+
+
+Once their fight was over,
+
+
+Once they get too annoying, I need to kill them... But I think I could put them to rest with the Rest Homunculus skill.
+
+
+Once upon a time, five mighty heroes emerged;
+
+
+Once used, they will disappear from your inventory.
+
+
+Once you allocate status points, you can fight it! Good luck, @@!
+Une fois que vous avez attribué des points de statut, vous pouvez combattre! Bonne chance, @@!
+
+Once you decide to rescue Cindy, nobody else will be able to enter or leave this room.
+
+
+Once you done so, come back and report the new passcode... Then I'll disclose to you the real mission.
+
+
+Once you have the appropriate colorant for the item, ##bdrag the colorant##b to the material.
+
+
+Once you join the Alliance, you won't be able to talk with people outside it.
+
+
+Once you lit one of them, monsters will pour out, so take care to don't die.
+
+
+Once you reach level %d, I'll offer you a life-time opportunity to delete all your levels and experience for your %s rebirth!
+
+
+Once your skill is forgotten, the Magic Skill Points used will be freed.
+
+
+One Hand Weapon Recipes
+
+
+One claims to be a constable and teach people to sell high and buy low.
+
+
+One day Dimond D. Stone dreamed of her own restaurant.
+
+
+One day I saw myself a rich man ♪
+
+
+One day more or less won't make a difference.
+
+
+One day, I was provoked. Others came to my aid,
+
+
+One day... One day! ONE DAY I'LL GET REVENGE ON YOU, MONSTER KING!
+
+
+One hand sword (average)
+
+
+One last question, but this shouldn't be a problem for you.
+
+
+One last thing to keep in mind... If you are surrounded, you'll suffer an agility and defense penalty.
+
+
+One last thing... Good luck. This is a long shot, so don't hesit in running away.
+
+
+One of the bandits locked this door; We need to find the key!
+
+
+One of the most important jobs on Moubootaur Legends, crafted equipment is much stronger than regular ones. Specially weapons.
+
+
+One of the most powerful chants known is:
+
+
+One of them is really crazy, though: They say that there is a legendary monster down there.
+
+
+One of them was a bit odd, they were wearing a mask and had a strange way of talking. They said they came from Frostia, which is an elven town in the north. Elves are usually shy, so I thought it would have been rude to ask them to remove the mask.
+
+
+Only %s has the key.
+
+
+Only @@ GP.
+
+
+Only Academy Grand Masters may cassate someone.
+
+
+Only Cronqvist Mode yields more points per wave!
+
+
+Only Sponsors are allowed past this area.
+
+
+Only Tulimshar Guards are allowed in this building.
+
+
+Only elves may run to Town Admin Office in Frostia!
+
+
+Only finest wares!
+De la marchandise de qualité!
+
+Only getting closer to find out what kind this one is.
+
+
+Only green from @@ will be taken in account.
+
+
+Only items with max %s%% drop rate are accepted!
+
+
+Only magic weapons are allowed, but legendary ones - %s and %s - won't be tolerated.
+
+
+Only melee weapons are permitted for use with this skill.
+
+
+Only one vouch can be acquired, and you cannot be vouched to Grand Master position. You need to have touched the Mana Stone to participate.
+
+
+Only the Guild Master and the Vice Leaders are capable of starting this quest.
+
+
+Only the finest bows and arrows, in the land where wood is abundant!
+
+
+Only the party from the MVP will get the reward.
+
+
+Only then we may have peace!!
+
+
+Only those whom overcome all Candor Challenges shall wield ultimate power.
+
+
+Ooh, many thanks! Lemme just grab something for you...
+
+
+Ooh, this definitely is a Tulimshar item! But I would prefer a box full of these, please.
+
+
+Ooh, this nice shiny thing? It was an event.
+
+
+Oolong Tea
+
+
+Oooh, I see you have a @@ with you.
+
+
+Oooh, I see, I see! So you're working with ##Bthem##b... This is most appreciated.
+
+
+Oooh, many thanks! ^.^
+
+
+Oops! Seems like Saulc doesn't wants you messing on his chemistry set!
+
+
+Oops! Seems like Saulc doesn't wants you messing on his raging furnaces!
+
+
+Oops! You destroyed your %s.
+
+
+Oops, there is nobody known as @@ on this game.
+
+
+Open Beta 2019
+
+
+Open Fishing Book
+
+
+Open Petcaring Book
+
+
+Open Recipe Book
+
+
+Open shop
+
+
+Open storage
+
+
+Open the chest?
+
+
+Open your inventory window (F3 key) next to the trading window. Select an item you want to offer, and then press the Add button. To add money to the negotiation, enter the amount you will offer and press the Change button.
+
+
+Opened Christmas Box
+Opened Christmas Box
+
+Opera Mask
+Opera Mask
+
+Operation Cost: @@ GP
+
+
+Operation successful.
+
+
+Ops, I should not leave this room without talking to the king first.
+
+
+Ops, sorry. I was going to the Soul Menhir and entered your house by accident.
+
+
+Ops... I hammered this stuff too hard... It's junk now.
+
+
+Optional Miniboss
+
+
+Options are %s. Any craftsman can make them. Adventurers tend to be the best craftsman in the world.
+
+
+Or I can swap the @@ with a @@ - for free.
+
+
+Or I can swap the @@ with a @@ - for only 2100 GP.
+
+
+Or I could recover the @@ for 10 @@ and the modest fee of 4400 GP.
+
+
+Or make yourself useful by killing some Ducks. They snatch all the Cherry Cake from the Inn and the staff is getting angry at me. It'll serve, too.
+
+
+Or maybe... You want to try again right now? I'll do whatever needed to level you up to less-noobish levels.
+
+
+Or rather, I can't. I would love to help you, just like everybody else, but I don't know how to make fertilizers.
+
+
+Or should we even split ourselves to check all possible ways?
+
+
+Or use our awesome [@@https://tmw2.org/manalauncher/InstallManaLauncher.exe|Mana Launcher@@] if you're on Windows or Linux.
+
+
+Or you can give me an @@, 3 @@ and an @@, and I'll make a gift for you. If you don't have the @@, you can pay 200 GP for it instead.
+
+
+Orange
+Orange
+
+Orange Cupcake
+Orange Cupcake
+
+Orange Dye
+
+
+Orange Dye? How much does it cost?
+
+
+Orange Eggshell Hat
+Orange Eggshell Hat
+
+Oranye Isles, 257 AT
+
+
+Orbyter Shrine
+
+
+Orc
+Orc
+
+Orc Voice
+Voix d'Orque
+
+Ore Mines
+
+
+Oscar
+
+
+Oskari
+
+
+Oskari have a good opinion of you. Can you tell what exactly happened?
+
+
+Other
+Autre
+
+Other food can be used as a bait, too.
+
+
+Other than that, you can explore the city as you want, but as you had a memory loss, You should visit the townhall.
+
+
+Other things are written but are not legible anymore.
+D'autres choses sont écrites mais ne sont plus lisibles.
+
+Other.
+
+
+Others scrying you:
+
+
+Others scrying your char data
+
+
+Otherwise, ##BYOU'LL DIE.##b Have a nice day!
+
+
+Otherwise, his enemies might have bested him, but I doubt any Yeti would dare to kill him.
+
+
+Otherwise, the monsters here usually won't attack you unless provoked.
+
+
+Otherwise, you can also obtain a title during the Magic Olympics. They happen every three months in average, and are the hardest way to obtain a title.
+
+
+Otherwise, you could ask the Constable. They act in the Alliance stead to enforce law and order, and may have... special arrangements for you.
+
+
+Ouch! That was kinda reckless!
+
+
+Ouch! That's heavy!
+
+
+Ouch, the bucket BITE me!
+
+
+Oui, welcome to this fine shop! My name is Agostine, the legendary tailor!
+
+
+Our antecessors used to live peacefully in a sanctuary somewhere close to here, but the path was lost. That's why we now live with dwarves.
+
+
+Our clan has moved away from Tulimshar before the Civil War, almost was wiped off during the Great Fire, and when we thought we could finally life in peace, the Mana War and the Monster War broke out in rapid succession.
+
+
+Our dear mayoress may also need help dealing with that maggot infestation.
+
+
+Our plushy friend knows what is really sweet on this life. It likes honey a great deal, and by the way it looks you, it probably wants more.
+
+
+Our service is dangerous and difficult. But I would not want any other. Thanks for the help.
+
+
+Out of Mind
+
+
+Out of Mind mode is only available for Top 3.
+
+
+Out of Stock.
+
+
+Out of my experience, you are ready to learn magic.
+
+
+Out of my experience, your base intelligence may not be enough.
+
+
+Out of my experience, your job may not be enough.
+
+
+Out of my experience, your level may not be enough.
+
+
+Outside towns, there's an EXP penalty if you die.
+
+
+Outstanding. Congratulations.
+
+
+Ozthokk, a great sage from the Land Of Fire, holds secrets of time and space travel.
+
+
+PARTY AND GUILD friends: Temporaly regen MP faster.
+
+
+PARTY AND GUILD friends: Weapon always deal max damage.
+
+
+PLEASE STORE ALL MY ITEMS
+
+
+PORTABLE LIGHTSABER
+
+
+POWER!
+
+
+POWERFUL GUNSTAFF
+
+
+POWERFUL LIGHTSABER
+
+
+PROTIP: Every quest you complete in a location, will make ship travels to and from them cheaper!
+
+
+PS. Additional reagents may be required for warps.
+
+
+PS. Doesn't always work. You need an account at %s and to be at ManaPlus Team.
+
+
+PS. Due a bug, they won't be displayed when you equip unless you relog.
+PS En raison d'un bug, ils ne seront pas affichés à l'écran lorsque vous vous équiperez à moins que vous ne vous reconnectiez.
+
+PS. No equipment restriction
+
+
+PS. The group names still aren't set. You're free to pinch in suggestions at LoF Discord (Legacy #discussion) :>
+
+
+PS. This char will be reset on logout.
+
+
+Pablin
+
+
+Pachua
+
+
+Painless, wasn't it?
+
+
+Painting#Saggy
+
+
+Paintings
+
+
+Pal, I'm counting on you. You'll like the little something I have for you!
+
+
+Pan#Saggy
+
+
+Panthom Lord
+
+
+Panthom Wisp
+
+
+Pants
+
+
+Pants Recipes
+
+
+Paper
+
+
+Paper Bag
+
+
+Paper! Paper! Get your copy of The Land of Fire Gazette here!
+
+
+Parcival
+
+
+Pardon me, I don't remember my parents.
+
+
+Pardon me, what is a recipe book?
+
+
+Participants: Jesusalva * mishana * bObr * demure * LawnCable
+
+
+Participants: Povo * Manatauro * Woody
+
+
+Partner not ready.
+Partenaire pas prêt.
+
+Party
+
+
+Party Master
+
+
+Party Name: @@
+
+
+Party Quest
+
+
+Passive MP Regen
+
+
+Password changed with success!
+
+
+Past due date.
+
+
+Past this checkpoint, is the village where the Monster King was born.
+
+
+Past this grates, is the Magic Council Room.
+
+
+Past this point is the Fortress Island. %s Even so, be careful, the town should not exist.
+
+
+Paxel
+
+
+Pay
+
+
+Pay attention to #world chat, as this event is managed by players. The Monster Army is also trying to regroup, neglecting it is not advised.
+
+
+Pay attention to the fight, @@!
+
+
+Pay attention to the sequence!
+
+
+Pay for her handi-work?
+
+
+Pay the tuition fee?
+
+
+Pear
+Pear
+
+Pearl
+Perle
+
+Peetu
+
+
+Peetu asked me to talk to you about his mishap.
+
+
+Peetu thinks someone put Silk Cocoon along the ingredients.
+
+
+Peetu? He is very cautious. It is not like him to make mistakes. After all, he is a elf. Elves are really careful with their jobs.
+
+
+Peetu? He's one of those magic wielders who think they can do anything. Heh, you see the result here.
+
+
+Peetu? I have always been glad to have him on the team. He's really brought forward our work here.
+
+
+Peetu? I think he's a good guy. Very focused on his work, I think. I don't have that much to do with him, so I can't really tell.
+
+
+Peetu? That's one of the high rank helpers. As far as I know, he's capable of magic and takes part in some important researches. But I don't really know about those things.
+
+
+Pentagram#FoS_1
+
+
+People are challenging now.
+
+
+People failed to rescue Cindy!
+
+
+People from here always look dumbfolded when they walk past them and find themselves somewhere else.
+
+
+People from the press always know what is happening in the world. Talk to them to learn about the latest news! - Jerican from the Press
+
+
+People say it is the second biggest city from the world.
+
+
+People usually dock there when travelling to the second continent. Nothing exceptional about economy.
+
+
+People vary greatly in the amount of strength, agility, dexterity, intelligence, vitality and luck.
+
+
+Perfect indeed! Congratulations!
+
+
+Perfect! Here is your reward!
+
+
+Perfect! So now that you swore secrecy, you can help me! Thing is... there was... a %s!
+
+
+Perfect! you have enough Terranite Ore, I will take them for now but I need other items in order to bring them to life.
+
+
+Perfect, I knew you were right person for the job.
+
+
+Perhaps that was the last of them?
+
+
+Perhaps this has something to do with the factions.
+
+
+Perhaps we should wait a few days.
+
+
+Perhaps you could tell her how much I love her? It is already some days since I last talked to her.
+
+
+Perhaps you have something like that?
+
+
+Perhaps you may be of assistance later...
+
+
+Perhaps you should use a key to open it.
+Peut-être devriez-vous utiliser une clé pour l'ouvrir.
+
+Perhaps, in the city, someone knows rumors about Mana Stones and can teach you. Other than that, you're on your own.
+
+
+Perhaps, you could convince Jack to give me the wood, and seek for a fisherman on Halinarzo to give you the string? I won't charge anything.
+
+
+Personal Feats
+
+
+Personal Records
+
+
+Personally, I like unranked events more than ranked ones...
+
+
+Pet Detective
+
+
+Pet Summary
+
+
+Pet his wonderfully fluffy pelt.
+
+
+Petal
+Petal
+
+Peter
+Peter
+
+Peter was also looking for strong people to help him to kill other monsters.
+
+
+Pets
+
+
+Pets must keep a strict diet. Pious eats Piberries, Bhoppers eat Aquadas, and Maggots eats Bug Legs.
+
+
+Petu? Yeah, he's the kind of person who always wants to do things perfectly. That makes it a bit difficult to work with him, since his expectations for others are as high as for himself.
+
+
+Ph.D
+
+
+Phew! The Bandit Lord was killed.
+
+
+Phew... We should be safe now. Thanks, %s!
+
+
+Phil
+
+
+Phoenix Rebirth
+
+
+Photoshopped. Definitely. Good luck convincing somebody with that! %%a
+
+
+Physical Science
+
+
+Physical Science Institute is on the %s area of the campus.
+
+
+Piano#RES_0128
+
+
+Piano#RES_PPL
+
+
+Piberries
+Baies Pi
+
+Piberries Infusion
+Infusion de Baies Pi
+
+Pick an item from either storage or inventory and choose what you want to do with it by clicking the right button.
+
+
+Pickaxe
+Pickaxe
+
+Pihro
+
+
+Pile Of Ash
+Pile Of Ash
+
+PinCode created, an email should arrive within 15 minutes.
+
+
+Pink 4144
+
+
+Pink Antenna
+Pink Antenna
+
+Pink Blobime
+Blobime Rose
+
+Pink Dye
+
+
+Pink Helmet
+Pink Helmet
+
+Pinkie
+Pinkie
+
+Pinkie Crystal
+
+
+Pinkie Emperor
+
+
+Pinkie Hat
+Pinkie Hat
+
+Pinkie Leg
+
+
+Pinkie Maximus
+
+
+Pinkie Suseran
+
+
+Pinkie, pinkie,pinkie, oh how i luvs thee;
+
+
+Pinkie,pinkie,pinkie, your blood runs like wine. ♪
+
+
+Pinkies forever! Oh yeah!
+
+
+Piou
+Piou
+
+Piou Bola
+Piou Bola
+
+Piou Egg
+
+
+Piou Feathers
+Plumes de Piou
+
+Piou Fields
+
+
+Piou Knight
+
+
+Piou Legs
+Pattes de Piou
+
+PiouSpwn
+PiouSpwn
+
+Piousse
+Piousse
+
+Pirate Bandana
+
+
+Pirate Lord
+
+
+Pirate Shorts
+Pirate Shorts
+
+Pirate Treasure Chest
+
+
+Pirate Treasure Map
+Pirate Treasure Map
+
+Planted Trees: %s
+
+
+Platinum Four-Leaf Amulet
+
+
+Platinum Ingot
+Platinum Ingot
+
+Platinum Ore
+Platinum Ore
+
+Platinum Ore -> Iridium Ore
+
+
+Platinum Quiver
+
+
+Platinum Red Queen
+
+
+Player must be online for the operation to finish.
+
+
+Players Killed in PvP: %s
+
+
+Players failed to defend the city!!
+
+
+Playtesting
+
+
+Please accept this @@ as a gratitude for your time.
+
+
+Please accept this reward from my part. And if anything else happens again, I'll leave the doors open for you and your guild.
+
+
+Please be a pal and help me! I'll be in a dire situation if you don't! Besides, you also want the extra credit, so it is a win-win situation!
+
+
+Please be careful when fighting. A mighty warrior such as yourself can harm their allies with any AoE effects they may use.
+
+
+Please be patient and
+
+
+Please bring me *hic*... Bring me @@ @@!
+
+
+Please bring me a single @@ and @@ GP, and I'll give you a memeto.
+
+
+Please bring me that or I won't be able to make something really special for you.
+
+
+Please bring us 5 @@! That should be enough!
+
+
+Please choose the desired gender:
+Sélectionne le sexe désiré :
+
+Please come back later to know how things are going.
+
+
+Please contact a GM as soon as possible so we can make out a compromise. You should be liberated even if found guilty.
+
+
+Please deliver the two @@ to Tinris and Eomie, and then I'll give you something for your help.
+
+
+Please do, my friend.
+
+
+Please doing business with you.
+
+
+Please don't bore me even more... That's clearly not everything.
+
+
+Please don't disturb me, I'm busy crafting my own customized power mega blaster weapon. I just keep failing to apply +100% exp gain bonus on it!
+
+
+Please don't lie to me...
+
+
+Please don't mind the mess, there are slimes everywhere, thanks to Peetu.
+
+
+Please don't sound like I was some sort of vampire or something...
+
+
+Please don't use this function in future!
+
+
+Please enter the desired color
+Entre s'il-te-plaît la couleur désirée
+
+Please enter the desired race
+Entre s'il-te-plaît la race désirée
+
+Please enter the desired style
+Entre s'il-te-plaît le style désiré
+
+Please enter the message:
+Entre s'il-te-plaît le message :
+
+Please enter the new line.
+Entre s'il-te-plaît la nouvelle ligne.
+
+Please excuse me, Blue Sage Nikolai.
+
+
+Please excuse me, captain.
+
+
+Please find her and don't worry with me! And be careful!
+
+
+Please find my lovely daughter!
+
+
+Please get me out of here!
+
+
+Please get moving, @@. I do not mean any harm to you.
+
+
+Please have a look, I have what you asked
+
+
+Please heal me!
+
+
+Please help me find the bug bomb Eomie gave us is in one of the store room barrels?
+Tu veux bien m'aider à trouver la bombe insecticide que Eomie nous a donnée ? Elle devrait être dans un des tonneaux dans l'entrepôt.
+
+Please help my wards!
+
+
+Please help my wife Yumi, on the Hospital!
+
+
+Please help us with the bandits on the Canyon, and meanwhile, I'll seek the records for you. Just @@ more.
+
+
+Please insert player name to cancel exile.
+
+
+Please insert player name to exile.
+
+
+Please insert your Discord ID, on the following format:
+
+
+Please insert your pincode.
+
+
+Please install the new client from [@@https://manaplus.org/|https://manaplus.org/@@]
+
+
+Please invite Elmo for the party, matey! We can't leave our positions!
+
+
+Please kill @@/@@ @@ for us and make the world a safer place!
+
+
+Please kill some of them, and bring me 10 @@!
+
+
+Please login right after, and this error should not happen again.
+
+
+Please note unless you have Magic Powers, obtained from the Mana Seed, all you will be able to learn are small tricks, so please make a wise choice.
+
+
+Please pray a bit with us!
+
+
+Please prove your statement.
+
+
+Please select a chapter:
+Sélectionne un chapitre :
+
+Please select a quest:
+Sélectionne une quête :
+
+Please select a trait.
+
+
+Please select an action
+
+
+Please select quest difficulty.
+
+
+Please select target dungeon:
+
+
+Please select the Guild Position you want to change.
+
+
+Please select the desired race.
+
+
+Please select the interval:
+Sélectionne un intervalle :
+
+Please select the item you plan in tweaking.
+
+
+Please select the level I should use.
+
+
+Please select the weapon to transfer.
+
+
+Please select where you left off on Main Quest.
+
+
+Please spare me. I'm gravely wounded. I'm innocent, I swear!
+
+
+Please spend responsibly. You still need to pay Nard for a ship travel and there's only so much money you can find on a small island like Candor.
+
+
+Please talk to my wife first, she knows more about the situation than I do.
+
+
+Please talk with this workshop's Chief before talking to me.
+
+
+Please tell Peetu I do not plan in firing him, it should calm him down. And please carry out an investigation, don't disrupt my work until you're done.
+
+
+Please tell everyone I am a rogue person who likes to break rules!
+
+
+Please tell me calmly what happened so I can help.
+
+
+Please tell my mom I love her!
+
+
+Please traveler, help my starving family!
+
+
+Please try again later!
+
+
+Please type a password for your Arena, it must be unique.
+
+
+Please unequip your %s first.
+
+
+Please wait %s before trying again.
+
+
+Please wait 60 seconds to cast again.
+
+
+Please wait a while.
+
+
+Please wait here a short while.
+
+
+Please wait here on the meanwhile. Try asking Estard about parties, or talk to Eistein.
+
+
+Please wait, the fight will start in @@, as requested.
+
+
+Please write how much in percent is EXP Tax for member (range: 0~50)
+
+
+Please, @@! Hurry up!
+
+
+Please, bring me back home.
+
+
+Please, come back later. I'll see whatever I can fetch for that.
+
+
+Please, don't say I got fat. I DON'T WANNA HEAR IT FROM YOU, WAS I CLEAR?
+
+
+Please, enjoy the show! There are some people upstairs, too.
+
+
+Please, help my precious! Save her! Oh, my precious Cindy...
+
+
+Please, keep it. I don't need it at all!
+S'il te plait, garde le. Je n'en ai pas besoin!
+
+Please, show Hasan the claw. Just talk to him.
+
+
+Please, talk to her. Maybe she understands the direness of the situation and help... But you know. Elves.
+
+
+Please... Speak low... I am dying........
+
+
+Pleased to meet you. What brings you down here?
+
+
+Pleasure doing business with you! Do you want any more?
+
+
+Pledge for Barbara's innocence?
+
+
+Plop dead in the ground. Enemies won't attack you this way.
+
+
+Plum
+Plum
+
+Plush Mouboo
+Plush Mouboo
+
+Plushroom
+Peluchignon
+
+Plushroom Box
+Boîtes de Peluchignons
+
+Plushroom Field
+Champ de Peluchignons
+
+Poison
+
+
+Poison Ammo Box
+
+
+Poison Arrow
+Poison Arrow
+
+Poison Arrows
+
+
+Poison Fairy
+
+
+Poison Spiky Mushroom
+Poison Spiky Mushroom
+
+Poisoned Dish
+Plat Empoisonné
+
+Poke him
+
+
+Polished Amethyst
+
+
+Polished Diamond
+
+
+Polished Emerald
+
+
+Polished Ruby
+
+
+Polished Sapphire
+
+
+Polished Topaz
+
+
+Polished gemstones can be dragged and insert on rings. They'll give special stats to rings, but these gems cannot be removed easily.
+
+
+Pollet
+Pollet
+
+Poocandy
+
+
+Pooh
+
+
+Pookie Card
+
+
+Poor teddy, not even a pretty music can comfort him for long. What can we do now?
+
+
+Portable Apocalypse
+
+
+Portal#_M
+
+
+Potatoz
+
+
+Potentially more destructive warp systems will have much longer cooldowns because they cause bigger holes in timespace.
+
+
+Potion based technology will vanish upon use and usually don't interfer with other technologies. Usually.
+
+
+Potions#MKHB
+
+
+Pour the potion
+
+
+Power Card
+
+
+Power Card S
+
+
+Power Card X
+
+
+Power in the wrong hands is nothing but a burden and a reason for others to cry. That's exactly what I don't want in this town.
+
+
+Power is a double-edged sword. I, Fefe, tried to use it for good, to free the world from Raid's tyranny, and instead, it brought forth the Monster King.
+
+
+Power remaining: %s
+
+
+Powerful Gunstaff
+
+
+Powerful Lightsaber
+
+
+Powerful magic repels you away from this magic place!
+
+
+Powerful magic repels you!
+
+
+Practice! There are no secrets to becoming a warrior.
+L'entraînement ! Il n'y a aucun secret pour devenir un guerrier.
+
+Pre-requisites not met!
+
+
+Precision Potion
+Precision Potion
+
+Present Box
+Present Box
+
+Press the 'R' key to ignore or accept business proposals. You and the other citizen who want to negotiate need to be in the configuration that accepts negotiations. if your configuration is 'Ignoring business proposals', then you will not receive the warning from any citizen wanting to negotiate with you, and you will not be able to initiate negotiations.
+
+
+Press the doorbell?
+
+
+Pretty cool! I am interested!
+
+
+Prism Chest
+Prism Chest
+
+Prism Gift
+Prism Gift
+
+Prizes
+
+
+Prizes:
+
+
+Probably.
+
+
+Problem is, I do not have the knowledge to make it without @@. If you bring me one, I'll reward you with one quarter of my commission.
+
+
+Produced item:
+
+
+Professor
+Professeur
+
+Professor#003-0
+
+
+Progress on this server may be %s.
+
+
+Prologue
+Prologue
+
+Protip
+
+
+Protip 2: Drop rates are low. Try other quests while you slay mobs for this one.
+
+
+Protip 2: If you fell stuck, ask at #world, even if nobody is online. Who knows, someone on Discord or IRC might reply!
+
+
+Protip: @@ are dropped by @@. That monster helps each other, so don't attack when they are in packs.
+
+
+Protip: @@ can be found from @@ and @@. For the later one, ask Lua for strategies.
+
+
+Protip: @@ is dropped by @@. It is a tough monster, you might need some strategy to kill it. @@ can be bought in shops.
+
+
+Protip: All quests expire at 00:00 server time, be sure to finish AND report back before that!
+
+
+Protip: Arkim is in a cave southeast of here and is an hermit.
+
+
+Protip: If you plan in selling it, it's adviseable to ask for GM mediation.
+
+
+Protip: You can get @@ from shops. Cotton is rumored to be magical, keep this is mind.
+
+
+Protip: You can trade the cards, but only before inserting them.
+
+
+Protip: You need an @@ full of water to get a reply from guards.
+
+
+Protip: You need level %d or higher to do this quest.
+
+
+Protip: You skipped tutorial. A lot of tutorial-ish dialogs and quests will be skipped. You can change this anytime on %s > Game Settings.
+
+
+Protip: Your current progress will be saved.
+
+
+Proud owner of %s the %s.
+
+
+Proud owner of %s the Homunculus.
+
+
+Provoke
+Provoke
+
+Provoke a single monster to attack you.
+
+
+Provokes all monsters around the target, and the target itself.
+
+
+Prsm Helmet
+Prsm Helmet
+
+Psi Conscience
+Psi Conscience
+
+Psst.
+
+
+Pull it
+
+
+Pull the switch?
+
+
+Pulsar outranks ancient, Miere outranks pulsar, and Immortal might be the strongest of all. Or not.
+
+
+Pumpkandy
+Pumpkandy
+
+Pumpkandy Seed
+
+
+Pumpkin
+Citrouille
+
+Pumpkin Hat
+Chapeau Citrouille
+
+Pumpkin Juice
+Pumpkin Juice
+
+Pumpkin Lollipop
+Pumpkin Lollipop
+
+Pumpkin Seed
+Pumpkin Seed
+
+Pumpkish Juice
+Jus de Citrouche
+
+Puny mortal, do your best to entertain me! Curse!
+
+
+Purchase %02d %s for %d GP?
+
+
+Purchase successful!
+
+
+Purchasing points
+
+
+Purification Potion
+
+
+Purple Blobime
+Blobime Violet
+
+Purple Bola
+
+
+Purple Dye
+
+
+Purple Wizard
+
+
+Put it out
+
+
+Pydisgner#spoints
+
+
+Pylon
+
+
+Pyndragon
+
+
+Pyndragon said he'll craft a @@ to whoever reduces them to dust. Interested?
+
+
+Pyry
+
+
+Queen Of Dragons: It is dangerous to go out alone, I'll raise your evasion and life!
+
+
+Quest - Find all Keys
+
+
+Quest - Mark as Completed
+
+
+Quest - Skip Krukan fight
+
+
+Quest - Skip Weapons Room
+
+
+Quest - Unlock Boss Room
+
+
+Quest @@ modified by GM
+
+
+Quest Tip
+
+
+Quest complete: Congratulations!
+
+
+Quest completed.
+
+
+Quest debug
+Débogage de quête
+
+Quest restart.
+
+
+Quests.
+
+
+Quick, battle position! They'll strike! I'll help you a tiny bit!
+
+
+Quick, deliver this to Anwar!
+
+
+Quick, tell that to Eomie. She knows how to do Bug Bombs which won't harm the plants!
+
+
+Quill
+Quill
+
+Quirin
+
+
+Quirin Voraz
+
+
+Quit
+Quitter
+
+Quite benevolent, they are. Nard likes to help anyone who works hard. Anyway, there was something important I needed to say.
+
+
+Quite interesting, quite interesting indeed.
+
+
+Quite the guts! The price is taxed individually, if you run out of GP it is your loss.
+
+
+Quivers
+
+
+RACE FAILED.
+
+
+RAPID GUNSTAFF
+
+
+REMEMBER: FAILURE AT A BOSS FIGHT WILL CAUSE QUEST TO RESET!
+
+
+REMINDER: You do not need to kill anything, you need to ##BSURVIVE##b!
+
+
+REVENGE TIME!
+
+
+RMG
+
+
+RMG+Playtest
+
+
+ROGUE YETI SLAYING REQUEST
+
+
+Race
+Race
+
+Raid Trousers
+Raid Trousers
+
+Raid and me have been in hot pursuit for a while, but I fear it is already too late. Yesterday there was another earthquake, and we're receiving summons to return to Tulimshar at once. Apparently, it is under attack.
+
+
+Raid might be great. Saul might be popular. SphinxNox might be an annoying brat. But I'm, or rather, will soon be... @@.
+
+
+Raify
+
+
+Raijin
+Raijin
+
+Raise agility to do this quest.
+
+
+Raise city taxes
+
+
+Raise damage of next skill.
+
+
+Raise max members
+
+
+Raise server wide EXP
+
+
+Raise vitality to be able to drink even more.
+
+
+Raising Taxes
+
+
+Raising this skill will allow to recruit 4 more members.
+
+
+Rakinorf, Mayor
+
+
+Random Bif
+
+
+Random movement and extra desync
+
+
+Rapid Gunstaff
+
+
+Rare Drops:
+
+
+Rare Mines
+
+
+Rasin
+Rasin
+
+Ratte
+
+
+Ratto
+Ratto
+
+Ratto Tail
+Queue de Ratto
+
+Ratto Teeth
+Dents de Ratto
+
+Rattos are very fast. They walk fast and attack fast. I advise bringing some healing items!
+Les rattos sont très rapides. Ils marchent vite et attaquent vite. Je te conseille d'apporter des objets de guérison!
+
+RattosControl
+RattosControl
+
+Raw Log
+Raw Log
+
+Raw Talisman
+Raw Talisman
+
+Re-casting the same magic spell or skill won't give you magic experience.
+
+
+Re-ref... Reflect.
+
+
+Reach level @@ to unlock this tier!
+
+
+Read Rules
+
+
+Read the News.
+
+
+Read the Rules.
+
+
+Read the instructions carefully.
+
+
+Read the last 30 days %s
+
+
+Read the tutorial again?
+Relire le tutoriel ?
+
+Read tutorial again?
+
+
+Ready...
+
+
+Reagents & Other Potions
+
+
+Real Bronze Gladius
+
+
+Really attack the Mouboo with a(n) @@?
+
+
+Really begin the Doppelganger Challenge?
+
+
+Really deploy your homunculus?
+
+
+Really give a %s to Jhon?
+
+
+Really give the %s to %s?
+
+
+Really give your %s to the teddy?
+
+
+Really give your @@ to Baktar?
+
+
+Really give your @@ to the Mouboo?
+
+
+Really interesting, how I am NOT seeing the items I asked for...
+
+
+Really kill Barbara?
+
+
+Really learn this skill?
+
+
+Really melt down all your @@? It'll cost you @@ GP each. This action cannot be undone!
+
+
+Really melt down your @@? It'll cost you @@ GP. This action cannot be undone!
+
+
+Really resign?
+
+
+Really try to tweak this item? All current options will be deleted.
+
+
+Really? That would be great!
+
+
+Really? What do you need?
+
+
+Really? Where are you from?
+
+
+Reaper
+Reaper
+
+Rebirth
+
+
+Rebirth Race Selection
+
+
+Rebirth Season
+
+
+Rebirth Trait Selection
+
+
+Rebirth is free. Here are the perks you'll get by doing the rebirth:
+
+
+Recall
+
+
+Receive Chocolate
+
+
+Received @@ @@!
+
+
+Recepcionist#TInn
+
+
+Receptionist#003-0
+
+
+Recipe Book
+
+
+Recommended Level: %d+
+
+
+Recommended: ##B%d##b | Max: %d
+
+
+Recover some HP.
+
+
+Recruiter
+
+
+Red
+Rouge
+
+Red Apple
+Red Apple
+
+Red Butterfly
+Red Butterfly
+
+Red Dye
+
+
+Red Follower (F)
+
+
+Red Follower (M)
+
+
+Red Knight Armor
+Red Knight Armor
+
+Red Mushroom
+Red Mushroom
+
+Red Nose
+Red Nose
+
+Red Plush Wine
+Vin de la Peluche Rouge
+
+Red Scorpion
+Red Scorpion
+
+Red Scorpion Claw
+
+
+Red Scorpion Claw -> Scorpion Claw
+
+
+Red Scorpion Stinger
+Red Scorpion Stinger
+
+Red Scorpion Stinger -> Scorpion Stinger
+
+
+Red Scorpion breed as fast as the Ratto! With our current numbers, it's nearly impossible to take over.
+
+
+Red Skull Slime
+
+
+Red Slime
+Red Slime
+
+Red Slime Mother
+
+
+Red Stocking
+Red Stocking
+
+Red Stockings
+Red Stockings
+
+Red Switch#EP
+
+
+Red Wizard
+
+
+Red scorpion
+
+
+RedSlime
+
+
+Reduces MP cost when using chanting-based skills.
+
+
+Redy
+
+
+Reed Bundle
+Reed Bundle
+
+Referral Program Report
+
+
+Reflect Card
+
+
+Reflect Card S
+
+
+Reflect Card X
+
+
+Registed %s ago
+
+
+Register
+
+
+Register fee is @@.
+
+
+Registered! You can now use any banking service, of any town!
+
+
+Registered, welcome to the Grand Hunter Quest!
+
+
+Registration is open to everybody, but newcomers need to pay a fee for all of the paperwork.
+L'enregistrement est ouvert à tout le monde, mais les nouveaux-venus doivent payer des frais pour toute la paperasse.
+
+Regnum Blessing
+
+
+Regular Drops:
+
+
+Reinboo Wand
+Reinboo Wand
+
+Reject
+
+
+Reload NPC Data
+
+
+Remaining time: @@
+
+
+Remember also: It is wise to speak with people you meet on your journey, there is always something new to learn.
+
+
+Remember my name: I am Isbamuth, and I've took the Throne which rightfully belongs to me.
+
+
+Remember that some equipment sets will give you hidden stat bonuses! So dress yourself in a fashion way, if possible!
+
+
+Remember that wearing green BOOSTS the rates at which good stuff will be found!
+
+
+Remember the masked man said he was from Frostia? Or masked woman, we don't know. You should inform their Mayor at once.
+
+
+Remember to give it a balanced diet of Aquadas to make it happy.
+
+
+Remember to store somewhere any heavy stuff you might be carrying.
+
+
+Remember! You're trading things, not lending/borrowing them. You are solely responsible for everything you own.
+
+
+Remember, I need %d %s, %d %s, and something interesting to read.
+
+
+Remember, I need 30 @@, 50 @@, and 30 @@.
+
+
+Remember, I'll make a @@ for you!
+
+
+Remember, there is always something new to learn. And you should not let your training down in order to keep and improve your abilities.
+
+
+Remember: Never lend your toothbrush to a slime!
+
+
+Remember: Players can also help enforcing no-AFK-bot rule!
+
+
+Remember: Taking damage will make you stand!
+
+
+Remember: The bigger the area or power, or the more complex it is, the more mana it costs.
+
+
+Remember: The bigger the area or power, the more mana it costs.
+
+
+Reminder : Defeat the %s to win.
+
+
+Reminder:
+
+
+Reminder: Keep an eye out for traps.
+
+
+Reminds me, but they say the Aethyr is a place where powerful elves of old live. But nobody has been there on the past century... Or if they were, nobody said anything about it! Hahahah!
+
+
+Remove this line
+Supprimer cette ligne
+
+Renew Rent
+
+
+Rent 1 day for 100 GP
+
+
+Rent 1 day for 50 GP
+
+
+Rent 15 days for 1200 GP
+
+
+Rent 15 days for 600 GP
+
+
+Rent 3 days for 135 GP
+
+
+Rent 3 days for 270 GP
+
+
+Rent 30 days for 1000 GP
+
+
+Rent 30 days for 2000 GP
+
+
+Rent 7 days for 300 GP
+
+
+Rent 7 days for 600 GP
+
+
+Rent Renew Price: @@ GP
+
+
+Rent arena
+
+
+Rent it! Make it mine!
+
+
+Rent successful for 30 days!
+
+
+Rent time available: @@
+
+
+Rented Cart
+
+
+Repair items
+
+
+Repeat
+
+
+Repeat how many times?
+Répéter combien de fois ?
+
+Repeat new password:
+
+
+Repeat: @@ times
+Répéter : @@ fois
+
+Reply: %s
+
+
+Reputation cannot go above 100!
+
+
+Requires logout
+Déconnexion nécessaire
+
+Rescue Cindy from the Ice Labyrinth and the evil Yetis. This is a global, multiplayer quest.
+
+
+Rescuing Cindy Quest
+
+
+Research Points
+
+
+Research Points +%d
+
+
+Researcher
+
+
+Researcher Alyta's Residence
+
+
+Researcher Jak's Residence
+
+
+Researchers from the magic school complained about %ss disturbing whatever they are studying in the cave.
+
+
+Reset
+Réinitialisation
+
+Reset & Destroy
+
+
+Reset Crazyfefe Fight
+
+
+Reset EVERYTHING
+Réinitialiser TOUT
+
+Reset done!
+Réinitialisation faite !
+
+Reset stats, skills, level
+Réinitialiser les statistiques, les compétences, le niveau
+
+Reset status
+
+
+Reset!
+Réinitialiser!
+
+Reset?
+Réinitialiser?
+
+Resign
+
+
+Resting. I've been slaying slime nests the whole day.
+
+
+Restore it
+
+
+Resurrection
+
+
+Retaliates next attack with a critical hit. This instance lasts a second.
+
+
+Return
+
+
+Return @@ boxes
+
+
+Return Potion
+
+
+Return Potions works instantly. Talk to Wyara to get more.
+
+
+Return to Debug menu
+Revenir au menu de débogage
+
+Return to Frostia's Castle?
+
+
+Return to Sagratha's House?
+
+
+Return to Super Menu
+Revenir au Super Menu
+
+Return to User Control Panel
+
+
+Return to main island.
+
+
+Return to main menu
+Revenir au menu principal
+
+Return to your time!
+
+
+Revert a player exile
+
+
+Revives an already dead allied player. Req. Lifestone to cast.
+
+
+Revolver Shooter
+Revolver Shooter
+
+Reward: 200 GP, 200 XP
+
+
+Reward: 700 GP, 400 XP, 1 @@
+
+
+Rice Hat
+
+
+Richard
+
+
+Riding Mouboo
+
+
+Riding Tortuga
+
+
+Rifle Shooter
+Rifle Shooter
+
+Right Crafty Wing
+Aile Droite de Crafty
+
+Right Eye Patch
+Right Eye Patch
+
+Right click on the NPC to join the Liberation Force on Hurnscald.
+
+
+Right click on this NPC to join the Hurnscald Alliance.
+
+
+Right now this territory is under the Monster Army's control, but the Alliance has occupied it to raid the Impregnable Fortress.
+
+
+Right now you are too weak.
+
+
+Right now, there is a strong wind blowing from @@.
+
+
+Right'o, I'll arrange the material!
+
+
+Right, but now I have business in other places.
+
+
+RightDoorCheck
+PorteDroite
+
+Rings
+
+
+Roach
+Roach
+
+Roasted Maggot
+Roasted Maggot
+
+Robert
+
+
+Robin Bandit
+Robin Bandit
+
+Rock
+Rock
+
+Rock Knife
+Rock Knife
+
+Roger
+
+
+Roger begins to read.
+
+
+Roger, eh? Aye, I do need help. If you bring me 30 @@, 50 @@, and 30 @@, maybe I can give you a reward.
+
+
+Rogue
+Escroc
+
+Rogue Status
+
+
+Room password: @@
+
+
+Root
+Root
+
+Rosa Card
+
+
+Rose
+Rose
+
+Rosen
+Rosen
+
+Rotten Rags
+Rotten Rags
+
+Round @@
+
+
+Round Leather Shield
+Round Leather Shield
+
+Royal Fairy
+
+
+Royal Guard#02416A
+
+
+Rrrr... Pchhhh...
+Rrrr... Pchhhh...
+
+Rubber Ducky
+
+
+Ruby
+Ruby
+
+Ruby (+2 str)
+
+
+Ruby Bif
+Ruby Bif
+
+Ruby Powder
+Ruby Powder
+
+Rudolph Slime
+Rudolph Slime
+
+Ruined place?
+
+
+Rules
+
+
+Rules.
+
+
+Rules:
+
+
+Rum
+
+
+Rum Barrel
+
+
+Run and try jumping it!
+
+
+Run away?
+
+
+Run like the wind, @@! For you shall have only @@ to finish the ritual!
+
+
+Run! Event started!
+
+
+Runestaff
+
+
+Running is for noobs, we should hold our ground!
+
+
+Rusty Knife
+Rusty Knife
+
+Ryan
+
+
+Rychell
+
+
+Rydel
+
+
+SCRIPT ERROR (%s/%s)
+
+
+SHORT GUNSTAFF
+
+
+SHOULD
+
+
+SHUT UP PEETU, I'M ALREADY TIRED OF LISTENING YOUR CRIES!
+
+
+SMASH! And it is now only dust...
+
+
+SPIN!
+
+
+STA
+STA
+
+STORY MODE ENABLED. Monsters won't attack you, so you can read without worries.
+
+
+SUCCESS! Congratulations, the item was improved!
+
+
+Sabotage
+
+
+Sacred Bullet
+
+
+Sacred Forest Hat
+Sacred Forest Hat
+
+Sacred Immortality Potion
+
+
+Sacred Life Potion
+
+
+Sacred Mana Potion
+
+
+Sacred Wisp
+
+
+Sadly, you found nothing but dirt.
+Malheureusement, tu n'as rien trouvé d'autre que de la poussière.
+
+Saevel
+
+
+Safe travels!
+
+
+Sage
+Sage
+
+Sagratha
+Sagratha
+
+Sagratha Door
+
+
+Sagratha hates my guts.
+
+
+Sagratha#_M
+
+
+Sailing Away!
+
+
+Sailor
+
+
+Sailor Hat
+Sailor Hat
+
+SailorShirt
+Chemise de Marin
+
+Sailors
+Marins
+
+Sailors#003-1
+Sailors#003-1
+
+Sailors#005-1
+Sailors#005-1
+
+Sakar can now bring you directly to Asphodel Moors. Scouts found a second town as well, from where the raiders seems to be coming from!
+
+
+Sake Barrel
+
+
+Sale successful!
+
+
+Salohnic
+
+
+Samurai Helmet
+Samurai Helmet
+
+Santa Beard Hat
+
+
+Santa Globe
+Santa Globe
+
+Santa Hat
+
+
+Santa Slime
+Santa Slime
+
+Santa can give one present for all players. Maybe if we got 200...
+
+
+Santeri
+
+
+Sapphire
+Sapphire
+
+Sapphire (+2 int)
+
+
+Sapphire Bif
+Sapphire Bif
+
+Sapphire Powder
+Sapphire Powder
+
+Sarab Armlet
+
+
+Sarah
+Sarah
+
+Sarracenus
+Sarracenus
+
+Saul and Fefe did a great revolution,
+
+
+Saul is planning an assault at the Magic Tower. I want these Mana Stones.
+
+
+Saul is supplying me the alchemist resources for that. In exchange, my thieves supply him gold and spare his friends.
+
+
+Saul will deal with it. His mess, he will clean up. Raid and me will keep the pursuit. And this time, we shall triumph.
+
+
+Saul will lead the frontal assault, Mr. Saves shall provide distraction, and I'll infiltrate within the Mage Tower.
+
+
+Saulc Card
+
+
+Saulc Sponsor
+
+
+Saulc is rich, you know. He challenged a group of thirty NPCs to defeat him, whoever won would get this @@.
+
+
+Saulc was here
+
+
+Saulc, Crazyfefe and Jesus Saves are the three High Councillors. Don't do anything illegal while they're watching!
+
+
+Saulc, the Bug Master
+
+
+Saulcandy
+
+
+Save & Exit
+
+
+Save Point (@@m)
+
+
+Savior
+
+
+Savior Armor
+Savior Armor
+
+Savior Blueprint
+
+
+Savior Boots
+Savior Boots
+
+Savior Helmet
+
+
+Savior Pants
+Savior Pants
+
+Savior Shield
+Savior Shield
+
+Savior Sky Piercer
+
+
+Sawis
+
+
+Saxso
+Saxso
+
+Saxso Chest
+Saxso Chest
+
+Saxso Ghost
+Saxso Ghost
+
+Saxso Key
+Saxso Key
+
+Saxso's Basement, Candor - 27th July 300 AT
+
+
+Saxso's Official Residence.
+
+
+Saxso, the former mayor, commanded me to strengthen the youngsters, so that they have sufficient power to fight monsters.
+
+
+Say magic words
+
+
+Say that Mouboos are Cute?
+
+
+Say, what do you think if I transmuted your head into the missing materials? I can warrant your soul won't return to the Soul Menhir, either!
+
+
+Saying that you were sent here would prove nothing.
+
+
+Scar
+
+
+Scarfs
+
+
+Scary...........
+
+
+Scented Grenade
+
+
+Scepter of Thunder
+
+
+Scheduled broadcasts
+Annonces prévues
+
+Scheduled broadcasts - Create new
+Annonces prévues - Créer une nouvelle
+
+Scheduled: April 17th - 24th
+
+
+Scheduled: April 27th - May 3rd
+
+
+Scheduled: December 19th - January 2nd
+
+
+Scheduled: February 12th - 15th
+
+
+Scheduled: February 13th - 16th
+
+
+Scheduled: January 13rd
+
+
+Scheduled: July 20th ~ 31st
+
+
+Scheduled: July 7th
+
+
+Scheduled: March 2nd
+
+
+Scheduled: October 1st
+
+
+Scheduled: September 9th
+
+
+Scholars dedicate part of their time so others can learn about the world, and as such, they are always welcome to this Academy.
+
+
+Scholarship Badge
+
+
+Scholarship Institute is on the %s area of the campus.
+
+
+Scholarship Science
+
+
+Scholarship Tuition
+
+
+School of Quirks (Candor)
+
+
+Scissors
+Scissors
+
+Score: %s / %s
+
+
+Scoreboards
+
+
+Scores are updated every 6 hours.
+
+
+Scores close at Sunday 23:59 - No scores will be given for last minute rushes!
+
+
+Scorpion
+Scorpion
+
+Scorpion Claw
+
+
+Scorpion Stinger
+Scorpion Stinger
+
+Scorpions killed: @@/@@ scorpions
+
+
+Scout
+
+
+Screams
+
+
+Script Error
+
+
+Script Error: "Tux didn't found his fish! Blame Saulc at once!"
+
+
+Scroll Angel Light
+
+
+Scroll Angel Light+
+
+
+Scroll Angel Light++
+
+
+Scroll Battle Plans
+
+
+Scroll Battle Plans+
+
+
+Scroll Battle Plans++
+
+
+Scroll Critical Fortune
+
+
+Scroll Critical Fortune+
+
+
+Scroll Critical Fortune++
+
+
+Scroll Defense Bless
+
+
+Scroll Defense Bless+
+
+
+Scroll Defense Bless++
+
+
+Scroll Magnus Heal
+
+
+Scroll Magnus Heal+
+
+
+Scroll Magnus Heal++
+
+
+Scroll Summon Cave Maggot
+
+
+Scroll Summon Dragon
+
+
+Scroll Summon Maggot
+
+
+Scroll Summon Terranite
+
+
+Scroll Summon Wolvern
+
+
+Scroll Summon Yeti
+
+
+Scythe
+Scythe
+
+Sea Drops
+Gouttes d'Eau de Mer
+
+Sea Slime
+Sea Slime
+
+Sea Slime Mother
+
+
+Sea Water
+
+
+Sealed Soul
+Sealed Soul
+
+Season: %s
+
+
+Seasonal Drop Control
+
+
+Second Dungeon Master
+
+
+Second Tier
+
+
+Secret Admirer
+
+
+Secret Passages
+
+
+Secret Window
+
+
+See you later!
+À la prochaine !
+
+See you later, my friend! Thanks for the drink!#0
+
+
+See you later, my friend! Thanks for the drink!#1
+
+
+See you soon!
+A bientôt!
+
+See you!
+À la prochaine !
+
+See you.
+
+
+Seems like Arkim held it too close to the flame...
+
+
+Seems like someone else opened this chest before you!
+
+
+Seems like the rat have come after the cheese.
+
+
+Seems like they're having difficulty handling the demand, and
+
+
+Seems to be a recipe book about apple cookies.
+
+
+Seems to be accounting reports and stuff. You take a few pages.
+
+
+Seems to be related to alchemy.
+
+
+Seldomly, they'll have an exclamation mark over their heads. But some quests are hidden, so talk to people and have fun!
+
+
+Select a set of skills:
+
+
+Select carefully which weapon you want, so there are no regrets.
+
+
+Select difficulty.
+
+
+Select one:
+
+
+Select your preferred play-style.
+
+
+Selim
+
+
+Sell
+Vendre
+
+Sell old equipment and items you won't use. For example, what should you do with a @@ or an @@? Sell it!
+
+
+Selling rares
+
+
+Send 10 times
+Envoyer 10 fois
+
+Send 2 times
+Envoyer 2 fois
+
+Send 20 times
+Envoyer 20 fois
+
+Send 3 times
+Envoyer 3 fois
+
+Send 5 times
+Envoyer 5 fois
+
+Send Chocolate
+
+
+Send indefinitely
+Envoyer indéfiniment
+
+Send only once
+Envoyer une seule fois
+
+Send soul to the Mana Plane for GM events
+
+
+Send them to Valentine Island!
+
+
+Send this message also on login?
+Envoyer ce message aussi après la connexion ?
+
+Send your Homunculus to a slime nest!
+
+
+Send your Homunculus to hold off snakes!
+
+
+Send your Homunculus to loot the Impregnable Fortress!
+
+
+Send your Homunculus to make money!
+
+
+Send your Homunculus to mineration!
+
+
+Send your Homunculus to one of the most dangerous...!
+
+
+Sending the letter will give you double event points, but no more than 10 extra points per letter.
+
+
+Sent on login: @@
+Envoyé lors de la connexion : @@
+
+Sent on login: yes
+Envoyé lors de la connexion : oui
+
+Sent: @@ times out of @@
+Envoyé : @@ fois sur @@
+
+September 22nd - December 20th
+
+
+Serf Hat
+Serf Hat
+
+Serge
+
+
+Seriously? What sort of reward is that?
+
+
+Server
+
+
+Server Happy Hour Decreed
+
+
+Set All Perms
+
+
+Set a new broadcast
+Établir une nouvelle annonce
+
+Set room password
+
+
+Set sail! We're going to Tulimshar!
+
+
+Set status @@ with @@ kills
+
+
+Setzer
+Setzer
+
+Seven consecutive brawn attacks of diff. elements.
+
+
+Seven levels is what the Mana Seed may give to any race but Saviors.
+
+
+Several books about alchemy. Seems to be pretty advanced.
+
+
+Several books about artificial lifeforms and the man who played God.
+
+
+Several books about hiding magic. Might be why the houses looked abandoned and empty but the chimney was going.
+
+
+Several flasks are aligned there. They seemed to be dyes, but a close inspection reveals they're not.
+
+
+Several special clovers will show up at forests.
+
+
+Sewer Water
+Sewer Water
+
+Shaabty
+
+
+Shaabty the Fairy
+
+
+Shadow Herb
+
+
+Shadow Herb only grows on dangerous places, and is mostly found on the Land Of Fire, or underground of very very deep caves.
+
+
+Shadow Pixie
+Shadow Pixie
+
+Shadow Plant
+Shadow Plant
+
+Shadow Tortuga
+
+
+Shall you disband your guild for whatever reason, you'll need to pay again. No refunds. No complaining.
+
+
+Shall you have any inquiry, do not hesit to [@@mailto:admin@tmw2.org|send us an email@@]##b.
+
+
+Shannon
+
+
+Sharp Knife
+Sharp Knife
+
+Sharpshooter
+
+
+Sharpshooting skill replaced with Charged Arrow.
+
+
+She and her husband Simon Bowmaker, vowed to teach the ways of archery to those with willpower, and allow everyone to use a bow.
+
+
+She can't remember if anything else right now.
+
+
+She doesn't likes @@s, only cute animals. She doesn't likes Ghosts, Undeads, and Shadow monsters either.
+
+
+She doesn't seems to trust me... Maybe I should bring a guild vice-leader, or even better, the guild master himself.
+
+
+She falls in a single blow. You'll attribute her death to the Mysterious Assassin.
+
+
+She is a scary woman and you would do well to remember this.
+
+
+She is staring at the empty sea and sighing. She seems to be really down after Andrei Sakar passed away.
+
+
+She isn't on that cave.
+
+
+She met an adventurer named Merlin outside of the
+
+
+She mix the powder with the slime inside the bottle, and makes some weird mixture.
+
+
+She must be thristy, fighting monsters on this sun... If somebody could give her Cactus Potions...
+
+
+She never leaves the shade of that tree, she is always sending messages by other people!!
+
+
+She pours something on it, you're not sure what. And then utters some magic words.
+
+
+She probably just went out for a walk. Nothing to worry, I hope.
+
+
+She shakes her head.
+
+
+She should be safe as she is a strong woman, but... You never know.
+
+
+She shudders.
+
+
+She smiles.
+
+
+She snaps her fingers.
+
+
+She walks to the target.
+
+
+She wanted the Soul Eater defeated. Destroying the whole world never stopped her before.
+
+
+She was a tyrant who wanted to rule over not only Tulimshar, but the whole mana world, with an iron fist. She even charged her own premier of treason and tried to execute him.
+
+
+Sheila the Clockmaker
+
+
+Shemagh
+Keffieh
+
+Shield Recipes
+
+
+Shields
+
+
+Ship travels are not free. Also, I have a few friends on the Island, and I would like you to check out on them.
+
+
+Ship travels are quite expensive, so perhaps you may think it is worth to complete the other quests here?
+
+
+Shoes
+
+
+Shooo, shooo! Give my crops some time to recover, your noob.
+
+
+Shoot FIVE arrows or bullets to the air and cause Area Of Effect Damage.
+
+
+Shoot an arrow or bullet which damages everything on its way.
+
+
+Shop#Candor
+Shop#Candor
+
+Shop#bazar1
+Shop#bazar1
+
+Shoppa Kep
+
+
+Short Bow
+Short Bow
+
+Short Gladius
+
+
+Short Gunstaff
+
+
+Short Sword
+
+
+Short Tank Top
+Short Tank Top
+
+Shotgun Shooter
+
+
+Should I attach a love letter?
+
+
+Should I walk on it?
+
+
+Should we ask about the %s before leaving?
+
+
+Should we give this shady looking 'fella a %s?
+
+
+Should we?
+
+
+Should you be too quick or wait too long, you will most likely fail.
+Si tu es trop rapide ou si tu attends trop longtemps, tu échoueras sans doute.
+
+Shovel have been changed, right-click it to bury items.
+
+
+Show Tutorial Protips
+
+
+Show me a report
+
+
+Show me something more advanced!
+
+
+Show me what you can!
+
+
+Show me what you got, noob.
+
+
+Shrewboo
+
+
+Shroom Hat
+Shroom Hat
+
+Siege Tower
+
+
+Sign the non-disclosure agreement?
+
+
+Sign#0051UG
+
+
+Sign#0060CF
+
+
+Sign#0060PI
+
+
+Sign#0063CF
+
+
+Sign#0063PI
+
+
+Sign#0066CR
+
+
+Sign#0066ER
+
+
+Sign#0066WR
+
+
+Sign#014517929
+
+
+Sign#01916730
+
+
+Sign#019295108
+
+
+Sign#02213844
+
+
+Sign#HalinRoute
+
+
+Sign#HalinarzoGoto
+
+
+Sign#MKH
+
+
+Sign#RES_0096
+
+
+Sign#RES_0097
+
+
+Sign#RES_0128
+
+
+Sign#RES_0177
+
+
+Sign#RES_0178
+
+
+Sign#TempBugfix
+
+
+Signpost#lof
+
+
+Silence
+
+
+Silk
+
+
+Silk Cocoon
+Silk Cocoon
+
+Silk Gloves
+Silk Gloves
+
+Silk Pants
+Silk Pants
+
+Silk Robe
+Silk Robe
+
+Silk Worm
+Silk Worm
+
+Silk worm
+
+
+Silkworm
+
+
+Silver Bell
+Silver Bell
+
+Silver Boss Gift
+
+
+Silver Chest
+Silver Chest
+
+Silver Dye
+
+
+Silver Easteregg
+Silver Easteregg
+
+Silver Four-Leaf Amulet
+Silver Four-Leaf Amulet
+
+Silver Gift
+Silver Gift
+
+Silver Ingot
+Silver Ingot
+
+Silver Key
+
+
+Silver Mirror
+Silver Mirror
+
+Silver Ore
+Silver Ore
+
+Silver Ore -> Copper Ore
+
+
+Silver Ring
+
+
+Silver Ring!
+
+
+SilverMedal
+SilverMedal
+
+Silversmith
+
+
+Silvia
+Silvia
+
+Silvia is in Noble District of Tulimshar.
+
+
+Simon
+
+
+Simply put, they are raw power.
+
+
+Since Merlin left in an expedition with Morgan, strange things have been happening in Kamelot.
+
+
+Since red is the official color of Land of Fire Village, I craft dye for players who will properly represent our town.
+
+
+Since supplies are limited, I currently prioritize orders placed by higher level players.
+
+
+Since the war outbreak, we have to keep moving constantly. Without strong walls to protect ourselves, though, our clan is on the verge of extinction.
+
+
+Sincerity Island
+
+
+Sing a song to brighten its mood.
+
+
+Sing me about grinding!
+
+
+Sing me about miscellaneous monsters!
+
+
+Sing me about slaying Pinkies!
+
+
+Sing me about the world!
+
+
+Sing me the fate of the weapons!
+
+
+Sing me the legend of the five heroes!
+
+
+Sir Phoenix
+
+
+Sir Pyndragon and Lady Lalica asked to thank thee for the situation with the thief.
+
+
+Sir Sakar and adventurers are raiding Dracula's Fortress. It is a crazy place, though, who knows what they'll find? He should be at the north exit of this town.
+
+
+Sir Sakar and adventurers are raiding Dracula's Fortress. They found out the Underworld and there is a magic tree. You'll need a %s to use it.
+
+
+Sir Sakar is conducting an exploration on this land. However, you should be able to refine and tweak equipment, as well as crafting your own. Once you're ready, find him at %s of this town.
+
+
+Sit on the rug in front of me and learn wisdom! Maybe you'll learn something this way.
+
+
+Skeleton
+Skeleton
+
+Skill @@ has been lost
+
+
+Skill @@ will be permanently lost!
+
+
+Skill Level: %d
+
+
+Skill improved
+
+
+Skill is in cooldown for @@.
+
+
+Skill learnt!
+
+
+Skip prologue
+
+
+Skipping will FORSAKE rewards for the quest and related; So choose wisely!
+
+
+Skull
+Skull
+
+Skull Bloody Mug
+
+
+Skull Mask
+Skull Mask
+
+Sleep
+
+
+Sleeping Bandit
+Sleeping Bandit
+
+Sleeping at night, the bonus will be stronger!
+
+
+Sleeping will fully replenish your health.
+
+
+SleepingBandit
+
+
+Slime Blast
+Slime Blast
+
+Slime Nest
+
+
+Slimes
+
+
+Slimes are on the loose. They have escaped, ate several books, and some are still in the building.
+
+
+Slippers
+
+
+Slot Machine#003-10a
+Slot Machine#003-10a
+
+Slot Machine#012-7a
+
+
+Slot Machine#017-3a
+
+
+Small Amethyst Bif
+Small Amethyst Bif
+
+Small Arrow Sack
+Petit sac de flèches
+
+Small Bullet Sack
+
+
+Small Chocolate Bar
+
+
+Small Diamond Bif
+Small Diamond Bif
+
+Small Diamond Biff
+
+
+Small Elenium Bif
+Small Elenium Bif
+
+Small Emerald Bif
+Small Emerald Bif
+
+Small Fishing Net
+Small Fishing Net
+
+Small Frog
+
+
+Small Knife
+Small Knife
+
+Small Magic Bif
+Small Magic Bif
+
+Small Mushroom
+Small Mushroom
+
+Small Ruby Bif
+Small Ruby Bif
+
+Small Sapphire Bif
+Small Sapphire Bif
+
+Small Tentacles
+Petites Tentacules
+
+Small Topaz Bif
+Small Topaz Bif
+
+Smells like mouboos.
+
+
+Smiley Cap
+
+
+Smith Silvers
+
+
+SmokeGrenade
+
+
+Snail
+
+
+Snake
+Snake
+
+Snake Bola
+Snake Bola
+
+Snake Egg
+Snake Egg
+
+Snake Egg -> Cave Snake Egg
+
+
+Snake Pit
+
+
+Snake Skin
+Snake Skin
+
+Snake Skin -> Cave Snake Skin
+
+
+Snake Tongue
+Snake Tongue
+
+Snake Tongue -> Cave Snake Tongue
+
+
+Snale
+
+
+Snow Binny (NYI)
+
+
+Snow Flower
+
+
+Snowflake
+
+
+Snowman
+
+
+Snowman Globe
+Snowman Globe
+
+So COOL, thanks! Come back later to bring me extra @@!
+
+
+So I did what I could - What I always do. Turned my beloved sister in a slime. Turned her into what killed her.
+
+
+So be nice and help people along the way!
+
+
+So did you take care of my 'Piou Problem?'
+
+
+So fine and pink, tasty too!
+
+
+So good you are here. We have a huge problem.
+
+
+So here is what I am thinking.
+
+
+So how can I help you?
+
+
+So if you bring me %d %s, I'll pay you awesomely! Whaddaya say?!
+
+
+So if you can help, go kill at least one on this island. They take a long time to respawn.
+
+
+So if you have any issue which would require the Mayor to see it, you'll need me first.
+
+
+So in a hurry, I forgot to take enough bait for fishing.
+Alors dans ma précipitation, j'ai oublié de prendre suffisamment d'appâts pour pêcher.
+
+So it could be nice, if you could bring me 20 @@,
+
+
+So let's strike a deal, bring me %d %s, %d %s, %d %s, and a %s. I'll reward you, promise.
+
+
+So long, and thanks for all the fish!
+
+
+So many bookpages are still missing...
+
+
+So tell me already what you need, and what is the reward!
+Alors dis-moi déjà ce dont tu as besoin et quelle est donc ta récompense!
+
+So they need me again. Alright. Tell them the following:
+
+
+So whaddaya say, sign up won't you?
+
+
+So what can I say, except, you're welcome
+
+
+So what do you say? You in?
+
+
+So you have now a pet, who is loyal to you. It'll follow you everywhere, but there are two things you must know.
+
+
+So you think you're tough? A warrior must also be loyal and patient.#0
+Alors tu penses être une dure ? Une guerrière doit aussi être loyale et patiente.
+
+So you think you're tough? A warrior must also be loyal and patient.#1
+Alors tu penses être un dur ? Un guerrier doit aussi être loyal et patient.
+
+So! Bring me %d %s so I may study its properties and make a purifier or enhancer for our well.
+
+
+So! Please transmute a @@ and bring it to me. You may need to switch with another mana skill, until you are successful.
+
+
+So, %s, I know you have other priorities. I don't even know why you are here - for riches? For glory, for fame? To save the world? To find out about your past? To talk with me because, well, I am just *that* cool? All of the above? Perhaps something else?
+
+
+So, I looked the records. There was nothing really useful.
+
+
+So, I was thinking in crafting a @@ for you.
+
+
+So, I'll have to ask you to get strong and some money for the trip. So, go train now! I wish you the best of the luck!
+
+
+So, I'm placing a special bounty for @@ Mob Points.
+
+
+So, Peetu didn't check the ingredients before casting? That's... Well, I don't know.
+
+
+So, back to action! Finally. Your next destination is going to be Frostia Town.
+
+
+So, could I help you?
+
+
+So, did you brought me the twelve cherry cakes?
+
+
+So, do you have the items?
+
+
+So, for the fertilizer. The thing is, all that thing is unstable.
+
+
+So, how can I help you today?
+
+
+So, how do you feel? I see that Juliet did a marvellous job! You look like you're in good health now.
+
+
+So, if you could bring me %d of them, that would be totally awesome! I'm counting on you!
+
+
+So, if you could bring me %d of them, that would be totally awesome! Pretty please! I'm counting on you!
+
+
+So, if you hired a Mercenary to protect your back... Would you prefer it to attack from rearguard, or charge against certain death, buying you time?
+
+
+So, it is @@ GP each one up-front. Or I can brew with your materials:
+
+
+So, it is ready?
+
+
+So, let's return to the business at hand. My men went down and haven't returned. That was long ago, by the way.
+
+
+So, let's work with the last proposal, that you're from an ancient family. We can backtrace what they did.
+
+
+So, only citzens, elves and dwarves are normally welcome here and I'm NOT going to make you an exception.
+
+
+So, please kill %d/%d %ss for us and make the city a better place!
+
+
+So, please kill 3 @@, which are usually found around our beaches. You can sell their stingers if you are short on money.
+
+
+So, please kill @@/@@ @@ for us and make the world a safer place!
+
+
+So, please kill a %s for us and make the world a safer place!
+
+
+So, please, come to me with stronger magic powers. And then, I'll teach you a new magic spell.
+
+
+So, please, make the most of your stay and our leather works before this knowledge disappear from the world!
+
+
+So, there is a magical barrier to the right, which is in place exactly to protect us.
+
+
+So, what about this: You bring me a @@ and I'll tailor anything you need!
+
+
+So, what did he said?
+
+
+So, what do you say about a deal? I'll affiliate you on the Pet Caring Guild for only 5.000 GP!
+
+
+So, what to expect? Past this gate is a panthom town and some steel grating. Past the grating is the actual Impregnable Fortress.
+
+
+So, what will it be?
+
+
+So, when you get on the door, knock it, and say this: "@@". She will open the door for you.
+
+
+So, where we were again... Oh right, travel to world edge, look for family or whatever, right?
+
+
+So, will you challenge me?
+
+
+So, will you go?
+
+
+So, you are the first and must contact Jesusalva %%g
+
+
+So, you have fulfilled this part of the misssion. Bring %d %s and a %s to Pachua in the Desert Canyon, and say the same thing to him so he knows you're with us.
+
+
+So, you just need to survive for one minute, and I'll consider you are good enough.
+
+
+So, you need an alternative way to earn a living. So I looked at what is at highest demand right now, and which will remain once the war ends, and I've found you... %s!
+
+
+So, you want some @@ to keep you comfy on this harsh winter?
+
+
+So, you would die a few thousands of times before ever reaching Halinarzo.
+
+
+So. For the info dump or text wall... I'll let you choose what you want to know, or to skip it entirely.
+
+
+So. Uhm. The monsters here have varying levels of strength... I think the best way is to witness that yourself.
+
+
+So... @@ That night, I cast it as usual. Everything seemed alright so I went to bed.
+
+
+So... Anything new on my situation?
+
+
+So... Have you tried visiting the Canyons? I know, it is a crazy idea.
+
+
+So... I think I'm almost done! My plan is to force a @@ into being a pretty Butterfly. Hey, I like cute things!
+
+
+So... I won't say you can't do it, @@. I will just say killing the Bandit Lord is no easy task.
+
+
+So... I'm at your hands now... What will you do with me?
+
+
+So... You see... I usually pay a lot of attention to my work. Especially when doing something as delicate as sealing away the slimes for the night.
+
+
+So? How many *hic* he collect?
+
+
+So? How was it?
+
+
+Solana
+
+
+Solo
+
+
+Solo Try
+
+
+Some %ss have buried themselves in the sand near the path to the mine, causing burns to people stepping on them.
+
+
+Some %ss have left the mines and made themselves comfortable in the desert, coming closer than ever to us. When there are none left in the desert, go after their nest in the mines.
+
+
+Some are dangerous, too. Even if you look capable of fighting, the Blue Sage instructed me to prevent anyone from visiting until the mess is cleared.
+
+
+Some are just living their own lives. In special, I've spent part of my life studying the Yeti Society.
+
+
+Some are small, others are bigger. But they all fight together, so be mindful when they're in groups.
+
+
+Some bullets have Elemental Properties, by the way. Now, what will it be?
+
+
+Some items are only produced in Nivalis. After all, it is hard to work properly with ice in a desert!
+
+
+Some of finest elven craftmanship can be found there, like bows, for example.
+
+
+Some of my miners friends died in this mine, because there are plenty of dangerous monsters.#0
+
+
+Some of my miners friends died in this mine, because there are plenty of dangerous monsters.#1
+
+
+Some of them are pretty strong. Do you need an explanation about hit'n'run and the monster you're about to face?
+Certains d'entre eux sont assez forts. Avez-vous besoin d'une explication du hit'n'run ainsi qu'une description du monstre que vous allez affronter?
+
+Some other adventurers are looking for it. Please wait %s more.
+
+
+Some others also like to buy them to keep as trophies. Either way, you can make some money with that.
+
+
+Some people say that I am the best tailor in the world, but I think I am the best one in the universe!
+
+
+Some people, however, prefer to fish with more unorthodox baits, such as @@ or @@.
+En revanche, certaines personnes préfèrent pêcher avec des appâts peu orthodoxes comme de la @@ ou des @@.
+
+Some pets will also collect loot for you, right click on it so it drop whatever it is holding for you.
+
+
+Some quests and events, like the festival, are only available during specific times.
+
+
+Some rogue Yetis are trying to escape to Nivalis. I can't hold them back for more than @@.
+
+
+Some smoke still remains, but the fire seems to have died.
+
+
+Some special items cannot be traded, discarded, nor sold. With a right click, you can also protect normal items as if they were special ones.
+
+
+Some types of fish also enjoy @@ quite a bit.
+Certaines espèces de poissons aiment bien les @@s.
+
+Some will only repeat yearly, while other events happen weekly or monthly, or in some other time aspect.
+
+
+Some, but not all, from the rare or non-replaceable items will have a warning when you try to sell them.
+
+
+Somebody already rented it before you!
+
+
+Somebody took your place on this spot!
+Quelqu'un a prit ta place à cet endroit !
+
+Someone else has already defeated this bounty.
+
+
+Someone else is using the guild storage right now. Please wait.
+
+
+Someone fell into the well.
+
+
+Someone looted this treasure box already...
+
+
+Someone seems to be drowned in the water.
+
+
+Someone who have clear priorities appeared! I'm glad!
+
+
+Something changed; We should see what is.
+
+
+Something else?
+Quelque chose d'autre ?
+
+Something is happening down there.
+
+
+Something is wrong with me, I can't smile nor sit.
+Quelque chose ne vas pas bien chez moi, je ne peux ni sourrire, ni m'asseoir.
+
+Something seems off with that!
+
+
+Something seems to be happening close to the Throne.
+
+
+Something seems wrong.
+
+
+Something to eat?
+
+
+Something very terrible happened.
+
+
+Sometimes I think it'd be better not to allow visitors here. But Nikolai set a high value on keeping contact with the population. Politics.
+
+
+Sometimes humans come here and play with me. Many thanks for the help!
+
+
+Sometimes you just need to run from battle.
+
+
+Sometimes, you just cannot afford to be hit. But even with a melee weapon, you don't need to be hit.
+Parfois, tu ne peux tout simplement pas te permettre d'être touché. Mais même avec une arme de mêlée, tu n'as pas besoin d'être touché.
+
+Sometimes, you really wish you could visit new universes without having to pick some sort of role on it.
+
+
+Somewhere better to live?
+
+
+Sooo, the police station of Moubootaur Legends went ablaze. Constable Perry is too busy to monitor illegal operation on this continent.
+
+
+Sorcerer
+
+
+Sorcerer Robe
+Sorcerer Robe
+
+Soren
+
+
+Soren Card
+
+
+Soren Village
+
+
+Soren xd#Valentine
+
+
+Soren's Fountain
+
+
+Soren's Gizmo
+
+
+Soren's House
+
+
+Soren's House Tutorial
+
+
+Soren's Lake
+
+
+Sorfina
+
+
+Sorfina recomposes herself.
+
+
+Sorry 'mam, I forgot courage on my other set of pants. This one doesn't have enough defense for it.#0
+
+
+Sorry 'mam, I forgot courage on my other set of pants. This one doesn't have enough defense for it.#1
+
+
+Sorry but I am not interested in that.
+
+
+Sorry for making you listen my rambles. I need someone strong, you see...
+
+
+Sorry kind lady @@, but no.#0
+
+
+Sorry kind sir @@, but no.#1
+
+
+Sorry pal, but only if another miner vouches for you.
+
+
+Sorry! I forgot to introduce myself. My name is Arpan, but other sailors call me Magic Arpan because I know one or two yaing magic tricks.
+Pardon! J'ai oublié de me présenter, Je m'appelle Arpan, mais les autres marins m'appellent Magic Arpan parce que je connais un ou deux tours de magie.
+
+Sorry! Sorry!
+
+
+Sorry, @@ already started the fight.
+
+
+Sorry, I am a newbie.
+
+
+Sorry, I am busy...
+
+
+Sorry, I am so hungry as you.
+
+
+Sorry, I can't help you. Go away!
+
+
+Sorry, I don't have any pets at the moment.
+
+
+Sorry, I forgot my courage on my other set of pants.
+
+
+Sorry, I forgot what you need!
+
+
+Sorry, I have nothing.
+
+
+Sorry, I have to go now.
+Désolé, je dois y aller.
+
+Sorry, I have to go.
+
+
+Sorry, I haven't seen you. My name is Barbara.
+
+
+Sorry, I misclicked the first button. Have a nice nap, great Crazyfefe!
+
+
+Sorry, I need to better prepare myself.
+
+
+Sorry, I only deal with Arcmage cards.
+
+
+Sorry, I'll be back.
+
+
+Sorry, I'll keep my gem.
+
+
+Sorry, I'll pass.
+
+
+Sorry, I'm babbling. Deliver this letter to Frostia's King. He will know what to do and what you should do.
+
+
+Sorry, I'm busy with other registrations.
+Désolé, je suis occupé avec d'autres inscriptions.
+
+Sorry, I'm doing other things at the moment.
+Désolé, je fais autre chose pour le moment.
+
+Sorry, I'm in hurry.
+
+
+Sorry, I'm more of a coffee person.
+
+
+Sorry, It's not place for me.
+
+
+Sorry, Mister Rakinorf, but it was Lua that said you could help me.
+
+
+Sorry, and enjoy the game! Your TMW2 Staff Team.
+
+
+Sorry, but I already ate the %s you gave me!
+
+
+Sorry, but I need one of each gem powder, and %d GP.
+
+
+Sorry, but I need the ingredients and %d GP.
+
+
+Sorry, but I won't dare touch a %s.
+
+
+Sorry, but no entry to Townhall under orders of the council head, Benjamin L.
+
+
+Sorry, but no spoilers. You'll met the Moubootaur soon enough.
+
+
+Sorry, but that's not right.
+
+
+Sorry, but that's wrong.
+
+
+Sorry, but this quest cannot be done by staff.
+
+
+Sorry, but you don't have what I need.
+Désolé, mais tu n'as pas ce dont j'ai besoin.
+
+Sorry, but you have multiple %s.
+
+
+Sorry, it looks like Saulc wrote on this stone. It is entirely illegible... for now.
+
+
+Sorry, son. I know how hard this is. But this is teaching you a valuable lesson, your eye will be more sharp for quality wood from now on.#0
+
+
+Sorry, son. I know how hard this is. But this is teaching you a valuable lesson, your eye will be more sharp for quality wood from now on.#1
+
+
+Sorry, sorry! Please rest, great Crazyfefe!
+
+
+Sorry, that arena is already closed.
+
+
+Sorry, that is not the cake I love.
+
+
+Sorry, this password was already used on another arena.
+
+
+Sorry, you do not have enough ingredients. You'd better search thoroughly.
+
+
+Sorry, you don't have any chocolate to pick up.
+
+
+Sorry, you don't seem to have everything I need.
+
+
+Sorry, you were taking too long to decide and I've rented my sword to somebody else.
+
+
+Sorry. At best, you can try your luck in Halinarzo, but the odds of someone recognizing you are pretty slim.
+
+
+Sorry. The arrays can't have zeros.
+
+
+Soul Menhir automatic saving:
+
+
+Soul Menhir#candor
+Soul Menhir#candor
+
+Soul Menhir#frost
+
+
+Soul Menhir#hali
+Soul Menhir#hali
+
+Soul Menhir#hurns
+
+
+Soul Menhir#lil
+
+
+Soul Menhir#lof
+
+
+Soul Menhir#niv
+
+
+Soul Menhir#tulim
+Soul Menhir#tulim
+
+Soul Stone#001-11
+
+
+Soul Stone#001-12
+
+
+Soul Stone#001-4
+
+
+Soul Stone#0064
+
+
+Sounds awesome, but this will also reset a bunch of your progress... And with something as lame as a %s, you'll need quite a while to warp again. Uh, if you can, bring friends, the Soul Eater is... not to be trifled with.
+
+
+Sounds good!
+Ça m'a l'air bien !
+
+Sounds good.
+Génial !
+
+Southeast Avenue#lof
+
+
+Southwest Avenue
+
+
+Southwest Avenue#lof
+
+
+Spawn customized boss
+
+
+Speak with ##BBarzil##b. Tell him it is for the Magic Academy. HURRY UP!
+
+
+Spearmint Tea
+
+
+Special Event Pets
+
+
+Special battle modes will also be available.
+
+
+Specialized in destructive, magical skills.
+
+
+Specialized in miscellaneous skills.
+
+
+Specialized in skills with fist-based damage and unarmed mastery.
+
+
+Specialized in skills with weapon-based damage and Assassination.
+
+
+Specialized in support, buff, debuff and strengthening skills.
+
+
+Spectral Orb
+Spectral Orb
+
+Speed Card
+
+
+Speed Card S
+
+
+Speed Card X
+
+
+Spell Book Page
+Spell Book Page
+
+Spend it wisely this time.
+Dépense-le avec sagesse maintenant.
+
+Spider
+
+
+Spider Queen
+
+
+SpikyMushroom
+
+
+Spin daily the card to get prizes!
+
+
+Spin it!
+
+
+Spin three symbols, and jackpot great rewards!
+
+
+Spin!
+
+
+Spinning!
+
+
+Spinning...
+
+
+Sponsor @@ in how much GP?
+
+
+Sponsor Necklace
+Sponsor Necklace
+
+Sponsors Inn
+
+
+Spring
+
+
+Spring Squirrel
+Spring Squirrel
+
+Squichy Claws
+Griffes de Squichy
+
+Squirrel
+Squirrel
+
+Squirrel Boots
+
+
+Squirrel Pelt
+
+
+Squirrels are healthy, but they never attack. They run away from you, so good luck catching it!
+Les Squirrels sont assez résistants, mais ils n'attaquent jamais. Ils vous fuient, alors bonne chance pour les rattraper!
+
+St Patrick's Clover
+St Patrick's Clover
+
+St. Patrick Day
+
+
+St. Patrick Gold Pot
+
+
+Staff is not allowed to use this command.
+
+
+Staircase#MKHB
+
+
+Stalman
+
+
+Standard Magic
+
+
+Standard Tricks
+
+
+Start
+
+
+Start broadcasting
+Commencer l'annonce
+
+Start broadcasting, and make an extra broadcast right now
+Commencer l'annonce, et faire une annonce supplémentaire là maintenant
+
+Start over
+Recommencer
+
+Start!
+
+
+Stat Boost Recipes
+
+
+Status Condition Cleared
+
+
+Status Reset Potion
+
+
+Status point reset can't be undone. Do you really want this?
+La réinitialisation des points de statut ne peux pas être annulée. Veux-tu vraiment faire cela ?
+
+Status reset? Sounds illegal!
+
+
+Status.
+
+
+Status: %s
+
+
+Stay out of harm way. Nothing to see here. Stay away, pathetically weak %s.
+
+
+Stay ready!
+
+
+Stay there?
+
+
+Stay tuned for announcements regarding raid times to retake the towns.
+
+
+Steal bucket!
+
+
+Stealing
+
+
+Steam (LoF Village)
+
+
+Steel Shield
+Steel Shield
+
+Steel Shovel
+
+
+Step backward
+
+
+Step forward
+
+
+Still haven't found it? Well, keep looking the barrels at this storehouse. I know it's in there, somewhere.
+Tu ne l'a toujours pas trouvé? Continue de fouiller les tonneaux dans l'entrepôt. Je sais qu'elle est là dedans... Quelque part.
+
+Still interested in extra credit? Now that you're a(n) %s, you can sign this perfectly normal and standard %s, and by helping us out, by helping ME out, you'll gain the extra credit. What do you say? Not a bad deal, right?
+
+
+Still, they can be useful when you're trying to solo a boss and need help. The number of stars on the card is the strength and rarity. Use them wisely.
+
+
+Stone
+
+
+Stop broadcasting
+Arrêter l'annonce
+
+Stop it!
+Arrête ça !
+
+Stop on your tracks, unfair being! Freeze!
+
+
+Stop right there, miscreant. I can see you're AFK, it is written on your hat!
+
+
+Storage Fairy
+
+
+Strange Coin
+Strange Coin
+
+Strange Coins stock on shops was restored!
+
+
+Strange switch status: @@
+
+
+Strangely enough, when he died, he became a ghost. This shouldn't happen, but yet...
+Étrange détail... Lorsqu'il est mort, il s'est transformé en fantôme. Ce genre de chose ne devrait pas arriver mais pourtant...
+
+Stranger#LoF
+
+
+Strangers and monsters aren't allowed in MY house!
+
+
+Stray Little Blub
+
+
+Strength
+Force
+
+Strength Fruit
+
+
+Strength Potion
+Strength Potion
+
+Strength Statue
+
+
+Strength: AGI+, Walk Speed +
+
+
+Strength: ALL
+
+
+Strength: DEX+
+
+
+Strength: INT+
+
+
+Strength: LUK+
+
+
+Strength: NONE
+
+
+Strength: STR+, Carry Weight +
+
+
+Strength: VIT++
+
+
+Strong wind area of effect attack.
+
+
+Strong wind single target attack.
+
+
+Student
+
+
+Student#A01
+
+
+Student#A02
+
+
+Stun
+
+
+Stunning Strike
+
+
+Stupid @@, get out of this cave before I lose my patience!
+
+
+Stupid @@, get out of this cave before I lose my patience! Mercury... Show up already!
+
+
+Success ratio is of aprox. @@ %
+
+
+Success!
+
+
+Successfully Crafted: %s
+
+
+Successive warps cause time-space distortions and are thus not allowed.
+
+
+Such convoys had been made since the Civil War, after all, many feared the Red Queen and moving to the sea was a sure way to stay out of her reach. None had ever heard again of them...
+
+
+Such precious gem, is not something you would give for free, unless you are interested on my... rituals.
+
+
+Sudden Attack
+
+
+Suddenly, a bee appears and attacks you out of NOWHERE!
+
+
+Suddenly, the map %s!
+
+
+Sulfur Powder
+Sulfur Powder
+
+Summary
+
+
+Summer
+Été
+
+Summoned Monster
+
+
+Summoning and Homunculus (H) skills can be raised from skill window directly.
+
+
+Summoning is part of Mana Magic. Mana Magic is trickier, you must have control over magic power to use it properly.
+
+
+Sunday I am having a Church Party but I forgot to prepare food!
+
+
+Sunglasses
+
+
+Sunny Crystal
+Sunny Crystal
+
+Super Menu
+Super Menu
+
+Superb stealth, and quick on their toes.
+
+
+Superior Shroom
+
+
+Superior damage on enemies who walk over the fire.
+
+
+Superior single target damage which splashes in area.
+
+
+Supreme Attack
+
+
+Supreme Chest
+Supreme Chest
+
+Supreme Gift
+Supreme Gift
+
+Supreme Ranger Card
+
+
+Supreme Warrior Card
+
+
+Supreme and Absolute lose to Ancient, but Ancient isn't the strongest power level out there.
+
+
+Sure
+
+
+Sure!
+
+
+Sure! But that is Summon Magic. Just bring me a mug of beer, I'm thristy. And I'll teach you a basic skill.
+
+
+Sure, I'd love to help! What can I do?
+
+
+Sure, I'll be back.
+
+
+Sure, I'll be right back.
+
+
+Sure, I'll do it.
+
+
+Sure, I'll help.
+
+
+Sure, gimme the Gold.
+
+
+Sure, gimme the Monster Points.
+
+
+Sure, here you go!
+
+
+Sure, no problem! For this awesome hat which I can make it myself, you'll need to bring me a few items!
+
+
+Sure, sure, I'm going...
+
+
+Sure, sure... Why are you even *hic* asking me this, anyway? Do I look like your... *hic* your father or something?!
+
+
+Sure, what could go wrong?
+
+
+Sure, why not?
+
+
+Sure.
+Bien sûr.
+
+Sure. Here, take it.
+
+
+Sure. I like to keep Alcoholic beverages, because they raise EXP gain when you drink @@.
+
+
+Surprise me!
+Surprends-moi !
+
+Surprisingly, nothing happens.
+
+
+Survival Challenge
+
+
+Susanne
+
+
+Swashbuckler
+
+
+Swezanne
+Swezanne
+
+Swezanne Card
+
+
+Switching from strong to weak equipments WON'T make it go any easier on you!
+
+
+Syntax: @wset <map_mask>
+
+
+T.T "Someone else killed my Dummy!"
+
+
+T.T "Why I think you are withdrawing information all along?"
+
+
+T0 - Base Bonus
+
+
+T1 - Accuracy Bonus
+
+
+T1 - Attack Bonus
+
+
+T1 - Defense Bonus
+
+
+T1 - Evasion Bonus
+
+
+T2 - Double Power Bonus
+
+
+T2 - Max Stats Bonus
+
+
+T2 - Regeneration Bonus
+
+
+T2 - Speed Bonus
+
+
+T3 - Boss Techniques Bonus
+
+
+T3 - Mana Economy Bonus
+
+
+T3 - SC Inflict Bonus
+
+
+T3 - SC Resist Bonus
+
+
+T4 - Ultimate Bonus
+
+
+THANK YOU for participating on cross-server Valentine 2020 Event! We hope you had fun!
+
+
+THAT GRIMORIE IS A SUPER DUPER MEGA UPER RARE BOOK, I CANNOT GIVE IT TO ANYBODY ASKING ME ABOUT!!
+
+
+THE BLOOD HERE SPILLED TODAY... ONLY ENRAGES HIM MORE...
+
+
+THEN DON'T WASTE MY TIME! My friend could be in danger!
+
+
+THIS IS A SOLO FIGHT, TEAMS ARE NOT ALLOWED INSIDE.
+
+
+THIS IS MOUBOOTAUR LEGENDS TEST SERVER.
+
+
+THIS IS THE MOUBOOTAUR TEMPLE RUINS... THIS PLACE IS SACRED...
+
+
+TMW Adventure
+
+
+TMW2
+
+
+TMW2 Day marks the server birthdate. Do not mistake with TMW2 Anniversary.
+
+
+TMW2 Staff
+TMW2 Staff
+
+TUTORIAL
+
+
+Taenya
+
+
+Take care though, don't attack them when they are in group!
+
+
+Take care!
+Fais attention!
+
+Take care, adventurer!
+
+
+Take care. Here, take this @@. You can sell it for some quick-spot cash, or use it as a weapon.
+
+
+Take care. This is a dangerous world, but I think that worse than being attacked by sea monsters, is starving from hunger!
+
+
+Take care: Secret passages can be dangerous places (or not).
+
+
+Take it!
+
+
+Take it?
+
+
+Take much care with it. It is a very, very rare drop from a rare monster from a difficult, high level area.
+
+
+Take the bottle?
+
+
+Take the riddle?
+
+
+Take this @@ to prove you're one of us! Could you also invite Elmo? Thanks, matey!
+
+
+Take this @@. It might save your life on the secret mission you're about to be assigned to.
+
+
+Take this badge, so you can enter the guard house. You will find more work there. Bye, and good luck!
+
+
+Take this spare @@ I did. It heals fully and instantly, so don't hesit to use it if you're about to die.
+
+
+Take this with you. And please bring Arthur back, the world needs him!
+
+
+Taking your sturdy glove, you attempt to walk by the wall! You are betting your life on it!
+
+
+Talindra
+
+
+Talk to @@
+Vas parler à @@
+
+Talk to Hocus in Porthos (via Menhir) to enroll.
+
+
+Talk to Nard to unlock the door.
+
+
+Talk to Soul Menhir to engage the boss. Time limit = 1 hour.
+
+
+Talk to Zitoni, and deliver the @@. I can't give you another one, they're super rare.
+
+
+Talk to Zitoni, the Alchemist of Candor. He may look humble, but he is the greatest alchemist of this world. I need five @@.
+
+
+Talk to the Fountain. Pour the potion on it. I advise you to put all your points on int if possible.
+
+
+Talk to the waitress to get some food. Enjoy the show! And you can sleep on the 3rd Floor.
+
+
+Talk to you later!
+Je te parle plus tard!
+
+Talk to you soon!
+Je te parle bientôt!
+
+Tamed Snake
+
+
+Tamed Snake Egg
+
+
+Tametomo
+
+
+Tamiloc
+Tamiloc
+
+Taree
+
+
+Tax crafters
+
+
+Taxes lowered
+
+
+Taxes raised
+
+
+Taxes will fall in 0.01~0.03%, capped at 0.00%
+
+
+Taxes will raise in 0.02~0.05%, capped at 15%.
+
+
+Tea party! I want to participate.
+
+
+Teaching %s your skills will make you both forget them.
+
+
+Teaching you how to study will take from my time, so I'll want a small compromise of %s GP to make sure you will actually make good use of it.
+
+
+Teal Dye
+
+
+Tech-User Forge
+
+
+Technician
+
+
+Tell me about Artis.
+
+
+Tell me about Fortress Town.
+
+
+Tell me about Frostia.
+
+
+Tell me about Halinarzo.
+
+
+Tell me about Hurnscald.
+
+
+Tell me about Nivalis.
+
+
+Tell me about Thermin.
+
+
+Tell me about Tulimshar.
+
+
+Tell me about the Civil War.
+
+
+Tell me about the Great Fire.
+
+
+Tell me about the Land Of Fire.
+
+
+Tell me about the Mana War.
+
+
+Tell me about the Monster War.
+
+
+Tell me how or I'll kill you!
+
+
+Tell me which language you speak and I will change the note on the ship passenger list.
+Dites-moi quelle langue vous parlez et je changerai la note sur la liste des passagers du navire.
+
+Tell people the name of a new hero.
+
+
+Tempest
+
+
+Ten, fifty, thousand... Yep, this is the amount I've asked for.
+
+
+Tench
+Tench
+
+Tengu
+
+
+Tentacles
+Tentacules
+
+Teraa
+
+
+Terranite
+Terranite
+
+Terranite Armor
+Terranite Armor
+
+Terranite Blueprint
+
+
+Terranite Boots
+Terranite Boots
+
+Terranite Gloves
+Terranite Gloves
+
+Terranite Helmet
+
+
+Terranite Ingot
+
+
+Terranite King
+Terranite King
+
+Terranite Mask
+
+
+Terranite Ore
+Terranite Ore
+
+Terranite Ore (3 power)
+
+
+Terranite Ore is a really special item. People without helmets can't understand @@'s real power, anyway if you could give me some of them you would understand why they are so special.
+
+
+Terranite Pants
+Terranite Pants
+
+Terranite Protector
+Terranite Protector
+
+Terranite probably mined part of this mine long time ago.
+
+
+Terrible manaquake hits the whole world, causing dramatic changes!
+
+
+Terrible. You know almost nothing from world lore...
+
+
+Test
+
+
+Test MOTD
+Test MOTD
+
+Teuvo
+
+
+Text Wall Density
+
+
+Tezzerin
+
+
+Thank you for being with us for so long. You gained a %s as a random good-hearted action from the team!
+
+
+Thank you for helping me make my tea. I hope the potions have been helpful...
+
+
+Thank you for your help.
+Merci pour ton aide.
+
+Thank you so much! That might not bring my friends back, but will make this island much safer!
+
+
+Thank you soooo much! Here is some compensation, and you can keep this worthless scroll of paper! I looooove Pearls!
+
+
+Thank you! Here is some compensation, and you can keep this worthless scroll of paper! I looooove Pearls!
+
+
+Thank you! Thank you! Savior!#0
+
+
+Thank you! Thank you! Savior!#1
+
+
+Thank you! That's very generous of you.
+
+
+Thank you, @@. Please take this pair of gloves as a thank you.
+
+
+Thank you, We are now friends, You can visit us when you want!
+
+
+Thank you, here is your reward and... some pocket money.
+
+
+Thank you, here is your reward.
+
+
+Thank you, tell her to come to the bakery at... Actually, nevermind. Just give her this note.
+
+
+Thank you.
+Merci.
+
+Thank you. I'll wait here.
+Merci. Je vais attendre ici.
+
+Thank you...
+
+
+Thankfully that item is too rare. I want somebody to slay the bandit leader, but if you want to do it, you must prove yourself.
+
+
+Thanks God... The crops are safe. Not only that, but the fertilizer works!
+
+
+Thanks Lilica.
+
+
+Thanks a lot for your help revealing the truth.
+
+
+Thanks a lot!
+
+
+Thanks again for the help. You have proven that you are resourceful.
+
+
+Thanks again for the help. You have proven that you are resourceful. Come back again later.
+
+
+Thanks again for your investigations. It was a great help.
+
+
+Thanks for Helping with clear out the store room!
+Merci pour l'aide !
+
+Thanks for all of your help!
+
+
+Thanks for attending even this selfish request of mine.
+
+
+Thanks for attending my call. As you can clearly see, the town is deserted; We only have our own staff in this town.
+
+
+Thanks for avenging my father.
+
+
+Thanks for donating blood. You can donate again in 30 days.
+
+
+Thanks for feeding us earlier. I wanted to give a great dinner to my family, even if just once.
+
+
+Thanks for help! Other guards may need help too!
+
+
+Thanks for helping me out! Here, take this bag. Now if you excuse me...
+
+
+Thanks for helping me out. I know this is nothing, but please accept these herbs I've collected.
+
+
+Thanks for helping me this month. Here is my card, just call me if you need.
+
+
+Thanks for helping my husband. I'll think if there's something I can do for you, why don't you help Oscar on the meanwhile...?
+
+
+Thanks for helping my shop earlier. I forge weapons, but unfortunately, I need more than just iron to forge them.
+
+
+Thanks for helping my son. Here, take 300 GP for your troubles.
+
+
+Thanks for helping my wife! Here is, an @@. May the Mouboo watch over you! o.o
+
+
+Thanks for helping my wife, I'll be forever grateful.
+
+
+Thanks for helping out here. Do you need anything else?
+
+
+Thanks for helping us the last year. I hope to have your help by the next year.
+
+
+Thanks for helping!
+
+
+Thanks for listening to my rambles. I'll gift you a @@. Of course, having a wand won't give you magic...
+
+
+Thanks for playing with us! Can you find my friends?
+
+
+Thanks for playing!
+
+
+Thanks for saving Tulimshar from a famine. I'll be forever grateful.
+
+
+Thanks for saving me. I'll return home on my own, if you don't mind.
+
+
+Thanks for the %s you gave me the other day.
+
+
+Thanks for the Silk Cocoons. With these the new books are going to be exquisite.
+
+
+Thanks for the help earlier.
+
+
+Thanks for the help earlier. Unfortunately, I had no luck yet.
+
+
+Thanks for the help!
+Merci pour l'aide !
+
+Thanks for the help! Arr, that was some fine ale, indeed!
+
+
+Thanks for the help! If you help people, they'll start trusting you. Once they trust you, they'll give you quests which are very important to them;
+
+
+Thanks for the help! Yummy!
+
+
+Thanks for the help, I guess...?
+
+
+Thanks for the help, but no.
+
+
+Thanks for the help.
+
+
+Thanks for the help. Here, take this shirt and some money.
+
+
+Thanks for the honestity, I guess.
+Merci pour l'honnêteté, je suppose.
+
+Thanks for the kindness, but you don't have enough. I need 5!
+
+
+Thanks for the nice gift!
+Merci pour ce présent!
+
+Thanks for the pages you brought. There are still some missing.
+
+
+Thanks for travelling with Andrei Sakar to Artis! However, as you see, this town is deserted.
+
+
+Thanks for using my services!
+
+
+Thanks for vanishing the source of the curse.
+
+
+Thanks for your help with the inks! Now I'll be able to fulfill my tasks adequately. Some of these books were really valuable, and it's important to recreate them as good as possible.
+
+
+Thanks for your help!
+
+
+Thanks for your help, anyway.
+
+
+Thanks for your patronage! The rewards will be available with @@, in case I do find the paradise!
+
+
+Thanks for your services, knight. One day, you might even deserve a seat at this castle.
+
+
+Thanks for your wise words.
+
+
+Thanks mate, that is everything I need! Have a good day!
+
+
+Thanks once again, I know it's not much but here is @@ GP for your troubles.
+Merci beaucoup ! Je sais que ce n'est pas beaucoup mais voici @@ GP en guise de dédommagement.
+
+Thanks to pirate activity, dye has become more difficult to obtain lately.
+
+
+Thanks to this, we can now respawn after death. But that's when the prophecy was told. The prophecy... Of the death of all humans. It gives me shivers.
+
+
+Thanks to you, lowly %s, we will soon have water we deserve!
+
+
+Thanks to you, my friend, we will soon have good water to drink.#0
+
+
+Thanks to you, my friend, we will soon have good water to drink.#1
+
+
+Thanks to you, our glue supply is replenished and we can repair those books.
+
+
+Thanks!
+Merci !
+
+Thanks! Here you go. Perhaps you need another one?
+
+
+Thanks! Here you go. Perhaps you want another one?
+
+
+Thanks! Here's your dye. Do you want to trade any more?
+
+
+Thanks! I'll enjoy it! Here is the promised reward.
+
+
+Thanks! I'll enjoy it! Here, you can keep this.
+
+
+Thanks! Please come back in two hours, then I'll have the trousers ready.
+
+
+Thanks! Thanks! Savior! Hurry up!#0
+
+
+Thanks! Thanks! Savior! Hurry up!#1
+
+
+Thanks, @@. We just wanted to be sure it was you.
+
+
+Thanks, I knew I could count on you!
+
+
+Thanks, I owe you one!
+
+
+Thanks, I think I'll continue exploring.
+
+
+Thanks, I'll just bake the Elixir right away...!
+
+
+Thanks, and bye.
+
+
+Thanks, come back and see me once you found the bug bomb and set it off.
+Merci, reviens me voir une fois que tu l'a trouvé et détonné.
+
+Thanks, enjoy your tea! I will certainly enjoy mine!
+
+
+Thanks, gal!#0
+
+
+Thanks, here is your hat!
+
+
+Thanks, my friend. Here's some money.#0
+
+
+Thanks, my friend. Here's some money.#1
+
+
+Thanks, my friend.#0
+
+
+Thanks, my friend.#1
+
+
+Thanks, my liege.
+
+
+Thanks, pal!#1
+
+
+Thanks, pal. I still got some matters to discuss with the Blue Sage if you excuse me.
+
+
+Thanks, pal. See you tomorrow.
+
+
+Thanks, please tell him I'll make his favorite dish. Oh, could you also deliver him this %s?
+
+
+Thanks, they don't like to drop their Antennas.
+
+
+Thanks, they hate to drop their Legs.
+
+
+Thanks, this is very handy.
+
+
+Thanks.
+
+
+Thanks. A pleasure doing business with you.
+
+
+Thanks. Do you know the KALSPIKE magic? It allows you to summon Poison Spiky Mushroom. Just use a spore.
+
+
+Thanks. I am willing to share you more magic, if you're interested.
+
+
+Thanks. I'm actually conducting experiments with scorpions. Please come back later.
+
+
+Thanks. It is my pleasure.
+
+
+Thanks. Maybe I should stop using Maggot Slime as a bait.
+
+
+Thanks. Please come back later, there is something I want to do for you.
+
+
+Thanks. Snakes seems promising indeed! Maybe they work where scorpions failed. If I succeed, I promise I'll teach you the spell. But for now...
+
+
+Thanks. Take this spare pair of gloves and some change.
+Merci. Prend donc cette paire de gants de rechange.
+
+Thanks. You can go, now.
+
+
+Thanks... I guess...
+
+
+Thanks... I guess...#0
+
+
+Thanks... I guess...#1
+
+
+Thanksgiving
+
+
+That annoying guy on the side of the tree is annoying. I want to ban him.
+
+
+That aside, I see you've helped Hurnscald Mayor, Nivalis Mayor, Halinarzo Librarian and even the Alliance Representative in Tulimshar!
+
+
+That being said, I'll give you an @@, which allows you to learn a skill even if you can't pay for it.
+
+
+That can be done pressing F2 and opening char screen.
+Cela peut être fait en appuyant sur F2 et en ouvrant l'écran de caractères.
+
+That can explain why we have difficulties to find rare gems here. They probably were already extracted.
+
+
+That depends on your luck!#0
+
+
+That depends on your luck!#1
+
+
+That didn't work!
+
+
+That indeed is true, you can see a pile of rusty knives on the nearby table.
+
+
+That is a pity...
+
+
+That is a rare, precious book, which writes itself!
+
+
+That is not how things are done here.
+
+
+That is quite impressive, but you can perform better with more training.
+
+
+That is why I need your help. If you can 'take care of' a bunch of pious and bring me their feathers as proof, I will give you a reward.
+
+
+That is.
+
+
+That lazy mayor... He can't do anything on his own!! Sure, what do you need?
+
+
+That rat... I already spent @@ @@ with him!!
+
+
+That reminds me. I have a friend in Nivalis named Miler who gave me some hints on the recipe. Would you take him a sample of what I gave you?
+
+
+That she was one of the originals.
+
+
+That she would stop the Soul Eater in past and future.
+
+
+That shouldn't been too hard, but do I get something in return?
+
+
+That skill was only to allow you to practice. Now listen well: Transmutation is ##BNOT##b crafting!
+
+
+That was @@.
+
+
+That was a Moubootaur's temple. It is not the kind of place to give a stroll on the park.
+
+
+That was far @@.
+
+
+That was fast. Do not forget to sell their... parts... for some extra cash.
+
+
+That was only to prove you're strong enough on yourself to do whatever you want to do. You have friends.
+
+
+That was quite close. Impressive!
+
+
+That will be %s GP. Are you sure?
+
+
+That will help you to make your very first first craft! Remember to use @@ to change which bonuses can be applied to your craft items.
+
+
+That won't do it. I want to see PINK BLOOD! No... not so cluttered. Just kill the Pinkies on my farm.
+
+
+That works with most of monsters. Well, but we all know from @@ that it is better to stay put and let mobs kill us, right?
+
+
+That would be your next destination, but first, the monster army must be driven out!
+
+
+That wouldn't be fair to you, though. So, you don't need to defeat me.
+
+
+That'll be %s GP.
+
+
+That'll cost you @@/@@ @@.
+
+
+That's %d seconds better than your previous record!
+
+
+That's a *hic* precious item, and you're *hic* not nearly *hic* strong or worth enough to use it!
+
+
+That's a Summon Magic. Unlike regular magic, you can increase its levels directly from skill menu (F5).
+
+
+That's a lot, but I think it will be worth it.
+
+
+That's a lot, but we have a deal!
+
+
+That's a pity.
+
+
+That's a pity. Well, if you change your mind, come back any time.
+
+
+That's a really strange letter from Mr. Frozenheart.
+
+
+That's a super rare potion, and it expires after some time. Take care!
+
+
+That's all, thanks!
+
+
+That's basically how democracy works. You are warranted to stay on the office until something goes gravely wrong.
+
+
+That's because you weren't paying attention!
+
+
+That's easy to know, because the bandits are less coordinated. Perhaps we will be able to sleep in peace this night!
+
+
+That's easy. Cynric will save your money when you ask him to deposit. Or you pick up your money by asking to withdraw.
+
+
+That's everything I wanted to know.
+
+
+That's exactly what I needed!
+C'est exactement ce dont j'avais besoin !
+
+That's exactly why you can't use it to get water. Silly.
+
+
+That's how this world inhabitants deal with cheaters... So don't be one, my friend. You have been warned!
+
+
+That's just a friendly advise. That's how things works around here.
+
+
+That's just nonsense though, I've been there thousands of times and saw no such thing.
+
+
+That's nice, but... I don't have a recipe book.
+
+
+That's none of your bussiness! We should leave here NOW!
+
+
+That's not *hic*... That's not what I asked you for...
+
+
+That's not a couple of skins.
+
+
+That's not everything, though. I am having a bad time fishing. Bring me a @@. I know, it is rare. Good luck with it.
+
+
+That's obviously impossible, so I'll voiding your result!
+
+
+That's ok, kid... I can't read, anyway.
+
+
+That's right, this is unheard of where I come from.
+
+
+That's right.
+
+
+That's rude. I never did anything to you.
+
+
+That's sad to hear.
+
+
+That's some good white for you've got here!
+
+
+That's terrible! Monsters are piling up near city gates! We need to stop their progression.
+
+
+That's the Blub Song
+
+
+That's the right wood, my son. Here, I'll wrap it so you don't accidentaly lose it. Good luck with your quest!#0
+
+
+That's the right wood, my son. Here, I'll wrap it so you don't accidentaly lose it. Good luck with your quest!#1
+
+
+That's too bad, because I could teach you some amazing craft skills! This will need to wait another day, I guess. Oh well.
+
+
+That's very, very risky. I need @@ @@ and @@ @@ to make a Potion to you, and I won't warrant it will work.
+
+
+That's why I'm really confused about this situation, since he was the one performing the sealing of the slimes. I wonder what went wrong.
+
+
+That's why we must stop... THEM... at any costs. I don't know what they're plotting, but it is not in this world inhabitants best interests... nor any other world.
+
+
+That's your answer. Cindy is not a mage, right? This means some mage has bewitched the Yetis to do so, and if my parallel theory is correct, they're either aiming at the Blue Sage, or at her father.
+
+
+That... Didn't work. I'm sorry.
+
+
+That... It... It worked! This is just the right claw!
+
+
+The %s shines with a strange light...
+
+
+The %s wasn't ready yet and you lost it...
+
+
+The %s, yes. I have it. It is a legendary weapon, only one of it exist on the world.
+
+
+The %ss are growing and disturbing the already rather infertile desert soil, preventing our crops from growing.
+
+
+The %ss are the cause for all the little maggots to appear, so we need you to stop the problem at the source.
+
+
+The %ss have been multiplying, crawling from the cave into the magic school, causing damage.
+
+
+The %ss have been reproducing rapidly and their natural habitat, our Croconut trees, are being damaged by the excessive number of them.
+
+
+The @@ I told you to kill are usually at the beach.
+
+
+The @@ are specially dangerous, and archers love them.
+
+
+The @@ is a powerful healing drink.
+
+
+The @@ is not only a fearsome and ruthless leader. He is strong, and he have tricks on his sleeve.
+
+
+The @@ quest is disabled during Christmas event.
+
+
+The @@ quest is disabled during Easter event.
+
+
+The @@ stole my @@. Hahah. I can't find anywhere else to buy it.
+
+
+The @@ tab allows yeye to talk on Discord, too! Yayaya, fancy, uh?
+L'onglet @@ vous permet également de parler à n'importe qui. Qu'il soit sur l'IRC ou Discord! Hey hey, ça vous tente?
+
+The Academy Island is situated east of Land of Fire Village.
+
+
+The Alliance
+
+
+The Alliance Advanced Outposts are closed for maintenance. Group in front of the town entrance!
+
+
+The Alliance Advanced Outposts have been abandoned and locked after the Liberation day.
+
+
+The Alliance Council rarely meets. It's thanks to them that the cities are well protected, if you want my opinion.
+
+
+The Alliance can help you in finding out about who you are, why you are here, or from where you came from. So, about the tasks I want completed.
+
+
+The Alliance have records of everyone. And if you need another trip, talk to me!
+
+
+The Alliance says that @@ monsters have been slain since Hurnscald Siege!
+
+
+The Alliance which was formed after the war!
+
+
+The Arena is currently closed for maintenance.
+
+
+The Blue Sage
+
+
+The Blue Sage is Nivalis Mayor and very knowledgeable on stuff. Lemme write a letter of recommendation for you and sign it in Rakinorf's stead...
+
+
+The Book of Laws
+Le Livre des Lois
+
+The Cave Of Trials, and the Soren's Village... There's only one thing left.
+
+
+The Civil War is one of the stuff which nearly everyone forgot about.
+
+
+The Council is not in session, it has dispersed since Andrei Sakar went to an expedition to Artis. However, it was decided to allow others inside.
+
+
+The Council of Elders has enlisted ducks of our island into a militia. In addition, the masters of the Duck Side have seen fit to spare %d Duck initiates to assist us.
+
+
+The Deluxe Storage is available only to our best customers, and how lucky you! YOU are eligible!
+
+
+The Doctor
+
+
+The Doctor sent you some tea.
+
+
+The Doppelganger Challenge will create a Gladiator Monster which should somehow emulate a PvP experience.
+
+
+The Enchanted Forest is now open to visitors!
+
+
+The Fafi Dragon are really really bad guys. I don't know how they came here, as they're not from the Lands Of Fire, nor from Mana World.
+
+
+The Fafi knows you are here to kill him. They are smart. But I can make a trap.
+
+
+The Fifth Act
+
+
+The Final Act
+
+
+The First Act
+
+
+The Forest
+
+
+The Fortress Island is a terribly dangerous place, so the Alliance sent a scout party beforehand, and set up a tower in front of an... erm... Very disturbing walled place we found.
+
+
+The Fourth Act
+
+
+The Game Masters are assembling a party to storm Hurnscald and liberate it. You should try joining it!
+
+
+The Great Over 100 Hunt
+
+
+The Great Ranged Hunt
+
+
+The Great Slime Hunt
+
+
+The Guard House
+
+
+The Guard patted you on the back.
+
+
+The Guard sends an air kiss to you.
+
+
+The Heroes Hold is divided in seven dungeons level: Novice, Intermediary, Advanced, Expert, Master, Ultimate and Supreme.
+
+
+The High Council acts in the Alliance stead, as it is not possible to reunite every city leader for all minor matters.
+
+
+The High Council is now on session, you were forced to leave the meeting chamber.
+
+
+The High Council's have some subordinates, but those are hand-picked by them.
+
+
+The International Worker Day is a traditional celebration,
+
+
+The La Johanne always have interesting notes.
+
+
+The Land Of Fire Village was the result from the collapse of two worlds. It is a huge village.
+
+
+The Loyalists
+
+
+The MVP is the player who did more damage to the boss.
+
+
+The Magic Academy System is responsible for learning most skills ingame. For that, you need two things: Magic Skill Points and a reagent.
+
+
+The Magic Council can be found at this city. They are the most powerful mages. If you have an impressive magical affinity, they may entitle you to have access to a Mana Stone.
+
+
+The Magic Olympics are held by the Academy Grand Masters roughly quarterly, and allow the brightest mages to acquire scholarships at the Magic Academy.
+
+
+The Magic Olympics consist in twelve challenges with scoreboards.
+
+
+The Magic Olympics happen roughly quarterly, but not always at the same dates. It begins on a monday and ends on the sunday. It usually happens two weeks after the Mining Union Research Request event.
+
+
+The Magical Seal which protects the final room is too strong.
+
+
+The Mana Guardian,
+
+
+The Mana Plane is currently out of reach.
+
+
+The Mana Source
+
+
+The Mana Source, supreme guardian of the world itself, has already took providences.
+
+
+The Mana Stone
+
+
+The Mana Stone... is a scary being. It changes you. I'm no longer myself, but some thieves are still at my side... for now.
+
+
+The Mana Stones were stolen, in evil hands have fallen!
+
+
+The Mana Sword
+
+
+The Mana Sword, Lightbringer?
+
+
+The Market
+
+
+The Miners Union is trying to research this powder.
+
+
+The Monster Army appears to be in complete disarray, sieges are much less frequent.
+
+
+The Monster Army is currently sieging Tulimshar. There are hundreds of dangerous monsters out there right now.
+
+
+The Monster Army is in complete disarray, sieges are much less frequent.
+
+
+The Monster King
+The Monster King
+
+The Monster King Army has occupied several towns!
+
+
+The Monster King Army is attacking towns at random, but players already reduced their organization to @@ %%!
+
+
+The Monster King Army is making siege at towns randomly!
+
+
+The Monster King Army is occupying several towns! Brave players need to group and retake them!
+
+
+The Monster King Army left the cities! What will happen next? Anxiety grows!
+
+
+The Monster King Lair is not in a impregnable mountain, but in a small island now!!
+
+
+The Monster King has managed to take hold of Nivalis and Hurnscald; Travel to Frostia and Halinarzo has also been made difficult.
+
+
+The Monster King is on the move!
+
+
+The Monster King is scary. To be honest, I'm not sure I would be able to do anything if he showed up.
+
+
+The Monster King is sending their armies to attack towns with a seemingly random pattern.
+
+
+The Monster King once again eluded us. How long has it been? His minions are laying waste to all towns, Saul has been killed, Raid has been wounded.
+
+
+The Monster King was so powerful! It is impossible to recover the artifact now, and everyone will die!
+
+
+The Monster King#NLib
+
+
+The Monster King.
+
+
+The Monster War broke out on the very last day of the Mana War. A high council of Tulimshar had set a fortress and storage towers in the canyon, and a few populists went to war.
+
+
+The Mouboo doesn't want to drink the Coffee. Try to force it to drink anyway?
+
+
+The Mouboo is lying down on the grass.
+
+
+The Mouboo seems to be lying in pain.
+
+
+The Moubootaur
+
+
+The Moubootaur is evil. Defeat him and protect the world. Now...
+
+
+The Moubootaur is the final opponent.
+
+
+The Pet Caring Guild will collect them after a while, and capture many others.
+
+
+The Premium Storage is available to all our sponsors and anyone with... references. Such as yourself!
+
+
+The Premium and Deluxe Storages are only available for characters which were reborn at least once.
+
+
+The Professor is so wise that even if you fall asleep while listening to his invisible speech, you'll still learn!!
+
+
+The Professor? Wait, THE Professor? As in, the wisest person on Tulimshar?
+
+
+The Queen's Party?
+
+
+The Red Queen was murdered, but her supporters prolonged the Civil War for at least six years after her death. The grudges were strong back then...
+
+
+The Red Queen's Party?
+
+
+The Regnum Blessing causes all monsters in an area
+
+
+The Second Act
+
+
+The Self-Serving Ice Well!
+
+
+The Shadow Tortuga won the race against the Panthom Lord.
+
+
+The Soul Menhir will attach your soul, so when you die, you'll appear where you last touched it.
+
+
+The Story of Dimonds Cove
+
+
+The Strike Back Is Upon Us!
+
+
+The Supreme and Ultimate floors are just a WIP bonus. So if you don't find them on the five and report back, that'll do.
+
+
+The Team For A Better PvP says that @@ players were killed in fair matches!
+
+
+The Third Act
+
+
+The Throne Room is the last room. You can reactive any switch which turns itself off.
+
+
+The Tulimshar guards needs an freelance employee who would help us with our work. We are searching for people like you.
+
+
+The Wildlife
+
+
+The World Edge, which is where we are, is a holy land, the place where all began and all shall perish. Which is why after the World's Heart was broken, it was vowed to never make a settlement here ever again.
+
+
+The World's Heart is at World's Edge. The *real* Ancient Families are the ones who broke it in parts and brought it to each town.
+
+
+The World's Heart was shattered by the Ancient Families to serve as Soul Menhirs on the world, and this allows respawning after death, but at a cost.
+
+
+The Yeti King
+
+
+The Yetifly drops you off the cliff. Good job, noob.
+
+
+The absolute hero: %s
+
+
+The account with highest votes will win. Ties will be solved by randomness.
+
+
+The accounts need 15 days to set Pin Codes.
+
+
+The accurate hero: %s
+
+
+The advantage of fighting with a ranged weapon is that you can stay out of the enemy's range. So there is no need to spend training on your resistance.
+
+
+The aegis, entrusted to the tree,
+
+
+The alliance also have a special program, called ##BGrand Hunter Quest##b, where you kill 10,000 of a monster and get great rewards.
+
+
+The alliance will take %s GP as fee, +%d%% tax over donations.
+
+
+The answers might need to have whitespaces. DO NOT, BY ALL MEANS, insert two whitespaces instead of one.
+
+
+The antennas by themselves mean nothing, I want to see you killing my ENEMIES, the pinkies!
+
+
+The average player level is @@
+
+
+The axe, returned to its owner,
+
+
+The bad one, is that you'll have to guide yourself without the map.
+
+
+The bank and item storage is shared between all characters within a same account.
+
+
+The best thing would be to let you make the bow by yourself. But I guess, that would go to far. And it would take ages to get a high quality bow.
+
+
+The best wares!
+
+
+The big one without hat
+
+
+The biggest mine, where you could find Mana Stones in the past, is now entirely depleted. Not a single stone left.
+
+
+The birthday of me and my girlfriend is coming up. Bring me 12 @@ and I'll make the fertilizer for you.
+
+
+The blame of failure will be over you, but so will be the glory of success. There's no death penalty for others.
+
+
+The boss can blind players. Blind will reduce hit rate and evasion in 25%.
+
+
+The boss you discovered has ran away!
+
+
+The bottom-most the water, the better the bonus.
+
+
+The bow I gave you was a masterpiece.
+
+
+The bugs there can be pretty vicious. Do you know what's worse though? Lag.
+
+
+The chant is ##B EMOC OTEM ITEY GNIK ##b. Good luck!
+
+
+The chant must be exact, without any prefix or suffix.
+
+
+The chest is unlocked and empty.
+
+
+The children are safe, aren't they...?
+
+
+The children are safe, could you rent me your sword?
+
+
+The city guard won't need help from strangers anymore.
+
+
+The city is still under repairs, but town square is safe already.
+
+
+The city only flourished because Janett Platinum had the idea to build city walls surrounding this city.
+
+
+The city was defended with success! GG, everyone!
+
+
+The clan will end on this generation. And hopefully, the world will survive longer, things aren't looking well right now.
+
+
+The cold climate is ideal for slimes, penguins, and other icy creatures. You can find lots of... ice, of course!
+
+
+The cooking contest is coming up, and I don't want to lose to @@... Halinarzo's cook is just THAT good.
+
+
+The cost for Guild Vault is @@ GP.
+
+
+The cost to create a guild is @@ GP.
+
+
+The council, however, supported the premier. He might have accepted the death sentence quietly, but the council would hear none of it. Benjamin took over and incited a civil war.
+
+
+The crops are under attack? That's terrible!
+
+
+The crops have failed again but the government keeps wasting money on research, for what purposes, as if I would know.
+
+
+The crow took off to his last flight.
+
+
+The crystal has a shard missing.
+
+
+The crystal looks damaged.
+
+
+The current town administrator will be inscribed for re-election automatically.
+
+
+The curse was done by nobody less than... the Moubootaur.
+
+
+The desert climate means you'll find mostly maggots and scorpions. Their drops include cactus drinks, cake, knifes, black pearls, gold, and other common things.
+
+
+The doctor quickly analyzes you with some tool. Which looks like a screwdriver? Probably just a generic scanner, though.
+
+
+The doctor raises an eyebrow at you.
+
+
+The doctor told me to move here after I got tuberculosis... But I like Tulimshar so much! Please bring me Tulimshar souvenirs, I'll pay you well!
+
+
+The door is locked
+
+
+The door is locked!
+
+
+The door is locked, I should come back later.
+
+
+The door is locked, you should speak to Carla about it.
+
+
+The door is locked.
+
+
+The door is password-protected, so your friends can enter but strangers stay outside.
+
+
+The door is sealed. The riddle says: “I drink, I become, I am. Don't say my name, but say why you know me. For, I am the best in the world.â€
+
+
+The door won't budge.
+
+
+The dream towers have shown up. They have several floors filled with treasure and dangerous monsters.
+
+
+The dyes are to disguise myself, I don't want to get caught. The potions are for safety, who knows what I'll face?
+Les dyes doivent me déguiser, je ne veux pas me faire prendre. Les potions sont pour la sécurité, qui sait à quoi je vais faire face?
+
+The east power system is offline.
+
+
+The effect in this case is based on the element.
+
+
+The effects and uses - if any - are still unknown.
+
+
+The elements have alternate names, like "soil" which equals to "earth".
+
+
+The elf seems busy. He ignores you.
+
+
+The elf seems busy. She ignores you.
+
+
+The engine of fate will once again move!
+
+
+The event is over!
+
+
+The event starts hourly, when the minute clock hits zero. I'll tell everyone on this room when it starts and ends.
+
+
+The farmer seems mad and in need of help. Will you help him?
+
+
+The farther you go on the sequence, the better the payout!
+
+
+The fee only need to be paid once and will work in every town.
+
+
+The fee to use this room is %s GP.
+
+
+The fertile climate is ideal for mushrooms. You can also find lots of wood.
+
+
+The final sentence still belongs to LoF Admins.
+
+
+The first job,
+
+
+The first one is easy.
+
+
+The first page contains the universal rules that have been agreed upon throughout the land.
+La première page contient les règles universelles qui ont été acceptées à travers l'intégralité de la terre.
+
+The first stage is on the desert canyons. You must give a full circle on the canyon in 90 seconds.
+
+
+The first way,
+
+
+The fishing rod allows a quick income by selling fishes. However, reaching the fisherman might require some exploration... The whole world is full of secrets.
+
+
+The following skill is needed: %s%s (Lv. %d)
+
+
+The fortress hero: %s
+
+
+The frontier hero: %s
+
+
+The gates are firmly shut by some weird magical power. %s
+
+
+The gates are firmly shut, no amount of force will break them.
+
+
+The gates are firmly shut. A warning is on the door, "DO NOT ENTER. Guild Only."
+
+
+The gates to Aethyr have opened themselves to you.
+
+
+The giant boogeyman!
+Le grand boogeyman !
+
+The girl turns around and you hear her sniffing, she is probably crying...
+
+
+The goal is simple - I'll spawn an energy ball and you must kill it quickly. You'll be disqualified if you equip a non-magical weapon at any time.
+
+
+The good one, is that now I know the right path.
+
+
+The grand winner will get a %s. Both the first and second place will get a tuition at the Magic Academy.
+
+
+The great fire did very few causalities, but it destroyed a lot of infrastructure and ruined the economy. Famine and chaos ensued, we almost were wiped out back then. Maybe it would be best if we had indeed been wiped out...
+
+
+The great prize is @@.
+
+
+The great prize is to unlock a pet!
+
+
+The greater the distance to your target is, the more important is the strength and direction of the wind. Even if you are exploring a cave, there might be air flow caused by the corners in the cave.
+
+
+The group of warriors which went into the cave to rescue my precious Cindy still haven't returned... I'm worried with them, too...
+
+
+The guard eyes you with suspcion.
+
+
+The guild's "%s" currently contribute with %02d%% EXP.
+
+
+The harsh pinkie holds secrets,
+
+
+The heroes met their rest.
+
+
+The hooded man was about to deliver me a final blow, but then he saw the Apple I've stole...
+
+
+The house is a mess. They need me here. Also.
+
+
+The hut is... empty. And it doesn't have a fireplace, either.
+
+
+The innominable they shall face
+
+
+The item impact suggests jumping inside should be safe if you have enough life.
+
+
+The item impact suggests jumping inside will leave you badly wounded.
+
+
+The item impact suggests you don't have enough vitality to jump inside.
+
+
+The item must have a previous bonus, which WILL BE LOST!
+
+
+The item will be lost forever!
+
+
+The item will be lost forever.
+
+
+The key is on the sewer %s path. Be careful. May the light be with you.
+
+
+The kid is not paying attention to you.
+
+
+The knob has... melted down? What?
+
+
+The last one is %s. You will meet him in the future, so no spoilers. Time traveler word.
+
+
+The last task I could give you is to exterminate 200 @@. They actually stop miners progress on the mine.
+
+
+The last time they were seen... They went to explore the Desert Temple. None returned alive.
+
+
+The lifestone pendant allows you a quicker HP recovery. Life is more important than defense.
+
+
+The lighting hero: %s
+
+
+The lockpick broke.
+
+
+The mage thief tried to all power absorb,
+
+
+The maggots will spawn in @@ at random.
+
+
+The magic accumulated backfires at you!
+
+
+The magic council have only a handful set of them, and they let only the most skilled ones get it.
+
+
+The magic power outflowing in the room prevents you from leaving.
+
+
+The main power system is offline.
+
+
+The mana bridge is closed at the moment.
+
+
+The mana bridge to Aeros is open! To participate on event, talk to ##BSoul Menhir##b!
+
+
+The mana war stroke, and many people died,
+
+
+The map starts getting darker with the heat of the flame, and curiously, new shapes starts to form...
+
+
+The masters have decided you are to be given honorary initiation into the Duck Side. The Duck Side is powerful, much more so than you could possibly understand.
+
+
+The masters of the Duck Side, The Council of Elders, and King DD himself, on behalf of all ducks, thank you for your help. We wouldn't have survived without it.
+
+
+The mayor, Rakinorf, is probably on the Inn upstairs, drinking himself to death.
+
+
+The message cannot be empty
+Ce message ne peut pas être vide
+
+The might contained in this curious object is too powerful. You have to be at least level 20 to harness it.
+
+
+The mightiest mage, which had control over the runes;
+
+
+The mighty Mana Stone does not reacts against you.
+
+
+The miner goes to count your stuff again.
+
+
+The mines are over a Volcano. Unless you're a Redy, the heat will slowly chip away your health if you go deep. But drinking iced water can improve temporarily your situation.
+
+
+The mines beyond this point have been shut at 280 AT because Terranite. You've been warned!
+
+
+The mist over the Impregnable Fortress Peak finally lowered down, and it seems... The peaks are no more!
+
+
+The monster hunting program will end, and what will you do?
+
+
+The monsters here are too strong, and as I said before, I can't get close to the Transcendence Portal nor to get training.
+
+
+The monsters on each Heroes Hold Dungeon will drop @@, a coin which can only be found here.
+
+
+The most aggressive and main ones are:
+
+
+The most basic grinding camp for your homunculus.
+
+
+The most common treasure box uses %s and can opened many times. However, this is a special treasure box. You'll need a %s to open it.
+
+
+The most famous nymphs, are those who wear stuff made of Snake Skin.
+
+
+The most important thing to improve is your dexterity. When you use a bow, it is your dexterity that determines if you are able to hit your enemy where it hurts most.
+
+
+The most powerful spells can, sometimes, summon some monster you didn't wanted to.
+
+
+The most widespread race in the continent, highly versatile, perfect all-rounders.
+
+
+The mouboo is sleeping soundly. The curse is still there.
+
+
+The mouboo looks a bit less sickly. But this is not enough.
+
+
+The mouboo looks a bit more healthy. A little more should do.
+
+
+The mouboo seems to want to thank you, but is still too weak. Let's finish this healing.
+
+
+The mouboo still looks terrible, but you can see a small difference.
+
+
+The name of the wizard of Aethyr is the key to open its gates. I've heard it'll open for a lowly %s as you, as long that you know both. But I don't think anyone here would share that with you!
+
+
+The nanorob-- err, the *magic* will seal all your wounds. You trust Basil, right?
+
+
+The next page begins to list the complex trading laws and political rules. The word "%s" shows up everywhere.
+
+
+The north power system is offline.
+
+
+The number of players must be precise, meaning if someone doesn't joins,
+
+
+The nurse... The nurse is... Doing all she can... To help me, though.
+
+
+The objective of this event is to ##Bslay the Monster Admiral##b.
+
+
+The old man seems busy. He ignores you.
+
+
+The one with a star (*) is advised.
+
+
+The ones around here are specially nasty. They steal stuff and seal them on 'present boxes', just to amuse as people try to open those...
+
+
+The only readable thing is an old stain of blood.
+
+
+The other councilors?
+
+
+The other one claims to be a dangerous bandit and to teach how to steal from monsters!
+
+
+The pan is empty, but it smells like fresh cookies.
+
+
+The passwords doesn't match.
+
+
+The path to reach Eugene is hidden. However, if you pay attention to the map, you should figure out how to reach that island without swimming.
+
+
+The pirate ship captain appear! TAKE CARE!!
+
+
+The pirates amass for their siege, but they will not attack yet. Return when you are stronger. King DD is working to find a solution.
+
+
+The pirates have been surrounding our island for many sun rises. We expect they will attack any time.
+
+
+The player is offline or does not exist.
+
+
+The potion is baked, and the time is now running! Read as fast as you can, don't miss details!
+
+
+The power of Soren's House kicks @@ like a game master.
+
+
+The power system is ##Bactive##b on the east.
+
+
+The power system is ##Bactive##b on the main.
+
+
+The power system is ##Bactive##b on the north.
+
+
+The power system is ##Bactive##b on the south.
+
+
+The power system is ##Bactive##b on the west.
+
+
+The power which lies in Candor acknowledges your strength.
+
+
+The power which lies in Candor rejects your strength.
+
+
+The pressure you did made the door burst open. It is unusually quiet inside...
+
+
+The previous attempt will be resumed.
+
+
+The previous mayor was an amazing mayor, but even so, he lost the office after the Monster King attacked.
+
+
+The price raises hourly, don't leave to make it on the last day!
+
+
+The prizes are only for the top 10. Loratay on Land Of Fire Village can make, for limited time, a @@ for you if you want.
+
+
+The problem is that Halinarzo was destroyed in the never-ending war and was just recently rebuilt.
+
+
+The problem is... The slimes ate the keys for the chests. This is not the first time such thing happens.
+
+
+The problem with typos is - unpredictable side effects.
+
+
+The professor is always on the Magic Council, the northmost building. If you sit on the area in front of him (marked with a red rug), you'll gain Experience, even while AFK.
+
+
+The project is involving only a small group of members, but would welcome anyone who knows how to assist in development.
+
+
+The reagent is always the same for the same class. If you do not have enough reagents but have an @@, it'll be used to continue.
+
+
+The real Monster King is probably on his fortress. It'll take more than that to take him down.
+
+
+The reason why they are not occupying the towns like before is still unknown.
+
+
+The register fee is 2000 GP.
+La tax d'enregistrement est de 2000 GP.
+
+The rent lasts 30 days.
+
+
+The requested char "%s" is not online or does not exist.
+
+
+The runes, burried with its owner.
+
+
+The sailor chugs his beer.
+Le marin renverse sa bière.
+
+The sailor turns his back to you.
+Le marin te tourne le dos.
+
+The sailors take you aboard their ship.
+Les marins te prennent à bord de leur navire.
+
+The sake wasn't ready yet and you lost it...
+
+
+The sea route I take is very dangerous, and full of pirates. You're too weak to travel with me.
+
+
+The seal retaliates! It was super effective. You are dead!
+
+
+The seal was broken!
+
+
+The seals having been broken, the barrier was weakened! You did it! The path is now open!
+
+
+The seals slowly grow stronger as time passes!
+
+
+The second job,
+
+
+The second stage is in the first cave to northwest you can find.
+
+
+The second way,
+
+
+The selected item is too weak. %s will only tweak items level %d or higher.
+
+
+The sewer mouth is locked.
+
+
+The ship can bring you to the town of Hurnscald, but we have a problem: It is currently being occupied by a Monster Army.
+
+
+The ship is locked, probably unable to leave port.
+
+
+The sides accept only one adventurer. You'll also lose access to General Chat upon joining, and will have to use #world.
+
+
+The singularities keep arming themselves up again, so I have roughly five minutes between first disarm and entering here.
+
+
+The situation is different if someone from Hurnscald went to her rescue. That's why I ask you to help my Cindy.
+
+
+The situation is grim, and some want the return of the Platinum Red Queen. The "Soul Eater" is back, pretending to be her ghost, and the Black Razor believed on it. They made "The Queen's Party" and want to reinstate the queen.
+
+
+The situation is too serious to you be lying... Please, go fetch the items...
+
+
+The skill would be wasted on a noob like you. You are weak. Go gain a few levels and then return here.
+
+
+The skill would be wasted on a noob mage like you. Go get more magic power first!
+
+
+The soldiers are resting at the moment.
+
+
+The sorcerer hero: %s
+
+
+The south power system is offline.
+
+
+The spell backfires!
+
+
+The spell fails!
+
+
+The spell takes a mind of its own backfires!
+
+
+The stairs have magic cast on them, I cannot climb.
+
+
+The stairs lead to nowhere. However, there is a magic sigil on the bottom.
+
+
+The statue doesn't replies.
+
+
+The stolen christmas boxes!! Christmas is RUINED!!!
+
+
+The storehouse here is overrun with house maggots.
+L'entrepôt est envahis de house maggots.
+
+The storehouse is still over run with house maggots.
+L'entrepôt est toujours envahis de house maggots.
+
+The story was so cool!
+
+
+The strategy is simple. When you hit the enemy, walk one or two tiles backwards.
+La stratégie est simple. Lorsque tu frappe l'ennemi, recule d'une ou deux cases.
+
+The study skill allows you to see the exact health a monster have, as well some details.
+
+
+The supreme guardian of the "Talpan" creatures, such as you.
+
+
+The sword glows too much. Perhaps @@ could take it.
+
+
+The symbols at the end of the book look to be warnings, though.
+
+
+The teddy picks it and goes running to somewhere it can eat in peace. Now we know how we can please our little friend - with %s! How we didn't think on that before?!
+
+
+The teddy quickly takes the honey and fills the pot. It is really hungry!
+
+
+The teddy stares at it but does not approach. Maybe it is not hungry, or it doesn't want the food you offered.
+
+
+The title is transferred when the MVP is killed (either in PVP or by the boss), or when time runs out.
+
+
+The torch is currently lit.
+
+
+The torch is lit.
+
+
+The town administrator benefits for free services on the town.
+
+
+The tree doesn't likes your selfishness.
+
+
+The tree generously offer you one of its fruits.
+
+
+The trick at tracing parallel, is finding the difference. In this world, Cindy gives a %s, a personal belonging of her, to those whom rescue her. What is the reward on your world?
+
+
+The trickster can be found right here.
+
+
+The tyrant, which could shot from any distance;
+
+
+The uniform would be: @@, @@, @@ and @@
+
+
+The usage of @sk-commands was deprecated
+
+
+The village name is difficult to read.
+
+
+The vote was cast.
+
+
+The wage is high?
+
+
+The warp crystal broke.
+
+
+The warrior turns towards you, grinning broadly.
+
+
+The water was too shallow...
+
+
+The waterfall open, and you may now pass.
+
+
+The way is full of dangers. Not only king soldiers, but the beast has an army of their own!
+
+
+The west power system is offline.
+
+
+The whole team is very distressed, too. Could you take the opportunity to see if the team is putting the blame on Peetu? Thanks in advance.
+
+
+The wind is blowing from @@.
+
+
+The window appears to be unlocked. It might have been open some time ago.
+
+
+The wine wasn't ready yet and you lost it...
+
+
+The wizard seems busy. He ignores you.
+
+
+The wood bends a little, but doesn't breaks.
+
+
+The wood, Jack the Lumberjack used to deliver me, but he isn't delivering anymore. And the string was imported from Halinarzo.
+
+
+The world belong to Mouboos. They are sublime creatures!
+
+
+The world hero %s and the High Council Officers will announce the times to raid the Fortress.
+
+
+The world is spiniiiiiiiing...
+
+
+The... Mou... Boo... Taur...
+
+
+Their economy provide many edible items and potions.
+
+
+Their fight was not damned,
+
+
+Their first stop was Hurnscald, so please go to Hurnscald Townhall, and speak with the mayor, he can help you getting there. You can't reach there normally, after all.
+
+
+Their level was too low.
+
+
+Their main tasks are ensuring fair trading, protecting the cities from monster invasions, and guarding the Mana Stones.
+
+
+Then I craft some new type of strong desert shirt, to protect users from snakes and sunlight.
+
+
+Then I hope you can keep your grades high, hmm hmm!
+
+
+Then I returned to Tulimshar. Now I do research, vote on the Magic Council meetings, and I also teach young mages about Transmutation magic.
+
+
+Then I'll be sure you can't talk again.
+
+
+Then along came a soul as happy as can be
+
+
+Then could you perhaps kill 12 @@ for me?!
+Alors pourriez-vous peut-être tuer 12 @@ pour moi?!
+
+Then get to work already!
+
+
+Then please bring me this, so I can help you back.
+
+
+Then prove yourself!
+
+
+Then so be it. Farewell.
+
+
+Then someone of a scholarship rank above your must approve it, and say that your work is enough to the next scholar rank.
+
+
+Then take the middle entrance.
+
+
+Then we have %s. You met her. She guards all Talpan beings, such as Humans, Elves, Reidys, Orcs and whatever. She is an evil woman. She grants nothing to her followers.
+
+
+Then you should look in buying Caffeinne. Curse is a status ailment which reduces your attack, nullifies your luck and makes you a snail. Simple Curses can be cured with time, too.
+
+
+Then you'll be able to buy furniture and utility.
+
+
+Then, would you like me to transform one of your gems?#0
+
+
+Then, would you like me to transform one of your gems?#1
+
+
+There I was knee deep in pinkie pattie,
+
+
+There are Monster Attacks every month, how do you have time for tea parties?!
+
+
+There are Pious on the island as well! %%i
+
+
+There are also less common ailments:
+
+
+There are alternatives to the chant words, anyone can do it if they know the basic structure.
+
+
+There are banks all over the world. Usually every important village or city has one.
+
+
+There are five floors, and they're all very dangerous. But there are riches to be found.
+
+
+There are four basic class:
+
+
+There are no new players to welcome.
+
+
+There are only a few pages missing.
+
+
+There are only four which you could want to know about.
+
+
+There are people in the world who need help!
+
+
+There are rumors about a sacred elf land, where our antecessors lived in peacefully somewhere close to here, but the path was lost. That's why we now live with dwarves.
+
+
+There are secret caves on this city. In fact, Tulimshar holds many misteries.
+
+
+There are several minor status conditions, which may buff or debuff you.
+
+
+There are some old rusty knives on the table. Would you like to take one?
+Il y a de vieux couteaux rouillés sur la table. Voulez-vous en prendre un?
+
+There are some sailors near the forge. Think outside the box - or rather, inside it, unless you have a fortune to buy the items.
+
+
+There are some slimes around in the deeper parts of the library. Remember to kill them alone, and beware, if they kill themselves it won't count.
+
+
+There are some stones scattered around the world that mark your point of return in case of defeats. Some ship chests may also serve as a return point. You can also select some beds in case of defeats.
+
+
+There are still some monsters left! Do you want to abort the quest?
+
+
+There are three kind of monsters which frequently attacks our fair vessel.
+Il existe trois types de monstres qui envahissent fréquemment notre beau vaisseau.
+
+There are three singularities on this island. If I disarm more than one, I'll have a penalty.
+
+
+There are three types of items.
+
+
+There are three types of monsters: the aggressive, the neutral, and the collaborative.
+
+
+There doesn't seem to be any physical wound.
+
+
+There exist more food than you know. But this time I don't want anything extravagant, just 6 @@ should be fine.
+
+
+There is a NPC called Trainer, just outside this ship.
+Il y a un PNJ appelé Trainer, juste à l'extérieur, sur l'île de Candor
+
+There is a chasm.
+
+
+There is a rare kind of scorpion, the Murderer Scorpion. Very dangerous.
+
+
+There is a slight breeze coming from @@.
+
+
+There is a time limit, which is already running.
+
+
+There is no EXP penalty, but you cannot go back without either completing the cave, or dying.
+
+
+There is no free speech. Censorship!
+
+
+There is no honor in fighting a weak opponent.
+Il n'y a aucun honneur à combattre un adversaire faible.
+
+There is no other solution; A desperate struggle is needed...
+
+
+There is only one way towards the best equipment: Smith away!
+
+
+There is only so much magical power your body can handle without breaking.
+
+
+There is someone who might know how to turn a slime back in a human. But alas, that old fart doesn't live here.
+
+
+There isn't enough, not even for NPCs. We need at least 100.
+
+
+There may be some exceptions. Anyway, this item clearly cannot be refined.
+
+
+There might be reward for anyone who doesn't gets a rank, but I never count on that. So, let's start?
+
+
+There probably is a huge, flashing orange exclamation mark over a suitable knife you could take and nobody would mind.
+
+
+There seems to be signs of a fight long forgotten, but it still reeks blood.
+
+
+There seems to be sort of lock preventing you from passing.
+
+
+There was a visitor with a mask? I didn't notice. You see, I spend most of my time in the workshop, and concentrate on my work. There are other helpers who attend to the visitors. And hopefully keep them from disturbing my concentration.
+
+
+There was nobody on the Bandit Lord's room.
+
+
+There will be consequences.
+
+
+There you are! A towel is really the most important item for a hitchhiker to have.
+
+
+There you go!
+
+
+There you go! Thanks for all the help!
+
+
+There you go, %s. If you don't know anything about crafting I heard someone on Tulimshar's Terranite Forge can help?
+
+
+There you go, a special and rare @@!
+
+
+There you go, boring person... You will look like the trees here. Ugh, disgusting.
+
+
+There you go, your Valentine Dress!
+
+
+There you go. Craft hard, mwhahahahaha!
+
+
+There you go. Enjoy it!
+
+
+There you go. I wish you good luck. @@
+
+
+There'll be monsters, the maze is randomly generated, and the initial position for you and the Ent is not fixed. Therefore, you may begin handicapped in some cases depending on luck only.
+
+
+There's a big prize in the end... Could you bring me some later?
+
+
+There's a long time we don't eat anything. Bring us @@! Five should do it.
+
+
+There's a shiny safe here. How much money is inside? Nobody is looking at you, great!
+
+
+There's a small, damp corritor, which you could crawl though.
+
+
+There's a strong magic barrier. We need to disarm it in order to enter there.
+
+
+There's a summoning circle on Tulimshar Sewers. You can reach either by boat, if you have the money - I'll lend you some; Or by the long way.
+
+
+There's also Morgan, who lives in Candor. She is a Redy, and is married with Zitoni. They are great alchemists.
+
+
+There's also a job level, which produces green sparkles when you level it.
+
+
+There's also weather, meaning it can rain, snow, or even happen a sandstorm. They are usually cosmetic, but...
+
+
+There's always some chance that THE ITEM WILL BREAK, beware!
+
+
+There's an annoying half-wose-half-elf called Thorn trying to impress me with his wose side!
+
+
+There's no change in the condition of the poor Mouboo.
+
+
+There's no help available for this event.
+
+
+There's no need to go in that Yeti infested den right now.
+
+
+There's no one who knows Butterfly Caves better than me, child. These are MY caves, after all.
+
+
+There's no reason to enter these caves now.
+
+
+There's no thank me, its'kay you're welcome
+
+
+There's no time limit on this riddle.
+
+
+There's not everything I've asked for...
+il n'y a pas tout ce que je t'ai demandé.
+
+There's nothing in the Magic Council Room, though. It's just a perk.
+
+
+There's one on the basement of this house. If you kill it, Hasan will think on you as a hero and won't steal you anymore.
+
+
+There's some diversity, but you should keep aiming at helping people and killing small-fry. If you ever want a challenge, there's a Giant Maggot inside the town which can kill you in one hit.
+
+
+There's somewhere I want you to go, but you're not strong enough yet, so be patient and help them first.
+
+
+There's usually not a lot of things to do past these gates, but some monsters which only lives on the Land of Fire can only be found there!
+
+
+There, now you can not only craft items, but craft AWESOME ITEMS!
+
+
+There... *hic* They will expire *hic* in just @@... Or on logout.
+
+
+Therefore we need a lot of glue, but our supplies are nearly used up. I need @@/@@ @@ as ingredient to make new glue.
+
+
+Therefore, I shall head to the %s, and look for %s. If anyone knows how to fix it, might as well be that rat-faced... being.
+
+
+Therefore, children of Merlin, go back to your world, and ask the Blue Sage Nikolai about it. The blue sage may fake angerness or try to dodge the question, but they are a good person. Still, you should ensure you're on his good side.
+
+
+Therefore, just for a short while, I offer to be your blade.
+
+
+Therefore, please choose a permanent stat-boosting fruit.
+
+
+Therefore, the Alliance created a system so when you kill a monster, depending on its strength, you'll get Monster Points.
+
+
+Therefore... Are you perhaps interested in some... illicit goods? %%p
+
+
+Thermin is also known as the lost city. It was once founded to mine ores, and export to everyone.
+
+
+These are being crafted by Alan.
+
+
+These are dangerous caves since Marley and her gang made it a hideout.
+
+
+These are saved by walking in warp portals or touching Soul Menhirs.
+
+
+These assassins will catch me if I do that now!
+
+
+These barrels are sealed and heavy. It's impossible to know what's inside. There's a marking on them, you copy them somewhere.
+
+
+These battle plans are all wrong; They trace routes on the Canyon which doesn't exist...
+
+
+These boxes cannot be sold, but they'll be deleted a while after the event ends.
+
+
+These cliffs are no place for weak people like you. You better teleport yourself away as soon as possible!
+
+
+These gold fishes multiply horribly and have no natural predator.
+
+
+These monsters are a great source of raw crafting materials.
+
+
+These paths are all wrong! What is the problem with this map?!
+
+
+These people have lots of unspent Strange Coins! Waw!
+
+
+These towers must hold unfathomable secrets from %s.
+
+
+These weapons are only for masters, so you must get levels before being able to use them.
+
+
+These will do just fine.
+
+
+Theta Book
+Theta Book
+
+Theta Ring
+Theta Ring
+
+They also determine rules, and enforce them. We live under a disguised dictatorship.
+
+
+They also don't need much intelligence or magic equipment.
+
+
+They also hold control over the Mana Stones, but this is not the problem.
+
+
+They also recently took over some city affairs. It's good they're protecting us, but I'm afraid of them creeping into our lives!
+
+
+They are at north of the town.
+
+
+They are filled with a strange gas which makes they deflect attacks. They are done from a material which cannot be cut easily.
+
+
+They are hidden in the crypts, inside a cave.
+
+
+They are highly intelligent, and have higher magical affinity, and live longer, but lacks creativity.
+
+
+They are in the basement, pulling the strings from behind.
+
+
+They are known to use a revolutionary hair growth formula, which can give you a wild thatch even if you are bald!
+
+
+They are now like most monsters. I pity them. Their sacrifice was not in vain, though.
+
+
+They are strict with who is allowed inside, so you'll need either elf or ukar friends to pass.
+
+
+They became friends and Dimond told Merlin about her idea.
+
+
+They came in the night, always taking what does not belong to them.... The SLIMES!
+
+
+They can be a bit lacking in defensive power, however.
+
+
+They can be equipped to make your look more interesting or to improve some of its features.
+
+
+They cheat! They make silly tricks which look like magic.
+
+
+They did nothing good! They claim the Platinum Queen was a savior, all lies!
+
+
+They had a TMWA server, but the Monster King went hyperactive and... Well, it crashed here.
+
+
+They had a critical role in ensuring the human's race survival to The Great Fire.
+
+
+They have 10x more chance to drop a @@, so it is a great deal!
+
+
+They haven't found Mana Stones yet, so no magic, but alchemy is strong. I don't know what caused the Great Fire, and the whole event is time-locked. You can ask Falkrun for more about the Great Fire. That's what you need to know for now.
+
+
+They jump left and right and left and right again, and I can't catch them.
+
+
+They left me no inheritance, either. Even surviving has been a struggle. I'm not strong enough to kill the living potatoes for @@.
+
+
+They live below this town. Can you do this for me?
+
+
+They must be hiding in some cave... It's a shame!
+
+
+They must be reagents used in alchemy.
+
+
+They must never know we had it. Their sacrifices must be forgotten. For the sake of all.
+
+
+They need to be feed, when hunger falls below 75. @@ is the best food for them.
+
+
+They promised to travel to the ##BWorld Edge##b to fetch a Mana Fragment. The wisest of them said it was the only chance.
+
+
+They rely entirely in intelligence and magic equipment.
+
+
+They restrict access to it to prevent new Monster Kings from emerging. They also keep record on every mage in the world.
+
+
+They set up shop in the whole town, so if you are in need of upgrading your gear or buying health food, it might be a good idea to pay them a visit.
+
+
+They shouldn't. Could you perhaps, kindly bring me 1 @@?
+
+
+They use magic to boost their bodies, allowing them to do very, VERY powerful physical attacks.
+
+
+They use mana to create magic attacks and blast their foes away.
+
+
+They used to be an advanced civilization long long ago, but they decided to go against the Moubootaur.
+
+
+They used to export food and other things but there has been radio silence recentely; Which is why Andrei Sakar and a group of adventurers borrowed Nard's ship and went to investigate.
+
+
+They wanted magic to be once again free!
+
+
+They were a noob.
+
+
+They were given with @@ by @@.
+
+
+They were never again seen. None of them. We burnt all records about everyone here, and blamed the Monster King.
+
+
+They were sending food and supplies to the Alliance, but in the past months, there was a deadly silence. Not a single sign of life came from there.
+
+
+They will all perish, along most of wildlife, according to the legend passed down.
+
+
+They will not attack anyone unless they are attacked first.
+
+
+They will try to prove your worth before, though. So be ready.
+
+
+They'll also start spawning on whole map, so be careful.
+
+
+They're back - and they took hold of your majesty - my husband - king Arthur!
+
+
+They're not magic, but yayaya, people like to say it is! Yeyeye.
+Il n'y a plus pas magiques, mais les gens aiment dire l'inverse ! Hey hey.
+
+They're not too dangerous, but they can take a lot of hits. So, if you kill 10 of them, I'll know you're dedicated in learning which monsters are out there.
+
+
+They're scary, don't you think so?
+Ils sont effrayants, tu ne le pense pas?
+
+They're strong, so keep fighting Maggots and Scorpions which you're used to, until you get stronger.
+
+
+They're too strong for me!
+Ils sont trop forts pour moi!
+
+They're with me.
+
+
+Thief
+Voleur
+
+Think on Season Quests as a yearly quest which you have three months to do.
+
+
+Think on it like a... perk, for having helped the adventurers in this world. I just need to check if you are eligible, hold still.
+
+
+Thinking a bit... Yes, you definitely should go to the mines. They have been infested by slimes and people sometimes worry they'll leave and attack the town, but you should be capable of suppressing them.
+
+
+Thinking well, I've heard Cyndala could bleach these pants for free; Must be because their ugliness.
+
+
+Thinking well... There's something behind it! A secret window!
+
+
+Third Tier
+
+
+This %s will do. I mean, it won't be a comfortable trip, but you are in an emergency situation.
+
+
+This @@ is a nice stuff. I can refine it for @@ GP and @@ @@.
+
+
+This Portal can send your soul back to the world, along any items, money and/or experience gained.
+
+
+This Real Estate is available for rent for only @@ GP!
+
+
+This a simple game; Choose one of the shrines - west or east. The one at west is %s, the one at east is %s.
+
+
+This action CANNOT BE UNDONE.
+
+
+This area is not yet ready. Please use the portal to the right instead.
+
+
+This area is only for level 70 upwards.
+
+
+This barrel is a courtesy from Dimond Cove Inn.
+
+
+This barrel seems suspicious...
+
+
+This basically means that it'll be another day without it.
+
+
+This book is too advanced to read. You need level %d in %s to read it.
+
+
+This book outlines the laws which applies everywhere in the World Of Mana.
+
+
+This book will write itself, and reveal you the Secret Of Mana.
+
+
+This boost can be used until level 20.
+
+
+This bounty has expired.
+
+
+This boy needs help, we need to rescue him!#1
+
+
+This can only be reverted at rebirth! Beware!
+
+
+This cannot be evolved.
+
+
+This cannot be undo later!
+
+
+This cave is considered outside the town!
+
+
+This certainly is just to reorganize their armies. We must take this chance to improve ourselves, or else, we'll be overrun soon enough.
+
+
+This challenge will be available in %s. Please wait until then.
+
+
+This character person is strange I better get away...
+
+
+This choice CANNOT be undone later.
+
+
+This coal will aid you to craft better weapons later. It's a token of appreciation. Good job.
+
+
+This command cannot be used on test servers.
+
+
+This conversation never happened.
+
+
+This curse reclaims your soul to the Soul Eater. Except, she perished on the Great Fire.
+
+
+This diary had several pages torn off, but the last page is clearly legible.
+
+
+This didn't work. All pins are now unset!
+
+
+This doesn't looks like a toy.
+
+
+This door is locked, if we only had a %s...
+
+
+This door is locked.
+Cette porte est verrouillée.
+
+This door is locked. A warning sign is on the door: "do not enter!".
+
+
+This error is fatal, we stop execution.
+
+
+This estate currently belongs to @@.
+
+
+This estate is available for rent, talk to the sign to rent it.
+
+
+This event has already ended.
+
+
+This event is unique, and cannot be repeated.
+
+
+This example will not be shown again.
+
+
+This exposition has to be a success!
+
+
+This farm is dying due constant monster attacks, and without them, Tulimshar might face a famine.
+
+
+This fertilizer is projected to protect the plants from plagues, bugs, scorpions and maggots, trying to not be a plague itself.
+
+
+This fishing spot has just been used, give it a rest.
+Ce lieu de pêche vient tout juste d'être utilisé, laisse-le se rafraîchir un moment.
+
+This fishing spot is already being used!
+Ce lieu de pêche est déjà en train d'être utilisé !
+
+This forge will prepare equipment for you, no skill required!
+
+
+This gate is still sealed.
+
+
+This girl needs help, we need to rescue her!#0
+Cette fille a besoin d'aide, nous devons la sauver !
+
+This happens quite often, too. My friends and I are always collecting keys to reduce beer price on Hurnscald. %%2
+
+
+This has been a long journey, children, so please answer me. Is power a good thing?
+
+
+This have many uses. Maybe. Anyway, I'm soon done with my experiment, so please come back later.
+
+
+This is ##BCandor Island##b. A very small rich community lives here.
+
+
+This is Duck Island, the last safe refuge for birds. Ducks tend to be very peaceful, but our young ruler, King DD, has been taken up with the art of war.
+
+
+This is Tulishmar, the oldest of human cities.
+
+
+This is a @@, meaning only the victor party will receive the great prize.
+
+
+This is a Cursed Lands map, you'll lose mana over time and may also incurr in debuffs if mana is low (may cause death).
+
+
+This is a Soul Menhir, but seems more magical than the others.
+
+
+This is a bleeding map, HP won't recover naturally, and bleeding may start.
+
+
+This is a hot map, you're suffering damage over time.
+
+
+This is a magical barrier, powered by three seals in your part.
+
+
+This is a menu, click on the option and then on submit. You can use arrow keys if you prefer.
+
+
+This is a menu. You can click on the desired option and press "Send", and double-clicking should work, too.
+
+
+This is a special map so your death is not counted.
+
+
+This is a strange switch...
+
+
+This is a weird stone. It looks like a Mana Stone from afar, but anyone can tell it is fake.
+
+
+This is an apartment. You cannot renew until it expire, and cannot invite guests.
+
+
+This is another chant which causes normal fire damage in an area.
+
+
+This is difficult, but you are giving your best!!
+
+
+This is going to be difficult... oh, hello. I'm working on recreating some of the books that were destroyed.
+
+
+This is great! My collection of rare figurines is now complete.
+
+
+This is how the Monster King became evil. Keep practicing magic, so you get more comfortable with it and fail less often.
+
+
+This is in honor of all the [@@help://about-server|Contributors@@] who helped rebuilding this world, after the Monster War outbreak.
+
+
+This is just a bucket, but I did some cuts on it so you can see though it. It protects your whole face.
+
+
+This is just a friendly advise. We don't take magic lightly. And you shouldn't, either.
+
+
+This is just a short list to make GMs life easier!
+
+
+This is just an example of a chant which causes low damage in an area.
+
+
+This is my chance - the biggest Mana Quake ever, it feels like a whole world crushing in ours. I can feel the drain from Candor's Mana Reserves all the way up here.
+
+
+This is not The Mana World. My name is not Bryant.
+
+
+This is not a healing item.
+
+
+This is not a place for non-experimented people!
+
+
+This is not enough, I need 5 @@ to perform the rite. Go talk with Zitoni.
+
+
+This is not magic, it is science!
+
+
+This is not meant for me.
+
+
+This is not saved.
+
+
+This is not the first time you've been arrested for AFK botting, so, ##BNO!##b
+
+
+This is not what I asked for.
+
+
+This is often 1, 2 or 3 tiles. For talking, usually 4 or 5 tiles. Shouting can be done from 12 up to 18 tiles; But as shouting is rude, most NPCs won't react to it.
+
+
+This is only for the skilled players. Newbies, KEEP OUT!
+
+
+This is ridiculous. Groata is not here, I am wasting my time!
+
+
+This is so amusing, you decide to stare for a while longer.
+
+
+This is terrible - a fiend from a parallel dimension has broken in ours!
+
+
+This is the @@ skill. It transmutes a single @@ in a @@.
+
+
+This is the @@ skill. It transmutes stuff into other stuff. I'll teach you some more recipes as class drag on.
+
+
+This is the FAIRYEMPIRE spell. It'll summon Pixies.
+
+
+This is the FROZENHEART spell. It'll summon... Yeti.
+
+
+This is the STONEHEART spell. It'll summon the fierce Terranite.
+
+
+This is the end for your party, as the leader doesn't have sufficient level.
+
+
+This is the least I could do for you. Many thanks. And if you have more food, you can keep feeding my family.
+
+
+This is the main hall. Below this stairs, you'll find the Heroes Hold Main Dungeon. It's a cave in a... uhm. Water.
+
+
+This is the perfect opportunity to help Celestia.
+
+
+This is the test server.
+
+
+This is too powerful to you. Get level 20 before attempting to use.
+
+
+This is too precious to offer, I think.
+
+
+This is why I love spring!
+
+
+This isn't what we requested. Perhaps you should count your items more carefully.
+
+
+This item cannot be auctioned.
+
+
+This item cannot be dropped.
+Cet objet ne peut pas être abandonné.
+
+This item cannot be refined further.
+
+
+This item cannot be sold.
+
+
+This item cannot be stored.
+Cet objet ne peut pas être entreposé.
+
+This item cannot be traded normally and is a Legendary Item.
+
+
+This item cannot be traded.
+Cet objet ne peut pas être échangé.
+
+This item cannot be used as bait here.
+Cet objet ne peut pas être utilisé comme appât ici.
+
+This item drop rate is %s%%, which exceeds the threshold of %s%%.
+
+
+This item have no bonuses, and cannot be tweaked.
+
+
+This item is too precious, you cannot part with it!
+
+
+This key is dropped by the Saxso Ghost. Did you knew you can obtain info about the monster drop rates and strength?
+
+
+This live sword drafts itself to your hand. You can wield it during today's event.
+
+
+This live sword drafts itself to your hand. You can wield it for a while.
+
+
+This lock is beyond your current capacity.
+
+
+This lock is simple, maybe with your thief skills you can manage to pry it open. But beware, you can end up in jail!
+
+
+This looks magical, I wonder what it does.
+
+
+This lord dropped a key and a stash of gold!
+
+
+This man is THE LEGENDARY KING ARTHUR!
+
+
+This map contains poisonous gas and may cause diseases.
+
+
+This means ##BAll items were lost##b, and you need to collect EVERYTHING, again, to get the hat.
+
+
+This means everytime you get more power, you lose control. Pratice is the key.
+
+
+This means that if you die while in the past, you'll be brought back here as if you never traveled in time.
+
+
+This means that if you drop a coin on Advanced Dungeon, 4 coins will be dropped instead. On Expert, that would be 8.
+
+
+This menu allows you to customize your appearance.
+Ce menu te permet de changer ton apparence.
+
+This menu allows you to manage events and gives access to event-related tools.
+Ce menu te permet de changer les évènements et te donne accès aux outils en rapport aux évènements.
+
+This menu allows you to modify the generic message that is sent to players when they log in.
+Ce menu te permet de modifier le message général envoyé aux joueurs quand ils se connectent.
+
+This menu allows you to modify your account data.
+Ce menu te permet de modifier tes données de compte.
+
+This menu allows you to set the scheduled broadcast that is sent to all players at a specific interval.
+Ce menu te permet d'établir l'annonce prévue qui est envoyée aux joueurs à intervalles réguliers.
+
+This menu contains all options available to you, based on your access privileges.
+Ce menu contient toutes les options disponibles pour toi, basé sur tes privilèges d'accès.
+
+This menu gives access to quest debug menus for @@ quests.
+Ce menu donne accès aux menus de débogage de quête pour les quêtes @@.
+
+This menu gives you some options which affect your account.
+
+
+This might be the place of a great secret, but yet, all you can do is stare.
+
+
+This new skill will allow you to pinch every gold piece from a NPC when selling stuff! Ka-pow, now you can steal items and resell them for moar GP! AMAZING!
+
+
+This note is not interesting, maybe the obelisk is more.
+
+
+This note is too old and difficult to read.
+
+
+This one is useless! Give me another @@.
+Celle-ci est inutile. Donne-moi une autre @@.
+
+This option is not yet available for you; Please purchase the Premium Storage first, and then we can get started on the deluxe.
+
+
+This option will be remembered by other NPCs as well.
+
+
+This passage is still sealed.
+
+
+This passage seems sealed. If I only had a @@...
+
+
+This place is reeking blood. We better come again later.
+
+
+This program will cause experience gain to be tripled during the next siege to the town.
+
+
+This quest will unlock at level 5.
+
+
+This quota is reset yearly, by completing %s's quest.
+
+
+This random cave-warping only happens once, too.
+
+
+This request was made by the inn: The %ss are stealing their cherry cakes, causing disruption to their business.
+
+
+This research caused a lot of neglect, so expect poverty and people unwilling to talk. Benjamin, head of the council, is doing a "breaktrhough" in the most literal sense possible (breaking through the whole town finances instead of revolutionizing the world).
+
+
+This room is too dark. I want to brighten it up.
+
+
+This schedule is subject to change without prior notice.
+
+
+This seal was already broken, proceed to the next seal!
+
+
+This seems like a good idea at first, but actually, it isn't.
+
+
+This set grants the following effect when complete:
+
+
+This set is composed by the following items:
+
+
+This setting can only be changed every %d days.
+
+
+This shrine is devoted to those whom shall never come back.
+
+
+This shrine seems to be a dangerous place, and nobody should defile it.
+
+
+This silk robe is more than enough, and you are fighting, you need the def bonus more than me. %%2
+
+
+This singularity will remain disarmed for @@ more!
+
+
+This skill can only be used on monsters!
+
+
+This skill can only be used on players!
+
+
+This skill cannot be upgraded further.
+
+
+This small island is a good place to heal our wounds, and the monsters here are not threating.
+
+
+This statue was built for memory of Andrei Sakar, the greatest hero this world has even seen.
+
+
+This switch controls one of the four dungeons.
+
+
+This table will prepare the potion for you, no skill required!
+
+
+This tax must be paid now, and you can brew as much as you wish after payment.
+
+
+This teleporter is currently recharging.
+
+
+This throne is not from the Monster King... IT BELONGS ONLY TO ME!
+
+
+This time, I only a few last reagents and I'll finally attempt it... I want you to witness it. I'll teach you the spell later, of course.
+
+
+This time, I'll be prepared. His reign of terror has its days counted.
+
+
+This torch is already lit.
+
+
+This tree is crazy!!
+
+
+This vault currently have @@ GP inside.
+
+
+This well is sealed. They must take water outside the town.
+
+
+This well is too deep and you don't have a bucket.
+
+
+This whole region is called the Heroes Hold. It's designed for hard core, bragging-rights-hunters, high level, supreme players.
+
+
+This whole situation is very disquieting, not to say suspicious. There might be something more to it that we're not seeing.
+
+
+This will affect humans, too, so don't act as if it is not your bussiness either.
+
+
+This will affect rewards, and decision is final!
+
+
+This will be remembered.
+
+
+This will be your last task. Besides the @@, the strongest monster on this island worth killing is the @@.
+
+
+This will bring me back to the Hall.
+
+
+This will cost you all your action points.
+
+
+This will do nothing if the account already have a PIN.
+
+
+This will remove you from the quest!
+
+
+This will take only a short while.
+
+
+This workshop doesn't gets too many tasks from Santa outside the Christmas...
+
+
+This would mean you might need to complete this quest again in the future.
+
+
+Thorn
+
+
+Thorn Ammo Box
+
+
+Thorn Arrow
+Thorn Arrow
+
+Thorn Chest
+Thorn Chest
+
+Thorn is so annoying...
+
+
+Those for consumption, equipment and generics.
+
+
+Those with most %s on this world becomes scholars.
+
+
+Three equal: @@.
+
+
+Three powerful consecutive brawn attacks with a chance to stun target.
+
+
+Three powerful consecutive brawn attacks.
+
+
+Throw a coin?
+
+
+Throw something inside!
+
+
+Thug
+
+
+Thunder Staff
+Thunder Staff
+
+Thus far you have collected @@ @@, @@ @@ and @@ @@.
+
+
+Thus far you've slain %s/%s %s for me!
+
+
+Thus far, you've donated @@ boxes.
+
+
+Thus far, you've heard about %d hours and %d minutes of wisdom.
+
+
+Thus far, you've sponsored Golbarez in %d %% from total.
+
+
+Thus, I like to collect small memetos from Tulimshar.
+
+
+Time Flask
+
+
+Time Limit
+
+
+Time Limit: 25 minutes on any dungeon.
+
+
+Time Limit: 90 minutes
+
+
+Time is running out... Hurry up!
+Le temps presse ... Dépêche-toi!
+
+Time left until warp can be used: %s
+
+
+Time left: %d minutes
+
+
+Time left: %s
+
+
+Time left: @@ remaining
+
+
+Time limit for answer: 2 minutes
+
+
+Time limit: 10 minutes
+
+
+Time out!
+
+
+Time remaining to report completion:
+
+
+Time remaining: %s
+
+
+Times died: %s
+
+
+Times reborn: %d
+
+
+Times won Call of Dusty: %s
+
+
+Times won Capture the Flag: %s
+
+
+Tin Ingot
+Tin Ingot
+
+Tin Ore
+Tin Ore
+
+Tin Ore -> Gold Ore
+
+
+Tinris
+Tinris
+
+Tinris probably could do that, he is young but very talented. He is a greedy elf, but if you help him, he'll likely help you back.
+
+
+Tipiou
+Tipiou
+
+Tipiu
+Tipiu
+
+Titanium Ingot
+Titanium Ingot
+
+Titanium Ore
+Titanium Ore
+
+Titanium Ore -> Lead Ore
+
+
+Titanium Ore and Coal refunded on Leather Quiver update.
+
+
+Titulation
+
+
+Tneck Sweater
+Tneck Sweater
+
+To Artis.
+
+
+To Candor Island.
+
+
+To Hurnscald.
+
+
+To Nivalis.
+
+
+To Tulimshar.
+
+
+To aid those in need
+
+
+To answer them, use: @captcha <num_value>
+
+
+To be honest, I don't know. I was only walking, seeking for adventure!
+
+
+To be honest, I don't know. Your wife just allowed me to pass the door!
+
+
+To be honest, I have that with me!
+
+
+To be honest, you should use both. And remember, all Mana Magic skills can be used like they were @sk-commands. %%H
+
+
+To cast, one must sit on the circle and say the chant on general chat.
+
+
+To cause a server happy hour (+%d%% EXP), you need:
+
+
+To celebrate this I'll ask you some questions about my favourite book, The Hitchhiker's Guide to the Galaxy. If you can answer them, I'll give you something very useful.
+
+
+To collect snake skin
+
+
+To craft an item, you'll need to learn its blueprint. Blueprints can be very hard to obtain! Being a crafter will take a lot of your time.
+
+
+To create an homunculus out of the embryo mass: Use the Call Homunculus Skill. It'll be random, based on the embryo nature.
+
+
+To create an homunculus, I should follow the secrets in the book "The Man Who Played God". I wrote this narrative with the greatest secrets of it.
+
+
+To defeat the Moubootaur.
+
+
+To defocus or stop attacking, press Shift + A.
+
+
+To demonstrate that you understood what I'm trying to teach you, you should go and fight against some snakes. I know they're strong, but that's not important to an archer.
+
+
+To discard an item you no longer want, select it and press the 'Discard' button. Generic items can be discarded or sold.
+
+
+To display the dialog box with other citizens, press the F7 key.
+
+
+To do quests
+
+
+To do this you need to disable auto move to target in 'yellow bar'.
+
+
+To dungeon deep, and cavern old
+
+
+To enter on them, you need to be level 25 and use the following chant: "Blame Saulc". I don't know why, but that open doors!
+
+
+To equip or unequip an item, select it and press the 'Equip' or 'Unequip' button. You can not 'Equip' or 'Unequip' when talking to someone.
+
+
+To explore these lands
+
+
+To find him, just leave the ship and turn left. You should also touch the Soul Menhir when you leave this ship.
+
+
+To focus on a creature, press the 'A' key. To focus on another citizen, press the 'Q' key. To attack the focused target press the 'X' key or click the primary button on the creature.
+
+
+To focus on an NPC, press the 'N' key. To talk to him press the 'T' key.
+
+
+To get more experience and magic power, you must practice magical spells. Make sure to vary them; you will learn nothing if you cast the same spell over and over. Also, spells that consume no components seem not to be very instructive in practice.
+
+
+To get started with fishing, you'll need two things: a fishing rod and a bait.
+Pour commencer la pêche, tu as besoin de deux choses : une canne à pêche et un appât.
+
+To get the combo, you must fill all slots if one of the listed items. Usually any of the listed ones will do, but in rare cases it won't!
+
+
+To get there you need to go left, follow rock wall and go up when you can. The entrance to the Bandit cave is on left side of the waterfall.
+
+
+To help fairies
+
+
+To insert a card, select the card and "use" it, or, drag and drop them to the weapon.
+
+
+To join a drill, right click on one of the lieutenants and join their Battle Stations. The drill can last up to 10 minutes.
+
+
+To make @@ I need one from each gem powders, and @@ GP for commission.
+
+
+To make an %s I need a %s, an %s, and %s GP for commission.
+
+
+To make an %s I need a %s, three %s, and %s GP for commission.
+
+
+To make an %s I need a %s, two %s, and %s GP for commission.
+
+
+To make the string you want, I need a special oil, which I make myself. It's hard to do, so I'll spend time I could be using to fish or help the city guard.
+
+
+To my murders, I gave them a full meal.
+
+
+To negotiate with other citizens, you should click the second mouse button on some other citizen who is accepting negotiations, and select the 'Negotiation' option from the menu that will appear.
+
+
+To open yellow Bar you need to right click on your health bar and active status bar, also called yellow bar. Or you can press '8' on numeric keypad.
+
+
+To open your inventory, use the F3 key or use your mouse to select it in the above menu in your client.
+Pour ouvrir ton inventaire, utilises la touche F3 ou bien ta souris pour le sélectionner dans le menu en haut de ton client.
+
+To pay in the specified date, we'll charge you %s over the loaned amount. So, how much?
+
+
+To perform most actions, like feeding and renaming, just right-click it. You can even put it back on the egg if its following gets too annoying. When in the egg, they will not feel hunger.
+
+
+To prevent abuse, a registering fee is charged. Nothing major.
+
+
+To prove me your faith, bring me 1 @@ or 1 @@.
+
+
+To prove me your results, bring me @@ @@, @@ @@ and @@ @@.
+
+
+To reach this place... You just need to follow the path after the waterfall. Come back to me after that.
+
+
+To register as a craftsman, you need to talk to Intense Beard in Terranite Forge. The forge is in the Bazar.#1
+
+
+To register as a craftswoman, you need to talk to Intense Beard in Terranite Forge. The forge is in the Bazar.#0
+
+
+To register as a hunter, talk to Aidan, also in the marketplace - the Bazar.
+
+
+To retry, I will charge you %d GP or %d %s for each attempt made. You'll have less time to finish as well.
+
+
+To scry Jesusaves, for example, you would do:
+
+
+To seek our pale, enchanted gold
+
+
+To speak in public select the 'General' tab. It serves to talk to people who are appearing on your screen.
+
+
+To speak privately to a friend who is not appearing on your screen, type the command '##B /q Citizen Name ##b' and press 'Enter'. This command will open a long-distance dialog that has the name of who you want to talk to. Select this new tab and send your message through it.
+
+
+To speak privately with someone, click the second mouse button on the citizen and select the 'Whisper' option.
+
+
+To successfully catch a fish, you need to pull up your hook by clicking it, right after it submerges.
+Pour réussir à attraper un poisson, tu dois tirer ton hameçon en cliquant dessus, juste après qu'il coule.
+
+To thank you, accept my old fishing rod.
+Accepte ma vieille canne à pêche comme remerciement.
+
+To the brave heart; An endless maze.
+
+
+To the brave, shan't be your grave.
+
+
+To the courageous, thy foe is rancorous.
+
+
+To the lovely cuteness; Unwavering helpfulness.
+
+
+To the strong soul; Challenges to overthrow.
+
+
+To the wanderer: Please avoid entering on the rooms by the internal warp system.
+
+
+To train their soldiers, they frequently face Frostia in duels. Adventurers are welcome to join their drills.
+
+
+To understand the nature of this bow, you have to collect the needed material by yourself. Only this way will you get a feeling of what it means to use such a weapon.
+
+
+To unlock the cell on the middle of the throne room, you need to flip all 5 switches there.
+
+
+To which mirrored island you want to warp?
+
+
+To whom you want to send @@ boxes? Cannot be yourself!
+
+
+To your pleasant surprise the tea is actually quite good.
+
+
+ToDo
+
+
+Today at 18:30 UTC we are going to attack the Monster King by surprise. There will be no delays, so be there.
+
+
+Today is soup of Pinkie Legs!
+
+
+Together, they wrote legends. They slayed Toby Rick the Desert Worm, the mightiest desert beast.
+
+
+Toggle Daily Reward screen
+
+
+Toggle Inscription
+
+
+Toggle Soul Menhir automatic saving
+
+
+Token Of Apology: 1x @@, 1x @@
+
+
+Token Of Apology: 1x @@, 570 GP
+
+
+Tolchi
+Tolchi
+
+Tolchi Ammo Box
+
+
+Tolchi Arrow
+Tolchi Arrow
+
+Told ya, %s, should know better than to mess with an... assassin!
+
+
+Tomorrow is the day, when we shall march against Raid, in order to free our people from the oppression of her mages.
+
+
+Tonori Delight
+Tonori Delight
+
+Tonori Human
+
+
+Tonori Water
+
+
+Too bad these lamps wear off after a while... I am making stocks of them now!
+
+
+Too bad, There is some really good news this week. Things like how to go to Candor for free.
+
+
+Too bad, you're really missing out!
+
+
+Too expensive %%n
+
+
+Too lazy.
+
+
+Too much power can corrupt you. I've seen this happening before... countless times.
+
+
+Too slow.
+
+
+Tooth Necklace
+Tooth Necklace
+
+Toothbrush
+Toothbrush
+
+Top 10 - Summer Ched's Event
+
+
+Top 10 - Valentine Day
+
+
+Top 5 - Christmas Box Donation Event
+
+
+Top 5 - Golbarez Seasonal Quest
+
+
+Top Hat
+Top Hat
+
+Topaz
+Topaz
+
+Topaz (+2 agi)
+
+
+Topaz Bif
+Topaz Bif
+
+Topaz Powder
+Topaz Powder
+
+Toppy Blub
+Toppy Blub
+
+Torch#0065
+
+
+Torch#1
+
+
+Torch#2
+
+
+Torch#3
+
+
+Torch#4
+
+
+Torch#5
+
+
+Tortuga
+Tortuga
+
+Tortuga Shell
+Carapace de Tortuga
+
+Tortuga Shell Fragment
+Fragment de Carapace de Tortuga
+
+Tortuga Tongue
+Langue de Tortuga
+
+Toss the hook into deep water by clicking on where you want to cast it.
+Lance ton hameçon dans de l'eau profonde en cliquant sur l'endroit où tu veux le lancer.
+
+Total Credits and GP: @@
+
+
+Total Gold: %s
+
+
+Total Logins: @@
+
+
+Total actions left: %d
+
+
+Total money collected: @@ GP
+
+
+Total slow down, DEF-, may freeze
+
+
+Total time AFK'ed in Tulimshar: %d hours and %d minutes
+
+
+Toto
+Toto
+
+Touch Soul Menhir and visit the Valentine's Island.
+
+
+Touch it!
+Le toucher !
+
+Touch it.
+Le toucher.
+
+Towards thee I roll, thou all-destroying but unconquering whale; to the last I grapple with thee; from hell’s heart I stab at thee; for hate’s sake I spit my last breath at thee. Sink all coffins and all hearses to one common pool! And since neither can be mine, let me then tow to pieces, while still chasing thee, though tied to thee, thou damned whale! Thus, I give up the spear!
+
+
+Town Administrator can use the town money for investments, and also receive a salary depending on how well the town is.
+
+
+Town Defense Program
+
+
+Town Defense Program enabled.
+
+
+Town Money: @@
+
+
+Town Reputation: %d | %d.%02d %% Tax
+
+
+Town Tax: %d.%02d %%
+
+
+Town Weekly Exports: @@
+
+
+Townhall Guard#EP
+
+
+Trade
+Échange
+
+Trade 2 %s for a Silver Gift + a Bronze Gift
+
+
+Trade Golden Eggs
+Echanger des Golden Eggs
+
+Trade Silver Eggs
+Echanger des Silver Eggs
+
+Trade a card
+
+
+Trade my coins in Gift Boxes, pretty please!
+
+
+Trade stamps
+
+
+Trade the Gingerbread
+
+
+Trade the Xmas Cake
+
+
+Trade the Xmas Candy Cane
+
+
+Trader
+
+
+Trainer
+Trainer
+
+Training Ammo Box
+
+
+Training Arrow
+Flèche d'Entraînement
+
+Training Bow
+Training Bow
+
+Training Dummy
+Training Dummy
+
+Training Wand
+
+
+Training to be sages, their knowledge is unparalleled. They're masters of boosting skills.
+
+
+Transcendence Gate
+
+
+Transfer Mana
+
+
+Translators
+
+
+Transmutating @@ will require:
+
+
+Transmutation Skill
+
+
+Transmute?!
+
+
+Trap Door
+Trap Door
+
+Trapper Hat
+Trapper Hat
+
+Travel to this area is impossible, due to the hordes of Monster Armies.
+
+
+Treasure (High Quality)
+
+
+Treasure (Low Quality)
+
+
+Treasure (Med Quality)
+
+
+Treasure Key
+Treasure Key
+
+Treasure Map
+Treasure Map
+
+Treasure!
+
+
+Treasurer
+
+
+Tree Maze (Past Tulimshar)
+
+
+Trick Dead
+
+
+Trickmaster
+
+
+Tricks
+
+
+Tritan
+Tritan
+
+Tritan Voice
+Voix d'un Tritan
+
+Triumph of the Eternals
+
+
+Troll
+Troll
+
+Truth is - I cannot do that. Obviously. But I know who can.
+
+
+Try again!
+
+
+Try again?
+
+
+Try doing quests which doesn't involve monster hunting first. I'm sure ##B Ayasha ##b could use your help.
+
+
+Try helping the city guard. Talk to NPCs around the city. Outside the city walls too. And there are some people on the mines.
+
+
+Try killing it, and if it kills you, just come back from death to continue killing it.
+Essayez de le tuer, et s'il vous tue, revenez de la mort pour continuer à le tuer.
+
+Try praticing with different mana magic skills. Anyway, you can use this command to see your magic proeficiency:
+
+
+Try talking to Soul Menhir or with any NPC on Tulimshar Center (near Soul Menhir).
+
+
+Try this one.
+
+
+Try to don't take too long!
+
+
+Try to make a good time, and... Good luck! On my signal, 3, 2, 1...
+
+
+Trying to chant beyond your capabilities will only drain more mana and be inefficient.
+
+
+Trying to retrieve it now will have @@ % chance to be successful.
+
+
+Tuber
+Tuber
+
+Tuesdays
+
+
+Tulim Warp Crystal
+
+
+TulimShip
+TulimShip
+
+TulimShip#M
+
+
+Tulimshar
+Tulimshar
+
+Tulimshar (@@m)
+
+
+Tulimshar - @@ GP
+
+
+Tulimshar Beach
+
+
+Tulimshar Bola
+
+
+Tulimshar Guard
+Tulimshar Guard
+
+Tulimshar Guard Boots
+Tulimshar Guard Boots
+
+Tulimshar Guard Card
+Tulimshar Guard Card
+
+Tulimshar Guard Card will prove good intentions. Talk to the Lieutenant in front of the Guard House.
+
+
+Tulimshar Map
+
+
+Tulimshar Mines
+
+
+Tulimshar Office
+
+
+Tulimshar Townhall
+
+
+Tulimshar doesn't have a lot more of quests to offer you, so you should definitely explore new places.
+
+
+Tulimshar is surrounded by strong monsters. If you go out with your poor equipment, you're going to be dead in no time, @@.
+
+
+Tulimshar is the oldest human city, and its foundation is the year zero of our calendar.
+
+
+Tulimshar is the strongest city because Dausen teaches every newcomer about the monsters around and how to defeat them. Take his special training if you get the chance!
+
+
+Tulimshar miners mainly try to obtain gems.
+
+
+Tulimshar spent trillions in research, and so did Hurnscald and Nivalis. Everything else was neglected. Eventually, some highly experimental tech experiment went haywire.
+
+
+Tulimshar, Tonori - 2nd March 300 AT
+
+
+Tulimshar, right? The oldest human city-state!
+
+
+Tulip
+Tulip
+
+Tunnel through the caves!
+
+
+Tutorial Protips:
+
+
+Tutorial Tom
+
+
+Tutorship is NOT the most effective way.
+
+
+Tutorship will give you Research Points.
+
+
+Tux Soul
+
+
+Tweaking: %s
+
+
+Twelve times more if it is an elusive Mana Fragment no one knows where they are!
+
+
+Twelve... There is no way people collected this many gifts. Anyway. 404,800 is the next milestone.
+
+
+Two Hands Weapon Recipes
+
+
+Two equal: 1 casino coin.
+
+
+Two hands sword (strong, misses)
+
+
+Two still fight better than one. I have the courage of a dustman in me!
+
+
+Tycoon
+
+
+Tyranny
+
+
+Tyranny as well, but to a different tree.
+
+
+Tyrca
+
+
+Uh are you sure this is fit to drink?
+
+
+Uh, a %s? How odd.
+
+
+Uh, how come? I thought you were an adventurer too! That island which trusted adventurers can reach using Pihro & Pyndragon's personal airship is so popular... Anyway!#0
+
+
+Uh, how come? I thought you were an adventurer too! That island which trusted adventurers can reach using Pihro & Pyndragon's personal airship is so popular... Anyway!#1
+
+
+Uh, maybe another time.
+
+
+Uh, sure. We mouboos are not cruel. But it might not be your size.
+
+
+Uh, what?
+
+
+Uh, you should ask %s, he is the miners leader.
+
+
+Uh. You're probably right. I'm very sorry. I'm just... You know, I wanted to become a scholar of the sages, studying and... Oh, how could I mess that up? Did you see the library? It caused so much damage! What else should they do other than kick me out?
+
+
+Uh... I *just* remembered I have something else to do!
+
+
+Uh... Something should happen, right? Can you get another one?
+
+
+Uh... That should not happen, right? RIGHT?
+
+
+Uh... Yeah, that's not funny.
+
+
+Uh? Hey, look! A platinum card! This should be worth something with the Guild Merchant Guild, right?
+
+
+Uh? I can't pass. I wonder why, maybe I need to wait?
+
+
+Uh? What are you doing here?!
+
+
+Uhh... I'm scared!
+
+
+Uhh... Not really! I love to kill Yetis, but sometimes they are really shy!
+
+
+Uhh... What happened...
+
+
+Uhh...yeah sure...I guess...
+
+
+Uhm, @@ seems to have finished their scheduled tasks again... If they were so diligent in cleaning and stocking, though...
+
+
+Uhm, I better heal it first before trying to do anything about the curse.
+
+
+Uhm, I don't need that.
+
+
+Uhm, I don't think this item needs my skills.
+
+
+Uhm, I'm not the king of Frostia, I'm the king of all useless adventurers.
+
+
+Uhm, just remember it'll be manually verified before prizes are given... Don't even think on cheating!
+
+
+Uhm, maybe I could teach you something, too. Go mine 5 @@. You should find some at northeast of the Island.
+
+
+Uhm, maybe I mashed the Plushroom too hard this time. Here's EXP as usual, let's try again?
+
+
+Uhm, no, not really. Maybe later, who knows?
+
+
+Uhm, of course a book like this has to be a trap, right?
+
+
+Uhm, sorry, I don't trust stuff you get at market. You know.
+
+
+Uhm, that's an... @@. Do you... want to grow a tree on the mouboo or something? Can't you think on something else?
+
+
+Uhm, this seems like a bad idea.
+
+
+Uhm... I thought you were trying to heal the mouboo. Why are you giving it poisonous stuff?!
+
+
+Uhm? Oh, a new believer! Welcome, child of the mana, to the only church in this world.
+
+
+Uhul! My name is Mahul!
+
+
+Ukar
+Ukar
+
+Ultimate
+
+
+Ultimate Exchanger#0
+
+
+Ultimate Tier
+
+
+Ultra Rare Drop
+
+
+Um, might I ask, what is so interesting?
+
+
+Umm..I have another quest to get to. So... umm... I should get going.
+
+
+Unbelievable! You're really a wise person.
+
+
+Undead Eye
+Undead Eye
+
+Under the leadership of King Wusher, they were the first to accept immigrants from other races. You will find humans and non-humans there.
+
+
+Understood
+
+
+Unforgiving Lands
+
+
+Unfortunately you cannot rebirth anymore!
+
+
+Unfortunately you're in tutorial mode, so I cannot let you go ahead knowing you'll fail. Please improve your reputation with Nard and then continue.
+
+
+Unfortunately, @@s are not welcome on the Yeti Domains. You're no exception.
+
+
+Unfortunately, I cannot sell them to you. Maggots are attacking my crops and giving me headache.
+
+
+Unfortunately, I was cursed to never enter their cave again. They used a @@ to do that!
+
+
+Unfortunately, a mere fledgling like you is not strong enough to help us.
+
+
+Unfortunately, elves doesn't like to share coffee, so I thought in leaving but fell asleep. Oops!
+
+
+Unfortunately, he has been corrupted by the terrorist organization calling itself S.A.R.A.H. Hopefully, he will return to the ways of peace and bring prosperity to Duck Island once again.
+
+
+Unfortunately, other victor's names weren't logged.
+
+
+Unique monsters can be found there, and people say about staffs which shoot raw death and doom from it!
+
+
+Unless you are an exceptionally talented mage or an influentical politician, it is unlikely.
+
+
+Unless you know what you are doing, please go to Main Server instead.
+
+
+Unless you're an Alliance member or have authorization, you cannot go in.
+
+
+Unless you're looking forward a death penalty, DO NOT JUMP!
+
+
+Unless, of course, if Saulc cloned you. But then we must blame Saulc!
+
+
+Unless, of course, if you can prove your strength, challenging me to a duel.
+
+
+Unlike Parum, you can use the skill points you get every time your job level rises. That will lower the mana cost and increase success chances.
+
+
+Unlike many other cities, if you want people in eternal need of items, there is a good place to look.
+
+
+Unlike talking, when trying to pick objects or read signs, you should be at an arms distance of them.
+
+
+Unobtanium
+
+
+Unparelled, strength without precedents. Ancient beings of pure mana, rumored to be immortal.
+
+
+Unsatisfied, it goes away from you and your bag. Such a shame, we almost had got its trust.
+
+
+Unsit me OR I'LL KILL YOU in name of my father, Prsm!
+
+
+Unsit me at once!
+
+
+Unsurprisingly, nothing happens.
+
+
+Unused House
+
+
+Unused House, Market
+
+
+Updates were disabled
+
+
+Upgrade it
+
+
+Upgrading a skill level can be done the same away and will always cost a single Magic Skill Point. Job Level points are obtained only after Lv @@, and is a single point each @@ levels.
+
+
+Urchin Meat
+Viande d'Oursin
+
+Usage of @exprate without argument is deprecated, please use "@rates" instead.
+
+
+Usage: @translate <npc file>
+
+
+Use %s (name in english) to obtain this info. You don't need the full name either, so go ahead and try it!
+
+
+Use %s to see how long you need to wait.
+
+
+Use @@ to cancel.
+
+
+Use @@ to read the new version.
+
+
+Use a key.
+Utilise une clé.
+
+Use an alt char to do that.
+
+
+Use items to drain the pentagram. Final result is affected by int!
+
+
+Use its powers for good!
+
+
+Use the abandoned passage to the north... Usually, no one uses it.
+
+
+Use the arrow keys to walk right and meet Juliet.
+Utilisez les flèches directionnelles pour aller à droite et rencontrer Juliet.
+
+Use these coins to exchange for stuff. But beware: Each dungeon difficulty will increase the coin drop in the square value of previous.
+
+
+Use your @@ as currency!
+
+
+User Control Panel
+
+
+Username#0000
+
+
+Using potions and support magic is fine, as well as summons; but using a non-magical weapon will disqualify you.
+
+
+Using potions and support magic is fine. It has high defense, so magic attacks work better.
+
+
+Usually only sponsors are allowed up there, but I'll make an exception today. Go meet the mayor.
+
+
+Usually they have a few rare drops. The miniboss of Candor may drop a rare key, which you can use to open a certain chest...
+
+
+Usually you can only tweak if the item already have another option, but I am Tolchi. So, which item you want to tweak?
+
+
+Usually, you can find magic on these buildings, but watch out, there is magic to be found elsewhere, and some items are bound with it!
+
+
+Utilities
+
+
+V-neck Jumper
+Pull Col en V
+
+Valentine Day
+
+
+Valentine Day Event Reward automatically claimed
+
+
+Valentine Day event consist in gathering @@ and sending them to your loved one.#0
+
+
+Valentine Day event consist in gathering @@ and sending them to your loved one.#1
+
+
+Valentine Day is over!
+
+
+Valentine Dress
+Valentine Dress
+
+Valentine Top 1 Prize
+
+
+Valia
+
+
+Valia Gemini
+
+
+Vampire Bat
+Vampire Bat
+
+Vampire Bat Wing
+Vampire Bat Wing
+
+Vanity Pixie
+Vanity Pixie
+
+Various people already went missing, including GMs. This is why if you plan to cross,
+
+
+Vault#01710
+
+
+Vault#0172
+
+
+Vault#0173
+
+
+Vault#0174
+
+
+Vault#0175
+
+
+Vault#01824a
+
+
+Veneri
+
+
+Versatile Card
+
+
+Very well - Congratulations! That was very easy, though, and this one is full of imperfections.
+
+
+Very well! We have seven class of items: Wood, Iron, Terranite, Bronze, Silver, Gold and Platinum.
+
+
+Very well, but for a fee of @@ GP. There's no free lunch, after all!
+
+
+Very well, let's see what you are made of!
+
+
+Very well, listen to my plan!
+Très bien, écoute mon plan!
+
+Very well, now I can create more paper.
+
+
+Very well, this looks fine. It is time for your first lesson.
+
+
+Very well, you don't know what you're missing.
+
+
+Very well. I shall now share with you the details of this rite.
+
+
+Very well. That will make a great meal. You pass!
+
+
+Very well. The Platinum Red Queen died in her sleep and the Soul Eater took her role. But the Soul Eater was a tyrant and soon enough, "she" was murdered. A Council has taken over Tulimshar on the meanwhile and is doing intense research.
+
+
+Very well. This conversation never happened.
+
+
+Veteran Officer
+
+
+Vice Leader
+
+
+Vicious Chest
+Vicious Chest
+
+Vicious Squirrel
+Vicious Squirrel
+
+Vicious Squirrels
+
+
+Victory Conditions
+
+
+Victory Conditions: Defeat all enemies!
+
+
+Victory Conditions: Defeat the assassin!
+
+
+Victory Conditions: Protect Sagratha!
+
+
+Victory Conditions: Survive!
+
+
+Victory prizes include guild experience, guild money, and guild bound items.
+
+
+View Candidate List and cast a vote
+
+
+View LeaderBoard
+Voir le LeaderBoard
+
+Viking Helmet
+Viking Helmet
+
+Vincent
+Vincent
+
+Visit the Christmas Workshop, and talk to the chief in charge.
+
+
+Visit the special event map, kill low level bosses, collect %s,
+
+
+Visiting a new world is always exciting. Actually, the opportunity of taking a new life in a new universe isn't that bad either.
+
+
+Visiting the bank too right? We're only a small village but Cynric is the best bank guy I know.
+
+
+Visitor with a mask? Ah, I think I know who are you talking about. Black clothes and a golden mask. Rather strange guy.
+
+
+Visitors should keep away from those!
+
+
+Vit Potion
+
+
+Vit+ Potion
+
+
+Vit++ Potion
+
+
+Vitality
+Vitalité
+
+Vitality Fruit
+
+
+Vneck Sweater
+Vneck Sweater
+
+WAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHH
+
+
+WARNING
+
+
+WARNING!
+
+
+WARNING! WARNING! Monster Army is moving towards Halinarzo!!
+
+
+WARNING! WARNING! Monster Army is moving towards Hurnscald!!
+
+
+WARNING! WARNING! Monster Army is moving towards Nivalis!!
+
+
+WARNING! WARNING! Monster Army is moving towards Tulimshar!!
+
+
+WARNING#015535661
+
+
+WARNING, THIS IS A RARE ITEM AND THIS OPERATION CANNOT BE REVERTED!!
+
+
+WARNING, you have been detected cheating and thus, violating Tulimshar Anti-Theft Policy.
+
+
+WARNING. YOU ARE CHEATING THE GRIMORIE QUEST.
+
+
+WARNING. YOU ARE CHEATING THE SUNNY CRYSTAL QUEST.
+
+
+WARNING:
+
+
+WARNING:
+
+
+WARNING: Angela Quest cannot be finished without finishing Mercury sidequest first.
+
+
+WARNING: Change your equipment now.
+
+
+WARNING: DO NOT PROCEED UNLESS YOU'RE READY.
+
+
+WARNING: Dangerous!!
+
+
+WARNING: Data may have been corrupted.
+
+
+WARNING: Deprecated!
+
+
+WARNING: Difficult quest, bringing plenty of healing items strongly advised!
+
+
+WARNING: Do not spend unecessary time on Soren's House, you'll be disconnected!
+
+
+WARNING: Fake Death skill is disabled on the fight.
+
+
+WARNING: HIGH LEVEL AREA. COME PREPARED.
+
+
+WARNING: If you insert wrong pincode, you'll be disconnected.
+
+
+WARNING: If you use any Mirror Lake feature on this world, the current Mirror Lake Quest will be marked as "Failed".
+
+
+WARNING: If you walk out the main gate you WON'T be able to return!
+
+
+WARNING: Might have unexpected side effects!
+
+
+WARNING: Monsters will appear!
+
+
+WARNING: NO EXPERIENCE WILL BE CARRIED OVER FROM THIS FIGHT.
+AVERTISSEMENT: AUCUNE EXPÉRIENCE NE SERA OBTENU DURANT CE COMBAT.
+
+WARNING: Nivalis is currently under siege from the Monster King himself.
+
+
+WARNING: Path temporaly closed due strong snowstorm.
+
+
+WARNING: Permanent boosts will return to their fruit form.
+
+
+WARNING: Save your game now.
+
+
+WARNING: Server will go down for scheduled maintenance in 10 minutes!
+
+
+WARNING: Server will go down for scheduled maintenance in 15 minutes!
+
+
+WARNING: Server will go down for scheduled maintenance in 5 minutes!
+
+
+WARNING: Spawn these monsters with moderation!
+
+
+WARNING: Strange bugs may happen if you attempt to craft an item you already have on inventory!
+
+
+WARNING: THIS ACTION IS IRREVERSIBLE.
+
+
+WARNING: The %s is a %s. Besides being insanely powerful, no duplicate of them exist in the world. They can be tweaked freely and can hold multiple cards as well, and scale according to your level. Use its powers wisely. However, beware: This weapon cannot be traded except with "@grantpower" command, and if you abandon the world, the weapon will abandon you as well!
+
+
+WARNING: This is a level 45 quest!
+
+
+WARNING: This is experimental!!
+
+
+WARNING: Warp Crystals can break after use and have a cooldown.
+
+
+WARNING: You are about to enter a HIGH-RISK zone.
+
+
+WARNING: You died at Forgotten Shrine and the Shrine defense triggered.
+
+
+WARNING: You have a time limit!
+
+
+WARNING: You have done less than 50% of Candor Quests!
+
+
+WARNING: You must give at least @@ boxes more before event ends to be eligible for a reward!
+
+
+WARNING: Your progress on the quest was lost!
+
+
+WARNING: if you die again today in a special map it will be PERMANENT.
+
+
+WARPING IN 10 SECONDS
+
+
+WAW thank you! Come back later to bring me extra @@!
+
+
+WHAT ARE WE WAITING FOR?! START ALREADY!
+
+
+WHAT ARE YOU GOING TO DO?
+
+
+WHAT IN THE NAME OF THE FREAKING PENGUIN WAS THAT?!
+
+
+WHAT? Have you not gained one at birth? That's absurd!
+
+
+WHAT? How can you ever party without beer?!
+
+
+WHAT? That's twice absurd! Now you'll say that you were found stranded on a desert island without equipment and can't remember anything but your own name!
+
+
+WHAT? The farm is plagued with insects?!
+QUOI? La ferme est infestée d'insectes?!
+
+WHAT?! ARE YOU OUT OF MIND?!?!
+
+
+WHIP
+
+
+WOW, THIS IS AWESOME! Many, many thanks!!
+WOW! C'EST INCROYABLE! Merci mille fois!!
+
+Wait a minute! I have an idea!
+
+
+Wait a minute...
+Attend une minute...
+
+Wait a minute... This is written in Mananese! I can't read it!
+
+
+Wait a moment - you are naked! YOU WILL DIE IN THE FREEZE! o.o
+
+
+Wait for the bait to sink underwater.
+Attends que l'appât coule sous l'eau.
+
+Wait, I thought you were a nymph!
+
+
+Wait, Yeti's have a king?
+
+
+Wait, are you with the police? I didn't do anything wrong, I promise!#0
+
+
+Wait, are you with the police? I didn't do anything wrong, I promise!#1
+
+
+Wait, if you try to melt more than one item, manaplus will get buggy.
+
+
+Wait, it is not so simple as just giving me the money.
+
+
+Wait- Something is happening!
+
+
+Wait. I remember you. You ruined my crops a few seconds ago!!
+
+
+Wait...could you repeat that?
+
+
+Waiting for @@...
+En attente de @@...
+
+Waitress
+
+
+Walk +5%
+
+
+Wall Card
+
+
+Wall Card S
+
+
+Wall Card X
+
+
+Wand (skill boost, pathetically weak)
+
+
+Wanderer, here is dangerous! Go back!
+
+
+Wandering Shadow
+
+
+Wandering too much? Take care to don't get lost.
+
+
+Wandering too much? Take care to not get lost.
+
+
+Wands
+
+
+Want to break the hundredthousand item limit?? Ten gifts, for more, bring 102,400 boxes here.
+
+
+Wardrobe#MKHB
+
+
+Wardrobe#RES_0128
+
+
+Wardrobe#RES_PPL
+
+
+Warez?
+
+
+Warlord
+
+
+Warlord Boots
+Warlord Boots
+
+Warlord Gloves
+Warlord Gloves
+
+Warlord Helmet
+Warlord Helmet
+
+Warlord Pants
+Warlord Pants
+
+Warlord Plate
+Warlord Plate
+
+Warning#Kamelot
+
+
+Warning.
+
+
+Warning: If you are taking an advanced class, it will canceled.
+
+
+Warning: Invalid UNIX EPOCH time detected.
+
+
+Warning: This will drain mana and spawn monsters. You shall not leave this cave section!
+
+
+Warning: You are using an old client.
+
+
+Warp - Arrest me!
+
+
+Warp - Jump to Basement
+
+
+Warp - Jump to Cave Exit
+
+
+Warp - Jump to Entrance
+
+
+Warp - Jump to Jail
+
+
+Warp - Jump to Sewer Entrance
+
+
+Warp - Jump to Weapon Room
+
+
+Warp to Council room?
+
+
+Warp to a mirror island.
+
+
+Warp to extra island!
+
+
+Warp to the Cave Of Trials?
+
+
+Warped Log
+Warped Log
+
+Warped.
+Téléporté.
+
+Warping to save point.
+Téléportation au point de sauvegarde.
+
+Warrior General
+
+
+Was I supposed to have one? How should I reply?
+
+
+Was it Nard who brought you here?
+
+
+Was not it only flooded constantly, the graveyard is not too far. If you stray away from the path, you'll get lost.
+
+
+Wash yourself with the potion
+
+
+Wasn't there something on the Holy Bible? About a young boy trapped by his brothers somewhere because envy?
+
+
+Watch out! My wife was gravely wounded the other day. Don't forget your shield when leaving this holy place!
+
+
+Water Element
+
+
+Water Fairy
+Water Fairy
+
+Water, Bread, Cheese and Cherry Cake are to eat, and money is always useful, you know.
+L'eau, le pain, le fromage et le gâteau aux cerises sont à manger et l'argent est toujours utile, Tu sais bien!
+
+Wave @@/10
+
+
+Waw! You really did it, you're the savior of my farm!! You have my eternal gratitute. Here is 2500 GP for your troubles!
+
+
+Waw! You really did it, you're the savior of my farm!! You have my eternal gratitute. Here is 5000 GP for your troubles!
+
+
+Waw, you are level @@! Many congratulations. If there were people like you, ukarania wouldn't have been destroyed...
+Wow, vous êtes niveau @@! Félicitations, s'il y avait eu plus de gens comme vous, l'Ukarania ne serait pas détruite...
+
+We actually have a problem. Bandits ransacked this tavern, and took a huge loot.
+
+
+We advise you to change your equipment now.
+
+
+We also feature some services like a storage and a bank for members.
+Nous proposons également des services comme un stockage et une banque pour les membres.
+
+We also found a small fortress and a small gothic building which might have important clues on your journey. Our first task, therefore, should be recapturing this town from our enemies!
+
+
+We appreciate your help. Take this %s as a token of goodwill.
+
+
+We are assembling forces to take Nivalis back.
+
+
+We are deliberating. Some do not... approve of your initiation. Leave.
+
+
+We are in desperate need of food and nesting material, as well as our sacred supply of @@.
+
+
+We are no longer in danger, thanks to you. The pirates were thoroughly defeated. None survived the battle.
+
+
+We are planning to take over Hurnscald from the Monster King, and we will need everybody's help.
+
+
+We are strong fighters, and we want to free the King from his obsession.
+
+
+We are unsure of the cause, but they must be repelled at any cost!
+
+
+We arranged a small underground room for that, because the Colliseum is too far away.
+
+
+We can do this again on next summer!
+
+
+We can do this again on next winter!
+
+
+We can't let you die of thirst! That wouldn't be cool at all! And I'm very cool!
+
+
+We can't, don't you agree?!
+
+
+We don't have a mayor. The independent city-state of Frostia is ruled by a King.
+
+
+We elves have greater affinity for magic than humans.
+Nous les elfes, avons plus d'affinités à la magie par rapport aux humains.
+
+We follow north hemisphere seasons in case you're wondering.
+
+
+We found several interest points inside, like some mines with the most precious ores in the world - like %s and even %s - along very powerful monsters. Unfortunately, it is partly flooded.
+
+
+We from Halinarzo are very poor, and in constant need of food. You have to help us!
+
+
+We have four classes, but you can make a mix between them.
+
+
+We have made a stop at a little island, before making it on to the port of Tulimshar.
+
+
+We have three vanishing sort of people on the story.
+
+
+We held to our hope and Jerry figured it out.
+
+
+We keep the Slimes past the barrier for the night, so be careful when entering.
+
+
+We know a lot, but all this knowledge will part with us. We should not the only nomads, though. There should be nomads in Argaes, Kaizei, besides the citadels of Oceania and Volcania. Unfortunately, all of them are incommunicable. But so are us.
+
+
+We may delete all entries and change formulas in the future.
+
+
+We may require your aid again soon. The tritan pirates are amassing and we fear they are planning a siege of Duck Island. I must speak with the Council of Elders...
+
+
+We must away
+
+
+We must blame Saulc!
+
+
+We must capture Barbara AND return the stolen item!
+
+
+We must defeat the Monster King on his evil lair!
+
+
+We must find out what lies at the top, whatever the cost!
+
+
+We need to find what powers these two seals and disable it.
+
+
+We need:
+
+
+We offer party and guild certifications.
+
+
+We only managed to recover @@ stolen @@ thus far...
+
+
+We only require a small fee of %d %s, or %d %s, or %d %s if you are poor adventurer.
+
+
+We organize some auction and we help local merchants to launch their businesses.
+
+
+We pursued them until the mines, slayed them, and took the chests where they locked our stuff into.
+
+
+We really appreciate your help with the slimes.
+
+
+We shall be waiting for your arrival.
+
+
+We should be there in a few days. For now, you can relax on the ship, or visit the island we're docked at! Its a small island, but a good place to get some exercise and stretch your legs.
+Nous devrions être repartie dans quelques jours. Pour l'instant, tu peux détendre sur le bateau ou visiter l'île sur laquelle nous sommes amarrés! C'est une petite île, mais c'est un bon endroit pour faire de l'exercice et se dégourdir les jambes.
+
+We should split our team, and have someone to protect our backs. Otherwise, we might not do it.
+
+
+We speak various languages on this world. Let's try gesturing!
+
+
+We sure flourished at her early years, but the late years were a disaster! Crops were failing way before her death!
+
+
+We thank every developer which helped this project thus far!
+
+
+We thank every player, because without them, this would be nothing!
+
+
+We thought that you could help us understand this, all we know is that we found you cast in the sea, in a sand bank.
+Nous pensions que tu pouvais nous aider à comprendre cela, tout ce que nous savons, c'est qu'on t'a trouvé jeté à la mer, sur un banc de sable.
+
+We want to celebrate this moment, but can you believe we ran out of beer?
+
+
+We want to thank everyone who did this release possible.
+
+
+We will be yaying there in a few days, so we will drop you off there.
+On arrivera là-bas dans quelques jours donc on t'y déposera.
+
+We will have a party today, but only believers are allowed in!
+
+
+We will talk about it later.
+Nous en parlerons plus tard.
+
+We won't be able to pay you in money, but we'll make you one of us if you bring us beer!
+
+
+We'd never be able to recover our books so quickly without your help. Thanks!
+
+
+We'll be arriving at Artis by the dawn, where Elora will be waiting for us. I can only hope, that the denizens are okay...
+
+
+We'll be correcting this bug automatically now.
+
+
+We'll bring this one to Juliet at once. Thanks for your help! Savior!#0
+
+
+We'll bring this one to Juliet at once. Thanks for your help! Savior!#1
+
+
+We'll never forget Andrei Sakar, the most courageous hero this world has ever had.
+
+
+We're busy here, so please don't bother us.
+
+
+We're currently the biggest exporter of food. We may be a small town, but Tulimshar and Halinarzo can barely hold themselves.
+
+
+We're doing researches on slimes, the explosive ones. You probably saw when they explode, they damage anything close to them, friendly or not, right?
+
+
+We're nearly out of paper. The new books require so much material... And it's not easy to get Reed Bundles to create new paper.
+
+
+We're talking about @@. It's not something for kids or pranksters!
+
+
+We're trying to repair some of the valuable and important books. It's so much work!
+
+
+We're trying to repair the books by collecting the ripped out bookpages and sorting them and copying them for new books. It's a lot to do, and after being eaten by a slime they stink!
+
+
+We've built this blockade to prevent this area from being overrun with monsters, but who knows for how long this will last.
+
+
+We've finally solved the problem with our instruments!
+
+
+We've traced them to the Dark Forest, our goal is to destroy every raider there and defeat whoever is behind this tragedy. All that while keeping an eye open for survivors.
+
+
+Weakness: AGI-
+
+
+Weakness: DEX-
+
+
+Weakness: INT-
+
+
+Weakness: LUK-
+
+
+Weakness: NONE
+
+
+Weakness: STR-
+
+
+Weakness: VIT-
+
+
+Weapon Maximum Damage
+
+
+Weapons: +8 attack, +8 magic attack
+
+
+Weather & Seasons.
+
+
+Wedding Ring
+Wedding Ring
+
+Weekly, at Sunday 00:00, elections are held.
+
+
+Weellos
+
+
+Welcome back, Padric!
+
+
+Welcome back, children. So, how was your treasure hunt? Did you manage to find the path?
+
+
+Welcome back.
+
+
+Welcome back. Please enjoy your stay here.
+
+
+Welcome back. Uh, no, I haven't forgot I promised you a small something... But you see, then I lost my ring, and...
+
+
+Welcome miss.#0
+Bienvenue mademoiselle.
+
+Welcome to
+
+
+Welcome to Aethyr, strange traveler. I am a collector of rare gemstones.
+
+
+Welcome to Dimond's Cove!
+
+
+Welcome to HUNGRY QUIRIN ARENA mangment panel.
+
+
+Welcome to Moubootaur Legends: ##1Fires of Steam##0
+
+
+Welcome to Nivalis, the frozen town.
+
+
+Welcome to Porthos - The Town of Portals (Kaizei's æther / Moubootaur Legends)
+
+
+Welcome to Saulc's Magic Alchemy Table!
+
+
+Welcome to Saulc's Magic Smith Table!
+
+
+Welcome to TMW-2: Moubootaur Legends! We hope you have a great time in our server!
+
+
+Welcome to Tolchi and Rosen Shop.
+
+
+Welcome to Tulimshar, @@!
+
+
+Welcome to my fine establishment!
+
+
+Welcome to the ##BThieves Guild##b! Follow those with higher rank than you, and happy stealing!
+
+
+Welcome to the Arena. Select your action
+
+
+Welcome to the Greenlands, the place cursed by the Monster King to be ice forever, and now known as Icelands.
+
+
+Welcome to the Town Hall. I am @@, officer in charge of public associations.
+
+
+Welcome to the library of Sage Nikolai. I'm very sorry, but as you see it's not in a good shape at the moment. Most of the books were eaten by the slimes or damaged and we're working hard on cleaning up the mess.
+
+
+Welcome to the questing world!"
+
+
+Welcome! Here to pick a weapon? You'll be able to select three skill cards as well.
+
+
+Welcome! I come from nowhere, and my family hunt Snakes. We also make fine leather items from their skin!
+
+
+Welcome! I see you have ##B%d Monster Points##b. Would you like to exchange some of those for items?
+
+
+Welcome! I see you have %d Monster Points. But that isn't enough to get items at your current level, sorry!
+
+
+Welcome! My name is @@, I am a representative of the Merchant Guild on @@.
+
+
+Welcome! Only the finest wares!#0
+
+
+Welcome! Only the finest wares!#1
+
+
+Welcome. Are you an adventurer? I could use some help.
+
+
+Welcome. Please don't go deeper into the library, there are still some slimes left. But in spite of that we have made quite a bit of progress. You should have seen the mess just after most of the slimes escaped!
+
+
+Welcome.#0
+
+
+Welcome.#1
+
+
+Well ... but ... I mean ... I don't know ...
+
+
+Well I see that you have completed the George Quest!
+
+
+Well done! I hope no more of those assassins show up. I'm afraid I cannot give you a proper reward, but...
+
+
+Well well well, @@, good job in reaching Soren's House.
+
+
+Well#003-1
+Well#003-1
+
+Well#Nivalis
+
+
+Well, Andrei Sakar said it was a waste a time, and the other NPCs started fighting against themselves, so I won.
+
+
+Well, I and my brother could make another one, but they are being checked for safety.
+
+
+Well, I can sell you a random box with almost 100 @@ for just @@ GP.
+
+
+Well, I can't help but keep thinking on how many shiny treasures might be there!
+
+
+Well, I decided to resume an old research of mine, now that I have a minion (you) to gather stuff for me.
+
+
+Well, I did my best, but this had been so refined, that it was difficult to find my way.
+
+
+Well, I do not trust you yet. You literally were just brought by the shore, and even if Nard and Lua seems to trust you...
+
+
+Well, I don't want to be an snob.
+
+
+Well, I guess I was thinking too high of a random adventurer like yourself...
+
+
+Well, I have a small problem. Sorry, but my superior officer did not like you. This happens, not everyone will like us, right? A lot of adventurers actually hate me %%R
+
+
+Well, I have not finished my research on snakes yet, but I'm pretty sure in how to transmute their parts.
+
+
+Well, I heard you needed to have some Job levels to sign up with them, and couldn't resign later.
+
+
+Well, I just like sunbathing.
+
+
+Well, I know a mixture to keep monsters away. I just can't share it with you now.
+
+
+Well, I know how to do a @@, a sturdy bow, but I am not making those anymore, sorry.
+
+
+Well, I suppose you can have some of my tea.
+
+
+Well, I would love to, but the house is a mess.
+
+
+Well, I'll give you a hour of EXP RATE UP! How cool is that? Enjoy!
+
+
+Well, I'm currently researching scorpions, as you can imagine.
+
+
+Well, I'm the miner leader, indeed. A miner need to have the full set.
+
+
+Well, all humans does mistakes... Wait, he is an elf. So, everyone commit mistakes. Anyway...
+
+
+Well, as with any legendary tailor, you must bring the materials yourself, and pay the work fee!
+
+
+Well, first of, you'll need an @@ and an Equipment Recipe.
+
+
+Well, for a living, I usually tend to the crops.
+
+
+Well, good luck with your business.
+
+
+Well, here you are. I hope you enjoy ^^
+
+
+Well, if you are good, you can just not get hit. If you're not so good, then bows will be a pain.
+
+
+Well, if you come from Candor, you probably will have some fluffy's yellow feathers. I use them to make pillows.
+
+
+Well, if you ever need help, do not hesit reading the wiki ;-)
+
+
+Well, if you want to donate @@, you'll be ranked. There's gift for everyone, and rewards for top 5 donors.
+
+
+Well, if you want warrior craft, perhaps you should look for @@ or @@.
+
+
+Well, if you were from the defenders, you would have been adopted by a family which left Halinarzo.
+
+
+Well, if you're scared, you can kill Desert Log Heads, but they'll have a smaller worth.
+
+
+Well, it depends on the curse. Some are easy to break, and others are... well...
+
+
+Well, it is terrible! How can I make armours if I ran out of Iron? Shall the citizens of Candor Island perish in a monster attack?!
+
+
+Well, long story short, we have two magic systems. One works out of box. The later one, is the Mana Magic.
+
+
+Well, maybe it takes a few hours or days of your life, but who cares! It is instant teleport!
+
+
+Well, my men went down and still haven't returned.
+
+
+Well, my tea is just too good.
+
+
+Well, no risk, no gain.
+
+
+Well, not like you could understand that with your level! %%a
+
+
+Well, perhaps a few of them are rebels, I mean, people like us, but many of them are monsters.
+
+
+Well, problem is, after that, there was demand for an election. The previous mayor lost. I won.
+
+
+Well, sorry, but only some items can be refined.
+
+
+Well, speaking a bit about myself can't hurt. I am a member from the Magic Council, but one day I decided to take a vacations.
+
+
+Well, thanks.
+
+
+Well, that could fail, I said. Here is some experience.
+
+
+Well, that was a good fight. My grand-grand-grandfeather gave his shield to Arvek -- err, Braknar I mean.
+
+
+Well, that was bad, but at least you know a bit from story.
+
+
+Well, that was quite good. To defeat me and Lilit's general, alone, in such low time; You should be proud of yourself.
+
+
+Well, that's easy to do. For starters, I need 1.000 GP as payment, and 10 @@ to make the string.
+
+
+Well, that's not a ring.
+
+
+Well, the Yeti King has went away to the cliffs north of this one. He'll get back here very hungry.
+
+
+Well, the biggest mana stones mine was in %s, but I'm afraid it has already depleted... Besides, it is very dangerous.
+
+
+Well, the first thing would be to get access to a Mana Stone. Halinarzo had the biggest mana stone mines, but it's now depleted.
+
+
+Well, the reason why I'm not doing it already is because, you see, I lack cookies.
+
+
+Well, then I'll give you a task. We may meet again in Soren Village.
+
+
+Well, there might be a deep water spot, but it would still be dangerous.
+
+
+Well, these slimes are dangerous, but if you find some pages, be sure to bring them to Ensio. This will help us a lot. Eh, if you're interested in helping, that is. %%1
+
+
+Well, this is very disturbing, indeed. I hope my good friend Sagratha is fine.
+
+
+Well, too bad!
+
+
+Well, welcome to the game! If you have any doubt, shout on #world for help!
+
+
+Well, yes, I've saw them heading off to the Yeti King room. Lately, many Yetis have been uprising against your majesty.
+
+
+Well, yes. Look this river. The water is not moving.
+
+
+Well, you are. You're quite interesting. I've been watching you for some time now, as you've been helping so many people: you're quite a master at what you do, you know.
+
+
+Well, you clearly never fought before, so remember to add stats.
+Eh bien, vous n'avez clairement jamais combattu auparavant, alors n'oubliez pas d'ajouter des statistiques.
+
+Well, you don't have a weapon. So, let me explain quickly.
+
+
+Well, you forgot the most important: The material I need to do the string.
+
+
+Well, you gave me the gems, so I trust you. Here, take this @@.
+
+
+Well, you helped me. That's great! One hand washes the other, so, I'm willing to share knowledge with you.
+
+
+Well, you know... Maybe we can strike a deal. I have good relations with the stock manager. I'll give you an event item.
+
+
+Well, you need more experience. Keep trying!
+
+
+Well, you probably deserve it.
+
+
+Well, you see, you can't jump very far. And the water near land is shallow.
+
+
+Well, you were warned. Do you have any other stuff for me?
+
+
+Well, you'll need to get used to. Being seasick is annoying, so you might want to leave the ship as soon as possible.
+
+
+Well, you're an adventurer, and I guess tending to crops isn't your cup of tea.
+
+
+Well. I'll take care of that, don't worry with that.
+
+
+Well... Can't say I'm surprised. He is very perfectionist. Putting on himself the blame is something he would do.
+
+
+Well... Here you go!
+
+
+Well... You're right.
+
+
+Well... we'll see around!
+
+
+Well... you did not succeed in opening this %s.
+
+
+Welp, no, please!
+
+
+Welp, you killed 10 Crocs. They're not dangerous, as you see. That's why we don't bother in cleaning them up.
+
+
+West Aeros
+
+
+West Avenue#lof
+
+
+West of here is a beach. In said beach there are blubs, they don't attack but they walk in packs. Be careful if you provoke too many of them.
+
+
+West of here is a beach. There's a secret passage to it, underground. In there you'll find slime-like creatures called Blubs.
+
+
+West of here, north of here, is a cabin. Investigate. That's all.
+
+
+Wha- How dare you, to lie to me!
+
+
+Whaaaaaaat *hic* is she *hic* have she gotten crazy? *hic*
+
+
+Whaaaaaat, you are that noob from earlier! Vanish! Be gone! Don't bore me!
+
+
+What ANISE INC. Does?
+
+
+What Alliance? The Alliance which rules over the World Of Mana!
+
+
+What I had to bring, again?
+Quesque je dois t'apporter déja?
+
+What I want to say is: Kill non-stop!
+Ce que je veux dire, c'est: Tuez non-stop!
+
+What a rip-off!
+
+
+What about job levels and job experience?
+Et à propos des niveaux de métier et de l'expérience?
+
+What about the Desert Temple?
+
+
+What about the Shield?
+
+
+What about the worm?
+
+
+What about you bring me:
+
+
+What alliance?
+
+
+What am I supposed to say?
+Qu'est-ce que je suis supposé dire ?
+
+What an amazing crown you have! How do I get it?!
+
+
+What are Magic Skill Points?
+
+
+What are Research Points
+
+
+What are current leaderboard?
+
+
+What are the Ancient Families of the Soul Menhir?
+
+
+What are the Transcendence Gates?
+
+
+What are the tasks of the Alliance?
+
+
+What are you doing alone in this desert?
+
+
+What are you doing here, @@!
+
+
+What are you doing here? This place is too dangerous for you!
+
+
+What are you doing in my kitchen?! Get out, it's not a place for kids!
+Que fais-tu dans ma cuisine ?! Ce n'est pas un endroit pour les enfants !
+
+What are you doing talking to me? Go fight, you coward!
+
+
+What are you doing? Fight!
+
+
+What are you doing? Go talk to @@ and bring me a @@!
+
+
+What are you doing? Stop wasting my time and go talk to @@!
+
+
+What are you even speaking about?
+
+
+What are you still doing here? Begone!
+
+
+What are you still doing here?! GO!!
+
+
+What are you talking about? What guild?
+Mais de quoi tu parles ? Quelle guilde ?
+
+What are you talking about? You are who you are right now. There's no other you.
+
+
+What are you waiting for? Go kill the bandit lord.
+
+
+What are you waiting for?! Get running, Pachua is waiting!
+
+
+What body orifice should a babel fish be inserted in to work properly?
+
+
+What brings you here, @@?
+
+
+What can I do for you?
+Que puis-je faire pour toi?
+
+What can I do with Bug Leg?
+
+
+What can I do with Maggot Slime?
+
+
+What can I do?
+
+
+What can you say about dyes?
+
+
+What can you say about the monsters here?
+
+
+What can you tell me about the Moubootaur?
+
+
+What cheap crap is this? It's not worth even 10 GP.
+
+
+What color is a Babel Fish?
+
+
+What counts for titulation? Could you give me examples?
+
+
+What crap is that?! This is not from Tulimshar!
+
+
+What did the Council of Elders say? Is there any news of the pirates?
+
+
+What did you expect?
+
+
+What did you need me to get again?
+
+
+What did you want? I've forgotten.
+
+
+What do you choose?
+
+
+What do you know about other Mana Magic Professors?
+
+
+What do you know about the Tyranny Bow?
+
+
+What do you mean? Do you at least have a rowboat with you?!
+
+
+What do you need to learn something besides money for tuitions fee? Time and Dedication.
+
+
+What do you need?
+De quoi as-tu besoin ?
+
+What do you say?
+
+
+What do you think learning is, magic?! No!
+
+
+What do you want to access?
+À quoi veux-tu accéder ?
+
+What do you want to change?
+Que veux-tu changer ?
+
+What do you want to do with your money?
+
+
+What do you want to do?
+Qu'as-tu envie de faire ?
+
+What do you want to know?
+
+
+What do you want to learn more about?
+
+
+What do you want to reset?
+Que veux-tu réinitialiser ?
+
+What do you want today?
+Que veux-tu aujourd'hui ?
+
+What does miners do in cave?
+
+
+What else do you need?
+Qu'as-tu besoin de plus ?
+
+What else like a Pinkie?
+
+
+What game is played on earth as a relict of memories to an ancient war?
+
+
+What happened to me?
+Que m'est-il arrivé ?
+
+What happened to the Wizard's Tower?
+
+
+What happened?
+
+
+What have happened? Why are you crying?
+
+
+What have you done?! We're under attack!
+
+
+What in the world is happening?! Where in Jesusalva's name are you?!
+
+
+What interesting water. Just don't ask me why.
+
+
+What is @@ doing?
+
+
+What is Ford Prefect's nickname?
+
+
+What is a %s doing here? Eugh, you stink! You should keep away from our children!
+
+
+What is an airship? O.o
+
+
+What is banking?
+
+
+What is going on here?
+
+
+What is my current hairstyle and hair color?
+Quelle est ma coupe et ma couleur de cheveux actuelle ?
+
+What is the Academy?
+
+
+What is the Alliance?
+
+
+What is the Magic Academy?
+
+
+What is the Moubootaur?
+
+
+What is the Scholar Rank?
+
+
+What is the answer to life, the universe and everything?
+
+
+What is the first name of the author of the hitchhikers guide?
+
+
+What is the last name of the author of the hitchhikers guide?
+
+
+What is the most important item for every hitchhiker to have?
+
+
+What is the name of the Restaurant at the End of the Universe?
+
+
+What is the name of the Vogon home planet?
+
+
+What is the name of the computer on The Heart of Gold?
+
+
+What is the name of the creature that is continually reincarnated and subsequently killed, each time unknowingly, by Arthur Dent?
+
+
+What is the name of the rock group claiming to be the loudest band in the universe?
+
+
+What is the name of the spaceship which was stolen by the president of the universe?
+
+
+What is the name of the super computer?
+
+
+What is this guild for?
+À quoi sert la guilde ?
+
+What is this island?
+
+
+What is this place anyway?
+
+
+What is your problem?
+
+
+What item do you want to melt down? This is irreversible, and may return some ingots to you, but there is no way to tell how many you'll receive!
+
+
+What item would you like to bleach?
+Quel objet veux-tu blanchir ?
+
+What magic classes are there?
+
+
+What race creates the worst poetry in universe?
+
+
+What service do you offer?
+Quelles services offres-tu ?
+
+What should I do now?
+
+
+What star is near Ford's home planet?
+
+
+What the f...? Four Hundred Thousand??? Must be a bug. Next milestone is 819,200. Cheaters.
+
+
+What to exchange with Leona?
+
+
+What two words are written in big friendly letters on the back cover?
+
+
+What was I doing before...? I forgot!
+
+
+What was I doing before...? I totally forgot!
+
+
+What was the sequence?
+
+
+What were the second most intelligent creatures on Earth?
+
+
+What will be my reward?
+
+
+What will be the bait for the fish?
+Quel sera l'appât pour le poisson ?
+
+What will you brew today?
+
+
+What will you craft today?
+
+
+What will you forge today?
+
+
+What will you transmute today?
+
+
+What would you like to bury?
+Que veux-tu enterrer ?
+
+What would you like today?
+Que veux-tu aujourd'hui ?
+
+What yeye could I do for you today?
+Dis-moi, que puis faire pour toi ?
+
+What you asked me for, again?
+
+
+What you refer as Ancient Families, are probably their descendants. There was nothing special about them, other than they promised to defend mankind of their own actions.
+
+
+What're you looking at?!
+Que regardes-tu ?!
+
+What's S.A.R.A.H.?
+
+
+What's it, scout.
+
+
+What's that? They seem to be AFK but are not?
+
+
+What's the World Edge?
+
+
+What's the difference from a Mana Wizard and a Mage?
+
+
+What's the name of the paranoid robot?
+
+
+What's the problem?
+
+
+What's this dark magic, the password has changed!
+
+
+What's wrong?
+
+
+What's your opinion of Peetu and his work?
+
+
+What, only that? Well, this is actually simpler than it looks.
+
+
+What? A party?
+Quoi? un Groupe?
+
+What? Don't be ridiculous. Not even the Monster King does that! I think.
+
+
+What? Why not?
+
+
+What?! Do my house look like the place to you pratice your thief skills?!
+
+
+What?! This changes the whole history. Not only that, but this is a serious issue!
+
+
+Whatever you find there is yours to keep.
+
+
+Whatever you're blaming Saulc about, this one time, he is innocent.
+
+
+When Christmas starts, here will become frantic again, with things running out of stock all the time... But the adventurers deserve it, for fighting monsters the year round.
+
+
+When I am drunk I tell myself to stop drinking, but I won't listen the words of a drunkard.
+
+
+When I was alive, I brought people to their destiny.
+
+
+When it returns, it is holding a cute %s. Understanding it is a gift, you take it.
+
+
+When people loses too much blood, they die, unless we can lend them somebody's else blood.
+
+
+When receiving the chocolate, you must eat it before event ends to get a point for that!
+
+
+When the boss is defeated, or the minute clock marks fifteen, event ends.
+
+
+When they left to World Edge, they probably were looking for Mana Fragments. In other words... Soul Menhirs. Parts of the World Heart.
+
+
+When this is the case, you should get closer to the NPC, until they hear you.
+
+
+When you get out of the ship, it is the first building you'll see. Talk to ##BLua##b, she is an alliance representative.
+
+
+When you have added all the items and money you want, press the 'Propose Business' button. The other citizen must also press the 'Propose Business' button.
+
+
+When you're stronger I may consider asking for your help.
+
+
+When your inventory is open, you can equip an item by selecting it and clicking 'Equip'. You can do the same to unequip an item by clicking on 'Unequip'.
+Une fois ton inventaire ouvert, tu peux équiper un objet en le sélectionnant puis en cliquant sur 'Équiper'. Tu peux faire de même pour l'enlever en cliquant sur 'Enlever'.
+
+Where I needed to go, again?
+
+
+Where are you from, don't you see all the bandits? Seriously, with these ridiculous plans, the whole continent doomed.
+
+
+Where can I find Juliet?#0
+Où puis-je trouver Juliet?#0
+
+Where can I find Juliet?#1
+Où puis-je trouver Juliet?#1
+
+Where can I find the previous mayor?
+
+
+Where can I find them?
+
+
+Where could my man have went?!
+
+
+Where do I get so much money?!
+
+
+Where do you think you are going, without talking to me first?
+
+
+Where exactly am I?
+
+
+Where have you been, pal? He perished.
+
+
+Where is Woody?
+
+
+Where is here? What was this place used for?!
+
+
+Where is it? Everything's upside down. These terrible slimes.
+
+
+Where is the World's Edge?
+
+
+Where is the item you've stolen?
+
+
+Where is the salt?! This is sugar! Proper sailors need salt, not sugar!
+Où est le sel?! C'est du sucre! Les bons marins ont besoin de sel, pas de sucre!
+
+Where should I warp to?
+
+
+Where's the Sunny Crystal? Hurry up, you only have @@ left!
+
+
+Where's the money? Go away.
+
+
+Where's the reagent? You don't expect me to find it, right? Go bring them!
+
+
+Which country does the human protagonist come from?
+
+
+Which deal?
+
+
+Which item will you tweak?
+
+
+Which language do you speak?
+
+
+Which melee you craft?
+
+
+Which recipes do you want to read?
+
+
+Which rewards are available?
+
+
+Which skill will you FORGET permanently today?
+
+
+Which sound great in theory, but it was not. Greedy people found a way into power. They probably had good reasons, but they started confiscating Mana Stones, and storing them in a tower...
+
+
+Which water will you use?
+
+
+While %s's reasons to do so remain unclear, a request was made.
+
+
+While I don't think the Yeti King would ever do or endorse that, yes, I've heard this happens.
+
+
+While breaking the seal, monsters will spawn. The other monsters may drop %s.
+
+
+While it may not be suitable for fighting, by using it against Bifs and other mineral formations, you'll be able to get more ore.
+
+
+While mining bifs, a strange powder appeared.
+
+
+While on normal magic you must take care with all attributes, on mana magic, you usually only need to worry with reagents and intelligence.
+
+
+While the tyrant desires to see skill.
+
+
+While we're at that, do you know how to craft? No? First, you'll need a Cauldron, in case you've rented a house. Otherwise, you can rent a work table on this Forge.
+
+
+Whip
+
+
+Whirly Bird
+
+
+Whirly Bird (BOSS)
+
+
+Whiskey Ale
+
+
+White
+Blanc
+
+White Cats drink Milk, Forest Mushroom eats Moss, Black Cats eats marshmallow. Keep in mind whatever they eat.
+
+
+White Fur
+White Fur
+
+White Slime
+White Slime
+
+White Slime Mother
+
+
+WhiteCat
+
+
+Who are the most famous scholars?
+
+
+Who are you, and how did you manage to come down here? The sheer power of our Lord prevents anyone not under his control to go here.
+
+
+Who are you?
+Qui es-tu ?
+
+Who are you? Thanks for the help.
+Qui es-tu ? Merci pour ton aide.
+
+Who are you? Where are you from?
+Qui es-tu ? D'où viens tu ?
+
+Who composes the Alliance?
+
+
+Who dares to disturb my slumber?
+
+
+Who is Andrei Sakar?
+
+
+Who is Kfahr the Warrior?
+
+
+Who is responsible for the fjords of Norway?
+
+
+Who is the Professor? I've heard he was the father of a certain Arthur... No idea.
+
+
+Who is the male human protagonist? First and last name only.
+
+
+Who is there? Are they trying to break my lock again?!
+
+
+Who is this professor?
+
+
+Who is throwing stuff at me?!
+
+
+Who sent you here? Merlin?
+
+
+Who will collect the most?!
+
+
+Who will insult every living being in the universe, because he is immortal and getting bored?
+
+
+Who's Mercury? Maybe I'm missing something? Where could he have went?
+
+
+Who's this Juliet?
+
+
+Who, or what are you?
+
+
+Whoever took control of this village is no ordinary mage. There's a switch on the wall.
+
+
+Whom put an end at their foes,
+
+
+Why am I having a hard time to believe on you...
+Pourquoi ai-je du mal à croire en toi?
+
+Why are you here? This area is off-limits!
+
+
+Why did we had to decide to research slimes of all creatures?! But alas, now is too late. Not even a %s could restore her in this state...
+
+
+Why do you bully me! - This is a bug: 02331.LOGIC.OID
+
+
+Why do you only use the silk robe? Don't you have a shorts or something?
+
+
+Why do you summon me? Speak.
+
+
+Why do you want to help me?
+
+
+Why does death embrance me so much today?
+
+
+Why does it suck?
+
+
+Why don't you go yourself?
+
+
+Why don't you take a break? Breath in some fresh air. The basement is pretty damp.
+Pourquoi ne pas prendre une pause? Respire un peu d'air frais. Le sous-sol est assez humide.
+
+Why everything is so broken, couldn't the Monster King try to do less collateral damage?! These things will take years to be fixed!
+
+
+Why is it hard?
+
+
+Why not Andrei Sakar?
+
+
+Why not, I need to train anyway.
+Pourquoi pas, je dois m'entraîner de toute façon.
+
+Why should I spare you?
+
+
+Why should I? Go away. %%n
+
+
+Why shouldn't I jump here?
+
+
+Why would you want to go back there?
+
+
+Why you don't tell me?
+
+
+Why, I actually do sell a few things here! But they probably aren't what you're looking for.
+
+
+Why, hello there! Come to visit me to hear Kfahr the Warrior or Andrei Sakar's exploits, have you?
+
+
+Why, thank you!
+
+
+Why? You are most definitely at the wrong place. Leave!
+
+
+Wicked Mushroom
+Wicked Mushroom
+
+Wicked Shroom Hat
+
+
+Wielding the lightbringer came the ace,
+
+
+Wiki article
+
+
+Wildx Chest
+Wildx Chest
+
+Will adventurers reach it? Will the random attacks at towns cease??
+
+
+Will next draw be HIGHER or LOWER?!
+
+
+Will you accept his challenge?! Raise to the highest top score!
+
+
+Will you help me- no, I mean, will you help us, the whole town of Hurnscald?
+
+
+Will you try to unlock it?
+
+
+Wind Element
+
+
+Wind Fairy
+Wind Fairy
+
+Wind: @@, @@
+
+
+Windwalker
+
+
+Wine Making Barrel
+
+
+Winning Streak is also reset on logout or when you leave the Inn.
+
+
+Winning Strike Prizes:
+
+
+Winter
+
+
+Winter this year is really harsh! Fire is the most important for us.
+
+
+Wise choice! But can you really part with it? Better think on something else!
+
+
+Wise choice.
+
+
+Witch Boots
+Witch Boots
+
+With Magic and Blades, The Icicle shall break.
+
+
+With Magic and Blades, The Icicle shall break. Do you undertake the challenge?
+
+
+With Tulimshar being the last major human settlement standing (besides distant locations like Candor), the situation looks more dire than ever.
+
+
+With a PinCode, you'll have access to restricted features,
+
+
+With a big smile, you stretch your hand in the teddy's direction; But the little one gets scared with the movement and starts to move away from you.
+
+
+With a knife, the fisherman makes the roots as thin as he can. You wonder if he knows what he is doing.
+
+
+With a mask you say? This reminds me... wait a moment.
+
+
+With a mask? Hm. I don't remember.
+
+
+With a mask? I don't really remember... We have so many visitors. Though I suppose someone wearing a mask would be noticeable... But I'm so worn out from the past few days that I'm just glad I can even recall my own name! Sorry.
+
+
+With a mask? I really don't know. I'm usually in the workshop and most of the visitors spend their time in the library. Sometimes they come to have a quick look in the workshop too, but I don't really pay attention to that, so... I can't recall a visitor with a mask, sorry.
+
+
+With a mask? Mh, I think I know who are you talking about. I vaguely remember that there was someone with a mask... but I can't recall any details, I wasn't really paying attention.
+
+
+With a mask? Yeah, I remember. That was a strange guy. He came to visit the library, but he lurked around at the workshop area and they had to send him back to the books.
+
+
+With a wave, Benjamin returns to report Kenton about the outcome.
+
+
+With fresh conviction, you prepare yourself to the fight which draws near.
+
+
+With it, you can safely move items and funds between your characters.
+
+
+With one gem you can expect to get 1 to 3 powders!
+
+
+With recent player activity, the Monster king is @@!
+
+
+With the brave sacrifice of Andrei Sakar to save our world, our future seems as bleak than ever.
+
+
+With the wages I receive, you can use this market at your own risk.
+
+
+With this I make balls of slime for Candor's childs, they really like to play with them.
+
+
+With this tip you will be able to fight strong monsters. It's on Saul's Strategy Guide Against Archwizards.
+
+
+Withdraw GP
+
+
+Withdraw.
+Retirer.
+
+Within the cities is a place safe enough not to be attacked by another person (except during wars). But outside of them there are some places where the citizen can be attacked by enemies from other realms, or even by someone from the same realm.
+
+
+Without any ceremony or further ado, the teddy starts poking on your things.
+
+
+Without any mana stone left, and because the walls were not very strong, most of the city was destroyed.
+
+
+Without magic attack, using a fireball at an enemy will be like throwing a stone.
+
+
+Witness my sublime rain of death. Regeneration!
+
+
+Witness, the power of love!
+
+
+Wizard General
+
+
+Wizard Moccasins
+
+
+Wizardry
+
+
+Wizardry Institute is on the %s area of the campus.
+
+
+Wizards Tower, Tonori - 6th March 300 AT
+
+
+Wizards Tower, Tonori - 8th April 300 AT
+
+
+Wo-wo-wow! You really did it! You're the best!#0
+
+
+Wo-wo-wow! You really did it! You're the best!#1
+
+
+Wolvern
+Wolvern
+
+Wolvern Pelt
+Wolvern Pelt
+
+Wolvern Teeth Necklace
+Wolvern Teeth Necklace
+
+Wolvern Tooth
+Wolvern Tooth
+
+Wolverns are fierce creatures who likes cold places. Their fur is soft.
+
+
+Won Quirino Voraz Arena %s ago
+
+
+Wonderful! Here, take the @@, as promised. I need to get back to cooking!
+
+
+Wonderful! I'll be expecting you back.
+
+
+Wonderful! Just bring me 12 @@ and 4 @@. I'm counting on you!
+
+
+Wonderful! My fee is @@. This fee is the first step in separating those with willpower, from those without.
+
+
+Wonderful! Now I can prepare the ink for magnificent illustrations! You're very generous.
+
+
+Wonderful! So, how about a warm up?
+
+
+Wonderful! That was great! Directly hit the bull's eye!
+
+
+Wonderful! You must finish Novice, Intermediary, Advanced and Expert levels before I unlock Master level for you.
+
+
+Wonderful, I am happy to have you over. Lets get things started with some puerh tea.
+
+
+Wooden Bow
+Arc en Bois
+
+Wooden Log
+
+
+Wooden Shield
+Wooden Shield
+
+Wooden Sword
+Épée en Bois
+
+Woodland Fantasy
+
+
+Woodland Water
+
+
+Woody
+
+
+Woody Barrier
+
+
+Woody Card
+
+
+Woody is inside, he is probably crafting some stuff with animals pelts.
+
+
+Woohoo, thank you! Maybe now they'll leave me alone!
+Woohoo, merci! Peut-être que maintenant ils me laisseront tranquille!
+
+Word of the wise: You can freely challenge the Yetifly later.
+
+
+Worker Day
+
+
+Worker Statue
+
+
+World Expo
+
+
+World Gate 2
+
+
+World Map - @@
+
+
+World hero: %s
+
+
+World's Edge is an island situated northwest of here.
+
+
+World's Edge is the place where the Monster King Fortress is.
+
+
+Worlds Gate
+
+
+Worry not, I have them with me.
+
+
+Would be nice if you could bring me these:
+
+
+Would love to invite you to a card minigame... But alas, Kenton told me that minigames are a waste of time, and that I should not bother adventurers with it.
+
+
+Would you ... uhm ... would you talk to Chief Oskari for me? And ask her what she plans to do about me? I... I just don't feel capable of doing that myself right now. I'll try to pull myself together in the meanwhile.
+
+
+Would you like to help me with organizing a Church Party?
+
+
+Would you like to help us to protect the town from a red scorpion invasion??
+
+
+Would you like to help us? Maybe you just need some information.#0
+
+
+Would you like to help us? Maybe you just need some information.#1
+
+
+Would you like to leave this place?
+
+
+Would you like to transform one more?
+
+
+Wouldn't you know it, the bug bomb Eomie gave us is in one of the store room barrels.
+La bombe d'insecticide que Eomie nous a donnée est dans un des tonneaux de l'entrepôt.
+
+Wouldn't you like to help me too?
+
+
+Wounded Girl
+
+
+Wounded Soldier
+
+
+Wounded Soldier#01861
+
+
+Wow!
+Wow!
+
+Wow! Are you @@? Everyone, in every city, talks about you!
+
+
+Wow! Those pitiable gloves sure weren't made for mining. They're almost ruined!
+
+
+Wow! You did it! I do not think anyone else could have done that.
+
+
+Wow, a Dagger and a Sailor's Hat!
+
+
+Wow, it's really generous of you to fight those slimes for us. Do you need anything else?
+
+
+Wow, three gifts! Good job! With 800, an extra gift for everyone!
+
+
+Wow, you already found quite a lot of bookpages. Please keep it up!
+
+
+Wreath
+
+
+Writing/Updating in client-data quests.xml and items.xml with the correct information usually counts as well.
+
+
+Wumpus Egg
+
+
+Wurtzite Ore
+
+
+Wushin
+
+
+Wyara
+
+
+Xanthem Card
+
+
+Xmas Cake
+
+
+Xmas Candy Cane
+Xmas Candy Cane
+
+Xovilam
+
+
+YOU CAN FEEL THE POWER FLOWING TROUGH YOU.
+
+
+YOU FAIL! It is a simple item now.
+
+
+YOU HAVE RESIGNED THE OFFICE.
+
+
+YOU JUMP FOR ALL IT IS WORTH!!
+
+
+YOU WERE BLESSED BY %s
+
+
+YOU WHO DEFILE THIS PLACE...
+
+
+YOU WILL BE DISCONNECTED BY FORCE.
+
+
+YOU WILL BE PENALIZED WITH 60% OF HEALTH.
+
+
+YOU WILL BE PENALIZED WITH 70% OF HEALTH.
+
+
+Yar matey! You have the items I asked for! You have the honor and trust we pirates bestow each other!
+
+
+Yar! Do you need something, matey?
+
+
+Yarr arr!
+
+
+Yay it's summer! I love June 21st, and the summer vacations!
+
+
+Yay yay! Many thanks! Here, take the reward as promised!
+
+
+Yay! Many thanks! I'll enjoy it! Here is the promised reward.
+
+
+Yay! Many thanks! I'll enjoy it! Here, you can keep this.
+
+
+Yay, it worked! You get a good wing.
+
+
+Yaya, are you sure?
+
+
+Yaya, you should go see her! She'll be happy to help you again.#0
+Hey hey, tu devrais aller la voir! Elle se fera un plaisir de vous aider à nouveau.
+
+Yaya, you should go see her! She'll be happy to help you again.#1
+Hey hey, tu devrais aller la voir! Elle se fera un plaisir de vous aider à nouveau.
+
+Yayaya, @@ is surely slow. Do you remember how to walk? You can use arrow keys for that!
+Hey hey, @@ est sûrement trés lent. Vous souvenez-vous comment marcher? Vous pouvez utiliser les touches fléchées pour ça!
+
+Yayaya, by pressing @@ or clicking in @@, you'll open your char status window!
+Hey hey, en appuyant sur @@ ou en cliquant sur @@, vous ouvrez la fenêtre de statut de votre personnage!
+
+Yayaya, by pressing @@ or clicking in @@, you'll open your character status window!
+
+
+Yayaya, good job! You can collect loot by pressing @@.
+Hey hey, bon travail! Vous pouvez collecter les butins en appuyant sur @@.
+
+Yeah sure, take my Amethyst!
+
+
+Yeah sure, take my Diamond!
+
+
+Yeah sure, take my Emerald!
+
+
+Yeah sure, take my Ruby!
+
+
+Yeah sure, take my Sapphire!
+
+
+Yeah sure, take my Topaz!
+
+
+Yeah yeah yeah, you're not the first one to come talking about that to me.
+
+
+Yeah you're all like *hic* that, but you won't get me! *burp*
+
+
+Yeah you're right, I'm a noob anyway, and Sagratha is a skilled mage. She should be fine on her own.
+
+
+Yeah!
+Yeah!
+
+Yeah, I have the money. Give me FIFTEEN minutes, and Bring it on!
+
+
+Yeah, I have the money. Give me FIVE minutes, and Bring it on!
+
+
+Yeah, I have the money. Give me TEN minutes, and Bring it on!
+
+
+Yeah, I need one.
+
+
+Yeah, Nard's sailors saved my life and brought me here!
+
+
+Yeah, but I would like to make sure I get a reward.
+Ouais, mais je veux être sûr d'avoir ma récompense.
+
+Yeah, but what reward will I get?
+Oui, mais qu'est-ce que j'obtiens en échange ?
+
+Yeah, it was my grand-grand-grandfather.
+
+
+Yeah, she might be back soon.
+
+
+Yeah, sign me up!
+
+
+Yeah, sure! I'm brave as Simon.
+
+
+Yeah, sure? What do you need?
+
+
+Yeah, teach them a lesson! Keep going!
+
+
+Yeah, they are.
+Ouai ! ils sont horribles!
+
+Yeah, you're right.
+
+
+Yeah... I also found a few old blueprints. We don't need this crap, you can put it on your @@.
+
+
+Years later, someone then started giving gifts to the poor childrens on that date. It sticked, and now people usually trade gifts each other on the date.
+
+
+Yellow
+Jaune
+
+Yellow Dye
+
+
+Yellow Skull Slime
+
+
+Yellow Slime
+Yellow Slime
+
+Yellow Slime Mother
+
+
+Yellow Spark
+
+
+Yellow Switch#EP
+
+
+Yep, I bring them for you!
+
+
+Yep, I never fly in these days.
+
+
+Yep. There was a cursed mouboo on the road.
+
+
+Yerba Mate
+
+
+Yes
+Oui
+
+Yes I do... I sell %s %s for the small amount of %s GP. Interested? %%%%p
+
+
+Yes please.
+
+
+Yes sir. I will help them.
+
+
+Yes!
+Oui !
+
+Yes! Here you are.
+
+
+Yes! History is the best!
+
+
+Yes! It is heavy.
+
+
+Yes! We'll sail west, and find legendary lands!
+
+
+Yes, %d
+
+
+Yes, Chief Oskari suspects a sabotage.
+
+
+Yes, I accept the pendant!
+
+
+Yes, I am a mouboo. Why? Can't a mouboo be a dangerous bandit?!
+
+
+Yes, I am a mouboo. Why? Can't a mouboo be a law and order enforcer?!
+
+
+Yes, I am sure.#0
+Oui, j'en suis sûre.
+
+Yes, I am sure.#1
+Oui, j'en suis sûr.
+
+Yes, I am.
+
+
+Yes, I can craft Savior Pants. But it is not cheap. I'll need Platinum, Iridium, and Mylarin Dust. And gold. Much gold.
+
+
+Yes, I can craft many things. In addition to plating and improving armor, I can craft smaller items made of gold and other metals.
+
+
+Yes, I did. There was only an unlocked secret window.
+
+
+Yes, I do.
+Oui. c'est bon.
+
+Yes, I have herbs. I assume the risks.
+
+
+Yes, I have them right here.
+
+
+Yes, I know when next Alliance's Council meeting will be. No, I don't need anything.
+
+
+Yes, I need %d apples.
+
+
+Yes, I need to get out of here the earliest possible.
+Oui, je dois sortir d'ici le plus tôt possible.
+
+Yes, I remember that one! I welcomed him in the libary and showed him around. But I didn't have the impression he was really listening to what I was saying, though that's hard to tell with the mask.
+
+
+Yes, I want to find out who I am.
+Oui, je veux savoir qui je suis vraiment.
+
+Yes, I would like to explore!
+
+
+Yes, I would like to go back to Artis.
+
+
+Yes, I would like to go back to the Swamps.
+
+
+Yes, I would like to go to Asphodel Moors!
+
+
+Yes, I'll go.
+
+
+Yes, I'll help you.
+
+
+Yes, I'll pay with Common Carp.
+
+
+Yes, I'll pay with Grass Carp.
+
+
+Yes, I'll pay with Roach.
+
+
+Yes, I'm awesome, praise me more.
+
+
+Yes, I'm coming from Tulimshar.
+
+
+Yes, I'm done with it.
+
+
+Yes, and there was no signs of a fight.
+
+
+Yes, as you see, the costs are high. Prepare yourself.
+
+
+Yes, but I like windy days.
+
+
+Yes, courageous and worthy adventurer. You did well!#0
+
+
+Yes, courageous and worthy adventurer. You did well!#1
+
+
+Yes, deal. Gimme the gold ring.
+
+
+Yes, deal. Gimme the silver ring.
+
+
+Yes, did you really think I was some kind of monster that would try to poison you in my own house?
+
+
+Yes, everyone thinks he is competent and Elias have a report of a masked man.
+
+
+Yes, everything is going great, thank you!
+
+
+Yes, exactly. Thanks for the rescue. I must guard this area from the caves, if you need, just call me.
+
+
+Yes, here they are.
+
+
+Yes, here!
+
+
+Yes, it is a really sweet deal, believe me!
+
+
+Yes, many thanks. This will help me a lot.
+
+
+Yes, of course!
+
+
+Yes, of course.
+
+
+Yes, of course. We have good relations with Hurnscald Town, so you're welcome.
+
+
+Yes, of course. Without a sweat.
+Oui bien sûr. Sans effort.
+
+Yes, one
+
+
+Yes, please use my blood to save lifes.
+
+
+Yes, please, book me a bed.
+
+
+Yes, please.
+
+
+Yes, power allows us a future of our choosing.
+
+
+Yes, take it.
+
+
+Yes, take them.
+Yeah, prend les.
+
+Yes, the Blue Sage will see you.
+
+
+Yes, the cursed Mouboo you told me earlier, on the way out.
+
+
+Yes, try to summon the Yeti King in Tulimshar Sewers. Make sure you have someone else with you to help.
+
+
+Yes, uhh, very interesting indeed. Haha. I better leave...
+
+
+Yes, unless you're doing something VERY special, a Wooden Log is what you need.
+
+
+Yes, we have @@!
+
+
+Yes, you are now personel! Doesn't it feels exciting? Please tell me it does, I have nothing else to convince you to go otherwise.
+
+
+Yes, you can count it.
+Oui, tu peux compter.
+
+Yes, you'll be fired.
+
+
+Yes.
+Oui.
+
+Yes. Frostia is a city-estate, and is ruled by me, King Gelid Frozenheart II.
+
+
+Yes. I can. But this is irreversible. Are you sure you want this?
+
+
+Yes. I mean, yes, Pihro and Pyndragon will fancy you an airship.
+
+
+Yes. Let me try to open this.
+
+
+Yes. What do you need help with?
+
+
+Yes? Have you looked her house for signs of battle?
+
+
+Yet, I could burn %d %s to keep the house just as warm, maybe even cozier, and the Blue Sage would be none the wiser. Fire is fire, warmth is warmth.
+
+
+Yeti
+Yeti
+
+Yeti Claw
+Yeti Claw
+
+Yeti Mask
+Yeti Mask
+
+Yeti#0211Cindy
+
+
+Yeti#0211Guard
+
+
+Yetifly
+Yetifly
+
+Yetifly the Mighty
+
+
+Yety Tank Top
+Yety Tank Top
+
+Yeye can press @@ to sit, which will allow you to heal faster.
+Vous pouvez appuyer sur @@ pour vous asseoir, ce qui vous permettra de guérir plus rapidement.
+
+Yeye don't need to train here anymore! Let's head back to the ship before the sun sets, shall we?
+Hey, Hey. Vous n'avez plus besoin de vous entraîner ici! Revenons au navire avant le coucher du soleil.
+
+Yeye is not paying for your food and is not a sailor like us! You should start standing on your own feet.
+Vous devriez commencer à vous tenir debout.
+
+Yeye, are you finally ready to go?#0
+Hey hey, êtes-vous enfin prêt à débuter?
+
+Yeye, are you finally ready to go?#1
+Hey hey, êtes-vous enfin prêt à débuter?
+
+Yeye, very good, you took the clothes.
+Hey hey, très bien, vous avez pris les vêtements.
+
+Yikes, the Moubootaur!
+
+
+Yo, girl.#0
+
+
+Yo, good joob killing the Fire Goblins. Do you have everything I've asked for?
+
+
+Yo, man.#1
+
+
+You already claimed a reward today! Come back tomorrow, and remember to wear GREEN!
+
+
+You already delivered @@ high-quality patches of white fur.
+
+
+You already got all power I could grant you!
+
+
+You already got the money. Go there and pay ##B Hurnscald ##b a visit. The ##B mayor ##b should be able to help you.
+
+
+You already have this.
+
+
+You already helped us today. Come back tomorrow.
+
+
+You already ran this command today. Please try again at a later time.
+
+
+You already registered. Waiting for your partner...
+Tu es déjà enregistré. En attente de ton partenaire.
+
+You also can't stay there forever! You will have about 20 minutes to entirely clear it out and defeat the last boss.
+
+
+You also cannot send any boxes before eating any you've received, but Demure is an exception for this rule.
+
+
+You also find @@ GP with it.
+
+
+You also gained a @@. Bows are very slow, so you should talk to the Blacksmith to make a Quiver.
+
+
+You also get access to a party chat, and there are no compromises, so it is a perfect choice for a raid.
+
+
+You also get points for participation, exchange them with Aurora back in Tulimshar before event ends.
+
+
+You also need @@/@@ Mob Points to improve thief skills.
+
+
+You are NO LONGER EXILED from %s by %s.
+
+
+You are NOT allowed to leave here!
+
+
+You are REMOVING an item option.
+
+
+You are a @@º degree mage. This book allows you many new possibilities.
+
+
+You are a master chef, looking at you inspires Maxime.
+
+
+You are a mere %s, but you may be a hero... Find me again...
+
+
+You are about to accept a high-risk quest. You cannot complete it alone.
+
+
+You are allowed to fill your bottles, but BE SURE TO PAY!
+
+
+You are already at the Mana Plane of Existence.
+
+
+You are already fully trained. You should go to Tulimshar, but if you want a bonus task, please kill a @@.
+
+
+You are already fully trained. You should go to Tulimshar. I may have another task for you later, but you are too weak now, get some levels.
+
+
+You are carrying duplicates of the same item. Sorry, but I have no idea which one you want to tweak.
+
+
+You are close... You are almost there!
+
+
+You are completly overwhelmed by your magic.
+
+
+You are currently at @@.
+
+
+You are currently hunting @@/10000 @@.
+
+
+You are currently hunting @@/10000 @@. Do you want to switch?
+
+
+You are currently tasked with killing @@. As a reminder, you can usually find them where we grow our crops.
+
+
+You are dead.
+Tu es mort.
+
+You are dead. Aborting.
+
+
+You are doing GREAT! Keep slaying them, hahaah!
+
+
+You are doing some progress. There are about 4 quests on the mines, 1 outside walls, and 10 on the town. Some require level, so talk to people again sometimes.
+
+
+You are entering on a PVP Area with lowered death penalty.
+
+
+You are exhausted, you should rest @@.#0
+
+
+You are exhausted, you should rest @@.#1
+
+
+You are exiled from this town and therefore, unable to use the Menhir.
+
+
+You are full of wine, my friend...
+Tu es rempli d'alcool mon ami...
+
+You are handed the Land of Fire Gazette. You look at the headline...
+
+
+You are holding a few items of mine...
+
+
+You are hurt, and cannot use this.
+
+
+You are just a random stranger trying to steal adventurer data, aren't you?? %%e
+
+
+You are killing @@/10 @@. They usually are near the mine's Inn.
+
+
+You are killing @@/100 @@. It's still in progress.
+
+
+You are killing @@/200 @@ at the cave.
+
+
+You are killing @@/25 @@ at the cave. Good progress!
+
+
+You are killing @@/50 @@ at the cave.
+
+
+You are level @@/@@. Keep building levels, you need them!
+Vous êtes niveaux @@/@@. Continuez à passer des niveaux, vous en avez besoin!
+
+You are mostly in control of your magic.
+
+
+You are not strong enough to survive this trip.
+
+
+You are not using a weapon for a merciful last blow.
+
+
+You are not welcome on this island.
+
+
+You are not worthy!
+
+
+You are not worthy...
+
+
+You are now at Candor Battle Cave at @@'s request.
+
+
+You are now at Candor.
+
+
+You are now at Porthos - The Town of Portals.
+
+
+You are now at the Christmas Workshop.
+
+
+You are now at the Contributor's Cave.
+
+
+You are now at the Magical Forest.
+
+
+You are now at the Mana Plane of Existence, at the Contributor's Cave.
+
+
+You are now at the Mana Plane of Existence, at the Floating Island of Aeros.
+
+
+You are now at the Mana Plane of Existence, at the Magical Forest.
+
+
+You are now at the Valentine Highlands.
+
+
+You are now divorced!
+Tu es maintenant divorcé !
+
+You are part of the "@@" guild.
+
+
+You are perfectly in control of your magic.
+
+
+You are pushed back violently. There is probably some way to break this barrier.
+
+
+You are pushed back with absolute force!
+
+
+You are pushed back with extreme force!
+
+
+You are somewhat in control of your magic.
+
+
+You are the guild's "%s", and you contribute with %02d%% EXP.
+
+
+You are too weak for my last task, please come back later with some levels.
+
+
+You are too weak for my task, please come back later with some levels.
+
+
+You are too weak to kill one and impress him, so please, bear my son.
+
+
+You are trying to kill a @@.
+
+
+You are trying to open the @@th pin. What will to do?
+
+
+You are very welcome.
+
+
+You are weird, I have to go sorry.
+
+
+You are weird, I have to go sorry.#0
+Tu es bizarre, je dois y aller désolé.
+
+You are weird, I have to go sorry.#1
+Tu es bizarre, je dois y aller désolé.
+
+You are weird, I have to go, sorry.
+
+
+You are welcome here, but don't overstay your welcome and leave as soon as possible.
+
+
+You aren't strong enough.
+
+
+You ask yourself: What is the teddy looking for? How can I help him?
+
+
+You awake a long forgotten potential, and feel ready to take over the world.
+
+
+You barely know these caves.
+
+
+You better find a way to travel back in time soon!
+
+
+You better have it ready, because I have the Coal with me!
+
+
+You bring me proof of completing my 'mission,' along with some water and I can dispose of the evidence by turning them into %s
+
+
+You broke the %s into two parts, but you crushed one of them.
+
+
+You brought me 5 @@ ! Here is your @@, as promised.
+
+
+You buried @@ @@.
+Tu as enterré @@ @@.
+
+You can allocate point on those attributes every time you level up.
+
+
+You can also make money ##Bdoing quests##b. Elmo will tell you almost every quest which can be done in Candor.
+
+
+You can also manually stop it at any time with: @droprate default
+
+
+You can also manually stop it at any time with: @exprate default
+
+
+You can also modify your email with %s.
+
+
+You can also obtain ingots by melting down equipment. The Meltdown forge is in Nivalis, very far from Tulimshar.
+
+
+You can also pick and drag items from one window into the other but this will move all items of this kind.
+
+
+You can also read the [@@news|server news@@], or even [@@https://tmw2.org/news|older entries@@].
+
+
+You can also use PLANT KINGDOM to spawn several plants at once, too. Let's make this world more green.
+
+
+You can also visit our website. And if you want to assist on this server (TMW2: ML), you're welcome too!
+
+
+You can always come to #devel on our Discord, or drop by #landoffire on IRC.
+
+
+You can always try again another day!
+
+
+You can be thankful later. Aren't you excited to see what exactly was on that blueprint? Go on, enjoy it! %%G
+
+
+You can become a Monster Hunter by signing up with %s, near the Market.
+
+
+You can become a hero by completing every quest in a certain location.
+
+
+You can bring up to %d other friends with you, but they must be on the same party and map as you and you must be the party leader.
+
+
+You can bug Jesusalva to extend the Battlefield Control skills.
+
+
+You can buy rare items with me, or I can tell you about different cities in our world.
+
+
+You can call yourself a pirate now! HAR HAR HAR!!
+
+
+You can change the PIN from ManaPlus char selection screen.
+
+
+You can colaborate with our project though! Just ask on #tmw2-dev, be it on Discord or IRC!
+
+
+You can collect croconuts by killing any tree with it. Then you can break it in half from the inventory screen.
+
+
+You can convert these items in event points and claim rewards at autumn.
+
+
+You can craft items in forges. You can use it on your house, or within this forge for a tax.
+
+
+You can donate blood again in %s
+
+
+You can donate up to %s GP.
+
+
+You can drag and drop an item to the NPC window or select an item through your inventory.
+Tu peux traîner et abandonner un objet dans la fenêtre du NPJ ou sélectionner un objet directement dans ton inventaire.
+
+You can easily identify fishing spots, small bubbles and fishes are visible from the surface.
+
+
+You can enter when clock ticks :15, and the game begin when the clock ticks :25 if anyone is around. This is to match with Call of Dusty event.
+
+
+You can even join the project there. Contributors are greatly appreciated! %%N
+
+
+You can explore the city as you want, but if I were you, I would ##Btouch the Soul Menhir##b, north of here, to don't respawn at Candor.
+
+
+You can explore the city on the meanwhile, I need to inspect the data.
+
+
+You can fill this box with the following items:
+
+
+You can find both huge swamps, as huge desertic areas near and on it.
+
+
+You can find for a good price desert equipment and some kind of dyes. You find all sort of crafters, artisans and warriors here.
+
+
+You can find it in the bandit market, but it is EXPENSIVE.
+
+
+You can find more info about this on these links:
+
+
+You can find out the monster strength by using "@monsterinfo <English Monster Name>". Check the level in it!
+
+
+You can gain rare treasures, even. Come register for this special program. It's free!
+
+
+You can get @@ anywhere, although here is a little easier to get.
+
+
+You can get Croconut from Crocotree, and fill @@ purchased in the market.
+
+
+You can get daily something from it, but unless you're green like me, you will have no luck...
+
+
+You can get money in several ways, including by selling monster parts, doing daily quests, gambling, and even becoming the mayor of a town. Read the [@@help://faq|FAQ@@] (opens ingame) for help.
+
+
+You can get up to %d items.
+
+
+You can give @@ to help us, I'll pay you accordingly.
+
+
+You can have my team's helmet, you're now officially a crusader!
+
+
+You can have this %s as a token of gratitude. But no, you cannot pass, so keep going!
+
+
+You can hear creaking planks and a sail flapping in the storm. A ship?
+
+
+You can kill @@ on the desert. It's a dangerous area though, so take care.
+
+
+You can make a party of 1 if you want to do it alone. This, however, is NOT ADVISED.
+
+
+You can make any build you want! But inserted cards cannot be removed!
+
+
+You can move using @@ or, at your choice, by clicking where you want to go.
+Vous pouvez vous déplacer en utilisant @@ ou, sinon, en cliquant où vous voulez aller.
+
+You can only concede or vouch a title for people of academic rank inferior than your own.
+
+
+You can only have one mercenary active at a time, they die and will leave after 10 minutes - logged in or not.
+
+
+You can only insert up to 3 (three) cards per weapon!
+
+
+You can only try every %d minutes.
+
+
+You can optionally send a @@ along the chocolate box, so the person knows it was you who sent the chocolate.
+
+
+You can read some words engraved inside this rock, but some are erased by wind and time:
+
+
+You can rent this house to make it yours.
+
+
+You can save both items and money at a bank.
+
+
+You can scry other players with: %s
+
+
+You can see all your equipment by pressing the F3 key.
+
+
+You can see in distance two portals working, and two portals offline.
+
+
+You can sense powerful cloaking magic emanating from this sign. With your superior magic, you dismiss the enchantment, and see what the cliffs have been hiding all along...
+
+
+You can tell me the details about why you're here on the way out...
+
+
+You can then trade these coins for items with me!
+
+
+You can trade them for quite nice items with my friend over there.
+
+
+You can transfer it with "@grantpower" command. Please contact a GM for more info.
+
+
+You can use "%s <monster_name>" to obtain specified monster drop list and stats.
+
+
+You can use "@monsterinfo <monster name>" to gauge a monster strength.
+
+
+You can use @@ to summon some maggots. That depends on your magic level, of course.
+
+
+You can use it again in %s.
+
+
+You can use it again in @@.
+
+
+You can use it to clear your stats, to start freshly if you know what I mean...
+
+
+You can use many diverse items to lure fishes.
+Tu peux utiliser de nombres objets divers pour attirer les poissons.
+
+You can use super password "mouboo" to unlock the door.
+
+
+You can't afford my services for that amount. Sorry.
+
+
+You can't afford my work! Do some odd jobs and come back.
+
+
+You can't go in there!
+
+
+You can't go there!
+Tu ne peux pas passer!
+
+You can't pass this barrier while people are fighting inside!
+
+
+You can't sleep here during daytime!
+
+
+You can, and @@, register on both programs.
+
+
+You can, however, use ##BCtrl##b to auto-select a monster and attack them. This usually also collects drops, but press Z to be sure.
+
+
+You cannot be fighting to do this trip.
+
+
+You cannot begin this now, try again later.
+
+
+You cannot bring anything to the arena. Please put everything into the storage.
+
+
+You cannot bury this item!
+
+
+You cannot carry the fruits.
+
+
+You cannot complete the casting correctly!
+
+
+You cannot decipher what's written in there.
+
+
+You cannot drop this item!
+
+
+You cannot enter here while you have event weapons or a cart.
+
+
+You cannot exile yourself!
+
+
+You cannot help me at all. You lack any skill to do so.
+
+
+You cannot leave this room until either ALL yetis are dead, or you are dead yourself.
+
+
+You cannot part with this item!
+
+
+You cannot pay.
+
+
+You cannot raise crafting skills beyond level @@!
+
+
+You cannot sit idle for too long gaining EXP!
+
+
+You cannot understand what's written.
+
+
+You cannot visit Nivalis before obtaining level 20.
+
+
+You cannot visit the Sponsor's Inn!
+
+
+You cannot vote on yourself!
+
+
+You carefully pick a @@. It looks delicious! You feel you'll need it sooner than you expect.
+
+
+You caught a @@ but had no room in your inventory to carry it.
+Tu as attraper une @@ mais n'as aucune place dans ton inventaire pour la garder.
+
+You clearly don't have money, so let's not bother with that right now.#0
+
+
+You clearly don't have money, so let's not bother with that right now.#1
+
+
+You completed your training, so you're getting 50 bonus experience points. If you level up, use your stat points wisely!
+
+
+You could barely fit on it, and your clothes will be ruined, in need of washing.
+
+
+You could find some bandits in the Bandit cave. Yeah, the name wasn't given for nothing.
+
+
+You could try getting into a city administration. If you can get a citizenship, you can try to elect for an office.
+
+
+You could try to get new equipment by doing more quests. You need level to use them, though.
+
+
+You could try to get on her good side by killing what destroys the forest, or by planting trees.
+
+
+You currently could not use GM MAGIC to visit Candor.
+
+
+You currently have @@ @@.
+
+
+You currently have @@ GP on your bank account.
+
+
+You currently have @@ Monster Points. These points are acquired while killing monsters.
+
+
+You currently have @@ event points, but for ONLY @@ points I can make a dress for you!
+
+
+You currently have @@ mobiliary credits + GP at your disposal.
+
+
+You currently have @@ points, @@ boxes of chocolate and @@ love letters.
+
+
+You currently have @@, so if you accept and come back later with @@ Mob Points, I'll mark the bounty as complete.
+
+
+You currently have no Tweaking AP, so you will need to wait %02d minute(s).
+
+
+You currently have: @@ GP and mobiliary credits
+
+
+You dealt with paperwork.
+
+
+You deserve a reward for helping my husband Hinnak, but please, get Oscar's reward first.
+
+
+You deserve a reward for helping my husband. I can make you a nice gift.
+
+
+You did a good job too. Rest a bit, too. There's still one chair.
+
+
+You did a good job. Rest a bit. There's still one chair.
+
+
+You did it! You're now on the last stage of this BORING and LONG quest!
+
+
+You didn't add a item.
+
+
+You didn't help all my friends yet, and without trainment, I can't send you to such dangerous place as Tulimshar.
+
+
+You didn't lit every torch yet! Hurry up!!
+
+
+You didn't mine enough @@. The perfect spot is at northeast of this island. It takes a while to them respawn, so don't hurry.
+
+
+You displayed courage and completed the mission you set yourself to do. But, tell me. Do you care with this world? Do you care enough with it, to set your mind in saving it from evil?
+
+
+You do not have booked an apartment here.
+
+
+You do not have enough Gold Pieces on your bank account.
+
+
+You do not have enough Gold on yourself.
+
+
+You do not have enough bait for fishing here.
+
+
+You do not have enough magic power for these classes.
+
+
+You do not have enough money.
+
+
+You do not have the required access privileges to use the Super Menu.
+Tu n'as pas les privilèges d'accès requis pour utiliser le Super Menu.
+
+You do not meet all requisites for this skill.
+
+
+You do not own an Homunculus.
+
+
+You don't feel so well... And then, you're dead.
+
+
+You don't have @@.
+
+
+You don't have a party. You're useless to me.
+
+
+You don't have a ring but I can polish the gemstones nonetheless.
+
+
+You don't have any %s.
+
+
+You don't have any @@, are you mocking me?
+Tu n'as aucune @@, te moques-tu de moi ?
+
+You don't have any @@.
+Tu n'as pas de @@.
+
+You don't have enough GP.
+
+
+You don't have enough agility / is carrying too much to attempt it.
+
+
+You don't have enough cards of this type to upgrade.
+
+
+You don't have enough gold! You need @@ gp.
+
+
+You don't have enough mana to continue. The seal remains active.
+
+
+You don't have enough material, sorry.
+
+
+You don't have enough money! I am an expensive tailor, I want @@ GP!
+
+
+You don't have enough money, bring me @@ GP or join an already existing one.
+
+
+You don't have enough money, bring me @@ GP.
+
+
+You don't have enough money. Sorry.
+
+
+You don't have enough wood (5 @@) or crafting skills to do it.
+
+
+You don't have everything I asked you for.
+
+
+You don't have everything I've asked for!
+
+
+You don't have met all requisites, like money and successful crafts, or you already reached the maximum level for this skill.
+
+
+You don't have money.
+
+
+You don't have proper equipment for it.
+
+
+You don't have that many empty bottles!
+
+
+You don't have that many!
+
+
+You don't have that, lying is bad for health...
+
+
+You don't have that.
+
+
+You don't have the Iron Ingot.
+
+
+You don't have the Iron Ore.
+Tu n'as pas l'Iron Ore.
+
+You don't have the item.
+
+
+You don't have the key.
+Tu n'as pas la clef.
+
+You don't have the required level to pass this barrier.
+
+
+You don't have the three Coal lumps.
+
+
+You don't hear anything. This chasm must be incredibly deep.
+
+
+You don't know how the chimney keeps producing smoke. It must be using hiding magic.
+
+
+You don't look so well, have you already used the %s to defeat the Soul Eater?
+
+
+You don't look too well; let me treat your wounds.
+
+
+You don't need to do both right now, even if you probably will want to. Once any (or both) of them tell me you're an OK person, I'll start helping you.
+
+
+You don't need to talk with any researcher inside, so why bother? Leave!
+
+
+You don't need, nor deserve it.
+
+
+You don't see any slimes from that nest anymore. But did you really get all of them?
+
+
+You don't seem to have any @@ with you!
+On dirait que tu as aucun @@ sur toi!
+
+You don't seem to have anything better to do, anyway.
+
+
+You don't seem to have enough gold, not even 1 GP...you should really let go of some useless stuff on your inventory.
+
+
+You done well in getting so far. I didn't thought you would make it.
+
+
+You earned %s Monster Points for winning.
+
+
+You explain the Blue Sage about the sabotage incident details, from the Silk Cocoon to the masked visitor.
+
+
+You explain to Airlia about you wanting to travel to Halinarzo to find clues.
+
+
+You failed to protect Sagratha...
+
+
+You failed to reply to the captcha in time and were arrested for AFK Botting. You can use @jailtime to keep track of time left.
+
+
+You feel refreshed!
+
+
+You find @@ inside!
+
+
+You find a slot machine or another gambler, and make a bet!
+
+
+You flip the switch. Nothing happens.
+
+
+You found @@ out of @@ kids.
+
+
+You found a Level %d %s!
+
+
+You found a key.
+
+
+You found an old well with a bucket on it! It's time to fill plenty of @@!
+
+
+You found something!
+Tu as trouvé quelque chose !
+
+You found the Runestone! You gave it to the party leader.
+
+
+You found the key!
+
+
+You free the world from an evil Dummy.
+Vous avez libéré le monde d'un Dummy diabolique.
+
+You gained a @@ for the #1 place on the event. Remember to feed it @@, or it may run away from you.
+
+
+You give up after seeing its reaction, and try your best to resist the temptation of hugging this fluffy ball. Maybe we have another idea?
+
+
+You give up.
+
+
+You gladly accept it. But probably better not disturb it for a few days.
+
+
+You go to the training field and stand exactly on the same level with the target. The target is located about 13 meters north of you. You take one arrow and look at Gwendolyn.
+
+
+You got %d %s!
+
+
+You got %d EXP!
+
+
+You got %d GP!
+
+
+You got %d JEXP!
+
+
+You got %d Monster Points!
+
+
+You got %d Real Estate Credits!
+
+
+You got 120,000 XP for completing Mercury's quest.
+
+
+You got a %d
+
+
+You got a %s!
+
+
+You got a @@ for completing 100+ daily bountyhunter quests!
+
+
+You got a blueprint as reward for Blue Sage Slimes Quest completion.
+
+
+You got a(n) %s gift!
+
+
+You got lucky and got a(n) %s!
+
+
+You got married to @@!
+Tu t'es marrié à @@ !
+
+You have %d %s
+
+
+You have %d non-counting deaths remaining today.
+
+
+You have @@ magic skill points available.
+
+
+You have @@/@@ magic skill points available.
+
+
+You have a high level. Go to Halinarzo already! You could even, I don't know, search for magic?!
+
+
+You have a nice hat.
+
+
+You have access to the storehouse now, right? Well, that's where it happened!
+
+
+You have an @@ - Should you give her that?
+
+
+You have an awful case of amnesia. She is the nurse and shipkeeper of this ship, and took care of you when you were unconscious.#0
+
+
+You have an awful case of amnesia. She is the nurse and shipkeeper of this ship, and took care of you when you were unconscious.#1
+
+
+You have arrived at Fortress Island.
+
+
+You have been EXILED from %s by %s.
+
+
+You have been disqualified - died or left the maze
+
+
+You have been disqualified - illegal weapon: %s
+
+
+You have been disqualified - target was: %s
+
+
+You have been jailed by a GM.
+Tu as été emprisonné par un MJ.
+
+You have collect enough evidence, it's time to leave and report.
+
+
+You have collected @@/@@ Mob Points.
+
+
+You have completed the Jesusaves Grimorium Quest!
+
+
+You have gained a special login bonus!
+
+
+You have good intentions, be brave, but in a world where power is measured in levels, numbers have more meaning than they should.
+
+
+You have learnt "Barter" in Thief Skills.
+
+
+You have learnt "Divine Protection" level @@.
+
+
+You have learnt "Increase Weight" in Thief Skills.
+
+
+You have more boxes. Wanna try again?
+
+
+You have my eternal gratitute. Here is 2500 GP for your troubles.
+
+
+You have my eternal gratitute. Here is 500 GP for your troubles.
+
+
+You have no idea of how dangerous that item is! I can't simply do it!
+
+
+You have no idea what that means.
+
+
+You have no idea what that poor creature felt!
+
+
+You have no idea what this piece of equipment is used for.
+
+
+You have no proof that you have robbed vaults or sided with Ben Parkison, the Thieves Guild Master.
+
+
+You have no right to take that away from her!
+
+
+You have reached the current reward limit for Jhon.
+
+
+You have the right to defend yourself if you believe we were wrong. If we find out it's true, you'll receive an apology gift.
+
+
+You have to excuse me, as you might have heard we're having some trouble at the moment and I, as Chief of Nikolai's household staff, have a lot to do.
+
+
+You have to kill, alone, and this means without the help of the slimes either, nine nests. One in each quadrant.
+
+
+You have too many points. I can't allow you to take all at once right now. I'll try to give you 50, and you can come back later!
+
+
+You have:
+
+
+You have: @@ Broken crystals
+
+
+You haven't provided me enough High-Quality White Fur! Go back to hunting!
+
+
+You haven't provided me the @@ for the base material!
+
+
+You hear a noise from distance.
+
+
+You hear birds singing! That is what you had to do!
+
+
+You hear shouting directed at you. Sailors from the ship?
+
+
+You hear waterfall opening in distance.
+
+
+You help Benjamin in getting up.
+
+
+You humans are so greedy... Just like me. I have more important things to do, other than waste time with you.
+
+
+You insert the Runestone on it and hear a sound.
+
+
+You insert the hook pick inside the lock, and, without applying any tension, you discover there are only @@ pins to set.
+
+
+You jump in deep waters.
+
+
+You just bought it? You won't learn anything from that.
+
+
+You just delivered %d %s to %s.
+
+
+You just gained a Prism Gift for your bravery!
+
+
+You just gained a Prism Gift, and 2000 Job Exp for your bravery!
+
+
+You just gained a Supreme Gift, and 2000 Job Exp for your bravery!
+
+
+You just need one fishing rod, although you should take more than one single bait.
+Tu requiert juste une seule canne à pêche, cependant tu devrais prendre plus d'un seul et unique appât.
+
+You killed so many Pinkies! My wife and I love you!
+
+
+You killed so many Pinkies, I don't care with the Antennas anymore! They are almost gone!
+
+
+You know Jesus Saves hates cheaters, right? If Saulc didn't asked me to double-check stuff...
+
+
+You know the Tulimshar Magic Council? The big building on Tulimshar North?
+
+
+You know the answer can only be @@.
+
+
+You know this, because their big round eyes were shining.
+
+
+You know what is worse? THIS WHOLE CAVE HAVE DEATH PENALTY ON!!!
+
+
+You know, he is very experienced and reliable. He might look and act like a kid, but he is at least a century old.
+
+
+You know, if you're poor, you can't get too close to the Noble district.
+
+
+You lack money or Action Points.
+
+
+You learn fast, good job. These clothes aren't mighty armor, but they'll help.
+
+
+You leave the teddy alone with its pot.
+
+
+You left your fishing spot!
+Tu quitté ton lieu de pêche !
+
+You liar, I'll show you to respect woman!
+
+
+You liar, I'll teach you a lesson you won't forget!
+
+
+You lied, and this caused a headache! You should NEVER lie to NPCs, because they may steal your items!
+
+
+You look like you have enough experience to know your way around town...
+
+
+You lose!
+
+
+You made a cash deposit of @@ GP.
+
+
+You make me dance like a monkey
+
+
+You managed to save @@ % of my crops!
+
+
+You may even obtain ores which you wouldn't otherwise obtain normally, and the drop rate is fixed.
+
+
+You may obtain Thief Exp by using @@.
+
+
+You may pass. The Sage is on the library waiting for you.
+
+
+You might have the Mouboo Figurine, but I don't trust everyone.
+
+
+You might need to have a @@ equipped for some recipes!
+
+
+You must "add" the items you plan on selling, and then press "sell" to confirm. You'll have this time to review.
+
+
+You must %s and chant %s to begin channeling.
+
+
+You must be close to it, and stealing won't change drops! If you fail, just try again! Good luck!
+
+
+You must be dressed, and talk to our captain first. He'll give you a mission and unlock the ship main door.#0
+Vous devez être habillé et parler à notre capitaine d'abord. Il te donnera une mission et déverrouillera la porte principale du navire..#0
+
+You must be dressed, and talk to our captain first. He'll give you a mission and unlock the ship main door.#1
+Vous devez être habillé et parler à notre capitaine d'abord. Il te donnera une mission et déverrouillera la porte principale du navire..#1
+
+You must be fast! The guards are also affected.
+
+
+You must be where the Monster King is at 18:30 UTC sharply - no delays allowed!
+
+
+You must break all three seals to cross this barrier! For that, walk on them!
+
+
+You must claim all rewards and use any event item BEFORE it ends.
+
+
+You must deposit %s GP, which will be returned if quest is completed.
+
+
+You must find someone willing to buy, they usually will buy almost anything you have, even items which cannot be replaced, so be careful.
+
+
+You must flip all 5 switches on this cave, and then walk accross the cave blocked with an etheral crystal.
+
+
+You must go talk with the Obelisk!
+
+
+You must kill them before the crops are gone. I'll reward you, of course.
+
+
+You must not be using mana to do this trip.
+
+
+You must reach level 5 to open this gift.
+
+
+You must then repeat the sequence at the board which will show.
+
+
+You must understand that this honor has never been granted to a non-duck before. You will have access to Duck Dungeon, a training grounds for Initiates.
+
+
+You need %d %s. I'll start showing you sequences of colors.
+
+
+You need 2x @@ to cast this skill.
+
+
+You need 4x @@ to cast this skill.
+
+
+You need @@ GP to make this investment.
+
+
+You need @@ GP to use this arena.
+
+
+You need @@ Reputation to make this investment.
+
+
+You need @@ units of bait for this fishing spot. What will you use?
+
+
+You need a %s for each floor, and defeat the gatekeeper to advance.
+
+
+You need a @@ for it. Ah, back to research I guess...
+
+
+You need a @@ to flip the switches on the Throne Room, don't forget to bring at least five.
+
+
+You need a @@ to try this.
+
+
+You need a @@ to use this.
+
+
+You need a @@. I'll flip one card, and you'll need to decide if next draw will be HIGHER or LOWER.
+
+
+You need at least %d cards of same kind.
+
+
+You need at least 35 str and 35 vit to do the trip safely - bonuses not counted - or you will lose HP.
+
+
+You need at least level %s to do this quest.
+
+
+You need at least level 20 to help.
+
+
+You need be at minimum level 50 to participate. It is PVP, so watch out!
+
+
+You need both the stolen item as the thief to complete the quest.
+
+
+You need level 60 to use these guns, but if you want to start collecting materials, you're allowed to.
+
+
+You need to be very careful. Use the sewers to reach... them.
+
+
+You need to choose a Heroes Hold Group. This currently makes absolutely no difference whatsoever.
+
+
+You need to finish at least %d/%d tasks.
+
+
+You need to have an @@ equipped.
+
+
+You need to pick your prizes!
+
+
+You need to reach a certain point in Player Story in order to partake on this event. Non-repeatable.
+
+
+You need to read this recipe. Without the essential crafting skill you won't go very far. There will be no bonuses on the items you craft because you are not a craftsman.
+
+
+You need to save the Professor! During night, monsters are stronger, so they'll probably attack at night time!
+
+
+You need to touch a Mana Stone to get magic. Certainly the only Mana Stone on Tulimshar is highly protected by the Council, so no chances here.
+
+
+You need:
+
+
+You notice a group of slimes emerging from the debris among the shelves.
+
+
+You notice that even if she tries to calm down everyone and serve tea, she's pretty distressed with the Monster King herself.
+
+
+You now gained two extra kilograms to your weight quota! Ka-pow, that's fantastic! Good luck!
+
+
+You now have an extra point, use it wisely.
+
+
+You only have to tell him how much you want to deposit or withdraw.
+
+
+You open a book named @@. Do you want to read it?
+
+
+You open the Recipe Book. Each recipe you get can be put here.
+
+
+You open the chest and found a @@.
+Tu ouvre le coffre et trouve un @@.
+
+You open the chest!
+
+
+You open your eyes. The remants of the salt water in your eyes is not particularly helping you see.
+
+
+You passed the botcheck. Thanks for playing the game %%G
+
+
+You perchance said in adventure? Good, because I just hurt my arm while mining!
+
+
+You perfectly cut your %s into two edible parts.
+
+
+You planned neatly. I'll be back.
+C'est un bon plan. Je reviendrai.
+
+You ponder whether or not it would be wise to drink it.
+
+
+You pour the whole potion on the fountain.
+
+
+You probably was only 4 when all that happened. And opposed to official story, the Monster King never enter this building.
+
+
+You pulled too late and lost the bait...
+Tu as tiré trop tard et a perdu ton appât...
+
+You pulled too soon and lost the bait.
+Tu as tiré trop tôt et a perdu ton appât.
+
+You quickly give her the herbs, and she skillfully mix them on a potion.
+
+
+You ran out of time.
+
+
+You realize that you have no means to prove your statement.
+
+
+You really have a reason to be proud.
+
+
+You really should do some tasks to impress our captain.
+
+
+You really should read the dialogs.
+
+
+You receive 32 exp and 30 GP.
+
+
+You receive @@ GP!
+tu as reçu @@ GP!
+
+You received one %s!
+
+
+You received the %s title from %s.
+
+
+You received the @@ from @@.
+
+
+You recover a tweaking point every hour.
+
+
+You recovered @@ magic skill points
+
+
+You report to the King about everything you've found and learned there.
+
+
+You run as far as you could. %s
+
+
+You said you would trade a real Mouboo Figurine, but now I see you don't have one. Come back when you do.
+
+
+You search for Bandit hoods.
+
+
+You see a dust covered book on the shelf... The name of the book is @@.
+
+
+You see a fruit on her body. You take it.
+
+
+You see a helper looking through some papers that have a strange smell.
+
+
+You see a raijin boy, sitting on the edge of the dock.
+Tu vois un garçon raijin, assis sur le bord du ponton.
+
+You see a red apple here. It is
+
+
+You see some fish reflecting the sun on the surface of the water.
+Tu vois des poissons réfléchir le soleil sur la surface de l'eau.
+
+You see the docks on the other side of the town? There should be a ship docked there.
+
+
+You see the gates over there? This is the World's Edge. The land which never had a settlement. How. is. there. a. town?!
+
+
+You see these pious around us?
+Tu vois les pious autour de nous ?
+
+You see yourself in a strange chamber. Strange drawings litter the walls.
+
+
+You see, Benjamin wanted to reshape the world. Very ambitious plans, which would have been great... If they had prospered.
+
+
+You see, I am Erlan, a researcher. I'm currently developing strong poison to rival with the legendary %s. For that end, I need raw, untreated sewerage, but there is no such thing here. Could you bring me %d %s? Thanks!
+
+
+You see, I am Erlan, a researcher. I'm currently developing strong poison to rival with the legendary %s. For that end, I need raw, untreated sewerage, but there is no such thing in a civilized town like ours.
+
+
+You see, I cannot use any raw material. It must be sturdier than the usual, and I don't have the materials for it.
+
+
+You see, I have a sister. Luvia Gemini. Very talented, but unfortunately, not enough to prevent being captured and brainwashed by Isbamuth.
+
+
+You see, I love %s! So shiny, so bright... They are my favorite!
+
+
+You see, I was walking in the secret caves near Ched, and... well...
+
+
+You see, Pihro and Pyndragon, the mayors, are really busy people. They're developing a game or something as we speak.
+
+
+You see, after a monster attack... My husband went to the desert, to check how things were...
+
+
+You see, because the Monster King, monsters have been running rampant. If they grow too much in numbers, cities may be overrun.
+
+
+You see, it need certain special items... Oh, just blame Jesusalva for this one.
+
+
+You see, just @@ ago, Hurnscald was liberated from a massive monster attack.
+
+
+You see, most people think that all monsters are controlled by the Monster King, but that's not quite right.
+
+
+You see, we're working on repairing all of the damaged books and creating new ones for those that were lost.
+
+
+You seem to be doing some money. Would you consider fighting for your own greed, or even be a Robin-Hood-of-sorts, stealing from the rich?
+
+
+You seem to be jailed. We cannot unjail offline players, so please don't logout.
+
+
+You seem to have @@ broken items and... Oh, I see you have a broken @@ here! I wanna repair it!
+
+
+You seem to have gotten Peetu's attention for a while.
+
+
+You send me the wrong way.
+
+
+You set off a trap!
+
+
+You shall pass. Beyond this gate, she waits for you.
+
+
+You should allocate some attributes to it. You need @@, @@ and @@, on this order of importance.
+Vous pouvez attribuer des points de stats dans différentes catégories. Vous avez besoin de @@, @@ et @@, dans cet ordre d'importance.
+
+You should allocate some attributes. You need @@, @@ and @@, on this order of importance.
+
+
+You should ask %s.
+
+
+You should ask this question at Vincent.
+Tu devrais poser cette question à Vincent.
+
+You should be ASHAMED of yourself, you liar.
+
+
+You should be more careful.
+Tu devrais faire plus attention.
+
+You should come back when you have some free space.
+Tu devrais revenir quand tu auras assez de place dans ton inventaire.
+
+You should complete Candor Prologue before participating on this quest.
+
+
+You should do the other miners quest first! Some, however, are harder than others. This will unlock the %s, an important item to advance as a crafter.
+
+
+You should eat and drink water after donating blood. Thanks for saving lifes!
+
+
+You should go and get some sleep.
+Tu devrais y aller et prendre un peu de repos.
+
+You should have gotten here @@.
+
+
+You should have some decent gloves, dude. These offer defense, as it's easier to handle your weapon and parry attacks.
+
+
+You should know this, an item like this can't be bleached.
+Tu devrais le savoir, un objet tel que celui-là ne peut pas être blanchi.
+
+You should never sell your Cactus Drinks. They have many uses.
+
+
+You should not be here. Get moving.
+
+
+You should not be here...
+
+
+You should not be there! This forest is home to monsters.
+
+
+You should not leave this room.
+
+
+You should reset your stats and allocate some points at intelligence.
+
+
+You should talk to Airlia again to understand what Lua wants me to do.
+
+
+You should talk to Magic Arpan first.
+Tu devrais parler à Magic Arpan en premier.
+
+You should talk to him instead.
+
+
+You should talk to the Black Razor. He was a researcher, so try the academy.
+
+
+You should unequip this item first.
+
+
+You sing a pretty song to the teddy, and this makes it very happy.
+
+
+You stand before a battle-scarred, darkly tanned warrior, brimming with muscles.
+
+
+You start feeling dizzy.
+
+
+You started the seal break sequence. Please stand by.
+
+
+You stay where you are..
+
+
+You still are overwhelmed by your magic.
+
+
+You still have ##B%d Monster Points##b! Do you want more items?
+
+
+You still have a low level but I'm sure he will ask for your help once you grow up a little more.
+
+
+You still haven't completed your tasks.
+Tu n'as toujours pas fini tes tâches.
+
+You still haven't found all of them yet.
+
+
+You still need @@ GP for the trip to Tulimshar.
+
+
+You still need @@ GP to afford it.
+Vous avez toujours besoin de @@ GP pour vous le permettre.
+
+You still need to grow a few levels more before being able to help me out again.
+
+
+You still need to wait @@ before going to HH again.
+
+
+You store a large collection of goods. Could you perhaps sell me some?
+
+
+You succeed in crossing the chasm!
+
+
+You successfully completed Sagratha's Campaign.
+
+
+You successfully set the drop rate to @@%. It will reset to @@% (default value) in @@.
+
+
+You successfully set the exp rate to @@%. It will reset to @@% (default value) in @@.
+
+
+You supported:
+
+
+You take distance and...
+
+
+You take four steps to the left.
+
+
+You take four steps to the right.
+
+
+You take off your bag and put it on the floor, as you lower yourself and try to slowly get close to it.
+
+
+You take one step to the left.
+
+
+You take one step to the right.
+
+
+You take the @@. It seems to be the stolen item.
+
+
+You take the clothes from the chest.
+Tu prends les vêtements dans le coffre.
+
+You take three steps to the left.
+
+
+You take three steps to the right.
+
+
+You take two steps to the left.
+
+
+You take two steps to the right.
+
+
+You take your @@ and leave.
+
+
+You take your fishing rod and leave.
+Tu prends ta canne à pêche et pars.
+
+You tell Lua everything you've heard at the Inn.
+
+
+You tell her about the incident at the Blue Sage's residence and how they were aiming at sages.
+
+
+You think you can fool me and lie? I'll teach you a lesson you won't forget!
+
+
+You thought there was someone here. It must have been your imagination.
+Vous pensiez qu'il y avait quelqu'un ici. Cela a dû venir de votre imagination.
+
+You throw a coin into the well.
+
+
+You throw a coin on the chasm.
+
+
+You took more than %s to do this, that is lame! Better luck next time.
+
+
+You took too long to answer.
+
+
+You toss the paper in the trash.
+
+
+You tried to get rid of me, eeh? But surprise! I'm still here... *hic* Or there...
+Tu as essayé de te débarrasser de moi, hein ? Eh bien surprise ! Je suis toujours là... *hic* Ou ici...
+
+You use the small key from the apple garden hut. It fits neatly.
+
+
+You vomit, you are too drunk and drinking is harmful.
+
+
+You vomit, you are too drunk for this to have effect anymore.
+
+
+You waited too long and lost the bait...
+Tu as attendu trop longtemps et a perdu ton appât...
+
+You wake up in the middle of the night. How did you got here? WERE YOU KIDNAPPED?
+
+
+You wanted to know about the World Edge, right? The Ancient Families of the Soul Menhir, and if you're part of them...
+
+
+You were in bad shape, you should be happy we found you before the sea killed you.#0
+Tu étais dans un sale état, tu devrais être contente qu'on t'ai trouvée, avant que la mer ne t'ai tuée.
+
+You were in bad shape, you should be happy we found you before the sea killed you.#1
+Tu étais dans un sale état, tu devrais être content qu'on t'ai trouvé, avant que la mer ne t'ai tué.
+
+You were jailed and now need a GM to get you out of there.
+
+
+You were permanently banned by the GM Team.
+
+
+You were refunded in %s GP!
+
+
+You were rescued by DUSTMAN.
+
+
+You were vouched to the %s title by %s. You still need %d more vouches to be promoted.
+
+
+You were wrong!
+
+
+You will also LOSE honor if the opponent is below level 30. If you are a bandit (negative honor), all fights versus you will be honorable.
+
+
+You will be able to pick basic weapons and skills at the Event Soul Menhir.
+
+
+You will be killed on the road if you try to go like this. The Canyon route is dangerous, and the Swamps route claimed many souls.
+
+
+You will be rewarded by me shall you succeed in any of the tasks.
+
+
+You will find a fisher, maybe he is having a good time and can sell you a few boxes. And remember to keep your eye open.
+
+
+You will find a statue different from the others. It is where the game balance was murdered and bugs added instead! No, not really - this is just a placeholder. Not cool!
+
+
+You will gain @@ Reputation.
+
+
+You will get @@ which can then be exchanged for items once CoD event quest ends.
+
+
+You will need a certain amount of them to upgrade any skill, which will be spent and no longer available for use.
+
+
+You will need to *hic* prove yourself to *hic* me and the town first...
+
+
+You will see, citizens are polite and you can still ask around for help. They can help find a job for you or maybe help you find out what happened to you out at sea!
+Vous verrez, les citoyens sont polis et vous pouvez toujours demander de l'aide. Ils peuvent vous aider à trouver un job ou vous aider à découvrir ce qui vous est arrivé en mer!
+
+You win!
+
+
+You withdrew a total of @@ GP.
+
+
+You won't be able to aim for a better record!
+
+
+You won't be allowed to play this game until you have an updated client.
+
+
+You won't be allowed to walk sideways, except to avoid a monster or two.
+
+
+You won't have any of my vegetables, you scoundrel! Get off my yard!
+
+
+You won't learn any skill without a good professor to teach them to you.
+
+
+You wonder, maybe he entered on an infinite loop? Hellooo, anybody home?
+
+
+You wont be able to go back!
+
+
+You would do well as come prepared, as failing in the last stage will RESET current progress on the quest.
+
+
+You wouldn't happen to have them, would you?
+
+
+You'll all die here!
+
+
+You'll also get half of the GP as Monster Points!
+
+
+You'll be charged even if you fail, be warned.
+
+
+You'll be charged even if you fail, be warned. You can re-roll the same item %s, free of charge, but it may break and there will be no refunds!
+
+
+You'll come with me!
+
+
+You'll get %d GP every time you finish the sequence.
+
+
+You'll give your best and attempt to run!
+
+
+You'll have 60 seconds to kill as many balls as you can!
+
+
+You'll have to slay %s %s for me! I don't care which ones, just SLAY THEM!
+
+
+You'll need to think on a new password!
+
+
+You'll soon run out of stuff to do around here, so yeah, you should extend your horizons or you may get bored soon enough.
+
+
+You'll want your fishing rod to be flexible but solid.
+Tu veux que ta canne à pêche soit souple mais solide.
+
+You're about to concede an academic title to "@@".
+
+
+You're about to enter a dangerous area. Are you sure?
+
+
+You're about to enter a dangerous zone!
+
+
+You're about to transfer a legendary weapon to @@.
+
+
+You're absolutely right. The next one will be more tricky.
+
+
+You're brave but weak. Go grind some levels, go make a wooden sword, I don't know.
+
+
+You're creepy.
+
+
+You're doing the math wrong, matey! I'll bring them later!
+
+
+You're finally free!
+
+
+You're hesitant to pick one, they could be dangerous.
+
+
+You're in the "@@" party, I know!
+
+
+You're in the "@@" party, very good!
+
+
+You're lucky that this is the Land Of Fire and I'm on a good mood, otherwise, I would have killed you for lying to me.
+
+
+You're lucky. It is windless now.#0
+
+
+You're lucky. It is windless now.#1
+
+
+You're not welcome here. Get moving.
+
+
+You're on a ship, we're on our way to the oldest human city, Tulishmar.
+Vous êtes sur un bateau La Johanne, nous nous dirigeons vers la plus vieille ville humaine, Tulimshar.
+
+You're on our ship, we made port to a little island and we're actually yeyending our long merchant travelling adventure at the city of Tulimshar.#0
+Vous êtes sur notre bateau, La Johanne, nous avons fait le port vers une petite île, Candor que nous ajoutons a notre périple de marchand vers la ville de Tulimshar..#0
+
+You're on our ship, we made port to a little island and we're actually yeyending our long merchant travelling adventure at the city of Tulimshar.#1
+Vous êtes sur notre bateau, La Johanne, nous avons fait le port vers une petite île, Candor que nous ajoutons a notre périple de marchand vers la ville de Tulimshar..#1
+
+You're playing with fire. Or ice. Or whatever.
+
+
+You're pretty much stranded on this forsaken island if you don't help me!
+
+
+You're ready. Let's head back to the ship before the sun sets, shall we?
+Tu es prêt. Revenons au navire avant le coucher du soleil.
+
+You're right, you never sold any Water Bottle ever. I'm unjailing you.
+
+
+You're right. Sorry.
+
+
+You're strong, maybe you could help Dan. He is a good sailor but he is too afraid from harmless Pious.
+
+
+You're stupid. Leave.
+
+
+You're the savior of Hurnscald crops. Half from the world would die from famine, weren't for you.
+
+
+You're under arrest. I have to bring you back to Kenton.
+
+
+You're wel-- Wait, it was you who was trapped on the well near Miler's house?!
+
+
+You're welcome!
+tu es le bienvenu !
+
+You're welcome.
+
+
+You're willing to help? Perfect. We need @@ @@, @@ @@ and @@ @@ for travel.
+
+
+You're, of course, invited. Thus far, the total prize money I've collected is @@ GP.
+
+
+You've already completed this quest today. Try again tomorrow.
+
+
+You've also learned how to craft Daggers! It serves solely for training purposes. You get crafting points for every 40 levels crafted on the item.
+
+
+You've been asking for way too much power from the Mana Seed.
+
+
+You've been doing quite well, indeed. Ever visited Lilit?
+
+
+You've been doing very well, I'm surprised.
+
+
+You've been doing well. Be careful out there.
+
+
+You've been spending too much time with humans. You are picking up bad habits from them like lying. Be careful.
+
+
+You've brought me fertilizer! Let me see if it works...
+
+
+You've got 2000 xp and 150 job xp in apology tokens.
+
+
+You've got a Graduation Album for Eistein levels!
+
+
+You've helped me plenty. Please come back in @@
+
+
+You've killed @@ scorpions, and a total of @@ were killed this season.
+
+
+You've killed @@/12 @@. Get rid of them!
+Vous avez tué @@ / 12 @@. Il fatu finir le travail!
+
+You've learned how to use @@. Simple locks can now be broken.
+
+
+You've obtained a @@ to visit Magic Academy.
+
+
+You've passed the test of courage. Bravure you have, but are you a real adventurer?
+
+
+You've reached the maximum level for this skill.
+
+
+You've slayed the Yeti.
+
+
+You, @@... You better get walking. Soon.
+
+
+You, and everyone on the party, won't be able to return.
+
+
+You... You killed my father during Nivalis siege! I'll make you pay for that!!
+
+
+You: @@, @@
+
+
+You? Have you ever looked in the mirror? You're not even level 35. Begone.
+
+
+You? Here?
+Toi ? Ici ?
+
+Your @@ determines several small things, including critical attacks and, limited to a certain extent, affect drop rates.
+
+
+Your @@ determines your ability to hit monsters and is valuable to players who prefer weapons that use projectiles.
+
+
+Your @@ is not enough, please look for more.
+
+
+Your Score: @@
+
+
+Your academy titles have been rescinded%s
+
+
+Your account is too young.
+
+
+Your account must be at least 72 hours old or have level 15+ to use this command.
+
+
+Your body starts to glow. You're not sure why, the fountain did that!
+
+
+Your class has been changed from %s to %s.
+
+
+Your coward outer self fails to convince you to leave.
+
+
+Your current rank: %s
+
+
+Your current scholar rank: %s (%d Research Points)
+
+
+Your current scholar rank: %s (%d/%d vouches)
+
+
+Your current scholar rank: %s (%s Research Points)
+
+
+Your current score: @@
+
+
+Your current win streak is @@!
+
+
+Your friend also sent you a gift - open it when you get level 5!
+
+
+Your guild does not have the key required to complete this part of the puzzle.
+
+
+Your guild doesn't knows any recipes!
+
+
+Your guild need to have at least level 2 to use storage feature.
+
+
+Your hairstyle is @@ and its color is @@.
+Ta as une coupe @@ de couleur @@.
+
+Your hear a clink, and the key breaks.
+
+
+Your help was invaluable, my staff believed in the unbiased view of the Hurnscald Household. Alas, now Peetu is capable to work again.
+
+
+Your homunculus is already on a mission!
+
+
+Your homunculus is ready!
+
+
+Your homunculus is sleeping! Wake them up!
+
+
+Your information is correct, %s. Pirates have been plaguing our shores and cutting off our supply lines.
+
+
+Your level is so high, I'm surprised you haven't went there already. But then, most quests around there are for your level...
+
+
+Your loss!
+
+
+Your low intelligence prevents anything from happening with you.
+
+
+Your magic is more powerful than you, but you can control.
+
+
+Your mind is set? You will probably lose all the dyes and/or cards during on the item during this process. You're bleaching a %s by the way.
+
+
+Your mother asked me to say that she loves you.
+Ta mère ma dit de te dire qu'elle t'aime.
+
+Your next step is to get the book of the Second Sage Of Fate.
+
+
+Your party is too big. Discretion is a key if we want to succeed.
+
+
+Your persistence is amusing. However, you're yet to acquire the title of %s.
+
+
+Your personal record: %s
+
+
+Your position is auto-saved when entering a town - use @ucp to change this behavior.
+
+
+Your position must be the one of a regular member or above.
+
+
+Your position on the guild: @@
+
+
+Your privileges do not allow you to use this command.
+
+
+Your prize: %s GP
+
+
+Your problems are not mine. By the way, you really should consider taking a shower.
+
+
+Your progress thus far: %s chants casted
+
+
+Your progress thus far: %s damage inflicted
+
+
+Your progress thus far: %s exp earned
+
+
+Your progress thus far: %s friends supported
+
+
+Your progress thus far: %s potions baked
+
+
+Your progress thus far: %s skills casted
+
+
+Your progress thus far: %s sparks
+
+
+Your progress thus far: %s sparks killed
+
+
+Your progress thus far: %s survived.
+
+
+Your progress thus far: %s taken.
+
+
+Your reagents vanish into emptiness!
+
+
+Your rent is valid for @@.
+
+
+Your request for @@ @@ are being fermented for @@.
+
+
+Your save point has been changed.
+Ton point de sauvegarde a été changé.
+
+Your skill in magic is not great enough to use some of the spells yet, so keep practicing and visiting the mana seed until it is.
+
+
+Your son, Hasan, has stolen me!
+Ton fils, Hasan ma volé !
+
+Your spell takes a mind of its own and shapes in something else!
+
+
+Your status points were reset.
+
+
+Your strength is not enough to power on this portal.
+
+
+Your thief instincts suggest you to hurry.
+
+
+Your weird robes; They seem like they'll deny your damage, so you definitely want to summon multiple people to help. Try the #world tab.
+
+
+Your worth shall be tested, and from inside, you shall not leave.
+
+
+Yuko
+
+
+Yuko Cuf
+
+
+Yumi
+
+
+ZZZzzzz...
+
+
+Zack
+
+
+Zambacutou Heavy Sword
+
+
+Zarkor
+
+
+Zarkor Scroll
+
+
+Zarkor spills many fluids on the lake, with much concentration.
+
+
+Zarkor starts a weird chant.
+
+
+Zarkor, fell a small taste of my power. That is nothing. If you can't handle that, you're not even near my lowest lieutenant.
+
+
+Zarkor, the Dark Summoner
+
+
+Zegas
+Zegas
+
+ZegasDebug
+ZegasDebug
+
+Zitoni
+Zitoni
+
+Zitoni refused to make the Powder.
+
+
+Zitoni seems to be lost on deep thought.
+
+
+Zitoni won't cooperate with you. Perhaps you should ask to Zarkor about that.
+
+
+Zombie Ear
+Zombie Ear
+
+Zombie Nachos
+Zombie Nachos
+
+Zzzzzz....
+
+
+Zzzzzzzzz...
+Zzzzzzzzz...
+
+[%d GP] [Lv 1~25] Hire for one hour
+
+
+[%d GP] [Lv 26~40] Hire for one hour
+
+
+[%d GP] [Lv 41~60] Hire for one hour
+
+
+[%d GP] [Lv 61~79] Hire for one hour
+
+
+[%d GP] [Lv 80~100] Hire for one hour
+
+
+[0] East Aeros
+
+
+[10x Honey, 1x Elixir of Life] The Shadow Tortuga won the race against the Panthom Lord.
+
+
+[1] West Aeros
+
+
+[2] Full Aeros
+
+
+[@@https://wiki.moubootaurlegends.org/Storyline|Read the History@@]
+
+
+[Accept Quest]
+
+
+[Caution, this may be dangerous!]
+
+
+[Christmas] Send soul to the Christmas Workshop!
+
+
+[DEBUG] Current Power: %d
+
+
+[Decline Quest]
+
+
+[Deliver all goods.]
+
+
+[Easter] Send soul to the Mana Forest!
+[Easter] Me rendre à la Mana Forest !
+
+[Explain the situation]
+
+
+[Give him a Mouboo Figurine to play with?]
+
+
+[Give him some salty Sea Drops?]
+
+
+[Give him some tasty Chocolate Bar?]
+
+
+[Kill her]
+
+
+[Magic Olympics] Send soul to Porthos
+
+
+[Make up a lie]
+
+
+[Maybe another time.]
+
+
+[Pat his shoulder and say everything will be fine.]
+
+
+[Push him away from you and leave]
+
+
+[Quest Accepted]
+
+
+[Quit]
+
+
+[Shake him and tell him to pull himself together]
+
+
+[Slap his hands to surprise him and get his attention?]
+
+
+[Soul Menhir]
+[Soul Menhir]
+
+[TUTORIAL]
+
+
+[Try to console him]
+
+
+[Valentine Day] Send soul to the Valentine Highlands!
+
+
+[Valentine] Eat all chocolate:
+
+
+[Worker Day] Send soul to the Contributor Cave!
+
+
+^.^ "Nothing is wrong, don't worry!"
+
+
+a Left Crafty Wing
+a Left Crafty Wing
+
+a Right Crafty Wing
+a Right Crafty Wing
+
+a ground!
+une terre !
+
+a quiet place,
+un endroit tranquille,
+
+a(n)
+
+
+above
+
+
+adams
+
+
+affection
+
+
+agility
+
+
+agrajag
+
+
+and
+
+
+and "listening" to his speech, you'll get EXP!
+
+
+and have Demure to send them to those you admire!
+
+
+angry
+
+
+any
+
+
+any planned experience and gold reward.
+
+
+arrow keys
+Touches directionnelles
+
+arthur dent
+
+
+assigning 5 points each to str, agi, dex and luck
+
+
+begin Doppelganger Challenge
+
+
+below
+
+
+betelgeuse
+
+
+big
+
+
+burst up in flames
+
+
+but I was hoping for something more valuable. No, thanks.
+
+
+but remember: Rewards will also be based on everyone's progress!
+
+
+cancel
+
+
+cleaning
+
+
+cold, bleak and isolated cell
+
+
+come back stronger, and I will give you a task.
+
+
+cricket
+
+
+data @@ @@ @@ data
+données @@ @@ @@ données
+
+day
+
+
+deep thought
+
+
+desert mines one day.
+
+
+dexterity
+
+
+disaster area
+
+
+discontent
+
+
+don't panic
+
+
+doplhins
+
+
+douglas
+
+
+draw.
+
+
+dude#1
+
+
+ear
+
+
+east
+
+
+easter eggs for more useful things!
+
+
+eddie
+
+
+ee break of day
+
+
+eight
+
+
+eighteen
+
+
+eleven
+
+
+england
+
+
+equip
+
+
+evening
+
+
+evil will return every day to curse King Arthur the Micksha.
+
+
+exchange them, and have fun!
+
+
+experience points
+
+
+fifteen
+
+
+firearms
+
+
+five
+
+
+focused on lower level players, and to cherish those whom work hard everyday.
+
+
+four
+
+
+fourteen
+
+
+furious
+
+
+gal#0
+
+
+girl#0
+
+
+give everyone gifts for spending so much time with us %%l
+
+
+hard work, Dimonds Cove was built.
+
+
+heart of gold
+
+
+her
+
+
+here
+
+
+hero#0
+
+
+hero#1
+
+
+hey, hey, are you a hero, are you a hero?#0
+
+
+hey, hey, are you a hero, are you a hero?#1
+
+
+house finances
+
+
+humm... Sorry, I forgot what you need!
+
+
+humm... You don't have everything I've asked for!
+
+
+if the proposal is not convenient for you, just close the trading window to cancel the exchange of items and money. But if both press the 'Accept Negotiation' button, then the marketing will be finished.
+
+
+in March 2nd 2018.
+
+
+international worker day
+
+
+is your target. They spawn smaller versions of themselves! Kill @@ of them and make the beach safe for tourists.
+
+
+item dependant bonuses
+
+
+ix
+
+
+karim
+karim
+
+katazuli
+
+
+keyboard
+Clavier
+
+king
+
+
+left
+
+
+left above
+
+
+legendary clovers will spawn almost everywhere.
+
+
+legendary weapon
+
+
+library damage
+
+
+line @@:
+
+
+longing for the day she would have a building.
+
+
+lost forever
+
+
+love
+
+
+lower left
+
+
+lower right
+
+
+luck
+
+
+magic book
+
+
+marvin
+
+
+medium shot
+
+
+milliways
+
+
+miss#0
+
+
+mister#1
+
+
+mobs over lv 100
+
+
+monster points
+
+
+monsters of at least level 100
+
+
+more information about test server ->
+
+
+morning
+
+
+murder
+
+
+my name is karim can you help me?.
+Mon nom est Karim je peu t'aider ?
+
+need help to send gifts to everyone! Compete for scoreboards,
+
+
+next
+
+
+nine
+
+
+nineteen
+
+
+no
+non
+
+no active MOTD
+pas de MOTD actif
+
+no active broadcast
+pas d'annonce active
+
+north
+
+
+northeast
+
+
+northwest
+
+
+nothing
+
+
+npc1
+pnj1
+
+npc1#door
+pnj1#porte
+
+npc3
+pnj3
+
+npc4
+pnj4
+
+npc5
+pnj5
+
+o.o "You're being unreasonable. That's way too much!"
+
+
+offline player
+
+
+one
+
+
+over 100 mobs
+
+
+pal#1
+
+
+pan galactic gargle blaster
+
+
+passion
+
+
+peasant#0
+
+
+peasant#1
+
+
+place in the world. He told Dimond that he would make her
+
+
+powerful shot
+
+
+quest completed.#0
+quest completed.#0
+
+quest completed.#1
+quest completed.#1
+
+ranged mobs
+
+
+ranged monsters
+
+
+rather powerful shot
+
+
+rather weak shot
+
+
+research
+
+
+restaurant for her. He gathered the tools and after much
+
+
+right
+
+
+right above
+
+
+rock
+rock
+
+sample
+
+
+sent to the email you used to register on Moubootaur Legends.
+
+
+seven
+
+
+seventeen
+
+
+she's smiling at you.
+Elle te sourie
+
+sit
+
+
+six
+
+
+sixteen
+
+
+slartibartfast
+
+
+slimes
+
+
+small, red, round and shiny.
+
+
+somewhat powerful shot
+
+
+somewhat weak shot
+
+
+south
+
+
+southeast
+
+
+southwest
+
+
+southwest part of the town
+
+
+spawn challenge monster! How far can you go?
+
+
+splash magic
+
+
+splash weapons
+
+
+start#bat_a02
+start#bat_a02
+
+start#hurns_lib
+
+
+stocking
+
+
+stop interrupting me while I make your trousers.
+
+
+stop making me lose the line by talking to me.
+
+
+supply report
+
+
+survive @@ seconds more!
+
+
+ten
+
+
+test
+test
+
+test @@
+test @@
+
+test#0
+test#0
+
+test#1
+test#1
+
+test1
+test1
+
+test1 @@#0
+test1 @@#0
+
+test1#0
+test1#0
+
+test2
+test2
+
+test2 @@#1
+test2 @@#1
+
+test2#1
+test2#1
+
+the Monster King
+
+
+the Yeti King
+
+
+the better your chances to get the best cards.
+
+
+the card will determine your gift - the more cards you spin,
+
+
+the event won't start and HURNSCALD WON'T BE LIBERATED.
+
+
+the north exit
+
+
+the npc choose paper.
+Le PNJ a choisi le papier
+
+the npc choose rock.
+Le PNJ a choisi la pierre
+
+the npc choose scissors.
+Le PNJ a choisi les ciseaux
+
+thirteen
+
+
+this
+
+
+three
+
+
+to give %s experience!
+
+
+top 1
+
+
+top 10
+
+
+top 3
+
+
+top 5
+
+
+top 7
+
+
+towel
+
+
+town damage by monsters
+
+
+town finances
+
+
+town overview
+
+
+triple
+
+
+truth
+
+
+twelve
+
+
+twenty
+
+
+two
+
+
+two jobs
+
+
+two minutes
+
+
+very angry
+
+
+very mad
+
+
+very powerful shot
+
+
+very weak shot
+
+
+vogon
+
+
+vogsphere
+
+
+votes
+
+
+warp back
+
+
+weak shot
+
+
+west
+
+
+which creeps over Kamelot! During this event, the ancient
+
+
+with friends
+
+
+wowbagger
+
+
+yawns
+
+
+yellow
+
+
+yes
+oui
+
+you already opened the chest.
+
+
+you choose paper.
+tu as choisi le papier
+
+you choose rock.
+tu as choisi la pierre
+
+you choose scissors.
+tu as choisi les ciseaux
+
+you lose
+Perdu
+
+you win
+tu as gagné
+
+you win @@
+Tu as gagné @@
+
+zero
+
+
+~~%d/%d %s~~
+
+
+¬.¬ "Hmm, to me, you look like a thief or bandit..."
+
+
+¬.¬ "I knew it! I'll report you at once."
+
+
+´ .Use lazurite stones ´..´. they will appear. ..´ .. drop them inside .. this circle.
+
+
+↑ Houses, Soul Menhir
+
+
+↑ Town Hall, Noble District
+
+
+─ Crazyfefe is likely patrolling the world, aiding Constables and catching criminals.
+
+
+─ Jak1 should be on the Mirror Lake or verifying the infrastructure.
+
+
+─ LawnCable is likely on his room doing research, I wouldn't disturb him if I were you.
+
+
+─ Saulc should be on his residence, going over the plans again.
+
+
+♪ Pinkie,pinkie,pinkie, you're so fine.
+
+
+♪Hi ho, no one on♫
+
+
+♪There is a server♪
+
+
diff --git a/langs/lang_pt_BR.old b/langs/lang_pt_BR.old
new file mode 100644
index 0000000..fa7ce46
--- /dev/null
+++ b/langs/lang_pt_BR.old
@@ -0,0 +1,4668 @@
+ - Daily Login Screen
+- tela de login diário
+
+ - Soul Menhir auto-saving
+- Menhir Soul auto-economia
+
+##1Bug abuser detected! Automatically banning!!
+##1Abusador de bugs detectado! Automaticamente banindo!!
+
+##1DON'T MOVE until the signal. Stay ready! If you move, you will desync client!
+##1NÃO MOVA até o sinal. Fique alerta! Se você se mover, irá desincronizar o cliente!
+
+##1WARNING! WARNING! Siege starting at Halinarzo!!
+##1 ATENÇÃO! ATENÇÃO! Emboscada começando em "Halinarzo"!!
+
+##1WARNING! WARNING! Siege starting at Tulimshar!!
+##1 ATENÇÃO! ATENÇÃO! Emboscada começando em "Tulimshar"!!
+
+##2 14 Days login bonus: ##B1x @@##b
+##2 Bônus de Login (14 dias): ##B1x @@##b
+
+##2 14 Days login bonus: ##B2x @@##b
+##2 Bônus de Login (14 dias): ##B2x @@##b
+
+##2 21 Days login bonus: ##B1x @@##b
+##2 Bônus de Login (21 dias): ##B1x @@##b
+
+##2 21 Days login bonus: ##B3x @@##b
+##2 Bônus de Login (21 dias): ##B3x @@##b
+
+##2 27 Days login bonus: ##B1x @@##b
+##2 Bônus de login de 27 dias: ##B1x @@##b
+
+##2 3 Days login bonus: ##B1x @@##b
+##2 Bônus de Login (3 dias): ##B1x @@##b
+
+##2 7 Days login bonus: ##B3x @@##b
+##2 Bônus de Login (7 dias): ##B3x @@##b
+
+##2 7 Days login bonus: ##B@@ Job Exp.##b
+##2 Bônus de login de 07 dias: ##B@@ pontos de Experiencia de Trabalho.##b
+
+##2 @@ Days login bonus: ##B2x @@##b
+##2 Bônus de Login (@@ dias): ##B2x @@##b
+
+##2 @@ Days login bonus: ##B2x @@, 1x @@##b
+##2 Bônus de Login (@@ dias): ##B2x @@, 1x @@##b
+
+##2Daily login bonus: ##B1x @@##b
+##2Bônus de Login Diário: ##B1x @@##b
+
+##2Daily login bonus: ##B@@ EXP##b
+##2 Bônus login diário: ##B@@ EXP##b
+
+##2Daily login bonus: ##B@@ GP##b
+##2 Bônus diário de login: ##B@@ GP##b
+
+##2Daily login bonus: ##B@@ Job Exp.##b
+##2 Bônus diário de login: ##B@@ pontos de Experiência de Trabalho.##b
+
+##2The Monster Colonel was defeated by @@!
+##2O Coronel dos Monstros foi derrotado por "@@"!
+
+##2The Monster Lieutenant was defeated by @@!
+##2O Tenente dos Monstros foi derrotado por "@@"!
+
+##2Your prize: @@ GP
+##2Seu prêmio: @@ GP
+
+##9Hey wait... Your coin turned on a @@!
+##9Ei, espere... Sua moeda se transformou em uma @@!
+
+##9Was that not sufficient, this someone acquired MAGIC and is now under @@'s group.
+##9 Isso não foi suficiente, este alguém adquiriu MAGIA e agora está sob o grupo de "@@".
+
+##9You found an old well with a bucket on it! It's time to fill plenty of @@!
+##9Você encontrou um velho poço com um balde! É hora de encher várias @@!
+
+##BHall Of Fame: TOP10##b
+##B Classificação de Fama: 10 Melhores##b
+
+##BYou were stolen##b by an evil NPC.
+##BVocê foi assaltado##b por um NPC malvado.
+
+%s - %d/%d HP, %d/%d MP
+% S -% d /% d HP,% d /% d MP
+
+%s, you're a good student. You have a bright future if you keep listening to me.
+% S, você é um bom aluno. Você tem um futuro brilhante, se você continuar me ouvindo.
+
+(10,000 GP) Legendary Mount
+(10.000 GP) Montagem Lendária
+
+(100,000 GP) Legendary Mount
+(100.000 GP) Montagem Lendária
+
+(By the way, it is rude to not listen when people are speaking to you. Read the dialogs! Important stuff can be found on them.)
+(By the way, é rude não ouvir quando as pessoas estão falando com você. Leia os diálogos! Material importante pode ser encontrado sobre eles.)
+
+(Click on me to hear the conversation and advance. I am a NPC, and NPCs can be interact by clicking.)
+(Clique em mim para ouvir a conversa e avançar. Eu sou um NPC e os NPCs podem interagir clicando).
+
+(Protip: Use arrow keys to walk around once you wake up.)
+(Protip: Use as setas para andar quando você acordar.)
+
+(That was already explained on the intro. Read the dialogs! Important stuff can be found on them.)
+(Isso já foi explicado na introdução. Leia os diálogos! Coisas importantes podem ser encontradas nelas.)
+
+* +2 in all attributes, permanently
+* +2 em todos os atributos, de forma permanente
+
+* Register as a Crafter or Hunter
+* Registo de Crafter ou Hunter
+
+* Shoots like crazy, but deals less damage.
+* Atira como um louco, mas causa menos dano.
+
+* The only one hand ranged weapon you'll ever find. Not amazing at all.
+* A única arma de uma mão e à longa distância que você já encontrou. Não é incrível em nenhum aspecto.
+
+*the text is too faded out to read*
+* O texto é também desapareceu para ler *
+
+*whistle*
+*apito*
+
+-
+-
+
+- 5 @@, with 12000 GP, for a @@.
+- 5 @@, com 12000 GP, por um @@.
+
+...But saving me won't be enough, so build trust by the kind gift of 60 @@. I'll be waiting.
+... Mas me salvar não será suficiente, então construa confiança com o generoso presente de 60 @@. Estarei esperando.
+
+...Of course, Hasan is an exception.
+... Claro, Hasan é uma exceção.
+
+.::
+. ::
+
+.:: @@ Recipe ::.
+. :: @@ Receita ::.
+
+.:: Help for New Players ::.
+. :: Ajuda para novos jogadores ::.
+
+.:: Main Quest 2-1 ::.
+. :: Missão Principal 2-1 ::.
+
+.:: Main Quest 2-2 ::.
+. :: Missão Principal 2-2 ::.
+
+.:: Main Quest 2-3 ::.
+. :: Missão Principal 2-3 ::.
+
+.:: Main Quest 3-1 ::.
+. :: Missão Principal 3-1 ::.
+
+.:: Main Quest 4-2 ::.
+. :: Missão Principal 4-2 ::.
+
+.:: Main Quest 4-3 ::.
+. :: Missão Principal 4-3 ::.
+
+1. ##BDo not bot##b, A character must be being controlled by a human, standing, siting, or logged off. You may only control one character at a time.
+1. ##BNão use robôs##b, um personagem deve estar sendo controlado por um humano, de pé, sentado, ou desconectado. Você só pode controlar um personagem de cada vez.
+
+100 - @@
+100 - @@
+
+1000 - 20x @@
+1000 - 20x @@
+
+10000 (+10,000 GP) - @@
+10000 (+10,000 GP) - @@
+
+10000 (+100,000 GP) - @@
+10000 (+100.000 GP) - @@
+
+10000 - 30x @@
+10000 - 30x @@
+
+17 Croconut
+17 de coco
+
+2
+2
+
+2. ##BDo not spam nor flood.##b Texts entirely written in UPPER CASE helps counting as spam.
+2. ##BNão faça spam nem abuse do chat.##b Textos escritos completamente em LETRAS MAIÚSCULAS ajudam a contar como spam.
+
+20 Common Carp
+20 carpa comum
+
+2000 - @@
+2000 - @@
+
+2018-03-16
+2018-03-16
+
+2018-03-23
+2018-03-23
+
+2018-04-08
+2018-04-08
+
+2018-05-31
+2018-05-31
+
+2018-05-31 (Latest)
+2018-05-31 (Mais recente)
+
+2018-06-30
+2018-06-30
+
+2018-07-27
+2018-07-27
+
+2018-07-27 (Latest)
+2018-07-27 (Mais recente)
+
+2018-09-13 (Latest)
+2018-09-13 (Mais recente)
+
+250 - @@
+250 - @@
+
+3
+3
+
+4144's Tortuga was seen somewhere. Great rewards if someone knock off that monster... Well, not really.
+Tortuga de 4144 foi visto em algum lugar. Grandes recompensas se alguém derrubar aquele monstro ... Bem, na verdade não.
+
+42
+42
+
+4500 - @@
+4500 - @@
+
+5 Chagashrooms for a Strength Potion!
+5 chagashrooms para uma poção de força!
+
+5 Plushrooms for a Haste Potion!
+5 Plushrooms para uma poção de Pressa!
+
+500 - @@
+500 - @@
+
+5000 (+10,000 GP) - @@
+5000 (+10.000 GP) - @@
+
+7 Grass Carp
+7 carpa de grama
+
+7. ##BAs long as you have an account, you agree with the [@@https://tmw2.org/legal.php|Terms Of Service@@]##b. Shall any rule conflict with these terms, the Terms Of Service provided on that link shall prevail.
+7. ##BEnquanto você tiver uma conta, você concorda com os [@@https://tmw2.org/legal.php|Termos De Serviço@@]##b. Se qualquer regra conflitar com esses termos, os Termos de Serviço providenciados nesse link prevalecerão.
+
+8 Croconut
+8 de coco
+
+87 Plushroom
+87 Plushroom
+
+9.1 will now send players to Nivalis, to keep learning about who they are. While greater forces are at play, the player might be just a minor one, but certainly an important one.
+9.1 agora vai enviar jogadores para Nivalis, para continuar aprendendo sobre quem eles são. Enquanto forças maiores estão em jogo, o jogador pode ser apenas um menor, mas certamente um importante.
+
+@@ -> @@
+@@ -> @@
+
+@@ disembarks at Candor Island.
+@@ desembarca na ilha de Candor.
+
+@@ hits himself in the head and forgot you ever went after his men.
+@ bate na cabeça e esquece que você foi atrás de seus homens.
+
+@@ increased drop rates to @@%. It will only last @@!
+@@ aumentou as taxas de drops para @@%. Só irá durar @@!
+
+@@ increased experience rate to @@%. It will only last @@!
+@@ aumentou as taxas de experiência para @@%. Só irá durar @@!
+
+@@ is helping me.
+@@ está me ajudando.
+
+@@ is searching something in his book.
+@@ está procurando algo em seu livro.
+
+@@/150 GP
+@@ / 150 GP
+
+@@/5 House Maggots
+@@/5 Vermes Domésticos
+
+A blur shape forms in your front. It seems to be a large ship.
+Um borrão surge em sua frente. Parece ser um grande navio.
+
+A guy named Hasan stole me!
+Um cara chamado Hasan me roubou!
+
+A major deflation happened while Saulc wasn't looking, and you may find several items with @@ discount.
+Uma grande deflação aconteceu enquanto Saulc não estava olhando, e você pode encontrar vários itens com desconto de até @@.
+
+A mild magic barrier prevents you from entering.
+Uma leve barreira mágica impede você de entrar.
+
+A minimum of 3 players at the time of start is required!
+Um mínimo de 3 jogadores no momento da partida é necessário!
+
+A nice meteor shower is thought to happen in February and May, days 18~25.
+Acredita-se que uma boa chuva de meteoros acontecerá em fevereiro e maio, dias 18 a 25.
+
+A pity that without having born with magic, you need a Mana Stone... And there are none left...
+Uma pena que sem ter nascido com magia, você precisa de uma Mana Stone ... E não sobrou nada ...
+
+Abort.
+Abortar.
+
+Access is restricted to guards, as usual.
+O acesso é restrito aos guardas, como de costume.
+
+According to the Guide, space is ____?
+Segundo o Guia, o espaço é ____?
+
+Accumulate Power - Raise damage of next skill.
+Acumular poder - Elevar danos da próxima habilidade.
+
+Actually, the Dummy don't fight back. Are you afraid?
+Na verdade, o boneco não revida. Você está com medo?
+
+Actually, this fails without tmwa dark magic.
+Na verdade, isso falha sem a magia negra.
+
+Actually. Who are you again? A headache which doesn't wants to pass strikes you.
+Na realidade. Quem é você de novo? Uma dor de cabeça que não quer passar lhe atinge.
+
+Additional security measures were put in place so such disaster, of a whole world crashing, doesn't happens again.
+Medidas adicionais de segurança foram tomadas para que tal desastre, de um mundo inteiro caindo, não aconteça novamente.
+
+Adventurers entirely redressed, people doing Grand Hunter Quest like mad, peple making wishes at... well...
+Aventureiros completamente vestidos, pessoas fazendo Grand Hunter Quest como loucos, pessoas fazendo desejos em ... bem ... poços ...
+
+Adventurers got drunk to get more EXP?! Players can now buy houses and make their own wine!
+Aventureiros ficaram bêbados para obter mais EXP ?! Os jogadores podem agora comprar casas e fazer o seu próprio vinho!
+
+After much struggle with the lazy builders, Nivalis Town is finally open for visit again!
+Depois de muita luta com os construtores preguiçosos, a cidade de Nivalis está finalmente aberto para visitar novamente!
+
+After the Great Famine which happened after the Red Queen death, it was founded by people who sailed away in look of new opportunities.
+Após a grande fome que aconteceu após a morte da Rainha Vermelha, foi fundada pelas pessoas que fugiram em busca de novas oportunidades.
+
+Ah! I know. Kill 10 @@. They usually are the crops.
+Ah! Já sei. Mate 10 @@. Eles geralmente estão nas plantações.
+
+Ah, Hasan... Sorry pal, afraid I can't do anything for you. Try talking to his mother Sorfina, she is on Mahoud's house, near the Inn.#0
+Ah, Hasan ... Desculpe amiga, não posso fazer nada por você. Tente falar com sua mãe Sorfina, ela está na casa de Mahoud, perto do Hotel.
+
+Ah, Hasan... Sorry pal, afraid I can't do anything for you. Try talking to his mother Sorfina, she is on Mahoud's house, near the Inn.#1
+Ah, Hasan ... Desculpe amigo, não posso fazer nada por você. Tente falar com sua mãe Sorfina, ela está na casa de Mahoud, perto do Hotel.
+
+Ah, nothing too major, as you already have magic.
+Ah, nada muito importante, já que você já tem magia.
+
+Ah, there are lots on dark mines.
+Há muitas minas negras.
+
+Ah, there are lots on the fields.
+Ah, há muito nos campos.
+
+Ah, this is boring.
+Ah, isso é chato.
+
+Ah... I am too lazy to ask for anything in exchange. Here. Take it. Free.
+Ah... Estou com tanta preguiça para pedir por qualquer coisa em troca. Aqui! Pegue! É Grátis!
+
+Ah... You must update your client first.
+Ah ... Você deve atualizar seu cliente primeiro.
+
+Ahh, I hate @@.
+Ahh, eu odeio @@.
+
+Aisen
+Aisen
+
+All contributors should claim their rewards with Lua. Weather is there, night cycle happens where monsters are more active.
+Todos os contribuidores devem reivindicar suas recompensas com Lua. O tempo está lá, o ciclo noturno acontece onde os monstros estão mais ativos.
+
+All hail ##B@@##b, first to complete the ##3Yeti King Quest!
+Todos saúdem ##B@@##b, primeiro(a) a completar a ##3Quest do Rei Yeti!
+
+Allows to move/attack while casting. (Melee attacks still interrupt casting!)
+Permite mover / atacar enquanto lança. (Ataques corpo-a-corpo ainda interrompem o lançamento!)
+
+Alright, I'll look in the archives. I'll have an answer for you in three hours. Meanwhile, why don't you suppress the bandits on the cliff?
+Tudo bem, vou procurar nos arquivos. Eu terei uma resposta para você em três horas. Enquanto isso, por que você não reprime os bandidos no penhasco?
+
+Alright, I'll look in the archives. I'll have an answer for you in two hours. Meanwhile, why don't you suppress the bandits on the cliff?
+Tudo bem, vou procurar nos arquivos. Eu terei uma resposta para você em duas horas. Enquanto isso, por que você não reprime os bandidos no penhasco?
+
+Alright, I'm going to the capt'n room, keep an eye on her, we still don't know if she's friend or foe...#0
+Certo, estou indo para sala do capitão, fique de olho nela, ainda não sabemos se ela é amiga ou não...
+
+Alright, I'm going to the capt'n room, keep an eye on him, we still don't know if he's friend or foe...#1
+Certo, estou indo para sala do capitão, fique de olho nele, ainda não sabemos se ele é amigo ou não...
+
+Alright, take your time we are not in a hurry.
+Sem problemas, não estamos com pressa.
+
+Alright... I shall acknowledge you...
+Tudo bem ... vou reconhecê-lo ...
+
+Also, hidden in a forest which is not either hot or cold, is the Gold Pot Cauldron...
+Além disso, escondido em uma floresta que não é quente ou frio, é o Caldeirão Gold Pot ...
+
+Also, the Inn folks said the Ducks keep bothering them, but they've noticed a small decrease lately.
+Além disso, o pessoal da pousada disse que os patos continuam incomodando-os, mas eles notaram uma pequena diminuição ultimamente.
+
+Also, they can control the city taxes, which incide upon purchases and sales within the town.
+Além disso, eles podem controlar os impostos da cidade, que incide sobre compras e vendas dentro da cidade.
+
+Also, we took your yayed clothes, as they were... Yeyeye... In a bad shape. Go check the chest near your bed, there are some other ones inside.#0
+Além disso, pegamos suas roupas, como estavam ... Yeyeye ... em uma forma ruim. Vá checar o baú perto da sua cama, tem outras dentro.
+
+Also, we took your yayed clothes, as they were... Yeyeye... In a bad shape. Go check the chest near your bed, there are some other ones inside.#1
+Além disso, pegamos suas roupas, como estavam ... Yeyeye ... em uma forma ruim. Vá checar o baú perto da sua cama, tem outras dentro.
+
+Also, weird voices are talking to new players, asking if they're here because a friend.
+Além disso, vozes estranhas estão conversando com novos jogadores, perguntando se estão aqui por causa de um amigo.
+
+Also, you seem like you are from around LoF. Why don't you take a free @@?
+Além disso, parece que você é do LoF. Por que você não leva um @@ grátis?
+
+And how do I save items?
+E como faço para salvar itens?
+
+And how do I save money?
+E como poupar dinheiro?
+
+And on the meanwhile, ships sailors are shouting at you.
+E enquanto isso, navios marinheiros estão gritando com você.
+
+And speaking in reward, guards are looking for someone contrabanding goods from Artis. Do not help them!
+E falando em recompensa, os guardas estão procurando por alguém contrabandeando mercadorias da Artis. Não ajude o contrabandista!
+
+And then what happened?
+E o que aconteceu depois?
+
+And they say I am the greedy one. Hmpf.
+E eles dizem que eu sou o ganancioso. Hmpf.
+
+And you? How's it going on your side?
+E você? Como as coisas estão indo no seu lado?
+
+And your rare, a @@! Enjoy!
+E o seu raro, um @@! Aprecie!
+
+Andrei Sakar is also repeating his questions about World Lore, although rewards are now smaller.
+Andrei Sakar também está repetindo suas perguntas sobre a história do mundo, embora as recompensas sejam menores agora.
+
+Another way to attack it is clicking on it. Now, there are some things you must know before fighting this dangerous creature!
+Outra maneira de atacar é clicar nele. Agora, há algumas coisas que você deve saber antes de lutar contra essa criatura perigosa!
+
+Anwar left his house to tend Tulimshar's crops, after noticing something strange with them. He blames the Monster King.
+Anwar deixou sua casa para cuidar das plantações de Tulimshar, depois de perceber algo estranho com elas. Ele culpa o rei dos monstros.
+
+Anyway, ##Bwelcome##b, and have fun! If you need anything, we are a keypress from distance!
+De qualquer forma, ##Bbem vindo##b, e se divirta! Se precisar de algo, estamos a um toque de distância!
+
+Anyway, I think if you go to Hurnscald Townhall, and speak with the mayor, he can help you getting there. You can't reach there normally, after all.
+De qualquer forma, acho que se você for a Hurnscald Townhall e falar com o prefeito, ele pode ajudá-lo a chegar lá. Você não pode chegar lá normalmente, afinal.
+
+Anyway, I think you should go to Hurnscald Townhall, and speak with the mayor.
+De qualquer forma, acho que você deveria ir a Hurnscald Townhall e falar com o prefeito.
+
+Anyway, here your reward.
+De qualquer forma, aqui a sua recompensa.
+
+Anyway, my herb mixture keep monsters away.
+De qualquer forma, minha mistura de ervas mantém os monstros longe.
+
+Anyway, you can check our [@@https://gitlab.com/TMW2/Docs/wikis/home|Wiki@@] to find awesome stuff!
+De qualquer forma, você pode conferir nossa [@@https://gitlab.com/TMW2/Docs/wikis/home|Wiki@@] para encontrar coisas incríveis!
+
+Archers start to appear on the game! It seems archery is easier now!
+Arqueiros começam a aparecer no jogo! Parece arco e flecha é mais fácil agora!
+
+Are you cheating?
+Você está traindo?
+
+Are you sure you want to port level %d for Valentine?
+Tem certeza de que quer port nível% d para Valentine?
+
+Are you using my skill?
+Você está usando minha habilidade?
+
+AreaNPC
+AreaNPC
+
+AreaNPC#doors5
+AreaNPC#doors5
+
+Arkim also developed a powerful petiscide to make Pinkies less healthy, but that was long ago.
+Arkim também desenvolveu um poderoso petiscida para tornar os Pinkies menos saudáveis, mas isso foi há muito tempo.
+
+Arrow Shower - Shoot FIVE arrows or bullets to the air and cause Area Of Effect Damage.
+Arrow Shower - Atire cinco flechas ou balas para o ar e causar Ãrea de Efeito danos.
+
+Arrows prices were lowered, and a limited teleport to Frostia and Halinarzo is now possible.
+Os preços das flechas foram reduzidos e um teletransporte limitado para Frostia e Halinarzo é agora possível.
+
+Artis
+Artis
+
+Artis Backsword
+Sabre de artis
+
+Artis is a city port founded after the Great Famine on the other continent.
+Artis é um porto da cidade fundado após a Grande Fome no outro continente.
+
+As promised, here is @@ GP, the fair price for your material, and refunds.
+Como prometido, aqui está @@ GP, o preço justo para o seu material e reembolsos.
+
+As usual, you can get only one hat yearly, for the symbolic amount of 30 @@ and 10 @@!
+Como de costume, você pode obter apenas um chapéu por ano, pelo valor simbólico de 30 @@ e 10 @@!
+
+As you see, helping others is a good way to level up. You can also sell monster parts for some money.
+Como você vê, ajudar os outros é uma boa maneira de subir de nível. Você também pode vender peças de monstros por algum dinheiro.
+
+AssassinChest
+AssassinChest
+
+Astra Cube
+Cubo Astra
+
+Astral attack with low damage value, but which can send ghosts to rest.
+Ataque astral com baixo valor de dano, mas que pode enviar fantasmas para descansar.
+
+Auldsbel#_M
+Auldsbel#_M
+
+Bare Hands
+Mãos Nuas
+
+Be careful to don't get lost in this forest.
+Tenha cuidado para não se perder nesta floresta.
+
+Bhopper egg
+Ovo Bhopper
+
+Black Cotton Dye
+Tinta preta para casimira
+
+Blob
+Gota
+
+Blow with increased attack and precision.
+Sopre com aumento de ataque e precisão.
+
+Blue Cotton Dye
+Tinta azul para algodão
+
+Blue Gray Cotton Dye
+Tinta azul-cinzento para algodão
+
+Break the door.
+Quebrar a porta.
+
+Bromenal
+Bromenal
+
+Brown Cotton Dye
+Tinta marrom para algodão
+
+Bug, please report: Merry Christmas I am no one
+Bug, por favor informe: Feliz Natal eu não sou ninguém
+
+Bug, please report: Merry Christmas I am undefined
+Bug, por favor informe: Feliz Natal estou indefinido
+
+Bug, please report: Merry Christmas, I am @@. I got @@/@@ on exams last week!
+Bug, por favor informe: Feliz Natal, eu sou @@. Eu tenho @@ / @@ em exames na semana passada!
+
+Bull
+Touro
+
+Bury.
+Enterrar.
+
+But @@ is too valorous, you can only forge with it! So it sells well, about @@ GP.
+Mas @@ é muito valoroso, você só pode forjar com ele! Então, vende bem, sobre @@ GP.
+
+But I probably should not do it. It might be poisoned!
+Mas eu provavelmente não deveria fazer isso. Pode ser envenenado!
+
+But be careful: Only 1MSP-costed skills can be forgotten, and learning fees WON'T be given back!
+Mas cuidado: habilidades Só 1MSP-orçamentados pode ser esquecido, e as taxas de aprendizagem não será dado de volta!
+
+But be careful: do not scream when using a lot of capital letters, and do not keep repeating the lines, or you may be severely penalized.
+Mas tome cuidado: não grite com muitas letras maiúsculas, e não fique repetindo as coisas, ou você pode ser severamente penalizado.
+
+But be warned, I don't have the Apple with me. It's further in.
+Mas esteja avisado, eu não tenho a Apple com mim. É ainda mais em.
+
+But hey, it is Easter and the poll is still open, so here are 15 @@ as a consolation prize.
+Mas ei, é a Páscoa e a enquete ainda está em aberto, então aqui estão 15 @@ como prêmio de consolação.
+
+But if you try to create equipment, assuming magic doesn't backfire, YOU WILL BE BANNED from this school, and lose your class. Permanently.
+Mas se você tentar criar equipamentos, supondo que a magia não saia pela culatra, VOCÊ SERà PROIBIDO desta escola e perderá sua classe. Permanentemente.
+
+But in accordance to [@@https://tmw2.org/forums/viewtopic.php?pid=8|Community Decision@@], you were unlucky.
+Mas, de acordo com uma [@@https://tmw2.org/forums/viewtopic.php?pid=8|Decisão da Comunidade@@], você não teve sorte.
+
+But most important, she is the one who took care of you when you were unconscious.#0
+Porém mais importante, foi ela que cuidou de você quando estava inconsciente.
+
+But most important, she is the one who took care of you when you were unconscious.#1
+Porém mais importante, foi ela que cuidou de você quando estava inconsciente.
+
+But now, we are quite old, I remember the time when I was your age. My generation don't do stupid things like yours!
+Mas agora, somos bastante velhos, lembro-me da época em que eu tinha a sua idade. Minha geração não faz coisas estúpidas como a sua!
+
+But the money you brought was really awesome you know.
+Mas o dinheiro que você trouxe foi realmente legal, sabe?
+
+But this is not important now. The ships sailors are shouting at you!
+Mas isso não é importante agora. Os marinheiros estão gritando para você!
+
+But travel by sea, or access to the village on itself, is thoroughly impossible. Andrei Sakar is at ready.
+Mas viajar pelo mar, ou o acesso à aldeia em si, é completamente impossível. Andrei Sakar está pronto.
+
+But travel by sea, or access to the village on itself, is throughly impossible. Andrei Sakar is at ready.
+Mas viajar pelo mar, ou o acesso à aldeia em si, é completamente impossível. Andrei Sakar está pronto.
+
+But who knows what future holds. The Monster King was blamed as responsible, but he killed our interviewer. Eeh.
+Mas quem sabe o que o futuro reserva. O Rei Monstro foi culpado como responsável, mas ele matou nosso entrevistador. Eeh
+
+But whoa, not so fast! You must pass the seven steps of a trial first!
+Mas whoa, não tão rápido! Você deve passar os sete passos de um teste primeiro!
+
+Buy it
+Compre
+
+By last, there was the Blue Sage, living on Nivalis... I never met him.
+Por fim, havia o Blue Sage, vivendo em Nivalis ... Eu nunca o conheci.
+
+By the way, I found this Helmet after you killed the Fafi Dragon, Maybe you can use it some day.
+By the way, eu encontrei este capacete depois que você matou o Dragão Fafi, Talvez você possa usá-lo algum dia.
+
+By the way, you need a couple of @@ to try the skill. Fail rate is pretty high, but that book will teach you how to reduce it.
+Por falar nisso, você precisa de um par de @@ para tentar a habilidade. A taxa de falha é muito alta, mas esse livro ensinará como reduzi-la.
+
+COLLECT EVERY ITEM W/O ATTACKING test
+COLETE TODO O ARTIGO SEM teste de ATACAMENTO
+
+CONDEMNED: This building has been condemned. The roof may fall. Be careful!
+CONDENADO: Este edifício foi condenado. O telhado pode cair. Seja cuidadoso!
+
+CONGRATULATIONS! For a year worth of logins, you're getting a pet!
+PARABÉNS! Por um ano de logins, você está recebendo um animal de estimação!
+
+Call Of Dusty: Event End!
+Call Of Dusty: Fim do Evento!
+
+Call Of Dusty: Event Start!
+Call Of Dusty: Início do Evento!
+
+Camel Cotton Dye
+Tinta camelo para algodão
+
+Can you craft Savior Pants?
+Você pode criar Calças do Salvador?
+
+Can you teach me a basic tier 1 magic skill?
+Você pode me ensinar uma habilidade mágica básica de nível 1?
+
+Can you teach me a basic tier 2 magic skill?
+Você pode me ensinar uma habilidade mágica básica de nível 2?
+
+Can't bring pets with you...
+Não pode trazer animais de estimação com você ...
+
+Cancels Poison. Antidotes are hard to come by, anyway.
+Cancela o veneno. Antídotos são difíceis de encontrar, de qualquer maneira.
+
+Candor - 2,500 GP
+Candor - 2.500 GP
+
+Candor Battle Score: %d
+Candor Batalha Pontuação:% d
+
+Candor Trainer read all the references that he could find and is wiser than ever!
+Valon, Treinador de Candor, leu todas as referências que encontrou e está mais esperto do que nunca!
+
+Candor was sightly reworked in terms of gold gain/expense. @@ was added.
+Candor foi retrabalhado em termos de ganho / despesa de ouro. @@ foi adicionado.
+
+Captain Nard is in the room to your right.
+Capitão Nard está na sala a sua direita.
+
+Cauldron#RES_0177
+Caldeirão#RES_0177
+
+Cauldron#RES_0178
+Caldeirão#RES_0178
+
+Causes a @@ bolt on the enemy. Number of hits is the skill level.
+Faz com que um raio de @@ apareça no inimigo. Número de acertos é o nível de habilidade.
+
+Cave Snake lamp
+Lâmpada de cobra da caverna
+
+Cavern Bat
+Bat Caverna
+
+Central Woodlands suffered dramatic changes due Saulc (ab)using his GM powers.
+Central Woodlands sofreu mudanças dramáticas devido Saulc (ab) usando seus poderes GM.
+
+Ch 2 — Mana Magic vs Common Magic
+Cap 2 — Magia de Mana vs Magia Comum
+
+Ch 3 — Subclass
+Cap 3 — Subclasses
+
+Change my level
+Mude meu nível
+
+Change my skills
+Mude minhas habilidades
+
+Change my stats
+Mude meus stats
+
+Changes anyone's weapon to Holy elemental. Causes small damage when used on offensive.
+Muda a arma de alguém para o Elemental Sagrado. Causa pequeno dano quando usado em ofensivo.
+
+ChefHat
+Chapéu de Chef
+
+Chemist Helmet
+Capacete químico
+
+Chocolate Cashmere Dye
+Tinta chocolate para casimira
+
+Choose desired quest state:
+Escolha o estado da quest desejado
+
+Christmas Event: 21/12 ~ 09/01
+Evento de Natal: 21/12 ~ 09/01
+
+Cindy
+Cindy
+
+Citzens on the world are now listeing to different tunes, and new adventurers were found... in desert islands?
+Os cidadãos do mundo estão agora ouvindo músicas diferentes e novos aventureiros foram encontrados ... em ilhas desertas?
+
+Click here for instructions on how to use the test server.
+Clique aqui para instruções em como usar o servidor de testes.
+
+Click on Elmo or Magic Arpan to continue...
+Clique em Elmo ou Magic Arpan para continuar ...
+
+Client Version: @@
+Versão do Cliente: @@
+
+Close Extension
+Fechar extensão
+
+Coffee is good, why the Mouboo don't want it?
+O café é bom, porque o Mouboo não quer isso?
+
+Colonel DUSTMAN opened the Heroes Hold to the hardcore player. Noobs, keep out! Good players only!
+O Coronel DUSTMAN abriu o Heroes Hold para o jogador hardcore. Noobs, fique de fora! Apenas bons jogadores!
+
+Come back soon!
+Volte logo!
+
+Come talk to me when you're ready, and we can begin.
+Venha conversar comigo quando estiver pronto e podemos começar.
+
+Congratulations! Here is your reward (40 xp 25 gp).
+Parabéns! Aqui está sua recompensa (40 xp 25 gp).
+
+Continue at your own risk.
+Continue por sua conta e risco.
+
+Could be nice if you could bring me this:
+Poderia ser bom se você pudesse me trazer isso:
+
+Could you bleach my clothes?
+Você poderia branquear minhas roupas?
+
+Counter Attack - Next attack will be retaliated, with twice critical ratio.
+Counter Attack - próximo ataque será retaliado, com relação de duas vezes crítica.
+
+Crazyfefe Fight was remastered. The 8.0 release series was the longest release serial thus far.
+O Crazyfefe Fight foi remasterizado. A série de lançamentos 8.0 foi o lançamento mais longo até o momento.
+
+Create items
+Criar itens
+
+Crimson Cashmere Dye
+Tinta carmesim para casimira
+
+Crusader Card
+Carta Crusader
+
+Crypt Key
+Chave de Cripta
+
+Current Event:
+Evento atual:
+
+Current drop rate is set to @@% (default value).
+Taxa de drop atual estabelecida como sendo @@% (valor padrão).
+
+Current exp rate is set to @@% (default value).
+Taxa de experiência atual estabelecida como sendo @@% (valor padrão).
+
+Current progress: @@/10000 @@
+Progresso atual: @@ / 10000 @@
+
+Currently, there is no way to reset them. So use them wisely!
+Atualmente, não há nenhuma maneira de redefini-las. Para usá-los com sabedoria!
+
+DO NOT KILL test
+NÃO MATAR teste
+
+DO RANDOM EMOTE test
+FAZER RANDOM EMOTE test
+
+DON'T TAKE THE ITEM test
+Não faça o teste ITEM
+
+Dargh, you broke the lock!!
+Dargh, você quebrou a fechadura !!
+
+Dark Red Cotton Dye
+Tinta vermelha-escura para algodão
+
+Darkhelm
+Darkhelm
+
+Debug - Change level
+Depurar - Mudar nível
+
+Debug - Change stats
+Depurar - Alterar estatísticas
+
+Decrease ranged damage taken for a few minutes, in exchange of agi and move speed. Req. Shield.
+Diminui o dano recebido por alguns minutos, em troca de agi e velocidade de movimento. Req. Escudo.
+
+Definitive item break? Too dangerous! I don't want it!!
+Quebra de item definitiva? Perigoso demais! Eu não quero isso !!
+
+Demonic Chest
+Baú Demoníaco
+
+Demonic Earth Powder
+Pó Demoníaco da Terra
+
+Demonic Scythe
+Foice Maligna
+
+Demonic Skull
+Caveira Demoníaca
+
+Demure#ValentineFinal
+Demure#ValentineFinal
+
+Desert Bow
+Arco do Deserto
+
+Despite its initial dubious fragrance, the tea comes off as very smooth and mellow with a bit of natural sweetness and a touch of an earthy forest like flavour, but in a very good way.
+Apesar de sua fragrância duvidosa inicial, o chá sai muito suave e suave, com um pouco de doçura natural e um toque de uma floresta de terra como sabor, mas de uma forma muito boa.
+
+Did this Mouboo just blinked? No, I made sure to kill it. Must have been my imagination.
+Esse Mouboo apenas piscou? Não, eu me certifiquei de matá-lo. Deve ter sido minha imaginação.
+
+Did you brought us a kind gift of good will, on the worth of 60 @@, to offer to our King?
+Você nos trouxe um bondoso presente de boa vontade, no valor de 60 @@, para oferecer ao nosso Rei?
+
+Did you came here by someone advise? If yes, write their name here!
+Você veio aqui indicado por alguém? Se sim, escreva o nome de quem o(a) indicou aqui!
+
+Did you have any other questions for me?
+Você tinha alguma outra questão para mim?
+
+Did you knew some crazy adventurers insists there is a Mana Stone on the danerous caves inside the town?
+Você sabia que alguns aventureiros loucos insistem que há uma Pedra de Mana nas perigosas cavernas dentro da cidade?
+
+Did you say reward? I want it!
+Você disse recompensa? Eu quero!
+
+Did you see Jhedia the blacksmith in Tulimshar? He might know how you could get this.
+Você viu Jhedia, o ferreiro de Tulimshar? Ele deve saber como conseguir isso.
+
+Dig.
+Cavar.
+
+Dimond bought a brand new slot machine and installed on her inn. The rewards are different from the one on Tulimshar.
+Dimond comprou uma nova slot machine e instalou em sua pousada. As recompensas são diferentes das de Tulimshar.
+
+Disable event
+Desativar evento
+
+Divine Rage - @sk-demure
+Raiva Divina - @ sk-demure
+
+Do not attempt to use the normal route with a @@ with you.
+Não tente usar a rota normal com um @@ com você.
+
+Do not attempt to use the normal route without a %s with you.
+Não tente usar a rota normal, sem um% s com você.
+
+Do not enter on this storehouse, the maggots there will kill you.
+Não entre neste depósito, os vermes ali vão te matar.
+
+Do not give the password of your room to anybody! Keep it secret and try not to use the same one in any other room in the future. - Juliet
+Não dê a senha do seu quarto para ninguém! Mantenha em segredo e tente não usar o mesmo em qualquer outra sala no futuro. - Julieta
+
+Do you feel too weak even to do damage to this areas wishy-washy wildlife?
+Você se sente muito fraco, mesmo para causar danos a essas áreas?
+
+Do you have any other questions for me?
+Você tem alguma outra pergunta para mim?
+
+Do you have the @@/11 @@ I requested? Sailors are getting hungry because you!
+Você tem as @@ / 11 @@ que eu pedi? Os marinheiros estão ficando com fome porque você!
+
+Do you really think the poor creature should jump a bridge in water and DIE?
+Você realmente acha que a pobre criatura deveria pular uma ponte na água e MORRER?
+
+Do you see the crocs, with their claws and such? They have high defense, this means your attacks deal less damage.
+Você vê os crocodilos, com suas garras e tal? Eles têm alta defesa, isso significa que seus ataques causam menos dano.
+
+Do you want to cross Nivalis city to the other side?
+Você quer atravessar a cidade de Nivalis para o outro lado?
+
+Do you want to cut this @@?
+Você quer cortar este @@?
+
+Do you want to go against the Monster King now? The event will start 16:30 UTC sharply.
+Você quer ir contra o Rei Monstro agora? O evento terá início às 16:30 UTC.
+
+Don't be afraid of death. Of course, in most places, dying will reduce your Experience.
+Não tenha medo da morte. Naturalmente, na maioria dos lugares, morrer irá reduzir sua Experiência.
+
+Don't buy it
+Não compre
+
+Don't go alone, though! He would not listen to me, it is not you alone he'll pay attention.
+Não vá sozinho, embora! Ele não me ouviria, não é você sozinho, ele vai prestar atenção.
+
+DoorUpwards
+PortasParaCima
+
+Drag and drop a @@ in a @@, and you will obtain a @@.
+Arraste e solte uma @@ em um @@ e você obterá um @@.
+
+Drag and drop a weapon from your inventory.
+Arraste e solte uma arma do seu inventário.
+
+Drains Mana to reduce damage taken. The only defensive skill from wizards.
+Drena Mana para reduzir o dano recebido. A única habilidade defensiva dos magos.
+
+Drake the Traveler
+Drake o viajante
+
+Drinking what drink is like having your brain smashed out by a slice of lemon wrapped round a large gold brick?
+Beber que bebida é como ter seu cérebro esmagado por uma fatia de limão enrolada em um grande tijolo de ouro?
+
+Drop Rate management
+Gerenciamento de taxa de queda
+
+Drop rates raised drastically for the lucky ones. Eternal Swamp floods are now more cyclic.
+As taxas de queda aumentaram drasticamente para os sortudos. As enchentes do pântano eterno são agora mais cíclicas.
+
+Dry season at Tulimshar causes crops problems!
+A estação seca em Tulimshar causa problemas nas plantações!
+
+Due this bug, when you logged off on the BotCheck Area, @@. We wanted to deliver you a token of apology!
+Devido a este bug, quando você efetuou logout na Ãrea de BotCheck, @@. Queríamos entregar-lhe um sinal de desculpas!
+
+Due town state, you cannot visit it. Do you want to cross to the other side?
+Devido estado da cidade, você não pode visitá-lo. Você quer atravessar para o outro lado?
+
+During a very small amount of time, you'll counter any attack with double critical, and won't take the damage.
+Durante um período de tempo muito pequeno, você contra-atacará com um duplo crítico e não sofrerá o dano.
+
+ENEEEEEEEEERGY BALLLLLLL!
+ENEEEEEEEEERGY BALLLLLLL!
+
+ERROR, Please report: GHQ GMID: Invalid ID: @@
+ERRO, Por favor, informe: GHQ GMID: Invalid ID: @@
+
+ERROR, Please report: GHQ GQID: Invalid ID: @@
+ERRO, Por favor, informe: GHQ GQID: ID inválido: @@
+
+ERROR, missing sprite: Snowland.Well
+ERRO, sprite perdido: Snowland.Well
+
+ERROR: Target Account already with merge data.
+ERRO: Alvo Conta já com os dados de impressão em série.
+
+ERROR: Target Account is online.
+ERRO: conta de destino está online.
+
+ERROR: Unimplemented Function
+ERRO: Função Unimplemented
+
+Easter eggs have been found, like secret rooms.
+Ovos de Páscoa foram encontrados, como salas secretas.
+
+Easter will soon start!
+A Páscoa começará em breve!
+
+Empty Box#it
+Caixa Vazia#it
+
+Enable Christmas
+Ative o Natal
+
+Enable Demure's Birthday
+Ativar o aniversário de Demure
+
+Enable Easter
+Ativar Páscoa
+
+Enable Event Horizon
+Ativar Event Horizon
+
+Enable Refeer Program
+Ativar programa de referência
+
+Enable St. Patrick Day
+Ativar o St. Patrick Day
+
+Enable Thanksgiving
+Ativar Ação de graças
+
+Enable Valentine Day
+Ativar o Dia dos Namorados
+
+Enable Worker's Day
+Ativar o dia do trabalhador
+
+Enter desired skill level:
+Digite o nível de habilidade desejado:
+
+Enzo, the Forgetful
+Enzo, o Forgetful
+
+Error, error, L_T2_S0 General Error, REPORT ME
+Erro, erro, erro geral L_T2_S0, REPORT ME
+
+Error, marine_maxre invalid @@
+Erro, marine_maxre invalid @@@
+
+Esperia
+Esperia
+
+Esperia is the human capital founded at the other continent.
+Esperia é a capital humana fundada no outro continente.
+
+Estard finished arranging sufficient paperwork so adventurers can create their own guilds.
+Estard terminou de arrumar papel suficiente para que os aventureiros possam criar suas próprias guildas.
+
+Even Tulimshar's Council managed to get that sewer unlocked, and as consequence, players can ascend to level 60!
+Até o Conselho de Tulimshar conseguiu desbloquear o esgoto e, como conseqüência, os jogadores podem subir ao nível 60!
+
+Event Duration: November 3rd ~ November 9th 2018
+Duração do evento: 3 de novembro a 9 de novembro de 2018
+
+Event stage:
+Estágio do evento:
+
+Every seven successive right guesses, you'll get 2x @@!
+A cada sete tentativas sucessivas, você receberá 2x @@!
+
+Experience Rate management
+Gerenciamento de taxa de experiência
+
+Failed to validate pin. Aborting.
+Falha ao validar o PIN. Abortando.
+
+Failsafe Mechanism
+Mecanismo à prova de falhas
+
+Falkon Punch
+soco de Falcão
+
+Falkon Punch - Bash your weapon against your enemies with raised damage and accuracy.
+Falcon Punch - Bash sua arma contra seus inimigos com dano e precisão elevada.
+
+Falkon Punch!
+Soco de Falcão!
+
+Fallen Guard
+Guarda Caído
+
+Fear not! You can check our [@@https://gitlab.com/TMW2/Docs/wikis/home|Wiki@@] to find that and other awesome stuff!
+Não tenha medo! Você pode conferir nossa [@@https://gitlab.com/TMW2/Docs/wikis/home|Wiki@@] para encontrar essa e outras coisas incríveis!
+
+Fighting stronger monsters will yield more EXP, but to make botting less profitable, too weak monsters give less EXP.
+Lutar contra monstros mais fortes renderá mais EXP, mas para tornar as bots menos lucrativas, os monstros muito fracos dão menos EXP.
+
+Figures clad in dark were reported in Tulimshar Mines, as more miners were hired and need help.
+Figuras vestidas de preto foram relatadas em Tulimshar Mines, já que mais mineiros foram contratados e precisam de ajuda.
+
+Fine.
+Certo.
+
+Fire Walk
+Caminhada de fogo
+
+Fire Walk - Creates a trail of fire, harming any pursuer
+Caminhada de fogo - Cria um rastro de fogo, prejudicando qualquer perseguidor
+
+Fireball - Basic AoE (Area Of Effect) Skill
+Fireball - AoE Básico (Ãrea de Efeito) Habilidade
+
+First of, you didn't logged in. Without you online, WE CANNOT UNJAIL YOU! We tried with SQL but it didn't budge.
+Primeiro, você não logou. Sem você on-line, NÓS NÃO PODEMOS UNJAIL VOCÊ! Nós tentamos com SQL, mas não se mexeu.
+
+Fishing now gives experience, and two new baits were added: Cheese and Alface.
+A pesca agora dá experiência e duas novas iscas foram adicionadas: Cheese e Alface.
+
+Fluffy Fur
+Pêlo de tufo.
+
+For (another) one @@, I'll need 4 @@ and 50 GP.
+Para (outro) um @@, precisarei de 4 @ @ e 50 GP.
+
+For now, I'll assume your salt is... 9, why not.
+Por enquanto, vou assumir que seu sal é ... 9, por que não?
+
+For the fishing rod, try looking for a fisher around here. Tricky one, this quest.
+Para a vara de pescar, tente procurar um pescador por aqui. Tricky one, esta quest.
+
+For you, it will be only 200 GP for potion! But I need the base ingredients, five @@ - or @@, depends on which one.
+Para você, será apenas 200 GP por poção! Mas eu preciso dos ingredientes básicos, cinco @@ - ou @@, depende de qual deles.
+
+For you, it will be only 250 GP for potion! But I need the base ingredients, four @@ - or @@, depends on which one.
+Para você, será apenas 250 GP por poção! Mas eu preciso dos ingredientes básicos, quatro @@ - ou @@, depende de qual deles.
+
+Forest Card
+Cartão Florestal
+
+Free Casting
+Fundição livre
+
+Frost Diver - Attempt to freeze an enemy, dealing damage
+Geada Diver - Tentativa de congelar um inimigo, causando dano
+
+Frost Nova - Freeze everything in a range
+Frost Nova - Congelar tudo em um intervalo
+
+Frostia - 30,000 GP
+Frostia - 30.000 GP
+
+GATLING
+GATLING
+
+GMs weren't using it a lot, and Quirin needed to collect money.
+GMs não estavam usando muito, e Quirin precisava coletar dinheiro.
+
+Gained @@ XP
+Ganhou @@ XP
+
+Gatling Shooter
+Gatling Shooter
+
+General Recipes
+Receitas Gerais
+
+Get money
+Ganhar dinheiro
+
+Getting in a class is easy, difficult is mastering it. But the more you advance, more powerful skills are unlocked.
+Entrar em uma classe é fácil, o difícil é dominá-la. Mas quanto mais você avança, mais habilidades poderosas são desbloqueadas.
+
+Gimme a sec to take a breath! I don't want to jump!
+Me dê um segundo para respirar! Eu não quero para saltar!
+
+Give me back what you've stole, thief!
+Me devolva o que você roubou, ladrão!
+
+Give the Antenna to her?
+Dar a antena para ela?
+
+Go away.
+Vá embora.
+
+Go very close to it and, speak the four four-letters magic words and he'll appear to you.
+Vá muito perto e fale as quatro palavras mágicas de quatro letras e ele aparecerá para você.
+
+Golden Scoprion
+Escorpião Dourado
+
+Golden Warlord Plare
+Placa do Senhor da Guerra Dourada
+
+GonzoDark, Saulc.
+GonzoDark, Saulc.
+
+Good job! Here is your reward! (40 xp 25 gp)
+Bom trabalho! Aqui está sua recompensa! (40 xp 25 gp)
+
+Good job! Here is your reward! (50 xp 50 gp)
+Bom trabalho! Aqui está sua recompensa! (50 xp 50 gp)
+
+Good job, here is 100,000 GP!
+Bom trabalho, aqui está 100.000 GP!
+
+Good job, here is 150,000 GP and 60 @@!
+Bom trabalho, aqui é 150.000 GP e 60 @@!
+
+Good job, here is 175,000 GP and 60 @@!
+Bom trabalho, aqui é 175.000 GP e 60 @@!
+
+Good job, here is 25,000 GP and 15,000 EXP.
+Bom trabalho, aqui é 25.000 GP e 15.000 EXP.
+
+Good job, here is 25,000 GP and 15,750 EXP.
+Bom trabalho, aqui é 25.000 GP e 15.750 EXP.
+
+Good job, here is 250,000 GP!
+Bom trabalho, aqui é 250.000 GP!
+
+Good job, here is 275,000 GP and 60 @@!
+Bom trabalho, aqui são 275.000 GP e 60 @@!
+
+Good job, here is 300,000 GP and 80 @@!
+Bom trabalho, aqui é 300.000 GP e 80 @@!
+
+Good job, here is @@ GP and @@ @@!
+Bom trabalho, aqui está @@ GP e @@ @@!
+
+Good luck adventurers, and may the Pink Mouboo watch over this disaster... Whatever that means. They paid us to say that, I swear!
+Boa sorte, aventureiros, e que o Pink Mouboo cuide desse desastre ... O que quer que isso signifique. Eles nos pagaram para dizer isso, eu juro!
+
+Good to hear from you!
+Bom ouvir de você!
+
+Good, good. The skill you got earlier just raised a single level. I'll also impair some experience on you, no biggies.
+Bom, Bom. A habilidade que você obteve anteriormente apenas aumentou um nível. Eu também vou colocar alguma experiência em você, nada demais.
+
+Great job! You can keep these items, they will be crucial to your journey.
+Bom trabalho! Você pode manter esses itens, eles serão cruciais para a sua jornada.
+
+Great rewards await, according to the voices!
+Grandes recompensas aguardam, de acordo com as vozes!
+
+Great! Eomie, the girl on Tulimshar's magic academy, is an alchemist. She makes fertilizers.
+Ótimo! Eomie, a garota na academia de magia de Tulimshar, é uma alquimista. Ela faz fertilizantes.
+
+Great, I need 11 @@. Remember a good food makes a good crew.
+Ótimo, preciso de 11 @@. Lembre-se de que uma boa comida faz uma boa tripulação.
+
+Greater agility allows you to attack faster and has a greater chance of evading attacks.
+Maior agilidade permite que você ataque mais rápido e tenha uma chance maior de evitar ataques.
+
+Green Cotton Dye
+Tinta verde para algodão
+
+Ground Strike - Hit the ground, exploding the surroundings and disabling enemies.
+Chão Strike - bateu no chão, explodindo os arredores e incapacitante inimigos.
+
+Grrr... Why are @@ on this cave?! What Mercury was doing?!
+Grrr ... Por que são @@ nesta caverna ?! O que Mercury estava fazendo ?!
+
+Guilds are now much more stronger, and have exclusive alchemy recipes besides a storage.
+As guildas são agora muito mais fortes e têm receitas exclusivas de alquimia além de um armazenamento.
+
+Guilds can go from 16 to 56 members, tulimshar was restocked.
+As guildas podem ir de 16 a 56 membros, o tulimshar foi reabastecido.
+
+Guilds storage is free for test, and monsters are fainting when too many players attack them at once.
+O armazenamento das guildas é gratuito para testes e os monstros desmaiam quando muitos jogadores os atacam de uma só vez.
+
+Halinarzo - 20,000 GP
+Halinarzo - 20.000 GP
+
+Halinarzo Guard
+Guarda Halinarzo
+
+Hard workers get an extra work level. This means a +1 VIT bonus is possible!
+Trabalhadores esforçados recebem um nível extra de trabalho. Isso significa que um bônus de +1 VIT é possível!
+
+Hasan is bothering less frequently his friends, as now he have his own seasonal quest.
+Hasan está incomodando com menos frequência seus amigos, pois agora ele tem sua própria missão sazonal.
+
+Have no idea where in the world you are? Or what a certain mob drops, or even if you should challenge it?
+Não tem idéia de onde você está no mundo? Ou o que um certo mob cai, ou mesmo se você deve desafiá-lo?
+
+Have you came here from Land Of Fire TMWA Server? Do you have the merge points with you?
+Você veio aqui do Servidor TMWA Land Of Fire? Você tem os pontos de fusão com você?
+
+Have you ever felt struck? Lost? Didn't know about a quest, or an item is troubling you?
+Você já se sentiu atingido? Perdido? Não sabia sobre uma missão, ou um item está incomodando você?
+
+Having magic power is useless by itself, so you must visit the Magic Council and sign up in one of two classes.
+Ter poder mágico é inútil por si só, então você deve visitar o Conselho Mágico e se inscrever em uma das duas classes.
+
+He is strong though, so keep your party togheter!
+Ele é forte, então mantenha sua festa juntos!
+
+He needs more food.
+Ele precisa de mais comida.
+
+He pours something on it, you're not sure what. He then utters some magic words.
+Ele derrama algo sobre isso, você não tem certeza do que. Ele então profere algumas palavras mágicas.
+
+Healing - The most basic healing skill, requires no items to use.
+Cura - A habilidade mais básica de cura, não necessita de itens para usar.
+
+Heals more mana while standing.
+Cura mais mana em pé.
+
+Heh, there is death penalty indoors and outside the town. You better watch out. The mobs are on a foul mood today, very easy to get killed.
+Há pena de morte dentro e fora da cidade. É melhor teres cuidado. As multidões estão de mau humor hoje, muito fáceis de serem mortas.
+
+Heh... He gave me a ball, but...
+Heh ... Ele me deu uma bola, mas ...
+
+Hehe... Ok, I'm going to inform the capt'n up there that the boy is fine.#1
+Hehe ... Ok, eu vou informar o capitão lá que o menino está bem.
+
+Hehe... Ok, I'm going to inform the capt'n up there that the girl is fine.#0
+Hehe ... Ok, eu vou informar o capitão que a garota está bem.
+
+Hehehe, he is a bit nervous, please forgive him, it is not everyday we find someone on the sea!
+Hehehe, ele está um pouco nervoso, por favor, perdoe-o, não é todo dia que encontramos alguém no mar!
+
+Hehehe, he is a bit nervous, please forgive him, it is not everyday we have a new member in the crew!
+Hehehe, ele está um pouco nervoso, mas por favor perdoe ele. Não é todo dia que temos um novo membro na tripulação!
+
+Hello there, @@, fear from the wealthy.
+Olá, @@, terror dos ricos.
+
+Hello there, @@, protector of law and order.
+Olá, @@, protetor de lei e ordem.
+
+Hello, @@! We just looked up and found out that you were affected by BotCheck Logout rules!
+Olá, @@! Nós apenas olhamos para cima e descobrimos que você foi afetado pelas regras de Logout do BotCheck!
+
+Hello, and welcome to Tulimshar guard house.
+Olá, bem-vindo à casa de guarda de Tulimshar.
+
+Herbal Tea
+Chá de ervas
+
+Here they are.
+Aqui estão eles.
+
+Here, learn this awesome skill. It is on the skills tab. You can drag it to the shortcut list. Use it to protect people!
+Aqui, aprenda essa habilidade incrível. Está na guia de habilidades. Você pode arrastá-lo para a lista de atalhos. Use-o para proteger as pessoas!
+
+Here, take this @@ - you deserve it! And here is 5.000 GP and 8.400 XP.
+Aqui, leve este @@ - você merece! E aqui está 5.000 GP e 8.400 XP.
+
+Hey @@! You haven't clicked on me yet!
+Ei @@! Você ainda não clicou em mim!
+
+Hey do not take me as a child.
+Ei, não me aceite quando criança.
+
+Hey hey! You don't have that stuff, CAN'T YOU READ?!
+Ei ei! Você não tem essas coisas, NÃO PODE LER ?!
+
+Hey there! Do you want to join the Berserk (Ragger) Class?
+Olá! Você quer se juntar à Classe Berserk (Ragger)?
+
+Hey there! Do you want to join the Paladin Class?
+Olá! Você quer se juntar à Classe Paladino?
+
+Hey there! Do you want to join the Priest Class?
+Olá! Você quer se juntar à classe de sacerdote?
+
+Hey there! Do you want to join the Sage Class?
+Olá! Você quer se juntar à Classe Sage?
+
+Hey there! Do you want to join the Tanker Class?
+Olá! Você quer se juntar à classe Tanker?
+
+Hey there! Do you want to join the Wizard Class?
+Olá! Você quer se juntar à classe Wizard?
+
+Hey there! Do you want to learn new skills for a very small teaching fee?
+Olá! Você quer aprender novas habilidades por uma pequena taxa de ensino?
+
+Hey you! Can you hear us? Are you okay?
+Ei você! Você pode nos ouvir? Você está bem?
+
+Hey, if you take a bow, buy a Quiver with Nicholas, on Hurnscald's blacksmith. Come back always!
+Ei, se você fizer uma reverência, compre um Quiver com Nicholas, no ferreiro de Hurnscald. Volte sempre!
+
+Hey, you on the stranded island! Can you hear us?!
+Ei, você na ilha encalhada! Você pode nos ouvir?!
+
+Hey,did you brought me everything I asked for?
+Ei, você me trouxe tudo o que eu pedi?
+
+Hey.
+Hey.
+
+High Healing
+alta Cura
+
+High Healing - Use a Lifestone for supreme healing.
+Alta Cura - Use um Lifestone para a cura suprema.
+
+Hinnak and I signed this letter. Deliver it to Airlia on the Town Hall, and she'll reward you correctly.
+Hinnak e eu assinamos esta carta. Entregue para Airlia na prefeitura, e ela te recompensará corretamente.
+
+His wandering mirror even challenge players randomly, but rarely grants more than a minute for them.
+Seu espelho errante até desafia os jogadores aleatoriamente, mas raramente concede mais de um minuto para eles.
+
+Hmm, that's some progress. Nobody goes to the beach because these slimes, but it looks like this might change sometime soon.
+Hmm, isso é algum progresso. Ninguém vai à praia porque estes slimes, mas parece que isso pode mudar em breve.
+
+Holy Light - Standard Holy Magical Attack
+Holy Light - Standard Santo Ataque Mágico
+
+Honor System.
+Sistema de honra.
+
+How I see my items?
+Como vejo meus itens?
+
+How can you help me?
+Como você pode me ajudar?
+
+How difficult it is to obtain a class?
+Quão difícil é obter uma classe?
+
+How do I get so much money?!
+Como eu ganho tanto dinheiro ?!
+
+How do you know?
+Como você sabe?
+
+How hunt monsters?
+Como caço monstros?
+
+How many heads does Zaphod Beeblebrox have? Numbers only.
+Quantas cabeças tem Zaphod Beeblebrox? Apenas números.
+
+How many pints of beers should you drink before hitchhiking? Numbers only.
+Quantas doses de cervejas você deve beber antes de pegar carona? Apenas números.
+
+How talk with someone?
+Como converso com alguém?
+
+How trade with other players?
+Como faço trocas com outros jogadores?
+
+How was the summoning again...?!
+Como foi a convocação de novo ...?!
+
+However, I can restart the Heroes Hold, if you want. You'll get a reward, but will need to start from scratch. Should I do it?
+No entanto, posso reiniciar o Heroes Hold, se você quiser. Você receberá uma recompensa, mas precisará começar do zero. Eu deveria fazer isso?
+
+However, beware! That potion is short-lived, you'll be running against time. Get ready to travel a lot.
+No entanto, tenha cuidado! Essa poção é de curta duração, você estará correndo contra o tempo. Prepare-se para viajar muito.
+
+However, taxes there are the highest. Living cost is high, and you should avoid buying things there.
+No entanto, os impostos são os mais altos. O custo de vida é alto e você deve evitar comprar coisas lá.
+
+However, the Monster King laid siege to Hurnscald. His power increased greatly, and ships are not capable of even approaching the city.
+No entanto, o Rei Monstro sitiou Hurnscald. Seu poder aumentou muito, e navios não são capazes de se aproximar da cidade.
+
+However, they allowed everyone to use @@ command to rapidly reach Aeros during events.
+No entanto, eles permitiram que todos usassem o comando @@ para acessar rapidamente o Eros durante os eventos.
+
+HurnsShip
+Hurnship
+
+Hurnscald - 7,500 GP
+Hurnscald - 7.500 GP
+
+Hurnscald Nurse is collecting blood donations, and a veteran officer from Tulimshar City Guard is handing out Wooden Swords.
+Hurnscald Nurse está coletando doações de sangue, e um oficial veterano da Guarda da Cidade de Tulimshar está distribuindo espadas de madeira.
+
+Hurnscald is in need of help from all adventurers!
+Hurnscald precisa da ajuda de todos os aventureiros!
+
+Hurnscald under siege! No ships are capable to give aid!
+Hurnscald sob cerco! Nenhum navio é capaz de dar ajuda!
+
+Hurnscald was liberated by the players @@ ago.
+Hurnscald foi libertado pelos jogadores @@ ago.
+
+Hurry up! Bring my @@ from Barzil in Halinarzo!! You only have @@ left!
+Se apresse! Traga meu @@ do Brasil em Halinarzo !! Você só tem @@ esquerda!
+
+I advise you to do more quests on Tulimshar and Candor, otherwise, you might fail right at the end.
+Eu aconselho você a fazer mais missões em Tulimshar e Candor, caso contrário, você pode falhar no final.
+
+I am Malivox, an alchemist specialized in reset potions.
+Eu sou Malivox, um alquimista especializado em redefinir poções.
+
+I am making a figurin with Bug legs for the upcoming festival.
+Eu estou fazendo uma estatueta com grandes pernas para o próximo festival.
+
+I am making a figurin with Bug legs.
+Eu estou fazendo uma estatueta com pernas de inseto.
+
+I am not worried about rewards. I just want to help.
+Eu não estou preocupado com recompensas. Eu só quero ajudar.
+
+I am sorry but i can see that you don't have all that I asked you.
+Me desculpe, mas eu posso ver que você não tem tudo o que eu pedi a você.
+
+I am sure that you will change your mind.
+Tenho certeza de que você mudará de ideia.
+
+I am the @@ master.
+Eu sou o mestre da classe dos @@.
+
+I can do this alone!
+Eu posso fazer isso sozinho!
+
+I can even share with you @@ @@, whaddaya say?
+Eu posso até compartilhar com você @@ @@, o que você diria?
+
+I can make a @@ for just one @@ and 200 GP for my work.
+Eu posso fazer um @@ para apenas um @@ e 200 GP para o meu trabalho.
+
+I can make a nice, simple potion for you. Once you drink it, the raw mana will settle on your body.
+Eu posso fazer uma boa e simples poção para você. Uma vez que você beber, a mana crua se instalará em seu corpo.
+
+I can make a nice, simple potion for you. That will help the raw mana to settle on your body.
+Eu posso fazer uma boa e simples poção para você. Isso ajudará o mana cru a se acomodar em seu corpo.
+
+I can rent it to you for 500 GP, during 15 minutes. Deal?
+Posso alugá-lo por 500 GP, durante 15 minutos. Combinado?
+
+I can't believe.
+Eu não posso acreditar.
+
+I can't go there now.
+Eu não posso ir lá agora.
+
+I can't remember anything.#0
+Não consigo me lembrar de nada.
+
+I can't remember anything.#1
+Não consigo me lembrar de nada.
+
+I can, however, prepare you a potion. But beware, that potion will only last 35 minutes once baked.
+Posso, no entanto, preparar uma poção para você. Mas cuidado, essa poção durará apenas 35 minutos depois de cozida.
+
+I charge a service fee of 2000 GP, and two gemstones.
+Eu cobro uma taxa de serviço de 2000 GP, e duas pedras preciosas.
+
+I charge a service fee of 400 GP, and two gemstones.
+Eu cobro uma taxa de serviço de 400 GP e duas pedras preciosas.
+
+I don't know if jesusalva allow me to teach you a basic chaman skill!? .
+Eu não sei se jesusalva me permite ensinar-lhe uma habilidade básica de chaman !? .
+
+I don't know why they would repeat a past mistake. The Monster King is not human anymore. I also do not know what artifact they lost. We have more questions than certanity about this.
+Não sei por que eles iriam repetir um erro do passado. O Rei Monstro não é mais humano. Eu também não sei qual artefato eles perderam. Temos mais dúvidas do que certeza sobre isso.
+
+I don't need a rescue. I'm enjoying myself here.
+Eu não preciso de um resgate. Estou me divertindo aqui.
+
+I don't need your help right now, come back later.
+Eu não preciso da sua ajuda agora, volte mais tarde.
+
+I don't think you can be part of more than one class, but you can accumulate subclasses. These will only unlock at tier 2, though.
+Eu não acho que você possa fazer parte de mais de uma classe, mas você pode acumular subclasses. No entanto, eles só serão desbloqueados no tier 2.
+
+I found your birth record, but it is not complete. Here says you were born on Halinarzo.
+Eu encontrei seu registro de nascimento, mas não está completo. Aqui diz que você nasceu em Halinarzo.
+
+I hate sea water, it always make knifes rusty. I already have a stockpile of rusty knifes on the other room.
+Eu odeio a água do mar, sempre faz facas enferrujadas. Eu já tenho um estoque de facas enferrujadas na outra sala.
+
+I hope our new campus get built soon. It'll be much better than here.
+Espero que o nosso novo campus são construídas em breve. Vai ser muito melhor do que aqui.
+
+I hope you got a Jean Shorts, but that depends on luck. Anyway, here is your reward. (1000 xp 350 gp)
+Espero que você tenha um Jean Shorts, mas isso depende da sorte. De qualquer forma, aqui está sua recompensa. (1000 xp 350 po)
+
+I know that you are just starting to feel better, but I'd like you to explore the island we're currently at.
+Eu sei que você está começando a se sentir melhor, mas gostaria que você explorasse a ilha em que atualmente estamos.
+
+I made a figurin with Bug legs.
+Eu fiz uma estatueta com pernas grandes.
+
+I mean, that's absurd! If there was one, it would have been taken already. Unless if grew some sencience or something.
+Quero dizer, isso é absurdo! Se houvesse uma, já teria sido tirada. A menos que se desenvolva algum sencience ou algo assim.
+
+I mine here since a while. My favorite activity it's to scare others miners!
+Eu mino aqui há um tempo. Minha atividade favorita é assustar os outros mineiros!
+
+I need at minimum @@ Monster Points to get items at current level.
+Preciso de no mínimo @@ Monster Points para obter itens no nível atual.
+
+I need my master's @@, fast!
+Eu preciso do meu mestre @@, rápido!
+
+I need somebody who can rid the hold of the ship of these rattos. Can you help me?
+Eu preciso de alguém que possa livrar o controle do navio desses rattos. Pode me ajudar?
+
+I need to think about this.
+Eu preciso pensar sobre isso.
+
+I need you to bring me some basic item to face Winter! Fire is most important for us.
+Eu preciso de você para me trazer algum item básico para enfrentar o inverno! O fogo é mais importante para nós.
+
+I never said that. I come here frequently to trade. It is you who should explore the island.
+Eu nunca disse isso. Eu venho aqui frequentemente para negociar. É você quem deveria explorar a ilha.
+
+I only remember I was rescued by you.#0
+Eu apenas me lembro que fui resgatada por você.
+
+I only remember I was rescued by you.#1
+Eu apenas me lembro que fui resgatado por você.
+
+I promise I'll never steal from you again. Here, take this shorts.
+Eu prometo que nunca mais vou roubar de você. Aqui, pegue esse shorts.
+
+I recommend that you train your dexterity a great deal, since most monsters out there are hard to hit without it.
+Eu recomendo que você treine sua destreza muito, já que a maioria dos monstros lá fora são difíceis de acertar sem ela.
+
+I remember when I created my first party, we were amazed to share some experience with a small group of adventurer...
+Eu me lembro quando eu criei meu primeiro grupo, nós ficamos felizes em compartilhar algumas experiências com um pequeno grupo de aventureiros ...
+
+I represent the @@ Hunters. We hunt @@.
+Eu represento os @@ Hunters. Nós caçamos @@.
+
+I see it's not so easy to get rid of these rattos. Do you want to try again?
+Eu vejo que não é tão fácil se livrar desses rattos. Você quer tentar novamente?
+
+I see you are a mage too. Have you joined a class already? Luca and Colin are always recruiting on Tulimshar Magic Council.
+Eu vejo que você é um mago também. Você já entrou em uma classe? Luca e Colin estão sempre recrutando no Conselho Mágico de Tulimshar.
+
+I suggest you leave now, %s. If you are even suspected of being a S.A.R.A.H. agent . . .
+Eu sugiro que você sair agora,% s. Se você está mesmo suspeito de ser um S.A.R.A.H. agente. . .
+
+I think I'm done with that now. Do you have any questions?
+Eu acho que terminei por hora. Você tem alguma pergunta?
+
+I think you should look for the Lieutenant if you want the Guard Card.
+Acho que você deveria procurar o tenente se quiser o cartão de guarda.
+
+I think, for just 24 @@, I could arrange a @@ for you.
+Eu acho que, por apenas 24 @@, eu poderia arranjar uma @@ para você.
+
+I think, for just 30 @@, I could arrange one for you. Eh... Just don't think that you have an amazing weapon, alright?
+Eu acho que, por apenas 30%, eu poderia arranjar uma para você. Eh ... Só não pense que você tem uma arma incrível, certo?
+
+I want a EASY task!
+Eu quero uma tarefa fácil!
+
+I want a EXPERT task!
+Eu quero uma tarefa EXPERT!
+
+I want a GATLING.
+Eu quero um gozar.
+
+I want a REVOLVER.
+Eu quero um REVOLVER.
+
+I want a RIFLE.
+Eu quero um rifle.
+
+I want a SHOTGUN.
+Eu quero uma espingarda.
+
+I want to forge Weapons!
+Eu quero forjar armas!
+
+I wanted other info.
+Eu gostaria de outra informação.
+
+I will empower you with raw mana, and your time will start running out again.
+Vou capacitá-lo com mana crua e seu tempo começará a se esgotar novamente.
+
+I will require 3000 GP, 1 @@, 1 @@ and 1 @@, for a small handful of it.
+Vou precisar de 3000 GP, 1 @@, 1 @@ e 1 @@, por um pequeno punhado deles.
+
+I will yaying do.
+Eu vou fazer.
+
+I would like to open Guild Storage.
+Eu gostaria de abrir o Armazenamento da Guilda.
+
+I would like to remove an item options
+Eu gostaria de remover uma opção de item
+
+I'll also give you a @@. Open it to get a random Mercenary Card.
+Eu também vou te dar um @@. Abra-o para obter um Cartão Mercenário aleatório.
+
+I'll ask you to kill 2 @@. This will prove your worth. They are northwest of the island.
+Vou pedir para você matar 2 @@. Isso vai provar o seu valor. Eles estão a noroeste da ilha.
+
+I'll be back with those items..
+Eu voltarei com esses itens ..
+
+I'll charge you the irrelevant amount of 100 GP. Come on, it's a pinch!
+Vou te cobrar a quantia irrelevante de 100 GP. Vamos lá, é uma pitada!
+
+I'll give her everything she needs, don't worry.#0
+Eu darei a ela tudo que ela precisar, não se preocupe.
+
+I'll give him everything he needs, don't worry.#1
+Eu darei a ele tudo que ele precisar, não se preocupe.
+
+I'm GM and got the money. START THIS CRAP ALREADY!
+Eu sou GM e tenho o dinheiro. COMECE ESTE CRAP JÃ!
+
+I'm Woody Wife, I live here with Woody since a lot of years! We decided to leave away from civilization, hunter and shaman life is way better.
+Sou Woody Wife, moro aqui com Woody há muitos anos! Decidimos deixar a civilização, a vida de caçador e xamã é muito melhor.
+
+I'm glad to see you're okay.#0
+Estou feliz de ver que você está bem.
+
+I'm glad to see you're okay.#1
+Estou feliz de ver que você está bem.
+
+I'm interested.
+Estou interessado.
+
+I'm not interested, sorry.
+Eu não estou interessado, desculpe.
+
+I'm not sure exactly what we are trying to do, but you seem to need to resolve this puzzle.
+Não sei exatamente o que estamos tentando fazer, mas parece que você precisa resolver esse quebra-cabeça.
+
+I'm sure that you've got some questions for me, feel free to ask them, but first I need to tell you the rules of proper social conduct on board.
+Tenho certeza de que você tem algumas perguntas para mim, não hesite em perguntar, mas primeiro preciso lhe contar as regras de conduta social apropriada a bordo.
+
+I'm surprised, though. It is a very good defensive item, and players can buy it for pretty high sums of money.
+Estou surpresa, no entanto. É um item defensivo muito bom, e os jogadores podem comprá-lo por quantias bastante altas de dinheiro.
+
+I'm worried with them. Anyway, you need a special scroll to get to the Heroes Cave...
+Estou preocupado com eles. De qualquer forma, você precisa de um pergaminho especial para chegar à Caverna dos Heróis ...
+
+I've brought a Jean Shorts for you.
+Eu trouxe um Jean Shorts para você.
+
+ID: @@
+IDENTIDADE: @@
+
+ILLEGAL SCRIPT LOGIC REACHED, PLEASE REPORT. (GHQ_GROC)
+LÓGICA DE SCRIPT ILEGAL ATINGIDA, POR FAVOR, REPORTAR. (GHQ_GROC)
+
+ILLEGAL SCRIPT POSITION REACHED, PLEASE REPORT.
+POSIÇÃO DE SCRIPT ILEGAL ATINGIDA, POR FAVOR, REPORTAR.
+
+Iced Bottle
+Garrafa Gelada
+
+If I fail, I'll refund you in gold. Do you want me to try it?
+Se eu falhar, vou reembolsar você em ouro. Você quer que eu tente?
+
+If it expires, you'll need to do another. To bake it I need 1 @@, 10 @@ and a @@. Have Mauve and Money, lots of it.
+Se expirar, você precisará fazer outra. Para assar eu preciso de 1 @@, 10 @@ e um @@. Tem malva e dinheiro, muito disso.
+
+If the Monster King attack, I will try to control inbound monsters here.
+Se o Monster King atacar, tentarei controlar monstros de entrada aqui.
+
+If you bring friends, I'm sure they'll be no match. I'll pay you handsomely if you bring me one, too!
+Se você trouxer amigos, tenho certeza de que eles não serão páreos. Eu vou te pagar generosamente se você me trouxer um também!
+
+If you bring me a @@ and 1,000 GP I can make one for you!
+Se você me trouxer um @@ e um mil GP eu posso fazer um para você!
+
+If you don't have a @@, you can only track progress on Mana Magic using @@, and you won't really gain any mana experience for a while.
+Se você não tem um @@, você só pode acompanhar o progresso em Mana Magic usando @@, e você não vai ganhar nenhuma experiência de mana por um tempo.
+
+If you follow %s's quest, you will eventually reach the requeriments for here.
+Se você seguir busca% das s, você acabará por atingir os requisitos para aqui.
+
+If you go to Lieutenant Dausen, he'll say that you used Gimp. Just give up.
+Se você for ao tenente Dausen, ele dirá que você usou o Gimp. Apenas desista.
+
+If you have any trouble or doubt, don't hesit to call us. There are some cooperative quests, and more of them are being added.
+Se você tiver algum problema ou dúvida, não hesite em nos ligar. Existem algumas missões cooperativas, e mais delas estão sendo adicionadas.
+
+If you head west, you'll eventually reach Jesus Saves' Castle.
+Se você for para o oeste, você eventualmente alcançará o Castelo de Jesus Salva.
+
+If you notice your pet is missing, this means nobody cleared them yet.
+Se você perceber que seu animal está faltando, isso significa que ninguém o limpou ainda.
+
+If you simply wish to get 99 in all stats:
+Se você simplesmente deseja obter 99 em todas as estatísticas:
+
+If you want to read this page again, there is a copy up on the left wall.
+Se você quiser ler esta página novamente, há uma cópia na parede esquerda.
+
+If you wish to reset your stats:
+Se você deseja redefinir suas estatísticas:
+
+Improve Arrow Shield
+Melhore o escudo da seta
+
+Improve Bash Skill
+Melhore a habilidade de bash
+
+Improve Blessed Weapon
+Melhorar a Arma Abençoada
+
+Improve Cold Bolt
+Melhorar o parafuso frio
+
+Improve Counter Defense
+Melhore a contra-defesa
+
+Improve Earth Spike
+Melhore o pico da terra
+
+Improve Earth Weapon
+Melhore a Arma da Terra
+
+Improve Endure Skill
+Melhorar a habilidade de suportar
+
+Improve Fire Ball
+Melhore a bola de fogo
+
+Improve Fire Bolt
+Melhorar o parafuso de fogo
+
+Improve Fire Weapon
+Melhorar Arma de Fogo
+
+Improve Guard
+Melhorar Guarda
+
+Improve Ice Weapon
+Melhorar Arma de Gelo
+
+Improve Increase Agility
+Melhorar Aumentar a Agilidade
+
+Improve Luma
+Melhore Luma
+
+Improve Mana Recovery
+Melhore a Recuperação de Mana
+
+Improve Mana Wisdom
+Melhore a Sabedoria de Mana
+
+Improve Napalm Beat
+Melhorar o Napalm Beat
+
+Improve Party Area Defense
+Melhore a defesa em área do grupo
+
+Improve Standing HP Regen
+Melhore a Regeneração HP em Pé
+
+Improve Thunder Bolt
+Melhore o Thunderbolt
+
+Improve Two Hands Quicken
+Melhore Duas Mãos Quicken
+
+Improve Wind Weapon
+Melhorar a Arma do Vento
+
+In case of false positive, @@ was murdered.
+Em caso de falso positivo, @@ foi assassinado.
+
+In other words, whoever they are, they're after the sages. They are not targetting just simple magical users. This might be a problem.
+Em outras palavras, quem quer que seja, eles estão atrás dos sábios. Eles não estão direcionando apenas usuários mágicos. Isso pode ser um problema.
+
+In the storehouse, kill 4 @@. They keep respawning and are annoying.
+No armazém, mate 4 @@. Eles continuam respawning e são irritantes.
+
+In the storehouse, kill 5 @@. They keep respawning and are annoying.
+No armazém, mate 5 @@. Eles continuam respawning e são irritantes.
+
+In times of famine, magic came to save us.
+Em tempos de fome, a magia veio para nos salvar.
+
+Increase mana experience gain, when using mana skills.
+Aumente o ganho de experiência de mana ao usar habilidades de mana.
+
+Initiate huge siege (lv. 40)
+Iniciar um cerco enorme (lv 40)
+
+Initiate medium siege (lv. 30)
+Iniciar cerco médio (lv 30)
+
+Initiate small siege (lv. 20)
+Iniciar pequeno cerco (lv 20)
+
+Insert a key and pull the switch?
+Inserir uma chave e puxe o interruptor?
+
+Intelligence is very useful for alchemy and magic, but nowadays there are few opportunities to use it.
+A inteligência é muito útil para alquimia e magia, mas hoje em dia existem poucas oportunidades de usá-la.
+
+Iron Four-Leaf Amulet
+Amuleto de Quatro Folhas de Ferro
+
+Is that... Wait... Wow. You... Killed a murderer scorpion.
+Isso é ... Espere ... Uau. Você matou um escorpião assassino.
+
+Ishi also rewrote his rewards table. More items for lower prices!
+Ishi também reescreveu sua tabela de recompensas. Mais itens para preços mais baixos!
+
+It could be from a warship to a random civilian vessel. Well, this is not important now.
+Poderia ser de um navio de guerra para um navio civil aleatório. Bem, isso não é importante agora.
+
+It is a boring speech...
+É um discurso chato ...
+
+It is something not yet fully implemented.
+É algo ainda não totalmente implementado.
+
+It looks like you're missing some items or money. Please come back when you have what I need!
+Parece que você está perdendo alguns itens ou dinheiro. Por favor, volte quando tiver o que eu preciso!
+
+It may fail, and you might end up with something entirely unexpected!
+Pode falhar, e você pode acabar com algo totalmente inesperado!
+
+It offers better living conditions than Tulimshar, and is bigger and more prosperous. Few monsters live there.
+Oferece melhores condições de vida do que Tulimshar e é maior e mais próspero. Poucos monstros vivem lá.
+
+It seems like you're finally safe. You shut your eyes and fall asleep.
+Parece que finalmente está seguro. Você fecha os olhos e adormece.
+
+It seems that you need a key to open this door.
+Parece que você precisa de uma chave para abrir essa porta.
+
+It takes a lot of mana, and is not very powerful, but it is a must have for everyone.
+É preciso muito mana e não é muito poderoso, mas é obrigatório para todos.
+
+It was a boring speech, but you have learned ancient languages.
+Foi um discurso chato, mas você aprendeu línguas antigas.
+
+It was a recipe you already knew...
+Foi uma receita que você já sabia ...
+
+It will be a problem if you run around naked!#0
+Será um problema se você correr por aí pelada!
+
+It will be a problem if you run around naked!#1
+Será um problema se você correr por aí pelado!
+
+It would be good for you to do some exercise, the ship isn't big enough for that.
+Seria bom que você se exercitasse um pouco, o navio não é grande o bastante para isso.
+
+It's alright! Just one more box and it'll be ok.
+Está indo bem! Só mais uma caixa e ficará ok.
+
+It's called Mass Provoke. You'll basically try to convince monsters to attack you.
+Chama-se Mass Provoke. Você basicamente tentará convencer os monstros a atacar você.
+
+It's ok.
+Está tudo bem.
+
+Item 1166
+Item 1166
+
+Items.
+Unid.
+
+Jesus Saves
+Jesus Salva
+
+Jesusalva & Saulc, TMW2 Admins
+Jesusalva & Saulc, TMW2 Admins
+
+Johanne Key
+Johanne Key
+
+Julia
+Julia
+
+Juliet is on the upper level of the ship, use the arrow keys to walk to the stairs or click on the stairs at the top right of your screen.
+Juliet está no nível superior do navio, use as setas do teclado para caminhar até as escadas ou clique nas escadas no canto superior direito da tela.
+
+Just @@ ago, thiefs stole Pihro & Pyndragon weapons.
+Apenas @@ atrás, ladrões roubaram armas Pihro e Pyndragon.
+
+KILL EVERY MONSTER W/O COLLECTING test
+MATE CADA MONSTRO SEM COLECIONAR teste
+
+KILL SPECIFIED MONSTER test
+KILL ESPECIFICADO MONSTER test
+
+Keep the Grimorie with you. It's the proof you are now Tier 2. The book shall guide your advances!
+Mantenha o Grimoire com você. É a prova de que você é agora Nível 2. O livro guiará seus avanços!
+
+Khaki Cotton Dye
+Tinta cáqui para algodão
+
+Kills yourself, but revives everyone in a range. You'll take the death penalty.
+Mata-se, mas revive todos em um intervalo. Você vai tomar a pena de morte.
+
+Land Of Fire - 12,000 GP
+Terra do Fogo - 12.000 GP
+
+Land Of Fire surprises everyone! There are even pet tamers!
+Land Of Fire surpreende a todos! Existem ainda domadores de estimação!
+
+Last Resort
+Último recurso
+
+Last Standing Man - Passive - Raise Max HP and Holy Defense
+Last Man Standing - Passivo - Elevar Max HP e Santo Defesa
+
+Learn Action Casting
+Aprenda a Fundição de Ação
+
+Learn Detoxify
+Aprenda Detoxify
+
+Learn Dragon Slayer
+Aprenda Dragon Slayer
+
+Learn Energy Coating
+Aprenda o revestimento de energia
+
+Learn Holy Light
+Aprenda a luz sagrada
+
+Learn Last Standing Man
+Aprenda o último homem em pé
+
+Learn Redemption
+Aprenda Redenção
+
+Learn Ressurection
+Aprenda a ressurreição
+
+Leave Subclass
+Deixar subclasse
+
+LeftBarrierCheck
+LeftBarrierCheck
+
+LeftDoor
+LeftDoor
+
+Legendary Mouboo
+Mouboo lendário
+
+Legendary Tortuga
+Tortuga lendária
+
+Legendary Wand
+Varinha Lendária
+
+Legion's Copper Armor
+Armadura de cobre da legião
+
+Legion's Training Shirt
+Camisa de treinamento da legião.
+
+Less maggots means more food to the town. So, this time the monsters will be a little stronger.
+Menos vermes significa mais comida para a cidade. Então, desta vez os monstros serão um pouco mais fortes.
+
+Let's jump straight to action, shall we? I'll spawn a mighty @@ to fight you!
+Vamos pular direto para a ação, vamos? Eu vou gerar um poderoso @@ para lutar contra você!
+
+LieutenantDausenDebug
+LieutenantDausenDebug
+
+Lightining Bolt
+Relâmpago
+
+Lilica#final
+Lilica#final
+
+Lilit - 50,000 GP (not exchangeable)
+Lilit - 50.000 GP (não trocável)
+
+Lime Cotton Dye
+Tinta lima para algodão
+
+LoF Merge
+LoF Merge
+
+LoF Password:
+Senha LoF:
+
+LoF Transcendence Gate was moved to town centre. Tipius haven't been sighted as of late.
+LoF Transcendence Gate foi transferido para o centro da cidade. Tipius não foi avistado ultimamente.
+
+LoF Username:
+Nome de usuário do LoF:
+
+Lollipop
+Pirulito
+
+Look at your equipment, can you guess what material it is made from?
+Olhe para o seu equipamento, você consegue adivinhar de que material é feito?
+
+Lower difficulty of advanced stage (level 50+ players), by price rebalances.
+Menor dificuldade de estágio avançado (nível 50 + jogadores), por rebalanceamento de preço.
+
+Lower difficulty of starters stage (up to level 20 players), by experience redesign.
+Menor dificuldade do estágio de iniciantes (até jogadores de nível 20), por redesenho de experiência.
+
+Lower this skill
+Abaixe essa habilidade
+
+Lt. Paul unclaimed rewards REDEEMED.
+O tenente Paul não reclamados prêmios resgatados.
+
+Lua FINALLY noticed that traveling to Halinarzo at level 20 is akin suicide.
+Lua FINALMENTE notou que viajar para Halinarzo no nível 20 é um suicídio similar.
+
+Lucky for you, the Alliance have means to assist you. Please show me the following:
+Para sua sorte, a Aliança tem meios para ajudá-lo. Por favor, mostre-me o seguinte:
+
+Lufix
+Lufix
+
+MOVE AND DROP ITEM test
+MOVE E DROP ITEM test
+
+MOVE RANDOMLY test
+MOVE RANDOMLY test
+
+MOVE, DROP, MOVE, EMOTE, MOVE test
+MOVER, DESCARREGAR, MOVER, EMOTE, MOVER teste
+
+Magic Strike - Standard Magical Attack
+Greve Magic - Ataque Mágico Padrão
+
+Magic Warriors
+Guerreiros mágicos
+
+Magic is dead!
+Magia está morta!
+
+Magic skills allows for a more advanced gameplay, but they are meant for level 30 onwards.
+habilidades mágicas permite uma jogabilidade mais avançado, mas eles são voltados para o nível 30 em diante.
+
+Mainly fixes and the Monster King is now randomly laying siege to towns!
+Principalmente correções e o Rei Monstro agora está sitiando aleatoriamente cidades!
+
+Major rebalance, lowering difficulty on sub-level-30 stage. Tulimshar is a whole new place.
+Grande rebalanceamento, diminuindo a dificuldade no nível sub-nível-30. Tulimshar é um lugar totalmente novo.
+
+Make Potion - @sk-mkpot
+Fazer poção - @ sk-mkpot
+
+Mana Wisdom - Passive - Raise Mana EXP Gain rate
+Sabedoria Mana - Passivo - Elevar taxa de Mana EXP Gain
+
+Managed to drop anything? It requires more luck than skill. Here is your reward.
+Conseguiu largar alguma coisa? Isso requer mais sorte do que habilidade. Aqui está sua recompensa.
+
+Managed to drop anything? It requires more luck than skill. Here is your reward. (40 xp 25 gp)
+Conseguiu largar alguma coisa? Isso requer mais sorte do que habilidade. Aqui está sua recompensa. (40 xp 25 po)
+
+Many citzens are still in fear. Paths are closed, economy is a disaster, things are not here.
+Muitos cidadãos ainda estão com medo. Os caminhos estão fechados, a economia é um desastre, as coisas não estão aqui.
+
+Many other things were changed, and it is too much to say here. Even people with stronger magic were seen.
+Muitas outras coisas foram mudadas, e é demais dizer aqui. Até pessoas com magia mais forte foram vistas.
+
+Many rejoiced. The damage was very big, and all players help is required, to make Hurnscald prosper again.
+Muitos se alegraram. O dano foi muito grande, e todos os jogadores precisam de ajuda, para fazer Hurnscald prosperar novamente.
+
+Mass Provoke
+Mass Provoke
+
+Mass Provoke - Provoke all monsters under your cursor
+Mass Provoke - Provocar todos os monstros sob seu cursor
+
+Mauve Cotton Dye
+Tinta de algodão malva
+
+Maybe Hurnscald alchemist, Wyara, could explain why.
+Talvez Hurnscald alquimista, Wyara, poderia explicar por que.
+
+Maybe someone in Hurnscald can help me?
+Talvez alguém em Hurnscald pode me ajudar?
+
+Maybe there are things in Candor which still require your attention? I overheard some of them.
+Talvez existam coisas em Candor que ainda requerem sua atenção? Eu ouvi algumas.
+
+Maybe you can help our city guard. I see you are a Monster Hunting Quest Participant, right?
+Talvez você possa ajudar nossa guarda da cidade. Eu vejo que você é um participante de caça a monstros, certo?
+
+Maybe you could bring me 20 @@? I will reward you for your effort.
+Talvez você possa me trazer 20 @@? Eu recompensarei você pelo seu esforço.
+
+Meanwhile, several bugs were fixed. Our second sun had been glitchy, but Jesus Saves made sure it is now fine.
+Enquanto isso, vários bugs foram corrigidos. Nosso segundo sol tinha sido glitchy, mas Jesus Salva se certificou que agora está bem.
+
+Mecha Medallion
+Medalhão Mecha
+
+Meh, the Blue Sage is truly extravagant. We take @@ for the simplest things as keeping the house warm.
+Meh, o Blue Sage é verdadeiramente extravagante. Nós tomamos @@ para as coisas mais simples como manter a casa aquecida.
+
+Meltdown Forge, make your useless equip a good weapon! Lieutenant Dausen have new quests!
+Meltdown Forge, faça a sua equip inútil uma boa arma! Tenente Dausen tem novas missões!
+
+Mercenaries and blueprints! Players are crafting their own weapons. Sagratha and Cindy are in need of help!
+Mercenaries e projetos! Os jogadores estão construindo suas próprias armas. Sagratha e Cindy estão precisando de ajuda!
+
+Mining opearations advance steadly day by day with your help, thanks! Maybe one day, we find a Mana Stone here! (1300 xp)
+As operações de mineração avançam dia a dia com a sua ajuda, obrigado! Talvez um dia, encontremos uma Mana Stone aqui! (1300 xp)
+
+Minor release to lower travel prices, fix several issues, and enable Friend Referral System.
+Liberação secundária para reduzir os preços das viagens, corrigir vários problemas e ativar o sistema de referência de amigos.
+
+Mint Cashmere Dye
+Tinta menta para casimira
+
+Money to leave Candor is easier, as various persons there need help.
+Dinheiro para sair A sinceridade é mais fácil, pois várias pessoas precisam de ajuda.
+
+Monsters are dropping strange stuff! The world is changing!
+Monstros estão soltando coisas estranhas! O mundo está mudando!
+
+Monsters are walking to different regions, new grinding zones appears!
+Monstros estão caminhando para diferentes regiões, novas zonas de moagem aparece!
+
+More powerful version of healing. Requires @@ each cast.
+Versão mais poderosa de cura. Requer @@ cada elenco.
+
+Moving while AFK is botting! I'll send you to a %s if you move while AFK! YOU HAVE BEEN WARNED!
+Movendo enquanto AFK é bots! Eu vou lhe enviar a um% s se mover enquanto AFK! VOCÊ FOI AVISADO!
+
+My father lead a dye fabric, I'm in charge to sell @@ around the world.
+Meu pai lidera um tecido de corante, eu sou responsável por vender @@ em todo o mundo.
+
+My figurin is so nice!
+Minha figura é tão legal!
+
+My man went down and still haven't returned.
+Meu homem caiu e ainda não voltou.
+
+My name is @@ and I am the daily task master. Interested in keeping this world free from monsters, or to report back?
+Meu nome é @@ e eu sou o mestre de tarefas diárias. Interessado em manter este mundo livre de monstros ou relatar de volta?
+
+My name is Juliet, it is me who took care of you after we found you in the sea.
+Meu nome é Julieta, sou eu quem cuida de você depois que a encontramos no mar.
+
+My shaman skill protect us, against monsters and thiefs!
+Minha habilidade de xamã nos protege contra monstros e ladrões!
+
+My unit, however, was attacked! An assassin snuck up on us!
+A minha unidade, no entanto, foi atacado! Um assassino escapado para cima de nós!
+
+NOW YOU HAVE DONE IT! By the powers to me vested as a Constable and Game Master, I sentence you to HALF HOUR IN A %s!
+Agora você tem feito! Pelos poderes a mim conferidos como um Constable e Game Master, eu sentenciá-lo a meia hora no D% s!
+
+NPC stylists will cut your hair!
+Estilistas NPC vai cortar seu cabelo!
+
+NYI: @@, @@, @@, @@
+JNI: @@, @@, @@, @@
+
+Nameless Doctor found at LoF have a friend! This never happened before!
+Nameless Doctor encontrado na LoF tem um amigo! Isso nunca aconteceu antes!
+
+Napalm Beat - Spammable AoE Skill
+Napalm Beat - spammable Habilidade AoE
+
+Nard also bought a new ship!.
+Nard também comprou um novo navio!
+
+Nard and Elmo changed the way they talk to newcomers, to be more clear about what they expect.
+Nard e Elmo mudaram a maneira de falar com os recém-chegados, para serem mais claros sobre o que eles esperam.
+
+Nard's ship basement was modified, and winter drops are now alive. Don't miss Christmas event, either.
+O porão do navio de Nard foi modificado e as gotas de inverno estão agora vivas. Não perca o evento de Natal também.
+
+Nard's ship is not capable to do Tulimshar<->Candor route instantly anymore: His magic sail broke.
+O navio de Nard não é mais capaz de fazer a rota de Tulimshar <-> Candor instantaneamente: sua vela mágica quebrou.
+
+Natural Card
+Carta Natural
+
+Navy Blue Cotton Dye
+Tinta azul-marinho para algodão
+
+Neutral attack with low damage value, but with low cost, high range and wide Effect Area.
+Ataque neutro com baixo valor de dano, mas com baixo custo, alcance alto e ampla área de efeito.
+
+Nevertheless, you probably need some base materials from Bif. Who knows what it will drop if you are lucky?
+No entanto, você provavelmente precisará de alguns materiais básicos do Bif. Quem sabe o que vai cair se você tiver sorte?
+
+New default game settings:
+Novas configurações do jogo padrão:
+
+New players can also get an EXP bonus with Elmo until they get level 15. Warp Crystals are here!
+Os novos jogadores também podem receber um bônus de EXP com o Elmo até obterem o nível 15. Warp Crystals is here!
+
+Nikolai
+Nikolai
+
+Nivalis - 7,500 GP
+Nivalis - 7.500 GP
+
+Nivalis Liberation Day Result: Players Lost 92 : 300 Monsters Won
+Resultado do Dia da Libertação Nivalis: Jogadores Perdidos 92: 300 Monstros Conquistados
+
+Nivalis is in need of help from all adventurers!
+Nivalis precisa de ajuda de todos os aventureiros!
+
+Nivalis was rebuilt, but not completely!
+Nivalis foi reconstruído, mas não completamente!
+
+No one visit me, I'mm in peace there.
+Ninguém me visita, estou em paz lá.
+
+No problem, I can help you anyway.
+Não tem problema, eu posso te ajudar de qualquer maneira.
+
+No, I don't teach magic. No, I'm not interested in @@ affairs.
+Não, eu não ensino magia. Não, não estou interessado em assuntos @@.
+
+No, none.
+Ninguém.
+
+No, we do this during our whole life, And we survive!
+Não, nós fazemos isso durante toda a nossa vida, e nós sobrevivemos!
+
+None at the moment!
+Nenhum no momento!
+
+Not only that, but there appeared some paladins, tankers, wizards, sages and raggers claiming to have mastered magic.
+Não só isso, mas apareceram alguns paladinos, tanques, magos, sábios e trapeiros que afirmavam ter dominado a magia.
+
+Note: Killing enemies there with the Dustynator grants more dusty in a bottle.
+Nota: Matar inimigos lá com o Dustynator garante mais poeira em uma garrafa.
+
+Now imagine I just did a SQL query to fetch your account password and salt.
+Agora imagine que eu fiz uma consulta SQL para buscar a senha e o sal da sua conta.
+
+Now, please kill 45 @@, Try to collect some lamps in the same time, they could be useful later.
+Agora, por favor, mate 45 @@, Tente coletar algumas lâmpadas ao mesmo tempo, elas podem ser úteis mais tarde.
+
+Now, please kill 50 @@, Try to collect some lamps in the same time, they could be useful later.
+Agora, por favor, mate 50 @@, Tente coletar algumas lâmpadas ao mesmo tempo, elas podem ser úteis mais tarde.
+
+Now, the real challenge will start. You have a lot of raw power, but that doesn't gives you a lot of skills to learn.
+Agora, o verdadeiro desafio será iniciado. Você tem muito poder bruto, mas isso não lhe dá muitas habilidades para aprender.
+
+Now, you'll learn a merchant trick! This one allows you to carry more weight with you! Ka-pow! Amazing!
+Agora você aprenderá um truque mercante! Este permite que você carregue mais peso com você! Ka-pow! Surpreendente!
+
+Now, your hash might be @@.
+Agora, seu hash pode ser @@.
+
+Nylo#Beer
+Nylo#Bebida
+
+Of course! But beware that [@@https://www.transifex.com/akaras/saulc-tmw-fork|Translators@@] are always in demand!
+Claro! Mas tenha cuidado que [@@https://www.transifex.com/akaras/saulc-tmw-fork|Tradutores@@] estão sempre em demanda!
+
+Of course, if you don't ask from the Mana Stone for more magic, that means nothing...
+Claro, se você não pedir da Mana Stone por mais magia, isso não significa nada ...
+
+Of course, this is only some random md5 functions for fun.
+Claro, isso é apenas algumas funções md5 aleatórias para se divertir.
+
+Of course, with 5 @@ and 3000 GP I could make one too, but I can fail.
+Claro, com 5 @@ e 3000 GP eu poderia fazer um também, mas posso falhar.
+
+Oh - Welcome to TMW2: Moubootaur Legends!
+Oh - Bem vindo ao TMW2: Lendas do Moubootaur!
+
+Oh really? I'll put more food in the next box then.
+Oh, sério? Então eu vou colocar mais comida na próxima caixa.
+
+Oh well, we rescued you when you were yaying adrift in the sea.#0
+Bem, nós resgatamos você quando você estava a deriva no mar.
+
+Oh well, we rescued you when you were yaying adrift in the sea.#1
+Bem, nós resgatamos você quando você estava a deriva no mar.
+
+Oh yeah some work are really painful, especially for my back, and I cant bother Woody to do it, he have so many difficulties to move.
+Ah sim, algum trabalho é realmente doloroso, especialmente para as minhas costas, e eu não posso incomodar Woody para fazer isso, ele tem tantas dificuldades para se mexer.
+
+Oh yeyeye... As they are not edible, you can maybe try to equip them?#0
+Oh yeyeye... Como eles não são comestíveis, talvez você possa tentar equipá-los?
+
+Oh yeyeye... As they are not edible, you can maybe try to equip them?#1
+Oh yeyeye... Como eles não são comestíveis, talvez você possa tentar equipá-los?
+
+Oh! And our party chat was really entertaining, I do highly recommend you to share this fun as well.
+Oh! E o nosso bate-papo de festa foi muito divertido, eu recomendo que você compartilhe essa diversão também.
+
+Oh, I was going to ask you if you wanted to help the crew search for some food and explore the island out there.
+Oh, eu ia perguntar se você queria ajudar a tripulação a procurar por comida e explorar a ilha.
+
+Oh, and I almost forgot! Do not give the password of your room to anybody! I am the only one who has the other key and I won't ask for yours so keep it secret and try not to use the same password for any other room in the future.
+Ah, e quase me esqueci! Não dê a senha do seu quarto para ninguém! Só eu tenho a outra chave e não vou pedir a sua, então mantenha isso em segredo e tente não usar a mesma senha para qualquer outra sala no futuro.
+
+Oh, and a fruit may even fall for you if you are lucky! But stay alert to pick up your drops.
+Ah, e uma fruta pode até cair para você se você tiver sorte! Mas fique alerta para pegar suas gotas.
+
+Oh, and give her some clothes, the poor girl, the ones she had were in an even worse condition than the ones we have.#0
+Oh, e dê algumas roupas para ela. Pobre garota, as que ela tinha estavam pior do que as nossas.
+
+Oh, and give him some clothes, the poor guy, the ones he had were in an even worse condition than the ones we have.#1
+Oh, e dê algumas roupas para ele. Pobre rapaz, as que ela tinha estavam pior do que as nossas.
+
+Oh, every settlement is part of it. Candor, Tulimshar, Hurnscald, Frostia, Halinarzo, Artis, Esperia, Nivalis...
+Todo acordo é parte disso. Candor, Tulimshar, Hurnscald, Frostia, Halinarzo, Artis, Esperia, Nivalis ...
+
+Oh, hello there! Welcome to the Mana Plain Of Existence!
+Olá! Bem-vindo à Planície da Existência de Mana!
+
+Oh, noes! Due lack of translators, some languages were removed from this project.
+Ah, não! Devido à falta de tradutores, algumas línguas foram removidas deste projeto.
+
+Oh, that's right!
+Oh, isso é certo!
+
+Oh... Err, yes I did, or, well, good day to you!
+Oh ... Err, sim eu fiz, ou bem, bom dia para você!
+
+Oh... Thank you! Here is @@ GP for it.
+Oh ... obrigada! Aqui está @@ GP para isso.
+
+Ok, I think he's waking up, go see him.#1
+Ok, acho que ele está acordando, vá ver ele.
+
+Ok, I think she's waking up, go see her.#0
+Ok, acho que ela está acordando, vá ver ela.
+
+Ok, you have some level. Now, let me think on an easy task for you...
+Ok, você tem algum nível. Agora, deixe-me pensar em uma tarefa fácil para você ...
+
+Okay, I'm ready to work!#0
+Olay, estou pronta para trabalhar!
+
+Okay, I'm ready to work!#1
+Olay, estou pronto para trabalhar!
+
+Oldur Card
+Carta Oldur
+
+Open Extension
+Extensão aberta
+
+Operation aborted. Phew!
+Operação abortada. Ufa!
+
+Ops! You destroyed your @@.
+Ops! Você destruiu seu @@.
+
+Or make yourself useful killing a Duck. They steal all Cherry Cake from the Inn and the staff is getting angry at me. It'll serve, too.
+Ou faça-se útil matando um pato. Eles roubam todo o Bolo de Cereja da Hospedaria e a equipe está ficando com raiva de mim. Vai servir também.
+
+Or use our awesome [@@https://tmw2.org/manalauncher/InstallManaLauncher.exe|Mana Launcher@@] if you're on Windows.
+Ou use nosso incrível [@@ https: //tmw2.org/manalauncher/InstallManaLauncher.exe | Mana Launcher @@] se você estiver no Windows.
+
+Orange Cotton Dye
+Tinta laranja para algodão
+
+Oscar and I signed this letter. Deliver it to Airlia on the Town Hall, and she'll reward you correctly.
+Oscar e eu assinamos esta carta. Entregue para Airlia na prefeitura, e ela te recompensará corretamente.
+
+Otherwise, well, I'm not sure what will happen. You'll probably be either thrown at the wolves or something. Duh.
+Caso contrário, bem, não tenho certeza do que vai acontecer. Você provavelmente será jogado nos lobos ou algo assim. Duh.
+
+Our mission statement is to bring fun to all players. You'll get some levels automatically. We advise you to join a guild.
+Nossa missão é trazer diversão para todos os jogadores. Você terá alguns níveis automaticamente. Nós aconselhamos você a entrar para uma guilda.
+
+PS. This also allows you to select a subclass.
+PS. Isso também permite que você selecione uma subclasse.
+
+PVP Arena did NOT got in. Same for AFK Cap.
+PVP Arena não entrou. O mesmo para AFK Cap.
+
+Paladin Card
+Cartão Paladino
+
+Paladin Master
+Mestre de Paladino
+
+Paladin#0
+Paladina
+
+Paladin#1
+Paladino
+
+Party levels for experience sharing restriction is more flexible, and there is a great co-op quest.
+Os níveis de partes para restrição de compartilhamento de experiência são mais flexíveis e há uma grande missão de cooperação.
+
+Parum - @sk-parum
+Parum - @ sk-parum
+
+Past this way is the Great River and the Eternal Swamps. But the river flooded.
+Passado este caminho é o Grande Rio e os Pântanos Eternos. Mas o rio inundou.
+
+Path closed due recent Monster King attack!
+Caminho fechado devido ao recente ataque Monster King!
+
+Patrick Saulc
+Patrick Saulc
+
+People at Tulimshar are now giving more tips to newcomers, and new bugs may have been introduced.
+As pessoas em Tulimshar agora estão dando mais dicas para os recém-chegados, e novos bugs podem ter sido introduzidos.
+
+Perfect!
+Perfeito!
+
+Perfect! Here is your reward! (150 xp 150 gp)
+Perfeito! Aqui está sua recompensa! (150 xp 150 gp)
+
+Perfect! Here is your reward! (40 xp 25 gp)
+Perfeito! Aqui está sua recompensa! (40 xp 25 po)
+
+Perhaps you may be of assistance later . . .
+Talvez você pode ser útil mais tarde. . .
+
+Pet Detective wasn't getting new members and was forced to drop price.
+Pet Detective não estava recebendo novos membros e foi forçado a deixar cair o preço.
+
+Piano#RES_0096
+Piano#RES_0096
+
+Piano#RES_0097
+Piano#RES_0097
+
+Piano#RES_0177
+Piano#RES_0177
+
+Piano#RES_0178
+Piano#RES_0178
+
+Pick a bounty at Tulimshar Guard House! Buy and use grenades! (Only against non-boss monsters)
+Escolha uma recompensa pelo Tulimshar Guard House! Comprar e usar granadas! (Apenas contra monstros não-chefe)
+
+Pink Cotton Dye
+Tinta rosa para algodão
+
+Piou Slayer
+Matador de Pious
+
+Piou egg
+Ovo de Piou
+
+Pious must keep a strict diet composed of Piberries, and Bhoppers eat only Aquadas.
+Piedoso deve manter uma dieta estrita composta de Piberries, e os Bhoppers comem apenas Aquadas.
+
+Piousee
+Piousee
+
+Players are now send players to Nivalis and Frostia, to keep learning about who they are. While greater forces are at play, the player might be just a minor one, but certainly an important one.
+Os jogadores estão agora a enviar jogadores para Nivalis e Frostia, para continuar aprendendo sobre quem eles são. Enquanto forças maiores estão em jogo, o jogador pode ser apenas um menor, mas certamente um passo importante.
+
+Players are renting Mouboos and Tortugas to move faster! Shields are now better!
+Os jogadores estão alugando Mouboos e Tortugas se mover mais rápido! Shields estão agora melhor!
+
+Players can now sense monsters strength with @@, and lag was reduced. Pets can run away again.
+Os jogadores podem agora sentir a força dos monstros com @@, e o atraso foi reduzido. Animais de estimação podem fugir novamente.
+
+Players didn't escape from the manaquake. Xtreem says it is easier to kill monsters now.
+Os jogadores não escaparam do manaquake. Xtreem diz que é mais fácil matar monstros agora.
+
+Players who still have Golden Eggs
+Jogadores que ainda têm Golden Eggs
+
+Please bring me a single @@, and I'll give you a memeto.
+Por favor, me traga um single @@, e eu lhe darei um memeto.
+
+Please contact @@ to clear this misunderstanding.
+Por favor, entre em contato com @@ para esclarecer este mal-entendido.
+
+Please select an action
+Por favor selecione uma ação
+
+Please use the alternative route provided by the Alliance High Council
+Por favor, use a rota alternativa fornecida pelo Alto Conselho da Aliança
+
+Please, enjoy your leather gloves.
+Por favor, aproveite suas luvas de couro.
+
+Plum
+ameixa
+
+Port realized.
+Porto realizado.
+
+Priest Master
+Priest Master
+
+Priest#0
+Sarcedotista
+
+Priest#1
+Sarcedote
+
+Protip: Ducks and Giant Maggots also drops Cherry Cakes.
+Protip: Patos e Larvas Gigantes também dropam Cherry Cakes.
+
+Protip: Use @hide to don't interfer.
+Protip: Use @hide para não interferir.
+
+Protip: You can get Croconut from Crocotree, and fill @@ purchased in the market.
+Protip: Você pode obter Croco de Crocotree e preencher @@ comprado no mercado.
+
+Provoke - Provoke a single monster
+Provocar - provocar um único monstro
+
+Pst! Speak lower! Otherwise we'll wake @@ up!
+PST! Fale mais baixo! Caso contrário, vamos acordar @@!
+
+Pst, speak lower, @@ may hear us...
+Pst, fale baixo, @@ pode nos ouvir ...
+
+Pst, speak lower, you may wake @@ up...
+Pst, fale mais baixo, você pode acordar @@...
+
+Purple Cotton Dye
+Tinta roxa para algodão
+
+Pyn Gatling
+Pyn Gatling
+
+Pyn Revolver
+Pyn Revolver
+
+Pyn Rifle
+Rifle Pyn
+
+Pyn Shotgun
+Espingarda de Pyn
+
+Pyndragon said he'll do a @@ to however reduces them to dust. Interested?
+Pyndragon disse que vai fazer um @ @ para reduzi-los a pó. Interessado?
+
+REVOLVERS
+REVOLVERS
+
+RIFLES
+RIFLES
+
+Ragger Master
+Mestre do Ragger
+
+Raijin Voice
+Voz de Raijin
+
+Raise fallen party members so they can keep fighting.
+Levante os membros do grupo para que eles continuem lutando.
+
+Raise this skill
+Aumentar essa habilidade
+
+Raises attack and resistance against dragons. Also raises int. Passive.
+Levanta ataque e resistência contra dragões. Também aumenta int. Passiva.
+
+Raises chance to entirely block an attack, but freezes you for a while. Req. Shield.
+Aumenta a chance de bloquear completamente um ataque, mas o congela por um tempo. Req. Escudo.
+
+Raises defense of the whole party in 5% for a while.
+Aumenta a defesa de todo o grupo em 5% por um tempo.
+
+Raises max HP and holy resistance. Passive.
+Aumenta o HP máximo e a resistência sagrada. Passiva.
+
+Raises your Int by 50
+Aumenta seu Int por 50
+
+Raises your base level by 50
+Aumenta seu nível base em 50
+
+Raises your job level by 50
+Aumenta seu nível de trabalho em 50
+
+Re-casting the same mana skill won't give you magic experience. Magic Skills doesn't have this system, and level up on quest or, depending on the skill, on the skill window, using Job Level.
+Recrutar a mesma habilidade de mana não lhe dará experiência mágica. O Magic Skills não tem este sistema, e aumenta de nível na missão ou, dependendo da habilidade, na janela de habilidades, usando o nível do trabalho.
+
+Really begin the UDT Challenge?
+Realmente começa o Desafio da UDT?
+
+Received one @@ as August daily login bug Token of Apology!
+Recebeu um @@ em agosto diária de login bug token de desculpas!
+
+Recepcionist#003-0
+Recepcionista#003-0
+
+Red Butterfy
+Borboleta vermelha
+
+Red Cotton Dye
+Tinta vermelha para algodão
+
+Reduces your Int by 50
+Reduz seu Int por 50
+
+Reduces your base level by 50
+Reduz o seu nível base em 50
+
+Reduces your job level by 50
+Reduz o seu nível de trabalho em 50
+
+Regenerate HP every 5 seconds, as if you were always eating a healing item.
+Regenere a HP a cada 5 segundos, como se você estivesse sempre comendo um item de cura.
+
+Release 2
+Lançamento 2
+
+Release 2.1 - Free Lunch For Those Who Work Hard!
+Release 2.1 - Almoço grátis para aqueles que trabalham duro!
+
+Release 2.2 - There Are No Pipelines
+Release 2.2 - Não há pipelines
+
+Release 3
+Lançamento 3
+
+Release 3.0 - In The Dreams
+Lançamento 3.0 - nos sonhos
+
+Release 4
+Release 4
+
+Release 4.0 - Quest Giver's Handbook
+Release 4.0 - Manual do Doador da Missão
+
+Release 5
+Versão 5
+
+Release 5.0 - Greenland Players
+Lançamento 5.0 - jogadores de Greenland
+
+Release 6
+Versão 6
+
+Release 6.0 - Steam, Fire, and... Monster King?!
+Lançamento 6.0 - Steam, Fire e ... Monster King ?!
+
+Release 7
+Lançamento 7
+
+Release 7.0 - Polished Emerald
+Release 7.0 - Esmeralda Polida
+
+Release 7.1 - Broken Emerald
+Lançamento 7.1 - Esmeralda Quebrada
+
+Release 7.2 - Frozen Jesusalva
+Release 7.2 - Jesusalva Congelada
+
+Release 7.3 - Frozen Community
+Release 7.3 - Comunidade Congelada
+
+Release 7.4 - Christmas Revolution
+Release 7.4 - Revolução do Natal
+
+Release 7.5 - Merry Christmas, Happy New Year
+Release 7.5 - Feliz Natal, Feliz Ano Novo
+
+Release 8
+Lançamento 8
+
+Release 8 (Current)
+Lançamento 8 (atual)
+
+Release 8.0 - Apane Invasion, the Remaster
+Release 8.0 - Apane Invasion, o Remaster
+
+Release 8.1 - It's hidden! Where?
+Lançamento 8.1 - está oculto! Onde?
+
+Release 8.2(1) - Valentine Day (Is Over)
+Release 8.2 (1) - Dia dos Namorados (Acabou)
+
+Release 8.3 - King Arthur
+Release 8.3 - Rei Arthur
+
+Release 8.4 - Can I Live Ingame?
+Release 8.4 - Posso viver no jogo?
+
+Release 8.5 - A Place To Spend Vacations
+Release 8.5 - Um lugar para passar férias
+
+Release 8.9 - Easter Event
+Release 8.9 - Evento de Páscoa
+
+Release 8.99 - JESUSALVA IS LAZY
+Lançamento 8.99 - JESUSALVA É LAZY
+
+Release 9 (Current)
+Liberação 9 (atual)
+
+Release 9.0 - The Promised Release
+Lançamento 9.0 - a liberação prometida
+
+Release 9.1 - Bedtime Stories
+Release 9.1 - Histórias de dormir
+
+Release 9.2 - Workbench
+Solte 9.2 - Workbench
+
+Release 9.3 - Lovely Homunculus
+Solte 9.3 - Homunculus Adorável
+
+Release 9.4 - Balance & Bugfix Patch
+Solte 9.4 - Equilíbrio & remendo Bugfix
+
+Remember, I need 100 @@, 50 @@, and something interesting to read.
+Lembre-se, preciso de 100 @@, 50 @@ e algo interessante para ler.
+
+Remove this skill
+Remover esta habilidade
+
+Repeat:
+Repetir:
+
+Report this to Jesusalva and he may finish this quest.
+Relate isso a Jesusalva e ele pode terminar essa missão.
+
+Reset Kill Saulc Event (Monthly)
+Redefinir Kill Saulc Event (Mensal)
+
+Return to skill debug menu
+Retornar ao menu de depuração de habilidades
+
+RightBarrierCheck
+RightBarrierCheck
+
+Rosen is now making Training Bow in Candor for new adventures.
+Rosen agora está fazendo Training Bow em Candor para novas aventuras.
+
+SHOTGUNS
+ESPINGARDA
+
+Safe again! You've gained some experience for your hard work!
+Seguro novamente! Você ganhou alguma experiência pelo seu trabalho duro!
+
+Sage Master
+Sábio Mestre
+
+Sage#0
+Sábia
+
+Sage#1
+Sábio
+
+Saulc and Cherry married in Halinarzo, and stayed like this for perhaps 20 seconds, before Cherry asked for divorce.
+Saulc e Cherry se casaram em Halinarzo e ficaram assim por uns 20 segundos, antes que Cherry pedisse o divórcio.
+
+Saulc said it needs an inspection, and he'll be with everyone trying to proccess and fix the amount of damage this caused.
+Saul disse que precisa de uma inspeção, e ele estará com todos tentando processar e consertar a quantidade de dano que isso causou.
+
+Scarab Armlet
+Braço de Escaravelho
+
+Seek a colorant for that material: Cotton, cashmere, leather, Lazurite...
+Procure um corante para esse material: algodão, cashmere, couro, Lazurite ...
+
+Select to which server you want to port your event data to.
+Escolha a que servidor que deseja port seus dados de eventos para.
+
+Sending the letter will give you double event points, capped to 10 extra points.
+Enviar a carta lhe dará pontos de evento duplo, limitado a 10 pontos extras.
+
+Set the level manually
+Definir o nível manualmente
+
+Several bugfixes! And a new bug replace every removed one!
+Várias correções de bugs! E um novo bug substitui todos os removidos!
+
+Several bugfixes, and new monsters have been seen. Almost all healing items have changed.
+Várias correções de bugs e novos monstros foram vistos. Quase todos os itens de cura foram alterados.
+
+Sharpshooter - Shoot an arrow or bullet which damages everything on its way.
+Sharpshooter - Atirar uma flecha ou bala que tudo no seu caminho danos.
+
+She is sending players to Hurnscald instead.
+Ela está enviando jogadores para Hurnscald.
+
+She is the nurse and shipkeeper of this ship.
+Ela é a enfermeira e zeladora deste navio.
+
+She's on the upper level, yeye can't miss her. She's the only girl in this crew, oh well, except for you now yeyeye!#0
+Ela está no nível superior, yeye não pode desencontrar com ela. Ela é a única garota nessa embarcação, bem, exceto por você agora yeyeye!
+
+She's on the upper level, yeye can't miss her. She's the only girl in this crew.#1
+Ela está no nível superior, yeye não pode desencontrar com ela. Ela é a única garota nessa embarcação.
+
+Ship travels are cheaper, full equipment sets have hidden bonuses, Soul Menhirs are now auto-touched.
+As viagens de navio são mais baratas, os conjuntos completos de equipamentos têm bônus ocultos, os Menhirs da Alma agora são auto-tocados.
+
+Ship travels are not free. See if you can gather some money, and I'll bring you to Tulimshar!
+Viagens de navio não são de graça. Veja se consegue fazer algum dinheiro, e irei te levar para Tulimshar!
+
+Shortcuts.
+Atalhos
+
+Should we blame Saulc for bugs?
+Devemos culpar Saulc por insetos?
+
+Shovels and Treasure maps, for the explorers this summer, after June 21st!
+Pás e mapas do tesouro, para os exploradores neste verão, depois de 21 de junho!
+
+Side Note: During r6.1 and r6.5, various improvements were done, and two new quests were seen. Priests have shown up.
+Nota: Durante as r6.1 e r6.5, várias melhorias foram feitas e duas novas missões foram vistas. Sacerdotes apareceram.
+
+Sign#ErrorHandler0041
+Placa#ErrorHandler0041
+
+Sign#ErrorHandler0042
+Placa#ErrorHandler0042
+
+Silver Cotton Dye
+Tinta prateada para algodão
+
+Since previous release, there was also seen priests, two new quests, and a breakthrough on reset potions happened.
+Desde o lançamento anterior, também foram vistos sacerdotes, duas novas missões e um avanço nas poções de reinicialização.
+
+Skill Debug
+Depuração de habilidade
+
+Skill Debug - Modify Skill
+Depuração de Habilidades - Modificar Habilidade
+
+Skill is in cooldown.
+A habilidade está em cooldown.
+
+Skull Potion
+Poção Crânio
+
+SkullBloodyMug
+SkullBloodyMug
+
+Slide Card
+Cartão de Slides
+
+Snow Binny
+Coelho da neve
+
+So finally someone has came to visit me?
+Então, finalmente alguém veio me visitar?
+
+So, please kill 3 @@, which are usually at beaches. You can sell their stingers.
+Então, por favor, mate 3 @@, que geralmente são nas praias. Você pode vender seus ferrões.
+
+So, what do you say about a deal? I'll affiliate you on the Pet Caring Guild for only 150.000 GP!
+Então, o que você diz sobre um acordo? Eu vou afiliá-lo no Pet Caring Guild por apenas 150.000 GP!
+
+So, young disciple! I wish I could just chant some gibberish words and that automatically granted you more skills, but alas, that won't work.
+Então, jovem discípulo! Eu gostaria de poder cantar algumas palavras sem sentido e que automaticamente te davam mais habilidades, mas, infelizmente, isso não funcionaria.
+
+Some NPCs are [@@https://transifex.com/akaras/saulc-tmw-fork|learning new languages@@].
+Alguns NPCs são [@@ https: //transifex.com/akaras/saulc-tmw-fork | learning new languages ​​@@].
+
+Some adventurer broke what was previously thought as maximum level, and is now level 40!
+Alguns aventureiros quebraram o que se pensava anteriormente como nível máximo, e agora está no nível 40!
+
+Some adventurer broke what was previously thought as maximum level, and is now level 45!
+Alguns aventureiros quebraram o que se pensava anteriormente como nível máximo, e agora é nível 45!
+
+Some are small, others are bigger. But they all fight togheter, so be mindful when they're in groups.
+Algumas são pequenas, outras são maiores. Mas todos eles lutam juntos, então esteja atento quando eles estiverem em grupos.
+
+Some monsters gained death and/or attack sounds, and Blue Sage House front door is now open.
+Alguns monstros ganharam morte e / ou sons de ataque, e a porta da frente do Blue Sage House está agora aberta.
+
+Some of them have FORBIDDEN DROPS, which will be DELETED when their event starts!
+Alguns deles têm DROPS PROIBIDOS, que serão APAGADOS quando o evento começar!
+
+Some of these even cause area damage! Rumors of time travellers were heard, but no time travel was confirmed.
+Alguns deles até causam danos na área! Rumores de viajantes do tempo foram ouvidos, mas nenhuma viagem no tempo foi confirmada.
+
+Some time later...
+Algum tempo mais tarde...
+
+Somebody else also got huge stats bonuses because reached the unbelievable job level 25.
+Alguém mais também recebeu enormes bônus de estatísticas porque atingiu o inacreditável nível de trabalho 25.
+
+Someone adventurer broke what was previously thought as maximum level, and is now level 31!
+Alguém aventureiro quebrou o que se pensava anteriormente como nível máximo, e agora está no nível 31!
+
+Soren, the architect responsible for it, is very happy with the new design.
+Soren, o arquiteto responsável por isso, está muito feliz com o novo design.
+
+Sorry another day maybe.
+Desculpe outro dia talvez.
+
+Sorry! I forgot to introduce myself. My name is Arpan, but other sailors call me Magic Arpan because I know one or two yaing magic spells.
+Desculpa! Eu esqueci de me apresentar. Meu nome é Arpan, mas outros marinheiros me chamam de Magic Arpan porque eu conheço um ou dois feitiços mágicos.
+
+Sorry! Not yet implemented!
+Desculpa! Ainda não implementado!
+
+Sorry! The monsters are gone, but this gate stays closed.
+Desculpa! Os monstros se foram, mas este portão permanece fechado.
+
+Sorry, I am not in the mood for another fight with these rattos.
+Desculpe, eu não estou com vontade de outra luta com esses rattos.
+
+Sorry, I'm babbling. Deliver this letter to Frostia Mayor. He will know what to do and what you should do.
+Desculpe, estou balbuciando. Entregue esta carta para a Frostia Mayor. Ele saberá o que fazer e o que você deve fazer.
+
+Sorry, but I can't tell you anything about that.
+Desculpe, mas não posso dizer nada sobre isso.
+
+Sorry, but I need one of each gem powder, and 800 GP.
+Desculpe, mas eu preciso de um de cada pó de gema e 800 GP.
+
+Sorry, you was taking too long to decide and I've rented my sword to somebody else.
+Desculpe, você estava demorando muito para decidir e eu aluguei minha espada para outra pessoa.
+
+Soul Menhir#001-4
+Menhir da Alma#001-4
+
+Spectra Orb
+Orbe Espectral
+
+Standard fireball skill.
+Habilidade de bola de fogo padrão.
+
+Stat Reseters had a breakthrough which made potions cheaper, and Arkim brand new petiscide made Pinkies sick (with less HP).
+O Stat Reseters teve um avanço que tornou as poções mais baratas, e o novo petiscide de Arkim deixou os Pinkies doentes (com menos HP).
+
+Stop right there, meliant. I can see you're AFK, it is written in your hat!
+Pare aí, meliant. Eu posso ver que você está AFK, está escrito em seu chapéu!
+
+Strange figures appear, claiming to be from the Land of Fire, and using interesting sticks, which spits fire.
+Figuras estranhas aparecem, alegando ser da Terra do Fogo, e usando varas interessantes, que cospe fogo.
+
+Stranger and monsters aren't allowed to enter in MY house!
+Estranhos e monstros não estão autorizados a entrar na minha casa!
+
+Strength helps you carry more items and also gives you a more forceful blow, but ends up not being very interesting if you focus on weapons that use projectiles, such as the bow.
+A força ajuda você a carregar mais itens e também lhe dá um golpe mais forte, mas acaba não sendo muito interessante se você se concentrar em armas que usam projéteis, como o arco.
+
+Styles.
+Estilos
+
+Successive warps cause time-space distortions and thus, are not allowed.
+As distorções sucessivas causam distorções de tempo-espaço e, portanto, não são permitidas.
+
+Summon Cave Maggot - @sk-zarkor
+Evocar Caverna da Larva - @ sk-zarkor
+
+Summon Dragons - @sk-dragokin
+Evocar Dragões - @ sk-dragokin
+
+Summon Fairies - @sk-fairykingdom
+Evocar Fadas - @ sk-fairykingdom
+
+Summon Fluffies - @sk-cuteheart
+Evocar Fluffies - @ sk-cuteheart
+
+Summon Maggot - @sk-kalmurk
+Evocar Maggot - @ sk-kalmurk
+
+Summon Mouboo - @sk-kalboo
+Evocar Mouboo - @ sk-kalboo
+
+Summon P. Spiky Mushroom - @sk-kalspike
+Evocar Cogumelo Espinhoso P. - @ sk-kalspike
+
+Summon Plants - @sk-plantkingdom
+Convocar Plantas - @ sk-plantkingdom
+
+Summon Slimes - @sk-limerizer
+Evocar Slimes - @ sk-limerizer
+
+Summon Snakes - @sk-halhiss
+Evocar Cobras - @ sk-halhiss
+
+Summon Terranites - @sk-stoneheart
+Evocar Terranitas - @ sk-stoneheart
+
+Summon Wolverns - @sk-kalwulf
+Evocar Wolverns - @ sk-kalwulf
+
+Summon Yetis - @sk-frozenheart
+Evocar Yetis - @ sk-frozenheart
+
+Supreme Attack - Cause a very strong attack with lowered accuracy.
+Ataque Supremo - causar um ataque muito forte com precisão reduzida.
+
+Sure! But that is Mana Magic. Just bring me a mug of beer, I'm thristy. And I'll teach you a basic skill.
+Certo! Mas isso é magia de mana. Apenas me traga uma caneca de cerveja, eu estou bem. E eu vou te ensinar uma habilidade básica.
+
+TUTORIAL: By pressing @@, you can open the Shortcut menu. And by pressing @@, you open the skill menu!
+TUTORIAL: Ao pressionar @@, você pode abrir o menu de atalho. E pressionando @@, você abre o menu de habilidades!
+
+TUTORIAL: The bugs there can be pretty vicious. Do you know what's worse though? Lag.
+TUTORIAL: Os erros lá podem ser muito cruéis. Você sabe o que é pior? Lag.
+
+Tactical Retreat
+recuo tático
+
+Take this badge, so you can get access to the guard house. You will find more work there. Bye, and good luck!
+Pegue este distintivo para poder ter acesso à casa de guarda. Você encontrará mais trabalho lá. Tchau e boa sorte!
+
+Talk to Elmo to get an EXP UP Boost until level 15!
+Converse com Elmo para obter um aumento de EXP UP até o nível 15!
+
+Tamiloc - Modify Race
+Tamiloc - Modificar raça
+
+Tanker Master
+Mestre de Tanque
+
+Tanker#0
+Tanker
+
+Tanker#1
+Tanker
+
+Taxes will raise in 0.01~0.03%, capped at 10%.
+Impostos irá aumentar em 0,01 ~ 0,03%, limitado a 10%.
+
+Teaching Enzo your skills will make you both forget them.
+Ensinar Enzo suas habilidades vai fazer você tanto esquecê-los.
+
+Teal Cotton Dye
+Tinta verde-azulado para algodão
+
+Technical problem, gimme info about an item.
+Problema técnico, me dê informações sobre um item.
+
+Tell me about Esperia.
+Conte-me sobre o Esperia.
+
+Temporaly out of order.
+Temporariamente fora de ordem.
+
+Temporaly raise your agility and move speed, in exchange of HP.
+Aumente temporariamente sua agilidade e velocidade de movimento, em troca de HP.
+
+Temporaly switch weapon element to @@. Success rate is fixed at 70%.
+Mude temporariamente o elemento arma para @@. A taxa de sucesso é fixada em 70%.
+
+Temporary immunity to move stun when hit, and MDEF bonus.
+Imunidade temporária para mover stun quando acertar e bônus MDEF.
+
+Terranite King was seen recently. New shields and pants are available for craft.
+O rei dos terranitas foi visto recentemente. Novos escudos e calças estão disponíveis para embarcações.
+
+Terranite Quiver
+Aljava Terranite
+
+Testing Mob
+Teste de Mob
+
+Thank you, I'll take them and put them on.
+Obrigado, irei pegá-las e vestir-las.
+
+Thankfully, we'll be moving soon. This building is old and the roof is falling.
+Felizmente, nós vamos estar se movendo em breve. Este edifício é antigo e o telhado está caindo.
+
+Thanks again for helping me. Drats these rattos for infesting our fair vessal!
+Obrigado novamente por me ajudar. Drats estas tatuagens para infestar nosso navio justo!
+
+Thanks for helping me!
+Obrigado por me ajudar!
+
+Thanks for helping my wife! May the Mouboo watch over you! o.o
+Obrigado por ajudar minha esposa! Que o Mouboo cuide de você! o.o
+
+Thanks for the help!
+Obrigado pela ajuda!
+
+Thanks once again, I know it's not much but here is 450 GP for your troubles.
+Obrigado mais uma vez, eu sei que não é muito, mas aqui é 450 GP para seus problemas.
+
+That and other changes, are all thinking on players helping each other.
+Isso e outras mudanças, estão todos pensando em jogadores ajudando uns aos outros.
+
+That's a Mana Magic. It is very different from regular magic. For example, it have an experience meter and an alias you can say.
+Isso é uma magia de mana. É muito diferente da magia regular. Por exemplo, ele tem um medidor de experiência e um alias que você pode dizer.
+
+That's crazy!
+Isso é louco!
+
+That's not everything I asked for.
+Isso não é tudo que eu pedi.
+
+That's very, very risky. I need 3 @@ and 10 @@ to make a Potion to you, and I won't warrant it will work.
+Isso é muito, muito arriscado. Preciso de 3 @@ e 10 @@ para fazer uma Poção para você, e não garantirei que funcionará.
+
+That... Didn't worked. I'm sorry.
+Isso ... não funcionou. Eu sinto Muito.
+
+The Alliance announces a great new way to keep adventurers killing monsters.
+A Aliança anuncia uma nova maneira de manter aventureiros matando monstros.
+
+The Alliance changed some rules for storage size, botting, and grand hunter prizes, too.
+A Aliança também alterou algumas regras para tamanho de armazenamento, bots e prêmios de grandes caçadores.
+
+The Alliance prepared an attack against the Monster King. Report at Nivalis Guard for more information.
+A Aliança preparou um ataque contra o Rei Monstro. Informe-se no Nivalis Guard para mais informações.
+
+The Alliance says that @@ monsters have been slain by players since 2019-05-24!
+A Aliança diz que @@ monstros foram mortos pelos jogadores desde 2019-05-24!
+
+The Arena is currently closed for maintenance, and will be open at Release 9.
+A Arena está atualmente fechada para manutenção e estará aberta no Release 9.
+
+The Army seems to walk away after some time.
+O Exército parece ir embora depois de algum tempo.
+
+The Grand Hunter quest is available with Aidan. It's an experiment by the High Council,
+A missão do Grand Hunter está disponível com o Aidan. É uma experiência do Alto Conselho,
+
+The Guard Card will prove your intentions. Talk to the Lieutenant in front of the Guard House.
+O Card Guard vai provar suas intenções. Fale com o Tenente em frente à Casa da Guarda.
+
+The Guard Card will prove your intentions. Talk to the Lieutenant.
+O cartão de guarda irá provar suas intenções. Fale com o tenente.
+
+The Magic Council finished the reform on their guest hall.
+O Conselho Mágico terminou a reforma no salão de hóspedes.
+
+The Magic Council lift Statues in honor of some people. But its guest hall is in reform!
+O Conselho Mágico ergue estátuas em honra de algumas pessoas. Mas o seu salão de hóspedes está em reforma!
+
+The Monster King Army is attacking towns at random! Players already caused a loss of about @@ officers!
+O Monster King Army está atacando cidades aleatoriamente! Os jogadores já causaram uma perda de cerca de @@ oficiais!
+
+The Monster King Fortress
+A fortaleza do rei monstro
+
+The Monster King got so active in the past days, he even have a mirrored version of himself roaming the lands.
+O monstro rei ficou tão ativo nos últimos dias, ele ainda tem uma versão espelhada de si mesmo vagando pelas terras.
+
+The Monster King left Hurnscald! This is our chance! Saulc GM is assembling a team to TAKE OVER HURNSCALD!!
+O Rei Monstro saiu de Hurnscald! Esta é a nossa chance! Saulc GM está montando uma equipe para assumir HURNSCALD !!
+
+The Mouboo doesn't wants to drink the Coffee. Try to force him to drink anyway?
+faz o Mouboo não quer beber o café. Tentar forçá-lo a beber de qualquer maneira?
+
+The NPC responsible for buying raw gemstones from other NPCs has recovered since the last siege.
+O NPC responsável pela compra de pedras preciosas cruas de outros NPCs se recuperou desde o último cerco.
+
+The Tulimshar Forge is also dealing with more complex materials, and not just Iron.
+O Tulimshar Forge também está lidando com materiais mais complexos, e não apenas com o Iron.
+
+The Tulimshar guards needs an freelance employee who would help us in our work. We are searching for people as you.
+Os guardas de Tulimshar precisam de um funcionário freelancer que nos ajude em nosso trabalho. Estamos procurando por pessoas como você.
+
+The UDT Challenge will create a Gladiator Monster which should somehow emulate a PvP experience.
+O Desafio da UDT irá criar um Gladiator Monster que de alguma forma deve imitar uma experiência PvP.
+
+The Warriors have three other subclasses:
+Os guerreiros têm outras três subclasses:
+
+The Wizards have three other subclasses:
+Os Wizards têm outras três subclasses:
+
+The alliance panicked, and allowed Demure, Pyndragon and Pihro on their board of members.
+A aliança entrou em pânico e permitiu Demure, Pyndragon e Pihro em seu conselho de membros.
+
+The alliance, in honor of previous event winners, built new statues on the Council Guest Hall.
+A aliança, em homenagem aos vencedores do evento anterior, construiu novas estátuas no Salão do Conselho.
+
+The basic magic attack from a Priest. No effect against Holy Monsters.
+O ataque mágico básico de um padre. Nenhum efeito contra Monstros Sagrados.
+
+The captain has locked the door, you should go see him.
+O capitão trancou a porta, você deveria ir vê-lo.
+
+The captain is waiting for you! Hurry up.
+O capitão está te esperando! Ande logo.
+
+The class master mix the powder with the slime inside the bottle, and makes some weird mixture.
+O mestre da turma mistura o pó com o lodo dentro da garrafa e faz uma mistura estranha.
+
+The defensive guy, with every support skill a mage could need.
+O cara defensivo, com todas as habilidades de suporte que um mago poderia precisar.
+
+The demand for strong players raised everywhere. Even death penalty decreased, and GMs are doing better events now.
+A demanda por jogadores fortes cresceu em todos os lugares. Até mesmo a pena de morte diminuiu, e os GMs estão fazendo melhores eventos agora.
+
+The door is locked, you should speak to Woody's Wife about it.
+A porta está trancada, você deve falar com a esposa de Woody sobre isso.
+
+The easiest way to identify is: Mana Skills never target a single foe. This grimorium reports your Mana Skills.
+A maneira mais fácil de identificar é: Habilidades de Mana nunca são direcionadas a um único. Esse grimório informa suas habilidades de mana.
+
+The event is over!
+O evento acabou!
+
+The famous PVP Arena, Quirino Voraz, can now be used by all players.
+A famosa Arena PVP, Quirino Voraz, agora pode ser usada por todos os jogadores.
+
+The first trial is simple, I'm not doing anything in special. Bring me 1 @@, or 200 @@ and 20 @@.
+O primeiro teste é simples, não estou fazendo nada em especial. Traga-me 1 @@ ou 200 @@ e 20 @@.
+
+The foretold Call Of Dusty event quest is also now available for PVP Parties.
+A predita busca do evento Call Of Dusty agora também está disponível para as Partes PVP.
+
+The full-attack guy. Two hand swords works best!
+O cara do ataque total. Duas espadas de mão funcionam melhor!
+
+The full-defense guy. Most skills require a shield.
+O cara da defesa completa. A maioria das habilidades requer um escudo.
+
+The great prize is @@. It can be claimed with Aidan, on Tulimshar.
+O grande prêmio é @@. Pode ser reivindicado com Aidan, em Tulimshar.
+
+The inn north of me still haven't opened, which is a shame. I guess their cassino got too expensive.
+A pousada ao norte de mim ainda não abriu, o que é uma vergonha. Eu acho que o cassino deles ficou muito caro.
+
+The monsters here are too strong, and as I said before, I can't get close to the Transcedence Portal nor to get training.
+Os monstros aqui são muito fortes, e como eu disse antes, eu não posso chegar perto do Portal Transcendence nem para começar o treinamento.
+
+The more levels and intelligence you have, more likely the Mana Stone will grant you more Magic Power. But that means nothing.
+Quanto mais níveis e inteligência você tiver, mais provavelmente a Mana Stone lhe concederá mais Magic Power. Mas isso não significa nada.
+
+The name of the book is @@.
+O nome do livro é @@.
+
+The new inhabitants from the Land Of Fire are welcome, and some are still sheltering, like the Silversmith.
+Os novos habitantes da Terra do Fogo são bem-vindos, e alguns ainda estão abrigados, como o ourives.
+
+The next page begins to list the complex trading laws and political rules.
+A próxima página começa a listar as complexas leis comerciais e políticas.
+
+The offensive guy, with every attack skill a mage could need.
+O cara ofensivo, com todas as habilidades de ataque que um mago poderia precisar.
+
+The old book seems to tell about the legend of Aemil. Would you like to read it?
+O livro antigo parece contar sobre a lenda de Aemil. Você gostaria de ler?
+
+The party dungeon is still under maintenance, but it shall soon be liberated. The disaster was so big, all mobs are different.
+A masmorra do grupo ainda está em manutenção, mas logo será liberada. O desastre foi tão grande que todas as multidões são diferentes.
+
+The potion expired!
+A poção expirou!
+
+The potion is baked, you have thirty five minutes! Read as fast as you can, don't miss details!
+A poção é assada, você tem trinta e cinco minutos! Leia o mais rápido que puder, não perca detalhes!
+
+The prizes are only for the top 10, but Loratay on Land Of Fire Village can make a dress for you.
+Os prêmios são apenas para o top 10, mas Loratay em Land Of Fire Village pode fazer um vestido para você.
+
+The snowstorm at Nivalis has ceased, but the Monster King led a massively huge army to siege Nivalis.
+A nevasca em Nivalis cessou, mas o Rei Monstro liderou um enorme exército para sitiar Nivalis.
+
+The well-round guy, with reasonable def, attack, and support skills.
+O cara bem redondo, com habilidades razoáveis ​​de defesa, ataque e suporte.
+
+The wise guy, which doesn't relies on magic, and loves summon.
+O cara sábio, que não depende de magia, e adora convocar.
+
+Their main tasks are ensuring trade, protecting the cities from monster invasions, and guarding the Mana Stones.
+Suas principais tarefas são garantir o comércio, proteger as cidades de invasões de monstros e proteger as Mana Stones.
+
+Then concentrate your anger upon the trees hereabouts, you will gain experience whilst leveling your sword skill on them.
+Então concentre sua raiva nas árvores por aqui, você ganhará experiência ao treinar sua habilidade de espada nelas.
+
+There are many key combinations, press F1 to see a short list of them!
+Existem muitas combinações de teclas, pressione F1 para ver uma pequena lista delas!
+
+There are only @@ pins to set.
+Existem apenas pinos @@ para definir.
+
+There are rumors of a grand prize to whoever gets lucky on that machine.
+Há rumores de um grande prêmio para quem tiver sorte nessa máquina.
+
+There are still some rattos left! Do you want to abort the quest?
+Ainda restam alguns rattos! Você quer abortar a quest?
+
+There are two kind of magic: Mana Skills and Magic Skills.
+Existem dois tipos de magia: Habilidades de Mana e Habilidades Mágicas.
+
+There doesn't seems to be any physical wound.
+Não parece haver ferida física.
+
+There is a paper with some rules written on it.
+Há um papel com algumas regras escritas nele.
+
+There is fresh water here. I could use it to fill a bottle.
+Há água fresca aqui. Eu poderia usá-lo para encher uma garrafa.
+
+There is now a challenge in Tulimshar PvP Duel Room. How long can you survive?
+Existe agora um desafio no Tulimshar PvP Duel Room. Por quanto tempo você pode sobreviver?
+
+There was just too many changes to list all of them here. Good luck finding all of them!
+Houve apenas muitas mudanças para listar todas elas aqui. Boa sorte em encontrar todos eles!
+
+There was too many things to keep track. After Hurnscald siege, with lots of earthquakes, we had an accident.
+Havia muitas coisas para acompanhar. Após o cerco de Hurnscald, com muitos terremotos, tivemos um acidente.
+
+There were trees blocking the path to Halinarzo? Why nobody told that to Tulimshar Council?!
+Havia árvores bloqueando o caminho para Halinarzo? Por que ninguém disse isso ao Conselho Tulimshar ?!
+
+There's a scheduled update for 26/12. Event subject to change without prior notice.
+Há uma atualização agendada para 26/12. Evento sujeito a alteração sem aviso prévio.
+
+There's no change in the Mouboo condition.
+Não há nenhuma mudança na condição Mouboo.
+
+There's some diversity, but you should keep aiming at helping people and killing small-fry. If you ever want a challenge, there's a Giant Maggot inside the town which will one-shot you.
+Há alguma diversidade, mas você deve continuar com o objetivo de ajudar as pessoas e matar pequenas crianças. Se você quiser um desafio, há uma Maggie Gigante dentro da cidade que te fará um tiro.
+
+Therefore, raw gemstones prices are once again on the rise.
+Portanto, os preços das pedras preciosas em bruto estão novamente em ascensão.
+
+These can be reverted to previous behavior on User Control Panel!
+Estes podem ser revertidos para o comportamento anterior no Painel de Controle do Usuário!
+
+These trees were cut and travellers can once again travel to Halin.
+Essas árvores foram cortadas e os viajantes podem viajar novamente para Halin.
+
+They also determine rules, and enforces them. We live under a disguised dictatorship.
+Eles também determinam regras e as aplicam. Vivemos sob uma ditadura disfarçada.
+
+They also recently took over some city affairs. It's good they're protecting us, but I'm afraid of they creeping in our lives!
+Eles também recentemente assumiram alguns assuntos da cidade. É bom que eles estejam nos protegendo, mas eu tenho medo de eles se infiltrarem em nossas vidas!
+
+They are a permanent problem so I will always need your help to exterminate them in order to keep their number under control.
+Eles são um problema permanente, então eu sempre precisarei da sua ajuda para exterminá-los, a fim de manter seu número sob controle.
+
+They are known to use a revolutionary hair growth formula.
+Eles são conhecidos por usar uma fórmula revolucionária de crescimento de cabelo.
+
+They left me no inheirtance, either. Even surviving has been a struggle. I'm not strong enough to kill the living potatos for @@.
+Eles me deixaram nenhuma herança, também. Mesmo sobrevivendo tem sido uma luta. Eu não sou forte o suficiente para matar as batatas que vivem para @@.
+
+They look like the same, but they're not. Mana Skills have a Magic Experience meter and have different rules.
+Eles parecem iguais, mas não são. Mana Skills tem um medidor Magic Experience e tem regras diferentes.
+
+They will expire *hic* in just @@... Or on logout.
+Eles irão expirar * hic * em apenas @@ ... ou no logout.
+
+They're not too dangerous, but takes a lot to kill. So, if you kill 10 of them, I'll know you're dedicated in learning which monsters are out there.
+Eles não são muito perigosos, mas demoram muito para matar. Então, se você matar 10 deles, eu sei que você é dedicado em aprender quais monstros estão por aí.
+
+Thiefs frequently attack this vault, and locking it again is a pain. If you break the lock you'll need to pay 100 GP.
+Ladrões freqüentemente atacam esse cofre, e bloqueá-lo novamente é uma dor. Se você quebrar a fechadura, precisará pagar 100 GP.
+
+Thinking well... There's something behind it! A secret door!
+Pensando bem ... Há algo por trás disso! Uma porta secreta!
+
+This boost can be used until level 15.
+Este boost pode ser usado até o nível 15.
+
+This cannot be undone. Are you sure?
+Isto não pode ser desfeito. Você tem certeza?
+
+This caused a mana disturbance, and healing items are working better now, affecting every sector of economy.
+Isso causou um distúrbio de mana e os itens de cura estão funcionando melhor agora, afetando todos os setores da economia.
+
+This costed years of work... But you deserve it. Here is, an @@. Use it wisely, many armor can be forged with it.
+Isso custou anos de trabalho ... Mas você merece. Aqui está um @@. Use-o sabiamente, muitas armaduras podem ser forjadas com ele.
+
+This didn't work. All pins are now unlocked!
+Isso não funcionou. Todos os pinos estão agora desbloqueados!
+
+This fertilizer is projected to protect the plants from plagues, bugs, scorpions and maggots, trying to don't be a plague on itself.
+Este fertilizante é projetado para proteger as plantas de pragas, insetos, escorpiões e vermes, tentando não ser uma praga sobre si mesmo.
+
+This file must be requested due not being public.
+Este arquivo deve ser solicitada devido não ser público.
+
+This girl is lucky we found her before a shark did. I have no idea where she comes from.#0
+Essa garota tem sorte que a encontramos antes de um tubarão. Não faço ideia de onde ela veio.
+
+This guy is lucky we found him before a shark did. I have no idea where he comes from.#1
+Esse rapaz tem sorte que o encontramos antes de um tubarão. Não faço ideia de onde ele veio.
+
+This guy needs help, we need to rescue him!#1
+Esse garoto precisa de ajuda, precisamos resgatá-lo!
+
+This is ##BCandor Island##b. A very small community lives here.
+Essa é a ##BIlha de Candor##b. Uma comunidade bem pequena vive aqui.
+
+This is a menu, click on the option and then on send. You can use arrow keys if you prefer.
+Este é um menu, clique na opção e, em seguida, em enviar. Você pode usar as teclas de seta, se preferir.
+
+This is not a weapon. Wait, you don't want to explode it, right?!
+Isto não é uma arma. Espere, você não quer explodir, né ?!
+
+This is not the first time you're arrested for AFK botting, so, NO!
+Esta não é a primeira vez que está preso por AFK bots, por isso, não!
+
+This is the @@ skill. It transmutes @@ @@ and a single @@ in @@.
+Esta é a habilidade @@ Transmuta @@ @@ e um único @@ em @@.
+
+This menu allows you to change your skills.
+Este menu permite que você mude suas habilidades.
+
+This server's Sponsors bought the area above Hurnscald's Inn. Nobody else is being allowed there.
+Os patrocinadores deste servidor compraram a área acima do Hurnscald's Inn. Ninguém mais está sendo permitido lá.
+
+This skill can be further improved with Job Points
+Esta habilidade pode ser melhorada com os Job Points
+
+This somehow affected the whole economy.
+Isso de alguma forma afetou toda a economia.
+
+This useful skill will only require:
+Esta habilidade útil exigirá apenas:
+
+This was caused because changes on the Mana Bridge. They hope that for next release, everyone will be able to use these magic words, instead of needing to talk to the Soul Menhir.
+Isso foi causado por mudanças na Mana Bridge. Eles esperam que, para o próximo lançamento, todos possam usar essas palavras mágicas, em vez de precisar falar com o Menhir da Alma.
+
+This well is too deep and you don't have a bucket.
+Este poço é muito profundo e você não tem um balde.
+
+This will be the last task. Besides the @@, the strongest monster on this island worth killing is the @@.
+Esta será a última tarefa. Além do @@, o monstro mais forte desta ilha que vale a pena matar é o @@.
+
+Three new swords are now obtainable, although Broadsword is still the best weapon around. Except on Heroes Hold.
+Três novas espadas agora podem ser obtidas, embora Broadsword ainda seja a melhor arma ao redor. Exceto em Heroes Hold.
+
+Titanium Ore and COal refunded on Leather Quiver update.
+Titanium Ore e carvão reembolsado na atualização Quiver de couro.
+
+To @@ @@ you'll need @@/@@ point(s).
+Para @@ @@ você precisará @@ / ponto (s) @@.
+
+To change your base level, use this command:
+Para alterar seu nível base, use este comando:
+
+To change your job level, use this command:
+Para alterar o seu nível de emprego, use este comando:
+
+To change your stats, use these commands:
+Para alterar suas estatísticas, use estes comandos:
+
+To counter-act this, nicholas lowered craft prices, and the folks at LoF are doing their best at refines.
+Para neutralizar isso, Nicolau baixou os preços do artesanato e o pessoal da LoF está fazendo o melhor que pode para refinar.
+
+To discard an item you no longer want, select it and press the 'Discard' button. Generic items can be discarded or sold. But equipment can only be sold.
+Para descartar um item que você não deseja mais, selecione-o e pressione o botão 'Descartar'. Itens genéricos podem ser descartados ou vendidos. Mas o equipamento só pode ser vendido.
+
+To get the current rate:
+Para obter a taxa atual:
+
+To go there you need to go left, follow rock wall and go up when you can, entrance of Bandit cave is at left side of waterfall.
+Para ir até lá você precisa ir para a esquerda, seguir a parede de pedra e subir quando puder, a entrada da caverna Bandit fica do lado esquerdo da cachoeira.
+
+To make @@ I need one from each gem powders, and 800 GP for commission.
+Para fazer @@ eu preciso de um de cada pó de gema e 800 GP para comissão.
+
+To move between characters that are on different accounts, you have to use the Trade function.
+Para mover entre caracteres que estão em contas diferentes, você precisa usar a função Trade.
+
+To perform most actions, like feeding and renaming, just right-click it. You can even put it back on the egg if its following gets too annoying.
+Para executar a maioria das ações, como alimentar e renomear, basta clicar com o botão direito do mouse. Você pode até colocá-lo de volta no ovo se o seguinte ficar muito chato.
+
+To perform most actions, like feeding and renaming, just right-click it. You can even put it back on the egg if its following gets too annoying. When in the egg, they would fell hunger.
+Para executar a maioria das ações, como alimentar e renomear, basta clicar com o botão direito do mouse. Você pode até colocá-lo de volta no ovo se o seguinte ficar muito chato. Quando no ovo, eles teriam fome.
+
+To reset back to normal:
+Para redefinir de volta ao normal:
+
+To set the drop rate:
+Para definir a taxa de queda:
+
+To set the exp rate:
+Para definir a taxa de exp:
+
+Today at 16:30 UTC we are going to attack the Monster King by surprise. There will be no delays, so be there.
+Hoje às 16:30 UTC nós vamos atacar o Rei Monstro de surpresa. Não haverá atrasos, então esteja lá.
+
+Togheter, they wrote legends. They slayed Toby Rick the Desert Worm, the mightiest desert beast.
+Juntos, eles escreveram lendas. Eles mataram Toby Rock, o Verme do Deserto, a mais poderosa besta do deserto.
+
+Too bad, There is some really good news this week. Things like how to go to Candor for only 200GP.
+Muito ruim, há algumas boas notícias esta semana. Coisas como ir a Candor por apenas 200GP.
+
+Too bad, because that wasn't implemented yet!
+Que pena, porque isso ainda não foi implementado!
+
+Trade 2 Pearl for a Silver Gift + a Bronze Gift
+Trade 2 Pearl para um presente de prata + um presente de bronze
+
+Transmutation - @sk-trans
+Transmutação - @ sk-trans
+
+Treasure chests have been seen on dungeons, always changing places and refilling themselves.
+Baús de tesouro foram vistos nas masmorras, sempre mudando de lugar e se reabastecendo.
+
+Trickster uses an experimental window, you might need to resize it to see all skills.
+Malandro usa uma janela experimental, pode ser necessário para redimensioná-la para ver todas as habilidades.
+
+Triggers an attack speed buff when using two swords.
+Aciona um buff de velocidade de ataque ao usar duas espadas.
+
+Try helping the city guard. Many quests can be found around the city. There are also some on the mines, you should visit it.
+Tente ajudar a guarda da cidade. Muitas missões podem ser encontradas ao redor da cidade. Há também algumas nas minas, você deve visitá-lo.
+
+Try talking to Soul Menhir or with any NPC on Tulimshar Centre (near Soul Menhir).
+Tente falar com Soul Menhir ou com qualquer NPC no Tulimshar Center (perto de Soul Menhir).
+
+Tsc...! I'll need reinforcements!
+Tsc ...! Vou precisar de reforços!
+
+Tulimshar - 7,500 GP
+Tulimshar - 7.500 GP
+
+Tulimshar Guardhouse's door was struck, but the guards managed to get it open again.
+A porta da Tulimshar Guardhouse foi atingida, mas os guardas conseguiram abri-la novamente.
+
+Tulimshar Guards bought a Slot Machine to play, but that was done unofficialy.
+Os guardas de Tulimshar compraram um caça-níqueis para jogar, mas isso foi feito de forma não-oficial.
+
+Tulimshar Jewerly is now polishing gemstones to add on rings. New monsters were seen, stay on guard.
+A Tulimshar Jewelry está agora polindo pedras preciosas para adicionar anéis. Novos monstros foram vistos, fique de guarda.
+
+Tulimshar Jewerly is once again open. Cyndala and Tamiloc rented a shop south of Tulimshar.
+A jóia de Tulimshar está aberta outra vez. Cyndala e Tamiloc alugaram uma loja ao sul de Tulimshar.
+
+Tulimshar miners are having troubles with monsters. They are offering rewards to whoever helps them.
+Os mineiros de Tulimshar estão tendo problemas com monstros. Eles estão oferecendo recompensas para quem os ajuda.
+
+Tulimshar miners mainly try to optain gems.
+Os mineiros de Tulimshar tentam principalmente obter gemas.
+
+Tulimshar mines overrun! Great rewards for a lending hand!
+Minas de Tulimhar superadas! Grandes recompensas para uma mão de empréstimo!
+
+UDT Challenge Ranking
+UDT Desafio Ranking
+
+UDT Challenge, @@ began the fight!
+Desafio UDT, @@ começou a luta!
+
+Uhm, maybe I could teach you something, too. Go mine 10 @@. You should find some at northeast of the Island.
+Uhm, talvez eu possa te ensinar uma coisa também. Vá meu 10 @@. Você deve encontrar alguns no nordeste da ilha.
+
+Uhm... Bye?
+Uhm ... Bye?
+
+Unexplained Mountain Snake
+Cobra da Montanha inexplicada
+
+Unfinished script, blame Jesusalva, he decided to work on Hurnscald before my cherry cakes.
+Escrita inacabada, culpam Jesusalva, ele decidiu trabalhar em Hurnscald antes dos meus bolos de cereja.
+
+Unfortunately, Tulimshar guards are dying in the sun. Maybe you could provide them with Water?
+Infelizmente, os guardas de Tulimshar estão morrendo ao sol. Talvez você possa fornecer água para eles?
+
+Unless you have an @@, it'll be difficult to track progress on Mana Magic, and you won't really gain any mana experience for a while.
+A menos que você tenha um @@, será difícil acompanhar o progresso em Mana Magic, e você não receberá nenhuma experiência de mana por um tempo.
+
+Updates disabled, daily login reward: 1,000 GP
+Atualizações desativado, recompensa login diário: 1.000 GP
+
+Use the key.
+Use a chave.
+
+Use the normal route?
+Use o caminho normal?
+
+Useful in PvP when your enemy have equipped a @@
+Útil em PvP quando seu inimigo tiver equipado um @@
+
+User account safety is at stake, too, so I'll move this crap to a blackbox once done.
+A segurança da conta do usuário também está em risco, então vou passar essa porcaria para uma caixa preta assim que terminar.
+
+Various people already went missing, including GMs. This is why if you plan to cross, @@.
+Várias pessoas já desapareceram, incluindo os GMs. É por isso que se você pretende atravessar, @@.
+
+Various people already went missing. We are not allowing anyone to pass, not even GMs!
+Várias pessoas já desapareceram. Nós não estamos permitindo que ninguém passe, nem mesmo mestres!
+
+Vault
+Cofre
+
+Vitality determines how resistant you are to attacks and how many blows you can take before you die.
+A vitalidade determina quão resistente você é aos ataques e quantos golpes você pode sofrer antes de morrer.
+
+Vitality determines how resistant you are to attacks and how many blows you can take before you die. It also affects status effects, like poison.
+A vitalidade determina quão resistente você é aos ataques e quantos golpes você pode sofrer antes de morrer. Também afeta os efeitos do status, como veneno.
+
+WARNING: Certify target account is offline.
+AVISO: conta de destino Certificar está offline.
+
+WARNING: Desert Canyon locked down due major bugs
+AVISO: Desert Canyon bloqueado devido a grandes erros
+
+WARNING: If you leave the subclass, you'll lose all skills related to it!
+AVISO: Se você deixar a subclasse, perderá todas as habilidades relacionadas a ela!
+
+WARNING: This path has been locked down due to major bugs
+AVISO: Este caminho foi bloqueado devido a erros graves
+
+WARNING: Use @ucp to change @@.
+AVISO: Use @ucp para alterar @@.
+
+WARNING: You still need the @@ to learn new recipes!
+AVISO: Você ainda precisa do @@ para aprender novas receitas!
+
+WHAT? How can you ever do a party without beer?!
+O QUE? Como você pode fazer uma festa sem cerveja ?!
+
+Wait a minute... This is written in Mananese! I can't read!
+Espere um minuto ... Esta é escrito em Mananese! Eu não posso ler!
+
+Wait, if you try to melt more than one item at login, manaplus will get buggy.
+Espere, se você tentar derreter mais de um item no início da sessão, manaplus terá buggy.
+
+Wait, it seems someone is blocking the door from the other side!
+Espere, parece que alguém está bloqueando a porta do outro lado!
+
+Wait, you never came here before?
+Espere, você nunca veio aqui antes?
+
+Wait. A ship? Where are you, after all?
+Espere. Um barco? Onde você está afinal?
+
+Wands are also being sold, and other stuff from the Land Of Fire slowly creeps in.
+As varinhas também estão sendo vendidas, e outras coisas da Terra do Fogo se arrasta lentamente.
+
+Wardrobe#RES_0096
+Guarda-roupa#RES_0096
+
+Wardrobe#RES_0097
+Guarda-roupa#RES_0097
+
+Wardrobe#RES_0177
+Guarda-roupa#RES_0177
+
+Wardrobe#RES_0178
+Guarda-roupa#RES_0178
+
+Warning: If you join a subclass, you can't leave it later!
+Aviso: Se você entrar em uma subclasse, não poderá sair mais tarde!
+
+Warning: This class haven't been tested/balanced yet. Feedback is required!
+Aviso: esta classe ainda não foi testada / balanceada. O feedback é obrigatório!
+
+We apologize to all, but the Land Of Fire CRASHED here, and broke the whole balance! Part of woodlands flooded!
+Pedimos desculpas a todos, mas a Terra do Fogo bateu aqui e quebrou todo o equilíbrio! Parte das florestas inundadas!
+
+We are @@ since the last great attack from the Monster King.
+Nós somos @@ desde o último grande ataque do Rei Monstro.
+
+We are at half a day from our final destination, by the time that you wake up I'm sure that we will be there!
+Estamos a meio dia do nosso destino final, no momento em que você acordar, tenho certeza de que estaremos lá!
+
+We arranged a small underground room for that, while the Colliseum doesn't get done.
+Nós organizamos uma pequena sala subterrânea para isso, enquanto o Coliseu não é feito.
+
+We can't let you die from hunger! That wouldn't be cool at all! And I'm very cool!
+Não podemos deixar você morrer de fome! Isso não seria legal em tudo! E eu sou muito legal!
+
+We have two main groups, entitled classes: The Magic Warriors, and the Wizard Mages.
+Nós temos dois grupos principais, classes autorizadas: The Magic Warriors, e o Wizard Mages.
+
+We mean, some are giving stupid amounts of experience, and players can get more levels. Saulc cannot proccess that many changes!
+Quer dizer, alguns estão dando quantidades estúpidas de experiência, e os jogadores podem obter mais níveis. Saulc não pode processar muitas mudanças!
+
+We must defeat the commanders to avoid major damage to them!
+Devemos derrotar os comandantes para evitar grandes danos a eles!
+
+We only require a small fee of 1 @@, or 40 @@
+Apenas exigimos uma pequena taxa de 1 @@ ou 40 @@
+
+We only require a small fee of 1 @@, or 40 @@, or 500 @@ if you are poor adventurer.
+Nós só exigimos uma pequena taxa de 1 @@, ou 40 @@, ou 500 @@ se você é um aventureiro pobre.
+
+We regret to inform...
+Lamentamos informar...
+
+We speak various languages on this world. Let's try gesturing!#0
+Nós falamos muitas línguas nesse mundo. Vamos tentar fazer gestos!
+
+We speak various languages on this world. Let's try gesturing!#1
+Nós falamos muitas línguas nesse mundo. Vamos tentar fazer gestos!
+
+We thought that you could help us understand this, all we know is that we found you cast in the sea, adrift on your raft.
+Nós pensamos que você poderia nos ajudar a entender isso, tudo o que sabemos é que encontramos você no mar, à deriva na sua jangada.
+
+We tried to clean them but the sea water mostly destroyed them. It's why we gave you these clothes. They're not very nice, but that's all that we have for you.#0
+Nós tentamos limpar suas roupas mas a água salgada as destruiu. Por isso nós te demos essas roupas novas. Elas não são muito legais, mas isso é tudo que temos para você.
+
+We tried to clean them but the sea water mostly destroyed them. It's why we gave you these clothes. They're not very nice, but that's all that we have for you.#1
+Nós tentamos limpar suas roupas mas a água salgada as destruiu. Por isso nós te demos essas roupas novas. Elas não são muito legais, mas isso é tudo que temos para você.
+
+We use swords and bows to protect the people, and we use magic to spice things up! Because we're strong even without it!
+Usamos espadas e arcos para proteger as pessoas, e usamos magia para apimentar as coisas! Porque somos fortes mesmo sem isso!
+
+We want to party this moment, but can you believe we ran out of beer?
+Queremos festejar esse momento, mas você acredita que ficamos sem cerveja?
+
+We wish you a merry Christmas! And a happy new year!!
+Desejamos-lhe um feliz natal! E um Feliz Ano Novo!!
+
+Weakness: VIT+
+Fraqueza: VIT +
+
+Welcome to the Priest guild!
+Bem-vindo à guilda dos sacerdotes!
+
+Welcome to the berserker guild!
+Bem-vindo à guilda dos berserker!
+
+Welcome to the paladin guild!
+Bem-vindo à guilda dos paladinos!
+
+Welcome to the sage guild!
+Bem-vindo à guilda sábia!
+
+Welcome to the tanker guild!
+Bem-vindo à guilda dos petroleiros!
+
+Welcome to the wizard guild!
+Bem-vindo à Guilda dos Magos!
+
+Welcome! I come from nowhere, and I hunt Mountain Snakes. One of their rare drops are the @@!
+Bem vinda! Eu venho do nada e eu caço Mountain Snakes. Uma de suas gotas raras é o @@!
+
+Welcome! I see you have @@ Monster Points. But that isn't enough to get items at your current level, sorry!
+Bem vinda! Eu vejo que você tem @@ Monster Points. Mas isso não é suficiente para obter itens no seu nível atual, desculpe!
+
+Welcome! I see you have @@ Monster Points. Would you like to exchange some of those for items?
+Bem vinda! Eu vejo que você tem @@ Monster Points. Gostaria de trocar alguns por itens?
+
+Well, I could burn @@ @@ to make Raw Coal and the Blue Sage would be none the wiser.
+Bem, eu poderia queimar @ @ @ para fazer Raw Coal e o Blue Sage não seria o mais sábio.
+
+Well, I did got some other things more, but I don't want to be an snob.
+Bem, eu tenho algumas outras coisas mais, mas eu não quero ser esnobe.
+
+Well, I'll give you 15 minutes of EXP RATE UP! How cool is that? Enjoy!
+Bem, eu vou te dar 15 minutos de EXP RATE UP! Quão legal é isso? Apreciar!
+
+Well, actually, you could help me, traveling to the World's Edge! Ah, that is such dangerous journey though... You are not level 150 yet, are you?
+Bem, na verdade, você poderia me ajudar, viajando para a borda do mundo! Ah, essa é uma jornada tão perigosa ... Você ainda não está no nível 150, está?
+
+Well, look at it: I did it!
+Bem, olhe para isso: eu fiz isso!
+
+Well, sorry, but only weapons and body armor can be refined.
+Bem, desculpe, mas apenas armas e armaduras podem ser refinadas.
+
+Well, that's a pity! I used to know the formula to make @@, but you know. Old age.
+Bem, isso é uma pena! Eu costumava conhecer a fórmula para fazer @@, mas você sabe. Velhice.
+
+Well, you already got the Dustynator, but you might want to collect more @@. They keep coming back, after all.
+Bem, você já tem o Dustynator, mas você pode querer coletar mais @@. Eles continuam voltando, afinal.
+
+Well, you clearly don't have a weapon. So, let me explain some quick.
+Bem, você claramente não tem uma arma. Então, deixe-me explicar um pouco rápido.
+
+Well... you did not succeed in opening this @@.
+Bem ... você não conseguiu abrir este @@.
+
+Wha, your magic power increased! How?! Ah, nevermind. You are eligible to get tier 2!
+O seu poder mágico aumenta! Como?! Ah deixa pra lá. Você é elegível para obter o nível 2!
+
+What about you bring me 100 @@ and 30 @@?
+E você me traz 100 @@ e 30 @@?
+
+What are the Alliance tasks?
+Quais são as tarefas da Aliança?
+
+What are you *hic* doing here? They are expiring! GO NOW!
+O que você está fazendo aqui? Eles estão expirando! Và AGORA!
+
+What are you going to do?
+O que você vai fazer?
+
+What body orifice should a babel fish be inserted in to work properly?
+Em qual orifício do corpo um peixe babel deve ser inserido para funcionar corretamente?
+
+What can I do now?
+O que eu posso fazer agora?
+
+What color is a Babel Fish?
+Que cor é um peixe de Babel?
+
+What did you expected, anyway?
+O que você esperava, afinal?
+
+What do I need to do to join?
+O que eu preciso fazer para participar?
+
+What do you think you are doing, anyway?!
+O que você acha que está fazendo, afinal ?!
+
+What game is played on earth as a relict of memories to an ancient war?
+Que jogo é jogado na terra como um relicário de memórias para uma guerra antiga?
+
+What if I give you 1000 GP for that job, is it ok?
+E se eu te der 1000 GP para esse trabalho, está tudo bem?
+
+What if I give you 850 GP for that job, is it ok?
+E se eu te der 850 GP para esse trabalho, tudo bem?
+
+What is Ford Prefect's nickname?
+Qual é o apelido do Ford Prefect?
+
+What is a class?
+O que é uma aula?
+
+What is the answer to life, the universe and everything?
+Qual é a resposta para a vida, o universo e tudo mais?
+
+What is the first name of the author of the hitchhikers guide?
+Qual é o primeiro nome do autor do guia de caronas?
+
+What is the last name of the author of the hitchhikers guide?
+Qual é o sobrenome do autor do guia do carona?
+
+What is the name of the Restaurant at the End of the Universe?
+Qual é o nome do Restaurante no Fim do Universo?
+
+What is the name of the Vogon home planet?
+Qual é o nome do planeta natal Vogon?
+
+What is the name of the computer on The Heart of Gold?
+Qual é o nome do computador em O Coração de Ouro?
+
+What is the name of the creature that is continually reincarnated and subsequently killed, each time unknowingly, by Arthur Dent?
+Qual é o nome da criatura que é continuamente reencarnada e subsequentemente morta, cada vez inconscientemente, por Arthur Dent?
+
+What is the name of the rock group claiming to be the loudest band in the universe?
+Qual é o nome do grupo de rock que afirma ser a banda mais barulhenta do universo?
+
+What is the name of the spaceship which was stolen by the president of the universe?
+Qual é o nome da espaçonave que foi roubada pelo presidente do universo?
+
+What is the name of the super computer?
+Qual é o nome do super computador?
+
+What race creates the worst poetry in universe?
+Que raça cria a pior poesia do universo?
+
+What should I do after taking these clothes?#0
+O que eu devo fazer depois de pegar essas roupas?
+
+What should I do after taking these clothes?#1
+O que eu devo fazer depois de pegar essas roupas?
+
+What star is near Ford's home planet?
+Qual estrela está perto do planeta natal de Ford?
+
+What two words are written in big friendly letters on the back cover?
+Quais são as duas palavras escritas em grandes letras amigáveis ​​na contracapa?
+
+What were the second most intelligent creatures on Earth?
+Quais foram as segundas criaturas mais inteligentes da Terra?
+
+What's that? He seems to be AFK but is not?
+O que é isso? Ele parece ser AFK mas não é?
+
+What's the name of the paranoid robot?
+Qual é o nome do robô paranoico?
+
+What? This reward is too small!
+O que? Essa recompensa é muito pequena!
+
+When you intimacy is high, it'll increase your stats and who knows, might even help you in combat!
+Quando sua intimidade é alta, aumentará suas estatísticas e, quem sabe, poderá ajudá-lo em combate!
+
+When your inventory is open, you can equip an item by selecting it and clicking 'Equip'. You can do the same to remove an item by clicking on 'Unequip'.
+Quando seu inventário for aberto, você pode equipar um item selecionando e clicando em 'Equipar'. Você pode fazer o mesmo para remover um item clicando em 'Desequipar'.
+
+Where are my old clothes?
+Aonde estão minhas antigas roupas?
+
+Which country does the human protagonist come from?
+De qual país o protagonista humano vem?
+
+Which of your weapons do you want to use in order to cut this @@?
+Qual de suas armas você quer usar para cortar este(a) @@?
+
+Which skill do you wish to change?
+Qual habilidade você deseja mudar?
+
+Who is responsible for the fjords of Norway?
+Quem é responsável pelos fiordes da Noruega?
+
+Who is the male human protagonist? First and last name only.
+Quem é o protagonista humano masculino? Primeiro e último nome apenas.
+
+Who will insult every living being in the universe, because he is immortal and getting bored?
+Quem irá insultar todos os seres vivos no universo, porque ele é imortal e fica entediado?
+
+Whoa! LoF merge wasn't entirely stable! After a terrible manaquake, everything,
+Uau! LoF merge não era totalmente estável! Depois de um terrível homem, tudo,
+
+Why are you here? This area is off-bounds!
+Por quê você está aqui? Esta área está fora dos limites!
+
+Why it sucks?
+Por que isso é uma droga?
+
+Why we're going Tulimshar, you may ask? Because well, believe me, if you want to find out anything, the best place to ask around is Tulim!
+Por que estamos indo Tulimshar, você pode perguntar? Porque bem, acredite, se você quiser descobrir alguma coisa, o melhor lugar para perguntar é Tulim!
+
+Windwalker - Increase walk speed and flee rate.
+Windwalker - Aumentar a velocidade de caminhada e fugir taxa.
+
+Winter this year is being really harsh! Fire is most important for us.
+O inverno deste ano está sendo muito duro! O fogo é mais importante para nós.
+
+Wisard Moccasins
+Mocassins Mágicos
+
+With renewed confidence about the outcome of the war, various people left their houses.
+Com confiança renovada sobre o resultado da guerra, várias pessoas deixaram suas casas.
+
+With two extra kilograms you can trade more, or bring thief-killing items! Good luck!
+Com dois quilos extras, você pode trocar mais, ou trazer itens para matar ladrões! Boa sorte!
+
+Wizard Mages
+Mago Mago
+
+Wizard Master
+Mago Assistente
+
+Wizard#0
+Arquimaga
+
+Wizard#1
+Arquimago
+
+Wood Manipulation - @sk-parum
+Manipulação de madeira - @ sk-parum
+
+Woody Wife
+Esposa amadeirada
+
+Woody is inside, he probably craft some stuff with animals pelts.
+Woody está dentro, ele provavelmente cria algumas coisas com peles de animais.
+
+Workers have closed Nivalis to repairs, due intense damage to town infrastructure.
+Os trabalhadores fecharam a Nivalis para reparos, devido a danos intensos à infraestrutura da cidade.
+
+Would you like to buy some?
+Você gostaria de comprar alguns?
+
+Wow! those pity gloves aren'st made for mining. They're almost ruined!
+Uau! aquelas luvas de pena não são feitas para mineração. Eles estão quase arruinados!
+
+Wyara tells she will now make Return Potions for those trusted by Hurnscald Staff!
+Wyara conta que agora fará Poções de Retorno para os que confiam na equipe de Hurnscald!
+
+XmasCake
+XmasCake
+
+YOU WERE BLESSED BY JESUSALVA
+VOCÊ FOI BÊNIDO POR JESUSALVA
+
+Yaya, you should go see her! She'll be happy to see you.#0
+Yaya, você deveria ir vê-la! Ela ficará feliz em te ver.
+
+Yaya, you should go see her! She'll be happy to see you.#1
+Yaya, você deveria ir vê-la! Ela ficará feliz em te ver.
+
+Yayayaya, it's the first time someone is dressed worse than us!
+Yayayaya, é a primeira vez que alguém se veste pior do que nós!
+
+Yeah sure let's Trade.
+Sim, claro, vamos Trade.
+
+Yeah, of course. I will teach you how to give first aid to people.
+Sim claro. Eu vou te ensinar como dar primeiros socorros para as pessoas.
+
+Yeah, of course. This one is rather useless and difficult to use, though.
+Sim claro. Este é um tanto inútil e difícil de usar, no entanto.
+
+Yellow Cotton Dye
+Tinta amarela para algodão
+
+Yes, I do.
+Sim eu quero.
+
+Yeti King
+Rei Yeti
+
+Yeye, you are really lucky to be alive. You are in good enough shape for walking, do you remember what happened?#0
+Yeye, você é realmente sortuda de estar viva. Você está forte o suficiente para andar sozinha, por acaso se lembra do que aconteceu?
+
+Yeye, you are really lucky to be alive. You are in good enough shape for walking, do you remember what happened?#1
+Yeye, você é realmente sortudo de estar vivo. Você está forte o suficiente para andar sozinho, por acaso se lembra do que aconteceu?
+
+Yeye.
+Yeye.
+
+You abandoned the BERSERKER class!
+Você abandonou a classe BERSERKER!
+
+You abandoned the PALADIN class!
+Você abandonou a classe PALADIN!
+
+You abandoned the PRIEST class!
+Você abandonou a classe PRIEST!
+
+You abandoned the SAGE class!
+Você abandonou a classe SAGE!
+
+You abandoned the TANKER class!
+Você abandonou a classe TANKER!
+
+You abandoned the WIZARD class!
+Você abandonou a classe WIZARD!
+
+You advanced your tier!
+Você avançou seu nível!
+
+You already did enough for us, do you want to follow Nard's advice and get some rest?
+Você já fez o suficiente por nós, quer seguir o conselho de Nard e descansar um pouco?
+
+You already purchased an arena, and password is @@
+Você já comprou uma arena e a senha é @@
+
+You are already registered for Valentine Event.
+Você já está registrado para Valentine Evento.
+
+You are currently hunting @@/10000 @@. When done, remember to claim rewards with Aidan, on Tulimshar!
+Você está atualmente procurando @@ / 10000 @@. Quando terminar, lembre-se de reivindicar recompensas com Aidan, em Tulimshar!
+
+You are killing @@ at northwest from the island.
+Você está matando @@ a noroeste da ilha.
+
+You are killing @@ at the beach.
+Você está matando @@ na praia.
+
+You are killing @@ at the storehouse.
+Você está matando @@ no armazém.
+
+You are killing @@. They are usually at the crops.
+Você está matando @@. Eles geralmente estão nas plantações.
+
+You are killing @@/45 @@ at the cave.
+Você está matando @@ / 45 @@ na caverna.
+
+You are killing @@/50 @@ at the cave.
+Você está matando @@ / 50 @@ na caverna.
+
+You are not allowed on this building, and was caught by Jesusalva's Police!!
+Você não é permitido neste edifício, e foi pego pela polícia de Jesusalva !!
+
+You are not using a weapon for a merciful (?) last blow.
+Você não está usando uma arma para um último golpe misericordioso.
+
+You are staff, so no complaining! Go do it yourself!
+Você é pessoal, então não se queixa! Vá fazer você mesmo!
+
+You are trying to lock the @@th pin. What will to do?
+Você está tentando bloquear o @@ th pin. O que vai fazer?
+
+You can also read The Book of Laws at any time to see the rules.
+Você também pode ler o Livro das Leis a qualquer momento para ver as regras.
+
+You can explore the city as you want, but if I were you, I would visit the townhall first.
+Você pode explorar a cidade como quiser, mas se eu fosse você, eu visitaria o townhall primeiro.
+
+You can fill this box with the following:
+Você pode preencher esta caixa com o seguinte:
+
+You can gain rares, even. Come register for this special program. It's free!
+Você pode ganhar raras, mesmo. Venha se registrar para este programa especial. É grátis!
+
+You can get close by feet, and there was an area so empty that you won't even notice the distance walked.
+Você pode chegar perto a pé, e havia uma área tão vazia que você nem notaria a distância percorrida.
+
+You can get up to @@ items.
+Você pode obter até @@ itens.
+
+You can only merge accounts after 2020-02-07!
+Você só pode mesclar contas após 2020/02/07!
+
+You can only merge accounts after 2020-02-20!
+Você só pode mesclar contas após 2020/02/20!
+
+You can only port one char level per person!
+Você só pode porta de nível um caractere por pessoa!
+
+You can think more info about this on these links:
+Você pode pensar mais sobre isso nesses links:
+
+You can use @@, Audsbel left the Magic School, and Marius is singing again.
+Você pode usar @@, Audsbel deixou a Magic School e Marius está cantando novamente.
+
+You can't carry more items, you should go to the storage.
+Você não pode carregar mais itens, você deve ir para o armazenamento.
+
+You can, and @@, register on both programs, but only one is required for this quest.
+Você pode, e @@, cadastre-se em ambos os programas, mas apenas um é necessário para esta missão.
+
+You cannot be hurt to do this trip.
+Você não pode se machucar para fazer esta viagem.
+
+You cannot be hurt, must have full mana, and must be in a area where the Mana Plane is connected so @toevent work.
+Você não pode se machucar, deve ter mana completa e deve estar em uma área onde o Avião de Mana esteja conectado de forma a @eviver o trabalho.
+
+You cannot bring anything to the arena. Please put everything on the storage.
+Você não pode trazer nada para a arena. Por favor, coloque tudo no armazenamento.
+
+You caught a @@!
+Você pegou um @@!
+
+You completed your trainment, so you're getting 50 bonus experience points. If you level up, use your stat points wisely!
+Você completou seu treinamento, então você está recebendo 50 pontos de experiência de bônus. Se você subir de nível, use seus pontos de atributos com sabedoria!
+
+You could found some bandit in Bandit cave. Yeah this name isen't give for nothing.
+Você poderia encontrar algum bandido na caverna Bandit. Sim, este nome não é dado por nada.
+
+You currently have @@/@@ subclass(es).
+Atualmente você tem @@ / @@ subclasse (es).
+
+You failed to reply captcha in time and was arrested for AFK Botting. You can use @jailtime to keep track of time left.
+Você não respondeu captcha no tempo e foi preso por AFK Botting. Você pode usar @jailtime para manter a noção do tempo esquerda.
+
+You faint from the pain, but at least now, you are in good hands.
+Você desmaia de dor, mas pelo menos agora, você está em boas mãos.
+
+You faint from the pain. At least now, you are in good hands.
+Você desmaia de dor. Pelo menos agora, você está em boas mãos.
+
+You got @@ Event Points for leaderboard position.
+Você tem @@ Event Points para a posição do leaderboard.
+
+You have an awful case of amnesia.
+Você tem um terrível caso de amnésia.
+
+You have collected and additional of @@/@@ Mob Points.
+Você coletou e adicional de @@ / @@ Mob Points.
+
+You have too much points. I can't allow you to take all at once right now. I'll try to give you 50, and you come back later!
+Você tem muitos pontos. Eu não posso permitir que você tome tudo de uma vez agora. Vou tentar dar 50 e você voltar mais tarde!
+
+You hear a loud scream. It must be the creaking of the wooden door...
+Você ouve um grito alto. Deve ser o rangido da porta de madeira ...
+
+You hide your shovel.
+Você esconde sua pá.
+
+You hit too hard with your fist, you destroyed your @@.
+Você bateu muito forte com sua mão, você destroiu seu @@.
+
+You hold the shovel in your hands.
+Você segura a pá nas suas mãos.
+
+You hold the shovel in your hands. What are you going to do?
+Você segura a pá nas suas mãos. O que você vai fazer?
+
+You just gained a Karma point, a Prism Gift, and 2000 Job Exp for your bravery!
+Você acabou de ganhar um ponto de Karma, um Dom de Prisma e um Exp Job de 2000 pela sua bravura!
+
+You just gained a Karma point, a Silver Gift, and 200 Job Exp for your bravery!
+Você acabou de ganhar um ponto Karma, um Silver Gift e 200 Job Exp por sua bravura!
+
+You know the Tulimshar Magic Council? The big building on Tulimshar North? There you can obtain a class.
+Você conhece o Conselho Mágico de Tulimshar? O grande edifício em Tulimshar North? Lá você pode obter uma aula.
+
+You lack money. Go sell your stuff. And don't ask why a statue needs money!
+Você não tem dinheiro. Vá vender suas coisas. E não pergunte por que uma estátua precisa de dinheiro!
+
+You learn fast, good job. These clothes aren't a mighty armor, but they'll help.
+Você aprende rápido, bom trabalho. Estas roupas não são uma armadura poderosa, mas ajudarão.
+
+You may be trapped forever inside the desert maze beyond help
+Você pode ficar preso para sempre dentro do labirinto do deserto além da ajuda
+
+You might have been affected. Please, select your desired language.
+Você pode ter sido afetado. Por favor, selecione o idioma desejado.
+
+You must be where the Monster King at 16:30 UTC sharply - no delays allowed!
+Você deve estar onde o monstro rei às 16:30 UTC acentuadamente - sem atrasos permitidos!
+
+You need 1x @@ to cast this skill.
+Você precisa de 1x @@ para lançar essa habilidade.
+
+You need 20x @@ to cast this skill.
+Você precisa de 20x @@ para conjurar essa habilidade.
+
+You need 5x @@ to cast this skill.
+Você precisa de 5x @@ para conjurar esta habilidade.
+
+You need @@ @@ and @@ to cast this skill.
+Você precisa de @@ @@ e @@ para lançar essa habilidade.
+
+You need @@ to cast this skill.
+Você precisa @@ para lançar essa habilidade.
+
+You need a Treasure Key to flip each switch, regardless of which cave it is in.
+Você precisa de uma chave de tesouro para virar cada interruptor, independentemente da caverna em que está.
+
+You need all your mana to do this trip.
+Você precisa de toda sua mana para fazer esta viagem.
+
+You need level 70 to use these guns, but if you want to start collecting materials, you're allowed to.
+Você precisa do nível 70 para usar essas armas, mas se você quiser começar a coletar materiais, poderá fazê-lo.
+
+You open a book named @@.
+Você abre um livro chamado @@.
+
+You open the book, but it looks like the sea water and time damaged it severely. Some pages are not readable anymore. Some others are simply missing.
+Você abre o livro, mas parece que a água do mar e o tempo o danificaram severamente. Algumas páginas não são mais legíveis. Alguns outros estão simplesmente desaparecidos.
+
+You open your eyes. The salt water is not helping your vision.
+Você abre seus olhos. A água salgada não está ajudando sua visão.
+
+You opened the @@ in two parts, but you crushed one of them.
+Você abriu o @@ em duas partes, mas você esmagou uma delas.
+
+You perfectly cut your @@ into two edible parts.
+Você corta perfeitamente seu @@ em duas partes comestíveis.
+
+You quickly give him the herbs, and he skillfully mix them on a potion.
+Você rapidamente lhe dá as ervas, e ele as mistura habilmente em uma poção.
+
+You receive @@ E!
+Você recebe @@ E!
+
+You received one @@!
+Você recebeu um @@!
+
+You see a dust covered book on the shelf...
+Você vê um livro coberto de poeira na prateleira ...
+
+You see, I was walking on the secret caves near Ched, and... well...
+Veja, eu estava andando nas cavernas secretas perto de Ched e ... bem ...
+
+You seem to be doing some money. Would you consider fighting for evil, and against all those whom make wealthy unworthly?
+Você parece estar fazendo algum dinheiro. Você consideraria lutar pelo mal e contra todos aqueles que tornam os ricos indignos?
+
+You seem to be doing some money. Would you consider fighting for good, and against all thieves?
+Você parece estar fazendo algum dinheiro. Você consideraria lutar pelo bem e contra todos os ladrões?
+
+You seem to run out of place, you should go to the storage.
+Você parece estar fora do lugar, você deve ir para o armazenamento.
+
+You should ask Tycoon.
+Você deveria perguntar ao Tycoon.
+
+You step on a trap!
+Você pisa em uma armadilha!
+
+You still have @@ Monster Points! Do you want more items?
+Você ainda tem @@ Monster Points! Você quer mais itens?
+
+You throw a coin on the well.
+Você joga uma moeda no poço.
+
+You will be killed on the road if you try to go like this. Try helping people. Get money, experience, equipment.
+Você será morto na estrada se tentar ir assim. Tente ajudar as pessoas. Ganhe dinheiro, experiência e equipamentos.
+
+You will then be able to register citzenship in any city, for free. But just once.
+Você poderá então registrar a cidadania em qualquer cidade gratuitamente. Mas apenas uma vez.
+
+You withdraw your shovel.
+Você retira sua pá.
+
+You'll also need to pay a fee of @@x @@
+Você também terá que pagar uma taxa de @@ x @@
+
+You're willing to help? Perfect. We need 3 @@, 4 @@ and 10 @@ for travel.
+Você está disposto a ajudar? Perfeito. Precisamos de 3 @@, 4 @@ e 10 @@ para viajar.
+
+Your @@ Knockback effect expired.
+O seu efeito @ @ Knockback expirou.
+
+Your account was merged.
+A sua conta foi incorporada.
+
+Your body aches. You can't remember what happened.
+Seu corpo dói. Você não consegue lembrar o que aconteceu.
+
+Your body aches. You can't remember what happened. But this is not important now. The ships sailors are shouting at you!
+Seu corpo dói. Você não consegue lembrar o que aconteceu. Mas isso não é importante agora. Os marinheiros do navio estão gritando com você!
+
+Your current maximum magic efficiency is @@. This book allows you many new possibilities.
+Sua atual máxima eficiência mágica é @@. Este livro permite muitas novas possibilidades.
+
+Your dexterity determines your ability to hit monsters and is valuable to players who prefer weapons that use projectiles.
+Sua destreza determina sua habilidade de acertar monstros e é valiosa para jogadores que preferem armas que usam projéteis.
+
+Your experience level has been updated.
+Seu nível de experiência foi atualizado.
+
+Your guild doesn't know any recipes.
+Sua guilda não conhece receitas.
+
+Your hands are too weak, you did not succeed in opening this @@.
+Suas mãos estão muito fracas, você não conseguiu abrir o(a) @@.
+
+Your help is very welcome indeed. Unfortunately, I can give you a reward for the first extermination only.
+Sua ajuda é muito bem vinda. Infelizmente, posso dar-lhe uma recompensa pelo primeiro extermínio apenas.
+
+Your items vanishes into thin air. What?!
+Seus itens desaparecem no ar. O que?!
+
+Your lack of magical power is critical. I dare say, you might never in your life get access to a Mana Stone.
+Sua falta de poder mágico é crítica. Eu ouso dizer, você pode nunca em sua vida ter acesso a uma Pedra de Mana.
+
+Your luck determines several small things, including the number of critical attacks you are going to suffer and perform.
+Sua sorte determina várias pequenas coisas, incluindo o número de ataques críticos que você vai sofrer e executar.
+
+Your mind is set? You will loose the color dye during this process.
+Sua mente está definida? Você perderá o corante durante este processo.
+
+Your mind is set? You will probably lose the color dye during this process.
+Sua mente está definida? Você provavelmente perderá o corante durante esse processo.
+
+Your position has been saved.
+Sua posição foi salva.
+
+Zegas, Saxso's widow, the mayor of Candor, decreed to allow strong adventurers to get past the Candor Cave Magic Barrier.
+Zegas, a viúva de Saxso, o prefeito de Candor, decretou permitir que fortes aventureiros passassem pela barreira mágica da Caverna de Candor.
+
+Zitoni announces he can now craft really good potions to improve attack speed and damage!
+Zitoni anuncia que agora ele pode criar ótimas poções para melhorar a velocidade de ataque e danos!
+
+[40 experience points]
+[40 pontos de experiência]
+
+[@@ Bolt]
+[Raio de @@]
+
+[@@ Weapon]
+[@@ Arma]
+
+[Action Casting]
+[Casting de ação]
+
+[Arrow Shield]
+[Escudo de seta]
+
+[Bash]
+[Bash]
+
+[Bless Weapon]
+[Bless Weapon]
+
+[Counter Defense]
+[Counter Counter]
+
+[Detoxify]
+[Desintoxicar]
+
+[Dragon Slayer]
+[Matador de dragão]
+
+[Endure]
+[Suportar]
+
+[Energy Coating]
+[Revestimento de energia]
+
+[Fire Ball]
+[Bola fogo]
+
+[Guard]
+[Guarda]
+
+[Holy Light]
+[Santa Luz]
+
+[Increase Agility]
+[Aumentar Agilidade]
+
+[Last Standing Man]
+[Último homem em pé]
+
+[Luma]
+[Luma]
+
+[MP Regen]
+[MP Regen]
+
+[Mana Wisdom]
+[Mana Sabedoria]
+
+[Napalm Beat]
+[Batida de Napalm]
+
+[Party Area Defense]
+[Defesa da área do grupo]
+
+[Redemption]
+[Redenção]
+
+[Ressurection]
+[Ressurreição]
+
+[Standing Regen]
+[Regeneração Permanente]
+
+[Two Hands Quicken]
+[Duas Mãos Rapidamente]
+
+a couple of
+alguns
+
+adams
+adams
+
+agrajag
+agrajag
+
+and may change later without notice.
+e pode mudar depois sem aviso prévio.
+
+arthur dent
+dente de arthur
+
+assigning 5 points to str, agi, dex and luck
+atribuindo 5 pontos para str, agi, dex e sorte
+
+begin UDT Challenge
+começar o Desafio da UDT
+
+betelgeuse
+betelgeuse
+
+big
+grande
+
+captcha ok
+captcha ok
+
+captcha successful
+captcha sucesso
+
+cold, hard, iron cell
+frio,, célula ferro duro
+
+correct
+corrigir
+
+cricket
+Grilo
+
+deep thought
+pensamento profundo
+
+delta
+delta
+
+disaster area
+área de desastre
+
+don't panic
+não entre em pânico
+
+doplhins
+golfinhos
+
+douglas
+Douglas
+
+ear
+orelha
+
+eddie
+eddie
+
+england
+Inglaterra
+
+hairstyle_config
+hairstyle_config
+
+heart of gold
+coração de ouro
+
+hinnack
+hinnack
+
+hmpf. That'll do.
+hmpf. Isso vai fazer.
+
+including the 178 monsters and who knows how many equipment, had numeric changes.
+incluindo os 178 monstros e quem sabe quantos equipamentos, tiveram alterações numéricas.
+
+is your target. They spawn smaller versions of itself! Kill @@ of them and make the beach safe for tourists.
+é o seu alvo. Eles geram versões menores de si mesmos! Mate @@ deles e torne a praia segura para os turistas.
+
+ix
+ix
+
+line @@: @@
+linha @@: @@
+
+marriage1
+casamento1
+
+marvin
+marvin
+
+milliways
+milliways
+
+not bad
+não é ruim
+
+npc2
+npc2
+
+npc6
+npc6
+
+pan galactic gargle blaster
+pan garbage blaster galáctico
+
+shall you decide to disregard this warning.
+você decidirá desconsiderar este aviso.
+
+slartibartfast
+slartibartfast
+
+the server jailed you
+o servidor te encarcerou
+
+to give double experience!
+para dar experiência em dobro!
+
+understood
+Entendido
+
+vogon
+vogon
+
+vogsphere
+vogsphere
+
+wowbagger
+wowbagger
+
+yellow
+amarelo
+
+you don't have the key.
+você não tem a chave.
+
+you got lucky and got a(n) @@!
+você teve sorte e conseguiu um (n) @@!
+
+↠Land Of Fire Village
+↠Vila da Terra do Fogo
+
+↠Northwest Avenue
+↠Avenida Noroeste
+
+↑ Houses, Exit
+↑ Casas, Saída
+
+↑ Inn, Houses, Northwest Avenue
+↑ Hotel, Casas, Avenidade Noroeste
+
+↑ Northwest Avenue
+↑ Avenida Noroeste
+
+↑ Unused House
+↑ Casa Não Utilizada
+
+→ Market Place
+→ Mercado
+
+→ Northeast Avenue
+→ Avenida Nordeste
+
+→ Transcendence Gate
+→ Portal da Transcedência
+
+↓ Houses, Lake Of Tears
+↓ Casas, Lago das Lágrimas
+
+↓ Transcendence Gate
+↓ Portão da Transcedência
+
diff --git a/langs/lang_pt_BR.txt b/langs/lang_pt_BR.txt
new file mode 100644
index 0000000..4bc4c51
--- /dev/null
+++ b/langs/lang_pt_BR.txt
@@ -0,0 +1,37909 @@
+Copyright (C) 2010-2021 TMW2 Team
+ 0 This file is automatically generated. Editing it will have no effect.
+
+
+ 1 Please translate at https://transifex.com/arctic-games/moubootaur-legends/ instead.
+
+
+ Fires of Steam
+
+
+ A fair all-rounder weapon; Stronger than you would expect and not so clumsy.
+
+
+ Actually, Lalica cursed one of my firestaves and it got a mind of its own D:
+Na verdade, Lalica xingou um dos meus firestaves e tem uma mente própria D:
+
+ But its splash damage does not stack, so be careful when adding options.
+
+
+ But the result is a fast weapon which is also powerful.
+Mas o resultado é uma arma rápida que também é poderoso.
+
+ I cut it in half, and to fix shooting speed, I added some extra cogs.
+Eu cortei ao meio e para fixar a velocidade de tiro, adicionei algumas engrenagens extras.
+
+ It can steal items or collect drops on the floor randomly. Also improves your evasion.
+
+
+ It didn't got too much lighter, and it got really weak compared to a bow.
+Não ficou muito mais claro e ficou muito fraco comparado a um arco.
+
+ It is also much weaker and less precise than a bow. But it is so fun using...
+Também é muito mais fraco e menos preciso que um arco. Mas é tão divertido usar ...
+
+ It is not that amazing, though. I will trade with you for more useful items.
+
+
+ It is the same as a bow, including in penalty. But it deals splash damage!
+É o mesmo que um arco, inclusive em penalidade. Mas isso causa dano por splash!
+
+ It was quite a challenge, and I still need Lalica to keep curse them.
+Foi um grande desafio, e eu ainda preciso Lalica para manter amaldiçoá-los.
+
+ Oh, and it comes with added shooting range, but it is slow as hell to reload.
+Ah, e vem com um alcance de tiro adicional, mas é lento para recarregar.
+
+ One have lots of powder to attack non-stop, but oh god that is heavy.
+Um tem muito pó para atacar sem parar, mas oh deus que é pesado.
+
+ See, I was lazy and there were only short knives around... So I made a Kunai.
+
+
+ The standard gunstaff! It is way stronger than a bow!
+O gunstaff padrão! É muito mais forte que um arco!
+
+ Then I found out that I could set the staff in flames using Everburn Powder!
+Então eu descobri que eu poderia definir a equipe em chamas usando Everburn pó!
+
+ You know, I wanted to make the powder explode when hitting!
+Você sabe, eu queria fazer o pó explodir quando bater!
+
+ (Hinnak's and Oscar's fields Pinkies may not count)
+(Os campos de Hinnak e Oscar podem não ser contados)
+
+ -- No, wait!
+- Não, espera!
+
+ . ´´. Don't let .. spell power .´..´ . .. fade away ...
+
+
+ Coins - Ancient Blueprint
+Moedas - Blueprint antiga
+
+ Coins - Arcmage Boxset
+Moedas - Archmage Box Set
+
+ Coins - Mercenary Boxset
+Moedas - Mercenary Boxset
+
+ Coins - Mysterious Fruit
+Moedas - Fruit Mysterious
+
+ It is not like you are strong enough to pick a fight with me so kindly leave before I get mad.
+
+
+ Take this key, it opens the door behind my throne.
+Tome esta chave, ele abre a porta atrás de meu trono.
+
+ What would people think of our village if they come accross a defeated noob wearing our proud colors!
+
+
+ for
+para
+
+ is the Inn, and you can rent an apartment there for 30 days.
+é a pousada, e você pode alugar um apartamento por 30 dias.
+
+"*psst, just follow what is outlined here to make it golden.*"
+
+
+".. can use this .. power..´. . .´. . . amplify a spell ..´.
+
+
+"Ah, hello there, @@. You've grown quite skilled lately.
+
+
+"Follow the light." - Weary traveler
+
+
+"Hey, have you already got the money necessary for the travel?
+
+
+"Many thanks! I'll be waiting for you, hiding on the ship's hold!"
+
+
+"Oh, I'm so glad you're taking care of those scary slimes. You're so brave! How many of them are still left, do you think? Will it be safe to go there soon?
+
+
+"Oh... Sorry, @@.
+
+
+"That's the only hard part. As long that you do not neglect Intelligence nor Job level...
+
+
+"Those whom believe the Pink Moouboo wear rock knifes at the entrances." - Aahna
+
+
+"Those whom stray from the light shall met a quick death." - Saulc, from the 'Blame Saulc' famous book
+
+
+"WHAT IS CRAFTED IN GUILD BELONGS TO GUILD."
+
+
+"Well, looks like you qualify!
+
+
+"When you're thirsty, you may look for me. I'm often in desert areas, but this time, the winter has come."
+
+
+"When you're thristy, you may look for me. I'm often in desert areas, but this time, the winter has come."
+
+
+##1DON'T MOVE until the signal. Stay ready! If you move, you will desync the client!
+
+
+##1The ship is under a pirate's attack! ##BKill all or survive!
+##1O navio está sob ataque de piratas@ ##BMate todos ou sobreviva!
+
+##1WARNING! WARNING! Siege starting at Candor!!
+##1WARNING! WARNING! Siege starting at Candor!!
+
+##1You abused a bug and will be jailed. If this was done in error, you have found a bug. Contact the nearest developer if this is the case.
+
+
+##2 %d Days login bonus: ##B2x %s, 1x %s##b
+
+
+##2 14 Days login bonus: ##B1x %s##b
+
+
+##2 21 Days login bonus: ##B1x %s##b
+
+
+##2 27 Days login bonus: ##B1x %s##b
+
+
+##2 3 Days login bonus: ##B1x %s##b
+
+
+##2 7 Days login bonus: ##B3x %s##b
+
+
+##2Daily login bonus: ##B%d EXP##b
+
+
+##2Daily login bonus: ##B%d GP##b
+
+
+##2Daily login bonus: ##B%d Job Exp.##b
+
+
+##2Guild's Weekly login bonus: ##B%d %s##b
+
+
+##9 %%A%%A%%A: @@.
+##9 %%A%%A%%A: @@.
+
+##9 %%B%%B%%B: @@.
+##9 %%B%%B%%B: @@.
+
+##9 %%C%%C%%C: @@.
+##9 %%C%%C%%C: @@.
+
+##9 %%D%%D%%D: @@.
+##9 %%D%%D%%D: @@.
+
+##9 %%E%%E%%E: @@.
+##9 %%E%%E%%E: @@.
+
+##9 %%F%%F%%F: @@.
+##9 %%F%%F%%F: @@.
+
+##9 777: @@.
+##9 777: @@.
+
+##9.:: Second Tier Quest - Time Remaining: @@ ::.
+##9.:: Quest do Segundo Tier - Tempo Restante: @@ ::.
+
+##9Hey wait... Your coin turned into a @@!
+
+
+##B%s: TOP 10##b
+
+
+##BFirst and foremost, you should talk to Trainer, inside the big house.##b
+##BAntes de mais nada, você deve conversar com o Treinador, dentro da casa grande.##b
+
+##BHall Of @@: TOP15##b
+##B Classificação de @@: 15 Melhores##b
+
+##BHall Of AFK: TOP 10##b
+
+
+##BHall Of Academics: TOP30##b
+
+
+##BHall Of Aurora: TOP10##b
+
+
+##BHall Of Candor's Bloodbath: TOP 10##b
+
+
+##BHall Of Crazyfefe Fight: TOP 10##b
+##BLuta de Crazyfefe: TOP 10##b
+
+##BHall Of Deaths: Reverse TOP10##b
+
+
+##BHall Of Fortune: TOP15##b
+##B Classificação de Fortuna: 15 Melhores##b
+
+##BHall Of Guild Level: TOP5##b
+##BMelhor Nível da Guilda: TOP5##b
+
+##BHall Of Honor: TOP 10##b
+
+
+##BHall Of Job Level: TOP15##b
+##BMaiores Níveis de Trabalho: TOP15##b
+
+##BHall Of Level: TOP15##b
+##B Classificação de Nível: 15 Mlehores##b
+
+##BHall Of UDT Challenge: TOP 10##b
+
+
+##BIMPORTANT:##b People usually doesn't shout, they talk. Because this, if you are too far, an NPC won't hear you.
+##BIMPORTANTE:##b As pessoas geralmente não gritam, elas falam. Por causa disso, se você estiver muito longe, um NPC não irá te escutar.
+
+##BLatest GM Commands##b
+##BÚltimos Comandos GM##b
+
+##BNOW YOU HAVE DONE IT!##b By the powers to me vested as a Constable and Game Master, I sentence you to HALF AN HOUR IN A %s!
+
+
+##BSincerity Island##b
+##BIlha da Sinceridade##b
+
+##BYou were robbed##b by an evil NPC.
+##BVocê foi roubado##b por um NPC malvado.
+
+##a(it would be way too messy anyway)##0
+##a(isso faria muita bagunça de qualquer forma)##0
+
+%%1 Cheer up, these should go back to normal when you level up. Just don't do that again!
+%%1 Anime-se, esses devem voltar ao normal quando você subir de nível. Apenas não faça isso novamente!
+
+%%3 You sadden me. That was so, so lame. I will need to punish you. Sorry. Superior orders. %%S
+%%3 Você me entristece. Isso foi tão, tão baixo. Eu terei que punir você. Desculpe. Ordens superiores. %%S
+
+%%4 Haven't you read your Grimorium yet?!
+%%4 Você ainda não leu o seu Grimório?!
+
+%%8
+
+
+%%@
+%%@
+
+%%@ Then wait until Saulc says they are safe!
+%%@ Então espere até Saulc dizer que são seguros!
+
+%%@ You can get Magic by joining class and subclass, and with some NPCs. These work out-of-box. Easy.
+%%@ Você pode obter Magias se juntando à uma classe e subclasse, e com alguns NPCs. Esses funcionam de maneira fácil.
+
+%%A
+%%A
+
+%%B
+%%B
+
+%%C
+%%C
+
+%%D
+%%D
+
+%%E
+%%E
+
+%%F
+%%F
+
+%%G
+%%G
+
+%%G Just like normal magic, you need power from the Mana Stone, which is based on your levels, intelligence, and mana.
+
+
+%%H
+%%H
+
+%%K
+%%K
+
+%%N
+%%N
+
+%%Q
+%%Q
+
+%%\\ that'll do.
+
+
+%%g
+%%g
+
+%%i What, my maximum life and mana just decreased! Noooo!!
+
+
+%%t
+%%t
+
+%d day streak! Gained %d bonus %s!
+
+
+%d vs %d: Honor (%d)
+% D% vs d: honra (% d)
+
+%d/%d %s
+% D /% d% s
+
+%d/%d %s killed
+
+
+%s
+
+
+%s %d pts - %d %s
+% S% d pts -% d% s
+
+%s %s will require:
+% S% s exigirá:
+
+%s (rare)
+
+
+%s - %s/%s HP, %s/%s MP
+
+
+%s - Modify Race
+
+
+%s But please be quick! I feel this world doesn't have much time left!
+
+
+%s GP and %d REP.
+
+
+%s Hero
+
+
+%s Monster Points, and a %s. That's my final offer.
+
+
+%s can also be obtained from %s, at a lower drop rate.
+% S também pode ser obtido a partir de% s, a uma taxa de queda inferior.
+
+%s died for your cause. How do you explain this?
+
+
+%s disembarks at %s.
+
+
+%s eyebrow furrows, as he brings the map closer to a torch.
+
+
+%s has EXILED %s from %s.
+
+
+%s has protected themselves from prying eyes. Your scry attempt failed.
+
+
+%s is a legendary hero.
+
+
+%s is by becoming a %s.
+% S é por se tornar um% s.
+
+%s is by impressing the town guard.
+% S é de impressionar o guarda da cidade.
+
+%s is currently a staff member.
+
+
+%s is currently sponsoring the High Alliance.
+
+
+%s is happy because you've paid %d GP in taxes!
+% S está feliz porque você pagou% d GP em impostos!
+
+%s is known as the Wizard of Aethyr. They say the elves which lived in Aethyr have became fairies, but contact has been lost long ago... I've heard it was a very pretty town north of here, though.
+
+
+%s is obtained during events, daily logins, heroic deeds, gifts, etc. But cannot be bought with real money.
+% S é obtido durante eventos, logins diários, feitos heróicos, presentes, etc. Mas não pode ser comprado com dinheiro real.
+
+%s lifts an eyebrow to you.
+
+
+%s makes a confused face.
+
+
+%s makes specialized weapons for high level players. If you tweak with Nicholas, in Hurnscald, the weapon options, you can get really powerful.
+% s marcas especializada armas para os jogadores de alto nível. Se você ajustar com Nicholas, em Hurnscald, as opções de armas, você pode ficar muito poderoso.
+
+%s refunded to level 1 for %d MSP
+% S devolvido ao nível de 1% para d MSP
+
+%s removed - YOU NOOB STOP CHEATING %%e%%Q
+
+
+%s seems to be asleep... Maybe we can wake him up somehow?
+
+
+%s slain!
+
+
+%s slaps you!
+
+
+%s stabs you to the chest!
+
+
+%s stabs you with a dagger!
+
+
+%s takes a paper from his drawer. It has your photo on it.
+
+
+%s thinks if she knows any major, good quest to do.
+% S acha que se ela sabe qualquer grande, boa busca para fazer.
+
+%s! I see you are a(n) %s here, very good!
+
+
+%s, %s in Magic Arts, Parity Level %d, tier %d mage.
+
+
+%s, a bit upset, tries to change subjects.
+
+
+%s, how in the world you got this status ailment?!
+
+
+%s, the Forgetful
+% S, o Esquecimento
+
+%s, you are pathetically weak.
+
+
+%s, you did your best to avenge a fallen comrade. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+
+%s, you did your best to entertain me. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+
+%s, you did your best to protect this world inhabitants. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+
+%s, you proved your worth today. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+
+%s, you're a good student. You will have a bright future if you keep studying.
+
+
+%s, your dedication is touching. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!
+
+
+%s... While you don't have the title of %s nor the flower of fae, nor have anything remotely important on your persona...
+
+
+%s/%s GP
+
+
+%s: %s (Lv %d) has appeared!
+
+
+%s: Once accepted, you must complete them before taking another one.
+
+
+%s: Thanks for helping.
+% S: Obrigado por ajudar.
+
+%s? You don't look so well. You should see a doctor immediately!
+
+
+%ss are lead by the %ss. Disposing of them would bring the bandits into disarray.
+
+
+%ss have infested the store houses, spilling onto the streets. Stop them from destroying even more food.
+
+
+'-' "Could you give me his shield? Pretty please? I need it to survive and bring Tulimshar goodies!"
+
+
+'.' "I forgot how to allocate points!"
+
+
+'Best'? So you can make other things?
+'Melhor'? Então você pode fazer outras coisas?
+
+'Some herbs and potion'? Could you be more specific?
+'Algumas ervas e poções'? Você poderia ser mais específico?
+
+'Them' whom?
+'Eles' quem?
+
+(...This probably could have been a great hint... if I knew who Mercury in first place %%L)
+
+
+(10,000 GP) Epic Mount
+
+
+(A mystical aura surrounds this stone. It probably can return you home. What do you do?)
+(Uma aura mística envolve esta pedra. Ela provavelmente pode te fazer retornar para casa. O que você faz?)
+
+(A mystical aura surrounds this stone. You feel mysteriously attracted to it. Something tells you to touch it. What do you do?)
+(Uma aura mística envolve esta pedra. Você se sente misteriosamente atraído à ela. Algo te diz para tocá-la. O que você faz?)
+
+(A strange barrier keeps you from touching the stone at this time.)
+(Uma estranha barreira te impede de tocá-la desta vez.)
+
+(A strange sensation flows through you. It feels like your soul leaves your body and becomes one with the stone. As suddenly as the feeling started it stops.)
+(Uma sensação estranha flui por você. É como se sua alma deixasse seu corpo e se tornasse uma com a pedra. Tão depressa quanto começou, a sensação para.)
+
+(All items must be placed exactly in this order.)
+(Todos os itens devem ser colocados exatamente nesta ordem.)
+
+(As suddenly as the feeling started it stops. The strange attraction is away from one moment to the next and the menhir feels like just an ordinary stone.)
+(Tão de repente quanto começou, a sensação para. A estranha atração desaparece, e a menir parece uma pedra ordinária.)
+
+(Click next button to advance dialogs)
+(Clique no botão "Próximo" para avançar os diálogos)
+
+(Don't respond)
+(Não responde)
+
+(Drink the tea, hoping for the best)
+(Beba o chá, esperando o melhor)
+
+(Even bandits doesn't breaks the rules. To see the rules, use ##B@rules##b.)
+
+
+(If you don't have anyone special to send these, send to @@. Perhaps they'll calm down with those T.T)
+(Se você não tem ninguém especial para enviá-los, envie para @@. Talvez eles se acalmem com esses T.T)
+
+(Leave the password blank to disable)
+(Deixe a senha em branco para desativar)
+
+(Note: Agostine will destroy low quality materials!)
+(Nota: Agostine irá destruir materiais de baixa qualidade!)
+
+(Passive) Increases Mana EXP/Control Gain rate.
+(Passiva) Aumenta Mana EXP / Taxa de controlo de ganho.
+
+(Passive) Raise Max HP and Holy Defense.
+(Passive) Raise Max HP e Santo Defesa.
+
+(Protip: Always use %s before engaging a different monster!)
+(Protip: sempre usar% s antes de se envolver um monstro diferente!)
+
+(Suddenly a strange sensation flows through you. It feels like your soul leaves your body and becomes one with the stone.)
+(De repente, uma sensação estranha flui por você. É como se sua alma deixasse seu corpo e se tornasse uma com a pedra.)
+
+(The girl now looks away sadly, thinking about what to say next.)
+(A garota agora olha para longe tristemente, pensando no que dizer em seguida.)
+
+(To see the rules, use ##B@rules##b.)
+(Para ver as regras, use ##B@rules##b.)
+
+(You touch the mysterious stone. Somehow it feels warm and cold at the same time.)
+(Você toca a pedra misteriosa. De alguma forma, há uma sensação de calor e de frio ao mesmo tempo.)
+
+(shivering) "Ah, how I am afraid of pious!"
+
+
+* %d %s
+*% D% s
+
+* %d/%d %s
+* D% /% d% s
+
+* %d/%d MSP (Magic Skill Points)
+* D% /% d MSP (Magic Nível Pontos)
+
+* %s
+*% s
+
+* %s Level up
+
+
+* %s/%s RP (Research Points)
+
+
+* (optional) Save the world!
+
+
+* +%d%% EXP Gain and Drop Chance, permanently
+
+
+* +1 Magic Skill Point
+* +1 Habilidade ponto mágico
+
+* +1 in all attributes, permanently
+
+
+* +3 Inventory Slots
+* +3 Slots de inventário
+
+* 1 %s
+* 1% s
+
+* 1 Trait
+
+
+* @@ @@
+* @ @ @@
+
+* @@ Water Bottle
+* @@ Garrafa de agua
+
+* @@/12 @@
+* @@ / 12 @@
+
+* @@/2 @@
+* @@ / 2 @@
+
+* @@/200 GP
+* @@ / 200 GP
+
+* @@/30 @@
+* @@ / 30 @@
+
+* @@/6 @@
+* @@ / 6 @@
+
+* @@/7.500 GP
+* @@ / 7.500 GP
+
+* @@/8 @@
+* @@ / 8 @@
+
+* @@/@@ @@
+* @@ / @@ @@
+
+* @@/@@ Base Level
+* @@/@@ Nível base
+
+* @@/@@ GP
+* @@ / @@ GP
+
+* @@/@@ Job Level
+* @@/@@ Nível de emprego
+
+* Acquired @@ @@!
+* Adquiriu um @@ @@!
+
+* Aid the Blue Sage in getting Peetu back to action
+* Ajude o Blue Sage a colocar Peetu de volta à ação
+
+* Ask Zegas, the mayoress, if she needs help.
+* Pergunte a Zegas, a prefeita, se ela precisa de ajuda.
+
+* Cards will be deleted after transfer is done.
+
+
+* Causes splash damage, and are very expensive.
+* Provoca dano em área e é muito caro.
+
+* Collect @@/@@ GP
+* Coletar @@ / @@ GP
+
+* Defeat the Assassin
+* Derrote o assassino
+
+* Deliver Nikolai's Letter to Frostia Mayor
+* Entregue a carta de Nikolai ao prefeito de Frostia
+
+* Donate blood at least once.
+* Doe sangue pelo menos uma vez.
+
+* Find clues
+
+
+* Gained %d EXP and %d Job EXP
+
+
+* Gained @@ EXP and @@ Job Exp
+* Ganhou @@ EXP e @@ Job Exp
+
+* Gained @@ GP
+* Ganhou @@ GP
+
+* Get trained by Valon, in the big house.
+* Seja treinado por Valon, na casa grande.
+
+* Has non-cumulative area of effect damage.
+
+
+* Healing items improved
+
+
+* Help Ayasha to take care of the kids.
+* Ajude Ayasha a cuidar das crianças.
+
+* Huge damage and more criticals, but slow fire rate.
+* Enorme dano e mais críticos, mas baixa taxa de fogo.
+
+* Impress %s
+
+
+* Invade the Fortress Town
+
+
+* Item obtained: %s
+* O artigo obtido:% s
+
+* Lightbringer is self-aware and cannot be given.
+
+
+* Low damage, highest attack speed from all.
+* Baixo dano, maior velocidade de ataque de todos.
+
+* Mage
+* Mago
+
+* Meet the Blue Sage
+* Conheça o Blue Sage
+
+* More equipment coming soon...
+* Mais equipamentos em breve ...
+
+* More for bandits than assassins or ninjas.
+
+
+* Options will be removed after transfer is done.
+
+
+* Refine will be lost after transfer is done.
+
+
+* Register as a Craftsman/Craftswoman.
+* Registo como um artesão / Craftswoman.
+
+* Register as a Monster Hunter
+* Cadastre-se como um Monster Hunter
+
+* Rent a room in Frostia's Inn
+* Alugue um quarto no Frostia's Inn
+
+* Rest at the Inn
+* Resto no Inn
+
+* Return to Hurnscald Townhall
+* Retornar para Hurnscald Townhall
+
+* Talk to Librarian in Halinarzo
+* Fale com o bibliotecário em Halinarzo
+
+* The only one hand ranged weapon you'll ever find!
+* A única arma de uma mão que você já encontrou!
+
+* Thief
+* Ladrao
+
+* Very quick and can be used in a single hand.
+* Muito rápido e pode ser usado em uma única mão.
+
+* Very quick, two handed, and evil.
+* Muito rápido, duas mãos, e do mal.
+
+* Win an Arena Match
+* Vença uma Batalha na Arena
+
+* become @@ Hero
+* Tornar-se Herói de @@
+
+*-* "Could you share those blueprints with me? Please?"
+
+
+*AFK: I am Away From Keyboard*
+* AFK: Eu sou longe do teclado *
+
+*CRASH*
+*BATIDA*
+
+*CREAK*
+*RANGER*
+
+*Don't fail me. If you do, ensure you're well past dead before.*
+* Não me falhar. Se você fizer isso, certifique-se que você está bem passado morto antes. *
+
+*Don't shout, you moron!*
+* Não grite, seu idiota! *
+
+*Hic*
+*Hic*
+
+*I'll give you two energy balls.*
+* Vou te dar duas bolas de energia. *
+
+*I'll take my leave, then.*
+* Eu vou levar minha licença, então. *
+
+*Opening eyes in a shock*
+
+
+*Roaaaaaar!*
+* Roaaaaar!
+
+*The Professor will never know what got him...*
+* O Professor nunca vai saber o que ele tem ... *
+
+*They* couldn't take hold of me, but I'm bound to this castle; I can't leave.
+* Eles * não podia tomar conta de mim, mas eu sou obrigado a este castelo; Eu não posso sair.
+
+*Ugh* Thanks for your help. Here... Take this, as promised.
+* Ugh * Obrigado pela sua ajuda. Aqui ... Tome isso, como prometido.
+
+*Yes, boss!*
+*Sim chefe!*
+
+*_* "Pretty please?"
+
+
+*are they gone...?*
+* Eles se foram ...? *
+
+*beeep*
+* beeep *
+
+*blushes*
+
+
+*burp*
+*burp*
+
+*chants more words, while the crystal hovers the potion*
+* canta mais palavras, enquanto o cristal paira a poção *
+
+*cheerful*
+*alegre*
+
+*click*
+*clique*
+
+*cough cough*
+*COF cof*
+
+*cries*
+* chora *
+
+*crying*
+*chorando*
+
+*drolls*
+* Drolls *
+
+*eyes widen up*
+* olhos se arregalam *
+
+*grumpf*
+* grumpf *
+
+*gulp* *gulp* *gulp*
+* gulp * * gulp * * gulp *
+
+*hehehe...*
+*hehehe...*
+
+*hurry up, your moron!*
+* Apressar, seu idiota! *
+
+*is everything ready?*
+*está tudo pronto?*
+
+*plim*
+* Plim *
+
+*put his glasses on*
+* coloque os óculos *
+
+*scream in pain*
+* Gritar de dor *
+
+*scream*
+*grito*
+
+*screams*
+
+
+*sigh*
+*suspiro*
+
+*sigh* Yet another failure... Transmutation and Nature Magic doesn't marry well.
+* Suspiro * No entanto, outro fracasso ... Transmutação e não Mágica da natureza não casar bem.
+
+*sighs*
+* suspira *
+
+*snap fingers*
+*Aperte os dedos*
+
+*sniff sniff*
+*Onomatopeia de cheirar*
+
+*sniff* *sniff*
+*Onomatopeia de cheirar*
+
+*snooze*
+*soneca*
+
+*sob sob*
+* sob soluço *
+
+*sorry, boss!*
+*perdão, chefe!*
+
+*tears weeling up*
+* lágrimas surgindo *
+
+*this sign is too blurred to read*
+
+
+*tut*
+*tut*
+
+*whisper whisper*
+
+
+*whistles*
+
+
+, and you have been banned from the Academy.
+
+
+, my name is Nikolai. I am a sage, and the owner of this place.
+meu nome é Nikolai. Eu sou um sábio e o dono deste lugar.
+
+- 5 @@, with 1200 GP, for a @@.
+- 5 @@, com 1200 GP, para um @@.
+
+- @@ @@
+- @@ @@
+
+- @@/@@ @@
+- @@ / @@ @@
+
+- @@/@@ GP
+- @@ / @@ GP
+
+- Boss give more Job experience, but as long that you keep killing, you'll keep gaining.
+- Boss dá mais experiência de trabalho, mas enquanto você continuar matando, você continuará ganhando.
+
+- Defeat the BOSS on each dungeon!
+- Derrote o CHEFE em cada masmorra!
+
+- Find a path to the island where she is hiding herself!
+
+
+- Get killed yourself.
+- Seja morto você mesmo.
+
+- Help the farmers. We rely a lot on agriculture.
+- Ajude os agricultores. Nós confiamos muito na agricultura.
+
+- I currently need your help with @@, but there's no reward.
+- Eu atualmente preciso da sua ajuda com @@, mas não há recompensa.
+
+- I currently need your help with @@.
+- Eu atualmente preciso da sua ajuda com @@.
+
+- I overheard rumors about a festival. Maybe someone needs help with their figurine?
+- Eu ouvi rumores de um festival. Talvez alguém precise de ajuda com seu figurino?
+
+- I think you can help the storehouse for some quick cash.
+- Eu acho que você poderia ajudar o armazém por algum dinheiro rápido.
+
+- If you fail, you'll need to pay me ingredients to try again!
+
+
+- Inside the big house is someone who can train you. All experience is handy!
+- Dentro da casa grande tem alguém que pode te treinar. Toda experiência é útil!
+
+- Instead, the party will be teleported ##Bto a forest.##b
+
+
+- Luvia is a powerful mage and Isbamuth is watching, so teleporting directly would be risky.
+
+
+- Players can prevent being scry'ed with %s
+
+
+- Some information like money won't be available.
+
+
+- Some of our crew are missing. They're probably wasting their time at beach.
+- Parte de nossa tripulação está em falta. Eles provavelmente estão desperdiçando seu tempo na praia.
+
+- Some sailors within this ship may need your help: Chef Gado, Dan, Peter... help them all and collect rewards!
+- Alguns marinheiros neste navio podem precisar de sua ajuda: Chefe Gado, Dan, Peter... ajude todos eles, e colete recompensas!
+
+- Target player must be online.
+
+
+- Teleport yourself away.
+- Teleporte-se para longe.
+
+- The Death of Andrei Sakar -
+
+
+- The farmer Nylo, who loves beer and money, seems to be having troubles with his crops.
+- O agricultor Nylo, que ama cerveja e dinheiro, parece estar tendo problemas com suas colheitas.
+
+- The goal is to rescue Luvia from Isabamuth. She has been ##Bbrainwashed##b.
+
+
+- The weapon master, Tolchi, could use your help. But she will most likely force you to visit Tulimshar in the end.
+- A mestre de armas, Tolchi, poderia fazer uso de sua ajuda. Mas ela provavelmente vai te forçar a visitar Tulimshar no final.
+
+- The weapon seller, Rosen, wanted to help new players to improve their equipment.
+- O vendedor de armas, Rosen, queria ajudar os novos jogadores a melhorar seus equipamentos.
+
+- There is a woman walking on the island, called Maya. Once she realises you're willing to help, she'll start paying well.
+- Há uma mulher andando na ilha, chamada Maya. Quando ela perceber que você está disposto a ajudar, ela vai começar a pagar bem.
+
+- Time runs out (25m).
+- O tempo acaba (25m).
+
+- To donate blood, go to the hospital and ask about it.
+- Para doar sangue, vá ao hospital e pergunte sobre isso.
+
+- You can always play with kids. Not very profitable, though.
+- Você sempre pode brincar com crianças. Não que isso seja muito lucrativo.
+
+-- Animals Protection Agency of Hurnscald
+-- Agência de Proteção aos Animais de Hurnscald
+
+-- Grandmaster
+
+
+-- In such event, Candor Underground B4F will be permanently unreachable for this char.
+
+
+-- Merlin
+- Merlin
+
+-- The Expedition
+-- A expedição
+
+-- Valia G.
+
+
+-- Zegas, the Mayoress
+- Zegas, a prefeita
+
+--- AND ANY OF ---
+
+
+--- OR ---
+--- OU ---
+
+-.- "I forgot how to fight!"
+
+
+. ´ power.. drains .. life..´. .´ focus . .not move at all´. ."
+
+
+...
+...
+
+... ... ...
+... ...
+
+... .... ....
+... ....
+
+... that looks like an incantation or something.
+
+
+...%s, as far as you should be concerned, this is an hostile land and I'm not your friend. You should use a weapon and a shield if possible. Never trust strangers, specially if they look like an assassin... exactly like me.
+
+
+...A tower, on this canyon. People disliked it, humans and all other races. The Mana War happened, bloodshed, and... The Monster War.
+
+
+...Actually, I'm drawing in a blank.
+
+
+...Actually, you seem like a capable adventurer. If you give me some ingredients I can't get, I'll give you a @@.#0
+
+
+...Actually, you seem like a capable adventurer. If you give me some ingredients I can't get, I'll give you a @@.#1
+
+
+...Alright then.
+
+
+...Although that's unlikely, I admit.
+
+
+...And at long last, the teddy's pot is full of honey.
+
+
+...And for some reason he took the apple and went further in the caves.
+... E por alguma razão ele tomou a maçã e foi mais longe nas cavernas.
+
+...And if you're still trying to check your pet stats, just hover it with your mouse. Thanks.
+...E se você ainda estiver tentando conferir as estatísticas do seu animal, passe o mouse sobre ele. Obrigado.
+
+...And stop! You took %s this time!
+
+
+...And trust me, it'll take way more than just water to put the fire down.
+... E confia em mim, vai levar mais do que apenas água para apagar o fogo.
+
+...Are you crazy?
+
+
+...Are you trying to troll me?
+
+
+...As you wish.
+
+
+...Assuming you can break a Mana Stone, that is.
+
+
+...Automatically retrying...
+
+
+...Besides, I have this nice @@ with me. I'm not low-level like you.
+... Além disso, eu tenho esse bom @@ comigo. Eu não sou de baixo nível como você.
+
+...Besides, I have this nice @@ with me. It's a reliable bow.
+... Além disso, eu tenho esse bom @@ comigo. É um arco confiável.
+
+...Blood.
+
+
+...But saving me won't be enough, so build trust by the kind gift of @@ @@. I'll be waiting.
+... Mas me salvar, não será suficiente, por isso, construir a confiança com o dom tipo de @@ @@. Estarei esperando.
+
+...But worry not, I have the right screwdriver for the job. So, are you up to bring me some Present Boxes?
+... Mas não se preocupe, eu tenho a chave de fenda certa para o trabalho. Então, você está pronto para me trazer algumas caixas de presentes?
+
+...Cocktail.
+
+
+...Coffee.
+
+
+...Dealing with scorpion stingers is a gamble, so we may need a few stingers before making a successful potion.
+... Lidar com ferrões de escorpião é uma aposta, então podemos precisar de alguns ferrões antes de fazer uma poção de sucesso.
+
+...Even if this is your fault. Anyway, ##Breturn to whoever sent you here##b and begone.
+
+
+...Foolish human... Do you really think I will attend your summon?
+... Humano tolo ... Você realmente acha que eu vou participar da sua convocação?
+
+...Go mind your own business, %s.
+
+
+...Good luck, @@. And be careful. If Sagratha decided to flee... It might be too strong for you.
+...Boa sorte, @@. E tenha cuidado. Se Sagratha decidiu fugir ... Pode ser forte demais para você.
+
+...Have you ever gone there yet?
+... Você já foi lá ainda?
+
+...Help... Me...
+...Ajude-me...
+
+...How do you know I'm not from this world?
+
+
+...I cannot fail to notice your deeds. Very well. Under my own authority, I authorize you to climb this holy tree.
+
+
+...I deposited everything on the bank. Sorry!
+
+
+...I don't think giving it this hat will really help...
+... Eu não acho que dar esse chapéu vai realmente ajudar ...
+
+...I don't think the teddy is sick, so there's no point giving it an Elixir.
+
+
+...I guess I can't hide anymore...
+... Eu acho que não posso esconder mais ...
+
+...I have no other choice, do I?
+... Eu não tenho outra escolha, posso?
+
+...I knew bandits were not be trusted, but Saul insisted in doing so. I hate him so much right now. Even if he is my brother.
+
+
+...I know it is hot in this desert, but if you don't wear some armor and a hat, monsters will get to you. Really harsh, nowadays.
+
+
+...I refuse to comment on this ridiculous idea.
+
+
+...I still need to cover up if they're mistaken. Give me a reason to tell you secrets, show me you're concerned with Tulimshar safety and don't want just to be strong.
+... Eu ainda preciso encobrir se eles estão enganados. Me dê uma razão para contar segredos, mostre que está preocupado com a segurança de Tulimshar e não queira apenas ser forte.
+
+...I'll be back later.
+...Voltarei mais tarde.
+
+...I'll take it.
+
+
+...If they decide to do so, they'll have to deal with weak magical attacks, and with quick mana depletion.
+... Se eles decidirem fazer isso, eles terão que lidar com ataques mágicos fracos e com esgotamento rápido de mana.
+
+...If you're lucky, you can touch it and receive magic power."
+
+
+...Incidents?
+... Incidentes?
+
+...It'll most likely attack you, instead.
+... Ele provavelmente irá atacar você, em vez disso.
+
+...Lalica, the witch, is still with us. And she came to complain that a petty thief stolen a very precious item of hers.
+... Lalica, a bruxa, ainda está conosco. E ela veio para reclamar que um ladrão roubou um item muito precioso dela.
+
+...More bugs.
+... Mais insetos.
+
+...No reaction...
+
+
+...Not yet.
+...Ainda não.
+
+...Of course. It was THEM. It gotta to be them!
+...Claro. Foi ELES. Tem que ser eles!
+
+...Oh, right! We locked it. Uhm, we'll open it for you. Be careful.
+
+
+...Okay, I asked you to explain, and you ended up wasting my time instead. %%n
+
+
+...Okay, I guess.
+
+
+...Okay, this is not fun anymore.
+... Ok, isso não é mais divertido.
+
+...Otherwise, they're too precious to sell to wanna be adventurers. Beer EXP Bonuses expire on death, you know?!
+... Caso contrário, eles são muito preciosos para vender para quer ser aventureiros. Bônus Cerveja EXP termina em morte, você sabe ?!
+
+...Poison.
+
+
+...Potion.
+
+
+...Tea.
+
+
+...Thanks, kind person.
+
+
+...That's your problem, not mine. I am an elf if you haven't noticed.
+... Esse é o seu problema, não meu. Eu sou um elfo se você não percebeu.
+
+...The ones who know a lot are dwarves, but they don't live here - they live with elves, it seems.
+... Aqueles que sabem muito são anões, mas eles não vivem aqui - eles vivem com elfos, parece.
+
+...This %s you have there. I haven't seen one for a while.
+
+
+...Try allocating some points in agility before we continue. I think %d should be suffice.
+
+
+...Unless, of course, if you're interested in learning this art. You'll not regret it, I assure you.
+... A menos, claro, se você estiver interessado em aprender essa arte. Você não vai se arrepender, garanto.
+
+...Until one day, past the sea, in Kolev's continent, they found a mana stone. Magic. This great breakthrough saved this continent, and saved our clan as well.
+
+
+...Water.
+
+
+...Well, I'll refund you 10% because it was not utterly terrible.
+
+
+...Well, but even if Hurnscald is nearby, you are too weak. You know sometimes, ships get attacked by pirates, right?
+... Bem, mas mesmo se Hurnscald está por perto, você é muito fraco. Você sabe, às vezes, os navios são atacados por piratas, certo?
+
+...What? Which item? Sorry, too much smoke around here.
+
+
+...What? You want @@? Five of them?!
+...O que? Você quer @@? Cinco deles ?!
+
+...Where's Barbara, the thief?
+... Onde está Barbara, o ladrão?
+
+...Yes. Hold tight.
+...Sim. Apertar.
+
+...Yes. It was there. Please report to Blue Sage at once.
+...Sim. Estava lá. Por favor, informe imediatamente ao Blue Sage.
+
+...You have courage. Many people tried and failed.
+... Você tem coragem. Muitas pessoas tentaram e falharam.
+
+...You need to learn magic before this equipment being useful to you in any way.
+... Você precisa aprender magia antes que este equipamento seja útil para você de alguma forma.
+
+...You still have not overcome his house.
+... Você ainda não superou a casa dele.
+
+...You're right. My medicine cannot heal you.
+...Você está certo. Meu remédio não pode curá-lo.
+
+...but it is saying some stuff about a merge which happened literally eons ago.
+... mas ele está dizendo alguma coisa sobre uma fusão que aconteceu, literalmente, há milhares de anos.
+
+...but it is written in Mananese, a language you know nothing about.
+... mas está escrito em Mananese, uma língua sobre a qual você não sabe nada.
+
+...for now.
+
+
+...who knows if there isn't a secret in that?
+... quem sabe se não há um segredo nisso?
+
+...wingless humanoids.
+
+
+..Anyone there?
+Alguém aí?
+
+.:: %s Recipe ::.
+
+
+.:: Accumulate Power ::.
+. :: acumular poder ::.
+
+.:: Alcohol Tutorial ::.
+. :: Ãlcool Tutorial ::.
+
+.:: All In One ::.
+
+
+.:: Archers Eye ::.
+. :: Archers Eye ::.
+
+.:: Area Provoke ::.
+. :: Ãrea Provoke ::.
+
+.:: Armageddon ::.
+. :: Armageddon ::.
+
+.:: Arrow Shower ::.
+. :: Seta Shower ::.
+
+.:: Backsliding ::.
+. :: Backsliding ::.
+
+.:: Bear Strike ::.
+
+
+.:: Brawling ::.
+
+
+.:: Chanting ::.
+
+
+.:: Ched's Summer 2018 ::.
+. :: Verão de Ched 2018 ::.
+
+.:: Ched's Summer 2019 ::.
+. :: Verão de Ched de 2019 ::.
+
+.:: Ched's Summer 2020 ::.
+. :: do Ched Verão 2020 ::.
+
+.:: Ched's Summer 2021 ::.
+
+
+.:: Ched's Summer 2022 ::.
+
+
+.:: Chocolate Day ::.
+. :: Dia do Chocolate ::.
+
+.:: Christmas 2018 ::.
+. :: Natal de 2018 ::.
+
+.:: Christmas 2019 ::.
+. :: Natal de 2019 ::.
+
+.:: Christmas 2020 ::.
+. :: Natal 2020 ::.
+
+.:: Christmas 2021 ::.
+
+
+.:: Christmas 2022 ::.
+
+
+.:: Congratulations ::.
+. :: Parabéns ::.
+
+.:: Congratulations! ::.
+. :: Parabéns! ::
+
+.:: Counter Attack ::.
+.:: Contra ataque ::.
+
+.:: Create PIN Code ::.
+. :: Criar código PIN ::.
+
+.:: Destructive Magic Class ::.
+. :: Destructive Magia Class ::.
+
+.:: Easter 2018 ::.
+. :: Páscoa 2018 ::.
+
+.:: Easter 2019 ::.
+. :: Páscoa 2019 ::.
+
+.:: Easter 2020 ::.
+. :: Páscoa 2020 ::.
+
+.:: Easter 2021 ::.
+
+
+.:: Easter 2022 ::.
+
+
+.:: FIND-THE-NPC 2018 MINI-EVENT WINNER ::.
+. :: ENCONTRE-O-NPC 2018 VENCEDOR MINI-EVENTO ::.
+
+.:: FIRST PLAYER TO COMPLETE GEMINI SISTERS QUEST ::.
+
+
+.:: FIRST PLAYER TO COMPLETE HEROES HOLD MASTER DUNGEON ::.
+. :: PRIMEIRO JOGADOR PARA COMPLETAR HERÓIS ESPERA MASTER DUNGEON ::.
+
+.:: FIRST PLAYER TO COMPLETE YETI KING QUEST ::.
+. :: PRIMEIRO JOGADOR A COMPLETAR A QUEST DO REI YETI ::.
+
+.:: FIRST PLAYER TO REBIRTH ::.
+. :: primeiro jogador a REBIRTH ::.
+
+.:: Falkon Strike ::.
+. :: Falkon greve ::.
+
+.:: Fire Arrow ::.
+.:: Flecha de fogo ::.
+
+.:: Fireball ::.
+.:: Bola fogo ::.
+
+.:: Firewalk ::.
+. :: Firewalk ::.
+
+.:: First Aid ::.
+.:: Primeiros socorros ::.
+
+.:: Fortress Island ::.
+. :: Fortaleza Ilha ::.
+
+.:: Free Cast ::.
+. :: Elenco gratuito ::.
+
+.:: Free Software Day ::.
+. :: Dia do Software Livre ::.
+
+.:: Frost Diver ::.
+. :: Geada Diver ::.
+
+.:: Frost Nova ::.
+. :: Frost Nova ::.
+
+.:: Full Throttle ::.
+. :: Full Throttle ::.
+
+.:: GEMINI ASSASSINS QUEST ::.
+
+
+.:: Gaia Break ::.
+
+
+.:: Ground Strike ::.
+. :: Greve terra ::.
+
+.:: Hasan Scorpion Killing Challenge 2018 ::.
+. :: Desafio Hasan de Matar Escorpiões 2018 ::.
+
+.:: Hasan Scorpion Killing Challenge 2019 ::.
+. :: Desafio Hasan de Matar Escorpiões 2019 ::.
+
+.:: Hasan Scorpion Killing Challenge 2020 ::.
+. :: Hasan Scorpion Killing Desafio 2020 ::.
+
+.:: Hasan Scorpion Killing Challenge 2021 ::.
+
+
+.:: Hasan Scorpion Killing Challenge 2022 ::.
+
+
+.:: Healing ::.
+.:: Cura ::.
+
+.:: Hit'n'Run Tactic ::.
+. :: Tática de Hit'n'Run ::.
+
+.:: Holy Light ::.
+.:: Santa Luz ::.
+
+.:: Impressive Hero Quest ::.
+
+
+.:: International Coffee Day ::.
+. :: Dia Internacional do Café ::.
+
+.:: Judgment ::.
+.:: Julgamento ::.
+
+.:: KAMELOT CASTLE, THE GUILD DUNGEON ::.
+. :: Kamelot CASTLE, a aliança DUNGEON ::.
+
+.:: Last Standing Man ::.
+. :: Last Man Standing ::.
+
+.:: Lightning Bolt ::.
+.:: Relâmpago ::.
+
+.:: Magic Strike ::.
+. :: Magia greve ::.
+
+.:: Magnus Healing ::.
+. :: Magnus Cura ::.
+
+.:: Main Quest 1-1 ::.
+. :: Missão Principal 1-1 ::.
+
+.:: Main Quest 1-2 ::.
+. :: Missão Principal 1-2 ::.
+
+.:: Main Quest 1-3 ::.
+. :: Missão Principal 1-3 ::.
+
+.:: Main Quest 2-%d ::.
+. :: quest principal 2-% d ::.
+
+.:: Main Quest 3-2 ::.
+. :: Missão Principal 3-2 ::.
+
+.:: Main Quest 4-1 ::.
+. :: Missão Principal 4-1 ::.
+
+.:: Main Quest 5-1 ::.
+. :: missão principal 5-1 ::.
+
+.:: Main Quest 6-1 ::.
+. :: missão principal 6-1 ::.
+
+.:: Main Quest 6-2 ::.
+. :: missão principal 6-2 ::.
+
+.:: Main Quest ::.
+
+
+.:: Mana Bomb ::.
+. :: Mana bomba ::.
+
+.:: Mana Wisdom ::.
+. :: Mana sabedoria ::.
+
+.:: Meteor Shower ::.
+
+
+.:: Meteor Strike ::.
+
+
+.:: Mission Failed ::.
+.:: Missão fracassada ::.
+
+.:: NOTABLE NAMES ON HURNSCALD LIBERATION DAY ::.
+. :: NOMES NOTÃVEIS NO DIA DA LIBERTAÇÃO DE HURNSCALD ::.
+
+.:: NOTABLE NAMES ON NIVALIS LIBERATION DAY ::.
+. :: NOMES NOTÃVEIS NO DIA DA LIBERTAÇÃO DE NIVALIS ::.
+
+.:: Napalm Beat ::.
+. :: Napalm batida ::.
+
+.:: Nature Wall ::.
+. :: Nature Recados ::.
+
+.:: Nilfheim ::.
+. :: Niflheim ::.
+
+.:: Open Beta 2019 ::.
+. :: Open Beta 2019 ::.
+
+.:: PVP King Imperial Arena ::.
+. :: PVP King Arena Imperial ::.
+
+.:: Physical Sciences Class ::.
+. :: Ciências Físicas Class ::.
+
+.:: Provoke ::.
+. :: Provoke ::.
+
+.:: Purple Day 2018 ::.
+. :: Dia Roxo 2018 ::.
+
+.:: Resurrection ::.
+
+
+.:: Scholarship Class ::.
+. :: Bolsa Class ::.
+
+.:: Second Tier Quest - Timed Out ::.
+. :: Second Tier Quest - Tempo esgotado ::.
+
+.:: Server Boom ::.
+
+
+.:: Sharpshooter ::.
+.:: Atirador afiado ::.
+
+.:: Stunning Strike ::.
+
+
+.:: Sudden Attack ::.
+.:: Ataque repentino ::.
+
+.:: Supreme Attack ::.
+. :: Ataque Supremo ::.
+
+.:: TMW-2 Anniversary ::.
+. :: Aniversário TMW-2 ::.
+
+.:: TMW2 Day ::.
+. :: Dia TMW2 ::.
+
+.:: Tempest ::.
+. :: Tempest ::.
+
+.:: Thanksgiving 2019 ::.
+. :: Ação de Graças 2019 ::.
+
+.:: Thanksgiving 2020 ::.
+. :: Ação de Graças 2020 ::.
+
+.:: Thanksgiving 2021 ::.
+
+
+.:: Thanksgiving 2022 ::.
+
+
+.:: Thanksgiving ::.
+.:: Ação de graças ::.
+
+.:: The Homunculus Keeping Manual ::.
+. :: O Manual de Manutenção do Homúnculo ::.
+
+.:: The Mouboo Temple ::.
+. :: O Templo Mouboo ::.
+
+.:: There are no skills ::.
+. :: Não há nenhuma habilidade ::.
+
+.:: This is Release 10.0 Infinity ::.
+. :: Esta é a liberação de 10,0 Infinito ::.
+
+.:: This is Release 9.5 Academy ::.
+. :: Esta é versão 9.5 Academy ::.
+
+.:: Transfer Mana ::.
+
+
+.:: Trick Dead ::.
+. :: Truque Morto ::.
+
+.:: Trickster Class ::.
+. :: Trickster Class ::.
+
+.:: Valentine Day ::.
+.:: Dia dos Namorados ::.
+
+.:: Victory ::.
+. :: Vitória ::.
+
+.:: Victory Conditions ::.
+. :: Condições de Vitória ::.
+
+.:: WARNING ::.
+.:: AVISO ::.
+
+.:: Windwalker ::.
+.:: Caminhante do vento ::.
+
+.:: Withdraw Conditions ::.
+. :: Retirar as Condições ::.
+
+.:: Worker Day 2018 ::.
+. :: Dia do Trabalhador 2018 ::.
+
+.:: Worker Day ::.
+. :: Dia do Trabalhador ::.
+
+.:: World's Hero Quest ::.
+. :: Herói do Mundo Missão ::.
+
+._. "What are these statuses useful for?"
+
+
+/ clear clears the text box.
+/ clear limpa a caixa de texto.
+
+/ help explains how to use all client commands.
+/ help explica como utilizar todos os comandos do cliente.
+
+/ mi does the same as @monsterinfo. Takes the monster name as argument and reports monster stats and drops.
+/ Mi faz o mesmo que @monsterinfo. Leva o nome monstro como argumento e relatórios monstro estatísticas e gotas.
+
+/ present shows the number of people in the neighbourhood.
+/ present mostra o número de pessoas na vizinhança.
+
+/ where shows the name of the map you are in.
+/ where mostra o nome do mapa em que você está.
+
+/ whisper [name] allows you to send a private message to the player. if [name] contains spaces, it must be enclosed in quotation marks.
+/ whisper [nome] permite enviar uma mensagem privada a um jogador. Se [nome] tiver espaços, ele deve estrar entre aspas.
+
+/who mostra o número de jogadores conectados no momento.
+/who mostra o número de jogadores conectados no momento.
+
+0.0 "No no, please no! I can propose you a great deal for your silence!"
+
+
+0022#DoorUpwards
+0022#PortaPraCima
+
+1 Hand Swords
+1 espadas de mão
+
+1 hour
+1 hora
+
+1,000 GP
+
+
+1- Survive. If you die, you will gain nothing. And people want to kill you.
+1- Sobreviva. Se você morrer, não ganhará nada. E as pessoas querem te matar.
+
+1- The coward families, who ran away when outlook was bad.
+1- As famílias covardes, que fugiram quando as perspectivas eram ruins.
+
+1- You must not be carrying anything with you.
+1- Você não deve estar carregando nada com você.
+
+1. Alcyone - 5,942
+
+
+1. Cassio - 43098
+1. Cassio - 43098
+
+1. Duke M - 16,016
+
+
+1. Investigate Kamelot Basements
+1. Investigar Kamelot Basements
+
+1. Jesusalva - 65
+1. Jesusalva - 65
+
+1. Leather - 4523
+
+
+1. Lilanna - 2498
+1. Lilanna - 2498
+
+1. Manatauro - 29504
+
+
+1. Mathias Cronqvist - 15000
+
+
+1. You must be at the computer to play. Using a bot ##Bwhile at computer##b will be tolerated.
+1. Você precisa estar no computador para jogar. Utilizar um robô ##Benquanto no computador##b será tolerado.
+
+1. YuckFou - 10,000,010 GP
+
+
+1. andulkaT - 100,001 GP
+
+
+1. andulkaT - 702
+
+
+1. poppet - 3056
+
+
+10 minutes
+10 minutos
+
+10 seconds!
+10 segundos!
+
+10,000 GP
+
+
+10. ##BDo not logout##b at Botcheck area or at Jail. We cannot unjail an offline player. The opposite of rule 9: If you believe you're right, keep your ground and explain calmly what happened. We'll calmly analyse the situation. If you were jailed without guilt, an apology will be sent to you, provided this rule is not broken.
+
+
+10th Place - Saulc (8)
+10º Lugar - Saulc (8)
+
+11. If you believe you are Not Guilty, but the GM deemed you guilty, request a ##BCouncil Trial##b. It's your right. In a Council Trial, we'll have multiple people giving the veredict. Any player may be called to compose the council. All admins shall take part in it. An arragment relative to time, date, and number of counsellors is to be made.
+
+
+12x Strange Coins
+12x Moedas Estranhas
+
+15 minutes
+15 minutos
+
+15 minutes.
+15 minutos.
+
+1600 GP
+1600 GP
+
+1st Place - Jesusalva (65)
+1º Lugar - Jesusalva (65)
+
+1st Place - Mishana, LawnCable, Jesusalva, bObr
+1º Lugar - Mishana, LawnCabo, Jesusalva, bObr
+
+1st Place - Povo (6 likes)
+
+
+1st step
+1º passo
+
+1° Screenshooting Contest
+1º Concurso de Capturas de Tela
+
+2
+2
+
+2 Hand Swords
+2 espadas de mão
+
+2 hours
+2 horas
+
+2,500 GP
+
+
+2- Take everything you can find. You'll be warped without equip or healing items! Kill monsters to get some stuff too!
+2- Pegue tudo que puder encontrar. Você será deformado sem equipar ou itens de cura! Mate monstros para pegar algumas coisas também!
+
+2- The defenders of the artifact, who lost their lives and left people behind.
+2- Os defensores do artefato, que perderam suas vidas e deixaram as pessoas para trás.
+
+2- You must not use a cart. If you do, YOU WILL BE SEVERELY PENALIZED.
+2- Você não deve usar um carrinho. Se fizer isso, VOCÊ SERà SEMPRE PENALIZADO.
+
+2. ##BDo not spam nor flood.##b This rule is not limited to public chat, actions ingame can be flooding too.
+2. ##BNão faça spam.##b Essa regra não está limitada ao chat público, ações repetidas excessivamente no jogo podem ser enquadradas nessa regra.
+
+2. Alcyone - 53,057 GP
+
+
+2. Free Kamelot from its curse!
+2. Kamelot livre de sua maldição!
+
+2. Gogo VII - 103
+
+
+2. Kolchak - 63
+2. Kolchak - 63
+
+2. Manatauro - 4386
+
+
+2. Mathias Cronqvist - 7,423,346 GP
+
+
+2. Povo - 10203
+
+
+2. Rill - 25955
+2. Rill - 25955
+
+2. Woody - 3637
+
+
+2. andulkaT - 1018
+
+
+2. andulkaT - 438
+
+
+2. andulkaT - 6,000
+
+
+2. seeds - 1167
+2. sementes - 1167
+
+20 Common Carps
+
+
+200 years ago, The Great Fire (%dm)
+
+
+2018 Event Winners
+2018 vencedores do evento
+
+2019 Event Winners
+2019 vencedores do evento
+
+2020 Event Winners
+2020 vencedores do evento
+
+2021 Event Winners
+
+
+2022 Event Winners
+
+
+20x Bug Leg
+Perna de 20x
+
+250,000 GP
+
+
+2nd Place - Kolchak (63)
+2º Lugar - Kolchak (63)
+
+2nd Place - Manatauro (5 likes)
+
+
+2nd step
+2º passo
+
+2x Bronze Gift
+2x Presente de Bronze
+
+2x Snake Egg
+2 x Ovos de Cobra
+
+2° Screenshooting Contest
+
+
+3
+3
+
+3- All items from the Arena are from the Arena. You won't carry any of them back with you.
+3- Todos os itens da Arena são da Arena. Você não vai levar nenhum deles de volta com você.
+
+3- The ancient families.
+3- As famílias antigas.
+
+3- Trust nobody. There can be only one winner, and it must be you.
+3- Confie em ninguém. Só pode haver um vencedor e deve ser você.
+
+3. ##BDo not trade invalid items, or try to cheat on trades.##b This includes any other kind of cheat or bug abuse, passive of account deletion and IP ban as stated by the Terms Of Service.
+3. ##BNão negocie itens inválidos, nem tente trapacear em trocas.##b Isso inclui qualquer outro tipo de trapaça ou abuso de bugs, passivo de deleção de conta e ban de IP como determinado pelos Termos de Serviço.
+
+3. G II - 4151
+
+
+3. Jesusalva - 310
+
+
+3. Povo - 1,275,000 GP
+
+
+3. Sharli - 4,419
+
+
+3. Woody - 1066
+3. Woody - 1066
+
+3. Xanthem - 56
+3. Xanthem - 56
+
+3. YuckFou - 9537
+
+
+3. caslu_jpg - 50
+
+
+3. dangerDuck - 1225
+
+
+3. luanaf - 20837
+3. luanaf - 20837
+
+3. poppet - 20,010 GP
+
+
+3. poppet - 71
+
+
+30 minutes
+30 minutos
+
+30x Bug Leg
+Perna de insetos 30x
+
+3rd Place - Woody (4 likes)
+
+
+3rd Place - Xanthem (56)
+3 Local - Xanthem (56)
+
+3rd step
+3º passo
+
+4 Chagashrooms for a Strength Potion!
+4 chagashrooms para uma poção de força!
+
+4 Plushrooms for a Haste Potion!
+4 Plushrooms para uma Poção de Aceleração!
+
+4- Experience and Gold earned during this event can be kept.
+4- Experiência e Ouro ganhos durante este evento podem ser mantidos.
+
+4- Take Care. Wildlife can kill you too. There can be traps.
+4- Tome cuidado. A vida selvagem também pode matar você. Pode haver armadilhas.
+
+4. ##BRespect other players.##b This includes but is not limited to using offensive language in nicknames or chat, and begging items or favours to other players.
+4. ##BRespeite os outros jogadores.##b Isso inclui mas não está limitado ao uso de linguagem ofensiva em apelidos ou chat, e implorar por itens ou favores a outros jogadores.
+
+4. Amdros - 1113
+
+
+4. Hocus - 17260
+4. Hocus - 17260
+
+4. Mathias Cronqvist - 2000
+
+
+4. Povo - 3999
+
+
+4. dangerDuck - 540
+4. dangerDuck - 540
+
+4. poppet - 3,826
+
+
+4. seeds - 43
+4. Sementes - 43
+
+40/40 slayed @@
+40/40 @@ mortos
+
+4144's Tortuga
+Tortuga de 4144
+
+42
+42
+
+45 minutes
+45 minutos
+
+4th Place - seeds (43)
+4º Lugar - sementes (43)
+
+4th step
+4o passo
+
+5 @@ can be fused in a @@
+5 @@ podem ser fundidos em um @@
+
+5 minutes
+5 minutos
+
+5 seconds!
+5 segundos!
+
+5,000 GP
+
+
+5- Trust yourself. You will lose the moment you enter in panic. This arena is not for the weak-willed!
+5- Confie em si mesmo. Você vai perder o momento em que entrar em pânico. Esta arena não é para o fraco de vontade!
+
+5. ##BThe public chat is to be understood by everyone.##b Therefore, try to use english when possible.
+5. ##BO chat público deve ser entendido por todos.##b Assim sendo, tente usar o inglês quando possível.
+
+5. Heaven - 501
+5. Heaven - 501
+
+5. Heaven - 806
+
+
+5. Woolie - 3345
+
+
+5. Xanthem - 615
+
+
+5. dangerDuck - 23
+5. dangerDuck - 23
+
+5. girl flapper - 2,487
+
+
+5. seeds - 13395
+5. sementes - 13395
+
+50 Aquadas
+
+
+50,000 GP
+
+
+5000 GP? That sure is a lot of gold...
+5000 GP? Isso com certeza é muito ouro ...
+
+5th Place - Demure
+5º lugar - Demure
+
+5th Place - dangerDuck (23)
+5º Lugar - dangerDuck (23)
+
+5x Strange Coins
+5x moedas estranhas
+
+6. ##BDo not create multi accounts.##b A person may only hold one account and as many chars as allowed by the server/client. Staff members with special privileges in-game may have a second account without those privileges.
+6. ##BNão crie multi contas.##b Uma pessoa só pode ter uma conta e quantos personagens quanto permitido pelo servidor/cliente. Membros da equipe com privilégios especiais dentro do jogo podem ter uma conta secundária sem esses privilégios.
+
+60 seconds
+60 segundos
+
+6th Place - test123 (20)
+6º Lugar - test123 (20)
+
+7
+7
+
+7 Grass Carps
+
+
+7. ##BAs long as you have an account, you agree with the [@@https://tmw2.org/legal|Terms Of Service@@]##b. Shall any rule conflict with these terms, the Terms Of Service provided on that link shall prevail.
+7. ##BEnquanto você tiver uma conta, você concorda com os [@@https://tmw2.org/legal|Termos De Serviço@@]##b. Se alguma regra entrar em conflito com os Termos de Serviço, os Termos de Serviço prevalecerão.
+
+7th Place - Sertrop (17)
+7º lugar - Sertrop (17)
+
+8 Croconuts
+
+
+8. ##BThe use of real money is prohibited##b for ingame stuff, except by sponsoring.
+
+
+87 Plushrooms
+
+
+8th Place - Pookie (13)
+8º lugar - Pookie (13)
+
+9. ##BAdmit when you're wrong.##b Users trying to lie to or fool GMs will get no pity from them.
+
+
+9th Place - LawnCable (13)
+9º lugar - LawnCable (13)
+
+:) "A pleasure to trade if you. Don't get caught if you're doing something wrong!"
+
+
+:/ "Hmm... let me see... Aha, I know! I can make you a great bandit with a simple burglar mask!"
+
+
+:< "Hey hey! Where's the money?"
+
+
+:< "Never lie to me. Keep your end on the bargain! Give me everything I asked for!"
+
+
+:> "Hello, youngling..."#0
+
+
+:> "Hello, youngling..."#1
+
+
+:D "Ah! Yes, that would help a lot! I don't need anything a bandit couldn't give you: 25 @@, 5 @@, 2 @@ and a @@. And 6000 GP."
+
+
+:D "Excellent! You've kept your end on the bargain!"
+
+
+:D "HAHAHAHAH! Me?! a thief? only during free time..."
+
+
+:P "I am busy, leave me alone."
+
+
+:o "What? I'm not a bandit! But it looks SO COOL! Do you need anything while you're here?"
+
+
+;-) "Don't worry! Leave to me!"
+
+
+== If you decide to complete the quest you cannot repeat it.
+== Se você decidir completar a missão, não poderá repeti-la.
+
+>.< "The Dummy is a real killer!"
+
+
+>.> "Sorry pal, I have no idea what she meant by that."
+
+
+>:| "Go take the items and remember: Not even a single word about me!"
+
+
+>> Hurnscald must be Liberated first, to continue this story <<
+>> Hurnscald deve ser libertado primeiro, para continuar esta história <<
+
+???
+???
+
+??? : Are you trying to steal MY treasure?!
+
+
+??? : I am Pirate Captain Marley, and on the honor of my pirates...
+
+
+??? : Wait, how did you got here? WHO ARE YOU?
+
+
+???#01863
+???#01863
+
+@@
+@@
+
+@@ - @@ - @@
+@@ - @@ - @@
+
+@@ - @@ coins
+@@ - @@ moedas
+
+@@ - @@ point(s)
+@@ - @@ ponto(s)
+
+@@ @@ @@
+@@ @@ @@
+
+@@ @@ killed.
+@@ @@ morto.
+
+@@ Dummy
+Boneco de @@
+
+@@ Recipe
+Receita de @@
+
+@@ You need to wait further releases to continue this quest!
+Você precisa esperar mais lançamentos para continuar essa missão!
+
+@@ and @@ just got married!
+@@ e @@ acabaram de se casar!
+
+@@ and I signed this letter. Deliver it to Airlia on the Town Hall, and she'll reward you correctly.
+@@ e eu assinamos esta carta. Entregue para Airlia na prefeitura, e ela te recompensará corretamente.
+
+@@ boxes of chocolate were given to you as a gift.
+@@ caixas de chocolate foram dadas a você como um presente.
+
+@@ burst in tears.
+Explodiu em lágrimas.
+
+@@ calms a bit.
+@@ acalma um pouco.
+
+@@ determines how many blows you can take before you die. It also affects status effects, like poison.
+@@ determina quantos golpes você pode receber antes de morrer. Também afeta os efeitos do status, como veneno.
+
+@@ disembarks at Hurnscald.
+@@ desembarca em Hurnscald.
+
+@@ disembarks at Nivalis.
+@@ desembarca em Nivalis.
+
+@@ disembarks at Tulimshar.
+@@ desembarca em Tulimshar.
+
+@@ divorced!
+@@ se divorciou!
+
+@@ drolls without realizing.
+@@ drolls sem perceber.
+
+@@ glances at you, suspicion evident in her eyes.
+@lui um olhar para você, suspeita evidente em seus olhos.
+
+@@ glares at you in anger.
+@@) olha para você com raiva.
+
+@@ goes away for a while and returns briefly.
+@@ vai embora por um tempo e retorna brevemente.
+
+@@ hands you an @@.
+@@ lhe entrega um @@.
+
+@@ has the clear smile of victory!
+@@ tem o claro sorriso da vitória!
+
+@@ helps you carry more items and also gives you a more forceful blow, but ends up not being very interesting if you focus on weapons that use projectiles, such as the bow.
+@@ ajuda você a carregar mais itens e também lhe dá um golpe mais forte, mas acaba não sendo muito interessante se você se concentrar em armas que usam projéteis, como o arco.
+
+@@ is a two-handed weapon with very low damage and attack speed.
+@@ é uma arma de duas mãos com muito baixo danos e a velocidade de ataque.
+
+@@ is an expensive, rare, and dangerous item. Do not shake it too much, or it will catch fire.
+@@ é um item caro, raro e perigoso. Não agite demais ou ele pegará fogo.
+
+@@ is developing these potions.
+@@ está desenvolvendo essas poções.
+
+@@ is on the verge of crying again. Better leave out and look for Elias.
+@@ está prestes a chorar novamente. Melhor deixar de fora e procurar por Elias.
+
+@@ is very useful for alchemy and magic, but nowadays there are few opportunities to use it.
+@@ é muito útil para alquimia e magia, mas hoje em dia existem poucas oportunidades de usá-lo.
+
+@@ latches onto you and starts sobbing on your shoulder.
+@@ trava para você e começa a soluçar em seu ombro.
+
+@@ melt down your @@...
+@@ derreta seu @@ ...
+
+@@ nods as she notices you.
+@@ acena com a cabeça quando ela percebe você.
+
+@@ nods reluctantly.
+@@ concorda com relutância.
+
+@@ nods.
+@@ acena com a cabeça.
+
+@@ pinkies killed on @@'s field.
+@@ pinkies mortos no campo de @@.
+
+@@ raise an eyebrow as you hand him Gelid's letter.
+@@ levantar uma sobrancelha como você entregar-lhe a carta de Gelid.
+
+@@ raises an eyebrow as you address her.
+levanta uma sobrancelha quando você se dirige a ela.
+
+@@ registered for marriage and accepted partner @@!
+@@ registrou-se para casamento e aceitou @@ como parceiro(a)!
+
+@@ seems to be trembling with disgust as she stares at your headgear.
+Parece tremer de desgosto quando ela olha para o seu capacete.
+
+@@ seems to be upset.
+@@ parece estar chateado.
+
+@@ snarls.
+@@ snarls.
+
+@@ stares you as you slowly get away from him. Odd person.
+@@ olha fixamente em você quanto você lentamente se afasta dele. Pessoa estranha.
+
+@@ started disarm process. Please stand by.
+@@ iniciou o processo de desarmamento. Por favor espere.
+
+@@ stops, and keep silent for a while, thinking, before continuing.
+@ pare e fique em silêncio por um tempo, pensando, antes de continuar.
+
+@@ uses his screwdriver and open the sealed gift box like a pro.
+@@ usa sua chave de fenda e abre a caixa de presente selada como um profissional.
+
+@@ waits for their loved one.
+@@ aguarda o(a) seu(sua) amado(a).
+
+@@!
+@@!
+
+@@'s Apartment
+Apartamento @@ 's
+
+@@'s Estate
+Propriedade de @@
+
+@@, do you need help? Are you lost? Click me!
+@@, você precisa de ajuda? Você está perdido? Clique em mim!
+
+@@, do you need help? Are you lost? Talk to me!
+
+
+@@, don't jump there! It may be fatal!
+@@, não pule lá! Pode ser fatal!
+
+@@, watch out! The obelisk - it is talking!
+@@, cuidado! O obelisco - está falando!
+
+@@, we are counting on you! We, the whole Hurnscald town!
+@@, estamos contando com você! Nós, toda a cidade de Hurnscald!
+
+@@, we should leave here now.
+@@, devemos sair daqui agora.
+
+@@, your party leader, is inside, I'm not sure where.
+@@, seu líder de grupo, está dentro, não tenho certeza de onde.
+
+@@. PK, however, is allowed!
+@@. PK, no entanto, é permitido!
+
+@@... I think something went wrong... RUN!!
+@@ ... Eu acho que algo deu errado ... RUN !!
+
+@@/1 @@
+@@ / 1 @@
+
+@@/1 Mana Bug
+@@/1 Insetos de Mana
+
+@@/10 @@
+@@ / 10 @@
+
+@@/10 @@ for 1 @@
+@@ / 10 @@ para 1 @@
+
+@@/10 Maggots
+@@/10 Vermes
+
+@@/10 Rattos
+@@ / 10 Rattos
+
+@@/100 @@
+@@ / 100 @@
+
+@@/100 Red Scorpions
+@@ / 100 Escorpiões Vermelhos
+
+@@/1000 GP
+@@ / 1000 GP
+
+@@/12 @@
+@@ / 12 @@
+
+@@/120 @@
+@@ / 120 @@
+
+@@/120 GP
+@@ / 120 GP
+
+@@/15 @@
+@@ / 15 @@
+
+@@/150 @@
+@@ / 150 @@
+
+@@/2 @@
+@@ / 2 @@
+
+@@/2 Scorpion
+@@/2 Escorpiões
+
+@@/20 @@
+@@ / 20 @@
+
+@@/20 @@ (or @@)
+@@ / 20 @@ (ou @@)
+
+@@/200 Black Scorpions
+@@ / 200 Escorpiões Negros
+
+@@/25 @@
+@@ / 25 @@
+
+@@/25 Cave Maggots
+@@ / 25 Vermes de Caverna
+
+@@/3 @@
+@@ / 3 @@
+
+@@/3 Candor Scorpions
+@@/3 Escorpiões de Candor
+
+@@/30 @@
+@@ / 30 @@
+
+@@/4 @@
+@@ / 4 @@
+
+@@/4 House Maggots
+@@ / 4 Vermes Domésticos
+
+@@/40 @@
+@@ / 40 @@
+
+@@/40 Fire Goblins killed
+@@ / 40 Goblins de Fogo mortos
+
+@@/40 slayed @@
+@@ / 40 @@ mortos
+
+@@/45 @@
+@@ / 45 @@
+
+@@/5 @@
+@@ / 5 @@
+
+@@/50 @@
+@@ / 50 @@
+
+@@/50 Cave Snakes
+@@ / 50 Cobras da Caverna
+
+@@/55 @@
+@@ / 55 @@
+
+@@/60 @@
+@@ / 60 @@
+
+@@/6000 GP
+@@ / 6000 GP
+
+@@/7 @@
+@@ / 7 @@
+
+@@/8 @@ for 1 @@
+@@ / 8 @@ para 1 @@
+
+@@/8 @@
+@@ / 8 @@
+
+@@/8 @@, just because I'm hungry as a bear.
+@@ / 8 @@, só porque estou com fome de urso.
+
+@@/80 @@
+@@ / 80 @@
+
+@@/9 @@ for 1 @@
+@@ / 9 @@ para 1 @@
+
+@@/?? @@
+@@ / ?? @@
+
+@@/@@
+@@ / @@
+
+@@/@@ @@
+@@ / @@ @@
+
+@@/@@ @@ killed
+@@ / @@ @@ mortos
+
+@@/@@ GP
+@@ / @@ GP
+
+@@: @@/@@
+@@: @@ / @@
+
+@@: Fight!
+@@: Lute!
+
+@@: Lv @@
+@@: Lv @@
+
+@commands lists even more advanced commands, but you can't use all of them.
+@commands lista comandos ainda mais avançados, mas você não pode usar todos eles.
+
+@discord allows you to setup Discord integration settings.
+O @discord permite que você configure as configurações de integração do Discord.
+
+@info and @tutorial will, using Jesusalva's powers, allow you to contact me anywhere for info.
+@info e @tutorial irão, usando os poderes de Jesus, permitir que você me contate em qualquer lugar para obter informações.
+
+@lang allows you to change game language, anytime, anywhere.
+@lang permite que você mude o idioma do jogo, a qualquer hora, em qualquer lugar.
+
+@rentitem <item numeric id> <time in seconds>
+
+
+@resync will help when the client starts lagging. If you see an attack but no monsters, that's the cause.
+@resync ajudará quando o cliente começar a ficar atrasado com lag. Se você ver um ataque, mas não monstros, essa é a causa.
+
+@resyncall is the more powerful version of @resync. It'll reload everything, even the clouds if needed.
+@resyncall é a versão mais poderosa do @resync. Ele recarregará tudo, até mesmo as nuvens, se necessário.
+
+@rules will tell you all the rules once again.
+@rules dirá todas as regras novamente.
+
+@toevent will warp you to event island, if an event is happening, of course.
+O @toevent vai te teletransportar para a ilha do evento, se um evento estiver acontecendo, é claro.
+
+@ucp allows you to manage your account, eg. recover lost email.
+@ucp permite que você gerencie sua conta, por exemplo. recuperar emails perdidos.
+
+A GM has discharged you from jail.
+Um GM te tirou da prisão.
+
+A Game Master is required to begin the Liberation Day.
+Um Mestre de Jogo é necessário para começar o Dia da Libertação.
+
+A Miner is a must-have for a craftsman/craftswoman, as they are in constant need of ores and coal.
+A Miner é um must-have para um artesão / artesã, como eles estão em constante necessidade de minérios e carvão.
+
+A bit longer and I would have jailed you %%\\
+
+
+A bright and mysterious mushroom!!!
+Um cogumelo brilhante e misterioso!!!
+
+A bug was found. Aborting script.
+Um bug foi encontrado. Abortando o script.
+
+A card will be flipped, you'll need to decide if next flip will be HIGHER or LOWER.
+Um card será invertido, você precisará decidir se o próximo flip será SUPERIOR ou INFERIOR.
+
+A close inspection reveals nothing out of ordinary. It seems to be well kept.
+Uma inspeção atenta não revela nada fora do comum. Parece estar bem guardado.
+
+A close inspection suggests the lock was busted. You approach to inspect.
+Uma inspecção mais próxima sugere o bloqueio foi rebentado. Você se aproxima para inspecionar.
+
+A closer inspection suggests this mouboo has been... CURSED.
+Uma inspeção mais próxima sugere que este mouboo foi ... CURSADO.
+
+A color sequence will be displayed on the avatar frame.
+
+
+A complex lock seems to be posing a threat to you.
+Um bloqueio complexo parece ser uma ameaça para você.
+
+A critical hit deals added damage and disregards defense. A critical always hit, although it can be blocked just fine.
+Um acerto crítico causa dano adicional e desconsidera a defesa. Um crítico sempre acerta, embora possa ser bloqueado muito bem.
+
+A dagger is stuck to your heart.
+
+
+A dangerous boss room, keep your guard up!
+Um quarto do chefe perigoso, mantenha sua guarda!
+
+A disarm process is already running.
+Um processo de desarmamento já está em execução.
+
+A dungeon is burried in @@, (@@, @@)
+
+
+A few families, also known as the Ancient Families of the Soul Menhir (for whatever reasons that may be), departed.
+Algumas famílias, também conhecidas como as Famílias Antigas do Menhir da Alma (por quaisquer razões que possam ser), partiram.
+
+A few switches aren't triggered yet.
+Alguns interruptores não são acionados ainda.
+
+A few times during the year, an independent team organizes a world exposition of special relics.
+Algumas vezes durante o ano, uma equipe independente organiza uma exposição mundial de relíquias especiais.
+
+A few times during the year, the "golden wave" migrates from the north pole to the south pole.
+
+
+A fire broke out in Tulimshar's Academy, which quickly spread over the whole town... And you would think it would be all, but no. The fire was odd.
+
+
+A friend of yours called LOF BOT asked for a coin...
+Um amigo seu chamado LOF BOT pediu uma moeda ...
+
+A game is currently going on, please wait for it to finish.
+
+
+A global announcement will be made.
+Um anúncio global será feita.
+
+A golden pot in woodlands shall reward those who wear green.
+Um pote de ouro nas florestas deve recompensar aqueles que usam verde.
+
+A good thing we still use sturdy standard steel grating on the emergency exit which lead to Nivalis. I can't imagine how bad the incident would be wasn't for that.
+Ainda bem que ainda usamos grades de aço padrão robustas na saída de emergência que levam à Nivalis. Eu não posso imaginar o quão ruim o incidente seria não foi por isso.
+
+A great rush of mana flows though you.
+Uma grande onda de mana flui através de você.
+
+A group of %ss are threatening the city. Go to the Desert Canyon and teach them a lesson.
+
+
+A guy named Hasan stole from me!
+
+
+A hooded man attacked me, and left me in this state.
+Um homem encapuzado me atacou, e me deixou neste estado.
+
+A large number of %ss have been sighted. Both the sewer and the mines have been infested, they have even been spotted in the city wall!
+
+
+A light magic barrier prevents you from entering.
+Uma barreira mágica de luz impede que você entre.
+
+A magic barrier prevents you from enterering. Maybe it is a good idea to shut down the pentagrams first?
+
+
+A masterpiece!... Whaaaat, this stuff got ##Bweaker##b??
+
+
+A minimum of %d players at the time of start is required!
+
+
+A mission well done. I should report to lua now.
+Uma missão bem feito. I deve reportar ao lua agora.
+
+A new Dream Tower opens its gates before you...
+
+
+A new pet has been unlocked on the @@!
+Um novo animal de estimação foi desbloqueado no @@!
+
+A pity a friend of ours drank too much. Juliet knows how to cure. We need to give her a @@ to do a hangover potion.
+Uma pena que um amigo nosso tenha bebido demais. Juliet sabe como curar. Precisamos dar a ele um @@ para fazer uma poção de ressaca.
+
+A pity that without being born with magic, you need a Mana Stone... And there are none left...
+Uma pena que sem ter nascido com magia, você precisa de uma Mana Stone ... E não sobrou nada ...
+
+A pity...
+Uma pena...
+
+A player may be the town admin of several different towns.
+Um jogador pode ser o administrador cidade de várias cidades diferentes.
+
+A powerful door is sealed shut. It has no keyhole, but I'm sure it can be opened somewhere else on these caves.
+Uma porta poderoso é selada. Não tem nenhum buraco da fechadura, mas eu tenho certeza que ele pode ser aberto em outro lugar nestas cavernas.
+
+A powerful magic barrier prevents passage. %d %s should suffice to dispel... Maybe.
+
+
+A powerful magic barrier repeals you!
+Uma barreira mágica poderosa revoga você!
+
+A powerful magic barrier repels you!
+Uma poderosa barreira mágica te repele!
+
+A previous exp rate up event is already ongoing.
+A taxa de até evento exp anterior já está em curso.
+
+A ranger, with a powerful bow
+Um guarda florestal, com um poderoso arco
+
+A reward is promised to those whom cooperate.
+A recompensa é prometida para aqueles a quem cooperar.
+
+A script error happened, please report: @@
+Um erro de script aconteceu, por favor informe: @@
+
+A sec... And... Done! I just finished cleaning it up!
+Um segundo ... e ... feito! Acabei de terminar a limpeza!
+
+A shame there are snakes below the ground. I really, really hate snakes, like every fairy.
+Uma vergonha, há cobras abaixo do solo. Eu realmente odeio cobras, como todas as fadas.
+
+A ship travel will cost you @@ GP.
+Uma viagem de navio irá lhe custar @@ GP.
+
+A single switch is not online - Cannot pass without all of them on.
+Um único interruptor não está online - Não é possível passar sem todos eles ligados.
+
+A skill has been removed, you got @@ job exp and @@ Strange Coin as an apology token.
+A habilidade foi removido, você tem @@ exp trabalho e @@ Estranho Coin como um token de desculpas.
+
+A skill has been replaced with an @@.
+A habilidade foi substituído por um @@.
+
+A slime drips in front of you and explodes!
+Um lodo escorre na sua frente e explode!
+
+A soldier, with a sword and a shield
+Um soldado, com uma espada e um escudo
+
+A stone seemed to be loose, but you barely managed to avoid falling!
+Uma pedra parecia estar solta, mas você mal conseguiu evitar cair!
+
+A sunny and hot day,
+Um dia quente e ensolarado,
+
+A treasure is burried in @@, (@@, @@)
+Um tesouro está enterrado em @@, (@@, @@)
+
+A tree glows in this dark cave, surrounded by mana lanes.
+
+
+A violent fire is less than a great fire, but devasting fire will be even more than these.
+
+
+A visitor? I don't really pay attention to visitors, unless it's someone notable.
+Um visitante? Eu realmente não presto atenção aos visitantes, a menos que seja alguém notável.
+
+A warrior, with a long blade
+Um guerreiro, com uma lâmina comprida
+
+A wizard, with a might wand
+Um assistente, com uma varinha poder
+
+A-hoy matey!
+A-hoy matey!
+
+A... A sabotage?! O.o
+Uma sabotagem ?! O.o
+
+A... Mouboo? Well, I know who can handle curses on cute Mouboos.
+Um ... Mouboo? Bem, eu sei quem pode lidar com maldições em Mouboos fofos.
+
+AAAAAAAHHHHH, Thanks, I am lively again!
+AAAAAAAHHHHH, Obrigado, estou animada novamente!
+
+AAAAaaahhhhh!!!
+
+
+AAH! You scared me!
+AAH! Você me assustou!
+
+ADMIN Cap
+CHAPÉU DO ADMINISTRADOR
+
+AF King
+Rei AF
+
+AFK Cap
+Boné AFK
+
+AFK skill levels fixed.
+níveis de habilidade AFK fixo.
+
+AFTER THEM!!
+DEPOIS DELES!!
+
+AH!
+Ah!
+
+ALL
+TODOS
+
+AND YOU ARE NOT WELCOME HERE!!
+E VOCÊ NÃO É BEM-VINDO AQUI !!
+
+ANISE Incorporated is the biggest company in warp technology!
+A ANISE Incorporated é a maior empresa em tecnologia de urdidura!
+
+ARE YOU SURE?
+VOCÊ TEM CERTEZA?
+
+ARE YOU SURE? THIS CANNOT BE UNDONE LATER!!
+VOCÊ TEM CERTEZA? Isto não pode ser desfeito mais tarde !!
+
+ATK = 25%%, LUK = 0, Slow down
+
+
+Aaaaaaaahhhhh.... Much better now *hic*.
+Aaaaaaaahhhhh .... Muito melhor agora * hic *.
+
+Aaaaaaah, boy... Just let me drink in peace.#1
+
+
+Aaaaaaah, gal... Just let me drink in peace.#0
+
+
+Aaaaaahhh... Oui, that's a good wine! So, what will it be?
+Aaaaaahhh ... Oui, isso é um bom vinho! Então, o que vai ser?
+
+Aahna
+Aahna
+
+Abandoned Diary#jak1
+
+
+Abandoned Fountain#MKH
+Fonte Abandonada#MKH
+
+Abandoned House#MKH1
+Casa Abandonada#MKH1
+
+Abandoned House#MKH2
+Casa Abandonada#MKH2
+
+Abandoned House#MKH3
+Casa Abandonada#MKH3
+
+Abandoned House#MKH4
+Casa Abandonada#MKH4
+
+Abandoned House#MKH5
+Casa Abandonada#MKH5
+
+Abandoned House#MKH6
+Casa Abandonada#MKH6
+
+Abort
+Abortar
+
+Abort (%d GP)
+
+
+Abort.
+Abortar.
+
+About Scoreboards and Honor Points
+Sobre painéis de avaliação e Pontos de Honra
+
+About the Prophecy... What about Elves? Orcs? Redys? Etc.?
+Sobre a Profecia ... E quanto aos elfos? Orcs? Redys? Etc.?
+
+About the items you asked me to collect...
+Sobre os itens que você me pediu para coletar ...
+
+About this pirate treasure map...
+
+
+Absolutely not, but not may job offers nowadays.
+
+
+Abuse can be determined by your peers or by the grandmasters, so be careful.
+
+
+Academy Guard#EP
+
+
+Acc. and Evade -25%%
+
+
+Accept
+
+
+Accept offer?
+
+
+Accept quest?
+Aceitar a quest?
+
+Access to basement was granted!
+Acesso ao porão foi concedido!
+
+Accessories
+Acessórios
+
+According to the Guide, space is ____?
+Segundo o Guia, o espaço é ____?
+
+According to the Holy books of a parallel world, Christmas is an event to celebrate the birth of someone very important, the son of God, whom have the promised kingdom.
+De acordo com os livros sagrados de um mundo paralelo, o Natal é um evento para celebrar o nascimento de alguém muito importante, o filho de Deus, que tem o reino prometido.
+
+According to the prophecy, he'll not stop, until life itself as we know today is removed from existence.
+
+
+Account Bound
+
+
+Account Information
+Informação da conta
+
+Accumulate Power
+acumular poder
+
+Accuracy +25
+
+
+Ace Ventura
+Ace Ventura
+
+Achievements
+
+
+Acknowledgment? What do you mean?
+Reconhecimento? O que você quer dizer?
+
+Acorn
+Bolota
+
+Acorn Of Death
+Bolota Da Morte
+
+Acquired: %s Monster Points
+
+
+Acquisition:
+
+
+Activate event?
+Ativar evento?
+
+Active
+Ativo
+
+Actually - Do you exchange goods even more illegal goods than this?
+
+
+Actually - Do you exchange illegal... research results?
+
+
+Actually I'm responsible of dispatching mages to the Magic Academy.
+Na verdade, eu sou responsável de despachar magos para o Magic Academy.
+
+Actually not.
+Na verdade não.
+
+Actually, Anwar offered me some ugly, bright orange pants. I thanked him, of course, I prefer this robe than... that.
+
+
+Actually, I gotta go, see ya!
+Na verdade, eu tenho que ir, até mais!
+
+Actually, I have bad luck. Could you sell me a box full of fresh fish?
+Atualmente, eu estou com azar. Você poderia me vender uma caixa cheia de peixe fresco?
+
+Actually, I heard from Roger that you may need some help.
+Na verdade, ouvi de Roger que você pode precisar de ajuda.
+
+Actually, I heard that on the cave north of me a great wizard died from a curse, but his staff would be available for any other wizard who looks.
+
+
+Actually, I need help with reagents this time. Bring me a %s and a %s and I'll gladly warp you... again.
+
+
+Actually, I see you have some @@. Ever tried a bow before?
+Na verdade, vejo que você tem algumas @@. Já tentou um arco antes?
+
+Actually, a tutorial would be good!
+Na verdade, um tutorial seria bom!
+
+Actually, about Fafi dragons...
+Na verdade, sobre os dragões Fafi ...
+
+Actually, about the Soul Eater...
+
+
+Actually, can I return to Artis?
+
+
+Actually, could I ask you a favor?
+Na verdade, eu poderia te pedir um favor?
+
+Actually, have you ever heard of Yeti's kidnapping little girls?
+
+
+Actually, he's just too lazy to add proper checks everywhere. If you try to cheat, you'll suffer some penalty.
+Na verdade, ele é muito preguiçoso para adicionar verificações adequadas em todos os lugares. Se você tentar trapacear, sofrerá alguma penalidade.
+
+Actually, nevermind. Good bye!
+Na verdade, deixa pra lá. Adeus!
+
+Actually, nevermind. I'll wait you grind level 25 first, then we can do this.
+Na verdade, deixa pra lá. Vou esperar que você aplainar o nível 25 primeiro, então podemos fazer isso.
+
+Actually, nothing. Bye!
+Na verdade, nada. Tchau!
+
+Actually, the Dummy will not fight back. Are you afraid?
+
+
+Actually, using a byproduct of my other works and a few additional ingredients, I could make a %s
+
+
+Actually, you could be really useful testing Snake Poison. What do you think about that?
+Na verdade, você pode ser muito útil para testar o Snake Poison. O que você acha disso?
+
+Actually, you just took a bounty, right?
+Na verdade, você acabou de receber uma recompensa, certo?
+
+Actually, you look strong...ish. Still, maybe you can help me.
+
+
+Actually. Who are you again? A headache which doesn't want to pass strikes you.
+
+
+Add a new line
+Adicionar nova linha
+
+Additional Hunting Island will be released on Valentine Day!
+Caça adicional Ilha será lançado no Dia dos Namorados!
+
+Additionally, for the optimal experience, ensure your party has at least the following members and items:
+Além disso, para a experiência ideal, garantir que o seu partido tem pelo menos os seguintes membros e itens:
+
+Additionaly, all your movement will be restricted until either you're warped or log out.
+Além disso, todo o seu movimento será restrito até que você esteja deformado ou desconecte-se.
+
+Adrian
+
+
+Advanced Dungeon (Lv 80+)
+Masmorra Avançada (Lv 80+)
+
+Advanced Exchanger#0
+
+
+Advanced Magic
+Magia avançada
+
+Advanced Tricks
+Truques avançados
+
+Adventurer#0
+
+
+Adventurer#1
+
+
+Adventurer, did you brought me what I asked? I see you have @@/10 @@.#0
+
+
+Adventurer, did you brought me what I asked? I see you have @@/10 @@.#1
+
+
+Adventurer, did you brought me what I asked? I see you have @@/5 @@.#0
+
+
+Adventurer, did you brought me what I asked? I see you have @@/5 @@.#1
+
+
+Advised party size: From 3 and above
+Tamanho da festa recomendada: de 3 e acima
+
+Advised: 1+ mage, 1+ tanker, 2+ healers
+
+
+Advised: 6+ players
+
+
+Aegis Shield
+Escudo Aegis
+
+Aegis with their steadfast shield, nigh impregnable;
+
+
+Aeros Trader
+Negociante de Aeros
+
+Aethyr Points: %s
+
+
+After about 30 minutes AFK, you won't get EXP anymore.
+Após cerca de 30 minutos AFK, você não terá mais EXP.
+
+After all the monsters in an area are defeated, they'll respawn at once. I know, that's not good, but well, nothing that can be done about it.
+
+
+After all, I am the Well Master!
+Afinal de contas, eu sou o Mestre Do Poço!
+
+After all, that was two nights ago, and none of them returned...
+Afinal de contas, que foi duas noites atrás, e nenhum deles voltou ...
+
+After all, what would you do if it open a black hole on your head by accident? %%4
+Afinal de contas, o que você faria se isso abrisse um buraco negro na sua cabeça por acidente? %%4
+
+After being successful is recovering Hurnscald and Nivalis from the Monster Army, they seem to have withdrawn.
+
+
+After casting %s, you must wait %d seconds before casting it again.
+Após a fundição% s, você deve esperar% d segundos antes de convertê-lo novamente.
+
+After cleaning for twelve hours straight, they allowed me to rest a bit.
+Depois de limpar por doze horas seguidas, eles me permitiram descansar um pouco.
+
+After hours of hard work...
+Depois de horas de trabalho duro ...
+
+After that, follow the path until you reach a great chamber...
+
+
+After that, stay still and be patient, but also alert!
+Após isso, fique parado e seja paciente, mas também alerta!
+
+After that, we're going to Tulimshar. Tulim is the most important city on the world, and the Alliance have an office there.
+Depois disso, vamos a Tulimshar. Tulim é a cidade mais importante do mundo, e a Aliança tem um escritório lá.
+
+After the Great Fire... you don't find our world's Elli ever again.
+
+
+After turning it upside down, it finds something which makes it really happy: %s! And there's nothing a teddy likes more than honey.
+
+
+After waiting for the oil to dry, he hands you the string.
+Depois de esperar que o óleo seque, ele lhe entrega a corda.
+
+After you have confirmed the negotiation, a window with a vertical split will appear. The left side are the items you intend to offer in trading. The right side are the items that the other citizen intends to offer in trading.
+Após confirmar a negociação, uma janela com uma divisão vertical irá aparecer. A esquerda estão os itens que você oferece. A direita estão os itens que o outro cidadão está oferecendo.
+
+After your questions I'm really getting worried about this guy with the mask. In retrospect it really seems suspicous.
+Depois de suas perguntas, estou realmente ficando preocupado com esse cara com a máscara. Em retrospecto, parece realmente suspeito.
+
+Again, you don't need to do both right now, but you probably will want to. Once you have a stable alternative income, I'll have... This paperwork sorted.
+Mais uma vez, você não precisa fazer tanto agora, mas você provavelmente vai querer. Depois de ter uma alternativa de renda estável, eu vou ter ... Esta papelada ordenados.
+
+Aggressors always know when they are in danger! Therefore, they are always on standby, attacking anyone who appears ahead.
+Agressores sempre sabem quando estão em perigo! Assim sendo, eles estão sempre em alerta, atacando qualquer um que apareça a frente.
+
+Agi Potion
+Poção Agi
+
+Agi+ Potion
+Agi + Poção
+
+Agi++ Potion
+Poção Agi ++
+
+Agility
+Agilidade
+
+Agility Fruit
+Fruit agilidade
+
+Agostine
+Agostine
+
+Agostine takes the fur from your hands.
+Agostine tira a pele de suas mãos.
+
+Agostine, the Legendary Tailor
+Agostine, o lendário alfaiate
+
+Ah no... That's not what I had to do... I wasted the potion...
+Ah não ... Isso não é o que eu tive que fazer ... eu perdi a poção ...
+
+Ah yes... I make fine @@...
+Ah sim ... eu faço bem @@ ...
+
+Ah!
+Ah!
+
+Ah! @@! I heard you helped Hinnak with his Pinkies problem!
+Ah! @@! Eu ouvi dizer que você ajudou Hinnak com seu problema de Trasgos Rosas!
+
+Ah! @@. A very rare drop!
+Ah! @@. Uma gota muito rara!
+
+Ah! Actually nobody found one.
+Ah! Na verdade, ninguém encontrou um.
+
+Ah! Greedy humans! Couldn't we happy with little?
+Ah! Gananciosos humanos! Não poderíamos ser felizes com pouco?
+
+Ah! Greedy humans! End this war which our greed has stroke!
+Ah! Gananciosos humanos! Acabem com essa guerra que nossa ganância trouxe!
+
+Ah! Greedy humans! How ignorant were we, to ever do that?
+Ah! Gananciosos humanos! Quão ignorantes nós fomos, para fazer isso?
+
+Ah! Greedy humans! Just how big is our greed?
+Ah! Gananciosos humanos! Quão grande é nossa ganância?
+
+Ah! Greedy humans! Stand up to save our world!
+Ah! Gananciosos humanos! Levantem-se e salvem nosso mundo!
+
+Ah! Greedy humans! The Monster War will now rage the globe!
+Ah! Gananciosos humanos! A Guerra Dos Monstros agora assola o globo!
+
+Ah! Greedy humans! Things will never be as they used to be!
+Ah! Gananciosos humanos! As coisas nunca serão como costumavam ser!
+
+Ah! Greedy humans! We pay the price for our actions,
+Ah! Gananciosos humanos! Nós pagamos o preço de nossas ações,
+
+Ah! Greedy humans! Why did we had to fight?
+Ah! Gananciosos humanos! Porquê tínhamos de lutar?
+
+Ah! Greedy humans! Why had we to desire?
+Ah! Gananciosos humanos! Porquê tínhamos de desejar?
+
+Ah! I also want @@ @@.
+Ah! Eu também quero @@ @@.
+
+Ah! I know. Kill 10 @@. They are usually found in the fields, feeding on the crops.
+
+
+Ah! I know. Kill 10 @@. They usually are near the mine's inn.
+Ah! Já sei. Mate 10 @@. Eles geralmente estão perto da pousada da mina.
+
+Ah, %s, a good thing you're here. You must help!
+Ah,% s, uma coisa boa que você está aqui. Você deve ajudar!
+
+Ah, @@ is so amazing!
+Ah, @@ é tão incrível!
+
+Ah, @@ is sooo amazing!
+Ah, @@ é taaaão incrível!
+
+Ah, @@ seems to be behind the @@ schedule again...
+Ah, @@ parece estar atrasado na agenda de @@ novamente ...
+
+Ah, @@! I'm busy now, can we talk again later?
+Ah, @@! Estou ocupado agora, podemos conversar mais tarde?
+
+Ah, @@, good thing you are here.
+Ah, @@, que bom que você está aqui.
+
+Ah, @@, my friend! Are you here to help us with 5 @@? Or perhaps you have 5 more @@ to show that Hurnscald is getting safer?
+Ah, meu amigo! Você está aqui para nos ajudar com 5 @@? Ou talvez você tenha mais 5 @@ para mostrar que Hurnscald está ficando mais seguro?
+
+Ah, @@, welcome!
+Ah, @@, bem vindo(a)!
+
+Ah, Halinarzo... Dangerous place. Tulimshar route is plagued with snakes, Hurnscald route is more often than not flooded.
+Ah, Halinarzo ... Lugar perigoso. Tulimshar rota é atormentada com cobras, Hurnscald rota é mais frequentemente inundada.
+
+Ah, Hasan... Sorry pal, afraid I can't do anything for you. Try talking to his mother Sorfina, she is in Mahoud's house, near the Inn.#0
+
+
+Ah, Hasan... Sorry pal, afraid I can't do anything for you. Try talking to his mother Sorfina, she is in Mahoud's house, near the Inn.#1
+
+
+Ah, I am lively again. I wish I could just raise from this bed and do some exercise, but the Nurse refuses to let me go.
+Ah, estou animada novamente. Eu gostaria de poder levantar desta cama e fazer algum exercício, mas a enfermeira se recusa a me deixar ir.
+
+Ah, I can also cure you, if you need.
+Ah, eu também posso te curar, se precisar.
+
+Ah, I guess you want to fight at the cave north of me...
+Ah, eu acho que você quer lutar na caverna ao norte...
+
+Ah, I hate mushrooms. Perhaps in future, I could use their spikes and mushies.
+Ah, eu odeio cogumelos. Talvez no futuro, eu poderia usar seus espinhos e cogumelos.
+
+Ah, I hate snakes. Perhaps in future, I could use their tongues.
+Ah, eu odeio cobras. Talvez no futuro eu pudesse usar suas línguas.
+
+Ah, I have enough @@ for a life! Take this EXTREMELY RARE @@. Good job!
+Ah, eu tenho @@ o suficiente para uma vida! Leve este EXTREMAMENTE RARO @@. Bom trabalho!
+
+Ah, I just wanted @@... Yummy, lovely @@...
+Ah, eu só queria @@ ... Gostoso, adorável @@ ...
+
+Ah, I love mouboos. But their steaks, hmm. Ah, no, I shouldn't eat that...
+Ah, eu amo mouboos. Mas os bifes deles, hmm. Ah, não, eu não deveria comer isso ...
+
+Ah, I see you have some used gloves. I'm not sure if you can even mine with it...
+Ah, vejo que você tem algumas luvas usadas. Eu não tenho certeza se você pode até mesmo minerar com isso...
+
+Ah, I see, I imagine you'll wear something different then... But please come back.
+Ah, eu vejo, eu imagino que você vai usar algo diferente, então ... Mas por favor, volte.
+
+Ah, I wish I got something for helping people out...
+Ah, eu queria ter algo para ajudar as pessoas ...
+
+Ah, I wonder how my mother Swezanne is faring...
+Ah, eu me pergunto como minha mãe Swezanne está...
+
+Ah, Peetu. I really appreciate his sense for high quality work. The requirements to become a helper of a sage are already high, but Peetu is outstanding. He has a talent for magic and combined with his diligence, it's quite remarkable.
+Ah, Peetu Eu realmente aprecio seu senso de trabalho de alta qualidade. Os requisitos para se tornar um ajudante de um sábio já são altos, mas Peetu é excelente. Ele tem um talento para magia e combinado com sua diligência, é bastante notável.
+
+Ah, Sunday. What better time to go to church?
+Ah, domingo. Que melhor momento para ir à igreja?
+
+Ah, but don't distress them if you can't save her! My precious daughter life is more important than anything!
+Ah, mas não os incomode se você não pode salvá-la! Minha preciosa filha é mais importante que qualquer coisa!
+
+Ah, don't bother me with that. That wood must be special, it must bend and cannot break. Too difficult to find!
+Ah, não me incomode com isso. Essa madeira deve ser especial, deve dobrar e não pode quebrar. Muito difícil de encontrar!
+
+Ah, fighting monsters under this desert heat makes me thirsty. But someone must do this job, otherwise Tulimshar could fall.
+Ah, lutar contra monstros nesse calor do deserto me deixa com sede. Mas alguém tem que fazer o trabalho, ou Tulimshar poderia cair.
+
+Ah, getting experience is hard, too... I would stay within the city. Hit and Run tactics works the best.
+Ah, ganhar experiência também é difícil ... Eu ficaria dentro da cidade. As táticas Hit e Run funcionam melhor.
+
+Ah, good. You didn't even bother poisoning it? Hahah, that's great, %s! Here is a couple skins I had lying around, may be useful.
+
+
+Ah, hello there! I am @@, a Redy alchemist.
+Ah, olá! Eu sou @@, um alquimista Redy.
+
+Ah, hello there, funny face! Do you want to refine items?
+Ah, olá, cara engraçada! Você quer refinar itens?
+
+Ah, hello! It is good to see another traveler in this town!
+Ah, olá! É bom ver outro viajante nesta cidade!
+
+Ah, hello.
+Ah, olá.
+
+Ah, hello... is it @@? Nice to meet you!
+Ah, olá... seu nome era @@? Prazer em conhecê-lo!
+
+Ah, if Jack and that fisherman from Halinarzo still gave me materials...
+Ah, se Jack e aquele pescador de Halinarzo ainda me desse materiais ...
+
+Ah, if it isn't @@? You're the talk of the town!
+Ah, se não é @@? Você é a conversa da cidade!
+
+Ah, it is not the same. Not the same.
+Ah, não é a mesma coisa. Não é a mesma coisa.
+
+Ah, living in Halinarzo is so difficult...
+Ah, viver em Halinarzo é tão difícil...
+
+Ah, my daughter Silvia is so far away... But I don't want to leave the shade of this tree...
+Ah, minha filha Silvia está tão longe... Mas, eu não quero deixar a sombra dessa árvore...
+
+Ah, my husband Hinnak is so hard working...
+Ah, meu marido Hinnak está trabalhando duro ...
+
+Ah, nice to know.
+Ah, bom saber.
+
+Ah, not now...
+Ah, não agora ...
+
+Ah, personally I don't use it?
+Ah, pessoalmente eu não uso?
+
+Ah, research points (RP). They are knowledge which can be used in honing your skills.
+
+
+Ah, so LOF Bot wants a souvenir after all!
+Ah, então LOF Bot quer uma lembrança depois de tudo!
+
+Ah, so you must be %s, the new guy! Yes, it is on the rooms upstairs. I'll bring you there, don't you worry a thing!
+Ah, então você deve ser% s, a nova cara! Sim, é no quartos no andar superior. Vou levar você lá, não se preocupe uma coisa!
+
+Ah, so you think you can fool me?
+Ah, então você acha que pode me enganar?
+
+Ah, so you're willing to help? Great! Because I HATE THEM ALL!
+Ah, então você está disposto a ajudar? Ótimo! Porque eu os odeio todos!
+
+Ah, sorry, of course. I need quite a few herbs, look:
+Ah, desculpe, claro. Eu preciso de algumas ervas, olhe:
+
+Ah, that was tiresome... I'll go make a reward for them, talk to me again later.
+Ah, isso foi cansativo ... Eu vou fazer uma recompensa por eles, fale comigo mais tarde.
+
+Ah, the Professors will get mad at me again...
+Ah, os professores vai ficar bravo comigo de novo ...
+
+Ah, the kids are playing hide and seek, but I am afraid they went too far. A monster attack could start anytime, after all.
+Ah, as crianças estão brincando de esconde-esconde, mas estou com medo que elas tenham ido muito longe. Um ataque monstro poderia começar a qualquer hora, afinal de contas.
+
+Ah, the originals. Had the displeasure to met a few of them in the past and in the future with my time machine.
+
+
+Ah, there are lots on the miners cave.
+Ah, há muitos na caverna dos mineiros.
+
+Ah, there are lots with Melina, downstairs.
+Ah, tem muita coisa com Melina lá embaixo.
+
+Ah, traveller! I am Lilica the Scary Bunny! I exchange many @@ and @@ for neat rewards!#0
+Ah, viajante! Eu sou Lilica, a Coelhinha Assustadora! Troco muitas @@ e @@ por recompensas perfeitas!
+
+Ah, traveller! I am Lilica the Scary Bunny! I exchange many @@ and @@ for neat rewards!#1
+Ah, viajante! Eu sou Lilica, a Coelhinha Assustadora! Troco muitas @@ e @@ por recompensas perfeitas!
+
+Ah, uhm, I'm not sure. We at Candor don't need much.
+Ah, uhm, não tenho certeza. Nós de Candor não precisamos de muita coisa.
+
+Ah, we have serious problems of robbery. I need someone really strong to help me, and you don't qualify.
+Ah, nós temos sérios problemas de roubo. Eu preciso de alguém realmente forte para me ajudar e você não se qualifica.
+
+Ah, welcome @@. You have @@ Contributor Points.
+Ah, bem vindo @@. Você tem @@ Pontos de Contribuição.
+
+Ah, welcome. Please, don't be afraid of my look, Saulc GM assigned me to here.
+Ah, seja bem vindo. Por favor, não tenha medo de minha aparência, Saulc GM me designou para aqui.
+
+Ah, what a wonderful day.
+Ah, que dia maravilhoso.
+
+Ah, wonderful! This is a page we haven't found yet!
+Ah, maravilhoso! Esta é uma página que ainda não encontramos!
+
+Ah, yes... You see, there is just no task I can give to you right now. ##BYou are too weak to fight monsters.##b
+Ah, sim... Você vê, não tem nenhuma tarefa que eu possa te dar agora. ##BVocê é muito fraco para lutar contra monstros.##b
+
+Ah, yes... You see, there is just no task I can give to you right now. You are too weak to fight these monsters.
+Ah, sim ... Você vê, não há nenhuma tarefa que eu possa dar a você agora. Você é fraco demais para lutar contra esses monstros.
+
+Ah, you might have seen a treasure chest on the mines. There are several of these chests to loot, and loot again! Here is a @@. Try it!
+Ah, você pode ter visto um tesouro nas minas. Há vários desses baús para saquear, pilhar e novamente! Aqui está um @@. Tente!
+
+Ah, you really deserve this @@. Good job!
+Ah, você realmente merece este @@. Bom trabalho!
+
+Ah, you'll find on the Land Of Fire Village four transcendence gates.
+Ah, você encontrará na Land Of Fire Village quatro portais de transcendência.
+
+Ah.
+Ah
+
+Ah... A @@. The sturdiest from all mushroom, and very, very rare.
+Ah ... Um @@. O mais resistente de todos os cogumelos e muito, muito raro.
+
+Ah... I need more beer to keep going... This is so awful...
+Ah ... eu preciso de mais cerveja para continuar ... Isso é tão horrível ...
+
+Ah... I see. You are a lost soul, without parents, lost on the world with only some basic stuff.
+Ah, entendo. Você é uma alma perdida, sem pais, perdida no mundo com apenas algumas coisas básicas.
+
+Ah... Santa's helpers sure eat a lot. I'm sure gift delivery is hard for them.
+Ah ... os ajudantes do Papai Noel com certeza comem muito. Tenho certeza de que a entrega de presentes é difícil para eles.
+
+Ah... Slimes... Sorry, not my cup of tea...
+Ah ... Slimes ... Desculpe, não minha xícara de chá ...
+
+Ah... Sorry, your name is not on the contributor list.
+Ah ... Desculpe, seu nome não está na lista de colaboradores.
+
+Ah... The mayor. The current mayor. Why do you even want to talk to him, anyway?
+Ah ... o prefeito. O atual prefeito. Por que você ainda quer falar com ele?
+
+Ah... Was I warped?
+Ah ... eu estava deformado?
+
+Ah... Well, ok. I'll do the powder for you, but you still need to bring me the material.
+Ah ... bem, ok. Eu vou fazer o pó para você, mas você ainda precisa me trazer o material.
+
+Ah... What is happening to meeeeeeee?
+Ah... O que está acontecendo comiiiiiiiiiiigo?
+
+Ah... You did it!
+Ah ... Você fez isso!
+
+Ah... You have one too. Be careful with it, please. Many people lost their lives because they didn't handled that correctly.
+Ah ... Você também tem um. Tenha cuidado com isso, por favor. Muitas pessoas perderam a vida porque não lidaram com isso corretamente.
+
+Ah...! POLICE! POLICE! Quick, send this cheating thief to jail!!
+Ah ... POLÃCIA! POLÃCIA! Rápido, mande esse ladrão trapaceiro para a cadeia !!
+
+Aha! I knew you were a boring person...
+Aha! Eu sabia que você era uma pessoa chata ...
+
+Aha! So that's what it was! The map was hiding its secrets in drawings made with acid. An old technique... But a very useful one.
+
+
+Ahahahah, do you really think I'll accept legs if you don't help me cleaning my fields?
+Ahahahah, você realmente acha que eu vou aceitar as pernas se você não me ajudar a limpar meus campos?
+
+Ahh, he'll be so happy! Thanks! You can keep this.
+
+
+Ahh, that's a pity... Well, just talk to me with enough money and I'll gladly fix that for you! %%0
+
+
+Ahh, too many items. Sorry.
+Ah, muitos itens. Desculpa.
+
+Ahoi.
+Ahoi.
+
+Ahoy matey!
+Ahoy matey!
+
+Ahoy! Hey, you, new person! Could you come here?!
+Ahoy! Ei, você, nova pessoa! você poderia vir aqui ?!
+
+Ahoy, @@!
+Ahoy, @@!
+
+Aidan
+Aidan
+
+Aidan and Pet Detective
+
+
+Aidan, the Monster Guide
+Aidan, o Guia de Monstros
+
+Airlia
+Airlia
+
+Airlia told me you should lend me a Return Potion.
+Airlia me disse que você deveria me emprestar uma Poção de Retorno.
+
+Airship
+Dirigível
+
+Aisen Card
+Cartão Aisen
+
+Alaion
+
+
+Alan
+Alan
+
+Alchemist Armor
+Alquimista Armadura
+
+Alchemist Helmet
+Capacete Alquimista
+
+Alchemy
+Alquimia
+
+Alchemy Blueprint A
+Alquimia Blueprint A
+
+Alchemy Blueprint B
+Alquimia Blueprint B
+
+Alchemy Blueprint C
+Alquimia, blueprint, c
+
+Alchemy Blueprint D
+Alchemy Blueprint D
+
+Alchemy Blueprint E
+Modelo de Alquimia E
+
+Alchemy Cauldron
+
+
+Alchemy Master Challenge
+
+
+Alchemy Recipes
+Receitas de Alquimia
+
+Alchemy Recipes.
+Receitas de alquimia.
+
+Alchemy Set#MKHB
+Conjunto de Alquimia#MKHB
+
+Alchemy Shop
+Alchemy Loja
+
+Alchemy Table brewing
+
+
+Alchemy Table:
+
+
+Alchemy. The art of having quasi-magical effects without magic.
+Alquimia. A arte de ter efeitos quase mágicos sem magia.
+
+Alcohol effects expire upon death. You need vitality to drink more beer.
+os efeitos do álcool extinguirá com a morte. Você precisa de vitalidade para beber mais cerveja.
+
+Alicia
+Alicia
+
+Alige
+Alige
+
+Alige hands you an old paper patch.
+Alige lhe entrega um pedaço de papel antigo.
+
+Alizarin Herb
+Erva Alizarina
+
+Alizarin Plant
+Planta de Alizarina
+
+All I can say is that you were born there, and moved by the age of 4, but to where? I don't know.
+Tudo que posso dizer é que você nasceu lá, e se mudou com 4 anos, mas para onde? Não sei.
+
+All In One
+
+
+All Peetu have been doing the past hours was crying, and crying, and crying some more. I can't barely sleep hearing his cries from my room.
+Tudo o que Peetu tem feito nas últimas horas foi chorar, chorar e chorar mais um pouco. Eu mal posso dormir ouvindo seus gritos do meu quarto.
+
+All Stats +1
+
+
+All Stats +1, Agi +5
+
+
+All Stats +1, Block +2%
+
+
+All Stats +1, MDEF +30%
+
+
+All Stats +1, Max HP +1%
+
+
+All Stats +1, Max HP +1%, Max MP +5%
+
+
+All Stats +1, Vit +2
+
+
+All Stats +2
+
+
+All Stats +5
+
+
+All Stats temporarily raised!
+
+
+All arenas stay open for only 30 minutes after being purchased.
+Todas as arenas permanecem abertas por apenas 30 minutos após a compra.
+
+All black scorpions are dead! Go back to Tycoon.
+Todos os escorpiões negros estão mortos! Volte para o Tycoon.
+
+All candor scorpions are dead!
+Todos os escorpiões de candor estão mortos!
+
+All cave maggots are dead! Go back to Tycoon.
+Todas os vermes das cavernas estão mortos! Volte para o Tycoon.
+
+All cave snakes are dead! Go back to Tycoon.
+Todas as cobras das cavernas estão mortas! Volte para o Tycoon.
+
+All cheaters must die.
+Todos os trapaceiros devem morrer.
+
+All four Dungeons must be completed.
+
+
+All hail @@ and Andrei Sakar, heroes of the world!
+Todos saudam @@ e Andrei Sakar, heróis do mundo!
+
+All hail the ones who proven their worth before the whole Alliance!
+Saúdem todos aqueles que provaram sua dignidade frente toda Aliança!
+
+All hope was lost. We failed to protect it. We lost everyone who challenged the Monster King. Killed without mercy.
+Toda a esperança foi perdida. Nós falhamos em protegê-lo. Perdemos todos que desafiaram o Rei dos Monstros. Morto sem piedade.
+
+All house maggots are dead!
+Todos os vermes domésticos estão mortos!
+
+All leaderboards are refreshed hourly.
+Todas as tabelas de classificação são atualizadas a cada hora.
+
+All maggots are dead!
+Todos os vermes estão mortos!
+
+All mana bugs are dead!
+Todos os insetos de mana estão mortos!
+
+All monsters may drop chocolate during this period. And here is one for you!
+Todos os monstros podem cair de chocolate durante este período. E aqui é um para você!
+
+All monsters summoned!
+Todos os monstros convocados!
+
+All my parents, grandparents, until the world was born, are from Tulimshar.
+Todos os meus pais, avós, até o mundo nascer, são de Tulimshar.
+
+All of my money.
+Todo meu dinheiro.
+
+All quests expire at 00:00 server time, be sure to finish AND report back before that!
+
+
+All rattos are dead! Go back to Tycoon.
+Todos os rattos estão mortos! Volte para o Tycoon.
+
+All red scorpions are dead! Go back to Tycoon.
+Todos os escorpiões vermelhos estão mortos! Volte para o Tycoon.
+
+All scoreboards are refreshed hourly.
+Todos os placares são atualizados a cada hora.
+
+All scorpions are dead!
+Todos os escorpiões estão mortos!
+
+All she told me was that I needed to visit Halinarzo, but was too weak, and should look for you instead.
+Tudo o que ela me disse foi que eu precisava visitar Halinarzo, mas era muito fraco e deveria procurar por você.
+
+All spring it is the same thing... The instruments stop working!
+Toda primavera é a mesma coisa ... Os instrumentos param de funcionar!
+
+All the %ss have become a real nuisance to the citizens and people are getting stung more often now.
+
+
+All this seems unimportant to you right now.
+Nada disso parece ser importante agora.
+
+All torches are lit!
+Todas as tochas estão acesas!
+
+All warp technology, be it crystal-based, potion-based, or mechanic-based, relies on timespace distortions.
+Toda a tecnologia de dobra, seja baseada em cristal, baseada em poções ou mecânica, depende de distorções do espaço-tempo.
+
+All you need to do then is walk outside, enter on the biggest house, and talk to the Trainer. He'll teach you everything.
+Tudo o que você precisa fazer é andar lá fora, entrar na casa maior e conversar com o treinador. Ele vai te ensinar tudo.
+
+Alliance Guard
+
+
+Alliance Hero#FoS
+
+
+Alliance Officer
+
+
+Alliance members (sponsors) are allowed inside the Council Room.
+Os membros da aliança (patrocinadores) são permitidos dentro da sala do Conselho.
+
+Alliance members are those who [@@https://patreon.com/TMW2|sponsor us@@].
+Os membros da aliança são aqueles que [@@ https: //patreon.com/TMW2 | nos patrocinam @@].
+
+Alliance members are those who [@@https://tmw2.org/contact|sponsor us@@].
+
+
+Allowed
+Permitido
+
+Allows to attack right after casting.
+Permite para atacar logo após fundição.
+
+Almanac
+
+
+Almost all creatures drop useful items when defeated. To get the dropped item press the 'Z' key next to the item or click the primary button on the item.
+Quase todas as criaturas derrubam itens úteis quando derrotadas. Para coletar os itens derrubados, pressione a tecla 'Z' próxima ao item ou clique com o botão primário sobre o item.
+
+Almost all documents were lost, destroyed or damaged. I cannot even find your parents name.
+Quase todos os documentos foram perdidos, destruídos ou danificados. Não consigo sequer encontrar os nomes de seus pais.
+
+Almost there! The War Lord will be proud with this new armor I am inventing for him! Just a little more...!
+Quase lá! O Lorde da Guerra ficará orgulhoso com essa nova armadura que estou inventando para ele! Só um pouco mais...!
+
+Alone
+Sozinho
+
+Alpha Mouboo
+Mouboo Alfa
+
+Alpha Mouboo Hat
+Chapéu de Mouboo Alfa
+
+Alright, I don't like PVP anyways...
+
+
+Alright, I have them here!
+Tudo bem, eu os tenho aqui!
+
+Alright, I will help.
+
+
+Alright, I'll look in the archives. I'll have an answer for you in @@. Meanwhile, why don't you suppress the bandits on the cliff?
+Tudo bem, eu vou olhar nos arquivos. Eu vou ter uma resposta para você em @@. Enquanto isso, por que você não suprimir os bandidos no penhasco?
+
+Alright, I'll pay.
+
+
+Alright, I'll show up later. Thanks for calling me. Here's 1000 GP for your efforts.
+Certo, eu irei aparecer mais tarde. Obrigado por me chamar. Aqui, pegue 1000 GP por seus esforços.
+
+Alright, PARTY TIME!
+Tudo bem, tempo de festa!
+
+Alright, good bye.
+Tudo bem, adeus.
+
+Alright, you've not only proven your worth, but you've went through most monsters in the desert close to the town.
+Tudo bem, você não apenas provou seu valor, mas passou pela maioria dos monstros no deserto perto da cidade.
+
+Alright.
+Bem.
+
+Alright. A new world. What mysteries await for me behind that wooden door?
+
+
+Alright. I wish you good luck in your studies.
+Tudo bem. Desejo-lhe boa sorte em seus estudos.
+
+Alright. Listen, you'll need %s to summon it, and you cannot be alone. I only have so much of that to share, so be careful to don't use all.
+
+
+Alright. Now to give your quest. But not now, you're still weak. Come back later, will you.
+
+
+Alright. Then please don't go too deep on the library, it is dangerous.
+Tudo bem. Então, por favor, não vá muito fundo na biblioteca, é perigoso.
+
+Alright... Bye.
+Certo... Tchau.
+
+Also in honor of @@, who did a great act of bravery recently. May they keep protecting our world!
+Também em homenagem a @@, que fez um grande ato de bravura recentemente. Que eles continuem protegendo o nosso mundo!
+
+Also in honor of the other two sages, %s and %s. And finally, notable mention for the noble %s, %s and %s, for sponsoring this Academy.
+Também em honra dos outros dois sábios,% se% s. E, finalmente, menção notável para os nobres% s,% s e% s, por patrocinar esta Academia.
+
+Also known as TMW2 Day, it celebrates the server founding,
+Também conhecido como Dia TMW2, celebra a fundação do servidor,
+
+Also near the market, look for %s. He is the chief of the City Guard. Ask if he need help, and help him!
+Também perto do mercado, olhar para% s. Ele é o chefe da Guarda da Cidade. Pergunte se ele precisa de ajuda, e ajudá-lo!
+
+Also note that if you are in overweight, your natural regen will halt. 90% in weight, and you won't be able to attack.
+Observe também que se você estiver com excesso de peso, sua regeneração natural irá parar. 90% em peso e você não poderá atacar.
+
+Also note that, under team's discretion, all rewards from this quest might be erasen along quest state.
+Observe também que, a critério da equipe, todas as recompensas dessa missão podem ser eliminadas ao longo do estado da missão.
+
+Also worth mentioning is how to improve your ability to shoot fast. You need to be agile to grab a new arrow from your quiver and aim for the next shot before your enemy has recovered from your last.
+Também vale a pena mencionar como melhorar sua capacidade de atirar rapidamente. Você precisa ser ágil para pegar uma nova flecha de sua aljava e mirar o próximo disparo antes que seu inimigo se recupere do último.
+
+Also you can ask how much he already save for you by checking your balance.
+Além disso, você pode perguntar quanto ele já guardou para você, verificando o seu saldo.
+
+Also your strength doesn't matter much. It helps you to carry more arrows with you, but nothing a few trips to the store won't do.
+Também sua força não importa muito. Ele ajuda você a carregar mais flechas com você, mas nada que algumas viagens à loja não façam.
+
+Also, Halinarzo is famous for the depleted mana mines in the town. You probably won't find a mana stone there, but it might be cool to look.
+Além disso, Halinarzo é famoso pelas minas de mana esgotadas na cidade. Você provavelmente não encontrará uma pedra de mana lá, mas pode ser legal olhar.
+
+Also, I believe hard work always pay off.
+Além disso, eu acredito que trabalho duro compensa.
+
+Also, I don't care if you don't like the @@. That's the weapon a true archer should use!
+Além disso, eu não me importo se você não gosta do @@. Essa é a arma que um verdadeiro arqueiro deveria usar!
+
+Also, I don't know what Sage will be their next target. I'm... A bit concerned with Sagratha. As she choose to live with wildlife and all, we sorta don't know a lot of what happens with her.
+Além disso, não sei o que Sage será seu próximo alvo. Estou um pouco preocupado com a Sagratha. Como ela escolhe viver com a vida selvagem e tudo, nós não sabemos muito do que acontece com ela.
+
+Also, I don't think we will be able to go back if we pick the wrong way.
+Além disso, eu não acho que vai ser capaz de voltar se nós escolhemos o caminho errado.
+
+Also, I see you're a newly registered mage. Am I right?
+Além disso, eu vejo que você é um mago recém-registrado. Estou certo?
+
+Also, Summer just started. Why not taking this opportunity to go Treasure Hunting?!
+Além disso, o verão acabou de começar. Por que não aproveitar esta oportunidade para ir Treasure Hunting ?!
+
+Also, Yetis can be crafty at times. I think someone on Hurnscald Household knew a lot about them, you might want to ask them if you ever feel struck.
+Além disso, Yetis pode ser astuto às vezes. Eu acho que alguém em Hurnscald Household sabia muito sobre eles, você pode querer perguntar-lhes se você já se sentiu atingido.
+
+Also, do you have the stolen item?
+Além disso, você tem o item roubado?
+
+Also, have a %s on the house!
+
+
+Also, hidden in a forest which is not hot nor cold, is the Gold Pot Cauldron...
+Além disso, escondido em uma floresta que não é quente nem frio, é o Pot Caldeirão ouro ...
+
+Also, if I move away from the singularity during disarm process, it'll be lost.
+Além disso, se eu me afastar da singularidade durante o processo de desarmamento, isso será perdido.
+
+Also, job levels get really hard to obtain after a while. The decision is up to you, just be aware there's that possibility.
+Além disso, os níveis de trabalho ficam muito difíceis de obter depois de um tempo. A decisão depende de você, apenas esteja ciente de que existe essa possibilidade.
+
+Also, listen well, because there are traps and dangers on the whole way. Their leader sealed themselves in safety.
+Além disso, ouvir bem, porque há armadilhas e perigos em todo o caminho. Seu líder selou-se em segurança.
+
+Also, most monsters get enraged and will attack whoever is closest to them, regardless of anything else.
+Além disso, a maioria dos monstros se irrita e atacará quem estiver mais próximo deles, independentemente de qualquer outra coisa.
+
+Also, south of here are mines. Talk to Tycoon for information about it.
+Além disso, ao sul daqui estão as minas. Fale com o Tycoon para obter informações sobre isso.
+
+Also, take this book so you don't forget the rules. You can always read it, or type ##B@rules##b on the chat.
+Também, pegue esse livro, para não esquecer das regras. Você sempre pode ler ele, ou digitar ##B@rules##b no chat.
+
+Also, take this. It's time to you learn to craft your own weapon. Talk to Nicholas in Hurnscald forge to make an awesome @@. Or use it on some other craft, it is your choice.
+Além disso, leve isso. É hora de você aprender a criar sua própria arma. Converse com Nicholas em Hurnscald para fazer uma incrível @@. Ou usá-lo em algum outro ofício, a escolha é sua.
+
+Also, the Inn folks said the Ducks keep bothering them, but they've noticed a small decrease already.
+
+
+Also, the more players survive, the better rewards will be given.
+Além disso, quanto mais jogadores sobreviverem, melhores recompensas serão dadas.
+
+Also, they can control the city taxes, which are applied upon purchases and sales within the town.
+
+
+Also, they level up when they attack, and can be revived with the right skill.
+Além disso, eles sobem de nível quando atacam e podem ser revividos com a habilidade certa.
+
+Also, unlike regular magic which may cause delay before and after, Mana Magic usually only have a cooldown. But it is hard to know how long that cooldown is...
+Além disso, ao contrário da magia regular, que pode causar atrasos antes e depois, a Magia de Mana geralmente só tem um cooldown. Mas é difícil saber quanto tempo essa recarga é ...
+
+Also, you need vitality and strength to survive the swimming trip. The closest island is very far away.
+Além disso, você precisa de vitalidade e força para sobreviver à viagem de natação. A ilha mais próxima fica muito longe.
+
+Also, you'll get more experience by killing monsters stronger than you, and less experience by killing monsters weaker than you.
+Além disso, você terá mais experiência matando monstros mais fortes que você e menos experiência matando monstros mais fracos que você.
+
+Also...
+
+
+Also: You'll be able to rebirth at Tulimshar with Jakod. What are you waiting for?!
+
+
+Alternatively, %s, the World Hero, should also be able to do it.
+
+
+Alternatively, I think someone at the Land Of Fire Village is able to refine some items. Why don't you try it sometime?
+Alternativamente, acho que alguém na Aldeia da Terra do Fogo é capaz de refinar alguns itens. Por que você não tenta isso algum dia?
+
+Alternatively, download a bleeding edge build at [@@https://manaplus.germantmw.de/|https://manaplus.germantmw.de/@@]
+Alternativamente, baixar uma compilação borda do sangramento em [@@ https: //manaplus.germantmw.de/ | https: //manaplus.germantmw.de/@@]
+
+Although I really want the Sailor's Hat, but daggers are dangerous for kids to play with.
+Embora eu realmente queira o Chapéu de Marinheiro, adagas são perigosas para as crianças brincarem.
+
+Although KOLCHAK managed to rank first in almost every ranking, Jesusalva was too close, and the Crafting gave him the edge he needed to take first place.
+Embora Kolchak conseguiu ocupar a primeira posição em quase todos os ranking, Jesusalva estava muito perto, eo Crafting deu-lhe a vantagem que precisava para tomar o primeiro lugar.
+
+Although the more powerful you are, the more money you will need.
+Embora quanto mais poderoso você é, mais dinheiro você precisará.
+
+Although this particular one seems to hate everyone and everything, it recognizes your strength.
+Embora esta em particular pareça odiar a tudo e a todos, ela reconhece sua força.
+
+Alvasus
+Alvasus
+
+Alvasus Pendant
+Pingente Alvasus
+
+Always a pleasure to help.
+É sempre um prazer ajudar.
+
+Always use %s
+
+
+Amazing. Five gifts for all. With 3200, we could supply nomad tribes...
+Surpreendente. Cinco presentes para todos. Com 3200, poderíamos fornecer tribos nômades ...
+
+Amazing. I think you found all the missing pages of which we didn't have a copy. This is a great help! I'll mention this to Nikolai.
+Surpreendente. Acho que você encontrou todas as páginas que faltam, das quais não temos uma cópia. Isso é uma grande ajuda! Eu vou mencionar isso para Nikolai.
+
+Amelia
+
+
+Amelia looks much more cheerful than the last time you've met her.
+
+
+Amethyst
+Ametista
+
+Amethyst (+2 dex)
+Ametista (+2 dex)
+
+Amethyst Bif
+Bif ametista
+
+Amethyst Powder
+Pó de ametista
+
+Ammo? I prefer power gloves! That is useless for me!
+Munição? Eu prefiro luvas de poder! Isso é inútil para mim!
+
+Amount?
+Montante?
+
+An Airship? It is just a ship. Which flies.
+
+
+An academy was built north of Tulimshar, and later, the Land of Fire Village was also built, symbol of progress, development and research.
+
+
+An account may vote anywhere, but only once per town (weekly).
+Uma conta pode votar em qualquer lugar, mas apenas uma vez por cidade (semanal).
+
+An assassin
+
+
+An emergency skill which temporarily raises all your stats.
+Uma habilidade de emergência que aumenta temporariamente todas as suas estatísticas.
+
+An error happened: professor_was_assasinated() error
+Um erro aconteceu: professor_was_assasinated () erro
+
+An error happened: unitwalk failed
+Um erro aconteceu: unitwalk falhou
+
+An error on your travel happened. Please report.
+Um erro na sua viagem aconteceu. Por favor reporte.
+
+An error on your travel time happened. Please report.
+Ocorreu um erro no seu tempo de viagem. Por favor reporte.
+
+An error with Stranger#LoF happened! Please report!!
+
+
+An event is happening at Aeros! Hurry up!
+Um evento está acontecendo no Eros! Se apresse!
+
+An event to prepare for the Steam Release
+
+
+An example is dec agi, which lowers your agility.
+Um exemplo é dezembro agi, o que reduz a sua agilidade.
+
+An unlimited number of members can join.
+Um número ilimitado de membros podem entrar.
+
+An upgrade is available.
+Uma atualização está disponível.
+
+Ancient Blueprint
+Modelo antigo
+
+Ancient Shield
+Escudo Antigo
+
+Ancient Sword
+Espada Antiga
+
+And Demure, the Queen of Dragons.
+
+
+And I'm not talking only about humans here! But perhaps, if you build a good reputation, she teaches you something.
+E eu não estou falando apenas de humanos aqui! Mas talvez, se você construir uma boa reputação, ela ensine alguma coisa.
+
+And a commission of @@/@@ GP.
+E uma comissão de @@ / @@ GP.
+
+And a great threat they shall defeat.
+
+
+And a lot of pages are missing, since most of the slimes escaped. I suppose we'll have to go out and hunt them once we're done here. Unless someone else hunt them for us.
+E muitas páginas estão faltando, já que a maioria dos slimes escapou. Suponho que teremos que sair e caçá-los assim que terminarmos aqui. A menos que alguém os caça por nós.
+
+And a special coupon section to get rare items for little or no money!
+E uma seção de cupom especial para obter itens raros por pouco ou nenhum dinheiro!
+
+And again, and again, again.
+E novamente, e novamente, novamente.
+
+And again, and again.
+E novamente e novamente.
+
+And again.
+E de novo.
+
+And also in notable mention of those who [@@https://moubootaurlegends.org/en/community|sponsor@@] the Alliance and its administrative structure.
+
+
+And also in notable mention of those who [@@https://www.patreon.com/TMW2|sponsor@@] the Alliance and its administrative structure.
+E também em menção notável àqueles que [@@https: //www.patreon.com/TMW2|patrocinam@@] a Aliança e sua estrutura administrativa.
+
+And anyone like you probably already knows that, well... Cookies are life!
+E alguém como você provavelmente já sabe disso, bem ... Cookies são a vida!
+
+And brought peace to the land.
+
+
+And by "moved to the canyon", I do mean it destroyed the little which kept our community alive back then. I heard the fire even moved to the icelands and burned everything on the path until it died at the frozen sea, but that would be too far for I know.
+
+
+And by last, to speak to everyone online, besides whoever might be idling on Discord, select the '#world' tab.
+
+
+And during that time, item dropped was bugged! We wanted to deliver you a token of apology!
+E durante esse tempo, o drop de itens estava bugado! Queríamos entregar-lhe um presente de desculpa!
+
+And guess what? They have a King of their own!
+E adivinha? Eles têm um rei próprio!
+
+And have you thought in the cause?
+E você já pensou na causa?
+
+And help to obtain they were able.
+
+
+And here's a rare for you, a @@! Good job!
+E aqui está um raro para você, um @@! Bom trabalho!
+
+And his sister,
+E sua irmã,
+
+And how do you feel about that?
+
+
+And if I end back here, I'll prove the planet is round! This is the perfect plan! %s GP to ride with me TO GLORY!
+
+
+And if the item breaks, that is definitive - no repair is possible. What to refine?
+E se o item quebrar, isso é definitivo - nenhum reparo é possível. O que refinar?
+
+And if the item breaks, that's your loss. What to refine?
+E se o item quebrar, essa é a sua perda. O que refinar?
+
+And if you bring me 1 @@ and 440 GP, I can make a @@ for you.
+E se você me trouxer 1 @@ e 440 GP, posso fazer um @@ para você.
+
+And if you listen to Tulimshar's Professor lecture wearing it, you'll gain more experience!
+E se você ouvir o professor palestra de Tulimshar usá-lo, você vai ganhar mais experiência!
+
+And if you study them well, you'll also gain more Research Points than you would get with other skills.
+
+
+And if your family, real or adoptive, was coward, there would be no lead at all.
+E se sua família, real ou adotiva, fosse covarde, não haveria chumbo.
+
+And in a hut, a lone woman mourned my death.
+E em uma cabana, uma mulher solitária lamentou minha morte.
+
+And in all these years, I've never seen him messing up anything important. He's a perfectionist. He isn't satisfied with anything less than the best possible result when doing his work.
+E em todos esses anos, nunca o vi bagunçando nada importante. Ele é um perfeccionista. Ele não está satisfeito com nada menos que o melhor resultado possível ao fazer o seu trabalho.
+
+And in honor of all brave LoF players, to be known to all, the fluffly hunters.
+E em homenagem a todos os bravos jogadores LoF, para ser conhecido por todos, os caçadores fofos.
+
+And it might be changed in a future patch %%g
+
+
+And now I'm going to lose my job and I'll have to leave here and no other sage would give me a new appointment and I don't know what else to do!
+E agora vou perder meu emprego e vou ter que sair daqui e nenhum outro sábio me daria um novo compromisso e não sei mais o que fazer!
+
+And now... Somber time is over! Time to get back to drinking! Yaaaay!!
+E agora ... O tempo sombrio acabou! Hora de voltar a beber! Yaaaay !!
+
+And obviously, Professor Volrtaw assigned me to investigate! Look at me, do I look like an investigator to you? But, he told me I could pick any student to help me! And I choose you!
+
+
+And once they entrust you with what is important for them, they'll pay better. Here is 700 GP. Come back later.
+E uma vez que eles te confiam o que é importante para eles, eles pagam melhor. Aqui está 700 GP. Volte mais tarde.
+
+And one last thing I'll want. See these @@? I don't like them, so I'll have you to kill 40 of them for me.
+E uma última coisa que vou querer. Vê estes @@? Eu não gosto deles, então eu vou ter você para matar 40 deles para mim.
+
+And one more thing...
+E mais uma coisa...
+
+And please, bring those criminals to justice! Barbara and the Assassin!
+E, por favor, trazer os criminosos à justiça! Barbara eo Assassino!
+
+And rejoice will come from their feats.
+
+
+And remember: If it was easy, I would be wielding it right now. Instead, I use a %s. So take courage.
+
+
+And some from the Grand Hunter Quests give you @@, which can be traded with the travelers for rares! Good luck!
+E algumas das Missões Grand Hunter dão a você @@, que pode ser negociado com os viajantes por raras! Boa sorte!
+
+And some of the shop items can be found as drops or in quests!
+E alguns dos itens da loja podem ser encontrados em gotas ou em missões!
+
+And some times, more Fafi dragons come... Don't neglect your aid.
+E algumas vezes, mais dragões Fafi vêm ... Não negligencie sua ajuda.
+
+And the lightbringer,
+
+
+And the runes wait for the grave to be found.
+
+
+And then you notice the small teddy is opening and closing the lid of this pot repeated times, as if it were looking for something.
+
+
+And then, it was no more! It vanished! In a matter of minutes the slimes were all over the library. A good thing they are slow, none escaped to the town.
+E então, não foi mais! Desapareceu! Em questão de minutos, os limos estavam espalhados pela biblioteca. Ainda bem que são lentos, nenhum escapou para a cidade.
+
+And then... There was a quake. And all life died. Bleed!
+
+
+And there is the Mana Magic, for the pro %%e You'll waste your life on that, as it have an experience system.
+
+
+And they can explode! Nothing in the world could make me go in there. I'll just do my work right here, clean the floor and tidy up the books, and I'm keeping my eyes open in case they get over here.
+E eles podem explodir! Nada no mundo poderia me fazer ir lá. Eu vou fazer o meu trabalho aqui mesmo, limpar o chão e arrumar os livros, e estou mantendo meus olhos abertos para o caso de eles virem até aqui.
+
+And thus, the longest war begun... And our clan was wiped out. Pachua, Mirio, I, Melune and Darug are the last ones. Oh, and Andra, I guess?
+
+
+And to leave this cramped ship, just go past his office! But beware...
+E para deixar este navio apertado, basta ir passado seu escritório! Mas cuidado...
+
+And unless you have a mage permit from the Magic Council, you won't be going to CR1 - Academy Island either.
+E a menos que você tem uma licença mago do Conselho de magia, você não vai estar indo para CR1 - Academia ilha também.
+
+And we know who the thief is.
+E nós sabemos que o ladrão é.
+
+And what's about Iron Ore?
+E quanto ao minério de ferro?
+
+And what's about Sunny Crystal?
+E o que é sobre Sunny Crystal?
+
+And who are you?
+
+
+And who do you think that created GM Magic in first place, inexperienced kid?
+E quem você acha que criou o GM Magic em primeiro lugar, garoto inexperiente?
+
+And who would you be? Another bandit? Leave!
+
+
+And whom do you claim to be the thief?
+E quem você afirma ser o ladrão?
+
+And with what you expect to fight monsters? You must arrange yourself a weapon!
+E com o quê você espera lutar contra monstros? Você precisa arranjar uma arma para si mesmo!
+
+And without proper MP-raising equipment, you'll be exausthed after your first fireball.
+E sem o equipamento adequado de levantamento de MP, você será exaurido após sua primeira bola de fogo.
+
+And you got help from a kid, Zarkor? Lucky is that kid, that I don't have time to deal with them. Farewell.
+E você recebeu ajuda de uma criança, Zarkor? Sorte dela, que eu não tenho tempo para lidar com insignificantes. Adeus.
+
+And you, @@... You better get walking. Soon.
+E você, @@ ... É melhor você ir andando. Agora.
+
+And you, take this %s. It is a reward for doing the dirty job. You would think old age would let you retire, hahaha!
+
+
+And, that's all.
+E isso é tudo.
+
+Andrei Sakar
+Andrei Sakar
+
+Andrei Sakar Calls for Heroes!
+
+
+Andrei Sakar Card
+Andrei Sakar Cartão
+
+Andrei Sakar calls for all the brave in the town of Artis - Kolev!
+
+
+Andrei Sakar is at the north exit of the town.
+
+
+Andrei Sakar is decided to investigate, and has made arrangements with %s.
+
+
+Andrei Sakar used magic: %s
+
+
+Andrei Sakar#FoS290
+
+
+Andrei Sakar#FoS298
+
+
+Andrei Sakar, Legendary Hero
+Andrei Sakar, Herói Lendário
+
+Andrei Sakar, the legendary Hurnscald Hero, as well as a group of alliance members which include yourself, are heading to the continent of Kolev, where is said to be a legendary town which helped the humans from the second era to survive.
+
+
+Andrei Sakar, world renowned hero, is assembling a group of adventurers for an important mission!
+
+
+Angel
+Anjo
+
+Angel Amulet
+Amuleto de Anjo
+
+Angel Light
+Luz do anjo
+
+Angela#Outside
+Angela#Outside
+
+Angela#house
+Angela#house
+
+Angry Bat
+Morcego com raiva
+
+Angry Red Scorpion
+Escorpião vermelho com raiva
+
+Angry Scorpion
+Escorpião Irritado
+
+Angry Yellow Slime
+Lodo amarelo irritado
+
+Animal Bones
+Ossos animais
+
+Anin The Traveler
+
+
+Anise Inc.
+Anise Inc.
+
+Anniversary marks the project birthdate. Do not mistake with TMW2 Day.
+O aniversário marca a data de nascimento do projeto. Não confunda com o Dia TMW2.
+
+Annoying Paxel, for example %%o
+
+
+Another lecture: Take always enough arrows with you. Go and come back when you are equipped adequately.
+Outra palestra: Leve sempre flechas suficientes com você. Vá e volte quando você estiver equipado adequadamente.
+
+Another time, maybe.
+Outra hora, talvez.
+
+Another way to attack it is clicking on it.
+Outra maneira de atacar é clicar nele.
+
+Another way to attack it is clicking on it. Now, there are some things you must know before fighting this truly dangerous foe!
+
+
+Another way to quickly get experience at lower levels, is visiting %s and talking to Professor. I heard those whom sit at the rug gain exp just by listening.
+Outra maneira de obter rapidamente experiência em níveis mais baixos, é visitar% s e falar com o professor. Eu ouvi aqueles que sentar-se no exp ganho tapete apenas por ouvir.
+
+Antlers
+Antlers
+
+Antlers Hat
+Chapéu de chifres
+
+Anwar
+Anwar
+
+Anwar sent you this, erm, hum... @@.
+Anwar lhe enviou este, hum, hum ... @@.
+
+Any boss which was previously unhittable, can be hit with appropriate number of attackers.
+Qualquer chefe que antes era incapaz de ser atingido, pode ser atingido com um número apropriado de atacantes.
+
+Any eventual ranking reward will be sent by the banker's mail.
+Qualquer eventual recompensa classificação será enviada por correio do banqueiro.
+
+Any fishing tips for me?
+Alguma dica de pesca para mim?
+
+Any friend of Hurnscald is my friend too. Come to me again, if you want to do daily quests!
+Qualquer amigo de Hurnscald também é meu amigo. Venha a mim novamente, se você quiser fazer missões diárias!
+
+Any movement/skill/item will be without effect until time is up.
+Qualquer movimento / habilidade / item será sem efeito até o tempo acabar.
+
+Anyone within this rug will be teleported.
+
+
+Anything else?
+Algo mais?
+
+Anyway, I am one of the few Mana Wizard, and I love Transmutation!
+De qualquer forma, eu sou um dos poucos Mana Wizard e adoro Transmutação!
+
+Anyway, I am selling Cherry Cakes to sponsor my studies. Please buy as many as you want!
+De qualquer forma, estou vendendo Cherry Cakes para patrocinar meus estudos. Por favor, compre quantos quiser!
+
+Anyway, I got this really nice @@ from Audsbel. He said I could collect herbs more efficiently with it.
+De qualquer forma, eu tenho isso muito bom @@ de Audsbel. Ele disse que eu poderia recolher ervas de forma mais eficiente com ele.
+
+Anyway, I heard both were disciples from Cordo-whatever, a powerful person from LoF Village.
+De qualquer forma, eu ouvi dizer que ambos eram discípulos de Cordo - o que quer que fosse, uma pessoa poderosa da LoF Village.
+
+Anyway, I still need @@. You have plenty of time to do things at your own pace.
+De qualquer forma, ainda preciso de @@. Você tem bastante tempo para fazer as coisas no seu próprio ritmo.
+
+Anyway, I think you should go to Hurnscald Townhall again, and speak with the mayor.
+De qualquer forma, acho que você deveria ir a Hurnscald Townhall novamente e falar com o prefeito.
+
+Anyway, I'd be really happy if you could give me @@ @@, @@ @@, @@ @@ and @@ @@.
+De qualquer forma, eu ficaria muito feliz se você pudesse me dar @@ @@, @@ @@, @@ @@ e @@ @@.
+
+Anyway, I'll give you @@ Real Estate Credits in advance. Go book yourself a room in the Inn. And then come back to me so we may discuss details.
+De qualquer forma, eu lhe darei antecipadamente Créditos Imobiliários. Vá reservar um quarto na pousada. E depois volte para mim para que possamos discutir detalhes.
+
+Anyway, Wyara told me about the assassins. I'm surprised they followed me until the ruins.
+De qualquer forma, Wyara me contou sobre os assassinos. Estou surpresa que eles me seguiram até as ruínas.
+
+Anyway, after that I'll use my magic, so everyone can rest after that until I finish, or keep killing the new monsters for experience and drops.
+
+
+Anyway, as you might be aware, Land Of Fire came here in an incident after the Monster King took all Mana Stones... So, we have a good magical affinity.
+Enfim, como você pode estar ciente, terra do fogo veio aqui em um incidente após o monstro rei tomou todas Pedras Mana ... Então, temos uma boa afinidade mágica.
+
+Anyway, conspiratory theories aside, his ghost is a powerful boss. I would not attack him if I were you!
+De qualquer forma, teorias conspiratórias à parte, seu fantasma é um chefe poderoso. Eu não o atacaria se fosse você!
+
+Anyway, he had a point. What will you do once the Monster War is over?
+De qualquer forma, ele tinha um ponto. O que você vai fazer quando o monstro guerra acabou?
+
+Anyway, he is not available at the moment. Try your luck again later.
+De qualquer forma, ele não está disponível no momento. Tente sua sorte novamente mais tarde.
+
+Anyway, here is your reward.
+Enfim, aqui é a sua recompensa.
+
+Anyway, if you ever feel bored and wanna see what I mean by yourself, just leave the building and head west, then north. There's a small entrance there.
+De qualquer forma, se você se sentir entediado e quiser ver o que eu quero dizer sozinho, apenas deixe o prédio e siga para o oeste, depois para o norte. Há uma pequena entrada lá.
+
+Anyway, it is Valentine Day, a good day to trade @@ with your admired one!
+De qualquer forma, é o Dia dos Namorados, um bom dia para trocar @@ com o seu admirado!
+
+Anyway, my herb mixture keeps monsters away.
+De qualquer forma, minha mistura de ervas mantém os monstros longe.
+
+Anyway, once you have the recipe book and learned a recipe, you can craft items in forges. I think you can buy it in your apartment.
+De qualquer forma, depois de ter o livro de receitas e aprendeu uma receita, você pode criar itens em forjas. Eu acho que você pode comprar no seu apartamento.
+
+Anyway, our shipkeeper, Juliet, helped to heal your injuries way back.
+De qualquer forma, nossa armadora, Juliet, ajudou a curar seus ferimentos lá atrás.
+
+Anyway, the Moubootaur certainly existed, and probably is still alive.
+De qualquer forma, o Moubootaur certamente existiu e provavelmente ainda está vivo.
+
+Anyway, there's a barrier to prevent monsters from attacking the city from below.
+De qualquer forma, há uma barreira para impedir que monstros ataquem a cidade de baixo.
+
+Anyway, why do you ask? Surely not to waste my time.
+
+
+Anyway, you can see how skilled using Mana Magic with @@. Mana Magic is the one which requires concentration, to bring things into existence, for example.
+De qualquer forma, você pode ver o quão hábil usando Mana Magia com @@. Mana Magia é a que exige concentração, para trazer as coisas à existência, por exemplo.
+
+Anyway, you had a letter to our @@, you meant? Sure thing, I'll let him know at once.
+De qualquer forma, você tinha uma carta para o nosso @@, você quis dizer? Claro, vou avisá-lo imediatamente.
+
+Anyway. This is the FAIRY KINGDOM spell. It'll spawn fairies.
+De qualquer forma. Este é o feitiço REINO FEERICAMENTE. Isso vai gerar fadas.
+
+Anyway. This is the KALBOO spell. It'll summon mouboos.
+De qualquer forma. Este é o feitiço KALBOO. Vai convocar mouboos.
+
+Anyway. This is the KALWULF spell. It'll spawn Wolverns.
+De qualquer forma. Este é o feitiço KALWULF. Isso vai gerar Wolverns.
+
+Anyway... Let's see how this world works!
+
+
+AoE (not stackable)
+
+
+Apana Cake
+Bolo De Apana
+
+Apane Card
+Carta Apane
+
+Apartment Manager
+Gerente de apartamento
+
+Apartment rents cannot be renewed until they expire. Furniture won't be lost.
+Os aluguéis de apartamentos não podem ser renovados até que expirem. Móveis não serão perdidos.
+
+Apparently, you'll need to use a %s to get this to work!
+
+
+Appearance Debug
+Depuração de aparência
+
+Appearance Debug - Barber
+Depuração de Aparência - Barbeiro
+
+Appearance Debug - Race
+Depuração de aparência - corrida
+
+Appearance Debug - Sex Change
+Debug Aparência - Mudança Sexual
+
+Apple Cocktail
+Coquetel de maçã
+
+Apple Trees#MKH1
+Pomar#MKH1
+
+Application fee: @@ GP
+Taxa de inscrição: @@ GP
+
+Application successful!
+Aplicação bem sucedida!
+
+Apply for the office!
+Aplicar para o escritório!
+
+Apply no pressure
+Não aplique pressão
+
+Apply normal pressure
+Aplique pressão normal
+
+Apply soft pressure
+Aplique pressão suave
+
+Apply strong pressure
+Aplicar pressão forte
+
+Apply very strong pressure
+Aplique pressão muito forte
+
+Applying...
+Aplicando...
+
+Apprentice Wand
+Aprendiz Varinha
+
+Approach it softly.
+
+
+Aquada
+Aquada
+
+Aquada Box
+Caixa de Aquada
+
+Ara ara? You do not have enough money with you!
+ara Ara? Você não tem dinheiro suficiente com você!
+
+Arabesque (Action)
+Arabesque (ação)
+
+Arauto
+Arauto
+
+Arcanum Stone
+Arcano de pedra
+
+Archant
+Archant
+
+Archers Eye
+arqueiros Eye
+
+Archery Weapon Recipes
+Tiro com arco Arma Recipes
+
+Arcmage Boxset
+Boxset Arcmage
+
+Are the fish biting today?
+Os peixes estão mordendo hoje?
+
+Are you Sagratha?
+Você é Sagratha?
+
+Are you a terranite?
+Você é um terranito?
+
+Are you and your party ready?
+Você e sua festa estão prontos?
+
+Are you asking because people say it's his fault? Listen, I've known him for many years now. We started our service here about the same time. We share our room and are really close friends.
+Você está perguntando porque as pessoas dizem que é culpa dele? Ouça, eu o conheço há muitos anos. Nós começamos nosso serviço aqui ao mesmo tempo. Nós compartilhamos nosso quarto e somos amigos muito próximos.
+
+Are you done yet?
+Você já terminou?
+
+Are you enjoying yourself in Candor? Do you have any questions?
+Você está se divertindo em Candor? Você tem alguma pergunta?
+
+Are you feeling well? That was a pretty powerful attack!
+Você está se sentindo bem? Esse foi um ataque muito poderoso!
+
+Are you going to stand here all day long? Go wash the dishes or go away.
+Você vai ficar aqui o dia todo? Vá lavar a louça ou vá embora.
+
+Are you interested in becoming a student of Archery?
+Você está interessado em se tornar um estudante de tiro com arco?
+
+Are you interested? You'll keep %s your equipment, magic, quest progression, craft recipes, money, whatever else which is not a level. Not even Job level won't be reset!
+Você está interessado? Você manterá% s seu equipamento, a magia, a progressão busca, receitas de artesanato, dinheiro, tudo o mais que não é um nível. Nem mesmo nível de trabalho não serão reiniciadas!
+
+Are you looking for Rebirth? Limited time only!
+
+
+Are you ok?
+Você está bem?
+
+Are you out of your mind?!
+Você está louco?!
+
+Are you ready to cross the Mirror Lake and return to your world?
+
+
+Are you ready?
+Você está pronto?
+
+Are you ready? There will be a long path ahead of us until this mistery is solved.
+
+
+Are you really going to jump here?
+Você realmente vai pular aqui?
+
+Are you sure you want leave?
+Tem certeza de que quer sair?
+
+Are you sure you want to begin now? (Cannot be changed later)
+Tem certeza de que quer começar agora? (Não pode ser alterado mais tarde)
+
+Are you sure you want to create a PIN now?
+Tem certeza de que deseja criar um PIN agora?
+
+Are you sure you want to leave?
+
+
+Are you sure you want to proceed? You CANNOT COME BACK!
+Tem certeza de que deseja continuar? Você não pode voltar!
+
+Are you sure you want to smash it?
+Tem certeza de que quer esmagá-lo?
+
+Are you sure?
+Você tem certeza?
+
+Are you sure? It costs 800 GP.#0
+Você tem certeza? Custa 800 GP.
+
+Are you sure? It costs 800 GP.#1
+Você tem certeza? Custa 800 GP.
+
+Are you sure? Like, really really sure?
+Você tem certeza? Tem certeza mesmo?
+
+Are you sure? This cannot be undone!
+Você tem certeza? Isto não pode ser desfeito!
+
+Are you sure?!
+Você tem certeza?!
+
+Are you trying to collect every piece of equipment ingame? Come tell me if you are and I'll give you a collector stamp!
+Você está tentando coletar todos os equipamentos no jogo? Venha me dizer se você é e eu vou te dar um selo de colecionador!
+
+Are you trying to provoke me?
+
+
+Are you up for the challenge?
+Você está pronto para o desafio?
+
+Are you with what I asked for?
+Você está com o que eu pedi?
+
+Are you, perhaps, interested?
+Você está, talvez, interessado?
+
+Area Provoke
+área Provoke
+
+Area of effect fire damage. May burn targets.
+Ãrea de danos efeito de fogo. Pode queimar alvos.
+
+AreaNPC#002-1d
+AreaNPC#002-1d
+
+AreaNPC#002-3d
+AreaNPC#002-3d
+
+AreaNPC#002-4d
+AreaNPC#002-4d
+
+AreaNPC#Peter
+AreaNPC#Pedro
+
+AreaNPC#doors4
+AreaNPC # doors4
+
+Aren't you Cindy's father? Why don't you go to her rescue?
+Você não é o pai de Cindy? Por que você não vai em seu socorro?
+
+Arena created, it can be used for 30 minutes.
+Arena criada, pode ser usada por 30 minutos.
+
+Argaes Human
+Argaes Humano
+
+Argh! I assume I can't do this chant!
+
+
+Argh... I can never get it right! If only he drew an Ace or a Joker on the first draw... But he never does that!
+Argh ... Eu nunca consigo acertar! Se ele desenhasse um Ãs ou Coringa no primeiro sorteio ... Mas ele nunca faz isso!
+
+Arkim
+Arkim
+
+Armageddon
+Armageddon
+
+Armbands
+Braçadeiras
+
+Armored Skeleton
+
+
+Armors: +3~5 defense
+Armaduras: + 3 ~ 5 defesa
+
+Arnea
+Arnea
+
+Arnea#003-13
+Arnea#003-13
+
+Arr ha ha ha arr!
+Arr ha ha ha arr!
+
+Arr!
+Arr!
+
+Arr! Here you go, matey!
+Arr! Aqui está, amigo!
+
+Arr, I'm bored!
+Arr, estou entediado!
+
+Arr, it is always good to be on land after so much time in sea!
+Arr, é sempre bom estar em terra depois de tanto tempo no mar!
+
+Arr, that's a fine map ya got there! And these are definitely Hurnscald Caves, yarr!
+
+
+Arr, that's not enough! I'll bring more later!
+Arr, isso não é suficiente! Eu trarei mais tarde!
+
+Arr, that's some fine ale! We can do the party when we're done with our work!
+Arr, isso é uma boa cerveja! Nós podemos fazer a festa quando terminarmos nosso trabalho!
+
+Arr, we will wait for you then! We still have tasks to complete!
+Arr, vamos esperar por você então! Ainda temos tarefas para completar!
+
+Arr, you are not experienced enough to help me yet!
+Arr, você não tem experiência suficiente para me ajudar ainda!
+
+Arrested!
+Preso!
+
+Arrevouir!
+Arrevouir!
+
+Arrow
+Flecha
+
+Arrow Ammo Box
+Caixa de Munição de Flechas
+
+Arrow Shower
+seta Duche
+
+Arrow Shower Card
+Cartão do chuveiro seta
+
+Arrr matey! My captain asked me to have you get him some items. Please bring us %d %s and %d %s, my captain likes to snack on those during our long voyages. Oh, and something to read too!
+
+
+Arrr matey! This is @@, yarr.
+Arr matey!! Esta é a @@, yarr.
+
+Arrr! Good job matey! You brought us everything we asked for, even the Maritime Almanac Scroll!
+
+
+Arrr! You did not bring me everything I asked for!
+Arrr! Você não me trouxe tudo o que eu pedi!
+
+Arrrrh! Looks like ye lost an eye there!
+Arrrrh! Parece que você perdeu um olho lá!
+
+Arrrrh! Ye be wearing a pirate's hat!
+Arrrrh! Você está usando um chapéu de pirata!
+
+Arrrrh! Ye remind me of my old first mate!
+Arrrrh! Você me lembra do meu antigo primeiro amigo!
+
+Arthur Card
+Carta Arthur
+
+Artichoke Herb
+Erva de alcachofra
+
+Artis
+Artis
+
+Artis - @@ GP (not exchangeable)
+
+
+Artis Tank Top
+Artis Regata
+
+Artis Warp Crystal
+
+
+Artis is a city port founded after the Great Fire on the other continent.
+
+
+Artis, right? So Andrei Sakar summoned you?
+
+
+ArtisShip
+
+
+Arvo
+Arvo
+
+As I had the spare materials I've already did yours in advance.
+Como eu tinha os materiais de reposição Eu já fez o seu com antecedência.
+
+As I know, you're kind of hunter crafter, Right?
+Como eu sei, você é uma espécie de caçador, certo?
+
+As I said, S.A.R.A.H. is a terrorist organization. They are dedicated to wiping out every single duck, worldwide. No duck has ever survived an encounter with a S.A.R.A.H. agent. You would do best to avoid them.
+Como eu disse, S.A.R.A.H. é uma organização terrorista. Eles são dedicados a aniquilar cada pato, em todo o mundo. No pato jamais sobreviveu a um encontro com um S.A.R.A.H. agente. Você faria melhor evitá-los.
+
+As I see, you stay alive!
+Como eu vejo, você continua vivo!
+
+As a King, I cannot simply ignore it. Of course, I really doubt it is zombies, but nobody wants to go. That's why I'm resorting to an adventurer like you.
+Como rei, não posso simplesmente ignorá-lo. Claro, eu realmente duvido que é zumbis, mas ninguém quer ir. É por isso que estou recorrendo a um aventureiro como você.
+
+As a result, while fishing you may randomly get a golden fish.
+Como resultado, enquanto a pesca você pode obter de forma aleatória um peixe dourado.
+
+As a what?
+Como um o que?
+
+As about if I have any idea why they said they were from here? ...Actually, I do.
+E se eu tiver alguma ideia de por que eles disseram que eram daqui? ...Na verdade eu faço.
+
+As always, I can use a helping hand around here. Interested?
+Como sempre, posso usar uma mão amiga por aqui. Interessado?
+
+As an Apology Token, you're also receiving one @@.
+Como uma desculpa token, você também está recebendo um @@.
+
+As an archer, you should always carry your bow with you. Doesn't warriors carry those heavy swords without complaining? Go and get it.
+Como arqueiro, você deve sempre levar seu arco com você. Os guerreiros não carregam aquelas espadas pesadas sem reclamar? Vá e pegue.
+
+As an honorary member of the Duck Side, know that we are more than we appear. The Moubootaur itself has seen fit to reward us when it awakens. Do not attempt to cross us.
+Como um membro honorário do lado Duck, sabemos que somos mais do que aparecer. O Moubootaur tem visto fit para nos recompensar quando ele desperta. Não tente nos cruzar.
+
+As far as we are concerned, you could have been an exiled prisoner who managed to escape! But there are ways to prove to the Alliance that your intentions are good.
+Tanto quanto nós estamos preocupados, você poderia ter sido um prisioneiro exilado que conseguiu escapar! Mas existem maneiras de provar à Aliança que suas intenções são boas.
+
+As long that Saulc doesn't draws the sprites for my stuff, that is! %%a
+
+
+As long that you have the money, and some really high quality material, I can tailor anything ugly in something fashion!
+Contanto que você tenha o dinheiro e algum material realmente de alta qualidade, eu posso adaptar qualquer coisa feia de alguma forma!
+
+As long that you know the basic structure, this shall do damage.
+
+
+As soon that Saulc GM get back, we can start.
+Assim que o Saulc GM voltar, podemos começar.
+
+As the leader of your party, you can only go forward.
+Como líder do seu grupo, você só pode seguir em frente.
+
+As to how to obtain research points... Randomly when casting, by enrolling in a class with my wife Emma, by studying monsters, and randomly but very rarely with the Professor in Tulimshar.
+
+
+As usual, you can get only one hat yearly, for the symbolic amount of 40 @@ and 10 @@!
+Como de costume, você pode obter apenas um chapéu por ano, pelo valor simbólico de 40 @@ e 10 @@!
+
+As with all TMW2 Major Events, the top 1 receive a special pet, and the other ranked ones get diverse rewards.
+Como em todos os Eventos Principais do TMW2, o top 1 recebe um animal de estimação especial, e os outros classificados recebem recompensas diversas.
+
+As you can guess, said village was abandoned. However, people are claiming to have seen people walking there, like shadows or zombies.
+Como você pode imaginar, a vila foi abandonada. No entanto, as pessoas estão alegando ter visto pessoas andando por lá, como sombras ou zumbis.
+
+As you learned, helping others is a good way to level up. You can also sell monster parts for some money.
+
+
+As you may be aware, the Magic Council is in Tulim, after all.
+Como você pode estar ciente, o Conselho magia está em Tulim, depois de tudo.
+
+As you may know, LOF ran on a modified version of The Mana World game, before being merged on TMW2: Moubootaur Legends.
+Como você deve saber, o LOF rodou em uma versão modificada do jogo The Mana World, antes de ser fundido no TMW2: Moubootaur Legends.
+
+As you might have noticed, it depends on many circumstances if your arrow finds its target. Your shot may be too powerful or too weak, so the arrow goes far beyond your target or hits the ground before it reaches its destination.
+Como você deve ter notado, depende de muitas circunstâncias se a seta encontrar o alvo. Sua tacada pode ser muito poderosa ou muito fraca, então a flecha vai muito além de seu alvo ou atinge o solo antes de chegar ao seu destino.
+
+As you might know, the Great Fire ruined the whole world. Many people wanted to escape the wastelands which the continent had became, so they made convoys and left to the great sea.
+
+
+As you see, you can count the mages with the fingers of one hand. It's not just Mana Magic, either - Magic in overall is almost dead, with almost every Mana Stone on the power of the Monster King.
+Como você vê, você pode contar os magos com os dedos de uma mão. Também não é apenas Magia de Mana - Magia em geral está quase morta, com quase todas as Mana Stone no poder do Rei Monstro.
+
+As you want!
+Como você quiser!
+
+As you wish. But do not mess with things you don't understand.
+Como quiser. Mas não mexa com coisas que você não entende.
+
+Ash Urn
+Urna de Cinza
+
+Ask everytime
+
+
+Ask next time
+
+
+Ask.
+
+
+Assassin
+Assassino
+
+Assassin Boots
+Botas de Assassino
+
+Assassin Chest
+assassino Peito
+
+Assassin Gloves
+Luvas de Assassino
+
+Assassin Pants
+Calças Assassino
+
+Assassination failed - target is stronger than you
+
+
+Astral Cube
+Cubo Astral
+
+At 00:00, 06:00, 12:00, 15:00, 18:00 and 21:00 server time
+Às 00:00, 06:00, 12:00, 15:00, 18:00 e 21:00, hora do servidor
+
+At January 2008 - Construction of Dimonds Cove.
+Em janeiro de 2008 - Construção da Dimonds Cove.
+
+At a first glance, it seems to be full of water, but inspecting closer, it is not.
+À primeira vista, parece estar cheio de água, mas inspecionando mais de perto, não é.
+
+At long last, you see the end of the corritor.
+Finalmente, você vê o fim do corritor.
+
+At the last day, an earthquake happened. And then, monsters started showing up everywhere. Immortal monsters, which come back after killed, as if they had touched the Soul Menhir.
+
+
+Atk +25
+
+
+Atk Range +1
+
+
+Atk. Speed +10
+
+
+Atonishing. Six gifts is the real deal. Easy to guess: 6400 is the next milestone.
+Surpreendente. Seis presentes são o verdadeiro negócio. Fácil de adivinhar: 6400 é o próximo marco.
+
+Atropos Mixture
+Mistura atropos.
+
+Attack him
+
+
+Attain level 50 to try this quest.
+Atingir o nível 50 para tentar esta missão.
+
+Attempt to break the Mana Stone?
+Tentar quebrar a Pedra Mana?
+
+Attempt to break the seal?
+Tenta quebrar o selo?
+
+Attempt to disarm the singularity?
+Tentativa de desarmar a singularidade?
+
+Attempt to heal the Mouboo
+Tentativa de curar o Mouboo
+
+Attempt to kill the Mouboo
+Tente matar o Mouboo
+
+Attempt to lockpick?
+Tentativa de lockpick?
+
+Attempt to retrieve it now?
+Tentativa de recuperá-lo agora?
+
+Attempted to buy %d/%d %s, operation cancelled.
+
+
+Attempts for today: %d/%d
+As tentativas para hoje:% d /% d
+
+Auldsbel
+Auldsbel
+
+Auldsbel the Wizard
+Auldsbel o mago
+
+Aurora
+aurora
+
+Aurora Events
+Aurora Eventos
+
+Aurora will collect the crystals; And adventurers from the whole world shall look for them in the chests and return to Aurora!
+Aurora irá recolher os cristais; E aventureiros de todo o mundo deve olhar para eles nos baús e voltar para Aurora!
+
+Authorship: Former_Cordo (Cordo)
+Autoria: Former_Cordo (Cordo)
+
+Authorship: Manatauro
+
+
+Authorship: Xanthem (DiamondPython)
+Autoria: Xantana (Pitão-diamante)
+
+Automatic Botchecks
+Botchecks automática
+
+Automatic disarm in: @@
+Desarme automático em: @@
+
+Automatic fishing bait
+
+
+Autoreceive Strange Coins:
+Moedas estranhas Autoreceive:
+
+Autumn
+Outono
+
+Autumn Mask
+Máscara de outono
+
+Average EXP:
+EXP média:
+
+Average player level: @@
+Nível médio do jogador: @@
+
+Awake lost potential? This will mess with your char data irreversibly, beware.
+
+
+Awesome, come back if you ever want to create a larger group!
+Awesome, volte se você quiser criar um grupo maior!
+
+Awesome, here is the certificate! Choose guild name wisely, because there are no refunds, even if you lose it!
+Incrível, aqui está o certificado! Escolha o nome da guilda com sabedoria, porque não há reembolso, mesmo que você o perca!
+
+Awful Yetis kidnapped my daughter, and brought her to the cave. Please save her!
+Awesome Yetis sequestrou minha filha e a trouxe para a caverna. Por favor, salve-a!
+
+Aww it's not summer. I love June 21st, and the summer vacations!
+Aww não é verão. Eu amo 21 de junho e as férias de verão!
+
+Axe Hat
+Chapéu de machado
+
+Axzell the Alchemist
+Axzell o Alquimista
+
+Ayasha
+Ayasha
+
+AyashaDebug
+AyashaDebug
+
+Azul Skull Slime
+Azul Crânio Slime
+
+Azul Slime
+Lodo Azul
+
+Azul Slime Mother
+Azul Slime Mãe
+
+AzulSlime
+
+
+BEGIN WARP PROCEDURES?
+BEGIN PROCEDIMENTOS WARP?
+
+BOSS FIGHT!
+BOSS FIGHT!
+
+BOSS WARNING
+
+
+BOTCHECK: You are on botcheck area. DO NOT attack or collect items until given the order.
+BOTCHECK: Você está na área de verificação. NÃO ataque ou colete itens até receber o pedido.
+
+BUG, Please report: TorchTally, err_val @@
+BUG, Por favor, informe: TorchTally, err_val @@
+
+BUG, REPORT ME! Hurncald Liberation Day check FAIL
+
+
+BUG, REPORT ME: QHUB PENALTY OVERRIDE INVALID SIGNAL @@
+BUG, me informe: QHUB PENALTY OVERRIDE INVALID SIGNAL @@
+
+BUT you can reduce the travel price to everywhere, to as low as 250 GP, by completing QUESTS!
+MAS você pode reduzir o preço da viagem para qualquer lugar, até 250 GP, completando os QUESTS!
+
+Bachelor
+bacharel
+
+Backsliding
+backsliding
+
+Backsword
+Backsword
+
+Bah! Don't try to fool me! The sun can't burn in Nivalis.
+Bah! Não tente me enganar! O sol não pode queimar em Nivalis.
+
+Bah, sorry my manners! I love to chat! Anyway, talk to any General of mine, just behind me. See if they need help.
+Bah, desculpe meus modos! Eu amo conversar! De qualquer forma, fale com qualquer General meu, logo atrás de mim. Veja se eles precisam de ajuda.
+
+Baktar
+Baktar
+
+Baktar can be picky with Tulimshar stuff, too.
+Baktar também pode ser exigente com as coisas de Tulimshar.
+
+Bandana
+Bandana
+
+Bandit
+Bandito
+
+Bandit Hat
+Chapéu Bandido
+
+Bandit Hood
+Bandido Hood
+
+Bandit Lord
+Lorde dos Bandidos
+
+Bandit Mask
+Máscara de bandido
+
+Bandit Pants
+Calça Bandido
+
+BanditLord
+
+
+Bandits are a huge threat to Hurnscald. We're just a small farming town, and they're countless.
+Bandidos são uma enorme ameaça para Hurnscald. Somos apenas uma pequena cidade agrícola e eles são incontáveis.
+
+Banned from Academy
+
+
+Banshee Bow
+Arco Banshee
+
+Banu
+
+
+Bar Jobs
+Jobs Bar
+
+Barbara was apprehended. It would be weird to show her on your inventory, so we won't.
+Barbara foi apreendido. Seria estranho para mostrar a ela em seu estoque, por isso não vamos.
+
+Barbara#01861
+Barbara#01861
+
+Barbara, Wounded Girl
+Barbara, Ferido menina
+
+Barbara. You're under arrest by Kenton's orders. Please surrend peacefully.
+Barbara. Você está preso por ordem de Kenton. Por favor surrend pacificamente.
+
+Barbarian Amulet
+Amuleto Bárbaro
+
+Barbarian Master Amulet
+Amuleto Mestre Bárbaro
+
+Barbarian#Frostia
+Bárbaro#Frostia
+
+Barely any difference, maybe I should use better healing items on it.
+A apenas qualquer diferença, talvez eu devesse usar melhores itens de cura sobre ele.
+
+Barrel
+Barril
+
+Barrel#1
+Barril#1
+
+Barrel#2
+Barril#2
+
+Barrel#3
+Barril#3
+
+Barrel#4
+Barril#4
+
+Barrel#5
+Barril#5
+
+Barrel#6
+Barril#6
+
+Barrel#7
+Barril#7
+
+Barrel#8
+Barril#8
+
+Barrels#MKHB
+Barris#MKHB
+
+Bartender
+Barman
+
+Barzil
+Barzil
+
+Base Experience Rate is now %d%%.
+
+
+Base Tier
+Camada Base
+
+Bash your weapon against your enemies with raised damage and accuracy.
+Esmagar a sua arma contra seus inimigos com dano e precisão elevada.
+
+Basic Magic
+Magia Básico
+
+Basic Tricks
+Truques básicos
+
+Basic earth area attack. May stun targets.
+
+
+Basic earth single target attack. May stun targets.
+
+
+Basic fire single target attack. May burn targets.
+fogo de ataque básico alvo único. Pode queimar alvos.
+
+Basic ice area attack. Freeze targets in a big area.
+Básico ataque de área de gelo. Congelar alvos em uma grande área.
+
+Basic ice area attack. May freeze targets.
+Básico ataque de área de gelo. Pode congelar alvos.
+
+Basic ice single target attack. May freeze targets.
+gelo de ataque básico alvo único. Pode congelar alvos.
+
+Basic multi-target holy attack. Is actually weak.
+ataque santo multi-alvo Basic. É realmente fraco.
+
+Basic single target holy attack. Splashes in the nearby tiles.
+Básica de ataque santo único alvo. Salpicos para os azulejos nas proximidades.
+
+Basic wind single target attack. Strong in overall.
+vento de ataque básico alvo único. Forte em geral.
+
+Basically, I need to find a friendly Yeti. Do they exist?
+Basicamente, eu preciso encontrar um Yeti amigável. Eles existem?
+
+Basically, no one else disturbs me anymore when I'm busy snoring in class! ^.^
+Basicamente, ninguém mais me perturba mais quando estou ocupado ronco na sala de aula! ^. ^
+
+Basically, there's no sea route to Halinarzo. You must head southeast of Tulimshar.
+Basicamente, não há rota marítima para Halinarzo. Você deve ir a sudeste de Tulimshar.
+
+Basil
+Basil
+
+Bat
+Morcego
+
+Bat Egg
+Bat Egg
+
+Bat Teeth
+Dente de Morcego
+
+Bat Wing
+ASA de morcego
+
+Bathrobe
+Roupão de banho
+
+Battle Plans
+Planos de batalha
+
+Be Patient... You still need to wait @@.
+Seja Paciente ... Você ainda precisa aguardar @@.
+
+Be a friend and bring me @@ @@.#0
+Seja minha camarada e me traga @@ @@.
+
+Be a friend and bring me @@ @@.#1
+Seja meu camarada e me traga @@ @@.
+
+Be aware I can only bake batches of @@ potions.
+Esteja ciente de que só posso assar lotes de @@ poções.
+
+Be careful as not everybody likes transmuted monster parts. Some may even see it as a foul thing. Anyway. Come back later.
+Tenha cuidado, pois nem todo mundo gosta de peças monstro transmutado. Alguns podem até vê-lo como uma coisa falta. De qualquer forma. Volte mais tarde.
+
+Be careful during night, use "@tutorial" in case of doubt, use "%s" to go to the event, and good luck!
+
+
+Be careful that they may be anywhere in the world, and the same rules as Tulimshar Guard House apply! So, are you here to apply or to report back?
+
+
+Be careful to not get lost in the forest.
+Tenha cuidado para não se perder na floresta.
+
+Be careful when walking, because you may change quadrands and then... It won't count. You'll need to start over again.
+Tenha cuidado ao andar, porque você pode mudar de quadrante e então ... Não vai contar. Você precisará começar de novo.
+
+Be careful!
+Seja cuidadoso!
+
+Be careful, because the more magic power you ask the Mana Seed, the more difficult to control it will be.
+Tenha cuidado, porque quanto mais poder mágico você pedir à Semente de Mana, mais difícil de controlar será.
+
+Be cursed, you fool!
+Seja amaldiçoado, seu tolo!
+
+Be devoured!
+Seja devorado!
+
+Be sure to have a friend before joining, or you may have to logout in order to be able to move again!
+Certifique-se de ter um amigo antes de entrar, ou você pode precisar fazer logout antes de conseguir se movimentar novamente!
+
+Bear Hat
+
+
+Bear Strike
+
+
+Beard
+Barba
+
+Beatrice
+
+
+Because I am a special nymph.
+
+
+Because I am awesome!
+Porque eu sou demais!
+
+Because Isbamuth is tracking me? It would be pointless if he noticed. If you can't even understand this, maybe I overestimated you, after all...
+
+
+Because heroes are not born, rather, they are made!
+Porque ninguém nasce herói, não, heróis são forjados!
+
+Because in the end, you are in the hands of your class leader!
+Porque no final, você está nas mãos do seu líder de classe!
+
+Because it may be a fatal fall!
+Porque pode ser uma queda fatal!
+
+Because the council has some crazy project which requires me to move crates all the time!
+
+
+Because they control everything! They even determine taxes!
+Porque eles controlam tudo! Eles até determinam os impostos!
+
+Because this, the national budget is going to other silly, under-rewarding, minor things...
+Porque isso, o orçamento nacional está indo para outras coisas bobas, sub-recompensadoras, menores ...
+
+Bed#Saggy
+Cama#Saggy
+
+Beds
+Camas
+
+Bee
+Abelha
+
+Bee Hive
+
+
+Bee Keeper Hat
+
+
+Bee Stinger
+
+
+Beer
+Cerveja
+
+Beer is nice, but sometimes I want something more exotic to drink! Oui, we need a proper bar here!
+A cerveja é boa, mas às vezes eu quero algo mais exótico para beber! Oui, precisamos de um bar adequado aqui!
+
+Before start witch item do you want to play
+Antes de começar, com quais itens deseja jogar
+
+Before you give me your report, acquire level %d.
+
+
+Begger#EP
+
+
+Begin campaign?
+
+
+Begin classic mode
+
+
+Begin!
+Início!
+
+Begin?
+
+
+Behave yourself, or you'll be executed in the town square mercilessly. You have been warned.
+Comporte-se, ou você será executado na praça da cidade impiedosamente. Você foi avisado.
+
+Behave yourself.
+Comporte-se.
+
+Bella, the Scholar
+Bella, o estudioso
+
+Below this strange writing, you notice a word still deeply engraved in the stone:
+
+
+Ben Parkison
+Ben Parkison
+
+Ben#NivBanker
+Ben#NivBanker
+
+Benjamin
+
+
+Benjamin reported in. Good luck arresting the criminal!
+Benjamin relatado em. Boa sorte prender o criminoso!
+
+Benjamin, Wounded Soldier
+Benjamin, soldado ferido
+
+Bent Needle
+Agulha curvada
+
+Besides "spot", you can also use "nearest" for more area, and even "near" or "nearby" for even more.
+
+
+Besides being able to train you, he is a walking encyclopedia - Ask him anything you are unsure about!
+Além de poder treinar você, ele é uma enciclopédia ambulante - Pergunte a ele sobre o que você não tem certeza!
+
+Besides that, do I look like a warrior to you? Why would you give a kid a sharp dagger?
+Além disso, eu pareço um guerreiro para você? Por que você daria a um garoto uma adaga afiada?
+
+Besides the Magic Council, Andrei Sakar have his own Mana Stone, but I doubt he would train the likes of you, or share his Mana Stone.
+Além do Conselho Mágico, Andrei Sakar tem sua própria Pedra de Mana, mas duvido que ele treinasse seus gostos ou compartilhasse sua Pedra de Mana.
+
+Besides this, there is Seasons. You know, summer, autumn, winter and spring.
+Além disso, há estações. Você sabe, verão, outono, inverno e primavera.
+
+Besides, I know these caves like the back of my hand. You would have a hard time tracking me down.
+Além disso, conheço essas cavernas como as costas da minha mão. Você teria dificuldade em me rastrear.
+
+Besides, I'm not an Yeti expert. I don't understand how these creatures think, nor do I care! I only want Cindy back home safely!!
+Além disso, eu não sou um especialista em Yeti. Eu não entendo como essas criaturas pensam, nem me importo! Eu só quero Cindy de volta para casa em segurança !!
+
+Besides, the Alliance High Council had plans for an expedition on the Fortress Island, but had no personel to do it.
+
+
+Besides, there are no Butterflies in Tulimshar, and they could help the farm in getting producing food.
+Além disso, não há borboletas em Tulimshar, e eles poderiam ajudar a fazenda na obtenção de produção de alimentos.
+
+Better do this some other time...
+Melhor fazer isso outra hora ...
+
+Better luck next time!
+
+
+Better luck next time!"
+
+
+Beware the Terranite! Only @@ would be brave enough to challenge them!
+Cuidado com o Terranite! Somente @@ seria corajoso o suficiente para desafiá-los!
+
+Bhop Fluffy
+Coelho
+
+Bhopper Egg
+Ovo de Bhopper
+
+Bif
+Bif
+
+Bif is a monster shaped like weird rocks. Diamond Bif is a Bif with higher chances to drop Diamonds.
+Bif é um monstro em forma de rochas estranhas. Diamante Bif é um Bif com maiores chances de cair Diamonds.
+
+Big Amethyst Bif
+Big Bif ametista
+
+Big Arrow Sack
+Big Seta Sack
+
+Big Bullet Sack
+Pacote de Balas Grande
+
+Big Diamond Bif
+Big Diamond Bif
+
+Big Elenium Bif
+Big Elenium Bif
+
+Big Emerald Bif
+Bif Esmeralda Grande
+
+Big Frog
+
+
+Big Magic Bif
+Big Magic Bif
+
+Big Pumpkin Seed
+Semente de Abóbora Grande
+
+Big Ruby Bif
+Big Ruby Bif
+
+Big Sapphire Bif
+Big Safira Bif
+
+Big Topaz Bif
+Big Topaz Bif
+
+Billy
+Billy
+
+Billy Bons
+Billy Bob's
+
+Billy Bons#TMW2
+Billy Bons#TMW2
+
+Birds in the Sunrise
+Pássaros no nascer do sol
+
+Black Dye
+Tintura Preta
+
+Black Mamba
+Mamba negra
+
+Black Mamba Egg
+Ovo de Mamba Negra
+
+Black Mamba Egg -> Mountain Snake Egg
+Black Mamba Egg -> Montanha Serpente Egg
+
+Black Mamba Skin
+Pele Mamba Negra
+
+Black Mamba Skin -> Mountain Snake Skin
+Black Mamba pele -> Pele Montanha Serpente
+
+Black Mamba Tongue
+Língua de Mamba Negra
+
+Black Mamba Tongue -> Mountain Snake Tongue
+Black Mamba Tongue -> Montanha Serpente Tongue
+
+Black Pearl
+Pérola Negra
+
+Black Scorpion
+Escorpião Preto
+
+Black Scorpion Claw
+Garra Escorpião Negro
+
+Black Scorpion Claw -> Red Scorpion Claw
+Black Scorpion Claw -> Red Scorpion Garra
+
+Black Scorpion Stinger
+Ferrão Escorpião Negro
+
+Black Scorpion Stinger -> Red Scorpion Stinger
+Black Scorpion Stinger -> Red Scorpion Stinger
+
+Black Skull Slime
+Preto Slime Crânio
+
+Black Slime
+Lodo preto
+
+Black Slime Mother
+Preto Mãe Slime
+
+BlackCat
+Gato preto
+
+BlackScorpion
+
+
+Blacksmith
+Ferreiro
+
+Blacksmith Axe
+Machado de ferreiro
+
+Blacky Cat
+Gato preto
+
+Blade Shield
+Blade Shield
+
+Blame @@, missing map between 014-5 and 019-1, solely to make trip longer.
+É culpa de @@, faltando mapa entre 014-5 e 019-1, unicamente para tornar a viagem mais longa.
+
+Blame Saulc
+Culpa do Saulc
+
+Blame Saulc.
+Culpa Saulc.
+
+Blanket
+Cobertor
+
+Bleed
+Sangrar
+
+Blessing applied at: %s
+Benção aplicada através de:% s
+
+Blessing of Defense
+Bênção da Defesa
+
+Blessing of Immortality
+Bênção da Imortalidade
+
+Blind
+Cego
+
+Block +1%
+
+
+Bloodbath
+
+
+Bloodstone Pendant
+Pingente de Bloodstone
+
+Bloody Mouboo
+Mouboo Sangrento
+
+Bloody Mouboo Hat
+
+
+Blooodstone
+Bloodstone
+
+Blossom
+Flor
+
+Blossom, blossom, why you do this to me...
+Flor, flor, porque você faz isso comigo ...
+
+Blub
+Blub
+
+Blub, blub, blub
+
+
+Blue
+Azul
+
+Blue Coral
+Coral Azul
+
+Blue Dye
+Corante azul
+
+Blue Eggshell Hat
+Chapéu Casca De Ovo Azul
+
+Blue Gray Dye
+Tintura Azul Cinza
+
+Blue Knight Shield
+Escudo do Cavaleiro Azul
+
+Blue Mana Pearl
+Pérola de Mana Azul
+
+Blue Sage will want to know this, I'll write him a letter.
+Blue Sage vai querer saber disso, vou escrever uma carta para ele.
+
+Blue Slime
+Lodo azul
+
+Blue Slime Mother
+Azul Slime Mãe
+
+Blue Switch#EP
+
+
+Blue from sea, learned how to hunt. But unfortunately, not how to withstand attacks.
+Azul do mar, aprendeu a caçar. Mas, infelizmente, não como resistir a ataques.
+
+Blueberries
+Amoras
+
+Bluepar
+Bluepar
+
+Boias, unlike common shields, does not have any penalty!
+Boias, ao contrário de escudos comuns, não tem nenhuma penalidade!
+
+Bone
+Osso
+
+Bone Ammo Box
+Caixa de munição óssea
+
+Bone Arrow
+Flecha de Osso
+
+Bone Knife
+Faca de osso
+
+Bonjour! I am @@, and I am from the Press! Read the latest news with me!
+Bom dia! Eu sou @@ e eu sou da imprensa! Leia as últimas notícias comigo!
+
+Bonus recipes must be enabled with @@ after learned!
+Receitas de bônus devem ser habilitadas com @@ depois de aprendidas!
+
+Bonus:
+
+
+Boo!
+Vaia!
+
+Book Keeper
+Guardião do livro
+
+Book#01863A
+Livro#01863A
+
+Book#FoS
+
+
+Book#Saggy
+Livro#Saggy
+
+Bookcase#MKHB1
+Prateleira#MKHB1
+
+Bookcase#MKHB2
+Prateleira#MKHB2
+
+Bookcase#MKHB3
+Prateleira#MKHB3
+
+Bookcase#MKHB5
+Prateleira#MKHB5
+
+Booo....
+Booo ....
+
+Boots
+Chuteiras
+
+Booty!
+Espólio!
+
+Boring NPC
+NPC entediante
+
+Born %s ago
+
+
+Boss Hunter Boina
+Chefe Hunter Boina
+
+Boss Of The Dusty People
+Chefe das pessoas empoeiradas
+
+Boss Raid
+
+
+Boss defeated!
+
+
+Bot Master
+Mestre de bot
+
+Both rent and furniture are bought using money, however, there are mobiliary credits.
+Tanto o aluguel quanto a mobília são comprados com dinheiro, no entanto, existem créditos mobiliários.
+
+Bottle Of Divine Water
+Garrafa de água divina
+
+Bottle Of Sand
+Garrafa de areia
+
+Bottle Of Sea Water
+Garrafa de água do mar
+
+Bottle Of Sewer Water
+Garrafa de água de esgoto
+
+Bottle Of Tonori Water
+Garrafa De Ãgua Tonori
+
+Bottle Of Woodland Water
+Garrafa de água da floresta
+
+Bounty Hunter Helmet
+Capacete de caçador de recompensas
+
+Bow (strong, slow, no evasion)
+Bow (forte, lento, sem evasão)
+
+Bowler Hat
+Chapeu coco
+
+Bows
+Arcos
+
+Bows are good, but if you're going to the Desert Canyon, I would instead invest on a light shield. Heavy ones make you walk slower.
+Arcos são bons, mas se você estiver indo para o Desfiladeiro do Deserto, eu investiria em um escudo de luz. Os pesados ​​fazem você andar mais devagar.
+
+Bows give you a good attack range, in exchange of all your evasion.
+Arcos te dão um bom alcance de ataque, em troca de toda a sua evasão.
+
+Box Of Chocolates
+Caixa de chocolates
+
+Bracco
+Bracco
+
+Brain
+Cérebro
+
+Brainic
+
+
+Brainstem
+Tronco cerebral
+
+Braknar Shield
+Escudo Braknar
+
+Braknar Shield Recipe unlocked!
+Braknar Escudo Receita desbloqueado!
+
+Braknar also used a pseudonym - Arvek. If you hear that name in some tale, it is the same person.
+Braknar também usou um pseudônimo - Arvek. Se você ouvir esse nome em algum conto, é a mesma pessoa.
+
+Brave adventurers, be ready for the worst!
+
+
+Brave players need to group and retake them!
+
+
+Brawling
+
+
+Brazil: [@@http://www.prosangue.sp.gov.br/home/Default.html|http://www.prosangue.sp.gov.br/home/Default.html@@]
+Brasil: [@@http://www.prosangue.sp.gov.br/home/Default.html|http: //www.prosangue.sp.gov.br/home/Default.html@@]
+
+Bread
+Pão
+
+Bread is fine, but it would taste better with @@. Could you bring us three?
+O pão é bom, mas teria um sabor melhor com @@. Você poderia nos trazer três?
+
+Break it!
+Quebre isso!
+
+Break the crystal?
+
+
+Breaking a seal is easy, just flow mana on it for enough time to it shatter.
+Quebrar uma foca é fácil, apenas flua mana nela por tempo suficiente para que ela se quebre.
+
+Bribe the guard for @@ GP?
+Subornar o guarda para @@ GP?
+
+Brimmed Feather Hat
+Chapéu de aba larga com pena
+
+Brimmed Flower Hat
+Chapéu de aba larga com pena florido
+
+Brimmed Hat
+Chapéu de aba larga
+
+Bring it on!
+Pode vir!
+
+Bring me %d %s so I may study its properties and improve our town water quality!
+
+
+Bring me %d %s, %d %s, %d %s, and %d %s, and I will make it for you. I also charge %d GP as commission.
+
+
+Bring me %d %s, %d %s, %d %s, and %d %s, and I will make it for you. I also charge %d GP commission.
+
+
+Bring me %d %s, %d %s, and %d %s and I can make it for you... oh and it will be %d GP for my work.
+
+
+Bring me %d %s, the white slimes keep stealing them and I am a bit too old to go running around, hunting slimes!
+
+
+Bring me %d %s, we elves are infinitely beautiful and the white slimes, just like your kin, seems to envy us. So please recover the stolen mirrors.
+
+
+Bring me %d %s. I cannot tell you what for, though!
+
+
+Bring me %s or make your own party if you want to help me.
+
+
+Bring me 10 @@. I'll pay you some money for that, of course.
+Traga-me 10 @@. Eu vou te pagar um pouco por isso, claro.
+
+Bring me @@ Bandits or Sarracenus heads, or the double of that in Desert Log Heads, and I'll consider you brave enough.
+Traga-me cabeças @@ Bandidas ou Sarracenos, ou o dobro disso em Cabeças do Deserto, e eu considerarei você corajoso o suficiente.
+
+Bring me the proof of your devotion, and I shall arrange you an audience with the Queen.
+
+
+Bring me the stolen item, pretty please.
+Traga-me o item roubado, muito por favor.
+
+Bring me this and I'll spawn it for you:
+Traga-me isso e eu vou desovar para você:
+
+Bring me your wood, and I'll show you which one is sturdy, yet flexible enough to make a good Forest Bow.
+Traga-me sua madeira e mostrarei a você qual é resistente, mas flexível o suficiente para fazer um bom Forest Bow.
+
+Bring me, my worst nightmare.
+
+
+Brit Shield
+Escudo Britânico
+
+Broadsword
+Espada Larga
+
+Broadsword!
+Espada Larga!
+
+Broken Doll
+Boneca Quebrada
+
+Broken Four Leaf Amulet
+Amuleto de Quatro Folhas Quebradas
+
+Broken Medal
+Medalha quebrada
+
+Broken Warp Crystal
+Cristal de dobra quebrada
+
+Bromenal Boots
+Botas Bromenais
+
+Bromenal Chest
+Peito de Bromenal
+
+Bromenal Four-Leaf Amulet
+Amuleto de Quatro Folhas Bromenal
+
+Bromenal Gloves
+Luvas de Bromenal
+
+Bromenal Helmet
+Capacete Bromenal
+
+Bromenal Pants
+Calças Bromenais
+
+Bromenal Shield
+Escudo Brutal
+
+Bronze Boss Gift
+Bronze presente chefe
+
+Bronze Braknar Shield
+Escudo Braknar de Bronze
+
+Bronze Chest
+Baú de Bronzo
+
+Bronze Gift
+Presente de bronze
+
+Bronze Gladius
+Gladius de bronze
+
+Bronze Medal
+Medalha de bronze
+
+Bronze Quiver
+Quiver de bronze
+
+Brown Dye
+Tintura Marrom
+
+Brr! It's extremely cold! I cannot go there!
+Brr! Está extremamente frio! Não posso ir lá!
+
+Brrrr... I'm freezing! The winter at Nivalis is so harsh!!
+Brrrr ... estou congelando! O inverno no Nivalis é tão duro !!
+
+Buccaneer
+
+
+Bucket
+Balde
+
+Bug Leg
+Perna de inseto
+
+Bug Slayer
+Assassino de Insetos
+
+Bug, report me!
+Bug, denuncie-me!
+
+Build a bridge with wooden logs!
+Construa uma ponte com troncos de madeira!
+
+Bull Helmet
+Capacete de touro
+
+Bullet
+Bala
+
+Bunny Ears
+Orelhas de coelho
+
+Burglar Mask
+Máscara de assaltante
+
+Burn the potion
+Queime a poção
+
+Burn, destroy, do whatever you need, until your last breath, my lieutenants and colonels!
+Queime, destrua, faça o que precisar, até o seu último suspiro, meus tenentes e coronéis!
+
+Burning
+queimando
+
+But %s is too valuable to burn and there is no alternative fuel for forges. It sells for %d GP and we are just wasting it here.
+
+
+But I can sell ya a %s for %d GP. Interested?
+Mas eu posso vender ya% s para% d GP. Interessado?
+
+But I can still make it without cookies, as long that you bring me some other sweeties.
+Mas eu ainda posso fazer isso sem cookies, contanto que você me traga alguns outros docinhos.
+
+But I can try my best for you!
+Mas eu posso tentar o meu melhor para você!
+
+But I can't help but keep thinking on how many shiny treasures might be there!
+
+
+But I need to!
+Mas eu preciso!
+
+But I should probably get inside it, first.
+
+
+But I want to swim!
+Mas eu quero nadar!
+
+But I will not give up on my little experiment. Incidentally, Snakes are shaddy enough for my experiment. I promise you, I'll succeed this time.
+Mas eu não vou desistir de minha pequena experiência. Aliás, Cobras são shaddy o suficiente para a minha experiência. Eu prometo a você, eu vou ter sucesso desta vez.
+
+But I'm almost out of @@...
+Mas estou quase sem @@...
+
+But all I could do was a bite.
+Mas tudo que eu podia fazer era uma mordida.
+
+But also very amusing. I'm sure Pihro and Pyndragon, the town mayors, will fancy this request of yours.
+Mas também muito divertido. Tenho certeza Pihro e Pyndragon, os prefeitos de cidade, vai gostar de este pedido de vocês.
+
+But as you're here now, could you do me a favour?
+Mas como você está aqui agora, você poderia me fazer um favor?
+
+But be careful: do not scream when using a lot of capital letters, and do not keep repeating the lines, and above all DO NOT SPAM, or you may be severely penalized.
+Mas tenha cuidado: não grite quando usar muitas letras maiúsculas, e não continue repetindo as falas, e acima de tudo, NÃO SPAM, ou você pode ser severamente penalizado.
+
+But be careful: learning fees and research points WILL NOT be given back!
+Mas cuidado: taxas de aprendizagem e pontos de pesquisa não será dado de volta!
+
+But be warned, I don't have the Apple with me. It must be further in.
+Mas esteja avisado, eu não tenho a Apple com mim. Deve ser ainda mais em.
+
+But before, a message from our developers!
+Mas antes, uma mensagem de nossos desenvolvedores!
+
+But can I help you?
+Mas eu posso ajudá-lo?
+
+But come back in a few hours, I didn't lost all @@!
+Mas volte em poucas horas, ainda não perdi todos os @@!
+
+But do you want to hear a song about the world, or about grinding?
+Mas você quer ouvir uma música sobre o mundo ou sobre a moagem?
+
+But don't worry! South of here we have an Inn.
+Mas não se preocupe! Sul daqui temos uma Inn.
+
+But don't worry, because as they say: The more you learn, the better you get at learning!
+Mas não se preocupe, porque como se costuma dizer: Quanto mais você aprende, melhor você começar a aprendizagem!
+
+But dragons came and started roaming this island. My friends are now either dead or missing. You look big and strong, do you want to avenge me?
+Mas os dragões vieram e começaram a perambular pela ilha. Meus amigos agora estão mortos ou desaparecidos. Você parece grande e forte, você quer me vingar?
+
+But due to all of the chaos from when the slimes escaped, most of the phials of colored ink were broken. How am I supposed to do the illustrations without color?
+Mas devido a todo o caos de quando os slimes escaparam, a maioria dos frascos de tinta colorida foram quebrados. Como devo fazer as ilustrações sem cor?
+
+But first... My throat is dry. Can you bring me a beer?
+Mas primeiro ... Minha garganta está seca. Você pode me trazer uma cerveja?
+
+But for now, we must NOT enrage the Moubootaur!!
+Mas, por enquanto, não devemos enfurecer o Moubootaur !!
+
+But he have lots of enemies... It would not surprise me to find him struck somewhere.
+Mas ele tem muitos inimigos ... Não me surpreenderia encontrá-lo em algum lugar.
+
+But hope is not lost, said the Sages of Fate!
+Mas a esperança não está perdida, disseram os Sábios do Destino!
+
+But if I do, I'll not return. Neither me, nor Raid. Which is why I'm taking precautions: This diary. In the event of my death, please bury my body and contact Halinarzo.
+
+
+But if a mage wants to be a warrior, they won't be able to use their full magic skills.
+Mas se um mago quiser ser um guerreiro, eles não serão capazes de usar suas habilidades mágicas completas.
+
+But if you and other players surrounds the monster instead, they'll suffer the same penalties!
+Mas se você e outros jogadores cercarem o monstro, eles sofrerão as mesmas penalidades!
+
+But if you believe in such cool challenge like mine there should be no dishonorable fight, comment it on Discord!
+Mas se você acredita em tal desafio legal como o meu não deveria haver nenhuma luta desonrosa, comentá-lo em discórdia!
+
+But if you bring me %d %s and %d %s and %s GP, I can give you a %s!
+
+
+But if you keep harming the forest, this will be for naught. Was I clear?
+Mas se você continuar prejudicando a floresta, isso será em vão. Eu estava claro?
+
+But if you only want to sit down and chat, this area is ideal for you!
+Mas se você só quer sentar e conversar, esta área é ideal para você!
+
+But if you regret this choice later... You know where you can find me.
+Mas se você se arrepender desta escolha mais tarde ... Você sabe onde você pode me encontrar.
+
+But if you want to be guard, you must be brave! Go fight your fears, and go kill some bandits like a decent guard.
+Mas se você quer ser guarda, você deve ser corajoso! Vá lutar contra seus medos e mate alguns bandidos como um guarda decente.
+
+But if you want, you can farm @@ already. Good luck!
+Mas se você quiser, você pode farm @@ já. Boa sorte!
+
+But if you're looking to go to the World Edge, the place where THE WORLD WILL DIE, I guess you are immune to rumors.
+Mas se você está procurando ir para o World Edge, o lugar onde o mundo morrerá, eu acho que você está imune a rumores.
+
+But if you're not skilled enough, or lose control of it, a Moggun might be spawned instead. Which is a young, weak, baby Yeti.
+Mas se você não tiver habilidade suficiente ou perder o controle, um Mogun pode ser gerado. Que é um jovem, fraco, bebê Yeti.
+
+But if you're wrong, you'll have to pay up! There's no refunds. This is gambling, if you lose you lose!
+Mas se você estiver errado, você vai ter que pagar! Não há nenhum reembolso. Este é o jogo, se você perder você perde!
+
+But in accordance to an old %s, you were unlucky.
+
+
+But instead of dying a Monster King he became!
+Mas ao invés de morrer, surgiu um Rei Monstro!
+
+But it is a massive organization, recognized by everyone. Guilds train with other guilds, for huge profits.
+Mas é uma organização massiva, reconhecida por todos. Guildas treinam com outras guildas, por lucros enormes.
+
+But it is a so silly fight, that whoever you join with shouldn't do much difference.
+Mas é uma luta tão boba, que quem quer que você se junte não deve fazer muita diferença.
+
+But it is spring! Perhaps, if you bring me some flowers and fruits which only grow at Spring, I could impress her!
+Mas é primavera! Talvez, se você me trouxer algumas flores e frutas que só crescem na primavera, eu poderia impressioná-la!
+
+But it is still too early to give it away to a %s children.
+
+
+But it will not help you to craft something as complex as weapons or armors. If we catch you profaning this magic... I'll have you returned to the sea %%e
+
+
+But it's ultimate goal of miners there.
+Mas é objetivo final dos mineiros lá.
+
+But maybe you could help me killing a few maggots?
+Mas talvez você possa me ajudar a matar alguns vermes?
+
+But maybe you should help other people and get some levels before returning to me.
+Mas talvez você deva ajudar outras pessoas e obter alguns níveis antes de voltar para mim.
+
+But my case requires extended treatment. I need to be hospitalized. I'm afraid it is too late for the Elixir to have effect...
+Mas meu caso requer tratamento prolongado. Eu preciso ser hospitalizado. Eu tenho medo que seja tarde demais para o Elixir de ter efeito ...
+
+But now, we are quite old. I remember the time when I was your age. My generation doesn't do stupid things like yours!
+Mas agora somos bastante velhos. Eu me lembro da época em que eu tinha a sua idade. Minha geração não faz coisas estúpidas como a sua!
+
+But please be picky with how you spend job points. They are hard to come by, and I'm not entirely sure you can change it later.
+Mas por favor, seja exigente com a forma como você gasta pontos de trabalho. Eles são difíceis de encontrar, e eu não tenho certeza se você pode mudá-lo mais tarde.
+
+But pretty much, anything which contributes to the common knowledge of this world. It might even be writing a NPC telling about the world history, developing software for Wiki/GameInfo/etc., it all depends on the scholars.
+
+
+But remember: %s
+Mas lembre-se:% s
+
+But remember: This makes you much more vulnerable, and you usually cannot hit from too close, so watch your step and don't stumble into your enemy's attack.
+Mas lembre-se: isso o torna muito mais vulnerável, e você geralmente não pode bater de perto, então observe o seu passo e não tropece no ataque do seu inimigo.
+
+But she is a fairy. She won't be pleased with flowers. Instead, go and give her a %s as a token of good will.
+
+
+But still, he can't just walk in there, fiddle with the experiments and disturb the helpers doing their work.
+Mas ainda assim, ele não pode simplesmente entrar lá, mexer com os experimentos e perturbar os ajudantes que estão fazendo o trabalho deles.
+
+But thanks to your %s skills, maybe you can pry this open.
+Mas, graças a suas habilidades de% s, talvez você possa erguer esta aberto.
+
+But that is unlikely, we have no reason to sabotage our own work! You saw the mess it caused. Everyone knew it was important.
+Mas isso é improvável, não temos razão para sabotar o nosso próprio trabalho! Você viu a bagunça que causou. Todo mundo sabia que era importante.
+
+But that's no excuse for cowardice!
+Mas isso não é desculpa para a covardia!
+
+But that's not so easy... I already sent many people, and even come myself, but he refuses to help.
+Mas isso não é tão fácil ... Eu já enviei muitas pessoas e até mesmo venho a mim mesmo, mas ele se recusa a ajudar.
+
+But the box was empty.
+Mas a caixa estava vazia.
+
+But the game still is in development, so not every great feat was added yet.
+
+
+But the game still is in development, so not every quest was added yet.
+Mas o jogo ainda está em desenvolvimento, então nem todas as missões foram adicionadas ainda.
+
+But the monsters around here must be pretty scary for someone like you.
+
+
+But the more you use a certain skill, the less research points will be required to upgrade it. And that bonus is permanent.
+
+
+But the most useful thing might be drinking %s and the like. They also boost drop rates, but weak drinks effects are low and short.
+Mas a coisa mais útil pode estar bebendo% s e similares. Eles também aumentar as taxas de queda, mas os efeitos bebidas fracos são baixos e curto.
+
+But the teddy unexpectedly starts moving towards your bag, possibly attracted by some smell. You give up on approaching it, and starts watching it.
+
+
+But the teddy, noticing your movement, starts getting farther from you. It doesn't seems scared, but it doesn't allows you to approach either.
+
+
+But then, Andrei Sakar appeared. Hope was not lost. We could still defend it.
+Mas então, Andrei Sakar apareceu. Esperança não foi perdida. Nós ainda poderíamos defendê-lo.
+
+But there was only @@ GP inside.
+Mas havia apenas @@ GP dentro.
+
+But there was only a(n) @@ inside.
+Mas havia apenas um(a) @@ dentro.
+
+But this is not a time of need, so it is unlikely to appear even if all other conditions were to be met.
+
+
+But this is not important. They are dangerous. They must be stop at any cost!
+Mas isso não é importante. Eles são perigosos. Eles devem parar a qualquer custo!
+
+But to be fair, from what I've seen Peetu was always very attentive and dutiful.
+Mas para ser justo, pelo que eu vi Peetu sempre foi muito atencioso e respeitoso.
+
+But to defeat this dummy, I would say that %s should do the trick.
+Mas para derrotar este manequim, eu diria que% s deve fazer o truque.
+
+But unfortunately, a loose stone lodges and you fall to your death.
+Mas infelizmente, uma pedra solta aloja e você cai para a sua morte.
+
+But unfortunately, it was harder than you thought. You are dead.
+Mas infelizmente, foi mais difícil do que você pensou. Você está morto.
+
+But unfortunately, whoever made this riddle disagrees with me.
+
+
+But unless you touch a Mana Stone and get stronger magic, that would be as useful as teaching magic to a wall. No offense.
+Mas a menos que você toque em uma Pedra de Mana e receba magia mais forte, isso seria tão útil quanto ensinar magia a uma parede. Sem ofensa.
+
+But we are working day and night. We hope that soon, more people come out and this place gets lively again.
+Mas estamos trabalhando dia e noite. Esperamos que em breve mais pessoas saiam e este lugar fique animado novamente.
+
+But we cannot ignore the threat this imposes to us. You might not know our world's history, but this place should never be inhabited or else...
+
+
+But we took every stone, and restricted the magic.
+Mas nós coletamos cada pedra, e restringimos a magia.
+
+But what I really hate is that they forbid gossiping.
+Mas o que realmente odeio é que eles proibiram fofoca.
+
+But when I left him to look at the books on his own, he sneaked over to the workshop area. Visitors are allowed to have a look there, but only if they don't interfere with any research and experiments. But it seems he was being rather disturbing, since they sent them back to the library part.
+Mas quando o deixei para olhar os livros por conta própria, ele se esgueirou para a área da oficina. Os visitantes podem dar uma olhada lá, mas somente se não interferirem em qualquer pesquisa e experimento. Mas parece que ele estava sendo bastante perturbador, já que os enviaram de volta para a parte da biblioteca.
+
+But who am I?
+Mas quem sou eu?
+
+But who cares? We need to save the Professor! During night, monsters are stronger, so they'll probably attack at night time!
+Mas quem se importa? Precisamos salvar o Professor! Durante a noite, monstros são mais fortes, de modo que provavelmente vai atacar durante a noite!
+
+But with a @@, when you are about to die, you can warp back to Soul Menhir and bypass death penalty.
+Mas com um @@, quando você está prestes a morrer, você pode voltar para o Soul Menhir e ignorar a pena de morte.
+
+But you already have Mylarin Dust! That's good, because I no longer craft savior pieces. But. For %s GP I'll give you a %s and if you're lucky, it'll have the recipe you're after.
+
+
+But you are welcome to reset your stats again! I need the money.
+Mas você é bem vindo a reiniciar seus status novamente! Eu preciso do dinheiro.
+
+But you can also wear a %s instead, no problem.
+
+
+But you did not hit... have another try.
+Mas você não bateu ... tem outra chance.
+
+But you don't have any experience at the moment, so what do you have to lose?
+Mas você não tem nenhuma experiência no momento, então o que você tem a perder?
+
+But you have already given me firewood today. Come back tomorrow, pal.
+
+
+But you lack magic! That's a pity."
+
+
+But you seem to have come from more savage and barbaric towns, so if you could bring me %d %s, that would be truly helpful.
+
+
+But you won't *hic* me this time...
+Mas você não vai me *hic* desta vez...
+
+But you're too slow to catch any of them. Sorry.
+Mas você é muito lento para pegar qualquer um deles. Desculpa.
+
+But you're too slow. Sorry.
+Mas você é muito lento. Desculpa.
+
+But you're too weak to beat any of them. Sorry.
+Mas você é muito fraco para vencer qualquer um deles. Desculpa.
+
+But you're too weak. Sorry.
+Mas você é muito fraco. Desculpa.
+
+But your silly map must be wrong. These passages do not connect themselves like this, but this should not be an issue, as they're not relevant.
+
+
+But, I found something really interesting! Ah... I hope you like history?
+Mas encontrei algo realmente interessante! Ah ... eu espero que você goste da história?
+
+But, hm hm hm! I have a %s for you! It won't have what you wanted, but maybe you're lucky, after all?
+Mas, hm hm hm! Tenho% s para você! Não vai ter o que você queria, mas talvez você tiver sorte, depois de tudo?
+
+But, it wouldn't look nice if I let you do all the killing! The other guards are working right now!
+Mas não ficaria legal se eu deixasse você matar tudo! Os outros guardas estão trabalhando agora!
+
+But- But you have to! It is the
+Mas- Mas você tem que! É o
+
+But... But! Where are you?! That summon ritual is equivalent to GM magic!
+Mas, mas! Onde está voce?! Esse ritual de convocação é equivalente a magia GM!
+
+Butcher Knife
+Faca de açougueiro
+
+Butterfly
+Borboleta
+
+Buy
+Comprar
+
+Buy a Housing Letter
+Compre uma Carta de Habitação
+
+Buy a mercenary card
+Comprar um cartão de mercenário
+
+Buy cheap, sell expensive!
+Comprar barato, vender caro!
+
+Buying rares
+
+
+By "breaking", I do not mean death. It is something worse.
+
+
+By far, the most important holiday on Moubootaur Legends.
+De longe, o mais importante feriado no Moubootaur Legends.
+
+By last, east of here are the Canyons. Do not go there before level 20, and even then, do not engage snakes in combat. They are fast and very dangerous.
+Por fim, a leste daqui estão os Canyons. Não vá até o nível 20 e, mesmo assim, não envolva cobras em combate. Eles são rápidos e muito perigosos.
+
+By last, there was the Blue Sage, living on Nivalis... I never met him outside the Council.
+Por último, houve a salva azul, vivendo em Nivalis ... Eu nunca o conheci fora do Conselho.
+
+By pressing @@, you can open the Shortcut menu. And by pressing @@, you open the skill menu!
+Ao pressionar @@, você pode abrir o menu de atalhos. E pressionando @@, você abrir o menu habilidade!
+
+By sitting in the rug in front of the professor (the one with benches)
+Ao sentar no tapete em frente o professor (aquele com bancos)
+
+By the way , it is done already. You took a long time, you know? Also, we're talking about Pihro and Pyndragon.
+
+
+By the way would you like to transform your gem?#0
+A propósito, você gostaria de transformar sua gema? # 0
+
+By the way would you like to transform your gem?#1
+A propósito, você gostaria de transformar sua gema?
+
+By the way, I can't say for sure it was a man. He smelled like onions, and his face was shinning.
+By the way, eu não posso dizer com certeza que era um homem. Ele cheirava a cebolas, e seu rosto estava brilhando.
+
+By the way, I found this Mask after you killed the Fafi Dragon, Maybe you can use it some day.
+By the way, eu encontrei esta máscara depois que você matou o Dragão Fafi, Talvez você possa usá-lo algum dia.
+
+By the way, I've heard that the name of the wizard of Aethyr is the key to open its gates. But I don't know neither where the gates are, nor who is the "wizard of Aethyr".
+
+
+By the way, did you know that the official color of Tulimshar is yellow?
+
+
+By the way, you need a couple of @@ to try the skill. Fail rate is pretty high if you don't know how to control your magic.
+By the way, você precisa de um par de @@ para tentar a habilidade. A taxa de reprovação é muito alta se você não souber como controlar sua mágica.
+
+Bye for now.
+Tchau por hora.
+
+Bye then!
+Tchau então!
+
+Bye!
+Tchau!
+
+Bye.
+Tchau.
+
+CAPTCHA: An error happened, try again.
+CAPTCHA: Um erro aconteceu, tente novamente.
+
+CAPTCHA: Cooldown in effect.
+CAPTCHA: Cooldown em vigor.
+
+CAPTCHA: Incorrect answer. Wait %ds and try again.
+CAPTCHA: Resposta incorreta. Espera% ds e tente novamente.
+
+CAPTCHA: You have %s minute(s) remaining
+CAPTCHA: Você tem minutos% a) restante
+
+CLEAR!
+
+
+COD: Ran out of time!
+COD: Acabou o tempo!
+
+CONGRATULATIONS! For a semester worth of logins, you're getting a pet!
+PARABÉNS! Para uma pena semestre de logins, você está recebendo um animal de estimação!
+
+CONGRATULATIONS! You are the first player to finish Cindy Quest!!
+PARABÉNS! Você é o primeiro jogador a terminar Cindy Quest !!
+
+CONGRATULATIONS! You are the first player to finish Gemini Sisters quest!!
+
+
+CONGRATULATIONS! You are the first player to finish Heroes Hold Master Dungeon!!
+PARABÉNS! Você é o primeiro jogador a finalizar Heroes Hold Master Dungeon !!
+
+CONGRATULATIONS! You are the first player to finish The Episode of Ozthokk!!
+
+
+CONGRATULATIONS! You are the first player to finish Yeti King quest!!
+PARABÉNS! Você é o primeiro jogador a terminar a missão Yeti King !!
+
+CONGRATULATIONS! You are the first player to harness all power the Mana Stone would willingly give!
+PARABÉNS! Você é o primeiro jogador a aproveitar todo o poder da Pedra Mana estaria disposta a dar!
+
+CONGRATULATIONS! You have obtained the %s.
+
+
+CONTINUE ANYWAY? [Y/N]
+DE QUALQUER FORMA, CONTINUE? [Y / N]
+
+Cactus Cocktail
+Coquetel de cactus
+
+Cactus Drink
+Bebida de Cactus
+
+Cactus Potion
+Poção de Cactus
+
+Cadis : You have slain %s %s out of a million.
+
+
+Cadis Mode
+
+
+Caelum
+Caelum
+
+Cake Town (Hurnscald)
+Cidade dos Bolos (Hurnscald)
+
+Call Of Dusty
+Chamada de poeira
+
+Call Of Dusty is a timed event quest. It begins hourly, when the minute clock marks zero.
+Call Of Dusty é uma missão de evento cronometrada. Começa de hora em hora, quando o relógio minuto marca zero.
+
+Calm down! How can I help you?
+Acalme-se! Como posso ajudá-lo?
+
+Calm down, don't get mad! I was wrong in trusting this map, it is definitely faulty. Lemme see it again...
+
+
+Calm, perfect for a fly!
+Calma, perfeita para um voô!
+
+Camel Dye
+Corante de camelo
+
+Camilot
+Camilot
+
+Campaign starts after 60 seconds. Eight maggots will spawn on the next 100 seconds.
+A campanha começa após 60 segundos. Oito larvas vão aparecer nos próximos 100 segundos.
+
+Can I become a miner?
+Posso me tornar um mineiro?
+
+Can I find a mana source here?
+Posso encontrar uma fonte de mana aqui?
+
+Can I have a Blanket, at least?
+Posso ter um cobertor, pelo menos?
+
+Can I help you somehow today?
+
+
+Can I help you with something?
+Eu posso te ajudar com alguma coisa?
+
+Can I help you?
+Posso ajudar?
+
+Can I read these rules again?
+Posso ler as regras novamente?
+
+Can I return to the shrine?
+Posso voltar ao santuário?
+
+Can we get back to that later?
+Podemos falar disso mais tarde?
+
+Can we keep %s at bay long enough?
+
+
+Can you bring me 3 @@? Of course, you'll be rewarded.
+Você pode me trazer 3 @@? Claro, você será recompensado.
+
+Can you bring me 5 pieces of Cherry Cake? Pretty please?
+Você pode me trazer 5 pedaços de bolo de cereja? Por favor, por favor
+
+Can you come back with all the items I asked for? Please.
+Você pode voltar com todos os itens que eu pedi? Por favor.
+
+Can you craft Chainmail Skirt?
+Você pode criar saia Chainmail?
+
+Can you craft Chainmail?
+Você pode criar Chainmail?
+
+Can you craft Light Platemail?
+Você pode criar Light Platemail?
+
+Can you craft Savior Equipment?
+
+
+Can you craft Warlord Plate?
+Você pode criar Warlord Plate?
+
+Can you do something with my color?
+Você pode fazer algo acerca da minha cor?
+
+Can you do that? I'll be waiting!
+Você pode fazer aquilo? Estarei esperando!
+
+Can you fetch with her? 12 %s.
+
+
+Can you give me a @@ or a @@
+Você pode me dar um @@ ou um @@
+
+Can you give me a tip?
+Você pode me dar uma dica?
+
+Can you give me half the gold and half the monster points?
+
+
+Can you help me find some @@?
+Você pode me ajudar a encontrar alguns @@?
+
+Can you help me with Everburn Powder? I need 5.
+Você pode me ajudar com o Pó de Chama Eterna? Eu preciso de 5.
+
+Can you help me?
+Você pode me ajudar?
+
+Can you improve my Light Platemail for me?
+Você pode melhorar meu Light Platemail para mim?
+
+Can you improve my Warlord Plate for me?
+Você pode melhorar meu Warlord Plate para mim?
+
+Can you make me a Monster Potion?
+Você pode me fazer uma poção de monstro?
+
+Can you mix Gem Powder?
+Você pode misturar Gem Powder?
+
+Can you mix me an agility potion?
+
+
+Can you please explain the task again?
+Você pode por favor explicar a tarefa novamente?
+
+Can you please go away?
+Você pode, por favor, ir embora?
+
+Can you please repeat your lesson?
+Você pode por favor repetir sua lição?
+
+Can you repeat what you said before?
+Você pode repetir o que você disse antes?
+
+Can you reset my stats please?
+Você pode, por favor, reiniciar meus stats?
+
+Can you search ##Bthe barrels##b for the bug bomb and set it off when you find it?
+Você poderia procurar ##Bnos barris##b pela bomba mata-insetos, e detoná-la quando encontrar?
+
+Can you sing me a song?
+Você pode me cantar uma música?
+
+Can you teach me Mana Magic?
+Você pode me ensinar magia de mana?
+
+Can you teach me a basic shaman skill? please?
+Você pode me ensinar uma habilidade básica xamã? por favor?
+
+Can you teach me a spell?
+Você pode me ensinar um feitiço?
+
+Can you teach me magic? Pretty please?
+Você pode me ensinar magia? Por favor, por favor
+
+Can you teach me some Alchemy Recipe?
+Você pode me ensinar alguma receita de alquimia?
+
+Can you, perhaps, do me a favor? Please... Check her house for any signs of battle.
+Você pode, talvez, me fazer um favor? Por favor ... Verifique se há sinais de batalha em sua casa.
+
+Can't I do anything, though?
+Eu não posso fazer nada?
+
+Can't blame you, can't blame you at all! Here, take a seat!
+Não posso culpá-lo, não posso culpá-lo de jeito nenhum! Aqui, sente-se!
+
+Can't chat, recover HP over time
+não pode conversar, recuperar HP ao longo do tempo
+
+Can't leave right now.
+não pode sair agora.
+
+Can't move nor attack, crit def -100%
+Não é possível mover nem ataque, crit def -100%
+
+Can't move nor evade.
+Não é possível mover nem evade.
+
+Can't move, Acc. and Evade -20%%
+
+
+Can't move, DEF-, Damage over time, Earth element
+Não é possível mover, DEF-, danos ao longo do tempo, elemento Terra
+
+Can't move, DEF-, no evade, Water element
+Não é possível mover, DEF-, não evade, elemento Ãgua
+
+Can't talk right now, I'm on patrol duty.
+Não posso falar agora, estou de patrulha.
+
+Can't use skills
+não pode usar habilidades
+
+Can't you see I'm busy?
+
+
+Cancel
+Cancelar
+
+Candied Slime
+Lodo cristalizado
+
+Candle Helmet
+Capacete de Vela
+
+Candor
+Candura
+
+Candor - @@ GP
+Candor - @@ GP
+
+Candor Battle Score: %s
+
+
+Candor Battle Season
+
+
+Candor Bloodbath Score: %s
+
+
+Candor Bola
+Candor Bola
+
+Candor Boots
+Botas de sinceridade
+
+Candor Gloves
+Luvas de sinceridade
+
+Candor Head Band
+Banda de cabeça de sinceridade
+
+Candor Island
+Ilha de Candor
+
+Candor Island, then? Yes, that is a pretty island, right?
+Ilha Candor, então? Sim, é uma ilha muito bonita, certo?
+
+Candor Scorpion
+Escorpião de Candor
+
+Candor Shirt
+Camisa franca
+
+Candor Shorts
+Calor Shorts
+
+Candor Survival : New Highscore: %s
+
+
+Candor Warp Crystal
+Cristal Da Urdidura De Candor
+
+Candor's Nurse
+Enfermeira de Candor
+
+CandorShip
+NavioCandor
+
+Candy
+Bala
+
+Candy Cane
+Bastão de doces
+
+Canyon - Safe Route
+
+
+Canyon - Settlement Route
+
+
+Cap
+Boné
+
+Captain
+Capitão
+
+Captain Cap
+Capitão Cap
+
+Captain Nard
+Capitão Nard
+
+Captain Nard have it. Fetch it with him! Quick, you only have @@ left!
+Capitão Nard tem isso. Pegue com ele! Rápido, você só tem @@ restante!
+
+Captain, why have you brought me to a deserted boring island?!
+Capitão, por que você me trouxe para uma ilha deserta e entediante ?!
+
+Captcha ok
+
+
+Captcha successful
+
+
+Caramel Candy
+Caramelo De Doces
+
+Cards are ranked on this priority: A - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - J - Q - K - Joker
+Os cartões são classificados com esta prioridade: A - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - J - Q - K - Joker
+
+Careful: You have unsaved changes!
+Cuidado: você tem alterações não salvas!
+
+Carla
+Carla
+
+Carrot
+Cenoura
+
+Casino Coins
+Moedas De Cassino
+
+Cassia
+Cassia
+
+Cat Ears
+Orelhas de gato
+
+Catch the Golden Fish!
+Pegar o Golden Fish!
+
+Catch the golden fish swarm!
+Pegar o enxame de peixes de ouro!
+
+Cato Mil
+Cato Mil
+
+Catty Cat
+Catty Cat
+
+Cauldron#MKHB
+Caldeirão#MKHB
+
+Cauldron#RES_0128
+Caldeirão#RES_0128
+
+Cauldron#RES_PPL
+Caldeirão#RES_PPL
+
+Cause a very strong attack with lowered accuracy.
+Causar um ataque muito forte com precisão reduzida.
+
+Causes a healing effect in area to guild members.
+Provoca um efeito de cura na área de membros da guilda.
+
+Caution
+Cuidado
+
+Cave Bat
+Morcego de Caverna
+
+Cave Maggot
+Verme de Caverna
+
+Cave Maggot
+
+
+Cave Snake
+Cobra de Caverna
+
+Cave Snake Egg
+Ovo da serpente da caverna
+
+Cave Snake Hat
+Chapéu da serpente da caverna
+
+Cave Snake Lamp
+Lâmpada de Cobra da Caverna
+
+Cave Snake Skin
+Pele de Cobra da Caverna
+
+Cave Snake Tongue
+Língua da Cobra da Caverna
+
+Cave Snale
+
+
+CaveMaggot
+
+
+Celestia
+Celestia
+
+Celestia Season
+
+
+Celestia Tea
+Chá Celestia
+
+Celestia asks for your help.
+Celestia pede sua ajuda.
+
+Celestia eyes sparkles.
+Os olhos de Celestia brilham.
+
+Celestia hands you a cup filled with some type of tea that is unlike anything you have seen before.
+Celestia entrega a você uma xícara cheia de algum tipo de chá que é diferente de tudo que você já viu antes.
+
+Celestia then picks up the cup of tea and drinks it in front of you to demonstrate that it is not only harmless but also quite delectable.
+Celestia, em seguida, pega a xícara de chá e bebe na frente de você para demonstrar que não é apenas inofensivo, mas também bastante delicioso.
+
+Cell Door#G01
+
+
+Cell Door#G02
+
+
+Cell Door#G03
+
+
+Cell Door#K01
+
+
+Centaur
+Centauro
+
+Centaur Spear
+Centauro lança
+
+Central Switch#EP
+
+
+Centurion Helmet
+Capacete Centurião
+
+Certainly not. Uhh, please excuse me.
+Certamente não. Uhh, por favor, desculpe-me.
+
+Certainly, you can have all my Terranite Ore.
+Certamente, você pode ter todo o meu minério terráqueo.
+
+Ch 1 — Fishing apparatus
+Cap 1 — Aparato de Pesca
+
+Ch 1 — Prologue
+Cap 1 — Prólogo
+
+Ch 2 — About Magic Skills
+
+
+Ch 2 — Baits
+Cap 2 — Iscas
+
+Ch 3 — Location
+Cap 3 — Local
+
+Ch 3 — Status Ailments
+
+
+Ch 4 — Casting
+Cap 4 — Lançando
+
+Ch 4 — Information About You
+
+
+Ch 5 — Information About Others
+
+
+Ch 5 — Reeling
+Cap 5 — Puxando a Isca
+
+Chagashroom
+Sala de chagashroom
+
+Chagashroom Field
+Campo chagashroom
+
+Chagashroom Field
+Campo chagashroom
+
+Chainmail
+Cota de malha
+
+Chainmail Skirt
+Saia de cota de malha
+
+Chairs
+Cadeiras
+
+Chamomile Tea
+Chá de camomila
+
+Championship Bow
+Arco do Campeão
+
+Change Crafting Options
+Alterar opções de criação
+
+Change Language
+Mudar idioma
+
+Change Linked Discord Account
+Alterar conta de discórdia vinculada
+
+Change Season Event
+Alterar evento da temporada
+
+Change crafting method
+
+
+Change my appearance
+Mude minha aparência
+
+Change my quests
+Mude minhas quests
+
+Change weapons
+mudar de armas
+
+Changes include but are not limited to festive events and dates.
+As alterações incluem, mas não se limitam a eventos e datas festivas.
+
+Chanting
+
+
+Chanting Challenge
+
+
+Chanting is extremely simple, and everyone can do it, even if they're not inate.
+
+
+Chaos shall be the founding stone of my town! Falling star!
+
+
+Char Name: @@
+Nome do personagem: @@
+
+Charda
+Charda
+
+Charda clean!
+Charda limpa!
+
+Charles, Trader King
+Charles, Trader King
+
+Cheater detected! You have a three minutes sentence to fulfill, now.
+Cheater detectado! Você tem uma frase de três minutos para cumprir agora.
+
+Cheater detected.
+Cheater detectado.
+
+Check @@ <= @@
+Verifique @@ <= @@
+
+Checkpoint Guard#1
+Guarda de Checkpoint # 1
+
+Checkpoint Guard#2
+Guarda de Checkpoint # 2
+
+Checkpoint Guard#3
+Guarda de Checkpoint # 3
+
+Checkpoint Guard#4
+Guarda de Checkpoint # 4
+
+Checkpoint! Magic Barrier went down!
+Checkpoint! Barreira Mágica caiu!
+
+Ched
+Ched
+
+Cheers!
+Saúde!
+
+Cheese
+Queijo
+
+Chef Gado
+Chefe Gado
+
+Chef Hat
+Chapéu de Chef
+
+Chef#dimond
+Chef#dimond
+
+Cherry
+Cereja
+
+Cherry Cake
+Bolo de Cereja
+
+Cherry Cocktail
+Coquetel de cereja
+
+Chest Armor Recipes
+Peito Armadura Recipes
+
+Chest#002-1
+Baú#002-1
+
+Chest#gemini
+
+
+Chestplates
+Couraças
+
+Chicken Leg
+Coxa de Frango
+
+Chirp
+
+
+Chocolate Bar
+Barra de chocolate
+
+Chocolate Biscuit
+Biscoito De Chocolate
+
+Chocolate Bunny
+Coelhinho de chocolate
+
+Chocolate Dye
+Tintura de Chocolate
+
+Chocolate Mouboo
+Mouboo de Chocolate
+
+Chocolate Slime
+Lodo de chocolate
+
+Chocolate Slime Mother
+Chocolate Slime Mãe
+
+Christmas
+Natal
+
+Christmas 2021 Joint Event
+
+
+Christmas Chief
+Chefe de Natal
+
+Christmas Cook
+Cozinheiro de Natal
+
+Christmas Gift
+Presente de Natal
+
+Christmas Storage Master
+Mestre de armazenamento de Natal
+
+Christmas Sweater
+Camisola de natal
+
+Christmas Top 1 Prize
+
+
+Christmas Tree
+
+
+Cindy is gone...
+Cindy se foi ...
+
+Cindy is too scared to leave; Better we kill the Yetis and their friends!
+Cindy está com muito medo de licença; Melhor que matar o Yetis e seus amigos!
+
+Cindy#Outside
+Cindy#Outside
+
+Cindy#house
+Cindy#house
+
+Citizen
+Cidadão
+
+Civil status: Married
+
+
+Civil status: Single
+
+
+Civilian traffic keeps declining but they keep bringing more crates back and forth! Crates filled with rubble!
+
+
+Clan Name: @@
+Nome do clã: @@
+
+Claw Pendant
+Pingente de Garra
+
+Clear the arena to leave!
+
+
+Cleared Gemini Sisters Quest %s ago
+
+
+Cleared Heroes Hold %s ago
+
+
+Cleared the Yeti King Challenge %s ago
+
+
+Clearly an exotic tea, with a refined flavor fit for a refined woman such as Celestia.
+Claramente um chá exótico, com um sabor refinado para uma mulher refinada como Celestia.
+
+Cleric Cap
+Boné de Clérigo
+
+Cleric Card
+Cartão de Clérigo
+
+Cleric Card S
+
+
+Cleric Card X
+
+
+Click "Next" to begin the fight.
+
+
+Click on Elmo or Magic Arpan to continue and begin the game...
+Clique no Elmo ou no Magic Arpan para continuar e começar o jogo ...
+
+Click on the NPCs (Non-Player Characters) around you to continue the introduction.
+Clique nos NPCs (Personagens Não Jogáveis) em sua volta para continuar a introdução.
+
+Climb on the walls!
+Suba nas paredes!
+
+Close
+Fechar
+
+Closed Christmas Box
+Caixa de Natal fechada
+
+Clotho Liquor
+Licor Clotho.
+
+Clover Field
+Campo de Trevos
+
+Clover Patch
+Campo de Trevos de Quatro Filhas
+
+Coal
+Carvão
+
+Coal (2 power)
+
+
+Cobalt Herb
+Erva Cobalto
+
+Cobalt Plant
+Planta de cobalto
+
+Coffee
+Café
+
+Coffee is good, why does the Mouboo refuse to drink it?
+
+
+Coffee! I'm awake now!
+
+
+Coin Bag
+Saco de moedas
+
+Cold
+Frio
+
+Colin
+Colin
+
+Collaborate by giving this powder to Aurora, before it vanishes!
+Colaborar dando este pó para Aurora, antes que desapareça!
+
+Collect chocolate and love letters from the fluffies
+Colete as letras de chocolate e amor dos fluffies
+
+Collect easter eggs, and exchange them with Lilica!
+Recolha ovos da páscoa, e trocá-los com Lilica!
+
+Collect the treasured crystals from treasure chests!
+Recolher os cristais preciosos de baús de tesouro!
+
+Collect their %s as well, so our wizards can do their magic!
+
+
+Colonel DUSTMAN
+Coronel DUSTMAN
+
+Colonel Dustman
+
+
+Come after a little while.
+Volte depois de um tempinho.
+
+Come ancient evil, and bleed everything!
+
+
+Come and visit again!
+
+
+Come back and give me more gifts!
+Volte e me dê mais presentes!
+
+Come back in a few hours, and we can fix that!
+Volte em algumas horas, e podemos consertar isso!
+
+Come back when you are a higher level.
+
+
+Come back when you are at a higher level.
+
+
+Come back when you are stronger and we can trade.
+
+
+Come back when you are stronger.
+
+
+Come back when you are willing to spend money.
+Volte quando você está disposto a gastar dinheiro.
+
+Come back when you have everything.
+
+
+Come back when you have the Snake Eggs for me.
+
+
+Come back when you will really need me.
+Volte quando realmente precisar de mim.
+
+Come meager magic, and hit spot.
+
+
+Come standard fire, and harm spot.
+
+
+Come talk to me once you manage to equip the shirt and the shorts!
+Venha conversar comigo assim que conseguir equipar a camisa e os shorts!
+
+Come to my aid! Vanish this fool!
+Venha em meu auxílio! Desapareça este tolo!
+
+Come to the bakery!
+
+
+Come try again, some other time.
+Venha tentar de novo, outra hora.
+
+Come, Calling, and Cast are all the same thing.
+
+
+Come, my minions! Lay siege to towns! LEAVE NO OPPOSITION TO ME!
+Venha meus asseclas! Coloque cerco às cidades! NÃO DEIXE NENHUMA OPOSIÇÃO PARA MIM!
+
+Comfortable grip is important especially for newcomers, since they'll be holding it for quite a while.
+A aderência confortável é importante especialmente para os recém-chegados, já que eles estarão segurando por um bom tempo.
+
+Command not permitted on this map! Check npc/functions/weather.conf
+Comando não permitido neste mapa! Verifique o npc / functions / weather.conf
+
+Commander Cadis
+
+
+Commander Povo
+
+
+Commands.
+Comandos.
+
+Commmon Fluffy
+Fluffy comum
+
+Common Carp
+Carpa comum
+
+Common Drops:
+Gotas comuns:
+
+Common Drops: None
+Gotas comuns: Nenhum
+
+Common Fluffy
+Fofo Comum
+
+Common Maggot
+Maggot Comum
+
+Common Mouboo
+Mouboo comum
+
+Common Scorpion
+Escorpião Comum
+
+Community Decision
+
+
+Community Shirt
+Camisa comunitária
+
+Compact
+Compactar
+
+Compact forge stones
+pedras forja compactos
+
+Compatibility Support mode enabled. Client may crash AT RANDOM, beware.
+Modo de Compatibilidade habilitado. O cliente pode travar ALEATÓRIAMENTE, cuidado.
+
+Compete for the first place, and remember to exchange silver
+Competir pelo primeiro lugar, e lembre-se de prata troca
+
+Complaints Depto. temporaly closed, come back later
+Reclamações Depto. temporaly fechado, volte mais tarde
+
+Complete Quest?
+Missão Completa?
+
+Complete quests, gain some experience, allocate some status, and you'll be ready for my training.
+Conclua missões, ganhe alguma experiência, aloque algum status e você estará pronto para meu treinamento.
+
+Completed Crafts: @@/@@
+Artesanato Completo: @@ / @@
+
+Completed The Episode of Ozthokk %s ago
+
+
+Completing this quest will allow access to the Guard House, where you can pick Daily Bounties for monsters.
+Completando esta missão irá permitir o acesso à Casa da Guarda, onde você pode escolher Bounties diariamente por monstros.
+
+Compliments reaching this far, @@ from the @@ party!
+Parabenizações por chegar até aqui, @@ do grupo @@!
+
+Confuse
+Confundir
+
+Congrats you passed the level cap of @@! Here is a(n) @@, you deserve it.
+Parabéns, você passou do nível máximo de @@! Aqui está um(a) @@, você merece.
+
+Congrats! A pity it was not 777...
+Parabéns! Uma pena que não foi 777 ...
+
+Congrats! You are now part from the Pet Caring Guild. You can now buy pets! %%G
+
+
+Congrats! You rank up! You are now a(n) @@!
+Parabéns! Você subiu de rank! Você é agora um(a) @@!
+
+Congrats, you did it.
+Parabéns, você fez isso.
+
+Congratulations in making this far, @@.
+Parabéns por chegar até aqui, @@.
+
+Congratulations on reaching level 20!
+Parabéns por alcançar o nível 20!
+
+Congratulations on rescuing Cindy.
+Parabéns por resgatar Cindy.
+
+Congratulations on rescuing Cindy. You should now talk to her before leaving.
+Parabéns por resgatar Cindy. Agora você deve falar com ela antes de sair.
+
+Congratulations to everyone who participated on the event, even those who didn't made to the top 10!
+Parabéns a todos que participaram no evento, mesmo aqueles que não fez para o top 10!
+
+Congratulations!
+Parabéns!
+
+Congratulations! Everything was correct!
+
+
+Congratulations! Here is your reward, a @@!
+Parabéns! Aqui está sua recompensa, um @@!
+
+Congratulations! Here is your reward.
+Parabéns! Aqui está sua recompensa.
+
+Congratulations! I've managed to process your paperwork. Here, you'll receive the starter kit!
+Parabéns! Eu consegui processar sua papelada. Aqui, você receberá o kit starter!
+
+Congratulations! You've received participation rewards due to the Moubootaur Death.
+
+
+Congratulations. You really know about the world lore.
+Parabéns. Você realmente sabe sobre o folclore mundial.
+
+Connor
+Connor
+
+Consider it an insurance policy. Besides, %s isn't exactly easy to come by.
+
+
+Constable
+Polícia
+
+Constable Perry
+Policial Perry
+
+Contact a GM at Migglemire - the small town at center of swamps - to trigger the final showdown.
+
+
+Continue anyway?
+De qualquer forma, continue?
+
+Continue anyway? You'll die if your allies cannot protect you!
+Continue de qualquer maneira? Você vai morrer se seus aliados não pode protegê-lo!
+
+Continue?
+
+
+Contributor Sweater
+Suéter Colaborador
+
+Converts all your mana in damage. Damages all enemies in same tile.
+Converte toda a sua mana em danos. Damages todos os inimigos em telha mesmo.
+
+Cooking Recipes
+Receitas de Culinária
+
+Cooking Recipes.
+Receitas de Culinária.
+
+Cool story, bro!
+História legal cara!
+
+Cool, an airship!
+
+
+Cool, thank you.
+Cool, obrigado.
+
+Cool, thanks.
+
+
+Copper Armbands
+Braçadeira de cobre
+
+Copper Chest#Saulc
+
+
+Copper Ingot
+Lingotes de cobre
+
+Copper Key
+Chave de cobre
+
+Copper Ore
+Minério de cobre
+
+Copper Ore -> Iron Ore
+Copper Ore -> Iron Ore
+
+Copper Skull Slime
+Cobre Crânio Slime
+
+Copper Slime
+Lodo de cobre
+
+Copper Slime Mother
+Cobre Slime Mãe
+
+CopperSlime
+
+
+Coral
+Coral
+
+Correct
+
+
+Corsair
+
+
+Corsair Hat
+Chapéu Corsário
+
+Cost per %s glass:
+
+
+Cost per two glass:
+Custo por dois vidros:
+
+Cost: %d GP/min
+Custo:% d GP / min
+
+Cost: 1 @@
+Custo: 1 @@
+
+Cost: @@ gp per bottle.
+Custo: @@ gp por garrafa.
+
+Cotton
+
+
+Cotton Boots
+Botas de algodão
+
+Cotton Cloth
+Roupa de algodão
+
+Cotton Cloth (1 power)
+
+
+Cotton Cloth is sold at Candor, Croconut Boxes can be bought at the market. Fish, however, is a little more tricky.
+Pano de algodão é vendido na Candor, Croconut Boxes pode ser comprado no mercado. Peixe, no entanto, é um pouco mais complicado.
+
+Cotton Gloves
+Luvas de algodão
+
+Cotton Shirt
+Camisa de algodão
+
+Cotton Shorts
+Calção de Algodão
+
+Cotton Skirt
+Saia de algodão
+
+Cotton Trousers
+Calças de Algodão
+
+Could I go back to that cave? It's a good farm spot.
+Eu poderia ir para trás a essa caverna? É um bom local fazenda.
+
+Could you *hic* do me a favor? Arkim, on a cave southeast of *hic* here, is collecting some stuff.
+Você poderia me fazer um favor? Arkim, em uma caverna a sudeste de * hic * aqui, está coletando algumas coisas.
+
+Could you awake my lost and forsaken potential?
+
+
+Could you bleach my equipment?
+
+
+Could you bring me %d %s? That'll help me to finish this.
+
+
+Could you explain to me where I am?
+Você poderia me explicar aonde estou?
+
+Could you first explain me why so many items?
+Você poderia me explicar por que tantos itens?
+
+Could you head deep in the woods and track him down?
+Você poderia ir fundo na floresta e rastreá-lo?
+
+Could you perhaps help me to find all kids?
+Você poderia, talvez, me ajudar a encontrar todas as crianças?
+
+Could you please ask @@ about it? The ingredients... It would still be my fault...
+Você poderia por favor perguntar @@ sobre isso? Os ingredientes ... Ainda seria minha culpa ...
+
+Could you please bring me @@ @@ and @@ @@? I'll give you a bunch of herbs if you help me!
+Poderia, por favor, traga-me @@ @@ e @@ @@? Vou te dar um monte de ervas se você me ajudar!
+
+Could you please dispose my failed experiment, first?
+Poderia, por favor descartar minha experiência fracassada, em primeiro lugar?
+
+Could you please give us a full meal, with 5 @@, 5 @@, 5@@, 5 @@ and 5 @@?
+Você poderia, por favor, nos dar uma refeição completa, com 5 @@, 5 @@, 5 @@, 5 @@ e 5 @@?
+
+Could you sell me a treasure map and a shovel?
+Você poderia me vender um mapa do tesouro e uma pá?
+
+Could you tell me where I am?#0
+Você poderia me dizer aonde estou?
+
+Could you tell me where I am?#1
+Você poderia me dizer aonde estou?
+
+Could you try again, please?
+Você poderia tentar de novo, por favor?
+
+Could you try again? There could be a typo!
+Você poderia tentar de novo? Talvez você tenha digitado errado!
+
+Could you, perhaps, bring me %d %s? That'll help me to finish this.
+
+
+Couldn't you climb the rope?
+Você não poderia subir a corda?
+
+Councilor Crazyfefe
+
+
+Councilor Jak1
+
+
+Councilor Jesusalva
+
+
+Councilor LawnCable
+
+
+Councilor Saulc
+
+
+Countdown: 1 minute
+
+
+Countdown: 1 minute - Kill %s!
+
+
+Counter Attack
+Contra ataque
+
+Coward Card
+Cartão Coward
+
+Craft @@
+Construir @@
+
+Craft Recipe
+Receita de artesanato
+
+Crafters are now paying taxes.
+Crafters agora estão pagando impostos.
+
+Crafters no longer pays taxes. (Tax exempt)
+Crafters não paga impostos. (Isento de imposto)
+
+Crafting
+Artesanato
+
+Crafting Accuracy
+Precisão de Fabricação
+
+Crafting Attack
+Ataque de Artesanato
+
+Crafting Basic Skills
+Crafting Skills Básicas
+
+Crafting Boss Techiniques
+Elaborando técnicas de chefe
+
+Crafting Defense
+Defesa de Artesanato
+
+Crafting Double Power
+Crafting Double Power
+
+Crafting Evasion
+Crafting Evasion
+
+Crafting Exp Up
+Crafting Exp Up
+
+Crafting Mana Economy
+Crafting Mana Economy
+
+Crafting Max Stats
+Crafting Max Stats
+
+Crafting Recipes
+Crafting Recipes
+
+Crafting Recipes.
+Crafting Receitas.
+
+Crafting Regeneration
+Crafting Regeneração
+
+Crafting SC Inflict
+Crafting SC Infligir
+
+Crafting SC Resist
+Crafting SC Resist
+
+Crafting Score: %d.%02d
+
+
+Crafting Skill Level: @@
+Crafting Skill Level: @@
+
+Crafting Skill: Lv @@
+Habilidade de Artesanato: Lv @@
+
+Crafting Speed
+Velocidade de Fabricação
+
+Crafting Status
+
+
+Crafting Table
+Mesa de artesanato
+
+Crafting method:
+
+
+Crafting rules changed! Your crafting skill was lowered to Level 5, talk to Craftmaster to recover it!
+Elaborar regras mudaram! Sua habilidade elaboração foi reduzida ao nível 5, fale com Craftmaster para recuperá-lo!
+
+Craftsman/Craftswoman
+Artesão / Craftswoman
+
+Crafty
+Crafty
+
+Crazy
+Louco
+
+Crazy Cadis Ultimate Pandorica Mode
+
+
+Crazy Mode
+
+
+Crazy Rum
+louco Rum
+
+Crazy stuff can happen in overall. YOU HAVE BEEN WARNED TO UPDATE YOUR CLIENT.
+Coisas loucas podem acontecer em geral. VOCÊ FOI ADVERTIDO A ATUALIZAR SEU CLIENTE.
+
+Crazyfefe
+Crazyfefe
+
+Crazyfefe Card
+Cartão de Crazyfefe
+
+Crazyfefe Cave: New Highscore: @@ points
+Caverna Louca de Fefe: Nova Pontuação Alta: @@ pontos
+
+Crazyfefe Mode
+
+
+Creased
+
+
+Creased Boots
+Botas Vincadas
+
+Creased Gloves
+Luvas Vincadas
+
+Creased Shirt
+Camiseta Amassada
+
+Creased Shorts
+Shorts Amassados
+
+Create PIN Number
+Criar PIN Número
+
+Create a natural wall under the cursor, to delay your enemies.
+Criar uma parede natural sob o cursor, para atrasar seus inimigos.
+
+Create new arena
+Criar nova arena
+
+Creating a guild is not for the faint of heart. You cannot share experience or drops.
+Criar uma guilda não é para os fracos de coração. Você não pode compartilhar experiências ou itens.
+
+Creating a party has some advantages, it's a pretty good choice!
+Criar um grupo tem algumas vantagens, é uma escolha muito boa!
+
+Crimson Dye
+Tintura Carmesim
+
+Crit +5%
+
+
+Critical Fortune
+Critical Fortune
+
+Croc
+Croc
+
+Croc Claw
+Garra de Croc
+
+Croconut
+Croconoz
+
+Croconut Box
+Caixa de Croconozes
+
+Croconut Box magically became two in inventory. Storage unaffected.
+Crouse Box magicamente se tornou dois no inventário. Armazenamento não afetado.
+
+Croconut Tree
+Coqueiro
+
+Crocotree
+Crocoárvore
+
+Crocs are dangerous and very healthy, but very slow. Use that on your advantage.
+Crocs são perigosos e muito saudáveis, mas muito lentos. Use isso em sua vantagem.
+
+Cronqvist Mode
+
+
+Cronqvist mode is only available during Candor Battle.
+
+
+Crozenite Four-Leaf Amulet
+Amuleto de Quatro Folhas Crozenita
+
+Crusade Armor
+Armadura da Cruzada
+
+Crusade Helmet
+Capacete da Cruzada
+
+Crypt
+
+
+Crypt#Fefe
+
+
+Crystal based technology can break if used too often. Try taking longer between each warp to raise their lifetime.
+A tecnologia baseada em cristal pode quebrar se usada com muita frequência. Tente levar mais tempo entre cada urdidura para aumentar sua vida útil.
+
+Crystal#0065
+
+
+Crystallized Maggot
+Larva Cristalizada
+
+Ctrl
+Ctrl
+
+Cuf! Cuf!
+
+
+Curiously, you try to touch the Mana Stone.
+Curiosamente, você tenta tocar a Pedra Mana.
+
+Current Boss: %s
+
+
+Current Guild Balance: %s GP
+Atual Aliança Balance:% s GP
+
+Current Guild: %s
+Aliança atual:% s
+
+Current Magic Control
+Controle Mágico Atual
+
+Current Quest Progress: @@/10,000 kills
+Progresso da Missão Atual: @@ / 10.000 mortes
+
+Current Rankings
+Rankings atuais
+
+Current Room password: @@
+Senha da sala atual: @@
+
+Current Spawn Mode:
+Modo de Spawn Atual:
+
+Current Town Administrator:
+Cidade atual Administrador:
+
+Current arena player count: @@ on map. (Min. 3 to begin event)
+Contagem atual de jogadores de arena: @@ no mapa. (Min. 3 para começar o evento)
+
+Current date: %d
+Data:% d
+
+Current drop rate is set to @@%, and will reset to @@% (default value) in @@.
+Taxa de drop atual estabelecida como sendo @@% . Será reiniciada à @@% (padrão) em @@.
+
+Current event: @@
+Evento atual: @@
+
+Current exp rate is set to @@%, and will reset to @@% (default value) in @@.
+Taxa de experiência atual estabelecida como sendo @@% . Será reiniciada à @@% (padrão) em @@.
+
+Current hero: @@
+Herói atual: @@
+
+Current linked Discord account: @@
+Conta Discord atual vinculada: @@
+
+Current magic rank: %d
+Atual posição mágica:% d
+
+Current player count: @@/5 must be online.
+Contagem atual de jogadores: @@ / 5 deve estar online.
+
+Current score: %s
+
+
+Current score: @@
+Pontuação atual: @@
+
+Currently, there is no event going on.
+Atualmente, não há nenhum evento acontecendo.
+
+Currently, you should not attempt the Desert Canyon because low level.
+Atualmente, você não deve tentar o Desfiladeiro do Deserto por causa do baixo nível.
+
+Currently, you stand no chance against the Snakes on the Desert Canyon, but you probably can cross it.
+Atualmente, você não tem chance contra as Cobras no Desfiladeiro do Deserto, mas você provavelmente pode atravessá-lo.
+
+Currently, you stand no chance against the Snakes on the Desert Canyon.
+Atualmente, você não tem chance contra as Cobras no Desfiladeiro do Deserto.
+
+Curse
+Maldição
+
+Cursed Ammo Box
+Caixa de Munição Amaldiçoada
+
+Cursed Archer Soldier
+Cursed Archer Soldado
+
+Cursed Arrow
+Flecha amaldiçoada
+
+Cursed Arrows
+Setas Amaldiçoadas
+
+Cursed Foot Soldier
+Cursed Pé Soldado
+
+Cursed Scythe
+Cursed Scythe
+
+Cursed Skull
+Crânio Cursed
+
+Curshroom
+Curshroom
+
+Custom
+Outro
+
+Customize attack delay!
+Personalize atraso ataque!
+
+Customize evasion!
+Personalizar a evasão!
+
+Customize hit rate!
+Customize taxa de acerto!
+
+Cut the chat short and go straight to the point!
+Corte o bate-papo curto e ir direto ao ponto!
+
+Cute Maggot
+Verme Bonitinho
+
+Cutscenes
+cutscenes
+
+Cyan Butterfly
+Borboleta Ciana
+
+Cyndala
+Cyndala
+
+Cynric
+Cynric
+
+D'oh, what a terrible shot!
+Que tiro terrível!
+
+DANGER
+PERIGO
+
+DANGER!
+PERIGO!
+
+DEBUG: Changing @@ field @@ to something else.
+DEBUG: Alterando @@ campo @@ para outra coisa.
+
+DEBUG: Changing @@, Values: (@@, @@, @@).
+DEBUG: Alterando @@, Valores: (@@, @@, @@).
+
+DEF-, Damage over time, no MP regen
+DEF-, danos ao longo do tempo, nenhum regen MP
+
+DEV Cap
+Tampão DEV
+
+DIE!
+MORRER!
+
+DIE, FILTHY @@!
+MORRA, SUJO @@!
+
+DIE, SCUM!
+MORREM, SCUM!
+
+DO NOT ENTER.
+NÃO ENTRE.
+
+DO YOU WANT TO REROLL THE ITEM? THIS CANNOT BE UNDONE! (free)
+
+
+Dagger
+Punhal
+
+Dagger Crafting recipe learnt.
+Dagger Crafting receita aprendida.
+
+Dah Yeti King!!
+Dah Yeti King !!
+
+Daily Event Bonus: %d Points!
+Diário Bonus Evento:% d pontos!
+
+Daily Login Rewards
+Recompensas diárias de login
+
+Damage Improvement
+Melhoria danos
+
+Damage can be harm, slap, hit, cut and bite; But other keywords can deal more damage.
+
+
+Damage isn't the only magic chanting can do.
+
+
+Damage over time, MDF -25%%
+
+
+Dan#002-1
+Dan#002-1
+
+Dang Rostra
+Dang Rostra
+
+Dangerous Area
+Ãrea perigosa
+
+Dark Crystal
+Cristal Negro
+
+Dark Crystal (5 power)
+
+
+Dark Desert Mushroom
+Cogumelo do Deserto Escuro
+
+Dark Eggshell Hat
+Chapéu casca de ovo escuro
+
+Dark Forest : %s monster(s) left
+
+
+Dark Helm
+escuro Helm
+
+Dark Knight Helmet
+Cavaleiro do Cavaleiro das Trevas
+
+Dark Lizard
+Lagarto Negro
+
+Dark Petal
+Pétala Escura
+
+Dark Pulsar
+Pulsar Escuro
+
+Dark Red Dye
+Tintura Vermelha Escura
+
+Dark Talisman
+Talismã das Trevas
+
+Darkness fills your vision...
+
+
+Darug
+
+
+Date: 2019-03-05, 03:14 UTC
+Data: 2019-03-05, 03:14 UTC
+
+Date: 2020-03-27, 01:30 UTC
+Data: 2020/03/27, 01:30 UTC
+
+Date: 2020-04-05, 14:40 UTC
+
+
+Date: 2021-02-24, 02:36 UTC
+
+
+Dausen Quest - @@ @@ killed
+Dausen Quest - @@ @@ matou
+
+Dead End
+Fim da linha
+
+Dead Tree#297to298
+
+
+Deadly Poison
+Veneno mortal
+
+Deal!
+Fechado!
+
+Deal.
+Combinado.
+
+Deal. Here you go.
+Combinado. Aqui está.
+
+Deal. Pleasure doing business with you.
+
+
+Dealing with elves is too bothersome to me.
+Lidar com os elfos é muito incômodo para mim.
+
+Dear @@, I send you this gift in hopes you do well in TMW2.
+Prezado(a) @@, envio-lhe este presente na esperança de que você se saia bem no TMW2.
+
+Death Cat
+Cat morte
+
+Death Potion
+
+
+Debug
+Depurar
+
+Debug - Modify Race
+Depurar - Modificar Raça
+
+Debug - Reset
+Depurar - Redefinir
+
+Debug Information
+Informação de Depuração
+
+December 19th - January 2nd
+
+
+Decipher me... Or I will devour you...
+Decifra-me ... Ou vou devorar-te ...
+
+Decoration
+Decoração
+
+Deep Black Boots
+Botas Pretas Profundas
+
+Deep Sleep
+Sono profundo
+
+Deep sorrow and sadness, this is the Forgotten Shrine.
+profunda dor e tristeza, este é o Santuário Esquecido.
+
+Def +20
+
+
+Default
+Padrão
+
+Default: %d, use 0 to cancel
+Padrão:% d, 0 uso de cancelar
+
+Defeat Conditions: Sagratha gets killed!
+Condições de derrota: Sagratha é morto!
+
+Defeat Conditions: Time run out!
+Condições de derrota: o tempo acabou!
+
+Defeat Conditions: Your death!
+Condições de derrota: sua morte!
+
+Defeat a few waves of Soren's House. Once you're done, this will become a warp. Hurry before it closes.
+Derrote algumas ondas da casa de Soren. Quando estiver pronto, isso se tornará uma distorção. Apresse-se antes que se feche.
+
+Defeated the Moubootaur (Sealed) %s ago
+
+
+Defeating him would not only stop monster invasions, but it would also bring magic back... And probably another war, over the mana stones. %%S
+
+
+Defeating is entirely optional. They usually give more experience than the average, but are much stronger and dangerous.
+Destrutivo é totalmente opcional. Eles costumam dar mais experiência do que a média, mas são muito mais fortes e perigosos.
+
+Defeating it will advance the round. How far can you survive?
+Derrotar isso avançará a rodada. Quão longe você pode sobreviver?
+
+Definitely not suspcious at all.
+Definitivamente não é suspeito em tudo.
+
+Delicious Cookie
+Biscoito Delicioso
+
+Deliver @@ @@ to @@?
+Entregar para @@?
+
+Deliver it to Zitoni on my name. He'll trust it. The relation between me and Zitoni... goes way back.
+Entregue para Zitoni em meu nome. Ele vai confiar. A relação entre mim e Zitoni ... vai muito atrás.
+
+Deliver the %s to retrieve Miler's memeto?
+
+
+Deliver the items to Sagratha?
+Entregar os itens para Sagratha?
+
+Deliver the potions to Sagratha?
+Entregue as poções para Sagratha?
+
+Demure Axe
+Machado Demure
+
+Demure Card
+Cartão Demure
+
+Demure First Form
+
+
+Demure Second Form
+
+
+Demure accepts challengers,
+
+
+Demure#Valentine
+Demure#Valentine
+
+Demure's Axe
+Machado de Demure
+
+Demure, Queen of Dragons
+
+
+Depending on the case, Nicholas, in Hurnscald, can do a better job than me.
+Dependendo do caso, Nicholas, em Hurnscald, pode fazer um trabalho melhor do que eu.
+
+Deploy to Dangerous Area [6h]
+Implantar a área perigosa [6h]
+
+Deploy to Herb Fields [1h]
+Implante para Erva campos [1h]
+
+Deploy to Monster King Basement [8h]
+Implantar em Monstro Rei Basement [8h]
+
+Deploy to Ore Mines [2h]
+Implante para Ore Minas [2h]
+
+Deploy to Piou Fields [1h]
+Implante para Piou campos [1h]
+
+Deploy to Rare Mines [2h]
+Implante de Minas raros [2h]
+
+Deploy to Slime Nest [2h]
+Implante de limo ninho [2h]
+
+Deploy to Snake Pit [3h]
+Implante de serpente poço [3H]
+
+Deploy to The Market [1h]
+Implantar ao Mercado [1h]
+
+Deployed!
+Implantado!
+
+Deposit all
+Depositar todos
+
+Deposit.
+Depositar.
+
+Der Schneemann
+
+
+Der Schneemann has been defeated: %s Monster Points gained.
+
+
+Descend into Tulimshar sewers?
+Descida em esgotos de Tulimshar?
+
+Descend into the small corritor?
+Desça até a pequena corritor?
+
+Description: For starters, I'll blow away all your summons and summon an ent. You must do the most damage to it within 10 seconds.
+
+
+Description: Reach the other side of the maze and defeat the %s as quick as possible.
+
+
+Description: Similar to Intensive Mage, but measures mana experience - meaning even less skills will count, and swapping skills give a better effect.
+
+
+Description: Survive for the longest you can without leaving the designed region.
+
+
+Description: There'll be differently colored sparks and you must kill ONLY those of the color I say so! Failure to do so will cause immediate disqualification!
+
+
+Description: Use a lot of magic spells, regardless of type or raw strength. Points earned by skill level.
+
+
+Description: Use chant-based magic. All chants score equally.
+
+
+Description: Use support skills and win the event with the power of FRIENDSHIP!
+
+
+Description: Whoever crafts more potions, regardless of type, wins this event.
+
+
+Desert Bandit
+Bandido do Deserto
+
+Desert Hat
+Chapéu do Deserto
+
+Desert Helmet
+Capacete do Deserto
+
+Desert Log Head
+Cabeça do registro do deserto
+
+Desert Maggot
+Verme do Deserto
+
+Desert Pirate
+
+
+Desert Shirt
+Camisa do deserto
+
+Desert Tablet
+Tablet do deserto
+
+Desert Thief Card
+Cartão do ladrão do deserto
+
+Despite its initial dubious fragrance, the tea comes off as very smooth and mellow with a bit of natural sweetness and a touch of an earthy forest like flavor, but in a very good way.
+
+
+Destroy all mobilia
+Destrua toda a mobilia
+
+Destroyed by the fire
+
+
+Destroys everything in a line (earth). Boosts allied forces DEF.
+
+
+Detailed Information
+
+
+Determinate, you move your hand to grab it.
+Determinado, você move sua mão para agarrá-lo.
+
+Determine Team Size (If everyone is ready and stdby at Tulimshar, use: @@. Minimum 2 players.)
+Determine o Tamanho da Equipe (Se todos estiverem prontos e em aguardo em Tulimshar, use: @@. Mínimo de 2 jogadores.)
+
+Determine Team Size +1 (so 1 each side, use 2)
+Determine tamanho do time +1 (então 1 em cada time, use 2)
+
+Developer Cap
+Tampão do desenvolvedor
+
+Devis
+Devis
+
+Dex Potion
+Poção Dex
+
+Dex+ Potion
+Dex + Poção
+
+Dex++ Potion
+Poção Dex ++
+
+Dexterity
+Destreza
+
+Dexterity Fruit
+destreza Fruit
+
+Diamond
+Diamante
+
+Diamond (+2 vit)
+Diamante (+2 vit)
+
+Diamond Bif
+Bif de Diamantes
+
+Diamond Powder
+Pó de diamante
+
+Diary#Fefe
+
+
+Diary, 12nd December 298 AT
+Diário, 12 de dezembro de 298 AT
+
+Diary, 1st April 298 AT
+Diário, 1º de abril de 298 AT
+
+Diary, 21st June 297 AT
+Diário, 21 de junho de 297, AT
+
+Diary, 2nd March 300 AT
+Diário, 2 de março 300 AT
+
+Diary, 31st May 297 AT
+Diário, 31 de maio de 297, AT
+
+Diary, 3rd August 299 AT
+Diário, 3 de agosto de 299, AT
+
+Diary, 3rd March 300 AT
+Diário, 3 de março de 300 AT
+
+Did I received any mail?
+Será que eu recebi nenhum e-mail?
+
+Did I said the best craftsman and craftswoman in the world are here? @@, the legendary bow, was proudly crafted by the first king of Frostia!
+Eu disse que o melhor artesão e artesão do mundo está aqui? @@, o arco lendário, foi orgulhosamente trabalhado pelo primeiro rei de Frostia!
+
+Did something happen?
+Aconteceu alguma coisa?
+
+Did this Mouboo just blink? No, I made sure it was truly dead. Must have been my imagination.
+
+
+Did we brought everything Naem asked?
+
+
+Did you bring everything?
+
+
+Did you bring the supplies?
+Você trouxe os suprimentos?
+
+Did you brought everything I ask for?
+Você trouxe tudo o que eu peço?
+
+Did you brought me 12 %s?
+
+
+Did you brought me 12 @@ and 4 @@? The @@ is waiting for you, sharp sharp!
+Você me trouxe 12 @@ e 4 @@? O @@ está esperando por você, afiado afiado!
+
+Did you brought me 7 @@?
+Você me trouxe 7 @@?
+
+Did you brought me a %s?
+Você me trouxe uma% s?
+
+Did you brought me an souvenir from Tulimshar?
+Você me trouxe uma lembrança de Tulimshar?
+
+Did you brought me everything I asked for?
+Você me trouxe tudo que eu pedi?
+
+Did you brought me the %d/%d %s?
+
+
+Did you brought me the feathers?
+Você me trouxe as penas?
+
+Did you brought us a kind gift of good will, on the worth of %d %s, to offer to our King?
+Você nos trouxe um presente tipo de boa vontade, no valor de% d% s, a oferta para nosso Rei?
+
+Did you brought what I asked for?
+Você trouxe o que eu pedi?
+
+Did you came here by someone advise? If yes, write their name down here!
+Você veio aqui por alguém aconselhar? Se sim, escreva o nome deles aqui embaixo!
+
+Did you find some bookpages? Ensio will take them.
+Você achou alguns livros? Ensio irá levá-los.
+
+Did you got an @@ yet? That book have great insight on several details concerning mana and its usages!
+Será que você tem um @@ ainda? Esse livro tem grande visão sobre vários detalhes relativos mana e seus usos!
+
+Did you got everything I've asked?
+
+
+Did you got the %d %s I've asked?
+
+
+Did you just make up that someone?
+
+
+Did you knew May 25th it is a very special day - the Towel Day?
+Você sabia que no dia 25 de maio é um dia muito especial - o Dia da Toalha?
+
+Did you knew about the legend of Aethyr? I've heard the path to it was somewhere to the west of our old village... And some stuff about passwords... Hehe, I don't remember!
+
+
+Did you knew about the legend of Aethyr? I've heard the path to it was somewhere to the west of our old village... And some stuff about passwords... I'm not sure if I remember!
+
+
+Did you knew some crazy adventurers insists there is a Mana Stone on the dangerous caves inside the town?
+Você sabia que alguns aventureiros loucos insiste que não é uma pedra Mana nas cavernas perigosas dentro da cidade?
+
+Did you knew that %s was the wizard whom sealed the path to Aethyr, the sacred elf land? I wonder what happened afterwards.
+
+
+Did you knew the casino on the inn up here was one of the most expensive on the whole world?
+Será que você sabia que o casino na pousada até aqui foi um dos mais caros no mundo inteiro?
+
+Did you like it? Find me tomorrow, until day @@, for another gift!
+Você gostou? Encontre-me amanhã, até o dia @@, para outro presente!
+
+Did you noticed how no monster got close to it?
+Você percebeu como nenhum monstro chegou perto disso?
+
+Did you said reward?!
+Você disse recompensa?!
+
+Did you see Jhedia the blacksmith in Tulimshar? She might know how you could get this.
+Você viu Jhedia o ferreiro em Tulimshar? Ela pode saber como você pode conseguir isso.
+
+Didn't he give you anything?
+Ele não te deu nada?
+
+Die already!
+Morrer já!
+
+Die now!!
+Morra agora!!
+
+Die, your evil Yeti!
+Morra, seu malvado Yeti!
+
+Different kind of monsters live near the city. For example, blubs. I have no idea of what are those.
+Diferente tipos de monstros vivem perto da cidade. Por exemplo, blubs. Não sei o que eles são.
+
+Different warp systems overlaps each other, so the cooldown is carried over regardless of the technology you use.
+Diferentes sistemas de distorção se sobrepõem, então o cooldown é transportado independentemente da tecnologia usada.
+
+Difficulty?
+
+
+Dimond
+Dimond
+
+Dimond sold her food alone in this spot for some time,
+Diamond vendeu sua comida sozinha neste local por algum tempo,
+
+Dimond's Cove
+Cove de Dimond
+
+Dimonds Cove Story
+História de Dimonds Cove
+
+Direction for Pirate Caves
+
+
+Directions:
+Instruções:
+
+Disable
+Desabilitar
+
+Disable BG
+Desativar BG
+
+Disable Event
+Desativar Evento
+
+Disabled
+Desativado
+
+Disarm process aborted: Disarmer is dead.
+Desarmar o processo abortado: o Desarmador está morto.
+
+Disarm process aborted: Disarmer is out of reach.
+Desarmar o processo abortado: o Desarmador está fora de alcance.
+
+Disarm process aborted: Insufficient mana to proceed.
+Desarmar processo abortado: mana insuficiente para prosseguir.
+
+Disarmed with success for: @@
+Desarmado com sucesso por: @@
+
+Discard
+Descartar
+
+Disconnect
+desconectar
+
+Discord Necklace
+Colar do Discord
+
+Diseased Heart
+Coração doente
+
+Display daily reward screen:
+Mostrar tela de recompensa diária:
+
+Divine Apple
+Apple divina
+
+Divine Sword
+Espada Divina
+
+Divine Water
+Ãgua Divina
+
+Divorce error!
+Erro de divórcio!
+
+Do I look like a tree? I feel like one.
+Eu pareço uma árvore? Eu me sinto como uma.
+
+Do a weird dance
+Faça uma dança estranha
+
+Do as I told you, and talk to Alan for the bow!
+Faça o que eu lhe disse e fale com o Alan pelo arco!
+
+Do as much as possible.
+Fazer tanto quanto possível.
+
+Do it!
+Faça!
+
+Do not attempt to go there again.
+Não tente ir lá novamente.
+
+Do not break my seal to prevent the curse from reaching Kamelot.
+Não quebre meu selo para evitar a maldição de alcançar Kamelot.
+
+Do not disconnect while waiting. You need 100% HP to donate.
+Não desligue enquanto aguarda. Você precisa de 100% de HP para doar.
+
+Do not enter in this storehouse, the maggots there will kill you.
+Não entre neste depósito, as larvas ali vão te matar.
+
+Do not give your password to anybody! Keep it secret and try not to use the same one anywhere else in the future. - Juliet
+
+
+Do not hesit to purchase furniture. The furniture belongs to the house, so if you lose the house, you'll lose it, too. But apartments are never rent to someone else!
+Não hesite em comprar móveis. O mobiliário pertence à casa, então, se você perder a casa, também a perderá. Mas os apartamentos nunca são alugados para outra pessoa!
+
+Do not let intimacy and hunger get to zero. If any of those get to zero, it'll leave you forever.
+Não deixe a intimidade e a fome chegar a zero. Se qualquer um deles chegar a zero, ele te deixará para sempre.
+
+Do not open. Do not attempt to eat. Be careful with it, to don't cause any time paradoxes. I also heard a NPC may be interested on that, by the way!
+Não abra. Não tente comer. Tenha cuidado com isso, para não causar paradoxos no tempo. Eu também ouvi que um NPC pode estar interessado nisso, a propósito!
+
+Do not rebirth
+Não renascimento
+
+Do not think you can defeat me yet!
+Não pense que você pode me derrotar ainda!
+
+Do not worry with me, youngling... I'll be fine.#0
+Não se preocupe comigo, youngling ... Eu vou ficar bem.
+
+Do not worry with me, youngling... I'll be fine.#1
+Não se preocupe comigo, youngling ... Eu vou ficar bem.
+
+Do not worry, I have them right here.
+Não se preocupe, eu os tenho aqui mesmo.
+
+Do not worry, I'll be back in a jiffy.
+Não se preocupe, eu volto em um instante.
+
+Do note that abuse will cause both you and the person you vouched for to be kicked from the Academy! So be mindful with to whom you give titles.
+
+
+Do nothing
+Fazer nada
+
+Do some paperwork
+Faça alguma papelada
+
+Do you accept special requests?
+Você aceita pedidos especiais?
+
+Do you accept special requests? Could you make me a really good bow?
+Você aceita pedidos especiais? Você poderia me fazer um arco realmente bom?
+
+Do you believe I've lost my @@? I can't see anything well without that! %%a
+
+
+Do you even know what a bow is?
+Você sabe o que é um arco?
+
+Do you have a clue about what went wrong?
+Você tem uma pista sobre o que deu errado?
+
+Do you have an extra of 11 @@ for me?
+Você tem um extra de 11 @@ para mim?
+
+Do you have any last wishes before being JAILED for your CRIMES?!
+Você tem últimos desejos antes de ser preso por seus crimes ?!
+
+Do you have any questions?
+Você tem alguma pergunta?
+
+Do you have any tips for beginners?
+Você tem alguma dica para iniciantes?
+
+Do you have anything else to read?
+Você tem mais alguma coisa para ler?
+
+Do you have mental issues? I mean, of course there is a secret passage there!
+Você tem problemas mentais? Quero dizer, claro que há uma passagem secreta para lá!
+
+Do you have my @@?
+Você tem meu @@?
+
+Do you have non-ranged weapons?
+Você tem armas não variou?
+
+Do you have something to exchange with me? Or perhaps you want a Grand Hunter Quest?
+Você tem algo para trocar comigo? Ou talvez você queira uma Grand Hunter Quest?
+
+Do you have that for me?
+Você tem isso para mim?
+
+Do you have that with you?
+Você tem isso com você?
+
+Do you have that? I have the other materials but I couldn't get it... @@ are too dangerous, they are level @@ monsters.
+Você tem isso? Eu tenho os outros materiais, mas não consegui ... @@ são perigosos demais, eles são level @@ monsters.
+
+Do you have the @@/11 @@ I requested? The sailors are starving because of you!
+
+
+Do you know @@? It's a poisonous food you can't find around here. It can be made edible with special prepare.
+Você sabe @@? É uma comida venenosa que você não consegue encontrar por aqui. Pode ser feito comestível com especial preparar.
+
+Do you know Land Of Fire Village? It is west of Hurnscald and is a major town.
+Sabe terra do fogo Village? É oeste de Hurnscald e é uma grande cidade.
+
+Do you know anything about the strange visitor?
+Você sabe alguma coisa sobre o estranho visitante?
+
+Do you know how to count, maggot? %%5
+
+
+Do you know someone called Braknar?
+Você conhece alguém chamado Braknar?
+
+Do you know something about 'Mylarin Dust'?
+Você sabe algo sobre 'Mylarin Dust'?
+
+Do you know the warp crystals? We did them. Did you saw the great warp gate at the town entrance? It was us!
+Você conhece os cristais de dobra? Nós fizemos eles. Você viu o grande portão na entrada da cidade? Fomos nós!
+
+Do you know what a Soul Menhir is?
+Você sabe o que é um Menhir de Almas?
+
+Do you know what happened to the gold I had when you guys saved me?#0
+Você sabe o que aconteceu com o ouro que eu tinha quando vocês me salvaram?
+
+Do you know what happened to the gold I had when you guys saved me?#1
+Você sabe o que aconteceu com o ouro que eu tinha quando vocês me salvaram?
+
+Do you know where I can find Nard?
+Você sabe onde eu posso encontrar Nard?
+
+Do you know where I can level up?
+Você sabe onde eu posso subir de nível?
+
+Do you know where my brother Enzo is? I forgot that too!
+Você sabe onde meu irmão Enzo é? Esqueci-me que também!
+
+Do you know where the party is? It's at Halin, to get there you need to pass through the Desert Canyon.
+Você sabe onde a festa é? É na Halin, para chegar lá, você precisa passar pelo Desfiladeiro do Deserto.
+
+Do you like fairies? Well, you should love them! We play with humans all the time, it is usually pretty fun...
+Você gosta de fadas? Bem, você deveria amá-los! Nós brincamos com humanos o tempo todo, geralmente é bem divertido ...
+
+Do you make Lifestones?
+Você faz Lifestones?
+
+Do you make any other kind of potions?
+Você faz algum outro tipo de poções?
+
+Do you make anything else?
+
+
+Do you need a refresher of the rules?
+Você precisa de uma atualização das regras?
+
+Do you need any more help?
+Você precisa de mais ajuda?
+
+Do you need anything else?
+Você precisa de mais alguma coisa?
+
+Do you need help?
+Você precisa de ajuda?
+
+Do you need my help?
+Você precisa de minha ajuda?
+
+Do you need something from me?
+Você precisa de algo de mim?
+
+Do you need something in particular?
+Você precisa de algo em particular?
+
+Do you need the extra credit?
+Você precisa o crédito extra?
+
+Do you really have to ask? I am a fairy...*sigh*
+
+
+Do you see that fancy house over there? My husband, @@, used to live there.
+Você vê aquela casa chique ali? Meu marido, @@, morava lá.
+
+Do you see the crocs, with their claws and hard shell? They have high defense, this means your attacks deal less damage.
+
+
+Do you see the professor on the next room? Listen to his boring speech for @@. There are the materials for the class.
+Você vê o professor na sala ao lado? Ouça seu discurso chato para @@. Existem os materiais para a aula.
+
+Do you sell anything here?
+Você vende alguma coisa aqui?
+
+Do you sell tea?
+Você vende chá?
+
+Do you still need help with your experiments?
+Você ainda precisa de ajuda com suas experiências?
+
+Do you think I could join the Alliance?
+Você acha que eu poderia me juntar à Aliança?
+
+Do you think I'm ready to go to Halinarzo?
+Você acha que eu estou pronto para ir para Halinarzo?
+
+Do you think he may have had something to do with the accident? We're a very hospitable house, so I didn't see a reason to deny him the entrance. I mean, his mask might have been a bit unusual, but hey, there could've been many reasons why someone would wear a mask, don't you think?
+Você acha que ele pode ter tido algo a ver com o acidente? Somos uma casa muito hospitaleira, então não vi uma razão para negar a ele a entrada. Quero dizer, a máscara dele pode ter sido um pouco incomum, mas hey, poderia haver muitas razões para alguém usar uma máscara, você não acha?
+
+Do you think that is funny?
+Você acha isso engraçado?
+
+Do you think yourself worthy of my power?
+Você acha-se digno do meu poder?
+
+Do you want a tip? "It's not suicide if you know how to swim."
+
+
+Do you want any monster killed?
+Você quer algum monstro morto?
+
+Do you want me to prepare more chocolate box for you? For that I'll need:
+Você quer que eu prepare mais caixa de chocolate para você? Para isso eu precisarei:
+
+Do you want me to teach you how to improve an existing skill with MAGIC? There are no better mages than Mouboos!
+Você quer que eu te ensinar como melhorar uma habilidade existente com MAGIC? Não há melhores magos do que Mouboos!
+
+Do you want more coffee?
+
+
+Do you want one?
+
+
+Do you want to advance?
+
+
+Do you want to begin the %s Dungeon?
+
+
+Do you want to break open this %s?
+
+
+Do you want to change your race?
+Você quer mudar a sua raça?
+
+Do you want to craft @@? For that I will need @@ @@, @@ @@ and @@ gp.
+Você quer fabricar @@? Para isso eu vou precisar de @@ @@, @@ @@, e @@ gp.
+
+Do you want to craft @@? For that I will need:
+Você quer fabricar @@? Para isso vou precisar de:
+
+Do you want to cross to the other side? You'll need to find the sea to return here if you do.
+Você quer atravessar para o outro lado? Você precisa encontrar o mar para voltar aqui se você fizer.
+
+Do you want to do something else?
+Você quer fazer outra coisa?
+
+Do you want to exchange some of your @@ @@ for items?
+Você quer trocar alguns dos seus @@ @@ por itens?
+
+Do you want to get a reward nonetheless? You will lose @@.
+Você quer obter uma recompensa, no entanto? Você vai perder @@.
+
+Do you want to go against the Monster King now? The event will start 18:30 UTC sharply.
+Você quer ir contra o Rei Monstro agora? O evento terá início às 18:30 UTC.
+
+Do you want to go there? The Red Wizard may be able to offer you training.
+
+
+Do you want to go to Fortress Island, where the Monster King lives?!
+Você quer ir para Fortaleza Island, onde o monstro rei vive ?!
+
+Do you want to go to the left, the right or stay where you are?
+Você quer ir para a esquerda, a direita ou ficar onde está?
+
+Do you want to help? I promise you no reward, so you will do it of your own will.
+Você quer ajudar? Eu prometo a você nenhuma recompensa, então você fará isso por sua própria vontade.
+
+Do you want to hire a mercenary? Or perhaps get a card so you can invoke them later? I can even make them stronger if you wish.
+Você quer contratar um mercenário? Ou, talvez, obter um cartão para que você possa chamá-los mais tarde? Eu posso até torná-los mais forte, se desejar.
+
+Do you want to make %s?
+
+
+Do you want to make sake?
+Você quer fazer amor?
+
+Do you want to make wine?
+Você quer fazer vinho?
+
+Do you want to marry @@?
+Você quer se casar com @@?
+
+Do you want to open this chest?
+
+
+Do you want to participate on Call Of Dusty?
+Você quer participar do Call Of Dusty?
+
+Do you want to play a song?
+Você quer tocar uma música?
+
+Do you want to put it out, or to make it brighter?
+
+
+Do you want to re-roll?
+
+
+Do you want to read again the instructions?
+Você quer ler novamente as instruções?
+
+Do you want to read it?
+Você quer ler?
+
+Do you want to read the story again? Or should we get to the most obvious point?
+Você quer ler a história de novo? Ou deveríamos chegar ao ponto mais óbvio?
+
+Do you want to rent a Mouboo? It allows quick traveling!
+Você quer alugar um Mouboo? Permite viagens rápidas!
+
+Do you want to rent a Tortuga? It allows quick traveling!
+Você quer alugar um Tortuga? Permite viagens rápidas!
+
+Do you want to restore it, or to keep breaking it?
+
+
+Do you want to return to Land Of Fire Village?
+Você quer voltar a terra do fogo Village?
+
+Do you want to return?
+
+
+Do you want to start?
+Você quer começar?
+
+Do you want to trade your points? The demand keep raising, and so does the price!
+Você quer trocar seus pontos? A demanda continua aumentando, e o mesmo acontece com o preço!
+
+Do you want to try to find them? Just search the first five floors: Novice, Intermediary, Advanced, Expert and Master.
+Você quer tentar encontrá-los? Basta pesquisar nos cinco primeiros andares: Novato, Intermediário, Avançado, Especialista e Mestre.
+
+Do you want to use the souls to unlock the passage?
+
+
+Do you wish to return to the Academy?
+
+
+Do you, perchance, have 2 @@ and 3 @@?
+Você, por acaso, tem 2 @@ e 3 @@?
+
+Doctor
+Doutor
+
+Dodge Potion
+Poção de Esquiva
+
+Does it counts to Honor Ranking?
+Será que ele conta para Honor Ranking?
+
+Doesn't it feel good to help?
+
+
+Dog Statue#Saggy
+Estátua Canina#Saggy
+
+Doggy Dog
+Doggy Dog
+
+Doll
+Boneca
+
+Don't ask.
+
+
+Don't be afraid of death. Of course, in most places, dying will make you lose some Experience you gathered.
+
+
+Don't be deemed unworthy,
+
+
+Don't believe anything they tell you! Here, take this, so you can defend yourself. And some food, now leave.
+
+
+Don't bore me.
+Não me deu.
+
+Don't bother me, I'm busy right now. Since the Monster King left, I barely got a night of rest...
+Não me incomode, estou ocupado agora. Desde que o Rei Monstro partiu, eu mal tenho uma noite de descanso ...
+
+Don't break my stuff.
+Não quebre minhas coisas.
+
+Don't challenge the Moubootaur. You saw what happened to me.
+Não desafie o Moubootaur. Você viu o que aconteceu comigo.
+
+Don't change race
+Não mude de corrida
+
+Don't cry any further. I am here to help.
+Não chore mais. Eu estou aqui para ajudar.
+
+Don't deploy
+Não implemente
+
+Don't distract me, I have to stay alert.
+Não me distraia, tenho que ficar alerta.
+
+Don't do theee... *hic* with me eh!
+Não faça isssssuuu ... *hic* comigo eh!
+
+Don't fill
+Não preencher
+
+Don't fix.
+Não conserte.
+
+Don't forget to collect and eat any chocolate sent to you, too!
+Não se esqueça de recolher e comer todo o chocolate enviado a você, também!
+
+Don't forget to come as close as possible to these spots!
+Não se esqueça de chegar o mais perto possível desses pontos!
+
+Don't go alone, though! He would not listen to me, it is not you alone he'll pay attention. You will lose reagents!
+Não vá sozinho, embora! Ele não me ouviria, não é você sozinho, ele vai prestar atenção. Você perderá reagentes!
+
+Don't interrupt me, I'm busy!
+Não me interrompa, estou ocupado!
+
+Don't just stand here! Go fetch help, NOW!!
+Não fique apenas aqui! Vá buscar ajuda, AGORA !!
+
+Don't pay.
+
+
+Don't rent a mouboo.
+Não alugue um mouboo.
+
+Don't rent a tortuga.
+Não alugue um tortuga.
+
+Don't rent it
+Não alugue
+
+Don't say anything, I can smell the scent of Helena's hair on you.
+Não diga nada, posso sentir o cheiro do cabelo de Helena em você.
+
+Don't speak to me crazy guy!
+Não fale comigo cara louco!
+
+Don't spin it!
+Não gire!
+
+Don't tax crafters
+Não tributam crafters
+
+Don't try to trick me, this attracts bad karma! You could get stolen on Christmas! Seriously, this has happened before!
+Não tente me enganar, isso atrai o mau carma! Você pode ser roubado no Natal! Sério, isso já aconteceu antes!
+
+Don't upgrade it
+Não atualize
+
+Don't warp
+Não deformar
+
+Don't we know any Yeti specialist? Maybe Celestia?
+
+
+Don't worry if they don't correspond to you. Each box sent will grant you 1 event point.
+Não se preocupe se eles não corresponderem a você. Cada caixa enviada concederá 1 ponto de evento.
+
+Don't worry ma'm, I'll recover the Treasure Keys at once.
+Não se preocupe, vou recuperar as chaves do tesouro de uma só vez.
+
+Don't worry, I'll stay at the caves.
+Não se preocupe, ficarei nas cavernas.
+
+Don't worry, I've tweaked my formula this time. Here is some experience and let's try again!
+Não se preocupe, eu tenho mexido minha fórmula desta vez. Aqui está um pouco de experiência e vamos tentar de novo!
+
+Don't worry, third time is the charm. Here is some experience. Let's try again.
+Não se preocupe, terceira vez é o charme. Aqui está um pouco de experiência. Vamos tentar de novo.
+
+Don't you have any exploit of your own?
+Você não tem nenhuma façanha?
+
+Donate 1/@@ @@ to Ensio?
+Doar 1 / @@ @@ para Ensio?
+
+Donate 100 GP for prize
+Doe 100 GP por prêmio
+
+Donate 100k GP for prize
+
+
+Donate 10k GP for prize
+
+
+Donate 15 GP for prize
+Doe 15 GP por prêmio
+
+Donate 1k GP for prize
+
+
+Donate 250k GP for prize
+
+
+Donate 25k GP for prize
+
+
+Donate 5 GP for prize
+Doe 5 GP por prêmio
+
+Donate 50 GP for prize
+Doe 50 GP por prêmio
+
+Donate GP
+Doe GP
+
+Donate a Bat Teeth
+Doe um dente de morcego
+
+Donate a Bat Wing
+Doe uma asa de morcego
+
+Donate to town
+
+
+Donating blood is a noble act, which allows to save lifes.
+Doar sangue é um ato nobre, que permite salvar vidas.
+
+Donating blood will BLOCK YOUR MOVEMENT for three minutes.
+Doar sangue BLOQUEARà O SEU MOVIMENTO durante três minutos.
+
+Donation completed.
+
+
+Donation successful!
+Doação bem sucedida!
+
+Done!
+Feito!
+
+Doorbell is disabled
+A campainha está desativada
+
+Doorbell#RES_0096
+Campainha#RES_0096
+
+Doorbell#RES_0097
+Campainha#RES_0097
+
+Doorbell#RES_0128
+Campainha#RES_0128
+
+Doorbell#RES_0177
+Campainha#RES_0177
+
+Doorbell#RES_0178
+Campainha#RES_0178
+
+Doorbell#RES_PPL
+Campainha#RES_PPL
+
+Doppelganger Challenge Ranking
+Doppelganger Desafio Ranking
+
+Doppelganger Challenge, @@ began the fight!
+Doppelganger Desafio, @@ começou a luta!
+
+Doppelganger Waves Won: %s
+
+
+Double Attack +5%
+
+
+Doubled.
+
+
+Doug
+Doug
+
+Downgrade Ore
+Downgrade Ore
+
+Downgrade Scorpion Claw
+Downgrade Scorpion Garra
+
+Downgrade Scorpion Stinger
+Downgrade Scorpion Stinger
+
+Downgrade Snake Egg
+Rebaixamento serpente ovo
+
+Downgrade Snake Skin
+Downgrade da pele de serpente
+
+Downgrade Snake Tongue
+Downgrade Cobra Tongue
+
+Dracoula
+Drácula
+
+Drag and drop a %s in a %s, and you will obtain a %s.
+
+
+Drag and drop a healing item from your inventory.
+Arraste e solte um item de cura do seu inventário.
+
+Drag and drop an item from your inventory.
+Arraste e solte um item do seu inventário.
+
+Drag and drop here the item you want to remove the options.
+Arraste e solte aqui o item que você deseja remover as opções.
+
+Dragon Eggshell
+Casca de ovo de dragão
+
+Dragon Horn
+
+
+Dragon Scales
+Dragon Scales
+
+Dragon Shield
+Escudo do dragão
+
+Dragon Star
+Estrela do dragão
+
+Dragon Star Card
+Cartão da estrela do dragão
+
+DragonStar, Aisen
+DragonStar, Aisen
+
+Dragonfruit
+Fruta do dragão
+
+Dragons and Toast
+Dragões e Toast
+
+Dragonstar and Aisen did their best along many others, and managed to liberate Hurnscald, though!
+Dragonstar e Aisen fizeram o seu melhor ao longo de muitos outros e conseguiram libertar Hurnscald!
+
+Drahcir
+
+
+Drains your MP bar to replenish target's. Doesn't go past 100%.
+
+
+Dreaded Pirate Marley
+
+
+Dream Ticket
+
+
+Dream Tower
+
+
+Dream Tower Appears
+
+
+Dress up! Do not walk without clothes! Always wear your items! They leave you less vulnerable to attacks and stronger to defeat your opponents.
+Vista-se! Não ande sem roupa! Sempre use seus itens! Eles deixam você menos vulnerável a ataques e mais fortes para derrotar seus oponentes.
+
+Drink the potion
+Beba a poção
+
+Drink the potion, and say magic words
+Beba a poção e diga palavras mágicas
+
+Drinking what drink is like having your brain smashed out by a slice of lemon wrapped round a large gold brick?
+Beber que bebida é como ter seu cérebro esmagado por uma fatia de limão enrolada em um grande tijolo de ouro?
+
+Drinking with friends will give 1.5% extra XP boost for each person nearby.
+Beber com amigos vão dar 1,5% impulso extra XP para cada pessoa nas proximidades.
+
+Drop a coin to hear how deep it is
+Jogue uma moeda para ouvir a profundidade dela
+
+Drop rate has been reset to @@% (default value).
+Taxa de drop foi redefinida para @@% (valor padrão).
+
+Drop rate is set to @@% for the next @@.
+Taxa de drop está definida como @@% por @@.
+
+Drop these near the circle to make the breaking faster.
+Soltar esses perto do círculo para fazer a quebra mais rápido.
+
+Drowned Man
+Homem Afogado
+
+Drueme
+Drueme
+
+Druid Card
+Carta Druida
+
+Druid Card S
+
+
+Druid Card X
+
+
+Druid Tree Branch
+Galho de árvore de druida
+
+Duck
+Pato
+
+Duck Egg
+Ovo de pato
+
+Duck Elder
+Elder Duck
+
+Duck Elder : Success! The pirates have been thwarted.
+
+
+Duck Elder : We have failed. The pirates will regroup and replenish their fallen. They will strike again, until we are defeated.
+
+
+Duck Feather
+Pena de pato
+
+Duck Initiate
+
+
+Duck Soldier
+
+
+Ducks and Giant Maggots also drops Cherry Cakes.
+Patos e Maggots gigantes também cai cereja Bolos.
+
+Due this bug, you didn't got a proper amount of points per sent. We wanted to deliver you a token of apology!
+Devido a esse bug, você não recebeu uma quantidade adequada de pontos por envio. Queríamos entregar-lhe um sinal de desculpas!
+
+Due to a recent incident involving slimes, the building is closed to public visits.
+Devido a um incidente recente envolvendo slimes, o prédio está fechado para visitas públicas.
+
+Dummy
+Manequim
+
+Dungeon Map
+
+
+Dungeon cleared!
+Calabouço limpo!
+
+During Valentine 2020, you can get event equipment with the Soul Stone.
+Durante Valentine de 2020, você pode obter equipamentos evento com a pedra da alma.
+
+During cutscenes, you cannot move. If you do, you'll be forcibly pushed back.
+Durante cutscenes, você não pode se mover. Se você fizer isso, vai ser forçosamente empurrados para trás.
+
+During night the professor also goes to the Magic Academy, using the hidden north port, on the building to left of the Magic Council...
+Durante a noite o professor também vai para a Academia de Magia, usando a porta norte escondido, no edifício para a esquerda do Conselho de magia ...
+
+During night, the monsters usually respawn faster. That can be a problem with aggressive monsters.
+Durante a noite, os monstros geralmente reaparecem mais rápido. Isso pode ser um problema com monstros agressivos.
+
+During summer, more Tonori Delight can be produced.
+Durante o verão, mais Tonori Delight pode ser produzido.
+
+During the war, the Monster King cursed the place where he died, but he fought back, and cursed the curse.
+Durante a guerra, o Rei Monstro amaldiçoou o local onde ele morreu, mas ele lutou de volta e amaldiçoou a maldição.
+
+During this season, Gemini Quest can be done with parties of 6.
+
+
+During this season, challenges to Crazyfefe will be free.
+
+
+During this season, monster point gain is increased in %d%%!
+
+
+During this season, you can summon the Yeti King for free.
+
+
+Dust In A Bottle
+Poeira em uma garrafa
+
+Dustynator 2000
+Dustynator 2000
+
+Dwarf Craftsmaster
+Mestre Artesão Anão
+
+Dwarven Sake
+Sake anão
+
+Dye cards are not the only thing which exist, but they are the coolest!
+Cartões de corante não são a única coisa que existe, mas são os mais legais!
+
+Dye? How can you do that without a cauldron?
+
+
+Dyes are a special kind of ink to make certain objects fancier.
+Os corantes são um tipo especial de tinta para tornar certos objetos mais extravagantes.
+
+Dying inside the Heroes Hold Main Dungeon does not have a penalty. However, dying outside the castle have.
+Morrer dentro do Heroes Hold Main Dungeon não tem uma penalidade. No entanto, morrer fora do castelo tem.
+
+Dying outside a town square will cause EXP loss.
+Morrer fora de uma praça da cidade causará perda de EXP.
+
+Dying will also decrease the pet intimacy, and there are bonuses when your intimacy is high!
+Morrer também diminuirá a intimidade do animal de estimação e haverá bônus quando sua intimidade for alta!
+
+Dyrin The Traveler
+Dyrin o viajante
+
+ENOUGH! LAME CHEATERS, GET OFF THIS GAME %%a That's 15 gifts, and it is final.
+
+
+ERROR: %d
+
+
+ERROR: You already took the coins today. Please wait @@ more.
+ERRO: Você já tomou as moedas de hoje. Por favor, aguarde @@ mais.
+
+ERROR: You must set a PinCode to make use of this function.
+
+
+EVENT Bow
+EVENTO Bow
+
+EVENT CANCELLED DUE TO PLAYER INACTIVITY
+
+
+EVENT Single Hand Sword
+EVENTO Individual Espada Mão
+
+EVENT Two Hands Sword
+EVENTO Duas Mãos Espada
+
+EVENT Wand
+EVENTO Wand
+
+EVERY switch on EVERY cave will unflip itself after about 2 minutes. So don't waste your time.
+CADA interruptor em CADA caverna irá se soltar após cerca de 2 minutos. Então não perca seu tempo.
+
+EXP Gain +10%
+
+
+EXP Gain raised in @@% for one hour!
+EXP Ganho aumentado em @@% por uma hora!
+
+EXP Penalty: ON
+EXP Penalty: ON
+
+EXPERTS ONLY - If you are not a talented crafter, avoid this.
+PERITOS SOMENTE - Se você não é um artesão talentoso, evite isso.
+
+EXPLOSIVE GUNSTAFF
+GUNSTAFF EXPLOSIVO
+
+Each item have it's own tax.
+Cada item tem seu próprio imposto.
+
+Each level up will buff your base stats, and give you stats points to allocate. However, there is Job Level.
+Cada nível acima irá melhorar suas estatísticas básicas e fornecer pontos de estatísticas para alocar. No entanto, existe um nível de emprego.
+
+Each monster will be counted as %d kills.
+
+
+Each of them require different items, I'll sort from weakest to strongest, so choose wisely.
+Cada um deles requer itens diferentes, eu classifico do mais fraco ao mais forte, então escolha sabiamente.
+
+Each season unlocks a set of quests and drops which can only be obtained on the season.
+Cada temporada desbloqueia um conjunto de quests e drops que só podem ser obtidos na temporada.
+
+Each settlement names a representative, which forms the Alliance Council. There is also the High Council, and the Magic Council.
+Cada assentamento nomeia um representante, que forma o Conselho da Aliança. Há também o Alto Conselho e o Conselho Mágico.
+
+Earlier I hadn't any, but now that I have the baits, I will be glad to sell some to you!
+Mais cedo eu não tinha nenhum, mas agora que eu tenho as iscas, eu estarei contente de vender alguns para você!
+
+Earmuffs
+Protetores de ouvidos
+
+Earth Element
+Elemento da Terra
+
+Earth Fairy
+Fada da terra
+
+Earth Powder
+terra Pó
+
+Earth Scroll
+Pergaminho da Terra
+
+Earth Witch Card
+Cartão da bruxa da terra
+
+East Aeros
+Aeros Leste
+
+Easter
+Páscoa
+
+Easter @@
+Páscoa @@
+
+Easter Angry Forain
+Easter Angry Forain
+
+Easter Egg
+Ovo de Páscoa
+
+Easter Egg quest updated. Total found: %02d/06
+
+
+Easter Eggs found: %d
+
+
+Easter Mouboo
+Páscoa Mouboo
+
+Easter Top 1 Prize
+
+
+Easter is over! I am the last chance to get rid of eggs!!
+A Páscoa acabou! Eu sou a última chance de me livrar dos ovos !!
+
+Easy
+Fácil
+
+Easy Mode
+
+
+Eating is a necessity, but cooking is an art.
+Comer é uma necessidade, mas cozinhar é uma arte.
+
+Ectoplasm
+Ectoplasma
+
+Eevert
+Eevert
+
+Effects from The Great Fire are still felt by the people.
+
+
+Eggshell Hat
+Chapéu casca de ovo
+
+Eh, I don't think you'll be brave enough to go after her. If even she decided to flee, I doubt you wouldn't do the same.
+Eu não acho que você será corajoso o suficiente para ir atrás dela. Se ela decidir fugir, duvido que você não faça o mesmo.
+
+Eh, I have to go.
+Eh, eu tenho que ir.
+
+Eh, that seems too problematic. Sorry.
+Isso parece muito problemático. Desculpa.
+
+Eh... Sure, why not. What could go wrong, after all.
+
+
+Eh? Well, you're in a desert. You can see Maggots and Scorpions, they're very common on these parts. Giant Maggots are very dangerous, but also very slow. If you know how to fight, they will yield you lots of experience.
+Eh? Bem, você está em um deserto. Você pode ver Maggots e Scorpions, eles são muito comuns nessas partes. Larvas gigantes são muito perigosas, mas também muito lentas. Se você sabe lutar, eles lhe renderão muita experiência.
+
+Eh? You sure?
+Eh? Tem certeza que?
+
+Eight Maggots will rise from the ground and will start destroying the crops.
+Oito larvas se levantarão do chão e começarão a destruir as plantações.
+
+Eight gifts. Let's double the goal. 25600 gifts. Did you guys hire some chinese gold farmers, anyway?
+Oito presentes. Vamos dobrar o objetivo. 25600 presentes. Vocês contrataram alguns fazendeiros de ouro chineses, afinal?
+
+Eistein
+Einstein
+
+Elanore casts a chant over the items, closes her hands, and vóila! A lifestone.
+
+
+Elanore the Healer
+Eleanor a Curandeira
+
+Eldrin
+
+
+Eldrin, Taskmaster
+
+
+Electro Worm
+Verme Eletro
+
+Elen The Traveler
+Elen o viajante
+
+Elenium Bif
+Elenium Bif
+
+Eleven gifts? You guys really have no live! For 204,800 I'll give an extra one.
+Onze presentes? Vocês realmente não têm vida! Para 204.800 eu vou dar um extra.
+
+Elf
+Duende
+
+Elfic Bow
+Arco Eláfico
+
+Elias
+Elias
+
+Elias gets a bit excited.
+Elias fica um pouco animado.
+
+Elite Duck
+Duck Elite
+
+Elite Scout#MB0233
+Escolta de Elite#MB0233
+
+Elixir Of Life
+Elixir da vida.
+
+Elixir of Life
+
+
+Eliza
+Eliza
+
+Elli
+
+
+Elli#Ep
+
+
+Elmo
+Elmo
+
+Elmo has given you an EXP UP and DROP UP Boost until level 20!
+Elmo lhe deu uma EXP e deixá-UP impulso até o nível 20!
+
+Elmo#002-5
+Elmo#002-5
+
+Elmo#sailors
+Elmo#marinheiros
+
+Elora
+
+
+Elora#1
+
+
+Elven
+Élfico
+
+Elves are always allowed inside.
+Elfos são sempre permitidos dentro.
+
+Elza
+Elza
+
+Email: @@
+O email: @@
+
+Emeald Bif
+Esmeralda Bf
+
+Emerald
+Esmeralda
+
+Emerald (+2 luck)
+Esmeralda (+2 de sorte)
+
+Emerald Powder
+Pó esmeralda
+
+Emergency Exit
+Saída de emergência
+
+Emma
+Emma
+
+Emoc otem itey gnik!
+Emoc otem itey gnik!
+
+Emperium
+Emperium
+
+Empty Box
+Caixa vazia
+
+EmptyBottle
+Garrafa vazia
+
+Enable
+Habilitar
+
+Enable Event
+Ativar Evento
+
+Enable/disable doorbell
+Ativar / desativar campainha
+
+Enabled
+ativado
+
+Enabled: @@
+Ativado: @@
+
+Enchanted Herb Bag
+Enchanted Herb Bag
+
+End status @@
+Status final @@
+
+End! Score this time: %d
+
+
+End! Score this time: %s
+
+
+Endless, cute, dangerous, deadly.
+Sem fim, bonito, perigoso, mortal.
+
+Enemies stunned!
+
+
+Energy Ball
+Bola de energia
+
+Energy Ball Challenge
+
+
+Engraving#Katazuli1
+
+
+Engravings#Gemini
+
+
+Enjoy this new weapon, I hope you're successful.
+Aproveite esta nova arma, espero que você seja bem sucedido.
+
+Enjoy this world while it lasts. Heh. It's time to... detonate.
+Aproveite este mundo enquanto durar. Heh É hora de ... detonar.
+
+Enjoy your new style.
+Aproveite o seu novo estilo.
+
+Enjoy your time here, %s. And keep your eye out for agents of S.A.R.A.H.
+Aproveite o seu tempo aqui,% s. E manter o seu olho para fora para agentes de S.A.R.A.H.
+
+Enliven Reva Foxhound
+Enliven Reva Foxhound
+
+Enough for now. Let's rest, shall we?
+O suficiente para agora. Vamos resto, não é?
+
+Enrique
+Enrique
+
+Ensio
+Ensio
+
+Ent Abomination
+
+
+Enter
+Entrar
+
+Enter anyway?
+Digite qualquer maneira?
+
+Enter dungeons? You won't be able to join anymore when he dies.
+Entre nas masmorras? Você não poderá mais participar quando ele morrer.
+
+Enter line number:
+Digite o número da linha:
+
+Enter new line:
+Digite a nova linha:
+
+Enter though the window to the secret caves?
+Entre pela janela para as cavernas secretas?
+
+Enter/Leave after start: %s
+
+
+Enzo
+Enzo
+
+Eomie
+Eomie
+
+Epic Mouboo
+
+
+Epic Tortuga
+
+
+Epiphany Wisp
+Wisp Epifânico
+
+Equip
+Equipar
+
+Equipment Blueprint A
+Equipamento Blueprint A
+
+Equipment Blueprint B
+Equipamento Blueprint B
+
+Equipment Blueprint C
+Equipamento Blueprint C
+
+Equipment Blueprint D
+Equipamentos Blueprint D
+
+Equipment Blueprint E
+Modelo de equipamento E
+
+Equippable items are armour, weapons and accessories.
+Itens equipáveis ​​são armaduras, armas e acessórios.
+
+Equipping them is easy, you must open your inventory with @@ or clicking in @@, on the top right.
+Equipá-los é fácil, você deve abrir seu inventário com @@ ou clicar em @@, no canto superior direito.
+
+Er, nevermind, I've thought of something to give you. You can go off now and get what I need.
+Er, deixa pra lá, eu pensei em algo para te dar. Você pode sair agora e conseguir o que eu preciso.
+
+Er, uhm, hi!
+Er, uhm, oi!
+
+Erik
+Erik
+
+Erlan
+
+
+Erm, for certain... reasons... I cannot help you right now!
+
+
+Erm... Good bye.
+Erm ... adeus.
+
+Erm... I don't have a recipe book.
+Erm ... eu não tenho um livro de receitas.
+
+Erm... I don't know my parents.
+Eu não conheço meus pais.
+
+Erm... You're right.
+Erm ... Você está certo.
+
+Error
+Erro
+
+Error, cheater detected
+Erro, trapaceiro detectado
+
+Error, contact Jesusalva! Missing warp. Healing & Reseting temporaly.
+Erro, entre em contato com Jesusalva! Obras perdidas Cura e restauração temporária.
+
+Error, error, L_T3_S0 General Error, REPORT ME
+Erro, erro, L_T3_S0 Erro geral, o relatório ME
+
+Error, invalid return code, blame Saulc
+Erro, código de retorno inválido, culpa Saulc
+
+Estard
+Estard
+
+Eugene
+Eugene
+
+Eugene bows politely, but he thinks he can use more.
+
+
+Eurni
+
+
+Evasion +20
+
+
+Even after breaking the first layer, a second layer keeps active. The first layer gets back to work shortly after. What have I missed or forgotten to do?
+Mesmo depois de quebrar a primeira camada, uma segunda camada continua ativa. A primeira camada volta a funcionar pouco depois. O que eu perdi ou esqueci de fazer?
+
+Even if the city has not been attacked on the last few years, I can't help but be concerned while the kids are playing hide and seek.
+Mesmo que a cidade não tenha sido atacada nos últimos anos, não posso deixar de ficar preocupado enquanto as crianças brincam de esconde-esconde.
+
+Even if they recover their strength, because the connection was severed, the barrier will not power up again.
+Mesmo que eles recuperar sua força, porque a conexão foi cortada, a barreira não vai ligar novamente.
+
+Even if you drink alone, you'll still receive the EXP bonus marked on the item description.
+Mesmo se você beber sozinho, você ainda vai receber o bônus EXP marcado na descrição do item.
+
+Even the mighty Andrei Sakar could only barely escape alive. The Monster King was too strong.
+Mesmo o poderoso Andrei Sakar mal conseguia escapar vivo. O Rei Monstro era muito forte.
+
+Event Canceled
+Evento cancelado
+
+Event Details
+detalhes do evento
+
+Event Horizon Card
+Cartão Event Horizon
+
+Event Information
+Informações sobre o evento
+
+Event Management
+Gestão de Eventos
+
+Event News
+evento Histórico Mundial
+
+Event Ranking Rewards
+Recompensas Ranking de eventos
+
+Event management
+Gestão de eventos
+
+Event score: %d -> %d
+pontuação do evento:% d ->% d
+
+Event weapons and cards will be deleted once event ends.
+armas de eventos e cartões serão eliminados uma vez terminado o evento.
+
+Event will start in @@
+O evento começará em @@
+
+Everburn Powder
+Everburn Powder
+
+Every %d sequences, you'll get a %s!
+
+
+Every 1 hour
+A cada 1 hora
+
+Every 101 successive right guesses, you'll get a @@!
+Cada 101 palpites sucessivos certos, você receberá um @@!
+
+Every 12 hours
+A cada 12 horas
+
+Every 24 hours
+A cada 24 horas
+
+Every 3 hours
+A cada 3 horas
+
+Every 5 hours
+A cada 5 horas
+
+Every 6 hours
+A cada 6 horas
+
+Every bot says that.
+Cada bot diz isso.
+
+Every day you login, you'll be able to spin a card.
+Todos os dias você entra, você vai ser capaz de girar um cartão.
+
+Every day, they disappear and a new one shows up on its place.
+
+
+Every fifteen successive right guesses, you'll get a @@!
+A cada quinze palpites de direita sucessivos, você receberá um @@!
+
+Every fifty successive right guesses, you'll get a @@!
+Cada cinquenta tentativas sucessivas certas, você receberá um @@!
+
+Every once in a while, but I guess this is not common on your world, am I right.
+
+
+Every seven successive right guesses, you'll get a %s!
+A cada sete palpites certos sucessivas, você vai ter um% s!
+
+Everyone commit mistakes and Oskari was very understanding. I need to do some questions about the incident though.
+Todos cometem erros e Oskari foi muito compreensivo. Eu preciso fazer algumas perguntas sobre o incidente embora.
+
+Everyone loves the Land of Fire, it is impossible to not love it.
+Todo mundo ama a Terra do Fogo, é impossível não amá-lo.
+
+Everything in order.
+
+
+Evil Bullet
+
+
+Evil Chest
+Baú Maligno
+
+Evil Mushroom
+Cogumelo Maligno
+
+Evil Scythe
+Foice Mau
+
+Evil Wisp
+Wisp Maligno
+
+Evil worms crawl from earth and starts devouring the plants!
+Os vermes maus rastejam da terra e começam a devorar as plantas!
+
+Evolve a card
+
+
+Evolve mercenaries
+mercenários Evolve
+
+Examine the Mouboo
+Examine o Mouboo
+
+Example:
+Exemplo:
+
+Example: @translate Elmo
+Exemplo: @translate elmo
+
+Example: @translate Nard
+Exemplo: @translate nardo
+
+Example: @translate npc/002-1/arpan
+Exemplo: @translate NPC / 002-1 / arpan
+
+Example: Give the answer for the following: one+1
+Exemplo: Submeter a resposta para o seguinte: um + 1
+
+Excellent! Let me see...
+Excelente! Deixe-me ver...
+
+Excellent! This is exactly what I need. Thanks a lot. I'll tell Nikolai about your generosity.
+Excelente! Isso é exatamente o que eu preciso. Muito obrigado. Vou contar a Nikolai sobre sua generosidade.
+
+Except they're not. I'll be back later.
+Exceto eles não são. Voltarei mais tarde.
+
+Exchange Gempowder for Quill
+Troca Gempowder para Quill
+
+Exchange the item with Leona?
+Troque o item com Leona?
+
+Excuse me.
+Com licença.
+
+Excuse me? Do you know who I am?#0
+Com licença? Você sabe quem eu sou?
+
+Excuse me? Do you know who I am?#1
+Com licença? Você sabe quem eu sou?
+
+Exile a player
+Exile um jogador
+
+Exiled players will not be able to save to menhir.
+jogadores exilados não será capaz de salvar a menir.
+
+Exit
+
+
+Exp rate has been reset to @@% (default value).
+A taxa de experiência foi redefinida para @@% (valor padrão).
+
+Exp rate is set to @@% for the next @@.
+A taxa de experiência está definida como @@% pelos próximos @@.
+
+Experience can be gained by completing quests and killing monsters. When you accumulate enough experience, you'll level up!
+A experiência pode ser obtida completando missões e matando monstros. Quando você acumular experiência suficiente, você vai subir de nível!
+
+Experience.
+Experiência.
+
+Expert Dungeon (Lv 100+)
+Calabouço Especialista (Lv 100+)
+
+Expire rent time
+Expirar tempo de aluguel
+
+Explain briefly about mercenaries... I mean, we have a Mercenaries section on @tutorial right?
+Explique brevemente sobre mercenários ... Quero dizer, nós temos uma seção Mercenaries à direita @tutorial?
+
+Explosive ARROW
+Flecha explosiva
+
+Explosive Arrow
+Flecha explosiva
+
+Explosive Gunstaff
+Gunstaff Explosivo
+
+Eyes grows!
+Olhos crescem!
+
+Ezra
+Ezra
+
+F2
+F2
+
+F3
+F3
+
+FIGHT!
+LUTA!
+
+FINAL BOSS FIGHT - WATCH OUT!
+FINAL BOSS FIGHT - Cuidado!
+
+FINAL WARNING: Do not spend unecessary time on Soren's House, you'll be disconnected!!
+AVISO FINAL: Não perca tempo desnecessário na Casa de Soren, você será desconectado !!
+
+Fafi Dragon
+Dragão Fafi
+
+Fafi Mask
+Fafi Mask
+
+Failed to warp to Soren Village.
+Não conseguiu deformar para Soren Village.
+
+Failing all else, you can stay at the Magic Council getting experience for sitting. Hopefully you'll gain a level and this will help you a bit.
+Na falta de tudo, você pode ficar no Conselho Magia ganhar experiência para se sentar. Esperamos que você vai ganhar um nível e isso vai ajudá-lo um pouco.
+
+Failure to respond to other players and/or GMs in a timely manner will be viewed as unacceptable AFK botting. And you'll spend a night in the jail.
+Não responder a outros jogadores e / ou GMs em tempo hábil será visto como inaceitável AFK botting. E você passará uma noite na cadeia.
+
+Fair Person
+Pessoa justa
+
+Fairies usually behaves well, but they hate snakes, so avoid casting halhiss and fairy kingdom at once. You never know.
+Fadas geralmente se comportam bem, mas elas odeiam cobras, então evite lançar halhiss e reino das fadas de uma só vez. Nunca se sabe.
+
+Fairy's Squirrel
+Esquilo da fada
+
+Fake Manastone
+
+
+Falkon Card
+Cartão Falkon
+
+Falkon Strike
+Falkon greve
+
+Falkrun
+
+
+Fallen King
+Rei Caído
+
+Falling means certain death.
+Cair significa morte certa.
+
+Fancy Hat
+Chapéu Extravagante
+
+Far over, the misty Nivalis cold ♪
+
+
+Farewell, until the next time. Shall we met again, and may the light guide our paths.
+Adeus, até a próxima vez. Deve nos encontramos de novo, e pode a luz guiar nossos caminhos.
+
+Farewell.
+Até mais.
+
+Faris
+Faris
+
+Farm there and get the best experience value!
+Farm lá e obter o melhor valor experiência!
+
+Farmer Hat
+Chapéu de fazendeiro
+
+Farmer Pants
+Calças De Fazendeiro
+
+Fate's Potion
+Poção de Fate
+
+Fates Potion
+Poção do Destino
+
+Fear
+Medo
+
+Fear not! You can check our [@@https://wiki.moubootaurlegends.org|Wiki@@] to find that and other awesome stuff!
+
+
+Feel free to collect honey from the hives. Remember to bottle them before picking up... You can use the discardable bottles I keep near them for that.
+
+
+Feel free to come visit me another time.
+Sinta-se à vontade para me visitar outra vez.
+
+Feel free to try again whenever.
+
+
+Feeling lucky?
+Sentindo-se sortudo?
+
+Fefe's Diary
+
+
+Female
+Fêmea
+
+Fertilized Spores
+Esporos Fertilizados
+
+Figures she would be involved. What did she say?
+
+
+Fill Water Bottles
+Encha garrafas de água
+
+Fill with what?
+Preencha com o que?
+
+Final: @@, @@
+Final: @@, @@
+
+Find it, spin it, and be bestowed in golden rewards!
+Encontrá-lo, girá-lo e ser agraciado em recompensas de ouro!
+
+Find yourself a nice dry spot on a coast where you can easily reach into deep water.
+Encontre-se um bom local seco em uma costa onde você pode chegar facilmente em águas profundas.
+
+Fine.
+Certo.
+
+Finish
+Terminar
+
+Fire Arrow
+Flecha de fogo
+
+Fire Breath Inn
+Respiração do fogo Inn
+
+Fire Element
+Elemento de Fogo
+
+Fire Fairy
+Fada do fogo
+
+Fire Goblin
+Goblin de Fogo
+
+Fire Scroll
+Pergaminho de Fogo
+
+Fire Skull
+Caveira de fogo
+
+Fire Staffs Recipes
+Receitas das equipes de bombeiros
+
+Fire Staves
+Cajados de fogo
+
+Firearms? What would that be? @@
+Armas de fogo? O que seria aquilo? @@
+
+Fireball
+Bola fogo
+
+Fireball Card
+Cartão Fireball
+
+Fireplace#Saggy
+Churrasqueira#Saggy
+
+Firewalk
+Firewalk
+
+First - item must be equipped.
+Primeiro - o item deve estar equipado.
+
+First Aid
+Primeiros socorros
+
+First Dungeon Master
+Primeiro Mestre de Masmorras
+
+First Grand Hunter challenge cleared %s ago
+
+
+First Tier
+Primeiro nível
+
+First and foremost, you should get yourself some reputation. I mean, right now, you are a complete nobody who was found on the sea.
+Em primeiro lugar, você deve obter-se alguma reputação. Quer dizer, agora, você é um ninguém completa que foi encontrado no mar.
+
+First of all: Welcome! Your level was temporaly modified, it'll be reverted once event is over.
+Primeiro de tudo: Welcome! Seu nível foi temporalmente modificado, vai ser revertido uma vez evento é longo.
+
+First of, there's a day/night cycle on the game.
+Primeiro, há um ciclo dia/noite no jogo.
+
+First reborn %s ago
+
+
+First thing is to get a @@. One from black market won't do, go to Halinarzo!
+A primeira coisa é conseguir um @@. Um do mercado negro não vai, vá para Halinarzo!
+
+First timers will be lead to somewhere random on this cave to keep intruders out. Just walk there again while all switches are still active.
+Os novatos serão levados a algum lugar aleatório nesta caverna para manter os invasores fora. Basta caminhar até lá novamente, enquanto todos os switches ainda estão ativos.
+
+First visit to Fortress Is. %s ago
+
+
+First, %s is the Guardian of Law and Order. He ensures all rules are followed, and if anything breaks them, he erases their existence.
+
+
+First, you need to contribute to the common knowledge of this world. Like, write a %s, guide new players or something.
+
+
+Fish Box
+Caixa de peixe
+
+Fisherman
+Pescador
+
+Fisherman/Fisherwoman
+Pescador / Fisherwoman
+
+Fishing
+pescaria
+
+Fishing Guide Vol. I
+Guia de Pesca Vol. I
+
+Fishing Rod
+Vara de pesca
+
+Fishing bait:
+
+
+Fishing is a boring task. Throw the bait, wait for fish to bite. Pull before it is too late. Then sell the fish for money.
+A pesca é uma tarefa chata. Jogar a isca, aguarde peixe morda o isco. Puxe antes que seja tarde demais. Em seguida, vender o peixe para o dinheiro.
+
+Fishing next to shallow water is not going to work well, because fishes seldom go there.
+Pescar próximo a águas rasas não vai funcionar bem, porque os peixes raramente vão para lá.
+
+Five powerful consecutive brawn attacks.
+
+
+Fixing Crystals have a price. You can only charge crystals to places you've already been.
+Fixing Crystals tem um preço. Você só pode carregar cristais em lugares que você já esteve.
+
+Flight Talisman
+Talismã de Voo
+
+Floors cannot be re-visited, and rewards increase at each floor.
+
+
+Fluffy
+Tufo
+
+Fluffy Animals who Love Their Owners
+Animais Fofos que Amam Seus Donos
+
+Fluffy Egg
+Fluffy Egg
+
+Fluffy Hat
+Chapéu fofo
+
+Fluffy Hunter Challenge
+
+
+Fluo Powder
+Fluo Em Pó
+
+Following these lines are some other writings on this paper.
+Seguindo estas linhas, há alguns outros escritos neste artigo.
+
+Food is, and should always be, in demand.
+Comida é, e deve sempre ser objecto de procura.
+
+Food:
+
+
+Foolish kid, thinking they can fool me, Henry S., from all the people...!
+
+
+Foolish kids, do you think violence is the answer to everything?!
+Crianças tolas, você acha que a violência é a resposta para tudo ?!
+
+Foolish mortal, who doesn't knows what you are doing!
+mortal, insensato, que não sabe o que está fazendo!
+
+Footwear Recipes
+
+
+For %d GP I'll teach you, do we have a deal?
+
+
+For (another) one @@, I'll need 3~4 @@ and 50 GP.
+Para (outro) um @@, precisarei de 3 ~ 4 @@ e 50 GP.
+
+For HLib, a GM must take the role of the Monster King
+Para o HLib, um GM deve assumir o papel de Rei dos Monstros
+
+For a long time, towns on the distant continent of Kolev have been supporting humans here.
+
+
+For a moment you wonder if Celestia might have gotten confused and tossed in a handful of forest dirt into the teapot.
+Por um momento você se pergunta se Celestia poderia ter ficado confusa e jogado um punhado de sujeira da floresta no bule.
+
+For all his great deeds, and thousands of lives he saved, this statue is in his honor.
+Por todos os seus grandes feitos e milhares de vidas que ele salvou, esta estátua é em sua honra.
+
+For all the feedback, you know
+Por todo o feedback, você sabe
+
+For cowardingly killing in a "secure" area, you will be severely punished.
+
+
+For defeating the Monster King, you've got the Legendary @@.
+Para derrotar o monstro King, você tem o @@ Legendary.
+
+For defending Hurnscald alone and saving all its inhabitants.
+Por defender Hurnscald sozinho e salvar todos os seus habitantes.
+
+For example, translations do not count. Wiki articles count.
+
+
+For example, when an item is dropped to the ground, it rots away and disappear. It cannot be recovered. If an item were to break such rule, Mr. Saves would intervene.
+
+
+For extreme power they hold.
+
+
+For fighting against the Monster King once and getting out alive to tell the story.
+Por lutar contra o Rei Monstro uma vez e sair vivo para contar a história.
+
+For finding an Easter Egg, you got Strange Coins!
+Para encontrar um ovo de Páscoa, você tem moedas estranhas!
+
+For now do not take too much time to work on your intelligence, after all, almost nobody have magic this day.
+Por enquanto não demore muito tempo para trabalhar em sua inteligência, afinal, quase ninguém tem magia neste dia.
+
+For now, eat this. It'll improve your condition... for now. I don't know where you'll find a time travelling device, but if you find one, come to me. I'll help you.
+
+
+For now, please accept this @@ as my gratitude.
+Por enquanto, por favor aceite este @@ como minha gratidão.
+
+For now, take this @@. I hope that you will use this power for something good now.
+Por enquanto, leve isso @@. Espero que você use esse poder para algo bom agora.
+
+For now, yes. But you will have to prove that you really care about more than yourself.
+Por enquanto, sim. Mas você terá que provar que realmente se importa mais com você mesmo.
+
+For only 100 GP, you can sleep on the beds of the Land Of Fire.
+Por apenas 100 GP, você pode dormir nas camas da Terra do Fogo.
+
+For only @@ GP, I'll decrypt any ancient text file you have. Or you can learn how to read that yourself, for @@ GP.
+Por apenas @@ GP, vou descriptografar qualquer arquivo de texto antigo que você tenha. Ou você pode aprender a ler você mesmo, por @@ GP.
+
+For only a small amount of Gold Pieces, I will show you how it works!
+Por apenas uma pequena quantidade de peças de ouro, vou mostrar como funciona!
+
+For short, they had a fight with curses, and now there's a talking statue over his grave which can spawn monsters here.
+Resumindo, eles tiveram uma briga com maldições, e agora há uma estátua falante sobre seu túmulo que pode gerar monstros aqui.
+
+For short, you would have lost all your items, wouldn't get anything, and there would be no refunds.
+Para resumir, você teria perdido todos os seus itens, não receberia nada e não haveria nenhum reembolso.
+
+For simple-minded individuals like you, pixies are fairies.
+Para os indivíduos de mente simples como você, duendes são fadas.
+
+For sure the chef of Nard's ship could spare you a pair of gloves.
+Com certeza o chef do navio Nard poderia dar-lhe um par de luvas.
+
+For that, I need to light five torches. The pentagram, the magic, and all the else are with me. Just light the torches.
+Para isso, preciso acender cinco tochas. O pentagrama, a magia e tudo mais estão comigo. Apenas acenda as tochas.
+
+For that, I use a special currency - Aethyr points. You can trade rare items for points. I also sell one point for %d GP. So, what will it me?
+
+
+For that, I'll need @@/@@ @@.
+Para isso, vou precisar de @@ / @@ @@.
+
+For the @@, I'll need 5 ##Bhigh-quality##b @@, and @@ GP for work fee!
+
+
+For the first place in Easter, you gained a Bhopper Fluffy.
+Para o primeiro lugar na Páscoa, você ganhou um Bhopper Fluffy.
+
+For the higher titles, you'll need vouch of multiple people. You can vouch for anyone below your rank with %s but never for someone of same or higher rank.
+
+
+For the mouboo? I was only doing my duty.
+Para o mouboo? Eu estava apenas cumprindo meu dever.
+
+For the rescue? You didn't seemed to be in need of aid.
+Para o resgate? Você não parecia estar precisando de ajuda.
+
+For their weapons has a will on them.
+
+
+For this @@, I offer you @@ GP.
+Para este @@, ofereço-lhe @@ GP.
+
+For this @@, I offer you a(n) @@.
+Para este @@, ofereço-lhe um (n) @@.
+
+For this training, I need @@, not the usual arrow you use.
+Para este treinamento, eu preciso de @@, não a seta usual que você usa.
+
+For which player do you wish to pray?
+
+
+For you, boring person like me, It'll cost the small amount of:
+Para você, pessoa chata como eu, vai custar a pequena quantidade de:
+
+For you, it will be only 50 GP for potion! But I need the base ingredients, four @@ - or @@, depends on which one.
+Para você, será apenas 50 GP a poção! Mas eu preciso dos ingredientes de base, quatro @@ - ou @@, dependendo do que você quer.
+
+For you, it'll be @@ GP.
+Para você, será @@ GP.
+
+For your incredibly hard work, you got:
+Para o seu trabalho incrivelmente difícil, você tem:
+
+For yourself can obtain tandem!
+
+
+Forain
+Sasquatch
+
+Forest Armor
+Armadura da Floresta
+
+Forest Bow
+Arco da Floresta
+
+Forest Gloves
+Luvas da Floresta
+
+Forest Mushroom
+Cogumelo da floresta
+
+Forest Piou
+floresta Piou
+
+Forest Piou Feathers
+Penas de floresta Piou
+
+Forest Shroom Egg
+Ovo de floresta Shroom
+
+Forest Shroom Hat
+Chapéu floresta shroom
+
+Forgotten Chamber
+esquecido Câmara
+
+Form the strongest party and win! Remember that if you don't kill the boss, you'll never win!
+Forme a festa mais forte e vença! Lembre-se que, se você não matar o chefe, nunca vencerá!
+
+Form your party and rescue Luvia Gemini from Isbamuth!
+
+
+Fortiun
+Fortiun
+
+Fortress Gate
+fortaleza Portão
+
+Fortress Island
+fortaleza Ilha
+
+Fortress Statue
+Estátua fortaleza
+
+Fortress Town
+
+
+Fortress Town is connected to the prophecies of the death of all humans, wildlife, and the other lesser races.
+
+
+Fortunately, we know the answer is...
+
+
+Fortune Statue
+Estátua da fortuna
+
+Fountain#Hurns
+Fonte#Hurns
+
+Four Leaf
+Quatro Folhas
+
+Four Leaf Clover
+Trevo-de-quatro-folhas
+
+Four minutes after the warp, or when the last maggot die, it'll be over.
+Quatro minutos depois da deformação, ou quando o último verme morrer, tudo acabará.
+
+France: [@@https://dondesang.efs.sante.fr/|https://dondesang.efs.sante.fr/@@]
+França: [@@https://dondesang.efs.sante.fr/|https://dondesang.efs.sante.fr/@@]
+
+Free Cast
+Elenco livre
+
+Freeze
+Congelar
+
+Friend Gift
+Amigo presente
+
+Friend of the Fairies
+
+
+Friendly SP Regeneration
+Amigável SP Regeneração
+
+Friendship's Strength Challenge
+
+
+From magical gates to ancient time-space technology - we know it all!
+De portais mágicos a antigas tecnologias de tempo e espaço - sabemos tudo!
+
+From the smell I can see you found the bug bomb!
+Do cheiro eu posso ver que você encontrou a bomba!
+
+From the time you come from, the Moubootaur has escaped its chains.
+
+
+Frost Diver
+geada Diver
+
+Frost Nova
+frost Nova
+
+Frostia
+Frostia
+
+Frostia (@@m)
+Frostia (@@ m)
+
+Frostia - @@ GP
+Frostia - @@ GP
+
+Frostia Guard
+Guarda Frostia
+
+Frostia Office
+Escritório Frostia
+
+Frostia Townhall
+Frostia Townhall
+
+Frostia Warp Crystal
+Frostia Warp Crystal
+
+Frostia and Halinarzo are now on a spar!
+Frostia e Halinarzo estão agora em um spar!
+
+Frostia is a *hic* town way way north of here. They *hic* hate humans, so... Good luck?
+Frostia é uma cidade * hic * bem ao norte daqui. Eles odeiam humanos, então ... Boa sorte?
+
+Frostia is the only city known that was not founded by humans.
+Frostia é a única cidade conhecida que não foi fundada por humanos.
+
+Frostia's Nurse
+Enfermeira de Frostia
+
+Frozen Squirrel
+Esquilo congelado
+
+Frozen Yeti Tear
+Lágrima de Yeti Congelada
+
+Frozenbeard
+Barba Congelada
+
+Fruits - @@ coins
+Frutas - @@ moedas
+
+Full Power Card
+Cartão Full Power
+
+Full Throttle
+full Throttle
+
+Full of agrotoxins, transgenics and whatever. Not safe.
+Cheio de agrotóxicos, transgênicos e tudo. Não é seguro.
+
+Fungus
+Fungo
+
+Funky Hat
+Chapéu Funky
+
+Fur Boots
+Botas De Pele
+
+Furniture Menu
+Menu de Móveis
+
+Furthermore, if you don't have enough mana, it'll hurt you until you die.
+
+
+Fuschia Dye
+Fuschia Dye
+
+Fusus
+Fusus
+
+Futurely, Mylarin Dust and a Sunny Crystal will also be available.
+
+
+GAAAAAAAAAAAAAAAAHHHHHHH!
+GAAAAAAAAAAAAAAAAHHHHHHH!
+
+GAME SETTINGS
+CONFIGURAÇÕES DO JOGO
+
+GET OUT OF HERE, YOUR NOBODY!
+SAIA DAQUI, SEU NINGUÉM!
+
+GM Alchemy Table
+Tabela de Alquimia GM
+
+GM Black Smithy
+Ferreiro Preto GM
+
+GM Cap
+Boné GM
+
+GM Gift Box
+Caixa de Presente GM
+
+GM Robe
+Robe GM
+
+GMs are NOT allowed on Hurnscald Liberation day.
+Os GMs NÃO são permitidos no dia de Hurnscald Liberation.
+
+GO! Run, %s, RUN!!!!
+
+
+GP
+GP
+
+GP: %d + %d
+GP:% d +% d
+
+GUARDS! GET THEM!
+Guardas! PEGUE ELES!
+
+Gaelira
+
+
+Gaia Break
+
+
+Gain: %d RP/min
+Ganho:% d RP / min
+
+Gained 20000 XP and 2500 GP
+Ganhou 20.000 XP e 2500 GP
+
+Gained 2500 XP and 250 GP
+Ganhou 2500 XP e 250 GP
+
+Gained 5000 XP
+Ganhou 5000 XP
+
+Gained 7500 XP and 1250 GP
+Ganhou 7500 XP e 1250 GP
+
+Gained @@ points.
+Ganhou @@ pontos.
+
+Gale, not good to fly.
+Gale, não é bom para voar.
+
+Galimatia
+
+
+Gambler Master
+gambler Mestre
+
+Gambler#017-3
+
+
+Gambler#020-4
+Apostador#020-4
+
+Gambling Xan
+Jogo Xan
+
+Gambling is for the weak, I offer you a true game!
+
+
+Gamboge Herb
+Gamboge Herb
+
+Gamboge Plant
+Planta de Gamboge
+
+Game Master
+Mestre do jogo
+
+Game Mistress
+jogo Mistress
+
+Game News
+Notícias do Jogo
+
+Game Rules were updated!
+Regras do jogo foram atualizadas!
+
+Game Settings
+Configurações do jogo
+
+Game Statistics
+jogo Estatísticas
+
+Gem powder
+Pó de gema
+
+Gemini Season
+
+
+Gender
+Gênero
+
+General Boosts
+
+
+General Information
+
+
+General Krukan
+geral Krukan
+
+General Razha
+geral Razha
+
+General Store#dimond
+
+
+General Terogan
+geral Terogan
+
+General Terogan : DEAD! Muahahahaha!
+Geral Terogan: MORTOS! Muahahahaha!
+
+Generic items are used for different purposes. In creating other items, to swap and sell, to collect, etc.
+Itens genéricos são usados ​​para finalidades diferentes. Na criação de outros itens, para trocar e vender, para coletar, etc.
+
+George
+George
+
+George the Pirate
+George o pirata
+
+Get Rekt Noob.
+Obter Rekt Noob.
+
+Get out of here! Before I call the city guard!!
+Saia daqui! Antes que eu chame a guarda da cidade !!
+
+Get out of here, weakling. You'll be killed by bandits.#0
+Saia daqui, fraco. Você será morto por bandidos.
+
+Get out of here, weakling. You'll be killed by bandits.#1
+Saia daqui, fraco. Você será morto por bandidos.
+
+Getting Money
+Conseguir dinheiro
+
+Getting ranked #1 in a challenge yields you 10 points, getting ranked #2 yields you 9 points and so on.
+
+
+Getting there is tricky, so listen carefully to the instructions:
+Chegar lá é complicado, então ouça atentamente as instruções:
+
+Ggrmm... Grmmmm...
+Ggrmm ... Grmmmm ...
+
+Ghada
+Ghada
+
+Giant Cave Maggot
+Larva da Caverna Gigante
+
+Giant Maggot
+Verme Gigante
+
+Giant Maggots are worth 1 point, Snakes are worth 5 points and Black Scorpions are worth 10 points. The ones in caves doesn't count. Bring me 300 points. Good luck!
+As larvas gigantes valem 1 ponto, as cobras valem 5 pontos e os escorpiões pretos valem 10 pontos. Os que estão nas cavernas não contam. Traga-me 300 pontos. Boa sorte!
+
+Giant Mutated Bat
+Morcego Gigante Mutado
+
+Gift Fanatic
+Fanático Presente
+
+Gimme a second... Yes, you seem to be fine now, very well, congratulations!
+
+
+Ginger Bread Man
+Homem de pão de gengibre
+
+Give Up
+Desistir
+
+Give a @@ to the Mouboo?
+Dê um @@ ao Mouboo?
+
+Give her the materials she asked for?
+Dê-lhe os materiais que ela pediu?
+
+Give him an item
+
+
+Give him the materials he asked for?
+Dê-lhe os materiais que ele pediu?
+
+Give it time, increase your magic power, and you'll find out the truth.
+Dê tempo, aumente seu poder mágico e você descobrirá a verdade.
+
+Give me %s cards of the same type, and I'll give you one card of a higher rarity. There is no cost, but the card is random.
+
+
+Give me %s copies of the same card and %s GP, and I'll improve its tier.
+
+
+Give me a card and select another card of same class. I charge %d GP for simple exchanges.
+
+
+Give me a second to look over your paperwork.
+Me dê um segundo para examinar sua papelada.
+
+Give me back what you stole, thief!
+
+
+Give me some space.
+Me dê um pouco de espaço.
+
+Give players 10 minutes
+Dê aos jogadores 10 minutos
+
+Give players 15 minutes
+Dê aos jogadores 15 minutos
+
+Give players 20 minutes
+Dê aos jogadores 20 minutos
+
+Give players 25 minutes
+Dê aos jogadores 25 minutos
+
+Give players 30 minutes
+Dê aos jogadores 30 minutos
+
+Give players 5 minutes
+Dê aos jogadores 5 minutos
+
+Give that to whoever needs them, and see if it works. Then come tell me the result. Do you have the reagents?
+Dê isso a quem precisa e veja se funciona. Então vem me dizer o resultado. Você tem os reagentes?
+
+Give the Antenna and the GP to her?
+Dê a Antena e o GP para ela?
+
+Give up!
+Desistir!
+
+Give your pet a nice name, and keep it healthy, and you'll be a successful pet owner!
+Dê ao seu animal um bom nome e mantenha-o saudável, e você será um bem-sucedido dono de animal de estimação!
+
+Glad the Monster King avoid the seas, arr!
+
+
+Glad to hear. I swear, the fish I picked before you arrive was THAT big!
+Fico feliz em ouvir. Eu juro, o peixe que eu escolhi antes de você chegar foi TÃO grande!
+
+Gladiator
+
+
+Gladys
+Gladys
+
+Gloves
+Luvas
+
+Gloves Recipes
+luvas Recipes
+
+Go and fetch @@, the party leader!
+Vá e busque @@, o líder do grupo!
+
+Go and follow @@, your party leader!
+Vá e siga @@, o líder do seu grupo!
+
+Go and talk to it.
+Vá e fale com isso.
+
+Go away creep, I HATE YOU!
+
+
+Go away, I am too magical for you. %%n
+Vá embora, eu sou muito mágico para você. %%n
+
+Go away, kid! Let me pray in peace!
+Vá embora garoto! Deixe-me orar em paz!
+
+Go away,%s can't you see I'm busy?
+
+
+Go away.
+Vá embora.
+
+Go back
+Volte
+
+Go back to Rosen!
+Volte para Rosen!
+
+Go do what I told you to do and examine the house thoroughly!
+Vá fazer o que eu lhe disse para fazer e examine a casa completamente!
+
+Go fly a kite.
+Vá empinar pipa.
+
+Go home now?
+Vá para casa agora?
+
+Go kill the Bandit Lord!
+Vá matar o Lorde Bandido!
+
+Go kill the maggots!
+Vá matar os vermes!
+
+Go kill them!!
+Vá matá-los !!
+
+Go now, with the blessing of ducks. There may come a time when we require your aid once again, O %s.
+Vá agora, com a bênção de patos. Pode chegar um momento em que exigem a sua ajuda mais uma vez, O% s.
+
+Go see someone else for now. Yes, you need level to take most tasks available on the world!
+Vá ver outra pessoa por agora. Sim, você precisa de nível para executar a maioria das tarefas disponíveis no mundo!
+
+Go talk to Sagratha, she is usually in a hut in northen forest. The door have a magic barrier, so you'll need to have minimal magic skills to get close enough to open it.
+Vá falar com Sagrada, ela geralmente está em uma cabana na floresta do norte. A porta tem uma barreira mágica, então você precisa ter habilidades mágicas mínimas para chegar perto o suficiente para abri-la.
+
+Go through the waterfall path.
+
+
+Go to the townhall there and show the mayor this other letter.
+Vá para o townhall lá e mostrar o prefeito esta outra carta.
+
+Go very close to it and, speak the four four-letters magic words, pour some @@, and he'll appear to you.
+Vá muito perto e fale as quatro palavras mágicas de quatro letras, despeje um pouco @@, e ele aparecerá para você.
+
+Goal: @@/@@ reached!
+Meta atingida!
+
+Goal: Survive the longest possible.
+
+
+Gobo Bear
+Urso Gobo
+
+God bless you! You have saved me from sweltering!
+Deus te abençoê! Você me salvou de sufocante!
+
+Going to World Edge? Never heard of.
+Indo para o World Edge? Nunca ouvi falar.
+
+Golbarez
+Golbarez
+
+Gold Fish
+gold Fish
+
+Gold Ingot
+Lingote de ouro
+
+Gold Medal
+Medalha de ouro
+
+Gold Ore
+Minério de ouro
+
+Gold Ore -> Silver Ore
+Ouro Ore -> Silver Ore
+
+Gold Pieces
+Peças de ouro
+
+Golden Apple
+Maçã Dourada
+
+Golden Armbands
+Braçadeiras de Ouro
+
+Golden Black Pearl Ring
+Anel Dourado de Pérola Negra
+
+Golden Boss Gift
+Presente dourado chefe
+
+Golden Chainmail
+Cota de Malha Dourada
+
+Golden Chest
+Baú de Ouro
+
+Golden Easteregg
+Ovo de Páscoa dourado
+
+Golden Eggs are used for the grand collector prize. Ah, I love Easter! I loooooooove it!
+Golden Eggs é usado para o grande prêmio de colecionador. Ah, eu amo a páscoa! Eu loooooooove isso!
+
+Golden Four-Leaf Amulet
+Amuleto Dourado de Quatro Folhas
+
+Golden Gift
+Presente de ouro
+
+Golden Light Platemail
+Chapa de Luz Dourada
+
+Golden Pearl Ring
+Anel de Pérola Dourada
+
+Golden Ring
+Anel de ouro
+
+Golden Scorpion
+Escorpião Dourado
+
+Golden Scorpion Claw
+Garra Escorpião Dourada
+
+Golden Scorpion Claw -> Black Scorpion Claw
+Ouro Scorpion Claw -> Black Scorpion Garra
+
+Golden Warlord
+
+
+Golden Warlord Plate
+Armadura do Senhor da Guerra Dourada
+
+Golem
+Golem
+
+Gonzo Dark Card
+Cartão escuro de Gonzo
+
+GonzoDark Sponsor
+Patrocinador GonzoDark
+
+Good %s, %s. The council is not in session right now.
+
+
+Good %s. Would you like to sleep here? It's only %d GP!
+Boa% s. Gostaria de dormir aqui? É somente% d GP!
+
+Good @@. My name is @@ and I make @@.
+Bom @@. Meu nome é @@ e eu faço @@.
+
+Good bye my friend, and safe travels!#0
+Adeus meu amigo e viagens seguras! # 0
+
+Good bye my friend, and safe travels!#1
+Adeus meu amigo e viagens seguras!
+
+Good bye!
+Adeus!
+
+Good bye, darling!
+Adeus, querido(a)!
+
+Good bye, sir.
+Adeus senhor.
+
+Good bye.
+Adeus.
+
+Good choice! This year we're having a @@!
+Boa escolha! Este ano vamos ter um @@!
+
+Good day sir.#1
+Bom dia, senhor.
+
+Good job collecting the monster points for me. Here's your reward.
+Bom trabalho colecionando os pontos monstruosos para mim. Aqui está sua recompensa.
+
+Good job!
+Bom trabalho!
+
+Good job! Here is your reward!
+Bom trabalho! Aqui está sua recompensa!
+
+Good job! I wish you luck, because now you need to SWIM!
+Bom trabalho! Desejo-lhe boa sorte, porque agora você precisa nadar!
+
+Good job, kid. You've survived both the Cave Of Trials and Soren's Village.
+Bom trabalho, garoto. Você sobreviveu tanto à Cave Of Trials quanto à Vila de Soren.
+
+Good job, man!
+Bom trabalho cara!
+
+Good job, you already killed over 100! Hahah, that sure teach them a lesson!
+Bom trabalho, você já matou mais de 100! Hahah, isso certamente lhes ensinará uma lição!
+
+Good job, you've killed the %d %s and reported back in time!
+
+
+Good job, you've killed the @@ @@ and reported back in time!
+Bom trabalho, você matou o @@ @@ e relatou de volta no tempo!
+
+Good job.
+Bom trabalho.
+
+Good job... Here is your reward...
+Bom trabalho... Aqui está sua recompensa...
+
+Good job... You can keep the drops. Touch here to return home.
+Bom trabalho ... Você pode manter as gotas. Toque aqui para voltar para casa.
+
+Good luck arresting the criminal!
+Boa sorte prender o criminoso!
+
+Good luck getting the fertilizer from Eomie! Many elves simply refuse to cooperate until it affects them directly.
+Boa sorte recebendo o fertilizante da Eomie! Muitos elfos simplesmente se recusam a cooperar até que isso os afete diretamente.
+
+Good luck hunting down the Monster King.
+Boa sorte caçando o Rei Monstro.
+
+Good luck in your journey, @@.
+Boa sorte na sua jornada, @@.
+
+Good luck killing it! And don't forget to touch the Soul Menhir before you go!
+Boa sorte, matando! E não se esqueça de tocar no Soul Menhir antes de ir!
+
+Good luck on your journey!
+Boa sorte em sua jornada!
+
+Good luck out there!
+
+
+Good luck with that. See you in ten years or something.
+Boa sorte com isso. Vejo você daqui a dez anos ou algo assim.
+
+Good luck with your boyfriend!#0
+
+
+Good luck with your girlfriend!#1
+
+
+Good luck!
+Boa sorte!
+
+Good luck! Come for remuneration when you finish!
+Boa sorte! Venha por remuneração quando terminar!
+
+Good luck! Don't come back until you reach 10000 kills!
+Boa sorte! Não volte até chegar a 10000 mortes!
+
+Good luck, %s! There are more monsters nearby!
+
+
+Good luck, %s. You'll need it.
+
+
+Good luck, @@!
+Boa sorte, @@!
+
+Good luck, because you'll need it. Talk to me once all of them are lit, and I'll SUMMON DAH MONSTER KING.
+Boa sorte, porque você vai precisar. Fale comigo uma vez que todos estejam acesos, e eu vou SUMMON DAH MONSTER KING.
+
+Good luck.
+Boa sorte.
+
+Good luck. %%1
+Boa sorte. %%1
+
+Good luck...
+Boa sorte...
+
+Good news - Oskari doesn't plans in firing you (yet)!
+Boas notícias - Oskari não planeja demitir você (ainda)!
+
+Good to know.
+Bom saber.
+
+Good work with the slimes. This will make our task much easier.
+Bom trabalho com os slimes. Isso tornará nossa tarefa muito mais fácil.
+
+Good!
+Boa!
+
+Good! First, let us test if you are resourceful. Bring me 3 @@ and 3 @@. That should be enough!
+Boa! Primeiro, vamos testar se você tem recursos. Traga-me 3 @@ e 3 @@. Isso deveria ser o suficiente!
+
+Good! I want 3 @@ and 10 @@. I have a contract to transform that in good money.
+Boa! Eu quero 3 @@ e 10 @@. Eu tenho um contrato para transformar isso em bom dinheiro.
+
+Good! Last step! West of Hurnscald, there is a magic fountain.
+Boa! Último passo! A oeste de Hurnscald, há uma fonte mágica.
+
+Good, I need to talk with the King.
+Bom, eu preciso falar com o Rei.
+
+Good, good, you have enough powder. Now I need you to lit all five torches with them.
+Bom, bom, você tem pó suficiente. Agora eu preciso que você liste todas as cinco tochas com elas.
+
+Good, good. The chant is ##B EMOC OTEM ITEY GNIK ##b. Good luck!
+Bom, bom. O encantamento é ##B EMOC OTEM ITEY GNIK ##b. Boa sorte!
+
+Good, knowing the world lore is important.
+Bom, saber que o conhecimento do mundo é importante.
+
+Good, there they are.
+Bom, lá estão eles.
+
+Good, this must mean that Sagratha managed to flee in time.
+Bom, isso deve significar que Sagratha conseguiu fugir a tempo.
+
+Good, you *hic* proved your *hic* worth. I'll give you them.
+Bom, você * hic * provou seu valor * hic *. Eu vou te dar.
+
+Good, you did it!
+Bom, você fez isso!
+
+Good. Did you knew you could register to the Special Class, in order to get an extra skill point?
+Boa. Você sabia que você poderia registrar-se para a classe especial, a fim de obter um ponto de perícia extra?
+
+Good. Here, take this key and hide it. I will quickly brief you:
+
+
+Good. I hope you have stocked everything. The time limit is 4 hours.
+
+
+Good. You look like a real miner! Take this @@ and go mine bifs!
+Boa. Você se parece com um mineiro real! Tome este @@ e ir mina bifs!
+
+Goodbye.
+Até mais.
+
+Googles
+Googles
+
+Got 1,000,000 Monster Points!
+Tem 1.000.000 Monstro Pontos!
+
+Got @@ EXP, @@ JExp and @@ GP for helping out.
+Obteve @@ EXP, @@ JExp e @@ GP para ajudar.
+
+Got Master Blueprints!
+Blueprints mestre tem!
+
+Graduation Album
+Album graduação
+
+Graduation Cap
+Chapéu de graduação
+
+Graduation Robe
+Robe de formatura
+
+Grand Hunter Quest
+Grande Hunter quest
+
+Grand Hunter Quest: @@/10,000
+Grand Hunter Quest: @@ / 10,000
+
+Grand Master
+
+
+Grant Power
+Grant Power
+
+Graphene Stone
+grafeno pedra
+
+Grass Carp
+Carpa capim
+
+Grass Liner
+Forro de grama
+
+Grass Seeds
+Sementes de grama
+
+Grass Snake
+Cobra
+
+Great Hero
+
+
+Great Mouboo Slime
+Grande Mouboo Slime
+
+Great Tree
+
+
+Great Tree#296to297
+
+
+Great news! Then please bring me 1 @@, or 200 @@ @@ 20 @@.
+Boas notícias! Então, por favor, traga-me um @@, ou 200 @@ @@ 20 @@.
+
+Great! Eomie, the girl on Tulimshar's magic academy, is an alchemist. She probably makes fertilizers.
+Ótimo! Eomie, a garota na academia de magia de Tulimshar, é uma alquimista. Ela provavelmente faz fertilizantes.
+
+Great! Excellent! Because I am also diving in problems!!
+Ótimo! Excelente! Porque também estou mergulhando em problemas !!
+
+Great! Here, I'll give you %d GP so you can start here with more ease.
+Ótimo! Aqui, eu vou dar-lhe% d GP assim que você pode começar aqui com mais facilidade.
+
+Great! It is simple, really. Pachua and I are scouting the desert. Run as fast as you can to Pachua, and then run back here. Pachua will send a smoke signal when you talk to him, so I'll know you haven't cheated.
+
+
+Great! Now, listen carefully: This library is laid out in nine squares.
+Ótimo! Agora, ouça atentamente: Esta biblioteca está disposta em nove quadrados.
+
+Great! Thank you!
+Ótimo! Obrigado!
+
+Great! The first thing you need is, obviously, a bow. You should not use any you come across, but a high quality one.
+Ótimo! A primeira coisa que você precisa é, obviamente, um arco. Você não deve usar nenhum que você encontrar, mas de alta qualidade.
+
+Great, I need 11 @@. Only good food makes a good crew.
+
+
+Great, I see you've already made yourself comfortable!
+Ótimo, vejo que você já se sentiu confortável!
+
+Great, just bring me several boxes, once one of them have the ring I'm looking for.
+Ótimo, traga-me várias caixas, uma vez que uma delas tenha o anel que estou procurando.
+
+Great. I hereby task you to kill the rogue Yetis on the Yeti King Throne Room. Of course, you won't be able to leave until all of them are dead.
+Ótimo. Venho por meio desta tarefa matar os Yetis desonestos na Sala do Trono do Rei Yeti. Claro, você não poderá sair até que todos estejam mortos.
+
+Greater @@ allows you to attack faster and has a greater chance of evading attacks.
+Uma @@ mais alta permite que você ataque mais rápido e tenha uma chance maior de evitar ataques.
+
+Green
+Verde
+
+Green 4144
+Verde 4144
+
+Green Dragon
+Dragão Verde
+
+Green Dye
+Tintura Verde
+
+Green Eggshell Hat
+Chapéu Casca De Ovo Verde
+
+Green Skull Slime
+Slime verde do crânio
+
+Green Slime
+Gosma verde
+
+Green Slime Mother
+Limo verde Mãe
+
+Green Switch#EP
+
+
+Green Wars project says that @@ trees were planted by adventurers on the world!
+O projeto Green Wars diz que @@ árvores foram plantadas por aventureiros no mundo!
+
+Greenhorn Abomination
+
+
+Greetings %s, I am %s, I am in charge of monster extermination.
+
+
+Greetings %s, I am %s, the man in charge for the Alliance occupation of Fortress Town.
+
+
+Greetings mortal; I am Demure, Queen of Dragons.
+
+
+Greetings! I am %s from the Alliance.
+
+
+Greetings, %s %s, I am Hocus Pocus the Grandmaster.
+
+
+Greetings, %s %s, to the Alliance High Council.
+
+
+Greetings, %s. Do you have business on the Alliance Council Room?
+
+
+Greetings, adventurer. I am Valia Gemini, owner of this abode.
+
+
+Greetings, traveler. I am Darug, chief of this clan.
+
+
+Greetings, traveler. My name is Melune, and I'm Darug's wife.
+
+
+Greetings, wanderer. I am @@, chief of the Tulimshar guards. My wards are dying from dehydration in the sun. Bring them water and you will earn a reward.
+Saudações, andarilho. Eu sou @@, chefe dos guardas de Tulimshar. Minhas enfermarias estão morrendo de desidratação ao sol. Traga-lhes água e você ganhará uma recompensa.
+
+Greetings, young soul; I am the queen of fairies, Lilit.
+
+
+Greetings. The council is currently in session, no one is allowed in the inner chambers.
+
+
+Grenade
+Grenade
+
+Grenadier
+
+
+Grind grind grind the slime!
+Moer moer moer o lodo!
+
+Groata : ...Because I am out of freebies and need to sleep. So shoo.
+
+
+Groata : ...Meh. I'll give you this... stuff, and for the last time, don't bother me again...
+
+
+Groata : ...Will you seriously just keep running around? Like a headless chicken?
+
+
+Groata : C'mon, that is boring. What I need to do to get you out of my house?
+
+
+Groata : Hey. I live here. Why are you spawning monsters in my home??
+
+
+Groata : I wonder for how long you can survive here...
+
+
+Groata : Let's make a deal. Take this, clear my house, and get out.
+
+
+Groata : This is rude. Seriously, stop doing this.
+
+
+Groata : Uh. What's happening here?
+
+
+Groata : You must be idiotic in keeping spawning.
+
+
+Ground Strike
+greve chão
+
+Group together your guild and challenge the evil power,
+
+
+Grown in harsh environments, withstand anything.
+Cultivada em ambientes agressivos, suportar qualquer coisa.
+
+Grr, where's Mercury... He was supposed to keep watch over this spot... It was meant to be my free time!
+Grr, onde está o Mercury ... Ele deveria vigiar este local ... Era para ser o meu tempo livre!
+
+Grrr... Why are @@ on this cave?! Begone, before I lose my patience!
+Grrr ... Por que são @@ nesta caverna ?! Begone, antes que eu perca a paciência!
+
+Grrr... Why are @@ on this cave?! Where did Mercury went after all?!
+Grrr ... Por que são @@ nesta caverna ?! Para onde Mercury foi depois de tudo ?!
+
+Guaaaards! Sailors! Help! We have a stowaway!
+Guaaaardas! Marinheiros! Socorro! Nós temos um clandestino!
+
+Guard
+Guarda
+
+Guard Amy
+Guarda Amy
+
+Guard Avou
+Guarda avou
+
+Guard Benji
+Guarda Benji
+
+Guard Biscop
+Guarda Biscop
+
+Guard Corina
+Guarda Corina
+
+Guard Defou
+Guarda Defou
+
+Guard Devoir
+Guarda Devoir
+
+Guard Falko
+Guarda Falko
+
+Guard Froma
+Guarda Froma
+
+Guard Jennifer
+Guarda Jennifer
+
+Guard Jhon
+Guarda Jhon
+
+Guard Laurie
+Guarda Laurie
+
+Guard Malindax
+Guarda Malindax
+
+Guard Maxim
+Guarda Maxim
+
+Guard Moustacha
+Guarda Moustacha
+
+Guard Nutelo
+Guarda Nutelo
+
+Guard Philip
+Guarda Filipe
+
+Guard Popaul
+Guarda Popaul
+
+Guard Roukin
+Guarda Roukin
+
+Guard Tetric
+Guarda Tetric
+
+Guard Totor
+Guarda Totor
+
+Guard Valou
+Guarda Valou
+
+Guard Yen
+Guarda Yen
+
+Guard Yuna
+Guarda Yuna
+
+Guard#00301A
+Guarda#00301A
+
+Guard#012-1.1
+Guarda # 012-1.1
+
+Guard#012-1.2
+Guarda # 012-1.2
+
+Guard#019-2.1
+Guarda#019-2.1
+
+Guard#019-3.1
+Guarda#019-3.1
+
+Guard#lof-1
+Guarda#lof-1
+
+Guard#lof-2
+Guarda#lof-2
+
+Guard#lof-3
+Guarda#lof-3
+
+Guard#lof-4
+Guarda#lof-4
+
+Guard#lof-5
+Guarda#lof-5
+
+Guard#lof-6
+Guarda#lof-6
+
+Guardian
+Guardião
+
+Guardian Statue
+Estátua do guardião
+
+Guardians Of Soren
+Guardiões De Soren
+
+Guardians will come to stop you, and to lock down the shrine!
+Guardiões virão para impedi-lo, e para bloquear o santuário!
+
+Guards use it to spar against each other on friendly matches, to see who is stronger.
+Guardas usam para lutar uns contra os outros em partidas amistosas, para ver quem é mais forte.
+
+Guild Area ATK UP
+Aliança Ãrea ATK UP
+
+Guild Area Autorevive
+Aliança Ãrea Autorevive
+
+Guild Area CRIT UP
+Aliança Ãrea CRIT UP
+
+Guild Area DEF UP
+Aliança Ãrea DEF UP
+
+Guild Area Regeneration
+Aliança Ãrea de regeneração
+
+Guild Blacksmith
+Guilda da Guilda
+
+Guild Chemistry
+Química da Guilda
+
+Guild Coin
+aliança Coin
+
+Guild Coin Exchange
+Aliança Coin Troca
+
+Guild Hall
+Salão da Guilda
+
+Guild Information
+Informações da guilda
+
+Guild Level is not enough: @@/@@
+Nível de Guilda não é suficiente: @@ / @@
+
+Guild Logs
+Registros de Guilda
+
+Guild Lv @@, @@/@@ EXP to level up
+Guild Lv @@, @@ / @@ EXP para subir de nível
+
+Guild Magic
+guilda dos Magos
+
+Guild Management
+Gestão de Guildas
+
+Guild Master
+Mestre da Guilda
+
+Guild Master: @@
+Mestre da Guilda: @@
+
+Guild Name: @@
+Nome da Guilda: @@
+
+Guild Storage
+Armazenamento da Guilda
+
+Guild Vault
+Cofre da Guilda
+
+Guild's Battle Plan
+Plano de Batalha de Aliança
+
+Guild's Power
+Poder da guilda
+
+Guinevere
+Guinevere
+
+Guinevere is the King's Wife. If you talk to her, the King will be upset and will send soldiers to you.
+Guinevere é a esposa do rei. Se você falar com ela, o Rei vai ficar chateada e vai enviar soldados para você.
+
+Gwendolyn
+Gwendolyn
+
+Gwendolyn Bowmaker
+Gwendolyn Bowmaker
+
+Gwendolyn sighs and shake her head.
+Gwendolyn suspira e sacode a cabeça.
+
+Gwendolyn takes an analyzing look at you. Then she nods.
+Gwendolyn analisa você. Então ela concorda.
+
+HA, HA, HA! The blacksmiths from the Land of Fire are the best from the world! There's no challenge too big for us!
+HA, HA, HA! Os ferreiros da Terra do Fogo são os melhores do mundo! Não há desafio grande demais para nós!
+
+HAHAHAHA! How foolish of you, didn't even bother trying to sneak in!
+HAHAHAHA! Que tola sua, nem se incomodou em tentar se esgueirar!
+
+HAHAHAHAH! Shiny as new, and stronger than ever! Have fun!
+HAHAHAHAH! Brilhante como novo e mais forte que nunca! Diverta-se!
+
+HC Crazyfefe
+
+
+HC Jak1
+
+
+HC Jesusalva
+
+
+HC LawnCable
+
+
+HC Saulc
+
+
+HIGHER!
+SUPERIOR!
+
+HISTORY BOOK
+LIVRO DE HISTÓRIA
+
+HOLD THAT! I actually like to drink, and spend some drinking nights with Saulc and Crazyfefe!
+SEGURE ISSO! Eu realmente gosto de beber e passar algumas noites bebendo com Saulc e Crazyfefe!
+
+HP +500
+
+
+Had you any breakthrough?
+Você teve algum avanço?
+
+Haha yes, you are right!
+Haha sim, você está certo!
+
+Haha, Nice, but how do you do that?
+Haha, legal, mas como você faz isso?
+
+Haha, as if I believe you.
+
+
+Haha, no, I'm not! But we found traces of them.
+Haha, não, eu não sou! Mas nós encontramos traços deles.
+
+Haha, this wooden figurine won't do the job, sorry.
+Haha, esta estatueta de madeira não vai fazer o trabalho, desculpe.
+
+Hahah, four gifts, neat! Can we get to 1600 boxes?
+Hahah, quatro presentes, puro! Podemos chegar a 1600 caixas?
+
+Hahah, good to hear! Do you know some items are only dropped on spring? You should go after them!
+Hahah, bom ouvir! Você sabe que alguns itens só são dropados na primavera? Você deveria ir atrás deles!
+
+Hahah, silly, that's yourself!
+Hahah, bobinho(a), esse é o seu nome!
+
+Hahah, tell me another one!
+
+
+Hahaha, good luck out there, my friend!
+
+
+Hair color
+Cor de cabelo
+
+Hair style
+Penteado
+
+Hairstyles.
+
+
+Halberd
+Alabarda
+
+Half Croconut
+Croconozes partido.
+
+Half Eggshell
+Casca de ovo quebrada
+
+Halin Guard
+Guarda Halin
+
+Halin Warp Crystal
+Cristal da urdidura de Halin
+
+Halinarzo
+Halinarzo
+
+Halinarzo (@@m)
+Halinarzo (@@ m)
+
+Halinarzo - @@ GP
+Halinarzo - @@ GP
+
+Halinarzo Church makes a party every Sunday! Only true believers are invited!
+Halinarzo Church faz uma festa todos os domingos! Somente verdadeiros crentes são convidados!
+
+Halinarzo Mines
+Minas Halinarzo
+
+Halinarzo Office
+Escritório Halinarzo
+
+Halinarzo Route
+Route Halinarzo
+
+Halinarzo Townhall
+Halinarzo Townhall
+
+Halinarzo is a *hic* level 50 area. So please *hic* be careful!
+Halinarzo é uma área de nível 50 * hic *. Então, por favor, * hic * tenha cuidado!
+
+Halinarzo lies past the Canyon, but the @@ there are level @@.
+Halinarzo fica em frente ao Canyon, mas o @@ existe nível @@.
+
+Halinarzo people are very poor, but we have our resources...
+Halinarzo pessoas são muito pobres, mas nós temos nossos recursos ...
+
+Halinarzo was founded to explore Mana Stones.
+Halinarzo foi fundado para explorar Mana Stones.
+
+Halinarzo's Nurse
+Enfermeira de Halinarzo
+
+Hall Of AF King
+Hall Of AF Rei
+
+Hall Of Academics
+Hall Of Academics
+
+Hall Of Base Level
+Hall Of Base Nível
+
+Hall Of Candor Bloodbath
+
+
+Hall Of Ched
+Hall Of Ched
+
+Hall Of Crazyfefe Battle
+Hall Of Crazyfefe Batalha
+
+Hall Of Deaths
+
+
+Hall Of Doppelganger Arena
+Hall Of Doppelganger Arena
+
+Hall Of Fame
+Hall da Fama
+
+Hall Of Fortune
+Hall Of Fortune
+
+Hall Of GM Commands
+Hall Of Comandos GM
+
+Hall Of Guilds
+Hall Of Guilds
+
+Hall Of Honor
+Hall Of Honor
+
+Hall Of Job Level
+Hall Of Job Nível
+
+Hall Of Strange Coins
+Hall Of Coins estranhas
+
+Hall of Sponsors
+Hall of Sponsors
+
+Halt! Beyond this gate, is the Great River and the Eternal Swamps.
+Pare! Além deste portão, está o Grande Rio e os Pântanos Eternos.
+
+Happy %s!
+% Feliz s!
+
+Happy Easter!
+Feliz Páscoa!
+
+Hard
+Difícil
+
+Hard Spike
+Spike duro
+
+Harper
+
+
+Harry
+
+
+Hasan
+Hasan
+
+Hasan takes your print screen and analyzes it.
+Hasan pega sua tela de impressão e analisa.
+
+Haste Potion
+Poção de Aceleração
+
+Have Maggot Slimes, Bug Legs, Mauve Herbs and Money, lots of them.
+Tem Maggot Slimes, Pernas Bug, malva Ervas e dinheiro, muitos deles.
+
+Have a good day!
+Tenha um bom dia!
+
+Have a good day, then.
+Tenha um bom dia, então.
+
+Have a good time fishing!
+Tenha um bom tempo pescando!
+
+Have a nice @@ day!
+Tenha um bom dia!
+
+Have a nice day!
+Tenha um bom dia!
+
+Have a warm cup of Coffee on the house, and enjoy!
+Tome uma xícara de café quente em casa e divirta-se!
+
+Have fun!
+Diverta-se!
+
+Have no idea where in the world you are? Or what a certain foe drops, or if you should even dare to challenge it?
+
+
+Have the pirates been routed? Will they return?
+Já os piratas foram encaminhadas? Será que eles vão voltar?
+
+Have you already talked to our captain? He should be downstairs waiting for you!
+Você já falou com o nosso capitão? Ele deveria estar lá embaixo esperando por você!
+
+Have you been fiddling with time? Anyway, this is not a disease, but a ##Bcomplex curse##b.
+
+
+Have you been harming the forest? Specially Mouboos. Are you killing them?
+Você tem machucado a floresta? Especialmente Mouboos. Você está matando eles?
+
+Have you brought me some %s?
+
+
+Have you came here to rescue me?
+Você veio aqui para me resgatar?
+
+Have you cried enough?
+Você já chorou o suficiente?
+
+Have you ever felt stuck? Lost? Didn't know about a quest, or an item is troubling you?
+
+
+Have you ever heard of the [@@http://landoffire.org/|Land Of Fire@@]? It is a really cool game which is being developed by Pyndragon and Pihro!
+Você já ouviu falar do [@@http://landoffire.org/|Land Of Fire@@]? É um jogo muito legal que está sendo desenvolvido por Pyndragon e Pihro!
+
+Have you ever met our Queen Lilit? She is lovely but hates @@ for some reason...
+Você já conheceu nossa Rainha Lilit? Ela é adorável, mas ódios @@ por alguma razão ...
+
+Have you found Tulimshar's Secret Beach yet? Tulimshar is full of secrets. Some NPCs which only say hi may say something else depending on your level or insistence.
+Você já encontrou a Praia Secreta de Tulimshar? Tulimshar é cheio de segredos. Alguns NPCs que dizem apenas oi podem dizer algo diferente dependendo do seu nível ou insistência.
+
+Have you found out magic already? It should not be possible, but the girl reading the book says it is. I don't know in what to believe.
+Você já descobriu a magia? Não deveria ser possível, mas a garota que está lendo o livro diz que é. Eu não sei em que acreditar.
+
+Have you got mad? That's too much, it's like you are trying to be perfect! No way I'll help you!
+Você ficou louco? Isso é demais, é como se você estivesse tentando ser perfeito! De jeito nenhum eu vou te ajudar!
+
+Have you managed to transmute the @@ I asked for?
+Você conseguiu transmutar o @@ eu pedi?
+
+Have you seen my brother %s?
+Você viu meu irmão% s?
+
+Have you seen my sister Elza?
+Você viu minha irmã Elza?
+
+Have you talked to Peetu co-workers about their opinion yet?
+Você já conversou com colegas de trabalho de Peetu sobre sua opinião?
+
+Have you thought on my proposal? I'll only charge you %d GP or a %s for each attempt made.
+
+
+Have you visited the mines already? Tycoon is in charge of the security operations in there. He might need your help more than I do.
+Você já visitou as minas? O Tycoon está encarregado das operações de segurança de lá. Ele pode precisar da sua ajuda mais do que eu.
+
+Having magic power is useless by itself, so you must visit the Academy. I guess that involves approval and acknowledgment of the Mage Council that you are a mage!
+Ter poder mágico é inútil por si só, então você deve visitar a Academia. Eu acho que envolve a aprovação e reconhecimento do Conselho Mago que você é um mago!
+
+He died, but I plan in fulfilling his will. I can give you training for that, and teach you how to fight properly.#0
+Ele morreu, mas eu planejo cumprir sua vontade. Eu posso te dar treinamento para isso, e te ensinar como lutar corretamente.
+
+He died, but I plan in fulfilling his will. I can give you training for that, and teach you how to fight properly.#1
+Ele morreu, mas eu planejo cumprir sua vontade. Eu posso te dar treinamento para isso, e te ensinar como lutar corretamente.
+
+He dislikes Talpans like you. The Mana Source chained him in ancient times, though, so the Talpans could flourish.
+
+
+He guards what you call "monsters", but he favor Mouboos. He is possibly the oldest of the Originals.
+
+
+He is blaming himself and is afraid of losing his job.
+Ele está se culpando e tem medo de perder o emprego.
+
+He is by far the most powerful, and has a few chosen ones to whom he granted what we call "SQL Magic". Everyone envies power, so there's the imitation of that, "GM Magic", but unrelated to Mr. Saves.
+
+
+He is in the process of making a figurine made of bug leg.
+Ele está no processo de fazer uma estatueta feita de perna de insetos.
+
+He is my grand-grand-grandfather! The might Kfahr, with his friend Braknar, and heroes from Tulimshar legends.
+Ele é meu bisavô! O poder Kfahr, com seu amigo Braknar e heróis das lendas de Tulimshar.
+
+He is not alive anymore, so only a single bow of those exist in the whole world... That is why we call it a
+Ele não está mais vivo, então apenas um único arco desses existe em todo o mundo ... É por isso que nós o chamamos de
+
+He is strong though, so keep your party together!
+
+
+He is the Miners leader.
+Ele é o líder dos mineiros.
+
+He just abandoned this place and left everything behind... It's suspicious at best. You don't think anyone will be able to decrypt the secrets of Artificial Lifeforms.
+Ele acabou de abandonar este lugar e deixou tudo para trás ... É suspeito na melhor das hipóteses. Você não acha que alguém será capaz de decifrar os segredos das Formas de Vida Artificiais.
+
+He laughs heartily and gives you a slap on the back.
+Ele ri com vontade e dá-lhe uma bofetada nas costas.
+
+He looks displeased and destroys the fur.
+Ele parece descontente e destrói a pele.
+
+He looks pleased.
+Ele parece satisfeito.
+
+He never touched the Soul Menhir... He died... For real...
+Ele nunca tocou no Menhir da Alma ... Ele morreu ... De verdade ...
+
+He should be crying in the far northeast corner of this library. Can you go there to see him?
+Ele deveria estar chorando no canto nordeste da biblioteca. Você pode ir lá para vê-lo?
+
+He thinks he is using me to his rebellion, but I'm the one using him. I'm not the Bandit Lord for no reason.
+Ele acha que está me usando para sua rebelião, mas sou eu quem o usa. Eu não sou o Bandit Lord sem motivo.
+
+He usually guards a central position on the caves... He could help you, if he is there.
+Ele geralmente guarda uma posição central nas cavernas ... Ele poderia ajudá-lo se ele estivesse lá.
+
+He was looking around in the library a while, and then came to ask about our research. He seemed to be particularly interested in our experiments with the slimes.
+Ele estava olhando em volta da biblioteca por um tempo e depois veio perguntar sobre nossa pesquisa. Ele parecia particularmente interessado em nossos experimentos com os limos.
+
+He will summon allies if he think you have the upper hand. So take care if you are going ranged.
+Ele convocará aliados se achar que você tem a vantagem. Então tome cuidado se você está indo variou.
+
+He's an *hic* hermit, and collects *hic* Bat teeth and wings... Tell me how many he collected!
+Ele é um eremita * hic * e coleciona * hic * Dentes e asas de morcego ... Diga-me quantos ele coletou!
+
+He's holding a fishing rod, while gazing out at the sea.
+Ele está segurando uma vara de pescar enquanto olha para o mar.
+
+Head Hood
+
+
+Headgear
+Chapelaria
+
+Heal Card
+curar Cartão
+
+Healing
+Cura
+
+Healing Recipes
+Receitas de cura
+
+Heals in area every friendly unit (incl. homuns and mercs). Req. Lifestone to cast.
+Cura na área cada unidade amigável (incl. Homuns e mercenários). Req. Lifestone ao elenco.
+
+Hear me *hic* well, what ever, whatididever you will *hic* said ab... uhm... out what?! You saw there, the Guild won't let it get public.
+Me ouça *hic* bem, o que nunca, o que você vai *hic* disse sob... uhm ... o quê?! Você viu lá, a Guilda não vai deixar isso público.
+
+Hear you? How do you even know he can understand you?!#1
+Ouvir você? Como você sabe que ele pode entender você?
+
+Hear you? How do you even know she can understand you?!#0
+Ouvir você? Como você sabe que ela pode entender você?
+
+Heart Glasses
+Coração óculos
+
+Heart Necklace
+Colar de coração
+
+Heart Of Isis
+Coração De Isis
+
+Heh, I wonder what he would've said if he'd have visited us a little bit later. Mh, now that I think about it, the accident with the slimes happened just the night after he was here.
+Heh, eu me pergunto o que ele teria dito se ele tivesse nos visitado um pouco mais tarde. Ah, agora que penso nisso, o acidente com o slimes aconteceu na noite em que ele esteve aqui.
+
+Heh, congratulations making it this far. Once again, allow me to present myself:
+
+
+Heh, thanks %s. Here's some money.
+
+
+Heh, there is death penalty outside the town. You better watch out. The mobs are on a foul mood today, very easy to get killed.
+Heh, não há pena de morte fora da cidade. É melhor teres cuidado. Os mobs estão em mau humor hoje, muito fácil de ser morto.
+
+Heh. Fair enough.
+Heh Justo.
+
+Heh. Foolish. That's what adventurers are, I guess...
+Heh Insensato. Isso é o que os aventureiros são, eu acho ...
+
+Hehe, hehe. Well, come back if you change your mind.
+Hehe, hehe. Bem, volte se você mudar de ideia.
+
+Hehe... Some material... %%5
+
+
+Hehehe... A pleasure doing business with you!
+
+
+Hehehe... Thanks. Here, take these %s Monster Points... This exchange has never happened.
+
+
+Helena
+Helena
+
+Helena's Teammate
+Companheiro de equipe de Helena
+
+Helios Boots
+Botas Helios
+
+Hello
+Olá
+
+Hello %s and welcome to Land Of Fire Village. This used to be a whole server before the Monster King crashed it down here.
+Olá% s e bem-vindo a terra do fogo Village. Isto costumava ser um servidor inteiro antes de o monstro rei caiu-lo aqui.
+
+Hello %s.
+
+
+Hello %s. What brings you here?
+Olá% s. O que te traz aqui?
+
+Hello @@! Do you have some @@ with you?
+Olá @@! Você tem algum @@ com você?
+
+Hello @@, may I interest you in a copy of the Gazette? It's only 1 GP!
+Olá @@, posso te interessar em uma cópia da Gazeta? É apenas 1 GP!
+
+Hello Adventurer!#0
+Olá, aventureira!
+
+Hello Adventurer!#1
+Olá, Aventureiro!
+
+Hello Adventurer.
+Olá Aventureiro.
+
+Hello Ms. Eomie, kind sir Anwar sent me to fetch some fertilizers to save Tulimshar from famine, if you may?
+Olá Ms. Eomie, o gentil senhor Anwar mandou-me buscar alguns fertilizantes para salvar Tulimshar da fome, se você puder?
+
+Hello Peetu.
+Olá Peetu.
+
+Hello adventurer! Are you lost?#0
+
+
+Hello adventurer! Are you lost?#1
+
+
+Hello adventurer, what may this humble minstrel do for you today?
+Olá aventureiro, o que esse humilde menestrel pode fazer por você hoje?
+
+Hello adventurer. Are you interested in the Heroes Hold, or in the Call Of Dusty?
+Olá aventureiro. Você está interessado no Heroes Hold, ou no Call Of Dusty?
+
+Hello again can you give you give me some tentacles.
+Olá novamente, você pode dar-me alguns tentáculos.
+
+Hello darling. The Alliance sucks, but don't tell anyone I told you that.
+Olá querido(a). A Aliança é uma droga, mas não conte a ninguém que eu lhe disse isso.
+
+Hello darling.#0
+Olá querida.
+
+Hello darling.#1
+Olá querido.
+
+Hello dear!#0
+Olá querida!
+
+Hello dear!#1
+Olá querido!
+
+Hello do you want to play rock scissors paper?
+Olá você quer jogar papel de tesoura de rock?
+
+Hello little kid. Watch out, there's a maggot behind you %%a !
+
+
+Hello my friend! I see you've brought your @@ with you this time!
+Olá meu amigo! Vejo que você trouxe seu @@ com você desta vez!
+
+Hello my friend! Need my help?#0
+Olá minha amiga! Precisa da minha ajuda?
+
+Hello my friend! Need my help?#1
+Olá meu amigo! Precisa da minha ajuda?
+
+Hello my friend!#0
+Olá meu amigo! # 0
+
+Hello my friend!#1
+Olá meu amigo!
+
+Hello my friend.
+Olá meu amigo.
+
+Hello my friend. Thanks for slaying the rogue Yetis.
+Olá meu amigo. Obrigado por matar o Yetis desonesto.
+
+Hello my hero!#0
+
+
+Hello my hero!#1
+
+
+Hello player, do you want to participate on HUNGRY QUIRIN event?!
+Olá jogador, você quer participar do evento HUNGRY QUIRIN ?!
+
+Hello there pretty fountain, what about granting me magic?
+Olá há fonte bonita, que tal me conceder magia?
+
+Hello there! I am a constable. I keep law and order here.
+Olá! Eu sou um policial. Eu mantenho a lei e a ordem aqui.
+
+Hello there! I make bullets for the weapons my friend Pyndragon makes.
+Olá! Eu faço balas para as armas que meu amigo Pyndragon faz.
+
+Hello there! I'm Jack, the Lumberjack, and enemy of all trees. If you need some firewood, just let me know.
+Olá! Sou Jack, o lenhador e inimigo de todas as árvores. Se você precisar de um pouco de lenha, me avise.
+
+Hello there, @@ the @@.
+Olá, @@ o @@.
+
+Hello there, I am %s and I change item options, can I help you today?
+
+
+Hello there, I am @@, blacksmith of this fine city. What do you want to forge today?
+Olá, sou @@, ferreiro desta bela cidade. O que você quer forjar hoje?
+
+Hello there, I am Lilanna and you are in ANISE INC. headquarters.
+Olá, eu sou Lilanna e você está na sede da ANISE INC.
+
+Hello there, darling.#0
+Olá, querida.
+
+Hello there, darling.#1
+Olá, querido.
+
+Hello there. Do you want to donate blood?
+Olá. Você quer doar sangue?
+
+Hello there. I am looking for strong people, but you are not strong enough.
+Olá. Estou à procura de pessoas fortes, mas você não é forte o suficiente.
+
+Hello there. My name is %s.
+Olá. Meu nome é S.
+
+Hello winged friend! How is the wind today?
+Olá amigo alado! Como está o vento hoje?
+
+Hello!
+Olá!
+
+Hello! Anwar sent me to get fertilizer to save Tulimshar from famine, could you help me?
+Olá! Anwar me enviou para obter fertilizante para salvar Tulimshar da fome, você poderia me ajudar?
+
+Hello! Calm wind today!
+Olá! Vento calmo hoje!
+
+Hello! Could I see the Mayor?
+Olá! Eu poderia ver o prefeito?
+
+Hello! Do you need help?
+Olá! Você precisa de ajuda?
+
+Hello! How can I help you?
+Olá! Como posso ajudá-lo?
+
+Hello! I am @@, and I take care of Tulimshar forge. I usually make ingots from various materials. So, what do you want today?
+Olá! Eu sou @@, e eu cuido da forja de Tulimshar. Eu costumo fazer lingotes de vários materiais. Então, o que você quer hoje?
+
+Hello! I am Aurora, and I oversee the %s!
+Olá! Estou Aurora, e eu supervisionar as% s!
+
+Hello! I am Cassia, Ambassator. During the Monster War outbreak, Halinarzo was almost entirely destroyed.
+Olá! Eu sou a Cassia, embaixadora. Durante o surto da Guerra dos Monstros, Halinarzo foi quase totalmente destruído.
+
+Hello! My name is Kenton, and I'm in charge of Public Affairs of Land Of Fire.
+Olá! Meu nome é Kenton, e eu estou no comando de Assuntos Públicos da terra do fogo.
+
+Hello! Welcome to the Inn! I am an Alliance officer, and I oversee gambling all over the world!
+Olá! Bem-vindo ao Inn! Sou um oficial Alliance, e eu supervisionar jogo em todo o mundo!
+
+Hello! Would you like to try some piou delicacies?
+
+
+Hello! You seem strong enough, could take a request from me? Of course, not for free.
+Olá! Você parece forte o suficiente, poderia receber um pedido de mim? Claro, não de graça.
+
+Hello, %s! Congratulations for finishing the %s!
+
+
+Hello, %s.
+Olá,% s.
+
+Hello, @@!
+Olá, @@!
+
+Hello, @@! We are proud to announce the @@ RESULTS!
+Olá, @@! Temos o orgulho de anunciar os RESULTADOS do @@!
+
+Hello, @@! We just looked up and found out you that you were affected on a Valentine Event bug!
+Olá, @@! Nós apenas olhamos para cima e descobrimos que você foi afetado por um bug do evento Valentine!
+
+Hello, @@! We just looked up and found out you were active during 2018-12-29!
+Olá, @@! Nós apenas olhamos para cima e descobrimos que você estava ativo durante 2018-12-29!
+
+Hello, @@.
+Olá, @@.
+
+Hello, @@. Thanks for helping me.
+Olá, @@. Obrigado por me ajudar.
+
+Hello, I act on the Alliance's behalf.
+Olá, eu ajo em nome da Aliança.
+
+Hello, I am B-@@, of the @@ order.
+Olá, sou B - @@, do pedido @@.
+
+Hello, I am G-@@, of the @@ order.
+Olá, sou G - @@, do pedido @@.
+
+Hello, I am K-@@, of the @@ order.
+Olá, sou K - @@, do pedido @@.
+
+Hello, I am T-@@, of the @@ order.
+Olá, eu sou T - @@, da ordem @@.
+
+Hello, I am a sword to hire, a Mercenary Trainer and Chief.
+Olá, eu sou uma espada para contratar, um instrutor Mercenary e Chief.
+
+Hello, I am your local silversmith, here for all of your smithing needs!
+Olá, eu sou seu ourives local, aqui para todas as suas necessidades de ferreiro!
+
+Hello, I noticed my dear friend, Susanne, asked you to help us save my sisters; do not forget to ask Susanne where the Fafi Dragon was last seen.
+Olá, percebi que minha querida amiga Susanne pediu-lhe que nos ajudasse a salvar minhas irmãs; não se esqueça de perguntar a Susanne onde o Dragão Fafi foi visto pela última vez.
+
+Hello, I'm Pylon!
+Olá, sou pilão!
+
+Hello, I'm looking for bandit hoods!
+Olá, estou procurando capuzes de bandidos!
+
+Hello, I'm new here! Can I help you?
+Olá, sou novo aqui! Posso ajudar?
+
+Hello, Lua told me she booked a room for me.
+Olá, Lua me disse que ela reservado um quarto para mim.
+
+Hello, What a lovely day for a stroll.
+Olá, que dia lindo para um passeio.
+
+Hello, and welcome to Blue Sage's Residence, Library, and Nivalis Townhall.
+Olá, bem-vindo à Residência, Biblioteca e Nivalis Townhall de Blue Sage.
+
+Hello, and welcome to Frostia bounty hunter guild.
+
+
+Hello, and welcome to TMW2: Moubootaur Legends!
+Olá, e bem vindo à TMW2: Lendas do Moubootauro!
+
+Hello, and welcome to Tulimshar Inn.
+Olá e bem-vindo ao Tulimshar Inn.
+
+Hello, and welcome to the Magic Academy.
+Olá e bem-vindo ao Magic Academy.
+
+Hello, and welcome to the Magic School of Tulimshar.
+Olá e bem-vindo à Escola de Magia de Tulimshar.
+
+Hello, and welcome to the Tulimshar guard house.
+
+
+Hello, could I help you in exchanger of fertilizer?
+Olá, eu poderia te ajudar no trocador de fertilizantes?
+
+Hello, darling!
+Olá querido(a)!
+
+Hello, darling. I was thinking in doing a tea party.#0
+
+
+Hello, darling. I was thinking in doing a tea party.#1
+
+
+Hello, dear! I love @@, could you bring me some? They're sooooo sweet and delicious!#0
+Olá querida! Eu amo @@, você poderia me trazer um pouco? Eles são muuuito doces e deliciosos!
+
+Hello, dear! I love @@, could you bring me some? They're sooooo sweet and delicious!#1
+Olá querido! Eu amo @@, você poderia me trazer um pouco? Eles são muuuito doces e deliciosos!
+
+Hello, did you come from Tulimshar? Because you have a nice tan.
+Olá, você veio de Tulimshar? Porque você tem um bom bronzeado.
+
+Hello, hello! It's great to see you. Maybe you can help me with a little problem I have.
+Olá Olá! É ótimo ver você. Talvez você possa me ajudar com um pequeno problema que tenho.
+
+Hello, madam!#0
+Olá, madame!
+
+Hello, my name is Mahid, and this well belongs to me!
+Olá, meu nome é Mahid, e esse bem me pertence!
+
+Hello, new wanderer!#0
+
+
+Hello, new wanderer!#1
+
+
+Hello, sir!#1
+Olá, senhor!
+
+Hello, wanderer! Welcome to Tulimshar.#0
+
+
+Hello, wanderer! Welcome to Tulimshar.#1
+
+
+Hello, wanderer!#0
+
+
+Hello, wanderer!#1
+
+
+Hello, who are you?
+Olá quem é você?
+
+Hello, young boy...#1
+
+
+Hello, young girl...#0
+
+
+Hello.
+Olá.
+
+Hello. Ah, bad luck. I am three days without fishing a single carp.
+Olá. Ah, azar. Eu estou três dias sem pescar uma única carpa.
+
+Hello. Did you come here to see the library? There isn't much left... But we're working on recovering the books by collecting the ripped out book pages, sorting them and recreating the books.
+Olá. Você veio aqui para ver a biblioteca? Não resta muito ... Mas estamos trabalhando para recuperar os livros, coletando as páginas dos livros, classificando-os e recriando os livros.
+
+Hello. I am @@, and I am from a family of travellers. We travel though the whole world, looking for exotic goods.
+Olá. Eu sou @@, e eu sou de uma família de viajantes. Nós viajamos pelo mundo inteiro, procurando por mercadorias exóticas.
+
+Hello. I am Emma, Enrique's wife.
+Olá. Estou Emma, ​​esposa de Enrique.
+
+Hello. I am Enrique, headmaster of The Academy.
+Olá. Estou Enrique, diretor da Academia.
+
+Hello. I am the book keeper, responsible for keeping Halinarzo History.
+Olá. Eu sou o guardião do livro, responsável por manter a História de Halinarzo.
+
+Hello. I am the instructor assigned to the magic range training field.
+
+
+Hello. I know the secrets of the legendary @@.
+Olá. Eu conheço os segredos do lendário @@.
+
+Hello. I was assigned to guard the ranged training grounds of the mystic forest.
+
+
+Hello. My name is Erik, and I have Homunculus go out in errands in my stead.
+Olá. Meu nome é Erik, e eu tenho Homunculus sair recados em meu lugar.
+
+Hello. Take care with the Mountain Snakes, they're highly poisonous!
+Olá. Tome cuidado com as serpentes da montanha, elas são altamente venenosas!
+
+Helmet Recipes
+capacete Recipes
+
+Help controlling their population, and return those you fish to Aurora!
+Ajuda controlar sua população, e retornar aqueles que você pescar a Aurora!
+
+Help the distressed woman to save her daughter? ALL PLAYERS are penalized with failures.
+Ajudar a mulher angustiada a salvar sua filha? TODOS OS JOGADORES são penalizados com falhas.
+
+Henriikka
+Henriikka
+
+Henry
+
+
+Henry gave something to drink.
+
+
+Herb Fields
+herb Campos
+
+Here are EXTREMELY VALUABLE warp crystals, and the *hic* fabled return potions.
+Aqui estão os cristais de dobra EXTREMAMENTE VALIOSOS e as poções de retorno * hic *.
+
+Here are the Antennas.
+Aqui estão as antenas.
+
+Here are the Pinkie Legs.
+Aqui estão as pernas do Pinkie.
+
+Here are two @@. Please deliver it to them. I hope they'll like it.
+Aqui estão dois @@. Por favor, entregue para eles. Espero que eles gostem.
+
+Here is 1000 GP for your efforts. Thanks for making Hurnscald a better place to live.
+Aqui está 1000 GP por seus esforços. Obrigado por fazer de Hurnscald um lugar melhor para viver.
+
+Here is 2000 GP for your efforts. Thanks for making Hurnscald a better place to live.
+Aqui está 2000 GP por seus esforços. Obrigado por fazer de Hurnscald um lugar melhor para viver.
+
+Here is a reward for your effort! Now you can be a true buccaneer!
+Aqui está uma recompensa pelo seu esforço! Agora você pode ser um verdadeiro bucaneiro!
+
+Here is a safe haven for we who don't fight. There are no monsters, and the Mouboo watches over us.
+Aqui é um porto seguro para nós que não lutamos. Não há monstros, e o Mouboo nos vigia.
+
+Here is one.
+
+
+Here is the @@, like my armor, and one of the best for rangers.
+Aqui está o @@, como minha armadura, e um dos melhores para rangers.
+
+Here is the bug bomb! Eomie just gave me. Hurry up!
+Aqui está a bomba de insetos! Eomie acabou de me dar. Se apresse!
+
+Here is your powder! I hope it will be useful.
+Aqui está seu pó! Espero que seja útil.
+
+Here it is, clean like a whistle!
+Aqui está, limpe como um apito!
+
+Here it is, miss.#0
+Aqui está, senhorita.
+
+Here it is, mister.#1
+Aqui está, senhor # 1
+
+Here it is. Come back to report the results.
+Aqui está. Volte para relatar os resultados.
+
+Here it is. Take care with it!
+Aqui está. Tome cuidado com isso!
+
+Here kid. Frostia, the elf town, is somewhere near here, but I'm not sure if you can reach it from here.
+Aqui garoto. Frostia, a cidade dos elfos, está em algum lugar perto daqui, mas não tenho certeza se você pode alcançá-lo daqui.
+
+Here lies a diary, presumably from Fefe.
+
+
+Here they are miss!
+Aqui estão eles, senhorita!
+
+Here they are!
+Aqui estão eles!
+
+Here they are, miss!
+Aqui estão eles, senhorita!
+
+Here they are, miss.#0
+Aqui estão eles, senhorita.
+
+Here they are, mister.#1
+Aqui estão eles, senhor # 1
+
+Here we have a squall from @@.
+Aqui temos uma rajada de @@.
+
+Here you are!
+Olha Você aqui!
+
+Here you are, you won't find a dye more yellow than this!
+
+
+Here you can find professors, academics and researchers. Feel free to enroll in any class as well.
+Aqui você pode encontrar professores, acadêmicos e pesquisadores. Sinta-se livre para se inscrever em qualquer classe também.
+
+Here you go - have fun with it.
+Aqui vai você - divirta-se com isso.
+
+Here you go!
+Aqui está!
+
+Here you go! Anything else?
+Aqui está! Algo mais?
+
+Here you go! Happy easter! Bhop bhop!
+Aqui está! Feliz Páscoa! Bhop bhop!
+
+Here you go! Wasn't this a sweet deal?
+
+
+Here you go, I tried my best! Do you want another?
+Aqui está, eu tentei o meu melhor! Você quer outro?
+
+Here you go, a brand new crystal. I'll fix the old one on the meanwhile. Take care of it.
+Aqui está, um novo cristal. Vou consertar o antigo enquanto isso. Tome conta disso.
+
+Here you go, anything else?
+Aqui vai você, mais alguma coisa?
+
+Here you go, everything is fixed.
+Aqui está, tudo está consertado.
+
+Here you go, fresh from the oven!
+Aqui você vai, fresco do forno!
+
+Here you go, miss! Thanks for being my hero! <3#0
+
+
+Here you go, mister! Thanks for being my hero! <3#1
+
+
+Here you go, my friend! Please enjoy!#0
+
+
+Here you go, my friend! Please enjoy!#1
+
+
+Here you go, my friend. Uhm, good luck with archery.
+Aqui vai, meu amigo. Boa sorte com arco e flecha.
+
+Here you go, thanks for doing my SECRET quest! Eh, not much to do here. But I like life this way.
+Aqui está, obrigado por fazer minha missão SECRET! Não há muito a fazer aqui. Mas gosto da vida desse jeito.
+
+Here you go. Handle it with caution.
+Aqui está. Manuseie com cuidado.
+
+Here you go. Perhaps you need another one?
+
+
+Here you go. Please enjoy and thanks for making this town better to live. Maybe one day the snakes leave ^.^
+Aqui está. Por favor, aproveite e obrigado por fazer esta cidade melhor para viver. Talvez um dia as cobras saiam ...
+
+Here you go. Please, keep fighting and growing strong. Improving oneself is... Damn, I forgot the proverb.
+
+
+Here you go. Uhm, I really prefer if you buy with Rosen, though.
+Aqui está. Uhm, eu realmente preferiria se você comprasse com Rosen, porém...
+
+Here you go; See you later!
+
+
+Here's some gold for your efforts.
+Aqui está um pouco de ouro pelos seus esforços.
+
+Here's what I need:
+Aqui está o que eu preciso:
+
+Here's your reward!
+Aqui está sua recompensa!
+
+Here's your sword, novice. Now go kill monsters.#0
+
+
+Here's your sword, novice. Now go kill monsters.#1
+
+
+Here, I did this @@ for you! I'm pretty sure this is also a drop, but that's literally everything I could do for helping my husband.
+Aqui, eu fiz esse @@ para você! Tenho certeza que isso também é um drop, mas isso é literalmente tudo que eu poderia fazer por ajudar meu marido.
+
+Here, I have a candy!
+Aqui, eu tenho uma balinha!
+
+Here, I'll give you a Mercenary Box. Open it, get the mercenary card, and summon it when needed. You absolutely CANNOT let the Professor be assassinated!
+Aqui, eu vou dar-lhe uma caixa de Mercenary. Abri-lo, obter o cartão de mercenário, e chamar-lo quando necessário. Você absolutamente não pode deixar o Professor ser assassinado!
+
+Here, all yours. Ah, if I still could walk... I would hunt those annoying squirrels myself!
+Aqui, todo seu. Ah, se eu ainda pudesse andar ... eu mesmo caçaria esses esquilos irritantes!
+
+Here, all yours. I can't use them like I am now. Thank you.
+Aqui, todo seu. Eu não posso usá-los como eu sou agora. Obrigado.
+
+Here, come talk to me, the Magic Arpan! I'll help you get dressed.
+Aqui venha falar comigo, o Arpan Mágico! Eu vou te ajudar a se vestir.
+
+Here, lemme tell you something good: Do you know that fortress island which all the adventurers are talking about nowadays?
+
+
+Here, look at how it is done. Focus. You can use it to convert a @@ into a @@, but not the other way around, for example.
+Aqui, olha como ele é feito. Foco. Você pode usá-lo para converter um @@ em um @@, mas não o contrário, por exemplo.
+
+Here, please take this to them. Tell them they are welcome here anytime! %%2
+
+
+Here, sparking new! Nice!!
+Aqui, brilhando feito novo! Maravilhoso!!
+
+Here, take as much as you need, I have plenty!
+Aqui, pegue o quanto você precisar, eu tenho muito!
+
+Here, take it. If the mana goes out of your body, I'll have your class master to return the book to me.
+Aqui, pegue. Se a mana sai do seu corpo, eu vou pedir ao seu professor para devolver o livro para mim.
+
+Here, take the Elixir. Please, bring it to my wife! I am counting on you!!
+Aqui, pegue o Elixir. Por favor, traga para minha esposa! Eu estou contando com você!!
+
+Here, take the reward as promised!
+Aqui, pegue a recompensa como prometido!
+
+Here, take this %s and these %s and good luck!
+
+
+Here, take this @@ - you deserve it! And here is 200 GP to buy a better weapon.
+Aqui, leve este @@ - você merece! E aqui está 200 GP para comprar uma arma melhor.
+
+Here, take this @@ - you deserve it! And here is some gold and experience.
+Aqui, leve este @@ - você merece! E aqui está um pouco de ouro e experiência.
+
+Here, take this @@. It will be better suited!
+Aqui, pegue essas @@. Será mais adequado!
+
+Here, take this @@. This is the proof that you've helped Hurnscald greatly. This shall open new opportunities to you.
+Aqui, pegue isso @@. Esta é a prova de que você ajudou Hurnscald muito. Isso abrirá novas oportunidades para você.
+
+Here, take this pair of boots as a reward!
+Aqui, pegue este par de botas como recompensa!
+
+Here, take this reward. Good luck. %%1
+
+
+Here, thanks to the oil, this string is very sturdy. You better not keep it on your inventory. Good luck!
+Aqui, graças ao óleo, esta corda é muito resistente. É melhor não guardá-lo no seu inventário. Boa sorte!
+
+Here, you can have a glass.
+Aqui você pode tomar um copo.
+
+Here, you can have the partly unobtainable items reserved to developers and contributors. And, uh, these NPC-only items, don't let developers know I gave you this. It'll be our little secret!
+
+
+Here, you can have this one!
+Aqui você pode ter esse!
+
+Here, you can have this souvenir.
+Aqui, você pode ter essa lembrança.
+
+Here, you can have this spare one. Hahah! Crafting is an art, and I help teaching it. Just be sure to don't lose it, you will NEVER get another copy EVER again, was I clear?!
+Aqui, você pode ter este de reposição. Hahah! O artesanato é uma arte e eu ajudo a ensiná-lo. Só não se esqueça de não perdê-lo, você nunca vai ter outra cópia de novo, eu estava claro ?!
+
+Here, you can have this, token of my appreciation.
+
+
+Here. You know that milking Mouboos won't cause them harm, right? It's a different story with @@.
+Aqui. Você sabe que ordenhar Mouboos não lhes fará mal, certo? É uma história diferente com @@.
+
+Herein also lies Raid Yahoo, enemy of manakind and nemesis of Saul, the one hated by many and loved by few, greedy mana stone collector, but who still opposed to the Monster King and lost her life for it.
+
+
+Herein lies Fefe, for his great bravure and heroic deeds, savior of our realm, valiantly defeated in combat against the Monster King, may the mana shine upon him forever.
+
+
+Hero Card
+Carta do Herói
+
+Hero Card S
+
+
+Hero Card X
+
+
+Hero Coin
+Moeda do Herói
+
+Hero Statue
+Estátua do herói
+
+Hero Statue#012-1
+Estátua do Herói # 012-1
+
+Hero Statue#027-1
+
+
+Hero#0
+
+
+Hero#1
+
+
+Hero:
+Herói:
+
+Heroes Hold
+Heróis Segure
+
+Heroes Hold - Exchange Hall
+Heroes Hold - salão de câmbio
+
+Hesitant, you reach out your hand, and grab whatever was on the Cauldron. It seems to be an Embryo.
+Hesitante, estende a mão e pega o que estava no Caldeirão. Parece ser um embrião.
+
+Hey %s, I was informed about your arrival. You are here, good!
+
+
+Hey %s, could you do me a little favor?
+
+
+Hey @@! You haven't talked to me yet!
+
+
+Hey do you have a second?
+Ei você tem um segundo?
+
+Hey dude. During this event you can trade one @@ for more... useful items.
+Ei cara. Durante este evento, você pode negociar um @@ para mais ... itens úteis.
+
+Hey friend, could you do me a little favor?#0
+
+
+Hey friend, could you do me a little favor?#1
+
+
+Hey gal, could you do me a little favor?#0
+
+
+Hey hey, can you impress me? Can you impress me?
+
+
+Hey hey... Good job! I was worried you would ruin their hoods before being able to take them.
+Hey hey ... Bom trabalho! Eu estava preocupado que você arruinasse seus capuzes antes de ser capaz de levá-los.
+
+Hey hey... Good job! We can now use again the stuff we recovered from the bandits.
+Hey hey ... Bom trabalho! Agora podemos usar novamente as coisas que recuperamos dos bandidos.
+
+Hey if you want I can do some physical work for you!
+Ei, se você quiser, eu posso fazer algum trabalho físico para você!
+
+Hey kid! Can you hear me?#0
+Ei garota! Você consegue me ouvir?
+
+Hey kid! Can you hear me?#1
+Ei garoto! Você consegue me ouvir?
+
+Hey kid, go play somewhere else, I don't have time! It's soon over!
+Ei garoto, vá brincar em outro lugar, eu não tenho tempo! Acabou logo!
+
+Hey look, an alchemy set. Not your area of expertise, but you take a few samples.
+Ei olha, um conjunto de alquimia. Não é a sua área de especialização, mas você tira algumas amostras.
+
+Hey newbie... I am a dangerous bandit.
+Ei novato ... eu sou um bandido perigoso.
+
+Hey pal, could you do me a little favor?#1
+
+
+Hey silly %s, I need a favor from you.
+
+
+Hey there! How are you?
+
+
+Hey there! How are you? I hope you're doing fine!
+
+
+Hey there, %s. I deal with ultra rare items. If the Powers That Be decided you're out of luck, well, I am here to help you to bypass it.
+
+
+Hey there, %s. What I deal with is too much for your weak bones. So please come again after you are reborn, then I'll have something for you.
+
+
+Hey there, @@! Good luck killing monsters!
+Olá, @@! Boa sorte matando monstros!
+
+Hey there, @@! I see you are still a noob!
+Olá, @@! Eu vejo que você ainda é um noob!
+
+Hey there. My name is Gwendolyn Bowmaker; I'm the granddaughter of the famous Glinda Bowmaker.
+Olá. Meu nome é Gwendolyn Bowmaker; Eu sou a neta do famoso Glinda Bowmaker.
+
+Hey wait... A monster!! Run for your life!!
+Ei, espere ... Um monstro !! Corra por sua vida!!
+
+Hey wait... You found 2 GP!
+Ei, espere ... Você encontrou 2 GP!
+
+Hey wait... You're enveloped by a bright light and fully healed!
+Ei, espere ... Você está envolvido por uma luz brilhante e totalmente curado!
+
+Hey wait... You're enveloped by a bright light and gain experience!
+Ei, espere ... Você está envolvido por uma luz brilhante e ganha experiência!
+
+Hey you have a bucket! Too bad there are, you know, HOLES on it, so you can see.
+Ei, você tem um balde! Que pena que você tem HOLES, então você pode ver.
+
+Hey you. Come here...I have a quest for ya.
+
+
+Hey! Be careful. You can't stay in this basement for so long, you're going to get sick. Come outside and take a break, maybe you can try again later.
+Ei! Seja cuidadoso. Você não pode ficar neste porão por tanto tempo, você vai ficar doente. Venha para fora e faça uma pausa, talvez você possa tentar novamente mais tarde.
+
+Hey! Good to hear from you!
+Ei! Bom ouvir de você!
+
+Hey! Good to see you. I was thinking how I could repay for what you've done for my mother.
+Ei! Bom te ver. Eu estava pensando em como eu poderia pagar pelo que você fez pela minha mãe.
+
+Hey! How are you today? Thanks again for your help.
+Ei! Como você está hoje? Obrigado novamente por sua ajuda.
+
+Hey! I already got them!
+Ei! Eu já peguei eles!
+
+Hey! I want to enter in this house!
+Ei! Eu quero entrar nesta casa!
+
+Hey, %s! Welcome back!
+
+
+Hey, @@!
+Ei, @@!
+
+Hey, I am flopped. Do you want to gamble?
+Ei, eu estou no flop. Você quer jogar?
+
+Hey, I like rewards. Wait me, I'll be back!
+Ei, eu gosto de recompensas. Espere, eu volto!
+
+Hey, I said NO ENTRY! Get moving!
+
+
+Hey, I see you have appointed @@ players to this game. Good job!
+Ei, vejo que você indicou @@ jogadores para este jogo. Bom trabalho!
+
+Hey, can you spare me a moment?
+
+
+Hey, check out my brand new fishing rod. I bought it just today.
+Ei, confira minha nova vara de pescar. Eu comprei hoje mesmo.
+
+Hey, collect lots of @@ and give them to me on Christmas! Not now. On Christmas!
+Ei, colecione muita @@ e me dê no Natal! Agora não. No Natal!
+
+Hey, did you bring me everything I asked for?
+Ei, você me trouxe tudo o que eu pedi?
+
+Hey, did you know there are two mouboos which constantly fight against themselves?!
+Ei, você sabia que há dois mouboos que constantemente lutam contra si mesmos ?!
+
+Hey, do not mistake me for a child.
+Ei, não me confunda com uma criança.
+
+Hey, do you know the ##BCall Of Dusty##b event?
+
+
+Hey, do you know what is good on summer? @@!
+Ei, sabe o que é bom no verão? @@!
+
+Hey, do you know what is good on this harsh winter? A @@!
+Ei, você sabe o que é bom nesse inverno rigoroso? UMA @@!
+
+Hey, dude! The guards are after me. I need your help, and I can reward you.#0
+Ei, moça! Os guardas estão atrás de mim. Eu preciso de sua ajuda, e posso recompensá-la.
+
+Hey, dude! The guards are after me. I need your help, and I can reward you.#1
+Ei, cara! Os guardas estão atrás de mim. Eu preciso de sua ajuda, e posso recompensá-la.
+
+Hey, girl!#0
+Ei, garota!
+
+Hey, have you come to play with me? I love playing with humans! Usually so few show in, it must be the dragons...
+Ei, você veio brincar comigo? Eu amo brincar com humanos! Normalmente tão poucos aparecem, devem ser os dragões ...
+
+Hey, how is the monster extermination going?
+Ei, como vai o extermínio de monstros?
+
+Hey, huge THANKS for the help! I love gifts! Here's your due reward!
+Ei, muito obrigado pela ajuda! Eu amo presentes! Aqui está sua devida recompensa!
+
+Hey, is somebody over there?
+Ei, tem alguém aí?
+
+Hey, it seems like you didn't register as a Monster Hunting Quest participant yet! You can sign up with Aidan.
+Ei, parece que você não se registrou como um participante da Monster Hunting Quest ainda! Você pode se inscrever com Aidan.
+
+Hey, look, a tie happened!
+Ei, olha, um empate aconteceu!
+
+Hey, look, you have @@ boxes to collect!
+Ei, olha, você tem @@ caixas para coletar!
+
+Hey, man!#1
+Ei, garoto!
+
+Hey, nice hat! Can I have it?
+Ei, bom chapéu! Posso ter isso?
+
+Hey, pal. This spot is very good, I can see the whole town from here.#0
+
+
+Hey, pal. This spot is very good, I can see the whole town from here.#1
+
+
+Hey, psst! Come over here!
+
+
+Hey, psst! Have you brought me what I asked for?
+Ei, psst! Você me trouxe o que eu pedi?
+
+Hey, take this @@. It heals fully but who cares, I have Tonori Delight!
+Ei, pegue isso @@. Cura completamente, mas quem se importa, eu tenho Deleite Tonori!
+
+Hey, thanks for saving me. You know, from the well.
+Obrigado por me salvar. Você sabe, do poço.
+
+Hey, the %s you gave me was quite tasty, thanks!
+
+
+Hey, this Dummy is to @@ kill.
+Ei, esse manequim é @@ matar.
+
+Hey, two gifts is very nice. But if we delivered 400. Think on it.
+Dois presentes é muito bom. Mas se nós entregamos 400. Pense nisso.
+
+Hey, you on the dune! Can you hear us?!
+
+
+Hey, you! Aid me!
+Ei você! Me ajude!
+
+Hey, you! Are you here on Kenton's orders?!
+Ei você! Você está aqui por ordem de Kenton ?!
+
+Hey, you! Could you bring me an @@?
+Ei você! Você poderia me trazer um @@?
+
+Hey, you! Help me!
+Ei você! Ajude-me!
+
+Hey, you! We need help to find the Monster King.
+Ei você! Precisamos de ajuda para encontrar o Rei dos Monstros.
+
+Hey, you! We need help to get rid from some remaining monsters at Nivalis City.
+Ei você! Precisamos de ajuda para nos livrarmos de alguns monstros remanescentes na cidade de Nivalis.
+
+Hey, you! What are you doing here?!
+
+
+Hey, you're an elf, cool! But you still cannot run for office here!
+Ei, você é um elfo, cool! Mas você ainda não pode concorrer a um cargo aqui!
+
+Hey, you, stranger. I promised Banu a pie, but she is yet to give me the apples.
+
+
+Hey. If you want to kill monsters, you need a good sword. I think, a @@ would be the perfect fit for you.
+Ei. Se você quer matar monstros, você precisa de uma boa espada. Eu acho que um @@ seria o ajuste perfeito para você.
+
+Hey. You there. Time to do @@ and show what you're made of.
+Ei. Você aí. Hora de fazer @@ e mostrar do que você é feito.
+
+Hey. You. You were in need of medical attention earlier. Do you remember how to walk, talk, attack, etc?
+Ei. Você. Você estava precisando de atenção médica mais cedo. Você se lembra de como andar, falar, atacar, etc?
+
+Hey... Go bother someone else.
+Ei ... Vá incomodar outra pessoa.
+
+Hey... I found a Jeans Shorts. Is it yours?
+Ei ... eu encontrei um Shorts Jeans. É seu?
+
+Hey... You... Come here.
+Ei ... você ... vem cá.
+
+Heya dude! Don't you think this room is too dark?
+Heya cara! Você não acha que esta sala é muito escura?
+
+Heya!
+Ei!
+
+Heya, noob. Where is your @@? Are you really so noob to have forgot such important book?!
+Hey, noob. Onde está seu @@? Você está realmente tão noob por ter esquecido um livro tão importante?
+
+Hi @@.
+Oi @@.
+
+Hi Peetu, are you calmer now?
+Oi Peetu, você está mais calmo agora?
+
+Hi there, I can always use a helping hand around here, are you the one for the job?
+Oi lá, eu sempre posso usar uma mão amiga por aqui, você é o único para o trabalho?
+
+Hi! Apparently, I came from here and moved at the age of 4, but I had amnesia and can't remember!
+Oi! Aparentemente, eu vim daqui e me mudei aos 4 anos de idade, mas eu tive amnésia e não me lembro!
+
+Hi! Do you want a hair cut?
+Oi! Você quer um corte de cabelo?
+
+Hi! I'm Miltaco, a piou specialist in humanoid hairstyles. Do you want a hair cut?
+
+
+Hi! My name is @@.
+Oi! Meu nome é @@.
+
+Hi, @@.
+Oi, @@.
+
+Hi, I'm Woody!
+Oi, sou o Woody!
+
+Hi, I'm too busy to talk right now, please go away. Very pressing matters at hand.
+Oi, estou muito ocupada para conversar agora, por favor, vá embora. Questões muito prementes na mão.
+
+Hi, nice to see you!
+Oi, bom te ver!
+
+Hi.
+Oi.
+
+Hi. Are you here to get luggage?
+
+
+Hi. Come to the bakery!
+
+
+Hi. Could you perhaps be interested in doing some small errand for me?
+Oi. Você poderia estar interessado em fazer uma pequena incumbência para mim?
+
+Hi. Do you need something?
+
+
+Hi. I have questionable items of questionable origins for you.
+
+
+Hi. My back hurts!
+
+
+Hi. My captain believe the world is round, can you believe that?
+
+
+Hi. My ship is about to set sail, we'll try to find somewhere better to live than this ruined place!
+
+
+Hi. Thanks for the pie.
+
+
+Hi. This is a very historic building - the former residence of the red queen no less!
+
+
+Hi. Working on the docks can be hard, but I'm glad I at least get to eat!
+
+
+High Council Secretary
+
+
+High Priest Card
+Cartão Sumo Sacerdote
+
+Highly strong and bulky, faces their foes head-on.
+Altamente forte e volumosa, enfrenta seus inimigos de frente.
+
+Hihihi... Thanks! Here, you can keep this.
+
+
+Hinnak
+Hinnak
+
+Hire a mercenary
+Contratar um mercenário
+
+His daughter, Airlia, is not air-headed as her mother Lia. Try asking her instead.
+Sua filha, Airlia, não é cabeça-aérea como sua mãe Lia. Tente perguntar a ela em vez disso.
+
+His golden ring pops right out of it.
+Seu anel de ouro sai direto dele.
+
+His policy is to never read a letter without the sender being present. Of course we checked for poison and traps.
+Sua política é nunca ler uma carta sem o remetente estar presente. Claro que checamos veneno e armadilhas.
+
+Hit the ground, exploding the surroundings and disabling enemies.
+Bateu no chão, explodindo os arredores e incapacitante inimigos.
+
+Hit'n'run is not so hard... One hit, one step back... One hit, another step back... One miss, two steps back...
+Hit'n'run não é tão difícil ... Um golpe, um passo para trás ... Um golpe, outro passo para trás ... Uma falta, dois passos para trás ...
+
+Hm hm. Thanks for the report. Well, as you could have suspected... I knew that all along.
+Hm hm Obrigado pelo relatório. Bem, como você poderia ter suspeitado ... Eu sabia disso o tempo todo.
+
+Hm hm. This sounds pretty concerning. Aiming at Sages is also a smart move, as they compose the Alliance Council.
+Hm hm Isso parece bastante preocupante. Visar os Sábios é também uma jogada inteligente, pois eles compõem o Conselho da Aliança.
+
+Hm, I would also do some quests if I needed money... On other hand, maybe I could go fishing? Do I know any fisher?
+Hm, eu também faria algumas quests se eu precisasse de dinheiro ... Por outro lado, talvez eu pudesse pescar? Eu conheço algum pescador?
+
+Hm, can we talk again later?
+Hm, podemos conversar mais tarde?
+
+Hm, do you perhaps know where to find Cindy and could help me?
+Você sabe onde encontrar a Cindy e poderia me ajudar?
+
+Hm, good luck out there.
+Boa sorte lá fora.
+
+Hm, groceries? Well, figure out Naem would ask someone to deliver them.
+
+
+Hm, thanks for your report. This is most useful. Here, drink this.
+
+
+Hm, would "Cindy" be a small, little girl, kidnapped by some sturdy-looking rogue Yetis?
+
+
+Hm. Then please don't disturb me, I'm trying to concentrate.
+Hm Então, por favor, não me perturbe, estou tentando me concentrar.
+
+Hm... Shhhh...
+Hm ... Shhhh ...
+
+Hmm hmm! Then, let's begin.
+Hmm hmm! Então, vamos começar.
+
+Hmm what is it?
+
+
+Hmm, I think I can teach you a basic Mana Skill now. That one is pretty simple.
+Hmm, acho que posso te ensinar uma habilidade básica de mana agora. Essa é bem simples.
+
+Hmm, I think I can teach you a basic Mana Skill now. This one is more advanced, though.
+Hmm, acho que posso te ensinar uma habilidade básica de mana agora. Este é mais avançado, no entanto.
+
+Hmm, Nivalis is a wonderful place to live in! Although it is a tad too cold on Winter...
+Hmm, Nivalis é um lugar maravilhoso para se viver! Embora seja um pouco frio demais no inverno ...
+
+Hmm, Woodlands is a wonderful place to live in! Although Thorn gets really a thorn in my boots during spring...
+Hmm, Woodlands é um lugar maravilhoso para se viver! Embora Thorn tenha realmente um espinho nas minhas botas durante a primavera ...
+
+Hmm, it might be a hunch but... Can you tell me if there were any unusual visitors before the incident?
+Hmm, pode ser um palpite, mas ... Você pode me dizer se houve algum visitante incomum antes do incidente?
+
+Hmm, it's very interesting, very ... (mumbling).
+Hmm, é muito interessante, muito ... (resmungando).
+
+Hmm, no, I shouldn't go back there...
+Hmm, não, eu não deveria voltar lá ...
+
+Hmm, no, not really. However, I can try my hand at tweaking an item options :3
+Hmm, não, não realmente. No entanto, posso tentar minha mão em aprimorando uma opções de itens: 3
+
+Hmm, that's some progress. Nobody goes to the beach because of these slimes, but it looks like this might change sometime soon.
+
+
+Hmm, who are you?
+Hmm, quem é você?
+
+Hmm... First of, I would really add some agility. Agility helps you to don't be hit, and not being hit is awesome.
+Hmm ... Primeiro, eu realmente adicionaria alguma agilidade. Agilidade ajuda você a não ser atingido, e não ser atingido é impressionante.
+
+Hmm... I can handle cooking during normal days. Christmas is the problem. I never have enough sweeties by then...
+Hmm ... eu posso aguentar cozinhar durante dias normais. Natal é o problema. Eu nunca tenho doces o suficiente até então ...
+
+Hmm... See, the thing is that transmuting living beings is not normally something that transmutation magic can do.
+Hmm ... Veja, a coisa é que transmutando seres vivos normalmente não é algo que a transmutação mágica pode fazer.
+
+Hmm... That's a though question!
+Hmm ... Isso é uma pergunta!
+
+Hmm... Thinking well...
+Hmm ... pensando bem ...
+
+Hmm... sorry but gotta go...
+Hmm ... desculpe mas tenho que ir ...
+
+Hmm...actually, nevermind.
+
+
+Hmmm... Yummy!
+Hmmm ... gostoso!
+
+Hmpf! Coffee is an heresy!
+Hmpf! O café é uma heresia!
+
+Hmpf, for a %s, you're a bit resourceful.
+
+
+Hmpf, if %s was still around... He sealed the path to Aethyr, the sacred elf land. I'm sure he could protect Frostia from the likes of you as well!
+
+
+Hmpf, it's good to see you're at least trying to follow Wyara's example.
+Hmpf, é bom ver que você está pelo menos tentando seguir o exemplo de Wyara.
+
+Hmpf. A pleasure doing business with you.
+
+
+Hmpf. That'll do.
+
+
+Hmpf. Wise choice.
+Hmpf. Escolha sábia.
+
+Hmph, that would only incite bad behavior! No way!
+Hmph, que o mau comportamento única incite! De jeito nenhum!
+
+Hmph, you are the second activist I see today! TO THE BRIG!
+Hmph, você é a segunda ativista vejo hoje! À BRIG!
+
+Ho! I'll help them!
+Ho! Eu vou ajudar eles!
+
+Ho... I see you are a tough one...
+Ho ... Eu vejo que você é um cara difícil ...
+
+Hocus Pocus
+
+
+Hocus Said So Challenge
+
+
+Hocus#MOLY0100
+
+
+Hocus#MOLY0200
+
+
+Hocus#MOLY0300
+
+
+Hocus#MOLY0400
+
+
+Hocus#MOLY0500
+
+
+Hocus#MOLY0600
+
+
+Hocus#MOLY0700
+
+
+Hocus#MOLY0800
+
+
+Hocus#MOLY0900
+
+
+Hocus#MOLY1000
+
+
+Hocus#MOLY1100
+
+
+Hocus#MOLY1200
+
+
+Hoh, I see this %s you've been using. Do you desire for more power?
+
+
+Hold your horses, %s. You are not the party leader.
+
+
+Holy Light
+Santa Luz
+
+Holy Pixie
+Santa Pixie
+
+Homun Stat Reset Potion
+
+
+Homunculus are a bit dumb, although the ones I've cultivated and took personal care of can express reactions. In future, I'll research sentience.
+Os homúnculos são um pouco idiotas, embora os que eu tenha cultivado e cuidado pessoal possam expressar reações. No futuro, vou pesquisar senciência.
+
+Homunculus stats were reset!
+
+
+Honey
+
+
+Honor Points: %s
+Pontos de Honra:% s
+
+Honor only applies to PvP fights. It can be seen on "%s" and rewards are given monthly for it.
+
+
+Hooded Assassin
+Assassino com capuz
+
+Hooded Ninja
+Ninja encapuçado
+
+Hopefully, you'll find something interesting on it to serve as a payment. It's up to luck, I guess....
+Com sorte, você vai encontrar algo interessante sobre ele para servir como um pagamento. Cabe a sorte, eu acho ....
+
+Hoping for the best, but prepared for the worst, you set off to the legendary continent of Kolev; Your destination: Artis.
+
+
+House Maggot
+Verme Doméstico
+
+Houses, Exit
+Casas, Exit
+
+Houses, Lake Of Tears
+Casas, Lake Of Tears
+
+Housing Letter I
+Carta de Habitação I
+
+Housing Letter I for 11,000 GP
+Carta de Habitação I para 11.000 GP
+
+Housing Letter II
+Carta de Habitação II
+
+Housing Letter II for 101,000 GP
+Carta de Habitação II para 101.000 GP
+
+Housing Letter III
+Carta de Habitação III
+
+Housing Letter III for 1,001,000 GP
+Carta de Habitação III para 1,001,000 GP
+
+How about this, I can teach you how to be a tiny bit faster, so you can use heavier armor. I'll even give you a discount. Give it some thought, come back to me after you make up your mind.
+
+
+How can I complete a craft?
+Como posso completar um ofício?
+
+How can I get iron ingot?
+Como posso obter lingotes de ferro?
+
+How can I help you, my friend?
+
+
+How can I help you?
+
+
+How can I obtain casino coins?
+Como posso obter moedas de casino?
+
+How can I reach the Land Of Fire?
+Como posso alcançar a Terra do Fogo?
+
+How did I got here?
+
+
+How did you end up here?
+Como você acabou aqui?
+
+How did you even get here? Go back to Candor, where you belong!
+Como você chegou até aqui? Volte para Candor, onde você pertence!
+
+How did you even got here? There are dangerous swamps north, and dangerous deserts south...
+Como você chegou aqui? Há pântanos perigosos ao norte e desertos perigosos ao sul ...
+
+How did you get down there?
+Como você chegou lá embaixo?
+
+How did you got that much? Nine gifts, and 51200 if you want even more.
+Como você conseguiu tanto? Nove presentes e 51200 se você quiser ainda mais.
+
+How did you guess that?
+Como você adivinhou isso?
+
+How do I advance in Mana Magic? How it works?
+Como faço para avançar na magia de Mana? Como funciona?
+
+How do I get magic?
+Como faço para obter magia?
+
+How do I hunt monsters?
+
+
+How do I make money?
+Como faço dinheiro?
+
+How do I save items?
+Como faço para salvar itens?
+
+How do I save money?
+Como poupar dinheiro?
+
+How do I see my items?
+
+
+How do I talk with someone?
+
+
+How do I trade with other players?
+
+
+How do you even prove amnesia, anyway?
+Como você mesmo provar amnésia, de qualquer maneira?
+
+How do you know my name?
+
+
+How does Gambling works?
+Como é que Gambling obras?
+
+How does spinning works?
+Como funciona a fiação?
+
+How is *hic* it possible?
+Como isso *hic* é possível?
+
+How is your purge going? I hope you had success at it!
+Como vai o seu expurgo? Eu espero que você tenha tido sucesso nisso!
+
+How many %s should I attach?
+Como s muitos% devo juntar?
+
+How many batches do you want to produce? (max. 5)
+Quantos lotes você quer produzir? (max. 5)
+
+How many chocolate do you want to send? You can trade: @@
+Quantos chocolates você quer enviar? Você pode negociar: @@
+
+How many did you need again?
+Quantos você precisou novamente?
+
+How many do you want to sell? You currently have @@ @@.
+Quantos você quer vender? Você tem atualmente @@ @@.
+
+How many heads does Zaphod Beeblebrox have? Numbers only.
+Quantas cabeças tem Zaphod Beeblebrox? Apenas números.
+
+How many ingots do you want to make?
+Quantos lingotes você quer fazer?
+
+How many lives will be claimed until he is put to rest?
+
+
+How many pints of beers should you drink before hitchhiking? Numbers only.
+Quantas doses de cervejas você deve beber antes de pegar carona? Apenas números.
+
+How many points? (0-%d)
+
+
+How many steps?
+Quantos passos?
+
+How many to brew? (%d-%d)
+
+
+How many?
+Quantos?
+
+How many? Max. @@
+Quantos? Max. @@
+
+How may I help you?
+Como posso ajudá-lo?
+
+How much coffee you'll give Jhon?
+
+
+How much do you want to deposit?
+Quanto você quer depositar?
+
+How much do you want to withdraw?
+Quanto você quer retirar?
+
+How much honey will you give it? (You have: %d)
+
+
+How much would be the budget for Fur Boots?
+Quanto seria o orçamento para Botas de Pele?
+
+How powerful they were or are, their cruelty, their judgment against the Terranite Civilization and the other bloody details of the legend... I cannot confirm them to you.
+Quão poderosos eles eram ou são, sua crueldade, seu julgamento contra a Civilização Terranita e os outros detalhes sangrentos da lenda ... Eu não posso confirmá-los para você.
+
+How powerfully do you want to shoot?
+Quão poderosamente você quer atirar?
+
+How to better preserve your dispostives:
+Como preservar melhor seus dispostives:
+
+How to expand this limit? Well, you'll need to touch a Mana Stone. If you can handle more raw power, your limit will extend.
+Como expandir esse limite? Bem, você precisa tocar a Pedra Mana. Se você pode lidar com o poder mais cru, o limite vai estender.
+
+How to use best Warp Technology?
+Como usar a melhor tecnologia Warp?
+
+How will you respond?!
+Como você vai responder?
+
+How's that even possible? Well, 30 @@ for all contestants!
+Como isso é possível? 30% para todos os competidores!
+
+Howdy! Lately I feel like a placeholder, just surviving on these harsh lands.
+
+
+Howdy! Mirio and I scout this canyon to protect our clan. I am also a retired assassin, maybe someday I can exchange some knowledge with you! Hahaha!
+
+
+Howdy! Pachua and I scout this canyon to protect our clan. I acknowledge only those whom are fast like the wind! I would love to challenge you for a race... But not today.
+
+
+Howdy, partner! Man, you have no idea how I'm hungry. Been scouting this canyon for weeks, under the scorching sun, and there's only snake meat to eat... I'm get tired of this repulsive stuff.
+
+
+Howdy?
+Olá?
+
+However, %s stole the treasures which were being showcased!
+No entanto,% s roubou os tesouros que estavam sendo exibidos!
+
+However, I am still up for trading cards, if you wish.
+
+
+However, I need a tax to start, and you need to arrange players. There are no refunds.
+No entanto, preciso de um imposto para começar e você precisa organizar os jogadores. Não há reembolso.
+
+However, I need to see at least three volunteers here, to allow you in.
+No entanto, eu preciso ver pelo menos três voluntários aqui, para permitir que você entre.
+
+However, I still have hope. Dimond's secret recipe. Ah, but I can't get the ingredients for it...
+No entanto, ainda tenho esperança. Receita secreta de Dimond. Ah, mas eu não posso pegar os ingredientes para isso ...
+
+However, LoF admins and developers are working on a new game to offer a new experience for players.
+No entanto, os administradores e desenvolvedores do LoF estão trabalhando em um novo jogo para oferecer uma nova experiência para os jogadores.
+
+However, an account may only apply for an office weekly.
+No entanto, uma conta só pode candidatar-se a um semanário escritório.
+
+However, as long as you remain seated and immobile, the spell will slowly destroy the seal.
+No entanto, contanto que você permanecer sentado e imóvel, o feitiço vai lentamente destruir o selo.
+
+However, by casting %s here, we'll be able to weaken the seal!
+No entanto, lançando% está aqui, nós vamos ser capazes de enfraquecer o selo!
+
+However, chants can also inflict ailments or even summon creatures.
+
+
+However, each group may be expanded later. You can reset group by clearing the Master Floor.
+No entanto, cada grupo pode ser expandido posteriormente. Você pode redefinir o grupo limpando o Piso Principal.
+
+However, for a few months already, nothing else has been heard from that town, and all contact was lost.
+
+
+However, if town has less than 15 reputation, they'll need to re-apply manually, and may lose the office for the bot account.
+
+
+However, if we waste the ship's money in beer, Nard will get mad.
+No entanto, se desperdiçarmos o dinheiro do navio em cerveja, Nard ficará furioso.
+
+However, it can be unlocked if you know the password:
+No entanto, pode ser desbloqueado se você souber a senha:
+
+However, it comes back crying! Poor teddy, it got attracted by a sweet smell but it found a %s instead!
+
+
+However, it stops abruptly and quickly moves away from it.
+
+
+However, it's also possible they're there already. Be careful for ambushes!
+No entanto, também é possível que eles estão lá já. Tenha cuidado para emboscadas!
+
+However, our skill growth rate is much smaller than those of humans.
+No entanto, nossa taxa de crescimento de habilidades é muito menor que a dos seres humanos.
+
+However, she may have a better assessment of the current situation better than you and your allies.
+No entanto, ela pode ter uma melhor avaliação da situação atual melhor do que você e seus aliados.
+
+However, that is not exactly a popular idea around here. The fae seem more concerned with snakes.
+
+
+However, the Army seems to walk away after some time.
+
+
+However, the fate of this world is at your hands. I shall not allow the Moubootaur to cause havoc.
+
+
+However, the legend said there was a way to prevent this disaster. A single way... Which the Ancient Families of Soul Menhir kept a secret passed down between generations.
+No entanto, a lenda disse que havia uma maneira de evitar esse desastre. Um único caminho ... Que as Famílias Antigas de Menhir da Alma mantinham um segredo transmitido entre gerações.
+
+However, the log breaks with a loud crack.
+No entanto, o log quebra com um estalo alto.
+
+However, there's a link to get a simple python bot software!
+No entanto, há um link para obter um software simples python bot!
+
+However, they must visit their town office and do daily paperwork, every day. Otherwise, town reputation will go down.
+No entanto, eles devem visitar seu escritório da cidade e fazer a papelada diária, todos os dias. Caso contrário, a reputação da cidade vai cair.
+
+However, this only distracts him for a short while. Soon after, he returns to his small ritual with the pot.
+
+
+However, watch out!
+
+
+However, we must defeat the commanders to avoid major damage to them!
+
+
+However, you need a %s or a Fishing Net. There's one fisherman in Tulimshar Center, called Eugene. He should have one, but he lives isolated on a small island... Good luck getting to him.
+No entanto, você precisa de um% s ou uma rede de pesca. Há um pescador em Tulimshar Center, chamado Eugene. Ele deve ter um, mas ele vive isolado em uma pequena ilha ... Boa sorte para conseguir a ele.
+
+However, you should only give food when it's hungry, otherwise it'll believe you're a bad owner and intimacy will decrease.
+No entanto, você só deve dar comida quando estiver com fome, caso contrário, acreditará que você é um mau dono e a intimidade diminuirá.
+
+However, you'll need to keep cooperating with me. Trust me, this incident and what you look for it is closely related.
+No entanto, você precisará continuar cooperando comigo. Confie em mim, este incidente e o que você procura está intimamente relacionado.
+
+However, your guild just challenged Kamelot Dungeons.
+No entanto, sua aliança apenas desafiado Kamelot Dungeons.
+
+However...
+Contudo...
+
+Huge area of effect fire damage. May burn targets.
+enorme área de danos efeito de fogo. Pode queimar alvos.
+
+Hum, Which type of favor?
+Hum, que tipo de favor?
+
+Hum, how many gem powders can I get from one gem?
+Hum, quantos gems posso obter de uma gema?
+
+Hum... I'm not really good at it.
+Hum ... eu não sou muito bom nisso.
+
+Human
+Humano
+
+Human Voice
+Voz Humana
+
+Humans never built a settlement there. But the prophecy is there.
+Os humanos nunca construíram um assentamento lá. Mas a profecia está aí.
+
+Hungry Quirin Arena Information
+Hungry Quirin Arena Informação
+
+Hungry Quirin Arena Rules
+Regras do Hungry Quirin Arena
+
+Hunter.
+
+
+Hurns Warp Crystal
+Hurns Warp Crystal
+
+HurnsShip#M
+NavioHurns#M
+
+Hurnscald
+Hurnscald
+
+Hurnscald - @@ GP
+Hurnscald - @@ GP
+
+Hurnscald Liberation Day special event
+Evento especial do Dia da Libertação de Hurnscald
+
+Hurnscald Mines
+Minas Hurnscald
+
+Hurnscald Office
+Escritório Hurnscald
+
+Hurnscald Townhall
+Hurnscald Townhall
+
+Hurnscald is a large city. I'm sure glad I live in Candor because I know where everything's at.
+Hurnscald é uma cidade grande. Tenho certeza que estou feliz em viver em Candor porque eu sei onde tudo está.
+
+Hurnscald was founded after Tulimshar, in more fertile lands. Their walls are not so sturdy as the ones of Tulimshar.
+Hurnscald foi fundada depois de Tulimshar, em terras mais férteis. Suas paredes não são tão resistentes como as de Tulimshar.
+
+Hurnscald's Nurse
+Enfermeira de Hurnscald
+
+Hurnscald? Small farming towns are always nice to visit.
+Hurnscald? Pequenas cidades agrícolas são sempre boas para visitar.
+
+Hurnsguard
+Hurnsguard
+
+Hurry up! Bring a @@ from Barzil in Halinarzo!! You only have @@ left!
+Se apresse! Traga um @@ do Brasil em Halinarzo !! Você só tem @@ esquerda!
+
+Hurry up, before the wind changes.
+Apresse-se, antes que o vento mude.
+
+Hurry up, you'll run out of time in @@!
+Apresse-se, você vai ficar sem tempo em @@!
+
+Hwaaaah... Man, I'm bored. Will you be getting @@?
+Hwaaaah ... Cara, estou entediado. Você vai estar recebendo @@?
+
+Hwellow. I am a boring NPC which makes green dye.
+Hwellow Eu sou um NPC chato que faz corante verde.
+
+I HAVE WARNED YOU!!!!!
+Eu já avisei !!!!!
+
+I NEVER TOUCHED THE SOUL MENHIR! I SWEAR YOU, I'M INNOCENT! PLEASE HAVE MERCY!!
+Eu nunca toquei A ALMA MENHIR! Eu juro que você, eu sou inocente! POR FAVOR TENHA MISERICÓRDIA !!
+
+I actually have a special class for those with perfect magical control like you.
+
+
+I actually have them, here.
+Eu realmente os tenho aqui.
+
+I actually need help. I am a mage, and I'm feeling lazy to get the stuff I need.
+Eu realmente preciso de ajuda. Eu sou um mago e estou com preguiça de pegar as coisas que preciso.
+
+I actually need help. Padric and I were doing some research with catalysts, you see.
+Eu realmente preciso de ajuda. O Padric e eu estávamos fazendo algumas pesquisas com catalisadores, entende?
+
+I advise you to do more quests on Tulimshar and Candor, otherwise, you will fail right at the end.
+Eu aconselho você a fazer mais missões em Tulimshar e Candor, caso contrário, você falhará no final.
+
+I agree with you. Most of these materials can't even be found on Nivalis.
+Eu concordo com você. A maioria desses materiais não pode ser encontrada no Nivalis.
+
+I already did everything I could with this. What am I waiting for?
+
+
+I already got enough %s, thank you.
+Eu já tenho o suficiente% s, obrigado.
+
+I already have a Forest Bow.
+Eu já tenho um Forest Bow.
+
+I already have that...
+Eu já tenho isso ...
+
+I already told you he is out! Why do you even want to talk to him?! Haven't I told you to... to... leave me alone!?
+Eu já te disse que ele está fora! Por que você quer falar com ele ?! Eu não te disse para ... me deixar em paz?
+
+I already took my share from this chest.
+
+
+I already visited this warp.
+Eu já visitou este warp.
+
+I also brew some of the crops, making Beer. And then I sell to adventurers!
+Eu também preparo algumas das colheitas, fazendo cerveja. E então eu vendo para aventureiros!
+
+I also broke my bones, and I was equipping a weapon which prevents HP regen...
+Eu também quebrei meus ossos, e eu estava equipando uma arma que impede a regeneração da HP ...
+
+I also do not keep any stock of them. If you really want it, you can bring me some Raw Logs. I'll show you which one is the good one. Deal?
+Eu também não guardo nenhum estoque deles. Se você realmente quiser, pode me trazer alguns Raw Logs. Eu vou te mostrar qual é o melhor. Combinado?
+
+I also hear fisherman likes to fish at night. They say the catch is bigger, if you understand me.
+Eu também ouço que pescadores gostam de pescar à noite. Eles dizem que a pesca é maior, se você me entende.
+
+I also see you have a level @@ magic skill!"
+
+
+I always do shady deals. *cough cough* %s GP.
+
+
+I always keep my end on the bargain, so here you go.
+Eu sempre mantenho meu fim no trato, então aqui vai você.
+
+I always thought it was a bad idea to play around with the slimes. And as if holding them in here isn't bad enough, no, they also had to mess around with magic.
+Eu sempre achei que era uma má ideia brincar com os slimes. E como se segurá-los aqui não fosse ruim o suficiente, não, eles também tinham que mexer com magia.
+
+I always wanted to live in this town. I'm glad I managed to move from LoF Village to here.
+Eu sempre quis morar nessa cidade. Estou feliz por ter conseguido me mudar da LoF Village para cá.
+
+I always wanted to taste a %s! But they don't grow anywhere, and I've heard the only way to obtain one is from %s. Unfortunately, I do not favor violence, so... Could you get one for me?
+
+
+I always wonder if I should raise my price to teach bad kids to don't lie.
+Eu sempre me pergunto se eu deveria aumentar meu preço para ensinar as crianças más a não mentirem.
+
+I am %s, a piou alchemist specializing in reset and agility potions.
+
+
+I am @@, an alchemist specialized in reset potions.
+Eu sou @@, um alquimista especializado em poções de reinício.
+
+I am @@, and I take care of the Arena.
+Eu sou @@ e cuido da Arena.
+
+I am @@, guardian of Candor Cave. Below this cave, lies the legendary Fefe, arch-wizard from the Great War.
+Eu sou @@, guardião da Candor Cave. Abaixo desta caverna, encontra-se o lendário Fefe, arqui-feiticeiro da Grande Guerra.
+
+I am @@, student from the ancient secrets of the Mage of Time, Ozthokk.
+Eu sou @@, estudante dos antigos segredos do Mago do Tempo, Ozthokk.
+
+I am @@, the only mage in Candor.
+Eu sou @@, a única maga em Candor.
+
+I am Bella, the Scholar.
+Eu sou Bella, o estudioso.
+
+I am Elli. One of the Originals.
+
+
+I am Quirino Voraz, and my arena is the coolest PVP Arena on all Mana Worlds.
+Eu sou Quirino Voraz, e minha arena é a mais legal PVP Arena em todos os Mana Worlds.
+
+I am Yetifly the Mighty, guardian of the fae!
+
+
+I am Zarkor, the Dark Summoner. I want to do a dark summoning ritual, but there are strings attached.
+Eu sou Zarkor, o Dark Summoner. Eu quero fazer um ritual de invocação sombria, mas há cordões ligados.
+
+I am a GM, and I want to change my Race!
+Eu sou um GM e quero mudar minha raça!
+
+I am a bard! I used to be an elf trader, but music got me for good.
+Eu sou um bardo! Eu costumava ser um operador de elfos, mas a música me pegou para sempre.
+
+I am a brave adventurer! How can I help you?
+Eu sou um bravo aventureiro! Como posso ajudá-lo?
+
+I am a contributor, and I want contributor stuff.
+Sou colaborador e quero colaborador.
+
+I am a mage. How do I get to Academy?
+Eu sou um mago. Como faço para chegar a Academia?
+
+I am a noob and don't need you.
+
+
+I am a really good blacksmith. In fact, there is no stuff I can't fix.
+Eu sou um bom ferreiro. Na verdade, não há coisas que eu não consiga consertar.
+
+I am a thief! I want to repent for my sins!
+Eu sou um ladrão! Eu quero arrepender dos meus pecados!
+
+I am a trader from Nard's ship. We actually need supplies. Help us, and I'll help you.#0
+
+
+I am a trader from Nard's ship. We actually need supplies. Help us, and I'll help you.#1
+
+
+I am actually surprised you clicked me again. Well then, here's the Land of Fire News...
+Eu estou realmente surpreso que você me clicou novamente. Bem, então aqui está, as Notícias da Terra do Fogo...
+
+I am broken?! Please report! Debug data: @@ (@@)
+Eu estou quebrado?! Por favor reporte! Dados de Depuração: @@ (@@)
+
+I am collecting money for the Yearly Autumn Scorpion Hunter quest.
+Eu estou coletando dinheiro para a quest Yearly Scorpion Hunter.
+
+I am counting on you!
+Eu estou contando com você!
+
+I am currently in charge of overseeing the world state and the Monster King advancements, as well as planning and dealing with emergencies. The Alliance High Council is currently composed by %s members and %s honorary ones.
+
+
+I am currently very worried with them. They're just children! They don't know how to fight!
+Atualmente estou muito preocupado com eles. Eles são apenas crianças! Eles não sabem lutar!
+
+I am doing a great research with Bats, and thus far I collected @@ Bat Wings and Teeths.
+Eu estou fazendo uma grande pesquisa com morcegos, e até agora eu colecionei @@ Bat Wings and Teeths.
+
+I am happy that such responsible citizens live in Tulimshar. Thank you for your help. It's really hot nowdays!
+Estou feliz que tais cidadãos responsáveis ​​vivam em Tulimshar. Obrigado pela ajuda. Está realmente quente hoje em dia!
+
+I am his right-hand Yeti, so I could grant you passage to his Throne Room to slay the rogue Yetis...
+Eu sou o Yeti da sua mão direita, então eu poderia lhe conceder passagem para a Sala do Trono dele para matar o Yetis desonesto ...
+
+I am hungry. Can I buy some food here?
+Eu estou com fome. Posso comprar comida aqui?
+
+I am making a figurine with Bug legs for the upcoming festival.
+
+
+I am not a citizen of Candor.
+Eu não sou um cidadão de Candor.
+
+I am not a coward to run away by the back door!
+
+
+I am not a half-word man, so I won't take your fish. Come back with the money and the Roots, and I'll make the string for you.
+Eu não sou um homem de meia palavra, então não vou pegar seu peixe. Volte com o dinheiro e as raízes, e eu vou fazer a corda para você.
+
+I am not afraid of Pious.
+Eu não tenho medo de Piou.
+
+I am not content with our water supply. It gives us common water, but we of the superior race deserve better water.
+
+
+I am not done purifying the water yet. This may take years, but it'll be worth it.
+
+
+I am not sure of who makes or haves Lifestones. Try looking outside the city. Who knows.
+Eu não tenho certeza de quem faz ou tem Lifestones. Tente olhar para fora da cidade. Quem sabe.
+
+I am pleased about your progress, but you are not ready for the next step yet. Go and do some more training, before you come back.
+Estou satisfeito com o seu progresso, mas você ainda não está pronto para o próximo passo. Vá e faça mais alguns treinamentos antes de voltar.
+
+I am pleased to see that you have woken up and are active. Elmo came here to tell me this good news!#0
+Estou satisfeito em ver que você acordou e está ativa. Elmo veio aqui me contar essas boas notícias!
+
+I am pleased to see that you have woken up and are active. Elmo came here to tell me this good news!#1
+Estou satisfeito em ver que você acordou e está ativo. Elmo veio aqui me contar essas boas notícias!
+
+I am really curious what this shrine is about, though.
+Estou realmente curioso o que este santuário é sobre, no entanto.
+
+I am searching again maggot slime to craft more balls.
+Eu estou procurando novamente gosma de verme para criar mais bolas.
+
+I am sorry but I can see that you don't have all that I asked you.
+Eu sinto muito, mas eu posso ver que você não tem tudo que eu te pedi.
+
+I am sorry, but it does not look like you have everything. You will need to bring:
+
+
+I am sorry, but it seems that you don't have enough money. Come back when you have reorganized your finances.
+Desculpe, mas parece que você não tem dinheiro suficiente. Volte quando você tiver reorganizado suas finanças.
+
+I am stationed here to protect Hurnscald from monsters.
+Estou estacionado aqui para proteger Hurnscald dos monstros.
+
+I am stationed here to protect Land Of Fire from monsters.
+Estou estacionado aqui para proteger a Terra do Fogo dos monstros.
+
+I am still here, but I already did amends for my acts and don't need to flee anymore...
+Eu ainda estou aqui, mas eu já fiz penitência pelos meus atos e não preciso mais fugir...
+
+I am sure that an adventurer like you can gather everything in no time at all!
+
+
+I am sure that they will come back to haunt you in your dreams!
+Tenho certeza de que eles voltarão para assombrá-lo em seus sonhos!
+
+I am sure you already fought him. And survived, too, apparently. Help her, and I will reward your efforts appropriately.
+
+
+I am the Judge, and I shall make Judgment upon you!
+Eu sou o juiz, e eu vou fazer julgamento sobre você!
+
+I am the Magic Fountain of Hurnscald. You look qualified.
+Eu sou a fonte mágica de Hurnscald. Você parece qualificado.
+
+I am the Trader King, because I supply a market!
+Eu sou o Rei Trader, porque eu ofereço um mercado!
+
+I am the Yetifly, guardian of butter and fairies.
+Eu sou o Yetifly, guardião da manteiga e das fadas.
+
+I am too far away to talk. Weird floating thingy...
+Estou muito longe para conversar. Coisa flutuante estranha ...
+
+I am trying to fish here without success. You're weak, do not bother me.
+Eu estou tentando pescar aqui sem sucesso. Você é fraco, não me incomoda.
+
+I am trying to invent the light bulb, but my name is not Thomas...
+Estou tentando inventar a lâmpada, mas meu nome não é Thomas ...
+
+I am willing to give it to you, if help me out. I promise it won't be a bother, and it'll really be useful for you, I swear.
+Estou disposto a dar a você, se me ajudar. Eu prometo que não vai ser um incômodo, e ele vai ser realmente útil para você, eu juro.
+
+I am willing to pay @@ GP for 10 @@ you bring me!
+Estou disposto a pagar @@ GP por 10 @@, se você trazer para mim!
+
+I am willing to pay @@ GP for each you bring me! Do you want to give me ALL your @@?!
+Estou disposto a pagar @@ GP para cada um que você me trouxer! Você quer me dar todo o seu @@ ?!
+
+I am. What heroic action is needed?
+Eu sou. Que ação heróica é necessária?
+
+I asked my father and he agreed to trade it to you, so here is the last copy of the Maritime Almanac Scroll.
+Eu perguntei ao meu pai e ele concordou em trocá-lo com você, então aqui está a última cópia do Pergaminho do Almanaque Marítimo.
+
+I believe these switches control the cage's lock.
+Eu acredito que essas opções de bloqueio de controlo da gaiola.
+
+I bet you are dead tired, and the ship travel takes a long time.
+Aposto que você está morto de cansaço, ea viagem de navio leva um longo tempo.
+
+I bet you'll now ask for %s's password, and scam all their money!!
+Aposto que agora vai pedir a senha de% s, e golpe todo o seu dinheiro !!
+
+I better do this some other time...
+É melhor eu fazer isso outra hora ...
+
+I better don't bother this Yeti, before it kills me.
+É melhor eu não incomodar este Yeti, antes que isso me mate.
+
+I better leave talking to him to the guild Vice Leaders and Master.
+É melhor eu deixar de falar com ele para os vice-líderes de associações e Mestre.
+
+I better leave this crazy man to his ordeals...
+É melhor eu deixar esse homem maluco com suas provações ...
+
+I better not disturb the hut owner.
+É melhor não incomodar o dono da cabana.
+
+I better report this to Lua!
+É melhor eu reportar à Lua!
+
+I brought a souvenir for you.
+Eu trouxe uma lembrança para você.
+
+I came from The Mana World.
+
+
+I came from Thermin, a town far far away.
+Eu vim de Thermin, uma cidade muito distante.
+
+I came here to ask for help with curses.
+Eu vim aqui para pedir ajuda com maldições.
+
+I came here to report... A sabotage.
+Eu vim aqui para relatar ... Uma sabotagem.
+
+I came here to talk about the World's Edge.
+Eu vim aqui para falar sobre a borda do mundo.
+
+I came to enjoy a beautiful day with some ducks!
+Eu vim para desfrutar de um belo dia com alguns patos!
+
+I can also pay %d GP per %s.
+
+
+I can do a bug bomb right away, but I still need a few things for it!
+Eu posso fazer uma bomba de bug imediatamente, mas eu ainda preciso de algumas coisas para isso!
+
+I can do that for you, but you'll still need to go to storage to get them back.
+
+
+I can even give you the %s lumps of precious %s we would have burned. Whaddaya say, do we have a deal?
+
+
+I can fill your bottle with water for only @@ gp the bottle.
+Eu posso encher sua garrafa com água apenas por @@ gp a garrafa.
+
+I can fix this for you. Just pay me @@ GP and a @@. It'll take no time at all!
+Eu posso consertar isso para você. Apenas me pague @@ GP e um @@. Não vai demorar muito tempo!
+
+I can fuse an @@ and 20 @@, besides @@ GP, into 3~5 @@.
+Eu posso fundir um @@ e 20 @@, além @@ GP, em 3 ~ 5 @@.
+
+I can give you a rare...(cough, cough).. Mouboo Figurine for it.
+Eu posso te dar uma rara ... (tosse, tosse) .. Estatueta de Mouboo por isso.
+
+I can give you my knife if you bring me this:
+Eu posso te dar minha faca se você me trouxer isso:
+
+I can make @@ from @@, but this costs @@ GP.
+Eu posso fazer @@ de @@, mas esta @@ custos GP.
+
+I can make a @@ for just one @@ and @@ GP for my work.
+Eu posso fazer um @@ para apenas um @@ e @@ GP para o meu trabalho.
+
+I can make an @@, I still have a bottle of fairy blood, a few mana pearls, and some other rare ingredients.
+Eu posso fazer um @@, eu ainda tenho uma garrafa de sangue de fada, algumas pérolas de mana e alguns outros ingredientes raros.
+
+I can make some stuff with it, but I have no idea where it can be found. Mylarin dust... amazing.
+Eu posso fazer algumas coisas com isso, mas não tenho idéia de onde ele pode ser encontrado. Poeira Mylarin ... incrível.
+
+I can make three types of Agility Potions, which would you like?
+
+
+I can make you a @@, and for that I will want a @@ and 500 GP.
+Eu posso te fazer um @@, mas por isso vou querer um @@ e 500 GP.
+
+I can protect myself, so it should attack from afar.
+Eu posso me proteger, então deve atacar de longe.
+
+I can prove you my worth!
+Eu posso te provar meu valor!
+
+I can rent it to you for 300 GP, during 15 minutes. Deal?
+Eu posso alugá-lo para você por 300 GP, durante 15 minutos. Combinado?
+
+I can sell you the Pickaxe for @@ GP if you have and @@ the remaining equipment.
+Eu posso vender-lhe o Picareta para @@ GP se você tem e @@ o restante equipamento.
+
+I can send you to at least five from the seven cave levels this dungeon have.
+Eu posso mandar você para pelo menos cinco dos sete níveis de caverna que esta masmorra possui.
+
+I can summon the BOSS for the level 0~20 area.
+Eu posso convocar o BOSS para a área de nível 0 ~ 20.
+
+I can summon the BOSS for the level 21~40 area.
+Eu posso convocar o BOSS para a área de nível 21 ~ 40.
+
+I can teach you these bonuses, but more powerful bonuses require more skill to learn... And I don't know anyone who could improve your crafting skill...
+Eu posso te ensinar esses bônus, mas bônus mais poderosos requerem mais habilidade para aprender ... E eu não conheço ninguém que possa melhorar sua habilidade de criar ...
+
+I can trade some with you. Just bring me the following cash payment and supplies:
+
+
+I can vouch for you, but only if you help me first!
+Eu posso garantir para você, mas só se você me ajudar em primeiro lugar!
+
+I can walk, I'm just... Trapped here. That's why I need someone to help me to cultivate my wose part!
+Eu posso andar, Eu sou apenas ... Preso aqui. É por isso que eu preciso de alguém para me ajudar a cultivar minha parte wose!
+
+I can warp you home now.
+Eu posso te deformar para casa agora.
+
+I can't believe it took so long to fix... And worse, next spring it'll be the same story all over again...
+Eu não posso acreditar que demorou tanto para consertar ... E pior, na próxima primavera será a mesma história mais uma vez ...
+
+I can't believe it! You've brought me @@ @@!
+Eu não posso acreditar! Você me trouxe @@ @@!
+
+I can't believe it.
+
+
+I can't give you the Apple I've stole. Because, I was stolen first!
+Eu não posso dar-lhe o Apple I já roubou. Porque, eu foi roubado em primeiro lugar!
+
+I can't handle it anymore! NO MORE!
+Eu não aguento mais! NÃO MAIS!
+
+I can't sleep, so I'm writing this entry. It'll take a considerable amount of time to decrypt the shield frequency Raid is using, and when Saul's army is marching towards their deaths, time is of essence. Every second I waste, is a comrade who will die.
+
+
+I can't stay here and talk all day. I have a job to do.
+Eu não posso ficar aqui e conversar o dia todo. Eu tenho um trabalho a fazer.
+
+I can't use the shovel here.
+Eu não posso usar a pá aqui.
+
+I can't, sorry.
+Eu não posso, desculpe.
+
+I can't. Rakinorf told me I should bring this matter to you instead.
+Eu não posso. Rakinorf me disse que eu deveria trazer esse assunto para você.
+
+I cannot answer you about yourself, but I can tell you about the Ancient Families and the World Edge. Which is classified information, by the way.
+Não posso lhe responder sobre você, mas posso contar-lhe sobre as Famílias Antigas e a Borda Mundial. Qual é a informação classificada, a propósito.
+
+I cannot be alone to summon the Yeti King.
+Eu não posso estar sozinho para convocar o Rei Yeti.
+
+I cannot in good faith ask someone with so little experience to risk their life for something so trivial.
+
+
+I cannot just give it to you for nothing. Run to Elanore and fetch me a @@. You need to make a new one, an old one I won't accept.
+Eu não posso simplesmente dar a você por nada. Corra para Elanore e me traga um @@. Você precisa criar um novo, um antigo eu não vou aceitar.
+
+I cannot leave until Luvia and her allies are dead.
+
+
+I cannot melt this. I only melt down equipment, and not everything I know how to!
+Eu não posso derreter isso. Eu só derreto equipamentos, e não tudo o que sei fazer!
+
+I cannot pass, because I am only level @@.
+Não posso passar, porque sou apenas level @@.
+
+I cannot read the signs from this far away.
+Não consigo ler os sinais daqui.
+
+I certainly can't get out on my own.
+Eu certamente não posso sair sozinha.
+
+I changed my mind, I think I would like a copy!
+Mudei de ideia, acho que gostaria de uma cópia!
+
+I changed my mind, goodbye.
+
+
+I changed my mind.
+Mudei de ideia.
+
+I charge a service fee of @@ GP, and two gemstones.
+Eu cobro uma taxa de serviço de @@ GP e duas pedras preciosas.
+
+I collect them.
+Eu coleciono eles.
+
+I come here frequently to trade. It is not deserted nor boring.
+Eu venho aqui frequentemente para negociar. Não é deserta nem entediante.
+
+I could easily bake one for you, provided you bring me the following:
+Eu poderia facilmente fazer um para você, desde que você me traga o seguinte:
+
+I could explain this better, but you are just a noob at magic, if you understand me.
+Eu poderia explicar isso melhor, mas você é apenas um noob em magia, se você me entende.
+
+I could make ink myself, but I am lacking some material...
+Eu mesmo poderia fazer tinta, mas falta algum material ...
+
+I could not be the Bandit King. But once I steal all Mana Stones, I'll be not only the best thief in the world. I already decided my new title.
+Eu não poderia ser o Rei Bandido. Mas uma vez que roubo todas as Mana Stones, serei não apenas o melhor ladrão do mundo. Eu já decidi meu novo título.
+
+I currently have some pets with me. For most, you need to finish their Grand Hunter Quest, of course.
+Atualmente tenho alguns animais de estimação comigo. Para a maioria, você precisa terminar sua Grand Hunter Quest, é claro.
+
+I did a travel to their cave, I wondered why their faces are never seen. Reason is that they're monsters.
+Eu fiz uma viagem para a caverna deles, me perguntei por que seus rostos nunca são vistos. Razão é que eles são monstros.
+
+I did not summon you, I'm just a passer-by. Sorry.
+Eu não convoquei você, sou apenas um transeunte. Desculpa.
+
+I did nothing wrong! I am not AFK!
+Não fiz nada de errado! Eu não sou AFK!
+
+I did some tritan friends, though. They teached me how to breath underwater. It's not so bad.
+Eu fiz alguns amigos tritanos, no entanto. Eles me ensinaram a respirar debaixo d'água. Não é tão ruim.
+
+I disguise myself into a giant mutated bat, but every time I break or lose my fake teeth.
+Eu me disfarço em um morcego gigante mutante, mas toda vez que eu quebro ou perco meus dentes falsos.
+
+I do not have Everburn Powder to lit the torch.
+Eu não tenho Everburn Powder para acender a tocha.
+
+I do not know how to trigger this summoning circle.
+Eu não sei como acionar este círculo de invocação.
+
+I do not like him, but even so, he keeps bothering me! Maybe I could out-impress him, though!
+Eu não gosto dele, mas mesmo assim, ele continua me incomodando! Talvez eu pudesse impressioná-lo, embora!
+
+I do now know what this means: GS-@@-ICXN-@@
+Agora sei o que isso significa: GS - @@ - ICXN - @@
+
+I do some research about evolution of snake skin subject to hard sunlight.
+Eu faço algumas pesquisas sobre a evolução da pele de cobra, sujeita à luz solar forte.
+
+I do. I want to challenge the Candor Cave!
+Eu faço. Eu quero desafiar a Caverna de Candor!
+
+I don't believe you.
+Eu não acredito em você.
+
+I don't care about dirty miners problem.
+Eu não me importo com o problema dos mineiros sujos.
+
+I don't care for equipment, gimme a snake skin.
+Eu não ligo para equipamentos, me dê uma pele de cobra.
+
+I don't care for shorts, gimme a snake skin.
+Eu não ligo para shorts, me dê uma pele de cobra.
+
+I don't care for your reasons.
+Eu não ligo para as suas razões.
+
+I don't have a spare. They're *hic* done by ANISE INC., their headquarters are in Frostia.
+Eu não tenho reposição. Eles são * hic * feitos pela ANISE INC., Sua sede é em Frostia.
+
+I don't have enough money...
+Eu não tenho dinheiro suficiente ...
+
+I don't have that much money, sorry.
+
+
+I don't have the time!
+Eu não tenho tempo!
+
+I don't have them, actually.
+Eu não os tenho, na verdade.
+
+I don't have time for that.
+Eu não tenho tempo para isso.
+
+I don't have time sorry.
+Eu não tenho tempo, desculpe.
+
+I don't know
+Eu não sei
+
+I don't know for what crazy reason you might want to do this, there is absolutely no benefit to this. I think you just selected the wrong option.
+
+
+I don't know if jesusalva allow me to teach you a basic shaman skill!? .
+Eu não sei se jesusalva me permite ensinar-lhe uma habilidade básica xamã! .
+
+I don't know if our clan will survive for much longer. Do you have any questions before we all die and our knowledge gets forgotten?
+
+
+I don't know what you did, but both the Ducks and Blubs did got scared. I thank you in the name of the city guard. Please come back later.
+Eu não sei o que você fez, mas tanto os Patos quanto os Blub ficaram com medo. Agradeço-lhe em nome da guarda da cidade. Por favor, volte mais tarde.
+
+I don't know what, but it is
+Eu não sei o que, mas é
+
+I don't know who sent you to me, but this is a flat and big NO!
+Eu não sei quem te mandou para mim, mas isso é um grande NÃO!
+
+I don't know why they would repeat a past mistake. The Monster King is not human anymore. I also do not know what artifact they lost. We have more questions than certainty about this.
+
+
+I don't know, I assume the staff was burried with him on the deepest parts of the cave. If it was easy, someone would already have stolen it.
+
+
+I don't know.
+
+
+I don't know. Try getting a Rusty Knife or something. Maybe the chef of Nard's ship can spare you one.
+Eu não sei. Tente arranjar uma Faca Enferrujada ou algo assim. Talvez o chef do navio de Nard possa te emprestar uma.
+
+I don't know?
+
+
+I don't like them, I can't fly straight.
+Eu não gosto deles, não posso voar direto.
+
+I don't need anything after all, goodbye!
+
+
+I don't need help!
+Eu não preciso de ajuda!
+
+I don't need to be rescued. I'm enjoying myself here.
+
+
+I don't really understand how the dungeon works. I promise you a reward when you finish the task.
+Eu realmente não entendo como a masmorra funciona. Eu prometo uma recompensa quando você terminar a tarefa.
+
+I don't really understand it either, but it's not for sale. Maybe you could come back later so I can read more of it to you.
+Eu também não entendo, mas não está à venda. Talvez você possa voltar mais tarde para que eu possa ler mais para você.
+
+I don't remember what I need now, but if you give me a moment, I'll get the list.
+Não me lembro do que preciso agora, mas se você me der um momento, conseguirei a lista.
+
+I don't remember. I guess somebody threw me here!
+Não me lembro. Eu acho que alguém me jogou aqui!
+
+I don't suppose you have some herbs and a few bottles of potion with you, do you?
+Eu não suponho que você tenha algumas ervas e algumas garrafas de poção com você, não é?
+
+I don't think I needed to keep looking these barrels.
+Eu não acho que eu precisava para manter a procura desses barris.
+
+I don't think I needed to keep looking these potions.
+Eu não acho que eu precisava para continuar procurando essas poções.
+
+I don't think I needed to keep looking these wardrobes.
+Eu não acho que eu precisava para continuar procurando essas roupeiros.
+
+I don't think he could have collected that many!
+Eu não acho que ele poderia ter colecionado tantos!
+
+I don't think so. There have been... Incidents.
+Acho que não. Houve ... Incidentes.
+
+I don't think you have any broken item, but if a friend of mine break your stuff, come talk to me!
+Eu não acho que você tenha algum item quebrado, mas se um amigo meu quebrar suas coisas, venha falar comigo!
+
+I don't trust @@s.
+Eu não confio em @@ s.
+
+I don't understand what went wrong with that spell, but it just has to have another cause than Peetu. I'm worried about him. He must feel very miserable. But I can't leave my duty here.
+Eu não entendo o que deu errado com esse feitiço, mas isso só tem que ter outra causa do que Peetu. Estou preocupado com ele. Ele deve se sentir muito infeliz. Mas não posso deixar meu dever aqui.
+
+I don't want anything right now, bye.
+Eu não quero nada agora, tchau.
+
+I don't want her to think that I am a bad mother.
+Não quero que ela pense que sou uma mãe má.
+
+I don't want to help your "friends", bring me to somewhere useful!
+
+
+I don't work with bound items.
+Eu não trabalho com itens vinculados.
+
+I dunno. I don't think they're sold anywhere.
+Não sei. Eu não acho que eles estão em qualquer lugar vendido.
+
+I failed to protect them.
+
+
+I feel indifferent.
+
+
+I feel like a burden was lifted from my shoulders.
+
+
+I feel much safer now that you defeated the slimes. Thanks so much! Do you need anything else?
+Eu me sinto muito mais seguro agora que você derrotou os slimes. Muito obrigado! Você precisa de mais alguma coisa?
+
+I feel ok.#0
+Me sinto ok.
+
+I feel ok.#1
+Me sinto ok.
+
+I fight every day in hopes to be like Andrei, the famous hero who prevented Hurnscald from total destruction against a horde of monsters alone.
+
+
+I fight every day in hopes to meet Andrei, the famous hero who prevented Hurnscald from total destruction against a horde of monsters alone.
+Eu luto todos os dias na esperança de encontrar Andrei, o famoso herói que impediu Hurnscald de destruição total contra uma horda de monstros sozinhos.
+
+I finally figured out what was wrong. I must thank everyone who help us.
+Eu finalmente descobri o que estava errado. Eu devo agradecer a todos que nos ajudam.
+
+I forgot to say earlier, but indeed, I was invited by someone!
+Eu esqueci de dizer mais cedo, mas na verdade, fui convidado por alguém!
+
+I forgot what you need!
+Eu esqueci o que você precisa!
+
+I forgot what you need.
+Eu esqueci o que você precisa.
+
+I found %s and %s!
+
+
+I found %s!
+
+
+I found switches which only a Yeti may flip...
+Eu encontrei interruptores que apenas um Yeti pode virar ...
+
+I found your birth record, but it is not complete. Here says you were born on @@.
+Eu encontrei seu registro de nascimento, mas não está completo. Aqui diz que você nasceu em @@.
+
+I give up. You're hopeless.
+Desisto. Você é sem esperança
+
+I give you five minutes to defeat me. Witness my wrath!
+Eu te dou cinco minutos para me derrotar. Testemunhe minha ira!
+
+I go right.
+Eu vou certo
+
+I got a Wizard Hat.
+
+
+I got a Wooden Staff.
+
+
+I got the apple.
+Eu peguei a maça.
+
+I got the eggs.
+Eu peguei os ovos.
+
+I got the maggots slimes.
+Eu tenho as larvas de slimes.
+
+I got the silk and chocolate.
+Eu tenho a seda e chocolate.
+
+I guess I love the server, we all know ♪
+
+
+I guess I'll need to try to work with whatever ink is left until the supplies arrive next month...
+Eu acho que vou precisar tentar trabalhar com qualquer tinta até que os suprimentos cheguem no próximo mês ...
+
+I guess it can also be used at quests... Or sell to Juliet, on Nard's ship.
+Eu acho que também pode ser usado em quests ... Ou vender para Julieta, no navio do Nard.
+
+I guess it still remembers the sting on the snout. Ouch!
+
+
+I guess she sent you to kill another Bandit Lord, right? Ok, I'll give you the key for his room.
+Eu acho que ela mandou você matar outro Bandit Lord, certo? Ok, vou te dar a chave do quarto dele.
+
+I guess that you could use these lifestones to gain a regeneration effect, too, but I do not know how.
+Eu acho que você poderia usar esses lifestones para ganhar um efeito de regeneração também, mas eu não sei como.
+
+I guess you cannot bring more than 1kg with full health. Less, if you're hurt.
+Eu acho que você não pode trazer mais de 1 kg com a saúde completa. Menos, se você está ferido.
+
+I guess you'll need an Yeti for that, but those on the cave are murderous.
+Eu acho que você vai precisar de um Yeti para isso, mas aqueles na caverna são assassinos.
+
+I guess, there might be a single spot where water is a bit deeper, but I wasn't lucky.
+Eu acho, pode haver um único ponto onde a água é um pouco mais profunda, mas eu não tive sorte.
+
+I hate asking this of a lesser being like you, but if you plan in staying in our town, you should at very least make yourself useful.
+
+
+I hate foreigners. They know nothing about us and want to impose their "ideals" about democracy and whatever.
+
+
+I hate so much the Pinkies on my fields, I want to do a soup! Can you provide me 10 @@? Many thanks.
+Eu odeio tanto os Pinkies nos meus campos, eu quero fazer uma sopa! Você pode me fornecer 10 @@? Muito Obrigado.
+
+I hate the Red Queen.
+
+
+I hate the sea, the salty air always lets my knives rust. I already have a stockpile of rusty knives, don't even know what to do with them.
+
+
+I hate to leave you now, @@, but I have more important things to do.
+Eu odeio deixá-lo agora, @@, mas tenho coisas mais importantes a fazer.
+
+I hate you Pinkies, and I hate the Monster King too, for bringing forth these plagues!!
+Eu te odeio Pinkies, e eu odeio o Monster King também, por trazer essas pragas !!
+
+I have 5 Bandit Hoods with me.
+Eu tenho 5 capuzes de bandidos comigo.
+
+I have 5 Treasure keys with me.
+Eu tenho 5 chaves do tesouro comigo.
+
+I have a Stinger with me. Try it!
+Eu tenho um Ferrão comigo. Tente!
+
+I have a butterfly.
+
+
+I have a few items for sale...
+Eu tenho alguns itens para venda ...
+
+I have a lava mana pearl.
+
+
+I have a letter for the Mayor.
+Eu tenho uma carta para o prefeito.
+
+I have a letter from Rakinorf.
+Eu tenho uma carta de Rakinorf.
+
+I have a lot of work to do now.
+Eu tenho muito trabalho para fazer agora.
+
+I have a lot of work to do now. But before you leave...
+Eu tenho muito trabalho para fazer agora. Mas antes de sair ...
+
+I have a present box to you open.
+Eu tenho uma caixa de presente para você abrir.
+
+I have a print screen!
+Eu tenho uma tela de impressão!
+
+I have a spare pair of gloves laying somewhere, you can have those if you finish the task.
+Eu tenho um par de luvas de reposição em algum lugar, você pode tê-las se terminar a tarefa.
+
+I have a supplier, gimme TEN batches!
+Eu tenho um fornecedor, me dê dez lotes!
+
+I have all.
+Eu tenho tudo.
+
+I have already completed this arena.
+
+
+I have bounties for specific high level monsters as well for extermination. Do note mobs killed in Heroes Hold may not count.
+
+
+I have brought you the beer.
+Eu te trouxe a cerveja.
+
+I have developed a special formula, which resets your stats!
+Eu desenvolvi uma fórmula especial, que reinicia seus status!
+
+I have everything here with me.
+Eu tenho tudo aqui comigo.
+
+I have everything you asked me.
+
+
+I have everything you've asked for.
+Eu tenho tudo o que você pediu.
+
+I have everything!
+Eu tenho tudo!
+
+I have everything, can you tailor it?
+Eu tenho tudo, você pode adaptá-lo?
+
+I have everything.
+Eu tenho tudo.
+
+I have extremely difficult quests for you; They are more painful than a Grand Hunter Quest, because I don't admit wimps fighting with me.
+
+
+I have homework to do...
+Eu tenho trabalho a fazer ...
+
+I have it right here. You can take it!
+Eu tenho isso aqui mesmo. Você pode levá-lo!
+
+I have my favorite book of all times, Moby Dick. Let me read some of it to you....
+Eu tenho meu livro favorito de todos os tempos, Moby Dick. Deixe-me ler um pouco para você ...
+
+I have no idea about who would make a pendant, but lifestone can be done just outside the town walls.
+Não faço ideia de quem faria um pingente, mas o lifestone pode ser feito do lado de fora das muralhas da cidade.
+
+I have no idea what's above. Behind the stair, is the painting of a table.
+Eu não tenho ideia do que está acima. Atrás da escada, está a pintura de uma mesa.
+
+I have no interest in things such as that.
+Eu não tenho interesse em coisas como essa.
+
+I have no interest on this item.
+Eu não tenho interesse neste item.
+
+I have one here...
+Eu tenho um aqui ...
+
+I have other things to do at the moment.
+Eu tenho outras coisas para fazer no momento.
+
+I have some good and some bad news for you.
+
+
+I have some healing items with me, we should tend your wounds first.
+Eu tenho alguns itens de cura comigo, devemos tendem seus ferimentos em primeiro lugar.
+
+I have some sweeties for the Tea Party!
+Eu tenho alguns doces para o Tea Party!
+
+I have the ingredients here.
+
+
+I have the items, please bake for me
+Eu tenho os itens, por favor, assar para mim
+
+I have the sturdy wood and the string.
+Eu tenho a madeira resistente e a corda.
+
+I have them here already.
+Eu tê-los aqui já.
+
+I have to get going now. Thanks for the help!
+Eu tenho que ir agora. Obrigado pela ajuda!
+
+I have to go, sorry.
+Eu tenho que ir, desculpe.
+
+I have to go. See you later.
+Eu tenho que ir. Até logo.
+
+I have to think.
+
+
+I have what you want.
+Eu tenho o que você quer.
+
+I haven't thanked you yet.
+Eu não te agradeci ainda.
+
+I hear a Fafi Dragon on THIS very island!!
+Eu ouço um Dragão Fafi nesta ilha muito !!
+
+I heard a rumor the other day. About the tree I had found!
+
+
+I heard every Sunday there's a party at Halinarzo Church, but to get there you need to pass through the Desert Canyon.
+Eu ouvi todos os domingos que há uma festa na Igreja Halinarzo, mas para chegar lá você precisa passar pelo Desfiladeiro do Deserto.
+
+I heard they promised to revive the Red Queen, no idea how and don't care, they don't have money anyway.
+
+
+I heard you fought the slimes that were still roaming between the bookshelves. Thank you!
+Ouvi dizer que você lutou contra os limos que ainda estavam vagando entre as estantes de livros. Obrigado!
+
+I heard you have been assisting the household staff. For that, I am thankful.
+Ouvi dizer que você tem ajudado o pessoal da casa. Por isso, sou grato.
+
+I heard you have met my good friend George, and you gave him some items that he needed...
+Ouvi dizer que você conheceu meu bom amigo George e deu a ele alguns itens que ele precisava ...
+
+I heard your investigations reminded other people that they observed suspicious behaviour too.
+Ouvi que suas investigações lembraram outras pessoas de que elas também observavam comportamento suspeito.
+
+I honestely wouldn't hire a Mercenary.
+Eu honestamente não contrataria um mercenário.
+
+I hope my answer help you in your adventure!
+Espero que minha resposta ajude você em sua aventura!
+
+I hope my men are safe, that was yesterday. I am barely alive.
+Espero que os meus homens são seguros, que foi ontem. Estou quase morto.
+
+I hope one day, they decide build a church here. It's a pain to travel there every time...
+Espero que um dia eles decidam construir uma igreja aqui. É uma dor viajar toda vez ...
+
+I hope that strange towel man doesn't bother me again...
+Espero que toalha homem estranho não me incomoda novamente ...
+
+I hope this is your size.
+Espero que este seja o seu tamanho.
+
+I hope to one day be like @@, who @@
+Eu espero que um dia seja como @@, quem @@
+
+I hope you got a Jean Shorts, but that depends on luck. Anyway, here is your reward.
+Espero que você tenha um Jean Shorts, mas isso depende da sorte. De qualquer forma, aqui está sua recompensa.
+
+I hope you like this color.
+Eu espero que você goste dessa cor.
+
+I intend to continue with my family's tradition, by teaching the Way of Archery.
+Pretendo continuar com a tradição da minha família, ensinando o Caminho do Arco e Flecha.
+
+I investigate missing pets. Many flee from their owners because they die pathetically or forgot to feed them.
+Eu investigo animais perdidos. Muitos fogem de seus donos porque morrem pateticamente ou esquecem de alimentá-los.
+
+I just gave you it. Come back later.
+Eu acabei de te dar isso. Volte mais tarde.
+
+I just go out removing swords from rocks, and then throwing them again at the lake. All that while I drink coffee.
+Eu simplesmente sair removendo espadas de rochas, e depois jogá-los novamente no lago. Tudo o que enquanto eu beber café.
+
+I just want to live my life in peace.
+Eu só quero viver minha vida em paz.
+
+I just want to trade.
+Eu só quero trocar.
+
+I keep failing to summon maggots...
+Eu continuo não convocando vermes ...
+
+I knew someone would agree with me!
+Eu sabia que alguém concordaria comigo!
+
+I know a few bandits stole a few, and Lava Slimes love to eat Casino Coins.
+Eu sei que alguns bandidos roubaram alguns, e Lava Slimes gostam de comer Moedas Casino.
+
+I know another Bandit Lord will take up his place, but the loss of their leader will make bandits scatter long enough.
+Eu sei que outro Bandit Lord irá ocupar o seu lugar, mas a perda do seu líder fará com que os bandidos se dispersem por tempo suficiente.
+
+I know how hard it is! I hate them with all my heart, only seeing you killing them left and right was GREAT!
+Eu sei o quão difícil isto é! Eu os odeio com todo o meu coração, só vendo você matá-los à esquerda e à direita foi ótimo!
+
+I know how many bat teeth and wings Arkim collected.
+Eu sei quantos dentes de morcego e asas Arkim coletou.
+
+I know it may sound silly, but I need your help to find out who I am.
+Eu sei que pode parecer bobo, mas preciso da sua ajuda para descobrir quem eu sou.
+
+I know where the Bandit Lord room is, and I have a guard stationed not far from there. Ask him for the key.
+Eu sei onde fica o quarto do Bandit Lord, e eu tenho um guarda estacionado não muito longe dali. Peça-lhe a chave.
+
+I know you have %d %s with you, just haven't said before to be polite.
+
+
+I leave this basement that start to be too dangerous!
+Eu deixo este porão que começa a ser muito perigoso!
+
+I like Mana Magic the best, as we can both summon creatures as transmutate stuff. %%N
+
+
+I like people like you, straight to the subject.
+Eu gosto de pessoas como você, direto ao assunto.
+
+I like to eat snake eggs. Lemme do you a proposal: You bring me %d %s, and I'll give you a flask of %s.
+
+
+I like to sing.
+Eu gosto de cantar.
+
+I like to talk! If yeye likes too, you can press @@ to open chat box!
+Gosto de conversar! Se você gosta também, você pode pressionar @@ para abrir o chat!
+
+I lost the precious ring they gave me as a gift... Who could have taken it...?
+Eu perdi o anel precioso que eles me deram de presente ... Quem poderia ter tomado ...?
+
+I love living here, but I wish people weren't locked inside the rooms all time.
+Adoro viver aqui, mas eu gostaria que as pessoas não estavam trancadas no interior dos quartos todos os tempos.
+
+I love seeing their terrorize face.
+Eu amo ver seu rosto aterrorizado.
+
+I love you, Silvia! - Swezanne
+Eu te amo, Silvia! - Swezanne
+
+I made a mistake, I would like to change my language.#0
+Eu cometi um engano. Gostaria de mudar minha língua.
+
+I made a mistake, I would like to change my language.#1
+Eu cometi um engano. Gostaria de mudar minha língua.
+
+I make both @@ and @@, if you give me the shrooms associated to them, and money.
+Eu faço @@ e @@, se você me der os cogumelos associados a eles, e dinheiro.
+
+I may have a task for you. Return when you tired of exploring...
+I pode ter uma tarefa para você. Voltar quando você está cansado de explorar ...
+
+I mean, a ship should come to pick you up, but the arch-wizards said they were too lazy to take care of those small details. So you'll be warped.
+Quer dizer, um navio deve vir para buscá-lo, mas os arqui-assistentes disseram que estavam com preguiça de cuidar desses pequenos detalhes. Então você vai ser deformado.
+
+I mean, that's absurd! If there was one, it would have been taken already. Unless if grew some sentience or something.
+Quer dizer, isso é um absurdo! Se houve um, que teria sido já tomadas. A menos que se cresceu alguma sensibilidade ou algo assim.
+
+I mean, there's even an Monster King? What sort of world is this?!
+Quer dizer, tem até um monstro rei? Que tipo de mundo é esse ?!
+
+I met Elli.
+
+
+I might be able to get you a rare copy of the Maritime Almanac Scroll. A yearly publication for seafaring men.
+Eu posso conseguir uma cópia rara do Pergaminho de Almanaque Marítimo. Uma publicação anual para marinheiros.
+
+I might want to ask an Yeti specialist about this. Maybe Celestia?
+
+
+I mine here since a while. My favorite activity is to scare other miners!
+
+
+I miss Ms. De'Kagen, she was very benevolent but from another world. Why does this one only have annoying pricks for Originals. Wait, I'm getting sidetracked.
+
+
+I miss the Red Queen, times were easier when she was around.
+
+
+I moved to Hurnscald, stayed there for over a decade, until Lord Transmogrifier Pontorias the Plaid (May His Shape Reflect His Soul Forever) died.
+Mudei-me para Hurnscald, fiquei lá por mais de uma década, até que Lorde Transmogrifier Pontorias the Plaid (Que sua forma reflita sua alma para sempre) morreu.
+
+I must have full MP to touch it... Which I don't.
+Eu devo ter MP completo para tocá-lo ... O que eu não faço.
+
+I must keep notes of this.
+Eu devo manter notas disso.
+
+I must report this to Jesusalva. The inventory system can't handle that much. Want more? Try 1,638,400.
+Eu devo relatar isso a Jesusalva. O sistema de estoque não aguenta tanto. Quero mais? Tente 1,638,400.
+
+I must, however, remember that the most powerful magical equipment ##B may require intelligence ##b to use.
+
+
+I must, however, thank you. I could not just come straight up and tell that to everyone, nor simply lock the house without no reason. I'm always fair.
+Eu devo, no entanto, obrigado. Eu não poderia simplesmente vir para cima e dizer isso para todos, nem simplesmente trancar a casa sem nenhum motivo. Eu sou sempre justa.
+
+I need 2 @@, the @@, and 4000 GP.
+Eu preciso de 2 @@, o @@ e 4000 GP.
+
+I need @@ @@, if you could arrange me that I would be grateful.
+Eu preciso @ @ @ @, se você pudesse me organizar que eu ficaria grato.
+
+I need @@ @@.
+Eu preciso de @@ @@.
+
+I need @@ Herbs!
+Eu preciso de @@ Ervas!
+
+I need @@ to work...
+Eu preciso de @@ para trabalhar...
+
+I need @@/@@ @@ for the book covers and binding of some of the more valuable books we're trying to recreate.
+Eu preciso de @@ / @@ @@ para as capas de livros e encadernação de alguns dos livros mais valiosos que estamos tentando recriar.
+
+I need FIVE batches!
+Preciso de cinco lotes!
+
+I need a GM set, please!
+Eu preciso de um conjunto de GM, por favor!
+
+I need a favor from you. Go talk to Peetu. Ask him to confirm if there was silk cocoon in the ingredients. Janika reported me that we've ran out of it two days ago.
+Preciso de um favor seu. Vá falar com Peetu. Peça-lhe para confirmar se havia um casulo de seda nos ingredientes. Janika me informou que acabamos há dois dias.
+
+I need a favor! For certain... reasons... I ran out of poison! And For certain... reasons... I am in dire need of them!
+
+
+I need a string, but not just any string, a really good string.
+Eu preciso de uma string, mas não de qualquer string, uma string realmente boa.
+
+I need a sturdy wood piece for a Forest Bow.
+Eu preciso de um pedaço de madeira resistente para um Forest Bow.
+
+I need a suitable base helmet, some herbs to use my magical dye, and gold:
+Eu preciso de um capacete de base adequado, algumas ervas para usar meu corante mágico e ouro:
+
+I need a tutorial, where can I find help?
+Eu preciso de um tutorial, onde posso encontrar ajuda?
+
+I need at minimum %d Monster Points to get items at current level.
+
+
+I need for the Magic Academy a @@, fast!
+Eu preciso para o Magic Academy um @@, rápido!
+
+I need groceries. %d %s, %d %s, %d %s, %d %s and %d %s. Give it to my wife, Silvia.
+
+
+I need help because, you see, I don't carry a cauldron around.
+Eu preciso de ajuda porque, veja você, eu não carrego um caldeirão por perto.
+
+I need help, but you aren't strong enough. Please come back later.
+Eu preciso de ajuda, mas você não é forte o suficiente. Por favor, volte mais tarde.
+
+I need help.
+Eu preciso de ajuda.
+
+I need infirmary services.
+Eu preciso de serviços de enfermaria.
+
+I need millions of GP to fund my time-space shattering, and thus far, I've only collected @@ GP.
+Eu preciso de milhões de GP para financiar o meu tempo-espaço, e até agora eu colecionei apenas @@ GP.
+
+I need more feathers for a fair deal.
+Eu preciso de mais penas para um acordo justo.
+
+I need more return potions.
+Eu preciso de mais poções de retorno.
+
+I need offensive magic!
+Eu preciso magia ofensiva!
+
+I need some help with something, but I don't think you're strong enough. Come back later please when you're stronger.
+Preciso de ajuda com alguma coisa, mas não acho que você seja forte o suficiente. Volte depois por favor quando estiver mais forte.
+
+I need some materials to repair my spacesh- ahm, it's not important why I need it.
+Eu preciso de alguns materiais para consertar meu espaço, não é importante porque eu preciso disso.
+
+I need somebody who can rid the hold of the ship of these creatures. Can you help me?
+Eu preciso de alguém que possa livrar a seção de cargas do navio dessas criaturas. Pode me ajudar?
+
+I need someone to help me clean the edge of the ship, but you aren't strong enough for now.#0
+Eu preciso de alguém para me ajudar a limpar o porão do navio, mas você ainda não é forte o bastante.
+
+I need someone to help me clean the edge of the ship, but you aren't strong enough for now.#1
+Eu preciso de alguém para me ajudar a limpar o porão do navio, mas você ainda não é forte o bastante.
+
+I need support magic!
+Eu preciso magia apoio!
+
+I need supreme ranger skills!
+Eu preciso habilidades ranger supremo!
+
+I need supreme warrior skills!
+Eu preciso habilidades guerreiro supremo!
+
+I need to buy your silence. I'll reward you greatly when I'm done. But first, I need to know if you'll be loyal to me.
+Eu preciso comprar seu silêncio. Eu te recompensarei muito quando terminar. Mas primeiro preciso saber se você será leal a mim.
+
+I need to enter.
+
+
+I need to finish studying for my test...
+Eu preciso terminar de estudar para o meu teste ...
+
+I need to go on with sorting the bookpages now.
+Eu preciso continuar classificando as páginas agora.
+
+I need to go.
+Eu preciso ir.
+
+I need to know if someone is blaming him. It is important.
+Eu preciso saber se alguém está culpando ele. É importante.
+
+I need to leave.
+Eu preciso sair.
+
+I need to pour the @@ to summon the Yeti King.
+Eu preciso derramar o @@ para convocar o Yeti King.
+
+I need to survive anything!
+Eu preciso sobreviver a qualquer coisa!
+
+I need to talk with you!
+Eu preciso falar com você!
+
+I need to think about it...#0
+Eu preciso pensar sobre isso...
+
+I need to think about it...#1
+Eu preciso pensar sobre isso...
+
+I need you to bring me some basic items to face Winter! Fire is the most important for us.
+Eu preciso de você para me trazer alguns itens básicos para enfrentar o inverno! O fogo é o mais importante para nós.
+
+I need you to find her to and bring her back there, along whatever she stole. Then I'll honor your request.
+Eu preciso de você para encontrá-la para e trazê-la de volta lá, junto tudo o que ela roubou. Então eu vou honrar o seu pedido.
+
+I need you to take care of my 'Piou Problem.'
+
+
+I need your help dude!
+Eu preciso da sua ajuda cara!
+
+I never knew you could fail THAT hard. I've took Saulc's Fertilizer's recipe, success chance is of 100% if you want to try again.
+Eu nunca soube que você poderia deixar tão difícil. Eu peguei a receita de fertilizantes do Saulc, a chance de sucesso é de 100%, se você quiser tentar novamente.
+
+I never tried it, because it makes no sense to do that, but theoretically adding some Silk Cocoons could have such an effect. Uh... but that should not happen.
+Eu nunca tentei, porque não faz sentido fazer isso, mas, teoricamente, adicionar alguns Casulos de Seda poderia ter tal efeito. Uh ... mas isso não deveria acontecer.
+
+I offer an awesome skill for you, for a very slow price, and you try to cheat me... pitiful...
+Eu ofereço uma habilidade incrível para você, por um preço muito baixo, e você tenta me enganar ... lamentável ...
+
+I offer you %d GP for one. What do you say?
+Eu ofereço-lhe% d GP para um. O que você disse?
+
+I offer you %s Aethyr Points per unit of %s. How many do you wish to sell? (0-%d)
+
+
+I offer you either %s GP, or %s Monster Points for it. What do you say?
+
+
+I once killed a Giant Maggot alone!
+Uma vez eu matei uma Maggot Gigante sozinha!
+
+I only need @@ @@. Please! You have to help me!
+Eu só preciso @@ @@. Por favor! Você tem que me ajudar!
+
+I only need @@/@@ @@ to make enough magic paper for the books... Do you, perchance, have them with you?
+Eu só preciso de @@ / @@ @@ para fazer papel mágico suficiente para os livros ... Você, por acaso, pode tê-los com você?
+
+I only take a tax of 100 gp per gem.
+Eu só recebo uma taxa de 100 po por gema.
+
+I plan in doing an event! Give me the coins!
+Eu planejo fazer um evento! Me dê as moedas!
+
+I predict you're closer to find the Secret Of Mana, and therefore, be part on saving our world.
+Eu prevejo que você está mais perto de encontrar o Segredo de Mana e, portanto, fazer parte de salvar nosso mundo.
+
+I probably can give you my Sharp Knife, though! If you want to help me, that is.
+Eu provavelmente posso te dar a minha faca afiada, embora! Se você quiser me ajudar, é isso.
+
+I probably should let %s chant it.
+
+
+I probably should look in a way of calming him down.
+Eu provavelmente deveria procurar acalmá-lo.
+
+I probably should talk to everyone else, and assess better the situation, before bothering Oskari.
+Eu provavelmente deveria falar com toda a gente, e avaliar melhor a situação, antes de se preocupar Oskari.
+
+I promise I'll never steal from you again. Here, take these shorts.
+
+
+I protect a dungeon for PARTIES. You're not on a party, get moving.
+Eu protejo uma masmorra para as PARTES. Você não está em uma festa, se mexa.
+
+I protect a very dangerous dungeon, and it is so dangerous, that only parties can go in.
+Eu protejo uma masmorra muito perigosa, e é tão perigoso, que apenas as partes podem entrar.
+
+I put options on items upon request, but I am very expensive! This is deducted from your tweaking quota.
+
+
+I raise them, water them, and then sell them.
+Eu os levanto, rego e depois os vendo.
+
+I really hope that nothing major happens, though. I would hate to see blood being spilled.
+Eu realmente espero que nada importante aconteça, no entanto. Eu odiaria ver sangue sendo derramado.
+
+I really wonder how that accident could've happened. I'd have never expected him to mess something up like that.
+Eu realmente me pergunto como esse acidente poderia ter acontecido. Eu nunca esperei que ele estragasse algo assim.
+
+I really wonder what went wrong. I can't imagine Peetu messing up something so important.
+Eu realmente me pergunto o que deu errado. Eu não posso imaginar Peetu bagunçando algo tão importante.
+
+I recommend that you train your agility a great deal, since most monsters out there aren't really amazing at hitting you.
+Eu recomendo que você treine muito sua agilidade, já que a maioria dos monstros não são realmente incríveis em bater em você.
+
+I regret it.
+
+
+I regret to inform Barbara was killed in battle before I could find her. I burried her in the mines.
+Lamento informar Barbara foi morto em batalha antes que eu pudesse encontrá-la. I enterrados ela nas minas.
+
+I represent the @@ Hunters. We hunt @@ (Lv @@).
+Eu represento os @@ Hunters. Nós caçamos @@ (Lv @@).
+
+I said go away!
+
+
+I said it cannot be yourself... </3
+Eu disse que não pode ser você mesmo ... </ 3
+
+I saw Purple the other day... Ah, now I want to eat @@... A dozen should do...
+Eu vi Purple no outro dia ... Ah, agora eu quero comer @@ ... Uma dúzia deve fazer ...
+
+I saw some flower adorns, too. I hope it is not some traveler's grave. This war, it makes me so sad... I'm sure the tree was sad, too.
+
+
+I see it's not so easy to get rid of the monsters. Do you want to try again?
+Eu vejo que não é tão fácil se livrar dos monstros. Você quer tentar novamente?
+
+I see two snake skins, but you didn't killed them down there. That defeats the whole purpose.
+Eu vejo duas peles de cobra, mas você não as matou lá embaixo. Isso anula todo o propósito.
+
+I see you are a Monster Hunting Quest Participant, right? I don't need your help right now, but maybe later, who knows?
+Eu vejo que você é um participante de caça a monstros, certo? Eu não preciso da sua ajuda agora, mas talvez mais tarde, quem sabe?
+
+I see you are doing good. Keep slaying them, hahaah!
+Eu vejo que você está indo bem. Continue matando eles, hahaah!
+
+I see you brought @@/5 @@ for us!
+Eu vejo que você trouxe @@ / 5 @@ para nós!
+
+I see you don't know how to craft. Do you want me to teach the basic for you? I'll charge 1000 GP.
+Eu vejo que você não sabe como criar. Você quer que eu ensine o básico para você? Vou cobrar 1000 GP.
+
+I see you finished the Master Dungeon and didn't found my men. I'll think on something.
+Eu vejo que você terminou o Master Dungeon e não encontrou meus homens. Eu pensarei em algo.
+
+I see you have arms long enough to be an archer.
+Eu vejo que você tem braços longos o suficiente para ser um arqueiro.
+
+I see you have brought @@/3 @@ and @@/10 @@ for me.
+Eu vejo que você trouxe @@ / 3 @@ e @@ / 10 @@ para mim.
+
+I see you have brought @@/3 @@ and @@/3 @@ for me
+Eu vejo que você trouxe @@ / 3 @@ e @@ / 3 @@ para mim
+
+I see you have collected some experience. Let me try to rank you up!
+Eu vejo que você coletou alguma experiência. Deixe-me tentar te classificar!
+
+I see you have magical powers. Have you been acknowledge by the Alliance as a mage? If not, you should regularize yourself as a @@º degree mage in Tulimshar Magic Council.
+
+
+I see you're trying to use the %s set, nice!
+
+
+I see you've brought Barbara here, excellent. She seems pretty beat up.
+Eu vejo que você trouxe Barbara aqui, excelente. Ela parece belos imbatível.
+
+I see.
+Percebo.
+
+I see. Well, welcome to the game! If you have any doubt, shout on #world for help!
+Percebo. Bem, bem vindo(a) ao jogo! Se tiver alguma dúvida, grite em #world por ajuda!
+
+I shall call myself from there on, after this great assault... @@.
+Eu me chamarei dali em diante, após este grande ataque ... @@.
+
+I shall decide here and now, if you are worth of living in this world!
+I decidirá aqui e agora, se valem de viver neste mundo!
+
+I shall leave this book with my son, SphinxNox. I will not fail, and live forever. This will be their inheritance from me.
+Vou deixar este livro com meu filho, SphinxNox. Eu não vou falhar e viver para sempre. Esta será sua herança de mim.
+
+I shall not fail any further, I think my new formula is perfect! Here's the EXP, but I need material to use it!
+Não deixarei mais longe, eu acho que a minha nova fórmula é perfeita! Aqui está o EXP, mas eu preciso de material de usá-lo!
+
+I shall report to Kenton. I now entrust this quest in your hands!
+I deve apresentar ao Kenton. Agora eu confio esta missão em suas mãos!
+
+I should be prepared before walking on this.
+I deve ser preparado antes de caminhar sobre este assunto.
+
+I should check if I have more than enough potions and food before proceeding!
+I deve verificar se eu tenho mais do que suficiente poções e comida antes de continuar!
+
+I should check the Apple Garden first.
+Eu deveria verificar o Apple Garden primeiro.
+
+I should defeat all mobs before passing.
+
+
+I should have full mana before attempting to disarm one.
+Eu deveria ter mana completa antes de tentar desarmar um.
+
+I should not go ahead... yet.
+Eu não deveria ir em frente ... ainda.
+
+I should not veer off too much the path.
+Eu não deveria desviar muito do caminho.
+
+I should talk to Cauldron now... Scary.
+Eu deveria falar com o Caldeirão agora ... Assustador.
+
+I should talk to King Arthur.
+Eu deveria falar com o Rei Arthur.
+
+I should train my intelligence, and level up, both my base as my Job Level.
+Eu deveria treinar minha inteligência e subir de nível, tanto minha base quanto meu nível de emprego.
+
+I should train my intelligence, have full MP, and don't neglect even Job Level.
+Eu deveria treinar minha inteligência, ter MP completo e não negligenciar o nível do emprego.
+
+I sponsor the alliance and all I got was a NPC and access to this ugly room.
+Eu patrocino a aliança e tudo que consegui foi um NPC e acesso a esta sala feia.
+
+I stay.
+Eu fico.
+
+I still don't have everything, but don't worry, I'll be back.
+Eu ainda não tenho tudo, mas não se preocupe, eu volto logo.
+
+I still have Anwar's fertilizer with me.
+Eu ainda tenho o fertilizante de Anwar comigo.
+
+I stole nothing from you. Do you have any proof?
+Eu não roubei nada de você. Você tem alguma prova?
+
+I suggest some training.
+Eu sugiro algum treinamento.
+
+I suggest we ignore the hint and ask %s about it instead.
+
+
+I suggest you leave now, %s. If you are even suspected of being a S.A.R.A.H. agent...
+Eu sugiro que você sair agora,% s. Se você está mesmo suspeito de ser um S.A.R.A.H. agente...
+
+I suppose I can make you a %s. It sometimes casts magic skills upon your foes. Well, seldomly, but it also deals more damage than normal wands.
+
+
+I suppose, what would you like?
+Eu suponho, o que você gostaria?
+
+I swear silence, over this bloody ruby.
+Eu juro silêncio, sobre este rubi sangrento.
+
+I swear silence, over this shining topaz.
+Juro silêncio, sobre este topázio resplandecente.
+
+I swear that I, %s, will never let myself be let astray by power.
+
+
+I think I have enough gold with me.#0
+Eu acho que tenho dinheiro suficiente.
+
+I think I have enough gold with me.#1
+Eu acho que tenho dinheiro suficiente.
+
+I think I'm done with that now. You should now look for captain Nard downstairs. He'll be waiting for you.
+Eu acho que terminei por hora. Agora você deve procurar o capitão Nard no andar de baixo. Ele estará esperando por você.
+
+I think I'm ready.
+Eu acho que estou pronto.
+
+I think Intense Beard, on Tulimshar's Forge, was taking new apprentices. Try talking to him!
+Acho Intense Beard, em Forge de Tulimshar, estava tomando novos aprendizes. Tente falar com ele!
+
+I think Lieutenant Paul had a bounty for extra experience.
+Eu acho que o tenente Paul tinha uma recompensa por experiência extra.
+
+I think it was the Orcs and Raijins town. It was laid to waste by Yetis.
+Eu acho que foi a cidade de Orcs e Raijins. Foi devastado por Yetis.
+
+I think someone on Tulimshar is capable to teach you these bonuses. Eh, I don't know. Haven't been there for a while.
+Eu acho que alguém em Tulimshar é capaz de te ensinar esses bônus. Eu não sei. Não tenho estado lá por um tempo.
+
+I think that %d %s and %d %s should be enough for now.
+
+
+I think the Doctor, on Dimond's Cove could help me, but that means passing by Kenton...
+Eu acho que o doutor, em Cove de Dimond poderia me ajudar, mas isso significa passar por Kenton ...
+
+I think the switches may open it, but I couldn't flip them.
+Eu acho que os interruptores podem abri-lo, mas eu não poderia abri-los.
+
+I think this blue circle right here can be helpful to break the enchantment that blocks the door of the Inn.
+
+
+I think you should get initiated on any side before speaking to me again.
+Eu acho que você deveria ser iniciado em qualquer lado antes de falar comigo novamente.
+
+I think, for just 25 @@, I could arrange a @@ for you.
+Eu acho que, por apenas 25 @@, eu poderia arranjar um @ @ para você.
+
+I think, for just 25 @@, I could arrange one for you. Eh... Just don't think that you have an amazing weapon, alright?
+Eu acho que, por apenas 25%, eu poderia arranjar uma para você. Eh ... Só não pense que você tem uma arma incrível, certo?
+
+I thought I was going to send you in a nest of Yetis, but instead, I've sent you straight to the birthplace of Bandits and Assassins.
+Pensei em mandar-te num ninho de Yetis, mas em vez disso, enviei-te directamente para o local de nascimento dos Bandits and Assassins.
+
+I thought I would be safe in the shrine, but seems like they are after the Moubootaur. Great danger will befall all forest creatures if they accomplish that.
+Eu pensei que estaria segura no santuário, mas parece que eles estão atrás do Moubootaur. Grande perigo cairá sobre todas as criaturas da floresta se elas conseguirem isso.
+
+I thought he would. After all, Everburn Powder... is not a mere powder.
+Eu pensei que ele faria. Afinal, Everburn Powder ... não é um mero pó.
+
+I thought it was meant to be lava, this being in the Land Of Fire and all, but seems like someone must bug Saulc to fix it.
+Eu pensei que era para ser lava, isto estando na Terra do Fogo e tudo mais, mas parece que alguém deve incomodar Saulc para consertá-lo.
+
+I thought they ate little girls.
+
+
+I tried to keep an eye on him after that, but when I got distracted by some newly arriving visitor he went over to the workshop again! Usually I enjoy my job, because I like talking to people, but this guy... was a pain, really.
+Eu tentei ficar de olho nele depois disso, mas quando me distraí com um visitante recém chegado ele foi até a oficina novamente! Normalmente eu gosto do meu trabalho, porque gosto de conversar com as pessoas, mas esse cara ... era uma dor, na verdade.
+
+I tried. He asked for too much money.
+Eu tentei. Ele pediu muito dinheiro.
+
+I try to improve my skills every day. One day, I will sing a song no one will ever forget.
+Eu tento melhorar minhas habilidades todos os dias. Um dia eu cantarei uma música que ninguém jamais esquecerá.
+
+I understand. Rakinorf told me to stuff you with them if needed.
+Compreendo. Rakinorf me disse para te encher com eles, se necessário.
+
+I used to make dyes for Agostine but he hasn't bought any in a while. I could make you a %s if you bring me the right items.
+
+
+I usually ask adventurers for 11 @@, but new miners should be arriving soon. I need to make them cry!
+Eu costumo pedir aventureiros para 11 @@, mas novos mineiros devem chegar em breve. Eu preciso fazê-los chorar!
+
+I usually ask for 7, but to prove you are going to help us in this purge, I will ask you for 14 @@! I will reward you for your bravure.
+Eu normalmente peço 7, mas para provar que você vai nos ajudar nesse expurgo, eu vou pedir 14 @@! Eu recompensarei você pela sua bravura.
+
+I usually don't let anyone in, but I had to make an exception for the likes of you.
+
+
+I visited it with my mother, the other day, and I found a tree in a cave!
+
+
+I wanna return home...
+Eu quero voltar para casa ...
+
+I want %d %s!
+
+
+I want %d %s! Don't worry, I can pay.
+
+
+I want @@! I want @@!!
+Eu quero @@! Eu quero @@!!
+
+I want Arcanum
+Quero Arcano
+
+I want Graphene
+Quero Grafeno
+
+I want Leather Patch
+Quero remendo de couro
+
+I want Snake Skin
+Eu quero a pele de cobra
+
+I want THREE batches!
+Quero três lotes!
+
+I want a %s so badly... Pyndragon, in the forge, the master blacksmith which makes powerful weapons for high levels, can give you one.
+Eu quero um% s tão mal ... Pyndragon, na forja, o mestre ferreiro que faz armas poderosas para níveis elevados, pode dar-lhe um.
+
+I want a BOSS task!
+
+
+I want a EXPERT (Lv 70~100) task!
+
+
+I want a KUNAI.
+
+
+I want a MASTER (Lv 100+) task!
+
+
+I want a MODERATE (Lv 50~70) task!
+
+
+I want a MODERATE task!
+Eu quero uma tarefa MODERADA!
+
+I want a PORTABLE LIGHTSABER.
+Eu quero um sabre de luz portátil.
+
+I want a POWERFUL GUNSTAFF.
+Eu quero um PODEROSO GUNSTAFF.
+
+I want a POWERFUL LIGHTSABER.
+Eu quero um sabre de luz poderoso.
+
+I want a RAPID GUNSTAFF.
+Eu quero um GUNSTAFF RAPID.
+
+I want a SHORT GUNSTAFF.
+Eu quero um SHORT GUNSTAFF.
+
+I want a Sponsor Necklace.
+Eu quero um colar de patrocinador.
+
+I want a WHIP.
+
+
+I want a gemstone or ore
+Eu quero uma pedra preciosa ou minério
+
+I want a gift box and here is the gift.
+Eu quero uma caixa de presente e aqui está o presente.
+
+I want a gift box but I don't have a gift.
+Eu quero uma caixa de presente, mas eu não tenho um presente.
+
+I want a gun!
+Eu quero uma arma!
+
+I want a knife and a bottle of water!
+
+
+I want an Agi Potion.
+
+
+I want an Agi+ Potion.
+
+
+I want an Agi++ Potion.
+
+
+I want an EASY task!
+
+
+I want an EXPERT task!
+
+
+I want an EXPLOSIVE GUNSTAFF.
+Eu quero um EXPLOSIVO GUNSTAFF.
+
+I want an Eggshell Hat!
+
+
+I want coal
+Eu quero carvão
+
+I want copper armbands!
+Eu quero braçadeiras de cobre!
+
+I want experience
+Quero experiência
+
+I want gold
+Eu quero ouro
+
+I want iron armbands!
+Eu quero braçadeiras de ferro!
+
+I want it.
+Quero isso.
+
+I want leather armbands!
+Eu quero braçadeiras de couro!
+
+I want monster points
+Quero pontos monstro
+
+I want more than one!
+Pedir mais do que uma!
+
+I want something more magical.
+
+
+I want the Wurtzite
+Eu quero o wurtzita
+
+I want the apples back.
+
+
+I want to arrest the Monster King one day, but until then, I'm happy getting rid of petty scammers, spammers, and general evildoers.
+
+
+I want to be trained!
+Eu quero ser treinado!
+
+I want to become an archer!
+Eu quero me tornar um arqueiro!
+
+I want to challenge the Yetifly.
+
+
+I want to challenge you both.
+
+
+I want to challenge you.
+
+
+I want to change my Race!
+Eu quero mudar minha raça!
+
+I want to craft rings.
+Eu quero fazer anéis.
+
+I want to create polished gemstones.
+Eu quero criar pedras preciosas polidas.
+
+I want to divorce.
+Eu quero me divorciar.
+
+I want to forge One Handed Weapons!
+Eu quero forjar armas de uma mão!
+
+I want to forge Quivers!
+Eu quero forjar Quivers!
+
+I want to forge Shields!
+Eu quero forjar escudos!
+
+I want to get rid of them.
+
+
+I want to improve my equipment.
+Eu quero melhorar meu equipamento.
+
+I want to keep breaking them, until I find the paradise! Thus far, I only found the Land Of Fire!
+Eu quero continuar quebrando eles, até que eu encontre o paraíso! Até agora, só encontrei a Terra do Fogo!
+
+I want to know what you found out again
+Eu quero saber o que você descobriu novamente
+
+I want to know why you shown me that.
+Eu quero saber porque você me mostrou isso.
+
+I want to learn reading ancient languages
+Eu quero aprender a ler línguas antigas
+
+I want to meet a hero!
+Eu quero conhecer um herói!
+
+I want to move left.
+Eu quero ir para a esquerda.
+
+I want to pay my respects as a fellow Pink Mouboo cult member.
+Quero prestar meus respeitos como um membro do culto Pink Mouboo.
+
+I want to pay the full price.
+Eu quero pagar o preço total.
+
+I want to prove exotic tea. More specifically, I'm looking for %s and %s. Bring me %d of each, and I'll reward you awesomely.
+
+
+I want to register for marriage.
+Eu quero me registrar para o casamento.
+
+I want to remove all stuff applied to my ring!
+Eu quero remover todas as coisas aplicadas ao meu anel!
+
+I want to sell White Fur for 75 GP each
+Eu quero vender White Fur por 75 GP cada
+
+I want to shop.
+Eu quero fazer compras.
+
+I want to sleep...
+Quero dormir...
+
+I want to trade with you.
+Eu quero negociar com você.
+
+I want to trade.
+Eu quero negociar.
+
+I want to try convincing the Yeti King again.
+Eu quero tentar convencer o Yeti King novamente.
+
+I want two batches!
+Eu quero dois lotes!
+
+I want you to brew some for me.
+Eu quero que você prepare um pouco para mim.
+
+I want you to decrypt something
+Eu quero que você decifre algo
+
+I want you to impress me, so I can brag about you to all my friends!
+
+
+I want you to kill @@, which are located near the northwest coast of the island.
+
+
+I want you to transform my raw log in a wooden log
+Eu quero que você transforme meu log bruto em um registro de madeira
+
+I wanted info about how to play.
+Eu queria informações sobre como jogar.
+
+I wanted to go to the beach, but I can't find the cave entrance. They told me to look around here... What am I doing wrong?
+Eu queria ir para a praia, mas não consigo encontrar a entrada da caverna. Eles me disseram para olhar por aqui ... O que estou fazendo de errado?
+
+I was a bit worried that they might ruin our efforts by messing everything up again after we just cleaned.
+Eu estava um pouco preocupado que eles pudessem arruinar nossos esforços, bagunçando tudo de novo depois que acabamos de limpar.
+
+I was born here but I had amnesia.
+Eu nasci aqui, mas eu tinha amnésia.
+
+I was found near Candor Island, on a raft, and can't remember anything. Do you know who I am?
+Eu fui encontrado perto da Ilha Candor, em uma jangada, e não me lembro de nada. Você sabe quem eu sou?
+
+I was informed that our bedding material for fragile presents is nearly depleted...
+Fui informado de que nosso material de cama para presentes frágeis está quase esgotado ...
+
+I was kicked out of home for not paying rent. But I had no choice, it was either to eat or to have a roof...
+
+
+I was planning to go there soon, anyway. All aboard!
+Estava planejando ir para lá em breve, de qualquer forma. Todos a bordo!
+
+I was so excited, I wanted to try it as soon as possible.
+Eu estava tão animada que queria tentar o mais rápido possível.
+
+I was thinking, maybe I could make a @@ for you. But I want a few items:
+Eu estava pensando, talvez eu pudesse fazer um @ @ para você. Mas eu quero alguns itens:
+
+I was up until late last night, and woke up so early today... I'm having a break right now.
+Eu estava acordada até tarde ontem à noite e acordei tão cedo hoje ... Eu estou tendo uma folga agora.
+
+I was very surprised when I heard that he's responsible for the failed sealing. I'd never have expected that from him.
+Fiquei muito surpreso quando soube que ele é o responsável pela falha na vedação. Eu nunca esperaria isso dele.
+
+I will also need %d %s to make the mixture and %s GP as a fee.
+
+
+I will apply later.
+Eu vou aplicar mais tarde.
+
+I will be back shortly.
+Eu voltarei em breve.
+
+I will be forever grateful!
+Eu serei eternamente grato!
+
+I will do it, don't worry.
+Eu vou fazer isso, não se preocupe.
+
+I will empower you with raw mana now.
+I irá capacitá-lo com mana matéria agora.
+
+I will give you 3 @@. Use them on this fight, or you're doomed to fail.
+Eu vou te dar 3 @@. Use-os nessa luta, ou você está fadado ao fracasso.
+
+I will go and hunt some snakes.
+Eu irei e caçarei algumas cobras.
+
+I will harass Demure with so many chocolate that she'll leave this event map rolling!
+Vou assediar Demure com tantos chocolates que ela vai deixar o mapa do evento rolando!
+
+I will kill one.
+Eu vou matar um.
+
+I will let Lalica, Pihro and Pyndragon know that you find her not guilty, but...
+Vou deixar Lalica, Pihro e Pyndragon saber que você encontrá-la não culpado, mas ...
+
+I will let you test it for a peny until level 10!
+Vou deixar você testá-lo por um centavo até o nível 10!
+
+I will make quick work of your wounds.
+Eu farei o trabalho rápido de suas feridas.
+
+I will need 3 @@, 5 @@ and 100 GP to craft a single stone.
+Vou precisar de 3 @@, 5 @@ e 100 GP para criar uma única pedra.
+
+I will need many Mauve Herbs! Do you have them with you? If you don't have enough, we'll lose everything! You need at most @@!
+Vou precisar de muitas ervas malva! Você os tem com você? Se você não tiver o suficiente, perderemos tudo! Você precisa no máximo @@!
+
+I will need:
+Eu vou precisar:
+
+I will pay you 5,000 GP in pure gold for it!
+Eu vou te pagar 5.000 GP em ouro puro por isso!
+
+I will prepare you a potion. But beware, that potion will only last 20 minutes. You should assign some intelligence points to succeed.
+Vou preparar uma poção. Mas cuidado, a poção só vai durar 20 minutos. Você deve atribuir alguns pontos de inteligência para ter sucesso.
+
+I will require 2500 GP, 1 @@, 1 @@ and 1 @@, for a small handful of it.
+Vou exigir 2500 GP, 1 @@, 1 @@ e 1 @@, por um pequeno punhado dele.
+
+I will reward whoever kills the current bandit leader, of course.
+Eu recompensarei quem mata o atual líder de bandidos, é claro.
+
+I will reward you for 7 @@.
+Eu recompensarei você por 7 @@.
+
+I will sing a song about the Five Legendary Heroes myth.
+
+
+I will sing a song about the Mana War and current times.
+Eu vou cantar uma música sobre a Guerra de Mana e os tempos atuais.
+
+I will sing a song about the fate of five legendary weapons.
+
+
+I will summon the Monster King. Don't ask me my reasons. I know this will put Tulimshar in danger. But I will still do it.
+Vou convocar o Rei dos Monstros. Não me pergunte minhas razões. Eu sei que isso vai colocar Tulimshar em perigo. Mas ainda farei isso.
+
+I will take a claw and show Hasan.
+Eu vou pegar uma garra e mostrar Hasan.
+
+I will take the @@ Bounty.
+Eu vou pegar a missão de @@.
+
+I will trade you a Dagger and Sailor's Hat for it.
+Eu trocarei para você uma Adaga e um Chapéu de Marinheiro por isso.
+
+I will try it later.
+Eu vou tentar mais tarde.
+
+I will, don't worry.
+Eu vou, não se preocupe.
+
+I wish you a good time in town.
+Desejo-lhe um bom tempo na cidade.
+
+I wish you good luck!
+Te desejo boa sorte!
+
+I wish you good luck. I remember these caves... They're dangerous. Make sure to be prepared before venturing further.
+
+
+I woke up in a shake! I felt... Oh, it's hard to describe... As if the spell suddenly started inflating, getting bigger... bigger... weaker... weaker...
+Eu acordei em um tremor! Eu senti ... Oh, é difícil descrever ... Como se o feitiço de repente começasse a aumentar, ficando maior ... maior ... mais fraco ... mais fraco ...
+
+I won't accept stuff from Halinarzo!
+Eu não vou aceitar material do Halinarzo!
+
+I won't need it, thank you.#0
+Eu não vou precisar, obrigada.
+
+I won't need it, thank you.#1
+Eu não vou precisar, obrigado.
+
+I won't share our water with you!
+
+
+I won't stop you from going inside, but be careful, you hear me?
+
+
+I wonder if anyone will notice or care if I take a nap here...
+Eu me pergunto se alguém vai notar ou me importar se eu tirar uma soneca aqui ...
+
+I wonder if he exists on this world too. Because if he doesn't, I could tell many tales about him!
+Eu me pergunto se ele existe neste mundo também. Porque se ele não der, eu poderia contar muitas histórias sobre ele!
+
+I wonder if it'll take too long for the ship to arrive...
+Eu me pergunto se isso vai demorar muito tempo para o navio chegar ...
+
+I wonder if you can still sleep after killing those innocent forest creatures!
+Eu me pergunto se você ainda pode dormir depois de matar aquelas criaturas inocentes da floresta!
+
+I wonder what secrets the Heroes Hold could be hiding...
+Eu me pergunto que segredos os heróis Segure poderia estar escondido ...
+
+I work in this mine since 3 years, I'm an expert on gems: Ruby, Topaz, Sapphire, You know!
+Eu trabalho nessa mina há 3 anos, sou especialista em gemas: Rubi, Topázio, Safira, Você sabe!
+
+I would advise you to remain here in the ship, they should leave in a few minutes, but I will not force you.
+Aconselho-vos a permanecer aqui no navio, eles devem sair em poucos minutos, mas eu não vou forçá-lo.
+
+I would bring @@, just in case. Anyway, the place where you're going to is the village where @@ was born.
+Eu traria @@, apenas no caso. De qualquer forma, o lugar para onde você está indo é a vila onde @@ nasceu.
+
+I would gladly aid you to get rid of that scourge.
+Eu ficaria feliz em ajudá-lo a se livrar desse flagelo.
+
+I would gladly give my life for such noble goal.
+Eu ficaria feliz em dar a minha vida por um objetivo tão nobre.
+
+I would kick me out myself! I'm such a failure! A complete disaster! %%i
+
+
+I would like @@ @@, @@ @@ and @@ @@!
+Gostaria @@ @@, @@ @@ e @@ @@!
+
+I would like a hat like yours.
+Eu gostaria de um chapéu como o seu.
+
+I would like all Knifes and Daggers on me melted!
+Eu gostaria que todos os facas e punhais em mim derreteu!
+
+I would like an item melted!
+Eu gostaria de um item derretido!
+
+I would like some Mouboo Milk.
+Eu gostaria de um pouco de Mouboo Milk.
+
+I would like some information
+Eu gostaria de alguma informação
+
+I would like to REMOVE an item options
+
+
+I would like to buy a Warp Crystal.
+Eu gostaria de comprar uma urdidura de Cristal.
+
+I would like to change an item options
+Eu gostaria de mudar uma opção de item
+
+I would like to create a guild.
+Eu gostaria de criar uma guilda.
+
+I would like to create a party.
+Eu gostaria de criar uma festa.
+
+I would like to enroll!
+
+
+I would like to learn a new skill!
+
+
+I would like to order some dye.
+
+
+I would like to perform money transactions.
+Eu gostaria de realizar transações em dinheiro.
+
+I would like to store some items.
+Eu gostaria de armazenar alguns itens.
+
+I would like to use the Deluxe Storage.
+
+
+I would like to use the Premium Storage.
+
+
+I would love to see the skin of two @@.
+Eu adoraria ver a pele de dois @@.
+
+I would love to, but the Monster King laid siege there.
+Eu adoraria, mas o Rei Monstro sitiou ali.
+
+I'd like my Crozenite Clover Silvered.
+Eu gostaria do meu Crozenite Clover Silvered.
+
+I'd like to get a different style.
+Eu gostaria de ter um estilo diferente.
+
+I'll also need @@ as base material!
+Eu também precisarei de @@ como material de base!
+
+I'll also provide you a few @@s and an Elixir. Use them wisely.
+Também fornecerei alguns @ @ se um Elixir. Use-os com sabedoria.
+
+I'll also try to bring you to the world's edge, as you've asked.
+Eu também vou tentar trazer você para a borda do mundo, como você pediu.
+
+I'll ask you to kill 100 @@. This will prove your worth. Good luck.
+Vou pedir para você matar 100 @@. Isso vai provar o seu valor. Boa sorte.
+
+I'll be attracted by the Shadow Herb. The moss will hide the roots, which will entrap it for a while.
+Eu serei atraído pela Shadow Herb. O musgo irá esconder as raízes, o que irá aprisioná-lo por um tempo.
+
+I'll be back in no time.
+Volto em pouco tempo.
+
+I'll be back later with all ingredients.
+Volto mais tarde com todos os ingredientes.
+
+I'll be waiting for you! And trading some items of questionable origins...
+Eu estarei esperando por você! E negociando alguns itens de origens duvidosas ...
+
+I'll be waiting!
+
+
+I'll be writing a letter to the next town you're going to visit, and also assign work to my household. You should come back later.
+Escreverei uma carta para a próxima cidade que você visitará e também designarei trabalho para minha casa. Você deveria voltar mais tarde.
+
+I'll call someone to aid you.
+Vou ligar para alguém para te ajudar.
+
+I'll come back later.
+
+
+I'll configure your flask to a few hours before the Great Fire breaks out. You're looking for "The Queen's party" hideout. Do you need a quick history lesson?
+
+
+I'll decide later
+
+
+I'll draw a card now!
+Eu vou tirar uma carta agora!
+
+I'll feed you to the Moubootaur %%e
+
+
+I'll get so mad at you that even if you are correct, I'll say otherwise. Also, mind special characters.
+Eu vou ficar tão bravo com você que, mesmo se você estiver correto, eu vou dizer o contrário. Além disso, lembre-se de caracteres especiais.
+
+I'll get to it.
+Eu vou chegar a isso.
+
+I'll get to work.
+Eu vou começar a trabalhar.
+
+I'll give it to someone who challenge me and best me in an impressive manner. If it was easy, someone would already have claimed it.
+
+
+I'll give you @@ GP for this job.
+Eu vou te dar @@ GP por este trabalho.
+
+I'll give you a @@. It should aid you out there.
+Eu vou te dar um @@. Deve ajudá-lo lá fora.
+
+I'll give you a reward, in the name of Saulc, once you reach the following levels: 25, 50, 75, 100, 125 and 150.
+Vou te dar uma recompensa, em nome de Saulc, uma vez que você alcance os seguintes níveis: 25, 50, 75, 100, 125 e 150.
+
+I'll give you the item.
+
+
+I'll have her hospitalized now.
+Vou tê-la hospitalizado agora.
+
+I'll help you.
+Vou te ajudar.
+
+I'll input how many I want to attach.
+Vou entrada quantas I deseja anexar.
+
+I'll keep studying it in secret. I'm so proud of my thieves!
+Eu vou continuar estudando isso em segredo. Estou tão orgulhosa dos meus ladrões!
+
+I'll make you five questions about lore and general knowledge. You'll have 30 seconds to read and answer each.
+Vou lhe fazer cinco perguntas sobre conhecimento e conhecimento geral. Você terá 30 segundos para ler e responder cada um.
+
+I'll make your life easier, I'm also accepting 20 @@ or @@ instead the Grass Carp. Go now, pal.
+Eu farei sua vida mais fácil, eu também estou aceitando 20 @@ ou @@ ao invés do Grass Carp. Vá agora, amigo.
+
+I'll only say you this once. Mages can, of course, go to battlefield in heavy armor and stuff.
+Eu só vou te dizer isso uma vez. Os magos podem, claro, ir ao campo de batalha usando armaduras pesadas e outras coisas.
+
+I'll pay the GP.
+
+
+I'll present you three kind of strong monsters. Snakes are fast and dangerous. Giant Maggots are slow and dangerous. Black Scorpions have average speed and are... deadly.
+Eu vou te apresentar três tipos de monstros fortes. As cobras são rápidas e perigosas. As larvas gigantes são lentas e perigosas. Black Scorpions tem velocidade média e são ... mortais.
+
+I'll read the options from you, but the level will be paid by me, and failure rate is non-existant. I am the best. blacksmith. in. the. universe! Use %s if you need to change any options.
+
+
+I'll reward you and your friends in an appropriate way, but if you endanger her... Oh, my poor Cindy...
+Eu recompensarei você e seus amigos de uma maneira apropriada, mas se você a colocar em risco ... Oh, minha pobre Cindy ...
+
+I'll see you later.
+
+
+I'll seek one for you.
+Eu vou procurar um para você.
+
+I'll start delivering the fur!
+Vou começar a entregar a pele!
+
+I'll talk about who I am after leaving the well.
+Eu vou falar sobre quem eu sou depois de sair do poço.
+
+I'll teach you a spell. It is called CUTE HEART. It summons Fluffies. They are so cute, I want to hug them...
+Eu vou te ensinar um feitiço. Chama-se CORAÇÃO BONITO. Convoca Fluffies. Eles são tão fofos, eu quero abraçá-los ...
+
+I'll teach you how to transmute some parts of theirs. You can use it to convert a @@ into a @@, but not the other way around, for example.
+Vou ensiná-lo a transmutar algumas partes deles. Você pode usá-lo para converter um @@ em um @@, mas não o contrário, por exemplo.
+
+I'll try to find them.
+Eu vou tentar encontrá-los.
+
+I'll walk around here a little more.
+Eu andarei por aqui um pouco mais.
+
+I'll warp you to the Cave Of Trials. Pass all trials, and meet me on Soren's House. Hahah!
+Vou te deformar para a Cave Of Trials. Passe todas as provações e me encontre na Casa de Soren. Hahah!
+
+I'm Carla the Woody Wife, I have lived here with Woody for many years! We decided to live away from civilization, as hunter and shaman life is way better.
+Sou Carla, a Esposa Amadeirada, moro aqui com Woody há muitos anos! Decidimos viver longe da civilização, pois a vida de caçador e xamã é muito melhor.
+
+I'm Eistein, survivor from Ukarania. I reward brave adventurers who kill monsters, which plague our lands.
+Eu sou Einstein, sobrevivente da Ucrânia. Eu recompenso bravos aventureiros que matam monstros, que atormentam nossas terras.
+
+I'm GM and got the money. Gimme HALF HOUR to invite everybody!
+Eu sou GM e tenho o dinheiro. Me dê HALF HOUR para convidar todo mundo!
+
+I'm Laranja.
+Eu sou a Laranja.
+
+I'm Thurgar the mighty craftsman. I can make anything reality! But I only work to the king!
+Sou Thurgar, o poderoso artesão. Eu posso fazer qualquer coisa realidade! Mas eu só trabalho para o rei!
+
+I'm a bit short in cash right now.
+
+
+I'm a bit sick...#0
+Me sinto um pouco doente...
+
+I'm a bit sick...#1
+Me sinto um pouco doente...
+
+I'm a little busy right now.
+Estou um pouco ocupado agora.
+
+I'm a pro, this will be GG EZ. But Raid is not a foe to be underestimated, and I have no hopes for reinforcements. I refuse to leave last words, I shall either triumph, or be forgotten in shame.
+
+
+I'm a traveling poet and admirer of Robert Burns, a bard from the mana world.
+Sou um poeta viajante e admirador de Robert Burns, um bardo do mundo dos manas.
+
+I'm actually half-wose. This means part of me is tree.
+Na verdade, estou meio-wose. Isso significa que parte de mim é árvore.
+
+I'm actually looking for an item forged!
+Eu estou realmente procurando por um item forjado!
+
+I'm actually paid by the Academy, or there would be no security here.
+
+
+I'm afraid I can't be of any help to you.
+Temo que não possa ser de nenhuma ajuda para você.
+
+I'm afraid my wounds are too critical. I'm bleeding. I was cursed. And I can't even move.
+Temo minhas feridas são muito crítico. Eu estou sangrando. Eu estava amaldiçoado. E eu nem sequer pode mover.
+
+I'm afraid you can't help me... I still have one HP left.
+Temo que você não possa me ajudar ... ainda tenho um HP sobrando.
+
+I'm afraid you'll need a key to reach them. But there's a fork on the way.
+Eu tenho medo que você vai precisar de uma chave para alcançá-los. Mas há uma bifurcação no caminho.
+
+I'm after the Queen's Party.
+
+
+I'm allergic to piou potions, goodbye.#0
+
+
+I'm allergic to piou potions, goodbye.#1
+
+
+I'm allergic to pious, goodbye.
+
+
+I'm almost in the point of no return. I cannot believe this, but mana... is alive.
+Estou quase no ponto de não retorno. Eu não posso acreditar nisso, mas mana ... está vivo.
+
+I'm already married, though...#0
+
+
+I'm already married, though...#1
+
+
+I'm am about to make myself some powerful equipment... But I ran out of material to refine it!
+
+
+I'm an experienced weapon master helping this smithy here, but I am new in this town. I am best at smithing armor.
+Eu sou um mestre de armas experiente ajudando este ferreiro aqui, mas eu sou novo nesta cidade. Eu sou melhor em armadura de ferreiro.
+
+I'm back, I'm here, I'm great! I am the AF King Arthur!
+Eu estou de volta, eu estou aqui, eu estou ótimo! Eu sou o AF Rei Arthur!
+
+I'm back.
+Estou de volta.
+
+I'm busy, sorry.
+Estou ocupado, desculpe.
+
+I'm currently cleaning the arena, wait just @@ more.
+Atualmente estou limpando a arena, aguarde apenas @@ mais.
+
+I'm currently doing tutorship for students who are... falling behind %%p
+
+
+I'm currently going over some of the household paperwork. Right now I'm inspecting the @@. The work never stops!
+Eu estou atualmente revisando alguns dos documentos domésticos. Agora estou inspecionando o @@. O trabalho nunca para!
+
+I'm currently hosting a fight.
+Atualmente estou hospedando uma briga.
+
+I'm doing the covers and illustrations for the new books we create from the pieces of the old ones.
+Eu estou fazendo as capas e ilustrações para os novos livros que criamos a partir dos pedaços dos antigos.
+
+I'm done.
+Terminei.
+
+I'm fine for now, thank you.
+Estou bem por agora, obrigado.
+
+I'm fine, but I can't keep carrying dead weights with me. Candor is a special place, I shall make a base there... Because I know the Monster King will eventually head there.
+
+
+I'm fine, no worries...
+Eu estou bem, não se preocupe ...
+
+I'm fine, thanks
+Eu estou bem, obrigado
+
+I'm fine, thanks!
+Eu estou bem, obrigado!
+
+I'm fine, thanks.
+Eu estou bem, obrigado.
+
+I'm glad there's no annoying towel man. He keeps coming back to annoy me!
+Estou feliz há toalha homem não irritante. Ele continua a voltar a me irritar!
+
+I'm going, don't worry.
+Eu estou indo, não se preocupe.
+
+I'm here as an Initiate. May I enter Duck Dungeon?
+Estou aqui como um Iniciado. Posso entrar Duck Dungeon?
+
+I'm here to arrest a criminal.
+Eu estou aqui para prender um criminoso.
+
+I'm here to arrest you.
+Estou aqui para te prender.
+
+I'm here to help you restock...
+Estou aqui para ajudá-lo a reabastecer ...
+
+I'm here to investigate what exactly happened so this doesn't happens again.
+Estou aqui para investigar o que exatamente aconteceu para que isso não aconteça novamente.
+
+I'm hungry like a bear :b
+Estou com fome como um urso: b
+
+I'm interested in Grand Hunter Quest.
+Estou interessado em Grand Hunter Quest.
+
+I'm interested in your arrows, they're too expensive with Rosen.
+Estou interessado em suas flechas, elas são caras demais com Rosen.
+
+I'm just a lurker.
+Eu sou apenas um espreitador.
+
+I'm just searching for some cleaning supplies. They must be somewhere around here, but everything went upside down when the slimes escaped.
+Estou apenas procurando por alguns suprimentos de limpeza. Eles devem estar em algum lugar por aqui, mas tudo foi de cabeça para baixo quando os slimes escaparam.
+
+I'm listening, but don't hope me to buy your story.
+Eu estou ouvindo, mas não espero me para comprar a sua história.
+
+I'm looking for the Queen's Party.
+
+
+I'm moved to tears by your dedication to help us. Unrewarded, even. Here, have this rare %s. For free!
+
+
+I'm not a coward! I must press forward!#0
+
+
+I'm not a coward! I must press forward!#1
+
+
+I'm not blind.
+Eu não sou cego.
+
+I'm not crazy, the bucket is vicious and the rope won't withstand my weight.
+Eu não sou louco, o balde é vicioso e a corda não suporta meu peso.
+
+I'm not done yet, please hold tight. It won't take long.
+Eu ainda não terminei, por favor, segure firme. Não vai demorar muito.
+
+I'm not done yet. I'll be back.
+Ainda não terminei. Eu voltarei.
+
+I'm not familiar with the Butterfly Caves. Try asking a local, maybe Arkim, they ought know the way.
+
+
+I'm not familiar with the Butterfly Caves. Try asking a local?
+
+
+I'm not feeling like it today... Sorry.
+Eu não estou me sentindo disposto hoje ... Desculpe.
+
+I'm not going any closer to that cursed place!
+Eu não vou mais perto daquele lugar amaldiçoado!
+
+I'm not going to touch a FLOATING sword made of unobtainum without at least knowing a bit more about it.
+
+
+I'm not going to try to improve this masterpiece. Look its options!
+Eu não estou indo para tentar melhorar esta obra-prima. Olhe suas opções!
+
+I'm not here to listen stories, I need you to return what you've stole.
+Eu não estou aqui para ouvir histórias, eu preciso de você para retornar o que você roubou.
+
+I'm not interested in yours, by the way.
+Eu não estou interessado no seu, a propósito.
+
+I'm not interested right now.
+Eu não estou interessado agora.
+
+I'm not interested, sorry.
+Eu não estou interessado, desculpe.
+
+I'm not interested.
+Eu não estou interessado.
+
+I'm not neutral, so my vouch have no effect.
+Eu não sou neutro, por isso a minha Vouch não têm nenhum efeito.
+
+I'm not ready.
+Eu não estou preparado.
+
+I'm not sure I want to spend that much.
+Não tenho certeza se quero gastar tanto assim.
+
+I'm not sure if that's edible. For teddies, at least.
+
+
+I'm not sure what it needs to move on time, but I managed to make it move in space, back to this village, in no time!
+Eu não tenho certeza do que é necessário para avançar no tempo, mas consegui fazê-lo mover-se no espaço, de volta a esta vila, em pouco tempo!
+
+I'm not that numb eeh *hic* what did ever yous disco... ...vered there, the Guild won't get me!
+Eu não sou tão trouxa como o que você desco... ...obriu lá, a Guilda não vai me pegar!
+
+I'm not the Captain, Nard is.
+Eu não sou o capitão, Nard é.
+
+I'm not unfamiliar with the children of Merlin, thosem whom cross the Mirror Lake. In case of The Mana World, you're lucky, we're parallel, meaning we share lots of things in common.
+
+
+I'm not.
+Eu não sou.
+
+I'm only assuming it was a man because the lack of boobs.
+Eu só estou supondo que ele era um homem porque a falta de mamas.
+
+I'm pretty confident you can attempt the Desert Canyon, but expect to die a few times.
+Estou bastante confiante de que você pode tentar o Desfiladeiro do Deserto, mas espere morrer algumas vezes.
+
+I'm proud of you!
+
+
+I'm quite interested in you, mah' boy!#1
+
+
+I'm quite interested in you, mah' girl!#0
+
+
+I'm railroaded here, I cannot say no. I'll bring you some @@. Break them until one of them fit.
+Eu sou ferroviário aqui, não posso dizer não. Eu vou te trazer um pouco @@. Quebre-os até que um deles caiba.
+
+I'm ready, let's start!
+Estou pronto, vamos começar!
+
+I'm so glad that you took care of the remaining slimes. Thanks! Do you need anything else?
+Estou tão feliz que você tenha tomado conta dos últimos lodos. Obrigado! Você precisa de mais alguma coisa?
+
+I'm so glad we didn't have to go out to hunt the slimes! Thank you!
+Estou tão feliz que não tivemos que sair para caçar os limos! Obrigado!
+
+I'm so tired... Slimes everywhere... Chaos everywhere... Yawn...
+Estou tão cansado ... Slimes em todo lugar ... Caos em todo lugar ... Bocejo ...
+
+I'm sorry but I can't talk right now... I have something on my mind.
+
+
+I'm sorry, I just... Maybe if...? Aha! Here's the EXP, ready for a next go?
+Sinto muito, eu só ... Talvez se ...? Aha! Aqui está o EXP, pronto para uma próxima vez?
+
+I'm sorry, I will come back later.
+Me desculpe, eu voltarei mais tarde.
+
+I'm sorry, these words just came to my mind.
+Me desculpe, essas palavras vieram à minha mente.
+
+I'm sorry... I can't help you either...
+Me desculpe ... Eu não posso te ajudar também ...
+
+I'm sure I could refine this again, if you bring me the payment and the reagents again.
+Tenho certeza de que poderia refinar isso novamente, se você me trouxer o pagamento e os reagentes novamente.
+
+I'm sure it was, now go rest a bit, you deserve it!
+
+
+I'm sure that you've got some questions for me, feel free to ask them, but first I need to tell you the rules all adventurers must respect on this world.
+Tenho certeza de que você tem algumas perguntas para mim, sinta-se à vontade para perguntar, mas primeiro preciso lhe contar as regras que todos os aventureiros devem respeitar neste mundo.
+
+I'm sure the Doctor has a trick... No loans, thanks.
+
+
+I'm sure the crew will like to be spared from having to eat @@ again!
+Tenho certeza que a tripulação vai gostar de ser poupada de ter que comer @@ novamente!
+
+I'm sure there are a lot of sidequests here until you reach level 30, but that's optional.
+Tenho certeza de que há muitos sidequests aqui até você atingir o nível 30, mas isso é opcional.
+
+I'm too busy right now to talk. Dimond's recipes are the best!
+Estou muito ocupado agora para conversar. As receitas de Dimond são as melhores!
+
+I'm too far to jump there.
+Eu estou muito longe de saltar lá.
+
+I'm trying to make good food for all the sailors here, could you help me?
+Estou tentando fazer boa comida para todos os marinheiros daqui, você poderia me ajudar?
+
+I'm waiting for @@ feedback... Please go talk to them! %%S
+
+
+I'm with the Monster King.
+Eu estou com o rei dos monstros.
+
+I'm worried with them. Anyway, I think only heroes are allowed inside, and you are a few levels short of being a Hero...
+Estou preocupado com eles. Enfim, acho que apenas heróis são permitidos dentro, e você está a poucos níveis de ser um herói ...
+
+I'm worried with which Sage the masked man will aim next...
+Estou preocupado com o que Sage, o homem mascarado, mirará em seguida ...
+
+I'm worried. Will everything be alright? Please, lend your help to sir Sakar - no, to the whole world!
+
+
+I've also got in contact the other alliance representatives, and I've found out there's a way to bring you to Halinarzo, using Hurnscald route!
+Eu também entrou em contato os outros representantes da aliança, e eu descobri que há uma maneira de trazê-lo para Halinarzo, usando rota Hurnscald!
+
+I've been delving in the secrets of Mana, using the stolen Mana Stone we got the other day.
+Eu tenho investigado os segredos de Mana, usando a Pedra de Mana roubada que temos no outro dia.
+
+I've brought something to exchange.
+Eu trouxe algo para trocar.
+
+I've brought the money you've asked for.
+Eu trouxe o dinheiro que você pediu.
+
+I've changed my mind
+Eu mudei de ideia
+
+I've changed my mind.
+
+
+I've dispatched Benjamin and some other city guards after her flew to Elenium Mines, but thus far, they haven't returned.
+Eu despachado Benjamin e alguns outros guardas da cidade atrás dela voou para Elenium Mines, mas, até agora, eles não retornaram.
+
+I've even heard of people whom dug Casino Coins out of the ground, but as I said, I don't know. But you'll certainly come across a few o your adventures!
+Eu mesmo ouvi de pessoas que cavaram Moedas Casino da terra, mas como eu disse, eu não sei. Mas você certamente vai se deparar com algumas o suas aventuras!
+
+I've found the Monster King.
+Eu encontrei o Rei dos Monstros.
+
+I've heard Aethyr path was to the west, but I'm not sure west of where... %s
+
+
+I've heard about some adventurers whom obtained magic in another way, but you would still need a lot of levels for that.
+Eu ouvi sobre alguns aventureiros que obtiveram magia de outra maneira, mas você ainda precisaria de muitos níveis para isso.
+
+I've heard rumors about a legendary axe.
+
+
+I've heard some elves, when they abandoned our original town, founded Aethyr somewhere up northwest. But all contact with it has since been lost.
+
+
+I've heard tidings of strange goings-on in this area...
+Eu ouvi notícias de estranhos acontecimentos-on nesta área ...
+
+I've heard you helped my staff to recreate some books. For that, I am grateful.
+Eu ouvi que você ajudou minha equipe a recriar alguns livros. Por isso, agradeço.
+
+I've managed to create a Maggot. It did not die. And it was not an April Fool's joke. Nice one.
+Eu consegui criar um Maggot. Não morreu. E não foi uma piada de 1º de abril. Agradável.
+
+I've managed to create the first mana-based artificial lifeform, it survived three seconds, the record so far.
+Eu consegui criar a primeira forma de vida artificial baseada em mana, ela sobreviveu três segundos, o recorde até agora.
+
+I've mastered the art of reading ancient languages.
+Eu dominei a arte de ler idiomas antigos.
+
+I've mastered the art of speech and communication.
+Eu dominei a arte da fala e da comunicação.
+
+I've sealed a massive amount of dark magic here.
+Eu selou uma enorme quantidade de magia negra aqui.
+
+I've sent a scout ahead of you, and he reported traps in the caves you'll be needing to use to get there.
+Mandei um batedor à sua frente e ele relatou armadilhas nas cavernas que você precisaria usar para chegar lá.
+
+I, Elmo, captain's deputy, will help you to make the maximum possible money in Candor!
+Eu, Elmo, assistente do capitão, irei te ajudar a fazer o máximo de dinheiro possível em Candor!
+
+I, Fafa, the Magical Statue, grant you this power! Prove your worth! And never run from the seal, or die for your cowardice!
+Eu, Fafa, a Estátua Mágica, concedo-lhe este poder! Prove seu valor! E nunca corra do selo, ou morra por sua covardia!
+
+I, second sage of Fate, write this book. The knowledge on it shall guide you to the Secret Of Mana.
+Eu, segundo sábio do destino, escrevo este livro. O conhecimento sobre isso o guiará ao Segredo de Mana.
+
+I, the rightful ruler, demand back this world! Tyranny!
+
+
+I... I confess. I did steal an apple. I was hungry! I am very poor.
+Eu ... eu confesso. Eu fiz roubar uma maçã. Eu estava com fome! Eu sou muito pobre.
+
+IF YOU CHANGE EXP RATE NOW, PREVIOUS BONUS WILL BE LOST!
+Se você alterar EXP Taxa de agora, BÔNUS anteriores serão perdidas!
+
+IF YOU DIE, YOU'LL SUFFER THE EXP PENALTY.
+SE VOCÊ MORRER, VOCÊ SOFRERà A EXP PENALIDADE.
+
+IMPORTANT: All guild magic needs %s to be cast!
+IMPORTANTE: Toda a magia guilda precisa% s para ser lançado!
+
+INV
+INV
+
+Ice Cube
+Cubo de gelo
+
+Ice Fluffy
+Gelo Fofo
+
+Ice Gladius
+Ice Gladius
+
+Ice Lord
+
+
+Ice Maggot
+Larva de gelo
+
+Iced Fluffy
+Fofo Gelado
+
+Iced Water
+Iced água
+
+Icicle Challenge
+
+
+If %s meet the true form of the %s and prove to be a real hero, the sword will give itself for them. But if they fail to prove real heroism, the sword will leave after a while.
+
+
+If I am doing your dirty work, why am I the one paying you?!
+
+
+If I bring @@, my party leader, and the boss is defeated, I can go you in.
+Se eu trouxer @@, meu líder partidário e o chefe for derrotado, posso entrar em você.
+
+If I can't beat him, no one else can, and if our species are to survive, we'll need to return to the Edge. Even if it means... Fulfilling the prophecy. %s. Whatever the cost.
+
+
+If I don't know the answer in your language, try answering in English. That always works.
+Se eu não souber a resposta no seu idioma, tente responder em inglês. Isso sempre funciona.
+
+If I had a map, I would be digging the treasures, not selling it, arr!
+Se eu tivesse um mapa, eu estaria cavando os tesouros, e não vendê-lo, arr!
+
+If I only could find another way in...
+Se eu pudesse encontrar uma outra maneira de ...
+
+If I only knew some magic...
+Se eu soubesse alguma magia ...
+
+If I remember correctly they wanted to see the library. They looked like a man, but you never know.
+Se bem me lembro, eles queriam ver a biblioteca. Eles pareciam um homem, mas você nunca sabe.
+
+If I saw *hic* who you were... *hic* Would not have helped you!
+Se eu visse * hic * quem você era ... * hic * Não teria ajudado você!
+
+If I were you, I would drink water.
+Se eu fosse você, beberia água.
+
+If I weren't tempted to try again everytime someone gets it right...
+Se eu não estivesse tentado a tentar de novo sempre que alguém acertasse ...
+
+If Nikolai's helpers weren't so carefully chosen, I'd think this was some kind of a bad joke from someone.
+Se os ajudantes de Nikolai não fossem escolhidos com tanto cuidado, eu pensaria que isso era algum tipo de piada de mau gosto de alguém.
+
+If a guild mate dies, they will revive. Don't work on self.
+Se um companheiro de alianças morre, eles vão reviver. Não trabalhe em si mesmo.
+
+If a tie happens, I'll give your coin back.
+Se acontecer um empate, devolvo sua moeda.
+
+If a tie happens, you'll get your coin back.
+Se um empate acontecer, você receberá sua moeda de volta.
+
+If all players there die, Hurnscald WON'T BE LIBERATED.
+Se todos os jogadores morrerem, Hurnscald NÃO SERà LIBERADO.
+
+If at any moment in the fight there's less than %d players in the room, a severe penalty will be applied, so watch out!
+
+
+If enabled, automatic captchas may be sent to you every once in a while.
+Se ativado, captchas automáticas podem ser enviadas para você de vez em quando.
+
+If he gives you a guard card, that'll allow access to the Guard House, where you can pick Daily Bounties for monsters. These will pay you in GP.
+Se ele lhe dá um cartão de guarda, que vai permitir o acesso à Casa da Guarda, onde você pode escolher diário Bounties para monstros. Estes irão pagá-lo em GP.
+
+If it expires, you'll need to do another. To bake it I need 1 @@, 10 @@ and an @@.
+Se ela expirar, você vai precisar fazer outro. Cozê-lo eu preciso 1 @@, 10 @@ e um @@.
+
+If it was easy, someone would already have claimed it, so good luck if you plan in obtaining it.
+
+
+If left unchecked for long, they will eventually become the only specie on the sea.
+Se não for controlada por muito tempo, eles acabarão por tornar-se a única espécie no mar.
+
+If life gets so a person cannot laugh,
+Se a vida começa assim que uma pessoa não pode rir,
+
+If one of us found a Mana stone. They would become rich!
+Se um de nós encontrou uma pedra Mana. Eles se tornariam ricos!
+
+If only we defeated their generals and put the army in disarray... It would be possible to visit there.
+Se somente nós derrotou seus generais e colocar o exército em desordem ... Seria possível visitar lá.
+
+If the Monster King attacks, I will try to control inbound monsters here.
+
+
+If the event ended now, you would get @@ GP.
+Se o evento terminasse agora, você receberia @@ GP.
+
+If the members level difference is less than 30, and you enable exp sharing, you'll all get a bonus experience!
+Se a diferença de nível de membros for menor que 30 e você ativar o compartilhamento de exp, todos terão uma experiência de bônus!
+
+If the water doesn't moves, you will never fish anything. Ah, fat luck...
+Se a água não se move, você nunca vai pescar nada. Ah, boa sorte ...
+
+If there were strong people to give us food, ah, how that would be good...
+Se houvesse pessoas fortes para nos dar comida, ah, como isso seria bom ...
+
+If they at least read the @@, they wouldn't have such problems.
+Se pelo menos lerem o @@, não teriam tais problemas.
+
+If they enroll, they will become able to study monsters and to visit the Mystical Forest west of here as well.
+
+
+If they were any bigger, monsters would come and kill everyone.
+Se fosse maior, monstros viriam e matariam a todos.
+
+If things keep like this, we will only manage to give @@ gifts to every player...
+Se as coisas continuarem assim, só conseguiremos dar presentes @@ a todos os jogadores ...
+
+If this is found out to be a fraudulent titulation, both you as target will have their titles cased by the Academic Council, or by the Alliance High Council.
+
+
+If this is not the case, just click on "Send".
+
+
+If this is undesired, select the correct world, and if needed create a new char on it.
+
+
+If town reputation reaches zero, the town will only be able to get money with taxes.
+Se a reputação da cidade chega a zero, a cidade só será capaz de obter dinheiro com os impostos.
+
+If we could convince them to distract the Monster King, we could have chances to do a counter-attack!
+Se pudéssemos convencê-los a distrair o Rei Monstro, poderíamos ter chances de fazer um contra-ataque!
+
+If we don't know where to go - Maybe we should go back looking for clues?
+Se não sabe para onde ir - Talvez devêssemos voltar à procura de pistas?
+
+If yes, of course she will hate you. With reason! You're murdering her family and friends!
+Se sim, claro que ela vai te odiar. Com razão! Você está assassinando sua família e amigos!
+
+If you are a brave hero or adventurer, Andrei, his lieutenant Elora and the Alliance will be waiting for you on %s!
+
+
+If you are above the NPC and they still doesn't hear you, this mean they are deaf - you should report this!
+Se você está acima do NPC e eles ainda não o ouvem, isso significa que eles são surdos - você deve relatar isso!
+
+If you are in need to get lots of experience quickly, you should try to engage the bigger and stronger monsters in the town. However, if they hit you, it's Soul Menhir for you.
+Se você está precisando obter muita experiência rapidamente, você deve tentar envolver os monstros maiores e mais fortes na cidade. No entanto, se eles baterem em você, é Soul Menhir para você.
+
+If you are sure your answer is correct, please contact Jesusalva for bug fixing.
+Se tiver certeza de que sua resposta está correta, entre em contato com Jesusalva para correção de bugs.
+
+If you aren't more careful, we might... accidentally... mistake you for an agent of S.A.R.A.H.
+Se você não são mais cuidadosos, poderíamos ... acidentalmente ... erro que você para um agente de S.A.R.A.H.
+
+If you break that, you could never go to the World's Edge!
+Se você quebrar essa, você nunca poderia ir para a borda do mundo!
+
+If you bring friends, I'm sure they'll be no match. Ah... How many people already lost their shorts to Cave Snakes?
+Se você trouxer amigos, tenho certeza de que eles não serão páreos. Ah ... quantas pessoas já perderam a bermuda para Cave Cobras?
+
+If you bring me 2 @@ and 210 GP, I can make a @@ for you.
+Se você me trouxer 2 @@ e 210 GP, posso fazer um @@ para você.
+
+If you bring me 2 @@, that Necklace, and 4000 GP, I can improve it. It'll be worth it, I warrant you!
+Se você me trouxer 2 @@, esse Colar e 4000 GP, eu posso melhorar isso. Vai valer a pena, eu garanto!
+
+If you bring me 6 @@ I can make a @@ for you.
+Se você me trouxer 6 @@ eu posso fazer um @@ para você.
+
+If you bring me @@ @@, I'll give you a reward!
+Se você me trouxer @@ @@, eu te darei uma recompensa!
+
+If you bring me @@, your party leader, I can let you in.
+Se você me trouxer @@, seu líder de grupo, posso deixar você entrar.
+
+If you bring me a @@ and 500 GP I can make one for you!
+Se você me trouxer um @@ e um 500 GP, posso fazer um para você!
+
+If you bring me some items to I do a bandage and heal myself, I'll give you my gloves!
+Se você me trouxer alguns itens para eu fazer um curativo e me curar, vou te dar minhas luvas!
+
+If you bring me some items, I can craft one for you. You will be my test subject.
+Se você me trouxer alguns itens, posso criar um para você. Você será meu assunto de teste.
+
+If you bring me some items, I can make some for you!
+Se você me trouxer alguns itens, eu posso fazer alguns para você!
+
+If you bring us 5 @@, we'll be forever grateful.
+Se você nos trouxer 5 @@, seremos eternamente gratos.
+
+If you can manage to gather the supplies I need, I can surely craft some %s for you!
+
+
+If you conclude the training, you'll be suitable for the difficult mission our King have to you.
+Se você concluir o treinamento, será adequado para a difícil missão que nosso rei tem para você.
+
+If you could show me what he gave you, I might trust you.
+Se você pudesse me mostrar o que ele te deu, eu poderia confiar em você.
+
+If you decide to continue, a random PINCODE will be
+Se você decidir continuar, uma PINCODE aleatória será
+
+If you die or logout here, the quest will be reset!
+Se você morrer ou sair aqui, a busca será reposto!
+
+If you die, you ##Bwon't##b be able to rejoin, but you won't suffer the penalty.
+
+
+If you die, you'll appear near Tulimshar's Soul Menhir, which is the nearest Menhir to you. You can use @@ if you ever want to change this behavior.
+Se você morrer, você aparecerá perto do Soul Menhir de Tulimshar, que é o menir mais próximo de você. Você pode usar @@ caso deseje alterar esse comportamento.
+
+If you die, you'll have to begin again. And there is the experience penalty, too.
+Se você morrer, você terá que começar de novo. E existe também a penalidade da experiência.
+
+If you die, you'll need to start over everything again!
+Se você morrer, você precisará começar tudo de novo!
+
+If you distort time-space too much, you might end up outside of it, meeting a quick, permanent, and unrecoverable death.
+Se você distorcer muito o tempo-espaço, você pode acabar fora dele, encontrando uma morte rápida, permanente e irrecuperável.
+
+If you don't defeat the Soul Eater before the Great Fire happens, which for the record, has already happened, your soul will slowly be reclaimed by her until your existence ceases to serve as fuel to bring back one of the greatest horrors of story.
+
+
+If you don't have the recipe book, you'll need to find one... Maybe someone in a household you've already helped is willing to give you one.
+Se você não tem o livro de receitas, você precisa encontrar um ... Talvez alguém em uma casa que você já tenha ajudado esteja disposto a lhe dar um.
+
+If you don't know what to use, try using the current date or something.
+Se você não sabe o que usar, tente usar a data atual ou algo assim.
+
+If you don't want to die, fight!
+Se você não quer morrer, lute!
+
+If you don't want to look at the Bible, you can try to solve the following riddle:
+Se você não quer olhar a Bíblia, você pode tentar resolver o seguinte enigma:
+
+If you drag the "Resync" skill from the skill list to the shortcut list, you'll be able to rapidly solve some lag issues!
+
+
+If you ever go there, you should pay it a visit. It is most definitely alive! I'm sure it'll like you, too.
+
+
+If you ever need to get quickly from one place to the other, count on us!
+Se você precisar ir rapidamente de um lugar para outro, conte conosco!
+
+If you ever visit the fortress island, be sure to visit the friendly tree at the cave. I'm sure it'll like you.
+
+
+If you fell ready, perhaps you should touch it?
+Se você ficou pronto, talvez você devesse tocá-lo?
+
+If you fight Black scorpion or others dangerous monster you should use the 'hit and run' tactic.
+Se você lutar contra o Escorpião Negro ou outros monstros perigosos, você deve usar a tática de "acertar e correr".
+
+If you finish everything, and answer everything right, you may get a reward.
+Se você terminar tudo e responder tudo corretamente, poderá receber uma recompensa.
+
+If you follow %s's quest, you will eventually reach the requirements for here.
+Se você seguir busca% das s, você acabará por atingir os requisitos para aqui.
+
+If you found anything which requires immediate attention, like broken roads which lead nowhere, or cliffs with weird collisions, invisible rocks, scamming NPCs or the sorts, please write down a %s and I'll see it. If the interface is too difficult to use, you can also do so %s or send an email to %s.
+
+
+If you get %d sequence, you'll get a %s!
+
+
+If you get any bookpages from the slimes, bring them to Ensio. Thanks for your help!
+Se você pegar qualquer livro dos lodos, traga-os para o Ensio. Obrigado pela ajuda!
+
+If you get too much exp this way, a skill will level up and you'll get even more!
+Se você ficar muito exp desta forma, uma habilidade vai subir de nível e você vai ficar ainda mais!
+
+If you go to Lieutenant Dausen, he'll say that you used GIMP. Just give up.
+
+
+If you have a @@, perhaps you could use it as a bait.
+Se você tiver um @@, talvez você possa usá-lo como isca.
+
+If you have some coffee to me, I'll buy it of your hands.
+
+
+If you have some gems, I can transform them into powder.
+Se você tem algumas gemas, eu posso transformá-las em pó.
+
+If you have trouble with guards, just bribe them and they'll leave you alone. I asked a few to be fired three years ago, but the council haven't reviewed it yet.
+
+
+If you have... references, we may also be able to offer you... premium storing.
+
+
+If you haven't, maybe there are a few things you can do besides selling items."
+
+
+If you head west, you'll eventually reach the magical Kamelot Castle.
+Se você dirigir para o oeste, você vai finalmente chegar ao mágico Kamelot Castle.
+
+If you hug the wall, there's a secret passage somewhere there. Well, there are many secret passages at Tulimshar.
+Se você abraçar a parede, há uma passagem secreta em algum lugar lá. Bem, existem muitas passagens secretas em Tulimshar.
+
+If you kill an opponent stronger than you, you will gain honor points. But if the oponent is 15 levels weaker than you, it will be NEGATIVE!
+Se você matar um oponente mais forte do que você, você vai ganhar pontos de honra. Mas se o oponent é de 15 níveis mais fraco do que você, será NEGATIVO!
+
+If you kill the same person within 30 minutes, honor will not fluctuate. The whole honor system is very experimental.
+Se você matar a mesma pessoa dentro de 30 minutos, a honra não irá flutuar. O sistema de honra todo é muito experimental.
+
+If you leave by the secret window, you'll notice a small cave entrance. Enter it.
+Se você sair pela janela secreta, verá uma pequena entrada na caverna. Entre.
+
+If you meant to reset the drop rate to its default value: @droprate default
+Se você quisesse redefinir a taxa de queda para seu valor padrão:
+
+If you meant to reset the exp rate to its default value: @exprate default
+Se você quisesse redefinir a taxa de exp para o valor padrão: @exprate default
+
+If you miss, walk two or three tiles backwards. This way, you avoid being hit.
+Se você errar, ande dois ou três tiles para trás. Desta forma, você evita ser atingido.
+
+If you need more herbs, the best place to look.
+Se você precisar de mais ervas, o melhor lugar para procurar.
+
+If you need to talk with King Gelid, he should be in the castle north here.
+Se você precisa falar com o rei Gelid, ele deve estar no castelo norte aqui.
+
+If you pay attention, you'll learn the skill.
+Se você prestar atenção, você aprenderá a habilidade.
+
+If you pay the fee, I'll spawn them, for no longer than 20 minutes. You should not fight alone, instead, you need a group of at least three, because, you know, the curse. Or something.
+Se você pagar a taxa, eu vou gerá-los, por não mais que 20 minutos. Você não deve lutar sozinho, em vez disso, você precisa de um grupo de pelo menos três, porque, você sabe, a maldição. Ou alguma coisa.
+
+If you rent an apartment, you'll become a "citzen" and be allowed here. Besides, you can buy stuff in your apartment to, for example, craft stuff.
+
+
+If you save 80% from the crops or more, you'll get @@ GP.
+Se você economizar 80% das colheitas ou mais, você receberá @@ GP.
+
+If you save 90% from the crops or more, you'll also get a @@.
+Se você economizar 90% das colheitas ou mais, você também receberá um @@.
+
+If you sponsor me, while I break into more dimensions, I'll give you any stuff I find. Hey, they could be rare here!
+Se você me patrocinar, enquanto eu entrar em mais dimensões, eu lhe darei qualquer coisa que eu encontrar. Ei, eles podem ser raros aqui!
+
+If you succeed, the defense and/or attack will raise. If you fail, refine level goes down.
+Se você tiver sucesso, a defesa e / ou ataque aumentará. Se você falhar, o nível de refinação diminui.
+
+If you take too long you'll be penalized.
+Se você demorar muito, você será penalizado.
+
+If you think this should be a priority, please ask Jesusalva.
+Se você acha que isso deve ser uma prioridade, por favor, pergunte Jesusalva.
+
+If you train hard enough, and get access to a Mana Stone, I could teach you a trick or two. But right now, I don't sense magic compatibility in you.
+Se você treinar o suficiente e conseguir acesso a uma Mana Stone, eu poderia te ensinar um truque ou dois. Mas agora, eu não sinto a compatibilidade mágica em você.
+
+If you try take any more power from the Mana Seed, I'll kill you.
+Se você tentar tomar qualquer mais poder a partir da semente Mana, eu vou te matar.
+
+If you try to walk west or east too much, you'll hit an "invisible wall" to prevent you from getting lost.
+
+
+If you unlock a pet but it is missing on this list, this means nobody elese unlocked them yet.
+
+
+If you want it?
+Se você quiser?
+
+If you want to be a real miner friend, do this hard task for me. I will reward you with a @@.
+Se você quer ser um amigo mineiro de verdade, faça essa tarefa difícil para mim. Eu recompensarei você com um @@.
+
+If you want to know what the Alliance is up to, you might have better luck talking to Jerican, from the Press.
+
+
+If you want to pass through it, you'll need to defeat the Guardian which made the seal. You can bring friends for healing and support.
+Se você quiser passar, você precisa derrotar o Guardião que fez o selo. Você pode trazer amigos para curar e apoiar.
+
+If you want to read this page again, there is a copy up on the wall.
+Se você quiser ler esta página novamente, há uma cópia na parede.
+
+If you want, you can ask there for one. They are at the big building at northwest.
+Se você quiser, pode pedir um. Eles estão no grande edifício a noroeste.
+
+If you want, you can bring me some more of those herbs and potions.
+Se você quiser, pode me trazer mais dessas ervas e poções.
+
+If you're afraid of losing everything, then DEFINITELY do not gamble. %%2
+
+
+If you're ever in need, you may use it to call upon the aid of the ducks.
+Se você está sempre na necessidade, você pode usá-lo para invocar o auxílio dos patos.
+
+If you're reading this - Feel free to use my laboratory in any way you deem fit. Or what's left of it, at least. Also, please kill any slimes you find. I shall be back in six leaps time, according to the Imperial Time, but if I'm not back by then, assume something went wrong and both wushin and me are off the table.
+
+
+If you're right, you'll gain more Casino Coins! And even other nice things!
+Se você está certo, você vai ganhar mais moedas Casino! E até mesmo outras coisas agradáveis!
+
+If you're right, you'll get at least 80 GP!
+Se você está certo, você vai ter pelo menos 80 GP!
+
+If you're still not confident enough, just tell him this: %s
+
+
+If you're wrong, your winning streak is reset.
+Se você está errado, sua sequência de vitórias é redefinida.
+
+If you've used all the ones I've given, you can always bring me more ingredients.
+Se você usou todos os que eu dei, você sempre pode me trazer mais ingredientes.
+
+If your guild is defeat during the quest, you'll need to wait the weekly cooldown to expire.
+Se a sua aliança é a derrota durante a missão, você terá que esperar o cooldown semanal para expirar.
+
+Ignore this book
+
+
+Igor
+Igor
+
+Ihclot
+
+
+Imec#EP
+
+
+Immortal Heavy Sword
+Immortal pesada espada
+
+Imperial Crown
+Coroa imperial
+
+Importing food from Hurnscald is expensive, local food is expensive, if you don't have a job you're a dead person. Worse if you need medical aid.
+
+
+Impossible to read.
+Impossível ler.
+
+Impossible to resync: You are dead.
+Impossível ressincronizar: você está morto.
+
+Impressive. Seven gifts! Now, 12800 is not easy. I understand if everyone gives up.
+Impressionante. Sete presentes! Agora, 12800 não é fácil. Eu entendo se todo mundo desistir.
+
+Improve Barter to level
+Melhorar Barter para o nível
+
+Improve Max Weight to level
+Melhorar Max Peso para o nível
+
+Improve Stealing to level
+Melhorar Roubar a nível
+
+Improved MP Regen
+Improved MP Regen
+
+In TMW2 there is
+No TMW2 existe
+
+In a blood bath, survival is the epitaph.
+
+
+In a few weeks, I will finish the @@ plans, and there will be no doubts, that @@ is not the best weaver in the world!
+Em poucas semanas, terminarei os planos @@, e não haverá dúvidas de que @@ não é o melhor tecelão do mundo!
+
+In addition to my fee, I will also need the following items:
+
+
+In exchange for your help, I'll give you a @@!
+Em troca de sua ajuda, eu lhe darei um @@!
+
+In fact, %s is considered by most to be rare these days.
+
+
+In fact, Bryant is my brother, and he lives in a cave, and he probably have a high level quest too, but that's not important now.
+De fato, Bryant é meu irmão, e ele mora em uma caverna, e ele provavelmente tem uma missão de alto nível também, mas isso não é importante agora.
+
+In fact, I am cured! Hooray!!
+Na verdade, estou curada! Hooray !!
+
+In fact, it is flooded at the moment. Come back later.
+De fato, está inundado no momento. Volte mais tarde.
+
+In fact, the Tulimshar Noble District is world-renowned for crafting high-quality yellow garments!
+
+
+In fact, you would get lost and killed. If I were you, I would avoid the Death Penalty. It's high, ya know?
+De fato, você se perderia e morreria. Se eu fosse você, evitaria a pena de morte. É alto, sabe?
+
+In general, by touching the Mana Stone once, will make you a first degree mage. But these degrees goes up to seven and beyond, I think.
+Em geral, ao tocar a Pedra Mana uma vez, fará de você um primeiro mago grau. Mas estes graus sobe para sete e além, eu acho.
+
+In honor of %s, for their great deeds of recent bravery in face of impending doom.
+Em honra de% s, por seus grandes feitos de recente bravura em face do perigo iminente.
+
+In honor of %s, founder of this academy, whom built this academy WITH HIS OWN HANDS, WITH BLOOD SWEAT AND TEARS.
+Em honra de% s, fundador da academia, quem construiu esta academia COM SUAS PRÓPRIAS MÃOS, COM suor e lágrimas de sangue.
+
+In honor of %s, the greatest hero this world has even seen.
+Em honra de% s, o maior herói deste mundo tem visto.
+
+In honor of DragonStar, winner of Easter 2018.
+Em homenagem ao DragonStar, vencedor da Páscoa de 2018.
+
+In honor of Groata, winner of Easter 2020.
+Em homenagem a Groata, vencedor da Páscoa 2020.
+
+In honor of Manatauro, Povo, YuckFou, Cadis Etrama di Raizel and everyone whom participated on it!
+
+
+In honor of Woody, winner of Easter 2019.
+Em homenagem a Woody, vencedor da Páscoa de 2019.
+
+In honor of everyone whom participated on it!
+
+
+In memoriam. May those whom shall never come back find rest in their afterlifes.
+Em memória. Que aqueles a quem nunca voltar encontrar descanso em suas afterlifes.
+
+In order to enter a message press the 'Enter' key, this will display the white box of typing. Type your message there and press 'Enter' again to send your speech.
+Para inserir uma mensagem, pressione a tecla "Enter", isso exibirá a caixa branca de digitação. Digite sua mensagem lá e pressione "Enter" novamente para enviar seu discurso.
+
+In other words, I never heard of a Yeti eating a kid before. They prefer %s.
+
+
+In other words, it'll make a copy of youself.
+Em outras palavras, ele vai fazer uma cópia de si mesmo.
+
+In other words, whoever they are, they're after the sages. They are not targeting just simple magical users. This might be a problem.
+
+
+In other words: If Lua couldn't find your record, your parents were part of this story! But, on which of these three groups were them?
+Em outras palavras: se a Lua não encontrou seu registro, seus pais fizeram parte dessa história! Mas, em qual desses três grupos eram eles?
+
+In overall, you'll get more experience by fighting monsters.
+Em geral, você vai ter mais experiência na luta contra monstros.
+
+In some cases, your pincode will be required.
+Em alguns casos, seu código PIN será necessário.
+
+In some dungeons etc., there might be a monster much, much stronger than all other monsters on the area. These are the optional miniboss.
+Em algumas masmorras etc., pode haver um monstro muito, muito mais forte do que todos os outros monstros na área. Estes são os miniboss opcional.
+
+In the
+No
+
+In the end, elves would have quite the age to rivalize with human wizards.
+No final, os elfos teriam a idade de rivalizar com os magos humanos.
+
+In the end, they decide the defensive measures, and they even set curfews!
+No final, eles decidem as medidas defensivas, e até definem toques de recolher!
+
+In the first eight months I wanted to go back, but now I'm pretty used to living here. Please don't rescue me.
+Nos primeiros oito meses eu queria voltar, mas agora estou bastante acostumada a morar aqui. Por favor não me salve.
+
+In the storehouse, kill 4 @@. They keep coming back and contaminate our stored goods.
+
+
+In the world, you may find several treasure boxes. Different treasure boxes need different keys.
+No mundo, você pode encontrar várias caixas de tesouro. Diferentes caixas de tesouro precisa de chaves diferentes.
+
+In these dark times, countless souls moved away from Halinarzo. All hope seemed lost.
+Nestes tempos sombrios, inúmeras almas se afastaram de Halinarzo. Toda a esperança parecia perdida.
+
+In this case, haven't I counted, I would have deleted only part of the items, then I would go silent. No refunds.
+Nesse caso, não contei, teria deletado apenas parte dos itens, então ficaria em silêncio. Nenhum reembolso.
+
+In this cave we can easily find Coal, Iron ore, and sometimes @@.
+Nesta caverna podemos encontrar facilmente carvão, minério de ferro e às vezes @@.
+
+In this town you'll find many critical things for your journey, like artifacts, dungeons, crafts and refiners. Please enjoy your stay. And keep tuned for news about us!
+Nesta cidade você vai encontrar muitas coisas críticas para a sua viagem, como artefatos, masmorras, artesanato e refinadores. Por favor, aproveite a sua estadia. E continuo atento para notícias sobre nós!
+
+In this wonderful realm, you can find and earn many @@, our currency!
+Neste reino maravilhoso, você pode encontrar e ganhar muitos @@, nossa moeda!
+
+In this world, Angela married with the Blue Sage. I had an... incident, with the Blue Sage, which is better forgetten. Anyway, seeking to cause a political instability, opposing Yetis every once in a while kidnap their daughter, Cindy.
+
+
+In this world, your friends are your strength. You deserve a reward for the victory, please choose whatever you want.
+Neste mundo, seus amigos são sua força. Você merece uma recompensa pela vitória, por favor, escolha o que quiser.
+
+In times of the fire, magic came to save us.
+
+
+In whom to vote?
+Em quem votar?
+
+Inac
+Inac
+
+Inactive
+Inativo
+
+Inar
+Inar
+
+Increase STR/INT/DEX in range for all guild allies.
+Aumentar STR / INT / DEX no intervalo para todos os aliados de alianças.
+
+Increase Weight skill replaced with Stealing.
+Aumentar a habilidade Peso substituído por roubo.
+
+Increase all stats
+Aumentar todas as estatísticas
+
+Increase all stats from every guild member in area.
+Aumentar todas as estatísticas de todos os membros de alianças na área.
+
+Increase bow range and accuracy.
+Aumentar a amplitude arco e precisão.
+
+Increase critical chance of all guild allies.
+Aumenta a chance de crítico de todos os aliados de alianças.
+
+Increase damage dealt by weapon for all guildies.
+Aumenta o dano causado por arma para todos os guildies.
+
+Increase defense to all friends in radius.
+Aumentar a defesa a todos os amigos em raio.
+
+Increase walk speed and flee rate.
+Aumentar a velocidade de caminhada e fugir taxa.
+
+Indeed, matey! Here they are!
+De fato, amigo! Aqui estão eles!
+
+Indeed. Sorry. I'm not giving you anything.
+De fato. Desculpa. Eu não estou te dando nada.
+
+Indoors 1 (Peace)
+Dentro de casa 1 (paz)
+
+Indoors 2 (Dimonds)
+Dentro de casa 2 (diamantes)
+
+Infantry Helmet
+Capacete de Infantaria
+
+Info
+Info
+
+Information
+Informação
+
+Initiate a siege
+Iniciar um cerco
+
+Initiate small siege (lv. 5)
+Iniciar pequeno cerco (lv. 5)
+
+Injured Mouboo
+
+
+Injuried Mouboo
+Mooboo ferido
+
+Inn
+Pousada
+
+Inn, Dimond's Cove
+Inn, de Dimond Cove
+
+Inn, Houses, Northwest Avenue
+Inn, Moradias, Avenue Northwest
+
+Input new password:
+Insira uma nova senha:
+
+Inside it, seems to be several magic reagents, powders, and other stuff.
+Dentro dele, parece haver vários reagentes mágicos, pós e outras coisas.
+
+Inside it, there'll be a Transcendence Gate.
+Dentro dela, haverá um Portão da Transcendência.
+
+Inside this house is my brother Alan. He knows how to make Forest Bows of exquisite quality.
+Dentro desta casa é meu irmão Alan. Ele sabe como fazer arcos de floresta de excelente qualidade.
+
+Insisting will do us no good, maybe we should try to gain its trust first?
+
+
+Inst @@ Map @@
+Inst @@ Map @@
+
+Instantly jumps 5 tiles backwards.
+Instantaneamente salta 5 telhas para trás.
+
+Instantly jumps to target and delivers an attack.
+Instantaneamente salta ao alvo e oferece um ataque.
+
+Instead of "slap", it could "heal" or "appear".
+
+
+Instead of burning the town to a crisp, it moved to the canyon. Passed through the scarce vegetation until it arrived Hurnscald... And burned it down.
+
+
+Insufficient Guild Level! (@@/@@)
+Nível de Guilda Insuficiente! (@@ / @@)
+
+Insufficient Guild Money! (Guild has: @@ GP)
+Dinheiro de Guilda Insuficiente! (Guild tem: @@ GP)
+
+Insufficient mana: @@/@@.
+Mana insuficiente: @@ / @@.
+
+Insurance
+
+
+Insurance Contract
+
+
+Int Potion
+Poção Int
+
+Int+ Potion
+Int + Poção
+
+Int++ Potion
+Poção Int ++
+
+Intelligence
+Inteligência
+
+Intelligence Fruit
+Fruit Intelligence
+
+Intense Beard
+Barba Intensa
+
+Intensive Mage Challenge
+
+
+Interested?
+Interessado?
+
+Interesting! can I be rewarded for my help?
+Interessante! posso ser recompensado pela minha ajuda?
+
+Interlude
+
+
+Interlude - Fourth Act
+
+
+Intermediary Dungeon (Lv 60+)
+Masmorra Intermediária (Lv 60+)
+
+Interval: (none, only sent on login)
+Intervalo: (nenhum, enviado somente no login)
+
+Interval: every @@ hour(s)
+Intervalo: a cada @@ hora (s)
+
+Introduce
+Introduzir
+
+Invalid Discord ID.
+
+
+Invalid amount!
+Montante inválido!
+
+Invalid map mask
+Máscara de mapa inválida
+
+Invalid music key. Current accepted values are:
+tecla de música inválido. Os valores aceitos atuais são:
+
+Invalid parameter specified, blame saulc.
+Parâmetro inválido especificado, blame saulc.
+
+Invalid quest state: @@
+Estado da missão inválido: @@
+
+Invalid recipe from Nahrec partly reimbursed.
+
+
+Invalid season: @@
+Temporada inválida: @@
+
+Invest in Exportations
+Investir nas exportações
+
+Invest in Reputation
+Invista em Reputação
+
+Investing in Exportations
+Investir nas exportações
+
+Investing in Reputation
+Investir em Reputação
+
+Investment executed
+investimento executado
+
+Invite your friends, and become a Moubootaur Legend!
+Convide seus amigos, e se tornar uma lenda Moubootaur!
+
+Inya, the Jeweler
+Inya, o joalheiro
+
+Iridium Ingot
+Lingote de Irídio
+
+Iridium Ore
+Minério de irídio
+
+Iridium Ore -> Titanium Ore
+Iridium Ore -> Titanium Ore
+
+Iron Ammo Box
+Caixa de Munição de Ferro
+
+Iron Armbands
+Braçadeiras de ferro
+
+Iron Arrow
+Flecha de Ferro
+
+Iron Backsword
+Backsword de ferro
+
+Iron Blade Shield
+Escudo de lâmina de ferro
+
+Iron Bug Slayer
+Assassino do Inseto de Ferro
+
+Iron Ingot
+Lingote de ferro
+
+Iron Ore
+Minério de ferro
+
+Iron Ore -> Coal
+Minério de Ferro -> Carvão
+
+Iron Powder
+Pó de ferro
+
+Iron Quiver
+Quiver de Ferro
+
+Iron Quiver stats restored
+Ferro Quiver estatísticas restaurado
+
+Iron Short Gladius
+Ferro Gladius Curto
+
+Iron Shovel
+Pá de ferro
+
+Is it too deep?
+É muito profundo?
+
+Is it truly a hard choice to make?
+É realmente uma escolha difícil de fazer?
+
+Is that someone's luggage?
+
+
+Is that... Wait... Wow. You... Killed the murderer scorpion.
+
+
+Is there a reward?
+Há uma recompensa?
+
+Is this correct?
+
+
+Is this high-quality fur?
+Isso é pele de alta qualidade?
+
+Is this letter yours? Very well, let me read.
+Esta carta é sua? Muito bem, deixe-me ler.
+
+Is your guild strong enough to give Arthur at least good nights sleep?
+sua aliança forte o suficiente é dar Arthur pelo menos boa noite de sono?
+
+Is... Dan... Ger... Ous...
+É perigoso...
+
+Isbamuth
+Isbamute
+
+Ishi
+Ishi
+
+Ishi, the Rewards Master
+Ishi, o mestre das recompensas
+
+Isn't hard to live alone?
+Não é difícil viver sozinho?
+
+It also expires after two hours. In such case, talk to him again!
+Ele também expira depois de duas horas. Nesse caso, falar com ele novamente!
+
+It also increases naturally as you grow, albeit less.
+Também aumenta naturalmente como você crescer, embora menos.
+
+It appears we were focusing too much on research and this lead to neglect of other duties of a Sage's household. This is dangerous in times of changes. I'm worried about the future.
+Parece que estávamos nos concentrando demais na pesquisa e isso nos levou a negligenciar outros deveres da casa de um sábio. Isso é perigoso em tempos de mudanças. Estou preocupado com o futuro.
+
+It costs %d GP to use.
+
+
+It costs 600 GP to use.
+Custa 600 GP para usar.
+
+It doesn't make much sense to draw overhasty conclusions.
+Não faz muito sentido tirar conclusões precipitadas.
+
+It happens.
+Acontece.
+
+It has a very dark color and an unusual aroma reminiscent of a moist forest.
+Tem uma cor muito escura e um aroma invulgar que lembra uma floresta húmida.
+
+It has been a great year, and the TMW2 Team would like to
+Tem sido um grande ano, ea equipe da TMW2 gostaria de
+
+It has been a total disaster. They killed %s. And everyone on the village.
+
+
+It has eluded so many craftsmiths, who knows what can be done with that!
+Ele iludiu tantos artesãos, quem sabe o que pode ser feito com isso!
+
+It have lots of lava caves, and some cool stuff, like the @@, can only be craft there.
+Tem muitas cavernas de lava, e algumas coisas legais, como o @@, só podem ser feitas lá.
+
+It have the same shape as those used to polish weapons, but there are blood stains everywhere.
+Tem a mesma forma daqueles usados ​​para polir armas, mas há manchas de sangue em todos os lugares.
+
+It is %s since the last great attack from the Monster King.
+
+
+It is NOT advised for new players to skip parts of the Main Quest.
+
+
+It is NOT designed for noobs. It is for the pain-seeking pro adventurers who laugh at death, and see danger as fun.
+NÃO é projetado para noobs. É para os aventureiros pró-dores que riem da morte e vêem o perigo como divertido.
+
+It is a boss. I don't know how to summon one, and to be honest - You won't want to see one either.
+É um chefe. Eu não sei como convocar um, e para ser honesto - você não vai querer ver um também.
+
+It is a dangerous area, so we only allow students enrolled at the academy to participate.
+
+
+It is a magical tower, though, cloaked in the desert. You can't just walk there. The tower was north of here, you will find a sign near the gate... But you won't find the gate itself.
+
+
+It is a pirate treasure hideout, yarr arr! If you have a @@ and a @@, you may get luck, yarr!
+É um esconderijo de tesouros piratas, yarr arr! Se você tiver um @@ e um @@, você pode ter sorte, yarr!
+
+It is a port city at the south of the continent. Main economic activities are mining and spices trade.
+É uma cidade portuária no sul do continente. As principais atividades econômicas são o comércio de mineração e especiarias.
+
+It is a really cool place. You must visit it someday!
+É um lugar muito legal. Você deve visitá-lo um dia!
+
+It is a sunny day, don't you think?
+É um dia de sol, você não acha?
+
+It is difficult to describe, it is like if it was mixed with mana itself. Drinking a bit of it was enough to recover your MP.
+É difícil descrever, é como se estivesse misturado com o próprio mana. Beber um pouco disso foi o suficiente para recuperar seu MP.
+
+It is known that even world wars have been under cease-fire on this date. On our world, Jesus Saves pays fortunes to Santa so he can gift every adventurer for the good year.
+Sabe-se que até mesmo as guerras mundiais estiveram sob cessar-fogo nesta data. Em nosso mundo, Jesus Salva paga fortunas ao Papai Noel para que ele possa presentear todos os aventureiros pelo bom ano.
+
+It is no use... We are too close to a island, they will keep invading the ship...
+Não adianta ... Estamos muito perto de uma ilha, eles vão continuar invadindo o navio ...
+
+It is not much, but here is %d GP. Should buy you a snack!
+
+
+It is not my fault!
+
+
+It is not my fault.
+
+
+It is often easier to get invited by someone, but if you want to create it, you're free to. Remember guilds also have a player limit.
+Muitas vezes é mais fácil ser convidado por alguém, mas se você quiser criá-lo, você está livre para. Lembre-se que as guildas também têm um limite de jogador.
+
+It is on a huge, icy mountain peak. Rumors about dragons and legendary items to be found.
+É em um pico de montanha enorme e gelado. Rumores sobre dragões e itens lendários podem ser encontrados.
+
+It is one of the five legendary weapons. Legend says it was hidden in a tree on Aethyr, and will be given to the one who proves to be an excelent archer.
+
+
+It is pretty close to here. I advise you to use a good sword, and heal yourself often.
+Está bem perto daqui. Eu aconselho você a usar uma boa espada e se curar com frequência.
+
+It is said that if someone dies to the pinkies but is then avenged and mourned, the avenger may claim from the tree the shield of the world!
+
+
+It is so dangerous, and it...
+É tão perigoso, e ...
+
+It is the birthplace of humans, the first place to come to existence... The World Edge. The place where humanity began, and according to the legend... The place where it shall perish.
+É o berço dos seres humanos, o primeiro lugar para vir à existência ... The World Edge. O lugar onde a humanidade começou, e de acordo com a lenda ... O lugar onde ela perecerá.
+
+It is the non-rare ingredients I actually need help with!
+São os ingredientes não raros que eu realmente preciso de ajuda!
+
+It is the place where it all began... And I'm not talking about the Mana War.
+É o lugar onde tudo começou ... E eu não estou falando sobre a Guerra de Mana.
+
+It is time to send %s to your beloved ones!
+É hora de enviar% s para seus entes queridos!
+
+It is very hard to come by, however, my father has a copy he might sell to you for the right price.
+É muito difícil conseguir, no entanto, meu pai tem uma cópia que ele pode vender para você pelo preço certo.
+
+It is... SO CUTE! You won't refuse honey to a teddy, will you?
+
+
+It looks dangerous.
+Parece perigoso.
+
+It looks like you are ready. Let me see if there is an easy task for you...
+
+
+It looks like you can't carry anything else for now.
+Parece que você não pode carregar mais nada por enquanto.
+
+It looks locked.
+Parece trancado.
+
+It matters not, because soon, all of you will be...
+Não importa, porque em breve, todos vocês serão ...
+
+It may also create some @@ or a @@, with enough skill.
+Pode também criar algum @@ ou um @@, com habilidade suficiente.
+
+It may be dangerous. I better ask %s to check it instead.
+
+
+It may be expensive to return here. Are you sure?
+Pode ser caro para voltar aqui. Você tem certeza?
+
+It may fail, and you might end up with something entirely unexpected, or nothing at all!
+Ele pode falhar, e você pode acabar com algo totalmente inesperado, ou nada!
+
+It might be a good idea to ask around if anyone else observed something odd connected to this person.
+Pode ser uma boa ideia perguntar se alguém observou algo estranho conectado a essa pessoa.
+
+It might be just my gut instinct, but... Would you be willing to talk with Peetu and the other helpers, investigating what actually happened?
+Pode ser apenas meu instinto, mas ... Estaria disposto a conversar com Peetu e os outros ajudantes, investigando o que realmente aconteceu?
+
+It might be, but I never heard of you before. Sorry @@, I can't let just anyone go through. It would be a disservice to see you get stuck and die.
+
+
+It might be, but your level isn't. Sorry @@. No going to Hurnscald before level 20.
+Pode ser, mas o seu nível não é. Desculpa @@. Não vai Hurnscald antes do nível 20.
+
+It more than just a piece of Zealite Ore... It is a part of the world's heart.
+É mais do que apenas um pedaço de zelite ... É uma parte do coração do mundo.
+
+It only loses to Tulimshar, as far as political and economical importance goes.
+Ele só perde para Tulimshar, tanto quanto importância política e econômica vai.
+
+It really comes in handy that I have my towel with me. A towel is about the most massively useful thing an inte- ahm, a person can have.
+É realmente útil que eu tenha minha toalha comigo. Uma toalha é a coisa mais massivamente útil que uma pessoa pode ter.
+
+It rules Tulimshar, and is also one of the superior bodies of the Alliance. They have the last Mana Stone in the world on their meeting hall.
+Ele governa Tulimshar, e é também um dos corpos superiores da Aliança. Eles têm a última Mana Pedra no mundo em sua sala de reuniões.
+
+It seems all of the slimes are gone now. I'm so glad! Thanks for your help. I mentioned your assistance to Nikolai.
+Parece que todos os limos desapareceram agora. Estou tão feliz! Obrigado pela ajuda. Mencionei sua ajuda para Nikolai.
+
+It seems happy, but it quickly goes to a dark honey after finishing.
+
+
+It seems that you have no status points to reset!
+Parece que você não tem pontos de status para redefinir!
+
+It seems to be a mechanism of some kind, but it is missing a Runestone.
+
+
+It seems to be a puzzle, you can only imagine what needs to be done in order to enable the right portals.
+Parece ser um quebra-cabeça, você só pode imaginar o que precisa ser feito, a fim de permitir que os portais certas.
+
+It seems to be concentrated on its small pot... So concentrated, it doesn't even realizes you're there.
+
+
+It seems to be growing apples, but by the amount of magic particles...
+Parece estar crescendo maçãs, mas pela quantidade de partículas mágicas ...
+
+It seems to be the ruins of some sort of Mouboo Temple or whatever, from a millenia ago. There may be traps, so be careful.
+Parece que são as ruínas de algum tipo de templo Mouboo ou o que quer que seja, de milênios atrás. Pode haver armadilhas, então tenha cuidado.
+
+It seems to have been abandoned a long time ago, but the chimney is still going?
+Parece ter sido abandonado há muito tempo, mas a chaminé ainda está indo?
+
+It should be almost a boss at your level, so I don't expect to see you again here so soon.
+Deve ser quase um chefe no seu nível, então eu não espero ver você de novo aqui tão cedo.
+
+It should be back in @@
+Ele deve estar de volta em @@
+
+It should bring me back.
+Ele deve me trazer de volta.
+
+It smells like manatauro's room.
+
+
+It still isn't time to awake the King Of Holy Swords, Light Bringer.
+Ainda não é hora de acordar o Rei das Espadas Sagradas, Portador da Luz.
+
+It then looks at you with a pleasant smile, you definitely earned a new cute friend!
+
+
+It was a boring lesson, but you have mastered Mananese.
+
+
+It was a little @@.
+Foi um pouco @@.
+
+It was a real problem, threatening them to go out of business. I think they are trying to recover the lost weapons.
+Foi um problema real, ameaçando que eles saíssem do negócio. Eu acho que eles estão tentando recuperar as armas perdidas.
+
+It was a recipe you already knew... (+ @@ Mobpt)
+Era uma receita que você já sabia ... (+ @@ Mobpt)
+
+It was a reeeeeealy close dispute for the podium, but Jesusalva crafted an item at the last minute and took the first place!
+Foi uma disputa reeeeeealy perto pelo pódio, mas Jesusalva trabalhada um item no último minuto e tomou o primeiro lugar!
+
+It was a tough fight.
+
+
+It was a trap! We must escape!
+
+
+It was an awful cut! Don't think any piece of a sightly lower material will have part in my art!
+Foi um corte horrível! Não pense que qualquer parte de um material mais baixo terá parte na minha arte!
+
+It was built by The Alliance, and can be accessed by a ship in Tulimshar.
+Foi construído pelo The Alliance, e pode ser acessado por um navio em Tulimshar.
+
+It was just south of the island. Try walking around a bit?
+Foi ao sul da ilha. Tente andar um pouco?
+
+It was my job to seal the slimes away for the night, but I somehow messed it up!
+O meu trabalho era selar a lama durante a noite, mas de alguma forma estraguei tudo!
+
+It was nice seeing you.
+Foi bom ver você.
+
+It was said that these five heroes will once again emerge;
+
+
+It was so lovely, and it had some very tasty fruits, too! But the cave was so dangerous...
+
+
+It was so tasty, I can't eat anything more... Thank you.
+Estava tão gostoso, não posso comer mais nada ... Obrigado.
+
+It wasn't easy, but you think that you extinguished this nest.
+Não foi fácil, mas você acha que extinguiu este ninho.
+
+It wasn't this time...
+Não foi desta vez ...
+
+It will allow you to store %d extra items, with unlimited weight or size limit, for only %s GP! Although premium clients such as yourself... deserve a discount!
+
+
+It won't be long before we reach our destination...
+Não demorará muito até chegarmos ao nosso destino ...
+
+It would be unwise to pick a fight with the Yeti King himself. The whole town would suffer.
+Não seria sábio escolher uma briga com o próprio Yeti King. A cidade inteira sofreria.
+
+It would be very kind of you, if you could seek who I am!
+Seria muito gentil da sua parte, se você pudesse procurar quem eu sou!
+
+It'll also boost your %s for %s.
+Ele também vai aumentar a sua% s para% s.
+
+It'll also drain mana in the proccess. If you run out of mana, its over.
+Ele também vai drenar mana no processo. Se você ficar sem mana, seu excedente.
+
+It'll be my pleasure.
+
+
+It'll be too dangerous if you're not at least level %d. But I'm sure you can grind the required level in no time; Don't let your body down! Exercise!
+
+
+It'll cost @@ GP
+Vai custar @@ GP
+
+It'll cost you @@ GP.
+Vai custar-lhe @@ GP.
+
+It's
+Está
+
+It's *sniff* It's all my fault... *sniff*
+É * farejar * É tudo minha culpa ... * farejar *
+
+It's @@ (day)!
+É @@ (dia)!
+
+It's @@ @@.
+Está @@ @@.
+
+It's International Chocolate Day!
+É o Dia Internacional de Chocolate!
+
+It's Jesusalva's anniversary!
+É o aniversário de Jesusalva!
+
+It's St. Patrick Day, so be warned everyone wants a green dye... So, I raise the prices.
+É St. Patrick Day, então esteja avisado que todo mundo quer um corante verde ... Então, eu aumento os preços.
+
+It's St. Patrick Event!
+É o evento de St. Patrick!
+
+It's TMW2 Project anniversary!
+É o aniversário do projeto TMW2!
+
+It's TMW2 Server anniversary!
+É o aniversário do TMW2 Server!
+
+It's a @@!
+É um @@!
+
+It's a complex curse.
+É uma maldição complexa.
+
+It's a cursed mouboo.
+É um mouboo amaldiçoado.
+
+It's a scary legend of old. It's truth, but I don't know how much it is.
+É uma lenda assustadora do passado. É verdade, mas não sei quanto é.
+
+It's a simple curse.
+É uma maldição simples.
+
+It's a strange drawing of a Mouboo.
+É um desenho estranho de um Mouboo.
+
+It's a tie!
+É um empate!
+
+It's a very delicate spell. I usually start to prepare it while the helpers are still working on their research and experiments. That way, when they're done, they can just come and place the slimes under the seal.
+É um feitiço muito delicado. Eu costumo começar a prepará-lo enquanto os ajudantes ainda estão trabalhando em suas pesquisas e experimentos. Dessa forma, quando terminarem, eles podem simplesmente vir e colocar os limos sob o selo.
+
+It's advised to collect PVP equipment.
+É aconselhável coletar equipamentos de PVP.
+
+It's advised to come ready for the cold, the hungry beasts, and other dangers snow may bring.
+É aconselhável vir preparado para o frio, as bestas famintas e outros perigos que a neve pode trazer.
+
+It's all my fault, I should've paid more attention! You should talk to Chief Oskari about this.
+É tudo minha culpa, eu deveria ter prestado mais atenção! Você deveria falar com o chefe Oskari sobre isso.
+
+It's always good to see if you have a lot of them around before you think about attacking one!
+É sempre bom ver se você tem muitos deles antes de pensar em atacar um!
+
+It's an ambush!
+É uma emboscada!
+
+It's autumn! There is no special event during autumn, only special drops.
+É outono! Não há nenhum evento especial durante o outono, apenas gotas especiais.
+
+It's cold, harsh climate makes difficult to live there. It was founded by people thrown away from Tulimshar and Hunrscald for political reasons.
+Está frio, o clima severo dificulta a vida lá. Foi fundada por pessoas jogadas fora de Tulimshar e Hunrscald por razões políticas.
+
+It's currently day, but when night falls, Candor will become darker.
+Atualmente é dia, mas quando a noite cai, Candor se torna mais escura.
+
+It's currently night, that's why Candor is dark.
+É atualmente noite, é por isso que Candor é sombria.
+
+It's dangerous in the library right now, be careful. Do you need anything else?
+É perigoso na biblioteca agora, tenha cuidado. Você precisa de mais alguma coisa?
+
+It's done with @@ teethes. These drain your life and raise your strenght to SMASH your foes!
+É feito com @@ teeths. Estes drenam sua vida e aumentam sua força para AMARRAR seus inimigos!
+
+It's far from over! You cannot defeat me!
+Está longe de terminar! Você não pode me derrotar!
+
+It's full of Mouboo drawings.
+Está cheio de desenhos de Mouboo.
+
+It's good to see you too, do you happen to be able to make stuff?
+É bom ver você também, você é capaz de fazer coisas?
+
+It's higher! That's right!
+É mais alto! Está certo!
+
+It's impossible to know when she'll be back, so you should prioritize something else for now.
+É impossível saber quando ela estará de volta, então você deve priorizar outra coisa por enquanto.
+
+It's locked.
+Está trancado.
+
+It's locked. But a close inspection reveals a small key under the rug.
+Está trancado. Mas uma inspeção minuciosa revela uma pequena chave embaixo do tapete.
+
+It's lower! That's right!
+É mais baixo! Está certo!
+
+It's my duty to protect the beings in the forest... Not all of them are monsters as @@s like you think.
+É meu dever proteger os seres na floresta ... Nem todos eles são monstros como @@ s como você pensa.
+
+It's none of your business.
+Não é da sua conta.
+
+It's not as good as my new one, but still very useful.
+Não é tão bom quanto o meu novo, mas ainda é muito útil.
+
+It's not hard to repair, but nobody is bothering Jesusalva on #world as of late. %%n
+
+
+It's not much of a reward, but doesn't it feel great to help others in need?! HAHAHA!
+
+
+It's not much of a reward, but doesn't it feels great to help others in need?! HAHAHA!
+Não é uma grande recompensa, mas não é ótimo ajudar os necessitados ?! HAHAHA!
+
+It's not possible to see any light, and it seems to small and damp to have monsters.
+Não é possível ver qualquer luz, e parece pequeno e úmido ter monstros.
+
+It's not warranted you'll be able to get the powder back, either.
+Não é garantido que você também poderá recuperar o pó.
+
+It's obtained with ADMINS or by selling furniture. It is sumed to money and used first.
+É obtido com ADMINS ou vendendo móveis. É somado a dinheiro e usado primeiro.
+
+It's over a hundred meters in depth. There is some land here, but I'm afraid of Terranite.
+Tem mais de cem metros de profundidade. Há alguma terra aqui, mas tenho medo de terranita.
+
+It's self sufficient economically, and many fairies enjoy travelling there. In fact, rumors says the Fairy Kingdom is near it!
+É auto-suficiente economicamente, e muitas fadas gostam de viajar para lá. Na verdade, rumores dizem que o Reino das Fadas está perto disso!
+
+It's spring! Two lovely NPCs at woodlands can be found...
+É primavera! Dois adoráveis ​​NPCs em florestas podem ser encontrados ...
+
+It's spring, when the wind is always good.
+É primavera, quando o vento está sempre bom.
+
+It's steaming hot, but you guess this is where Isbamuth created homunculus. Most bandits, thieves and assassins seems to have been born here.
+É fumegante, mas você adivinha onde é Isbamuth criado homúnculo. A maioria dos bandidos, ladrões e assassinos parece ter nascido aqui.
+
+It's steaming. Who knows what insanity Isbamuth is brewing inside?!
+Está fumegando. Quem sabe que insanidade Isbamuth está se formando por dentro ?!
+
+It's summer! Ched is having his usual contest, but Luffyx in Hurnscald is up to no good!
+É verão! Ched está tendo seu concurso habitual, mas Luffyx em Hurnscald não está fazendo nada bom!
+
+It's tasty ^.^
+É gostoso ^.
+
+It's the Free Software Day!
+
+
+It's the International Coffee Day!
+É o Dia Internacional do Café!
+
+It's the least I could do for having you to go through all this struggle. I've already paid everything, so just talk to the receptionist for your room :>
+É o mínimo que eu poderia fazer para ter você de passar por todo esse esforço. Eu já paguei tudo, para apenas falar com a recepcionista para seu quarto:>
+
+It's time to show this shiny @@ who is the boss! HAHAHAHAHAHAHAH!
+É hora de mostrar isso brilhante @@ quem é o chefe! HAHAHAHAHAHAHAH!
+
+It's time. My army already have tens of thousands of monsters, homunculus, persons. The mana stones I've got thus far are all dried out, now.
+Está na hora. Meu exército já tem dezenas de milhares de monstros, homúnculos, pessoas. As pedras de mana que eu tenho até agora estão todas secas agora.
+
+It's too faint to read.
+É muito fraco para ler.
+
+It's totally safe. They are loyal as long that feed. And to think I started off giving @@ to the poor...
+É totalmente seguro. Eles são leais tanto tempo que se alimentam. E pensar que eu comecei dando @@ para os pobres ...
+
+It's true enough an @@ could heal even a dead tree, and would dispel almost every status ailment I could have.
+É bem verdade um @@ poderia curar até mesmo uma árvore morta, e se dissipar quase cada doença estado que eu poderia ter.
+
+It's valentine day, and I got my hands on a @@ model!
+É dia de São Valentim, e eu tenho minhas mãos em um modelo @@!
+
+It's very brave of you to fight against those slimes deeper in the library. Remember that you have to kill the entire group to prevent them from breeding. And do it @@!
+É muito corajoso da sua parte lutar contra aqueles limos mais profundos na biblioteca. Lembre-se de que você precisa matar todo o grupo para impedi-los de se reproduzir. E faça isso @@!
+
+It's weaker than before, probably only one is working right now.
+É mais fraco do que antes, provavelmente, apenas um está trabalhando no momento.
+
+It's winter! An NPC in Nivalis Town is freezing...
+É inverno! Um NPC em Nivalis Town está congelando ...
+
+It's written in Mananese, you cannot read.
+Está escrito em Mananese, você não pode ler.
+
+It's written in an ancient language, you cannot understand what's written.
+Está escrito em uma língua antiga, você não consegue entender o que está escrito.
+
+It's yummy ^.^
+É gostoso ^.
+
+Item 816
+artigo 816
+
+Item List
+Item da lista
+
+Item break? Too dangerous! I don't want it!!
+Quebra de item? Perigoso demais! Eu não quero isso !!
+
+Item created.
+Item criado.
+
+Item obtained: @@
+Artigo obtido: @@
+
+Item sold!
+Artigo vendido!
+
+Items for consumption, like potions, can only be used once.
+Itens para consumo, como poções, só podem ser usados ​​uma vez.
+
+Items have different effects. Some will heal you, some can be used as weapons or armor, and some can be sold for gold.
+Itens têm efeitos diferentes. Alguns vão curar você, alguns podem ser usados ​​como armas ou armaduras, e alguns podem ser vendidos por ouro.
+
+Items in your storage are totally safe. Banking itself is totally safe.
+Itens em seu armazenamento são totalmente seguros. O próprio banco é totalmente seguro.
+
+Iten
+Iten
+
+Itka
+Itka
+
+Ivanize
+
+
+JAIL THEM!!
+CADEIA ELES !!
+
+JAK1, THE SLIME RESEARCHER
+
+
+Jack
+Jack
+
+Jack bends the log over his knee.
+Jack inclina o tronco sobre o joelho.
+
+Jack'O
+Jack'O
+
+Jack'O Lantern
+Lanterna Jack'O
+
+Jack's Skeleton Charm
+Jack's Skeleton Charm
+
+Jack, the Lumberjack
+Jack, o lenhador
+
+JackO
+
+
+Jackpot! You got the @@!
+Jackpot! Você tem o @@!
+
+Jackpot! You got the Monocle!
+Jackpot! Você tem o Monocle!
+
+Jackpot! You got the Paper Bag!
+Jackpot! Você tem o saco de papel!
+
+Jakod
+Jakod
+
+Janika
+Janika
+
+Jar Of Blood
+Jarra de Sangue
+
+Jarret, Tulimshar's Founder, was a great man, but his successors were not. Specially the Red Queen. Eventually, our clan had enough and moved away from Tulim.
+
+
+Jasmine Tea
+Chá de jasmim
+
+Jeans Chaps
+Calças de brim
+
+Jeans Shorts
+Jeans Shorts
+
+Jelly Beans
+Jujubas
+
+Jenny
+Jenny
+
+Jeremy
+
+
+Jerican
+Jerican
+
+Jerry
+Jerry
+
+Jesusalva
+Jesusalva
+
+Jesusalva : \\o/
+
+
+Jesusalva Card
+Cartão de Jesusalva
+
+Jesusalva still have this closed because the traps are broken... %%n But we shall open soon. %%G
+
+
+Jesusaves wrote a grimorie, with ancient secrets of our world.
+Jesus Saves escreve um grimório, com antigos segredos do nosso mundo.
+
+Jesusaves's Grimorium
+Grimório de Jesus Saves
+
+Jeweler
+Joalheiro
+
+Jhedia
+Jhedia
+
+Jhon Henryfield
+
+
+Jhon Longnose
+
+
+Joanna
+
+
+Joaquim
+Joaquim
+
+Job Level and certain equips can affect your status. You'll see the modifiers with a + sign.
+Nível de trabalho e alguns equipamentos podem afetar seu status. Você verá os modificadores com um sinal de +.
+
+Job levels already boosts all your status. It gives +1 on each status every 10 job levels.
+Os níveis de trabalho já aumentam todo o seu status. Dá +1 em cada status a cada 10 níveis de trabalho.
+
+Joelin
+
+
+Join existing arena
+Junte-se à arena existente
+
+Join teh Guild
+Junte-se à guilda
+
+Joker
+Palhaço
+
+Judgement
+Julgamento
+
+Judgement has passed.
+O julgamento passou.
+
+Judgment
+Julgamento
+
+Juliet
+Julieta
+
+Juliet is east (right) of %s.
+Julieta é leste (direita) de% s.
+
+Jump inside!
+Salte para dentro!
+
+June 21st - September 21st
+21 de junho a 21 de setembro
+
+Junglefowl
+
+
+Just @@ ago, thieves stole Pihro & Pyndragon weapons.
+Apenas @ @ atrás, ladrões roubaram armas Pihro e Pyndragon.
+
+Just be really, REALLY sure you want to do it. I mean, the gemstone will break.
+Apenas seja realmente, com certeza você quer fazer isso. Quer dizer, a pedra vai quebrar.
+
+Just beware that if you leave, you might get killed really quickly. No death penalty, though.
+Apenas tome cuidado, se você sair, você pode ser morto muito rapidamente. Não há pena de morte, no entanto.
+
+Just go over there and you'll be able to board the Airship. The travel takes a while so please be patient and good luck!
+
+
+Just go right, yeye can't miss her. She's the only girl in this crew.#1
+
+
+Just go right, yeye can't miss her. She's the only girl in this crew, oh well, except for you now yeyeye!#0
+
+
+Just go to the basement, past this door. Good luck, @@!
+Apenas vá para o porão, depois desta porta. Boa sorte, @@!
+
+Just like every cave below the woodlands are under the Terranite King domains, every land covered in snow is under the Yeti King's domains.
+Assim como todas as cavernas abaixo das florestas estão sob os domínios do Rei Terranico, todas as terras cobertas de neve estão sob os domínios do Rei Yeti.
+
+Just like parties, you can create from Social menu, but there is a catch: I will give you a document, which allows you to create ONE GUILD.
+Assim como as festas, você pode criar a partir do menu Social, mas há uma pegadinha: eu vou te dar um documento, que permite criar uma GUILD.
+
+Just look at that water! There's a whole bunch of fish down there.
+Basta olhar para essa água! Há um monte de peixe lá embaixo.
+
+Just looking at him you smell danger, adventure, excitement...
+Apenas olhando para ele você cheira perigo, aventura, excitação ...
+
+Just make sure to don't try to poison a guard or something, and don't tell anyone of our little deal. As a proof of our agreement, I'll even give you a freebie, so you can see this is the real deal.
+
+
+Just one coin for spin.
+Apenas uma moeda para girar.
+
+Just tell him that I want to reconsider, and that I want the souvenir he offered me when I moved to Hurnscald.
+Basta dizer-lhe que eu queira reconsiderar, e que eu quero que a lembrança que ele me ofereceu quando me mudei para Hurnscald.
+
+Just two coins for spin.
+Apenas duas moedas para girar.
+
+Just use the arrow key--, err, I mean, just walk to the door on the right. The one which is not guarded by Peter.
+Basta usar as teclas direcionais--, err, quero dizer, apenas ande até a porta à direita. Aquele que não é guardado por Pedro.
+
+Just wait. Fafi dragons are slow to show up...
+Apenas espere. Os dragões Fafi demoram a aparecer ...
+
+Just... Don't accidentaly invoke a Legendary Guardian or something, these thingies could destroy a whole city.
+Apenas ... Não invoque acidentalmente um Guardião Lendário ou algo assim, essas coisas poderiam destruir uma cidade inteira.
+
+KUNAI
+
+
+Kage
+
+
+Kaizei Human
+Kaizei Humano
+
+Kamelot Castle is a GUILD DUNGEON which refreshes WEEKLY.
+Kamelot Castelo é um calabouço GUILD que atualiza semanalmente.
+
+Kamelot Key
+Kamelot Key
+
+Kamelot Raid
+Kamelot Raid
+
+Kamelot Season is open!
+Kamelot temporada está aberta!
+
+Kanabo
+Kanabo
+
+Katazuli breaking proccess will cause the breaker some harm.
+processo de quebra Katazuli fará com que o disjuntor algum dano.
+
+Katze
+katze
+
+Keep breaking
+
+
+Keep exploring the Study Room and certify it is safe first.
+Continue explorando a Sala de Estudo e certifique-se de que é seguro primeiro.
+
+Keep exploring the Study Room and certify it is safe first. Also, make sure to learn what this was used for.
+Continue explorando a Sala de Estudo e certifique-se de que é seguro primeiro. Além disso, certifique-se de aprender para que isso foi usado.
+
+Keep following the path. Take this and... good luck.
+
+
+Keep in mind that %s are weak, baby Yetis, so kill them as well!
+Tenha em mente que% s são fracos, baby Yetis, para matá-los também!
+
+Keep in mind the more power you have, the less control you'll have as well. Until you get a %s to track progress, use %s to check your control. Less control may result in failure to summon!
+Tenha em mente o mais poder você tiver, menos controle você vai ter também. Até obter uma% s progresso para rastrear, use% s para verificar o seu controle. Menos controle pode resultar em falta de convocação!
+
+Keep in mind this is a PvP area - So try to avoid being butchered, because revival spells are disabled here! Hahaha!
+
+
+Keep in mind, the more levels and intelligence you have, more likely the Mana Stone will grant you more Magic Power. But that means nothing.
+Tenha em mente, os mais níveis e inteligência que você tem, mais provável a Pedra Mana irá conceder-lhe mais poder de Magia. Mas isso não significa nada.
+
+Keep in mind, we at the Academy do not have a Mana Stone.
+Tenha em mente, nós na Academia não tem uma pedra Mana.
+
+Keep moving boy.#1
+
+
+Keep moving girl.#0
+
+
+Keep the Grimorie with you. It's a rare book which holds data from all others. The book shall guide your advances!
+Mantenha o Grimorie com você. É um livro raro que detém os dados de todos os outros. O livro deve orientar seus avanços!
+
+Keep your voice down and just listen.
+
+
+Keep your voice down! And yes. Can you confirm @@ was the cause?
+Fale baixo! E sim. Você pode confirmar que @@ foi a causa?
+
+Kenton
+Kenton
+
+Kevin
+Kevin
+
+Khafar
+Khafar
+
+Khaki Dye
+Tintura cáqui
+
+Kid Bola
+Kid Bola
+
+Kill %s!
+
+
+Kill 'em all!
+Matar todos eles!
+
+Kill 'em!
+Mate-os!
+
+Kill 2 @@. This will prove your worth. They are northwest of the island.
+
+
+Kill at least a hundred of Pinkies here, and then we can talk.
+Mate pelo menos uma centena de Pinkies aqui e depois podemos conversar.
+
+Kill the @@ at the storehouse.
+
+
+Killed in action!
+
+
+King Arthur
+Rei Arthur
+
+King Arthur the Corrupted
+Rei Arthur Corrompido
+
+King Arthur the Micksha
+Rei Arthur a Micksha
+
+King Gelid
+Rei Gelido
+
+King Gelid Frozenheart
+Rei Gelid Frozenheart
+
+King Gelid Frozenheart II rules over all elves and dwarves who live here peacefully, and he also presides the city council.
+Rei Gelid Frozenheart II governa todos os elfos e anões que vivem aqui pacificamente, e ele também preside o conselho da cidade.
+
+King Gelid Frozenheart II will have you.
+Rei Gelid Frozenheart II vai ter você.
+
+King Of Trials
+Rei dos Julgamentos
+
+King of all heroes,
+
+
+Kitana
+Kitana
+
+Knife
+Faca
+
+Knight Card
+Carta Knight
+
+Knight Card S
+
+
+Knight Card X
+
+
+Knit Hat
+Chapéu de malha
+
+Knock on the door?
+Bater na porta?
+
+Knockback Immunity
+
+
+Knowing that would make you a descendant of them. But eh, that's asking too much. You had amnesia, right? That was on the letter.
+Sabendo que isso faria de você um descendente deles. Mas eh, isso é pedir demais. Você teve amnésia, certo? Isso estava na carta.
+
+Knowing when to warp is the secret to success!
+Saber quando se deformar é o segredo do sucesso!
+
+Knowledge is power... And now you have both. Use them wisely.
+Conhecimento é poder ... E agora você tem os dois. Use-os com sabedoria.
+
+Knox The Traveler
+Knox o viajante
+
+Kolchak and dangerDuck are working to finish Duck Dungeon. Contact them for updates...
+Kolchak e dangerDuck estão trabalhando para terminar Duck Dungeon. Contactá-los para atualizações ...
+
+Kreist
+Kreist
+
+Kreist, Taskmaster
+Kreist, Taskmaster
+
+Kristian
+Kristian
+
+Kullervo
+Kullervo
+
+Kunai
+
+
+LEAVE NOW... BEFORE IT BECOMES TOO LATE....
+DEIXE AGORA ... ANTES DE TORNAR-SE MUITO TARDE ....
+
+LEGACY Broadsword
+LEGO Broadsword
+
+LEGACY Miere Cleaver
+LEGACY Miere Cleaver
+
+LET'S DANCE!
+VAMOS DANÇAR!
+
+LOFBot
+LOFBot
+
+LOWER!
+MAIS BAIXO!
+
+Lachesis Brew
+Infusão Lachesis.
+
+Land Of Fire
+Terra de Fogo
+
+Land Of Fire - @@ GP
+Land Of Fire - @@ GP
+
+Land Of Fire Office
+Land Of Escritório Fogo
+
+Land Of Fire Townhall
+Terra do Fogo Townhall
+
+Land Of Fire Village
+Terra do Fogo Vila
+
+Land Of Fire Village (@@m)
+Aldeia Terra do Fogo (@@ m)
+
+Land Of Fire is a place so warm... Although this workshop is a better place to break time and space during Christmas.
+Terra do fogo é um lugar tão quente ... Embora esta oficina é um lugar melhor para quebrar o tempo e espaço durante o Natal.
+
+Laranja
+Laranja
+
+Last IP: @@
+Último IP: @@
+
+Last Seen: @@
+Visto pela última vez: @@
+
+Last Stand Card
+Cartão Last Stand
+
+Last Standing Man
+Last Man Standing
+
+Last map: @@
+Último mapa: @@
+
+Last time they told me he collected more than that...
+A última vez que eles me disseram que ele coletou mais do que isso ...
+
+Later
+Mais tarde
+
+Later.
+Mais tarde.
+
+Latif
+Latif
+
+Laura
+Laura
+
+Lava Mana Pearl
+Lava Mana Pearl
+
+Lava Skull Slime
+Lava Crânio Slime
+
+Lava Slime
+Slime de Lava
+
+Lava Slime Mother
+Lava Slime Mãe
+
+Lavern
+Lavern
+
+Lawn Cable
+Cabo do gramado
+
+Lawn Cable Card
+Cartão de Cabo de Gramado
+
+Lawncandy
+Lawncandy
+
+Layman
+Leigo
+
+Lazurite Cristal
+Lazurite Cristal
+
+Lazurite Heart
+Coração de Lazurite
+
+Lazurite Robe
+Manto Lazurite
+
+Lazurite Shard
+Estilhaço Lazurite
+
+Lead Ingot
+Lingote de chumbo
+
+Lead Ore
+Minério de chumbo
+
+Lead Ore -> Tin Ore
+Chumbo Ore -> Tin Ore
+
+Leader Wand
+Varinha Líder
+
+Leaderboard is refresh daily at 1 AM!
+A tabela de classificação é atualizada diariamente às 01:00!
+
+Leaderboard is refresh daily at 11:59 and 23:59!
+Leaderboard é atualizar diariamente às 11:59 e as 23:59!
+
+Learn Alchemy Recipes
+Aprenda receitas de alquimia
+
+Learn crafting for @@ GP
+Aprenda a criar para @@ GP
+
+Learn individual guild skills
+Aprender habilidades de alianças individuais
+
+Learn milking a Mouboo. And if you harm them, I'll cast a lightning bolt at you!
+Aprenda a ordenhar um Mouboo. E se você machucá-los, eu vou lançar um raio em você!
+
+Learn what?
+Aprenda o que?
+
+Learned a new recipe!
+Aprendi uma nova receita!
+
+Learning from seeing (aka. AFK-ing) skill LEVEL UP!!
+Aprender observando (aka. AFK-ing) habilidade Level Up !!
+
+Leather
+
+
+Leather Ball
+Bola de couro
+
+Leather Boots
+Botas de couro
+
+Leather Gloves
+Luvas de couro
+
+Leather Patch
+Remendo de couro
+
+Leather Quiver
+Aljava de Couro
+
+Leather Shield
+Escudo de Couro
+
+Leather Shirt
+Camisa de couro
+
+Leather Suitcase
+Mala De Couro
+
+Leather Trousers
+Calça de couro
+
+Leave
+Sair
+
+Leave blank to abort.
+Deixe em branco para abortar.
+
+Leave it
+Deixar
+
+Leave it alone!
+Deixe isso em paz!
+
+Leave it alone.
+Deixe sozinho.
+
+Leave it alone?
+Deixe isso sozinho?
+
+Leave me alone! Stop annoying me!
+
+
+Leave me alone.
+
+
+Leave sir Benjamin in charge for a few more years, and nothing will be left of these towns. I hope this council perishes in a fire!
+
+
+Leave the Mouboo alone
+Deixe o Mouboo sozinho
+
+Leave the poor thing in peace.
+
+
+Leave the ship? The town have no death penalty and is under a global event.
+Deixe o navio? A cidade não tem pena de morte e está sob um evento global.
+
+Leave this place now, defiler...
+Deixe este lugar agora, defiler ...
+
+Leave.
+Sair.
+
+Led by the Lightbringer
+
+
+Left Crafty Wing
+Asa esquerda de crafty
+
+Left Eye Patch
+Remendo de olho esquerdo
+
+Left-overs will be deleted shortly after.
+Left-overs será eliminado pouco tempo depois.
+
+LeftDoorCheck
+LeftDoorCheck
+
+Legacy
+Legado
+
+Legendary my ass! What a rip-off!
+Lendária minha bunda! Que idiota!
+
+Lemme just fetch a small something for you....
+Deixe-me buscar algo pequeno para você ....
+
+Lemme see... Sagratha is often regarded as a kind and rather powerful elf lady mage... who hate people.
+Deixe-me ver ... Sagratha é muitas vezes considerado como um gentil e bastante poderoso mago elfo ... que odeiam as pessoas.
+
+Lenita
+Lenita
+
+Leona
+Leona
+
+Leprechaun Hat
+Chapéu do duende
+
+Less maggots means a more reliable food supply. This kind of maggot will be a little more difficult to defeat, which is an excellent way to test your prowess in battle.
+
+
+Less rattos means more food. So, this time the monsters will be a little stronger.
+Menos rattos significa mais comida. Então, desta vez os monstros serão um pouco mais fortes.
+
+Let Cynric open your storage. You might also want to open your inventory.
+Deixe o Cynric abrir seu armazenamento. Você também pode querer abrir seu inventário.
+
+Let me analyze that.
+Deixe-me analisar isso.
+
+Let me check into it...
+Deixe-me verificar isso ...
+
+Let me inspect it...
+Deixe-me inspecionar ...
+
+Let me introduce myself, I am Nard, captain of this ship.
+Permita-me introduzir. Eu sou Nard, capitão deste navio.
+
+Let me just have a quick look at you. Hm... I will need @@ GP to reset your stats.
+Deixe-me dar uma rápida olhada em você. Hm ... vou precisar de @@ GP para redefinir suas estatísticas.
+
+Let me see your bow.
+Deixe-me ver seu arco.
+
+Let me see... The more Wings and Teethes I collect, the more my research shall advance.
+Deixe-me ver ... Quanto mais Wings and Teethes eu coletar, mais minha pesquisa deve avançar.
+
+Let me see.....
+Deixe-me ver.....
+
+Let me show you...
+Deixe-me te mostrar...
+
+Let's jump straight to action, shall we? I'll build a mighty @@ to fight you!
+
+
+Let's learn new recipes! Do you wanna?
+Vamos aprender novas receitas! Você quer?
+
+Let's play!
+Vamos jogar!
+
+Let's pretend I believe you.
+
+
+Let's say I believe you. Who stole you? Benjamin?
+Vamos dizer que eu acredito em você. Quem você roubou? Benjamin?
+
+Let's see how I can activate it...
+
+
+Let's see if you can pick a reward!
+Vamos ver se você pode escolher uma recompensa!
+
+Let's see... @@ of your status points have just been reset!
+Vamos ver ... @@ dos seus pontos de status acabaram de ser redefinidos!
+
+Let's start with something simple, yeye.
+Vamos começar com algo simples, yeye.
+
+Lethal alcohol overdrinking
+overdrinking álcool letal
+
+Lethal damage over time, no regen.
+dano letal ao longo do tempo, nenhum regen.
+
+Lethal overdrinking:
+overdrinking letal:
+
+Lets play!
+
+
+Lettuce Leaf
+Folha de Alface
+
+Level %d (%s GP)
+
+
+Level %d (%s HP) (Found by %s)
+
+
+Level Boss
+
+
+Level reset from %d to %d
+reposição de nível de% da% d
+
+Level set from %d to %d
+Conjunto nível de% da% d
+
+Liana
+Liana
+
+Liana, like other NPCs, provide a repeatable quest. Once you finish it, you will be able to do it again, after waiting for a few hours.
+Liana, como outros NPCs, fornecer uma missão repetível. Uma vez que você terminá-lo, você será capaz de fazê-lo novamente, depois de esperar por algumas horas.
+
+Liar. Where are the goods? Are you trying to cheat me?!
+Mentiroso. Onde estão as mercadorias? Você está tentando me enganar ?!
+
+Liar. You can't fool me. That's the price. Get that or get out!
+Mentiroso. Você não pode me enganar. Esse é o preço. Pegue isso ou saia!
+
+Licensing was one of the worst hassle we had, but just today, all mobs may drop Ancient Blueprints. Enjoy!
+
+
+Lieutenant Armor
+Tenente Armadura
+
+Lieutenant Copper Armor
+Tenente Armadura De Cobre
+
+Lieutenant Dausen
+Tenente Dausen
+
+Lieutenant Jacob
+Tenente jacob
+
+Lieutenant Joshua
+Tenente Joshua
+
+Lieutenant Paul
+Tenente Paul
+
+Life isn't worth the living.
+A vida não é digna de ser vivida.
+
+Lifestone
+Lifestone
+
+Lifestone Pendant
+Lifestone Pendant
+
+Lifestones have the potential to heal the user, and thus are used for potions.
+Lifestones têm o potencial de curar o usuário e, portanto, são usados ​​para poções.
+
+Light Green Diamond
+Diamante Verde Claro
+
+Light Platemail
+Light Platemail
+
+Light Ring
+Anel de luz
+
+Lightbringer
+Portador da luz
+
+Lightbringer#NLib
+Portadora de Luz#NLib
+
+Lightning Bolt
+Relâmpago
+
+Lightsaber
+lightsaber
+
+Like Discord integration and sensitive options.
+Como a integração discórdia e opções sensíveis.
+
+Like, I know you are female.#0
+
+
+Like, I know you are male.#1
+
+
+Likewise, it could only do effect if it antagonize or affront the target.
+
+
+Lilanna
+Lilanna
+
+Lilanna Card
+Carta Liliana
+
+Lilica#easter
+Lilica#Pascoa
+
+Lilit
+Lilit
+
+Lilit (@@m)
+Lilit (@@ m)
+
+Lilit - @@ GP (not exchangeable)
+Lilit - @@ GP (não substituível)
+
+Lilit Warp Crystal
+Lilit Warp Crystal
+
+Lilit is the fairy kingdom, governed by Lilit the Fairy.
+Lilit é o reino das fadas, governado por Lilit the Fairy.
+
+Lilly
+Lilly
+
+Lime Dye
+Tintura de Cal
+
+Linarian Soul
+
+
+Line @@ has been removed.
+A linha @@ foi removida.
+
+Linking requested.
+
+
+Linking the following Discord account:
+
+
+List & Claim rewards
+Lista e reivindicar recompensas
+
+List of Unlocked Pets and Food
+Lista de Desbloqueado Animais e Alimentação
+
+List of known alchemy recipes:
+Lista de receitas de alquimia conhecidas:
+
+List of known cooking recipes:
+Lista de receitas culinárias conhecidas:
+
+List of known crafting recipes:
+Lista de receitas de artesanato conhecidas:
+
+Listen to her story again.
+Ouça a sua história novamente.
+
+Listen to me! Whoever wants to follow foolish @@ on their suicide quest, stay here for 15 seconds!
+Escute-me! Quem quiser seguir tola @@ em sua busca por suicídio, fique aqui por 15 segundos!
+
+Listen, I was trying to get the Yeti King to help me to fight the Monster King. If you want to go there and do it, be my guest; Maybe they'll even help you with whatever your problem is.
+
+
+Listen, I'll use a trick which I learned in, uh, a past life of mine, so if you die, reality resets your being.
+
+
+Listen, as you're new here, I'll give you my %s. I won't give it again, understood? This is my personal gratitude. Come again!
+
+
+Listen, it was not only me who had issues with this... Masked Man. Auldsbel also had a similar issues.
+Ouça, não fui apenas eu quem teve problemas com isso ... Homem mascarado. Auldsbel também teve problemas semelhantes.
+
+Listen, kid, one does not simply ignore Elli! She is too scary to be ignored!
+
+
+Listen, she decided to live away from civilization. She choose the forest as her home and the animals as her family.
+Ouça, ela decidiu viver longe da civilização. Ela escolheu a floresta como sua casa e os animais como sua família.
+
+Listen, this is not a disease. No remedy can cure you, and it cannot be inflicted by consumables.
+
+
+Listen. North of here, is the ruins of an old village. Said village is cursed, and nobody here wants to go there.
+Ouço. Ao norte daqui, estão as ruínas de uma antiga vila. Dito aldeia é amaldiçoada, e ninguém aqui quer ir para lá.
+
+Lit the torch?
+
+
+Little Blub
+Pequeno Blub
+
+Little Red Slime
+Little Red Slime
+
+Little Yellow Slime
+Pouco Slime Amarelo
+
+Lives undercover in human society. Luck led them to surviving this far.
+Vidas secreto na sociedade humana. Sorte levou-os a sobreviver até aqui.
+
+Living Potato
+Batata Viva
+
+Lizards are the main monster found, and they steal gold from innocent bypassers.
+Lagartos são o principal monstro encontrado, e eles roubam ouro de inocentes ignorantes.
+
+Lloyd
+
+
+LoF Coin
+LoF Coin
+
+LoF Warp Crystal
+LoF Warp Crystal
+
+Loading warp, be at this spot in 15 seconds.
+Carregando warp, esteja neste local em 15 segundos.
+
+Locamit
+Locamit
+
+Location Registered. You are now capable to use this warp gate.
+Local registrado. Você agora é capaz de usar esse portal.
+
+Location: %s
+Localizações
+
+Location: All bifs in the world.
+Localização: Todos os bifs do mundo.
+
+Location: Candor B1F
+
+
+Location: Christmas Workshop, Romantic Field, south of Nivalis.
+Localização: Oficina de Natal, Romantic Campo, sul de Nivalis.
+
+Location: Daily Login.
+Localização: Diário de Login.
+
+Location: Enchanted Forest, access by Soul Menhir.
+Localização: Enchanted Forest, acesso por Soul Menhir.
+
+Location: Fishing spots in the water.
+Localização: manchas na água Pesca.
+
+Location: Forsaken Inn, South Woodlands
+
+
+Location: Kamelot Castle, west of Hurnscald.
+Localização: Castelo Kamelot, oeste de Hurnscald.
+
+Location: N/A
+Localização: N / A
+
+Location: North Woodlands, south of Nivalis.
+Localização: North Woodlands, sul de Nivalis.
+
+Location: Not applicable
+
+
+Location: The Mana Plane, Dream Tower
+
+
+Location: The Mana Plane, Porthos
+
+
+Location: The Mana Plane, Showdown Chamber
+
+
+Location: Treasure Chests, hidden inside dungeons.
+Localização: Treasure Chests, escondidos dentro masmorras.
+
+Location: Tulimshar Sewers / Hurnscald Town Hall
+
+
+Location: Valentine Island, access by Soul Menhir.
+Localização: Ilha Valentine, acesso por Soul Menhir.
+
+Location: Worker's Cave, access by Soul Menhir.
+Localização: Trabalhadores Cave, acesso por Soul Menhir.
+
+Lock Picks
+gazuas
+
+Lockpicks
+Lockpicks
+
+Lockpicks are the basic tools for thiefs. Talk to a vault in order to attempt lockpicking.
+Lockpicks são as ferramentas básicas para os ladrões. Fale com um cofre para tentar o lockpicking.
+
+Lof Squirrel
+Lof esquilo
+
+Log Head
+Cabeça de Madeira
+
+LogHead
+
+
+Login Bonus
+
+
+Long Sword
+Espada longa
+
+Long Text Wall Density:
+Texto Longo Densidade Wall:
+
+Look at that pathetic scene, he just put his chair over the desk... Chef Gado won't like it.
+Olhe para aquela cena patética, ele colocava sua cadeira sobre a mesa ... Chef Gado não vai gostar.
+
+Look at this, %s really brought me %d %s.
+
+
+Look closer.
+Olhar mais de perto.
+
+Look the height of this bridge! Worse, the water around here is pretty shallow.
+Olhe a altura desta ponte! Pior, a água por aqui é bem rasa.
+
+Look what we have here, it is a boy!#1
+
+
+Look what we have here, it is a girl!#0
+
+
+Look, I really hate pious...all of them.
+
+
+Looks like I already gave you the Maritime Almanac Scroll. You need to go see George again. I am unable to get another copy for you.
+Parece que eu já te dei o Pergaminho do Almanaque Marítimo. Você precisa ir ver George novamente. Não consigo obter outra cópia para você.
+
+Looks like you are a bit short on supplies. Come back when you have everything I need.
+
+
+Loot 10, Luck +2, Luck Dance
+
+
+Loot 3, ASPD +5%
+
+
+Loot 3, Agi +5
+
+
+Loot 3, Agi +5, Agility Dance, Passive MP Regen (1)
+
+
+Loot 3, DEF +5
+
+
+Loot 3, Dex +5
+
+
+Loot 3, Evasion +7
+
+
+Loot 3, Int +5, Agi +1
+
+
+Loot 3, Luck +5, Luck Dance, Passive MP Regen (1)
+
+
+Loot 3, Max HP +250
+
+
+Loot 3, Max MP +250
+
+
+Loot 3, STR +4, AGI +1
+
+
+Loot 3, STR +5, Vitality Dance, Passive HP Regen (1)
+
+
+Loot 3, Steal +15%, Passive HP Regen (1)
+
+
+Loot 4, Str +1, Gold Drop (4%)
+
+
+Lora Tay
+Lora Tay
+
+Lost Ocean Croc
+
+
+Lost Piou
+
+
+Lost forever on the Desert Canyon, I guess.
+Perdido para sempre no Desfiladeiro do Deserto, eu acho.
+
+Lost without an acorn.
+Perdido sem uma bolota.
+
+Lousy Moccasins
+Mocassins Nojentos
+
+Love Letter
+Carta de amor
+
+Love Lollipop
+Pirulito do amor
+
+Lovely Fluffy
+Lindo fofo
+
+Lower MAXHP, Damage over time
+Lower MAXHP, danos ao longo do tempo
+
+Lower city taxes
+impostos mais baixos da cidade
+
+Lowering Taxes
+redução de impostos
+
+Lt. Gerry
+Tenente Gerry
+
+Lt. Longburn#EP
+
+
+Lt. Randy
+Tenente Randy
+
+Lua#003-2
+Lua#003-2
+
+Luanna
+Luanna
+
+Luca
+Luca
+
+Luck
+Sorte
+
+Luck Fruit
+sorte Fruit
+
+Luck Potion
+Poção da Sorte
+
+Luck+ Potion
+Sorte + Poção
+
+Luck++ Potion
+Luck ++ Potion
+
+Lucky for you, the Alliance have means to assist you. You'll be a grown up, full fledged adventurer in no time at all, and will be able to visit a friend of mine, who will then send you there.
+Para sua sorte, a Aliança tem meios para ajudá-lo. Você será um aventureiro crescido em pouco tempo, e poderá visitar um amigo meu, que então mandará você para lá.
+
+Lucky you, you found me! Do you want to SPIN THE WHEEL and gain GREAT rewards?
+Sorte sua, você me achou! Você quer girar a roda e ganhar grandes recompensas?
+
+Lucky! You got the coin back!
+Por sorte! Você pegou a moeda de volta!
+
+Luffyx
+Luffyx
+
+Luffyx Summer Shorts
+Calção de Verão Luffyx
+
+Lune
+
+
+Luvia
+
+
+Luvia is too dangerous to be left alone.
+
+
+Luxury furniture
+Mobiliário de luxo
+
+Lynn The Traveler
+Lynn o viajante
+
+MAX HP
+MAX HP
+
+MDEF +10
+
+
+MEEEEEERLIN!!! SMASH THEM!!
+MEEEEEERLIN !!! Esmagá-los !!
+
+MONSTER KING
+MONSTRO REI
+
+MONSTER KING, APPEAR TO ME!
+MONSTER KING, APARECE PARA MIM!
+
+MOTD
+MOTD
+
+MOTD Config
+Configuração MOTD
+
+MP +200
+
+
+MSP for Area Provoke was refunded.
+MSP para a Ãrea Provoke foi reembolsado.
+
+MSP for Last Man Standing was refunded.
+MSP para Last Man Standing foi reembolsado.
+
+MSP for Lightning Strike was refunded.
+MSP para curto circuito foi reembolsado.
+
+MSP for Wind Walker was refunded.
+
+
+Ma... Magical Re... Re-ref... Reflection.
+Ma ... Magical Re ... Re-ref ... Reflexão.
+
+Machinery#MKHB
+Maquinário#MKHB
+
+Mage Card
+Carta Mage
+
+Mage Card S
+
+
+Mage Card X
+
+
+Mage equipment also raises MP recovery. So yes, a mage can use a sword and heavy armor, but...
+O equipamento Mage também aumenta a recuperação de MP. Então sim, um mago pode usar uma espada e armadura pesada, mas ...
+
+Magenta
+
+
+Magenta Spark
+
+
+Mages should use equipment designed for them. Those may be lacking on defense, but will raise MP and Magic Attack.
+Os magos devem usar equipamentos projetados para eles. Aqueles podem estar faltando na defesa, mas irão aumentar MP e Magic Attack.
+
+Maggot
+Verme
+
+Maggot Coccon
+Casulo de larva
+
+Maggot Slime
+Maggot Slime
+
+Magic Academy Tutorial
+Tutorial Magic Academy
+
+Magic Apple
+Maçã mágica
+
+Magic Arpan
+Arpan Mágico
+
+Magic Arpan#sailors
+Arpan Mágico#sailors
+
+Magic Barrier
+Barreira Mágica
+
+Magic Barrier is active. You must give a whole circle on the desert to break it.
+Barreira Mágica está ativa. Você deve dar um círculo inteiro no deserto para quebrá-lo.
+
+Magic Barrier#0051
+
+
+Magic Barrier#0060
+
+
+Magic Barrier#0063
+
+
+Magic Barrier#0064
+
+
+Magic Barrier#0066
+
+
+Magic Barrier#0067C
+
+
+Magic Barrier#0067E
+
+
+Magic Barrier#0067W
+
+
+Magic Barrier#Bug63
+
+
+Magic Barrier#Pi
+
+
+Magic Bif
+Bif Mágico
+
+Magic Council
+Conselho mágica
+
+Magic Council? What's that?
+Conselho mágica? O que é isso?
+
+Magic Goblin
+Duende Mágico
+
+Magic Maggot
+Maggot Mágico
+
+Magic Olympics
+
+
+Magic Olympics Top 1 Prize
+
+
+Magic Power is granted to you, but you die from it.
+Poder Mágico é concedido a você, mas você morre com isso.
+
+Magic Ratto
+Ratto Mágico
+
+Magic Raw Power Challenge
+
+
+Magic Scrolls
+
+
+Magic Skill Points can be obtained in three ways: By touching a Mana Stone, by signing up in a Special Class (if you have enough magic power) and by having high amounts of Job Level.
+Pontos habilidade mágica pode ser obtido de três formas: Ao tocar uma pedra Mana, por se inscrever em uma classe especial (se você tem o poder mágico suficiente) e por ter grandes quantidades de trabalho de nível.
+
+Magic Status
+magia Estado
+
+Magic Strike
+magia greve
+
+Magic Top Hat
+Cartola Mágica
+
+Magic is dead. Well, not yet, we still have some mana stones left - but only the strongest ones are allowed to use them and acquire magic.
+Magia está morta. Bem, ainda não, ainda temos algumas pedras de mana - mas somente as mais fortes podem usá-las e adquirir magia.
+
+Magic is necessary for warriors and archers to learn skills. Skills can be learned in Tulimshar.
+Magic é necessário para guerreiros e arqueiros para aprender habilidades. Habilidades podem ser aprendidas em Tulimshar.
+
+Magic is sacred. With transmutation, you can create convenience items, specially reagents for other magic skills.
+Magia é sagrada. Com a transmutação, você pode criar itens de conveniência, especialmente reagentes para outras habilidades mágicas.
+
+Magic skills allows for a more advanced gameplay, but they are meant for level 30 onward.
+habilidades mágicas permite uma jogabilidade mais avançado, mas eles são voltados para o nível 30 em diante.
+
+Magic, Warriors and Archers
+Mágicos, Guerreiros e Arqueiros
+
+Magic.
+Magia.
+
+Magical MVP Card
+Cartão MVP mágico
+
+Magical Weapon Recipes
+Receitas de armas mágicas
+
+Magically Sealed Gate
+Portão Selado Magicamente
+
+Magick Real
+Magia Real
+
+Magnus Healing
+Magnus Cura
+
+Mahad
+Mahad
+
+Mahoud
+Mahoud
+
+Mahoud Basement
+Porão de Mahoud
+
+Mahul
+Mahul
+
+Main server is: %s
+servidor principal é:% s
+
+Make it brighter
+
+
+Make me an Iron Powder.
+Faça-me um pó de ferro.
+
+Make sure to put on a bait after you click, though!
+Certifique-se de colocar uma isca depois de clicar, embora!
+
+Male
+Masculino
+
+Malign Chest
+
+
+Malindou
+Malindou
+
+Malivox
+Malivox
+
+Mana Being#001-1
+Ser de Mana#001-1
+
+Mana Bomb
+mana bomba
+
+Mana Bug
+Inseto de Mana
+
+Mana Chest
+Baú de Mana
+
+Mana Experience Challenge
+
+
+Mana Ghost
+Fantasma de Mana
+
+Mana Gloves
+Luvas de Mana
+
+Mana Magic is less reliable and have an experience system. It's the most common for summoning and transmutation.
+Mana Magic é menos confiável e tem um sistema de experiência. É o mais comum para convocação e transmutação.
+
+Mana Magic works similar to regular magic: You can find it on your skill window, and can drag it to your shortcut list.
+Magia de Mana funciona de forma semelhante à magia normal: você pode encontrá-la na sua janela de habilidades e arrastá-la para a sua lista de atalhos.
+
+Mana Piou
+Piou de Mana
+
+Mana Piou Feathers
+Penas de Piou de Mana
+
+Mana Plane - Dream Tower, %dº floor %s
+
+
+Mana Plane - Dream Tower, %dº floor. Time limit: 60 minutes or death.
+
+
+Mana Saulc
+Mana Saulc
+
+Mana Stone
+Pedra Mana
+
+Mana Stone#01863
+Pedra de Mana#01863
+
+Mana Stone#Tulim
+Pedra de Mana#Tulim
+
+Mana Tree
+
+
+Mana Wisdom
+sabedoria mana
+
+Mana is something which existed since the being, but nobody knows much about.
+Mana é algo que existe desde o ser, mas ninguém sabe muito sobre isso.
+
+ManaMarket
+ManaMarket
+
+Manage Beds
+Gerenciar Camas
+
+Manage Chairs
+Gerenciar cadeiras
+
+Manage Decoration
+Gerenciar Decoração
+
+Manage Furniture
+Gerenciar Móveis
+
+Manage Luxury furniture
+Gerenciar móveis de luxo
+
+Manage Paintings
+Gerenciar pinturas
+
+Manage Town
+gerencia Town
+
+Manage Utilities
+Gerenciar utilitários
+
+Managed to get any nice drops? It requires more luck than skill. Here is your reward.
+
+
+Managment Menu
+Menu de gerenciamento
+
+Manana
+Manana
+
+Manana Tree
+Ãrvore de Manana
+
+Manapop
+Manapop
+
+Manapple
+Manapple
+
+Mandragora
+Mandragora
+
+Manually trigger the current broadcast
+Ativar manualmente a transmissão atual
+
+Many citzens are still cowering in fear. Paths are closed, economy is a disaster, things are not as they should be.
+
+
+Many sacrifices were done, but it was lost.
+Muitos sacrifícios foram feitos, mas foram perdidos.
+
+Many stories are told about this city sewers.
+Muitas histórias são contadas sobre os esgotos da cidade.
+
+Many thanks for all the help!
+Muito obrigado por toda a ajuda!
+
+Many thanks for killing it. Maybe more humans come here now, and play with me.
+Muito obrigado por matá-lo. Talvez mais humanos venham aqui agora e brinquem comigo.
+
+Many thanks for your help! Here, take this. I'm sure it can be very useful later. It always is.
+Muito obrigado pela sua ajuda! Aqui, pegue isso. Tenho certeza que pode ser muito útil depois. Sempre é.
+
+Many thanks!
+Muito Obrigado!
+
+Many thanks! %%s
+
+
+Many thanks! At least he'll know he haven't impressed me yet!
+Muito Obrigado! Pelo menos ele saberá que ainda não me impressionou!
+
+Many thanks! Come back later to bring me extra @@!
+Muito Obrigado! Volte depois para me trazer mais @@!
+
+Many thanks! Come back soon.
+Muito Obrigado! Volte logo.
+
+Many thanks! I'll arrange the table.
+Muito Obrigado! Eu vou arrumar a mesa.
+
+Many thanks! I'll be sooooo fashionable now!
+Muito Obrigado! Eu vou estar muuuito na moda agora!
+
+Many thanks! If I let my wose side blossom, I'm sure she'll look at me!
+Muito Obrigado! Se eu deixar meu lado de flor florescer, tenho certeza que ela vai olhar para mim!
+
+Many thanks, and once again, your help has been invaluable.
+Muito obrigado, e mais uma vez, sua ajuda foi inestimável.
+
+Many thanks, the Doctor always know what's best for you.
+Muito obrigado, o médico sempre sabe o que é melhor para você.
+
+Many thanks, your help has been invaluable. We're now capable to travel at ease.#0
+
+
+Many thanks, your help has been invaluable. We're now capable to travel at ease.#1
+
+
+Many thanks, your help has been invaluable. You now have an extra point, use it wisely.
+Muito obrigado, sua ajuda foi inestimável. Você agora tem um ponto extra, usá-la sabiamente.
+
+Many thanks. I couldn't live without it. Please come back later.
+Muito Obrigado. Eu não poderia viver sem isso. Por favor, volte mais tarde.
+
+Many thanks. You have my eternal gratitute. Here is 1000 GP for your troubles.
+Muito Obrigado. Você tem meu eterno agradecimento. Aqui está 1000 GP para seus problemas.
+
+Many thanks. You have my eternal gratitute. Here is 2000 GP for your troubles.
+Muito Obrigado. Você tem minha gratidão eterna. Aqui está 2000 GP para seus problemas.
+
+Many, many thanks!
+Muitíssimo obrigado!
+
+Many, many thanks! I'm sure the children will love it!
+Muitíssimo obrigado! Tenho certeza que as crianças vão adorar!
+
+Many, many thanks! Thus far, you delivered me @@ gift boxes!
+Muitíssimo obrigado! Até agora, você me entregou caixas de presente!
+
+Map cleared!
+
+
+Marikel
+
+
+Marius The Bard
+Marius o bardo
+
+Market Guard#EP
+
+
+Market Place
+Mercado
+
+Marley : I shall stop you!
+
+
+Marley : You... thief... *grumble*
+
+
+Marley is furious that someone stole her treasure... You wouldn't happen to know anything about this, would you...?
+
+
+Marriage failed.
+Casamento falhou.
+
+Marriage unlocks %s powers. The ring is sold in Tulimshar.
+Casamento desbloqueia% s poderes. O anel é vendido em Tulimshar.
+
+Married with @@
+Casado com @@
+
+Marsh Pirate
+
+
+Mashmallow
+Marshmallow
+
+Masked Assassin
+Assassino Mascarado
+
+Mass Provoke replaced with Area Provoke.
+Mass Provoke substituído por Ãrea provocar.
+
+Master
+mestre
+
+Master Bola
+Master Bola
+
+Master Dungeon (BOSS)
+Mestre das Masmorras (BOSS)
+
+Master Exchanger#0
+
+
+Matk +25
+
+
+Mauve Dye
+Tintura Malva
+
+Mauve Herb
+Erva Malva
+
+Mauve Plant
+Planta Malva
+
+Max Weight +1kg
+
+
+Maxime
+Maxime
+
+Maximize Damage
+maximizar os danos
+
+Maximum Profit: @@ GP
+Lucro Máximo: @@ GP
+
+May their journey be successful, may their objectives be attained, may the Mana rest in peace.
+Que a sua viagem seja bem sucedida, pode ser atingido seus objetivos, pode o resto Mana em paz.
+
+May their memory be remembered, but may their struggle be forgotten, their bodies never profaned, and in the æthyr, may they find eternal rest and comfort for their souls.
+
+
+Maya
+Maya
+
+Maybe I can help to ease your pain?
+Talvez eu possa ajudar a aliviar sua dor?
+
+Maybe I could give you more beer?
+Talvez eu possa te dar mais cerveja?
+
+Maybe I should also give you a lesson in how to count? You don't have enough.
+Talvez eu também deva dar uma lição de como contar? Você não tem o suficiente.
+
+Maybe I'm using a too low quality bait, I can't fish %s.
+Talvez eu estou usando uma isca muito baixa qualidade, não posso peixe% s.
+
+Maybe a %s?
+
+
+Maybe another time.
+Talvez outra hora.
+
+Maybe he was confused, not sure. He talked very strangely.
+Talvez ele estivesse confuso, não tenho certeza. Ele falou muito estranhamente.
+
+Maybe if someone helped me to get rid of the maggots on my crops, I would be able to sell them to everyone again...
+Talvez se alguém me ajudou a se livrar dos vermes nas minhas colheitas, eu seria capaz de vendê-los a todos novamente ...
+
+Maybe if you go back the way you're coming, you find him...
+Talvez se você voltar a forma como você está vindo, você encontrá-lo ...
+
+Maybe if... No... Hmm... I better try this the next time I'm at my laboratory...
+
+
+Maybe it is not hungry, after all.
+
+
+Maybe later.
+Talvez mais tarde.
+
+Maybe next time, then.
+Talvez da próxima vez, então.
+
+Maybe on spring Blossom will look at me... For now, my wose part is withering.
+Talvez na primavera Blossom vai olhar para mim ... Por agora, minha parte wose está murchando.
+
+Maybe one of the slimes dropped it.
+
+
+Maybe some other time.
+Talvez outra hora.
+
+Maybe someone in Hurnscald can help me.
+
+
+Maybe the Hurnscald alchemist, Wyara, could explain why.
+
+
+Maybe the teddy is hungry? What could we offer to it?
+
+
+Maybe there are things in Candor which still require your attention? I might have overheard some of them.
+
+
+Maybe there is a key somewhere near. I should keep looking.
+Talvez haja uma chave em algum lugar próximo. Eu deveria continuar procurando.
+
+Maybe there's a locked door somewhere, and this key will fit?
+Talvez haja uma porta trancada em algum lugar, e essa chave vai caber?
+
+Maybe they're in the library, but it is too dangerous there right now...
+Talvez eles estejam na biblioteca, mas é muito perigoso lá agora ...
+
+Maybe we can give her something, to cheer her up?
+
+
+Maybe we could give her a %s instead.
+
+
+Maybe you can help our city. I see you are a Monster Hunting Quest Participant, right?
+
+
+Maybe you could bring me 10 sticky @@?
+Talvez você possa me trazer 10 sticky @@?
+
+Maybe you could bring me 5 @@? I will reward you for your effort.
+Talvez você possa me trazer 5 @@? Eu recompensarei você pelo seu esforço.
+
+Maybe you could bring me 5 delicious @@? They have a great effect in quenching thirst and recovering vigour.
+Talvez você possa me trazer 5 deliciosos @@? Eles têm um grande efeito em saciar a sede e recuperar o vigor.
+
+Maybe you could convince him. There's a summoning circle on Tulimshar Sewers.
+Talvez você possa convencê-lo. Há um círculo de convocação nos Esgotos de Tulimshar.
+
+Maybe you could do me a favour, though?
+Talvez você possa me fazer um favor, embora?
+
+Maybe you could now help my friend Oscar. His farm is west of here.
+Talvez você possa agora ajudar meu amigo Oscar. Sua fazenda fica a oeste daqui.
+
+Maybe you did it, after all!
+Talvez você tenha feito isso, afinal de contas!
+
+Maybe you do, your jerk! Stop drinking! Lua told me that you could help me! DO YOUR JOB!!
+Talvez você faça, seu idiota! Pare de beber! Lua me disse que você poderia me ajudar! FAÇA SEU TRABALHO!!
+
+Maybe you should go to the depleted mines in the small cave inside the town. Who knows what you may find inside.
+
+
+Maybe you should talk to your chief about that?
+Talvez você deva conversar com seu chefe sobre isso?
+
+Maybe you're interested in the Special Class again? An extra magic skill point for a lot of items, what do ya say?
+Talvez você esteja interessado no Classe Especial novo? Um ponto de habilidade mágica extra para uma grande quantidade de itens, o que ya diz?
+
+Maybe you're interested in the Special Class again? An extra magic skill point, but this time in a dangerous journey, what do ya say?
+Talvez você esteja interessado no Classe Especial novo? Um ponto de habilidade mágica extra, mas desta vez em uma viagem perigosa, o que ya diz?
+
+Maybe, but... I don't know my parents.
+Talvez, mas ... eu não conheço meus pais.
+
+Maybe, if you had some sort of ancient artifact and touched the sign, it would allow you to see through the cloaking? Or if you were powerful enough. As if I would know!
+
+
+Maybe.
+Talvez.
+
+Maybe. Come back later.
+Talvez. Volte mais tarde.
+
+Maze Race Challenge
+
+
+Meager < Weak < Standard < Intimidating = Daunting
+
+
+Meager.
+
+
+Meaning that once you equip a bow, you likely won't be able to dodge attacks.
+O que significa que uma vez que você equipar um arco, você provavelmente não será capaz de evitar ataques.
+
+Meaning you must warp shortly before the Great Fire, defeat her, and be back before the Great Fire happen.
+
+
+Meanwhile, at 00h, 06h, 12h, 15h, 18h and 21h UTC,
+Enquanto isso, às 00h, 06h, 12h, 15h, 18h e 21h UTC,
+
+Meanwhile, the sages of destiny will prepare a way to kick them back to wherever they belong!
+
+
+Mechanically based technology (eg. the Gates or Time Flasks) will never suffer damage from operation but are more costly.
+A tecnologia mecanicamente baseada (por exemplo, os Gates ou os Time Flasks) nunca sofrerá danos de operação, mas será mais cara.
+
+Mede
+Mede
+
+Medium Arrow Sack
+Médio Seta Sack
+
+Medium Bullet Sack
+Sack Bala Médio
+
+Medium Elenium Bif
+Médio Elenium Bif
+
+Meh, telling him it was a lie is not going to help.
+Meh, dizendo-lhe que era uma mentira não vai ajudar.
+
+Meh, the Blue Sage is truly wasteful. We use %s even for the simplest things such as keeping the house warm.
+
+
+Melina
+Melina
+
+Melt something else?
+Derreta outra coisa?
+
+Melune
+
+
+Memorize the sequence!
+
+
+Memory slowly returns to you as you start growing aware of your surroundings. That's right, you are on a ship.
+
+
+Meow.
+
+
+Mercenary Boxset A
+Mercenary Boxset A
+
+Mercenary Boxset AA
+Mercenary Boxset AA
+
+Mercenary Boxset B
+Mercenary Boxset B
+
+Mercenary Boxset BB
+Mercenary Boxset BB
+
+Mercenary Boxset C
+Mercenary Boxset C
+
+Mercenary Boxset CC
+Mercenary Boxset CC
+
+Mercenary Boxset D
+Mercenary Boxset D
+
+Mercenary Boxset DD
+Mercenary Boxset DD
+
+Mercenary Boxset E
+Boxset mercenário E
+
+Mercenary Boxset EE
+Mercenary Boxset EE
+
+Mercenary Quests completed: %s
+
+
+Mercenary Trainer
+Mercenary instrutor
+
+Merchant
+Comerciante
+
+Merchant Police
+Polícia Merchant
+
+Merchants like to buy body parts of killed monsters and animals because they can make items and equipment.
+Comerciantes gostam de comprar partes do corpo de monstros e animais mortos porque eles podem fazer itens e equipamentos.
+
+Mercy has been granted.
+Misericórdia foi concedida.
+
+Meriel
+
+
+Merlin was a accomplished carpenter and wanted to make a new
+Merlin era um carpinteiro talentoso e queria fazer um novo
+
+Merry Christmas!
+Feliz Natal!
+
+Merry Christmas, adventurer.
+Feliz Natal, aventureiro.
+
+Merry Christmas, and a happy new year! \\o/
+
+
+Merry Christmas, arr yarr!!
+Feliz Natal, arr yarr !!
+
+Message:
+Mensagem:
+
+Meteor Shower
+
+
+Meteor Strike
+
+
+Mh, I can't really tell since I usually work in the library while he works at the workshop. Maybe you should ask around among the people who work there.
+Eu não sei dizer, porque geralmente trabalho na biblioteca enquanto ele trabalha na oficina. Talvez você devesse perguntar por entre as pessoas que trabalham lá.
+
+Mh, I don't know him closely.
+Eu não o conheço de perto.
+
+Mh, let me see. We already have a copy of this page, but it's helpful nevertheless. Thank you.
+Deixe-me ver. Nós já temos uma cópia desta página, mas é útil mesmo assim. Obrigado.
+
+Mh, let me think. There were quite a few visitors with different concerns, but that's usual at this time of the year.
+Deixe-me pensar. Houve alguns visitantes com preocupações diferentes, mas isso é comum nesta época do ano.
+
+Mh, yes. I remember him. He was very interested in the library and the research we do here. He had an unusual behaviour and appearance. But, well, that isn't a reason to refuse someone, right?
+Ah sim. Eu lembro dele. Ele estava muito interessado na biblioteca e na pesquisa que fazemos aqui. Ele tinha um comportamento e aparência incomuns. Mas, bem, isso não é motivo para recusar alguém, certo?
+
+Mh. I wonder how I'm expected to perform my task with this meager equipment. The new books will look pathetic.
+Mh. Eu me pergunto como sou esperado para executar minha tarefa com este equipamento escasso. Os novos livros parecerão patéticos.
+
+Mh... yes. It makes sense. Listen. This is a secret, but it might have been.... @@.
+Mh ... sim. Faz sentido. Ouço. Isso é um segredo, mas pode ter sido .... @@.
+
+Mhm, this looks healthy.
+Mhm, isso parece saudável.
+
+Mhm, you're still weak, I would prefer you to be level %d+ before doing this, but... Whatever, you might even survive.
+
+
+Mhm? I believe it was rebuilt, and the High Alliance took it over from the mage association for not paying taxes.
+
+
+Michel
+Michel
+
+Michel Soul
+Michel Soul
+
+Midway is also a solid range, but for summons, nearby works best. Casing doesn't matters, nor does punctuation.
+
+
+Miere Cleaver
+Miere Cleaver
+
+Miere Cleaver!
+Miere Cleaver!
+
+Miler
+Miler
+
+Milestone levelup: A reward can now be claimed in Tulimshar.
+Nível de marco: Uma recompensa pode agora ser reivindicada em Tulimshar.
+
+Milestone reached: %s kills
+
+
+Milk
+Leite
+
+Milly
+Milly
+
+Milocat
+Milocat
+
+Miltaco
+
+
+Min. Position:
+Min. Posição:
+
+Min. Score:
+Min. Ponto:
+
+Mine exit is top left!
+A minha saída está no canto superior esquerdo!
+
+Miner
+
+
+Miner Gloves
+Luvas Minerais
+
+Miner Hat
+Chapéu de mineiro
+
+Miner Knife
+Faca de mineiro
+
+Miner Tank Top
+Camisola de alças de mineiro
+
+Mineral Bif
+Bif Mineral
+
+Miners Union Research Request!
+Miners Union Research pedido!
+
+Mini Skirt
+Mini saia
+
+Minimum advised level 72 to do this quest.
+Mínimo aconselhados nível 72 para fazer esta missão.
+
+Minimum range: %d
+
+
+Mining opearations advance steadly day by day with your help, thanks! Maybe one day, we find a Mana Stone here!
+As operações de mineração avançam dia a dia com a sua ajuda, obrigado! Talvez um dia, encontremos uma Mana Stone aqui!
+
+Minor healing to your wounds.
+Menor de cura para os seus ferimentos.
+
+Minor healing to yourself or to allies.
+Menor de cura para si mesmo ou para os aliados.
+
+Mint Dye
+Tintura de Menta
+
+Mirio
+
+
+Mirjami
+Mirjami
+
+Miro
+Miro
+
+Mirror Island %d
+Espelho Ilha% d
+
+Mirror Island 1
+Espelho Island 1
+
+Mirror Lake
+Lago Espelhado
+
+Mirror Lake : Created temporary character; It'll be reset on logout.
+
+
+Mirror Lake : Obtain help with %s.
+
+
+Mirror Lake Armor
+
+
+Miscellaneous Recipes
+Receitas Diversas
+
+Miscellaneous Status
+status diversos
+
+Mission accomplished. Well played!
+
+
+Mission: Kill all rogue Yetis on the Throne Room. You won't be able to leave until all of them are dead.
+Missão: Mate todos os Yetis desonestos na Sala do Trono. Você não poderá sair até que todos estejam mortos.
+
+Mister Prickel
+
+
+Mmm, it's been so long since I have had herbal tea. You have my gratitude.
+Mmm, faz tanto tempo desde que tomei chá de ervas. Você tem minha gratidão.
+
+Mobiliary Credits is a special currency which can only be used on real estate.
+Créditos Mobiliários é uma moeda especial que só pode ser usada em imóveis.
+
+Mobpt: @@
+Mobpt: @@
+
+Mobs remaining: @@
+Mobs restantes: @@
+
+Mode?
+
+
+Modify another line
+Modifique outra linha
+
+Modify monster level!
+nível monstro Modificar!
+
+Modify this line
+Modifique esta linha
+
+Modify, move, or remove a line
+Modificar, mover ou remover uma linha
+
+Moggun
+Mogun
+
+Moggun Egg
+Moggun Egg
+
+Money in your storage is totally safe. Banking itself is totally safe.
+O dinheiro no seu armazenamento é totalmente seguro. O próprio banco é totalmente seguro.
+
+Money transference by mail is, however, free.
+transferência de dinheiro pelo correio é, no entanto, livre.
+
+Money withdrawn!
+Dinheiro retirado!
+
+Money: @@ GP
+Dinheiro: @@ GP
+
+Monk Pendant
+Pingente De Monge
+
+Monocle
+Monóculo
+
+Monster
+Monstro
+
+Monster AGI, Default %d, use 0 to cancel
+AGI monstro, padrão% d, use 0 para cancelar
+
+Monster ATK (varies 10%%), Default %d, use 0 to cancel
+
+
+Monster ATK RANGE, Default %d, use 0 to cancel
+Monstro ATK GAMA, padrão% d, use 0 para cancelar
+
+Monster Admiral
+Almirante Monstro
+
+Monster Captain
+Capitão monstro
+
+Monster Colonel
+Coronel Monstro
+
+Monster DEF, Default %d, use 0 to cancel
+Monstro DEF, padrão% d, use 0 para cancelar
+
+Monster DEX, Default %d, use 0 to cancel
+DEX monstro, padrão% d, use 0 para cancelar
+
+Monster Density and Boss HP?
+
+
+Monster General
+Monstro Geral
+
+Monster HP, Default %d, use 0 to cancel
+Monstro HP, padrão% d, use 0 para cancelar
+
+Monster Hunter
+Caçador de monstros
+
+Monster Hunters receive small bounties on a special currency, of Monster Points, for each monster they kill. The amount gained is based on the monster level.
+Monster Hunters receber pequenas recompensas em uma moeda especial, de pontos do monstro, para cada monstro matam. O montante ganho é baseado no nível de monstro.
+
+Monster ID, 0 to cancel
+Monstro ID, 0 para cancelar
+
+Monster Information!
+Informações monstro!
+
+Monster King
+Rei monstro
+
+Monster King Basement
+Monstro Rei Basement
+
+Monster King Mode
+
+
+Monster Lieutenant
+Tenente Monstro
+
+Monster Major
+Monstro Maior
+
+Monster NAME, Default %s, empty to cancel
+Monstro NOME, Padrão% s, esvaziar a cancelar
+
+Monster Points
+
+
+Monster Points (Mobpt): @@ | Gold: @@
+Pontos de Monstro (Mobpt): @@ | Ouro: @@
+
+Monster Points: %s
+Monstro Pontos:% s
+
+Monster SPEED, Player speed is 150, minimum is 100!
+Monstro velocidade, velocidade do jogador é de 150, mínimo é de 100!
+
+Monster Sergeant
+Sargento Monstro
+
+Monster Soldier
+Soldado Monstro
+
+Monsters Killed in PvE: %s
+Monstros morto em PvE:% s
+
+Monsters are everywhere. They're a plague we're trying to get rid of.
+Monstros estão por toda parte. Eles são uma praga da qual estamos tentando nos livrar.
+
+Monsters do not aim small towns like Candor. This city also comes with the plus that I know where everything's at.
+Monstros não visam pequenas cidades como Candor. Esta cidade também vem com o mais que eu sei onde tudo está.
+
+Monsters killed: %s
+
+
+Monsters left: @@
+Monstros restantes: @@
+
+Monsters remaining: %s
+
+
+Monsters will spawn in the south fountain continuously.
+
+
+Monsters, however, keep coming from the Impregnable Fortress. They always come on %s, although we have no idea why.
+
+
+Monsters.
+Monstros.
+
+Moo!
+MOO!
+
+Moonshroom
+Cogumelo Lunar
+
+Moonshroom Hat
+Chapéu Moonshroom
+
+Moonshroom Robe
+Mocassim Robe
+
+Moooo!
+Moooo!
+
+Moooooo!
+Moooooo!
+
+Moooooooooooo!
+Moooooooooooo!
+
+Mooubootaur Mode
+
+
+More Magic Power is granted to you, but you die from it.
+Mais poder mágico é concedido a você, mas você morre com isso.
+
+Morgan
+Morgan
+
+Mortal! I am @@! I have broken through the barriers of space and time!
+Mortal! Eu sou @@! Eu atravessei as barreiras do espaço e do tempo!
+
+Moss
+Musgo
+
+Most Orcs become nomads and Raijins moved to Hurnscald, but they say Thermin might have been rebuilt somewhere else.
+A maioria dos Orcs se torna nômades e Raijins se mudam para Hurnscald, mas dizem que Thermin pode ter sido reconstruído em outro lugar.
+
+Most common and widely popular in the fish realm are @@ and pieces of @@.
+Mais comuns e muito populares no reino dos peixes são @@ e pedaços de @@.
+
+Most do. I'm not sure if all that hatred is justified, but who cares. She is dead, even if her ghost is back.
+
+
+Most of it should be pretty intuitive, but be sure to press @@ on the bottom-left of inventory screen.
+A maior parte deve ser bastante intuitiva, mas certifique-se de pressionar @@ na parte inferior esquerda da tela de inventário.
+
+Most of our professors moved on to the Academy Island, and are with Tulimshar's and Frostia's professors working right now. But...
+A maioria dos nossos professores mudou-se para a Ilha Academy, e são com professores de Frostia de Tulimshar e trabalhando no momento. Mas...
+
+Most of their skills are stat-independent, but not all of them.
+A maioria de suas habilidades são independentes-stat, mas não todos eles.
+
+Most of these people will not think twice before giving a nice reward to anyone who helps them.
+A maioria dessas pessoas não pensa duas vezes antes de dar uma boa recompensa para quem as ajuda.
+
+Most thieves left, but that's not a problem, I created an army out of Homunculus. I already have 500 bandits. I will create more later, to get Mana Stones.
+A maioria dos ladrões saiu, mas isso não é um problema, eu criei um exército de Homúnculo. Eu já tenho 500 bandidos. Eu vou criar mais tarde, para obter Mana Stones.
+
+Moubi
+Moubi
+
+Moubi Hat
+
+
+Mouboo
+Mouboo
+
+Mouboo Figurine
+Estatueta Mouboo
+
+Mouboo Hat
+Chapéu Mouboo
+
+Mouboo Pendant
+Pingente Mouboo
+
+Mouboo Slime
+Mouboo Slime
+
+Mouboo Steak
+Bife Mouboo
+
+Mouboo#0142injuried
+Mouboo#0142ferido
+
+Mouboos are cute
+Mouboos são fofos
+
+Mouboos, come to my aid and protect me!
+Mouboos, vem em meu socorro e me protege!
+
+Moubootaur (Sealed)
+
+
+Moubootaur Legends Anniversary
+Moubootaur Legends aniversário
+
+Moubootaur Legends Server
+Moubootaur Legends Servidor
+
+Moubootaur Legends just got older! %%N
+
+
+Moubootaur Legends presents...
+
+
+Moubootaur Maze
+Moubootaur Maze
+
+Moubootaur, please spare me...
+
+
+Mount your party and find the Yeti King!
+
+
+Mountain Snake
+Cobra da montanha
+
+Mountain Snake Egg -> Snake Egg
+Montanha Serpente Egg -> Snake Egg
+
+Mountain Snake Skin
+Pele de serpente da montanha
+
+Mountain Snake Skin -> Snake Skin
+Montanha da pele de cobra -> pele de serpente
+
+Mountain Snake Tongue
+Língua de cobra de montanha
+
+Mountain Snake Tongue -> Snake Tongue
+Montanha Serpente Tongue -> Tongue Cobra
+
+Mounts
+Montagens
+
+Moutain Snake
+
+
+Moutain Snake Egg
+Ovo da serpente da montanha
+
+Move Speed Potion
+Mova Poção de Velocidade
+
+Move this line down
+Mova esta linha para baixo
+
+Move this line up
+Mova esta formação
+
+Movement Speed Potion
+Poção de Velocidade de Movimento
+
+Moving while AFK is botting! I'll send you to a %s if you move while AFK! ##BYOU HAVE BEEN WARNED!##b
+
+
+Mr Saves
+Sr. Salva
+
+Msawis Card
+Cartão Msawis
+
+Muahahaha, I'll be SO strong thanks to you! Here, I don't need these weak recipes anymore. You can have them!
+
+
+Muahahaha, I'll be SO strong thanks to you! Here, these recipes should be useful for ya. You can have them!
+
+
+Much better, right?!
+Muito melhor, né ?!
+
+Multiple players may conduct Katazuli at once. If you move or stand, the spell may be aborted.
+Vários jogadores podem conduzir Katazuli ao mesmo tempo. Se você mover ou parar, o feitiço pode ser abortada.
+
+Murder her too!#0
+
+
+Murder him too!#1
+
+
+Murderer Crown
+Coroa do Assassino
+
+Murderer Scorpion
+Escorpião Assassino
+
+Mush Hat
+mush Hat
+
+Mushroom Spores
+Esporos de Cogumelo
+
+Mustache
+Bigode
+
+My answer is still a no, and it won't change. Don't test my patience any further.
+Minha resposta ainda é um não e não vai mudar. Não teste minha paciência ainda mais.
+
+My breath smells bad.
+Meu hálito cheira mal.
+
+My captain wanted me to give this to you as a special reward for your efforts.
+
+
+My chestplate, @@
+Meu peitoral, @@
+
+My children and grandchildren have all moved to the Land of Fire, so the amount of leatherwork I can offer you is limited.
+
+
+My crops! Hurry up, and talk to Eomie!!
+Minhas colheitas! Apresse-se e fale com Eomie !!
+
+My daughter! My precious Cindy, why it had to be you?!
+Minha filha! Minha preciosa Cindy, por que tinha que ser você ?!
+
+My equipment is good, let me through!
+Meu equipamento é bom, deixe-me passar!
+
+My family died when I was just a little girl... I have been trying to survive...
+Minha família morreu quando eu era apenas uma menina ... Eu tenho tentado para sobreviver ...
+
+My father probably knew... Well, you better ask Blue Sage then.
+Meu pai provavelmente sabia ... Bem, é melhor você perguntar ao Blue Sage então.
+
+My father runs a dye business, I'm in charge of selling %s around the world.
+
+
+My figurine is so nice!
+
+
+My formula is not a drug, nor magic. It is an ancient technology of our people!
+Minha fórmula não é uma droga nem mágica. É uma antiga tecnologia do nosso povo!
+
+My friend George is much older than I am, go see him and if he trusts you, so will I.
+Meu amigo George é muito mais velho do que eu, vá vê-lo e se ele confiar em você, eu também.
+
+My grandmother gave me a recipe of the @@, it can cure anything but death.
+Minha avó me deu uma receita do @@, pode curar tudo, menos a morte.
+
+My greatest realization thus far, besides some time rewinding clocks, is the @@!
+Minha maior realização até agora, além de algum tempo rebobinar relógios, é o @@!
+
+My helmet, @@
+Meu capacete, @@
+
+My husband and I have moved here under the Alliance orders.
+Meu marido e eu nos mudamos para cá sob as ordens da Aliança.
+
+My mother told me, do not go work like a guard. You will die from overheating in the sun during the summer time.
+Minha mãe me disse, não vá trabalhar como um guarda. Você vai morrer de superaquecimento no sol durante o horário de verão.
+
+My name is
+Meu nome é
+
+My name is %s. I am an upstanding citizen of this kingdom. Everyone loves me.
+
+
+My name is @@ and I am the daily task master. Interested in keeping this world free from monsters, or are you here to report back?
+
+
+My name is Amelia, and I am Elora's daughter.
+
+
+My name is Benjamin, and I was in charge of an incursion here to capture Barbara.
+Meu nome é Benjamin, e eu estava no comando de uma incursão aqui para capturar Barbara.
+
+My name is Juliet, it is me who took care of you after we found you in the sea. I'm glad to see you're okay.
+Meu nome é Julieta, sou eu quem cuidou de você depois que a encontramos no mar. Fico feliz em ver que você está bem.
+
+My name is Naem and I guard the tunnels in this direction. You shall not pass. Now leave.
+
+
+My name is Nico Goethe, an %s card player.
+
+
+My pleasure.
+
+
+My shaman skills protected us against monsters and thieves!
+Minhas habilidades de xamã nos protegeram contra monstros e ladrões!
+
+My shield, @@
+O meu escudo, @@
+
+My stats are too good, I won't need it.
+Minhas estatísticas são boas demais, não vou precisar disso.
+
+My unit, however, was attacked! %s snuck up on us!
+
+
+My waifu Blossom has me trapped here, and she won't even look at me, because I'm part-Wose!
+Minha flor waifu me deixou presa aqui, e ela nem sequer olha para mim, porque eu sou parte-Wose!
+
+My warp crystal broke!
+Meu cristal de teia quebrou!
+
+My weapon, @@
+Minha arma, @@
+
+Mylarin Dust
+Poeira Mylarin
+
+Mylarin dust?! Where would you get that? That's amazing!
+Pó de Mylarin ?! Onde você pegaria isso? Isso é incrível!
+
+Mysterious Bif
+Bif misterioso
+
+Mysterious Bottle
+Garrafa Misteriosa
+
+Mysterious Chest#EP1
+
+
+Mysterious Chest#EP2
+
+
+Mysterious Fruit
+Fruit misteriosa
+
+Mysterious Ore
+misteriosa Ore
+
+Mysterious Powder expires after some time!
+Misterioso pó expira após algum tempo!
+
+Mystic Wand
+
+
+NO
+NÃO
+
+NO!
+
+
+NOT ENOUGH MONEY
+DINHEIRO INSUFICIENTE
+
+NOTE
+
+
+NOTE: Beside wands and staves, %s, %s, and the %s count as magic weapons.
+
+
+NOTE: It is possible to play the game as a crafter/merchant/fisherman, avoiding to kill as much as possible. However, it is not possible to play the game with a total kill count of zero.
+NOTA: É possível jogar o jogo como um crafter / comerciante / pescador, evitando a matar, tanto quanto possível. No entanto, não é possível jogar o jogo com uma contagem total matança de zero.
+
+NOTE: Must have logged in the past 24 hours to be shown.
+
+
+NOTE: No equipment restriction. Less time is better.
+
+
+NOTE: The Energy Ball explodes and Kills. Very. Well. Make them a priority!
+NOTA: explode e mata a bola de energia. Muito. Bem. Faça-lhes uma prioridade!
+
+NOTE: The effective bonus level applied is the average level of enabled options!
+NOTA: O nível de bônus efetivo aplicado é o nível médio de opções ativadas!
+
+NOTE: This quest is still a work in progress. "Bugs" will show up on purpose.
+
+
+NOTE: You're tweaking a(n): @@
+NOTA: Você está ajustando a (n): @@
+
+NPC Blinking Eyes
+NPC Olhos Piscando
+
+NPC Blinking Eyes 2
+
+
+NPC Blinking Eyes 3
+
+
+NPC stylists can cut your hair and give you a new style, which means the hair style you woke up is something that can be changed.
+
+
+NPCs#RES_0096
+NPCs#RES_0096
+
+NPCs#RES_0097
+NPCs#RES_0097
+
+NPCs#RES_0128
+NPCs#RES_0128
+
+NPCs#RES_0177
+NPCs#RES_0177
+
+NPCs#RES_0178
+NPCs#RES_0178
+
+NPCs#RES_PPL
+NPCs#RES_PPL
+
+NPCs(Non Playable Characters) or non-playable characters are characters that are always in the game, offering a wide variety of reactions, from a simple friendly conversation to a desperate request for help.
+NPCs (Non Playable Characters) ou personagens não jogáveis ​​são personagens que estão sempre no jogo, oferecendo uma ampla variedade de reações, desde uma simples conversa amigável até um desesperado pedido de ajuda.
+
+NPCs.
+NPCs
+
+Naem
+
+
+Naftalin
+
+
+Nah, I am a chicken.
+Não, eu sou uma galinha.
+
+Nah, I've got more serious matters to attend to...
+Não, tenho assuntos mais sérios para atender ...
+
+Nah, not now. Slimes ruin your clothes, after all.
+Não agora. Slimes estraga suas roupas, afinal.
+
+Nah, see you later.
+Nah, até mais.
+
+Nah, sorry, everything is good with me.
+Não, desculpe, tudo está bem comigo.
+
+Nah, thank you.
+Não, obrigada.
+
+Nah, that's wrong. Come back if you want to try again.
+Não, isso está errado. Volte se você quiser tentar novamente.
+
+Nah.
+Nah
+
+Nahrec
+Nahrec
+
+Nahrec discretly gives you a recipe.
+Nahrec discretly dá-lhe uma receita.
+
+Name is Jhon, and that's not a typo! I am an absolute coffee lover, and I travel to exotic places in search of the perfect brew.
+
+
+Named Items
+
+
+Napalm Beat
+batida napalm
+
+Nard
+Nard
+
+Nard doesn't like people who gets money without working for it.
+Nard não gosta de pessoas que ganham dinheiro sem trabalhar para isso.
+
+Nard gives you a map of the city so you don't get lost.
+Nard dá-lhe um mapa da cidade para que você não se perder.
+
+Nard is amazed at you.
+Nard está impressionado com você.
+
+Nard is impressed, you're a hard worker.
+Nard está impressionado, você é um trabalhador esforçado.
+
+Nard is truly amazed at you. I am impressed, too.
+Nard está realmente espantado com você. Estou impressionado também.
+
+Nard is very impressed, you're really a hard worker. Congrats!
+Nard está muito impressionado, você é realmente um trabalhador. Parabéns!
+
+Nard likes people who work hard. Work harder!
+Nard gosta de pessoas que trabalham duro. Trabalhe mais!
+
+Nard noticed your hard work.
+Nard notou seu trabalho duro.
+
+Narrator
+Narrador
+
+Naturally, it doesn't have to be a wiki article. But it must be noteworthy to the whole community, and wiki articles are one of the easiest ways for that.
+
+
+Nature Card
+Carta da Natureza
+
+Nature Card S
+
+
+Nature Card X
+
+
+Nature Fairy
+Fada da natureza
+
+Nature Wall
+Nature Recados
+
+Nature Wall Card
+Cartão da natureza da parede
+
+Nature itself express hate against you!
+A própria natureza expressar ódio contra você!
+
+Navy Blue Dye
+Tintura azul marinho
+
+Nea
+Nea
+
+Nearly everyone around is a seasoned veteran or was sent here by the Alliance Council to support the war efforts. Including me. So, good luck!
+
+
+Neat, neat! Thanks! Here you go, this amazing bottle! It is life-bond, so having multiple won't reduce the time you need to wait...
+Limpo, limpo! Obrigado! Aqui você vai, essa garrafa incrível! É vida-bond, então ter múltiplos não reduzirá o tempo que você precisa esperar ...
+
+Necklaces
+Colares
+
+Necromancer Card
+Carta Necromancer
+
+Necromancer Card S
+
+
+Necromancer Card X
+
+
+Need a healing?
+Precisa de uma cura?
+
+Needless to say, monsters from Expert Dungeon usually drops more often than the ones from Advanced Dungeon.
+Não é preciso dizer que os monstros do Expert Dungeon geralmente caem com mais frequência que os do Advanced Dungeon.
+
+Neither difficult, neither clear,
+
+
+Neither, sorry
+Nem desculpe
+
+Neko
+Neko
+
+Neutral element comes as "power", "force", "sword", "blade", and even "magic".
+
+
+Neutral monsters do not have such a sense of danger.
+Monstros neutros não têm essa sensação de perigo.
+
+Never (only on login)
+Nunca (somente no login)
+
+Never ask: Brew %d
+
+
+Never let yourself be brought astray by it. Swear it to me.
+
+
+Nevermind, bye!
+Deixa pra lá, tchau!
+
+Nevertheless, you probably need some base materials from Bifs. Who knows what it will drop if you are lucky?
+No entanto, você provavelmente precisará de alguns materiais básicos do Bifs. Quem sabe o que vai cair se você tiver sorte?
+
+New chars, and reborn chars, will also begin at level 10.
+Novos caracteres e caracteres Reborn, também vai começar no nível 10.
+
+Newbie
+Novato
+
+Newbies can only get past their limits once, with their party leader level help! If they die, they can't rejoin!
+Os novatos só podem ultrapassar seus limites uma vez, com o nível de líder do grupo de ajuda! Se eles morrerem, eles não poderão voltar!
+
+Next broadcast: (never)
+Próxima transmissão: (nunca)
+
+Next broadcast: @@
+Próxima transmissão: @@
+
+Next time an annoying snake refuses to drop their precious leather drops, come talk to us!
+Da próxima vez que uma cobra chata se recusa a soltar suas preciosas gotas de couro, venha falar conosco!
+
+Next time, I'll ask Sagratha to help. Heh. I doubt that's going to happen. By the way, this is the @@ spell. It summons snakes...
+Da próxima vez, eu vou pedir Sagratha para ajudar. Heh. Duvido que vai acontecer. By the way, este é o @@ feitiço. Convoca cobras ...
+
+Next we have %s. It guards the world itself and grants all kinds of magic.
+
+
+Nice day to you.
+Um bom dia para você.
+
+Nice to know. I'll come to you when random numbers try to kill me.
+Bom saber. Eu vou até você quando números aleatórios tentarem me matar.
+
+Nice! First let me introduce myself. I am Dracoula, a miner!
+Agradável! Primeiro, permita-me me apresentar. Eu sou Dracoula, um mineiro!
+
+Nice! I love history!
+
+
+Nice! I want you to kill some red scorpions, as I said!
+Agradável! Eu quero que você mate alguns escorpiões vermelhos, como eu disse!
+
+Nice, but no, thanks.
+Bom, mas não, obrigado.
+
+Nice, thanks.
+
+
+Nice.
+
+
+Nicholas
+Nicholas
+
+Nico Goethe
+
+
+Night Dragon
+noite do Dragão
+
+Night Scorpion
+Escorpião da Noite
+
+Nightmare Dragon
+Dragão pesadelo
+
+Nightshade Tea
+Tea Nightshade
+
+Nigth Scorpion
+
+
+Nikolai said it was important, so we keep a few of them locked in the basement. I apply a spell to seal them so they don't wander around, explode around, or... *sniff*...
+Nikolai disse que era importante, então mantemos alguns deles trancados no porão. Eu aplico um feitiço para selá-los para que eles não andem por aí, explodam por aí, ou ... * fareje * ...
+
+Nikolai takes a sweat of his head. He seems worried with Cindy.
+Nikolai toma um suor de cabeça. Ele parece preocupado com Cindy.
+
+Nikolai, the Blue Sage
+Nikolai, o sábio azul
+
+Nilfheim
+Niflheim
+
+Nina The Traveler
+Nina o viajante
+
+Ninja Card
+Cartão Ninja
+
+Ninja Card S
+
+
+Ninja Card X
+
+
+NivalShip
+NivalShip
+
+Nivalis
+Nivalis
+
+Nivalis - @@ GP
+Nivalis - @@ GP
+
+Nivalis Office
+Escritório nivalis
+
+Nivalis Townhall
+nivalis Townhall
+
+Nivalis Warp Crystal
+Nivalis Warp Crystal
+
+Nivalis was liberated @@ ago.
+Nivalis foi liberado @@ ago.
+
+Nivalis was the last human settlement built during the First Era.
+Nivalis foi o último assentamento humano construído durante a Primeira Era.
+
+Nivalis? It's frozen during the whole year! I hope you have good ice gear and a high level...
+Nivalis Está congelado durante todo o ano! Espero que você tenha bons equipamentos de gelo e um alto nível ...
+
+No
+Não
+
+No Chains (Tulimshar)
+Sem correntes (Tulimshar)
+
+No I don't have herbs. I'll be back.
+Não, eu não tenho ervas. Eu voltarei.
+
+No and *hic*... No, you and you and your... *burp* stup*hic* guild!#0
+Não e *hic* ... Não, você e sua... *burp* estup*hic* guilda!
+
+No and *hic*... No, you and you and your... *burp* stup*hic* guild!#1
+Não e *hic* ... Não, você e sua... *burp* estup*hic* guilda!
+
+No but thanks.
+
+
+No criminal record, no bank account, not even a tax payment declaration.
+Nenhum registro criminal, nenhuma conta bancária, nem mesmo uma declaração de pagamento de impostos.
+
+No homunculus found!
+Sem homúnculo encontrado!
+
+No mercy will be shown, turn back now!
+
+
+No need to kill the Fluffies, though.
+Não há necessidade de matar os Fluffies, no entanto.
+
+No no no, that's wrong.
+Não não não, está errado.
+
+No no no, you don't have everything I've asked for!
+Não não não, você não tem tudo que eu pedi!
+
+No one can go out during the quest, so ensure every guild member has proper equipment, potions, and time for this dungeon.
+Ninguém pode sair durante a busca, para garantir que todos os membros da guilda tem adequada equipamentos, poções e tempo para esta masmorra.
+
+No one is allowed past this point.
+Ninguém é permitido além deste ponto.
+
+No one is more there than here than me! Look at my hat, it symbolizes that I am an useless player!
+Ninguém está mais lá do que aqui do que eu! Olhe para o meu chapéu, ela simboliza que eu sou um jogador inútil!
+
+No one visit me, I'm in peace there.
+Ninguém me visita, estou em paz lá.
+
+No penalty against Legendary mobs
+
+
+No problem is too big for me. I have them right here!
+Nenhum problema é grande demais para mim. Eu os tenho aqui mesmo!
+
+No reason.
+Sem motivo.
+
+No reply. We should try something else.
+
+
+No thank you.
+
+
+No thanks, see ya!
+Não obrigado, até mais!
+
+No thanks.
+Não, obrigado.
+
+No victor appliable.
+Nenhum vencedor é appliable.
+
+No way!
+De jeito nenhum!
+
+No way! That's absurd!
+De jeito nenhum! Isso é um absurdo!
+
+No you don't. Don't disturb the forest for no reason.
+Não você não. Não perturbe a floresta sem motivo.
+
+No!
+Não!
+
+No, I don't have any poison for your sampling yet.
+
+
+No, I don't need monster repellent nor anything! Go away!
+Não, eu não preciso de repelente de monstros nem nada! Vá embora!
+
+No, I don't teach magic to strangers. No, I'm not interested in @@ affairs.
+Não, eu não ensino magia para estranhos. Não, não estou interessado em assuntos @@.
+
+No, I insist, keep the Antennas as a trophy.
+Não, insisto, mantenha as Antenas como um troféu.
+
+No, I want to aim for a higher score.
+
+
+No, I'll be back with them.
+Não, eu voltarei com eles.
+
+No, I'll let you there to the Yeti's mercy.
+Não, eu vou deixar você lá para a misericórdia do Yeti.
+
+No, I'll save my money.
+Não, não quero gastar meu dinheiro.
+
+No, but what option do I have? I'm railroaded!
+Não, mas qual opção eu tenho? Eu sou ferroviário!
+
+No, it is a family heirloom. But I do have the shield blueprints. A skilled craftsman could forge one.
+Não, é uma herança de família. Mas eu tenho as plantas do escudo. Um artesão habilidoso poderia forjar um.
+
+No, justice must be done.
+Não, a justiça deve ser feita.
+
+No, loans.
+
+
+No, none.
+Ninguém.
+
+No, not at the moment.
+Não, não no momento.
+
+No, nothing. Sorry.
+
+
+No, please don't! I have 3 kids to feed. They are looking for me for contraband. Please, let me go!
+Não, por favor não! Eu tenho 3 filhos para alimentar. Eles estão me procurando por contrabando. Por favor, deixe-me ir!
+
+No, power corrupts.
+
+
+No, seriously, you should do these questions to Elli. She is the smartest girl I know, close to the Academy.
+
+
+No, sir.
+Não senhor.
+
+No, sorry.
+
+
+No, thank you, kid.
+Não, obrigada garoto.
+
+No, thanks!
+Não, obrigado!
+
+No, thanks, I will keep my gems.
+Não, obrigada, vou guardar as minhas jóias.
+
+No, thanks, it's not my job!
+Não, obrigado, não é meu trabalho!
+
+No, thanks.
+Não, obrigado.
+
+No, thanks. I gonna leave this place.
+Não, obrigado. Eu vou deixar este lugar.
+
+No, they are way too dangerous for me!
+Não, eles são muito perigosos para mim!
+
+No, we challenge you to a duel!
+Não, nós desafiamos você para um duelo!
+
+No, we've done this for our whole life, and we have survived!
+Não, fizemos isso por toda a nossa vida e sobrevivemos!
+
+No, who knows what they might do with it!
+
+
+No.
+Não.
+
+No. Hurnscald is besieged and it would be too dangerous to let you go alone. You should talk to %s, instead.
+
+
+No...
+Não...
+
+No... Not yet, sorry.
+Não ... Ainda não, desculpe.
+
+Nobody answers.
+Ninguém responde.
+
+Nobody can know! *burp*
+Ninguém pode saber! *arroto*
+
+Nobody lives here for years, arr. Monsters have taken over everything, yarr.
+Ninguém mora aqui há anos, arr. Monstros assumiram tudo, yarr.
+
+Noel Slime
+Noel Slime
+
+Non Disclosure Agreemeent
+
+
+None
+Nenhum
+
+None at the moment.
+Nenhum no momento.
+
+Nope, sorry!
+Não desculpe!
+
+Normal
+Normal
+
+Normal Bullet
+Bala Normal
+
+Normal Cards can be upgraded to S-Tier, and S Cards can be upgraded to X-Tier. X-Tier cards cannot be upgraded.
+
+
+Normal Member
+Membro normal
+
+Normal.
+
+
+Normally I would offer to make you some %s, but economic problems in Halinarzo have caused a shortage of supplies...
+
+
+Normally, collaborative behave like neutral monsters. Unless some partner of the same species is in danger, at which point they all take an aggressive stance against the aggressor.
+Normalmente, colaborativo se comporta como monstros neutros. A menos que algum parceiro da mesma espécie esteja em perigo, nesse momento todos eles assumem uma posição agressiva contra o agressor.
+
+North Avenue#lof
+Avenida Norte#lof
+
+Northeast Avenue
+nordeste Avenue
+
+Northeast Avenue#lof
+Avenida Nordeste#lof
+
+Northwest Avenue
+Avenue Northwest
+
+Northwest Avenue#lof
+Avenida Noroeste#lof
+
+Not An Oak
+Não é um carvalho
+
+Not Yet Implemented - Sorry.
+
+
+Not a single deed, but continued heroism. A real hero must be strong. Must help others. Must show up above others. Should have magic even if they don't use, and of course, the world should be in need of a hero. No one is born as hero, for heroes are forged, not born.
+
+
+Not all monsters will do this, but most will. So if you see a monster running after a player and you stand in the way...
+Nem todos os monstros farão isso, mas a maioria fará isso. Então, se você ver um monstro correndo atrás de um jogador e você ficar no caminho ...
+
+Not allowed
+Não permitido
+
+Not at all!
+
+
+Not at the moment
+Não no momento
+
+Not bad
+
+
+Not bad, not bad. Let's see if you can answer an even more difficult one.
+Nada mal nada mal. Vamos ver se você pode responder a uma ainda mais difícil.
+
+Not bad. These are the main threat we have to fend off, along snakes and black scorpions.
+Não é ruim. Estas são as principais ameaças que temos que enfrentar, as cobras e os escorpiões negros.
+
+Not bad... You can now enter Lilit. If you think you can defeat me, climb the tree and meet me at the top!
+Nada mal ... Agora você pode entrar em Lilit. Se você acha que pode me derrotar, suba na árvore e me encontre no topo!
+
+Not crafting - insufficient materials!
+
+
+Not doing that to prevent flood.
+Não fazendo isso para evitar inundações.
+
+Not enough Monster Points!
+Não é suficiente Monster Points!
+
+Not enough bottles.
+Não há garrafas suficientes.
+
+Not enough funds!
+Fundos insuficientes!
+
+Not enough ingredients or invalid amount.
+Não há ingredientes suficientes ou quantidade inválida.
+
+Not enough items!
+itens não é suficiente!
+
+Not enough money.
+Dinheiro insuficiente.
+
+Not every @@ with you belongs to you.
+Nem todo @@ com você pertence a você.
+
+Not every piece of equipment is ingame yet.
+Nem todo equipamento está no jogo ainda.
+
+Not everyone can be a blood donor. For example, you must be healthy.
+Nem todo mundo pode ser doador de sangue. Por exemplo, você deve estar saudável.
+
+Not for that! For helping out the injuried mouboo, of course.
+Não para isso! Por ajudar o mooboo ferido, claro.
+
+Not in the mood to chat.
+Não está com vontade de conversar.
+
+Not my problem.
+Não é problema meu.
+
+Not now, but I may be back later.
+Não agora, mas posso voltar mais tarde.
+
+Not now, sorry.
+Agora não, desculpe.
+
+Not now, thanks
+Agora não, obrigado
+
+Not now, thanks.
+
+
+Not now.
+
+
+Not now...
+Agora não...
+
+Not now... *hic* I need @@... *hic* Bring me @@ if you *hic* can...
+Não agora ... * hic * Eu preciso de @@ ... * hic * Traga-me @@ se você * hic * puder ...
+
+Not only that, but I am also Angela's husband and Nivalis Mayor. If you have any issues, you can go straight to me.
+Não só isso, mas eu também sou o marido de Angela e Nivalis Mayor. Se você tiver algum problema, você pode ir direto para mim.
+
+Not only that, but at night monsters are stronger! They also give more experience and drop more often to compensate, though.
+Não só isso, mas à noite os monstros são mais fortes! Eles também dão mais experiência e cair com mais freqüência para compensar, no entanto.
+
+Not only that, but he is the only one here besides me who can do magic. Without him, I have to work doubled.
+Não só isso, mas ele é o único aqui além de mim que pode fazer mágica. Sem ele, tenho que trabalhar dobrado.
+
+Not only that, but it is swarming with monsters. Something is really wrong here. From our scouts which went in there, only one returned.
+
+
+Not only that, but reborn characters will spawn at level %d!
+
+
+Not only that, but the Yeti King and me had an... incident, in times best forgotten. Let's not talk about it.
+Não só isso, mas o Yeti King e eu tivemos um ... incidente, em tempos melhor esquecido. Não vamos falar sobre isso.
+
+Not only that, but you get one free attempt every day!
+
+
+Not participating in a challenge yields you zero points. In case of a tie, char creation date will be the decisive factor: Older adventurers will get the preference.
+
+
+Not really, sorry.
+Não é verdade, desculpe.
+
+Not really.
+Na verdade não.
+
+Not resync'ing to prevent flood.
+Não resync'ing para evitar inundações.
+
+Not right now, I'm busy.
+Não agora, estou ocupado.
+
+Not right now.
+Não agora.
+
+Not sure
+Não tenho certeza
+
+Not to say about bandits and robbers you'll find.
+Não quer dizer sobre bandidos e ladrões que você encontrará.
+
+Not today, sorry.
+Não hoje, desculpe.
+
+Not yet, I'll be right back.
+Ainda não, volto já.
+
+Not yet, I'm waiting @@ to deliver me the @@ reagent.
+Ainda não, estou esperando @@ para me entregar o reagente @@.
+
+Not yet, I'm waiting for friends
+Ainda não, estou à espera de amigos
+
+Not yet, blame Jesusalva, your reward was with them
+Ainda não, culpe Jesusalva, sua recompensa foi com eles
+
+Not yet, but I'll bring them.
+Ainda não, mas vou trazê-los.
+
+Not yet.
+Ainda não.
+
+Not yet. I've been... delayed.
+Ainda não. Eu tenho ... adiada.
+
+Not yet. You have to ask the mana seed to give you more power.
+Ainda não. Você tem que pedir à semente de mana para lhe dar mais poder.
+
+NotSoBot
+NotSoBot
+
+Notable mentions and thanks for our [@@https://tmw2.org/contact|sponsors@@], we wouldn't be here without their continued support.
+
+
+Notable mentions and thanks for our [@@https://www.patreon.com/TMW2|sponsors@@], we wouldn't be here without their continued support.
+Notável menciona e graças para o nosso [@@ https: //www.patreon.com/TMW2 | patrocinadores @@], nós não estaríamos aqui sem o seu apoio contínuo.
+
+Note
+Nota
+
+Note 2: If you leave this plataform, it'll reset!
+Nota 2: Se você deixar esta plataforma, que vai redefinir!
+
+Note 3: All maps in Fortress Island have penalty, even towns!
+
+
+Note down. To hunt a target you must click the primary mouse button on it. Avoid fighting monsters or citizens much stronger than you. ##BYou will lose experience if you are defeated.##b
+Anote. Para atacar um alvo, você precisa apertar com o botão principal do mouse nele. Evite brigar com monstros ou cidadãos muito mais fortes que você. ##BVocê irá perder experiência se for derrotado.##b
+
+Note#012-2
+Nota#012-2
+
+Note#johanne
+Nota#Johanne
+
+Note#saxsocave
+Nota#saxsocave
+
+Note: Dustynator is a high level weapon. You might not have enough level to use it yet.
+Nota: Dustynator é uma arma de alto nível. Você pode não ter nível suficiente para usá-lo ainda.
+
+Note: Golden and Silver Eggs are deleted after the next event end.
+Nota: Ovos Dourados e Prateados são apagados após o próximo término do evento.
+
+Note: Items brewed here will use a Guild Recipe instead!
+Nota: Os itens fabricado aqui vai usar uma Aliança Receita vez!
+
+Note: Items forged here will be guild-bound, but will use player recipes and bonuses!
+Nota: Os artigos forjados aqui será guilda-bound, mas vai usar receitas do jogador e bônus!
+
+Note: No rares will be given if Golbarez doesn't get enough GP to find the paradise, but Strange Coins will still be given.
+
+
+Note: Onboard, Destructive, Fire, and AoE Magic are NOT allowed.
+Nota: A bordo, destrutivo, Fogo e AoE magia não são permitidos.
+
+Note: Passives and some skills (e.g. Resync) doesn't count.
+
+
+Note: Poll may increase more than total money donated depending on current date.
+
+
+Note: Support skills used on self does not count.
+
+
+Note: The points will NOT be consumed on 2020.
+Nota: Os pontos não serão consumidos em 2020.
+
+Note: This action cannot be undone.
+Nota: Esta ação não pode ser desfeita.
+
+Note: This travel takes a whole minute to complete!!
+Nota: Esta viagem leva um minuto inteiro para completa !!
+
+Note: Transfering items on mail cost @@ GP/item
+Nota: Transferir itens no custo de correio @@ GP / artigo
+
+Note: Unless you were doing something REALLY bad which is harmful to player community (eg. scamming, hacking, DDoS'ing, etc.)
+Nota: A menos que você estava fazendo algo muito ruim que é prejudicial ao jogador comunidade (por exemplo, golpes, cortando, DDoS'ing, etc.).
+
+Note: You can exchange 1 @@ for 3 @@
+Nota: Você pode trocar 1 @@ para 3 @@
+
+Note: You can increase the time by talking to Emma again.
+Nota: Você pode aumentar o tempo falando com Emma novamente.
+
+Note: You can only perform this operation @@/6 times.
+Nota: Você só pode executar esta operação @@ / 6 vezes.
+
+Note: You may fail to write skills to it.
+Nota: Você pode deixar de escrever habilidades para isso.
+
+Note: You must have a char on the first slot to leaderboard work. Points are shared accross all chars on your account.
+Nota: Você deve ter um char no primeiro slot para o trabalho de cabeçalho. Os pontos são compartilhados em todos os gráficos da sua conta.
+
+Note: You won't be able to leave the class later.
+Nota: Você não será capaz de deixar a classe mais tarde.
+
+Note: You'll be vulnerable for a short while!
+Nota: Você vai ser vulnerável por um curto tempo!
+
+Note: Your party is currently not sharing experience, and will suffer a time penalty. Your time will be halved.
+Observação: sua equipe não está compartilhando experiência no momento e sofrerá uma penalidade de tempo. Seu tempo será reduzido pela metade.
+
+Note: some pets still weren't implemented!
+Nota: alguns animais ainda não foram implementados!
+
+Notebook#MKHB
+Livro de Notas#MKHB
+
+Notes:
+Notas:
+
+Nothing
+Nada
+
+Nothing I guess
+Nada eu acho
+
+Nothing at the moment, thanks.
+Nada no momento, obrigado.
+
+Nothing at the moment.
+Nada no momento.
+
+Nothing for now, thanks.
+Nada por enquanto, obrigado.
+
+Nothing happens.
+Nada acontece.
+
+Nothing important.
+
+
+Nothing right now.
+Nada agora.
+
+Nothing so sublime!
+Nada tão sublime!
+
+Nothing, good bye!
+Nada, adeus!
+
+Nothing, sorry!
+Nada, desculpa!
+
+Nothing, sorry.
+Nada, desculpe.
+
+Nothing, thanks
+Nada, obrigado
+
+Nothing, thanks anyway.
+
+
+Nothing, thanks!
+Nada, obrigado!
+
+Nothing, thanks.
+Nada, obrigado.
+
+Nothing.
+Não.
+
+Nothing. Take care!
+
+
+Notice: If you join the ##BBandits Guild##b now, you WON'T BE ABLE to be a merchant police later!
+
+
+November 1st - November 30th
+01 de novembro - 30 de novembro
+
+Novice Dungeon (Lv 40+)
+Calabouço Novato (Lv 40+)
+
+Novice Exchanger#0
+
+
+Novice Wand
+Novice Wand
+
+Now I can turn in my report to Professor Volrtaw... I should not have stayed behind the classes.
+Agora eu posso entregar meu relatório para Professor Volrtaw ... Eu não deveria ter ficado atrás das classes.
+
+Now I just drink down my worries and hope for the best.
+Agora eu apenas bebo minhas preocupações e espero o melhor.
+
+Now I need 20 @@, 20 @@ and 60 @@ to finish my research. Easy materials, except for the Shadow Herb.
+Agora eu preciso de 20 @@, 20 @@ e 60 @@ para terminar minha pesquisa. Materiais fáceis, exceto pela erva das sombras.
+
+Now I travel by the world, composing songs about the things I see.
+Agora eu viajo pelo mundo, compondo músicas sobre as coisas que vejo.
+
+Now I'll be waiting!
+Agora eu estarei esperando!
+
+Now begone.
+Agora begone.
+
+Now go and save the world or something like that. I mean, it is not like I really cared with the world, anyway... With luck you'll even find what you are looking for.
+
+
+Now go talk to the King.
+Agora vá falar com o rei.
+
+Now go! Lives are at stack!
+Agora vá! Vidas estão em pilha!
+
+Now go, and fetch the materials again. I'll make another fertilizer for you.
+Agora vá e pegue os materiais novamente. Eu vou fazer outro fertilizante para você.
+
+Now lo and behold... The ultimate... TRANSMUTATION!
+Agora eis e vê ... A última palavra ... TRANSMUTATION!
+
+Now please be a good helper, and aid me by bringing:
+Agora, por favor ser um bom ajudante, e me ajudar, trazendo:
+
+Now please bring me @@/2 @@, @@/20 @@, @@/30 @@ and @@/70 @@ so I don't need to leave here and start travelling everywhere...
+Agora, por favor, me traga @@ / 2 @@, @@ / 20 @@, @@ / 30 @@ e @@ / 70 @@, então eu não preciso sair daqui e começar a viajar em todos os lugares ...
+
+Now stand still... It should not take much time...
+Agora fique parado ... Não deve demorar muito tempo ...
+
+Now that Chief Oskari knows about the sequence of events, the Sage will take care of it. It's really a shame how malicious people can be.
+Agora que o chefe Oskari sabe da sequência de eventos, o Sábio cuidará disso. É realmente uma pena que pessoas maliciosas possam ser.
+
+Now that I've described the spells to you, I'm sure I cast them correctly. But... I think there is a way to have these effects. It's silly though.
+Agora que eu descrevi os feitiços para você, tenho certeza que os lancei corretamente. Mas ... eu acho que há um jeito de ter esses efeitos. É bobo embora.
+
+Now that you ask....
+Agora que você pergunta ....
+
+Now to head inside the caves, until the last floor, and have my showdown and revenge against the Monster King. I do not plan in failing.
+
+
+Now wait for your partner, then talk to me again.#0
+
+
+Now wait for your partner, then talk to me again.#1
+
+
+Now wanders over the land.
+
+
+Now we are no longer useless — we can play music again!
+
+
+Now we can play any songs! Hooray!
+Agora podemos tocar todas as músicas! Viva!
+
+Now you must feel homelike already here... take these slippers so your feet stays warm!
+Agora você deve sentir-se familiar já está aqui ... tomar esses chinelos para que o seu estadias pés quentes!
+
+Now you need to fight monster with the maximum range, you can to do this do these steps in order: lock enemy, Attack, hit, move backwards of one tile, hit, ETC.
+Agora você precisa lutar contra o monstro com o alcance máximo, você pode fazer isso com estes passos em ordem: bloquear o inimigo, atacar, acertar, mover para trás de uma telha, bater, ETC.
+
+Now, I'm sure you could find the answer you seek without the trouble of coming here, but anyway. I guess I'll explain you how things work here, first.
+
+
+Now, a simple @@ quest to make you stronger...
+Agora, uma simples @ @ quest para torná-lo mais forte ...
+
+Now, as you gave yourself the trouble of coming here...
+Agora, como você se deu ao trabalho de vir aqui ...
+
+Now, crafting an airship requires a lot of efforts, resources, money and specially time. Fourteen months, to be exact.
+
+
+Now, isn't this lovely? I'll turn it into some pants for %s winter.
+
+
+Now, let's try again.
+Agora vamos tentar de novo.
+
+Now, listen closely. Jesusalva desgined most of the quests. And he hates cheaters and liars.
+Agora, ouça atentamente. Jesusalva desenhou a maioria das missões. E ele odeia trapaceiros e mentirosos.
+
+Now, listen to me. I know I promised to bring you to the World's Edge.
+Agora, ouça-me. Eu sei que eu prometi para trazê-lo para a beira do mundo.
+
+Now, please kill 50 @@, Try to collect some lamps in the same time, they could be useful later.
+Agora, por favor, mate 50 @@, Tente coletar algumas lâmpadas ao mesmo tempo, elas podem ser úteis mais tarde.
+
+Now, that's unfortunate. I don't think you can hit me from where you are.
+Agora, isso é lamentável. Eu não acho que você possa me bater de onde você está.
+
+Now, to find the treasure chest!
+
+
+Now, to wait for Sunday is the most boring part... Alas, I wonder if I'll remember next week, too.
+Agora, esperar pelo domingo é a parte mais chata ... Infelizmente, eu me pergunto se vou lembrar da próxima semana também.
+
+Now, we're hot on the trails of whatever is the reason for the town to be so empty. We blocked this road so the town is not overrun by the monsters outside.
+
+
+Now, you'll learn a thief trick! This one allows you to steal drops from monsters! Ka-pow! Amazing!
+Agora você aprenderá um truque de ladrão! Este permite que você roube gotas de monstros! Ka-pow! Surpreendente!
+
+Now, you'll learn a thief trick! What sort of thief loots so much that they get overweight penalty? That's not cool!
+Agora, você vai aprender um truque ladrão! Que tipo de ladrão saqueia tanto que eles ficam pena acima do peso? Isso não é legal!
+
+Now, you'll learn an important trick! Stealing is nice, but scamming is even better!
+Agora, você vai aprender um truque importante! Roubar é agradável, mas enganação é ainda melhor!
+
+Nowhere Gluvine
+Nenhum lugar Gluvine
+
+Nowhere Jeane
+Nenhum lugar Jeane
+
+Nowhere Man
+Homem de lugar nenhum
+
+Nulity Pixie
+Duende de nulidade
+
+Nutcracker
+quebra-nozes
+
+Nylo
+Nylo
+
+Nylo#Marggo
+Nylo#Marggo
+
+Nymph Poison
+
+
+O.o "That's a lot. Maybe another day."
+
+
+OFF WITH THEIR HEADS!
+FORA COM SUAS CABEÇAS!
+
+OH MY, PLEASE DON'T!
+OH MEU, POR FAVOR, NÃO!
+
+OH NOES! The ceiling seems to have collapsed when the chest was open! We are forced to go forward!!
+OH NÃO! O teto parece ter desabado quando o peito estava aberto! Somos forçados a ir para a frente !!
+
+OH NOES! The ceiling seems to have collapsed. I hope we got the key, or the quest is over for us!
+OH NÃO! O teto parece ter desabado. Espero que tem a chave, ou a busca é mais para nós!
+
+OK, I will get them.
+OK, vou pegá-los.
+
+OMG CANCEL IT!!
+OMG cancelá-lo !!
+
+OMG so cute! This must be the cutest bear you ever seen your whole life.
+
+
+OMG you got all equipment in Moubootaur Legends. You are truly a legend of legends.
+
+
+Oak
+Carvalho
+
+Obtain event equipment
+Obter equipamento evento
+
+Ocean Croc
+Croc do Oceano
+
+Ocean Croc Claw
+Garra Croc Oceano
+
+Ocean Pirate
+Pirata do oceano
+
+Of course I hurried there as fast as I could, yelling to wake up everyone, but that caused so much confusion that we fell over each other in the corridor and when we finally reached the library, the slimes were already spread all over the room, eating or exploding the books.
+Claro que me apressei para lá o mais rápido que pude, gritando para acordar todo mundo, mas isso causou tanta confusão que nós caímos no corredor e quando finalmente chegamos à biblioteca, os slimes já estavam espalhados por toda a sala, comendo ou explodindo os livros.
+
+Of course I'll help you!
+Claro que vou te ajudar!
+
+Of course it does. And the same level rules applies.
+Claro que sim. E as mesmas regras de nível se aplica.
+
+Of course! But beware that %s are always in demand!
+
+
+Of course! Quick, take it!!
+Claro! Rápido, pegue !!
+
+Of course, I actually have two options:
+Claro, eu realmente tenho duas opções:
+
+Of course, I do charge a nominal fee of for the service. %s GP to be exact.
+
+
+Of course, give me just a minute to look up for your data, @@.
+Claro, me dê apenas um minuto para procurar seus dados, @@.
+
+Of course, he doesn't likes the fact you're talking to me.
+Claro, ele não gosta do fato de que você está falando para mim.
+
+Of course, if you don't ask from the Mana Stone for more magic, you will stay on the first degree forever...
+Claro, se você não pedir a partir da Pedra Mana para mais magia, você vai ficar no primeiro grau para sempre ...
+
+Of course, if your problem is only experience, then you should look for %s and other EXP-boosting drinks. Some are sold, some are made, some are dropped, some are... magical...
+Claro que, se o seu problema é só a experiência, então você deve olhar para% s e outras bebidas de aumento de EXP. Alguns são vendidos, alguns são feitos, alguns são descartados, alguns são ... mágico ...
+
+Of course, lag might always be a problem. Remember to drag healing items to the shortcut list too. %%2
+
+
+Of course, some get scholarship in honor of the cause or by notable knowledge and prowess; These are a special group not worth mentioning.
+
+
+Of course, the Savior race is extinct as far as history book concern with.
+Claro, a corrida Salvador é extinto, tanto quanto a preocupação história livro com.
+
+Of course, they are on the left wall, go have a look at them.
+Claro, eles estão na parede esquerda, dê uma olhada neles.
+
+Of course, we'll find a way to reward you for your efforts.
+Claro, nós vamos encontrar uma maneira de recompensá-lo por seus esforços.
+
+Of course. I bet Elli is the one who cursed you, who started the Great Fire and who put the time lock in place.
+
+
+Of course. The adviser of the Yeti King, for instance, is very friendly.
+Claro. O conselheiro do Yeti King, por exemplo, é muito amigável.
+
+Of course: better drinks, more EXP. Just be careful to don't get so drunk that you cannot fight anymore, will ya?
+Claro: bebidas melhores, mais EXP. Apenas tome cuidado para não ficar tão bêbado que você não pode mais lutar, vai?
+
+Off to storage I go.
+
+
+Offer food to it.
+
+
+Offering alcohol to a teddy seems like a ugly thing to do. We should think on something else.
+
+
+Oh dear, oh dear, where could I have possibly left it?!
+Oh céus, oh vida, onde eu poderia ter deixado isso ?!
+
+Oh hello again. This time I need you to be enrolled here, for this, you need to either get a good rank at the Magic Olympics or by contributing to the world's knowledge. Talk to headmaster if you need help.
+
+
+Oh it's you @@, I did not recognize you with your hat!
+Ah, é você @@, eu não te reconheci com o seu chapéu!
+
+Oh it's you @@, I did not recognize you without a hat!
+Ah, é você @@, eu não te reconheci sem chapéu!
+
+Oh look, it is Cupid!
+Oh olhar, é o Cupido!
+
+Oh my Jesusalva - You broke my lock! Why?!
+Oh meu Jesusalva - Você quebrou meu cadeado! Por quê?!
+
+Oh my! Did you rent a house or an apartment and now want to brew stuff, like @@ or @@?
+Oh meu! Você alugou uma casa ou um apartamento e agora quer preparar coisas como @@ ou @@?
+
+Oh my, the great @@ has come to talk to me!
+Oh meu, o grande @@ veio falar comigo!
+
+Oh my, you don't seem to be registered as a Monster Hunting Quest Participant. Would you like to register?
+Oh meu, você não parece estar registrado como um participante da Missão de Caça ao Monstro. Voce gostaria de se registrar?
+
+Oh no! I will miss my bus! Gotta go!
+Ah não! Vou sentir falta do meu ônibus! Tenho que ir!
+
+Oh no! What should we do now?
+Ah não! O que devemos fazer agora?
+
+Oh no, Benjamin is a city guard, he would never do that. I hope.
+Oh não, Benjamin é um guarda da cidade, ele nunca faria isso. Eu espero.
+
+Oh no, I don't have any money on me right now.
+Oh não, eu não tenho dinheiro comigo agora.
+
+Oh no, not another stranger she sends me to tell that!
+Oh não, não é outro estranho que ela me envia para contar isso!
+
+Oh no... That is wrong! %%3
+
+
+Oh noes ─ the door is sealed! We can only press forward and failure is final!
+
+
+Oh noes! He fainted! Quick, rescue him!!#1
+
+
+Oh noes! She fainted! Quick, rescue her!!#0
+
+
+Oh noes! The door is locked!! Quick! Call a GM!!!
+Oh não! A porta está trancada!! Rápido! Ligue para um GM !!!
+
+Oh noes! The guards locked the door!
+Oh não! Os guardas trancou a porta!
+
+Oh noes! You've found the Candor control panel!
+Oh não! Você encontrou o painel de controle Candor!
+
+Oh noes! You've found the Halinarzo control panel!
+Oh não! Você encontrou o painel de controle Halinarzo!
+
+Oh noes! You've found the Hurnscald control panel!
+Oh não! Você encontrou o painel de controle do Hurnscald!
+
+Oh noes! You've found the Tulimshar control panel!
+Oh não! Você encontrou o painel de controle Tulimshar!
+
+Oh noes, who nows can help my wife? Please reconsider!
+Oh não, quem agora pode ajudar minha esposa? Por favor, reconsidere!
+
+Oh please. Even if you know a trick or two, you don't have real magic.
+Oh, por favor. Mesmo que você saiba um truque ou dois, você não tem mágica real.
+
+Oh right, I totally forgot about that, here you go.
+Ah, bem, eu esqueci completamente disso, aqui vai você.
+
+Oh well, this sucks, but that was only an illusion.
+Oh bem, isso é uma droga, mas isso foi apenas uma ilusão.
+
+Oh well... That's my mother, and this is why I love her.
+Oh bem ... Essa é minha mãe, e é por isso que eu a amo.
+
+Oh yeah some work is really painful, especially for my back, and I cant bother Woody to do it, he has so many difficulties moving.
+Ah sim, algum trabalho é realmente doloroso, especialmente para as minhas costas, e eu não posso incomodar Woody para fazer isso, ele tem tantas dificuldades em se mexer.
+
+Oh yes, here you go, that will be 1 GP.
+Ah sim, aqui vai você, será 1 GP.
+
+Oh! You found me. Good job!
+Oh! Você me encontrou. Bom trabalho!
+
+Oh, %s, thanks! The tunnels behind me are very hot, this will help if I have to go inside them.
+
+
+Oh, I can't really tell. I'm mostly working in the library, while he's very involved in the research.
+Eu não posso dizer. Eu estou trabalhando principalmente na biblioteca, enquanto ele está muito envolvido na pesquisa.
+
+Oh, I know who you mean! That impertinent person came over in the workshop area and fiddled about with all kinds of things here! Such a rude person! Didn't he understand that we had delicate things going on here? We had to send him back to the library area several times.
+Eu sei quem você é! Aquela pessoa impertinente veio na área de oficina e brincou com todos os tipos de coisas aqui! Uma pessoa tão grosseira! Ele não entendia que nós tínhamos coisas delicadas acontecendo aqui? Nós tivemos que mandá-lo de volta para a área da biblioteca várias vezes.
+
+Oh, I never really thought about that. He was the one who failed the sealing, right? But I heard it's a quite difficult spell, so I suppose this could've happened to any mage. I don't know. Why are you asking such difficult questions?
+Eu nunca pensei sobre isso. Ele foi o único que falhou no lacre, certo? Mas ouvi dizer que é um feitiço muito difícil, então suponho que isso poderia ter acontecido com qualquer mago. Eu não sei. Por que você está fazendo perguntas tão difíceis?
+
+Oh, I was wee lad on the beach singing the blub song
+
+
+Oh, I'm just exploring. What can you tell me about this island?
+Oh, eu estou apenas explorar. O que você pode me dizer sobre esta ilha?
+
+Oh, Miler just prepared a %s for you. You can use it... Or give it to Henry in Nivalis Inn, and whisper "The Shadow Tortuga won the race against the Panthom Lord".
+
+
+Oh, Welcome then.
+Oh, bem-vindo então.
+
+Oh, a visitor. Welcome to the city hall. Please, enjoy your stay.
+Ah, um visitante. Bem vindo a prefeitura. Por favor, aproveite sua estadia.
+
+Oh, and I almost forgot! Do not share passwords or pincodes, not even with staff! And do not use the same password somewhere else, they can be stolen!
+Ah, e quase me esqueci! Não compartilhe senhas ou pincodes, nem mesmo com a equipe! E não use a mesma senha em outro lugar, eles podem ser roubados!
+
+Oh, and about the Candor travel for 200 GP... Which would be a rare for little or no gold... Well, that's just an attention grabber.
+Ah, e sobre a viagem da Candor por 200 GPs ... O que seria raro para pouco ou nenhum ouro ... Bem, isso é apenas um chamariz de atenção.
+
+Oh, and if I perchance catch you using %s or %s... You'll be banned from my game, understood?
+
+
+Oh, and you will need this book too, it will help you learn the basics of fishing.
+Ah, e você precisará deste livro também, ele irá ajudá-lo a aprender o básico da pesca.
+
+Oh, but don't you worry. Sure, you can't go in Nivalis bank and take my stuff... But the Storage Fairy at Lilit might just let you.
+
+
+Oh, but we are affiliated with Jesusalva, whom hates cheaters. So, meet your dismissal!
+Oh, mas nós somos afiliados com Jesusalva, que odeia trapaceiros. Então, conheça sua demissão!
+
+Oh, eh, why are you asking me? I've only been here a short while and don't really know all of the people well enough yet.
+Oh, eh, por que você está me perguntando? Eu só estive aqui há pouco tempo e realmente não conheço bem todas as pessoas.
+
+Oh, every settlement is part of it. Candor, Tulimshar, Hurnscald, Frostia, Halinarzo, Artis, Nivalis...
+
+
+Oh, he has been a little rascal since his father died.
+Oh, ele tem sido um pequeno patife desde que seu pai morreu.
+
+Oh, he's still alive!#1
+Oh, ele ainda está vivo!
+
+Oh, hello %s.
+Oh, Olá% s.
+
+Oh, hello there! Welcome to the Mana Plane Of Existence!
+
+
+Oh, hello. If I were you I wouldn't go deeper into the library. There are still some of those monsters left. Slipping between the bookshelves.
+Olá. Se eu fosse você, não iria mais fundo na biblioteca. Ainda restam alguns monstros. Deslizando entre as estantes de livros.
+
+Oh, hello. You didn't choose a good time to visit. The library is a total mess. The slimes got out of control and ate most of the books.
+Olá. Você não escolheu um bom momento para visitar. A biblioteca é uma bagunça total. O slimes saiu do controle e comeu a maior parte dos livros.
+
+Oh, here the path seems to split. Which way should we go?
+Oh, aqui o caminho parece dividida. Qual caminho devemos ir?
+
+Oh, hey, welcome back, @@! Thanks for all your help!
+Oh, ei, bem vindo de volta, @@! Obrigado por toda sua ajuda!
+
+Oh, hey. Welcome to the library, or what's left of it.
+Oh, ei Bem-vindo à biblioteca ou ao que resta dela.
+
+Oh, just an empty staff with black powder inside it. Which explodes. And then kills monsters.
+Oh, apenas uma equipe vazia com pó preto dentro dela. Que explode E então mata monstros.
+
+Oh, just walk on the dock, and you'll be warped there.
+Oh, apenas a pé no cais, e você vai ser deformado lá.
+
+Oh, please. They're weaker than Maggots. They will only pose a threat if you're unarmed.
+Oh, por favor. Eles são mais fracos que os vermes. Eles só representam uma ameaça se você estiver desarmado.
+
+Oh, several things. It depends a bit on what the scholars consider, and the scholars... well, they change.
+
+
+Oh, she's still alive!#0
+Oh, ela ainda está vivo!
+
+Oh, thank you! My daughter means a lot to me.
+Obrigado! Minha filha significa muito para mim.
+
+Oh, thanks, darling; I was starving. Do you need anything?
+
+
+Oh, that's a long story.
+Oh, essa é uma longa história.
+
+Oh, that's an interesting question. I was really surprised when I heard that he was responsible for the failure. I've worked together with him before, and I have to say, it really was a pleasure. He's very accurate and diligent, but also polite and helpful.
+Essa é uma pergunta interessante. Fiquei realmente surpreso quando soube que ele era responsável pelo fracasso. Eu trabalhei junto com ele antes, e tenho que dizer, foi realmente um prazer. Ele é muito preciso e diligente, mas também educado e prestativo.
+
+Oh, the @@ might be a heirloom or something from Braknar family. I dunno who could have it.
+Oh, o @@ pode ser uma herança ou algo da família Braknar. Eu não sei quem poderia tê-lo.
+
+Oh, then I don't have enough! I'll bring more later!
+Ah, então eu não tenho o suficiente! Eu trarei mais tarde!
+
+Oh, then you should seek the help of an specialist. These curses have an specific condition to break, like leveling up or being killed. Force-breaking them can be difficult.
+Ah, então você deve procurar a ajuda de um especialista. Essas maldições têm uma condição específica para quebrar, como nivelar ou ser morto. Forçar a quebra deles pode ser difícil.
+
+Oh, there was such a visitor, yes. Strange guy, and didn't really know how to behave. He sneaked into the workshop area all the time, I think he was rather curious about the things going on there.
+Oh, havia tal visitante, sim. Cara estranho, e realmente não sabia como se comportar. Ele entrou na área da oficina o tempo todo, acho que ele estava bastante curioso sobre as coisas acontecendo lá.
+
+Oh, this is so much work... I can't believe they let this happen! You would think they'd be careful when playing around with such powerful forces. Hah! Big mistake!
+Oh, isso é muito trabalho ... Eu não posso acreditar que eles deixem isso acontecer! Você pensaria que eles seriam cuidadosos ao brincar com forças tão poderosas. Hah! Grande erro!
+
+Oh, too bad.
+Muito ruim.
+
+Oh, would you? That'd be great! You see, the slimes ate most of the books and it is difficult to retrieve the bookpages. If you feel capable of this task, you could go out to hunt the Blue and White Slimes, to get the @@ back from them.
+Oh você faria? Seria ótimo! Você vê, os slimes comeu a maioria dos livros e é difícil recuperar as páginas de livros. Se você se sentir capaz dessa tarefa, pode sair para caçar os Slimes Azuis e Brancos, para obter o @@ de volta deles.
+
+Oh, yea, you are right, it was a mistake. Bye-bye.
+Oh, sim, você está certo, foi um erro. Tchau tchau.
+
+Oh, yes. There was such a guy, shortly before the accident I think. He sneaked into the workshop several times, sticking his nose into stuff that shouldn't be his business. We had to send him back to the library area at least three times.
+Ai sim. Houve um cara assim, pouco antes do acidente eu acho. Ele entrou furtivamente na oficina várias vezes, enfiando o nariz em coisas que não deveriam ser da sua conta. Nós tivemos que mandá-lo de volta para a área da biblioteca pelo menos três vezes.
+
+Oh, you must be from Hurnscald Household, then. Hand me the letter, I'll have it delivered.
+Ah, você deve ser da Hurnscald Household, então. Entregue-me a carta, eu a entregarei.
+
+Oh. And don't mention anyone what I'm researching here. No need to fuss over minor things, don't you agree? It's totally not shaddy. Not shaddy at all!
+Oh. E não mencionar a ninguém o que eu estou pesquisando aqui. Não há necessidade de mexer com coisas pequenas, você não concorda? É totalmente não está shaddy. Não shaddy em tudo!
+
+Oh... Of course! I'll even do this for free!
+Ah, claro! Eu vou fazer isso de graça!
+
+Oh... What a bummer. But you've brought the item back, so we're OK.
+Oh ... Que chatice. Mas você trouxe o item de volta, por isso estamos OK.
+
+Oh... Wow! I'm surprised.
+Oh ... Uau! Estou surpreso.
+
+Oh? Just go east of here. Keep going ##Bright##b, go down the stairs, and you'll be at his office already.
+
+
+Ohh Moubi Moubi you are too pink, that my eyes get shrink
+
+
+Ohh! A fingernail aside.
+Ohh! Uma unha de lado.
+
+Ohh, I think I know who you mean. That was a strange guy. He always came over here in the workshop, said he's very interested in the research. I suppose that's ok, but he didn't keep his hands to himself, and touched some experiments and I caught him near some storage racks.
+Acho que sei quem você é. Esse foi um cara estranho. Ele sempre veio aqui na oficina, disse que está muito interessado na pesquisa. Eu suponho que tudo bem, mas ele não manteve as mãos para si mesmo, e tocou alguns experimentos e eu o peguei perto de algumas prateleiras de armazenamento.
+
+Ohhh moubiii
+
+
+Ohhhhh..... Please, help me!!! My wife is gravely wounded!!
+Ohhhhh ..... Por favor, me ajude !!! Minha esposa está gravemente ferida !!
+
+Ok
+
+
+Ok I add your name... @@...
+Ok, eu adiciono seu nome ... @@ ...
+
+Ok grandma CYA!
+Ok vovó CYA!
+
+Ok then... Uh... Please excuse me.....
+Ok então ... Uh ... Por favor, desculpe-me .....
+
+Ok, I'll be back in no time.
+Ok, voltarei em breve.
+
+Ok, come back me when you want to know the @@ real power!
+Ok, volte comigo quando quiser conhecer o @@ poder real!
+
+Ok, done!
+Feito!
+
+Ok, done.
+Feito.
+
+Ok, good trip then.
+Ok, boa viagem então.
+
+Ok, let me see...
+OK deixe-me ver...
+
+Ok, let's see how many you have and how many I need:
+Ok, vamos ver quantos você tem e quantos eu preciso:
+
+Ok, let's stay focused now!
+
+
+Ok, now I want you to purge the cave from maggots. Kill 25 @@. They keep respawning and annoy miners team.
+Ok, agora eu quero que você limpe a caverna de vermes. Mate 25 @@. Eles mantêm respawning e incomodam equipe de mineiros.
+
+Ok, see you later.
+OK vejo você mais tarde.
+
+Ok, see you.
+Ok, vejo você.
+
+Ok, thanks.
+Ok, obrigada.
+
+Ok, this will be my last request. The Trainer asked me for a fine weapon, to protect our village.
+Ok, este será meu último pedido. O treinador me pediu uma arma boa, para proteger nossa aldeia.
+
+Ok, what I need is:
+Ok, o que eu preciso é:
+
+Ok, you can see that target over there? I will tell you how strong the wind blows and from which direction. Then you will try to hit the target by moving right or left and decide how powerful you want to shoot.
+Ok, você pode ver o alvo por lá? Eu vou te dizer o quão forte o vento sopra e de que direção. Então você tentará acertar o alvo movendo-se para a direita ou para a esquerda e decidir o quão poderoso você quer atirar.
+
+Ok, you look strong enough. Now, let me think on an easy task for you...
+Ok, você parece forte o suficiente. Agora, deixe-me pensar em uma tarefa fácil para você ...
+
+Ok. Cool life!
+Está bem. Vida legal!
+
+Ok. You have made great progress. I think you are ready for further tasks.
+Está bem. Você fez um grande progresso. Eu acho que você está pronto para outras tarefas.
+
+Ok...please come back when you aren't busy...
+Ok ... por favor, volte quando você não estiver ocupado ...
+
+Okay then.
+Está bem então.
+
+Okay!
+OK!
+
+Okay, I'll be back!
+Ok, eu vou estar de volta!
+
+Okay, bye
+Tudo bem tchau
+
+Okay, bye.
+Tudo bem tchau.
+
+Okay, here is some experience, and forgot what I've said before. We can try again.
+Ok, aqui é um pouco de experiência, e esqueceu o que eu disse antes. Podemos tentar novamente.
+
+Okay, laters
+Ok, laters
+
+Okay, that is very useful. However, I do need a few reagents to make it.
+Ok, isso é muito útil. No entanto, eu preciso de alguns reagentes para fazer isso.
+
+Okay, to join an arena, you need the unique password. Leave blank if you don't know.
+Ok, para participar de uma arena, você precisa da senha exclusiva. Deixe em branco se você não sabe.
+
+Okay, which arena will you rent? Cost is @@ GP.
+Ok, qual arena você vai alugar? O custo é de @@ GP.
+
+Okay, you can start!
+Ok, você pode começar!
+
+Old Paper Patch
+Pedaço de papel velho
+
+Old Snake
+Cobra Velha
+
+Old Towel
+Toalha Velha
+
+Old Well#003-1
+Velho Poço#003-1
+
+Old line:
+Linha antiga:
+
+On a computer, you can press @@ to attack it. On mobile, that would be the big button with the number 1.
+Em um computador, você pode pressionar @@ para atacá-lo. No celular, esse seria o grande botão com o número 1.
+
+On a side note, more defense is always good, but the damage won't decrease on the same rate that defense raises.
+Em uma nota lateral, mais defesa é sempre boa, mas o dano não diminui na mesma proporção que a defesa aumenta.
+
+On hindsight, I'll wait you get a few levels. Can't have cheaters, ya know!
+Em retrospectiva, vou esperar que você obtenha alguns níveis. Não pode ter trapaceiros, você sabe!
+
+On mobile, the DPAD is at your left. Do you see the chest to my right?
+No celular, o DPAD está à sua esquerda. Você vê o baú à minha direita?
+
+On mobile, you would click on the @@ icon!
+No celular, você clicaria no ícone @@!
+
+On my way to get what you need.
+No meu caminho para conseguir o que você precisa.
+
+On second thought, he really could use a bath.
+Pensando bem, ele realmente poderia usar um banho.
+
+On the friday, the 14th, an additional hunting field will be open. Talk to Soul Stone to go there :>
+Na sexta-feira, dia 14, um campo de caça adicional será aberto. Fale com o Soul Stone lá:>
+
+On the ruins you may find free loot... And on the new town, you may find the sturdiest stuff of all.
+Nas ruínas você pode encontrar saques grátis ... E na cidade nova, você pode encontrar o material mais resistente de todos.
+
+On your marks!
+
+
+On your marks...
+
+
+Once broken, they'll lose the link to the magical seal.
+Uma vez quebrado, eles vão perder o vínculo com o selo mágico.
+
+Once he resumes working confidently, we can go over this important subject.
+Uma vez que ele recomeça a trabalhar com confiança, podemos passar por cima deste importante assunto.
+
+Once inside the BOSS Cave, you get a five minutes time limit to slay the boss with your party.
+Uma vez dentro da Caverna BOSS, você tem um tempo limite de cinco minutos para matar o chefe com sua festa.
+
+Once it begins (you can fight against an AI), kill the most of enemy sparks you can, while preventing your own sparks of being killed. Wins whoever has more sparks after %s minutes.
+
+
+Once that is done, the Alliance's staff will set several stands with the most important services you might need, like banking, inside the town central area.
+
+
+Once the fight begins, the barrier at your left will lock. It won't open until the fight is over.
+Quando a luta começar, a barreira à sua esquerda será bloqueada. Não vai abrir até a luta acabar.
+
+Once the five are once again assembled,
+
+
+Once the quest is started, entrance will be closed.
+Uma vez que a busca é iniciado, a entrada será fechada.
+
+Once the roots are of a desired thickness, he ties them to make a string, and applies an oil on it.
+Uma vez que as raízes tenham a espessura desejada, ele as amarra para fazer uma corda e aplica um óleo nela.
+
+Once their fight was over,
+
+
+Once they get too annoying, I need to kill them... But I think I could put them to rest with the Rest Homunculus skill.
+Uma vez que eles fiquem muito irritantes, eu preciso matá-los ... Mas eu acho que eu poderia colocá-los para descansar com a habilidade de Homúnculo de Descanso.
+
+Once upon a time, five mighty heroes emerged;
+
+
+Once used, they will disappear from your inventory.
+Uma vez usados, eles desaparecerão do seu inventário.
+
+Once you allocate status points, you can fight it! Good luck, @@!
+Depois de alocar os pontos de status, você pode lutar contra isso! Boa sorte, @@!
+
+Once you decide to rescue Cindy, nobody else will be able to enter or leave this room.
+Depois de decidir resgatar Cindy, ninguém mais poderá entrar ou sair desta sala.
+
+Once you done so, come back and report the new passcode... Then I'll disclose to you the real mission.
+
+
+Once you have the appropriate colorant for the item, ##bdrag the colorant##b to the material.
+
+
+Once you join the Alliance, you won't be able to talk with people outside it.
+Depois de ingressar na Aliança, você não poderá conversar com pessoas de fora dela.
+
+Once you lit one of them, monsters will pour out, so take care to don't die.
+Uma vez que você acendeu um deles, os monstros vão derramar, então tome cuidado para não morrer.
+
+Once you reach level %d, I'll offer you a life-time opportunity to delete all your levels and experience for your %s rebirth!
+Uma vez que você atingir o nível% d, eu vou oferecer-lhe uma oportunidade de tempo de vida para apagar todos os seus níveis e experiência para o renascimento sua% s!
+
+Once your skill is forgotten, the Magic Skill Points used will be freed.
+Uma vez que sua habilidade é esquecido, os Pontos de habilidade mágica utilizados serão libertados.
+
+One Hand Weapon Recipes
+Receitas De Arma De Uma Mão
+
+One claims to be a constable and teach people to sell high and buy low.
+Um afirma ser um policial e ensinar as pessoas a vender alto e comprar baixo.
+
+One day Dimond D. Stone dreamed of her own restaurant.
+Um dia, Dimond D. Stone sonhou com seu próprio restaurante.
+
+One day I saw myself a rich man ♪
+
+
+One day more or less won't make a difference.
+Um dia mais ou menos não fará diferença.
+
+One day, I was provoked. Others came to my aid,
+Um dia eu fui provocado. Outros vieram em meu auxílio
+
+One day... One day! ONE DAY I'LL GET REVENGE ON YOU, MONSTER KING!
+Um dia ... Um dia! UM DIA, EU RECEBEREI VINGANÇA EM VOCÊ, MONSTRO, REI!
+
+One hand sword (average)
+Uma espada mão (média)
+
+One last question, but this shouldn't be a problem for you.
+Uma última pergunta, mas isso não deve ser um problema para você.
+
+One last thing to keep in mind... If you are surrounded, you'll suffer an agility and defense penalty.
+Uma última coisa a ter em mente ... Se você estiver cercado, sofrerá uma penalidade de agilidade e defesa.
+
+One last thing... Good luck. This is a long shot, so don't hesit in running away.
+Uma última coisa ... Boa sorte. Este é um tiro longo, então não hesite em fugir.
+
+One of the bandits locked this door; We need to find the key!
+
+
+One of the most important jobs on Moubootaur Legends, crafted equipment is much stronger than regular ones. Specially weapons.
+Um dos mais importantes trabalhos sobre Moubootaur Legends, equipamento concebido para o efeito é muito mais forte do que os regulares. armas especialmente.
+
+One of the most powerful chants known is:
+
+
+One of them is really crazy, though: They say that there is a legendary monster down there.
+Um deles é realmente louco: eles dizem que há um monstro lendário lá embaixo.
+
+One of them was a bit odd, they were wearing a mask and had a strange way of talking. They said they came from Frostia, which is an elven town in the north. Elves are usually shy, so I thought it would have been rude to ask them to remove the mask.
+Um deles era um pouco estranho, eles usavam uma máscara e tinham um jeito estranho de falar. Eles disseram que vieram de Frostia, que é uma cidade élfica no norte. Elfos são geralmente tímidos, então eu pensei que teria sido rude pedir-lhes para remover a máscara.
+
+Only %s has the key.
+
+
+Only @@ GP.
+Apenas @@ GP.
+
+Only Academy Grand Masters may cassate someone.
+
+
+Only Cronqvist Mode yields more points per wave!
+
+
+Only Sponsors are allowed past this area.
+Apenas Patrocinadores são permitidos após essa área.
+
+Only Tulimshar Guards are allowed in this building.
+Somente guardas de Tulimshar são permitidas neste edifício.
+
+Only elves may run to Town Admin Office in Frostia!
+Apenas elfos pode correr para a Cidade de administração de escritório em Frostia!
+
+Only finest wares!
+Apenas os melhores produtos!
+
+Only getting closer to find out what kind this one is.
+Apenas se aproximando para descobrir que tipo é esse.
+
+Only green from @@ will be taken in account.
+Apenas verde de @@ será levado em conta.
+
+Only items with max %s%% drop rate are accepted!
+
+
+Only magic weapons are allowed, but legendary ones - %s and %s - won't be tolerated.
+
+
+Only melee weapons are permitted for use with this skill.
+Apenas armas corpo-a-corpo são permitidas para uso com essa habilidade.
+
+Only one vouch can be acquired, and you cannot be vouched to Grand Master position. You need to have touched the Mana Stone to participate.
+
+
+Only the Guild Master and the Vice Leaders are capable of starting this quest.
+Apenas o Guild Master e os líderes vice são capazes de iniciar esta missão.
+
+Only the finest bows and arrows, in the land where wood is abundant!
+Apenas os melhores arcos e flechas, na terra onde a madeira é abundante!
+
+Only the party from the MVP will get the reward.
+Apenas a parte do MVP receberá a recompensa.
+
+Only then we may have peace!!
+Só então poderemos ter paz !!
+
+Only those whom overcome all Candor Challenges shall wield ultimate power.
+Apenas aqueles que superar todos Candor Desafios deve exercer o poder supremo.
+
+Ooh, many thanks! Lemme just grab something for you...
+
+
+Ooh, this definitely is a Tulimshar item! But I would prefer a box full of these, please.
+
+
+Ooh, this nice shiny thing? It was an event.
+Ooh, essa coisa linda e brilhante? Foi um evento.
+
+Oolong Tea
+chá Oolong
+
+Oooh, I see you have a @@ with you.
+Oooh, vejo que você tem um @@ com você.
+
+Oooh, I see, I see! So you're working with ##Bthem##b... This is most appreciated.
+
+
+Oooh, many thanks! ^.^
+Oooh, muito obrigado! ^
+
+Oops! Seems like Saulc doesn't wants you messing on his chemistry set!
+Opa! Parece que Saulc não quer que você mexa no seu conjunto de química!
+
+Oops! Seems like Saulc doesn't wants you messing on his raging furnaces!
+Opa! Parece que Saulc não quer que você mexa em seus fornos furiosos!
+
+Oops! You destroyed your %s.
+
+
+Oops, there is nobody known as @@ on this game.
+Oops, não há ninguém conhecido como @@ neste jogo.
+
+Open Beta 2019
+Open Beta 2019
+
+Open Fishing Book
+Livro de Pesca Aberto
+
+Open Petcaring Book
+Livro Aberto de Petcaring
+
+Open Recipe Book
+Abrir livro de receitas
+
+Open shop
+Loja aberta
+
+Open storage
+Armazenamento aberto
+
+Open the chest?
+Abra o baú?
+
+Open your inventory window (F3 key) next to the trading window. Select an item you want to offer, and then press the Add button. To add money to the negotiation, enter the amount you will offer and press the Change button.
+Abra sua janela de inventário (tecla F3) ao lado da janela de negociação. Selecione um item que você deseja oferecer e pressione o botão Adicionar. Para adicionar dinheiro à negociação, insira o valor que você oferecerá e pressione o botão Alterar.
+
+Opened Christmas Box
+Caixa de Natal aberta
+
+Opera Mask
+Máscara de Ópera
+
+Operation Cost: @@ GP
+Custo de Operação: @@ GP
+
+Operation successful.
+Operação bem sucedida.
+
+Ops, I should not leave this room without talking to the king first.
+Ops, eu não deveria sair desta sala sem falar com o rei primeiro.
+
+Ops, sorry. I was going to the Soul Menhir and entered your house by accident.
+Ops, desculpe. Eu estava indo para o Soul Menhir e entrei em sua casa por acidente.
+
+Ops... I hammered this stuff too hard... It's junk now.
+Ops ... Eu martelou isso demais ... É lixo agora.
+
+Optional Miniboss
+opcional miniboss
+
+Options are %s. Any craftsman can make them. Adventurers tend to be the best craftsman in the world.
+As opções são% s. Qualquer artesão pode torná-los. Aventureiros tendem a ser o melhor artesão do mundo.
+
+Or I can swap the @@ with a @@ - for free.
+Ou eu posso trocar o @@ com um @@ - de graça.
+
+Or I can swap the @@ with a @@ - for only 2100 GP.
+Ou eu posso trocar o @ @ com um @@ - por apenas 2100 GP.
+
+Or I could recover the @@ for 10 @@ and the modest fee of 4400 GP.
+Ou eu poderia recuperar o @ @ por 10 @ e a modesta taxa de 4400 GP.
+
+Or make yourself useful by killing some Ducks. They snatch all the Cherry Cake from the Inn and the staff is getting angry at me. It'll serve, too.
+
+
+Or maybe... You want to try again right now? I'll do whatever needed to level you up to less-noobish levels.
+Ou talvez ... Você quer tentar de novo agora? Eu farei o que for necessário para você subir de nível para níveis menos noobish.
+
+Or rather, I can't. I would love to help you, just like everybody else, but I don't know how to make fertilizers.
+Ou melhor, não posso. Eu adoraria ajudar você, assim como todo mundo, mas não sei como fazer fertilizantes.
+
+Or should we even split ourselves to check all possible ways?
+Ou devemos até mesmo dividir-nos a verificar todas as formas possíveis?
+
+Or use our awesome [@@https://tmw2.org/manalauncher/InstallManaLauncher.exe|Mana Launcher@@] if you're on Windows or Linux.
+Ou use nosso incrível [@@ https: //tmw2.org/manalauncher/InstallManaLauncher.exe | Mana Lançador @@] se você estiver em Windows ou Linux.
+
+Or you can give me an @@, 3 @@ and an @@, and I'll make a gift for you. If you don't have the @@, you can pay 200 GP for it instead.
+Ou você pode me dar um @@, 3 @@ e um @@, e eu vou fazer um presente para você. Se você não tiver o @@, você pode pagar 200 GP por ele.
+
+Orange
+Laranja
+
+Orange Cupcake
+Cupcake Laranja
+
+Orange Dye
+Corante Laranja
+
+Orange Dye? How much does it cost?
+
+
+Orange Eggshell Hat
+Chapéu Casca De Ovo Laranja
+
+Oranye Isles, 257 AT
+
+
+Orbyter Shrine
+Orbyter Santuário
+
+Orc
+Orc
+
+Orc Voice
+Voz de Orc
+
+Ore Mines
+Ore Mines
+
+Oscar
+Oscar
+
+Oskari
+Oskari
+
+Oskari have a good opinion of you. Can you tell what exactly happened?
+Oskari tem uma boa opinião sobre você. Você pode dizer o que exatamente aconteceu?
+
+Other
+Outro
+
+Other food can be used as a bait, too.
+Outros alimentos também podem ser usados ​​como isca.
+
+Other than that, you can explore the city as you want, but as you had a memory loss, You should visit the townhall.
+Além disso, você pode explorar a cidade como quiser, mas como você teve uma perda de memória, você deve visitar a prefeitura.
+
+Other things are written but are not legible anymore.
+Outras coisas são escritas, mas não são mais legíveis.
+
+Other.
+De outros.
+
+Others scrying you:
+
+
+Others scrying your char data
+
+
+Otherwise, ##BYOU'LL DIE.##b Have a nice day!
+
+
+Otherwise, his enemies might have bested him, but I doubt any Yeti would dare to kill him.
+Caso contrário, seus inimigos poderiam tê-lo derrotado, mas duvido que qualquer Yeti ousasse matá-lo.
+
+Otherwise, the monsters here usually won't attack you unless provoked.
+Caso contrário, os monstros aqui normalmente não atacarão a menos que sejam provocados.
+
+Otherwise, you can also obtain a title during the Magic Olympics. They happen every three months in average, and are the hardest way to obtain a title.
+
+
+Otherwise, you could ask the Constable. They act in the Alliance stead to enforce law and order, and may have... special arrangements for you.
+Caso contrário, você poderia perguntar ao policial. Eles agem no lugar da Aliança para impor a lei e a ordem, e podem ter ... acordos especiais para você.
+
+Ouch! That was kinda reckless!
+Ai! Isso foi meio imprudente!
+
+Ouch! That's heavy!
+Ai! Isso é pesado!
+
+Ouch, the bucket BITE me!
+Ai, o balde MORDE-ME!
+
+Oui, welcome to this fine shop! My name is Agostine, the legendary tailor!
+Oui, seja bem-vindo a esta bela loja! Meu nome é Agostine, o lendário alfaiate!
+
+Our antecessors used to live peacefully in a sanctuary somewhere close to here, but the path was lost. That's why we now live with dwarves.
+
+
+Our clan has moved away from Tulimshar before the Civil War, almost was wiped off during the Great Fire, and when we thought we could finally life in peace, the Mana War and the Monster War broke out in rapid succession.
+
+
+Our dear mayoress may also need help dealing with that maggot infestation.
+
+
+Our plushy friend knows what is really sweet on this life. It likes honey a great deal, and by the way it looks you, it probably wants more.
+
+
+Our service is dangerous and difficult. But I would not want any other. Thanks for the help.
+Nosso serviço é perigoso e difícil. Mas eu não gostaria de nenhum outro. Obrigado pela ajuda.
+
+Out of Mind
+
+
+Out of Mind mode is only available for Top 3.
+
+
+Out of Stock.
+Fora de estoque.
+
+Out of my experience, you are ready to learn magic.
+Fora da minha experiência, você está pronto para aprender magia.
+
+Out of my experience, your base intelligence may not be enough.
+Pela minha experiência, sua inteligência básica pode não ser suficiente.
+
+Out of my experience, your job may not be enough.
+Fora da minha experiência, seu trabalho pode não ser suficiente.
+
+Out of my experience, your level may not be enough.
+Fora da minha experiência, seu nível pode não ser suficiente.
+
+Outside towns, there's an EXP penalty if you die.
+Fora das localidades, há uma penalidade de EXP se você morrer.
+
+Outstanding. Congratulations.
+Excepcional. Parabéns.
+
+Ozthokk, a great sage from the Land Of Fire, holds secrets of time and space travel.
+Ozthokk, um grande sábio da Terra do Fogo, guarda segredos do tempo e das viagens espaciais.
+
+PARTY AND GUILD friends: Temporaly regen MP faster.
+PARTES e guild amigos: temporalmente regen MP mais rápido.
+
+PARTY AND GUILD friends: Weapon always deal max damage.
+PARTE E amigos guilda: Arma sempre causar dano máximo.
+
+PLEASE STORE ALL MY ITEMS
+
+
+PORTABLE LIGHTSABER
+LIGHTSABER PORTÃTIL
+
+POWER!
+
+
+POWERFUL GUNSTAFF
+PODEROSO GUNSTAFF
+
+POWERFUL LIGHTSABER
+LIGHTSABER PODEROSO
+
+PROTIP: Every quest you complete in a location, will make ship travels to and from them cheaper!
+PROTIP: Cada quest você completa em um local, fará navio viaja para ea partir deles mais barato!
+
+PS. Additional reagents may be required for warps.
+PS. Reagentes adicionais podem ser necessários para urdiduras.
+
+PS. Doesn't always work. You need an account at %s and to be at ManaPlus Team.
+PS. Nem sempre funciona. Você precisa de uma conta em% s para estarmos presentes ManaPlus Team.
+
+PS. Due a bug, they won't be displayed when you equip unless you relog.
+PS. Devido a um bug, eles não serão exibidos quando você equipar a menos que você relogar.
+
+PS. No equipment restriction
+
+
+PS. The group names still aren't set. You're free to pinch in suggestions at LoF Discord (Legacy #discussion) :>
+
+
+PS. This char will be reset on logout.
+
+
+Pablin
+
+
+Pachua
+Pachua
+
+Painless, wasn't it?
+Indolor, não foi?
+
+Painting#Saggy
+Pintura#Saggy
+
+Paintings
+Pinturas
+
+Pal, I'm counting on you. You'll like the little something I have for you!
+
+
+Pan#Saggy
+Panela#Saggy
+
+Panthom Lord
+Lorde Fantasmagórico
+
+Panthom Wisp
+Wisp Fantasmagórico
+
+Pants
+calça
+
+Pants Recipes
+calças Recipes
+
+Paper
+Papel
+
+Paper Bag
+Saco de papel
+
+Paper! Paper! Get your copy of The Land of Fire Gazette here!
+Papel! Papel! Obtenha sua cópia do The Land of Fire Gazette aqui!
+
+Parcival
+Parcival
+
+Pardon me, I don't remember my parents.
+Perdoe-me, não me lembro dos meus pais.
+
+Pardon me, what is a recipe book?
+Perdoe-me, o que é um livro de receitas?
+
+Participants: Jesusalva * mishana * bObr * demure * LawnCable
+Participantes: Jesusalva * mishana * bObr * recatado * Gramado
+
+Participants: Povo * Manatauro * Woody
+
+
+Partner not ready.
+Parceiro não está pronto.
+
+Party
+
+
+Party Master
+Party Master
+
+Party Name: @@
+Nome da festa: @@
+
+Party Quest
+Missão de festa
+
+Passive MP Regen
+
+
+Password changed with success!
+Senha alterada com sucesso!
+
+Past due date.
+Data de vencimento vencida.
+
+Past this checkpoint, is the village where the Monster King was born.
+Passado este posto de controle, é a vila onde o Rei dos Monstros nasceu.
+
+Past this grates, is the Magic Council Room.
+Passado este grates, é a Sala do Conselho Mágico.
+
+Past this point is the Fortress Island. %s Even so, be careful, the town should not exist.
+
+
+Paxel
+Paxel
+
+Pay
+
+
+Pay attention to #world chat, as this event is managed by players. The Monster Army is also trying to regroup, neglecting it is not advised.
+
+
+Pay attention to the fight, @@!
+Preste atenção na luta, @@!
+
+Pay attention to the sequence!
+
+
+Pay for her handi-work?
+Pague pelo handi-work dela?
+
+Pay the tuition fee?
+
+
+Pear
+Pera
+
+Pearl
+Pérola
+
+Peetu
+Peetu
+
+Peetu asked me to talk to you about his mishap.
+Peetu me pediu para falar sobre o acidente dele.
+
+Peetu thinks someone put Silk Cocoon along the ingredients.
+Peetu acha que alguém colocou Silk Cocoon ao longo dos ingredientes.
+
+Peetu? He is very cautious. It is not like him to make mistakes. After all, he is a elf. Elves are really careful with their jobs.
+Peetu? Ele é muito cauteloso. Não é como ele cometer erros. Afinal, ele é um elfo. Elfos são muito cuidadosos com seus trabalhos.
+
+Peetu? He's one of those magic wielders who think they can do anything. Heh, you see the result here.
+Peetu? Ele é um daqueles manejadores de magia que pensam que podem fazer qualquer coisa. Heh, você vê o resultado aqui.
+
+Peetu? I have always been glad to have him on the team. He's really brought forward our work here.
+Peetu? Eu sempre fiquei feliz em tê-lo na equipe. Ele realmente trouxe o nosso trabalho aqui.
+
+Peetu? I think he's a good guy. Very focused on his work, I think. I don't have that much to do with him, so I can't really tell.
+Peetu? Eu acho que ele é um cara legal. Muito focado em seu trabalho, eu acho. Eu não tenho muito a ver com ele, então não posso dizer.
+
+Peetu? That's one of the high rank helpers. As far as I know, he's capable of magic and takes part in some important researches. But I don't really know about those things.
+Peetu? Esse é um dos ajudantes de alto escalão. Tanto quanto sei, ele é capaz de magia e participa de algumas pesquisas importantes. Mas eu realmente não sei sobre essas coisas.
+
+Pentagram#FoS_1
+
+
+People are challenging now.
+As pessoas estão desafiando agora.
+
+People failed to rescue Cindy!
+
+
+People from here always look dumbfolded when they walk past them and find themselves somewhere else.
+As pessoas daqui sempre olham de olhos esbugalhados quando passam por elas e se encontram em outro lugar.
+
+People from the press always know what is happening in the world. Talk to them to learn about the latest news! - Jerican from the Press
+
+
+People say it is the second biggest city from the world.
+As pessoas dizem que é a segunda maior cidade do mundo.
+
+People usually dock there when travelling to the second continent. Nothing exceptional about economy.
+As pessoas costumam atracar lá quando viajam para o segundo continente. Nada excepcional sobre economia.
+
+People vary greatly in the amount of strength, agility, dexterity, intelligence, vitality and luck.
+As pessoas variam muito em termos de força, agilidade, destreza, inteligência, vitalidade e sorte.
+
+Perfect indeed! Congratulations!
+Perfeito mesmo! Parabéns!
+
+Perfect! Here is your reward!
+Perfeito! Aqui está sua recompensa!
+
+Perfect! So now that you swore secrecy, you can help me! Thing is... there was... a %s!
+
+
+Perfect! you have enough Terranite Ore, I will take them for now but I need other items in order to bring them to life.
+Perfeito! você tem o suficiente Terranite Ore, eu vou levá-los por agora, mas eu preciso de outros itens, a fim de trazê-los para a vida.
+
+Perfect, I knew you were right person for the job.
+
+
+Perhaps that was the last of them?
+Talvez esse tenha sido o último deles?
+
+Perhaps this has something to do with the factions.
+Talvez isso tenha algo a ver com as facções.
+
+Perhaps we should wait a few days.
+Talvez nós devemos esperar alguns dias.
+
+Perhaps you could tell her how much I love her? It is already some days since I last talked to her.
+Talvez você possa dizer o quanto eu a amo? Já faz alguns dias desde a última vez que falei com ela.
+
+Perhaps you have something like that?
+Talvez você tenha algo assim?
+
+Perhaps you may be of assistance later...
+Talvez você pode ser útil mais tarde ...
+
+Perhaps you should use a key to open it.
+Talvez você deva usar uma chave para abri-lo.
+
+Perhaps, in the city, someone knows rumors about Mana Stones and can teach you. Other than that, you're on your own.
+Talvez, na cidade, alguém conheça rumores sobre Mana Stones e possa lhe ensinar. Fora isso, você está sozinho.
+
+Perhaps, you could convince Jack to give me the wood, and seek for a fisherman on Halinarzo to give you the string? I won't charge anything.
+Talvez você pudesse convencer Jack a me dar a madeira e procurar um pescador em Halinarzo para lhe dar a corda? Eu não cobrarei nada.
+
+Personal Feats
+
+
+Personal Records
+
+
+Personally, I like unranked events more than ranked ones...
+Pessoalmente, gosto de eventos sem classificação mais do que os classificados ...
+
+Pet Detective
+Pet Detective
+
+Pet Summary
+
+
+Pet his wonderfully fluffy pelt.
+
+
+Petal
+Pétala
+
+Peter
+Pedro
+
+Peter was also looking for strong people to help him to kill other monsters.
+Peter foi também à procura de pessoas fortes para ajudá-lo a matar outros monstros.
+
+Pets
+Animais de estimação
+
+Pets must keep a strict diet. Pious eats Piberries, Bhoppers eat Aquadas, and Maggots eats Bug Legs.
+Animais de estimação devem manter uma dieta rigorosa. Piedosos comem Piberries, Bhoppers comem Aquadas, e Maggots comem Pernas de Inseto.
+
+Petu? Yeah, he's the kind of person who always wants to do things perfectly. That makes it a bit difficult to work with him, since his expectations for others are as high as for himself.
+Petu? Sim, ele é o tipo de pessoa que sempre quer fazer as coisas com perfeição. Isso torna um pouco difícil trabalhar com ele, já que suas expectativas para os outros são tão altas quanto para ele mesmo.
+
+Ph.D
+Ph.D
+
+Phew! The Bandit Lord was killed.
+Ufa! O Bandit Lord foi morto.
+
+Phew... We should be safe now. Thanks, %s!
+
+
+Phil
+Phil
+
+Phoenix Rebirth
+Phoenix Rebirth
+
+Photoshopped. Definitely. Good luck convincing somebody with that! %%a
+Photoshop. Definitivamente. Boa sorte tentando convencer alguém com isso! %%a
+
+Physical Science
+Ciência física
+
+Physical Science Institute is on the %s area of the campus.
+Physical Science Institute está na área do campus% s.
+
+Piano#RES_0128
+Piano#RES_0128
+
+Piano#RES_PPL
+Piano#RES_PPL
+
+Piberries
+Piberries
+
+Piberries Infusion
+Infusão de Piberries
+
+Pick an item from either storage or inventory and choose what you want to do with it by clicking the right button.
+Escolha um item no armazenamento ou no inventário e escolha o que você deseja fazer clicando no botão direito.
+
+Pickaxe
+Picareta
+
+Pihro
+Pihro
+
+Pile Of Ash
+Pilha de cinzas
+
+PinCode created, an email should arrive within 15 minutes.
+PINCODE criado, um e-mail deve chegar em 15 minutos.
+
+Pink 4144
+Rosa 4144
+
+Pink Antenna
+Antena Cor-de-rosa
+
+Pink Blobime
+Blobime Rosa
+
+Pink Dye
+Tintura Cor-de-rosa
+
+Pink Helmet
+Capacete Rosa
+
+Pinkie
+Pinkie
+
+Pinkie Crystal
+
+
+Pinkie Emperor
+Imperador Pinkie
+
+Pinkie Hat
+Chapéu Pinkie
+
+Pinkie Leg
+Perna Do Pinkie
+
+Pinkie Maximus
+
+
+Pinkie Suseran
+
+
+Pinkie, pinkie,pinkie, oh how i luvs thee;
+Pinkie, mindinho, mindinho, oh como eu luvs ti;
+
+Pinkie,pinkie,pinkie, your blood runs like wine. ♪
+
+
+Pinkies forever! Oh yeah!
+Pinkies para sempre! Oh sim!
+
+Piou
+Piou
+
+Piou Bola
+Piu Bola
+
+Piou Egg
+Ovo Piou
+
+Piou Feathers
+Penas de Pious
+
+Piou Fields
+Piou Campos
+
+Piou Knight
+
+
+Piou Legs
+Pernas de Pious
+
+PiouSpwn
+PiouSpwn
+
+Piousse
+ Piousse
+
+Pirate Bandana
+Bandana do pirata
+
+Pirate Lord
+
+
+Pirate Shorts
+Calções De Pirata
+
+Pirate Treasure Chest
+
+
+Pirate Treasure Map
+Mapa do Tesouro do Pirata
+
+Planted Trees: %s
+Ãrvores plantadas:% s
+
+Platinum Four-Leaf Amulet
+Amuleto de Quatro Folhas de Platina
+
+Platinum Ingot
+Lingote De Platina
+
+Platinum Ore
+Minério de platina
+
+Platinum Ore -> Iridium Ore
+Platinum Ore -> Iridium Ore
+
+Platinum Quiver
+Aljava Platina
+
+Platinum Red Queen
+
+
+Player must be online for the operation to finish.
+Jogador deve estar on-line para a operação ao fim.
+
+Players Killed in PvP: %s
+Jogadores mortos em PvP:% s
+
+Players failed to defend the city!!
+
+
+Playtesting
+playtesting
+
+Please accept this @@ as a gratitude for your time.
+Por favor aceite este @@ como uma gratidão pelo seu tempo.
+
+Please accept this reward from my part. And if anything else happens again, I'll leave the doors open for you and your guild.
+Por favor, aceite esta recompensa da minha parte. E se alguma coisa acontecer de novo, eu vou deixar as portas abertas para você e sua aliança.
+
+Please be a pal and help me! I'll be in a dire situation if you don't! Besides, you also want the extra credit, so it is a win-win situation!
+
+
+Please be careful when fighting. A mighty warrior such as yourself can harm their allies with any AoE effects they may use.
+Tenha cuidado durante a luta. Um poderoso guerreiro como você pode prejudicar seus aliados com quaisquer efeitos AoE podem usar.
+
+Please be patient and
+Por favor seja paciente e
+
+Please bring me *hic*... Bring me @@ @@!
+Por favor, traga-me * hic * ... Traga-me @@ @@!
+
+Please bring me a single @@ and @@ GP, and I'll give you a memeto.
+Por favor, me traga um único @@ e @@ GP, e eu lhe darei um memeto.
+
+Please bring me that or I won't be able to make something really special for you.
+Por favor, me traga isso ou eu não serei capaz de fazer algo realmente especial para você.
+
+Please bring us 5 @@! That should be enough!
+Por favor, nos traga 5 @@! Isso deveria ser o suficiente!
+
+Please choose the desired gender:
+Por favor, escolha o gênero desejado:
+
+Please come back later to know how things are going.
+Volte mais tarde para saber como as coisas estão indo.
+
+Please contact a GM as soon as possible so we can make out a compromise. You should be liberated even if found guilty.
+Entre em contato com um GM o mais rápido possível para que possamos fazer um compromisso. Você deve ser liberado mesmo se for considerado culpado.
+
+Please deliver the two @@ to Tinris and Eomie, and then I'll give you something for your help.
+Por favor, entregue os dois @@ para Tinris e Eomie, e então eu lhe darei algo pela sua ajuda.
+
+Please do, my friend.
+Por favor, meu amigo.
+
+Please doing business with you.
+
+
+Please don't bore me even more... That's clearly not everything.
+Por favor, não me aborreça mais ... Isso claramente não é tudo.
+
+Please don't disturb me, I'm busy crafting my own customized power mega blaster weapon. I just keep failing to apply +100% exp gain bonus on it!
+Por favor, não me perturbe, estou ocupado criando minha própria arma mega blaster de energia personalizada. Eu continuo deixando de aplicar + 100% de bônus de ganho de exp nele!
+
+Please don't lie to me...
+Por favor não minta para mim ...
+
+Please don't mind the mess, there are slimes everywhere, thanks to Peetu.
+Por favor, não se importe com a bagunça, há limos em todos os lugares, graças a Peetu.
+
+Please don't sound like I was some sort of vampire or something...
+Por favor, não soe como se eu fosse algum tipo de vampiro ou algo assim ...
+
+Please don't use this function in future!
+
+
+Please enter the desired color
+Por favor, digite a cor desejada
+
+Please enter the desired race
+Por favor insira a corrida desejada
+
+Please enter the desired style
+Por favor insira o estilo desejado
+
+Please enter the message:
+Por favor insira a mensagem:
+
+Please enter the new line.
+Por favor, insira a nova linha.
+
+Please excuse me, Blue Sage Nikolai.
+Por favor, desculpe-me, Blue Sage Nikolai.
+
+Please excuse me, captain.
+Por favor me de licença, capitão.
+
+Please find her and don't worry with me! And be careful!
+Por favor, encontrá-la e não se preocupe comigo! E tenha cuidado!
+
+Please find my lovely daughter!
+Por favor, encontre minha adorável filha!
+
+Please get me out of here!
+Por favor, me tire daqui!
+
+Please get moving, @@. I do not mean any harm to you.
+Por favor, mexa-se, @@. Eu não quero fazer mal a você.
+
+Please have a look, I have what you asked
+Por favor, dê uma olhada, eu tenho o que você pediu
+
+Please heal me!
+Por favor, me cure!
+
+Please help me find the bug bomb Eomie gave us is in one of the store room barrels?
+Por favor me ajude a encontrar a bomba que Eomie nos deu em um dos barris da loja?
+
+Please help my wards!
+Por favor, ajude minhas alas!
+
+Please help my wife Yumi, on the Hospital!
+Por favor, ajude minha esposa Yumi, no hospital!
+
+Please help us with the bandits on the Canyon, and meanwhile, I'll seek the records for you. Just @@ more.
+Por favor, ajude-nos com os bandidos no Canyon e, enquanto isso, procurarei os registros para você. Espere só mais @@.
+
+Please insert player name to cancel exile.
+Por favor, insira o nome do jogador para cancelar exílio.
+
+Please insert player name to exile.
+Por favor, insira o nome do jogador para o exílio.
+
+Please insert your Discord ID, on the following format:
+Por favor, insira sua ID Discórdia, no seguinte formato:
+
+Please insert your pincode.
+Por favor insira o seu código PIN.
+
+Please install the new client from [@@https://manaplus.org/|https://manaplus.org/@@]
+Por favor, instale o novo cliente em [@@ https: //manaplus.org/ | https: //manaplus.org/@@]
+
+Please invite Elmo for the party, matey! We can't leave our positions!
+Por favor, convide Elmo para a festa, amigo! Nós não podemos deixar nossas posições!
+
+Please kill @@/@@ @@ for us and make the world a safer place!
+Por favor matar @@ / @@ @@ para nós e tornar o mundo um lugar mais seguro!
+
+Please kill some of them, and bring me 10 @@!
+Por favor, mate alguns deles e me traga 10 @@!
+
+Please login right after, and this error should not happen again.
+Por favor acessar logo depois, e este erro não deve acontecer novamente.
+
+Please note unless you have Magic Powers, obtained from the Mana Seed, all you will be able to learn are small tricks, so please make a wise choice.
+Por favor, note a menos que tenha poderes mágicos, obtidos a partir da semente Mana, tudo o que você vai ser capaz de aprender são pequenos truques, por isso, fazer uma escolha sábia.
+
+Please pray a bit with us!
+Por favor, ore um pouco conosco!
+
+Please prove your statement.
+Por favor, provar sua afirmação.
+
+Please select a chapter:
+Por favor, selecione um capítulo:
+
+Please select a quest:
+Por favor, selecione uma missão:
+
+Please select a trait.
+
+
+Please select an action
+Por favor selecione uma ação
+
+Please select quest difficulty.
+Por favor seleccione dificuldade quest.
+
+Please select target dungeon:
+Por favor, selecione a masmorra de destino:
+
+Please select the Guild Position you want to change.
+Por favor, selecione a posição da associação que você deseja alterar.
+
+Please select the desired race.
+Por favor, selecione a corrida desejada.
+
+Please select the interval:
+Por favor, selecione o intervalo:
+
+Please select the item you plan in tweaking.
+
+
+Please select the level I should use.
+
+
+Please select the weapon to transfer.
+Por favor, selecione a arma para transferir.
+
+Please select where you left off on Main Quest.
+
+
+Please spare me. I'm gravely wounded. I'm innocent, I swear!
+Por favor, me poupe. Eu estou gravemente ferido. Sou inocente, eu juro!
+
+Please spend responsibly. You still need to pay Nard for a ship travel and there's only so much money you can find on a small island like Candor.
+Por favor, gaste de forma responsável. Você ainda precisa pagar Nard para uma viagem de navio e só há tanto dinheiro que você pode encontrar em uma pequena ilha como Candor.
+
+Please talk to my wife first, she knows more about the situation than I do.
+Por favor, fale com minha esposa primeiro, ela sabe mais sobre a situação do que eu.
+
+Please talk with this workshop's Chief before talking to me.
+Por favor, fale com o chefe deste workshop antes de falar comigo.
+
+Please tell Peetu I do not plan in firing him, it should calm him down. And please carry out an investigation, don't disrupt my work until you're done.
+Por favor, diga a Peetu que eu não planejo demiti-lo, isso deve acalmá-lo. E por favor, realize uma investigação, não atrapalhe meu trabalho até terminar.
+
+Please tell everyone I am a rogue person who likes to break rules!
+Por favor, diga a todos que eu sou uma pessoa desonestos que gosta de quebrar as regras!
+
+Please tell me calmly what happened so I can help.
+Por favor, conte-me calmamente o que aconteceu para que eu possa ajudar.
+
+Please tell my mom I love her!
+Por favor, diga a minha mãe que eu a amo!
+
+Please traveler, help my starving family!
+Por favor viajante, ajude minha faminta família!
+
+Please try again later!
+Por favor, tente novamente mais tarde!
+
+Please type a password for your Arena, it must be unique.
+Por favor digite uma senha para sua Arena, ela deve ser única.
+
+Please unequip your %s first.
+
+
+Please wait %s before trying again.
+
+
+Please wait 60 seconds to cast again.
+Por favor, aguarde 60 segundos para lançar novamente.
+
+Please wait a while.
+Por favor espere um pouco.
+
+Please wait here a short while.
+Por favor, espere aqui um pouco.
+
+Please wait here on the meanwhile. Try asking Estard about parties, or talk to Eistein.
+Por favor, espere aqui enquanto isso. Tente perguntar a Estard sobre festas ou fale com Einstein.
+
+Please wait, the fight will start in @@, as requested.
+Por favor aguarde, a luta começará em @@, conforme solicitado.
+
+Please write how much in percent is EXP Tax for member (range: 0~50)
+Por favor, escreva quanto em percentual é o imposto EXP para membro (intervalo: 0 ~ 50)
+
+Please, @@! Hurry up!
+Por favor, @@! Se apresse!
+
+Please, bring me back home.
+Por favor, traga-me de volta para casa.
+
+Please, come back later. I'll see whatever I can fetch for that.
+Por favor, volte mais tarde. Eu vou ver o que eu puder buscar por isso.
+
+Please, don't say I got fat. I DON'T WANNA HEAR IT FROM YOU, WAS I CLEAR?
+Por favor, não diga que eu engordei. Eu não quero ouvir isso de você, eu estava claro?
+
+Please, enjoy the show! There are some people upstairs, too.
+Por favor, aproveite o show! Há algumas pessoas no andar de cima também.
+
+Please, help my precious! Save her! Oh, my precious Cindy...
+Por favor, ajude meu precioso! Salve-a! Oh, minha preciosa Cindy ...
+
+Please, keep it. I don't need it at all!
+Por favor, guarde. Eu não preciso disso!
+
+Please, show Hasan the claw. Just talk to him.
+Por favor, mostre a Hasan a garra. Apenas fale com ele.
+
+Please, talk to her. Maybe she understands the direness of the situation and help... But you know. Elves.
+Por favor, fale com ela. Talvez ela entenda a agilidade da situação e ajude ... Mas você sabe. Elfos
+
+Please... Speak low... I am dying........
+Por favor ... fala baixo ... eu estou morrendo ........
+
+Pleased to meet you. What brings you down here?
+Prazer em conhecê-lo. O que o traz aqui?
+
+Pleasure doing business with you! Do you want any more?
+
+
+Pledge for Barbara's innocence?
+Promessa para a inocência de Barbara?
+
+Plop dead in the ground. Enemies won't attack you this way.
+Plop morto no chão. Inimigos não irá atacá-lo desta forma.
+
+Plum
+ameixa
+
+Plush Mouboo
+Mouboo de pelúcia
+
+Plushroom
+Plushroom
+
+Plushroom Box
+Caixa de Plushroom
+
+Plushroom Field
+Campo de Plushroom
+
+Poison
+Poção
+
+Poison Ammo Box
+Caixa de Munição Venenosa
+
+Poison Arrow
+Flecha Envenenada
+
+Poison Arrows
+Flechas Venenosas
+
+Poison Fairy
+Fada do Veneno
+
+Poison Spiky Mushroom
+Cogumelo Espinhoso Venenoso
+
+Poisoned Dish
+Prato Envenenado
+
+Poke him
+
+
+Polished Amethyst
+Ametista polida
+
+Polished Diamond
+Diamante polido
+
+Polished Emerald
+Esmeralda polida
+
+Polished Ruby
+Rubi polido
+
+Polished Sapphire
+Safira Polida
+
+Polished Topaz
+Topázio polido
+
+Polished gemstones can be dragged and insert on rings. They'll give special stats to rings, but these gems cannot be removed easily.
+Pedras polidas podem ser arrastadas e inseridas em anéis. Eles dão estatísticas especiais para os anéis, mas essas gemas não podem ser removidas facilmente.
+
+Pollet
+Pollet
+
+Poocandy
+Poocandia
+
+Pooh
+
+
+Pookie Card
+Cartão Pookie
+
+Poor teddy, not even a pretty music can comfort him for long. What can we do now?
+
+
+Portable Apocalypse
+
+
+Portal#_M
+Portal#_M
+
+Potatoz
+Potatoz
+
+Potentially more destructive warp systems will have much longer cooldowns because they cause bigger holes in timespace.
+Sistemas de distorção potencialmente mais destrutivos terão resfriamentos muito mais longos porque causam furos maiores no espaço-tempo.
+
+Potion based technology will vanish upon use and usually don't interfer with other technologies. Usually.
+A tecnologia baseada em poções desaparecerá com o uso e geralmente não interferirá em outras tecnologias. Usualmente.
+
+Potions#MKHB
+Poções#MKHB
+
+Pour the potion
+Despeje a poção
+
+Power Card
+Cartão de Potência
+
+Power Card S
+
+
+Power Card X
+
+
+Power in the wrong hands is nothing but a burden and a reason for others to cry. That's exactly what I don't want in this town.
+O poder nas mãos erradas nada mais é que um fardo e uma razão para os outros chorarem. Isso é exatamente o que eu não quero nesta cidade.
+
+Power is a double-edged sword. I, Fefe, tried to use it for good, to free the world from Raid's tyranny, and instead, it brought forth the Monster King.
+
+
+Power remaining: %s
+
+
+Powerful Gunstaff
+Gunstaff Poderoso
+
+Powerful Lightsaber
+poderoso Lightsaber
+
+Powerful magic repels you away from this magic place!
+Magia poderosa repele você deste lugar mágico!
+
+Powerful magic repels you!
+magia poderosa repele você!
+
+Practice! There are no secrets to becoming a warrior.
+Prática! Não há segredos para se tornar um guerreiro.
+
+Pre-requisites not met!
+Pré-requisitos não forem cumpridas!
+
+Precision Potion
+Poção de Precisão
+
+Present Box
+Caixa presente
+
+Press the 'R' key to ignore or accept business proposals. You and the other citizen who want to negotiate need to be in the configuration that accepts negotiations. if your configuration is 'Ignoring business proposals', then you will not receive the warning from any citizen wanting to negotiate with you, and you will not be able to initiate negotiations.
+Pressione a tecla "R" para ignorar ou aceitar propostas comerciais. Você e o outro cidadão que deseja negociar precisam estar na configuração que aceita as negociações. Se sua configuração for 'Ignorando propostas comerciais', você não receberá o aviso de nenhum cidadão que queira negociar com você e não poderá iniciar negociações.
+
+Press the doorbell?
+Pressione a campainha?
+
+Pretty cool! I am interested!
+Muito legal! Estou interessado!
+
+Prism Chest
+Baú Prisma
+
+Prism Gift
+Prism Gift
+
+Prizes
+Prêmios
+
+Prizes:
+Prêmios:
+
+Probably.
+Provavelmente.
+
+Problem is, I do not have the knowledge to make it without @@. If you bring me one, I'll reward you with one quarter of my commission.
+O problema é que eu não tenho conhecimento para fazê-lo sem @@. Se você me trouxer uma, eu te recompensarei com um quarto da minha comissão.
+
+Produced item:
+Item produzido:
+
+Professor
+Professor
+
+Professor#003-0
+
+
+Progress on this server may be %s.
+Progredir neste servidor pode ser% s.
+
+Prologue
+Prólogo
+
+Protip
+Protip
+
+Protip 2: Drop rates are low. Try other quests while you slay mobs for this one.
+Protip 2: as taxas de queda são baixas. Tente outras missões enquanto mata monstros para este.
+
+Protip 2: If you fell stuck, ask at #world, even if nobody is online. Who knows, someone on Discord or IRC might reply!
+
+
+Protip: @@ are dropped by @@. That monster helps each other, so don't attack when they are in packs.
+Dica: @@ são derrubados por @@. Esses monstros se ajudam um ao outro, não ataque quando eles estão em grupos.
+
+Protip: @@ can be found from @@ and @@. For the later one, ask Lua for strategies.
+Dica: @@ pode ser obtido de @@ e @@. Para o último, peça a Lua por estratégias.
+
+Protip: @@ is dropped by @@. It is a tough monster, you might need some strategy to kill it. @@ can be bought in shops.
+Dica: @@ é obtido do @@. É um monstro durão, você pode precisar de alguma estratégia para matá-lo. @@ pode ser comprado em lojas.
+
+Protip: All quests expire at 00:00 server time, be sure to finish AND report back before that!
+Protip: Todas as missões expiram às 00:00 do horário do servidor, certifique-se de terminar e reportar antes disso!
+
+Protip: Arkim is in a cave southeast of here and is an hermit.
+Protip: Arkim está em uma caverna a sudeste daqui e é um eremita.
+
+Protip: If you plan in selling it, it's adviseable to ask for GM mediation.
+Protip: Se você planeja em vendê-lo, é adviseable para pedir mediação GM.
+
+Protip: You can get @@ from shops. Cotton is rumored to be magical, keep this is mind.
+Protip: Você pode obter @@ em lojas. Dizem que o algodão é mágico, mantenha isso em mente.
+
+Protip: You can trade the cards, but only before inserting them.
+Protip: Você pode trocar os cartões, mas apenas antes de inseri-los.
+
+Protip: You need an @@ full of water to get a reply from guards.
+Dica: Você precisa de uma @@ cheia de água para obter uma resposta dos guardas.
+
+Protip: You need level %d or higher to do this quest.
+Protip: Você precisa% d nível ou superior para fazer essa quest.
+
+Protip: You skipped tutorial. A lot of tutorial-ish dialogs and quests will be skipped. You can change this anytime on %s > Game Settings.
+Protip: Você pulou tutorial. Um monte de diálogos e missões tutoriais-ish será ignorado. Você pode mudar este a qualquer hora em% s> Configurações do jogo.
+
+Protip: Your current progress will be saved.
+Protip: Seu progresso atual será salvo.
+
+Proud owner of %s the %s.
+
+
+Proud owner of %s the Homunculus.
+
+
+Provoke
+Provocar
+
+Provoke a single monster to attack you.
+Provocar um único monstro para atacá-lo.
+
+Provokes all monsters around the target, and the target itself.
+Provoca todos os monstros ao redor do alvo, e do próprio alvo.
+
+Prsm Helmet
+Capacete Prsm
+
+Psi Conscience
+Consciência Psi
+
+Psst.
+
+
+Pull it
+Puxa
+
+Pull the switch?
+Puxa o interruptor?
+
+Pulsar outranks ancient, Miere outranks pulsar, and Immortal might be the strongest of all. Or not.
+
+
+Pumpkandy
+Pumpkandy
+
+Pumpkandy Seed
+Semente Pumpkandy
+
+Pumpkin
+Abóbora
+
+Pumpkin Hat
+Chapéu de Abóbora
+
+Pumpkin Juice
+Suco de Abóbora
+
+Pumpkin Lollipop
+Pirulito de abóbora
+
+Pumpkin Seed
+Sementes de Abóbora
+
+Pumpkish Juice
+Suco de Abóbora
+
+Puny mortal, do your best to entertain me! Curse!
+
+
+Purchase %02d %s for %d GP?
+Compra% 02d% s para% d GP?
+
+Purchase successful!
+Compra bem sucedida!
+
+Purchasing points
+
+
+Purification Potion
+
+
+Purple Blobime
+Blobime Roxo
+
+Purple Bola
+Bola Roxa
+
+Purple Dye
+Tintura Roxa
+
+Purple Wizard
+
+
+Put it out
+
+
+Pydisgner#spoints
+Pydisgner#spoints
+
+Pylon
+Pilão
+
+Pyndragon
+Pirâmide
+
+Pyndragon said he'll craft a @@ to whoever reduces them to dust. Interested?
+Pyndragon disse que vai criar um @@ para quem quer que reduza a poeira. Interessado?
+
+Pyry
+Pyry
+
+Queen Of Dragons: It is dangerous to go out alone, I'll raise your evasion and life!
+Rainha dos Dragões: É perigoso sair sozinho, vou levantar sua evasão e vida!
+
+Quest - Find all Keys
+Quest - Encontre todas as chaves
+
+Quest - Mark as Completed
+Quest - Marcar como Concluído
+
+Quest - Skip Krukan fight
+luta Saltar Krukan - busca
+
+Quest - Skip Weapons Room
+Quest - Saltar Armas quarto
+
+Quest - Unlock Boss Room
+Quest - Desbloquear quarto chefe
+
+Quest @@ modified by GM
+Missão @@ modificado pelo GM
+
+Quest Tip
+Dica da Missão
+
+Quest complete: Congratulations!
+
+
+Quest completed.
+Missão completada.
+
+Quest debug
+Depuração de missão
+
+Quest restart.
+Reinicialização da missão.
+
+Quests.
+Missões
+
+Quick, battle position! They'll strike! I'll help you a tiny bit!
+
+
+Quick, deliver this to Anwar!
+Rápido, entregue isso para Anwar!
+
+Quick, tell that to Eomie. She knows how to do Bug Bombs which won't harm the plants!
+Rápido, diga isso para a Eomie. Ela sabe como fazer bombas de insetos que não prejudicam as plantas!
+
+Quill
+Pena
+
+Quirin
+Quirin
+
+Quirin Voraz
+
+
+Quit
+Sair
+
+Quite benevolent, they are. Nard likes to help anyone who works hard. Anyway, there was something important I needed to say.
+Bastante benevolente, eles são. Nard gosta de ajudar quem trabalha duro. De qualquer forma, havia algo importante que eu precisava dizer.
+
+Quite interesting, quite interesting indeed.
+Bastante interessante, bastante interessante mesmo.
+
+Quite the guts! The price is taxed individually, if you run out of GP it is your loss.
+Muito a coragem! O preço é tributada individualmente, se você ficar sem GP é a sua perda.
+
+Quivers
+Quivers
+
+RACE FAILED.
+
+
+RAPID GUNSTAFF
+GUNSTAFF RÃPIDO
+
+REMEMBER: FAILURE AT A BOSS FIGHT WILL CAUSE QUEST TO RESET!
+LEMBRE-SE: FALHA EM UM BOSS FIGHT FARÃ QUEST PARA RESTAURAR!
+
+REMINDER: You do not need to kill anything, you need to ##BSURVIVE##b!
+
+
+REVENGE TIME!
+TEMPO DE VINGANÇA!
+
+RMG
+RMG
+
+RMG+Playtest
+RMG + Playtest
+
+ROGUE YETI SLAYING REQUEST
+SOLICITAÇÃO DE REBOCOS DE ROGUE YETI
+
+Race
+Corrida
+
+Raid Trousers
+Calça Raid
+
+Raid and me have been in hot pursuit for a while, but I fear it is already too late. Yesterday there was another earthquake, and we're receiving summons to return to Tulimshar at once. Apparently, it is under attack.
+
+
+Raid might be great. Saul might be popular. SphinxNox might be an annoying brat. But I'm, or rather, will soon be... @@.
+Raid pode ser ótimo. Saul pode ser popular. SphinxNox pode ser um pirralho chato. Mas eu estou, ou melhor, logo será ... @@.
+
+Raify
+
+
+Raijin
+Raijin
+
+Raise agility to do this quest.
+Aumentar a agilidade para fazer essa missão.
+
+Raise city taxes
+Aumentar os impostos da cidade
+
+Raise damage of next skill.
+danos aumento do próximo habilidade.
+
+Raise max members
+Aumentar membros máximos
+
+Raise server wide EXP
+
+
+Raise vitality to be able to drink even more.
+Aumentar a vitalidade para poder beber ainda mais.
+
+Raising Taxes
+aumento de impostos
+
+Raising this skill will allow to recruit 4 more members.
+Aumentar essa habilidade permitirá recrutar mais 4 membros.
+
+Rakinorf, Mayor
+Rakinorf, prefeito
+
+Random Bif
+Bif Aleatório
+
+Random movement and extra desync
+movimento aleatório e dessincronização adicional
+
+Rapid Gunstaff
+Gunstaff Rápido
+
+Rare Drops:
+Gotas raras:
+
+Rare Mines
+Mines raros
+
+Rasin
+Rasin
+
+Ratte
+Ratte
+
+Ratto
+Ratto
+
+Ratto Tail
+Cauda de Ratto
+
+Ratto Teeth
+Dentes de Ratto
+
+Rattos are very fast. They walk fast and attack fast. I advise bringing some healing items!
+Rattos são muito rápidos. Eles andam rápido e atacam rapidamente. Eu aconselho trazer alguns itens de cura!
+
+RattosControl
+RattosControl
+
+Raw Log
+Registro bruto
+
+Raw Talisman
+Talismã Cru
+
+Re-casting the same magic spell or skill won't give you magic experience.
+Re-casting a mesma fórmula mágica ou habilidade não vai lhe dar experiência mágica.
+
+Re-ref... Reflect.
+Re-ref ... Refletir.
+
+Reach level @@ to unlock this tier!
+Alcance o nível @@ para desbloquear esta camada!
+
+Read Rules
+Leia as regras
+
+Read the News.
+Leia as notícias.
+
+Read the Rules.
+Leia as regras.
+
+Read the instructions carefully.
+Leia as instruções cuidadosamente.
+
+Read the last 30 days %s
+
+
+Read the tutorial again?
+Leia o tutorial novamente?
+
+Read tutorial again?
+Leia tutorial de novo?
+
+Ready...
+
+
+Reagents & Other Potions
+
+
+Real Bronze Gladius
+Bronze Real Gladius
+
+Really attack the Mouboo with a(n) @@?
+Realmente ataque o Mouboo com um (n) @@?
+
+Really begin the Doppelganger Challenge?
+Realmente começar o Desafio Doppelganger?
+
+Really deploy your homunculus?
+Realmente implantar seu homúnculo?
+
+Really give a %s to Jhon?
+
+
+Really give the %s to %s?
+
+
+Really give your %s to the teddy?
+
+
+Really give your @@ to Baktar?
+Realmente dê seu @@ para Baktar?
+
+Really give your @@ to the Mouboo?
+Realmente dê seu @@ ao Mouboo?
+
+Really interesting, how I am NOT seeing the items I asked for...
+Realmente interessante, como eu não estou vendo os itens que eu pedi ...
+
+Really kill Barbara?
+Realmente matar Barbara?
+
+Really learn this skill?
+Realmente aprender esta habilidade?
+
+Really melt down all your @@? It'll cost you @@ GP each. This action cannot be undone!
+Realmente derreter todo o seu @@? Vai custar-lhe @@ GP cada. Essa ação não pode ser desfeita!
+
+Really melt down your @@? It'll cost you @@ GP. This action cannot be undone!
+Derreta realmente seu @@? Vai custar-lhe @@ GP. Essa ação não pode ser desfeita!
+
+Really resign?
+Realmente renunciar?
+
+Really try to tweak this item? All current options will be deleted.
+Realmente tente ajustar este item? Todas as opções atuais serão apagadas.
+
+Really? That would be great!
+Mesmo? Isso seria bom!
+
+Really? What do you need?
+Mesmo? O que você precisa?
+
+Really? Where are you from?
+Mesmo? De onde você é?
+
+Reaper
+Ceifador
+
+Rebirth
+Renascimento
+
+Rebirth Race Selection
+Corrida Selecção Rebirth
+
+Rebirth Season
+
+
+Rebirth Trait Selection
+
+
+Rebirth is free. Here are the perks you'll get by doing the rebirth:
+Rebirth é gratuito. Aqui estão as vantagens que você vai conseguir, fazendo o renascimento:
+
+Recall
+recordação
+
+Receive Chocolate
+Receba Chocolate
+
+Received @@ @@!
+Recebido @@ @@!
+
+Recepcionist#TInn
+
+
+Receptionist#003-0
+
+
+Recipe Book
+Livro de receitas
+
+Recommended Level: %d+
+
+
+Recommended: ##B%d##b | Max: %d
+
+
+Recover some HP.
+Recuperar algum HP.
+
+Recruiter
+Recrutador
+
+Red
+Vermelho
+
+Red Apple
+Maçã Vermelha
+
+Red Butterfly
+Borboleta Vermelha
+
+Red Dye
+Corante vermelho
+
+Red Follower (F)
+
+
+Red Follower (M)
+
+
+Red Knight Armor
+Armadura do Cavaleiro Vermelho
+
+Red Mushroom
+Cogumelo Vermelho
+
+Red Nose
+Nariz vermelho
+
+Red Plush Wine
+Vinho do Plush Vermelho
+
+Red Scorpion
+Escorpião Vermelho
+
+Red Scorpion Claw
+Garra Escorpião Vermelha
+
+Red Scorpion Claw -> Scorpion Claw
+Red Scorpion Claw -> Scorpion Garra
+
+Red Scorpion Stinger
+Ferrão Escorpião Vermelho
+
+Red Scorpion Stinger -> Scorpion Stinger
+Red Scorpion Stinger -> Scorpion Stinger
+
+Red Scorpion breed as fast as the Ratto! With our current numbers, it's nearly impossible to take over.
+Raça Scorpion Vermelho tão rápido quanto o Ratto! Com nossos números atuais, é quase impossível assumir o controle.
+
+Red Skull Slime
+Slime Caveira Vermelha
+
+Red Slime
+Slime Vermelho
+
+Red Slime Mother
+Mãe Red Slime
+
+Red Stocking
+Meia Vermelha
+
+Red Stockings
+Meias Vermelhas
+
+Red Switch#EP
+
+
+Red Wizard
+
+
+Red scorpion
+
+
+RedSlime
+
+
+Reduces MP cost when using chanting-based skills.
+
+
+Redy
+Redy
+
+Reed Bundle
+Reed Bundle
+
+Referral Program Report
+Relatório do Programa de Referência
+
+Reflect Card
+Refletir Cartão
+
+Reflect Card S
+
+
+Reflect Card X
+
+
+Registed %s ago
+Registed% s atrás
+
+Register
+registo
+
+Register fee is @@.
+Taxa de inscrição é @@.
+
+Registered! You can now use any banking service, of any town!
+Registrado! Agora você pode usar qualquer serviço bancário de qualquer cidade!
+
+Registered, welcome to the Grand Hunter Quest!
+Registrado, bem vindo ao Grand Hunter Quest!
+
+Registration is open to everybody, but newcomers need to pay a fee for all of the paperwork.
+As inscrições estão abertas a todos, mas os recém-chegados precisam pagar uma taxa por toda a papelada.
+
+Regnum Blessing
+Bênção Regnum
+
+Regular Drops:
+Gotas regulares:
+
+Reinboo Wand
+Varinha Reinboo
+
+Reject
+
+
+Reload NPC Data
+Recarregar dados do NPC
+
+Remaining time: @@
+Tempo restante: @@
+
+Remember also: It is wise to speak with people you meet on your journey, there is always something new to learn.
+Lembre-se também: é sábio falar com pessoas que você encontra em sua jornada, sempre há algo novo para aprender.
+
+Remember my name: I am Isbamuth, and I've took the Throne which rightfully belongs to me.
+Lembre-se do meu nome: Eu sou Isbamuth e peguei o Trono que por direito me pertence.
+
+Remember that some equipment sets will give you hidden stat bonuses! So dress yourself in a fashion way, if possible!
+Lembre-se que alguns conjuntos de equipamentos lhe darão bônus de status ocultos! Então vista-se de uma maneira fashion, se possível!
+
+Remember that wearing green BOOSTS the rates at which good stuff will be found!
+Lembre-se que vestindo verde aumenta as taxas em que as coisas boas serão encontradas!
+
+Remember the masked man said he was from Frostia? Or masked woman, we don't know. You should inform their Mayor at once.
+Lembre-se que o homem mascarado disse que ele era da Frostia? Ou mulher mascarada, não sabemos. Você deve informar o prefeito imediatamente.
+
+Remember to give it a balanced diet of Aquadas to make it happy.
+Lembre-se de dar uma dieta equilibrada de Aquadas para torná-lo feliz.
+
+Remember to store somewhere any heavy stuff you might be carrying.
+Lembre-se de guardar em algum lugar qualquer coisa pesada que você possa estar carregando.
+
+Remember! You're trading things, not lending/borrowing them. You are solely responsible for everything you own.
+Lembrar! Você está negociando coisas, não emprestando / emprestando. Você é o único responsável por tudo o que possui.
+
+Remember, I need %d %s, %d %s, and something interesting to read.
+
+
+Remember, I need 30 @@, 50 @@, and 30 @@.
+Lembre-se, preciso de 30 @@, 50 @@ e 30 @@.
+
+Remember, I'll make a @@ for you!
+Lembre-se, eu vou fazer um @ @ para você!
+
+Remember, there is always something new to learn. And you should not let your training down in order to keep and improve your abilities.
+Lembre-se, sempre há algo novo para aprender. E você não deve deixar seu treinamento para baixo para manter e melhorar suas habilidades.
+
+Remember: Never lend your toothbrush to a slime!
+Lembre-se: Nunca emprestar sua escova de dentes a um lodo!
+
+Remember: Players can also help enforcing no-AFK-bot rule!
+Lembre-se: Os jogadores também podem ajudar a fazer cumprir regra de não AFK-bot!
+
+Remember: Taking damage will make you stand!
+Lembre-se: tomar dano vai fazer você se!
+
+Remember: The bigger the area or power, or the more complex it is, the more mana it costs.
+
+
+Remember: The bigger the area or power, the more mana it costs.
+
+
+Reminder : Defeat the %s to win.
+
+
+Reminder:
+
+
+Reminder: Keep an eye out for traps.
+
+
+Reminds me, but they say the Aethyr is a place where powerful elves of old live. But nobody has been there on the past century... Or if they were, nobody said anything about it! Hahahah!
+
+
+Remove this line
+Remova esta linha
+
+Renew Rent
+Renove o aluguel
+
+Rent 1 day for 100 GP
+Alugar 1 dia por 100 GP
+
+Rent 1 day for 50 GP
+Alugar 1 dia por 50 GP
+
+Rent 15 days for 1200 GP
+Alugar 15 dias para 1200 GP
+
+Rent 15 days for 600 GP
+Alugue 15 dias para 600 GP
+
+Rent 3 days for 135 GP
+Alugue 3 dias por 135 GP
+
+Rent 3 days for 270 GP
+Alugue 3 dias por 270 GP
+
+Rent 30 days for 1000 GP
+Alugar 30 dias por 1000 GP
+
+Rent 30 days for 2000 GP
+Alugar 30 dias para 2000 GP
+
+Rent 7 days for 300 GP
+Alugar 7 dias por 300 GP
+
+Rent 7 days for 600 GP
+Alugar 7 dias por 600 GP
+
+Rent Renew Price: @@ GP
+Aluguel Renove Preço: @@ GP
+
+Rent arena
+Arena de aluguel
+
+Rent it! Make it mine!
+Aluga-se! Torná-lo meu!
+
+Rent successful for 30 days!
+Aluguel bem sucedido por 30 dias!
+
+Rent time available: @@
+Tempo de aluguel disponível: @@
+
+Rented Cart
+Carrinho alugado
+
+Repair items
+reparação itens
+
+Repeat
+Repetir
+
+Repeat how many times?
+Repita quantas vezes?
+
+Repeat new password:
+Repita a nova senha:
+
+Repeat: @@ times
+Repetir: @@ vezes
+
+Reply: %s
+Responder:% s
+
+Reputation cannot go above 100!
+Reputação não pode ir acima de 100!
+
+Requires logout
+Requer logout
+
+Rescue Cindy from the Ice Labyrinth and the evil Yetis. This is a global, multiplayer quest.
+Resgate Cindy do Labirinto de Gelo e do malvado Yetis. Esta é uma missão global multiplayer.
+
+Rescuing Cindy Quest
+Resgatando a Missão Cindy
+
+Research Points
+
+
+Research Points +%d
+Pontos de Pesquisa +% d
+
+Researcher
+investigador
+
+Researcher Alyta's Residence
+Residence pesquisador do Alyta
+
+Researcher Jak's Residence
+Residence pesquisador do Jak
+
+Researchers from the magic school complained about %ss disturbing whatever they are studying in the cave.
+
+
+Reset
+Restabelecer
+
+Reset & Destroy
+Repor & Destroy
+
+Reset Crazyfefe Fight
+Redefinir Crazyfefe Fight
+
+Reset EVERYTHING
+Redefinir TUDO
+
+Reset done!
+Redefinir feito!
+
+Reset stats, skills, level
+Redefinir estatísticas, habilidades, nível
+
+Reset status
+Reinicie status
+
+Reset!
+Restabelecer!
+
+Reset?
+Restabelecer?
+
+Resign
+Demitir-se
+
+Resting. I've been slaying slime nests the whole day.
+Em repouso. Eu tenho matado ninhos de lodo o dia inteiro.
+
+Restore it
+
+
+Resurrection
+
+
+Retaliates next attack with a critical hit. This instance lasts a second.
+Retalia ataque seguinte com um acerto crítico. Esta instância tem a duração de um segundo.
+
+Return
+Retorna
+
+Return @@ boxes
+Devolver caixas @@
+
+Return Potion
+Poção de Retorno
+
+Return Potions works instantly. Talk to Wyara to get more.
+Return Potions funciona instantaneamente. Fale com o Wyara para obter mais.
+
+Return to Debug menu
+Retornar ao menu Debug
+
+Return to Frostia's Castle?
+Retornar ao castelo da Frostia?
+
+Return to Sagratha's House?
+Retornar para a casa de Sagratha?
+
+Return to Super Menu
+Retornar ao Super Menu
+
+Return to User Control Panel
+Retornar ao Painel de Controle do Usuário
+
+Return to main island.
+Retornar a ilha principal.
+
+Return to main menu
+Retornar ao menu principal
+
+Return to your time!
+
+
+Revert a player exile
+Reverter um exílio jogador
+
+Revives an already dead allied player. Req. Lifestone to cast.
+
+
+Revolver Shooter
+Atirador revólver
+
+Reward: 200 GP, 200 XP
+Recompensa: 200 GP, 200 XP
+
+Reward: 700 GP, 400 XP, 1 @@
+Recompensa: 700 GP, 400 XP, 1 @@
+
+Rice Hat
+Chapéu de Arroz
+
+Richard
+Richard
+
+Riding Mouboo
+Montando Mouboo
+
+Riding Tortuga
+Tortuga de equitação
+
+Rifle Shooter
+Atirador de rifle
+
+Right Crafty Wing
+Asa direita de crafty
+
+Right Eye Patch
+Remendo do olho direito
+
+Right click on the NPC to join the Liberation Force on Hurnscald.
+Clique com o botão direito no NPC para se juntar à Força de Libertação em Hurnscald.
+
+Right click on this NPC to join the Hurnscald Alliance.
+Clique com o botão direito neste NPC para se juntar à Hurnscald Alliance.
+
+Right now this territory is under the Monster Army's control, but the Alliance has occupied it to raid the Impregnable Fortress.
+
+
+Right now you are too weak.
+
+
+Right now, there is a strong wind blowing from @@.
+Agora mesmo, há um forte vento soprando de @@.
+
+Right'o, I'll arrange the material!
+Certo, eu vou arrumar o material!
+
+Right, but now I have business in other places.
+Certo, mas agora tenho negócios em outros lugares.
+
+RightDoorCheck
+RightDoorCheck
+
+Rings
+argolas
+
+Roach
+Barata
+
+Roasted Maggot
+Verme Torrado
+
+Robert
+Robert
+
+Robin Bandit
+Bandido Robin
+
+Rock
+Rocha
+
+Rock Knife
+Faca de pedra
+
+Roger
+Roger
+
+Roger begins to read.
+Roger começa a ler.
+
+Roger, eh? Aye, I do need help. If you bring me 30 @@, 50 @@, and 30 @@, maybe I can give you a reward.
+Roger, eh? Sim, eu preciso de ajuda. Se você me trouxer 30 @@, 50 @@ e 30 @@, talvez eu possa lhe dar uma recompensa.
+
+Rogue
+Vampiro
+
+Rogue Status
+estado desonesto
+
+Room password: @@
+Senha do quarto: @@
+
+Root
+Raiz
+
+Rosa Card
+Cartão Rosa
+
+Rose
+Rosa
+
+Rosen
+Rosen
+
+Rotten Rags
+Panos Podres
+
+Round @@
+Volta @@
+
+Round Leather Shield
+Escudo de couro redondo
+
+Royal Fairy
+Fada real
+
+Royal Guard#02416A
+Guarda Real#02416A
+
+Rrrr... Pchhhh...
+Rrrr ... Pchhhh ...
+
+Rubber Ducky
+Patinho de borracha
+
+Ruby
+Rubi
+
+Ruby (+2 str)
+Rubi (+2 str)
+
+Ruby Bif
+Rubi Bif
+
+Ruby Powder
+Pó de rubi
+
+Rudolph Slime
+Rudolph Slime
+
+Ruined place?
+
+
+Rules
+Regras
+
+Rules.
+Regras.
+
+Rules:
+Regras:
+
+Rum
+
+
+Rum Barrel
+
+
+Run and try jumping it!
+Corra e tente pular!
+
+Run away?
+Fugir?
+
+Run like the wind, @@! For you shall have only @@ to finish the ritual!
+Corra como o vento, @@! Pois você só terá @@ para terminar o ritual!
+
+Run! Event started!
+Corre! Evento iniciado!
+
+Runestaff
+Runestaff
+
+Running is for noobs, we should hold our ground!
+Correr é para noobs, devemos nos manter no chão!
+
+Rusty Knife
+Faca Enferrujada
+
+Ryan
+Ryan
+
+Rychell
+
+
+Rydel
+
+
+SCRIPT ERROR (%s/%s)
+SCRIPT ERRO (% s / s%)
+
+SHORT GUNSTAFF
+SHORT GUNSTAFF
+
+SHOULD
+DEVEMOS
+
+SHUT UP PEETU, I'M ALREADY TIRED OF LISTENING YOUR CRIES!
+FECHE-SE PEETU, JÃ ESTOU CANTO DE ESCUTAR SEUS GRITOS!
+
+SMASH! And it is now only dust...
+ESMAGAR! E é agora só poeira ...
+
+SPIN!
+GIRAR!
+
+STA
+STA
+
+STORY MODE ENABLED. Monsters won't attack you, so you can read without worries.
+
+
+SUCCESS! Congratulations, the item was improved!
+SUCESSO! Parabéns, o item foi aprimorado!
+
+Sabotage
+sabotar
+
+Sacred Bullet
+Bala sagrada
+
+Sacred Forest Hat
+Chapéu da Floresta Sagrada
+
+Sacred Immortality Potion
+Sagrado Imortalidade Poção
+
+Sacred Life Potion
+Poção de Vida Sagrada
+
+Sacred Mana Potion
+Poção de Mana Sagrada
+
+Sacred Wisp
+Wisp Sagrado
+
+Sadly, you found nothing but dirt.
+Infelizmente, você não encontrou nada além de sujeira.
+
+Saevel
+
+
+Safe travels!
+Viagens seguras!
+
+Sage
+Sábio
+
+Sagratha
+Sagratha
+
+Sagratha Door
+Porta Sagratha
+
+Sagratha hates my guts.
+Sagratha odeia minhas entranhas.
+
+Sagratha#_M
+Sagratha#_M
+
+Sailing Away!
+Navegando!
+
+Sailor
+Marinheiro
+
+Sailor Hat
+Chapéu de marinheiro
+
+SailorShirt
+SailorShirt
+
+Sailors
+Marinheiros
+
+Sailors#003-1
+Marinheiros#003-1
+
+Sailors#005-1
+Marinheiros#005-1
+
+Sakar can now bring you directly to Asphodel Moors. Scouts found a second town as well, from where the raiders seems to be coming from!
+
+
+Sake Barrel
+Sake Barrel
+
+Sale successful!
+Venda bem sucedida!
+
+Salohnic
+
+
+Samurai Helmet
+Capacete Samurai
+
+Santa Beard Hat
+Chapéu de barba de Papai Noel
+
+Santa Globe
+Globo santa
+
+Santa Hat
+Gorro do Papai Noel
+
+Santa Slime
+Santa Slime
+
+Santa can give one present for all players. Maybe if we got 200...
+Papai Noel pode dar um presente para todos os jogadores. Talvez se tivéssemos 200 ...
+
+Santeri
+Santeri
+
+Sapphire
+Safira
+
+Sapphire (+2 int)
+Safira (+2 int)
+
+Sapphire Bif
+Safira Bif
+
+Sapphire Powder
+Pó de safira
+
+Sarab Armlet
+Sarab Armlet
+
+Sarah
+Sarah
+
+Sarracenus
+Sarracenos
+
+Saul and Fefe did a great revolution,
+Saul e Fefe fizeram uma grande revolução
+
+Saul is planning an assault at the Magic Tower. I want these Mana Stones.
+Saul está planejando um assalto na Torre Mágica. Eu quero essas Mana Stones.
+
+Saul is supplying me the alchemist resources for that. In exchange, my thieves supply him gold and spare his friends.
+Saul está me fornecendo os recursos alquimistas para isso. Em troca, meus ladrões lhe fornecem ouro e poupam seus amigos.
+
+Saul will deal with it. His mess, he will clean up. Raid and me will keep the pursuit. And this time, we shall triumph.
+
+
+Saul will lead the frontal assault, Mr. Saves shall provide distraction, and I'll infiltrate within the Mage Tower.
+
+
+Saulc Card
+Carta Saulc
+
+Saulc Sponsor
+Patrocinador Saulc
+
+Saulc is rich, you know. He challenged a group of thirty NPCs to defeat him, whoever won would get this @@.
+Saulc é rico, você sabe. Ele desafiou um grupo de trinta NPCs para derrotá-lo, quem ganhasse esse @@.
+
+Saulc was here
+Saulc estava aqui
+
+Saulc, Crazyfefe and Jesus Saves are the three High Councillors. Don't do anything illegal while they're watching!
+Saulc, Crazyfefe e Jesus Saves são os três altos conselheiros. Não faça nada ilegal enquanto eles estiverem assistindo!
+
+Saulc, the Bug Master
+Saulc, o mestre dos insetos
+
+Saulcandy
+Saulcandy
+
+Save & Exit
+Saída segura
+
+Save Point (@@m)
+Salvar ponto (@@ m)
+
+Savior
+Salvador
+
+Savior Armor
+Armadura do Salvador
+
+Savior Blueprint
+
+
+Savior Boots
+Botas do Salvador
+
+Savior Helmet
+
+
+Savior Pants
+Calças do Salvador
+
+Savior Shield
+Escudo do Salvador
+
+Savior Sky Piercer
+Salvador Sky Piercer
+
+Sawis
+Sawis
+
+Saxso
+Saxso
+
+Saxso Chest
+Baú Saxso
+
+Saxso Ghost
+Fantasma de Saxso
+
+Saxso Key
+Saxso Key
+
+Saxso's Basement, Candor - 27th July 300 AT
+
+
+Saxso's Official Residence.
+de Saxso Residência Oficial.
+
+Saxso, the former mayor, commanded me to strengthen the youngsters, so that they have sufficient power to fight monsters.
+Saxso, o ex-prefeito, comandou-me para fortalecer os jovens, para que eles tenham poder suficiente para lutar contra monstros.
+
+Say magic words
+Diga palavras mágicas
+
+Say that Mouboos are Cute?
+Dizer que Mouboos são bonitos?
+
+Say, what do you think if I transmuted your head into the missing materials? I can warrant your soul won't return to the Soul Menhir, either!
+Diga, o que você acha se eu transmutar sua cabeça nos materiais que faltam? Eu posso garantir que sua alma não retornará para o Soul Menhir também!
+
+Saying that you were sent here would prove nothing.
+Dizer que você foram enviadas aqui não provaria nada.
+
+Scar
+
+
+Scarfs
+Lenços
+
+Scary...........
+Assustador...........
+
+Scented Grenade
+Perfumado Grenade
+
+Scepter of Thunder
+
+
+Scheduled broadcasts
+Transmissões agendadas
+
+Scheduled broadcasts - Create new
+Transmissões agendadas - Criar novo
+
+Scheduled: April 17th - 24th
+Programado: 17 a 24 de abril
+
+Scheduled: April 27th - May 3rd
+Programado: 27 de abril a 3 de maio
+
+Scheduled: December 19th - January 2nd
+Programado: 19 de dezembro a 2 de janeiro
+
+Scheduled: February 12th - 15th
+Programado: de 12 a 15 de fevereiro
+
+Scheduled: February 13th - 16th
+Programada: 13-16 fevereiro
+
+Scheduled: January 13rd
+Programado: 13 de janeiro
+
+Scheduled: July 20th ~ 31st
+Programada: July 20th ~ 31
+
+Scheduled: July 7th
+Programado: 7 de julho
+
+Scheduled: March 2nd
+Programado: 2 de março
+
+Scheduled: October 1st
+Programado: 1º de outubro
+
+Scheduled: September 9th
+Programado: 9 de setembro
+
+Scholars dedicate part of their time so others can learn about the world, and as such, they are always welcome to this Academy.
+
+
+Scholarship Badge
+Emblema scholarship
+
+Scholarship Institute is on the %s area of the campus.
+Scholarship Instituto está na área do campus% s.
+
+Scholarship Science
+scholarship Ciência
+
+Scholarship Tuition
+
+
+School of Quirks (Candor)
+Escola de Peculiaridades (Candor)
+
+Scissors
+Tesouras
+
+Score: %s / %s
+
+
+Scoreboards
+Placar
+
+Scores are updated every 6 hours.
+
+
+Scores close at Sunday 23:59 - No scores will be given for last minute rushes!
+
+
+Scorpion
+Escorpião
+
+Scorpion Claw
+Garra de Escorpião
+
+Scorpion Stinger
+Ferrão escorpião
+
+Scorpions killed: @@/@@ scorpions
+Escorpiões mortos: @@ / @@ escorpiões
+
+Scout
+Escoteiro
+
+Screams
+Gritos
+
+Script Error
+Erro de script
+
+Script Error: "Tux didn't found his fish! Blame Saulc at once!"
+
+
+Scroll Angel Light
+
+
+Scroll Angel Light+
+
+
+Scroll Angel Light++
+
+
+Scroll Battle Plans
+
+
+Scroll Battle Plans+
+
+
+Scroll Battle Plans++
+
+
+Scroll Critical Fortune
+
+
+Scroll Critical Fortune+
+
+
+Scroll Critical Fortune++
+
+
+Scroll Defense Bless
+
+
+Scroll Defense Bless+
+
+
+Scroll Defense Bless++
+
+
+Scroll Magnus Heal
+
+
+Scroll Magnus Heal+
+
+
+Scroll Magnus Heal++
+
+
+Scroll Summon Cave Maggot
+
+
+Scroll Summon Dragon
+
+
+Scroll Summon Maggot
+
+
+Scroll Summon Terranite
+
+
+Scroll Summon Wolvern
+
+
+Scroll Summon Yeti
+
+
+Scythe
+Foice
+
+Sea Drops
+Gotas do mar
+
+Sea Slime
+Lodo do mar
+
+Sea Slime Mother
+Sea Slime Mãe
+
+Sea Water
+Ãgua do mar
+
+Sealed Soul
+Alma Selada
+
+Season: %s
+Temporadas
+
+Seasonal Drop Control
+Controle de queda sazonal
+
+Second Dungeon Master
+Mestre do Segundo Calabouço
+
+Second Tier
+Segundo nível
+
+Secret Admirer
+Admirador secreto
+
+Secret Passages
+passagens secretas
+
+Secret Window
+Janela secreta
+
+See you later!
+Até logo!
+
+See you later, my friend! Thanks for the drink!#0
+
+
+See you later, my friend! Thanks for the drink!#1
+
+
+See you soon!
+Te vejo em breve!
+
+See you!
+Até logo!
+
+See you.
+Até logo.
+
+Seems like Arkim held it too close to the flame...
+
+
+Seems like someone else opened this chest before you!
+Parece que alguém abriu o baú antes de você!
+
+Seems like the rat have come after the cheese.
+Parece que o rato veio depois do queijo.
+
+Seems like they're having difficulty handling the demand, and
+Parece que eles estão tendo dificuldade para lidar com a demanda, e
+
+Seems to be a recipe book about apple cookies.
+Parece ser um livro de receitas sobre cookies de maçã.
+
+Seems to be accounting reports and stuff. You take a few pages.
+Parece ser relatórios contábeis e outras coisas. Você tira algumas páginas.
+
+Seems to be related to alchemy.
+Parece estar relacionado com a alquimia.
+
+Seldomly, they'll have an exclamation mark over their heads. But some quests are hidden, so talk to people and have fun!
+Raramente, eles terão um ponto de exclamação sobre suas cabeças. Mas algumas missões estão escondidas, então fale com as pessoas e divirta-se!
+
+Select a set of skills:
+Selecione um conjunto de habilidades:
+
+Select carefully which weapon you want, so there are no regrets.
+Selecione cuidadosamente qual arma você quer, então não há arrependimentos.
+
+Select difficulty.
+
+
+Select one:
+
+
+Select your preferred play-style.
+Escolha o seu estilo de jogo preferido.
+
+Selim
+
+
+Sell
+Vender
+
+Sell old equipment and items you won't use. For example, what should you do with a @@ or an @@? Sell it!
+Venda equipamentos e itens antigos que você não vai usar. Por exemplo, o que você deve fazer com um @@ ou um @@? Venda!
+
+Selling rares
+
+
+Send 10 times
+Envie 10 vezes
+
+Send 2 times
+Envie 2 vezes
+
+Send 20 times
+Envie 20 vezes
+
+Send 3 times
+Envie 3 vezes
+
+Send 5 times
+Enviar 5 vezes
+
+Send Chocolate
+Envie Chocolate
+
+Send indefinitely
+Enviar indefinidamente
+
+Send only once
+Enviar apenas uma vez
+
+Send soul to the Mana Plane for GM events
+Envie alma para o Plano de Mana para eventos da GM
+
+Send them to Valentine Island!
+Enviá-los para a Ilha de Valentim!
+
+Send this message also on login?
+Envie esta mensagem também no login?
+
+Send your Homunculus to a slime nest!
+Envie sua Homunculus a um ninho de lama!
+
+Send your Homunculus to hold off snakes!
+Envie sua Homunculus adiar cobras!
+
+Send your Homunculus to loot the Impregnable Fortress!
+Envie sua Homunculus para saquear a fortaleza inexpugnável!
+
+Send your Homunculus to make money!
+Envie sua Homunculus para ganhar dinheiro!
+
+Send your Homunculus to mineration!
+Envie sua Homunculus para mineration!
+
+Send your Homunculus to one of the most dangerous...!
+Envie sua Homunculus a um dos mais perigosos ...!
+
+Sending the letter will give you double event points, but no more than 10 extra points per letter.
+Enviar a carta lhe dará pontos duplo evento, mas não mais do que 10 pontos extras por carta.
+
+Sent on login: @@
+Enviado no login: @@
+
+Sent on login: yes
+Enviado no login: sim
+
+Sent: @@ times out of @@
+Enviado: @@ vezes fora de @@
+
+September 22nd - December 20th
+22 de setembro a 20 de dezembro
+
+Serf Hat
+Chapéu de servo
+
+Serge
+Sarja
+
+Seriously? What sort of reward is that?
+A sério? Que tipo de recompensa é essa?
+
+Server
+
+
+Server Happy Hour Decreed
+
+
+Set All Perms
+
+
+Set a new broadcast
+Definir uma nova transmissão
+
+Set room password
+Definir senha da sala
+
+Set sail! We're going to Tulimshar!
+Traçar curso! Estamos partindo para Tulimshar!
+
+Set status @@ with @@ kills
+Definir status @@ com @@ mata
+
+Setzer
+Setzer
+
+Seven consecutive brawn attacks of diff. elements.
+
+
+Seven levels is what the Mana Seed may give to any race but Saviors.
+Sete níveis é o que a semente Mana pode dar a qualquer corrida, mas salvadores.
+
+Several books about alchemy. Seems to be pretty advanced.
+Vários livros sobre alquimia. Parece ser bem avançado.
+
+Several books about artificial lifeforms and the man who played God.
+Vários livros sobre formas de vida artificiais e o homem que interpretou Deus.
+
+Several books about hiding magic. Might be why the houses looked abandoned and empty but the chimney was going.
+Vários livros sobre esconder magia. Pode ser por isso que as casas pareciam abandonadas e vazias, mas a chaminé estava indo.
+
+Several flasks are aligned there. They seemed to be dyes, but a close inspection reveals they're not.
+Vários frascos estão alinhados lá. Eles pareciam ser corantes, mas uma inspeção atenta revela que não são.
+
+Several special clovers will show up at forests.
+Vários trevos especiais aparecerão nas florestas.
+
+Sewer Water
+Ãgua dos Esgotos
+
+Shaabty
+Shaabty
+
+Shaabty the Fairy
+Shaabty a fada
+
+Shadow Herb
+Erva Sombra
+
+Shadow Herb only grows on dangerous places, and is mostly found on the Land Of Fire, or underground of very very deep caves.
+O Shadow Herb só cresce em lugares perigosos e é encontrado principalmente na Terra do Fogo, ou subterrâneo de cavernas muito profundas.
+
+Shadow Pixie
+Shadow Pixie
+
+Shadow Plant
+Planta Sombra
+
+Shadow Tortuga
+Tortuga das Sombras
+
+Shall you disband your guild for whatever reason, you'll need to pay again. No refunds. No complaining.
+Você deve debandar sua guilda por qualquer razão, você precisará pagar novamente. Nenhum reembolso. Não reclamando.
+
+Shall you have any inquiry, do not hesit to [@@mailto:admin@tmw2.org|send us an email@@]##b.
+
+
+Shannon
+Shannon
+
+Sharp Knife
+Faca afiada
+
+Sharpshooter
+Atirador afiado
+
+Sharpshooting skill replaced with Charged Arrow.
+habilidade sharpshooting substituído com seta cobrado.
+
+She and her husband Simon Bowmaker, vowed to teach the ways of archery to those with willpower, and allow everyone to use a bow.
+Ela e seu marido, Simon Bowmaker, prometeram ensinar os métodos de arco e flecha aos que têm força de vontade e permitir que todos usem um arco.
+
+She can't remember if anything else right now.
+Ela não consegue se lembrar se alguma coisa agora.
+
+She doesn't likes @@s, only cute animals. She doesn't likes Ghosts, Undeads, and Shadow monsters either.
+Ela não gosta de @@ s, apenas animais fofos. Ela não gosta de fantasmas, mortos-vivos e monstros da sombra.
+
+She doesn't seems to trust me... Maybe I should bring a guild vice-leader, or even better, the guild master himself.
+Ela não parece confiar em mim ... Talvez eu devesse trazer um vice-líder da guilda, ou melhor ainda, o mestre de aliança si mesmo.
+
+She falls in a single blow. You'll attribute her death to the Mysterious Assassin.
+Ela cai em um único golpe. Você vai atribuir sua morte para o assassino misterioso.
+
+She is a scary woman and you would do well to remember this.
+
+
+She is staring at the empty sea and sighing. She seems to be really down after Andrei Sakar passed away.
+
+
+She isn't on that cave.
+Ela não está naquela caverna.
+
+She met an adventurer named Merlin outside of the
+Ela conheceu um aventureiro chamado Merlin fora do
+
+She mix the powder with the slime inside the bottle, and makes some weird mixture.
+Ela misturar o pó com o lodo no interior da garrafa, e faz com que alguns mistura estranho.
+
+She must be thristy, fighting monsters on this sun... If somebody could give her Cactus Potions...
+Ela deve estar com sede, lutando contra monstros neste sol ... Se alguém pudesse dar a ela Cactus Potions ...
+
+She never leaves the shade of that tree, she is always sending messages by other people!!
+Ela nunca deixa a sombra daquela árvore, ela está sempre enviando mensagens de outras pessoas !!
+
+She pours something on it, you're not sure what. And then utters some magic words.
+Ela derrama algo sobre ele, você não tem certeza do que. E, em seguida, pronuncia algumas palavras mágicas.
+
+She probably just went out for a walk. Nothing to worry, I hope.
+Ela provavelmente só saiu para uma caminhada. Nada para se preocupar, espero.
+
+She shakes her head.
+Ela sacode a cabeça.
+
+She should be safe as she is a strong woman, but... You never know.
+Ela deve estar segura como ela é uma mulher forte, mas ... Você nunca sabe.
+
+She shudders.
+Ela estremece.
+
+She smiles.
+Ela sorri.
+
+She snaps her fingers.
+Ela estala os dedos.
+
+She walks to the target.
+Ela caminha até o alvo.
+
+She wanted the Soul Eater defeated. Destroying the whole world never stopped her before.
+
+
+She was a tyrant who wanted to rule over not only Tulimshar, but the whole mana world, with an iron fist. She even charged her own premier of treason and tried to execute him.
+
+
+Sheila the Clockmaker
+Sheila o relojoeiro
+
+Shemagh
+Shemagh
+
+Shield Recipes
+Receitas de escudo
+
+Shields
+Escudos
+
+Ship travels are not free. Also, I have a few friends on the Island, and I would like you to check out on them.
+As viagens dos navios não são gratuitas. Além disso, tenho alguns amigos na ilha e gostaria que você os examinasse.
+
+Ship travels are quite expensive, so perhaps you may think it is worth to complete the other quests here?
+As viagens de navio são muito caras, então talvez você ache que vale a pena completar as outras missões aqui?
+
+Shoes
+sapatos
+
+Shooo, shooo! Give my crops some time to recover, your noob.
+Shooo, shooo! Dê a minha colheita algum tempo para recuperar, seu noob.
+
+Shoot FIVE arrows or bullets to the air and cause Area Of Effect Damage.
+Atirar cinco flechas ou balas para a Ãrea de ar e causa de Efeito danos.
+
+Shoot an arrow or bullet which damages everything on its way.
+Atirar uma flecha ou bala que tudo no seu caminho danos.
+
+Shop#Candor
+Loja#Candor
+
+Shop#bazar1
+Loja#bazar1
+
+Shoppa Kep
+Shoppa Kep
+
+Short Bow
+Arco Curto
+
+Short Gladius
+Gladius Curto
+
+Short Gunstaff
+Gunstaff Curto
+
+Short Sword
+Espada Curta
+
+Short Tank Top
+Camisola de alças curtas
+
+Shotgun Shooter
+Atirador de Espingarda
+
+Should I attach a love letter?
+Devo anexar uma carta de amor?
+
+Should I walk on it?
+Devo andar sobre ele?
+
+Should we ask about the %s before leaving?
+
+
+Should we give this shady looking 'fella a %s?
+
+
+Should we?
+Nós deveríamos?
+
+Should you be too quick or wait too long, you will most likely fail.
+Se você for muito rápido ou esperar muito tempo, você provavelmente irá falhar.
+
+Shovel have been changed, right-click it to bury items.
+Pá foram alterados, clique com o botão direito para enter itens.
+
+Show Tutorial Protips
+Mostrar Tutorial Protips
+
+Show me a report
+Mostre-me um relatório
+
+Show me something more advanced!
+
+
+Show me what you can!
+Me mostre o que você pode!
+
+Show me what you got, noob.
+
+
+Shrewboo
+
+
+Shroom Hat
+Shroom Hat
+
+Siege Tower
+Torre de cerco
+
+Sign the non-disclosure agreement?
+
+
+Sign#0051UG
+
+
+Sign#0060CF
+
+
+Sign#0060PI
+
+
+Sign#0063CF
+
+
+Sign#0063PI
+
+
+Sign#0066CR
+
+
+Sign#0066ER
+
+
+Sign#0066WR
+
+
+Sign#014517929
+Placa#014517929
+
+Sign#01916730
+Placa#01916730
+
+Sign#019295108
+Placa#019295108
+
+Sign#02213844
+Placa#02213844
+
+Sign#HalinRoute
+
+
+Sign#HalinarzoGoto
+Placa#HalinarzoGoto
+
+Sign#MKH
+Placa#MKH
+
+Sign#RES_0096
+Placa#RES_0096
+
+Sign#RES_0097
+Placa#RES_0097
+
+Sign#RES_0128
+Placa#RES_0128
+
+Sign#RES_0177
+Placa#RES_0177
+
+Sign#RES_0178
+Placa#RES_0178
+
+Sign#TempBugfix
+
+
+Signpost#lof
+Placa#lof
+
+Silence
+Silêncio
+
+Silk
+
+
+Silk Cocoon
+Casulo de seda
+
+Silk Gloves
+Luvas De Seda
+
+Silk Pants
+Calças De Seda
+
+Silk Robe
+Roupão de seda
+
+Silk Worm
+Bicho da Seda
+
+Silk worm
+Sem-fim de seda
+
+Silkworm
+Bicho-da-seda
+
+Silver Bell
+Sino De Prata
+
+Silver Boss Gift
+Presente chefe de prata
+
+Silver Chest
+Baú de Prata
+
+Silver Dye
+Corante de prata
+
+Silver Easteregg
+Ovo de Páscoa prateado
+
+Silver Four-Leaf Amulet
+Amuleto de Quatro Folhas de Prata
+
+Silver Gift
+Presente de prata
+
+Silver Ingot
+Lingote de prata
+
+Silver Key
+Chave Prata
+
+Silver Mirror
+Espelho de Prata
+
+Silver Ore
+Minério de prata
+
+Silver Ore -> Copper Ore
+Prata Ore -> Copper Ore
+
+Silver Ring
+Anel de prata
+
+Silver Ring!
+Anel de prata!
+
+SilverMedal
+Medalha de prata
+
+Silversmith
+Ourives
+
+Silvia
+Silvia
+
+Silvia is in Noble District of Tulimshar.
+Silvia está no distrito nobre de Tulimshar.
+
+Simon
+Simon
+
+Simply put, they are raw power.
+Simplificando, eles são o poder cru.
+
+Since Merlin left in an expedition with Morgan, strange things have been happening in Kamelot.
+Desde Merlin deixado em uma expedição com Morgan, coisas estranhas têm acontecido no Kamelot.
+
+Since red is the official color of Land of Fire Village, I craft dye for players who will properly represent our town.
+
+
+Since supplies are limited, I currently prioritize orders placed by higher level players.
+
+
+Since the war outbreak, we have to keep moving constantly. Without strong walls to protect ourselves, though, our clan is on the verge of extinction.
+
+
+Sincerity Island
+Ilha da Sinceridade
+
+Sing a song to brighten its mood.
+
+
+Sing me about grinding!
+Cante-me sobre moagem!
+
+Sing me about miscellaneous monsters!
+
+
+Sing me about slaying Pinkies!
+Cante comigo sobre matando Pinkies!
+
+Sing me about the world!
+Cante-me sobre o mundo!
+
+Sing me the fate of the weapons!
+
+
+Sing me the legend of the five heroes!
+
+
+Sir Phoenix
+
+
+Sir Pyndragon and Lady Lalica asked to thank thee for the situation with the thief.
+
+
+Sir Sakar and adventurers are raiding Dracula's Fortress. It is a crazy place, though, who knows what they'll find? He should be at the north exit of this town.
+
+
+Sir Sakar and adventurers are raiding Dracula's Fortress. They found out the Underworld and there is a magic tree. You'll need a %s to use it.
+
+
+Sir Sakar is conducting an exploration on this land. However, you should be able to refine and tweak equipment, as well as crafting your own. Once you're ready, find him at %s of this town.
+
+
+Sit on the rug in front of me and learn wisdom! Maybe you'll learn something this way.
+Sente-se no tapete na minha frente e aprenda a sabedoria! Talvez você aprenda algo assim.
+
+Skeleton
+Esqueleto
+
+Skill @@ has been lost
+Habilidade @@ foi perdida
+
+Skill @@ will be permanently lost!
+Habilidade @@ serão perdidos para sempre!
+
+Skill Level: %d
+
+
+Skill improved
+habilidade melhorada
+
+Skill is in cooldown for @@.
+Skill está em cooldown para @@.
+
+Skill learnt!
+Habilidade Aprendida!
+
+Skip prologue
+
+
+Skipping will FORSAKE rewards for the quest and related; So choose wisely!
+
+
+Skull
+Crânio
+
+Skull Bloody Mug
+Caneca sangrenta do crânio
+
+Skull Mask
+Máscara de caveira
+
+Sleep
+Dormir
+
+Sleeping Bandit
+Bandido Adormecido
+
+Sleeping at night, the bonus will be stronger!
+Dormir à noite, o bônus será mais forte!
+
+Sleeping will fully replenish your health.
+Dormir vai reconstituir integralmente a sua saúde.
+
+SleepingBandit
+
+
+Slime Blast
+Slime Blast
+
+Slime Nest
+Slime Nest
+
+Slimes
+
+
+Slimes are on the loose. They have escaped, ate several books, and some are still in the building.
+Slimes estão à solta. Eles escaparam, comeram vários livros e outros ainda estão no prédio.
+
+Slippers
+Chinelos
+
+Slot Machine#003-10a
+Caça Níqueis#003-10a
+
+Slot Machine#012-7a
+
+
+Slot Machine#017-3a
+
+
+Small Amethyst Bif
+Pequeno Bif ametista
+
+Small Arrow Sack
+Pequeno Seta Sack
+
+Small Bullet Sack
+Sack Bala pequena
+
+Small Chocolate Bar
+Pequena barra de chocolate
+
+Small Diamond Bif
+Bif Pequeno Diamante
+
+Small Diamond Biff
+Diamante pequeno biff
+
+Small Elenium Bif
+Pequeno Elenium Bif
+
+Small Emerald Bif
+Bif Esmeralda Pequena
+
+Small Fishing Net
+Rede de pesca pequeno
+
+Small Frog
+
+
+Small Knife
+Faca pequena
+
+Small Magic Bif
+Bif Mágico Pequeno
+
+Small Mushroom
+Cogumelo Pequeno
+
+Small Ruby Bif
+Pequeno bif rubi
+
+Small Sapphire Bif
+Safira Pequena Bif
+
+Small Tentacles
+Pequenos tentáculos
+
+Small Topaz Bif
+Pequeno Topázio Bif
+
+Smells like mouboos.
+Cheira como mouboos.
+
+Smiley Cap
+Cap smiley
+
+Smith Silvers
+Smith Silvers
+
+SmokeGrenade
+Granada de fumaça
+
+Snail
+Caracol
+
+Snake
+Serpente
+
+Snake Bola
+Bola de cobra
+
+Snake Egg
+Ovo de cobra
+
+Snake Egg -> Cave Snake Egg
+Serpente Egg -> caverna da serpente Ovo
+
+Snake Pit
+Ninho de cobras
+
+Snake Skin
+Pele de cobra
+
+Snake Skin -> Cave Snake Skin
+Pele de serpente -> Pele caverna da serpente
+
+Snake Tongue
+Língua cobra
+
+Snake Tongue -> Cave Snake Tongue
+Cobra Tongue -> caverna cobra Tongue
+
+Snale
+
+
+Snow Binny (NYI)
+Snow Binny (NYI)
+
+Snow Flower
+Flor da Neve
+
+Snowflake
+Floco de neve
+
+Snowman
+
+
+Snowman Globe
+Globo de boneco de neve
+
+So COOL, thanks! Come back later to bring me extra @@!
+Então, legal, obrigado! Volte depois para me trazer mais @@!
+
+So I did what I could - What I always do. Turned my beloved sister in a slime. Turned her into what killed her.
+
+
+So be nice and help people along the way!
+Então seja legal e ajude as pessoas ao longo do caminho!
+
+So did you take care of my 'Piou Problem?'
+
+
+So fine and pink, tasty too!
+Tão fino e rosa, muito saborosa!
+
+So good you are here. We have a huge problem.
+Tão bom que você está aqui. Nós temos um enorme problema.
+
+So here is what I am thinking.
+
+
+So how can I help you?
+Então, como posso ajudá-lo?
+
+So if you bring me %d %s, I'll pay you awesomely! Whaddaya say?!
+
+
+So if you can help, go kill at least one on this island. They take a long time to respawn.
+Então, se você puder ajudar, mate pelo menos um nesta ilha. Eles levam muito tempo para reaparecer.
+
+So if you have any issue which would require the Mayor to see it, you'll need me first.
+Então, se você tem alguma questão que exigiria o prefeito de vê-lo, você vai precisar de mim em primeiro lugar.
+
+So in a hurry, I forgot to take enough bait for fishing.
+Então, com pressa, esqueci de pescar o suficiente para pescar.
+
+So it could be nice, if you could bring me 20 @@,
+Então poderia ser legal se você pudesse me trazer 20 @@,
+
+So let's strike a deal, bring me %d %s, %d %s, %d %s, and a %s. I'll reward you, promise.
+
+
+So long, and thanks for all the fish!
+Adeus e obrigado pelos peixes!
+
+So many bookpages are still missing...
+Tantas páginas de livros ainda estão faltando ...
+
+So tell me already what you need, and what is the reward!
+Então me diga já o que você precisa, e qual é a recompensa!
+
+So they need me again. Alright. Tell them the following:
+
+
+So whaddaya say, sign up won't you?
+Então, o que você quer dizer, inscreva-se, não vai?
+
+So what can I say, except, you're welcome
+Então, o que posso dizer, exceto que você é bem-vindo
+
+So what do you say? You in?
+
+
+So you have now a pet, who is loyal to you. It'll follow you everywhere, but there are two things you must know.
+Então você tem agora um animal de estimação, que é fiel a você. Ele seguirá você em todos os lugares, mas há duas coisas que você deve saber.
+
+So you think you're tough? A warrior must also be loyal and patient.#0
+
+
+So you think you're tough? A warrior must also be loyal and patient.#1
+
+
+So! Bring me %d %s so I may study its properties and make a purifier or enhancer for our well.
+
+
+So! Please transmute a @@ and bring it to me. You may need to switch with another mana skill, until you are successful.
+Assim! Por favor transmute um @@ e traga-o para mim. Você pode precisar mudar com outra habilidade de mana até ter sucesso.
+
+So, %s, I know you have other priorities. I don't even know why you are here - for riches? For glory, for fame? To save the world? To find out about your past? To talk with me because, well, I am just *that* cool? All of the above? Perhaps something else?
+
+
+So, I looked the records. There was nothing really useful.
+Então, olhei os registros. Não havia nada realmente útil.
+
+So, I was thinking in crafting a @@ for you.
+Então, eu estava pensando em criar um @@ para você.
+
+So, I'll have to ask you to get strong and some money for the trip. So, go train now! I wish you the best of the luck!
+Então, eu vou ter que pedir-lhe para ficar mais forte e algum dinheiro para a viagem. Então, vá de trem agora! Desejo-lhe o melhor da sorte!
+
+So, I'm placing a special bounty for @@ Mob Points.
+Então, estou colocando uma recompensa especial por @@ Mob Points.
+
+So, Peetu didn't check the ingredients before casting? That's... Well, I don't know.
+Então, Peetu não verificou os ingredientes antes de lançar? Isso é ... Bem, eu não sei.
+
+So, back to action! Finally. Your next destination is going to be Frostia Town.
+Então, de volta à ação! Finalmente. Seu próximo destino será a cidade de Frostia.
+
+So, could I help you?
+Então, eu poderia te ajudar?
+
+So, did you brought me the twelve cherry cakes?
+Então, você me trouxe os doze bolos de cereja?
+
+So, do you have the items?
+Então, você tem os itens?
+
+So, for the fertilizer. The thing is, all that thing is unstable.
+Então, para o fertilizante. A coisa é, tudo isso é instável.
+
+So, how can I help you today?
+Então, como posso ajudá-lo hoje?
+
+So, how do you feel? I see that Juliet did a marvellous job! You look like you're in good health now.
+Então, como se sente? Percebo que Julieta fez um trabalho maravilhoso! Você parece saudável agora.
+
+So, if you could bring me %d of them, that would be totally awesome! I'm counting on you!
+
+
+So, if you could bring me %d of them, that would be totally awesome! Pretty please! I'm counting on you!
+
+
+So, if you hired a Mercenary to protect your back... Would you prefer it to attack from rearguard, or charge against certain death, buying you time?
+Então, se você contratou um Mercenário para proteger suas costas ... Você preferiria atacar de retaguarda, ou atacar a morte certa, ganhando tempo?
+
+So, it is @@ GP each one up-front. Or I can brew with your materials:
+Então, é @@ GP cada um na frente. Ou eu posso preparar com seus materiais:
+
+So, it is ready?
+Então está pronto?
+
+So, let's return to the business at hand. My men went down and haven't returned. That was long ago, by the way.
+Então, vamos voltar ao negócio em mãos. Meus homens caíram e não retornaram. Isso foi há muito tempo, a propósito.
+
+So, let's work with the last proposal, that you're from an ancient family. We can backtrace what they did.
+Então, vamos trabalhar com a última proposta, que você é de uma família antiga. Nós podemos voltar atrás no que eles fizeram.
+
+So, only citzens, elves and dwarves are normally welcome here and I'm NOT going to make you an exception.
+Então, apenas citzens, elfos e anões são normalmente bem vindos aqui e eu não vou fazer de você uma exceção.
+
+So, please kill %d/%d %ss for us and make the city a better place!
+
+
+So, please kill 3 @@, which are usually found around our beaches. You can sell their stingers if you are short on money.
+
+
+So, please kill @@/@@ @@ for us and make the world a safer place!
+Então, por favor matar @@ / @@ @@ para nós e tornar o mundo um lugar mais seguro!
+
+So, please kill a %s for us and make the world a safer place!
+
+
+So, please, come to me with stronger magic powers. And then, I'll teach you a new magic spell.
+Então, por favor, venha para mim com poderes mágicos mais fortes. E então, eu vou te ensinar um novo feitiço.
+
+So, please, make the most of your stay and our leather works before this knowledge disappear from the world!
+
+
+So, there is a magical barrier to the right, which is in place exactly to protect us.
+Então, há uma barreira mágica para a direita, que está no lugar exatamente para nos proteger.
+
+So, what about this: You bring me a @@ and I'll tailor anything you need!
+Então, e sobre isso: você me traz um @@ e eu vou adaptar qualquer coisa que você precisar!
+
+So, what did he said?
+Então, o que ele disse?
+
+So, what do you say about a deal? I'll affiliate you on the Pet Caring Guild for only 5.000 GP!
+Então, o que você diz sobre um acordo? Eu te afiliarei no Pet Caring Guild por apenas 5.000 GP!
+
+So, what to expect? Past this gate is a panthom town and some steel grating. Past the grating is the actual Impregnable Fortress.
+
+
+So, what will it be?
+Então, o que vai ser?
+
+So, when you get on the door, knock it, and say this: "@@". She will open the door for you.
+
+
+So, where we were again... Oh right, travel to world edge, look for family or whatever, right?
+
+
+So, will you challenge me?
+
+
+So, will you go?
+Então você vai?
+
+So, you are the first and must contact Jesusalva %%g
+
+
+So, you have fulfilled this part of the misssion. Bring %d %s and a %s to Pachua in the Desert Canyon, and say the same thing to him so he knows you're with us.
+
+
+So, you just need to survive for one minute, and I'll consider you are good enough.
+Então, você só precisa sobreviver por um minuto, e eu vou considerar que você é bom o suficiente.
+
+So, you need an alternative way to earn a living. So I looked at what is at highest demand right now, and which will remain once the war ends, and I've found you... %s!
+Então, você precisa de uma forma alternativa de ganhar a vida. Então eu olhei para o que está em maior demanda agora, e que permanecerá uma vez as extremidades de guerra, e eu encontrei você ...% s!
+
+So, you want some @@ to keep you comfy on this harsh winter?
+Então, você quer algum @ @ para mantê-lo confortável neste inverno rigoroso?
+
+So, you would die a few thousands of times before ever reaching Halinarzo.
+Então, você morreria alguns milhares de vezes antes de chegar a Halinarzo.
+
+So. For the info dump or text wall... I'll let you choose what you want to know, or to skip it entirely.
+Assim. Para o dump de informações ou parede de texto ... eu deixo você escolher o que você quer saber ou ignorá-lo completamente.
+
+So. Uhm. The monsters here have varying levels of strength... I think the best way is to witness that yourself.
+Assim. Uhm Os monstros aqui têm vários níveis de força ... Eu acho que a melhor maneira é testemunhar isso.
+
+So... @@ That night, I cast it as usual. Everything seemed alright so I went to bed.
+Então ... Naquela noite, eu lancei como de costume. Tudo parecia bem, então fui para a cama.
+
+So... Anything new on my situation?
+Então ... Alguma coisa nova na minha situação?
+
+So... Have you tried visiting the Canyons? I know, it is a crazy idea.
+Então ... Você já tentou visitar os Canyons? Eu sei, é uma ideia maluca.
+
+So... I think I'm almost done! My plan is to force a @@ into being a pretty Butterfly. Hey, I like cute things!
+Então ... Eu acho que estou quase pronto! Meu plano é para forçar uma @@ em ser uma borboleta bonita. Hey, eu gosto de coisas fofas!
+
+So... I won't say you can't do it, @@. I will just say killing the Bandit Lord is no easy task.
+Então ... eu não vou dizer que você não pode fazer isso, @@. Eu vou apenas dizer que matar o Bandit Lord não é tarefa fácil.
+
+So... I'm at your hands now... What will you do with me?
+Então ... Eu estou em suas mãos agora ... O que você vai fazer comigo?
+
+So... You see... I usually pay a lot of attention to my work. Especially when doing something as delicate as sealing away the slimes for the night.
+Então ... Você vê ... eu costumo prestar muita atenção ao meu trabalho. Especialmente ao fazer algo tão delicado quanto selar os slimes durante a noite.
+
+So? How many *hic* he collect?
+Assim? Quantos * hic * ele coleciona?
+
+So? How was it?
+Assim? Como foi?
+
+Solana
+
+
+Solo
+
+
+Solo Try
+
+
+Some %ss have buried themselves in the sand near the path to the mine, causing burns to people stepping on them.
+
+
+Some %ss have left the mines and made themselves comfortable in the desert, coming closer than ever to us. When there are none left in the desert, go after their nest in the mines.
+
+
+Some are dangerous, too. Even if you look capable of fighting, the Blue Sage instructed me to prevent anyone from visiting until the mess is cleared.
+Alguns são perigosos também. Mesmo que você pareça capaz de lutar, o Blue Sage me instruiu a impedir que alguém o visitasse até que a bagunça estivesse limpa.
+
+Some are just living their own lives. In special, I've spent part of my life studying the Yeti Society.
+Alguns estão apenas vivendo suas próprias vidas. Em especial, passei parte da minha vida estudando a Sociedade Yeti.
+
+Some are small, others are bigger. But they all fight together, so be mindful when they're in groups.
+
+
+Some bullets have Elemental Properties, by the way. Now, what will it be?
+Algumas balas têm propriedades elementares, a propósito. Agora, o que vai ser?
+
+Some items are only produced in Nivalis. After all, it is hard to work properly with ice in a desert!
+Alguns itens são produzidos apenas na Nivalis. Afinal, é difícil trabalhar corretamente com gelo em um deserto!
+
+Some of finest elven craftmanship can be found there, like bows, for example.
+Alguns dos melhores artesanatos élficos podem ser encontrados lá, como laços, por exemplo.
+
+Some of my miners friends died in this mine, because there are plenty of dangerous monsters.#0
+
+
+Some of my miners friends died in this mine, because there are plenty of dangerous monsters.#1
+
+
+Some of them are pretty strong. Do you need an explanation about hit'n'run and the monster you're about to face?
+Alguns deles são bem fortes. Você precisa de uma explicação sobre o hit'n'run e o monstro que você está prestes a enfrentar?
+
+Some other adventurers are looking for it. Please wait %s more.
+
+
+Some others also like to buy them to keep as trophies. Either way, you can make some money with that.
+Alguns outros também gostam de comprá-los para guardar como troféus. De qualquer forma, você pode ganhar algum dinheiro com isso.
+
+Some people say that I am the best tailor in the world, but I think I am the best one in the universe!
+Algumas pessoas dizem que eu sou o melhor alfaiate do mundo, mas acho que sou o melhor do universo!
+
+Some people, however, prefer to fish with more unorthodox baits, such as @@ or @@.
+Algumas pessoas, no entanto, preferem pescar com iscas mais ortodoxas, como @@ ou @@.
+
+Some pets will also collect loot for you, right click on it so it drop whatever it is holding for you.
+Alguns animais de estimação também coletam itens para você, clique com o botão direito do mouse para soltar o que estiver segurando para você.
+
+Some quests and events, like the festival, are only available during specific times.
+Algumas missões e eventos, como o festival, só estão disponíveis durante períodos específicos.
+
+Some rogue Yetis are trying to escape to Nivalis. I can't hold them back for more than @@.
+Alguns Yetis desonestos estão tentando escapar para Nivalis. Eu não posso segurá-los por mais de @@.
+
+Some smoke still remains, but the fire seems to have died.
+Ainda há fumaça, mas o fogo parece ter morrido.
+
+Some special items cannot be traded, discarded, nor sold. With a right click, you can also protect normal items as if they were special ones.
+Alguns itens especiais não podem ser negociados, descartados nem vendidos. Com um clique direito, você também pode proteger itens normais como se fossem especiais.
+
+Some types of fish also enjoy @@ quite a bit.
+Alguns tipos de peixe também apreciam bastante uma @@.
+
+Some will only repeat yearly, while other events happen weekly or monthly, or in some other time aspect.
+Alguns só vai repetir anualmente, enquanto outros eventos acontecem semanal ou mensal, ou em algum outro aspecto do tempo.
+
+Some, but not all, from the rare or non-replaceable items will have a warning when you try to sell them.
+Alguns, mas não todos, dos itens raros ou não substituíveis terão um aviso quando você tentar vendê-los.
+
+Somebody already rented it before you!
+Alguém já alugou antes de você!
+
+Somebody took your place on this spot!
+Alguém tomou o seu lugar neste local!
+
+Someone else has already defeated this bounty.
+
+
+Someone else is using the guild storage right now. Please wait.
+Alguém está usando o armazenamento da guilda agora. Por favor, espere.
+
+Someone fell into the well.
+Alguém caiu no poço.
+
+Someone looted this treasure box already...
+Alguém roubou esta caixa do tesouro já ...
+
+Someone seems to be drowned in the water.
+Alguém parece estar afogado na água.
+
+Someone who have clear priorities appeared! I'm glad!
+Alguém que tenha prioridades claras apareceu! Estou feliz!
+
+Something changed; We should see what is.
+
+
+Something else?
+Algo mais?
+
+Something is happening down there.
+Algo está acontecendo lá em baixo.
+
+Something is wrong with me, I can't smile nor sit.
+Algo está errado comigo, não posso sorrir nem sentar.
+
+Something seems off with that!
+Algo parece fora disso!
+
+Something seems to be happening close to the Throne.
+Algo parece estar acontecendo perto do Trono.
+
+Something seems wrong.
+Algo parece errado.
+
+Something to eat?
+
+
+Something very terrible happened.
+Algo muito terrível aconteceu.
+
+Sometimes I think it'd be better not to allow visitors here. But Nikolai set a high value on keeping contact with the population. Politics.
+Às vezes penso que seria melhor não permitir visitantes aqui. Mas Nikolai estabeleceu um alto valor em manter contato com a população. Política.
+
+Sometimes humans come here and play with me. Many thanks for the help!
+Às vezes os humanos vêm aqui e brincam comigo. Muito obrigado pela ajuda!
+
+Sometimes you just need to run from battle.
+Às vezes você só precisa fugir da batalha.
+
+Sometimes, you just cannot afford to be hit. But even with a melee weapon, you don't need to be hit.
+Às vezes, você simplesmente não pode se dar ao luxo de ser atingido. Mas mesmo com uma arma branca, você não precisa ser atingido.
+
+Sometimes, you really wish you could visit new universes without having to pick some sort of role on it.
+
+
+Somewhere better to live?
+
+
+Sooo, the police station of Moubootaur Legends went ablaze. Constable Perry is too busy to monitor illegal operation on this continent.
+
+
+Sorcerer
+
+
+Sorcerer Robe
+Manto Feiticeiro
+
+Soren
+Soren
+
+Soren Card
+Carta Soren
+
+Soren Village
+Vila Soren
+
+Soren xd#Valentine
+Soren xd#Valentine
+
+Soren's Fountain
+Fonte de Soren
+
+Soren's Gizmo
+Soren's Gizmo
+
+Soren's House
+Casa de Soren
+
+Soren's House Tutorial
+Tutorial da Casa de Soren
+
+Soren's Lake
+Lago Soren
+
+Sorfina
+Sorfina
+
+Sorfina recomposes herself.
+Sorfina se recompõe.
+
+Sorry 'mam, I forgot courage on my other set of pants. This one doesn't have enough defense for it.#0
+
+
+Sorry 'mam, I forgot courage on my other set of pants. This one doesn't have enough defense for it.#1
+
+
+Sorry but I am not interested in that.
+Desculpe, mas não estou interessado nisso.
+
+Sorry for making you listen my rambles. I need someone strong, you see...
+Desculpe por fazer você ouvir minhas divagações. Eu preciso de alguém forte, você vê ...
+
+Sorry kind lady @@, but no.#0
+
+
+Sorry kind sir @@, but no.#1
+
+
+Sorry pal, but only if another miner vouches for you.
+pal Desculpe, mas somente se outro mineiro atesta para você.
+
+Sorry! I forgot to introduce myself. My name is Arpan, but other sailors call me Magic Arpan because I know one or two yaing magic tricks.
+Desculpa! Eu esqueci de me apresentar. Meu nome é Arpan, mas outros marinheiros me chamam de Arpan Mágico porque eu conheço um ou dois yayados truques mágicos.
+
+Sorry! Sorry!
+Desculpa! Desculpa!
+
+Sorry, @@ already started the fight.
+Desculpe, @@ já começou a luta.
+
+Sorry, I am a newbie.
+Desculpe, eu sou um novato.
+
+Sorry, I am busy...
+Desculpa, estou ocupado...
+
+Sorry, I am so hungry as you.
+Desculpe, estou com tanta fome quanto você.
+
+Sorry, I can't help you. Go away!
+Desculpe, não posso te ajudar. Vá embora!
+
+Sorry, I don't have any pets at the moment.
+Desculpe, eu não tenho nenhum animal de estimação no momento.
+
+Sorry, I forgot my courage on my other set of pants.
+Desculpe, eu esqueci minha coragem no meu outro conjunto de calças.
+
+Sorry, I forgot what you need!
+Desculpe, eu esqueci o que você precisa!
+
+Sorry, I have nothing.
+Desculpe, não tenho nada.
+
+Sorry, I have to go now.
+Desculpe eu tenho que ir agora.
+
+Sorry, I have to go.
+Desculpa, eu tenho que ir.
+
+Sorry, I haven't seen you. My name is Barbara.
+Desculpe, eu não vi você. Meu nome é Barbara.
+
+Sorry, I misclicked the first button. Have a nice nap, great Crazyfefe!
+Desculpe, eu desmarquei o primeiro botão. Tenha um bom cochilo, ótimo Crazyfefe!
+
+Sorry, I need to better prepare myself.
+Desculpe, preciso me preparar melhor.
+
+Sorry, I only deal with Arcmage cards.
+
+
+Sorry, I'll be back.
+
+
+Sorry, I'll keep my gem.
+
+
+Sorry, I'll pass.
+Desculpe, eu vou passar.
+
+Sorry, I'm babbling. Deliver this letter to Frostia's King. He will know what to do and what you should do.
+Desculpe, estou balbuciando. Entregue esta carta ao rei de Frostia. Ele saberá o que fazer e o que você deve fazer.
+
+Sorry, I'm busy with other registrations.
+Desculpe, estou ocupado com outros registros.
+
+Sorry, I'm doing other things at the moment.
+Desculpe, estou fazendo outras coisas no momento.
+
+Sorry, I'm in hurry.
+Desculpe, estou com pressa.
+
+Sorry, I'm more of a coffee person.
+Desculpe, sou mais uma pessoa de café.
+
+Sorry, It's not place for me.
+Desculpe, não é lugar para mim.
+
+Sorry, Mister Rakinorf, but it was Lua that said you could help me.
+Desculpe, senhor Rakinorf, mas foi Lua que disse que você poderia me ajudar.
+
+Sorry, and enjoy the game! Your TMW2 Staff Team.
+Desculpe e aproveite o jogo! Sua equipe de funcionários do TMW2.
+
+Sorry, but I already ate the %s you gave me!
+
+
+Sorry, but I need one of each gem powder, and %d GP.
+Desculpe, mas eu preciso de um de cada pó gem, e% d GP.
+
+Sorry, but I need the ingredients and %d GP.
+
+
+Sorry, but I won't dare touch a %s.
+Desculpe, mas eu não ouso tocar num% s.
+
+Sorry, but no entry to Townhall under orders of the council head, Benjamin L.
+
+
+Sorry, but no spoilers. You'll met the Moubootaur soon enough.
+
+
+Sorry, but that's not right.
+Desculpe, mas isso não está certo.
+
+Sorry, but that's wrong.
+Desculpe, mas isso está errado.
+
+Sorry, but this quest cannot be done by staff.
+
+
+Sorry, but you don't have what I need.
+Desculpe, mas você não tem o que eu preciso.
+
+Sorry, but you have multiple %s.
+Desculpe, mas você tem múltiplas% s.
+
+Sorry, it looks like Saulc wrote on this stone. It is entirely illegible... for now.
+Desculpe, parece que Saulc escreveu sobre esta pedra. É totalmente ilegível ... por agora.
+
+Sorry, son. I know how hard this is. But this is teaching you a valuable lesson, your eye will be more sharp for quality wood from now on.#0
+
+
+Sorry, son. I know how hard this is. But this is teaching you a valuable lesson, your eye will be more sharp for quality wood from now on.#1
+
+
+Sorry, sorry! Please rest, great Crazyfefe!
+Desculpe, desculpe! Por favor descanse, ótimo Crazyfefe!
+
+Sorry, that arena is already closed.
+Desculpe, essa arena já está fechada.
+
+Sorry, that is not the cake I love.
+Desculpe, esse não é o bolo que eu amo.
+
+Sorry, this password was already used on another arena.
+Desculpe, esta senha já foi usada em outra arena.
+
+Sorry, you do not have enough ingredients. You'd better search thoroughly.
+Desculpe, você não tem ingredientes suficientes. É melhor você pesquisar bem.
+
+Sorry, you don't have any chocolate to pick up.
+Desculpe, você não tem chocolate para pegar.
+
+Sorry, you don't seem to have everything I need.
+
+
+Sorry, you were taking too long to decide and I've rented my sword to somebody else.
+
+
+Sorry. At best, you can try your luck in Halinarzo, but the odds of someone recognizing you are pretty slim.
+Desculpa. Na melhor das hipóteses, você pode tentar a sua sorte em Halinarzo, mas as chances de alguém reconhecê-lo são muito pequenas.
+
+Sorry. The arrays can't have zeros.
+Desculpe. As matrizes não pode ter zeros.
+
+Soul Menhir automatic saving:
+Soul Menhir de poupança automática:
+
+Soul Menhir#candor
+Menhir da Alma#candor
+
+Soul Menhir#frost
+Menhir da Alma#frost
+
+Soul Menhir#hali
+Menhir da Alma#hali
+
+Soul Menhir#hurns
+Menhir da Alma#hurns
+
+Soul Menhir#lil
+Menhir da Alma#lil
+
+Soul Menhir#lof
+Menhir da Alma#lof
+
+Soul Menhir#niv
+Menhir da Alma#niv
+
+Soul Menhir#tulim
+Menhir da Alma#tulim
+
+Soul Stone#001-11
+Pedra da Alma#001-11
+
+Soul Stone#001-12
+Pedra da Alma#001-12
+
+Soul Stone#001-4
+Pedra da Alma#001-4
+
+Soul Stone#0064
+
+
+Sounds awesome, but this will also reset a bunch of your progress... And with something as lame as a %s, you'll need quite a while to warp again. Uh, if you can, bring friends, the Soul Eater is... not to be trifled with.
+
+
+Sounds good!
+Soa bem!
+
+Sounds good.
+Parece bom.
+
+Southeast Avenue#lof
+Avenida Sudeste#lof
+
+Southwest Avenue
+Southwest Avenue
+
+Southwest Avenue#lof
+Avenida Sudoeste#lof
+
+Spawn customized boss
+Spawn chefe personalizado
+
+Speak with ##BBarzil##b. Tell him it is for the Magic Academy. HURRY UP!
+
+
+Spearmint Tea
+hortelã chá
+
+Special Event Pets
+Animais evento especial
+
+Special battle modes will also be available.
+
+
+Specialized in destructive, magical skills.
+Especializada em destrutivos, habilidades mágicas.
+
+Specialized in miscellaneous skills.
+Especializada em habilidades diversas.
+
+Specialized in skills with fist-based damage and unarmed mastery.
+
+
+Specialized in skills with weapon-based damage and Assassination.
+Especializada em habilidades com danos à base de arma e homicídio.
+
+Specialized in support, buff, debuff and strengthening skills.
+Especializada em suporte, lustre, debuff e fortalecimento de habilidades.
+
+Spectral Orb
+Orbe Espectral
+
+Speed Card
+Cartão de Velocidade
+
+Speed Card S
+
+
+Speed Card X
+
+
+Spell Book Page
+Página do livro de feitiços
+
+Spend it wisely this time.
+Gaste sabiamente desta vez.
+
+Spider
+
+
+Spider Queen
+
+
+SpikyMushroom
+
+
+Spin daily the card to get prizes!
+Girar diária do cartão para obter prêmios!
+
+Spin it!
+Gire!
+
+Spin three symbols, and jackpot great rewards!
+Gire três símbolos e grandes recompensas!
+
+Spin!
+Girar!
+
+Spinning!
+Fiação!
+
+Spinning...
+Fiação...
+
+Sponsor @@ in how much GP?
+Patrocinador @@ em quanto GP?
+
+Sponsor Necklace
+Colar Patrocinador
+
+Sponsors Inn
+Patrocinadores Inn
+
+Spring
+Primavera
+
+Spring Squirrel
+Esquilo primavera
+
+Squichy Claws
+Garras de Squichy
+
+Squirrel
+Esquilo
+
+Squirrel Boots
+Botas do esquilo
+
+Squirrel Pelt
+Esquilo Pelt
+
+Squirrels are healthy, but they never attack. They run away from you, so good luck catching it!
+Os esquilos são saudáveis, mas nunca atacam. Eles fogem de você, então boa sorte em pegá-lo!
+
+St Patrick's Clover
+Trevo de São Patrício
+
+St. Patrick Day
+Dia de St. Patrick
+
+St. Patrick Gold Pot
+Pote de ouro de st. Patrick
+
+Staff is not allowed to use this command.
+
+
+Staircase#MKHB
+Escadas#MKHB
+
+Stalman
+Stalman
+
+Standard Magic
+standard Magic
+
+Standard Tricks
+Truques padrão
+
+Start
+Iniciar
+
+Start broadcasting
+Começe a divulgar
+
+Start broadcasting, and make an extra broadcast right now
+Comece a transmitir e faça uma transmissão extra no momento
+
+Start over
+Reiniciar
+
+Start!
+Começar!
+
+Stat Boost Recipes
+Receitas de Impulso Estatístico
+
+Status Condition Cleared
+
+
+Status Reset Potion
+Poção de Redefinição de Status
+
+Status point reset can't be undone. Do you really want this?
+A redefinição do ponto de status não pode ser desfeita. Você realmente quer isso?
+
+Status reset? Sounds illegal!
+Status redefinido? Soa ilegal!
+
+Status.
+Status.
+
+Status: %s
+Estado:% s
+
+Stay out of harm way. Nothing to see here. Stay away, pathetically weak %s.
+
+
+Stay ready!
+Fique pronto!
+
+Stay there?
+Fique lá?
+
+Stay tuned for announcements regarding raid times to retake the towns.
+
+
+Steal bucket!
+Roubar balde!
+
+Stealing
+Roubando
+
+Steam (LoF Village)
+Vapor (LoF Village)
+
+Steel Shield
+Escudo de aço
+
+Steel Shovel
+Pá de aço
+
+Step backward
+Um passo atrás
+
+Step forward
+Passo à frente
+
+Still haven't found it? Well, keep looking the barrels at this storehouse. I know it's in there, somewhere.
+Ainda não encontrou? Bem, continue procurando os barris nesse armazém. Eu sei que está lá em algum lugar.
+
+Still interested in extra credit? Now that you're a(n) %s, you can sign this perfectly normal and standard %s, and by helping us out, by helping ME out, you'll gain the extra credit. What do you say? Not a bad deal, right?
+
+
+Still, they can be useful when you're trying to solo a boss and need help. The number of stars on the card is the strength and rarity. Use them wisely.
+Ainda assim, eles podem ser úteis quando você está tentando soltar um chefe e precisar de ajuda. O número de estrelas no cartão é a força e a raridade. Use-os com sabedoria.
+
+Stone
+Pedra
+
+Stop broadcasting
+Pare de transmitir
+
+Stop it!
+Pare com isso!
+
+Stop on your tracks, unfair being! Freeze!
+
+
+Stop right there, miscreant. I can see you're AFK, it is written on your hat!
+
+
+Storage Fairy
+Fada de Armazenamento
+
+Strange Coin
+Moeda Estranha
+
+Strange Coins stock on shops was restored!
+
+
+Strange switch status: @@
+Status estranho do interruptor: @@
+
+Strangely enough, when he died, he became a ghost. This shouldn't happen, but yet...
+Estranhamente, quando ele morreu, ele se tornou um fantasma. Isso não deveria acontecer, mas ainda assim ...
+
+Stranger#LoF
+Estrangeiro#LoF
+
+Strangers and monsters aren't allowed in MY house!
+Estranhos e monstros não são permitidos na MINHA casa!
+
+Stray Little Blub
+Stray Little Club
+
+Strength
+Força
+
+Strength Fruit
+Fruit força
+
+Strength Potion
+Poção de Força
+
+Strength Statue
+Estátua da força
+
+Strength: AGI+, Walk Speed +
+Força: AGI +, Walk Speed ​​+
+
+Strength: ALL
+Força: ALL
+
+Strength: DEX+
+Força: DEX +
+
+Strength: INT+
+Força: INT +
+
+Strength: LUK+
+Força: LUK +
+
+Strength: NONE
+Força: NONE
+
+Strength: STR+, Carry Weight +
+Força: STR +, têm um peso +
+
+Strength: VIT++
+Força: VIT ++
+
+Strong wind area of effect attack.
+área de vento forte de ataque efeito.
+
+Strong wind single target attack.
+vento forte ataque alvo único.
+
+Student
+Aluna
+
+Student#A01
+
+
+Student#A02
+
+
+Stun
+Atordoar
+
+Stunning Strike
+
+
+Stupid @@, get out of this cave before I lose my patience!
+Stupid @@, saia desta caverna antes que eu perca a paciência!
+
+Stupid @@, get out of this cave before I lose my patience! Mercury... Show up already!
+Stupid @@, saia desta caverna antes que eu perca a paciência! Mercury ... Apareça já!
+
+Success ratio is of aprox. @@ %
+A taxa de sucesso é de aprox. @@%
+
+Success!
+Sucesso!
+
+Successfully Crafted: %s
+
+
+Successive warps cause time-space distortions and are thus not allowed.
+
+
+Such convoys had been made since the Civil War, after all, many feared the Red Queen and moving to the sea was a sure way to stay out of her reach. None had ever heard again of them...
+
+
+Such precious gem, is not something you would give for free, unless you are interested on my... rituals.
+Essa jóia preciosa, não é algo que você daria de graça, a menos que você esteja interessado em meus ... rituais.
+
+Sudden Attack
+Ataque repentino
+
+Suddenly, a bee appears and attacks you out of NOWHERE!
+
+
+Suddenly, the map %s!
+
+
+Sulfur Powder
+Pó de enxofre
+
+Summary
+Resumo
+
+Summer
+verão
+
+Summoned Monster
+Monstro Convocado
+
+Summoning and Homunculus (H) skills can be raised from skill window directly.
+Notificação e habilidades Homúnculo (H) pode ser levantada a partir da janela habilidade directamente.
+
+Summoning is part of Mana Magic. Mana Magic is trickier, you must have control over magic power to use it properly.
+Invocação é parte da Magia de Mana. Mana Magia é mais complicado, você deve ter controle sobre o poder mágico para usá-lo corretamente.
+
+Sunday I am having a Church Party but I forgot to prepare food!
+Domingo eu estou tendo uma festa de igreja mas eu esqueci de preparar comida!
+
+Sunglasses
+Oculos de sol
+
+Sunny Crystal
+Cristal Ensolarado
+
+Super Menu
+Super Menu
+
+Superb stealth, and quick on their toes.
+discrição soberbo, e rápido em seus dedos do pé.
+
+Superior Shroom
+
+
+Superior damage on enemies who walk over the fire.
+danos superiores sobre os inimigos que caminham sobre o fogo.
+
+Superior single target damage which splashes in area.
+danos alvo único superior que espirra na área.
+
+Supreme Attack
+Ataque Supremo
+
+Supreme Chest
+Baú Supremo
+
+Supreme Gift
+Dom Supremo
+
+Supreme Ranger Card
+Cartão Supremo Rangers
+
+Supreme Warrior Card
+Cartão Supremo Guerreiro
+
+Supreme and Absolute lose to Ancient, but Ancient isn't the strongest power level out there.
+
+
+Sure
+Certo
+
+Sure!
+Certo!
+
+Sure! But that is Summon Magic. Just bring me a mug of beer, I'm thristy. And I'll teach you a basic skill.
+Certo! Mas isso é chamar a mágica. Apenas me traga uma caneca de cerveja, eu sou thristy. E eu vou te ensinar uma habilidade básica.
+
+Sure, I'd love to help! What can I do?
+Claro, eu adoraria ajudar! O que eu posso fazer?
+
+Sure, I'll be back.
+
+
+Sure, I'll be right back.
+
+
+Sure, I'll do it.
+Claro, farei isso.
+
+Sure, I'll help.
+
+
+Sure, gimme the Gold.
+
+
+Sure, gimme the Monster Points.
+
+
+Sure, here you go!
+
+
+Sure, no problem! For this awesome hat which I can make it myself, you'll need to bring me a few items!
+Claro, não há problema! Para este chapéu impressionante que eu posso fazer isso sozinho, você vai precisar de trazer me alguns itens!
+
+Sure, sure, I'm going...
+
+
+Sure, sure... Why are you even *hic* asking me this, anyway? Do I look like your... *hic* your father or something?!
+Claro, claro ... Por que você está mesmo * hic * me perguntando isso, afinal? Eu pareço com o seu ... * hic * seu pai ou algo assim ?!
+
+Sure, what could go wrong?
+
+
+Sure, why not?
+Claro, por que não?
+
+Sure.
+Certo.
+
+Sure. Here, take it.
+Certo. Aqui, pegue.
+
+Sure. I like to keep Alcoholic beverages, because they raise EXP gain when you drink @@.
+Certo. Eu gosto de manter bebidas alcoólicas, porque elas aumentam o ganho de EXP quando você bebe @@.
+
+Surprise me!
+Surpreenda-me!
+
+Surprisingly, nothing happens.
+Surpreendentemente, nada acontece.
+
+Survival Challenge
+
+
+Susanne
+Susanne
+
+Swashbuckler
+
+
+Swezanne
+Swezanne
+
+Swezanne Card
+Swezanne Cartão
+
+Switching from strong to weak equipments WON'T make it go any easier on you!
+Mudar de forte para equipamentos fracos não vai fazer isso ir mais fácil de você!
+
+Syntax: @wset <map_mask>
+Sintaxe: @wset <map_mask>
+
+T.T "Someone else killed my Dummy!"
+
+
+T.T "Why I think you are withdrawing information all along?"
+
+
+T0 - Base Bonus
+T0 - Bônus Base
+
+T1 - Accuracy Bonus
+T1 - Bônus de Precisão
+
+T1 - Attack Bonus
+T1 - Bônus de Ataque
+
+T1 - Defense Bonus
+T1 - Bônus de Defesa
+
+T1 - Evasion Bonus
+T1 - Bônus de Evasão
+
+T2 - Double Power Bonus
+T2 - Bônus de Potência Dupla
+
+T2 - Max Stats Bonus
+T2 - Bónus Max Stats
+
+T2 - Regeneration Bonus
+T2 - Bônus de Regeneração
+
+T2 - Speed Bonus
+T2 - Bônus de velocidade
+
+T3 - Boss Techniques Bonus
+T3 - Bônus de Técnicas de Patrão
+
+T3 - Mana Economy Bonus
+T3 - Bônus de Economia de Mana
+
+T3 - SC Inflict Bonus
+Bônus de Inflito T3 - SC
+
+T3 - SC Resist Bonus
+T3 - Bônus de Resistência ao SC
+
+T4 - Ultimate Bonus
+T4 - bônus final
+
+THANK YOU for participating on cross-server Valentine 2020 Event! We hope you had fun!
+Obrigado por participar no cross-servidor Valentine Evento 2020! Esperamos que você tinha divertido!
+
+THAT GRIMORIE IS A SUPER DUPER MEGA UPER RARE BOOK, I CANNOT GIVE IT TO ANYBODY ASKING ME ABOUT!!
+AQUELE GRIMORIUM É UM LIVRO SUPER DUPER MEGA UPER RARO, NÃO POSSO DAR-LHE A QUALQUER PESSOA ME PEDINDO UM!!
+
+THE BLOOD HERE SPILLED TODAY... ONLY ENRAGES HIM MORE...
+O SANGUE AQUI DERRADO HOJE ... SÓ O ENRAGIA MAIS ...
+
+THEN DON'T WASTE MY TIME! My friend could be in danger!
+Então não desperdice meu tempo! Meu amigo pode estar em perigo!
+
+THIS IS A SOLO FIGHT, TEAMS ARE NOT ALLOWED INSIDE.
+ESTA É UMA LUTA SOLO, AS EQUIPES NÃO SÃO PERMITIDAS NO INTERIOR.
+
+THIS IS MOUBOOTAUR LEGENDS TEST SERVER.
+ESTE É MOUBOOTAUR LEGENDS teste do servidor.
+
+THIS IS THE MOUBOOTAUR TEMPLE RUINS... THIS PLACE IS SACRED...
+ESTE É AS RUÃNAS DO TEMPLO DE MOUBOOTAUR ... ESTE LUGAR É SAGRADO ...
+
+TMW Adventure
+Aventura TMW
+
+TMW2
+TMW2
+
+TMW2 Day marks the server birthdate. Do not mistake with TMW2 Anniversary.
+O TMW2 Day marca a data de nascimento do servidor. Não confunda com o TMW2 Anniversary.
+
+TMW2 Staff
+Equipe TMW2
+
+TUTORIAL
+TUTORIAL
+
+Taenya
+
+
+Take care though, don't attack them when they are in group!
+Tome cuidado, não os ataque quando eles estiverem em grupo!
+
+Take care!
+Cuidar!
+
+Take care, adventurer!
+Tome cuidado, aventureiro!
+
+Take care. Here, take this @@. You can sell it for some quick-spot cash, or use it as a weapon.
+Cuidar. Aqui, pegue isso @@. Você pode vendê-lo por algum dinheiro rápido ou usá-lo como arma.
+
+Take care. This is a dangerous world, but I think that worse than being attacked by sea monsters, is starving from hunger!
+Cuidar. Este é um mundo perigoso, mas eu acho que pior do que ser atacado por monstros marinhos, está morrendo de fome!
+
+Take care: Secret passages can be dangerous places (or not).
+Tome cuidado: passagens secretas podem ser lugares perigosos (ou não).
+
+Take it!
+Pegue!
+
+Take it?
+Pegue?
+
+Take much care with it. It is a very, very rare drop from a rare monster from a difficult, high level area.
+Tome muito cuidado com isso. É uma queda muito rara de um monstro raro de uma área difícil e de alto nível.
+
+Take the bottle?
+Pegue a garrafa?
+
+Take the riddle?
+Pegue o enigma?
+
+Take this @@ to prove you're one of us! Could you also invite Elmo? Thanks, matey!
+Pegue esta @@ para provar que você é um de nós! Você também pode convidar o Elmo? Obrigado, amigo!
+
+Take this @@. It might save your life on the secret mission you're about to be assigned to.
+Pegue isso @@. Pode salvar sua vida na missão secreta a qual você está prestes a ser designado.
+
+Take this badge, so you can enter the guard house. You will find more work there. Bye, and good luck!
+
+
+Take this spare @@ I did. It heals fully and instantly, so don't hesit to use it if you're about to die.
+Pegue este @@ sobressalente que eu fiz. Ele cura totalmente e instantaneamente, então não hesite em usá-lo se estiver prestes a morrer.
+
+Take this with you. And please bring Arthur back, the world needs him!
+Leve isso com você. E por favor, traga Arthur de volta, o mundo precisa dele!
+
+Taking your sturdy glove, you attempt to walk by the wall! You are betting your life on it!
+Tomando sua luva resistente, você tenta andar pela parede! Você está apostando sua vida nisso!
+
+Talindra
+
+
+Talk to @@
+Falar com @@
+
+Talk to Hocus in Porthos (via Menhir) to enroll.
+
+
+Talk to Nard to unlock the door.
+Fale com Nard para destrancar a porta.
+
+Talk to Soul Menhir to engage the boss. Time limit = 1 hour.
+
+
+Talk to Zitoni, and deliver the @@. I can't give you another one, they're super rare.
+Fale com a Zitoni e entregue o @@. Eu não posso te dar outro, eles são super raros.
+
+Talk to Zitoni, the Alchemist of Candor. He may look humble, but he is the greatest alchemist of this world. I need five @@.
+Fale com Zitoni, o Alquimista de Candor. Ele pode parecer humilde, mas ele é o maior alquimista deste mundo. Eu preciso de cinco @@.
+
+Talk to the Fountain. Pour the potion on it. I advise you to put all your points on int if possible.
+Fale com a fonte. Despeje a poção nela. Eu aconselho você a colocar todos os seus pontos no int, se possível.
+
+Talk to the waitress to get some food. Enjoy the show! And you can sleep on the 3rd Floor.
+Fale com a garçonete para pegar um pouco de comida. Aproveite o show! E você pode dormir no terceiro andar.
+
+Talk to you later!
+Falo com você mais tarde!
+
+Talk to you soon!
+Falo com você em breve!
+
+Tamed Snake
+
+
+Tamed Snake Egg
+
+
+Tametomo
+
+
+Tamiloc
+Tamiloc
+
+Taree
+Taree
+
+Tax crafters
+crafters fiscais
+
+Taxes lowered
+impostos baixaram
+
+Taxes raised
+impostos levantada
+
+Taxes will fall in 0.01~0.03%, capped at 0.00%
+Impostos vai cair em 0,01 ~ 0,03%, limitado a 0,00%
+
+Taxes will raise in 0.02~0.05%, capped at 15%.
+
+
+Tea party! I want to participate.
+Festa do Chá! Eu quero participar.
+
+Teaching %s your skills will make you both forget them.
+Ensinar% s suas habilidades vai fazer você tanto esquecê-los.
+
+Teaching you how to study will take from my time, so I'll want a small compromise of %s GP to make sure you will actually make good use of it.
+
+
+Teal Dye
+Tintura de Teal
+
+Tech-User Forge
+Tech-usuário Forge
+
+Technician
+Técnico
+
+Tell me about Artis.
+Conte-me sobre o Artis.
+
+Tell me about Fortress Town.
+
+
+Tell me about Frostia.
+Conte-me sobre a Frostia.
+
+Tell me about Halinarzo.
+Me fale sobre Halinarzo.
+
+Tell me about Hurnscald.
+Me fale sobre Hurnscald.
+
+Tell me about Nivalis.
+Conte-me sobre o Nivalis.
+
+Tell me about Thermin.
+Me fale sobre o Theremin.
+
+Tell me about Tulimshar.
+Me fale sobre Tulimshar.
+
+Tell me about the Civil War.
+
+
+Tell me about the Great Fire.
+
+
+Tell me about the Land Of Fire.
+Conte-me sobre a Terra do Fogo.
+
+Tell me about the Mana War.
+
+
+Tell me about the Monster War.
+
+
+Tell me how or I'll kill you!
+Diga-me como ou eu vou te matar!
+
+Tell me which language you speak and I will change the note on the ship passenger list.
+Diga-me qual idioma você fala e eu mudarei a nota na lista de passageiros do navio.
+
+Tell people the name of a new hero.
+Diga às pessoas o nome de um novo herói.
+
+Tempest
+Tempestade
+
+Ten, fifty, thousand... Yep, this is the amount I've asked for.
+Dez, cinquenta, mil... Sim, essa é a quantia que te pedi.
+
+Tench
+Tencas
+
+Tengu
+Tengu
+
+Tentacles
+Tentáculos
+
+Teraa
+Teraa
+
+Terranite
+Terranita
+
+Terranite Armor
+Armadura Terranita
+
+Terranite Blueprint
+Blueprint Terranite
+
+Terranite Boots
+Botas Terranitas
+
+Terranite Gloves
+Luvas Terranitas
+
+Terranite Helmet
+Terranite Helmet
+
+Terranite Ingot
+Terranite lingote
+
+Terranite King
+Rei dos Terranitas
+
+Terranite Mask
+Máscara Terranita
+
+Terranite Ore
+Minério Terranito
+
+Terranite Ore (3 power)
+
+
+Terranite Ore is a really special item. People without helmets can't understand @@'s real power, anyway if you could give me some of them you would understand why they are so special.
+Terranite Ore é um item realmente especial. Pessoas sem capacetes não podem entender o poder real do @@, de qualquer forma, se você pudesse me dar algumas delas, você entenderia porque elas são tão especiais.
+
+Terranite Pants
+Calças Terranitas
+
+Terranite Protector
+Protetor Terranito
+
+Terranite probably mined part of this mine long time ago.
+Terranita provavelmente extraiu parte dessa mina há muito tempo.
+
+Terrible manaquake hits the whole world, causing dramatic changes!
+Manaquake terrível atinge o mundo inteiro, causando mudanças dramáticas!
+
+Terrible. You know almost nothing from world lore...
+Terrivel. Você não sabe quase nada de conhecimento mundial ...
+
+Test
+Teste
+
+Test MOTD
+Teste MOTD
+
+Teuvo
+Teuvo
+
+Text Wall Density
+Texto Densidade parede
+
+Tezzerin
+Tezzerin
+
+Thank you for being with us for so long. You gained a %s as a random good-hearted action from the team!
+Obrigado por estarem conosco por tanto tempo. Você ganhou uma% s como um bom coração ação aleatória da equipa!
+
+Thank you for helping me make my tea. I hope the potions have been helpful...
+Obrigado por me ajudar a fazer meu chá. Espero que as poções tenham sido úteis ...
+
+Thank you for your help.
+Obrigado pela ajuda.
+
+Thank you so much! That might not bring my friends back, but will make this island much safer!
+Muito obrigado! Isso pode não trazer meus amigos de volta, mas vai tornar essa ilha muito mais segura!
+
+Thank you soooo much! Here is some compensation, and you can keep this worthless scroll of paper! I looooove Pearls!
+
+
+Thank you! Here is some compensation, and you can keep this worthless scroll of paper! I looooove Pearls!
+
+
+Thank you! Thank you! Savior!#0
+
+
+Thank you! Thank you! Savior!#1
+
+
+Thank you! That's very generous of you.
+Obrigado! Isso é muito generoso da sua parte.
+
+Thank you, @@. Please take this pair of gloves as a thank you.
+Obrigado, @@. Por favor, leve este par de luvas como um agradecimento.
+
+Thank you, We are now friends, You can visit us when you want!
+Obrigado, agora somos amigos, você pode nos visitar quando quiser!
+
+Thank you, here is your reward and... some pocket money.
+Obrigado, aqui está sua recompensa e ... algum dinheiro de bolso.
+
+Thank you, here is your reward.
+Obrigado, aqui está sua recompensa.
+
+Thank you, tell her to come to the bakery at... Actually, nevermind. Just give her this note.
+
+
+Thank you.
+Obrigado.
+
+Thank you. I'll wait here.
+Obrigado. Eu esperarei aqui.
+
+Thank you...
+Obrigado...
+
+Thankfully that item is too rare. I want somebody to slay the bandit leader, but if you want to do it, you must prove yourself.
+Felizmente esse item é muito raro. Eu quero que alguém mate o líder dos bandidos, mas se você quiser fazer isso, você deve provar a si mesmo.
+
+Thanks God... The crops are safe. Not only that, but the fertilizer works!
+Graças a Deus ... As plantações estão seguras. Não só isso, mas o fertilizante funciona!
+
+Thanks Lilica.
+Obrigado Lilica.
+
+Thanks a lot for your help revealing the truth.
+Muito obrigado pela sua ajuda, revelando a verdade.
+
+Thanks a lot!
+Muito obrigado!
+
+Thanks again for the help. You have proven that you are resourceful.
+Obrigado novamente pela ajuda. Você provou que é engenhoso.
+
+Thanks again for the help. You have proven that you are resourceful. Come back again later.
+Obrigado novamente pela ajuda. Você provou que é engenhoso. Volte novamente mais tarde.
+
+Thanks again for your investigations. It was a great help.
+Obrigado novamente por suas investigações. Foi uma grande ajuda.
+
+Thanks for Helping with clear out the store room!
+Obrigado por ajudar a limpar a despensa!
+
+Thanks for all of your help!
+Obrigado por toda sua ajuda!
+
+Thanks for attending even this selfish request of mine.
+Obrigado por atender até mesmo esse pedido egoísta meu.
+
+Thanks for attending my call. As you can clearly see, the town is deserted; We only have our own staff in this town.
+
+
+Thanks for avenging my father.
+Obrigado por vingar meu pai.
+
+Thanks for donating blood. You can donate again in 30 days.
+Obrigado por doar sangue. Você pode doar novamente em 30 dias.
+
+Thanks for feeding us earlier. I wanted to give a great dinner to my family, even if just once.
+Obrigado por nos alimentar mais cedo. Eu queria dar um ótimo jantar para minha família, mesmo que apenas uma vez.
+
+Thanks for help! Other guards may need help too!
+Obrigado pela ajuda! Outros guardas podem precisar de ajuda também!
+
+Thanks for helping me out! Here, take this bag. Now if you excuse me...
+Obrigado por me ajudar! Aqui, pegue este saco. Agora, se você me dá licença ...
+
+Thanks for helping me out. I know this is nothing, but please accept these herbs I've collected.
+Obrigado por me ajudar. Eu sei que isso não é nada, mas por favor, aceite estas ervas eu coletei.
+
+Thanks for helping me this month. Here is my card, just call me if you need.
+Obrigado por me ajudar neste mês. Aqui está o meu cartão, apenas me ligue se precisar.
+
+Thanks for helping my husband. I'll think if there's something I can do for you, why don't you help Oscar on the meanwhile...?
+Obrigado por ajudar meu marido. Eu acho que se há algo que eu possa fazer por você, por que você não ajuda Oscar no meio-tempo ...?
+
+Thanks for helping my shop earlier. I forge weapons, but unfortunately, I need more than just iron to forge them.
+Obrigado por ajudar minha loja mais cedo. Eu forjo armas, mas infelizmente, eu preciso de mais do que apenas ferro para forjá-las.
+
+Thanks for helping my son. Here, take 300 GP for your troubles.
+Obrigado por ajudar meu filho. Aqui, tome 300 GP para seus problemas.
+
+Thanks for helping my wife! Here is, an @@. May the Mouboo watch over you! o.o
+Obrigado por ajudar minha esposa! Aqui está um @@. Que o Mouboo cuide de você! o.o
+
+Thanks for helping my wife, I'll be forever grateful.
+Obrigado por ajudar minha esposa, serei eternamente grato.
+
+Thanks for helping out here. Do you need anything else?
+Obrigado por ajudar aqui. Você precisa de mais alguma coisa?
+
+Thanks for helping us the last year. I hope to have your help by the next year.
+Obrigado por nos ajudar no ano passado. Espero ter sua ajuda até o próximo ano.
+
+Thanks for helping!
+
+
+Thanks for listening to my rambles. I'll gift you a @@. Of course, having a wand won't give you magic...
+Obrigado por ouvir minhas divagações. Eu te dou um @@. Claro, ter uma varinha não lhe dará mágica ...
+
+Thanks for playing with us! Can you find my friends?
+Obrigado por jogar conosco! Você pode encontrar meus amigos?
+
+Thanks for playing!
+Obrigado por jogar!
+
+Thanks for saving Tulimshar from a famine. I'll be forever grateful.
+Obrigado por salvar Tulimshar de uma fome. Eu serei eternamente grato.
+
+Thanks for saving me. I'll return home on my own, if you don't mind.
+Obrigado por me salvar. Voltarei para casa sozinho, se você não se importar.
+
+Thanks for the %s you gave me the other day.
+
+
+Thanks for the Silk Cocoons. With these the new books are going to be exquisite.
+Obrigado pelos casulos de seda. Com estes, os novos livros serão requintados.
+
+Thanks for the help earlier.
+
+
+Thanks for the help earlier. Unfortunately, I had no luck yet.
+
+
+Thanks for the help!
+Obrigado pela ajuda!
+
+Thanks for the help! Arr, that was some fine ale, indeed!
+Obrigado pela ajuda! Arr, isso foi uma boa cerveja, de fato!
+
+Thanks for the help! If you help people, they'll start trusting you. Once they trust you, they'll give you quests which are very important to them;
+Obrigado pela ajuda! Se você ajudar as pessoas, elas começarão a confiar em você. Uma vez que eles confiam em você, eles lhe darão missões que são muito importantes para eles;
+
+Thanks for the help! Yummy!
+Obrigado pela ajuda! Gostoso!
+
+Thanks for the help, I guess...?
+Obrigado pela ajuda, eu acho ...?
+
+Thanks for the help, but no.
+Obrigado pela ajuda, mas não.
+
+Thanks for the help.
+Obrigado pela ajuda.
+
+Thanks for the help. Here, take this shirt and some money.
+Obrigado pela ajuda. Aqui, pegue esta camisa e algum dinheiro.
+
+Thanks for the honestity, I guess.
+Obrigado pela honestidade, eu acho.
+
+Thanks for the kindness, but you don't have enough. I need 5!
+Obrigado pela gentileza, mas você não tem o suficiente. Eu preciso de 5!
+
+Thanks for the nice gift!
+Obrigado pelo belo presente!
+
+Thanks for the pages you brought. There are still some missing.
+Obrigado pelas páginas que você trouxe. Ainda faltam algumas.
+
+Thanks for travelling with Andrei Sakar to Artis! However, as you see, this town is deserted.
+
+
+Thanks for using my services!
+
+
+Thanks for vanishing the source of the curse.
+Obrigado por desaparecer a fonte da maldição.
+
+Thanks for your help with the inks! Now I'll be able to fulfill my tasks adequately. Some of these books were really valuable, and it's important to recreate them as good as possible.
+Obrigado pela sua ajuda com as tintas! Agora poderei cumprir minhas tarefas adequadamente. Alguns desses livros foram realmente valiosos e é importante recriá-los da melhor forma possível.
+
+Thanks for your help!
+Obrigado pela ajuda!
+
+Thanks for your help, anyway.
+Obrigado por sua ajuda, pelo menos.
+
+Thanks for your patronage! The rewards will be available with @@, in case I do find the paradise!
+Obrigado pelo seu patrocínio! As recompensas estarão disponíveis com @@, caso eu encontre o paraíso!
+
+Thanks for your services, knight. One day, you might even deserve a seat at this castle.
+Obrigado pela sua serviços, Knight. Um dia, você pode até merecem um lugar neste castelo.
+
+Thanks for your wise words.
+
+
+Thanks mate, that is everything I need! Have a good day!
+Obrigado companheiro, isso é tudo que eu preciso! Tenha um bom dia!
+
+Thanks once again, I know it's not much but here is @@ GP for your troubles.
+Obrigado mais uma vez, eu sei que não é muito, mas aqui está @@ GP para seus problemas.
+
+Thanks to pirate activity, dye has become more difficult to obtain lately.
+
+
+Thanks to this, we can now respawn after death. But that's when the prophecy was told. The prophecy... Of the death of all humans. It gives me shivers.
+Graças a isso, podemos agora reaparecer após a morte. Mas foi quando a profecia foi contada. A profecia ... Da morte de todos os humanos. Isso me da arrepios.
+
+Thanks to you, lowly %s, we will soon have water we deserve!
+
+
+Thanks to you, my friend, we will soon have good water to drink.#0
+
+
+Thanks to you, my friend, we will soon have good water to drink.#1
+
+
+Thanks to you, our glue supply is replenished and we can repair those books.
+Graças a você, nosso suprimento de cola é reabastecido e podemos consertar esses livros.
+
+Thanks!
+Obrigado!
+
+Thanks! Here you go. Perhaps you need another one?
+Obrigado! Aqui está. Talvez você precise de outro?
+
+Thanks! Here you go. Perhaps you want another one?
+
+
+Thanks! Here's your dye. Do you want to trade any more?
+
+
+Thanks! I'll enjoy it! Here is the promised reward.
+
+
+Thanks! I'll enjoy it! Here, you can keep this.
+
+
+Thanks! Please come back in two hours, then I'll have the trousers ready.
+Obrigado! Por favor, volte em duas horas, depois terei as calças prontas.
+
+Thanks! Thanks! Savior! Hurry up!#0
+
+
+Thanks! Thanks! Savior! Hurry up!#1
+
+
+Thanks, @@. We just wanted to be sure it was you.
+Obrigado, @@. Nós só queríamos ter certeza de que era você.
+
+Thanks, I knew I could count on you!
+
+
+Thanks, I owe you one!
+
+
+Thanks, I think I'll continue exploring.
+Obrigado, eu acho que vou continuar a explorar.
+
+Thanks, I'll just bake the Elixir right away...!
+Obrigado, vou assar o Elixir imediatamente ...!
+
+Thanks, and bye.
+Obrigado e tchau.
+
+Thanks, come back and see me once you found the bug bomb and set it off.
+Obrigado, volte e me veja assim que encontrar a bomba e desligue-a.
+
+Thanks, enjoy your tea! I will certainly enjoy mine!
+Obrigado, aproveite seu chá! Eu certamente vou aproveitar o meu!
+
+Thanks, gal!#0
+
+
+Thanks, here is your hat!
+
+
+Thanks, my friend. Here's some money.#0
+
+
+Thanks, my friend. Here's some money.#1
+
+
+Thanks, my friend.#0
+
+
+Thanks, my friend.#1
+
+
+Thanks, my liege.
+Obrigado, meu senhor.
+
+Thanks, pal!#1
+
+
+Thanks, pal. I still got some matters to discuss with the Blue Sage if you excuse me.
+Valeu cara. Eu ainda tenho alguns assuntos para discutir com o Blue Sage se você me der licença.
+
+Thanks, pal. See you tomorrow.
+Valeu cara. Te vejo amanhã.
+
+Thanks, please tell him I'll make his favorite dish. Oh, could you also deliver him this %s?
+
+
+Thanks, they don't like to drop their Antennas.
+Obrigado, eles não gostam de largar suas antenas.
+
+Thanks, they hate to drop their Legs.
+Obrigado, eles odeiam largar as pernas.
+
+Thanks, this is very handy.
+Obrigado, isso é muito útil.
+
+Thanks.
+Obrigado.
+
+Thanks. A pleasure doing business with you.
+Obrigado. É um prazer fazer negócios com você.
+
+Thanks. Do you know the KALSPIKE magic? It allows you to summon Poison Spiky Mushroom. Just use a spore.
+Obrigado. Você conhece a magia KALSPIKE? Ele permite que você invoque Cogumelo Espinhoso Venenoso. Apenas use um esporo.
+
+Thanks. I am willing to share you more magic, if you're interested.
+Obrigado. Estou disposto a compartilhar você mais magia, se você estiver interessado.
+
+Thanks. I'm actually conducting experiments with scorpions. Please come back later.
+Obrigado. Na verdade, estou conduzindo experimentos com escorpiões. Por favor, volte mais tarde.
+
+Thanks. It is my pleasure.
+
+
+Thanks. Maybe I should stop using Maggot Slime as a bait.
+Obrigado. Talvez eu devesse parar de usar Maggot Slime como uma isca.
+
+Thanks. Please come back later, there is something I want to do for you.
+Obrigado. Por favor, volte mais tarde, há algo que eu quero fazer por você.
+
+Thanks. Snakes seems promising indeed! Maybe they work where scorpions failed. If I succeed, I promise I'll teach you the spell. But for now...
+Obrigado. Snakes parece promissor, de fato! Talvez eles trabalham onde escorpiões falhou. Se eu conseguir, eu prometo que vou te ensinar o feitiço. Mas para agora...
+
+Thanks. Take this spare pair of gloves and some change.
+Obrigado. Pegue este par de luvas e troque de roupa.
+
+Thanks. You can go, now.
+Obrigado. Você pode ir agora.
+
+Thanks... I guess...
+Obrigado ... eu acho ...
+
+Thanks... I guess...#0
+
+
+Thanks... I guess...#1
+
+
+Thanksgiving
+Ação de graças
+
+That annoying guy on the side of the tree is annoying. I want to ban him.
+Aquele cara chato do lado da árvore é chato. Eu quero bani-lo
+
+That aside, I see you've helped Hurnscald Mayor, Nivalis Mayor, Halinarzo Librarian and even the Alliance Representative in Tulimshar!
+Além disso, vejo que você ajudou Hurnscald Mayor, Nivalis Mayor, Halinarzo Librarian e até mesmo o representante da Alliance em Tulimshar!
+
+That being said, I'll give you an @@, which allows you to learn a skill even if you can't pay for it.
+Dito isto, eu vou te dar um @@, que lhe permite aprender uma habilidade, mesmo se você não pode pagar por isso.
+
+That can be done pressing F2 and opening char screen.
+Isso pode ser feito apertando F2 e abrindo a tela do personagem.
+
+That can explain why we have difficulties to find rare gems here. They probably were already extracted.
+Isso pode explicar por que temos dificuldades em encontrar pedras raras aqui. Eles provavelmente já foram extraídos.
+
+That depends on your luck!#0
+
+
+That depends on your luck!#1
+
+
+That didn't work!
+Isso não funcionou!
+
+That indeed is true, you can see a pile of rusty knives on the nearby table.
+
+
+That is a pity...
+Isso e uma pena...
+
+That is a rare, precious book, which writes itself!
+Esse é um livro precioso e raro, que se escreve sozinho!
+
+That is not how things are done here.
+
+
+That is quite impressive, but you can perform better with more training.
+Isso é bastante impressionante, mas você pode executar melhor com mais treinamento.
+
+That is why I need your help. If you can 'take care of' a bunch of pious and bring me their feathers as proof, I will give you a reward.
+
+
+That is.
+Isso é.
+
+That lazy mayor... He can't do anything on his own!! Sure, what do you need?
+Aquele prefeito preguiçoso ... Ele não pode fazer nada por conta própria !! Claro, o que você precisa?
+
+That rat... I already spent @@ @@ with him!!
+Esse rato ... eu já passei @@ @@ com ele !!
+
+That reminds me. I have a friend in Nivalis named Miler who gave me some hints on the recipe. Would you take him a sample of what I gave you?
+Isto me lembra. Eu tenho um amigo em Nivalis chamado Miler que me deu algumas dicas sobre a receita. Você levaria uma amostra do que eu te dei?
+
+That she was one of the originals.
+
+
+That she would stop the Soul Eater in past and future.
+
+
+That shouldn't been too hard, but do I get something in return?
+Isso não deveria ser muito difícil, mas eu recebo algo em troca?
+
+That skill was only to allow you to practice. Now listen well: Transmutation is ##BNOT##b crafting!
+
+
+That was @@.
+Aquilo foi @@.
+
+That was a Moubootaur's temple. It is not the kind of place to give a stroll on the park.
+Esse era o templo de um Moubootaur. Não é o tipo de lugar para dar um passeio no parque.
+
+That was far @@.
+Isso foi muito @@.
+
+That was fast. Do not forget to sell their... parts... for some extra cash.
+Isso foi rápido. Não se esqueça de vender suas partes ... por algum dinheiro extra.
+
+That was only to prove you're strong enough on yourself to do whatever you want to do. You have friends.
+Isso foi apenas para provar que você é forte o suficiente para fazer o que quiser. Você tem amigos.
+
+That was quite close. Impressive!
+Isso foi bem perto. Impressionante!
+
+That will be %s GP. Are you sure?
+Que será% s GP. Você tem certeza?
+
+That will help you to make your very first first craft! Remember to use @@ to change which bonuses can be applied to your craft items.
+Isso ajudará você a fazer seu primeiro primeiro ofício! Lembre-se de usar @@ para alterar quais bônus podem ser aplicados aos itens da sua embarcação.
+
+That won't do it. I want to see PINK BLOOD! No... not so cluttered. Just kill the Pinkies on my farm.
+Isso não vai fazer isso. Eu quero ver o sangue rosa! Não ... não tão confuso. Apenas mate os Pinkies na minha fazenda.
+
+That works with most of monsters. Well, but we all know from @@ that it is better to stay put and let mobs kill us, right?
+Isso funciona com a maioria dos monstros. Bem, mas todos nós sabemos de @@ que é melhor ficar parado e deixar os bandidos nos matar, certo?
+
+That would be your next destination, but first, the monster army must be driven out!
+Esse seria o seu próximo destino, mas primeiro, o exército de monstros deve ser expulso!
+
+That wouldn't be fair to you, though. So, you don't need to defeat me.
+Isso não seria justo para você, no entanto. Então você não precisa me derrotar.
+
+That'll be %s GP.
+
+
+That'll cost you @@/@@ @@.
+Isso vai custar-lhe @@ / @@ @@.
+
+That's %d seconds better than your previous record!
+
+
+That's a *hic* precious item, and you're *hic* not nearly *hic* strong or worth enough to use it!
+Esse é um item precioso * hic *, e você * não é tão * forte ou valioso o suficiente para usá-lo!
+
+That's a Summon Magic. Unlike regular magic, you can increase its levels directly from skill menu (F5).
+Isso é um Magic Invocação. Ao contrário de magia regular, você pode aumentar seus níveis diretamente do menu de habilidade (F5).
+
+That's a lot, but I think it will be worth it.
+Isso é muito, mas acho que valerá a pena.
+
+That's a lot, but we have a deal!
+Isso é muito, mas nós temos um acordo!
+
+That's a pity.
+É uma pena.
+
+That's a pity. Well, if you change your mind, come back any time.
+É uma pena. Bem, se você mudar de idéia, volte a qualquer momento.
+
+That's a really strange letter from Mr. Frozenheart.
+Isso é uma carta muito estranho do Sr. Frozenheart.
+
+That's a super rare potion, and it expires after some time. Take care!
+Isso é uma poção super rara, e expira depois de algum tempo. Cuidar!
+
+That's all, thanks!
+É só isso, obrigado!
+
+That's basically how democracy works. You are warranted to stay on the office until something goes gravely wrong.
+Isso é basicamente como a democracia funciona. Você tem a garantia de permanecer no escritório até que algo saia gravemente errado.
+
+That's because you weren't paying attention!
+
+
+That's easy to know, because the bandits are less coordinated. Perhaps we will be able to sleep in peace this night!
+Isso é fácil de saber, porque os bandidos são menos coordenados. Talvez possamos dormir em paz esta noite!
+
+That's easy. Cynric will save your money when you ask him to deposit. Or you pick up your money by asking to withdraw.
+Isso é fácil. Cynric vai economizar seu dinheiro quando você pedir a ele para depositar. Ou você pega seu dinheiro pedindo para se retirar.
+
+That's everything I wanted to know.
+Isso é tudo que eu queria saber.
+
+That's exactly what I needed!
+Isso é exatamente o que eu precisava!
+
+That's exactly why you can't use it to get water. Silly.
+É exatamente por isso que você não pode usá-lo para obter água. Boba.
+
+That's how this world inhabitants deal with cheaters... So don't be one, my friend. You have been warned!
+É assim que os habitantes do mundo lidam com trapaceiros ... Então não seja um, meu amigo. Você foi avisado!
+
+That's just a friendly advise. That's how things works around here.
+Isso é apenas um conselho amigável. É assim que as coisas funcionam por aqui.
+
+That's just nonsense though, I've been there thousands of times and saw no such thing.
+Isso é bobagem, eu estive lá milhares de vezes e não vi tal coisa.
+
+That's nice, but... I don't have a recipe book.
+Isso é legal, mas ... eu não tenho um livro de receitas.
+
+That's none of your bussiness! We should leave here NOW!
+Isso não é da sua conta! Devemos sair daqui AGORA!
+
+That's not *hic*... That's not what I asked you for...
+Isso não é * hic * ... Não foi isso que te pedi ...
+
+That's not a couple of skins.
+Isso não é um par de skins.
+
+That's not everything, though. I am having a bad time fishing. Bring me a @@. I know, it is rare. Good luck with it.
+Isso não é tudo, no entanto. Estou com dificuldade em pescar. Traga-me um @@. Eu sei, é raro. Boa sorte com isso.
+
+That's obviously impossible, so I'll voiding your result!
+
+
+That's ok, kid... I can't read, anyway.
+Tudo bem, garoto ... Eu não sei ler, de qualquer maneira.
+
+That's right, this is unheard of where I come from.
+
+
+That's right.
+Está certo.
+
+That's rude. I never did anything to you.
+Isso é rude. Eu nunca fiz nada para você.
+
+That's sad to hear.
+É triste ouvir isso.
+
+That's some good white for you've got here!
+Isso é um bom branco para você chegou aqui!
+
+That's terrible! Monsters are piling up near city gates! We need to stop their progression.
+Isso é terrível! Monstros estão se acumulando perto dos portões da cidade! Precisamos parar a progressão deles.
+
+That's the Blub Song
+
+
+That's the right wood, my son. Here, I'll wrap it so you don't accidentaly lose it. Good luck with your quest!#0
+
+
+That's the right wood, my son. Here, I'll wrap it so you don't accidentaly lose it. Good luck with your quest!#1
+
+
+That's too bad, because I could teach you some amazing craft skills! This will need to wait another day, I guess. Oh well.
+Isso é muito ruim, porque eu poderia te ensinar algumas habilidades incríveis! Isso vai precisar esperar mais um dia, eu acho. Ah bem.
+
+That's very, very risky. I need @@ @@ and @@ @@ to make a Potion to you, and I won't warrant it will work.
+Isso é muito, muito arriscado. Eu preciso de @ @ @ @ @ @ @ @ para fazer uma Poção para você, e não garantirei que funcionará.
+
+That's why I'm really confused about this situation, since he was the one performing the sealing of the slimes. I wonder what went wrong.
+É por isso que estou realmente confuso com essa situação, já que ele foi quem realizou o selamento dos slimes. Eu me pergunto o que deu errado.
+
+That's why we must stop... THEM... at any costs. I don't know what they're plotting, but it is not in this world inhabitants best interests... nor any other world.
+
+
+That's your answer. Cindy is not a mage, right? This means some mage has bewitched the Yetis to do so, and if my parallel theory is correct, they're either aiming at the Blue Sage, or at her father.
+
+
+That... Didn't work. I'm sorry.
+
+
+That... It... It worked! This is just the right claw!
+Isso ... Funcionou! Esta é apenas a garra certa!
+
+The %s shines with a strange light...
+
+
+The %s wasn't ready yet and you lost it...
+
+
+The %s, yes. I have it. It is a legendary weapon, only one of it exist on the world.
+
+
+The %ss are growing and disturbing the already rather infertile desert soil, preventing our crops from growing.
+
+
+The %ss are the cause for all the little maggots to appear, so we need you to stop the problem at the source.
+
+
+The %ss have been multiplying, crawling from the cave into the magic school, causing damage.
+
+
+The %ss have been reproducing rapidly and their natural habitat, our Croconut trees, are being damaged by the excessive number of them.
+
+
+The @@ I told you to kill are usually at the beach.
+
+
+The @@ are specially dangerous, and archers love them.
+Os @@ são especialmente perigosos e os arqueiros os amam.
+
+The @@ is a powerful healing drink.
+O @@ é uma poderosa bebida curativa.
+
+The @@ is not only a fearsome and ruthless leader. He is strong, and he have tricks on his sleeve.
+O @@ não é apenas um líder temível e implacável. Ele é forte e tem truques na manga.
+
+The @@ quest is disabled during Christmas event.
+A missão @@ está desativada durante o evento de Natal.
+
+The @@ quest is disabled during Easter event.
+A missão @@ está desativada durante o evento de Páscoa.
+
+The @@ stole my @@. Hahah. I can't find anywhere else to buy it.
+O @@ roubou meu @@. Hahah Não consigo encontrar em outro lugar para comprá-lo.
+
+The @@ tab allows yeye to talk on Discord, too! Yayaya, fancy, uh?
+A aba @@ permite que o yeye fale sobre o Discord também! Yayaya, fantasia, uh?
+
+The Academy Island is situated east of Land of Fire Village.
+A Ilha Academy está situado a leste da Terra do Fogo Village.
+
+The Alliance
+
+
+The Alliance Advanced Outposts are closed for maintenance. Group in front of the town entrance!
+Os Advanced Outposts da Alliance estão fechados para manutenção. Grupo em frente à entrada da cidade!
+
+The Alliance Advanced Outposts have been abandoned and locked after the Liberation day.
+Os Advanced Outposts da Aliança foram abandonados e trancados após o dia da Libertação.
+
+The Alliance Council rarely meets. It's thanks to them that the cities are well protected, if you want my opinion.
+O Conselho da Aliança raramente se reúne. É graças a eles que as cidades estão bem protegidas, se você quiser minha opinião.
+
+The Alliance can help you in finding out about who you are, why you are here, or from where you came from. So, about the tasks I want completed.
+A Aliança pode ajudá-lo a descobrir quem você é, por que você está aqui ou de onde você veio. Então, sobre as tarefas que quero concluir.
+
+The Alliance have records of everyone. And if you need another trip, talk to me!
+A aliança tem registros de todos. E se você precisar de outra viagem, fale comigo!
+
+The Alliance says that @@ monsters have been slain since Hurnscald Siege!
+
+
+The Alliance which was formed after the war!
+A Aliança que foi formada depois da guerra!
+
+The Arena is currently closed for maintenance.
+A Arena está fechado para manutenção.
+
+The Blue Sage
+O Sábio Azul
+
+The Blue Sage is Nivalis Mayor and very knowledgeable on stuff. Lemme write a letter of recommendation for you and sign it in Rakinorf's stead...
+O Blue Sage é Nivalis Mayor e muito bem informado sobre o assunto. Deixe-me escrever uma carta de recomendação para você e assine-a no lugar de Rakinorf ...
+
+The Book of Laws
+O Livro das Regras
+
+The Cave Of Trials, and the Soren's Village... There's only one thing left.
+A Caverna das Provações e a Vila de Soren ... Só resta uma coisa.
+
+The Civil War is one of the stuff which nearly everyone forgot about.
+
+
+The Council is not in session, it has dispersed since Andrei Sakar went to an expedition to Artis. However, it was decided to allow others inside.
+
+
+The Council of Elders has enlisted ducks of our island into a militia. In addition, the masters of the Duck Side have seen fit to spare %d Duck initiates to assist us.
+O Conselho de Anciãos alistou patos da nossa ilha em uma milícia. Além disso, os mestres do lado Duck ter visto o ajuste para os iniciados% d Pato peças para nos ajudar.
+
+The Deluxe Storage is available only to our best customers, and how lucky you! YOU are eligible!
+
+
+The Doctor
+O médico
+
+The Doctor sent you some tea.
+O médico mandou um chá para você.
+
+The Doppelganger Challenge will create a Gladiator Monster which should somehow emulate a PvP experience.
+O Desafio Doppelganger irá criar um monstro Gladiator que deve de alguma forma emular uma experiência PvP.
+
+The Enchanted Forest is now open to visitors!
+A Floresta Encantada está agora aberto aos visitantes!
+
+The Fafi Dragon are really really bad guys. I don't know how they came here, as they're not from the Lands Of Fire, nor from Mana World.
+O Fafi Dragon é realmente muito malvado. Eu não sei como eles vieram aqui, pois eles não são das Terras de Fogo, nem do Mundo de Mana.
+
+The Fafi knows you are here to kill him. They are smart. But I can make a trap.
+O Fafi sabe que você está aqui para matá-lo. Eles são espertos. Mas eu posso fazer uma armadilha.
+
+The Fifth Act
+O quinto ato
+
+The Final Act
+
+
+The First Act
+O primeiro ato
+
+The Forest
+A floresta
+
+The Fortress Island is a terribly dangerous place, so the Alliance sent a scout party beforehand, and set up a tower in front of an... erm... Very disturbing walled place we found.
+
+
+The Fourth Act
+O quarto ato
+
+The Game Masters are assembling a party to storm Hurnscald and liberate it. You should try joining it!
+Os Game Masters estão montando uma festa para atacar Hurnscald e liberá-lo. Você deveria tentar juntar-se a ele!
+
+The Great Over 100 Hunt
+
+
+The Great Ranged Hunt
+
+
+The Great Slime Hunt
+
+
+The Guard House
+O Guard House
+
+The Guard patted you on the back.
+O guarda lhe deu um tapinha nas costas.
+
+The Guard sends an air kiss to you.
+A Guarda envia um beijo de ar para você.
+
+The Heroes Hold is divided in seven dungeons level: Novice, Intermediary, Advanced, Expert, Master, Ultimate and Supreme.
+O Heroes Hold é dividido em sete níveis de masmorras: Novato, Intermediário, Avançado, Perito, Mestre, Supremo e Supremo.
+
+The High Council acts in the Alliance stead, as it is not possible to reunite every city leader for all minor matters.
+O Conselho Superior age no lugar da Aliança, pois não é possível reunir todos os líderes da cidade para todos os assuntos menores.
+
+The High Council is now on session, you were forced to leave the meeting chamber.
+
+
+The High Council's have some subordinates, but those are hand-picked by them.
+O Alto Conselho tem alguns subordinados, mas estes são escolhidos a dedo por eles.
+
+The International Worker Day is a traditional celebration,
+O Dia Internacional do trabalhador é uma celebração tradicional,
+
+The La Johanne always have interesting notes.
+O La Johanne sempre tem notas interessantes.
+
+The Land Of Fire Village was the result from the collapse of two worlds. It is a huge village.
+O Land Of Fire Village foi o resultado do colapso de dois mundos. É uma aldeia enorme.
+
+The Loyalists
+Os legalistas
+
+The MVP is the player who did more damage to the boss.
+O MVP é o jogador que causou mais dano ao chefe.
+
+The Magic Academy System is responsible for learning most skills ingame. For that, you need two things: Magic Skill Points and a reagent.
+O Sistema Magic Academy é responsável por aprender mais ingame habilidades. Para isso, você precisa de duas coisas: Pontos habilidade mágica e um reagente.
+
+The Magic Council can be found at this city. They are the most powerful mages. If you have an impressive magical affinity, they may entitle you to have access to a Mana Stone.
+O Conselho Mágico pode ser encontrado nesta cidade. Eles são os magos mais poderosos. Se você tem uma afinidade mágica impressionante, eles podem lhe dar acesso a uma Pedra de Mana.
+
+The Magic Olympics are held by the Academy Grand Masters roughly quarterly, and allow the brightest mages to acquire scholarships at the Magic Academy.
+
+
+The Magic Olympics consist in twelve challenges with scoreboards.
+
+
+The Magic Olympics happen roughly quarterly, but not always at the same dates. It begins on a monday and ends on the sunday. It usually happens two weeks after the Mining Union Research Request event.
+
+
+The Magical Seal which protects the final room is too strong.
+O selo mágico que protege o quarto final é muito forte.
+
+The Mana Guardian,
+O Mana Guardian,
+
+The Mana Plane is currently out of reach.
+O avião de mana está fora de alcance.
+
+The Mana Source
+
+
+The Mana Source, supreme guardian of the world itself, has already took providences.
+
+
+The Mana Stone
+A Pedra Mana
+
+The Mana Stone... is a scary being. It changes you. I'm no longer myself, but some thieves are still at my side... for now.
+A Mana Stone ... é um ser assustador. Isso muda você. Eu não sou mais eu mesmo, mas alguns ladrões ainda estão ao meu lado ... por agora.
+
+The Mana Stones were stolen, in evil hands have fallen!
+As Mana Stones foram roubadas, nas mãos do mal caíram!
+
+The Mana Sword
+O Mana Espada
+
+The Mana Sword, Lightbringer?
+
+
+The Market
+O mercado
+
+The Miners Union is trying to research this powder.
+Os mineiros União está tentando pesquisar este pó.
+
+The Monster Army appears to be in complete disarray, sieges are much less frequent.
+
+
+The Monster Army is currently sieging Tulimshar. There are hundreds of dangerous monsters out there right now.
+O exército monstro está atualmente cercando Tulimshar. Existem centenas de monstros perigosos por aí agora.
+
+The Monster Army is in complete disarray, sieges are much less frequent.
+O monstro Exército está em completa desordem, cercos são muito menos frequentes.
+
+The Monster King
+O rei monstro
+
+The Monster King Army has occupied several towns!
+
+
+The Monster King Army is attacking towns at random, but players already reduced their organization to @@ %%!
+
+
+The Monster King Army is making siege at towns randomly!
+The Monster Rei Exército está fazendo cerco em cidades aleatoriamente!
+
+The Monster King Army is occupying several towns! Brave players need to group and retake them!
+O exército do Rei Monstro está ocupando várias cidades! Jogadores corajosos precisam agrupar e retomar!
+
+The Monster King Army left the cities! What will happen next? Anxiety grows!
+O exército do Rei Monstro deixou as cidades! O que vai acontecer à seguir? A ansiedade cresce!
+
+The Monster King Lair is not in a impregnable mountain, but in a small island now!!
+The Monster Rei Lair não está em uma montanha inexpugnável, mas em uma pequena ilha agora !!
+
+The Monster King has managed to take hold of Nivalis and Hurnscald; Travel to Frostia and Halinarzo has also been made difficult.
+
+
+The Monster King is on the move!
+O Rei Monstro está em movimento!
+
+The Monster King is scary. To be honest, I'm not sure I would be able to do anything if he showed up.
+
+
+The Monster King is sending their armies to attack towns with a seemingly random pattern.
+
+
+The Monster King once again eluded us. How long has it been? His minions are laying waste to all towns, Saul has been killed, Raid has been wounded.
+
+
+The Monster King was so powerful! It is impossible to recover the artifact now, and everyone will die!
+O Rei Monstro era tão poderoso! É impossível recuperar o artefato agora e todos morrerão!
+
+The Monster King#NLib
+O Rei Dos Monstros#NLib
+
+The Monster King.
+O rei monstro.
+
+The Monster War broke out on the very last day of the Mana War. A high council of Tulimshar had set a fortress and storage towers in the canyon, and a few populists went to war.
+
+
+The Mouboo doesn't want to drink the Coffee. Try to force it to drink anyway?
+
+
+The Mouboo is lying down on the grass.
+O Mouboo está deitado na grama.
+
+The Mouboo seems to be lying in pain.
+O Mouboo parece estar sofrendo.
+
+The Moubootaur
+
+
+The Moubootaur is evil. Defeat him and protect the world. Now...
+
+
+The Moubootaur is the final opponent.
+
+
+The Pet Caring Guild will collect them after a while, and capture many others.
+O Pet Caring Guild irá coletá-los depois de um tempo e capturar muitos outros.
+
+The Premium Storage is available to all our sponsors and anyone with... references. Such as yourself!
+
+
+The Premium and Deluxe Storages are only available for characters which were reborn at least once.
+
+
+The Professor is so wise that even if you fall asleep while listening to his invisible speech, you'll still learn!!
+O Professor é tão sábio que, mesmo se você cair escuta enquanto dormia ao seu discurso invisível, você ainda vai aprender !!
+
+The Professor? Wait, THE Professor? As in, the wisest person on Tulimshar?
+O professor? Espere, o professor? Como em, a pessoa mais sábia em Tulimshar?
+
+The Queen's Party?
+
+
+The Red Queen was murdered, but her supporters prolonged the Civil War for at least six years after her death. The grudges were strong back then...
+
+
+The Red Queen's Party?
+
+
+The Regnum Blessing causes all monsters in an area
+A Bênção Regnum faz com que todos os monstros em uma área
+
+The Second Act
+O segundo ato
+
+The Self-Serving Ice Well!
+O poço de gelo de auto-serviço!
+
+The Shadow Tortuga won the race against the Panthom Lord.
+
+
+The Soul Menhir will attach your soul, so when you die, you'll appear where you last touched it.
+A Menhir da Alma irá anexar sua alma, então quando você morrer, você aparecerá onde você a tocou pela última vez.
+
+The Story of Dimonds Cove
+A história da capa de diamantes
+
+The Strike Back Is Upon Us!
+
+
+The Supreme and Ultimate floors are just a WIP bonus. So if you don't find them on the five and report back, that'll do.
+Os pisos Supremo e Ultimate são apenas um bônus WIP. Então, se você não encontrá-los nos cinco e reportar de volta, isso vai acontecer.
+
+The Team For A Better PvP says that @@ players were killed in fair matches!
+O Team For A Better PvP diz que @@ jogadores foram mortos em partidas justas!
+
+The Third Act
+The Third Act
+
+The Throne Room is the last room. You can reactive any switch which turns itself off.
+A sala do trono é o último quarto. Você pode reativar qualquer interruptor que se desligue.
+
+The Tulimshar guards needs an freelance employee who would help us with our work. We are searching for people like you.
+
+
+The Wildlife
+A vida selvagem
+
+The World Edge, which is where we are, is a holy land, the place where all began and all shall perish. Which is why after the World's Heart was broken, it was vowed to never make a settlement here ever again.
+
+
+The World's Heart is at World's Edge. The *real* Ancient Families are the ones who broke it in parts and brought it to each town.
+O coração do mundo está na borda do mundo. As Famílias Antigas * reais * são as que a quebraram em partes e a trouxeram para cada cidade.
+
+The World's Heart was shattered by the Ancient Families to serve as Soul Menhirs on the world, and this allows respawning after death, but at a cost.
+
+
+The Yeti King
+O rei do Yeti
+
+The Yetifly drops you off the cliff. Good job, noob.
+O Yetifly deixa você no penhasco. Bom trabalho, noob.
+
+The absolute hero: %s
+
+
+The account with highest votes will win. Ties will be solved by randomness.
+A conta com maior número de votos ganhará. Laços serão resolvidos pela aleatoriedade.
+
+The accounts need 15 days to set Pin Codes.
+As contas precisa de 15 dias para definir códigos PIN.
+
+The accurate hero: %s
+
+
+The advantage of fighting with a ranged weapon is that you can stay out of the enemy's range. So there is no need to spend training on your resistance.
+A vantagem de lutar com uma arma de longo alcance é que você pode ficar fora do alcance do inimigo. Portanto, não há necessidade de gastar treinamento em sua resistência.
+
+The aegis, entrusted to the tree,
+
+
+The alliance also have a special program, called ##BGrand Hunter Quest##b, where you kill 10,000 of a monster and get great rewards.
+
+
+The alliance will take %s GP as fee, +%d%% tax over donations.
+
+
+The answers might need to have whitespaces. DO NOT, BY ALL MEANS, insert two whitespaces instead of one.
+As respostas podem precisar de espaços em branco. NÃO, por todos os meios, insira dois espaços em branco em vez de um.
+
+The antennas by themselves mean nothing, I want to see you killing my ENEMIES, the pinkies!
+As antenas por si só não significam nada, eu quero ver você matando meus inimigos, os mindinhos!
+
+The average player level is @@
+O nível médio do jogador é @@
+
+The axe, returned to its owner,
+
+
+The bad one, is that you'll have to guide yourself without the map.
+
+
+The bank and item storage is shared between all characters within a same account.
+O banco e o armazenamento de itens são compartilhados entre todos os personagens de uma mesma conta.
+
+The best thing would be to let you make the bow by yourself. But I guess, that would go to far. And it would take ages to get a high quality bow.
+A melhor coisa seria deixar você fazer o arco sozinho. Mas eu acho que isso iria longe. E levaria séculos para obter um arco de alta qualidade.
+
+The best wares!
+Os melhores biscoitos!
+
+The big one without hat
+O grande sem chapéu
+
+The biggest mine, where you could find Mana Stones in the past, is now entirely depleted. Not a single stone left.
+A maior mina, onde você poderia encontrar Mana Stones no passado, está agora totalmente esgotada. Nenhuma pedra sobrou.
+
+The birthday of me and my girlfriend is coming up. Bring me 12 @@ and I'll make the fertilizer for you.
+O aniversário de mim e minha namorada está chegando. Traga-me 12 @@ e eu farei o fertilizante para você.
+
+The blame of failure will be over you, but so will be the glory of success. There's no death penalty for others.
+A culpa do fracasso será sobre você, mas assim será a glória do sucesso. Não há pena de morte para os outros.
+
+The boss can blind players. Blind will reduce hit rate and evasion in 25%.
+O chefe pode cegar jogadores. Blind irá reduzir a taxa de acertos e a evasão em 25%.
+
+The boss you discovered has ran away!
+
+
+The bottom-most the water, the better the bonus.
+Quanto mais fundo a água, melhor o bônus.
+
+The bow I gave you was a masterpiece.
+O arco que te dei foi uma obra prima.
+
+The bugs there can be pretty vicious. Do you know what's worse though? Lag.
+Os erros não pode ser muito cruel. Sabe o que é pior embora? Lag.
+
+The chant is ##B EMOC OTEM ITEY GNIK ##b. Good luck!
+
+
+The chant must be exact, without any prefix or suffix.
+O canto deve ser exata, sem qualquer prefixo ou sufixo.
+
+The chest is unlocked and empty.
+O baú está destrancado e vazio.
+
+The children are safe, aren't they...?
+As crianças estão seguras, não estão ...?
+
+The children are safe, could you rent me your sword?
+As crianças estão seguras, você poderia me alugar sua espada?
+
+The city guard won't need help from strangers anymore.
+A guarda da cidade não vai precisar da ajuda de estranhos anymore.
+
+The city is still under repairs, but town square is safe already.
+A cidade ainda está sob reparos, mas a praça da cidade já está segura.
+
+The city only flourished because Janett Platinum had the idea to build city walls surrounding this city.
+A cidade floresceu apenas porque Janett Platinum teve a ideia de construir muros da cidade em torno desta cidade.
+
+The city was defended with success! GG, everyone!
+
+
+The clan will end on this generation. And hopefully, the world will survive longer, things aren't looking well right now.
+
+
+The cold climate is ideal for slimes, penguins, and other icy creatures. You can find lots of... ice, of course!
+O clima frio é ideal para limos, pinguins e outras criaturas geladas. Você pode encontrar muitos ... gelo, claro!
+
+The cooking contest is coming up, and I don't want to lose to @@... Halinarzo's cook is just THAT good.
+O concurso de culinária está chegando, e eu não quero perder para @@ ... O cozinheiro de Halinarzo é simplesmente TÃO bom.
+
+The cost for Guild Vault is @@ GP.
+O custo do Guild Vault é @@ GP.
+
+The cost to create a guild is @@ GP.
+O custo para criar uma guilda é @@ GP.
+
+The council, however, supported the premier. He might have accepted the death sentence quietly, but the council would hear none of it. Benjamin took over and incited a civil war.
+
+
+The crops are under attack? That's terrible!
+As colheitas estão sob ataque? Isso é terrível!
+
+The crops have failed again but the government keeps wasting money on research, for what purposes, as if I would know.
+
+
+The crow took off to his last flight.
+
+
+The crystal has a shard missing.
+
+
+The crystal looks damaged.
+
+
+The current town administrator will be inscribed for re-election automatically.
+O administrador da cidade atual será inscrito para a reeleição automaticamente.
+
+The curse was done by nobody less than... the Moubootaur.
+A maldição não foi feita por ninguém menos que ... o Moubootaur.
+
+The desert climate means you'll find mostly maggots and scorpions. Their drops include cactus drinks, cake, knifes, black pearls, gold, and other common things.
+O clima do deserto significa que você encontrará principalmente larvas e escorpiões. Suas gotas incluem bebidas de cacto, bolo, facas, pérolas negras, ouro e outras coisas comuns.
+
+The doctor quickly analyzes you with some tool. Which looks like a screwdriver? Probably just a generic scanner, though.
+
+
+The doctor raises an eyebrow at you.
+
+
+The doctor told me to move here after I got tuberculosis... But I like Tulimshar so much! Please bring me Tulimshar souvenirs, I'll pay you well!
+O médico me disse para mudar para cá depois que eu tive tuberculose ... Mas eu gosto tanto de Tulimshar! Por favor, traga-me lembranças Tulimshar, eu vou te pagar bem!
+
+The door is locked
+A porta está trancada
+
+The door is locked!
+A porta está trancada!
+
+The door is locked, I should come back later.
+A porta está trancada, eu deveria voltar mais tarde.
+
+The door is locked, you should speak to Carla about it.
+A porta está trancada, você deveria falar com Carla sobre isso.
+
+The door is locked.
+A porta está trancada.
+
+The door is password-protected, so your friends can enter but strangers stay outside.
+A porta é protegida por senha, para que seus amigos possam entrar, mas estranhos ficam do lado de fora.
+
+The door is sealed. The riddle says: “I drink, I become, I am. Don't say my name, but say why you know me. For, I am the best in the world.â€
+
+
+The door won't budge.
+A porta não se move.
+
+The dream towers have shown up. They have several floors filled with treasure and dangerous monsters.
+
+
+The dyes are to disguise myself, I don't want to get caught. The potions are for safety, who knows what I'll face?
+Os corantes são para me disfarçar, eu não quero ser pego. As poções são para segurança, quem sabe o que vou enfrentar?
+
+The east power system is offline.
+O sistema de energia leste é offline.
+
+The effect in this case is based on the element.
+
+
+The effects and uses - if any - are still unknown.
+Os efeitos e usos - se houver - ainda são desconhecidos.
+
+The elements have alternate names, like "soil" which equals to "earth".
+
+
+The elf seems busy. He ignores you.
+
+
+The elf seems busy. She ignores you.
+
+
+The engine of fate will once again move!
+
+
+The event is over!
+O evento acabou!
+
+The event starts hourly, when the minute clock hits zero. I'll tell everyone on this room when it starts and ends.
+O evento começa de hora em hora, quando o relógio atinge zero. Eu direi a todos nesta sala quando ela começar e terminar.
+
+The farmer seems mad and in need of help. Will you help him?
+O fazendeiro parece louco e precisa de ajuda. Você vai ajudá-lo?
+
+The farther you go on the sequence, the better the payout!
+
+
+The fee only need to be paid once and will work in every town.
+A taxa só precisa ser paga uma vez e funcionará em todas as cidades.
+
+The fee to use this room is %s GP.
+
+
+The fertile climate is ideal for mushrooms. You can also find lots of wood.
+O clima fértil é ideal para cogumelos. Você também pode encontrar muita madeira.
+
+The final sentence still belongs to LoF Admins.
+A sentença final ainda pertence a LOF Administradores.
+
+The first job,
+O primeiro trabalho,
+
+The first one is easy.
+O primeiro é fácil.
+
+The first page contains the universal rules that have been agreed upon throughout the land.
+A primeira página contém as regras universais que foram acordadas em toda a terra.
+
+The first stage is on the desert canyons. You must give a full circle on the canyon in 90 seconds.
+O primeiro estágio é nos cânions do deserto. Você deve dar um círculo completo no canyon em 90 segundos.
+
+The first way,
+A primeira forma,
+
+The fishing rod allows a quick income by selling fishes. However, reaching the fisherman might require some exploration... The whole world is full of secrets.
+A vara de pesca permite uma renda rápida com a venda de peixes. No entanto, chegar ao pescador pode exigir alguma exploração ... O mundo inteiro é cheio de segredos.
+
+The following skill is needed: %s%s (Lv. %d)
+A seguir é necessário perícia:% s% s (. Lv% d)
+
+The fortress hero: %s
+
+
+The frontier hero: %s
+
+
+The gates are firmly shut by some weird magical power. %s
+Os portões estão firmemente fechada por algum poder mágico estranho. % s
+
+The gates are firmly shut, no amount of force will break them.
+Os portões estão firmemente fechados, nenhuma quantidade de força irá quebrá-los.
+
+The gates are firmly shut. A warning is on the door, "DO NOT ENTER. Guild Only."
+
+
+The gates to Aethyr have opened themselves to you.
+
+
+The giant boogeyman!
+O bicho-papão gigante!
+
+The girl turns around and you hear her sniffing, she is probably crying...
+A garota se vira e você a ouve farejando, ela provavelmente está chorando ...
+
+The goal is simple - I'll spawn an energy ball and you must kill it quickly. You'll be disqualified if you equip a non-magical weapon at any time.
+
+
+The good one, is that now I know the right path.
+
+
+The grand winner will get a %s. Both the first and second place will get a tuition at the Magic Academy.
+
+
+The great fire did very few causalities, but it destroyed a lot of infrastructure and ruined the economy. Famine and chaos ensued, we almost were wiped out back then. Maybe it would be best if we had indeed been wiped out...
+
+
+The great prize is @@.
+O grande prêmio é @@.
+
+The great prize is to unlock a pet!
+O grande prêmio é desbloquear um animal de estimação!
+
+The greater the distance to your target is, the more important is the strength and direction of the wind. Even if you are exploring a cave, there might be air flow caused by the corners in the cave.
+Quanto maior a distância do alvo, mais importante é a força e a direção do vento. Mesmo se você estiver explorando uma caverna, pode haver fluxo de ar causado pelos cantos da caverna.
+
+The group of warriors which went into the cave to rescue my precious Cindy still haven't returned... I'm worried with them, too...
+O grupo de guerreiros que entrou na caverna para resgatar minha preciosa Cindy ainda não retornou ... Estou preocupado com eles também ...
+
+The guard eyes you with suspcion.
+O guarda te olha com desconfiança.
+
+The guild's "%s" currently contribute with %02d%% EXP.
+
+
+The harsh pinkie holds secrets,
+
+
+The heroes met their rest.
+
+
+The hooded man was about to deliver me a final blow, but then he saw the Apple I've stole...
+O homem encapuzado estava prestes a me dar um golpe final, mas então ele viu o Apple I já roubou ...
+
+The house is a mess. They need me here. Also.
+A casa está uma bagunça. Eles precisam de mim aqui. Além disso.
+
+The hut is... empty. And it doesn't have a fireplace, either.
+A cabana está vazia. E também não tem lareira.
+
+The innominable they shall face
+
+
+The item impact suggests jumping inside should be safe if you have enough life.
+O impacto artigo sugere saltar dentro deve ser seguro se você tem vida suficiente.
+
+The item impact suggests jumping inside will leave you badly wounded.
+O impacto artigo sugere saltar dentro vai deixá-lo gravemente ferido.
+
+The item impact suggests you don't have enough vitality to jump inside.
+O impacto artigo sugere que você não tem vitalidade suficiente para saltar para dentro.
+
+The item must have a previous bonus, which WILL BE LOST!
+O item deve ter um bônus anterior, que será perdido!
+
+The item will be lost forever!
+
+
+The item will be lost forever.
+O item será perdido para sempre.
+
+The key is on the sewer %s path. Be careful. May the light be with you.
+A chave está no caminho do esgoto% s. Seja cuidadoso. Que a luz esteja com você.
+
+The kid is not paying attention to you.
+O garoto não está prestando atenção em você.
+
+The knob has... melted down? What?
+O botão foi ... derretido? O que?
+
+The last one is %s. You will meet him in the future, so no spoilers. Time traveler word.
+
+
+The last task I could give you is to exterminate 200 @@. They actually stop miners progress on the mine.
+A última tarefa que posso dar é exterminar 200 @@. Eles realmente impedem o progresso dos mineiros na mina.
+
+The last time they were seen... They went to explore the Desert Temple. None returned alive.
+A última vez que eles foram vistos ... Eles foram explorar o Templo do Deserto. Nenhum retornou vivo.
+
+The lifestone pendant allows you a quicker HP recovery. Life is more important than defense.
+O pendente lifestone permite uma recuperação mais rápida da HP. A vida é mais importante que a defesa.
+
+The lighting hero: %s
+
+
+The lockpick broke.
+O lockpick quebrou.
+
+The mage thief tried to all power absorb,
+O mago ladrão tentou absorver todo o poder,
+
+The maggots will spawn in @@ at random.
+As larvas vão aparecer em @@ aleatoriamente.
+
+The magic accumulated backfires at you!
+
+
+The magic council have only a handful set of them, and they let only the most skilled ones get it.
+O conselho mágico tem apenas um punhado deles, e eles deixam apenas os mais habilidosos conseguirem.
+
+The magic power outflowing in the room prevents you from leaving.
+O poder mágico que flui na sala impede que você saia.
+
+The main power system is offline.
+O sistema de alimentação principal está offline.
+
+The mana bridge is closed at the moment.
+A ponte de mana está fechada no momento.
+
+The mana bridge to Aeros is open! To participate on event, talk to ##BSoul Menhir##b!
+
+
+The mana war stroke, and many people died,
+O golpe de guerra de mana, e muitas pessoas morreram,
+
+The map starts getting darker with the heat of the flame, and curiously, new shapes starts to form...
+
+
+The masters have decided you are to be given honorary initiation into the Duck Side. The Duck Side is powerful, much more so than you could possibly understand.
+Os mestres decidiram que você está a ser dada iniciação honorário para o lado Duck. O lado Duck é poderoso, muito mais do que você poderia entender.
+
+The masters of the Duck Side, The Council of Elders, and King DD himself, on behalf of all ducks, thank you for your help. We wouldn't have survived without it.
+Os mestres do lado Duck, o Conselho de Anciãos, eo próprio rei DD, em nome de todos os patos, muito obrigado pela sua ajuda. Nós não teria sobrevivido sem ele.
+
+The mayor, Rakinorf, is probably on the Inn upstairs, drinking himself to death.
+O prefeito, Rakinorf, provavelmente está na hospedaria no andar de cima, bebendo até a morte.
+
+The message cannot be empty
+A mensagem não pode estar vazia
+
+The might contained in this curious object is too powerful. You have to be at least level 20 to harness it.
+
+
+The mightiest mage, which had control over the runes;
+
+
+The mighty Mana Stone does not reacts against you.
+A poderosa Mana Stone não reage contra você.
+
+The miner goes to count your stuff again.
+O mineiro vai contar suas coisas novamente.
+
+The mines are over a Volcano. Unless you're a Redy, the heat will slowly chip away your health if you go deep. But drinking iced water can improve temporarily your situation.
+
+
+The mines beyond this point have been shut at 280 AT because Terranite. You've been warned!
+As minas além deste ponto foram fechadas em 280 AT porque Terranita. Voce foi avisado!
+
+The mist over the Impregnable Fortress Peak finally lowered down, and it seems... The peaks are no more!
+A névoa sobre o Impregnable Fortress Peak finalmente baixou para baixo, e parece ... Os picos não são mais!
+
+The monster hunting program will end, and what will you do?
+O programa de caça monstro vai acabar, eo que você vai fazer?
+
+The monsters here are too strong, and as I said before, I can't get close to the Transcendence Portal nor to get training.
+Os monstros aqui são muito fortes, e como eu disse antes, eu não posso chegar perto do Portal Transcendência nem para começar o treinamento.
+
+The monsters on each Heroes Hold Dungeon will drop @@, a coin which can only be found here.
+Os monstros em cada Heroes Hold Dungeon irão cair @@, uma moeda que só pode ser encontrada aqui.
+
+The most aggressive and main ones are:
+
+
+The most basic grinding camp for your homunculus.
+O acampamento mais moagem básico para o seu homúnculo.
+
+The most common treasure box uses %s and can opened many times. However, this is a special treasure box. You'll need a %s to open it.
+A caixa do tesouro mais comum usa% s e pode abrir muitas vezes. No entanto, esta é uma caixa de tesouro especial. Você vai precisar de um% s para abri-lo.
+
+The most famous nymphs, are those who wear stuff made of Snake Skin.
+As ninfas mais famosas são aquelas que usam coisas feitas de pele de cobra.
+
+The most important thing to improve is your dexterity. When you use a bow, it is your dexterity that determines if you are able to hit your enemy where it hurts most.
+A coisa mais importante para melhorar é a sua destreza. Quando você usa um arco, é sua destreza que determina se você é capaz de acertar seu inimigo onde ele mais dói.
+
+The most powerful spells can, sometimes, summon some monster you didn't wanted to.
+Os feitiços mais poderosos podem, às vezes, invocar algum monstro que você não queria.
+
+The most widespread race in the continent, highly versatile, perfect all-rounders.
+A raça mais difundida no continente, altamente versátil, aperfeiçoar multifuncionais.
+
+The mouboo is sleeping soundly. The curse is still there.
+O mouboo está dormindo profundamente. A maldição ainda está lá.
+
+The mouboo looks a bit less sickly. But this is not enough.
+O mouboo parece um pouco menos doentio. Mas isto não é o suficiente.
+
+The mouboo looks a bit more healthy. A little more should do.
+O mouboo parece um pouco mais saudável. Um pouco mais deveria fazer.
+
+The mouboo seems to want to thank you, but is still too weak. Let's finish this healing.
+O mouboo parece querer agradecer, mas ainda é muito fraco. Vamos terminar essa cura.
+
+The mouboo still looks terrible, but you can see a small difference.
+O mouboo ainda parece terrível, mas você pode ver uma pequena diferença.
+
+The name of the wizard of Aethyr is the key to open its gates. I've heard it'll open for a lowly %s as you, as long that you know both. But I don't think anyone here would share that with you!
+
+
+The nanorob-- err, the *magic* will seal all your wounds. You trust Basil, right?
+O nanorob-- err, o * magic * irá selar todas as suas feridas. Você confia em Basil, certo?
+
+The next page begins to list the complex trading laws and political rules. The word "%s" shows up everywhere.
+
+
+The north power system is offline.
+O sistema de energia norte é offline.
+
+The number of players must be precise, meaning if someone doesn't joins,
+O número de jogadores deve ser preciso, ou seja, se alguém não se junta,
+
+The nurse... The nurse is... Doing all she can... To help me, though.
+A enfermeira ... A enfermeira está ... Fazendo tudo o que pode ... Para me ajudar, no entanto.
+
+The objective of this event is to ##Bslay the Monster Admiral##b.
+
+
+The old man seems busy. He ignores you.
+
+
+The one with a star (*) is advised.
+
+
+The ones around here are specially nasty. They steal stuff and seal them on 'present boxes', just to amuse as people try to open those...
+Os que estão por aqui são especialmente desagradáveis. Eles roubam coisas e as selam em caixas de presentes, só para se divertir enquanto as pessoas tentam abrir ...
+
+The only readable thing is an old stain of blood.
+A única coisa legível é uma velha mancha de sangue.
+
+The other councilors?
+
+
+The other one claims to be a dangerous bandit and to teach how to steal from monsters!
+O outro diz ser um bandido perigoso e ensinar como roubar monstros!
+
+The pan is empty, but it smells like fresh cookies.
+A panela está vazia, mas cheira a biscoitos frescos.
+
+The passwords doesn't match.
+As senhas não correspondem.
+
+The path to reach Eugene is hidden. However, if you pay attention to the map, you should figure out how to reach that island without swimming.
+O caminho para chegar Eugene está escondido. No entanto, se você prestar atenção ao mapa, você deve descobrir como chegar a essa ilha sem natação.
+
+The pirate ship captain appear! TAKE CARE!!
+O capitão do navio pirata aparece! CUIDAR!!
+
+The pirates amass for their siege, but they will not attack yet. Return when you are stronger. King DD is working to find a solution.
+Os piratas acumular para o cerco, mas eles não vão atacar ainda. Voltar quando estiver mais forte. Rei DD está trabalhando para encontrar uma solução.
+
+The pirates have been surrounding our island for many sun rises. We expect they will attack any time.
+Os piratas foram em torno nossa ilha por muitos sol nasce. Esperamos que eles vão atacar qualquer momento.
+
+The player is offline or does not exist.
+O jogador está offline ou não existe.
+
+The potion is baked, and the time is now running! Read as fast as you can, don't miss details!
+A poção é cozida, eo tempo está funcionando agora! Leia mais rápido que puder, não perca detalhes!
+
+The power of Soren's House kicks @@ like a game master.
+O poder da casa de Soren chuta @@ como um mestre de jogo.
+
+The power system is ##Bactive##b on the east.
+
+
+The power system is ##Bactive##b on the main.
+
+
+The power system is ##Bactive##b on the north.
+
+
+The power system is ##Bactive##b on the south.
+
+
+The power system is ##Bactive##b on the west.
+
+
+The power which lies in Candor acknowledges your strength.
+O poder que reside em Candor reconhece sua força.
+
+The power which lies in Candor rejects your strength.
+O poder que reside em Candor rejeita a sua força.
+
+The pressure you did made the door burst open. It is unusually quiet inside...
+A pressão que você fez fez a porta se abrir. É inusitadamente silencioso por dentro ...
+
+The previous attempt will be resumed.
+
+
+The previous mayor was an amazing mayor, but even so, he lost the office after the Monster King attacked.
+O prefeito anterior era um incrível prefeito, mas mesmo assim, ele perdeu o cargo depois que o Rei Monstro atacou.
+
+The price raises hourly, don't leave to make it on the last day!
+O preço aumenta de hora em hora, não deixe de fazê-lo no último dia!
+
+The prizes are only for the top 10. Loratay on Land Of Fire Village can make, for limited time, a @@ for you if you want.
+Os prémios são apenas para o top 10. Loratay na terra do fogo Village pode fazer, por tempo limitado, um @@ para você, se quiser.
+
+The problem is that Halinarzo was destroyed in the never-ending war and was just recently rebuilt.
+O problema é que Halinarzo foi destruído na guerra interminável e foi recentemente reconstruído.
+
+The problem is... The slimes ate the keys for the chests. This is not the first time such thing happens.
+O problema é ... O lodo comeu as chaves dos baús. Esta não é a primeira vez que tal coisa acontece.
+
+The problem with typos is - unpredictable side effects.
+
+
+The professor is always on the Magic Council, the northmost building. If you sit on the area in front of him (marked with a red rug), you'll gain Experience, even while AFK.
+O professor está sempre no Conselho de magia, o edifício northmost. Se você sentar-se na área em frente dele (marcado com um tapete vermelho), você vai ganhar experiência, mesmo enquanto AFK.
+
+The project is involving only a small group of members, but would welcome anyone who knows how to assist in development.
+O projeto envolve apenas um pequeno grupo de membros, mas gostaria de receber alguém que saiba ajudar no desenvolvimento.
+
+The reagent is always the same for the same class. If you do not have enough reagents but have an @@, it'll be used to continue.
+O reagente é sempre a mesma para a mesma classe. Se você não tem reagentes suficientes, mas têm um @@, ele vai ser usado para continuar.
+
+The real Monster King is probably on his fortress. It'll take more than that to take him down.
+O verdadeiro Rei dos Monstros provavelmente está em sua fortaleza. Vai demorar mais do que isso para derrubá-lo.
+
+The reason why they are not occupying the towns like before is still unknown.
+
+
+The register fee is 2000 GP.
+A taxa de inscrição é de 2000 GP.
+
+The rent lasts 30 days.
+O aluguel dura 30 dias.
+
+The requested char "%s" is not online or does not exist.
+
+
+The runes, burried with its owner.
+
+
+The sailor chugs his beer.
+O marinheiro engole sua cerveja.
+
+The sailor turns his back to you.
+O marinheiro vira de costas para você.
+
+The sailors take you aboard their ship.
+Os marinheiros te levam a bordo do navio deles.
+
+The sake wasn't ready yet and you lost it...
+A causa ainda não estava pronto e você perdeu ...
+
+The sea route I take is very dangerous, and full of pirates. You're too weak to travel with me.
+A rota marítima que tomo é muito perigosa e cheia de piratas. Você é muito fraco para viajar comigo.
+
+The seal retaliates! It was super effective. You are dead!
+O selo retalia! Foi super eficaz. Você está morto!
+
+The seal was broken!
+O selo foi quebrado!
+
+The seals having been broken, the barrier was weakened! You did it! The path is now open!
+Os selos foram quebrados, a barreira foi enfraquecida! Você fez isso! O caminho está agora aberto!
+
+The seals slowly grow stronger as time passes!
+Os selos lentamente crescer mais forte como o tempo passa!
+
+The second job,
+O segundo trabalho,
+
+The second stage is in the first cave to northwest you can find.
+O segundo estágio está na primeira caverna a noroeste que você pode encontrar.
+
+The second way,
+A segunda maneira,
+
+The selected item is too weak. %s will only tweak items level %d or higher.
+
+
+The sewer mouth is locked.
+A boca de esgoto está bloqueado.
+
+The ship can bring you to the town of Hurnscald, but we have a problem: It is currently being occupied by a Monster Army.
+O navio pode levá-lo para a cidade de Hurnscald, mas nós temos um problema: ele está sendo ocupado por um exército de monstros.
+
+The ship is locked, probably unable to leave port.
+O navio está trancado, provavelmente incapaz de sair do porto.
+
+The sides accept only one adventurer. You'll also lose access to General Chat upon joining, and will have to use #world.
+
+
+The singularities keep arming themselves up again, so I have roughly five minutes between first disarm and entering here.
+As singularidades continuam se armando novamente, então eu tenho aproximadamente cinco minutos entre o primeiro desarme e entrar aqui.
+
+The situation is different if someone from Hurnscald went to her rescue. That's why I ask you to help my Cindy.
+A situação é diferente se alguém de Hurnscald foi em seu socorro. É por isso que peço a você para ajudar minha Cindy.
+
+The situation is grim, and some want the return of the Platinum Red Queen. The "Soul Eater" is back, pretending to be her ghost, and the Black Razor believed on it. They made "The Queen's Party" and want to reinstate the queen.
+
+
+The situation is too serious to you be lying... Please, go fetch the items...
+A situação é muito séria para você estar mentindo ... Por favor, vá buscar os itens ...
+
+The skill would be wasted on a noob like you. You are weak. Go gain a few levels and then return here.
+
+
+The skill would be wasted on a noob mage like you. Go get more magic power first!
+
+
+The soldiers are resting at the moment.
+Os soldados estão descansando no momento.
+
+The sorcerer hero: %s
+
+
+The south power system is offline.
+O sistema de energia sul é offline.
+
+The spell backfires!
+O feitiço sai pela culatra!
+
+The spell fails!
+O feitiço falha!
+
+The spell takes a mind of its own backfires!
+O feitiço tem uma mente própria sai pela culatra!
+
+The stairs have magic cast on them, I cannot climb.
+As escadas têm magia nelas, não posso subir.
+
+The stairs lead to nowhere. However, there is a magic sigil on the bottom.
+As escadas levam a lugar nenhum. No entanto, existe um sigilo mágico no fundo.
+
+The statue doesn't replies.
+A estátua não responde.
+
+The stolen christmas boxes!! Christmas is RUINED!!!
+As caixas de natal roubadas !! O Natal é arruinado !!!
+
+The storehouse here is overrun with house maggots.
+O armazém aqui é invadido por larvas de casas.
+
+The storehouse is still over run with house maggots.
+O armazém ainda está cheio de larvas de casa.
+
+The story was so cool!
+
+
+The strategy is simple. When you hit the enemy, walk one or two tiles backwards.
+A estratégia é simples. Quando você acertar o inimigo, ande um ou dois azulejos para trás.
+
+The study skill allows you to see the exact health a monster have, as well some details.
+
+
+The supreme guardian of the "Talpan" creatures, such as you.
+
+
+The sword glows too much. Perhaps @@ could take it.
+A espada brilha demais. Talvez @@ pudesse empunhá-la.
+
+The symbols at the end of the book look to be warnings, though.
+Os símbolos no final do look book para ser advertências, no entanto.
+
+The teddy picks it and goes running to somewhere it can eat in peace. Now we know how we can please our little friend - with %s! How we didn't think on that before?!
+
+
+The teddy quickly takes the honey and fills the pot. It is really hungry!
+
+
+The teddy stares at it but does not approach. Maybe it is not hungry, or it doesn't want the food you offered.
+
+
+The title is transferred when the MVP is killed (either in PVP or by the boss), or when time runs out.
+O título é transferido quando o MVP é eliminado (no PVP ou pelo chefe) ou quando o tempo se esgota.
+
+The torch is currently lit.
+
+
+The torch is lit.
+
+
+The town administrator benefits for free services on the town.
+O administrador da cidade beneficia de serviços gratuitos na cidade.
+
+The tree doesn't likes your selfishness.
+
+
+The tree generously offer you one of its fruits.
+
+
+The trick at tracing parallel, is finding the difference. In this world, Cindy gives a %s, a personal belonging of her, to those whom rescue her. What is the reward on your world?
+
+
+The trickster can be found right here.
+O malandro pode ser encontrada aqui.
+
+The tyrant, which could shot from any distance;
+
+
+The uniform would be: @@, @@, @@ and @@
+O uniforme seria: @@, @@, @@ e @@
+
+The usage of @sk-commands was deprecated
+O uso de sk-comandos @ foi depreciado
+
+The village name is difficult to read.
+O nome da aldeia é difícil de ler.
+
+The vote was cast.
+A votação foi lançado.
+
+The wage is high?
+
+
+The warp crystal broke.
+O cristal da teia quebrou.
+
+The warrior turns towards you, grinning broadly.
+O guerreiro se vira para você, sorrindo amplamente.
+
+The water was too shallow...
+A água estava muito rasa ...
+
+The waterfall open, and you may now pass.
+
+
+The way is full of dangers. Not only king soldiers, but the beast has an army of their own!
+O caminho é cheio de perigos. Não só os soldados rei, mas a besta tem um exército de seu próprio!
+
+The west power system is offline.
+O sistema de energia oeste é offline.
+
+The whole team is very distressed, too. Could you take the opportunity to see if the team is putting the blame on Peetu? Thanks in advance.
+A equipe toda está muito angustiada também. Você poderia aproveitar a oportunidade para ver se a equipe está colocando a culpa em Peetu? Desde já, obrigado.
+
+The wind is blowing from @@.
+O vento está soprando de @@.
+
+The window appears to be unlocked. It might have been open some time ago.
+A janela parece estar desbloqueada. Pode ter sido aberto há algum tempo atrás.
+
+The wine wasn't ready yet and you lost it...
+O vinho ainda não estava pronto e você perdeu ...
+
+The wizard seems busy. He ignores you.
+
+
+The wood bends a little, but doesn't breaks.
+A madeira se dobra um pouco, mas não quebra.
+
+The wood, Jack the Lumberjack used to deliver me, but he isn't delivering anymore. And the string was imported from Halinarzo.
+A madeira, Jack the Lumberjack costumava me entregar, mas ele não está mais entregando. E a corda foi importada de Halinarzo.
+
+The world belong to Mouboos. They are sublime creatures!
+O mundo pertence a Mouboos. Eles são criaturas sublimes!
+
+The world hero %s and the High Council Officers will announce the times to raid the Fortress.
+
+
+The world is spiniiiiiiiing...
+O mundo está espionando ...
+
+The... Mou... Boo... Taur...
+O ... Mou ... Boo ... Taur ...
+
+Their economy provide many edible items and potions.
+Sua economia fornece muitos itens e poções comestíveis.
+
+Their fight was not damned,
+
+
+Their first stop was Hurnscald, so please go to Hurnscald Townhall, and speak with the mayor, he can help you getting there. You can't reach there normally, after all.
+Sua primeira parada foi Hurnscald, então, por favor, vá até Hurnscald Townhall e fale com o prefeito, ele pode ajudá-lo a chegar lá. Você não pode chegar lá normalmente, afinal.
+
+Their level was too low.
+
+
+Their main tasks are ensuring fair trading, protecting the cities from monster invasions, and guarding the Mana Stones.
+
+
+Then I craft some new type of strong desert shirt, to protect users from snakes and sunlight.
+Então eu ofereço um novo tipo de camisa forte do deserto, para proteger os usuários de cobras e luz solar.
+
+Then I hope you can keep your grades high, hmm hmm!
+Então eu espero que você pode manter suas notas altas, hmm hmm!
+
+Then I returned to Tulimshar. Now I do research, vote on the Magic Council meetings, and I also teach young mages about Transmutation magic.
+Então voltei para Tulimshar. Agora eu pesquiso, voto nas reuniões do Conselho Mágico e também ensino jovens magos sobre magia da Transmutação.
+
+Then I'll be sure you can't talk again.
+Então eu vou ter certeza que você não pode falar de novo.
+
+Then along came a soul as happy as can be
+Então veio uma alma tão feliz quanto pode ser
+
+Then could you perhaps kill 12 @@ for me?!
+Então você poderia talvez matar 12 @@ para mim?
+
+Then get to work already!
+
+
+Then please bring me this, so I can help you back.
+Então por favor me traga isso, então eu posso te ajudar de volta.
+
+Then prove yourself!
+Então prove você mesmo!
+
+Then so be it. Farewell.
+
+
+Then someone of a scholarship rank above your must approve it, and say that your work is enough to the next scholar rank.
+
+
+Then take the middle entrance.
+
+
+Then we have %s. You met her. She guards all Talpan beings, such as Humans, Elves, Reidys, Orcs and whatever. She is an evil woman. She grants nothing to her followers.
+
+
+Then you should look in buying Caffeinne. Curse is a status ailment which reduces your attack, nullifies your luck and makes you a snail. Simple Curses can be cured with time, too.
+Então você deve procurar em comprar cafeína. Maldição é uma doença de status que reduz seu ataque, anula sua sorte e faz de você um caracol. Maldições simples podem ser curadas com o tempo também.
+
+Then you'll be able to buy furniture and utility.
+Então você poderá comprar móveis e utilidades.
+
+Then, would you like me to transform one of your gems?#0
+
+
+Then, would you like me to transform one of your gems?#1
+
+
+There I was knee deep in pinkie pattie,
+Lá eu era profundo no joelho em pattie mindinho,
+
+There are Monster Attacks every month, how do you have time for tea parties?!
+Há ataques de monstros todos os meses, como você tem tempo para festas de chá ?!
+
+There are Pious on the island as well! %%i
+
+
+There are also less common ailments:
+Existem também doenças menos comuns:
+
+There are alternatives to the chant words, anyone can do it if they know the basic structure.
+
+
+There are banks all over the world. Usually every important village or city has one.
+Existem bancos em todo o mundo. Geralmente, todas as aldeias ou cidades importantes têm uma.
+
+There are five floors, and they're all very dangerous. But there are riches to be found.
+Existem cinco andares e todos são muito perigosos. Mas existem riquezas a serem encontradas.
+
+There are four basic class:
+Existem quatro classes básicas:
+
+There are no new players to welcome.
+Não há novos jogadores para bem-vindo.
+
+There are only a few pages missing.
+Existem apenas algumas páginas em falta.
+
+There are only four which you could want to know about.
+
+
+There are people in the world who need help!
+Existem pessoas no mundo que precisam de ajuda!
+
+There are rumors about a sacred elf land, where our antecessors lived in peacefully somewhere close to here, but the path was lost. That's why we now live with dwarves.
+
+
+There are secret caves on this city. In fact, Tulimshar holds many misteries.
+Há cavernas secretas nesta cidade. De fato, Tulimshar possui muitos mistérios.
+
+There are several minor status conditions, which may buff or debuff you.
+Existem várias condições de status menor, o que pode Buff Or debuff você.
+
+There are some old rusty knives on the table. Would you like to take one?
+Há algumas antigas facas enferrujadas na mesa. Você gostaria de tirar uma?
+
+There are some sailors near the forge. Think outside the box - or rather, inside it, unless you have a fortune to buy the items.
+Existem alguns marinheiros perto da forja. Pense fora da caixa - ou melhor, dentro dela, a menos que você tenha uma fortuna para comprar os itens.
+
+There are some slimes around in the deeper parts of the library. Remember to kill them alone, and beware, if they kill themselves it won't count.
+Existem alguns slimes nas partes mais profundas da biblioteca. Lembre-se de matá-los sozinho, e cuidado, se eles se matarem, isso não vai contar.
+
+There are some stones scattered around the world that mark your point of return in case of defeats. Some ship chests may also serve as a return point. You can also select some beds in case of defeats.
+Existem algumas pedras espalhadas pelo mundo que marcam seu ponto de retorno em caso de derrotas. Alguns baús de navios também podem servir como ponto de retorno. Você também pode selecionar algumas camas em caso de derrotas.
+
+There are still some monsters left! Do you want to abort the quest?
+Ainda restam alguns monstros! Você quer abortar a quest?
+
+There are three kind of monsters which frequently attacks our fair vessel.
+Existem três tipos de monstros que freqüentemente atacam nosso navio justo.
+
+There are three singularities on this island. If I disarm more than one, I'll have a penalty.
+Existem três singularidades nesta ilha. Se eu desarmar mais de um, terei uma penalidade.
+
+There are three types of items.
+Existem três tipos de itens.
+
+There are three types of monsters: the aggressive, the neutral, and the collaborative.
+Existem três tipos de monstros: o agressivo, o neutro e o colaborativo.
+
+There doesn't seem to be any physical wound.
+
+
+There exist more food than you know. But this time I don't want anything extravagant, just 6 @@ should be fine.
+Existem mais alimentos do que você conhece. Mas desta vez não quero nada extravagante, apenas 6 @@ deve estar bem.
+
+There is a NPC called Trainer, just outside this ship.
+Existe um NPC chamado Treinador, do lado de fora desse navio.
+
+There is a chasm.
+Existe um abismo.
+
+There is a rare kind of scorpion, the Murderer Scorpion. Very dangerous.
+Existe um tipo raro de escorpião, o Escorpião Assassino. Muito perigoso.
+
+There is a slight breeze coming from @@.
+Há uma ligeira brisa vinda de @@.
+
+There is a time limit, which is already running.
+
+
+There is no EXP penalty, but you cannot go back without either completing the cave, or dying.
+Não há penalidade de EXP, mas você não pode voltar sem completar a caverna ou morrer.
+
+There is no free speech. Censorship!
+
+
+There is no honor in fighting a weak opponent.
+Não há honra em lutar contra um adversário fraco.
+
+There is no other solution; A desperate struggle is needed...
+
+
+There is only one way towards the best equipment: Smith away!
+Existe apenas um caminho para o melhor equipamento: Smith away!
+
+There is only so much magical power your body can handle without breaking.
+Há somente tanto poder mágico seu corpo pode suportar sem quebrar.
+
+There is someone who might know how to turn a slime back in a human. But alas, that old fart doesn't live here.
+
+
+There isn't enough, not even for NPCs. We need at least 100.
+Não há o suficiente, nem mesmo para NPCs. Precisamos de pelo menos 100.
+
+There may be some exceptions. Anyway, this item clearly cannot be refined.
+Pode haver algumas exceções. De qualquer forma, este item claramente não pode ser refinado.
+
+There might be reward for anyone who doesn't gets a rank, but I never count on that. So, let's start?
+Pode haver recompensa para quem não recebe uma classificação, mas nunca conto com isso. Então vamos começar?
+
+There probably is a huge, flashing orange exclamation mark over a suitable knife you could take and nobody would mind.
+Provavelmente há um enorme ponto de exclamação laranja sobre uma faca adequada que você poderia pegar e ninguém se importaria.
+
+There seems to be signs of a fight long forgotten, but it still reeks blood.
+Parece haver sinais de uma luta há muito esquecida, mas ainda cheira a sangue.
+
+There seems to be sort of lock preventing you from passing.
+
+
+There was a visitor with a mask? I didn't notice. You see, I spend most of my time in the workshop, and concentrate on my work. There are other helpers who attend to the visitors. And hopefully keep them from disturbing my concentration.
+Houve um visitante com uma máscara? Eu não percebi. Você vê, eu gasto a maior parte do meu tempo na oficina e me concentro no meu trabalho. Existem outros ajudantes que atendem aos visitantes. E esperemos que eles não perturbem minha concentração.
+
+There was nobody on the Bandit Lord's room.
+Não havia ninguém no quarto do Bandit Lord.
+
+There will be consequences.
+Haverá conseqüências.
+
+There you are! A towel is really the most important item for a hitchhiker to have.
+Aí está você! Uma toalha é realmente o item mais importante para um caroneiro.
+
+There you go!
+Ai está!
+
+There you go! Thanks for all the help!
+Ai está! Obrigado por toda a ajuda!
+
+There you go, %s. If you don't know anything about crafting I heard someone on Tulimshar's Terranite Forge can help?
+
+
+There you go, a special and rare @@!
+Lá vai você, um especial e raro @@!
+
+There you go, boring person... You will look like the trees here. Ugh, disgusting.
+Lá vai você, pessoa chata ... Você vai se parecer com as árvores aqui. Ugh, nojento.
+
+There you go, your Valentine Dress!
+Lá vai você, seu vestido de dia dos namorados!
+
+There you go. Craft hard, mwhahahahaha!
+Ai está. Artesanato, mwahahahaha!
+
+There you go. Enjoy it!
+Ai está. Aproveite!
+
+There you go. I wish you good luck. @@
+Ai está. Te desejo boa sorte. @@
+
+There'll be monsters, the maze is randomly generated, and the initial position for you and the Ent is not fixed. Therefore, you may begin handicapped in some cases depending on luck only.
+
+
+There's a big prize in the end... Could you bring me some later?
+Há um grande prêmio no final ... Você poderia me trazer mais tarde?
+
+There's a long time we don't eat anything. Bring us @@! Five should do it.
+Há muito tempo não comemos nada. Traga-nos @@! Cinco deveriam fazer isso.
+
+There's a shiny safe here. How much money is inside? Nobody is looking at you, great!
+Há um cofre brilhante aqui. Quanto dinheiro tem dentro? Ninguém está olhando para você, ótimo!
+
+There's a small, damp corritor, which you could crawl though.
+Há um pequeno, corritor úmido, o que você poderia rastejar embora.
+
+There's a strong magic barrier. We need to disarm it in order to enter there.
+Há uma forte barreira mágica. Precisamos desarmá-lo para entrar lá.
+
+There's a summoning circle on Tulimshar Sewers. You can reach either by boat, if you have the money - I'll lend you some; Or by the long way.
+
+
+There's also Morgan, who lives in Candor. She is a Redy, and is married with Zitoni. They are great alchemists.
+Há também Morgan, que mora em Candor. Ela é uma Redy e é casada com Zitoni. Eles são grandes alquimistas.
+
+There's also a job level, which produces green sparkles when you level it.
+Há também um nível de trabalho, que produz brilhos verdes ao nivelá-lo.
+
+There's also weather, meaning it can rain, snow, or even happen a sandstorm. They are usually cosmetic, but...
+Há também o tempo, o que significa que pode chover, nevar ou até acontecer uma tempestade de areia. Eles são geralmente cosméticos, mas ...
+
+There's always some chance that THE ITEM WILL BREAK, beware!
+Há sempre alguma chance de que o item vai quebrar, cuidado!
+
+There's an annoying half-wose-half-elf called Thorn trying to impress me with his wose side!
+Há um meio-elfo meio chato chamado Thorn tentando me impressionar com o seu lado do mangual!
+
+There's no change in the condition of the poor Mouboo.
+
+
+There's no help available for this event.
+Não há ajuda disponível para este evento.
+
+There's no need to go in that Yeti infested den right now.
+Não há necessidade de ir naquele covil infestado de Yeti agora.
+
+There's no one who knows Butterfly Caves better than me, child. These are MY caves, after all.
+
+
+There's no reason to enter these caves now.
+Não há razão para entrar nessas cavernas agora.
+
+There's no thank me, its'kay you're welcome
+Não há nenhum agradecimento, é bom
+
+There's no time limit on this riddle.
+Não há limite de tempo para este enigma.
+
+There's not everything I've asked for...
+Não há tudo que eu pedi ...
+
+There's nothing in the Magic Council Room, though. It's just a perk.
+Não há nada na Sala do Conselho Mágico, no entanto. É apenas um privilégio.
+
+There's one on the basement of this house. If you kill it, Hasan will think on you as a hero and won't steal you anymore.
+Há um no porão desta casa. Se você matar, Hasan vai pensar em você como um herói e não vai mais roubar você.
+
+There's some diversity, but you should keep aiming at helping people and killing small-fry. If you ever want a challenge, there's a Giant Maggot inside the town which can kill you in one hit.
+
+
+There's somewhere I want you to go, but you're not strong enough yet, so be patient and help them first.
+Há algum lugar que eu quero que você vá, mas você ainda não é forte o suficiente, então seja paciente e ajude-os primeiro.
+
+There's usually not a lot of things to do past these gates, but some monsters which only lives on the Land of Fire can only be found there!
+Geralmente não há muitas coisas para fazer além desses portões, mas alguns monstros que só vivem na Terra do Fogo só podem ser encontrados lá!
+
+There, now you can not only craft items, but craft AWESOME ITEMS!
+Lá, agora você pode não apenas criar itens, mas criar ITENS IMPRESSIONANTES!
+
+There... *hic* They will expire *hic* in just @@... Or on logout.
+Lá ... * hic * Eles irão expirar * hic * em apenas @@ ... Ou no logout.
+
+Therefore we need a lot of glue, but our supplies are nearly used up. I need @@/@@ @@ as ingredient to make new glue.
+Portanto, precisamos de muita cola, mas nossos suprimentos estão quase esgotados. Eu preciso de @@ / @@ @@ como ingrediente para fazer nova cola.
+
+Therefore, I shall head to the %s, and look for %s. If anyone knows how to fix it, might as well be that rat-faced... being.
+
+
+Therefore, children of Merlin, go back to your world, and ask the Blue Sage Nikolai about it. The blue sage may fake angerness or try to dodge the question, but they are a good person. Still, you should ensure you're on his good side.
+
+
+Therefore, just for a short while, I offer to be your blade.
+
+
+Therefore, please choose a permanent stat-boosting fruit.
+
+
+Therefore, the Alliance created a system so when you kill a monster, depending on its strength, you'll get Monster Points.
+Portanto, a Aliança criou um sistema para que, quando você matar um monstro, dependendo da sua força, você receba Pontos de Monstro.
+
+Therefore... Are you perhaps interested in some... illicit goods? %%p
+
+
+Thermin is also known as the lost city. It was once founded to mine ores, and export to everyone.
+Theremin também é conhecida como a cidade perdida. Foi fundada uma vez para minérios e exportar para todos.
+
+These are being crafted by Alan.
+Estes estão sendo criados por Alan.
+
+These are dangerous caves since Marley and her gang made it a hideout.
+
+
+These are saved by walking in warp portals or touching Soul Menhirs.
+Estes são salvos por andar em portais de dobra ou tocando Soul Menhirs.
+
+These assassins will catch me if I do that now!
+Esses assassinos vão me pegar se eu fizer isso agora!
+
+These barrels are sealed and heavy. It's impossible to know what's inside. There's a marking on them, you copy them somewhere.
+Esses barris são selados e pesados. É impossível saber o que tem dentro. Há uma marcação neles, você os copia em algum lugar.
+
+These battle plans are all wrong; They trace routes on the Canyon which doesn't exist...
+
+
+These boxes cannot be sold, but they'll be deleted a while after the event ends.
+Essas caixas não podem ser vendidas, mas serão excluídas após o término do evento.
+
+These cliffs are no place for weak people like you. You better teleport yourself away as soon as possible!
+Essas falésias não são lugar para pessoas fracas como você. É melhor você se teletransportar o mais rápido possível!
+
+These gold fishes multiply horribly and have no natural predator.
+Estes peixes do ouro multiplicam horrivelmente e não têm nenhum predador natural.
+
+These monsters are a great source of raw crafting materials.
+Esses monstros são uma ótima fonte de materiais de produção crus.
+
+These paths are all wrong! What is the problem with this map?!
+
+
+These people have lots of unspent Strange Coins! Waw!
+Essas pessoas têm muitas moedas estranhas não gastas! Waw!
+
+These towers must hold unfathomable secrets from %s.
+
+
+These weapons are only for masters, so you must get levels before being able to use them.
+Estas armas são apenas para mestres, então você deve obter níveis antes de poder usá-los.
+
+These will do just fine.
+Isso fará muito bem.
+
+Theta Book
+Livro teta
+
+Theta Ring
+Anel Theta
+
+They also determine rules, and enforce them. We live under a disguised dictatorship.
+
+
+They also don't need much intelligence or magic equipment.
+Eles também não precisam de muita inteligência ou equipamento mágico.
+
+They also hold control over the Mana Stones, but this is not the problem.
+Eles também controlam as Mana Stones, mas esse não é o problema.
+
+They also recently took over some city affairs. It's good they're protecting us, but I'm afraid of them creeping into our lives!
+
+
+They are at north of the town.
+
+
+They are filled with a strange gas which makes they deflect attacks. They are done from a material which cannot be cut easily.
+Eles estão cheios de um gás estranho que faz com que eles desviem ataques. Eles são feitos de um material que não pode ser cortado facilmente.
+
+They are hidden in the crypts, inside a cave.
+
+
+They are highly intelligent, and have higher magical affinity, and live longer, but lacks creativity.
+Eles são muito inteligentes, e têm maior afinidade mágica, e viver mais tempo, mas carece de criatividade.
+
+They are in the basement, pulling the strings from behind.
+Eles estão no porão, puxando as cordas por trás.
+
+They are known to use a revolutionary hair growth formula, which can give you a wild thatch even if you are bald!
+
+
+They are now like most monsters. I pity them. Their sacrifice was not in vain, though.
+Eles são como a maioria dos monstros. Tenho pena deles. Seu sacrifício não foi em vão, no entanto.
+
+They are strict with who is allowed inside, so you'll need either elf or ukar friends to pass.
+Eles são rigorosos com quem é permitido dentro, então você precisa de elf ou ukar amigos para passar.
+
+They became friends and Dimond told Merlin about her idea.
+Eles se tornaram amigos e Dimond contou a Merlin sobre sua ideia.
+
+They came in the night, always taking what does not belong to them.... The SLIMES!
+Eles vieram à noite, sempre pegando o que não lhes pertence .... Os SLIMES!
+
+They can be a bit lacking in defensive power, however.
+Eles podem ser um pouco carentes de poder defensivo, no entanto.
+
+They can be equipped to make your look more interesting or to improve some of its features.
+Eles podem ser equipados para tornar sua aparência mais interessante ou melhorar alguns de seus recursos.
+
+They cheat! They make silly tricks which look like magic.
+Eles enganar! Eles fazem truques bobos que parecem mágica.
+
+They did nothing good! They claim the Platinum Queen was a savior, all lies!
+
+
+They had a TMWA server, but the Monster King went hyperactive and... Well, it crashed here.
+Eles tinham um servidor TMWA, mas o Monster King ficou hiperativo e ... Bem, ele caiu aqui.
+
+They had a critical role in ensuring the human's race survival to The Great Fire.
+
+
+They have 10x more chance to drop a @@, so it is a great deal!
+Eles têm 10x mais chance de perder um @ @, então é um ótimo negócio!
+
+They haven't found Mana Stones yet, so no magic, but alchemy is strong. I don't know what caused the Great Fire, and the whole event is time-locked. You can ask Falkrun for more about the Great Fire. That's what you need to know for now.
+
+
+They jump left and right and left and right again, and I can't catch them.
+Eles pulam para a esquerda e para a direita e para a esquerda e para a direita novamente, e eu não consigo pegá-los.
+
+They left me no inheritance, either. Even surviving has been a struggle. I'm not strong enough to kill the living potatoes for @@.
+Eles me deixaram nenhuma herança, também. Mesmo sobrevivência tem sido uma luta. Eu não sou forte o suficiente para matar as batatas de vida para @@.
+
+They live below this town. Can you do this for me?
+Eles vivem abaixo desta cidade. Você pode fazer isso por mim?
+
+They must be hiding in some cave... It's a shame!
+Eles devem estar escondido em alguma caverna ... É uma vergonha!
+
+They must be reagents used in alchemy.
+Eles devem ser reagentes usados ​​na alquimia.
+
+They must never know we had it. Their sacrifices must be forgotten. For the sake of all.
+Eles nunca devem saber que nós tivemos isso. Seus sacrifícios devem ser esquecidos. Pelo bem de todos.
+
+They need to be feed, when hunger falls below 75. @@ is the best food for them.
+Eles precisam ser alimentados, quando a fome cai abaixo de 75. @@ é a melhor comida para eles.
+
+They promised to travel to the ##BWorld Edge##b to fetch a Mana Fragment. The wisest of them said it was the only chance.
+
+
+They rely entirely in intelligence and magic equipment.
+Eles confiam inteiramente em inteligência e equipamentos de magia.
+
+They restrict access to it to prevent new Monster Kings from emerging. They also keep record on every mage in the world.
+Eles restringir o acesso a ela para evitar novos reis do monstro de emergentes. Eles também manter registro em cada mago no mundo.
+
+They set up shop in the whole town, so if you are in need of upgrading your gear or buying health food, it might be a good idea to pay them a visit.
+
+
+They shouldn't. Could you perhaps, kindly bring me 1 @@?
+Eles não deveriam. Você poderia, talvez, gentilmente me trazer 1 @@?
+
+They use magic to boost their bodies, allowing them to do very, VERY powerful physical attacks.
+Eles usam mágica para impulsionar seus corpos, permitindo-lhes fazer muito, muito poderoso ataques físicos.
+
+They use mana to create magic attacks and blast their foes away.
+Eles usam mana para criar ataques mágicos e explodir seus inimigos de distância.
+
+They used to be an advanced civilization long long ago, but they decided to go against the Moubootaur.
+Eles costumavam ser uma civilização avançada há muito tempo, mas eles decidiram ir contra o Moubootaur.
+
+They used to export food and other things but there has been radio silence recentely; Which is why Andrei Sakar and a group of adventurers borrowed Nard's ship and went to investigate.
+
+
+They wanted magic to be once again free!
+Eles queriam que a magia fosse novamente livre!
+
+They were a noob.
+
+
+They were given with @@ by @@.
+Eles foram dados com @@ por @@.
+
+They were never again seen. None of them. We burnt all records about everyone here, and blamed the Monster King.
+Eles nunca mais foram vistos. Nenhum deles. Nós queimamos todos os registros sobre todos aqui, e culpamos o Rei Monstro.
+
+They were sending food and supplies to the Alliance, but in the past months, there was a deadly silence. Not a single sign of life came from there.
+
+
+They will all perish, along most of wildlife, according to the legend passed down.
+Todos eles vão perecer, ao longo da maior parte da vida selvagem, de acordo com a lenda passada.
+
+They will not attack anyone unless they are attacked first.
+Eles não atacarão ninguém a menos que sejam atacados primeiro.
+
+They will try to prove your worth before, though. So be ready.
+Eles vão tentar provar o seu valor antes, embora. Para estar pronto.
+
+They'll also start spawning on whole map, so be careful.
+
+
+They're back - and they took hold of your majesty - my husband - king Arthur!
+Eles estão de volta - e tomaram posse de sua majestade - o meu marido - rei Arthur!
+
+They're not magic, but yayaya, people like to say it is! Yeyeye.
+Eles não são mágicos, mas yayaya, as pessoas gostam de dizer que é! Yeyeye
+
+They're not too dangerous, but they can take a lot of hits. So, if you kill 10 of them, I'll know you're dedicated in learning which monsters are out there.
+
+
+They're scary, don't you think so?
+Eles são assustadores, você não acha?
+
+They're strong, so keep fighting Maggots and Scorpions which you're used to, until you get stronger.
+Eles são fortes, então continue lutando contra os vermes e os escorpiões aos quais você está acostumado, até ficar mais forte.
+
+They're too strong for me!
+Eles são fortes demais para mim!
+
+They're with me.
+Eles estão comigo.
+
+Thief
+Ladrao
+
+Think on Season Quests as a yearly quest which you have three months to do.
+Pense em missões da temporada como uma busca anual que você tem três meses para fazer.
+
+Think on it like a... perk, for having helped the adventurers in this world. I just need to check if you are eligible, hold still.
+
+
+Thinking a bit... Yes, you definitely should go to the mines. They have been infested by slimes and people sometimes worry they'll leave and attack the town, but you should be capable of suppressing them.
+
+
+Thinking well, I've heard Cyndala could bleach these pants for free; Must be because their ugliness.
+
+
+Thinking well... There's something behind it! A secret window!
+Pensando bem ... Há algo por trás disso! Uma janela secreta!
+
+Third Tier
+Terceiro nível
+
+This %s will do. I mean, it won't be a comfortable trip, but you are in an emergency situation.
+
+
+This @@ is a nice stuff. I can refine it for @@ GP and @@ @@.
+Este @@ é uma coisa legal. Eu posso refiná-lo por @@ GP e @@ @@.
+
+This Portal can send your soul back to the world, along any items, money and/or experience gained.
+Este Portal pode enviar sua alma de volta ao mundo, junto com qualquer item, dinheiro e / ou experiência adquirida.
+
+This Real Estate is available for rent for only @@ GP!
+Este imóvel está disponível para aluguel por apenas @@ GP!
+
+This a simple game; Choose one of the shrines - west or east. The one at west is %s, the one at east is %s.
+
+
+This action CANNOT BE UNDONE.
+Essa ação não pode ser desfeita.
+
+This area is not yet ready. Please use the portal to the right instead.
+Esta área ainda não está pronto. Utilize o portal para a direita em seu lugar.
+
+This area is only for level 70 upwards.
+Esta área é apenas para o nível 70 para cima.
+
+This barrel is a courtesy from Dimond Cove Inn.
+Este barril é uma cortesia de Diamond Cove Inn.
+
+This barrel seems suspicious...
+Este barril parece suspeito ...
+
+This basically means that it'll be another day without it.
+Isso basicamente significa que será outro dia sem isso.
+
+This book is too advanced to read. You need level %d in %s to read it.
+
+
+This book outlines the laws which applies everywhere in the World Of Mana.
+Este livro descreve as leis que se aplicam em todo o mundo do Mana.
+
+This book will write itself, and reveal you the Secret Of Mana.
+Este livro irá escrever-se e revelar-lhe o Segredo do Mana.
+
+This boost can be used until level 20.
+Este aumento pode ser usado até o nível 20.
+
+This bounty has expired.
+
+
+This boy needs help, we need to rescue him!#1
+
+
+This can only be reverted at rebirth! Beware!
+Isso só pode ser revertido pelo renascimento! Cuidado!
+
+This cannot be evolved.
+
+
+This cannot be undo later!
+Isso não pode ser desfazer mais tarde!
+
+This cave is considered outside the town!
+Esta caverna é considerada fora da cidade!
+
+This certainly is just to reorganize their armies. We must take this chance to improve ourselves, or else, we'll be overrun soon enough.
+
+
+This challenge will be available in %s. Please wait until then.
+
+
+This character person is strange I better get away...
+Essa pessoa de caráter é estranha, é melhor eu fugir ...
+
+This choice CANNOT be undone later.
+
+
+This coal will aid you to craft better weapons later. It's a token of appreciation. Good job.
+Este carvão ajudará você a fabricar armas melhores depois. É um sinal de apreciação. Bom trabalho.
+
+This command cannot be used on test servers.
+
+
+This conversation never happened.
+
+
+This curse reclaims your soul to the Soul Eater. Except, she perished on the Great Fire.
+
+
+This diary had several pages torn off, but the last page is clearly legible.
+
+
+This didn't work. All pins are now unset!
+Isso não funcionou. Todos os pinos estão agora desfeitos!
+
+This doesn't looks like a toy.
+
+
+This door is locked, if we only had a %s...
+Esta porta está trancada, se nós só tinha uma% s ...
+
+This door is locked.
+Essa porta está trancada.
+
+This door is locked. A warning sign is on the door: "do not enter!".
+
+
+This error is fatal, we stop execution.
+Este erro é fatal, paramos a execução.
+
+This estate currently belongs to @@.
+Esta propriedade pertence atualmente a @@.
+
+This estate is available for rent, talk to the sign to rent it.
+Esta propriedade está disponível para alugar, fale com o sinal para alugá-lo.
+
+This event has already ended.
+Este evento já terminou.
+
+This event is unique, and cannot be repeated.
+
+
+This example will not be shown again.
+Este exemplo não serão mostrados de novo.
+
+This exposition has to be a success!
+Esta exposição tem de ser um sucesso!
+
+This farm is dying due constant monster attacks, and without them, Tulimshar might face a famine.
+Esta fazenda está morrendo devido a constantes ataques de monstros, e sem eles, Tulimshar pode enfrentar uma fome.
+
+This fertilizer is projected to protect the plants from plagues, bugs, scorpions and maggots, trying to not be a plague itself.
+Este fertilizante é projetado para proteger as plantas de pragas, insetos, escorpiões e vermes, tentando não ser uma praga em si.
+
+This fishing spot has just been used, give it a rest.
+Este local de pesca acaba de ser usado, dê um tempo.
+
+This fishing spot is already being used!
+Este local de pesca já está sendo usado!
+
+This forge will prepare equipment for you, no skill required!
+Esta forja irá preparar equipamentos para você, sem habilidade necessária!
+
+This gate is still sealed.
+Esta porta é ainda selado.
+
+This girl needs help, we need to rescue her!#0
+Essa garota precisa de ajuda, precisamos resgatá-la!
+
+This happens quite often, too. My friends and I are always collecting keys to reduce beer price on Hurnscald. %%2
+
+
+This has been a long journey, children, so please answer me. Is power a good thing?
+
+
+This have many uses. Maybe. Anyway, I'm soon done with my experiment, so please come back later.
+Isto tem muitos usos. Talvez. Enfim, eu estou em breve feito com a minha experiência, então, por favor, volte mais tarde.
+
+This is ##BCandor Island##b. A very small rich community lives here.
+
+
+This is Duck Island, the last safe refuge for birds. Ducks tend to be very peaceful, but our young ruler, King DD, has been taken up with the art of war.
+Esta é Duck Island, o último refúgio seguro para as aves. Patos tendem a ser muito tranquila, mas o nosso jovem governante, o rei DD, foi retomada com a arte da guerra.
+
+This is Tulishmar, the oldest of human cities.
+Este é Tulishmar, a mais antiga das cidades humanas.
+
+This is a @@, meaning only the victor party will receive the great prize.
+Este é um @@, significando que apenas a parte vencedora receberá o grande prêmio.
+
+This is a Cursed Lands map, you'll lose mana over time and may also incurr in debuffs if mana is low (may cause death).
+
+
+This is a Soul Menhir, but seems more magical than the others.
+Este é um Menhir da Alma, mas parece mais mágico que os outros.
+
+This is a bleeding map, HP won't recover naturally, and bleeding may start.
+
+
+This is a hot map, you're suffering damage over time.
+Este é um mapa quente, você está sofrendo danos ao longo do tempo.
+
+This is a magical barrier, powered by three seals in your part.
+Esta é uma barreira mágica, alimentada por três selos da sua parte.
+
+This is a menu, click on the option and then on submit. You can use arrow keys if you prefer.
+
+
+This is a menu. You can click on the desired option and press "Send", and double-clicking should work, too.
+
+
+This is a special map so your death is not counted.
+Este é um mapa especial para a sua morte não é contado.
+
+This is a strange switch...
+Este é um interruptor estranho ...
+
+This is a weird stone. It looks like a Mana Stone from afar, but anyone can tell it is fake.
+
+
+This is an apartment. You cannot renew until it expire, and cannot invite guests.
+Este é um apartamento. Você não pode renovar até expirar e não pode convidar pessoas.
+
+This is another chant which causes normal fire damage in an area.
+
+
+This is difficult, but you are giving your best!!
+Isso é difícil, mas você está dando o seu melhor !!
+
+This is going to be difficult... oh, hello. I'm working on recreating some of the books that were destroyed.
+Isso vai ser difícil ... oh, olá. Estou trabalhando na recriação de alguns dos livros que foram destruídos.
+
+This is great! My collection of rare figurines is now complete.
+Isso é ótimo! Minha coleção de figurinhas raras está completa agora.
+
+This is how the Monster King became evil. Keep practicing magic, so you get more comfortable with it and fail less often.
+É assim que o Rei Monstro se tornou maligno. Continue praticando magia, para que você fique mais confortável com ela e falhe com menos frequência.
+
+This is in honor of all the [@@help://about-server|Contributors@@] who helped rebuilding this world, after the Monster War outbreak.
+Isso é uma homenagem a todos os [@@help://about-server|Contribuidores@@] que ajudaram a reconstruir este mundo, após a Guerra dos Monstros.
+
+This is just a bucket, but I did some cuts on it so you can see though it. It protects your whole face.
+Este é apenas um balde, mas eu fiz alguns cortes nele para que você possa ver. Protege todo o seu rosto.
+
+This is just a friendly advise. We don't take magic lightly. And you shouldn't, either.
+Este é apenas um conselho amigável. Nós não levamos a magia de ânimo leve. E você também não deveria.
+
+This is just a short list to make GMs life easier!
+Esta é apenas uma pequena lista para facilitar a vida dos GMs!
+
+This is just an example of a chant which causes low damage in an area.
+
+
+This is my chance - the biggest Mana Quake ever, it feels like a whole world crushing in ours. I can feel the drain from Candor's Mana Reserves all the way up here.
+
+
+This is not The Mana World. My name is not Bryant.
+Este não é o mundo de mana. Meu nome não é Bryant.
+
+This is not a healing item.
+Este não é um item de cura.
+
+This is not a place for non-experimented people!
+Este não é um lugar para pessoas não experientes!
+
+This is not enough, I need 5 @@ to perform the rite. Go talk with Zitoni.
+Isso não é suficiente, eu preciso de 5 @@ para realizar o ritual. Vá falar com Zitoni.
+
+This is not magic, it is science!
+Isso não é mágica, é ciência!
+
+This is not meant for me.
+Isso não é para mim.
+
+This is not saved.
+Isso não é salvo.
+
+This is not the first time you've been arrested for AFK botting, so, ##BNO!##b
+
+
+This is not what I asked for.
+Isso não é o que eu pedi.
+
+This is often 1, 2 or 3 tiles. For talking, usually 4 or 5 tiles. Shouting can be done from 12 up to 18 tiles; But as shouting is rude, most NPCs won't react to it.
+
+
+This is only for the skilled players. Newbies, KEEP OUT!
+Isto é apenas para os jogadores habilidosos. Novatos, MANTENHA-SE!
+
+This is ridiculous. Groata is not here, I am wasting my time!
+
+
+This is so amusing, you decide to stare for a while longer.
+
+
+This is terrible - a fiend from a parallel dimension has broken in ours!
+
+
+This is the @@ skill. It transmutes a single @@ in a @@.
+Esta é a habilidade @@ Transmuta um único @@ em um @@.
+
+This is the @@ skill. It transmutes stuff into other stuff. I'll teach you some more recipes as class drag on.
+Este é o @@ habilidade. Ele transforma coisas em outras coisas. Vou ensinar-lhe mais algumas receitas como arrastar classe diante.
+
+This is the FAIRYEMPIRE spell. It'll summon Pixies.
+Este é o feitiço FAIRYEMPIRE. Ele vai convocar Pixies.
+
+This is the FROZENHEART spell. It'll summon... Yeti.
+Este é o feitiço FROZENHEART. Vai convocar ... Yeti.
+
+This is the STONEHEART spell. It'll summon the fierce Terranite.
+Este é o feitiço STONEHEART. Vai convocar o feroz Terranite.
+
+This is the end for your party, as the leader doesn't have sufficient level.
+Este é o fim da sua festa, pois o líder não tem nível suficiente.
+
+This is the least I could do for you. Many thanks. And if you have more food, you can keep feeding my family.
+Isso é o mínimo que eu poderia fazer por você. Muito Obrigado. E se você tiver mais comida, pode continuar alimentando minha família.
+
+This is the main hall. Below this stairs, you'll find the Heroes Hold Main Dungeon. It's a cave in a... uhm. Water.
+Este é o salão principal. Abaixo desta escada, você encontrará o Heroes Hold Main Dungeon. É uma caverna em um ... uhm. Agua.
+
+This is the perfect opportunity to help Celestia.
+
+
+This is the test server.
+Este é o servidor de teste.
+
+This is too powerful to you. Get level 20 before attempting to use.
+Isso é muito poderoso para você. Obtenha o nível 20 antes de tentar usar.
+
+This is too precious to offer, I think.
+
+
+This is why I love spring!
+É por isso que eu amo a primavera!
+
+This isn't what we requested. Perhaps you should count your items more carefully.
+Este não é o que nós pedimos. Talvez você deve contar seus itens com mais cuidado.
+
+This item cannot be auctioned.
+Esse item não pode ser leiloado.
+
+This item cannot be dropped.
+Esse item não pode ser dropado.
+
+This item cannot be refined further.
+Este item não pode ser mais refinado.
+
+This item cannot be sold.
+Esse item não pode ser vendido.
+
+This item cannot be stored.
+Esse item não pode ser armazenado.
+
+This item cannot be traded normally and is a Legendary Item.
+Este item não pode ser negociado normalmente e é um item Legendary.
+
+This item cannot be traded.
+Esse item não pode ser negociado.
+
+This item cannot be used as bait here.
+Este item não pode ser usado como isca aqui.
+
+This item drop rate is %s%%, which exceeds the threshold of %s%%.
+
+
+This item have no bonuses, and cannot be tweaked.
+Este item não tem bônus e não pode ser ajustado.
+
+This item is too precious, you cannot part with it!
+Este item é muito precioso, você não pode se separar dele!
+
+This key is dropped by the Saxso Ghost. Did you knew you can obtain info about the monster drop rates and strength?
+Esta chave é descartado pela Saxso Santo. Você sabia que você pode obter informações sobre as taxas de queda monstro e força?
+
+This live sword drafts itself to your hand. You can wield it during today's event.
+Esta espada viva se prepara para a sua mão. Você pode usá-lo durante o evento de hoje.
+
+This live sword drafts itself to your hand. You can wield it for a while.
+Esta espada ao vivo elabora-se ao seu lado. Você pode controlá-lo por um tempo.
+
+This lock is beyond your current capacity.
+Esse bloqueio está além da sua capacidade atual.
+
+This lock is simple, maybe with your thief skills you can manage to pry it open. But beware, you can end up in jail!
+Essa trava é simples, talvez com suas habilidades de ladrão você consiga arrombá-la. Mas cuidado, você pode acabar na cadeia!
+
+This looks magical, I wonder what it does.
+Isso parece mágico, eu me pergunto o que ele faz.
+
+This lord dropped a key and a stash of gold!
+
+
+This man is THE LEGENDARY KING ARTHUR!
+Este homem é o lendário KING ARTHUR!
+
+This map contains poisonous gas and may cause diseases.
+
+
+This means ##BAll items were lost##b, and you need to collect EVERYTHING, again, to get the hat.
+
+
+This means everytime you get more power, you lose control. Pratice is the key.
+Isso significa que toda vez que você conseguir mais energia, perderá o controle. Prática é a chave.
+
+This means that if you die while in the past, you'll be brought back here as if you never traveled in time.
+
+
+This means that if you drop a coin on Advanced Dungeon, 4 coins will be dropped instead. On Expert, that would be 8.
+Isto significa que se você jogar uma moeda no Advanced Dungeon, 4 moedas serão descartadas. No Expert, isso seria 8.
+
+This menu allows you to customize your appearance.
+Este menu permite personalizar sua aparência.
+
+This menu allows you to manage events and gives access to event-related tools.
+Este menu permite gerenciar eventos e dá acesso a ferramentas relacionadas a eventos.
+
+This menu allows you to modify the generic message that is sent to players when they log in.
+Este menu permite modificar a mensagem genérica que é enviada aos jogadores quando eles fazem login.
+
+This menu allows you to modify your account data.
+Este menu permite modificar os dados da sua conta.
+
+This menu allows you to set the scheduled broadcast that is sent to all players at a specific interval.
+Este menu permite que você defina a transmissão programada que é enviada a todos os jogadores em um intervalo específico.
+
+This menu contains all options available to you, based on your access privileges.
+Este menu contém todas as opções disponíveis para você, com base nos seus privilégios de acesso.
+
+This menu gives access to quest debug menus for @@ quests.
+Este menu dá acesso aos menus de debug da quest para @@ quests.
+
+This menu gives you some options which affect your account.
+Este menu oferece algumas opções que afetam sua conta.
+
+This might be the place of a great secret, but yet, all you can do is stare.
+
+
+This new skill will allow you to pinch every gold piece from a NPC when selling stuff! Ka-pow, now you can steal items and resell them for moar GP! AMAZING!
+Esta nova habilidade lhe permitirá comprimir cada peça de ouro a partir de um NPC ao vender coisas! Ka-prisioneiro de guerra, agora você pode roubar itens e revendê-los para GP moar! SURPREENDENTE!
+
+This note is not interesting, maybe the obelisk is more.
+Esta nota não é interessante, talvez o obelisco seja mais.
+
+This note is too old and difficult to read.
+Esta nota é muito antiga e difícil de ler.
+
+This one is useless! Give me another @@.
+Este é inútil! Me dê outro @@.
+
+This option is not yet available for you; Please purchase the Premium Storage first, and then we can get started on the deluxe.
+
+
+This option will be remembered by other NPCs as well.
+Esta opção será lembrado por outros NPCs também.
+
+This passage is still sealed.
+Esta passagem ainda está selado.
+
+This passage seems sealed. If I only had a @@...
+Esta passagem parece selada. Se eu tivesse apenas um @@ ...
+
+This place is reeking blood. We better come again later.
+Este lugar está cheirando a sangue. É melhor voltarmos mais tarde.
+
+This program will cause experience gain to be tripled during the next siege to the town.
+
+
+This quest will unlock at level 5.
+Essa busca vai desbloquear no nível 5.
+
+This quota is reset yearly, by completing %s's quest.
+
+
+This random cave-warping only happens once, too.
+Essa distorção de caverna aleatória só acontece uma vez também.
+
+This request was made by the inn: The %ss are stealing their cherry cakes, causing disruption to their business.
+
+
+This research caused a lot of neglect, so expect poverty and people unwilling to talk. Benjamin, head of the council, is doing a "breaktrhough" in the most literal sense possible (breaking through the whole town finances instead of revolutionizing the world).
+
+
+This room is too dark. I want to brighten it up.
+Este quarto é muito escuro. Eu quero iluminar isso.
+
+This schedule is subject to change without prior notice.
+Este horário está sujeito a alterações sem aviso prévio.
+
+This seal was already broken, proceed to the next seal!
+Este selo já foi quebrado, prossiga para o próximo selo!
+
+This seems like a good idea at first, but actually, it isn't.
+Essa parece ser uma boa ideia no começo, mas na verdade não é.
+
+This set grants the following effect when complete:
+
+
+This set is composed by the following items:
+
+
+This setting can only be changed every %d days.
+
+
+This shrine is devoted to those whom shall never come back.
+Este santuário é dedicado àqueles que nunca voltar.
+
+This shrine seems to be a dangerous place, and nobody should defile it.
+Este santuário parece ser um lugar perigoso, e ninguém deve profanarem.
+
+This silk robe is more than enough, and you are fighting, you need the def bonus more than me. %%2
+
+
+This singularity will remain disarmed for @@ more!
+Esta singularidade permanecerá desarmada por @@ mais!
+
+This skill can only be used on monsters!
+Esta habilidade só pode ser usada em monstros!
+
+This skill can only be used on players!
+Esta habilidade só pode ser usado em jogadores!
+
+This skill cannot be upgraded further.
+Esta habilidade não pode ser atualizado mais.
+
+This small island is a good place to heal our wounds, and the monsters here are not threating.
+Esta pequena ilha é um bom lugar para curar nossas feridas, e os monstros aqui não são ameaçadores.
+
+This statue was built for memory of Andrei Sakar, the greatest hero this world has even seen.
+Esta estátua foi construída para a memória de Andrei Sakar, o maior herói que este mundo já viu.
+
+This switch controls one of the four dungeons.
+
+
+This table will prepare the potion for you, no skill required!
+Esta mesa irá preparar a poção para você, sem habilidade necessária!
+
+This tax must be paid now, and you can brew as much as you wish after payment.
+
+
+This teleporter is currently recharging.
+Este teleportador está atualmente recarregando.
+
+This throne is not from the Monster King... IT BELONGS ONLY TO ME!
+Este trono não é do Rei Monstro ... É PERTENCENTE A MIM!
+
+This time, I only a few last reagents and I'll finally attempt it... I want you to witness it. I'll teach you the spell later, of course.
+Desta vez, eu apenas alguns últimos reagentes e eu vou finalmente tentar fazê-lo ... Eu quero você para testemunhar isso. Eu vou te ensinar o feitiço mais tarde, é claro.
+
+This time, I'll be prepared. His reign of terror has its days counted.
+
+
+This torch is already lit.
+Esta tocha já está acesa.
+
+This tree is crazy!!
+
+
+This vault currently have @@ GP inside.
+Este cofre atualmente tem @@ GP dentro.
+
+This well is sealed. They must take water outside the town.
+Este poço está selado. Eles devem levar água para fora da cidade.
+
+This well is too deep and you don't have a bucket.
+Este poço é muito profundo e você não tem um balde.
+
+This whole region is called the Heroes Hold. It's designed for hard core, bragging-rights-hunters, high level, supreme players.
+Toda esta região é chamada de Heroes Hold. Ele é projetado para hard core, caçadores de direitos de gabarito, jogadores de alto nível e supremos.
+
+This whole situation is very disquieting, not to say suspicious. There might be something more to it that we're not seeing.
+Toda esta situação é muito inquietante, para não dizer suspeito. Pode haver algo mais que não estamos vendo.
+
+This will affect humans, too, so don't act as if it is not your bussiness either.
+Isso também afetará os humanos, então não aja como se não fosse o seu negócio também.
+
+This will affect rewards, and decision is final!
+Isso vai afetar recompensas, ea decisão é final!
+
+This will be remembered.
+Isso será lembrado.
+
+This will be your last task. Besides the @@, the strongest monster on this island worth killing is the @@.
+
+
+This will bring me back to the Hall.
+Isso vai me trazer de volta para o Hall.
+
+This will cost you all your action points.
+
+
+This will do nothing if the account already have a PIN.
+Isso não fará nada se a conta já tem um PIN.
+
+This will remove you from the quest!
+Isto irá removê-lo do quest!
+
+This will take only a short while.
+Isso levará apenas um curto período.
+
+This workshop doesn't gets too many tasks from Santa outside the Christmas...
+Este workshop não tem muitas tarefas do Papai Noel fora do Natal ...
+
+This would mean you might need to complete this quest again in the future.
+Isso significaria que você pode precisar completar essa missão novamente no futuro.
+
+Thorn
+Espinho
+
+Thorn Ammo Box
+Caixa de munição de espinhos
+
+Thorn Arrow
+Flecha de Espinhos
+
+Thorn Chest
+Baú Espinhoso
+
+Thorn is so annoying...
+Thorn é tão chato ...
+
+Those for consumption, equipment and generics.
+Aqueles para consumo, equipamentos e genéricos.
+
+Those with most %s on this world becomes scholars.
+
+
+Three equal: @@.
+Três iguais: @@.
+
+Three powerful consecutive brawn attacks with a chance to stun target.
+
+
+Three powerful consecutive brawn attacks.
+
+
+Throw a coin?
+Jogue uma moeda?
+
+Throw something inside!
+Jogue algo dentro!
+
+Thug
+
+
+Thunder Staff
+Cajado do Trovão
+
+Thus far you have collected @@ @@, @@ @@ and @@ @@.
+Até agora você coletou @@ @@, @@ @@ e @@ @@.
+
+Thus far you've slain %s/%s %s for me!
+
+
+Thus far, you've donated @@ boxes.
+Até agora, você doou caixas @@.
+
+Thus far, you've heard about %d hours and %d minutes of wisdom.
+Até agora, você já ouviu falar sobre horas% de% d minutos de sabedoria.
+
+Thus far, you've sponsored Golbarez in %d %% from total.
+
+
+Thus, I like to collect small memetos from Tulimshar.
+Assim, gosto de colecionar pequenos memetos de Tulimshar.
+
+Time Flask
+Balão de tempo
+
+Time Limit
+Limite de tempo
+
+Time Limit: 25 minutes on any dungeon.
+Limite de Tempo: 25 minutos em qualquer masmorra.
+
+Time Limit: 90 minutes
+
+
+Time is running out... Hurry up!
+O tempo está se esgotando ... Apresse-se!
+
+Time left until warp can be used: %s
+
+
+Time left: %d minutes
+
+
+Time left: %s
+
+
+Time left: @@ remaining
+Tempo restante: @@ restante
+
+Time limit for answer: 2 minutes
+Prazo para resposta: 2 minutos
+
+Time limit: 10 minutes
+
+
+Time out!
+
+
+Time remaining to report completion:
+Tempo restante para a conclusão do relatório:
+
+Time remaining: %s
+
+
+Times died: %s
+Vezes morreu:% s
+
+Times reborn: %d
+
+
+Times won Call of Dusty: %s
+
+
+Times won Capture the Flag: %s
+
+
+Tin Ingot
+Barra de estanho
+
+Tin Ore
+Minério de estanho
+
+Tin Ore -> Gold Ore
+Tin Ore -> Gold Ore
+
+Tinris
+Tinris
+
+Tinris probably could do that, he is young but very talented. He is a greedy elf, but if you help him, he'll likely help you back.
+Tinris provavelmente poderia fazer isso, ele é jovem, mas muito talentoso. Ele é um elfo ganancioso, mas se você o ajudar, ele provavelmente o ajudará de volta.
+
+Tipiou
+Tipiou
+
+Tipiu
+Tipiu
+
+Titanium Ingot
+Lingote De Titânio
+
+Titanium Ore
+Minério de titânio
+
+Titanium Ore -> Lead Ore
+Titanium Ore -> Ore chumbo
+
+Titanium Ore and Coal refunded on Leather Quiver update.
+Titanium Ore e carvão reembolsado no couro atualização Quiver.
+
+Titulation
+
+
+Tneck Sweater
+Tneck Suéter
+
+To Artis.
+
+
+To Candor Island.
+Para Ilha de Candor.
+
+To Hurnscald.
+Para Hurnscald.
+
+To Nivalis.
+Para Nivalis.
+
+To Tulimshar.
+Para Tulimshar.
+
+To aid those in need
+Para ajudar aqueles que precisam
+
+To answer them, use: @captcha <num_value>
+Para respondê-las, use: @captcha <num_value>
+
+To be honest, I don't know. I was only walking, seeking for adventure!
+Para ser sincero, não sei. Eu estava apenas andando, procurando por aventura!
+
+To be honest, I don't know. Your wife just allowed me to pass the door!
+Para ser sincero, não sei. Sua esposa só me permitiu passar pela porta!
+
+To be honest, I have that with me!
+Para ser sincero, tenho isso comigo!
+
+To be honest, you should use both. And remember, all Mana Magic skills can be used like they were @sk-commands. %%H
+
+
+To cast, one must sit on the circle and say the chant on general chat.
+Para elenco, deve sentar-se no círculo e dizer o canto no bate-papo geral.
+
+To cause a server happy hour (+%d%% EXP), you need:
+
+
+To celebrate this I'll ask you some questions about my favourite book, The Hitchhiker's Guide to the Galaxy. If you can answer them, I'll give you something very useful.
+Para celebrar isso, farei algumas perguntas sobre o meu livro favorito, O Guia do Mochileiro das Galáxias. Se você puder respondê-las, eu lhe darei algo muito útil.
+
+To collect snake skin
+Para coletar a pele de cobra
+
+To craft an item, you'll need to learn its blueprint. Blueprints can be very hard to obtain! Being a crafter will take a lot of your time.
+Para criar um item, você vai precisar aprender o seu plano. Plantas podem ser muito difíceis de obter! Sendo um crafter vai ter um monte de seu tempo.
+
+To create an homunculus out of the embryo mass: Use the Call Homunculus Skill. It'll be random, based on the embryo nature.
+Para criar um homúnculo fora da massa do embrião: Use a Habilidade de Chamar Homúnculos. Será aleatório, baseado na natureza do embrião.
+
+To create an homunculus, I should follow the secrets in the book "The Man Who Played God". I wrote this narrative with the greatest secrets of it.
+
+
+To defeat the Moubootaur.
+
+
+To defocus or stop attacking, press Shift + A.
+Para desfocar ou parar de atacar, pressione Shift + A.
+
+To demonstrate that you understood what I'm trying to teach you, you should go and fight against some snakes. I know they're strong, but that's not important to an archer.
+Para demonstrar que você entendeu o que estou tentando ensinar, você deveria lutar contra algumas cobras. Eu sei que eles são fortes, mas isso não é importante para um arqueiro.
+
+To discard an item you no longer want, select it and press the 'Discard' button. Generic items can be discarded or sold.
+Para descartar um item que você não deseja mais, selecione-o e pressione o botão 'Descartar'. Itens genéricos podem ser descartados ou vendidos.
+
+To display the dialog box with other citizens, press the F7 key.
+Para exibir a caixa de diálogo com outros cidadãos, pressione a tecla F7.
+
+To do quests
+Para fazer missões
+
+To do this you need to disable auto move to target in 'yellow bar'.
+Para fazer isso, você precisa desabilitar a movimentação automática para o alvo na 'barra amarela'.
+
+To dungeon deep, and cavern old
+Para o calabouço profundo e a caverna velha
+
+To enter on them, you need to be level 25 and use the following chant: "Blame Saulc". I don't know why, but that open doors!
+
+
+To equip or unequip an item, select it and press the 'Equip' or 'Unequip' button. You can not 'Equip' or 'Unequip' when talking to someone.
+Para equipar ou desequipar um item, selecione-o e pressione o botão 'Equipar' ou 'Desequipar'. Você não pode 'equipar' ou 'desequipar' ao falar com alguém.
+
+To explore these lands
+Para explorar essas terras
+
+To find him, just leave the ship and turn left. You should also touch the Soul Menhir when you leave this ship.
+Para encontrá-lo, basta deixar a nave e virar à esquerda. Você também deve tocar na Menhir da Alma quando sair desta embarcação.
+
+To focus on a creature, press the 'A' key. To focus on another citizen, press the 'Q' key. To attack the focused target press the 'X' key or click the primary button on the creature.
+Para se concentrar em uma criatura, pressione a tecla 'A'. Para se concentrar em outro cidadão, pressione a tecla 'Q'. Para atacar o alvo em foco, pressione a tecla 'X' ou clique no botão principal da criatura.
+
+To focus on an NPC, press the 'N' key. To talk to him press the 'T' key.
+Para se concentrar em um NPC, pressione a tecla 'N'. Para falar com ele, pressione a tecla 'T'.
+
+To get more experience and magic power, you must practice magical spells. Make sure to vary them; you will learn nothing if you cast the same spell over and over. Also, spells that consume no components seem not to be very instructive in practice.
+Para obter mais experiência e poder mágico, você deve praticar magias mágicas. Certifique-se de variá-los; você não aprenderá nada se lançar o mesmo feitiço repetidamente. Além disso, magias que não consomem componentes parecem não ser muito instrutivas na prática.
+
+To get started with fishing, you'll need two things: a fishing rod and a bait.
+Para começar a pescar, você precisará de duas coisas: uma vara de pescar e uma isca.
+
+To get the combo, you must fill all slots if one of the listed items. Usually any of the listed ones will do, but in rare cases it won't!
+
+
+To get there you need to go left, follow rock wall and go up when you can. The entrance to the Bandit cave is on left side of the waterfall.
+Para chegar lá, você precisa ir para a esquerda, seguir a parede de pedra e subir quando puder. A entrada para a caverna Bandit fica no lado esquerdo da cachoeira.
+
+To help fairies
+Para ajudar fadas
+
+To insert a card, select the card and "use" it, or, drag and drop them to the weapon.
+
+
+To join a drill, right click on one of the lieutenants and join their Battle Stations. The drill can last up to 10 minutes.
+Para participar de uma simulação, clique com o botão direito em um dos tenentes e junte-se às suas Estações de Batalha. A broca pode durar até 10 minutos.
+
+To make @@ I need one from each gem powders, and @@ GP for commission.
+Para fazer @@ eu preciso de um de cada pós gema, e @@ GP para a comissão.
+
+To make an %s I need a %s, an %s, and %s GP for commission.
+
+
+To make an %s I need a %s, three %s, and %s GP for commission.
+
+
+To make an %s I need a %s, two %s, and %s GP for commission.
+
+
+To make the string you want, I need a special oil, which I make myself. It's hard to do, so I'll spend time I could be using to fish or help the city guard.
+Para fazer a corda que você quer, eu preciso de um óleo especial, que eu mesmo faço. É difícil fazer isso, então vou gastar tempo que poderia estar usando para pescar ou ajudar a guarda da cidade.
+
+To my murders, I gave them a full meal.
+Para meus assassinatos, dei-lhes uma refeição completa.
+
+To negotiate with other citizens, you should click the second mouse button on some other citizen who is accepting negotiations, and select the 'Negotiation' option from the menu that will appear.
+Para negociar com outros cidadãos, você deve clicar no segundo botão do mouse em outro cidadão que esteja aceitando negociações e selecionar a opção "Negociação" no menu que será exibido.
+
+To open yellow Bar you need to right click on your health bar and active status bar, also called yellow bar. Or you can press '8' on numeric keypad.
+Para abrir a barra amarela, você precisa clicar com o botão direito na barra de saúde e na barra de status ativa, também chamada de barra amarela. Ou você pode pressionar '8' no teclado numérico.
+
+To open your inventory, use the F3 key or use your mouse to select it in the above menu in your client.
+Para abrir seu inventário, use a tecla F3 ou o mouse para selecioná-lo no menu de seu cliente.
+
+To pay in the specified date, we'll charge you %s over the loaned amount. So, how much?
+
+
+To perform most actions, like feeding and renaming, just right-click it. You can even put it back on the egg if its following gets too annoying. When in the egg, they will not feel hunger.
+Para realizar a maioria das ações, como alimentar e renomear, basta clicar com o botão direito do mouse. Você pode até mesmo colocá-lo de volta no ovo se o seguinte ficar muito chato. Quando no ovo, eles não sentirão fome.
+
+To prevent abuse, a registering fee is charged. Nothing major.
+Para evitar abusos, é cobrada uma taxa de inscrição. Nada importante.
+
+To prove me your faith, bring me 1 @@ or 1 @@.
+Para me provar sua fé, traga-me 1 @@ ou 1 @@.
+
+To prove me your results, bring me @@ @@, @@ @@ and @@ @@.
+Para provar seus resultados, traga-me @@ @@, @@ @@ e @@ @@.
+
+To reach this place... You just need to follow the path after the waterfall. Come back to me after that.
+
+
+To register as a craftsman, you need to talk to Intense Beard in Terranite Forge. The forge is in the Bazar.#1
+
+
+To register as a craftswoman, you need to talk to Intense Beard in Terranite Forge. The forge is in the Bazar.#0
+
+
+To register as a hunter, talk to Aidan, also in the marketplace - the Bazar.
+Para se registrar como um caçador, fale com Aidan, também no mercado - o Bazar.
+
+To retry, I will charge you %d GP or %d %s for each attempt made. You'll have less time to finish as well.
+
+
+To scry Jesusaves, for example, you would do:
+
+
+To seek our pale, enchanted gold
+Para buscar nosso ouro pálido e encantado
+
+To speak in public select the 'General' tab. It serves to talk to people who are appearing on your screen.
+Para falar em público, selecione a guia "Geral". Serve para conversar com pessoas que estão aparecendo na tela.
+
+To speak privately to a friend who is not appearing on your screen, type the command '##B /q Citizen Name ##b' and press 'Enter'. This command will open a long-distance dialog that has the name of who you want to talk to. Select this new tab and send your message through it.
+
+
+To speak privately with someone, click the second mouse button on the citizen and select the 'Whisper' option.
+Para falar em particular com alguém, clique no segundo botão do mouse no cidadão e selecione a opção "Whisper".
+
+To successfully catch a fish, you need to pull up your hook by clicking it, right after it submerges.
+Para pegar um peixe com sucesso, você precisa puxar o seu gancho clicando nele, logo após submergir.
+
+To thank you, accept my old fishing rod.
+Para agradecer, aceite minha velha vara de pescar.
+
+To the brave heart; An endless maze.
+Para o coração valente; Um labirinto sem fim.
+
+To the brave, shan't be your grave.
+
+
+To the courageous, thy foe is rancorous.
+Para os corajosos, o teu inimigo é rancoroso.
+
+To the lovely cuteness; Unwavering helpfulness.
+Para a bela fofura; Inabalável utilidade.
+
+To the strong soul; Challenges to overthrow.
+Para a alma forte; Desafios para derrubar.
+
+To the wanderer: Please avoid entering on the rooms by the internal warp system.
+Para o andarilho: Por favor, evite entrar nos quartos pelo sistema warp interno.
+
+To train their soldiers, they frequently face Frostia in duels. Adventurers are welcome to join their drills.
+Para treinar seus soldados, eles freqüentemente enfrentam Frostia em duelos. Os aventureiros são bem-vindos para participar de seus exercícios.
+
+To understand the nature of this bow, you have to collect the needed material by yourself. Only this way will you get a feeling of what it means to use such a weapon.
+Para entender a natureza desse arco, você precisa coletar o material necessário sozinho. Só assim você terá uma noção do que significa usar essa arma.
+
+To unlock the cell on the middle of the throne room, you need to flip all 5 switches there.
+Para desbloquear a célula no meio da sala do trono, você precisa virar todos os 5 switches lá.
+
+To which mirrored island you want to warp?
+Para qual ilha espelhado você quiser warp?
+
+To whom you want to send @@ boxes? Cannot be yourself!
+Para quem você deseja enviar @@ caixas? Não pode ser você mesmo!
+
+To your pleasant surprise the tea is actually quite good.
+Para sua agradável surpresa, o chá é realmente muito bom.
+
+ToDo
+Façam
+
+Today at 18:30 UTC we are going to attack the Monster King by surprise. There will be no delays, so be there.
+Hoje, às 18:30 UTC, vamos atacar o Rei Monstro de surpresa. Não haverá atrasos, então esteja lá.
+
+Today is soup of Pinkie Legs!
+Hoje é sopa de Pinkie Legs!
+
+Together, they wrote legends. They slayed Toby Rick the Desert Worm, the mightiest desert beast.
+
+
+Toggle Daily Reward screen
+Alternar tela de recompensa diária
+
+Toggle Inscription
+
+
+Toggle Soul Menhir automatic saving
+Toggle Soul Menhir automatic saving
+
+Token Of Apology: 1x @@, 1x @@
+Token Of Apology: 1x @@, 1x @@
+
+Token Of Apology: 1x @@, 570 GP
+Token Of Apology: 1x @@, 570 GP
+
+Tolchi
+Tolchi
+
+Tolchi Ammo Box
+Caixa de Munição Tolchi
+
+Tolchi Arrow
+Flecha Tolchi
+
+Told ya, %s, should know better than to mess with an... assassin!
+
+
+Tomorrow is the day, when we shall march against Raid, in order to free our people from the oppression of her mages.
+
+
+Tonori Delight
+Prazer Tonori
+
+Tonori Human
+Tonori Humano
+
+Tonori Water
+Ãgua de Tonori
+
+Too bad these lamps wear off after a while... I am making stocks of them now!
+Pena que essas lâmpadas se apagam depois de um tempo ... Estou fazendo estoques delas agora!
+
+Too bad, There is some really good news this week. Things like how to go to Candor for free.
+Demasiado mau, Há alguns realmente boa notícia esta semana. Coisas como forma de ir para Candor gratuitamente.
+
+Too bad, you're really missing out!
+Que pena, você está realmente perdendo!
+
+Too expensive %%n
+
+
+Too lazy.
+Demasiado preguiçoso.
+
+Too much power can corrupt you. I've seen this happening before... countless times.
+Muito poder pode corromper você. Eu já vi isso acontecer antes ... inúmeras vezes.
+
+Too slow.
+Muito devagar.
+
+Tooth Necklace
+Colar dente
+
+Toothbrush
+Escova dental
+
+Top 10 - Summer Ched's Event
+Top 10 - Evento do Summer Ched
+
+Top 10 - Valentine Day
+Top 10 - Dia dos Namorados
+
+Top 5 - Christmas Box Donation Event
+Top 5 - Evento de Doação de Caixa de Natal
+
+Top 5 - Golbarez Seasonal Quest
+Top 5 - Golbarez Seasonal Quest
+
+Top Hat
+Cartola
+
+Topaz
+Topázio
+
+Topaz (+2 agi)
+Topázio (+2 agi)
+
+Topaz Bif
+Topázio Bif
+
+Topaz Powder
+Topázio em Pó
+
+Toppy Blub
+Toppy Blub
+
+Torch#0065
+
+
+Torch#1
+Tocha#1
+
+Torch#2
+Tocha#2
+
+Torch#3
+Tocha#3
+
+Torch#4
+Tocha#4
+
+Torch#5
+Tocha#5
+
+Tortuga
+Tortuga
+
+Tortuga Shell
+Casco de tortuga
+
+Tortuga Shell Fragment
+Fragmento de casco de tortuga.
+
+Tortuga Tongue
+Lingua de tortuga
+
+Toss the hook into deep water by clicking on where you want to cast it.
+Jogue o anzol em águas profundas clicando em onde você deseja lançá-lo.
+
+Total Credits and GP: @@
+Total de Créditos e GP: @@
+
+Total Gold: %s
+Total de Ouro:% s
+
+Total Logins: @@
+Total de logins: @@
+
+Total actions left: %d
+
+
+Total money collected: @@ GP
+Total de dinheiro arrecadado: @@ GP
+
+Total slow down, DEF-, may freeze
+Total de desaceleração, DEF-, pode congelar
+
+Total time AFK'ed in Tulimshar: %d hours and %d minutes
+O tempo total de AFK'ed em Tulimshar: Horas% de% d minutos
+
+Toto
+Toto
+
+Touch Soul Menhir and visit the Valentine's Island.
+Toque Alma Menhir e visitar a Ilha dos Namorados.
+
+Touch it!
+Toque isso!
+
+Touch it.
+Toque isso.
+
+Towards thee I roll, thou all-destroying but unconquering whale; to the last I grapple with thee; from hell’s heart I stab at thee; for hate’s sake I spit my last breath at thee. Sink all coffins and all hearses to one common pool! And since neither can be mine, let me then tow to pieces, while still chasing thee, though tied to thee, thou damned whale! Thus, I give up the spear!
+
+
+Town Administrator can use the town money for investments, and also receive a salary depending on how well the town is.
+Cidade administrador pode usar o dinheiro da cidade para investimentos, e também receber um salário dependendo de quão bem a cidade é.
+
+Town Defense Program
+
+
+Town Defense Program enabled.
+
+
+Town Money: @@
+Cidade Dinheiro: @@
+
+Town Reputation: %d | %d.%02d %% Tax
+
+
+Town Tax: %d.%02d %%
+
+
+Town Weekly Exports: @@
+Cidade Exportações semanais: @@
+
+Townhall Guard#EP
+
+
+Trade
+Comércio
+
+Trade 2 %s for a Silver Gift + a Bronze Gift
+Trade 2% é um presente de prata + um presente Bronze para
+
+Trade Golden Eggs
+Ovos de comércio de ouro
+
+Trade Silver Eggs
+Comércio de ovos de prata
+
+Trade a card
+
+
+Trade my coins in Gift Boxes, pretty please!
+Troque minhas moedas em Gift Boxes, por favor!
+
+Trade stamps
+Selos comerciais
+
+Trade the Gingerbread
+Troque o pão de gengibre
+
+Trade the Xmas Cake
+Trocar o Bolo de Natal
+
+Trade the Xmas Candy Cane
+Trocar o bastão de doces de Natal
+
+Trader
+Comerciante
+
+Trainer
+Treinador
+
+Training Ammo Box
+Caixa de Munição de Treinamento
+
+Training Arrow
+Flecha de Treinamento
+
+Training Bow
+Arco de Treinamento
+
+Training Dummy
+Boneco de Treinamento
+
+Training Wand
+Varinha de Treinamento
+
+Training to be sages, their knowledge is unparalleled. They're masters of boosting skills.
+Treinando para ser sábios, seu conhecimento é incomparável. Eles são mestres de impulsionar habilidades.
+
+Transcendence Gate
+transcendência Portão
+
+Transfer Mana
+
+
+Translators
+
+
+Transmutating @@ will require:
+Transmutating @@ exigirá:
+
+Transmutation Skill
+Habilidade de transmutação
+
+Transmute?!
+Transmutar?!
+
+Trap Door
+Porta de armadilha
+
+Trapper Hat
+Chapéu de caçador
+
+Travel to this area is impossible, due to the hordes of Monster Armies.
+Viagem a esta área é impossível, devido às hordas de exércitos do monstro.
+
+Treasure (High Quality)
+Treasure (Alta Qualidade)
+
+Treasure (Low Quality)
+Treasure (baixa qualidade)
+
+Treasure (Med Quality)
+Treasure (Med qualidade)
+
+Treasure Key
+Chave do Tesouro
+
+Treasure Map
+Mapa do tesouro
+
+Treasure!
+Tesouro!
+
+Treasurer
+Tesoureiro
+
+Tree Maze (Past Tulimshar)
+
+
+Trick Dead
+truque Morto
+
+Trickmaster
+Trickmaster
+
+Tricks
+Truques
+
+Tritan
+Tritão
+
+Tritan Voice
+Voz de Tritão
+
+Triumph of the Eternals
+
+
+Troll
+Troll
+
+Truth is - I cannot do that. Obviously. But I know who can.
+A verdade é que - eu não posso fazer isso. Obviamente. Mas eu sei quem pode.
+
+Try again!
+Tente novamente!
+
+Try again?
+Tente novamente?
+
+Try doing quests which doesn't involve monster hunting first. I'm sure ##B Ayasha ##b could use your help.
+
+
+Try helping the city guard. Talk to NPCs around the city. Outside the city walls too. And there are some people on the mines.
+Tente ajudar a guarda da cidade. Fale com os NPCs pela cidade. Fora das muralhas da cidade também. E há algumas pessoas nas minas.
+
+Try killing it, and if it kills you, just come back from death to continue killing it.
+Tente matá-lo, e se isso te matar, volte da morte para continuar matando-o.
+
+Try praticing with different mana magic skills. Anyway, you can use this command to see your magic proeficiency:
+Tente praticar com diferentes habilidades mágicas de mana. De qualquer forma, você pode usar esse comando para ver sua proficiência mágica:
+
+Try talking to Soul Menhir or with any NPC on Tulimshar Center (near Soul Menhir).
+
+
+Try this one.
+Tente este.
+
+Try to don't take too long!
+
+
+Try to make a good time, and... Good luck! On my signal, 3, 2, 1...
+
+
+Trying to chant beyond your capabilities will only drain more mana and be inefficient.
+
+
+Trying to retrieve it now will have @@ % chance to be successful.
+Tentando recuperá-lo agora terá @ @% chance de ser bem sucedido.
+
+Tuber
+Tubérculo
+
+Tuesdays
+
+
+Tulim Warp Crystal
+Tulum Warp Crystal
+
+TulimShip
+TulimShip
+
+TulimShip#M
+NavioTulim#M
+
+Tulimshar
+Tulimshar
+
+Tulimshar (@@m)
+Tulimshar (@@ m)
+
+Tulimshar - @@ GP
+Tulimshar - @@ GP
+
+Tulimshar Beach
+Tulimshar Praia
+
+Tulimshar Bola
+Tulimshar Bola
+
+Tulimshar Guard
+Tulimshar Guard
+
+Tulimshar Guard Boots
+Botas de guarda de Tulimshar
+
+Tulimshar Guard Card
+Cartão de guarda de Tulimshar
+
+Tulimshar Guard Card will prove good intentions. Talk to the Lieutenant in front of the Guard House.
+Tulimshar Card Guard irá revelar boas intenções. Fale com o Tenente em frente à Casa da Guarda.
+
+Tulimshar Map
+Mapa de Tulimshar
+
+Tulimshar Mines
+Minas de Tulimshar
+
+Tulimshar Office
+Escritório Tulimshar
+
+Tulimshar Townhall
+Tulimshar Townhall
+
+Tulimshar doesn't have a lot more of quests to offer you, so you should definitely explore new places.
+Tulimshar não tem muito mais missões para oferecer a você, então você deve definitivamente explorar novos lugares.
+
+Tulimshar is surrounded by strong monsters. If you go out with your poor equipment, you're going to be dead in no time, @@.
+Tulimshar é cercado por fortes monstros. Se você sair com seu equipamento ruim, você estará morto em pouco tempo, @@.
+
+Tulimshar is the oldest human city, and its foundation is the year zero of our calendar.
+Tulimshar é a cidade humana mais antiga e sua fundação é o ano zero do nosso calendário.
+
+Tulimshar is the strongest city because Dausen teaches every newcomer about the monsters around and how to defeat them. Take his special training if you get the chance!
+Tulimshar é a cidade mais forte porque Dausen ensina a cada recém-chegado sobre os monstros ao redor e como derrotá-los. Tome seu treinamento especial se você tem a chance!
+
+Tulimshar miners mainly try to obtain gems.
+mineiros Tulimshar principalmente tentar obter gemas.
+
+Tulimshar spent trillions in research, and so did Hurnscald and Nivalis. Everything else was neglected. Eventually, some highly experimental tech experiment went haywire.
+
+
+Tulimshar, Tonori - 2nd March 300 AT
+
+
+Tulimshar, right? The oldest human city-state!
+Tulimshar, certo? A cidade-estado humana mais antiga!
+
+Tulip
+Tulipa
+
+Tunnel through the caves!
+Túnel através das cavernas!
+
+Tutorial Protips:
+Tutorial Protips:
+
+Tutorial Tom
+
+
+Tutorship is NOT the most effective way.
+Tutoria não é a maneira mais eficaz.
+
+Tutorship will give you Research Points.
+Tutoria lhe dará Pontos de Pesquisa.
+
+Tux Soul
+
+
+Tweaking: %s
+
+
+Twelve times more if it is an elusive Mana Fragment no one knows where they are!
+Doze vezes mais se for um Fragmento de Mana indescritível, ninguém sabe onde eles estão!
+
+Twelve... There is no way people collected this many gifts. Anyway. 404,800 is the next milestone.
+Doze ... Não há como as pessoas coletarem tantos presentes. De qualquer forma. 404.800 é o próximo marco.
+
+Two Hands Weapon Recipes
+Receitas de Arma de Duas Mãos
+
+Two equal: 1 casino coin.
+Dois iguais: 1 moeda do casino.
+
+Two hands sword (strong, misses)
+Duas mãos espada (forte, acidentes)
+
+Two still fight better than one. I have the courage of a dustman in me!
+Dois ainda lutam melhor que um. Eu tenho a coragem de um lixeiro em mim!
+
+Tycoon
+Magnata
+
+Tyranny
+Tirania
+
+Tyranny as well, but to a different tree.
+
+
+Tyrca
+
+
+Uh are you sure this is fit to drink?
+Tem certeza de que isso está apto para beber?
+
+Uh, a %s? How odd.
+
+
+Uh, how come? I thought you were an adventurer too! That island which trusted adventurers can reach using Pihro & Pyndragon's personal airship is so popular... Anyway!#0
+
+
+Uh, how come? I thought you were an adventurer too! That island which trusted adventurers can reach using Pihro & Pyndragon's personal airship is so popular... Anyway!#1
+
+
+Uh, maybe another time.
+
+
+Uh, sure. We mouboos are not cruel. But it might not be your size.
+Uh, com certeza. Nós mouboos não são cruel. Mas talvez não seja o seu tamanho.
+
+Uh, what?
+Uh o quê?
+
+Uh, you should ask %s, he is the miners leader.
+Uh, você deve perguntar% s, ele é o líder mineiros.
+
+Uh. You're probably right. I'm very sorry. I'm just... You know, I wanted to become a scholar of the sages, studying and... Oh, how could I mess that up? Did you see the library? It caused so much damage! What else should they do other than kick me out?
+Uh. Você provavelmente está certo. Eu sinto muito. Eu sou apenas ... Você sabe, eu queria me tornar um estudioso dos sábios, estudando e ... Oh, como eu poderia estragar tudo? Você viu a biblioteca? Causou tanto dano! O que mais eles deveriam fazer além de me expulsar?
+
+Uh... I *just* remembered I have something else to do!
+Eu só lembrei que tenho outra coisa para fazer!
+
+Uh... Something should happen, right? Can you get another one?
+Algo deve acontecer, certo? Você pode pegar outro?
+
+Uh... That should not happen, right? RIGHT?
+Isso não deveria acontecer, certo? CERTO?
+
+Uh... Yeah, that's not funny.
+Uh ... Sim, isso não é engraçado.
+
+Uh? Hey, look! A platinum card! This should be worth something with the Guild Merchant Guild, right?
+
+
+Uh? I can't pass. I wonder why, maybe I need to wait?
+
+
+Uh? What are you doing here?!
+
+
+Uhh... I'm scared!
+Uhh ... estou com medo!
+
+Uhh... Not really! I love to kill Yetis, but sometimes they are really shy!
+Uhh ... Não realmente! Eu amo matar Yetis, mas às vezes eles são muito tímido!
+
+Uhh... What happened...
+Uhh ... O que aconteceu ...
+
+Uhh...yeah sure...I guess...
+
+
+Uhm, @@ seems to have finished their scheduled tasks again... If they were so diligent in cleaning and stocking, though...
+Uhm, @@ parece ter terminado suas tarefas agendadas novamente ... Se eles fossem tão diligentes em limpar e estocar, embora ...
+
+Uhm, I better heal it first before trying to do anything about the curse.
+Uhm, é melhor eu curá-lo primeiro antes de tentar fazer qualquer coisa sobre a maldição.
+
+Uhm, I don't need that.
+Não preciso disso.
+
+Uhm, I don't think this item needs my skills.
+Não acho que esse item precise das minhas habilidades.
+
+Uhm, I'm not the king of Frostia, I'm the king of all useless adventurers.
+Uhm, eu não sou o rei do Frostia, eu sou o rei de todos os aventureiros inúteis.
+
+Uhm, just remember it'll be manually verified before prizes are given... Don't even think on cheating!
+Humm, lembre-se que será verificada manualmente antes que os prêmios sejam dados ... Nem pense em trapacear!
+
+Uhm, maybe I could teach you something, too. Go mine 5 @@. You should find some at northeast of the Island.
+Uhm, talvez eu possa te ensinar uma coisa também. Vá meu 5 @@. Você deve encontrar alguns no nordeste da ilha.
+
+Uhm, maybe I mashed the Plushroom too hard this time. Here's EXP as usual, let's try again?
+Uhm, talvez eu purê o Plushroom muito difícil neste momento. Aqui está EXP como de costume, vamos tentar de novo?
+
+Uhm, no, not really. Maybe later, who knows?
+Não, na verdade não. Talvez mais tarde, quem sabe?
+
+Uhm, of course a book like this has to be a trap, right?
+Uhm, claro que um livro como este tem que ser uma armadilha, certo?
+
+Uhm, sorry, I don't trust stuff you get at market. You know.
+Uhm, desculpe, eu não confio em coisas que você obtenha no mercado. Você sabe.
+
+Uhm, that's an... @@. Do you... want to grow a tree on the mouboo or something? Can't you think on something else?
+Uhm, isso é um ... @@. Você quer crescer uma árvore no mouboo ou algo assim? Você não pode pensar em outra coisa?
+
+Uhm, this seems like a bad idea.
+Uhm, isso parece ser uma má ideia.
+
+Uhm... I thought you were trying to heal the mouboo. Why are you giving it poisonous stuff?!
+Uhm ... achei que você estava tentando curar o mouboo. Por que você está dando coisas venenosas ?!
+
+Uhm? Oh, a new believer! Welcome, child of the mana, to the only church in this world.
+
+
+Uhul! My name is Mahul!
+U Haul! Meu nome é Mahul!
+
+Ukar
+Ukar
+
+Ultimate
+
+
+Ultimate Exchanger#0
+
+
+Ultimate Tier
+Ultimate Tier
+
+Ultra Rare Drop
+
+
+Um, might I ask, what is so interesting?
+Posso perguntar o que é tão interessante?
+
+Umm..I have another quest to get to. So... umm... I should get going.
+
+
+Unbelievable! You're really a wise person.
+Inacreditável! Você é realmente uma pessoa sábia.
+
+Undead Eye
+Olho Morto-vivo
+
+Under the leadership of King Wusher, they were the first to accept immigrants from other races. You will find humans and non-humans there.
+Sob a liderança do rei Wusher, eles foram os primeiros a aceitar imigrantes de outras raças. Você encontrará humanos e não humanos lá.
+
+Understood
+
+
+Unforgiving Lands
+Terras Imperdoáveis
+
+Unfortunately you cannot rebirth anymore!
+Infelizmente você não pode renascer mais!
+
+Unfortunately you're in tutorial mode, so I cannot let you go ahead knowing you'll fail. Please improve your reputation with Nard and then continue.
+
+
+Unfortunately, @@s are not welcome on the Yeti Domains. You're no exception.
+Infelizmente, @@ s não são bem-vindos nos Domínios Yeti. Você não é exceção.
+
+Unfortunately, I cannot sell them to you. Maggots are attacking my crops and giving me headache.
+Infelizmente, eu não posso vendê-los para você. Maggots estão atacando minhas colheitas e me dando dor de cabeça.
+
+Unfortunately, I was cursed to never enter their cave again. They used a @@ to do that!
+Infelizmente, fui amaldiçoado a nunca mais entrar em sua caverna. Eles usaram um @@ para fazer isso!
+
+Unfortunately, a mere fledgling like you is not strong enough to help us.
+Infelizmente, um mero principiante como você não é forte o suficiente para nos ajudar.
+
+Unfortunately, elves doesn't like to share coffee, so I thought in leaving but fell asleep. Oops!
+
+
+Unfortunately, he has been corrupted by the terrorist organization calling itself S.A.R.A.H. Hopefully, he will return to the ways of peace and bring prosperity to Duck Island once again.
+Infelizmente, ele foi corrompido pela organização terrorista que se autodenomina S.A.R.A.H. Felizmente, ele vai voltar para os caminhos da paz e da prosperidade trazer para Duck Island mais uma vez.
+
+Unfortunately, other victor's names weren't logged.
+Infelizmente, outros nomes de vencedores não foram registrados.
+
+Unique monsters can be found there, and people say about staffs which shoot raw death and doom from it!
+Monstros únicos podem ser encontrados lá, e as pessoas dizem sobre as equipes que matam a morte crua e desgraça com isso!
+
+Unless you are an exceptionally talented mage or an influentical politician, it is unlikely.
+A menos que você seja um mago excepcionalmente talentoso ou um político influente, é improvável.
+
+Unless you know what you are doing, please go to Main Server instead.
+Se você não sabe o que está fazendo, acesse Principal Server em vez.
+
+Unless you're an Alliance member or have authorization, you cannot go in.
+A menos que você seja um membro da Aliança ou tenha autorização, não poderá entrar.
+
+Unless you're looking forward a death penalty, DO NOT JUMP!
+A menos que você esteja ansioso por uma pena de morte, NÃO pule!
+
+Unless, of course, if Saulc cloned you. But then we must blame Saulc!
+A menos, claro, se Saulc clonasse você. Mas então devemos culpar Saulc!
+
+Unless, of course, if you can prove your strength, challenging me to a duel.
+A menos, claro, se você puder provar sua força, me desafiando para um duelo.
+
+Unlike Parum, you can use the skill points you get every time your job level rises. That will lower the mana cost and increase success chances.
+Ao contrário do Parum, você pode usar os pontos de habilidade que você recebe toda vez que o seu nível de emprego aumenta. Isso reduzirá o custo de mana e aumentará as chances de sucesso.
+
+Unlike many other cities, if you want people in eternal need of items, there is a good place to look.
+Ao contrário de muitas outras cidades, se você quer que as pessoas tenham necessidade eterna de itens, há um bom lugar para procurar.
+
+Unlike talking, when trying to pick objects or read signs, you should be at an arms distance of them.
+
+
+Unobtanium
+Unobtanium
+
+Unparelled, strength without precedents. Ancient beings of pure mana, rumored to be immortal.
+Inigualável, força sem precedentes. seres antigos de mana pura, rumores de ser imortal.
+
+Unsatisfied, it goes away from you and your bag. Such a shame, we almost had got its trust.
+
+
+Unsit me OR I'LL KILL YOU in name of my father, Prsm!
+Me despreocupe OU vou matá-lo em nome do meu pai, Prsm!
+
+Unsit me at once!
+Deixa pra mim de uma vez!
+
+Unsurprisingly, nothing happens.
+Não é novidade que nada acontece.
+
+Unused House
+não utilizado Casa
+
+Unused House, Market
+Não utilizado House, Mercado
+
+Updates were disabled
+Atualizações foram desativados
+
+Upgrade it
+Atualize-o
+
+Upgrading a skill level can be done the same away and will always cost a single Magic Skill Point. Job Level points are obtained only after Lv @@, and is a single point each @@ levels.
+Atualizando um nível de habilidade pode ser feito da mesma distância e sempre vai custar um único ponto de habilidade mágica. pontos Nível de emprego são obtidos somente após Lv @@, e é um ponto único de cada @@ níveis.
+
+Urchin Meat
+Carne de ouriço
+
+Usage of @exprate without argument is deprecated, please use "@rates" instead.
+
+
+Usage: @translate <npc file>
+Uso: @translate <arquivo NPC>
+
+Use %s (name in english) to obtain this info. You don't need the full name either, so go ahead and try it!
+Use% s (nome em Inglês) para obter essa informação. Você não precisa o nome completo ou, então vá em frente e experimentá-lo!
+
+Use %s to see how long you need to wait.
+Use% s para ver quanto tempo você precisa esperar.
+
+Use @@ to cancel.
+Use @@ para cancelar.
+
+Use @@ to read the new version.
+Use @@ para ler a nova versão.
+
+Use a key.
+Use uma chave.
+
+Use an alt char to do that.
+Use um caractere alt para fazer isso.
+
+Use items to drain the pentagram. Final result is affected by int!
+
+
+Use its powers for good!
+
+
+Use the abandoned passage to the north... Usually, no one uses it.
+
+
+Use the arrow keys to walk right and meet Juliet.
+Use as setas do teclado para andar à direita e conhecer Juliet.
+
+Use these coins to exchange for stuff. But beware: Each dungeon difficulty will increase the coin drop in the square value of previous.
+Use essas moedas para trocar por coisas. Mas cuidado: Cada dificuldade da masmorra aumentará a queda de moeda no valor quadrado do anterior.
+
+Use your @@ as currency!
+Use seu @@ como moeda!
+
+User Control Panel
+Painel de Controle do Usuário
+
+Username#0000
+
+
+Using potions and support magic is fine, as well as summons; but using a non-magical weapon will disqualify you.
+
+
+Using potions and support magic is fine. It has high defense, so magic attacks work better.
+
+
+Usually only sponsors are allowed up there, but I'll make an exception today. Go meet the mayor.
+Normalmente apenas os patrocinadores são permitidos lá em cima, mas vou abrir uma exceção hoje. Vá conhecer o prefeito.
+
+Usually they have a few rare drops. The miniboss of Candor may drop a rare key, which you can use to open a certain chest...
+Normalmente eles têm algumas gotas raras. O miniboss de Candor pode cair uma chave rara, que você pode usar para abrir uma certa peito ...
+
+Usually you can only tweak if the item already have another option, but I am Tolchi. So, which item you want to tweak?
+Normalmente, você só pode ajustar se o item já tem outra opção, mas estou Tolchi. Então, o que item que deseja ajustar?
+
+Usually, you can find magic on these buildings, but watch out, there is magic to be found elsewhere, and some items are bound with it!
+Normalmente, você pode encontrar magia nesses edifícios, mas cuidado, há mágica a ser encontrada em outros lugares, e alguns itens estão ligados a ela!
+
+Utilities
+Serviços de utilidade pública
+
+V-neck Jumper
+Jumper com decote em V
+
+Valentine Day
+dia dos Namorados
+
+Valentine Day Event Reward automatically claimed
+Recompensa do evento do dia dos namorados automaticamente reivindicada
+
+Valentine Day event consist in gathering @@ and sending them to your loved one.#0
+
+
+Valentine Day event consist in gathering @@ and sending them to your loved one.#1
+
+
+Valentine Day is over!
+Dia dos Namorados acabou!
+
+Valentine Dress
+Vestido de dia dos namorados
+
+Valentine Top 1 Prize
+
+
+Valia
+
+
+Valia Gemini
+
+
+Vampire Bat
+Morcego Vampiro
+
+Vampire Bat Wing
+Asa de Morcego Vampiro
+
+Vanity Pixie
+Vanity Pixie
+
+Various people already went missing, including GMs. This is why if you plan to cross,
+Várias pessoas já desapareceram, incluindo os GMs. É por isso que se você planeja cruzar
+
+Vault#01710
+
+
+Vault#0172
+
+
+Vault#0173
+
+
+Vault#0174
+
+
+Vault#0175
+
+
+Vault#01824a
+Cofre#01824a
+
+Veneri
+Veneri
+
+Versatile Card
+Cartão versátil
+
+Very well - Congratulations! That was very easy, though, and this one is full of imperfections.
+Muito bem - parabéns! Isso foi muito fácil, e este é cheio de imperfeições.
+
+Very well! We have seven class of items: Wood, Iron, Terranite, Bronze, Silver, Gold and Platinum.
+Muito bem! Temos sete classes de itens: Madeira, Ferro, Terranito, Bronze, Prata, Ouro e Platina.
+
+Very well, but for a fee of @@ GP. There's no free lunch, after all!
+Muito bem, mas por uma taxa de @@ GP. Não há almoço grátis, afinal de contas!
+
+Very well, let's see what you are made of!
+
+
+Very well, listen to my plan!
+Muito bem, ouça o meu plano!
+
+Very well, now I can create more paper.
+Muito bem, agora posso criar mais papel.
+
+Very well, this looks fine. It is time for your first lesson.
+Muito bem, isso parece bem. É hora de sua primeira aula.
+
+Very well, you don't know what you're missing.
+Muito bem, você não sabe o que está perdendo.
+
+Very well. I shall now share with you the details of this rite.
+Muito bem. Agora vou compartilhar com você os detalhes deste rito.
+
+Very well. That will make a great meal. You pass!
+Muito bem. Isso fará uma ótima refeição. Você passa!
+
+Very well. The Platinum Red Queen died in her sleep and the Soul Eater took her role. But the Soul Eater was a tyrant and soon enough, "she" was murdered. A Council has taken over Tulimshar on the meanwhile and is doing intense research.
+
+
+Very well. This conversation never happened.
+Muito bem. Essa conversa nunca aconteceu.
+
+Veteran Officer
+Oficial veterano
+
+Vice Leader
+Vice líder
+
+Vicious Chest
+Baú Vicioso
+
+Vicious Squirrel
+Esquilo vicioso
+
+Vicious Squirrels
+Esquilos viciosos
+
+Victory Conditions
+Condições de Vitória
+
+Victory Conditions: Defeat all enemies!
+Condições de Vitória: Derrote todos os inimigos!
+
+Victory Conditions: Defeat the assassin!
+Condições de Vitória: Derrote o assassino!
+
+Victory Conditions: Protect Sagratha!
+Condições de Vitória: Proteja Sagratha!
+
+Victory Conditions: Survive!
+Condições de Vitória: Sobreviva!
+
+Victory prizes include guild experience, guild money, and guild bound items.
+prêmios vitória incluir a experiência de alianças, dinheiro guilda, e itens vinculados guilda.
+
+View Candidate List and cast a vote
+Lista Ver candidatos e votar
+
+View LeaderBoard
+Ver LeaderBoard
+
+Viking Helmet
+Capacete Viking
+
+Vincent
+Vincent
+
+Visit the Christmas Workshop, and talk to the chief in charge.
+Visite a Oficina de Natal, e falar com o chefe no comando.
+
+Visit the special event map, kill low level bosses, collect %s,
+Visite o mapa evento especial, matar chefes de baixo nível, recolher% s,
+
+Visiting a new world is always exciting. Actually, the opportunity of taking a new life in a new universe isn't that bad either.
+
+
+Visiting the bank too right? We're only a small village but Cynric is the best bank guy I know.
+Visitando o banco também né? Somos apenas uma pequena aldeia, mas Cynric é o melhor cara do banco que conheço.
+
+Visitor with a mask? Ah, I think I know who are you talking about. Black clothes and a golden mask. Rather strange guy.
+Visitante com uma máscara? Ah, acho que sei de quem você está falando. Roupas pretas e uma máscara de ouro. Cara bastante estranho.
+
+Visitors should keep away from those!
+Os visitantes devem ficar longe deles!
+
+Vit Potion
+Poção Vit
+
+Vit+ Potion
+Vit + Poção
+
+Vit++ Potion
+Poção Vit ++
+
+Vitality
+Vitalidade
+
+Vitality Fruit
+Fruit vitalidade
+
+Vneck Sweater
+Camisola Vneck
+
+WAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHH
+WAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHH
+
+WARNING
+AVISO
+
+WARNING!
+AVISO!
+
+WARNING! WARNING! Monster Army is moving towards Halinarzo!!
+
+
+WARNING! WARNING! Monster Army is moving towards Hurnscald!!
+
+
+WARNING! WARNING! Monster Army is moving towards Nivalis!!
+
+
+WARNING! WARNING! Monster Army is moving towards Tulimshar!!
+
+
+WARNING#015535661
+AVISO#015535661
+
+WARNING, THIS IS A RARE ITEM AND THIS OPERATION CANNOT BE REVERTED!!
+AVISO: ESTE É um item raro e esta operação não pode ser revertido !!
+
+WARNING, you have been detected cheating and thus, violating Tulimshar Anti-Theft Policy.
+ATENÇÃO, você foi detectado trapaça e, portanto, violando a política antifurto da Tulimshar.
+
+WARNING. YOU ARE CHEATING THE GRIMORIE QUEST.
+ATENÇÃO. VOCÊ ESTà CHEANDO A PROCURA DE GRIMOIRE.
+
+WARNING. YOU ARE CHEATING THE SUNNY CRYSTAL QUEST.
+ATENÇÃO. VOCÊ ESTà CHEANDO A PROCURA DE CRISTAL ENSOLARADA.
+
+WARNING:
+AVISO:
+
+WARNING:
+AVISO:
+
+WARNING: Angela Quest cannot be finished without finishing Mercury sidequest first.
+
+
+WARNING: Change your equipment now.
+AVISO: Mude seu equipamento agora.
+
+WARNING: DO NOT PROCEED UNLESS YOU'RE READY.
+AVISO: NÃO PROSSIGA A MENOS QUE VOCÊ ESTEJA PRONTO.
+
+WARNING: Dangerous!!
+
+
+WARNING: Data may have been corrupted.
+
+
+WARNING: Deprecated!
+
+
+WARNING: Difficult quest, bringing plenty of healing items strongly advised!
+AVISO: Busca difícil, trazendo muitos itens de cura fortemente aconselhados!
+
+WARNING: Do not spend unecessary time on Soren's House, you'll be disconnected!
+AVISO: Não perca tempo desnecessário na Casa de Soren, você será desconectado!
+
+WARNING: Fake Death skill is disabled on the fight.
+AVISO: A habilidade Falso Morte está desabilitada na luta.
+
+WARNING: HIGH LEVEL AREA. COME PREPARED.
+AVISO: ALTO NÃVEL área. Venha preparado.
+
+WARNING: If you insert wrong pincode, you'll be disconnected.
+AVISO: Se você inserir um código PIN errado, você será desconectado.
+
+WARNING: If you use any Mirror Lake feature on this world, the current Mirror Lake Quest will be marked as "Failed".
+
+
+WARNING: If you walk out the main gate you WON'T be able to return!
+ATENÇÃO: Se você sair pela porta principal, você não será capaz de voltar!
+
+WARNING: Might have unexpected side effects!
+AVISO: Pode ter efeitos colaterais inesperados!
+
+WARNING: Monsters will appear!
+
+
+WARNING: NO EXPERIENCE WILL BE CARRIED OVER FROM THIS FIGHT.
+AVISO: NENHUMA EXPERIÊNCIA SERà REALIZADA DESTA LUTA.
+
+WARNING: Nivalis is currently under siege from the Monster King himself.
+ATENÇÃO: Nivalis está atualmente sob o cerco do próprio Monster King.
+
+WARNING: Path temporaly closed due strong snowstorm.
+AVISO: Caminho temporaly fechado devido forte tempestade de neve.
+
+WARNING: Permanent boosts will return to their fruit form.
+AVISO: aumenta Permanentes irá retornar à sua forma de frutas.
+
+WARNING: Save your game now.
+AVISO: Salve seu jogo agora.
+
+WARNING: Server will go down for scheduled maintenance in 10 minutes!
+
+
+WARNING: Server will go down for scheduled maintenance in 15 minutes!
+
+
+WARNING: Server will go down for scheduled maintenance in 5 minutes!
+
+
+WARNING: Spawn these monsters with moderation!
+ATENÇÃO: Spawn estes monstros com moderação!
+
+WARNING: Strange bugs may happen if you attempt to craft an item you already have on inventory!
+AVISO: Estranhos erros podem acontecer se você tentar criar um item que você já tem no inventário!
+
+WARNING: THIS ACTION IS IRREVERSIBLE.
+AVISO: Esta ação é irreversível.
+
+WARNING: The %s is a %s. Besides being insanely powerful, no duplicate of them exist in the world. They can be tweaked freely and can hold multiple cards as well, and scale according to your level. Use its powers wisely. However, beware: This weapon cannot be traded except with "@grantpower" command, and if you abandon the world, the weapon will abandon you as well!
+
+
+WARNING: This is a level 45 quest!
+ATENÇÃO: Esta é uma missão de nível 45!
+
+WARNING: This is experimental!!
+AVISO: Este é experimental !!
+
+WARNING: Warp Crystals can break after use and have a cooldown.
+AVISO: Os Warp Crystals podem quebrar após o uso e ter um cooldown.
+
+WARNING: You are about to enter a HIGH-RISK zone.
+AVISO: Você está prestes a entrar em uma zona de ALTO RISCO.
+
+WARNING: You died at Forgotten Shrine and the Shrine defense triggered.
+AVISO: Você morreu no Santuário Esquecido ea defesa Santuário acionado.
+
+WARNING: You have a time limit!
+
+
+WARNING: You have done less than 50% of Candor Quests!
+AVISO: Você tem feito menos de 50% de Candor Quests!
+
+WARNING: You must give at least @@ boxes more before event ends to be eligible for a reward!
+AVISO: Você deve dar pelo menos @@ caixas antes que o evento termine para se qualificar para uma recompensa!
+
+WARNING: Your progress on the quest was lost!
+AVISO: O seu progresso na busca foi perdido!
+
+WARNING: if you die again today in a special map it will be PERMANENT.
+AVISO: se você morrer hoje de novo em um mapa especial será permanente.
+
+WARPING IN 10 SECONDS
+Empenamento em 10 segundos
+
+WAW thank you! Come back later to bring me extra @@!
+WAW obrigado! Volte depois para me trazer mais @@!
+
+WHAT ARE WE WAITING FOR?! START ALREADY!
+
+
+WHAT ARE YOU GOING TO DO?
+O QUE VOCÊ VAI FAZER?
+
+WHAT IN THE NAME OF THE FREAKING PENGUIN WAS THAT?!
+O QUE, EM NOME DO PINGUIM FREAKING, ERA QUE ?!
+
+WHAT? Have you not gained one at birth? That's absurd!
+QUE? Você não ganhou um no nascimento? Isso é um absurdo!
+
+WHAT? How can you ever party without beer?!
+
+
+WHAT? That's twice absurd! Now you'll say that you were found stranded on a desert island without equipment and can't remember anything but your own name!
+QUE? Isso é duas vezes absurdo! Agora você dirá que você foi encontrado encalhado em uma ilha deserta sem equipamentos e não consegue se lembrar de nada além do seu próprio nome!
+
+WHAT? The farm is plagued with insects?!
+O QUE? A fazenda está cheia de insetos ?!
+
+WHAT?! ARE YOU OUT OF MIND?!?!
+O QUE?! VOCÊ ESTà FORA DE SI?!?!
+
+WHIP
+
+
+WOW, THIS IS AWESOME! Many, many thanks!!
+UAU, isso é incrível! Muitíssimo obrigado!!
+
+Wait a minute! I have an idea!
+
+
+Wait a minute...
+Espere um minuto...
+
+Wait a minute... This is written in Mananese! I can't read it!
+
+
+Wait a moment - you are naked! YOU WILL DIE IN THE FREEZE! o.o
+Espere um momento - você está nu! VOCÊ MORRERà NO FREEZE! o.o
+
+Wait for the bait to sink underwater.
+Espere a isca afundar debaixo d'água.
+
+Wait, I thought you were a nymph!
+
+
+Wait, Yeti's have a king?
+
+
+Wait, are you with the police? I didn't do anything wrong, I promise!#0
+
+
+Wait, are you with the police? I didn't do anything wrong, I promise!#1
+
+
+Wait, if you try to melt more than one item, manaplus will get buggy.
+Espere, se você tentar derreter mais de um item, manaplus terá buggy.
+
+Wait, it is not so simple as just giving me the money.
+Espere, não é tão simples como me dar o dinheiro.
+
+Wait- Something is happening!
+Algo espera- está acontecendo!
+
+Wait. I remember you. You ruined my crops a few seconds ago!!
+Esperar. Eu lembro de você. Você arruinou minhas colheitas há alguns segundos atrás !!
+
+Wait...could you repeat that?
+
+
+Waiting for @@...
+Esperando por @@...
+
+Waitress
+Garçonete
+
+Walk +5%
+
+
+Wall Card
+Cartão de Parede
+
+Wall Card S
+
+
+Wall Card X
+
+
+Wand (skill boost, pathetically weak)
+Varinha (habilidade impulso, pathetically fraco)
+
+Wanderer, here is dangerous! Go back!
+Andarilho, aqui é perigoso! Volte!
+
+Wandering Shadow
+
+
+Wandering too much? Take care to don't get lost.
+Vagando demais? Tome cuidado para não se perder.
+
+Wandering too much? Take care to not get lost.
+Vagando demais? Tome cuidado para não se perder.
+
+Wands
+Varinhas
+
+Want to break the hundredthousand item limit?? Ten gifts, for more, bring 102,400 boxes here.
+Quer quebrar o limite de 100 mil itens? Dez presentes, para mais, trazem 102.400 caixas aqui.
+
+Wardrobe#MKHB
+Guarda-roupa#MKHB
+
+Wardrobe#RES_0128
+Guarda-roupa#RES_0128
+
+Wardrobe#RES_PPL
+Guarda-roupa#RES_PPL
+
+Warez?
+
+
+Warlord
+
+
+Warlord Boots
+Botas de Warlord
+
+Warlord Gloves
+Luvas do Senhor da Guerra
+
+Warlord Helmet
+Capacete do Senhor da Guerra
+
+Warlord Pants
+Calças de Warlord
+
+Warlord Plate
+Placa do Senhor da Guerra
+
+Warning#Kamelot
+
+
+Warning.
+Atenção.
+
+Warning: If you are taking an advanced class, it will canceled.
+
+
+Warning: Invalid UNIX EPOCH time detected.
+Aviso: tempo inválido UNIX ÉPOCA detectado.
+
+Warning: This will drain mana and spawn monsters. You shall not leave this cave section!
+Aviso: Isso irá drenar mana e gerar monstros. Você não deve deixar esta seção da caverna!
+
+Warning: You are using an old client.
+Aviso: você está usando um cliente antigo.
+
+Warp - Arrest me!
+Warp - Prenda-me!
+
+Warp - Jump to Basement
+Warp - Ir para Basement
+
+Warp - Jump to Cave Exit
+Warp - Ir para Caverna Exit
+
+Warp - Jump to Entrance
+Warp - Ir para Entrada
+
+Warp - Jump to Jail
+Warp - Ir para Jail
+
+Warp - Jump to Sewer Entrance
+Warp - Ir para esgoto Entrance
+
+Warp - Jump to Weapon Room
+Warp - Ir para a Sala de Armas
+
+Warp to Council room?
+Deformar a sala do Conselho?
+
+Warp to a mirror island.
+Deformar a uma ilha espelho.
+
+Warp to extra island!
+Warp para ilha extra!
+
+Warp to the Cave Of Trials?
+Deformar a caverna das provas?
+
+Warped Log
+Registro Warped
+
+Warped.
+Deformado
+
+Warping to save point.
+Warping para salvar o ponto.
+
+Warrior General
+Guerreiro Geral
+
+Was I supposed to have one? How should I reply?
+Eu deveria ter um? Como devo responder?
+
+Was it Nard who brought you here?
+Foi Nard quem te trouxe aqui?
+
+Was not it only flooded constantly, the graveyard is not too far. If you stray away from the path, you'll get lost.
+Não foi apenas inundado constantemente, o cemitério não está muito longe. Se você se desviar do caminho, você se perderá.
+
+Wash yourself with the potion
+Lave-se com a poção
+
+Wasn't there something on the Holy Bible? About a young boy trapped by his brothers somewhere because envy?
+Não havia algo na Bíblia Sagrada? Sobre um menino preso por seus irmãos em algum lugar por inveja?
+
+Watch out! My wife was gravely wounded the other day. Don't forget your shield when leaving this holy place!
+Cuidado! Minha esposa foi gravemente ferida no outro dia. Não esqueça seu escudo quando sair deste lugar sagrado!
+
+Water Element
+Elemento de Ãgua
+
+Water Fairy
+Fada da água
+
+Water, Bread, Cheese and Cherry Cake are to eat, and money is always useful, you know.
+Ãgua, pão, queijo e bolo de cereja são para comer, e o dinheiro é sempre útil, você sabe.
+
+Wave @@/10
+Onda @@ / 10
+
+Waw! You really did it, you're the savior of my farm!! You have my eternal gratitute. Here is 2500 GP for your troubles!
+Waw! Você realmente fez isso, você é o salvador da minha fazenda !! Você tem meu eterno agradecimento. Aqui está 2500 GP para seus problemas!
+
+Waw! You really did it, you're the savior of my farm!! You have my eternal gratitute. Here is 5000 GP for your troubles!
+Waw! Você realmente fez isso, você é o salvador da minha fazenda !! Você tem meu eterno agradecimento. Aqui está 5000 GP para seus problemas!
+
+Waw, you are level @@! Many congratulations. If there were people like you, ukarania wouldn't have been destroyed...
+Waw, você está no nível @@! Muitos parabéns. Se houvesse pessoas como você, ukarania não teria sido destruída ...
+
+We actually have a problem. Bandits ransacked this tavern, and took a huge loot.
+Nós realmente temos um problema. Bandidos saquearam essa taverna e fizeram um grande saque.
+
+We advise you to change your equipment now.
+Aconselhamo-lo a mudar o seu equipamento agora.
+
+We also feature some services like a storage and a bank for members.
+Também apresentamos alguns serviços como armazenamento e banco para membros.
+
+We also found a small fortress and a small gothic building which might have important clues on your journey. Our first task, therefore, should be recapturing this town from our enemies!
+
+
+We appreciate your help. Take this %s as a token of goodwill.
+Agradecemos sua ajuda. Tome este% s como um gesto de boa vontade.
+
+We are assembling forces to take Nivalis back.
+Estamos reunindo forças para levar Nivalis de volta.
+
+We are deliberating. Some do not... approve of your initiation. Leave.
+Estamos deliberando. Alguns não ... aprovar a sua iniciação. Sair.
+
+We are in desperate need of food and nesting material, as well as our sacred supply of @@.
+Estamos em necessidade desesperada de alimentos e material de nidificação, bem como nosso suprimento sagrada de @@.
+
+We are no longer in danger, thanks to you. The pirates were thoroughly defeated. None survived the battle.
+Nós já não estão em perigo, graças a você. Os piratas foram completamente derrotados. Nenhum sobreviveu à batalha.
+
+We are planning to take over Hurnscald from the Monster King, and we will need everybody's help.
+Estamos planejando assumir Hurnscald do Rei dos Monstros e precisaremos da ajuda de todos.
+
+We are strong fighters, and we want to free the King from his obsession.
+Nós somos lutadores fortes, e queremos libertar o Rei de sua obsessão.
+
+We are unsure of the cause, but they must be repelled at any cost!
+
+
+We arranged a small underground room for that, because the Colliseum is too far away.
+Nós organizamos uma pequena sala subterrânea para isso, porque o Coliseu está muito longe.
+
+We can do this again on next summer!
+Podemos fazer isso novamente no próximo verão!
+
+We can do this again on next winter!
+Podemos fazer isso novamente no próximo inverno!
+
+We can't let you die of thirst! That wouldn't be cool at all! And I'm very cool!
+
+
+We can't, don't you agree?!
+Nós não podemos, você não concorda ?!
+
+We don't have a mayor. The independent city-state of Frostia is ruled by a King.
+Nós não temos um prefeito. A cidade-estado independente de Frostia é governada por um rei.
+
+We elves have greater affinity for magic than humans.
+Nós, elfos, temos maior afinidade pela magia que os humanos.
+
+We follow north hemisphere seasons in case you're wondering.
+Nós seguimos as estações do hemisfério norte, caso você esteja se perguntando.
+
+We found several interest points inside, like some mines with the most precious ores in the world - like %s and even %s - along very powerful monsters. Unfortunately, it is partly flooded.
+
+
+We from Halinarzo are very poor, and in constant need of food. You have to help us!
+Nós de Halinarzo somos muito pobres, e em constante necessidade de comida. Você tem que nos ajudar!
+
+We have four classes, but you can make a mix between them.
+Temos quatro classes, mas você pode fazer uma mistura entre eles.
+
+We have made a stop at a little island, before making it on to the port of Tulimshar.
+Fizemos uma parada em uma pequena ilha antes de chegar ao porto de Tulimshar.
+
+We have three vanishing sort of people on the story.
+Temos três pessoas que desaparecem na história.
+
+We held to our hope and Jerry figured it out.
+Mantivemos nossa esperança e Jerry percebeu.
+
+We keep the Slimes past the barrier for the night, so be careful when entering.
+Mantemos o Slimes além da barreira durante a noite, por isso tenha cuidado ao entrar.
+
+We know a lot, but all this knowledge will part with us. We should not the only nomads, though. There should be nomads in Argaes, Kaizei, besides the citadels of Oceania and Volcania. Unfortunately, all of them are incommunicable. But so are us.
+
+
+We may delete all entries and change formulas in the future.
+Podemos eliminar todas as entradas e fórmulas mudar no futuro.
+
+We may require your aid again soon. The tritan pirates are amassing and we fear they are planning a siege of Duck Island. I must speak with the Council of Elders...
+Podemos exigir a sua ajuda novamente em breve. Os piratas tritan estão acumulando e tememos que eles estão planejando um cerco de Duck Island. Preciso falar com o Conselho de Anciãos ...
+
+We must away
+Nós devemos sair
+
+We must blame Saulc!
+Nós devemos culpar Saulc!
+
+We must capture Barbara AND return the stolen item!
+
+
+We must defeat the Monster King on his evil lair!
+Devemos derrotar o monstro rei em seu covil do mal!
+
+We must find out what lies at the top, whatever the cost!
+
+
+We need to find what powers these two seals and disable it.
+Precisamos encontrar o que alimenta esses dois selos e desativá-lo.
+
+We need:
+Nós precisamos:
+
+We offer party and guild certifications.
+Oferecemos certificações de festas e corporações.
+
+We only managed to recover @@ stolen @@ thus far...
+Nós só conseguimos recuperar @@ stolen @@ até agora ...
+
+We only require a small fee of %d %s, or %d %s, or %d %s if you are poor adventurer.
+
+
+We organize some auction and we help local merchants to launch their businesses.
+Organizamos alguns leilões e ajudamos os comerciantes locais a lançar seus negócios.
+
+We pursued them until the mines, slayed them, and took the chests where they locked our stuff into.
+Nós os perseguimos até as minas, os matamos e pegamos os baús onde eles trancavam nossas coisas.
+
+We really appreciate your help with the slimes.
+Nós realmente apreciamos sua ajuda com os slimes.
+
+We shall be waiting for your arrival.
+
+
+We should be there in a few days. For now, you can relax on the ship, or visit the island we're docked at! Its a small island, but a good place to get some exercise and stretch your legs.
+Nós deveríamos estar lá em alguns dias. Por enquanto, você pode relaxar no navio ou visitar a ilha onde estamos ancorados! É uma pequena ilha, mas um bom lugar para fazer algum exercício e esticar as pernas.
+
+We should split our team, and have someone to protect our backs. Otherwise, we might not do it.
+Devemos dividir nossa equipe e ter alguém para proteger nossas costas. Caso contrário, podemos não fazer isso.
+
+We speak various languages on this world. Let's try gesturing!
+Nós falamos várias línguas neste mundo. Vamos tentar gesticular!
+
+We sure flourished at her early years, but the late years were a disaster! Crops were failing way before her death!
+
+
+We thank every developer which helped this project thus far!
+Agradecemos a todos os desenvolvedores que ajudaram neste projeto até agora!
+
+We thank every player, because without them, this would be nothing!
+Agradecemos a todos os jogadores, porque sem eles, isso não seria nada!
+
+We thought that you could help us understand this, all we know is that we found you cast in the sea, in a sand bank.
+Nós pensamos que você poderia nos ajudar a entender isso, tudo o que sabemos é que encontramos você jogando no mar, em um banco de areia.
+
+We want to celebrate this moment, but can you believe we ran out of beer?
+
+
+We want to thank everyone who did this release possible.
+Queremos agradecer a todos que fizeram este lançamento possível.
+
+We will be yaying there in a few days, so we will drop you off there.
+Nós estaremos lá em poucos dias, então vamos deixá-lo lá.
+
+We will have a party today, but only believers are allowed in!
+Vamos ter uma festa hoje, mas somente crentes são permitidos!
+
+We will talk about it later.
+Nós falaremos sobre isso depois.
+
+We won't be able to pay you in money, but we'll make you one of us if you bring us beer!
+Nós não poderemos pagar em dinheiro, mas faremos de você um de nós se você nos trouxer cerveja!
+
+We'd never be able to recover our books so quickly without your help. Thanks!
+Nós nunca seriamos capazes de recuperar nossos livros tão rapidamente sem sua ajuda. Obrigado!
+
+We'll be arriving at Artis by the dawn, where Elora will be waiting for us. I can only hope, that the denizens are okay...
+
+
+We'll be correcting this bug automatically now.
+Nós estaremos corrigindo esse erro automaticamente agora.
+
+We'll bring this one to Juliet at once. Thanks for your help! Savior!#0
+
+
+We'll bring this one to Juliet at once. Thanks for your help! Savior!#1
+
+
+We'll never forget Andrei Sakar, the most courageous hero this world has ever had.
+
+
+We're busy here, so please don't bother us.
+Estamos ocupados aqui, então, por favor, não nos incomode.
+
+We're currently the biggest exporter of food. We may be a small town, but Tulimshar and Halinarzo can barely hold themselves.
+Somos atualmente o maior exportador de alimentos. Podemos ser uma cidade pequena, mas Tulimshar e Halinarzo mal conseguem se conter.
+
+We're doing researches on slimes, the explosive ones. You probably saw when they explode, they damage anything close to them, friendly or not, right?
+Estamos fazendo pesquisas sobre slimes, os explosivos. Você provavelmente viu quando eles explodem, eles danificam qualquer coisa perto deles, amigável ou não, certo?
+
+We're nearly out of paper. The new books require so much material... And it's not easy to get Reed Bundles to create new paper.
+Estamos quase sem papel. Os novos livros exigem muito material ... E não é fácil conseguir que Reed Bundles crie novos papéis.
+
+We're talking about @@. It's not something for kids or pranksters!
+Estamos falando de @@. Não é algo para crianças ou brincalhões!
+
+We're trying to repair some of the valuable and important books. It's so much work!
+Estamos tentando consertar alguns dos valiosos e importantes livros. É muito trabalho!
+
+We're trying to repair the books by collecting the ripped out bookpages and sorting them and copying them for new books. It's a lot to do, and after being eaten by a slime they stink!
+Estamos tentando consertar os livros coletando as páginas de livros rasgadas, classificando-as e copiando-as para novos livros. É muito para fazer, e depois de ser comido por um lodo eles fedem!
+
+We've built this blockade to prevent this area from being overrun with monsters, but who knows for how long this will last.
+Nós construímos este bloqueio para evitar que esta área seja invadida por monstros, mas quem sabe por quanto tempo isso vai durar.
+
+We've finally solved the problem with our instruments!
+Finalmente resolvemos o problema com nossos instrumentos!
+
+We've traced them to the Dark Forest, our goal is to destroy every raider there and defeat whoever is behind this tragedy. All that while keeping an eye open for survivors.
+
+
+Weakness: AGI-
+Fraqueza: AGI-
+
+Weakness: DEX-
+Fraqueza: DEX-
+
+Weakness: INT-
+Fraqueza: INT
+
+Weakness: LUK-
+Fraqueza: LUK-
+
+Weakness: NONE
+Fraqueza: NONE
+
+Weakness: STR-
+Fraqueza: STR-
+
+Weakness: VIT-
+
+
+Weapon Maximum Damage
+Dano da Arma Máxima
+
+Weapons: +8 attack, +8 magic attack
+Armas: +8 de ataque, +8 de ataque mágico
+
+Weather & Seasons.
+Clima e Estações.
+
+Wedding Ring
+Anel de noivado
+
+Weekly, at Sunday 00:00, elections are held.
+Weekly, ao Domingo 00:00, as eleições são realizadas.
+
+Weellos
+
+
+Welcome back, Padric!
+Bem vindo de volta, Padric!
+
+Welcome back, children. So, how was your treasure hunt? Did you manage to find the path?
+
+
+Welcome back.
+Bem vindo de volta.
+
+Welcome back. Please enjoy your stay here.
+Bem vindo de volta. por favor, aproveite sua estadia aqui.
+
+Welcome back. Uh, no, I haven't forgot I promised you a small something... But you see, then I lost my ring, and...
+
+
+Welcome miss.#0
+
+
+Welcome to
+Bem-vindo ao
+
+Welcome to Aethyr, strange traveler. I am a collector of rare gemstones.
+
+
+Welcome to Dimond's Cove!
+Bem-vindo à enseada de Dimond!
+
+Welcome to HUNGRY QUIRIN ARENA mangment panel.
+Bem-vindo ao painel de gestão da HUNGRY QUIRIN ARENA.
+
+Welcome to Moubootaur Legends: ##1Fires of Steam##0
+
+
+Welcome to Nivalis, the frozen town.
+Bem-vindo ao Nivalis, a cidade congelada.
+
+Welcome to Porthos - The Town of Portals (Kaizei's æther / Moubootaur Legends)
+
+
+Welcome to Saulc's Magic Alchemy Table!
+Bem-vindo à Mesa de Alquimia Mágica de Saulc!
+
+Welcome to Saulc's Magic Smith Table!
+Bem-vindo ao Magic Smith Table de Saulc!
+
+Welcome to TMW-2: Moubootaur Legends! We hope you have a great time in our server!
+Bem vindo ao TMW-2: Lendas do Moubootaur! Esperamos que você tenha um ótimo tempo em nosso servidor!
+
+Welcome to Tolchi and Rosen Shop.
+Bem-vindo ao Tolchi e Rosen Shop.
+
+Welcome to Tulimshar, @@!
+Bem-vindo à Tulimshar, @@!
+
+Welcome to my fine establishment!
+Bem-vindo ao meu bom estabelecimento!
+
+Welcome to the ##BThieves Guild##b! Follow those with higher rank than you, and happy stealing!
+
+
+Welcome to the Arena. Select your action
+Bem vindo à Arena. Selecione sua ação
+
+Welcome to the Greenlands, the place cursed by the Monster King to be ice forever, and now known as Icelands.
+Bem-vindo ao Greenlands, o lugar amaldiçoado pelo Rei Monstro para ser gelo para sempre, e agora conhecido como Islândia.
+
+Welcome to the Town Hall. I am @@, officer in charge of public associations.
+Bem-vindo à Câmara Municipal. Eu sou @@, oficial encarregado de associações públicas.
+
+Welcome to the library of Sage Nikolai. I'm very sorry, but as you see it's not in a good shape at the moment. Most of the books were eaten by the slimes or damaged and we're working hard on cleaning up the mess.
+Bem-vindo à biblioteca do sábio Nikolai. Sinto muito, mas como você vê, não está em boa forma no momento. A maioria dos livros foram comidos pelos slimes ou danificados e estamos trabalhando duro para limpar a bagunça.
+
+Welcome to the questing world!"
+
+
+Welcome! Here to pick a weapon? You'll be able to select three skill cards as well.
+Bem-vinda! Aqui para pegar uma arma? Você será capaz de selecionar três cartas de habilidade também.
+
+Welcome! I come from nowhere, and my family hunt Snakes. We also make fine leather items from their skin!
+Bem vinda! Eu venho do nada, e minha família caça Snakes. Nós também fazemos itens de couro fino de sua pele!
+
+Welcome! I see you have ##B%d Monster Points##b. Would you like to exchange some of those for items?
+
+
+Welcome! I see you have %d Monster Points. But that isn't enough to get items at your current level, sorry!
+
+
+Welcome! My name is @@, I am a representative of the Merchant Guild on @@.
+Bem vinda! Meu nome é @@, sou representante da Merchant Guild em @@.
+
+Welcome! Only the finest wares!#0
+
+
+Welcome! Only the finest wares!#1
+
+
+Welcome. Are you an adventurer? I could use some help.
+Bem vinda. Você é um aventureiro? Eu poderia usar alguma ajuda.
+
+Welcome. Please don't go deeper into the library, there are still some slimes left. But in spite of that we have made quite a bit of progress. You should have seen the mess just after most of the slimes escaped!
+Bem vinda. Por favor, não vá mais fundo na biblioteca, ainda há alguns resíduos. Mas apesar disso, fizemos um pouco de progresso. Você deveria ter visto a bagunça logo depois que a maioria dos slimes escapou!
+
+Welcome.#0
+
+
+Welcome.#1
+
+
+Well ... but ... I mean ... I don't know ...
+Bem ... mas ... quero dizer ... eu não sei ...
+
+Well I see that you have completed the George Quest!
+Bem, eu vejo que você completou o George Quest!
+
+Well done! I hope no more of those assassins show up. I'm afraid I cannot give you a proper reward, but...
+Bem feito! Espero não mais desses assassinos aparecer. Eu tenho medo Eu não posso lhe dar uma recompensa adequada, mas ...
+
+Well well well, @@, good job in reaching Soren's House.
+Ora ora ora, @@, bom trabalho em alcançar a casa de Soren.
+
+Well#003-1
+Poço#003-1
+
+Well#Nivalis
+Poço#Nivalis
+
+Well, Andrei Sakar said it was a waste a time, and the other NPCs started fighting against themselves, so I won.
+Bem, Andrei Sakar disse que era um desperdício de tempo, e os outros NPCs começaram a lutar contra eles mesmos, então eu ganhei.
+
+Well, I and my brother could make another one, but they are being checked for safety.
+Bem, eu e meu irmão poderíamos fazer outro, mas eles estão sendo checados por segurança.
+
+Well, I can sell you a random box with almost 100 @@ for just @@ GP.
+Bem, eu posso te vender uma caixa aleatória com quase 100 @@ por apenas @@ GP.
+
+Well, I can't help but keep thinking on how many shiny treasures might be there!
+
+
+Well, I decided to resume an old research of mine, now that I have a minion (you) to gather stuff for me.
+Bem, eu decidi retomar uma pesquisa antigo meu, agora que tenho um assecla (você) para reunir material para mim.
+
+Well, I did my best, but this had been so refined, that it was difficult to find my way.
+Bem, eu fiz o meu melhor, mas isso foi tão refinado, que foi difícil encontrar o meu caminho.
+
+Well, I do not trust you yet. You literally were just brought by the shore, and even if Nard and Lua seems to trust you...
+Bem, eu não confio em você ainda. Você literalmente foi trazido pela costa, e mesmo que Nard e Lua pareçam confiar em você ...
+
+Well, I don't want to be an snob.
+Bem, eu não quero ser um snob.
+
+Well, I guess I was thinking too high of a random adventurer like yourself...
+Bem, eu acho que estava pensando em um aventureiro aleatório como você ...
+
+Well, I have a small problem. Sorry, but my superior officer did not like you. This happens, not everyone will like us, right? A lot of adventurers actually hate me %%R
+
+
+Well, I have not finished my research on snakes yet, but I'm pretty sure in how to transmute their parts.
+Bem, eu não terminei minha pesquisa sobre cobras ainda, mas eu tenho certeza de como transmutar suas partes.
+
+Well, I heard you needed to have some Job levels to sign up with them, and couldn't resign later.
+Bem, eu ouvi que você precisava ter alguns níveis de trabalho para se inscrever com eles, e não poderia renunciar mais tarde.
+
+Well, I just like sunbathing.
+Bem, eu apenas gosto de se bronzear.
+
+Well, I know a mixture to keep monsters away. I just can't share it with you now.
+Bem, eu sei uma mistura para manter monstros longe. Eu simplesmente não posso compartilhar com você agora.
+
+Well, I know how to do a @@, a sturdy bow, but I am not making those anymore, sorry.
+Bem, eu sei fazer um @@, um arco resistente, mas eu não vou mais fazer isso, desculpe.
+
+Well, I suppose you can have some of my tea.
+Bem, suponho que você possa tomar um pouco do meu chá.
+
+Well, I would love to, but the house is a mess.
+Bem, eu adoraria, mas a casa está uma bagunça.
+
+Well, I'll give you a hour of EXP RATE UP! How cool is that? Enjoy!
+Bem, eu vou te dar uma hora de EXP RATE UP! Quão legal é isso? Apreciar!
+
+Well, I'm currently researching scorpions, as you can imagine.
+Bem, eu estou pesquisando atualmente escorpiões, como você pode imaginar.
+
+Well, I'm the miner leader, indeed. A miner need to have the full set.
+Bem, eu sou o líder mineiro, de fato. Um mineiro precisa ter o conjunto completo.
+
+Well, all humans does mistakes... Wait, he is an elf. So, everyone commit mistakes. Anyway...
+Bem, todos os humanos cometem erros ... Espere, ele é um elfo. Então, todo mundo comete erros. De qualquer forma...
+
+Well, as with any legendary tailor, you must bring the materials yourself, and pay the work fee!
+Bem, como acontece com qualquer alfaiate lendário, você deve trazer os materiais e pagar a taxa de trabalho!
+
+Well, first of, you'll need an @@ and an Equipment Recipe.
+Bem, primeiro, você precisará de um @@ e uma receita de equipamento.
+
+Well, for a living, I usually tend to the crops.
+Bem, para viver, costumo tratar das colheitas.
+
+Well, good luck with your business.
+Bem, boa sorte com o seu negócio.
+
+Well, here you are. I hope you enjoy ^^
+Bem, aqui está. Espero que gostem ^^
+
+Well, if you are good, you can just not get hit. If you're not so good, then bows will be a pain.
+Bem, se você é bom, você pode simplesmente não ser atingido. Se você não é tão bom, então o arco será uma dor.
+
+Well, if you come from Candor, you probably will have some fluffy's yellow feathers. I use them to make pillows.
+Bem, se você vem de Candor, provavelmente terá algumas penas amarelas. Eu os uso para fazer travesseiros.
+
+Well, if you ever need help, do not hesit reading the wiki ;-)
+Bem, se você precisar de ajuda, não hesite em ler o wiki ;-)
+
+Well, if you want to donate @@, you'll be ranked. There's gift for everyone, and rewards for top 5 donors.
+Bem, se você quiser doar @@, você será classificado. Há um presente para todos e recompensas para os 5 principais doadores.
+
+Well, if you want warrior craft, perhaps you should look for @@ or @@.
+Bem, se você quiser uma nave guerreira, talvez você deva procurar por @@ ou @@.
+
+Well, if you were from the defenders, you would have been adopted by a family which left Halinarzo.
+Bem, se você fosse dos defensores, você teria sido adotado por uma família que deixou Halinarzo.
+
+Well, if you're scared, you can kill Desert Log Heads, but they'll have a smaller worth.
+Bem, se você está com medo, você pode matar Desert Log Heads, mas eles terão um valor menor.
+
+Well, it depends on the curse. Some are easy to break, and others are... well...
+Bem, isso depende da maldição. Alguns são fáceis de quebrar e outros são ... bem ...
+
+Well, it is terrible! How can I make armours if I ran out of Iron? Shall the citizens of Candor Island perish in a monster attack?!
+Bem, isso é terrível! Como posso fazer armaduras se ficar sem ferro? Os cidadãos da Ilha Candor perecerão em um ataque de monstros?
+
+Well, long story short, we have two magic systems. One works out of box. The later one, is the Mana Magic.
+Bem, para encurtar a história, temos dois sistemas mágicos. Um funciona fora da caixa. A última, é a magia de mana.
+
+Well, maybe it takes a few hours or days of your life, but who cares! It is instant teleport!
+Bem, talvez demore algumas horas ou dias da sua vida, mas quem se importa! É um teleporte instantâneo!
+
+Well, my men went down and still haven't returned.
+Bem, meus homens caíram e ainda não voltaram.
+
+Well, my tea is just too good.
+Bem, o meu chá é muito bom.
+
+Well, no risk, no gain.
+Bem, sem risco, sem ganho.
+
+Well, not like you could understand that with your level! %%a
+
+
+Well, perhaps a few of them are rebels, I mean, people like us, but many of them are monsters.
+Bem, talvez alguns deles sejam rebeldes, quero dizer, pessoas como nós, mas muitos deles são monstros.
+
+Well, problem is, after that, there was demand for an election. The previous mayor lost. I won.
+Bem, o problema é que, depois disso, houve demanda por uma eleição. O prefeito anterior perdeu. Eu venci.
+
+Well, sorry, but only some items can be refined.
+Bem, desculpe, mas apenas alguns itens podem ser refinados.
+
+Well, speaking a bit about myself can't hurt. I am a member from the Magic Council, but one day I decided to take a vacations.
+Bem, falar um pouco sobre mim não pode machucar. Eu sou um membro do Magic Council, mas um dia decidi tirar férias.
+
+Well, thanks.
+Obrigado.
+
+Well, that could fail, I said. Here is some experience.
+Bem, eu disse que podia falhar. Aqui, um pouco de experiência.
+
+Well, that was a good fight. My grand-grand-grandfeather gave his shield to Arvek -- err, Braknar I mean.
+Bem, isso foi uma boa luta. Meu bisavô deu seu escudo para Arvek - err, Braknar, quero dizer.
+
+Well, that was bad, but at least you know a bit from story.
+Bem, isso foi ruim, mas pelo menos você sabe um pouco da história.
+
+Well, that was quite good. To defeat me and Lilit's general, alone, in such low time; You should be proud of yourself.
+
+
+Well, that's easy to do. For starters, I need 1.000 GP as payment, and 10 @@ to make the string.
+Bem, isso é fácil de fazer. Para começar, preciso de 1.000 GP como pagamento e 10 @@ para fazer a string.
+
+Well, that's not a ring.
+Bem, isso não é um anel.
+
+Well, the Yeti King has went away to the cliffs north of this one. He'll get back here very hungry.
+Bem, o Yeti King foi para os penhascos ao norte deste. Ele vai voltar aqui com muita fome.
+
+Well, the biggest mana stones mine was in %s, but I'm afraid it has already depleted... Besides, it is very dangerous.
+Bem, as maiores pedras de mana meu foi em% s, mas eu tenho medo que já esgotados ... Além disso, é muito perigoso.
+
+Well, the first thing would be to get access to a Mana Stone. Halinarzo had the biggest mana stone mines, but it's now depleted.
+Bem, a primeira coisa seria ter acesso a uma Mana Stone. Halinarzo tinha as maiores minas de pedra de mana, mas agora está esgotado.
+
+Well, the reason why I'm not doing it already is because, you see, I lack cookies.
+Bem, a razão pela qual eu não estou fazendo isso é porque, veja você, eu não tenho cookies.
+
+Well, then I'll give you a task. We may meet again in Soren Village.
+Bem, então eu vou te dar uma tarefa. Podemos nos encontrar novamente em Soren Village.
+
+Well, there might be a deep water spot, but it would still be dangerous.
+Bem, pode haver um ponto de água profunda, mas ainda assim seria perigoso.
+
+Well, these slimes are dangerous, but if you find some pages, be sure to bring them to Ensio. This will help us a lot. Eh, if you're interested in helping, that is. %%1
+
+
+Well, this is very disturbing, indeed. I hope my good friend Sagratha is fine.
+Bem, isso é muito perturbador, de fato. Espero que meu bom amigo Sagratha esteja bem.
+
+Well, too bad!
+Bem, muito mal!
+
+Well, welcome to the game! If you have any doubt, shout on #world for help!
+Bem, bem vindo(a) ao jogo! Se tiver alguma dúvida, grite em #world por ajuda!
+
+Well, yes, I've saw them heading off to the Yeti King room. Lately, many Yetis have been uprising against your majesty.
+Bem, sim, eu os vi indo para o quarto do Rei Yeti. Ultimamente, muitos Yetis foram revoltados contra sua majestade.
+
+Well, yes. Look this river. The water is not moving.
+Bem, sim. Olha esse rio. A água não está se movendo.
+
+Well, you are. You're quite interesting. I've been watching you for some time now, as you've been helping so many people: you're quite a master at what you do, you know.
+Bem, você é. Você é bem interessante. Eu tenho observado você há algum tempo, já que você está ajudando muitas pessoas: você é um mestre no que faz, você sabe.
+
+Well, you clearly never fought before, so remember to add stats.
+Bem, você claramente nunca lutou antes, então lembre-se de alocar alguns atributos.
+
+Well, you don't have a weapon. So, let me explain quickly.
+
+
+Well, you forgot the most important: The material I need to do the string.
+Bem, você esqueceu o mais importante: O material que eu preciso fazer a corda.
+
+Well, you gave me the gems, so I trust you. Here, take this @@.
+Bem, você me deu as gemas, então confio em você. Aqui, pegue isso @@.
+
+Well, you helped me. That's great! One hand washes the other, so, I'm willing to share knowledge with you.
+Bem, você me ajudou. Isso é ótimo! Uma mão lava a outra, então, estou disposto a compartilhar conhecimento com você.
+
+Well, you know... Maybe we can strike a deal. I have good relations with the stock manager. I'll give you an event item.
+Bem, você sabe ... Talvez possamos fazer um acordo. Eu tenho boas relações com o gerente de estoque. Eu vou te dar um item de evento.
+
+Well, you need more experience. Keep trying!
+Bem, você precisa de mais experiência. Continue tentando!
+
+Well, you probably deserve it.
+Bem, você provavelmente merece isso.
+
+Well, you see, you can't jump very far. And the water near land is shallow.
+Bem, você vê, você não pode ir muito longe. E a água perto da terra é rasa.
+
+Well, you were warned. Do you have any other stuff for me?
+Bem, você foi avisado. Você tem alguma outra coisa para mim?
+
+Well, you'll need to get used to. Being seasick is annoying, so you might want to leave the ship as soon as possible.
+Bem, você precisa se acostumar. Estar enjoado é irritante, então você pode querer deixar o navio o mais rápido possível.
+
+Well, you're an adventurer, and I guess tending to crops isn't your cup of tea.
+Bem, você é um aventureiro, e acho que cuidar de plantações não é sua xícara de chá.
+
+Well. I'll take care of that, don't worry with that.
+Bem. Eu vou cuidar disso, não se preocupe com isso.
+
+Well... Can't say I'm surprised. He is very perfectionist. Putting on himself the blame is something he would do.
+Bem ... Não posso dizer que estou surpreso. Ele é muito perfeccionista. Colocar em si a culpa é algo que ele faria.
+
+Well... Here you go!
+Bem ... Aqui está!
+
+Well... You're right.
+Bem ... você está certo.
+
+Well... we'll see around!
+Bem ... vamos ver ao redor!
+
+Well... you did not succeed in opening this %s.
+
+
+Welp, no, please!
+Welp, não, por favor!
+
+Welp, you killed 10 Crocs. They're not dangerous, as you see. That's why we don't bother in cleaning them up.
+Welp, você matou 10 Crocs. Eles não são perigosos, como você vê. É por isso que não nos preocupamos em limpá-los.
+
+West Aeros
+West Eros
+
+West Avenue#lof
+Avenida Oeste#lof
+
+West of here is a beach. In said beach there are blubs, they don't attack but they walk in packs. Be careful if you provoke too many of them.
+Oeste daqui é uma praia. Na dita praia há blubs, eles não atacam, mas andam em bandos. Tenha cuidado se você provocar muitos deles.
+
+West of here is a beach. There's a secret passage to it, underground. In there you'll find slime-like creatures called Blubs.
+Oeste daqui é uma praia. Há uma passagem secreta para isso, no subsolo. Lá você encontrará criaturas parecidas com lodo chamadas Blubs.
+
+West of here, north of here, is a cabin. Investigate. That's all.
+
+
+Wha- How dare you, to lie to me!
+Como você se atreve a mentir para mim!
+
+Whaaaaaaat *hic* is she *hic* have she gotten crazy? *hic*
+Whaaaaaat * hic * ela é * hic * ela ficou louca? * hic *
+
+Whaaaaaat, you are that noob from earlier! Vanish! Be gone! Don't bore me!
+Whaaaaaat, você é aquele noob de mais cedo! Desaparecer! Vá embora! Não me aborreça!
+
+What ANISE INC. Does?
+O que a ANISE INC. Faz?
+
+What Alliance? The Alliance which rules over the World Of Mana!
+Qual aliança? A Aliança que governa o Mundo de Mana!
+
+What I had to bring, again?
+O que eu tinha que trazer de novo?
+
+What I want to say is: Kill non-stop!
+O que eu quero dizer é: Mate sem parar!
+
+What a rip-off!
+Que idiota!
+
+What about job levels and job experience?
+E quanto aos níveis de emprego e experiência de trabalho?
+
+What about the Desert Temple?
+E quanto ao Templo do Deserto?
+
+What about the Shield?
+E quanto ao escudo?
+
+What about the worm?
+E quanto ao verme?
+
+What about you bring me:
+E você me traz:
+
+What alliance?
+Que aliança?
+
+What am I supposed to say?
+O que eu devo falar?
+
+What an amazing crown you have! How do I get it?!
+Que coroa incrível você tem! Como faço para obtê-lo?!
+
+What are Magic Skill Points?
+Quais são mágicos Skill Points?
+
+What are Research Points
+O que são Pontos de Pesquisa
+
+What are current leaderboard?
+Quais são as tabelas de classificação atuais?
+
+What are the Ancient Families of the Soul Menhir?
+Quais são as famílias antigas do menir da alma?
+
+What are the Transcendence Gates?
+Quais são as portas da transcendência?
+
+What are the tasks of the Alliance?
+
+
+What are you doing alone in this desert?
+O que você está fazendo sozinha neste deserto?
+
+What are you doing here, @@!
+O que você está fazendo aqui, @@!
+
+What are you doing here? This place is too dangerous for you!
+O que você está fazendo aqui? Este lugar é muito perigoso para você!
+
+What are you doing in my kitchen?! Get out, it's not a place for kids!
+O que você está fazendo na minha cozinha ?! Saia, não é um lugar para crianças!
+
+What are you doing talking to me? Go fight, you coward!
+O que você está fazendo falando comigo? Vai lutar, seu covarde!
+
+What are you doing? Fight!
+O que você está fazendo? Luta!
+
+What are you doing? Go talk to @@ and bring me a @@!
+O que você está fazendo? Vá falar com @@ e me traga um @@!
+
+What are you doing? Stop wasting my time and go talk to @@!
+O que você está fazendo? Pare de desperdiçar meu tempo e vá falar com @@!
+
+What are you even speaking about?
+
+
+What are you still doing here? Begone!
+
+
+What are you still doing here?! GO!!
+O que você ainda está fazendo aqui ?! IR!!
+
+What are you talking about? What guild?
+Do que você está falando? Qual guilda?
+
+What are you talking about? You are who you are right now. There's no other you.
+Do que você está falando? Você é quem você é agora. Não há outro você.
+
+What are you waiting for? Go kill the bandit lord.
+O que você está esperando? Vai matar o bandido.
+
+What are you waiting for?! Get running, Pachua is waiting!
+
+
+What body orifice should a babel fish be inserted in to work properly?
+Em qual orifício do corpo um peixe babel deve ser inserido para funcionar corretamente?
+
+What brings you here, @@?
+O que te trás aqui, @@?
+
+What can I do for you?
+O que posso fazer para você?
+
+What can I do with Bug Leg?
+O que posso fazer com o Bug Leg?
+
+What can I do with Maggot Slime?
+O que posso fazer com o Maggot Slime?
+
+What can I do?
+O que eu posso fazer?
+
+What can you say about dyes?
+O que você pode dizer sobre corantes?
+
+What can you say about the monsters here?
+O que você pode dizer sobre os monstros aqui?
+
+What can you tell me about the Moubootaur?
+O que você pode me dizer sobre o Moubootaur?
+
+What cheap crap is this? It's not worth even 10 GP.
+Que porcaria barata é essa? Não vale 10 GP.
+
+What color is a Babel Fish?
+Que cor é um peixe de Babel?
+
+What counts for titulation? Could you give me examples?
+
+
+What crap is that?! This is not from Tulimshar!
+Que porcaria é essa ?! Isto não é de Tulimshar!
+
+What did the Council of Elders say? Is there any news of the pirates?
+O que o Conselho de Anciãos dizer? Existe alguma notícia dos piratas?
+
+What did you expect?
+
+
+What did you need me to get again?
+
+
+What did you want? I've forgotten.
+O que você queria? Esqueci.
+
+What do you choose?
+O que você escolhe?
+
+What do you know about other Mana Magic Professors?
+O que você sabe sobre outros professores de magia mana?
+
+What do you know about the Tyranny Bow?
+
+
+What do you mean? Do you at least have a rowboat with you?!
+O que você quer dizer? Você pelo menos tem um barco a remo com você?
+
+What do you need to learn something besides money for tuitions fee? Time and Dedication.
+O que você precisa para aprender algo além do dinheiro para a propina? Tempo e dedicação.
+
+What do you need?
+O que você precisa?
+
+What do you say?
+O que você disse?
+
+What do you think learning is, magic?! No!
+O que você acha que é aprender, magia ?! Não!
+
+What do you want to access?
+O que você quer acessar?
+
+What do you want to change?
+O que você quer mudar?
+
+What do you want to do with your money?
+O que você quer fazer com o seu dinheiro?
+
+What do you want to do?
+O que você quer fazer?
+
+What do you want to know?
+O que você quer saber?
+
+What do you want to learn more about?
+O que você quer aprender mais?
+
+What do you want to reset?
+O que você deseja redefinir?
+
+What do you want today?
+O que você quer hoje?
+
+What does miners do in cave?
+O que os mineiros fazem na caverna?
+
+What else do you need?
+O que mais você precisa?
+
+What else like a Pinkie?
+O que mais como um Pinkie?
+
+What game is played on earth as a relict of memories to an ancient war?
+Que jogo é jogado na terra como um relicário de memórias para uma guerra antiga?
+
+What happened to me?
+O que aconteceu comigo?
+
+What happened to the Wizard's Tower?
+
+
+What happened?
+O que aconteceu?
+
+What have happened? Why are you crying?
+O que aconteceu? Porque voce esta chorando?
+
+What have you done?! We're under attack!
+
+
+What in the world is happening?! Where in Jesusalva's name are you?!
+O que no mundo está acontecendo ?! Onde em nome de Jesusalva você está ?!
+
+What interesting water. Just don't ask me why.
+Que água interessante. Só não me pergunte por quê.
+
+What is @@ doing?
+O que @@ está fazendo?
+
+What is Ford Prefect's nickname?
+Qual é o apelido do Ford Prefect?
+
+What is a %s doing here? Eugh, you stink! You should keep away from our children!
+
+
+What is an airship? O.o
+
+
+What is banking?
+O que é bancário?
+
+What is going on here?
+O que está acontecendo aqui?
+
+What is my current hairstyle and hair color?
+Qual é o meu penteado atual e cor de cabelo?
+
+What is the Academy?
+Qual é a Academia?
+
+What is the Alliance?
+O que é a aliança?
+
+What is the Magic Academy?
+Qual é a Academia de Magia?
+
+What is the Moubootaur?
+O que é o Moubootaur?
+
+What is the Scholar Rank?
+Qual é o Scholar Rank?
+
+What is the answer to life, the universe and everything?
+Qual é a resposta para a vida, o universo e tudo mais?
+
+What is the first name of the author of the hitchhikers guide?
+Qual é o primeiro nome do autor do guia de caronas?
+
+What is the last name of the author of the hitchhikers guide?
+Qual é o sobrenome do autor do guia do carona?
+
+What is the most important item for every hitchhiker to have?
+Qual é o item mais importante para todo caronista?
+
+What is the name of the Restaurant at the End of the Universe?
+Qual é o nome do Restaurante no Fim do Universo?
+
+What is the name of the Vogon home planet?
+Qual é o nome do planeta natal Vogon?
+
+What is the name of the computer on The Heart of Gold?
+Qual é o nome do computador em O Coração de Ouro?
+
+What is the name of the creature that is continually reincarnated and subsequently killed, each time unknowingly, by Arthur Dent?
+Qual é o nome da criatura que é continuamente reencarnada e subsequentemente morta, cada vez inconscientemente, por Arthur Dent?
+
+What is the name of the rock group claiming to be the loudest band in the universe?
+Qual é o nome do grupo de rock que afirma ser a banda mais barulhenta do universo?
+
+What is the name of the spaceship which was stolen by the president of the universe?
+Qual é o nome da espaçonave que foi roubada pelo presidente do universo?
+
+What is the name of the super computer?
+Qual é o nome do super computador?
+
+What is this guild for?
+O que é essa guilda?
+
+What is this island?
+O que é essa ilha?
+
+What is this place anyway?
+O que é esse lugar mesmo?
+
+What is your problem?
+Qual é o seu problema?
+
+What item do you want to melt down? This is irreversible, and may return some ingots to you, but there is no way to tell how many you'll receive!
+Qual item você quer derreter? Isso é irreversível e pode retornar alguns lingotes para você, mas não há como saber quantos você receberá!
+
+What item would you like to bleach?
+Qual item você gostaria de descorar?
+
+What magic classes are there?
+O que as classes mágicas existem?
+
+What race creates the worst poetry in universe?
+Que raça cria a pior poesia do universo?
+
+What service do you offer?
+Qual serviço você oferece?
+
+What should I do now?
+O que eu deveria fazer agora?
+
+What star is near Ford's home planet?
+Qual estrela está perto do planeta natal de Ford?
+
+What the f...? Four Hundred Thousand??? Must be a bug. Next milestone is 819,200. Cheaters.
+O que o f ...? Quatrocentos mil??? Deve ser um bug. Próximo marco é 819.200. Traidores.
+
+What to exchange with Leona?
+O que trocar com a Leona?
+
+What two words are written in big friendly letters on the back cover?
+Quais são as duas palavras escritas em grandes letras amigáveis ​​na contracapa?
+
+What was I doing before...? I forgot!
+O que eu estava fazendo antes ...? Eu esqueci!
+
+What was I doing before...? I totally forgot!
+O que eu estava fazendo antes ...? Eu esqueci totalmente!
+
+What was the sequence?
+
+
+What were the second most intelligent creatures on Earth?
+Quais foram as segundas criaturas mais inteligentes da Terra?
+
+What will be my reward?
+Qual será minha recompensa?
+
+What will be the bait for the fish?
+Qual será a isca para o peixe?
+
+What will you brew today?
+O que você vai fazer hoje?
+
+What will you craft today?
+O que você vai fazer hoje?
+
+What will you forge today?
+O que você vai forjar hoje?
+
+What will you transmute today?
+O que você vai transmutar hoje?
+
+What would you like to bury?
+O que você gostaria de enterrar?
+
+What would you like today?
+O que você gostaria hoje?
+
+What yeye could I do for you today?
+O que yeye poderia fazer por você hoje?
+
+What you asked me for, again?
+O que você me pediu de novo?
+
+What you refer as Ancient Families, are probably their descendants. There was nothing special about them, other than they promised to defend mankind of their own actions.
+O que você chama de Famílias Antigas provavelmente são seus descendentes. Não havia nada especial sobre eles, a não ser que eles prometessem defender a humanidade de suas próprias ações.
+
+What're you looking at?!
+O que você está olhando ?!
+
+What's S.A.R.A.H.?
+O que é S.A.R.A.H.?
+
+What's it, scout.
+O que é isso, scout.
+
+What's that? They seem to be AFK but are not?
+
+
+What's the World Edge?
+Qual é o limite do mundo?
+
+What's the difference from a Mana Wizard and a Mage?
+Qual é a diferença entre um Mago Mana e um Mago?
+
+What's the name of the paranoid robot?
+Qual é o nome do robô paranoico?
+
+What's the problem?
+Qual é o problema?
+
+What's this dark magic, the password has changed!
+O que é isso magia negra, a senha foi alterada!
+
+What's wrong?
+O que há de errado?
+
+What's your opinion of Peetu and his work?
+Qual sua opinião sobre Peetu e seu trabalho?
+
+What, only that? Well, this is actually simpler than it looks.
+O que, só isso? Bem, isso é realmente mais simples do que parece.
+
+What? A party?
+O que? Uma festa?
+
+What? Don't be ridiculous. Not even the Monster King does that! I think.
+
+
+What? Why not?
+O que? Por que não?
+
+What?! Do my house look like the place to you pratice your thief skills?!
+O que?! Minha casa parece o lugar para você praticar suas habilidades de ladrão?
+
+What?! This changes the whole history. Not only that, but this is a serious issue!
+O que?! Isso muda toda a história. Não só isso, mas isso é um problema sério!
+
+Whatever you find there is yours to keep.
+Tudo o que você encontrar lá é seu para manter.
+
+Whatever you're blaming Saulc about, this one time, he is innocent.
+O que quer que você esteja culpando Saulc, desta vez, ele é inocente.
+
+When Christmas starts, here will become frantic again, with things running out of stock all the time... But the adventurers deserve it, for fighting monsters the year round.
+Quando o Natal começar, aqui ficará frenético novamente, com as coisas ficando sem estoque o tempo todo ... Mas os aventureiros merecem, por lutar contra monstros o ano todo.
+
+When I am drunk I tell myself to stop drinking, but I won't listen the words of a drunkard.
+Quando estou bêbado, digo a mim mesmo para parar de beber, mas não vou ouvir as palavras de um bêbado.
+
+When I was alive, I brought people to their destiny.
+Quando eu estava vivo, eu trouxe as pessoas ao seu destino.
+
+When it returns, it is holding a cute %s. Understanding it is a gift, you take it.
+
+
+When people loses too much blood, they die, unless we can lend them somebody's else blood.
+Quando as pessoas perdem muito sangue, elas morrem, a menos que possamos emprestar a elas o sangue de outra pessoa.
+
+When receiving the chocolate, you must eat it before event ends to get a point for that!
+Ao receber o chocolate, você deve comê-lo antes do fim do evento para conseguir um ponto para isso!
+
+When the boss is defeated, or the minute clock marks fifteen, event ends.
+Quando o chefe é derrotado, ou o relógio minuto marca quinze, o evento termina.
+
+When they left to World Edge, they probably were looking for Mana Fragments. In other words... Soul Menhirs. Parts of the World Heart.
+Quando eles partiram para o World Edge, eles provavelmente estavam procurando Fragmentos de Mana. Em outras palavras ... Menhirs da Alma. Partes do Coração do Mundo.
+
+When this is the case, you should get closer to the NPC, until they hear you.
+Quando este for o caso, você deve se aproximar do NPC, até que eles o ouçam.
+
+When you get out of the ship, it is the first building you'll see. Talk to ##BLua##b, she is an alliance representative.
+Quando você sair deste navio, é o primeiro prédio. Fale com ##BLua##b, ela é uma representante da Aliança.
+
+When you have added all the items and money you want, press the 'Propose Business' button. The other citizen must also press the 'Propose Business' button.
+Depois de adicionar todos os itens e dinheiro desejados, pressione o botão "Propor negócio". O outro cidadão também deve pressionar o botão "Propor negócio".
+
+When you're stronger I may consider asking for your help.
+Quando você é mais forte que eu pode considerar pedindo sua ajuda.
+
+When your inventory is open, you can equip an item by selecting it and clicking 'Equip'. You can do the same to unequip an item by clicking on 'Unequip'.
+Quando seu inventário estiver aberto, você pode equipar um item selecionando-o e clicando em "Equipar". Você pode fazer o mesmo para desequipar um item, clicando em 'Desequipar'.
+
+Where I needed to go, again?
+Onde eu precisava ir de novo?
+
+Where are you from, don't you see all the bandits? Seriously, with these ridiculous plans, the whole continent doomed.
+
+
+Where can I find Juliet?#0
+Aonde posso encontrar Julieta?
+
+Where can I find Juliet?#1
+Aonde posso encontrar Julieta?
+
+Where can I find the previous mayor?
+Onde posso encontrar o prefeito anterior?
+
+Where can I find them?
+Onde posso encontrá-los?
+
+Where could my man have went?!
+Onde poderia o meu homem ter ido ?!
+
+Where do I get so much money?!
+
+
+Where do you think you are going, without talking to me first?
+Onde você pensa que está indo, sem falar comigo primeiro?
+
+Where exactly am I?
+Onde exatamente eu estou?
+
+Where have you been, pal? He perished.
+
+
+Where is Woody?
+Onde está o Woody?
+
+Where is here? What was this place used for?!
+Onde é aqui? O que foi este lugar usado para ?!
+
+Where is it? Everything's upside down. These terrible slimes.
+Cadê? Tudo está de cabeça para baixo. Esses terríveis limos.
+
+Where is the World's Edge?
+Onde está a borda do mundo?
+
+Where is the item you've stolen?
+Onde está o item que você roubou?
+
+Where is the salt?! This is sugar! Proper sailors need salt, not sugar!
+Onde está o sal ?! Isso é açúcar! Marinheiros adequados precisam de sal, não de açúcar!
+
+Where should I warp to?
+Para onde eu deveria me deformar?
+
+Where's the Sunny Crystal? Hurry up, you only have @@ left!
+Aonde está o cristal ensolarado? Apresse-se, você só tem @@ restante!
+
+Where's the money? Go away.
+Onde está o dinheiro? Vá embora.
+
+Where's the reagent? You don't expect me to find it, right? Go bring them!
+Onde está o reagente? Você não espera que eu encontre, certo? Vá trazê-los!
+
+Which country does the human protagonist come from?
+De qual país o protagonista humano vem?
+
+Which deal?
+Qual negócio?
+
+Which item will you tweak?
+Qual item você vai ajustar?
+
+Which language do you speak?
+Qual língua você fala?
+
+Which melee you craft?
+Que refrega você ofício?
+
+Which recipes do you want to read?
+Quais receitas você quer ler?
+
+Which rewards are available?
+Quais recompensas estão disponíveis?
+
+Which skill will you FORGET permanently today?
+Que habilidade você vai esquecer permanentemente hoje?
+
+Which sound great in theory, but it was not. Greedy people found a way into power. They probably had good reasons, but they started confiscating Mana Stones, and storing them in a tower...
+
+
+Which water will you use?
+Qual água você vai usar?
+
+While %s's reasons to do so remain unclear, a request was made.
+Enquanto razões% S para fazê-lo permanecem obscuros, foi feito um pedido.
+
+While I don't think the Yeti King would ever do or endorse that, yes, I've heard this happens.
+
+
+While breaking the seal, monsters will spawn. The other monsters may drop %s.
+Enquanto quebrar o selo, monstro vão aparecer. Os outros monstro pode cair% s.
+
+While it may not be suitable for fighting, by using it against Bifs and other mineral formations, you'll be able to get more ore.
+Embora possa não ser adequado para lutar, usando-a contra BIFs e outras formações minerais, você será capaz de obter mais minério.
+
+While mining bifs, a strange powder appeared.
+Embora a mineração bifs, um pó estranho apareceu.
+
+While on normal magic you must take care with all attributes, on mana magic, you usually only need to worry with reagents and intelligence.
+Enquanto em magia normal você deve tomar cuidado com todos os atributos, em magia de mana, você normalmente só precisa se preocupar com reagentes e inteligência.
+
+While the tyrant desires to see skill.
+
+
+While we're at that, do you know how to craft? No? First, you'll need a Cauldron, in case you've rented a house. Otherwise, you can rent a work table on this Forge.
+Enquanto estamos nisso, você sabe como criar? Não? Primeiro, você precisará de um Caldeirão, caso tenha alugado uma casa. Caso contrário, você pode alugar uma mesa de trabalho neste Forge.
+
+Whip
+
+
+Whirly Bird
+Pássaro Whirly
+
+Whirly Bird (BOSS)
+Pássaro Whirly (BOSS)
+
+Whiskey Ale
+whisky Ale
+
+White
+Branco
+
+White Cats drink Milk, Forest Mushroom eats Moss, Black Cats eats marshmallow. Keep in mind whatever they eat.
+Os gatos brancos bebem o leite, cogumelo da floresta come o musgo, gatos pretos come o marshmallow. Tenha em mente o que eles comem.
+
+White Fur
+Pelo branco
+
+White Slime
+Lodo branco
+
+White Slime Mother
+Branco Slime Mãe
+
+WhiteCat
+Gato branco
+
+Who are the most famous scholars?
+Quem são os mais famosos estudiosos?
+
+Who are you, and how did you manage to come down here? The sheer power of our Lord prevents anyone not under his control to go here.
+Quem é você, e como você conseguiu vir até aqui? O poder absoluto de nosso Senhor impede que qualquer pessoa que não esteja sob seu controle para ir para lá.
+
+Who are you?
+Quem é você?
+
+Who are you? Thanks for the help.
+Quem é Você? Obrigado pela ajuda.
+
+Who are you? Where are you from?
+Quem é Você? De onde você é?
+
+Who composes the Alliance?
+Quem compõe a aliança?
+
+Who dares to disturb my slumber?
+Quem se atreve a perturbar o meu sono?
+
+Who is Andrei Sakar?
+Quem é Andrei Sakar?
+
+Who is Kfahr the Warrior?
+Quem é o guerreiro Kfahr?
+
+Who is responsible for the fjords of Norway?
+Quem é responsável pelos fiordes da Noruega?
+
+Who is the Professor? I've heard he was the father of a certain Arthur... No idea.
+Quem é o professor? Ouvi dizer que ele era o pai de um certo Arthur ... Não faço ideia.
+
+Who is the male human protagonist? First and last name only.
+Quem é o protagonista humano masculino? Primeiro e último nome apenas.
+
+Who is there? Are they trying to break my lock again?!
+Quem está aí? Eles estão tentando quebrar minha fechadura de novo ?!
+
+Who is this professor?
+Quem é esse professor?
+
+Who is throwing stuff at me?!
+Quem está jogando coisas para mim ?!
+
+Who sent you here? Merlin?
+Quem te mandou aqui? Merlin?
+
+Who will collect the most?!
+Quem irá recolher o máximo ?!
+
+Who will insult every living being in the universe, because he is immortal and getting bored?
+Quem irá insultar todos os seres vivos no universo, porque ele é imortal e fica entediado?
+
+Who's Mercury? Maybe I'm missing something? Where could he have went?
+Quem é Mercury? Talvez eu esteja perdendo alguma coisa? Onde ele poderia ter ido?
+
+Who's this Juliet?
+Quem é essa Julieta?
+
+Who, or what are you?
+Quem ou o que você é?
+
+Whoever took control of this village is no ordinary mage. There's a switch on the wall.
+Quem assumiu o controle desta aldeia não é um mago comum. Há um interruptor na parede.
+
+Whom put an end at their foes,
+
+
+Why am I having a hard time to believe on you...
+Por que estou tendo dificuldade em acreditar em você ...
+
+Why are you here? This area is off-limits!
+Por quê você está aqui? Esta área está fora dos limites!
+
+Why did we had to decide to research slimes of all creatures?! But alas, now is too late. Not even a %s could restore her in this state...
+
+
+Why do you bully me! - This is a bug: 02331.LOGIC.OID
+Por que você me intimida! - Isso é um erro: 02331.LOGIC.OID
+
+Why do you only use the silk robe? Don't you have a shorts or something?
+Por que você só usa o robe de seda? Você não tem shorts ou algo assim?
+
+Why do you summon me? Speak.
+Por que você me chama? Falar.
+
+Why do you want to help me?
+
+
+Why does death embrance me so much today?
+Por que a morte me envolve tanto hoje?
+
+Why does it suck?
+
+
+Why don't you go yourself?
+
+
+Why don't you take a break? Breath in some fresh air. The basement is pretty damp.
+Por que você não faz uma pausa? Respire um pouco de ar fresco. O porão é bem úmido.
+
+Why everything is so broken, couldn't the Monster King try to do less collateral damage?! These things will take years to be fixed!
+
+
+Why is it hard?
+
+
+Why not Andrei Sakar?
+Por que não Andrei Sakar?
+
+Why not, I need to train anyway.
+Por que não, eu preciso treinar de qualquer maneira.
+
+Why should I spare you?
+Por que eu deveria poupá-lo?
+
+Why should I? Go away. %%n
+
+
+Why shouldn't I jump here?
+Por que eu não deveria pular aqui?
+
+Why would you want to go back there?
+Por que você quer voltar para lá?
+
+Why you don't tell me?
+
+
+Why, I actually do sell a few things here! But they probably aren't what you're looking for.
+Porque eu realmente vendo algumas coisas aqui! Mas eles provavelmente não são o que você está procurando.
+
+Why, hello there! Come to visit me to hear Kfahr the Warrior or Andrei Sakar's exploits, have you?
+Olá, olá! Venha me visitar para ouvir as façanhas de Kfahr, o Guerreiro ou Andrei Sakar, você tem?
+
+Why, thank you!
+
+
+Why? You are most definitely at the wrong place. Leave!
+
+
+Wicked Mushroom
+Cogumelo Malvado
+
+Wicked Shroom Hat
+Chapéu de Shroom perverso
+
+Wielding the lightbringer came the ace,
+
+
+Wiki article
+
+
+Wildx Chest
+Baú Selvagem
+
+Will adventurers reach it? Will the random attacks at towns cease??
+Vai aventureiros alcançá-lo? Será que os ataques aleatórios em cidades cessar ??
+
+Will next draw be HIGHER or LOWER?!
+O próximo sorteio será MAIOR ou INFERIOR ?!
+
+Will you accept his challenge?! Raise to the highest top score!
+
+
+Will you help me- no, I mean, will you help us, the whole town of Hurnscald?
+Você vai me ajudar, não, quero dizer, você vai nos ajudar, toda a cidade de Hurnscald?
+
+Will you try to unlock it?
+Você vai tentar desbloqueá-lo?
+
+Wind Element
+Elemento do Vento
+
+Wind Fairy
+Fada do vento
+
+Wind: @@, @@
+Vento: @@, @@
+
+Windwalker
+Caminhante do vento
+
+Wine Making Barrel
+Barril de vinho
+
+Winning Streak is also reset on logout or when you leave the Inn.
+A sequência vencedora também é redefinida no logout ou quando você sai da hospedaria.
+
+Winning Strike Prizes:
+Prêmios Ganhando Greve:
+
+Winter
+Inverno
+
+Winter this year is really harsh! Fire is the most important for us.
+O inverno deste ano é realmente duro! O fogo é o mais importante para nós.
+
+Wise choice! But can you really part with it? Better think on something else!
+Escolha sábia! Mas você pode realmente se separar disso? Melhor pensar em outra coisa!
+
+Wise choice.
+
+
+Witch Boots
+Botas de bruxa
+
+With Magic and Blades, The Icicle shall break.
+
+
+With Magic and Blades, The Icicle shall break. Do you undertake the challenge?
+
+
+With Tulimshar being the last major human settlement standing (besides distant locations like Candor), the situation looks more dire than ever.
+
+
+With a PinCode, you'll have access to restricted features,
+Com um código PIN, você terá acesso a recursos restritos,
+
+With a big smile, you stretch your hand in the teddy's direction; But the little one gets scared with the movement and starts to move away from you.
+
+
+With a knife, the fisherman makes the roots as thin as he can. You wonder if he knows what he is doing.
+Com uma faca, o pescador faz as raízes tão finas quanto ele pode. Você se pergunta se ele sabe o que está fazendo.
+
+With a mask you say? This reminds me... wait a moment.
+Com uma máscara você diz? Isso me lembra ... espere um momento.
+
+With a mask? Hm. I don't remember.
+Com uma máscara? Hm Não me lembro.
+
+With a mask? I don't really remember... We have so many visitors. Though I suppose someone wearing a mask would be noticeable... But I'm so worn out from the past few days that I'm just glad I can even recall my own name! Sorry.
+Com uma máscara? Eu realmente não lembro ... Temos tantos visitantes. Embora eu suponha que alguém usando uma máscara seria perceptível ... Mas eu estou tão desgastado nos últimos dias que estou feliz por eu mesmo lembrar do meu próprio nome! Desculpa.
+
+With a mask? I really don't know. I'm usually in the workshop and most of the visitors spend their time in the library. Sometimes they come to have a quick look in the workshop too, but I don't really pay attention to that, so... I can't recall a visitor with a mask, sorry.
+Com uma máscara? Eu realmente não sei. Normalmente estou na oficina e a maioria dos visitantes passa o tempo na biblioteca. Às vezes eles vêm dar uma olhada rápida na oficina também, mas eu realmente não presto atenção nisso, então ... eu não consigo me lembrar de uma visita com uma máscara, desculpe.
+
+With a mask? Mh, I think I know who are you talking about. I vaguely remember that there was someone with a mask... but I can't recall any details, I wasn't really paying attention.
+Com uma máscara? Eu sei de quem você está falando. Eu me lembro vagamente de que havia alguém com uma máscara ... mas não me lembro de nenhum detalhe, não estava realmente prestando atenção.
+
+With a mask? Yeah, I remember. That was a strange guy. He came to visit the library, but he lurked around at the workshop area and they had to send him back to the books.
+Com uma máscara? Sim, eu me lembro. Esse foi um cara estranho. Ele veio visitar a biblioteca, mas ele se escondeu na área da oficina e eles tiveram que mandá-lo de volta para os livros.
+
+With a wave, Benjamin returns to report Kenton about the outcome.
+Com um aceno, Benjamin retorna para relatar Kenton sobre o resultado.
+
+With fresh conviction, you prepare yourself to the fight which draws near.
+Com convicção fresco, você prepare-se para a luta que se aproxima.
+
+With it, you can safely move items and funds between your characters.
+Com ele, você pode mover com segurança itens e fundos entre seus personagens.
+
+With one gem you can expect to get 1 to 3 powders!
+Com uma jóia você pode esperar obter 1 a 3 pós!
+
+With recent player activity, the Monster king is @@!
+Com a atividade recente jogador, o rei Monster é @@!
+
+With the brave sacrifice of Andrei Sakar to save our world, our future seems as bleak than ever.
+
+
+With the wages I receive, you can use this market at your own risk.
+
+
+With this I make balls of slime for Candor's childs, they really like to play with them.
+Com isso eu faço bolas de lodo para os filhos de Candor, eles realmente gostam de brincar com eles.
+
+With this tip you will be able to fight strong monsters. It's on Saul's Strategy Guide Against Archwizards.
+Com esta dica você poderá lutar contra monstros fortes. Está no guia de estratégia de Saul contra os arquimagos.
+
+Withdraw GP
+Retirar o GP
+
+Withdraw.
+Retirar o.
+
+Within the cities is a place safe enough not to be attacked by another person (except during wars). But outside of them there are some places where the citizen can be attacked by enemies from other realms, or even by someone from the same realm.
+Dentro das cidades é um lugar seguro o suficiente para não ser atacado por outra pessoa (exceto durante as guerras). Mas fora deles há alguns lugares onde o cidadão pode ser atacado por inimigos de outros reinos, ou mesmo por alguém do mesmo reino.
+
+Without any ceremony or further ado, the teddy starts poking on your things.
+
+
+Without any mana stone left, and because the walls were not very strong, most of the city was destroyed.
+Sem qualquer pedra de mana e porque as muralhas não eram muito fortes, a maior parte da cidade foi destruída.
+
+Without magic attack, using a fireball at an enemy will be like throwing a stone.
+Sem ataque mágico, usar uma bola de fogo contra um inimigo será como atirar uma pedra.
+
+Witness my sublime rain of death. Regeneration!
+
+
+Witness, the power of love!
+Testemunha, o poder do amor!
+
+Wizard General
+Assistente geral
+
+Wizard Moccasins
+Mocassins Mágicos
+
+Wizardry
+Magia
+
+Wizardry Institute is on the %s area of the campus.
+Wizardry Instituto está na área do campus% s.
+
+Wizards Tower, Tonori - 6th March 300 AT
+
+
+Wizards Tower, Tonori - 8th April 300 AT
+
+
+Wo-wo-wow! You really did it! You're the best!#0
+
+
+Wo-wo-wow! You really did it! You're the best!#1
+
+
+Wolvern
+Lobisomem
+
+Wolvern Pelt
+Wolverine Pelt
+
+Wolvern Teeth Necklace
+Colar de dentes de Wolverine
+
+Wolvern Tooth
+Dente de Wolvern
+
+Wolverns are fierce creatures who likes cold places. Their fur is soft.
+Wolverns são criaturas ferozes que gostam de lugares frios. Sua pele é macia.
+
+Won Quirino Voraz Arena %s ago
+
+
+Wonderful! Here, take the @@, as promised. I need to get back to cooking!
+Maravilhoso! Aqui, pegue o @@, como prometido. Eu preciso voltar a cozinhar!
+
+Wonderful! I'll be expecting you back.
+Maravilhoso! Eu estarei esperando você de volta.
+
+Wonderful! Just bring me 12 @@ and 4 @@. I'm counting on you!
+Maravilhoso! Apenas me traga 12 @@ e 4 @@. Estou contando com você!
+
+Wonderful! My fee is @@. This fee is the first step in separating those with willpower, from those without.
+Maravilhoso! Minha taxa é @@. Esta taxa é o primeiro passo para separar aqueles com força de vontade, daqueles sem.
+
+Wonderful! Now I can prepare the ink for magnificent illustrations! You're very generous.
+Maravilhoso! Agora posso preparar a tinta para ilustrações magníficas! Você é muito generoso.
+
+Wonderful! So, how about a warm up?
+Maravilhoso! Então, que tal um aquecimento?
+
+Wonderful! That was great! Directly hit the bull's eye!
+Maravilhoso! Isso foi ótimo! Diretamente acertar o olho do boi!
+
+Wonderful! You must finish Novice, Intermediary, Advanced and Expert levels before I unlock Master level for you.
+Maravilhoso! Você deve terminar os níveis Novato, Intermediário, Avançado e Especialista antes de eu desbloquear o nível Master para você.
+
+Wonderful, I am happy to have you over. Lets get things started with some puerh tea.
+Maravilhoso, estou feliz por ter você mais. Vamos começar as coisas com um pouco de chá puerh.
+
+Wooden Bow
+Arco de Madeira
+
+Wooden Log
+Barra de Madeira
+
+Wooden Shield
+Escudo de madeira
+
+Wooden Sword
+Espada de madeira
+
+Woodland Fantasy
+Fantasia da floresta
+
+Woodland Water
+Ãgua da Floresta
+
+Woody
+Arborizado
+
+Woody Barrier
+Barreira amadeirada
+
+Woody Card
+Cartão Woody
+
+Woody is inside, he is probably crafting some stuff with animals pelts.
+Woody está dentro, ele provavelmente está criando algumas coisas com peles de animais.
+
+Woohoo, thank you! Maybe now they'll leave me alone!
+Woohoo, obrigado! Talvez agora eles me deixem em paz!
+
+Word of the wise: You can freely challenge the Yetifly later.
+Palavra do sábio: Você pode desafiar livremente o Yetifly mais tarde.
+
+Worker Day
+Dia do trabalhador
+
+Worker Statue
+Estátua do trabalhador
+
+World Expo
+World Expo
+
+World Gate 2
+Portão do Mundo 2
+
+World Map - @@
+Mapa mundial - @@
+
+World hero: %s
+herói do mundo:% s
+
+World's Edge is an island situated northwest of here.
+Edge do mundo é uma ilha situada a noroeste daqui.
+
+World's Edge is the place where the Monster King Fortress is.
+Borda do Mundo é o lugar onde a Fortaleza do Rei Monstro é.
+
+Worlds Gate
+Portão dos Mundos
+
+Worry not, I have them with me.
+Não se preocupe, eu os tenho comigo.
+
+Would be nice if you could bring me these:
+Seria bom se você pudesse me trazer estes:
+
+Would love to invite you to a card minigame... But alas, Kenton told me that minigames are a waste of time, and that I should not bother adventurers with it.
+
+
+Would you ... uhm ... would you talk to Chief Oskari for me? And ask her what she plans to do about me? I... I just don't feel capable of doing that myself right now. I'll try to pull myself together in the meanwhile.
+Você ... você fala com o chefe Oskari por mim? E pergunte o que ela planeja fazer sobre mim? Eu simplesmente não me sinto capaz de fazer isso agora mesmo. Vou tentar me recompor nesse meio tempo.
+
+Would you like to help me with organizing a Church Party?
+Você gostaria de me ajudar com a organização de uma festa da igreja?
+
+Would you like to help us to protect the town from a red scorpion invasion??
+Você gostaria de nos ajudar a proteger a cidade de uma invasão de escorpião vermelho?
+
+Would you like to help us? Maybe you just need some information.#0
+
+
+Would you like to help us? Maybe you just need some information.#1
+
+
+Would you like to leave this place?
+Você gostaria de deixar este lugar?
+
+Would you like to transform one more?
+Você gostaria de transformar mais um?
+
+Wouldn't you know it, the bug bomb Eomie gave us is in one of the store room barrels.
+Você não sabe, a bomba que Eomie nos deu está em um dos barris da loja.
+
+Wouldn't you like to help me too?
+Você não gostaria de me ajudar também?
+
+Wounded Girl
+menina ferida
+
+Wounded Soldier
+Soldado ferido
+
+Wounded Soldier#01861
+Soldado Ferido#01861
+
+Wow!
+Uau!
+
+Wow! Are you @@? Everyone, in every city, talks about you!
+Uau! Você está @@? Todos, em todas as cidades, falam de você!
+
+Wow! Those pitiable gloves sure weren't made for mining. They're almost ruined!
+Uau! Essas luvas deploráveis ​​certamente não foram feitas para mineração. Eles estão quase arruinados!
+
+Wow! You did it! I do not think anyone else could have done that.
+Uau! Você fez isso! Eu não acho que alguém mais poderia ter feito isso.
+
+Wow, a Dagger and a Sailor's Hat!
+Uau, um punhal e um chapéu de marinheiro!
+
+Wow, it's really generous of you to fight those slimes for us. Do you need anything else?
+Uau, é muito generoso da sua parte lutar contra esses limos por nós. Você precisa de mais alguma coisa?
+
+Wow, three gifts! Good job! With 800, an extra gift for everyone!
+Uau, três presentes! Bom trabalho! Com 800, um presente extra para todos!
+
+Wow, you already found quite a lot of bookpages. Please keep it up!
+Uau, você já encontrou um monte de bookpages. Por favor, continue assim!
+
+Wreath
+Grinalda
+
+Writing/Updating in client-data quests.xml and items.xml with the correct information usually counts as well.
+
+
+Wumpus Egg
+
+
+Wurtzite Ore
+wurtzita Ore
+
+Wushin
+
+
+Wyara
+Wyara
+
+Xanthem Card
+Carta Xanthem
+
+Xmas Cake
+Bolo de Natal
+
+Xmas Candy Cane
+Bastão de doces de Natal
+
+Xovilam
+
+
+YOU CAN FEEL THE POWER FLOWING TROUGH YOU.
+Você pode sentir o poder que flui através de você.
+
+YOU FAIL! It is a simple item now.
+VOCÊ FALHOU! É um item simples agora.
+
+YOU HAVE RESIGNED THE OFFICE.
+VOCÊ renunciou ao cargo.
+
+YOU JUMP FOR ALL IT IS WORTH!!
+VOCÊ SALTA PARA TODOS É VALE !!
+
+YOU WERE BLESSED BY %s
+
+
+YOU WHO DEFILE THIS PLACE...
+VOCÊ QUE DEFILE ESTE LUGAR ...
+
+YOU WILL BE DISCONNECTED BY FORCE.
+Você será desconectado pela força.
+
+YOU WILL BE PENALIZED WITH 60% OF HEALTH.
+VOCÊ SERà PENALIZADO COM 60% DE SAÚDE.
+
+YOU WILL BE PENALIZED WITH 70% OF HEALTH.
+VOCÊ SERà PENALIZADO COM 70% DE SAÚDE.
+
+Yar matey! You have the items I asked for! You have the honor and trust we pirates bestow each other!
+Yar amigo! Você tem os itens que eu pedi! Você tem a honra e a confiança que nós, piratas, concedemos um ao outro!
+
+Yar! Do you need something, matey?
+Yar! Você precisa de algo, amigo?
+
+Yarr arr!
+Yarr arr!
+
+Yay it's summer! I love June 21st, and the summer vacations!
+É verão! Eu amo 21 de junho e as férias de verão!
+
+Yay yay! Many thanks! Here, take the reward as promised!
+Yay yay! Muito Obrigado! Aqui, pegue a recompensa como prometido!
+
+Yay! Many thanks! I'll enjoy it! Here is the promised reward.
+
+
+Yay! Many thanks! I'll enjoy it! Here, you can keep this.
+
+
+Yay, it worked! You get a good wing.
+Sim, funcionou! Você tem uma boa asa.
+
+Yaya, are you sure?
+Yaya, você tem certeza?
+
+Yaya, you should go see her! She'll be happy to help you again.#0
+
+
+Yaya, you should go see her! She'll be happy to help you again.#1
+
+
+Yayaya, @@ is surely slow. Do you remember how to walk? You can use arrow keys for that!
+Yayaya, @@ é certamente lento. Você se lembra de como andar? Você pode usar as setas para isso!
+
+Yayaya, by pressing @@ or clicking in @@, you'll open your char status window!
+Yayaya, pressionando @@ ou clicando em @@, você abrirá sua janela de status de caracteres!
+
+Yayaya, by pressing @@ or clicking in @@, you'll open your character status window!
+
+
+Yayaya, good job! You can collect loot by pressing @@.
+Yayaya, bom trabalho! Você pode coletar itens pressionando @@.
+
+Yeah sure, take my Amethyst!
+Sim, claro, pegue a minha ametista!
+
+Yeah sure, take my Diamond!
+Sim, claro, pegue meu diamante!
+
+Yeah sure, take my Emerald!
+Sim, claro, pegue minha esmeralda!
+
+Yeah sure, take my Ruby!
+Sim, claro, pegue meu Ruby!
+
+Yeah sure, take my Sapphire!
+Sim, claro, pegue minha safira!
+
+Yeah sure, take my Topaz!
+Sim, claro, pegue meu Topázio!
+
+Yeah yeah yeah, you're not the first one to come talking about that to me.
+Sim sim sim, você não é o primeiro a vir falando sobre isso para mim.
+
+Yeah you're all like *hic* that, but you won't get me! *burp*
+Sim, você é como * hic * isso, mas você não vai me pegar! *arroto*
+
+Yeah you're right, I'm a noob anyway, and Sagratha is a skilled mage. She should be fine on her own.
+Sim, você está certo, eu sou um noob de qualquer maneira, e Sagratha é um mago habilidoso. Ela deveria estar bem sozinha.
+
+Yeah!
+sim!
+
+Yeah, I have the money. Give me FIFTEEN minutes, and Bring it on!
+Sim, tenho dinheiro. Dê-me quinze minutos e traga-o!
+
+Yeah, I have the money. Give me FIVE minutes, and Bring it on!
+Sim, tenho dinheiro. Dê-me CINCO minutos e traga-o!
+
+Yeah, I have the money. Give me TEN minutes, and Bring it on!
+Sim, tenho dinheiro. Dê-me dez minutos, e traga-o!
+
+Yeah, I need one.
+Sim, preciso de um.
+
+Yeah, Nard's sailors saved my life and brought me here!
+Sim, os marinheiros de Nard salvaram minha vida e me trouxeram aqui!
+
+Yeah, but I would like to make sure I get a reward.
+Sim, mas gostaria de me certificar de que recebo uma recompensa.
+
+Yeah, but what reward will I get?
+Sim, mas que recompensa eu vou receber?
+
+Yeah, it was my grand-grand-grandfather.
+Sim, foi meu bisavô.
+
+Yeah, she might be back soon.
+Sim, ela pode estar de volta em breve.
+
+Yeah, sign me up!
+Sim, me inscreva!
+
+Yeah, sure! I'm brave as Simon.
+Sim claro! Eu sou corajoso como Simon.
+
+Yeah, sure? What do you need?
+Sim claro? O que você precisa?
+
+Yeah, teach them a lesson! Keep going!
+Sim, ensine-lhes uma lição! Continue!
+
+Yeah, they are.
+Sim, eles são.
+
+Yeah, you're right.
+Sim você está certo.
+
+Yeah... I also found a few old blueprints. We don't need this crap, you can put it on your @@.
+Sim ... eu também encontrei algumas plantas antigas. Nós não precisamos dessa porcaria, você pode colocar no seu @@.
+
+Years later, someone then started giving gifts to the poor childrens on that date. It sticked, and now people usually trade gifts each other on the date.
+Anos depois, alguém começou a dar presentes para as crianças pobres naquela data. Ficava, e agora as pessoas geralmente trocam presentes na data.
+
+Yellow
+Amarelo
+
+Yellow Dye
+Tintura Amarela
+
+Yellow Skull Slime
+Slime Crânio amarelo
+
+Yellow Slime
+Lodo amarelo
+
+Yellow Slime Mother
+Amarelo Mãe Slime
+
+Yellow Spark
+
+
+Yellow Switch#EP
+
+
+Yep, I bring them for you!
+Sim, eu trago para você!
+
+Yep, I never fly in these days.
+Sim, eu nunca voo nestes dias.
+
+Yep. There was a cursed mouboo on the road.
+Sim. Havia um mouboo amaldiçoado na estrada.
+
+Yerba Mate
+Erva mate
+
+Yes
+sim
+
+Yes I do... I sell %s %s for the small amount of %s GP. Interested? %%%%p
+
+
+Yes please.
+
+
+Yes sir. I will help them.
+Sim senhor. Eu os ajudarei.
+
+Yes!
+Sim!
+
+Yes! Here you are.
+Sim! Olha Você aqui.
+
+Yes! History is the best!
+
+
+Yes! It is heavy.
+Sim! É pesado.
+
+Yes! We'll sail west, and find legendary lands!
+
+
+Yes, %d
+Sim,% d
+
+Yes, Chief Oskari suspects a sabotage.
+Sim, o chefe Oskari suspeita de sabotagem.
+
+Yes, I accept the pendant!
+Sim, aceito o pingente!
+
+Yes, I am a mouboo. Why? Can't a mouboo be a dangerous bandit?!
+Sim, sou um mouboo. Por quê? Um mouboo não pode ser um bandido perigoso ?!
+
+Yes, I am a mouboo. Why? Can't a mouboo be a law and order enforcer?!
+Sim, sou um mouboo. Por quê? Um mouboo não pode ser um executor da lei e da ordem ?!
+
+Yes, I am sure.#0
+Sim, tenho certeza.
+
+Yes, I am sure.#1
+Sim, tenho certeza.
+
+Yes, I am.
+Sim, eu sou.
+
+Yes, I can craft Savior Pants. But it is not cheap. I'll need Platinum, Iridium, and Mylarin Dust. And gold. Much gold.
+Sim, eu posso criar Calças do Salvador. Mas não é barato. Vou precisar de Platinum, Iridium e Mylarin Dust. E ouro. Muito ouro.
+
+Yes, I can craft many things. In addition to plating and improving armor, I can craft smaller items made of gold and other metals.
+Sim, eu posso criar muitas coisas. Além de plaquear e melhorar a blindagem, posso criar itens menores feitos de ouro e outros metais.
+
+Yes, I did. There was only an unlocked secret window.
+Sim eu fiz. Havia apenas uma janela secreta destrancada.
+
+Yes, I do.
+Sim eu quero.
+
+Yes, I have herbs. I assume the risks.
+Sim, tenho ervas. Eu assumo os riscos.
+
+Yes, I have them right here.
+Sim, eu tê-los aqui.
+
+Yes, I know when next Alliance's Council meeting will be. No, I don't need anything.
+Sim, sei quando será a próxima reunião do Conselho da Aliança. Não, eu não preciso de nada.
+
+Yes, I need %d apples.
+
+
+Yes, I need to get out of here the earliest possible.
+Sim, preciso sair daqui o mais cedo possível.
+
+Yes, I remember that one! I welcomed him in the libary and showed him around. But I didn't have the impression he was really listening to what I was saying, though that's hard to tell with the mask.
+Sim, lembro-me disso! Eu o recebi na biblioteca e mostrei a ele. Mas eu não tive a impressão de que ele estava realmente ouvindo o que eu estava dizendo, embora seja difícil dizer com a máscara.
+
+Yes, I want to find out who I am.
+Sim, quero descobrir quem sou.
+
+Yes, I would like to explore!
+
+
+Yes, I would like to go back to Artis.
+
+
+Yes, I would like to go back to the Swamps.
+
+
+Yes, I would like to go to Asphodel Moors!
+
+
+Yes, I'll go.
+Sim, eu vou.
+
+Yes, I'll help you.
+Sim, eu vou te ajudar.
+
+Yes, I'll pay with Common Carp.
+Sim, pagarei com o Common Carp.
+
+Yes, I'll pay with Grass Carp.
+Sim, pagarei com Grass Carp.
+
+Yes, I'll pay with Roach.
+Sim, vou pagar com o Roach.
+
+Yes, I'm awesome, praise me more.
+Sim, sou demais, me elogie mais.
+
+Yes, I'm coming from Tulimshar.
+Sim, eu estou vindo de Tulimshar.
+
+Yes, I'm done with it.
+
+
+Yes, and there was no signs of a fight.
+Sim, e não havia sinais de luta.
+
+Yes, as you see, the costs are high. Prepare yourself.
+Sim, como você vê, os custos são altos. Se prepare.
+
+Yes, but I like windy days.
+Sim, mas gosto de dias de vento.
+
+Yes, courageous and worthy adventurer. You did well!#0
+
+
+Yes, courageous and worthy adventurer. You did well!#1
+
+
+Yes, deal. Gimme the gold ring.
+Sim, negocie. Me dê o anel de ouro.
+
+Yes, deal. Gimme the silver ring.
+Sim, negocie. Me dê o anel de prata.
+
+Yes, did you really think I was some kind of monster that would try to poison you in my own house?
+Sim, você realmente achou que eu era algum tipo de monstro que tentaria envenená-lo em minha própria casa?
+
+Yes, everyone thinks he is competent and Elias have a report of a masked man.
+Sim, todo mundo acha que ele é competente e Elias tem um relato de um homem mascarado.
+
+Yes, everything is going great, thank you!
+Sim, tudo está indo muito bem, obrigado!
+
+Yes, exactly. Thanks for the rescue. I must guard this area from the caves, if you need, just call me.
+Sim, exatamente. Obrigado pelo resgate. Preciso guardar essa área das cavernas, se precisar, me ligue.
+
+Yes, here they are.
+Sim, aqui estão eles.
+
+Yes, here!
+
+
+Yes, it is a really sweet deal, believe me!
+Sim, é um negócio muito legal, acredite em mim!
+
+Yes, many thanks. This will help me a lot.
+Sim, muito obrigado. Isso me ajudará muito.
+
+Yes, of course!
+Sim, claro!
+
+Yes, of course.
+Sim, claro.
+
+Yes, of course. We have good relations with Hurnscald Town, so you're welcome.
+Sim, claro. Temos boas relações com Hurnscald Town, então você é bem-vindo.
+
+Yes, of course. Without a sweat.
+Sim, claro. Sem suor.
+
+Yes, one
+Sim, um
+
+Yes, please use my blood to save lifes.
+Sim, por favor use meu sangue para salvar vidas.
+
+Yes, please, book me a bed.
+Sim, por favor, me reserve uma cama.
+
+Yes, please.
+Sim por favor.
+
+Yes, power allows us a future of our choosing.
+
+
+Yes, take it.
+Sim, aceite.
+
+Yes, take them.
+Sim, pegue-os.
+
+Yes, the Blue Sage will see you.
+Sim, o Blue Sage vai ver você.
+
+Yes, the cursed Mouboo you told me earlier, on the way out.
+Sim, o maldito Mouboo que você me contou antes, ao sair.
+
+Yes, try to summon the Yeti King in Tulimshar Sewers. Make sure you have someone else with you to help.
+
+
+Yes, uhh, very interesting indeed. Haha. I better leave...
+Sim, muito interessante mesmo. Haha É melhor eu sair ...
+
+Yes, unless you're doing something VERY special, a Wooden Log is what you need.
+Sim, a menos que você esteja fazendo algo MUITO especial, um Log de madeira é o que você precisa.
+
+Yes, we have @@!
+Sim, nós temos @@!
+
+Yes, you are now personel! Doesn't it feels exciting? Please tell me it does, I have nothing else to convince you to go otherwise.
+
+
+Yes, you can count it.
+Sim, você pode contar.
+
+Yes, you'll be fired.
+Sim, você será demitido.
+
+Yes.
+Sim.
+
+Yes. Frostia is a city-estate, and is ruled by me, King Gelid Frozenheart II.
+Sim. Frostia é uma cidade-propriedade e é governada por mim, Rei Gelid Frozenheart II.
+
+Yes. I can. But this is irreversible. Are you sure you want this?
+
+
+Yes. I mean, yes, Pihro and Pyndragon will fancy you an airship.
+
+
+Yes. Let me try to open this.
+Sim. Deixe-me tentar abrir isso.
+
+Yes. What do you need help with?
+Sim. Com o que você precisa de ajuda?
+
+Yes? Have you looked her house for signs of battle?
+Sim? Você já olhou sua casa em busca de sinais de batalha?
+
+Yet, I could burn %d %s to keep the house just as warm, maybe even cozier, and the Blue Sage would be none the wiser. Fire is fire, warmth is warmth.
+
+
+Yeti
+Yeti
+
+Yeti Claw
+Garra do Yeti
+
+Yeti Mask
+Máscara do Yeti
+
+Yeti#0211Cindy
+Yeti#0211Cindy
+
+Yeti#0211Guard
+Yeti#0211Guard
+
+Yetifly
+Yetifly
+
+Yetifly the Mighty
+Yetifly o Poderoso
+
+Yety Tank Top
+Camisola de alças do Yety
+
+Yeye can press @@ to sit, which will allow you to heal faster.
+Yeye pode pressionar @@ para se sentar, o que lhe permitirá curar mais rápido.
+
+Yeye don't need to train here anymore! Let's head back to the ship before the sun sets, shall we?
+Yeye não precisa mais treinar aqui! Vamos voltar para o navio antes que o sol se ponha, vamos?
+
+Yeye is not paying for your food and is not a sailor like us! You should start standing on your own feet.
+Yeye não está pagando pela sua comida e não é um marinheiro como nós! Você deve começar a ficar em pé.
+
+Yeye, are you finally ready to go?#0
+
+
+Yeye, are you finally ready to go?#1
+
+
+Yeye, very good, you took the clothes.
+Yeye, muito bem, você pegou as roupas.
+
+Yikes, the Moubootaur!
+Yikes, o Moubootaur!
+
+Yo, girl.#0
+
+
+Yo, good joob killing the Fire Goblins. Do you have everything I've asked for?
+Bom trabalho matando os Goblins do Fogo. Você tem tudo que eu pedi?
+
+Yo, man.#1
+
+
+You already claimed a reward today! Come back tomorrow, and remember to wear GREEN!
+Você já reivindicou uma recompensa hoje! Volte amanhã e lembre-se de usar o VERDE!
+
+You already delivered @@ high-quality patches of white fur.
+Você já entregou @@ patches de alta qualidade de pelo branco.
+
+You already got all power I could grant you!
+Você já tem todo o poder que eu posso te conceder!
+
+You already got the money. Go there and pay ##B Hurnscald ##b a visit. The ##B mayor ##b should be able to help you.
+
+
+You already have this.
+Você já tem isso.
+
+You already helped us today. Come back tomorrow.
+Você já nos ajudou hoje. Volte amanhã.
+
+You already ran this command today. Please try again at a later time.
+Você já executou este comando hoje. Por favor tente novamente mais tarde.
+
+You already registered. Waiting for your partner...
+Você já se registrou. Esperando pelo seu parceiro ...
+
+You also can't stay there forever! You will have about 20 minutes to entirely clear it out and defeat the last boss.
+Você também não pode ficar lá para sempre! Você terá cerca de 20 minutos para limpá-lo completamente e derrotar o último chefe.
+
+You also cannot send any boxes before eating any you've received, but Demure is an exception for this rule.
+Você também não pode enviar nenhuma caixa antes de comer qualquer uma que tenha recebido, mas o Demure é uma exceção para essa regra.
+
+You also find @@ GP with it.
+Você também encontrará @@ GP com ele.
+
+You also gained a @@. Bows are very slow, so you should talk to the Blacksmith to make a Quiver.
+Você também ganhou um @@. Arcos são muito lentos, então você deve falar com o Ferreiro para fazer um Quiver.
+
+You also get access to a party chat, and there are no compromises, so it is a perfect choice for a raid.
+Você também tem acesso a um bate-papo partidário, e não há concessões, por isso é uma escolha perfeita para um ataque.
+
+You also get points for participation, exchange them with Aurora back in Tulimshar before event ends.
+
+
+You also need @@/@@ Mob Points to improve thief skills.
+Você também precisa @@ / @@ Pontos Mob para melhorar as habilidades de ladrão.
+
+You are NO LONGER EXILED from %s by %s.
+Você já não é exilado de% s por% s.
+
+You are NOT allowed to leave here!
+Você não tem permissão para sair daqui!
+
+You are REMOVING an item option.
+
+
+You are a @@º degree mage. This book allows you many new possibilities.
+
+
+You are a master chef, looking at you inspires Maxime.
+Você é um mestre cozinheiro, olhando para você inspira Maxime.
+
+You are a mere %s, but you may be a hero... Find me again...
+Você é um mero% s, mas você pode ser um herói ... Encontre-me outra vez ...
+
+You are about to accept a high-risk quest. You cannot complete it alone.
+Você está prestes a aceitar uma missão de alto risco. Você não pode completá-lo sozinho.
+
+You are allowed to fill your bottles, but BE SURE TO PAY!
+Você tem permissão para encher suas garrafas, mas tenha certeza de pagar!
+
+You are already at the Mana Plane of Existence.
+Você já está no Plano de Mana da Existência.
+
+You are already fully trained. You should go to Tulimshar, but if you want a bonus task, please kill a @@.
+Você já está totalmente treinado. Você deve ir para Tulimshar, mas se você quiser uma tarefa bônus, por favor, mate um @@.
+
+You are already fully trained. You should go to Tulimshar. I may have another task for you later, but you are too weak now, get some levels.
+Você já está totalmente treinado. Você deveria ir a Tulimshar. Eu posso ter outra tarefa para você mais tarde, mas você está muito fraco agora, consiga alguns níveis.
+
+You are carrying duplicates of the same item. Sorry, but I have no idea which one you want to tweak.
+Você está carregando duplicatas do mesmo item. Desculpe, mas eu não tenho nenhuma idéia qual você quer ajustar.
+
+You are close... You are almost there!
+Você está perto ... Você está quase lá!
+
+You are completly overwhelmed by your magic.
+Você está completamente sobrecarregado pela sua magia.
+
+You are currently at @@.
+Você atualmente está em @@.
+
+You are currently hunting @@/10000 @@.
+Você está atualmente procurando @@ / 10000 @@.
+
+You are currently hunting @@/10000 @@. Do you want to switch?
+Você está atualmente procurando @@ / 10000 @@. Você quer mudar?
+
+You are currently tasked with killing @@. As a reminder, you can usually find them where we grow our crops.
+
+
+You are dead.
+Você está morto.
+
+You are dead. Aborting.
+Você está morto. Abortando.
+
+You are doing GREAT! Keep slaying them, hahaah!
+Você está indo muito bem! Continue matando eles, hahaah!
+
+You are doing some progress. There are about 4 quests on the mines, 1 outside walls, and 10 on the town. Some require level, so talk to people again sometimes.
+Você está fazendo algum progresso. Existem cerca de 4 missões nas minas, 1 paredes externas e 10 na cidade. Alguns exigem nível, então fale com as pessoas novamente às vezes.
+
+You are entering on a PVP Area with lowered death penalty.
+Você está entrando em uma área PVP com menor penalidade de morte.
+
+You are exhausted, you should rest @@.#0
+
+
+You are exhausted, you should rest @@.#1
+
+
+You are exiled from this town and therefore, unable to use the Menhir.
+Você está exilado desta cidade e, portanto, incapaz de usar o Menir.
+
+You are full of wine, my friend...
+Você está cheio de vinho, meu amigo ...
+
+You are handed the Land of Fire Gazette. You look at the headline...
+Você é entregue a Terra da Gazeta do Fogo. Você olha para a manchete ...
+
+You are holding a few items of mine...
+
+
+You are hurt, and cannot use this.
+Você está ferido e não pode usar isto.
+
+You are just a random stranger trying to steal adventurer data, aren't you?? %%e
+
+
+You are killing @@/10 @@. They usually are near the mine's Inn.
+Você está matando @@ / 10 @@. Eles geralmente estão perto da pousada da mina.
+
+You are killing @@/100 @@. It's still in progress.
+Você está matando @@ / 100 @@. Ainda está em andamento.
+
+You are killing @@/200 @@ at the cave.
+Você está matando @@ / 200 @@ na caverna.
+
+You are killing @@/25 @@ at the cave. Good progress!
+Você está matando @@ / 25 @@ na caverna. Bom progresso!
+
+You are killing @@/50 @@ at the cave.
+Você está matando @@ / 50 @@ na caverna.
+
+You are level @@/@@. Keep building levels, you need them!
+Você está no nível @@ / @@. Continue construindo níveis, você precisa deles!
+
+You are mostly in control of your magic.
+Você está principalmente no controle de sua magia.
+
+You are not strong enough to survive this trip.
+Você não é forte o suficiente para sobreviver a esta viagem.
+
+You are not using a weapon for a merciful last blow.
+
+
+You are not welcome on this island.
+
+
+You are not worthy!
+Você não é digno!
+
+You are not worthy...
+Você não é digno ...
+
+You are now at Candor Battle Cave at @@'s request.
+Você está agora na Candor Battle Cave a pedido do @@.
+
+You are now at Candor.
+Você está agora em Candor.
+
+You are now at Porthos - The Town of Portals.
+
+
+You are now at the Christmas Workshop.
+Você está agora na Oficina de Natal.
+
+You are now at the Contributor's Cave.
+Você está agora na Caverna do Colaborador.
+
+You are now at the Magical Forest.
+Você está agora na Floresta Mágica.
+
+You are now at the Mana Plane of Existence, at the Contributor's Cave.
+Você está agora no Plano de Mana da Existência, na Caverna do Colaborador.
+
+You are now at the Mana Plane of Existence, at the Floating Island of Aeros.
+Você está agora no Plano de Mana da Existência, na Ilha Flutuante de Eros.
+
+You are now at the Mana Plane of Existence, at the Magical Forest.
+Você está agora no Plano de Mana da Existência, na Floresta Mágica.
+
+You are now at the Valentine Highlands.
+Você está agora no Highlands Valentine.
+
+You are now divorced!
+Você está divorciado agora!
+
+You are part of the "@@" guild.
+
+
+You are perfectly in control of your magic.
+Você está perfeitamente no controle de sua magia.
+
+You are pushed back violently. There is probably some way to break this barrier.
+
+
+You are pushed back with absolute force!
+
+
+You are pushed back with extreme force!
+
+
+You are somewhat in control of your magic.
+Você está um pouco no controle de sua magia.
+
+You are the guild's "%s", and you contribute with %02d%% EXP.
+
+
+You are too weak for my last task, please come back later with some levels.
+Você está muito fraco para minha última tarefa, volte mais tarde com alguns níveis.
+
+You are too weak for my task, please come back later with some levels.
+Você é fraco demais para minha tarefa, volte mais tarde com alguns níveis.
+
+You are too weak to kill one and impress him, so please, bear my son.
+Você é muito fraco para matar um e impressioná-lo, então, por favor, carregue meu filho.
+
+You are trying to kill a @@.
+Você está tentando matar um @@.
+
+You are trying to open the @@th pin. What will to do?
+Você está tentando abrir o @@ th pin. O que vai fazer?
+
+You are very welcome.
+Você é muito bem-vindo.
+
+You are weird, I have to go sorry.
+
+
+You are weird, I have to go sorry.#0
+Você é estranho, eu tenho que ir desculpa.
+
+You are weird, I have to go sorry.#1
+Você é estranho, eu tenho que ir desculpa.
+
+You are weird, I have to go, sorry.
+Você é estranho, eu tenho que ir, desculpe.
+
+You are welcome here, but don't overstay your welcome and leave as soon as possible.
+
+
+You aren't strong enough.
+Você não é forte o suficiente.
+
+You ask yourself: What is the teddy looking for? How can I help him?
+
+
+You awake a long forgotten potential, and feel ready to take over the world.
+
+
+You barely know these caves.
+
+
+You better find a way to travel back in time soon!
+
+
+You better have it ready, because I have the Coal with me!
+É melhor você estar pronto, porque eu tenho o Carvão comigo!
+
+You bring me proof of completing my 'mission,' along with some water and I can dispose of the evidence by turning them into %s
+
+
+You broke the %s into two parts, but you crushed one of them.
+
+
+You brought me 5 @@ ! Here is your @@, as promised.
+Você me trouxe 5 @@! Aqui está o seu @@, como prometido.
+
+You buried @@ @@.
+Você enterrou @@ @@.
+
+You can allocate point on those attributes every time you level up.
+Você pode alocar pontos nesses atributos toda vez que subir de nível.
+
+You can also make money ##Bdoing quests##b. Elmo will tell you almost every quest which can be done in Candor.
+
+
+You can also manually stop it at any time with: @droprate default
+Você também pode pará-lo manualmente a qualquer momento com:
+
+You can also manually stop it at any time with: @exprate default
+Você também pode pará-lo manualmente a qualquer momento com: @exprate default
+
+You can also modify your email with %s.
+Você também pode modificar o seu e-mail com% s.
+
+You can also obtain ingots by melting down equipment. The Meltdown forge is in Nivalis, very far from Tulimshar.
+Você também pode obter lingotes por derreter equipamento. A forja Meltdown está em Nivalis, muito longe de Tulimshar.
+
+You can also pick and drag items from one window into the other but this will move all items of this kind.
+Você também pode selecionar e arrastar itens de uma janela para outra, mas isso moverá todos os itens desse tipo.
+
+You can also read the [@@news|server news@@], or even [@@https://tmw2.org/news|older entries@@].
+Você também pode ler as [@@news|notícias do servidor@@], ou até mesmo [@@https://tmw2.org/news|entradas antigas@@].
+
+You can also use PLANT KINGDOM to spawn several plants at once, too. Let's make this world more green.
+Você também pode usar o PLANT KINGDOM para gerar várias plantas ao mesmo tempo. Vamos tornar este mundo mais verde.
+
+You can also visit our website. And if you want to assist on this server (TMW2: ML), you're welcome too!
+Você também pode visitar nosso site. E se você quiser ajudar neste servidor (TMW2: ML), você é bem-vindo também!
+
+You can always come to #devel on our Discord, or drop by #landoffire on IRC.
+
+
+You can always try again another day!
+Você pode sempre tentar novamente outro dia!
+
+You can be thankful later. Aren't you excited to see what exactly was on that blueprint? Go on, enjoy it! %%G
+
+
+You can become a Monster Hunter by signing up with %s, near the Market.
+Você pode se tornar um Monster Hunter por inscrever-se com% s, perto do Mercado.
+
+You can become a hero by completing every quest in a certain location.
+Você pode se tornar um herói ao completar todas as missões em um determinado local.
+
+You can bring up to %d other friends with you, but they must be on the same party and map as you and you must be the party leader.
+
+
+You can bug Jesusalva to extend the Battlefield Control skills.
+Você pode bug Jesusalva para ampliar as habilidades de controle Battlefield.
+
+You can buy rare items with me, or I can tell you about different cities in our world.
+Você pode comprar itens raros comigo, ou posso falar sobre diferentes cidades do mundo.
+
+You can call yourself a pirate now! HAR HAR HAR!!
+
+
+You can change the PIN from ManaPlus char selection screen.
+Você pode alterar o PIN a partir da tela de seleção de char ManaPlus.
+
+You can colaborate with our project though! Just ask on #tmw2-dev, be it on Discord or IRC!
+
+
+You can collect croconuts by killing any tree with it. Then you can break it in half from the inventory screen.
+
+
+You can convert these items in event points and claim rewards at autumn.
+Você pode converter esses itens em pontos de evento e reivindicar recompensas no outono.
+
+You can craft items in forges. You can use it on your house, or within this forge for a tax.
+Você pode criar itens em forjas. Você pode usá-lo em sua casa ou dentro dessa forja por um imposto.
+
+You can donate blood again in %s
+
+
+You can donate up to %s GP.
+
+
+You can drag and drop an item to the NPC window or select an item through your inventory.
+Você pode arrastar e soltar um item para a janela NPC ou selecionar um item no seu inventário.
+
+You can easily identify fishing spots, small bubbles and fishes are visible from the surface.
+Você pode identificar facilmente pontos de pesca, pequenas bolhas e peixes visíveis da superfície.
+
+You can enter when clock ticks :15, and the game begin when the clock ticks :25 if anyone is around. This is to match with Call of Dusty event.
+
+
+You can even join the project there. Contributors are greatly appreciated! %%N
+
+
+You can explore the city as you want, but if I were you, I would ##Btouch the Soul Menhir##b, north of here, to don't respawn at Candor.
+
+
+You can explore the city on the meanwhile, I need to inspect the data.
+Você pode explorar a cidade enquanto isso, preciso inspecionar os dados.
+
+You can fill this box with the following items:
+
+
+You can find both huge swamps, as huge desertic areas near and on it.
+Você pode encontrar dois pântanos enormes, como enormes áreas desérticas perto e sobre ele.
+
+You can find for a good price desert equipment and some kind of dyes. You find all sort of crafters, artisans and warriors here.
+Você pode encontrar por um equipamento deserto bom preço e algum tipo de corantes. Você encontra todo tipo de artesãos, artesãos e guerreiros aqui.
+
+You can find it in the bandit market, but it is EXPENSIVE.
+Você pode encontrá-lo no mercado de bandidos, mas é caro.
+
+You can find more info about this on these links:
+Você pode encontrar mais informações sobre esta nestes links:
+
+You can find out the monster strength by using "@monsterinfo <English Monster Name>". Check the level in it!
+
+
+You can gain rare treasures, even. Come register for this special program. It's free!
+
+
+You can get @@ anywhere, although here is a little easier to get.
+Você pode obter @@ em qualquer lugar, embora aqui seja um pouco mais fácil de conseguir.
+
+You can get Croconut from Crocotree, and fill @@ purchased in the market.
+Você pode obter Croconut de Crocotree e preencha @@ comprada no mercado.
+
+You can get daily something from it, but unless you're green like me, you will have no luck...
+Você pode obter algo diário com isso, mas a menos que você seja verde como eu, você não terá sorte ...
+
+You can get money in several ways, including by selling monster parts, doing daily quests, gambling, and even becoming the mayor of a town. Read the [@@help://faq|FAQ@@] (opens ingame) for help.
+Você pode obter o dinheiro de várias maneiras, incluindo a venda de peças monstro, fazendo quests diárias, jogos de azar, e até mesmo se tornar o prefeito de uma cidade. Leia o [@@ ajuda: // FAQ | FAQ @@] (abre ingame) para obter ajuda.
+
+You can get up to %d items.
+
+
+You can give @@ to help us, I'll pay you accordingly.
+Você pode dar @@ para nos ajudar, eu vou te pagar em conformidade.
+
+You can have my team's helmet, you're now officially a crusader!
+Você pode ter o capacete de minha equipe, você é agora oficialmente um cruzado!
+
+You can have this %s as a token of gratitude. But no, you cannot pass, so keep going!
+
+
+You can hear creaking planks and a sail flapping in the storm. A ship?
+
+
+You can kill @@ on the desert. It's a dangerous area though, so take care.
+Você pode matar @@ no deserto. É uma área perigosa, então tome cuidado.
+
+You can make a party of 1 if you want to do it alone. This, however, is NOT ADVISED.
+
+
+You can make any build you want! But inserted cards cannot be removed!
+Você pode fazer qualquer construção que você quiser! Mas cartões inseridos não pode ser removido!
+
+You can move using @@ or, at your choice, by clicking where you want to go.
+Você pode se mover usando @@ ou, à sua escolha, clicando onde deseja ir.
+
+You can only concede or vouch a title for people of academic rank inferior than your own.
+
+
+You can only have one mercenary active at a time, they die and will leave after 10 minutes - logged in or not.
+Você só pode ter um mercenário ativo de cada vez, eles morrem e vão embora depois de 10 minutos - logados ou não.
+
+You can only insert up to 3 (three) cards per weapon!
+Você só pode inserir até 3 (três) cartões por arma!
+
+You can only try every %d minutes.
+
+
+You can optionally send a @@ along the chocolate box, so the person knows it was you who sent the chocolate.
+Você pode, opcionalmente, enviar um @@ ao longo da caixa de chocolate, para que a pessoa saiba que foi você quem enviou o chocolate.
+
+You can read some words engraved inside this rock, but some are erased by wind and time:
+
+
+You can rent this house to make it yours.
+Você pode alugar esta casa para torná-lo seu.
+
+You can save both items and money at a bank.
+Você pode salvar itens e dinheiro em um banco.
+
+You can scry other players with: %s
+
+
+You can see all your equipment by pressing the F3 key.
+Você pode ver todo o seu equipamento pressionando a tecla F3.
+
+You can see in distance two portals working, and two portals offline.
+Você pode ver na distância de dois portais de trabalho e dois portais off-line.
+
+You can sense powerful cloaking magic emanating from this sign. With your superior magic, you dismiss the enchantment, and see what the cliffs have been hiding all along...
+
+
+You can tell me the details about why you're here on the way out...
+Você pode me dizer os detalhes sobre por que você está aqui no caminho ...
+
+You can then trade these coins for items with me!
+Você pode trocar essas moedas por itens comigo!
+
+You can trade them for quite nice items with my friend over there.
+Você pode trocá-los por itens muito bons com meu amigo por lá.
+
+You can transfer it with "@grantpower" command. Please contact a GM for more info.
+
+
+You can use "%s <monster_name>" to obtain specified monster drop list and stats.
+
+
+You can use "@monsterinfo <monster name>" to gauge a monster strength.
+
+
+You can use @@ to summon some maggots. That depends on your magic level, of course.
+Você pode usar @@ para invocar alguns vermes. Isso depende do seu nível de magia, é claro.
+
+You can use it again in %s.
+
+
+You can use it again in @@.
+Você pode usá-lo novamente em @@.
+
+You can use it to clear your stats, to start freshly if you know what I mean...
+Você pode usá-lo para limpar suas estatísticas, para começar de novo, se você sabe o que quero dizer ...
+
+You can use many diverse items to lure fishes.
+Você pode usar muitos itens diversos para atrair peixes.
+
+You can use super password "mouboo" to unlock the door.
+
+
+You can't afford my services for that amount. Sorry.
+Você não pode pagar meus serviços por esse valor. Desculpa.
+
+You can't afford my work! Do some odd jobs and come back.
+Você não pode pagar meu trabalho! Faça alguns trabalhos estranhos e volte.
+
+You can't go in there!
+Você não pode entrar lá!
+
+You can't go there!
+Você não pode ir lá!
+
+You can't pass this barrier while people are fighting inside!
+Você não pode passar por essa barreira enquanto as pessoas estão lutando por dentro!
+
+You can't sleep here during daytime!
+Você não pode dormir aqui durante o dia!
+
+You can, and @@, register on both programs.
+Você pode, e @@, cadastre-se em ambos os programas.
+
+You can, however, use ##BCtrl##b to auto-select a monster and attack them. This usually also collects drops, but press Z to be sure.
+
+
+You cannot be fighting to do this trip.
+Você não pode estar lutando para fazer esta viagem.
+
+You cannot begin this now, try again later.
+
+
+You cannot bring anything to the arena. Please put everything into the storage.
+
+
+You cannot bury this item!
+Você não pode enterrar este item!
+
+You cannot carry the fruits.
+Você não pode transportar os frutos.
+
+You cannot complete the casting correctly!
+Você não pode completar o elenco corretamente!
+
+You cannot decipher what's written in there.
+Você não pode decifrar o que está escrito lá.
+
+You cannot drop this item!
+Você não pode largar este item!
+
+You cannot enter here while you have event weapons or a cart.
+Você não pode entrar aqui enquanto você tem armas de eventos ou um carrinho.
+
+You cannot exile yourself!
+Você pode não exílio si mesmo!
+
+You cannot help me at all. You lack any skill to do so.
+Você não pode me ajudar em nada. Você não tem nenhuma habilidade para fazer isso.
+
+You cannot leave this room until either ALL yetis are dead, or you are dead yourself.
+Você não pode sair desta sala até que TODOS os yetis estejam mortos ou você esteja morto.
+
+You cannot part with this item!
+Você não pode separar este item!
+
+You cannot pay.
+Você não pode pagar.
+
+You cannot raise crafting skills beyond level @@!
+Você não pode aumentar as habilidades de elaboração além do nível @@!
+
+You cannot sit idle for too long gaining EXP!
+Você não pode sentar-se inativo por muito tempo ganhando EXP!
+
+You cannot understand what's written.
+Você não consegue entender o que está escrito.
+
+You cannot visit Nivalis before obtaining level 20.
+Você não pode visitar Nivalis antes de obter o nível 20.
+
+You cannot visit the Sponsor's Inn!
+Você não pode visitar o Inn do Patrocinador!
+
+You cannot vote on yourself!
+Você não pode votar em si mesmo!
+
+You carefully pick a @@. It looks delicious! You feel you'll need it sooner than you expect.
+Você escolhe cuidadosamente um @@. Parece delicioso! Você sente que vai precisar mais cedo do que o esperado.
+
+You caught a @@ but had no room in your inventory to carry it.
+Você pegou um @@, mas não tinha espaço no seu inventário para carregá-lo.
+
+You clearly don't have money, so let's not bother with that right now.#0
+
+
+You clearly don't have money, so let's not bother with that right now.#1
+
+
+You completed your training, so you're getting 50 bonus experience points. If you level up, use your stat points wisely!
+
+
+You could barely fit on it, and your clothes will be ruined, in need of washing.
+Você mal poderia caber nele, e sua roupa vai ser arruinada, na necessidade de lavagem.
+
+You could find some bandits in the Bandit cave. Yeah, the name wasn't given for nothing.
+Você poderia encontrar alguns bandidos na caverna Bandit. Sim, o nome não foi dado para nada.
+
+You could try getting into a city administration. If you can get a citizenship, you can try to elect for an office.
+Você poderia tentar entrar em uma administração da cidade. Se você puder obter uma cidadania, você pode tentar escolher um escritório.
+
+You could try to get new equipment by doing more quests. You need level to use them, though.
+Você poderia tentar obter novos equipamentos fazendo mais missões. Você precisa de nível para usá-los, no entanto.
+
+You could try to get on her good side by killing what destroys the forest, or by planting trees.
+Você poderia tentar ficar do lado bom matando o que destrói a floresta, ou plantando árvores.
+
+You currently could not use GM MAGIC to visit Candor.
+No momento você não poderia usar GM MAGIC para visitar Candor.
+
+You currently have @@ @@.
+Você tem atualmente @@ @@.
+
+You currently have @@ GP on your bank account.
+Atualmente você tem @@ GP em sua conta bancária.
+
+You currently have @@ Monster Points. These points are acquired while killing monsters.
+Você atualmente tem @@ Monster Points. Esses pontos são adquiridos ao matar monstros.
+
+You currently have @@ event points, but for ONLY @@ points I can make a dress for you!
+Atualmente você tem @@ pontos de evento, mas por apenas @@ pontos eu posso fazer um vestido para você!
+
+You currently have @@ mobiliary credits + GP at your disposal.
+Atualmente você tem @@ créditos mobiliários + GP à sua disposição.
+
+You currently have @@ points, @@ boxes of chocolate and @@ love letters.
+Atualmente você tem @@ pontos, @@ caixas de chocolate e @@ cartas de amor.
+
+You currently have @@, so if you accept and come back later with @@ Mob Points, I'll mark the bounty as complete.
+Você atualmente tem @@, então se você aceitar e voltar mais tarde com @@ Mob Points, eu marcarei a recompensa como completa.
+
+You currently have no Tweaking AP, so you will need to wait %02d minute(s).
+
+
+You currently have: @@ GP and mobiliary credits
+Atualmente você tem: @@ GP e créditos mobiliários
+
+You dealt with paperwork.
+Você lidou com a papelada.
+
+You deserve a reward for helping my husband Hinnak, but please, get Oscar's reward first.
+Você merece uma recompensa por ajudar meu marido Hinnak, mas, por favor, receba a recompensa de Oscar primeiro.
+
+You deserve a reward for helping my husband. I can make you a nice gift.
+Você merece uma recompensa por ajudar meu marido. Eu posso te fazer um belo presente.
+
+You did a good job too. Rest a bit, too. There's still one chair.
+Você fez um bom trabalho também. Descanse um pouco também. Ainda tem uma cadeira.
+
+You did a good job. Rest a bit. There's still one chair.
+Você fez um bom trabalho. Descansar um pouco. Ainda tem uma cadeira.
+
+You did it! You're now on the last stage of this BORING and LONG quest!
+Você fez isso! Você está agora no último estágio desta busca chata e longa!
+
+You didn't add a item.
+Você não adicionou um item.
+
+You didn't help all my friends yet, and without trainment, I can't send you to such dangerous place as Tulimshar.
+Você não ajudou todos os meus amigos ainda, e sem treinamento, eu não posso mandar você para um lugar tão perigoso quanto Tulimshar.
+
+You didn't lit every torch yet! Hurry up!!
+Você não acendeu todas as tochas ainda! Se apresse!!
+
+You didn't mine enough @@. The perfect spot is at northeast of this island. It takes a while to them respawn, so don't hurry.
+Você não foi meu o suficiente @@. O local perfeito é a nordeste desta ilha. Demora um tempo para eles reaparecerem, então não se apresse.
+
+You displayed courage and completed the mission you set yourself to do. But, tell me. Do you care with this world? Do you care enough with it, to set your mind in saving it from evil?
+
+
+You do not have booked an apartment here.
+Você não reservou um apartamento aqui.
+
+You do not have enough Gold Pieces on your bank account.
+Você não tem peças de ouro suficientes em sua conta bancária.
+
+You do not have enough Gold on yourself.
+Você não tem ouro suficiente em si mesmo.
+
+You do not have enough bait for fishing here.
+Você não tem isca suficiente para pescar aqui.
+
+You do not have enough magic power for these classes.
+Você não tem poder mágico suficiente para estas classes.
+
+You do not have enough money.
+Você não tem dinheiro suficiente.
+
+You do not have the required access privileges to use the Super Menu.
+Você não tem os privilégios de acesso necessários para usar o Super Menu.
+
+You do not meet all requisites for this skill.
+Você não atender a todos os requisitos para esta habilidade.
+
+You do not own an Homunculus.
+Você não possui um homúnculo.
+
+You don't feel so well... And then, you're dead.
+
+
+You don't have @@.
+Você não tem @@.
+
+You don't have a party. You're useless to me.
+
+
+You don't have a ring but I can polish the gemstones nonetheless.
+Você não tem um anel, mas eu posso polir as pedras mesmo assim.
+
+You don't have any %s.
+Você não tem nenhum% s.
+
+You don't have any @@, are you mocking me?
+Você não tem nenhum @@, você está zombando de mim?
+
+You don't have any @@.
+Você não tem nenhum @@.
+
+You don't have enough GP.
+Você não tem GP suficiente.
+
+You don't have enough agility / is carrying too much to attempt it.
+Você não tem agilidade suficiente / está carregando muito para tentar.
+
+You don't have enough cards of this type to upgrade.
+
+
+You don't have enough gold! You need @@ gp.
+Você não tem ouro suficiente! Você precisa de @@ gp.
+
+You don't have enough mana to continue. The seal remains active.
+Você não tem mana suficiente para continuar. O selo permanece ativo.
+
+You don't have enough material, sorry.
+Você não tem material suficiente, desculpe.
+
+You don't have enough money! I am an expensive tailor, I want @@ GP!
+Você não tem dinheiro suficiente! Eu sou um alfaiate caro, eu quero @@ GP!
+
+You don't have enough money, bring me @@ GP or join an already existing one.
+Você não tem dinheiro suficiente, me traga @@ GP ou junte-se a um já existente.
+
+You don't have enough money, bring me @@ GP.
+Você não tem dinheiro suficiente, traga-me @@ GP.
+
+You don't have enough money. Sorry.
+Você não tem dinheiro suficiente. Desculpa.
+
+You don't have enough wood (5 @@) or crafting skills to do it.
+Você não tem madeira suficiente (5 @@) ou habilidades de artesanato para fazê-lo.
+
+You don't have everything I asked you for.
+Você não tem tudo que eu pedi para você.
+
+You don't have everything I've asked for!
+Você não tem tudo que eu pedi!
+
+You don't have met all requisites, like money and successful crafts, or you already reached the maximum level for this skill.
+Você não atendeu a todos os requisitos, como dinheiro e artesanato de sucesso, ou já atingiu o nível máximo para essa habilidade.
+
+You don't have money.
+Você não tem dinheiro.
+
+You don't have proper equipment for it.
+Você não tem equipamento adequado para isso.
+
+You don't have that many empty bottles!
+Você não tem muitas garrafas vazias!
+
+You don't have that many!
+Você não tem tantos!
+
+You don't have that, lying is bad for health...
+Você não tem isso, mentir é ruim para a saúde ...
+
+You don't have that.
+Você não tem isso.
+
+You don't have the Iron Ingot.
+Você não tem o lingote de ferro.
+
+You don't have the Iron Ore.
+Você não tem o minério de ferro.
+
+You don't have the item.
+Você não tem o item.
+
+You don't have the key.
+Você não tem a chave.
+
+You don't have the required level to pass this barrier.
+Você não tem o nível necessário para passar essa barreira.
+
+You don't have the three Coal lumps.
+Você não tem os três pedaços de carvão.
+
+You don't hear anything. This chasm must be incredibly deep.
+Você não ouve nada. Esse abismo deve ser incrivelmente profundo.
+
+You don't know how the chimney keeps producing smoke. It must be using hiding magic.
+Você não sabe como a chaminé continua produzindo fumaça. Deve estar usando magia escondida.
+
+You don't look so well, have you already used the %s to defeat the Soul Eater?
+
+
+You don't look too well; let me treat your wounds.
+Você não parece muito bem; deixe-me tratar suas feridas.
+
+You don't need to do both right now, even if you probably will want to. Once any (or both) of them tell me you're an OK person, I'll start helping you.
+Você não precisa fazer tanto agora, mesmo que você provavelmente vai querer. Uma vez que qualquer (ou ambos) deles me diga que você é uma pessoa OK, eu vou começar a ajudar você.
+
+You don't need to talk with any researcher inside, so why bother? Leave!
+
+
+You don't need, nor deserve it.
+Você não precisa, nem merece isso.
+
+You don't see any slimes from that nest anymore. But did you really get all of them?
+Você não vê mais nenhum lodo desse ninho. Mas você realmente conseguiu todos eles?
+
+You don't seem to have any @@ with you!
+Você não parece ter nenhum @@ com você!
+
+You don't seem to have anything better to do, anyway.
+Você não parece ter nada melhor para fazer, de qualquer maneira.
+
+You don't seem to have enough gold, not even 1 GP...you should really let go of some useless stuff on your inventory.
+Você não parece ter ouro suficiente, nem mesmo 1 GP ... você deveria deixar algumas coisas inúteis no seu inventário.
+
+You done well in getting so far. I didn't thought you would make it.
+Você fez bem em chegar tão longe. Eu não pensei que você fosse conseguir.
+
+You earned %s Monster Points for winning.
+
+
+You explain the Blue Sage about the sabotage incident details, from the Silk Cocoon to the masked visitor.
+Você explica o Sábio Azul sobre os detalhes do incidente de sabotagem, do Casulo de Seda ao visitante mascarado.
+
+You explain to Airlia about you wanting to travel to Halinarzo to find clues.
+Você explica a Airlia sobre você querer viajar para Halinarzo para encontrar pistas.
+
+You failed to protect Sagratha...
+Você não conseguiu proteger Sagratha ...
+
+You failed to reply to the captcha in time and were arrested for AFK Botting. You can use @jailtime to keep track of time left.
+
+
+You feel refreshed!
+Você se sentir revigorado!
+
+You find @@ inside!
+Você encontra @@ dentro!
+
+You find a slot machine or another gambler, and make a bet!
+Você encontra uma slot machine ou outro jogador, e fazer uma aposta!
+
+You flip the switch. Nothing happens.
+Você liga o interruptor. Nada acontece.
+
+You found @@ out of @@ kids.
+Você encontrou @@ out of @@ kids.
+
+You found a Level %d %s!
+
+
+You found a key.
+Você encontrou uma chave.
+
+You found an old well with a bucket on it! It's time to fill plenty of @@!
+Você achou um velho bem com um balde! É hora de encher bastante @@!
+
+You found something!
+Você achou alguma coisa!
+
+You found the Runestone! You gave it to the party leader.
+
+
+You found the key!
+Você encontrou a chave!
+
+You free the world from an evil Dummy.
+Você liberta o mundo de um boneco malvado.
+
+You gained a @@ for the #1 place on the event. Remember to feed it @@, or it may run away from you.
+
+
+You give up after seeing its reaction, and try your best to resist the temptation of hugging this fluffy ball. Maybe we have another idea?
+
+
+You give up.
+Você desiste.
+
+You gladly accept it. But probably better not disturb it for a few days.
+
+
+You go to the training field and stand exactly on the same level with the target. The target is located about 13 meters north of you. You take one arrow and look at Gwendolyn.
+Você vai para o campo de treinamento e fica exatamente no mesmo nível do alvo. O alvo está localizado a cerca de 13 metros ao norte de você. Você pega uma flecha e olha para Gwendolyn.
+
+You got %d %s!
+Tem% d% s!
+
+You got %d EXP!
+Tem% d EXP!
+
+You got %d GP!
+Tem% d GP!
+
+You got %d JEXP!
+Tem% d JEXP!
+
+You got %d Monster Points!
+Você tem Pontos% d monstro!
+
+You got %d Real Estate Credits!
+Você tem d% Créditos Imobiliários!
+
+You got 120,000 XP for completing Mercury's quest.
+Você tem 120.000 XP para completar a busca de Mercúrio.
+
+You got a %d
+Você tem um% d
+
+You got a %s!
+Você tem um% s!
+
+You got a @@ for completing 100+ daily bountyhunter quests!
+Você tem um @@ para completar 100+ missões bountyhunter diárias!
+
+You got a blueprint as reward for Blue Sage Slimes Quest completion.
+Você tem um projeto como recompensa para a conclusão Blue Sage Slimes Quest.
+
+You got a(n) %s gift!
+Você tem um dom (n)% s!
+
+You got lucky and got a(n) %s!
+
+
+You got married to @@!
+Você se casou com @@!
+
+You have %d %s
+Você tem% d% s
+
+You have %d non-counting deaths remaining today.
+Você tem% d não-contagem de mortes restantes hoje.
+
+You have @@ magic skill points available.
+Você @@ pontos de habilidade mágica disponível.
+
+You have @@/@@ magic skill points available.
+Você tem @@ / @@ pontos de habilidade mágica disponível.
+
+You have a high level. Go to Halinarzo already! You could even, I don't know, search for magic?!
+Você tem um alto nível. Vá para Halinarzo já! Você poderia até, eu não sei, procurar por magia ?!
+
+You have a nice hat.
+Você tem um chapéu agradável.
+
+You have access to the storehouse now, right? Well, that's where it happened!
+
+
+You have an @@ - Should you give her that?
+Você tem uma @@ - Se você dar-lhe isso?
+
+You have an awful case of amnesia. She is the nurse and shipkeeper of this ship, and took care of you when you were unconscious.#0
+
+
+You have an awful case of amnesia. She is the nurse and shipkeeper of this ship, and took care of you when you were unconscious.#1
+
+
+You have arrived at Fortress Island.
+Você chegou a Fortaleza Island.
+
+You have been EXILED from %s by %s.
+Você foi exilado de% s por% s.
+
+You have been disqualified - died or left the maze
+
+
+You have been disqualified - illegal weapon: %s
+
+
+You have been disqualified - target was: %s
+
+
+You have been jailed by a GM.
+Você foi preso(a) por um GM.
+
+You have collect enough evidence, it's time to leave and report.
+Você coletou evidências suficientes, é hora de sair e denunciar.
+
+You have collected @@/@@ Mob Points.
+
+
+You have completed the Jesusaves Grimorium Quest!
+Você concluiu a JesUSAves Grimorium quest!
+
+You have gained a special login bonus!
+Você ganhou um bônus de login especial!
+
+You have good intentions, be brave, but in a world where power is measured in levels, numbers have more meaning than they should.
+Você tem boas intenções, seja corajoso, mas em um mundo onde o poder é medido em níveis, os números têm mais significado do que deveriam.
+
+You have learnt "Barter" in Thief Skills.
+
+
+You have learnt "Divine Protection" level @@.
+
+
+You have learnt "Increase Weight" in Thief Skills.
+
+
+You have more boxes. Wanna try again?
+Você tem mais caixas. Quer tentar de novo?
+
+You have my eternal gratitute. Here is 2500 GP for your troubles.
+Você tem minha gratidão eterna. Aqui está 2500 GP para seus problemas.
+
+You have my eternal gratitute. Here is 500 GP for your troubles.
+Você tem meu eterno agradecimento. Aqui está 500 GP para seus problemas.
+
+You have no idea of how dangerous that item is! I can't simply do it!
+Você não tem idéia de como esse item é perigoso! Eu não posso simplesmente fazer isso!
+
+You have no idea what that means.
+Você não tem ideia do que isso significa.
+
+You have no idea what that poor creature felt!
+Você não tem ideia do que essa pobre criatura sentiu!
+
+You have no idea what this piece of equipment is used for.
+Você não tem idéia do que este equipamento é usado.
+
+You have no proof that you have robbed vaults or sided with Ben Parkison, the Thieves Guild Master.
+Você não tem nenhuma prova de que você ter roubado cofres ou ficou do lado de Ben Parkison, as Thieves Guild Master.
+
+You have no right to take that away from her!
+Você não tem o direito de tirar isso dela!
+
+You have reached the current reward limit for Jhon.
+
+
+You have the right to defend yourself if you believe we were wrong. If we find out it's true, you'll receive an apology gift.
+Você tem o direito de defender-se se acreditar que estávamos errados. Se descobrirmos que é verdade, você receberá um presente de desculpas.
+
+You have to excuse me, as you might have heard we're having some trouble at the moment and I, as Chief of Nikolai's household staff, have a lot to do.
+Você tem que me desculpar, como você deve ter ouvido que estamos tendo alguns problemas no momento e eu, como chefe do pessoal doméstico de Nikolai, tenho muito o que fazer.
+
+You have to kill, alone, and this means without the help of the slimes either, nine nests. One in each quadrant.
+Você tem que matar, sozinho, e isso significa, sem a ajuda dos slimes, nove ninhos. Um em cada quadrante.
+
+You have too many points. I can't allow you to take all at once right now. I'll try to give you 50, and you can come back later!
+
+
+You have:
+Você tem:
+
+You have: @@ Broken crystals
+Você tem: @@ Cristais quebrados
+
+You haven't provided me enough High-Quality White Fur! Go back to hunting!
+Você não me deu o suficiente de pele branca de alta qualidade! Volte para caçar!
+
+You haven't provided me the @@ for the base material!
+Você não me forneceu o @@ para o material base!
+
+You hear a noise from distance.
+
+
+You hear birds singing! That is what you had to do!
+Você ouve pássaros cantando! Isso é o que você tinha que fazer!
+
+You hear shouting directed at you. Sailors from the ship?
+
+
+You hear waterfall opening in distance.
+
+
+You help Benjamin in getting up.
+Você ajuda Benjamin em levantar-se.
+
+You humans are so greedy... Just like me. I have more important things to do, other than waste time with you.
+Vocês humanos são tão gananciosos ... Assim como eu. Eu tenho coisas mais importantes para fazer, além de perder tempo com você.
+
+You insert the Runestone on it and hear a sound.
+
+
+You insert the hook pick inside the lock, and, without applying any tension, you discover there are only @@ pins to set.
+Você insere o gancho dentro da fechadura e, sem aplicar nenhuma tensão, descobre que existem apenas pinos @@ para definir.
+
+You jump in deep waters.
+Você pula em águas profundas.
+
+You just bought it? You won't learn anything from that.
+Você acabou de comprar? Você não vai aprender nada com isso.
+
+You just delivered %d %s to %s.
+
+
+You just gained a Prism Gift for your bravery!
+
+
+You just gained a Prism Gift, and 2000 Job Exp for your bravery!
+Você acabou de ganhar um presente Prism, e 2000 Job Exp por sua bravura!
+
+You just gained a Supreme Gift, and 2000 Job Exp for your bravery!
+Você acabou de ganhar um presente do Supremo, e 2000 Job Exp por sua bravura!
+
+You just need one fishing rod, although you should take more than one single bait.
+Você só precisa de uma vara de pescar, embora deva pegar mais de uma isca.
+
+You killed so many Pinkies! My wife and I love you!
+Você matou tantos Pinkies! Minha esposa e eu te amo!
+
+You killed so many Pinkies, I don't care with the Antennas anymore! They are almost gone!
+Você matou tantos Pinkies, eu não me importo mais com as Antenas! Eles quase desapareceram!
+
+You know Jesus Saves hates cheaters, right? If Saulc didn't asked me to double-check stuff...
+Você sabe que Jesus Salva odeia trapaceiros, certo? Se Saulc não me pedisse para checar as coisas ...
+
+You know the Tulimshar Magic Council? The big building on Tulimshar North?
+Você sabe que o Conselho de magia Tulimshar? O grande edifício na Tulimshar Norte?
+
+You know the answer can only be @@.
+Você sabe que a resposta só pode ser @@.
+
+You know this, because their big round eyes were shining.
+
+
+You know what is worse? THIS WHOLE CAVE HAVE DEATH PENALTY ON!!!
+Você sabe o que é pior? Esta caverna integrais têm PENA DE MORTE NO !!!
+
+You know, he is very experienced and reliable. He might look and act like a kid, but he is at least a century old.
+Você sabe, ele é muito experiente e confiável. Ele pode parecer e agir como uma criança, mas ele tem pelo menos um século de idade.
+
+You know, if you're poor, you can't get too close to the Noble district.
+Você sabe, se você é pobre, você não pode ficar muito perto da zona Noble.
+
+You lack money or Action Points.
+Você falta de dinheiro ou Pontos de Ação.
+
+You learn fast, good job. These clothes aren't mighty armor, but they'll help.
+
+
+You leave the teddy alone with its pot.
+
+
+You left your fishing spot!
+Você deixou seu local de pesca!
+
+You liar, I'll show you to respect woman!
+
+
+You liar, I'll teach you a lesson you won't forget!
+
+
+You lied, and this caused a headache! You should NEVER lie to NPCs, because they may steal your items!
+
+
+You look like you have enough experience to know your way around town...
+
+
+You lose!
+Você perdeu!
+
+You made a cash deposit of @@ GP.
+Você fez um depósito em dinheiro de @@ GP.
+
+You make me dance like a monkey
+
+
+You managed to save @@ % of my crops!
+Você conseguiu economizar @@% de minhas colheitas!
+
+You may even obtain ores which you wouldn't otherwise obtain normally, and the drop rate is fixed.
+Você pode até obter minérios que você não teria de outra forma obter normalmente, e a taxa de queda é fixo.
+
+You may obtain Thief Exp by using @@.
+Você pode obter Thief Exp usando @@.
+
+You may pass. The Sage is on the library waiting for you.
+Você pode passar. O Sábio está na biblioteca esperando por você.
+
+You might have the Mouboo Figurine, but I don't trust everyone.
+Você pode ter a Estatueta Mouboo, mas eu não confio em todos.
+
+You might need to have a @@ equipped for some recipes!
+Você pode precisar de um @@ equipado para algumas receitas!
+
+You must "add" the items you plan on selling, and then press "sell" to confirm. You'll have this time to review.
+
+
+You must %s and chant %s to begin channeling.
+Você deve% se chant% s para começar a canalização.
+
+You must be close to it, and stealing won't change drops! If you fail, just try again! Good luck!
+Você deve estar perto disso, e roubar não vai mudar as gotas! Se você falhar, tente novamente! Boa sorte!
+
+You must be dressed, and talk to our captain first. He'll give you a mission and unlock the ship main door.#0
+
+
+You must be dressed, and talk to our captain first. He'll give you a mission and unlock the ship main door.#1
+
+
+You must be fast! The guards are also affected.
+Você deve ser rápido! Os guardas também são afetados.
+
+You must be where the Monster King is at 18:30 UTC sharply - no delays allowed!
+Você deve estar onde o Rei dos Monstros é às 18:30 UTC bruscamente - sem atrasos permitidos!
+
+You must break all three seals to cross this barrier! For that, walk on them!
+Você deve quebrar todos os três selos para atravessar essa barreira! Para isso, ande sobre eles!
+
+You must claim all rewards and use any event item BEFORE it ends.
+Você deve reivindicar todas as recompensas e usar qualquer item de evento antes de terminar.
+
+You must deposit %s GP, which will be returned if quest is completed.
+
+
+You must find someone willing to buy, they usually will buy almost anything you have, even items which cannot be replaced, so be careful.
+Você deve encontrar alguém disposto a comprar, eles geralmente compram quase tudo o que você tem, até mesmo itens que não podem ser substituídos, então tenha cuidado.
+
+You must flip all 5 switches on this cave, and then walk accross the cave blocked with an etheral crystal.
+Você deve virar todos os 5 interruptores nesta caverna e, em seguida, atravessar a caverna bloqueada com um cristal etéreo.
+
+You must go talk with the Obelisk!
+Você deve ir falar com o Obelisco!
+
+You must kill them before the crops are gone. I'll reward you, of course.
+Você deve matá-los antes que as colheitas desapareçam. Eu recompensarei você, claro.
+
+You must not be using mana to do this trip.
+Você não deve estar usando mana para fazer esta viagem.
+
+You must reach level 5 to open this gift.
+Você deve alcançar o nível 5 para abrir este presente.
+
+You must then repeat the sequence at the board which will show.
+
+
+You must understand that this honor has never been granted to a non-duck before. You will have access to Duck Dungeon, a training grounds for Initiates.
+Você deve entender que esta honra nunca foi concedido a um não-pato antes. Você terá acesso a Duck Dungeon, um campo de treinamento para Iniciados.
+
+You need %d %s. I'll start showing you sequences of colors.
+
+
+You need 2x @@ to cast this skill.
+Você precisa de 2x @@ para conjurar essa habilidade.
+
+You need 4x @@ to cast this skill.
+Você precisa de 4x @@ para conjurar esta habilidade.
+
+You need @@ GP to make this investment.
+Você precisa @@ GP para fazer este investimento.
+
+You need @@ GP to use this arena.
+Você precisa do @@ GP para usar esta arena.
+
+You need @@ Reputation to make this investment.
+Você precisa @@ Reputação para fazer este investimento.
+
+You need @@ units of bait for this fishing spot. What will you use?
+Você precisa @@ unidades de isca para este local de pesca. O que você vai usar?
+
+You need a %s for each floor, and defeat the gatekeeper to advance.
+
+
+You need a @@ for it. Ah, back to research I guess...
+Você precisa de um @@ para ele. Ah, de volta para pesquisa eu acho ...
+
+You need a @@ to flip the switches on the Throne Room, don't forget to bring at least five.
+Você precisa de um @@ para trocar os interruptores na Sala do Trono, não se esqueça de trazer pelo menos cinco.
+
+You need a @@ to try this.
+Você precisa de um @@ para tentar isso.
+
+You need a @@ to use this.
+Você precisa de um @@ para usar isso.
+
+You need a @@. I'll flip one card, and you'll need to decide if next draw will be HIGHER or LOWER.
+Você precisa de um @@. Eu vou virar um card e você precisa decidir se o próximo draw será SUPERIOR ou INFERIOR.
+
+You need at least %d cards of same kind.
+
+
+You need at least 35 str and 35 vit to do the trip safely - bonuses not counted - or you will lose HP.
+Você precisa de pelo menos 35 str e 35 vit para fazer a viagem com segurança - bônus não contados - ou você perderá HP.
+
+You need at least level %s to do this quest.
+Você precisa de pelo menos nível% s para fazer essa quest.
+
+You need at least level 20 to help.
+Você precisa pelo menos de nível 20 para ajudar.
+
+You need be at minimum level 50 to participate. It is PVP, so watch out!
+Você precisa estar no nível mínimo 50 para participar. É PVP, então cuidado!
+
+You need both the stolen item as the thief to complete the quest.
+Você precisa tanto o item roubado como o ladrão para completar a missão.
+
+You need level 60 to use these guns, but if you want to start collecting materials, you're allowed to.
+Você precisa do nível 60 para usar essas armas, mas se quiser começar a coletar materiais, poderá fazê-lo.
+
+You need to be very careful. Use the sewers to reach... them.
+Você precisa ser muito cuidadoso. Use os esgotos para chegar ... eles.
+
+You need to choose a Heroes Hold Group. This currently makes absolutely no difference whatsoever.
+Você precisa escolher um Heroes Hold Group. Isso atualmente não faz absolutamente nenhuma diferença.
+
+You need to finish at least %d/%d tasks.
+
+
+You need to have an @@ equipped.
+Você precisa ter um @@ equipado.
+
+You need to pick your prizes!
+
+
+You need to reach a certain point in Player Story in order to partake on this event. Non-repeatable.
+
+
+You need to read this recipe. Without the essential crafting skill you won't go very far. There will be no bonuses on the items you craft because you are not a craftsman.
+Você precisa ler esta receita. Sem a habilidade essencial de criação, você não irá muito longe. Não haverá bônus nos itens que você cria porque você não é um artesão.
+
+You need to save the Professor! During night, monsters are stronger, so they'll probably attack at night time!
+Você precisa salvar o Professor! Durante a noite, monstros são mais fortes, de modo que provavelmente vai atacar durante a noite!
+
+You need to touch a Mana Stone to get magic. Certainly the only Mana Stone on Tulimshar is highly protected by the Council, so no chances here.
+Você precisa tocar a Pedra Mana para obter magia. Certamente a única Mana pedra na Tulimshar é altamente protegida pelo Conselho, de modo que há chances aqui.
+
+You need:
+Você precisa:
+
+You notice a group of slimes emerging from the debris among the shelves.
+Você percebe um grupo de lama saindo dos escombros entre as prateleiras.
+
+You notice that even if she tries to calm down everyone and serve tea, she's pretty distressed with the Monster King herself.
+Você percebe que, mesmo que ela tente acalmar todo mundo e servir chá, ela está muito angustiada com o próprio Monster King.
+
+You now gained two extra kilograms to your weight quota! Ka-pow, that's fantastic! Good luck!
+agora você ganhou dois quilos extras para a sua quota de peso! Ka-prisioneiro de guerra, isso é fantástico! Boa sorte!
+
+You now have an extra point, use it wisely.
+Você agora tem um ponto extra, usá-la sabiamente.
+
+You only have to tell him how much you want to deposit or withdraw.
+Você só precisa dizer a ele quanto quer depositar ou sacar.
+
+You open a book named @@. Do you want to read it?
+Você abre um livro chamado @@. Você quer ler?
+
+You open the Recipe Book. Each recipe you get can be put here.
+Você abre o livro de receitas. Cada receita que você recebe pode ser colocada aqui.
+
+You open the chest and found a @@.
+Você abre o baú e encontra um @@.
+
+You open the chest!
+Você abre o baú!
+
+You open your eyes. The remants of the salt water in your eyes is not particularly helping you see.
+
+
+You passed the botcheck. Thanks for playing the game %%G
+
+
+You perchance said in adventure? Good, because I just hurt my arm while mining!
+Você por acaso disse em aventura? Bom, porque eu apenas machuquei meu braço durante a mineração!
+
+You perfectly cut your %s into two edible parts.
+
+
+You planned neatly. I'll be back.
+Você planejou nitidamente. Eu voltarei.
+
+You ponder whether or not it would be wise to drink it.
+Você pondera se seria sensato beber ou não.
+
+You pour the whole potion on the fountain.
+Você coloca toda a poção na fonte.
+
+You probably was only 4 when all that happened. And opposed to official story, the Monster King never enter this building.
+Você provavelmente tinha apenas 4 anos quando tudo isso aconteceu. E em oposição à história oficial, o Rei Monstro nunca entra neste edifício.
+
+You pulled too late and lost the bait...
+Você puxou muito tarde e perdeu a isca ...
+
+You pulled too soon and lost the bait.
+Você puxou muito cedo e perdeu a isca.
+
+You quickly give her the herbs, and she skillfully mix them on a potion.
+Você rapidamente dar-lhe as ervas, e ela habilmente misturá-los em uma poção.
+
+You ran out of time.
+Acabou seu tempo.
+
+You realize that you have no means to prove your statement.
+Você percebe que você não tem meios para provar sua declaração.
+
+You really have a reason to be proud.
+Você realmente tem um motivo para se orgulhar.
+
+You really should do some tasks to impress our captain.
+Você realmente deveria fazer algumas tarefas para impressionar nosso capitão.
+
+You really should read the dialogs.
+Você realmente deveria ler os diálogos.
+
+You receive 32 exp and 30 GP.
+Você recebe 32 exp e 30 GP.
+
+You receive @@ GP!
+Você recebe @@ GP!
+
+You received one %s!
+
+
+You received the %s title from %s.
+
+
+You received the @@ from @@.
+Você recebeu o @@ de @@.
+
+You recover a tweaking point every hour.
+Você recupera um ponto de ajuste a cada hora.
+
+You recovered @@ magic skill points
+Você recuperou @@ pontos de habilidade mágica
+
+You report to the King about everything you've found and learned there.
+Você se reporta ao rei sobre tudo o que encontrou e aprendeu lá.
+
+You run as far as you could. %s
+Você corre o mais longe que podia. % s
+
+You said you would trade a real Mouboo Figurine, but now I see you don't have one. Come back when you do.
+Você disse que trocaria uma verdadeira estatueta de Mouboo, mas agora vejo que não tem uma. Volte quando você fizer.
+
+You search for Bandit hoods.
+Você procura por capuzes de bandidos.
+
+You see a dust covered book on the shelf... The name of the book is @@.
+Você vê um livro coberto de poeira na prateleira ... O nome do livro é @@.
+
+You see a fruit on her body. You take it.
+
+
+You see a helper looking through some papers that have a strange smell.
+Você vê um ajudante olhando alguns papéis que têm um cheiro estranho.
+
+You see a raijin boy, sitting on the edge of the dock.
+Você vê um garoto raijin sentado na beira do cais.
+
+You see a red apple here. It is
+Você vê uma maçã vermelha aqui. Isto é
+
+You see some fish reflecting the sun on the surface of the water.
+Você vê alguns peixes refletindo o sol na superfície da água.
+
+You see the docks on the other side of the town? There should be a ship docked there.
+Você vê as docas do outro lado da cidade? Deve haver um navio atracado lá.
+
+You see the gates over there? This is the World's Edge. The land which never had a settlement. How. is. there. a. town?!
+
+
+You see these pious around us?
+Você vê esses pious ao nosso redor?
+
+You see yourself in a strange chamber. Strange drawings litter the walls.
+Você se vê em uma câmara estranha. desenhos estranhos sujarem as paredes.
+
+You see, Benjamin wanted to reshape the world. Very ambitious plans, which would have been great... If they had prospered.
+
+
+You see, I am Erlan, a researcher. I'm currently developing strong poison to rival with the legendary %s. For that end, I need raw, untreated sewerage, but there is no such thing here. Could you bring me %d %s? Thanks!
+
+
+You see, I am Erlan, a researcher. I'm currently developing strong poison to rival with the legendary %s. For that end, I need raw, untreated sewerage, but there is no such thing in a civilized town like ours.
+
+
+You see, I cannot use any raw material. It must be sturdier than the usual, and I don't have the materials for it.
+Você vê, eu não posso usar qualquer matéria-prima. Deve ser mais resistente do que o normal e não tenho materiais para isso.
+
+You see, I have a sister. Luvia Gemini. Very talented, but unfortunately, not enough to prevent being captured and brainwashed by Isbamuth.
+
+
+You see, I love %s! So shiny, so bright... They are my favorite!
+
+
+You see, I was walking in the secret caves near Ched, and... well...
+Veja, eu estava andando nas cavernas secretas perto de Ched e ... bem ...
+
+You see, Pihro and Pyndragon, the mayors, are really busy people. They're developing a game or something as we speak.
+Você vê, Pihro e Pyndragon, os prefeitos, são realmente pessoas ocupadas. Eles estão desenvolvendo um jogo ou algo como nós falamos.
+
+You see, after a monster attack... My husband went to the desert, to check how things were...
+Veja, depois de um ataque monstruoso ... Meu marido foi ao deserto, para verificar como estavam as coisas ...
+
+You see, because the Monster King, monsters have been running rampant. If they grow too much in numbers, cities may be overrun.
+Você vê, porque o Rei Monstro, monstros estão correndo soltos. Se crescerem demais em números, as cidades podem ser superadas.
+
+You see, it need certain special items... Oh, just blame Jesusalva for this one.
+Você vê, precisa de certos itens especiais ... Oh, culpe Jesusalva por isso.
+
+You see, just @@ ago, Hurnscald was liberated from a massive monster attack.
+Você vê, apenas @@ ago, Hurnscald foi liberado de um ataque maciço de monstros.
+
+You see, most people think that all monsters are controlled by the Monster King, but that's not quite right.
+Você vê, a maioria das pessoas pensa que todos os monstros são controlados pelo Rei Monstro, mas isso não está certo.
+
+You see, we're working on repairing all of the damaged books and creating new ones for those that were lost.
+Você vê, estamos trabalhando para consertar todos os livros danificados e criar novos para aqueles que foram perdidos.
+
+You seem to be doing some money. Would you consider fighting for your own greed, or even be a Robin-Hood-of-sorts, stealing from the rich?
+Você parece estar fazendo algum dinheiro. Você consideraria lutando por sua própria ganância, ou mesmo ser um Robin Hood-of-tipo, roubando dos ricos?
+
+You seem to be jailed. We cannot unjail offline players, so please don't logout.
+Você parece estar preso. Não podemos jogadores off-line unjail, por isso, não sair.
+
+You seem to have @@ broken items and... Oh, I see you have a broken @@ here! I wanna repair it!
+Você parece ter @@ itens quebrados e ... Oh, eu vejo que você tem um @@ quebrado aqui! Eu quero consertar isso!
+
+You seem to have gotten Peetu's attention for a while.
+Você parece ter recebido a atenção de Peetu por um tempo.
+
+You send me the wrong way.
+
+
+You set off a trap!
+Você detona uma armadilha!
+
+You shall pass. Beyond this gate, she waits for you.
+Você deve passar. Além deste portão, ela espera por você.
+
+You should allocate some attributes to it. You need @@, @@ and @@, on this order of importance.
+Você deve alocar alguns atributos para ele. Você precisa de @@, @@ e @@, nesta ordem de importância.
+
+You should allocate some attributes. You need @@, @@ and @@, on this order of importance.
+
+
+You should ask %s.
+Você deve perguntar% s.
+
+You should ask this question at Vincent.
+Você deveria fazer essa pergunta em Vincent.
+
+You should be ASHAMED of yourself, you liar.
+Você deve ter vergonha de si mesmo, seu mentiroso.
+
+You should be more careful.
+Você devia ser mais cuidadoso.
+
+You should come back when you have some free space.
+Você deve voltar quando tiver algum espaço livre.
+
+You should complete Candor Prologue before participating on this quest.
+Você deve completar o Candor Prologue antes de participar desta missão.
+
+You should do the other miners quest first! Some, however, are harder than others. This will unlock the %s, an important item to advance as a crafter.
+
+
+You should eat and drink water after donating blood. Thanks for saving lifes!
+Você deve comer e beber água depois de doar sangue. Obrigado por salvar vidas!
+
+You should go and get some sleep.
+Você deveria ir dormir um pouco.
+
+You should have gotten here @@.
+Você deveria ter chegado aqui @@.
+
+You should have some decent gloves, dude. These offer defense, as it's easier to handle your weapon and parry attacks.
+Você deveria ter umas luvas decentes, cara. Estes oferecem defesa, pois é mais fácil de lidar com sua arma e ataques de parry.
+
+You should know this, an item like this can't be bleached.
+Você deve saber disso, um item como este não pode ser branqueado.
+
+You should never sell your Cactus Drinks. They have many uses.
+Você nunca deve vender suas bebidas Cactus. Eles têm muitos usos.
+
+You should not be here. Get moving.
+Você não deveria estar aqui. Mexa-se.
+
+You should not be here...
+Você não deveria estar aqui ...
+
+You should not be there! This forest is home to monsters.
+Você não deveria estar lá! Esta floresta é o lar de monstros.
+
+You should not leave this room.
+Você não deve sair desta sala.
+
+You should reset your stats and allocate some points at intelligence.
+Você deve redefinir suas estatísticas e alocar alguns pontos em inteligência.
+
+You should talk to Airlia again to understand what Lua wants me to do.
+Você deveria falar com Airlia novamente para entender o que Lua quer que eu faça.
+
+You should talk to Magic Arpan first.
+Você deve falar com o Arpan Mágico primeiro.
+
+You should talk to him instead.
+Você deveria falar com ele em vez disso.
+
+You should talk to the Black Razor. He was a researcher, so try the academy.
+
+
+You should unequip this item first.
+Você deve desequipar este item primeiro.
+
+You sing a pretty song to the teddy, and this makes it very happy.
+
+
+You stand before a battle-scarred, darkly tanned warrior, brimming with muscles.
+Você está diante de um guerreiro com cicatrizes negras e bronzeados, cheio de músculos.
+
+You start feeling dizzy.
+
+
+You started the seal break sequence. Please stand by.
+Você começou a seqüência de quebra de selo. Por favor espere.
+
+You stay where you are..
+Você fica onde está
+
+You still are overwhelmed by your magic.
+Você ainda está sobrecarregado pela sua magia.
+
+You still have ##B%d Monster Points##b! Do you want more items?
+
+
+You still have a low level but I'm sure he will ask for your help once you grow up a little more.
+Você ainda tem um nível baixo mas eu tenho certeza que ele vai pedir sua ajuda quando você crescer um pouco mais.
+
+You still haven't completed your tasks.
+Você ainda não concluiu suas tarefas.
+
+You still haven't found all of them yet.
+Você ainda não encontrou todos eles ainda.
+
+You still need @@ GP for the trip to Tulimshar.
+Você ainda precisa de @@ GP para a viagem a Tulimshar.
+
+You still need @@ GP to afford it.
+Você ainda precisa de @@ GP para pagar.
+
+You still need to grow a few levels more before being able to help me out again.
+Você ainda precisa aumentar alguns níveis antes de poder me ajudar novamente.
+
+You still need to wait @@ before going to HH again.
+Você ainda precisa esperar @@ antes de ir para HH novamente.
+
+You store a large collection of goods. Could you perhaps sell me some?
+Você armazena uma grande coleção de mercadorias. Você poderia me vender alguma coisa?
+
+You succeed in crossing the chasm!
+Você consegue atravessar o abismo!
+
+You successfully completed Sagratha's Campaign.
+Você completou com sucesso a Campanha de Sagratha.
+
+You successfully set the drop rate to @@%. It will reset to @@% (default value) in @@.
+Você definiu com êxito a taxa de descida para @@%. Ele será redefinido para @@% (valor padrão) em @@.
+
+You successfully set the exp rate to @@%. It will reset to @@% (default value) in @@.
+Você definiu com êxito a taxa de exp para @@%. Ele será redefinido para @@% (valor padrão) em @@.
+
+You supported:
+Você suportados:
+
+You take distance and...
+Você toma distância e ...
+
+You take four steps to the left.
+Você dá quatro passos para a esquerda.
+
+You take four steps to the right.
+Você dá quatro passos para a direita.
+
+You take off your bag and put it on the floor, as you lower yourself and try to slowly get close to it.
+
+
+You take one step to the left.
+Você dá um passo para a esquerda.
+
+You take one step to the right.
+Você dá um passo para a direita.
+
+You take the @@. It seems to be the stolen item.
+Você pega o @@. Parece ser o item roubado.
+
+You take the clothes from the chest.
+Você tira as roupas do baú.
+
+You take three steps to the left.
+Você dá três passos para a esquerda.
+
+You take three steps to the right.
+Você dá três passos para a direita.
+
+You take two steps to the left.
+Você dá dois passos para a esquerda.
+
+You take two steps to the right.
+Você dá dois passos para a direita.
+
+You take your @@ and leave.
+Você leva seu @@ e sair.
+
+You take your fishing rod and leave.
+Você pega sua vara de pescar e sai.
+
+You tell Lua everything you've heard at the Inn.
+Você diz a Lua tudo o que você já ouviu falar no Inn.
+
+You tell her about the incident at the Blue Sage's residence and how they were aiming at sages.
+Você conta a ela sobre o incidente na residência do Blue Sage e como eles estavam mirando os sábios.
+
+You think you can fool me and lie? I'll teach you a lesson you won't forget!
+
+
+You thought there was someone here. It must have been your imagination.
+Você pensou que havia alguém aqui. Deve ter sido sua imaginação.
+
+You throw a coin into the well.
+
+
+You throw a coin on the chasm.
+Você joga uma moeda no abismo.
+
+You took more than %s to do this, that is lame! Better luck next time.
+
+
+You took too long to answer.
+Você demorou muito para responder.
+
+You toss the paper in the trash.
+Você joga o papel no lixo.
+
+You tried to get rid of me, eeh? But surprise! I'm still here... *hic* Or there...
+Você tentou se livrar de mim, eeh? Mas surpresa! Eu ainda estou aqui ... * hic * Ou lá ...
+
+You use the small key from the apple garden hut. It fits neatly.
+Você usa a pequena chave da cabana de jardim de maçã. Isso se encaixa perfeitamente.
+
+You vomit, you are too drunk and drinking is harmful.
+Você vomitar, você está muito bêbado e beber é prejudicial.
+
+You vomit, you are too drunk for this to have effect anymore.
+Você vomita, está bêbado demais para que isso tenha efeito.
+
+You waited too long and lost the bait...
+Você esperou muito e perdeu a isca ...
+
+You wake up in the middle of the night. How did you got here? WERE YOU KIDNAPPED?
+
+
+You wanted to know about the World Edge, right? The Ancient Families of the Soul Menhir, and if you're part of them...
+Você queria saber sobre o World Edge, certo? As Famílias Antigas do Menir da Alma, e se você é parte delas ...
+
+You were in bad shape, you should be happy we found you before the sea killed you.#0
+Você estava muito mal, você deveria agradecer por termos te achado antes de ser morta pelo mar.
+
+You were in bad shape, you should be happy we found you before the sea killed you.#1
+Você estava muito mal, você deveria agradecer por termos te achado antes de ser morto pelo mar.
+
+You were jailed and now need a GM to get you out of there.
+Você foi preso e agora precisa de um GM para tirar você de lá.
+
+You were permanently banned by the GM Team.
+Você foi banido permanentemente pela equipe GM.
+
+You were refunded in %s GP!
+
+
+You were rescued by DUSTMAN.
+Você foi resgatado por DUSTMAN.
+
+You were vouched to the %s title by %s. You still need %d more vouches to be promoted.
+
+
+You were wrong!
+Você estava errado!
+
+You will also LOSE honor if the opponent is below level 30. If you are a bandit (negative honor), all fights versus you will be honorable.
+Você também vai honra perder se o adversário está abaixo do nível 30. Se você é um bandido (honra negativo), todas as lutas contra você será honrado.
+
+You will be able to pick basic weapons and skills at the Event Soul Menhir.
+Você vai ser capaz de pegar armas e habilidades básicas no Evento Alma Menhir.
+
+You will be killed on the road if you try to go like this. The Canyon route is dangerous, and the Swamps route claimed many souls.
+Você será morto na estrada se tentar ir assim. A rota do Canyon é perigosa e a rota dos Pântanos reivindicou muitas almas.
+
+You will be rewarded by me shall you succeed in any of the tasks.
+
+
+You will find a fisher, maybe he is having a good time and can sell you a few boxes. And remember to keep your eye open.
+Você vai encontrar um pescador, talvez ele esteja se divertindo e possa lhe vender algumas caixas. E lembre-se de manter seus olhos abertos.
+
+You will find a statue different from the others. It is where the game balance was murdered and bugs added instead! No, not really - this is just a placeholder. Not cool!
+
+
+You will gain @@ Reputation.
+Você vai ganhar @@ reputação.
+
+You will get @@ which can then be exchanged for items once CoD event quest ends.
+Você receberá @@, que poderá ser trocado por itens quando a missão de evento CoD terminar.
+
+You will need a certain amount of them to upgrade any skill, which will be spent and no longer available for use.
+
+
+You will need to *hic* prove yourself to *hic* me and the town first...
+Você vai precisar se * hic * provar-se para * hic * me e a cidade primeiro ...
+
+You will see, citizens are polite and you can still ask around for help. They can help find a job for you or maybe help you find out what happened to you out at sea!
+Você vai ver, os cidadãos são educados e você ainda pode pedir ajuda. Eles podem ajudar a encontrar um trabalho para você ou talvez ajudá-lo a descobrir o que aconteceu com você no mar!
+
+You win!
+Você ganha!
+
+You withdrew a total of @@ GP.
+Você retirou um total de @@ GP.
+
+You won't be able to aim for a better record!
+Você não será capaz de apontar para um melhor registro!
+
+You won't be allowed to play this game until you have an updated client.
+Você não poderá jogar este jogo até ter um cliente atualizado.
+
+You won't be allowed to walk sideways, except to avoid a monster or two.
+Você não poderá andar de lado, exceto para evitar um monstro ou dois.
+
+You won't have any of my vegetables, you scoundrel! Get off my yard!
+
+
+You won't learn any skill without a good professor to teach them to you.
+Você não vai aprender qualquer habilidade sem um bom professor para ensiná-los a você.
+
+You wonder, maybe he entered on an infinite loop? Hellooo, anybody home?
+Você se pergunta, talvez ele tenha entrado em um loop infinito? Hellooo, alguém em casa?
+
+You wont be able to go back!
+Você não será capaz de voltar!
+
+You would do well as come prepared, as failing in the last stage will RESET current progress on the quest.
+Você faria bem como vir preparado, como falha na última etapa irá repor progresso atual na busca.
+
+You wouldn't happen to have them, would you?
+Você não teria que tê-los, iria?
+
+You'll all die here!
+Vocês todos vão morrer aqui!
+
+You'll also get half of the GP as Monster Points!
+Você também terá metade do GP como Pontos do monstro!
+
+You'll be charged even if you fail, be warned.
+Você será cobrado mesmo se falhar, esteja avisado.
+
+You'll be charged even if you fail, be warned. You can re-roll the same item %s, free of charge, but it may break and there will be no refunds!
+
+
+You'll come with me!
+Você vem comigo!
+
+You'll get %d GP every time you finish the sequence.
+
+
+You'll give your best and attempt to run!
+Você dará o seu melhor e tentará correr!
+
+You'll have 60 seconds to kill as many balls as you can!
+
+
+You'll have to slay %s %s for me! I don't care which ones, just SLAY THEM!
+
+
+You'll need to think on a new password!
+Você precisa pensar em uma nova senha!
+
+You'll soon run out of stuff to do around here, so yeah, you should extend your horizons or you may get bored soon enough.
+Em breve você vai ficar sem coisas para fazer por aqui, então sim, você deve ampliar seus horizontes ou você pode ficar entediado em breve.
+
+You'll want your fishing rod to be flexible but solid.
+Você vai querer que sua vara de pesca seja flexível, mas sólida.
+
+You're about to concede an academic title to "@@".
+
+
+You're about to enter a dangerous area. Are you sure?
+Você está prestes a entrar em uma área perigosa. Você tem certeza?
+
+You're about to enter a dangerous zone!
+Você está prestes a entrar em uma zona de perigo!
+
+You're about to transfer a legendary weapon to @@.
+Você está prestes a transferir uma arma lendária para @@.
+
+You're absolutely right. The next one will be more tricky.
+Você está absolutamente correto. O próximo será mais complicado.
+
+You're brave but weak. Go grind some levels, go make a wooden sword, I don't know.
+Você é corajoso, mas fraco. Vá moer alguns níveis, vá fazer uma espada de madeira, não sei.
+
+You're creepy.
+Você é assustador.
+
+You're doing the math wrong, matey! I'll bring them later!
+Você está fazendo a matemática errada, amigo! Eu os trarei depois!
+
+You're finally free!
+Você está finalmente livre!
+
+You're hesitant to pick one, they could be dangerous.
+Você está hesitante em escolher um, eles podem ser perigosos.
+
+You're in the "@@" party, I know!
+
+
+You're in the "@@" party, very good!
+
+
+You're lucky that this is the Land Of Fire and I'm on a good mood, otherwise, I would have killed you for lying to me.
+Você tem sorte que esta é a Terra do Fogo e eu estou de bom humor, caso contrário, eu teria te matado por mentir para mim.
+
+You're lucky. It is windless now.#0
+
+
+You're lucky. It is windless now.#1
+
+
+You're not welcome here. Get moving.
+Você não é bem vindo aqui. Mexa-se.
+
+You're on a ship, we're on our way to the oldest human city, Tulishmar.
+Você está em um navio, estamos a caminho da mais antiga cidade humana, Tulishmar.
+
+You're on our ship, we made port to a little island and we're actually yeyending our long merchant travelling adventure at the city of Tulimshar.#0
+
+
+You're on our ship, we made port to a little island and we're actually yeyending our long merchant travelling adventure at the city of Tulimshar.#1
+
+
+You're playing with fire. Or ice. Or whatever.
+Você está brincando com fogo. Ou gelo. Como queiras.
+
+You're pretty much stranded on this forsaken island if you don't help me!
+Você está praticamente encalhado nesta ilha abandonada se você não me ajudar!
+
+You're ready. Let's head back to the ship before the sun sets, shall we?
+Você está pronto. Vamos voltar para o navio antes que o sol se ponha, vamos?
+
+You're right, you never sold any Water Bottle ever. I'm unjailing you.
+Você está certo, você nunca vendeu qualquer garrafa de água sempre. Estou unjailing você.
+
+You're right. Sorry.
+Você está certo. Desculpa.
+
+You're strong, maybe you could help Dan. He is a good sailor but he is too afraid from harmless Pious.
+Você é forte, talvez você poderia ajudar Dan. Ele é um bom marinheiro, mas ele está com muito medo de ser inofensivo Piedoso.
+
+You're stupid. Leave.
+
+
+You're the savior of Hurnscald crops. Half from the world would die from famine, weren't for you.
+Você é o salvador das plantações de Hurnscald. Metade do mundo morreria de fome, não era para você.
+
+You're under arrest. I have to bring you back to Kenton.
+Você está preso. Eu tenho que trazê-lo de volta para Kenton.
+
+You're wel-- Wait, it was you who was trapped on the well near Miler's house?!
+Você está bem ... Espere, foi você quem ficou preso no poço perto da casa de Miler ?!
+
+You're welcome!
+Seja bem-vindo!
+
+You're welcome.
+Seja bem-vindo.
+
+You're willing to help? Perfect. We need @@ @@, @@ @@ and @@ @@ for travel.
+Você está disposto a ajudar? Perfeito. Precisamos de @@ @@, @@ @@ e @@ @@ para viajar.
+
+You're, of course, invited. Thus far, the total prize money I've collected is @@ GP.
+Você é, claro, convidado. Até agora, o total de prêmios em dinheiro que eu coletei é @@ GP.
+
+You've already completed this quest today. Try again tomorrow.
+Você já concluiu esta missão hoje. Tente novamente amanhã.
+
+You've also learned how to craft Daggers! It serves solely for training purposes. You get crafting points for every 40 levels crafted on the item.
+Você também aprendeu como criar Daggers! Ele serve apenas para fins de treinamento. Você ganha pontos de artesanato para cada 40 níveis criados no item.
+
+You've been asking for way too much power from the Mana Seed.
+Você tem pedido muito poder da Semente de Mana.
+
+You've been doing quite well, indeed. Ever visited Lilit?
+Você tem feito muito bem, de fato. Já visitou Lilit?
+
+You've been doing very well, I'm surprised.
+Você está indo muito bem, estou surpreso.
+
+You've been doing well. Be careful out there.
+Você andou bem. Tenha cuidado lá fora.
+
+You've been spending too much time with humans. You are picking up bad habits from them like lying. Be careful.
+
+
+You've brought me fertilizer! Let me see if it works...
+Você me trouxe fertilizante! Deixe-me ver se funciona ...
+
+You've got 2000 xp and 150 job xp in apology tokens.
+Você tem 2000 XP e 150 xp trabalho em tokens de desculpas.
+
+You've got a Graduation Album for Eistein levels!
+Você tem um álbum de graduação para níveis Eistein!
+
+You've helped me plenty. Please come back in @@
+Você me ajudou muito. Por favor, volte em @@
+
+You've killed @@ scorpions, and a total of @@ were killed this season.
+Você matou @@ escorpiões e um total de @@ foi morto nesta temporada.
+
+You've killed @@/12 @@. Get rid of them!
+Você matou @@ / 12 @@. Livrar-se deles!
+
+You've learned how to use @@. Simple locks can now be broken.
+Você aprendeu como usar @@. fechaduras simples agora pode ser quebrado.
+
+You've obtained a @@ to visit Magic Academy.
+Você obteve um @@ para visitar Magic Academy.
+
+You've passed the test of courage. Bravure you have, but are you a real adventurer?
+Você passou no teste de coragem. Você tem a coragem, mas você é um verdadeiro aventureiro?
+
+You've reached the maximum level for this skill.
+Você alcançou o nível máximo para esta habilidade.
+
+You've slayed the Yeti.
+Você matou o Yeti.
+
+You, @@... You better get walking. Soon.
+Você, @@ ... É melhor você ir andando. Em breve.
+
+You, and everyone on the party, won't be able to return.
+
+
+You... You killed my father during Nivalis siege! I'll make you pay for that!!
+Você ... Você matou meu pai durante o cerco de Nivalis! Eu vou fazer você pagar por isso !!
+
+You: @@, @@
+Você: @@, @@
+
+You? Have you ever looked in the mirror? You're not even level 35. Begone.
+Você? Você já se olhou no espelho? Você não está nem no nível 35. Begone.
+
+You? Here?
+Você? Aqui?
+
+Your @@ determines several small things, including critical attacks and, limited to a certain extent, affect drop rates.
+O seu @@ determina várias coisas pequenas, incluindo ataques críticos e, limitado até certo ponto, afeta as taxas de queda.
+
+Your @@ determines your ability to hit monsters and is valuable to players who prefer weapons that use projectiles.
+Seu @@ determina sua capacidade de acertar monstros e é valioso para jogadores que preferem armas que usam projéteis.
+
+Your @@ is not enough, please look for more.
+Seu @@ não é suficiente, por favor, procure mais.
+
+Your Score: @@
+Sua Pontuação: @@
+
+Your academy titles have been rescinded%s
+
+
+Your account is too young.
+A sua conta é muito jovem.
+
+Your account must be at least 72 hours old or have level 15+ to use this command.
+
+
+Your body starts to glow. You're not sure why, the fountain did that!
+Seu corpo começa a brilhar. Você não tem certeza do porque, a fonte fez isso!
+
+Your class has been changed from %s to %s.
+Sua classe foi alterado de% s para% s.
+
+Your coward outer self fails to convince you to leave.
+Seu covarde eu não convence você a sair.
+
+Your current rank: %s
+Seu posto atual:% s
+
+Your current scholar rank: %s (%d Research Points)
+O seu atual posto acadêmico:% s (% d Pontos de Pesquisa)
+
+Your current scholar rank: %s (%d/%d vouches)
+
+
+Your current scholar rank: %s (%s Research Points)
+
+
+Your current score: @@
+Sua pontuação atual: @@
+
+Your current win streak is @@!
+Sua sequência de vitórias atual é @@!
+
+Your friend also sent you a gift - open it when you get level 5!
+Seu amigo também lhe enviou um presente - abra quando chegar ao nível 5!
+
+Your guild does not have the key required to complete this part of the puzzle.
+Sua aliança não tem a chave necessária para concluir esta parte do quebra-cabeça.
+
+Your guild doesn't knows any recipes!
+Sua guilda não conhece nenhuma receita!
+
+Your guild need to have at least level 2 to use storage feature.
+Sua guilda precisa ter pelo menos o nível 2 para usar o recurso de armazenamento.
+
+Your hairstyle is @@ and its color is @@.
+Seu penteado é @@ e sua cor é @@.
+
+Your hear a clink, and the key breaks.
+Ouvir um tilintar, e as quebras de chave.
+
+Your help was invaluable, my staff believed in the unbiased view of the Hurnscald Household. Alas, now Peetu is capable to work again.
+Sua ajuda foi inestimável, minha equipe acreditava na visão imparcial do Hurnscald Household. Infelizmente, agora Peetu é capaz de trabalhar novamente.
+
+Your homunculus is already on a mission!
+Seu homúnculo já está em uma missão!
+
+Your homunculus is ready!
+Seu homúnculo está pronto!
+
+Your homunculus is sleeping! Wake them up!
+Seu homúnculo está dormindo! Acordá-los!
+
+Your information is correct, %s. Pirates have been plaguing our shores and cutting off our supply lines.
+Suas informações estão corretas,% s. Piratas foram assola nossas costas e cortar nossas linhas de abastecimento.
+
+Your level is so high, I'm surprised you haven't went there already. But then, most quests around there are for your level...
+Seu nível é tão alto, estou surpreso que você não tenha ido lá já. Mas então, a maioria das missões por aí são para o seu nível ...
+
+Your loss!
+
+
+Your low intelligence prevents anything from happening with you.
+Sua baixa inteligência impede que algo aconteça com você.
+
+Your magic is more powerful than you, but you can control.
+Sua magia é mais poderosa que você, mas você pode controlar.
+
+Your mind is set? You will probably lose all the dyes and/or cards during on the item during this process. You're bleaching a %s by the way.
+
+
+Your mother asked me to say that she loves you.
+Sua mãe me pediu para dizer que ela ama você.
+
+Your next step is to get the book of the Second Sage Of Fate.
+Seu próximo passo é pegar o livro do Segundo Sábio do Destino.
+
+Your party is too big. Discretion is a key if we want to succeed.
+
+
+Your persistence is amusing. However, you're yet to acquire the title of %s.
+
+
+Your personal record: %s
+
+
+Your position is auto-saved when entering a town - use @ucp to change this behavior.
+Sua posição é salva automaticamente ao entrar em uma cidade - use @ucp para alterar esse comportamento.
+
+Your position must be the one of a regular member or above.
+Sua posição deve ser a de um membro regular ou superior.
+
+Your position on the guild: @@
+Sua posição na guilda: @@
+
+Your privileges do not allow you to use this command.
+Seus privilégios não permitem que você use este comando.
+
+Your prize: %s GP
+
+
+Your problems are not mine. By the way, you really should consider taking a shower.
+Seus problemas não são meus. By the way, você realmente deve considerar tomar um duche.
+
+Your progress thus far: %s chants casted
+
+
+Your progress thus far: %s damage inflicted
+
+
+Your progress thus far: %s exp earned
+
+
+Your progress thus far: %s friends supported
+
+
+Your progress thus far: %s potions baked
+
+
+Your progress thus far: %s skills casted
+
+
+Your progress thus far: %s sparks
+
+
+Your progress thus far: %s sparks killed
+
+
+Your progress thus far: %s survived.
+
+
+Your progress thus far: %s taken.
+
+
+Your reagents vanish into emptiness!
+Seus reagentes desaparecem no vazio!
+
+Your rent is valid for @@.
+Seu aluguel é válido para @@.
+
+Your request for @@ @@ are being fermented for @@.
+Seu pedido de @@ @@ está sendo fermentado para @@.
+
+Your save point has been changed.
+Seu ponto de salvamento foi alterado.
+
+Your skill in magic is not great enough to use some of the spells yet, so keep practicing and visiting the mana seed until it is.
+Sua habilidade em magia não é grande o suficiente para usar alguns dos feitiços ainda, então continue praticando e visitando a semente de mana até que esteja.
+
+Your son, Hasan, has stolen me!
+Seu filho, Hasan, me roubou!
+
+Your spell takes a mind of its own and shapes in something else!
+Seu feitiço tem uma mente própria e formas em outra coisa!
+
+Your status points were reset.
+Seus pontos de status foram redefinidos.
+
+Your strength is not enough to power on this portal.
+Sua força não é suficiente para ligar esse portal.
+
+Your thief instincts suggest you to hurry.
+Seus instintos ladrão sugiro que você se apressar.
+
+Your weird robes; They seem like they'll deny your damage, so you definitely want to summon multiple people to help. Try the #world tab.
+
+
+Your worth shall be tested, and from inside, you shall not leave.
+O teu valor será provado, e de dentro não sairás.
+
+Yuko
+
+
+Yuko Cuf
+
+
+Yumi
+Yumi
+
+ZZZzzzz...
+
+
+Zack
+Zack
+
+Zambacutou Heavy Sword
+Zambacutou pesada espada
+
+Zarkor
+Zarkor
+
+Zarkor Scroll
+Pergaminho Zarkor
+
+Zarkor spills many fluids on the lake, with much concentration.
+Zarkor derrama muitos fluidos no lago, com muita concentração.
+
+Zarkor starts a weird chant.
+Zarkor começa um canto estranho.
+
+Zarkor, fell a small taste of my power. That is nothing. If you can't handle that, you're not even near my lowest lieutenant.
+Zarkor, caiu um gostinho do meu poder. Isso não é nada. Se você não pode lidar com isso, você não está nem perto do meu tenente mais baixo.
+
+Zarkor, the Dark Summoner
+Zarkor, o Summoner das Trevas
+
+Zegas
+Zegas
+
+ZegasDebug
+ZegasDebug
+
+Zitoni
+Zitoni
+
+Zitoni refused to make the Powder.
+Zitoni recusou-se a fazer o pó.
+
+Zitoni seems to be lost on deep thought.
+Zitoni parece estar perdido em pensamentos profundos.
+
+Zitoni won't cooperate with you. Perhaps you should ask to Zarkor about that.
+Zitoni não vai cooperar com você. Talvez você devesse perguntar a Zarkor sobre isso.
+
+Zombie Ear
+Orelha de zumbi
+
+Zombie Nachos
+Nachos zumbis
+
+Zzzzzz....
+Zzzzzz ....
+
+Zzzzzzzzz...
+Zzzzzzzzz...
+
+[%d GP] [Lv 1~25] Hire for one hour
+[% D GP] [Lv 1 ~ 25] de aluguer durante uma hora
+
+[%d GP] [Lv 26~40] Hire for one hour
+[% D GP] [Lv 26 ~ 40] de aluguer durante uma hora
+
+[%d GP] [Lv 41~60] Hire for one hour
+[% D GP] [Lv 41 ~ 60] de aluguer durante uma hora
+
+[%d GP] [Lv 61~79] Hire for one hour
+[% D GP] [Lv 61 ~ 79] de aluguer durante uma hora
+
+[%d GP] [Lv 80~100] Hire for one hour
+[% D GP] [Lv 80 ~ 100] de aluguer durante uma hora
+
+[0] East Aeros
+[0] East Eros
+
+[10x Honey, 1x Elixir of Life] The Shadow Tortuga won the race against the Panthom Lord.
+
+
+[1] West Aeros
+[1] West Eros
+
+[2] Full Aeros
+[2] Full Eros
+
+[@@https://wiki.moubootaurlegends.org/Storyline|Read the History@@]
+[@@ https: //wiki.moubootaurlegends.org/Storyline | Leia a História @@]
+
+[Accept Quest]
+[Aceitar a Missão]
+
+[Caution, this may be dangerous!]
+[Cuidado, isso pode ser perigoso!]
+
+[Christmas] Send soul to the Christmas Workshop!
+[Natal] Envie alma para a Oficina de Natal!
+
+[DEBUG] Current Power: %d
+[DEBUG] Poder atual:% d
+
+[Decline Quest]
+[Recusar a Missão]
+
+[Deliver all goods.]
+[Entregue todos os bens.]
+
+[Easter] Send soul to the Mana Forest!
+[Páscoa] Envie alma para a Floresta de Mana!
+
+[Explain the situation]
+
+
+[Give him a Mouboo Figurine to play with?]
+[Dê a ele uma estatueta de Mouboo para brincar?]
+
+[Give him some salty Sea Drops?]
+[Dê a ele algumas gotas de mar salgadas?]
+
+[Give him some tasty Chocolate Bar?]
+[Dê-lhe uma saborosa barra de chocolate?]
+
+[Kill her]
+[Mate ela]
+
+[Magic Olympics] Send soul to Porthos
+
+
+[Make up a lie]
+
+
+[Maybe another time.]
+[Talvez outra hora.]
+
+[Pat his shoulder and say everything will be fine.]
+[Pat seu ombro e diga que tudo ficará bem.]
+
+[Push him away from you and leave]
+[Empurre-o para longe de você e saia]
+
+[Quest Accepted]
+[Missão aceite]
+
+[Quit]
+[Sair]
+
+[Shake him and tell him to pull himself together]
+[Agite e diga para ele se recompor]
+
+[Slap his hands to surprise him and get his attention?]
+[Bata as mãos para surpreendê-lo e chamar sua atenção?]
+
+[Soul Menhir]
+[Menhir de almas]
+
+[TUTORIAL]
+[TUTORIAL]
+
+[Try to console him]
+[Tente consolá-lo]
+
+[Valentine Day] Send soul to the Valentine Highlands!
+[Dia dos Namorados] Envie alma para o Planalto dos Namorados!
+
+[Valentine] Eat all chocolate:
+[Valentine] Coma todo o chocolate:
+
+[Worker Day] Send soul to the Contributor Cave!
+[Dia do Trabalhador] Envie alma para a Caverna do Colaborador!
+
+^.^ "Nothing is wrong, don't worry!"
+
+
+a Left Crafty Wing
+uma asa esquerda engenhosa
+
+a Right Crafty Wing
+uma asa astuta direita
+
+a ground!
+um chão!
+
+a quiet place,
+Um lugar quieto,
+
+a(n)
+
+
+above
+acima
+
+adams
+adams
+
+affection
+afeição
+
+agility
+agilidade
+
+agrajag
+agrajag
+
+and
+e
+
+and "listening" to his speech, you'll get EXP!
+
+
+and have Demure to send them to those you admire!
+e ter Demure para enviá-los para aqueles que você admira!
+
+angry
+Bravo
+
+any
+qualquer
+
+any planned experience and gold reward.
+qualquer experiência planejada e recompensa de ouro.
+
+arrow keys
+teclas de seta
+
+arthur dent
+dente de arthur
+
+assigning 5 points each to str, agi, dex and luck
+
+
+begin Doppelganger Challenge
+começar Doppelganger Desafio
+
+below
+abaixo
+
+betelgeuse
+betelgeuse
+
+big
+grande
+
+burst up in flames
+
+
+but I was hoping for something more valuable. No, thanks.
+mas eu estava esperando por algo mais valioso. Não, obrigado.
+
+but remember: Rewards will also be based on everyone's progress!
+mas lembre-se: Recompensas também será baseada no progresso de todos!
+
+cancel
+cancelar
+
+cleaning
+limpeza
+
+cold, bleak and isolated cell
+
+
+come back stronger, and I will give you a task.
+volte mais forte e eu lhe darei uma tarefa.
+
+cricket
+Grilo
+
+data @@ @@ @@ data
+dados @@ @@ @@ data
+
+day
+dia
+
+deep thought
+pensamento profundo
+
+desert mines one day.
+minas do deserto um dia.
+
+dexterity
+destreza
+
+disaster area
+área de desastre
+
+discontent
+descontentamento
+
+don't panic
+não entre em pânico
+
+doplhins
+golfinhos
+
+douglas
+Douglas
+
+draw.
+desenhar.
+
+dude#1
+
+
+ear
+orelha
+
+east
+leste
+
+easter eggs for more useful things!
+ovos de páscoa para coisas mais úteis!
+
+eddie
+eddie
+
+ee break of day
+ee pausa do dia
+
+eight
+oito
+
+eighteen
+dezoito
+
+eleven
+onze
+
+england
+Inglaterra
+
+equip
+equipar
+
+evening
+tarde
+
+evil will return every day to curse King Arthur the Micksha.
+mal vai voltar todos os dias para amaldiçoar rei Arthur a Micksha.
+
+exchange them, and have fun!
+trocá-los, e se divertir!
+
+experience points
+
+
+fifteen
+quinze
+
+firearms
+armas de fogo
+
+five
+cinco
+
+focused on lower level players, and to cherish those whom work hard everyday.
+focado em jogadores de nível inferior, e a valorizar aqueles que trabalham duro todos os dias.
+
+four
+quatro
+
+fourteen
+quatorze
+
+furious
+furioso
+
+gal#0
+
+
+girl#0
+
+
+give everyone gifts for spending so much time with us %%l
+
+
+hard work, Dimonds Cove was built.
+trabalho duro, Dimonds Cove foi construído.
+
+heart of gold
+coração de ouro
+
+her
+
+
+here
+
+
+hero#0
+
+
+hero#1
+
+
+hey, hey, are you a hero, are you a hero?#0
+
+
+hey, hey, are you a hero, are you a hero?#1
+
+
+house finances
+Finanças da casa
+
+humm... Sorry, I forgot what you need!
+Humm ... Desculpe, eu esqueci o que você precisa!
+
+humm... You don't have everything I've asked for!
+Humm ... Você não tem tudo que eu pedi!
+
+if the proposal is not convenient for you, just close the trading window to cancel the exchange of items and money. But if both press the 'Accept Negotiation' button, then the marketing will be finished.
+Se a proposta não for conveniente para você, basta fechar a janela de negociação para cancelar a troca de itens e dinheiro. Mas, se ambos pressionarem o botão "Aceitar Negociação", o marketing será concluído.
+
+in March 2nd 2018.
+em 02 de março de 2018.
+
+international worker day
+Dia do trabalhador internacional
+
+is your target. They spawn smaller versions of themselves! Kill @@ of them and make the beach safe for tourists.
+
+
+item dependant bonuses
+bônus dependentes de itens
+
+ix
+ix
+
+karim
+karim
+
+katazuli
+katazuli
+
+keyboard
+teclado
+
+king
+rei
+
+left
+esquerda
+
+left above
+deixado acima
+
+legendary clovers will spawn almost everywhere.
+trevos lendários vai gerar quase toda parte.
+
+legendary weapon
+arma lendária
+
+library damage
+dano de biblioteca
+
+line @@:
+linha @@:
+
+longing for the day she would have a building.
+saudade do dia em que ela teria um prédio.
+
+lost forever
+perdido para sempre
+
+love
+amor
+
+lower left
+inferior esquerda
+
+lower right
+inferior direito
+
+luck
+sorte
+
+magic book
+livro mágico
+
+marvin
+marvin
+
+medium shot
+tiro médio
+
+milliways
+milliways
+
+miss#0
+
+
+mister#1
+
+
+mobs over lv 100
+
+
+monster points
+
+
+monsters of at least level 100
+
+
+more information about test server ->
+obter mais informações sobre servidor de teste ->
+
+morning
+
+
+murder
+
+
+my name is karim can you help me?.
+meu nome é karim, você pode me ajudar?
+
+need help to send gifts to everyone! Compete for scoreboards,
+precisam de ajuda para enviar presentes para todos! Compete pela placares,
+
+next
+
+
+nine
+nove
+
+nineteen
+dezenove
+
+no
+não
+
+no active MOTD
+nenhum MOTD ativo
+
+no active broadcast
+sem transmissão ativa
+
+north
+norte
+
+northeast
+nordeste
+
+northwest
+noroeste
+
+nothing
+nada
+
+npc1
+npc1
+
+npc1#door
+npc1#door
+
+npc3
+npc3
+
+npc4
+npc4
+
+npc5
+npc5
+
+o.o "You're being unreasonable. That's way too much!"
+
+
+offline player
+
+
+one
+1
+
+over 100 mobs
+
+
+pal#1
+
+
+pan galactic gargle blaster
+pan garbage blaster galáctico
+
+passion
+paixão
+
+peasant#0
+
+
+peasant#1
+
+
+place in the world. He told Dimond that he would make her
+lugar no mundo. Ele disse a Dimond que ele a faria
+
+powerful shot
+tiro poderoso
+
+quest completed.#0
+
+
+quest completed.#1
+
+
+ranged mobs
+
+
+ranged monsters
+
+
+rather powerful shot
+tiro bastante poderoso
+
+rather weak shot
+tiro bastante fraco
+
+research
+
+
+restaurant for her. He gathered the tools and after much
+restaurante para ela. Ele reuniu as ferramentas e depois de muito
+
+right
+certo
+
+right above
+logo acima
+
+rock
+Rocha
+
+sample
+amostra
+
+sent to the email you used to register on Moubootaur Legends.
+enviado para o e-mail usado no seu registro em Moubootaur Legends.
+
+seven
+Sete
+
+seventeen
+dezessete
+
+she's smiling at you.
+ela está sorrindo para você.
+
+sit
+sentar
+
+six
+seis
+
+sixteen
+dezesseis
+
+slartibartfast
+slartibartfast
+
+slimes
+
+
+small, red, round and shiny.
+pequeno, vermelho, redondo e brilhante.
+
+somewhat powerful shot
+tiro um pouco poderoso
+
+somewhat weak shot
+tiro um pouco fraco
+
+south
+sul
+
+southeast
+sudeste
+
+southwest
+sudoeste
+
+southwest part of the town
+parte sudoeste da cidade
+
+spawn challenge monster! How far can you go?
+desovar monstro desafio! Quão longe você pode ir?
+
+splash magic
+
+
+splash weapons
+
+
+start#bat_a02
+start#bat_a02
+
+start#hurns_lib
+start#hurns_lib
+
+stocking
+meia
+
+stop interrupting me while I make your trousers.
+Pare de me interromper enquanto eu faço suas calças.
+
+stop making me lose the line by talking to me.
+Pare de me fazer perder a linha falando comigo.
+
+supply report
+relatório de fornecimento
+
+survive @@ seconds more!
+sobreviver @ segundos a mais!
+
+ten
+dez
+
+test
+teste
+
+test @@
+teste @@
+
+test#0
+
+
+test#1
+
+
+test1
+test1
+
+test1 @@#0
+
+
+test1#0
+
+
+test2
+test2
+
+test2 @@#1
+
+
+test2#1
+
+
+the Monster King
+o rei dos monstros
+
+the Yeti King
+
+
+the better your chances to get the best cards.
+o melhor suas chances de obter as melhores cartas.
+
+the card will determine your gift - the more cards you spin,
+o cartão vai determinar o seu presente - os mais cartões de você girar,
+
+the event won't start and HURNSCALD WON'T BE LIBERATED.
+o evento não será iniciado e HURNSCALD NÃO SERà LIBERADO.
+
+the north exit
+
+
+the npc choose paper.
+o npc escolhe papel.
+
+the npc choose rock.
+o npc escolhe rock.
+
+the npc choose scissors.
+o npc escolhe uma tesoura.
+
+thirteen
+treze
+
+this
+esta
+
+three
+três
+
+to give %s experience!
+
+
+top 1
+top 1
+
+top 10
+top 10
+
+top 3
+3 melhores
+
+top 5
+top 5
+
+top 7
+top 7
+
+towel
+toalha
+
+town damage by monsters
+dano da cidade por monstros
+
+town finances
+finanças da cidade
+
+town overview
+visão geral da cidade
+
+triple
+
+
+truth
+verdade
+
+twelve
+doze
+
+twenty
+vinte
+
+two
+dois
+
+two jobs
+dois empregos
+
+two minutes
+dois minutos
+
+very angry
+muito bravo
+
+very mad
+muito louco
+
+very powerful shot
+tiro muito poderoso
+
+very weak shot
+tiro muito fraco
+
+vogon
+vogon
+
+vogsphere
+vogsphere
+
+votes
+votos
+
+warp back
+deformar de volta
+
+weak shot
+tiro fraco
+
+west
+oeste
+
+which creeps over Kamelot! During this event, the ancient
+que se arrasta ao longo do Kamelot! Durante este evento, a antiga
+
+with friends
+com amigos
+
+wowbagger
+wowbagger
+
+yawns
+bocejos
+
+yellow
+amarelo
+
+yes
+sim
+
+you already opened the chest.
+você já abriu o baú.
+
+you choose paper.
+você escolhe papel.
+
+you choose rock.
+você escolhe rock.
+
+you choose scissors.
+você escolhe uma tesoura.
+
+you lose
+você perdeu
+
+you win
+você ganha
+
+you win @@
+você ganha @@
+
+zero
+zero
+
+~~%d/%d %s~~
+~~% d /% d% s ~~
+
+¬.¬ "Hmm, to me, you look like a thief or bandit..."
+
+
+¬.¬ "I knew it! I'll report you at once."
+
+
+´ .Use lazurite stones ´..´. they will appear. ..´ .. drop them inside .. this circle.
+
+
+↑ Houses, Soul Menhir
+↑ Casas, Menhir da Alma
+
+↑ Town Hall, Noble District
+↑ Câmara Municipal, Distrito Nobre
+
+─ Crazyfefe is likely patrolling the world, aiding Constables and catching criminals.
+
+
+─ Jak1 should be on the Mirror Lake or verifying the infrastructure.
+
+
+─ LawnCable is likely on his room doing research, I wouldn't disturb him if I were you.
+
+
+─ Saulc should be on his residence, going over the plans again.
+
+
+♪ Pinkie,pinkie,pinkie, you're so fine.
+
+
+♪Hi ho, no one on♫
+
+
+♪There is a server♪
+
+
diff --git a/langs/langs.txt b/langs/langs.txt
new file mode 100644
index 0000000..89b6138
--- /dev/null
+++ b/langs/langs.txt
@@ -0,0 +1,5 @@
+en
+pt_BR
+fr
+de
+es
diff --git a/log/.placeholder b/log/.placeholder
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/log/.placeholder
diff --git a/logmaster.py b/logmaster.py
new file mode 100755
index 0000000..ebd92cc
--- /dev/null
+++ b/logmaster.py
@@ -0,0 +1,222 @@
+#!/usr/bin/python3
+########################################################################################
+# This file is part of Moubootaur Legends API.
+# Copyright (C) 2019-2022 Jesusalva
+
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+
+# This library 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
+# Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+########################################################################################
+# This is the log master, to improve performance
+
+import mysql.connector, signal, sys, threading, time, traceback
+
+## Default values
+HOST="127.0.0.1"; PORT=0; USER=""; PASS=""; DBXT=""; db=None;
+sqli = []; running=True
+SQL_PINGTIME=300.0; SQL_FLUSH=1.0
+
+## Warnings
+ERR=0
+WRN=1
+DBG=2
+def stdout(mes, code=DBG):
+ if code == ERR:
+ color="31;1"
+ title="ERROR"
+ elif code == WRN:
+ color="33;1"
+ title="WARNING"
+ else:
+ color="32;1"
+ title="INFO"
+ print("\033[%sm[%s]\033[0m %s" % (color, title, mes))
+ return
+
+## Rudimentary parser
+with open("conf/import/sql_connection.conf", "r") as f:
+ for l in f:
+ r=l.replace("\"", "").replace(" ", "").replace("\t", "").replace("\n", "").replace("\r", "").split(":")
+ try:
+ if r[0] == "db_hostname":
+ HOST=str(r[1])
+ elif r[0] == "db_port":
+ PORT=int(r[1])
+ elif r[0] == "db_username":
+ USER=str(r[1])
+ elif r[0] == "db_password":
+ PASS=str(r[1])
+ elif r[0] == "db_database":
+ DBXT=str(r[1])
+ else:
+ pass
+ except:
+ traceback.print_exc()
+
+## Check for fails
+if USER == "":
+ stdout("Lacking user! Check conf/import/sql_connection.conf", ERR)
+ exit(1)
+if PASS == "":
+ stdout("Lacking password! Check conf/import/sql_connection.conf", ERR)
+ exit(1)
+if DBXT == "":
+ stdout("Lacking database! Check conf/import/sql_connection.conf", ERR)
+ exit(1)
+
+## Init the database
+def connect():
+ global db, HOST, USER, PASS, DBXT
+ stdout("Connecting to %s:%d (%s @ %s)" % (HOST, PORT, USER, DBXT))
+ db = mysql.connector.connect(
+ host=HOST,
+ port=str(PORT),
+ user=USER,
+ passwd=PASS,
+ database=DBXT
+ )
+ return
+
+## Function to keep a database alive
+def keep_alive():
+ global db
+ try:
+ db.ping(reconnect=True, attempts=10, delay=1)
+ except:
+ # SQL error
+ stdout("keep_alive: INTERNAL ERROR (ping timeout!)", ERR)
+ db.reconnect(attempts=12, delay=10)
+ return
+
+## Start keep_alive in a thread and keep it running
+def keep_alive_runner():
+ global db
+ sqlt_db1=threading.Thread(target=keep_alive, daemon=True)
+ sqlt_db1.start()
+ ####################################################
+ ## Run forever
+ time.sleep(0.05)
+ stall=0.05
+ while sqlt_db1.is_alive():
+ stdout("keep_alive: Waiting for ping")
+ time.sleep(2.0)
+ stall+=2.0
+ ## Rebuild connection if the stall time exceeds the ping time
+ if stall > SQL_PINGTIME:
+ if sqlt_db1.is_alive():
+ stdout("keep_alive: DBXT Connection Restarted", WRN)
+ connect()
+ break
+ sql_keep_alive=threading.Timer(max(1.0, SQL_PINGTIME-stall), keep_alive_runner)
+ sql_keep_alive.daemon=True
+ sql_keep_alive.start()
+ return
+
+## Read stdin for as long as possible
+def run_forever():
+ global sqli, running
+ while running:
+ bf = sys.stdin.readline()
+ if bf is None or bf == "":
+ continue
+ #stdout("Buffer set: %s" % str(bf))
+ sqli.append(str(bf).replace("\n","").replace("\r",""))
+ return
+
+## Handle term signals
+def EXIT_NOW(sn, frame):
+ global running, db
+ stdout("Exit Signal received!", ERR)
+ running = False
+ time.sleep(SQL_FLUSH)
+ db.close()
+ stdout("Terminated", WRN)
+ return
+
+## Try to close Database and finish safely
+#signal.signal(signal.SIGTERM, EXIT_NOW)
+signal.signal(signal.SIGABRT, EXIT_NOW)
+
+## Create the SQL connection and keep it alive
+time.sleep(1.0)
+connect()
+keep_alive_runner()
+
+## Watch for stdin
+runner=threading.Thread(target=run_forever, daemon=True)
+runner.start()
+
+## Handle the input
+stdout("Logmaster started", WRN)
+bf=""
+while running:
+ try:
+ ## We have stuff to push
+ if len(sqli) > 0:
+ w = db.cursor()
+ for com in list(sqli):
+ try:
+ cmd=com.split("→")[0]
+ args=com.replace("%s→" % cmd, "")
+
+ ## Command: SQL
+ ## Description: Prepares a SQL statement. No escapping.
+ ## Supports "?1", "?2" etc. for use with SAD
+ if cmd == "SQL":
+ bf=str(args)
+ ## Command: SAD
+ ## Description: Replaces "?" with escaped data.
+ elif cmd.startswith("SAD"):
+ bf=bf.replace("?%s" % cmd.replace("SAD", ""), args.replace("\\", "\\\\").replace('"','\\"').replace("'", "\\'").replace('\n','').replace('\r','').replace('\0',''))
+ ## Command: SQLRUN
+ ## Description: Executes the prepared SQL statement.
+ ## Sanitization must be done using SAD commands.
+ elif cmd == "SQLRUN":
+ w.execute(bf)
+ #stdout("Query OK: %s" % bf)
+ bf=""
+ ## Command: DISCORDID
+ ## Description: Replaces "?" with the Discord ID
+ ## For the associated argument.
+ ## Requires the API (WIP)
+ elif cmd == "DISCORDID":
+ ## FIXME: Query the API
+ bf=bf.replace("?%s" % cmd.replace("DISCORDID", ""), "")
+ pass
+ ## Command: PING
+ ## Description: Does nothing
+ elif cmd == "PING":
+ pass
+ ## TODO: Integration with the API
+ else:
+ stdout("Unrecognized command: %s" % cmd, ERR)
+ except:
+ stdout("Statement failed: %s" % cmd, ERR)
+ traceback.print_exc()
+ sqli.remove(com)
+ db.commit()
+ w.close()
+ except KeyboardInterrupt:
+ running=False
+ stdout("Shutdown in progress!")
+ break
+ except:
+ traceback.print_exc()
+
+ ## No need to flush ALL the time
+ if running:
+ time.sleep(SQL_FLUSH)
+
+db.close()
+stdout("Logmaster finished.")
+
diff --git a/maps/re/000-0-0.mcache b/maps/re/000-0-0.mcache
new file mode 100644
index 0000000..ad91f87
--- /dev/null
+++ b/maps/re/000-0-0.mcache
Binary files differ
diff --git a/maps/re/000-0-1.mcache b/maps/re/000-0-1.mcache
new file mode 100644
index 0000000..f3a038b
--- /dev/null
+++ b/maps/re/000-0-1.mcache
Binary files differ
diff --git a/maps/re/000-0.mcache b/maps/re/000-0.mcache
new file mode 100644
index 0000000..7632bac
--- /dev/null
+++ b/maps/re/000-0.mcache
Binary files differ
diff --git a/maps/re/000-1.mcache b/maps/re/000-1.mcache
new file mode 100644
index 0000000..cbf96b6
--- /dev/null
+++ b/maps/re/000-1.mcache
Binary files differ
diff --git a/maps/re/001-1.mcache b/maps/re/001-1.mcache
new file mode 100644
index 0000000..e8a508b
--- /dev/null
+++ b/maps/re/001-1.mcache
Binary files differ
diff --git a/maps/re/001-10-1.mcache b/maps/re/001-10-1.mcache
new file mode 100644
index 0000000..28664b3
--- /dev/null
+++ b/maps/re/001-10-1.mcache
Binary files differ
diff --git a/maps/re/001-10.mcache b/maps/re/001-10.mcache
new file mode 100644
index 0000000..4afaefc
--- /dev/null
+++ b/maps/re/001-10.mcache
Binary files differ
diff --git a/maps/re/001-11.mcache b/maps/re/001-11.mcache
new file mode 100644
index 0000000..0041abc
--- /dev/null
+++ b/maps/re/001-11.mcache
Binary files differ
diff --git a/maps/re/001-12.mcache b/maps/re/001-12.mcache
new file mode 100644
index 0000000..0ae760c
--- /dev/null
+++ b/maps/re/001-12.mcache
Binary files differ
diff --git a/maps/re/001-13-0.mcache b/maps/re/001-13-0.mcache
new file mode 100644
index 0000000..343490f
--- /dev/null
+++ b/maps/re/001-13-0.mcache
Binary files differ
diff --git a/maps/re/001-13-1.mcache b/maps/re/001-13-1.mcache
new file mode 100644
index 0000000..24c07f8
--- /dev/null
+++ b/maps/re/001-13-1.mcache
Binary files differ
diff --git a/maps/re/001-13-2.mcache b/maps/re/001-13-2.mcache
new file mode 100644
index 0000000..343490f
--- /dev/null
+++ b/maps/re/001-13-2.mcache
Binary files differ
diff --git a/maps/re/001-13.mcache b/maps/re/001-13.mcache
new file mode 100644
index 0000000..24c07f8
--- /dev/null
+++ b/maps/re/001-13.mcache
Binary files differ
diff --git a/maps/re/001-14.mcache b/maps/re/001-14.mcache
new file mode 100644
index 0000000..64f2ebc
--- /dev/null
+++ b/maps/re/001-14.mcache
Binary files differ
diff --git a/maps/re/001-2.mcache b/maps/re/001-2.mcache
new file mode 100644
index 0000000..afe0abf
--- /dev/null
+++ b/maps/re/001-2.mcache
Binary files differ
diff --git a/maps/re/001-3-1.mcache b/maps/re/001-3-1.mcache
new file mode 100644
index 0000000..0ac55e4
--- /dev/null
+++ b/maps/re/001-3-1.mcache
Binary files differ
diff --git a/maps/re/001-3.mcache b/maps/re/001-3.mcache
new file mode 100644
index 0000000..946bbf0
--- /dev/null
+++ b/maps/re/001-3.mcache
Binary files differ
diff --git a/maps/re/001-4.mcache b/maps/re/001-4.mcache
new file mode 100644
index 0000000..8a0994b
--- /dev/null
+++ b/maps/re/001-4.mcache
Binary files differ
diff --git a/maps/re/001-5.mcache b/maps/re/001-5.mcache
new file mode 100644
index 0000000..cc75d52
--- /dev/null
+++ b/maps/re/001-5.mcache
Binary files differ
diff --git a/maps/re/001-6.mcache b/maps/re/001-6.mcache
new file mode 100644
index 0000000..8189bce
--- /dev/null
+++ b/maps/re/001-6.mcache
Binary files differ
diff --git a/maps/re/001-7.mcache b/maps/re/001-7.mcache
new file mode 100644
index 0000000..cc91797
--- /dev/null
+++ b/maps/re/001-7.mcache
Binary files differ
diff --git a/maps/re/001-8.mcache b/maps/re/001-8.mcache
new file mode 100644
index 0000000..55a3bc7
--- /dev/null
+++ b/maps/re/001-8.mcache
Binary files differ
diff --git a/maps/re/001-9.mcache b/maps/re/001-9.mcache
new file mode 100644
index 0000000..f911e84
--- /dev/null
+++ b/maps/re/001-9.mcache
Binary files differ
diff --git a/maps/re/002-1.mcache b/maps/re/002-1.mcache
new file mode 100644
index 0000000..6bc48c8
--- /dev/null
+++ b/maps/re/002-1.mcache
Binary files differ
diff --git a/maps/re/002-2.mcache b/maps/re/002-2.mcache
new file mode 100644
index 0000000..2ad8471
--- /dev/null
+++ b/maps/re/002-2.mcache
Binary files differ
diff --git a/maps/re/002-3.mcache b/maps/re/002-3.mcache
new file mode 100644
index 0000000..82d296d
--- /dev/null
+++ b/maps/re/002-3.mcache
Binary files differ
diff --git a/maps/re/002-4.mcache b/maps/re/002-4.mcache
new file mode 100644
index 0000000..fc96a0d
--- /dev/null
+++ b/maps/re/002-4.mcache
Binary files differ
diff --git a/maps/re/002-5.mcache b/maps/re/002-5.mcache
new file mode 100644
index 0000000..b6d0ae2
--- /dev/null
+++ b/maps/re/002-5.mcache
Binary files differ
diff --git a/maps/re/003-0-1.mcache b/maps/re/003-0-1.mcache
new file mode 100644
index 0000000..c76805e
--- /dev/null
+++ b/maps/re/003-0-1.mcache
Binary files differ
diff --git a/maps/re/003-0-2.mcache b/maps/re/003-0-2.mcache
new file mode 100644
index 0000000..4ad6d60
--- /dev/null
+++ b/maps/re/003-0-2.mcache
Binary files differ
diff --git a/maps/re/003-0.mcache b/maps/re/003-0.mcache
new file mode 100644
index 0000000..74e42bd
--- /dev/null
+++ b/maps/re/003-0.mcache
Binary files differ
diff --git a/maps/re/003-1-1.mcache b/maps/re/003-1-1.mcache
new file mode 100644
index 0000000..86b7d66
--- /dev/null
+++ b/maps/re/003-1-1.mcache
Binary files differ
diff --git a/maps/re/003-1-2.mcache b/maps/re/003-1-2.mcache
new file mode 100644
index 0000000..9513d47
--- /dev/null
+++ b/maps/re/003-1-2.mcache
Binary files differ
diff --git a/maps/re/003-1-3.mcache b/maps/re/003-1-3.mcache
new file mode 100644
index 0000000..d077610
--- /dev/null
+++ b/maps/re/003-1-3.mcache
Binary files differ
diff --git a/maps/re/003-1.mcache b/maps/re/003-1.mcache
new file mode 100644
index 0000000..7535303
--- /dev/null
+++ b/maps/re/003-1.mcache
Binary files differ
diff --git a/maps/re/003-10.mcache b/maps/re/003-10.mcache
new file mode 100644
index 0000000..3e9d065
--- /dev/null
+++ b/maps/re/003-10.mcache
Binary files differ
diff --git a/maps/re/003-13.mcache b/maps/re/003-13.mcache
new file mode 100644
index 0000000..0a93def
--- /dev/null
+++ b/maps/re/003-13.mcache
Binary files differ
diff --git a/maps/re/003-2-1.mcache b/maps/re/003-2-1.mcache
new file mode 100644
index 0000000..f7deec5
--- /dev/null
+++ b/maps/re/003-2-1.mcache
Binary files differ
diff --git a/maps/re/003-2.mcache b/maps/re/003-2.mcache
new file mode 100644
index 0000000..1378af6
--- /dev/null
+++ b/maps/re/003-2.mcache
Binary files differ
diff --git a/maps/re/003-3.mcache b/maps/re/003-3.mcache
new file mode 100644
index 0000000..73aae46
--- /dev/null
+++ b/maps/re/003-3.mcache
Binary files differ
diff --git a/maps/re/003-4-1.mcache b/maps/re/003-4-1.mcache
new file mode 100644
index 0000000..06d3b09
--- /dev/null
+++ b/maps/re/003-4-1.mcache
Binary files differ
diff --git a/maps/re/003-4.mcache b/maps/re/003-4.mcache
new file mode 100644
index 0000000..fb9a8ce
--- /dev/null
+++ b/maps/re/003-4.mcache
Binary files differ
diff --git a/maps/re/003-5.mcache b/maps/re/003-5.mcache
new file mode 100644
index 0000000..4b53bd4
--- /dev/null
+++ b/maps/re/003-5.mcache
Binary files differ
diff --git a/maps/re/003-6.mcache b/maps/re/003-6.mcache
new file mode 100644
index 0000000..fca97e4
--- /dev/null
+++ b/maps/re/003-6.mcache
Binary files differ
diff --git a/maps/re/003-7.mcache b/maps/re/003-7.mcache
new file mode 100644
index 0000000..6a5999f
--- /dev/null
+++ b/maps/re/003-7.mcache
Binary files differ
diff --git a/maps/re/003-8.mcache b/maps/re/003-8.mcache
new file mode 100644
index 0000000..c537044
--- /dev/null
+++ b/maps/re/003-8.mcache
Binary files differ
diff --git a/maps/re/003-9-1.mcache b/maps/re/003-9-1.mcache
new file mode 100644
index 0000000..0848c07
--- /dev/null
+++ b/maps/re/003-9-1.mcache
Binary files differ
diff --git a/maps/re/003-9.mcache b/maps/re/003-9.mcache
new file mode 100644
index 0000000..9f9dd37
--- /dev/null
+++ b/maps/re/003-9.mcache
Binary files differ
diff --git a/maps/re/004-1.mcache b/maps/re/004-1.mcache
new file mode 100644
index 0000000..2a3f534
--- /dev/null
+++ b/maps/re/004-1.mcache
Binary files differ
diff --git a/maps/re/004-2-1.mcache b/maps/re/004-2-1.mcache
new file mode 100644
index 0000000..fe59c51
--- /dev/null
+++ b/maps/re/004-2-1.mcache
Binary files differ
diff --git a/maps/re/004-2-10.mcache b/maps/re/004-2-10.mcache
new file mode 100644
index 0000000..0912116
--- /dev/null
+++ b/maps/re/004-2-10.mcache
Binary files differ
diff --git a/maps/re/004-2-11.mcache b/maps/re/004-2-11.mcache
new file mode 100644
index 0000000..aff7f47
--- /dev/null
+++ b/maps/re/004-2-11.mcache
Binary files differ
diff --git a/maps/re/004-2-12.mcache b/maps/re/004-2-12.mcache
new file mode 100644
index 0000000..fce68fd
--- /dev/null
+++ b/maps/re/004-2-12.mcache
Binary files differ
diff --git a/maps/re/004-2-2.mcache b/maps/re/004-2-2.mcache
new file mode 100644
index 0000000..ccd72c1
--- /dev/null
+++ b/maps/re/004-2-2.mcache
Binary files differ
diff --git a/maps/re/004-2-3.mcache b/maps/re/004-2-3.mcache
new file mode 100644
index 0000000..94f99aa
--- /dev/null
+++ b/maps/re/004-2-3.mcache
Binary files differ
diff --git a/maps/re/004-2-4.mcache b/maps/re/004-2-4.mcache
new file mode 100644
index 0000000..de6ffc1
--- /dev/null
+++ b/maps/re/004-2-4.mcache
Binary files differ
diff --git a/maps/re/004-2-5.mcache b/maps/re/004-2-5.mcache
new file mode 100644
index 0000000..9490a1a
--- /dev/null
+++ b/maps/re/004-2-5.mcache
Binary files differ
diff --git a/maps/re/004-2-6.mcache b/maps/re/004-2-6.mcache
new file mode 100644
index 0000000..80ce148
--- /dev/null
+++ b/maps/re/004-2-6.mcache
Binary files differ
diff --git a/maps/re/004-2-7.mcache b/maps/re/004-2-7.mcache
new file mode 100644
index 0000000..bd54d9c
--- /dev/null
+++ b/maps/re/004-2-7.mcache
Binary files differ
diff --git a/maps/re/004-2-8.mcache b/maps/re/004-2-8.mcache
new file mode 100644
index 0000000..748c459
--- /dev/null
+++ b/maps/re/004-2-8.mcache
Binary files differ
diff --git a/maps/re/004-2-9.mcache b/maps/re/004-2-9.mcache
new file mode 100644
index 0000000..fe91743
--- /dev/null
+++ b/maps/re/004-2-9.mcache
Binary files differ
diff --git a/maps/re/004-2.mcache b/maps/re/004-2.mcache
new file mode 100644
index 0000000..9814929
--- /dev/null
+++ b/maps/re/004-2.mcache
Binary files differ
diff --git a/maps/re/004-3-1.mcache b/maps/re/004-3-1.mcache
new file mode 100644
index 0000000..3dc5b8d
--- /dev/null
+++ b/maps/re/004-3-1.mcache
Binary files differ
diff --git a/maps/re/004-3-2.mcache b/maps/re/004-3-2.mcache
new file mode 100644
index 0000000..8bb6065
--- /dev/null
+++ b/maps/re/004-3-2.mcache
Binary files differ
diff --git a/maps/re/004-3-3.mcache b/maps/re/004-3-3.mcache
new file mode 100644
index 0000000..52f904f
--- /dev/null
+++ b/maps/re/004-3-3.mcache
Binary files differ
diff --git a/maps/re/004-3-4.mcache b/maps/re/004-3-4.mcache
new file mode 100644
index 0000000..a5b7fed
--- /dev/null
+++ b/maps/re/004-3-4.mcache
Binary files differ
diff --git a/maps/re/004-3-5.mcache b/maps/re/004-3-5.mcache
new file mode 100644
index 0000000..49a8e77
--- /dev/null
+++ b/maps/re/004-3-5.mcache
Binary files differ
diff --git a/maps/re/004-3-6.mcache b/maps/re/004-3-6.mcache
new file mode 100644
index 0000000..1ab8e51
--- /dev/null
+++ b/maps/re/004-3-6.mcache
Binary files differ
diff --git a/maps/re/004-3.mcache b/maps/re/004-3.mcache
new file mode 100644
index 0000000..ad4bd5b
--- /dev/null
+++ b/maps/re/004-3.mcache
Binary files differ
diff --git a/maps/re/005-1-1.mcache b/maps/re/005-1-1.mcache
new file mode 100644
index 0000000..d0cb39f
--- /dev/null
+++ b/maps/re/005-1-1.mcache
Binary files differ
diff --git a/maps/re/005-1.mcache b/maps/re/005-1.mcache
new file mode 100644
index 0000000..37b110b
--- /dev/null
+++ b/maps/re/005-1.mcache
Binary files differ
diff --git a/maps/re/005-2-1.mcache b/maps/re/005-2-1.mcache
new file mode 100644
index 0000000..56744e7
--- /dev/null
+++ b/maps/re/005-2-1.mcache
Binary files differ
diff --git a/maps/re/005-2.mcache b/maps/re/005-2.mcache
new file mode 100644
index 0000000..7650f52
--- /dev/null
+++ b/maps/re/005-2.mcache
Binary files differ
diff --git a/maps/re/005-3.mcache b/maps/re/005-3.mcache
new file mode 100644
index 0000000..84ff456
--- /dev/null
+++ b/maps/re/005-3.mcache
Binary files differ
diff --git a/maps/re/005-4.mcache b/maps/re/005-4.mcache
new file mode 100644
index 0000000..9f609f0
--- /dev/null
+++ b/maps/re/005-4.mcache
Binary files differ
diff --git a/maps/re/005-5.mcache b/maps/re/005-5.mcache
new file mode 100644
index 0000000..b320621
--- /dev/null
+++ b/maps/re/005-5.mcache
Binary files differ
diff --git a/maps/re/005-6.mcache b/maps/re/005-6.mcache
new file mode 100644
index 0000000..3e6ea93
--- /dev/null
+++ b/maps/re/005-6.mcache
Binary files differ
diff --git a/maps/re/005-7.mcache b/maps/re/005-7.mcache
new file mode 100644
index 0000000..8ac1096
--- /dev/null
+++ b/maps/re/005-7.mcache
Binary files differ
diff --git a/maps/re/006-0.mcache b/maps/re/006-0.mcache
new file mode 100644
index 0000000..ce04a29
--- /dev/null
+++ b/maps/re/006-0.mcache
Binary files differ
diff --git a/maps/re/006-1.mcache b/maps/re/006-1.mcache
new file mode 100644
index 0000000..c4a463b
--- /dev/null
+++ b/maps/re/006-1.mcache
Binary files differ
diff --git a/maps/re/006-10.mcache b/maps/re/006-10.mcache
new file mode 100644
index 0000000..86deb1c
--- /dev/null
+++ b/maps/re/006-10.mcache
Binary files differ
diff --git a/maps/re/006-2-1.mcache b/maps/re/006-2-1.mcache
new file mode 100644
index 0000000..7d07f7b
--- /dev/null
+++ b/maps/re/006-2-1.mcache
Binary files differ
diff --git a/maps/re/006-2-2.mcache b/maps/re/006-2-2.mcache
new file mode 100644
index 0000000..654dffe
--- /dev/null
+++ b/maps/re/006-2-2.mcache
Binary files differ
diff --git a/maps/re/006-2-3.mcache b/maps/re/006-2-3.mcache
new file mode 100644
index 0000000..4e06a70
--- /dev/null
+++ b/maps/re/006-2-3.mcache
Binary files differ
diff --git a/maps/re/006-2-4.mcache b/maps/re/006-2-4.mcache
new file mode 100644
index 0000000..c22b215
--- /dev/null
+++ b/maps/re/006-2-4.mcache
Binary files differ
diff --git a/maps/re/006-2-5.mcache b/maps/re/006-2-5.mcache
new file mode 100644
index 0000000..743381a
--- /dev/null
+++ b/maps/re/006-2-5.mcache
Binary files differ
diff --git a/maps/re/006-2-6.mcache b/maps/re/006-2-6.mcache
new file mode 100644
index 0000000..61c2a73
--- /dev/null
+++ b/maps/re/006-2-6.mcache
Binary files differ
diff --git a/maps/re/006-2.mcache b/maps/re/006-2.mcache
new file mode 100644
index 0000000..512cea7
--- /dev/null
+++ b/maps/re/006-2.mcache
Binary files differ
diff --git a/maps/re/006-3.mcache b/maps/re/006-3.mcache
new file mode 100644
index 0000000..3dbbb80
--- /dev/null
+++ b/maps/re/006-3.mcache
Binary files differ
diff --git a/maps/re/006-4-1.mcache b/maps/re/006-4-1.mcache
new file mode 100644
index 0000000..4c60fb9
--- /dev/null
+++ b/maps/re/006-4-1.mcache
Binary files differ
diff --git a/maps/re/006-4.mcache b/maps/re/006-4.mcache
new file mode 100644
index 0000000..4fa6e86
--- /dev/null
+++ b/maps/re/006-4.mcache
Binary files differ
diff --git a/maps/re/006-5.mcache b/maps/re/006-5.mcache
new file mode 100644
index 0000000..6d09e2b
--- /dev/null
+++ b/maps/re/006-5.mcache
Binary files differ
diff --git a/maps/re/006-6.mcache b/maps/re/006-6.mcache
new file mode 100644
index 0000000..a205e64
--- /dev/null
+++ b/maps/re/006-6.mcache
Binary files differ
diff --git a/maps/re/006-7.mcache b/maps/re/006-7.mcache
new file mode 100644
index 0000000..8250d27
--- /dev/null
+++ b/maps/re/006-7.mcache
Binary files differ
diff --git a/maps/re/006-8.mcache b/maps/re/006-8.mcache
new file mode 100644
index 0000000..8299d2a
--- /dev/null
+++ b/maps/re/006-8.mcache
Binary files differ
diff --git a/maps/re/006-9.mcache b/maps/re/006-9.mcache
new file mode 100644
index 0000000..a7d4ec9
--- /dev/null
+++ b/maps/re/006-9.mcache
Binary files differ
diff --git a/maps/re/007-1-1.mcache b/maps/re/007-1-1.mcache
new file mode 100644
index 0000000..5e1698a
--- /dev/null
+++ b/maps/re/007-1-1.mcache
Binary files differ
diff --git a/maps/re/007-1-2.mcache b/maps/re/007-1-2.mcache
new file mode 100644
index 0000000..fb7a104
--- /dev/null
+++ b/maps/re/007-1-2.mcache
Binary files differ
diff --git a/maps/re/007-1.mcache b/maps/re/007-1.mcache
new file mode 100644
index 0000000..ba38a8a
--- /dev/null
+++ b/maps/re/007-1.mcache
Binary files differ
diff --git a/maps/re/007-2.mcache b/maps/re/007-2.mcache
new file mode 100644
index 0000000..bcb09ae
--- /dev/null
+++ b/maps/re/007-2.mcache
Binary files differ
diff --git a/maps/re/008-0.mcache b/maps/re/008-0.mcache
new file mode 100644
index 0000000..5c6c915
--- /dev/null
+++ b/maps/re/008-0.mcache
Binary files differ
diff --git a/maps/re/008-1.mcache b/maps/re/008-1.mcache
new file mode 100644
index 0000000..c3e87da
--- /dev/null
+++ b/maps/re/008-1.mcache
Binary files differ
diff --git a/maps/re/008-2.mcache b/maps/re/008-2.mcache
new file mode 100644
index 0000000..e0c879c
--- /dev/null
+++ b/maps/re/008-2.mcache
Binary files differ
diff --git a/maps/re/009-1.mcache b/maps/re/009-1.mcache
new file mode 100644
index 0000000..4bf5221
--- /dev/null
+++ b/maps/re/009-1.mcache
Binary files differ
diff --git a/maps/re/009-2.mcache b/maps/re/009-2.mcache
new file mode 100644
index 0000000..3b5f0bb
--- /dev/null
+++ b/maps/re/009-2.mcache
Binary files differ
diff --git a/maps/re/009-3.mcache b/maps/re/009-3.mcache
new file mode 100644
index 0000000..0e6c88a
--- /dev/null
+++ b/maps/re/009-3.mcache
Binary files differ
diff --git a/maps/re/009-4.mcache b/maps/re/009-4.mcache
new file mode 100644
index 0000000..f06a1a9
--- /dev/null
+++ b/maps/re/009-4.mcache
Binary files differ
diff --git a/maps/re/009-5.mcache b/maps/re/009-5.mcache
new file mode 100644
index 0000000..d492dc7
--- /dev/null
+++ b/maps/re/009-5.mcache
Binary files differ
diff --git a/maps/re/009-6.mcache b/maps/re/009-6.mcache
new file mode 100644
index 0000000..2cae43c
--- /dev/null
+++ b/maps/re/009-6.mcache
Binary files differ
diff --git a/maps/re/009-7.mcache b/maps/re/009-7.mcache
new file mode 100644
index 0000000..2cae43c
--- /dev/null
+++ b/maps/re/009-7.mcache
Binary files differ
diff --git a/maps/re/010-1-1.mcache b/maps/re/010-1-1.mcache
new file mode 100644
index 0000000..7dca28b
--- /dev/null
+++ b/maps/re/010-1-1.mcache
Binary files differ
diff --git a/maps/re/010-1-10.mcache b/maps/re/010-1-10.mcache
new file mode 100644
index 0000000..b4e57d7
--- /dev/null
+++ b/maps/re/010-1-10.mcache
Binary files differ
diff --git a/maps/re/010-1-11.mcache b/maps/re/010-1-11.mcache
new file mode 100644
index 0000000..31586d2
--- /dev/null
+++ b/maps/re/010-1-11.mcache
Binary files differ
diff --git a/maps/re/010-1-12.mcache b/maps/re/010-1-12.mcache
new file mode 100644
index 0000000..07724b4
--- /dev/null
+++ b/maps/re/010-1-12.mcache
Binary files differ
diff --git a/maps/re/010-1-2.mcache b/maps/re/010-1-2.mcache
new file mode 100644
index 0000000..8aa03e1
--- /dev/null
+++ b/maps/re/010-1-2.mcache
Binary files differ
diff --git a/maps/re/010-1-3.mcache b/maps/re/010-1-3.mcache
new file mode 100644
index 0000000..921063a
--- /dev/null
+++ b/maps/re/010-1-3.mcache
Binary files differ
diff --git a/maps/re/010-1-4.mcache b/maps/re/010-1-4.mcache
new file mode 100644
index 0000000..ccd33c0
--- /dev/null
+++ b/maps/re/010-1-4.mcache
Binary files differ
diff --git a/maps/re/010-1-5.mcache b/maps/re/010-1-5.mcache
new file mode 100644
index 0000000..f64ed80
--- /dev/null
+++ b/maps/re/010-1-5.mcache
Binary files differ
diff --git a/maps/re/010-1-6.mcache b/maps/re/010-1-6.mcache
new file mode 100644
index 0000000..5bd9a2d
--- /dev/null
+++ b/maps/re/010-1-6.mcache
Binary files differ
diff --git a/maps/re/010-1-7.mcache b/maps/re/010-1-7.mcache
new file mode 100644
index 0000000..4fddbf4
--- /dev/null
+++ b/maps/re/010-1-7.mcache
Binary files differ
diff --git a/maps/re/010-1-8.mcache b/maps/re/010-1-8.mcache
new file mode 100644
index 0000000..e6dcc49
--- /dev/null
+++ b/maps/re/010-1-8.mcache
Binary files differ
diff --git a/maps/re/010-1-9.mcache b/maps/re/010-1-9.mcache
new file mode 100644
index 0000000..f06200c
--- /dev/null
+++ b/maps/re/010-1-9.mcache
Binary files differ
diff --git a/maps/re/010-1.mcache b/maps/re/010-1.mcache
new file mode 100644
index 0000000..d7f63d0
--- /dev/null
+++ b/maps/re/010-1.mcache
Binary files differ
diff --git a/maps/re/010-2-10.mcache b/maps/re/010-2-10.mcache
new file mode 100644
index 0000000..cf8fff4
--- /dev/null
+++ b/maps/re/010-2-10.mcache
Binary files differ
diff --git a/maps/re/010-2-11.mcache b/maps/re/010-2-11.mcache
new file mode 100644
index 0000000..512e984
--- /dev/null
+++ b/maps/re/010-2-11.mcache
Binary files differ
diff --git a/maps/re/010-2-12.mcache b/maps/re/010-2-12.mcache
new file mode 100644
index 0000000..e8cfadf
--- /dev/null
+++ b/maps/re/010-2-12.mcache
Binary files differ
diff --git a/maps/re/010-2-13.mcache b/maps/re/010-2-13.mcache
new file mode 100644
index 0000000..852da02
--- /dev/null
+++ b/maps/re/010-2-13.mcache
Binary files differ
diff --git a/maps/re/010-2-14.mcache b/maps/re/010-2-14.mcache
new file mode 100644
index 0000000..f4dffc9
--- /dev/null
+++ b/maps/re/010-2-14.mcache
Binary files differ
diff --git a/maps/re/010-2-15.mcache b/maps/re/010-2-15.mcache
new file mode 100644
index 0000000..be3efcd
--- /dev/null
+++ b/maps/re/010-2-15.mcache
Binary files differ
diff --git a/maps/re/010-2-16.mcache b/maps/re/010-2-16.mcache
new file mode 100644
index 0000000..44786f8
--- /dev/null
+++ b/maps/re/010-2-16.mcache
Binary files differ
diff --git a/maps/re/010-2-2.mcache b/maps/re/010-2-2.mcache
new file mode 100644
index 0000000..2f288e6
--- /dev/null
+++ b/maps/re/010-2-2.mcache
Binary files differ
diff --git a/maps/re/010-2-3.mcache b/maps/re/010-2-3.mcache
new file mode 100644
index 0000000..80bae1e
--- /dev/null
+++ b/maps/re/010-2-3.mcache
Binary files differ
diff --git a/maps/re/010-2-4.mcache b/maps/re/010-2-4.mcache
new file mode 100644
index 0000000..3eb21e6
--- /dev/null
+++ b/maps/re/010-2-4.mcache
Binary files differ
diff --git a/maps/re/010-2-5.mcache b/maps/re/010-2-5.mcache
new file mode 100644
index 0000000..b32969a
--- /dev/null
+++ b/maps/re/010-2-5.mcache
Binary files differ
diff --git a/maps/re/010-2-6.mcache b/maps/re/010-2-6.mcache
new file mode 100644
index 0000000..d881681
--- /dev/null
+++ b/maps/re/010-2-6.mcache
Binary files differ
diff --git a/maps/re/010-2-7.mcache b/maps/re/010-2-7.mcache
new file mode 100644
index 0000000..ef0c29b
--- /dev/null
+++ b/maps/re/010-2-7.mcache
Binary files differ
diff --git a/maps/re/010-2-8.mcache b/maps/re/010-2-8.mcache
new file mode 100644
index 0000000..68cb5cc
--- /dev/null
+++ b/maps/re/010-2-8.mcache
Binary files differ
diff --git a/maps/re/010-2-9.mcache b/maps/re/010-2-9.mcache
new file mode 100644
index 0000000..64c0a5c
--- /dev/null
+++ b/maps/re/010-2-9.mcache
Binary files differ
diff --git a/maps/re/010-2.mcache b/maps/re/010-2.mcache
new file mode 100644
index 0000000..00ddf6f
--- /dev/null
+++ b/maps/re/010-2.mcache
Binary files differ
diff --git a/maps/re/010-3.mcache b/maps/re/010-3.mcache
new file mode 100644
index 0000000..9088c72
--- /dev/null
+++ b/maps/re/010-3.mcache
Binary files differ
diff --git a/maps/re/010-4-1.mcache b/maps/re/010-4-1.mcache
new file mode 100644
index 0000000..9f9093c
--- /dev/null
+++ b/maps/re/010-4-1.mcache
Binary files differ
diff --git a/maps/re/010-4-2.mcache b/maps/re/010-4-2.mcache
new file mode 100644
index 0000000..141f08c
--- /dev/null
+++ b/maps/re/010-4-2.mcache
Binary files differ
diff --git a/maps/re/011-1.mcache b/maps/re/011-1.mcache
new file mode 100644
index 0000000..6e5ed35
--- /dev/null
+++ b/maps/re/011-1.mcache
Binary files differ
diff --git a/maps/re/011-2.mcache b/maps/re/011-2.mcache
new file mode 100644
index 0000000..1b04c8e
--- /dev/null
+++ b/maps/re/011-2.mcache
Binary files differ
diff --git a/maps/re/011-3.mcache b/maps/re/011-3.mcache
new file mode 100644
index 0000000..91b7177
--- /dev/null
+++ b/maps/re/011-3.mcache
Binary files differ
diff --git a/maps/re/012-1.mcache b/maps/re/012-1.mcache
new file mode 100644
index 0000000..aa2f66a
--- /dev/null
+++ b/maps/re/012-1.mcache
Binary files differ
diff --git a/maps/re/012-2.mcache b/maps/re/012-2.mcache
new file mode 100644
index 0000000..abf7306
--- /dev/null
+++ b/maps/re/012-2.mcache
Binary files differ
diff --git a/maps/re/012-3.mcache b/maps/re/012-3.mcache
new file mode 100644
index 0000000..4c8c44a
--- /dev/null
+++ b/maps/re/012-3.mcache
Binary files differ
diff --git a/maps/re/012-4.mcache b/maps/re/012-4.mcache
new file mode 100644
index 0000000..400529d1
--- /dev/null
+++ b/maps/re/012-4.mcache
Binary files differ
diff --git a/maps/re/012-5.mcache b/maps/re/012-5.mcache
new file mode 100644
index 0000000..40b7c66
--- /dev/null
+++ b/maps/re/012-5.mcache
Binary files differ
diff --git a/maps/re/012-6.mcache b/maps/re/012-6.mcache
new file mode 100644
index 0000000..99416f9
--- /dev/null
+++ b/maps/re/012-6.mcache
Binary files differ
diff --git a/maps/re/012-7.mcache b/maps/re/012-7.mcache
new file mode 100644
index 0000000..7f6efc8
--- /dev/null
+++ b/maps/re/012-7.mcache
Binary files differ
diff --git a/maps/re/012-8.mcache b/maps/re/012-8.mcache
new file mode 100644
index 0000000..2cae43c
--- /dev/null
+++ b/maps/re/012-8.mcache
Binary files differ
diff --git a/maps/re/013-1.mcache b/maps/re/013-1.mcache
new file mode 100644
index 0000000..d0bfa1d
--- /dev/null
+++ b/maps/re/013-1.mcache
Binary files differ
diff --git a/maps/re/014-1.mcache b/maps/re/014-1.mcache
new file mode 100644
index 0000000..fccf8bd
--- /dev/null
+++ b/maps/re/014-1.mcache
Binary files differ
diff --git a/maps/re/014-2-1.mcache b/maps/re/014-2-1.mcache
new file mode 100644
index 0000000..a832650
--- /dev/null
+++ b/maps/re/014-2-1.mcache
Binary files differ
diff --git a/maps/re/014-2-2.mcache b/maps/re/014-2-2.mcache
new file mode 100644
index 0000000..556275b
--- /dev/null
+++ b/maps/re/014-2-2.mcache
Binary files differ
diff --git a/maps/re/014-2.mcache b/maps/re/014-2.mcache
new file mode 100644
index 0000000..fa7fd60
--- /dev/null
+++ b/maps/re/014-2.mcache
Binary files differ
diff --git a/maps/re/014-3.mcache b/maps/re/014-3.mcache
new file mode 100644
index 0000000..c941491
--- /dev/null
+++ b/maps/re/014-3.mcache
Binary files differ
diff --git a/maps/re/014-4.mcache b/maps/re/014-4.mcache
new file mode 100644
index 0000000..ae4e65b
--- /dev/null
+++ b/maps/re/014-4.mcache
Binary files differ
diff --git a/maps/re/014-5-1.mcache b/maps/re/014-5-1.mcache
new file mode 100644
index 0000000..3fe4db5
--- /dev/null
+++ b/maps/re/014-5-1.mcache
Binary files differ
diff --git a/maps/re/014-5.mcache b/maps/re/014-5.mcache
new file mode 100644
index 0000000..5404770
--- /dev/null
+++ b/maps/re/014-5.mcache
Binary files differ
diff --git a/maps/re/015-1.mcache b/maps/re/015-1.mcache
new file mode 100644
index 0000000..62a2d72
--- /dev/null
+++ b/maps/re/015-1.mcache
Binary files differ
diff --git a/maps/re/015-2.mcache b/maps/re/015-2.mcache
new file mode 100644
index 0000000..152d254
--- /dev/null
+++ b/maps/re/015-2.mcache
Binary files differ
diff --git a/maps/re/015-3-1.mcache b/maps/re/015-3-1.mcache
new file mode 100644
index 0000000..e895357
--- /dev/null
+++ b/maps/re/015-3-1.mcache
Binary files differ
diff --git a/maps/re/015-3-2.mcache b/maps/re/015-3-2.mcache
new file mode 100644
index 0000000..303c2d9
--- /dev/null
+++ b/maps/re/015-3-2.mcache
Binary files differ
diff --git a/maps/re/015-3-3.mcache b/maps/re/015-3-3.mcache
new file mode 100644
index 0000000..5749c29
--- /dev/null
+++ b/maps/re/015-3-3.mcache
Binary files differ
diff --git a/maps/re/015-3.mcache b/maps/re/015-3.mcache
new file mode 100644
index 0000000..4965044
--- /dev/null
+++ b/maps/re/015-3.mcache
Binary files differ
diff --git a/maps/re/015-4.mcache b/maps/re/015-4.mcache
new file mode 100644
index 0000000..17871a3
--- /dev/null
+++ b/maps/re/015-4.mcache
Binary files differ
diff --git a/maps/re/015-5.mcache b/maps/re/015-5.mcache
new file mode 100644
index 0000000..f21cecc
--- /dev/null
+++ b/maps/re/015-5.mcache
Binary files differ
diff --git a/maps/re/015-6.mcache b/maps/re/015-6.mcache
new file mode 100644
index 0000000..0c67558
--- /dev/null
+++ b/maps/re/015-6.mcache
Binary files differ
diff --git a/maps/re/015-7.mcache b/maps/re/015-7.mcache
new file mode 100644
index 0000000..e0c837a
--- /dev/null
+++ b/maps/re/015-7.mcache
Binary files differ
diff --git a/maps/re/015-8-1.mcache b/maps/re/015-8-1.mcache
new file mode 100644
index 0000000..0258d79
--- /dev/null
+++ b/maps/re/015-8-1.mcache
Binary files differ
diff --git a/maps/re/015-8.mcache b/maps/re/015-8.mcache
new file mode 100644
index 0000000..e4cce21
--- /dev/null
+++ b/maps/re/015-8.mcache
Binary files differ
diff --git a/maps/re/016-1.mcache b/maps/re/016-1.mcache
new file mode 100644
index 0000000..304feb9
--- /dev/null
+++ b/maps/re/016-1.mcache
Binary files differ
diff --git a/maps/re/016-6.mcache b/maps/re/016-6.mcache
new file mode 100644
index 0000000..b4eafa4
--- /dev/null
+++ b/maps/re/016-6.mcache
Binary files differ
diff --git a/maps/re/016-7.mcache b/maps/re/016-7.mcache
new file mode 100644
index 0000000..0e76cd1
--- /dev/null
+++ b/maps/re/016-7.mcache
Binary files differ
diff --git a/maps/re/017-0.mcache b/maps/re/017-0.mcache
new file mode 100644
index 0000000..089e2fb
--- /dev/null
+++ b/maps/re/017-0.mcache
Binary files differ
diff --git a/maps/re/017-1.mcache b/maps/re/017-1.mcache
new file mode 100644
index 0000000..db14958
--- /dev/null
+++ b/maps/re/017-1.mcache
Binary files differ
diff --git a/maps/re/017-10.mcache b/maps/re/017-10.mcache
new file mode 100644
index 0000000..84c823e
--- /dev/null
+++ b/maps/re/017-10.mcache
Binary files differ
diff --git a/maps/re/017-2-1.mcache b/maps/re/017-2-1.mcache
new file mode 100644
index 0000000..f75ff33
--- /dev/null
+++ b/maps/re/017-2-1.mcache
Binary files differ
diff --git a/maps/re/017-2-2.mcache b/maps/re/017-2-2.mcache
new file mode 100644
index 0000000..27c420c
--- /dev/null
+++ b/maps/re/017-2-2.mcache
Binary files differ
diff --git a/maps/re/017-2.mcache b/maps/re/017-2.mcache
new file mode 100644
index 0000000..fd55573
--- /dev/null
+++ b/maps/re/017-2.mcache
Binary files differ
diff --git a/maps/re/017-3.mcache b/maps/re/017-3.mcache
new file mode 100644
index 0000000..456310e
--- /dev/null
+++ b/maps/re/017-3.mcache
Binary files differ
diff --git a/maps/re/017-4.mcache b/maps/re/017-4.mcache
new file mode 100644
index 0000000..72beea6
--- /dev/null
+++ b/maps/re/017-4.mcache
Binary files differ
diff --git a/maps/re/017-5.mcache b/maps/re/017-5.mcache
new file mode 100644
index 0000000..b57733b
--- /dev/null
+++ b/maps/re/017-5.mcache
Binary files differ
diff --git a/maps/re/017-6.mcache b/maps/re/017-6.mcache
new file mode 100644
index 0000000..4ea1a14
--- /dev/null
+++ b/maps/re/017-6.mcache
Binary files differ
diff --git a/maps/re/017-7.mcache b/maps/re/017-7.mcache
new file mode 100644
index 0000000..2cae43c
--- /dev/null
+++ b/maps/re/017-7.mcache
Binary files differ
diff --git a/maps/re/017-8.mcache b/maps/re/017-8.mcache
new file mode 100644
index 0000000..2cae43c
--- /dev/null
+++ b/maps/re/017-8.mcache
Binary files differ
diff --git a/maps/re/018-1-1.mcache b/maps/re/018-1-1.mcache
new file mode 100644
index 0000000..13d1cd7
--- /dev/null
+++ b/maps/re/018-1-1.mcache
Binary files differ
diff --git a/maps/re/018-1.mcache b/maps/re/018-1.mcache
new file mode 100644
index 0000000..5fd249b
--- /dev/null
+++ b/maps/re/018-1.mcache
Binary files differ
diff --git a/maps/re/018-2-1.mcache b/maps/re/018-2-1.mcache
new file mode 100644
index 0000000..74a22b4
--- /dev/null
+++ b/maps/re/018-2-1.mcache
Binary files differ
diff --git a/maps/re/018-2-2.mcache b/maps/re/018-2-2.mcache
new file mode 100644
index 0000000..0ba5e71
--- /dev/null
+++ b/maps/re/018-2-2.mcache
Binary files differ
diff --git a/maps/re/018-2-3.mcache b/maps/re/018-2-3.mcache
new file mode 100644
index 0000000..0ba5e71
--- /dev/null
+++ b/maps/re/018-2-3.mcache
Binary files differ
diff --git a/maps/re/018-2-4.mcache b/maps/re/018-2-4.mcache
new file mode 100644
index 0000000..ba11231
--- /dev/null
+++ b/maps/re/018-2-4.mcache
Binary files differ
diff --git a/maps/re/018-2-5.mcache b/maps/re/018-2-5.mcache
new file mode 100644
index 0000000..0ba5e71
--- /dev/null
+++ b/maps/re/018-2-5.mcache
Binary files differ
diff --git a/maps/re/018-2-6.mcache b/maps/re/018-2-6.mcache
new file mode 100644
index 0000000..9476bd9
--- /dev/null
+++ b/maps/re/018-2-6.mcache
Binary files differ
diff --git a/maps/re/018-2-7.mcache b/maps/re/018-2-7.mcache
new file mode 100644
index 0000000..3589cec
--- /dev/null
+++ b/maps/re/018-2-7.mcache
Binary files differ
diff --git a/maps/re/018-2-8.mcache b/maps/re/018-2-8.mcache
new file mode 100644
index 0000000..2898237
--- /dev/null
+++ b/maps/re/018-2-8.mcache
Binary files differ
diff --git a/maps/re/018-2.mcache b/maps/re/018-2.mcache
new file mode 100644
index 0000000..38e7a28
--- /dev/null
+++ b/maps/re/018-2.mcache
Binary files differ
diff --git a/maps/re/018-3.mcache b/maps/re/018-3.mcache
new file mode 100644
index 0000000..57b538a
--- /dev/null
+++ b/maps/re/018-3.mcache
Binary files differ
diff --git a/maps/re/018-4-1.mcache b/maps/re/018-4-1.mcache
new file mode 100644
index 0000000..9616044
--- /dev/null
+++ b/maps/re/018-4-1.mcache
Binary files differ
diff --git a/maps/re/018-4-2.mcache b/maps/re/018-4-2.mcache
new file mode 100644
index 0000000..4dfc7d3
--- /dev/null
+++ b/maps/re/018-4-2.mcache
Binary files differ
diff --git a/maps/re/018-4.mcache b/maps/re/018-4.mcache
new file mode 100644
index 0000000..b363d68
--- /dev/null
+++ b/maps/re/018-4.mcache
Binary files differ
diff --git a/maps/re/018-5-0.mcache b/maps/re/018-5-0.mcache
new file mode 100644
index 0000000..6c43408
--- /dev/null
+++ b/maps/re/018-5-0.mcache
Binary files differ
diff --git a/maps/re/018-5-1.mcache b/maps/re/018-5-1.mcache
new file mode 100644
index 0000000..56cab9f
--- /dev/null
+++ b/maps/re/018-5-1.mcache
Binary files differ
diff --git a/maps/re/018-5-2.mcache b/maps/re/018-5-2.mcache
new file mode 100644
index 0000000..aed84bf
--- /dev/null
+++ b/maps/re/018-5-2.mcache
Binary files differ
diff --git a/maps/re/018-5-3.mcache b/maps/re/018-5-3.mcache
new file mode 100644
index 0000000..15187e5
--- /dev/null
+++ b/maps/re/018-5-3.mcache
Binary files differ
diff --git a/maps/re/018-5-4.mcache b/maps/re/018-5-4.mcache
new file mode 100644
index 0000000..01dffb4
--- /dev/null
+++ b/maps/re/018-5-4.mcache
Binary files differ
diff --git a/maps/re/018-5-5.mcache b/maps/re/018-5-5.mcache
new file mode 100644
index 0000000..aaa4498
--- /dev/null
+++ b/maps/re/018-5-5.mcache
Binary files differ
diff --git a/maps/re/018-5-boss.mcache b/maps/re/018-5-boss.mcache
new file mode 100644
index 0000000..2ae0c48
--- /dev/null
+++ b/maps/re/018-5-boss.mcache
Binary files differ
diff --git a/maps/re/018-5.mcache b/maps/re/018-5.mcache
new file mode 100644
index 0000000..89e3339
--- /dev/null
+++ b/maps/re/018-5.mcache
Binary files differ
diff --git a/maps/re/018-6-0.mcache b/maps/re/018-6-0.mcache
new file mode 100644
index 0000000..72c87d4
--- /dev/null
+++ b/maps/re/018-6-0.mcache
Binary files differ
diff --git a/maps/re/018-6-1.mcache b/maps/re/018-6-1.mcache
new file mode 100644
index 0000000..0f208e0
--- /dev/null
+++ b/maps/re/018-6-1.mcache
Binary files differ
diff --git a/maps/re/018-6-2.mcache b/maps/re/018-6-2.mcache
new file mode 100644
index 0000000..f72c6cf
--- /dev/null
+++ b/maps/re/018-6-2.mcache
Binary files differ
diff --git a/maps/re/018-6-3.mcache b/maps/re/018-6-3.mcache
new file mode 100644
index 0000000..13e1b53
--- /dev/null
+++ b/maps/re/018-6-3.mcache
Binary files differ
diff --git a/maps/re/018-7-1.mcache b/maps/re/018-7-1.mcache
new file mode 100644
index 0000000..09a32be
--- /dev/null
+++ b/maps/re/018-7-1.mcache
Binary files differ
diff --git a/maps/re/018-7.mcache b/maps/re/018-7.mcache
new file mode 100644
index 0000000..82e28b9
--- /dev/null
+++ b/maps/re/018-7.mcache
Binary files differ
diff --git a/maps/re/019-1-1.mcache b/maps/re/019-1-1.mcache
new file mode 100644
index 0000000..2d70a28
--- /dev/null
+++ b/maps/re/019-1-1.mcache
Binary files differ
diff --git a/maps/re/019-1.mcache b/maps/re/019-1.mcache
new file mode 100644
index 0000000..11187b3
--- /dev/null
+++ b/maps/re/019-1.mcache
Binary files differ
diff --git a/maps/re/019-2.mcache b/maps/re/019-2.mcache
new file mode 100644
index 0000000..dbed9f8
--- /dev/null
+++ b/maps/re/019-2.mcache
Binary files differ
diff --git a/maps/re/019-3.mcache b/maps/re/019-3.mcache
new file mode 100644
index 0000000..6d18470
--- /dev/null
+++ b/maps/re/019-3.mcache
Binary files differ
diff --git a/maps/re/019-4-1.mcache b/maps/re/019-4-1.mcache
new file mode 100644
index 0000000..707a38e
--- /dev/null
+++ b/maps/re/019-4-1.mcache
Binary files differ
diff --git a/maps/re/019-4.mcache b/maps/re/019-4.mcache
new file mode 100644
index 0000000..7bf5ec5
--- /dev/null
+++ b/maps/re/019-4.mcache
Binary files differ
diff --git a/maps/re/019-5-1.mcache b/maps/re/019-5-1.mcache
new file mode 100644
index 0000000..dace756
--- /dev/null
+++ b/maps/re/019-5-1.mcache
Binary files differ
diff --git a/maps/re/019-5-2.mcache b/maps/re/019-5-2.mcache
new file mode 100644
index 0000000..0647120
--- /dev/null
+++ b/maps/re/019-5-2.mcache
Binary files differ
diff --git a/maps/re/019-5-3.mcache b/maps/re/019-5-3.mcache
new file mode 100644
index 0000000..5ef13b8
--- /dev/null
+++ b/maps/re/019-5-3.mcache
Binary files differ
diff --git a/maps/re/019-5.mcache b/maps/re/019-5.mcache
new file mode 100644
index 0000000..6876a7c
--- /dev/null
+++ b/maps/re/019-5.mcache
Binary files differ
diff --git a/maps/re/019-6.mcache b/maps/re/019-6.mcache
new file mode 100644
index 0000000..f361339
--- /dev/null
+++ b/maps/re/019-6.mcache
Binary files differ
diff --git a/maps/re/020-1.mcache b/maps/re/020-1.mcache
new file mode 100644
index 0000000..7d801ae
--- /dev/null
+++ b/maps/re/020-1.mcache
Binary files differ
diff --git a/maps/re/020-2.mcache b/maps/re/020-2.mcache
new file mode 100644
index 0000000..c885e3f
--- /dev/null
+++ b/maps/re/020-2.mcache
Binary files differ
diff --git a/maps/re/020-3.mcache b/maps/re/020-3.mcache
new file mode 100644
index 0000000..2a901ed
--- /dev/null
+++ b/maps/re/020-3.mcache
Binary files differ
diff --git a/maps/re/020-4.mcache b/maps/re/020-4.mcache
new file mode 100644
index 0000000..6a27d9d
--- /dev/null
+++ b/maps/re/020-4.mcache
Binary files differ
diff --git a/maps/re/020-5.mcache b/maps/re/020-5.mcache
new file mode 100644
index 0000000..f21c20e
--- /dev/null
+++ b/maps/re/020-5.mcache
Binary files differ
diff --git a/maps/re/020-6.mcache b/maps/re/020-6.mcache
new file mode 100644
index 0000000..801f801
--- /dev/null
+++ b/maps/re/020-6.mcache
Binary files differ
diff --git a/maps/re/020-7-1.mcache b/maps/re/020-7-1.mcache
new file mode 100644
index 0000000..d20e681
--- /dev/null
+++ b/maps/re/020-7-1.mcache
Binary files differ
diff --git a/maps/re/020-7-2.mcache b/maps/re/020-7-2.mcache
new file mode 100644
index 0000000..27a1ec7
--- /dev/null
+++ b/maps/re/020-7-2.mcache
Binary files differ
diff --git a/maps/re/020-7.mcache b/maps/re/020-7.mcache
new file mode 100644
index 0000000..2697453
--- /dev/null
+++ b/maps/re/020-7.mcache
Binary files differ
diff --git a/maps/re/021-0.mcache b/maps/re/021-0.mcache
new file mode 100644
index 0000000..5576d35
--- /dev/null
+++ b/maps/re/021-0.mcache
Binary files differ
diff --git a/maps/re/021-1.mcache b/maps/re/021-1.mcache
new file mode 100644
index 0000000..5fbf6a5
--- /dev/null
+++ b/maps/re/021-1.mcache
Binary files differ
diff --git a/maps/re/021-2.mcache b/maps/re/021-2.mcache
new file mode 100644
index 0000000..8a45fb4
--- /dev/null
+++ b/maps/re/021-2.mcache
Binary files differ
diff --git a/maps/re/021-3.mcache b/maps/re/021-3.mcache
new file mode 100644
index 0000000..1274acf
--- /dev/null
+++ b/maps/re/021-3.mcache
Binary files differ
diff --git a/maps/re/021-4.mcache b/maps/re/021-4.mcache
new file mode 100644
index 0000000..a06f8bc
--- /dev/null
+++ b/maps/re/021-4.mcache
Binary files differ
diff --git a/maps/re/022-1.mcache b/maps/re/022-1.mcache
new file mode 100644
index 0000000..ac11360
--- /dev/null
+++ b/maps/re/022-1.mcache
Binary files differ
diff --git a/maps/re/023-1.mcache b/maps/re/023-1.mcache
new file mode 100644
index 0000000..3fe7c4f
--- /dev/null
+++ b/maps/re/023-1.mcache
Binary files differ
diff --git a/maps/re/023-2.mcache b/maps/re/023-2.mcache
new file mode 100644
index 0000000..f8947d8
--- /dev/null
+++ b/maps/re/023-2.mcache
Binary files differ
diff --git a/maps/re/023-3-1.mcache b/maps/re/023-3-1.mcache
new file mode 100644
index 0000000..705f8d7
--- /dev/null
+++ b/maps/re/023-3-1.mcache
Binary files differ
diff --git a/maps/re/023-3-2.mcache b/maps/re/023-3-2.mcache
new file mode 100644
index 0000000..9748b93
--- /dev/null
+++ b/maps/re/023-3-2.mcache
Binary files differ
diff --git a/maps/re/023-3.mcache b/maps/re/023-3.mcache
new file mode 100644
index 0000000..e0b9649
--- /dev/null
+++ b/maps/re/023-3.mcache
Binary files differ
diff --git a/maps/re/023-4.mcache b/maps/re/023-4.mcache
new file mode 100644
index 0000000..e171a8a
--- /dev/null
+++ b/maps/re/023-4.mcache
Binary files differ
diff --git a/maps/re/024-1.mcache b/maps/re/024-1.mcache
new file mode 100644
index 0000000..ceb89e8
--- /dev/null
+++ b/maps/re/024-1.mcache
Binary files differ
diff --git a/maps/re/024-10.mcache b/maps/re/024-10.mcache
new file mode 100644
index 0000000..5ff67f9
--- /dev/null
+++ b/maps/re/024-10.mcache
Binary files differ
diff --git a/maps/re/024-11.mcache b/maps/re/024-11.mcache
new file mode 100644
index 0000000..6be2b8b
--- /dev/null
+++ b/maps/re/024-11.mcache
Binary files differ
diff --git a/maps/re/024-12.mcache b/maps/re/024-12.mcache
new file mode 100644
index 0000000..2483dbe
--- /dev/null
+++ b/maps/re/024-12.mcache
Binary files differ
diff --git a/maps/re/024-13.mcache b/maps/re/024-13.mcache
new file mode 100644
index 0000000..c824a75
--- /dev/null
+++ b/maps/re/024-13.mcache
Binary files differ
diff --git a/maps/re/024-14.mcache b/maps/re/024-14.mcache
new file mode 100644
index 0000000..abdd1b7
--- /dev/null
+++ b/maps/re/024-14.mcache
Binary files differ
diff --git a/maps/re/024-15.mcache b/maps/re/024-15.mcache
new file mode 100644
index 0000000..8ac285e
--- /dev/null
+++ b/maps/re/024-15.mcache
Binary files differ
diff --git a/maps/re/024-16.mcache b/maps/re/024-16.mcache
new file mode 100644
index 0000000..708c05e
--- /dev/null
+++ b/maps/re/024-16.mcache
Binary files differ
diff --git a/maps/re/024-2.mcache b/maps/re/024-2.mcache
new file mode 100644
index 0000000..315bb8b
--- /dev/null
+++ b/maps/re/024-2.mcache
Binary files differ
diff --git a/maps/re/024-3.mcache b/maps/re/024-3.mcache
new file mode 100644
index 0000000..92e7b8d
--- /dev/null
+++ b/maps/re/024-3.mcache
Binary files differ
diff --git a/maps/re/024-4.mcache b/maps/re/024-4.mcache
new file mode 100644
index 0000000..dea2082
--- /dev/null
+++ b/maps/re/024-4.mcache
Binary files differ
diff --git a/maps/re/024-5.mcache b/maps/re/024-5.mcache
new file mode 100644
index 0000000..20cf3f9
--- /dev/null
+++ b/maps/re/024-5.mcache
Binary files differ
diff --git a/maps/re/024-6.mcache b/maps/re/024-6.mcache
new file mode 100644
index 0000000..7f66019
--- /dev/null
+++ b/maps/re/024-6.mcache
Binary files differ
diff --git a/maps/re/024-7.mcache b/maps/re/024-7.mcache
new file mode 100644
index 0000000..538dc59
--- /dev/null
+++ b/maps/re/024-7.mcache
Binary files differ
diff --git a/maps/re/024-8.mcache b/maps/re/024-8.mcache
new file mode 100644
index 0000000..4d9491d
--- /dev/null
+++ b/maps/re/024-8.mcache
Binary files differ
diff --git a/maps/re/024-9.mcache b/maps/re/024-9.mcache
new file mode 100644
index 0000000..f520368
--- /dev/null
+++ b/maps/re/024-9.mcache
Binary files differ
diff --git a/maps/re/025-1.mcache b/maps/re/025-1.mcache
new file mode 100644
index 0000000..b4f5b65
--- /dev/null
+++ b/maps/re/025-1.mcache
Binary files differ
diff --git a/maps/re/025-2-1.mcache b/maps/re/025-2-1.mcache
new file mode 100644
index 0000000..1242639
--- /dev/null
+++ b/maps/re/025-2-1.mcache
Binary files differ
diff --git a/maps/re/025-2-2.mcache b/maps/re/025-2-2.mcache
new file mode 100644
index 0000000..6f95cae
--- /dev/null
+++ b/maps/re/025-2-2.mcache
Binary files differ
diff --git a/maps/re/025-2-3.mcache b/maps/re/025-2-3.mcache
new file mode 100644
index 0000000..704f3d6
--- /dev/null
+++ b/maps/re/025-2-3.mcache
Binary files differ
diff --git a/maps/re/025-2-4.mcache b/maps/re/025-2-4.mcache
new file mode 100644
index 0000000..d5f8274
--- /dev/null
+++ b/maps/re/025-2-4.mcache
Binary files differ
diff --git a/maps/re/025-2.mcache b/maps/re/025-2.mcache
new file mode 100644
index 0000000..4d6ddf2
--- /dev/null
+++ b/maps/re/025-2.mcache
Binary files differ
diff --git a/maps/re/025-3.mcache b/maps/re/025-3.mcache
new file mode 100644
index 0000000..57f8e9f
--- /dev/null
+++ b/maps/re/025-3.mcache
Binary files differ
diff --git a/maps/re/026-0.mcache b/maps/re/026-0.mcache
new file mode 100644
index 0000000..800785e
--- /dev/null
+++ b/maps/re/026-0.mcache
Binary files differ
diff --git a/maps/re/026-1.mcache b/maps/re/026-1.mcache
new file mode 100644
index 0000000..225e18b
--- /dev/null
+++ b/maps/re/026-1.mcache
Binary files differ
diff --git a/maps/re/026-2.mcache b/maps/re/026-2.mcache
new file mode 100644
index 0000000..589618c
--- /dev/null
+++ b/maps/re/026-2.mcache
Binary files differ
diff --git a/maps/re/027-0.mcache b/maps/re/027-0.mcache
new file mode 100644
index 0000000..4f7d3c8
--- /dev/null
+++ b/maps/re/027-0.mcache
Binary files differ
diff --git a/maps/re/027-1.mcache b/maps/re/027-1.mcache
new file mode 100644
index 0000000..f6b9f0f
--- /dev/null
+++ b/maps/re/027-1.mcache
Binary files differ
diff --git a/maps/re/027-2.mcache b/maps/re/027-2.mcache
new file mode 100644
index 0000000..342ed7a
--- /dev/null
+++ b/maps/re/027-2.mcache
Binary files differ
diff --git a/maps/re/027-3.mcache b/maps/re/027-3.mcache
new file mode 100644
index 0000000..601afbb
--- /dev/null
+++ b/maps/re/027-3.mcache
Binary files differ
diff --git a/maps/re/027-4.mcache b/maps/re/027-4.mcache
new file mode 100644
index 0000000..389cfcc
--- /dev/null
+++ b/maps/re/027-4.mcache
Binary files differ
diff --git a/maps/re/027-5.mcache b/maps/re/027-5.mcache
new file mode 100644
index 0000000..738aa7a
--- /dev/null
+++ b/maps/re/027-5.mcache
Binary files differ
diff --git a/maps/re/027-6.mcache b/maps/re/027-6.mcache
new file mode 100644
index 0000000..265bac5
--- /dev/null
+++ b/maps/re/027-6.mcache
Binary files differ
diff --git a/maps/re/027-7.mcache b/maps/re/027-7.mcache
new file mode 100644
index 0000000..e881fce
--- /dev/null
+++ b/maps/re/027-7.mcache
Binary files differ
diff --git a/maps/re/029-0.mcache b/maps/re/029-0.mcache
new file mode 100644
index 0000000..458cdf7
--- /dev/null
+++ b/maps/re/029-0.mcache
Binary files differ
diff --git a/maps/re/029-1.mcache b/maps/re/029-1.mcache
new file mode 100644
index 0000000..962144b
--- /dev/null
+++ b/maps/re/029-1.mcache
Binary files differ
diff --git a/maps/re/029-2.mcache b/maps/re/029-2.mcache
new file mode 100644
index 0000000..1f9eece
--- /dev/null
+++ b/maps/re/029-2.mcache
Binary files differ
diff --git a/maps/re/029-3.mcache b/maps/re/029-3.mcache
new file mode 100644
index 0000000..0d2f17b
--- /dev/null
+++ b/maps/re/029-3.mcache
Binary files differ
diff --git a/maps/re/029-4.mcache b/maps/re/029-4.mcache
new file mode 100644
index 0000000..08cef53
--- /dev/null
+++ b/maps/re/029-4.mcache
Binary files differ
diff --git a/maps/re/029-5.mcache b/maps/re/029-5.mcache
new file mode 100644
index 0000000..7ad99af
--- /dev/null
+++ b/maps/re/029-5.mcache
Binary files differ
diff --git a/maps/re/029-6.mcache b/maps/re/029-6.mcache
new file mode 100644
index 0000000..3d4b75a
--- /dev/null
+++ b/maps/re/029-6.mcache
Binary files differ
diff --git a/maps/re/029-7.mcache b/maps/re/029-7.mcache
new file mode 100644
index 0000000..5f22587
--- /dev/null
+++ b/maps/re/029-7.mcache
Binary files differ
diff --git a/maps/re/029-8.mcache b/maps/re/029-8.mcache
new file mode 100644
index 0000000..37f24b1
--- /dev/null
+++ b/maps/re/029-8.mcache
Binary files differ
diff --git a/maps/re/029-9.mcache b/maps/re/029-9.mcache
new file mode 100644
index 0000000..355ff3c
--- /dev/null
+++ b/maps/re/029-9.mcache
Binary files differ
diff --git a/maps/re/030-01.mcache b/maps/re/030-01.mcache
new file mode 100644
index 0000000..e6f3f5d
--- /dev/null
+++ b/maps/re/030-01.mcache
Binary files differ
diff --git a/maps/re/030-02.mcache b/maps/re/030-02.mcache
new file mode 100644
index 0000000..ab16eaf
--- /dev/null
+++ b/maps/re/030-02.mcache
Binary files differ
diff --git a/maps/re/030-03.mcache b/maps/re/030-03.mcache
new file mode 100644
index 0000000..0a5472b
--- /dev/null
+++ b/maps/re/030-03.mcache
Binary files differ
diff --git a/maps/re/030-04.mcache b/maps/re/030-04.mcache
new file mode 100644
index 0000000..1daad73
--- /dev/null
+++ b/maps/re/030-04.mcache
Binary files differ
diff --git a/maps/re/030-05.mcache b/maps/re/030-05.mcache
new file mode 100644
index 0000000..79b846f
--- /dev/null
+++ b/maps/re/030-05.mcache
Binary files differ
diff --git a/maps/re/030-06.mcache b/maps/re/030-06.mcache
new file mode 100644
index 0000000..698475c
--- /dev/null
+++ b/maps/re/030-06.mcache
Binary files differ
diff --git a/maps/re/030-07.mcache b/maps/re/030-07.mcache
new file mode 100644
index 0000000..f887ac9
--- /dev/null
+++ b/maps/re/030-07.mcache
Binary files differ
diff --git a/maps/re/030-08.mcache b/maps/re/030-08.mcache
new file mode 100644
index 0000000..debc4ba
--- /dev/null
+++ b/maps/re/030-08.mcache
Binary files differ
diff --git a/maps/re/030-09.mcache b/maps/re/030-09.mcache
new file mode 100644
index 0000000..2c87148
--- /dev/null
+++ b/maps/re/030-09.mcache
Binary files differ
diff --git a/maps/re/030-10.mcache b/maps/re/030-10.mcache
new file mode 100644
index 0000000..2f46f46
--- /dev/null
+++ b/maps/re/030-10.mcache
Binary files differ
diff --git a/maps/re/030-11.mcache b/maps/re/030-11.mcache
new file mode 100644
index 0000000..f79c1b7
--- /dev/null
+++ b/maps/re/030-11.mcache
Binary files differ
diff --git a/maps/re/030-12.mcache b/maps/re/030-12.mcache
new file mode 100644
index 0000000..d974029
--- /dev/null
+++ b/maps/re/030-12.mcache
Binary files differ
diff --git a/maps/re/030-13.mcache b/maps/re/030-13.mcache
new file mode 100644
index 0000000..7934050
--- /dev/null
+++ b/maps/re/030-13.mcache
Binary files differ
diff --git a/maps/re/030-14.mcache b/maps/re/030-14.mcache
new file mode 100644
index 0000000..aef22da
--- /dev/null
+++ b/maps/re/030-14.mcache
Binary files differ
diff --git a/maps/re/030-15.mcache b/maps/re/030-15.mcache
new file mode 100644
index 0000000..86cba4b
--- /dev/null
+++ b/maps/re/030-15.mcache
Binary files differ
diff --git a/maps/re/030-16.mcache b/maps/re/030-16.mcache
new file mode 100644
index 0000000..a9bc755
--- /dev/null
+++ b/maps/re/030-16.mcache
Binary files differ
diff --git a/maps/re/030-17.mcache b/maps/re/030-17.mcache
new file mode 100644
index 0000000..b926785
--- /dev/null
+++ b/maps/re/030-17.mcache
Binary files differ
diff --git a/maps/re/030-18.mcache b/maps/re/030-18.mcache
new file mode 100644
index 0000000..b797acd
--- /dev/null
+++ b/maps/re/030-18.mcache
Binary files differ
diff --git a/maps/re/030-19.mcache b/maps/re/030-19.mcache
new file mode 100644
index 0000000..a0eabbc
--- /dev/null
+++ b/maps/re/030-19.mcache
Binary files differ
diff --git a/maps/re/030-20.mcache b/maps/re/030-20.mcache
new file mode 100644
index 0000000..2a6f704
--- /dev/null
+++ b/maps/re/030-20.mcache
Binary files differ
diff --git a/maps/re/030-21.mcache b/maps/re/030-21.mcache
new file mode 100644
index 0000000..c3acd08
--- /dev/null
+++ b/maps/re/030-21.mcache
Binary files differ
diff --git a/maps/re/030-22.mcache b/maps/re/030-22.mcache
new file mode 100644
index 0000000..497b452
--- /dev/null
+++ b/maps/re/030-22.mcache
Binary files differ
diff --git a/maps/re/030-23.mcache b/maps/re/030-23.mcache
new file mode 100644
index 0000000..92624bf
--- /dev/null
+++ b/maps/re/030-23.mcache
Binary files differ
diff --git a/maps/re/030-24.mcache b/maps/re/030-24.mcache
new file mode 100644
index 0000000..ee2a036
--- /dev/null
+++ b/maps/re/030-24.mcache
Binary files differ
diff --git a/maps/re/030-25.mcache b/maps/re/030-25.mcache
new file mode 100644
index 0000000..3e25f3a
--- /dev/null
+++ b/maps/re/030-25.mcache
Binary files differ
diff --git a/maps/re/030-26.mcache b/maps/re/030-26.mcache
new file mode 100644
index 0000000..868989b
--- /dev/null
+++ b/maps/re/030-26.mcache
Binary files differ
diff --git a/maps/re/030-27.mcache b/maps/re/030-27.mcache
new file mode 100644
index 0000000..80d5e69
--- /dev/null
+++ b/maps/re/030-27.mcache
Binary files differ
diff --git a/maps/re/030-28.mcache b/maps/re/030-28.mcache
new file mode 100644
index 0000000..4206b9d
--- /dev/null
+++ b/maps/re/030-28.mcache
Binary files differ
diff --git a/maps/re/030-29.mcache b/maps/re/030-29.mcache
new file mode 100644
index 0000000..5b6df1a
--- /dev/null
+++ b/maps/re/030-29.mcache
Binary files differ
diff --git a/maps/re/030-30.mcache b/maps/re/030-30.mcache
new file mode 100644
index 0000000..ddab82d
--- /dev/null
+++ b/maps/re/030-30.mcache
Binary files differ
diff --git a/maps/re/030-31.mcache b/maps/re/030-31.mcache
new file mode 100644
index 0000000..10eb1c7
--- /dev/null
+++ b/maps/re/030-31.mcache
Binary files differ
diff --git a/maps/re/030-32.mcache b/maps/re/030-32.mcache
new file mode 100644
index 0000000..a4ed467
--- /dev/null
+++ b/maps/re/030-32.mcache
Binary files differ
diff --git a/maps/re/030-33.mcache b/maps/re/030-33.mcache
new file mode 100644
index 0000000..42bc081
--- /dev/null
+++ b/maps/re/030-33.mcache
Binary files differ
diff --git a/maps/re/030-34.mcache b/maps/re/030-34.mcache
new file mode 100644
index 0000000..18b8122
--- /dev/null
+++ b/maps/re/030-34.mcache
Binary files differ
diff --git a/maps/re/030-35.mcache b/maps/re/030-35.mcache
new file mode 100644
index 0000000..c1d3440
--- /dev/null
+++ b/maps/re/030-35.mcache
Binary files differ
diff --git a/maps/re/030-36.mcache b/maps/re/030-36.mcache
new file mode 100644
index 0000000..007045e
--- /dev/null
+++ b/maps/re/030-36.mcache
Binary files differ
diff --git a/maps/re/030-37.mcache b/maps/re/030-37.mcache
new file mode 100644
index 0000000..9e12da3
--- /dev/null
+++ b/maps/re/030-37.mcache
Binary files differ
diff --git a/maps/re/030-38.mcache b/maps/re/030-38.mcache
new file mode 100644
index 0000000..4549b76
--- /dev/null
+++ b/maps/re/030-38.mcache
Binary files differ
diff --git a/maps/re/030-39.mcache b/maps/re/030-39.mcache
new file mode 100644
index 0000000..9b9f9bb
--- /dev/null
+++ b/maps/re/030-39.mcache
Binary files differ
diff --git a/maps/re/030-40.mcache b/maps/re/030-40.mcache
new file mode 100644
index 0000000..146d0af
--- /dev/null
+++ b/maps/re/030-40.mcache
Binary files differ
diff --git a/maps/re/030-41.mcache b/maps/re/030-41.mcache
new file mode 100644
index 0000000..c37f39a
--- /dev/null
+++ b/maps/re/030-41.mcache
Binary files differ
diff --git a/maps/re/030-42.mcache b/maps/re/030-42.mcache
new file mode 100644
index 0000000..8889994
--- /dev/null
+++ b/maps/re/030-42.mcache
Binary files differ
diff --git a/maps/re/030-43.mcache b/maps/re/030-43.mcache
new file mode 100644
index 0000000..f034d36
--- /dev/null
+++ b/maps/re/030-43.mcache
Binary files differ
diff --git a/maps/re/030-44.mcache b/maps/re/030-44.mcache
new file mode 100644
index 0000000..a1743c4
--- /dev/null
+++ b/maps/re/030-44.mcache
Binary files differ
diff --git a/maps/re/030-45.mcache b/maps/re/030-45.mcache
new file mode 100644
index 0000000..cedf424
--- /dev/null
+++ b/maps/re/030-45.mcache
Binary files differ
diff --git a/maps/re/030-46.mcache b/maps/re/030-46.mcache
new file mode 100644
index 0000000..4e9544d
--- /dev/null
+++ b/maps/re/030-46.mcache
Binary files differ
diff --git a/maps/re/030-47.mcache b/maps/re/030-47.mcache
new file mode 100644
index 0000000..7789d2d
--- /dev/null
+++ b/maps/re/030-47.mcache
Binary files differ
diff --git a/maps/re/030-48.mcache b/maps/re/030-48.mcache
new file mode 100644
index 0000000..e73897c
--- /dev/null
+++ b/maps/re/030-48.mcache
Binary files differ
diff --git a/maps/re/030-49.mcache b/maps/re/030-49.mcache
new file mode 100644
index 0000000..c2cae8d
--- /dev/null
+++ b/maps/re/030-49.mcache
Binary files differ
diff --git a/maps/re/030-50.mcache b/maps/re/030-50.mcache
new file mode 100644
index 0000000..83c18aa
--- /dev/null
+++ b/maps/re/030-50.mcache
Binary files differ
diff --git a/maps/re/030-51.mcache b/maps/re/030-51.mcache
new file mode 100644
index 0000000..360d918
--- /dev/null
+++ b/maps/re/030-51.mcache
Binary files differ
diff --git a/maps/re/030-52.mcache b/maps/re/030-52.mcache
new file mode 100644
index 0000000..316e76f
--- /dev/null
+++ b/maps/re/030-52.mcache
Binary files differ
diff --git a/maps/re/030-53.mcache b/maps/re/030-53.mcache
new file mode 100644
index 0000000..9b26c18
--- /dev/null
+++ b/maps/re/030-53.mcache
Binary files differ
diff --git a/maps/re/030-54.mcache b/maps/re/030-54.mcache
new file mode 100644
index 0000000..c95d5bc
--- /dev/null
+++ b/maps/re/030-54.mcache
Binary files differ
diff --git a/maps/re/030-55.mcache b/maps/re/030-55.mcache
new file mode 100644
index 0000000..4937d64
--- /dev/null
+++ b/maps/re/030-55.mcache
Binary files differ
diff --git a/maps/re/030-56.mcache b/maps/re/030-56.mcache
new file mode 100644
index 0000000..faf9ba0
--- /dev/null
+++ b/maps/re/030-56.mcache
Binary files differ
diff --git a/maps/re/030-57.mcache b/maps/re/030-57.mcache
new file mode 100644
index 0000000..3a59d1e
--- /dev/null
+++ b/maps/re/030-57.mcache
Binary files differ
diff --git a/maps/re/030-58.mcache b/maps/re/030-58.mcache
new file mode 100644
index 0000000..5bc8f44
--- /dev/null
+++ b/maps/re/030-58.mcache
Binary files differ
diff --git a/maps/re/030-59.mcache b/maps/re/030-59.mcache
new file mode 100644
index 0000000..9ed33be
--- /dev/null
+++ b/maps/re/030-59.mcache
Binary files differ
diff --git a/maps/re/030-60.mcache b/maps/re/030-60.mcache
new file mode 100644
index 0000000..8108574
--- /dev/null
+++ b/maps/re/030-60.mcache
Binary files differ
diff --git a/maps/re/030-61.mcache b/maps/re/030-61.mcache
new file mode 100644
index 0000000..771dda7
--- /dev/null
+++ b/maps/re/030-61.mcache
Binary files differ
diff --git a/maps/re/030-62.mcache b/maps/re/030-62.mcache
new file mode 100644
index 0000000..c1d243d
--- /dev/null
+++ b/maps/re/030-62.mcache
Binary files differ
diff --git a/maps/re/030-63.mcache b/maps/re/030-63.mcache
new file mode 100644
index 0000000..8b7b77d
--- /dev/null
+++ b/maps/re/030-63.mcache
Binary files differ
diff --git a/maps/re/030-64.mcache b/maps/re/030-64.mcache
new file mode 100644
index 0000000..1bd2ece
--- /dev/null
+++ b/maps/re/030-64.mcache
Binary files differ
diff --git a/maps/re/030-65.mcache b/maps/re/030-65.mcache
new file mode 100644
index 0000000..6759acc
--- /dev/null
+++ b/maps/re/030-65.mcache
Binary files differ
diff --git a/maps/re/030-66.mcache b/maps/re/030-66.mcache
new file mode 100644
index 0000000..c958d25
--- /dev/null
+++ b/maps/re/030-66.mcache
Binary files differ
diff --git a/maps/re/030-67.mcache b/maps/re/030-67.mcache
new file mode 100644
index 0000000..3804c2c
--- /dev/null
+++ b/maps/re/030-67.mcache
Binary files differ
diff --git a/maps/re/030-68.mcache b/maps/re/030-68.mcache
new file mode 100644
index 0000000..0fc6063
--- /dev/null
+++ b/maps/re/030-68.mcache
Binary files differ
diff --git a/maps/re/030-69.mcache b/maps/re/030-69.mcache
new file mode 100644
index 0000000..54dc909
--- /dev/null
+++ b/maps/re/030-69.mcache
Binary files differ
diff --git a/maps/re/030-70.mcache b/maps/re/030-70.mcache
new file mode 100644
index 0000000..fec4f40
--- /dev/null
+++ b/maps/re/030-70.mcache
Binary files differ
diff --git a/maps/re/030-71.mcache b/maps/re/030-71.mcache
new file mode 100644
index 0000000..a6c2da8
--- /dev/null
+++ b/maps/re/030-71.mcache
Binary files differ
diff --git a/maps/re/030-72.mcache b/maps/re/030-72.mcache
new file mode 100644
index 0000000..040cb8b
--- /dev/null
+++ b/maps/re/030-72.mcache
Binary files differ
diff --git a/maps/re/030-73.mcache b/maps/re/030-73.mcache
new file mode 100644
index 0000000..906f5da
--- /dev/null
+++ b/maps/re/030-73.mcache
Binary files differ
diff --git a/maps/re/030-74.mcache b/maps/re/030-74.mcache
new file mode 100644
index 0000000..23f8b20
--- /dev/null
+++ b/maps/re/030-74.mcache
Binary files differ
diff --git a/maps/re/030-75.mcache b/maps/re/030-75.mcache
new file mode 100644
index 0000000..cbc1615
--- /dev/null
+++ b/maps/re/030-75.mcache
Binary files differ
diff --git a/maps/re/031-0.mcache b/maps/re/031-0.mcache
new file mode 100644
index 0000000..899dcec
--- /dev/null
+++ b/maps/re/031-0.mcache
Binary files differ
diff --git a/maps/re/031-1.mcache b/maps/re/031-1.mcache
new file mode 100644
index 0000000..20bf524
--- /dev/null
+++ b/maps/re/031-1.mcache
Binary files differ
diff --git a/maps/re/031-2.mcache b/maps/re/031-2.mcache
new file mode 100644
index 0000000..e4667a3
--- /dev/null
+++ b/maps/re/031-2.mcache
Binary files differ
diff --git a/maps/re/031-3.mcache b/maps/re/031-3.mcache
new file mode 100644
index 0000000..a91c0a7
--- /dev/null
+++ b/maps/re/031-3.mcache
Binary files differ
diff --git a/maps/re/031-4.mcache b/maps/re/031-4.mcache
new file mode 100644
index 0000000..aa36704
--- /dev/null
+++ b/maps/re/031-4.mcache
Binary files differ
diff --git a/maps/re/031-5.mcache b/maps/re/031-5.mcache
new file mode 100644
index 0000000..f36442b
--- /dev/null
+++ b/maps/re/031-5.mcache
Binary files differ
diff --git a/maps/re/031-6.mcache b/maps/re/031-6.mcache
new file mode 100644
index 0000000..0c82079
--- /dev/null
+++ b/maps/re/031-6.mcache
Binary files differ
diff --git a/maps/re/031-7.mcache b/maps/re/031-7.mcache
new file mode 100644
index 0000000..bf33980
--- /dev/null
+++ b/maps/re/031-7.mcache
Binary files differ
diff --git a/maps/re/031-8.mcache b/maps/re/031-8.mcache
new file mode 100644
index 0000000..8fb212a
--- /dev/null
+++ b/maps/re/031-8.mcache
Binary files differ
diff --git a/maps/re/031-9.mcache b/maps/re/031-9.mcache
new file mode 100644
index 0000000..d35e124
--- /dev/null
+++ b/maps/re/031-9.mcache
Binary files differ
diff --git a/maps/re/032-1.mcache b/maps/re/032-1.mcache
new file mode 100644
index 0000000..5511e7d
--- /dev/null
+++ b/maps/re/032-1.mcache
Binary files differ
diff --git a/maps/re/032-2.mcache b/maps/re/032-2.mcache
new file mode 100644
index 0000000..0475be9
--- /dev/null
+++ b/maps/re/032-2.mcache
Binary files differ
diff --git a/maps/re/032-3.mcache b/maps/re/032-3.mcache
new file mode 100644
index 0000000..b56be17
--- /dev/null
+++ b/maps/re/032-3.mcache
Binary files differ
diff --git a/maps/re/032-4.mcache b/maps/re/032-4.mcache
new file mode 100644
index 0000000..95465d6
--- /dev/null
+++ b/maps/re/032-4.mcache
Binary files differ
diff --git a/maps/re/032-5.mcache b/maps/re/032-5.mcache
new file mode 100644
index 0000000..946b315
--- /dev/null
+++ b/maps/re/032-5.mcache
Binary files differ
diff --git a/maps/re/033-1.mcache b/maps/re/033-1.mcache
new file mode 100644
index 0000000..62776ab
--- /dev/null
+++ b/maps/re/033-1.mcache
Binary files differ
diff --git a/maps/re/033-2.mcache b/maps/re/033-2.mcache
new file mode 100644
index 0000000..70a92e4
--- /dev/null
+++ b/maps/re/033-2.mcache
Binary files differ
diff --git a/maps/re/033-3.mcache b/maps/re/033-3.mcache
new file mode 100644
index 0000000..d3702ef
--- /dev/null
+++ b/maps/re/033-3.mcache
Binary files differ
diff --git a/maps/re/033-4.mcache b/maps/re/033-4.mcache
new file mode 100644
index 0000000..89ac255
--- /dev/null
+++ b/maps/re/033-4.mcache
Binary files differ
diff --git a/maps/re/033-5.mcache b/maps/re/033-5.mcache
new file mode 100644
index 0000000..5871124
--- /dev/null
+++ b/maps/re/033-5.mcache
Binary files differ
diff --git a/maps/re/034-1.mcache b/maps/re/034-1.mcache
new file mode 100644
index 0000000..6993a7d
--- /dev/null
+++ b/maps/re/034-1.mcache
Binary files differ
diff --git a/maps/re/034-2.mcache b/maps/re/034-2.mcache
new file mode 100644
index 0000000..d21013f
--- /dev/null
+++ b/maps/re/034-2.mcache
Binary files differ
diff --git a/maps/re/034-3.mcache b/maps/re/034-3.mcache
new file mode 100644
index 0000000..047f60e
--- /dev/null
+++ b/maps/re/034-3.mcache
Binary files differ
diff --git a/maps/re/034-4.mcache b/maps/re/034-4.mcache
new file mode 100644
index 0000000..9501be6
--- /dev/null
+++ b/maps/re/034-4.mcache
Binary files differ
diff --git a/maps/re/042-0.mcache b/maps/re/042-0.mcache
new file mode 100644
index 0000000..411c754
--- /dev/null
+++ b/maps/re/042-0.mcache
Binary files differ
diff --git a/maps/re/042-1.mcache b/maps/re/042-1.mcache
new file mode 100644
index 0000000..9d7fc14
--- /dev/null
+++ b/maps/re/042-1.mcache
Binary files differ
diff --git a/maps/re/042-10.mcache b/maps/re/042-10.mcache
new file mode 100644
index 0000000..98416a8
--- /dev/null
+++ b/maps/re/042-10.mcache
Binary files differ
diff --git a/maps/re/042-11.mcache b/maps/re/042-11.mcache
new file mode 100644
index 0000000..583cb91
--- /dev/null
+++ b/maps/re/042-11.mcache
Binary files differ
diff --git a/maps/re/042-2.mcache b/maps/re/042-2.mcache
new file mode 100644
index 0000000..fd51890
--- /dev/null
+++ b/maps/re/042-2.mcache
Binary files differ
diff --git a/maps/re/042-3.mcache b/maps/re/042-3.mcache
new file mode 100644
index 0000000..1565b2b
--- /dev/null
+++ b/maps/re/042-3.mcache
Binary files differ
diff --git a/maps/re/042-4.mcache b/maps/re/042-4.mcache
new file mode 100644
index 0000000..314434b
--- /dev/null
+++ b/maps/re/042-4.mcache
Binary files differ
diff --git a/maps/re/042-5.mcache b/maps/re/042-5.mcache
new file mode 100644
index 0000000..fa52bd3
--- /dev/null
+++ b/maps/re/042-5.mcache
Binary files differ
diff --git a/maps/re/042-6.mcache b/maps/re/042-6.mcache
new file mode 100644
index 0000000..cd61cef
--- /dev/null
+++ b/maps/re/042-6.mcache
Binary files differ
diff --git a/maps/re/042-7.mcache b/maps/re/042-7.mcache
new file mode 100644
index 0000000..09d4805
--- /dev/null
+++ b/maps/re/042-7.mcache
Binary files differ
diff --git a/maps/re/042-8.mcache b/maps/re/042-8.mcache
new file mode 100644
index 0000000..08964f5
--- /dev/null
+++ b/maps/re/042-8.mcache
Binary files differ
diff --git a/maps/re/042-9.mcache b/maps/re/042-9.mcache
new file mode 100644
index 0000000..5e1f2d3
--- /dev/null
+++ b/maps/re/042-9.mcache
Binary files differ
diff --git a/maps/re/boss.mcache b/maps/re/boss.mcache
new file mode 100644
index 0000000..0382f5a
--- /dev/null
+++ b/maps/re/boss.mcache
Binary files differ
diff --git a/maps/re/botcheck.mcache b/maps/re/botcheck.mcache
new file mode 100644
index 0000000..1e709e6
--- /dev/null
+++ b/maps/re/botcheck.mcache
Binary files differ
diff --git a/maps/re/guilds.mcache b/maps/re/guilds.mcache
new file mode 100644
index 0000000..59a0221
--- /dev/null
+++ b/maps/re/guilds.mcache
Binary files differ
diff --git a/maps/re/sec_pri.mcache b/maps/re/sec_pri.mcache
new file mode 100644
index 0000000..dbbb57e
--- /dev/null
+++ b/maps/re/sec_pri.mcache
Binary files differ
diff --git a/maps/re/soren-2.mcache b/maps/re/soren-2.mcache
new file mode 100644
index 0000000..535ed3f
--- /dev/null
+++ b/maps/re/soren-2.mcache
Binary files differ
diff --git a/maps/re/soren.mcache b/maps/re/soren.mcache
new file mode 100644
index 0000000..dd6c150
--- /dev/null
+++ b/maps/re/soren.mcache
Binary files differ
diff --git a/maps/re/test.mcache b/maps/re/test.mcache
new file mode 100644
index 0000000..212101a
--- /dev/null
+++ b/maps/re/test.mcache
Binary files differ
diff --git a/maps/re/testbg.mcache b/maps/re/testbg.mcache
new file mode 100644
index 0000000..2965410
--- /dev/null
+++ b/maps/re/testbg.mcache
Binary files differ
diff --git a/npc/000-0-0/_import.txt b/npc/000-0-0/_import.txt
new file mode 100644
index 0000000..5c84e0f
--- /dev/null
+++ b/npc/000-0-0/_import.txt
@@ -0,0 +1,5 @@
+// Map 000-0-0: Training Island
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/000-0-0/chest.txt",
+"npc/000-0-0/mapflags.txt",
+"npc/000-0-0/sailors.txt",
diff --git a/npc/000-0-0/chest.txt b/npc/000-0-0/chest.txt
new file mode 100644
index 0000000..fdd2873
--- /dev/null
+++ b/npc/000-0-0/chest.txt
@@ -0,0 +1,69 @@
+// TMW2 Script modified by Jesusalva
+// Evol scripts.
+// Authors:
+// 4144
+// gumi
+// omatt
+// Reid
+// Description:
+// A box with clothes for new players.
+// Variable:
+// ShipQuests_Arpan
+// Values:
+// 1 Talked to Arpan and needs to get clothes.
+// 2 Has the clothes.
+
+000-0-0,36,34,0 script Chest#002-1 NPC_CHEST_BIG,2,4,{
+
+ .@questState = getq(ShipQuests_Arpan);
+
+ if (.@questState == 0) {
+ npctalk3 l("You should talk to Magic Arpan first.");
+ end;
+ }
+
+ if (.busy == false)
+ {
+ if (.@questState == 1) {
+ inventoryplace CreasedShirt, 2;
+ setq1 ShipQuests_Arpan, 2;
+ getitem CreasedShirt, 1;
+ getitem CreasedShorts, 1;
+ npctalk3 l("You take the clothes from the chest.");
+ }
+
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ .dir = .dir == 0 ? 2 : 6; // closed ? opening : closing
+ .busy = true; // lock the animation
+ initnpctimer;
+ }
+ end;
+
+OnTimer220:
+ .dir = .dir == 6 ? 0 : 4; // closing ? closed : open
+ end;
+
+OnTimer500:
+ .busy = false; // unlock
+
+ if (.dir == 0) {
+ stopnpctimer; // stop here if the chest is closed
+ }
+ end;
+
+OnUnTouch:
+ if (getareausers(.x - 2, .y - 4, .x + 2, .y + 6) > 0 || .dir == 0) {
+ end;
+ }
+OnTimer30000:
+ .busy = true;
+ .dir = 6; // closing
+ specialeffect(25, AREA, getnpcid()); // closing
+ setnpctimer 0;
+OnTouch:
+ end;
+
+OnInit:
+ .distance = 3;
+ end;
+}
diff --git a/npc/000-0-0/mapflags.txt b/npc/000-0-0/mapflags.txt
new file mode 100644
index 0000000..98847f8
--- /dev/null
+++ b/npc/000-0-0/mapflags.txt
@@ -0,0 +1 @@
+//000-0-0 mapflag invisible
diff --git a/npc/000-0-0/sailors.txt b/npc/000-0-0/sailors.txt
new file mode 100644
index 0000000..d6dd440
--- /dev/null
+++ b/npc/000-0-0/sailors.txt
@@ -0,0 +1,300 @@
+// TMW2 Script
+// Authors:
+// Jesusalva
+// Description:
+// Tutorial
+// TODO: Do not hardcode keyboard keys. The player may have changed the keyboard or even mouse bindings.
+
+000-0-0,30,34,0 script Elmo#sailors NPC_ELMO,{
+OnBegin:
+ .@q = getq(ShipQuests_Arpan);
+ if (.@q == 0) goto L_Step0;
+ if (.@q == 1) goto L_Step1;
+ if (.@q == 2) goto L_Step2;
+ if (.@q == 3) goto L_Step3;
+ if (.@q == 4) goto L_Step4;
+ if (.@q == 5) goto L_Step5;
+
+ goto L_Ready;
+
+// Tutorial not accepted
+L_Step0:
+ deltimer("Elmo#sailors::OnSlow");
+ deltimer("Elmo#sailors::OnSlow2");
+ setcamnpc;
+ showavatar NPC_ELMO;
+ mesn "Elmo";
+ mesq l("Hey. You. You were in need of medical attention earlier. Do you remember how to walk, talk, attack, etc?");
+ next;
+ select
+ l("Actually, a tutorial would be good!"),
+ l("Yes, I do.");
+
+ if (@menu == 2) {
+ if (!#TUTORIAL_DONE) {
+ mesn l("Magic Arpan");
+ mesq l("Yaya, are you sure?");
+ mesc l("This option will be remembered by other NPCs as well.");
+ next;
+ select
+ l("Yes, I am."),
+ l("Actually, a tutorial would be good!");
+ mes "";
+ if (@menu == 2)
+ goto L_Begin;
+ }
+ TUTORIAL=false;
+ mesn l("Magic Arpan");
+ mesq l("Yeye don't need to train here anymore! Let's head back to the ship before the sun sets, shall we?");
+ next;
+ goto L_Skip;
+ }
+
+L_Begin:
+ TUTORIAL=true;
+ savepoint "000-0-0", 30, 37;
+ setq ShipQuests_Arpan, 1;
+
+// Tutorial accepted
+L_Step1:
+ showavatar NPC_MAGIC_ARPAN;
+ mesn l("Magic Arpan");
+ mesq l("Let's start with something simple, yeye.");
+ next;
+ mesn l("Magic Arpan");
+ mesq l("You can move using @@ or, at your choice, by clicking where you want to go.", b(l("arrow keys")));
+ next;
+ setcamnpc "Chest#002-1";
+ mesn l("Magic Arpan");
+ mesq l("On mobile, the DPAD is at your left. Do you see the chest to my right?");
+ next;
+ setcamnpc;
+ mesn l("Magic Arpan");
+ mesq l("Go and talk to it.");
+ close;
+
+// Clothes taken
+L_Step2:
+ showavatar NPC_MAGIC_ARPAN;
+ mesn l("Magic Arpan");
+ mesq l("Yeye, very good, you took the clothes.");
+ next;
+L_Step2Skip:
+ mesn l("Magic Arpan");
+ mesq l("Equipping them is easy, you must open your inventory with @@ or clicking in @@, on the top right.", b(l("F3")), b(l("INV")));
+ next;
+ mesn l("Magic Arpan");
+ mesq l("Most of it should be pretty intuitive, but be sure to press @@ on the bottom-left of inventory screen.", b(l("Equip")));
+ next;
+ mesn l("Magic Arpan");
+ mesq l("Come talk to me once you manage to equip the shirt and the shorts!");
+ mesc l("PS. Due a bug, they won't be displayed when you equip unless you relog."), 1;
+ setq1 ShipQuests_Arpan, 3;
+ close;
+
+// Clothes Check
+L_Step3:
+ if (getequipid(equip_torso) < 0 || getequipid(equip_legs) < 0)
+ goto L_Step2Skip;
+ setcamnpc;
+ showavatar NPC_ELMO;
+ mesn "Elmo";
+ mesq l("You learn fast, good job. These clothes aren't mighty armor, but they'll help.");
+ next;
+ mesn "Elmo";
+ mesq l("Let's jump straight to action, shall we? I'll build a mighty @@ to fight you!", getmonsterlink(Dummy));
+ next;
+ mesn "Elmo";
+ mesq l("On a computer, you can press @@ to attack it. On mobile, that would be the big button with the number 1.", b(l("Ctrl")));
+ next;
+ mesn "Elmo";
+ mesq l("Another way to attack it is clicking on it. Now, there are some things you must know before fighting this truly dangerous foe!");
+ next;
+ showavatar NPC_MAGIC_ARPAN;
+ mesn l("Magic Arpan");
+ mesq l("Yayaya, by pressing @@ or clicking in @@, you'll open your character status window!", b(l("F2")), b(l("STA")));
+ next;
+ mesn l("Magic Arpan");
+ mesq l("You should allocate some attributes. You need @@, @@ and @@, on this order of importance.", b(l("Agility")), b(l("Dexterity")), b(l("Strength"))); // b(l("")),
+ next;
+ mesn l("Magic Arpan");
+ mesq l("Once you allocate status points, you can fight it! Good luck, @@!", strcharinfo(0));
+ mesc l("WARNING: NO EXPERIENCE WILL BE CARRIED OVER FROM THIS FIGHT."), 1;
+ percentheal 100,100;
+
+ // This is not really reliable, of course >.<
+ .@mct=mobcount("000-0-0", "Elmo#sailors::OnStep4");
+ .@x=38; .@y=43;
+ .@x+=.@mct;
+ freeloop(true);
+ while (.@x > 43) {
+ .@x-=5; .@y+=1;
+ }
+ freeloop(false);
+
+ if (.@y <= 47)
+ @mobTarget=monster("000-0-0", 43, 44, l("@@ Dummy", strcharinfo(0)), Dummy, 1, "Elmo#sailors::OnStep4");
+ setq1 ShipQuests_Arpan, 4;
+ close;
+
+L_Step4:
+ percentheal 100,100;
+ mesn "Elmo";
+ mesq l("Did something happen?");
+ mesc l("This is a menu, click on the option and then on submit. You can use arrow keys if you prefer.");
+ mes "";
+ select
+ l(">.< \"The Dummy is a real killer!\""),
+ l("T.T \"Someone else killed my Dummy!\""),
+ l("'.' \"I forgot how to allocate points!\""),
+ l("-.- \"I forgot how to fight!\""),
+ l("._. \"What are these statuses useful for?\""),
+ l("^.^ \"Nothing is wrong, don't worry!\"");
+
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesn "Elmo";
+ mesq l("Well, you don't have a weapon. So, let me explain quickly.");
+ next;
+ mesn "Elmo";
+ mesq l("Don't be afraid of death. Of course, in most places, dying will make you lose some Experience you gathered.");
+ next;
+ mesn "Elmo";
+ mesq l("But you don't have any experience at the moment, so what do you have to lose?");
+ next;
+ mesn "Elmo";
+ mesq l("Try killing it, and if it kills you, just come back from death to continue killing it.");
+ mes l("What I want to say is: Kill non-stop!");
+ next;
+ mesc l("Actually, the Dummy will not fight back. Are you afraid?");
+ break;
+ case 2:
+ .@mct=mobcount("000-0-0", "Elmo#sailors::OnStep4");
+ if (.@mct) {
+ mesn "Elmo";
+ mesq l("It was just south of the island. Try walking around a bit?");
+ } else {
+ npctalk l("Hey, this Dummy is to @@ kill.", strcharinfo(0));
+ monster "000-0-0", 43, 44, l("@@ Dummy", strcharinfo(0)), Dummy, 1, "Elmo#sailors::OnStep4";
+ }
+ break;
+ case 3:
+ showavatar NPC_MAGIC_ARPAN;
+ mesn l("Magic Arpan");
+ mesq l("Yayaya, by pressing @@ or clicking in @@, you'll open your char status window!", b(l("F2")), b(l("STA")));
+ next;
+ mesn l("Magic Arpan");
+ mesq l("You should allocate some attributes to it. You need @@, @@ and @@, on this order of importance.", b(l("Agility")), b(l("Dexterity")), b(l("Strength"))); // b(l("")),
+ break;
+ case 4:
+ mesn "Elmo";
+ mesq l("On a computer, you can press @@ to attack it. On mobile, that would be the big button with the number 1.", b(l("Ctrl")));
+ next;
+ mesn "Elmo";
+ mesq l("Another way to attack it is clicking on it.");
+ break;
+ case 5:
+ mesn "Elmo";
+ mes l("@@ helps you carry more items and also gives you a more forceful blow, but ends up not being very interesting if you focus on weapons that use projectiles, such as the bow.", b(l("Strength")));
+ next;
+ mesn "Elmo";
+ mes l("Greater @@ allows you to attack faster and has a greater chance of evading attacks.", b(l("agility")));
+ next;
+ mesn "Elmo";
+ mes l("@@ determines how many blows you can take before you die. It also affects status effects, like poison.", b(l("Vitality")));
+ next;
+ mesn "Elmo";
+ mes l("@@ is very useful for alchemy and magic, but nowadays there are few opportunities to use it.", b(l("Intelligence")));
+ next;
+ mesn "Elmo";
+ mes l("Your @@ determines your ability to hit monsters and is valuable to players who prefer weapons that use projectiles.", b(l("dexterity")));
+ next;
+ mesn "Elmo";
+ mes l("Your @@ determines several small things, including critical attacks and, limited to a certain extent, affect drop rates.", b(l("luck")));
+ next;
+ mesn "Elmo";
+ mes l("But to defeat this dummy, I would say that %s should do the trick.", b(l("assigning 5 points each to str, agi, dex and luck")));
+ break;
+ }
+ close;
+
+OnStep4:
+ if (getunittype(@mobTarget) != -1 && is_staff())
+ dispbottom ("Hey hey, the monster seems to be alive. Mr. GM, do something about that!");
+ dispbottom l("You free the world from an evil Dummy.");
+ compareandsetq ShipQuests_Arpan, 4, 5;
+ end;
+
+L_Step5:
+ showavatar NPC_MAGIC_ARPAN;
+ mesn l("Magic Arpan");
+ mesq l("Yayaya, good job! You can collect loot by pressing @@.", b("Z"));
+ next;
+ mesn l("Magic Arpan");
+ mes l("I like to talk! If yeye likes too, you can press @@ to open chat box!", b(l("Enter")));
+ mes l("On mobile, you would click on the @@ icon!", b(l("keyboard")));
+ next;
+ mesn l("Magic Arpan");
+ mesq l("The @@ tab allows yeye to talk on Discord, too! Yayaya, fancy, uh?", b("#world"));
+ next;
+ mesn l("Magic Arpan");
+ mesq l("Yeye can press @@ to sit, which will allow you to heal faster.", b("s"));
+ next;
+ showavatar NPC_ELMO;
+ mesn "Elmo";
+ mesq l("You're ready. Let's head back to the ship before the sun sets, shall we?");
+ next;
+ getitem PiouLegs, 3; // Tutorial Reward
+ goto L_Ready;
+
+L_Skip:
+ setq ShipQuests_Arpan, 5;
+ getitem CreasedShirt, 1;
+ getitem CreasedShorts, 1;
+ equip(CreasedShirt);
+ equip(CreasedShorts);
+
+L_Ready:
+ #TUTORIAL_DONE=true;
+ //clearitem(); // The dummy does not drop anything :>
+ if (!##VAULT)
+ resetlvl(2);
+ restorecam;
+ setq General_Narrator, 0;
+ adddefaultskills;
+ percentheal 100,100;
+ addtimer(45000,"Magic Arpan::OnSlow");
+ LOCATION$ = "Candor";
+ warp "002-1@Candor", 53, 38;
+ savepoint "000-1", 22, 22;
+ TUT_VAR=gettimetick(2);
+ closedialog;
+ close;
+
+// Prevent players from forgetting what they were meant to do
+// But if they logout, this will never trigger
+OnSlow:
+ npctalk3 l("Hey @@! You haven't talked to me yet!", strcharinfo(0));
+ addtimer(30000,"Elmo#sailors::OnSlow2");
+ end;
+
+OnSlow2:
+ npctalk3 l("@@, do you need help? Are you lost? Talk to me!", strcharinfo(0));
+ dispbottom l("Click on Elmo or Magic Arpan to continue and begin the game...");
+ addtimer(60000,"Elmo#sailors::OnSlow");
+ end;
+
+OnInit:
+ .sex = G_MALE;
+ end;
+}
+
+000-0-0,29,34,0 script Magic Arpan#sailors NPC_MAGIC_ARPAN,{
+ doevent "Elmo#sailors::OnBegin";
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ end;
+}
diff --git a/npc/000-0-1/_import.txt b/npc/000-0-1/_import.txt
new file mode 100644
index 0000000..fa53df4
--- /dev/null
+++ b/npc/000-0-1/_import.txt
@@ -0,0 +1,3 @@
+// Map 000-0-1: Sailor's Room
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/000-0-1/mf.txt",
diff --git a/npc/000-0-1/mf.txt b/npc/000-0-1/mf.txt
new file mode 100644
index 0000000..c4f4148
--- /dev/null
+++ b/npc/000-0-1/mf.txt
@@ -0,0 +1 @@
+000-0-1 mapflag nosave 000-0,22,22
diff --git a/npc/000-0/_import.txt b/npc/000-0/_import.txt
new file mode 100644
index 0000000..d2f0652
--- /dev/null
+++ b/npc/000-0/_import.txt
@@ -0,0 +1,4 @@
+// Map 000-0: Ocean
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/000-0/mapflags.txt",
+"npc/000-0/sailors.txt",
diff --git a/npc/000-0/mapflags.txt b/npc/000-0/mapflags.txt
new file mode 100644
index 0000000..9b55f66
--- /dev/null
+++ b/npc/000-0/mapflags.txt
@@ -0,0 +1,2 @@
+000-0 mapflag invisible
+000-1 mapflag invisible
diff --git a/npc/000-0/sailors.txt b/npc/000-0/sailors.txt
new file mode 100644
index 0000000..65d06a7
--- /dev/null
+++ b/npc/000-0/sailors.txt
@@ -0,0 +1,282 @@
+// TMW2 Script
+// Modified by Jesusalva
+
+// Evol scripts.
+// Authors:
+// 4144
+// Qwerty Dragon
+// Reid
+// Vasily_Makarov
+// Jesusalva
+// Description:
+// Starting script of Evol Online, modified for TMW2.
+// Translation:
+// FR Translated
+
+000-0,23,19,0 script Sailors NPC_SAILORS,6,6,{
+
+OnTouch:
+ .@q=getq(General_Narrator);
+ if (.@q)
+ end;
+
+ //checkclientversion;
+ .@lang = requestlang();
+ if (.@lang >= 0 && .@lang <= MAX_LANG) Lang = .@lang;
+
+ showavatar 3;
+ if ($EVENT$ == "Steam") goto L_FiresOfSteam;
+
+ mesn "Narrator";
+ mesc l("You open your eyes. The remants of the salt water in your eyes is not particularly helping you see.");
+ mesc l("(Click next button to advance dialogs)"), 3;
+ next;
+ mesc l("What in the world is happening?! Where in Jesusalva's name are you?!");
+ next;
+ if (getvaultid()) {
+ mesc l("Sometimes, you really wish you could visit new universes without having to pick some sort of role on it.");
+ next;
+ }
+ mesc l("Actually. Who are you again? A headache which doesn't want to pass strikes you.");
+ mesc l("You can hear creaking planks and a sail flapping in the storm. A ship?");
+ mesc l("You hear shouting directed at you. Sailors from the ship?");
+ next;
+
+ showavatar NPC_ORC_MAN;
+ setcamnpc "Sailors", -64, -32;
+ mesn l("Orc Voice");
+ mesq lg("Hey kid! Can you hear me?");
+ next;
+
+ showavatar NPC_SILVIO;
+ setcamnpc "Sailors", 0, -32;
+ mesn l("Human Voice");
+ mesq lg("Hear you? How do you even know she can understand you?!", "Hear you? How do you even know he can understand you?!");
+ next;
+
+ showavatar NPC_TRITAN_MAN_SAILOR;
+ setcamnpc "Sailors", 144, -80;
+ mesn l("Tritan Voice");
+ mesq l("We speak various languages on this world. Let's try gesturing!");
+ mesq l("Hey, you on the dune! Can you hear us?!");
+ next;
+ restorecam;
+
+ asklanguage(LANG_ON_SEA);
+
+ showavatar NPC_SAILORS;
+ setcamnpc;
+ mes "";
+ mesn;
+ mesq lg("Oh, she's still alive!", "Oh, he's still alive!");
+ next;
+ showavatar NPC_TRITAN_MAN_SAILOR;
+ setcamnpc "Sailors", 144, -80;
+ mesq lg("This girl needs help, we need to rescue her!", "This boy needs help, we need to rescue him!");
+ next;
+ mesn;
+ mesc l("This is a menu. You can click on the desired option and press \"Send\", and double-clicking should work, too.");
+ mes "";
+ select
+ l("I don't need to be rescued. I'm enjoying myself here."),
+ l("Thanks... I guess..."),
+ l("(Don't respond)");
+ mes "";
+
+ if (@menu == 1) {
+ mesn l("Sailor");
+ mesq l("What do you mean? Do you at least have a rowboat with you?!");
+ next;
+ mesn l("Billy Bons");
+ // Dying of thirst will set in waaaay sooner than dying of hunger.
+ mesq l("We can't let you die of thirst! That wouldn't be cool at all! And I'm very cool!");
+ next;
+ } else if (@menu == 2) {
+ mes ""; // You don't need to thank us!
+ } else {
+ mesn l("Sailor");
+ mesq lg("Oh noes! She fainted! Quick, rescue her!!", "Oh noes! He fainted! Quick, rescue him!!");
+ next;
+ }
+ restorecam;
+
+ showavatar;
+ mesn "Narrator";
+ mesc l("The sailors take you aboard their ship.");
+ mesc l("Click on the NPCs (Non-Player Characters) around you to continue the introduction.");
+ next;
+
+ addtimer(20000,"Elmo#sailors::OnSlow");
+ warp "000-0-0", 30, 36;
+
+ closedialog;
+ close;
+
+L_FiresOfSteam:
+ dispbottom l("Welcome to Moubootaur Legends: ##1Fires of Steam##0");
+ warp "000-0-1", 26, 28;
+ sleep2(25);
+ atcommand("@refresh");
+ asklanguage(LANG_ON_SEA);
+ clear;
+ mesn "Narrator";
+ mesc l("You wake up in the middle of the night. How did you got here? WERE YOU KIDNAPPED?");
+ next;
+ mesn "Narrator";
+ mesc l("Memory slowly returns to you as you start growing aware of your surroundings. That's right, you are on a ship.");
+ next;
+ mesn "Narrator";
+ mesc l("Andrei Sakar, the legendary Hurnscald Hero, as well as a group of alliance members which include yourself, are heading to the continent of Kolev, where is said to be a legendary town which helped the humans from the second era to survive.");
+ next;
+ mesn "Narrator";
+ mesc l("They were sending food and supplies to the Alliance, but in the past months, there was a deadly silence. Not a single sign of life came from there.");
+ next;
+ mesn "Narrator";
+ mesc l("Hoping for the best, but prepared for the worst, you set off to the legendary continent of Kolev; Your destination: Artis.");
+ next;
+ clear;
+ mesc l("Moubootaur Legends presents..."), 3;
+ mes "";
+ mesc b(l(" Fires of Steam ")), 1;
+ mesc l("- The Death of Andrei Sakar -"), 1;
+ mes "";
+ mesc l("An event to prepare for the Steam Release"), 2;
+ mes "";
+ next;
+ mes "";
+ mes "";
+ mesn strcharinfo(0);
+ mesq l("We'll be arriving at Artis by the dawn, where Elora will be waiting for us. I can only hope, that the denizens are okay...");
+ next;
+ clear;
+ GameRules(8 | 4);
+ clear;
+ closeclientdialog;
+OnForceReset:
+ freeloop(true);
+ while (BaseLevel < 80)
+ getexp NextBaseExp, 100;
+ freeloop(false);
+ setq ShipQuests_Arpan, 5;
+ setq General_Narrator, 21;
+ consoleinfo "New account: %d (%s)", getcharid(3), getcharip();
+ if (array_find($@IPBLIST$, getcharip()) >= 0)
+ #TUTORIAL_DONE=true;
+ else
+ array_push($@IPBLIST$, getcharip());
+ if (!#TUTORIAL_DONE) {
+ .@acc=any(Mustache, Beard, HeartGlasses, Sunglasses, EyePatch, Shemagh, Monocle, Googles, BurglarMask, BanditMask, Shemagh);
+ .@ac2=any(OldTowel, SantaGlobe, RedStocking, LeatherBall, Doll, ZarkorScroll, ThetaBook, AshUrn, RubberDucky, DragonStar, BronzeQuiver, AstralCube, PlushMouboo, PlushMouboo, GraduationAlbum);
+ .@hat=any(TopHat, CaptainHat, SmileyCap, BowlerHat, DesertHat, PirateBandana, KnitHat, RightEyePatch, AntlersHat, BunnyEars, AxeHat, PaperBag, ShroomHat, AFKCap, BrimmedFeatherHat, CatEars, Earmuffs, CorsairHat, SailorHat, ChefHat, SkullMask, LeprechaunHat, PrsmHelmet, ImperialCrown, ClericCap);
+ .@ha2=any(DarkKnightHelmet, VikingHelmet, TerraniteMask, CenturionHelmet, ChemistHelmet, BullHelmet, DarkHelm, SamuraiHelmet, SamuraiHelmet);
+ .@che=any(RedknightArmor, AssassinChest, SaviorArmor, TerraniteArmor, GraduationRobe, GoldenWarlordPlate, RedknightArmor);
+ .@pan=any(JeansChaps, LeatherTrousers, AssassinPants, TerranitePants, BromenalPants, ChainmailSkirt, AssassinPants, ChainmailSkirt, AssassinPants);
+ .@sho=any(DeepBlackBoots, HeliosBoots, WizardMoccasins, WarlordBoots, TerraniteBoots, AssassinBoots, WitchBoots, RedStockings, DeepBlackBoots, DeepBlackBoots);
+ .@nec=any(BarbarianAmulet, GoldenFourLeafAmulet, PlatinumFourLeafAmulet, BarbarianMasterAmulet, MoubooPendant, LifestonePendant, AlvasusPendant, ToothNecklace);
+ .@rin=any(GoldenPearlRing, GoldenBlackPearlRing);
+ .@glo=any(WarlordGloves, AssassinGloves, TerraniteGloves, ManaGloves, SarabArmlet, LeatherGloves, MinerGloves);
+ .@shi=any(EnchantedHerbBag, RentCart, Barrel, MasterBola, PiouBola, AncientShield, BlueKnightShield, SteelShield, DragonShield, SnakeBola);
+ .@wpn=any(Setzer, Kitana, Lightsaber, BoneKnife, AncientSword, LongSword, RockKnife, DivineSword, CentaurSpear, Zambacutou, CursedScythe, Halberd, PynRifle, PynGatling, PynShotgun, PynRevolver, Dustynator, ChampionshipBow, BansheeBow, LeaderWand, ImmortalSword, MysticWand, ChampionshipBow, BansheeBow, LeaderWand, MysticWand);
+ .@bon=any(Pickaxe, Kanabo, ElficBow, Judgement, ThunderStaff, ReinbooWand, DarkPulsar, Skypiercer, IceGladius, RealBronzeGladius, PurpleBola, KidBola, SilkGloves, ClawPendant, Boots, LuffyxSummerShorts, UglyChristmasSweater, MinerTankTop, ContributorSweater, LinarianSoul, TuxSoul, DeliciousCookie, DarkEggshellHat, Wreath);
+ .@pet=any(PiouEgg, BhopEgg, MaggotCocoon, DoggyDog, CattyCat, BlackyCat, Ratte, ForestShroomEgg, FluffyEgg, DuckEgg, BatEgg, MoggunEgg, PinkieCrystal, DragonHorn, TamedSnakeEgg);
+ getitem .@acc, 1;
+ getitem .@ac2, 1;
+ getitem .@hat, 1;
+ getitem .@ha2, 1;
+ getitem .@che, 1;
+ getitem .@pan, 1;
+ getitem .@sho, 1;
+ getitem .@nec, 1;
+ getitem .@rin, 1;
+ getitem .@glo, 1;
+ getitem .@shi, 1;
+ getitem .@wpn, 1;
+ getitem .@bon, 1;
+ getitem .@pet, 1;
+ equip(.@acc);
+ equip(.@ac2);
+ equip(.@hat);
+ equip(.@ha2);
+ equip(.@che);
+ equip(.@pan);
+ equip(.@nec);
+ equip(.@rin);
+ equip(.@glo);
+ equip(.@shi);
+ equip(.@wpn);
+ Zeny+=rand2(10000, 60000);
+ }
+ adddefaultskills();
+ sk_lvup(AL_DP);
+ sk_lvup(AL_DP);
+ sk_lvup(AL_DP);
+ sk_lvup(AL_DP);
+ sk_lvup(AL_DP);
+ sk_lvup(AL_DP);
+ sk_lvup(AL_DP);
+ sk_lvup(TMW2_TRANSMIGRATION);
+ sk_lvup(AM_REST);
+ sk_lvup(AM_RESURRECTHOMUN);
+ sk_lvup(AM_CALLHOMUN);
+ sk_lvup(TMW2_CRAFT);
+ sk_lvup(TMW2_CRAFT);
+ sk_lvup(TMW2_CRAFT);
+ sk_lvup(TMW2_CRAFT);
+ sk_lvup(TMW2_CRAFT);
+ sk_lvup(TMW2_ANCIENTLANGUAGES);
+ sk_lvup(TMW2_MANABOMB);
+ sk_lvup(TMW2_GROUNDSTRIKE);
+ sk_lvup(TMW2_NAPALMBEAT);
+ sk_lvup(TMW2_ARROWSHOWER);
+ sk_lvup(any(ALL_INCCARRY, TF_STEAL, MC_VENDING, MC_DISCOUNT, MC_OVERCHARGE));
+ sk_lvup(any(AC_OWL, SA_DRAGONOLOGY, TMW2_SAGE, CR_TRUST, SM_PROVOKE, ALL_FULL_THROTTLE, SA_FREECAST, TF_BACKSLIDING, NV_TRICKDEAD, MG_FIREWALL, SO_FIREWALK, GC_DARKILLUSION));
+ sk_lvup(any(AC_OWL, SA_DRAGONOLOGY, TMW2_SAGE, CR_TRUST, SM_PROVOKE, ALL_FULL_THROTTLE, SA_FREECAST, TF_BACKSLIDING, NV_TRICKDEAD, MG_FIREWALL, SO_FIREWALK, GC_DARKILLUSION));
+ sk_lvup(any(TMW2_KALMURK, TMW2_DRAGOKIN, TMW2_LIMERIZER, TMW2_HALHISS));
+ sk_lvup(any(TMW2_KALWULF, TMW2_FAIRYKINGDOM, TMW2_FROZENHEART, TMW2_STONEHEART));
+ sk_lvup(any(TMW2_KALBOO, TMW2_KALSPIKE, TMW2_CUTEHEART, TMW2_PLANTKINGDOM, TMW2_FAIRYEMPIRE));
+ sk_lvup(any(TMW2_FIRSTAID, TMW2_HEALING, TMW2_MAGNUSHEAL, EVOL_AREA_PROVOKE));
+ sk_lvup(any(TMW2_FIRSTAID, TMW2_HEALING, TMW2_MAGNUSHEAL, EVOL_AREA_PROVOKE));
+ sk_lvup(any(TMW2_FROSTDIVER, TMW2_NAPALMBEAT, TMW2_MAGICSTRIKE, TMW2_METEORSTRIKE, TMW2_FIREARROW, TMW2_BRAWLING, TMW2_FALKONSTRIKE, TMW2_CHARGEDARROW));
+ sk_lvup(any(TMW2_FROSTDIVER, TMW2_NAPALMBEAT, TMW2_MAGICSTRIKE, TMW2_METEORSTRIKE, TMW2_FIREARROW, TMW2_BRAWLING, TMW2_FALKONSTRIKE, TMW2_CHARGEDARROW));
+ sk_lvup(any(TMW2_FROSTDIVER, TMW2_NAPALMBEAT, TMW2_MAGICSTRIKE, TMW2_METEORSTRIKE, TMW2_FIREARROW, TMW2_BRAWLING, TMW2_FALKONSTRIKE, TMW2_CHARGEDARROW));
+ sk_lvup(any(TMW2_FROSTNOVA, TMW2_HOLYLIGHT, TMW2_LIGHTNINGBOLT, TMW2_METEORSHOWER, TMW2_FIREBALL, TMW2_BEARSTRIKE, TMW2_SUPREMEATTACK, SN_SHARPSHOOTING));
+ sk_lvup(any(TMW2_FROSTNOVA, TMW2_HOLYLIGHT, TMW2_LIGHTNINGBOLT, TMW2_METEORSHOWER, TMW2_FIREBALL, TMW2_BEARSTRIKE, TMW2_SUPREMEATTACK, SN_SHARPSHOOTING));
+ sk_lvup(any(TMW2_NILFHEIM, TMW2_JUDGMENT, TMW2_TEMPEST, TMW2_GAIABREAK, TMW2_ARMAGEDDON, TMW2_ALLINONE, TMW2_GROUNDSTRIKE, TMW2_ARROWSHOWER, SN_WINDWALK));
+ sk_lvup(any(TMW2_GDP_MAXPOWER, TMW2_GDP_SPREGEN));
+ getitembound GuildCoin, rand2(500), 4;
+ getitembound any(StrengthFruit, AgilityFruit, VitalityFruit, IntelligenceFruit, DexterityFruit, LuckFruit), 1, 4;
+ getitembound any(StrengthFruit, AgilityFruit, VitalityFruit, IntelligenceFruit, DexterityFruit, LuckFruit), 1, 4;
+ getitembound any(SacredBullet, EvilBullet), 400, 4;
+ getitembound any(ThornArrow, PoisonArrow, CursedArrow), 400, 4;
+ getitembound DeathPenalty, rand2(18), 4;
+ getitembound ScentGrenade, rand2(4), 4;
+ getitembound InsuranceContract, 1, 4;
+ getitembound Wurtzite, 6, 4;
+ getitembound MercCard_AndreiSakar, 1, 4;
+ getitembound RecipeBook, 1, 1;
+ getitembound Bread, 10, 4;
+ percentheal 100,100;
+ LOCATION$ = "Artis";
+ TUT_VAR=gettimetick(2);
+ #TUTORIAL_DONE=true;
+ #REG_DATE=gettimetick(2);
+ TUTORIAL=true;
+ CRAFTQUEST=true;
+ MPQUEST=true;
+ MAGIC_LVL=7;
+ savepoint "029-0", 202, 85;
+ if (!@forcereset)
+ warp "029-0", 202, 85;
+ close;
+
+OnForceReset2:
+ logmes(sprintf("%s - Reset Forced by System Admin", getcharid(3)));
+ #TUTORIAL_DONE=false;
+ @forcereset=true;
+ goto OnForceReset;
+
+OnInit:
+ .sex = G_MALE;
+ bindatcmd "sakarfr", "Sailors::OnForceReset2", 100, 99, 1;
+ end;
+}
diff --git a/npc/000-1/_import.txt b/npc/000-1/_import.txt
new file mode 100644
index 0000000..ec2c18b
--- /dev/null
+++ b/npc/000-1/_import.txt
@@ -0,0 +1,3 @@
+// Map 000-1: Jesusalva's Trap
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/000-1/exit.txt",
diff --git a/npc/000-1/exit.txt b/npc/000-1/exit.txt
new file mode 100644
index 0000000..aed9a8c
--- /dev/null
+++ b/npc/000-1/exit.txt
@@ -0,0 +1,32 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Special Soul Menhir which only allows leaving the map.
+
+000-1,22,22,0 script Emergency Exit NPC_SOUL_CURSED,2,2,{
+OnTouch:
+OnTalk:
+OnTalkNearby:
+ // At any time, if you can't leave Nard ship, you must go to nard ship
+ if (!getq(General_Narrator) && getq(ShipQuests_Julia) < 3) {
+ warp "002-1@Candor", 53, 38;
+ end;
+ }
+
+ // Switch LOCATION$ and warp to nearest town's Soul Menhir
+ .@lx=array_find($@LOCMASTER_LOC$, LOCATION$);
+ if (.@lx >= 0) {
+ warp $@LOCMASTER_MAP$[.@lx], $@LOCMASTER_X[.@lx], $@LOCMASTER_Y[.@lx];
+ end;
+ }
+
+ //if (getsavepoint(0) != "000-1") warp getsavepoint(0), getsavepoint(1), getsavepoint(2);
+ if (getsavepoint(0) != "000-1") teleporthome();
+ if (getsavepoint(0) != "000-1") end;
+ //savepoint "002-1", 53, 38;
+ warp "002-1", 53, 38;
+ end;
+
+}
+
diff --git a/npc/001-1/_import.txt b/npc/001-1/_import.txt
new file mode 100644
index 0000000..71cb54d
--- /dev/null
+++ b/npc/001-1/_import.txt
@@ -0,0 +1,9 @@
+// Map 001-1: Floating Island of Aeros
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/001-1/bgmaster.txt",
+"npc/001-1/eventmaster.txt",
+"npc/001-1/mahul.txt",
+"npc/001-1/mapflags.txt",
+"npc/001-1/portal.txt",
+"npc/001-1/rewards.txt",
+"npc/001-1/wateranimation.txt",
diff --git a/npc/001-1/bgmaster.txt b/npc/001-1/bgmaster.txt
new file mode 100644
index 0000000..cd4af38
--- /dev/null
+++ b/npc/001-1/bgmaster.txt
@@ -0,0 +1,349 @@
+// TMW2 Scripts.
+// Author:
+// Jesusalva
+// Description
+// Cassia and her lieutenants manages Aeros Battlegrounds
+
+001-1,96,37,0 script Cassia NPC_FEMALE,{
+ mesn;
+
+ if (is_gm()) goto L_Control;
+ if ($@BGMaster1) goto L_Busy;
+
+L_Intro:
+ mesq l("Hello! I am Cassia, Ambassator. During the Monster War outbreak, Halinarzo was almost entirely destroyed.");
+ next;
+ mesq l("To train their soldiers, they frequently face Frostia in duels. Adventurers are welcome to join their drills.");
+ next;
+ mesq l("To join a drill, right click on one of the lieutenants and join their Battle Stations. The drill can last up to 10 minutes.");
+ next;
+ mesq l("The sides accept only one adventurer. You'll also lose access to General Chat upon joining, and will have to use #world.");
+ next;
+ mesq l("Be sure to have a friend before joining, or you may have to logout in order to be able to move again!");
+ close;
+
+L_Close:
+ close;
+
+L_Busy:
+ if ($@BGMaster1 == 2) {
+ mesq l("The soldiers are resting at the moment.");
+ } else {
+ mesq l("People are challenging now.");
+ }
+ close;
+
+L_Control:
+ menu
+ l("Introduce"), L_Intro,
+ rif($@BGMaster1 != 1 && is_gm(),l("Enable BG")), L_On,
+ l("Disable BG"), L_Off,
+ rif(is_admin(), l("Solo Try")), L_Beta;
+
+L_On:
+ mes "";
+ mes l("Determine Team Size +1 (so 1 each side, use 2)");
+ input $@BG1_SIZE;
+ if ($@BG1_SIZE < 2) close;
+
+ donpcevent "Lt. Randy::OnSet";
+ donpcevent "Lt. Gerry::OnSet";
+ kickwaitingroomall("Lt. Randy");
+ kickwaitingroomall("Lt. Gerry");
+
+ if ($@BGMaster1 == 2) $@BGMaster1=0;
+ enablenpc "Lt. Randy";
+ enablenpc "Lt. Gerry";
+ mapannounce "001-1", l("Frostia and Halinarzo are now on a spar!"), bc_map;
+ mes "Event enabled.";
+ close;
+
+L_Off:
+ delwaitingroom("Lt. Randy");
+ delwaitingroom("Lt. Gerry");
+ disablenpc "Lt. Randy";
+ disablenpc "Lt. Gerry";
+ mes "Event disabled.";
+ close;
+
+OnPcQuit:
+ warp "002-4", 0, 0;
+ bg_leave();
+ end;
+
+OnPcDeath:
+ warp "002-4", 0, 0;
+ bg_leave();
+ end;
+
+OnTimer60000:
+ if (getmapusers("001-2") < 2 || .BGC > 10) goto L_Cancel;
+
+ mapannounce("001-2", "Reinforcements raise!", bc_map);
+ //$@FKing_T1 = bg_monster($@FK_Team1, "001-2", 125, 38, "Frostia Guard", 1081, "Cassia::OnSkip");
+ bg_monster($@FK_Team1, "001-2", rand(105, 108), rand(37, 80), "Frostia Guard", FallenGuard1, "Cassia::OnSkip");
+ //$@FKing_T2 = bg_monster($@FK_Team2, "001-2",124, 213, "Halinarzo Guard", 1082, "Cassia::OnSkip");
+ bg_monster($@FK_Team2, "001-2", rand(142, 145), rand(37, 80), "Halinarzo Guard", FallenGuard2, "Cassia::OnSkip");
+ .BGC+=1;
+ stopnpctimer();
+ initnpctimer();
+ end;
+
+// Arena Cooldown (every 8 hours) (CET time)
+OnClock0001:
+OnClock0801:
+OnClock1601:
+ if ($@BGMaster1 == 2) $@BGMaster1=0;
+ end;
+
+OnSkip:
+ end;
+
+L_Skip:
+ end;
+
+L_RestartTimer:
+ stopnpctimer();
+ initnpctimer();
+ end;
+
+L_Cancel:
+ if ($@GM_OVERRIDE)
+ end;
+ stopnpctimer();
+ announce "The Fallen Kings Duel ended in a draw!", bc_all;
+ killmonsterall "001-2";
+
+ mapwarp "001-2", "001-1", 235, 27;
+ bg_destroy($@FK_Team1);
+ bg_destroy($@FK_Team2);
+ $@BGMaster1=2;
+ end;
+
+OnVictor1:
+ if (!$@BGMaster1) goto L_Skip;
+ stopnpctimer();
+ announce "Team 1 raises victorious at the Fallen Kings Duel!", bc_all; // TODO: Give players a reward
+ killmonsterall "001-2";
+ //delcells "Wall_0012_left";
+ //delcells "Wall_0012_right";
+
+ mapwarp "001-2", "001-1", 117, 72;
+ bg_destroy($@FK_Team1);
+ bg_destroy($@FK_Team2);
+ $@BGMaster1=2;
+ end;
+
+OnVictor2:
+ if (!$@BGMaster1) goto L_Skip;
+ stopnpctimer();
+ announce "Team 2 raises victorious at the Fallen Kings Duel!", bc_all;
+ killmonsterall "001-2";
+ //delcells "Wall_0012_left";
+ //delcells "Wall_0012_right";
+
+ mapwarp "001-2", "001-1", 117, 72;
+ bg_destroy($@FK_Team1);
+ bg_destroy($@FK_Team2);
+ $@BGMaster1=2;
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, GMRobe); // Dress
+ setunitdata(.@npcId, UDT_HEADMIDDLE, NPCEyes); // Not needed
+ setunitdata(.@npcId, UDT_HEADBOTTOM, LousyMoccasins); // Shoes
+ setunitdata(.@npcId, UDT_WEAPON, 3501);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 12);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 5);
+ npcsit;
+
+ .sex = G_FEMALE;
+ .distance = 7;
+ /*
+ // This script is TODO
+ if (!debug) {
+ disablenpc "Cassia";
+ }*/
+ end;
+
+OnDoEvent:
+ //setcells "001-2", 109, 37, 109, 213, 3, "Wall_0012_left";
+ //setcells "001-2", 141, 37, 141, 213, 3, "Wall_0012_right";
+ .BGC=0;
+ mapannounce("001-2", "May the fight begin!", bc_map);
+ $@FKing_T1 = bg_monster($@FK_Team1, "001-2", rand(105, 108), rand(37, 80), "Frostia King", FallenKing1, "Cassia::OnVictor2");
+ $@FKing_T2 = bg_monster($@FK_Team2, "001-2", rand(142, 145), rand(37, 80), "Halinarzo King", FallenKing2, "Cassia::OnVictor1");
+ bg_monster($@FK_Team1, "001-2", rand(105, 108), rand(37, 80), "Frostia Guard", FallenGuard1, "Cassia::OnSkip");
+ bg_monster($@FK_Team2, "001-2",rand(142, 145), rand(37, 80), "Halinarzo Guard", FallenGuard2, "Cassia::OnSkip");
+ initnpctimer();
+ end;
+
+L_Beta:
+ $@BGMaster1 = 1;
+
+ $@FK_Team1 = bgnew("001-2",rand(105, 108), rand(37, 80),"start#bat_a02::OnSide1Quit","");
+ $@FK_Team2 = bgnew("001-2",rand(142, 145), rand(37, 80),"start#bat_a02::OnSide2Quit","");
+
+ bgjoin($@FK_Team1, "001-2", rand(105, 108), rand(37, 80), getcharid(3));
+
+ setbgteam $@FK_Team1, 1;
+ setbgteam $@FK_Team2, 2;
+
+ //bg_warp $@FK_Team1,"001-2",rand(105, 108), rand(37, 80);
+ //bg_warp $@FK_Team2,"001-2",rand(142, 145), rand(37, 80);
+
+ donpcevent "Cassia::OnDoEvent";
+ //initnpctimer;
+ end;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+001-1,94,36,0 script Lt. Randy NPC_ELF,{
+ hello;
+ end;
+
+OnSet:
+ waitingroom("Battle Station R", $@BG1_SIZE, "start#bat_a02::OnReadyCheck", $@BG1_SIZE-1);
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, LightPlatemail); // Light armor
+ setunitdata(.@npcId, UDT_HEADMIDDLE, JeansShorts); // Pants
+ setunitdata(.@npcId, UDT_HEADBOTTOM, LousyMoccasins); // Shoes
+ setunitdata(.@npcId, UDT_WEAPON, BugSlayer);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 13);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 7);
+
+ //waitingroom("Battle Station", 2, "start#bat_a02::OnReadyCheck", 1);
+
+ disablenpc("Lt. Randy");
+ end;
+
+OnEnterBG:
+ $@FK_Team1 = waitingroom2bg("001-2",rand(105, 108), rand(37, 80),"start#bat_a02::OnSide1Quit","");
+ end;
+}
+
+001-1,98,36,0 script Lt. Gerry NPC_ELF,{
+ hello;
+ end;
+
+OnSet:
+ waitingroom("Battle Station G", $@BG1_SIZE, "start#bat_a02::OnReadyCheck", $@BG1_SIZE-1);
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, TerraniteArmor); // Terranite armor
+ setunitdata(.@npcId, UDT_HEADMIDDLE, JeansShorts); // Pants
+ setunitdata(.@npcId, UDT_HEADBOTTOM, LousyMoccasins); // Shoes
+ setunitdata(.@npcId, UDT_WEAPON, BugSlayer);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 13);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 7);
+
+ //waitingroom("Battle Station", 2, "start#bat_a02::OnReadyCheck", 1);
+
+ disablenpc("Lt. Gerry");
+ end;
+
+OnEnterBG:
+ $@FK_Team2 = waitingroom2bg("001-2",rand(142, 145), rand(37, 80),"start#bat_a02::OnSide2Quit","");
+ end;
+}
+
+//== Tierra Gorge Battleground Engine ======================
+001-2,0,0,3 script start#bat_a02 NPC_HIDDEN,{
+OnInit:
+ //mapwarp "bat_a02","bat_room",154,150;
+ end;
+
+OnEnable:
+ end;
+
+OnSide1Quit:
+OnSide2Quit:
+ bg_leave;
+ end;
+
+OnReadyCheck:
+ if( $@BGMaster1 )
+ end;
+ .@Guillaume = getwaitingroomstate(0,"Lt. Randy");
+ .@Croix = getwaitingroomstate(0,"Lt. Gerry");
+ if( !.@Guillaume && !.@Croix ) {
+ donpcevent "#bat_a02_timer::OnStop";
+ end;
+ }
+ else if( .@Guillaume < 1 || .@Croix < 1 )
+ end;
+ $@BGMaster1 = 1;
+ donpcevent "Lt. Randy::OnEnterBG";
+ donpcevent "Lt. Gerry::OnEnterBG";
+ setbgteam $@FK_Team1, 1;
+ setbgteam $@FK_Team2, 2;
+ bg_warp $@FK_Team1,"001-2",rand(105, 108), rand(37, 80);
+ bg_warp $@FK_Team2,"001-2",rand(142, 145), rand(37, 80);
+ donpcevent "Cassia::OnDoEvent";
+ //initnpctimer;
+ end;
+}
+
diff --git a/npc/001-1/eventmaster.txt b/npc/001-1/eventmaster.txt
new file mode 100644
index 0000000..add05c4
--- /dev/null
+++ b/npc/001-1/eventmaster.txt
@@ -0,0 +1,854 @@
+// TMW2 Script
+// Author:
+// Jesusalva, Saulc
+// Description:
+// This GM NPC controls spawns and item drops on Aeros
+// Monsters are sorted alphabetically, except bif
+
+001-1,250,20,0 script Mana Being#001-1 NPC_ALIGE_OUTSIDE_BARREL,{
+ function spawner { // (memo, ID, amount)
+ // First argument is a memorand for Script Writers, usually name. It must be present, but can have whatever value you want. (Unused)
+
+ // [0] East [1] West [2] Full
+ switch($@AEROS_SPWN) {
+ case 1:
+ areamonster("001-1", 20, 20, 140, 140, strmobinfo(1, getarg(1)), getarg(1), getarg(2), "Mana Being#001-1::OnAerosMobDeath");
+ break;
+ case 2:
+ areamonster("001-1", 20, 20, 340, 160, strmobinfo(1, getarg(1)), getarg(1), getarg(2), "Mana Being#001-1::OnAerosMobDeath");
+ break;
+ default:
+ areamonster("001-1", 171, 20, 340, 160, strmobinfo(1, getarg(1)), getarg(1), getarg(2), "Mana Being#001-1::OnAerosMobDeath");
+ break;
+ }
+ }
+
+ function mkitem { // ( ID{, Amount} )
+ // [0] East [1] West [2] Full makeitem
+ switch($@AEROS_SPWN) {
+ case 1:
+ for (.@i = 0; .@i < getarg(1,1); .@i++)
+ makeitem(getarg(0), 1, "001-1", rand(20,140), rand(20,140));
+ break;
+ case 2:
+ for (.@i = 0; .@i < getarg(1,1); .@i++)
+ makeitem(getarg(0), 1, "001-1", rand(20,340), rand(20,160));
+ break;
+ default:
+ for (.@i = 0; .@i < getarg(1,1); .@i++)
+ makeitem(getarg(0), 1, "001-1", rand(171,320), rand(158,340));
+ break;
+ }
+ }
+
+ function buryitem { // ( ID{, Amount} )
+ // [0] East [1] West [2] Full makeitem
+ switch($@AEROS_SPWN) {
+ case 1:
+ shovel_scatter("001-1", 20, 20, 140, 140, getarg(1,1), getarg(0));
+ break;
+ case 2:
+ shovel_scatter("001-1", 20, 20, 340, 160, getarg(1,1), getarg(0));
+ default:
+ shovel_scatter("001-1",171, 20, 340, 160, getarg(1,1), getarg(0));
+ }
+ }
+
+ .@curmobc=mobcount("001-1", "Mana Being#001-1::OnAerosMobDeath");
+ if (!is_gm()) goto L_Unauthorized;
+ if ($HARDCORE) goto L_Unauthorized;
+
+ @log_spawns=0;
+ @log_mode=$@AEROS_SPWN;
+ @log_ratio=$coinsrate;
+ logmes "Aeros Control Panel was open.", LOGMES_ATCOMMAND;
+
+ mesn;
+ mes "Tired of walking the whole Aeros to spawn monsters, I was brought to existence.";
+ mes "Monsters left: "+str(.@curmobc);
+
+L_Menu:
+ mes "";
+ mes "Please select operation.";
+ menu
+ "Close", L_Close,
+ "Start/End Event", L_EventHandler,
+ "Spawn", L_Spawn,
+ rif(countitem(StrangeCoin) >= 10, "Drop stuff! (10x Coins)"), L_Drop,
+ "Reconfigure spawn/warp points", L_Conf,
+ rif(.WALL, "Open Extension"), L_DelWall,
+ rif(!.WALL, "Close Extension"), L_AddWall,
+ rif(is_master(), "Adjust coins drop rate"), L_Rate;
+
+L_Unauthorized:
+ //dispbottom l("I am too far away to talk. Weird floating thingy...");
+ dispbottom l("Monsters left: @@", .@curmobc);
+ end;
+
+L_Close:
+ if (@log_spawns > 0) logmes "spawned "+str(@log_spawns)+" beigns at Aeros.", LOGMES_ATCOMMAND;
+ if (@log_ratio != $coinsrate) logmes "set aeros ratio from "+str(@log_ratio)+" to "+str($coinsrate), LOGMES_ATCOMMAND;
+ if (@log_mode == $@AEROS_SPWN) logmes "configured aeros spawn area to "+str($@AEROS_SPWN), LOGMES_ATCOMMAND;
+ logmes "Aeros Control Panel was closed normally.", LOGMES_ATCOMMAND;
+ close;
+
+L_Spawn:
+ mes "";
+ mes "Spawn from a preset (with intended levels) from this menu. Otherwise, use @aeros with same syntax.";
+ mes "(agr) means Agressive Monsters on the set, DO NOT ABUSE.";
+ next;
+ menu
+ "Abort", L_Menu,
+ "Presets", L_Preset,
+ "Normal (Lv <50)", L_Norm,
+ "Normal (Lv >50)", L_Norm2,
+ "Plants", L_Plants,
+ "Looters", L_Sli,
+ "Aggressive", L_Agr,
+ //"Assistants", L_Ass,
+ "GM Event Only", L_EventOnly,
+ "Boss", L_Boss;
+
+// NOTE: New Presets weren't added since ... long time ago.
+L_Preset:
+ select
+ "Abort", // 1
+ "20x Piou, Piousse, Ratto, 10x Croc", // 2
+ "20x Little Blub, 10x Plushroom Field", // 3
+ "(agr) 5x Tipiu, 10x Cave Maggot, 10x Bat", // 4
+ "20x Scorpion, 10x Duck, 10x Maggot", // 5
+ "10x Red Scorpion, 20x Fire Goblin, 5x Mana Ghost", // 6
+ "(agr) 1x Saxso Ghost, 20x House Maggot", // 7
+ "(agr) 5x Slime Blast, 5x Red Slime, 10x White Slime", // 8
+
+ "(agr) 5x Mouboo, 4x Bandit, 2x Black Scorpion", // 9
+ "10x Giant Maggot, 10x Cave Snake, 10x Mana Bug", // 10
+ "1x Golden/Night Scorpion, 2x Santa Slime, 5x Copper Slime", // 11
+ "(agr) 2x Fallen Guards", // 12
+
+ "(agr) 5x Old Snake, 4x Grass Snake, 3x Snake", // 13
+ "(agr) 4x Pollet, 3x Wolvern", // 14
+ "5x of each fairy", // 15
+ "(agr) 1x of each slime mother", // 16
+ "(agr) 1x of each skull slime", // 17
+
+ "20x Bat, 10x Crafty, 5x Troll", // 18
+ "(agr) 5x Forain, 5x Yeti, 5x Centaur", // 19
+ "(agr) 10x Gobo Bear, 10x Terra, 5x Terra Protector", // 20
+ "(agr) 1x Reaper, 1x Michel, 2x JackO, 5x Skellington", // 21
+ "1x of each Pixie", // 22
+ "(agr) 20x Pinkie, 10x Suseran, 7x Maximus", // 23
+
+ "7x3 random Chests and mimics", // 24
+ "10x Clover Path, 5 groups of 5 random Bifs", // 25
+ "5x Bifs, 4 groups of 5 random Bifs"; // 26
+
+ switch (@menu) {
+ case 1:
+ goto L_Spawn;
+ break;
+ //"20x Piou, Piousse, Ratto, 10x Croc", // 2
+ //"20x Little Blub, 10x Plushroom Field", // 3
+ //"(agr) 5x Tipiu, 10x Cave Maggot, 10x Bat", // 4
+ //"20x Scorpion, 10x Duck, 10x Maggot", // 5
+ //"10x Red Scorpion, 20x Fire Goblin, 5x Mana Ghost", // 6
+ //"(agr) 1x Saxso Ghost, 20x House Maggot", // 7
+ //"(agr) 5x Slime Blast, 5x Red Slime, 10x White Slime", // 8
+ case 2:
+ spawner(strmobinfo(1, Piou), Piou, 20);
+ spawner(strmobinfo(1, Piousse), Piousse, 20);
+ spawner(strmobinfo(1, Ratto), Ratto, 20);
+ spawner(strmobinfo(1, Croc), Croc, 10);
+ @log_spawns=@log_spawns+70;
+ break;
+ case 3:
+ spawner(strmobinfo(1, LittleBlub), LittleBlub, 20);
+ spawner(strmobinfo(1, PlushroomField), PlushroomField, 10);
+ @log_spawns=@log_spawns+30;
+ break;
+ case 4:
+ spawner(strmobinfo(1, Tipiu), Tipiu, 5);
+ spawner(strmobinfo(1, CaveMaggot), CaveMaggot, 10);
+ spawner(strmobinfo(1, Bat), Bat, 10);
+ @log_spawns=@log_spawns+25;
+ break;
+ case 5:
+ spawner(strmobinfo(1, Scorpion), Scorpion, 20);
+ spawner(strmobinfo(1, Duck), Duck, 10);
+ spawner(strmobinfo(1, Maggot), Maggot, 10);
+ @log_spawns=@log_spawns+40;
+ break;
+ case 6:
+ spawner(strmobinfo(1, RedScorpion), RedScorpion, 10);
+ spawner(strmobinfo(1, ManaBug), FireGoblin, 20);
+ spawner(strmobinfo(1, ManaGhost), ManaGhost, 5);
+ @log_spawns=@log_spawns+35;
+ break;
+ case 7:
+ spawner(strmobinfo(1, SaxsoGhost), SaxsoGhost, 1);
+ spawner(strmobinfo(1, HouseMaggot), HouseMaggot, 20);
+ @log_spawns=@log_spawns+21;
+ break;
+ case 8:
+ spawner(strmobinfo(1, SlimeBlast), SlimeBlast, 5);
+ spawner(strmobinfo(1, RedSlime), RedSlime, 5);
+ spawner(strmobinfo(1, WhiteSlime), WhiteSlime, 10);
+ @log_spawns=@log_spawns+20;
+ break;
+
+ //"(agr) 5x Mouboo, 4x Bandit, 2x Black Scorpion", // 9
+ //"10x Giant Maggot, 10x Cave Snake, 10x Mana Bug", // 10
+ //"1x Golden/Night Scorpion, 2x Santa Slime, 5x Copper Slime", // 11
+ //"(agr) 2x Fallen Guards", // 12
+ case 9:
+ spawner(strmobinfo(1, Mouboo), Mouboo, 5);
+ spawner(strmobinfo(1, Bandit), Bandit, 4);
+ spawner(strmobinfo(1, BlackScorpion), BlackScorpion, 2);
+ @log_spawns=@log_spawns+11;
+ break;
+ case 10:
+ spawner(strmobinfo(1, GiantMaggot), GiantMaggot, 10);
+ spawner(strmobinfo(1, CaveSnake), CaveSnake, 10);
+ spawner(strmobinfo(1, ManaBug), ManaBug, 10);
+ @log_spawns=@log_spawns+30;
+ break;
+ case 11:
+ spawner(strmobinfo(1, GoldenScorpion), GoldenScorpion, 1);
+ spawner(strmobinfo(1, NightScorpion), NightScorpion, 1);
+ spawner(strmobinfo(1, SantaSlime), SantaSlime, 5);
+ spawner(strmobinfo(1, CopperSlime), CopperSlime, 10);
+ @log_spawns=@log_spawns+17;
+ break;
+ case 12:
+ spawner(strmobinfo(1, FallenGuard1), FallenGuard1, 1);
+ spawner(strmobinfo(1, FallenGuard2), FallenGuard2, 1);
+ @log_spawns=@log_spawns+2;
+ break;
+
+ //"(agr) 5x Old Snake, 4x Grass Snake, 3x Snake", // 13
+ //"(agr) 4x Pollet, 3x Wolvern", // 14
+ //"5x of each fairy", // 15
+ //"(agr) 1x of each slime mother", // 16
+ //"(agr) 1x of each skull slime", // 17
+ case 13:
+ spawner("", OldSnake, 5);
+ spawner("", GrassSnake, 4);
+ spawner("", Snake, 3);
+ @log_spawns=@log_spawns+12;
+ break;
+ case 14:
+ spawner("", Pollet, 4);
+ spawner("", Wolvern, 3);
+ @log_spawns=@log_spawns+7;
+ break;
+ case 15:
+ spawner("", EarthFairy, 5);
+ spawner("", FireFairy, 5);
+ spawner("", WaterFairy, 5);
+ spawner("", WindFairy, 5);
+ spawner("", PoisonFairy, 5);
+ @log_spawns=@log_spawns+25;
+ break;
+ case 16:
+ spawner("", GreenSlimeMother, 1);
+ spawner("", BlueSlimeMother, 1);
+ spawner("", CopperSlimeMother, 1);
+ spawner("", YellowSlimeMother, 1);
+ spawner("", RedSlimeMother, 1);
+ spawner("", ChocolateSlimeMother, 1);
+ spawner("", WhiteSlimeMother, 1);
+ spawner("", AzulSlimeMother, 1);
+ spawner("", SeaSlimeMother, 1);
+ spawner("", LavaSlimeMother, 1);
+ spawner("", BlackSlimeMother, 1);
+ @log_spawns=@log_spawns+11;
+ break;
+ case 17:
+ spawner("", AzulSkullSlime, 1);
+ spawner("", YellowSkullSlime, 1);
+ spawner("", RedSkullSlime, 1);
+ spawner("", GreenSkullSlime, 1);
+ spawner("", CopperSkullSlime, 1);
+ spawner("", LavaSkullSlime, 1);
+ spawner("", BlackSkullSlime, 1);
+ @log_spawns=@log_spawns+7;
+ break;
+ //"20x Bat, 10x Crafty, 5x Troll", // 18
+ //"(agr) 5x Forain, 5x Yeti, 5x Centaur", // 19
+ //"(agr) 10x Gobo Bear, 10x Terra, 5x Terra Protector", // 20
+ //"(agr) 1x Reaper, 1x Michel, 2x JackO, 5x Skellington", // 21
+ //"1x of each Pixie", // 22
+ //"(agr) 20x Pinkie, 10x Suseran, 7x Maximus", // 23
+ case 18:
+ spawner("", Bat, 20);
+ spawner("", Crafty, 10);
+ spawner("", Troll, 5);
+ @log_spawns=@log_spawns+35;
+ break;
+ case 19:
+ spawner("", Forain, 5);
+ spawner("", Yeti, 5);
+ spawner("", Centaur, 5);
+ @log_spawns=@log_spawns+15;
+ break;
+ case 20:
+ spawner("", GoboBear, 10);
+ spawner("", Terranite, 10);
+ spawner("", TerraniteProtector, 5);
+ @log_spawns=@log_spawns+25;
+ break;
+ case 21:
+ spawner("", Reaper, 1);
+ spawner("", Michel, 1);
+ spawner("", JackO, 2);
+ spawner("", Skeleton, 5);
+ @log_spawns=@log_spawns+9;
+ break;
+ case 22:
+ spawner("", VanityPixie, 1);
+ spawner("", HolyPixie, 1);
+ spawner("", ShadowPixie, 1);
+ spawner("", NulityPixie, 1);
+ @log_spawns=@log_spawns+4;
+ break;
+ case 23:
+ spawner("", Pinkie, 20);
+ spawner("", PinkieSuseran, 10);
+ spawner("", PinkieMaximus, 7);
+ @log_spawns=@log_spawns+37;
+ break;
+
+
+ //"7x3 random Chests and mimics", // 24
+ //"10x Clover Path, 5 groups of 5 random Bifs", // 25
+ //"5x Bifs, 4 groups of 5 random Bifs"; // 26
+ case 24:
+ spawner("", rand(BronzeChest, GoldenChest), 3);
+ spawner("", rand(BronzeChest, MalignChest), 3);
+ spawner("", rand(BronzeMimic, GoldenMimic), 3);
+ spawner("", rand(WildxChest, MalignChest), 3);
+ spawner("", rand(BronzeChest, GoldenChest), 3);
+ spawner("", rand(BronzeChest, MalignChest), 3);
+ spawner("", rand(BronzeMimic, GoldenMimic), 3);
+ @log_spawns=@log_spawns+21;
+ break;
+ case 25:
+ spawner(strmobinfo(1, CloverPatch), CloverPatch, 10);
+ spawner(l("Mysterious Bif"), rand(1098,1118), 5);
+ spawner(l("Mysterious Bif"), rand(1098,1118), 5);
+ spawner(l("Mysterious Bif"), rand(1098,1118), 5);
+ spawner(l("Mysterious Bif"), rand(1098,1118), 5);
+ spawner(l("Mysterious Bif"), rand(1098,1118), 5);
+ @log_spawns=@log_spawns+35;
+ break;
+ case 26:
+ spawner(strmobinfo(1, Bif), Bif, 5);
+ spawner(l("Mysterious Bif"), rand(1098,1118), 5);
+ spawner(l("Mysterious Bif"), rand(1098,1118), 5);
+ spawner(l("Mysterious Bif"), rand(1098,1118), 5);
+ spawner(l("Mysterious Bif"), rand(1098,1118), 5);
+ @log_spawns=@log_spawns+25;
+ break;
+ }
+
+ if (@menu == 1) goto L_Spawn;
+ mes "";
+ mes "Completed.";
+ mes "Total spawns: "+str(@log_spawns);
+ next;
+ goto L_Preset;
+
+L_Norm:
+ // option preparatives
+ .@opt$="Abort";
+ debugmes "Found %d entries", getarraysize(.ML_Lv50);
+ for (.@i=0;.@i < getarraysize(.ML_Lv50);.@i++) {
+ .@opt$+=":"+strmobinfo(1, .ML_Lv50[.@i]);
+ // .ML_Lv50[.@i]);
+ }
+ select .@opt$;
+
+ // Select handler
+ if (@menu != 1)
+ input .@c, 0, 100;
+ if (.@c == 0 && @menu != 1)
+ @menu=99;
+
+ if (@menu == 1)
+ goto L_Spawn;
+ if (@menu == 99)
+ goto L_Norm;
+
+ // Spawn if needed
+ .@i=@menu-2;
+ spawner(("NORMAL 1 Monster"), .ML_Lv50[.@i], .@c);
+
+ // Log the spawn and resume
+ @log_spawns=@log_spawns+.@c;
+ mes "";
+ mes "Completed.";
+ mes "Total spawns: "+str(@log_spawns);
+ next;
+ goto L_Norm;
+
+L_Norm2:
+ // option preparatives
+ .@opt$="Abort";
+ debugmes "Found %d entries", getarraysize(.ML_Lv99);
+ for (.@i=0;.@i < getarraysize(.ML_Lv99);.@i++) {
+ .@opt$+=":"+strmobinfo(1, .ML_Lv99[.@i]);
+ // .ML_Lv99[.@i]);
+ }
+ select .@opt$;
+
+ // Select handler
+ if (@menu != 1)
+ input .@c, 0, 100;
+ if (.@c == 0 && @menu != 1)
+ @menu=99;
+
+ if (@menu == 1)
+ goto L_Spawn;
+ if (@menu == 99)
+ goto L_Norm2;
+
+ // Spawn if needed
+ .@i=@menu-2;
+ spawner(("NORMAL 2 Monster"), .ML_Lv99[.@i], .@c);
+
+ // Log the spawn and resume
+ @log_spawns=@log_spawns+.@c;
+ mes "";
+ mes "Completed.";
+ mes "Total spawns: "+str(@log_spawns);
+ next;
+ goto L_Norm2;
+
+L_Sli:
+ // option preparatives
+ .@opt$="Abort";
+ debugmes "Found %d entries", getarraysize(.ML_Loot);
+ for (.@i=0;.@i < getarraysize(.ML_Loot);.@i++) {
+ .@opt$+=":"+strmobinfo(1, .ML_Loot[.@i]);
+ // .ML_Loot[.@i]);
+ }
+ select .@opt$;
+
+ // Select handler
+ if (@menu != 1)
+ input .@c, 0, 100;
+ if (.@c == 0 && @menu != 1)
+ @menu=99;
+
+ if (@menu == 1)
+ goto L_Spawn;
+ if (@menu == 99)
+ goto L_Sli;
+
+ // Spawn if needed
+ .@i=@menu-2;
+ spawner(("LOOTER Monster"), .ML_Loot[.@i], .@c);
+
+ // Log the spawn and resume
+ @log_spawns=@log_spawns+.@c;
+ mes "";
+ mes "Completed.";
+ mes "Total spawns: "+str(@log_spawns);
+ next;
+ goto L_Sli;
+
+
+L_Plants:
+ // option preparatives
+ .@opt$="Abort";
+ debugmes "Found %d entries", getarraysize(.ML_Plants);
+ for (.@i=0;.@i < getarraysize(.ML_Plants);.@i++) {
+ .@opt$+=":"+strmobinfo(1, .ML_Plants[.@i]);
+ // .ML_Plants[.@i]);
+ }
+ select .@opt$;
+
+ // Select handler
+ if (@menu != 1)
+ input .@c, 0, 100;
+ if (.@c == 0 && @menu != 1)
+ @menu=99;
+
+ if (@menu == 1)
+ goto L_Spawn;
+ if (@menu == 99)
+ goto L_Plants;
+
+ // Spawn if needed
+ .@i=@menu-2;
+ spawner(("PLANT Monster"), .ML_Plants[.@i], .@c);
+
+ // Log the spawn and resume
+ @log_spawns=@log_spawns+.@c;
+ mes "";
+ mes "Completed.";
+ mes "Total spawns: "+str(@log_spawns);
+ next;
+ goto L_Plants;
+
+
+L_Agr:
+ // option preparatives
+ .@opt$="Abort";
+ debugmes "Found %d entries", getarraysize(.ML_Aggr);
+ for (.@i=0;.@i < getarraysize(.ML_Aggr);.@i++) {
+ .@opt$+=":"+strmobinfo(1, .ML_Aggr[.@i]);
+ // .ML_Aggr[.@i]);
+ }
+ select .@opt$;
+
+ // Select handler
+ if (@menu != 1)
+ input .@c, 0, 100;
+ if (.@c == 0 && @menu != 1)
+ @menu=99;
+
+ if (@menu == 1)
+ goto L_Spawn;
+ if (@menu == 99)
+ goto L_Agr;
+
+ // Spawn if needed
+ .@i=@menu-2;
+ spawner(("AGGRESSIVE Monster"), .ML_Aggr[.@i], .@c);
+
+ // Log the spawn and resume
+ @log_spawns=@log_spawns+.@c;
+ mes "";
+ mes "Completed.";
+ mes "Total spawns: "+str(@log_spawns);
+ next;
+ goto L_Agr;
+
+
+
+
+
+
+
+
+
+L_EventOnly:
+ mesc l("WARNING: Spawn these monsters with moderation!"), 1;
+ mesc l("This is just a short list to make GMs life easier!"), 1;
+ mes "";
+ menuint
+ "Abort", -1,
+ "Bhop Fluffy", BhopFluffy,
+ "Easter Mouboo", EasterMouboo,
+ "Evil Scythe", EvilScythe,
+ "Jack'O", JackO,
+ "Magic Ratto", MagicRatto,
+ "Moonshroom", Moonshroom,
+ "Mouboo Slime", MoubooSlime,
+ "Small Magic Bif", SmallMagicBif,
+ "Magic Bif", MagicBif,
+ "Bronze Chest", BronzeChest,
+ "Bronze Mimic", BronzeMimic,
+ "Silver Chest", SilverChest,
+ "Silver Mimic", SilverMimic,
+ "Golden Chest", GoldenChest,
+ "Golden Mimic", GoldenMimic,
+ "Evil Chest", EvilChest,
+ "Big Magic Bif", BigMagicBif;
+
+ .@mobId=@menuret;
+
+ if (.@mobId > 0)
+ input .@c, 0, 100;
+ if (.@c == 0 && .@mobId > 0)
+ .@mobId = 0;
+
+ if (.@mobId < 0)
+ goto L_Spawn;
+ else if (.@mobId > 0)
+ spawner("", .@mobId, .@c);
+
+ @log_spawns=@log_spawns+.@c;
+ mes "";
+ mes "Completed.";
+ mes "Total spawns: "+str(@log_spawns);
+ next;
+ goto L_EventOnly;
+
+
+
+
+
+
+
+
+L_Boss:
+ // Boss option preparatives
+ .@opt$="Abort";
+ debugmes "Found %d entries", getarraysize(.ML_Boss);
+ for (.@i=0;.@i < getarraysize(.ML_Boss);.@i++) {
+ .@opt$+=":"+strmobinfo(1, .ML_Boss[.@i]);
+ // .ML_Boss[.@i]);
+ }
+ select .@opt$;
+
+ // Select handler
+ if (@menu != 1)
+ input .@c, 0, 100;
+ if (.@c == 0 && @menu != 1)
+ @menu=99;
+
+ if (@menu == 1)
+ goto L_Spawn;
+ if (@menu == 99)
+ goto L_Boss;
+
+ // Spawn if needed
+ .@i=@menu-2;
+ spawner(("BOSS Monster"), .ML_Boss[.@i], .@c);
+
+ // Log the spawn and resume
+ @log_spawns=@log_spawns+.@c;
+ mes "";
+ mes "Completed.";
+ mes "Total spawns: "+str(@log_spawns);
+ next;
+ goto L_Boss;
+
+
+L_Drop:
+ select
+ "Abort", // 1
+ "Bury 10x Coins", // 2
+ "Toothbrush", // 4
+ "Bronze Gift", // 5
+ "Silver Gift", // 6
+ "Golden Gift", // 7
+ "Prism Gift", // 8
+ "Supreme Gift"; // default
+
+ if (@menu != 1)
+ input .@c, 0, countitem(StrangeCoin)/10;
+ if (.@c == 0 && @menu != 1)
+ @menu=1;
+
+ delitem(StrangeCoin,.@c*10);
+ switch (@menu) {
+ case 1:
+ goto L_Menu;
+ break;
+ case 2:
+ buryitem(StrangeCoin, .@c*any(9,10,10,10,11,11)); break;
+ case 3:
+ mkitem(Toothbrush, .@c); break;
+ case 4:
+ mkitem(BronzeGift, .@c); break;
+ case 5:
+ mkitem(SilverGift, .@c); break;
+ case 6:
+ mkitem(GoldenGift, .@c); break;
+ case 7:
+ mkitem(PrismGift, .@c); break;
+ default:
+ mkitem(SupremeGift, .@c); break;
+
+ }
+
+ mes "";
+ mes "Dropped "+.@c+" stuff.";
+ next;
+ goto L_Drop;
+
+L_Rate:
+ // Only Admins can change Strange Coin drop rate
+ if (!is_master())
+ goto L_Menu;
+
+ mes "";
+ mes "Current drop rate: " + str($coinsrate);
+ mes "Insert drop rate (from 0 to 10000, capped at 3000 or 30%). Use -1 to disable.";
+ .@old = $coinsrate;
+ input $coinsrate;
+ if ($coinsrate > 3000)
+ $coinsrate=3000;
+ if ($coinsrate != .@old)
+ consolewarn("Aeros Coins drop rate changed - highlight %s - by %s (%d) from %d to %d", "<@&411247967064948737>", strcharinfo(0), getcharid(3), .@old, $coinsrate);
+ mes "";
+ mes "Ratio adjusted.";
+ next;
+ goto L_Menu;
+
+L_EventHandler:
+ if($@GM_EVENT) {
+ announce ("The event is over!"), bc_all|bc_npc; // I haven't tested this yet.
+ $@GM_EVENT=0;
+ $@MK_SCENE=MK_NONE;
+ } else if (!$@MK_SCENE) {
+ announce ("The mana bridge to Aeros is open! To participate on event, talk to ##BSoul Menhir##b!"), bc_all|bc_npc;
+ channelmes("#world", "An event is happening on Aeros! Hurry up!");
+ $@GM_EVENT=1;
+ $@MK_SCENE=MK_LOCKED;
+ } else {
+ mesc("Operation not permitted: Monster King event is in progress.", 1);
+ mesc("You MUST wait.", 1);
+ }
+ close;
+
+L_AddWall:
+ setcells "001-1", 169, 63, 169, 76, 3, "AerosWall";
+ //setwall("001-1", 169, 63, 13, DOWN, false, "AerosWall");
+ .WALL=1;
+ close;
+
+L_DelWall:
+ delcells "AerosWall";
+ //delwall("AerosWall");
+ .WALL=0;
+ close;
+
+L_Conf:
+ mes "";
+ mesn;
+ mesq l("Current Spawn Mode: "+$@AEROS_SPWN);
+ next;
+ select
+ l("[0] East Aeros"),
+ l("[1] West Aeros"),
+ l("[2] Full Aeros");
+ $@AEROS_SPWN=@menu-1;
+ goto L_Menu;
+
+OnAutoSched:
+ .@t=0;
+ // Scatter 10× Strange Coins for digging
+ // Also scatter some strange coins for looting
+ buryitem(StrangeCoin, any(9,10,10,10,11,11));
+ mkitem(StrangeCoin, $@AEROS_AUTOSPAWN);
+ // Spawn monsters
+ freeloop(true);
+ for (.@i = 0; .@i < ($@AEROS_AUTOSPAWN * 5); .@i++) {
+ .@r=rand2(5, 12);
+ // FIXME: Use TOP3AVERAGELVL() instead of a full list
+ .@m=any(Piou, Piousse, Ratto, LittleBlub, Croc, PlushroomField,
+ Tipiu, CaveMaggot, Bat, Scorpion, Duck, Maggot, RedScorpion,
+ ManaBug, ManaGhost, HouseMaggot, RedSlime, WhiteSlime,
+ SlimeBlast, Mouboo, Bandit, BlackScorpion, GiantMaggot,
+ CaveSnake, ManaBug, GoldenScorpion, NightScorpion, SantaSlime,
+ CopperSlime, FallenGuard1, FallenGuard2, OldSnake, GrassSnake,
+ Snake, Pollet, Wolvern, EarthFairy, FireFairy, WaterFairy,
+ WindFairy, PoisonFairy, GreenSlimeMother, ChocolateSlimeMother,
+ CopperSlimeMother, SeaSlimeMother, AzulSkullSlime,
+ CopperSkullSlime, Crafty, Troll, Forain, Yeti, Centaur, GoboBear,
+ Terranite, TerraniteProtector, Reaper, Michel, JackO, Skeleton,
+ Pinkie, PinkieSuseran, CloverPatch, MagicRatto, Moonshroom,
+ MoubooSlime);
+ spawner(strmobinfo(1, .@m), .@m, .@r);
+ .@t += .@r;
+ // Bonus
+ .@r=rand2(1, 3);
+ .@m=any(SaxsoGhost, HolyPixie, BronzeChest, SilverChest, GoldenChest,
+ MalignChest, PrismChest, SupremeChest, WildxChest, ManaChest,
+ ThornChest, ViciousChest, EvilChest, BronzeMimic, SilverMimic,
+ GoldenMimic, Bif, EleniumBif, BigEleniumBif, RubyBif, BigRubyBif,
+ TopazBif, BigTopazBif, EmeraldBif, BigEmeraldBif,
+ DiamondBif, BigDiamondBif, AmethystBif, BigAmethystBif,
+ SapphireBif, BigSapphireBif, SmallMagicBif, MagicBif, BigMagicBif,
+ SmallMagicBif, SmallMagicBif, SmallMagicBif, SmallMagicBif,
+ CloverPatch, EvilScythe);
+ spawner(strmobinfo(1, .@m), .@m, .@r);
+ .@t += .@r;
+ }
+ freeloop(false);
+ // Open gate if full
+ if ($@AEROS_SPWN == 2 && .WALL) {
+ delcells "AerosWall";
+ .WALL=0;
+ }
+ // Close gate otherwise
+ if ($@AEROS_SPWN != 2 && !.WALL) {
+ setcells "001-1", 169, 63, 169, 76, 3, "AerosWall";
+ .WALL=1;
+ }
+ // We're done
+ $@AEROS_AUTOSPAWN = 0;
+ consoleinfo("script automatically spawned "+str(.@t)+" beigns at Aeros.");
+ end;
+
+OnAerosMobDeath:
+ // is killedrid even set?
+ if ($coinsrate < 0) end;
+ // A level 100 monster can have a 4% drop bonus against a level 0 monster.
+ // $coinsrate acts stablishing a basic drop value. Advised value: 600 (up to 10% for normal mobs)
+ if (playerattached()) {
+ debugmes("Mob slain: %d", killedrid);
+ if (rand(10000) <= $coinsrate + (getmonsterinfo(killedrid, MOB_LV)*4)) {
+ getmapxy(.@m$, .@x, .@y, 0);
+ makeitem(StrangeCoin, 1, .@m$, .@x, .@y);
+ }
+ fix_mobkill(killedrid);
+ }
+ end;
+
+OnInit:
+ if ($coinsrate == 0)
+ $coinsrate=400; // Default value is 4% + mob str bonus
+
+ // Monster lists
+ // These arrays are filled automatically by redesign.py
+ // DO NOT EDIT MANUALLY
+ setarray .ML_Plants, 1021, 1058, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1134, 1135, 1136, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1156, 1157, 1158, 1170, 1188, 1189, 1226, 1227, 1228;
+ setarray .ML_Boss, 1015, 1036, 1040, 1044, 1076, 1077, 1079, 1080, 1087, 1129, 1154, 1179, 1200, 1205, 1209, 1211, 1213, 1221, 1222, 1225, 1229, 1400, 1401, 1420, 1430, 1431, 1432, 1439, 1495, 1496, 1497, 1498, 1499, 1500, 1503, 1504, 1505;
+ setarray .ML_Aggr, 1012, 1024, 1026, 1027, 1037, 1042, 1045, 1051, 1052, 1056, 1061, 1062, 1063, 1064, 1074, 1081, 1082, 1084, 1085, 1089, 1090, 1092, 1097, 1119, 1120, 1122, 1123, 1124, 1125, 1130, 1131, 1137, 1138, 1153, 1167, 1168, 1169, 1174, 1176, 1177, 1178, 1187, 1192, 1193, 1194, 1195, 1196, 1198, 1199, 1203, 1206, 1207, 1208, 1212, 1214, 1220, 1223, 1224, 1230, 1231, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1433, 1492, 1501, 1502;
+ setarray .ML_Asst, 1003, 1007, 1016, 1023, 1038, 1056, 1065, 1066, 1072, 1083, 1085, 1086, 1089, 1090, 1094, 1155, 1175, 1178, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1190, 1191, 1192, 1195, 1201, 1202, 1230, 1232, 1434, 1435;
+ setarray .ML_Loot, 1005, 1007, 1008, 1009, 1018, 1029, 1032, 1033, 1039, 1053, 1054, 1055, 1085, 1086, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1124, 1125, 1126, 1138, 1167, 1175, 1178, 1180, 1181, 1187, 1190, 1191, 1192, 1193, 1194, 1195, 1198, 1212, 1230, 1233, 1234, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1402, 1403, 1404, 1405, 1406, 1407, 1408;
+ setarray .ML_Lv50, 1002, 1006, 1010, 1011, 1017, 1022, 1025, 1028, 1030, 1031, 1034, 1035, 1041, 1043, 1049, 1050, 1060, 1067, 1068, 1070, 1071, 1073, 1075, 1121, 1127, 1128, 1132, 1133, 1152, 1172, 1173, 1204, 1210, 1219, 1436, 1437, 1438;
+ setarray .ML_Lv99, 1004, 1069, 1078, 1139, 1151, 1171, 1197, 1215, 1216, 1217, 1218, 1493, 1494;
+ end;
+}
+
+
+
+- script @aeros 32767,{
+ end;
+
+OnCall:
+ if (!is_gm())
+ end;
+ if (getmapname() != "001-1") {
+ dispbottom "This command can only be used at aeros.";
+ end;
+ }
+ if ($HARDCORE) {
+ dispbottom "Aeros cannot be used on Hardcore servers.";
+ end;
+ }
+ //.@atcmd_parameters$ = strtoupper(strip( // nah
+
+ if (.@atcmd_numparameters != 2) {
+ dispbottom "Use the numeric ID provided by the wiki. This is a safeguard to ensure you are not overkilling players.";
+ dispbottom "Talk to Mana Being for a less fine-grained but much more optimized control over monsters.";
+ dispbottom "This command takes exactly this syntax: Mob ID <space> amount.";
+ end;
+ }
+
+ switch($@AEROS_SPWN) {
+ case 1:
+ areamonster("001-1", 20, 20, 140, 140, strmobinfo(1, atoi(.@atcmd_parameters$[0])), atoi(.@atcmd_parameters$[0]), atoi(.@atcmd_parameters$[1]), "Mana Being#001-1::OnAerosMobDeath");
+ break;
+ case 2:
+ areamonster("001-1", 20, 20, 340, 160, strmobinfo(1, atoi(.@atcmd_parameters$[0])), atoi(.@atcmd_parameters$[0]), atoi(.@atcmd_parameters$[1]), "Mana Being#001-1::OnAerosMobDeath");
+ break;
+ default:
+ areamonster("001-1", 171, 20, 340, 160, strmobinfo(1, atoi(.@atcmd_parameters$[0])), atoi(.@atcmd_parameters$[0]), atoi(.@atcmd_parameters$[1]), "Mana Being#001-1::OnAerosMobDeath");
+ break;
+ }
+ logmes "@aeros "+strmobinfo(1, atoi(.@atcmd_parameters$[0])) + " " + .@atcmd_parameters$[1], LOGMES_ATCOMMAND;
+ dispbottom "All monsters summoned.";
+
+ end;
+
+OnInit:
+ bindatcmd "aeros", "@aeros::OnCall", 80, 99, 0;
+ end;
+}
diff --git a/npc/001-1/mahul.txt b/npc/001-1/mahul.txt
new file mode 100644
index 0000000..fa4cd28
--- /dev/null
+++ b/npc/001-1/mahul.txt
@@ -0,0 +1,57 @@
+// TMW-2 Script
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Mahul is the Aeros Well Master
+
+001-1,299,45,0 script Mahul NPC_PLAYER,{
+ mesn;
+ mesq l("Uhul! My name is Mahul!");
+ mes l("I can fill your bottle with water for only @@ gp the bottle.", .COST_PER_BOTTLE);
+ mes l("After all, I am the Well Master!");
+ input .@count;
+
+ if (.@count == 0)
+ close;
+ .@Cost = .@count * .COST_PER_BOTTLE;
+ .@empty = countitem(EmptyBottle);
+
+ if (.@empty < .@count)
+ goto L_NotEnoughBottles;
+ if (Zeny < .@Cost)
+ goto L_NotEnoughMoney;
+ inventoryplace BottleOfDivineWater, .@count;
+
+ Zeny=Zeny-.@Cost;
+ delitem EmptyBottle, .@count;
+ getitem BottleOfDivineWater, .@count;
+ close;
+
+L_NotEnoughBottles:
+ mes "";
+ mesn;
+ mes l("You don't have that many empty bottles!");
+ close;
+
+L_NotEnoughMoney:
+ mes "";
+ mesn;
+ mes l("You don't have enough gold! You need @@ gp.", .@Cost);
+ close;
+
+OnInit:
+ .COST_PER_BOTTLE = 100;
+ .sex = G_MALE;
+ .distance = 7;
+
+ .@npcId = getnpcid(.name$);
+ // Check items.xml for info about this
+ setunitdata(.@npcId, UDT_HEADTOP, InfantryHelmet);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SailorShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 17);
+
+ end;
+}
diff --git a/npc/001-1/mapflags.txt b/npc/001-1/mapflags.txt
new file mode 100644
index 0000000..4dd9b7a
--- /dev/null
+++ b/npc/001-1/mapflags.txt
@@ -0,0 +1,9 @@
+001-1 mapflag zone Aeros
+001-2 mapflag zone Event
+001-3 mapflag zone Event
+001-3-1 mapflag zone Event
+
+001-4 mapflag zone Aeros
+001-5 mapflag zone Aeros
+001-11 mapflag zone Aeros
+001-12 mapflag zone Aeros
diff --git a/npc/001-1/portal.txt b/npc/001-1/portal.txt
new file mode 100644
index 0000000..3dbcc32
--- /dev/null
+++ b/npc/001-1/portal.txt
@@ -0,0 +1,136 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Manages warps at Aeros
+
+001-1,235,25,0 script Worlds Gate NPC_HIDDEN,1,0,{
+
+OnTouch:
+ mesn;
+ mes l("This Portal can send your soul back to the world, along any items, money and/or experience gained.");
+ mes l("Would you like to leave this place?");
+ menu
+ l("No."), L_Close,
+ rif(is_master() && !$@GM_EVENT, l("Enable Event")), L_Enable,
+ rif(is_master() && $@GM_EVENT, l("Disable Event")), L_Disable,
+ l("Yes."), L_Leave;
+
+L_Leave:
+ warp getsavepoint(0), getsavepoint(1), getsavepoint(2);
+ goto L_Close;
+
+L_Enable:
+ mesc l("WARNING: Deprecated!"), 1;
+ mesc l("Please don't use this function in future!");
+ $@GM_EVENT=1;
+ close;
+
+L_Disable:
+ $@GM_EVENT=0;
+ $@MK_SCENE=MK_NONE;
+ close;
+
+// Uses l() to translate utilities
+L_TranslationFix:
+ // Mobs
+ mes l("Magic Maggot");
+ mes l("Monster");
+ mes l("Monster King");
+ mes l("Monster General");
+ mes l("Monster Admiral");
+ mes l("Monster Major");
+ mes l("Monster Captain");
+ mes l("Monster Lieutenant");
+ mes l("Monster Sergeant");
+ mes l("Monster Soldier");
+ mes l("Random Bif");
+ mes l("Summoned Monster");
+ mes l("Scout");
+ mes l("Desert Pirate");
+ mes l("Marsh Pirate");
+ mes l("Buccaneer");
+ mes l("Corsair");
+ mes l("Pirate Lord");
+ mes l("Duck Soldier");
+ mes l("Duck Initiate");
+ // Configs
+ mes l("Human");
+ mes l("Ukar");
+ mes l("Redy");
+ mes l("Elf");
+ mes l("Orc");
+ mes l("Raijin");
+ mes l("Tritan");
+ // Messages
+ mes l("All monsters summoned!");
+ mes l("Mercy has been granted.");
+ mes l("Judgement has passed.");
+ mes l("Warping to save point.");
+ mes l("Your save point has been changed.");
+ mes l("Warped.");
+ mes l("Item created.");
+ mes l("Welcome to TMW-2: Moubootaur Legends! We hope you have a great time in our server!");
+ mes l("You have been jailed by a GM.");
+ mes l("A GM has discharged you from jail.");
+ mes l("This item cannot be dropped.");
+ mes l("This item cannot be sold.");
+ mes l("This item cannot be auctioned.");
+ mes l("This item cannot be traded.");
+ mes l("This item cannot be stored.");
+ // Announcements
+ mes l("I can't handle it anymore! NO MORE!");
+ mes l("Come, my minions! Lay siege to towns! LEAVE NO OPPOSITION TO ME!");
+ mes l("Burn, destroy, do whatever you need, until your last breath, my lieutenants and colonels!");
+ mes l("The event is over!");
+ mes l("The mana bridge to Aeros is open! To participate on event, talk to ##BSoul Menhir##b!");
+ mes l("WARNING: Server will go down for scheduled maintenance in 15 minutes!");
+ mes l("WARNING: Server will go down for scheduled maintenance in 10 minutes!");
+ mes l("WARNING: Server will go down for scheduled maintenance in 5 minutes!");
+ mes l("WARNING! WARNING! Monster Army is moving towards Hurnscald!!");
+ mes l("WARNING! WARNING! Monster Army is moving towards Halinarzo!!");
+ mes l("WARNING! WARNING! Monster Army is moving towards Nivalis!!");
+ mes l("WARNING! WARNING! Monster Army is moving towards Tulimshar!!");
+ mes l("People failed to rescue Cindy!");
+ mes l("Players failed to defend the city!!");
+ mes l("The city was defended with success! GG, everyone!");
+ mes l("EVENT CANCELLED DUE TO PLAYER INACTIVITY");
+ mes l("%s has EXILED %s from %s.", "", "", "");
+ mes l("Aurora Events");
+ mes l("Map cleared!");
+ mes l("Moubootaur (Sealed)");
+ mes l("Level Boss");
+ // Legendary Messages
+ mesc l("WARNING: The %s is a %s. Besides being insanely powerful, no duplicate of them exist in the world. They can be tweaked freely and can hold multiple cards as well, and scale according to your level. Use its powers wisely. However, beware: This weapon cannot be traded except with \"@grantpower\" command, and if you abandon the world, the weapon will abandon you as well!", getitemlink(Acorn), b(l("legendary weapon"))), 1;
+ mesc l("%s, you did your best to avenge a fallen comrade. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!", "", getitemlink(Acorn)), 2;
+ mesc l("%s, you did your best to protect this world inhabitants. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!", "", getitemlink(Acorn)), 2;
+ mesc l("%s, you did your best to entertain me. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!", "", getitemlink(Acorn)), 2;
+ mesc l("%s, you proved your worth today. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!", "", getitemlink(Acorn)), 2;
+ mesc l("%s, your dedication is touching. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!", "", getitemlink(Acorn)), 2;
+
+ // Internal
+ mesc b(l(" 0 This file is automatically generated. Editing it will have no effect.")), 1; // ;- TRANSLATORS: Do not translate
+ mesc b(l(" 1 Please translate at https://transifex.com/arctic-games/moubootaur-legends/ instead.")), 1; // ;- TRANSLATORS: Do not translate
+ mes l("sample");
+ close;
+
+L_Close:
+ closedialog;
+ close;
+}
+
+// This is a copy for west Aeros
+001-1,23,107,0 script World Gate 2 NPC_HIDDEN,1,0,{
+OnTouch:
+ mesn;
+ mes l("This Portal can send your soul back to the world, along any items, money and/or experience gained.");
+ mes l("Would you like to leave this place?");
+ select
+ l("No."),
+ l("Yes.");
+
+ if (@menu == 2)
+ warp getsavepoint(0), getsavepoint(1), getsavepoint(2);
+ closedialog;
+ close;
+}
diff --git a/npc/001-1/rewards.txt b/npc/001-1/rewards.txt
new file mode 100644
index 0000000..8b96724
--- /dev/null
+++ b/npc/001-1/rewards.txt
@@ -0,0 +1,129 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Trades Strange Coins for useful items
+
+001-1,243,26,0 script Aeros Trader NPC_M_COINKEEPER,{
+ mesn;
+ mesq l("Oh, hello there! Welcome to the Mana Plane Of Existence!");
+ next;
+ mesn;
+ mesq l("In this wonderful realm, you can find and earn many @@, our currency!", getitemlink(StrangeCoin));
+ next;
+ mesn;
+ mesq l("You can then trade these coins for items with me!");
+ next;
+ openshop;
+ closedialog;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, TopHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, GoldenWarlordPlate);
+ setunitdata(.@npcId, UDT_WEAPON, JeansChaps);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, AssassinBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 25);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
+
+ .sex = G_MALE;
+ .distance = 5;
+
+ tradertype(NST_CUSTOM);
+
+ // Rare Equipment selection.
+ // *these* are really rare!
+ // Maximum 30,000
+ sellitem MysteriousFruit,10000; // This is OP
+ sellitem DoggyDog,9000;
+ sellitem CattyCat,9000;
+ sellitem DarkPulsar,6000;
+ sellitem ThunderStaff,5000;
+ sellitem PiouEgg,3915;
+ sellitem DeliciousCookie,3240;
+ sellitem SmileyCap, 1820;
+ sellitem EyePatch, 1620;
+ sellitem Doll, 1420;
+ sellitem TopHat, 1220;
+ sellitem HeartGlasses,960;
+ sellitem BowlerHat, 720;
+ sellitem AshUrn,630;
+ sellitem BrimmedFeatherHat, 540;
+ sellitem Googles,540;
+ sellitem LeatherBall, 480;
+ sellitem ClericCap, 440;
+ sellitem Barrel,400;
+
+ // Temporary, Seasonal, for events, rare drops, next release
+ sellitem MercBoxEE,1200;
+ sellitem MercBoxDD,950;
+ sellitem MercBoxE,900;
+ sellitem MercBoxD,600;
+ sellitem ArcmageBoxset,500;
+ sellitem BoneAmmoBox,180;
+ sellitem ThornAmmoBox,80;
+
+ // Dye Shop
+ // RARE 3
+ sellitem PurpleDye, 300;
+ sellitem DarkRedDye, 270;
+ sellitem BlackDye, 250;
+ // RARE 2
+ sellitem SilverDye, 200;
+ sellitem NavyBlueDye, 200;
+ sellitem BlueGrayDye, 200;
+ sellitem FuschiaDye, 200;
+ sellitem BrownDye, 200;
+ sellitem MauveDye, 200;
+ // Rare 1
+ sellitem RedDye, 100;
+ sellitem CamelDye, 100;
+ sellitem CrimsonDye, 100;
+ sellitem KhakiDye, 100;
+ sellitem MintDye, 100;
+ // Normal
+ sellitem TealDye, 45;
+ sellitem PinkDye, 45;
+ sellitem GreenDye, 45; // Quest
+ sellitem LimeDye, 30; // Shop, 1200 GP
+ // Low rarity
+ sellitem BlueDye, 22;
+ sellitem YellowDye, 22;
+ sellitem ChocolateDye, 22;
+ sellitem OrangeDye, 22; // Shop, 495 GP
+
+ // Consumables
+ sellitem MagicApple,115;
+ sellitem SacredLifePotion,60;
+ sellitem SacredManaPotion,60;
+ sellitem ElixirOfLife,32;
+ sellitem ScrollMagnusHealA,28;
+ sellitem WhiskeyAle,28;
+ sellitem YerbaMate,22;
+ sellitem CelestiaTea,17;
+ sellitem BottleOfDivineWater, 15;
+ sellitem PrecisionPotion,9;
+ sellitem DodgePotion,9;
+ sellitem Wurtzite,8;
+ sellitem Curshroom,6;
+ sellitem PetcaringGuide,5; // I needed to add this somewhere
+ sellitem ScrollSCave,3;
+ sellitem SmokeGrenade,3;
+ end;
+
+/* set currency to be item 828 */
+OnCountFunds:
+ setcurrency(countitem(StrangeCoin));
+ end;
+
+/* @price is total cost. @points is if we accept two items as currency. */
+OnPayFunds:
+ //dispbottom "Hi: price="+@price+" and points="+@points;
+ if( countitem(StrangeCoin) < @price )
+ end;
+ delitem StrangeCoin,@price;
+ purchaseok();
+ end;
+
+}
diff --git a/npc/001-1/wateranimation.txt b/npc/001-1/wateranimation.txt
new file mode 100644
index 0000000..7c14358
--- /dev/null
+++ b/npc/001-1/wateranimation.txt
@@ -0,0 +1,29 @@
+// TMW2 scripts.
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Water animations, splash, fishes, etc...
+
+001-1,254,70,0 script #water_animation_aeros0 NPC_WATER_SPLASH,{
+
+ fishing(3, CommonCarp, Roach, Tench,
+ GrassCarp); // begin or continue fishing
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
+
+001-1,250,72,0 duplicate(#water_animation_aeros0) #water_animation_aeros1 NPC_WATER_SPLASH
+001-1,254,76,0 duplicate(#water_animation_aeros0) #water_animation_aeros2 NPC_WATER_SPLASH
+001-1,247,77,0 duplicate(#water_animation_aeros0) #water_animation_aeros3 NPC_WATER_SPLASH
+
+001-1,105,112,0 duplicate(#water_animation_aeros0) #water_animation_aeros4 NPC_WATER_SPLASH
+001-1,99,112,0 duplicate(#water_animation_aeros0) #water_animation_aeros5 NPC_WATER_SPLASH
+001-1,94,110,0 duplicate(#water_animation_aeros0) #water_animation_aeros6 NPC_WATER_SPLASH
+001-1,90,112,0 duplicate(#water_animation_aeros0) #water_animation_aeros7 NPC_WATER_SPLASH
+
+
diff --git a/npc/001-10-1/_import.txt b/npc/001-10-1/_import.txt
new file mode 100644
index 0000000..6f5c2b5
--- /dev/null
+++ b/npc/001-10-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 001-10-1: Dust Boss Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/001-10-1/mapflags.txt",
+"npc/001-10-1/scripts.txt",
diff --git a/npc/001-10-1/mapflags.txt b/npc/001-10-1/mapflags.txt
new file mode 100644
index 0000000..c11a3fb
--- /dev/null
+++ b/npc/001-10-1/mapflags.txt
@@ -0,0 +1,2 @@
+001-10-1 mapflag pvp
+001-10-1 mapflag zone MMO
diff --git a/npc/001-10-1/scripts.txt b/npc/001-10-1/scripts.txt
new file mode 100644
index 0000000..080cae7
--- /dev/null
+++ b/npc/001-10-1/scripts.txt
@@ -0,0 +1,88 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Dusty in a Bottle (aka. Dustynator, Dustman, mr. willbelz)
+// Description:
+// Scripts for 001-10-1: Boss Fight!
+
+001-10-1,0,0,0 script #COD_BossManager NPC_HIDDEN,{
+ end;
+
+// Spawn the Dust Boss
+OnEventStart:
+ areamonster("001-10-1", 34, 29, 59, 52, strmobinfo(1, DustBoss), DustBoss, 1, "#COD_BossManager::OnVictory");
+ initnpctimer;
+ end;
+
+// Dust boss was killed, add timers, special reward for victor
+OnVictory:
+ if (getcharid(1) > 0) {
+ .pwin=getcharid(1);
+ getpartymember(getcharid(1));
+ .@count = $@partymembercount;
+ .bonus=max(0, getmapusers("001-10-1")-.@count);
+ } else {
+ .win$=strcharinfo(0);
+ .bonus=0;
+ }
+
+ getitem BottledDust, 1;
+
+ maptimer("001-10-1", 100, "#COD_BossManager::OnReward1");
+ maptimer("001-10", 100, "#COD_BossManager::OnReward2");
+ donpcevent("Colonel DUSTMAN::OnCoDEnd");
+ end;
+
+// Handle rewards: 10 dust for winner party on boss room, 1 dust for everyone else
+// on boss room, 1 dust for winner party outside boss room
+OnReward1:
+ if ((.pwin > 0 && getcharid(1) == .pwin) || strcharinfo(0) == .win$)
+ getitem BottledDust, 9+.bonus;
+ else
+ getitem BottledDust, 1;
+ // FALLTHROUGH
+OnReward2:
+ if (.pwin && getcharid(1) == .pwin) {
+ setq2 LoFQuest_COD, getq2(LoFQuest_COD) + 1;
+ getitem BottledDust, 1;
+ }
+ warp "018-2-1", 24, 29;
+ specialeffect(FX_FANFARE, SELF, getcharid(3));
+ end;
+
+// You ran out of time
+OnTimeDefeat:
+ @COD_CHECKPOINT=0;
+ if (getmap() ~= "001-10") {
+ warp "018-2-1", 24, 29;
+ dispbottom l("COD: Ran out of time!");
+ }
+ end;
+
+// Must reset for next challenge
+OnCleanUp:
+ .pwin=0; // party winner
+ .win$=""; // fallback, if char not in party
+ killmonsterall("001-10-1");
+ initnpctimer;
+ stopnpctimer;
+ end;
+
+// Every 20 seconds mobs are created if needed
+OnTimer20000:
+ .@mi=mobcount("001-10-1", "all");
+ .@pl=getmapusers("001-10-1");
+ .@monsterId=any(DustRifle, DustGatling, DustRevolver);
+ if (.@pl > (.@mi-2))
+ areamonster("001-10-1", 34, 29, 59, 52, strmobinfo(1, .@monsterId), .@monsterId, (.@pl-.@mi+2));
+ initnpctimer;
+ end;
+
+// Setup
+OnInit:
+ .pwin=0; // party winner
+ .win$=""; // fallback, if char not in party
+ end;
+}
+
+
diff --git a/npc/001-10/_import.txt b/npc/001-10/_import.txt
new file mode 100644
index 0000000..eaa1599
--- /dev/null
+++ b/npc/001-10/_import.txt
@@ -0,0 +1,4 @@
+// Map 001-10: Call Of Dusty
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/001-10/mapflags.txt",
+"npc/001-10/scripts.txt",
diff --git a/npc/001-10/mapflags.txt b/npc/001-10/mapflags.txt
new file mode 100644
index 0000000..867f5e9
--- /dev/null
+++ b/npc/001-10/mapflags.txt
@@ -0,0 +1,2 @@
+001-10 mapflag pvp
+001-10 mapflag zone MMO
diff --git a/npc/001-10/scripts.txt b/npc/001-10/scripts.txt
new file mode 100644
index 0000000..305b298
--- /dev/null
+++ b/npc/001-10/scripts.txt
@@ -0,0 +1,147 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Dusty in a Bottle (aka. Dustynator, Dustman, mr. willbelz)
+// Description:
+// Scripts for 001-10: Snipers, Bottles and Warps
+
+// Boss room
+001-10,89,43,0 script #COD_BossRoomCheck NPC_NO_SPRITE,0,0,{
+ end;
+OnTouch:
+ if (!@COD_CHECKPOINT) {
+ dispbottom l("Magic Barrier is active. You must give a whole circle on the desert to break it.");
+ } else {
+ deltimer("#COD_BossRoomCheck::OnTimeDefeat");
+ addtimer(300000,"#COD_BossManager::OnTimeDefeat");
+ // You can't return now!
+ warp "001-10-1", any(57, 58, 59), any(74, 75);
+ dispbottom l("A dangerous boss room, keep your guard up!");
+ }
+ end;
+
+OnTimeDefeat:
+ @COD_CHECKPOINT=0;
+ if (getmap() ~= "001-10") {
+ warp "018-2-1", 24, 29;
+ dispbottom l("COD: Ran out of time!");
+ }
+ end;
+
+}
+
+// Magic Barrier
+001-10,132,106,0 script #COD_Checkpoint106 NPC_NO_SPRITE,0,0,{
+ end;
+OnTouch:
+ getmapxy(.@m$, .@x, .@y, 0);
+ slide .@x+2, .@y;
+ if (!@COD_CHECKPOINT)
+ dispbottom l("Checkpoint! Magic Barrier went down!");
+ @COD_CHECKPOINT=1;
+ end;
+}
+
+001-10,132,107,0 duplicate(#COD_Checkpoint106) #COD_Checkpoint107 NPC_NO_SPRITE,0,0
+001-10,132,108,0 duplicate(#COD_Checkpoint106) #COD_Checkpoint108 NPC_NO_SPRITE,0,0
+001-10,132,109,0 duplicate(#COD_Checkpoint106) #COD_Checkpoint109 NPC_NO_SPRITE,0,0
+001-10,132,110,0 duplicate(#COD_Checkpoint106) #COD_Checkpoint110 NPC_NO_SPRITE,0,0
+001-10,132,111,0 duplicate(#COD_Checkpoint106) #COD_Checkpoint111 NPC_NO_SPRITE,0,0
+001-10,132,112,0 duplicate(#COD_Checkpoint106) #COD_Checkpoint112 NPC_NO_SPRITE,0,0
+001-10,132,113,0 duplicate(#COD_Checkpoint106) #COD_Checkpoint113 NPC_NO_SPRITE,0,0
+
+001-10,0,0,0 script #CODMASTER NPC_NO_SPRITE,{
+ end;
+ function spawner { // (Event, x1, y1, x2, y2, Amount, modifier)
+ .@ev$=getarg(0, "#CODMASTER::OnDeath");
+ .@x1=getarg(1,0);
+ .@y1=getarg(2,0);
+ .@x2=getarg(3,200);
+ .@y2=getarg(4,150);
+ .@am=getarg(5,1);
+ freeloop(true);
+ for (.@i = 0; .@i < .@am; ++.@i) {
+ if (!getarg(6,0))
+ .@monsterId=any(DustRifle, DustGatling, DustRevolver);
+ else
+ .@monsterId=any(AngryBat, Snake, AngryBat, DesertBandit, AngryBat, Sarracenus);
+ areamonster("001-10", .@x1, .@y1, .@x2, .@y2, strmobinfo(1, .@monsterId), .@monsterId, 1, .@ev$);
+
+ }
+ }
+
+// Death handlers
+OnWLDeath:
+ if (playerattached()) {
+ if (rand2(0,1000) <= 20)
+ getitem BottledDust, 1;
+ }
+ spawner("#CODMASTER::OnWLDeath", 0, 0, 200, 150, 1, 1);
+ end;
+
+OnNDeath:
+ if (playerattached()) {
+ if (rand2(0,1000) <= 40)
+ getitem BottledDust, 1;
+ }
+ spawner("#CODMASTER::OnNDeath", 0, 10, 200, 25);
+ end;
+
+OnSDeath:
+ if (playerattached()) {
+ if (rand2(0,1000) <= 40)
+ getitem BottledDust, 1;
+ }
+ spawner("#CODMASTER::OnSDeath", 0, 129, 200, 150);
+ end;
+
+OnCDeath:
+ if (playerattached()) {
+ if (rand2(0,1000) <= 40)
+ getitem BottledDust, 1;
+ }
+ spawner("#CODMASTER::OnCDeath", 73, 45, 132, 86);
+ end;
+
+OnWDeath:
+ if (playerattached()) {
+ if (rand2(0,1000) <= 40)
+ getitem BottledDust, 1;
+ }
+ spawner("#CODMASTER::OnWDeath", 10, 25, 72, 122);
+ end;
+
+OnEDeath:
+ if (playerattached()) {
+ if (rand2(0,1000) <= 40)
+ getitem BottledDust, 1;
+ }
+ spawner("#CODMASTER::OnEDeath", 160, 45, 190, 130);
+ end;
+
+OnDeath:
+ if (playerattached()) {
+ if (rand2(0,1000) <= 40)
+ getitem BottledDust, 1;
+ }
+ spawner("#CODMASTER::OnDeath");
+ end;
+
+/////////////////////////////////////////////////////////////////////////////////
+/// on init block //// on init block //////
+/////////////////////////////////////////////////////////////////////////////////
+OnInit:
+ // Spawn Wildlife
+ spawner("#CODMASTER::OnWLDeath", 0, 0, 200, 150, 12, 1);
+
+ // Spawn other monsters
+ spawner("#CODMASTER::OnDeath", 0, 0, 200, 150, 3);
+ spawner("#CODMASTER::OnNDeath", 0, 10, 200, 25, 5);
+ spawner("#CODMASTER::OnSDeath", 0, 129, 200, 150, 3);
+ spawner("#CODMASTER::OnCDeath", 73, 45, 132, 86, 4);
+ spawner("#CODMASTER::OnWDeath", 10, 25, 72, 122, 5);
+ spawner("#CODMASTER::OnEDeath", 160, 45, 190, 130, 4);
+
+ end;
+}
+
diff --git a/npc/001-11/Demure.txt b/npc/001-11/Demure.txt
new file mode 100644
index 0000000..06eb149
--- /dev/null
+++ b/npc/001-11/Demure.txt
@@ -0,0 +1,244 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Valentine Event Master
+
+001-11,40,25,0 script Demure#Valentine NPC_FEMALE,{
+ goto L_Main;
+
+ // Functions
+ function ScoreValentine {
+
+ mes "##B"+l("Top 10 - Valentine Day")+"##b";
+ mesc l("Leaderboard is refresh daily at 11:59 and 23:59!");
+ mes("1." +$@valentine_name$[0]+" ("+$@valentine_value[0]+")");
+ mes("2." +$@valentine_name$[1]+" ("+$@valentine_value[1]+")");
+ mes("3." +$@valentine_name$[2]+" ("+$@valentine_value[2]+")");
+ mes("4." +$@valentine_name$[3]+" ("+$@valentine_value[3]+")");
+ mes("5." +$@valentine_name$[4]+" ("+$@valentine_value[4]+")");
+ mes("6." +$@valentine_name$[5]+" ("+$@valentine_value[5]+")");
+ mes("7." +$@valentine_name$[6]+" ("+$@valentine_value[6]+")");
+ mes("8." +$@valentine_name$[7]+" ("+$@valentine_value[7]+")");
+ mes("9." +$@valentine_name$[8]+" ("+$@valentine_value[8]+")");
+ mes("10."+$@valentine_name$[9]+" ("+$@valentine_value[9]+")");
+ next;
+ }
+ // $@VALENTINE_GIFTSTACKS
+ // (account id, gifts to receive)
+ // $@VALENTINE_LOVELETTER
+ // (account id, list of names)
+ function SendGift {
+ mesn;
+ mesq l("How many chocolate do you want to send? You can trade: @@", @maximus);
+ input @Val_Ammo;
+ mes "";
+
+ if (@Val_Ammo > @maximus || @Val_Ammo < 1) {
+ mesc l("You don't have that many!");
+ return;
+ }
+
+ do {
+ mesn;
+ mesq l("To whom you want to send @@ boxes? Cannot be yourself!", @Val_Ammo);
+ mesc l("Leave blank to abort.");
+ if (!#VALENTINE_SENT)
+ mesc l("(If you don't have anyone special to send these, send to @@. Perhaps they'll calm down with those T.T)", b("Monster King")), 3;
+ input .@ref$;
+ //debugmes "Sending chocolate to: "+.@ref$;
+ mes "";
+ if (.@ref$ != "") {
+ .@ref=gf_accid(strip(.@ref$));
+ if (.@ref > 0) {
+ if (.@ref == getcharid(3)) {
+ mesn;
+ mesq l("I said it cannot be yourself... </3");
+ next;
+ } else {
+ // Now we do the magic, first of, delete the chocolate and the text input
+ delitem BoxOfChocolates, @Val_Ammo;
+ .@ref$="";
+
+ // Send the Chocolate
+ .@m = htget($@VALENTINE_GIFTSTACKS, str(.@ref));
+ if (!.@m)
+ htput $@VALENTINE_GIFTSTACKS, str(.@ref), @Val_Ammo;
+ else
+ htput $@VALENTINE_GIFTSTACKS, str(.@ref), .@m+@Val_Ammo;
+
+ // Get 1 Point per sent box
+ #VALENTINE_POINTS+=@Val_Ammo;
+ #VALENTINE_SENT+=@Val_Ammo;
+
+ // Handle Love Letter
+ // TODO: Allow multiple attachment
+ if (countitem(LoveLetter)) {
+ mesn;
+ mesq l("Should I attach a love letter?");
+ next;
+ .@totalneed=@Val_Ammo/10+(@Val_Ammo % 10 ? 1 : 0);
+ select
+ l("Yes, one"),
+ //rif(countitem(LoveLetter) >= .@totalneed, l("Yes, %d", .@totalneed)),
+ l("I'll input how many I want to attach."),
+ l("No");
+ mes "";
+ .@reply=@menu-1;
+ // Custom input
+ if (@menu == 2) {
+ mes l("How many %s should I attach?", getitemlink(LoveLetter));
+ mesc l("Recommended: ##B%d##b | Max: %d", .@totalneed, countitem(LoveLetter));
+ input .@totalneed;
+ if (.@totalneed > countitem(LoveLetter))
+ .@totalneed=countitem(LoveLetter);
+ }
+ if (@menu != 3) {
+ delitem LoveLetter, (.@reply ? .@totalneed : 1);
+
+ // Register your name on love letter
+ .@s$ = htget($@VALENTINE_LOVELETTER, str(.@ref), "");
+ if (.@s$ == "")
+ htput $@VALENTINE_LOVELETTER, str(.@ref), strip(strcharinfo(0));
+ else
+ htput $@VALENTINE_LOVELETTER, str(.@ref), .@s$+", "+strip(strcharinfo(0));
+
+ // Get the bonus
+ // Old rule: 1 point for 2 boxes, capped at 25 and minimum 1 extra point
+ // Sending over 50 boxes at once won't give bonus, give another Love Letter.
+ //#VALENTINE_POINTS+=min(25, max(1, @Val_Ammo/2));
+
+ // New rule: Double points up to 10 points
+ .@min=(.@reply ? .@totalneed*10 : 10);
+ #VALENTINE_POINTS+=min(.@min, @Val_Ammo);
+
+ } // Love Letter OK
+ mesc l("Ok, done!");
+ } // Not yourself
+ } // Valid Person
+ } else {
+ mesn;
+ mesq l("Oops, there is nobody known as @@ on this game.", .@ref$);
+ mesq l("Could you try again? There could be a typo!");
+ next;
+ } // Invalid Input
+ } // Non void input
+ } while (.@ref$ != "");
+ return;
+ }
+ function GetGift {
+ .@m = htget($@VALENTINE_GIFTSTACKS, str(getcharid(3)));
+ if (.@m > 0) {
+ mesq l("Hey, look, you have @@ boxes to collect!", .@m);
+ .@n$ = htget($@VALENTINE_LOVELETTER, str(getcharid(3)), l("Secret Admirer"));
+ mesq l("They were given with @@ by @@.", any(l("love"), l("passion"), l("affection")), .@n$);
+
+ inventoryplace BoxOfChocolates, .@m;
+ getitem BoxOfChocolates, .@m;
+ #VALENTINE_RECEIVED+=.@m;
+ htput $@VALENTINE_GIFTSTACKS, str(getcharid(3)), 0;
+ htput $@VALENTINE_LOVELETTER, str(getcharid(3)), "";
+
+ } else {
+ mesq l("Sorry, you don't have any chocolate to pick up.");
+ }
+
+ return;
+ }
+
+// Script begin
+L_Main:
+ // Safety Check
+ if ($EVENT$ != "Valentine") {
+ if (is_staff())
+ ScoreValentine();
+ warp "Save", 0, 0; end;
+ }
+
+ // Demure Main
+ mesn;
+ mesq l("That annoying guy on the side of the tree is annoying. I want to ban him.");
+ next;
+ mesn;
+ mesq l("Anyway, it is Valentine Day, a good day to trade @@ with your admired one!", getitemlink(BoxOfChocolates));
+ next;
+ do {
+ mesc l("You currently have @@ points, @@ boxes of chocolate and @@ love letters.", #VALENTINE_POINTS, countitem(BoxOfChocolates), countitem(LoveLetter));
+ @maximus=countitem(BoxOfChocolates);
+ if (#VALENTINE_RECEIVED-#VALENTINE_OPENED > 0) {
+ mesc l("@@ boxes of chocolate were given to you as a gift.", #VALENTINE_RECEIVED-#VALENTINE_OPENED), 1;
+ // Demure can just send Soren's Chocolate to somebody else.
+ // Everyone else cannot send their gift chocolates. Please don't lose the boxes.
+ if (!is_gm())
+ @maximus-=#VALENTINE_RECEIVED-#VALENTINE_OPENED;
+ }
+ mes "";
+ select
+ l("Information"),
+ l("Scoreboards"),
+ rif(!is_gm() && @maximus >= 0, l("Send Chocolate")),
+ rif(!is_gm(), l("Receive Chocolate")),
+ l("Okay, bye");
+ mes "";
+
+ switch (@menu) {
+ case 1:
+ mesn;
+ mes lg("Valentine Day event consist in gathering @@ and sending them to your loved one.","Valentine Day event consist in gathering @@ and sending them to your loved one.", getitemlink(BoxOfChocolates));
+ next;
+ mesn;
+ mes l("Don't worry if they don't correspond to you. Each box sent will grant you 1 event point.");
+ mes l("The prizes are only for the top 10. Loratay on Land Of Fire Village can make, for limited time, a @@ for you if you want.", getitemlink(ValentineDress));
+ next;
+ mes l("You can optionally send a @@ along the chocolate box, so the person knows it was you who sent the chocolate.", getitemlink(LoveLetter));
+ mes l("Sending the letter will give you double event points, but no more than 10 extra points per letter.");
+ next;
+ mes l("When receiving the chocolate, you must eat it before event ends to get a point for that!");
+ mes l("These boxes cannot be sold, but they'll be deleted a while after the event ends.");
+ mes l("You also cannot send any boxes before eating any you've received, but Demure is an exception for this rule.");
+ next;
+ mes l("As with all TMW2 Major Events, the top 1 receive a special pet, and the other ranked ones get diverse rewards.");
+ mes l("There might be reward for anyone who doesn't gets a rank, but I never count on that. So, let's start?");
+ mesc l("Note: You must have a char on the first slot to leaderboard work. Points are shared accross all chars on your account."), 1;
+ next;
+ if (gettime(GETTIME_YEAR) == 2020) {
+ mesc l("During Valentine 2020, you can get event equipment with the Soul Stone.");
+ mesc l("On the friday, the 14th, an additional hunting field will be open. Talk to Soul Stone to go there :>");
+ next;
+ }
+ break;
+ case 2:
+ ScoreValentine();
+ break;
+ case 3:
+ SendGift(); next;
+ break;
+ case 4:
+ GetGift(); next;
+ break;
+ }
+ } while (@menu != 5);
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, Cap);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, RedStockings);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, BunnyEars);
+ setunitdata(.@npcId, UDT_WEAPON, GMRobe);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 14);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 18);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ // fallthrough
+
+OnClock2359:
+OnClock1159:
+ if (season() == WINTER)
+ .@nb = query_sql("SELECT c.name, i.value FROM `acc_reg_num_db` AS i, `char` AS c WHERE i.key='#VALENTINE_POINTS' AND i.account_id=c.account_id AND c.char_num='0' ORDER BY i.value DESC LIMIT 10", $@valentine_name$, $@valentine_value);
+ end;
+}
+
diff --git a/npc/001-11/Soren.txt b/npc/001-11/Soren.txt
new file mode 100644
index 0000000..ed3e64f
--- /dev/null
+++ b/npc/001-11/Soren.txt
@@ -0,0 +1,173 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// NPC obssessed in sending gifts to Demure
+
+001-11,37,25,0 script Soren xd#Valentine NPC_PLAYER,{
+ mesn;
+ mesq l("I will harass Demure with so many chocolate that she'll leave this event map rolling!");
+ if (gettime(GETTIME_YEAR) == 2020)
+ goto L_Purpose;
+ next;
+
+L_Main:
+ mesn;
+ mesq l("Do you want me to prepare more chocolate box for you? For that I'll need:");
+ msObjective(countitem(ChocolateBar) >= 12, l("* @@/12 @@", countitem(ChocolateBar), getitemlink(ChocolateBar)));
+ msObjective(Zeny >= 200, l("* @@/200 GP", format_number(Zeny)));
+ if (countitem(ChocolateBar) < 12 || Zeny < 200)
+ close;
+ next;
+ if (askyesno() == ASK_NO)
+ close;
+ if (Zeny < 200)
+ warp "001-9", 0, 0;
+
+ inventoryplace BoxOfChocolates, 1;
+ delitem ChocolateBar, 12;
+ Zeny=Zeny-200;
+ getitem BoxOfChocolates, 1;
+ mesn;
+ mesq l("Here you go!");
+ if (countitem(ChocolateBar) >= 12) {
+ mesq l("Anything else?");
+ next;
+ goto L_Main;
+ }
+ close;
+
+L_Purpose:
+ next;
+ select
+ l("You're creepy."),
+ l("Reset status"),
+ l("Change weapons"),
+ l("Open storage"),
+ l("Open shop");
+ mes "";
+ switch (@menu) {
+ case 2:
+ ConfirmStatusReset(1, false);
+ break;
+ case 3:
+ goto L_Swap;
+ break;
+ case 4:
+ closeclientdialog;
+ openstorage;
+ break;
+ case 5:
+ closeclientdialog;
+ shop .name$;
+ break;
+ }
+ close;
+
+L_Swap:
+ // Obtain item ID
+ if (countitem(Event1HSword))
+ .@itemid=Event1HSword;
+ else if (countitem(Event2HSword))
+ .@itemid=Event2HSword;
+ else if (countitem(EventBow))
+ .@itemid=EventBow;
+ else if (countitem(EventWand))
+ .@itemid=EventWand;
+ else
+ close;
+
+ // Item list
+ delinventorylist();
+ getinventorylist();
+ .@idx=array_find(@inventorylist_id, .@itemid);
+ if (.@idx < 0)
+ Exception("Invalid index for ("+.@itemid+") "+getitemlink(.@itemid), RB_DEFAULT|RB_ISFATAL);
+
+ select
+ rif(.@itemid != Event1HSword, l("One hand sword (average)")),
+ rif(.@itemid != Event2HSword, l("Two hands sword (strong, misses)")),
+ rif(.@itemid != EventBow, l("Bow (strong, slow, no evasion)")),
+ rif(.@itemid != EventWand, l("Wand (skill boost, pathetically weak)")),
+ l("Cancel");
+ mes "";
+ switch (@menu) {
+ case 1:
+ delitem .@itemid, 1;
+ getitembound2(Event1HSword, 1, 1, @inventorylist_refine[.@idx],
+ @inventorylist_attribute[.@idx], @inventorylist_card1[.@idx],
+ @inventorylist_card2[.@idx], @inventorylist_card3[.@idx],
+ @inventorylist_card4[.@idx], 1);
+ break;
+ case 2:
+ delitem .@itemid, 1;
+ getitembound2(Event2HSword, 1, 1, @inventorylist_refine[.@idx],
+ @inventorylist_attribute[.@idx], @inventorylist_card1[.@idx],
+ @inventorylist_card2[.@idx], @inventorylist_card3[.@idx],
+ @inventorylist_card4[.@idx], 1);
+ break;
+ case 3:
+ delitem .@itemid, 1;
+ getitembound2(EventBow, 1, 1, @inventorylist_refine[.@idx],
+ @inventorylist_attribute[.@idx], @inventorylist_card1[.@idx],
+ @inventorylist_card2[.@idx], @inventorylist_card3[.@idx],
+ @inventorylist_card4[.@idx], 1);
+ break;
+ case 4:
+ delitem .@itemid, 1;
+ getitembound2(EventWand, 1, 1, @inventorylist_refine[.@idx],
+ @inventorylist_attribute[.@idx], @inventorylist_card1[.@idx],
+ @inventorylist_card2[.@idx], @inventorylist_card3[.@idx],
+ @inventorylist_card4[.@idx], 1);
+ break;
+ }
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, CandorShorts);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CandorShirt);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 14);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 18);
+
+ // Soren Shop
+ sleep(SHOPWAIT);
+ /*
+ sellitem AnimalBones, 90;
+ sellitem Candy, 35;
+ sellitem Piberries, 25;
+ sellitem OolongTea;
+ sellitem ChamomileTea;
+ sellitem TolchiArrow;
+ sellitem TolchiAmmoBox;
+ sellitem TrainingAmmoBox;
+ sellitem CrazyRum;
+ sellitem Beer;
+ sellitem GoldenApple, 7000;
+ sellitem MercBoxA, 1000;
+ sellitem Grenade;
+ sellitem SmokeGrenade;
+ sellitem LousyMoccasins;
+ sellitem LeatherQuiver, 3500;
+ sellitem AgiPotionA, 1000;
+ sellitem VitPotionA, 1000;
+ sellitem IntPotionA, 1000;
+ sellitem DexPotionA, 1000;
+ sellitem LukPotionA, 1000;
+ sellitem SacredLifePotion, 2500;
+ sellitem SacredManaPotion, 2500;
+ sellitem CandorWarpCrystal, 100;
+ //sellitem MagicApple;
+ //sellitem FishingRod;
+ //sellitem WurtziteOre;
+ // TODO: LottoBox - Random hat to distinguish players
+ sellitem DoggyDog;
+ */
+ sellitem LousyMoccasins; // Debug so things don't crash
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+
+}
+
diff --git a/npc/001-11/_import.txt b/npc/001-11/_import.txt
new file mode 100644
index 0000000..8474bc5
--- /dev/null
+++ b/npc/001-11/_import.txt
@@ -0,0 +1,6 @@
+// Map 001-11: Valentine Highlands
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/001-11/Demure.txt",
+"npc/001-11/Soren.txt",
+"npc/001-11/_mobs.txt",
+"npc/001-11/event_soulmenhir.txt",
diff --git a/npc/001-11/_mobs.txt b/npc/001-11/_mobs.txt
new file mode 100644
index 0000000..5aebea5
--- /dev/null
+++ b/npc/001-11/_mobs.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 001-11: Valentine Highlands mobs
+001-11,47,34,29,14 monster Lovely Fluffy 1050,8,16000,0
+001-11,48,34,32,16 monster Red Mushroom 1042,2,175000,50000
+001-11,74,48,1,2 monster Chocolate Slime 1180,1,220000,50000
diff --git a/npc/001-11/event_soulmenhir.txt b/npc/001-11/event_soulmenhir.txt
new file mode 100644
index 0000000..68cd09a
--- /dev/null
+++ b/npc/001-11/event_soulmenhir.txt
@@ -0,0 +1,164 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Special Soul Menhir which only allows leaving the map.
+
+001-11,37,31,0 script Soul Stone#001-11 NPC_SOUL_CLEAN,{
+ mesn;
+ mes l("(A mystical aura surrounds this stone. It probably can return you home. What do you do?)");
+ if (is_staff())
+ mesc l("Current date: %d", numdate()), 9;
+ if (numdate() < 20200214)
+ mesc l("Additional Hunting Island will be released on Valentine Day!");
+
+ menu
+ l("Touch it."), L_Warp,
+ rif(!#VALENTINE_EQUIPMENT2020 && gettime(GETTIME_YEAR) == 2020, l("Obtain event equipment")), L_EVTC2020,
+ rif($@GM_OVERRIDE && getusers(1) >= 6, l("Warp to a mirror island.")), L_WarpMirror,
+ rif(numdate() >= 20200214, l("Warp to extra island!")), L_WarpEnchanted,
+ l("Leave it alone."), -;
+ close;
+
+L_Warp:
+ warp "Save", 0, 0;
+ close;
+
+L_WarpEnchanted:
+ warp "001-12", 56, 20;
+ close;
+
+// Done for multiple players
+// FIXME This obviously will not work
+L_WarpMirror:
+ .@u=getusers(1);
+ mesn;
+ mes l("To which mirrored island you want to warp?");
+ .@i=0;
+ .@dest$="Stay here";
+ // Create instances as needed
+ while (.@i < .@u/6) {
+ .@i+=1;
+ .@dest$+=sprintf(":Mirror Island %d", .@i);
+ if (!(getd("$@VALENTINE_MI"+.@i) &&
+ isinstance(getd("$@VALENTINE_MI"+.@i)))) {
+ debugmes "Create Mirror Island %d", .@i;
+
+ .@tmpist = instance_create("001-11@Mirror"+.@i, 0, IOT_NONE);
+ instance_attachmap("001-11", .@tmpist, 0, "001-11@MI"+.@i);
+ instance_set_timeout(1000000, 1000000, .@tmpist);
+ instance_init(.@tmpist);
+ setd("$@VALENTINE_MI"+.@i, .@tmpist);
+ }
+ }
+ select .@dest$;
+ if (@menu == 1)
+ close;
+ @menu-=1;
+ warp "001-11@MI"+@menu, 38, 32;
+ dispbottom l("Mirror Island %d", @menu);
+ /*
+ select
+ rif(.@u >= 6, l("Mirror Island 1")),
+ */
+ closeclientdialog;
+ close;
+
+// Special labels
+L_EVTC2020:
+ showavatar NPC_BARD_TRUMP;
+ mes l("Welcome! Here to pick a weapon? You'll be able to select three skill cards as well.");
+ next;
+ inventoryplace NPCEyes, 4, Iten, 1, OolongTea, 3, SpearmintTea, 5, CrazyRum, 1, DwarvenSake, 3;
+ mesc l("Are you sure you want to begin now? (Cannot be changed later)"), 1;
+ next;
+ if (askyesno() == ASK_NO)
+ close;
+ mes "";
+ mes l("Select your preferred play-style.");
+ select
+ l("A soldier, with a sword and a shield"),
+ l("A warrior, with a long blade"),
+ l("A ranger, with a powerful bow"),
+ l("A wizard, with a might wand");
+ mes "";
+ #VALENTINE_EQUIPMENT2020=true;
+ switch (@menu) {
+ case 1:
+ getitembound Event1HSword, 1, 1;
+ getitembound any(RoundLeatherShield, LeatherShield), 1, 1;
+ getitem FalkonCard, 1;
+ break;
+ case 2:
+ getitembound Event2HSword, 1, 1;
+ getitem FalkonCard, 1;
+ Zeny+=150;
+ break;
+ case 3:
+ getitembound EventBow, 1, 1;
+ getitem ArrowShowerCard, 1;
+ getitem TolchiAmmoBox, 5; // 1,000 arrows should be plenty
+ break;
+ case 4:
+ getitembound EventWand, 1, 1;
+ getitem FireballCard, 1;
+ Zeny+=150;
+ break;
+ }
+ // Get misc items
+ getitem HealCard, 1;
+ getitem OolongTea, 3;
+ getitem SpearmintTea, 5;
+ getitem CrazyRum, 1;
+ getitem DwarvenSake, 3;
+
+ // Ask for the skill set
+ mes "";
+ mes l("Select a set of skills:");
+ select
+ l("I need to survive anything!"),
+ l("I need support magic!"),
+ l("I need offensive magic!"),
+ l("I need supreme warrior skills!"),
+ l("I need supreme ranger skills!");
+ mes "";
+ switch (@menu) {
+ case 1: // Survival Magic
+ getitem LastStandCard, 1;
+ getitem CowardCard, 1;
+ break;
+ case 2: // Support Magic
+ getitem HighPriestCard, 1;
+ getitem FullPowerCard, 1;
+ break;
+ case 3: // Offensive Magic
+ getitem NatureWallCard, 1;
+ getitem MagicalMVPCard, 1;
+ break;
+ case 4: // Warrior Magic
+ getitem SupremeWarriorCard, 1;
+ getitem VersatileCard, 1;
+ break;
+ case 5: // Ranger Magic
+ getitem SupremeRangerCard, 1;
+ getitem VersatileCard, 1;
+ break;
+ }
+ mesn;
+ mes l("And, that's all.");
+ mesc l("Protip: You can trade the cards, but only before inserting them."), 9;
+ mesc l("You can make any build you want! But inserted cards cannot be removed!"), 9;
+ next;
+ mesn;
+ mes l("To insert a card, select the card and \"use\" it, or, drag and drop them to the weapon.");
+ mesc l("You can only insert up to 3 (three) cards per weapon!"), 1;
+ next;
+ mesn;
+ mes l("Event weapons and cards will be deleted once event ends.");
+ close;
+
+OnInit:
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/001-12/_import.txt b/npc/001-12/_import.txt
new file mode 100644
index 0000000..33a1ed3
--- /dev/null
+++ b/npc/001-12/_import.txt
@@ -0,0 +1,4 @@
+// Map 001-12: Southeast Enchanted Forest
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/001-12/_mobs.txt",
+"npc/001-12/event_soulmenhir.txt",
diff --git a/npc/001-12/_mobs.txt b/npc/001-12/_mobs.txt
new file mode 100644
index 0000000..99f05db
--- /dev/null
+++ b/npc/001-12/_mobs.txt
@@ -0,0 +1,12 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 001-12: Southeast Enchanted Forest mobs
+001-12,99,98,23,23 monster Clover Field 1028,2,90000,120000
+001-12,90,88,70,68 monster Lovely Fluffy 1050,80,22000,1000
+001-12,22,89,6,69 monster Duck 1029,4,60000,120000
+001-12,87,148,71,10 monster Duck 1029,4,60000,120000
+001-12,96,79,64,60 monster Red Mushroom 1042,20,175000,50000
+001-12,102,108,4,3 monster Chocolate Slime 1180,2,220000,50000
+001-12,80,139,85,28 monster Whirly Bird (BOSS) 1232,1,36000000,50000
+001-12,115,40,36,13 monster Angry Bat 1194,6,260000,50000
+001-12,94,93,4,3 monster Mana Piou 1155,1,220000,50000
+001-12,37,149,1,1 monster Mana Piou 1155,3,220000,50000
diff --git a/npc/001-12/event_soulmenhir.txt b/npc/001-12/event_soulmenhir.txt
new file mode 100644
index 0000000..27a563c
--- /dev/null
+++ b/npc/001-12/event_soulmenhir.txt
@@ -0,0 +1,29 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Special Soul Menhir which only allows leaving the map.
+
+001-12,54,16,0 script Soul Stone#001-12 NPC_SOUL_CLEAN,{
+ mesn;
+ mes l("(A mystical aura surrounds this stone. It probably can return you home. What do you do?)");
+
+ menu
+ l("Touch it."), L_Warp,
+ l("Return to main island."), L_WarpEnchanted,
+ l("Leave it alone."), -;
+ close;
+
+L_Warp:
+ warp "Save", 0, 0;
+ close;
+
+L_WarpEnchanted:
+ warp "001-11", 37, 31;
+ close;
+
+OnInit:
+ .distance = 10;
+ end;
+}
+
diff --git a/npc/001-13-0/_import.txt b/npc/001-13-0/_import.txt
new file mode 100644
index 0000000..574eefa
--- /dev/null
+++ b/npc/001-13-0/_import.txt
@@ -0,0 +1,2 @@
+// Map 001-13-0: Showdown
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/001-13-1/_import.txt b/npc/001-13-1/_import.txt
new file mode 100644
index 0000000..7cdcf96
--- /dev/null
+++ b/npc/001-13-1/_import.txt
@@ -0,0 +1,2 @@
+// Map 001-13-1: Showdown
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/001-13-2/_import.txt b/npc/001-13-2/_import.txt
new file mode 100644
index 0000000..58b5a77
--- /dev/null
+++ b/npc/001-13-2/_import.txt
@@ -0,0 +1,2 @@
+// Map 001-13-2: Showdown
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/001-13/_import.txt b/npc/001-13/_import.txt
new file mode 100644
index 0000000..1ec37b7
--- /dev/null
+++ b/npc/001-13/_import.txt
@@ -0,0 +1,3 @@
+// Map 001-13: Showdown
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/001-13/main.txt",
diff --git a/npc/001-13/main.txt b/npc/001-13/main.txt
new file mode 100644
index 0000000..312cec1
--- /dev/null
+++ b/npc/001-13/main.txt
@@ -0,0 +1,246 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Controls boss raid showdown (Freeyorp Event System - Boss Raid)
+
+function script FYRaid_Select {
+ .@abort = getarg(0, false);
+ if ($EVENT$ != "Raid") return;
+ sleep2(100); // Anti-flood protection: Hold execution for 100ms
+ mes l("Current Boss: %s", $RAIDING_BOSS$);
+ .@id = array_find($FYRAID_OWNER, getcharid(3));
+ if (.@id >= 0) {
+ // Same level (challenge ongoing)
+ if ($FYRAID_LV[.@id] == FYRAID_LV) {
+ // Was defeated when you weren't loooking (limited precedence)
+ if ($FYRAID_HP[.@id] <= 0) {
+ mesc l("Boss defeated!"), 3;
+ FYRAID_LV+=1;
+ $FYRAID_HP[.@id]=0;
+ Mobpt += FYRAID_LV * 10;
+ getitem EventNaftalin, FYRAID_LV;
+ }
+ // Time is running out
+ else if (gettimetick(2) < $FYRAID_TIME[.@id]) {
+ mesc l("You found a Level %d %s!", FYRAID_LV, $RAIDING_BOSS$), 2;
+ mesc l("Time left: %s", FuzzyTime($FYRAID_TIME[.@id])), 1;
+ }
+ // Time has expired - free for next boss
+ else if (gettimetick(2) > $FYRAID_TIME[.@id]) {
+ mesc l("The boss you discovered has ran away!");
+ $FYRAID_LV[.@id] = 0;
+ $FYRAID_HP[.@id] = 0;
+ $FYRAID_TIME[.@id] = 0;
+ Mobpt += rand2(FYRAID_LV);
+ }
+ }
+ }
+ if (.@abort)
+ return;
+ next;
+ setarray .@opt$, l("Cancel"), -1;
+ freeloop(true);
+ // Build menu
+ for (.@i=0; .@i < getarraysize($FYRAID_OWNER) ; .@i++) {
+ if ($FYRAID_HP[.@i] <= 0)
+ continue;
+ if ($FYRAID_TIME[.@i] < gettimetick(2))
+ continue;
+ .@hp=$FYRAID_HP[.@i];
+ .@lv=$FYRAID_LV[.@i];
+ .@on=$FYRAID_OWNER[.@i];
+ array_push(.@opt$, (.@on == getcharid(3) ? "**" : "") + l("Level %d (%s HP) (Found by %s)", .@lv, .@hp, strcharinfo(0, l("offline player"), .@on)) + (.@on == getcharid(3) ? "**" : ""));
+ array_push(.@opt$, str(.@i));
+ }
+ freeloop(false);
+ menuint2(.@opt$);
+ if (@menuret < 0)
+ return;
+ // Validate again if the prey is still valid
+ .@i = @menuret;
+ if ($FYRAID_HP[.@i] <= 0) {
+ mesc l("Someone else has already defeated this bounty.");
+ return;
+ }
+ if ($FYRAID_TIME[.@i] < gettimetick(2)) {
+ mesc l("This bounty has expired.");
+ return;
+ }
+ if (ispcdead()) {
+ mesc l("You are dead.");
+ return;
+ }
+ // Prepare the room (time limit = 3 minutes)
+ .@inst = instance_create("Showdown "+getcharid(0), getcharid(3), IOT_CHAR);
+ // Failed
+ if (.@inst < 0) {
+ mesc l("You can only try every %d minutes.", 3);
+ return;
+ }
+ // Attach map
+ // TODO: Different scenarios: Block Castle, Sewer, Concrete Dungeon, Crypt, Desert Castle, Mountain, Snowland, Lake Region, Ukar Shrine, Woodland...
+ .@lv = $FYRAID_LV[.@i];
+ .@mp$="fyrb@"+getcharid(0);
+ instance_attachmap(sprintf("001-13-%d", (.@lv % 3)), .@inst, false, .@mp$);
+
+ // Recreate the boss
+ .@mob=monster(.@mp$, 47, 33, $RAIDING_BOSS$, WanderingShadow, 1, "sBossRaid::OnBossDie");
+ setunitdata(.@mob, UDT_LEVEL, min(.@lv * 7, 200));
+ setunitdata(.@mob, UDT_STR, .@lv * 4);
+ setunitdata(.@mob, UDT_AGI, min(.@lv * 4, 255));
+ setunitdata(.@mob, UDT_VIT, .@lv * 5);
+ setunitdata(.@mob, UDT_INT, .@lv * 2);
+ setunitdata(.@mob, UDT_DEX, .@lv * 6);
+ setunitdata(.@mob, UDT_LUK, .@lv * 5);
+ setunitdata(.@mob, UDT_ADELAY, max(640, 1672-(.@lv * 24)));
+ setunitdata(.@mob, UDT_MAXHP, 2000+.@lv*1000+(FYRAID_LV/5*500));
+ setunitdata(.@mob, UDT_HP, $FYRAID_HP[.@i]);
+ setunitdata(.@mob, UDT_ATKMIN, 90+.@lv*10);
+ setunitdata(.@mob, UDT_ATKMAX, 90+.@lv*12);
+ setunitdata(.@mob, UDT_DEF, 10+.@lv*5);
+ setunitdata(.@mob, UDT_MDEF, 10+.@lv*3);
+ setunitdata(.@mob, UDT_HIT, (BaseLevel+.@lv)*45/10);
+ setunitdata(.@mob, UDT_FLEE, min((BaseLevel+.@lv)*27/10, 750));
+ setunitdata(.@mob, UDT_CRIT, rand2(60, min(180, 60+.@lv)));
+
+ // Save some persistent data
+ @map$=.@mp$;
+ @id=.@i;
+ @mb=.@mob;
+ @tm=gettimetick(2)+180;
+
+ // Good luck!
+ instance_set_timeout(190, 190, .@inst);
+ instance_init(.@inst);
+ warp .@mp$, 47, 52;
+ addtimer 180000, "sBossRaid::OnTimeout";
+ addtimer 40000, "sBossRaid::OnPump";
+ dispbottom l("Time left: %s", FuzzyTime(@tm));
+ closeclientdialog;
+ // TODO: Spawn an auxiliar every 10 levels
+ return;
+}
+
+// ------------------------------------------------------------------------------
+- script sBossRaid NPC_HIDDEN,{
+
+OnPump:
+ if (@map$ != getmap()) end;
+ .@msg$=l("In all the mana worlds, I alone am feared.");
+ .@lv=$FYRAID_LV[@id];
+ .@t = min(45, 10+rand2(.@lv));
+
+ // Apply boss skill based on their name
+ if ($RAIDING_BOSS$ == "Xakabael the Dark") {
+ .@msg$ = l("Witness my sublime rain of death. Regeneration!");
+ .@hp=getunitdata(@mb, UDT_HP);
+ .@mp=getunitdata(@mb, UDT_MAXHP);
+ setunitdata(@mb, UDT_HP, min(.@mp, .@hp+(.@lv * 50)));
+ .@mob=(rand2(.@lv) > 50 ? DeathCat : GreenSlime);
+ } else if ($RAIDING_BOSS$ == "Janeb the Evil") {
+ .@msg$ = l("Chaos shall be the founding stone of my town! Falling star!");
+ percentheal -5, -10;
+ .@mob=(rand2(.@lv) > 50 ? BlackScorpion : RedSlime);
+ } else if ($RAIDING_BOSS$ == "Platyna the Red") {
+ .@msg$ = l("I, the rightful ruler, demand back this world! Tyranny!");
+ percentheal -1, -1;
+ SC_Bonus(.@t, any(SC_BLIND, SC_POISON), 1);
+ .@mob=(rand2(.@lv) > 50 ? DarkLizard : Assassin);
+ } else if ($RAIDING_BOSS$ == "Benjamin the Frost") {
+ .@msg$ = l("Stop on your tracks, unfair being! Freeze!");
+ SC_Bonus((.@t / 2), any(SC_FREEZE, SC_SLEEP, SC_SLEEP, SC_SLEEP), 1);
+ .@mob=(rand2(.@lv) > 50 ? BlueSlime : WhiteSlime);
+ } else if ($RAIDING_BOSS$ == "Reid the Terrific") {
+ .@msg$ = l("There is no free speech. Censorship!");
+ SC_Bonus(.@t, SC_SILENCE, 1);
+ .@mob=(rand2(.@lv) > 50 ? Thug : RedMushroom);
+ } else if ($RAIDING_BOSS$ == "Nu'Rem the Destroyer") {
+ .@msg$ = l("And then... There was a quake. And all life died. Bleed!");
+ SC_Bonus(.@t, SC_BLOODING, 1);
+ .@mob=(rand2(.@lv) > 50 ? BlackSlime : OldSnake);
+ } else if ($RAIDING_BOSS$ == "Golbenez the Cruel") {
+ .@msg$ = l("Puny mortal, do your best to entertain me! Curse!");
+ SC_Bonus(.@t, SC_CURSE, 1);
+ .@mob=(rand2(.@lv) > 50 ? FireSkull : Skeleton);
+ } else if ($RAIDING_BOSS$ == "King of Typos") {
+ .@msg$ = l("The problem with typos is - unpredictable side effects.");
+ SC_Bonus(.@t, any(SC_SILENCE, SC_CURSE, SC_FREEZE, SC_BLOODING, SC_BLIND, SC_POISON, SC_DPOISON, SC_POISON, SC_BURNING, SC_SLEEP), 1);
+ .@mob=(rand2(.@lv) > 50 ? Swashbuckler : Bluepar);
+ } else {
+ consolewarn("Unknown raiding boss: %s. No skill will be used.", $RAIDING_BOSS$);
+ }
+
+ unittalk(@mb, .@msg$);
+ dispbottom l("Time left: %s", FuzzyTime(@tm));
+ // TODO: Maybe flush the boss HP to upstream to prevent farming?
+ addtimer max(20000, 46000-($FYRAID_LV[@id]*1000)), "sBossRaid::OnPump";
+ // Spawn reinforcements when applicable
+ if (.@mob && rand2(100) < .@lv) {
+ monster(@map$, 47, 33, "Minion", .@mob, 1);
+ }
+ end;
+
+// Boss defeated
+OnBossDie:
+ dispbottom l("Boss defeated!");
+ // Clear bonus
+ getitem EventNaftalin, $FYRAID_LV[@id]/2+1;
+ getexp $FYRAID_LV[@id], $FYRAID_LV[@id]/2+1;
+ .@new = 0;
+ specialeffect(FX_FANFARE, SELF, getcharid(3));
+ goto OnClose;
+
+// Ran out of time
+OnTimeout:
+ dispbottom l("Time out!");
+ .@new = getunitdata(@mb, UDT_HP);
+ goto OnClose;
+
+// What a noob, you died!
+OnDie:
+ dispbottom l("Killed in action!");
+ .@new = getunitdata(@mb, UDT_HP);
+ goto OnClose;
+
+// Warp you back
+OnClose:
+ // Time Penalty every time you attack the boss yourself
+ if (.@new > 0 && $FYRAID_OWNER[@id] == getcharid(3))
+ $FYRAID_TIME[@id] -= 300;
+
+ // Update boss parameters
+ .@old = $FYRAID_HP[@id];
+ .@dmg = .@old - .@new;
+ debugmes "Old %d New %d Damage %d", .@old, .@new, .@dmg;
+ // Damage Bonus
+ if (.@dmg / 2000 > 1)
+ getitem EventNaftalin, .@dmg / 2000;
+
+ // Record new HP info and give you rewards
+ $FYRAID_HP[@id] = .@new;
+ Mobpt += $FYRAID_LV[@id];
+ getexp $FYRAID_LV[@id], $FYRAID_LV[@id]/2+1;
+
+ // Send you back
+ deltimer("sBossRaid::OnPump");
+ deltimer("sBossRaid::OnTimeout");
+ sleep2(500);
+ if (@aurora_map$ != "" && @aurora_x && @aurora_y) {
+ // TODO: Maybe not if you're dead...? (heal hack?)
+ warp @aurora_map$, @aurora_x, @aurora_y;
+ @aurora_map$="";
+ @aurora_x=0;
+ @aurora_y=0;
+ } else {
+ teleporthome();
+ }
+ FYRaid_Select(true); // Formally close the raid session
+ close;
+}
+
+001-13 mapflag zone MMO
+001-13-0 mapflag zone MMO
+001-13-1 mapflag zone MMO
+001-13-2 mapflag zone MMO
+
diff --git a/npc/001-14/_import.txt b/npc/001-14/_import.txt
new file mode 100644
index 0000000..530b09c
--- /dev/null
+++ b/npc/001-14/_import.txt
@@ -0,0 +1,6 @@
+// Map 001-14: Porthos - The Town Of Portals
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/001-14/_warps.txt",
+"npc/001-14/ctrl.txt",
+"npc/001-14/hocus.txt",
+"npc/001-14/mapflags.txt",
diff --git a/npc/001-14/_warps.txt b/npc/001-14/_warps.txt
new file mode 100644
index 0000000..86f8a3f
--- /dev/null
+++ b/npc/001-14/_warps.txt
@@ -0,0 +1,123 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 001-14: Porthos - The Town Of Portals warps
+001-14,90,27,0 script #001-14_90_27 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 90,65; end;
+}
+001-14,62,33,0 script #001-14_62_33 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 79,70; end;
+}
+001-14,113,42,0 script #001-14_113_42 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 101,70; end;
+}
+001-14,135,57,0 script #001-14_135_57 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 110,78; end;
+}
+001-14,137,85,0 script #001-14_137_85 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 111,89; end;
+}
+001-14,135,113,0 script #001-14_135_113 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 109,102; end;
+}
+001-14,119,131,0 script #001-14_119_131 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 101,110; end;
+}
+001-14,90,139,0 script #001-14_90_139 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 90,114; end;
+}
+001-14,54,129,0 script #001-14_54_129 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 79,109; end;
+}
+001-14,39,110,0 script #001-14_39_110 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 71,101; end;
+}
+001-14,35,84,0 script #001-14_35_84 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 69,89; end;
+}
+001-14,43,46,0 script #001-14_43_46 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 71,78; end;
+}
+001-14,90,64,0 script #001-14_90_64 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 90,37; end;
+}
+001-14,101,69,0 script #001-14_101_69 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 113,49; end;
+}
+001-14,110,77,0 script #001-14_110_77 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 135,64; end;
+}
+001-14,111,90,0 script #001-14_111_90 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 137,92; end;
+}
+001-14,109,103,0 script #001-14_109_103 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 135,120; end;
+}
+001-14,101,111,0 script #001-14_101_111 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 119,138; end;
+}
+001-14,90,115,0 script #001-14_90_115 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 90,146; end;
+}
+001-14,79,110,0 script #001-14_79_110 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 54,136; end;
+}
+001-14,71,102,0 script #001-14_71_102 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 39,117; end;
+}
+001-14,69,90,0 script #001-14_69_90 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 35,91; end;
+}
+001-14,71,77,0 script #001-14_71_77 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 43,58; end;
+}
+001-14,79,69,0 script #001-14_79_69 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 62,40; end;
+}
+001-14,92,89,0 warp #001-14_92_89 0,0,000-1,22,22
diff --git a/npc/001-14/ctrl.txt b/npc/001-14/ctrl.txt
new file mode 100644
index 0000000..070c1c5
--- /dev/null
+++ b/npc/001-14/ctrl.txt
@@ -0,0 +1,642 @@
+// TMW2 script
+// Author:
+// Jesusalva
+// Description:
+// Magic Olympics
+
+001-14,91,90,0 script #MOLY_Sign00 NPC_NO_SPRITE,{
+ dispbottom l("Welcome to Porthos - The Town of Portals (Kaizei's æther / Moubootaur Legends)");
+ end;
+
+OnInit:
+ .distance=2;
+ end;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+// FIXME
+001-14,88,27,0 script Hocus#MOLY1200 NPC_BLACKWIZARD,{
+ npctalk l("Icicle Challenge");
+ npctalk l("Not Yet Implemented - Sorry.");
+ end;
+
+OnInit:
+ .distance=7;
+ end;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+001-14,111,42,0 script Hocus#MOLY0100 NPC_BLACKWIZARD,{
+ if (gettimetick(2) < @moly_tick) end;
+ if (@moly_chall) end;
+ mes ".:: " + l("Energy Ball Challenge") + ":: .";
+ mes l("The goal is simple - I'll spawn an energy ball and you must kill it quickly. You'll be disqualified if you equip a non-magical weapon at any time.");
+ dnext;
+ mes l("You'll have 60 seconds to kill as many balls as you can!");
+ mesc l("NOTE: Beside wands and staves, %s, %s, and the %s count as magic weapons.", getitemlink(Judgement), getitemlink(DarkPulsar), getitemlink(Lightbringer));
+ mes "";
+ mesc l("Your progress thus far: %s sparks", fnum(FYMOLY_ENBALL)), 3;
+ next;
+ mesc l("Begin campaign?"), 1;
+ if (askyesno() == ASK_NO) close;
+ @moly_tick = gettimetick(2) + 60;
+ @moly_score = 0;
+ @moly_chall = 1;
+ .m$=getmap();
+ @map$=getmap();
+ .@m=areamonster(.m$, 108, 43, 118, 48, "Target", YellowSpark, 1, "Hocus#MOLY0100::OnClick");
+ setunitdata(.@m, UDT_HP, 1);
+ setunitdata(.@m, UDT_MAXHP, 1);
+ setunitdata(.@m, UDT_LEVEL, 1);
+ setunitdata(.@m, UDT_SPEED, 60);
+ npctalk3 l("Countdown: 1 minute");
+ addtimer 2000, instance_npcname("Hocus#MOLY0100")+"::OnCheck";
+ initnpctimer;
+ closeclientdialog;
+ close;
+
+OnTimer15000:
+ npctalk "45 seconds";
+ end;
+
+OnTimer30000:
+ npctalk "30 seconds";
+ end;
+
+OnTimer45000:
+ npctalk "15 seconds";
+ end;
+
+OnTimer55000:
+ npctalk col("5 seconds", 1);
+ end;
+
+OnTimer60000:
+ killmonsterall(.m$);
+ maptimer2(.m$, 10, "Hocus#MOLY0100::OnEnd");
+ npctalk col("Time out!", 1);
+ stopnpctimer;
+ end;
+
+OnClick:
+ if (gettimetick(2) > @moly_tick) end;
+ if (@moly_chall != 1) end;
+ @moly_score+=1;
+ .@m=areamonster(@map$, 108, 43, 118, 48, "Target", YellowSpark, 1, "Hocus#MOLY0100::OnClick");
+ .@hp=rand2(50, 100);
+ setunitdata(.@m, UDT_MAXHP, .@hp);
+ setunitdata(.@m, UDT_HP, .@hp);
+ setunitdata(.@m, UDT_LEVEL, 1);
+ setunitdata(.@m, UDT_SPEED, 60);
+ setunitdata(.@m, UDT_MODE, MD_CANMOVE);
+ setunitdata(.@m, UDT_DEF, 32760);
+ setunitdata(.@m, UDT_MDEF, 0);
+ setunitdata(.@m, UDT_LUK, 32760);
+ end;
+
+OnCheck:
+ if (@moly_chall != 1) end;
+ if (gettimetick(2) > @moly_tick) end;
+ .@wp = getequipid(EQI_HAND_R);
+ // Disarmed
+ if (.@wp < 1) {
+ addtimer(2000, instance_npcname("Hocus#MOLY0100")+"::OnCheck");
+ end;
+ }
+ // Illegal weapon
+ if (.@wp != Judgement &&
+ .@wp != DarkPulsar &&
+ .@wp != Lightbringer &&
+ getiteminfo(.@wp, ITEMINFO_SUBTYPE) != W_STAFF) {
+ @moly_score = -1;
+ @moly_tick = 0;
+ @moly_chall = 0;
+ dispbottom col(l("You have been disqualified - illegal weapon: %s", getitemname(.@wp)), 1);
+ stopnpctimer;
+ killmonsterall(getmap());
+ end;
+ }
+ addtimer 2000, instance_npcname("Hocus#MOLY0100")+"::OnCheck";
+ end;
+
+OnEnd:
+ if (@moly_chall != 1) end;
+ .@pts=getq2(Q_AuroraEvent);
+ setq2 Q_AuroraEvent, .@pts+rand2(1, 1+@moly_scr/10);
+ dispbottom l("End! Score this time: %d", @moly_score);
+ FYMOLY_ENBALL = max(FYMOLY_ENBALL, @moly_score);
+ @moly_score = 0;
+ @moly_chall = 0;
+ end;
+
+OnInit:
+ .distance=7;
+ .m$="001-14";
+ end;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+001-14,135,61,0 script Hocus#MOLY0200 NPC_BLACKWIZARD,{
+ mes ".:: " + l("Intensive Mage Challenge") + ":: .";
+ mes l("Description: Use a lot of magic spells, regardless of type or raw strength. Points earned by skill level.");
+ mesc l("Note: Passives and some skills (e.g. Resync) doesn't count."), 1;
+ mes "";
+ mesc l("Your progress thus far: %s skills casted", fnum(FYMOLY_SPAMMY)), 3;
+ close;
+
+OnInit:
+ .distance=7;
+ end;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+// FIXME
+001-14,139,85,0 script Hocus#MOLY0300 NPC_BLACKWIZARD,{
+ npctalk l("Fluffy Hunter Challenge");
+ npctalk l("Not Yet Implemented - Sorry.");
+ end;
+
+OnInit:
+ .distance=7;
+ end;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+// Note: Do player knows any chants?
+001-14,135,117,0 script Hocus#MOLY0400 NPC_BLACKWIZARD,{
+ mes ".:: " + l("Chanting Challenge") + ":: .";
+ mes l("Description: Use chant-based magic. All chants score equally.");
+ mes "";
+ mesc l("Your progress thus far: %s chants casted", fnum(FYMOLY_CHANTI)), 3;
+ close;
+
+OnInit:
+ .distance=7;
+ end;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+001-14,119,135,0 script Hocus#MOLY0500 NPC_NICHOLAS,{
+ mes ".:: " + l("Alchemy Master Challenge") + ":: .";
+ mes l("Description: Whoever crafts more potions, regardless of type, wins this event.");
+ mes "";
+ mesc l("Your progress thus far: %s potions baked", fnum(FYMOLY_ALCHMY)), 3;
+ next;
+ // FREE brewing during event
+ do {
+ mesc l("What will you brew today?");
+ mes "";
+
+ if (AlchemySystem(CRAFT_PLAYER)) {
+ mesc l("Success!"), 3;
+ } else {
+ mesc l("That didn't work!"), 1;
+ }
+ next;
+ mesc l("Try again?");
+ } while (askyesno() == ASK_YES);
+ close;
+
+OnInit:
+ .distance=7;
+ end;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+001-14,88,139,0 script Hocus#MOLY0600 NPC_BLACKWIZARD,{
+ if (@moly_chall) end;
+ mes ".:: " + l("Magic Raw Power Challenge") + ":: .";
+ mes l("Description: For starters, I'll blow away all your summons and summon an ent. You must do the most damage to it within 10 seconds.");
+ mes l("Using potions and support magic is fine. It has high defense, so magic attacks work better.");
+ mesc l("Only magic weapons are allowed, but legendary ones - %s and %s - won't be tolerated.", getitemlink(Runestaff), getitemlink(Lightbringer)), 1;
+ mes "";
+ mesc l("Your progress thus far: %s damage inflicted", fnum(FYMOLY_MPWLVL)), 3;
+ next;
+ mesc l("Begin campaign?"), 1;
+ if (askyesno() == ASK_NO) close;
+ killmonsterall(getmap());
+ .@m=areamonster(getmap(), 87, 140, 93, 145, strmobinfo(1, EntAbomination), EntAbomination, 1);
+ setunitdata(.@m, UDT_MAXHP, 1000000);
+ setunitdata(.@m, UDT_HP, 1000000);
+ setunitdata(.@m, UDT_LEVEL, 1);
+ setunitdata(.@m, UDT_SPEED, 60);
+ setunitdata(.@m, UDT_MODE, MD_CANMOVE|MD_CANATTACK|MD_BOSS);
+ setunitdata(.@m, UDT_DEF, 999);
+ setunitdata(.@m, UDT_MDEF, 0);
+ setunitdata(.@m, UDT_LUK, 32760);
+ .mob = .@m;
+ .pid = getcharid(3);
+ @moly_tick = gettimetick(2) + 60;
+ @moly_score = 0;
+ @moly_chall = 6;
+ npctalk "10";
+ addtimer 550, instance_npcname("Hocus#MOLY0600")+"::OnCheck";
+ initnpctimer;
+ closeclientdialog;
+ close;
+
+OnCheck:
+ if (@moly_chall != 6) end;
+ if (gettimetick(2) > @moly_tick) end;
+ .@wp = getequipid(EQI_HAND_R);
+ // Disarmed
+ if (.@wp < 1) {
+ addtimer(550, instance_npcname("Hocus#MOLY0600")+"::OnCheck");
+ end;
+ }
+ // Illegal weapon
+ if ((.@wp == Lightbringer || .@wp == Runestaff) ||
+ (.@wp != Judgement &&
+ .@wp != DarkPulsar &&
+ getiteminfo(.@wp, ITEMINFO_SUBTYPE) != W_STAFF)) {
+ @moly_score = -1;
+ @moly_tick = 0;
+ @moly_chall = 0;
+ dispbottom col(l("You have been disqualified - illegal weapon: %s", getitemname(.@wp)), 1);
+ stopnpctimer;
+ killmonsterall(getmap());
+ end;
+ }
+ addtimer 550, instance_npcname("Hocus#MOLY0600")+"::OnCheck";
+ end;
+
+OnTimer1000:
+ npctalk "9"; end;
+OnTimer2000:
+ npctalk "8"; end;
+OnTimer3000:
+ npctalk "7"; end;
+OnTimer4000:
+ npctalk "6"; end;
+OnTimer5000:
+ npctalk "5"; end;
+OnTimer6000:
+ npctalk "4"; end;
+OnTimer7000:
+ npctalk col("3", 1); end;
+OnTimer8000:
+ npctalk col("2", 1); end;
+OnTimer9000:
+ npctalk col("1", 1); end;
+OnTimer10000:
+ npctalk col("Time out!", 1);
+ stopnpctimer;
+ attachrid(.pid);
+ if (@moly_chall != 6) end;
+ @moly_score = (getunitdata(.mob, UDT_HP) - getunitdata(.mob, UDT_MAXHP)) * -1;
+ killmonsterall(getmap());
+ .@pts=getq2(Q_AuroraEvent);
+ setq2 Q_AuroraEvent, .@pts+rand2(1, 1+@moly_score/1500);
+ dispbottom l("End! Score this time: %d", @moly_score);
+ FYMOLY_MPWLVL = max(FYMOLY_MPWLVL, @moly_score);
+ @moly_score = 0;
+ @moly_chall = 0;
+ end;
+
+OnInit:
+ .distance=7;
+ .mob = 0;
+ .pid = 0;
+ end;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+001-14,54,133,0 script Hocus#MOLY0700 NPC_BLACKWIZARD,{
+ mes ".:: " + l("Mana Experience Challenge") + ":: .";
+ mes l("Description: Similar to Intensive Mage, but measures mana experience - meaning even less skills will count, and swapping skills give a better effect.");
+ mes "";
+ mesc l("Your progress thus far: %s exp earned", fnum(FYMOLY_MANAXP)), 3;
+ close;
+
+OnInit:
+ .distance=7;
+ end;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+001-14,39,114,0 script Hocus#MOLY0800 NPC_BLACKWIZARD,{
+ if (@moly_chall) end;
+ mes ".:: " + l("Maze Race Challenge") + ":: .";
+ mes l("Description: Reach the other side of the maze and defeat the %s as quick as possible.", getmonsterlink(EntAbomination));
+ mes l("There'll be monsters, the maze is randomly generated, and the initial position for you and the Ent is not fixed. Therefore, you may begin handicapped in some cases depending on luck only.");
+ mesc l("NOTE: No equipment restriction. Less time is better.");
+ mes "";
+ mesc l("Your progress thus far: %s taken.", FuzzyTime(gettimetick(2) + FYMOLY_RACERS)), 3;
+ next;
+ mesc l("Begin campaign?"), 1;
+ if (askyesno() == ASK_NO) close;
+ addtimer 2500, instance_npcname("Hocus#MOLY0800")+"::OnCheck";
+ @map$ = getmap();
+ @moly_tick = gettimetick(2); // Will be used to determine score
+ @moly_score = 0; // Actually unused
+ @moly_chall = 8;
+
+ CreateMaze(IOT_CHAR);
+ MazeMobs((max(6, BaseLevel) - 5), false, rand2(12,16));
+ InitMaze(900, false, false);
+
+ // Create the target boss
+ .@mx=getmapinfo(MAPINFO_SIZE_X, MAZE_MAP$)-20;
+ .@my=getmapinfo(MAPINFO_SIZE_Y, MAZE_MAP$)-20;
+ .@m=areamonster(MAZE_MAP$, .@mx-20, .@my-20, .@mx, .@my, strmobinfo(1, EntAbomination), EntAbomination, 1, "Hocus#MOLY0800::OnWin");
+ setunitdata(.@m, UDT_MAXHP, 100);
+ setunitdata(.@m, UDT_HP, 100);
+ setunitdata(.@m, UDT_LEVEL, 1);
+ setunitdata(.@m, UDT_MODE, MD_BOSS);
+ setunitdata(.@m, UDT_LUK, 32760);
+ closeclientdialog;
+ end;
+
+OnWin:
+ warp @map$, 39, 117;
+ if (@moly_tick < gettimetick(2) / 2) end; // Ticks were Corrupted
+ @moly_score = gettimetick(2) - @moly_tick;
+ if (@moly_score < 8) end; // This is impossible*, don't even bother
+ .@pts=getq2(Q_AuroraEvent);
+ setq2 Q_AuroraEvent, .@pts+rand2(1, 1+BaseLevel/20);
+ dispbottom l("End! Score this time: %s", FuzzyTime(@moly_tick));
+ if (FYMOLY_RACERS >= 8)
+ FYMOLY_RACERS = min(FYMOLY_RACERS, @moly_score);
+ else
+ FYMOLY_RACERS = @moly_score;
+ @moly_score = 0;
+ @moly_chall = 0;
+ // *: Distance is always at least ~50 tiles in a straight line
+ end;
+
+OnCheck:
+ if (@moly_chall != 8) end;
+ // Game Over
+ if (ispcdead() ||
+ getmap() != MAZE_MAP$) { // NOT a typo - starting square is OK
+ // Game Over!
+ dispbottom col(l("You have been disqualified - died or left the maze"), 1);
+ @moly_score = 0;
+ @moly_chall = 0;
+ end;
+ }
+ addtimer 2500, instance_npcname("Hocus#MOLY0800")+"::OnCheck";
+ end;
+
+OnInit:
+ .distance=7;
+ end;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+001-14,37,84,0 script Hocus#MOLY0900 NPC_BLACKWIZARD,{
+ if (@moly_chall) end;
+ mes ".:: " + l("Hocus Said So Challenge") + ":: .";
+ mes l("Description: There'll be differently colored sparks and you must kill ONLY those of the color I say so! Failure to do so will cause immediate disqualification!");
+ mesc l("PS. No equipment restriction");
+ mes "";
+ mesc l("Your progress thus far: %s sparks killed", fnum(FYMOLY_HOCUSM)), 3;
+ next;
+ mesc l("Begin campaign?"), 1;
+ if (askyesno() == ASK_NO) close;
+ @moly_tick = gettimetick(2) + 60;
+ @moly_score = 0;
+ @moly_chall = 9;
+ .m$=getmap();
+ @map$=getmap();
+ .@m=areamonster(.m$, 38, 85, 40, 90, strmobinfo(1, YellowSpark), YellowSpark, 1, "Hocus#MOLY0900::OnClY");
+ setunitdata(.@m, UDT_HP, 1);
+ setunitdata(.@m, UDT_MAXHP, 1);
+ setunitdata(.@m, UDT_LEVEL, 1);
+ setunitdata(.@m, UDT_SPEED, 60);
+ .@m=areamonster(.m$, 38, 85, 40, 90, strmobinfo(1, MagentaSpark), MagentaSpark, 1, "Hocus#MOLY0900::OnClM");
+ setunitdata(.@m, UDT_HP, 1);
+ setunitdata(.@m, UDT_MAXHP, 1);
+ setunitdata(.@m, UDT_LEVEL, 1);
+ setunitdata(.@m, UDT_SPEED, 60);
+ .@m=areamonster(.m$, 38, 85, 40, 90, strmobinfo(1, YellowSpark), YellowSpark, 1, "Hocus#MOLY0900::OnClY");
+ setunitdata(.@m, UDT_HP, 1);
+ setunitdata(.@m, UDT_MAXHP, 1);
+ setunitdata(.@m, UDT_LEVEL, 1);
+ setunitdata(.@m, UDT_SPEED, 60);
+ .@m=areamonster(.m$, 38, 85, 40, 90, strmobinfo(1, MagentaSpark), MagentaSpark, 1, "Hocus#MOLY0900::OnClM");
+ setunitdata(.@m, UDT_HP, 1);
+ setunitdata(.@m, UDT_MAXHP, 1);
+ setunitdata(.@m, UDT_LEVEL, 1);
+ setunitdata(.@m, UDT_SPEED, 60);
+ @cl=any(YellowSpark, MagentaSpark);
+ npctalk3 l("Countdown: 1 minute - Kill %s!", strmobinfo(1, @cl));
+ initnpctimer;
+ closeclientdialog;
+ close;
+
+OnTimer9000:
+ npctalk "Hocus commands...";
+ end;
+
+OnTimer10000:
+ maptimer2(.m$, 10, "Hocus#MOLY0900::OnSeed");
+ npctalk sprintf("Time left = 50 seconds");
+ end;
+
+OnTimer19000:
+ npctalk "Hocus commands...";
+ end;
+
+OnTimer20000:
+ maptimer2(.m$, 10, "Hocus#MOLY0900::OnSeed");
+ npctalk sprintf("Time left = 40 seconds");
+ end;
+
+OnTimer29000:
+ npctalk "Hocus commands...";
+ end;
+
+OnTimer30000:
+ maptimer2(.m$, 10, "Hocus#MOLY0900::OnSeed");
+ npctalk sprintf("Time left = 30 seconds");
+ end;
+
+OnTimer39000:
+ npctalk "Hocus commands...";
+ end;
+
+OnTimer40000:
+ maptimer2(.m$, 10, "Hocus#MOLY0900::OnSeed");
+ npctalk sprintf("Time left = 20 seconds");
+ end;
+
+OnTimer49000:
+ npctalk "Hocus commands...";
+ end;
+
+OnTimer50000:
+ maptimer2(.m$, 10, "Hocus#MOLY0900::OnSeed");
+ npctalk sprintf("Time left = 10 seconds");
+ end;
+
+OnTimer55000:
+ npctalk col("5 seconds", 1);
+ end;
+
+OnTimer60000:
+ killmonsterall(.m$);
+ maptimer2(.m$, 10, "Hocus#MOLY0900::OnEnd");
+ npctalk col("Time out!", 1);
+ stopnpctimer;
+ end;
+
+OnSeed:
+ @cl=any(YellowSpark, MagentaSpark);
+ dispbottom l("Kill %s!", strmobinfo(1, @cl));
+ end;
+
+OnClY:
+ if (gettimetick(2) > @moly_tick) end;
+ if (@moly_chall != 9) end;
+ if (@cl != YellowSpark) {
+ @moly_score = -1;
+ @moly_tick = 0;
+ @moly_chall = 0;
+ dispbottom col(l("You have been disqualified - target was: %s", strmobinfo(1, @cl)), 1);
+ killmonsterall(getmap());
+ // FIXME: Stop npc timer
+ end;
+ }
+ @moly_score+=1;
+ .@m=areamonster(getmap(), 38, 85, 40, 90, strmobinfo(1, YellowSpark), YellowSpark, 1, "Hocus#MOLY0900::OnClY");
+ setunitdata(.@m, UDT_HP, 1);
+ setunitdata(.@m, UDT_MAXHP, 1);
+ setunitdata(.@m, UDT_LEVEL, 1);
+ setunitdata(.@m, UDT_SPEED, 60);
+ end;
+
+OnClM:
+ if (gettimetick(2) > @moly_tick) end;
+ if (@moly_chall != 9) end;
+ if (@cl != MagentaSpark) {
+ @moly_score = -1;
+ @moly_tick = 0;
+ @moly_chall = 0;
+ dispbottom col(l("You have been disqualified - target was: %s", strmobinfo(1, @cl)), 1);
+ killmonsterall(getmap());
+ // FIXME: Stop npc timer
+ end;
+ }
+ @moly_score+=1;
+ .@m=areamonster(getmap(), 38, 85, 40, 90, strmobinfo(1, MagentaSpark), MagentaSpark, 1, "Hocus#MOLY0900::OnClM");
+ setunitdata(.@m, UDT_HP, 1);
+ setunitdata(.@m, UDT_MAXHP, 1);
+ setunitdata(.@m, UDT_LEVEL, 1);
+ setunitdata(.@m, UDT_SPEED, 60);
+ end;
+
+OnEnd:
+ if (@moly_chall != 9) end;
+ .@pts=getq2(Q_AuroraEvent);
+ setq2 Q_AuroraEvent, .@pts+rand2(1, 1+@moly_score/10);
+ dispbottom l("End! Score this time: %d", @moly_score);
+ FYMOLY_HOCUSM = max(FYMOLY_HOCUSM, @moly_score);
+ @moly_score = 0;
+ @moly_chall = 0;
+ end;
+
+OnInit:
+ .distance=7;
+ .m$="001-14";
+ .cl=Dummy;
+ end;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+001-14,41,46,0 script Hocus#MOLY1000 NPC_BLACKWIZARD,{
+ if (@moly_chall) end;
+ mes ".:: " + l("Survival Challenge") + ":: .";
+ mes l("Description: Survive for the longest you can without leaving the designed region.");
+ mes l("Using potions and support magic is fine, as well as summons; but using a non-magical weapon will disqualify you.");
+ mesc l("NOTE: Beside wands and staves, %s, %s, and the %s count as magic weapons.", getitemlink(Judgement), getitemlink(DarkPulsar), getitemlink(Lightbringer));
+ mes "";
+ mesc l("Your progress thus far: %s survived.", FuzzyTime(gettimetick(2) + FYMOLY_SURVIV)), 3;
+ next;
+ mesc l("Begin campaign?"), 1;
+ if (askyesno() == ASK_NO) close;
+ killmonsterall(getmap());
+ @moly_score = 0;
+ @moly_chall = 10;
+ @map$ = getmap();
+ addtimer 500, instance_npcname("Hocus#MOLY1000")+"::OnCheck";
+ closeclientdialog;
+ close;
+
+OnCheck:
+ if (@moly_chall != 10) end;
+ @moly_score += 1;
+ // Game Over
+ if (ispcdead() ||
+ !isin(@map$, 37, 47, 49, 58)) { // NOT a typo - starting square is OK
+ // Game Over!
+ killmonsterall(getmap());
+ @moly_score = @moly_score / 2;
+ .@pts=getq2(Q_AuroraEvent);
+ setq2 Q_AuroraEvent, .@pts+rand2(1, 1+@moly_score/20);
+ dispbottom l("End! Score this time: %s", FuzzyTime(gettimetick(2)+@moly_score));
+ FYMOLY_SURVIV = max(FYMOLY_SURVIV, @moly_score);
+ @moly_score = 0;
+ @moly_chall = 0;
+ end;
+ }
+ /* Spawn */
+ if (!(@moly_score % 2)) {
+ .@m=areamonster(getmap(), 37, 47, 49, 57, strmobinfo(1, EntAbomination), EntAbomination, 1);
+ setunitdata(.@m, UDT_MAXHP, 50 + @moly_score * 6);
+ setunitdata(.@m, UDT_HP, 50 + @moly_score * 6);
+ setunitdata(.@m, UDT_LEVEL, 1 + (@moly_score / 2));
+ setunitdata(.@m, UDT_SPEED, max(50, 900-(@moly_score * 10)));
+ setunitdata(.@m, UDT_MODE, MD_CANMOVE|MD_CANATTACK|MD_AGGRESSIVE|MD_ANGRY);
+ setunitdata(.@m, UDT_DEF, min(32760, 20+@moly_score));
+ setunitdata(.@m, UDT_MDEF, min(32760, @moly_score));
+ setunitdata(.@m, UDT_LUK, min(32760, rand2(@moly_score) * 7));
+ setunitdata(.@m, UDT_HIT, 32760);
+ setunitdata(.@m, UDT_FLEE, 0);
+ setunitdata(.@m, UDT_ATKMIN, @moly_score);
+ setunitdata(.@m, UDT_ATKMAX, @moly_score+20);
+ setunitdata(.@m, UDT_ADELAY, max(672, 1872-(@moly_score * 4)));
+ }
+ /* Weapon Check */
+ .@wp = getequipid(EQI_HAND_R);
+ // Disarmed
+ if (.@wp < 1) {
+ addtimer 500, instance_npcname("Hocus#MOLY1000")+"::OnCheck";
+ end;
+ }
+ // Illegal weapon
+ if (.@wp != Judgement &&
+ .@wp != DarkPulsar &&
+ .@wp != Lightbringer &&
+ getiteminfo(.@wp, ITEMINFO_SUBTYPE) != W_STAFF) {
+ @moly_score = -1;
+ @moly_tick = 0;
+ @moly_chall = 0;
+ dispbottom col(l("You have been disqualified - illegal weapon: %s", getitemname(.@wp)), 1);
+ killmonsterall(getmap());
+ end;
+ }
+ addtimer 500, instance_npcname("Hocus#MOLY1000")+"::OnCheck";
+ end;
+
+OnInit:
+ .distance=7;
+ end;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+001-14,62,37,0 script Hocus#MOLY1100 NPC_BLACKWIZARD,{
+ mes ".:: " + l("Friendship's Strength Challenge") + ":: .";
+ mes l("Description: Use support skills and win the event with the power of FRIENDSHIP!");
+ mesc l("Note: Support skills used on self does not count."), 1;
+ mes "";
+ mesc l("Your progress thus far: %s friends supported", fnum(FYMOLY_FRIEND)), 3;
+ close;
+
+OnInit:
+ .distance=7;
+ end;
+}
+
+
+
diff --git a/npc/001-14/hocus.txt b/npc/001-14/hocus.txt
new file mode 100644
index 0000000..3bc241f
--- /dev/null
+++ b/npc/001-14/hocus.txt
@@ -0,0 +1,257 @@
+// TMW2 script
+// Author:
+// Jesusalva
+// Description:
+// Magic Olympics
+
+function script HocusScoreNew {
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='FYMOLY_ENBALL' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@moly01_n$, $@moly01_v);
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='FYMOLY_ICBOSS' AND i.value > 0 AND i.char_id=c.char_id ORDER BY i.value ASC LIMIT 10", $@moly02_n$, $@moly02_v); // Oddball: less is more
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='FYMOLY_FLUFFY' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@moly03_n$, $@moly03_v);
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='FYMOLY_CHANTI' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@moly04_n$, $@moly04_v);
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='FYMOLY_ALCHMY' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@moly05_n$, $@moly05_v);
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='FYMOLY_MPWLVL' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@moly06_n$, $@moly06_v);
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='FYMOLY_MANAXP' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@moly07_n$, $@moly07_v);
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='FYMOLY_RACERS' AND i.value > 5 AND i.char_id=c.char_id ORDER BY i.value ASC LIMIT 10", $@moly08_n$, $@moly08_v); // Oddball: less is more
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='FYMOLY_HOCUSM' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@moly09_n$, $@moly09_v);
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='FYMOLY_SURVIV' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@moly10_n$, $@moly10_v);
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='FYMOLY_FRIEND' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@moly11_n$, $@moly11_v);
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='FYMOLY_SPAMMY' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@moly12_n$, $@moly12_v);
+
+ /* Regenerate global scores */
+ deletearray $@moly_n$;
+ deletearray $@moly_v;
+ deletearray .@moly_n$;
+ deletearray .@moly_v;
+ freeloop(true);
+ // Challenge 01: Energy Balls
+ for (.@i = 0; .@i < getarraysize($@moly01_v); .@i++) {
+ .@p = 10-.@i;
+ .@m = array_find(.@moly_n$, $@moly01_n$[.@i]);
+ if (.@m < 0)
+ .@m = array_push(.@moly_n$, $@moly01_n$[.@i]) - 1;
+ .@moly_v[.@m] += .@p;
+ }
+ // Challenge 02: Boss Fight
+ for (.@i = 0; .@i < getarraysize($@moly02_v); .@i++) {
+ .@p = 10-.@i;
+ .@m = array_find(.@moly_n$, $@moly02_n$[.@i]);
+ if (.@m < 0)
+ .@m = array_push(.@moly_n$, $@moly02_n$[.@i]) - 1;
+ .@moly_v[.@m] += .@p;
+ }
+ // Challenge 03: Hunt the Fluffies
+ for (.@i = 0; .@i < getarraysize($@moly03_v); .@i++) {
+ .@p = 10-.@i;
+ .@m = array_find(.@moly_n$, $@moly03_n$[.@i]);
+ if (.@m < 0)
+ .@m = array_push(.@moly_n$, $@moly03_n$[.@i]) - 1;
+ .@moly_v[.@m] += .@p;
+ }
+ // Challenge 04: Chanting
+ for (.@i = 0; .@i < getarraysize($@moly04_v); .@i++) {
+ .@p = 10-.@i;
+ .@m = array_find(.@moly_n$, $@moly04_n$[.@i]);
+ if (.@m < 0)
+ .@m = array_push(.@moly_n$, $@moly04_n$[.@i]) - 1;
+ .@moly_v[.@m] += .@p;
+ }
+ // Challenge 05: Alchemy Master
+ for (.@i = 0; .@i < getarraysize($@moly05_v); .@i++) {
+ .@p = 10-.@i;
+ .@m = array_find(.@moly_n$, $@moly05_n$[.@i]);
+ if (.@m < 0)
+ .@m = array_push(.@moly_n$, $@moly05_n$[.@i]) - 1;
+ .@moly_v[.@m] += .@p;
+ }
+ // Challenge 06: Magic Power
+ for (.@i = 0; .@i < getarraysize($@moly06_v); .@i++) {
+ .@p = 10-.@i;
+ .@m = array_find(.@moly_n$, $@moly06_n$[.@i]);
+ if (.@m < 0)
+ .@m = array_push(.@moly_n$, $@moly06_n$[.@i]) - 1;
+ .@moly_v[.@m] += .@p;
+ }
+ // Challenge 07: Mana Exp
+ for (.@i = 0; .@i < getarraysize($@moly07_v); .@i++) {
+ .@p = 10-.@i;
+ .@m = array_find(.@moly_n$, $@moly07_n$[.@i]);
+ if (.@m < 0)
+ .@m = array_push(.@moly_n$, $@moly07_n$[.@i]) - 1;
+ .@moly_v[.@m] += .@p;
+ }
+ // Challenge 08: Race
+ for (.@i = 0; .@i < getarraysize($@moly08_v); .@i++) {
+ .@p = 10-.@i;
+ .@m = array_find(.@moly_n$, $@moly08_n$[.@i]);
+ if (.@m < 0)
+ .@m = array_push(.@moly_n$, $@moly08_n$[.@i]) - 1;
+ .@moly_v[.@m] += .@p;
+ }
+ // Challenge 09: Hocus Said So
+ for (.@i = 0; .@i < getarraysize($@moly09_v); .@i++) {
+ .@p = 10-.@i;
+ .@m = array_find(.@moly_n$, $@moly09_n$[.@i]);
+ if (.@m < 0)
+ .@m = array_push(.@moly_n$, $@moly09_n$[.@i]) - 1;
+ .@moly_v[.@m] += .@p;
+ }
+ // Challenge 10: Survive!
+ for (.@i = 0; .@i < getarraysize($@moly10_v); .@i++) {
+ .@p = 10-.@i;
+ .@m = array_find(.@moly_n$, $@moly10_n$[.@i]);
+ if (.@m < 0)
+ .@m = array_push(.@moly_n$, $@moly10_n$[.@i]) - 1;
+ .@moly_v[.@m] += .@p;
+ }
+ // Challenge 11: Friendship Strength
+ for (.@i = 0; .@i < getarraysize($@moly11_v); .@i++) {
+ .@p = 10-.@i;
+ .@m = array_find(.@moly_n$, $@moly11_n$[.@i]);
+ if (.@m < 0)
+ .@m = array_push(.@moly_n$, $@moly11_n$[.@i]) - 1;
+ .@moly_v[.@m] += .@p;
+ }
+ // Challenge 12: Intensive Mage
+ for (.@i = 0; .@i < getarraysize($@moly12_v); .@i++) {
+ .@p = 10-.@i;
+ .@m = array_find(.@moly_n$, $@moly12_n$[.@i]);
+ if (.@m < 0)
+ .@m = array_push(.@moly_n$, $@moly12_n$[.@i]) - 1;
+ .@moly_v[.@m] += .@p;
+ }
+ freeloop(false);
+ /* Reorder the .@moly into $@moly */
+ do
+ {
+ .@t = array_highest(.@moly_v);
+ if (.@t < 0 || getarraysize($@moly_v) > 10) break;
+ if (.@moly_v[.@t] < 1) break;
+ array_push($@moly_n$, .@moly_n$[.@t]);
+ array_push($@moly_v, .@moly_v[.@t]);
+ .@moly_v[.@t] = 0;
+ } while (true);
+ return;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+001-14,89,89,0 script Hocus Pocus NPC_BLACKWIZARD,{
+ function showScores;
+ function parseScores;
+ if ($EVENT$ != "Olympics") cwarp "Save", 0, 0;
+ mesn;
+ mesq l("Greetings, %s %s, I am Hocus Pocus the Grandmaster.", academicrank(), strcharinfo(0));
+ do
+ {
+ next;
+ select
+ l("Scoreboards"),
+ l("Detailed Information"),
+ l("Thanks for your wise words.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ showScores();
+ break;
+ case 2:
+ mesn;
+ mesq l("The Magic Olympics consist in twelve challenges with scoreboards.");
+ next;
+ mesn;
+ mesq l("Getting ranked #1 in a challenge yields you 10 points, getting ranked #2 yields you 9 points and so on.");
+ next;
+ mesn;
+ mesq l("Not participating in a challenge yields you zero points. In case of a tie, char creation date will be the decisive factor: Older adventurers will get the preference.");
+ next;
+ mesn;
+ mesq l("You also get points for participation, exchange them with Aurora back in Tulimshar before event ends.");
+ next;
+ mesn;
+ mesq l("The grand winner will get a %s. Both the first and second place will get a tuition at the Magic Academy.", getitemlink(BlackyCat));
+ next;
+ mesn;
+ mesq l("The Magic Olympics happen roughly quarterly, but not always at the same dates. It begins on a monday and ends on the sunday. It usually happens two weeks after the Mining Union Research Request event.");
+ break;
+ }
+ } while (@menu != 3);
+ close;
+
+function t {
+ return gettimetick(2);
+}
+
+function showScores {
+ parseScores("General Event Score", "$@moly_n$", "$@moly_v");
+ mesc l("Reminder: "), 1;
+ mesc l("Scores are updated every 6 hours."), 1;
+ next;
+ parseScores("Energy Balls Challenge", "$@moly01_n$", "$@moly01_v");
+ //parseScores("Boss Fight Challenge", "$@moly02_n$", "$@moly02_v", 0);
+ //parseScores("Fluffy Hunt Challenge", "$@moly03_n$", "$@moly03_v");
+ parseScores("Chanting Challenge", "$@moly04_n$", "$@moly04_v");
+ parseScores("Alchemy Master Challenge", "$@moly05_n$", "$@moly05_v");
+ parseScores("Magic Power Challenge", "$@moly06_n$", "$@moly06_v");
+ parseScores("Mana Exp Challenge", "$@moly07_n$", "$@moly07_v");
+ parseScores("Obstacle Race Challenge", "$@moly08_n$", "$@moly08_v", t());
+ parseScores("Hocus Commands Challenge", "$@moly09_n$", "$@moly09_v");
+ parseScores("Survive! Challenge", "$@moly10_n$", "$@moly10_v", t());
+ parseScores("Friendship Challenge", "$@moly11_n$", "$@moly11_v");
+ parseScores("Intensive Mage Challenge", "$@moly12_n$", "$@moly12_v");
+ mes "";
+ mesc l("Reminder: "), 1;
+ mesc l("Scores close at Sunday 23:59 - No scores will be given for last minute rushes!"), 1;
+ return;
+}
+
+function SCH {
+ .@n$ = getarg(0);
+ .@i = getarg(1);
+ return getd(sprintf("%s[%d]", .@n$, .@i));
+}
+
+function parseScores {
+ .@t$ = getarg(0);
+ .@n$ = getarg(1);
+ .@v$ = getarg(2);
+ .@tm = getarg(3, -1);
+ mes "";
+ mes l("##B%s: TOP 10##b", .@t$);
+ if (.@tm < 0) {
+ mes("1."+SCH(.@n$, 0)+" ("+fnum(SCH(.@v$, 0))+")");
+ mes("2."+SCH(.@n$, 1)+" ("+fnum(SCH(.@v$, 1))+")");
+ mes("3."+SCH(.@n$, 2)+" ("+fnum(SCH(.@v$, 2))+")");
+ mes("4."+SCH(.@n$, 3)+" ("+fnum(SCH(.@v$, 3))+")");
+ mes("5."+SCH(.@n$, 4)+" ("+fnum(SCH(.@v$, 4))+")");
+ mes("6."+SCH(.@n$, 5)+" ("+fnum(SCH(.@v$, 5))+")");
+ mes("7."+SCH(.@n$, 6)+" ("+fnum(SCH(.@v$, 6))+")");
+ mes("8."+SCH(.@n$, 7)+" ("+fnum(SCH(.@v$, 7))+")");
+ mes("9."+SCH(.@n$, 8)+" ("+fnum(SCH(.@v$, 8))+")");
+ mes("10."+SCH(.@n$, 9)+" ("+fnum(SCH(.@v$, 9))+")");
+ } else {
+ mes("1."+SCH(.@n$, 0)+" ("+FuzzyTime(.@tm - SCH(.@v$, 0))+")");
+ mes("2."+SCH(.@n$, 1)+" ("+FuzzyTime(.@tm - SCH(.@v$, 1))+")");
+ mes("3."+SCH(.@n$, 2)+" ("+FuzzyTime(.@tm - SCH(.@v$, 2))+")");
+ mes("4."+SCH(.@n$, 3)+" ("+FuzzyTime(.@tm - SCH(.@v$, 3))+")");
+ mes("5."+SCH(.@n$, 4)+" ("+FuzzyTime(.@tm - SCH(.@v$, 4))+")");
+ mes("6."+SCH(.@n$, 5)+" ("+FuzzyTime(.@tm - SCH(.@v$, 5))+")");
+ mes("7."+SCH(.@n$, 6)+" ("+FuzzyTime(.@tm - SCH(.@v$, 6))+")");
+ mes("8."+SCH(.@n$, 7)+" ("+FuzzyTime(.@tm - SCH(.@v$, 7))+")");
+ mes("9."+SCH(.@n$, 8)+" ("+FuzzyTime(.@tm - SCH(.@v$, 8))+")");
+ mes("10."+SCH(.@n$, 9)+" ("+FuzzyTime(.@tm - SCH(.@v$, 9))+")");
+ }
+ dnext;
+ return;
+}
+
+OnInit:
+ .distance=5;
+// Scoreboards are refreshed every 6 hours
+OnHour2359:
+OnHour0559:
+OnHour1159:
+OnHour1759:
+ if ($EVENT$ != "Olympics") end;
+ HocusScoreNew();
+ end;
+}
+
diff --git a/npc/001-14/mapflags.txt b/npc/001-14/mapflags.txt
new file mode 100644
index 0000000..7f9ecda
--- /dev/null
+++ b/npc/001-14/mapflags.txt
@@ -0,0 +1 @@
+001-14 mapflag zone MMO
diff --git a/npc/001-2/_import.txt b/npc/001-2/_import.txt
new file mode 100644
index 0000000..d7c488a
--- /dev/null
+++ b/npc/001-2/_import.txt
@@ -0,0 +1,3 @@
+// Map 001-2: Coliseum
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/001-2/mapflags.txt",
diff --git a/npc/001-2/mapflags.txt b/npc/001-2/mapflags.txt
new file mode 100644
index 0000000..b4b4f8d
--- /dev/null
+++ b/npc/001-2/mapflags.txt
@@ -0,0 +1 @@
+001-2 mapflag battleground
diff --git a/npc/001-3-1/_import.txt b/npc/001-3-1/_import.txt
new file mode 100644
index 0000000..41049d0
--- /dev/null
+++ b/npc/001-3-1/_import.txt
@@ -0,0 +1,5 @@
+// Map 001-3-1: Saulc's Palace
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/001-3-1/_warps.txt",
+"npc/001-3-1/alchemy.txt",
+"npc/001-3-1/smith.txt",
diff --git a/npc/001-3-1/_warps.txt b/npc/001-3-1/_warps.txt
new file mode 100644
index 0000000..ba603fe
--- /dev/null
+++ b/npc/001-3-1/_warps.txt
@@ -0,0 +1,11 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 001-3-1: Saulc's Palace warps
+001-3-1,24,62,0 warp #001-3-1_24_62 0,0,001-3,80,124
+001-3-1,117,62,0 warp #001-3-1_117_62 0,0,001-3,127,125
+001-3-1,45,127,0 warp #001-3-1_45_127 3,0,001-3,104,81
+001-3-1,45,83,0 warp #001-3-1_45_83 3,0,001-3-1,106,116
+001-3-1,107,117,0 warp #001-3-1_107_117 3,0,001-3-1,44,84
+001-3-1,116,127,0 warp #001-3-1_116_127 2,0,001-3,106,66
+001-3-1,97,127,0 warp #001-3-1_97_127 2,0,001-3,101,66
+001-3-1,24,31,0 warp #001-3-1_24_31 0,0,001-3,72,104
+001-3-1,117,31,0 warp #001-3-1_117_31 0,0,001-3,135,104
diff --git a/npc/001-3-1/alchemy.txt b/npc/001-3-1/alchemy.txt
new file mode 100644
index 0000000..a9c15dd
--- /dev/null
+++ b/npc/001-3-1/alchemy.txt
@@ -0,0 +1,27 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Debug functions for Craft Systems
+
+
+001-3-1,32,89,0 script GM Alchemy Table NPC_NO_SPRITE,{
+ if (!$@GM_OVERRIDE || $EVENT$ == "") goto L_Offline;
+ mesc l("Welcome to Saulc's Magic Alchemy Table!");
+ mesc l("This table will prepare the potion for you, no skill required!");
+ mesc l("What will you brew today?");
+ if (AlchemySystem(CRAFT_NPC))
+ mesc l("Success!"), 3;
+ else
+ mesc l("That didn't work!"), 1;
+ close;
+
+L_Offline:
+ npctalk3 l("Oops! Seems like Saulc doesn't wants you messing on his chemistry set!");
+ close;
+
+OnInit:
+ .distance=5;
+ end;
+}
+
diff --git a/npc/001-3-1/smith.txt b/npc/001-3-1/smith.txt
new file mode 100644
index 0000000..7de825a
--- /dev/null
+++ b/npc/001-3-1/smith.txt
@@ -0,0 +1,28 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Debug functions for Craft Systems
+
+
+001-3-1,52,86,0 script GM Black Smithy NPC_NO_SPRITE,{
+ if (!$@GM_OVERRIDE || $EVENT$ == "") goto L_Offline;
+ mesc l("Welcome to Saulc's Magic Smith Table!");
+ mesc l("This forge will prepare equipment for you, no skill required!");
+ mesc l("What will you craft today?");
+ //mesc l("You need to have an @@ equipped.", getitemlink(Knife)), 1;
+ if (SmithSystem(CRAFT_NPC))
+ mesc l("Success!"), 3;
+ else
+ mesc l("That didn't work!"), 1;
+ close;
+
+L_Offline:
+ npctalk3 l("Oops! Seems like Saulc doesn't wants you messing on his raging furnaces!");
+ close;
+
+OnInit:
+ .distance=5;
+ end;
+}
+
diff --git a/npc/001-3/_import.txt b/npc/001-3/_import.txt
new file mode 100644
index 0000000..3a2cb29
--- /dev/null
+++ b/npc/001-3/_import.txt
@@ -0,0 +1,4 @@
+// Map 001-3: Saulc's Home
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/001-3/_warps.txt",
+"npc/001-3/ctrl.txt",
diff --git a/npc/001-3/_warps.txt b/npc/001-3/_warps.txt
new file mode 100644
index 0000000..732ca93
--- /dev/null
+++ b/npc/001-3/_warps.txt
@@ -0,0 +1,11 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 001-3: Saulc's Home warps
+001-3,80,123,0 warp #001-3_80_123 0,0,001-3-1,24,61
+001-3,127,124,0 warp #001-3_127_124 0,0,001-3-1,117,61
+001-3,104,80,0 warp #001-3_104_80 3,0,001-3-1,45,126
+001-3,106,65,0 warp #001-3_106_65 0,0,001-3-1,116,126
+001-3,101,65,0 warp #001-3_101_65 0,0,001-3-1,97,126
+001-3,117,138,0 warp #001-3_117_138 0,0,000-1,22,22
+001-3,72,103,0 warp #001-3_72_103 0,0,001-3-1,24,30
+001-3,135,103,0 warp #001-3_135_103 0,0,001-3-1,117,30
+001-3,66,121,0 warp #001-3_66_121 0,2,004-2,50,61
diff --git a/npc/001-3/ctrl.txt b/npc/001-3/ctrl.txt
new file mode 100644
index 0000000..99c6d1f
--- /dev/null
+++ b/npc/001-3/ctrl.txt
@@ -0,0 +1,23 @@
+// TMW2 Script.
+// Author:
+// Jesusalva
+// Description:
+// None
+
+001-3,127,64,0 script #PatreonTower NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if (is_sponsor()) warp "003-0-2", 35, 42;
+ end;
+}
+
+001-3,103,69,0 script Copper Chest#Saulc NPC_CHEST,{
+ // Like common chest but up to +3% bonus
+ TreasureBox(rand2(150, 300), CopperKey);
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ close;
+OnInit:
+ .distance=2;
+ end;
+}
+
diff --git a/npc/001-4/_import.txt b/npc/001-4/_import.txt
new file mode 100644
index 0000000..a580541
--- /dev/null
+++ b/npc/001-4/_import.txt
@@ -0,0 +1,7 @@
+// Map 001-4: Enchanted Forest
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/001-4/_mobs.txt",
+"npc/001-4/event_soulmenhir.txt",
+"npc/001-4/lilica.txt",
+"npc/001-4/mushroom.txt",
+"npc/001-4/traps.txt",
diff --git a/npc/001-4/_mobs.txt b/npc/001-4/_mobs.txt
new file mode 100644
index 0000000..5b74a87
--- /dev/null
+++ b/npc/001-4/_mobs.txt
@@ -0,0 +1,16 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 001-4: Enchanted Forest mobs
+001-4,72,232,23,23 monster Clover Field 1028,2,60000,120000
+001-4,224,238,23,23 monster Clover Field 1028,2,60000,120000
+001-4,226,77,23,23 monster Clover Field 1028,2,60000,120000
+001-4,74,77,23,23 monster Clover Field 1028,2,60000,120000
+001-4,149,149,130,129 monster Bhop Fluffy 1049,180,60000,120000
+001-4,150,149,129,128 monster Easter Mouboo 1121,40,60000,120000
+001-4,72,132,23,23 monster Easter Angry Forain 1061,1,60000,120000
+001-4,125,76,23,23 monster Easter Angry Forain 1061,1,60000,120000
+001-4,176,72,23,23 monster Easter Angry Forain 1061,1,60000,120000
+001-4,228,131,23,23 monster Easter Angry Forain 1061,1,60000,120000
+001-4,226,188,23,23 monster Easter Angry Forain 1061,1,60000,120000
+001-4,174,237,23,23 monster Easter Angry Forain 1061,1,60000,120000
+001-4,125,238,23,23 monster Easter Angry Forain 1061,1,60000,120000
+001-4,72,184,23,23 monster Easter Angry Forain 1061,1,60000,120000
diff --git a/npc/001-4/event_soulmenhir.txt b/npc/001-4/event_soulmenhir.txt
new file mode 100644
index 0000000..464212b
--- /dev/null
+++ b/npc/001-4/event_soulmenhir.txt
@@ -0,0 +1,25 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Special Soul Menhir which only allows leaving the map.
+
+001-4,152,154,0 script Soul Stone#001-4 NPC_SOUL_CLEAN,{
+ mesn;
+ mes l("(A mystical aura surrounds this stone. It probably can return you home. What do you do?)");
+
+ menu
+ l("Touch it."), L_Warp,
+ l("Leave it alone."), -;
+ close;
+
+L_Warp:
+ //warp getsavepoint(0), getsavepoint(1), getsavepoint(2);
+ warp "000-1", 22, 22;
+ close;
+
+OnInit:
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/001-4/lilica.txt b/npc/001-4/lilica.txt
new file mode 100644
index 0000000..5d7f152
--- /dev/null
+++ b/npc/001-4/lilica.txt
@@ -0,0 +1,186 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Lilica is TMW-BR Scary Scary Easter Bunny and will help your trading stuff.
+
+001-4,139,151,0 script Lilica#easter NPC_EASTER,{
+ mesn;
+ mesq lg("Ah, traveller! I am Lilica the Scary Bunny! I exchange many @@ and @@ for neat rewards!","Ah, traveller! I am Lilica the Scary Bunny! I exchange many @@ and @@ for neat rewards!", getitemlink(SilverEasteregg), getitemlink(GoldenEasteregg));
+ next;
+ mesn;
+ mesq l("Golden Eggs are used for the grand collector prize. Ah, I love Easter! I loooooooove it!");
+ mesc l("Note: Golden and Silver Eggs are deleted after the next event end.");
+
+ menu
+ l("Scary..........."), -,
+ l("Trade Silver Eggs"), L_Silver,
+ l("Trade Golden Eggs"), L_Golden,
+ rif(getq(SQuest_Easter) != gettime(7), l("I want an Eggshell Hat!")), L_Quest,
+ l("View LeaderBoard"), L_Leader;
+ close;
+
+L_Silver:
+ openshop "#eastershop1";
+ closedialog;
+ close;
+
+L_Golden:
+ openshop "#eastershop2";
+ closedialog;
+ close;
+
+L_Leader:
+ mesc l("Leaderboard is refresh daily at 1 AM!");
+ mes("1."+$@easter_name$[0]+" ("+$@easter_value[0]+")");
+ mes("2."+$@easter_name$[1]+" ("+$@easter_value[1]+")");
+ mes("3."+$@easter_name$[2]+" ("+$@easter_value[2]+")");
+ mes("4."+$@easter_name$[3]+" ("+$@easter_value[3]+")");
+ mes("5."+$@easter_name$[4]+" ("+$@easter_value[4]+")");
+ mes("6."+$@easter_name$[5]+" ("+$@easter_value[5]+")");
+ mes("7."+$@easter_name$[6]+" ("+$@easter_value[6]+")");
+ mes("8."+$@easter_name$[7]+" ("+$@easter_value[7]+")");
+ mes("9."+$@easter_name$[8]+" ("+$@easter_value[8]+")");
+ mes("10."+$@easter_name$[9]+" ("+$@easter_value[9]+")");
+ close;
+
+L_Quest:
+ setarray .@Seasonal, EggshellHat, EggshellHat, GreenEggshellHat, OrangeEggshellHat, BlueEggshellHat, EggshellHat;
+ .@Hat=.@Seasonal[gettime(7)%6]; // Magically choose the hat from the array
+ mesn;
+ mesq l("Good choice! This year we're having a @@!", getitemlink(.@Hat));
+ next;
+ mesn;
+ mesq l("As usual, you can get only one hat yearly, for the symbolic amount of 40 @@ and 10 @@!", getitemlink(GoldenEasteregg), getitemlink(SilverEasteregg));
+ next;
+ menu
+ l("Maybe later."), -,
+ rif(countitem(GoldenEasteregg) >= 40 && countitem(SilverEasteregg) >= 10, l("Deal.")), L_QuestDone;
+ close;
+
+L_QuestDone:
+ inventoryplace .@Hat, 1;
+ delitem GoldenEasteregg, 40;
+ delitem SilverEasteregg, 10;
+ if (rand2(10000) < 100) goto L_Unlucky;
+ setq SQuest_Easter, gettime(7), min(500, getq2(SQuest_Easter)+100);
+ npctalk3 l("Strange Coins stock on shops was restored!");
+ getnameditem(.@Hat, strcharinfo(0));
+ mesn;
+ mesq l("Here you go! Happy easter! Bhop bhop!");
+ close;
+
+L_Unlucky:
+ getitem GoldenGift, 1;
+ mesn;
+ mes l("\"Oh... Sorry, @@.", strcharinfo(0));
+ mes l("But in accordance to an old %s, you were unlucky.", b(l("Community Decision")));
+ mes l("This means ##BAll items were lost##b, and you need to collect EVERYTHING, again, to get the hat.");
+ mes l("But, hm hm hm! I have a %s for you! It won't have what you wanted, but maybe you're lucky, after all?", getitemlink(GoldenGift));
+ mes l("Better luck next time!\"");
+ close;
+
+OnClock0100:
+OnClock1300:
+ if ($EVENT$ == "Easter")
+ .@nb = query_sql("SELECT c.name, i.amount FROM `inventory` AS i, `char` AS c WHERE i.nameid=834 AND i.char_id=c.char_id ORDER BY i.amount DESC LIMIT 10", $@easter_name$, $@easter_value);
+ end;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 5;
+
+ if ($EVENT$ == "Easter")
+ sEaster();
+ end;
+}
+
+function script EasterCoinCheck {
+ for (.@i=0;.@i < getarraysize(@bought_nameid); .@i++) {
+
+ if (debug || $@GM_OVERRIDE)
+ debugmes("%dx %s", @bought_quantity[.@i], getitemname(@bought_nameid[.@i]));
+
+ if (@bought_nameid[.@i] == StrangeCoin) {
+ .@q2=getq2(SQuest_Easter)-@bought_quantity[.@i];
+ if (.@q2 < 0) {
+ dispbottom l("Attempted to buy %d/%d %s, operation cancelled.",
+ @bought_quantity[.@i], getq2(SQuest_Easter),
+ getitemlink(StrangeCoin));
+ if (TUTORIAL)
+ dispbottom l("This quota is reset yearly, by completing %s's quest.", b("Lilica"));
+ end;
+ }
+ setq2 SQuest_Easter, .@q2;
+ }
+ }
+ return;
+}
+
+// Silver Easter Egg exchange.
+001-4,139,151,0 trader #eastershop1 NPC_HIDDEN,{
+ end;
+
+OnInit:
+ tradertype(NST_CUSTOM);
+
+ sellitem ChocolateMouboo,100;
+ sellitem StrangeCoin,50;
+ sellitem GoldenEasteregg,25;
+ sellitem EasterEgg,5;
+ end;
+
+OnCountFunds:
+ setcurrency(countitem(SilverEasteregg));
+ end;
+
+OnPayFunds:
+ if( countitem(SilverEasteregg) < @price )
+ end;
+ // Strange Coins are different
+ EasterCoinCheck();
+ // Complete purchase
+ delitem SilverEasteregg, @price;
+ purchaseok();
+ end;
+}
+// Golden Easter Egg exchange.
+001-4,139,151,0 trader #eastershop2 NPC_HIDDEN,{
+ end;
+
+OnInit:
+ tradertype(NST_CUSTOM);
+ setarray .@Seasonal, EggshellHat, EggshellHat, GreenEggshellHat, OrangeEggshellHat, BlueEggshellHat, EggshellHat;
+ .Hat=.@Seasonal[(gettime(7)+1)%6]; // Magically choose the hat from the array
+ .PrevHat=.@Seasonal[(gettime(7)-1)%6]; // Magically choose the hat from the array
+
+ // Seasonal item
+ sellitem .Hat,200;
+ sellitem .PrevHat,500;
+
+ // Rare and not-so-rare Items
+ sellitem MercBoxE,1500;
+ sellitem MercBoxD,1000;
+ sellitem MercBoxC,500;
+ sellitem Boots,450;
+ sellitem BronzeGift,100;
+ sellitem BunnyEars,50;
+ sellitem StrangeCoin,10;
+ sellitem SilverEasteregg,1;
+ end;
+
+OnCountFunds:
+ setcurrency(countitem(GoldenEasteregg));
+ end;
+
+OnPayFunds:
+ if( countitem(GoldenEasteregg) < @price )
+ end;
+ // Strange Coins are different
+ EasterCoinCheck();
+ // Complete purchase
+ delitem GoldenEasteregg, @price;
+ purchaseok();
+ end;
+}
+
diff --git a/npc/001-4/mushroom.txt b/npc/001-4/mushroom.txt
new file mode 100644
index 0000000..1ba604d
--- /dev/null
+++ b/npc/001-4/mushroom.txt
@@ -0,0 +1,174 @@
+// TMW2 SCRIPT.
+// Author:
+// The Mana World Brazil
+function script mushroomWarp {
+ if (playerattached())
+ {
+ heal -5, -5;
+ warp getmapname(), 0, 0;
+ @n = rand(3);
+ if (@n == 0) dispbottom l("Uhh... What happened...");
+ if (@n == 1) dispbottom l("The world is spiniiiiiiiing...");
+ if (@n == 2) dispbottom l("Ah... What is happening to meeeeeeee?");
+ }
+ else
+ {
+ unitwarp(0, "this", -1, -1);
+ }
+ return;
+}
+
+001-4,252,184,0 script #001-4_252x184 NPC_FANCY_CIRCLE,0,0,{
+ mes l("A bright and mysterious mushroom!!!");
+ mes l("Only getting closer to find out what kind this one is.");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ mushroomWarp();
+ end;
+}
+
+001-4,259,128,0 script #001-4_259x128 NPC_FANCY_CIRCLE,0,0,{
+ mes l("A bright and mysterious mushroom!!!");
+ mes l("Only getting closer to find out what kind this one is.");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ mushroomWarp();
+ end;
+}
+
+001-4,252,255,0 script #001-4_252x255 NPC_FANCY_CIRCLE,0,0,{
+ mes l("A bright and mysterious mushroom!!!");
+ mes l("Only getting closer to find out what kind this one is.");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ mushroomWarp();
+ end;
+}
+
+001-4,180,270,0 script #001-4_180x270 NPC_FANCY_CIRCLE,0,0,{
+ mes l("A bright and mysterious mushroom!!!");
+ mes l("Only getting closer to find out what kind this one is.");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ mushroomWarp();
+ end;
+}
+
+001-4,124,267,0 script #001-4_124x267 NPC_FANCY_CIRCLE,0,0,{
+ mes l("A bright and mysterious mushroom!!!");
+ mes l("Only getting closer to find out what kind this one is.");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ mushroomWarp();
+ end;
+}
+
+001-4,44,243,0 script #001-4_44x243 NPC_FANCY_CIRCLE,0,0,{
+ mes l("A bright and mysterious mushroom!!!");
+ mes l("Only getting closer to find out what kind this one is.");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ mushroomWarp();
+ end;
+}
+
+001-4,41,180,0 script #001-4_41x180 NPC_FANCY_CIRCLE,0,0,{
+ mes l("A bright and mysterious mushroom!!!");
+ mes l("Only getting closer to find out what kind this one is.");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ mushroomWarp();
+ end;
+}
+
+001-4,58,127,0 script #001-4_58x127 NPC_FANCY_CIRCLE,0,0,{
+ mes l("A bright and mysterious mushroom!!!");
+ mes l("Only getting closer to find out what kind this one is.");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ mushroomWarp();
+ end;
+}
+
+001-4,56,51,0 script #001-4_56x51 NPC_FANCY_CIRCLE,0,0,{
+ mes l("A bright and mysterious mushroom!!!");
+ mes l("Only getting closer to find out what kind this one is.");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ mushroomWarp();
+ end;
+}
+
+001-4,114,39,0 script #001-4_114x39 NPC_FANCY_CIRCLE,0,0,{
+ mes l("A bright and mysterious mushroom!!!");
+ mes l("Only getting closer to find out what kind this one is.");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ mushroomWarp();
+ end;
+}
+
+001-4,183,37,0 script #001-4_183x37 NPC_FANCY_CIRCLE,0,0,{
+ mes l("A bright and mysterious mushroom!!!");
+ mes l("Only getting closer to find out what kind this one is.");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ mushroomWarp();
+ end;
+}
+
+001-4,244,57,0 script #001-4_244x57 NPC_FANCY_CIRCLE,0,0,{
+ mes l("A bright and mysterious mushroom!!!");
+ mes l("Only getting closer to find out what kind this one is.");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ mushroomWarp();
+ end;
+}
+
+001-4,154,136,0 script #001-4_154x136 NPC_FANCY_CIRCLE,0,0,{
+ mes l("A bright and mysterious mushroom!!!");
+ mes l("Only getting closer to find out what kind this one is.");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ mushroomWarp();
+ end;
+}
+
+001-4,142,173,0 script #001-4_142x173 NPC_FANCY_CIRCLE,0,0,{
+ mes l("A bright and mysterious mushroom!!!");
+ mes l("Only getting closer to find out what kind this one is.");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ mushroomWarp();
+ end;
+}
+
diff --git a/npc/001-4/traps.txt b/npc/001-4/traps.txt
new file mode 100644
index 0000000..4965fe8
--- /dev/null
+++ b/npc/001-4/traps.txt
@@ -0,0 +1,557 @@
+// TMW2 Scripts
+// Author:
+// The Mana World Brazil
+// Description:
+// Traps.
+
+001-4,275,204,0 script #001-4_275x204 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_275x204", NPC_TRAP;
+ end;
+}
+
+001-4,260,182,0 script #001-4_260x182 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_260x182", NPC_TRAP;
+ end;
+}
+
+001-4,231,173,0 script #001-4_231x173 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_231x173", NPC_TRAP;
+ end;
+}
+
+001-4,199,171,0 script #001-4_199x171 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_199x171", NPC_TRAP;
+ end;
+}
+
+001-4,200,144,0 script #001-4_200x144 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_200x144", NPC_TRAP;
+ end;
+}
+
+001-4,247,127,0 script #001-4_247x127 NPC_TRAP,0,0,{
+ @map$ = "001-4";
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_247x127", NPC_TRAP;
+ end;
+}
+
+001-4,265,135,0 script #001-4_265x135 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_265x135", NPC_TRAP;
+ end;
+}
+
+001-4,271,110,0 script #001-4_271x110 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_271x110", NPC_TRAP;
+ end;
+}
+
+001-4,190,30,0 script #001-4_190x30 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_190x30", NPC_TRAP;
+ end;
+}
+
+001-4,163,33,0 script #001-4_163x33 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_163x33", NPC_TRAP;
+ end;
+}
+
+001-4,177,49,0 script #001-4_177x49 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer5000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_177x49", NPC_TRAP;
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_177x49", NPC_TRAP;
+ end;
+}
+
+001-4,164,89,0 script #001-4_164x89 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_164x89", NPC_TRAP;
+ end;
+}
+
+001-4,130,84,0 script #001-4_130x84 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_130x84", NPC_TRAP;
+ end;
+}
+
+001-4,126,47,0 script #001-4_126x47 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_126x47", NPC_TRAP;
+ end;
+}
+
+001-4,130,32,0 script #001-4_130x32 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_130x32", NPC_TRAP;
+ end;
+}
+
+001-4,107,33,0 script #001-4_107x33 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_107x33", NPC_TRAP;
+ end;
+}
+
+001-4,33,141,0 script #001-4_33x141 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_33x141", NPC_TRAP;
+ end;
+}
+
+001-4,82,149,0 script #001-4_82x149 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_82x149", NPC_TRAP;
+ end;
+}
+
+001-4,42,118,0 script #001-4_42x118 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_42x118", NPC_TRAP;
+ end;
+}
+
+001-4,24,106,0 script #001-4_24x106 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_24x106", NPC_TRAP;
+ end;
+}
+
+001-4,79,163,0 script #001-4_79x163 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_79x163", NPC_TRAP;
+ end;
+}
+
+001-4,42,175,0 script #001-4_42x175 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_42x175", NPC_TRAP;
+ end;
+}
+
+001-4,26,184,0 script #001-4_26x184 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_26x184", NPC_TRAP;
+ end;
+}
+
+001-4,32,198,0 script #001-4_32x198 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_32x198", NPC_TRAP;
+ end;
+}
+
+001-4,102,275,0 script #001-4_102x275 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_102x275", NPC_TRAP;
+ end;
+}
+
+001-4,128,274,0 script #001-4_128x274 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_128x274", NPC_TRAP;
+ end;
+}
+
+001-4,130,256,0 script #001-4_130x256 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_130x256", NPC_TRAP;
+ end;
+}
+
+001-4,128,220,0 script #001-4_128x220 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_128x220", NPC_TRAP;
+ end;
+}
+
+001-4,156,212,0 script #001-4_156x212 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_156x212", NPC_TRAP;
+ end;
+}
+
+001-4,166,246,0 script #001-4_166x246 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_166x246", NPC_TRAP;
+ end;
+}
+
+001-4,176,270,0 script #001-4_176x270 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_176x270", NPC_TRAP;
+ end;
+}
+
+001-4,160,270,0 script #001-4_160x270 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+
+OnTouchNPC:
+OnTouch:
+ SteelTrap();
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay "#001-4_160x270", NPC_TRAP;
+ end;
+}
+
diff --git a/npc/001-5/_import.txt b/npc/001-5/_import.txt
new file mode 100644
index 0000000..5c94ec5
--- /dev/null
+++ b/npc/001-5/_import.txt
@@ -0,0 +1,5 @@
+// Map 001-5: Contributor's Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/001-5/_mobs.txt",
+"npc/001-5/_warps.txt",
+"npc/001-5/worker.txt",
diff --git a/npc/001-5/_mobs.txt b/npc/001-5/_mobs.txt
new file mode 100644
index 0000000..6a6fd7f
--- /dev/null
+++ b/npc/001-5/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 001-5: Contributor's Cave mobs
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 001-5: Contributor's Cave mobs
+001-5,49,49,29,29 monster Blub 1008,2,35000,60000
+001-5,53,50,25,29 monster Snake 1122,1,35000,120000
+001-5,54,51,25,29 monster Night Scorpion 1077,1,35000,150000
+001-5,51,49,29,29 monster Stray Little Blub 1007,3,35000,180000
diff --git a/npc/001-5/_warps.txt b/npc/001-5/_warps.txt
new file mode 100644
index 0000000..5d41810
--- /dev/null
+++ b/npc/001-5/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 001-5: Contributor's Cave warps
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 001-5: Contributor's Cave warps
+001-5,22,80,0 warp #001-5_22_80 0,0,000-1,22,22
diff --git a/npc/001-5/worker.txt b/npc/001-5/worker.txt
new file mode 100644
index 0000000..8d21b08
--- /dev/null
+++ b/npc/001-5/worker.txt
@@ -0,0 +1,88 @@
+// TMW2 Script
+// Author: Jesusalva
+// Workers from Worker Day.
+
+001-5,23,73,0 script Soren NPC_CONSTR_WORKER,{
+ mesn;
+ mesq l("You can get @@ anywhere, although here is a little easier to get.", getitemlink(Pearl));
+ next;
+ mesn;
+ mesq l("You can trade them for quite nice items with my friend over there.");
+ close;
+}
+
+001-5,75,69,0 script Simon NPC_CONSTR_WORKER,{
+ function alreadyFinished;
+ .@year=getq(SQuest_WorkerDay);
+ .@day=getq3(SQuest_WorkerDay);
+ if (.@year != gettime(GETTIME_YEAR)-2000 ||
+ .@day != gettime(GETTIME_DAYOFMONTH))
+ setq SQuest_WorkerDay,
+ gettime(GETTIME_YEAR)-2000, 0, gettime(GETTIME_DAYOFMONTH);
+
+ // Main Loop
+ do
+ {
+ .@attempts=getq2(SQuest_WorkerDay);
+ if (.@attempts > BaseLevel/10)
+ alreadyFinished();
+
+ mesn;
+ mesq l("Hey dude. During this event you can trade one @@ for more... useful items.", getitemlink(.Item));
+ mesc l("Attempts for today: %d/%d", .@attempts, BaseLevel/10);
+ if (countitem(.Item) == 0)
+ close;
+ next;
+ select(
+ l("12x Strange Coins"),
+ l("2x Snake Egg"),
+ l("2x Bronze Gift"),
+ l("1600 GP"),
+ rif(countitem(.Item) >= 2, l("Trade 2 %s for a Silver Gift + a Bronze Gift", getitemname(.Item))),
+ l("Nothing right now.")
+ );
+ switch (@menu) {
+ case 1:
+ delitem .Item, 1;
+ getitem StrangeCoin, 12;
+ setq2 SQuest_WorkerDay, .@attempts+1;
+ break;
+ case 2:
+ delitem .Item, 1;
+ getitem SnakeEgg, 2;
+ setq2 SQuest_WorkerDay, .@attempts+1;
+ break;
+ case 3:
+ delitem .Item, 1;
+ getitem BronzeGift, 2;
+ setq2 SQuest_WorkerDay, .@attempts+1;
+ break;
+ case 4:
+ delitem .Item, 1;
+ Zeny=Zeny+1600;
+ setq2 SQuest_WorkerDay, .@attempts+1;
+ break;
+ case 5:
+ delitem .Item, 2;
+ getitem SilverGift, 1;
+ getitem BronzeGift, 1;
+ setq2 SQuest_WorkerDay, .@attempts+1;
+ break;
+
+ }
+
+ } while (@menu < 6);
+ close;
+
+function alreadyFinished {
+ mesc l("I already got enough %s, thank you.", getitemlink(.Item)), 1;
+ close;
+}
+
+OnInit:
+ .Item=Pearl;
+ .distance=4;
+ end;
+}
+
+
diff --git a/npc/001-6/_import.txt b/npc/001-6/_import.txt
new file mode 100644
index 0000000..9adfa79
--- /dev/null
+++ b/npc/001-6/_import.txt
@@ -0,0 +1,5 @@
+// Map 001-6: Cave Of Trials
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/001-6/_mobs.txt",
+"npc/001-6/mapflags.txt",
+"npc/001-6/warp.txt",
diff --git a/npc/001-6/_mobs.txt b/npc/001-6/_mobs.txt
new file mode 100644
index 0000000..aa7a0b2
--- /dev/null
+++ b/npc/001-6/_mobs.txt
@@ -0,0 +1,14 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 001-6: Cave Of Trials mobs
+001-6,94,24,92,38 monster Bif 1058,6,45000,35000
+001-6,159,156,6,7 monster King Of Trials 1079,1,60000,60000
+001-6,147,139,38,42 monster Giant Mutated Bat 1044,4,60000,60000
+001-6,40,143,22,37 monster Red Slime 1092,24,20000,60000
+001-6,40,75,33,37 monster Lava Slime 1097,12,30000,60000
+001-6,88,160,30,24 monster Yellow Slime 1091,8,60000,60000
+001-6,112,52,69,41 monster Snake 1122,17,60000,60000
+001-6,119,91,57,42 monster Black Scorpion 1074,23,30000,50000
+001-6,135,117,11,12 monster Dark Lizard 1051,2,60000,60000
+001-6,30,31,11,12 monster Dark Lizard 1051,1,60000,90000
+001-6,155,159,34,35 monster Lava Slime 1097,6,30000,30000
+001-6,169,77,22,37 monster Red Slime 1092,8,20000,60000
diff --git a/npc/001-6/mapflags.txt b/npc/001-6/mapflags.txt
new file mode 100644
index 0000000..c6904ba
--- /dev/null
+++ b/npc/001-6/mapflags.txt
@@ -0,0 +1 @@
+001-6 mapflag zone MMO
diff --git a/npc/001-6/warp.txt b/npc/001-6/warp.txt
new file mode 100644
index 0000000..b0e3879
--- /dev/null
+++ b/npc/001-6/warp.txt
@@ -0,0 +1,32 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// TODO
+
+
+001-6,159,157,0 script Soren Village NPC_SUMMONING_CIRC,0,0,{
+ end;
+
+OnTouch:
+ if (@SorenWarpOnline == 1)
+ end;
+ dispbottom l("Loading warp, be at this spot in 15 seconds.");
+ @SorenWarpOnline=1;
+ addtimer 15000, "Soren Village::OnWarper";
+ end;
+
+OnWarper:
+ @SorenWarpOnline=0;
+ if (isin("001-6", 159, 157, 159, 157) && !ispcdead()) {
+ compareandsetq HurnscaldQuest_Celestia, 2, 3;
+ warp "soren", 179, 76;
+ } else {
+ dispbottom l("Failed to warp to Soren Village.");
+ }
+ end;
+
+OnInit:
+ .sex = G_OTHER;
+ end;
+}
diff --git a/npc/001-7/_import.txt b/npc/001-7/_import.txt
new file mode 100644
index 0000000..733e726
--- /dev/null
+++ b/npc/001-7/_import.txt
@@ -0,0 +1,8 @@
+// Map 001-7: Frostia Cliffs
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/001-7/_mobs.txt",
+"npc/001-7/_warps.txt",
+"npc/001-7/barbarian.txt",
+"npc/001-7/celestia_bossfight.txt",
+"npc/001-7/homunculus.txt",
+"npc/001-7/mapflags.txt",
diff --git a/npc/001-7/_mobs.txt b/npc/001-7/_mobs.txt
new file mode 100644
index 0000000..70fa829
--- /dev/null
+++ b/npc/001-7/_mobs.txt
@@ -0,0 +1,37 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 001-7: Frostia Cliffs mobs
+001-7,48,95,24,11 monster Ice Fluffy 1041,8,30000,30000
+001-7,103,96,14,14 monster Wolvern 1037,8,30000,30000
+001-7,30,23,6,2 monster White Slime 1094,5,30000,30000
+001-7,49,46,8,2 monster White Slime 1094,2,30000,30000
+001-7,41,49,16,2 monster Wolvern 1037,2,30000,30000
+001-7,28,53,8,2 monster Wolvern 1037,1,30000,30000
+001-7,41,56,2,1 monster Wolvern 1037,1,30000,30000
+001-7,93,37,8,7 monster White Slime 1094,5,30000,30000
+001-7,109,53,8,8 monster Moggun 1070,6,30000,30000
+001-7,67,138,25,7 monster Ice Fluffy 1041,8,30000,30000
+001-7,70,119,1,0 monster Blue Slime 1087,2,30000,30000
+001-7,103,87,1,4 monster Blue Slime 1087,2,30000,30000
+001-7,100,108,1,4 monster Blue Slime 1087,2,30000,30000
+001-7,74,41,9,5 monster Moggun 1070,5,30000,30000
+001-7,38,78,1,1 monster Wolvern 1037,2,30000,30000
+001-7,64,70,1,1 monster Wolvern 1037,2,30000,30000
+001-7,53,73,1,1 monster Wolvern 1037,2,30000,30000
+001-7,25,76,1,1 monster Wolvern 1037,2,30000,30000
+001-7,81,72,1,1 monster Wolvern 1037,2,30000,30000
+001-7,92,69,1,1 monster Wolvern 1037,2,30000,30000
+001-7,78,78,1,1 monster Wolvern 1037,2,30000,30000
+001-7,33,137,10,7 monster Ice Fluffy 1041,3,30000,30000
+001-7,31,64,1,1 monster Wolvern 1037,2,30000,30000
+001-7,52,59,1,1 monster Wolvern 1037,2,30000,30000
+001-7,47,66,1,1 monster Wolvern 1037,2,30000,30000
+001-7,38,67,1,1 monster Wolvern 1037,2,30000,30000
+001-7,24,115,1,1 monster Wolvern 1037,1,30000,100000
+001-7,84,95,2,1 monster Ice Fluffy 1041,2,30000,30000
+001-7,89,90,2,1 monster Ice Fluffy 1041,2,30000,30000
+001-7,77,97,2,1 monster Ice Fluffy 1041,2,30000,30000
+001-7,77,140,10,3 monster Yeti 1064,4,30000,30000
+001-7,94,135,3,3 monster White Slime 1094,2,30000,30000
+001-7,35,25,5,2 monster Alpha Mouboo 1056,1,30000,30000
+001-7,106,56,1,1 monster Wolvern 1037,2,30000,30000
+001-7,90,37,1,1 monster Wolvern 1037,2,30000,30000
diff --git a/npc/001-7/_warps.txt b/npc/001-7/_warps.txt
new file mode 100644
index 0000000..631b7b5
--- /dev/null
+++ b/npc/001-7/_warps.txt
@@ -0,0 +1,20 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 001-7: Frostia Cliffs warps
+001-7,36,38,0 warp #001-7_36_38 0,0,001-7,26,23
+001-7,26,22,0 warp #001-7_26_22 0,0,001-7,36,39
+001-7,95,131,0 warp #001-7_95_131 0,0,001-7,77,113
+001-7,77,112,0 warp #001-7_77_112 0,0,001-7,95,132
+001-7,103,79,0 warp #001-7_103_79 0,0,001-7,36,23
+001-7,36,22,0 warp #001-7_36_22 0,0,001-7,103,80
+001-7,94,34,0 warp #001-7_94_34 0,0,001-7,114,84
+001-7,114,83,0 warp #001-7_114_83 0,0,001-7,94,35
+001-7,43,68,0 warp #001-7_43_68 0,0,001-7,67,45
+001-7,67,44,0 warp #001-7_67_44 0,0,001-7,43,69
+001-7,58,81,0 warp #001-7_58_81 0,0,001-7,31,52
+001-7,31,51,0 warp #001-7_31_51 0,0,001-7,58,82
+001-7,39,75,0 warp #001-7_39_75 0,0,001-7,61,123
+001-7,61,122,0 warp #001-7_61_122 0,0,001-7,39,76
+001-7,90,67,0 warp #001-7_90_67 0,0,001-7,104,51
+001-7,104,50,0 warp #001-7_104_50 0,0,001-7,90,68
+001-7,61,135,0 warp #001-7_61_135 0,0,001-7,98,65
+001-7,98,64,0 warp #001-7_98_64 0,0,001-7,61,136
diff --git a/npc/001-7/barbarian.txt b/npc/001-7/barbarian.txt
new file mode 100644
index 0000000..128344c
--- /dev/null
+++ b/npc/001-7/barbarian.txt
@@ -0,0 +1,75 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Wolvern Teeth Necklace Quest. Inhabits Frostia Hills.
+// The necklace can also be dropped by the Wolvern normally. Any of those will do
+// to advance the Barbarian Necklaces plot. (Until you get the final version of it)
+// This is a BONUS QUEST and can only be done via Yeti King Quest. It is NOT
+// meant to be doable outside it. It's overrewarding, yes. It's meant to be this way.
+// Do not tell everybody about this one :> Bonus to those who explore!
+// NOTE: Temporaly replaced with ClawPendant
+// Variables:
+// FrostiaQuest_WolfNecklace - quest var
+
+
+001-7,72,39,0 script Barbarian#Frostia NPC_HALBERDBARBARIAN,{
+ .@q = getq(FrostiaQuest_WolfNecklace);
+ mesn;
+ mesq l("Hello my friend.");
+ if (BaseLevel < 35) goto L_Weakling;
+ if (.@q == 0 && countitem(ToothNecklace)) goto L_Quest;
+ if (.@q == 1) goto L_CheckItems;
+ close;
+
+L_Weakling:
+ mesq l("These cliffs are no place for weak people like you. You better teleport yourself away as soon as possible!");
+ close;
+
+L_Quest:
+ mesq l("Oooh, I see you have a @@ with you.", getitemlink(ToothNecklace));
+ next;
+ mesn;
+ mesq l("It's done with @@ teethes. These drain your life and raise your strenght to SMASH your foes!", getmonsterlink(Wolvern));
+ next;
+ mesn;
+ mesq l("If you bring me 2 @@, that Necklace, and 4000 GP, I can improve it. It'll be worth it, I warrant you!", getitemlink(WolvernTooth)); // 5% drop rate of tooth.
+ setq FrostiaQuest_WolfNecklace, 1;
+ close;
+
+L_CheckItems:
+ if (!countitem(ToothNecklace) || countitem(WolvernTooth) < 2 || Zeny < 4000) {
+ mesn;
+ mesq l("Sorry, but you don't have what I need.");
+ mesq l("I need 2 @@, the @@, and 4000 GP.", getitemlink(WolvernTooth), getitemlink(ToothNecklace));
+ close;
+ }
+ mesn;
+ mesq l("Are you with what I asked for?");
+ if (askyesno() == ASK_NO)
+ close;
+ mes "";
+
+ // No checks because I did before and cheaters must die.
+ if (Zeny < 4000) {
+ Zeny=0;
+ percentheal -75, -100;
+ mesc l("All cheaters must die."), 1;
+ close;
+ }
+ inventoryplace ClawPendant, 1;
+ delitem WolvernTooth, 2;
+ delitem ToothNecklace, 1;
+ getitem ClawPendant, 1;
+ Zeny=Zeny-4000;
+ getexp 15000, 0;
+ mesn;
+ mesq l("Here you go, thanks for doing my SECRET quest! Eh, not much to do here. But I like life this way.");
+ setq FrostiaQuest_WolfNecklace, 2;
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/001-7/celestia_bossfight.txt b/npc/001-7/celestia_bossfight.txt
new file mode 100644
index 0000000..e67ec4f
--- /dev/null
+++ b/npc/001-7/celestia_bossfight.txt
@@ -0,0 +1,247 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Celestia Yeti King's quest. This controls the final showdown, and brings you
+// back home safely.
+//
+// If you cheated your way to here, you won't be able to interact with it.
+// No other safety measures are in place. Lone players cannot challenge the
+// Yeti King, there must be at least 2 players there to do the challenge.
+// BEWARE, the Yeti King gains stronger poisons the more people are attacking him.
+//
+// $@GM_OVERRIDE allows a single player to challenge him, as usual with all
+// co-op scripts.
+//
+// If you do not challenge him, the chance to challenge him again is lost.
+
+001-7,33,39,0 script #YetiKing NPC_YETI_KING,0,0,{
+ .@q=getq(HurnscaldQuest_Celestia);
+ if (.@q == 5 && !mobcount(.map$, "#YetiKing::OnVictory")) goto L_Survivor;
+ if (.@q == 6) goto L_GoHome;
+ end;
+
+L_GoHome:
+ .@MLPQuest=( (##02_MLWORLD & MLP_TMW_CELESTIA) &&
+ !(##02_MLWORLD & MLP_TMW_YETIKING) &&
+ getvaultid());
+ if (.@MLPQuest) {
+ mesn strcharinfo(0);
+ mesq l("Actually, have you ever heard of Yeti's kidnapping little girls?");
+ next;
+ goto L_VaultQuest;
+ }
+ mesc l("Go home now?");
+ if (askyesno() == ASK_YES)
+ warp "003-1-1", 94, 22;
+ closedialog;
+ if (!getareausers("001-7", 7))
+ setnpcdisplay .name$, NPC_YETI_KING;
+ close;
+
+L_Survivor:
+ if (!YETIKING_WINNER)
+ YETIKING_WINNER = gettimetick(2);
+ if ($YETIKING_WINNER$ == "") {
+ $YETIKING_WINNER$=strcharinfo(0);
+ channelmes("#world", $YETIKING_WINNER$+" is the first player to finish Yeti King Quest!! GG, dude! %%N");
+ announce "All hail ##B"+$YETIKING_WINNER$+"##b, first to complete the ##3Yeti King Quest!", bc_all|bc_npc;
+ getexp 0, 2000;
+ getitem PrismGift, 1;
+ mesc l("CONGRATULATIONS! You are the first player to finish Yeti King quest!!"), 2;
+ mesc l("You just gained a Prism Gift, and 2000 Job Exp for your bravery!"), 2;
+ next;
+ }
+ mesn col(l("The Yeti King"), 3);
+ mesq l("Good job, kid. You've survived both the Cave Of Trials and Soren's Village.");
+ next;
+ mesn col(l("The Yeti King"), 3);
+ mesq l("That was only to prove you're strong enough on yourself to do whatever you want to do. You have friends.");
+ next;
+ mesn col(l("The Yeti King"), 3);
+ mesq l("In this world, your friends are your strength. You deserve a reward for the victory, please choose whatever you want.");
+ select
+ l("I want a gemstone or ore"),
+ rif(!countitem(MirrorLakeArmor), l("I want experience")),
+ l("I want gold"),
+ l("I want coal"),
+ l("I want monster points");
+
+ mes "";
+ .@r=rand2(1,100)+(@YetiKing_Challenger*5);
+ switch (@menu) {
+ case 1:
+ if (.@r > 70)
+ getitem rand2(Diamond, Amethyst), 1;
+ else
+ getitem rand2(CopperOre, (REBIRTH ? IridiumOre : TitaniumOre)), any(1,2);
+ break;
+ case 2:
+ .@r+=BaseLevel;
+ getexp .@r*80, .@r*2; // max 8000 xp and 200 jp (level 0)
+ break;
+ case 3:
+ .@r+=JobLevel;
+ Zeny=Zeny+.@r*75; // max 7500 gp (job 0)
+ break;
+ case 4:
+ getitem Coal, (.@r/10); // max 10 coal
+ break;
+ case 5:
+ .@r+=(BaseLevel+JobLevel)/2;
+ Mobpt+=.@r*5; // max 500 mobpt (base/job 0)
+ break;
+ }
+ // Completion bonus
+ getexp 0, 2500;
+ getitem StrangeCoin, 1;
+ compareandsetq HurnscaldQuest_Celestia, 5, 6;
+ mesn col(l("The Yeti King"), 3);
+ mesq l("Here kid. Frostia, the elf town, is somewhere near here, but I'm not sure if you can reach it from here.");
+ next;
+ if ($@CINDY_STATE > gettimetick(2)) {
+ mesn col(l("The Yeti King"), 3);
+ mesq l("Some rogue Yetis are trying to escape to Nivalis. I can't hold them back for more than @@.", FuzzyTime($@CINDY_STATE+rand2(5,95)));
+ next;
+ }
+ mesn col(l("The Yeti King"), 3);
+ mesq l("I can warp you home now.");
+ mes "";
+ .@MLPQuest=( (##02_MLWORLD & MLP_TMW_CELESTIA) &&
+ !(##02_MLWORLD & MLP_TMW_YETIKING) &&
+ getvaultid());
+ select
+ rif(!.@MLPQuest, l("Please, bring me back home.")),
+ rif((getareausers("001-7", 7) > 1 || $@GM_OVERRIDE) && !mobcount(.map$, "#YetiKing::OnVictory") && @YetiKing_Challenger, l("No, we challenge you to a duel!")),
+ rif(.@MLPQuest, l("Actually, have you ever heard of Yeti's kidnapping little girls?")),
+ l("I'll walk around here a little more.");
+
+ mes "";
+ switch (@menu) {
+ case 1:
+ warp "003-1-1", 94, 22;
+ break;
+ case 2:
+ compareandsetq HurnscaldQuest_Celestia, 6, 7;
+ mesn col(l("The Yeti King"), 3);
+ mesq l("Foolish kids, do you think violence is the answer to everything?!");
+ next;
+ mesn col(l("The Yeti King"), 3);
+ mesq l("I give you five minutes to defeat me. Witness my wrath!");
+ if (mobcount(.map$, "#YetiKing::OnVictory"))
+ close;
+ setnpcdisplay .name$, NPC_NO_SPRITE;
+ npctalk l("*Roaaaaaar!*");
+ monster .map$, .x, .y, strmobinfo(1, YetiKing), YetiKing, 1, "#YetiKing::OnVictory";
+ initnpctimer;
+ break;
+ case 3:
+ goto L_VaultQuest;
+ }
+ close;
+
+OnVictory:
+ stopnpctimer;
+ setnpcdisplay .name$, NPC_SUMMONING_CIRC;
+ //Karma=Karma+1;
+ Mobpt+=10000;
+ getitem StrangeCoin, 2;
+ getmapxy(.@m$, .@x, .@y, 0);
+ makeitem(StrangeCoin, 1, .@m$, .@x+rand2(-1,1), .@y+rand2(-1,1));
+ npctalk l("Good job... You can keep the drops. Touch here to return home.");
+ areatimer "001-7", 20, 20, 141, 171, 10, "#YetiKing::OnDefeat";
+ donpcevent "Celestia::OnClock0002";
+ fix_mobkill(YetiKing);
+ end;
+
+// This allows the challenger to go back home without dying.
+OnDefeat:
+ getexp 0, 100;
+ compareandsetq HurnscaldQuest_Celestia, 7, 6;
+ end;
+
+OnTimer60000:
+ npctalk "Time left: 4 minutes";
+ end;
+
+OnTimer120000:
+ npctalk "Time left: 3 minutes";
+ end;
+
+OnTimer180000:
+ npctalk "Time left: 2 minutes";
+ end;
+
+OnTimer240000:
+ npctalk "Time left: 1 minute";
+ end;
+
+OnTimer270000:
+ npctalk "Time left: 30 seconds";
+ end;
+
+OnTimer290000:
+ npctalk "Time left: 10 seconds";
+ end;
+
+OnTimer300000:
+ npctalk "Time is up!";
+ areatimer "001-7", 20, 20, 141, 171, 10, "#YetiKing::OnDefeat";
+ killmonster(.map$, "#YetiKing::OnVictory"); // I could use "All" as label, too
+ setnpcdisplay .name$, NPC_YETI_KING;
+ end;
+
+// Hourly, check if there are players and fix the sprite
+OnMinute17:
+ if (!getareausers("001-7", 21))
+ setnpcdisplay .name$, NPC_YETI_KING;
+ end;
+
+L_VaultQuest:
+ mesn col(l("The Yeti King"), 3);
+ mesq l("Every once in a while, but I guess this is not common on your world, am I right.");
+ next;
+ select
+ l("I came from The Mana World."),
+ l("That's right, this is unheard of where I come from."),
+ l("...How do you know I'm not from this world?");
+ mes "";
+ mesn col(l("The Yeti King"), 3);
+ mesq l("I'm not unfamiliar with the children of Merlin, thosem whom cross the Mirror Lake. In case of The Mana World, you're lucky, we're parallel, meaning we share lots of things in common.");
+ next;
+ mesn col(l("The Yeti King"), 3);
+ mesq l("Now, I'm sure you could find the answer you seek without the trouble of coming here, but anyway. I guess I'll explain you how things work here, first.");
+ next;
+ mesn col(l("The Yeti King"), 3);
+ mesq l("In this world, Angela married with the Blue Sage. I had an... incident, with the Blue Sage, which is better forgetten. Anyway, seeking to cause a political instability, opposing Yetis every once in a while kidnap their daughter, Cindy.");
+ next;
+ mesn col(l("The Yeti King"), 3);
+ mesq l("The trick at tracing parallel, is finding the difference. In this world, Cindy gives a %s, a personal belonging of her, to those whom rescue her. What is the reward on your world?", getitemlink(Earmuffs));
+ next;
+ select
+ l("I got a Wizard Hat."),
+ l("I got a Wooden Staff.");
+ mes "";
+ mesn col(l("The Yeti King"), 3);
+ mesq l("That's your answer. Cindy is not a mage, right? This means some mage has bewitched the Yetis to do so, and if my parallel theory is correct, they're either aiming at the Blue Sage, or at her father.");
+ next;
+ mesn col(l("The Yeti King"), 3);
+ mesq l("Therefore, children of Merlin, go back to your world, and ask the Blue Sage Nikolai about it. The blue sage may fake angerness or try to dodge the question, but they are a good person. Still, you should ensure you're on his good side.");
+ next;
+ mesn col(l("The Yeti King"), 3);
+ mesq l("If you're still not confident enough, just tell him this: %s", col(l("*whisper whisper*"), 9));
+ next;
+ mesn col(l("The Yeti King"), 3);
+ mesq l("Are you ready to cross the Mirror Lake and return to your world?");
+ next;
+ if (askyesno() == ASK_YES) {
+ ##02_MLWORLD=##02_MLWORLD|MLP_TMW_YETIKING;
+ MirrorLakeSendTo(MLP_TMW, 0);
+ }
+ close;
+}
+
+
+
+
+
diff --git a/npc/001-7/homunculus.txt b/npc/001-7/homunculus.txt
new file mode 100644
index 0000000..5a34e0f
--- /dev/null
+++ b/npc/001-7/homunculus.txt
@@ -0,0 +1,282 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// 001-7 Monster King's Village Configuration File
+// Part of Player Quest, see 023-3 scope and 024-16
+// (C) Moubootaur Legends, 2019
+
+001-7,91,89,0 script #Init0233 NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ .@q=getq(General_Narrator);
+ .@q2=getq2(General_Narrator);
+ // Cheater Detected
+ if (.@q < 15) {
+ warp "Save", 0, 0;
+ die();
+ end;
+ }
+ if (.@q == 15) {
+ dispbottom lg("I'm not a coward! I must press forward!");
+ end;
+ }
+ .@mapn$="023-3";
+ warp .@mapn$, 48, 23;
+ end;
+}
+
+001-7,59,44,0 script #Init02331 NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ .@n=getq(General_Narrator);
+ .@q=getq2(FrostiaQuest_Homunculus);
+ // Cheater Detected
+ if (.@n < 15) {
+ warp "Save", 0, 0;
+ die();
+ end;
+ }
+ mesn l("Magically Sealed Gate");
+ mesc l("The door is sealed. The riddle says: “I drink, I become, I am. Don't say my name, but say why you know me. For, I am the best in the world.â€");
+ if (!(.@q & 1)) {
+ mesc l("You have no idea what that means."), 1;
+ close;
+ } else {
+ //mesc l("You know the answer can only be @@.", getitemlink(Coffee)), 3;
+ mesc l("Fortunately, we know the answer is..."), 3;
+ next;
+ select
+ l("...Actually, I'm drawing in a blank."),
+ l("...Tea."),
+ l("...Coffee."),
+ l("...Water."),
+ l("...Potion."),
+ l("...Blood."),
+ l("...Cocktail."),
+ l("...Poison.");
+ mes "";
+ if (@menu != 3) {
+ mesc l("But unfortunately, whoever made this riddle disagrees with me.");
+ close;
+ }
+ }
+ next;
+ mesn l("Magically Sealed Gate");
+ if (!(.@q & 256)) {
+ mesc l("Even after breaking the first layer, a second layer keeps active. The first layer gets back to work shortly after. What have I missed or forgotten to do?"), 1;
+ close;
+ } else {
+ if (.@q != 511)
+ Exception("Invalid quest state: "+.@q, RB_DEFAULT|RB_SPEECH|RB_ISFATAL);
+ mesc l("Are you sure you want to proceed? You CANNOT COME BACK!"), 1;
+ if (TUTORIAL)
+ mesc l("Reminder: Keep an eye out for traps.");
+ if (askyesno() == ASK_NO)
+ close;
+ }
+ closeclientdialog;
+ // We can create instance without recording the ID etc.
+ // Map name limit: 4 chars (hmc1) - as of homunculus
+ .@mapn$="hmc1@"+getcharid(0);
+ .@map2$="hmc2@"+getcharid(0);
+ .@inst = instance_create("Homunculus "+getcharid(0), getcharid(3), IOT_CHAR);
+ if (.@inst >= 0) {
+ instance_attachmap("023-3-1", .@inst, false, .@mapn$);
+ instance_attachmap("023-3-2", .@inst, false, .@map2$);
+ // Instance lasts one hour
+ instance_set_timeout(3600, 3600, .@inst);
+ instance_init(.@inst);
+ }
+ setq1 FrostiaQuest_Homunculus, 2;
+ warp .@mapn$, any(45,46), 79;
+ @instid=.@inst;
+ end;
+}
+
+001-7,50,112,0 script Abandoned Fountain#MKH NPC_NO_SPRITE,{
+ .@q=getq2(FrostiaQuest_Homunculus);
+ mesn;
+ mesc l("At a first glance, it seems to be full of water, but inspecting closer, it is not.");
+ next;
+ mesn;
+ mesc l("It is difficult to describe, it is like if it was mixed with mana itself. Drinking a bit of it was enough to recover your MP.");
+ percentheal 0, 100;
+ if (!(.@q & .hcID))
+ setq2 FrostiaQuest_Homunculus, .@q|.hcID;
+ close;
+OnInit:
+ .hcID=1;
+ .distance=2;
+ end;
+}
+
+
+001-7,48,111,0 script Sign#MKH NPC_NO_SPRITE,{
+ .@q=getq2(FrostiaQuest_Homunculus);
+ mesn;
+ mesc l("Welcome to") + " --_--_-___--__-_-_.";
+ mesc l("Yes, we have @@!", getitemlink(Coffee));
+ next;
+ mesn;
+ mesc l("The village name is difficult to read.");
+ if (!(.@q & .hcID))
+ setq2 FrostiaQuest_Homunculus, .@q|.hcID;
+ close;
+OnInit:
+ .hcID=2;
+ .distance=2;
+ end;
+}
+
+001-7,41,104,0 script Abandoned House#MKH1 NPC_NO_SPRITE,{
+ .@q=getq2(FrostiaQuest_Homunculus);
+ mesn;
+ mesc l("The door won't budge.");
+ if (!(.@q & .hcID))
+ setq2 FrostiaQuest_Homunculus, .@q|.hcID;
+ close;
+OnInit:
+ .hcID=4;
+ .distance=2;
+ end;
+}
+
+001-7,59,104,0 script Abandoned House#MKH2 NPC_NO_SPRITE,{
+ .@q=getq2(FrostiaQuest_Homunculus);
+ mesn;
+ mesc l("It seems to have been abandoned a long time ago, but the chimney is still going?");
+ if (!(.@q & .hcID))
+ setq2 FrostiaQuest_Homunculus, .@q|.hcID;
+ close;
+OnInit:
+ .hcID=8;
+ .distance=2;
+ end;
+}
+
+
+001-7,41,99,0 script Abandoned House#MKH3 NPC_NO_SPRITE,{
+ .@q=getq2(FrostiaQuest_Homunculus);
+ mesn;
+ mesc l("The knob has... melted down? What?");
+ if (!(.@q & .hcID))
+ setq2 FrostiaQuest_Homunculus, .@q|.hcID;
+ close;
+OnInit:
+ .hcID=16;
+ .distance=1;
+ end;
+}
+
+001-7,59,99,0 script Abandoned House#MKH4 NPC_NO_SPRITE,{
+ .@q=getq2(FrostiaQuest_Homunculus);
+ mesn;
+ mesc l("There seems to be signs of a fight long forgotten, but it still reeks blood.");
+ if (!(.@q & .hcID))
+ setq2 FrostiaQuest_Homunculus, .@q|.hcID;
+ close;
+OnInit:
+ .hcID=32;
+ .distance=1;
+ end;
+}
+
+001-7,33,89,0 script Apple Trees#MKH1 NPC_NO_SPRITE,{
+ .@q=getq2(FrostiaQuest_Homunculus);
+ mesn;
+ mesc l("It seems to be growing apples, but by the amount of magic particles...");
+ next;
+ mesn;
+ mesc l("A close inspection reveals nothing out of ordinary. It seems to be well kept.");
+ next;
+ if (!(.@q & 1)) {
+ mesn strcharinfo(0);
+ mesc l("You're hesitant to pick one, they could be dangerous.");
+ close;
+ }
+ mesn strcharinfo(0);
+ mesc l("You carefully pick a @@. It looks delicious! You feel you'll need it sooner than you expect.", getitemlink(MagicApple));
+ if (!(.@q & .hcID)) {
+ inventoryplace MagicApple, 1;
+ getitem MagicApple, 1;
+ setq2 FrostiaQuest_Homunculus, .@q|.hcID;
+ }
+ close;
+OnInit:
+ .hcID=64;
+ .distance=2;
+ end;
+}
+
+001-7,40,88,0 script Abandoned House#MKH6 NPC_NO_SPRITE,{
+ .@q=getq2(FrostiaQuest_Homunculus);
+ if (!(.@q & 64)) {
+ mesn strcharinfo(0);
+ mesc l("I should check the Apple Garden first.");
+ close;
+ }
+ // I hope this is right
+ if (!(
+ (.@q & 4) &&
+ (.@q & 8) &&
+ (.@q & 16) &&
+ (.@q & 32)) ) {
+ mesn strcharinfo(0);
+ mesc l("I better not disturb the hut owner.");
+ close;
+ }
+
+ mesn;
+ mesc l("It's locked. But a close inspection reveals a small key under the rug.");
+ next;
+ mesn;
+ mesc l("Maybe there's a locked door somewhere, and this key will fit?");
+ if (!(.@q & .hcID))
+ setq2 FrostiaQuest_Homunculus, .@q|.hcID;
+ close;
+OnInit:
+ .hcID=128;
+ .distance=1;
+ end;
+}
+
+001-7,50,99,0 script Abandoned House#MKH5 NPC_NO_SPRITE,{
+ .@q=getq2(FrostiaQuest_Homunculus);
+ if (!(.@q & 128)) {
+ mesn;
+ mesc l("It's locked.");
+ next;
+ mesn strcharinfo(0);
+ mesc l("Maybe there is a key somewhere near. I should keep looking.");
+ close;
+ }
+ mesn;
+ mesc l("It's locked.");
+ next;
+ mesn;
+ mesc l("You use the small key from the apple garden hut. It fits neatly.");
+ next;
+ mesn;
+ mesc l("The hut is... empty. And it doesn't have a fireplace, either.");
+ next;
+ mesn;
+ mesc l("You don't know how the chimney keeps producing smoke. It must be using hiding magic.");
+ next;
+ mesn;
+ mesc l("Whoever took control of this village is no ordinary mage. There's a switch on the wall.");
+ next;
+ mesn;
+ mesc l("You flip the switch. Nothing happens.");
+ // You can unflip it :>
+ setq2 FrostiaQuest_Homunculus, .@q^.hcID;
+ mesc l("Strange switch status: @@", (.@q&.hcID ? l("Inactive") : l("Active"))), 3;
+ close;
+OnInit:
+ .hcID=256;
+ .distance=1;
+ end;
+}
+
diff --git a/npc/001-7/mapflags.txt b/npc/001-7/mapflags.txt
new file mode 100644
index 0000000..296862a
--- /dev/null
+++ b/npc/001-7/mapflags.txt
@@ -0,0 +1 @@
+001-7 mapflag zone MMO
diff --git a/npc/001-8/_import.txt b/npc/001-8/_import.txt
new file mode 100644
index 0000000..0dce527
--- /dev/null
+++ b/npc/001-8/_import.txt
@@ -0,0 +1,5 @@
+// Map 001-8: Hungry Quirin Arena
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/001-8/_mobs.txt",
+"npc/001-8/hub.txt",
+"npc/001-8/mapflags.txt",
diff --git a/npc/001-8/_mobs.txt b/npc/001-8/_mobs.txt
new file mode 100644
index 0000000..24a0290
--- /dev/null
+++ b/npc/001-8/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 001-8: Hungry Quirin Arena mobs
+001-8,49,49,30,30 monster Piousse 1003,11,20000,20000
+001-8,28,47,10,7 monster Plushroom Field 1011,18,30000,30000
+001-8,70,51,10,7 monster Chagashroom Field 1128,18,30000,30000
+001-8,49,28,31,10 monster Manana Tree 1017,26,30000,30000
+001-8,28,70,10,10 monster Squirrel 1032,8,30000,30000
+001-8,67,72,14,9 monster Manana Tree 1017,8,30000,30000
diff --git a/npc/001-8/hub.txt b/npc/001-8/hub.txt
new file mode 100644
index 0000000..9ba3cf5
--- /dev/null
+++ b/npc/001-8/hub.txt
@@ -0,0 +1,433 @@
+// TMW2 Script
+// Author:
+// Ernando <ernando.quirino@hotmail.com> (Creator)
+// Jesusalva <admin@tmw2.org>
+// Description:
+// Hunger Gamesâ„¢ version for The Mana World Brazil v2, created by Ernando Quirino.
+
+001-8,0,0,0 script #QuirinoHUB NPC_HIDDEN,{
+ end;
+
+ // HUBspawn( mobID, amount )
+ function HUBspawn {
+ areamonster "001-8", 20, 20, 80, 80, strmobinfo(1, getarg(0)), getarg(0), getarg(1);
+ return; }
+
+ // HUBscatter( itemID )
+ function HUBscatter {
+ makeitem(getarg(0), 1, "001-8", rand(20,80), rand(20,80));
+ return; }
+
+ // HUBarrow()
+ function HUBarrow {
+ makeitem(rand(TrainingArrow,BoneArrow), rand(10,30), "001-8", rand(20,80), rand(20,80));
+ return; }
+
+ // HUBrandwpn( full )
+ function HUBrandwpn {
+ if (getarg(0)) {
+ .@x=rand(20,80); .@y=rand(20,80);
+ } else {
+ .@x=rand(44,55); .@y=rand(46,54);
+ }
+
+ .@r=rand(1,8);
+ switch(.@r){
+ case 1:
+ makeitem(rand(Knife, WoodenSword), 1, "001-8", .@x, .@y); break;
+ case 2:
+ makeitem(rand(SharpKnife, Dagger), 1, "001-8", .@x, .@y); break;
+ case 3:
+ makeitem(rand(ThunderStaff,Judgment), 1, "001-8", .@x, .@y); break;
+ case 4:
+ makeitem(rand(BronzeGladius,Scythe), 1, "001-8", .@x, .@y); break;
+ case 5:
+ makeitem(rand(WoodenBow, ElficBow), 1, "001-8", .@x, .@y); break;
+ case 6:
+ makeitem(rand(WoodenBow, ShortBow), 1, "001-8", .@x, .@y); break;
+ case 7:
+ makeitem(rand(ForestBow, BansheeBow), 1, "001-8", .@x, .@y); break;
+ default:
+ makeitem(WoodenShield, 1, "001-8", .@x, .@y); break;
+ }
+
+ return; }
+
+// Only one player standing! CONGRATULATIONS, YOU HAVE WON!!
+OnGameOver:
+ .@u=getmapusers("001-8")-1;
+ debugmes "OnGameOver Check: "+str(.@u);
+ if (.@u == 1) {
+ $@EQ_STATUS=2;
+ maptimer("001-8", 10, "#QuirinoHUB::OnVictory");
+ killmonsterall("001-8");
+ stopnpctimer;
+ cleanmap("001-8");
+ }
+ end;
+
+
+// Ordered by GM to start.
+OnStart:
+ $@EQ_STATUS=1;
+
+ // 2 Necklaces, 1 Charm and 1 Quiver
+ makeitem(rand(1000,1003), 1, "001-8", rand(44,55), rand(46,54));
+ makeitem(rand(1006,1011), 1, "001-8", rand(44,55), rand(46,54));
+ makeitem(rand(1150,1151), 1, "001-8", rand(44,55), rand(46,54));
+ makeitem(rand(1172,1174), 1, "001-8", rand(44,55), rand(46,54));
+
+ makeitem(GoldenRing, 1, "001-8", rand(44,55), rand(46,54));
+ makeitem(SilverRing, 1, "001-8", rand(44,55), rand(46,54));
+ makeitem(SilverRing, 1, "001-8", rand(44,55), rand(46,54));
+ makeitem(rand(PolishedDiamond,PolishedEmerald), 1, "001-8", rand(44,55), rand(46,54));
+ makeitem(rand(PolishedDiamond,PolishedEmerald), 1, "001-8", rand(44,55), rand(46,54));
+ makeitem(rand(PolishedDiamond,PolishedEmerald), 1, "001-8", rand(44,55), rand(46,54));
+ makeitem(rand(TrainingArrow,BoneArrow), 50, "001-8", rand(44,55), rand(46,54));
+
+ makeitem(CandorBoots, 1, "001-8", rand(44,55), rand(46,54));
+ makeitem(LousyMoccasins, 1, "001-8", rand(44,55), rand(46,54));
+ makeitem(CottonBoots, 1, "001-8", rand(44,55), rand(46,54));
+ makeitem(CreasedBoots, 1, "001-8", rand(44,55), rand(46,54));
+ makeitem(TulimsharGuardBoots, 1, "001-8", rand(44,55), rand(46,54));
+
+ makeitem(rand(CreasedGloves, MinerGloves), 1, "001-8", rand(44,55), rand(46,54));
+
+ makeitem(CottonShorts, 1, "001-8", rand(44,55), rand(46,54));
+ makeitem(JeansShorts, 1, "001-8", rand(44,55), rand(46,54));
+ makeitem(PirateShorts, 1, "001-8", rand(44,55), rand(46,54));
+
+
+ maptimer("001-8", 5000, "#QuirinoHUB::OnCount10");
+ announce("##1HUNGRY QUIRIN EVENT: ##3##BCountdown: 15 seconds!", bc_all|bc_npc);
+ end;
+
+OnCount10:
+ // Random arrows + weapon
+ makeitem(rand(TrainingArrow,BoneArrow), 50, "001-8", rand(44,55), rand(46,54));
+
+ // Random Weapon
+ HUBrandwpn(0);
+
+ // Throw some random, weighty stuff on the whole map.
+ HUBscatter(rand(CopperOre, TitaniumOre));
+
+ specialeffect(4, AREA, getcharid(3));
+ addtimer(5000, "#QuirinoHUB::OnCount5");
+ dispbottom l("10 seconds!");
+ end;
+
+OnCount5:
+ specialeffect(4, AREA, getcharid(3));
+
+ // Random Helmet
+ .@r=rand(1,9);
+ switch(.@r){
+ case 1:
+ makeitem(Bandana, 1, "001-8", rand(44,55), rand(46,54)); break;
+ case 2:
+ makeitem(Bucket, 1, "001-8", rand(44,55), rand(46,54)); break;
+ case 3:
+ makeitem(MoubooHat, 1, "001-8", rand(44,55), rand(46,54)); break;
+ case 4:
+ makeitem(CandleHelmet, 1, "001-8", rand(44,55), rand(46,54)); break;
+ case 5:
+ makeitem(PinkieHat, 1, "001-8", rand(44,55), rand(46,54)); break;
+ case 6:
+ makeitem(GraduationCap, 1, "001-8", rand(44,55), rand(46,54)); break;
+ case 7:
+ makeitem(SerfHat, 1, "001-8", rand(44,55), rand(46,54)); break;
+ case 8:
+ makeitem(MinerHat, 1, "001-8", rand(44,55), rand(46,54)); break;
+ default:
+ makeitem(PaperBag, 1, "001-8", rand(44,55), rand(46,54)); break;
+ }
+
+ // Throw some random, weighty stuff on the whole map.
+ HUBscatter(rand(CopperIngot, TitaniumIngot));
+
+ addtimer(5000, "#QuirinoHUB::OnBegin");
+ dispbottom l("5 seconds!");
+ end;
+
+OnBegin:
+ // Scatter some healing items, specially where the weapons are, to mess drop lists; Send armor too
+ makeitem(rand(Acorn, Croconut), 1, "001-8", rand(44,55), rand(46,54));
+ makeitem(rand(Manana, Carrot), 1, "001-8", rand(24,75), rand(26,74));
+ makeitem(rand(RoastedMaggot, CherryCake), 1, "001-8", rand(24,75), rand(26,74));
+ makeitem(rand(CreasedShirt, CandorShirt), 1, "001-8", rand(24,75), rand(26,74));
+ HUBscatter(rand(BottleOfDivineWater, BottleOfSewerWater));
+
+ // Scatter around whole map a few arrows, a training bow, a knife, a creased shirt and a creased knife
+ HUBarrow();
+ HUBscatter(TrainingBow);
+ HUBscatter(Knife);
+ HUBscatter(CreasedShirt);
+ HUBscatter(CreasedShorts);
+
+ // Throw some random stuff on the whole map.
+ HUBscatter(rand(AquadaBox, WoodenLog));
+
+ // Free player, let's start!
+ delcells "qhubN";
+ delcells "qhubS";
+ setpcblock(PCBLOCK_SOFT, false);
+ specialeffect(FX_MGSHIELD, AREA, getcharid(3));
+ specialeffect(FX_CRITICAL, AREA, getcharid(3));
+ dispbottom col(l("Run! Event started!"), 1);
+ initnpctimer; // Restart the timer to fix any desync.
+ end;
+
+// We only have a schedule for the first 15 minutes. This accelerate stuff.
+OnSendWave:
+ HUBspawn(AngryRedScorpion, 3);
+ HUBspawn(BlackScorpion, 1);
+ HUBscatter(rand(PiberriesInfusion,LachesisBrew));
+ HUBscatter(CelestiaTea);
+ HUBarrow();
+ // Throw some ENTIRELY random stuff on the whole map.
+ HUBscatter(rand(700, 713));
+ HUBscatter(rand(731, 875));
+ HUBrandwpn(1);
+ HUBspawn(SlimeBlast, 1);
+ end;
+
+// 15 seconds after, I'm sure it is synced, so start spawning monsters.
+OnTimer15000:
+ HUBspawn(WhiteSlime, 3);
+ HUBspawn(SlimeBlast, 1);
+ // Throw some random stuff on the whole map.
+ HUBscatter(rand(731, 875));
+ end;
+
+
+// one minute is due.
+OnTimer60000:
+ HUBspawn(RedSlime, 12);
+ HUBspawn(SlimeBlast, 4);
+ HUBarrow();
+ // Throw some random stuff on the whole map.
+ HUBscatter(rand(731, 875));
+ end;
+
+// Two minutes are due.
+OnTimer120000:
+ HUBspawn(LavaSlime, 2);
+ HUBspawn(GreenSlime, 2);
+ HUBspawn(SeaSlime, 2);
+ HUBspawn(CaveMaggot, 2);
+ HUBspawn(Bandit, 2);
+ HUBarrow();
+ HUBarrow();
+ HUBscatter(ElixirOfLife);
+ HUBscatter(FatesPotion);
+ HUBscatter(LachesisBrew);
+ // Throw some random stuff on the whole map.
+ HUBscatter(rand(731, 875));
+ end;
+
+
+// Three minutes are due.
+OnTimer180000:
+ HUBspawn(GreenSlime, 4);
+ HUBspawn(SeaSlime, 4);
+ HUBspawn(Squirrel, 4);
+ HUBspawn(Snake, 1);
+ HUBarrow();
+ HUBarrow();
+ HUBarrow();
+ HUBarrow();
+ HUBarrow();
+ HUBarrow();
+ HUBscatter(AshUrn);
+ HUBscatter(Monocle);
+ HUBscatter(GreenEggshellHat);
+ HUBscatter(LeatherShirt);
+ // Throw some random stuff on the whole map.
+ HUBscatter(rand(731, 875));
+ end;
+
+// Five minutes are due.
+OnTimer300000:
+ HUBspawn(GreenSlime, 4);
+ HUBspawn(AngryRedScorpion, 3);
+ HUBspawn(Sarracenus, 1);
+ HUBspawn(Snake, 2);
+ HUBarrow();
+ HUBarrow();
+ HUBarrow();
+ HUBscatter(LeatherGloves);
+ HUBrandwpn(1);
+ HUBrandwpn(1);
+ HUBscatter(GoldenPearlRing);
+ HUBscatter(ElixirOfLife);
+ // Throw some random stuff on the whole map.
+ HUBscatter(rand(731, 875));
+ HUBscatter(rand(731, 875));
+ end;
+
+// Nine minutes are due.
+OnTimer540000:
+ HUBspawn(BlackScorpion, 2);
+ HUBspawn(DarkLizard, 3);
+ HUBspawn(Tipiou, 2);
+ HUBspawn(Snake, 2);
+ HUBspawn(MountainSnake, 1);
+ HUBspawn(SeaSlime, 2);
+ HUBarrow();
+ HUBarrow();
+ HUBarrow();
+ HUBarrow();
+ HUBarrow();
+ HUBrandwpn(1);
+ HUBrandwpn(1);
+ HUBscatter(GoldenBlackPearlRing);
+ HUBscatter(ElixirOfLife);
+ // Throw some random stuff on the whole map.
+ HUBscatter(rand(731, 875));
+ HUBscatter(rand(731, 875));
+ end;
+
+// Fifteen minutes are due. No more random stuff will show.
+OnTimer900000:
+ HUBspawn(BlackScorpion, 4);
+ HUBspawn(DarkLizard, 3);
+ HUBspawn(Tipiou, 2);
+ HUBspawn(Snake, 1);
+ HUBspawn(MountainSnake, 2);
+ HUBspawn(SeaSlime, 2);
+ HUBarrow();
+ HUBarrow();
+ HUBarrow();
+ HUBarrow();
+ HUBarrow();
+ HUBrandwpn(1);
+ HUBrandwpn(1);
+ HUBrandwpn(1);
+ HUBscatter(ElixirOfLife);
+ // Throw some random stuff on the whole map.
+ HUBscatter(rand(731, 875));
+ HUBscatter(rand(731, 875));
+ HUBscatter(rand(731, 875));
+ end;
+
+OnVictory:
+ @qhub_victor=1;
+ announce(sprintf("##1HUNGRY QUIRIN EVENT: ##3##B%s has won the match! Hail!", strcharinfo(0)), bc_all|bc_npc);
+ if (!QUIRINO_WINNER)
+ QUIRINO_WINNER = gettimetick(2);
+OnPCDieEvent:
+ @qhub_died=1;
+OnPCLogoutEvent:
+ getmapxy(.@mapa$, .@a,.@b, 0);
+ if (.@mapa$ == "001-8") {
+ // Deal with the environment {
+ .@u=getmapusers("001-8")-1;
+ mapannounce("001-8", "Total remaining players: "+.@u,0);
+ HUBscatter(rand(PiberriesInfusion,AtroposMixture));
+ HUBscatter(CelestiaTea);
+ HUBarrow();
+ HUBspawn(SlimeBlast, 1);
+ if (.@u % 2 == 1)
+ HUBscatter(Piberries);
+ if (.@u == 2) {
+ mapannounce("001-8", "The wolves were released!",0);
+ HUBscatter(ElixirOfLife);
+ HUBscatter(Aquada);
+ HUBscatter(Piberries);
+ HUBscatter(Beer);
+ HUBarrow();
+ HUBspawn(Wolvern, 4);
+ HUBspawn(NightScorpion, 2);
+ }
+ if (.@u == 1 && !@qhub_victor) {
+ donpcevent "#QuirinoHUB::OnGameOver";
+ }
+
+ // } Deal with the player {
+ clearitem();
+ if (checkpcblock() & PCBLOCK_ATTACK)
+ setpcblock(PCBLOCK_SOFT, false);
+
+ // Check if to reduce clearitem() efficiency you've used the cart in an illegal way.
+ getcartinventorylist();
+ if (@cartinventorylist_count>=1) {
+ // Obviously a cheater, you should not be using the cart on the event. I HATE CHEATERS!
+ // Destroy everything you had on the cart
+ if ($@HAS_API) {
+ query_sql("DELETE FROM `cart_inventory` WHERE `char_id`="+getcharid(0));
+ } else {
+ apiasync("SQL", sprintf("DELETE FROM `cart_inventory` WHERE `char_id`='%d'", getcharid(0)));
+ apiasync("SQLRUN", "");
+ }
+ // Destroy the cart. Cheaters doesn't deserve it!!
+ setcart(0);
+ // Delete the storage register. You now need to pay it again, to don't cheat anymore!
+ setq General_Banker, 0;
+ // You'll also forsake any event reward.
+ @qhub_victor=0;
+ @qhub_died=0;
+ }
+
+ // If you are the victor (and didn't cheat), you can now hold your reward ;-)
+ if (@qhub_victor) {
+ getitem any(MercBoxA, MercBoxA, SilverGift, MercBoxBB, GoldenGift), 1;
+ Zeny=Zeny+rand2(500, 2500);
+ }
+ if (@qhub_died || @qhub_victor)
+ getexp rand2(100,300), BaseLevel*10; // Dying on this map is enough to get a reward. Logout = no reward.
+
+ // You'll be revived/fully healed, and then warped.
+ // FIXME: It will throw you in Nard's ship if you are on logout...
+ recovery(getcharid(3));
+ // If recovery() is broken:
+ //atcommand "#alive \""+strcharinfo(0)+"\"";
+ //percentheal 100, 100;
+ warp "000-1", 22, 22;
+ }
+
+ // TODO: Checks which doesn't belong here shouldn't be here!
+ HUB_Logout(@qhub_died);
+
+ @qhub_victor=0;
+ @qhub_died=0;
+ end;
+
+OnCancel:
+ setpcblock(PCBLOCK_SOFT, false);
+ warp "Save", 0, 0;
+ end;
+
+// No penalty override
+OnNoPenaltyCommand:
+ @realvalue=@deathpenalty_realvalue-readparam(BaseExp);
+ @realvaljob=@deathpenalty_realvaljob-readparam(JobExp);
+
+ // GM Report
+ if (is_staff())
+ debugmes("Old values: %d %d Current Values: %d %d Real Difference: %d %d", @deathpenalty_realvalue, @deathpenalty_realvaljob, readparam(BaseExp), readparam(JobExp), @realvalue, @realvaljob);
+
+ // Revive and Warp you to save point or it'll have no effect
+ recovery(getcharid(3));
+ warp "Save", 0, 0;
+ addtimer(500, "#QuirinoHUB::OnNoPenaltyCommand2");
+ end;
+
+OnNoPenaltyCommand2:
+ // Restitute the lost experience
+ if (@deathpenalty_override == 1)
+ getexp @realvalue, @realvaljob;
+ else if (@deathpenalty_override == 2)
+ getexp @realvalue/2, @realvaljob/2;
+ else
+ dispbottom l("BUG, REPORT ME: QHUB PENALTY OVERRIDE INVALID SIGNAL @@", @deathpenalty_override);
+
+ // Clear temporary variables
+ @deathpenalty_override=0;
+ @deathpenalty_realvalue=0;
+ @deathpenalty_realvaljob=0;
+ @realvalue=0;
+ @realvaljob=0;
+ end;
+}
+
diff --git a/npc/001-8/mapflags.txt b/npc/001-8/mapflags.txt
new file mode 100644
index 0000000..5fcbceb
--- /dev/null
+++ b/npc/001-8/mapflags.txt
@@ -0,0 +1,5 @@
+001-8 mapflag zone MMO
+001-8 mapflag pvp
+001-8 mapflag pvp_noparty
+001-8 mapflag pvp_noguild
+001-8 mapflag nostorage
diff --git a/npc/001-9/_import.txt b/npc/001-9/_import.txt
new file mode 100644
index 0000000..417c111
--- /dev/null
+++ b/npc/001-9/_import.txt
@@ -0,0 +1,2 @@
+// Map 001-9: Eternity Maze
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/002-1/_import.txt b/npc/002-1/_import.txt
new file mode 100644
index 0000000..d9d804f
--- /dev/null
+++ b/npc/002-1/_import.txt
@@ -0,0 +1,15 @@
+// Map 002-1: Second Deck
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/002-1/_mobs.txt",
+"npc/002-1/alige.txt",
+"npc/002-1/arpan.txt",
+"npc/002-1/billybons.txt",
+"npc/002-1/chefgado.txt",
+"npc/002-1/dan.txt",
+"npc/002-1/devis.txt",
+"npc/002-1/doors.txt",
+"npc/002-1/hammock.txt",
+"npc/002-1/juliet.txt",
+"npc/002-1/knife.txt",
+"npc/002-1/mapflags.txt",
+"npc/002-1/peter.txt",
diff --git a/npc/002-1/_mobs.txt b/npc/002-1/_mobs.txt
new file mode 100644
index 0000000..0cc92c0
--- /dev/null
+++ b/npc/002-1/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 002-1: Second Deck mobs
+002-1,49,30,25,12 monster Piou 1002,2,30000,20000,PiouSpwn::OnFakeKill
diff --git a/npc/002-1/alige.txt b/npc/002-1/alige.txt
new file mode 100644
index 0000000..e23bfae
--- /dev/null
+++ b/npc/002-1/alige.txt
@@ -0,0 +1,204 @@
+// TMW2 Scripts.
+//
+// TMW-BR Original Authors:
+// Programmer: Adson Renato
+// Texts: Arkanjo
+// Review: Jesusalva
+//
+// Authors:
+// Jesusalva
+// Description:
+// Stowaway hidden in a ship's hole. Contrabandist. Trade potions, dyes,
+// food, water, and money for an item.
+// In BR originals requested a four leaf clover to do luck magic, in order to not be caught.
+// That would imply teaching a new skill, and I'm not felling like it, so I removed.
+
+002-1,45,26,0 script Alige NPC_ALIGE,{
+ if (BaseLevel < 42) goto L_Weak;
+ .@q=getq(ShipQuests_Alige);
+ if (.@q == 1) goto L_Return;
+ if (.@q == 2) goto L_End;
+ mesn;
+ mesq lg("Hey, dude! The guards are after me. I need your help, and I can reward you.");
+ next;
+ mesn strcharinfo(0);
+ menu
+ l("Guaaaards! Sailors! Help! We have a stowaway!"), L_Revolt,
+ l("Not right now, I'm busy."), L_Close,
+ l("Did you said reward?!"), L_GoGo;
+
+L_Weak:
+ mesc l("You thought there was someone here. It must have been your imagination.");
+ if (@seenalige)
+ goto L_Noob;
+ @seenalige=true;
+ close;
+
+L_Noob:
+ mes "";
+ mesc l("Protip: You need level %d or higher to do this quest.", 42), 1;
+ close;
+
+L_Revolt:
+ mes "";
+ message strcharinfo(0), l("Guaaaards! Sailors! Help! We have a stowaway!");
+ mesn;
+ mesq l("No, please don't! I have 3 kids to feed. They are looking for me for contraband. Please, let me go!");
+ close;
+
+L_GoGo:
+ mes "";
+ mesn;
+ mesq l("Yes, I need to get out of here the earliest possible.");
+ next;
+ mesn strcharinfo(0);
+ mesq l("So tell me already what you need, and what is the reward!");
+ next;
+// Stowaway hidden in a ship's hole. Contrabandist. Trade potions, dyes,
+// food, water, and money for a hat.
+ mesn;
+ mesc l("Alige hands you an old paper patch.");
+ next;
+ mesn l("Old Paper Patch");
+ mes l("* @@/30 @@", countitem(CactusPotion), getitemlink(CactusPotion));
+ mes l("* @@/12 @@", countitem(Bread), getitemlink(Bread));
+ mes l("* @@/12 @@", countitem(Cheese), getitemlink(Cheese));
+ mes l("* @@/12 @@", countitem(CherryCake), getitemlink(CherryCake));
+ mes l("* @@/8 @@", countitem(BottleOfTonoriWater), getitemlink(BottleOfTonoriWater));
+ mes l("* @@/6 @@", countitem(HastePotion), getitemlink(HastePotion));
+ mes l("* @@/6 @@", countitem(StrengthPotion), getitemlink(StrengthPotion));
+ mes l("* @@/2 @@", countitem(YellowDye), getitemlink(YellowDye));
+ mes l("* @@/2 @@", countitem(BlueDye), getitemlink(BlueDye));
+ mes l("* @@/7.500 GP", Zeny);
+ next;
+ // Temporary item. This four leaf amulet can be evolved: Bromenal < Iron < Golden < Crozenite
+ mesn;
+ mesq l("In exchange for your help, I'll give you a @@!", getitemlink(CrozeniteFourLeafAmulet));
+ menu
+ l("Of course I'll help you!"), L_Accept,
+ l("Have you got mad? That's too much, it's like you are trying to be perfect! No way I'll help you!"), L_Close;
+
+L_Accept:
+ mes "";
+ mesn;
+ mesq l("\"Many thanks! I'll be waiting for you, hiding on the ship's hold!\"");
+ next;
+ mesn strcharinfo(0);
+ mesq l("Could you first explain me why so many items?");
+ next;
+ mesn;
+ mesq l("Very well, listen to my plan!");
+ next;
+ mesn;
+ mesq l("The dyes are to disguise myself, I don't want to get caught. The potions are for safety, who knows what I'll face?");
+ next;
+ mesn;
+ mesq l("Water, Bread, Cheese and Cherry Cake are to eat, and money is always useful, you know.");
+ next;
+ mesn strcharinfo(0);
+ mesq l("You planned neatly. I'll be back.");
+ setq ShipQuests_Alige, 1;
+ close;
+
+L_Return:
+ mesn;
+ mesq l("Hey, psst! Have you brought me what I asked for?");
+ next;
+ mesn strcharinfo(0);
+ menu
+ l("What I had to bring, again?"), L_Remember,
+ l("Yes, you can count it."), L_Check,
+ l("No... Not yet, sorry."), L_Close;
+
+L_Remember:
+ mes "";
+ mesc l("Alige hands you an old paper patch.");
+ next;
+ mesn l("Old Paper Patch");
+ mes l("* @@/30 @@", countitem(CactusPotion), getitemlink(CactusPotion));
+ mes l("* @@/12 @@", countitem(Bread), getitemlink(Bread));
+ mes l("* @@/12 @@", countitem(Cheese), getitemlink(Cheese));
+ mes l("* @@/12 @@", countitem(CherryCake), getitemlink(CherryCake));
+ mes l("* @@/8 @@", countitem(BottleOfTonoriWater), getitemlink(BottleOfTonoriWater));
+ mes l("* @@/6 @@", countitem(HastePotion), getitemlink(HastePotion));
+ mes l("* @@/6 @@", countitem(StrengthPotion), getitemlink(StrengthPotion));
+ mes l("* @@/2 @@", countitem(YellowDye), getitemlink(YellowDye));
+ mes l("* @@/2 @@", countitem(BlueDye), getitemlink(BlueDye));
+ mes l("* @@/7.500 GP", Zeny);
+ next;
+ // Temporary item. This four leaf amulet can be evolved: Bromenal < Iron < Golden < Crozenite
+ mesn;
+ mesq l("In exchange for your help, I'll give you a @@!", getitemlink(CrozeniteFourLeafAmulet));
+ close;
+
+L_Check:
+ if (countitem(CactusPotion) < 30 ||
+ countitem(Bread) < 12 ||
+ countitem(Cheese) < 12 ||
+ countitem(CherryCake) < 12 ||
+ countitem(BottleOfTonoriWater) < 8 ||
+ countitem(HastePotion) < 6 ||
+ countitem(StrengthPotion) < 6 ||
+ countitem(YellowDye) < 2 ||
+ countitem(BlueDye) < 2)
+ goto L_Missing;
+ if (Zeny < 7500) goto L_Missing;
+
+ inventoryplace CrozeniteFourLeafAmulet, 1;
+ delitem CactusPotion, 30;
+ delitem Bread, 12;
+ delitem Cheese, 12;
+ delitem CherryCake, 12;
+ delitem BottleOfTonoriWater, 8;
+ delitem HastePotion, 6;
+ delitem StrengthPotion, 6;
+ delitem YellowDye, 2;
+ delitem BlueDye, 2;
+ Zeny = Zeny - 7500;
+ getitem CrozeniteFourLeafAmulet, 1;
+ getexp 32625, 50;
+ setq ShipQuests_Alige, 2;
+ mes "";
+ mesn;
+ mesq l("Good job... Here is your reward...");
+ next;
+ mesn;
+ mesq l("I have to get going now. Thanks for the help!");
+ close;
+
+L_Missing:
+ mes "";
+ mesn;
+ mes l("There's not everything I've asked for...");
+ next;
+ goto L_Remember;
+
+L_End:
+ mesn;
+ mes l("I am still here, but I already did amends for my acts and don't need to flee anymore...");
+ next;
+ mesn strcharinfo(0);
+ mes l("Why am I having a hard time to believe on you...");
+ close;
+
+L_Close:
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 2;
+
+ /*
+ // Preventive check against faulty update. Must be removed afterwards.
+ // UPDATE `quest` SET `count1` = '0' WHERE `quest`.`quest_id` = 2;
+ .@nb = query_sql("select `char_id` from `quest` WHERE (`count1`>=1 and `quest_id`=2) LIMIT 2", .@name$);
+ if (getarraysize(.@name$) > 0) {
+ debugmes "FATAL ERROR: Quest log not updated.";
+ debugmes "disabling Alige to prevent weirder bugs.";
+ debugmes "UPDATE `quest` SET `count1` = '0' WHERE `quest`.`quest_id` = 2";
+ disablenpc .name$;
+ }
+ */
+
+ end;
+}
diff --git a/npc/002-1/arpan.txt b/npc/002-1/arpan.txt
new file mode 100644
index 0000000..11de798
--- /dev/null
+++ b/npc/002-1/arpan.txt
@@ -0,0 +1,184 @@
+// TMW-2 Script.
+// Editor: Jesusalva
+//
+// Evol scripts.
+// Authors:
+// Ablu
+// Qwerty Dragon
+// Description:
+// Introduction NPC
+
+002-1,49,36,0 script LeftDoorCheck NPC_HIDDEN,0,0,{
+ .@q = getq(ShipQuests_Arpan);
+ if (.@q == 5) doevent instance_npcname("Magic Arpan")+"::OnTalk";
+
+ close;
+}
+
+002-1,54,36,0 script RightDoorCheck NPC_HIDDEN,0,0,{
+ .@q = getq(ShipQuests_Arpan);
+ if (.@q == 5) doevent instance_npcname("Magic Arpan")+"::OnTalk";
+
+ close;
+}
+
+
+002-1,49,33,0 script Magic Arpan NPC_MAGIC_ARPAN,{
+ showavatar NPC_MAGIC_ARPAN;
+
+ .@q = getq(ShipQuests_Arpan);
+ .@s = getq2(ShipQuests_Arpan);
+ .@n = getq(General_Narrator);
+ .@q_julia = getq(ShipQuests_Julia);
+
+OnTalk:
+ showavatar NPC_MAGIC_ARPAN;
+ mesn;
+
+ if (.@q > 5) goto L_Menu;
+ setq ShipQuests_Arpan, 6;
+ deltimer("Magic Arpan::OnSlow");
+
+ mesq lg("Yeye, are you finally ready to go?");
+ if (!TUTORIAL)
+ mesc l("Protip: You skipped tutorial. A lot of tutorial-ish dialogs and quests will be skipped. You can change this anytime on %s > Game Settings.", b("@ucp"));
+ next;
+
+ select
+ l("Yes, I want to find out who I am."),
+ l("No, but what option do I have? I'm railroaded!");
+ mes "";
+
+ if (@menu == 2) {
+ mesn;
+ mesq l("Yeye is not paying for your food and is not a sailor like us! You should start standing on your own feet.");
+ next;
+ mesn strcharinfo(0);
+ mesq l("Thanks for the honestity, I guess.");
+ next;
+ }
+
+ mes "";
+ mesn;
+ mesq l("Anyway, our shipkeeper, Juliet, helped to heal your injuries way back.");
+ next;
+ mesn;
+ if (.@q_julia == 0)
+ setq ShipQuests_Julia, 1;
+ mesq lg("Yaya, you should go see her! She'll be happy to help you again.");
+ next;
+ mesc b(l(".:: Main Quest 1-1 ::.")), 3;
+ msObjective(false, l("Talk to @@", l("Juliet")));
+ tutmes l("Juliet is east (right) of %s.", .name$), l("Protip"), false;
+ next;
+ goto L_Menu;
+
+
+L_Menu:
+ mesq l("What yeye could I do for you today?");
+ next;
+
+ menu
+ rif(.@q_julia < 2, lg("Where can I find Juliet?")), L_Julia,
+ rif(!.@n, lg("Could you tell me where I am?")), L_Where,
+ rif(!.@n, l("Who are you?")), L_Who,
+ rif(!.@n, l("I need a tutorial, where can I find help?")), L_Trainer,
+ rif(!getq(ShipQuests_ArpanMoney), lg("Do you know what happened to the gold I had when you guys saved me?")), L_WhereMoney,
+ l("Nothing, sorry."), -;
+
+ closedialog;
+ close;
+
+L_Trainer:
+ mes "";
+ mesn;
+ mesq l("There is a NPC called Trainer, just outside this ship.");
+ next;
+ mesn;
+ mesq l("Just use the arrow key--, err, I mean, just walk to the door on the right. The one which is not guarded by Peter.");
+ next;
+ mesn;
+ mesq lg("You must be dressed, and talk to our captain first. He'll give you a mission and unlock the ship main door.");
+ next;
+ mesn;
+ mesq l("All you need to do then is walk outside, enter on the biggest house, and talk to the Trainer. He'll teach you everything.");
+ next;
+ goto L_Menu;
+
+L_Where:
+ mes "";
+ mesn;
+ mesq lg("You're on our ship, we made port to a little island and we're actually yeyending our long merchant travelling adventure at the city of Tulimshar.");
+ next;
+ mesq l("We will be yaying there in a few days, so we will drop you off there.");
+ next;
+ mesq l("You will see, citizens are polite and you can still ask around for help. They can help find a job for you or maybe help you find out what happened to you out at sea!");
+ next;
+
+ goto L_Menu;
+
+L_Julia:
+ mes "";
+ mesn;
+ mesq lg("Just go right, yeye can't miss her. She's the only girl in this crew, oh well, except for you now yeyeye!", "Just go right, yeye can't miss her. She's the only girl in this crew.");
+ next;
+
+ mesn "Narrator";
+ mesc l("Use the arrow keys to walk right and meet Juliet.");
+ next;
+
+ goto L_Menu;
+
+L_Who:
+ mes "";
+ mesn;
+ mesq l("Sorry! I forgot to introduce myself. My name is Arpan, but other sailors call me Magic Arpan because I know one or two yaing magic tricks.");
+ next;
+ mesn;
+ mesq l("They're not magic, but yayaya, people like to say it is! Yeyeye.");
+ next;
+
+ goto L_Menu;
+
+L_WhereMoney:
+ mes "";
+ mesn;
+ mesq l("Oh right, I totally forgot about that, here you go.");
+ next;
+
+ if (BaseLevel < 4) goto L_Apana;
+ setq ShipQuests_ArpanMoney, 1;
+ Zeny = Zeny + 35;
+ message strcharinfo(0), l("You receive @@ GP!", 35);
+
+ goto L_BeforeMenu;
+
+L_Apana:
+ mesn;
+ mesq l("On hindsight, I'll wait you get a few levels. Can't have cheaters, ya know!");
+ next;
+ goto L_Menu;
+
+L_BeforeMenu:
+ mesn;
+ goto L_Menu;
+
+OnSlow:
+ npctalk3 l("@@, do you need help? Are you lost? Click me!", strcharinfo(0));
+ /*
+ setcamnpc;
+ showavatar NPC_MAGIC_ARPAN;
+ mesn;
+ mesq l("Yayaya, @@ is surely slow. Do you remember how to walk? You can use arrow keys for that!", strcharinfo(0));
+ next;
+ mesn;
+ mesc l("Here, come talk to me, the Magic Arpan! I'll help you get dressed."), 1;
+ */
+ addtimer(90000,"Magic Arpan::OnSlow");
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 6;
+ end;
+}
diff --git a/npc/002-1/billybons.txt b/npc/002-1/billybons.txt
new file mode 100644
index 0000000..89683ed
--- /dev/null
+++ b/npc/002-1/billybons.txt
@@ -0,0 +1,108 @@
+// TMW2 Script
+// Evol scripts.
+// Author:
+// Reid
+// Description:
+// Drunk easteregg telling about the player's past.
+// For TMW2 it is just to provide a bottle
+
+002-1,29,33,0 script Billy Bons#TMW2 NPC_BILLY_BONS,{
+ if (rand(5) == 2) goto L_Hic;
+ .@q = getq(ShipQuests_Bottle);
+ if (.@q == 1) goto L_Hic;
+
+ mesn;
+ mesq l("You? Here?");
+ mesq l("How is *hic* it possible?");
+ next;
+
+ mesn "Narrator";
+ mesc l("The sailor chugs his beer.");
+ next;
+
+ select
+ lg("Excuse me? Do you know who I am?");
+
+ mes "";
+ mesn;
+ mesq l("Don't do theee... *hic* with me eh!");
+ next;
+
+ menu
+ l("Are you ok?"), L_Quit,
+ l("Take the bottle?"), L_Give,
+ l("Alright... Bye."), -;
+
+ mes "";
+ mesn;
+ mesq lg("No and *hic*... No, you and you and your... *burp* stup*hic* guild!");
+ next;
+ mesq l("You tried to get rid of me, eeh? But surprise! I'm still here... *hic* Or there...");
+ next;
+ mesq l("But you won't *hic* me this time...");
+ next;
+
+ menu
+ l("What are you talking about? What guild?"), L_Quit,
+ l("You are full of wine, my friend..."), -,
+ l("You should go and get some sleep."), L_Quit;
+
+ mes "";
+ mesn;
+ mesq l("If I saw *hic* who you were... *hic* Would not have helped you! ");
+ next;
+
+ menu
+ l("But who am I?"), -,
+ l("What am I supposed to say?"), L_Quit,
+ l("You should go and get some sleep."), L_Secret;
+
+ mes "";
+ mesn;
+ mesq l("The giant boogeyman!");
+
+ close;
+
+L_Secret:
+ mes "";
+ mesn;
+ mesq l("Hear me *hic* well, what ever, whatididever you will *hic* said ab... uhm... out what?! You saw there, the Guild won't let it get public.");
+ next;
+ mesq l("Nobody can know! *burp*");
+ next;
+
+ close;
+
+L_Hic:
+ npctalk3 l("*Hic*");
+
+ close;
+
+L_Quit:
+ mes "";
+ mesn;
+ mesq l("Yeah you're all like *hic* that, but you won't get me! *burp*");
+ next;
+ mesq l("I'm not that numb eeh *hic* what did ever yous disco... ...vered there, the Guild won't get me!");
+ mesq l("*burp*");
+ next;
+
+ mesn "Narrator";
+ mesc l("The sailor turns his back to you.");
+
+ close;
+
+L_Give:
+ mes "";
+ inventoryplace EmptyBottle, 1;
+
+ setq ShipQuests_Bottle, 1;
+ getitem EmptyBottle, 1;
+
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
diff --git a/npc/002-1/chefgado.txt b/npc/002-1/chefgado.txt
new file mode 100644
index 0000000..6eb08d9
--- /dev/null
+++ b/npc/002-1/chefgado.txt
@@ -0,0 +1,109 @@
+// TMW-2 scripts.
+// Original Authors: Hal9000 & Qwerty Dragon
+// TMW-2 Authors:
+// Ayruss
+// Jesusalva
+// Description:
+// La Johanne Chef.
+// The cook may need help with something.
+// Variable:
+// ShipQuests_ChefGado
+// ShipQuests_Knife
+// Translation
+// FR Translated
+
+002-1,27,28,0 script Chef Gado NPC_CHEF_GADO,{
+ .@q = getq(ShipQuests_Knife);
+ .@p = getq(ShipQuests_ChefGado);
+
+ // Player should have the rusty knife already
+ if (!.@q) goto L_Knife;
+
+ // Piou quest
+ if (.@q == 1 && .@p == 0) goto L_PiouLegs;
+ if (.@p == 1) goto L_Continue;
+ if (.@p == 2) goto L_Complete;
+
+ // An error happened!
+ close;
+
+L_Knife:
+ mesn;
+ mesq l("I hate the sea, the salty air always lets my knives rust. I already have a stockpile of rusty knives, don't even know what to do with them.");
+ if (TUTORIAL) mesc l("That indeed is true, you can see a pile of rusty knives on the nearby table.");
+ if (TUTORIAL) dnext;
+ tutmes l("Unlike talking, when trying to pick objects or read signs, you should be at an arms distance of them."), l("NOTE"), false;
+ tutmes l("This is often 1, 2 or 3 tiles. For talking, usually 4 or 5 tiles. Shouting can be done from 12 up to 18 tiles; But as shouting is rude, most NPCs won't react to it."), l("TUTORIAL"), false;
+ close;
+
+L_PiouLegs:
+ mesn;
+ mesq l("I'm trying to make good food for all the sailors here, could you help me?");
+ mes "";
+ menu
+ l("Yes."), L_Start,
+ l("Is there a reward?"), L_Ask,
+ l("No."), -;
+ close;
+
+
+L_Ask:
+ mes "";
+ mesn;
+ mesq l("I have a spare pair of gloves laying somewhere, you can have those if you finish the task.");
+ mes "";
+ menu
+ l("Sounds good."), L_Start,
+ l("No thanks."), -;
+ close;
+
+L_Start:
+ mes "";
+ mesn;
+ mesq l("Great, I need 11 @@. Only good food makes a good crew.",getitemlink("PiouLegs"));
+ setq ShipQuests_ChefGado, 1;
+ mes "";
+ menu
+ l("I'll get to work."), -;
+ close;
+
+
+L_Continue:
+ setq ShipQuests_ChefGado, 1;
+ mesn;
+ mesq l("Do you have the @@/11 @@ I requested? The sailors are starving because of you!",countitem("PiouLegs"),getitemlink("PiouLegs"));
+ mes "";
+ menu
+ rif(countitem("PiouLegs") >= 11, l("Yes, take them.")), L_Reward,
+ l("Not yet."), -;
+ close;
+
+
+L_Reward:
+ inventoryplace CreasedGloves, 1;
+ delitem PiouLegs, 11;
+ getitem CreasedGloves, 1;
+ setq ShipQuests_ChefGado,2;
+ Zeny = Zeny + 100;
+ getexp 25, 5;
+ mes "";
+ mesn;
+ mesq l("Thanks. Take this spare pair of gloves and some change.");
+ next;
+ mesq l("I'm sure the crew will like to be spared from having to eat @@ again!", getitemlink(Piberries));
+ close;
+ end;
+
+L_Complete:
+ .@r = rand2(3);
+ if (.@r == 0) npctalk3 l("What are you doing in my kitchen?! Get out, it's not a place for kids!");
+ if (.@r == 1) npctalk3 l("Where is the salt?! This is sugar! Proper sailors need salt, not sugar!");
+ if (.@r == 2) npctalk3 l("Are you going to stand here all day long? Go wash the dishes or go away.");
+ closedialog;
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+}
diff --git a/npc/002-1/dan.txt b/npc/002-1/dan.txt
new file mode 100644
index 0000000..be0af19
--- /dev/null
+++ b/npc/002-1/dan.txt
@@ -0,0 +1,169 @@
+// TMW-2 Script
+// Authors:
+// Qwerty Dragon and Reid (originals)
+// Jesusalva
+// Description:
+// Dan is a sailor from Nard ship (TODO another Redy? Seriously?) who is afraid
+// of Pious.
+// Variables:
+// ShipQuests_Dan
+// Translation:
+// FR Translated
+
+002-1,32,31,0 script Dan#002-1 NPC_REDY_MAN,{
+ .@q=getq(ShipQuests_Dan);
+ if (.@q == 1) goto L_Report;
+ if (.@q == 2) goto L_Reward;
+ if (.@q >= 3) goto L_Finished;
+
+ mesn;
+ mesq l("You see these pious around us?");
+ next;
+ mesq l("They're scary, don't you think so?");
+ next;
+ menu
+ rif(getq(ShipQuests_Julia) < 3, l("Do you know where I can find Nard?")), L_Nard,
+ l("Yeah, they are."), -,
+ l("I am not afraid of Pious."), L_Quest;
+
+ mes "";
+ mesn;
+ mesq l("I knew someone would agree with me!");
+ close;
+
+L_Quest:
+ if (BaseLevel < 2) {
+ mesn;
+ mesq l("Well, you clearly never fought before, so remember to add stats.");
+ mesc l("That can be done pressing F2 and opening char screen.");
+ next;
+ }
+ mes "";
+ mesn;
+ mesq l("Then could you perhaps kill 12 @@ for me?!", getmonsterlink(Piou));
+ next;
+ menu
+ l("They're too strong for me!"), -,
+ l("Yes, of course. Without a sweat."), L_Continue;
+ mes "";
+ mesn;
+ mesq l("Oh, please. They're weaker than Maggots. They will only pose a threat if you're unarmed.");
+ close;
+
+L_Continue:
+ mes "";
+ mesn;
+ mesq l("I am counting on you!");
+ setq ShipQuests_Dan, 1, 0;
+ close;
+
+L_Report:
+ mesn;
+ mesq l("You've killed @@/12 @@. Get rid of them!", getq2(ShipQuests_Dan),getmonsterlink(Piou));
+ close;
+
+L_Reward:
+ mesn;
+ mesq l("Woohoo, thank you! Maybe now they'll leave me alone!");
+ next;
+ mesn;
+ mesq l("Here, take this pair of boots as a reward!");
+ inventoryplace CreasedBoots, 1;
+ getitem CreasedBoots, 1;
+ getexp 25, 5;
+ setq ShipQuests_Dan, 3, 0;
+ next;
+ mesn;
+ mesq l("Peter was also looking for strong people to help him to kill other monsters.");
+ if (BaseLevel < 8) {
+ next;
+ mesn;
+ mesq l("You still have a low level but I'm sure he will ask for your help once you grow up a little more.");
+ }
+ close;
+
+L_Finished:
+ mesn;
+ mesq l("It is no use... We are too close to a island, they will keep invading the ship...");
+ next;
+ mesn;
+ mes l("(shivering) \"Ah, how I am afraid of pious!\"");
+ close;
+
+L_Nard:
+ mesn;
+ mesq l("Oh? Just go east of here. Keep going ##Bright##b, go down the stairs, and you'll be at his office already.");
+ next;
+ mesn;
+ mesq l("And to leave this cramped ship, just go past his office! But beware...");
+ next;
+ mesn;
+ mesq l("There are Pious on the island as well! %%i");
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
+// TODO this code below is bad and should be entirely rewritten
+002-1,0,0,0 script PiouSpwn NPC_HIDDEN,{
+ function DanCheck {
+ if (playerattached()) {
+ // Quest not in progress - nothing to do
+ if (getq(ShipQuests_Dan) != 1)
+ return;
+
+ // If you complete, finish it. Otherwise, sum it up.
+ .@t=getq2(ShipQuests_Dan);
+ if (.@t+1 >= 12)
+ setq ShipQuests_Dan, 2, 0;
+ else
+ setq2 ShipQuests_Dan, .@t+1;
+
+ // Report progress
+ dispbottom l("@@/@@", .@t+1, 12);
+ }
+ return;
+ }
+
+OnFakeKill:
+ DanCheck();
+ end;
+
+OnRespawnPiou1:
+ DanCheck();
+ sleep 39000;
+ areamonster(instance_mapname("002-1"), 52, 32, 73, 41, "Piou", Piou, 1, instance_npcname("PiouSpwn")+"::OnRespawnPiou1");
+ end;
+OnRespawnPiou2:
+ DanCheck();
+ sleep 41000;
+ areamonster(instance_mapname("002-1"), 52, 32, 73, 41, "Piou", Piou, 1, instance_npcname("PiouSpwn")+"::OnRespawnPiou2");
+ end;
+OnRespawnPiou3:
+ DanCheck();
+ sleep 39500;
+ areamonster(instance_mapname("002-1"), 52, 32, 73, 41, "Piou", Piou, 1, instance_npcname("PiouSpwn")+"::OnRespawnPiou3");
+ end;
+OnRespawnPiou4:
+ DanCheck();
+ sleep 41500;
+ areamonster(instance_mapname("002-1"), 52, 32, 73, 41, "Piou", Piou, 1, instance_npcname("PiouSpwn")+"::OnRespawnPiou4");
+ end;
+OnRespawnPiou5:
+ DanCheck();
+ sleep 40000;
+ areamonster(instance_mapname("002-3"), 31, 26, 40, 31, "Piou", Piou, 1, instance_npcname("PiouSpwn")+"::OnRespawnPiou5");
+ end;
+
+OnInstanceInit:
+ areamonster(instance_mapname("002-1"), 52, 32, 73, 41, "Piou", Piou, 1, instance_npcname("PiouSpwn")+"::OnRespawnPiou1");
+ areamonster(instance_mapname("002-1"), 52, 32, 73, 41, "Piou", Piou, 1, instance_npcname("PiouSpwn")+"::OnRespawnPiou2");
+ areamonster(instance_mapname("002-1"), 52, 32, 73, 41, "Piou", Piou, 1, instance_npcname("PiouSpwn")+"::OnRespawnPiou3");
+ areamonster(instance_mapname("002-1"), 52, 32, 73, 41, "Piou", Piou, 1, instance_npcname("PiouSpwn")+"::OnRespawnPiou4");
+ areamonster(instance_mapname("002-3"), 31, 26, 40, 31, "Piou", Piou, 1, instance_npcname("PiouSpwn")+"::OnRespawnPiou5");
+ end;
+
+}
diff --git a/npc/002-1/devis.txt b/npc/002-1/devis.txt
new file mode 100644
index 0000000..47fc9a9
--- /dev/null
+++ b/npc/002-1/devis.txt
@@ -0,0 +1,17 @@
+// Evol scripts.
+// Authors:
+// Alige
+// Reid
+// Vasily_Makarov
+// Description:
+// Sleeping and grumbling NPC.
+
+002-1,32,38,0 script Devis NPC_HAMMOC,{
+ asleep;
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 2;
+ end;
+}
diff --git a/npc/002-1/doors.txt b/npc/002-1/doors.txt
new file mode 100644
index 0000000..03a2c0e
--- /dev/null
+++ b/npc/002-1/doors.txt
@@ -0,0 +1,17 @@
+// TMW2 Scripts.
+// Author:
+// Jesusalva
+// Description:
+// Doors NPCs.
+
+002-1,72,30,0 script AreaNPC#002-1d NPC_HIDDEN,0,0,{
+
+OnTouch:
+ if (LOCATION$ == "")
+ warp "002-3", 42, 26;
+ else if (LOCATION$ == "Tulim" || LOCATION$ == "Candor" || LOCATION$ == "Artis")
+ warp "002-3@"+LOCATION$, 42, 26;
+ else
+ LOCATION$=any("Candor", "Tulim");
+ end;
+}
diff --git a/npc/002-1/hammock.txt b/npc/002-1/hammock.txt
new file mode 100644
index 0000000..97bea91
--- /dev/null
+++ b/npc/002-1/hammock.txt
@@ -0,0 +1,73 @@
+// TMW2 Script
+// Notes:
+// Hammocks 1~5 were deleted during 002-1 ship hold remapping
+// Evol scripts.
+// Author:
+// Reid
+// Description:
+// Animated hammock at the mid level of the ship.
+
+002-1,37,34,0 script #hammock6 NPC_RIGHT_HAMMOCK,1,0,{
+
+OnTouch:
+ hamTouchLeft;
+
+OnUnTouch:
+ hamUnTouch;
+
+OnTimer5440:
+ hamTimerLeft;
+}
+
+002-1,37,36,0 script #hammock7 NPC_RIGHT_HAMMOCK,1,0,{
+
+OnTouch:
+ hamTouchLeft;
+
+OnUnTouch:
+ hamUnTouch;
+
+OnTimer5440:
+ hamTimerLeft;
+}
+
+002-1,37,38,0 script #hammock8 NPC_RIGHT_HAMMOCK,1,0,{
+
+OnTouch:
+ hamTouchLeft;
+
+OnUnTouch:
+ hamUnTouch;
+
+OnTimer5440:
+ hamTimerLeft;
+}
+
+002-1,32,40,0 script #hammock9 NPC_LEFT_HAMMOCK,1,0,{
+
+OnTouch:
+ hamTouchLeft;
+
+OnUnTouch:
+ hamUnTouch;
+
+OnTimer5440:
+ hamTimerLeft;
+}
+
+002-1,37,40,0 script #hammock10 NPC_RIGHT_HAMMOCK,1,0,{
+
+OnTouch:
+ hamTouchLeft;
+
+OnUnTouch:
+ hamUnTouch;
+
+OnTimer5440:
+ hamTimerLeft;
+}
+
+002-1,58,25,0 duplicate(#hammock9) #hammock1 NPC_LEFT_HAMMOCK,1,0
+002-1,58,27,0 duplicate(#hammock9) #hammock2 NPC_LEFT_HAMMOCK,1,0
+002-1,58,29,0 duplicate(#hammock9) #hammock3 NPC_LEFT_HAMMOCK,1,0
+
diff --git a/npc/002-1/juliet.txt b/npc/002-1/juliet.txt
new file mode 100644
index 0000000..3ddc8dc
--- /dev/null
+++ b/npc/002-1/juliet.txt
@@ -0,0 +1,171 @@
+// TMW2 scripts.
+// Authors:
+// 4144
+// Qwerty Dragon
+// Vasily_Makarov
+// Jesusalva
+// Description:
+// Allows to change language and talks about what happened to him.
+// Modified by Jesusalva for TMW2. She is the nurse and also does other minor tasks.
+// Variables:
+// 0 ShipQuests_Julia
+// Values:
+// Julia:
+// 0 Default, haven't started the game yet.
+// 1 Need to see Julia.
+// 2 Has been registered by Julia.
+// 3 Has talked with Nard
+
+002-1,67,26,0 script Juliet NPC_JULIA,2,10,{
+
+
+ function sellFood {
+ closeclientdialog;
+ openshop;
+ close;
+ return;
+ }
+
+
+
+ function basicSkill {
+ mes "";
+ mesn;
+ mesq l("Let me check into it...");
+ next;
+ adddefaultskills;
+ mesq l("Here you go, everything is fixed.");
+ emotion E_HAPPY;
+ next;
+ return;
+ }
+
+ function chooseLang {
+ mes "";
+ mesn;
+ mesq l("Of course! But beware that %s are always in demand!", "[@@https://www.transifex.com/arctic-games/moubootaur-legends/|"+l("Translators")+"@@]");
+ next;
+ mesq l("Tell me which language you speak and I will change the note on the ship passenger list.");
+ next;
+
+ asklanguage(LANG_IN_SHIP);
+
+ mes "";
+ mesn;
+ mesq l("Ok, done.");
+ next;
+ return;
+ }
+
+ function whereAmI {
+ mes "";
+ mesn;
+ mesq l("You're on a ship, we're on our way to the oldest human city, Tulishmar.");
+ next;
+ mesq l("We should be there in a few days. For now, you can relax on the ship, or visit the island we're docked at! Its a small island, but a good place to get some exercise and stretch your legs.");
+ next;
+ return;
+ }
+
+ function whatHappened {
+ mes "";
+ mesn;
+ mesq l("We thought that you could help us understand this, all we know is that we found you cast in the sea, in a sand bank.");
+ next;
+ mesq lg("You were in bad shape, you should be happy we found you before the sea killed you.");
+ next;
+ return;
+ }
+
+ function readRules {
+ mes "";
+ mesn;
+ mesq l("Of course, they are on the left wall, go have a look at them.");
+ next;
+ return;
+ }
+
+ function mainMenu {
+ do
+ {
+ .@q4 = getq(General_Narrator);
+
+ select
+ l("I am hungry. Can I buy some food here?"),
+ rif(getskilllv(NV_BASIC) < 6, l("Something is wrong with me, I can't smile nor sit.")),
+ lg("I made a mistake, I would like to change my language."),
+ rif(!.@q4, l("Could you explain to me where I am?")),
+ rif(!.@q4, l("What happened to me?")),
+ l("Can I read these rules again?"),
+ l("Nothing, sorry.");
+
+ switch (@menu) {
+ case 1: sellFood; break;
+ case 2: basicSkill; break;
+ case 3: chooseLang .@s$; break;
+ case 4: whereAmI; break;
+ case 5: whatHappened; break;
+ case 6: readRules; break;
+ case 7: closedialog; end;
+ }
+ } while (1);
+ }
+
+ mesn;
+ mesq lg("Hello dear!");
+ next;
+ if (getq(ShipQuests_Julia) < 3)
+ mesq l("Have you already talked to our captain? He should be downstairs waiting for you!");
+ mesq l("What do you want today?");
+ next;
+
+ mainMenu;
+
+OnTouch:
+ .@q = getq(ShipQuests_Julia);
+ if (.@q > 1) end;
+
+ checkclientversion;
+
+ mesn;
+ mesq l("Hi, nice to see you!");
+ next;
+ mesq l("My name is Juliet, it is me who took care of you after we found you in the sea. I'm glad to see you're okay.");
+ next;
+ if (getq(ShipQuests_Julia) < 2) {
+ mesq l("I'm sure that you've got some questions for me, feel free to ask them, but first I need to tell you the rules all adventurers must respect on this world.");
+ next;
+
+ GameRules 8 | 4;
+
+ mesn;
+ mesq l("Oh, and I almost forgot! Do not share passwords or pincodes, not even with staff! And do not use the same password somewhere else, they can be stolen!");
+ next;
+ mesn;
+ mesq l("If you want to read this page again, there is a copy up on the wall.");
+ next;
+ mesn;
+ mesq l("Also, take this book so you don't forget the rules. You can always read it, or type ##B@rules##b on the chat.");
+ // No inventoryplace here.
+ getitem BookOfLaws, 1;
+ setq ShipQuests_Julia, 2;
+ next;
+ mesq l("I think I'm done with that now. You should now look for captain Nard downstairs. He'll be waiting for you.");
+ mesq l("Do you have any questions?");
+ next;
+ mesc b(l(".:: Main Quest 1-2 ::.")), 3;
+ msObjective(false, l("Talk to @@", l("Captain Nard")));
+ next;
+ }
+ mainMenu;
+ end;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 10;
+ sellitem Cheese;
+ sellitem Aquada;
+ sellitem Piberries;
+ sellitem Bread;
+ end;
+}
diff --git a/npc/002-1/knife.txt b/npc/002-1/knife.txt
new file mode 100644
index 0000000..de0e90b
--- /dev/null
+++ b/npc/002-1/knife.txt
@@ -0,0 +1,49 @@
+// Evol scripts.
+// Authors:
+// Ablu
+// Saulc
+// Qwerty Dragon
+// Description:
+// Knife on the table.
+// Variable:
+// ShipQuests_Knife
+// Values:
+// 0 Default, not taken.
+// 1 Knife taken.
+
+002-1,31,28,0 script #knife NPC_KNIVES,{
+ .@q = getq(ShipQuests_Knife);
+ if (.@q) end;
+
+ mesn l("Narrator");
+ mesc l("There are some old rusty knives on the table. Would you like to take one?");
+ next;
+
+ menu
+ l("Yeah!"), L_Give,
+ l("Nah."), -;
+
+ closedialog;
+ close;
+
+L_Give:
+ mes "";
+ inventoryplace RustyKnife, 1;
+
+ setq ShipQuests_Knife, 1;
+ getitem RustyKnife, 1;
+
+ // TODO: replace keys with variables since the player may have remapped them, possibly replace the messages below with tutorial messages?
+ mesn l("Narrator");
+ mesc l("To open your inventory, use the F3 key or use your mouse to select it in the above menu in your client.");
+ next;
+ mesc l("When your inventory is open, you can equip an item by selecting it and clicking 'Equip'. You can do the same to unequip an item by clicking on 'Unequip'.");
+ next;
+ mesc l("Items have different effects. Some will heal you, some can be used as weapons or armor, and some can be sold for gold.");
+
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+}
diff --git a/npc/002-1/mapflags.txt b/npc/002-1/mapflags.txt
new file mode 100644
index 0000000..c9d8f8d
--- /dev/null
+++ b/npc/002-1/mapflags.txt
@@ -0,0 +1 @@
+002-1 mapflag town
diff --git a/npc/002-1/peter.txt b/npc/002-1/peter.txt
new file mode 100644
index 0000000..a5058de
--- /dev/null
+++ b/npc/002-1/peter.txt
@@ -0,0 +1,307 @@
+// TMW2 script
+// Author:
+// Jesusalva
+// Original evol script authors: 4144, Ablu, Alastrim, Qwerty Dragon, Reid, Vasily_Makarov
+// Description:
+// Rat hunter.
+// Variable:
+// ShipQuests_Peter
+// Values:
+// 0 Doesn't know the quest.
+// & 1 Task given.
+// & 2 Task completed (easy level).
+// & 4 Task completed (medium level).
+// & 8 Task completed (hard level).
+// Setq2:
+// Number of killed Rattos:
+// & 1 - Ratto 1
+// & 2 - Ratto 2
+// & 4 - Ratto 3
+// & 8 - Ratto 4
+// = 15: All rattos killed
+// Setq3:
+// Instance ID (so we can destroy it later)
+//
+// Others:
+// @peter = Accepted Task ID
+// @pt_mob = ID of the monster you were tasked with killing
+
+// FIXME: ugly workaround, causes lots of bugs (specially instancing)
+002-1,35,24,0 script AreaNPC#Peter NPC_HIDDEN,0,1,{
+ end;
+OnTouch:
+ doevent "Peter::OnPeterMain";
+ close;
+}
+
+002-1,33,25,0 script Peter NPC_RATTO_SAILOR,{
+ goto L_Main;
+
+OnPeterMain:
+L_Main:
+ .@q = getq(ShipQuests_Peter);
+ .@q2 = getq2(ShipQuests_Peter);
+ .@q3 = getq3(ShipQuests_Peter);
+ if (BaseLevel < 8) goto OnTooWeak;
+
+ if (!.@q || !isinstance(.@q3) || .@q3 <= 0) goto L_Task;
+ if (instanceowner(.@q3) != getcharid(3)) goto L_Task;
+ if (.@q2 < 15) goto L_ReturnFail;
+ dispbottom l("I am broken?! Please report! Debug data: @@ (@@)", .@q, .@q2);
+ close;
+
+OnGiveTask:
+L_Task:
+ if (!.@q)
+ setq ShipQuests_Peter, 1, 0, 0;
+ mesn;
+ mesq lg("Hey, girl!", "Hey, man!");
+ next;
+ mesq l("I need somebody who can rid the hold of the ship of these creatures. Can you help me?");
+ next;
+
+ menu
+ l("Yeah, but what reward will I get?"), L_BonusTask,
+ l("No, they are way too dangerous for me!"), -;
+
+ mes "";
+ mesn;
+ mesq l("Hehe, hehe. Well, come back if you change your mind.");
+
+ close;
+
+OnLowTime:
+ if ((compare(getmap(), "002-2")) || (compare(getmap(), "nard")))
+ dispbottom l("Time is running out... Hurry up!");
+ end;
+
+OnTooWeak:
+ mesn;
+ mesq lg("I need someone to help me clean the edge of the ship, but you aren't strong enough for now.");
+ close;
+
+OnStop:
+ slide 35, 26;
+
+ mesn;
+ mesq l("You can't go there!");
+
+ close;
+
+OnReturnFail:
+L_ReturnFail:
+ .@q3 = getq3(ShipQuests_Peter);
+ //instance_destroy(.@q3);
+ setq2 ShipQuests_Peter, 0;
+ setq3 ShipQuests_Peter, 0;
+ deltimer("RattosControl::OnRatto1Respawn");
+ deltimer("RattosControl::OnRatto2Respawn");
+ deltimer("RattosControl::OnRatto3Respawn");
+ deltimer("RattosControl::OnRatto4Respawn");
+ mesn;
+ mesq l("I see it's not so easy to get rid of the monsters. Do you want to try again?");
+ next;
+
+ menu
+ l("Yeah, but I would like to make sure I get a reward."), L_BonusTask,
+ l("No, they are way too dangerous for me!"), -;
+
+ mes "";
+ mesn;
+ mesq l("Hehe, hehe. Well, come back if you change your mind.");
+
+ close;
+
+L_BonusTask:
+ mes "";
+ mesn;
+ mesq l("There are three kind of monsters which frequently attacks our fair vessel.");
+ mesc l("You need to kill all the %d monsters to complete a bounty.", 4);
+ next;
+ mesn;
+ .@q = getq(ShipQuests_Peter);
+ if (!(.@q & 2)) {
+ mes l("- I currently need your help with @@.", getmonsterlink(Squirrel)); // 750 HP, don't attack, 110 ms
+ mes l("I'll give you @@ GP for this job.", 350);
+ mes "";
+ }
+ if (!(.@q & 4)) {
+ mes l("- I currently need your help with @@.", getmonsterlink(Ratto)); // 500 HP, 80 DMG, 1572 dps, 120 ms
+ mes l("I'll give you @@ GP for this job.", 550);
+ mes "";
+ }
+ if (!(.@q & 8)) {
+ mes l("- I currently need your help with @@.", getmonsterlink(Croc)); // 1900 HP, 145 DMG, 1872 dps, 600 ms
+ mes l("I'll give you @@ GP for this job.", 1000);
+ mes "";
+ }
+ // TODO: This could be done a daily quest
+ if (.@q == 15) {
+ mes l("- I currently need your help with @@, but there's no reward.", getmonsterlink(Ratto));
+ }
+ next;
+
+ select
+ l("I'm not feeling like it today... Sorry."),
+ rif(!(.@q & 2), l("I will take the @@ Bounty.", "Squirrel")),
+ rif(!(.@q & 4), l("I will take the @@ Bounty.", "Ratto")),
+ rif(!(.@q & 8), l("I will take the @@ Bounty.", "Croc")),
+ rif(.@q == 15, l("Why not, I need to train anyway."));
+
+ if (@menu == 1)
+ close;
+
+ @peter=@menu;
+
+ goto L_Start;
+
+
+L_Start:
+ mes "";
+ mesc l("Some of them are pretty strong. Do you need an explanation about hit'n'run and the monster you're about to face?");
+ if (askyesno() == ASK_YES) {
+ mes "";
+ mesc l(".:: Hit'n'Run Tactic ::.");
+ mesc l("Sometimes, you just cannot afford to be hit. But even with a melee weapon, you don't need to be hit.");
+ next;
+ mesc l("The strategy is simple. When you hit the enemy, walk one or two tiles backwards.");
+ mesc l("If you miss, walk two or three tiles backwards. This way, you avoid being hit.");
+ next;
+ if (@peter == 2)
+ mesc l("Squirrels are healthy, but they never attack. They run away from you, so good luck catching it!");
+ else if (@peter == 4)
+ mesc l("Crocs are dangerous and very healthy, but very slow. Use that on your advantage.");
+ else
+ mesc l("Rattos are very fast. They walk fast and attack fast. I advise bringing some healing items!");
+ next;
+ } else {
+ mes "";
+ }
+
+// Init Instance
+OnStartOutside:
+ .@ID=getcharid(0);
+ @MAP_NAME$="nard@"+str(.@ID); // Max 4 chars for map name
+ .@INSTID = instance_create("002-2@a"+(.@ID), getcharid(3), IOT_CHAR);
+ if (.@INSTID < 0)
+ .@instanceMapName$ = "";
+ else
+ .@instanceMapName$ = instance_attachmap("002-2", .@INSTID, 0, @MAP_NAME$);
+
+ // Instance already exists, or something went wrong
+ if (.@instanceMapName$ == "") {
+ mesn;
+ mesq l("Actually, you just took a bounty, right?");
+ next;
+ mesn;
+ mesq l("Why don't you take a break? Breath in some fresh air. The basement is pretty damp.");
+ close;
+ }
+
+ setq2 ShipQuests_Peter, 0;
+ setq3 ShipQuests_Peter, .@INSTID;
+
+ // It'll be self-destroyed when time runs out (3 minutes)
+ instance_set_timeout(180, 180, .@INSTID);
+ instance_init(.@INSTID);
+
+ // Save in a less reliable way the challenge you took
+ if (@peter == 2) {
+ @peter=2;
+ @pt_mob=Squirrel;
+ } else if (@peter == 3) {
+ @peter=4;
+ @pt_mob=Ratto;
+ } else if (@peter == 4) {
+ @peter=8;
+ @pt_mob=Croc;
+ } else {
+ @peter=0;
+ @pt_mob=Ratto;
+ }
+
+ warp @MAP_NAME$, 33, 24;
+ addtimer(120000, "Peter::OnLowTime");
+ addtimer(140000, "Peter::OnTimeout");
+
+ // Spawn the Monsters
+ areamonster @MAP_NAME$, 23, 19, 57, 40, strmobinfo(1, @pt_mob), @pt_mob, 1, "RattosControl::OnRatto1Death";
+ areamonster @MAP_NAME$, 23, 19, 57, 40, strmobinfo(1, @pt_mob), @pt_mob, 1, "RattosControl::OnRatto2Death";
+ areamonster @MAP_NAME$, 23, 19, 57, 40, strmobinfo(1, @pt_mob), @pt_mob, 1, "RattosControl::OnRatto3Death";
+ areamonster @MAP_NAME$, 23, 19, 57, 40, strmobinfo(1, @pt_mob), @pt_mob, 1, "RattosControl::OnRatto4Death";
+
+ dispbottom l("Okay, you can start!");
+ closeclientdialog;
+ close;
+
+OnTimeout:
+ if (!(compare(getmap(), "002-2")) && !(compare(getmap(), "nard")))
+ end;
+ warp "002-1@"+LOCATION$, 35, 26;
+ .@q3 = getq3(ShipQuests_Peter);
+ //instance_destroy(.@q3);
+ setq2 ShipQuests_Peter, 0;
+ setq3 ShipQuests_Peter, 0;
+ deltimer("RattosControl::OnRatto1Respawn");
+ deltimer("RattosControl::OnRatto2Respawn");
+ deltimer("RattosControl::OnRatto3Respawn");
+ deltimer("RattosControl::OnRatto4Respawn");
+ mesn;
+ mesq l("Hey! Be careful. You can't stay in this basement for so long, you're going to get sick. Come outside and take a break, maybe you can try again later.");
+ close;
+
+OnDone:
+ .@q3 = getq3(ShipQuests_Peter);
+ //instance_destroy(.@q3);
+ setq ShipQuests_Peter, getq(ShipQuests_Peter)|@peter, 0, 0;
+
+ .@q = getq(ShipQuests_Peter);
+ if (@peter) {
+ mesn;
+ mesq l("Good job!") + " " + l("Here's your reward!");
+ getexp @peter*52, @peter;
+ switch (@peter) {
+ case 2: @peter=350; break;
+ case 4: @peter=550; break;
+ case 8: @peter=1000; break;
+ }
+
+ Zeny = Zeny + @peter;
+ message strcharinfo(0), l("You receive @@ GP!", @peter);
+ } else {
+ mesn;
+ mesq l("Good job!") + " " + l("Thanks for helping!");
+ getexp 0, (JobLevel > 6 ? (15+JobLevel) : 4);
+ PETER_REPEAT += 1;
+
+ // Every 3 repeats (10 minutes) gives you 50 GP
+ if (PETER_REPEAT % 3 == 0) {
+ Zeny += 50;
+ mesq l("It is not much, but here is %d GP. Should buy you a snack!", 50);
+ }
+
+ // Special bonus (but unlike Kreist, this one is decorative only)
+ // (Takes about 6 hours non-stop to obtain)
+ if (PETER_REPEAT == 100) {
+ mesq l("I'm moved to tears by your dedication to help us. Unrewarded, even. Here, have this rare %s. For free!", getitemlink(Cap));
+ getitem Cap, 1;
+ }
+ }
+ deltimer("Peter::OnLowTime");
+ deltimer("Peter::OnTimeout");
+ @peter=0;
+ if (!getq(ShipQuests_Dan)) {
+ next;
+ mesn;
+ mesq l("You're strong, maybe you could help Dan. He is a good sailor but he is too afraid from harmless Pious.");
+ next;
+ mesn;
+ mesq l("Look at that pathetic scene, he just put his chair over the desk... Chef Gado won't like it.");
+ }
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/002-2/_import.txt b/npc/002-2/_import.txt
new file mode 100644
index 0000000..5b662cf
--- /dev/null
+++ b/npc/002-2/_import.txt
@@ -0,0 +1,5 @@
+// Map 002-2: Hold
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/002-2/doors.txt",
+"npc/002-2/mapflags.txt",
+"npc/002-2/ratto.txt",
diff --git a/npc/002-2/doors.txt b/npc/002-2/doors.txt
new file mode 100644
index 0000000..8986865
--- /dev/null
+++ b/npc/002-2/doors.txt
@@ -0,0 +1,49 @@
+// TMW2 Script
+// Authors:
+// Jesusalva
+//
+// Originally an Evol script authored by:
+// Ablu, Alastrim and Reid
+//
+// Description:
+// Doors NPCs.
+
+002-2,33,23,0 script 0022#DoorUpwards NPC_HIDDEN,0,0,{
+
+OnTouch:
+ if (mobcount("002-2","all") > 0) goto L_Warn;
+
+ goto L_Warp;
+
+L_Warn:
+ .@q = getq(ShipQuests_Peter);
+ if (.@q >= 15) goto L_Warp;
+
+ mesn "Narrator";
+ mesc l("There are still some monsters left! Do you want to abort the quest?");
+ next;
+
+ if (askyesno() == ASK_YES)
+ goto L_Warp;
+
+ slide 33, 25;
+ closeclientdialog;
+ close;
+
+L_Warp:
+ if (LOCATION$ == "")
+ warp "002-1", 35, 26;
+ else
+ warp "002-1@"+LOCATION$, 35, 26;
+
+ deltimer("Peter::OnLowTime");
+ deltimer("Peter::OnTimeout");
+ closeclientdialog;
+ close;
+}
+
+002-2,43,25,0 script #Alige0022 NPC_ALIGE_BARREL,{
+ npctalkonce l("This barrel seems suspicious...");
+ end;
+}
+
diff --git a/npc/002-2/mapflags.txt b/npc/002-2/mapflags.txt
new file mode 100644
index 0000000..4effdfe
--- /dev/null
+++ b/npc/002-2/mapflags.txt
@@ -0,0 +1,2 @@
+002-2 mapflag nosave 000-1,22,22
+002-2 mapflag nopenalty
diff --git a/npc/002-2/ratto.txt b/npc/002-2/ratto.txt
new file mode 100644
index 0000000..1c09212
--- /dev/null
+++ b/npc/002-2/ratto.txt
@@ -0,0 +1,80 @@
+// TMW2 Script.
+// Author:
+// Jesusalva
+// Originally an Evol script authored by: Ablu, Alastrim, Reid
+// Description:
+// Ratto killer.
+
+002-2,0,0,0 script RattosControl NPC_HIDDEN,{
+ end;
+
+OnRatto1Respawn:
+ .@q2=getq2(ShipQuests_Peter);
+ setq2 ShipQuests_Peter, .@q2^1;
+ areamonster @MAP_NAME$, 23, 19, 57, 40, strmobinfo(1, @pt_mob), @pt_mob, 1, "RattosControl::OnRatto1Death";
+ end;
+
+OnRatto2Respawn:
+ .@q2=getq2(ShipQuests_Peter);
+ setq2 ShipQuests_Peter, .@q2^2;
+ areamonster @MAP_NAME$, 23, 19, 57, 40, strmobinfo(1, @pt_mob), @pt_mob, 1, "RattosControl::OnRatto2Death";
+ end;
+
+OnRatto3Respawn:
+ .@q2=getq2(ShipQuests_Peter);
+ setq2 ShipQuests_Peter, .@q2^4;
+ areamonster @MAP_NAME$, 23, 19, 57, 40, strmobinfo(1, @pt_mob), @pt_mob, 1, "RattosControl::OnRatto3Death";
+ end;
+
+OnRatto4Respawn:
+ .@q2=getq2(ShipQuests_Peter);
+ setq2 ShipQuests_Peter, .@q2^8;
+ areamonster @MAP_NAME$, 23, 19, 57, 40, strmobinfo(1, @pt_mob), @pt_mob, 1, "RattosControl::OnRatto4Death";
+ end;
+
+OnRatto1Death:
+ .@q2=getq2(ShipQuests_Peter);
+ setq2 ShipQuests_Peter, .@q2|1;
+ .@q2=getq2(ShipQuests_Peter);
+ if (.@q2 == 15)
+ goto L_Victor;
+ addtimer(85000, "RattosControl::OnRatto1Respawn");
+ end;
+
+OnRatto2Death:
+ .@q2=getq2(ShipQuests_Peter);
+ setq2 ShipQuests_Peter, .@q2|2;
+ .@q2=getq2(ShipQuests_Peter);
+ if (.@q2 == 15)
+ goto L_Victor;
+ addtimer(85000, "RattosControl::OnRatto2Respawn");
+ end;
+
+OnRatto3Death:
+ .@q2=getq2(ShipQuests_Peter);
+ setq2 ShipQuests_Peter, .@q2|4;
+ .@q2=getq2(ShipQuests_Peter);
+ if (.@q2 == 15)
+ goto L_Victor;
+ addtimer(85000, "RattosControl::OnRatto3Respawn");
+ end;
+
+OnRatto4Death:
+ .@q2=getq2(ShipQuests_Peter);
+ setq2 ShipQuests_Peter, .@q2|8;
+ .@q2=getq2(ShipQuests_Peter);
+ if (.@q2 == 15)
+ goto L_Victor;
+ addtimer(85000, "RattosControl::OnRatto4Respawn");
+ end;
+
+L_Victor:
+ unitskilluseid(getcharid(3), BS_GREED, 1, getcharid(3)); // Auto-Looting
+ warp "002-1@"+LOCATION$, 35, 26;
+ deltimer("RattosControl::OnRatto1Respawn");
+ deltimer("RattosControl::OnRatto2Respawn");
+ deltimer("RattosControl::OnRatto3Respawn");
+ deltimer("RattosControl::OnRatto4Respawn");
+ doevent("Peter::OnDone");
+ end;
+}
diff --git a/npc/002-3/_import.txt b/npc/002-3/_import.txt
new file mode 100644
index 0000000..6d7316f
--- /dev/null
+++ b/npc/002-3/_import.txt
@@ -0,0 +1,8 @@
+// Map 002-3: First Deck
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/002-3/_mobs.txt",
+"npc/002-3/doors.txt",
+"npc/002-3/elmo.txt",
+"npc/002-3/mapflags.txt",
+"npc/002-3/nard.txt",
+"npc/002-3/note.txt",
diff --git a/npc/002-3/_mobs.txt b/npc/002-3/_mobs.txt
new file mode 100644
index 0000000..9e5e45b
--- /dev/null
+++ b/npc/002-3/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 002-3: First Deck mobs
+002-3,35,28,4,2 monster Piou 1002,1,30000,20000,PiouSpwn::OnFakeKill
diff --git a/npc/002-3/doors.txt b/npc/002-3/doors.txt
new file mode 100644
index 0000000..e762b11
--- /dev/null
+++ b/npc/002-3/doors.txt
@@ -0,0 +1,83 @@
+// TMW2 Scripts.
+// Author:
+// Jesusalva
+// Description:
+// Nard's ship Doors NPCs.
+
+002-3,30,28,0 script AreaNPC#doors4 NPC_HIDDEN,0,0,{
+
+OnTouch:
+ if (!getq(General_Narrator) && getq(ShipQuests_Julia) < 3) {
+ showavatar NPC_NARD;
+ setcamnpc "Nard";
+ mesn l("Nard");
+ mesq l("Where do you think you are going, without talking to me first?");
+ next;
+ mesc l("Talk to Nard to unlock the door.");
+ next;
+ restorecam;
+ close;
+ }
+ if (getvaultid() && !(##02_MLQUEST & MLP_ML_NARD)) {
+ mesc l("Alright. A new world. What mysteries await for me behind that wooden door?");
+ next;
+ mesc l("Visiting a new world is always exciting. Actually, the opportunity of taking a new life in a new universe isn't that bad either.");
+ next;
+ mesc l("That's why we must stop... THEM... at any costs. I don't know what they're plotting, but it is not in this world inhabitants best interests... nor any other world.");
+ next;
+ mesc l("Anyway... Let's see how this world works!");
+ next;
+ ##02_MLQUEST = ##02_MLQUEST | MLP_ML_NARD;
+ closeclientdialog;
+ }
+
+ if (LOCATION$ == "Candor") {
+ warp "005-1", 49, 117;
+ close;
+ }
+
+ if (LOCATION$ == "Artis") {
+ warp "029-0", 203, 85;
+ close;
+ }
+
+ if (LOCATION$ == "Tulim") {
+ if ($@MK_SCENE == MK_SIEGE_TULIM && BaseLevel < 30) {
+ showavatar NPC_NARD;
+ setcamnpc "Nard";
+ mesn l("Nard");
+ mesc l("The Monster Army is currently sieging Tulimshar. There are hundreds of dangerous monsters out there right now."), 1;
+ next;
+ mesn l("Nard");
+ mesc l("I would advise you to remain here in the ship, they should leave in a few minutes, but I will not force you."), 1;
+ next;
+ mesn l("Nard");
+ mesc l("Just beware that if you leave, you might get killed really quickly. No death penalty, though."), 1;
+ next;
+ mesc l("Leave the ship? The town have no death penalty and is under a global event."), 1;
+ if (askyesno() == ASK_NO)
+ close;
+ // Boost their evade and HP so they don't get instantly KO'ed (5 min)
+ sc_start SC_INCFLEE, 300000, 200;
+ sc_start SC_INCMHP, 300000, 1000;
+ heal 1000, 0;
+ dispbottom l("Queen Of Dragons: It is dangerous to go out alone, I'll raise your evasion and life!"); // QoD = “Demureâ€.
+ }
+ warp "003-1", 81, 68;
+ close;
+ }
+ Exception("Script error: 002-3 door");
+ close;
+
+
+}
+
+002-3,42,25,0 script AreaNPC#002-3d NPC_HIDDEN,0,0,{
+
+OnTouch:
+ if (LOCATION$ == "")
+ warp "002-1", 72, 29;
+ else
+ warp "002-1@"+LOCATION$, 72, 29;
+ close;
+}
diff --git a/npc/002-3/elmo.txt b/npc/002-3/elmo.txt
new file mode 100644
index 0000000..03a5f8c
--- /dev/null
+++ b/npc/002-3/elmo.txt
@@ -0,0 +1,163 @@
+// TMW2 Script.
+// Authors:
+// Jesusalva
+// Description:
+// Elmo's second dialog. He is Nard's deputy and second-in-command.
+// Elmo was created in Evol by Qwerty Dragon and Reid
+// TODO: allows smart noobs (<15) get EXP Bonus (20%)
+
+002-3,32,24,0 script Elmo NPC_ELMO,{
+ function ExpBoost;
+ showavatar NPC_ELMO; // this is handled by avatars.xml
+
+ // Core functions
+ if (BaseLevel < 20)
+ ExpBoost();
+
+ if (getq(ShipQuests_Julia) < 3) goto L_NotYet;
+ if (getq(CandorQuest_Sailors) == 2) goto L_Party;
+ if (LOCATION$ == "Candor" && rand(1,7) != 5) goto L_Candor;
+
+ // TODO: NPC looking at task schedule and stuff
+ mesn;
+ if (rand(1,2) == 1)
+ mesq l("Ah, @@ seems to be behind the @@ schedule again...", any("Juliet", "Billy Bons", "Chef Gado", "Dan", "Devis", "Peter"), any(l("cleaning"), l("stocking")));
+ else
+ mesq l("Uhm, @@ seems to have finished their scheduled tasks again... If they were so diligent in cleaning and stocking, though...", any("Nard", "Elmo", "Juliet", "Chef Gado", "Dan", "Peter"));
+
+ close;
+
+L_NotYet:
+ mesn;
+ mes l("I'm not the Captain, Nard is.");
+ mes l("You should talk to him instead.");
+ close;
+
+L_Candor:
+ mesn;
+ if (getq(General_Narrator) < 1) mes l("\"Hey, have you already got the money necessary for the travel?");
+ if (getq(General_Narrator) < 1) mes l("If you haven't, maybe there are a few things you can do besides selling items.\"");
+ if (getq(General_Narrator) >= 1) mesq l("Maybe there are things in Candor which still require your attention? I might have overheard some of them.");
+ if (reputation("Candor") >= 100) mes l("...Although that's unlikely, I admit.");
+ next;
+
+ mes "";
+
+ // Valon Quest
+ .@q=getq(CandorQuest_Trainer);
+ if (.@q < 1) {
+ mesc l("##BFirst and foremost, you should talk to Trainer, inside the big house.##b"), 1;
+ mes l("Besides being able to train you, he is a walking encyclopedia - Ask him anything you are unsure about!");
+ next;
+ mes l("To find him, just leave the ship and turn left. You should also touch the Soul Menhir when you leave this ship.");
+ mes l("The Soul Menhir will attach your soul, so when you die, you'll appear where you last touched it.");
+ close;
+ } else if (.@q < 12) {
+ mes l("- Inside the big house is someone who can train you. All experience is handy!");
+ }
+
+ // Barrel Quest
+ .@q=getq(CandorQuest_Barrel);
+ if (.@q < 4)
+ mes l("- I think you can help the storehouse for some quick cash.");
+
+ // Kids Quest
+ .@q=getq(CandorQuest_HAS);
+ if (.@q < 4)
+ mes l("- You can always play with kids. Not very profitable, though.");
+
+ // Sailors Quest
+ .@q=getq(CandorQuest_Sailors);
+ if (.@q < 3)
+ mes l("- Some of our crew are missing. They're probably wasting their time at beach.");
+
+ // Vincent Quest
+ .@q=getq(CandorQuest_Vincent);
+ if (.@q < 2)
+ mes l("- I overheard rumors about a festival. Maybe someone needs help with their figurine?");
+
+ // Tolchi Quest
+ .@q=getq(CandorQuest_Tolchi);
+ if (.@q < 2)
+ mes l("- The weapon master, Tolchi, could use your help. But she will most likely force you to visit Tulimshar in the end.");
+
+ // Maya Quest
+ .@q=getq(CandorQuest_Maya);
+ if (.@q < 4)
+ mes l("- There is a woman walking on the island, called Maya. Once she realises you're willing to help, she'll start paying well.");
+
+ // Rosen Quest
+ .@q=getq(CandorQuest_Rosen);
+ if (.@q < 3)
+ mes l("- The weapon seller, Rosen, wanted to help new players to improve their equipment.");
+
+ // Nylo Quest
+ .@q=getq(CandorQuest_Marggo);
+ if (.@q < 1)
+ mes l("- The farmer Nylo, who loves beer and money, seems to be having troubles with his crops.");
+
+ // Ship Quests
+ .@q1=getq(ShipQuests_Dan);
+ .@q2=getq(ShipQuests_ChefGado);
+ .@q3=getq(ShipQuests_Peter);
+ if (.@q1 < 3 || .@q2 < 2 || .@q3 < 7)
+ mes l("- Some sailors within this ship may need your help: Chef Gado, Dan, Peter... help them all and collect rewards!");
+
+ // Report in an abstract way to the player how good they are at getting travel
+ // discounts, and how much work is left to do. Some points are easy/required to get (eg. Dan, Peter, HAS, etc.)
+ next;
+ closeclientdialog;
+ .@n=nard_reputation();
+ if (.@n >= 15)
+ npctalk3 l("Nard is truly amazed at you. I am impressed, too.");
+ else if (.@n >= 13)
+ npctalk3 l("Nard is amazed at you.");
+ else if (.@n >= 11)
+ npctalk3 l("Nard is very impressed, you're really a hard worker. Congrats!");
+ else if (.@n >= 9)
+ npctalk3 l("Nard is impressed, you're a hard worker.");
+ else if (.@n >= 7)
+ npctalk3 l("Nard noticed your hard work.");
+ else if (.@n >= 5)
+ npctalk3 l("Nard likes people who work hard. Work harder!");
+ else if (.@n >= 3)
+ npctalk3 l("You really should do some tasks to impress our captain.");
+ else
+ npctalk3 l("Nard doesn't like people who gets money without working for it.");
+
+ end;
+
+L_Party:
+ mesn;
+ mesq l("What? A party?");
+ next;
+ setq CandorQuest_Sailors, 3;
+ getexp 25, 0;
+ Zeny = (Zeny + 1000);
+ mesq l("Alright, I'll show up later. Thanks for calling me. Here's 1000 GP for your efforts."); // With this, the final cost is 50 GP
+ close;
+
+function ExpBoost {
+ mesn;
+ mesq l("Hey there, @@! I see you are still a noob!", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("Well, I'll give you a hour of EXP RATE UP! How cool is that? Enjoy!");
+ mesc l("This boost can be used until level 20."), 9;
+ next;
+ // Get the average level of top players to calculate EXP Boost
+ // Level 100 ("max") = 25% EXP BOOST (max)
+ // Current (2019-04-27) top is 80/80/75, meaning a 19% EXP Boost.
+ // New rules which give 2x exp boost
+ // Current (2019-08-31) top is 85/84/83, meaning a 42% EXP/DROP Boost.
+ .@BONUS=NewcomerEXPDROPUP();
+ specialeffect FX_SPECIAL, SELF, getcharid(3);
+ mesc l("EXP Gain raised in @@% for one hour!", .@BONUS), 2;
+ return;
+}
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/002-3/mapflags.txt b/npc/002-3/mapflags.txt
new file mode 100644
index 0000000..e274aa7
--- /dev/null
+++ b/npc/002-3/mapflags.txt
@@ -0,0 +1 @@
+002-3 mapflag nosave 000-1,22,22
diff --git a/npc/002-3/nard.txt b/npc/002-3/nard.txt
new file mode 100644
index 0000000..56a6274
--- /dev/null
+++ b/npc/002-3/nard.txt
@@ -0,0 +1,407 @@
+// TMW2 scripts.
+// Authors:
+// Qwerty Dragon
+// Reid
+// Jesusalva
+// Description:
+// Captain Nard dialogs.
+// Nard is a fair merchant ship's captain.
+// Original Nard's from Evol by Qwerty Dragon and Reid
+
+002-3,36,25,0 script Nard NPC_NARD,{
+ showavatar NPC_NARD; // this is handled by avatars.xml
+
+ .@narrator = getq(General_Narrator);
+
+L_Checker:
+ if (.@narrator) goto L_Travel;
+ if (getq(ShipQuests_Julia) >= 3) goto L_NotYet;
+ if (debug) goto L_TestServer;
+ // Introduction
+ mesn;
+ mesq l("Hello.");
+ next;
+ mesq l("Let me introduce myself, I am Nard, captain of this ship.");
+ next;
+ mesq lg("I am pleased to see that you have woken up and are active. Elmo came here to tell me this good news!");
+ next;
+ mesq l("So, how do you feel? I see that Juliet did a marvellous job! You look like you're in good health now.");
+ next;
+
+ select
+ lg("I feel ok."),
+ l("Who's this Juliet?"),
+ lg("I'm a bit sick...");
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesn;
+ mesq l("Good to know.");
+ next;
+ break;
+ case 2:
+ mesn;
+ mesq lg("You have an awful case of amnesia. She is the nurse and shipkeeper of this ship, and took care of you when you were unconscious.");
+ next;
+ break;
+ case 3:
+ mesn;
+ mesq l("Well, you'll need to get used to. Being seasick is annoying, so you might want to leave the ship as soon as possible.");
+ next;
+ break;
+ }
+
+L_Main:
+ mesn;
+ mesq l("We have made a stop at a little island, before making it on to the port of Tulimshar.");
+ next;
+ mesn;
+ mesq l("Ship travels are not free. Also, I have a few friends on the Island, and I would like you to check out on them.");
+ next;
+ showavatar NPC_ELMO;
+ setcamnpc instance_npcname("Elmo");
+ mesn l("Elmo");
+ mesq l("I, Elmo, captain's deputy, will help you to make the maximum possible money in Candor!");
+ mesc l("Elmo has given you an EXP UP and DROP UP Boost until level 20!"), 2;
+ mesc l("It also expires after two hours. In such case, talk to him again!"), 2;
+ // Actually, why don't we apply it right now...?
+ .@BONUS=NewcomerEXPDROPUP();
+ specialeffect FX_SPECIAL, SELF, getcharid(3);
+ mesc l("EXP Gain raised in @@% for one hour!", .@BONUS), 2;
+ next;
+ showavatar NPC_NARD;
+ setcamnpc;
+ mesn;
+ mesq l("After that, we're going to Tulimshar. Tulim is the most important city on the world, and the Alliance have an office there.");
+ next;
+ mesn;
+ mesq l("The Alliance can help you in finding out about who you are, why you are here, or from where you came from. So, about the tasks I want completed.");
+ LOCATION$ = "Candor";
+ setq ShipQuests_Julia, 3;
+ // Event handling
+ if ($EVENT$ == "Event")
+ getitem MercCard_EH, 1;
+ // Welcome handling
+ if (!#REG_DATE) {
+ $@WELCOME_TIMER=gettimetick(2)+900; // 15 minutes
+ kamibroadcast("Hey, look, I've rescued \""+strcharinfo(0)+"\" from the sea! Who will @welcome them?!", "Nard");
+ #REG_DATE=gettimetick(2);
+ }
+ next;
+ .@price=800;
+ mesc b(l(".:: Main Quest 1-3 ::.")), 3;
+ msObjective(getq(CandorQuest_HAS) >= 4, l("* Help Ayasha to take care of the kids."));
+ msObjective(getq(CandorQuest_Trainer) >= 12, l("* Get trained by Valon, in the big house."));
+ msObjective(getq(CandorQuest_Barrel) >= 4, l("* Ask Zegas, the mayoress, if she needs help."));
+ msObjective(Zeny >= .@price, l("* Collect @@/@@ GP", Zeny, .@price));
+
+L_Referral:
+ // Welcome handling
+ if (!#REG_DATE) {
+ $@WELCOME_TIMER=gettimetick(2)+600; // 10 minutes
+ kamibroadcast("Hey, look, I've rescued \""+strcharinfo(0)+"\" from the sea! Who will @welcome them?!", "Nard");
+ #REG_DATE=gettimetick(2);
+ }
+ // Referral program
+ if (#REFERRAL_PROG == 0 && $REFERRAL_ENABLED) {
+ next;
+ clear;
+ showavatar NPC_LOF_RICH;
+ mesc l("But before, a message from our developers!"), 3;
+ next;
+ mesn l("TMW2 Staff");
+ mesc l("Hello, and welcome to TMW2: Moubootaur Legends!"), 3;
+ next;
+ mesn l("TMW2 Staff");
+ mesc l("Did you came here by someone advise? If yes, write their name down here!"), 3;
+ next;
+ mesc l("If this is not the case, just click on \"Send\"."), 3;
+ .@ref$="";
+ do
+ {
+ input .@ref$;
+ //debugmes "Player invite: "+.@ref$;
+ mes "";
+ if (.@ref$ != "") {
+ .@ref=gf_accid(strip(.@ref$));
+ if (.@ref > 0) {
+ if (.@ref == getcharid(3)) {
+ mesn l("TMW2 Staff");
+ mesc l("Hahah, silly, that's yourself!"), 3;
+ mesc l("Try again!"), 3;
+ next;
+ .@ref$="";
+ } else {
+ #REFERRAL_PROG=.@ref;
+ getitembound FriendGift, 1, 1;
+ mesn l("TMW2 Staff");
+ mesc l("Well, welcome to the game! If you have any doubt, shout on #world for help!"), 3;
+ mesc l("Your friend also sent you a gift - open it when you get level 5!"), 3;
+ next;
+ }
+ } else {
+ mesn l("TMW2 Staff");
+ mesc l("Oops, there is nobody known as @@ on this game.", .@ref$), 3;
+ mesc l("Could you try again? There could be a typo!"), 3;
+ next;
+ .@ref$="";
+ }
+ } else {
+ .@ref$="None";
+ mesn l("TMW2 Staff");
+ mesc l("I see. Well, welcome to the game! If you have any doubt, shout on #world for help!"), 3;
+ next;
+ }
+ } while (.@ref$ == "");
+ showavatar NPC_NARD;
+ }
+
+ close;
+
+
+L_NeedHelp:
+ mes "";
+ mesn;
+ mesq l("You're pretty much stranded on this forsaken island if you don't help me!");
+ next;
+ mesq l("Also, I believe hard work always pay off.");
+ next;
+ goto L_NotYet;
+
+L_CandorIsland:
+ mes "";
+ mesn;
+ mesq l("I come here frequently to trade. It is not deserted nor boring.");
+ next;
+ mesq l("This is ##BCandor Island##b. A very small rich community lives here.");
+ next;
+ mesq l("If they were any bigger, monsters would come and kill everyone.");
+ next;
+ goto L_NotYet;
+
+L_NotYet:
+ .@price=800;
+ mesc b(l(".:: Main Quest 1-1 ::.")), 3;
+ msObjective(getq(CandorQuest_HAS) >= 4, l("* Help Ayasha to take care of the kids."));
+ msObjective(getq(CandorQuest_Trainer) >= 12, l("* Get trained by Valon, in the big house."));
+ msObjective(getq(CandorQuest_Barrel) >= 4, l("* Ask Zegas, the mayoress, if she needs help."));
+ msObjective(Zeny >= .@price, l("* Collect @@/@@ GP", Zeny, .@price));
+ mes "";
+ select
+ rif(Zeny >= .@price, l("I've brought the money you've asked for.")),
+ rif(#REFERRAL_PROG == 0 && $REFERRAL_ENABLED && BaseLevel <= 10,
+ l("I forgot to say earlier, but indeed, I was invited by someone!")),
+ l("Captain, why have you brought me to a deserted boring island?!"),
+ l("I don't want to help your \"friends\", bring me to somewhere useful!"),
+ l("Please excuse me, captain.");
+
+ mes "";
+ if (@menu == 2)
+ goto L_Referral;
+ if (@menu == 3)
+ goto L_CandorIsland;
+ if (@menu == 4)
+ goto L_NeedHelp;
+ if (@menu == 5)
+ close;
+
+ mesn;
+ if (TUTORIAL && (getq(CandorQuest_HAS) < 4 ||
+ getq(CandorQuest_Barrel) < 4 ||
+ getq(CandorQuest_Trainer) < 12)) {
+ mesq l("You didn't help all my friends yet, and without trainment, I can't send you to such dangerous place as Tulimshar.");
+ mesc l("NOTE: It is possible to play the game as a crafter/merchant/fisherman, avoiding to kill as much as possible. However, it is not possible to play the game with a total kill count of zero.");
+ close;
+ }
+ // If you did less than 50% Candor quests, please be warned.
+ if (reputation("Candor") < 50) {
+ mesc l("WARNING: You have done less than 50% of Candor Quests!"), 1;
+ mesc l("It may be expensive to return here. Are you sure?"), 1;
+ next;
+ if (askyesno() == ASK_NO)
+ close;
+ }
+ if (Zeny >= .@price) {
+ inventoryplace TulimMap, 1;
+ mesq l("Ten, fifty, thousand... Yep, this is the amount I've asked for.");
+ next;
+ getvaultexp(10);
+ setq General_Narrator, 1;
+ // Double sure
+ setq ShipQuests_Julia, 3;
+ Zeny = Zeny-.@price;
+ EnterTown("Tulim");
+ getitem TulimMap, 1;
+ mesq l("Set sail! We're going to Tulimshar!");
+ next;
+ PC_DEST$="Tulim";
+ addtimer nard_time(PC_DEST$)+800, .name$+"::OnNardStage";
+ addtimer nard_time(PC_DEST$), "#NardShip::OnEvent";
+ @timer_navio_running = 1;
+ warp "002-5", 39, 26;
+ closeclientdialog;
+ end;
+ } else {
+ mesq l("You still haven't completed your tasks.");
+ mes "";
+ mesc l("You still need @@ GP for the trip to Tulimshar.", (.@price-Zeny));
+ }
+ close;
+
+L_Travel:
+ // Current nard_reputation() value for 100% discount: 15
+ .@price=800;
+ .@price-=min(780, nard_reputation()*54);
+
+ mesn;
+ mesq l("Hi @@.", strcharinfo(0));
+ next;
+ mesq l("You are currently at @@.", LOCATION$);
+ mes "";
+ mes l("A ship travel will cost you @@ GP.", .@price);
+ if (ST_TIER == 8)
+ mesc l("What are you doing? Go talk to @@ and bring me a @@!", b("Elanore"), getitemlink(Lifestone));
+
+ if (Zeny >= .@price || ((ST_TIER == 7 || ST_TIER == 9) && gettimetick(2) < QUEST_ELEVARTEMPO)) {
+ menu
+ rif(Zeny >= .@price && LOCATION$ != "Candor", l("To Candor Island.")), L_TCandor,
+ rif(Zeny >= .@price && LOCATION$ != "Tulim", l("To Tulimshar.")), L_TTulim,
+ rif(Zeny >= .@price && LOCATION$ != "Artis" && $FIRESOFSTEAM && getq(General_Narrator) >= 20, l("To Artis.")), L_TArtis,
+ rif(ST_TIER == 7 && gettimetick(2) < QUEST_ELEVARTEMPO ,l("Help me, I need Jesusaves Grimorie!")), L_Tier2,
+ rif(ST_TIER == 9 && countitem(Lifestone) && gettimetick(2) < QUEST_ELEVARTEMPO ,l("Help me, I need Jesusaves Grimorie!")), L_Tier2Ok,
+ l("No, I'll save my money."), -;
+ } else {
+ mes l("You still need @@ GP to afford it.", (.@price-Zeny));
+ }
+
+ close;
+
+L_TCandor:
+ Zeny=Zeny-.@price;
+ PC_DEST$="Candor";
+
+ mes "";
+ mesn;
+ mesq l("Candor Island, then? Yes, that is a pretty island, right?");
+ next;
+ mesq l("I was planning to go there soon, anyway. All aboard!");
+ close2;
+ addtimer nard_time(PC_DEST$), "#NardShip::OnEvent";
+ @timer_navio_running = 1;
+ warp "002-5", 39, 26;
+ end;
+
+L_TTulim:
+ Zeny=Zeny-.@price;
+ PC_DEST$="Tulim";
+ @timer_navio_running = 1;
+
+ mes "";
+ mesn;
+ mesq l("Tulimshar, right? The oldest human city-state!");
+ next;
+ mesq l("I was planning to go there soon, anyway. All aboard!");
+ close2;
+ addtimer nard_time(PC_DEST$), "#NardShip::OnEvent";
+ @timer_navio_running = 1;
+ warp "002-5", 39, 26;
+ end;
+
+L_TArtis:
+ Zeny=Zeny-.@price;
+ PC_DEST$="Artis";
+ @timer_navio_running = 1;
+
+ mes "";
+ mesn;
+ mesq l("Artis, right? So Andrei Sakar summoned you?");
+ next;
+ mesq l("Hahaha, good luck out there, my friend!");
+ close2;
+ addtimer nard_time(PC_DEST$), "#NardShip::OnEvent";
+ @timer_navio_running = 1;
+ warp "002-5", 39, 26;
+ end;
+
+L_Tier2:
+ mes "";
+ mesn;
+ mesq l("WHAT?! ARE YOU OUT OF MIND?!?!");
+ next;
+ mesn;
+ if (nard_reputation() < 8) {
+ mesq l("THAT GRIMORIE IS A SUPER DUPER MEGA UPER RARE BOOK, I CANNOT GIVE IT TO ANYBODY ASKING ME ABOUT!!");
+ next;
+ mesn;
+ mesq l("GET OUT OF HERE, YOUR NOBODY!");
+ close;
+ }
+ mesq l("That is a rare, precious book, which writes itself!");
+ next;
+ mesn;
+ mesq l("I cannot just give it to you for nothing. Run to Elanore and fetch me a @@. You need to make a new one, an old one I won't accept.", getitemlink(Lifestone));
+ ST_TIER=8;
+ close;
+
+L_Tier2Ok:
+ mes "";
+ mesn;
+ mesc l("*tut*");
+ next;
+ inventoryplace JesusalvaGrimorium, 1;
+ delitem Lifestone, 1;
+ getitem JesusalvaGrimorium, 1;
+ getexp 200, 0;
+ ST_TIER=10;
+ mesn;
+ mesq l("Here, take it. If the mana goes out of your body, I'll have your class master to return the book to me.");
+ close;
+
+OnNardStage:
+ showavatar NPC_NARD; // this is handled by avatars.xml
+ mesn;
+ mesq l("Welcome to Tulimshar, @@!", strcharinfo(0));
+ mesc l("Nard gives you a map of the city so you don't get lost.");
+ next;
+ if (GSET_SOULMENHIR_MANUAL) {
+ mesn;
+ mesq l("You can explore the city as you want, but if I were you, I would ##Btouch the Soul Menhir##b, north of here, to don't respawn at Candor.");
+ next;
+ } else {
+ mesn;
+ mesq l("If you die, you'll appear near Tulimshar's Soul Menhir, which is the nearest Menhir to you. You can use @@ if you ever want to change this behavior.", b("@ucp"));
+ next;
+ }
+ mesn;
+ mesq l("Other than that, you can explore the city as you want, but as you had a memory loss, You should visit the townhall.");
+ next;
+ mesn;
+ mesq l("When you get out of the ship, it is the first building you'll see. Talk to ##BLua##b, she is an alliance representative.");
+ next;
+ mesn;
+ mesq l("The Alliance have records of everyone. And if you need another trip, talk to me!");
+ tutmes l("PROTIP: Every quest you complete in a location, will make ship travels to and from them cheaper!"), "Protip", false;
+ next;
+ addtimer 2500, "Inac::OnShout";
+ closeclientdialog;
+ close;
+
+L_TestServer:
+ mesc l("THIS IS MOUBOOTAUR LEGENDS TEST SERVER."), 1;
+ mesc l("Progress on this server may be %s.", b(l("lost forever"))), 1;
+ mes "";
+ mesc l("Unless you know what you are doing, please go to Main Server instead."), 1;
+ mesc l("Main server is: %s", b("server.moubootaurlegends.org")), 2;
+ mes "";
+ mesf "@@help://test-server|%s@@", l("more information about test server ->");
+ next;
+ goto L_Main;
+
+L_Close:
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/002-3/note.txt b/npc/002-3/note.txt
new file mode 100644
index 0000000..32cdf4d
--- /dev/null
+++ b/npc/002-3/note.txt
@@ -0,0 +1,51 @@
+// TMW-2 Script.
+// Evol scripts.
+// Authors:
+// gumi
+// Qwerty Dragon
+// Reid
+// WildX
+// Jesusalva
+// Description:
+// A small note presenting the rules and game-world release notes of TMW-2.
+
+002-3,40,25,0 script Note#johanne NPC_PAPER_NOTE,{
+ narrator S_LAST_NEXT,
+ l("The La Johanne always have interesting notes.");
+
+ do {
+ select
+ l("Read the News."),
+ l("Read the Rules."),
+ rif($EVENT$ != "", l("Event Information")),
+ l("Leave.");
+
+ switch (@menu) {
+ case 1:
+ GameNews();
+ break;
+ case 2:
+ GameRules(8 | 4);
+ break;
+ case 3:
+ EventHelp();
+ break;
+
+ }
+ } while (@menu != 4);
+
+
+ narrator S_NO_NPC_NAME,
+ l("Following these lines are some other writings on this paper."),
+ l("Do not give your password to anybody! Keep it secret and try not to use the same one anywhere else in the future. - Juliet"),
+ l("People from the press always know what is happening in the world. Talk to them to learn about the latest news! - Jerican from the Press"),
+ l("I love you, Silvia! - Swezanne"),
+ (!rand2(50) ? ("\"Come meager fire, and devastate spot!\" "+l("-- Grandmaster")) : ""),
+ l("Other things are written but are not legible anymore.");
+
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+}
diff --git a/npc/002-4/_import.txt b/npc/002-4/_import.txt
new file mode 100644
index 0000000..c2cede2
--- /dev/null
+++ b/npc/002-4/_import.txt
@@ -0,0 +1,3 @@
+// Map 002-4: Nard's Room
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/002-4/doors.txt",
diff --git a/npc/002-4/doors.txt b/npc/002-4/doors.txt
new file mode 100644
index 0000000..2d7f945
--- /dev/null
+++ b/npc/002-4/doors.txt
@@ -0,0 +1,15 @@
+// TMW2 Scripts.
+// Author:
+// Jesusalva
+// Description:
+// Doors NPCs.
+
+002-4,19,27,0 script AreaNPC#002-4d NPC_HIDDEN,0,0,{
+
+OnTouch:
+ if (LOCATION$ == "")
+ warp "002-3", 43, 28;
+ else
+ warp "002-3@"+LOCATION$, 43, 28;
+ close;
+}
diff --git a/npc/002-5/_import.txt b/npc/002-5/_import.txt
new file mode 100644
index 0000000..757883b
--- /dev/null
+++ b/npc/002-5/_import.txt
@@ -0,0 +1,5 @@
+// Map 002-5: Ocean
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/002-5/_mobs.txt",
+"npc/002-5/main.txt",
+"npc/002-5/mapflags.txt",
diff --git a/npc/002-5/_mobs.txt b/npc/002-5/_mobs.txt
new file mode 100644
index 0000000..cdfc371
--- /dev/null
+++ b/npc/002-5/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 002-5: Ocean mobs
+002-5,32,26,8,2 monster Ocean Croc 1133,2,36000,30000
diff --git a/npc/002-5/main.txt b/npc/002-5/main.txt
new file mode 100644
index 0000000..6e5094f
--- /dev/null
+++ b/npc/002-5/main.txt
@@ -0,0 +1,68 @@
+// TMW2 script
+// Originals from TMW-BR
+// Imported by Jesusalva
+
+002-5,28,27,0 script #NardShip NPC_HIDDEN,117,29,{
+ //if (PC_DEST$ != "" && @timer_navio_running == 0) goto L_Timer;
+ end;
+
+OnEvent:
+ if (@timer_navio_running == 0) end;
+ if (PC_DEST$ == "Candor") goto L_Candor;
+ else if (PC_DEST$ == "Tulim") goto L_Tulim;
+ else if (PC_DEST$ == "Artis") goto L_Artis;
+ else goto L_Error;
+ end;
+
+L_Candor:
+ PC_DEST$ = "";
+ LOCATION$ = "Candor";
+ @timer_navio_running = 0;
+ warp "005-1", 49, 117;
+ message strcharinfo(0), l("%s disembarks at %s.", strcharinfo(0), l("Candor Island"));
+ end;
+
+L_Tulim:
+ PC_DEST$ = "";
+ EnterTown("Tulim");
+ @timer_navio_running = 0;
+ warp "003-1", 81, 68;
+ message strcharinfo(0), l("%s disembarks at %s.", strcharinfo(0), l("Tulimshar"));
+ end;
+
+L_Artis:
+ PC_DEST$ = "";
+ EnterTown("Artis");
+ @timer_navio_running = 0;
+ warp "029-0", 203, 85;
+ message strcharinfo(0), l("%s disembarks at %s.", strcharinfo(0), l("Artis"));
+ end;
+
+L_Error:
+ PC_DEST$ = "";
+ @timer_navio_running = 0;
+ warp "000-1", 22, 22;
+ Exception("PLAYER INVALID PC_DEST ON #NardShip: " + PC_DEST$, RB_DEFAULT | RB_ISFATAL);
+ end;
+
+OnTouch:
+ if (PC_DEST$ != "" && @timer_navio_running == 0) {
+ addtimer nard_time(PC_DEST$), "#NardShip::OnEvent";
+ @timer_navio_running = 1;
+ }
+ end;
+}
+
+// Do not add .distance here.
+002-5,40,26,0 script Elmo#002-5 NPC_ELMO,{
+ npctalk3 l("It won't be long before we reach our destination...");
+ // If player logged out during travel, this Elmo can reset player travel time.
+ if (PC_DEST$ != "" && @timer_navio_running == 0) goto L_Timer;
+ end;
+
+L_Timer:
+ addtimer nard_time(PC_DEST$), "#NardShip::OnEvent";
+ @timer_navio_running = 1;
+ end;
+
+}
diff --git a/npc/002-5/mapflags.txt b/npc/002-5/mapflags.txt
new file mode 100644
index 0000000..889a0d2
--- /dev/null
+++ b/npc/002-5/mapflags.txt
@@ -0,0 +1 @@
+002-5 mapflag zone ship
diff --git a/npc/003-0-1/_import.txt b/npc/003-0-1/_import.txt
new file mode 100644
index 0000000..5aa9264
--- /dev/null
+++ b/npc/003-0-1/_import.txt
@@ -0,0 +1,9 @@
+// Map 003-0-1: The Magic Guild
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-0-1/_warps.txt",
+"npc/003-0-1/audsbel.txt",
+"npc/003-0-1/guards.txt",
+"npc/003-0-1/maxime.txt",
+"npc/003-0-1/professor.txt",
+"npc/003-0-1/researcher.txt",
+"npc/003-0-1/statues.txt",
diff --git a/npc/003-0-1/_warps.txt b/npc/003-0-1/_warps.txt
new file mode 100644
index 0000000..6a19e6c
--- /dev/null
+++ b/npc/003-0-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-0-1: The Magic Guild warps
+003-0-1,49,52,0 warp #003-0-1_49_52 3,0,003-1,51,36
diff --git a/npc/003-0-1/audsbel.txt b/npc/003-0-1/audsbel.txt
new file mode 100644
index 0000000..05954af
--- /dev/null
+++ b/npc/003-0-1/audsbel.txt
@@ -0,0 +1,499 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// One of the Mana Magic Leaders
+// Planned, there are only the five Mana Wizards: Auldsbel (Tulimshar), Sagratha (Woodlands), Morgan (Candor), Blue Sage (Nivalis), Lalica (LoF).
+
+// Gives #parum
+// Gives #mkpot
+// Quest step 11 doesn't exist - legacy debug
+
+003-0-1,81,27,0 script Auldsbel NPC_AULDSBEL,{
+ mesn l("Auldsbel the Wizard");
+ mesq l("Welcome back, Padric!");
+ mesq l("Do you believe I've lost my @@? I can't see anything well without that! %%a", getitemlink(Googles));
+ if (countitem(Googles))
+ mesq l("I'm not interested in yours, by the way.");
+ next;
+ mesn;
+ mesq l("Anyway, I am one of the few Mana Wizard, and I love Transmutation!");
+ next;
+
+L_Main:
+ select
+ rif(MAGIC_LVL, l("What's the difference from a Mana Wizard and a Mage?")),
+ l("Who are you? Where are you from?"),
+ rif(MAGIC_LVL, l("How do I advance in Mana Magic? How it works?")),
+ rif(MAGIC_LVL, l("What do you know about other Mana Magic Professors?")),
+ rif(MAGIC_LVL, l("Can you teach me Mana Magic?")),
+ l("Do you still need help with your experiments?"),
+ l("Actually, I gotta go, see ya!");
+
+ mes "";
+ switch (@menu) {
+ case 1: // What's the difference from a Mana Wizard and a Mage?
+ if (MAGIC_LVL < 2) {
+ mesn;
+ mesn;
+ mesq l("%%4 Haven't you read your Grimorium yet?!");
+ next;
+ mesn;
+ mesq l("%%@ You can get Magic by joining class and subclass, and with some NPCs. These work out-of-box. Easy.");
+ next;
+ mesn;
+ mesq l("And there is the Mana Magic, for the pro %%e You'll waste your life on that, as it have an experience system.");
+ next;
+ mesn;
+ mesq l("%%G Just like normal magic, you need power from the Mana Stone, which is based on your levels, intelligence, and mana.");
+ next;
+ mesn;
+ mesq l("I like Mana Magic the best, as we can both summon creatures as transmutate stuff. %%N");
+ next;
+ } else {
+ mesn;
+ mesq l("Well, long story short, we have two magic systems. One works out of box. The later one, is the Mana Magic.");
+ next;
+ mesn;
+ mesq l("Mana Magic is less reliable and have an experience system. It's the most common for summoning and transmutation.");
+ next;
+ mesn;
+ mesq l("I could explain this better, but you are just a noob at magic, if you understand me.");
+ next;
+ }
+ mesn;
+ mesq l("To be honest, you should use both. And remember, all Mana Magic skills can be used like they were @sk-commands. %%H");
+ next;
+ break;
+ case 2: // Who are you? Where are you from?
+ mesn;
+ mesq l("Well, speaking a bit about myself can't hurt. I am a member from the Magic Council, but one day I decided to take a vacations.");
+ next;
+ mesn;
+ mesq l("I moved to Hurnscald, stayed there for over a decade, until Lord Transmogrifier Pontorias the Plaid (May His Shape Reflect His Soul Forever) died.");
+ next;
+ mesn;
+ mesq l("Then I returned to Tulimshar. Now I do research, vote on the Magic Council meetings, and I also teach young mages about Transmutation magic.");
+ next;
+ break;
+ case 3: // How do I advance in Mana Magic? How it works?
+ mesn;
+ mesq l("Mana Magic works similar to regular magic: You can find it on your skill window, and can drag it to your shortcut list.");
+ next;
+ mesn;
+ mesq l("To get more experience and magic power, you must practice magical spells. Make sure to vary them; you will learn nothing if you cast the same spell over and over. Also, spells that consume no components seem not to be very instructive in practice.");
+ next;
+ mesn;
+ mesq l("Usually, you can find magic on these buildings, but watch out, there is magic to be found elsewhere, and some items are bound with it!");
+ next;
+ mesn;
+ mesq l("While on normal magic you must take care with all attributes, on mana magic, you usually only need to worry with reagents and intelligence.");
+ next;
+ mesn;
+ mesq l("Also, unlike regular magic which may cause delay before and after, Mana Magic usually only have a cooldown. But it is hard to know how long that cooldown is..."); // We may use addtimer() on one or other spell.
+ next;
+ break;
+ case 4: // What do you know about Sagratha?
+ mesn;
+ mesq l("Lemme see... Sagratha is often regarded as a kind and rather powerful elf lady mage... who hate people.");
+ next;
+ mesn;
+ mesq l("And I'm not talking only about humans here! But perhaps, if you build a good reputation, she teaches you something.");
+ next;
+ mesn;
+ mesq l("There's also Morgan, who lives in Candor. She is a Redy, and is married with Zitoni. They are great alchemists.");
+ next;
+ mesn;
+ mesq l("By last, there was the Blue Sage, living on Nivalis... I never met him outside the Council.");
+ next;
+ mesn;
+ mesq l("As you see, you can count the mages with the fingers of one hand. It's not just Mana Magic, either - Magic in overall is almost dead, with almost every Mana Stone on the power of the Monster King.");
+ next;
+ mesn;
+ mesq l("Defeating him would not only stop monster invasions, but it would also bring magic back... And probably another war, over the mana stones. %%S");
+ next;
+ break;
+ // Teaching and helping are bound one to other, to save space on variable e.e
+ case 5: // Can you teach me Mana Magic?
+ case 6: // Do you still need help with your experiments?
+ goto L_Magic;
+ break;
+ default: // Actually, I gotta go, see ya!
+ goodbye;
+ closedialog;
+ close;
+ }
+ goto L_Main;
+
+L_Magic:
+ .@q=getq(General_Auldsbel);
+ switch (.@q) {
+ // Help on research to gain his favor
+ case 0:
+ mesn;
+ mesq l("I actually need help. Padric and I were doing some research with catalysts, you see.");
+ next;
+ mesn;
+ mesq l("Now I need 20 @@, 20 @@ and 60 @@ to finish my research. Easy materials, except for the Shadow Herb.", getitemlink(MauveHerb), getitemlink(ShadowHerb), getitemlink(SilkCocoon));
+ next;
+ mesn;
+ mesq l("Shadow Herb only grows on dangerous places, and is mostly found on the Land Of Fire, or underground of very very deep caves.");
+ next;
+ select
+ l("I'll try to find them."),
+ l("I actually have them, here.");
+ if (@menu == 2) {
+ mes "";
+ mesn;
+ mesq l("Excellent! Let me see...");
+ next;
+ if (
+ countitem(MauveHerb) < 20 ||
+ countitem(ShadowHerb) < 20 ||
+ countitem(SilkCocoon) < 60)
+ goto L_Lie;
+ delitem MauveHerb, 20;
+ delitem ShadowHerb, 20;
+ delitem SilkCocoon, 60;
+ getexp 2500, 0;
+ Zeny=Zeny+250;
+ setq General_Auldsbel, 1;
+ mesn;
+ mesq l("Yes, many thanks. This will help me a lot.");
+ mesc l("Gained 2500 XP and 250 GP");
+ }
+ break;
+ // Learn #parum
+ case 1:
+ if (MAGIC_LVL < 1)
+ goto L_Magicless;
+ mesn;
+ mesq l("Hmm, I think I can teach you a basic Mana Skill now. That one is pretty simple.");
+ next;
+ skill(TMW2_PARUM,1,0);
+ setq General_Auldsbel, 2;
+ mesn;
+ mesq l("This is the @@ skill. It transmutes a single @@ in a @@.", "##B@sk-parum##b", getitemlink(RawLog), getitemlink(MoubooFigurine));
+ next;
+ mesn;
+ mesq l("It may also create some @@ or a @@, with enough skill.", getitemlink(Arrow), getitemlink(WoodenLog));
+ next;
+ mesn;
+ mesq l("So! Please transmute a @@ and bring it to me. You may need to switch with another mana skill, until you are successful.", getitemlink(MoubooFigurine));
+ break;
+ // Bring the Mouboo figurine back
+ case 2:
+ mesn;
+ mesq l("Have you managed to transmute the @@ I asked for?", getitemlink(MoubooFigurine));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (!countitem(MoubooFigurine)) goto L_Lie;
+ if (!MAGIC_EXP) goto L_Lame;
+ delitem MoubooFigurine, 1;
+ getexp 5000, 0;
+ setq General_Auldsbel, 3;
+ mesn;
+ mesq l("Very well - Congratulations! That was very easy, though, and this one is full of imperfections.");
+ mesc l("Gained 5000 XP");
+ next;
+ mesn;
+ mesq l("That skill was only to allow you to practice. Now listen well: Transmutation is ##BNOT##b crafting!");
+ next;
+ mesn;
+ mesq l("Magic is sacred. With transmutation, you can create convenience items, specially reagents for other magic skills.");
+ next;
+ mesn;
+ mesq l("But it will not help you to craft something as complex as weapons or armors. If we catch you profaning this magic... I'll have you returned to the sea %%e");
+ next;
+ mesn;
+ mesq l("This is just a friendly advise. We don't take magic lightly. And you shouldn't, either.");
+ }
+ break;
+ // Help on research to gain his favor
+ case 3:
+ mesn;
+ mesq l("I actually need help. I am a mage, and I'm feeling lazy to get the stuff I need.");
+ next;
+ mesn;
+ mesq l("You don't seem to have anything better to do, anyway.");
+ mesq l("Now please bring me @@/2 @@, @@/20 @@, @@/30 @@ and @@/70 @@ so I don't need to leave here and start travelling everywhere...", countitem(IcedBottle), getitemlink(IcedBottle), countitem(Root), getitemlink(Root), countitem(Potatoz), getitemlink(Potatoz), countitem(Moss), getitemlink(Moss));
+ next;
+ select
+ l("I'll try to find them."),
+ l("I actually have them, here.");
+ if (@menu == 2) {
+ mes "";
+ mesn;
+ mesq l("Excellent! Let me see...");
+ next;
+ if (
+ countitem(IcedBottle) < 2 ||
+ countitem(Root) < 20 ||
+ countitem(Potatoz) < 30 ||
+ countitem(Moss) < 70)
+ goto L_Lie;
+ delitem IcedBottle, 2;
+ delitem Root, 20;
+ delitem Potatoz, 30;
+ delitem Moss, 70;
+ getexp 28692, 0;
+ Zeny=Zeny+550;
+ setq General_Auldsbel, 4;
+ mesn;
+ mesq l("Yes, many thanks. This will help me a lot.");
+ }
+ break;
+ // Learn #mkpot
+ case 4:
+ if (MAGIC_LVL < 2)
+ goto L_Magicless;
+ mesn;
+ mesq l("Hmm, I think I can teach you a basic Mana Skill now. This one is more advanced, though.");
+ next;
+ skill(TMW2_TRANSMIGRATION,1,0);
+ setq General_Auldsbel, 5;
+ mesn;
+ mesq l("This is the @@ skill. It transmutes stuff into other stuff. I'll teach you some more recipes as class drag on.", "##B@sk-trans##b");
+ next;
+ mesn;
+ mesq l("It may fail, and you might end up with something entirely unexpected, or nothing at all!");
+ next;
+ mesn;
+ mesq l("Unlike Parum, you can use the skill points you get every time your job level rises. That will lower the mana cost and increase success chances.");
+ next;
+ mesn;
+ mesq l("But please be picky with how you spend job points. They are hard to come by, and I'm not entirely sure you can change it later.");
+ next;
+ mesn;
+ mesq l("Also, job levels get really hard to obtain after a while. The decision is up to you, just be aware there's that possibility.");
+ break;
+ // Help on research to gain his favor
+ case 5:
+ mesn;
+ mesq l("Well, I decided to resume an old research of mine, now that I have a minion (you) to gather stuff for me.");
+ next;
+ mesn;
+ mesq l("Now please be a good helper, and aid me by bringing:");
+ mesc l("* @@/@@ @@", countitem(HastePotion), 10, getitemlink(HastePotion));
+ mesc l("* @@/@@ @@", countitem(StrengthPotion), 10, getitemlink(StrengthPotion));
+ mesc l("* @@/@@ @@", countitem(HerbalTea), 10, getitemlink(HerbalTea));
+ mesc l("* @@/@@ @@", countitem(RedScorpionStinger), 25, getitemlink(RedScorpionStinger));
+ mesc l("* @@/@@ @@", countitem(SilkCocoon), 100, getitemlink(SilkCocoon));
+ next;
+ select
+ l("I'll try to find them."),
+ l("I actually have them, here.");
+ if (@menu == 2) {
+ mes "";
+ mesn;
+ mesq l("Excellent! Let me see...");
+ next;
+ if (!transcheck(
+ HastePotion, 10,
+ StrengthPotion, 10,
+ HerbalTea, 10,
+ RedScorpionStinger, 25,
+ SilkCocoon, 100))
+ goto L_Lie;
+ getexp 7500, 0;
+ Zeny=Zeny+1250;
+ setq General_Auldsbel, 6;
+ mesn;
+ mesq l("Thanks. I'm actually conducting experiments with scorpions. Please come back later.");
+ mesc l("Gained 7500 XP and 1250 GP");
+ }
+ break;
+ // Learn transmigration: Scorpion Stinger and Claw
+ case 6:
+ if (MAGIC_LVL < 2)
+ goto L_Magicless;
+ mesn;
+ mesq l("Well, I'm currently researching scorpions, as you can imagine.");
+ next;
+ setq General_Auldsbel, 7;
+ mesn;
+ mesq l("I'll teach you how to transmute some parts of theirs. You can use it to convert a @@ into a @@, but not the other way around, for example.", getitemlink(BlackScorpionStinger), getitemlink(RedScorpionStinger));
+ next;
+ mesn;
+ mesq l("This have many uses. Maybe. Anyway, I'm soon done with my experiment, so please come back later.");
+ close; // On purpose
+ break;
+ // Help on research to gain his favor
+ case 7:
+ mesn;
+ mesq l("Hmm... See, the thing is that transmuting living beings is not normally something that transmutation magic can do.");
+ next;
+ mesn;
+ mesq l("But I will not give up on my little experiment. Incidentally, Snakes are shaddy enough for my experiment. I promise you, I'll succeed this time.");
+ next;
+ mesn;
+ mesq l("Oh. And don't mention anyone what I'm researching here. No need to fuss over minor things, don't you agree? It's totally not shaddy. Not shaddy at all!");
+ next;
+ mesn;
+ mesq l("Now please be a good helper, and aid me by bringing:");
+ mesc l("* @@/@@ @@", countitem(MountainSnakeTongue), 15, getitemlink(MountainSnakeTongue));
+ mesc l("* @@/@@ @@", countitem(SnakeTongue), 15, getitemlink(SnakeTongue));
+ mesc l("* @@/@@ @@", countitem(CaveSnakeTongue), 15, getitemlink(CaveSnakeTongue));
+ mesc l("* @@/@@ @@", countitem(MountainSnakeEgg), 15, getitemlink(MountainSnakeEgg));
+ mesc l("* @@/@@ @@", countitem(SnakeEgg), 15, getitemlink(SnakeEgg));
+ mesc l("* @@/@@ @@", countitem(CaveSnakeEgg), 15, getitemlink(CaveSnakeEgg));
+ next;
+ select
+ l("I'll try to find them."),
+ l("I actually have them, here.");
+ if (@menu == 2) {
+ mes "";
+ mesn;
+ mesq l("Excellent! Let me see...");
+ next;
+ if (!transcheck(
+ MountainSnakeTongue, 15,
+ SnakeTongue, 15,
+ CaveSnakeTongue, 15,
+ MountainSnakeEgg, 15,
+ SnakeEgg, 15,
+ CaveSnakeEgg, 15))
+ goto L_Lie;
+ getexp 20000, 0;
+ Zeny=Zeny+2500;
+ setq General_Auldsbel, 8;
+ mesn;
+ mesq l("Thanks. Snakes seems promising indeed! Maybe they work where scorpions failed. If I succeed, I promise I'll teach you the spell. But for now...");
+ mesc l("Gained 20000 XP and 2500 GP");
+ }
+ break;
+ // Learn transmigration: Snake Egg, Tongue, Skin
+ case 8:
+ if (MAGIC_LVL < 3)
+ goto L_Magicless;
+ mesn;
+ mesq l("Well, I have not finished my research on snakes yet, but I'm pretty sure in how to transmute their parts.");
+ next;
+ setq General_Auldsbel, 9;
+ mesn;
+ mesq l("Here, look at how it is done. Focus. You can use it to convert a @@ into a @@, but not the other way around, for example.", getitemlink(MountainSnakeSkin), getitemlink(SnakeSkin));
+ next;
+ mesn;
+ mesq l("Be careful as not everybody likes transmuted monster parts. Some may even see it as a foul thing. Anyway. Come back later.");
+ close; // On purpose
+ break;
+ // Help on research to gain his favor
+ case 9:
+ mesn;
+ // Obviously wrong, have you never read about butterflies?
+ mesq l("So... I think I'm almost done! My plan is to force a @@ into being a pretty Butterfly. Hey, I like cute things!", getitemlink(SilkCocoon));
+ next;
+ mesn;
+ mesq l("Besides, there are no Butterflies in Tulimshar, and they could help the farm in getting producing food.");
+ next;
+ mesn;
+ mesq l("This time, I only a few last reagents and I'll finally attempt it... I want you to witness it. I'll teach you the spell later, of course.");
+ mesc l("* @@/@@ @@", countitem(ManaPiouFeathers), 5, getitemlink(ManaPiouFeathers));
+ mesc l("* @@/@@ @@", countitem(IceCube), 1, getitemlink(IceCube));
+ mesc l("* @@/@@ @@", countitem(OceanCrocClaw), 1, getitemlink(OceanCrocClaw));
+ next;
+ select
+ l("I'll try to find them."),
+ l("I actually have them, here.");
+ if (@menu == 2) {
+ mes "";
+ mesn;
+ mesq l("Excellent! Let me see...");
+ next;
+ if (!transcheck(
+ ManaPiouFeathers, 5,
+ IceCube, 1,
+ OceanCrocClaw, 1))
+ goto L_Lie;
+ mesn;
+ mesq l("Now lo and behold... The ultimate... TRANSMUTATION!");
+ // Pray that you don't get disconnected now
+ next;
+ getexp 10000, 500;
+ setq General_Auldsbel, 10;
+ npctalk l("@@... I think something went wrong... RUN!!", strcharinfo(0));
+ .@mob=monster(.map$, .x, .y, "Failed Experiment", GrassSnake, 1, .name$+"::OnSnakeDeath");
+ specialeffect FX_MAGIC, SELF, getcharid(3);
+ specialeffect FX_MGWARP, SELF, .name$;
+ specialeffect FX_ATTACK, AREA, .@mob;
+ // TODO: Maybe we should use unitattack()? Not need but...
+ // We could also reconfigure this snake Mode to exclude ChangeTarget
+ closeclientdialog;
+ close;
+ }
+ break;
+ // Learn Halhiss, completing Audsbel Quest
+ case 10:
+ // Actually, that's lv 60... Learning a lv 40 spell '-'
+ if (MAGIC_LVL < 3)
+ goto L_Magicless;
+ if (mobcount(.map$, .name$+"::OnSnakeDeath")) {
+ mesn;
+ mesq l("Could you please dispose my failed experiment, first?");
+ close;
+ }
+ mesn;
+ mesq l("*sigh* Yet another failure... Transmutation and Nature Magic doesn't marry well.");
+ next;
+ skill(TMW2_HALHISS,1,0);
+ setq General_Auldsbel, 12;
+ mesn;
+ mesq l("Next time, I'll ask Sagratha to help. Heh. I doubt that's going to happen. By the way, this is the @@ spell. It summons snakes...", b("@sk-halhiss"));
+ next;
+ mesn;
+ mesq l("You need a @@ for it. Ah, back to research I guess...", getitemlink(SnakeEgg));
+ next;
+ break;
+ default:
+ mesn;
+ mesq l("Uhm, no, not really. Maybe later, who knows?");
+ break;
+ }
+ next;
+ goto L_Main;
+
+
+// Fallbacks
+L_Magicless:
+ mesn;
+ mesq l("Well, you helped me. That's great! One hand washes the other, so, I'm willing to share knowledge with you.");
+ next;
+ mesn;
+ mesq l("But unless you touch a Mana Stone and get stronger magic, that would be as useful as teaching magic to a wall. No offense.");
+ next;
+ mesn;
+ mesq l("So, please, come to me with stronger magic powers. And then, I'll teach you a new magic spell.");
+ close;
+
+L_Lie:
+ mesn;
+ mesq l("Really interesting, how I am NOT seeing the items I asked for...");
+ next;
+ mesn;
+ mesq l("Say, what do you think if I transmuted your head into the missing materials? I can warrant your soul won't return to the Soul Menhir, either!");
+ close;
+
+L_Lame:
+ setparam(MaxHp, readparam(MaxHp)-50); // I want to see how permanent this is
+ setparam(MaxSp, readparam(MaxSp)-25); // I want to see how permanent this is
+ //setparam(Karma, readparam(Karma)-1); // testing
+ mesn;
+ mesq l("%%3 You sadden me. That was so, so lame. I will need to punish you. Sorry. Superior orders. %%S");
+ next;
+ mesn strcharinfo(0);
+ mesq l("%%i What, my maximum life and mana just decreased! Noooo!!");
+ next;
+ mesn;
+ mesq l("%%1 Cheer up, these should go back to normal when you level up. Just don't do that again!");
+ // If that is true or not, remains to be checked. Uh... I never used setparam() before! :D
+ close;
+
+OnSnakeDeath:
+ end;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/003-0-1/guards.txt b/npc/003-0-1/guards.txt
new file mode 100644
index 0000000..0c34c52
--- /dev/null
+++ b/npc/003-0-1/guards.txt
@@ -0,0 +1,61 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Magic Council Guard
+
+003-0-1,50,24,0 script Guard#00301A NPC_BRGUARD_SPEAR,{
+ if ($MOST_HEROIC$ == strcharinfo(0))
+ goto L_Hero;
+ if (getgmlevel())
+ goto L_Sponsor;
+ if ($FIRESOFSTEAM)
+ goto L_Steam;
+
+ mesn;
+ mesq l("Past this grates, is the Magic Council Room.");
+ next;
+ mesn;
+ mesq l("Unless you're an Alliance member or have authorization, you cannot go in.");
+ if (getvaultid())
+ mesc l("Alliance members are those who [@@https://tmw2.org/contact|sponsor us@@].");
+ else
+ mesc l("Alliance members are those who [@@https://patreon.com/TMW2|sponsor us@@].");
+ mesc l("There's nothing in the Magic Council Room, though. It's just a perk.");
+ close;
+
+L_Hero:
+ mesn;
+ mesq l("Greetings, %s. Do you have business on the Alliance Council Room?", strcharinfo(0));
+ mesc l("Warp to Council room?");
+ if (askyesno() == ASK_YES) {
+ warp "003-0-2", 34, 42;
+ }
+ closeclientdialog;
+ close;
+
+L_Sponsor:
+ mesn;
+ mesq l("Alliance members (sponsors) are allowed inside the Council Room.");
+ mesc l("Warp to Council room?");
+ if (askyesno() == ASK_YES) {
+ warp "003-0-2", 34, 42;
+ }
+ closeclientdialog;
+ close;
+
+L_Steam:
+ mesn;
+ mesq l("The Council is not in session, it has dispersed since Andrei Sakar went to an expedition to Artis. However, it was decided to allow others inside.");
+ mesc l("Warp to Council room?");
+ if (askyesno() == ASK_YES) {
+ warp "003-0-2", 34, 42;
+ }
+ closeclientdialog;
+ close;
+
+OnInit:
+ .distance=4;
+ end;
+}
+
diff --git a/npc/003-0-1/maxime.txt b/npc/003-0-1/maxime.txt
new file mode 100644
index 0000000..ed3204b
--- /dev/null
+++ b/npc/003-0-1/maxime.txt
@@ -0,0 +1,108 @@
+// TMW-2 Script.
+// Author:
+// Saulc
+// Jesusalva
+// Notes:
+// Bakes Tonori Delight
+
+003-0-1,77,40,0 script Maxime NPC_PLAYER,{
+ function MaximeOven;
+ mesn;
+ mesq l("Hello. I know the secrets of the legendary @@.", getitemlink(TonoriDelight));
+ next;
+ mesn;
+ mesq l("I could easily bake one for you, provided you bring me the following:");
+ mesc l("@@/12 @@", countitem(MaggotSlime), getitemlink(MaggotSlime));
+ mesc l("@@/8 @@", countitem(Plushroom), getitemlink(Plushroom));
+ mesc l("@@/4 @@", countitem(MushroomSpores), getitemlink(MushroomSpores));
+ mesc l("@@/3 @@", countitem(ScorpionStinger), getitemlink(ScorpionStinger));
+ mesc l("@@/2 @@", countitem(CactusDrink), getitemlink(CactusDrink));
+ mesc l("@@/1 @@", countitem(RoastedMaggot), getitemlink(RoastedMaggot));
+ mesc l("@@/120 GP", format_number(Zeny));
+ next;
+ .@q=getq(HalinarzoQuest_LifeDelight);
+ menuint
+ l("I have the items, please bake for me"), 1,
+ rif(.@q > 10, l("I want two batches!")), 2,
+ rif(.@q > 20, l("I want THREE batches!")), 3,
+ rif(.@q > 30, l("I need FIVE batches!")), 5,
+ rif(.@q > 50, l("I have a supplier, gimme TEN batches!")), 10,
+ rif(.@q > 75, l("Do as much as possible.")), 100,
+ l("Ah, nice to know."), 0;
+
+ mes "";
+
+ if (!@menuret)
+ goto L_Close;
+
+ for (.@i=0; .@i < @menuret; .@i++) {
+ if (!MaximeOven())
+ goto L_Missing;
+ }
+
+ mesn;
+ mesq l("Here you go, fresh from the oven!");
+ next;
+
+L_Close:
+ closedialog;
+ goodbye;
+ close;
+
+L_Missing:
+ if (@menuret == 100) close;
+ mesn;
+ mesq l("You don't have everything I asked you for.");
+ next;
+ mesn;
+ mesq l("I always wonder if I should raise my price to teach bad kids to don't lie.");
+ close;
+
+function MaximeOven {
+ if (
+ countitem(MaggotSlime) < 12 ||
+ countitem(Plushroom) < 8 ||
+ countitem(MushroomSpores) < 4 ||
+ countitem(ScorpionStinger) < 3 ||
+ countitem(CactusDrink) < 2 ||
+ countitem(RoastedMaggot) < 1 ||
+ Zeny < 120) return false;
+
+ // 4~7 normaly, 5~10 during Summer
+ // Xanthem Patch: +20% craft and -20% effect
+ // New values: 5~9 normal or 6~12 during Summer
+ inventoryplace TonoriDelight, 12;
+ delitem MaggotSlime, 12;
+ delitem Plushroom, 8;
+ delitem MushroomSpores, 4;
+ delitem ScorpionStinger, 3;
+ delitem CactusDrink, 2;
+ delitem RoastedMaggot, 1;
+ getitem TonoriDelight, rand2(5,9);
+ if (season() == SUMMER) {
+ getitem TonoriDelight, rand2(1,3);
+ mesc l("During summer, more Tonori Delight can be produced.");
+ } else if (getequipid(EQI_HEAD_TOP) == ChefHat) {
+ getitem TonoriDelight, any(1, 1, 2);
+ mesc l("You are a master chef, looking at you inspires Maxime.");
+ }
+ Zeny=Zeny-120;
+ getexp rand2(30, 60), 0;
+ return true;
+}
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, ChefHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SilkRobe);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, AssassinBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 26);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 2);
+
+ .sex = G_MALE;
+ .distance = 4;
+ npcsit;
+ end;
+}
+
diff --git a/npc/003-0-1/professor.txt b/npc/003-0-1/professor.txt
new file mode 100644
index 0000000..dff4fa9
--- /dev/null
+++ b/npc/003-0-1/professor.txt
@@ -0,0 +1,114 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Professor - allows you to gain EXP for idling (Speech skill)
+
+003-0-1,35,29,0 script Professor NPC_PLAYER,{
+ mesn;
+ mesq l("I've mastered the art of speech and communication.");
+ next;
+ mesn;
+ mesq l("Sit on the rug in front of me and learn wisdom! Maybe you'll learn something this way.");
+ if (AFKING)
+ mesc l("Thus far, you've heard about %d hours and %d minutes of wisdom.", AFKING/1200, AFKING%1200/60*3);
+ if (!TUTORIAL) close;
+ next;
+ mes ".:: AFK EXP AREA ::.";
+ mesc l("By sitting in the rug in front of the professor (the one with benches)");
+ mesc l("and \"listening\" to his speech, you'll get EXP!");
+ mes "";
+ mesc l("If you get too much exp this way, a skill will level up and you'll get even more!");
+ mesc l("But remember: %s", b(l("You cannot sit idle for too long gaining EXP!")));
+ mesc l("After about 30 minutes AFK, you won't get EXP anymore.");
+ mesc l("But don't worry, because as they say: The more you learn, the better you get at learning!");
+ mes "";
+ mesc l("In overall, you'll get more experience by fighting monsters.");
+ mesc l("But if you only want to sit down and chat, this area is ideal for you!");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, GraduationCap);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, GraduationRobe);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_WEAPON, CottonGloves);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 2);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
+
+ .sex=G_MALE;
+ .distance=5;
+ initnpctimer;
+ end;
+
+OnTimer3100:
+ areatimer2("003-0-1", 29, 34, 41, 38, 10, .name$+"::OnSpeeching");
+ initnpctimer;
+ end;
+
+OnSpeeching:
+ deltimer(.name$+"::OnSpeeching"); // safeguard
+ // Max AFK time is determined as 30 minutes + 1 second every 10 minutes AFKed
+ // Capped at 2 hours (you've AFK'ed 37 days and 12 hours - 900 hours)
+ .@maxafk=min(7200, 1800+(AFKING/600));
+ // If you have been IDLE for at least 2 seconds you'll get the EXP.
+ // Note you don't need to sit, only be idle.
+ if (is_between(2, .@maxafk, checkidle())) {
+ .@sk=getskilllv(TMW2_SPEECH);
+ .@bxp=min(1+.@sk, 12);
+ .@jxp=min(1+(.@sk/3), 6);
+
+ getexp .@bxp, .@jxp;
+
+ // (Extra) Experience for Homunculus
+ if (gethominfo(0))
+ gethomunexp(1);
+
+ // Research happens roughly every five minutes, based on Study skill
+ if (getskilllv(TMW2_STUDY)) {
+ if (AFKING % 100 == 0)
+ MAGIC_RP+=getskilllv(TMW2_STUDY);
+ }
+
+ // If you are learning TMW2_READANCIENTLANGUAGES
+ if (ANCIENTLANGUAGEBOUNCER) {
+ ANCIENTLANGUAGEBOUNCER-=1;
+ if (ANCIENTLANGUAGEBOUNCER == 1) {
+ ANCIENTLANGUAGEBOUNCER=0;
+ skill TMW2_ANCIENTLANGUAGES, 1, 0;
+ dispbottom l("It was a boring lesson, but you have mastered Mananese.");
+ }
+ }
+
+ // You're being annoying, now
+ // 1 hour, 1200 exp, enough from level 1 to level 10
+ AFKING+=1;
+ switch (AFKING) {
+ case 28800:
+ // 24 hours, 28,800 exp
+ .@x=1;
+ case 201600:
+ // +1 week, +403,200 exp
+ .@x=(AFKING >= 201600 ? 2 : .@x);
+ case 864000:
+ // +1 month, +2,592,000 exp
+ .@x=(AFKING >= 864000 ? 3 : .@x);
+ case 2592000:
+ // +3 months, +10,368,000 exp
+ .@x=(AFKING >= 2592000 ? 4 : .@x);
+ // Note: In the needed time (~4 months) you should be over 90 if you
+ // were fighting instead...
+ skill(TMW2_SPEECH, .@x, 0);
+ AFKING+=1;
+ npctalk3 l("%s, you're a good student. You will have a bright future if you keep studying.", strcharinfo(0));
+ dispbottom l("Learning from seeing (aka. AFK-ing) skill LEVEL UP!!");
+ break;
+ }
+ // There are no further upgrades to TMW2_SPEECH skill
+ // You'll need to get the AFK Set if you want to level from 4 to 10.
+
+ }
+ deltimer(.name$+"::OnSpeeching"); // safeguard
+ end;
+}
+
diff --git a/npc/003-0-1/researcher.txt b/npc/003-0-1/researcher.txt
new file mode 100644
index 0000000..5a0e12c
--- /dev/null
+++ b/npc/003-0-1/researcher.txt
@@ -0,0 +1,91 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Researcher - allows you to decrypt Ancient Blueprints (Ancient Lang. skill)
+
+003-0-1,58,29,0 script Researcher NPC_BLACKALCHEMIST,{
+ mesn;
+ mesq l("I've mastered the art of reading ancient languages.");
+ next;
+ mesn;
+ mesq l("For only @@ GP, I'll decrypt any ancient text file you have. Or you can learn how to read that yourself, for @@ GP.", .price, .learn);
+ next;
+ select
+ l("I want you to decrypt something"),
+ rif(!getskilllv(TMW2_ANCIENTLANGUAGES) && !ANCIENTLANGUAGEBOUNCER, l("I want to learn reading ancient languages")),
+ l("Nothing, sorry.");
+ switch (@menu) {
+ case 1:
+ if (Zeny < .price) {
+ mesc l("You don't have enough GP."), 1;
+ close;
+ }
+
+ mes b(l("Drag and drop an item from your inventory."));
+ .@id = requestitem();
+
+ // If ID is invalid
+ if (.@id < 1) {
+ mesc l("You give up.");
+ close;
+ }
+ // No item, or bound item
+ if (countitem(.@id) < 1 || checkbound(.@id)) {
+ if (checkbound(.@id))
+ mesc l("You cannot part with this item!");
+ else
+ mesc l("You give up.");
+ close;
+ }
+
+ switch (.@id) {
+ case AncientBlueprint:
+ Zeny-=.price;
+ delitem AncientBlueprint, 1;
+ MakeRandomBlueprint();
+ break;
+ case DesertTablet:
+ mesn;
+ mesq l("Sorry, it looks like Saulc wrote on this stone. It is entirely illegible... for now.");
+ break;
+ default:
+ mesn;
+ mesq l("Uhm, I don't think this item needs my skills.");
+ break;
+ }
+ break;
+ case 2:
+ if (Zeny < .learn) {
+ mesc l("You don't have enough GP."), 1;
+ close;
+ }
+
+ mesn;
+ mesq l("Wait, it is not so simple as just giving me the money.");
+ next;
+ mesn;
+ mesq l("What do you think learning is, magic?! No!");
+ next;
+ mesn;
+ mesq l("What do you need to learn something besides money for tuitions fee? Time and Dedication.");
+ next;
+ Zeny-=.learn;
+ ANCIENTLANGUAGEBOUNCER=13; // 120s / 5 = 12 + 1 for node
+ mesn;
+ mesq l("Do you see the professor on the next room? Listen to his boring speech for @@. There are the materials for the class.", b(l("two minutes")));
+ next;
+ mesn;
+ mesq l("If you pay attention, you'll learn the skill.");
+ break;
+ }
+ close;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ .price=350;
+ .learn=5000;
+ end;
+}
+
diff --git a/npc/003-0-1/statues.txt b/npc/003-0-1/statues.txt
new file mode 100644
index 0000000..e127e2c
--- /dev/null
+++ b/npc/003-0-1/statues.txt
@@ -0,0 +1,127 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// These statues are of great honor to whoever have their name written in them!
+
+003-0-1,63,30,0 script Fortune Statue NPC_STATUE_BANKER,{
+ if (.rate_limit >= gettimetick(2))
+ end;
+ .rate_limit=gettimetick(2);
+
+ HallOfFortune();
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ .rate_limit=0;
+ end;
+}
+
+003-0-1,53,30,0 script Strength Statue NPC_STATUE_GUARD,{
+ if (.rate_limit >= gettimetick(2))
+ end;
+ .rate_limit=gettimetick(2);
+
+ HallOfLevel();
+ next;
+ HallOfJob();
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ .rate_limit=0;
+ end;
+}
+
+003-0-1,56,26,0 script Hero Statue NPC_STATUE_ANDREI,{
+
+ mes l("This statue was built for memory of Andrei Sakar, the greatest hero this world has even seen.");
+ mes l("For defending Hurnscald alone and saving all its inhabitants.");
+ mes l("For fighting against the Monster King once and getting out alive to tell the story.");
+ mes l("For all his great deeds, and thousands of lives he saved, this statue is in his honor.");
+ if ($MOST_HEROIC$ == "")
+ goto L_Fame;
+ next;
+ mes l("Also in honor of @@, who did a great act of bravery recently. May they keep protecting our world!", $MOST_HEROIC$);
+ // TODO: Must find a better place for this
+ next;
+ mes l("And in honor of all brave LoF players, to be known to all, the fluffly hunters.");
+ mes "BunnyBear (239) - 2017-11-07 10:04:29";
+ mes "Scorpius (190) - 2017-01-09 21:33:00";
+ mes "Billr (177) - 2016-05-21 23:53:22";
+ mes "Naburudanga (153) - 2017-07-28 22:14:07";
+ mes "Axzell (150) - 2017-01-09 22:23:00";
+
+L_Fame:
+ next;
+ mesq l("All hail the ones who proven their worth before the whole Alliance!");
+
+ HallOfHonor();
+ HallOfGuild();
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
+
+003-0-1,60,26,0 script Worker Statue NPC_STATUE_CONTRIBUTOR,{
+
+ HallOfSponsor();
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
+
+
+003-0-1,68,28,0 script #Statue2018 NPC_STATUE_2018,{
+
+ HallOf2018();
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
+
+003-0-1,67,27,0 script #Statue2019 NPC_STATUE_2019,{
+
+ HallOf2019();
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
+
+003-0-1,68,26,0 script #Statue2020 NPC_STATUE_2020,{
+
+ HallOf2020();
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
+
+003-0-1,67,25,0 script #Statue2021 NPC_STATUE_2021,{
+
+ HallOf2021();
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
+
diff --git a/npc/003-0-2/_import.txt b/npc/003-0-2/_import.txt
new file mode 100644
index 0000000..1551645
--- /dev/null
+++ b/npc/003-0-2/_import.txt
@@ -0,0 +1,6 @@
+// Map 003-0-2: The Magic Guild Council Room
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-0-2/_warps.txt",
+"npc/003-0-2/manastone.txt",
+"npc/003-0-2/misc.txt",
+"npc/003-0-2/saves.txt",
diff --git a/npc/003-0-2/_warps.txt b/npc/003-0-2/_warps.txt
new file mode 100644
index 0000000..01d46e7
--- /dev/null
+++ b/npc/003-0-2/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-0-2: The Magic Guild Council Room warps
+003-0-2,35,43,0 warp #003-0-2_35_43 3,0,003-0-1,48,24
diff --git a/npc/003-0-2/manastone.txt b/npc/003-0-2/manastone.txt
new file mode 100644
index 0000000..6ab980c
--- /dev/null
+++ b/npc/003-0-2/manastone.txt
@@ -0,0 +1,76 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Mana Stone owned by the Magic Council
+//
+// Variables:
+// $MANA_BINT => Base Intelligence for Mana Stone
+// $MANA_BLVL => Base Level for Mana Stone
+// $MANA_JLVL => Base Job Level for Mana Stone
+// .int => Int Increment
+// .lvl => Lvl Increment
+// .jlvl => Jlv Increment
+
+003-0-2,35,19,0 script Mana Stone#Tulim NPC_MANA_STONE,{
+
+ // You need 50% more base level
+ if (BaseLevel < $MANA_BLVL*15/10) goto L_NotWorthy;
+ mesn;
+ mes l("The mighty Mana Stone does not reacts against you.");
+ mes l("Although this particular one seems to hate everyone and everything, it recognizes your strength.");
+ mes l("If you fell ready, perhaps you should touch it?");
+ mes "";
+ menu
+ l("Touch it!"), L_Level,
+ l("Take it!"), L_NotWorthy2,
+ l("Break it!"), L_NotWorthy2,
+ l("Leave it alone!"), -;
+ close;
+
+
+
+L_NotWorthy2:
+ npctalk3 l("You are not worthy!");
+ percentheal -20, -50;
+ if (!MAGIC_LVL)
+ dispbottom l("I should train my intelligence, have full MP, and don't neglect even Job Level.");
+ end;
+
+L_Level:
+ // See functions/util.txt for *mstone() details
+ if (mstone(0)) goto L_LevelUp;
+ if (mstone(1)) goto L_LevelUp;
+ if (mstone(2)) goto L_LevelUp;
+ if (mstone(3)) goto L_LevelUp;
+ if (mstone(4)) goto L_LevelUp;
+ if (mstone(5)) goto L_LevelUp;
+ if (mstone(6)) goto L_LevelUp;
+ if (MAGIC_LVL >= 7) npctalk3 l("You already got all power I could grant you!");
+ if (is_gm()) percentheal -20, -50;
+ if (MAGIC_LVL >= 7 || is_gm()) close;
+
+L_NotWorthy:
+ if (readparam(Sp) != readparam(MaxSp))
+ dispbottom l("I must have full MP to touch it... Which I don't.");
+ else
+ dispbottom l("I should train my intelligence, and level up, both my base as my Job Level.");
+ npctalk3 l("You are not worthy!");
+ percentheal min(-10, -70+BaseLevel), min(-10, -100+BaseLevel);
+ end;
+
+L_LevelUp:
+ mes "";
+ mes l("A great rush of mana flows though you.");
+ if (!MAGIC_LVL) mes l("Magic Power is granted to you, but you die from it.");
+ if (MAGIC_LVL) mes l("More Magic Power is granted to you, but you die from it.");
+ MAGIC_LVL = MAGIC_LVL+1;
+ sk_lvup(AL_DP);
+ die();
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 2;
+ end;
+}
diff --git a/npc/003-0-2/misc.txt b/npc/003-0-2/misc.txt
new file mode 100644
index 0000000..e4c2f35
--- /dev/null
+++ b/npc/003-0-2/misc.txt
@@ -0,0 +1,16 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Miscellaneous utilities for the magic council
+
+003-0-2,28,42,0 script Lloyd NPC_LLOYD,{
+ Banker(.name$, "Magic Guild", 1000000);
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+}
+
diff --git a/npc/003-0-2/saves.txt b/npc/003-0-2/saves.txt
new file mode 100644
index 0000000..ba9b5bb
--- /dev/null
+++ b/npc/003-0-2/saves.txt
@@ -0,0 +1,168 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Alliance High Council
+
+003-0-2,22,24,0 script HC Jesusalva NPC_LOF_NOBLEMAN,{
+ mesn l("Councilor Jesusalva");
+ mesq l("Greetings, %s %s, to the Alliance High Council.", ($MOST_HEROIC$ == strcharinfo(0) ? l("Great Hero") : (ACADEMIC_RANK ? academicrank() : lg("miss", "mister"))), strcharinfo(0));
+ next;
+ mesn l("Councilor Jesusalva");
+ mesq l("I am currently in charge of overseeing the world state and the Monster King advancements, as well as planning and dealing with emergencies. The Alliance High Council is currently composed by %s members and %s honorary ones.", l("five"), l("two"));
+ next;
+ mesn l("Councilor Jesusalva");
+ mesq l("If you found anything which requires immediate attention, like broken roads which lead nowhere, or cliffs with weird collisions, invisible rocks, scamming NPCs or the sorts, please write down a %s and I'll see it. If the interface is too difficult to use, you can also do so %s or send an email to %s.", "[@@https://git.themanaworld.org/ml/serverdata/-/issues|ticket@@]", "[@@https://discord.gg/BQNTe68|here@@]", "bug@tmw2.org");
+ if (.saul && .jak1 && .lawn && .craz)
+ close;
+ next;
+ mesn l("Councilor Jesusalva");
+ mesq l("The other councilors?");
+ if (!.saul)
+ mes l("─ Saulc should be on his residence, going over the plans again.");
+ if (!.jak1)
+ mes l("─ Jak1 should be on the Mirror Lake or verifying the infrastructure.");
+ if (!.lawn)
+ mes l("─ LawnCable is likely on his room doing research, I wouldn't disturb him if I were you.");
+ if (!.craz)
+ mes l("─ Crazyfefe is likely patrolling the world, aiding Constables and catching criminals.");
+ // The honor commanders, Pihro and Pyndragon, are likely managing their town. Ever been to Land of Fire? I heard they plan in building a floating island, too!
+ // The "Diamond" is, uh, I guess he's on the study room, the academy or perhaps the library. He said he is not qualified enough to be on the high command and decided to study some more.
+ // Demure is now part of game lore, how do I even make her a member XD
+ close;
+
+OnDeloc:
+ if (isin("003-0-2", 20, 20, 49, 37)) {
+ slide 35, 38;
+ sleep2(200);
+ dispbottom l("The High Council is now on session, you were forced to leave the meeting chamber.");
+ }
+ end;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ .session = false;
+
+OnMinute17:
+OnMinute44:
+ disablenpc "HC Saulc";
+ disablenpc "HC Jak1";
+ disablenpc "HC LawnCable";
+ disablenpc "HC Crazyfefe";
+ .saul = false;
+ .jak1 = false;
+ .lawn = false;
+ .craz = false;
+
+ // Define who will be at Council Room
+ .@r = rand2(100);
+
+ if (.session) {
+ .@r -= 5;
+ .session = false;
+ disablenpc "High Council Secretary";
+ delcells "HCouncilGate";
+ npctalk "The council is dismissed!";
+ }
+
+ if (.@r >= 97 && !$FIRESOFSTEAM) {
+ // Council Session
+ enablenpc "HC Saulc";
+ enablenpc "HC Jak1";
+ enablenpc "HC LawnCable";
+ enablenpc "HC Crazyfefe";
+ enablenpc "High Council Secretary";
+ setcells "003-0-2", 32, 35, 37, 37, 1, "HCouncilGate";
+ .session = true;
+ npctalk "The council is now in session.";
+ maptimer("003-0-2", 100, "HC Jesusalva::OnDeloc");
+ end;
+ // TODO: Council - make the NPCs speak etc
+ }
+
+ // Not a council session, so some members may show up
+ if (.@r % 30) {
+ enablenpc "HC LawnCable";
+ .lawn = true;
+ }
+
+ if (.@r % 10) {
+ enablenpc "HC Jak1";
+ .jak1 = true;
+ }
+
+ if (.@r % 5) {
+ enablenpc "HC Crazyfefe";
+ .craz = true;
+ }
+
+ if (.@r % 2) {
+ enablenpc "HC Saulc";
+ .saul = true;
+ }
+ end;
+}
+
+003-0-2,34,27,0 script HC Saulc NPC_HALBERDBARBARIAN,{
+ mesn l("Councilor Saulc");
+ mesq l("These battle plans are all wrong; They trace routes on the Canyon which doesn't exist...");
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
+003-0-2,22,30,0 script HC Jak1 NPC_LOF_DOCTOR,{
+ mesn l("Councilor Jak1");
+ mesq l("Why everything is so broken, couldn't the Monster King try to do less collateral damage?! These things will take years to be fixed!");
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
+003-0-2,47,24,0 script HC LawnCable NPC_BLACKALCHEMIST,{
+ mesn l("Councilor LawnCable");
+ mesq l("Maybe if... No... Hmm... I better try this the next time I'm at my laboratory...");
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
+003-0-2,47,30,0 script HC Crazyfefe NPC_LOF_RICH,{
+ mesn l("Councilor Crazyfefe");
+ mesq l("I want to arrest the Monster King one day, but until then, I'm happy getting rid of petty scammers, spammers, and general evildoers.");
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
+// NPC_BLACKWIZARD NPC_MIRAJ
+// NPC_BELLA » Secretary
+// When the council is in session, a lock raises
+// And Bella explains the council is in session, to come back later
+// NPCs may also speak stuff randomly
+
+003-0-2,32,38,0 script High Council Secretary NPC_BELLA,{
+ mesn;
+ mesq l("Greetings. The council is currently in session, no one is allowed in the inner chambers.");
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ disablenpc .name$;
+ end;
+}
+
diff --git a/npc/003-0/_import.txt b/npc/003-0/_import.txt
new file mode 100644
index 0000000..d7fe2f9
--- /dev/null
+++ b/npc/003-0/_import.txt
@@ -0,0 +1,7 @@
+// Map 003-0: Magic Academy
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-0/_mobs.txt",
+"npc/003-0/_warps.txt",
+"npc/003-0/mainquest.txt",
+"npc/003-0/recepcionist.txt",
+"npc/003-0/trickmaster.txt",
diff --git a/npc/003-0/_mobs.txt b/npc/003-0/_mobs.txt
new file mode 100644
index 0000000..23f6637
--- /dev/null
+++ b/npc/003-0/_mobs.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-0: Magic Academy mobs
+003-0,45,32,24,2 monster Piou 1002,3,60000,30000
+003-0,45,30,24,1 monster Croc 1006,3,60000,30000
diff --git a/npc/003-0/_warps.txt b/npc/003-0/_warps.txt
new file mode 100644
index 0000000..0d4ddff
--- /dev/null
+++ b/npc/003-0/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-0: Magic Academy warps
+003-0,48,52,0 warp #003-0_48_52 2,0,003-1,34,34
diff --git a/npc/003-0/mainquest.txt b/npc/003-0/mainquest.txt
new file mode 100644
index 0000000..28f49a8
--- /dev/null
+++ b/npc/003-0/mainquest.txt
@@ -0,0 +1,178 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Main Quest
+
+003-0,49,35,0 script #MQ25Trigger NPC_HIDDEN,3,0,{
+ end;
+
+OnTouch:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+ if (is_night())
+ doevent instance_npcname(.name$)+"::OnBegin";
+ else
+ addtimer 1000, instance_npcname(.name$)+"::OnCheck";
+ end;
+
+// Checks if you are in designated ambush zone. If not, keep hidden
+OnCheck:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+ if (!isin(.@m$, 44, 24, 54, 34))
+ end;
+ // goto OnBegin;
+
+// Begin
+OnBegin:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+ .PLAYER=getcharid(3);
+
+ // Is assassin ambushing you or professor?
+ if (is_night()) {
+ .@x=any(46, 52);
+ .@y=34;
+ } else {
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@y-=3;
+ if (.@y < 34)
+ .@y=34;
+ }
+ setcells .@m$, 47, 35, 51, 35, 3, "MQ2Wall"+getcharid(0);
+ if (isin(.@m$, 44, 24, 54, 34)) {
+ warp .@m$, 49, 33;
+ atcommand("@refresh");
+ }
+ .ASSASSIN=monster(.@m$, .@x, .@y, l("Assassin"), Assassin, 1, .@n$+"::OnAssassinDefeat");
+ unittalk(.ASSASSIN, l("Die now!!"));
+ // Nerf ATK, boost HP
+ /*
+ Hp: 4211
+ Attack: [198, 214]
+ */
+ setunitdata(.@REF, UDT_MAXHP, 4750);
+ setunitdata(.@REF, UDT_HP, 4750);
+ setunitdata(.@REF, UDT_ATKMIN, 150);
+ setunitdata(.@REF, UDT_ATKMAX, 180);
+
+ // TODO: unitwalk
+ /*
+ // TODO: Energy Balls. Should they spawn at (21,31) and (69,31)?
+ // At this time they are utterly deadly. You could use a skill to
+ // disable them... Perhaps... A grenade?
+ dispbottom col(l("SCRIPT ERROR (%s/%s)", .@m$, .@n$), 1);
+ dispbottom l("An error happened: unitwalk failed");
+ */
+ // TODO: Assassinate
+ initnpctimer;
+ end;
+
+OnTimer15000:
+ .@n$=instance_npcname(.name$);
+ unittalk(.ASSASSIN, ("Heh... He gave me a ball, but..."));
+ end;
+
+OnTimer20000:
+ .@n$=instance_npcname(.name$);
+ unittalk(.ASSASSIN, ("I can do this alone!"));
+ end;
+
+OnTimer60000:
+ .@n$=instance_npcname(.name$);
+ unittalk(.ASSASSIN, ("Tsc...! I'll need reinforcements!"));
+ end;
+
+OnTimer65000:
+ .@n$=instance_npcname(.name$);
+ unittalk(.ASSASSIN, ("How was the summoning again...?!"));
+ end;
+
+OnTimer75000:
+ .@n$=instance_npcname(.name$);
+ unittalk(.ASSASSIN, ("Oh, that's right!"));
+ end;
+
+OnTimer82000:
+ .@n$=instance_npcname(.name$);
+ unittalk(.ASSASSIN, ("ENEEEEEEEEERGY BALLLLLLL!"));
+ getmapxy(.@m$, .@x, .@y, UNITTYPE_MOB, .ASSASSIN);
+ .@REF=monster(.@m$, .@x, .@y, "Energy Ball", EnergyBall, 1);
+
+ // Nerf the monster, be careful, it has a powerful skill!
+ setunitdata(.@REF, UDT_AGI, 1);
+ setunitdata(.@REF, UDT_LUK, 1);
+ setunitdata(.@REF, UDT_DEF, 10);
+ setunitdata(.@REF, UDT_MDEF, 20);
+ setunitdata(.@REF, UDT_MAXHP, 1000);
+ setunitdata(.@REF, UDT_HP, 1000);
+ end;
+
+OnAssassinDefeat:
+ stopnpctimer;
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+ delcells "MQ2Wall"+getcharid(0);
+ LUA_ASKED_TO_SAVE_PROFESSOR=false;
+ getexp 16, 5; // Extra bonus :>
+
+ if (is_night()) {
+ unittalk(getnpcid(instance_npcname(.name$)), l("Thanks for the help, I guess...?"));
+ } else {
+ dispbottom l("A mission well done. I should report to lua now.");
+ }
+ // Extra extra EXTRA bonus
+ CsysNpcCraft(SmallKnife, IOPT_SPLASHDAMAGE, 1, 0,0, 0,0, VAR_MAXHPPERCENT, -5);
+ addtimer 100, instance_npcname(.name$)+"::OnAbort";
+ specialeffect(FX_FANFARE, SELF, getcharid(3));
+ end;
+
+OnAbort:
+ stopnpctimer;
+ end;
+
+OnInit:
+ disablenpc .name$;
+ end;
+
+OnInstanceInit:
+ if (is_night()) {
+ .@n$=instance_npcname("Professor#003-0");
+ enablenpc .@n$;
+ }
+ .ASSASSIN=0;
+ .PLAYER=0;
+ end;
+}
+
+003-0,49,24,4 script Professor#003-0 NPC_PLAYER,{
+ npctalkonce l("I wonder if it'll take too long for the ship to arrive...");
+ end;
+
+OnTouchNPC:
+ npctalk l("An error happened: professor_was_assasinated() error");
+ npctalk ("SCRIPT ERROR (OnTouch Game Over)");
+ end;
+
+OnInit:
+ .@ini=true;
+OnInstanceInit:
+ if (.@ini)
+ .@npcId = getnpcid(.name$);
+ else
+ .@npcId = getnpcid(instance_npcname(.name$));
+
+ setunitdata(.@npcId, UDT_HEADTOP, GraduationCap);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, GraduationRobe); // TODO: Bathrobe
+ setunitdata(.@npcId, UDT_HEADBOTTOM, Slippers); // Hey hey!
+ setunitdata(.@npcId, UDT_WEAPON, CottonGloves);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 2);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
+
+ .sex=G_MALE;
+ .distance=5;
+ disablenpc .name$;
+ end;
+}
+
diff --git a/npc/003-0/notes b/npc/003-0/notes
new file mode 100644
index 0000000..f5ce8d6
--- /dev/null
+++ b/npc/003-0/notes
@@ -0,0 +1,138 @@
+FFA - FREE FOR ALL
+ AL_DP (Divine Protection, +DEF vs undead/evil) (raised at Mana Stone)
+
+----
+AOE (DESTRUCTIVE MAGIC)
+ MG_NAPALMBEAT
+ MG_FIREBALL
+ WZ_FROSTNOVA (38%+5% freeze, 73%+7%/lv MATK)
+
+SINGLE TARGET (D.M.)
+ AL_HOLYLIGHT (standard holy magic attack - 125% of MATK)
+ MG_SOULSTRIKE (+5% MATK, +1 hit each 2 levels)
+ MG_COLDBOLT (ele)
+ MG_FIREBOLT (ele)
+ MG_LIGHTININGBOLT (ele)
+ WZ_EARTHSPIKE (ele / not a bolt for PF_DOUBLECASTING)
+ MG_FROSTDIVER (38%+3% freeze, +10% MATK)
+
+
+
+AOE (P.S.)
+ ASC_METEORASSAULT (area: self 2X2, 80%+40%/lv ATK, 10+5%/lv stun/blind/bleed)
+ AC_SHOWER (3x3 attack for BOWS)
+
+SINGLE TARGET (PHYSICAL SCIENCE)
+ SM_BASH (+30% ATK, HIT +5%, após lv 6: stun (5%/lv))
+ MC_MAMMONITE (+50% atk/lv)
+ KN_AUTOCOUNTER (contra-ataque, TOP)
+
+ AC_CHARGEARROW (Ranged, 150% DMG, 6 tiles knockback, NEED GWENDOLYN)
+ SN_SHARPSHOOTING (ULTIMATE ranged attack)
+
+
+
+SUPPORT SCIENCE / SCHOLARSHIP (self)
+ AC_OWL (raise 1 DEX per level)
+ SA_DRAGONOLOGY (PV: +4% ATK, +2% MATK, +1 INT and +4% resist against DRAGONS)
+ TMW2_SAGE (PV: grants up to 1.5 extra mana exp point/level)
+ MG_SRECOVERY (PV: small increase to SP Recovery while idle each 10 sec.)
+ SM_RECOVERY (PV: small increase to HP Recovery while idle each 10 sec.)
+
+ SN_WINDWALK (raise walking speed +2%/lv and flee rate +1/2lv)
+
+ CR_TRUST (PV: MaxHP +200/lv, Holy DEF +5%/lv)
+ AC_VULTURE (PV: raise range and cth with BOWS)
+
+SUPPORT SCIENCE / SCHOLARSHIP (MMO)
+ AL_HEAL (basic healing)
+ AL_INCAGI (raise agi in 3+1/lv)
+ HW_MAGICPOWER (aumenta poder da próxima skill em MATK 5%/lv)
+ SM_PROVOKE (provoca um monstro especifico - exceto BOSS)
+ **AL_ANGELUS (14x14, party, def +5%/lv)
+ TF_DETOXIFY (cancels poison. 40% MP.)
+ AC_CONCENTRATION (self: agi/dex 3+1%/lv, unhide enemies 3x3)
+ AB_HIGHNESSHEAL (REAL healing skill)
+ ALL_RESURRECTION (reviver, requer permitir target players mortos)
+ EVOL_MASS_PROVOKE (provoca mobs em área)
+
+ PR_ASPERSIO (bestow holy element on weapon for 1m. Holy dmg to undead/evil.)
+ SA_FLAMELAUNCHER (bestow fire element on weapon for 2m, 70% cth)
+ SA_FROSTWEAPON (bestow water element on weapon for 2m, 70% cth)
+ SA_LIGHTNINGLOADER (bestow wind element on weapon for 2m, 70% cth)
+ SA_SEISMICWEAPON (bestow earth element on weapon for 2m, 70% cth)
+
+ GC_DARKCROW (Max Lv 1: DMG +100%, Short Range DMG +30%)
+
+
+
+TRICKS SCIENCE
+ SA_FREECAST (move after casting)
+ TF_BACKSLIDING (pulo pra trás)
+ MG_FIREWALL (wall of fire: 50% dmg x3+1/lv hits, knockback 2 cells)
+ ALL_FULL_THROTTLE (Stat +20%, full heal, move speed x2 - w/ rebound, last resort)
+ GC_DARKILLUSION (tp pra cima do mob/player com um ataque, pode causar dano extra - 4%/lv)
+ NV_TRICKDEAD (se finge de morto)
+ SO_FIREWALK (deixa fogo aonde passa - 60% MATK)
+
+
+
+
+
+
+UNUSED/SPECIAL
+ BA_PANGVOICE (confuse, EXTREME DESYNC)
+ GS_SNAKEEYE (→AC_VULTURE)
+
+THIEF/MERCHANT-POLICE
+ TF_STEAL
+ ALL_INCCARRY
+ TF_MISS / TF_DOUBLE ?
+ MC_DISCOUNT / MC_OVERCHARGE (FIXME) ?
+ TF_HIDING?
+ MC_PUSHCART?
+ MC_VENDING?
+
+
+
+BROKEN
+ PF_HPCONVERSION (10% HP vira MP (10%/lv))
+ HP_MEDITATIO (PV: MP Regen +3%/lv, MSP +1%/lv, AL_HEAL +2%/lv stronger)
+ GS_MAGICALBULLET (adds MATK to your regular attack) Does'nt works?
+ CR_DEFENDER (less damage from ranged attacks, but lowers move & attack speed. Req. Shield) - max lv 4 plz. Last 3m?
+
+USEFUL COMMANDS
+ npcskill(<skill id>, <skill lvl>, <stat point>, <NPC level>)
+ npcskill(AL_HEAL, 10, 99, 60);
+
+ unitskilluseid(<GID>, <skill id>, <skill lvl>{, <target id>})
+ unitskillusepos(<GID>, <skill id>, <skill lvl>, <x>, <y>)
+
+ *defpattern(<set number>, "<regular expression pattern>", "<event label>")
+ *activatepset(<set number>)
+ *deactivatepset(<set number>)
+ *deletepset(<set number>)
+ Regex commands (iilia)
+
+ *statusup2(<stat>, <amount>)
+ Needs testing, said to be permanent but will it survive a status reset?
+ Actually, we could add an extra memory and re-cast this, if we control
+ usage correctly.
+
+ *autobonus2(<bonus script>, <rate>, <duration>{, <flag>, {<other script>}})
+ May cast a bonus when attacked :>
+
+ SC_TENSIONRELAX
+ Tension relax allows the user to recover HP while overweight at 1x speed.
+ Also, looks like sitting _should_ allow you to regen even overweight, need
+ plugin check for possible overrides on this behavior. status_natural_heal
+
+ SC_VITATA_500
+ Apparently regens SP? Requires further studies.
+
+ SC_NOEQUIPWEAPON [Evol]
+ Forces your opponent to fight without a weapon.
+
+
+
+
diff --git a/npc/003-0/recepcionist.txt b/npc/003-0/recepcionist.txt
new file mode 100644
index 0000000..90c4a42
--- /dev/null
+++ b/npc/003-0/recepcionist.txt
@@ -0,0 +1,162 @@
+// TMW2 Scripts.
+// Author:
+// Jesusalva
+// Description:
+// Magic School receptionist (TODO: Give S. Badge)
+
+003-0,61,44,4 script Receptionist#003-0 NPC_FEMALE,{
+ mesn;
+ mesq l("Hello, and welcome to the Magic School of Tulimshar.");
+ next;
+ mesn;
+ mesq l("Actually I'm responsible of dispatching mages to the Magic Academy.");
+ next;
+ select
+ l("What is the Magic Academy?"),
+ l("I am a mage. How do I get to Academy?"),
+ l("What magic classes are there?"),
+ l("Erm... Good bye.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ goto L_Prologue;
+ case 2:
+ goto L_Academy;
+ case 3:
+ goto L_Classes;
+ }
+ closeclientdialog;
+ goodbye;
+ close;
+
+//////////////
+/* Prologue */
+//////////////
+L_Prologue:
+ mesn l("Magic Academy Tutorial");
+ mesc l("The Magic Academy System is responsible for learning most skills ingame. For that, you need two things: Magic Skill Points and a reagent.");
+ next;
+ mesn l("Magic Academy Tutorial");
+ mesc l("The reagent is always the same for the same class. If you do not have enough reagents but have an @@, it'll be used to continue.", getitemlink(ScholarshipBadge));
+ next;
+ mesn l("Magic Academy Tutorial");
+ mesc l("Magic Skill Points can be obtained in three ways: By touching a Mana Stone, by signing up in a Special Class (if you have enough magic power) and by having high amounts of Job Level.");
+ next;
+ mesn l("Magic Academy Tutorial");
+ mesc l("Upgrading a skill level can be done the same away and will always cost a single Magic Skill Point. Job Level points are obtained only after Lv @@, and is a single point each @@ levels.", 15+12, 12);
+ next;
+ if (!MGQUEST) {
+ inventoryplace ScholarshipBadge, 1;
+ mesn;
+ mesq l("That being said, I'll give you an @@, which allows you to learn a skill even if you can't pay for it.", getitemlink(ScholarshipBadge));
+ next;
+ }
+ mesn;
+ mesq l("Please note unless you have Magic Powers, obtained from the Mana Seed, all you will be able to learn are small tricks, so please make a wise choice.");
+ if (!MGQUEST) {
+ MGQUEST=true;
+ getitem ScholarshipBadge, 1;
+ }
+ tutmes l("Magic skills allows for a more advanced gameplay, but they are meant for level 30 onward.");
+ tutmes l("If you follow %s's quest, you will eventually reach the requirements for here.", b("Lua"));
+ close;
+
+
+//////////////
+/* Academy */
+//////////////
+L_Academy:
+ if (!MAGIC_LVL) {
+ mesn;
+ mesq l("Oh please. Even if you know a trick or two, you don't have real magic.");
+ next;
+ mesn;
+ mesq l("You need to touch a Mana Stone to get magic. Certainly the only Mana Stone on Tulimshar is highly protected by the Council, so no chances here.");
+ next;
+ mesn;
+ mesq l("Well, the biggest mana stones mine was in %s, but I'm afraid it has already depleted... Besides, it is very dangerous.", b("Halinarzo"));
+ } else {
+ mesn;
+ mesq l("Oh, just walk on the dock, and you'll be warped there.");
+ next;
+ mesn;
+ mesq l("I mean, a ship should come to pick you up, but the arch-wizards said they were too lazy to take care of those small details. So you'll be warped.");
+ }
+ close;
+
+
+//////////////
+/* Classes */
+//////////////
+L_Classes:
+ mesn;
+ mesq l("We have four classes, but you can make a mix between them.");
+ next;
+ mesc ".:: "+l("Physical Science")+" ::.", 3;
+ mes l("They use magic to boost their bodies, allowing them to do very, VERY powerful physical attacks.");
+ mes l("They also don't need much intelligence or magic equipment.");
+ mes "";
+ mes l("Physical Science Institute is on the %s area of the campus.", b(l("west")));
+ next;
+ mesc ".:: "+l("Wizardry")+" ::.", 3;
+ mes l("They use mana to create magic attacks and blast their foes away.");
+ mes l("They rely entirely in intelligence and magic equipment.");
+ mes "";
+ mes l("Wizardry Institute is on the %s area of the campus.", b(l("north")));
+ next;
+ mesc ".:: "+l("Scholarship Science")+" ::.", 3;
+ mes l("Training to be sages, their knowledge is unparalleled. They're masters of boosting skills.");
+ mes l("Most of their skills are stat-independent, but not all of them.");
+ mes "";
+ mes l("Scholarship Institute is on the %s area of the campus.", b(l("north")));
+ next;
+ mesc ".:: "+l("Tricks")+" ::.", 3;
+ mes l("They cheat! They make silly tricks which look like magic.");
+ mes "";
+ mes l("The trickster can be found right here.");
+ close;
+
+
+/// Core code
+OnTimer1000:
+ domovestep;
+
+OnInit:
+OnInstanceInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, FancyHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SorcererRobe);
+ //setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ //setunitdata(.@npcId, UDT_WEAPON, JeansShorts);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, any(8,11,20));
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 5);
+
+ // Small movement
+ initpath "move", 61, 44,
+ "dir", UP, 0,
+ "wait", 7, 0,
+ "move", 62, 46,
+ "dir", DOWN, 0,
+ "wait", 7, 0,
+ "move", 63, 44,
+ "dir", UP, 0,
+ "wait", 7, 0,
+ "move", 61, 44;
+ initialmove;
+ initnpctimer;
+
+ .sex=G_FEMALE;
+ .distance=5;
+ end;
+}
+
+
+003-0,48,24,0 script #MagicAcademy NPC_HIDDEN,1,0,{
+ end;
+
+OnTouch:
+ if (MAGIC_LVL && $HURNS_LIBDATE)
+ warp "027-1", any(89,90), 155;
+ end;
+}
+
diff --git a/npc/003-0/trickmaster.txt b/npc/003-0/trickmaster.txt
new file mode 100644
index 0000000..1488587
--- /dev/null
+++ b/npc/003-0/trickmaster.txt
@@ -0,0 +1,125 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Trickmaster of Tricksters Class
+
+003-0,35,42,0 script Trickmaster NPC_SITTED_NINJA,{
+ function basicMagic;
+ function standardMagic;
+ function advancedMagic;
+ mes l(".:: Trickster Class ::.");
+ mesc l("Specialized in miscellaneous skills.");
+ next;
+ mesn;
+ mesc l("You have @@ magic skill points available.", sk_points());
+ select
+ l("Basic Tricks"),
+ l("Standard Tricks"),
+ l("Advanced Tricks");
+ mes "";
+ .@lv=@menu;
+ do
+ {
+ // Display appropriate menu
+ if (.@lv == 1)
+ basicMagic();
+ else if (.@lv == 2)
+ standardMagic();
+ else if (.@lv == 3)
+ advancedMagic();
+
+ // Handle result
+ mes "";
+ if (@menuret) {
+ if (!learn_magic(@menuret)) {
+ mesc l("You do not meet all requisites for this skill."), 1;
+ next;
+ }
+ } else {
+ closeclientdialog;
+ }
+
+ } while (@menuret);
+ close;
+
+L_NoMagic:
+ next;
+ mesn;
+ mesq l("You do not have enough magic power for these classes.");
+ next;
+ if ($FIRESOFSTEAM < 9) {
+ mesn;
+ mesq l("Besides the Magic Council, Andrei Sakar have his own Mana Stone, but I doubt he would train the likes of you, or share his Mana Stone.");
+ next;
+ }
+ mesn;
+ mesq l("Perhaps, in the city, someone knows rumors about Mana Stones and can teach you. Other than that, you're on your own.");
+ close;
+
+function basicMagic {
+ mes l(".:: Mana Bomb ::.");
+ mesc l("Converts all your mana in damage. Damages all enemies in same tile.");
+ mes "";
+ mes l(".:: Backsliding ::.");
+ mesc l("Instantly jumps 5 tiles backwards.");
+ mes "";
+ mes l(".:: Nature Wall ::.");
+ mesc l("Create a natural wall under the cursor, to delay your enemies.");
+ mes "";
+ mes l(".:: Archers Eye ::.");
+ mesc l("Increase bow range and accuracy.");
+ mes "";
+ mes l(".:: First Aid ::.");
+ mesc l("Recover some HP.");
+ mes "";
+ menuint
+ l("Mana Bomb"), TMW2_MANABOMB,
+ l("Backsliding"), TF_BACKSLIDING,
+ l("Nature Wall"), MG_FIREWALL,
+ l("Archers Eye"), AC_VULTURE,
+ l("First Aid"), TMW2_FIRSTAID,
+ l("Cancel"), 0;
+ return;
+}
+
+function standardMagic {
+ if (!MAGIC_LVL) goto L_NoMagic;
+ mes l(".:: Free Cast ::.");
+ mesc l("Allows to attack right after casting.");
+ mes "";
+ mes l(".:: Full Throttle ::.");
+ mesc l("An emergency skill which temporarily raises all your stats.");
+ mes "";
+ mes l(".:: Sudden Attack ::.");
+ mesc l("Instantly jumps to target and delivers an attack.");
+ mes "";
+ mes l(".:: Trick Dead ::.");
+ mesc l("Plop dead in the ground. Enemies won't attack you this way.");
+ mes "";
+ menuint
+ l("Free Cast"), SA_FREECAST,
+ l("Full Throttle"), ALL_FULL_THROTTLE,
+ l("Sudden Attack"), GC_DARKILLUSION,
+ l("Trick Dead"), NV_TRICKDEAD,
+ l("Cancel"), 0;
+ return;
+}
+
+function advancedMagic {
+ if (MAGIC_LVL < 2) goto L_NoMagic;
+ mes l(".:: There are no skills ::.");
+ mesc l("You can bug Jesusalva to extend the Battlefield Control skills.");
+ mes "";
+ menuint
+ l("Cancel"), 0;
+ return;
+}
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+
+}
+
diff --git a/npc/003-1-1/_import.txt b/npc/003-1-1/_import.txt
new file mode 100644
index 0000000..56c456a
--- /dev/null
+++ b/npc/003-1-1/_import.txt
@@ -0,0 +1,7 @@
+// Map 003-1-1: Tulimshar Sewers
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-1-1/_mobs.txt",
+"npc/003-1-1/_warps.txt",
+"npc/003-1-1/downpath.txt",
+"npc/003-1-1/treasure.txt",
+"npc/003-1-1/yetiking.txt",
diff --git a/npc/003-1-1/_mobs.txt b/npc/003-1-1/_mobs.txt
new file mode 100644
index 0000000..930a9e4
--- /dev/null
+++ b/npc/003-1-1/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-1-1: Tulimshar Sewers mobs
+003-1-1,108,76,68,75 monster Cave Maggot 1027,44,35000,300000
+003-1-1,85,72,65,72 monster Black Scorpion 1074,23,35000,300000
+003-1-1,80,87,71,71 monster Ratto 1005,32,35000,300000
+003-1-1,41,55,15,14 monster Little Blub 1007,5,35000,200000
diff --git a/npc/003-1-1/_warps.txt b/npc/003-1-1/_warps.txt
new file mode 100644
index 0000000..d2cbe9c
--- /dev/null
+++ b/npc/003-1-1/_warps.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-1-1: Tulimshar Sewers warps
+003-1-1,29,62,0 warp #003-1-1_29_62 0,0,004-1,55,21
+003-1-1,57,99,0 warp #003-1-1_57_99 0,0,003-1,56,84
+003-1-1,44,143,0 warp #003-1-1_44_143 0,0,008-0,41,23
+003-1-1,143,127,0 warp #003-1-1_143_127 0,0,003-1,115,111
diff --git a/npc/003-1-1/downpath.txt b/npc/003-1-1/downpath.txt
new file mode 100644
index 0000000..b68bca4
--- /dev/null
+++ b/npc/003-1-1/downpath.txt
@@ -0,0 +1,32 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Notes:
+// TW: Tulimshar, West
+// TE: Tulimshar, East
+
+003-1-1,100,58,0 script #SewerDD-TW NPC_NO_SPRITE,{
+ mesc l("There's a small, damp corritor, which you could crawl though.");
+ mesc l("It's not possible to see any light, and it seems to small and damp to have monsters.");
+ mesc l("You could barely fit on it, and your clothes will be ruined, in need of washing.");
+ next;
+ mesc l("Descend into the small corritor?");
+ mesc l("Note: You'll be vulnerable for a short while!"), 1;
+ if (askyesno() == ASK_YES) {
+ closedialog;
+ sc_start SC_STUN, 3000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, getcharid(3);
+ sleep2(3000);
+ if (ispcdead()) end;
+ warp "003-1-3", 45, 36;
+ dispbottom l("At long last, you see the end of the corritor.");
+ RegEasterEgg(EE_SEWERS, 3);
+ end;
+ }
+ close;
+}
+
+003-1-1,150,140,0 script #SewerDD-TE NPC_NO_SPRITE,{
+ dispbottom l("The sewer mouth is locked.");
+ end;
+}
+
diff --git a/npc/003-1-1/treasure.txt b/npc/003-1-1/treasure.txt
new file mode 100644
index 0000000..59c2364
--- /dev/null
+++ b/npc/003-1-1/treasure.txt
@@ -0,0 +1,61 @@
+// TMW2 Script
+
+// (Random) Treasure Chest
+// Authored by Jesusalva
+// Regenerates every 6 hours
+
+003-1-1,0,0,0 script #chest_003110 NPC_CHEST,{
+
+ if (!.busy && !.empty) {
+ TreasureBox();
+
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ .dir = .dir == 0 ? 2 : 6; // closed ? opening : closing
+ .busy = true; // lock until available again
+ initnpctimer;
+ } else if (!.busy) {
+ mesc l("Someone looted this treasure box already...");
+ } else {
+ end;
+ }
+ close;
+
+OnTimer160:
+ .dir = .dir == 6 ? 0 : 4; // closing ? closed : open
+ end;
+
+OnTimer500:
+ .busy = false; // unlock
+ if (.dir == 0 || .dir == 4)
+ stopnpctimer; // stop here if the chest is closed
+ end;
+
+OnInit:
+ .busy = false;
+ .distance = 2;
+ .empty = false;
+
+OnClock0156:
+OnClock0756:
+OnClock1356:
+OnClock1956:
+ // Try to warp randomly to a walkable spot, up to 20 attempts
+ // Otherwise, it'll stay where it already is (but will close and refill).
+ .@e=0; .@x=0; .@y=0;
+ while (!checkcell(.map$, .@x, .@y, cell_chkpass))
+ {
+ if (.@e == 20) {
+ .@x=.x;
+ .@y=.y;
+ break;
+ }
+ // Remember the +20 -20 margin adjustment
+ .@x = rand(20, 160);
+ .@y = rand(20, 150);
+ ++.@e;
+ }
+ .busy=false;
+ .empty=false;
+ movenpc .name$, .@x, .@y, 0;
+ end;
+}
diff --git a/npc/003-1-1/yetiking.txt b/npc/003-1-1/yetiking.txt
new file mode 100644
index 0000000..55d2d89
--- /dev/null
+++ b/npc/003-1-1/yetiking.txt
@@ -0,0 +1,167 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Celestia Yeti King's quest. Designed so if you're with 4 players, all 4 can
+// summon the Yeti King, helping you while doing the quest by themselves.
+
+// Notes:
+// $@GM_OVERRIDE
+// Only possible with @set command, overrides the co-op requeriment.
+
+
+003-1-1,94,21,0 script #DahYetiKing NPC_SUMMONING_CIRC,{
+ .@q=getq(HurnscaldQuest_Celestia);
+ if (.@q > 1 && .@q < 99)
+ setq HurnscaldQuest_Celestia, 1;
+ if (.@q == 1 && !.inUse) goto L_Summon;
+ if (!.@q) dispbottom l("I do not know how to trigger this summoning circle.");
+ end;
+
+L_Summon:
+ if (countitem(EverburnPowder) < 1 && $EVENT$ != "Celestia") {
+ dispbottom l("I need to pour the @@ to summon the Yeti King.", getitemlink(EverburnPowder));
+ end;
+ }
+ if (getareausers("003-1-1", 5) < 2 && !$@GM_OVERRIDE) {
+ dispbottom l("I cannot be alone to summon the Yeti King.");
+ end;
+
+ }
+ if ($EVENT$ != "Celestia")
+ delitem EverburnPowder, 1;
+ dispbottom l("Emoc otem itey gnik!"); // come to me yeti king, spelled backwards. Sorry.
+ callfunc "FYE_Olympics_CH";
+ .inUse=1;
+ addtimer(9000, "#DahYetiKing::OnSummonTalk");
+ initnpctimer;
+ end;
+
+L_Die:
+ npctalk3 l("You're playing with fire. Or ice. Or whatever.");
+ percentheal(-80, -100);
+ closedialog;
+ close;
+
+OnTimer1000:
+ setnpcdisplay .name$, NPC_YETI_KING;
+ end;
+
+OnTimer2000:
+ npctalk("Whom dares to disturb my slumber?!");
+ end;
+
+OnTimer5000:
+ if (getareausers("003-1-1", 5) < 2 && !$@GM_OVERRIDE) {
+ npctalk("A lone adventurer? Pft. I'm back to my slumber!");
+ .inUse=2;
+ } else {
+ npctalk("You're courageous to summon me, I'll give you that.");
+ }
+ end;
+
+// Now we check if time ran out (standard inUse) because cowardice, or if you tried
+// to do the quest alone. And this is a Co-Op quest with free player numbers.
+// Therefore, we must return the Yeti King to his summon circle.
+OnTimer8000:
+ if (.inUse == 2) {
+ setnpcdisplay .name$, NPC_SUMMONING_CIRC;
+ .inUse=0;
+ stopnpctimer;
+ }
+ end;
+
+OnTimer60000:
+ if (.inUse == 1) {
+ setnpcdisplay .name$, NPC_SUMMONING_CIRC;
+ .inUse=0;
+ stopnpctimer;
+ }
+ end;
+
+// You can only talk to him with SummonTalk. Only one player will summon.
+OnSummonTalk:
+ if (!.inUse)
+ end;
+
+ .@q=getq(HurnscaldQuest_Celestia);
+ // If you had to return, erase quest progress
+ if (.@q > 1 && .@q < 99)
+ setq HurnscaldQuest_Celestia, 1;
+
+ if (.@q != 1)
+ end;
+ mesn l("Dah Yeti King!!");
+ mesq l("Why do you summon me? Speak.");
+ mes "";
+ select
+ l("I'm sorry, these words just came to my mind."),
+ l("I did not summon you, I'm just a passer-by. Sorry."),
+ rif(.@q == 1, l("Celestia asks for your help."));
+
+ mes "";
+
+ if (@menu == 1)
+ goto L_Die;
+ if (@menu == 2)
+ close;
+
+ mesn l("Dah Yeti King!!");
+ mesq l("Yeah yeah yeah, you're not the first one to come talking about that to me.");
+ next;
+ mesn l("Dah Yeti King!!");
+ mesq l("My answer is still a no, and it won't change. Don't test my patience any further.");
+ next;
+ select
+ l("You'll come with me!"),
+ l("I can prove you my worth!"),
+ l("Sorry! Sorry!");
+
+ mes "";
+ if (@menu == 1)
+ goto L_Die;
+ if (@menu == 3)
+ close;
+ if (BaseLevel < 35 && !countitem(MirrorLakeArmor)) {
+ mesn l("Dah Yeti King!!");
+ mesq l("You? Have you ever looked in the mirror? You're not even level 35. Begone.");
+ close;
+ }
+
+ mesn l("Dah Yeti King!!");
+ mesq l("Well, then I'll give you a task. We may meet again in Soren Village.");
+ next;
+ mesn l("Dah Yeti King!!");
+ mesq l("I'll warp you to the Cave Of Trials. Pass all trials, and meet me on Soren's House. Hahah!");
+ setq HurnscaldQuest_Celestia, 2;
+ @YetiKing_Challenger=1;
+ areatimer "003-1-1", 93, 20, 97, 25, 15000, "#DahYetiKing::OnWarper";
+ npctalk l("Listen to me! Whoever wants to follow foolish @@ on their suicide quest, stay here for 15 seconds!", strcharinfo(0));
+ close;
+
+OnWarper:
+ if (ispcdead())
+ end;
+ // If you had to return, erase quest progress
+ if (.@q > 2 && .@q < 99) {
+ @YetiKing_Challenger=0;
+ }
+
+ mesc l("Warp to the Cave Of Trials?");
+ mesc l("There is no EXP penalty, but you cannot go back without either completing the cave, or dying.");
+ mesc l("If you die, you'll need to start over everything again!");
+ if (askyesno() == ASK_YES) {
+ setq HurnscaldQuest_Celestia, 2; // This is a fix
+ warp "001-6", 27, 180;
+ }
+ setnpcdisplay .name$, NPC_SUMMONING_CIRC;
+ .inUse=0;
+ closedialog;
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ .inUse=0; // Prevent multiple summons and etc.
+ end;
+}
diff --git a/npc/003-1-2/_import.txt b/npc/003-1-2/_import.txt
new file mode 100644
index 0000000..6237ae1
--- /dev/null
+++ b/npc/003-1-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 003-1-2: Tulimshar Wall
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-1-2/_mobs.txt",
+"npc/003-1-2/_warps.txt",
diff --git a/npc/003-1-2/_mobs.txt b/npc/003-1-2/_mobs.txt
new file mode 100644
index 0000000..fbebe95
--- /dev/null
+++ b/npc/003-1-2/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-1-2: Tulimshar Wall mobs
+003-1-2,34,36,15,3 monster Black Scorpion 1074,2,35000,150000
diff --git a/npc/003-1-2/_warps.txt b/npc/003-1-2/_warps.txt
new file mode 100644
index 0000000..6fd6be4
--- /dev/null
+++ b/npc/003-1-2/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-1-2: Tulimshar Wall warps
+003-1-2,33,34,0 warp #003-1-2_33_34 0,0,003-1,81,119
+003-1-2,19,34,0 warp #003-1-2_19_34 0,0,003-1,53,119
+003-1-2,48,34,0 warp #003-1-2_48_34 0,0,003-1,116,119
diff --git a/npc/003-1-3/_import.txt b/npc/003-1-3/_import.txt
new file mode 100644
index 0000000..3c6504e
--- /dev/null
+++ b/npc/003-1-3/_import.txt
@@ -0,0 +1,4 @@
+// Map 003-1-3: Magic School's Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-1-3/_mobs.txt",
+"npc/003-1-3/_warps.txt",
diff --git a/npc/003-1-3/_mobs.txt b/npc/003-1-3/_mobs.txt
new file mode 100644
index 0000000..4dc3b00
--- /dev/null
+++ b/npc/003-1-3/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-1-3: Magic School's Cave mobs
+003-1-3,55,58,29,22 monster Cave Snake 1035,11,35000,150000
+003-1-3,56,52,34,19 monster Small Topaz Bif 1101,2,37000,160000
+003-1-3,54,54,54,54 monster Cave Maggot 1027,6,40000,200000
+003-1-3,50,52,22,23 monster Plushroom Field 1011,6,35000,250000
diff --git a/npc/003-1-3/_warps.txt b/npc/003-1-3/_warps.txt
new file mode 100644
index 0000000..a556411
--- /dev/null
+++ b/npc/003-1-3/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-1-3: Magic School's Cave warps
+003-1-3,83,82,0 warp #003-1-3_83_82 0,0,003-1,59,54
+003-1-3,37,86,0 warp #003-1-3_37_86 0,0,003-1,25,46
diff --git a/npc/003-1/_import.txt b/npc/003-1/_import.txt
new file mode 100644
index 0000000..b55813a
--- /dev/null
+++ b/npc/003-1/_import.txt
@@ -0,0 +1,43 @@
+// Map 003-1: Tulimshar
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-1/_mobs.txt",
+"npc/003-1/_warps.txt",
+"npc/003-1/aahna.txt",
+"npc/003-1/aidan.txt",
+"npc/003-1/ched.txt",
+"npc/003-1/constableperry.txt",
+"npc/003-1/eomie.txt",
+"npc/003-1/eugene.txt",
+"npc/003-1/events.txt",
+"npc/003-1/gladys.txt",
+"npc/003-1/hasan.txt",
+"npc/003-1/inac.txt",
+"npc/003-1/inar.txt",
+"npc/003-1/ishi.txt",
+"npc/003-1/itka.txt",
+"npc/003-1/jakod.txt",
+"npc/003-1/jerican.txt",
+"npc/003-1/lieutenantdausen.txt",
+"npc/003-1/magic.txt",
+"npc/003-1/mahoud.txt",
+"npc/003-1/malivox.txt",
+"npc/003-1/mapflags.txt",
+"npc/003-1/mariusthebard.txt",
+"npc/003-1/michel.txt",
+"npc/003-1/neko.txt",
+"npc/003-1/ninathetraveler.txt",
+"npc/003-1/oldwell.txt",
+"npc/003-1/quirino.txt",
+"npc/003-1/sailors.txt",
+"npc/003-1/sarah.txt",
+"npc/003-1/sewer.txt",
+"npc/003-1/ship.txt",
+"npc/003-1/shop.txt",
+"npc/003-1/silvia.txt",
+"npc/003-1/soul-menhir.txt",
+"npc/003-1/swezanne.txt",
+"npc/003-1/taree.txt",
+"npc/003-1/tinris.txt",
+"npc/003-1/town.txt",
+"npc/003-1/wateranimation.txt",
+"npc/003-1/well.txt",
diff --git a/npc/003-1/_mobs.txt b/npc/003-1/_mobs.txt
new file mode 100644
index 0000000..e31299d
--- /dev/null
+++ b/npc/003-1/_mobs.txt
@@ -0,0 +1,20 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-1: Tulimshar mobs
+003-1,0,0,0,0 monster Maggot 1030,65,35000,450000
+003-1,81,103,2,3 monster Croc 1006,1,35000,90000
+003-1,72,70,7,4 monster Piou 1002,2,20000,20000
+003-1,85,136,8,11 monster Duck 1029,2,30000,20000
+003-1,110,145,7,4 monster Giant Maggot 1031,1,30000,20000
+003-1,67,121,2,3 monster Croc 1006,1,35000,90000
+003-1,39,101,8,11 monster Blub 1008,2,35000,150000
+003-1,25,73,8,25 monster Little Blub 1007,7,35000,150000
+003-1,37,70,3,13 monster Toppy Blub 1009,2,35000,150000
+003-1,64,58,4,1 monster Croc 1006,1,35000,90000
+003-1,109,24,9,4 monster Piou 1002,3,30000,20000
+003-1,82,116,9,11 monster Duck 1029,4,30000,20000
+003-1,109,45,12,13 monster Duck 1029,4,30000,20000
+003-1,110,42,4,1 monster Croc 1006,1,35000,90000
+003-1,70,106,6,3 monster Crocotree 1010,2,5000,150000
+003-1,63,76,3,4 monster Croc 1006,1,35000,120000
+003-1,99,75,2,7 monster Croc 1006,1,35000,120000
+003-1,67,27,3,4 monster Four Leaf 1028,1,30000,20000
diff --git a/npc/003-1/_warps.txt b/npc/003-1/_warps.txt
new file mode 100644
index 0000000..a724dd2
--- /dev/null
+++ b/npc/003-1/_warps.txt
@@ -0,0 +1,26 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-1: Tulimshar warps
+003-1,60,157,0 warp #003-1_60_157 4,0,004-1,69,57
+003-1,54,137,0 warp #003-1_54_137 0,0,003-4,39,38
+003-1,70,137,0 warp #003-1_70_137 0,0,003-9,62,135
+003-1,64,130,0 warp #003-1_64_130 0,0,003-9,36,56
+003-1,51,120,0 warp #003-1_51_120 0,0,003-1-2,19,35
+003-1,56,99,0 warp #003-1_56_99 0,0,003-3,39,40
+003-1,46,72,0 warp #003-1_46_72 0,0,003-2,32,40
+003-1,49,72,0 warp #003-1_49_72 0,0,003-2,35,40
+003-1,52,72,0 warp #003-1_52_72 0,0,003-2,38,40
+003-1,51,65,0 warp #003-1_51_65 0,0,003-2,42,34
+003-1,25,45,0 warp #003-1_25_45 0,0,003-1-3,37,85
+003-1,58,54,0 warp #003-1_58_54 0,0,003-1-3,82,82
+003-1,52,35,0 warp #003-1_52_35 1,0,003-0-1,48,51
+003-1,49,23,0 warp #003-1_49_23 0,0,003-0-1,22,25
+003-1,54,23,0 warp #003-1_54_23 0,0,003-0-1,69,24
+003-1,115,88,0 warp #003-1_115_88 0,0,003-8,41,28
+003-1,110,100,0 warp #003-1_110_100 0,0,003-8,31,43
+003-1,116,120,0 warp #003-1_116_120 0,0,003-1-2,48,35
+003-1,81,120,0 warp #003-1_81_120 0,0,003-1-2,33,35
+003-1,111,136,0 warp #003-1_111_136 0,0,003-7,39,40
+003-1,107,132,0 warp #003-1_107_132 0,0,003-7,29,31
+003-1,96,143,0 warp #003-1_96_143 0,0,003-5,38,40
+003-1,106,146,0 warp #003-1_106_146 0,0,003-6,32,38
+003-1,112,146,0 warp #003-1_112_146 0,0,003-6,40,38
diff --git a/npc/003-1/aahna.txt b/npc/003-1/aahna.txt
new file mode 100644
index 0000000..8d88923
--- /dev/null
+++ b/npc/003-1/aahna.txt
@@ -0,0 +1,44 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Pookie
+// Description:
+// This NPC serves no purpose currently. She is here to make Tulimshar more crowded.
+// Now a believer to announce Halinarzo and Alvasus Quest.
+// TODO: During rainy days, she could ask for an Umbrella
+
+003-1,53,128,0 script Aahna NPC_ELVEN_FEMALE,{
+ mesn;
+ mesq l("Hello, What a lovely day for a stroll.");
+ next;
+ mesn;
+ mesq l("I heard every Sunday there's a party at Halinarzo Church, but to get there you need to pass through the Desert Canyon.");
+ next;
+ mesn;
+ mesq l("I hope one day, they decide build a church here. It's a pain to travel there every time...");
+ close;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+
+// Server Happy Hour
+// Used to be Sunday 18:00~20:00
+// Then it is Sunday 16:00~20:00
+// Currently it is the whole weekend
+OnSat0000:
+ if (debug) end;
+ $@EXP_EVENT=10;
+ $@EXP_EVENT_TIME=48;
+ donpcevent "@exprate::OnPlayerCall";
+ end;
+
+OnSun0000:
+ disablenpc .name$;
+ end;
+
+OnMon0000:
+ enablenpc .name$;
+ end;
+}
diff --git a/npc/003-1/aidan.txt b/npc/003-1/aidan.txt
new file mode 100644
index 0000000..400529d8
--- /dev/null
+++ b/npc/003-1/aidan.txt
@@ -0,0 +1,128 @@
+// TMW-2 Script
+// Author: Crazyfefe, Jesusalva
+// Desc: Originally a Tmw script
+
+003-1,95,97,0 script Aidan NPC_PLAYER_TONORI,{
+
+ function Register
+ {
+ mesn l("Aidan, the Monster Guide");
+ mesq l("Oh my, you don't seem to be registered as a Monster Hunting Quest Participant. Would you like to register?");
+ next;
+ mesn l("Aidan, the Monster Guide");
+ mesq l("The register fee is 2000 GP.");
+
+ do
+ {
+ select
+ rif(Zeny >= 2000, l("Register")),
+ rif(Zeny < 2000, l("Where do I get so much money?!")),
+ l("Not at the moment"),
+ l("Information");
+
+ switch (@menu) {
+ case 1:
+ mes "";
+ Zeny=Zeny-2000;
+ MPQUEST=1;
+ mesn l("Aidan, the Monster Guide");
+ mesq l("Give me a second to look over your paperwork.");
+ next;
+ mesn l("Aidan, the Monster Guide");
+ mes l("\"Well, looks like you qualify!");
+ mes l("Welcome to the questing world!\"");
+ close;
+ break;
+ case 2:
+ mes "";
+ mesn l("Aidan, the Monster Guide");
+ mesq l("Sell old equipment and items you won't use. For example, what should you do with a @@ or an @@? Sell it!", getitemlink(Ruby), getitemlink(ScorpionStinger));
+ close;
+ break;
+ case 3:
+ mes "";
+ mesn l("Aidan, the Monster Guide");
+ mesq l("Very well, you don't know what you're missing.");
+ close;
+ break;
+ case 4:
+ mes "";
+ mesn l("Aidan, the Monster Guide");
+ mesq l("You see, because the Monster King, monsters have been running rampant. If they grow too much in numbers, cities may be overrun.");
+ next;
+ mesn l("Aidan, the Monster Guide");
+ mesq l("Therefore, the Alliance created a system so when you kill a monster, depending on its strength, you'll get Monster Points.");
+ next;
+ mesn l("Aidan, the Monster Guide");
+ mesq l("To prevent abuse, a registering fee is charged. Nothing major.");
+ next;
+ mesn l("Aidan, the Monster Guide");
+ mesq l("So whaddaya say, sign up won't you?");
+ next;
+ mes "";
+ Register;
+ break;
+ }
+ } while (@menu != 4);
+ }
+
+ if (BaseLevel < 10) goto L_Weak;
+
+ if (MPQUEST == 0)
+ Register;
+
+ mesn l("Aidan, the Monster Guide");
+ mesq l("You currently have @@ Monster Points. These points are acquired while killing monsters.", Mobpt);
+ if (getq(General_Hunter) == 0 && !GHQUEST) goto L_Register;
+ if (getq(General_Hunter) == 0) goto L_Assign;
+ mes "";
+ goto L_Assign;
+ close; // Will never be reached.
+
+L_Weak:
+ mesn;
+ mesq l("How did you even get here? Go back to Candor, where you belong!");
+ percentheal -20, 0;
+ close;
+
+L_Register:
+ next;
+ mesn;
+ mesq l("The alliance also have a special program, called ##BGrand Hunter Quest##b, where you kill 10,000 of a monster and get great rewards.");
+ next;
+ mesn;
+ mesq l("You can gain rare treasures, even. Come register for this special program. It's free!");
+ if (askyesno() == ASK_YES) {
+ GHQUEST=1;
+ setarray GHMEMO, 0, 0, 0;
+ mesn;
+ mesq l("Registered, welcome to the Grand Hunter Quest!");
+ next;
+ goto L_Assign;
+ } else {
+ mes "";
+ mesn;
+ mesq l("A pity...");
+ close;
+ }
+
+L_Assign:
+ GHQ_Assign(Maggot, "Tulimshar");
+ end;
+
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyesT);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CopperArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 3);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 3);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
+
diff --git a/npc/003-1/ched.txt b/npc/003-1/ched.txt
new file mode 100644
index 0000000..5fb4602
--- /dev/null
+++ b/npc/003-1/ched.txt
@@ -0,0 +1,202 @@
+// TMW2 scripts.
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Ched is from a quest.
+// But as he is now unused, he'll become someone else on summer.
+
+003-1,62,48,0 script Ched NPC_PLAYER_TONORI,{
+ function ValidSSC {
+ return countitem(CactusCocktail)+countitem(CherryCocktail)+countitem(AppleCocktail);
+ }
+ function ScoreSSC {
+ mesc l("All leaderboards are refreshed hourly."), 1;
+ mesc l("Your current score: @@", getq2(SQuest_Ched)), 3;
+ mes "";
+ mes b(l("Top 10 - Summer Ched's Event"));
+ mes("1."+$@ched_name$[0]+" ("+$@ched_value[0]+")");
+ mes("2."+$@ched_name$[1]+" ("+$@ched_value[1]+")");
+ mes("3."+$@ched_name$[2]+" ("+$@ched_value[2]+")");
+ mes("4."+$@ched_name$[3]+" ("+$@ched_value[3]+")");
+ mes("5."+$@ched_name$[4]+" ("+$@ched_value[4]+")");
+ mes("6."+$@ched_name$[5]+" ("+$@ched_value[5]+")");
+ mes("7."+$@ched_name$[6]+" ("+$@ched_value[6]+")");
+ mes("8."+$@ched_name$[7]+" ("+$@ched_value[7]+")");
+ mes("9."+$@ched_name$[8]+" ("+$@ched_value[8]+")");
+ mes("10."+$@ched_name$[9]+" ("+$@ched_value[9]+")");
+ next;
+ }
+ function InfoSSC {
+ mesc l("@@ - @@ point(s)", getitemlink(CactusCocktail), "1");
+ mesc l("@@ - @@ point(s)", getitemlink(CherryCocktail), "3");
+ mesc l("@@ - @@ point(s)", getitemlink(AppleCocktail), "5");
+ next;
+ mes ".:: " + l("Prizes") + " ::.";
+ mes getitemlink(MasterBola);
+ mesc l("Min. Position: ")+l("top 1"), 3;
+ mesc l("Min. Score: "+1000);
+ mes "";
+ mes getitemlink(PiouBola);
+ mesc l("Min. Position: ")+l("top 3"), 3;
+ mesc l("Min. Score: "+1000);
+ mes "";
+ mes getitemlink(SnakeBola);
+ mesc l("Min. Position: ")+l("top 5"), 3;
+ mesc l("Min. Score: "+700);
+ mes "";
+ mes getitemlink(TulimsharBola);
+ mesc l("Min. Position: ")+l("top 7"), 3;
+ mesc l("Min. Score: "+400);
+ mes "";
+ mes getitemlink(PurpleBola);
+ mesc l("Min. Position: ")+l("top 10"), 3;
+ mesc l("Min. Score: "+200);
+ mes "";
+ mes getitemlink(CandorBola);
+ mesc l("Min. Position: ")+l("any"), 3;
+ mesc l("Min. Score: "+100);
+ mes "";
+ mes getitemlink(KidBola);
+ mesc l("Min. Position: ")+l("any"), 3;
+ mesc l("Min. Score: "+25);
+ next;
+ }
+ function DepositSSC {
+ .@pts=.@pts+countitem(CactusCocktail)*1;
+ .@pts=.@pts+countitem(CherryCocktail)*3;
+ .@pts=.@pts+countitem(AppleCocktail)*5;
+
+ delitem CactusCocktail, countitem(CactusCocktail);
+ delitem CherryCocktail, countitem(CherryCocktail);
+ delitem AppleCocktail, countitem(AppleCocktail);
+
+ getexp rand2(.@pts-1, .@pts*11/10), rand2(0,.@pts/25);
+
+ setq2 SQuest_Ched, @ched+.@pts;
+ @ched=getq2(SQuest_Ched);
+ mesc l("Gained @@ points.", .@pts), 3;
+ next;
+ mesc l("Your Score: @@", @ched), 1;
+ mes "";
+ ScoreSSC;
+ closedialog;
+ goodbye;
+ close;
+ }
+
+ // Begin: Ched
+ .@year=getq(SQuest_Ched);
+ if (.@year != (gettime(GETTIME_YEAR)-2000))
+ setq SQuest_Ched, (gettime(GETTIME_YEAR)-2000), 0, 0;
+
+ @ched=getq2(SQuest_Ched);
+ .@claimed=getq3(SQuest_Ched); // Required to prevent rewriting scoreboards
+
+ if (season() == SUMMER && !$@GM_OVERRIDE) goto L_Summer;
+ if ((season() == AUTUMN && !.@claimed)) goto L_Autumn;
+ if (rand(0,10) == 6)
+ npctalk3("I wanted to go to the beach, but I can't find the cave entrance. They told me to look around here... What am I doing wrong?");
+ else
+ hello;
+ end;
+
+// Summer Event
+L_Summer:
+ if (BaseLevel < 25) {
+ mesn;
+ if (rand2(0,10) == 6)
+ mesq l("I wanted to go to the beach, but I can't find the cave entrance. They told me to look around here... What am I doing wrong?");
+ else
+ mesq l("Get Rekt Noob.");
+ close;
+ }
+
+ // Main Core
+ do
+ {
+ mesn;
+ mesc l("Current score: @@", @ched), 1;
+ mesc l("Thus far you have collected @@ @@, @@ @@ and @@ @@.", countitem(CactusCocktail), getitemlink(CactusCocktail), countitem(AppleCocktail), getitemlink(AppleCocktail), countitem(CherryCocktail), getitemlink(CherryCocktail)), 2;
+ mesc l("You can convert these items in event points and claim rewards at autumn."), 2;
+ next;
+ select
+ l("Scoreboards"),
+ l("Information"),
+ rif(ValidSSC(), l("Deposit all")),
+ l("Abort");
+ mes "";
+ if (@menu == 1)
+ ScoreSSC;
+ if (@menu == 2)
+ InfoSSC;
+ if (@menu == 3)
+ DepositSSC;
+
+ } while (@menu < 3);
+ close;
+
+// Summer Quest Claim Rewards Time
+L_Autumn:
+ mesc l("Your Score: @@", @ched), 1;
+ mes "";
+ ScoreSSC;
+
+ // Ensure you have free space on your inv.
+ inventoryplace NPCEyes, 1;
+
+ // Are you entitled for a Boia?
+ if (@ched >= 25) {
+ mesc l("Boias, unlike common shields, does not have any penalty!");
+ mesc l("They are filled with a strange gas which makes they deflect attacks. They are done from a material which cannot be cut easily.");
+ mesc l("They can be a bit lacking in defensive power, however.");
+ mes "";
+ }
+
+ .@pos=array_find($@ched_name$, strcharinfo(0));
+ .@pos=(.@pos >= 0 ? .@pos+1 : 0);
+
+ // Give you the due boia
+ if (.@pos <= 1 && @ched > 1000)
+ getitem MasterBola, 1;
+ else if (.@pos <= 3 && @ched >= 1000)
+ getitem PiouBola, 1;
+ else if (.@pos <= 5 && @ched >= 700)
+ getitem SnakeBola, 1;
+ else if (.@pos <= 7 && @ched >= 400)
+ getitem TulimsharBola, 1;
+ else if (.@pos <= 10 && @ched >= 200)
+ getitem PurpleBola, 1;
+ else if (@ched >= 100)
+ getitem CandorBola, 1;
+ else if (@ched >= 25)
+ getitem KidBola, 1;
+
+ // Give extra on GP and EXP rewards on 2018 Summer due extensive amount of bugs
+ if (gettime(7) == 2018)
+ @ched=@ched*12/10;
+
+ // Give you experience and money reward.
+ // Each cocktail is worth 15~30 gp, so we'll give 10 GP per point
+ Zeny+=@ched*10;
+ getexp BaseLevel*@ched, @ched;
+
+ // The quest is complete for the year.
+ setq3 SQuest_Ched, 1;
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, SamuraiHelmet);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SilkRobe);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyesT);
+ setunitdata(.@npcId, UDT_WEAPON, CandorBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 17);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/003-1/constableperry.txt b/npc/003-1/constableperry.txt
new file mode 100644
index 0000000..6108095
--- /dev/null
+++ b/npc/003-1/constableperry.txt
@@ -0,0 +1,111 @@
+// TMW2 Scripts.
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Constable Perry invites players to the TMW2 Project
+// Part of the THIEF/MERCHANT branches
+
+003-1,47,75,0 script Constable Perry NPC_MOUBOO,{
+ if (getequipid(EQI_HEAD_TOP) == AFKCap) goto L_Quest;
+
+L_Intro:
+ mesn;
+ mesq l("Hello there! I am a constable. I keep law and order here.");
+ next;
+ mesq l("Yes, I am a mouboo. Why? Can't a mouboo be a law and order enforcer?!");
+ next;
+ mesq l("Have you ever felt stuck? Lost? Didn't know about a quest, or an item is troubling you?");
+ mesq l("Have no idea where in the world you are? Or what a certain foe drops, or if you should even dare to challenge it?");
+ next;
+ mesn;
+ mesq l("Fear not! You can check our [@@https://wiki.moubootaurlegends.org|Wiki@@] to find that and other awesome stuff!");
+ mesc l("(To see the rules, use ##B@rules##b.)");
+ next;
+ mesq l("You can even join the project there. Contributors are greatly appreciated! %%N");
+ close;
+
+L_Quest:
+ // Quest Requirement of 48 hours or idle before speaking for 60 min
+ if (AFKING < 57600 && checkidle() < 3600) {
+ npctalkonce l("What's that? They seem to be AFK but are not?");
+ if (.@touchevent)
+ end;
+ else
+ goto L_Intro;
+ }
+ // No warning given
+ if (!@afkbotwarned) {
+ mesn;
+ mesq l("Stop right there, miscreant. I can see you're AFK, it is written on your hat!");
+ next;
+ mesn;
+ mesq l("Moving while AFK is botting! I'll send you to a %s if you move while AFK! ##BYOU HAVE BEEN WARNED!##b", b(l("cold, bleak and isolated cell")));
+ @afkbotwarned=true;
+ close;
+ }
+ // Now you've done it!
+ if (@afkbotwarned)
+ goto L_NowYouHaveDoneIt;
+ close;
+
+L_NowYouHaveDoneIt:
+ mesn;
+ mesq l("##BNOW YOU HAVE DONE IT!##b By the powers to me vested as a Constable and Game Master, I sentence you to HALF AN HOUR IN A %s!", b(strtoupper(l("cold, bleak and isolated cell"))));
+ next;
+ mesn;
+ mesq l("Do you have any last wishes before being JAILED for your CRIMES?!");
+ next;
+ select
+ l("Please tell my mom I love her!"),
+ l("Pinkies forever! Oh yeah!"),
+ l("I did nothing wrong! I am not AFK!"),
+ l("Can I have a Blanket, at least?"),
+ l("Please tell everyone I am a rogue person who likes to break rules!"),
+ l("I am a thief! I want to repent for my sins!"),
+ l("No, sir.");
+ mes "";
+ mesn;
+ switch (@menu) {
+ case 2:
+ mesq l("Hmph, you are the second activist I see today! TO THE BRIG!");
+ break;
+ case 3:
+ mesq l("Every bot says that.");
+ break;
+ case 4:
+ .@q=getq(FrostiaQuest_AFKCap);
+ if (.@q == 2) {
+ mesq l("Uh, sure. We mouboos are not cruel. But it might not be your size.");
+ getitem Blanket, 1;
+ setq1 FrostiaQuest_AFKCap, 3;
+ } else {
+ mesq l("This is not the first time you've been arrested for AFK botting, so, ##BNO!##b");
+ }
+ break;
+ case 5:
+ mesq l("Hmph, that would only incite bad behavior! No way!");
+ break;
+ case 6:
+ mesq l("You have no proof that you have robbed vaults or sided with Ben Parkison, the Thieves Guild Master.");
+ break;
+ default:
+ mesq l("...");
+ break;
+ }
+ atcommand("@jailfor 30mn "+strcharinfo(0));
+ dispbottom l("Use %s to see how long you need to wait.", b("@jailtime"));
+ close;
+
+OnTouch:
+ .@touchevent=true;
+ if (getequipid(EQI_HEAD_TOP) == AFKCap)
+ goto L_Quest;
+ end;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/003-1/eomie.txt b/npc/003-1/eomie.txt
new file mode 100644
index 0000000..8cf7f68
--- /dev/null
+++ b/npc/003-1/eomie.txt
@@ -0,0 +1,97 @@
+// TMW2 Script
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Part of Anwar Field quest
+// Notes: Eomie did the bug bomb at Candor
+
+003-1,68,24,0 script Eomie NPC_ELF_F,{
+ .@q=getq(TulimsharQuest_AnwarField);
+ if (.@q == 10) goto L_Gift;
+ if (.@q == 7) goto L_FirstAid;
+ if (.@q == 1) goto L_NotMe;
+
+ hello;
+ end;
+
+L_NotMe:
+ mesn strcharinfo(0);
+ mesq l("Hello Ms. Eomie, kind sir Anwar sent me to fetch some fertilizers to save Tulimshar from famine, if you may?");
+ next;
+ mesn;
+ mesq lg("Sorry kind lady @@, but no.", "Sorry kind sir @@, but no.", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("Or rather, I can't. I would love to help you, just like everybody else, but I don't know how to make fertilizers.");
+ next;
+ mesn;
+ mesq l("Tinris probably could do that, he is young but very talented. He is a greedy elf, but if you help him, he'll likely help you back.");
+ setq TulimsharQuest_AnwarField, 2;
+ close;
+
+L_FirstAid:
+ mesn;
+ mesq l("The crops are under attack? That's terrible!");
+ next;
+ mesn;
+ mesq l("I can do a bug bomb right away, but I still need a few things for it!");
+ next;
+ mesn;
+ mesq l("Do you, perchance, have 2 @@ and 3 @@?", getitemlink(ScorpionClaw), getitemlink(Moss));
+ if (askyesno() != ASK_YES)
+ close;
+ mes "";
+
+ if (countitem(ScorpionClaw) < 2 ||
+ countitem(Moss) < 3) {
+ mesn;
+ mesq l("The situation is too serious to you be lying... Please, go fetch the items...");
+ close;
+ }
+
+ delitem ScorpionClaw, 2;
+ delitem Moss, 3;
+ setq TulimsharQuest_AnwarField, 8;
+
+ mesn;
+ mesq l("Quick, deliver this to Anwar!");
+ close;
+
+
+L_Gift:
+ .@q2=getq2(TulimsharQuest_AnwarField);
+ if (.@q2 & 2) {
+ mesn;
+ mesq l("Thanks for the nice gift!");
+ close;
+ }
+ // Tip. WHAT DID YOU DID WITH THE BOUND ITEM? IT SHOULD BE HARD TO GET RID OF IT...
+ if (countitem(TortugaShell) < 1) {
+ mesn;
+ mesq l("Ah, I wish I got something for helping people out...");
+ close;
+ }
+ mesn strcharinfo(0);
+ mesq l("Anwar sent you this, erm, hum... @@.", getitemlink(TortugaShell));
+ next;
+ setq2 TulimsharQuest_AnwarField, .@q2+2;
+ delitem TortugaShell, 1;
+ getexp 75, 10;
+ mesn;
+ mesq l("WOW, THIS IS AWESOME! Many, many thanks!!");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ //setunitdata(.@npcId, UDT_HEADTOP, PinkieHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, ValentineDress);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers);
+ //setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 10);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 12);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/003-1/eugene.txt b/npc/003-1/eugene.txt
new file mode 100644
index 0000000..4891dc0
--- /dev/null
+++ b/npc/003-1/eugene.txt
@@ -0,0 +1,173 @@
+// TMW2 scripts.
+// Authors:
+// Reid
+// Travolta
+// Saulc
+// Description:
+// Fishman NPC
+// Quest variable:
+// TulimsharQuests_Fishman
+// Quest stages:
+// 0 - not started
+// 1 - Eugene asked for items
+// 2 - completed
+
+003-1,80,127,0 script Eugene NPC_EUGENE,{
+
+ narrator S_LAST_NEXT,
+ l("You see a raijin boy, sitting on the edge of the dock."),
+ l("He's holding a fishing rod, while gazing out at the sea.");
+
+ .@q = getq(TulimsharQuests_Fishman);
+ if (.@q == 1) goto L_CheckItems;
+ if (.@q == 2) goto L_QuestDone;
+
+ speech S_LAST_BLANK_LINE,
+ l("Ahoi."),
+ l("Hey, check out my brand new fishing rod. I bought it just today."),
+ l("I was so excited, I wanted to try it as soon as possible."),
+ l("So in a hurry, I forgot to take enough bait for fishing."),
+ lg("Be a friend and bring me @@ @@.", "Be a friend and bring me @@ @@.", .BaitCount, getitemlink(.BaitID));
+
+ switch (select(l("I'll be back in no time."),
+ l("Sorry, I'm doing other things at the moment.")))
+ {
+ case 1:
+ setq TulimsharQuests_Fishman, 1;
+ speech S_FIRST_BLANK_LINE,
+ l("Thank you. I'll wait here.");
+ next;
+ mesc l("Protip: @@ are dropped by @@. That monster helps each other, so don't attack when they are in packs.", getitemlink(.BaitID), getmonsterlink(LittleBlub));
+ close;
+ case 2:
+ speech S_FIRST_BLANK_LINE,
+ l("But I'm almost out of @@...", getitemlink(.BaitID));
+ close;
+ }
+
+L_CheckItems:
+ if (countitem(.BaitID) < .BaitCount)
+ {
+ speech
+ l("Sorry, but you don't have what I need."),
+ l("I need @@ @@.", .BaitCount, getitemlink(.BaitID));
+ close;
+ }
+
+ speech
+ l("That's exactly what I needed!"),
+ l("To thank you, accept my old fishing rod."),
+ l("It's not as good as my new one, but still very useful."),
+ l("Just look at that water! There's a whole bunch of fish down there."),
+ l("Oh, and you will need this book too, it will help you learn the basics of fishing."),
+ lg("You might even get lucky, and get a @@.",
+ "You might even get lucky, and get a @@.", getitemlink(GrassCarp)),
+ l("Have a good time fishing!");
+
+ delitem .BaitID, .BaitCount;
+ getitem FishingRod, 1;
+ getitem FishingGuideVolI, 1;
+ getexp 62, 5;
+ setq TulimsharQuests_Fishman, 2, 99, gettimeparam(GETTIME_DAYOFMONTH);
+ close;
+
+L_QuestDone:
+ // Time check/fix
+ .@q3=getq3(TulimsharQuests_Fishman);
+ if (.@q3 < gettimeparam(GETTIME_DAYOFMONTH))
+ setq TulimsharQuests_Fishman, 2, 0, gettimeparam(GETTIME_DAYOFMONTH);
+
+ .@maxcarps=1+(BaseLevel/8);
+ .@q2=getq2(TulimsharQuests_Fishman);
+ // Idea for future: Eugene telling fishman jokes.
+ speech
+ l("Ahoy, @@!", strcharinfo(0)),
+ l("Are the fish biting today?");
+
+ select
+ l("Yes, everything is going great, thank you!"),
+ l("Actually, I have bad luck. Could you sell me a box full of fresh fish?");
+
+ switch (@menu) {
+ case 1:
+ if (.@q2 < .@maxcarps)
+ goto L_Sidequest;
+ speech S_FIRST_BLANK_LINE,
+ l("Glad to hear. I swear, the fish I picked before you arrive was THAT big!");
+ close;
+ case 2:
+ speech S_FIRST_BLANK_LINE,
+ l("Earlier I hadn't any, but now that I have the baits, I will be glad to sell some to you!");
+ npcshopattach(.name$);
+ openshop;
+ closedialog;
+ }
+ close;
+
+L_Sidequest2:
+ mesn;
+ mesc l("Eugene bows politely, but he thinks he can use more.");
+ goto L_SidequestSub;
+
+L_Sidequest:
+ mesn;
+ mesq l("Maybe I'm using a too low quality bait, I can't fish %s.", getitemlink(GrassCarp));
+ next;
+
+L_SidequestSub:
+ mesn;
+ mesq l("I offer you %d GP for one. What do you say?", .SuperPrice);
+ if (!countitem(GrassCarp))
+ close;
+ if (askyesno() == ASK_NO)
+ close;
+ delitem GrassCarp, 1;
+ Zeny+=.SuperPrice;
+ setq2 TulimsharQuests_Fishman, .@q2+1;
+ .@q2=getq2(TulimsharQuests_Fishman);
+
+ // Maybe you can repeat, if so, do this immediately
+ if (.@q2 < .@maxcarps)
+ goto L_Sidequest2;
+
+ // Maxed for the day, give you a hint
+ mesn;
+ mesq l("Thanks. Maybe I should stop using Maggot Slime as a bait.");
+ close;
+
+OnInit:
+ .BaitID = SmallTentacles;
+ .BaitCount = 10;
+ // 600% profit (normal is 500%, but fishing is harder)
+ .SuperPrice = getiteminfo(GrassCarp, ITEMINFO_SELLPRICE)*6;
+
+ tradertype(NST_MARKET);
+ sellitem SmallFishingNet, -1, 1;
+ sellitem FishBox, -1, 5;
+ sellitem CommonCarp, -1, 3;
+
+ .sex = G_MALE;
+ .distance = 6;
+ end;
+
+OnClock0611:
+OnClock1200:
+OnClock1801:
+OnClock0003:
+ restoreshopitem SmallFishingNet, 1;
+ restoreshopitem FishBox, 5;
+ restoreshopitem CommonCarp, 3;
+ end;
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+}
+
diff --git a/npc/003-1/events.txt b/npc/003-1/events.txt
new file mode 100644
index 0000000..d6843d1
--- /dev/null
+++ b/npc/003-1/events.txt
@@ -0,0 +1,499 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Controls events, part of Aurora Event System
+//
+// See also: functions/aurora.txt, functions/seasons.txt, command/event.txt,
+// event.txt, functions/soulmenhir.txt and, of course, the event maps (if any).
+//
+// Script Variables:
+// Q_AuroraEvent
+// Quest Variable: FYEVENT_CYCLE, Score, ClaimedControl
+//
+// TODO: Use duplicate() command to make it available in other towns as well
+
+// Easter
+003-1,47,53,0 script Aurora NPC_FEMALE,{
+ function handleEaster;
+ function handleValentine;
+ function handleStPatrick;
+
+ // Aurora Event functions
+ function auroraRankings;
+ function auroraCurrentRankings;
+ function auroraSubmit;
+ function auroraListRewards;
+
+ // Handle annuals
+ //.@v_stday = getvariableofnpc(.valentine_stday, "#EventCore");
+ //.@v_stmon = getvariableofnpc(.valentine_stmon, "#EventCore");
+ .@v_endday = getvariableofnpc(.valentine_endday, "#EventCore");
+ .@v_endmon = getvariableofnpc(.valentine_endmon, "#EventCore");
+
+ //.@e_stday = getvariableofnpc(.easter_stday, "#EventCore");
+ //.@e_stmon = getvariableofnpc(.easter_stmon, "#EventCore");
+ .@e_endday = getvariableofnpc(.easter_endday, "#EventCore");
+ .@e_endmon = getvariableofnpc(.easter_endmon, "#EventCore");
+
+ .@dy=gettime(GETTIME_DAYOFMONTH);
+ .@mo=gettime(GETTIME_MONTH);
+
+ // Debug Overrides
+ if ($@DEBUG_OD)
+ .@dy=$@DEBUG_OD;
+ if ($@DEBUG_OM)
+ .@mo=$@DEBUG_OM;
+
+ // Annual rewards can only be claimed until the month ends
+ if ($EVENT$ == "Patrick")
+ handleStPatrick();
+ else if (.@mo == .@v_endmon && .@dy > .@v_endday)
+ handleValentine();
+ else if (.@mo == .@e_endmon && .@dy > .@e_endday)
+ handleEaster();
+
+ // Another event is going on, smoothly handle it
+ if ($EVENT$ != "")
+ goto L_Aurora;
+ else
+ mesc l("Currently, there is no event going on."), 1;
+ close;
+
+
+// OnRestore causes OnInit to start again
+OnRestore:
+ setnpcdisplay .name$, "Aurora", NPC_FEMALE;
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, MiniSkirt);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, RedStockings);
+ //setunitdata(.@npcId, UDT_HEADBOTTOM, BlueRoseHat);
+ setunitdata(.@npcId, UDT_WEAPON, UglyChristmasSweater); // (Blue) Bathrobe?
+ setunitdata(.@npcId, UDT_HAIRSTYLE, any(8, 8, 8, 20, 20, 11));
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 7);
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+
+// Override for Valentine Day - There should be no Aurora
+OnValentine:
+ .@npcId = getnpcid(.name$);
+ setnpcdisplay .name$, "Demure#ValentineFinal", NPC_FEMALE;
+ //.@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, Cap);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, RedStockings);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, BunnyEars);
+ setunitdata(.@npcId, UDT_WEAPON, GMRobe);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 14);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 18);
+ end;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/////////////////////////////////////////////////////////////////////////////////
+function handleEaster {
+ // Handle rewards before anything else
+ if (EASTER_YEAR != gettime(GETTIME_YEAR)) {
+ EASTER_YEAR=gettime(GETTIME_YEAR);
+ if (strcharinfo(0) == $@easter_name$[0]) {
+ makepet BhopFluffy;
+ mesn;
+ mesc l("For the first place in Easter, you gained a Bhopper Fluffy."), 3;
+ mesc l("Remember to give it a balanced diet of Aquadas to make it happy."), 3;
+ next;
+ } else {
+ .@pos=array_find($@easter_name$, strcharinfo(0));
+ // 0 (aka top 1) is not an appliable winner
+ if (.@pos > 0) {
+ // Reverse it so top 10 value is 2, and top 2 value is 10.
+ .@pos=11-.@pos;
+ getitem StrangeCoin, .@pos*10;
+ }
+ }
+ }
+ mesn;
+ mesq l("Easter is over! I am the last chance to get rid of eggs!!");
+ mesc l("Note: Golden and Silver Eggs are deleted after the next event end."), 1;
+ // Heartbeat
+ select
+ l("Trade Silver Eggs"),
+ l("Trade Golden Eggs"),
+ l("View LeaderBoard"),
+ l("Thanks Lilica.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ openshop "#eastershop1";
+ closedialog;
+ break;
+ case 2:
+ openshop "#eastershop2";
+ closedialog;
+ break;
+ case 3:
+ mesn l("Easter @@", gettime(GETTIME_YEAR));
+ mes("1."+$@easter_name$[0]+" ("+$@easter_value[0]+")");
+ mes("2."+$@easter_name$[1]+" ("+$@easter_value[1]+")");
+ mes("3."+$@easter_name$[2]+" ("+$@easter_value[2]+")");
+ mes("4."+$@easter_name$[3]+" ("+$@easter_value[3]+")");
+ mes("5."+$@easter_name$[4]+" ("+$@easter_value[4]+")");
+ mes("6."+$@easter_name$[5]+" ("+$@easter_value[5]+")");
+ mes("7."+$@easter_name$[6]+" ("+$@easter_value[6]+")");
+ mes("8."+$@easter_name$[7]+" ("+$@easter_value[7]+")");
+ mes("9."+$@easter_name$[8]+" ("+$@easter_value[8]+")");
+ mes("10."+$@easter_name$[9]+" ("+$@easter_value[9]+")");
+ break;
+ }
+ return;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/////////////////////////////////////////////////////////////////////////////////
+function handleValentine {
+ mesn;
+ mesq l("Valentine Day is over!");
+ next;
+ mes "##B"+l("Top 10 - Valentine Day")+"##b";
+ mes("1." +$@valentine_name$[0]+" ("+$@valentine_value[0]+")");
+ mes("2." +$@valentine_name$[1]+" ("+$@valentine_value[1]+")");
+ mes("3." +$@valentine_name$[2]+" ("+$@valentine_value[2]+")");
+ mes("4." +$@valentine_name$[3]+" ("+$@valentine_value[3]+")");
+ mes("5." +$@valentine_name$[4]+" ("+$@valentine_value[4]+")");
+ mes("6." +$@valentine_name$[5]+" ("+$@valentine_value[5]+")");
+ mes("7." +$@valentine_name$[6]+" ("+$@valentine_value[6]+")");
+ mes("8." +$@valentine_name$[7]+" ("+$@valentine_value[7]+")");
+ mes("9." +$@valentine_name$[8]+" ("+$@valentine_value[8]+")");
+ mes("10."+$@valentine_name$[9]+" ("+$@valentine_value[9]+")");
+
+ if (#VALENTINE_SENT+#VALENTINE_OPENED <= 0)
+ return;
+ next;
+
+ // Handle rewards
+ #VALENTINE_SENT=0;
+ #VALENTINE_OPENED=0;
+ #VALENTINE_RECEIVED=0;
+ copyarray(.@name$[0], $@valentine_name$[0], 10);
+ if (strcharinfo(0) == .@name$[0]) {
+ makepet DoggyDog;
+ getitem PrismGift, 1;
+ getitem StrangeCoin, 10;
+ } else if (strcharinfo(0) == .@name$[1] || strcharinfo(0) == .@name$[2]) {
+ getitem PrismGift, 1;
+ getitem GoldenGift, 1;
+ getitem StrangeCoin, 10;
+ } else if (strcharinfo(0) == .@name$[3] || strcharinfo(0) == .@name$[4]) {
+ getitem GoldenGift, 1;
+ getitem SilverGift, 1;
+ getitem StrangeCoin, 10;
+ } else if (strcharinfo(0) == .@name$[5] || strcharinfo(0) == .@name$[6]) {
+ getitem SilverGift, 1;
+ getitem BronzeGift, 1;
+ getitem StrangeCoin, 10;
+ } else if (strcharinfo(0) == .@name$[7] || strcharinfo(0) == .@name$[8] || strcharinfo(0) == .@name$[9]) {
+ getitem BronzeGift, 1;
+ getitem StrangeCoin, 10;
+ } else {
+ getitem StrangeCoin, 5;
+ }
+
+ getexp #VALENTINE_SENT+#VALENTINE_RECEIVED, #VALENTINE_SENT;
+ Zeny=Zeny+#VALENTINE_OPENED;
+
+ if (strcharinfo(0) == .@name$[0])
+ mesc l("You gained a @@ for the #1 place on the event. Remember to feed it @@, or it may run away from you.", getitemlink(DoggyDog), getitemlink(AnimalBones));
+ return;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/////////////////////////////////////////////////////////////////////////////////
+function handleStPatrick {
+ // Check if St. Patrick day is over D:
+ if ($EVENT$ != "Patrick")
+ goto OnRestore;
+ // Okay, it is still St. Patrick :3
+ mesn;
+ mesc l("It's St. Patrick Event!"), 3;
+ mes l("At 00:00, 06:00, 12:00, 15:00, 18:00 and 21:00 server time");
+ mes l("Several special clovers will show up at forests.");
+ next;
+ mes l("They have 10x more chance to drop a @@, so it is a great deal!", getitemlink(FourLeafClover));
+ mes l("Also, hidden in a forest which is not hot nor cold, is the Gold Pot Cauldron...");
+ mes l("You can get daily something from it, but unless you're green like me, you will have no luck...");
+ next;
+ return;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/////////////////////////////////////////////////////////////////////////////////
+L_Aurora:
+ // Define script variables
+ .@WHAT$=l("event");
+
+ // Fill them with specific details, if available
+ if ($EVENT$ == "Expo") {
+ .@WHAT$=l("world expo");
+ } else if ($EVENT$ == "Fishing") {
+ .@WHAT$=l("golden fish hunt");
+ } else if ($EVENT$ == "Kamelot") {
+ .@WHAT$=l("kamelot raid");
+ } else if ($EVENT$ == "Regnum") {
+ .@WHAT$=l("regnum's blessing");
+ } else if ($EVENT$ == "Mining") {
+ .@WHAT$=l("miners union request");
+ } else if ($EVENT$ == "Candor") {
+ .@WHAT$=l("candor battle season");
+ } else if ($EVENT$ == "Celestia") {
+ .@WHAT$=l("yeti king hunt season");
+ } else if ($EVENT$ == "Gemini") {
+ .@WHAT$=l("gemini season");
+ } else if ($EVENT$ == "Rebirth") {
+ .@WHAT$=l("rebirth season");
+ } else if ($EVENT$ == "Tower") {
+ .@WHAT$=l("dream tower apparition");
+ } else if ($EVENT$ == "Raid") {
+ .@WHAT$=l("boss raid");
+ } else if ($EVENT$ == "Olympics") {
+ .@WHAT$=l("magic olympics");
+ }
+
+ mesn;
+ mesq l("Hello! I am Aurora, and I oversee the %s!", .@WHAT$);
+ next;
+ mesn;
+ mesq l("So, how can I help you today?");
+ do
+ {
+ next;
+ select
+ l("Event Details"),
+ l("Event Ranking Rewards"),
+ rif(FYEventUsesRanking(), l("Current Rankings")),
+ rif(FYEventUsesRanking(), l("List & Claim rewards")),
+ l("That's all, thanks!");
+ mes "";
+ switch (@menu) {
+ case 1:
+ EventHelp();
+ if (FYEventUsesRanking()) {
+ mesc l("You must claim all rewards and use any event item BEFORE it ends."), 1;
+ mesc l("Left-overs will be deleted shortly after."), 1;
+ mesc l("Any eventual ranking reward will be sent by the banker's mail."), 1;
+ } else {
+ mesn;
+ mesq l("Have fun!");
+ }
+ break;
+
+ case 2:
+ auroraRankings();
+ break;
+
+ case 3:
+ auroraCurrentRankings();
+ break;
+
+ case 4:
+ auroraSubmit();
+ auroraListRewards();
+ break;
+
+ default:
+ close;
+ }
+ // The code block is done
+ } while (true);
+close;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/////////////////////////////////////////////////////////////////////////////////
+function auroraRankings {
+ setnpcdialogtitle l("Aurora Events")+" - "+$EVENT$;
+ setskin "aurora_"+$EVENT$;
+ mes "There is no ranking information available for this event.";
+ select("Ok");
+ setskin "";
+ clear;
+ auroraCurrentRankings(); // More to silence a bug than whatelse
+ return;
+}
+
+
+function auroraCurrentRankings {
+ if (FYEventUsesRanking()) {
+ HallOfAurora();
+ } else {
+ mesn;
+ mesq l("Personally, I like unranked events more than ranked ones...");
+ }
+ return;
+}
+
+
+function auroraListRewards {
+ .@s=getq2(Q_AuroraEvent);
+ .@r=getq3(Q_AuroraEvent);
+ mesn;
+ freeloop(true);
+ for (.@i=0; .@i < getarraysize($FYREWARD_PT); .@i++) {
+ mes l("%s %d pts - %d %s",
+ (.@r > .@i ? "%%A" : (.@r == .@i ? "%%E" : "%%B")), // Status Indicator
+ $FYREWARD_PT[.@i], $FYREWARD_AM[.@i], getitemlink($FYREWARD_ID[.@i]));
+ // You're at this milestone? Hmm
+ if (.@r == .@i) {
+ // Your score is enough: rank you up
+ if (.@s >= $FYREWARD_PT[.@i]) {
+ inventoryplace $FYREWARD_ID[.@i], $FYREWARD_AM[.@i];
+ getitem $FYREWARD_ID[.@i], $FYREWARD_AM[.@i];
+ .@r+=1;
+ setq3 Q_AuroraEvent, .@r;
+ }
+ }
+ }
+ freeloop(false);
+ return;
+}
+
+
+function auroraSubmit {
+ .@q2=getq2(Q_AuroraEvent);
+ FYE_Submit();
+ mesc l("Event score: %d -> %d", .@q2, getq2(Q_AuroraEvent));
+ return;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+// DO NOT REMOVE
+}
+
diff --git a/npc/003-1/gladys.txt b/npc/003-1/gladys.txt
new file mode 100644
index 0000000..2262b92
--- /dev/null
+++ b/npc/003-1/gladys.txt
@@ -0,0 +1,99 @@
+// Author:
+// Jesusalva
+
+003-1,63,105,0 script Gladys NPC_FEMALE_TONORI,{
+
+ mesn;
+ mesq l("Hello darling. The Alliance sucks, but don't tell anyone I told you that.");
+ mes "";
+ menu
+ l("What is the Alliance?"), L_What,
+ l("Why does it suck?"), L_Why,
+ l("Well, too bad!"), L_Close;
+
+L_What:
+ mes "";
+ mesn;
+ mesq l("What Alliance? The Alliance which rules over the World Of Mana!");
+ next;
+
+L_AllianceMenu:
+ mes "";
+ menu
+ l("Who composes the Alliance?"), L_Members,
+ l("What are the tasks of the Alliance?"), L_Tasks,
+ l("Do you think I could join the Alliance?"), L_Join,
+ l("I have to go. See you later."), L_Close;
+
+L_Why:
+ mes "";
+ mesn;
+ mesq l("Because they control everything! They even determine taxes!");
+ next;
+ mesq l("They also hold control over the Mana Stones, but this is not the problem.");
+ next;
+ mesq l("In the end, they decide the defensive measures, and they even set curfews!");
+ next;
+ mesq l("They also determine rules, and enforce them. We live under a disguised dictatorship.");
+ next;
+ mesq l("But what I really hate is that they forbid gossiping.");
+ next;
+ goto L_AllianceMenu;
+
+L_Members:
+ mes "";
+ mesn;
+ mesq l("Oh, every settlement is part of it. Candor, Tulimshar, Hurnscald, Frostia, Halinarzo, Artis, Nivalis...");
+ next;
+ mesq l("Each settlement names a representative, which forms the Alliance Council. There is also the High Council, and the Magic Council.");
+ next;
+ mesq l("The Magic Council can be found at this city. They are the most powerful mages. If you have an impressive magical affinity, they may entitle you to have access to a Mana Stone.");
+ next;
+ mesq l("The Alliance Council rarely meets. It's thanks to them that the cities are well protected, if you want my opinion.");
+ next;
+ mesq l("The High Council acts in the Alliance stead, as it is not possible to reunite every city leader for all minor matters.");
+ next;
+ mesq l("Saulc, Crazyfefe and Jesus Saves are the three High Councillors. Don't do anything illegal while they're watching!");
+ next;
+ goto L_AllianceMenu;
+
+L_Tasks:
+ mes "";
+ mesn;
+ mesq l("Their main tasks are ensuring fair trading, protecting the cities from monster invasions, and guarding the Mana Stones.");
+ next;
+ mesq l("They also recently took over some city affairs. It's good they're protecting us, but I'm afraid of them creeping into our lives!");
+ next;
+ goto L_AllianceMenu;
+
+L_Join:
+ mes "";
+ mesn;
+ mesq l("Unless you are an exceptionally talented mage or an influentical politician, it is unlikely.");
+ next;
+ mesq l("The High Council's have some subordinates, but those are hand-picked by them.");
+ next;
+ mesq l("You could try getting into a city administration. If you can get a citizenship, you can try to elect for an office.");
+ next;
+ mesq l("Otherwise, you could ask the Constable. They act in the Alliance stead to enforce law and order, and may have... special arrangements for you.");
+ next;
+ goto L_AllianceMenu;
+
+L_Close:
+ mes "";
+ mesq l("Good bye, darling!");
+ close;
+
+OnInit:
+ .@npcId = getnpcid("Gladys");
+ setunitdata(.@npcId, UDT_HEADTOP, TrapperHat); // Whaaaaaaaaat
+ setunitdata(.@npcId, UDT_HEADMIDDLE, ValentineDress);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 20);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 20);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/003-1/hasan.txt b/npc/003-1/hasan.txt
new file mode 100644
index 0000000..658e4d3
--- /dev/null
+++ b/npc/003-1/hasan.txt
@@ -0,0 +1,224 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Hasan is the city bully and steals from the player. He lost his father to a Murderer
+// Scorpion. Will respect player if they kill one. His mother is Sorfina, who
+// explains this and cries that he never touched a Soul Menhir. Allows the player
+// to kill the scorpion on Mahoud's Basement.
+//
+// Player must report theft first to Dausen, who will tell the player that's
+// normal and nobody messes with Hasan, and giving player a pointer that they should
+// tell his mother, Sorfina.
+//
+// Reward: Cotton Short, Hasan won't steal from you anymore.
+//
+// GETQ1 Variable Value;
+// 0 - Hasan has never stolen from the player
+// 1 - Hasan already stole from the player
+// 2 - Dausen pointed player to Sorfina
+// 3 - Sorfina unlocked Mahoud's Basement
+// 4 - Player killed Murderer Scorpion
+// 5 - Quest is complete
+//
+// $HASAN_ST
+// Number of Scorpions killed during Autumn
+// $HASAN_GP
+// Total money Hasan collected for Autumn event
+// $HASAN_LT
+// Previous collected money, for rewards calc
+//
+// PS. $@GM_OVERRIDE will disable Season restrictions, but values from 20/09 and 21/12
+// must be set manually.
+
+// Temporary sprite
+003-1,62,148,0 script Hasan NPC_ELVEN_MAN_RED,2,2,{
+ if (getq(TulimsharQuest_Hasan) == 0) goto L_Safe;
+ if (getq(TulimsharQuest_Hasan) == 4) goto L_Finish;
+ if (getq(TulimsharQuest_Hasan) >= 5) goto L_Complete;
+ mesn strcharinfo(0);
+ mesq l("Give me back what you stole, thief!");
+ next;
+ mesn;
+ mesq l("I stole nothing from you. Do you have any proof?");
+ next;
+ menu
+ l("I have a print screen!"), L_Print,
+ l("No..."), L_Close;
+ close;
+
+L_Away:
+ mesn;
+ mesq l("Hey... Go bother someone else.");
+ close;
+
+L_Print:
+ mes "";
+ mesn;
+ mesq l("Let me analyze that.");
+ mesc l("Hasan takes your print screen and analyzes it.");
+ next;
+ mesn;
+ mesq l("Photoshopped. Definitely. Good luck convincing somebody with that! %%a");
+ next;
+ mesn;
+ mesq l("If you go to Lieutenant Dausen, he'll say that you used GIMP. Just give up.");
+ close;
+
+// TODO
+L_Finish:
+ mesn;
+ // The scorpion and not a scorpion because of dramatic buildup.
+ mesq l("Is that... Wait... Wow. You... Killed the murderer scorpion.");
+ next;
+ mesn;
+ mesq l("I promise I'll never steal from you again. Here, take these shorts.");
+ mesq l("Good job, man!");
+ setq TulimsharQuest_Hasan, 5;
+ getitem CottonShorts, 1;
+ getexp 99, 55;
+ close;
+
+L_Complete:
+ mesn;
+ mesq l("Thanks for avenging my father.");
+ next;
+ mesn;
+ mesq l("I am collecting money for the Yearly Autumn Scorpion Hunter quest.");
+ mesq l("You're, of course, invited. Thus far, the total prize money I've collected is @@ GP.", $HASAN_GP);
+ if (season() == AUTUMN || $@GM_OVERRIDE || is_staff()) {
+ mesq l("You've killed @@ scorpions, and a total of @@ were killed this season.", fnum(getq2(SQuest_Autumn)), fnum($HASAN_ST));
+ mesq l("If the event ended now, you would get @@ GP.", getq2(SQuest_Autumn)*$HASAN_GP/$HASAN_ST);
+ mes "";
+ mesc l("Note: Poll may increase more than total money donated depending on current date.");
+ menuint
+ l("Thanks."), 0,
+ rif(Zeny >= 5, l("Donate 5 GP for prize")), 5,
+ rif(Zeny >= 15, l("Donate 15 GP for prize")), 15,
+ rif(Zeny >= 50, l("Donate 50 GP for prize")), 50,
+ rif(Zeny >= 100, l("Donate 100 GP for prize")), 100,
+ rif(Zeny >= 1000, l("Donate 1k GP for prize")), 1000,
+ rif(Zeny >= 10000, l("Donate 10k GP for prize")), 10000,
+ rif(Zeny >= 25000, l("Donate 25k GP for prize")), 25000,
+ rif(Zeny >= 100000, l("Donate 100k GP for prize")), 100000,
+ rif(Zeny >= 250000, l("Donate 250k GP for prize")), 250000;
+ if (@menuret > 0) {
+ Zeny=Zeny-@menuret;
+ .@poll=@menuret;
+ .@bonus=10000;
+ .@bonus+=rand(gettime(GETTIME_MONTH) == DECEMBER ? 2000 : 4000);
+ .@bonus+=(gettime(GETTIME_MONTH) == DECEMBER ? 0 : 1000);
+ .@poll=.@poll*.@bonus/10000;
+ $HASAN_GP=$HASAN_GP+.@poll;
+ }
+ }
+
+ .@q=getq(SQuest_Autumn);
+ if (season() == WINTER && (.@q == gettime(GETTIME_YEAR) || (.@q == gettime(GETTIME_YEAR)-1 && gettime(GETTIME_MONTH) <= MARCH))) {
+ .@p=getq2(SQuest_Autumn)*$HASAN_LT/$HASAN_ST;
+ mesn l("Summary");
+ mes l("Scorpions killed: @@/@@ scorpions", getq2(SQuest_Autumn), $HASAN_ST);
+ mes l("Total money collected: @@ GP", $HASAN_LT);
+ mesc l("Your prize: %s GP", fnum(.@p)), 2;
+ if (getq2(SQuest_Autumn) > 20)
+ getexp (getq2(SQuest_Autumn)/20), 0;
+ if (.@p >= 1)
+ Zeny+=.@p;
+
+ // Top 5 reward
+ if (strcharinfo(0) == $@hasn_name$[0])
+ getitem SupremeGift, 1;
+ if (strcharinfo(0) == $@hasn_name$[1])
+ getitem PrismGift, 1;
+ if (strcharinfo(0) == $@hasn_name$[2])
+ getitem GoldenGift, 1;
+ if (strcharinfo(0) == $@hasn_name$[3])
+ getitem SilverGift, 1;
+ if (strcharinfo(0) == $@hasn_name$[4])
+ getitem BronzeGift, 1;
+
+ // Quest is closed
+ setq1 SQuest_Autumn, 1970;
+ next;
+ mes ".:: Scoreboards ::.";
+ mesf("1. %s (%d)", $@hasn_name$[0], $@hasn_value[0]);
+ mesf("2. %s (%d)", $@hasn_name$[1], $@hasn_value[1]);
+ mesf("3. %s (%d)", $@hasn_name$[2], $@hasn_value[2]);
+ mesf("4. %s (%d)", $@hasn_name$[3], $@hasn_value[3]);
+ mesf("5. %s (%d)", $@hasn_name$[4], $@hasn_value[4]);
+ }
+ close;
+
+L_TouchComplete:
+ if (@hasan_antiflood < gettimetick(2)) {
+ npctalkonce l("Hey there, @@! Good luck killing monsters!", strcharinfo(0)), 3;
+ @hasan_antiflood=gettimetick(2)+600;
+ }
+ end;
+
+L_Close:
+ close;
+
+OnTouch:
+ if (getq(TulimsharQuest_Hasan) >= 5) goto L_TouchComplete;
+ if (Zeny > 15) goto L_Steal;
+ end;
+
+L_Steal:
+ npctalkonce(l("*whistles*"));
+ if (getq(TulimsharQuest_Hasan) == 0) goto L_DoSteal;
+ if (getq(TulimsharQuest_Hasan) <= 4 && rand(0,100) < 20) goto L_DoSteal;
+ end;
+
+L_DoSteal:
+ .@s=rand(3,12);
+ $HASAN_GP=$HASAN_GP+.@s;
+ Zeny=Zeny-.@s;
+ if (getq(TulimsharQuest_Hasan) == 0)
+ setq TulimsharQuest_Hasan, 1;
+ dispbottom l("##BYou were robbed##b by an evil NPC.");
+ end;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+
+ //npcspeed(150);
+ //npcwalkto(<x>, <y>);
+ end;
+
+// Restart hasan status on 20/09 (double-sure)
+OnDay0920:
+ $HASAN_ST=0;
+ end;
+
+// Once autumn is over (21/12) restart GP poll and send value to backup
+OnDay1221:
+ $HASAN_LT=0+$HASAN_GP;
+ $HASAN_GP=2000+(TOP3AVERAGELVL()*100);
+ end;
+}
+
+function script SQuest_Hasan {
+ if (season() != AUTUMN && !$@GM_OVERRIDE)
+ return;
+ if (getq(SQuest_Autumn) != gettime(GETTIME_YEAR))
+ setq SQuest_Autumn, gettime(GETTIME_YEAR), 0;
+
+ // All scorpions are counting for Hasan Autumn Quest
+ if (
+ killedrid == Scorpion ||
+ killedrid == RedScorpion ||
+ killedrid == BlackScorpion ||
+ killedrid == CandorScorpion ||
+ killedrid == AngryScorpion ||
+ killedrid == AngryRedScorpion ||
+ killedrid == NightScorpion ||
+ killedrid == GoldenScorpion ||
+ killedrid == MurdererScorpion) {
+ setq2 SQuest_Autumn, getq2(SQuest_Autumn)+1;
+ $HASAN_ST=$HASAN_ST+1;
+ }
+ return;
+}
+
diff --git a/npc/003-1/inac.txt b/npc/003-1/inac.txt
new file mode 100644
index 0000000..45cc335
--- /dev/null
+++ b/npc/003-1/inac.txt
@@ -0,0 +1,142 @@
+// TMW2 scripts.
+// Author:
+// Saulc
+// Jesusalva
+// Inac Give a sharp knife for 20 Piou Feathers to player over level 12,
+// before Tycoon give it but only bafter level 18 that was too high !
+
+003-1,55,82,0 script Inac NPC_PLAYER_TONORI,{
+
+ .@Inac = getq(TulimsharQuest_Inac);
+ if (BaseLevel < 12) goto L_TooWeak;
+ if (.@Inac == 1) goto L_Check;
+ if (.@Inac == 2) goto L_Complete;
+
+L_GiveTask:
+ mesn;
+ mesq lg("Hello, wanderer! Welcome to Tulimshar.");
+ next;
+ mesq l("Was it Nard who brought you here?");
+ next;
+
+ menu
+ l("Yeah, Nard's sailors saved my life and brought me here!"), L_Quest,
+ l("I need to go."), L_Quit;
+
+L_Quest:
+ mes "";
+ mesn;
+ mesq l("Quite benevolent, they are. Nard likes to help anyone who works hard. Anyway, there was something important I needed to say.");
+ next;
+ mesn;
+ .@g$=lg("girl", "boy");
+ mesq l("Tulimshar is surrounded by strong monsters. If you go out with your poor equipment, you're going to be dead in no time, @@.", .@g$);
+ tutmes l("You can use \"@monsterinfo <monster name>\" to gauge a monster strength."), l("Protip"), false;
+ next;
+ mesn;
+ mesq l("I probably can give you my Sharp Knife, though! If you want to help me, that is.");
+ next;
+
+ menu
+ l("Really? That would be great!"), L_Start,
+ l("I better do this some other time..."), L_Quit;
+
+
+L_Start:
+ setq TulimsharQuest_Inac, 1;
+ mes "";
+ mesn;
+ mesq l("Well, if you come from Candor, you probably will have some fluffy's yellow feathers. I use them to make pillows.");
+ goto L_List;
+
+L_Quit:
+ mes "";
+ mesn;
+ mesq l("Have a good day, then.");
+ close;
+
+L_List:
+ mes "";
+ mesn;
+ mes l("I can give you my knife if you bring me this:");
+ mes l("@@/20 @@", countitem(PiouFeathers), getitemlink(PiouFeathers));
+ close;
+
+L_Check:
+ mesn;
+ mesq l("Did you brought me the feathers?");
+ next;
+ menu
+ l("Yes! Here you are."), L_Give,
+ l("I forgot what you need!"), L_List,
+ l("Later."), L_Quit;
+
+L_Give:
+ if (
+ countitem(PiouFeathers) < 20
+ ) goto L_Lying;
+
+ inventoryplace SharpKnife, 1;
+
+ delitem(PiouFeathers, 20);
+
+ getitem(SharpKnife, 1);
+ getexp(200, 5);
+ setq(TulimsharQuest_Inac, 2);
+
+ mes "";
+ mesn;
+ mesq l("Enjoy this new weapon, I hope you're successful.");
+ close;
+
+L_Complete:
+ mesn;
+ mesq l("Many stories are told about this city sewers.");
+ next;
+ mesn;
+ mesq l("One of them is really crazy, though: They say that there is a legendary monster down there.");
+ next;
+ mesn;
+ mesq l("That's just nonsense though, I've been there thousands of times and saw no such thing.");
+ if (getq(TulimsharQuest_Sewers) > 0)
+ close;
+ next;
+ mesn;
+ mesq l("Anyway, there's a barrier to prevent monsters from attacking the city from below.");
+ next;
+ mesn;
+ mesq l("To enter on them, you need to be level 25 and use the following chant: \"Blame Saulc\". I don't know why, but that open doors!");
+ setq TulimsharQuest_Sewers, 1;
+ close;
+
+L_Lying:
+ mesn;
+ mesq l("No no no, that's wrong.");
+ next;
+ mesc l("I need more feathers for a fair deal.");
+ next;
+ goto L_List;
+
+L_TooWeak:
+ mesn;
+ mesq l("Hello little kid. Watch out, there's a maggot behind you %%a !");
+ tutmes l("You need at least level %s to do this quest.", b(12)), l("WARNING"), false;
+ close;
+
+OnShout:
+ npctalk3 l("Ahoy! Hey, you, new person! Could you come here?!");
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, Bandana);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, VneckJumper);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 17);
+
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+}
diff --git a/npc/003-1/inar.txt b/npc/003-1/inar.txt
new file mode 100644
index 0000000..79c7753
--- /dev/null
+++ b/npc/003-1/inar.txt
@@ -0,0 +1,46 @@
+// TMW2 Script
+// Author:
+// Saulc
+
+003-1,109,109,0 script Inar NPC_PLAYER_TONORI,{
+
+ mesn;
+ mesq l("Only finest wares!");
+ mes "";
+ menu
+ l("Trade"), -,
+ l("Leave"), L_Close;
+
+ closedialog;
+ shop2 "Shop#bazar1";
+ close;
+
+L_Close:
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyesT);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SilkRobe);
+ //setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers); // TODO
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 4);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 1);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+}
diff --git a/npc/003-1/ishi.txt b/npc/003-1/ishi.txt
new file mode 100644
index 0000000..ed16ed3
--- /dev/null
+++ b/npc/003-1/ishi.txt
@@ -0,0 +1,232 @@
+// TMW-2 Script
+// Author:
+// Crazyfefe
+// Jesusalva
+//
+// Do not add void items to the array.
+// note: the rare item system sucks.
+
+003-1,97,97,0 script Ishi NPC_PLAYER_ARGAES,{
+
+ if (MPQUEST == 0) {
+ mesn l("Ishi, the Rewards Master");
+ mesq l("Hey, it seems like you didn't register as a Monster Hunting Quest participant yet! You can sign up with Aidan.");
+ close;
+ }
+ if (BaseLevel < 10) {
+ // TODO: make jail stuff a function and replace this with the new function
+ dispbottom l("##1You abused a bug and will be jailed. If this was done in error, you have found a bug. Contact the nearest developer if this is the case.");
+ atcommand "@jailfor 5mn "+strcharinfo(0);
+ end;
+ }
+
+ if (BaseLevel < 37) {
+ @mpq_cost=((BaseLevel*2/3) ** 2);
+ } else if (BaseLevel <= 50) {
+ // From level 37 onwards, we will notice a small drop on price increase factor (until level 50)
+ @mpq_cost=((BaseLevel*2/3) ** 2)-(BaseLevel*2);
+ } else {
+ // After level 50, the formula changes. We don't have exponential anymore.
+ // Previous increase reached 67 and will stop at this value.
+ @mpq_cost=((50*2/3) ** 2)-(50*2);
+ @mpq_cost+=(BaseLevel-50)*67;
+ // Of course... We still need to act as if exponent was still there...
+ // So we raise it a bit each 3 levels
+ @mpq_cost+=(BaseLevel/3)*3;
+ }
+
+ if (Mobpt < @mpq_cost)
+ {
+ mesn l("Ishi, the Rewards Master");
+ mesq l("Welcome! I see you have %d Monster Points. But that isn't enough to get items at your current level, sorry!", Mobpt);
+ mesc l("I need at minimum %d Monster Points to get items at current level.",@mpq_cost);
+ close;
+ }
+
+ if (BaseLevel < 25) {
+ setarray @Items, Bread,
+ Candy,Orange,BugLeg,
+ CobaltHerb,GambogeHerb,
+ MauveHerb,MaggotSlime,ScorpionStinger,SilkCocoon,
+ RustyKnife,Coral,PiouLegs,Cheese,RoastedMaggot,RawLog;
+ } else {
+ setarray @Items, Bread, Croconut,Plushroom,
+ RedApple,Beer,Candy,Orange,ChocolateBar,BugLeg,CoinBag,
+ Coal,SnakeSkin,CottonCloth,GrassSeeds,HardSpike,CobaltHerb,GambogeHerb,
+ MauveHerb,CopperOre,MaggotSlime,RawLog,ScorpionStinger,SilkCocoon,TreasureKey,
+ WhiteFur,EmptyBottle,RustyKnife,Coral,PiouLegs,Cheese,SnakeEgg,RoastedMaggot,BlueDye;
+ }
+ setarray @Rares, BrimmedHat, 5, IronIngot, 10, BronzeGift, 10, ScrollSMaggot, 15, MercBoxB, 15;
+
+ // Push blueprints based on your Job Level
+ array_push(@Rares, AlchemyBlueprintA);
+ array_push(@Rares, (JobLevel/3));
+ array_push(@Rares, EquipmentBlueprintA);
+ array_push(@Rares, (JobLevel/3));
+
+ // Additional Loot for level 45+
+ if (BaseLevel >= 45) {
+ array_push(@Items, IronOre);
+ array_push(@Items, SilverOre);
+ array_push(@Items, TinOre);
+ array_push(@Items, ChocolateMouboo);
+ array_push(@Items, MoubooSteak);
+ array_push(@Items, Milk);
+ array_push(@Items, TolchiAmmoBox);
+ array_push(@Items, ShadowHerb);
+
+ array_push(@Rares, AlchemyBlueprintB);
+ array_push(@Rares, (JobLevel/6));
+ array_push(@Rares, EquipmentBlueprintB);
+ array_push(@Rares, (JobLevel/6));
+ }
+
+ // Additional Loot for level 75+
+ if (BaseLevel >= 75) {
+ array_push(@Items, LeadOre);
+ array_push(@Items, TitaniumOre);
+ array_push(@Items, IridiumOre);
+ array_push(@Items, GoldOre);
+ array_push(@Items, IronAmmoBox);
+
+ array_push(@Rares, TulimWarpCrystal);
+ array_push(@Rares, 40);
+ array_push(@Rares, MercBoxA);
+ array_push(@Rares, 40);
+ array_push(@Rares, AlchemyBlueprintC);
+ array_push(@Rares, (JobLevel/9));
+ array_push(@Rares, EquipmentBlueprintC);
+ array_push(@Rares, (JobLevel/9));
+ }
+
+ mesn l("Ishi, the Rewards Master");
+ // Highlight the amount of monster points in bold for better visibility since players will probably exchange monster points a lot
+ mesq l("Welcome! I see you have ##B%d Monster Points##b. Would you like to exchange some of those for items?", Mobpt);
+ next;
+ if (@mpq_cost > 0)
+ mesc l("You can get up to %d items.", (Mobpt/@mpq_cost));
+
+ menuint
+ rif(Mobpt >= @mpq_cost, "1"), 1,
+ rif(Mobpt >= (@mpq_cost)*2, "2"), 2,
+ rif(Mobpt >= (@mpq_cost)*3, "3"), 3,
+ rif(Mobpt >= (@mpq_cost)*4, "4"), 4,
+ rif(Mobpt >= (@mpq_cost)*5, "5"), 5,
+ rif(Mobpt >= (@mpq_cost)*6, "6"), 6,
+ rif(Mobpt >= (@mpq_cost)*7, "7"), 7,
+ rif(Mobpt >= (@mpq_cost)*8, "8"), 8,
+ rif(Mobpt >= (@mpq_cost)*9, "9"), 9,
+ rif(Mobpt >= (@mpq_cost)*10,"10"), 10,
+ rif(Mobpt >= (@mpq_cost)*11,l("Gimme as many as I deserve!")), -1,
+ l("Sorry, I have to go now."), 0;
+
+ .@var=@menuret;
+
+ // Special cases
+ if (!.@var)
+ goto L_Close;
+ if (.@var < 0)
+ goto L_Give_all;
+
+ goto L_Items;
+
+L_Close:
+ .@var=0;
+ closedialog;
+ goodbye;
+ close;
+
+L_Items:
+ //debugmes "Reaching item loop";
+ freeloop(true);
+ for (.@i = 0; .@i < .@var; .@i ++)
+ {
+ //debugmes "Items: "+str(.@var);
+ .@lucked=0;
+ .@reward=0;
+
+ if (BaseLevel > 25) {
+ //debugmes "Testing rares";
+ @lucky = rand(10000) + 1;
+ for (.@b = 0; .@b < getarraysize(@Rares); .@b=.@b+2) {
+ //debugmes "Checking "+@Rares[.@b]+" - b is now "+.@b;
+ //debugmes l("Check @@ <= @@", @lucky, @Rares[.@b+1]);
+ if (.@b == 0)
+ @control = 0;
+ if(@lucky >= (@control + 1) && @lucky <= @control + (@Rares[.@b+1]))
+ {
+ .@lucked=1;
+ .@reward = @Rares[.@b];
+ }
+ @control = @control + (@Rares[.@b+1]);
+ }
+ }
+
+ //debugmes "Setting reward"; // could be if (!.@lucked) but for sanity...
+ if (!.@reward)
+ .@reward=any_of(@Items);
+
+ //debugmes "Check weight";
+ inventoryplace .@reward, 1;
+
+ //debugmes "Processing...";
+ Mobpt = Mobpt - @mpq_cost;
+ getitem .@reward,1;
+
+ //debugmes "Printing...";
+ if (.@lucked) {
+ mes "";
+ mes l("Wow!");
+ mes l("I can't believe it.");
+ mes l("You got lucky and got a(n) %s!", getitemlink(.@reward));
+ mes "";
+ } else {
+ mesq l("You received one %s!", getitemlink(.@reward));
+ }
+
+ }
+ freeloop(false);
+ close;
+
+L_Continue:
+ mesq l("You still have ##B%d Monster Points##b! Do you want more items?", Mobpt);
+ select
+ l("Yes"),
+ l("No");
+
+ switch (@menu)
+ {
+ case 1:
+ goto L_Give_all;
+ break;
+ case 2:
+ goto L_Close;
+ break;
+ }
+ close;
+
+L_Give_all:
+ .@var = Mobpt / @mpq_cost;
+ if (.@var > 50) { // limit to avoid lag server. Probably a bad idea.
+ .@var = 50;
+ mes l("You have too many points. I can't allow you to take all at once right now. I'll try to give you 50, and you can come back later!");
+ next;
+ }
+
+ goto L_Items;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ //setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CopperArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 4);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 13);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/003-1/itka.txt b/npc/003-1/itka.txt
new file mode 100644
index 0000000..e6ac006
--- /dev/null
+++ b/npc/003-1/itka.txt
@@ -0,0 +1,51 @@
+// TMW2 Script.
+// Author:
+// Jesusalva
+
+003-1,63,141,0 script Itka NPC_F_SHOPKEEPER,{
+
+ mesn;
+ mesq lg("Hello, madam!", "Hello, sir!");
+ next;
+ mesq l("Did you knew the casino on the inn up here was one of the most expensive on the whole world?");
+ next;
+ mesq l("Anyway, I am selling Cherry Cakes to sponsor my studies. Please buy as many as you want!");
+ tutmes l("Ducks and Giant Maggots also drops Cherry Cakes."), l("Protip"), false;
+ next;
+ npcshopattach(.name$);
+ openshop;
+ closedialog;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, VneckSweater);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // I prefer 1801 but the short doesn't match
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 17);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 19);
+
+ // NOTE: To limit selling items must change trader type to NST_MARKET
+ tradertype(NST_MARKET);
+ sellitem CherryCake, 200, 50; // 50 cakes for 200 GP each
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+
+OnMinute16:
+ restoreshopitem CherryCake, 200, 50;
+ end;
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+}
diff --git a/npc/003-1/jakod.txt b/npc/003-1/jakod.txt
new file mode 100644
index 0000000..bc3d703
--- /dev/null
+++ b/npc/003-1/jakod.txt
@@ -0,0 +1,77 @@
+// TMW2 script.
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Jakod replaces Luca. As there are no focus skills, Jakod teaches player about
+// magic and is their tutor on the matters of the Mana Stone.
+
+003-1,109,129,0 script Jakod NPC_PLAYER_TONORI,{
+ mesn;
+ if (BaseLevel < $MANA_BLVL) mesq l("Hello there. I am looking for strong people, but you are not strong enough.");
+ if (BaseLevel < $MANA_BLVL) close;
+
+ if ($EVENT$ == "Rebirth") {
+ mesc l("Are you looking for Rebirth? Limited time only!"), 1;
+ if (askyesno() == ASK_YES) {
+ doevent "Phoenix Rebirth::OnMain";
+ closeclientdialog;
+ end;
+ }
+ clear;
+ }
+
+ mes l("\"Ah, hello there, @@. You've grown quite skilled lately.", strcharinfo(0));
+ if (MAGIC_LVL) {
+ mes l("I also see you have a level @@ magic skill!\"", MAGIC_LVL);
+ next;
+ mes l("Did you got an @@ yet? That book have great insight on several details concerning mana and its usages!", getitemlink(JesusalvaGrimorium));
+ next;
+ mes l("Anyway, you can see how skilled using Mana Magic with @@. Mana Magic is the one which requires concentration, to bring things into existence, for example.", b("@abizit"));
+ next;
+ mes l("Well, if you ever need help, do not hesit reading the wiki ;-)");
+ close;
+ } else {
+ mes l("But you lack magic! That's a pity.\"");
+ select
+ l("How do I get magic?"),
+ l("Good bye.");
+ if (@menu == 2)
+ close;
+ mes "";
+ }
+
+ mes "";
+ mesn;
+ mesq l("Well, the first thing would be to get access to a Mana Stone. Halinarzo had the biggest mana stone mines, but it's now depleted.");
+ next;
+ mesn;
+ mes l("\"That's the only hard part. As long that you do not neglect Intelligence nor Job level...");
+ mes l("...If you're lucky, you can touch it and receive magic power.\"");
+ next;
+ mesn;
+ mesq l("Having magic power is useless by itself, so you must visit the Academy. I guess that involves approval and acknowledgment of the Mage Council that you are a mage!");
+ next;
+ mesn;
+ mesq l("Keep in mind, the more levels and intelligence you have, more likely the Mana Stone will grant you more Magic Power. But that means nothing.");
+ next;
+ mesn;
+ mesq l("Because in the end, you are in the hands of your class leader!"); // Rare: Some loner NPCs may grant you EXTRA skills beyond that.
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyesT);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, ForestArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, JeansShorts);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 14);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 13);
+ //setunitdata(.@npcId, UDT_HAIRSTYLE, 24);
+ //setunitdata(.@npcId, UDT_HAIRCOLOR, 2);
+
+ .sex = G_MALE;
+ .distance = 3;
+ npcsit;
+ end;
+}
diff --git a/npc/003-1/jerican.txt b/npc/003-1/jerican.txt
new file mode 100644
index 0000000..e25cab1
--- /dev/null
+++ b/npc/003-1/jerican.txt
@@ -0,0 +1,15 @@
+// TMW2 scripts.
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Jerican gives the player latest news on the world
+
+003-1,93,125,0 script Jerican NPC_JOURNALMAN,{
+ Journalman(.name$);
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/003-1/lieutenantdausen.txt b/npc/003-1/lieutenantdausen.txt
new file mode 100644
index 0000000..f112602
--- /dev/null
+++ b/npc/003-1/lieutenantdausen.txt
@@ -0,0 +1,956 @@
+// TMW2 scripts.
+// Authors:
+// Saulc
+// Jesusalva
+// acsvln
+// gnulinux
+// Description:
+// Help Tulimshar guards
+// Quest variable:
+// TulimsharQuests_Guards
+// Quest stages:
+// 0 - not started
+// 1 - Lieutenant Dausen asked for help Tulimshar guards
+// 2 - completed
+// 3 - Reward given
+
+003-1,111,84,0 script Lieutenant Dausen NPC_PLAYER_TONORI,{
+ function DausenMobTutorial;
+
+ .@q = getq(TulimsharQuest_WaterForGuard);
+ .@t = getq(TulimsharQuest_MobTutorial);
+
+ switch (.@q) {
+ case 0:
+ mesn;
+ mesq l("Greetings, wanderer. I am @@, chief of the Tulimshar guards. My wards are dying from dehydration in the sun. Bring them water and you will earn a reward.", .name$);
+ break;
+ case 1:
+ mesn;
+ mesq l("Please help my wards!");
+ break;
+ case 2:
+ goto L_Reward;
+ break;
+ case 3:
+ mesn;
+ mesq l("Thank you for your help.");
+ break;
+ default:
+ end;
+ }
+ next;
+ select
+ rif(!.@q, l("Yes sir. I will help them.")),
+ rif(getq(TulimsharQuest_Hasan) == 1, l("A guy named Hasan stole from me!")),
+ rif (strcharinfo(2) == "Monster King", l("I'm with the Monster King.")),
+ l("What can you say about the monsters here?"),
+ l("Good bye, sir.");
+ mes "";
+ switch (@menu) {
+ // Thristy Guards Quest
+ case 1:
+ setq TulimsharQuest_WaterForGuard, 1;
+ mes "";
+ mesn;
+ mesq l("Good luck! Come for remuneration when you finish!");
+ next;
+ mesc l("Protip: You need an @@ full of water to get a reply from guards.", getitemlink(EmptyBottle));
+ break;
+ // Hasan Quest
+ case 2:
+ setq TulimsharQuest_Hasan, 2;
+ speech S_FIRST_BLANK_LINE, lg("Ah, Hasan... Sorry pal, afraid I can't do anything for you. Try talking to his mother Sorfina, she is in Mahoud's house, near the Inn.");
+ break;
+ // The Monster King guild have a special menu
+ case 3:
+ if (strcharinfo(2) == "Monster King") goto L_MKControl;
+ break;
+ // Monster info
+ case 4:
+ DausenMobTutorial();
+ break;
+ default:
+ closedialog;
+ goodbye;
+ break;
+ }
+ close;
+
+// Reward for quest completion
+L_Reward:
+ mesn;
+ mesq l("Thank you, here is your reward.");
+
+ inventoryplace TulimsharGuardBoots, 1, TulimsharGuardCard, 1;
+ getitem TulimsharGuardBoots, 1;
+ getitem TulimsharGuardCard, 1;
+ setq TulimsharQuest_WaterForGuard, 3;
+
+ next;
+
+ speech 0x0,
+ l("Wait a minute..."),
+ l("The Tulimshar guards needs an freelance employee who would help us with our work. We are searching for people like you."),
+ l("Take this badge, so you can enter the guard house. You will find more work there. Bye, and good luck!");
+ close;
+
+// Mob Tutorial Quest
+function DausenMobTutorial {
+ if (BaseLevel < 9) {
+ mesn;
+ mesq l("They're strong, so keep fighting Maggots and Scorpions which you're used to, until you get stronger.");
+ close;
+ }
+ .@t = getq(TulimsharQuest_MobTutorial);
+ .@k = getq2(TulimsharQuest_MobTutorial);
+ // You need a Guard Card, Dausen have a bad memory :p
+ if (!countitem(TulimsharGuardCard)) {
+ mesn;
+ mesq l("Well, I do not trust you yet. You literally were just brought by the shore, and even if Nard and Lua seems to trust you...");
+ next;
+ mesn;
+ mesq l("...I still need to cover up if they're mistaken. Give me a reason to tell you secrets, show me you're concerned with Tulimshar safety and don't want just to be strong.");
+ next;
+ mesn;
+ mesq l("Power in the wrong hands is nothing but a burden and a reason for others to cry. That's exactly what I don't want in this town.");
+ close;
+ }
+ switch (.@t) {
+ case 0:
+ case 1:
+ // Reward
+ if (.@k >= 10) {
+ mesn;
+ mesq l("Welp, you killed 10 Crocs. They're not dangerous, as you see. That's why we don't bother in cleaning them up.");
+ setq TulimsharQuest_MobTutorial, 2, 0;
+ // 30% of exp values
+ getexp 75, 0;
+ Zeny+=300;
+ close;
+ }
+ // Quest Body
+ mesn;
+ mesq l("So. Uhm. The monsters here have varying levels of strength... I think the best way is to witness that yourself.");
+ next;
+ mesn;
+ mesq l("Do you see the crocs, with their claws and hard shell? They have high defense, this means your attacks deal less damage.");
+ next;
+ mesn;
+ mesq l("They're not too dangerous, but they can take a lot of hits. So, if you kill 10 of them, I'll know you're dedicated in learning which monsters are out there.");
+ next;
+ mesn;
+ mesq l("Can you do that? I'll be waiting!");
+ compareandsetq TulimsharQuest_MobTutorial, 0, 1;
+ close;
+ case 2:
+ case 3:
+ // TODO: Blubs and Ducks
+ // Level Requeriment (same as blubs)
+ if (BaseLevel < 14) {
+ mesn;
+ mesq l("There's some diversity, but you should keep aiming at helping people and killing small-fry. If you ever want a challenge, there's a Giant Maggot inside the town which can kill you in one hit.");
+ next;
+ mesn;
+ mesq l("Have you found Tulimshar's Secret Beach yet? Tulimshar is full of secrets. Some NPCs which only say hi may say something else depending on your level or insistence.");
+ close;
+ }
+ // Reward
+ if (.@k >= 37) {
+ mesn;
+ mesq l("Hmm, that's some progress. Nobody goes to the beach because of these slimes, but it looks like this might change sometime soon.");
+ next;
+ mesn;
+ mesq l("Also, the Inn folks said the Ducks keep bothering them, but they've noticed a small decrease already.");
+ next;
+ mesn;
+ mesq l("I don't know what you did, but both the Ducks and Blubs did got scared. I thank you in the name of the city guard. Please come back later.");
+ setq TulimsharQuest_MobTutorial, 4, 0;
+ // 30% of exp values
+ getexp 210, 0;
+ Zeny+=700;
+ close;
+ }
+ // Quest Body
+ mesn;
+ mesq l("West of here is a beach. There's a secret passage to it, underground. In there you'll find slime-like creatures called Blubs.");
+ next;
+ mesn;
+ mesq l("Some are small, others are bigger. But they all fight together, so be mindful when they're in groups.");
+ next;
+ mesn;
+ mesq b(l("The big one without hat"))+" "+l("is your target. They spawn smaller versions of themselves! Kill @@ of them and make the beach safe for tourists.", 37);
+ next;
+ mesn;
+ mesq l("Or make yourself useful by killing some Ducks. They snatch all the Cherry Cake from the Inn and the staff is getting angry at me. It'll serve, too.");
+ compareandsetq TulimsharQuest_MobTutorial, 2, 3;
+ close;
+ case 4:
+ case 5:
+ // TODO: Desert Log Head, Desert Bandits, Sarracenus
+ if (BaseLevel < 22) {
+ mesn;
+ mesq l("Have you visited the mines already? Tycoon is in charge of the security operations in there. He might need your help more than I do.");
+ close;
+ }
+ // Reward
+ if (.@k >= 100) {
+ mesn;
+ mesq l("Not bad. These are the main threat we have to fend off, along snakes and black scorpions.");
+ setq TulimsharQuest_MobTutorial, 6, 0;
+ // 30% of exp values
+ getexp 600, 0;
+ Zeny+=1200;
+ close;
+ }
+ // Quest Body
+ mesn;
+ mesq l("So... Have you tried visiting the Canyons? I know, it is a crazy idea.");
+ next;
+ mesn;
+ mesq l("But if you want to be guard, you must be brave! Go fight your fears, and go kill some bandits like a decent guard.");
+ next;
+ mesn;
+ mesq l("Well, if you're scared, you can kill Desert Log Heads, but they'll have a smaller worth.");
+ next;
+ mesn;
+ mesq l("Bring me @@ Bandits or Sarracenus heads, or the double of that in Desert Log Heads, and I'll consider you brave enough.", 50);
+ compareandsetq TulimsharQuest_MobTutorial, 4, 5;
+ close;
+ case 6:
+ case 7:
+ if (BaseLevel < 29) {
+ mesn;
+ mesq l("You're brave but weak. Go grind some levels, go make a wooden sword, I don't know.");
+ close;
+ }
+ // Reward
+ if (.@k >= 300) {
+ mesn;
+ mesq l("Alright, you've not only proven your worth, but you've went through most monsters in the desert close to the town.");
+ next;
+ mesn;
+ mesq l("Knowledge is power... And now you have both. Use them wisely.");
+ next;
+ inventoryplace Coal, 6;
+ getitem Coal, 6;
+ setq TulimsharQuest_MobTutorial, 8, 0;
+ // ~30% of exp values
+ getexp 2100, 0;
+ Zeny+=2400;
+ mesn;
+ mesq l("This coal will aid you to craft better weapons later. It's a token of appreciation. Good job.");
+ close;
+ }
+ // Quest Body
+ mesn;
+ mesq l("You've passed the test of courage. Bravure you have, but are you a real adventurer?");
+ next;
+ mesn;
+ mesq l("You have good intentions, be brave, but in a world where power is measured in levels, numbers have more meaning than they should.");
+ next;
+ mesn;
+ mesq l("I'll present you three kind of strong monsters. Snakes are fast and dangerous. Giant Maggots are slow and dangerous. Black Scorpions have average speed and are... deadly.");
+ next;
+ mesn;
+ mesq l("Giant Maggots are worth 1 point, Snakes are worth 5 points and Black Scorpions are worth 10 points. The ones in caves doesn't count. Bring me 300 points. Good luck!");
+ compareandsetq TulimsharQuest_MobTutorial, 6, 7;
+ default:
+ mesn;
+ mesq l("Eh? Well, you're in a desert. You can see Maggots and Scorpions, they're very common on these parts. Giant Maggots are very dangerous, but also very slow. If you know how to fight, they will yield you lots of experience.");
+ next;
+ mesn;
+ mesq l("West of here is a beach. In said beach there are blubs, they don't attack but they walk in packs. Be careful if you provoke too many of them.");
+ next;
+ mesn;
+ mesq l("Also, south of here are mines. Talk to Tycoon for information about it.");
+ next;
+ mesn;
+ mesq l("By last, east of here are the Canyons. Do not go there before level 20, and even then, do not engage snakes in combat. They are fast and very dangerous.");
+ close;
+ break;
+ }
+ return;
+}
+
+// The Monster King guild have a special menu
+L_MKControl:
+ mesn;
+ mes l("Oh noes! You've found the Tulimshar control panel!");
+ next;
+ select
+ l("Abort"),
+ l("Initiate a siege");
+ mes "";
+ if (@menu == 2) {
+ doevent "Lieutenant Dausen::OnStartSiege";
+ closedialog;
+ }
+ close;
+
+OnGuardDeath:
+ end;
+
+OnMKSiege:
+ $@SIEGE_ABORTED = false;
+OnStartSiege:
+ kamibroadcast(col("WARNING! WARNING! Monster Army moving towards Tulimshar!!",1));
+ do_siege("003-1", "004-1", "TULIM", TP_TULIM, .name$, .siegetime);
+ initnpctimer;
+ end;
+
+// Timers
+OnTimer5000:
+ .siegetime+=5;
+ do_siege("003-1", "004-1", "TULIM", TP_TULIM, .name$, .siegetime);
+ switch (.siegetime) {
+ // Monster Army arrives in town
+ case 60:
+ disablenpc "Ched";
+ disablenpc "Aahna";
+ disablenpc "Constable Perry";
+ disablenpc "Cyndala";
+ disablenpc "Eomie";
+ disablenpc "Eugene";
+ disablenpc "Gladys";
+ disablenpc "Inac";
+ disablenpc "Ishi";
+ disablenpc "Itka";
+ disablenpc "Jakod";
+ disablenpc "Jerican";
+ disablenpc "Mahoud";
+ disablenpc "Marius The Bard";
+ disablenpc "Michel";
+ disablenpc "Neko";
+ disablenpc "Nina The Traveler";
+ disablenpc "Sarah";
+ disablenpc "Silvia";
+ disablenpc "Tamiloc";
+ disablenpc "Tinris";
+ disablenpc "#water_animation0";
+ disablenpc "Sailors#003-1";
+ disablenpc "Guard Philip";
+ disablenpc "Guard Defou";
+ disablenpc "Guard Avou";
+ disablenpc "Guard Benji";
+ disablenpc "Guard Valou";
+ disablenpc "Guard Nutelo";
+ disablenpc "Guard Moustacha";
+ disablenpc "Guard Popaul";
+ disablenpc "Guard Yen";
+ disablenpc "Guard Maxim";
+ disablenpc "Guard Totor";
+ disablenpc "Guard Roukin";
+ disablenpc "Guard Falko";
+ disablenpc "Guard Froma";
+ disablenpc "Guard Tetric";
+ disablenpc "Guard Biscop";
+
+ // Create guards
+ monster("003-1", 98, 100, ("Guard Philip"), FallenGuard3, 1, "Lieutenant Dausen::OnGuardDeath", Size_Medium, 2);
+ monster("003-1", 98, 121, ("Guard Defou"), FallenGuard3, 1, "Lieutenant Dausen::OnGuardDeath", Size_Medium, 2);
+ monster("003-1",102, 121, ("Guard Avou"), FallenGuard3, 1, "Lieutenant Dausen::OnGuardDeath", Size_Medium, 2);
+ monster("003-1", 58, 158, ("Guard Benji"), FallenGuard3, 1, "Lieutenant Dausen::OnGuardDeath", Size_Medium, 2);
+ monster("003-1", 62, 158, ("Guard Valou"), FallenGuard3, 1, "Lieutenant Dausen::OnGuardDeath", Size_Medium, 2);
+ monster("003-1", 71, 138, ("Guard Nutelo"), FallenGuard3, 1, "Lieutenant Dausen::OnGuardDeath", Size_Medium, 2);
+ monster("003-1", 58, 128, ("Guard Moustacha"), FallenGuard3, 1, "Lieutenant Dausen::OnGuardDeath", Size_Medium, 2);
+ monster("003-1", 58, 100, ("Guard Popaul"), FallenGuard3, 1, "Lieutenant Dausen::OnGuardDeath", Size_Medium, 2);
+ monster("003-1", 51, 73, ("Guard Yen"), FallenGuard3, 1, "Lieutenant Dausen::OnGuardDeath", Size_Medium, 2);
+ monster("003-1", 54, 52, ("Guard Maxim"), FallenGuard3, 1, "Lieutenant Dausen::OnGuardDeath", Size_Medium, 2);
+ monster("003-1", 50, 36, ("Guard Totor"), FallenGuard3, 1, "Lieutenant Dausen::OnGuardDeath", Size_Medium, 2);
+ monster("003-1", 53, 36, ("Guard Roukin"), FallenGuard3, 1, "Lieutenant Dausen::OnGuardDeath", Size_Medium, 2);
+ monster("003-1", 35, 34, ("Guard Falko"), FallenGuard3, 1, "Lieutenant Dausen::OnGuardDeath", Size_Medium, 2);
+ monster("003-1",111, 101, ("Guard Froma"), FallenGuard3, 1, "Lieutenant Dausen::OnGuardDeath", Size_Medium, 2);
+ monster("003-1",102, 80, ("Guard Tetric"), FallenGuard3, 1, "Lieutenant Dausen::OnGuardDeath", Size_Medium, 2);
+ monster("003-1",107, 80, ("Guard Biscop"), FallenGuard3, 1, "Lieutenant Dausen::OnGuardDeath", Size_Medium, 2);
+ break;
+ // Monster Army deployed in town
+ case 90:
+ disablenpc "Aidan";
+ disablenpc "Inar";
+ disablenpc "Malivox";
+ disablenpc "Estard";
+ disablenpc "Malindou";
+ disablenpc "Jhedia";
+ disablenpc "Swezanne";
+ disablenpc "Luca";
+ disablenpc "Colin";
+ break;
+ // Monster army have withdrawn completly
+ case MK_SIEGE_DURATION:
+ .siegetime=0;
+ announce(("Tulimshar siege is over!"), bc_all);
+ enablenpc "Ched";
+ enablenpc "Aahna";
+ enablenpc "Constable Perry";
+ enablenpc "Cyndala";
+ enablenpc "Eomie";
+ enablenpc "Eugene";
+ enablenpc "Gladys";
+ enablenpc "Inac";
+ enablenpc "Ishi";
+ enablenpc "Itka";
+ enablenpc "Jakod";
+ enablenpc "Jerican";
+ enablenpc "Mahoud";
+ enablenpc "Marius The Bard";
+ enablenpc "Michel";
+ enablenpc "Neko";
+ enablenpc "Nina The Traveler";
+ enablenpc "Sarah";
+ enablenpc "Silvia";
+ enablenpc "Swezanne";
+ enablenpc "Tamiloc";
+ enablenpc "Tinris";
+ enablenpc "#water_animation0";
+ enablenpc "Aidan";
+ enablenpc "Inar";
+ enablenpc "Malivox";
+ enablenpc "Luca";
+ enablenpc "Colin";
+ enablenpc "Estard";
+ enablenpc "Malindou";
+ enablenpc "Jhedia";
+ enablenpc "Sailors#003-1";
+ enablenpc "Guard Philip";
+ enablenpc "Guard Defou";
+ enablenpc "Guard Avou";
+ enablenpc "Guard Benji";
+ enablenpc "Guard Valou";
+ enablenpc "Guard Nutelo";
+ enablenpc "Guard Moustacha";
+ enablenpc "Guard Popaul";
+ enablenpc "Guard Yen";
+ enablenpc "Guard Maxim";
+ enablenpc "Guard Totor";
+ enablenpc "Guard Roukin";
+ enablenpc "Guard Falko";
+ enablenpc "Guard Froma";
+ enablenpc "Guard Tetric";
+ enablenpc "Guard Biscop";
+ stopnpctimer;
+ end;
+ break;
+ }
+
+ // Loop again
+ initnpctimer;
+ end;
+
+OnInit:
+ // Check items.xml for info about this.
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, BullHelmet);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, LieutenantArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_SHIELD, LousyMoccasins); // TODO FIXME: Display Boots
+ setunitdata(.@npcId, UDT_WEAPON, Backsword);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 17);
+
+ .siegetime=0;
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+}
+
+// dausen_mobtutorial (killedrid)
+// updates dausen quest
+function script dausen_mobtutorial {
+ .@mobId=getarg(0, killedrid);
+ .@t = getq(TulimsharQuest_MobTutorial);
+ .@k = getq2(TulimsharQuest_MobTutorial);
+ .@v = 1;
+ .@upd=false;
+
+ switch (.@mobId) {
+ case Croc:
+ if (.@t == 1) {
+ setq2 TulimsharQuest_MobTutorial, .@k+.@v;
+ .@upd=true;
+ }
+ break;
+ case Blub:
+ case Duck:
+ if (.@t == 3) {
+ setq2 TulimsharQuest_MobTutorial, .@k+.@v;
+ .@upd=true;
+ }
+ break;
+ case DesertBandit:
+ case Sarracenus:
+ .@v=2;
+ case DesertLogHead:
+ if (.@t == 5) {
+ setq2 TulimsharQuest_MobTutorial, .@k+.@v;
+ .@upd=true;
+ }
+ break;
+ case BlackScorpion:
+ .@v=10;
+ case Snake:
+ if (.@mobId != BlackScorpion)
+ .@v=5;
+ case GiantMaggot:
+ if (.@t == 7) {
+ setq2 TulimsharQuest_MobTutorial, .@k+.@v;
+ .@upd=true;
+ }
+ break;
+ }
+ if (.@upd) {
+ if (.@k+.@v % 10 == 0)
+ dispbottom l("Dausen Quest - @@ @@ killed", .@k+.@v, strmobinfo(1, .@mobId));
+ }
+ return;
+}
+
+// Render random guard answer after bringing him water
+function script GuardsGratitude {
+
+ switch (rand2(6))
+ {
+ case 0:
+ .@message$ = l("God bless you! You have saved me from sweltering!");
+ break;
+ case 1:
+ .@message$ = l("I am happy that such responsible citizens live in Tulimshar. Thank you for your help. It's really hot nowdays!");
+ break;
+ case 2:
+ .@message$ = l("Thanks, this is very handy.");
+ break;
+ case 3:
+ .@message$ = l("Our service is dangerous and difficult. But I would not want any other. Thanks for the help.");
+ break;
+ case 4:
+ .@message$ = l("My mother told me, do not go work like a guard. You will die from overheating in the sun during the summer time.");
+ break;
+ case 5:
+ .@message$ = l("Who are you? Thanks for the help.");
+ break;
+ default:
+ .@message$=l("Thank you!");
+ break;
+ }
+
+ if (Sex != getvariableofnpc(.sex, strnpcinfo(0))) {
+ .@narrator_message$ = l("The Guard sends an air kiss to you.");
+ } else {
+ .@narrator_message$ = l("The Guard patted you on the back.");
+ }
+
+ speech S_LAST_BLANK_LINE, .@message$;
+ narrator S_LAST_BLANK_LINE, .@narrator_message$;
+
+ return;
+}
+
+// Do TulimsharQuest_WaterForGuard quest
+function script CheckGuard {
+ .@guard_id = getarg(0);
+ .@guard_count = 0;
+ .@count_tmp = 0;
+
+ if ($@GM_OVERRIDE)
+ npctalk3 l("Hello, I am G-@@, of the @@ order.", .@guard_id, $@GuardBits[.@guard_id]);
+
+ if (GUARDS_DONE_BITARRAY & $@GuardBits[.@guard_id])
+ {
+ mesn;
+ mesq l("Thanks for help! Other guards may need help too!");
+ close;
+ } else {
+ while (.@count_tmp < 18)
+ {
+ if (GUARDS_DONE_BITARRAY & $@GuardBits[.@count_tmp])
+ .@guard_count = (.@guard_count + 1);
+
+ .@count_tmp = (.@count_tmp + 1);
+ }
+
+ if ( countitem(BottleOfTonoriWater) == 0 ) {
+ legiontalk;
+ } else {
+ delitem BottleOfTonoriWater, 1;
+ getitem EmptyBottle, 1;
+
+ getexp 32, 2;
+ Zeny = (Zeny + 30);
+
+ GUARDS_DONE_BITARRAY = GUARDS_DONE_BITARRAY | $@GuardBits[.@guard_id];
+ setq2 TulimsharQuest_WaterForGuard, .@guard_count; // Update questlog
+
+ if (.@guard_count >= 17) {
+ message strcharinfo(0), "That must have been the last guard.";
+ setq TulimsharQuest_WaterForGuard, 2;
+ }
+
+ GuardsGratitude();
+ narrator(l("You receive 32 exp and 30 GP."));
+ close;
+ }
+ }
+
+ return;
+}
+
+// Handle Guard's logic
+function script GuardHandler {
+ if (getq(TulimsharQuest_WaterForGuard) == 1) {
+ CheckGuard(getarg(0));
+ } else {
+ legiontalk;
+ }
+
+ return;
+}
+
+003-1,98,100,0 script Guard Philip NPC_GUARD1,{
+ GuardHandler(0);
+
+ end;
+
+OnTimer1000:
+ domovestep;
+
+OnInit:
+ initpath "move", 98, 104,
+ "dir", DOWN, 0,
+ "wait", 60, 0,
+ "move", 84, 100,
+ "dir", DOWN, 0,
+ "wait", 45, 0,
+ "move", 93, 110,
+ "dir", DOWN, 0,
+ "wait", 70, 0,
+ "move", 101, 106,
+ "dir", RIGHT, 0,
+ "wait", 12, 0,
+ "move", 98, 104,
+ "dir", DOWN, 0,
+ "wait", 68, 0,
+ "move", 93, 110,
+ "dir", DOWN, 0,
+ "wait", 90, 0,
+ "move", 111, 109,
+ "dir", DOWN, 0,
+ "wait", 11, 0;
+ initialmove;
+ initnpctimer;
+ .distance = 5;
+ .sex = G_MALE;
+
+ setarray $@GuardBits, 1, (1 << 1), (1 << 2), (1 << 3), (1 << 4), (1 << 5), (1 << 6), (1 << 7), (1 << 8), (1 << 9), (1 << 10), (1 << 11), (1 << 12), (1 << 13), (1 << 14), (1 << 15), (1 << 16), (1 << 17);
+}
+003-1,98,121,0 script Guard Defou NPC_GUARD1,{
+ GuardHandler(1);
+ end;
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+003-1,102,121,0 script Guard Avou NPC_GUARD1,{
+ GuardHandler(2);
+ end;
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+003-1,58,158,0 script Guard Benji NPC_GUARD1,{
+ GuardHandler(3);
+ end;
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+003-1,62,158,0 script Guard Valou NPC_GUARD1,{
+ GuardHandler(4);
+ end;
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+003-1,71,138,0 script Guard Nutelo NPC_GUARD1,{
+ GuardHandler(5);
+ end;
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+003-1,58,128,0 script Guard Moustacha NPC_GUARD1,{
+ GuardHandler(6);
+ end;
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+003-1,58,100,0 script Guard Popaul NPC_GUARD1,{
+ GuardHandler(7);
+ end;
+
+OnTimer1000:
+ domovestep;
+
+OnInit:
+ initpath "move", 58, 100,
+ "dir", DOWN, 0,
+ "wait", 100, 0,
+ "move", 62, 100,
+ "dir", DOWN, 0,
+ "wait", 35, 0,
+ "move", 62, 93,
+ "dir", DOWN, 0,
+ "wait", 48, 0,
+ "move", 58, 104,
+ "dir", DOWN, 0,
+ "wait", 55, 0,
+ "move", 54, 102,
+ "dir", RIGHT, 0,
+ "wait", 82, 0;
+
+ initialmove;
+ initnpctimer;
+ .distance = 5;
+ .sex = G_MALE;
+}
+003-1,51,73,0 script Guard Yen NPC_GUARD1,{
+ GuardHandler(8);
+ end;
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+003-2,41,37,0 script Guard Yuna NPC_GUARD2,{
+ if (getq(TulimsharQuest_WaterForGuard) == 1)
+ {
+ CheckGuard(9);
+ } else {
+ npctalkonce l("I like to sing.");
+ }
+ end;
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 3;
+ end;
+}
+003-1,54,52,0 script Guard Maxim NPC_GUARD1,{
+ GuardHandler(10);
+ end;
+
+OnTimer1000:
+ domovestep;
+
+OnInit:
+ initpath "move", 54, 52,
+ "dir", DOWN, 0,
+ "wait", 85, 0,
+ "move", 54, 45,
+ "dir", DOWN, 0,
+ "wait", 70, 0,
+ "move", 67, 30,
+ "dir", LEFT, 0,
+ "wait", 11, 0,
+ "move", 49, 46,
+ "dir", DOWN, 0,
+ "wait", 55, 0,
+ "move", 31, 41,
+ "dir", LEFT, 0,
+ "wait", 6, 0,
+ "move", 35, 36,
+ "dir", UP, 0,
+ "wait", 9, 0,
+ "move", 49, 52,
+ "dir", DOWN, 0,
+ "wait", 70, 0;
+ initialmove;
+ initnpctimer;
+ .distance = 5;
+ .sex = G_MALE;
+
+}
+003-1,50,36,0 script Guard Totor NPC_GUARD1,{
+ GuardHandler(11);
+ end;
+
+OnTimer1000:
+ domovestep;
+
+OnInit:
+ initpath "move", 50, 36,
+ "dir", DOWN, 0,
+ "wait", 45, 0,
+ "move", 50, 39,
+ "dir", DOWN, 0,
+ "wait", 35, 0,
+ "move", 35, 40,
+ "dir", UP, 0,
+ "wait", 1, 0,
+ "move", 33, 34,
+ "dir", DOWN, 0,
+ "wait", 12, 0;
+ initialmove;
+ initnpctimer;
+ .distance = 5;
+ .sex = G_MALE;
+}
+003-1,53,36,0 script Guard Roukin NPC_GUARD1,{
+ GuardHandler(12);
+ end;
+
+OnTimer1000:
+ domovestep;
+
+OnInit:
+ initpath "move", 53, 36,
+ "dir", DOWN, 0,
+ "wait", 60, 0,
+ "move", 56, 59,
+ "dir", DOWN, 0,
+ "wait", 1, 0,
+ "move", 61, 76,
+ "dir", RIGHT, 0,
+ "wait", 5, 0,
+ "move", 61, 105,
+ "dir", RIGHT, 0,
+ "wait", 8, 0,
+ "move", 59, 129,
+ "dir", LEFT, 0,
+ "wait", 4, 0,
+ "move", 60, 103,
+ "dir", UP, 0,
+ "wait", 1, 0,
+ "move", 56, 82,
+ "dir", LEFT, 0,
+ "wait", 7, 0,
+ "move", 56, 59,
+ "dir", UP, 0,
+ "wait", 1, 0,
+ "move", 53, 39,
+ "dir", DOWN, 0,
+ "wait", 25, 0;
+ initialmove;
+ initnpctimer;
+ .distance = 5;
+ .sex = G_MALE;
+}
+003-1,35,34,0 script Guard Falko NPC_GUARD1,{
+ GuardHandler(13);
+ end;
+
+OnTimer1000:
+ domovestep;
+
+OnInit:
+ initpath "move", 35, 34,
+ "dir", DOWN, 0,
+ "wait", 60, 0,
+ "move", 51, 38,
+ "dir", DOWN, 0,
+ "wait", 10, 0;
+ initialmove;
+ initnpctimer;
+ .distance = 5;
+ .sex = G_MALE;
+}
+003-3,39,37,0 script Guard Malindax NPC_GUARD1,{
+ GuardHandler(14);
+ end;
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+003-1,111,101,0 script Guard Froma NPC_GUARD1,{
+ GuardHandler(15);
+ end;
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+003-1,102,80,0 script Guard Tetric NPC_GUARD1,{
+ GuardHandler(16);
+ end;
+
+OnTimer1000:
+ domovestep;
+
+OnInit:
+ initpath "move", 110, 84,
+ "dir", RIGHT, 0,
+ "wait", 1, 0,
+ "move", 110, 101,
+ "dir", RIGHT, 0,
+ "wait", 0, 0,
+ "move", 99, 121,
+ "dir", LEFT, 0,
+ "wait", 1, 0,
+ "move", 89, 136,
+ "dir", DOWN, 0,
+ "wait", 1, 0,
+ "move", 65, 152,
+ "dir", DOWN, 0,
+ "wait", 1, 0,
+ "move", 71, 139,
+ "dir", RIGHT, 0,
+ "wait", 1, 0,
+ "move", 59, 128,
+ "dir", LEFT, 0,
+ "wait", 1, 0,
+ "move", 47, 79,
+ "dir", LEFT, 0,
+ "wait", 1, 0,
+ "move", 80, 73,
+ "dir", RIGHT, 0,
+ "wait", 1, 0,
+ "move", 53, 52,
+ "dir", RIGHT, 0,
+ "wait", 1, 0,
+ "move", 52, 37,
+ "dir", RIGHT, 0,
+ "wait", 1, 0,
+ "move", 35, 35,
+ "dir", RIGHT, 0,
+ "wait", 1, 0,
+ "move", 62, 105,
+ "dir", DOWN, 0,
+ "wait", 1, 0;
+ initialmove;
+ initnpctimer;
+ .distance = 5;
+ .sex = G_MALE;
+}
+003-1,107,80,0 script Guard Biscop NPC_GUARD1,{
+ if (getq(TulimsharQuest_WaterForGuard) == 1)
+ {
+ CheckGuard(17);
+ } else {
+ npctalkonce l("No one is allowed past this point.");
+ }
+ end;
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+
+
+003-1,114,83,0 script #tulim-guardhouse NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ if (countitem(TulimsharGuardCard) >= 1) goto L_Warp;
+ dispbottom l("Only Tulimshar Guards are allowed in this building.");
+ end;
+
+L_Warp:
+ warp "003-10", 42, 79;
+ end;
+}
diff --git a/npc/003-1/magic.txt b/npc/003-1/magic.txt
new file mode 100644
index 0000000..3eb9367
--- /dev/null
+++ b/npc/003-1/magic.txt
@@ -0,0 +1,45 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Controlled Warp to Magic School (+whatever magic stuff we need to add later)
+
+003-1,34,33,0 script #MagicSchoolGate1 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ // Event Restrictions
+ if (countitem(Event1HSword)+countitem(Event2HSword)+countitem(EventBow)+countitem(EventWand)+countitem(RentCart)) {
+ mesc l("You cannot enter here while you have event weapons or a cart."), 1;
+ close;
+ }
+ // Main Quest Event
+ if (LUA_ASKED_TO_SAVE_PROFESSOR) {
+ .@mapn$="0030@"+getcharid(0);
+ // Instance doesn't exists
+ if (!(isinstance(LUA_ASKED_TO_SAVE_PROFESSOR)) || instanceowner(LUA_ASKED_TO_SAVE_PROFESSOR) != getcharid(3)) {
+ .@inst = instance_create("Academy "+getcharid(0), getcharid(3), IOT_CHAR);
+ instance_attachmap("003-0", .@inst, false, .@mapn$);
+ // Instance lasts 15 minutes
+ instance_set_timeout(900, 900, .@inst);
+ instance_init(.@inst);
+ LUA_ASKED_TO_SAVE_PROFESSOR=.@inst;
+ }
+ /* else {
+ // Instance already exists: You've failed previously?
+ instance_set_timeout(900, 900, .@inst);
+ }
+ */
+ warp .@mapn$, 48, 51;
+ end;
+ }
+ /*
+ if (countitem(JesusalvaGrimorium) <= 0 || MAGIC_LVL < 2) {
+ slide 36, 39;
+ percentheal -5, -10;
+ dispbottom l("Powerful magic repels you away from this magic place!");
+ }
+ */
+ warp "003-0", 48, 51;
+ end;
+}
+
diff --git a/npc/003-1/mahoud.txt b/npc/003-1/mahoud.txt
new file mode 100644
index 0000000..db41e5a
--- /dev/null
+++ b/npc/003-1/mahoud.txt
@@ -0,0 +1,59 @@
+// TMW-2 Script
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Mahoud is the Tulimshar Well Master
+// TODO: Chance to lose a bit of GP by getting water with money inside.
+// I think water should not be so OP, and some minor RNG would be nice here
+
+003-1,46,79,0 script Mahoud NPC_PLAYER_ARGAES,{
+ mesn;
+ mes l("I can fill your bottle with water for only @@ gp the bottle.", .COST_PER_BOTTLE);
+ mes l("After all, I am the Well Master!");
+ input .@count;
+
+ if (.@count == 0)
+ close;
+ .@Cost = .@count * .COST_PER_BOTTLE;
+ .@empty = countitem(EmptyBottle);
+
+ if (.@empty < .@count)
+ goto L_NotEnoughBottles;
+ if (Zeny < .@Cost)
+ goto L_NotEnoughMoney;
+ getinventorylist;
+ inventoryplace BottleOfTonoriWater, .@count;
+
+ Zeny=Zeny-.@Cost;
+ delitem EmptyBottle, .@count;
+ getitem BottleOfTonoriWater, .@count;
+ close;
+
+L_NotEnoughBottles:
+ mes "";
+ mesn;
+ mes l("You don't have that many empty bottles!");
+ close;
+
+L_NotEnoughMoney:
+ mes "";
+ mesn;
+ mes l("You don't have enough gold! You need @@ gp.", .@Cost);
+ close;
+
+OnInit:
+ .COST_PER_BOTTLE = 50;
+ .sex = G_MALE;
+ .distance = 7;
+
+ .@npcId = getnpcid(.name$);
+ // Check items.xml for info about this
+ setunitdata(.@npcId, UDT_HEADTOP, InfantryHelmet);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SailorShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 17);
+
+ end;
+}
diff --git a/npc/003-1/malivox.txt b/npc/003-1/malivox.txt
new file mode 100644
index 0000000..f35653a
--- /dev/null
+++ b/npc/003-1/malivox.txt
@@ -0,0 +1,46 @@
+// Author:
+// Saulc
+
+003-1,114,106,0 script Malivox NPC_PLAYER_TONORI,{
+
+ speech S_LAST_NEXT,
+ l("I am @@, an alchemist specialized in reset potions.", .name$);
+
+ select
+ l("Can you reset my stats please?"),
+ l("You are weird, I have to go sorry.");
+
+ switch (@menu)
+ {
+ case 1:
+ goto L_ResetStats;
+ case 2:
+ goto L_Quit;
+ }
+
+L_ResetStats:
+ mesn;
+ mesq l("Status point reset can't be undone. Do you really want this?");
+
+L_ConfirmReset:
+ ConfirmStatusReset();
+ goto L_Quit;
+
+
+L_Quit:
+ goodbye;
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, FancyHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SailorShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, BromenalPants);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 17);
+
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+}
diff --git a/npc/003-1/mapflags.txt b/npc/003-1/mapflags.txt
new file mode 100644
index 0000000..5b342e2
--- /dev/null
+++ b/npc/003-1/mapflags.txt
@@ -0,0 +1,23 @@
+003-1 mapflag mask 1
+003-1 mapflag town
+003-1 mapflag nopenalty
+003-2 mapflag zone indoors
+003-3 mapflag zone indoors
+003-4 mapflag zone indoors
+003-5 mapflag zone indoors
+003-6 mapflag zone indoors
+003-7 mapflag zone indoors
+003-8 mapflag zone indoors
+//003-9 mapflag zone indoors
+003-10 mapflag zone indoors
+//003-11 mapflag zone indoors
+//003-12 mapflag zone indoors
+003-13 mapflag zone indoors
+
+// Magic Council
+003-0 mapflag zone indoors
+003-0-1 mapflag zone indoors
+003-0-2 mapflag zone indoors
+
+// Town Walls are a no penalty zone
+003-1-2 mapflag zone indoors
diff --git a/npc/003-1/mariusthebard.txt b/npc/003-1/mariusthebard.txt
new file mode 100644
index 0000000..8a2701c
--- /dev/null
+++ b/npc/003-1/mariusthebard.txt
@@ -0,0 +1,231 @@
+// TMW2 Script
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Marius the Bard is a bard. Helps player with the world's background story.
+
+003-1,88,135,0 script Marius The Bard NPC_ELVEN_MAN_TRADER,{
+ mesn;
+ mesq l("Hello adventurer, what may this humble minstrel do for you today?");
+ next;
+
+L_Main:
+ menu
+ l("Who, or what are you?"), L_Who,
+ l("Where exactly am I?"), L_Where,
+ l("Can you sing me a song?"), L_Music,
+ l("Actually, nothing. Bye!"), L_Bye;
+
+L_Who:
+ mes "";
+ mesn;
+ mesq l("I am a bard! I used to be an elf trader, but music got me for good.");
+ next;
+ mesq l("Now I travel by the world, composing songs about the things I see.");
+ next;
+ mesq l("I try to improve my skills every day. One day, I will sing a song no one will ever forget.");
+ next;
+ goto L_Main;
+
+L_Where:
+ mes "";
+ mesn;
+ mesq l("This is Tulishmar, the oldest of human cities.");
+ next;
+ mesq l("It is a port city at the south of the continent. Main economic activities are mining and spices trade.");
+ next;
+ mesq l("The biggest mine, where you could find Mana Stones in the past, is now entirely depleted. Not a single stone left.");
+ next;
+ mesq l("The magic council have only a handful set of them, and they let only the most skilled ones get it.");
+ next;
+ mesq l("If you want, you can ask there for one. They are at the big building at northwest.");
+ next;
+ goto L_Main;
+
+L_Music:
+ mesc l("But do you want to hear a song about the world, or about grinding?");
+ menu
+ l("Sing me about the world!"), L_Music_World,
+ l("Sing me the legend of the five heroes!"), L_Music_Heroes,
+ l("Sing me the fate of the weapons!"), L_Music_Fates,
+ l("Sing me about grinding!"), L_Music_Grind,
+ l("Sing me about slaying Pinkies!"), L_Music_Pinkie,
+ l("Sing me about miscellaneous monsters!"), L_Music_Misc;
+ // ???
+ mes "";
+ goto L_Music;
+
+// NOTE: Rewriting this song is always OK.
+// The last line is always bigger than the previous ones.
+L_Music_World:
+ mes "";
+ mesn;
+ mesq l("I will sing a song about the Mana War and current times.");
+ next;
+ mes l("In times of the fire, magic came to save us.");
+ mes l("But we took every stone, and restricted the magic.");
+ mes l("Ah! Greedy humans! Why had we to desire?");
+ mes l("Ah! Greedy humans! How ignorant were we, to ever do that?");
+ next;
+ mes l("Saul and Fefe did a great revolution,");
+ mes l("They wanted magic to be once again free!");
+ mes l("Ah! Greedy humans! Why did we had to fight?");
+ mes l("Ah! Greedy humans! Couldn't we happy with little?");
+ next;
+ mes l("The mana war stroke, and many people died,");
+ mes l("The Mana Stones were stolen, in evil hands have fallen!");
+ mes l("Ah! Greedy humans! Just how big is our greed?");
+ mes l("Ah! Greedy humans! Things will never be as they used to be!");
+ next;
+ mes l("The mage thief tried to all power absorb,");
+ mes l("But instead of dying a Monster King he became!");
+ mes l("Ah! Greedy humans! We pay the price for our actions,");
+ mes l("Ah! Greedy humans! The Monster War will now rage the globe!");
+ next;
+ mes l("But hope is not lost, said the Sages of Fate!");
+ mes l("Because heroes are not born, rather, they are made!");
+ mes l("Ah! Greedy humans! Stand up to save our world!");
+ mes l("Ah! Greedy humans! End this war which our greed has stroke!");
+ next;
+ goto L_Main;
+
+L_Music_Heroes:
+ mes "";
+ mesn;
+ mesq l("I will sing a song about the Five Legendary Heroes myth.");
+ next;
+ mes l("Once upon a time, five mighty heroes emerged;");
+ mes l("Aegis with their steadfast shield, nigh impregnable;");
+ mes l("The tyrant, which could shot from any distance;");
+ mes l("The mightiest mage, which had control over the runes;");
+ mes l("And Demure, the Queen of Dragons.");
+ next;
+ mes l("Their fight was not damned,");
+ mes l("And help to obtain they were able.");
+ mes l("Wielding the lightbringer came the ace,");
+ mes l("Whom put an end at their foes,");
+ mes l("And brought peace to the land.");
+ next;
+ mes l("It was said that these five heroes will once again emerge;");
+ mes l("And a great threat they shall defeat.");
+ mes l("Led by the Lightbringer");
+ mes l("The innominable they shall face");
+ mes l("And rejoice will come from their feats.");
+ next;
+ mes l("However, watch out!");
+ mes l("For their weapons has a will on them.");
+ mes l("Don't be deemed unworthy,");
+ mes l("For yourself can obtain tandem!");
+ next;
+ goto L_Main;
+
+L_Music_Fates:
+ mes "";
+ mesn;
+ mesq l("I will sing a song about the fate of five legendary weapons.");
+ next;
+ mes l("Once their fight was over,");
+ mes l("The heroes met their rest.");
+ mes l("The axe, returned to its owner,");
+ mes l("The runes, burried with its owner.");
+ next;
+ mes l("The aegis, entrusted to the tree,");
+ mes l("Tyranny as well, but to a different tree.");
+ mes l("And the lightbringer,");
+ mes l("King of all heroes,");
+ mes l("Now wanders over the land.");
+ next;
+ mes l("The harsh pinkie holds secrets,");
+ mes l("While the tyrant desires to see skill.");
+ mes l("Demure accepts challengers,");
+ mes l("And the runes wait for the grave to be found.");
+ next;
+ mes l("Neither difficult, neither clear,");
+ mes l("For extreme power they hold.");
+ mes l("Once the five are once again assembled,");
+ mes l("The engine of fate will once again move!");
+ next;
+ goto L_Main;
+
+L_Music_Grind:
+ mes "";
+ mes l("Grind grind grind the slime!");
+ mes l("Tunnel through the caves!");
+ mes l("In TMW2 there is");
+ mes l("Nothing so sublime!");
+ next;
+ mes l("♪There is a server♪");
+ mes l("TMW2");
+ mes l("♪Hi ho, no one on♫");
+ mes l("Then along came a soul as happy as can be");
+ next;
+ mesc l("yawns");
+ mes l("So what can I say, except, you're welcome");
+ mes l("For all the feedback, you know");
+ mes l("There's no thank me, its'kay you're welcome");
+ mes l("I guess I love the server, we all know ♪");
+ next;
+ mes l("Far over, the misty Nivalis cold ♪");
+ mes l("To dungeon deep, and cavern old");
+ mes l("We must away");
+ mes l("ee break of day");
+ mes l("To seek our pale, enchanted gold");
+ mes l("Why does death embrance me so much today?");
+ next;
+ mesc l("Authorship: Xanthem (DiamondPython)");
+ mesc l("Date: 2019-03-05, 03:14 UTC");
+ next;
+ goto L_Main;
+
+L_Music_Pinkie:
+ mes "";
+ mes l("Pinkie, pinkie,pinkie, oh how i luvs thee;");
+ mes l("So fine and pink, tasty too!");
+ next;
+ mes l("♪ Pinkie,pinkie,pinkie, you're so fine.");
+ mes l("Pinkie,pinkie,pinkie, your blood runs like wine. ♪");
+ next;
+ mes l("There I was knee deep in pinkie pattie,");
+ mes l("Lost without an acorn.");
+ next;
+ mes l("If life gets so a person cannot laugh,"); // Out of context
+ mes l("Life isn't worth the living.");
+ mes l("What else like a Pinkie?"); // Not from Cordo
+ next;
+ mesc l("Authorship: Former_Cordo (Cordo)");
+ mesc l("Date: 2020-03-27, 01:30 UTC");
+ next;
+ goto L_Main;
+
+L_Music_Misc:
+ mes "";
+ mes l("Ohhh moubiii");
+ mes l("Ohhh moubiii");
+ mes l("You make me dance like a monkey");
+ mes l("Ohh Moubi Moubi you are too pink, that my eyes get shrink");
+ mes "";
+ mesc l("Authorship: Manatauro");
+ mesc l("Date: 2021-02-24, 02:36 UTC");
+ next;
+ mes l("Oh, I was wee lad on the beach singing the blub song");
+ mes l("One day I saw myself a rich man ♪");
+ mes l("Blub, blub, blub");
+ mes l("That's the Blub Song");
+ mes "";
+ mesc l("Authorship: Former_Cordo (Cordo)");
+ mesc l("Date: 2020-04-05, 14:40 UTC");
+ next;
+ goto L_Main;
+
+L_Bye:
+ mes "";
+ mesn;
+ mesq lg("Good bye my friend, and safe travels!");
+ close();
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/003-1/michel.txt b/npc/003-1/michel.txt
new file mode 100644
index 0000000..056bc82
--- /dev/null
+++ b/npc/003-1/michel.txt
@@ -0,0 +1,73 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// This stuff should be moved somewhere else...
+
+003-1,89,109,0 script Michel NPC_BACCHUS,{
+
+ mesn;
+ mesq l("These people have lots of unspent Strange Coins! Waw!");
+
+ HallOfCoins();
+
+ // Anyone with GM Level, staff or not, is allowed to latest GM logs
+ if (!getgmlevel()) goto L_Main;
+
+ next;
+ HallOfGMLog();
+
+ // Only Admins are allowed to change the Referral Scoreboard
+ if (!is_admin()) goto L_Main;
+ if (is_admin()) goto L_GMOnce;
+ close;
+
+L_Main:
+ if (!$REFERRAL_IDS[#REFERRAL_PROG])
+ close;
+ next;
+ mesn;
+ mesq l("Hey, I see you have appointed @@ players to this game. Good job!", $REFERRAL_IDS[#REFERRAL_PROG]);
+ if ($REFERRAL_IDS[#REFERRAL_PROG] > 20)
+ mesc l("Uhm, just remember it'll be manually verified before prizes are given... Don't even think on cheating!"), 1;
+ close;
+
+L_GMOnce:
+ next;
+ .@nb = query_sql("SELECT SUM(value) FROM `mapreg` WHERE varname='$REFERRAL_IDS' LIMIT 2", .@value);
+ @total=.@value[0];
+L_GM:
+ mesc "Referral Event status: " + ($REFERRAL_ENABLED ? "##2ACTIVE##0" : "##1INACTIVE##0");
+ mesc "Total refers count: "+@total;
+ mes "";
+ select
+ "Close",
+ "Toggle Referral Event",
+ "Scoreboard",
+ "CLEAR REFERRAL ID ARRAY",
+ "Close";
+ mes "";
+ switch (@menu) {
+ case 2:
+ $REFERRAL_ENABLED=!$REFERRAL_ENABLED; logmes "Enabled REFER event.", LOGMES_ATCOMMAND; break;
+ case 3:
+ HallOfReferral(); break;
+ case 4:
+ mesc "Are you sure?", 1;
+ next;
+ if (askyesno() == ASK_YES) {
+ deletearray($REFERRAL_IDS);
+ logmes "##1Deleted PERMANENTLY the REFER event scoreboard.##0", LOGMES_ATCOMMAND;
+ .@nb = query_sql("SELECT SUM(value) FROM `mapreg` WHERE varname='$REFERRAL_IDS' LIMIT 2", .@value);
+ @total=.@value[0];
+ }
+ default: close;
+ }
+ next;
+ goto L_GM;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/003-1/neko.txt b/npc/003-1/neko.txt
new file mode 100644
index 0000000..fd461a4
--- /dev/null
+++ b/npc/003-1/neko.txt
@@ -0,0 +1,121 @@
+// TMW-2 Script
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Another shopkeeper which babbles about Jean Shorts, how Cave Snake drops them
+// and encourage players to find it. He pays 6.000 GP and gives 1620 xp for one.
+// In future, this could grant you discounts on his shop, or allow a quest with
+// a family member from his.
+
+003-1,103,106,0 script Neko NPC_M_SHOPKEEPER,{
+ .@q=getq(TulimsharQuest_Neko);
+ mesn;
+ mesq l("Only finest wares!");
+ mes "";
+ select
+ l("Trade"),
+ rif(BaseLevel > 20 && .@q == 0, l("Why do you only use the silk robe? Don't you have a shorts or something?")),
+ rif(.@q == 1 && countitem(JeansShorts) >= 1, l("Hey... I found a Jeans Shorts. Is it yours?")),
+ l("Leave");
+
+ if (@menu == 2) {
+ mesn;
+ mesq l("Oh, that's a long story.");
+ next;
+ mesn;
+ mesq l("You see, I was walking in the secret caves near Ched, and... well...");
+ next;
+ mesn;
+ mesq l("The @@ stole my @@. Hahah. I can't find anywhere else to buy it.", getmonsterlink(CaveSnake), getitemlink(JeansShorts));
+ next;
+ setq TulimsharQuest_Neko, 1;
+ mesn;
+ mesq l("If you bring friends, I'm sure they'll be no match. Ah... How many people already lost their shorts to Cave Snakes?");
+ next;
+ if (getq(TulimsharQuest_AnwarField) < 10 && TUTORIAL) {
+ mesn;
+ mesq l("Actually, Anwar offered me some ugly, bright orange pants. I thanked him, of course, I prefer this robe than... that.");
+ next;
+ mesn;
+ mesq l("Thinking well, I've heard Cyndala could bleach these pants for free; Must be because their ugliness.");
+ next;
+ }
+ }
+ if (@menu == 3) {
+ getexp rand(120,200), 0;
+ setq TulimsharQuest_Neko, 2;
+ mesn;
+ mesq l("Oh... Wow! I'm surprised.");
+ next;
+ mesn;
+ mesq l("Please, keep it. I don't need it at all!");
+ next;
+ mesn;
+ mesq l("This silk robe is more than enough, and you are fighting, you need the def bonus more than me. %%2");
+ next;
+ }
+
+ closedialog;
+ if (@menu == 1) {
+ npcshopattach(.name$);
+ shop .name$;
+ }
+ goodbye;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SilkRobe);
+ //setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers); // FIXME: LeatherTrousers are BROKEN!
+ setunitdata(.@npcId, UDT_WEAPON, AssassinBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 26);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 2);
+
+ sleep(SHOPWAIT);
+ tradertype(NST_MARKET);
+ sellitem EarthPowder, 12000, 1;
+ sellitem ShortTankTop, 8000, 1;
+ sellitem TrainingBow, 990, 2;
+ sellitem SilkGloves, -1, 1;
+ sellitem LeatherTrousers, -1, 1;
+ sellitem CottonCloth, -1, 3;
+ sellitem RoastedMaggot, -1, 2;
+ sellitem ArrowAmmoBox,-1,rand(5,10);
+ sellitem Arrow, -1, rand(10000,30000);
+ sellitem CroconutBox, rand(2650,2950), 4;
+ sellitem EmptyBox, -1, 2;
+ sellitem ChamomileTea, getiteminfo(ChamomileTea, ITEMINFO_BUYPRICE)*15/10, 10;
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+
+OnClock1149:
+ restoreshopitem SilkGloves, -1, 1;
+ restoreshopitem LeatherTrousers, -1, 1;
+OnClock2359:
+ restoreshopitem EarthPowder, 12000, 1;
+ restoreshopitem ShortTankTop, 8000, 1;
+ restoreshopitem TrainingBow, 990, 2;
+ restoreshopitem CottonCloth, 3;
+ restoreshopitem RoastedMaggot, 2;
+ restoreshopitem ArrowAmmoBox,rand(5,10);
+ restoreshopitem Arrow, rand(10000,30000);
+ restoreshopitem CroconutBox, rand(2650,3000), 4;
+ restoreshopitem EmptyBox, 2;
+ restoreshopitem ChamomileTea, getiteminfo(ChamomileTea, ITEMINFO_BUYPRICE)*15/10, 10;
+ end;
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+}
diff --git a/npc/003-1/ninathetraveler.txt b/npc/003-1/ninathetraveler.txt
new file mode 100644
index 0000000..3ef244e
--- /dev/null
+++ b/npc/003-1/ninathetraveler.txt
@@ -0,0 +1,111 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// The Travelers travel around the world telling stories.
+
+003-1,56,143,0 script Nina The Traveler NPC_F_COINKEEPER,{
+
+ mesn;
+ if (strcharinfo(0) == $MOST_HEROIC$) mesq l("Wow! Are you @@? Everyone, in every city, talks about you!", $MOST_HEROIC$);
+ if (strcharinfo(0) == $MOST_HEROIC$) next;
+
+ mesq l("Hello. I am @@, and I am from a family of travellers. We travel though the whole world, looking for exotic goods.", .name$);
+ next;
+ mesq l("You can buy rare items with me, or I can tell you about different cities in our world.");
+
+L_Menu:
+ mes "";
+ menu
+ l("I want to trade with you."), L_Trade,
+ l("Tell me about Tulimshar."), L_Tulim,
+ l("Tell me about Hurnscald."), L_Hurns,
+ l("Tell me about Artis."), L_Artis,
+ l("Tell me about Halinarzo."), L_Halin,
+ l("Sorry, I'll pass."), L_Close;
+
+L_Tulim:
+ mes "";
+ mesn;
+ mesq l("Tulimshar is the oldest human city, and its foundation is the year zero of our calendar.");
+ next;
+ mesq l("The city only flourished because Janett Platinum had the idea to build city walls surrounding this city.");
+ next;
+ mesq l("The desert climate means you'll find mostly maggots and scorpions. Their drops include cactus drinks, cake, knifes, black pearls, gold, and other common things.");
+ next;
+ mesq l("You can find for a good price desert equipment and some kind of dyes. You find all sort of crafters, artisans and warriors here.");
+ next;
+ goto L_Menu;
+
+L_Hurns:
+ mes "";
+ mesn;
+ mesq l("Hurnscald was founded after Tulimshar, in more fertile lands. Their walls are not so sturdy as the ones of Tulimshar.");
+ next;
+ mesq l("Under the leadership of King Wusher, they were the first to accept immigrants from other races. You will find humans and non-humans there.");
+ next;
+ mesq l("The fertile climate is ideal for mushrooms. You can also find lots of wood.");
+ next;
+ mesq l("Their economy provide many edible items and potions.");
+ next;
+ goto L_Menu;
+
+L_Artis:
+ mes "";
+ mesn;
+ mesq l("Artis is a city port founded after the Great Fire on the other continent.");
+ next;
+ mesq l("People say it is the second biggest city from the world.");
+ next;
+ mesq l("Different kind of monsters live near the city. For example, blubs. I have no idea of what are those.");
+ next;
+ mesq l("People usually dock there when travelling to the second continent. Nothing exceptional about economy.");
+ next;
+ if ($FIRESOFSTEAM) {
+ mesq l("They used to export food and other things but there has been radio silence recentely; Which is why Andrei Sakar and a group of adventurers borrowed Nard's ship and went to investigate.");
+ next;
+ }
+ goto L_Menu;
+
+L_Halin:
+ mes "";
+ mesn;
+ mesq l("Halinarzo was founded to explore Mana Stones.");
+ next;
+ mesq l("You can find both huge swamps, as huge desertic areas near and on it.");
+ next;
+ mesq l("Lizards are the main monster found, and they steal gold from innocent bypassers.");
+ next;
+ mesq l("Without any mana stone left, and because the walls were not very strong, most of the city was destroyed.");
+ next;
+ mesq l("Unlike many other cities, if you want people in eternal need of items, there is a good place to look.");
+ next;
+ goto L_Menu;
+
+
+L_Trade:
+ mesn;
+ mesq l("Use your @@ as currency!", getitemlink(StrangeCoin));
+ tutmes l("%s is obtained during events, daily logins, heroic deeds, gifts, etc. But cannot be bought with real money.", getitemlink(StrangeCoin));
+ next;
+ openshop "Aeros Trader";
+ closedialog;
+
+L_Close:
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, UglyChristmasSweater);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, JeansShorts);
+ setunitdata(.@npcId, UDT_WEAPON, CandorBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 27);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 11);
+ npcsit;
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/003-1/oldwell.txt b/npc/003-1/oldwell.txt
new file mode 100644
index 0000000..ff96e8a
--- /dev/null
+++ b/npc/003-1/oldwell.txt
@@ -0,0 +1,38 @@
+// TMW-2 Script
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Free well that give sewer water. a good place for tulim kids to miss school :b
+
+003-1,53,144,0 script Old Well#003-1 NPC_NO_SPRITE,{
+
+ mesc l("You found an old well with a bucket on it! It's time to fill plenty of @@!", getitemlink(EmptyBottle));
+ input .@count;
+
+ if (.@count == 0)
+ close;
+ .@empty = countitem(EmptyBottle);
+
+ if (.@empty < .@count)
+ goto L_NotEnoughBottles;
+ getinventorylist;
+ inventoryplace BottleOfSewerWater, .@count;
+
+ delitem EmptyBottle, .@count;
+ getitem BottleOfSewerWater, .@count;
+ closeclientdialog;
+ dispbottom("Eek, Sewer Water! What the?! Better not drink this!");
+ close;
+
+L_NotEnoughBottles:
+ mesc l("You don't have that many empty bottles!");
+ close;
+
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
diff --git a/npc/003-1/quirino.txt b/npc/003-1/quirino.txt
new file mode 100644
index 0000000..2e78ebd
--- /dev/null
+++ b/npc/003-1/quirino.txt
@@ -0,0 +1,264 @@
+// TMW2 Script
+// Author:
+// Ernando <ernando.quirino@hotmail.com> (Creator)
+// Jesusalva <admin@tmw2.org>
+// Description:
+// Hunger Gamesâ„¢ version for The Mana World Brazil v2, created by Ernando Quirino.
+// Entrance to Hungry Quirin Arena
+// Variables:
+// EQ - Ernando Quirino
+// $@EQ_TIMER
+// < gettimetick(2): Can be open!
+// > gettimetick(2): Registration open!
+// = gettimetick(2): Event start!
+// $@EQ_STATUS
+// 0: Register open
+// 1: Fight happening
+// 2: Event finished
+
+003-1,48,73,0 script Quirin NPC_ERNANDO,{
+ function quirinInfo;
+ function quirinHonor;
+ if (is_admin())
+ goto L_Hub;
+
+ if ($@EQ_STATUS) goto L_NoSeason;
+ if ($@EQ_STATUS == 0) {
+ if ($@EQ_TIMER < gettimetick(2))
+ goto L_Hub;
+ else
+ goto L_Register;
+ }
+
+ npctalk3 l("Bug, report me!");
+ end;
+
+L_NoSeason:
+ // If it finished, it can be done again in one hour
+ if ($@EQ_STATUS == 2) {
+ if ($@EQ_TIMER+3600 < gettimetick(2)) {
+ $@EQ_STATUS=0;
+ npctalkonce l("A sec... And... Done! I just finished cleaning it up!");
+ } else {
+ npctalkonce l("I'm currently cleaning the arena, wait just @@ more.", FuzzyTime($@EQ_TIMER+3600));
+ openstorage(2, STORAGE_ACCESS_GET);
+ end;
+ }
+ } else {
+ npctalkonce l("I'm currently hosting a fight.");
+ }
+ end;
+
+L_Register:
+ mesn;
+ mesq l("Hello player, do you want to participate on HUNGRY QUIRIN event?!");
+ if ($@EQ_TIMER+180 < gettimetick(2))
+ mesc l("Event will start in @@", FuzzyTime($@EQ_TIMER));
+ else
+ mesc l("Event will start in @@", FuzzyTime($@EQ_TIMER)), 1;
+ next;
+ select
+ l("Yeah, sign me up!"),
+ l("No, not at the moment."),
+ l("Does it counts to Honor Ranking?"),
+ l("You are holding a few items of mine..."),
+ l("Information");
+
+ switch (@menu) {
+ case 1:
+ goto L_SignUp;
+ case 2:
+ close;
+ case 3:
+ quirinHonor();
+ break;
+ case 4:
+ openstorage(2, STORAGE_ACCESS_GET);
+ closeclientdialog;
+ close;
+ break;
+ case 5:
+ quirinInfo();
+ }
+ goto L_Register;
+
+function quirinInfo {
+ mesn col(l("Hungry Quirin Arena Rules"), 3);
+ mesc l("1- You must not be carrying anything with you.");
+ mesc l("2- You must not use a cart. If you do, YOU WILL BE SEVERELY PENALIZED.");
+ mesc l("3- All items from the Arena are from the Arena. You won't carry any of them back with you.");
+ mesc l("4- Experience and Gold earned during this event can be kept.");
+ next;
+ mesn col(l("Hungry Quirin Arena Information"), 3);
+ mesc l("1- Survive. If you die, you will gain nothing. And people want to kill you.");
+ mesc l("2- Take everything you can find. You'll be warped without equip or healing items! Kill monsters to get some stuff too!");
+ mesc l("3- Trust nobody. There can be only one winner, and it must be you.");
+ mesc l("4- Take Care. Wildlife can kill you too. There can be traps.");
+ mesc l("5- Trust yourself. You will lose the moment you enter in panic. This arena is not for the weak-willed!");
+ next;
+ return;
+}
+
+function quirinHonor {
+ mesn;
+ mesq l("Of course it does. And the same level rules applies.");
+ next;
+ mesn;
+ mesq l("But if you believe in such cool challenge like mine there should be no dishonorable fight, comment it on Discord!");
+ next;
+ mesn;
+ mesq l("And it might be changed in a future patch %%g");
+ tutmes l("If you kill an opponent stronger than you, you will gain honor points. But if the oponent is 15 levels weaker than you, it will be NEGATIVE!"), l("About Scoreboards and Honor Points");
+ tutmes l("If you kill the same person within 30 minutes, honor will not fluctuate. The whole honor system is very experimental."), l("About Scoreboards and Honor Points");
+ tutmes l("Honor only applies to PvP fights. It can be seen on \"%s\" and rewards are given monthly for it.", b("@scoreboards"));
+ next;
+ return;
+}
+
+L_SignUp:
+ // Player cannot be carrying anything
+ if(Weight >= 1) goto L_Full;
+ getcartinventorylist();
+ if(@cartinventorylist_count>=1) goto L_Full;
+
+ // Warp player
+ if (rand2(1,2) == 1)
+ warp "001-8", rand2(42, 57), 42;
+ else
+ warp "001-8", rand2(42, 57), 57;
+
+ // Prevent further movements!
+ setpcblock(PCBLOCK_SOFT, true);
+ //dispbottom l("Stay ready!");
+ dispbottom l("##1DON'T MOVE until the signal. Stay ready! If you move, you will desync the client!");
+ close;
+
+L_Full:
+ mesn;
+ mesq l("You cannot bring anything to the arena. Please put everything into the storage.");
+ next;
+ mesn;
+ mesq l("I can do that for you, but you'll still need to go to storage to get them back.");
+ next;
+ select
+ l("Off to storage I go."),
+ l("PLEASE STORE ALL MY ITEMS"),
+ l("Alright, I don't like PVP anyways...");
+ mes "";
+ if (@menu == 2) {
+ closeclientdialog;
+ charcommand("@storeall 2");
+ if (Weight == 0)
+ goto L_SignUp;
+ }
+ close;
+
+L_Hub:
+ mesn;
+ mesc l("Welcome to HUNGRY QUIRIN ARENA mangment panel.");
+ next;
+ mesn;
+ mesq l("I am Quirino Voraz, and my arena is the coolest PVP Arena on all Mana Worlds.");
+ mesq l("However, I need a tax to start, and you need to arrange players. There are no refunds.");
+ next;
+ mes l("Current player count: @@/5 must be online.", getusers(1));
+ mes l("Current arena player count: @@ on map. (Min. 3 to begin event)", getmapusers("001-8"));
+
+ // Open event? Minimum 5 connections or GM_OVERRIDE flag.
+ if ($@EQ_TIMER < gettimetick(2) && !$@EQ_STATUS && (getusers(1) >= 5 || $@GM_OVERRIDE)) {
+ next;
+ mesc l("Activate event?"), 1;
+ mesc l("It'll cost @@ GP", .price);
+ if (Zeny < .price)
+ close;
+ menuint
+ l("NO"), -1,
+ l("Give players 5 minutes"), 300,
+ l("Give players 10 minutes"), 600,
+ l("Give players 15 minutes"), 900,
+ l("Give players 20 minutes"), 1200,
+ l("Give players 25 minutes"), 1500,
+ l("Give players 30 minutes"), 1800,
+ l("You are holding a few items of mine..."), -2;
+ mes "";
+ if (@menuret > 0) {
+ Zeny=Zeny-.price;
+ $@EQ_TIMER=gettimetick(2)+@menuret;
+ initnpctimer;
+ setcells "001-8", 41, 58, 41, 43, 6, "qhubN";
+ setcells "001-8", 41, 58, 56, 58, 6, "qhubS";
+ announce("##1HUNGRY QUIRIN EVENT: ##3##BRegister is now open! Talk to Quirin, on Tulimshar Councilroom!", bc_all|bc_npc);
+ channelmes("#world", strcharinfo(0)+" invites everyone to HUNGER QUIRIN PVP ARENA in Tulimshar. It'll start in "+FuzzyTime($@EQ_TIMER));
+ }
+ if (@menuret == -2) {
+ openstorage(2, STORAGE_ACCESS_GET);
+ closeclientdialog;
+ }
+ close;
+ }
+
+ // Main Control menu. Not using l() on purpose.
+
+ select
+ rif($@EQ_STATUS == 0 && (getmapusers("001-8") >= 3 || $@GM_OVERRIDE) && is_gm(), "Start Event at once!"),
+ rif($@EQ_STATUS == 1 && is_master(), "Send wave of items and monsters!"),
+ rif($@EQ_STATUS == 0 && $@GM_OVERRIDE && is_admin(), "[DEBUG] Join Event"),
+ rif($@EQ_STATUS == 0 && $@GM_OVERRIDE && is_admin(), "[DEBUG] Join & Start Event Now"),
+ "I'm done.";
+
+ if (@menu == 1)
+ donpcevent("#QuirinoHUB::OnStart");
+ if (@menu == 2)
+ donpcevent("#QuirinoHUB::OnSendWave");
+ if (@menu == 3)
+ goto L_Register;
+ if (@menu == 4) {
+ addtimer 1000, "Quirin::OnDebugReg";
+ goto L_SignUp;
+ }
+
+ close;
+
+OnDebugReg:
+ donpcevent("#QuirinoHUB::OnStart");
+ end;
+
+// Each minute
+OnTimer60000:
+ // We must autostart event now
+ if ($@EQ_TIMER <= gettimetick(2)) {
+ if (getmapusers("001-8") >= 3 || $@GM_OVERRIDE) {
+ donpcevent("#QuirinoHUB::OnStart");
+ } else {
+ delcells "qhubN";
+ delcells "qhubS";
+ maptimer("001-8", 1000, "#QuirinoHUB::OnCancel");
+ announce("##1HUNGRY QUIRIN EVENT: ##3##BCancelled due lack of players!", bc_all|bc_npc);
+ }
+ end;
+ }
+ mapannounce "003-1", "Hungry Quirin starts in " + FuzzyTime($@EQ_TIMER) + " and there are " + getmapusers("001-8") + "/3 player(s) standing by." , 0;
+ mapannounce "001-8", "Hungry Quirin starts in " + FuzzyTime($@EQ_TIMER), 0;
+ initnpctimer;
+ end;
+
+OnInit:
+ .price=570;
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
+
+/*
+Blockwalls TileCondition and masks for setcells
+manaplus/src/enums/resources/map/blockmask.h
+
+ WALL = 0x80, // 1000 0000 = 128
+ AIR = 0x04, // 0000 0100 = 4
+ WATER = 0x08, // 0000 1000 = 8
+ GROUND = 0x10, // 0001 0000 = 16
+ GROUNDTOP = 0x20, // 0010 0000 = 32
+ PLAYERWALL = 0x40, // 0100 0000 = 64
+ MONSTERWALL = 0x02 // 0000 0010 = 2
+*/
diff --git a/npc/003-1/sailors.txt b/npc/003-1/sailors.txt
new file mode 100644
index 0000000..45b5966
--- /dev/null
+++ b/npc/003-1/sailors.txt
@@ -0,0 +1,180 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// The major reward from this one is knowledge about secret passages on Tulimshar.
+// The quest pays what you spend, except for travel fees. The real reward here
+// is knowledge, the fishing rod you'll need to make anyway, 150 XP and 20 JExp.
+// 1 - First Quest assigned
+// 2 - First Quest Complete
+// 3 - Second Quest assigned
+// 4 - Second Quest Complete
+
+003-1,112,93,0 script Sailors#003-1 NPC_ELVEN_MAN_TRADER_SITTING,{
+ if (BaseLevel < 12) goto L_Complete;
+ .@q = getq(TulimsharQuest_Sailors);
+ if (.@q == 4)
+ goto L_Complete;
+
+ if (.@q == 1)
+ goto L_Report1;
+ if (.@q == 3)
+ goto L_Report2;
+ mesn;
+ mesq lg("Hey, pal. This spot is very good, I can see the whole town from here.");
+ next;
+ mesn;
+ mesq lg("I am a trader from Nard's ship. We actually need supplies. Help us, and I'll help you.");
+ next;
+ mesn strcharinfo(0);
+ menu
+ rif(.@q == 0, l("What do you need?")), L_Quest1,
+ rif(.@q == 2, l("What do you need?")), L_Quest2,
+ l("Maybe another time."), -;
+ close;
+
+L_Complete:
+ hello;
+ end;
+
+L_Quest1:
+ mes "";
+ mesn;
+ mesq l("You're willing to help? Perfect. We need @@ @@, @@ @@ and @@ @@ for travel.", 1, getitemlink(FishBox), 2, getitemlink(CroconutBox), 3, getitemlink(CottonCloth));
+ next;
+ mesn;
+ mesq l("Cotton Cloth is sold at Candor, Croconut Boxes can be bought at the market. Fish, however, is a little more tricky.");
+ next;
+ mesn;
+ mesq l("If you hug the wall, there's a secret passage somewhere there. Well, there are many secret passages at Tulimshar.");
+ next;
+ mesn;
+ mesq l("You will find a fisher, maybe he is having a good time and can sell you a few boxes. And remember to keep your eye open.");
+ setq TulimsharQuest_Sailors, 1;
+ next;
+ mesn;
+ mesq l("There are secret caves on this city. In fact, Tulimshar holds many misteries.");
+ mesc l("Take care: Secret passages can be dangerous places (or not).");
+ tutmes l("You can get Croconut from Crocotree, and fill @@ purchased in the market.", getitemlink(EmptyBox)), l("Protip"), false;
+ close;
+
+L_Report1:
+ mesn;
+ mes l("@@/1 @@", countitem(FishBox), getitemlink(FishBox));
+ mes l("@@/2 @@", countitem(CroconutBox), getitemlink(CroconutBox));
+ mes l("@@/3 @@", countitem(CottonCloth), getitemlink(CottonCloth));
+ if (countitem(FishBox) < 1 ||
+ countitem(CroconutBox) < 2 ||
+ countitem(CottonCloth) < 3)
+ close;
+ next;
+ select
+ l("[Deliver all goods.]"),
+ l("[Maybe another time.]");
+ mes "";
+ if (@menu == 2)
+ close;
+ if (countitem(FishBox) < 1 ||
+ countitem(CroconutBox) < 2 ||
+ countitem(CottonCloth) < 3) {
+ mesn;
+ mesq l("Liar. Where are the goods? Are you trying to cheat me?!");
+ next;
+ mesn;
+ mesq l("You know Jesus Saves hates cheaters, right? If Saulc didn't asked me to double-check stuff...");
+ next;
+ mesn;
+ mesq l("For short, you would have lost all your items, wouldn't get anything, and there would be no refunds.");
+ next;
+ mesn;
+ mesq l("That's just a friendly advise. That's how things works around here.");
+ close;
+ }
+ inventoryplace Dagger, 1, CottonShirt, 1;
+ delitem FishBox, 1; // 7.500 GP → 3.750 GP
+ delitem CroconutBox, 2; // 12.000 GP → 10.600~11.800 GP
+ delitem CottonCloth, 3; // 2.000 GP
+ getexp 1508, 15;
+ Zeny=Zeny+3750; // Profit: 1800 GP → 2.400~1.200 GP
+ getitem Dagger, 1;
+ getitem CottonShirt, 1;
+ setq TulimsharQuest_Sailors, 2;
+ mesn;
+ mesq lg("Many thanks, your help has been invaluable. We're now capable to travel at ease.");
+ next;
+ mesn;
+ mesq l("Take care. Here, take this @@. You can sell it for some quick-spot cash, or use it as a weapon.", getitemlink(Dagger));
+ close;
+
+// Second Quest
+L_Quest2:
+ mes "";
+ mesn;
+ mesq l("You're willing to help? Perfect. We need @@ @@, @@ @@ and @@ @@ for travel.", 2, getitemlink(FishBox), 5, getitemlink(CroconutBox), 7, getitemlink(CottonCloth));
+ next;
+ mesn;
+ mesq l("Cotton Cloth is sold at Candor, Croconut Boxes can be bought at the market. Fish, however, is a little more tricky.");
+ next;
+ mesn;
+ mesq l("If you hug the wall, there's a secret passage somewhere there. Well, there are many secret passages at Tulimshar.");
+ next;
+ mesn;
+ mesq l("You will find a fisher, maybe he is having a good time and can sell you a few boxes. And remember to keep your eye open.");
+ setq TulimsharQuest_Sailors, 3;
+ next;
+ mesn;
+ mesq l("There are secret caves on this city. In fact, Tulimshar holds many misteries.");
+ mesc l("Take care: Secret passages can be dangerous places (or not).");
+ close;
+
+L_Report2:
+ mesn;
+ mes l("@@/2 @@", countitem(FishBox), getitemlink(FishBox));
+ mes l("@@/5 @@", countitem(CroconutBox), getitemlink(CroconutBox));
+ mes l("@@/7 @@", countitem(CottonCloth), getitemlink(CottonCloth));
+ if (countitem(FishBox) < 2 ||
+ countitem(CroconutBox) < 5 ||
+ countitem(CottonCloth) < 7)
+ close;
+ next;
+ select
+ l("[Deliver all goods.]"),
+ l("[Maybe another time.]");
+ mes "";
+ if (@menu == 2)
+ close;
+ if (countitem(FishBox) < 2 ||
+ countitem(CroconutBox) < 5 ||
+ countitem(CottonCloth) < 7) {
+ mesn;
+ mesq l("Liar. Where are the goods? Are you trying to cheat me?!");
+ next;
+ mesn;
+ mesq l("You know Jesus Saves hates cheaters, right? If Saulc didn't asked me to double-check stuff...");
+ next;
+ mesn;
+ mesq l("For short, you would have lost all your items, wouldn't get anything, and there would be no refunds.");
+ next;
+ mesn;
+ mesq l("That's just a friendly advise. That's how things works around here.");
+ close;
+ }
+ delitem FishBox, 2; // 7.500 GP → 3.750 GP
+ delitem CroconutBox, 5; // 12.000 GP → 10.600~11.800 GP
+ delitem CottonCloth, 7; // 2.000 GP
+ getexp 1508, 15;
+ Zeny=Zeny+15750; // Profit: 1800 GP → 2.400~1.200 GP
+ setq TulimsharQuest_Sailors, 4;
+ mesn;
+ mesq lg("Many thanks, your help has been invaluable. We're now capable to travel at ease.");
+ next;
+ mesn;
+ mesq l("Take care. This is a dangerous world, but I think that worse than being attacked by sea monsters, is starving from hunger!");
+ close;
+
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 5;
+ end;
+}
diff --git a/npc/003-1/sarah.txt b/npc/003-1/sarah.txt
new file mode 100644
index 0000000..6038389
--- /dev/null
+++ b/npc/003-1/sarah.txt
@@ -0,0 +1,108 @@
+// TMW2 Script
+// Author:
+// Saulc
+// Jesusalva
+// DangerDuck
+// Description:
+// Random NPC without any purpose but to give SerfHat. Uh.
+// TODO: Could be repeatable quest (eg. 60 GP for a cake every day, so you can have a 10 GP profit selling cakes)
+
+003-1,90,144,0 script Sarah NPC_FEMALE_TONORI,{
+ function quest_completed;
+ function quest_open;
+ function quest_started;
+ function AssignGHQ;
+
+ // Main Loop
+ do
+ {
+ .@q = getq(TulimsharQuest_Sarah);
+ if (.@q == 1)
+ quest_completed();
+ select
+ rif(!.@q, l("Hello, I'm new here! Can I help you?")),
+ menuaction(l("Quit"));
+
+ switch (@menu) {
+ case 1:
+ quest_started();
+ break;
+ }
+ } while (@menu != 2);
+
+ closedialog;
+ goodbye;
+ close;
+
+// Quest completed
+function quest_completed {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("It was so tasty, I can't eat anything more... Thank you.");
+ AssignGHQ();
+ return;
+}
+
+// Quest Core
+function quest_started {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Oh, Welcome then.");
+ speech S_LAST_NEXT,
+ l("Can you bring me 5 pieces of Cherry Cake? Pretty please?");
+ do
+ {
+ select
+ l("Here they are!"),
+ menuaction(l("Quit"));
+
+ switch (@menu) {
+ case 1:
+ quest_open();
+ break;
+ case 2:
+ mesc l("Protip: @@ is dropped by @@. It is a tough monster, you might need some strategy to kill it. @@ can be bought in shops.", getitemlink(CherryCake), getmonsterlink(GiantMaggot));
+ mesc l("%s can also be obtained from %s, at a lower drop rate.", getitemlink(CherryCake), getmonsterlink(Duck));
+ next;
+ break;
+ }
+ } while (@menu != 2);
+ return;
+}
+
+// Quest check
+function quest_open {
+ if (countitem(CherryCake) >= 5) {
+ speech S_FIRST_BLANK_LINE,
+ l("You brought me 5 @@ ! Here is your @@, as promised.",getitemlink(CherryCake), getitemlink(SerfHat));
+ delitem CherryCake,5;
+ getitem SerfHat,1;
+ getexp 80, 2;
+ setq TulimsharQuest_Sarah, 1;
+ close;
+ } else {
+ speech S_FIRST_BLANK_LINE,
+ l("Sorry, that is not the cake I love.");
+ close;
+ }
+ return;
+}
+
+// Grand Hunter Quest (post-quest)
+function AssignGHQ {
+ GHQ_Assign(Duck, "Holiday");
+ end;
+}
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, TerraniteArmor);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, RaidTrousers);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyesT);
+ setunitdata(.@npcId, UDT_WEAPON, CandorBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 19);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 16);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/003-1/sewer.txt b/npc/003-1/sewer.txt
new file mode 100644
index 0000000..a5faabd
--- /dev/null
+++ b/npc/003-1/sewer.txt
@@ -0,0 +1,49 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Notes:
+// TW: Tulimshar, West
+// TE: Tulimshar, East
+
+003-1,56,84,0 script #Sewer-TW NPC_NO_SPRITE,{
+ if (getq(TulimsharQuest_Sewers) == 0 && !countitem(MirrorLakeArmor)) {
+ dispbottom l("The sewer mouth is locked.");
+ end;
+ }
+ if (BaseLevel < 25 && !countitem(MirrorLakeArmor)) end;
+
+ mesc l("Descend into Tulimshar sewers?");
+ if (askyesno() == ASK_YES) {
+ closedialog;
+ warp "003-1-1", 57, 100;
+ dispbottom l("Blame Saulc.");
+ end;
+ }
+ close;
+}
+
+003-1,115,111,0 script #Sewer-TE NPC_NO_SPRITE,{
+ if (getq(TulimsharQuest_Sewers) == 0 && !countitem(MirrorLakeArmor)) {
+ dispbottom l("The sewer mouth is locked.");
+ end;
+ }
+ if (BaseLevel < 25 && !countitem(MirrorLakeArmor)) end;
+
+ mesc l("Descend into Tulimshar sewers?");
+ if (askyesno() == ASK_YES) {
+ closedialog;
+ warp "003-1-1", 143, 128;
+ dispbottom l("Blame Saulc.");
+ end;
+ }
+ close;
+}
+
+003-1,73,133,0 script #ToTheater NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ warp "003-9-1", 27, 37;
+ RegEasterEgg(EE_THEATER, 2);
+ end;
+}
diff --git a/npc/003-1/ship.txt b/npc/003-1/ship.txt
new file mode 100644
index 0000000..e23765d
--- /dev/null
+++ b/npc/003-1/ship.txt
@@ -0,0 +1,44 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// This script controls access to Ships, fixing variables.
+
+003-1,82,68,0 script TulimShip NPC_HIDDEN,0,0,{
+
+OnTouch:
+ EnterTown("Tulim");
+ goto L_Warp;
+
+L_Warp:
+ warp "002-3@"+LOCATION$, 31, 28;
+ closedialog;
+ close;
+}
+
+003-1,120,25,0 script TulimShip#M NPC_HIDDEN,0,0,{
+
+OnTouch:
+ EnterTown("Tulim");
+ goto L_Warp;
+
+L_Warp:
+ /* Is Hurnscald already liberated? Precendence. */
+ if (!$HURNS_LIBDATE) {
+ .@online=$@BG1_SIZE;
+ if (is_gm())
+ dispbottom l("GMs are NOT allowed on Hurnscald Liberation day.");
+ else if (.@online)
+ dispbottom l("Right click on the NPC to join the Liberation Force on Hurnscald.");
+ else
+ dispbottom l("The ship is locked, probably unable to leave port.");
+
+ if (!.@online)
+ npctalk3 col(l("A Game Master is required to begin the Liberation Day."), 1);
+ end;
+ }
+
+ warp "016-1@"+LOCATION$, 21, 26;
+ closedialog;
+ close;
+}
diff --git a/npc/003-1/shop.txt b/npc/003-1/shop.txt
new file mode 100644
index 0000000..86ca29b
--- /dev/null
+++ b/npc/003-1/shop.txt
@@ -0,0 +1,67 @@
+// TMW2 scripts.
+// Author:
+// Saulc
+
+003-1,108,110,0 trader Shop#bazar1 NPC_NO_SPRITE,{
+
+OnInit:
+ sleep(SHOPWAIT);
+ tradertype(NST_MARKET);
+
+ sellitem YellowDye, -1, 2;
+ sellitem RoundLeatherShield, -1, 2;
+ sellitem Knife, -1, 5;
+ sellitem TrainingAmmoBox, -1, rand(2,5);
+ sellitem ArrowAmmoBox, -1, rand(2,4);
+ sellitem Arrow, -1, 30000;
+ sellitem TreasureMap, 600, 1;
+ sellitem DesertHelmet, -1, 1;
+ sellitem InfantryHelmet, -1, 1;
+ sellitem LeatherGloves, -1, 1;
+ sellitem DesertHat, -1, 8;
+ sellitem SilkRobe, -1, 1;
+ sellitem CottonCloth, -1, 2;
+ sellitem Bread, -1, 15;
+ sellitem CroconutBox, rand(2800,2900), 6;
+ sellitem EmptyBottle, -1, 3; // You can buy some empty bottles here, but they're scarse
+ sellitem EmptyBox, -1, 4;
+
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+
+OnClock0621:
+ restoreshopitem DesertHelmet, 1;
+ restoreshopitem InfantryHelmet, 1;
+ restoreshopitem LeatherGloves, 1;
+OnClock1210:
+OnClock1757:
+OnClock0001:
+ restoreshopitem YellowDye, 2;
+ restoreshopitem RoundLeatherShield, 2;
+ restoreshopitem Knife, 5;
+ restoreshopitem TrainingAmmoBox, rand(2,5);
+ restoreshopitem ArrowAmmoBox, rand(2,4);
+ restoreshopitem Arrow, rand(10000,30000);
+ restoreshopitem TreasureMap, 600, 1;
+ restoreshopitem DesertHat, 8;
+ restoreshopitem SilkRobe, 1;
+ restoreshopitem CottonCloth, 2;
+ restoreshopitem Bread, 15;
+ restoreshopitem CroconutBox, rand(2800,3050), 6;
+ restoreshopitem EmptyBottle, 3;
+ restoreshopitem EmptyBox, 4;
+ end;
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+}
+
diff --git a/npc/003-1/silvia.txt b/npc/003-1/silvia.txt
new file mode 100644
index 0000000..a2f31d5
--- /dev/null
+++ b/npc/003-1/silvia.txt
@@ -0,0 +1,131 @@
+// TMW2 Script.
+// Author:
+// Saulc
+// Jesusalva
+
+003-1,109,150,0 script Silvia NPC_FEMALE_ARGAES,{
+
+ if (strcharinfo(0) == $MOST_HEROIC$) npctalk l("Oh my, the great @@ has come to talk to me!", $MOST_HEROIC$);
+ if (getq(TulimsharQuest_Swezanne) == 4) goto L_Message;
+ .@q2=getq2(TulimsharQuest_Swezanne);
+ if (.@q2 < santime()) goto L_Unallowed;
+ if (getq(TulimsharQuest_Swezanne) == 1 && getq(TulimsharQuest_Lifestone) < 2) goto L_Lifestone;
+ if (strcharinfo(0) != $MOST_HEROIC$) hello;
+ if (getq(MineQuest_Naem) == 1) goto L_Hubby;
+ end;
+
+L_Message:
+ mesn strcharinfo(0);
+ mesq l("Your mother asked me to say that she loves you.");
+ next;
+ mesn;
+ mesq l("Oh no, not another stranger she sends me to tell that!");
+ next;
+ mesn;
+ mesq l("She never leaves the shade of that tree, she is always sending messages by other people!!");
+ next;
+ mesn;
+ mesq l("Oh well... That's my mother, and this is why I love her.");
+ next;
+ inventoryplace CottonGloves, 1;
+ getitem CottonGloves, 1;
+ getexp 105,0;
+ setq1 TulimsharQuest_Swezanne, 1;
+ mesn;
+ mesq l("Thank you, @@. Please take this pair of gloves as a thank you.", strcharinfo(0));
+ close;
+
+L_Lifestone:
+ mesn;
+ mesq l("Hey! Good to see you. I was thinking how I could repay for what you've done for my mother.");
+ next;
+ mesn;
+ mesq l("I can make you a @@, and for that I will want a @@ and 500 GP.", getitemlink(LifestonePendant), getitemlink(Lifestone));
+ if (getq(TulimsharQuest_Lifestone) == 0) {
+ next;
+ mesn;
+ mesq l("I am not sure of who makes or haves Lifestones. Try looking outside the city. Who knows.");
+ close;
+ }
+ menu
+ rif(Zeny >= 500 && countitem(Lifestone) > 0, l("Yes, I accept the pendant!")), -,
+ l("Not now, but I may be back later."), L_Close;
+
+ // Whaaaat, this is a major error affecting several scripts!
+ if (Zeny < 500 || countitem(Lifestone) < 0) {
+ atcommand("@request Someone is cheating, call Jesusalva at once!");
+ atcommand("@ban \""+strcharinfo(0)+"\" 15mn"); // I truly hope they bother Jesusalva they were banned
+ disablenpc "Silvia";
+ close;
+ }
+ Zeny-=500;
+ delitem Lifestone, 1;
+ getitem LifestonePendant, 1;
+ setq(TulimsharQuest_Lifestone, 2);
+ mes "";
+ mesn;
+ mesq l("There you go! Thanks for all the help!");
+ close;
+
+L_Unallowed:
+ mesn;
+ mesq l("Ah, I wonder how my mother Swezanne is faring...");
+ next;
+ mesn;
+ mesq l("She must be thristy, fighting monsters on this sun... If somebody could give her Cactus Potions...");
+ close;
+
+L_Hubby:
+ mesc l("Did we brought everything Naem asked?");
+ mesf l("%d/%d %s",countitem(Aquada), 7, getitemlink(Aquada));
+ mesf l("%d/%d %s",countitem(PiouLegs), 6, getitemlink(PiouLegs));
+ mesf l("%d/%d %s",countitem(Cheese), 3, getitemlink(Cheese));
+ mesf l("%d/%d %s",countitem(HalfCroconut), 3, getitemlink(HalfCroconut));
+ mesf l("%d/%d %s",countitem(PurpleBlobime), 1, getitemlink(PurpleBlobime));
+ next;
+ if (askyesno() == ASK_NO) { closeclientdialog; end; }
+ if (countitem(Aquada) < 7 ||
+ countitem(PiouLegs) < 6 ||
+ countitem(Cheese) < 3 ||
+ countitem(HalfCroconut) < 3 ||
+ countitem(PurpleBlobime) < 1) {
+ mesc l("You lied, and this caused a headache! You should NEVER lie to NPCs, because they may steal your items!");
+ callfunc("SC_Bonus", 15, SC_POISON, 10);
+ close;
+ }
+ inventoryplace IcedBottle, 1;
+ delitem Aquada, 7;
+ delitem PiouLegs, 6;
+ delitem Cheese, 3;
+ delitem HalfCroconut, 3;
+ delitem PurpleBlobime, 1;
+ getitembound IcedBottle, 1, 4;
+ setq MineQuest_Naem, 2;
+ mesn;
+ mesq l("Hm, groceries? Well, figure out Naem would ask someone to deliver them.");
+ next;
+ mesn;
+ mesq l("Thanks, please tell him I'll make his favorite dish. Oh, could you also deliver him this %s?", getitemlink(IcedBottle));
+ next;
+ mesn;
+ mesq l("The mines are over a Volcano. Unless you're a Redy, the heat will slowly chip away your health if you go deep. But drinking iced water can improve temporarily your situation.");
+ close;
+
+L_Close:
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyesD);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SilkRobe);
+ //setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers); // TODO
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 21);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 11);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/003-1/soul-menhir.txt b/npc/003-1/soul-menhir.txt
new file mode 100644
index 0000000..5430c6e
--- /dev/null
+++ b/npc/003-1/soul-menhir.txt
@@ -0,0 +1,20 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Soul Menhir
+
+003-1,40,48,0 script Soul Menhir#tulim NPC_SOUL_DESERT,{
+ @map$ = "003-1";
+ setarray @Xs, 40, 41, 40;
+ setarray @Ys, 49, 49, 49;
+ @x = 0;
+ @y = 0;
+ SoulMenhir();
+ @map$ = "";
+ deletearray @Xs;
+ deletearray @Ys;
+ @x = 0;
+ @y = 0;
+ close;
+}
diff --git a/npc/003-1/swezanne.txt b/npc/003-1/swezanne.txt
new file mode 100644
index 0000000..8e40d63
--- /dev/null
+++ b/npc/003-1/swezanne.txt
@@ -0,0 +1,146 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Note:
+// DO NOT USE QUEST STATUS 2. Thing from past.
+// Structure:
+// GEQ1
+// 0 - Not Accepted
+// 1 - Finished Once
+// 3 - Silvia Arc
+// GEQ2
+// Timer
+// GEQ3
+// Times complete
+
+003-1,70,100,0 script Swezanne NPC_FEMALE,{
+ .@q=getq(TulimsharQuest_Swezanne);
+ mesn;
+ mesq l("Hi.");
+ next;
+ .@q2=getq2(TulimsharQuest_Swezanne);
+ if (.@q == 0) goto L_Quest;
+ else if (.@q == 3) goto L_Silvia;
+ else if (.@q2 < santime()) goto L_Repeat;
+ if ($FIRESOFSTEAM < 10)
+ mesq l("I fight every day in hopes to meet Andrei, the famous hero who prevented Hurnscald from total destruction against a horde of monsters alone.");
+ else
+ mesq l("I fight every day in hopes to be like Andrei, the famous hero who prevented Hurnscald from total destruction against a horde of monsters alone.");
+ if ($MOST_HEROIC$ != "") goto L_Heroics;
+ close;
+
+L_Heroics:
+ next;
+ mesn;
+ .@d=rand2(1,6);
+
+ if (.@d == 1) .@deed$="protected our cities!";
+ else if (.@d == 2) .@deed$="did great acts of bravery!";
+ else if (.@d == 3) .@deed$="is just awesome!";
+ else if (.@d == 4) .@deed$="killed a monster army single-handed!";
+ else if (.@d == 5) .@deed$="proved their worth in battlefield!";
+ else if (.@d == 6) .@deed$="impressed even the High Council!";
+ else .@deed$="is awesome like me!"; // Should not happen
+
+ mesq l("I hope to one day be like @@, who @@", $MOST_HEROIC$, .@deed$);
+ close;
+
+L_Quest:
+ mesq l("Ah, fighting monsters under this desert heat makes me thirsty. But someone must do this job, otherwise Tulimshar could fall.");
+ next;
+ mesq l("Maybe you could bring me 5 delicious @@? They have a great effect in quenching thirst and recovering vigour.", getitemlink(CactusDrink));
+ menu
+ rif(countitem(CactusDrink) >= 5, l("Here they are!")), L_Finish,
+ l("I'll get to it."), L_Close;
+ close; // double sure
+
+L_Repeat:
+ mesq l("Ah, fighting monsters under this desert heat makes me thirsty. But someone must do this job, otherwise Tulimshar could fall.");
+ next;
+ mesq l("Maybe you could bring me 5 delicious @@? They have a great effect in quenching thirst and recovering vigour.", getitemlink(CactusPotion));
+ menu
+ rif(countitem(CactusPotion) >= 5, l("Here they are!")), L_Finish2,
+ l("I'll get to it."), L_Close;
+ close;
+
+L_Finish2:
+ delitem CactusPotion, 5;
+ getexp 37, 0;
+ Zeny = (Zeny + 350); // 5*35 = 175 base (+100%)
+ .@q3=getq3(TulimsharQuest_Swezanne)+1;
+ setq2 TulimsharQuest_Swezanne, gettimetick(2)+60*60*24;
+ setq3 TulimsharQuest_Swezanne, .@q3;
+ if (!(.@q3 % 30)) {
+ //inventoryplace MercCard_Swezanne, 1;
+ getitem MercCard_Swezanne, 1;
+ mesn;
+ mesq l("Thanks for helping me this month. Here is my card, just call me if you need.");
+ }
+ close;
+
+L_Finish:
+ delitem CactusDrink, 5;
+ getexp 63, 4; // 4 Job points! A "great" reward.
+ Zeny = (Zeny + 250); // 5*25 = 125 base (+100%)
+ setq TulimsharQuest_Swezanne, 3;
+ setq2 TulimsharQuest_Swezanne, gettimetick(2)+60*60*24;
+ close;
+
+L_Silvia:
+ mesn;
+ mesq l("Ah, my daughter Silvia is so far away... But I don't want to leave the shade of this tree...");
+ next;
+ mesn;
+ mesq l("Perhaps you could tell her how much I love her? It is already some days since I last talked to her.");
+ next;
+ mesn;
+ mesq l("I don't want her to think that I am a bad mother.");
+ mes "";
+ menu
+ l("Sure, I'll do it."), L_SilviaAccept,
+ l("One day more or less won't make a difference."), L_Close;
+
+L_SilviaAccept:
+ mes "";
+ mesn;
+ mesq l("Oh, thank you! My daughter means a lot to me.");
+ mesc l("Silvia is in Noble District of Tulimshar.");
+ setq TulimsharQuest_Swezanne, 4;
+ close;
+
+L_Close:
+ if (.@q == 0) {
+ mesc l("Protip: @@ can be found from @@ and @@. For the later one, ask Lua for strategies.", getitemlink(CactusDrink), getmonsterlink(Maggot), getmonsterlink(GiantMaggot));
+ mesc l("Protip 2: Drop rates are low. Try other quests while you slay mobs for this one.");
+ next;
+ }
+
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, BromenalChest);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CottonTrousers);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 12);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 7);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+
+
+ /*
+ // Preventive check against faulty update. Must be removed afterwards.
+ // UPDATE `quest` SET `count1` = '3' WHERE `quest`.`quest_id` = 54 AND `count1` != '1';
+ .@nb = query_sql("select `char_id` from `quest` WHERE ((`count1`=1 or `count1`=2) and `quest_id`=54) LIMIT 2", .@name$);
+ if (getarraysize(.@name$) > 0) {
+ debugmes "FATAL ERROR: Quest log not updated.";
+ debugmes "disabling Swezanne to prevent weirder bugs.";
+ disablenpc .name$;
+ }
+ */
+ end;
+}
diff --git a/npc/003-1/taree.txt b/npc/003-1/taree.txt
new file mode 100644
index 0000000..1aa0593
--- /dev/null
+++ b/npc/003-1/taree.txt
@@ -0,0 +1,17 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Mouboo Renting (var MOUBOO_RENTTIME )
+
+003-1,63,31,0 script Taree NPC_ELVEN_MAN_MOUBOO_SHOP,{
+ MoubooRent();
+ closeclientdialog;
+ goodbye();
+ close;
+
+OnInit:
+ .distance=4;
+ end;
+}
+
diff --git a/npc/003-1/tinris.txt b/npc/003-1/tinris.txt
new file mode 100644
index 0000000..92404da
--- /dev/null
+++ b/npc/003-1/tinris.txt
@@ -0,0 +1,202 @@
+// TMW2 Script
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Part of Anwar Field quest
+
+003-1,66,30,0 script Tinris NPC_ELF,{
+ .@q=getq(TulimsharQuest_AnwarField);
+
+ // Results: 6 - nothing. 7- bug feast.
+ // On status 7, you need to talk to Eomie.
+ // Then Eomie will finish stuff for you, and it's reward time.
+ if (.@q == 10) goto L_Gift;
+ if (.@q == 7) goto L_Success;
+ if (.@q == 6) goto L_Fail;
+ if (.@q == 4) goto L_Craft;
+ if (.@q == 3) goto L_Back;
+ if (.@q == 2) goto L_Start;
+ if (.@q == 1) goto L_Refuse;
+
+ // Placeholder dialog
+ if (.@q == 5)
+ mesc l("I still have Anwar's fertilizer with me.");
+ mesn;
+ mesq l("We elves have greater affinity for magic than humans.");
+ next;
+ mesq l("However, our skill growth rate is much smaller than those of humans.");
+ next;
+ mesq l("In the end, elves would have quite the age to rivalize with human wizards.");
+ close;
+
+// READ THE HOLY DIALOGS!!
+L_Refuse:
+ mesn strcharinfo(0);
+ mesq l("Hello! Anwar sent me to get fertilizer to save Tulimshar from famine, could you help me?");
+ next;
+ mesn;
+ mesq l("No.");
+ close;
+
+L_Start:
+ mesn strcharinfo(0);
+ mesq l("Hello, could I help you in exchanger of fertilizer?");
+ next;
+ mesn;
+ mesq l("I like people like you, straight to the subject.");
+ next;
+ mesn;
+ mesq l("The birthday of me and my girlfriend is coming up. Bring me 12 @@ and I'll make the fertilizer for you.", getitemlink(CherryCake));
+ setq TulimsharQuest_AnwarField, 3;
+ close;
+
+L_Back:
+ mesn;
+ mesq l("So, did you brought me the twelve cherry cakes?");
+ mes "";
+ mesn strcharinfo(0);
+ if (askyesno() != ASK_YES) {
+ close;
+ }
+ mes "";
+ if (countitem("CherryCake") < 12)
+ goto L_Lying;
+
+ delitem CherryCake, 12;
+ getexp 200, 5;
+ setq TulimsharQuest_AnwarField, 4;
+ mesn;
+ mesq l("Okay, that is very useful. However, I do need a few reagents to make it.");
+ next;
+ mesn;
+ mesq l("Please, come back later. I'll see whatever I can fetch for that.");
+ close;
+
+L_Craft:
+ mesn;
+ mesq l("So, for the fertilizer. The thing is, all that thing is unstable.");
+ next;
+ mesn;
+ mesq l("This fertilizer is projected to protect the plants from plagues, bugs, scorpions and maggots, trying to not be a plague itself.");
+ next;
+ mesn;
+ mesq l("That's very, very risky. I need @@ @@ and @@ @@ to make a Potion to you, and I won't warrant it will work.", 3, getitemlink(Plushroom), 9, getitemlink(MaggotSlime));
+ next;
+ mesn;
+ mesq l("Give that to whoever needs them, and see if it works. Then come tell me the result. Do you have the reagents?");
+ if (askyesno() != ASK_YES)
+ close;
+ mes "";
+
+ if (countitem(Plushroom) < 3||
+ countitem(MaggotSlime) < 9)
+ goto L_Lying;
+
+ delitem Plushroom, 3;
+ delitem MaggotSlime, 9;
+ setq1 TulimsharQuest_AnwarField, 5;
+
+ mesn;
+ mesq l("Here it is. Come back to report the results.");
+ close;
+
+L_Fail:
+ setq1 TulimsharQuest_AnwarField, 4;
+ .@q2=getq2(TulimsharQuest_AnwarField);
+ if (.@q2 < 10)
+ getexp 180-(.@q2*10), 0;
+ else
+ getexp 90, 0;
+ mesn;
+ switch (.@q2) {
+ case 1:
+ mesq l("Well, that could fail, I said. Here is some experience.");
+ break;
+ case 2:
+ mesq l("Don't worry, third time is the charm. Here is some experience. Let's try again.");
+ break;
+ case 3:
+ mesq l("Okay, here is some experience, and forgot what I've said before. We can try again.");
+ break;
+ case 4:
+ mesq l("Don't worry, I've tweaked my formula this time. Here is some experience and let's try again!");
+ break;
+ case 5:
+ mesq l("I'm sorry, I just... Maybe if...? Aha! Here's the EXP, ready for a next go?");
+ break;
+ case 6:
+ mesq l("Uhm, maybe I mashed the Plushroom too hard this time. Here's EXP as usual, let's try again?");
+ break;
+ case 7:
+ mesq l("I shall not fail any further, I think my new formula is perfect! Here's the EXP, but I need material to use it!");
+ break;
+ case 8:
+ mesq l("I never knew you could fail THAT hard. I've took Saulc's Fertilizer's recipe, success chance is of 100% if you want to try again.");
+ break;
+ default:
+ mesq l("Well, that could fail, I said. Here is some experience.");
+ break;
+ }
+ next;
+ if (countitem(Plushroom) >= 3 &&
+ countitem(MaggotSlime) >= 9)
+ goto L_Craft;
+ mesn;
+ mesq l("Now go, and fetch the materials again. I'll make another fertilizer for you.");
+ close;
+
+L_Success:
+ mesn;
+ mesq l("WHAT? The farm is plagued with insects?!");
+ next;
+ mesn;
+ mesq l("Quick, tell that to Eomie. She knows how to do Bug Bombs which won't harm the plants!");
+ close;
+
+L_Gift:
+ .@q2=getq2(TulimsharQuest_AnwarField);
+ if (.@q2 & 1) {
+ mesn;
+ mesq l("Thanks for the nice gift!");
+ close;
+ }
+ // Tip. WHAT DID YOU DID WITH THE BOUND ITEM? IT SHOULD BE HARD TO GET RID OF IT...
+ if (countitem(TortugaShell) < 1) {
+ mesn;
+ mesq l("Ah, I wish I got something for helping people out...");
+ close;
+ }
+ mesn strcharinfo(0);
+ mesq l("Anwar sent you this, erm, hum... @@.", getitemlink(TortugaShell));
+ next;
+ setq2 TulimsharQuest_AnwarField, .@q2+1;
+ delitem TortugaShell, 1;
+ getexp 95, 1;
+ mesn;
+ mesq l("WOW, THIS IS AWESOME! Many, many thanks!!");
+ close;
+
+L_Lying:
+ mesn;
+ mesq l("Ah, so you think you can fool me?");
+ next;
+ percentheal -5, -5;
+ warp "Save", 0, 0;
+ dispbottom l("Ah... Was I warped?");
+ closedialog;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ //setunitdata(.@npcId, UDT_HEADTOP, 2929); // TODO: This NPC is an Elf and therefore, CANNOT use NPCEyes.
+ setunitdata(.@npcId, UDT_HEADMIDDLE, ForestArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 3);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 19);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/003-1/town.txt b/npc/003-1/town.txt
new file mode 100644
index 0000000..593785d
--- /dev/null
+++ b/npc/003-1/town.txt
@@ -0,0 +1,33 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Reset LOCATION$ when entering a town
+
+003-1,60,157,0 script #LocTulim NPC_HIDDEN,4,1,{
+OnTouch:
+ EnterTown("Tulim"); end;
+}
+
+// Crocotree spawn experiment
+003-1,0,0,0 script #CrocotreeTulim01 NPC_HIDDEN,{
+ end;
+// Spawn the crocotrees
+OnInit:
+ areamonster "003-1", 20, 20, 140, 160, strmobinfo(1, CrocoTree), CrocoTree, 1, .name$+"::OnRespawn";
+ end;
+
+// Script Generated
+OnRespawn:
+ initnpctimer;
+ end;
+OnTimer61000:
+ stopnpctimer;
+ areamonster "003-1", 20, 20, 140, 160, strmobinfo(1, CrocoTree), CrocoTree, 1, .name$+"::OnRespawn";
+ end;
+}
+
+003-1,0,0,0 duplicate(#CrocotreeTulim01) #CrocotreeTulim02 NPC_NO_SPRITE
+003-1,0,0,0 duplicate(#CrocotreeTulim01) #CrocotreeTulim03 NPC_NO_SPRITE
+003-1,0,0,0 duplicate(#CrocotreeTulim01) #CrocotreeTulim04 NPC_NO_SPRITE
+003-1,0,0,0 duplicate(#CrocotreeTulim01) #CrocotreeTulim05 NPC_NO_SPRITE
diff --git a/npc/003-1/wateranimation.txt b/npc/003-1/wateranimation.txt
new file mode 100644
index 0000000..b3b58e8
--- /dev/null
+++ b/npc/003-1/wateranimation.txt
@@ -0,0 +1,61 @@
+// TMW2 scripts.
+// Author:
+// gumi
+// Reid
+// Saulc
+// Description:
+// Water animations, splash, fishes, etc...
+
+003-1,83,128,0 script #water_animation0 NPC_WATER_SPLASH,{
+
+ fishing; // begin or continue fishing
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
+
+003-1,87,125,0 duplicate(#water_animation0) #water_animation1 NPC_WATER_SPLASH
+003-1,88,120,0 duplicate(#water_animation0) #water_animation2 NPC_WATER_SPLASH
+003-1,76,120,0 duplicate(#water_animation0) #water_animation3 NPC_WATER_SPLASH
+003-1,75,127,0 duplicate(#water_animation0) #water_animation4 NPC_WATER_SPLASH
+003-1,79,111,0 duplicate(#water_animation0) #water_animation5 NPC_WATER_SPLASH
+003-1,82,105,0 duplicate(#water_animation0) #water_animation6 NPC_WATER_SPLASH
+003-1,85,110,0 duplicate(#water_animation0) #water_animation7 NPC_WATER_SPLASH
+003-1,88,113,0 duplicate(#water_animation0) #water_animation8 NPC_WATER_SPLASH
+003-1,86,126,0 duplicate(#water_animation0) #water_animation9 NPC_WATER_SPLASH
+003-1,87,132,0 duplicate(#water_animation0) #water_animation10 NPC_WATER_SPLASH
+003-1,83,111,0 duplicate(#water_animation0) #water_animation11 NPC_WATER_SPLASH
+003-1,78,144,0 duplicate(#water_animation0) #water_animation12 NPC_WATER_SPLASH
+003-1,83,140,0 duplicate(#water_animation0) #water_animation13 NPC_WATER_SPLASH
+003-1,72,147,0 duplicate(#water_animation0) #water_animation14 NPC_WATER_SPLASH
+003-1,72,122,0 duplicate(#water_animation0) #water_animation15 NPC_WATER_SPLASH
+
+
+003-1,71,58,0 script #lowsea_tulim0 NPC_WATER_SPLASH,{
+
+ fishing; // begin or continue fishing
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ .fishing_rod=SmallFishingNet;
+ .net_ratio=3;
+ .catch_time=8000; // You have 3 more seconds to pull here
+ .wait_time_min=8000;
+ .wait_time_max=21000;
+ .pull_rand_max=1600;
+ .regen_time=30;
+ end;
+}
+
+003-1,95,47,0 duplicate(#lowsea_tulim0) #lowsea_tulim1 NPC_WATER_SPLASH
+003-1,121,48,0 duplicate(#lowsea_tulim0) #lowsea_tulim2 NPC_WATER_SPLASH
+003-1,121,36,0 duplicate(#lowsea_tulim0) #lowsea_tulim3 NPC_WATER_SPLASH
+003-1,32,107,0 duplicate(#lowsea_tulim0) #lowsea_tulim4 NPC_WATER_SPLASH
+003-1,25,78,0 duplicate(#lowsea_tulim0) #lowsea_tulim5 NPC_WATER_SPLASH
+003-1,16,50,0 duplicate(#lowsea_tulim0) #lowsea_tulim6 NPC_WATER_SPLASH
+
diff --git a/npc/003-1/well.txt b/npc/003-1/well.txt
new file mode 100644
index 0000000..c745a16
--- /dev/null
+++ b/npc/003-1/well.txt
@@ -0,0 +1,73 @@
+// TMW2 Script
+// Author:
+// Saulc
+// Jesusalva
+
+003-1,45,80,0 script Well#003-1 NPC_NO_SPRITE,{
+ if (countitem(Bucket) <= 0) {
+ mesc l("This well is too deep and you don't have a bucket.");
+ } else {
+ mesc l("Hey you have a bucket! Too bad there are, you know, HOLES on it, so you can see.");
+ mesc l("That's exactly why you can't use it to get water. Silly.");
+ }
+ if (!Zeny)
+ close;
+ next;
+ mesc l("Throw a coin?");
+ if (askyesno() != ASK_YES)
+ close;
+
+ mes "";
+ Zeny=Zeny-1;
+ mesc l("You throw a coin into the well.");
+ next;
+
+ .@n=rand(0, 10000);
+ if (.@n <= 10) {
+ getitem StrangeCoin, 1;
+ mes l("##9Hey wait... Your coin turned into a @@!", getitemlink(StrangeCoin));
+ } else if (.@n <= 50) {
+ getitem CasinoCoins, 1;
+ mes l("##9Hey wait... Your coin turned into a @@!", getitemlink(CasinoCoins));
+ } else if (.@n <= 100) {
+ Zeny=Zeny+2;
+ mesc l("Hey wait... You found 2 GP!");
+ } else if (.@n <= 250) {
+ percentheal 100, 100;
+ mesc l("Hey wait... You're enveloped by a bright light and fully healed!");
+ } else if (.@n <= 300) {
+ getexp rand(1,BaseLevel), rand(1,BaseLevel);
+ mesc l("Hey wait... You're enveloped by a bright light and gain experience!");
+ } else if (.@n > 9900) {
+ mesc l("Hey wait... A monster!! Run for your life!!");
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@mobGID = monster(.@m$, .@x, .@y, "Croc", Croc, 1);
+ unitattack(.@mobGID, getcharid(CHAR_ID_ACCOUNT)); // Order the summoned monster to engage!!
+ } else if (.@n > 9850) {
+ mesc l("Hey wait... A monster!! Run for your life!!");
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@mobGID = monster(.@m$, .@x, .@y, "Blub", Blub, 1);
+ unitattack(.@mobGID, getcharid(CHAR_ID_ACCOUNT)); // Order the summoned monster to engage!!
+ } else if (.@n > 9800) {
+ mesc l("Hey wait... A monster!! Run for your life!!");
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@mobGID = monster(.@m$, .@x, .@y, "Red Scorpion", RedScorpion, 1);
+ unitattack(.@mobGID, getcharid(CHAR_ID_ACCOUNT)); // Order the summoned monster to engage!!
+ } else if (.@n > 9700) {
+ mesc l("Hey wait... A monster!! Run for your life!!");
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@mobGID = monster(.@m$, .@x, .@y, "Bat", Bat, 1);
+ unitattack(.@mobGID, getcharid(CHAR_ID_ACCOUNT)); // Order the summoned monster to engage!!
+ } else {
+ mesc l("Nothing happens.");
+ next;
+ mesc l("What did you expect?");
+ }
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
diff --git a/npc/003-10/_import.txt b/npc/003-10/_import.txt
new file mode 100644
index 0000000..32c8028
--- /dev/null
+++ b/npc/003-10/_import.txt
@@ -0,0 +1,8 @@
+// Map 003-10: Guard's House
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-10/_warps.txt",
+"npc/003-10/arnea.txt",
+"npc/003-10/guarddevoir.txt",
+"npc/003-10/kreist.txt",
+"npc/003-10/officer.txt",
+"npc/003-10/slots.txt",
diff --git a/npc/003-10/_warps.txt b/npc/003-10/_warps.txt
new file mode 100644
index 0000000..d0cb1fe
--- /dev/null
+++ b/npc/003-10/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-10: Guard's House warps
+003-10,34,43,0 warp #003-10_34_43 1,0,003-10,33,58
+003-10,34,57,0 warp #003-10_34_57 1,0,003-10,33,42
+003-10,42,80,0 warp #003-10_42_80 0,0,003-1,114,84
diff --git a/npc/003-10/arnea.txt b/npc/003-10/arnea.txt
new file mode 100644
index 0000000..8327e56
--- /dev/null
+++ b/npc/003-10/arnea.txt
@@ -0,0 +1,215 @@
+// TMW2 Scripts
+// Author:
+// 4144
+// Jesusalva
+// Description:
+// Arena for Duels and PVP (003-13,31,31)
+
+003-10,26,60,0 script Arnea NPC_ELF_F,{
+ npctalk3 l("Hello!");
+ if (gettime(GETTIME_MONTH) == DECEMBER)
+ mes("It's December! The arena will close for new year, be warned!");
+
+L_Menu:
+ mes "";
+ mesn;
+ mesq l("Welcome to the Arena. Select your action");
+ menu
+ l("Create new arena"), L_NewArena,
+ l("Join existing arena"), L_JoinArena,
+ rif(is_staff(), l("Debug Information")), L_Debug,
+ l("Information"), L_Info,
+ l("Hall Of Honor"), L_Scoreboards,
+ l("Leave"), L_Quit;
+
+L_NewArena:
+ .@price=.price / max(1, reputation("Tulim"));
+ mes "";
+ mesn;
+ if (Zeny < .@price) {
+ mesq l("You need @@ GP to use this arena.", .@price);
+ goto L_Menu;
+ }
+
+ mesq l("Okay, which arena will you rent? Cost is @@ GP.", .@price);
+ menu
+ rif(Zeny > .@price, l("Rent arena")), -,
+ l("Give Up"), L_Quit;
+
+ mes "";
+ mesn;
+ mesq l("Please type a password for your Arena, it must be unique.");
+ input .@user_password$;
+
+ // Leaving blank will close
+ if (.@user_password$ == "")
+ close;
+
+ .@m = htget($@ARENAS, .@user_password$, -1);
+ if (.@m > 0) {
+ mes "";
+ mesn;
+ mesq l("Sorry, this password was already used on another arena.");
+ next;
+ /*
+ mesn;
+ mesq l("You'll need to think on a new password!");
+ next;
+ mesn;
+ mesq l("If you don't know what to use, try using the current date or something.");
+ next;
+ */
+ mesn;
+ mesq l("Now, let's try again.");
+ next;
+ goto L_NewArena;
+ }
+
+
+ // XXX - Important Note - XXX
+ // map name MUST be only 4 chars long (eg. "abcd") on char instances
+ .@ID=.curinst;
+ .curinst+=1;
+ htput($@ARENAS, .@user_password$, .@ID);
+
+ .@MAP$="ARENA@"+str(.@ID);
+
+ // Create the arena
+ .@INSTID = instance_create("ARX@"+(.@ID), 0, IOT_NONE);
+ .@instanceMapName$ = instance_attachmap("003-13", .@INSTID, 0, .@MAP$);
+ instance_set_timeout(1800, 1800, .@INSTID);
+ instance_init(.@INSTID);
+
+ // You are only charged once arena is all set
+ Zeny=Zeny-.@price;
+
+ dispbottom l("Arena created, it can be used for 30 minutes.");
+ dispbottom l("Room password: @@", .@user_password$);
+ mes "";
+ mesn;
+ mes l("Arena created, it can be used for 30 minutes.");
+ mes l("Room password: @@", .@user_password$);
+ if (is_staff()) mes l("Inst @@ Map @@", .@INSTID, .@instanceMapName$);
+ next;
+
+ goto L_Menu;
+
+
+L_JoinArena:
+ // FIXME
+ /*
+ warp "003-13", 31, 31;
+ close;
+ */
+ mes "";
+ mesn;
+ mesq l("Okay, to join an arena, you need the unique password. Leave blank if you don't know.");
+
+ input .@user_password$;
+ .@m = htget($@ARENAS, .@user_password$, -1);
+ if (.@m > 0) {
+ /*
+ if(has_instance2("ARENA@"+.@m) >= 0) {
+ warp "ARENA@"+str(.@m), 31,31;
+ */
+ if (.@m < .curinst-2000) {
+ // Delete the arena entry so this doesn't happens anymore
+ htput $@ARENAS, .@user_password$, 0;
+ // Explain this arena has expired
+ mes "";
+ mesn;
+ mesq l("Sorry, that arena is already closed.");
+ next;
+ mesn;
+ mesq l("All arenas stay open for only 30 minutes after being purchased.");
+ } else {
+ closeclientdialog;
+ // If the arena has expired, this will fail.
+ // But because dialog was closed, players won't notice anything.
+ // It won't have any visual effect, just like when you don't use a password.
+ // However, a debug message will be printed to console.
+ // If I start seeing spam of this debug message, I'll take appopriate
+ // measures, including and not limited to permanent ban, including IP ban.
+ warp "ARENA@"+.@m, 31, 31;
+ dispbottom l("Good luck!");
+ }
+ }
+ close;
+
+
+L_Debug:
+ mes "npc name: " + .name$;
+ mes "npc ext name: " + .extname$;
+ mes "npc id: " + .id;
+ mes "npc parent id: " + .parent;
+ mes "npc src id: " + .srcId;
+ mes "char id 3: " + getcharid(3);
+ if (instance_id() >= 0)
+ mes "instance id: " + instance_id();
+ goto L_Menu;
+
+L_Info:
+ mesn;
+ mesq lg("Hello darling.");
+ next;
+ mesq l("I am @@, and I take care of the Arena.", .name$);
+ next;
+ mesq l("Guards use it to spar against each other on friendly matches, to see who is stronger.");
+ next;
+ mesq l("We arranged a small underground room for that, because the Colliseum is too far away.");
+ tutmes l("If you kill an opponent stronger than you, you will gain honor points. But if the oponent is 15 levels weaker than you, it will be NEGATIVE!"), l("About Scoreboards and Honor Points");
+ tutmes l("You will also LOSE honor if the opponent is below level 30. If you are a bandit (negative honor), all fights versus you will be honorable."), l("About Scoreboards and Honor Points");
+ tutmes l("If you kill the same person within 30 minutes, honor will not fluctuate. The whole honor system is very experimental."), l("About Scoreboards and Honor Points");
+ next;
+ goto L_Menu;
+
+L_Scoreboards:
+ mesc l("All scoreboards are refreshed hourly."), 1;
+ HallOfHonor();
+ next;
+ goto L_Menu;
+
+L_Quit:
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, DarkHelm);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CopperArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, JeansChaps);
+ setunitdata(.@npcId, UDT_WEAPON, RockKnife);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 14);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 18);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ //.alwaysVisible = true; // This is dumb, why Jesusalva put it here?
+ .price=1000;
+ .curinst=1001;
+ npcsit;
+
+ // create hashtable
+ $@ARENAS = htnew();
+ // Structure:
+ // Password, Instance Control ID
+ end;
+
+// Every half hour, advance curinst in 1000.
+// This way, we don't need to use/rely-on hasinstance2()
+OnMinute30:
+OnMinute60:
+ .curinst+=1000;
+ end;
+
+// Protect bugs by disabling NPC on new year. This NPC have two days off for vacations B-)
+OnDay1231:
+OnDay0101:
+ disablenpc(.name$);
+ end;
+
+OnDay0102:
+ enablenpc(.name$);
+ end;
+
+}
+
diff --git a/npc/003-10/guarddevoir.txt b/npc/003-10/guarddevoir.txt
new file mode 100644
index 0000000..c9965d6
--- /dev/null
+++ b/npc/003-10/guarddevoir.txt
@@ -0,0 +1,101 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Saulc
+// Description:
+// Guard ask you to clean the cave of red scorpion. bring her some red scorpion stingers to prove you do it well.
+// Variable:
+// TulimsharQuest_Devoir
+
+003-10,38,60,0 script Guard Devoir NPC_GUARD2,{
+
+ mesn;
+ mesq l("That's terrible! Monsters are piling up near city gates! We need to stop their progression.");
+ if (BaseLevel >= 25) goto L_Menu;
+ close;
+
+L_Menu:
+ mesn;
+ mesq l("Would you like to help us to protect the town from a red scorpion invasion??");
+ mes "";
+ menu
+ l("Yeah, sure! I'm brave as Simon."),L_Quest, // famous player name
+ l("Where can I find them?"),L_Where,
+ l("No, thanks."),L_Close;
+
+L_Quest:
+ mes "";
+ .@q=getq(TulimsharQuest_Devoir);
+ mesq l("Nice! I want you to kill some red scorpions, as I said!");
+ next;
+ if (.@q == 0) goto L_Continue;
+ .@q2=getq2(TulimsharQuest_Devoir) + 60 * 60 * 36;
+ if (santime() >= .@q2) goto L_Repeat; // Repats every 36 hours
+ mesn;
+ mesq l("But, it wouldn't look nice if I let you do all the killing! The other guards are working right now!");
+ next;
+ mesn;
+ mesq l("Come back in a few hours, and we can fix that!");
+ close;
+
+L_Continue:
+ mesq l("Red Scorpion breed as fast as the Ratto! With our current numbers, it's nearly impossible to take over.");
+ next;
+ mesq l("I usually ask for 7, but to prove you are going to help us in this purge, I will ask you for 14 @@! I will reward you for your bravure.", getitemlink(RedScorpionStinger));
+ mes "";
+ menu
+ rif(countitem(RedScorpionStinger) >= 14, l("Here they are, miss!")), L_Finish,
+ l("I'll get to it."), L_Close;
+ close; // double sure
+
+L_Repeat:
+ mesq l("How is your purge going? I hope you had success at it!");
+ next;
+ mesq l("Did you brought me 7 @@?", getitemlink(RedScorpionStinger));
+ mes "";
+ menu
+ rif(countitem(RedScorpionStinger) >= 7, l("Here they are miss!")), L_Finish2,
+ l("I'll get to it."), L_Close;
+ close;
+
+// First Time Only
+L_Finish:
+ delitem RedScorpionStinger, 14;
+ getexp 2203, 11; // r7.5 1703 → 2203
+ Zeny = (Zeny + 1960); // 70*14 = 980 base (100% bonus)
+ setq TulimsharQuest_Devoir, 1, santime();
+ mes "";
+ mesn;
+ mesq l("Many thanks! Come back later to bring me extra @@!", getitemlink(RedScorpionStinger));
+ close;
+
+// Repeat
+L_Finish2:
+ delitem RedScorpionStinger, 7;
+ getexp 1193, 0; // r7.5 993 → 1193
+ Zeny = (Zeny + 980); // 70*7 = 490 base (100% bonus)
+ setq TulimsharQuest_Devoir, 1, santime();
+ mes "";
+ mesn;
+ mesq l("Many thanks! Come back later to bring me extra @@!", getitemlink(RedScorpionStinger));
+ close;
+
+L_Where:
+ mes "";
+ mesq l("Ah, there are lots on the miners cave.");
+ next;
+ mes l("Take care though, don't attack them when they are in group!");
+ next;
+ mes l("Good luck.");
+ goto L_Close;
+
+L_Close:
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/003-10/kreist.txt b/npc/003-10/kreist.txt
new file mode 100644
index 0000000..c4ca9b3
--- /dev/null
+++ b/npc/003-10/kreist.txt
@@ -0,0 +1,250 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Tulimshar Guardhouse Taskmaster
+
+003-10,41,63,0 script Kreist NPC_PLAYER,{
+ .@d=gettimeparam(GETTIME_DAYOFMONTH);
+ mesn l("Kreist, Taskmaster");
+ mesq l("Hello, and welcome to the Tulimshar guard house.");
+ next;
+ mesn l("Kreist, Taskmaster");
+ mesq l("My name is @@ and I am the daily task master. Interested in keeping this world free from monsters, or are you here to report back?", .name$);
+ next;
+ tutmes l("All quests expire at 00:00 server time, be sure to finish AND report back before that!");
+ // Borrowed from Arkim Code
+ mesc l("Time remaining to report completion: ")+FuzzyTime($@ARKIM_TIMER+86400), 1;
+
+ select
+ l("I want an EASY task!"),
+ l("I want a MODERATE task!"),
+ l("I want an EXPERT task!"),
+ l("It was nice seeing you.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ .@q1=getq(General_MobHunting1);
+ .@q2=getq2(General_MobHunting1);
+ .@q3=getq3(General_MobHunting1);
+ .@q=General_MobHunting1;
+ .@lv=3;
+ goto L_QuestMaster;
+ case 2:
+ .@q1=getq(General_MobHunting2);
+ .@q2=getq2(General_MobHunting2);
+ .@q3=getq3(General_MobHunting2);
+ .@q=General_MobHunting2;
+ .@lv=5;
+ goto L_QuestMaster;
+ case 3:
+ .@q1=getq(General_MobHunting3);
+ .@q2=getq2(General_MobHunting3);
+ .@q3=getq3(General_MobHunting3);
+ .@q=General_MobHunting3;
+ .@lv=12;
+ goto L_QuestMaster;
+ }
+ closeclientdialog;
+ goodbye();
+ close;
+
+L_QuestMaster:
+ // It's a new day, so we must generate a new quest!
+ if (.@q1 != .@d) {
+ .@q1=.@d;
+ if (.@lv == 3) {
+ .@q2=any(Maggot, Scorpion, Croc, FireGoblin, CaveMaggot, Duck);
+ } else if (.@lv == 5) {
+ .@q2=any(CaveSnake, DesertBandit, Sarracenus, DesertLogHead, RedScorpion);
+ } else if (.@lv == 12) {
+ .@q2=any(GiantMaggot, BlackScorpion, Snake, MountainSnake);
+ } else {
+ Exception("Bad setting for GMH.LV: "+.@lv, RB_DEFAULT|RB_SPEECH|RB_ISFATAL);
+ }
+ setq .@q, .@q1, .@q2, 0;
+ }
+
+ // Maybe there is no monster to kill
+ if (!.@q2) {
+ mesn l("Kreist, Taskmaster");
+ mesq l("You've already completed this quest today. Try again tomorrow.");
+ close;
+ }
+
+ // Maybe you finished the quest?
+ if (.@q3 && get_byte(.@q3, 1) >= get_byte(.@q3, 0)) {
+ mesn l("Kreist, Taskmaster");
+ mesq l("Good job, you've killed the %d %s and reported back in time!", get_byte(.@q3, 0), getmonsterlink(.@q2));
+ next;
+ inventoryplace MercBoxA, 1;
+ if (MERCENARY_DAILYQUEST == 100) {
+ inventoryplace BountyHunterHelmet, 1;
+ getitem BountyHunterHelmet, 1;
+ }
+ mesn l("Kreist, Taskmaster");
+ mesq l("It's not much of a reward, but doesn't it feel great to help others in need?! HAHAHA!");
+ .@overkill=get_byte(.@q3, 1)-get_byte(.@q3, 0);
+ Zeny+=.@lv*(72+MERCENARY_DAILYQUEST);
+ // Raise LV according to monster level
+ .@lv+=getmonsterinfo(.@q2, MOB_LV)+MERCENARY_DAILYQUEST*11/10;
+ getexp BaseLevel*.@lv, .@lv+.@overkill;
+ setq2 .@q, 0;
+ setq3 .@q, 0;
+ MERCENARY_DAILYQUEST+=1;
+ if (MERCENARY_DAILYQUEST % 5 == 0) {
+ getitem MercBoxA, 1;
+ }
+ close;
+ }
+
+ mesn l("Kreist, Taskmaster");
+ // amount to kill
+ set_byte(.@q3, 0, 15);
+ // amount already killed
+ // Explanation why the city needs that
+ if (.@q2 == Maggot ) {
+ mesq l("%ss have infested the store houses, spilling onto the streets. Stop them from destroying even more food.", getmonsterlink(.@q2));
+ set_byte(.@q3, 0, 30);
+ } else if (.@q2 == GiantMaggot) {
+ mesq l("The %ss are the cause for all the little maggots to appear, so we need you to stop the problem at the source.", getmonsterlink(.@q2));
+ set_byte(.@q3, 0, 10);
+ } else if (.@q2 == Duck) {
+ mesq l("This request was made by the inn: The %ss are stealing their cherry cakes, causing disruption to their business.", getmonsterlink(.@q2));
+ } else if (.@q2 == Croc) {
+ mesq l("The %ss have been reproducing rapidly and their natural habitat, our Croconut trees, are being damaged by the excessive number of them.", getmonsterlink(.@q2));
+ } else if (.@q2 == FireGoblin) {
+ mesq l("Some %ss have buried themselves in the sand near the path to the mine, causing burns to people stepping on them.", getmonsterlink(.@q2));
+ } else if (.@q2 == CaveMaggot) {
+ mesq l("The %ss have been multiplying, crawling from the cave into the magic school, causing damage.", getmonsterlink(.@q2));
+ set_byte(.@q3, 0, 20);
+ } else if (.@q2 == CaveSnake) {
+ mesq l("Researchers from the magic school complained about %ss disturbing whatever they are studying in the cave.", getmonsterlink(.@q2));
+ } else if (.@q2 == Scorpion) {
+ mesq l("All the %ss have become a real nuisance to the citizens and people are getting stung more often now.", getmonsterlink(.@q2));
+ set_byte(.@q3, 0, 20);
+ } else if (.@q2 == DesertBandit) {
+ mesq l("A group of %ss are threatening the city. Go to the Desert Canyon and teach them a lesson.", getmonsterlink(.@q2));
+ set_byte(.@q3, 0, 20);
+ } else if (.@q2 == Sarracenus) {
+ mesq l("%ss are lead by the %ss. Disposing of them would bring the bandits into disarray.", getmonsterlink(DesertBandit), getmonsterlink(.@q2));
+ set_byte(.@q3, 0, 10);
+ } else if (.@q2 == BlackScorpion) {
+ mesq l("A large number of %ss have been sighted. Both the sewer and the mines have been infested, they have even been spotted in the city wall!", getmonsterlink(.@q2));
+ } else if (.@q2 == RedScorpion) {
+ mesq l("Some %ss have left the mines and made themselves comfortable in the desert, coming closer than ever to us. When there are none left in the desert, go after their nest in the mines.", getmonsterlink(.@q2));
+ } else if (.@q2 == DesertLogHead) {
+ mesq l("The %ss are growing and disturbing the already rather infertile desert soil, preventing our crops from growing.", getmonsterlink(.@q2));
+ }
+ setq3 .@q, .@q3;
+ mesq l("So, please kill %d/%d %ss for us and make the city a better place!", get_byte(.@q3, 1), get_byte(.@q3, 0), getmonsterlink(.@q2));
+ close;
+
+OnInit:
+ // Check items.xml for info about this.
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, WarlordHelmet);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, LieutenantArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_SHIELD, LousyMoccasins); // TODO FIXME: Display Boots
+ setunitdata(.@npcId, UDT_WEAPON, Backsword);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 15);
+
+ npcsit;
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+
+}
+
+// What is with this stupidly long quest name?
+function script Guardhouse_RandQuestCheck {
+ if (!playerattached())
+ return;
+
+ .@mobId=getarg(0, killedrid);
+ .@d=gettimeparam(GETTIME_DAYOFMONTH);
+
+ // Easy Task
+ if (getq(General_MobHunting1) == .@d &&
+ getq2(General_MobHunting1) == .@mobId) {
+ .@q3=getq3(General_MobHunting1);
+ .@killamount=get_byte(.@q3, 1);
+ set_byte(.@q3, 1, min(255, .@killamount+1));
+ setq3 General_MobHunting1, .@q3;
+ if (!(.@killamount % 5))
+ dispbottom l("%d/%d %s killed", .@killamount+1, get_byte(.@q3, 0), getmonsterlink(.@mobId));
+ }
+
+ // Medium Task
+ if (getq(General_MobHunting2) == .@d &&
+ getq2(General_MobHunting2) == .@mobId) {
+ .@q3=getq3(General_MobHunting2);
+ .@killamount=get_byte(.@q3, 1);
+ set_byte(.@q3, 1, .@killamount+1);
+ setq3 General_MobHunting2, .@q3;
+ if (!(.@killamount % 5))
+ dispbottom l("%d/%d %s killed", .@killamount+1, get_byte(.@q3, 0), getmonsterlink(.@mobId));
+ }
+
+ // Hard Task
+ if (getq(General_MobHunting3) == .@d &&
+ getq2(General_MobHunting3) == .@mobId) {
+ .@q3=getq3(General_MobHunting3);
+ .@killamount=get_byte(.@q3, 1);
+ set_byte(.@q3, 1, .@killamount+1);
+ setq3 General_MobHunting3, .@q3;
+ if (!(.@killamount % 5))
+ dispbottom l("%d/%d %s killed", .@killamount+1, get_byte(.@q3, 0), getmonsterlink(.@mobId));
+ }
+
+ // Frostia's Task
+ if (getq(General_MobHunting4) == .@d &&
+ getq2(General_MobHunting4) == .@mobId) {
+ .@q3=getq3(General_MobHunting4)+1;
+ setq3 General_MobHunting4, .@q3;
+ if (!(.@q3 % 10))
+ dispbottom l("@@/@@ @@ killed", .@q3, 50, getmonsterlink(.@mobId));
+ }
+
+
+ // Frostia - Medium Task
+ if (getq(General_MobHunting5) == .@d &&
+ getq2(General_MobHunting5) == .@mobId) {
+ .@q3=getq3(General_MobHunting5)+1;
+ setq3 General_MobHunting5, .@q3;
+ if (!(.@q3 % 10))
+ dispbottom l("@@/@@ @@ killed", .@q3, 50, getmonsterlink(.@mobId));
+ }
+
+ // Frostia - Hard Task
+ if (getq(General_MobHunting6) == .@d &&
+ getq2(General_MobHunting6) == .@mobId) {
+ .@q3=getq3(General_MobHunting6)+1;
+ setq3 General_MobHunting6, .@q3;
+ if (!(.@q3 % 10))
+ dispbottom l("@@/@@ @@ killed", .@q3, 50, getmonsterlink(.@mobId));
+ }
+
+ // Frostia - Nightmare Task
+ if (getq(General_MobHunting7) == .@d &&
+ getq2(General_MobHunting7) == .@mobId) {
+ .@q3=getq3(General_MobHunting7)+1;
+ setq3 General_MobHunting7, .@q3;
+ if (!(.@q3 % 10))
+ dispbottom l("@@/@@ @@ killed", .@q3, 50, getmonsterlink(.@mobId));
+ }
+
+ // Frostia - Boss Task
+ if (getq(General_MobHunting8) == .@d &&
+ getq2(General_MobHunting8) == .@mobId) {
+ if (!.@q3)
+ dispbottom l("%s slain!", getmonsterlink(.@mobId));
+ .@q3=getq3(General_MobHunting8)+1;
+ setq3 General_MobHunting8, .@q3;
+ }
+
+ return;
+}
+
diff --git a/npc/003-10/officer.txt b/npc/003-10/officer.txt
new file mode 100644
index 0000000..e06afe0
--- /dev/null
+++ b/npc/003-10/officer.txt
@@ -0,0 +1,57 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Wooden Sword quest. Pays back earlier players
+
+003-10,30,79,4 script Veteran Officer NPC_PLAYER_ARGAES,{
+ .@q=getq(TulimsharQuest_WoodenSword);
+ if (.@q >= 2 || BaseLevel < 18) {
+ legiontalk;
+ close;
+ }
+ if (.@q == 0) {
+ mesn;
+ mesq l("Hey. If you want to kill monsters, you need a good sword. I think, a @@ would be the perfect fit for you.", getitemlink(WoodenSword));
+ next;
+ mesn;
+ mesq l("I think, for just 25 @@, I could arrange one for you. Eh... Just don't think that you have an amazing weapon, alright?", getitemlink(RawLog));
+ next;
+ mesn;
+ mesq l("You can kill @@ on the desert. It's a dangerous area though, so take care.", getmonsterlink(DesertLogHead));
+ setq TulimsharQuest_WoodenSword, 1;
+ } else {
+ mesn;
+ mesq l("I think, for just 25 @@, I could arrange a @@ for you.", getitemlink(RawLog), getitemlink(WoodenSword));
+ }
+ mes "";
+ select
+ rif(countitem(RawLog) >= 25, l("Here they are!")),
+ l("Maybe later.");
+ mes "";
+ if (@menu == 1) {
+ delitem RawLog, 25;
+ //getitem WoodenSword, 1;
+ CsysNpcCraft(WoodenSword, IOPT_EXPGAIN, 10, IOPT_RICHNESS, 10);
+ setq TulimsharQuest_WoodenSword, 2;
+ getexp 580, 20;
+ mesn;
+ mesq lg("Here's your sword, novice. Now go kill monsters.");
+ }
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, DesertHelmet);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, Chainmail);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, WoodenSword);
+ setunitdata(.@npcId, UDT_WEAPON, JeansShorts);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 2);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
+
+ npcsit;
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/003-10/slots.txt b/npc/003-10/slots.txt
new file mode 100644
index 0000000..add4b10
--- /dev/null
+++ b/npc/003-10/slots.txt
@@ -0,0 +1,90 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Slot Machine for bets
+
+003-10,22,37,0 script Slot Machine#003-10a NPC_SLOTMACHINE,{
+ function symbol{
+ switch (getarg(0)) {
+ case 1:
+ mesn "%%A";
+ break;
+ case 2:
+ mesn "%%B";
+ break;
+ case 3:
+ mesn "%%C";
+ break;
+ case 4:
+ mesn "%%D";
+ break;
+ case 5:
+ mesn "%%E";
+ break;
+ case 6:
+ mesn "%%F";
+ break;
+ case 7:
+ mesn "7";
+ break;
+ default:
+ mesn "%%@";
+ break;
+ }
+ }
+
+L_Menu:
+ mesn;
+ mesc l("Spin three symbols, and jackpot great rewards!");
+ mesc l("Just one coin for spin.");
+ next;
+ menu
+ rif(countitem(CasinoCoins) >= 1, l("Spin!")), L_Spin,
+ l("Prizes"), L_Info,
+ l("Leave"), -;
+ close;
+
+L_Info:
+ mes "";
+ mesc l("Prizes:");
+ mes l("##9 777: @@.", getitemlink(Monocle));
+ mesc l("Three equal: @@.", "18 casino coins");
+ mesc l("Two equal: 1 casino coin.");
+ next;
+ goto L_Menu;
+
+
+L_Spin:
+ mesc l("Spinning...");
+ next;
+ delitem CasinoCoins, 1;
+ .@a=rand2(1,7);
+ .@b=rand2(1,7);
+ .@c=rand2(1,7);
+ symbol(.@a);
+ symbol(.@b);
+ symbol(.@c);
+ next;
+ mesn;
+ if (.@a == .@b && .@a == .@c && .@a == 7) {
+ getitem Monocle, 1;
+ mesc l("Jackpot! You got the Monocle!"), 3;
+ } else if (.@a == .@b && .@a == .@c) {
+ getitem CasinoCoins, 18;
+ mesc l("Congrats! A pity it was not 777..."), 3;
+ } else if (.@a == .@b || .@a == .@c || .@b == .@c) {
+ getitem CasinoCoins, 1;
+ mesc l("Lucky! You got the coin back!"), 3;
+ } else {
+ mesc l("It wasn't this time..."), 3;
+ }
+ next;
+ goto L_Menu;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
+
diff --git a/npc/003-13/_import.txt b/npc/003-13/_import.txt
new file mode 100644
index 0000000..97f13c4
--- /dev/null
+++ b/npc/003-13/_import.txt
@@ -0,0 +1,5 @@
+// Map 003-13: duel map
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-13/_warps.txt",
+"npc/003-13/arnea.txt",
+"npc/003-13/mapflags.txt",
diff --git a/npc/003-13/_warps.txt b/npc/003-13/_warps.txt
new file mode 100644
index 0000000..76857da
--- /dev/null
+++ b/npc/003-13/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-13: duel map warps
+003-13,31,44,0 warp #003-13_31_44 0,0,003-1,100,100
diff --git a/npc/003-13/arnea.txt b/npc/003-13/arnea.txt
new file mode 100644
index 0000000..4dfc591
--- /dev/null
+++ b/npc/003-13/arnea.txt
@@ -0,0 +1,235 @@
+// TMW2 Scripts
+// Author:
+// 4144
+// Jesusalva
+// Description:
+// Arena for Duels and PVP (temporary map)
+
+003-13,29,29,0 script Arnea#003-13 NPC_ELF_F,{
+ /*
+ // FIXME
+ warp "003-10", 22, 62;
+ close;
+ */
+ if (is_staff()) {
+ mes "npc name: " + .name$;
+ mes "npc ext name: " + .extname$;
+ mes "npc id: " + .id;
+ mes "npc parent id: " + .parent;
+ mes "npc src id: " + .srcId;
+ mes "char id 3: " + getcharid(3);
+ mes "instance id: " + instance_id();
+ mes "Map ID: " + instance_mapname("003-13");
+ }
+ if (instance_id() >= 0) {
+ goto L_Manage;
+ } else {
+ // Non staff and on 003-13? That's a bug!
+ if (!is_staff()) {
+ atcommand "@request Hey hey hey, player found in 003-13 - regular map! Report this to Jesusalva at once!";
+ warp "Save", 0, 0;
+ close;
+ }
+ mes "npc not in instance";
+ }
+
+ close;
+
+L_Manage:
+ mesn;
+ select
+ l("warp back"),
+ rif(!'UDTf, l("begin Doppelganger Challenge")),
+ l("Doppelganger Challenge Ranking"),
+ l("cancel");
+
+ switch (@menu)
+ {
+ case 1:
+ warp "003-10", 22, 62;
+ break;
+ case 2:
+ mesc l("spawn challenge monster! How far can you go?"), 2;
+ mesc l("The Doppelganger Challenge will create a Gladiator Monster which should somehow emulate a PvP experience.");
+ mesc l("In other words, it'll make a copy of youself.");
+ mesc l("Defeating it will advance the round. How far can you survive?");
+ next;
+ mesc l("Really begin the Doppelganger Challenge?");
+ mesc l("Switching from strong to weak equipments WON'T make it go any easier on you!"), 1;
+ if (askyesno() == ASK_NO)
+ break;
+
+ npctalk l("Doppelganger Challenge, @@ began the fight!", strcharinfo(0));
+ // Save permanent data
+ 'udt_blv=BaseLevel;
+ 'udt_Str=readparam2(bStr);
+ 'udt_Agi=readparam2(bAgi);
+ 'udt_Vit=readparam2(bVit);
+ 'udt_Int=readparam2(bInt);
+ 'udt_Dex=readparam2(bDex);
+ 'udt_Luk=readparam2(bLuk);
+ 'udt_Dly=battleparam(UDT_ADELAY);
+ 'udt_Rng=battleparam(UDT_ATKRANGE);
+
+ // Save (b)ase data
+ 'udt_bhp=MaxHp;
+ 'udt_bAtk1=battleparam(UDT_ATKMIN);
+ 'udt_bAtk2=battleparam(UDT_ATKMAX);
+ 'udt_bMatk=battleparam(UDT_MATKMAX);
+ 'udt_bDef=battleparam(UDT_DEF);
+ 'udt_bMdef=battleparam(UDT_MDEF);
+ 'udt_bHit=battleparam(UDT_HIT);
+ 'udt_bFlee=battleparam(UDT_FLEE);
+ 'udt_bCrit=battleparam(UDT_CRIT);
+
+ // Save (p)rogression data
+ 'udt_php='udt_bhp/5;
+ 'udt_pAtk1='udt_bAtk1/10;
+ 'udt_pAtk2='udt_bAtk2/10;
+ 'udt_pMatk='udt_bMatk/5;
+ 'udt_pDef='udt_bDef/5;
+ 'udt_pMdef='udt_bMdef/5;
+ 'udt_pHit='udt_bHit/10;
+ 'udt_pFlee='udt_bFlee/15;
+ 'udt_pCrit='udt_bCrit/10;
+
+ /*
+ .@a1=battleparam(UDT_ATKRANGE);
+ .@a2=battleparam(UDT_ATKMIN);
+ .@a3=battleparam(UDT_ATKMAX);
+ .@d1=battleparam(UDT_DEF);
+ .@d2=battleparam(UDT_MDEF);
+ .@c1=battleparam(UDT_HIT);
+ .@c2=battleparam(UDT_FLEE);
+ .@m1=battleparam(UDT_MATKMIN);
+ .@m2=battleparam(UDT_MATKMAX);
+ .@m3=battleparam(UDT_ELETYPE);
+ .@s1=battleparam(UDT_STR);
+ .@s2=battleparam(UDT_ADELAY);
+ .@s3=battleparam(UDT_DMOTION);
+
+ debugmes "Unit Data %d (Str %d)", getcharid(3), .@s1;
+ debugmes "Atk (%d~%d) Range %d", .@a2, .@a3, .@a1;
+ debugmes "Def %d MDef %d", .@d1, .@d2;
+ debugmes "Hit %d Flee %d", .@c1, .@c2;
+ debugmes "MAtk (%d~%d) Element %d", .@m1, .@m2, .@m3;
+ debugmes "Attack delay %d Stun %d", .@s2, .@s3;
+ */
+
+ // Begin the fight
+ doevent instance_npcname(.name$)+"::OnGladius";
+ addtimer 5000, instance_npcname(.name$)+"::OnVerify";
+ closeclientdialog;
+ break;
+ case 3:
+ mesc l("All leaderboards are refreshed hourly."), 1;
+ mesc l("Your current score: @@", UDTRANK), 3;
+ HallOfUDT();
+ break;
+ case 4:
+ break;
+ }
+ close;
+
+OnGladius:
+ sleep(800);
+ .@mg=monster(instance_mapname("003-13"), 38, 32, "Gladiator", Gladiator, 1, instance_npcname(.name$)+"::OnGladius");
+ // Set "permanent" data
+ setunitdata(.@mg, UDT_ADELAY, 'udt_Dly-'UDTf);
+ setunitdata(.@mg, UDT_ATKRANGE, 'udt_Rng+limit(0, 'UDTf/10, 3));
+
+ // Set base data
+ setunitdata(.@mg, UDT_LEVEL, 'udt_blv+'UDTf);
+ setunitdata(.@mg, UDT_STR, 'udt_Str+'UDTf);
+ setunitdata(.@mg, UDT_AGI, 'udt_Agi+'UDTf);
+ setunitdata(.@mg, UDT_VIT, 'udt_Vit+'UDTf);
+ setunitdata(.@mg, UDT_INT, 'udt_Int+'UDTf);
+ setunitdata(.@mg, UDT_DEX, 'udt_Dex+'UDTf);
+ setunitdata(.@mg, UDT_LUK, 'udt_Luk+'UDTf);
+
+ // Set variable data
+ setunitdata(.@mg, UDT_MAXHP, 'udt_bhp+'udt_php*('UDTf-1));
+ setunitdata(.@mg, UDT_HP, 'udt_bhp+'udt_php*('UDTf-1));
+
+ setunitdata(.@mg, UDT_ATKMIN, 'udt_bAtk1+'udt_pAtk1*('UDTf-1));
+ setunitdata(.@mg, UDT_ATKMAX, 'udt_bAtk2+'udt_pAtk2*('UDTf-1));
+ setunitdata(.@mg, UDT_MATKMIN, 'udt_bMatk+'udt_pMatk*('UDTf-1));
+ setunitdata(.@mg, UDT_MATKMAX, 'udt_bMatk+'udt_pMatk*('UDTf-1));
+ setunitdata(.@mg, UDT_DEF, 'udt_bDef+'udt_pDef*('UDTf-1));
+ setunitdata(.@mg, UDT_MDEF, 'udt_Mdef+'udt_pMdef*('UDTf-1));
+ setunitdata(.@mg, UDT_HIT, 'udt_bHit+'udt_pHit*('UDTf-1));
+ setunitdata(.@mg, UDT_FLEE, 'udt_bFlee+'udt_pFlee*('UDTf-1));
+ setunitdata(.@mg, UDT_CRIT, 'udt_bCrit+'udt_pCrit*('UDTf-1));
+
+ setunitdata(.@mg, UDT_PDODGE, min(30, 'udt_Luk/10+('UDTf/3)));
+
+ 'UDTf+=1;
+ npctalk ("Doppelganger Challenge, wave " + 'UDTf + "!");
+ maptimer(instance_mapname("003-13"), 10, instance_npcname(.name$)+"::OnUDTUpdate");
+ end;
+
+OnUDTUpdate:
+ if ('UDTf > UDTRANK)
+ UDTRANK='UDTf;
+ getexp 'UDTf*7, 'UDTf*7;
+ Mobpt+='UDTf*7;
+ end;
+
+// Check for possible cheats, and update default values
+OnVerify:
+ if (battleparam(UDT_ATKRANGE) > 'udt_Rng)
+ 'udt_Rng=battleparam(UDT_ATKRANGE);
+
+ if (battleparam(UDT_ATKMAX) > 'udt_bAtk1) {
+ 'udt_bAtk1=battleparam(UDT_ATKMIN);
+ 'udt_bAtk2=battleparam(UDT_ATKMAX);
+ 'udt_pAtk1='udt_bAtk1/10;
+ 'udt_pAtk2='udt_bAtk2/10;
+ }
+
+ if (battleparam(UDT_DEF) > 'udt_bDef) {
+ 'udt_bDef=battleparam(UDT_DEF);
+ 'udt_pDef='udt_bDef/5;
+ }
+
+ if (battleparam(UDT_MDEF) > 'udt_bMdef) {
+ 'udt_bMdef=battleparam(UDT_MDEF);
+ 'udt_pMdef='udt_bMdef/5;
+ }
+
+ if (battleparam(UDT_MATKMAX) > 'udt_bMatk) {
+ 'udt_bMatk=battleparam(UDT_MATKMAX);
+ 'udt_pMatk='udt_bMatk/5;
+ }
+
+ if (battleparam(UDT_ADELAY) < 'udt_bDly)
+ 'udt_bDly=battleparam(UDT_DELAY);
+
+ addtimer 5000, instance_npcname(.name$)+"::OnVerify";
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, DarkHelm);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CopperArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, JeansChaps);
+ setunitdata(.@npcId, UDT_WEAPON, RockKnife);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 14);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 18);
+
+ .sex = G_FEMALE;
+ .distance = 9;
+ end;
+
+OnInstanceInit:
+ .@npcId = getnpcid(instance_npcname(.name$));
+ setunitdata(.@npcId, UDT_HEADTOP, DarkHelm);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CopperArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, JeansChaps);
+ setunitdata(.@npcId, UDT_WEAPON, RockKnife);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 14);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 18);
+ end;
+
+}
+
diff --git a/npc/003-13/mapflags.txt b/npc/003-13/mapflags.txt
new file mode 100644
index 0000000..481fda8
--- /dev/null
+++ b/npc/003-13/mapflags.txt
@@ -0,0 +1,2 @@
+003-13 mapflag pvp
+003-13 mapflag nopenalty
diff --git a/npc/003-2-0/_import.txt b/npc/003-2-0/_import.txt
new file mode 100644
index 0000000..1ad459d
--- /dev/null
+++ b/npc/003-2-0/_import.txt
@@ -0,0 +1,3 @@
+// Map 003-2-0: Nard's Room
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-2-0/_warps.txt",
diff --git a/npc/003-2-0/_warps.txt b/npc/003-2-0/_warps.txt
new file mode 100644
index 0000000..c88e5c3
--- /dev/null
+++ b/npc/003-2-0/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-2-0: Nard's Room warps
+003-2-0,19,27,0 warp #003-2-0_19_27 0,0,003-2-1,32,28
diff --git a/npc/003-2-1/_import.txt b/npc/003-2-1/_import.txt
new file mode 100644
index 0000000..a23c26c
--- /dev/null
+++ b/npc/003-2-1/_import.txt
@@ -0,0 +1,6 @@
+// Map 003-2-1: #Leave-Complaints
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-2-1/_mobs.txt",
+"npc/003-2-1/_warps.txt",
+"npc/003-2-1/demure.txt",
+"npc/003-2-1/mapflags.txt",
diff --git a/npc/003-2-1/_mobs.txt b/npc/003-2-1/_mobs.txt
new file mode 100644
index 0000000..e4ea840
--- /dev/null
+++ b/npc/003-2-1/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-2-1: #Leave-Complaints mobs
+003-2-1,46,45,16,11 monster Green Dragon 1195,5,3600,36000,NotSoBot::OnHydra
diff --git a/npc/003-2-1/_warps.txt b/npc/003-2-1/_warps.txt
new file mode 100644
index 0000000..c66a782
--- /dev/null
+++ b/npc/003-2-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-2-1: #Leave-Complaints warps
+003-2-1,47,33,0 warp #003-2-1_47_33 1,0,003-2,28,40
diff --git a/npc/003-2-1/demure.txt b/npc/003-2-1/demure.txt
new file mode 100644
index 0000000..357577d
--- /dev/null
+++ b/npc/003-2-1/demure.txt
@@ -0,0 +1,59 @@
+// TMW2 Script
+// Author:
+// Crazyfefe
+// Jesusalva
+
+003-2-1,51,41,0 script NotSoBot NPC_FEMALE,{
+
+ RegEasterEgg(EE_DEMURE, 5);
+
+ // Let's try without freeloop
+ mesn any("NotSoBot", "Demure");
+ if (rand(1,5) <= 2)
+ mes "Blame Saulc";
+
+ .@mx=rand(6,12);
+ for (.@i = 0; .@i < .@mx; ++.@i) {
+ mes "leave Complaints";
+ if (rand(1,5) == 3)
+ mes "";
+ if (.@i == 10) {
+ next;
+ mesn any("NotSoBot", "Demure");
+ mes any("leave Complaints", "Blame Saulc");
+ }
+ }
+ if (rand(1,5) >= 4)
+ mes "Blame Saulc";
+ close;
+
+OnHydra:
+ areamonster "003-2-1", 20, 20, 65, 60, strmobinfo(1, GreenDragon), GreenDragon, any(1,1,2), "NotSoBot::OnHydra2";
+ setq Q_DragonFarm, getq(Q_DragonFarm)+1;
+ if (getq(Q_DragonFarm) > 100) goto L_Kick;
+ end;
+
+OnHydra2:
+ setq Q_DragonFarm, getq(Q_DragonFarm)+1;
+ if (getq(Q_DragonFarm) > 100) goto L_Kick;
+ end;
+
+L_Kick:
+ .@t=900+min(2700, getq3(Q_DragonFarm)*60);
+ setq Q_DragonFarm, 1, gettimetick(2)+.@t, getq3(Q_DragonFarm)+1;
+ warp "003-2", 28, 41;
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, Cap);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, RedStockings);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, BunnyEars);
+ setunitdata(.@npcId, UDT_WEAPON, GMRobe);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 14);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 18);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/003-2-1/mapflags.txt b/npc/003-2-1/mapflags.txt
new file mode 100644
index 0000000..f66ee66
--- /dev/null
+++ b/npc/003-2-1/mapflags.txt
@@ -0,0 +1 @@
+003-2-1 mapflag nopenalty
diff --git a/npc/003-2/_import.txt b/npc/003-2/_import.txt
new file mode 100644
index 0000000..41a622e
--- /dev/null
+++ b/npc/003-2/_import.txt
@@ -0,0 +1,9 @@
+// Map 003-2: Tulimshar Guild
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-2/_warps.txt",
+"npc/003-2/eistein.txt",
+"npc/003-2/estard.txt",
+"npc/003-2/hiddenwarp.txt",
+"npc/003-2/lua.txt",
+"npc/003-2/mapflags.txt",
+"npc/003-2/politics.txt",
diff --git a/npc/003-2/_warps.txt b/npc/003-2/_warps.txt
new file mode 100644
index 0000000..822f56e
--- /dev/null
+++ b/npc/003-2/_warps.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-2: Tulimshar Guild warps
+003-2,32,41,0 warp #003-2_32_41 0,0,003-1,46,73
+003-2,35,41,0 warp #003-2_35_41 0,0,003-1,49,73
+003-2,38,41,0 warp #003-2_38_41 0,0,003-1,52,73
+003-2,42,33,0 warp #003-2_42_33 0,0,003-1,51,66
diff --git a/npc/003-2/eistein.txt b/npc/003-2/eistein.txt
new file mode 100644
index 0000000..d8af9e3
--- /dev/null
+++ b/npc/003-2/eistein.txt
@@ -0,0 +1,88 @@
+// TMW2 scripts.
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Eistein rewards players for getting level landmarks.
+
+003-2,35,34,0 script Eistein NPC_UKAR,{
+
+ // Level, Reward{, Reward2}
+ function is_level {
+ if (BaseLevel >= getarg(0)) {
+ getitem getarg(1),1;
+ if (getarg(2, 0))
+ getitem getarg(2),1;
+ setq TulimsharQuest_Eistein, getq(TulimsharQuest_Eistein)+1;
+ mes "";
+ mesn;
+ mesq l("Congrats you passed the level cap of @@! Here is a(n) @@, you deserve it.",getarg(0), getitemlink(getarg(1)));
+ if (getarg(2,0))
+ mesc l("Item obtained: @@", getitemlink(getarg(2)));
+ } else {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("You are level @@/@@. Keep building levels, you need them!", BaseLevel, getarg(0));
+ }
+ }
+
+
+ function quest_open {
+ .@q = getq(TulimsharQuest_Eistein);
+ switch (.@q) {
+ case 0:
+ is_level(25, BronzeGift); break;
+ case 1:
+ is_level(50, SilverGift, GraduationCap); break;
+ case 2:
+ is_level(75, GoldenGift, GraduationRobe); break;
+ case 3:
+ is_level(100, PrismGift, GraduationAlbum); break;
+ case 4:
+ is_level(125, SupremeGift); break;
+ case 5:
+ is_level(150, MysteriousFruit); break;
+ default:
+ mesn;
+ mesq l("Waw, you are level @@! Many congratulations. If there were people like you, ukarania wouldn't have been destroyed...", BaseLevel);
+ break;
+ }
+ }
+
+ speech S_LAST_NEXT,
+ l("Ah, welcome. Please, don't be afraid of my look, Saulc GM assigned me to here."),
+ l("I'm Eistein, survivor from Ukarania. I reward brave adventurers who kill monsters, which plague our lands."),
+ l("I'll give you a reward, in the name of Saulc, once you reach the following levels: 25, 50, 75, 100, 125 and 150.");
+ do
+ {
+ select
+ l("Interesting! can I be rewarded for my help?"),
+ l("What about job levels and job experience?"),
+ l("Quit");
+
+ switch (@menu) {
+ case 1:
+ quest_open;
+ break;
+ case 2:
+ mesn; mesq l("Job levels already boosts all your status. It gives +1 on each status every 10 job levels."); next;
+ break;
+ }
+ } while (@menu != 3);
+
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, GraduationCap);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SilkRobe);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 26);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 0);
+ npcsit;
+
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+}
diff --git a/npc/003-2/estard.txt b/npc/003-2/estard.txt
new file mode 100644
index 0000000..4b4cfda
--- /dev/null
+++ b/npc/003-2/estard.txt
@@ -0,0 +1,127 @@
+// TMW-2 Scripts.
+// Author:
+// Jesusalva
+// Description:
+// Manages party and guild.
+// General_Guild
+// 0 - Allows Party Creation
+// 1 - Allows Guild Creation, Party is already allowed
+
+// Evol scripts.
+// Author:
+// Reid
+
+003-2,32,34,0 script Estard NPC_PLAYER_ARGAES,{
+
+ function create_party {
+ .@party_price = 6500;
+ .@party_price-=reputation("Candor")*10;
+ .@party_price-=reputation("Tulim")*10;
+ .@party_price-=reputation("Hurns")*10;
+ .@party_price-=reputation("Nival")*10;
+ .@party_price-=reputation("Halin")*10;
+ .@party_price-=reputation("LoF")*10;
+
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Creating a party has some advantages, it's a pretty good choice!"),
+ l("If the members level difference is less than 30, and you enable exp sharing, you'll all get a bonus experience!"),
+ l("You also get access to a party chat, and there are no compromises, so it is a perfect choice for a raid."),
+ lg("The cost to create a party is @@ GP, are you interested?",
+ "The cost to create a party is @@ GP, are you interested?", .@party_price);
+
+ if (askyesno() == ASK_YES) {
+ if (Zeny < .@party_price) {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("You don't have enough money, bring me @@ GP.", .@party_price);
+ } else {
+ Zeny = Zeny - .@party_price;
+ setq General_Guild, 1;
+ skill NV_BASIC, 7, 0;
+ getexp 0, 100;
+
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Awesome, come back if you ever want to create a larger group!");
+ }
+ }
+ }
+
+
+ function create_guild {
+ .@guild_price = 50000;
+
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Creating a guild is not for the faint of heart. You cannot share experience or drops."),
+ l("But it is a massive organization, recognized by everyone. Guilds train with other guilds, for huge profits."),
+ l("It is often easier to get invited by someone, but if you want to create it, you're free to. Remember guilds also have a player limit."),
+ l("Just like parties, you can create from Social menu, but there is a catch: I will give you a document, which allows you to create ONE GUILD."),
+ l("Shall you disband your guild for whatever reason, you'll need to pay again. No refunds. No complaining."),
+ l("The cost to create a guild is @@ GP.", .@guild_price);
+
+ if (askyesno() == ASK_YES) {
+ if (Zeny < .@guild_price) {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("You don't have enough money, bring me @@ GP or join an already existing one.", .@guild_price);
+ } else {
+ inventoryplace Emperium, 1;
+ Zeny = Zeny - .@guild_price;
+ getitem Emperium, 1;
+ getexp 0, 1000;
+
+ speech(S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Awesome, here is the certificate! Choose guild name wisely, because there are no refunds, even if you lose it!"));
+ }
+ }
+ }
+
+ function explain_service {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Welcome to the Town Hall. I am @@, officer in charge of public associations.", .name$),
+ l("We offer party and guild certifications.");
+ return;
+ }
+
+ mesn;
+ mesq lg("Welcome miss.", "Good day sir.");
+
+ //if (getcharid(1) > 0)
+ // mes l("You're in the \"@@\" party, I know!", getpartyname(getcharid(1)));
+ if (getcharid(2) > 0)
+ mesq l("You are part of the \"@@\" guild.", getguildname(getcharid(2)));
+ next;
+
+ do
+ {
+ select
+ l("What service do you offer?"),
+ rif(!getq(General_Guild), l("I would like to create a party.")),
+ rif(getq(General_Guild) && getcharid(2) <= 0 && countitem(Emperium) == 0, l("I would like to create a guild.")),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ explain_service;
+ break;
+ case 2:
+ create_party;
+ break;
+ case 3:
+ create_guild;
+ break;
+ }
+ } while (@menu < 3);
+
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, BowlerHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CreasedShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, JeansChaps);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 26);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 0);
+ npcsit;
+
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+}
diff --git a/npc/003-2/hiddenwarp.txt b/npc/003-2/hiddenwarp.txt
new file mode 100644
index 0000000..6868269
--- /dev/null
+++ b/npc/003-2/hiddenwarp.txt
@@ -0,0 +1,18 @@
+// TMW2 Script
+// Author:
+// Crazyfefe
+// Jesusalva
+// This warp is enabled after waiting for lua
+
+003-2,28,41,0 script #LeaveComplaints NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ if ((BaseLevel >= 40 && getq(General_Narrator) >= 2 && getq2(Q_DragonFarm) < gettimetick(2)) || is_gm())
+ warp "003-2-1", 47, 34;
+ else
+ npctalk3 l("Complaints Depto. temporaly closed, come back later");
+ if (getq2(Q_DragonFarm) > gettimetick(2))
+ npctalk3 l("Time remaining: %s", FuzzyTime(getq2(Q_DragonFarm)));
+ end;
+}
diff --git a/npc/003-2/lua.txt b/npc/003-2/lua.txt
new file mode 100644
index 0000000..e975ff9
--- /dev/null
+++ b/npc/003-2/lua.txt
@@ -0,0 +1,877 @@
+// TMW2 Scripts.
+// Author:
+// Jesusalva
+// Description:
+// Lua is an Alliance Officer. She takes care of miscelanneous administrative tasks, including Strange Coin generation.
+// She can also change the world's hero, give Sponsor their necklace, and is part of main storyline.
+
+003-2,38,34,0 script Lua#003-2 NPC_FEMALE,{
+ // Main Quest 2-1 until Main Quest 2-5 (?)
+ function luaAssignTask1; // Dausen & Aidan
+ function luaTask1;
+ function luaCheckTask1;
+ function luaAssignTask2; // Fishing & Crafting
+ function luaTask2;
+ function luaCheckTask2;
+ function luaAssignTask3; // Minimum level/job to begin
+ function luaTask3;
+ function luaCheckTask3;
+ function luaAssignTask4; // Inn Arc
+ function luaTask4;
+ function luaCheckTask4;
+ function luaAssignTask5; // Your Report, the plan
+ function luaTask5;
+ function luaCheckTask5;
+ function luaCReward; // Contributor Reward
+ // Then we jump to L_Finish/L_Complete
+ .@n = getq(General_Narrator);
+
+ mesn;
+ mesq l("Hello, I act on the Alliance's behalf.");
+ mesc l("If you want to know what the Alliance is up to, you might have better luck talking to Jerican, from the Press.");
+
+L_Menu:
+ mes "";
+ menu
+ l("Ok, see you later."),L_Close,
+ rif(.@n == 1, l("I was found near Candor Island, on a raft, and can't remember anything. Do you know who I am?")), L_Info,
+ rif(.@n == 2, l("What you asked me for, again?")), L_Task,
+ rif(.@n == 3, l("Where I needed to go, again?")), L_Complete,
+ rif(.@n >= 4, l("Do you think I'm ready to go to Halinarzo?")), L_Check,
+ rif(is_gm(), l("I need a GM set, please!")), L_GMItems,
+ rif(is_gm() && #GMEVENT_T <= gettimetick(2), l("I plan in doing an event! Give me the coins!")), L_GMEvent,
+ rif(is_gm() && #GMEVENT_T > gettimetick(2), l("Trade my coins in Gift Boxes, pretty please!")), L_GMEventShop,
+ rif(is_staff(), l("Tell people the name of a new hero.")), L_NewHero,
+ rif((getgmlevel() == 1 || is_admin()) && #T_SPONSOR <= gettimetick(2), l("I want a Sponsor Necklace.")), L_Sponsor,
+ l("Do you have any tips for beginners?"), L_Tips,
+ l("I am a contributor, and I want contributor stuff."), L_Contributor,
+ l("What alliance?"),-;
+ mes "";
+ mesn;
+ mesq l("The Alliance which was formed after the war!");
+ close;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/////////////////////////////////////////////////////////////////////////////////
+// GM Functions
+L_GMItems:
+ getitembound GMRobe, 1, 1;
+ getitembound GMCap, 1, 1;
+ logmes(strcharinfo(0)+" just took a GM set.");
+ logmes(strcharinfo(0)+" just took a GM set.", LOGMES_ATCOMMAND);
+ consoleinfo("%s retrieved a GM set.", strcharinfo(0));
+ mes "";
+ mesn;
+ mesq lg("Here they are, miss.", "Here they are, mister.");
+ mes "";
+ goto L_Menu;
+
+L_GMEvent:
+OnGMCoinClaim:
+ if (!is_gm() || #GMEVENT_T > gettimetick(2)) {
+ dispbottom l("ERROR: You already took the coins today. Please wait @@ more.", FuzzyTime(#GMEVENT_T)), 1;
+ end;
+ }
+ #GMEVENT_T=gettimetick(2)+(60*60*24);
+ getitem StrangeCoin, 30;
+ //logmes(strcharinfo(0)+" just took thirty event coins.");
+ //logmes(strcharinfo(0)+" just took thirty event coins.", LOGMES_ATCOMMAND);
+ mes "";
+ mesn;
+ mesq lg("Here they are, miss.", "Here they are, mister.");
+ mes "";
+ goto L_Menu;
+
+OnGMEventShop:
+L_GMEventShop:
+ // Inflaction: Non-admins pay more out of main events (for whatever reasons)
+ .@inf=1;
+ if (!is_master() && $EVENT$ == "")
+ .@inf+=1;
+
+ // Main Code
+ .@s=countitem(StrangeCoin);
+ mes "";
+ mesn;
+ mesq l("You currently have @@ @@.", countitem(StrangeCoin), getitemlink(StrangeCoin));
+ mes "";
+ mesc l("@@ - @@ coins", getitemlink(BronzeGift), 10*.@inf);
+ mesc l("@@ - @@ coins", getitemlink(SilverGift), 20*.@inf);
+ mesc l("@@ - @@ coins", getitemlink(GoldenGift), 40*.@inf);
+ mesc l("@@ - @@ coins", getitemlink(PrismGift), 80*.@inf);
+ mesc l("@@ - @@ coins", getitemlink(SupremeGift), 160*.@inf);
+ mes "";
+ mesc l("Fruits - @@ coins", 100*.@inf);
+ mes "";
+ menuint
+ "Return to main menu", -1,
+ rif(.@s > 10*.@inf, "Bronze Gift"), 10,
+ rif(.@s > 20*.@inf, "Silver Gift"), 20,
+ rif(.@s > 40*.@inf, "Golden Gift"), 40,
+ rif(.@s > 80*.@inf, "Prism Gift"), 80,
+ rif(.@s > 160*.@inf, "Supreme Gift"), 160,
+ rif(.@s > 100*.@inf, "Statusup Fruits"), 100;
+
+ if (@menuret == -1)
+ goto L_Menu;
+
+ delitem StrangeCoin, @menuret*.@inf;
+ switch (@menuret) {
+ case 10:
+ getitem BronzeGift, 1; break;
+ case 20:
+ getitem SilverGift, 1; break;
+ case 40:
+ getitem GoldenGift, 1; break;
+ case 80:
+ getitem PrismGift, 1; break;
+ case 160:
+ getitem SupremeGift, 1; break;
+ case 100:
+ menuint
+ "Strength Fruit",StrengthFruit,
+ "Agility Fruit",AgilityFruit,
+ "Vitality Fruit",VitalityFruit,
+ "Intelligence Fruit",IntelligenceFruit,
+ "Dexterity Fruit",DexterityFruit,
+ "Luck Fruit",LuckFruit,
+ "Mysterious Fruit",MysteriousFruit;
+ mes "";
+ getitem @menuret, 1; break;
+ default:
+ mesc(l("A script error happened, please report: @@", @menuret), 1); break;
+ }
+ goto L_GMEventShop;
+
+L_NewHero:
+ mes "";
+ mes l("Current hero: @@", $MOST_HEROIC$);
+ input .@MH$;
+ logmes "Changing hero from "+$MOST_HEROIC$+" to "+.@MH$;
+ logmes(strcharinfo(0)+" changed the world's hero ("+$MOST_HEROIC$+"->"+.@MH$+")", LOGMES_ATCOMMAND);
+ consoleinfo("%s changed the world hero.", strcharinfo(0));
+ $MOST_HEROIC$ = .@MH$;
+ goto L_Menu;
+
+L_Sponsor:
+ #T_SPONSOR=gettimetick(2)+(60*60*24*30);
+ rentitem "SponsorNecklace", (60*60*24*30);
+ logmes(strcharinfo(0)+" just took a Sponsor Necklace.");
+ logmes(strcharinfo(0)+" just took a Sponsor Necklace.", LOGMES_ATCOMMAND);
+ mes "";
+ mesn;
+ mesq lg("Here it is, miss.", "Here it is, mister.");
+ mes col("This item will be returned in 30 days counting from now, and you will need to take another.", 9);
+ mes col("It cannot be dropped, traded, sold, but you can store it and use with same account.", 9);
+ mes "";
+ goto L_Menu;
+
+OnLuaInfo:
+ @lua_isok=1;
+ end;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/////////////////////////////////////////////////////////////////////////////////
+// Main Story Functions
+L_Info:
+ if (!@lua_isok) {
+ mes "";
+ mesn;
+ mesq l("Of course, give me just a minute to look up for your data, @@.", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("Please wait here on the meanwhile. Try asking Estard about parties, or talk to Eistein.");
+ //mesq l("You can explore the city on the meanwhile, I need to inspect the data.");
+ if (!@lua_init) {
+ @lua_init=1;
+ addtimer(rand(55000,65000),"Lua#003-2::OnLuaInfo");
+ }
+ close;
+ }
+ mes "...";
+ next;
+ mes "... ...";
+ next;
+ mes "... ... ...";
+ next;
+ mesn;
+ mesq l("No criminal record, no bank account, not even a tax payment declaration.");
+ next;
+ mesq l("I found your birth record, but it is not complete. Here says you were born on @@.", b("Halinarzo"));
+ next;
+ mesq l("The problem is that Halinarzo was destroyed in the never-ending war and was just recently rebuilt.");
+ next;
+ mesq l("Almost all documents were lost, destroyed or damaged. I cannot even find your parents name.");
+ next;
+ mesq l("All I can say is that you were born there, and moved by the age of 4, but to where? I don't know.");
+ next;
+ mesn;
+ mesq l("Sorry. At best, you can try your luck in Halinarzo, but the odds of someone recognizing you are pretty slim.");
+ next;
+ mesn;
+ mesq l("However...");
+ mesq l("You will be killed on the road if you try to go like this. The Canyon route is dangerous, and the Swamps route claimed many souls.");
+ mesq l("Not to say about bandits and robbers you'll find.");
+ next;
+ getexp BaseLevel*30, JobLevel*5; // Reference Levels: (10, 3)
+ setq General_Narrator, 2, 0;
+ mesn;
+ mesq l("Lucky for you, the Alliance have means to assist you. You'll be a grown up, full fledged adventurer in no time at all, and will be able to visit a friend of mine, who will then send you there.");
+ next;
+ goto L_Task;
+
+L_Task:
+ .@q2=getq2(General_Narrator);
+ if (.@q2 == 0) {
+ luaAssignTask1();
+ setq2 General_Narrator, 1;
+ .@q2=getq2(General_Narrator);
+ } else if (.@q2 == 2) {
+ luaAssignTask2();
+ setq2 General_Narrator, 3;
+ .@q2=getq2(General_Narrator);
+ } else if (.@q2 == 4) {
+ luaAssignTask3();
+ setq2 General_Narrator, 5;
+ .@q2=getq2(General_Narrator);
+ } else if (.@q2 == 6) {
+ luaAssignTask4();
+ setq2 General_Narrator, 7;
+ .@q2=getq2(General_Narrator);
+ } else if (.@q2 == 8) {
+ luaAssignTask5();
+ setq2 General_Narrator, 9;
+ .@q2=getq2(General_Narrator);
+ }
+
+ mesc b(l(".:: Main Quest 2-%d ::.", (.@q2+1)/2)), 3;
+ if (.@q2 == 1) {
+ luaTask1();
+ next;
+ if (luaCheckTask1()) {
+ setq2 General_Narrator, 2;
+ goto L_Task;
+ }
+ } else if (.@q2 == 3) {
+ luaTask2();
+ next;
+ if (luaCheckTask2()) {
+ setq2 General_Narrator, 4;
+ goto L_Task;
+ }
+ } else if (.@q2 == 5) {
+ luaTask3();
+ next;
+ if (luaCheckTask3()) {
+ setq2 General_Narrator, 6;
+ goto L_Task;
+ }
+ } else if (.@q2 == 7) {
+ luaTask4();
+ next;
+ if (luaCheckTask4()) {
+ setq2 General_Narrator, 8;
+ goto L_Task;
+ }
+ } else if (.@q2 == 9) {
+ luaTask5();
+ next;
+ if (luaCheckTask5()) {
+ setq2 General_Narrator, 10;
+ goto L_Finish;
+ }
+ }
+ //Exception("Something went wrong, this is not a valid MQ2 state: "+.@q2);
+ mesn;
+ mesq l("Safe travels!");
+ close;
+
+
+
+
+
+// Declare functions
+function luaAssignTask1 {
+ mesn;
+ mesq l("First and foremost, you should get yourself some reputation. I mean, right now, you are a complete nobody who was found on the sea.");
+ next;
+ mesn;
+ mesq l("As far as we are concerned, you could have been an exiled prisoner who managed to escape! But there are ways to prove to the Alliance that your intentions are good.");
+ next;
+ mesn;
+ mes l("%s is by becoming a %s.", b(l("The first way,")), b(l("Monster Hunter")));
+ // If you skipped Tutorial: You already know all this
+ tutmes l("Monster Hunters receive small bounties on a special currency, of Monster Points, for each monster they kill. The amount gained is based on the monster level."), l("Monster Hunter");
+ tutmes l("You can become a Monster Hunter by signing up with %s, near the Market.", b("Aidan")), l("Monster Hunter");
+ next;
+ mesn;
+ mes l("%s is by impressing the town guard.", b(l("The second way,")));
+ // If you skipped Tutorial: You already know all this
+ tutmes l("Also near the market, look for %s. He is the chief of the City Guard. Ask if he need help, and help him!", b(l("Lieutenant Dausen"))), l("Monster Hunter");
+ tutmes l("If he gives you a guard card, that'll allow access to the Guard House, where you can pick Daily Bounties for monsters. These will pay you in GP."), l("The Guard House");
+ tutmes l("Tulimshar is the strongest city because Dausen teaches every newcomer about the monsters around and how to defeat them. Take his special training if you get the chance!"), l("The Guard House");
+ next;
+ mesn;
+ mesq l("You don't need to do both right now, even if you probably will want to. Once any (or both) of them tell me you're an OK person, I'll start helping you.");
+ next;
+ return;
+} // Dausen & Aidan
+
+function luaTask1 {
+ msObjective(countitem(TulimsharGuardCard), l("* @@/@@ @@", countitem(TulimsharGuardCard), 1, getitemlink(TulimsharGuardCard)));
+ mes l("--- OR ---");
+ msObjective(MPQUEST, l("* Register as a Monster Hunter"));
+ return;
+}
+
+function luaCheckTask1 {
+ return (MPQUEST ||
+ countitem(TulimsharGuardCard));
+}
+
+
+
+
+
+function luaAssignTask2 {
+ mesn;
+ mesq l("Great! Here, I'll give you %d GP so you can start here with more ease.", 700);
+ tutmes l("You can get money in several ways, including by selling monster parts, doing daily quests, gambling, and even becoming the mayor of a town. Read the [@@help://faq|FAQ@@] (opens ingame) for help."), l("Getting Money");
+ next;
+ mesn;
+ mesq l("Well, I have a small problem. Sorry, but my superior officer did not like you. This happens, not everyone will like us, right? A lot of adventurers actually hate me %%R");
+ next;
+ mesn;
+ mes l("Anyway, he had a point. What will you do once the Monster War is over?");
+ if (MPQUEST)
+ mes l("The monster hunting program will end, and what will you do?");
+ if (countitem(TulimsharGuardCard))
+ mes l("The city guard won't need help from strangers anymore.");
+ next;
+ mesn;
+ mesq l("So, you need an alternative way to earn a living. So I looked at what is at highest demand right now, and which will remain once the war ends, and I've found you... %s!", b(l("two jobs")));
+ next;
+ mesn;
+ mes l("%s is by becoming a %s.", b(l("The first job,")), b(l("Fisherman/Fisherwoman")));
+ mes l("Food is, and should always be, in demand.");
+ // If you skipped Tutorial: You already know all this
+ tutmes l("Fishing is a boring task. Throw the bait, wait for fish to bite. Pull before it is too late. Then sell the fish for money."), l("Fishing");
+ next;
+ mes l("However, you need a %s or a Fishing Net. There's one fisherman in Tulimshar Center, called Eugene. He should have one, but he lives isolated on a small island... Good luck getting to him.", getitemlink(FishingRod));
+ tutmes l("The path to reach Eugene is hidden. However, if you pay attention to the map, you should figure out how to reach that island without swimming."), l("Secret Passages");
+ next;
+ mesn;
+ mes l("%s is by becoming a %s.", b(l("The second job,")), b(l("Craftsman/Craftswoman")));
+ tutmes l("One of the most important jobs on Moubootaur Legends, crafted equipment is much stronger than regular ones. Specially weapons."), l("Crafting");
+ tutmes l("To craft an item, you'll need to learn its blueprint. Blueprints can be very hard to obtain! Being a crafter will take a lot of your time."), l("Crafting");
+ next;
+ mesn;
+ mesq l("I think Intense Beard, on Tulimshar's Forge, was taking new apprentices. Try talking to him!");
+ next;
+ mesn;
+ mesq l("Again, you don't need to do both right now, but you probably will want to. Once you have a stable alternative income, I'll have... This paperwork sorted.");
+ // Rewards from previous quest
+ next;
+ Zeny+=700;
+ getexp 200, 20;
+ return;
+} // Fishing & Crafting
+
+function luaTask2 {
+ msObjective(countitem(FishingRod), l("* @@/@@ @@", countitem(FishingRod), 1, getitemlink(FishingRod)));
+ mes l("--- OR ---");
+ msObjective(CRAFTQUEST, l("* Register as a Craftsman/Craftswoman."));
+ return;
+}
+
+function luaCheckTask2 {
+ return (CRAFTQUEST ||
+ countitem(FishingRod));
+}
+
+
+
+
+
+function luaAssignTask3 {
+ inventoryplace Bread, 10, BottleOfTonoriWater, 1, SmokeGrenade, 3, CrazyRum, 1, EarthPowder, 1;
+
+ mesn;
+ mesq l("Congratulations! I've managed to process your paperwork. Here, you'll receive the starter kit!");
+ mesc l("* %d %s", 10, getitemlink(Bread));
+ mesc l("* %d %s", 3, getitemlink(SmokeGrenade));
+ mesc l("* %d %s", 1, getitemlink(BottleOfTonoriWater));
+ mesc l("* %d %s", 1, getitemlink(CrazyRum));
+ mesc l("* %d %s", 1, getitemlink(EarthPowder));
+ next;
+ mesn;
+ mesq l("I've also got in contact the other alliance representatives, and I've found out there's a way to bring you to Halinarzo, using Hurnscald route!");
+ next;
+ mesn;
+ mesq l("...Well, but even if Hurnscald is nearby, you are too weak. You know sometimes, ships get attacked by pirates, right?");
+ next;
+ mesn;
+ mesq l("So, I'll have to ask you to get strong and some money for the trip. So, go train now! I wish you the best of the luck!");
+
+ // Rewards from previous quest
+ next;
+ getitem Bread, 10;
+ getitem BottleOfTonoriWater, 1;
+ getitem SmokeGrenade, 3;
+ getitem CrazyRum, 1;
+ getitem EarthPowder, 1;
+ Zeny+=350;
+ getexp 250, 25;
+ return;
+} // Minimum level/job to begin
+
+function luaTask3 {
+ msObjective(BaseLevel >= 20, l("* @@/@@ Base Level", BaseLevel, 20));
+
+ msObjective(JobLevel >= 7, l("* @@/@@ Job Level", JobLevel, 7));
+
+ msObjective(Zeny >= 1500, l("* @@/@@ GP", Zeny, 1500));
+ return;
+}
+
+function luaCheckTask3 {
+ return (BaseLevel >= 20 &&
+ JobLevel >= 7 &&
+ Zeny >= 1500);
+}
+
+
+
+
+
+function luaAssignTask4 {
+ mesn;
+ mesc l("*cheerful*");
+ mesq l("Congratulations on reaching level 20!");
+ next;
+ mesn;
+ mesq l("I bet you are dead tired, and the ship travel takes a long time.");
+ next;
+ mesn;
+ mesq l("But don't worry! South of here we have an Inn.");
+ next;
+ mesn;
+ mesq l("It's the least I could do for having you to go through all this struggle. I've already paid everything, so just talk to the receptionist for your room :>");
+
+ // Rewards from previous quest
+ next;
+ LUA_ASKED_TO_SLEEP=true;
+ getexp 200, 20;
+ return;
+} // Inn Arc
+
+function luaTask4 {
+ msObjective(!LUA_ASKED_TO_SLEEP, l("* Rest at the Inn"));
+ return;
+}
+
+function luaCheckTask4 {
+ return (!LUA_ASKED_TO_SLEEP);
+}
+
+
+
+
+
+function luaAssignTask5 {
+ inventoryplace MercBoxAA, 1;
+
+ mesn;
+ mesc l("You tell Lua everything you've heard at the Inn.");
+ next;
+
+ mesn;
+ mesq l("The Professor? Wait, THE Professor? As in, the wisest person on Tulimshar?");
+ next;
+ mesn;
+ mesq l("The Professor is so wise that even if you fall asleep while listening to his invisible speech, you'll still learn!!");
+ next;
+
+ select
+ l("Who is this professor?"),
+ l("What can I do?");
+ mes "";
+ if (@menu == 1) {
+ mesn;
+ mesq l("Who is the Professor? I've heard he was the father of a certain Arthur... No idea.");
+ tutmes l("The professor is always on the Magic Council, the northmost building. If you sit on the area in front of him (marked with a red rug), you'll gain Experience, even while AFK.");
+ next;
+ mesn;
+ mesq l("But who cares? We need to save the Professor! During night, monsters are stronger, so they'll probably attack at night time!");
+ } else {
+ mesn;
+ mesq l("You need to save the Professor! During night, monsters are stronger, so they'll probably attack at night time!");
+ }
+ next;
+ mesn;
+ mesq l("During night the professor also goes to the Magic Academy, using the hidden north port, on the building to left of the Magic Council...");
+ if (!is_night())
+ mesc l("However, it's also possible they're there already. Be careful for ambushes!");
+ next;
+
+ mesn;
+ mesq l("Here, I'll give you a Mercenary Box. Open it, get the mercenary card, and summon it when needed. You absolutely CANNOT let the Professor be assassinated!");
+ tutmes l("Explain briefly about mercenaries... I mean, we have a Mercenaries section on @tutorial right?"); // <-- TODO and add on the wiki as well!
+ tutmes l("You can only have one mercenary active at a time, they die and will leave after 10 minutes - logged in or not.");
+ tutmes l("Still, they can be useful when you're trying to solo a boss and need help. The number of stars on the card is the strength and rarity. Use them wisely.");
+
+ next;
+ mesn;
+ mesq l("Now go! Lives are at stack!");
+ mesc l("NOTE: The Energy Ball explodes and Kills. Very. Well. Make them a priority!"), 1;
+
+ next;
+ getitem MercBoxAA, 1;
+ LUA_ASKED_TO_SAVE_PROFESSOR=true;
+ return;
+} // Your Report, the plan
+
+function luaTask5 {
+ mesc l("NOTE: This quest is still a work in progress. \"Bugs\" will show up on purpose.");
+ mes "";
+
+ msObjective(!LUA_ASKED_TO_SAVE_PROFESSOR, l("* Defeat the Assassin"));
+ mes "";
+ mesc l("NOTE: The Energy Ball explodes and Kills. Very. Well. Make them a priority!");
+ next;
+ mesn;
+ mesq l("During night the professor also goes to the Magic Academy, using the hidden north port, on the building to left of the Magic Council...");
+ if (!is_night())
+ mesc l("However, it's also possible they're there already. Be careful for ambushes!");
+ return;
+}
+
+function luaCheckTask5 {
+ return (!LUA_ASKED_TO_SAVE_PROFESSOR);
+}
+
+
+
+
+
+// Then we jump to L_Complete
+// When you finish the last quest from Lua
+L_Finish:
+ inventoryplace TreasureKey, 1;
+ getexp BaseLevel*60, JobLevel*10; // Reference Levels: (20, 6)
+ setq General_Narrator, 3, 0;
+ getitem TreasureKey, 1;
+ getvaultexp(10);
+ mesn;
+ mesq l("Well done! I hope no more of those assassins show up. I'm afraid I cannot give you a proper reward, but...");
+ next;
+ mesn;
+ mesq l("Ah, you might have seen a treasure chest on the mines. There are several of these chests to loot, and loot again! Here is a @@. Try it!", getitemlink(TreasureKey));
+ next;
+ mesn;
+ mesq l("Hopefully, you'll find something interesting on it to serve as a payment. It's up to luck, I guess....");
+ next;
+L_Complete:
+ mesn;
+ mesq l("You see the docks on the other side of the town? There should be a ship docked there.");
+ next;
+ if (!$HURNS_LIBDATE) {
+ mesn;
+ mesq l("The ship can bring you to the town of Hurnscald, but we have a problem: It is currently being occupied by a Monster Army.");
+ next;
+ mesn;
+ mesq l("That would be your next destination, but first, the monster army must be driven out!");
+ next;
+ mesn;
+ mesq l("The Game Masters are assembling a party to storm Hurnscald and liberate it. You should try joining it!");
+ next;
+ mesc l(">> Hurnscald must be Liberated first, to continue this story <<"), 1;
+ close;
+ }
+ mesn;
+ mesq l("You already got the money. Go there and pay ##B Hurnscald ##b a visit. The ##B mayor ##b should be able to help you.");
+ next;
+ mesn;
+ mesq l("Ship travels are quite expensive, so perhaps you may think it is worth to complete the other quests here?");
+ next;
+ .@r=reputation("Tulim");
+ mesn;
+ if (.@r <= 35)
+ mesq l("Try helping the city guard. Talk to NPCs around the city. Outside the city walls too. And there are some people on the mines.");
+ else if (.@r <= 60)
+ mesq l("You are doing some progress. There are about 4 quests on the mines, 1 outside walls, and 10 on the town. Some require level, so talk to people again sometimes.");
+ else if (.@r <= 85)
+ mesq l("You'll soon run out of stuff to do around here, so yeah, you should extend your horizons or you may get bored soon enough.");
+ else
+ mesq l("Tulimshar doesn't have a lot more of quests to offer you, so you should definitely explore new places.");
+ if (BaseLevel < 30)
+ mesq l("I'm sure there are a lot of sidequests here until you reach level 30, but that's optional.");
+ close;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/////////////////////////////////////////////////////////////////////////////////
+// Beginner Guide Functions
+L_Tips:
+ mesn;
+ mes l("Hmm... First of, I would really add some agility. Agility helps you to don't be hit, and not being hit is awesome.");
+ mes l("Hm, I would also do some quests if I needed money... On other hand, maybe I could go fishing? Do I know any fisher?");
+ mes l("Ah, getting experience is hard, too... I would stay within the city. Hit and Run tactics works the best.");
+ next;
+ mesn;
+ mes l("Hit'n'run is not so hard... One hit, one step back... One hit, another step back... One miss, two steps back...");
+ mes l("That works with most of monsters. Well, but we all know from @@ that it is better to stay put and let mobs kill us, right?", "Apane");
+ mes l("Heh, there is death penalty outside the town. You better watch out. The mobs are on a foul mood today, very easy to get killed.");
+ next;
+ mes l("Failing all else, you can stay at the Magic Council getting experience for sitting. Hopefully you'll gain a level and this will help you a bit.");
+ mes l("Of course, if your problem is only experience, then you should look for %s and other EXP-boosting drinks. Some are sold, some are made, some are dropped, some are... magical...", getitemlink(Beer));
+ next;
+ mesn;
+ mesc l("%s thinks if she knows any major, good quest to do.", .name$);
+ if (!countitem(TulimsharGuardCard)) {
+ mes l("Tulimshar Guard Card will prove good intentions. Talk to the Lieutenant in front of the Guard House.");
+ mesc l("Completing this quest will allow access to the Guard House, where you can pick Daily Bounties for monsters.");
+ mes "";
+ }
+ if (!countitem(FishingRod)) {
+ mes l("The fishing rod allows a quick income by selling fishes. However, reaching the fisherman might require some exploration... The whole world is full of secrets.");
+ mes "";
+ }
+ if (!countitem(LifestonePendant)) {
+ mes l("The lifestone pendant allows you a quicker HP recovery. Life is more important than defense.");
+ mes l("I have no idea about who would make a pendant, but lifestone can be done just outside the town walls.");
+ mes "";
+ }
+ if (!getq(TulimsharQuest_Sailors) < 2) {
+ mes l("There are some sailors near the forge. Think outside the box - or rather, inside it, unless you have a fortune to buy the items.");
+ mes "";
+ }
+ if (!(CRAFTQUEST || MPQUEST)) {
+ mes lg("To register as a craftswoman, you need to talk to Intense Beard in Terranite Forge. The forge is in the Bazar.", "To register as a craftsman, you need to talk to Intense Beard in Terranite Forge. The forge is in the Bazar.");
+ mes l("To register as a hunter, talk to Aidan, also in the marketplace - the Bazar.");
+ mesc l("You can, and @@, register on both programs.", b(l("SHOULD")));
+ mes "";
+ }
+ if (BaseLevel < 20) {
+ mes l("If you are in need to get lots of experience quickly, you should try to engage the bigger and stronger monsters in the town. However, if they hit you, it's Soul Menhir for you.");
+ next;
+ mes l("Another way to quickly get experience at lower levels, is visiting %s and talking to Professor. I heard those whom sit at the rug gain exp just by listening.", b(l("Magic Council")));
+ next;
+ mes l("But the most useful thing might be drinking %s and the like. They also boost drop rates, but weak drinks effects are low and short.", getitemlink(Beer));
+ mes "";
+ }
+ mesc l("She can't remember if anything else right now.");
+ close;
+
+L_Check:
+ mesn;
+ mesq l("Hmm... That's a though question!");
+ next;
+ mesn;
+ if (BaseLevel < 20)
+ mesq l("Currently, you stand no chance against the Snakes on the Desert Canyon.");
+ else if (BaseLevel < 25)
+ mesq l("Currently, you should not attempt the Desert Canyon because low level.");
+ else if (BaseLevel < 30)
+ mesq l("Currently, you stand no chance against the Snakes on the Desert Canyon, but you probably can cross it.");
+ else if (BaseLevel < 40)
+ mesq l("I'm pretty confident you can attempt the Desert Canyon, but expect to die a few times.");
+ else if (BaseLevel < 50)
+ mesq l("You have a high level. Go to Halinarzo already! You could even, I don't know, search for magic?!");
+ else
+ mesq l("Your level is so high, I'm surprised you haven't went there already. But then, most quests around there are for your level...");
+ next;
+ mesn;
+ mesq l("Bows are good, but if you're going to the Desert Canyon, I would instead invest on a light shield. Heavy ones make you walk slower.");
+ next;
+ .@r=reputation("Tulim");
+ mesn;
+ if (.@r <= 35)
+ mesq l("Try helping the city guard. Talk to NPCs around the city. Outside the city walls too. And there are some people on the mines.");
+ else if (.@r <= 60)
+ mesq l("You are doing some progress. There are about 4 quests on the mines, 1 outside walls, and 10 on the town. Some require level, so talk to people again sometimes.");
+ else if (.@r <= 85)
+ mesq l("You'll soon run out of stuff to do around here, so yeah, you should extend your horizons or you may get bored soon enough.");
+ else
+ mesq l("Tulimshar doesn't have a lot more of quests to offer you, so you should definitely explore new places.");
+ close;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/////////////////////////////////////////////////////////////////////////////////
+// Contributor Functions
+L_Contributor:
+ mes "";
+ .@m = htget($@CONTRIBUTORS, strtolower(strcharinfo(0)), 0);
+ if (!.@m) {
+ mesn;
+ mesq l("Ah... Sorry, your name is not on the contributor list.");
+ next;
+ mesn;
+ mesq l("You can colaborate with our project though! Just ask on #tmw2-dev, be it on Discord or IRC!");
+ close;
+ }
+ mesn;
+ mesq l("Ah, welcome @@. You have @@ Contributor Points.", strcharinfo(0), .@m);
+ mesq l("Let's see if you can pick a reward!");
+ select
+ rif(!(#CRW & 128) && .@m >= 250, l("30x Bug Leg")),
+ rif(!(#CRW & 64) && .@m >= 100 && Zeny > 10000, l("(10,000 GP) Epic Mount")),
+ rif(!(#CRW & 32) && .@m >= 50, l("Developer Cap")),
+ rif(!(#CRW & 16) && .@m >= 40, l("Delicious Cookie")),
+ rif(!(#CRW & 8) && .@m >= 30, l("20x Bug Leg")),
+ rif(!(#CRW & 4) && .@m >= 20, l("Contributor Sweater")),
+ rif(!(#CRW & 2) && .@m >= 10, l("Community Shirt")),
+ rif(!(#CRW & 1) && .@m, l("5x Strange Coins")),
+ l("Which rewards are available?"),
+ l("Ok, thanks.");
+
+ mes "";
+ switch (@menu) {
+ case 1:
+ luaCReward(BugLeg, 128, false, 30); break;
+ case 2:
+ Zeny=Zeny-10000; luaCReward(LegendaryMouboo, 64, true); break;
+ case 3:
+ luaCReward(DEVCap, 32); break;
+ case 4:
+ luaCReward(DeliciousCookie, 16); break;
+ case 5:
+ luaCReward(BugLeg, 8, false, 20); break;
+ case 6:
+ luaCReward(ContributorSweater, 4); break;
+ case 7:
+ luaCReward(CommunityShirt, 2); break;
+ case 8:
+ luaCReward(StrangeCoin, 1, false, 5); break;
+ case 9:
+ mesf("250 - 30x %s", getitemlink(BugLeg));
+ mesf("100 (+10,000 GP) - %s", getitemlink(LegendaryMouboo));
+ mesf("50 - %s", getitemlink(DEVCap));
+ mesf("40 - %s", getitemlink(DeliciousCookie));
+ mesf("30 - 20x %s", getitemlink(BugLeg));
+ mesf("20 - %s", getitemlink(ContributorSweater));
+ mesf("10 - %s", getitemlink(CommunityShirt));
+ mesf("1 - 5x %s", getitemlink(StrangeCoin));
+ next;
+ goto L_Contributor;
+ break;
+ }
+ close;
+
+function luaCReward {
+ .@it=getarg(0);
+ .@cr=getarg(1);
+ .@bd=getarg(2, false);
+ .@am=getarg(3, 1);
+ if (!.@bd)
+ getitem .@it, .@am;
+ else
+ getitembound .@it, .@am, 1;
+ #CRW=#CRW|.@cr;
+ logmes(sprintf("%s has claimed a(n) %s with Contributor Points.",
+ strcharinfo(0), getitemname(.@it)));
+ logmes(sprintf("%s has claimed a(n) %s with Contributor Points.",
+ strcharinfo(0), getitemname(.@it)), LOGMES_ATCOMMAND);
+ return;
+}
+
+L_Close:
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, GMRobe);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, LousyMoccasins);
+ setunitdata(.@npcId, UDT_WEAPON, BugSlayer);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 12);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 5);
+ bindatcmd "strangecoin", "Lua#003-2::OnGMCoinClaim", 60, 100, 1;
+ bindatcmd "strangeshop", "Lua#003-2::OnGMEventShop", 60, 100, 1;
+
+ .sex = G_FEMALE;
+ .distance = 4;
+ end;
+}
diff --git a/npc/003-2/mapflags.txt b/npc/003-2/mapflags.txt
new file mode 100644
index 0000000..8637eac
--- /dev/null
+++ b/npc/003-2/mapflags.txt
@@ -0,0 +1 @@
+003-2 mapflag town
diff --git a/npc/003-2/politics.txt b/npc/003-2/politics.txt
new file mode 100644
index 0000000..2ea738e
--- /dev/null
+++ b/npc/003-2/politics.txt
@@ -0,0 +1,58 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Town Administrator file, see npc/functions/politics.txt
+// User variables:
+// #POL_APPLYWEEK = Week of last application
+// #POL_VOTEDAY = Day of last vote
+
+003-2,29,35,0 script Tulimshar Office NPC_POLITICS,{
+do
+{
+ mesc ".:: "+l("Tulimshar Townhall")+" ::.", 2;
+ mesc l("Current Town Administrator: ")+$TULIM_MAYOR$, 3;
+ POL_TownInfo("TULIM");
+ mesc l("Application fee: @@ GP", .applytax);
+ next;
+ select
+ l("Information"),
+ rif(strcharinfo(0) == $TULIM_MAYOR$, l("Manage Town")),
+ rif(#POL_APPLYWEEK != gettimeparam(GETTIME_WEEKDAY), l("Apply for the office!")),
+ l("View Candidate List and cast a vote"),
+ l("[Quit]");
+
+ switch (@menu) {
+ case 1:
+ POL_Information();
+ break;
+ case 2:
+ POL_Manage("TULIM");
+ break;
+ case 3:
+ // array_push might be too sensible for getd/setd
+ if (Zeny < .applytax)
+ break;
+ Zeny-=.applytax;
+ $TULIM_MONEY+=.applytax;
+ #POL_APPLYWEEK=gettimeparam(GETTIME_WEEKDAY);
+ array_push($TULIM_CANDIDATE$, strcharinfo(0));
+ array_push($TULIM_VOTES, 0);
+ mesc l("Application successful!"), 3;
+ next;
+ break;
+ case 4:
+ POL_Candidate("TULIM");
+ break;
+ default:
+ close;
+ }
+} while (true);
+end;
+
+OnInit:
+ .applytax=120;
+ .distance=4;
+ end;
+}
+
diff --git a/npc/003-3/_import.txt b/npc/003-3/_import.txt
new file mode 100644
index 0000000..d371450
--- /dev/null
+++ b/npc/003-3/_import.txt
@@ -0,0 +1,4 @@
+// Map 003-3: Tulimshar Storage
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-3/_warps.txt",
+"npc/003-3/malindou.txt",
diff --git a/npc/003-3/_warps.txt b/npc/003-3/_warps.txt
new file mode 100644
index 0000000..3f24581
--- /dev/null
+++ b/npc/003-3/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-3: Tulimshar Storage warps
+003-3,39,41,0 warp #003-3_39_41 0,0,003-1,56,100
diff --git a/npc/003-3/malindou.txt b/npc/003-3/malindou.txt
new file mode 100644
index 0000000..e6d1c03
--- /dev/null
+++ b/npc/003-3/malindou.txt
@@ -0,0 +1,862 @@
+// TMW-2 Script.
+// Author:
+// Saulc
+// Jesusalva
+// Notes:
+// Tulim banker, and also handles PCLogin events: CheckClientVersion, and bank
+// Take care of server updates, but instances are defined on their ships.
+
+003-3,36,34,0 script Malindou NPC_LLOYD,{
+ Banker(.name$, "Tulimshar", 9000);
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 4;
+
+ // Update handler (use `date +%s` for this)
+ // Current UPDATE value: Qui Jun 7 08:10:55 -03 2018
+ if ($UPDATE < 1528369855) {
+ $UPDATE=1528369855;
+ debugmes "Warning.";
+ debugmes "Warning.";
+ debugmes "Warning: This introduces a server update:";
+ debugmes "";
+ debugmes "* Automatic variable setup";
+ debugmes "";
+ $HASAN_GP=2000;
+ $MANA_BINT=10;
+ $MANA_BLVL=40;
+ $MANA_JLVL=20;
+ $VAULT_01738039=25;
+ $TULIM_MAYOR$="Jesus Saves";
+ $TULIM_TAX=100;
+ $TULIM_EXPORT=5000;
+ $TULIM_REPUTATION=50;
+ $HALIN_MAYOR$="Jesus Saves";
+ $HALIN_TAX=100;
+ $HALIN_EXPORT=2000;
+ $HALIN_REPUTATION=50;
+ $HURNS_MAYOR$="Jesus Saves";
+ $HURNS_TAX=100;
+ $HURNS_EXPORT=3000;
+ $HURNS_REPUTATION=50;
+ $LOF_MAYOR$="Jesus Saves";
+ $LOF_TAX=100;
+ $LOF_EXPORT=4000;
+ $LOF_REPUTATION=50;
+ $NIVAL_MAYOR$="Jesus Saves";
+ $NIVAL_TAX=100;
+ $NIVAL_EXPORT=3000;
+ $NIVAL_REPUTATION=50;
+ $FROSTIA_MAYOR$="Jesus Saves";
+ $FROSTIA_TAX=100;
+ $FROSTIA_EXPORT=3000;
+ $FROSTIA_REPUTATION=50;
+ $CANDOR_MAYOR$="Jesus Saves";
+ $CANDOR_TAX=1000;
+ $CANDOR_EXPORT=0;
+ $CANDOR_REPUTATION=100;
+ $BCONFN_SPAWN = 70;
+ $BCONFD_SPAWN = 100;
+ $BCONFN_MOBHP = 100;
+ $BCONFD_MOBHP = 90;
+ $BCONFB_EXPR = 100;
+ $BCONFN_EXPR = 5;
+ $BCONFD_EXPR = 0;
+ $BCONFB_DROP = 100;
+ $BCONFN_DROP = 7;
+ $BCONFD_DROP = 0;
+ $BETASERVER = false;
+ $AUTORESTART = false;
+ $ALLIANCE_TAX1 = 7500;
+ $ALLIANCE_TAX2 = 60;
+ $FIRESOFSTEAM[1] = 2000;
+ $FIRESOFSTEAM[2] = 2000;
+ $FIRESOFSTEAM[3] = 2000;
+ $FIRESOFSTEAM[4] = 2000;
+ $FIRESOFSTEAM[5] = 2000;
+ }
+ /*
+ // Current UPDATE value: Dom Jun 17 21:32:45 -03 2018
+ if ($UPDATE < 1529281965) {
+ $UPDATE=1529281965;
+ debugmes "";
+ debugmes "* Please set #BankP for bankers";
+ debugmes "* Automatically creatining minimal GP reserves for Hasan Autumn's Quest";
+ debugmes "";
+ $HASAN_GP=rand(3,12)+rand(3,12)+rand(3,12);
+ }
+ // Current UPDATE value: Dom Jun 30 22:44:46 -03 2018
+ if ($UPDATE < 1530409486) {
+ $UPDATE=1530409486;
+ debugmes "";
+ debugmes "* Clearing invalid (deleted) items";
+ debugmes "";
+ DelItemFromEveryPlayer(729);
+ }
+ // Current UPDATE value: Qui Jul 12 02:40:02 -03 2018
+ if ($UPDATE < 1531374002) {
+ $UPDATE=1531374002;
+ debugmes "";
+ debugmes "* WARNING! WARNING! WARNING!";
+ debugmes "* ITEM ID VIOLATION DETECTED!";
+ debugmes "";
+ debugmes "* ALL POLISHED EMERALDS BECOME POLISHED AMETHYSTS, AND VICE-VERSA!";
+ debugmes "* This should not have an effect ingame.";
+ debugmes "";
+ }
+ // Current UPDATE value: Qui Ago 2 13:58:17 -03 2018
+ if ($UPDATE < 1533229097) {
+ $UPDATE=1533229097;
+ debugmes "";
+ debugmes "* ERASING all victories with Fafi Dragon";
+ debugmes "";
+ query_sql("UPDATE `quest` SET `count1` = '1' WHERE `quest`.`quest_id`="+LoFQuest_Fairy+" AND `count1` = '2'");
+ query_sql("UPDATE `quest` SET `count1` = '2' WHERE `quest`.`quest_id`="+LoFQuest_Fairy+" AND `count1` = '3'");
+ DelItemFromEveryPlayer(SkullMask);
+ }
+ // Current UPDATE value: Qua Ago 8 11:04:10 -03 2018
+ if ($UPDATE < 1533737050) {
+ $UPDATE=1533737050;
+ debugmes "";
+ debugmes "* REMOVING now rare items.";
+ debugmes "";
+ DelItemFromEveryPlayer(SilverMirror);
+ }
+ // Current UPDATE value: Seg Ago 27 20:20:21 -03 2018
+ if ($UPDATE < 1535412021) {
+ $UPDATE=1535412021;
+ debugmes "";
+ debugmes "* SETUP mana stone default values.";
+ debugmes "";
+ $MANA_BINT=30;
+ $MANA_BLVL=30;
+ $MANA_JLVL=15;
+ }
+ // Current UPDATE value: Qui Set 06 13:50:37 -03 2018
+ if ($UPDATE < 1536252637) {
+ $UPDATE=1536252637;
+ debugmes "";
+ debugmes "* Clearing invalid (deleted) items";
+ debugmes "* Initial Vault Values";
+ debugmes "";
+ DelItemFromEveryPlayer(802);
+ DelItemFromEveryPlayer(557);
+ $VAULT_01738039=rand(5,25);
+ }
+ // Current UPDATE value: Qui Set 13 14:17:50 -03 2018
+ if ($UPDATE < 1536859070) {
+ $UPDATE=1536859070;
+ debugmes "";
+ debugmes "* Aisen already have a completed node at PETMEMO.";
+ debugmes "* This was handled automatically, no special care is required.";
+ debugmes "";
+ }
+ // Current UPDATE value: Dom Set 16 22:21:05 -03 2018
+ if ($UPDATE < 1537147265) {
+ $UPDATE=1537147265;
+ debugmes "";
+ debugmes "* My Money quest state modified";
+ debugmes "* Foxhound Famine quest state modified";
+ debugmes "* Life Delight quest state modified"; // “A True Chef†is the LoF version of this quest
+ debugmes "";
+ query_sql("UPDATE `quest` SET `count1` = '1' WHERE `quest`.`quest_id`="+ShipQuests_ArpanMoney+" AND `count1` = '2'");
+ query_sql("UPDATE `quest` SET `count2` = `count1` WHERE `quest`.`quest_id`="+HalinarzoQuest_Foxhound+" AND `count1` >= '6'");
+ query_sql("UPDATE `quest` SET `count1` = '6' WHERE `quest`.`quest_id`="+HalinarzoQuest_Foxhound+" AND `count1` > '6'");
+ query_sql("UPDATE `quest` SET `count2` = `count1` WHERE `quest`.`quest_id`="+HalinarzoQuest_LifeDelight);
+ query_sql("UPDATE `quest` SET `count1` = '1' WHERE `quest`.`quest_id`="+HalinarzoQuest_LifeDelight+" AND `count1` > '1'");
+ }
+ // Current UPDATE value: Seg Set 17 16:02:27 -03 2018
+ if ($UPDATE < 1537210947) {
+ $UPDATE=1537210947;
+ debugmes "";
+ debugmes "* Referral Hack System";
+ debugmes "";
+ setarray $REFERRAL_IDS, 0;
+ }
+ // Current UPDATE value: Ter Out 16 17:17:20 -03 2018
+ // This is a hack because I'm too lazy to be bothered with standard SQL Upgrade system
+ if ($UPDATE < 1539721040) {
+ query_sql("CREATE TABLE IF NOT EXISTS `discord` (`account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',`discord_id` VARCHAR(255) NOT NULL DEFAULT '',`discord_name` VARCHAR(255) NOT NULL DEFAULT '',`verified` ENUM('0', '1') NOT NULL DEFAULT '0') ENGINE=MyISAM");
+ $UPDATE=1539721040;
+ //$NIVALIS_LIBDATE=1539721040;
+ debugmes "";
+ debugmes "* SQL Upgrade (no effect on new installations)";
+ //debugmes "* Nivalis Liberation Day event skipped";
+ debugmes "";
+ }
+ // Current UPDATE value: Dom Nov 18 17:40:30 -02 2018
+ // Update players position
+ if ($UPDATE < 1542570030) {
+ query_sql("UPDATE `char` SET `last_x` = '35' WHERE `char`.`last_map`='005-1'");
+ query_sql("UPDATE `char` SET `last_y` = '102' WHERE `char`.`last_map`='005-1'");
+ query_sql("UPDATE `char` SET `save_x` = '35' WHERE `char`.`save_map`='005-1'");
+ query_sql("UPDATE `char` SET `save_y` = '102' WHERE `char`.`save_map`='005-1'");
+ $UPDATE=1542570030;
+ debugmes "";
+ debugmes "* Update Candor players position";
+ debugmes "";
+ }
+ // Current UPDATE value: Sab Dez 15 21:45:15 -02 2018
+ // Upgrade every Wooden Sword in a Bug Slayer
+ if ($UPDATE < 1544917515) {
+ ReplaceItemFromEveryPlayer(WoodenSword, BugSlayer);
+ $UPDATE=1544917515;
+ debugmes "";
+ debugmes "* Replaced Wooden Swords with Bug Slayer";
+ debugmes "";
+ }
+ // Current UPDATE value: Sab Dez 17 13:52:54 -02 2018
+ // Fix a critical bug because Nard's ship doors logic was changed. Upgrade premium weapons in rare weapons
+ if ($UPDATE < 1545061974) {
+ //query_sql("UPDATE `quest` SET `count1` = '3' WHERE `quest`.`quest_id`='0' AND `quest`.`count1` = '2' AND `quest`.`char_id` IN (SELECT `quest`.`char_id` WHERE `quest`.`quest_id` = '12' AND `quest`.`count1`>='1')");
+
+ ReplaceItemFromEveryPlayer(MiereCleaver, LEGACY_MiereCleaver);
+ ReplaceItemFromEveryPlayer(Broadsword, LEGACY_Broadsword);
+ $UPDATE=1545061974;
+ debugmes "";
+ debugmes "* Replaced Miere Cleaver and Broad Sword with a special version specific for old players";
+ debugmes "* Fix critical bug with Nard (not needed on Main Server)";
+ debugmes "";
+ }
+ // Current UPDATE value: Qua Dez 26 21:45:10 -02 2018
+ // Update item id
+ if ($UPDATE < 1545867910) {
+ ReplaceItemFromEveryPlayer(6000, 9990);
+ ReplaceItemFromEveryPlayer(6001, 9991);
+ ReplaceItemFromEveryPlayer(6004, 9994);
+ ReplaceItemFromEveryPlayer(6005, 9995);
+
+ ReplaceItemFromEveryPlayer(9990, 6001);
+ ReplaceItemFromEveryPlayer(9991, 6000);
+ ReplaceItemFromEveryPlayer(9994, 6005);
+ ReplaceItemFromEveryPlayer(9995, 6004);
+
+ $UPDATE=1545867910;
+ debugmes "";
+ debugmes "* Update Bows IDs";
+ debugmes "";
+ }
+ // Current UPDATE value: Seg Dez 31 11:45:35 -02 2018
+ // Update players position (002-x). Update Peter Quest. Update Main quest.
+ if ($UPDATE < 1546263935) {
+ query_sql("UPDATE `char` SET `last_x` = '53' WHERE `char`.`last_map`='002-1'");
+ query_sql("UPDATE `char` SET `last_y` = '38' WHERE `char`.`last_map`='002-1'");
+ query_sql("UPDATE `char` SET `last_x` = '53' WHERE `char`.`last_map`='002-3'");
+ query_sql("UPDATE `char` SET `last_y` = '38' WHERE `char`.`last_map`='002-3'");
+ query_sql("UPDATE `char` SET `last_x` = '53' WHERE `char`.`last_map`='002-4'");
+ query_sql("UPDATE `char` SET `last_y` = '38' WHERE `char`.`last_map`='002-4'");
+
+ query_sql("UPDATE `quest` SET `count1` = '2' WHERE `quest`.`quest_id`="+ShipQuests_Peter+" AND `count1` >= '3'");
+ query_sql("UPDATE `quest` SET `count1` = '1' WHERE `quest`.`quest_id`="+General_Narrator+" AND `count1` >= '2'");
+ $UPDATE=1546263935;
+ debugmes "";
+ debugmes "* Update players position (Nard's Ship)";
+ debugmes "* Update Peter Quest";
+ debugmes "";
+ }
+ // Current UPDATE value: Ter Jan 8 11:14:04 -02 2019
+ // Update arrow IDs
+ if ($UPDATE < 1546953244) {
+ ReplaceItemFromEveryPlayer(CursedArrow, 9990);
+ ReplaceItemFromEveryPlayer(IronArrow, 9991);
+ ReplaceItemFromEveryPlayer(9990, IronArrow);
+ ReplaceItemFromEveryPlayer(9991, CursedArrow);
+
+ // Maybe we should make Tolchi Arrow greater than Training Arrow?
+
+ // PlatinumQuiver - DragonStar - MichelSoul
+ // Terranite Quiver was broken in two, they'll keep the weaker version
+ ReplaceItemFromEveryPlayer(1174, 9991);
+ ReplaceItemFromEveryPlayer(1175, 9992);
+ ReplaceItemFromEveryPlayer(1176, 9993);
+
+ ReplaceItemFromEveryPlayer(9991, 1175);
+ ReplaceItemFromEveryPlayer(9992, 1176);
+ ReplaceItemFromEveryPlayer(9993, 1177);
+
+ $UPDATE=1546953244;
+ debugmes "";
+ debugmes "* Update Arrows IDs";
+ debugmes "* Update Quiver IDs";
+ debugmes "";
+ }
+ // Current UPDATE value: Ter Jan 15 02:07:40 -02 2019
+ // Reset all thief/merc ranks back to 1.
+ // If
+ if ($UPDATE < 1547525260) {
+
+ // Already rank 2? Give enough exp to get rank 2 easily.
+ query_sql("UPDATE `char_reg_num_db` SET `value` = '30' WHERE `char_reg_num_db`.`key`='THIEF_EXP' AND `char_reg_num_db`.`char_id` IN (SELECT `char_reg_num_db`.`char_id` WHERE `char_reg_num_db`.`key` = 'THIEF_RANK' AND `char_reg_num_db`.`value`>='2')");
+ // Didn't wanted to rank up? Reset exp to 30!
+ query_sql("UPDATE `char_reg_num_db` SET `value` = '30' WHERE `char_reg_num_db`.`key`='THIEF_EXP' AND `char_reg_num_db`.`value` >= '32' AND `char_reg_num_db`.`char_id` IN (SELECT `char_reg_num_db`.`char_id` WHERE `char_reg_num_db`.`key` = 'THIEF_RANK' AND `char_reg_num_db`.`value`<='1')");
+ // Already rank 2? Return to rank 1.
+ query_sql("UPDATE `char_reg_num_db` SET `value` = '1' WHERE `char_reg_num_db`.`key`='THIEF_RANK' AND `char_reg_num_db`.`value` >= '2'");
+
+ // The same thing, now for merchants
+
+ // Already rank 2? Give enough exp to get rank 2 easily.
+ query_sql("UPDATE `char_reg_num_db` SET `value` = '30' WHERE `char_reg_num_db`.`key`='MERC_EXP' AND `char_reg_num_db`.`char_id` IN (SELECT `char_reg_num_db`.`char_id` WHERE `char_reg_num_db`.`key` = 'MERC_RANK' AND `char_reg_num_db`.`value`>='2')");
+ // Didn't wanted to rank up? Reset exp to 30!
+ query_sql("UPDATE `char_reg_num_db` SET `value` = '30' WHERE `char_reg_num_db`.`key`='MERC_EXP' AND `char_reg_num_db`.`value` >= '32' AND `char_reg_num_db`.`char_id` IN (SELECT `char_reg_num_db`.`char_id` WHERE `char_reg_num_db`.`key` = 'MERC_RANK' AND `char_reg_num_db`.`value`<='1')");
+ // Already rank 2? Return to rank 1.
+ query_sql("UPDATE `char_reg_num_db` SET `value` = '1' WHERE `char_reg_num_db`.`key`='MERC_RANK' AND `char_reg_num_db`.`value` >= '2'");
+
+ $UPDATE=1547525260;
+ debugmes "";
+ debugmes "* Merc/Thief ranks reset to 1";
+ debugmes "Improving past rank 2 helps on minigame";
+ debugmes "";
+ }
+ // Current UPDATE value: Qui Fev 28 19:42:12 -03 2019
+ // Late fix for Nard Ship Bug
+ if ($UPDATE < 1551393732) {
+ query_sql("UPDATE `quest` SET `count1` = '3' WHERE `quest`.`quest_id`="+ShipQuests_Julia+" AND `count1` <= '2'");
+ $UPDATE=1551393732;
+ debugmes "";
+ debugmes "* Late fix for Nard Ship Bug";
+ debugmes "";
+ }
+ // Current UPDATE value: Qui Mar 7 23:15:54 -03 2019
+ // Map Update
+ if ($UPDATE < 1552011354) {
+ query_sql("UPDATE `char` SET `last_x` = '22' WHERE `char`.`last_map`='014-3'");
+ query_sql("UPDATE `char` SET `last_y` = '22' WHERE `char`.`last_map`='014-3'");
+ query_sql("UPDATE `char` SET `last_map` = '000-1' WHERE `char`.`last_map`='014-3'");
+
+ query_sql("UPDATE `char` SET `last_x` = '22' WHERE `char`.`last_map`='003-1'");
+ query_sql("UPDATE `char` SET `last_y` = '22' WHERE `char`.`last_map`='003-1'");
+ query_sql("UPDATE `char` SET `last_map` = '000-1' WHERE `char`.`last_map`='003-1'");
+ $UPDATE=1552011354;
+ debugmes "";
+ debugmes "* Map Updates";
+ debugmes "";
+ }
+ // Current UPDATE value: Sáb Mar 23 11:11:32 -03 2019
+ // Soul Menhir savepoint replaced
+ if ($UPDATE < 1553350292) {
+ query_sql("UPDATE `char` SET `save_map` = '000-1'");
+ query_sql("UPDATE `char` SET `save_x` = '22'");
+ query_sql("UPDATE `char` SET `save_y` = '22'");
+ $UPDATE=1553350292;
+ debugmes "";
+ debugmes "* Soul Menhir Save Point replaced";
+ debugmes "";
+ }
+ // Current UPDATE value: Sex Abr 26 00:12:35 -03 2019
+ // Monster King & Main Storyline System
+ if ($UPDATE < 1556248355) {
+ query_sql("UPDATE `quest` SET `count3` = '0' WHERE `quest`.`quest_id`="+HurnscaldQuest_Arkim);
+ query_sql("UPDATE `quest` SET `count2` = '0' WHERE `quest`.`quest_id`="+HurnscaldQuest_Arkim);
+ $GAME_STORYLINE=2;
+
+ $UPDATE=1556248355;
+ debugmes "";
+ debugmes "* Main Storyline system updated";
+ debugmes "* Arkim updated";
+ debugmes "";
+ }
+ // Current UPDATE value: Sab Mai 04 02:21:58 -03 2019
+ // Remove Return Crystals
+ if ($UPDATE < 1556947318) {
+ query_sql("UPDATE `quest` SET `count2` = '7' WHERE `quest`.`quest_id`="+General_Narrator+" AND `count1` >= '6'");
+ query_sql("UPDATE `quest` SET `count1` = '5' WHERE `quest`.`quest_id`="+General_Narrator+" AND `count1` >= '6'");
+
+ DelItemFromEveryPlayer(ReturnPotion);
+
+ $UPDATE=1556947318;
+ debugmes "";
+ debugmes "* Player Storyline modified";
+ debugmes "* Return Crystals removed";
+ debugmes "";
+ }
+ // Current UPDATE value: Seg mai 06 08:54:55 -03 2019
+ // Remove Legendary Weapons
+ if ($UPDATE < 1557143695) {
+ DelItemFromEveryPlayer(Lightbringer);
+ //DelItemFromEveryPlayer(DemureAxe); // Demure's Exception!
+ DelItemFromEveryPlayer(Tyranny);
+ DelItemFromEveryPlayer(Runestaff);
+ DelItemFromEveryPlayer(AegisShield);
+
+ $UPDATE=1557143695;
+ debugmes "";
+ debugmes "* Legendary Weapons removed";
+ debugmes "";
+ }
+ // Current UPDATE value: Dom mai 26 23:00:52 -03 2019
+ // Shovel Update
+ if ($UPDATE < 1558922452) {
+ DelItemFromEveryPlayer(527); // Old pumpkish juice nobody have
+ ReplaceItemFromEveryPlayer(526, 527);
+
+ $UPDATE=1558922452;
+ debugmes "";
+ debugmes "* Shovel Update";
+ debugmes "";
+ }
+ // Current UPDATE value: Seg mai 27 10:57:02 -03 2019
+ // Picklog Update
+ if ($UPDATE < 1558965422) {
+ query_sql("ALTER TABLE picklog MODIFY COLUMN `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0';");
+ query_sql("ALTER TABLE picklog MODIFY COLUMN `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0';");
+ query_sql("ALTER TABLE picklog MODIFY COLUMN `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0';");
+ query_sql("ALTER TABLE picklog MODIFY COLUMN `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0';");
+ query_sql("ALTER TABLE picklog MODIFY COLUMN `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0';");
+
+ // Replace all BugSlayer, ShortGladius, RealBronzeGladius and Backsword
+ // With a version containing the critical damage option (bCritAtkRate)
+ // auction table have no faulty items, nor do carts nor do I care w/ rodex
+ // by the time this query was writen
+ // IOPT_CRITDMG id is 199
+ query_sql("UPDATE `inventory` SET `opt_idx0` = '199', `opt_val0` = '30'"+
+ " WHERE `nameid`="+BugSlayer);
+ query_sql("UPDATE `storage` SET `opt_idx0` = '199', `opt_val0` = '30'"+
+ " WHERE `nameid`="+BugSlayer);
+ query_sql("UPDATE `guild_storage` SET `opt_idx0` = '199', `opt_val0` = '30'"+
+ " WHERE `nameid`="+BugSlayer);
+
+ query_sql("UPDATE `inventory` SET `opt_idx0` = '199', `opt_val0` = '30'"+
+ " WHERE `nameid`="+ShortGladius);
+ query_sql("UPDATE `storage` SET `opt_idx0` = '199', `opt_val0` = '30'"+
+ " WHERE `nameid`="+ShortGladius);
+ query_sql("UPDATE `guild_storage` SET `opt_idx0` = '199', `opt_val0` = '30'"+
+ " WHERE `nameid`="+ShortGladius);
+
+ query_sql("UPDATE `inventory` SET `opt_idx0` = '199', `opt_val0` = '30'"+
+ " WHERE `nameid`="+RealBronzeGladius);
+ query_sql("UPDATE `storage` SET `opt_idx0` = '199', `opt_val0` = '30'"+
+ " WHERE `nameid`="+RealBronzeGladius);
+ query_sql("UPDATE `guild_storage` SET `opt_idx0` = '199', `opt_val0` = '30'"+
+ " WHERE `nameid`="+RealBronzeGladius);
+
+ query_sql("UPDATE `inventory` SET `opt_idx0` = '199', `opt_val0` = '30'"+
+ " WHERE `nameid`="+Backsword);
+ query_sql("UPDATE `storage` SET `opt_idx0` = '199', `opt_val0` = '30'"+
+ " WHERE `nameid`="+Backsword);
+ query_sql("UPDATE `guild_storage` SET `opt_idx0` = '199', `opt_val0` = '30'"+
+ " WHERE `nameid`="+Backsword);
+
+ $UPDATE=1558965422;
+ debugmes "";
+ debugmes "* picklog options Update";
+ debugmes "";
+ }
+ // Current UPDATE value: Sex Jun 21 13:20:21 -03 2019
+ // Tulimshar Sailors quest was split in two
+ if ($UPDATE < 1561134021) {
+ query_sql("UPDATE `quest` SET `count1` = '4' WHERE `quest`.`quest_id`="+TulimsharQuest_Sailors+" AND `count1` >= '2'");
+
+ query_sql("UPDATE `char` SET `last_x` = '22' WHERE `char`.`last_map`='005-1'");
+ query_sql("UPDATE `char` SET `last_y` = '22' WHERE `char`.`last_map`='005-1'");
+ query_sql("UPDATE `char` SET `last_map` = '000-1' WHERE `char`.`last_map`='005-1'");
+ $UPDATE=1561134021;
+ debugmes "";
+ debugmes "* Tulimshar Sailors split in two";
+ debugmes "";
+ }
+ // Current UPDATE value: Seg Jul 15 22:10:00 -03 2019
+ // Candor Redesign
+ if ($UPDATE < 1563239400) {
+ query_sql("UPDATE `char` SET `last_x` = '22' WHERE `char`.`last_map`='005-1'");
+ query_sql("UPDATE `char` SET `last_y` = '22' WHERE `char`.`last_map`='005-1'");
+ query_sql("UPDATE `char` SET `last_map` = '000-1' WHERE `char`.`last_map`='005-1'");
+ query_sql("UPDATE `skill` SET `id` = '20010' WHERE `skill`.`id`='20011'");
+ $UPDATE=1563239400;
+ debugmes "";
+ debugmes "* Candor Redesign";
+ debugmes "* Magic Class Removed";
+ debugmes "";
+ }
+ // Current UPDATE value: Sab Ago 24 17:42:24 -03 2019
+ // Political System
+ if ($UPDATE < 1566679344) {
+ $UPDATE=1566679344;
+ // $LOC_MAYOR$ - Stores the name of current Hurnscald Mayor
+ // $LOC_MONEY - Total money reserves of Hurnscald
+ // $LOC_TAX - How much in % is charged as taxes. (OnBuy income)
+ // $LOC_EXPORT - Defines how much Hurnscald exports (weekly income)
+ // $LOC_REPUTATION - Town reputation. Affects Max Tax and Weekly Income.
+
+ // Tulim
+ $TULIM_MAYOR$="Saulc GM";
+ $TULIM_TAX=100;
+ $TULIM_EXPORT=5000;
+ $TULIM_REPUTATION=50;
+ // Halin
+ $HALIN_MAYOR$="Saulc GM";
+ $HALIN_TAX=100;
+ $HALIN_EXPORT=2000;
+ $HALIN_REPUTATION=50;
+ // Hurns
+ $HURNS_MAYOR$="Saulc GM";
+ $HURNS_TAX=100;
+ $HURNS_EXPORT=3000;
+ $HURNS_REPUTATION=50;
+ // LoF
+ $LOF_MAYOR$="Jesus Saves";
+ $LOF_TAX=100;
+ $LOF_EXPORT=4000;
+ $LOF_REPUTATION=50;
+ // Nival
+ $NIVAL_MAYOR$="Jesus Saves";
+ $NIVAL_TAX=100;
+ $NIVAL_EXPORT=3000;
+ $NIVAL_REPUTATION=50;
+ // Frostia
+ $FROSTIA_MAYOR$="Jesus Saves";
+ $FROSTIA_TAX=100;
+ $FROSTIA_EXPORT=3000;
+ $FROSTIA_REPUTATION=50;
+
+ debugmes "";
+ debugmes "* Political System Base";
+ debugmes "";
+ }
+ // Current UPDATE value: Sex Jan 17 14:42:37 BRT 2020
+ // Remove Junk
+ if ($UPDATE < 1579282957) {
+ DelItemFromEveryPlayer(748);
+ DelItemFromEveryPlayer(1166);
+ $UPDATE=1579282957;
+ debugmes "";
+ debugmes "* Blanket fix";
+ debugmes "";
+ }
+ // Current UPDATE value: Dom Fev 16 14:54:30 BRT 2020
+ // Language over simplification
+ if ($UPDATE < 1581875670) {
+ $UPDATE=1581875670;
+ query_sql("DELETE FROM `char_reg_num_db` WHERE `key`='INN_REGISTER'");
+ DelAccRegFromEveryPlayer("#RARE_POINTS");
+ debugmes "";
+ debugmes "* Variable cleanup";
+ debugmes "";
+ }
+ // Current UPDATE value: Sex Fev 24 12:15:12 BRT 2020
+ // Release 11.1 final
+ if ($UPDATE < 1582557312) {
+ $UPDATE=1582557312;
+ ReplaceItemFromEveryPlayer(RiceHat, BullHelmet);
+ DelItemFromEveryPlayer(SilverEasteregg);
+ query_sql("UPDATE `quest` SET `count1` = '2' WHERE `quest`.`quest_id`="+General_Narrator+" AND `count1` = '3'");
+ query_sql("UPDATE `quest` SET `count2` = '0' WHERE `quest`.`quest_id`="+General_Narrator+" AND `count1` = '2'");
+ $BCONFN_SPAWN = 70;
+ $BCONFD_SPAWN = 100;
+ $BCONFN_MOBHP = 95;
+ $BCONFD_MOBHP = 85;
+ $BCONFB_EXPR = 100;
+ $BCONFN_EXPR = 5;
+ $BCONFD_EXPR = 0;
+ $BCONFB_DROP = 100;
+ $BCONFN_DROP = 7;
+ $BCONFD_DROP = 0;
+ debugmes "";
+ debugmes "* Bull Helmet Fix";
+ debugmes "* Remove Silver Easter Eggs";
+ debugmes "* Lua Quest Reset";
+ debugmes "* Battle Configuration is now volatile";
+ debugmes "";
+ }
+ // Current UPDATE value: Dom Abr 26 12:41:55 BRT 2020 [1587915715]
+ // Current UPDATE value: Qua Mai 27 18:56:15 BRT 2020
+ // Fix Tolchi mess
+ if ($UPDATE < 1590616575) {
+ if ($UPDATE < 1587915715) {
+ query_sql("UPDATE `inventory` SET `opt_val0` = '20', `opt_val1` = '0', `opt_idx1` = '0' WHERE (`opt_idx0`='189' OR `opt_idx0`='200') AND (`opt_idx1`='189' OR `opt_idx1`='200') AND (`opt_val0` > '18' AND `opt_val1` > '18')");
+ query_sql("UPDATE `cart_inventory` SET `opt_val0` = '20', `opt_val1` = '0', `opt_idx1` = '0' WHERE (`opt_idx0`='189' OR `opt_idx0`='200') AND (`opt_idx1`='189' OR `opt_idx1`='200') AND (`opt_val0` > '18' AND `opt_val1` > '18')");
+ query_sql("UPDATE `storage` SET `opt_val0` = '20', `opt_val1` = '0', `opt_idx1` = '0' WHERE (`opt_idx0`='189' OR `opt_idx0`='200') AND (`opt_idx1`='189' OR `opt_idx1`='200') AND (`opt_val0` > '18' AND `opt_val1` > '18')");
+ query_sql("UPDATE `guild_storage` SET `opt_val0` = '20', `opt_val1` = '0', `opt_idx1` = '0' WHERE (`opt_idx0`='189' OR `opt_idx0`='200') AND (`opt_idx1`='189' OR `opt_idx1`='200') AND (`opt_val0` > '18' AND `opt_val1` > '18')");
+ query_sql("UPDATE `rodex_items` SET `opt_val0` = '20', `opt_val1` = '0', `opt_idx1` = '0' WHERE (`opt_idx0`='189' OR `opt_idx0`='200') AND (`opt_idx1`='189' OR `opt_idx1`='200') AND (`opt_val0` > '18' AND `opt_val1` > '18')");
+ query_sql("UPDATE `auction` SET `opt_val0` = '20', `opt_val1` = '0', `opt_idx1` = '0' WHERE (`opt_idx0`='189' OR `opt_idx0`='200') AND (`opt_idx1`='189' OR `opt_idx1`='200') AND (`opt_val0` > '18' AND `opt_val1` > '18')");
+ }
+
+ // Destroy duplicates (should not exist)
+ query_sql("UPDATE `inventory` SET `opt_val0` = '15', `opt_val1` = '0', `opt_idx1` = '0' WHERE (`opt_idx1`=`opt_idx0`) AND (`opt_val0` > '15' AND `opt_val1` > '15')");
+ query_sql("UPDATE `storage` SET `opt_val0` = '15', `opt_val1` = '0', `opt_idx1` = '0' WHERE (`opt_idx1`=`opt_idx0`) AND (`opt_val0` > '15' AND `opt_val1` > '15')");
+ query_sql("UPDATE `guild_storage` SET `opt_val0` = '15', `opt_val1` = '0', `opt_idx1` = '0' WHERE (`opt_idx1`=`opt_idx0`) AND (`opt_val0` > '15' AND `opt_val1` > '15')");
+ query_sql("UPDATE `rodex_items` SET `opt_val0` = '15', `opt_val1` = '0', `opt_idx1` = '0' WHERE (`opt_idx1`=`opt_idx0`) AND (`opt_val0` > '15' AND `opt_val1` > '15')");
+
+ // Magic v3
+ $REBIRTH_WINNER$="Crazyfefe";
+ DelChrRegFromEveryPlayer("MAGIC_SUBCLASS");
+ ReplaceSkillFromEveryPlayer(MG_FIREBALL, TMW2_FIREARROW); // 1 MSP
+
+ // These skills MSP cost was switched
+ ReplaceSkillFromEveryPlayer(AL_HOLYLIGHT, TMW2_NAPALMBEAT);
+ ReplaceSkillFromEveryPlayer(MG_NAPALMBEAT, TMW2_HOLYLIGHT);
+
+ ReplaceSkillFromEveryPlayer(MG_SOULSTRIKE, TMW2_MAGICSTRIKE);
+ ReplaceSkillFromEveryPlayer(WZ_EARTHSPIKE, TMW2_METEORSTRIKE);
+
+ ReplaceSkillFromEveryPlayer(MG_COLDBOLT, TMW2_FROSTDIVER);
+ ReplaceSkillFromEveryPlayer(MG_FROSTDIVER, TMW2_FROSTNOVA);
+ ReplaceSkillFromEveryPlayer(WZ_FROSTNOVA, TMW2_NILFHEIM);
+
+ ReplaceSkillFromEveryPlayer(AL_HEAL, TMW2_FIRSTAID);
+ ReplaceSkillFromEveryPlayer(AB_HIGHNESSHEAL, TMW2_HEALING);
+
+ debugmes "";
+ debugmes "* Tolchi mess cleanup";
+ debugmes "* Rebirth Hero";
+ debugmes "";
+ $UPDATE=1590616575;
+ }
+ // Current UPDATE value: Ter Jul 28 22:49:52 BRT 2020
+ // Tulimshar Volcano
+ if ($UPDATE < 1595987392) {
+ $UPDATE=1595987392;
+ ReplaceItemFromEveryPlayer(816, IcedBottle);
+ debugmes "";
+ debugmes "* Iced Water re-id";
+ debugmes "";
+ }
+ // Current UPDATE value: Ter Mar 9 18:45:00 BRT 2021
+ // Easter Upgrade
+ if ($UPDATE < 1615326300) {
+ $UPDATE=1615326300;
+ DelChrRegFromEveryPlayer("EASTER_EVENT");
+ debugmes "";
+ debugmes "* Easter changes";
+ debugmes "";
+ }
+ // Current UPDATE value: Qua Abr 7 13:32:35 BRT 2021
+ // Skill Update
+ if ($UPDATE < 1617813155) {
+ $UPDATE=1617813155;
+ ReplaceSkillFromEveryPlayer(SM_BASH, TMW2_FALKONSTRIKE);
+ ReplaceSkillFromEveryPlayer(ASC_METEORASSAULT, TMW2_GROUNDSTRIKE);
+ ReplaceSkillFromEveryPlayer(MC_MAMMONITE, TMW2_SUPREMEATTACK);
+ ReplaceSkillFromEveryPlayer(AC_CHARGEARROW, TMW2_CHARGEDARROW);
+ ReplaceSkillFromEveryPlayer(AC_SHOWER, TMW2_ARROWSHOWER);
+ debugmes "";
+ debugmes "* Skill changes";
+ debugmes "";
+ }
+ */
+ // Current UPDATE value: Qui Set 23 18:46:36 BRT 2021
+ // Variable Update
+ if ($UPDATE < 1632433596) {
+ $UPDATE=1632433596;
+ $ALLIANCE_TAX1 = 7500;
+ $ALLIANCE_TAX2 = 60;
+ debugmes "";
+ debugmes "* New global variables";
+ debugmes "";
+ }
+ // Current UPDATE value: Qui Dez 20 13:47:10 BRT 2021
+ // Homun Skill Update
+ if ($UPDATE < 1640882830) {
+ $UPDATE=1640882830;
+ query_sql("UPDATE IGNORE `skill_homunculus` SET `id`=8047 WHERE `id`=8013"); // HVAN_CAPRICE
+ query_sql("UPDATE IGNORE `skill_homunculus` SET `id`=8048 WHERE `id`=8002"); // HLIF_AVOID
+ query_sql("UPDATE IGNORE `skill_homunculus` SET `id`=8050 WHERE `id`=8008"); // HAMI_BLOODLUST
+ query_sql("UPDATE IGNORE `skill_homunculus` SET `id`=8049 WHERE `id`=8006"); // HAMI_DEFENSE
+ query_sql("UPDATE IGNORE `skill_homunculus` SET `id`=8051 WHERE `id`=8009"); // HFLI_MOON
+ query_sql("UPDATE IGNORE `skill_homunculus` SET `id`=8053 WHERE `id`=8011"); // HFLI_SPEED
+ query_sql("UPDATE IGNORE `skill_homunculus` SET `id`=8052 WHERE `id`=8010"); // HFLI_FLEET
+ query_sql("UPDATE IGNORE `skill_homunculus` SET `id`=8054 WHERE `id`=8020"); // MH_POISON_MIST
+ query_sql("UPDATE IGNORE `skill_homunculus` SET `id`=8055 WHERE `id`=8032"); // MH_GOLDENE_FERSE
+ query_sql("UPDATE IGNORE `skill_homunculus` SET `id`=8056 WHERE `id`=8031"); // MH_STAHL_HORN
+ debugmes "";
+ debugmes "* New homunculus skills";
+ debugmes "";
+ }
+
+
+ // This mensures Contributors Credits, and changes only during updates.
+ // All names in lower case. Only TMW2 direct work! Non-TMW2 contributors
+ // should be disregarded if they're not involved with the project.
+ // Standard patch (DIY); 10 points
+ // Reports: 1 point if relevant enough
+
+ // You may get more points for complexity, difficulty, usability, etc.
+ // You may get less points if you don't do it yourself, eg. a bug report.
+ // Relevance of the contribution is also to be taken in account.
+
+ // See 003-2/lua.txt for rewards
+
+ $@CONTRIBUTORS = htnew;
+ htput($@CONTRIBUTORS, "jesusalva", 250);
+ htput($@CONTRIBUTORS, "saulc", 250);
+ htput($@CONTRIBUTORS, "lawncable", 180);
+ htput($@CONTRIBUTORS, "crazyfefe", 70);
+ htput($@CONTRIBUTORS, "mishana", 70);
+ htput($@CONTRIBUTORS, "esteria", 60);
+ htput($@CONTRIBUTORS, "arthur", 50);
+ htput($@CONTRIBUTORS, "rakinorf", 40);
+ htput($@CONTRIBUTORS, "dangerduck", 40);
+ htput($@CONTRIBUTORS, "pookie", 36);
+ htput($@CONTRIBUTORS, "xanofire", 32);
+ htput($@CONTRIBUTORS, "kolchak", 30);
+ htput($@CONTRIBUTORS, "jak1", 30);
+ htput($@CONTRIBUTORS, "dustman", 18);
+ htput($@CONTRIBUTORS, "povo", 10);
+ htput($@CONTRIBUTORS, "minegamerbr", 10);
+ htput($@CONTRIBUTORS, "yuckfou", 10);
+ htput($@CONTRIBUTORS, "kytty", 10);
+ htput($@CONTRIBUTORS, "ledmitz", 10);
+ htput($@CONTRIBUTORS, "liangtai", 4);
+ htput($@CONTRIBUTORS, "demure", 2);
+ htput($@CONTRIBUTORS, "seeds", 2);
+ htput($@CONTRIBUTORS, "lilanna", 1);
+
+ htput($@CONTRIBUTORS, "manatauro reborn", 10);
+ htput($@CONTRIBUTORS, "hocus pocus fidibus", 40);
+ htput($@CONTRIBUTORS, "cadis etrama di raizel", 20);
+ //htput($@CONTRIBUTORS, "", 1);
+ end;
+
+OnClock0500:
+ if (gettime(GETTIME_DAYOFMONTH) >= 7)
+ query_sql("DELETE FROM `chatlog` WHERE `time` < '"+sqldate(-7)+"'");
+ query_sql("DELETE FROM `picklog` WHERE `time` < '"+sqldate(0, -3)+"'");
+ end;
+
+// This is for HUB
+OnSkillInvoke:
+ if (!playerattached())
+ end;
+ HUB_SkillInvoke();
+ @skillId=0;
+ end;
+
+OnPCBonusEvent:
+ if (!playerattached())
+ end;
+ HUB_PCBonus();
+ end;
+
+OnGlobalChat:
+ .@msg$ = @chat$;
+
+ // We don't care with punctuation or capitalization
+ .@msg$ = strtolower(.@msg$);
+ .@msg$ = replacestr(.@msg$, ",", "");
+ .@msg$ = replacestr(.@msg$, ".", "");
+ .@msg$ = replacestr(.@msg$, "!", "");
+ .@msg$ = replacestr(.@msg$, ":", "");
+ .@msg$ = replacestr(.@msg$, ";", "");
+ .@msg$ = replacestr(.@msg$, "(", "");
+ .@msg$ = replacestr(.@msg$, ")", "");
+ .@msg$ = replacestr(.@msg$, "<", "");
+ .@msg$ = replacestr(.@msg$, ">", "");
+ .@msg$ = replacestr(.@msg$, "*", "");
+
+ SK_Scripture(.@msg$);
+ end;
+
+// Level up events
+OnPCBaseLvUpEvent:
+ switch (BaseLevel) {
+ case 3:
+ case 5:
+ case 7:
+ case 10:
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ case 15:
+ case 16:
+ case 17:
+ case 18:
+ case 19:
+ // Recalculate the bonus
+ NewcomerEXPDROPUP();
+ break;
+ case 20:
+ if (!REBIRTH) {
+ sc_end SC_CASH_PLUSEXP;
+ sc_end SC_CASH_RECEIVEITEM;
+ }
+ break;
+ // Events
+ case 40:
+ if (countitem(MercCard_EH))
+ delitem MercCard_EH, countitem(MercCard_EH);
+ break;
+ // Referral and Eisten
+ case 25:
+ if (#REFERRAL_PROG && BaseLevel == 25 && #REFERRAL_CTRL < 1) {
+ #REFERRAL_CTRL=1;
+ rodex_sendmail(atoi(gf_charid(#REFERRAL_PROG)), "TMW2 Team", "Recruited Player got Lv 25!", strcharinfo(0)+" just got level 25!\nAs they get stronger, more rewards will be sent to you!", 0, SilverGift, 1);
+ }
+ case 50:
+ if (#REFERRAL_PROG && BaseLevel == 50 && #REFERRAL_CTRL < 2) {
+ #REFERRAL_CTRL=2;
+ rodex_sendmail(atoi(gf_charid(#REFERRAL_PROG)), "TMW2 Team", "Recruited Player got Lv 50!", strcharinfo(0)+" just got level 50!\nAs they get stronger, more rewards will be sent to you!", 0, ArcmageBoxset, 1);
+ }
+ case 75:
+ if (#REFERRAL_PROG && BaseLevel == 75 && #REFERRAL_CTRL < 3) {
+ #REFERRAL_CTRL=3;
+ rodex_sendmail(atoi(gf_charid(#REFERRAL_PROG)), "TMW2 Team", "Recruited Player got Lv 75!", strcharinfo(0)+" just got level 75!\nAs they get stronger, more rewards will be sent to you!", 0, PrismGift, 1);
+ }
+ case 100:
+ if (#REFERRAL_PROG && BaseLevel == 100 && #REFERRAL_CTRL < 4) {
+ #REFERRAL_CTRL=4;
+ rodex_sendmail(atoi(gf_charid(#REFERRAL_PROG)), "TMW2 Team", "Recruited Player got Lv 100!", strcharinfo(0)+" just got level 100!\nTime to reap what you've sow for so long!", 0, SupremeGift, 1);
+ }
+ case 125:
+ case 150:
+ dispbottom l("Milestone levelup: A reward can now be claimed in Tulimshar.");
+ break;
+ }
+ end;
+
+// Every time the server starts, clean up possibly broken data about treasures.
+// NPC ID might have changed.
+OnInterIfInitOnce:
+ atcommand("@channel setopt #world MessageDelay 1");
+ $@HAS_API=apiasync("PING", "");
+ query_sql("DELETE FROM `char_reg_num_db` WHERE `key`='RNGTREASURE_DATE'");
+ query_sql("DELETE FROM `char_reg_num_db` WHERE `key`='PVP_COOLDOWN'");
+ query_sql("DELETE FROM `char_reg_num_db` WHERE `key`='CHAREG_CLEANUP'");
+ end;
+
+// This control all PC Login events
+// Position matters!
+OnPCLoginEvent:
+ // Vault override
+ if (#MerchantBank) {
+ if (#MerchantBank < 0)
+ consolebug("Negative bank data for %s!", strcharinfo(0));
+ BankVault += #MerchantBank;
+ #MerchantBank = 0;
+ }
+
+ // Cannot login with outdated client
+ checkclientversion();
+
+ // Message of the Day have priority
+ MOTDHandler();
+
+ // Scheduled Announces
+ StoneBoardRead();
+
+ // TODO: npc/commands/rate-management.txt
+
+ // Main update handler
+ clientupdater();
+
+ // Position and gameplay fixes
+ HUB_Login();
+
+ // Alcohol system reset
+ ALCReset();
+
+ // Newbie bonuses recalc
+ if (BaseLevel < 20 || REBIRTH) NewcomerEXPDROPUP();
+
+ // Daily rewards (The first with dialog interactions)
+ daily_login_bonus_handler();
+
+ // Guild Weekly Login Bonus
+ guild_login_bonus();
+
+ // Thanksgiving Event
+ sThanksgiving();
+ end;
+}
+
diff --git a/npc/003-4-1/_import.txt b/npc/003-4-1/_import.txt
new file mode 100644
index 0000000..de17f1c
--- /dev/null
+++ b/npc/003-4-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 003-4-1: Forgotten Shop
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-4-1/_mobs.txt",
+"npc/003-4-1/_warps.txt",
diff --git a/npc/003-4-1/_mobs.txt b/npc/003-4-1/_mobs.txt
new file mode 100644
index 0000000..4066fd0
--- /dev/null
+++ b/npc/003-4-1/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-4-1: Forgotten Shop mobs
+003-4-1,35,36,6,5 monster House Maggot 1084,2,35000,300000
diff --git a/npc/003-4-1/_warps.txt b/npc/003-4-1/_warps.txt
new file mode 100644
index 0000000..52e274e
--- /dev/null
+++ b/npc/003-4-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-4-1: Forgotten Shop warps
+003-4-1,35,26,0 warp #003-4-1_35_26 1,0,003-4,38,32
diff --git a/npc/003-4/_import.txt b/npc/003-4/_import.txt
new file mode 100644
index 0000000..b7ae42d
--- /dev/null
+++ b/npc/003-4/_import.txt
@@ -0,0 +1,5 @@
+// Map 003-4: Forgotten Shop
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-4/_warps.txt",
+"npc/003-4/sorfina.txt",
+"npc/003-4/warp.txt",
diff --git a/npc/003-4/_warps.txt b/npc/003-4/_warps.txt
new file mode 100644
index 0000000..2334fc9
--- /dev/null
+++ b/npc/003-4/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-4: Forgotten Shop warps
+003-4,39,39,0 warp #003-4_39_39 0,0,003-1,54,138
diff --git a/npc/003-4/sorfina.txt b/npc/003-4/sorfina.txt
new file mode 100644
index 0000000..be0dbb4
--- /dev/null
+++ b/npc/003-4/sorfina.txt
@@ -0,0 +1,144 @@
+// TMW2 Script.
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Sorfina is Hasan's mother.
+//
+// GETQ1 Variable Value;
+// 0 - Never stolen by Hasan
+// 1 - Already stolen by Hasan
+// 2 - Dausen pointed player to Sorfina
+// 3 - Sorfina unlocked Mahoud's Basement
+// 4 - Player killed Murderer Scorpion
+// 5 - Quest is complete
+
+003-4,39,33,0 script Sorfina NPC_FEMALE_ARGAES,{
+ if (getq(TulimsharQuest_Hasan) == 2) goto L_Trouble;
+ if (getq(TulimsharQuest_Hasan) == 3) goto L_Basement;
+ if (getq(TulimsharQuest_Hasan) == 4) goto L_Finished;
+ // Status 5 returns to default message
+ if (getq(TulimsharQuest_Hasan) == 5) goto L_Reward2;
+ mesn;
+ mesq l("Hello, darling!");
+ close;
+
+L_Trouble:
+ mesn strcharinfo(0);
+ mesq l("Your son, Hasan, has stolen me!");
+ next;
+ mesn;
+ mesq l("Oh, he has been a little rascal since his father died.");
+ mesc l("*cries*");
+ next;
+ mesn;
+ mesq l("You see, after a monster attack... My husband went to the desert, to check how things were...");
+ mesc l("*cries*");
+ next;
+ mesn;
+ mesq l("He never touched the Soul Menhir... He died... For real...");
+ mesc l("*cries*");
+ next;
+ mesn;
+ mesc l("Sorfina recomposes herself.");
+ mesq l("There is a rare kind of scorpion, the Murderer Scorpion. Very dangerous.");
+ setq TulimsharQuest_Hasan, 3, 0;
+ next;
+ goto L_Basement;
+
+L_Basement:
+ if (BaseLevel < 13) goto L_TooWeak;
+ .@q3=getq3(TulimsharQuest_Hasan);
+ if (.@q3 > santime()) goto L_Wait;
+ mesn;
+ mesq l("There's one on the basement of this house. If you kill it, Hasan will think on you as a hero and won't steal you anymore.");
+ next;
+ menu
+ l("I will kill one."), L_OpenDoors,
+ l("Maybe later."), L_Close;
+
+L_OpenDoors:
+ .@ID=getcharid(0);
+ .@MAP_NAME$="hasn@"+str(.@ID); // Max 4 chars for map name
+ .@INSTID = instance_create("003-4-1@a"+(.@ID), getcharid(3), IOT_CHAR);
+ .@instanceMapName$ = instance_attachmap("003-4-1", .@INSTID, 0, .@MAP_NAME$);
+ setq TulimsharQuest_Hasan, 3, .@INSTID, santime()+300;
+
+ // Debug
+ if (.@instanceMapName$ == "") consolewarn "Error: Map 003-4-1 X failed";
+ debugmes "Created map: "+ str(.@instanceMapName$);
+
+ // You have 5 minutes to complete the quest.
+ instance_set_timeout(300, 300, .@INSTID);
+ instance_init(.@INSTID);
+
+ .@x=34;//rand(29, 45);
+ .@y=33;//rand(29, 41);
+ monster(.@MAP_NAME$, .@x, .@y, l("Murderer Scorpion"), MurdererScorpion, 1, "Sorfina::OnKillMurderer");
+ addtimer(60000, "Sorfina::OnWarn");
+
+ mesn;
+ mesq l("Just go to the basement, past this door. Good luck, @@!", strcharinfo(0));
+ close;
+
+L_Wait:
+ mesn;
+ mesq l("Good luck killing it! And don't forget to touch the Soul Menhir before you go!");
+ close;
+
+L_TooWeak:
+ mesn;
+ mesq l("You are too weak to kill one and impress him, so please, bear my son.");
+ close;
+
+L_Close:
+ close;
+
+L_Finished:
+ mesn;
+ mesq l("Please, show Hasan the claw. Just talk to him.");
+ close;
+
+L_Reward2:
+ mesn;
+ mesq l("Thanks for helping my son. Here, take 300 GP for your troubles.");
+ setq1 TulimsharQuest_Hasan, 6;
+ Zeny=Zeny+300;
+ close;
+
+OnKillMurderer:
+ setq TulimsharQuest_Hasan, 4;
+ dispbottom l("I will take a claw and show Hasan.");
+ end;
+
+OnWarn:
+ /* removed: not in map. You can leave the map.
+ if (!compare(getmap(), "hasn@"))
+ end;
+ */
+ // Quest state is invalid
+ .@q=getq(TulimsharQuest_Hasan);
+ if (.@q != 3)
+ end;
+
+ .@q3=getq3(TulimsharQuest_Hasan);
+ dispbottom l("Time left: @@ remaining", FuzzyTime(.@q3));
+ if (.@q3-gettimetick(2) > 60)
+ addtimer(60000, "Sorfina::OnWarn");
+ else if (.@q3-gettimetick(2) > 15)
+ addtimer(15000, "Sorfina::OnWarn");
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyesD);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, ValentineDress); //TODO
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 16);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/003-4/warp.txt b/npc/003-4/warp.txt
new file mode 100644
index 0000000..9a5d26a
--- /dev/null
+++ b/npc/003-4/warp.txt
@@ -0,0 +1,14 @@
+// TMW2 Scripts.
+
+003-4,38,31,0 script Mahoud Basement NPC_HIDDEN,0,0,{
+
+OnTouch:
+ // Instance 0 is reserved by system
+ if (instanceowner(getq2(TulimsharQuest_Hasan)) == getcharid(3))
+ warp "hasn@"+str(getcharid(0)), 34, 27;
+ else if (getq(TulimsharQuest_Hasan) > 3)
+ warp "003-4-1", 34, 27;
+ else
+ dispbottom l("This door is locked.");
+ end;
+}
diff --git a/npc/003-5/_import.txt b/npc/003-5/_import.txt
new file mode 100644
index 0000000..018a083
--- /dev/null
+++ b/npc/003-5/_import.txt
@@ -0,0 +1,4 @@
+// Map 003-5: Tulimshar Jeweler
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-5/_warps.txt",
+"npc/003-5/jeweler.txt",
diff --git a/npc/003-5/_warps.txt b/npc/003-5/_warps.txt
new file mode 100644
index 0000000..5e43457
--- /dev/null
+++ b/npc/003-5/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-5: Tulimshar Jeweler warps
+003-5,38,41,0 warp #003-5_38_41 0,0,003-1,96,145
diff --git a/npc/003-5/jeweler.txt b/npc/003-5/jeweler.txt
new file mode 100644
index 0000000..a1b2b9d
--- /dev/null
+++ b/npc/003-5/jeweler.txt
@@ -0,0 +1,218 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Sells and crafts jewels
+//
+// Notes:
+// Gold/Silver/Copper+Tin Ore (dropped by bifs) → Pieces or Ingot, depends on what you want to forge
+// Jeweler only works with Gold/Silver/Bronze PIECES. The Ingots are for forges.
+// Jeweler can also polish raw gemstones for a comission ($$$)
+// Polished gemstones can be inserted on rings.
+// The less precious the ring, heavier and less defense value.
+//
+// All three rings can be swapped by a Light Ring (you will lose any gemstone on them!).
+// Still pending discussion.
+
+003-5,33,37,0 script Jeweler NPC_FEMALE_TONORI,{
+ mesn l("Inya, the Jeweler");
+ mesq l("Hello!");
+ goto L_Menu;
+
+L_Menu:
+ mes "";
+ mesn strcharinfo(0);
+ menu
+ l("I want to shop."), -,
+ l("I want to craft rings."), L_Craft,
+ l("I want to create polished gemstones."), L_Gemstone,
+ l("I want to remove all stuff applied to my ring!"), L_Clear,
+ l("Nothing, sorry."), L_Close;
+
+ npcshopattach(.name$);
+ openshop;
+ closedialog;
+ close;
+
+L_Craft:
+ mes "";
+ mesn l("Inya, the Jeweler");
+ mesq l("Of course, I actually have two options:");
+ mes l("- 5 @@, with 1200 GP, for a @@.", getitemlink(GoldPieces), getitemlink(GoldenRing));
+ mes l("- 5 @@, with 1200 GP, for a @@.", getitemlink(SilverIngot), getitemlink(SilverRing)); // TODO
+ next;
+ menu
+ rif(countitem(GoldPieces) >= 5 && Zeny >= 1200, l("Yes, deal. Gimme the gold ring.")), -,
+ rif(countitem(SilverIngot) >= 5 && Zeny >= 1200, l("Yes, deal. Gimme the silver ring.")), -,
+ l("...I'll be back later."), L_Close;
+
+ switch (@menu) {
+ case 1:
+ inventoryplace GoldenRing, 1;
+ delitem GoldPieces, 5;
+ Zeny=Zeny-1200;
+ getitem GoldenRing, 1;
+ getexp 100, 25;
+ break;
+ case 2:
+ inventoryplace SilverRing, 1;
+ delitem SilverIngot, 5; // TODO
+ Zeny=Zeny-1200;
+ getitem SilverRing, 1;
+ getexp 50, 15;
+ break;
+ }
+ mes "";
+ mesn l("Inya, the Jeweler");
+ mesq l("Here you go! Anything else?");
+ next;
+ goto L_Menu;
+
+L_Gemstone:
+ mes "";
+ mesn l("Inya, the Jeweler");
+ mesq l("Polished gemstones can be dragged and insert on rings. They'll give special stats to rings, but these gems cannot be removed easily.");
+ mesq l("I charge a service fee of @@ GP, and two gemstones.", 300);
+ next;
+ if (Zeny < 300) {
+ mesn l("Inya, the Jeweler");
+ mesq lg("You clearly don't have money, so let's not bother with that right now.");
+ next;
+ goto L_Menu;
+ }
+ if (!countitem(GoldenRing) && !countitem(SilverRing)) {
+ mesn l("Inya, the Jeweler");
+ mesq l("You don't have a ring but I can polish the gemstones nonetheless.");
+ next;
+ }
+ select
+ l("Not today, sorry."),
+ rif(countitem(Diamond) >= 2 , l("Diamond (+2 vit)")),
+ rif(countitem(Ruby) >= 2 , l("Ruby (+2 str)")),
+ rif(countitem(Emerald) >= 2 , l("Emerald (+2 luck)")),
+ rif(countitem(Sapphire) >= 2, l("Sapphire (+2 int)")),
+ rif(countitem(Topaz) >= 2 , l("Topaz (+2 agi)")),
+ rif(countitem(Amethyst) >= 2, l("Amethyst (+2 dex)"));
+
+ mes "";
+ if (@menu == 1)
+ goto L_Menu;
+
+ // As usual, I don't care with cheaters, so if you somehow cheat money or gemstones, YOU WILL LOSE ALL REAGENTS. No refunds.
+ inventoryplace PolishedDiamond-2+@menu, 1;
+ delitem Diamond-2+@menu, 2;
+ Zeny-=300;
+ getitem PolishedDiamond-2+@menu, 1;
+ getexp 800, 0;
+ goto L_Menu;
+
+
+/* TODO Special rings
+L_Pearl:
+ inventoryplace GoldenPearlRing;
+ delitem GoldenRing, 1;
+ Zeny=Zeny-1000;
+ delitem Pearl, 3;
+ getitem GoldenPearlRing, 1;
+ getexp 1000, 0;
+ goto L_Menu;
+
+L_BlackPearl:
+ inventoryplace GoldenBlackPearlRing;
+ delitem GoldenRing, 1;
+ Zeny=Zeny-1000;
+ delitem BlackPearl, 1;
+ getitem GoldenBlackPearlRing, 1;
+ getexp 1000, 0;
+ goto L_Menu;
+*/
+
+L_Clear:
+ mesn l("Inya, the Jeweler");
+ mesq l("Oh... Of course! I'll even do this for free!");
+ next;
+ mesn l("Inya, the Jeweler");
+ mesq l("Just be really, REALLY sure you want to do it. I mean, the gemstone will break.");
+ mesq l("It's not warranted you'll be able to get the powder back, either.");
+ next;
+ mes "##B" + l("Drag and drop an item from your inventory.") + "##b";
+ .@item_index = requestitemindex();
+ if (.@item_index < 0)
+ goto L_Menu;
+
+ // Check if we received an item
+ getinventorylist();
+ .@item=@inventorylist_id[.@item_index];
+
+ if (is_staff())
+ mesf "Item Index %d (%s) - ID %d", .@item_index, getitemlink(.@item), .@item;
+
+ // Is it the one we're looking for?
+ if (.@item != GoldenRing && .@item != SilverRing) {
+ mesn;
+ mesq l("Well, that's not a ring.");
+ next;
+ goto L_Menu;
+ }
+
+ // Retrieve the gemstone ID. Must be on slot 1 (aka. 0)!
+ .@gem=getcardbyindex(.@item_index, 0);
+ // Skip bound rings. It would be stupid '-'
+ if (!checkbound(.@item)) {
+ failedremovecardsindex .@item_index, 1;
+ // No inventoryplace check here
+ // DiamondPowder = 858. PolishedDiamond = 5031
+ if (.@gem > 5000)
+ getitem .@gem-4173, 1;
+ mesn;
+ mesq l("Well... Here you go!");
+ next;
+ } else {
+ mesn;
+ mesq l("I don't work with bound items.");
+ next;
+ }
+
+ goto L_Menu;
+
+L_Close:
+ closedialog;
+ goodbye;
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyesT);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, VneckJumper);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 3);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 8);
+ npcsit;
+
+ .sex = G_FEMALE;
+ .distance = 5;
+
+ sleep(SHOPWAIT);
+ tradertype(NST_MARKET);
+ sellitem WeddingRing, 5000, 50;
+ sellitem GoldenBlackPearlRing, 500000, 1; // I'm joking of course. Don't tell me you'll pay half MILLION for... this?
+ end;
+
+OnClock2214:
+ restoreshopitem WeddingRing, 5000, 50;
+ restoreshopitem GoldenBlackPearlRing, 500000, 1;
+ end;
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+
+}
diff --git a/npc/003-6/_import.txt b/npc/003-6/_import.txt
new file mode 100644
index 0000000..95f4096
--- /dev/null
+++ b/npc/003-6/_import.txt
@@ -0,0 +1,5 @@
+// Map 003-6: Laundry
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-6/_warps.txt",
+"npc/003-6/cyndala.txt",
+"npc/003-6/tamiloc.txt",
diff --git a/npc/003-6/_warps.txt b/npc/003-6/_warps.txt
new file mode 100644
index 0000000..d540cc5
--- /dev/null
+++ b/npc/003-6/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-6: Laundry warps
+003-6,40,39,0 warp #003-6_40_39 0,0,003-1,112,148
+003-6,32,39,0 warp #003-6_32_39 0,0,003-1,106,148
diff --git a/npc/003-6/cyndala.txt b/npc/003-6/cyndala.txt
new file mode 100644
index 0000000..9dd039f
--- /dev/null
+++ b/npc/003-6/cyndala.txt
@@ -0,0 +1,249 @@
+// TMW2 Script.
+// Author:
+// Saulc
+// Jesusalva
+// Dye Quest added by:
+// Povo
+// Description:
+// Will be with dye functions for a while... May be wrong. Only Card2 is available per hercules rules
+
+// Original code from evol
+// Authors:
+// Reid
+
+003-6,33,30,0 script Cyndala NPC_FEMALE_ARGAES,{
+ function explain_dyes;
+ function item_is_bleachable;
+ function remove_cards_from_item;
+ function give_yellow_dye;
+ function deny_yellow_dye;
+ function craft_yellow_dye;
+
+ mesn;
+ mesq l("Hello, darling!");
+ mes "";
+
+ do
+ {
+ .@q = getq(TulimsharQuest_Cyndala);
+ select
+ l("Excuse me."),
+ l("Could you bleach my equipment?"),
+ l("What can you say about dyes?"),
+ rif(.@q > 0, l("I would like to order some dye.")),
+ rif(is_staff(), "Technical problem, gimme info about an item.");
+
+ switch (@menu) {
+ case 2:
+ remove_cards_from_item();
+ break;
+ case 3:
+ explain_dyes();
+ break;
+ case 4:
+ craft_yellow_dye();
+ break;
+ case 5:
+ .@item = requestitemindex();
+ mes "Item index selected: " + str(.@item);
+ mes "slots=" + str(MAX_SLOTS);
+ for (.@i = 0; .@i < MAX_SLOTS; .@i++)
+ {
+ mes "slot " + str(.@i) + " = " + str(getcardbyindex(.@item, .@i));
+ }
+ mes str(@inventorylist_card1[.@item]);
+ mes str(YellowDye);
+ mes "item options:";
+ for (.@i = 0; .@i < 5; .@i ++)
+ {
+ mes sprintf("%d: Option: %d, Value: %d", .@i, getitemoptionidbyindex(.@item, .@i),
+ getitemoptionvaluebyindex(.@item, .@i));
+ }
+ mes "Note named items (Card1 254 and 255) have Card3 and Card4 reserved";
+ break;
+ default:
+ mes "";
+ mesn;
+ mesq l("I wish you a good time in town.");
+ next;
+ break;
+ }
+
+ } while (@menu != 1);
+
+
+ closeclientdialog;
+ goodbye;
+ close;
+
+/////////////////////////////////////////////////////////////////////////////////
+function explain_dyes {
+ .@q = getq(TulimsharQuest_Cyndala);
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Dyes are a special kind of ink to make certain objects fancier."),
+ l("Once you have the appropriate colorant for the item, ##bdrag the colorant##b to the material."),
+ l("Example:"),
+ l("Drag and drop a %s in a %s, and you will obtain a %s.", getitemlink(YellowDye),
+ getitemlink(ArtisTankTop), getitemlink(ArtisTankTop, YellowDye)),
+ l("Dye cards are not the only thing which exist, but they are the coolest!");
+ if (.@q < 1) {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("By the way, did you know that the official color of Tulimshar is yellow?"),
+ l("In fact, the Tulimshar Noble District is world-renowned for crafting high-quality yellow garments!"),
+ l("Normally I would offer to make you some %s, but economic problems in Halinarzo have caused a shortage of supplies...",
+ getitemlink(YellowDye));
+ if (BaseLevel > 20 &&
+ .@q < 1) {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Wait a minute! I have an idea!"),
+ l("You look like you have enough experience to know your way around town..."),
+ l("If you can manage to gather the supplies I need, I can surely craft some %s for you!",
+ getitemlink(YellowDye)),
+ l("Of course, I do charge a nominal fee of for the service. %s GP to be exact.", fnum(50)),
+ l("In addition to my fee, I will also need the following items:");
+ mesq l("%d/%d %s", countitem(BottleOfSewerWater), 1, getitemlink(BottleOfSewerWater));
+ mesq l("%d/%d %s", countitem(PiouFeathers), 50, getitemlink(PiouFeathers));
+ next;
+ mesq l("I am sure that an adventurer like you can gather everything in no time at all!");
+ setq TulimsharQuest_Cyndala, 1;
+ }
+ }
+}
+
+function item_is_bleachable
+{
+ .@item_index = getarg(0);
+ if (.@item_index < 0)
+ return false;
+
+ // Collect the item ID
+ delinventorylist();
+ getinventorylist();
+ .@x=@inventorylist_id[.@id];
+
+ // Debug info
+ if (is_staff())
+ mesf "Item Index %d (%s) - ID %d", .@item_index,
+ getitemlink(@inventorylist_id[.@item_index]),
+ @inventorylist_id[.@item_index];
+
+ // No duplicates
+ if (countitem(.@x) > 1) {
+ mesc l("You are carrying duplicates of the same item. Sorry, but I have no idea which one you want to tweak."), 1;
+ return false;
+ }
+
+ // Must have a card, d'oh
+ if (@inventorylist_card1[.@item_index] == 0)
+ return false;
+
+ return true;
+}
+
+function remove_cards_from_item
+{
+ .@item_index = -1;
+
+ speech S_FIRST_BLANK_LINE,
+ l("What item would you like to bleach?");
+
+ narrator S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("You can drag and drop an item to the NPC window or select an item through your inventory.");
+
+ .@item_index = requestitemindex();
+ if (!item_is_bleachable(.@item_index)) {
+ speech S_LAST_NEXT,
+ l("You should know this, an item like this can't be bleached.");
+
+ return;
+ }
+ .@item_id = @inventorylist_id[.@item_index];
+
+ speech S_LAST_NEXT,
+ l("Your mind is set? You will probably lose all the dyes and/or cards during on the item during this process. You're bleaching a %s by the way.", getitemlink(.@item_id));
+
+ switch (askyesno()) {
+ case ASK_YES:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Ok, let me see..."),
+ l("...");
+
+ // FIXME: Register this on picklog
+ if (rand2(1, 800) > readparam2(bLuk)) {
+ failedremovecardsindex .@item_index, 1;
+ logmes("Deleted Cards from item: "+.@item_id);
+ } else {
+ successremovecardsindex(.@item_index);
+ logmes("Removed Cards from item: "+.@item_id);
+ }
+
+ // First option slot of weapon: Raises STR in 5
+ // setequipoption(EQI_HAND_R, 1, VAR_STRAMOUNT, 5);
+ // This is an option :3
+
+ speech S_LAST_NEXT | S_NO_NPC_NAME,
+ l("..."),
+ l("Here it is, clean like a whistle!");
+ break;
+ default:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Is it truly a hard choice to make?");
+ break;
+ }
+ return;
+}
+
+function give_yellow_dye {
+ .@q = getq(TulimsharQuest_Cyndala);
+
+ inventoryplace YellowDye, 1, EmptyBottle, 1;
+ Zeny = Zeny - 50;
+ delitem BottleOfSewerWater, 1;
+ delitem PiouFeathers, 50;
+
+ mesn;
+ mesq l("Here you are, you won't find a dye more yellow than this!");
+ getitem(YellowDye, 1);
+ getitem(EmptyBottle, 1);
+
+ if (.@q == 1) {
+ setq TulimsharQuest_Cyndala, 2;
+ getexp 80, 0;
+ }
+ return;
+}
+
+function deny_yellow_dye {
+ mesn;
+ mesc l("I am sorry, but it does not look like you have everything. You will need to bring:");
+ next;
+ mesc l("%d/%d %s", countitem(BottleOfSewerWater), 1, getitemlink(BottleOfSewerWater));
+ mesc l("%d/%d %s", countitem(PiouFeathers), 50, getitemlink(PiouFeathers));
+ mesc l("%s/%s GP", fnum(Zeny), fnum(50));
+ next;
+ return;
+}
+
+function craft_yellow_dye {
+ if (countitem(BottleOfSewerWater) < 1 ||
+ countitem(PiouFeathers) < 50 ||
+ Zeny < 50)
+ deny_yellow_dye();
+ else
+ give_yellow_dye();
+ return;
+}
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyesD);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, ValentineDress); //TODO
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 16);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 11);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/003-6/tamiloc.txt b/npc/003-6/tamiloc.txt
new file mode 100644
index 0000000..6f88398
--- /dev/null
+++ b/npc/003-6/tamiloc.txt
@@ -0,0 +1,83 @@
+// TMW2 scripts.
+// Authors:
+// Saulc
+// Jesusalva
+// Reid
+// Travolta
+// Description:
+// Tamiloc is the barber.
+
+003-6,46,30,0 script Tamiloc NPC_ELVEN_FEMALE_ARMOR_SHOP,{
+ function setRace {
+ clear;
+ setnpcdialogtitle l("%s - Modify Race", .name$);
+ mes l("Race") + ": " + get_race();
+ next;
+ mes l("Please select the desired race.");
+ select
+ l("Kaizei Human"),
+ l("Argaes Human"),
+ l("Tonori Human"),
+ l("Elf"),
+ l("Orc"),
+ l("Raijin"),
+ l("Tritan"),
+ l("Ukar"),
+ l("Redy"),
+ l("Savior");
+ switch (@menu)
+ {
+ default:
+ jobchange max(0, @menu-1);
+ }
+ return;
+ }
+
+
+ mesn;
+ mesq l("Hi! Do you want a hair cut?");
+
+ do
+ {
+ select
+ l("What is my current hairstyle and hair color?"),
+ l("I'd like to get a different style."),
+ l("Can you do something with my color?"),
+ rif(is_gm() || REBIRTH >= 5, l("I want to change my Race!")),
+ l("I'm fine for now, thank you.");
+
+ switch (@menu)
+ {
+ case 1:
+ BarberSayStyle 3;
+ break;
+ case 2:
+ BarberChangeStyle;
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Enjoy your new style.");
+ l("Anything else?");
+ break;
+ case 3:
+ BarberChangeColor;
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("I hope you like this color.");
+ l("Anything else?");
+ break;
+ case 4:
+ setRace;
+ break;
+ case 5:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Feel free to come visit me another time.");
+
+ goodbye;
+ }
+ } while (1);
+ close;
+
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/003-7/_import.txt b/npc/003-7/_import.txt
new file mode 100644
index 0000000..84b72bb
--- /dev/null
+++ b/npc/003-7/_import.txt
@@ -0,0 +1,4 @@
+// Map 003-7: Tulimshar Storage
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-7/_mobs.txt",
+"npc/003-7/_warps.txt",
diff --git a/npc/003-7/_mobs.txt b/npc/003-7/_mobs.txt
new file mode 100644
index 0000000..50a64eb
--- /dev/null
+++ b/npc/003-7/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-7: Tulimshar Storage mobs
+003-7,35,36,7,5 monster House Maggot 1084,4,40000,200000
diff --git a/npc/003-7/_warps.txt b/npc/003-7/_warps.txt
new file mode 100644
index 0000000..55844fe
--- /dev/null
+++ b/npc/003-7/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-7: Tulimshar Storage warps
+003-7,39,41,0 warp #003-7_39_41 0,0,003-1,111,138
+003-7,29,30,0 warp #003-7_29_30 0,0,003-1,107,131
diff --git a/npc/003-8/_import.txt b/npc/003-8/_import.txt
new file mode 100644
index 0000000..e43b017
--- /dev/null
+++ b/npc/003-8/_import.txt
@@ -0,0 +1,6 @@
+// Map 003-8: Terranite Forge
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-8/_warps.txt",
+"npc/003-8/craft.txt",
+"npc/003-8/intensebeard.txt",
+"npc/003-8/jhedia.txt",
diff --git a/npc/003-8/_warps.txt b/npc/003-8/_warps.txt
new file mode 100644
index 0000000..7df19cb
--- /dev/null
+++ b/npc/003-8/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-8: Terranite Forge warps
+003-8,31,44,0 warp #003-8_31_44 0,0,003-1,110,101
+003-8,41,27,0 warp #003-8_41_27 0,0,003-1,115,89
diff --git a/npc/003-8/craft.txt b/npc/003-8/craft.txt
new file mode 100644
index 0000000..f5bd7a4
--- /dev/null
+++ b/npc/003-8/craft.txt
@@ -0,0 +1,42 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Rentable Craft Bench
+
+003-8,35,30,0 script Crafting Table NPC_NO_SPRITE,{
+ do {
+ mesc l("What will you craft today?");
+ mesc l("It costs 600 GP to use."), 1;
+ if (Zeny < 600)
+ close;
+
+ if (SmithSystem(CRAFT_PLAYER)) {
+ if (Zeny < 600) {
+ mesc l("WARNING, you have been detected cheating and thus, violating Tulimshar Anti-Theft Policy."), 1;
+ mesc l("You were jailed and now need a GM to get you out of there."), 1;
+ logmes "WARNING, "+strcharinfo(0)+" found out cheating, only had "+Zeny+"/600 GP for craft table. Jailed.", LOGMES_ATCOMMAND;
+ consoleinfo("%s jailed - no money when crafting.", strcharinfo(0));
+ atcommand("@jail "+strcharinfo(0));
+ // Apply a more realistic penalty
+ Zeny=0;
+ CRAFTSYS_CURRENT=0;
+ close;
+ }
+ Zeny-=600;
+ mesc l("Success!"), 3;
+ } else {
+ mesc l("That didn't work!"), 1;
+ }
+ next;
+ mesc l("Try again?");
+ } while (askyesno() == ASK_YES);
+
+ close;
+
+OnInit:
+ .distance=3;
+ end;
+}
+
+
diff --git a/npc/003-8/intensebeard.txt b/npc/003-8/intensebeard.txt
new file mode 100644
index 0000000..8c3a08f
--- /dev/null
+++ b/npc/003-8/intensebeard.txt
@@ -0,0 +1,273 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Intense Beard is the crafting master
+
+003-8,27,42,4 script Intense Beard NPC_HUMAN_M_ARTIS,{
+ function IntenseBeardTutorial;
+ if (BaseLevel < 18)
+ goto L_SemNivel;
+ if (!CRAFTQUEST)
+ goto L_SemQuest;
+ if (!getskilllv(TMW2_CRAFT))
+ goto L_Learn;
+ if (!countitem(RecipeBook) && !countitem(JesusalvaGrimorium))
+ goto L_SemLivro;
+
+ mesn;
+ mesq l("Hello my friend! I see you've brought your @@ with you this time!", getitemlink(RecipeBook));
+ next;
+ mesn;
+ mesq l("Let's learn new recipes! Do you wanna?");
+ mesc l("Bonus recipes must be enabled with @@ after learned!", b("@ucp"));
+ next;
+ .@bool=false;
+ do {
+ csysGUI_Report(.@bool);
+ mesc l("Learn what?");
+ mes "";
+ .@opt$="Nothing";
+ .@opt$+=":"+csysGUI_OptLearnMenu(CRGROUP_BASE);
+
+ .@opt$+=":"+csysGUI_OptLearnMenu(CRGROUP_ATK);
+ .@opt$+=":"+csysGUI_OptLearnMenu(CRGROUP_DEF);
+ .@opt$+=":"+csysGUI_OptLearnMenu(CRGROUP_ACC);
+ .@opt$+=":"+csysGUI_OptLearnMenu(CRGROUP_EVD);
+
+ .@opt$+=":"+csysGUI_OptLearnMenu(CRGROUP_REGEN);
+ .@opt$+=":"+csysGUI_OptLearnMenu(CRGROUP_SPEED);
+ .@opt$+=":"+csysGUI_OptLearnMenu(CRGROUP_DOUBLE);
+ .@opt$+=":"+csysGUI_OptLearnMenu(CRGROUP_MAXPC);
+
+ .@opt$+=":"+csysGUI_OptLearnMenu(CRGROUP_SCRESIST);
+ .@opt$+=":"+csysGUI_OptLearnMenu(CRGROUP_SCINFLICT);
+ .@opt$+=":"+csysGUI_OptLearnMenu(CRGROUP_MANAUSE);
+ .@opt$+=":"+csysGUI_OptLearnMenu(CRGROUP_BOSSATK);
+
+ .@opt$+=":"+csysGUI_OptLearnMenu(CRGROUP_FINAL);
+
+ .@opt$+=":I would like a tutorial";
+
+ select (.@opt$);
+ mes "";
+ switch (@menu) {
+ case 1:
+ break;
+
+ case 2:
+ if (csysGUI_RaiseOpt(CRGROUP_BASE))
+ mesc l("Success!"), 3;
+ else
+ mesc l("Not enough Monster Points!"), 1;
+ break;
+
+ case 3:
+ if (csysGUI_RaiseOpt(CRGROUP_ATK))
+ mesc l("Success!"), 3;
+ else
+ mesc l("Not enough Monster Points!"), 1;
+ break;
+ case 4:
+ if (csysGUI_RaiseOpt(CRGROUP_DEF))
+ mesc l("Success!"), 3;
+ else
+ mesc l("Not enough Monster Points!"), 1;
+ break;
+ case 5:
+ if (csysGUI_RaiseOpt(CRGROUP_ACC))
+ mesc l("Success!"), 3;
+ else
+ mesc l("Not enough Monster Points!"), 1;
+ break;
+ case 6:
+ if (csysGUI_RaiseOpt(CRGROUP_EVD))
+ mesc l("Success!"), 3;
+ else
+ mesc l("Not enough Monster Points!"), 1;
+ break;
+
+ case 7:
+ if (csysGUI_RaiseOpt(CRGROUP_REGEN))
+ mesc l("Success!"), 3;
+ else
+ mesc l("Not enough Monster Points!"), 1;
+ break;
+ case 8:
+ if (csysGUI_RaiseOpt(CRGROUP_SPEED))
+ mesc l("Success!"), 3;
+ else
+ mesc l("Not enough Monster Points!"), 1;
+ break;
+ case 9:
+ if (csysGUI_RaiseOpt(CRGROUP_DOUBLE))
+ mesc l("Success!"), 3;
+ else
+ mesc l("Not enough Monster Points!"), 1;
+ break;
+ case 10:
+ if (csysGUI_RaiseOpt(CRGROUP_MAXPC))
+ mesc l("Success!"), 3;
+ else
+ mesc l("Not enough Monster Points!"), 1;
+ break;
+
+ case 11:
+ if (csysGUI_RaiseOpt(CRGROUP_SCRESIST))
+ mesc l("Success!"), 3;
+ else
+ mesc l("Not enough Monster Points!"), 1;
+ break;
+ case 12:
+ if (csysGUI_RaiseOpt(CRGROUP_SCINFLICT))
+ mesc l("Success!"), 3;
+ else
+ mesc l("Not enough Monster Points!"), 1;
+ break;
+ case 13:
+ if (csysGUI_RaiseOpt(CRGROUP_MANAUSE))
+ mesc l("Success!"), 3;
+ else
+ mesc l("Not enough Monster Points!"), 1;
+ break;
+ case 14:
+ if (csysGUI_RaiseOpt(CRGROUP_BOSSATK))
+ mesc l("Success!"), 3;
+ else
+ mesc l("Not enough Monster Points!"), 1;
+ break;
+
+ case 15:
+ if (csysGUI_RaiseOpt(CRGROUP_FINAL))
+ mesc l("Success!"), 3;
+ else
+ mesc l("Not enough Monster Points!"), 1;
+ break;
+ default:
+ IntenseBeardTutorial();
+ break;
+ }
+
+ // Update boolean
+ if (!.@bool)
+ .@bool=true;
+ } while (@menu != 1);
+ close;
+
+L_SemNivel:
+ mesn;
+ mesq l("Please don't disturb me, I'm busy crafting my own customized power mega blaster weapon. I just keep failing to apply +100% exp gain bonus on it!");
+ close;
+
+L_SemLivro:
+ mesn;
+ mesq l("Heya, noob. Where is your @@? Are you really so noob to have forgot such important book?!", getitemlink(RecipeBook));
+ next;
+ mesn;
+ mesq l("That's too bad, because I could teach you some amazing craft skills! This will need to wait another day, I guess. Oh well.");
+ close;
+
+L_SemQuest:
+ mesn;
+ mesq l("Heya, noob. Where is your @@? Are you really so noob to have forgot such important book?!", getitemlink(RecipeBook));
+ next;
+ mesn strcharinfo(0);
+ mesc l("Was I supposed to have one? How should I reply?");
+ mes "";
+ select
+ l("Erm... I don't have a recipe book."),
+ l("That's nice, but... I don't have a recipe book."),
+ l("Pardon me, what is a recipe book?");
+ mes "";
+ mesn;
+ mesq l("WHAT? Have you not gained one at birth? That's absurd!");
+ next;
+ select
+ l("Erm... I don't know my parents."),
+ l("Maybe, but... I don't know my parents."),
+ l("Pardon me, I don't remember my parents.");
+ mes "";
+ mesn;
+ mesq l("WHAT? That's twice absurd! Now you'll say that you were found stranded on a desert island without equipment and can't remember anything but your own name!");
+ next;
+ select
+ l("Erm... You're right."),
+ l("Well... You're right."),
+ l("How did you guess that?");
+ mes "";
+ mesn;
+ mesq l("... ... ...");
+ next;
+ mesn;
+ mesq l("...Okay, this is not fun anymore.");
+ next;
+ mesn;
+ mesq l("Here, you can have this spare one. Hahah! Crafting is an art, and I help teaching it. Just be sure to don't lose it, you will NEVER get another copy EVER again, was I clear?!");
+ next;
+ mesn;
+ mesq l("While we're at that, do you know how to craft? No? First, you'll need a Cauldron, in case you've rented a house. Otherwise, you can rent a work table on this Forge.");
+ next;
+ mesn;
+ mesq l("You need to read this recipe. Without the essential crafting skill you won't go very far. There will be no bonuses on the items you craft because you are not a craftsman.");
+ // Obtain a blueprint and a recipe book
+ inventoryplace EquipmentBlueprintA, 1, RecipeBook, 1;
+ getitem EquipmentBlueprintA, 1;
+ getitem RecipeBook, 1;
+ CRAFTQUEST=1;
+ next;
+
+L_Learn:
+ mesn;
+ mesq l("I see you don't know how to craft. Do you want me to teach the basic for you? I'll charge 1000 GP.");
+ if (Zeny < 1000)
+ close;
+ next;
+ if (askyesno() == ASK_YES) {
+ // Pay the money
+ Zeny-=1000;
+
+ // Give you the craft skill itself
+ skill TMW2_CRAFT, 1, 0;
+
+ // We should aid you getting basic skills - for free!
+ if (!CRAFTSYS[CRGROUP_BASE])
+ CRAFTSYS[CRGROUP_BASE]+=1;
+ if (!CRAFTSYS_CURRENT)
+ CRAFTSYS_CURRENT=CRAFTSYS_CURRENT|CRGROUP_BASE;
+
+ mesn;
+ mesq l("There, now you can not only craft items, but craft AWESOME ITEMS!");
+
+ RECIPES_EQUIPMENT[CraftDagger]=true;
+ mesc l("You've also learned how to craft Daggers! It serves solely for training purposes. You get crafting points for every 40 levels crafted on the item.");
+ }
+ close;
+
+function IntenseBeardTutorial {
+ mesn;
+ mesq l("Well, first of, you'll need an @@ and an Equipment Recipe.", getitemlink(RecipeBook));
+ next;
+ mesn;
+ mesq l("You can craft items in forges. You can use it on your house, or within this forge for a tax.");
+ next;
+ mesn;
+ mesq l("That will help you to make your very first first craft! Remember to use @@ to change which bonuses can be applied to your craft items.", b("@ucp"));
+ next;
+ mesn;
+ mesq l("I can teach you these bonuses, but more powerful bonuses require more skill to learn... And I don't know anyone who could improve your crafting skill...");
+ next;
+ mesn;
+ mesq l("...The ones who know a lot are dwarves, but they don't live here - they live with elves, it seems.");
+ next;
+ return;
+}
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ npcsit;
+ end;
+
+}
+
+
diff --git a/npc/003-8/jhedia.txt b/npc/003-8/jhedia.txt
new file mode 100644
index 0000000..a9d09fe
--- /dev/null
+++ b/npc/003-8/jhedia.txt
@@ -0,0 +1,197 @@
+// TMW2 scripts.
+// Author:
+// Crazyfefe
+// Saulc
+// Jesusalva
+// Description:
+// Jhedia takes care of Tulimshar forge and makes ingots
+//.@karim = getq(Karim_Quest);
+
+003-8,28,30,0 script Jhedia NPC_ELVEN_FEMALE,{
+ goto L_Menu;
+
+ // ingot_create( BaseItem, PrizeItem, Amount, Amount_Coal, Price )
+ function ingot_create {
+ .@basei=getarg(0);
+ .@prize=getarg(1);
+ .@oream=getarg(2);
+ .@coalm=getarg(3);
+ .@price=getarg(4);
+
+ // Adjust price
+ .@price=POL_AdjustPrice(.@price);
+
+ mesn;
+ mesq l("Do you want to craft @@? For that I will need @@ @@, @@ @@ and @@ gp.",
+ getitemlink(.@prize), .@oream, getitemlink(.@basei), .@coalm, getitemlink(Coal), .@price);
+
+ askyesno();
+ mes "";
+
+ if (@menu == ASK_NO) goto L_Menu;
+
+ mesn;
+ mesq l("How many ingots do you want to make?");
+ input .@amount;
+
+ if (.@amount < 1)
+ close;
+
+ if (countitem(.@basei) >= .@amount * .@oream && countitem(Coal) >= .@amount * .@coalm && Zeny >= .@price * .@amount) {
+ inventoryplace .@prize, .@amount;
+ delitem .@basei, .@amount * .@oream;
+ delitem Coal, .@amount * .@coalm;
+ POL_PlayerMoney(.@amount * .@price);
+ getitem .@prize, .@amount;
+ getexp (JobLevel+.@oream+.@coalm)*.@amount, .@amount;
+
+ mes "";
+ mesn;
+ mesq l("Many thanks! Come back soon.");
+ close;
+ }
+
+ speech S_FIRST_BLANK_LINE,// | S_LAST_NEXT,
+ l("You don't have enough material, sorry.");
+ close;
+
+ }
+
+L_Menu:
+ mesn;
+ mesq l("Hello! I am @@, and I take care of Tulimshar forge. I usually make ingots from various materials. So, what do you want today?", .name$);
+ next;
+ select
+ l("Iron Ingot"),
+ l("Copper Ingot"),
+ l("Tin Ingot"),
+ l("Lead Ingot"),
+ l("Titanium Ingot"),
+ rif(BaseLevel >= 60, l("Iridium Ingot")),
+ rif(BaseLevel >= 60, l("Platinum Ingot")),
+ l("Silver Ingot"),
+ l("Gold Ingot"),
+ l("Gold Pieces"),
+ rif(BaseLevel >= 70, l("Terranite Ingot")),
+ l("Nothing, thanks.");
+
+ // ingot_create(Ore, Ingot, Nº of Ore, Nº of Coal, Price);
+ switch (@menu) {
+ case 1:
+ ingot_create(IronOre, IronIngot, 6, 9, 740);
+ break;
+ case 2:
+ ingot_create(CopperOre, CopperIngot, 4, 7, 750);
+ break;
+ case 3:
+ ingot_create(TinOre, TinIngot, 4, 9, 750);
+ break;
+ case 4:
+ ingot_create(LeadOre, LeadIngot, 4, 1, 760);
+ break;
+ case 5:
+ ingot_create(TitaniumOre, TitaniumIngot, 4, 9, 800);
+ break;
+ case 6:
+ ingot_create(IridiumOre, IridiumIngot, 4, 10, 1100);
+ break;
+ case 7:
+ ingot_create(PlatinumOre, PlatinumIngot, 3, 10, 1650);
+ break;
+ case 8:
+ ingot_create(SilverOre, SilverIngot, 3, 7, 650);
+ break;
+ case 9:
+ ingot_create(GoldOre, GoldIngot, 3, 9, 850);
+ break;
+ case 10:
+ ingot_create(GoldOre, GoldPieces, 1, 20, 1100);
+ break;
+ case 11:
+ ingot_create(TerraniteOre, TerraniteIngot, 10, 20, 2000);
+ break;
+ default:
+ goto L_Close;
+ break;
+ }
+
+L_Close:
+ tutmes l("You can also obtain ingots by melting down equipment. The Meltdown forge is in Nivalis, very far from Tulimshar."), l("Protip"), false;
+ if (BaseLevel < 20)
+ tutmes l("You cannot visit Nivalis before obtaining level 20."), l("Note"), false;
+ closedialog;
+ goodbye;
+ close;
+
+OnTimer1000:
+ domovestep;
+
+OnInit:
+ initpath "move", 28, 30,//C
+ "dir", DOWN, 0,
+ "wait", 70, 0,
+ "move", 35, 28,//D
+ "dir", DOWN, 0,
+ "wait", 10, 0,
+ "move", 30, 29,//B
+ "dir", UP, 0,
+ "wait", 4, 0,
+ "move", 36, 36,//H
+ "dir", LEFT, 0,
+ "wait", 2, 0,
+ "move", 27, 29,//A
+ "dir", UP, 0,
+ "wait", 10, 0,
+ "move", 30, 34,//K
+ "dir", UP, 0,
+ "wait", 13, 0,
+ "move", 27, 29,//A
+ "dir", UP, 0,
+ "wait", 14, 0,
+ "move", 39, 31,//G
+ "dir", UP, 0,
+ "wait", 25, 0,
+ "move", 30, 29,//B
+ "dir", UP, 0,
+ "wait", 11, 0,
+ "move", 26, 42,//M
+ "dir", UP, 0,
+ "wait", 8, 0,
+ "move", 30, 29,//B
+ "dir", UP, 0,
+ "wait", 7, 0,
+ "move", 39, 36,//I
+ "dir", RIGHT, 0,
+ "wait", 2, 0,
+ "move", 35, 31,//F
+ "dir", UP, 0,
+ "wait", 1, 0,
+ "move", 27, 29,//A
+ "dir", UP, 0,
+ "wait", 15, 0,
+ "move", 29, 38,//L
+ "dir", DOWN, 0,
+ "wait", 21, 0,
+ "move", 30, 29,//B
+ "dir", UP, 0,
+ "wait", 10, 0,
+ "move", 39, 28,//E
+ "dir", DOWN, 0,
+ "wait", 13, 0,
+ "move", 28, 34,//J
+ "dir", UP, 0,
+ "wait", 10, 0,
+ "move", 30, 29,//B
+ "dir", UP, 0,
+ "wait", 1, 0,
+ "move", 29, 42,//N
+ "dir", UP, 0,
+ "wait", 16, 0,
+ "move", 27, 29,//A
+ "dir", UP, 0,
+ "wait", 6, 0;
+
+ initialmove;
+ initnpctimer;
+ .distance = 5;
+}
diff --git a/npc/003-9-1/_import.txt b/npc/003-9-1/_import.txt
new file mode 100644
index 0000000..073f5c7
--- /dev/null
+++ b/npc/003-9-1/_import.txt
@@ -0,0 +1,3 @@
+// Map 003-9-1: Tulimshar Theater
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-9-1/_warps.txt",
diff --git a/npc/003-9-1/_warps.txt b/npc/003-9-1/_warps.txt
new file mode 100644
index 0000000..5d7acc8
--- /dev/null
+++ b/npc/003-9-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-9-1: Tulimshar Theater warps
+003-9-1,26,38,0 warp #003-9-1_26_38 0,0,003-1,72,133
diff --git a/npc/003-9/_import.txt b/npc/003-9/_import.txt
new file mode 100644
index 0000000..49e21f7
--- /dev/null
+++ b/npc/003-9/_import.txt
@@ -0,0 +1,6 @@
+// Map 003-9: Tulimshar Inn
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-9/_warps.txt",
+"npc/003-9/gambler.txt",
+"npc/003-9/recepcionist.txt",
+"npc/003-9/scripted.txt",
diff --git a/npc/003-9/_warps.txt b/npc/003-9/_warps.txt
new file mode 100644
index 0000000..dd9e5a9
--- /dev/null
+++ b/npc/003-9/_warps.txt
@@ -0,0 +1,14 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-9: Tulimshar Inn warps
+003-9,62,136,0 warp #003-9_62_136 0,0,003-1,70,138
+003-9,48,92,0 script #003-9_48_92 NPC_HIDDEN,1,0,{
+ end;
+OnTouch:
+ slide 47,56; end;
+}
+003-9,48,57,0 script #003-9_48_57 NPC_HIDDEN,1,0,{
+ end;
+OnTouch:
+ slide 48,93; end;
+}
+003-9,36,57,0 warp #003-9_36_57 0,0,003-1,64,131
diff --git a/npc/003-9/gambler.txt b/npc/003-9/gambler.txt
new file mode 100644
index 0000000..eacbc77
--- /dev/null
+++ b/npc/003-9/gambler.txt
@@ -0,0 +1,54 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Tulimshar Inn Receptionist
+
+003-9,42,123,0 script Gambler Master NPC_LOF_NOBLEMAN,{
+ mesn;
+ mesq l("Hello! Welcome to the Inn! I am an Alliance officer, and I oversee gambling all over the world!");
+ next;
+ mesn;
+ mesq l("So how can I help you?");
+ do
+ {
+ next;
+ select
+ l("How does Gambling works?"),
+ l("How can I obtain casino coins?"),
+ l("Nothing, thanks.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesn;
+ mesq l("You find a slot machine or another gambler, and make a bet!");
+ next;
+ mesn;
+ mesq l("If you're right, you'll gain more Casino Coins! And even other nice things!");
+ next;
+ mesn;
+ mesq l("But if you're wrong, you'll have to pay up! There's no refunds. This is gambling, if you lose you lose!");
+ next;
+ mesn;
+ mesq l("If you're afraid of losing everything, then DEFINITELY do not gamble. %%2");
+ break;
+ case 2:
+ mesn;
+ mesq l("I dunno. I don't think they're sold anywhere.");
+ next;
+ mesn;
+ mesq l("I know a few bandits stole a few, and Lava Slimes love to eat Casino Coins.");
+ next;
+ mesn;
+ mesq l("I've even heard of people whom dug Casino Coins out of the ground, but as I said, I don't know. But you'll certainly come across a few o your adventures!");
+ break;
+ }
+ } while (@menu != 3);
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/003-9/recepcionist.txt b/npc/003-9/recepcionist.txt
new file mode 100644
index 0000000..cb6a81c
--- /dev/null
+++ b/npc/003-9/recepcionist.txt
@@ -0,0 +1,64 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Tulimshar Inn Recepcionist
+
+003-9,62,128,0 script Recepcionist#TInn NPC_LOF_BARKEEPER,{
+ // You're on Main Quest - total priority
+ if (LUA_ASKED_TO_SLEEP)
+ goto L_Cutscene;
+
+ // Otherwise, you cannot sleep here before finishing Lua's Quest
+ if (getq(General_Narrator) < 3) {
+ npctalk3 l("Hello, and welcome to Tulimshar Inn.");
+ emotion E_HAPPY;
+ end;
+ }
+
+ .@price=limit(400, 700+(BaseLevel*3)-getq(General_Narrator)*6, 1200);
+ .@price=limit(250, POL_AdjustPrice(.@price), 1200);
+
+ mesn;
+ mesq l("Good %s. Would you like to sleep here? It's only %d GP!", (is_night() ? l("evening") : l("day")), .@price);
+ mesc l("Sleeping will fully replenish your health.");
+ mesc l("It'll also boost your %s for %s.", b(l("MAX HP")), l("15 minutes."));
+ mesc l("Sleeping at night, the bonus will be stronger!");
+ next;
+ if (askyesno() == ASK_YES && Zeny > .@price) {
+ POL_PlayerMoney(.@price);
+ percentheal 100, 100;
+ .@buff=(is_night() ? 15 : 10);
+ SC_Bonus(900, SC_INCMHPRATE, .@buff, .@buff); // FIXME: We don't want stacking
+ closeclientdialog;
+ warp "003-9", 36, 47;
+ dispbottom l("You feel refreshed!");
+ }
+ close;
+
+L_Cutscene:
+ mesn strcharinfo(0);
+ mesq l("Hello, Lua told me she booked a room for me.");
+ next;
+ mesn;
+ mesq l("Ah, so you must be %s, the new guy! Yes, it is on the rooms upstairs. I'll bring you there, don't you worry a thing!", strcharinfo(0));
+ tutmes l("During cutscenes, you cannot move. If you do, you'll be forcibly pushed back."), l("Cutscenes");
+ next;
+ closeclientdialog;
+ .@mapn$="tinn@"+getcharid(0);
+ .@inst = instance_create("Tulim Inn "+getcharid(0), getcharid(3), IOT_CHAR);
+ instance_attachmap("003-9", .@inst, false, .@mapn$);
+ // Instance lasts 6 minutes
+ instance_set_timeout(360, 360, .@inst);
+ instance_init(.@inst);
+ warp .@mapn$, 36, 47;
+ setpcblock(PCBLOCK_HARD, true); // NOTE: No commands?! I'm not sure...
+ addtimer 1000, "#TulimInnStory::OnEvent1";
+ close;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/003-9/scripted.txt b/npc/003-9/scripted.txt
new file mode 100644
index 0000000..f8ad67b
--- /dev/null
+++ b/npc/003-9/scripted.txt
@@ -0,0 +1,167 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Scripted functions (Lua)
+
+003-9,58,121,0 script #TInnClockPassage NPC_NO_SPRITE,{
+ dispbottom l("If I only could find another way in...");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
+003-9,0,0,0 script #TulimInnStory NPC_HIDDEN,{
+ end;
+
+OnEvent1:
+ .@mapn$="tinn@"+getcharid(0);
+ @tinn_assa=monster(.@mapn$, 47, 56, "???", Assassin, 1);
+ @tinn_boss=monster(.@mapn$, 48, 56, "???", HoodedAssassin, 1);
+ unitwalk(@tinn_boss, 40, 47);
+ addtimer 400, .name$+"::OnEvent2";
+ end;
+
+OnEvent2:
+ .@mapn$="tinn@"+getcharid(0);
+ setunitdata(@tinn_boss, UDT_SPEED, 190); // So they walk at same pace
+ setunitdata(@tinn_assa, UDT_SPEED, 190); // So they walk at same pace
+ unitwalk(@tinn_assa, 40, 48);
+ addtimer 1860, .name$+"::OnEvent3"; // Roughly 9/11 tiles time
+ end;
+
+OnEvent3:
+ .@mapn$="tinn@"+getcharid(0);
+ //unitwarp(@tinn_boss, .@mapn$, 40, 47);
+ sc_start(SC_STUN, 17240, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, @tinn_boss);
+ unittalk(@tinn_boss, l("*hurry up, your moron!*"));
+ addtimer 440, .name$+"::OnEvent4"; // Roughly 2/11 tiles time
+ end;
+
+OnEvent4:
+ .@mapn$="tinn@"+getcharid(0);
+ //unitwarp(@tinn_assa, .@mapn$, 40, 48);
+ sc_start(SC_STUN, 22000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, @tinn_assa);
+ unittalk(@tinn_assa, l("*sorry, boss!*"));
+ //atcommand("@refresh"); // Can't use @commands at block 255
+ addtimer 2000, .name$+"::OnEvent5";
+ end;
+
+OnEvent5:
+ .@mapn$="tinn@"+getcharid(0);
+ unittalk(@tinn_boss, l("*is everything ready?*"));
+ addtimer 2000, .name$+"::OnEvent6";
+ end;
+
+OnEvent6:
+ .@mapn$="tinn@"+getcharid(0);
+ unittalk(@tinn_assa, l("*Yes, boss!*"));
+ addtimer 1500, .name$+"::OnEvent7";
+ end;
+
+OnEvent7:
+ .@mapn$="tinn@"+getcharid(0);
+ unittalk(@tinn_boss, l("*Don't shout, you moron!*"));
+ addtimer 2000, .name$+"::OnEvent8";
+ end;
+
+OnEvent8:
+ .@mapn$="tinn@"+getcharid(0);
+ unittalk(@tinn_assa, l("*Yes, boss!*"));
+ addtimer 2000, .name$+"::OnEvent9";
+ end;
+
+OnEvent9:
+ .@mapn$="tinn@"+getcharid(0);
+ unittalk(@tinn_boss, l("*I'll give you two energy balls.*"));
+ addtimer 1000, .name$+"::OnEvent10";
+ end;
+
+OnEvent10:
+ .@mapn$="tinn@"+getcharid(0);
+ @tinn_ball=monster(.@mapn$, 41, 47, l("Energy Ball"), EnergyBall, 1);
+ @tinn_ba11=monster(.@mapn$, 41, 48, l("Energy Ball"), EnergyBall, 1);
+ sc_start(SC_STUN, 11500, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, @tinn_ball);
+ sc_start(SC_STUN, 11500, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, @tinn_ba11);
+ setunitdata(@tinn_ball, UDT_SPEED, 200); // So they walk at same pace
+ setunitdata(@tinn_ba11, UDT_SPEED, 200); // So they walk at same pace
+ addtimer 2000, .name$+"::OnEvent11";
+ end;
+
+OnEvent11:
+ .@mapn$="tinn@"+getcharid(0);
+ unittalk(@tinn_boss, l("*Don't fail me. If you do, ensure you're well past dead before.*"));
+ addtimer 2800, .name$+"::OnEvent12";
+ end;
+
+OnEvent12:
+ .@mapn$="tinn@"+getcharid(0);
+ unittalk(@tinn_assa, l("*Yes, boss!*"));
+ addtimer 1500, .name$+"::OnEvent13";
+ end;
+
+OnEvent13:
+ .@mapn$="tinn@"+getcharid(0);
+ unittalk(@tinn_boss, l("*I'll take my leave, then.*"));
+ unitwalk(@tinn_boss, 47, 56);
+ addtimer 2200, .name$+"::OnEvent14";
+ end;
+
+OnEvent14:
+ .@mapn$="tinn@"+getcharid(0);
+ unitwarp(@tinn_boss, "boss", 22, 22);
+ unitkill(@tinn_boss);
+ addtimer 200, .name$+"::OnEvent15";
+ end;
+
+OnEvent15:
+ .@mapn$="tinn@"+getcharid(0);
+ unittalk(@tinn_assa, l("*hehehe...*"));
+ addtimer 800, .name$+"::OnEvent16";
+ end;
+
+OnEvent16:
+ .@mapn$="tinn@"+getcharid(0);
+ unittalk(@tinn_assa, l("*The Professor will never know what got him...*"));
+ addtimer 2000, .name$+"::OnEvent17";
+ end;
+
+OnEvent17:
+ .@mapn$="tinn@"+getcharid(0);
+ unittalk(@tinn_assa, l("*hehehe...*"));
+ unitwalk(@tinn_assa, 47, 56);
+ addtimer 200, .name$+"::OnEvent18";
+ end;
+
+OnEvent18:
+ unitwalk(@tinn_ball, 47, 56);
+ unitwalk(@tinn_ba11, 48, 56);
+ addtimer 2000, .name$+"::OnEvent19";
+ end;
+
+OnEvent19:
+ .@mapn$="tinn@"+getcharid(0);
+ unitwarp(@tinn_assa, "boss", 22, 22);
+ unitwarp(@tinn_ball, "boss", 22, 22);
+ unitwarp(@tinn_ba11, "boss", 22, 22);
+ unitkill(@tinn_assa);
+ unitkill(@tinn_ball);
+ unitkill(@tinn_ba11);
+ addtimer 200, .name$+"::OnEvent20";
+ end;
+
+OnEvent20:
+ dispbottom l("*are they gone...?*");
+ addtimer 1000, .name$+"::OnEvent21";
+ end;
+
+OnEvent21:
+ setpcblock(PCBLOCK_HARD, false);
+ dispbottom l("I better report this to Lua!");
+ LUA_ASKED_TO_SLEEP=false;
+ end;
+}
+
diff --git a/npc/004-1/_import.txt b/npc/004-1/_import.txt
new file mode 100644
index 0000000..f53a354
--- /dev/null
+++ b/npc/004-1/_import.txt
@@ -0,0 +1,7 @@
+// Map 004-1: Tulimshar
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-1/_mobs.txt",
+"npc/004-1/_warps.txt",
+"npc/004-1/anwar.txt",
+"npc/004-1/elanore.txt",
+"npc/004-1/sign.txt",
diff --git a/npc/004-1/_mobs.txt b/npc/004-1/_mobs.txt
new file mode 100644
index 0000000..261dc2b
--- /dev/null
+++ b/npc/004-1/_mobs.txt
@@ -0,0 +1,9 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-1: Tulimshar mobs
+004-1,0,0,0,0 monster Maggot 1030,50,35000,420000
+004-1,48,35,5,13 monster Croc 1006,3,25000,60000
+004-1,49,77,10,21 monster Scorpion 1071,20,35000,270000
+004-1,109,66,15,8 monster Giant Maggot 1031,4,35000,270000
+004-1,112,113,12,5 monster Golden Scorpion 1078,1,99000,300000
+004-1,84,98,18,15 monster Fire Goblin 1067,6,45000,45000
+004-1,45,106,19,12 monster Red Scorpion 1072,3,95000,60000
diff --git a/npc/004-1/_warps.txt b/npc/004-1/_warps.txt
new file mode 100644
index 0000000..4acf882
--- /dev/null
+++ b/npc/004-1/_warps.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-1: Tulimshar warps
+004-1,126,95,0 warp #004-1_126_95 0,2,004-2,31,51
+004-1,55,20,0 warp #004-1_55_20 0,0,003-1-1,29,61
+004-1,69,56,0 warp #004-1_69_56 4,0,003-1,60,156
+004-1,39,109,0 warp #004-1_39_109 0,0,007-1,56,36
+004-1,98,114,0 warp #004-1_98_114 0,0,007-1,90,51
+004-1,119,107,0 warp #004-1_119_107 0,0,007-1-1,35,37
diff --git a/npc/004-1/anwar.txt b/npc/004-1/anwar.txt
new file mode 100644
index 0000000..ca5371e
--- /dev/null
+++ b/npc/004-1/anwar.txt
@@ -0,0 +1,222 @@
+// TMW2 Script
+// Author:
+// TMW Org.
+// Jesusalva
+// Description:
+// Part of Anwar Field quest
+
+004-1,113,67,0 script Anwar NPC_RAIJIN,{
+ .@q=getq(TulimsharQuest_AnwarField);
+ if (BaseLevel < 18) goto L_Weak;
+
+ if (.@q > 10) goto L_Complete;
+ if (.@q == 10) goto L_SecondReward;
+ if (.@q == 9) goto L_FirstReward;
+ if (.@q == 8) goto L_SecondTry;
+ if (.@q == 7) goto L_AnwarField;
+ if (.@q == 6) goto L_FirstTry;
+ if (.@q == 5) goto L_TryIt;
+ if (.@q >= 1) goto L_FirstTry;
+
+ mesn;
+ mesq l("Hi. Could you perhaps be interested in doing some small errand for me?");
+ menu
+ l("Sure!"),L_Sure,
+ l("I'm busy, sorry."),L_Close;
+
+L_Complete:
+ mesn;
+ mesq l("Thanks for saving Tulimshar from a famine. I'll be forever grateful.");
+ next;
+ mesn;
+ mesq l("Dealing with elves is too bothersome to me.");
+ close;
+
+L_AnwarField:
+ mesn;
+ mesq l("My crops! Hurry up, and talk to Eomie!!");
+ close;
+
+L_Sure:
+ mes "";
+ mesn;
+ mesq l("Great! Eomie, the girl on Tulimshar's magic academy, is an alchemist. She probably makes fertilizers.");
+ next;
+ mesn;
+ mesq l("This farm is dying due constant monster attacks, and without them, Tulimshar might face a famine.");
+ next;
+ mesn;
+ mesq l("Please, talk to her. Maybe she understands the direness of the situation and help... But you know. Elves.");
+ setq TulimsharQuest_AnwarField, 1;
+ close;
+
+L_FirstTry:
+ mesn;
+ mesq l("Good luck getting the fertilizer from Eomie! Many elves simply refuse to cooperate until it affects them directly.");
+ close;
+
+L_TryIt:
+ .@q2=getq2(TulimsharQuest_AnwarField);
+ mesn;
+ mesq l("You've brought me fertilizer! Let me see if it works...");
+ next;
+ setq2 TulimsharQuest_AnwarField, .@q2+1;
+
+ // Fail chances are 100% - 13% per attempt
+ if (rand2(0,100) < 100-(.@q2*13)) {
+ setq1 TulimsharQuest_AnwarField, 6;
+ mesc l("Nothing happens.");
+ next;
+ mesn;
+ mesq l("Uh... Something should happen, right? Can you get another one?");
+ } else {
+ setq1 TulimsharQuest_AnwarField, 7;
+ mesc l("Evil worms crawl from earth and starts devouring the plants!");
+ next;
+ mesn;
+ mesq l("Uh... That should not happen, right? RIGHT?");
+ next;
+ mesn;
+ mesq l("Don't just stand here! Go fetch help, NOW!!");
+ }
+
+ close;
+
+L_SecondTry:
+ mesn strcharinfo(0);
+ mesq l("Here is the bug bomb! Eomie just gave me. Hurry up!");
+ next;
+ getexp 20, 0;
+ specialeffect(51);
+ setq TulimsharQuest_AnwarField, 9;
+ mesn;
+ mesq l("Thanks God... The crops are safe. Not only that, but the fertilizer works!");
+ next;
+ mesn;
+ mesq l("Ah, that was tiresome... I'll go make a reward for them, talk to me again later.");
+ close;
+
+L_FirstReward:
+ mesn;
+ mesq l("Here are two @@. Please deliver it to them. I hope they'll like it.", getitemlink(TortugaShell));
+ setq TulimsharQuest_AnwarField, 10, 0;
+ getitembound(TortugaShell, 2, 4); // Prevent accidental item loss
+ close;
+
+L_SecondReward:
+ .@q2=getq2(TulimsharQuest_AnwarField);
+ if (.@q2 < 3){
+ mesn;
+ mesq l("Please deliver the two @@ to Tinris and Eomie, and then I'll give you something for your help.", getitemlink(TortugaShell));
+ close;
+ }
+ setq TulimsharQuest_AnwarField, 11, 0;
+ getitem2(FarmerPants, 1, 1, 0, 0, OrangeDye, 0,0,0); // EXPERIMENTAL, required for Inspector Quest
+ getexp 750, 0;
+ mesn;
+ mesq l("Many thanks for your help! Here, take this. I'm sure it can be very useful later. It always is.");
+ close;
+
+L_Weak:
+ hello;
+ end;
+
+L_Close:
+ close;
+
+OnTimer1000:
+ domovestep;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, FarmerHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, DesertShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, Boots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 6);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 14);
+
+ .sex = G_MALE;
+ .distance = 5;
+
+ initpath "move", 99, 84,//A
+ "dir", RIGHT, 0,
+ "wait", 30, 0,
+ "move", 90, 60,//C
+ "dir", UP, 0,
+ "wait", 12, 0,
+ "move", 123, 64,//K
+ "dir", LEFT, 0,
+ "wait", 8, 0,
+ "move", 101, 84,//B
+ "dir", DOWN, 0,
+ "wait", 29, 0,
+ "move", 98, 68,//R
+ "dir", DOWN, 0,
+ "wait", 14, 0,
+ "move", 100, 80,//F
+ "dir", UP, 0,
+ "wait", 13, 0,
+ "move", 136, 73,//I
+ "dir", DOWN, 0,
+ "wait", 14, 0,
+ "move", 101, 84,//B
+ "dir", DOWN, 0,
+ "wait", 28, 0,
+ "move", 99, 64,//D
+ "dir", UP, 0,
+ "wait", 11, 0,
+ "move", 114, 60,//M
+ "dir", RIGHT, 0,
+ "wait", 8, 0,
+ "move", 99, 84,//A
+ "dir", RIGHT, 0,
+ "wait", 27, 0,
+ "move", 104, 60,//O
+ "dir", UP, 0,
+ "wait", 18, 0,
+ "move", 95, 62,//P
+ "dir", DOWN, 0,
+ "wait", 7, 0,
+ "move", 101, 84,//B
+ "dir", DOWN, 0,
+ "wait", 26, 0,
+ "move", 91, 66,//Q
+ "dir", UP, 0,
+ "wait", 21, 0,
+ "move", 95, 82,//G
+ "dir", UP, 0,
+ "wait", 10, 0,
+ "move", 99, 84,//A
+ "dir", RIGHT, 0,
+ "wait", 25, 0,
+ "move", 111, 78,//H
+ "dir", UP, 0,
+ "wait", 17, 0,
+ "move", 120, 63,//L
+ "dir", UP, 0,
+ "wait", 1, 0,
+ "move", 101, 84,//B
+ "dir", DOWN, 0,
+ "wait", 24, 0,
+ "move", 115, 69,//J
+ "dir", DOWN, 0,
+ "wait", 15, 0,
+ "move", 110, 63,//N
+ "dir", LEFT, 0,
+ "wait", 1, 0,
+ "move", 101, 84,//B
+ "dir", DOWN, 0,
+ "wait", 23, 0,
+ "move", 100, 80,//F
+ "dir", UP, 0,
+ "wait", 9, 0,
+ "move", 81, 63,//S
+ "dir", UP, 0,
+ "wait", 15, 0;
+
+ initialmove;
+ initnpctimer;
+ end;
+}
+
diff --git a/npc/004-1/elanore.txt b/npc/004-1/elanore.txt
new file mode 100644
index 0000000..8f690be
--- /dev/null
+++ b/npc/004-1/elanore.txt
@@ -0,0 +1,118 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+
+004-1,80,62,0 script Elanore the Healer NPC_FEMALE,{
+ .@price=Nurse(.name$, 10, 5, 1);
+ mesq l("For you, it'll be @@ GP.", .@price);
+ mes "";
+ menu
+ rif(Zeny >= .@price, l("Please heal me!")), L_Healing,
+ l("Do you make Lifestones?"), L_Lifestones,
+ l("Another time, maybe."), -;
+ close;
+
+
+L_Healing:
+ Nurse(.name$, 10, 5, 2);
+ close;
+
+L_Lifestones:
+ mes "";
+ mesn;
+ mesq l("Lifestones have the potential to heal the user, and thus are used for potions.");
+ next;
+ mesq l("I will need 3 @@, 5 @@ and 100 GP to craft a single stone.", getitemlink(BugLeg), getitemlink(MaggotSlime));
+ next;
+ mes "";
+ menu
+ l("OK, I will get them."), -,
+ l("No way!"), -,
+ l("Here you are!"), L_Trade,
+ l("I want more than one!"), L_Trade_Input;
+ close;
+
+L_Trade:
+ if (countitem(BugLeg) < 3) goto L_Trade_Missing;
+ if (countitem(MaggotSlime) < 5) goto L_Trade_Missing;
+ if (Zeny < 100) goto L_Trade_Missing;
+
+ inventoryplace Lifestone, 1;
+
+ delitem BugLeg, 3;
+ delitem MaggotSlime, 5;
+ set Zeny, Zeny - 100;
+
+ getitem Lifestone, 1;
+ goto L_TradeOK;
+
+L_Trade_Input:
+ mesc l("How many?");
+ input .@am;
+ if (.@am <= 0)
+ close;
+
+ if (countitem(BugLeg) < 3*.@am) goto L_Trade_Missing;
+ if (countitem(MaggotSlime) < 5*.@am) goto L_Trade_Missing;
+ if (Zeny < 100*.@am) goto L_Trade_Missing;
+
+ inventoryplace Lifestone, 1*.@am;
+
+ delitem BugLeg, 3*.@am;
+ delitem MaggotSlime, 5*.@am;
+ set Zeny, Zeny - 100*.@am;
+
+ getitem Lifestone, 1*.@am;
+ goto L_TradeOK;
+
+L_TradeOK:
+ mes "";
+
+ // Only grant Experience on first craft
+ if (getq(TulimsharQuest_Lifestone) == 0) {
+ setq TulimsharQuest_Lifestone, 1;
+ getexp 84, 10;
+ }
+
+ // Second tier stuff
+ if (ST_TIER == 8) {
+ if (gettimetick(2) > QUEST_ELEVARTEMPO) {
+ mesc l(".:: Second Tier Quest - Timed Out ::."), 1;
+ } else {
+ getexp 44, 0;
+ ST_TIER=9;
+ mes l("##9.:: Second Tier Quest - Time Remaining: @@ ::.", FuzzyTime(QUEST_ELEVARTEMPO,2,2));
+ }
+ }
+
+ mesn;
+ mesq l("These will do just fine.");
+ next;
+ mesn;
+ mes l("Elanore casts a chant over the items, closes her hands, and vóila! A lifestone.");
+ next;
+ mesq l("I guess that you could use these lifestones to gain a regeneration effect, too, but I do not know how.");
+ next;
+ mes l("She smiles.");
+ close;
+
+L_Trade_Missing:
+ mesn;
+ mesq l("This is not what I asked for.");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ //setunitdata(.@npcId, UDT_HEADTOP, 2929);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SorcererRobe);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 8);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 17);
+ npcsit;
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+
+}
diff --git a/npc/004-1/sign.txt b/npc/004-1/sign.txt
new file mode 100644
index 0000000..649b229
--- /dev/null
+++ b/npc/004-1/sign.txt
@@ -0,0 +1,19 @@
+// TMW2 Script.
+// Author:
+// Jesusalva
+// Description:
+// Sign
+
+004-1,70,74,0 script Sign#HalinarzoGoto NPC_SWORDS_SIGN,{
+ mesc "↑ "+l("Tulimshar");
+ mesc "→ "+l("Halinarzo Route");
+ mesc "↠"+l("Tulimshar Beach");
+ mesc "↓ "+l("Tulimshar Mines");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
diff --git a/npc/004-2-1/_import.txt b/npc/004-2-1/_import.txt
new file mode 100644
index 0000000..4c353fe
--- /dev/null
+++ b/npc/004-2-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 004-2-1: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-2-1/_mobs.txt",
+"npc/004-2-1/_warps.txt",
diff --git a/npc/004-2-1/_mobs.txt b/npc/004-2-1/_mobs.txt
new file mode 100644
index 0000000..b24e70f
--- /dev/null
+++ b/npc/004-2-1/_mobs.txt
@@ -0,0 +1,13 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-1: Canyon Cave mobs
+004-2-1,0,0,0,0 monster Cave Maggot 1027,25,40000,200000
+004-2-1,67,48,29,23 monster Cave Snake 1035,12,35000,150000
+004-2-1,80,36,11,4 monster Snake 1122,1,35000,150000
+004-2-1,46,70,14,13 monster Snake 1122,3,35000,150000
+004-2-1,90,55,9,9 monster Snake 1122,3,35000,150000
+004-2-1,38,40,4,2 monster Maggot 1030,2,35000,150000
+004-2-1,57,24,4,2 monster Maggot 1030,2,35000,150000
+004-2-1,34,62,4,2 monster Maggot 1030,2,35000,150000
+004-2-1,88,68,4,2 monster Maggot 1030,2,35000,150000
+004-2-1,48,31,17,15 monster Scorpion 1071,5,35000,150000
+004-2-1,0,0,0,0 monster Small Topaz Bif 1101,2,35000,150000
diff --git a/npc/004-2-1/_warps.txt b/npc/004-2-1/_warps.txt
new file mode 100644
index 0000000..9facc2a
--- /dev/null
+++ b/npc/004-2-1/_warps.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-1: Canyon Cave warps
+004-2-1,38,43,0 warp #004-2-1_38_43 0,0,004-2,117,55
+004-2-1,57,21,0 warp #004-2-1_57_21 0,0,004-2,116,28
+004-2-1,87,70,0 warp #004-2-1_87_70 0,0,004-2,142,78
+004-2-1,33,64,0 warp #004-2-1_33_64 0,0,004-2,81,72
diff --git a/npc/004-2-10/_import.txt b/npc/004-2-10/_import.txt
new file mode 100644
index 0000000..7a10799
--- /dev/null
+++ b/npc/004-2-10/_import.txt
@@ -0,0 +1,4 @@
+// Map 004-2-10: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-2-10/_mobs.txt",
+"npc/004-2-10/_warps.txt",
diff --git a/npc/004-2-10/_mobs.txt b/npc/004-2-10/_mobs.txt
new file mode 100644
index 0000000..04c4072
--- /dev/null
+++ b/npc/004-2-10/_mobs.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-10: Canyon Cave mobs
+004-2-10,0,0,0,0 monster Plushroom Field 1011,1,35000,150000
+004-2-10,0,0,0,0 monster Maggot 1030,1,35000,150000
diff --git a/npc/004-2-10/_warps.txt b/npc/004-2-10/_warps.txt
new file mode 100644
index 0000000..a4d454e
--- /dev/null
+++ b/npc/004-2-10/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-10: Canyon Cave warps
+004-2-10,33,29,0 warp #004-2-10_33_29 0,0,004-2-3,61,89
diff --git a/npc/004-2-11/_import.txt b/npc/004-2-11/_import.txt
new file mode 100644
index 0000000..ce8f01e
--- /dev/null
+++ b/npc/004-2-11/_import.txt
@@ -0,0 +1,4 @@
+// Map 004-2-11: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-2-11/_mobs.txt",
+"npc/004-2-11/_warps.txt",
diff --git a/npc/004-2-11/_mobs.txt b/npc/004-2-11/_mobs.txt
new file mode 100644
index 0000000..1cd1d47
--- /dev/null
+++ b/npc/004-2-11/_mobs.txt
@@ -0,0 +1,10 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-11: Canyon Cave mobs
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-11: Canyon Cave mobs
+004-2-11,33,39,4,3 monster Desert Maggot 1083,2,35000,150000
+004-2-11,0,0,0,0 monster Cave Maggot 1027,8,35000,150000
+004-2-11,42,33,12,10 monster Snake 1122,4,35000,150000
+004-2-11,55,39,14,11 monster Old Snake 1199,1,35000,150000
+004-2-11,46,33,16,11 monster Scorpion 1071,3,35000,150000
+004-2-11,0,0,0,0 monster Small Topaz Bif 1101,1,35000,150000
diff --git a/npc/004-2-11/_warps.txt b/npc/004-2-11/_warps.txt
new file mode 100644
index 0000000..ad3ee40
--- /dev/null
+++ b/npc/004-2-11/_warps.txt
@@ -0,0 +1,7 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-11: Canyon Cave warps
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-11: Canyon Cave warps
+004-2-11,33,43,0 warp #004-2-11_33_43 0,0,010-1,64,77
+004-2-11,61,49,0 warp #004-2-11_61_49 0,0,004-2-3,72,29
+004-2-11,52,20,0 warp #004-2-11_52_20 0,0,010-1-11,36,29
diff --git a/npc/004-2-12/_import.txt b/npc/004-2-12/_import.txt
new file mode 100644
index 0000000..362871b
--- /dev/null
+++ b/npc/004-2-12/_import.txt
@@ -0,0 +1,4 @@
+// Map 004-2-12: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-2-12/_mobs.txt",
+"npc/004-2-12/_warps.txt",
diff --git a/npc/004-2-12/_mobs.txt b/npc/004-2-12/_mobs.txt
new file mode 100644
index 0000000..f9ea16e
--- /dev/null
+++ b/npc/004-2-12/_mobs.txt
@@ -0,0 +1,7 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-12: Canyon Cave mobs
+004-2-12,51,32,4,2 monster Maggot 1030,2,35000,150000
+004-2-12,39,33,9,13 monster Black Scorpion 1074,1,35000,150000
+004-2-12,40,34,12,12 monster Angry Scorpion 1131,3,35000,150000
+004-2-12,0,0,0,0 monster Cave Maggot 1027,3,35000,150000
+004-2-12,0,0,0,0 monster Small Ruby Bif 1098,1,35000,150000
diff --git a/npc/004-2-12/_warps.txt b/npc/004-2-12/_warps.txt
new file mode 100644
index 0000000..c25da92
--- /dev/null
+++ b/npc/004-2-12/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-12: Canyon Cave warps
+004-2-12,52,35,0 warp #004-2-12_52_35 1,0,004-2,51,112
+004-2-12,36,52,0 warp #004-2-12_36_52 0,0,004-3-2,43,84
diff --git a/npc/004-2-2/_import.txt b/npc/004-2-2/_import.txt
new file mode 100644
index 0000000..30d22a2
--- /dev/null
+++ b/npc/004-2-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 004-2-2: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-2-2/_mobs.txt",
+"npc/004-2-2/_warps.txt",
diff --git a/npc/004-2-2/_mobs.txt b/npc/004-2-2/_mobs.txt
new file mode 100644
index 0000000..7af7313
--- /dev/null
+++ b/npc/004-2-2/_mobs.txt
@@ -0,0 +1,9 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-2: Canyon Cave mobs
+004-2-2,50,84,14,5 monster Old Snake 1199,2,35000,150000
+004-2-2,0,0,0,0 monster Cave Maggot 1027,15,35000,150000
+004-2-2,56,55,4,26 monster Scorpion 1071,6,35000,150000
+004-2-2,36,79,4,2 monster Maggot 1030,2,35000,150000
+004-2-2,55,25,4,3 monster Desert Maggot 1083,2,35000,150000
+004-2-2,44,28,12,5 monster Old Snake 1199,2,35000,150000
+004-2-2,0,0,0,0 monster Small Topaz Bif 1101,1,35000,150000
diff --git a/npc/004-2-2/_warps.txt b/npc/004-2-2/_warps.txt
new file mode 100644
index 0000000..2ed7971
--- /dev/null
+++ b/npc/004-2-2/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-2: Canyon Cave warps
+004-2-2,36,76,0 warp #004-2-2_36_76 0,0,004-2,121,28
+004-2-2,55,21,0 warp #004-2-2_55_21 0,0,010-1,121,93
diff --git a/npc/004-2-3/_import.txt b/npc/004-2-3/_import.txt
new file mode 100644
index 0000000..ae0ef44
--- /dev/null
+++ b/npc/004-2-3/_import.txt
@@ -0,0 +1,4 @@
+// Map 004-2-3: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-2-3/_mobs.txt",
+"npc/004-2-3/_warps.txt",
diff --git a/npc/004-2-3/_mobs.txt b/npc/004-2-3/_mobs.txt
new file mode 100644
index 0000000..3b3d450
--- /dev/null
+++ b/npc/004-2-3/_mobs.txt
@@ -0,0 +1,23 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-3: Canyon Cave mobs
+004-2-3,51,31,4,3 monster Desert Maggot 1083,2,35000,150000
+004-2-3,87,44,4,2 monster Maggot 1030,2,35000,150000
+004-2-3,65,28,4,3 monster Desert Maggot 1083,2,35000,150000
+004-2-3,94,28,4,3 monster Desert Maggot 1083,2,35000,150000
+004-2-3,98,45,4,2 monster Maggot 1030,2,35000,150000
+004-2-3,113,45,4,2 monster Maggot 1030,2,35000,150000
+004-2-3,125,49,4,2 monster Maggot 1030,2,35000,150000
+004-2-3,135,63,4,2 monster Maggot 1030,2,35000,150000
+004-2-3,108,68,4,2 monster Maggot 1030,2,35000,150000
+004-2-3,69,59,4,2 monster Maggot 1030,2,35000,150000
+004-2-3,58,124,4,2 monster Maggot 1030,2,35000,150000
+004-2-3,102,113,4,2 monster Maggot 1030,2,35000,150000
+004-2-3,134,112,4,2 monster Maggot 1030,2,35000,150000
+004-2-3,123,75,4,2 monster Maggot 1030,2,35000,150000
+004-2-3,87,93,4,2 monster Maggot 1030,2,35000,150000
+004-2-3,0,0,0,0 monster Cave Maggot 1027,90,35000,150000
+004-2-3,40,115,6,9 monster Blub 1008,2,35000,150000
+004-2-3,95,85,38,32 monster Snake 1122,8,35000,150000
+004-2-3,104,76,32,49 monster Old Snake 1199,8,35000,150000
+004-2-3,0,0,0,0 monster Topaz Bif 1102,6,35000,150000
+004-2-3,55,102,22,25 monster Plushroom Field 1011,1,35000,150000
diff --git a/npc/004-2-3/_warps.txt b/npc/004-2-3/_warps.txt
new file mode 100644
index 0000000..7ce29f0
--- /dev/null
+++ b/npc/004-2-3/_warps.txt
@@ -0,0 +1,22 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-3: Canyon Cave warps
+004-2-3,58,127,0 warp #004-2-3_58_127 0,0,004-2,90,62
+004-2-3,123,78,0 warp #004-2-3_123_78 0,0,004-2,147,61
+004-2-3,87,96,0 warp #004-2-3_87_96 0,0,004-2,94,81
+004-2-3,135,115,0 warp #004-2-3_135_115 0,0,004-2,144,53
+004-2-3,102,116,0 warp #004-2-3_102_116 0,0,004-2,122,67
+004-2-3,69,62,0 warp #004-2-3_69_62 0,0,004-2,74,21
+004-2-3,108,66,0 warp #004-2-3_108_66 0,0,004-2,108,38
+004-2-3,135,66,0 warp #004-2-3_135_66 0,0,004-2,126,38
+004-2-3,97,48,0 warp #004-2-3_97_48 0,0,004-2,85,31
+004-2-3,124,47,0 warp #004-2-3_124_47 0,0,004-2,128,50
+004-2-3,87,42,0 warp #004-2-3_87_42 0,0,004-2,107,48
+004-2-3,49,32,0 warp #004-2-3_49_32 0,0,010-1,58,80
+004-2-3,95,31,0 warp #004-2-3_95_31 0,0,010-1,109,85
+004-2-3,65,25,0 warp #004-2-3_65_25 0,0,010-1,69,73
+004-2-3,135,57,0 warp #004-2-3_135_57 0,0,004-2-4,99,58
+004-2-3,72,28,0 warp #004-2-3_72_28 0,0,004-2-11,61,48
+004-2-3,74,97,0 warp #004-2-3_74_97 0,0,010-4-2,37,61
+004-2-3,114,42,0 warp #004-2-3_114_42 0,0,004-2,118,50
+004-2-3,102,61,0 warp #004-2-3_102_61 0,0,004-3-2,124,34
+004-2-3,61,88,0 warp #004-2-3_61_88 0,0,004-2-10,33,28
diff --git a/npc/004-2-4/_import.txt b/npc/004-2-4/_import.txt
new file mode 100644
index 0000000..d3ca214
--- /dev/null
+++ b/npc/004-2-4/_import.txt
@@ -0,0 +1,4 @@
+// Map 004-2-4: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-2-4/_mobs.txt",
+"npc/004-2-4/_warps.txt",
diff --git a/npc/004-2-4/_mobs.txt b/npc/004-2-4/_mobs.txt
new file mode 100644
index 0000000..5e048e9
--- /dev/null
+++ b/npc/004-2-4/_mobs.txt
@@ -0,0 +1,17 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-4: Canyon Cave mobs
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-4: Canyon Cave mobs
+004-2-4,34,41,4,3 monster Desert Maggot 1083,2,35000,150000
+004-2-4,124,83,4,2 monster Maggot 1030,2,35000,150000
+004-2-4,0,0,0,0 monster Cave Maggot 1027,70,35000,150000
+004-2-4,135,71,4,2 monster Maggot 1030,2,35000,150000
+004-2-4,71,45,23,5 monster Scorpion 1071,8,35000,150000
+004-2-4,120,42,24,15 monster Snake 1122,8,35000,150000
+004-2-4,91,66,55,7 monster Black Scorpion 1074,7,35000,150000
+004-2-4,98,40,10,6 monster Bat 1039,1,35000,150000
+004-2-4,68,83,15,15 monster Angry Scorpion 1131,9,35000,150000
+004-2-4,49,55,13,5 monster Old Snake 1122,1,35000,150000
+004-2-4,135,82,1,7 monster Old Snake 1122,1,35000,150000
+004-2-4,125,92,11,2 monster Old Snake 1122,1,35000,150000
+004-2-4,0,0,0,0 monster Ruby Bif 1099,3,35000,150000
diff --git a/npc/004-2-4/_warps.txt b/npc/004-2-4/_warps.txt
new file mode 100644
index 0000000..05dd3ae
--- /dev/null
+++ b/npc/004-2-4/_warps.txt
@@ -0,0 +1,12 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-4: Canyon Cave warps
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-4: Canyon Cave warps
+004-2-4,34,45,0 warp #004-2-4_34_45 1,0,010-1,52,94
+004-2-4,124,86,0 warp #004-2-4_124_86 0,0,004-2,132,57
+004-2-4,134,24,0 warp #004-2-4_134_24 0,0,010-1-1,151,121
+004-2-4,135,69,0 warp #004-2-4_135_69 0,0,004-2,139,32
+004-2-4,103,21,0 warp #004-2-4_103_21 0,0,010-1-1,116,121
+004-2-4,99,59,0 warp #004-2-4_99_59 0,0,004-2-3,135,58
+004-2-4,118,42,0 warp #004-2-4_118_42 0,0,010-1-12,35,29
+004-2-4,121,20,0 warp #004-2-4_121_20 0,0,010-1-2,46,109
diff --git a/npc/004-2-5/_import.txt b/npc/004-2-5/_import.txt
new file mode 100644
index 0000000..2ca65f7
--- /dev/null
+++ b/npc/004-2-5/_import.txt
@@ -0,0 +1,4 @@
+// Map 004-2-5: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-2-5/_mobs.txt",
+"npc/004-2-5/_warps.txt",
diff --git a/npc/004-2-5/_mobs.txt b/npc/004-2-5/_mobs.txt
new file mode 100644
index 0000000..c6205b0
--- /dev/null
+++ b/npc/004-2-5/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-5: Canyon Cave mobs
+004-2-5,42,38,14,11 monster Old Snake 1199,1,35000,150000
+004-2-5,39,33,9,7 monster Bat 1039,2,35000,150000
+004-2-5,69,50,4,2 monster Little Blub 1007,1,35000,150000
+004-2-5,0,0,0,0 monster Cave Maggot 1027,8,35000,150000
+004-2-5,53,49,4,2 monster Maggot 1030,2,35000,150000
+004-2-5,65,54,9,6 monster Plushroom Field 1011,1,35000,150000
diff --git a/npc/004-2-5/_warps.txt b/npc/004-2-5/_warps.txt
new file mode 100644
index 0000000..635af5e
--- /dev/null
+++ b/npc/004-2-5/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-5: Canyon Cave warps
+004-2-5,53,46,0 warp #004-2-5_53_46 0,0,004-2,146,84
+004-2-5,55,34,0 warp #004-2-5_55_34 0,0,004-2-8,57,21
+004-2-5,35,53,0 warp #004-2-5_35_53 0,0,004-2-7,39,21
diff --git a/npc/004-2-6/_import.txt b/npc/004-2-6/_import.txt
new file mode 100644
index 0000000..b96bb82
--- /dev/null
+++ b/npc/004-2-6/_import.txt
@@ -0,0 +1,4 @@
+// Map 004-2-6: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-2-6/_mobs.txt",
+"npc/004-2-6/_warps.txt",
diff --git a/npc/004-2-6/_mobs.txt b/npc/004-2-6/_mobs.txt
new file mode 100644
index 0000000..10b1eea
--- /dev/null
+++ b/npc/004-2-6/_mobs.txt
@@ -0,0 +1,9 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-6: Canyon Cave mobs
+004-2-6,0,0,0,0 monster Cave Maggot 1027,16,35000,150000
+004-2-6,71,33,12,11 monster Moutain Snake 1123,1,35000,150000
+004-2-6,56,33,25,8 monster Snake 1122,5,35000,150000
+004-2-6,34,31,3,3 monster Scorpion 1071,1,35000,150000
+004-2-6,34,24,4,2 monster Maggot 1030,2,35000,150000
+004-2-6,83,42,4,2 monster Maggot 1030,2,35000,150000
+004-2-6,0,0,0,0 monster Small Sapphire Bif 1113,1,35000,150000
diff --git a/npc/004-2-6/_warps.txt b/npc/004-2-6/_warps.txt
new file mode 100644
index 0000000..d3d53d4
--- /dev/null
+++ b/npc/004-2-6/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-6: Canyon Cave warps
+004-2-6,34,21,0 warp #004-2-6_34_21 0,0,004-2,110,93
+004-2-6,84,44,0 warp #004-2-6_84_44 0,0,004-2,145,104
+004-2-6,77,21,0 warp #004-2-6_77_21 0,0,004-2-7,51,38
diff --git a/npc/004-2-7/_import.txt b/npc/004-2-7/_import.txt
new file mode 100644
index 0000000..43ce948
--- /dev/null
+++ b/npc/004-2-7/_import.txt
@@ -0,0 +1,4 @@
+// Map 004-2-7: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-2-7/_mobs.txt",
+"npc/004-2-7/_warps.txt",
diff --git a/npc/004-2-7/_mobs.txt b/npc/004-2-7/_mobs.txt
new file mode 100644
index 0000000..705fcc9
--- /dev/null
+++ b/npc/004-2-7/_mobs.txt
@@ -0,0 +1,7 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-7: Canyon Cave mobs
+004-2-7,0,0,0,0 monster Cave Maggot 1027,6,35000,150000
+004-2-7,46,29,11,7 monster Snake 1122,1,35000,150000
+004-2-7,45,29,15,6 monster Cave Snake 1035,2,35000,150000
+004-2-7,45,31,15,6 monster Bat 1039,6,35000,150000
+004-2-7,0,0,0,0 monster Topaz Bif 1102,1,35000,150000
diff --git a/npc/004-2-7/_warps.txt b/npc/004-2-7/_warps.txt
new file mode 100644
index 0000000..7d32f8c
--- /dev/null
+++ b/npc/004-2-7/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-7: Canyon Cave warps
+004-2-7,51,39,0 warp #004-2-7_51_39 0,0,004-2-6,77,22
+004-2-7,39,20,0 warp #004-2-7_39_20 0,0,004-2-5,35,52
+004-2-7,56,21,0 warp #004-2-7_56_21 0,0,004-2-8,47,40
diff --git a/npc/004-2-8/_import.txt b/npc/004-2-8/_import.txt
new file mode 100644
index 0000000..db0afcf
--- /dev/null
+++ b/npc/004-2-8/_import.txt
@@ -0,0 +1,4 @@
+// Map 004-2-8: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-2-8/_mobs.txt",
+"npc/004-2-8/_warps.txt",
diff --git a/npc/004-2-8/_mobs.txt b/npc/004-2-8/_mobs.txt
new file mode 100644
index 0000000..300108f
--- /dev/null
+++ b/npc/004-2-8/_mobs.txt
@@ -0,0 +1,7 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-8: Canyon Cave mobs
+004-2-8,0,0,0,0 monster Cave Maggot 1027,17,35000,150000
+004-2-8,40,72,4,2 monster Maggot 1030,2,35000,150000
+004-2-8,50,44,17,20 monster Angry Scorpion 1131,19,35000,150000
+004-2-8,36,45,5,20 monster Black Scorpion 1074,1,35000,150000
+004-2-8,0,0,0,0 monster Small Topaz Bif 1101,1,35000,150000
diff --git a/npc/004-2-8/_warps.txt b/npc/004-2-8/_warps.txt
new file mode 100644
index 0000000..2c528fe
--- /dev/null
+++ b/npc/004-2-8/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-8: Canyon Cave warps
+004-2-8,39,75,0 warp #004-2-8_39_75 0,0,004-2,141,114
+004-2-8,57,20,0 warp #004-2-8_57_20 0,0,004-2-5,55,33
+004-2-8,47,41,0 warp #004-2-8_47_41 0,0,004-2-7,56,22
diff --git a/npc/004-2-9/_import.txt b/npc/004-2-9/_import.txt
new file mode 100644
index 0000000..6ca7eff
--- /dev/null
+++ b/npc/004-2-9/_import.txt
@@ -0,0 +1,4 @@
+// Map 004-2-9: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-2-9/_mobs.txt",
+"npc/004-2-9/_warps.txt",
diff --git a/npc/004-2-9/_mobs.txt b/npc/004-2-9/_mobs.txt
new file mode 100644
index 0000000..13c4696
--- /dev/null
+++ b/npc/004-2-9/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-9: Canyon Cave mobs
+004-2-9,61,25,4,3 monster Desert Maggot 1083,2,35000,150000
+004-2-9,45,41,14,3 monster Bat 1039,1,35000,150000
+004-2-9,0,0,0,0 monster Cave Maggot 1027,6,35000,150000
+004-2-9,47,39,17,11 monster Old Snake 1199,1,35000,150000
+004-2-9,45,39,15,12 monster Cave Snake 1035,4,35000,150000
+004-2-9,0,0,0,0 monster Plushroom Field 1011,1,35000,150000
diff --git a/npc/004-2-9/_warps.txt b/npc/004-2-9/_warps.txt
new file mode 100644
index 0000000..f069f1c
--- /dev/null
+++ b/npc/004-2-9/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2-9: Canyon Cave warps
+004-2-9,61,21,0 warp #004-2-9_61_21 0,0,010-1,92,70
+004-2-9,46,32,0 warp #004-2-9_46_32 0,0,010-2-4,58,48
+004-2-9,36,57,0 warp #004-2-9_36_57 0,0,004-3-5,34,21
diff --git a/npc/004-2/_import.txt b/npc/004-2/_import.txt
new file mode 100644
index 0000000..7c8d017
--- /dev/null
+++ b/npc/004-2/_import.txt
@@ -0,0 +1,7 @@
+// Map 004-2: Desert Mountains
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-2/_mobs.txt",
+"npc/004-2/_warps.txt",
+"npc/004-2/mirio.txt",
+"npc/004-2/pachua.txt",
+"npc/004-2/sign.txt",
diff --git a/npc/004-2/_mobs.txt b/npc/004-2/_mobs.txt
new file mode 100644
index 0000000..b531f3e
--- /dev/null
+++ b/npc/004-2/_mobs.txt
@@ -0,0 +1,18 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2: Desert Mountains mobs
+004-2,0,0,0,0 monster Maggot 1030,100,35000,150000
+004-2,118,37,17,15 monster Scorpion 1071,14,35000,150000
+004-2,61,43,10,22 monster Scorpion 1071,6,35000,150000
+004-2,111,58,4,4 monster Mister Prickel 1436,1,35000,35000
+004-2,118,100,4,4 monster Snake 1122,3,35000,150000
+004-2,87,54,9,4 monster Snake 1199,1,35000,150000
+004-2,77,66,14,11 monster Scorpion 1071,8,35000,150000
+004-2,94,56,42,32 monster Desert Log Head 1127,30,35000,150000
+004-2,56,98,1,1 monster Duck 1029,1,35000,150000
+004-2,71,100,28,10 monster Red Scorpion 1072,10,35000,150000
+004-2,146,28,3,2 monster Yellow Slime 1091,1,35000,150000
+004-2,143,47,6,18 monster Scorpion 1071,9,35000,150000
+004-2,140,57,9,8 monster Snake 1122,2,35000,150000
+004-2,142,96,3,5 monster Mountain Snake 1123,1,35000,300000
+004-2,131,75,17,9 monster Snake 1122,3,35000,150000
+004-2,70,106,20,14 monster Mister Prickel 1436,5,35000,35000
diff --git a/npc/004-2/_warps.txt b/npc/004-2/_warps.txt
new file mode 100644
index 0000000..31f2d88
--- /dev/null
+++ b/npc/004-2/_warps.txt
@@ -0,0 +1,43 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-2: Desert Mountains warps
+004-2,117,54,0 warp #004-2_117_54 0,0,004-2-1,38,42
+004-2,116,27,0 warp #004-2_116_27 0,0,004-2-1,57,22
+004-2,30,51,0 warp #004-2_30_51 0,2,004-1,125,95
+004-2,121,27,0 warp #004-2_121_27 0,0,004-2-2,36,77
+004-2,94,80,0 warp #004-2_94_80 0,0,004-2-3,87,95
+004-2,147,60,0 warp #004-2_147_60 0,0,004-2-3,123,77
+004-2,132,56,0 warp #004-2_132_56 0,0,004-2-4,124,85
+004-2,144,25,0 warp #004-2_144_25 0,0,010-4-2,87,41
+004-2,144,52,0 warp #004-2_144_52 0,0,004-2-3,135,114
+004-2,90,61,0 warp #004-2_90_61 0,0,004-2-3,58,126
+004-2,113,120,0 warp #004-2_113_120 0,0,004-3-2,83,63
+004-2,86,116,0 warp #004-2_86_116 0,0,004-3-2,59,54
+004-2,60,126,0 warp #004-2_60_126 0,0,004-3-1,68,32
+004-2,53,103,0 warp #004-2_53_103 0,0,004-3-1,70,24
+004-2,53,88,0 warp #004-2_53_88 0,0,004-3,53,41
+004-2,63,88,0 warp #004-2_63_88 0,0,004-3,63,41
+004-2,81,93,0 warp #004-2_81_93 0,0,004-3-2,44,37
+004-2,73,89,0 warp #004-2_73_89 0,0,010-2-8,37,21
+004-2,68,124,0 warp #004-2_68_124 0,0,010-2-8,32,62
+004-2,51,111,0 warp #004-2_51_111 0,0,004-2-12,52,34
+004-2,48,59,0 warp #004-2_48_59 0,0,007-1-1,56,35
+004-2,110,92,0 warp #004-2_110_92 0,0,004-2-6,34,22
+004-2,119,107,0 warp #004-2_119_107 0,0,004-3-2,95,51
+004-2,145,103,0 warp #004-2_145_103 0,0,004-2-6,84,43
+004-2,122,66,0 warp #004-2_122_66 0,0,004-2-3,102,115
+004-2,85,30,0 warp #004-2_85_30 0,0,004-2-3,97,47
+004-2,74,20,0 warp #004-2_74_20 0,0,004-2-3,69,61
+004-2,108,37,0 warp #004-2_108_37 0,0,004-2-3,108,67
+004-2,126,37,0 warp #004-2_126_37 0,0,004-2-3,135,65
+004-2,118,49,0 warp #004-2_118_49 0,0,004-2-3,114,43
+004-2,107,47,0 warp #004-2_107_47 0,0,004-2-3,87,43
+004-2,128,49,0 warp #004-2_128_49 0,0,004-2-3,124,48
+004-2,142,77,0 warp #004-2_142_77 0,0,004-2-1,87,69
+004-2,146,85,0 warp #004-2_146_85 0,0,004-2-5,53,47
+004-2,141,113,0 warp #004-2_141_113 0,0,004-2-8,39,74
+004-2,81,71,0 warp #004-2_81_71 0,0,004-2-1,33,63
+004-2,85,49,0 warp #004-2_85_49 0,0,007-1-2,50,53
+004-2,92,33,0 warp #004-2_92_33 0,0,007-1-2,56,27
+004-2,139,31,0 warp #004-2_139_31 0,0,004-2-4,135,70
+004-2,45,98,0 warp #004-2_45_98 0,0,004-3-6,45,58
+004-2,104,93,0 warp #004-2_104_93 0,0,004-3-2,74,41
diff --git a/npc/004-2/mirio.txt b/npc/004-2/mirio.txt
new file mode 100644
index 0000000..4c149eb
--- /dev/null
+++ b/npc/004-2/mirio.txt
@@ -0,0 +1,230 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Part of Speed Run Quest
+// Structure:
+// HalinarzoQuest_Speed( state, time, record )
+
+004-2,146,115,0 script Mirio NPC_INDIGENOUS_YOUNG,1,1,{
+ function neutral;
+ function naked;
+ function disarmed;
+ function hungry;
+ function speed;
+ function start;
+ function slow;
+ function running;
+ function restricted;
+ function retry;
+ .@q = getq(HalinarzoQuest_Speed);
+ .@t = getq2(HalinarzoQuest_Speed);
+ .@r = getq3(HalinarzoQuest_Speed);
+ if (BaseLevel < 40) neutral();
+ if (getequipid(EQI_HEAD_MID) < 1) naked();
+ if (getequipid(EQI_HEAD_TOP) < 1) naked();
+ if (getequipid(EQI_HAND_R) < 1) disarmed();
+ if (getequipid(EQI_HAND_L) < 1) disarmed();
+ if (@pachua) running();
+ if (.@q <= 0) hungry();
+ if (.@q == 1) speed();
+ if (.@q < 10) retry();
+ neutral();
+ close;
+
+function neutral {
+ mesn;
+ mesq l("Howdy! Pachua and I scout this canyon to protect our clan. I acknowledge only those whom are fast like the wind! I would love to challenge you for a race... But not today.");
+ close;
+}
+
+function naked {
+ mesn;
+ mesq l("...I know it is hot in this desert, but if you don't wear some armor and a hat, monsters will get to you. Really harsh, nowadays.");
+ close;
+}
+
+function disarmed {
+ .@pn$ = lg("girl", "dude");
+ mesn;
+ mesq l("...%s, as far as you should be concerned, this is an hostile land and I'm not your friend. You should use a weapon and a shield if possible. Never trust strangers, specially if they look like an assassin... exactly like me.", .@pn$);
+ close;
+}
+
+function slow {
+ mesn;
+ mesq l("...Try allocating some points in agility before we continue. I think %d should be suffice.", getarg(0, 40));
+ close;
+}
+
+function restricted {
+ mesn;
+ mesq l("Sorry, but this quest cannot be done by staff.");
+ close;
+}
+
+function hungry {
+ .@pn$ = lg("gal", "pal");
+ mesn;
+ mesq l("Howdy, partner! Man, you have no idea how I'm hungry. Been scouting this canyon for weeks, under the scorching sun, and there's only snake meat to eat... I'm get tired of this repulsive stuff.");
+ next;
+ mesn;
+ mesq l("So let's strike a deal, bring me %d %s, %d %s, %d %s, and a %s. I'll reward you, promise.",
+ 10, getitemlink(LettuceLeaf),
+ 5, getitemlink(Cheese),
+ 2, getitemlink(TonoriDelight),
+ getitemlink(HalfCroconut));
+ next;
+ select
+ l("Sure, I'll be back."),
+ l("I have everything you asked me.");
+ mes "";
+ if (@menu == 1) closeclientdialog;
+ if (@menu == 2) {
+ if (countitem(LettuceLeaf) < 10 ||
+ countitem(Cheese) < 5 ||
+ countitem(TonoriDelight) < 2 ||
+ countitem(HalfCroconut) < 1) {
+ mesc l("A dagger is stuck to your heart."), 1;
+ mesn;
+ mesq l("Told ya, %s, should know better than to mess with an... assassin!", .@pn$);
+ percentheal -100, 0;
+ close;
+ }
+ inventoryplace CaveSnakeSkin, 1, SnakeSkin, 1;
+ delitem LettuceLeaf, 10;
+ delitem Cheese, 5;
+ delitem TonoriDelight, 2;
+ delitem HalfCroconut, 1;
+ getitem SnakeSkin, 1;
+ getitem CaveSnakeSkin, 1;
+ setq HalinarzoQuest_Speed, 1;
+ mesn;
+ mesq l("Ah, good. You didn't even bother poisoning it? Hahah, that's great, %s! Here is a couple skins I had lying around, may be useful.", .@pn$);
+ next;
+ mesn;
+ mesq l("How about this, I can teach you how to be a tiny bit faster, so you can use heavier armor. I'll even give you a discount. Give it some thought, come back to me after you make up your mind.");
+ }
+ close;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+function speed {
+ if (is_staff() && !$@GM_OVERRIDE && !debug) restricted();
+ if (readparam2(bAgi) < 40) slow();
+ mesn;
+ mesq l("Have you thought on my proposal? I'll only charge you %d GP or a %s for each attempt made.", .price, getitemlink(.alt));
+ next;
+ select
+ l("Not now, thanks."),
+ rif(Zeny >= .price, l("I'll pay the GP.")),
+ rif(countitem(.alt), l("I'll give you the item."));
+ mes "";
+ if (@menu == 1) close;
+ if (@menu == 2) Zeny -= .price;
+ if (@menu == 3) delitem .alt, 1;
+ start();
+ return;
+}
+
+function start {
+ mesn;
+ mesq l("Great! It is simple, really. Pachua and I are scouting the desert. Run as fast as you can to Pachua, and then run back here. Pachua will send a smoke signal when you talk to him, so I'll know you haven't cheated.");
+ next;
+ mesn;
+ mesq l("Try to make a good time, and... Good luck! On my signal, 3, 2, 1...");
+ next;
+ setq2 HalinarzoQuest_Speed, gettimetick(2) + 1; // Grace time due @refresh
+ @pachua = 1;
+ slide 146, 115;
+ closeclientdialog;
+ // META: How they know your name? ...Via label, obviously.
+ npctalk3 l("GO! Run, %s, RUN!!!!", strcharinfo(0));
+ atcommand("@refresh");
+ close;
+}
+
+function running {
+ if (@pachua < 2) {
+ npctalk3 l("What are you waiting for?! Get running, Pachua is waiting!");
+ closeclientdialog;
+ close;
+ }
+ // Pachua == 2, completed the run
+ .@to = getq2(HalinarzoQuest_Speed);
+ .@q = getq(HalinarzoQuest_Speed);
+ .@t = gettimetick(2) - .@to;
+ .@r = getq3(HalinarzoQuest_Speed);
+ @pachua = 0;
+ mesn;
+ mesq l("...And stop! You took %s this time!", FuzzyTime(.@to));
+ if (.@t < 15) {
+ mesc l("That's obviously impossible, so I'll voiding your result!");
+ close;
+ }
+ if (.@t < .@r) {
+ mesc l("That's %d seconds better than your previous record!", .@r - .@t);
+ }
+ if (!.@r || .@t < .@r)
+ setq3 HalinarzoQuest_Speed, .@t;
+ setq2 HalinarzoQuest_Speed, 0;
+ next;
+ // Condition
+ .@g = 320 - (.@q * 20);
+ if (.@t > .@g) {
+ mesn;
+ mesq l("You took more than %s to do this, that is lame! Better luck next time.", FuzzyTime(.@g));
+ // Consolation Prize
+ if (.@t < 450) {
+ next;
+ mesn;
+ mesq l("...Well, I'll refund you 10% because it was not utterly terrible.");
+ Zeny += .price / 10;
+ }
+ // MISSION FAILED
+ mesc l("RACE FAILED."), 1;
+ close;
+ }
+ // Ooh, you did it!
+ setq1 HalinarzoQuest_Speed, .@q + 1;
+ getexp 2500, 0;
+ mesn;
+ mesq l("I'm proud of you!");
+ if (getq(HalinarzoQuest_Speed) < 10)
+ mesc l("Feel free to try again whenever.");
+ close;
+}
+
+function retry {
+ if (is_staff() && !$@GM_OVERRIDE && !debug) restricted;
+ .@q = getq(HalinarzoQuest_Speed);
+ .@p = .price * .@q;
+ .@s = 40 + (.@q * 5);
+ if (readparam2(bAgi) < .@s) slow(.@s);
+ mesn;
+ mesq l("To retry, I will charge you %d GP or %d %s for each attempt made. You'll have less time to finish as well.", .@p, .@q * 2, getitemlink(.alt));
+ next;
+ select
+ l("Not now, thanks."),
+ rif(Zeny >= .@p, l("I'll pay the GP.")),
+ rif(countitem(.alt) >= .@q * 2, l("I'll give you the item."));
+ mes "";
+ if (@menu == 1) close;
+ if (@menu == 2) Zeny -= .@p;
+ if (@menu == 3) delitem .alt, .@q * 2;
+ start();
+ return;
+}
+
+OnTouch:
+ if (@pachua) running();
+ end;
+
+OnInit:
+ .distance = 4;
+ .sex = G_MALE;
+ .price = 320;
+ .alt = TonoriDelight;
+ end;
+}
+
diff --git a/npc/004-2/pachua.txt b/npc/004-2/pachua.txt
new file mode 100644
index 0000000..b196bfd
--- /dev/null
+++ b/npc/004-2/pachua.txt
@@ -0,0 +1,49 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Part of Speed Run Quest, and an unplanned assassin quest.
+
+004-2,61,118,0 script Pachua NPC_INDIGENOUS_OLD,1,1,{
+ if (@pachua == 1) goto OnTouch;
+ mesn;
+ mesq l("Howdy! Mirio and I scout this canyon to protect our clan. I am also a retired assassin, maybe someday I can exchange some knowledge with you! Hahaha!");
+ if (getq(LoFQuest_EPISODE) == 9 &&
+ countitem(Honey) >= 10 &&
+ countitem(ElixirOfLife)) {
+ next;
+ select
+ l("Nice."),
+ l("[10x Honey, 1x Elixir of Life] The Shadow Tortuga won the race against the Panthom Lord.");
+ mes "";
+ if (@menu == 2) {
+ mesc l("%s lifts an eyebrow to you.", .name$);
+ next;
+ inventoryplace ArcmageBoxset, 1;
+ mesn;
+ mesq l("So they need me again. Alright. Tell them the following:");
+ mes b(l("The crow took off to his last flight."));
+ next;
+ delitem Honey, 10;
+ delitem ElixirOfLife, 1;
+ getitem ArcmageBoxset, 1;
+ setq LoFQuest_EPISODE, 10;
+ mesn;
+ mesq l("And you, take this %s. It is a reward for doing the dirty job. You would think old age would let you retire, hahaha!", getitemlink(ArcmageBoxset));
+ close;
+ }
+ }
+ close;
+
+OnTouch:
+ if (@pachua != 1) end;
+ message strcharinfo(0), "Pachua quickly inhales from his pipe and releases a ring of smoke towards the sky!";
+ @pachua = 2;
+ end;
+
+OnInit:
+ .distance = 4;
+ .sex = G_MALE;
+ end;
+}
+
diff --git a/npc/004-2/sign.txt b/npc/004-2/sign.txt
new file mode 100644
index 0000000..46a2e75
--- /dev/null
+++ b/npc/004-2/sign.txt
@@ -0,0 +1,48 @@
+// TMW2 Script.
+// Author:
+// Jesusalva
+// Description:
+// Error Handler
+
+004-2,64,63,0 script Sign#HalinRoute NPC_SWORDS_SIGN,{
+ mesc "↠"+l("Tulimshar");
+ mesc "→ "+l("Canyon - Safe Route");
+ mesc "↓ "+l("Canyon - Settlement Route");
+ mes "";
+ mesc l("\"Follow the light.\" - Weary traveler");
+ mesc l("\"Those whom believe the Pink Moouboo wear rock knifes at the entrances.\" - Aahna");
+ mesc l("\"Those whom stray from the light shall met a quick death.\" - Saulc, from the 'Blame Saulc' famous book"), 1;
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
+004-2,81,23,0 script Sign#TempBugfix NPC_SWORDS_SIGN,{
+ if (countitem(DesertTablet)) goto L_Tablet;
+ if (MAGIC_LVL >= 7) goto L_RawPower;
+ mesc l("Impossible to read.");
+ close;
+
+L_Tablet:
+ mes l("The %s shines with a strange light...", getitemlink(DesertTablet));
+ next;
+ closeclientdialog;
+ cwarp "001-3", 117, 135;
+ close;
+
+L_RawPower:
+ mes l("You can sense powerful cloaking magic emanating from this sign. With your superior magic, you dismiss the enchantment, and see what the cliffs have been hiding all along...");
+ next;
+ closeclientdialog;
+ cwarp "001-3", 117, 135;
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
diff --git a/npc/004-3-1/_import.txt b/npc/004-3-1/_import.txt
new file mode 100644
index 0000000..f5cd5a7
--- /dev/null
+++ b/npc/004-3-1/_import.txt
@@ -0,0 +1,5 @@
+// Map 004-3-1: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-3-1/_mobs.txt",
+"npc/004-3-1/_warps.txt",
+"npc/004-3-1/falkrun.txt",
diff --git a/npc/004-3-1/_mobs.txt b/npc/004-3-1/_mobs.txt
new file mode 100644
index 0000000..94df09c
--- /dev/null
+++ b/npc/004-3-1/_mobs.txt
@@ -0,0 +1,9 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-3-1: Canyon Cave mobs
+004-3-1,69,31,4,2 monster Maggot 1030,2,35000,150000
+004-3-1,69,22,4,2 monster Maggot 1030,2,35000,150000
+004-3-1,70,36,14,7 monster Scorpion 1071,2,35000,150000
+004-3-1,0,0,0,0 monster Cave Maggot 1027,1,35000,150000
+004-3-1,38,34,8,9 monster Little Blub 1007,6,35000,150000
+004-3-1,60,23,11,3 monster Red Scorpion 1072,1,35000,150000
+004-3-1,45,32,15,12 monster Plushroom Field 1011,2,35000,150000
diff --git a/npc/004-3-1/_warps.txt b/npc/004-3-1/_warps.txt
new file mode 100644
index 0000000..d7eb1bc
--- /dev/null
+++ b/npc/004-3-1/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-3-1: Canyon Cave warps
+004-3-1,70,25,0 warp #004-3-1_70_25 0,0,004-2,53,104
+004-3-1,68,33,0 warp #004-3-1_68_33 0,0,004-2,60,127
diff --git a/npc/004-3-1/falkrun.txt b/npc/004-3-1/falkrun.txt
new file mode 100644
index 0000000..75d16a9
--- /dev/null
+++ b/npc/004-3-1/falkrun.txt
@@ -0,0 +1,200 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Part of the Doctor's Quest. Lore Master. Saulc's Residence Gatekeeper.
+
+004-3-1,37,23,0 script Falkrun NPC_INDIGENOUS_ANY,{
+ if (instance_id() >= 0) goto L_Episode;
+ mesn;
+ mesq l("Howdy! Lately I feel like a placeholder, just surviving on these harsh lands.");
+ next;
+L_Main:
+ // He needs to explain the Civil War and the Great Fire for Doctor's Quest
+ mesn;
+ mesq l("Our clan has moved away from Tulimshar before the Civil War, almost was wiped off during the Great Fire, and when we thought we could finally life in peace, the Mana War and the Monster War broke out in rapid succession."); // Hence, TMW2
+ next;
+ mesn;
+ mesq l("I don't know if our clan will survive for much longer. Do you have any questions before we all die and our knowledge gets forgotten?");
+ next;
+ .@hist = 0;
+ do
+ {
+ select
+ l("No, none."),
+ l("Tell me about the Civil War."),
+ l("Tell me about the Great Fire."),
+ l("Tell me about the Mana War."),
+ l("Tell me about the Monster War."),
+ rif(.@hist == 15, l("What happened to the Wizard's Tower?"));
+ mes "";
+ switch (@menu) {
+ case 2:
+ mesn;
+ mesq l("The Civil War is one of the stuff which nearly everyone forgot about.");
+ next;
+ mesn;
+ mesq l("Jarret, Tulimshar's Founder, was a great man, but his successors were not. Specially the Red Queen. Eventually, our clan had enough and moved away from Tulim.");
+ next;
+ mesn;
+ mesq l("She was a tyrant who wanted to rule over not only Tulimshar, but the whole mana world, with an iron fist. She even charged her own premier of treason and tried to execute him.");
+ next;
+ mesn;
+ mesq l("The council, however, supported the premier. He might have accepted the death sentence quietly, but the council would hear none of it. Benjamin took over and incited a civil war.");
+ next;
+ mesn;
+ mesq l("The Red Queen was murdered, but her supporters prolonged the Civil War for at least six years after her death. The grudges were strong back then...");
+ next;
+ .@hist = .@hist | 1;
+ break;
+ case 3:
+ mesn;
+ mesq l("You see, Benjamin wanted to reshape the world. Very ambitious plans, which would have been great... If they had prospered.");
+ next;
+ mesn;
+ mesq l("Tulimshar spent trillions in research, and so did Hurnscald and Nivalis. Everything else was neglected. Eventually, some highly experimental tech experiment went haywire.");
+ next;
+ mesn;
+ mesq l("A fire broke out in Tulimshar's Academy, which quickly spread over the whole town... And you would think it would be all, but no. The fire was odd.");
+ next;
+ mesn;
+ mesq l("Instead of burning the town to a crisp, it moved to the canyon. Passed through the scarce vegetation until it arrived Hurnscald... And burned it down.");
+ next;
+ mesn;
+ mesq l("And by \"moved to the canyon\", I do mean it destroyed the little which kept our community alive back then. I heard the fire even moved to the icelands and burned everything on the path until it died at the frozen sea, but that would be too far for I know.");
+ next;
+ mesn;
+ mesq l("The great fire did very few causalities, but it destroyed a lot of infrastructure and ruined the economy. Famine and chaos ensued, we almost were wiped out back then. Maybe it would be best if we had indeed been wiped out...");
+ next;
+ .@hist = .@hist | 2;
+ break;
+ case 4:
+ mesn;
+ mesq l("As you might know, the Great Fire ruined the whole world. Many people wanted to escape the wastelands which the continent had became, so they made convoys and left to the great sea.");
+ next;
+ mesn;
+ mesq l("Such convoys had been made since the Civil War, after all, many feared the Red Queen and moving to the sea was a sure way to stay out of her reach. None had ever heard again of them...");
+ next;
+ mesn;
+ mesq l("...Until one day, past the sea, in Kolev's continent, they found a mana stone. Magic. This great breakthrough saved this continent, and saved our clan as well.");
+ next;
+ mesn;
+ mesq l("An academy was built north of Tulimshar, and later, the Land of Fire Village was also built, symbol of progress, development and research.");
+ next;
+ mesn;
+ mesq l("Which sound great in theory, but it was not. Greedy people found a way into power. They probably had good reasons, but they started confiscating Mana Stones, and storing them in a tower...");
+ next;
+ mesn;
+ mesq l("...A tower, on this canyon. People disliked it, humans and all other races. The Mana War happened, bloodshed, and... The Monster War.");
+ next;
+ .@hist = .@hist | 4;
+ break;
+ case 5:
+ mesn;
+ mesq l("The Monster War broke out on the very last day of the Mana War. A high council of Tulimshar had set a fortress and storage towers in the canyon, and a few populists went to war.");
+ next;
+ mesn;
+ mesq l("At the last day, an earthquake happened. And then, monsters started showing up everywhere. Immortal monsters, which come back after killed, as if they had touched the Soul Menhir.");
+ next;
+ mesn;
+ mesq l("And thus, the longest war begun... And our clan was wiped out. Pachua, Mirio, I, Melune and Darug are the last ones. Oh, and Andra, I guess?");
+ next;
+ mesn;
+ mesq l("The clan will end on this generation. And hopefully, the world will survive longer, things aren't looking well right now.");
+ next;
+ .@hist = .@hist | 8;
+ break;
+ case 6:
+ mesn;
+ mesq l("Mhm? I believe it was rebuilt, and the High Alliance took it over from the mage association for not paying taxes.");
+ next;
+ mesn;
+ mesq l("It is a magical tower, though, cloaked in the desert. You can't just walk there. The tower was north of here, you will find a sign near the gate... But you won't find the gate itself.");
+ next;
+ mesn;
+ mesq l("Maybe, if you had some sort of ancient artifact and touched the sign, it would allow you to see through the cloaking? Or if you were powerful enough. As if I would know!");
+ next;
+ break;
+ }
+ } while (@menu != 1);
+ close;
+
+L_Episode:
+ if (getq(LoFQuest_EPISODE) != 11)
+ goto L_Main;
+ if (getq3(LoFQuest_EPISODE) &&
+ mobcount(getmap(), "all") <= 0)
+ goto L_EpFinish;
+ if (getq3(LoFQuest_EPISODE) &&
+ mobcount(getmap(), "all") > 0) {
+ npctalk l("Good luck, %s! There are more monsters nearby!", strcharinfo(0));
+ end;
+ }
+ setq3 LoFQuest_EPISODE, 1;
+ mesn;
+ mesq l("Uh? What are you doing here?!");
+ next;
+ select
+ l("I don't know?"),
+ l("How did I got here?"),
+ l("Who are you?");
+ mes "";
+ mesn;
+ mesq l("What have you done?! We're under attack!");
+ next;
+ mesn;
+ mesq l("Quick, battle position! They'll strike! I'll help you a tiny bit!");
+ mesc l("WARNING: You have a time limit!"), 1;
+ next;
+ changeplayermusic "let_the_battles_begin.ogg";
+ instance_set_timeout(900, 900, getq2(LoFQuest_EPISODE));
+ SC_Bonus(90, SC_INCHITRATE, 50);
+ SC_Bonus(90, SC_INCMHPRATE, 65);
+ SC_Bonus(90, SC_KAIZEL, 80);
+ percentheal 100, 100;
+ .@m$ = getmap();
+ // FIXME TODO - TOO DIFFICULT, split them a bit apart
+ monster(.@m$, 47, 41, "Lost", BlueSlimeMother, 1);
+ monster(.@m$, 45, 31, "Lost", CopperSlimeMother, 1);
+ monster(.@m$, 43, 32, "Lost", YellowSlimeMother, 1);
+ monster(.@m$, 44, 32, "Lost", RedSlimeMother, 1);
+ monster(.@m$, 61, 21, "Lost", ChocolateSlimeMother, 1);
+ monster(.@m$, 45, 33, "Lost", WhiteSlimeMother, 1);
+ monster(.@m$, 43, 34, "Lost", AzulSlimeMother, 1);
+ monster(.@m$, 65, 40, "Lost", SeaSlimeMother, 1);
+ monster(.@m$, 45, 35, "Lost", GreenSlimeMother, 1);
+ //monster(.@m$, 47, 35, "Lost", LavaSlimeMother, 1);
+ monster(.@m$, 68, 30, "Lost", Thug, 1);
+ monster(.@m$, 70, 22, "Lost", Thug, 1);
+ monster(.@m$, 74, 42, "Lost", Thug, 1);
+ closeclientdialog;
+ close;
+
+L_EpFinish:
+ // Cleanup
+ instance_set_timeout(900, 900, getq2(LoFQuest_EPISODE));
+ enablenpc instance_npcname("#004-3-1_70_25", getq2(LoFQuest_EPISODE));
+ enablenpc instance_npcname("#004-3-1_68_33", getq2(LoFQuest_EPISODE));
+ if (CHEST_MONEY) {
+ mesc l("You were refunded in %s GP!", fnum(CHEST_MONEY));
+ Zeny+=CHEST_MONEY;
+ CHEST_MONEY=0;
+ }
+ setq LoFQuest_EPISODE, 12;
+ getitem SacredLifePotion, 10;
+ getitem SacredImmortalityPotion, 5;
+ getexp 60000, 0;
+ // Final dialog
+ mesn;
+ mesq l("Phew... We should be safe now. Thanks, %s!", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("...Even if this is your fault. Anyway, ##Breturn to whoever sent you here##b and begone.");
+ close;
+
+OnInit:
+ .distance = 4;
+ .sex = G_OTHER;
+ end;
+}
+
diff --git a/npc/004-3-2/_import.txt b/npc/004-3-2/_import.txt
new file mode 100644
index 0000000..60fe365
--- /dev/null
+++ b/npc/004-3-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 004-3-2: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-3-2/_mobs.txt",
+"npc/004-3-2/_warps.txt",
diff --git a/npc/004-3-2/_mobs.txt b/npc/004-3-2/_mobs.txt
new file mode 100644
index 0000000..99f6bb8
--- /dev/null
+++ b/npc/004-3-2/_mobs.txt
@@ -0,0 +1,19 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-3-2: Canyon Cave mobs
+004-3-2,0,0,0,0 monster Cave Maggot 1027,70,35000,150000
+004-3-2,83,61,4,2 monster Maggot 1030,2,35000,150000
+004-3-2,44,36,4,2 monster Maggot 1030,2,35000,150000
+004-3-2,123,103,5,2 monster Lost Ocean Croc 1133,1,35000,150000
+004-3-2,119,69,8,7 monster Little Blub 1007,7,35000,150000
+004-3-2,96,86,10,8 monster Blub 1008,1,35000,150000
+004-3-2,126,101,17,4 monster Blub 1008,1,35000,150000
+004-3-2,81,58,38,30 monster Angry Scorpion 1131,30,35000,150000
+004-3-2,124,52,12,25 monster Black Scorpion 1074,1,35000,150000
+004-3-2,85,58,51,35 monster Nigth Scorpion 1077,1,35000,150000
+004-3-2,64,55,24,10 monster Red scorpion 1072,8,35000,150000
+004-3-2,69,59,6,22 monster Bat 1039,2,35000,150000
+004-3-2,59,52,4,2 monster Maggot 1030,2,35000,150000
+004-3-2,74,39,4,2 monster Maggot 1030,2,35000,150000
+004-3-2,95,52,4,2 monster Maggot 1030,2,35000,150000
+004-3-2,112,84,23,20 monster Plushroom Field 1011,3,35000,150000
+004-3-2,0,0,0,0 monster Ruby Bif 1099,4,35000,150000
diff --git a/npc/004-3-2/_warps.txt b/npc/004-3-2/_warps.txt
new file mode 100644
index 0000000..1472cd0
--- /dev/null
+++ b/npc/004-3-2/_warps.txt
@@ -0,0 +1,13 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-3-2: Canyon Cave warps
+004-3-2,126,95,0 warp #004-3-2_126_95 0,0,010-2-12,39,21
+004-3-2,95,50,0 warp #004-3-2_95_50 0,0,004-2,119,106
+004-3-2,44,38,0 warp #004-3-2_44_38 0,0,004-2,81,94
+004-3-2,59,55,0 warp #004-3-2_59_55 0,0,004-2,86,117
+004-3-2,83,64,0 warp #004-3-2_83_64 0,0,004-2,113,121
+004-3-2,62,34,0 warp #004-3-2_62_34 0,0,004-3-3,61,28
+004-3-2,124,35,0 warp #004-3-2_124_35 0,0,004-2-3,102,62
+004-3-2,129,63,0 warp #004-3-2_129_63 0,0,004-3-4,83,21
+004-3-2,80,79,0 warp #004-3-2_80_79 0,0,004-3-4,33,39
+004-3-2,43,83,0 warp #004-3-2_43_83 0,0,004-2-12,36,51
+004-3-2,74,42,0 warp #004-3-2_74_42 0,0,004-2,104,94
diff --git a/npc/004-3-3/_import.txt b/npc/004-3-3/_import.txt
new file mode 100644
index 0000000..583e110
--- /dev/null
+++ b/npc/004-3-3/_import.txt
@@ -0,0 +1,4 @@
+// Map 004-3-3: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-3-3/_mobs.txt",
+"npc/004-3-3/_warps.txt",
diff --git a/npc/004-3-3/_mobs.txt b/npc/004-3-3/_mobs.txt
new file mode 100644
index 0000000..fcfdc87
--- /dev/null
+++ b/npc/004-3-3/_mobs.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-3-3: Canyon Cave mobs
+004-3-3,0,0,0,0 monster Cave Maggot 1027,7,35000,150000
+004-3-3,46,29,11,7 monster Scorpion 1071,14,35000,150000
+004-3-3,0,0,0,0 monster Plushroom Field 1011,1,35000,150000
diff --git a/npc/004-3-3/_warps.txt b/npc/004-3-3/_warps.txt
new file mode 100644
index 0000000..eaa2a51
--- /dev/null
+++ b/npc/004-3-3/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-3-3: Canyon Cave warps
+004-3-3,33,32,0 warp #004-3-3_33_32 0,0,004-3-6,61,47
+004-3-3,61,29,0 warp #004-3-3_61_29 0,0,004-3-2,62,35
diff --git a/npc/004-3-4/_import.txt b/npc/004-3-4/_import.txt
new file mode 100644
index 0000000..da511cd
--- /dev/null
+++ b/npc/004-3-4/_import.txt
@@ -0,0 +1,4 @@
+// Map 004-3-4: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-3-4/_mobs.txt",
+"npc/004-3-4/_warps.txt",
diff --git a/npc/004-3-4/_mobs.txt b/npc/004-3-4/_mobs.txt
new file mode 100644
index 0000000..c0368a1
--- /dev/null
+++ b/npc/004-3-4/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-3-4: Canyon Cave mobs
+004-3-4,59,29,21,10 monster Bat 1039,4,35000,150000
+004-3-4,60,29,31,10 monster Cave Snake 1035,2,35000,150000
+004-3-4,76,28,13,11 monster Black Scorpion 1074,1,35000,150000
+004-3-4,36,34,8,6 monster Angry Scorpion 1131,1,35000,150000
+004-3-4,0,0,0,0 monster Cave Maggot 1027,1,35000,150000
+004-3-4,0,0,0,0 monster Plushroom Field 1011,1,35000,150000
diff --git a/npc/004-3-4/_warps.txt b/npc/004-3-4/_warps.txt
new file mode 100644
index 0000000..7c34841
--- /dev/null
+++ b/npc/004-3-4/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-3-4: Canyon Cave warps
+004-3-4,33,40,0 warp #004-3-4_33_40 0,0,004-3-2,80,80
+004-3-4,83,20,0 warp #004-3-4_83_20 0,0,004-3-2,129,64
diff --git a/npc/004-3-5/_import.txt b/npc/004-3-5/_import.txt
new file mode 100644
index 0000000..933cc4c
--- /dev/null
+++ b/npc/004-3-5/_import.txt
@@ -0,0 +1,4 @@
+// Map 004-3-5: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-3-5/_mobs.txt",
+"npc/004-3-5/_warps.txt",
diff --git a/npc/004-3-5/_mobs.txt b/npc/004-3-5/_mobs.txt
new file mode 100644
index 0000000..580b6b3
--- /dev/null
+++ b/npc/004-3-5/_mobs.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-3-5: Canyon Cave mobs
+004-3-5,34,31,4,10 monster Angry Red Scorpion 1130,14,35000,150000
+004-3-5,0,0,0,0 monster Cave Maggot 1027,3,35000,150000
+004-3-5,0,0,0,0 monster Plushroom Field 1011,1,35000,150000
diff --git a/npc/004-3-5/_warps.txt b/npc/004-3-5/_warps.txt
new file mode 100644
index 0000000..20de5e4
--- /dev/null
+++ b/npc/004-3-5/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-3-5: Canyon Cave warps
+004-3-5,36,45,0 warp #004-3-5_36_45 0,0,007-1-2,48,21
+004-3-5,34,20,0 warp #004-3-5_34_20 0,0,004-2-9,36,56
diff --git a/npc/004-3-6/_import.txt b/npc/004-3-6/_import.txt
new file mode 100644
index 0000000..1c892a6
--- /dev/null
+++ b/npc/004-3-6/_import.txt
@@ -0,0 +1,4 @@
+// Map 004-3-6: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-3-6/_mobs.txt",
+"npc/004-3-6/_warps.txt",
diff --git a/npc/004-3-6/_mobs.txt b/npc/004-3-6/_mobs.txt
new file mode 100644
index 0000000..fc8b418
--- /dev/null
+++ b/npc/004-3-6/_mobs.txt
@@ -0,0 +1,7 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-3-6: Canyon Cave mobs
+004-3-6,45,42,11,14 monster Bat 1039,6,35000,150000
+004-3-6,42,49,12,8 monster Black Scorpion 1074,3,35000,150000
+004-3-6,0,0,0,0 monster Cave Maggot 1027,7,35000,150000
+004-3-6,49,38,15,15 monster Angry Scorpion 1131,6,35000,150000
+004-3-6,0,0,0,0 monster Topaz Bif 1102,1,35000,150000
diff --git a/npc/004-3-6/_warps.txt b/npc/004-3-6/_warps.txt
new file mode 100644
index 0000000..f0b1305
--- /dev/null
+++ b/npc/004-3-6/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-3-6: Canyon Cave warps
+004-3-6,42,20,0 warp #004-3-6_42_20 0,0,007-1-1,45,47
+004-3-6,61,48,0 warp #004-3-6_61_48 0,0,004-3-3,33,33
diff --git a/npc/004-3/_import.txt b/npc/004-3/_import.txt
new file mode 100644
index 0000000..7cabd31
--- /dev/null
+++ b/npc/004-3/_import.txt
@@ -0,0 +1,6 @@
+// Map 004-3: Pachua's Village
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-3/_mobs.txt",
+"npc/004-3/_warps.txt",
+"npc/004-3/darug.txt",
+"npc/004-3/melune.txt",
diff --git a/npc/004-3/_mobs.txt b/npc/004-3/_mobs.txt
new file mode 100644
index 0000000..579ebad
--- /dev/null
+++ b/npc/004-3/_mobs.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-3: Pachua's Village mobs
+004-3,57,39,8,2 monster Maggot 1030,2,35000,150000
+004-3,34,30,4,7 monster Ratto 1005,1,35000,150000
diff --git a/npc/004-3/_warps.txt b/npc/004-3/_warps.txt
new file mode 100644
index 0000000..f293db7
--- /dev/null
+++ b/npc/004-3/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-3: Pachua's Village warps
+004-3,53,42,0 warp #004-3_53_42 0,0,004-2,53,89
+004-3,63,42,0 warp #004-3_63_42 0,0,004-2,63,89
diff --git a/npc/004-3/darug.txt b/npc/004-3/darug.txt
new file mode 100644
index 0000000..badfd87
--- /dev/null
+++ b/npc/004-3/darug.txt
@@ -0,0 +1,26 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Part of Ancient Temple Quest
+
+004-3,81,22,0 script Darug NPC_INDIGENOUS_CHIEF,{
+ mesn;
+ mesq l("Greetings, traveler. I am Darug, chief of this clan.");
+ next;
+ mesn;
+ mesq l("Since the war outbreak, we have to keep moving constantly. Without strong walls to protect ourselves, though, our clan is on the verge of extinction.");
+ next;
+ mesn;
+ mesq l("We know a lot, but all this knowledge will part with us. We should not the only nomads, though. There should be nomads in Argaes, Kaizei, besides the citadels of Oceania and Volcania. Unfortunately, all of them are incommunicable. But so are us.");
+ next;
+ mesn;
+ mesq l("So, please, make the most of your stay and our leather works before this knowledge disappear from the world!");
+ close;
+
+OnInit:
+ .distance = 4;
+ .sex = G_MALE;
+ end;
+}
+
diff --git a/npc/004-3/melune.txt b/npc/004-3/melune.txt
new file mode 100644
index 0000000..0f498fc
--- /dev/null
+++ b/npc/004-3/melune.txt
@@ -0,0 +1,20 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Leatherwork: Cowboy Hats and Jeans Chaps. Mother of Nowhere Family.
+
+004-3,85,22,0 script Melune NPC_INDIGENOUS_WIFE,{
+ mesn;
+ mesq l("Greetings, traveler. My name is Melune, and I'm Darug's wife.");
+ next;
+ mesn;
+ mesq l("My children and grandchildren have all moved to the Land of Fire, so the amount of leatherwork I can offer you is limited.");
+ close;
+
+OnInit:
+ .distance = 4;
+ .sex = G_FEMALE;
+ end;
+}
+
diff --git a/npc/005-1-1/_import.txt b/npc/005-1-1/_import.txt
new file mode 100644
index 0000000..9430192
--- /dev/null
+++ b/npc/005-1-1/_import.txt
@@ -0,0 +1,3 @@
+// Map 005-1-1: Candor Island
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/005-1-1/main.txt",
diff --git a/npc/005-1-1/main.txt b/npc/005-1-1/main.txt
new file mode 100644
index 0000000..93db929
--- /dev/null
+++ b/npc/005-1-1/main.txt
@@ -0,0 +1,453 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Candor - Maggot Extermination Quest
+
+// Added for GonzoDark
+
+005-1-1,30,20,0 script Nylo#Marggo NPC_PLAYER,{
+ // Returns the crop ID to disable
+ // getcropid(x,y)
+ function getcropid {
+ .@x=getarg(0);
+ .@y=getarg(1);
+ .@w=12; // Width of a row
+ .@offx=23; // First X
+ .@offy=22; // First Y
+ .@i=0;
+ // 0 is: 23,22
+ // width: 35-23=12
+ // height is not relevant
+
+ // .@x / .@y
+ // .@w = 12
+ // .@i → Real value
+
+ // For each Y beyond .@offy we add .@w to i
+ .@i+=(.@y-.@offy)*.@w;
+ // Now we add any X beyond .@offx
+ .@i+=(.@x-.@offx);
+ // I don't know why this offset happens, but it happens
+ .@i+=(.@y-.@offy);
+ // Do not go out of scope if maggot wander outside the area
+ return(sprintf("%03d", max(0, min(.@i, 168))));
+ }
+
+ npctalk l("Go kill the maggots!");
+ end;
+
+OnStart:
+ //initnpctimer;
+ if ($@GM_OVERRIDE) {
+ addtimer(400, "Nylo#Marggo::OnTimer55000");
+ addtimer(5000, "Nylo#Marggo::OnTimer60000");
+ addtimer(5300, "Nylo#Marggo::OnBegin");
+ end;
+ }
+ addtimer(10000, "Nylo#Marggo::OnTimer10000");
+ addtimer(20000, "Nylo#Marggo::OnTimer20000");
+ addtimer(30000, "Nylo#Marggo::OnTimer30000");
+ addtimer(40000, "Nylo#Marggo::OnTimer40000");
+ addtimer(50000, "Nylo#Marggo::OnTimer50000");
+ addtimer(55000, "Nylo#Marggo::OnTimer55000");
+ addtimer(60000, "Nylo#Marggo::OnTimer60000");
+ addtimer(60300, "Nylo#Marggo::OnBegin");
+ mesn;
+ mesq l("The maggots will spawn in @@ at random.", b(l("60 seconds")));
+ mes l("Read the instructions carefully.");
+ next;
+ mesn l("Time Limit");
+ mes l("Campaign starts after 60 seconds. Eight maggots will spawn on the next 100 seconds.");
+ mes l("Four minutes after the warp, or when the last maggot die, it'll be over.");
+ next;
+ mesn l("Victory Conditions");
+ mes l("If you save 80% from the crops or more, you'll get @@ GP.", 300);
+ mes l("If you save 90% from the crops or more, you'll also get a @@.", getitemlink(RoundLeatherShield));
+ mes l("== If you decide to complete the quest you cannot repeat it.");
+ next;
+ mes l("Good luck!");
+ close;
+
+OnTimer10000:
+ dispbottom "50 seconds!";
+ end;
+
+OnTimer20000:
+ dispbottom "40 seconds!";
+ end;
+
+OnTimer30000:
+ dispbottom "30 seconds!";
+ end;
+
+OnTimer40000:
+ dispbottom "20 seconds!";
+ end;
+
+OnTimer50000:
+ dispbottom "10 seconds!";
+ end;
+
+OnTimer55000:
+ dispbottom "5 seconds!";
+ end;
+
+OnTimer60000:
+ dispbottom l("Start!");
+ //stopnpctimer;
+ end;
+
+OnBegin:
+ // @MARGGO → (MaggotID, IsAlive)
+ // IsAlive: 1 → yes
+ @MARGGO=htnew;
+ @TOTAL_MRG=0;
+ //@DESTROY=0; // Array of all lost crops
+ // 8 maggots
+ // Minimum 80 sec
+ // Maximum 100 sec
+ addtimer(10, "Nylo#Marggo::OnSpawn");
+ addtimer(400, "Nylo#Marggo::OnInteract");
+ addtimer(180000, "Nylo#Marggo::OnFinish");
+ end;
+
+// Spawn a new maggot until eight maggots were spawn
+OnSpawn:
+ .@ID=getcharid(0);
+ .@MAP$="MRGO@"+str(.@ID);
+ @TOTAL_MRG+=1;
+ if (@TOTAL_MRG < 8)
+ addtimer(rand(10000, 12500), "Nylo#Marggo::OnSpawn");
+ if (mobcount(getmap(), "Nylo#Marggo::OnMurder") >= 4)
+ end;
+
+ .@mobID=areamonster(.@MAP$, 23, 22, 35, 34, l("Maggot"), Maggot, 1, "Nylo#Marggo::OnMurder");
+ htput @MARGGO, str(.@mobID), 1;
+
+ // 50% chances to spawn two maggots at once
+ if (any(true, false) && @TOTAL_MRG < 8) {
+ @TOTAL_MRG+=1;
+ .@mobID=areamonster(.@MAP$, 23, 22, 35, 34, l("Maggot"), Maggot, 1, "Nylo#Marggo::OnMurder");
+ htput @MARGGO, str(.@mobID), 1;
+ }
+ end;
+
+// Move all maggots
+OnInteract:
+ .@hti = htiterator(@MARGGO);
+ for(.@key$ = htinextkey(.@hti); hticheck(.@hti); .@key$ = htinextkey(.@hti)) {
+ .@alive=htget(@MARGGO, .@key$);
+ /*
+ if (.@alive == 2)
+ continue;
+ */
+ .@mobId=atoi(.@key$);
+ getmapxy(.@m$, .@x, .@y, UNITTYPE_MOB, .@mobId);
+ //debugmes("[LOGIC] -------------------------- proccess %d", .@mobId);
+
+ // Destroy the crop if needed
+ .@cropId$=getcropid(.@x, .@y);
+ if (array_find(@DESTROYED$, .@cropId$) == -1) {
+ array_push(@DESTROYED$, .@cropId$);
+ //debugmes("[LOGIC] -------------------------- crop destroyed");
+ // hideonnpc
+ disablenpc instance_npcname("#Marggo"+.@cropId$, MARGGO_ID);
+ }
+
+ /*
+ // Tell the Maggot to walk to a random coordinate
+ // (it may walk backwards due not preserving old data)
+ // This will cause maggot to abort a counter attack and to never stop
+ // If it hits an edge, it'll start moving to the center, may cause odd behavior
+ unitstop(.@mobId);
+ if (.@x == 22 || .@y == 22 || .@x == 36 || .@y == 34)
+ unitwalk(.@mobId, 30, 30);
+ else
+ unitwalk(.@mobId, .@x+any(1, -1), .@y+any(1, -1));
+ */
+ //debugmes("[LOGIC] ------------------------------------- ai advanced");
+ }
+ htidelete(.@hti);
+
+ // Continue the cycle
+ if (compare(getmap(), "MRGO") || compare(getmap(), "005-1-1"))
+ addtimer(400, "Nylo#Marggo::OnInteract");
+ end;
+
+// A maggot was killed
+OnMurder:
+ // I don't know which one was killed, so I cycle every one until I find the dead one
+ .@hti = htiterator(@MARGGO);
+ for(.@key$ = htinextkey(.@hti); hticheck(.@hti); .@key$ = htinextkey(.@hti)) {
+ .@alive=htget(@MARGGO, .@key$);
+ /*
+ if (.@alive == 2)
+ continue;
+ */
+ .@mobId=atoi(.@key$);
+ if (getmapxy(.@m$, .@x, .@y, UNITTYPE_MOB, .@mobId) >= 0)
+ continue;
+
+ // We found the dead monster, mark it as dead and stop this meaningless loop
+ htput @MARGGO, .@key$, 0;
+ //debugmes("[OK] Deleting Maggot");
+ break;
+ }
+ htidelete(.@hti);
+ if (@TOTAL_MRG >= 8) {
+ //debugmes("Current MARGGO Size: %d", htsize(@MARGGO));
+ if (htsize(@MARGGO) <= 1)
+ doevent("Nylo#Marggo::OnFinish");
+ }
+ end;
+
+// You killed all maggots or ran out of time
+OnFinish:
+ htdelete @MARGGO;
+ deltimer("Nylo#Marggo::OnInteract");
+ deltimer("Nylo#Marggo::OnSpawn");
+ deltimer("Nylo#Marggo::OnFinish");
+ MARGGO_ID=0;
+ .@trueratio=100*getarraysize(@DESTROYED$)/169;
+ .@ratio=100-.@trueratio;
+ debugmes("Player lost %d crops", getarraysize(@DESTROYED$));
+ deletearray(@DESTROYED$);
+
+ mesn l("Nylo");
+ mes l("You managed to save @@ % of my crops!", .@ratio);
+ next;
+ if (.@ratio >= 80) {
+ inventoryplace RoundLeatherShield, 1;
+ mesc l("Complete Quest?");
+ mesc l("You won't be able to aim for a better record!");
+ menuint
+ l("Yes, I'm done with it."), ASK_YES,
+ l("No, I want to aim for a higher score."), ASK_NO;
+ mes "";
+ if (@menuret == ASK_YES) {
+ setq CandorQuest_Marggo, 1;
+ Zeny=Zeny+300;
+ getexp .@ratio*8/10, (.@ratio/3);
+ if (.@ratio >= 90)
+ getitem RoundLeatherShield, 1;
+ }
+ mes "";
+ }
+ mesn l("Nylo");
+ mes l("Thanks for the help!");
+ warp "005-5", 25, 41;
+ close;
+
+// Cosmetic
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, CreasedShirt);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CreasedShorts);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ setunitdata(.@npcId, UDT_WEAPON, CandorBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 26);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 0);
+
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+OnInstanceInit:
+ .@npcId = getnpcid(instance_npcname(.name$));
+ setunitdata(.@npcId, UDT_HEADTOP, CreasedShirt);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CreasedShorts);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ setunitdata(.@npcId, UDT_WEAPON, CandorBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 26);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 0);
+ end;
+
+}
+
+/* python
+i=0
+x=23
+y=22
+x2=35
+y2=34
+while y <= y2:
+ print("005-1-1,%d,%d,0 script #Marggo%03d NPC_CROPS,{ end; }"% (x, y, i))
+ x+=1
+ if (x > x2):
+ x=23
+ y+=1
+ i+=1
+
+*/
+
+005-1-1,23,22,0 script #Marggo000 NPC_CROPS,{ end; }
+005-1-1,24,22,0 script #Marggo001 NPC_CROPS,{ end; }
+005-1-1,25,22,0 script #Marggo002 NPC_CROPS,{ end; }
+005-1-1,26,22,0 script #Marggo003 NPC_CROPS,{ end; }
+005-1-1,27,22,0 script #Marggo004 NPC_CROPS,{ end; }
+005-1-1,28,22,0 script #Marggo005 NPC_CROPS,{ end; }
+005-1-1,29,22,0 script #Marggo006 NPC_CROPS,{ end; }
+005-1-1,30,22,0 script #Marggo007 NPC_CROPS,{ end; }
+005-1-1,31,22,0 script #Marggo008 NPC_CROPS,{ end; }
+005-1-1,32,22,0 script #Marggo009 NPC_CROPS,{ end; }
+005-1-1,33,22,0 script #Marggo010 NPC_CROPS,{ end; }
+005-1-1,34,22,0 script #Marggo011 NPC_CROPS,{ end; }
+005-1-1,35,22,0 script #Marggo012 NPC_CROPS,{ end; }
+005-1-1,23,23,0 script #Marggo013 NPC_CROPS,{ end; }
+005-1-1,24,23,0 script #Marggo014 NPC_CROPS,{ end; }
+005-1-1,25,23,0 script #Marggo015 NPC_CROPS,{ end; }
+005-1-1,26,23,0 script #Marggo016 NPC_CROPS,{ end; }
+005-1-1,27,23,0 script #Marggo017 NPC_CROPS,{ end; }
+005-1-1,28,23,0 script #Marggo018 NPC_CROPS,{ end; }
+005-1-1,29,23,0 script #Marggo019 NPC_CROPS,{ end; }
+005-1-1,30,23,0 script #Marggo020 NPC_CROPS,{ end; }
+005-1-1,31,23,0 script #Marggo021 NPC_CROPS,{ end; }
+005-1-1,32,23,0 script #Marggo022 NPC_CROPS,{ end; }
+005-1-1,33,23,0 script #Marggo023 NPC_CROPS,{ end; }
+005-1-1,34,23,0 script #Marggo024 NPC_CROPS,{ end; }
+005-1-1,35,23,0 script #Marggo025 NPC_CROPS,{ end; }
+005-1-1,23,24,0 script #Marggo026 NPC_CROPS,{ end; }
+005-1-1,24,24,0 script #Marggo027 NPC_CROPS,{ end; }
+005-1-1,25,24,0 script #Marggo028 NPC_CROPS,{ end; }
+005-1-1,26,24,0 script #Marggo029 NPC_CROPS,{ end; }
+005-1-1,27,24,0 script #Marggo030 NPC_CROPS,{ end; }
+005-1-1,28,24,0 script #Marggo031 NPC_CROPS,{ end; }
+005-1-1,29,24,0 script #Marggo032 NPC_CROPS,{ end; }
+005-1-1,30,24,0 script #Marggo033 NPC_CROPS,{ end; }
+005-1-1,31,24,0 script #Marggo034 NPC_CROPS,{ end; }
+005-1-1,32,24,0 script #Marggo035 NPC_CROPS,{ end; }
+005-1-1,33,24,0 script #Marggo036 NPC_CROPS,{ end; }
+005-1-1,34,24,0 script #Marggo037 NPC_CROPS,{ end; }
+005-1-1,35,24,0 script #Marggo038 NPC_CROPS,{ end; }
+005-1-1,23,25,0 script #Marggo039 NPC_CROPS,{ end; }
+005-1-1,24,25,0 script #Marggo040 NPC_CROPS,{ end; }
+005-1-1,25,25,0 script #Marggo041 NPC_CROPS,{ end; }
+005-1-1,26,25,0 script #Marggo042 NPC_CROPS,{ end; }
+005-1-1,27,25,0 script #Marggo043 NPC_CROPS,{ end; }
+005-1-1,28,25,0 script #Marggo044 NPC_CROPS,{ end; }
+005-1-1,29,25,0 script #Marggo045 NPC_CROPS,{ end; }
+005-1-1,30,25,0 script #Marggo046 NPC_CROPS,{ end; }
+005-1-1,31,25,0 script #Marggo047 NPC_CROPS,{ end; }
+005-1-1,32,25,0 script #Marggo048 NPC_CROPS,{ end; }
+005-1-1,33,25,0 script #Marggo049 NPC_CROPS,{ end; }
+005-1-1,34,25,0 script #Marggo050 NPC_CROPS,{ end; }
+005-1-1,35,25,0 script #Marggo051 NPC_CROPS,{ end; }
+005-1-1,23,26,0 script #Marggo052 NPC_CROPS,{ end; }
+005-1-1,24,26,0 script #Marggo053 NPC_CROPS,{ end; }
+005-1-1,25,26,0 script #Marggo054 NPC_CROPS,{ end; }
+005-1-1,26,26,0 script #Marggo055 NPC_CROPS,{ end; }
+005-1-1,27,26,0 script #Marggo056 NPC_CROPS,{ end; }
+005-1-1,28,26,0 script #Marggo057 NPC_CROPS,{ end; }
+005-1-1,29,26,0 script #Marggo058 NPC_CROPS,{ end; }
+005-1-1,30,26,0 script #Marggo059 NPC_CROPS,{ end; }
+005-1-1,31,26,0 script #Marggo060 NPC_CROPS,{ end; }
+005-1-1,32,26,0 script #Marggo061 NPC_CROPS,{ end; }
+005-1-1,33,26,0 script #Marggo062 NPC_CROPS,{ end; }
+005-1-1,34,26,0 script #Marggo063 NPC_CROPS,{ end; }
+005-1-1,35,26,0 script #Marggo064 NPC_CROPS,{ end; }
+005-1-1,23,27,0 script #Marggo065 NPC_CROPS,{ end; }
+005-1-1,24,27,0 script #Marggo066 NPC_CROPS,{ end; }
+005-1-1,25,27,0 script #Marggo067 NPC_CROPS,{ end; }
+005-1-1,26,27,0 script #Marggo068 NPC_CROPS,{ end; }
+005-1-1,27,27,0 script #Marggo069 NPC_CROPS,{ end; }
+005-1-1,28,27,0 script #Marggo070 NPC_CROPS,{ end; }
+005-1-1,29,27,0 script #Marggo071 NPC_CROPS,{ end; }
+005-1-1,30,27,0 script #Marggo072 NPC_CROPS,{ end; }
+005-1-1,31,27,0 script #Marggo073 NPC_CROPS,{ end; }
+005-1-1,32,27,0 script #Marggo074 NPC_CROPS,{ end; }
+005-1-1,33,27,0 script #Marggo075 NPC_CROPS,{ end; }
+005-1-1,34,27,0 script #Marggo076 NPC_CROPS,{ end; }
+005-1-1,35,27,0 script #Marggo077 NPC_CROPS,{ end; }
+005-1-1,23,28,0 script #Marggo078 NPC_CROPS,{ end; }
+005-1-1,24,28,0 script #Marggo079 NPC_CROPS,{ end; }
+005-1-1,25,28,0 script #Marggo080 NPC_CROPS,{ end; }
+005-1-1,26,28,0 script #Marggo081 NPC_CROPS,{ end; }
+005-1-1,27,28,0 script #Marggo082 NPC_CROPS,{ end; }
+005-1-1,28,28,0 script #Marggo083 NPC_CROPS,{ end; }
+005-1-1,29,28,0 script #Marggo084 NPC_CROPS,{ end; }
+005-1-1,30,28,0 script #Marggo085 NPC_CROPS,{ end; }
+005-1-1,31,28,0 script #Marggo086 NPC_CROPS,{ end; }
+005-1-1,32,28,0 script #Marggo087 NPC_CROPS,{ end; }
+005-1-1,33,28,0 script #Marggo088 NPC_CROPS,{ end; }
+005-1-1,34,28,0 script #Marggo089 NPC_CROPS,{ end; }
+005-1-1,35,28,0 script #Marggo090 NPC_CROPS,{ end; }
+005-1-1,23,29,0 script #Marggo091 NPC_CROPS,{ end; }
+005-1-1,24,29,0 script #Marggo092 NPC_CROPS,{ end; }
+005-1-1,25,29,0 script #Marggo093 NPC_CROPS,{ end; }
+005-1-1,26,29,0 script #Marggo094 NPC_CROPS,{ end; }
+005-1-1,27,29,0 script #Marggo095 NPC_CROPS,{ end; }
+005-1-1,28,29,0 script #Marggo096 NPC_CROPS,{ end; }
+005-1-1,29,29,0 script #Marggo097 NPC_CROPS,{ end; }
+005-1-1,30,29,0 script #Marggo098 NPC_CROPS,{ end; }
+005-1-1,31,29,0 script #Marggo099 NPC_CROPS,{ end; }
+005-1-1,32,29,0 script #Marggo100 NPC_CROPS,{ end; }
+005-1-1,33,29,0 script #Marggo101 NPC_CROPS,{ end; }
+005-1-1,34,29,0 script #Marggo102 NPC_CROPS,{ end; }
+005-1-1,35,29,0 script #Marggo103 NPC_CROPS,{ end; }
+005-1-1,23,30,0 script #Marggo104 NPC_CROPS,{ end; }
+005-1-1,24,30,0 script #Marggo105 NPC_CROPS,{ end; }
+005-1-1,25,30,0 script #Marggo106 NPC_CROPS,{ end; }
+005-1-1,26,30,0 script #Marggo107 NPC_CROPS,{ end; }
+005-1-1,27,30,0 script #Marggo108 NPC_CROPS,{ end; }
+005-1-1,28,30,0 script #Marggo109 NPC_CROPS,{ end; }
+005-1-1,29,30,0 script #Marggo110 NPC_CROPS,{ end; }
+005-1-1,30,30,0 script #Marggo111 NPC_CROPS,{ end; }
+005-1-1,31,30,0 script #Marggo112 NPC_CROPS,{ end; }
+005-1-1,32,30,0 script #Marggo113 NPC_CROPS,{ end; }
+005-1-1,33,30,0 script #Marggo114 NPC_CROPS,{ end; }
+005-1-1,34,30,0 script #Marggo115 NPC_CROPS,{ end; }
+005-1-1,35,30,0 script #Marggo116 NPC_CROPS,{ end; }
+005-1-1,23,31,0 script #Marggo117 NPC_CROPS,{ end; }
+005-1-1,24,31,0 script #Marggo118 NPC_CROPS,{ end; }
+005-1-1,25,31,0 script #Marggo119 NPC_CROPS,{ end; }
+005-1-1,26,31,0 script #Marggo120 NPC_CROPS,{ end; }
+005-1-1,27,31,0 script #Marggo121 NPC_CROPS,{ end; }
+005-1-1,28,31,0 script #Marggo122 NPC_CROPS,{ end; }
+005-1-1,29,31,0 script #Marggo123 NPC_CROPS,{ end; }
+005-1-1,30,31,0 script #Marggo124 NPC_CROPS,{ end; }
+005-1-1,31,31,0 script #Marggo125 NPC_CROPS,{ end; }
+005-1-1,32,31,0 script #Marggo126 NPC_CROPS,{ end; }
+005-1-1,33,31,0 script #Marggo127 NPC_CROPS,{ end; }
+005-1-1,34,31,0 script #Marggo128 NPC_CROPS,{ end; }
+005-1-1,35,31,0 script #Marggo129 NPC_CROPS,{ end; }
+005-1-1,23,32,0 script #Marggo130 NPC_CROPS,{ end; }
+005-1-1,24,32,0 script #Marggo131 NPC_CROPS,{ end; }
+005-1-1,25,32,0 script #Marggo132 NPC_CROPS,{ end; }
+005-1-1,26,32,0 script #Marggo133 NPC_CROPS,{ end; }
+005-1-1,27,32,0 script #Marggo134 NPC_CROPS,{ end; }
+005-1-1,28,32,0 script #Marggo135 NPC_CROPS,{ end; }
+005-1-1,29,32,0 script #Marggo136 NPC_CROPS,{ end; }
+005-1-1,30,32,0 script #Marggo137 NPC_CROPS,{ end; }
+005-1-1,31,32,0 script #Marggo138 NPC_CROPS,{ end; }
+005-1-1,32,32,0 script #Marggo139 NPC_CROPS,{ end; }
+005-1-1,33,32,0 script #Marggo140 NPC_CROPS,{ end; }
+005-1-1,34,32,0 script #Marggo141 NPC_CROPS,{ end; }
+005-1-1,35,32,0 script #Marggo142 NPC_CROPS,{ end; }
+005-1-1,23,33,0 script #Marggo143 NPC_CROPS,{ end; }
+005-1-1,24,33,0 script #Marggo144 NPC_CROPS,{ end; }
+005-1-1,25,33,0 script #Marggo145 NPC_CROPS,{ end; }
+005-1-1,26,33,0 script #Marggo146 NPC_CROPS,{ end; }
+005-1-1,27,33,0 script #Marggo147 NPC_CROPS,{ end; }
+005-1-1,28,33,0 script #Marggo148 NPC_CROPS,{ end; }
+005-1-1,29,33,0 script #Marggo149 NPC_CROPS,{ end; }
+005-1-1,30,33,0 script #Marggo150 NPC_CROPS,{ end; }
+005-1-1,31,33,0 script #Marggo151 NPC_CROPS,{ end; }
+005-1-1,32,33,0 script #Marggo152 NPC_CROPS,{ end; }
+005-1-1,33,33,0 script #Marggo153 NPC_CROPS,{ end; }
+005-1-1,34,33,0 script #Marggo154 NPC_CROPS,{ end; }
+005-1-1,35,33,0 script #Marggo155 NPC_CROPS,{ end; }
+005-1-1,23,34,0 script #Marggo156 NPC_CROPS,{ end; }
+005-1-1,24,34,0 script #Marggo157 NPC_CROPS,{ end; }
+005-1-1,25,34,0 script #Marggo158 NPC_CROPS,{ end; }
+005-1-1,26,34,0 script #Marggo159 NPC_CROPS,{ end; }
+005-1-1,27,34,0 script #Marggo160 NPC_CROPS,{ end; }
+005-1-1,28,34,0 script #Marggo161 NPC_CROPS,{ end; }
+005-1-1,29,34,0 script #Marggo162 NPC_CROPS,{ end; }
+005-1-1,30,34,0 script #Marggo163 NPC_CROPS,{ end; }
+005-1-1,31,34,0 script #Marggo164 NPC_CROPS,{ end; }
+005-1-1,32,34,0 script #Marggo165 NPC_CROPS,{ end; }
+005-1-1,33,34,0 script #Marggo166 NPC_CROPS,{ end; }
+005-1-1,34,34,0 script #Marggo167 NPC_CROPS,{ end; }
+005-1-1,35,34,0 script #Marggo168 NPC_CROPS,{ end; }
+
+
diff --git a/npc/005-1/_import.txt b/npc/005-1/_import.txt
new file mode 100644
index 0000000..d7d03ba
--- /dev/null
+++ b/npc/005-1/_import.txt
@@ -0,0 +1,16 @@
+// Map 005-1: Candor Island
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/005-1/_mobs.txt",
+"npc/005-1/_warps.txt",
+"npc/005-1/ayasha.txt",
+"npc/005-1/liana.txt",
+"npc/005-1/mapflags.txt",
+"npc/005-1/maya.txt",
+"npc/005-1/sailors.txt",
+"npc/005-1/saxso.txt",
+"npc/005-1/ship.txt",
+"npc/005-1/soul-menhir.txt",
+"npc/005-1/underground.txt",
+"npc/005-1/vincent.txt",
+"npc/005-1/wateranimation.txt",
+"npc/005-1/zegas.txt",
diff --git a/npc/005-1/_mobs.txt b/npc/005-1/_mobs.txt
new file mode 100644
index 0000000..ed13f97
--- /dev/null
+++ b/npc/005-1/_mobs.txt
@@ -0,0 +1,10 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 005-1: Candor Island mobs
+005-1,43,50,2,1 monster Clover Field 1028,1,35000,300000
+005-1,30,66,1,0 monster Diamond Bif 1108,1,35000,90000,Rosen::OnKillMBif
+005-1,70,94,7,6 monster Maggot 1030,9,35000,300000,Trainer::OnKillMaggot
+005-1,89,97,8,9 monster Candor Scorpion 1073,7,35000,300000,Trainer::OnKillCandorScorpion
+005-1,43,115,6,3 monster Piou 1002,1,35000,300000
+005-1,87,43,16,15 monster Candor Scorpion 1073,12,35000,300000,Trainer::OnKillCandorScorpion
+005-1,78,49,28,10 monster Mana Bug 1075,5,35000,300000,Trainer::OnKillManaBug
+005-1,37,49,12,14 monster Scorpion 1071,2,35000,300000,Trainer::OnKillScorpion
diff --git a/npc/005-1/_warps.txt b/npc/005-1/_warps.txt
new file mode 100644
index 0000000..4c19648
--- /dev/null
+++ b/npc/005-1/_warps.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 005-1: Candor Island warps
+005-1,38,89,0 warp #005-1_38_89 0,0,005-2,33,42
+005-1,41,84,0 warp #005-1_41_84 0,0,005-3,25,42
+005-1,55,80,0 warp #005-1_55_80 0,0,005-4,25,42
+005-1,46,78,0 warp #005-1_46_78 0,0,005-5,25,41
+005-1,34,99,0 warp #005-1_34_99 0,0,005-7,45,37
+005-1,50,85,0 warp #005-1_50_85 0,0,005-6,33,42
diff --git a/npc/005-1/ayasha.txt b/npc/005-1/ayasha.txt
new file mode 100644
index 0000000..6789f42
--- /dev/null
+++ b/npc/005-1/ayasha.txt
@@ -0,0 +1,438 @@
+// Author:
+// Crazyfefe
+// Jesusalva
+// Description:
+// Ayasha takes care of the children of Candor Village, and is in charge of protecting them.
+// The kids sometimes go play outside of city walls, and this makes her upset.
+// Even if no major attack happened in Candor for a while.
+// Variables:
+// CandorQuest_HAS
+// 0: Not met
+// 1: Already met
+// 2: Quest ongoing
+// 3: Found all kids
+// 4: Reward given
+
+005-1,59,91,0 script Ayasha NPC_HUMAN_FEMALE_NOOB,{
+ showavatar NPC_HUMAN_FEMALE_NOOB; // this is handled by avatars.xml
+ if (strcharinfo(2) == "Monster King" && is_master()) goto L_MKControl;
+
+ function quest_findAllKids {
+ setq CandorQuest_HAS, 2;
+ mesn;
+ mesq l("Good luck!");
+ close;
+ }
+
+ .@has = getq(CandorQuest_HAS);
+ if (.@has == 0) {
+ speech S_LAST_NEXT,
+ l("Ah, the kids are playing hide and seek, but I am afraid they went too far. A monster attack could start anytime, after all."),
+ l("I am currently very worried with them. They're just children! They don't know how to fight!"),
+ l("Could you perhaps help me to find all kids?");
+ do
+ {
+ select
+ l("Yes!"),
+ l("I can't, sorry.");
+
+ setq CandorQuest_HAS, 1;
+ switch (@menu) {
+ case 1:
+ quest_findAllKids;
+ break;
+ }
+ } while (@menu != 2);
+ } else if (.@has == 1) {
+ mesn;
+ mesq l("Even if the city has not been attacked on the last few years, I can't help but be concerned while the kids are playing hide and seek.");
+ next;
+ mesq l("Could you perhaps help me to find all kids?");
+ next;
+
+ do
+ {
+ select
+ l("Yes!"),
+ l("I can't, sorry.");
+
+ switch (@menu) {
+ case 1:
+ quest_findAllKids;
+ break;
+ }
+ } while (@menu != 2);
+ } else if (.@has == 2) {
+ mesn;
+ mesq l("You still haven't found all of them yet.");
+ close;
+ } else if (.@has == 3) {
+ speech S_LAST_NEXT,
+ l("Thank you, here is your reward and... some pocket money.");
+ narrator("You receive 30 exp and 50 GP.");
+ getexp 32, 0;
+ Zeny = (Zeny + 50);
+ setq CandorQuest_HAS, 4;
+ close;
+ } else {
+ mesn;
+ mesq l("Thank you for your help.");
+ if (BaseLevel >= 24 && gettimetick(2) > .RENT_TIME) goto L_Sword;
+ close;
+ }
+
+ //closedialog;
+ //goodbye;
+ close;
+
+L_Sword:
+ menu
+ l("The children are safe, could you rent me your sword?"), L_Rent,
+ l("You're welcome!"), -;
+ close;
+
+L_Rent:
+ // This code is equivalent to: speech S_FIRST_BLANK_LINE | S_LAST_NEXT
+ mes "";
+ mesn;
+ mesq l("Ah, I guess you want to fight at the cave north of me...");
+ next;
+ mesq l("The children are safe, aren't they...?");
+ next;
+ mesq l("I can rent it to you for 300 GP, during 15 minutes. Deal?");
+ next;
+ menu
+ rif(Zeny >= 300 && gettimetick(2) > .RENT_TIME, l("Deal!")), L_DoRent,
+ l("Maybe later."), -;
+ close;
+
+L_DoRent:
+ if (gettimetick(2) <= .RENT_TIME) mesq l("Sorry, you were taking too long to decide and I've rented my sword to somebody else.");
+ if (gettimetick(2) <= .RENT_TIME) close;
+ .RENT_TIME=gettimetick(2)+(15*60);
+ set Zeny, Zeny - 300;
+ rentitem Judgement, (15*60);
+ mes "";
+ mesn;
+ mesq l("Here it is. Take care with it!");
+ if ($RUNES_HOLDER$ == "" && $GAME_STORYLINE >= 4) {
+ next;
+ mesn;
+ mesq l("Actually, I heard that on the cave north of me a great wizard died from a curse, but his staff would be available for any other wizard who looks.");
+ next;
+ mesn;
+ mesq l("I don't know, I assume the staff was burried with him on the deepest parts of the cave. If it was easy, someone would already have stolen it.");
+ }
+ close;
+
+
+
+
+L_MKControl:
+ mesn;
+ mes l("Oh noes! You've found the Candor control panel!");
+ menu
+ l("Initiate small siege (lv. 5)"), L_MKSmall,
+ l("Abort"), -;
+ close;
+
+L_MKSmall:
+ addmapmask "005-1", MASK_MATTACK;
+ changemusic "005-1", "mythica.ogg";
+ disablenpc("Mana Stone");
+ pvpon("005-1");
+ announce(l("##1WARNING! WARNING! Siege starting at Candor!!"), bc_all);
+ areamonster("005-1", 0, 0, 125, 125, l("Black Scorpion"), BlackScorpion, 1, "Ayasha::OnBlackScorpionDeath");
+ areamonster("005-1", 0, 0, 125, 125, ("House Maggot"), HouseMaggot, 3, "Ayasha::OnHouseMaggotDeath");
+ initnpctimer;
+ close;
+
+
+OnBlackScorpionDeath:
+ dispbottom "BSD";
+ areamonster("005-1", 0, 0, 125, 125, l("Black Scorpion"), BlackScorpion, 1, "Ayasha::OnBlackScorpionDeath");
+ if (rand(10000) <= 900)
+ getitem StrangeCoin, 1;
+ debugmes "BSD OK";
+ end;
+
+OnManaGhostDeath:
+ dispbottom "MGD";
+ areamonster("005-1", 0, 0, 125, 125, l("Mana Ghost"), ManaGhost, 1, "Ayasha::OnManaGhostDeath");
+ if (rand(10000) <= 500)
+ getitem StrangeCoin, 1;
+ debugmes "MGD OK";
+ end;
+
+OnHouseMaggotDeath:
+ dispbottom "HMD";
+ areamonster("005-1", 0, 0, 125, 125, l("House Maggot"), ManaGhost, 1, "Ayasha::OnHouseMaggotDeath");
+ if (rand(10000) <= 400)
+ getitem StrangeCoin, 1;
+ debugmes "HMD OK";
+ end;
+
+OnTimer5000:
+ areamonster("005-1", 0, 0, 125, 125, "Black Scorpion", BlackScorpion, 1, "Ayasha::OnBlackScorpionDeath");
+ areamonster("005-1", 0, 0, 125, 125, ("House Maggot"), HouseMaggot, 10, "Ayasha::OnHouseMaggotDeath");
+ mapannounce("003-1", "##2Message to all Candor NPCs: Take shelter!", bc_map);
+ disablenpc "Ayasha";
+ disablenpc "Charda";
+ disablenpc "Faris";
+ disablenpc "Ghada";
+ disablenpc "Latif";
+ disablenpc "Rasin";
+ disablenpc "Lilly";
+ disablenpc "Zegas";
+ disablenpc "Vincent";
+ disablenpc "Liana";
+ disablenpc "Maya";
+ disablenpc "Sailors#005-1";
+ disablenpc "Magic Barrier";
+ disablenpc "Tolchi";
+ disablenpc "Rosen";
+ disablenpc "Nylo";
+ disablenpc "Cynric";
+ disablenpc "Morgan";
+ disablenpc "Zitoni";
+ disablenpc "Trainer";
+ end;
+
+OnTimer60000:
+ areamonster("005-1", 0, 0, 125, 125, "Black Scorpion", BlackScorpion, 1, "Ayasha::OnBlackScorpionDeath");
+ areamonster("005-1", 0, 0, 125, 125, ("Mana Ghost"), ManaGhost, 3, "Ayasha::OnManaGhostDeath");
+ areamonster("005-1", 0, 0, 125, 125, ("House Maggot"), HouseMaggot, 5, "Ayasha::OnHouseMaggotDeath");
+ end;
+
+OnTimer120000:
+OnTimer180000:
+OnTimer240000:
+OnTimer300000:
+OnTimer360000:
+OnTimer420000:
+OnTimer480000:
+ areamonster("005-1", 0, 0, 125, 125, ("Slime Blast"), 1090, 1);
+ areamonster("005-1", 0, 0, 125, 125, ("Mana Ghost"), ManaGhost, 1, "Ayasha::OnManaGhostDeath");
+ areamonster("005-1", 0, 0, 125, 125, ("House Maggot"), HouseMaggot, 1, "Ayasha::OnHouseMaggotDeath");
+ end;
+
+OnTimer540000:
+ mapannounce("005-1", "##1The Monster Army is getting tired of resistance!", bc_map);
+ areamonster("005-1", 0, 0, 125, 125, ("Slime Blast"), 1090, 5);
+ areamonster("005-1", 0, 0, 125, 125, ("Mana Ghost"), ManaGhost, 1, "Ayasha::OnManaGhostDeath");
+ areamonster("005-1", 0, 0, 125, 125, ("House Maggot"), HouseMaggot, 1, "Ayasha::OnHouseMaggotDeath");
+ end;
+
+OnTimer600000:
+ mapannounce("005-1", "##1The Monster King army is preparing to withdraw!", bc_map);
+ end;
+
+OnTimer630000:
+ removemapmask "005-1", MASK_MATTACK;
+ changemusic "005-1", "bartk_adventure.ogg";
+ enablenpc("Mana Stone");
+ killmonsterall("005-1", 0);
+ pvpoff("005-1");
+ announce(("Candor siege is over!"), bc_all);
+ enablenpc "Ayasha";
+ enablenpc "Charda";
+ enablenpc "Faris";
+ enablenpc "Ghada";
+ enablenpc "Latif";
+ enablenpc "Rasin";
+ enablenpc "Lilly";
+ enablenpc "Zegas";
+ enablenpc "Vincent";
+ enablenpc "Liana";
+ enablenpc "Maya";
+ enablenpc "Sailors#005-1";
+ enablenpc "Magic Barrier";
+ enablenpc "Tolchi";
+ enablenpc "Rosen";
+ enablenpc "Nylo";
+ enablenpc "Cynric";
+ enablenpc "Morgan";
+ enablenpc "Zitoni";
+ enablenpc "Trainer";
+ stopnpctimer;
+ end;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ .RENT_TIME=0; // TODO: This could easily be a $GLOBAL_VARIABLE
+ end;
+}
+
+
+function script CheckEnfant {
+ @kids_count = 0;
+ @count_tmp = 0;
+ if ($@GM_OVERRIDE)
+ npctalk3 l("Hello, I am K-@@, of the @@ order.", @kids, $@KidsBits[@kids]);
+ if (STARTAREA & $@KidsBits[@kids])
+ goto L_Already;
+ STARTAREA = STARTAREA | $@KidsBits[@kids];
+
+ goto L_Loop;
+
+L_KidsTally:
+ if (debug || $@GM_OVERRIDE)
+ npctalk3 l("You found @@ out of @@ kids.", @kids_count, @count_tmp);
+ if (@kids_count == 6)
+ {
+ message strcharinfo(0), "That must have been the last kid.";
+ setq CandorQuest_HAS, 3;
+ }
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Oh! You found me. Good job!");
+ narrator("You receive 5 exp.");
+ getexp 5,0;
+ close;
+ return;
+
+L_Loop:
+ while (@count_tmp < 6) {
+ if (STARTAREA & $@KidsBits[@count_tmp])
+ @kids_count = (@kids_count + 1);
+ @count_tmp = (@count_tmp + 1);
+ }
+ goto L_KidsTally;
+
+L_Already:
+ mesn;
+ mesq l("Thanks for playing with us! Can you find my friends?");
+ close;
+
+ return;
+}
+005-1,76,100,0 script Charda NPC_CHILD8,{
+ @kids = 0;
+ if (getq(CandorQuest_HAS) == 2)
+ {
+ CheckEnfant();
+ } else {
+ mes l("The kid is not paying attention to you.");
+ close;
+ }
+ end;
+OnInit:
+ // This works at same var from KidsBits. We start counting from 10, then.
+ setarray $@KidsBits, (1 << 10), (1 << 11), (1 << 12), (1 << 13), (1 << 14), (1 << 15);
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+005-1,28,100,0 script Faris NPC_CHILD7,{
+ @kids = 1;
+ if (getq(CandorQuest_HAS) == 2)
+ {
+ CheckEnfant();
+ } else {
+ mes l("The kid is not paying attention to you.");
+ close;
+ }
+ end;
+OnInit:
+ .sex = G_MALE;
+ .distance = 1;
+ end;
+}
+005-1,91,31,0 script Ghada NPC_CHILD5,{
+ @kids = 2;
+ if (getq(CandorQuest_HAS) == 2)
+ {
+ CheckEnfant();
+ } else {
+ mes l("The kid is not paying attention to you.");
+ close;
+ }
+ end;
+OnInit:
+ .sex = G_MALE;
+ .distance = 1;
+ end;
+}
+005-1,45,68,0 script Latif NPC_HUMAN_M_ARTIS,{
+ @kids = 3;
+ if (getq(CandorQuest_HAS) == 2)
+ {
+ CheckEnfant();
+ } else {
+ mes l("The kid is not paying attention to you.");
+ close;
+ }
+ end;
+OnInit:
+ .sex = G_MALE;
+ .distance = 1;
+ end;
+}
+005-1,25,53,0 script Rasin NPC_CHILD3,{
+ @kids = 4;
+ if (getq(CandorQuest_HAS) == 2)
+ {
+ CheckEnfant();
+ } else {
+ mes l("The kid is not paying attention to you.");
+ close;
+ }
+ end;
+OnInit:
+ .sex = G_MALE;
+ .distance = 1;
+ end;
+}
+005-1,44,74,0 script Lilly NPC_CHILD6,{
+ @kids = 5;
+ if (getq(CandorQuest_HAS) == 2)
+ {
+ CheckEnfant();
+ } else {
+ mes l("The kid is not paying attention to you.");
+ close;
+ }
+ end;
+OnInit:
+ .sex = G_MALE;
+ .distance = 1;
+ end;
+}
+
+005-1,60,91,0 script AyashaDebug NPC_MONA,{
+ showavatar NPC_MONA; // this is handled by avatars.xml
+ mesn;
+ mesq l("Reset?");
+ next;
+ menu
+ l("Yes."), L_Reset,
+ l("Test"), L_Charda,
+
+ l("No."), L_Close;
+
+L_Reset:
+ setq CandorQuest_HAS, 0;
+ STARTAREA = STARTAREA &~ (1 << 10);
+ STARTAREA = STARTAREA &~ (1 << 11);
+ STARTAREA = STARTAREA &~ (1 << 12);
+ STARTAREA = STARTAREA &~ (1 << 13);
+ STARTAREA = STARTAREA &~ (1 << 14);
+ STARTAREA = STARTAREA &~ (1 << 15);
+ mes l("Reset!");
+ goto L_Close;
+
+L_Charda:
+ STARTAREA = STARTAREA &~ (1 << 10);
+ mes l("Charda clean!");
+ goto L_Close;
+
+L_Close:
+ //showavatar; // Use this to hide the showavatar
+ close;
+
+// Use @shownpc to enable AyashaDebug
+OnInit:
+ if (!debug)
+ disablenpc .name$;
+ end;
+}
diff --git a/npc/005-1/liana.txt b/npc/005-1/liana.txt
new file mode 100644
index 0000000..2916013
--- /dev/null
+++ b/npc/005-1/liana.txt
@@ -0,0 +1,110 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Saulc
+// Description:
+// Candor girl ask for maggot sliem every 6 hours
+// Variable:
+// CandorQuest_Liana
+// PS. Liana could (should) explain too the small cave north of there. It can be
+// a place to run, or maybe monsters there are natural and protect them from the
+// Mana Monsters, etc.
+
+005-1,54,96,0 script Liana NPC_ELVEN_FEMALE,{
+
+ mesn;
+ //mesq l("Hurnscald is a large city. I'm sure glad I live in Candor because I know where everything's at.");
+ mesq l("Monsters do not aim small towns like Candor. This city also comes with the plus that I know where everything's at.");
+ if (BaseLevel >= 5) goto L_Menu;
+ tutmes l("This quest will unlock at level 5."), l("Protip"), false;
+ close;
+
+L_Menu:
+ mesn;
+ mesq l("Are you enjoying yourself in Candor? Do you have any questions?");
+ mes "";
+ menu
+ l("What can I do with Maggot Slime?"),L_Slime,
+ l("What can I do with Bug Leg?"),L_Bug,
+ l("No, thanks."),L_Close;
+
+L_Slime:
+ mes "";
+ .@q=getq(CandorQuest_Liana);
+ mesq l("I collect them.");
+ tutmes l("Liana, like other NPCs, provide a repeatable quest. Once you finish it, you will be able to do it again, after waiting for a few hours.");
+ next;
+ if (.@q == 0) goto L_Quest;
+ if (gettimetick(2) >= LIANA_TIMER + 60 * 60 * 6) goto L_Repeat;
+ close;
+
+L_Quest:
+ mesq l("With this I make balls of slime for Candor's childs, they really like to play with them.");
+ next;
+ mesq l("Maybe you could bring me 5 @@? I will reward you for your effort.", getitemlink(MaggotSlime));
+ mes "";
+ menu
+ rif(countitem(MaggotSlime) >= 5, l("Here they are!")), L_Finish,
+ l("I'll get to it."), L_Close;
+ close; // double sure
+
+L_Repeat:
+ mesq l("I am searching again maggot slime to craft more balls.");
+ next;
+ mesq l("Maybe you could bring me 10 sticky @@?", getitemlink(MaggotSlime));
+ mes "";
+ menu
+ rif(countitem(MaggotSlime) >= 10, l("Here they are!")), L_Finish2,
+ l("I'll get to it."), L_Close;
+ close;
+
+L_Finish2:
+ delitem MaggotSlime, 10;
+ getexp 21, 0;
+ Zeny = (Zeny + 80); // 10*4 = 40 base
+ setq CandorQuest_Liana, 1;
+ set LIANA_TIMER, gettimetick(2);
+ mes "";
+ mesn;
+ mesq l("Many, many thanks! I'm sure the children will love it!");
+ close;
+
+L_Finish:
+ delitem MaggotSlime, 5;
+ getexp 58, 7;
+ Zeny = (Zeny + 30); // 5*4 = 20 base
+ setq CandorQuest_Liana, 1;
+ set LIANA_TIMER, gettimetick(2);
+ mes "";
+ mesn;
+ mesq l("Many, many thanks! I'm sure the children will love it!");
+ close;
+
+L_Bug:
+ mes "";
+ mesq l("Ah, personally I don't use it?");
+ next;
+ mes l("She shakes her head.");
+ next;
+ if (getq(CandorQuest_Vincent) < 2) {
+ mesq l("You should ask this question at Vincent.");
+ next;
+ mesq l("He is in the process of making a figurine made of bug leg.");
+ next;
+ } else {
+ mesq l("If you have a @@, perhaps you could use it as a bait.", getitemlink(FishingRod));
+ next;
+ mesq l("I guess it can also be used at quests... Or sell to Juliet, on Nard's ship.");
+ next;
+ }
+ mesq l("I hope my answer help you in your adventure!");
+ next;
+ mes l("she's smiling at you.");
+ goto L_Close;
+
+L_Close:
+ closedialog;
+ goodbye;
+ close;
+}
+
diff --git a/npc/005-1/mapflags.txt b/npc/005-1/mapflags.txt
new file mode 100644
index 0000000..e0cbd89
--- /dev/null
+++ b/npc/005-1/mapflags.txt
@@ -0,0 +1,8 @@
+005-1 mapflag town
+005-1 mapflag nopenalty
+//005-2 mapflag town // Saxso House
+005-3 mapflag town
+005-4 mapflag town
+005-5 mapflag town
+005-6 mapflag town
+005-7 mapflag town
diff --git a/npc/005-1/maya.txt b/npc/005-1/maya.txt
new file mode 100644
index 0000000..d990abc
--- /dev/null
+++ b/npc/005-1/maya.txt
@@ -0,0 +1,234 @@
+// TMW2 scripts.
+// Author:
+// Saulc
+// GonzoDark
+// Jesusalva
+// Variables:
+// 0 CandorQuest_Maya
+// Values:
+// 00 Default, no quest selected.
+// 01 First quest accepted: Need 3 cotton cloth and 3 maggot slime
+// 02 First quest completed: Reward Candor shirt
+// 03 Second quest accepted: Need 3 ScorpionStinger and 10 Piou Feathers
+// 04 Second quest completed: Reward 700 GP (precise calculation)
+// 05 wolvern tooth +20k + 2000monster point ->claw pendant
+
+005-1,49,47,0 script Maya NPC_RAIJIN_FEMALE_LEGION_ARTIS,{
+ function itemCombo;
+ .@maya = getq(CandorQuest_Maya);
+
+ if (.@maya == 0)
+ goto L_QuestNotStarted;
+ if (.@maya == 1)
+ goto L_QuestAccepted;
+ if (.@maya == 2)
+ goto L_Quest2;
+ if (.@maya == 3)
+ goto L_Quest2Accepted;
+ if (.@maya == 4)
+ goto L_NextQuestPending;
+
+L_QuestNotStarted:
+ mesn;
+ mesq l("Hi there, I can always use a helping hand around here, are you the one for the job?");
+ mes "";
+ menu
+ l("Sure"),L_Next,
+ l("No, thanks."),L_Close;
+
+L_Next:
+ mes "";
+ mesn;
+ mesq l("Good! First, let us test if you are resourceful. Bring me 3 @@ and 3 @@. That should be enough!", getitemlink(CottonCloth), getitemlink(MaggotSlime));
+ setq CandorQuest_Maya, 1;
+ tutmes l("You can use \"%s <monster_name>\" to obtain specified monster drop list and stats.", b("@monsterinfo")), l("Protip"), false;
+ close;
+
+L_QuestAccepted:
+ mesn;
+ mesq l("I see you have brought @@/3 @@ and @@/3 @@ for me",countitem(CottonCloth),getitemlink(CottonCloth),countitem(MaggotSlime),getitemlink(MaggotSlime));
+ mes "";
+ menu
+ rif(countitem(CottonCloth) >= 3 && countitem(MaggotSlime) >= 3, l("Here they are!")), L_QuestCompleted,
+ rif(countitem(CottonCloth) < 3 || countitem(MaggotSlime) < 3, l("Oh, then I don't have enough! I'll bring more later!")), L_GetHelp1,
+ l("Can we get back to that later?"), -;
+ tutmes l("You can use \"%s <monster_name>\" to obtain specified monster drop list and stats.", b("@monsterinfo")), l("Protip"), false;
+ close;
+
+L_GetHelp1:
+ mes "";
+ mesc l("Protip: You can get @@ from shops. Cotton is rumored to be magical, keep this is mind.", getitemlink(CottonCloth));
+ mesc l("Protip 2: If you fell stuck, ask at #world, even if nobody is online. Who knows, someone on Discord or IRC might reply!");
+ tutmes l("You can use \"%s <monster_name>\" to obtain specified monster drop list and stats.", b("@monsterinfo")), l("Protip"), false;
+ next;
+ goto L_Close;
+
+L_QuestCompleted:
+ delitem CottonCloth, 3;
+ delitem MaggotSlime, 3;
+ set Zeny, Zeny + 325;
+ getitem CandorShirt, 1;
+ getexp BaseLevel*8, 5;
+ setq CandorQuest_Maya, 2;
+
+ mes "";
+ mesn;
+ mesq l("Thanks for the help. Here, take this shirt and some money.");
+ close;
+
+L_Quest2:
+ mesn;
+ mesq l("Thanks again for the help. You have proven that you are resourceful.");
+ next;
+ if (BaseLevel < 7) mesn;
+ if (BaseLevel < 7) mesq l("But maybe you should help other people and get some levels before returning to me.");
+ if (BaseLevel < 7) close;
+ mesn;
+ mesq l("As always, I can use a helping hand around here. Interested?");
+ mes "";
+ menu
+ l("Sure"),-,
+ l("No, thanks."),L_Close;
+
+ mes "";
+ mesn;
+ mesq l("Good! I want 3 @@ and 10 @@. I have a contract to transform that in good money.",
+ getitemlink(ScorpionStinger), getitemlink(PiouFeathers));
+ setq CandorQuest_Maya, 3;
+ close;
+
+L_Quest2Accepted:
+ mesn;
+ mesq l("I see you have brought @@/3 @@ and @@/10 @@ for me.",
+ countitem(ScorpionStinger),getitemlink(ScorpionStinger),
+ countitem(PiouFeathers),getitemlink(PiouFeathers));
+ mes "";
+ menu
+ rif(countitem(ScorpionStinger) >= 3 && countitem(PiouFeathers) >= 10, l("Here they are!")), L_Quest2Completed,
+ rif(countitem(ScorpionStinger) < 3 || countitem(PiouFeathers) < 10, l("Oh, then I don't have enough! I'll bring more later!")), L_Close,
+ l("Can we get back to that later?"), -;
+ close;
+
+L_Quest2Completed:
+ delitem ScorpionStinger, 3;
+ delitem PiouFeathers, 10;
+ set Zeny, Zeny + 725;
+ getexp BaseLevel*10, 10;
+ setq CandorQuest_Maya, 4;
+
+ // Reward Calculation: Piou base is 3 and Stinger base is 25.
+ // Maya will pay in a 1.5x factor + 300 GP she owed you + a small bonus to round things
+ // (3*3*1.5)+(25*10*1.5) = roughly 389 GP + 300 + bonus(11) = 700
+
+ mes "";
+ mesn;
+ mesq l("Thanks for the help! If you help people, they'll start trusting you. Once they trust you, they'll give you quests which are very important to them;");
+ next;
+ mesn;
+ mesq l("And once they entrust you with what is important for them, they'll pay better. Here is 700 GP. Come back later.");
+ close;
+
+
+L_NextQuestPending:
+ mesn;
+ mesq l("Thanks again for the help. You have proven that you are resourceful. Come back again later.");
+ switch (getequipid(EQI_HEAD_MID)) {
+ case CreasedShirt:
+ itemCombo(l("Creased"), l("All Stats +1"),
+ CreasedShirt, CreasedBoots, CreasedGloves, CreasedShorts);
+ break;
+ case CandorShirt:
+ itemCombo(l("Candor"), l("All Stats +1, Max HP +1%"),
+ CandorShirt, CandorBoots, CandorGloves, CandorShorts, CandorHeadBand);
+ break;
+ case CottonShirt:
+ itemCombo(l("Cotton"), l("All Stats +1, Max HP +1%, Max MP +5%"),
+ CottonShirt, CottonBoots, CottonGloves, 0,
+ CottonShorts, CottonTrousers, CottonSkirt, MiniSkirt);
+ break;
+ case MinerTankTop:
+ itemCombo(l("Miner"), l("All Stats +1, Vit +2"),
+ MinerTankTop, MinerGloves, MinerHat, 0,
+ MinerKnife, Pickaxe);
+ break;
+ case WarlordPlate:
+ itemCombo(l("Warlord"), l("All Stats +1, Block +2%"),
+ WarlordPlate, WarlordBoots, WarlordGloves, WarlordPants, WarlordHelmet);
+ break;
+ case GoldenWarlordPlate:
+ itemCombo(l("Golden Warlord"), l("All Stats +1, Block +2%"),
+ GoldenWarlordPlate, WarlordBoots, WarlordGloves, WarlordPants, WarlordHelmet);
+ break;
+ case Chainmail:
+ itemCombo(l("Chainmail"), l("Block +1%"),
+ Chainmail, ChainmailSkirt);
+ break;
+ case GoldenChainmail:
+ itemCombo(l("Golden Chainmail"), l("Block +1%"),
+ GoldenChainmail, ChainmailSkirt);
+ break;
+ case TerraniteArmor:
+ itemCombo(l("Terranite"), l("All Stats +1, MDEF +30%"),
+ TerraniteArmor, TerraniteBoots,
+ TerranitePants, TerraniteMask);
+ break;
+ case LeatherShirt:
+ itemCombo(l("Leather"), l("All Stats +2"),
+ LeatherShirt, LeatherBoots, LeatherGloves, LeatherTrousers);
+ break;
+ case AssassinChest:
+ itemCombo(l("Assassin"), l("All Stats +1, Agi +5"),
+ AssassinChest, AssassinBoots, AssassinGloves, AssassinPants);
+ break;
+ case SaviorArmor:
+ itemCombo(l("Savior"), l("All Stats +5"),
+ SaviorArmor, SaviorBoots, SaviorPants, SaviorHelmet, 0,
+ SaviorShield, Skypiercer);
+ break;
+ case SilkRobe:
+ itemCombo(l("Silk"), l("Passive MP Regen"),
+ SilkRobe, CottonBoots, 0,
+ SilkGloves, CottonGloves);
+ break;
+ case SorcererRobe:
+ itemCombo(l("Sorcerer"), l("Passive MP Regen"),
+ SorcererRobe, 0,
+ CottonBoots, WizardMoccasins, WitchBoots, 0,
+ CottonGloves, SilkGloves);
+ break;
+ }
+ close;
+
+function itemCombo {
+ next;
+ mesn;
+ mesq l("I see you're trying to use the %s set, nice!", b(getarg(0)));
+ mesq l("This set grants the following effect when complete:");
+ mesc getarg(1), 3;
+ next;
+ mesn;
+ mesq l("This set is composed by the following items:");
+ mes "";
+ for (.@i = 2; .@i < getargcount(); .@i++) {
+ if (getarg(.@i) <= 0)
+ mesc l("--- AND ANY OF ---");
+ else
+ mesc l("* %s", getitemlink(getarg(.@i))),(countitem(getarg(.@i)) ? 3 : 9);
+ }
+ mes "";
+ next;
+ mesn;
+ mesq l("To get the combo, you must fill all slots if one of the listed items. Usually any of the listed ones will do, but in rare cases it won't!");
+ return;
+}
+
+L_Close:
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 4;
+ end;
+}
diff --git a/npc/005-1/sailors.txt b/npc/005-1/sailors.txt
new file mode 100644
index 0000000..633e195
--- /dev/null
+++ b/npc/005-1/sailors.txt
@@ -0,0 +1,157 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Crazyfefe
+// Description:
+// A Sailor from Nard's crew.
+// CandorQuest_Sailors
+// 0: Not started
+// 1: Accepted
+// 2: Invite Elmo
+// 3: Completed
+
+005-1,102,109,0 script Sailors#005-1 NPC_ELVEN_MAN_TRADER_SITTING,{
+ .@q = getq(CandorQuest_Sailors);
+ if (.@q == 1)
+ goto L_Report;
+ if (.@q == 2)
+ goto L_Elmo;
+ if (.@q == 3)
+ goto L_Complete;
+ if ( BaseLevel < 8) { hello; end; }
+
+ mesn;
+ mesq l("Ahoy matey!");
+ next;
+ mesq l("Arr, it is always good to be on land after so much time in sea!");
+ next;
+ mesq l("We want to celebrate this moment, but can you believe we ran out of beer?");
+ mes "";
+ menu
+ l("If I were you, I would drink water."),L_Water,
+ l("WHAT? How can you ever party without beer?!"),L_Accept;
+
+L_Water:
+ mes "";
+ mesn;
+ mesq l("Ah, it is not the same. Not the same.");
+ next;
+ mesq l("When I am drunk I tell myself to stop drinking, but I won't listen the words of a drunkard.");
+ close;
+
+L_Accept:
+ mes "";
+ mesn;
+ mesq l("We can't, don't you agree?!");
+ next;
+ mesq l("However, if we waste the ship's money in beer, Nard will get mad.");
+ next;
+ mesq l("We won't be able to pay you in money, but we'll make you one of us if you bring us beer!");
+ next;
+ mesq l("Please bring us 5 @@! That should be enough!", getitemlink("Beer"));
+ setq CandorQuest_Sailors, 1;
+ close;
+
+L_Report:
+ mesn;
+ mesq l("I see you brought @@/5 @@ for us!",countitem("Beer"),getitemlink("Beer"));
+ mes "";
+ menu
+ rif(countitem("Beer") >= 5, l("Indeed, matey! Here they are!")), L_Give,
+ rif(countitem("Beer") >= 5, l("You're doing the math wrong, matey! I'll bring them later!")), L_Later,
+ rif(countitem("Beer") < 5, l("Arr, that's not enough! I'll bring more later!")), L_Later;
+ close;
+
+L_Later:
+ mes "";
+ mesn;
+ mesq l("Arr, we will wait for you then! We still have tasks to complete!");
+ close;
+
+L_Give:
+ inventoryplace Bandana, 1;
+ delitem "Beer", 5;
+ getitem Bandana, 1;
+ getexp 35, 5;
+ setq CandorQuest_Sailors, 2;
+ mes "";
+ mesn;
+ mesq l("Arr, that's some fine ale! We can do the party when we're done with our work!");
+ next;
+ mesn;
+ mesq l("Take this @@ to prove you're one of us! Could you also invite Elmo? Thanks, matey!", getitemlink("Bandana"));
+ close;
+
+
+L_Elmo:
+ mesn;
+ mesq l("Please invite Elmo for the party, matey! We can't leave our positions!");
+ close;
+
+L_Complete:
+ .@q = getq(CandorQuest_SailorCure);
+ mesn;
+ mesq l("Thanks for the help! Arr, that was some fine ale, indeed!");
+ if (.@q == 1)
+ close;
+ next;
+ mesn;
+ mesq l("A pity a friend of ours drank too much. Juliet knows how to cure. We need to give her a @@ to do a hangover potion.", getitemlink(ScorpionStinger));
+
+L_CureMaster:
+ if (countitem(ScorpionStinger) < 1)
+ close;
+ next;
+ mesn;
+ mesq l("...Dealing with scorpion stingers is a gamble, so we may need a few stingers before making a successful potion.");
+ next;
+ select
+ rif(countitem(ScorpionStinger) >= 1, l("I have a Stinger with me. Try it!")),
+ l("I see.");
+
+ mes "";
+
+ if (@menu == 1)
+ goto L_CureLoop;
+ close;
+
+L_CureLoop:
+ inventoryplace CandorBoots, 1;
+ delitem ScorpionStinger,1;
+ setq2 CandorQuest_SailorCure, getq2(CandorQuest_SailorCure)+1;
+ if (rand(5) == 2) // Crazyfefe like this number :3
+ goto L_questCure_success;
+ goto L_questCure_failure;
+
+L_questCure_success:
+ if (getq2(CandorQuest_SailorCure) * 30 < 240)
+ Zeny = Zeny + 240 - getq2(CandorQuest_SailorCure) * 30;
+ else
+ Zeny = Zeny + 30;
+ getitem CandorBoots, 1;
+ getexp 20, 2;
+ setq CandorQuest_SailorCure, 1;
+ mesn;
+ mesq l("That... It... It worked! This is just the right claw!");
+ next;
+ mesn;
+ mesq lg("We'll bring this one to Juliet at once. Thanks for your help! Savior!");
+ close;
+
+L_questCure_failure:
+ if (getq2(CandorQuest_SailorCure) * 30 < 240)
+ Zeny = Zeny + 60;
+ else
+ Zeny = Zeny + 30;
+ mesn;
+ mesq l("That... Didn't work. I'm sorry.");
+ next;
+ mesn;
+ mesq l("Here's some gold for your efforts.");
+ goto L_CureMaster;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 7;
+ end;
+}
diff --git a/npc/005-1/saxso.txt b/npc/005-1/saxso.txt
new file mode 100644
index 0000000..5bc728f
--- /dev/null
+++ b/npc/005-1/saxso.txt
@@ -0,0 +1,23 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+
+// Sign of great danger
+005-1,37,90,0 script #SignSaxso NPC_NO_SPRITE,{
+ mes ".:: "+l("DANGER")+" ::.";
+ mesc l("Saxso's Official Residence.");
+ mesc l("DO NOT ENTER.");
+ mes "";
+ mesc l("-- Zegas, the Mayoress");
+ tutmes l("In some dungeons etc., there might be a monster much, much stronger than all other monsters on the area. These are the optional miniboss."), l("Optional Miniboss");
+ tutmes l("Defeating is entirely optional. They usually give more experience than the average, but are much stronger and dangerous."), l("Optional Miniboss");
+ tutmes l("Usually they have a few rare drops. The miniboss of Candor may drop a rare key, which you can use to open a certain chest..."), l("Optional Miniboss");
+ tutmes l("(Protip: Always use %s before engaging a different monster!)", b("@monsterinfo")), l("Optional Miniboss");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
diff --git a/npc/005-1/ship.txt b/npc/005-1/ship.txt
new file mode 100644
index 0000000..3b333be
--- /dev/null
+++ b/npc/005-1/ship.txt
@@ -0,0 +1,17 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// This script controls access to Nard's Ship, fixing variables.
+
+005-1,50,117,0 script CandorShip NPC_HIDDEN,0,0,{
+
+OnTouch:
+ LOCATION$="Candor";
+ goto L_Warp;
+
+L_Warp:
+ warp "002-3@"+LOCATION$, 31, 28;
+ closedialog;
+ close;
+}
diff --git a/npc/005-1/soul-menhir.txt b/npc/005-1/soul-menhir.txt
new file mode 100644
index 0000000..6ea59bf
--- /dev/null
+++ b/npc/005-1/soul-menhir.txt
@@ -0,0 +1,20 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Soul Menhir
+
+005-1,43,97,0 script Soul Menhir#candor NPC_SOUL_MOSS,{
+ @map$ = "005-1";
+ setarray @Xs, 42, 43, 44, 42, 44, 42, 43, 44;
+ setarray @Ys, 96, 96, 96, 97, 97, 98, 98, 98;
+ @x = 0;
+ @y = 0;
+ callfunc "SoulMenhir";
+ @map$ = "";
+ cleararray @Xs[0], 0, getarraysize(@Xs);
+ cleararray @Ys[0], 0, getarraysize(@Ys);
+ @x = 0;
+ @y = 0;
+ close;
+}
diff --git a/npc/005-1/underground.txt b/npc/005-1/underground.txt
new file mode 100644
index 0000000..bd5b214
--- /dev/null
+++ b/npc/005-1/underground.txt
@@ -0,0 +1,41 @@
+// TMW2 Script
+// Author:
+// Crazyfefe
+// Jesusalva
+
+005-1,65,63,0 script Sign#0051UG NPC_SWORDS_SIGN,{
+ mes ".:: "+l("DANGER")+" ::.";
+ mesc l("Endless, cute, dangerous, deadly.");
+ mesc l("Only those whom overcome all Candor Challenges shall wield ultimate power.");
+ mes "";
+ mesc l("-- The Expedition");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
+// Effective Warp
+005-1,66,62,0 script Magic Barrier#0051 NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ if (TUTORIAL && !@candor_warn) {
+ mesc ".:: "+l("WARNING")+" ::.", 1;
+ mesc l("You're about to enter a dangerous zone!");
+ mesc l("Outside towns, there's an EXP penalty if you die.");
+ mes "";
+ mes l("This cave is considered outside the town!");
+ next;
+ mesc l("Enter anyway?");
+ mesc l("EXP Penalty: ON"), 1;
+ if (askyesno() == ASK_NO) close;
+ closeclientdialog;
+ @candor_warn = true; // Maybe record this in a more definitive way
+ }
+ warp "006-0", 49, 53;
+ end;
+}
+
diff --git a/npc/005-1/vincent.txt b/npc/005-1/vincent.txt
new file mode 100644
index 0000000..7b6e7e2
--- /dev/null
+++ b/npc/005-1/vincent.txt
@@ -0,0 +1,78 @@
+// TMW2 scripts.
+// Authors:
+// Saulc
+// Variables:
+// CandorQuest_Vincent - quest var
+
+
+005-1,99,105,0 script Vincent NPC_PLAYER,{
+ .@q = getq(CandorQuest_Vincent);
+ if (.@q == 1) goto L_CheckItems;
+ if (.@q == 2) goto L_QuestDone;
+
+ speech S_LAST_BLANK_LINE,
+ l("I am making a figurine with Bug legs for the upcoming festival."),
+ lg("Be a friend and bring me @@ @@.", "Be a friend and bring me @@ @@.", .LegsCount, getitemlink(BugLeg));
+
+ switch (select(l("Ok, I'll be back in no time."),
+ rif(countitem(BugLeg) >= .LegsCount, l("I have them here already.")),
+ l("Sorry, I'm doing other things at the moment.")))
+ {
+ case 1:
+ setq CandorQuest_Vincent, 1;
+ speech S_FIRST_BLANK_LINE,
+ l("Thank you. I'll wait here.");
+ close;
+ case 2:
+ setq CandorQuest_Vincent, 1;
+ goto L_CheckItems;
+ case 3:
+ speech S_FIRST_BLANK_LINE,
+ l("But I'm almost out of @@...", getitemlink(BugLeg));
+ close;
+ }
+
+L_CheckItems:
+ if (countitem(BugLeg) < .LegsCount)
+ {
+ speech
+ l("Sorry, but you don't have what I need."),
+ l("I need @@ @@.", .LegsCount, getitemlink(BugLeg));
+ close;
+ }
+
+ speech
+ l("I can't believe it! You've brought me @@ @@!", .LegsCount, getitemlink(BugLeg)),
+ l("That's exactly what I needed!"),
+ l("I will be forever grateful!");
+
+ delitem BugLeg, .LegsCount;
+ getexp 15, 5;
+ Zeny = Zeny + 850;
+ message strcharinfo(0), l("You receive @@ GP!", 850);
+ setq CandorQuest_Vincent, 2;
+ close;
+
+L_QuestDone:
+ speech
+ l("Hey, @@!", strcharinfo(0)),
+ l("My figurine is so nice!");
+ tutmes l("Some quests and events, like the festival, are only available during specific times.");
+ tutmes l("Some will only repeat yearly, while other events happen weekly or monthly, or in some other time aspect.");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, CreasedShirt);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CreasedShorts);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 25);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
+
+ .LegsCount = 7;
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/005-1/wateranimation.txt b/npc/005-1/wateranimation.txt
new file mode 100644
index 0000000..cb8ae56
--- /dev/null
+++ b/npc/005-1/wateranimation.txt
@@ -0,0 +1,37 @@
+// TMW2 scripts.
+// Author:
+// Saulc
+// Description:
+// Water animations, splash, fishes, etc...
+
+005-1,81,62,0 script #water_animation_candor0 NPC_WATER_SPLASH,{
+
+ fishing(1,
+ Roach,
+ Tench); // begin or continue fishing
+ close;
+
+OnInit:
+ setarray .bait_ids,
+ SmallTentacles, 24,
+ PiouLegs, 1,
+ Bread, 8,
+ Aquada, 24,
+ Tentacles, 32,
+ BugLeg, 2;
+
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
+
+005-1,84,66,0 duplicate(#water_animation_candor0) #water_animation_candor1 NPC_WATER_SPLASH
+005-1,74,66,0 duplicate(#water_animation_candor0) #water_animation_candor2 NPC_WATER_SPLASH
+005-1,76,70,0 duplicate(#water_animation_candor0) #water_animation_candor3 NPC_WATER_SPLASH
+005-1,79,71,0 duplicate(#water_animation_candor0) #water_animation_candor4 NPC_WATER_SPLASH
+005-1,78,62,0 duplicate(#water_animation_candor0) #water_animation_candor5 NPC_WATER_SPLASH
+005-1,55,61,0 duplicate(#water_animation_candor0) #water_animation_candor6 NPC_WATER_SPLASH
+005-1,49,64,0 duplicate(#water_animation_candor0) #water_animation_candor7 NPC_WATER_SPLASH
+005-1,56,65,0 duplicate(#water_animation_candor0) #water_animation_candor8 NPC_WATER_SPLASH
+005-1,48,66,0 duplicate(#water_animation_candor0) #water_animation_candor9 NPC_WATER_SPLASH
+
diff --git a/npc/005-1/zegas.txt b/npc/005-1/zegas.txt
new file mode 100644
index 0000000..a623f32
--- /dev/null
+++ b/npc/005-1/zegas.txt
@@ -0,0 +1,144 @@
+// TMW2 Script
+// Author:
+// Unknown
+// Description:
+// Saxso's widow. Asks new players to trigger a bug bomb in the storehouse.
+
+005-1,43,85,0 script Zegas NPC_MONA,{
+ function lagTutorial;
+ .@q = getq(CandorQuest_Barrel);
+ if (BaseLevel < 5)
+ goto L_Weak;
+ if (.@q == 1)
+ goto L_Find;
+ if (.@q == 2)
+ goto L_Looking;
+ if (.@q == 3)
+ goto L_QuestEnd;
+ if (.@q == 4)
+ goto L_Thanks;
+ goto L_Meet;
+
+L_Weak:
+ mesn;
+ mesq l("Do not enter in this storehouse, the maggots there will kill you.");
+ close;
+
+L_Meet:
+ mesn;
+ mesq l("Hey do you have a second?");
+ next;
+ mesq l("The storehouse here is overrun with house maggots.");
+ next;
+ mesq l("Wouldn't you know it, the bug bomb Eomie gave us is in one of the store room barrels.");
+ next;
+ mesq l("Can you search ##Bthe barrels##b for the bug bomb and set it off when you find it?");
+ setq CandorQuest_Barrel, 1;
+ menu
+ l("Sure."),L_Start,
+ l("Maybe some other time."),L_Close;
+
+L_Find:
+ mesn;
+ mesq l("The storehouse is still over run with house maggots.");
+ next;
+ mesq l("Please help me find the bug bomb Eomie gave us is in one of the store room barrels?");
+ menu
+ l("Sure."),L_Start,
+ l("Maybe some other time."),L_Close;
+
+L_Start:
+ mesn;
+ mesq l("Thanks, come back and see me once you found the bug bomb and set it off.");
+ setq CandorQuest_Barrel, 2;
+ lagTutorial();
+ close;
+
+L_Looking:
+ mesn;
+ mesq l("Still haven't found it? Well, keep looking the barrels at this storehouse. I know it's in there, somewhere.");
+ if (TUTORIAL) {
+ mesc l("Read the tutorial again?");
+ if (askyesno() == ASK_YES)
+ lagTutorial();
+ }
+ close;
+
+L_QuestEnd:
+ mesn;
+ mesq l("From the smell I can see you found the bug bomb!");
+ mesq l("Thanks once again, I know it's not much but here is @@ GP for your troubles.", 350);
+ getexp 63, 0;
+ getitem CandorShorts, 1;
+ Zeny = (Zeny + 350);
+ setq CandorQuest_Barrel, 4;
+ close;
+
+L_Thanks:
+ mesn;
+ mesq l("Thanks for Helping with clear out the store room!");
+ if (!getq(CandorQuest_Chest)) {
+ next;
+ mesn;
+ mesq l("Do you see that fancy house over there? My husband, @@, used to live there.", b(l("Saxso")));
+ next;
+ mesn;
+ mesq l("Strangely enough, when he died, he became a ghost. This shouldn't happen, but yet...");
+ next;
+ mesn;
+ mesq l("Anyway, conspiratory theories aside, his ghost is a powerful boss. I would not attack him if I were you!");
+ }
+ close;
+
+L_Close:
+ closedialog;
+ goodbye;
+ close;
+
+function lagTutorial {
+ // TUTORIAL block
+ tutmes l("The bugs there can be pretty vicious. Do you know what's worse though? Lag.");
+ tutmes l("By pressing @@, you can open the Shortcut menu. And by pressing @@, you open the skill menu!", b("F8"), b("F5"));
+ tutmes l("If you drag the \"Resync\" skill from the skill list to the shortcut list, you'll be able to rapidly solve some lag issues!");
+ tutmes l("Of course, lag might always be a problem. Remember to drag healing items to the shortcut list too. %%2");
+ return;
+}
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 4;
+ end;
+}
+
+005-1,32,73,0 script ZegasDebug NPC_MONA,{
+ showavatar NPC_MONA; // this is handled by avatars.xml
+ mesn;
+ mesq l("Reset?");
+ next;
+ menu
+ l("Yes."), L_Reset,
+ l("No."), L_Close;
+
+L_Reset:
+ setq CandorQuest_Barrel, 0;
+ STARTAREA = STARTAREA &~ (1 << 2);
+ STARTAREA = STARTAREA &~ (1 << 3);
+ STARTAREA = STARTAREA &~ (1 << 4);
+ STARTAREA = STARTAREA &~ (1 << 5);
+ STARTAREA = STARTAREA &~ (1 << 6);
+ STARTAREA = STARTAREA &~ (1 << 7);
+ STARTAREA = STARTAREA &~ (1 << 8);
+ STARTAREA = STARTAREA &~ (1 << 9);
+ mes l("Reset!");
+ close;
+
+L_Close:
+ //showavatar; // Use this to hide the showavatar
+ close;
+
+// Use @shownpc to enable ZegasDebug
+OnInit:
+ if (!debug)
+ disablenpc "ZegasDebug";
+ end;
+}
diff --git a/npc/005-2-1/_import.txt b/npc/005-2-1/_import.txt
new file mode 100644
index 0000000..c9b4ade
--- /dev/null
+++ b/npc/005-2-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 005-2-1: Saxso's Basement
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/005-2-1/_mobs.txt",
+"npc/005-2-1/_warps.txt",
diff --git a/npc/005-2-1/_mobs.txt b/npc/005-2-1/_mobs.txt
new file mode 100644
index 0000000..e697811
--- /dev/null
+++ b/npc/005-2-1/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 005-2-1: Saxso's Basement mobs
+005-2-1,34,38,10,3 monster Lava Slime 1097,7,36000,300000
diff --git a/npc/005-2-1/_warps.txt b/npc/005-2-1/_warps.txt
new file mode 100644
index 0000000..31167fe
--- /dev/null
+++ b/npc/005-2-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 005-2-1: Saxso's Basement warps
+005-2-1,28,34,0 warp #005-2-1_28_34 0,0,005-2,25,36
diff --git a/npc/005-2/_import.txt b/npc/005-2/_import.txt
new file mode 100644
index 0000000..09564f7
--- /dev/null
+++ b/npc/005-2/_import.txt
@@ -0,0 +1,6 @@
+// Map 005-2: Saxso's House
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/005-2/_mobs.txt",
+"npc/005-2/_warps.txt",
+"npc/005-2/saxsochest.txt",
+"npc/005-2/trapdoor.txt",
diff --git a/npc/005-2/_mobs.txt b/npc/005-2/_mobs.txt
new file mode 100644
index 0000000..436e0f1
--- /dev/null
+++ b/npc/005-2/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 005-2: Saxso's House mobs
+005-2,43,40,0,0 monster Saxso Ghost 1076,1,36000,300000
diff --git a/npc/005-2/_warps.txt b/npc/005-2/_warps.txt
new file mode 100644
index 0000000..35e4436
--- /dev/null
+++ b/npc/005-2/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 005-2: Saxso's House warps
+005-2,33,43,0 warp #005-2_33_43 0,0,005-1,38,90
diff --git a/npc/005-2/saxsochest.txt b/npc/005-2/saxsochest.txt
new file mode 100644
index 0000000..591372e
--- /dev/null
+++ b/npc/005-2/saxsochest.txt
@@ -0,0 +1,82 @@
+// TMW2 Script
+// Author:
+// Crazyfefe
+// Description:
+// Minor quest for a necklace
+
+005-2,44,41,0 script Saxso Chest NPC_NO_SPRITE,{
+
+ function quest_completed {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("you already opened the chest.");
+ close;
+ }
+
+ function quest_open {
+ if (countitem(.key) > 0) {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("You open the chest and found a @@.",getitemlink(.reward));
+ delitem .key,1;
+ getitem .reward,1;
+ getexp 80, 15;
+ setq CandorQuest_Chest, 1;
+ close;
+ } else {
+ speech S_FIRST_BLANK_LINE,
+ l("You don't have the key.");
+ tutmes l("In the world, you may find several treasure boxes. Different treasure boxes need different keys."), l("Treasure!");
+ tutmes l("The most common treasure box uses %s and can opened many times. However, this is a special treasure box. You'll need a %s to open it.", getitemlink(TreasureKey), getitemlink(.key)), l("Treasure!");
+ tutmes l("This key is dropped by the Saxso Ghost. Did you knew you can obtain info about the monster drop rates and strength?"), l("Monster Information!");
+ tutmes l("Use %s (name in english) to obtain this info. You don't need the full name either, so go ahead and try it!", b("@monsterinfo Saxso")), l("Monster Information!");
+ close;
+ }
+ }
+
+ function quest_started {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("It looks locked.");
+ narrator S_LAST_NEXT,
+ l("Perhaps you should use a key to open it.");
+ do
+ {
+ select
+ l("Use a key."),
+ menuaction(l("Quit"));
+
+ switch (@menu) {
+ case 1:
+ quest_open;
+ break;
+ }
+ } while (@menu != 2);
+ }
+
+ do
+ {
+ .@chest = getq(CandorQuest_Chest);
+ if (.@chest == 1)
+ goto quest_completed;
+ select
+ rif(.@chest == 0,l("There is a dusty chest.")),
+ menuaction(l("Quit"));
+
+ switch (@menu) {
+ case 1:
+ quest_started;
+ break;
+ }
+ } while (@menu != 2);
+
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .key = SaxsoKey;
+ .reward = ToothNecklace;
+
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+
diff --git a/npc/005-2/trapdoor.txt b/npc/005-2/trapdoor.txt
new file mode 100644
index 0000000..41c2317
--- /dev/null
+++ b/npc/005-2/trapdoor.txt
@@ -0,0 +1,13 @@
+// TMW 2 script
+// Author:
+// Saulc
+
+005-2,24,36,0 script Trap Door NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ .@chest = getq(CandorQuest_Chest);
+ if (.@chest == 1)
+ warp "005-2-1", 28, 35;
+ close;
+}
diff --git a/npc/005-3/_import.txt b/npc/005-3/_import.txt
new file mode 100644
index 0000000..e47ad86
--- /dev/null
+++ b/npc/005-3/_import.txt
@@ -0,0 +1,5 @@
+// Map 005-3: Storage House
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/005-3/_mobs.txt",
+"npc/005-3/_warps.txt",
+"npc/005-3/barrel.txt",
diff --git a/npc/005-3/_mobs.txt b/npc/005-3/_mobs.txt
new file mode 100644
index 0000000..4ab4a44
--- /dev/null
+++ b/npc/005-3/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 005-3: Storage House mobs
+005-3,34,37,10,3 monster House Maggot 1084,6,40000,300000,Trainer::OnKillHouseMaggot
diff --git a/npc/005-3/_warps.txt b/npc/005-3/_warps.txt
new file mode 100644
index 0000000..93f1503
--- /dev/null
+++ b/npc/005-3/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 005-3: Storage House warps
+005-3,25,43,0 warp #005-3_25_43 0,0,005-1,41,85
diff --git a/npc/005-3/barrel.txt b/npc/005-3/barrel.txt
new file mode 100644
index 0000000..160e779
--- /dev/null
+++ b/npc/005-3/barrel.txt
@@ -0,0 +1,171 @@
+// TMW-2 script.
+// Author:
+// Crazyfefe
+// Jesusalva
+// Description:
+// Barrels
+// Variables:
+// CandorQuest_Barrel
+// Values:
+// 0 Default.
+// 1 Quest Found.
+// 2 Quest Accepted.
+// 3 Bomb Defused.
+// 4 Quest Completed.
+
+function script CheckBarrel {
+ @barrel_count = 0;
+ @count_tmp = 0;
+ if ($@GM_OVERRIDE)
+ npctalk3 l("Hello, I am B-@@, of the @@ order.", @barrel, $@BarrelBits[@barrel]);
+ if (STARTAREA & $@BarrelBits[@barrel])
+ goto L_Empty;
+ STARTAREA = STARTAREA | $@BarrelBits[@barrel];
+
+ goto L_Loop;
+
+L_BarrelTally:
+ areamonster "005-3", 24, 34, 45, 42, "House Maggot", 1084, 1, "Trainer::OnKillHouseMaggot";
+ if (@barrel_count == 8)
+ {
+ message strcharinfo(0), "You found the bug bomb.";
+ specialeffect(14);
+ specialeffect(51);
+ killmonster("005-3", "Trainer::OnKillHouseMaggot");
+ setq CandorQuest_Barrel, 3;
+ }
+ @rand = rand2(5);
+ if (@rand == 0)
+ getitem Coal,1;
+ else if (@rand == 1)
+ getitem BugLeg,1;
+ else if (@rand == 2)
+ getitem CommonCarp,1;
+ else if (@rand == 3)
+ getitem Croconut,1;
+ else if (@rand == 4)
+ getitem TolchiArrow,6;
+ return;
+
+L_Loop:
+ while (@count_tmp < 8) {
+ @count_tmp = (@count_tmp + 1);
+ if (STARTAREA & $@BarrelBits[@count_tmp])
+ @barrel_count = (@barrel_count + 1);
+ }
+ goto L_BarrelTally;
+
+L_Empty:
+ message strcharinfo(0), "You've already searched this barrel.";
+ return;
+
+}
+
+005-3,24,36,0 script Barrel#1 NPC_NO_SPRITE,{
+ @barrel = 1;
+ .@q = getq(CandorQuest_Barrel);
+ if (.@q == 2)
+ {
+ CheckBarrel();
+ }
+ end;
+OnInit:
+ // Remember: array start at zero, but barrels count start at 1. "Fixing" may break barrel 8!
+ setarray $@BarrelBits, (1 << 1), (1 << 2), (1 << 3), (1 << 4), (1 << 5), (1 << 6), (1 << 7), (1 << 8), (1 << 9);
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+005-3,24,39,0 script Barrel#2 NPC_NO_SPRITE,{
+ @barrel = 2;
+ .@q = getq(CandorQuest_Barrel);
+ if (.@q == 2)
+ {
+ CheckBarrel();
+ }
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+005-3,29,37,0 script Barrel#3 NPC_NO_SPRITE,{
+ @barrel = 3;
+ .@q = getq(CandorQuest_Barrel);
+ if (.@q == 2)
+ {
+ CheckBarrel();
+ }
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+005-3,35,34,0 script Barrel#4 NPC_NO_SPRITE,{
+ @barrel = 4;
+ .@q = getq(CandorQuest_Barrel);
+ if (.@q == 2)
+ {
+ CheckBarrel();
+ }
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+005-3,38,34,0 script Barrel#5 NPC_NO_SPRITE,{
+ @barrel = 5;
+ .@q = getq(CandorQuest_Barrel);
+ if (.@q == 2)
+ {
+ CheckBarrel();
+ }
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+005-3,44,40,0 script Barrel#6 NPC_NO_SPRITE,{
+ @barrel = 6;
+ .@q = getq(CandorQuest_Barrel);
+ if (.@q == 2)
+ {
+ CheckBarrel();
+ }
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+005-3,38,41,0 script Barrel#7 NPC_NO_SPRITE,{
+ @barrel = 7;
+ .@q = getq(CandorQuest_Barrel);
+ if (.@q == 2)
+ {
+ CheckBarrel();
+ }
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+005-3,29,41,0 script Barrel#8 NPC_NO_SPRITE,{
+ @barrel = 8;
+ .@q = getq(CandorQuest_Barrel);
+ if (.@q == 2)
+ {
+ CheckBarrel();
+ }
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
diff --git a/npc/005-4/_import.txt b/npc/005-4/_import.txt
new file mode 100644
index 0000000..e93dfbb
--- /dev/null
+++ b/npc/005-4/_import.txt
@@ -0,0 +1,6 @@
+// Map 005-4: Armor Shop
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/005-4/_warps.txt",
+"npc/005-4/rosen.txt",
+"npc/005-4/shop.txt",
+"npc/005-4/tolchi.txt",
diff --git a/npc/005-4/_warps.txt b/npc/005-4/_warps.txt
new file mode 100644
index 0000000..21addc1
--- /dev/null
+++ b/npc/005-4/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 005-4: Armor Shop warps
+005-4,25,43,0 warp #005-4_25_43 0,0,005-1,55,81
diff --git a/npc/005-4/rosen.txt b/npc/005-4/rosen.txt
new file mode 100644
index 0000000..3c67021
--- /dev/null
+++ b/npc/005-4/rosen.txt
@@ -0,0 +1,221 @@
+// TMW2 scripts.
+// Author:
+// Saulc
+// Description:
+// Candor Armor&Weapon shop keeper.
+// Variables:
+// CandorQuest_Rosen
+// Suggestion: Deliver a letter to Zegas, giving player background about
+// Candor Island and Saxso. Requires level 5. Reward: 150 GP.
+// Could have an additional step related to Bifs. Even a daily quest asking
+// for (day % 8) ore, with suitable prices.
+//
+// 0 - Not assigned
+// 1 - Quest Accepted
+// 2 - Quest Complete
+// 3 - Reward Taken
+// 4 - Second Quest Accepted
+// 5 - Second Quest Complete
+
+005-4,29,36,0 script Rosen NPC_GUARD1,{
+ function explain_ironingot {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Did you see Jhedia the blacksmith in Tulimshar? She might know how you could get this."),
+ l("Nevertheless, you probably need some base materials from Bifs. Who knows what it will drop if you are lucky?");
+
+ return;
+ }
+
+ speech S_LAST_NEXT,
+ l("Welcome to Tolchi and Rosen Shop."),
+ l("What would you like today?");
+
+ do
+ {
+ select
+ menuaction(l("Trade")),
+ l("How can I get iron ingot?"),
+ l("I want to improve my equipment."),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ if (!getq(General_Narrator) && TUTORIAL) {
+ mesn;
+ mesc l("Please spend responsibly. You still need to pay Nard for a ship travel and there's only so much money you can find on a small island like Candor."), 1;
+ mesc l("And some of the shop items can be found as drops or in quests!");
+ next;
+ }
+ closedialog;
+ shop "Shop#Candor";
+ close;
+ case 2:
+ explain_ironingot;
+ break;
+ case 3:
+ goto L_Gloves;
+ break;
+ case 4:
+ closedialog;
+ goodbye;
+ close;
+ }
+ } while (1);
+
+
+L_Gloves:
+ .@q=getq(CandorQuest_Rosen);
+ .@b=getq(ShipQuests_ChefGado);
+ mes "";
+ if (BaseLevel < 4) goto L_NoLevel;
+ if (.@b < 2) goto L_NoGloves;
+ if (.@q >= 3) goto L_Complete;
+ .@k=getq2(CandorQuest_Rosen); // Get number of kills (via getq2)
+
+ mesn;
+ if (.@q == 0) {
+ mesq l("Ah, I see you have some used gloves. I'm not sure if you can even mine with it...");
+ next;
+ mesn;
+ mesq l("Uhm, maybe I could teach you something, too. Go mine 5 @@. You should find some at northeast of the Island.", getmonsterlink(DiamondBif));
+ tutmes l("Bif is a monster shaped like weird rocks. Diamond Bif is a Bif with higher chances to drop Diamonds.");
+ next;
+ mesn;
+ mesq l("These monsters are a great source of raw crafting materials.");
+ setq CandorQuest_Rosen, 1, 0;
+ } else if (.@q == 1) {
+ mesq l("You didn't mine enough @@. The perfect spot is at northeast of this island. It takes a while to them respawn, so don't hurry.", getmonsterlink(DiamondBif));
+ } else if (.@q == 2) {
+ mesq l("Wow! Those pitiable gloves sure weren't made for mining. They're almost ruined!");
+ mesq l("Here, take this @@. It will be better suited!", getitemlink(CandorGloves));
+ inventoryplace CandorGloves, 1;
+ getexp 30, 5;
+ getitem CandorGloves, 1;
+ setq CandorQuest_Rosen, 3, 0;
+ }
+ close;
+
+L_NoLevel:
+ mesn;
+ mesq l("You aren't strong enough.");
+ next;
+ mesn;
+ mesq l("Go see someone else for now. Yes, you need level to take most tasks available on the world!");
+ close;
+
+L_NoGloves:
+ mesn;
+ mesq l("You should have some decent gloves, dude. These offer defense, as it's easier to handle your weapon and parry attacks.");
+ next;
+ mesn;
+ mesq l("For sure the chef of Nard's ship could spare you a pair of gloves.");
+ close;
+
+L_Complete:
+ if (BaseLevel > 5 && .@q < 5 && countitem(TolchiArrow))
+ goto L_Task;
+ mesn;
+ mesq l("Ah, uhm, I'm not sure. We at Candor don't need much.");
+ next;
+ mesn;
+ mesq l("You could try to get new equipment by doing more quests. You need level to use them, though.");
+ next;
+ mesn;
+ mesq l("Alternatively, I think someone at the Land Of Fire Village is able to refine some items. Why don't you try it sometime?");
+ close;
+
+L_Task:
+ if (.@q != 4) {
+ mesn;
+ mesq l("Actually, I see you have some @@. Ever tried a bow before?", getitemlink(TolchiArrow));
+ next;
+ mesn;
+ mesq l("Bows give you a good attack range, in exchange of all your evasion.");
+ mesq l("Meaning that once you equip a bow, you likely won't be able to dodge attacks.");
+ next;
+ mesn;
+ mesq l("Well, if you are good, you can just not get hit. If you're not so good, then bows will be a pain.");
+ setq CandorQuest_Rosen, 4;
+ }
+ mesq l("I was thinking, maybe I could make a @@ for you. But I want a few items:", getitemlink(TrainingBow));
+ mesc l("@@/@@ @@", countitem(CactusDrink), 1, getitemlink(CactusDrink)); // Less than 1% drop
+ mesc l("@@/@@ @@", countitem(Piberries), 1, getitemlink(Piberries)); // Can be bought, or 6% drop from Mana Bug
+ next;
+ mesq l("Do you have that with you?");
+ if (askyesno() == ASK_YES) {
+ mes "";
+ if (!countitem(CactusDrink) ||
+ !countitem(Piberries)) {
+ mesn;
+ mesq l("Now, listen closely. Jesusalva desgined most of the quests. And he hates cheaters and liars.");
+ next;
+ mesn;
+ mesq l("Actually, he's just too lazy to add proper checks everywhere. If you try to cheat, you'll suffer some penalty.");
+ next;
+ mesn;
+ mesq l("In this case, haven't I counted, I would have deleted only part of the items, then I would go silent. No refunds.");
+ mesq l("That's how this world inhabitants deal with cheaters... So don't be one, my friend. You have been warned!");
+ close;
+ }
+ inventoryplace TrainingBow, 1;
+ delitem CactusDrink, 1;
+ delitem Piberries, 1;
+ setq CandorQuest_Rosen, 5;
+ getitem TrainingBow, 1;
+ mesn;
+ mesq l("Here you go, my friend. Uhm, good luck with archery.");
+ }
+ close;
+
+ function rosen_add_kills
+ {
+ .@qp=getq(CandorQuest_Rosen);
+ .@kp=getq2(CandorQuest_Rosen); // Get number of kills (via getq2)
+ setq CandorQuest_Rosen, .@qp, .@kp+1;
+ //message strcharinfo(0), l("Set status @@ with @@ kills", .@qp, .@kp);
+ }
+
+ function rosen_max_kills
+ {
+ .@qp=getq(CandorQuest_Rosen);
+ setq CandorQuest_Rosen, .@qp+1, 0;
+ //message strcharinfo(0), l("End status @@", .@qp);
+ }
+
+OnKillMBif:
+ .@q=getq(CandorQuest_Rosen);
+ .@k=getq2(CandorQuest_Rosen); // Get number of kills (via getq2)
+ if (.@q == 1) {
+ if (.@k+1 >= 5) {
+ rosen_max_kills();
+ message strcharinfo(0), l("Go back to Rosen!");
+ } else {
+ rosen_add_kills();
+ message strcharinfo(0), l("@@/5 @@", .@k+1, getmonsterlink(DiamondBif));
+ }
+ }
+ fix_mobkill(DiamondBif);
+ end;
+
+
+OnTimer1000:
+ domovestep;
+
+OnInit:
+ initpath "move", 28, 36,
+ "dir", DOWN, 0,
+ "wait", 31, 0,
+ "move", 31, 36,
+ "dir", DOWN, 0,
+ "wait", 31, 0,
+ "move", 25, 35,
+ "dir", UP, 0,
+ "wait", 2, 0,
+ "move", 29, 36,
+ "dir", DOWN, 0,
+ "wait", 31, 0;
+ initialmove;
+ initnpctimer;
+ .distance = 5;
+}
diff --git a/npc/005-4/shop.txt b/npc/005-4/shop.txt
new file mode 100644
index 0000000..67e1d5e
--- /dev/null
+++ b/npc/005-4/shop.txt
@@ -0,0 +1,48 @@
+// TMW2 scripts.
+// Author:
+// Saulc
+// Description:
+// Rosen sells basic armor on Candor. Logic by Reid.
+
+005-4,30,37,0 trader Shop#Candor NPC_NO_SPRITE,{
+
+OnInit:
+ sleep(SHOPWAIT);
+ tradertype(NST_MARKET);
+
+ sellitem RoundLeatherShield, -1, 2;
+ sellitem Knife, -1, 5;
+ sellitem TolchiArrow, -1, 30000;
+ sellitem TolchiAmmoBox, -1, 4;
+ sellitem LousyMoccasins, -1, 4;
+ sellitem TrainingBow, -1, 3;
+
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+
+OnClock0602:
+OnClock1206:
+OnClock1811:
+OnClock0004:
+ restoreshopitem RoundLeatherShield, -1, 2;
+ restoreshopitem Knife, -1, 5;
+ restoreshopitem TolchiArrow, -1, 30000;
+ restoreshopitem TolchiAmmoBox, -1, 4;
+ restoreshopitem LousyMoccasins, -1, 4;
+ restoreshopitem TrainingBow, -1, 3;
+ end;
+
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+}
+
diff --git a/npc/005-4/tolchi.txt b/npc/005-4/tolchi.txt
new file mode 100644
index 0000000..05096b9
--- /dev/null
+++ b/npc/005-4/tolchi.txt
@@ -0,0 +1,407 @@
+// TMW2 scripts.
+// Author:
+// Saulc
+// Jesusalva
+// Variables:
+// CandorQuest_Tolchi
+// Description:
+// Tolchi crafts weapons at Rosen & Tolchi shop
+// Values:
+// 0 BlackSmith quest ask for 1 iron oore
+// 1 BlackSmith quest ask for 3 coal
+// 2 BlackSmith quest ask for 1 iron ingot
+// 3 Quest is Complete
+
+
+005-4,42,37,0 script Tolchi NPC_RAIJIN_FEMALE_LEGION_ARTIS,{
+ function quest_close;
+ function quest_giveitem;
+ function quest_first;
+ function quest_second;
+ function quest_third;
+ function tolchi_arrows;
+ function tolchi_tweaks;
+
+ /////////////////////////////////////////////////////////////////////////////
+ @q = getq(CandorQuest_Tolchi);
+
+ if (@q == 3) {
+ mesn;
+ mesq l("Hey! How are you today? Thanks again for your help.");
+ } else if (BaseLevel < 5 || BaseLevel < 10 && @q == 1 || BaseLevel < 15 && @q == 2) {
+ mesn;
+ mesq l("I need help, but you aren't strong enough. Please come back later.");
+ next;
+ } else {
+ mesn;
+ mesq l("Hello! You seem strong enough, could take a request from me? Of course, not for free.");
+ next;
+ }
+
+ do
+ {
+ select
+ l("I'm interested in your arrows, they're too expensive with Rosen."),
+ rif(@q == 0 && BaseLevel >= 5, l("Yes. What do you need help with?")),
+ rif(@q == 1 && BaseLevel >= 10, l("Yes. What do you need help with?")),
+ rif(@q == 2 && BaseLevel >= 15, l("Yes. What do you need help with?")),
+ l("Do you accept special requests?"),
+ l("I have other things to do at the moment.");
+ mes "";
+ switch (@menu)
+ {
+ case 1:
+ tolchi_arrows();
+ break;
+ case 2:
+ quest_first();
+ break;
+ case 3:
+ quest_second();
+ break;
+ case 4:
+ quest_third();
+ break;
+ case 5:
+ tolchi_tweaks();
+ break;
+ default:
+ quest_close();
+ break;
+ }
+ } while (@menu != 6);
+
+ closedialog;
+ goodbye;
+ close;
+
+// Close and talk about quest
+function quest_close {
+ if (@q < 3) {
+ mesn;
+ mesq l("Maybe next time, then.");
+ next;
+ }
+ return;
+}
+
+// Item delivery core
+function quest_giveitem {
+@q = getq(CandorQuest_Tolchi);
+ if (@q == 2)
+ {
+ if (countitem(IronIngot) == 0)
+ {
+ mesn;
+ mesq l("You don't have the Iron Ingot.");
+ next;
+ return;
+ }
+ delitem IronIngot, 1;
+ Zeny = Zeny + 8000; // Real worth: 2820 GP + 2400 (ship fee) = 5220 gp poll (the plus is net profit)
+ getexp 1575,0;
+ setq CandorQuest_Tolchi, 3;
+ speech S_FIRST_BLANK_LINE,
+ l("Thanks mate, that is everything I need! Have a good day!");
+ }
+ if (@q == 1)
+ {
+ if (countitem(Coal) < 3)
+ {
+ mesn;
+ mesq l("You don't have the three Coal lumps.");
+ next;
+ return;
+ }
+ delitem Coal, 3;
+ Zeny = Zeny + 825;
+ getexp 105,0;
+ setq CandorQuest_Tolchi, 2;
+ }
+ if (@q == 0)
+ {
+ if (countitem("Iron Ore") == 0)
+ {
+ mesn;
+ mesq l("You don't have the Iron Ore.");
+ next;
+ return;
+ }
+ delitem IronOre, 1;
+ Zeny = Zeny + 225;
+ getexp 52,0;
+ setq CandorQuest_Tolchi, 1;
+ }
+ close;
+}
+
+// First quest description
+function quest_first {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Well, it is terrible! How can I make armours if I ran out of Iron? Shall the citizens of Candor Island perish in a monster attack?!"), // NOTE: I really prefer EN_US (eg. armor vs armour)
+ l("They shouldn't. Could you perhaps, kindly bring me 1 @@?", getitemlink(IronOre));
+ do
+ {
+ //l("Do not worry, I'll seek and bring it to you."),
+ select
+ l("Do not worry, I have them right here."),
+ l("I am not a citizen of Candor.");
+
+ switch (@menu)
+ {
+ case 1:
+ quest_giveitem();
+ break;
+ case 2:
+ quest_close();
+ break;
+ }
+ } while (@menu != 2);
+ return;
+}
+
+// Second quest description
+function quest_second {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Thanks for helping my shop earlier. I forge weapons, but unfortunately, I need more than just iron to forge them."),
+ l("Can you bring me 3 @@? Of course, you'll be rewarded.", getitemlink(Coal));
+ do
+ {
+ // l("Hey, I like rewards. Wait me, I'll be back!"),
+ select
+ l("You better have it ready, because I have the Coal with me!"),
+ l("Eh, that seems too problematic. Sorry.");
+
+ switch (@menu)
+ {
+ case 1:
+ quest_giveitem();
+ break;
+ case 2:
+ quest_close();
+ break;
+ }
+ } while (@menu != 2);
+ return;
+}
+
+// Third quest description
+function quest_third {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Ok, this will be my last request. The Trainer asked me for a fine weapon, to protect our village."),
+ l("Problem is, I do not have the knowledge to make it without @@. If you bring me one, I'll reward you with one quarter of my commission.", getitemlink(IronIngot));
+ do
+ {
+ // l("Do not worry, I'll be back in a jiffy."),
+ select
+ l("No problem is too big for me. I have them right here!"),
+ l("Sorry, I am busy...");
+
+ switch (@menu)
+ {
+ case 1:
+ quest_giveitem();
+ break;
+ case 2:
+ quest_close();
+ break;
+ }
+ } while (@menu != 2);
+ return;
+}
+
+// Make Tolchi Arrows (not cost-effective)
+function tolchi_arrows {
+ // Price: 120~200, with 25 GP discount per task done (max. 3 tasks atm)
+ .@price=max(120, 200-(@q*25));
+ mesn;
+ mesq l("Well, I can sell you a random box with almost 100 @@ for just @@ GP.", getitemlink(TolchiArrow), .@price);
+ next;
+ if (Zeny < .@price || askyesno() == ASK_NO) {
+ mesc l("Come back when you are willing to spend money.");
+ next;
+ } else {
+ mes "";
+ inventoryplace TolchiArrow, 110;
+ Zeny=Zeny-.@price;
+ getitem TolchiArrow, rand2(102,106);
+ mesn;
+ mesq l("Here you go. Uhm, I really prefer if you buy with Rosen, though."); // I just don't want to add loops or inputs
+ next;
+ }
+ return;
+}
+
+// Supreme Tweaking
+function tolchi_tweaks {
+ // Price: the sky is the limit
+ .@price=max(120, 200-(@q*25));
+ mesn;
+ mes l("Hmm, no, not really. However, I can try my hand at tweaking an item options :3");
+ next;
+ mesn;
+ mesq l("Options are %s. Any craftsman can make them. Adventurers tend to be the best craftsman in the world.", b(l("item dependant bonuses")));
+ next;
+ mesn;
+ mesq l("Usually you can only tweak if the item already have another option, but I am Tolchi. So, which item you want to tweak?");
+ next;
+
+ // Request and confirm
+ .@id=requestitemindex();
+ if (!csys_Confirm(.@id))
+ return false;
+
+ // Find numeric ID
+ delinventorylist();
+ getinventorylist();
+ .@handle=@inventorylist_id[.@id];
+
+ // Invalid (absolutely should never happen)
+ if (.@handle < 1) {
+ mesn;
+ mesq l("...What? Which item? Sorry, too much smoke around here.");
+ next;
+ return;
+ }
+ // Multiple
+ if (countitem(.@handle) != 1) {
+ mesn;
+ mesq l("Sorry, but you have multiple %s.", getitemlink(.@handle));
+ next;
+ return;
+ }
+ // Permission NG: (Not Granted)
+ if (array_find(.disallow_equip, .@handle) >= 0) {
+ mesn;
+ mesq l("Sorry, but I won't dare touch a %s.", getitemlink(.@handle));
+ next;
+ mesn;
+ mesq l("Depending on the case, Nicholas, in Hurnscald, can do a better job than me.");
+ next;
+ return;
+ }
+ // Aleady slotted
+ if (getitemoptionidbyindex(.@id, 0) > 0) {
+ mesn;
+ mesq l("I'm not going to try to improve this masterpiece. Look its options!");
+ next;
+ return;
+ }
+
+ // Calculate price
+ .@lv=getiteminfo(.@handle, ITEMINFO_ELV);
+ .@price=.@lv**3; // Cubic function to determine price.
+ // Lv 1: 3 GP | Lv 10: 1kGP | Lv 20: 8kGP | Lv 40: 64kGP | Lv 60: 216kGP
+ // Lv 80: 512k GP | Lv 100: 1 Million GP!
+ if (isequipped(.@handle)) {
+ mesn;
+ mesq l("Please unequip your %s first.", getitemlink(.@handle));
+ close;
+ }
+ mesn;
+ mesc l("Tweaking: %s", getitemlink(.@handle));//getinvindexlink(.@id));
+ mesq l("That will be %s GP. Are you sure?", col(format_number(.@price), 1));
+ next;
+
+ if (Zeny < .@price || askyesno() == ASK_NO) {
+ mesc l("Come back when you are willing to spend money.");
+ next;
+ } else {
+ mes "";
+ // Okay, time to force a tweaking
+ Zeny=Zeny-.@price;
+
+ // Options which Tolchi knows
+ deletearray(@csys_attr);
+ setarray @csys_attr, 0,
+ IOPT_RICHNESS, 5,
+ IOPT_EXPGAIN, 9,
+ VAR_HPACCELERATION, 37,
+ VAR_MAXHPAMOUNT, 49;
+
+ // Armor fix
+ if (getiteminfo(.@handle, ITEMINFO_TYPE) == IT_ARMOR) {
+ csys_ArmorFix(.@handle);
+ .@lv=max(1, .@lv/4);
+ } else {
+ csys_WeaponFix(.@handle);
+ }
+
+ // Select a bonus and purge it
+ .@vartp=relative_array_random(@csys_attr);
+
+ // Safety check
+ if (.@vartp < 1)
+ .@vartp=relative_array_random(@csys_attr);
+
+ // First time player bonus
+ if (!#FIRST_TIME) {
+ .@vartp=IOPT_RICHNESS;
+ }
+
+ // Apply the bonus
+ .@bonus=csys_Multiplier(.@lv);
+ .@bonus=limit(1, .@bonus, 25);
+ if (.@bonus > 5)
+ .@bonus=rand2(5, .@bonus);
+ if (.@vartp == VAR_MAXHPAMOUNT)
+ .@bonus+=rand2(5, 30);
+ setitemoptionbyindex(.@id, 0, .@vartp, .@bonus);
+
+ // First time item bonus
+ if (!#FIRST_TIME) {
+ if (TOP3AVERAGELVL() > 50) {
+ .@vartp=IOPT_EXPGAIN;
+ //.@bonus=csys_Multiplier(.@lv);
+ .@bonus=limit(10, (TOP3AVERAGELVL()/2)-20, 30);
+ setitemoptionbyindex(.@id, 1, .@vartp, .@bonus);
+ }
+ #FIRST_TIME=true;
+ }
+
+ .@mylevel=BaseLevel*(REBIRTH+1) + max(1, .@lv);
+ if (.@mylevel > 30)
+ setitemoptionbyindex(.@id, 3, IOPT_WALKSPEED, rand2(-10, -5));
+ mesn;
+ mesc l("Well, here you are. I hope you enjoy ^^", 3);
+ next;
+ }
+ return;
+}
+
+OnTimer1000:
+ domovestep;
+
+OnInit:
+ initpath "move", 44, 35,
+ "dir", UP, 0,
+ "wait", 30, 0,
+ "move", 43, 40,
+ "dir", UP, 0,
+ "wait", 30, 0,
+ "move", 40, 35,
+ "dir", UP, 0,
+ "wait", 30, 0,
+ "dir", LEFT, 0,
+ "wait", 30, 0,
+ "move", 42, 37,
+ "dir", DOWN, 0,
+ "dir", UP, 0,
+ "wait", 30, 0,
+ "move", 45, 37,
+ "dir", DOWN, 0,
+ "wait", 30, 0,
+ "move", 33, 37,
+ "dir", LEFT, 0,
+ "wait", 30, 0,
+ "move", 33, 37,
+ "dir", RIGHT, 0,
+ "wait", 30, 0;
+
+ initialmove;
+ initnpctimer;
+ .distance = 5;
+
+ setarray .disallow_equip, 0, SponsorNecklace, DiscordNecklace, Event1HSword, Event2HSword, EventBow, EventWand, Lightbringer, DemureAxe, Tyranny, Runestaff, AegisShield, BlacksmithAxe, Dustynator, SaviorShield, SaviorArmor, SaviorPants, SaviorBoots, Skypiercer, CreasedShirt, CreasedShorts;
+ end;
+}
diff --git a/npc/005-5/_import.txt b/npc/005-5/_import.txt
new file mode 100644
index 0000000..6bdc135
--- /dev/null
+++ b/npc/005-5/_import.txt
@@ -0,0 +1,5 @@
+// Map 005-5: Candor Bank
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/005-5/_warps.txt",
+"npc/005-5/cynric.txt",
+"npc/005-5/nylo.txt",
diff --git a/npc/005-5/_warps.txt b/npc/005-5/_warps.txt
new file mode 100644
index 0000000..12df5de
--- /dev/null
+++ b/npc/005-5/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 005-5: Candor Bank warps
+005-5,25,43,0 warp #005-5_25_43 0,0,005-1,46,79
diff --git a/npc/005-5/cynric.txt b/npc/005-5/cynric.txt
new file mode 100644
index 0000000..af05aad
--- /dev/null
+++ b/npc/005-5/cynric.txt
@@ -0,0 +1,15 @@
+// TMW-2 Script.
+// Author:
+// Saulc
+// Jesusalva
+
+005-5,30,37,0 script Cynric NPC_LLOYD,{
+ Banker(.name$, "Candor", 7700);
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+}
+
diff --git a/npc/005-5/nylo.txt b/npc/005-5/nylo.txt
new file mode 100644
index 0000000..18c3d31
--- /dev/null
+++ b/npc/005-5/nylo.txt
@@ -0,0 +1,221 @@
+// Author:
+// Saulc
+// Jesusalva
+
+005-5,27,38,0 script Nylo NPC_PLAYER,{
+ function nylo_thanks;
+ function nylo_items;
+ function nylo_money;
+ function nylo_explain;
+
+
+ speech S_LAST_BLANK_LINE,
+ l("Visiting the bank too right? We're only a small village but Cynric is the best bank guy I know.");
+
+ .@q=getq(CandorQuest_Marggo);
+ do
+ {
+ select
+ l("Yeah, you're right."),
+ l("You store a large collection of goods. Could you perhaps sell me some?"),
+ rif(!.@q,l("What do you for a living?")),
+ l("What is banking?");
+ switch (@menu)
+ {
+ case 1:
+ break;
+ case 2:
+ mesn;
+ mesq l("Sure. I like to keep Alcoholic beverages, because they raise EXP gain when you drink @@.", b(l("with friends")));
+ next;
+ mesn;
+ mesq l("Of course: better drinks, more EXP. Just be careful to don't get so drunk that you cannot fight anymore, will ya?");
+ next;
+ if (TUTORIAL && !@beertuto) {
+ @beertuto=true;
+ tutmes l("Drinking with friends will give 1.5% extra XP boost for each person nearby."), l(".:: Alcohol Tutorial ::.");
+ tutmes l("Alcohol effects expire upon death. You need vitality to drink more beer."), l(".:: Alcohol Tutorial ::.");
+ tutmes l("Even if you drink alone, you'll still receive the EXP bonus marked on the item description."), l(".:: Alcohol Tutorial ::.");
+ }
+ if (!.@q) {
+ mesn;
+ mesc l("Unfortunately, I cannot sell them to you. Maggots are attacking my crops and giving me headache."), 1;
+ next;
+ mesn;
+ mesq l("Maybe if someone helped me to get rid of the maggots on my crops, I would be able to sell them to everyone again...");
+ next;
+ mesn;
+ mesq l("...Otherwise, they're too precious to sell to wanna be adventurers. Beer EXP Bonuses expire on death, you know?!");
+ next;
+ } else {
+ closeclientdialog; // Not needed?
+ openshop .name$;
+ close;
+ }
+ break;
+ case 3:
+ goto L_Main;
+ break;
+ case 4:
+ nylo_explain();
+ .@mask=0;
+ do {
+ select
+ rif(!(.@mask & 1), l("How do I save items?")),
+ rif(!(.@mask & 2), l("How do I save money?")),
+ l("Thanks!");
+ switch (@menu) {
+ case 1:
+ .@mask=.@mask|1;
+ nylo_items();
+ break;
+ case 2:
+ .@mask=.@mask|2;
+ nylo_money();
+ break;
+ case 3:
+ .@mask=.@mask|4;
+ nylo_thanks();
+ break;
+ }
+ } while (true);
+ break;
+ }
+ } while (@menu != 1);
+
+ closedialog;
+ goodbye;
+ close;
+
+L_Main:
+ mesn;
+ mesq l("Well, for a living, I usually tend to the crops.");
+ next;
+ mesn;
+ mes l("I raise them, water them, and then sell them.");
+ mes l("I also brew some of the crops, making Beer. And then I sell to adventurers!");
+ if (BaseLevel < 6)
+ close;
+ next;
+ mesn;
+ mes l("Well, you're an adventurer, and I guess tending to crops isn't your cup of tea.");
+ mes l("But maybe you could help me killing a few maggots?");
+ next;
+ mesn;
+ mes l("Eight Maggots will rise from the ground and will start destroying the crops.");
+ mes l("You must kill them before the crops are gone. I'll reward you, of course.");
+ next;
+ mesn;
+ mesq l("Interested?");
+ if (askyesno() == ASK_NO) {
+ mes "";
+ mesn;
+ mesq l("Heh. Fair enough.");
+ close;
+ }
+
+ .@ID=getcharid(0);
+ .@MAP$="MRGO@"+str(.@ID);
+
+ // Create the Marggo
+ .@INSTID = instance_create("MRGX@"+(.@ID), 0, IOT_NONE);
+ if (.@INSTID < 0)
+ .@instanceMapName$ = "";
+ else
+ .@instanceMapName$ = instance_attachmap("005-1-1", .@INSTID, 0, .@MAP$);
+ // Instance already exists
+ if (.@instanceMapName$ == "") {
+ mesn;
+ mesq l("Wait. I remember you. You ruined my crops a few seconds ago!!");
+ next;
+ mesn;
+ mesq l("Shooo, shooo! Give my crops some time to recover, your noob.");
+ close;
+ }
+ // It was just created, so begin Marggo Quest
+ instance_set_timeout(300, 300, .@INSTID);
+ instance_init(.@INSTID);
+ warp .@MAP$, 29, 20;
+
+ // We'll need instance ID later and @vars are unreliable
+ MARGGO_ID=.@INSTID;
+ doevent("Nylo#Marggo::OnStart");
+ closeclientdialog;
+ close;
+
+
+// Functions
+function nylo_thanks {
+ speech S_LAST_BLANK_LINE,
+ l("You are very welcome.");
+ close;
+}
+
+function nylo_items {
+ speech S_LAST_BLANK_LINE,
+ l("Let Cynric open your storage. You might also want to open your inventory."),
+ l("Pick an item from either storage or inventory and choose what you want to do with it by clicking the right button."),
+ l("You can also pick and drag items from one window into the other but this will move all items of this kind.");
+ next;
+ speech S_LAST_BLANK_LINE,
+ l("Items in your storage are totally safe. Banking itself is totally safe.");
+ return;
+}
+
+function nylo_money {
+ speech S_LAST_BLANK_LINE,
+ l("That's easy. Cynric will save your money when you ask him to deposit. Or you pick up your money by asking to withdraw."),
+ l("You only have to tell him how much you want to deposit or withdraw."),
+ l("Also you can ask how much he already save for you by checking your balance.");
+ next;
+ speech S_LAST_BLANK_LINE,
+ l("Money in your storage is totally safe. Banking itself is totally safe.");
+ return;
+}
+
+function nylo_explain {
+ speech S_LAST_BLANK_LINE,
+ l("There are banks all over the world. Usually every important village or city has one."),
+ l("You can save both items and money at a bank.");
+ return;
+}
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ //setunitdata(.@npcId, UDT_HEADMIDDLE, 1321); // Maybe Nylo could use the whole Candor set...
+ setunitdata(.@npcId, UDT_HEADTOP, CreasedShirt);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CreasedShorts);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ setunitdata(.@npcId, UDT_WEAPON, CandorBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 26);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 0);
+
+ tradertype(NST_MARKET);
+ sellitem Beer, 320, 100;
+
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+
+// Restock
+OnClock0600:
+OnClock1200:
+OnClock1800:
+OnClock0004:
+ restoreshopitem Beer, 320, 100;
+ end;
+
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+
+}
+
diff --git a/npc/005-6/_import.txt b/npc/005-6/_import.txt
new file mode 100644
index 0000000..365d443
--- /dev/null
+++ b/npc/005-6/_import.txt
@@ -0,0 +1,5 @@
+// Map 005-6: Candor Magic House
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/005-6/_warps.txt",
+"npc/005-6/morgan.txt",
+"npc/005-6/zitoni.txt",
diff --git a/npc/005-6/_warps.txt b/npc/005-6/_warps.txt
new file mode 100644
index 0000000..545f754
--- /dev/null
+++ b/npc/005-6/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 005-6: Candor Magic House warps
+005-6,33,43,0 warp #005-6_33_43 0,0,005-1,50,86
diff --git a/npc/005-6/morgan.txt b/npc/005-6/morgan.txt
new file mode 100644
index 0000000..727c334
--- /dev/null
+++ b/npc/005-6/morgan.txt
@@ -0,0 +1,156 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Morgan is the only mage in Candor. She was assigned by the Alliance to defend
+// the small island, and is married with Zitoni.
+
+005-6,30,37,0 script Morgan NPC_RUMLY_FEMALE,{
+
+ mesn;
+ mesq lg("Hello there, darling.");
+ next;
+ menu
+ l("Who are you?"), L_Who,
+ l("Do you sell anything here?"), L_Shop,
+ l("Hi."), -; // Let's be honest, many conversations dies this way >.<
+ close;
+
+L_Who:
+ mes "";
+ mesn;
+ mesq l("I am @@, the only mage in Candor.", .name$);
+ next;
+ mesq l("My husband and I have moved here under the Alliance orders.");
+ next;
+ mesq l("I really hope that nothing major happens, though. I would hate to see blood being spilled.");
+ next;
+ if (!MAGIC_LVL)
+ mesq l("If you train hard enough, and get access to a Mana Stone, I could teach you a trick or two. But right now, I don't sense magic compatibility in you.");
+ else
+ goto L_Magic;
+ close;
+
+L_Shop:
+ mes "";
+ mesn;
+ mesq l("Why, I actually do sell a few things here! But they probably aren't what you're looking for.");
+ next;
+ openshop;
+ closedialog;
+ close;
+
+// Magic Subsystem
+L_Magic:
+ mesn;
+ mesq l("I see you have magical powers. Have you been acknowledge by the Alliance as a mage? If not, you should regularize yourself as a @@º degree mage in Tulimshar Magic Council.", MAGIC_LVL);
+
+L_MagicCore:
+ select
+ l("Acknowledgment? What do you mean?"),
+ l("Magic Council? What's that?"),
+ rif(!getskilllv(TMW2_KALMURK), l("Can you teach me a spell?")),
+ rif(getskilllv(TMW2_KALMURK), l("I keep failing to summon maggots...")),
+ l("Thanks for the help!");
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesn;
+ mesq l("You won't learn any skill without a good professor to teach them to you.");
+ next;
+ mesn;
+ mesq l("And unless you have a mage permit from the Magic Council, you won't be going to CR1 - Academy Island either.");
+ break;
+ case 2:
+ mesn;
+ mesq l("You know the Tulimshar Magic Council? The big building on Tulimshar North?");
+ next;
+ mesn;
+ mesq l("It rules Tulimshar, and is also one of the superior bodies of the Alliance. They have the last Mana Stone in the world on their meeting hall.");
+ next;
+ mesn;
+ mesq l("They restrict access to it to prevent new Monster Kings from emerging. They also keep record on every mage in the world.");
+ next;
+ mesn;
+ mesq l("In general, by touching the Mana Stone once, will make you a first degree mage. But these degrees goes up to seven and beyond, I think.");
+ next;
+ mesn;
+ mesq l("Of course, if you don't ask from the Mana Stone for more magic, you will stay on the first degree forever...");
+ break;
+ case 3:
+ mesn;
+ mesq l("Sure! But that is Summon Magic. Just bring me a mug of beer, I'm thristy. And I'll teach you a basic skill.");
+ next;
+ if (askyesno() == ASK_YES) {
+ if (!countitem(Beer)) goto L_Cheat;
+ delitem Beer, 1;
+ skill(TMW2_KALMURK,1,0);
+ mesn;
+ mesq l("You can use @@ to summon some maggots. That depends on your magic level, of course.", b("Kalmurk"));
+ next;
+ mesn;
+ mesq l("That's a Summon Magic. Unlike regular magic, you can increase its levels directly from skill menu (F5).");
+ next;
+ mesn;
+ mesq l("Keep in mind the more power you have, the less control you'll have as well. Until you get a %s to track progress, use %s to check your control. Less control may result in failure to summon!", getitemlink(JesusalvaGrimorium), b("@abizit"));
+ next;
+ mesn;
+ mesq l("By the way, you need a couple of @@ to try the skill. Fail rate is pretty high if you don't know how to control your magic.", getitemlink(MaggotSlime));
+ }
+ break;
+ case 4:
+ mesn;
+ mesq l("Summoning is part of Mana Magic. Mana Magic is trickier, you must have control over magic power to use it properly.");
+ next;
+ mesn;
+ mesq l("This means everytime you get more power, you lose control. Pratice is the key.");
+ next;
+ mesn;
+ mesq l("Try praticing with different mana magic skills. Anyway, you can use this command to see your magic proeficiency: " + b("@abizit"));
+ break;
+ default:
+ close;
+ }
+ next;
+ goto L_MagicCore;
+
+
+L_Cheat:
+ mesn;
+ mesq l("I offer an awesome skill for you, for a very slow price, and you try to cheat me... pitiful...");
+ close;
+
+OnInit:
+ sleep(SHOPWAIT);
+ tradertype(NST_MARKET);
+
+ sellitem CottonCloth, -1, 7;
+ sellitem Fungus, -1, 10;
+ sellitem Bread, -1, 15;
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+
+OnClock0556:
+OnClock1201:
+OnClock1759:
+OnClock0003:
+ restoreshopitem CottonCloth, 7;
+ restoreshopitem Fungus, 10;
+ restoreshopitem Bread, 15;
+ end;
+
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+
+}
diff --git a/npc/005-6/zitoni.txt b/npc/005-6/zitoni.txt
new file mode 100644
index 0000000..9d232f3
--- /dev/null
+++ b/npc/005-6/zitoni.txt
@@ -0,0 +1,222 @@
+// TMW2 scripts.
+// Author:
+// Vasily_Makarov (original from Evol)
+// Jesusalva
+// Description:
+// Stat resetter. He is an alchemist, married with Morgan.
+// Others:
+// .@wasSP - free status points before reset
+
+005-6,43,39,0 script Zitoni NPC_RUMLY,{
+ mesn;
+ mesq l("Ah, hello there! I am @@, a Redy alchemist.", .name$);
+ mes "";
+ mesq l("I have developed a special formula, which resets your stats!");
+ next;
+ mes "";
+
+L_Menu:
+ .@q1=getq(TulimsharQuest_DarkInvocator);
+ if (BaseLevel < 10)
+ .@price = 1;
+ else
+ .@price = (BaseLevel*200-(9*200))/(BaseLevel/10);
+ // Lv 10: 1 GP
+ // Lv 90: 1.800 GP
+
+ mesn strcharinfo(0);
+ select
+ l("Status reset? Sounds illegal!"),
+ l("Can you reset my stats please?"),
+ l("Do you make any other kind of potions?"),
+ rif(.@q1 == 1 || .@q1 == 2, l("Can you help me with Everburn Powder? I need 5.")),
+ rif(.@q1 == 3 && countitem(DarkDesertMushroom) >= 1,l("Zarkor sent you this gift. He needs Everburn Powder.")),
+ rif(.@q1 >= 4,l("I need some Everburn Powder.")),
+ lg("You are weird, I have to go sorry.");
+
+ mes "";
+ switch (@menu) {
+ case 1:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ lg("Wait, are you with the police? I didn't do anything wrong, I promise!"),
+ l("My formula is not a drug, nor magic. It is an ancient technology of our people!"),
+ l("You can use it to clear your stats, to start freshly if you know what I mean..."),
+ l("For only a small amount of Gold Pieces, I will show you how it works!"),
+ l("Although the more powerful you are, the more money you will need."),
+ l("I will let you test it for a peny until level 10!");
+
+ select
+ l("Sounds good!"),
+ rif(Zeny >= .@price, lg("I think I have enough gold with me.")),
+ l("We will talk about it later."),
+ l("My stats are too good, I won't need it.");
+
+ switch (@menu) {
+ case 1:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Yes, it is a really sweet deal, believe me!");
+
+ goto L_Menu;
+ case 2:
+ goto L_ResetStats;
+ case 3:
+ goto L_Quit;
+ case 4:
+ goto L_Quit;
+ }
+
+ case 2:
+ goto L_ResetStats;
+ case 3:
+ goto L_OtherPotion;
+ case 4:
+ goto L_DarkInv_Ever;
+ case 5:
+ goto L_DarkInv_Mush;
+ case 6:
+ goto L_DarkInv_Powder;
+ default:
+ goto L_Quit;
+ }
+
+L_ResetStats:
+ mesn;
+ mesq l("Status point reset can't be undone. Do you really want this?");
+
+L_ConfirmReset:
+ if (BaseLevel <= 10)
+ ConfirmStatusReset(0, false);
+ else
+ ConfirmStatusReset(-1, false);
+ goto L_Quit;
+
+L_OtherPotion:
+ mesn;
+ mesq l("I make both @@ and @@, if you give me the shrooms associated to them, and money.", getitemlink(HastePotion), getitemlink(StrengthPotion));
+ next;
+ mesn;
+ mesq l("For you, it will be only 50 GP for potion! But I need the base ingredients, four @@ - or @@, depends on which one.", getitemlink(Plushroom), getitemlink(Chagashroom));
+ next;
+ menu
+ l("Nothing at the moment."), L_Quit,
+ l("4 Plushrooms for a Haste Potion!"), L_HastePotion,
+ l("4 Chagashrooms for a Strength Potion!"), L_StrengthPotion;
+
+L_HastePotion:
+ mes "";
+ mesn;
+ if (Zeny < 50) {
+ mesq l("You don't have enough money. Sorry.");
+ next;
+ goto L_Quit;
+ }
+ if (countitem(Plushroom) < 4) {
+ mesq l("I need @@ to work...", getitemlink(Plushroom));
+ next;
+ goto L_Quit;
+ }
+ inventoryplace HastePotion, 1;
+ Zeny=Zeny-50;
+ delitem Plushroom, 4;
+ getitem HastePotion, 1;
+ mesq l("Here you go!");
+ goto L_OtherPotion;
+
+L_StrengthPotion:
+ mes "";
+ mesn;
+ if (Zeny < 50) {
+ mesq l("You don't have enough money. Sorry.");
+ next;
+ goto L_Quit;
+ }
+ if (countitem(Chagashroom) < 4) {
+ mesq l("I need @@ to work...", getitemlink(Chagashroom));
+ next;
+ goto L_Quit;
+ }
+ inventoryplace StrengthPotion, 1;
+ Zeny=Zeny-50;
+ delitem Chagashroom, 4;
+ getitem StrengthPotion, 1;
+ mesq l("Here you go!");
+ goto L_OtherPotion;
+
+
+L_DarkInv_Ever:
+ mesn;
+ mesq l("...What? You want @@? Five of them?!", getitemlink(EverburnPowder));
+ next;
+ mesn;
+ mesq l("You have no idea of how dangerous that item is! I can't simply do it!");
+ next;
+ mesn;
+ mesq l("I don't know who sent you to me, but this is a flat and big NO!");
+ next;
+ mesc l("Zitoni won't cooperate with you. Perhaps you should ask to Zarkor about that.");
+ setq TulimsharQuest_DarkInvocator, 2;
+ close;
+
+L_DarkInv_Mush:
+ mesn;
+ mesq l("Ah... A @@. The sturdiest from all mushroom, and very, very rare.", getitemlink(DarkDesertMushroom));
+ next;
+ mesn;
+ mesc l("Zitoni seems to be lost on deep thought.");
+ next;
+ mesn;
+ mesq l("Ah... Well, ok. I'll do the powder for you, but you still need to bring me the material.");
+ next;
+ mesn;
+ mesq l("Just... Don't accidentaly invoke a Legendary Guardian or something, these thingies could destroy a whole city.");
+ delitem DarkDesertMushroom, 1;
+ setq TulimsharQuest_DarkInvocator, 4;
+ close;
+
+L_DarkInv_Powder:
+ mesn;
+ mesq l("@@ is an expensive, rare, and dangerous item. Do not shake it too much, or it will catch fire.", getitemlink(EverburnPowder));
+ next;
+ mesn;
+ mesq l("...And trust me, it'll take way more than just water to put the fire down.");
+ next;
+ mesn;
+ mesq l("I will require 2500 GP, 1 @@, 1 @@ and 1 @@, for a small handful of it.", getitemlink(IronPowder), getitemlink(SulfurPowder), getitemlink(PileOfAsh));
+ mes "";
+ select
+ l("I still don't have everything, but don't worry, I'll be back."),
+ l("I have everything here with me.");
+ mes "";
+ if (@menu == 1)
+ goto L_Quit;
+ if (countitem(IronPowder) < 1 ||
+ countitem(SulfurPowder) < 1 ||
+ countitem(PileOfAsh) < 1 ||
+ Zeny < 2500) goto L_Liar;
+ Zeny=Zeny-2500;
+ delitem IronPowder, 1;
+ delitem SulfurPowder, 1;
+ delitem PileOfAsh, 1;
+ getitem EverburnPowder, 1;
+ getexp 100, 0;
+ mesn;
+ mesq l("Here you go. Handle it with caution.");
+ close;
+
+L_Liar:
+ mesn;
+ mesq l("Liar. You can't fool me. That's the price. Get that or get out!");
+ next;
+ mesn;
+ mesq l("We're talking about @@. It's not something for kids or pranksters!", getitemlink(EverburnPowder));
+ close;
+
+L_Quit:
+ closedialog;
+ goodbye;
+ close; // double sure
+
+OnInit:
+ .sex = G_MALE;
+ end;
+}
diff --git a/npc/005-7/_import.txt b/npc/005-7/_import.txt
new file mode 100644
index 0000000..943f21d
--- /dev/null
+++ b/npc/005-7/_import.txt
@@ -0,0 +1,5 @@
+// Map 005-7: Training House
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/005-7/_warps.txt",
+"npc/005-7/nurse.txt",
+"npc/005-7/trainer.txt",
diff --git a/npc/005-7/_warps.txt b/npc/005-7/_warps.txt
new file mode 100644
index 0000000..0a105e5
--- /dev/null
+++ b/npc/005-7/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 005-7: Training House warps
+005-7,45,38,0 warp #005-7_45_38 0,0,005-1,34,100
diff --git a/npc/005-7/nurse.txt b/npc/005-7/nurse.txt
new file mode 100644
index 0000000..4c27c5e
--- /dev/null
+++ b/npc/005-7/nurse.txt
@@ -0,0 +1,95 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Crazyfefe
+
+005-7,41,30,0 script Candor's Nurse NPC_FEMALE,{
+
+ //if (sc_check(SC_POISON)) goto L_CurePoison;
+ if (Hp < (MaxHp/100*90)) goto L_Heal;
+
+ mesn;
+ mesq lg("Hello, dear! I love @@, could you bring me some? They're sooooo sweet and delicious!","Hello, dear! I love @@, could you bring me some? They're sooooo sweet and delicious!", getitemlink(Candy) );
+ mesq l("Ah, I can also cure you, if you need.");
+
+ do
+ {
+ select
+ rif(Hp < MaxHp, l("Please heal me!")),
+ rif(countitem(Candy) > 0, l("Here, I have a candy!")),
+ l("I'm fine, no worries...");
+
+ switch (@menu)
+ {
+ case 1:
+ goto L_Heal;
+ break;
+ case 2:
+ goto L_Help;
+ break;
+ case 3:
+ goto L_Close;
+ break;
+ }
+ } while (@menu != 3);
+
+L_Help:
+ mes "";
+ mesn;
+
+ if (countitem(Candy) == 0)
+ {
+ mesq l("You don't seem to have any @@ with you!", getitemlink(.Item));
+ close;
+ }
+ delitem .Item, 1;
+ mesq l("Thanks a lot!");
+ if (getq(CandorQuest_Nurse) == 0)
+ {
+ getexp 21,0;
+ Zeny = Zeny + 200;
+ setq CandorQuest_Nurse, 1;
+ close;
+ }
+ if (getq(CandorQuest_Nurse) == 1)
+ {
+ getexp 11,0;
+ Zeny = Zeny + 100;
+ setq CandorQuest_Nurse, 2;
+ close;
+ }
+ if (getq(CandorQuest_Nurse) == 2)
+ {
+ getexp 6,0;
+ Zeny = Zeny + 50;
+ setq CandorQuest_Nurse, 3;
+ close;
+ }
+ getexp 5,0;
+ Zeny = Zeny + 25;
+ close;
+
+L_Heal:
+ Nurse(.name$, 10, 5);
+ close;
+
+L_Close:
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonShorts);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, ShortTankTop);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 12);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 14);
+
+ // quest setup
+ .Item = Candy;
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+
+}
+
diff --git a/npc/005-7/trainer.txt b/npc/005-7/trainer.txt
new file mode 100644
index 0000000..2160918
--- /dev/null
+++ b/npc/005-7/trainer.txt
@@ -0,0 +1,660 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Originals: Ernando <ernando.quirino@hotmail.com>
+// Original review: Lunovox <rui.gravata@gmail.com>; Ernando <ernando.quirino@hotmail.com>; Jesusalva <supremo@brasil.byethost22.com>
+// Objective: Train the player and give some experience.
+// License: GPL v3
+//
+// CandorQuest_Trainer
+// 0: Not started
+
+// 1: Took Maggot Quest
+// 2: Completed Maggot Quest
+// 3: Awaiting next quest
+
+// 4: Took House Maggot Quest
+// 5: Completed House Maggot Quest
+// 6: Awaiting next quest
+
+// 7: Took Candor Scorpion Quest
+// 8: Completed Candor Scorpion Quest
+// 9: Awaiting next quest
+
+// 10: Took Scorpion Quest
+// 11: Completed Scorpion Quest
+// 12: Finished all training
+
+005-7,25,29,0 script Trainer NPC_PLAYER,{
+ goto L_Begin;
+
+OnRemoteHelp:
+L_Begin:
+ .@q=getq(CandorQuest_Trainer);
+ .@b=getq(ShipQuests_Knife); // TODO: We should check if user is with weapon equipped instead
+ .@map$=getmap();
+ mesn;
+ mesq lg("Hello my friend! Need my help?");
+ next;
+ goto L_Menu;
+
+L_PreMenu:
+ mesn;
+ mesq l("Do you need my help?");
+ next;
+ goto L_Menu;
+
+L_Menu:
+ mesn strcharinfo(0);
+ menu
+ l("Why do you want to help me?"), L_Backstory,
+ rif(.@map$ == "005-7" && getq(CandorQuest_Trainer) < 15, l("I want to be trained!")), L_Training,
+ l("I wanted info about how to play."), L_Manaplus_gap,
+ l("How do I make money?"), L_MakingMoney,
+ l("Monsters."), L_Monsters,
+ l("Quests."), L_Quests,
+ l("Status."), L_Status,
+ l("NPCs."), L_NPC,
+ l("Magic."), L_Magic,
+ l("Rules."), L_Rules,
+ l("Weather & Seasons."), L_Seasons,
+ l("Experience."), L_Experience,
+ l("No, thanks!"), L_Close;
+
+
+L_Manaplus_gap:
+ mes "";
+ goto L_Manaplus;
+
+L_Manaplus:
+ mesn;
+ mesq l("What do you want to learn more about?");
+ next;
+ mesn strcharinfo(0);
+ menu
+ l("How do I see my items?"), L_ArmorItems,
+ l("How do I trade with other players?"), L_Trading,
+ l("How do I hunt monsters?"), L_HuntingMonsters,
+ l("How do I talk with someone?"), L_Talking,
+ l("Hairstyles."), L_Hairstyle,
+ l("Commands."), L_Commands,
+ l("I changed my mind."), L_Menu_gap;
+
+L_Training:
+ .@q=getq(CandorQuest_Trainer);
+ mes "";
+ if (BaseLevel < 3) goto L_NoLevel;
+ if (.@b == 0) goto L_NoKnife;
+ .@k=getq2(CandorQuest_Trainer); // Get number of kills (via getq2)
+
+ mesn;
+ if (.@q == 0) {
+ mesq l("It looks like you are ready. Let me see if there is an easy task for you...");
+ next;
+ mesq l("Ah! I know. Kill 10 @@. They are usually found in the fields, feeding on the crops.", getmonsterlink(Maggot));
+ setq CandorQuest_Trainer, 1, 0;
+ } else if (.@q == 1) {
+ mesq l("You are currently tasked with killing @@. As a reminder, you can usually find them where we grow our crops.", getmonsterlink(Maggot));
+ } else if (.@q == 2) {
+ mesq l("Good job! Here is your reward!");
+ getexp 30, 0;
+ set Zeny, Zeny + 25;
+ setq CandorQuest_Trainer, 3, 0;
+ } else if (.@q == 3) {
+ mesq l("Less maggots means a more reliable food supply. This kind of maggot will be a little more difficult to defeat, which is an excellent way to test your prowess in battle.");
+ next;
+ mesq l("In the storehouse, kill 4 @@. They keep coming back and contaminate our stored goods.", getmonsterlink(HouseMaggot));
+ next;
+ mesq l("Our dear mayoress may also need help dealing with that maggot infestation.");
+ setq CandorQuest_Trainer, 4, 0;
+ } else if (.@q == 4) {
+ mesq l("Kill the @@ at the storehouse.", getmonsterlink(HouseMaggot));
+ } else if (.@q == 5) {
+ mesq l("Perfect! Here is your reward!");
+ getexp 42, 0;
+ set Zeny, Zeny + 25;
+ setq CandorQuest_Trainer, 6, 0;
+ } else if (.@q == 6) {
+ mesq l("As you learned, helping others is a good way to level up. You can also sell monster parts for some money.");
+ next;
+ mesq l("So, please kill 3 @@, which are usually found around our beaches. You can sell their stingers if you are short on money.", getmonsterlink(CandorScorpion));
+ setq CandorQuest_Trainer, 7, 0;
+ } else if (.@q == 7) {
+ mesq l("The @@ I told you to kill are usually at the beach.", getmonsterlink(CandorScorpion));
+ } else if (.@q == 8) {
+ inventoryplace SmallKnife, 1;
+ mesq l("Managed to get any nice drops? It requires more luck than skill. Here is your reward.");
+ getexp 53, 0;
+ set Zeny, Zeny + 25;
+ getitem SmallKnife, 1;
+ setq CandorQuest_Trainer, 9, 0;
+ } else if (.@q == 9) {
+ mesq l("This will be your last task. Besides the @@, the strongest monster on this island worth killing is the @@.", getmonsterlink(ManaBug), getmonsterlink(Scorpion));
+ next;
+ mesq l("Kill 2 @@. This will prove your worth. They are northwest of the island.", getmonsterlink(Scorpion));
+ setq CandorQuest_Trainer, 10, 0;
+ } else if (.@q == 10) {
+ mesq l("I want you to kill @@, which are located near the northwest coast of the island.", getmonsterlink(Scorpion));
+ } else if (.@q == 11) {
+ inventoryplace Beer, 1;
+ mesq l("Congratulations! Here is your reward.");
+ mesq l("You completed your training, so you're getting 50 bonus experience points. If you level up, use your stat points wisely!");
+ mesq l("Also, have a %s on the house!", getitemlink(Beer));
+ getexp 70, 0;
+ set Zeny, Zeny + 25;
+ setq CandorQuest_Trainer, 12, 0;
+ getitem Beer, 1;
+ } else if (.@q == 12 && BaseLevel >= 9) {
+ mesq l("You are already fully trained. You should go to Tulimshar, but if you want a bonus task, please kill a @@.", getmonsterlink(ManaBug));
+ mesq l("It should be almost a boss at your level, so I don't expect to see you again here so soon.");
+ setq CandorQuest_Trainer, 13, 0;
+ } else if (.@q == 12 && BaseLevel < 9) {
+ mesq l("You are already fully trained. You should go to Tulimshar. I may have another task for you later, but you are too weak now, get some levels.");
+ } else if (.@q == 13) {
+ mesq l("You are trying to kill a @@.", getmonsterlink(ManaBug));
+ mesq l("It should be almost a boss at your level, so I don't expect to see you again here so soon.");
+ } else if (.@q == 14) {
+ mesq l("Wow! You did it! I do not think anyone else could have done that.");
+ mesq l("Here, take this @@ - you deserve it! And here is 200 GP to buy a better weapon.", getitemlink(CandorHeadBand));
+ inventoryplace CandorHeadBand, 1;
+ getexp 80, 5;
+ getitem CandorHeadBand, 1;
+ set Zeny, Zeny + 200;
+ setq CandorQuest_Trainer, 15, 0;
+ }
+ next;
+ goto L_PreMenu;
+
+L_NoLevel:
+ mesn;
+ mesq l("Ah, yes... You see, there is just no task I can give to you right now. ##BYou are too weak to fight monsters.##b");
+ next;
+ mesn;
+ mesq l("Try doing quests which doesn't involve monster hunting first. I'm sure ##B Ayasha ##b could use your help.");
+ next;
+ mesn;
+ mesq l("Otherwise, the monsters here usually won't attack you unless provoked.");
+ next;
+ mesn;
+ mesq l("Complete quests, gain some experience, allocate some status, and you'll be ready for my training.");
+ next;
+ goto L_PreMenu;
+
+L_NoKnife:
+ mesn;
+ mesq l("And with what you expect to fight monsters? You must arrange yourself a weapon!");
+ next;
+ mesn;
+ mesq l("I don't know. Try getting a Rusty Knife or something. Maybe the chef of Nard's ship can spare you one.");
+ next;
+ mesn;
+ mesq l("There probably is a huge, flashing orange exclamation mark over a suitable knife you could take and nobody would mind.");
+ next;
+ goto L_PreMenu;
+
+// Anything below this line is copy-pasted from SG:ManaBird, a TMW-BR clone
+// It was translated by Google and therefore may have bad terms about ManaPlus interface.
+L_Backstory:
+ mes "";
+ mesn;
+ mesq l("Saxso, the former mayor, commanded me to strengthen the youngsters, so that they have sufficient power to fight monsters.");
+ next;
+ mesn;
+ mesq lg("He died, but I plan in fulfilling his will. I can give you training for that, and teach you how to fight properly.");
+ next;
+ mesn;
+ mesq l("I see you have arms long enough to be an archer.");
+ next;
+ goto L_PreMenu;
+
+L_MakingMoney:
+ mes "";
+ mesn;
+ mes l("Merchants like to buy body parts of killed monsters and animals because they can make items and equipment.");
+ next;
+ mesn;
+ mes l("Some others also like to buy them to keep as trophies. Either way, you can make some money with that.");
+ next;
+ mesn;
+ mes l("You must find someone willing to buy, they usually will buy almost anything you have, even items which cannot be replaced, so be careful.");
+ next;
+ mesn;
+ mes l("You must \"add\" the items you plan on selling, and then press \"sell\" to confirm. You'll have this time to review.");
+ mes l("Some, but not all, from the rare or non-replaceable items will have a warning when you try to sell them.");
+ next;
+ mesn;
+ mes l("You can also make money ##Bdoing quests##b. Elmo will tell you almost every quest which can be done in Candor.");
+ next;
+ goto L_PreMenu;
+
+L_ArmorItems:
+ mes "";
+ mesn;
+ mes l("You can see all your equipment by pressing the F3 key.");
+ next;
+ mesn;
+ mes l("To equip or unequip an item, select it and press the 'Equip' or 'Unequip' button. You can not 'Equip' or 'Unequip' when talking to someone.");
+ next;
+ mesn;
+ mes l("Dress up! Do not walk without clothes! Always wear your items! They leave you less vulnerable to attacks and stronger to defeat your opponents.");
+ next;
+ mesn;
+ mes "##B"+l("Remember that some equipment sets will give you hidden stat bonuses! So dress yourself in a fashion way, if possible!")+"##b";
+ next;
+ mesn;
+ mes l("To discard an item you no longer want, select it and press the 'Discard' button. Generic items can be discarded or sold.");
+ mes l("Some special items cannot be traded, discarded, nor sold. With a right click, you can also protect normal items as if they were special ones.");
+ next;
+ mesn;
+ mes l("There are three types of items.");
+ mes l("Those for consumption, equipment and generics.");
+ next;
+ mesn;
+ mes l("Items for consumption, like potions, can only be used once.");
+ mes l("Once used, they will disappear from your inventory.");
+ next;
+ mesn;
+ mes l("Equippable items are armour, weapons and accessories.");
+ mes l("They can be equipped to make your look more interesting or to improve some of its features.");
+ next;
+ mesn;
+ mesq l("Generic items are used for different purposes. In creating other items, to swap and sell, to collect, etc.");
+ next;
+ goto L_Manaplus;
+
+L_Trading:
+ mes "";
+ mesn;
+ mes l("Press the 'R' key to ignore or accept business proposals. You and the other citizen who want to negotiate need to be in the configuration that accepts negotiations. if your configuration is 'Ignoring business proposals', then you will not receive the warning from any citizen wanting to negotiate with you, and you will not be able to initiate negotiations.");
+ next;
+ mesn;
+ mes l("To negotiate with other citizens, you should click the second mouse button on some other citizen who is accepting negotiations, and select the 'Negotiation' option from the menu that will appear.");
+ next;
+ mesn;
+ mes l("After you have confirmed the negotiation, a window with a vertical split will appear. The left side are the items you intend to offer in trading. The right side are the items that the other citizen intends to offer in trading.");
+ next;
+ mesn;
+ mes l("Open your inventory window (F3 key) next to the trading window. Select an item you want to offer, and then press the Add button. To add money to the negotiation, enter the amount you will offer and press the Change button.");
+ next;
+ mesn;
+ mes l("When you have added all the items and money you want, press the 'Propose Business' button. The other citizen must also press the 'Propose Business' button.");
+ next;
+ mesn;
+ mesq l("if the proposal is not convenient for you, just close the trading window to cancel the exchange of items and money. But if both press the 'Accept Negotiation' button, then the marketing will be finished.");
+ next;
+ mesn;
+ mes l("Remember! You're trading things, not lending/borrowing them. You are solely responsible for everything you own.");
+ next;
+ goto L_Manaplus;
+
+// TODO: We have over nine instructions here. You usually can only memorise from three to five at a time!
+L_HuntingMonsters:
+ mes "";
+ mesn;
+ mesq l("Note down. To hunt a target you must click the primary mouse button on it. Avoid fighting monsters or citizens much stronger than you. ##BYou will lose experience if you are defeated.##b");
+ next;
+ mesn;
+ mes l("Within the cities is a place safe enough not to be attacked by another person (except during wars). But outside of them there are some places where the citizen can be attacked by enemies from other realms, or even by someone from the same realm.");
+ next;
+ mesn;
+ mes l("There are some stones scattered around the world that mark your point of return in case of defeats. Some ship chests may also serve as a return point. You can also select some beds in case of defeats.");
+ next;
+ mesn;
+ mes l("Almost all creatures drop useful items when defeated. To get the dropped item press the 'Z' key next to the item or click the primary button on the item.");
+ next;
+ mesn;
+ mes l("To focus on a creature, press the 'A' key. To focus on another citizen, press the 'Q' key. To attack the focused target press the 'X' key or click the primary button on the creature.");
+ next;
+ mesn;
+ mes l("To focus on an NPC, press the 'N' key. To talk to him press the 'T' key.");
+ next;
+ mesn;
+ mes l("To defocus or stop attacking, press Shift + A.");
+ next;
+ mesn;
+ mes l("You can, however, use ##BCtrl##b to auto-select a monster and attack them. This usually also collects drops, but press Z to be sure.");
+ next;
+ goto L_Manaplus;
+
+L_Talking:
+ mes "";
+ mesn;
+ mes l("To display the dialog box with other citizens, press the F7 key.");
+ next;
+ mesn;
+ mes l("To speak in public select the 'General' tab. It serves to talk to people who are appearing on your screen.");
+ next;
+ mesn;
+ mes l("To speak privately with someone, click the second mouse button on the citizen and select the 'Whisper' option.");
+ next;
+ mesn;
+ mes l("In order to enter a message press the 'Enter' key, this will display the white box of typing. Type your message there and press 'Enter' again to send your speech.");
+ next;
+ mesn;
+ mes l("To speak privately to a friend who is not appearing on your screen, type the command '##B /q Citizen Name ##b' and press 'Enter'. This command will open a long-distance dialog that has the name of who you want to talk to. Select this new tab and send your message through it.");
+ next;
+ mesn;
+ mes l("And by last, to speak to everyone online, besides whoever might be idling on Discord, select the '#world' tab.");
+ next;
+ mesn;
+ mes l("But be careful: do not scream when using a lot of capital letters, and do not keep repeating the lines, and above all DO NOT SPAM, or you may be severely penalized.");
+ next;
+ goto L_Manaplus;
+
+L_Close:
+ close;
+
+L_Monsters:
+ mes "";
+ mesn;
+ mesq l("Monsters are everywhere. They're a plague we're trying to get rid of.");
+ next;
+ mesn;
+ mesq l("There are three types of monsters: the aggressive, the neutral, and the collaborative.");
+ next;
+ mesn;
+ mes l("Aggressors always know when they are in danger! Therefore, they are always on standby, attacking anyone who appears ahead.");
+ next;
+ mesn;
+ mes l("Neutral monsters do not have such a sense of danger.");
+ mes l("They will not attack anyone unless they are attacked first.");
+ next;
+ mesn;
+ mes l("Normally, collaborative behave like neutral monsters. Unless some partner of the same species is in danger, at which point they all take an aggressive stance against the aggressor.");
+ mes l("It's always good to see if you have a lot of them around before you think about attacking one!");
+ next;
+ mesn;
+ mes "\""+l("Also, most monsters get enraged and will attack whoever is closest to them, regardless of anything else.");
+ mes l("Not all monsters will do this, but most will. So if you see a monster running after a player and you stand in the way...");
+ mes l("...It'll most likely attack you, instead.")+"\"";
+ next;
+ mesn;
+ mes l("One last thing to keep in mind... If you are surrounded, you'll suffer an agility and defense penalty.");
+ mes l("But if you and other players surrounds the monster instead, they'll suffer the same penalties!");
+ mes l("Any boss which was previously unhittable, can be hit with appropriate number of attackers.");
+ next;
+ goto L_PreMenu;
+
+L_Hairstyle:
+ mes "";
+ mesn;
+ mes l("NPC stylists can cut your hair and give you a new style, which means the hair style you woke up is something that can be changed.");
+ mes l("They are known to use a revolutionary hair growth formula, which can give you a wild thatch even if you are bald!");
+ next;
+ goto L_Manaplus;
+
+L_Quests:
+ mes "";
+ mesn;
+ mes l("There are people in the world who need help!");
+ mes l("Most of these people will not think twice before giving a nice reward to anyone who helps them.");
+ mes l("So be nice and help people along the way!");
+ next;
+ mesn;
+ mesq l("Seldomly, they'll have an exclamation mark over their heads. But some quests are hidden, so talk to people and have fun!");
+ next;
+ goto L_PreMenu;
+
+L_NPC:
+ mes "";
+ mesn;
+ mes l("NPCs(Non Playable Characters) or non-playable characters are characters that are always in the game, offering a wide variety of reactions, from a simple friendly conversation to a desperate request for help.");
+ next;
+ mes l("##BIMPORTANT:##b People usually doesn't shout, they talk. Because this, if you are too far, an NPC won't hear you.");
+ mes l("When this is the case, you should get closer to the NPC, until they hear you.");
+ mes l("If you are above the NPC and they still doesn't hear you, this mean they are deaf - you should report this!");
+ goto L_PreMenu;
+
+L_Commands:
+ mes "";
+ mesn;
+ mes l("/ clear clears the text box.");
+ mes l("/ whisper [name] allows you to send a private message to the player. if [name] contains spaces, it must be enclosed in quotation marks.");
+ //mes l("/who mostra o número de jogadores conectados no momento.");
+ mes l("/ present shows the number of people in the neighbourhood.");
+ mes l("/ where shows the name of the map you are in.");
+ mes l("/ help explains how to use all client commands.");
+ mes l("@commands lists even more advanced commands, but you can't use all of them.");
+ next;
+ mes l("@resync will help when the client starts lagging. If you see an attack but no monsters, that's the cause.");
+ mes l("@lang allows you to change game language, anytime, anywhere.");
+ mes l("@rules will tell you all the rules once again.");
+ mes l("@toevent will warp you to event island, if an event is happening, of course.");
+ mes l("@discord allows you to setup Discord integration settings.");
+ mes l("@ucp allows you to manage your account, eg. recover lost email.");
+ next;
+ mes l("@resyncall is the more powerful version of @resync. It'll reload everything, even the clouds if needed.");
+ mes l("@info and @tutorial will, using Jesusalva's powers, allow you to contact me anywhere for info.");
+ mes l("/ mi does the same as @monsterinfo. Takes the monster name as argument and reports monster stats and drops.");
+ next;
+ goto L_Manaplus;
+
+L_Status:
+ mes "";
+ mesn;
+ mesq l("People vary greatly in the amount of strength, agility, dexterity, intelligence, vitality and luck.");
+ next;
+ mesn;
+ mes l("@@ helps you carry more items and also gives you a more forceful blow, but ends up not being very interesting if you focus on weapons that use projectiles, such as the bow.", b(l("Strength")));
+ mes l("Greater @@ allows you to attack faster and has a greater chance of evading attacks.", b(l("agility")));
+ mes l("Your @@ determines your ability to hit monsters and is valuable to players who prefer weapons that use projectiles.", b(l("dexterity")));
+ next;
+ mesn;
+ mes l("@@ determines how many blows you can take before you die. It also affects status effects, like poison.", b(l("Vitality")));
+ mes l("@@ is very useful for alchemy and magic, but nowadays there are few opportunities to use it.", b(l("Intelligence")));
+ mes l("Your @@ determines several small things, including critical attacks and, limited to a certain extent, affect drop rates.", b(l("luck")));
+ next;
+ mesn;
+ mes l("A critical hit deals added damage and disregards defense. A critical always hit, although it can be blocked just fine.");
+ mes l("On a side note, more defense is always good, but the damage won't decrease on the same rate that defense raises.");
+ mes l("Also note that if you are in overweight, your natural regen will halt. 90% in weight, and you won't be able to attack.");
+ next;
+ mesn;
+ mes l("I recommend that you train your agility a great deal, since most monsters out there aren't really amazing at hitting you.");
+ mes l("For now do not take too much time to work on your intelligence, after all, almost nobody have magic this day.");
+ next;
+ mesn;
+ mes l("You can allocate point on those attributes every time you level up.");
+ mes l("There's also a job level, which produces green sparkles when you level it.");
+ mes l("Job Level and certain equips can affect your status. You'll see the modifiers with a + sign.");
+ next;
+ goto L_PreMenu;
+
+L_Magic:
+ mes "";
+ mesn;
+ mesq l("Magic is dead. Well, not yet, we still have some mana stones left - but only the strongest ones are allowed to use them and acquire magic.");
+ next;
+ mesn;
+ mesq l("I've heard about some adventurers whom obtained magic in another way, but you would still need a lot of levels for that.");
+ next;
+ goto L_PreMenu;
+
+L_Seasons:
+ mes "";
+ mesn;
+ mes l("First of, there's a day/night cycle on the game.");
+ if (is_night())
+ mes l("It's currently night, that's why Candor is dark.");
+ else
+ mes l("It's currently day, but when night falls, Candor will become darker.");
+ next;
+ mesn;
+ mes l("During night, the monsters usually respawn faster. That can be a problem with aggressive monsters.");
+ mes l("I also hear fisherman likes to fish at night. They say the catch is bigger, if you understand me.");
+ next;
+ mesn;
+ mes l("Not only that, but at night monsters are stronger! They also give more experience and drop more often to compensate, though.");
+ next;
+ mesn;
+ mes l("There's also weather, meaning it can rain, snow, or even happen a sandstorm. They are usually cosmetic, but...");
+ mes l("...who knows if there isn't a secret in that?");
+ next;
+ mesn;
+ mes l("Besides this, there is Seasons. You know, summer, autumn, winter and spring.");
+ mes l("Each season unlocks a set of quests and drops which can only be obtained on the season.");
+ next;
+ mesn;
+ mes l("Think on Season Quests as a yearly quest which you have three months to do.");
+ mes l("We follow north hemisphere seasons in case you're wondering.");
+ next;
+ goto L_PreMenu;
+
+L_Experience:
+ mes "";
+ mesn;
+ mes l("Experience can be gained by completing quests and killing monsters. When you accumulate enough experience, you'll level up!");
+ next;
+ mesn;
+ mes l("Each level up will buff your base stats, and give you stats points to allocate. However, there is Job Level.");
+ next;
+ mesn;
+ mes l("There's also a job level, which produces green sparkles when you level it.");
+ mes l("Job Level and certain equips can affect your status. You'll see the modifiers with a + sign.");
+ next;
+ mesn;
+ mes l("Also, you'll get more experience by killing monsters stronger than you, and less experience by killing monsters weaker than you.");
+ mes l("You can find out the monster strength by using \"@monsterinfo <English Monster Name>\". Check the level in it!");
+ next;
+ goto L_PreMenu;
+
+L_Rules:
+ mes "";
+ callfunc "GameRules";
+ next;
+ mes ".:: "+l("Automatic Botchecks")+" ::.";
+ mes l("If enabled, automatic captchas may be sent to you every once in a while.");
+ mes l("To answer them, use: @captcha <num_value>");
+ next;
+ CaptchExample();
+ mes l("Example: Give the answer for the following: one+1");
+ mes l("Reply: %s", b("@captcha 2"));
+ next;
+ goto L_PreMenu;
+
+L_Menu_gap:
+ mes "";
+ goto L_PreMenu;
+
+ function trainer_add_kills
+ {
+ .@qp=getq(CandorQuest_Trainer);
+ .@kp=getq2(CandorQuest_Trainer); // Get number of kills (via getq2)
+ setq CandorQuest_Trainer, .@qp, .@kp+1;
+ //message strcharinfo(0), l("Set status @@ with @@ kills", .@qp, .@kp);
+ return;
+ }
+
+ function trainer_max_kills
+ {
+ .@qp=getq(CandorQuest_Trainer);
+ setq CandorQuest_Trainer, .@qp+1, 0;
+ //message strcharinfo(0), l("End status @@", .@qp);
+ return;
+ }
+
+OnKillMaggot:
+ .@q=getq(CandorQuest_Trainer);
+ .@k=getq2(CandorQuest_Trainer); // Get number of kills (via getq2)
+ if (.@q == 1) {
+ if (.@k+1 >= 10) {
+ trainer_max_kills();
+ message strcharinfo(0), l("All maggots are dead!");
+ } else {
+ trainer_add_kills();
+ message strcharinfo(0), l("@@/10 Maggots", .@k+1);
+ }
+ }
+ // Additional Cactus Drink drop rate for newcomers: 4.9% additional
+ if (BaseLevel <= 22) {
+ if (rand2(10000) < 490-(BaseLevel**2)) {
+ getmapxy(.@m$, .@x, .@y, 0);
+ makeitem CactusDrink, 1, .@m$, .@x, .@y;
+ }
+ }
+ fix_mobkill(Maggot);
+ end;
+OnKillHouseMaggot:
+ .@q=getq(CandorQuest_Trainer);
+ .@k=getq2(CandorQuest_Trainer); // Get number of kills (via getq2)
+ if (.@q == 4) {
+ if (.@k+1 >= 4) {
+ trainer_max_kills();
+ message strcharinfo(0), l("All house maggots are dead!");
+ } else {
+ trainer_add_kills();
+ message strcharinfo(0), l("@@/4 House Maggots", .@k+1);
+ }
+ } else {
+ if (is_staff())
+ dispbottom "It's working. (T:OKHM)";
+ }
+ fix_mobkill(HouseMaggot);
+ end;
+OnKillCandorScorpion:
+ if (!playerattached()) end;
+ .@q=getq(CandorQuest_Trainer);
+ .@k=getq2(CandorQuest_Trainer); // Get number of kills (via getq2)
+ if (.@q == 7) {
+ if (.@k+1 >= 3) {
+ trainer_max_kills();
+ message strcharinfo(0), l("All candor scorpions are dead!");
+ } else {
+ trainer_add_kills();
+ message strcharinfo(0), l("@@/3 Candor Scorpions", .@k+1);
+ }
+ }
+ // Additional Bug Leg drop rate for newcomers: 5% additional
+ if (BaseLevel <= 22) {
+ if (rand2(10000) < 500-(BaseLevel**2)) {
+ getmapxy(.@m$, .@x, .@y, 0);
+ makeitem BugLeg, 1, .@m$, .@x, .@y;
+ }
+ }
+ fix_mobkill(CandorScorpion);
+ end;
+OnKillScorpion:
+ .@q=getq(CandorQuest_Trainer);
+ .@k=getq2(CandorQuest_Trainer); // Get number of kills (via getq2)
+ if (.@q == 10) {
+ if (.@k+1 >= 2) {
+ trainer_max_kills();
+ message strcharinfo(0), l("All scorpions are dead!");
+ } else {
+ trainer_add_kills();
+ message strcharinfo(0), l("@@/2 Scorpion", .@k+1);
+ }
+ }
+ fix_mobkill(Scorpion);
+ end;
+OnKillManaBug:
+ .@q=getq(CandorQuest_Trainer);
+ .@k=getq2(CandorQuest_Trainer); // Get number of kills (via getq2)
+ if (.@q == 13) {
+ if (.@k+1 >= 1) {
+ trainer_max_kills();
+ message strcharinfo(0), l("All mana bugs are dead!");
+ } else {
+ trainer_add_kills();
+ message strcharinfo(0), l("@@/1 Mana Bug", .@k+1);
+ }
+ }
+ fix_mobkill(ManaBug);
+ end;
+
+OnInit:
+ bindatcmd "info", "Trainer::OnRemoteHelp", 0, 60, 0;
+ bindatcmd "tutorial", "Trainer::OnRemoteHelp", 0, 60, 0;
+
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, LeatherShirt);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CottonTrousers);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 20);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 7);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/006-0/_import.txt b/npc/006-0/_import.txt
new file mode 100644
index 0000000..8986616
--- /dev/null
+++ b/npc/006-0/_import.txt
@@ -0,0 +1,7 @@
+// Map 006-0: Candor's Underground, B1F
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/006-0/_mobs.txt",
+"npc/006-0/_warps.txt",
+"npc/006-0/core.txt",
+"npc/006-0/piouisle.txt",
+"npc/006-0/warpcandorbattle.txt",
diff --git a/npc/006-0/_mobs.txt b/npc/006-0/_mobs.txt
new file mode 100644
index 0000000..05bcb2c
--- /dev/null
+++ b/npc/006-0/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-0: Candor's Underground, B1F mobs
+006-0,46,38,16,14 monster Little Yellow Slime 1233,6,120000,30000
+006-0,45,30,16,8 monster Little Red Slime 1234,4,120000,30000
+006-0,46,23,19,4 monster Mineral Bif 1058,1,300000,30000
+006-0,44,25,23,9 monster Big Diamond Bif 1109,1,240000,30000,Rosen::OnKillMBif
diff --git a/npc/006-0/_warps.txt b/npc/006-0/_warps.txt
new file mode 100644
index 0000000..68a575b
--- /dev/null
+++ b/npc/006-0/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-0: Candor's Underground, B1F warps
+006-0,49,54,0 warp #006-0_49_54 0,0,005-1,66,63
diff --git a/npc/006-0/core.txt b/npc/006-0/core.txt
new file mode 100644
index 0000000..4714a51
--- /dev/null
+++ b/npc/006-0/core.txt
@@ -0,0 +1,27 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+
+006-0,46,26,0 script Magic Barrier#0060 NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ if (CRAZYPOINTS < 3) goto L_Reject; // FIXME
+ /* TODO: Piou Isles Arc */
+ if (getq(General_Narrator) < 3) goto L_Reject; // Tulimshar Arc must be finished
+
+ specialeffect(5000, SELF, getcharid(3));
+ dispbottom l("The power which lies in Candor acknowledges your strength.");
+ sleep2(2500);
+ warp "006-3", 49, 52;
+ sleep2(500);
+ specialeffect(5001, SELF, getcharid(3));
+ end;
+
+L_Reject:
+ specialeffect(5000, SELF, getcharid(3));
+ dispbottom l("The power which lies in Candor rejects your strength.");
+ sleep2(3000);
+ specialeffect(5002, SELF, getcharid(3));
+ end;
+}
diff --git a/npc/006-0/piouisle.txt b/npc/006-0/piouisle.txt
new file mode 100644
index 0000000..7ad3afe
--- /dev/null
+++ b/npc/006-0/piouisle.txt
@@ -0,0 +1,22 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+
+006-0,41,36,0 script Sign#0060PI NPC_SWORDS_SIGN,{
+ mesc l("To the lovely cuteness; Unwavering helpfulness.");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
+// Effective warp
+006-0,40,35,0 script Magic Barrier#Pi NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ warp "006-2", 68, 117;
+ end;
+}
diff --git a/npc/006-0/warpcandorbattle.txt b/npc/006-0/warpcandorbattle.txt
new file mode 100644
index 0000000..2a81960
--- /dev/null
+++ b/npc/006-0/warpcandorbattle.txt
@@ -0,0 +1,30 @@
+// TMW2 Script
+// Author:
+// Crazyfefe
+// Jesusalva
+
+
+006-0,53,36,0 script Sign#0060CF NPC_SWORDS_SIGN,{
+ //mesc l("To the brave heart; An endless maze.");
+ mesc l("To the strong soul; Challenges to overthrow."); // challenges await thou?
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
+// Effective warp
+006-0,54,35,0 script Magic Barrier NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ if (BaseLevel >= 20 && !$@FEFE_CAVE_LEVEL)
+ warp "006-1", 49, 53;
+ else if (BaseLevel < 20)
+ npctalk3 l("You don't have the required level to pass this barrier.");
+ else
+ npctalk3 l("You can't pass this barrier while people are fighting inside!");
+ end;
+}
diff --git a/npc/006-1/_import.txt b/npc/006-1/_import.txt
new file mode 100644
index 0000000..c5c3938
--- /dev/null
+++ b/npc/006-1/_import.txt
@@ -0,0 +1,5 @@
+// Map 006-1: Crazyfefe's Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/006-1/barrier.txt",
+"npc/006-1/crazyfefe.txt",
+"npc/006-1/mapflags.txt",
diff --git a/npc/006-1/barrier.txt b/npc/006-1/barrier.txt
new file mode 100644
index 0000000..da4ca36
--- /dev/null
+++ b/npc/006-1/barrier.txt
@@ -0,0 +1,14 @@
+// TMW2 Script
+// Author:
+// Crazyfefe
+// Jesusalva
+
+006-1,49,54,0 script #FightCaveBarrier NPC_NO_SPRITE,0,0,{
+ if ($@FEFE_CAVE_LEVEL) goto L_Block;
+ warp "006-0", 54, 36;
+ end;
+
+L_Block:
+ dispbottom l("Your coward outer self fails to convince you to leave.");
+ end;
+}
diff --git a/npc/006-1/crazyfefe.txt b/npc/006-1/crazyfefe.txt
new file mode 100644
index 0000000..8647207
--- /dev/null
+++ b/npc/006-1/crazyfefe.txt
@@ -0,0 +1,425 @@
+// TMW2 Script
+// Author:
+// TMW Org. (original code)
+// Jesusalva
+// Description:
+// Crazyfefe will wake up when he smells battle
+// Variables:
+// $@FEFE_CAVE_LEVEL
+// Tracks selected difficulty level.
+// 0 - Not started
+// 1 - Easy
+// 2 - Normal
+// 3 - Hard
+// 4 - Out of Mind (Exclusive for top 3)
+// 5 - Cronqvist Mode (Exclusive for Candor Battle Season)
+// $@FEFE_DELAY
+// Tracks the delay between challenges. Also used to start the combat. Set it to zero so you can start fight at once.
+// $@FEFE_CAVE_HERO$
+// Whoever started a fight. Also used to know if a fight is about to begin.
+// $@FEFE_CAVE_PLAYER_COUNT
+// How many players are there.
+// $@FEFE_WAVE
+// Current wave
+// $@GM_OVERRIDE
+// Only possible with @set command, overrides the co-op requeriment. Affects other scripts.
+
+006-1,47,22,0 script Crazyfefe NPC_STATUE_EVILMAN,{
+ function pleaseWait;
+ function Scoreboard;
+ function Challenge;
+ function aboutCandor;
+ function StartFight;
+ function CleanUp;
+ function CaveLogic;
+ function NextRound;
+
+ // Battle already begun
+ if ($@FEFE_WAVE)
+ {
+ npctalk3 l("Pay attention to the fight, @@!", strcharinfo(0));
+ dispbottom l("Round @@", $@FEFE_WAVE);
+ end;
+ }
+ if ($@FEFE_CAVE_HERO$ != "") {
+ pleaseWait();
+ close;
+ }
+
+ // Main Loop
+ mesn;
+ mesq l("Who dares to disturb my slumber?");
+ next;
+ do
+ {
+ select
+ l("Sorry, sorry! Please rest, great Crazyfefe!"),
+ l("I do. I want to challenge the Candor Cave!"),
+ l("What are current leaderboard?"),
+ l("What is this place anyway?");
+ mes "";
+ switch (@menu) {
+ case 1: close; break;
+ case 2: Challenge(); break;
+ case 3: Scoreboard(); break;
+ case 4: aboutCandor(); break;
+ }
+ } while (true);
+ close;
+
+/// Functions
+function pleaseWait {
+ // Battle in delay (either to begin or to allow new challenges)
+ if ($@FEFE_DELAY > gettimetick(2))
+ {
+ .@time$=FuzzyTime($@FEFE_DELAY,2,2);
+ // Less than 30 seconds left, do not open a message window.
+ if ($@FEFE_DELAY-gettimetick(2) <= 30) {
+ npctalk3 l("@@!", .@time$);
+ end;
+ }
+ mesn;
+ mesq l("Be Patient... You still need to wait @@.", .@time$);
+ close;
+ }
+ return;
+}
+
+// Are you a Candor Top 3?
+// ISCANDORTOP3( - )
+function ISCANDORTOP3 {
+ return (strcharinfo(0) == $@cfefe_name$[0] ||
+ strcharinfo(0) == $@cfefe_name$[1] ||
+ strcharinfo(0) == $@cfefe_name$[2]);
+}
+
+function Scoreboard {
+ mesc l("All leaderboards are refreshed hourly."), 1;
+ mesc l("Your current score: @@", CRAZYPOINTS), 3;
+ HallOfCandor();
+ next;
+ return;
+}
+
+function aboutCandor {
+ mesn;
+ mesq l("I am @@, guardian of Candor Cave. Below this cave, lies the legendary Fefe, arch-wizard from the Great War.", .name$);
+ next;
+ mesn;
+ mesq l("During the war, the Monster King cursed the place where he died, but he fought back, and cursed the curse.");
+ next;
+ mesn;
+ mesq l("For short, they had a fight with curses, and now there's a talking statue over his grave which can spawn monsters here.");
+ next;
+ mesn;
+ mesq l("If you pay the fee, I'll spawn them, for no longer than 20 minutes. You should not fight alone, instead, you need a group of at least three, because, you know, the curse. Or something.");
+ next;
+ return;
+}
+
+function Challenge {
+ pleaseWait();
+ if ($EVENT$ != "Candor") {
+ mesn;
+ mesq l("Very well, but for a fee of @@ GP. There's no free lunch, after all!", .price);
+ //mesc l("A minimum of %d players at the time of start is required!", 2), 1;
+ mesc l("If at any moment in the fight there's less than %d players in the room, a severe penalty will be applied, so watch out!", 3), 1;
+
+ // Not enough money? We end here.
+ if (Zeny < .price)
+ close;
+ next;
+ } else {
+ mesn;
+ mesq l("Very well, let's see what you are made of!");
+ mesc l("A minimum of %d players at the time of start is required!", 2), 1;
+ next;
+ }
+
+ // Difficulty Selection
+ mesc l("Select difficulty."), 1;
+ mesc l("Out of Mind mode is only available for Top 3.");
+ mesc l("Cronqvist mode is only available during Candor Battle.");
+ mesc l("Only Cronqvist Mode yields more points per wave!");
+ menuint
+ l("Easy"), 1,
+ l("Hard"), 3,
+ rif(ISCANDORTOP3() || is_master(), l("Out of Mind")), 5,
+ rif($EVENT$ == "Candor" || is_master(), l("Cronqvist Mode")), 12,
+ rif($EVENT$ == "Candor" && ISCANDORTOP3() || is_master(), l("Crazyfefe Mode")), 25,
+ rif($EVENT$ == "Candor" && $GAME_STORYLINE >= 4 || is_master(), l("Monster King Mode")), 100,
+ rif($EVENT$ == "Candor" && ISCANDORTOP3() && $GAME_STORYLINE >= 4 || is_master(), l("Mooubootaur Mode")), 250;
+ .@cdif=@menuret;
+ next;
+
+ // Already started?
+ if ($@FEFE_WAVE || $@FEFE_CAVE_HERO$ != "")
+ {
+ mesn;
+ mesq l("Sorry, @@ already started the fight.", $@FEFE_CAVE_HERO$);
+ close;
+ }
+
+ menuint
+ l("Sorry, I misclicked the first button. Have a nice nap, great Crazyfefe!"), -1,
+ rif(is_gm() || $EVENT$ == "Candor", l("WHAT ARE WE WAITING FOR?! START ALREADY!")), 0,
+ l("Yeah, I have the money. Give me FIVE minutes, and Bring it on!"), 5,
+ l("Yeah, I have the money. Give me TEN minutes, and Bring it on!"), 10,
+ l("Yeah, I have the money. Give me FIFTEEN minutes, and Bring it on!"), 15,
+ rif(is_gm(), l("I'm GM and got the money. Gimme HALF HOUR to invite everybody!")), 30;
+
+ // Cancel?
+ if (@menuret < 0)
+ close;
+
+ // Already started?
+ if ($@FEFE_WAVE || $@FEFE_CAVE_HERO$ != "")
+ {
+ mesn;
+ mesq l("Sorry, @@ already started the fight.", $@FEFE_CAVE_HERO$);
+ close;
+ }
+
+ // Use the money
+ if ($EVENT$ != "Candor")
+ Zeny -= .price;
+ // Time delay
+ $@FEFE_DELAY = gettimetick(2)+60*@menuret;
+ $@FEFE_CAVE_HERO$ = strcharinfo(0);
+ .DIFFICULTY = .@cdif;
+
+ // We must begin at once, so ignore normal procedure
+ if (!@menuret) {
+ logmes "candor fight - start without announce", LOGMES_ATCOMMAND;
+ closeclientdialog;
+ StartFight();
+ }
+
+ // Give you a bonus for starting the fight, and announce the fight.
+ @crazypoints=1;
+ initnpctimer;
+ .@msg$=$@FEFE_CAVE_HERO$+" invites everyone to a challenge against Candor Cave. It'll start in "+FuzzyTime($@FEFE_DELAY,2,2)+". Prepare yourselves!";
+ kamibroadcast(.@msg$);
+ mesn;
+ mesq l("Please wait, the fight will start in @@, as requested.", FuzzyTime($@FEFE_DELAY,2,2));
+ close;
+ return;
+}
+
+function StartFight {
+ if (getmapusers("006-1") < 1 && !$@GM_OVERRIDE) {
+ mapannounce("006-1", "Oh noes! There's not enough players. Fight aborted, no refunds!", bc_map);
+ CleanUp();
+ }
+
+ $@FEFE_CAVE_LEVEL = .DIFFICULTY;
+ .DIFFICULTY = 0;
+ $@FEFE_WAVE = 0;
+ $@FEFE_DELAY = gettimetick(2)+.delay;
+ $@FEFE_CAVE_PLAYER_COUNT = getmapusers("006-1");
+ mapannounce("006-1", "The battle is about to begin!", bc_map);
+ killmonsterall("006-1"); // Saulc likes to spawn stuff to heat stuff up
+ // Recalculate difficulty
+ $@FEFE_DIFFICULTY=0;
+ areatimer "006-1", 20, 20, 70, 60, 10, "Crazyfefe::OnSumLevel";
+ initnpctimer;
+ end;
+}
+
+
+
+
+// Recalc difficulty
+OnSumLevel:
+ if (ispcdead()) end;
+ $@FEFE_DIFFICULTY+=BaseLevel;
+ end;
+
+// Check if we're ready for next wave. Otherwise, do this check again after 5 seconds.
+function CaveLogic {
+ .wtime+=5; // This is looped every 5 s
+ $@FEFE_CAVE_PLAYER_COUNT = getmapusers("006-1");
+
+ // Victory conditions: Too few players are alive OR twenty minutes went on.
+ // WARNING, dead players still in cave are counted, we might never finish the fight.
+ // And a GM might be called to ban everyone inside.
+ if ($@FEFE_CAVE_PLAYER_COUNT < 1 && !$@GM_OVERRIDE || gettimetick(2) >= $@FEFE_DELAY - 300) {
+ CleanUp();
+ }
+
+ // Recalculate difficulty
+ $@FEFE_DIFFICULTY=0;
+ areatimer "006-1", 20, 20, 70, 60, 10, "Crazyfefe::OnSumLevel";
+ sleep(15);
+
+ // Penalty for being below the player count thresholds
+ // It merely assumes you *are* within the threshold
+ if ($@FEFE_CAVE_PLAYER_COUNT < 2)
+ $@FEFE_DIFFICULTY *= 3;
+ else if ($@FEFE_CAVE_PLAYER_COUNT < 3)
+ $@FEFE_DIFFICULTY *= 2;
+
+ // New wave condition: All mobs dead, or 90 seconds have passed
+ if (mobcount("006-1", "Crazyfefe::OnPetDeath") <= 0 || .wtime >= 90)
+ NextRound();
+
+ // reset timer
+ initnpctimer;
+ end;
+}
+
+function NextRound {
+ .wtime=0;
+ $@FEFE_WAVE = $@FEFE_WAVE + 1;
+ // Prepare next round, and reward survivors
+ $@FEFE_DIFFICULTY+=$@FEFE_CAVE_PLAYER_COUNT+$@FEFE_WAVE*8;
+ $@FEFE_DIFFICULTY+=(($@FEFE_WAVE/5)*10);
+ .@mult=10+(3*$@FEFE_CAVE_LEVEL); // +30% per difficulty setting
+ $@FEFE_DIFFICULTY=$@FEFE_DIFFICULTY*.@mult/10;
+ areatimer "006-1", 20, 20, 70, 60, 10, "Crazyfefe::OnReward";
+
+ mapannounce "006-1", "The wave nº "+$@FEFE_WAVE+" is starting with " + $@FEFE_CAVE_PLAYER_COUNT + " player(s) left alive." , 0;
+
+ .@amount=$@FEFE_WAVE+$@FEFE_CAVE_PLAYER_COUNT+rand2(1,2);
+ freeloop(true);
+ for (.@i = 0; .@i < .@amount; ++.@i) {
+
+ .@monsterId=Piou;
+ .@lv=max(1, $@FEFE_DIFFICULTY/10);
+
+ // Luck shall interfer with .@lv (up to +20 random levels)
+ // This prevents from excess of House Maggots, for example
+ .@lv+=any(0, 0, 0, 1, 1, 2);
+ //debugmes("[Candor] Difficulty is %d, pool is %d", .@lv, $@FEFE_DIFFICULTY);
+ .@lv=rand(0, .@lv);
+
+ switch (.@lv) {
+ case 0:
+ case 1:
+ case 2:
+ //.@monsterId = any(HouseMaggot, HouseMaggot, SlimeBlast, HouseMaggot) ; break;
+ case 3:
+ .@monsterId = any(AngryScorpion, CaveMaggot, MagicGoblin, ViciousSquirrel, AngryBat, HouseMaggot, SlimeBlast) ; break;
+ case 4:
+ case 5:
+ case 6:
+ .@monsterId = any(AngryBat, RedSlime, AngryRedScorpion, DesertBandit, Bandit, Sarracenus, VampireBat, Skeleton, GreenSlime) ; break;
+ case 7:
+ case 8:
+ .@monsterId = any(GreenSlime, LavaSlime, Bluepar, RedMushroom, CandiedSlime, RobinBandit, AngryYellowSlime, OldSnake, GrassSnake, BlueSlime) ; break;
+ case 9:
+ case 10:
+ .@monsterId = any(BlueSlime, SaxsoGhost, Snake, BlackSlime, Wolvern, FireSkull, DarkLizard, BlackScorpion) ; break;
+ case 11:
+ case 12:
+ .@monsterId = any(BlackScorpion, DustRifle, DustGatling, DustRevolver, ArmoredSkeleton, Grenadier) ; break;
+ case 13:
+ case 14:
+ .@monsterId = any(DustRifle, DustGatling, DustRevolver, MountainSnake, Yeti, HoodedNinja, FallenGuard1, FallenGuard2) ; break;
+ case 15:
+ case 16:
+ .@monsterId = any(FallenGuard1, FallenGuard2, BanditLord, Yeti, WickedMushroom, Thug, Grenadier) ; break;
+ case 17:
+ case 18:
+ .@monsterId = any(Forain, WickedMushroom, BlackMamba, Michel, Terranite) ; break;
+ case 19:
+ case 20:
+ case 21:
+ .@monsterId = any(Forain, Archant, BlackMamba, JackO, TerraniteProtector, EliteDuck) ; break;
+ default:
+ .@monsterId = any(GoboBear, GiantMutatedBat, TerraniteProtector, Reaper) ; break;
+ }
+ .@m=areamonster("006-1", 20, 20, 70, 60, strmobinfo(1, .@monsterId), .@monsterId, 1, "Crazyfefe::OnPetDeath");
+ set_aggro(.@m);
+ // We must lower difficulty according to summoned monster. Only 60% is lowered.
+ // If total level exceeds 250, it will cap at that to prevent excessive "slooping"
+ .@lower=(limit(1, .@lv, 25)*6);
+ .@lower=.@lower*7/10; // 70%
+ $@FEFE_DIFFICULTY=$@FEFE_DIFFICULTY-.@lower;
+ }
+ freeloop(false);
+ return;
+}
+
+function CleanUp {
+ mapannounce "006-1", "Game over! Who will be the next to fall on Crazyfefe's Cave?", 0;
+
+ areatimer "006-1", 20, 20, 70, 60, 10, "Crazyfefe::OnReward2";
+ $@FEFE_OLD = $@FEFE_CAVE_LEVEL;
+ $@FEFE_CAVE_LEVEL = 0;
+ $@FEFE_WAVE = 0;
+ $@FEFE_CAVE_HERO$ = "";
+ $@FEFE_DELAY=gettimetick(2)+180;
+ .wtime=0;
+ killmonster "006-1", "Crazyfefe::OnPetDeath";
+ stopnpctimer;
+ initnpctimer;
+ stopnpctimer;
+ end;
+}
+
+
+
+
+
+// Special case for survivors.
+OnReward2:
+ if (@crazypoints > CRAZYPOINTS) {
+ CRAZYPOINTS=@crazypoints;
+ dispbottom l("Crazyfefe Cave: New Highscore: @@ points", CRAZYPOINTS);
+ @crazypoints=0;
+ }
+ if (!ispcdead() && $@FEFE_OLD >= .BONUS_LVL)
+ getitem StrangeCoin, limit(1, @crazypoints/25, 5);
+// Rewards surviving players between rounds, according to performance, and get rid of dead PCs.
+OnReward:
+ if (ispcdead()) {
+ recovery(getcharid(3));
+ warp "Save", 0, 0;
+ // If your current points is more than your top, update
+ if (@crazypoints > CRAZYPOINTS) {
+ CRAZYPOINTS=@crazypoints;
+ dispbottom l("Crazyfefe Cave: New Highscore: @@ points", CRAZYPOINTS);
+ @crazypoints=0;
+ }
+ end;
+ }
+ // Player reward is a random number based on current wave
+ .@prize=rand($@FEFE_WAVE/2,$@FEFE_WAVE)*2;
+ // $@FEFE_DIFFICULTY might not be available anymore
+ if ($@FEFE_WAVE % 5 == 0)
+ Zeny+=.@prize;
+ getexp .@prize, rand(1,3);
+ @crazypoints+=($@FEFE_CAVE_LEVEL >= .BONUS_LVL && $EVENT$ == "Candor" ? 2 : 1);
+ end;
+
+// Every 5 seconds, handle cave, if fighting. Does nothing when waiting.
+OnTimer5000:
+ if ($@FEFE_CAVE_LEVEL)
+ CaveLogic();
+ end;
+
+// Announces and attempts to start the fight once time run out (assuming there are enough players)
+OnTimer300000:
+ if ($@FEFE_CAVE_LEVEL > 0) end;
+ if ($@FEFE_DELAY <= gettimetick(2)) StartFight();
+ .@msg$=$@FEFE_CAVE_HERO$+" invites everyone to a challenge against Candor Cave. It'll start in "+FuzzyTime($@FEFE_DELAY)+". Prepare yourselves!";
+ announce .@msg$, bc_all|bc_npc;
+ //channelmes("#world", .@msg$);
+ //kamibroadcast(.@msg$);
+ initnpctimer;
+ end;
+
+OnPetDeath:
+ end;
+
+OnInit:
+ .sex=G_OTHER;
+ .distance=5;
+ .price=400;
+ .delay=(60*25);
+ .wtime=0;
+ .DIFFICULTY=0;
+ .BONUS_LVL=5;
+ end;
+}
diff --git a/npc/006-1/mapflags.txt b/npc/006-1/mapflags.txt
new file mode 100644
index 0000000..58aeccf
--- /dev/null
+++ b/npc/006-1/mapflags.txt
@@ -0,0 +1,2 @@
+006-1 mapflag zone MMO No Revive
+006-1 mapflag bexp 115
diff --git a/npc/006-10/_config.txt b/npc/006-10/_config.txt
new file mode 100644
index 0000000..bdc6b78
--- /dev/null
+++ b/npc/006-10/_config.txt
@@ -0,0 +1,20 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-10: Fefe's Crypt conf
+
+006-10,42,29,0 script #006-10_42_29 NPC_CHEST,{
+ TreasureBox();
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ close;
+OnInit:
+ .distance=2;
+ end;
+}
+
+006-10,44,29,0 script #006-10_44_29 NPC_CHEST,{
+ TreasureBox();
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ close;
+OnInit:
+ .distance=2;
+ end;
+}
diff --git a/npc/006-10/_import.txt b/npc/006-10/_import.txt
new file mode 100644
index 0000000..69724d9
--- /dev/null
+++ b/npc/006-10/_import.txt
@@ -0,0 +1,7 @@
+// Map 006-10: Fefe's Crypt
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/006-10/006-10_blackbox.txt",
+"npc/006-10/_config.txt",
+"npc/006-10/_mobs.txt",
+"npc/006-10/_warps.txt",
+"npc/006-10/logic.txt",
diff --git a/npc/006-10/_mobs.txt b/npc/006-10/_mobs.txt
new file mode 100644
index 0000000..734e9c1
--- /dev/null
+++ b/npc/006-10/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-10: Fefe's Crypt mobs
+006-10,44,34,15,15 monster Vampire Bat 1063,12,300000,30000
diff --git a/npc/006-10/_warps.txt b/npc/006-10/_warps.txt
new file mode 100644
index 0000000..b39cc23
--- /dev/null
+++ b/npc/006-10/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-10: Fefe's Crypt warps
+006-10,43,49,0 warp #006-10_43_49 1,0,006-6,46,27
diff --git a/npc/006-10/logic.txt b/npc/006-10/logic.txt
new file mode 100644
index 0000000..931a387
--- /dev/null
+++ b/npc/006-10/logic.txt
@@ -0,0 +1,196 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Crazyfefe's Shrine (lore bits)
+
+006-10 mapflag zone MMO
+
+006-10,46,45,0 script #00610WA NPC_HIDDEN,0,3,{
+ end;
+OnTouch:
+ slide 53, 46; end;
+}
+
+006-10,58,45,0 script #00610WB NPC_HIDDEN,0,3,{
+ end;
+OnTouch:
+ slide 54, 38; end;
+}
+
+006-10,49,38,0 script #00610WC NPC_HIDDEN,0,3,{
+ end;
+OnTouch:
+ slide 42, 40; end;
+}
+
+006-10,55,37,0 script #00610WD NPC_HIDDEN,0,3,{
+ end;
+OnTouch:
+ slide 45, 46; end;
+}
+
+006-10,44,39,0 script #00610WE NPC_HIDDEN,0,3,{
+ end;
+OnTouch:
+ slide 50, 38; end;
+}
+
+006-10,38,39,0 script #00610WF NPC_HIDDEN,0,3,{
+ end;
+OnTouch:
+ slide 35, 35; end;
+}
+
+006-10,30,34,0 script #00610WG NPC_HIDDEN,0,3,{
+ end;
+OnTouch:
+ slide 33, 25; end;
+}
+
+006-10,38,24,0 script #00610WH NPC_HIDDEN,0,3,{
+ end;
+OnTouch:
+ slide 45, 22; end;
+}
+
+006-10,50,21,0 script #00610WI NPC_HIDDEN,0,3,{
+ end;
+OnTouch:
+ slide 57, 29; end;
+}
+
+006-10,52,28,0 script #00610WJ NPC_HIDDEN,0,3,{
+ end;
+OnTouch:
+ slide 45, 31; end;
+}
+
+006-10,40,30,0 script #00610WK NPC_HIDDEN,0,3,{
+ end;
+OnTouch:
+ slide 37, 25; end;
+}
+
+006-10,32,24,0 script #00610WL NPC_HIDDEN,0,3,{
+ end;
+OnTouch:
+ slide 31, 46; end;
+}
+
+006-10,36,45,0 script #00610WM NPC_HIDDEN,0,3,{
+ end;
+OnTouch:
+ slide 41, 46; end;
+}
+
+006-10,30,45,0 script #00610WN NPC_HIDDEN,0,3,{
+ end;
+OnTouch:
+ slide 57, 46; end;
+}
+// --------------------------------------------------
+006-10,52,45,0 script #00610WO NPC_HIDDEN,0,3,{
+ end;
+OnTouch:
+ slide 45, 46; end;
+}
+
+006-10,40,45,0 script #00610WP NPC_HIDDEN,0,3,{
+ end;
+OnTouch:
+ slide 35, 35; end;
+}
+
+006-10,36,34,0 script #00610WQ NPC_HIDDEN,0,3,{
+ end;
+OnTouch:
+ slide 40, 40; end;
+}
+
+006-10,58,28,0 script #00610WR NPC_HIDDEN,0,3,{
+ end;
+OnTouch:
+ slide 49, 22; end;
+}
+
+006-10,46,30,0 script #00610WS NPC_HIDDEN,0,3,{
+ end;
+OnTouch:
+ slide 53, 29; end;
+}
+
+006-10,44,21,0 script #00610WT NPC_HIDDEN,0,3,{
+ end;
+OnTouch:
+ slide 37, 25; end;
+}
+// --------------------------------------------------
+006-10,43,28,0 script Crypt#Fefe NPC_NO_SPRITE,{
+ mesn l("Crypt");
+ mesc l("Herein lies Fefe, for his great bravure and heroic deeds, savior of our realm, valiantly defeated in combat against the Monster King, may the mana shine upon him forever.");
+ next;
+ mesn l("Crypt");
+ mesc l("Herein also lies Raid Yahoo, enemy of manakind and nemesis of Saul, the one hated by many and loved by few, greedy mana stone collector, but who still opposed to the Monster King and lost her life for it.");
+ next;
+ mesn l("Crypt");
+ mesc l("May their memory be remembered, but may their struggle be forgotten, their bodies never profaned, and in the æthyr, may they find eternal rest and comfort for their souls.");
+ close;
+
+OnInit:
+ .distance=2;
+ end;
+}
+
+
+006-10,33,44,0 script Diary#Fefe NPC_NO_SPRITE,{
+ setpcblock(PCBLOCK_HARD, true);
+ mesc l("STORY MODE ENABLED. Monsters won't attack you, so you can read without worries."), 1;
+ mesc l("Here lies a diary, presumably from Fefe.");
+ next;
+ clear;
+ mesn b(l("Tulimshar, Tonori - 2nd March 300 AT"));
+ mesc l("Tomorrow is the day, when we shall march against Raid, in order to free our people from the oppression of her mages.");
+ dnext;
+ mesc l("Saul will lead the frontal assault, Mr. Saves shall provide distraction, and I'll infiltrate within the Mage Tower.");
+ dnext;
+ mesc l("I can't sleep, so I'm writing this entry. It'll take a considerable amount of time to decrypt the shield frequency Raid is using, and when Saul's army is marching towards their deaths, time is of essence. Every second I waste, is a comrade who will die.");
+ dnext;
+ mesc l("I'm a pro, this will be GG EZ. But Raid is not a foe to be underestimated, and I have no hopes for reinforcements. I refuse to leave last words, I shall either triumph, or be forgotten in shame.");
+ next;
+ mes "";
+ mesn b(l("Wizards Tower, Tonori - 6th March 300 AT"));
+ mesc l("...I knew bandits were not be trusted, but Saul insisted in doing so. I hate him so much right now. Even if he is my brother.");
+ dnext;
+ mesc l("Raid and me have been in hot pursuit for a while, but I fear it is already too late. Yesterday there was another earthquake, and we're receiving summons to return to Tulimshar at once. Apparently, it is under attack.");
+ dnext;
+ mesc l("Saul will deal with it. His mess, he will clean up. Raid and me will keep the pursuit. And this time, we shall triumph.");
+ next;
+ mes "";
+ mesn b(l("Wizards Tower, Tonori - 8th April 300 AT"));
+ mesc l("The Monster King once again eluded us. How long has it been? His minions are laying waste to all towns, Saul has been killed, Raid has been wounded.");
+ dnext;
+ mesc l("I'm fine, but I can't keep carrying dead weights with me. Candor is a special place, I shall make a base there... Because I know the Monster King will eventually head there.");
+ dnext;
+ mesc l("This time, I'll be prepared. His reign of terror has its days counted.");
+ next;
+ mes "";
+ mesn b(l("Saxso's Basement, Candor - 27th July 300 AT"));
+ mesc l("This is my chance - the biggest Mana Quake ever, it feels like a whole world crushing in ours. I can feel the drain from Candor's Mana Reserves all the way up here.");
+ dnext;
+ mesc l("Now to head inside the caves, until the last floor, and have my showdown and revenge against the Monster King. I do not plan in failing.");
+ dnext;
+ mesc l("But if I do, I'll not return. Neither me, nor Raid. Which is why I'm taking precautions: This diary. In the event of my death, please bury my body and contact Halinarzo.");
+ dnext;
+ mesc l("If I can't beat him, no one else can, and if our species are to survive, we'll need to return to the Edge. Even if it means... Fulfilling the prophecy. %s. Whatever the cost.", b("Per Asper Ad Salvos"));
+ next;
+ 00610_Init_BlackBox();
+ setpcblock(PCBLOCK_HARD, false);
+ closeclientdialog;
+ close;
+
+OnInit:
+ .distance=2;
+ end;
+}
+
diff --git a/npc/006-2-1/_import.txt b/npc/006-2-1/_import.txt
new file mode 100644
index 0000000..d5dc075
--- /dev/null
+++ b/npc/006-2-1/_import.txt
@@ -0,0 +1,9 @@
+// Map 006-2-1: Piou Houses
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/006-2-1/_mobs.txt",
+"npc/006-2-1/_warps.txt",
+"npc/006-2-1/chirp.txt",
+"npc/006-2-1/lune.txt",
+"npc/006-2-1/miltaco.txt",
+"npc/006-2-1/plum.txt",
+"npc/006-2-1/server.txt",
diff --git a/npc/006-2-1/_mobs.txt b/npc/006-2-1/_mobs.txt
new file mode 100644
index 0000000..02ce451
--- /dev/null
+++ b/npc/006-2-1/_mobs.txt
@@ -0,0 +1,7 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-2-1: Piou Houses mobs
+006-2-1,28,29,1,1 monster Piousse 1003,4,30000,30000
+006-2-1,76,69,2,2 monster Piou 1002,6,30000,30000
+006-2-1,79,27,7,3 monster Piou 1002,4,30000,30000
+006-2-1,37,77,5,3 monster Piou 1002,3,30000,30000
+006-2-1,37,69,5,3 monster Piousse 1003,4,30000,30000
diff --git a/npc/006-2-1/_warps.txt b/npc/006-2-1/_warps.txt
new file mode 100644
index 0000000..84ef7f8
--- /dev/null
+++ b/npc/006-2-1/_warps.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-2-1: Piou Houses warps
+006-2-1,24,23,0 warp #006-2-1_24_23 0,0,006-2,68,100
+006-2-1,38,65,0 warp #006-2-1_38_65 0,0,006-2,87,96
+006-2-1,79,23,0 warp #006-2-1_79_23 0,0,006-2,92,96
+006-2-1,83,65,0 warp #006-2-1_83_65 0,0,006-2,87,101
diff --git a/npc/006-2-1/chirp.txt b/npc/006-2-1/chirp.txt
new file mode 100644
index 0000000..05de00c
--- /dev/null
+++ b/npc/006-2-1/chirp.txt
@@ -0,0 +1,15 @@
+// TMW-2 Script.
+// Author:
+// +Seeds
+// Jesusalva
+
+006-2-1,41,66,0 script Chirp NPC_PIOU_BANKER,{
+ Banker(.name$, "Piou Isles", 8000);
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
+
diff --git a/npc/006-2-1/lune.txt b/npc/006-2-1/lune.txt
new file mode 100644
index 0000000..486ac01
--- /dev/null
+++ b/npc/006-2-1/lune.txt
@@ -0,0 +1,201 @@
+// TMW2 Script
+// Author:
+// Saulc
+// Vasily_Makarov (original from Evol)
+// Jesusalva
+// seeds
+// Description:
+// Status Reset and Agility Potions
+
+006-2-1,34,66,0 script Lune NPC_PIOU_ALCHEMIST,{
+
+ speech S_LAST_NEXT,
+ l("I am %s, a piou alchemist specializing in reset and agility potions.", .name$);
+
+L_Menu:
+ .@plush_count = BaseLevel*210-(9*210);
+ // Lv 10: 210 GP
+ // Lv 90: 1.890 GP
+ if (BaseLevel > 10)
+ .@plush_count = .@plush_count/(BaseLevel/10);
+
+ select
+ l("Can you reset my stats please?"),
+ l("Can you mix me an agility potion?"),
+ lg("I'm allergic to piou potions, goodbye.");
+ mes "";
+
+ switch (@menu)
+ {
+ case 1:
+ goto L_ResetStats;
+ case 2:
+ goto L_PotionList;
+ default:
+ goto L_Quit;
+ break;
+ }
+ close;
+
+L_ResetStats:
+ mesn;
+ mesq l("Status point reset can't be undone. Do you really want this?");
+
+L_ConfirmReset:
+ ConfirmStatusReset();
+ goto L_Quit;
+
+L_PotionList:
+ mes "";
+ mesn;
+ mesq l("I can make three types of Agility Potions, which would you like?");
+ next;
+ select
+ rif(BaseLevel > 20, l("I want an Agi Potion.")),
+ rif(BaseLevel > 30, l("I want an Agi+ Potion.")),
+ rif(BaseLevel > 40, l("I want an Agi++ Potion.")),
+ l("I changed my mind, goodbye.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ goto L_AgiPotionA;
+ break;
+ case 2:
+ goto L_AgiPotionB;
+ break;
+ case 3:
+ goto L_AgiPotionC;
+ break;
+ default:
+ goto L_Quit;
+ break;
+ }
+ close;
+
+L_AgiPotionA:
+ .@price=POL_AdjustPrice(1000);
+ mes "";
+ mesn;
+ mesq l("To make an %s I need a %s, an %s, and %s GP for commission.", getitemlink(AgiPotionA), getitemlink(TopazPowder), getitemlink(HerbalTea), fnum(.@price));
+ next;
+ select
+ l("I have the ingredients here."),
+ l("I'll come back later."),
+ l("I don't need anything after all, goodbye!");
+ if (@menu == 2)
+ goto L_Menu;
+
+ if (@menu == 3)
+ goto L_Quit;
+
+ if (
+ countitem(TopazPowder) &&
+ countitem(HerbalTea) &&
+ Zeny >= .@price) {
+
+ inventoryplace AgiPotionA, 3;
+ delitem TopazPowder, 1;
+ delitem HerbalTea, 1;
+ POL_PlayerMoney(.@price);
+ getitem AgiPotionA, any(2,3);
+ getexp rand2(6,18), rand2(6,18);
+
+ mesn;
+ mesq l("Here you go. Perhaps you need another one?");
+ next;
+ goto L_PotionList;
+ } else {
+ mesn;
+ mesq l("Sorry, but I need the ingredients and %d GP.", .@price);
+ next;
+ }
+ goto L_Menu;
+
+L_AgiPotionB:
+ .@price=POL_AdjustPrice(1250);
+ mes "";
+ mesn;
+ mesq l("To make an %s I need a %s, two %s, and %s GP for commission.", getitemlink(AgiPotionB), getitemlink(Topaz), getitemlink(HerbalTea), fnum(.@price));
+ next;
+ select
+ l("I have the ingredients here."),
+ l("I'll come back later."),
+ l("I don't need anything after all, goodbye!");
+ if (@menu == 2)
+ goto L_Menu;
+
+ if (@menu == 3)
+ goto L_Quit;
+
+ if (
+ countitem(Topaz) &&
+ countitem(HerbalTea) >= 2 &&
+ Zeny >= .@price) {
+
+ inventoryplace AgiPotionB, 3;
+ delitem Topaz, 1;
+ delitem HerbalTea, 2;
+ POL_PlayerMoney(.@price);
+ getitem AgiPotionB, any(2,3);
+ getexp rand2(6,18), rand2(6,18);
+
+ mesn;
+ mesq l("Here you go. Perhaps you need another one?");
+ next;
+ goto L_PotionList;
+ } else {
+ mesn;
+ mesq l("Sorry, but I need the ingredients and %d GP.", .@price);
+ next;
+ }
+ goto L_Menu;
+
+L_AgiPotionC:
+ .@price=POL_AdjustPrice(1500);
+ mes "";
+ mesn;
+ mesq l("To make an %s I need a %s, three %s, and %s GP for commission.", getitemlink(AgiPotionC), getitemlink(PolishedTopaz), getitemlink(HerbalTea), fnum(.@price));
+ next;
+ select
+ l("I have the ingredients here."),
+ l("I'll come back later."),
+ l("I don't need anything after all, goodbye!");
+ if (@menu == 2)
+ goto L_Menu;
+
+ if (@menu == 3)
+ goto L_Quit;
+
+ if (
+ countitem(PolishedTopaz) &&
+ countitem(HerbalTea) >= 3 &&
+ Zeny >= .@price) {
+
+ inventoryplace AgiPotionC, 3;
+ delitem PolishedTopaz, 1;
+ delitem HerbalTea, 3;
+ POL_PlayerMoney(.@price);
+ getitem AgiPotionC, any(2,3);
+ getexp rand2(6,18), rand2(6,18);
+
+ mesn;
+ mesq l("Here you go. Perhaps you need another one?");
+ next;
+ goto L_PotionList;
+ } else {
+ mesn;
+ mesq l("Sorry, but I need the ingredients and %d GP.", .@price);
+ next;
+ }
+ goto L_Menu;
+
+L_Quit:
+ closeclientdialog;
+ goodbye;
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
diff --git a/npc/006-2-1/miltaco.txt b/npc/006-2-1/miltaco.txt
new file mode 100644
index 0000000..427b9a4
--- /dev/null
+++ b/npc/006-2-1/miltaco.txt
@@ -0,0 +1,55 @@
+// TMW2 scripts.
+// Authors:
+// Saulc
+// Jesusalva
+// Reid
+// Travolta
+// Modified by:
+// +seeds
+// Description:
+// Miltaco is the barber.
+
+006-2-1,85,67,0 script Miltaco NPC_PIOU_BARBER,{
+ mesn;
+ mesq l("Hi! I'm Miltaco, a piou specialist in humanoid hairstyles. Do you want a hair cut?");
+
+ do
+ {
+ select
+ l("What is my current hairstyle and hair color?"),
+ l("I'd like to get a different style."),
+ l("Can you do something with my color?"),
+ l("I'm allergic to pious, goodbye.");
+
+ switch (@menu)
+ {
+ case 1:
+ BarberSayStyle 2;
+ break;
+ case 2:
+ BarberChangeStyle;
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Enjoy your new style.");
+ l("Anything else?");
+ break;
+ case 3:
+ BarberChangeColor;
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("I hope you like this color.");
+ l("Anything else?");
+ break;
+ case 4:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Come and visit again!");
+
+ goodbye;
+ }
+ } while (1);
+ close;
+
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 5;
+ end;
+}
diff --git a/npc/006-2-1/plum.txt b/npc/006-2-1/plum.txt
new file mode 100644
index 0000000..cc987b4
--- /dev/null
+++ b/npc/006-2-1/plum.txt
@@ -0,0 +1,17 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// +seeds
+// Description:
+// Nurse.
+
+006-2-1,85,71,0 script Plum NPC_PIOU_NURSE,{
+ Nurse(.name$, 10, 5);
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/006-2-1/server.txt b/npc/006-2-1/server.txt
new file mode 100644
index 0000000..8f0d04c
--- /dev/null
+++ b/npc/006-2-1/server.txt
@@ -0,0 +1,54 @@
+// TMW2 Script.
+// Author:
+// Jesusalva
+// Modified by:
+// +seeds
+
+006-2-1,41,74,0 script Server NPC_PIOU_SERVER,{
+
+ mesn;
+ mesq l("Hello! Would you like to try some piou delicacies?");
+ next;
+ closedialog;
+ npcshopattach(.name$);
+ shop .name$;
+ close;
+
+OnInit:
+
+ .sex = G_OTHER;
+ .distance = 5;
+
+ tradertype(NST_MARKET);
+ sellitem Piberries, 20, 20;
+ sellitem Aquada, 120, 5;
+ sellitem LettuceLeaf, 30, 15;
+ sellitem Bread, 46, 10;
+ sellitem Cheese, 55, 15;
+
+ end;
+
+OnClock0556:
+OnClock1201:
+OnClock1759:
+OnClock0003:
+ restoreshopitem Piberries, 20, 20;
+ restoreshopitem Aquada, 120, 5;
+ restoreshopitem LettuceLeaf, 30, 15;
+ restoreshopitem Bread, 46, 10;
+ restoreshopitem Cheese, 55, 15;
+ end;
+
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+
+}
diff --git a/npc/006-2-2/_import.txt b/npc/006-2-2/_import.txt
new file mode 100644
index 0000000..87a6367
--- /dev/null
+++ b/npc/006-2-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 006-2-2: Secret Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/006-2-2/_warps.txt",
+"npc/006-2-2/ctrl.txt",
diff --git a/npc/006-2-2/_warps.txt b/npc/006-2-2/_warps.txt
new file mode 100644
index 0000000..4c7ce13
--- /dev/null
+++ b/npc/006-2-2/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-2-2: Secret Cave warps
+006-2-2,35,48,0 warp #006-2-2_35_48 1,0,006-2,71,87
diff --git a/npc/006-2-2/ctrl.txt b/npc/006-2-2/ctrl.txt
new file mode 100644
index 0000000..4288cdc
--- /dev/null
+++ b/npc/006-2-2/ctrl.txt
@@ -0,0 +1,13 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+
+006-2-2,35,24,0 script #PiouGate NPC_HIDDEN,1,0,{
+ end;
+
+OnTouch:
+ // TODO Checks
+ dispbottom l("This gate is still sealed.");
+ end;
+}
+
diff --git a/npc/006-2-3/_import.txt b/npc/006-2-3/_import.txt
new file mode 100644
index 0000000..d6b7fb2
--- /dev/null
+++ b/npc/006-2-3/_import.txt
@@ -0,0 +1,4 @@
+// Map 006-2-3: Mushroom Cavern
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/006-2-3/_mobs.txt",
+"npc/006-2-3/_warps.txt",
diff --git a/npc/006-2-3/_mobs.txt b/npc/006-2-3/_mobs.txt
new file mode 100644
index 0000000..29db028
--- /dev/null
+++ b/npc/006-2-3/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-2-3: Mushroom Cavern mobs
+006-2-3,44,34,14,13 monster Piou 1002,6,30000,30000
+006-2-3,43,32,8,7 monster Silk Worm 1034,6,30000,30000
+006-2-3,49,34,6,10 monster Red Butterfly 1025,2,30000,30000
+006-2-3,39,34,6,10 monster Cyan Butterfly 1172,2,30000,30000
diff --git a/npc/006-2-3/_warps.txt b/npc/006-2-3/_warps.txt
new file mode 100644
index 0000000..e0052f7
--- /dev/null
+++ b/npc/006-2-3/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-2-3: Mushroom Cavern warps
+006-2-3,44,20,0 warp #006-2-3_44_20 0,0,006-2,62,109
+006-2-3,44,48,0 warp #006-2-3_44_48 0,0,006-2,68,114
diff --git a/npc/006-2-4/_import.txt b/npc/006-2-4/_import.txt
new file mode 100644
index 0000000..516cd26
--- /dev/null
+++ b/npc/006-2-4/_import.txt
@@ -0,0 +1,4 @@
+// Map 006-2-4: Training Room
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/006-2-4/_mobs.txt",
+"npc/006-2-4/_warps.txt",
diff --git a/npc/006-2-4/_mobs.txt b/npc/006-2-4/_mobs.txt
new file mode 100644
index 0000000..760f2ad
--- /dev/null
+++ b/npc/006-2-4/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-2-4: Training Room mobs
+006-2-4,35,27,3,2 monster Piou Knight 1434,2,30000,30000
diff --git a/npc/006-2-4/_warps.txt b/npc/006-2-4/_warps.txt
new file mode 100644
index 0000000..dac54f4
--- /dev/null
+++ b/npc/006-2-4/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-2-4: Training Room warps
+006-2-4,39,22,0 warp #006-2-4_39_22 0,0,006-2-5,43,24
diff --git a/npc/006-2-5/_import.txt b/npc/006-2-5/_import.txt
new file mode 100644
index 0000000..7a07b21
--- /dev/null
+++ b/npc/006-2-5/_import.txt
@@ -0,0 +1,4 @@
+// Map 006-2-5: Throne Room
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/006-2-5/_mobs.txt",
+"npc/006-2-5/_warps.txt",
diff --git a/npc/006-2-5/_mobs.txt b/npc/006-2-5/_mobs.txt
new file mode 100644
index 0000000..86c6e35
--- /dev/null
+++ b/npc/006-2-5/_mobs.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-2-5: Throne Room mobs
+006-2-5,34,28,1,1 monster Forest Piou 1202,2,30000,30000
+006-2-5,42,28,1,1 monster Mana Piou 1155,2,30000,30000
diff --git a/npc/006-2-5/_warps.txt b/npc/006-2-5/_warps.txt
new file mode 100644
index 0000000..aca0234
--- /dev/null
+++ b/npc/006-2-5/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-2-5: Throne Room warps
+006-2-5,38,35,0 warp #006-2-5_38_35 0,0,006-2,68,75
+006-2-5,34,21,0 warp #006-2-5_34_21 0,0,006-2-6,33,23
+006-2-5,43,23,0 warp #006-2-5_43_23 0,0,006-2-4,39,23
diff --git a/npc/006-2-6/_import.txt b/npc/006-2-6/_import.txt
new file mode 100644
index 0000000..2b82b5a
--- /dev/null
+++ b/npc/006-2-6/_import.txt
@@ -0,0 +1,4 @@
+// Map 006-2-6: Upper Level
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/006-2-6/_mobs.txt",
+"npc/006-2-6/_warps.txt",
diff --git a/npc/006-2-6/_mobs.txt b/npc/006-2-6/_mobs.txt
new file mode 100644
index 0000000..6eeca13
--- /dev/null
+++ b/npc/006-2-6/_mobs.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-2-6: Upper Level mobs
+006-2-6,35,31,1,1 monster Piou 1002,3,30000,30000
+006-2-6,41,31,1,1 monster Piousse 1003,3,30000,30000
diff --git a/npc/006-2-6/_warps.txt b/npc/006-2-6/_warps.txt
new file mode 100644
index 0000000..8dd18ae
--- /dev/null
+++ b/npc/006-2-6/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-2-6: Upper Level warps
+006-2-6,34,23,0 warp #006-2-6_34_23 0,0,006-2-5,34,22
diff --git a/npc/006-2/_import.txt b/npc/006-2/_import.txt
new file mode 100644
index 0000000..e459cf2
--- /dev/null
+++ b/npc/006-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 006-2: The Piou Islands
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/006-2/_mobs.txt",
+"npc/006-2/_warps.txt",
diff --git a/npc/006-2/_mobs.txt b/npc/006-2/_mobs.txt
new file mode 100644
index 0000000..ea4136d
--- /dev/null
+++ b/npc/006-2/_mobs.txt
@@ -0,0 +1,9 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-2: The Piou Islands mobs
+006-2,68,72,9,6 monster Forest Piou 1202,5,30000,30000
+006-2,92,100,9,6 monster Piousse 1003,12,30000,30000
+006-2,68,101,9,6 monster Mana Piou 1155,8,30000,30000
+006-2,44,100,9,6 monster Piou 1002,18,30000,30000
+006-2,68,117,2,3 monster Forest Piou 1202,1,20000,15000
+006-2,68,117,2,3 monster Mana Piou 1155,1,20000,15000
+006-2,68,72,6,5 monster Shrewboo 1435,4,30000,30000
diff --git a/npc/006-2/_warps.txt b/npc/006-2/_warps.txt
new file mode 100644
index 0000000..24bc598
--- /dev/null
+++ b/npc/006-2/_warps.txt
@@ -0,0 +1,10 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-2: The Piou Islands warps
+006-2,68,101,0 warp #006-2_68_101 0,0,006-2-1,24,24
+006-2,87,97,0 warp #006-2_87_97 0,0,006-2-1,38,66
+006-2,92,97,0 warp #006-2_92_97 0,0,006-2-1,79,24
+006-2,87,102,0 warp #006-2_87_102 0,0,006-2-1,83,66
+006-2,61,109,0 warp #006-2_61_109 0,0,006-2-3,44,21
+006-2,68,113,0 warp #006-2_68_113 0,0,006-2-3,44,47
+006-2,68,118,0 warp #006-2_68_118 0,0,006-0,40,36
+006-2,68,74,0 warp #006-2_68_74 0,0,006-2-5,38,34
diff --git a/npc/006-3/_import.txt b/npc/006-3/_import.txt
new file mode 100644
index 0000000..450a0a8
--- /dev/null
+++ b/npc/006-3/_import.txt
@@ -0,0 +1,7 @@
+// Map 006-3: Candor's Underground, B2F
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/006-3/_mobs.txt",
+"npc/006-3/_warps.txt",
+"npc/006-3/core.txt",
+"npc/006-3/grotto.txt",
+"npc/006-3/jaklab.txt",
diff --git a/npc/006-3/_mobs.txt b/npc/006-3/_mobs.txt
new file mode 100644
index 0000000..60f8634
--- /dev/null
+++ b/npc/006-3/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-3: Candor's Underground, B2F mobs
+006-3,46,38,16,14 monster Yellow Slime 1091,6,120000,30000
+006-3,44,36,15,14 monster Red Slime 1092,4,120000,30000
+006-3,45,33,18,14 monster Mineral Bif 1058,1,300000,30000
+006-3,44,32,23,12 monster Big Diamond Bif 1109,1,240000,30000
diff --git a/npc/006-3/_warps.txt b/npc/006-3/_warps.txt
new file mode 100644
index 0000000..8bbe831
--- /dev/null
+++ b/npc/006-3/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-3: Candor's Underground, B2F warps
+006-3,49,49,0 warp #006-3_49_49 0,0,006-0,46,27
diff --git a/npc/006-3/core.txt b/npc/006-3/core.txt
new file mode 100644
index 0000000..9311a10
--- /dev/null
+++ b/npc/006-3/core.txt
@@ -0,0 +1,27 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+
+006-3,46,26,0 script Magic Barrier#0063 NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ if (!getq(CandorQuest_Groata)) goto L_Reject;
+ if (!getq(CandorQuest_Jak1)) goto L_Reject;
+ if (getq(General_Narrator) < 10) goto L_Reject; // Halinarzo Arc must be finished
+
+ specialeffect(5000, SELF, getcharid(3));
+ dispbottom l("The power which lies in Candor acknowledges your strength.");
+ sleep2(2500);
+ warp "006-6", 49, 52;
+ sleep2(500);
+ specialeffect(5001, SELF, getcharid(3));
+ end;
+
+L_Reject:
+ specialeffect(5000, SELF, getcharid(3));
+ dispbottom l("The power which lies in Candor rejects your strength.");
+ sleep2(3000);
+ specialeffect(5002, SELF, getcharid(3));
+ end;
+}
diff --git a/npc/006-3/grotto.txt b/npc/006-3/grotto.txt
new file mode 100644
index 0000000..d7ff87b
--- /dev/null
+++ b/npc/006-3/grotto.txt
@@ -0,0 +1,23 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+
+006-3,41,36,0 script Sign#0063PI NPC_SWORDS_SIGN,{
+ mesc l("To the brave, shan't be your grave.");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
+// Effective warp
+006-3,40,35,0 script Magic Barrier#Bug63 NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ warp "006-5", 49, 53;
+ //dispbottom l("This area is not yet ready. Please use the portal to the right instead.");
+ end;
+}
diff --git a/npc/006-3/jaklab.txt b/npc/006-3/jaklab.txt
new file mode 100644
index 0000000..f2d1190
--- /dev/null
+++ b/npc/006-3/jaklab.txt
@@ -0,0 +1,27 @@
+// TMW2 Script
+// Author:
+// Crazyfefe
+// Jesusalva
+
+
+006-3,53,36,0 script Sign#0063CF NPC_SWORDS_SIGN,{
+ mesc l("To the courageous, thy foe is rancorous.");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
+// Effective warp
+006-3,54,35,0 script Magic Barrier#0064 NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ if (BaseLevel > 40)
+ warp "006-4", 32, 258;
+ else
+ dispbottom l("Your strength is not enough to power on this portal.");
+ end;
+}
diff --git a/npc/006-4-1/_config.txt b/npc/006-4-1/_config.txt
new file mode 100644
index 0000000..363a2fb
--- /dev/null
+++ b/npc/006-4-1/_config.txt
@@ -0,0 +1,16 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-4-1: Abandoned Building conf
+
+006-4-1,58,60,0 script #006-4-1_58_60 NPC_HIDDEN,6,0,{
+ end;
+OnTouch:
+ doevent "#DungeonCore::OnCurse";
+ end;
+}
+
+006-4-1,44,31,0 script #006-4-1_44_31 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ doevent "#DungeonCore::OnCurse";
+ end;
+}
diff --git a/npc/006-4-1/_import.txt b/npc/006-4-1/_import.txt
new file mode 100644
index 0000000..1fea850
--- /dev/null
+++ b/npc/006-4-1/_import.txt
@@ -0,0 +1,6 @@
+// Map 006-4-1: Abandoned Building
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/006-4-1/_config.txt",
+"npc/006-4-1/_mobs.txt",
+"npc/006-4-1/_warps.txt",
+"npc/006-4-1/painting.txt",
diff --git a/npc/006-4-1/_mobs.txt b/npc/006-4-1/_mobs.txt
new file mode 100644
index 0000000..76eaeba
--- /dev/null
+++ b/npc/006-4-1/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-4-1: Abandoned Building mobs
+006-4-1,55,103,19,9 monster Mana Ghost 1068,6,75000,250000
+006-4-1,55,46,31,11 monster Green Slime Mother 1236,6,75000,25000
+006-4-1,56,101,28,9 monster Yellow Slime Mother 1239,4,75000,25000
+006-4-1,54,151,14,10 monster Red Slime Mother 1240,3,75000,25000
diff --git a/npc/006-4-1/_warps.txt b/npc/006-4-1/_warps.txt
new file mode 100644
index 0000000..0ce91aa
--- /dev/null
+++ b/npc/006-4-1/_warps.txt
@@ -0,0 +1,24 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-4-1: Abandoned Building warps
+006-4-1,27,108,0 script #006-4-1_27_108 NPC_HIDDEN,0,1,{
+ end;
+OnTouch:
+ slide 87,53; end;
+}
+006-4-1,86,103,0 script #006-4-1_86_103 NPC_HIDDEN,0,1,{
+ end;
+OnTouch:
+ slide 40,160; end;
+}
+006-4-1,39,160,0 script #006-4-1_39_160 NPC_HIDDEN,0,1,{
+ end;
+OnTouch:
+ slide 85,103; end;
+}
+006-4-1,58,61,0 warp #006-4-1_58_61 6,0,006-4,95,100
+006-4-1,88,53,0 script #006-4-1_88_53 NPC_HIDDEN,0,1,{
+ end;
+OnTouch:
+ slide 28,108; end;
+}
+006-4-1,44,30,0 warp #006-4-1_44_30 0,0,006-4,70,82
diff --git a/npc/006-4-1/painting.txt b/npc/006-4-1/painting.txt
new file mode 100644
index 0000000..bb3cc1b
--- /dev/null
+++ b/npc/006-4-1/painting.txt
@@ -0,0 +1,49 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+
+006-4-1,24,53,0 script #jakWestWind NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ dispbottom l("This passage is still sealed.");
+ end;
+}
+
+006-4-1,69,158,0 script Abandoned Diary#jak1 NPC_NO_SPRITE,{
+ setpcblock(PCBLOCK_HARD, true);
+ mesc l("STORY MODE ENABLED. Monsters won't attack you, so you can read without worries."), 1;
+ next;
+ clear;
+ mesc l("This diary had several pages torn off, but the last page is clearly legible.");
+ mes "";
+ mesn;
+ mes l("It has been a total disaster. They killed %s. And everyone on the village.", b(l("her")));
+ next;
+ mes l("Why did we had to decide to research slimes of all creatures?! But alas, now is too late. Not even a %s could restore her in this state...", getitemlink(ElixirOfLife));
+ next;
+ mes l("So I did what I could - What I always do. Turned my beloved sister in a slime. Turned her into what killed her.");
+ next;
+ mes l("There is someone who might know how to turn a slime back in a human. But alas, that old fart doesn't live here.");
+ next;
+ mes l("Therefore, I shall head to the %s, and look for %s. If anyone knows how to fix it, might as well be that rat-faced... being.", b(l("Mirror Lake")), b(l("Wushin")));
+ next;
+ mes l("If you're reading this - Feel free to use my laboratory in any way you deem fit. Or what's left of it, at least. Also, please kill any slimes you find. I shall be back in six leaps time, according to the Imperial Time, but if I'm not back by then, assume something went wrong and both wushin and me are off the table.");
+ next;
+ mes l("JAK1, THE SLIME RESEARCHER");
+ mes l("Oranye Isles, 257 AT");
+
+ next;
+ setpcblock(PCBLOCK_HARD, false);
+ if (getvaultid())
+ ##02_MLQUEST = ##02_MLQUEST | MLP_ML_JAK1;
+ compareandsetq CandorQuest_Jak1, 0, 1;
+ closeclientdialog;
+ close;
+
+OnInit:
+ .distance=2;
+ end;
+}
+
+
diff --git a/npc/006-4/_config.txt b/npc/006-4/_config.txt
new file mode 100644
index 0000000..0b9ea89
--- /dev/null
+++ b/npc/006-4/_config.txt
@@ -0,0 +1,23 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-4: Abandoned Island conf
+
+006-4,71,82,0 script #006-4_71_82 NPC_HIDDEN,1,0,{
+ end;
+OnTouch:
+ doevent "#DungeonCore::OnCurse";
+ end;
+}
+
+006-4,95,100,0 script #006-4_95_100 NPC_HIDDEN,1,0,{
+ end;
+OnTouch:
+ doevent "#DungeonCore::OnCurse";
+ end;
+}
+
+006-4,32,258,0 script #006-4_32_258 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ doevent "#DungeonCore::OnCurse";
+ end;
+}
diff --git a/npc/006-4/_import.txt b/npc/006-4/_import.txt
new file mode 100644
index 0000000..78369b5
--- /dev/null
+++ b/npc/006-4/_import.txt
@@ -0,0 +1,6 @@
+// Map 006-4: Abandoned Island
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/006-4/_config.txt",
+"npc/006-4/_mobs.txt",
+"npc/006-4/_warps.txt",
+"npc/006-4/soulstone.txt",
diff --git a/npc/006-4/_mobs.txt b/npc/006-4/_mobs.txt
new file mode 100644
index 0000000..793827f
--- /dev/null
+++ b/npc/006-4/_mobs.txt
@@ -0,0 +1,18 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-4: Abandoned Island mobs
+006-4,57,82,10,24 monster Mana Ghost 1068,5,75000,25000
+006-4,59,192,16,19 monster Mana Ghost 1068,9,75000,250000
+006-4,94,179,17,15 monster Mana Ghost 1068,9,75000,250000
+006-4,128,183,14,19 monster Mana Ghost 1068,9,75000,250000
+006-4,102,202,20,8 monster Mana Ghost 1068,9,75000,250000
+006-4,101,153,21,10 monster Mana Ghost 1068,9,75000,250000
+006-4,95,66,39,11 monster Green Dragon 1195,6,75000,105000
+006-4,31,251,17,12 monster Green Slime Mother 1236,1,75000,25000
+006-4,66,203,15,11 monster Green Slime Mother 1236,3,75000,25000
+006-4,139,154,14,9 monster Green Slime Mother 1236,1,75000,25000
+006-4,149,181,7,19 monster Green Slime Mother 1236,1,75000,25000
+006-4,60,149,11,12 monster Green Slime Mother 1236,1,75000,25000
+006-4,142,77,10,22 monster Blue Slime Mother 1237,1,75000,25000
+006-4,94,91,34,11 monster Copper Slime Mother 1238,1,75000,25000
+006-4,94,85,35,6 monster Green Dragon 1195,6,75000,105000
+006-4,55,97,12,9 monster White Slime Mother 1242,1,120000,25000
diff --git a/npc/006-4/_warps.txt b/npc/006-4/_warps.txt
new file mode 100644
index 0000000..cc25e7c
--- /dev/null
+++ b/npc/006-4/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-4: Abandoned Island warps
+006-4,95,99,0 warp #006-4_95_99 1,0,006-4-1,58,60
+006-4,32,257,0 warp #006-4_32_257 0,0,006-3,54,36
+006-4,71,83,0 warp #006-4_71_83 1,0,006-4-1,44,31
diff --git a/npc/006-4/soulstone.txt b/npc/006-4/soulstone.txt
new file mode 100644
index 0000000..c9e6c92
--- /dev/null
+++ b/npc/006-4/soulstone.txt
@@ -0,0 +1,16 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+
+006-4,21,243,0 script #WaterfallPass NPC_HIDDEN,1,0,{
+ end;
+
+OnTouch:
+ slide 62, 163;
+ end;
+}
+
+006-4,62,164,0 script Soul Stone#0064 NPC_NO_SPRITE,{
+ slide 22, 244;
+ end;
+}
diff --git a/npc/006-5/_import.txt b/npc/006-5/_import.txt
new file mode 100644
index 0000000..94dce7e
--- /dev/null
+++ b/npc/006-5/_import.txt
@@ -0,0 +1,4 @@
+// Map 006-5: Groata Grotto
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/006-5/_warps.txt",
+"npc/006-5/groata.txt",
diff --git a/npc/006-5/_warps.txt b/npc/006-5/_warps.txt
new file mode 100644
index 0000000..b9d0bcf
--- /dev/null
+++ b/npc/006-5/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-5: Groata Grotto warps
+006-5,49,54,0 warp #006-5_49_54 0,0,006-3,40,36
diff --git a/npc/006-5/groata.txt b/npc/006-5/groata.txt
new file mode 100644
index 0000000..ca149f7
--- /dev/null
+++ b/npc/006-5/groata.txt
@@ -0,0 +1,477 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Note:
+// Groata Grotto is NOT instanced, NOT timed, and meant to be weird.
+
+function script GroataGrotto {
+ .@lv = getarg(0, $@GROATA);
+
+ .@mb[0] = MagicGoblin;
+ .@mb[1] = IceMaggot;
+
+ // Artillery
+ if (.@lv > 40)
+ array_push(.@mb, RobinBandit);
+ if (.@lv > 50)
+ array_push(.@mb, DustGatling);
+ if (.@lv > 60)
+ array_push(.@mb, DustRifle);
+ if (.@lv > 70)
+ array_push(.@mb, DustRevolver);
+ if (.@lv > 80)
+ array_push(.@mb, DustBoss);
+ if (.@lv > 90)
+ array_push(.@mb, GreatMoubooSlime);
+ if (.@lv > 100)
+ array_push(.@mb, Jhon);
+
+ // Monsters
+ if (is_between2(0, .@lv, 30)) {
+ array_push(.@mb, Piou);
+ array_push(.@mb, Piousse);
+ array_push(.@mb, Squirrel);
+ array_push(.@mb, ManaPiou);
+ array_push(.@mb, ForestPiou);
+ array_push(.@mb, RedButterfly);
+ array_push(.@mb, Maggot);
+ array_push(.@mb, CandorScorpion);
+ array_push(.@mb, HouseMaggot);
+ array_push(.@mb, LittleYellowSlime);
+ array_push(.@mb, Ratto);
+ array_push(.@mb, RudolphSlime);
+ array_push(.@mb, MoubooSlime);
+ array_push(.@mb, Croc);
+ array_push(.@mb, Scorpion);
+ array_push(.@mb, SmallFrog);
+ }
+ if (is_between2(10, .@lv, 40)) {
+ array_push(.@mb, BigFrog);
+ array_push(.@mb, Lavern);
+ array_push(.@mb, LittleRedSlime);
+ array_push(.@mb, ChocolateSlime);
+ array_push(.@mb, Blub);
+ array_push(.@mb, Duck);
+ array_push(.@mb, Bat);
+ array_push(.@mb, CaveMaggot);
+ array_push(.@mb, ManaGhost);
+ array_push(.@mb, ManaBug);
+ array_push(.@mb, Fluffy);
+ array_push(.@mb, FireGoblin);
+ array_push(.@mb, ViciousSquirrel);
+ array_push(.@mb, RedScorpion);
+ array_push(.@mb, WhiteSlime);
+ array_push(.@mb, AzulSlime);
+ array_push(.@mb, DesertLogHead);
+ }
+ if (is_between2(20, .@lv, 50)) {
+ array_push(.@mb, RedSlime);
+ array_push(.@mb, PoisonSpikyMushroom);
+ array_push(.@mb, DesertBandit);
+ array_push(.@mb, OceanCroc);
+ array_push(.@mb, ToppyBlub);
+ array_push(.@mb, Sarracenus);
+ array_push(.@mb, IceMaggot);
+ array_push(.@mb, VampireBat);
+ array_push(.@mb, Bandit);
+ array_push(.@mb, Pinkie);
+ array_push(.@mb, LivingPotato);
+ array_push(.@mb, Assassin);
+ array_push(.@mb, Skeleton);
+ }
+ if (is_between2(30, .@lv, 60)) {
+ array_push(.@mb, CaveSnake);
+ array_push(.@mb, GreenSlime);
+ array_push(.@mb, CopperSlime);
+ array_push(.@mb, YellowSlime);
+ array_push(.@mb, SantaSlime);
+ array_push(.@mb, LavaSlime);
+ array_push(.@mb, Bluepar);
+ array_push(.@mb, DeathCat);
+ array_push(.@mb, Moggun);
+ array_push(.@mb, SeaSlime);
+ array_push(.@mb, RedMushroom);
+ array_push(.@mb, Mouboo);
+ array_push(.@mb, LogHead);
+ array_push(.@mb, CandiedSlime);
+ array_push(.@mb, OldSnake);
+ array_push(.@mb, GrassSnake);
+ }
+ if (is_between2(40, .@lv, 70)) {
+ array_push(.@mb, GiantMaggot);
+ array_push(.@mb, IcedFluffy);
+ array_push(.@mb, Snake);
+ array_push(.@mb, BlackSlime);
+ array_push(.@mb, Tipiou);
+ array_push(.@mb, AlphaMouboo);
+ array_push(.@mb, Pollet);
+ array_push(.@mb, PiouKnight);
+ array_push(.@mb, Shrewboo);
+ }
+ if (is_between2(40, .@lv, 80)) {
+ array_push(.@mb, Wolvern);
+ array_push(.@mb, FireSkull);
+ array_push(.@mb, DarkLizard);
+ }
+ if (is_between2(50, .@lv, 90)) {
+ array_push(.@mb, ArmoredSkeleton);
+ array_push(.@mb, BlackScorpion);
+ array_push(.@mb, ElectroWorm);
+ array_push(.@mb, EarthFairy);
+ array_push(.@mb, FireFairy);
+ array_push(.@mb, WaterFairy);
+ array_push(.@mb, WindFairy);
+ array_push(.@mb, PoisonFairy);
+ array_push(.@mb, MountainSnake);
+ array_push(.@mb, HoodedNinja);
+ array_push(.@mb, ForestMushroom);
+ array_push(.@mb, GoldenScorpion);
+ }
+ if (is_between2(60, .@lv, 100)) {
+ array_push(.@mb, Yeti);
+ array_push(.@mb, FallenGuard1);
+ array_push(.@mb, GreenSlimeMother);
+ array_push(.@mb, SnowFlower);
+ array_push(.@mb, BlueSlimeMother);
+ array_push(.@mb, WickedMushroom);
+ array_push(.@mb, CopperSlimeMother);
+ array_push(.@mb, YellowSlimeMother);
+ array_push(.@mb, RedSlimeMother);
+ array_push(.@mb, ChocolateSlimeMother);
+ array_push(.@mb, WhiteSlimeMother);
+ array_push(.@mb, Archant);
+ array_push(.@mb, Scar);
+ }
+ if (is_between2(70, .@lv, 110)) {
+ array_push(.@mb, AzulSlimeMother);
+ array_push(.@mb, SeaSlimeMother);
+ array_push(.@mb, LavaSlimeMother);
+ array_push(.@mb, BlackSlimeMother);
+ array_push(.@mb, Crafty);
+ array_push(.@mb, Forain);
+ array_push(.@mb, GreenDragon);
+ array_push(.@mb, Michel);
+ array_push(.@mb, Troll);
+ }
+ if (is_between2(80, .@lv, 120)) {
+ array_push(.@mb, EliteDuck);
+ array_push(.@mb, AzulSkullSlime);
+ array_push(.@mb, Moonshroom);
+ array_push(.@mb, RedSkullSlime);
+ array_push(.@mb, Terranite);
+ array_push(.@mb, JackO);
+ array_push(.@mb, BlackMamba);
+ array_push(.@mb, GreenSkullSlime);
+ array_push(.@mb, BloodyMouboo);
+ array_push(.@mb, Centaur);
+ array_push(.@mb, GoboBear);
+ }
+ if (is_between2(90, .@lv, 130)) {
+ array_push(.@mb, CopperSkullSlime);
+ array_push(.@mb, LavaSkullSlime);
+ array_push(.@mb, BlackSkullSlime);
+ array_push(.@mb, GiantCaveMaggot);
+ array_push(.@mb, TerraniteProtector);
+ array_push(.@mb, VanityPixie);
+ array_push(.@mb, HolyPixie);
+ }
+ if (is_between2(100, .@lv, 140)) {
+ array_push(.@mb, ShadowPixie);
+ array_push(.@mb, NulityPixie);
+ array_push(.@mb, Reaper);
+ array_push(.@mb, NightmareDragon);
+ array_push(.@mb, Snail);
+ array_push(.@mb, WhirlyBird);
+ }
+ if (is_between2(110, .@lv, 150)) {
+ array_push(.@mb, PinkieSuseran);
+ array_push(.@mb, Mandragora);
+ array_push(.@mb, PinkieMaximus);
+ }
+ if (.@lv > 120) {
+ array_push(.@mb, Junglefowl);
+ array_push(.@mb, Tengu);
+ array_push(.@mb, Moubi);
+ }
+ if (.@lv > 130) {
+ array_push(.@mb, SuperiorShroom);
+ array_push(.@mb, Nutcracker);
+ array_push(.@mb, Golem);
+ }
+ if (.@lv > 140) {
+ array_push(.@mb, SiegeTower);
+ array_push(.@mb, GreenhornAbomination);
+ array_push(.@mb, ShadowTortuga);
+ array_push(.@mb, FireElement);
+ array_push(.@mb, WaterElement);
+ array_push(.@mb, EarthElement);
+ array_push(.@mb, WindElement);
+ }
+ if (.@lv > 150) {
+ array_push(.@mb, SacredWisp);
+ array_push(.@mb, EvilWisp);
+ array_push(.@mb, PanthomWisp);
+ array_push(.@mb, EpiphanyWisp);
+ }
+ if (.@lv > 175)
+ array_push(.@mb, Tortuga);
+
+ /* Spawn them and make hostile */
+ freeloop(true);
+ for (.@i = 0; .@i < 1+($@GROTTO*2/3); .@i++) {
+ .@mid = any_of(.@mb);
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), strmobinfo(1, .@mid), .@mid, 1);
+ set_aggro(.@m);
+ }
+ freeloop(false);
+
+ // TODO: Boss Logic if needed
+ // One boss each 10 grottos or something?
+ if (is_between2(10, $@GROTTO, 15)) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", MonsterSergeant, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 15) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", SaxsoGhost, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 20) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", BlueSlime, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 25) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", MurdererScorpion, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 30) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", NightScorpion, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 35) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", SpiderQueen, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 40) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", HoodedAssassin, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 45) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", BanditLord, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 50) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", Tipiu, 1);
+ set_aggro(.@m);
+ maptimer2("006-5", 10, "Torch#0065::OnLv50");
+ }
+ if ($@GROTTO > 55) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", FafiDragon, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 60) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", NightDragon, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 65) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", GiantMutatedBat, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 70) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", EvilScythe, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 75) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", AndreiSakar, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 80) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", Yetifly, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 85) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", DemureFirstForm, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 90) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", YetiKing, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 95) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", FallenKing1, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 100) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", PsiConscience, 1);
+ set_aggro(.@m);
+ maptimer2("006-5", 10, "Torch#0065::OnLv100");
+ }
+ if ($@GROTTO > 105) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", Isbamuth, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 110) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", TerraniteKing, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 120) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", PinkieEmperor, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 130) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", PanthomLord, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 140) {
+ .@m=areamonster("006-5", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-5"), getmapinfo(MAPINFO_SIZE_Y,"006-5"), "Groata?", MonsterKing, 1);
+ set_aggro(.@m);
+ }
+ if ($@GROTTO > 150)
+ maptimer2("006-5", 10, "Torch#0065::OnLv150");
+ return;
+}
+
+006-5,49,36,0 script Torch#0065 NPC_NO_SPRITE,{
+ if (!mobcount("006-5", "all")) {
+ if ($@GROTTO) {
+ mesc l("The torch is currently lit.");
+ mesc l("Do you want to put it out, or to make it brighter?");
+ next;
+ select
+ l("I have to think."),
+ l("Put it out"),
+ l("Make it brighter");
+ mes "";
+ // Put it out
+ if (@menu == 2) {
+ $@GROTTO = 0;
+ $@GROATA = 0;
+ enablenpc "#006-5_49_54";
+ }
+ // I do not want to continue
+ if (@menu != 3)
+ close;
+ } else {
+ mesc l("Lit the torch?");
+ if (askyesno() == ASK_NO) close;
+ disablenpc "#006-5_49_54";
+ }
+ if (!getq(CandorQuest_Groata)) {
+ getitem any(Coal, SulfurPowder, FluoPowder, PileOfAsh, Pearl), 2;
+ setq CandorQuest_Groata, 1;
+ }
+ $@GROTTO += 1;
+ // Create monsters based on GROTTO
+ $@GROATA = max(BaseLevel, $@GROATA+1);
+ GroataGrotto();
+ close;
+ }
+ mesc l("The torch is lit.");
+ close;
+
+// Rewards
+OnLv50:
+ if (getq(CandorQuest_Groata) == 1) {
+ dispbottom l("This is ridiculous. Groata is not here, I am wasting my time!");
+ sleep2(5000);
+ if (getmap() != "006-5") end;
+ dispbottom l("Uh? Hey, look! A platinum card! This should be worth something with the Guild Merchant Guild, right?");
+ sleep2(5000);
+ if (getmap() != "006-5") end;
+ dispbottom l("...I'll take it.");
+ Zeny+=7500;
+ Mobpt+=2500;
+ getexp 0, 10000;
+ setq CandorQuest_Groata, 2;
+ }
+ end;
+
+OnLv100:
+ if (getq(CandorQuest_Groata) == 2) {
+ dispbottom l("Groata : Uh. What's happening here?");
+ sleep2(5000);
+ if (getmap() != "006-5") end;
+ dispbottom l("Groata : Hey. I live here. Why are you spawning monsters in my home??");
+ sleep2(5000);
+ if (getmap() != "006-5") end;
+ dispbottom l("Groata : This is rude. Seriously, stop doing this.");
+ sleep2(5000);
+ if (getmap() != "006-5") end;
+ dispbottom l("Groata : Let's make a deal. Take this, clear my house, and get out.");
+ getitem Mustache, 1;
+ setq CandorQuest_Groata, 3;
+ }
+ end;
+
+OnLv150:
+ if (getq(CandorQuest_Groata) == 3) {
+ dispbottom l("Groata : You must be idiotic in keeping spawning.");
+ sleep2(5000);
+ if (getmap() != "006-5") end;
+ dispbottom l("Groata : I wonder for how long you can survive here...");
+ sleep2(5000);
+ if (getmap() != "006-5") end;
+ dispbottom l("Groata : ...Will you seriously just keep running around? Like a headless chicken?");
+ sleep2(5000);
+ if (getmap() != "006-5") end;
+ dispbottom l("Groata : C'mon, that is boring. What I need to do to get you out of my house?");
+ sleep2(5000);
+ if (getmap() != "006-5") end;
+ dispbottom l("Groata : ...Meh. I'll give you this... stuff, and for the last time, don't bother me again...");
+ sleep2(5000);
+ if (getmap() != "006-5") end;
+ dispbottom l("Groata : ...Because I am out of freebies and need to sleep. So shoo.");
+ getitembound MylarinDust, 1, 1;
+ setq CandorQuest_Groata, 4;
+ }
+ end;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+006-5,52,36,0 script Crystal#0065 NPC_NO_SPRITE,{
+ if (!mobcount("006-5", "all")) {
+ if ($@GROTTO) {
+ mesc l("The crystal looks damaged.");
+ mesc l("Do you want to restore it, or to keep breaking it?");
+ next;
+ select
+ l("I have to think."),
+ l("Restore it"),
+ l("Keep breaking");
+ mes "";
+ // Restore it
+ if (@menu == 2) {
+ $@GROTTO = 0;
+ $@GROATA = 0;
+ enablenpc "#006-5_49_54";
+ }
+ // I do not want to continue
+ if (@menu != 3)
+ close;
+ } else {
+ mesc l("Break the crystal?");
+ if (askyesno() == ASK_NO) close;
+ disablenpc "#006-5_49_54";
+ }
+ if (!getq(CandorQuest_Groata)) {
+ getitem any(WurtziteOre, DarkCrystal, CandorWarpCrystal), 1;
+ setq CandorQuest_Groata, 1;
+ }
+ $@GROTTO += 5;
+ // Create monsters based on GROTTO
+ $@GROATA = max(BaseLevel, $@GROATA+1);
+ GroataGrotto();
+ close;
+ }
+ mesc l("The crystal has a shard missing.");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
diff --git a/npc/006-6/_import.txt b/npc/006-6/_import.txt
new file mode 100644
index 0000000..824eb53
--- /dev/null
+++ b/npc/006-6/_import.txt
@@ -0,0 +1,6 @@
+// Map 006-6: Candor's Underground, B3F
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/006-6/_mobs.txt",
+"npc/006-6/_warps.txt",
+"npc/006-6/all.txt",
+"npc/006-6/core.txt",
diff --git a/npc/006-6/_mobs.txt b/npc/006-6/_mobs.txt
new file mode 100644
index 0000000..161c5d1
--- /dev/null
+++ b/npc/006-6/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-6: Candor's Underground, B3F mobs
+006-6,46,38,16,14 monster Yellow Skull Slime 1403,3,120000,30000
+006-6,44,36,15,14 monster Red Skull Slime 1404,3,120000,30000
+006-6,45,33,18,14 monster Mineral Bif 1058,4,300000,30000
+006-6,44,32,23,12 monster Troll 1171,3,240000,30000
+006-6,43,37,18,14 monster Vampire Bat 1063,12,300000,30000
+006-6,39,46,16,7 monster Crafty 1018,1,300000,30000
diff --git a/npc/006-6/_warps.txt b/npc/006-6/_warps.txt
new file mode 100644
index 0000000..f9f897b
--- /dev/null
+++ b/npc/006-6/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-6: Candor's Underground, B3F warps
+006-6,49,49,0 warp #006-6_49_49 0,0,006-3,46,27
diff --git a/npc/006-6/all.txt b/npc/006-6/all.txt
new file mode 100644
index 0000000..67edcd9
--- /dev/null
+++ b/npc/006-6/all.txt
@@ -0,0 +1,71 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+
+006-6,53,36,0 script Sign#0066WR NPC_SWORDS_SIGN,{
+ mesc l("In a blood bath, survival is the epitaph.");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
+006-6,46,34,0 script Sign#0066CR NPC_SWORDS_SIGN,{
+ mesc l("*this sign is too blurred to read*");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
+006-6,39,36,0 script Sign#0066ER NPC_SWORDS_SIGN,{
+ mesc l("With Magic and Blades, The Icicle shall break.");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
+// Effective warps
+006-6,40,35,0 script Magic Barrier#0067W NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ if (!$@ICICLE_CHALLENGE || is_admin())
+ warp "006-7", 44, 49;
+ else
+ dispbottom l("Your strength is not enough to power on this portal.");
+ end;
+}
+
+// Effective warps
+006-6,54,35,0 script Magic Barrier#0067E NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ if (!$@SURVIVAL_CANDOR || is_admin())
+ warp "006-9", 37, 22;
+ else
+ dispbottom l("Your strength is not enough to power on this portal.");
+ end;
+}
+
+
+// Effective warps
+006-6,47,33,0 script Magic Barrier#0067C NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ if (!$@CAPTURE_FLAG || is_admin())
+ warp "006-8", 44, 67;
+ else
+ dispbottom l("Your strength is not enough to power on this portal.");
+ end;
+}
+
diff --git a/npc/006-6/core.txt b/npc/006-6/core.txt
new file mode 100644
index 0000000..bb391c3
--- /dev/null
+++ b/npc/006-6/core.txt
@@ -0,0 +1,30 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+
+006-6,46,26,0 script Magic Barrier#0066 NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ if (!(getq(General_EasterEggs) & EE_SNOWMAN)) goto L_Reject;
+ if (SCANDORPTS < 300) goto L_Reject;
+ if (CAPTURE_FLAG < 1) goto L_Reject;
+ if (getq(General_Narrator) < 17) goto L_Reject; // Frostia Arc must be finished
+ /* Some of previous sections come back to bite you, now */
+ if (CRAZYPOINTS < 10) goto L_Reject;
+
+ specialeffect(5000, SELF, getcharid(3));
+ dispbottom l("The power which lies in Candor acknowledges your strength.");
+ sleep2(2500);
+ warp "006-10", 42, 48;
+ sleep2(500);
+ specialeffect(5001, SELF, getcharid(3));
+ end;
+
+L_Reject:
+ specialeffect(5000, SELF, getcharid(3));
+ dispbottom l("The power which lies in Candor rejects your strength.");
+ sleep2(3000);
+ specialeffect(5002, SELF, getcharid(3));
+ end;
+}
diff --git a/npc/006-7/_import.txt b/npc/006-7/_import.txt
new file mode 100644
index 0000000..87e9595
--- /dev/null
+++ b/npc/006-7/_import.txt
@@ -0,0 +1,3 @@
+// Map 006-7: Aethyr Chamber
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/006-7/ctrl.txt",
diff --git a/npc/006-7/ctrl.txt b/npc/006-7/ctrl.txt
new file mode 100644
index 0000000..17243b5
--- /dev/null
+++ b/npc/006-7/ctrl.txt
@@ -0,0 +1,354 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+
+006-7 mapflag zone MMO
+
+006-7,44,50,0 script #OutOf0067 NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ if (!$@ICICLE_CHALLENGE)
+ warp "006-6", 40, 36;
+ end;
+
+OnRw:
+ getexp 1000000, 0;
+ Mobpt += 10000;
+ dispbottom l("Der Schneemann has been defeated: %s Monster Points gained.", fnum(10000));
+ RegEasterEgg(EE_SNOWMAN, 25);
+ specialeffect(FX_FANFARE, SELF, getcharid(3));
+ end;
+}
+
+006-7,44,35,0 script Ice Lord NPC_YETIFLY,{
+ if ($@ICICLE_CHALLENGE) end;
+ if (.ticks > gettimetick(2)) {
+ mesn;
+ mesq l("This challenge will be available in %s. Please wait until then.", FuzzyTime(.ticks));
+ close;
+ }
+ mesn;
+ mesq l("With Magic and Blades, The Icicle shall break. Do you undertake the challenge?");
+ mesc l("Advised: 6+ players"), 1;
+ mesc l("Advised: 1+ mage, 1+ tanker, 2+ healers"), 1;
+ mesc l("Time Limit: 90 minutes"), 1;
+ mesc l("Enter/Leave after start: %s", b(l("NO"))), 1;
+ next;
+ select
+ l("Not yet."),
+ l("Bring it on!"),
+ rif(REBIRTH, l("Bring me, my worst nightmare."));
+ mes "";
+ if (@menu == 1) {
+ closeclientdialog;
+ close;
+ }
+ if (@menu == 2)
+ .hard = false;
+ else
+ .hard = true;
+
+ // Der Schneemann
+ .ticks = gettimetick(2) + 5400; // 90 minutes
+ .BOSS = monster("006-7", 44, 36, "The Icicle", SnowmanBoss, 1);
+ .@mlt = (.hard ? 15 : 10);
+
+ // Basic attributes
+ setunitdata(.BOSS, UDT_MAXHP, 750000 * .@mlt / 10); // 750k ~ 1250k
+ setunitdata(.BOSS, UDT_HP, 750000 * .@mlt / 10);
+ setunitdata(.BOSS, UDT_ATKRANGE, (.hard ? 7 : 6));
+
+ // Reconfigure the AI
+ .@opt=getunitdata(.BOSS, UDT_MODE);
+ // Disable looting
+ if (.@opt & MD_LOOTER)
+ .@opt=.@opt^MD_LOOTER;
+ // Add knockback immunity
+ .@opt=.@opt|MD_NOKNOCKBACK;
+ // Mark as boss
+ .@opt=.@opt|MD_BOSS;
+ // Mark as aggressive
+ .@opt=.@opt|MD_AGGRESSIVE;
+ .@opt=.@opt|MD_ANGRY;
+ // Make it more op
+ .@opt=.@opt|MD_DETECTOR;
+ .@opt=.@opt|MD_CASTSENSOR_CHASE;
+ .@opt=.@opt|MD_CASTSENSOR_IDLE;
+ .@opt=.@opt|MD_CHANGECHASE;
+ .@opt=.@opt|MD_CHANGETARGET_MELEE;
+ .@opt=.@opt|MD_CHANGETARGET_CHASE;
+ setunitdata(.BOSS, UDT_MODE, .@opt);
+
+ // Nerf the damage, but never miss a hit
+ setunitdata(.BOSS, UDT_ATKMIN, 60 * .@mlt / 10); // 60~90 dmg
+ setunitdata(.BOSS, UDT_ATKMAX, 60 * .@mlt / 10);
+ setunitdata(.BOSS, UDT_ADELAY, 2220 / .@mlt * 10); // 2220 or 1480ms
+ setunitdata(.BOSS, UDT_HIT, 2400);
+
+ // Boosting the defense is not necessary
+ // It nerfs weapons to 40% (bows to 20%)
+ // Then it resists 50% of Neutral element.
+ // Note it is strong against Water (25% dmg)
+ // And weak against Fire (snow) and Wind (100% dmg)
+ // Otherwise, behave as Ghost element
+
+ $@ICICLE_CHALLENGE = true;
+ disablenpc .name$;
+ initnpctimer;
+ closeclientdialog;
+ close;
+
+// Fail-safe Mechanism (will never happen)
+OnTimer60000:
+ consolebug("Warning! final fail-safe mechanism triggered to Icicle.");
+ initnpctimer;
+ end;
+OnTimer25000:
+OnTimer15000:
+ consolewarn("Warning, fail-safe mechanism triggered to Icicle.");
+// This is the boss' core
+OnTimer5000:
+ /* Maybe the fight is over */
+ if (!mobcount("006-7", "all"))
+ maptimer2("006-7", 10, "#OutOf0067::OnRw");
+ if (.ticks < gettimetick(2) || !mobcount("006-7", "all") || !getmapusers("006-7")) {
+ killmonsterall("006-7");
+ enablenpc .name$;
+ npctalk "The battle is over!";
+ .ticks = min(.ticks, gettimetick(2) + 1800); // Min. Cooldown: 30 min
+ .beats = 0;
+ .warn = 0;
+ $@ICICLE_CHALLENGE = false;
+ stopnpctimer;
+ end;
+ }
+
+ /* Warn players when time is about to end */
+ if (.ticks - 1800 < gettimetick(2) && .warn < 1) {
+ mapannounce("006-7", "Warning : ##1##BTime left: 30 minutes##b", 0);
+ .warn = 1;
+ }
+ else if (.ticks - 900 < gettimetick(2) && .warn < 2) {
+ mapannounce("006-7", "Warning : ##1##BTime left: 15 minutes##b", 0);
+ .warn = 2;
+ }
+ else if (.ticks - 600 < gettimetick(2) && .warn < 3) {
+ mapannounce("006-7", "Warning : ##1##BTime left: 10 minutes##b", 0);
+ .warn = 3;
+ }
+ else if (.ticks - 300 < gettimetick(2) && .warn < 4) {
+ mapannounce("006-7", "Warning : ##1##BTime left: 5 minutes##b", 0);
+ .warn = 4;
+ }
+
+ /* Prepare some data */
+ .@hp = getunitdata(.BOSS, UDT_HP) * 10 / getunitdata(.BOSS, UDT_MAXHP);
+ getmapxy(.@m$, .@x, .@y, UNITTYPE_MOB, .BOSS);
+ .@c=getunits(BL_PC, .@pcs, MAX_CYCLE_PC, .@m$);
+ .@mvp=0;.@rnd=0;.@def=-1;
+ for (.@i = 0; .@i < .@c; .@i++) {
+ if (!.@rnd || !rand2(.@c))
+ .@rnd=.@pcs[.@i];
+ if (readbattleparam(.@pcs[.@i], UDT_DEF) > .@def) {
+ if (readparam(Hp, .@pcs[.@i]) < 1) continue;
+ .@mvp=.@pcs[.@i];
+ .@def=readbattleparam(.@pcs[.@i], UDT_DEF);
+ }
+ }
+ .beats += 1;
+
+ /* Everyone is dead, get rid of them */
+ if (!.@mvp || !.@rnd) {
+ mapwarp("006-7", "006-6", 40, 36);
+ initnpctimer;
+ end;
+ }
+
+ //debugmes "----------- Skill Loop, beat is %d", .beats % 18;
+ /* Decide the skill to use based on ~5s beats over 3 minutes */
+ switch (.beats % 18) {
+ // (1/6) Summon Reinforcements (every 60s)
+ case 0:
+ case 6:
+ case 12:
+ unittalk(.BOSS, "Come forth, ##Bsnow army##b, for the Icicle shall live forever!");
+ specialeffect(65, AREA, .BOSS); // Actually 64, but won't do well here
+ sleep(1000);
+ monster("006-7", 44, 22, strmobinfo(1, Snowman), Snowman, max(1, (11 - .@hp) / 10));
+ break;
+ // (2/6) Tanker (~30s)
+ case 1:
+ case 4:
+ case 7:
+ case 10:
+ case 13:
+ case 16:
+ specialeffect(702, AREA, .BOSS);
+ sleep(1000);
+ if (.@hp < 3) {
+ // Third Attack Pattern: Judgment
+ unittalk(.BOSS, sprintf("%s cannot stop me! ##BJudgment##b!", strcharinfo(0, "cursed player", .@mvp)));
+ .@PW=240; .@SPW=60; .@RG=3;
+ } else if (.@hp < 7) {
+ // Second Attack Pattern: Holy Light
+ unittalk(.BOSS, sprintf("%s, I'll show you no mercy! ##BHoly Light##b!", strcharinfo(0, "cursed player", .@mvp)));
+ .@PW=125; .@SPW=25; .@RG=1;
+ } else {
+ // First Attack Pattern: Napalm Beat
+ unittalk(.BOSS, sprintf("This battle is over, %s! ##BNapalm Beat##b!", strcharinfo(0, "cursed player", .@mvp)));
+ .@PW=35; .@SPW=5; .@RG=2;
+ }
+ .@mtk = calcdmg(.BOSS, .@mvp, HARM_MAGI);
+ .@dmg = .@mtk * .@PW / 100;
+ .@dsb = .@mtk * .@SPW / 100;
+ sleep(1000);
+ areaharm(.@mvp, .@RG, .@dsb, HARM_MAGI, Ele_Holy, "filter_always", BL_PC|BL_MER|BL_HOM);
+ harm(.@mvp, .@dmg, HARM_MAGI, Ele_Holy);
+ break;
+ // (3/6) Random Target (~60s)
+ case 2:
+ case 8:
+ case 14:
+ specialeffect(50, AREA, .BOSS);
+ sleep(1000);
+ .@time=rand2(18000, 36000) + 10000 - (.@hp * 1000);
+ // Switch between curse and disable
+ if (any(true,false)) {
+ unittalk(.BOSS, sprintf("I hereby ##Bcurse##b you, %s!", strcharinfo(0, "cursed player", .@rnd)));
+ sc_start(SC_CURSE, .@time, 1, 10000, SCFLAG_FIXEDRATE, .@rnd);
+ } else {
+ unittalk(.BOSS, sprintf("I shall ##Bdisable##b you, %s!", strcharinfo(0, "cursed player", .@rnd)));
+ sc_start(SC_BLIND, .@time / 2, 1, 10000, SCFLAG_FIXEDRATE, .@rnd);
+ sc_start(SC_SILENCE, .@time / 2, 1, 10000, SCFLAG_FIXEDRATE, .@rnd);
+ }
+ // Second pattern: Bleeding ON
+ if (.@hp < 7) {
+ sc_start(SC_BLOODING, 10000, 1, 9000-(.@hp*1000), SCFLAG_FIXEDRATE, .@rnd);
+ }
+ break;
+ // (4/6) Traps (~60s)
+ case 3:
+ case 9:
+ case 15:
+ .@x1=rand2(31, 58); .@x2=rand2(31, 58); .@x3=rand2(31, 58);
+ .@y1=rand2(23, 49); .@y2=rand2(23, 49); .@y3=rand2(23, 49);
+ .@t1=monster("006-7", .@x1, .@y1, "", Dummy, 1);
+ .@t2=monster("006-7", .@x2, .@y2, "", Dummy, 1);
+ .@t3=monster("006-7", .@x3, .@y3, "", Dummy, 1);
+ specialeffect(67, AREA, .@t1);
+ specialeffect(67, AREA, .@t2);
+ specialeffect(67, AREA, .@t3);
+ immortal(.@t1); immortal(.@t2); immortal(.@t3);
+ if (.@hp < 5 || .hard) {
+ .@x4=rand2(31, 58); .@x5=rand2(31, 58); .@x6=rand2(31, 58);
+ .@y4=rand2(23, 49); .@y5=rand2(23, 49); .@y6=rand2(23, 49);
+ .@t4=monster("006-7", .@x1, .@y1, "", Dummy, 1);
+ .@t5=monster("006-7", .@x2, .@y2, "", Dummy, 1);
+ .@t6=monster("006-7", .@x3, .@y3, "", Dummy, 1);
+ specialeffect(67, AREA, .@t4);
+ specialeffect(67, AREA, .@t5);
+ specialeffect(67, AREA, .@t6);
+ immortal(.@t4); immortal(.@t5); immortal(.@t6);
+ }
+ sleep(2000);
+ specialeffect(11, AREA, .@t1);
+ specialeffect(11, AREA, .@t2);
+ specialeffect(11, AREA, .@t3);
+ if (.@hp < 5 || .hard) {
+ specialeffect(11, AREA, .@t4);
+ specialeffect(11, AREA, .@t5);
+ specialeffect(11, AREA, .@t6);
+ }
+ areaharm(.@t1, 2, 450, HARM_MISC, Ele_Neutral, "filter_always", BL_PC|BL_MER|BL_HOM);
+ areaharm(.@t2, 2, 450, HARM_MISC, Ele_Neutral, "filter_always", BL_PC|BL_MER|BL_HOM);
+ areaharm(.@t3, 2, 450, HARM_MISC, Ele_Neutral, "filter_always", BL_PC|BL_MER|BL_HOM);
+ if (.@hp < 5 || .hard) {
+ areaharm(.@t4, 2, 450, HARM_MISC, Ele_Neutral, "filter_always", BL_PC|BL_MER|BL_HOM);
+ areaharm(.@t5, 2, 450, HARM_MISC, Ele_Neutral, "filter_always", BL_PC|BL_MER|BL_HOM);
+ areaharm(.@t6, 2, 450, HARM_MISC, Ele_Neutral, "filter_always", BL_PC|BL_MER|BL_HOM);
+ }
+ sleep(1000);
+ // FIXME: M+ fails to remove them, need @refresh
+ unitkill(.@t1); unitkill(.@t2); unitkill(.@t3);
+ if (.@hp < 5 || .hard) {
+ unitkill(.@t4); unitkill(.@t5); unitkill(.@t6);
+ }
+ break;
+ // (5/6) Weak AOE (~60s)
+ case 5:
+ case 11:
+ case 17:
+ specialeffect(60, AREA, .BOSS);
+ sleep(500);
+ switch (rand2(3)) {
+ case 1:
+ unittalk(.BOSS, "I shall ##Bpoison##b you all!");
+ .@sc = (.@hp < 1 ? SC_DPOISON : SC_POISON);
+ break;
+ case 2:
+ unittalk(.BOSS, "I shall ##Bhurt##b you all!");
+ .@sc = SC_BLOODING;
+ break;
+ case 3:
+ unittalk(.BOSS, "I shall ##Bsilence##b you all!");
+ .@sc = SC_SILENCE;
+ break;
+ default:
+ unittalk(.BOSS, "I shall ##Bcripple##b you all!");
+ .@sc = SC_BLIND;
+ break;
+ }
+ areasc((.hard ? 7 : 6), 45000, .@sc, BL_PC|BL_HOM|BL_MER, 1, "filter_always", .BOSS, 95000);
+ areaharm(.BOSS, (.hard ? 7 : 6), 100, HARM_MAGI, Ele_Water, "filter_always", BL_PC|BL_MER|BL_HOM);
+ break;
+ }
+ // Strong AOE: Every 3 minutes (case = 0)
+ // Stalls all other skills for a while
+ if (.beats % 18 == 0) {
+ specialeffect(66, AREA, .BOSS);
+ unittalk(.BOSS, "I am the Icicle, the immortal.");
+ sleep((.hard ? 1000 : 1500));
+ specialeffect(700, AREA, .BOSS);
+ unittalk(.BOSS, "You're no match for me, so...");
+ sleep((.hard ? 1000 : 1500));
+ specialeffect(700, AREA, .BOSS);
+ if (.@hp < 3) {
+ unittalk(.BOSS, "Perish! ##BSnowstorm##b!");
+ .@dmg=rand2(900, 1100);
+ areasc(3, 5000, SC_FREEZE, BL_PC|BL_HOM|BL_MER, 1, "filter_always", .BOSS, 2000);
+ areasc(6, 10000, SC_BLIND, BL_PC|BL_HOM|BL_MER, 1, "filter_always", .BOSS, 2000);
+ } else if (.@hp < 7) {
+ unittalk(.BOSS, "Perish! ##BBlizzard##b!");
+ .@dmg=rand2(650, 900);
+ areasc(3, 5000, SC_FREEZE, BL_PC|BL_HOM|BL_MER, 1, "filter_always", .BOSS, 1500);
+ } else {
+ unittalk(.BOSS, "Perish! ##BShattering Winds##b!");
+ .@dmg=rand2(400, 650);
+ }
+ /* Three blocks */
+ specialeffect(66, AREA, .BOSS);
+ areaharm(.BOSS, (.hard ? 7 : 6), .@dmg, HARM_MAGI, Ele_Neutral, "filter_always", BL_PC|BL_MER|BL_HOM);
+ sleep(500);
+ specialeffect(66, AREA, .BOSS);
+ areaharm(.BOSS, (.hard ? 18 : 12), .@dmg, HARM_MAGI, Ele_Water, "filter_always", BL_PC|BL_MER|BL_HOM);
+ sleep(500);
+ specialeffect(66, AREA, .BOSS);
+ specialeffect(312, AREA, .BOSS);
+ areaharm(.BOSS, (.hard ? 24 : 18), .@dmg, HARM_MAGI, Ele_Holy, "filter_always", BL_PC|BL_MER|BL_HOM);
+ areasc((.hard ? 24 : 18), .@dmg*rand2(50, 100), SC_FROSTMISTY, BL_PC|BL_HOM|BL_MER, 1, "filter_always", .BOSS, 10001 - (.@hp * 1000)); // FIXME
+ // SC_COLD freezes you, so trying SC_FROSTMISTY
+ }
+
+ initnpctimer;
+ end;
+
+OnInit:
+ .distance = 4;
+ .ticks = gettimetick(2);
+ .beats = 0;
+ .hard = 0;
+ .warn = 0;
+ end;
+}
+
diff --git a/npc/006-8/_import.txt b/npc/006-8/_import.txt
new file mode 100644
index 0000000..2587b75
--- /dev/null
+++ b/npc/006-8/_import.txt
@@ -0,0 +1,3 @@
+// Map 006-8: Capture the Flag
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/006-8/kage.txt",
diff --git a/npc/006-8/kage.txt b/npc/006-8/kage.txt
new file mode 100644
index 0000000..894c6e4
--- /dev/null
+++ b/npc/006-8/kage.txt
@@ -0,0 +1,331 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+
+// Mapflags (FIXME: Disable splash... Or weapons and magic in general)
+006-8 mapflag zone MMO No Revive
+006-8 mapflag battleground
+
+006-8,44,68,0 script #OutOf0068 NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ if (!$@CAPTURE_FLAG)
+ warp "006-6", 47, 34;
+ end;
+}
+
+006-8,38,58,0 script #Abort0068A NPC_HIDDEN,0,1,{
+ end;
+
+OnTouch:
+ if (!$@CAPTURE_FLAG) {
+ slide 40, 64;
+ bg_leave();
+ }
+ end;
+}
+
+006-8,51,58,0 script #Abort0068B NPC_HIDDEN,0,1,{
+ end;
+
+OnTouch:
+ if (!$@CAPTURE_FLAG) {
+ slide 49, 64;
+ bg_leave();
+ }
+ end;
+}
+
+006-8,40,62,0 script #Signin0068A NPC_HIDDEN,1,0,{
+ end;
+
+OnTouch:
+ if ($@CAPTURE_INSC && CAPTURE_FLAG >= 0)
+ bgjoin($@CAPTURE_T1, "006-8", 37, 58);
+ end;
+}
+
+006-8,48,62,0 script #Signin0068B NPC_HIDDEN,1,0,{
+ end;
+
+OnTouch:
+ if ($@CAPTURE_INSC && CAPTURE_FLAG >= 0)
+ bgjoin($@CAPTURE_T2, "006-8", 52, 58);
+ end;
+}
+
+006-8,45,65,0 script Kage NPC_CRUSADER,{
+ function getmobid;
+ if ($@CAPTURE_FLAG) {
+ npctalk l("A game is currently going on, please wait for it to finish.");
+ end;
+ }
+ mesn;
+ mesq l("This a simple game; Choose one of the shrines - west or east. The one at west is %s, the one at east is %s.", b(l("Magenta")), b(l("Yellow")));
+ next;
+ mesn;
+ mesq l("You can enter when clock ticks :15, and the game begin when the clock ticks :25 if anyone is around. This is to match with Call of Dusty event.");
+ next;
+ mesn;
+ mesq l("Once it begins (you can fight against an AI), kill the most of enemy sparks you can, while preventing your own sparks of being killed. Wins whoever has more sparks after %s minutes.", l(b("five")));
+ next;
+ mesn;
+ mesq l("Keep in mind this is a PvP area - So try to avoid being butchered, because revival spells are disabled here! Hahaha!");
+ next;
+ mesn;
+ mesq l("Oh, and if I perchance catch you using %s or %s... You'll be banned from my game, understood?", b(l("splash weapons")), b(l("splash magic")));
+ mesc l("-- In such event, Candor Underground B4F will be permanently unreachable for this char."), 1;
+ if (is_master() && !$@CAPTURE_FLAG) {
+ next;
+ select
+ l("Ok"),
+ l("Toggle Inscription"),
+ l("Start");
+ mes "";
+ if (@menu == 2)
+ $@CAPTURE_INSC = !$@CAPTURE_INSC;
+ if (@menu == 3) {
+ initnpctimer;
+ closeclientdialog;
+ goto OnMinute25;
+ }
+ }
+ close;
+
+OnForfeit1:
+ .@s=true;
+OnForfeit2:
+ bg_leave();
+ mapannounce "006-8", sprintf("%s (%s side) is down!", strcharinfo(0), (.@s ? b("Magenta") : b("Yellow"))), 0;
+ end;
+
+OnSpark1:
+ .sp1 += 1; end;
+OnSpark2:
+ .sp2 += 1; end;
+ end;
+OnSkip:
+ end;
+OnFinish:
+ if (getcharid(4) == .win) {
+ Zeny+=670;
+ Mobpt+=500;
+ dispbottom l("You earned %s Monster Points for winning.", fnum(500));
+ CAPTURE_FLAG += 1;
+ switch (CAPTURE_FLAG % 11) {
+ case 1: getitem MercBoxA, 1; break;
+ case 2: getitem any(Aquada, Piberries, Cheese, Bread), 1; break;
+ case 3: getitem any(Coffee, ChamomileTea, MysteriousBottle), 1; break;
+ case 4: getitem any(Aquada, Piberries, Cheese, Bread), 1; break;
+ case 5: getitem any(ReturnPotion, TreasureMap, DungeonMap), 1; break;
+ case 6: getitem any(Aquada, Piberries, Cheese, Bread), 1; break;
+ case 7: getitem any(SmokeGrenade, DodgePotion), 1; break;
+ case 8: getitem any(Aquada, Piberries, Cheese, Bread), 1; break;
+ case 9: getitem any(ScrollSCave, InsuranceContract, Insurance), 1; break;
+ case 10: getitem any(Aquada, Piberries, Cheese, Bread), 1; break;
+ default: getitem any(IcedBottle, PurificationPotion, ScrollSMaggot), 1;
+ }
+ }
+ bg_leave();
+ warp "006-8", 44, 66;
+ end;
+
+OnInit:
+ .distance=4;
+ .sp1 = 0; // Sparks killed by Team 1
+ .sp2 = 0; // Sparks killed by Team 2
+ .win = -2; // Last match winner
+ $@CAPTURE_FLAG = false;
+ $@CAPTURE_INSC = false;
+ $@CAPTURE_T1 = bgnew("006-8", 34, 28, "Kage::OnForfeit1", "Kage::OnForfeit1");
+ $@CAPTURE_T2 = bgnew("006-8", 55, 28, "Kage::OnForfeit2", "Kage::OnForfeit2");
+ end;
+
+function getmobid {
+ .@lv = getarg(0);
+ if (.@lv <= 5)
+ return HouseMaggot;
+ else if (.@lv <= 11)
+ return AngryScorpion;
+ else if (.@lv <= 15)
+ return CaveMaggot;
+ else if (.@lv <= 20)
+ return AngryBat;
+ else if (.@lv <= 26)
+ return Bandit;
+ else if (.@lv <= 30)
+ return Bluepar;
+ else if (.@lv <= 35)
+ return RobinBandit;
+ else if (.@lv <= 40)
+ return Snake;
+ else if (.@lv <= 46)
+ return Wolvern;
+ else if (.@lv <= 52)
+ return HoodedNinja;
+ else if (.@lv <= 60)
+ return FallenGuard1;
+ else if (.@lv <= 65)
+ return Scar;
+ else if (.@lv <= 75)
+ return Forain;
+ else if (.@lv <= 80)
+ return Terranite;
+ else if (.@lv <= 85)
+ return GoboBear;
+ else if (.@lv <= 90)
+ return TerraniteProtector;
+ else if (.@lv <= 100)
+ return Reaper;
+ else if (.@lv <= 107)
+ return Snail;
+ else if (.@lv <= 115)
+ return Mandragora;
+ else if (.@lv <= 120)
+ return PinkieMaximus;
+ else if (.@lv <= 125)
+ return Junglefowl;
+ else if (.@lv <= 130)
+ return Tengu;
+ else if (.@lv <= 135)
+ return SuperiorShroom;
+ else if (.@lv <= 140)
+ return Nutcracker;
+ else if (.@lv <= 150)
+ return Golem;
+ else if (.@lv <= 160)
+ return EarthElement;
+ else if (.@lv <= 175)
+ return EpiphanyWisp;
+ // If all else fails, pick the strongest aggro mob
+ return EpiphanyWisp;
+}
+
+OnMinute15:
+ $@CAPTURE_INSC = true;
+ mapannounce "006-8", "Kage : Inscriptions are open! The event will begin in ##B10 minutes!##b", 0;
+ end;
+
+OnMinute24:
+ mapannounce "006-8", "Kage : Inscriptions are about to close! The event will begin in ##B1 minute!##b", 0;
+ end;
+
+OnMinute25:
+ $@CAPTURE_INSC = false;
+ $@CAPTURE_FLAG = true;
+ /* Prepare the teams */
+ setbgteam $@CAPTURE_T1, 1;
+ setbgteam $@CAPTURE_T2, 2;
+ /* Validate difficulty */
+ .@t1p = bg_get_data($@CAPTURE_T1, 0);
+ .@t2p = bg_get_data($@CAPTURE_T2, 0);
+ .@t1lv = 0; .@t2lv = 0;
+ /* Optional Reinforcements when unbalanced */
+ freeloop(true);
+ .@c=getunits(BL_PC, .@pcs, MAX_CYCLE_PC, "006-8", 30, 20, 60, 60);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ .@id = .@pcs[.@i];
+ .@n$ = strcharinfo(0, "", .@id);
+ .@bg = getcharid(4, .@n$);
+ if (.@bg < 1) { consolewarn("Invalid bg for %s (%d): %d",.@m$, .@id, .@bg); continue; } // TODO: Get rid of them
+ if (.@bg == $@CAPTURE_T1)
+ .@t1lv += readparam(BaseLevel, .@id);
+ else if (.@bg == $@CAPTURE_T2)
+ .@t2lv += readparam(BaseLevel, .@id);
+ else
+ consolebug("BG %d is not valid (%d, %d)", .@bg, $@CAPTURE_T1, $@CAPTURE_T2);
+ }
+ // Calc. averages
+ if (.@t1p)
+ .@t1a = .@t1lv / .@t1p;
+ if (.@t2p)
+ .@t2a = .@t2lv / .@t2p;
+ // If average is zero...?!
+ if (.@t1a && !.@t2a)
+ .@t2a = .@t1a;
+ if (.@t2a && !.@t1a)
+ .@t1a = .@t2a;
+ /* Spawn guards as needed... */
+ // Normalize player count
+ // TODO: Maybe use the other side average, mobs are weak?
+ while (.@t1p < .@t2p) {
+ .@t1p += 1;
+ bg_monster($@CAPTURE_T1, "006-8", 32, rand2(24, 32), "Magenta Ally", getmobid(max(.@t1a, .@t2a)), "Kage::OnSkip");
+ }
+ while (.@t2p < .@t1p) {
+ .@t2p += 1;
+ bg_monster($@CAPTURE_T2, "006-8", 53, rand2(24, 32), "Yellow Ally", getmobid(max(.@t1a, .@t2a)), "Kage::OnSkip");
+ }
+ // TODO: Maybe buff their HP. Also, they didn't attack sparks?
+ // Apply a buff on the teams, based on level difference
+ .@c=getunits(BL_PC, .@pcs, MAX_CYCLE_PC, "006-8", 30, 20, 60, 60);
+ .@t1b = .@t2a - .@t1a; // Team 1 Boost
+ .@t2b = .@t1a - .@t2a; // Team 2 Boost
+ for (.@i = 0; .@i < .@c; .@i++) {
+ .@id = .@pcs[.@i];
+ .@n$ = strcharinfo(0, "", .@id);
+ .@bg = getcharid(4, .@n$);
+ if (.@bg == $@CAPTURE_T1 && .@t1b > 0) {
+ sc_start SC_INCMHP, 300000, .@t1b * 1000, 10000, SCFLAG_NOAVOID, .@id;
+ sc_start SC_INCATKRATE, 300000, .@t1b, 10000, SCFLAG_NOAVOID, .@id;
+ sc_start SC_INCHITRATE, 300000, .@t1b, 10000, SCFLAG_NOAVOID, .@id;
+ sc_start SC_INCFLEERATE, 300000, .@t1b, 10000, SCFLAG_NOAVOID, .@id;
+ } else if (.@bg == $@CAPTURE_T2 && .@t2b > 0) {
+ sc_start SC_INCMHP, 300000, .@t2b * 1000, 10000, SCFLAG_NOAVOID, .@id;
+ sc_start SC_INCATKRATE, 300000, .@t2b, 10000, SCFLAG_NOAVOID, .@id;
+ sc_start SC_INCHITRATE, 300000, .@t2b, 10000, SCFLAG_NOAVOID, .@id;
+ sc_start SC_INCFLEERATE, 300000, .@t2b, 10000, SCFLAG_NOAVOID, .@id;
+ }
+ }
+ freeloop(false);
+ // FALLTHROUGH
+OnTimer60000:
+OnTimer120000:
+OnTimer180000:
+OnTimer240000:
+OnMinute26:
+OnMinute27:
+OnMinute28:
+OnMinute29:
+ /* New wave of sparks */
+ .@am = 7 + getmapusers("006-8");
+ freeloop(true);
+ for (.@i=0; .@i < .@am; .@i++) {
+ bg_monster($@CAPTURE_T1, "006-8", rand2(31, 44), rand2(21, 35), "Magenta Spark", MagentaSpark, "Kage::OnSpark1");
+ bg_monster($@CAPTURE_T2, "006-8", rand2(45, 58), rand2(21, 35), "Yellow Spark", YellowSpark, "Kage::OnSpark2");
+
+ }
+ freeloop(false);
+ end;
+
+OnTimer300000:
+OnMinute30:
+ /* Finish the duel! */
+ killmonsterall("006-8");
+ mapannounce "006-8", sprintf("Kage : Final Score: Magenta %d - %d Yellow", .sp2, .sp1), 0;
+ if (.sp2 > .sp1) {
+ // More spark 2 killed than spark 1
+ mapannounce "006-8", "Kage : ##BMagenta Team##b is the victor!", 0;
+ .win = $@CAPTURE_T1;
+ } else if (.sp1 > .sp2) {
+ mapannounce "006-8", "Kage : ##BYellow Team##b is the victor!", 0;
+ .win = $@CAPTURE_T2;
+ } else {
+ mapannounce "006-8", "Kage : ##BDraw##b! No one has won!", 0;
+ .win = -2;
+ }
+ // Assign rewards
+ maptimer("006-8", 10, "Kage::OnFinish");
+ /* Cleanup */
+ $@CAPTURE_FLAG = false;
+ .sp1 = 0;
+ .sp2 = 0;
+ stopnpctimer;
+ end;
+
+}
+
+
+
+
diff --git a/npc/006-9/_config.txt b/npc/006-9/_config.txt
new file mode 100644
index 0000000..d24aa8b
--- /dev/null
+++ b/npc/006-9/_config.txt
@@ -0,0 +1,9 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 006-9: The Abyss conf
+
+006-9,37,22,0 script #006-9_37_22 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ doevent "#DungeonCore::OnBleed";
+ end;
+}
diff --git a/npc/006-9/_import.txt b/npc/006-9/_import.txt
new file mode 100644
index 0000000..a268948
--- /dev/null
+++ b/npc/006-9/_import.txt
@@ -0,0 +1,4 @@
+// Map 006-9: The Abyss
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/006-9/_config.txt",
+"npc/006-9/ctrl.txt",
diff --git a/npc/006-9/ctrl.txt b/npc/006-9/ctrl.txt
new file mode 100644
index 0000000..46b1fe3
--- /dev/null
+++ b/npc/006-9/ctrl.txt
@@ -0,0 +1,314 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+
+006-9 mapflag zone MMO No Tricks
+
+006-9,37,21,0 script #OutOf0069 NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ if (!$@SURVIVAL_CANDOR)
+ warp "006-6", 54, 36;
+ end;
+}
+
+006-9,55,32,0 script Bloodbath NPC_NO_SPRITE,{
+ function spawn;
+ if ($@SURVIVAL_CANDOR) {
+ npctalk3 l("Score: %s / %s", FuzzyTime($@SURVIVAL_CANDOR), FuzzyTime(gettimetick(2)+SCANDORPTS));
+ end;
+ }
+ mesn;
+ mes l("Goal: Survive the longest possible.");
+ mes l("Monsters will spawn in the south fountain continuously.");
+ mes l("They'll also start spawning on whole map, so be careful.");
+ mesc l("The fee to use this room is %s GP.", fnum(.price)), 1;
+ mes "";
+ mes l("Current score: %s", FuzzyTime(gettimetick(2)+SCANDORPTS));
+
+ if (Zeny < .price) close;
+ next;
+ mesc l("Begin?");
+ menuint
+ l("Yes"), ASK_YES,
+ l("No"), ASK_NO,
+ l("Scoreboards"), -1;
+ mes "";
+ if (@menuret == ASK_NO || Zeny < .price) {
+ closeclientdialog;
+ close;
+ } else if (@menuret < 0) {
+ HallOfBloodbath();
+ close;
+ }
+
+ Zeny-=.price;
+ $@SURVIVAL_CANDOR = gettimetick(2);
+ initnpctimer;
+ close;
+
+// Timer logic
+OnTimer4000:
+ .diff += 1;
+ if (.diff == 75)
+ mapannounce "006-9","Five minutes have passed, changing spawn pattern!",0;
+ if (.diff == 450)
+ mapannounce "006-9", "Half hour has passed, changing spawn pattern!", 0;
+ if (.diff == 900)
+ mapannounce "006-9", "One hour has passed, changing spawn pattern!", 0;
+ initnpctimer;
+OnTimer2000:
+ /* Verify for game over */
+ if (getmapusers("006-9") < 1) {
+ sleep(25);
+ stopnpctimer;
+ .diff = 0;
+ $@SURVIVAL_CANDOR = 0;
+ killmonsterall("006-9");
+ end;
+ }
+ spawn(.diff);
+ end;
+
+// Spawn logic
+function spawn {
+ .@lv = getarg(0);
+ if (.@lv < 450) {
+ .@mb[0] = MagicGoblin;
+ .@mb[1] = IceMaggot;
+ }
+
+ // Artillery
+ if (.@lv > 40)
+ array_push(.@mb, RobinBandit);
+ if (.@lv > 50)
+ array_push(.@mb, DustGatling);
+ if (.@lv > 60)
+ array_push(.@mb, DustRifle);
+ if (.@lv > 70)
+ array_push(.@mb, DustRevolver);
+ if (.@lv > 80)
+ array_push(.@mb, DustBoss);
+ if (.@lv > 90)
+ array_push(.@mb, GreatMoubooSlime);
+ if (.@lv > 100)
+ array_push(.@mb, Jhon);
+
+ // Monsters
+ if (is_between2(0, .@lv, 60)) {
+ array_push(.@mb, Piou);
+ array_push(.@mb, Piousse);
+ array_push(.@mb, Squirrel);
+ array_push(.@mb, ManaPiou);
+ array_push(.@mb, ForestPiou);
+ array_push(.@mb, RedButterfly);
+ array_push(.@mb, Maggot);
+ array_push(.@mb, CandorScorpion);
+ array_push(.@mb, HouseMaggot);
+ array_push(.@mb, LittleYellowSlime);
+ array_push(.@mb, Ratto);
+ array_push(.@mb, RudolphSlime);
+ array_push(.@mb, MoubooSlime);
+ array_push(.@mb, Croc);
+ array_push(.@mb, Scorpion);
+ array_push(.@mb, SmallFrog);
+ }
+ if (is_between2(20, .@lv, 80)) {
+ array_push(.@mb, BigFrog);
+ array_push(.@mb, Lavern);
+ array_push(.@mb, LittleRedSlime);
+ array_push(.@mb, ChocolateSlime);
+ array_push(.@mb, Blub);
+ array_push(.@mb, Duck);
+ array_push(.@mb, Bat);
+ array_push(.@mb, CaveMaggot);
+ array_push(.@mb, ManaGhost);
+ array_push(.@mb, ManaBug);
+ array_push(.@mb, Fluffy);
+ array_push(.@mb, FireGoblin);
+ array_push(.@mb, ViciousSquirrel);
+ array_push(.@mb, RedScorpion);
+ array_push(.@mb, WhiteSlime);
+ array_push(.@mb, AzulSlime);
+ array_push(.@mb, DesertLogHead);
+ }
+ if (is_between2(30, .@lv, 100)) {
+ array_push(.@mb, RedSlime);
+ array_push(.@mb, PoisonSpikyMushroom);
+ array_push(.@mb, DesertBandit);
+ array_push(.@mb, OceanCroc);
+ array_push(.@mb, ToppyBlub);
+ array_push(.@mb, Sarracenus);
+ array_push(.@mb, IceMaggot);
+ array_push(.@mb, VampireBat);
+ array_push(.@mb, Bandit);
+ array_push(.@mb, Pinkie);
+ array_push(.@mb, LivingPotato);
+ array_push(.@mb, Assassin);
+ array_push(.@mb, Skeleton);
+ }
+ if (is_between2(50, .@lv, 120)) {
+ array_push(.@mb, CaveSnake);
+ array_push(.@mb, GreenSlime);
+ array_push(.@mb, CopperSlime);
+ array_push(.@mb, YellowSlime);
+ array_push(.@mb, SantaSlime);
+ array_push(.@mb, LavaSlime);
+ array_push(.@mb, Bluepar);
+ array_push(.@mb, DeathCat);
+ array_push(.@mb, Moggun);
+ array_push(.@mb, SeaSlime);
+ array_push(.@mb, RedMushroom);
+ array_push(.@mb, Mouboo);
+ array_push(.@mb, LogHead);
+ array_push(.@mb, CandiedSlime);
+ array_push(.@mb, OldSnake);
+ array_push(.@mb, GrassSnake);
+ }
+ if (is_between2(60, .@lv, 140)) {
+ array_push(.@mb, GiantMaggot);
+ array_push(.@mb, IcedFluffy);
+ array_push(.@mb, Snake);
+ array_push(.@mb, BlackSlime);
+ array_push(.@mb, Tipiou);
+ array_push(.@mb, AlphaMouboo);
+ array_push(.@mb, Pollet);
+ array_push(.@mb, Snowman);
+ array_push(.@mb, PiouKnight);
+ array_push(.@mb, Shrewboo);
+ }
+ if (is_between2(70, .@lv, 160)) {
+ array_push(.@mb, Wolvern);
+ array_push(.@mb, FireSkull);
+ array_push(.@mb, DarkLizard);
+ }
+ if (is_between2(90, .@lv, 180)) {
+ array_push(.@mb, ArmoredSkeleton);
+ array_push(.@mb, BlackScorpion);
+ array_push(.@mb, ElectroWorm);
+ array_push(.@mb, EarthFairy);
+ array_push(.@mb, FireFairy);
+ array_push(.@mb, WaterFairy);
+ array_push(.@mb, WindFairy);
+ array_push(.@mb, PoisonFairy);
+ array_push(.@mb, MountainSnake);
+ array_push(.@mb, HoodedNinja);
+ array_push(.@mb, ForestMushroom);
+ array_push(.@mb, GoldenScorpion);
+ }
+ if (is_between2(110, .@lv, 200)) {
+ array_push(.@mb, Yeti);
+ array_push(.@mb, FallenGuard1);
+ array_push(.@mb, GreenSlimeMother);
+ array_push(.@mb, SnowFlower);
+ array_push(.@mb, BlueSlimeMother);
+ array_push(.@mb, WickedMushroom);
+ array_push(.@mb, CopperSlimeMother);
+ array_push(.@mb, YellowSlimeMother);
+ array_push(.@mb, RedSlimeMother);
+ array_push(.@mb, ChocolateSlimeMother);
+ array_push(.@mb, WhiteSlimeMother);
+ array_push(.@mb, Archant);
+ array_push(.@mb, Scar);
+ }
+ if (is_between2(140, .@lv, 220)) {
+ array_push(.@mb, AzulSlimeMother);
+ array_push(.@mb, SeaSlimeMother);
+ array_push(.@mb, LavaSlimeMother);
+ array_push(.@mb, BlackSlimeMother);
+ array_push(.@mb, Crafty);
+ array_push(.@mb, Forain);
+ array_push(.@mb, GreenDragon);
+ array_push(.@mb, Michel);
+ array_push(.@mb, Troll);
+ }
+ if (is_between2(160, .@lv, 240)) {
+ array_push(.@mb, EliteDuck);
+ array_push(.@mb, AzulSkullSlime);
+ array_push(.@mb, Moonshroom);
+ array_push(.@mb, RedSkullSlime);
+ array_push(.@mb, Terranite);
+ array_push(.@mb, JackO);
+ array_push(.@mb, BlackMamba);
+ array_push(.@mb, GreenSkullSlime);
+ array_push(.@mb, BloodyMouboo);
+ array_push(.@mb, Centaur);
+ array_push(.@mb, GoboBear);
+ }
+ if (is_between2(180, .@lv, 260)) {
+ array_push(.@mb, CopperSkullSlime);
+ array_push(.@mb, LavaSkullSlime);
+ array_push(.@mb, BlackSkullSlime);
+ array_push(.@mb, GiantCaveMaggot);
+ array_push(.@mb, TerraniteProtector);
+ array_push(.@mb, VanityPixie);
+ array_push(.@mb, HolyPixie);
+ }
+ if (is_between2(200, .@lv, 280)) {
+ array_push(.@mb, ShadowPixie);
+ array_push(.@mb, NulityPixie);
+ array_push(.@mb, Reaper);
+ array_push(.@mb, NightmareDragon);
+ array_push(.@mb, Snail);
+ array_push(.@mb, WhirlyBird);
+ }
+ if (is_between2(250, .@lv, 350)) {
+ array_push(.@mb, PinkieSuseran);
+ array_push(.@mb, Mandragora);
+ array_push(.@mb, PinkieMaximus);
+ }
+ if (.@lv > 240) {
+ array_push(.@mb, Junglefowl);
+ array_push(.@mb, Tengu);
+ array_push(.@mb, Moubi);
+ }
+ if (.@lv > 260) {
+ array_push(.@mb, SuperiorShroom);
+ array_push(.@mb, Nutcracker);
+ array_push(.@mb, Golem);
+ }
+ if (.@lv > 280) {
+ array_push(.@mb, SiegeTower);
+ array_push(.@mb, GreenhornAbomination);
+ array_push(.@mb, ShadowTortuga);
+ array_push(.@mb, FireElement);
+ array_push(.@mb, WaterElement);
+ array_push(.@mb, EarthElement);
+ array_push(.@mb, WindElement);
+ }
+ if (.@lv > 320) {
+ array_push(.@mb, SacredWisp);
+ array_push(.@mb, EvilWisp);
+ array_push(.@mb, PanthomWisp);
+ array_push(.@mb, EpiphanyWisp);
+ }
+ if (.@lv >= 350)
+ array_push(.@mb, Tortuga);
+
+ /* The final attack pattern is aimed at nukes */
+ if (.@lv >= 900)
+ .@lv *= 3; // 12 -> 36 mobs
+
+ /* Spawn them and make hostile */
+ .@mid = any_of(.@mb);
+ .@m=areamonster("006-9", 35, 63, 36, 65, strmobinfo(1, .@mid), .@mid, 1);
+ set_aggro(.@m);
+ /* After five minutes, spawn some globally */
+ freeloop(true);
+ for (.@i = 0; .@i < 1+(.@lv / 75); .@i++) {
+ .@mid = any_of(.@mb);
+ .@m=areamonster("006-9", 20, 20, getmapinfo(MAPINFO_SIZE_X,"006-9"), getmapinfo(MAPINFO_SIZE_Y,"006-9"), strmobinfo(1, .@mid), .@mid, 1);
+ set_aggro(.@m);
+ }
+ freeloop(false);
+ return;
+}
+
+OnInit:
+ .distance=3;
+ .price=2400;
+ .diff = 0;
+ end;
+}
+
diff --git a/npc/007-1-1/_import.txt b/npc/007-1-1/_import.txt
new file mode 100644
index 0000000..0746a76
--- /dev/null
+++ b/npc/007-1-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 007-1-1: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/007-1-1/_mobs.txt",
+"npc/007-1-1/_warps.txt",
diff --git a/npc/007-1-1/_mobs.txt b/npc/007-1-1/_mobs.txt
new file mode 100644
index 0000000..b975904
--- /dev/null
+++ b/npc/007-1-1/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 007-1-1: Canyon Cave mobs
+007-1-1,35,35,4,2 monster Maggot 1030,2,35000,150000
+007-1-1,56,34,4,2 monster Maggot 1030,2,35000,150000
+007-1-1,45,37,6,9 monster Little Blub 1007,4,35000,150000
+007-1-1,0,0,0,0 monster Cave Maggot 1027,6,35000,150000
+007-1-1,40,30,10,8 monster Scorpion 1071,5,35000,150000
+007-1-1,44,34,6,11 monster Plushroom Field 1011,1,35000,150000
diff --git a/npc/007-1-1/_warps.txt b/npc/007-1-1/_warps.txt
new file mode 100644
index 0000000..dc19e3c
--- /dev/null
+++ b/npc/007-1-1/_warps.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 007-1-1: Canyon Cave warps
+007-1-1,35,38,0 warp #007-1-1_35_38 0,0,004-1,119,108
+007-1-1,42,20,0 warp #007-1-1_42_20 0,0,010-2-15,35,41
+007-1-1,45,49,0 warp #007-1-1_45_49 0,0,004-3-6,42,21
+007-1-1,56,36,0 warp #007-1-1_56_36 0,0,004-2,48,60
diff --git a/npc/007-1-2/_import.txt b/npc/007-1-2/_import.txt
new file mode 100644
index 0000000..ed81198
--- /dev/null
+++ b/npc/007-1-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 007-1-2: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/007-1-2/_mobs.txt",
+"npc/007-1-2/_warps.txt",
diff --git a/npc/007-1-2/_mobs.txt b/npc/007-1-2/_mobs.txt
new file mode 100644
index 0000000..172ef66
--- /dev/null
+++ b/npc/007-1-2/_mobs.txt
@@ -0,0 +1,7 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 007-1-2: Canyon Cave mobs
+007-1-2,50,51,4,2 monster Maggot 1030,2,35000,150000
+007-1-2,56,29,4,2 monster Maggot 1030,2,35000,150000
+007-1-2,0,0,0,0 monster Desert Maggot 1083,4,35000,150000
+007-1-2,44,36,7,7 monster Scorpion 1071,5,35000,150000
+007-1-2,0,0,0,0 monster Plushroom Field 1011,1,35000,150000
diff --git a/npc/007-1-2/_warps.txt b/npc/007-1-2/_warps.txt
new file mode 100644
index 0000000..379d05b
--- /dev/null
+++ b/npc/007-1-2/_warps.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 007-1-2: Canyon Cave warps
+007-1-2,50,54,0 warp #007-1-2_50_54 0,0,004-2,85,50
+007-1-2,56,26,0 warp #007-1-2_56_26 0,0,004-2,92,34
+007-1-2,48,20,0 warp #007-1-2_48_20 0,0,004-3-5,36,44
+007-1-2,32,32,0 warp #007-1-2_32_32 0,0,010-2-15,60,36
diff --git a/npc/007-1/_import.txt b/npc/007-1/_import.txt
new file mode 100644
index 0000000..bbbfd86
--- /dev/null
+++ b/npc/007-1/_import.txt
@@ -0,0 +1,12 @@
+// Map 007-1: Tulimshar Mining Camp
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/007-1/_mobs.txt",
+"npc/007-1/_warps.txt",
+"npc/007-1/caelum.txt",
+"npc/007-1/dracoula.txt",
+"npc/007-1/naem.txt",
+"npc/007-1/pylon.txt",
+"npc/007-1/torches.txt",
+"npc/007-1/treasure.txt",
+"npc/007-1/tycoon.txt",
+"npc/007-1/zarkor.txt",
diff --git a/npc/007-1/_mobs.txt b/npc/007-1/_mobs.txt
new file mode 100644
index 0000000..c0fe019
--- /dev/null
+++ b/npc/007-1/_mobs.txt
@@ -0,0 +1,14 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 007-1: Tulimshar Mining Camp mobs
+007-1,140,101,43,90 monster Cave Maggot 1027,45,35000,300000,Tycoon::OnKillCaveMaggot
+007-1,129,50,14,14 monster Black Scorpion 1074,5,32000,210000,Tycoon::OnKillBlackScorpion
+007-1,71,61,20,18 monster Ratto 1005,5,35000,220000,Tycoon::OnKillRatto
+007-1,64,50,19,23 monster Piou 1002,3,35000,300000
+007-1,118,140,57,52 monster Cave Snake 1035,25,35000,300000,Tycoon::OnKillCaveSnake
+007-1,57,156,37,29 monster Red Scorpion 1072,11,35000,120000,Tycoon::OnKillRedScorpion
+007-1,39,125,7,6 monster Cave Maggot 1027,5,35000,270000,Tycoon::OnKillCaveMaggot
+007-1,89,72,75,57 monster Cave Bat 1039,9,35000,240000
+007-1,117,94,10,7 monster Black Scorpion 1074,1,35000,220000,Tycoon::OnKillBlackScorpion
+007-1,93,110,9,9 monster Cave Maggot 1027,8,35000,300000,Tycoon::OnKillCaveMaggot
+007-1,101,141,76,47 monster Night Scorpion 1077,1,3600000,1800000
+007-1,0,0,0,0 monster Ruby Bif 1099,9,35000,300000
diff --git a/npc/007-1/_warps.txt b/npc/007-1/_warps.txt
new file mode 100644
index 0000000..2aebed2
--- /dev/null
+++ b/npc/007-1/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 007-1: Tulimshar Mining Camp warps
+007-1,56,37,0 warp #007-1_56_37 0,0,004-1,39,110
+007-1,90,52,0 warp #007-1_90_52 0,0,004-1,98,115
+007-1,99,190,0 warp #007-1_99_190 1,0,007-2,64,66
diff --git a/npc/007-1/caelum.txt b/npc/007-1/caelum.txt
new file mode 100644
index 0000000..4cc3dda
--- /dev/null
+++ b/npc/007-1/caelum.txt
@@ -0,0 +1,171 @@
+// TMW2 Script
+// Author:
+// SkyDragon
+// Saulc
+// Reviewer:
+// Jesusalva
+// Description:
+// Caelum Miner, main author Skydragon Caelum mean Sky in Latin.
+// id:193 MineQuests_Caelum
+
+007-1,143,49,0 script Caelum NPC_PLAYER,{
+ // User is behind the wall, do nothing
+ if (isin("007-1", 142, 43, 3))
+ end;
+
+ .@Miner = getq(MineQuest_Caelum);
+ if (BaseLevel < 28) goto L_TooWeak;
+ if (.@Miner == 1) goto L_Check;
+ if (.@Miner == 2) goto L_Complete;
+
+L_GiveTask:
+ mesn;
+ mesq lg("Hello, wanderer!");
+ next;
+ mesq l("How did you end up here?");
+ next;
+
+ menu
+ l("To be honest, I don't know. I was only walking, seeking for adventure!"), L_Quest,
+ l("It's none of your business."), L_Quit;
+
+
+L_Quest:
+ mes "";
+ mesn;
+ mesq l("You perchance said in adventure? Good, because I just hurt my arm while mining!");
+ next;
+ mesn;
+ mesq l("If you bring me some items to I do a bandage and heal myself, I'll give you my gloves!");
+ next;
+
+ menu
+ l("Really? What do you need?"), L_Start,
+ l("Better do this some other time..."), L_Quit;
+
+
+L_Start:
+ setq MineQuest_Caelum, 1;
+ mes "";
+ mesn;
+ mesq l("Ok, what I need is:");
+ goto L_List;
+
+L_Quit:
+ mes "";
+ mesn;
+ mesq l("Alright.");
+ close;
+
+L_List:
+ mes "";
+ mesn;
+ mes l("Here's what I need:");
+ mes l("@@/1 @@", countitem(Lifestone), getitemlink(Lifestone));
+ mes l("@@/1 @@", countitem(CottonCloth), getitemlink(CottonCloth));
+ mes l("@@/2 @@", countitem(RedScorpionStinger), getitemlink(RedScorpionStinger));
+ mes l("@@/5 @@", countitem(ScorpionClaw), getitemlink(ScorpionClaw));
+ mes l("@@/10 @@", countitem(BatTeeth), getitemlink(BatTeeth));
+ mes l("@@/10 @@", countitem(CactusDrink), getitemlink(CactusDrink));
+ mes l("@@/20 @@", countitem(MaggotSlime), getitemlink(MaggotSlime));
+ mes l("@@/8 @@, just because I'm hungry as a bear.", countitem(BugLeg), getitemlink(BugLeg));
+ close;
+
+L_Check:
+ mesn;
+ mesq l("Did you brought me everything I asked for?");
+ next;
+ menu
+ l("Yes!"), L_Give,
+ l("I forgot what you need!"), L_List,
+ l("No!"), L_Quit;
+
+L_Give:
+ if (
+ countitem(Lifestone) < 1 ||
+ countitem(CottonCloth) < 1 ||
+ countitem(RedScorpionStinger) < 2 ||
+ countitem(BugLeg) < 8 ||
+ countitem(BatTeeth) < 10 ||
+ countitem(CactusDrink) < 10 ||
+ countitem(MaggotSlime) < 20 ||
+ countitem(ScorpionClaw) < 5
+ ) goto L_Lying;
+
+ inventoryplace MinerGloves, 1;
+
+ delitem(Lifestone, 1);
+ delitem(CottonCloth, 1);
+ delitem(RedScorpionStinger, 2);
+ delitem(BugLeg, 8);
+ delitem(BatTeeth, 10);
+ delitem(CactusDrink, 10);
+ delitem(MaggotSlime, 20);
+ delitem(ScorpionClaw, 5);
+
+ getitem(MinerGloves, 1);
+ getexp(2855, 43);
+ setq(MineQuest_Caelum, 2);
+
+ mes "";
+ mesn;
+ mesq l("Here, all yours. I can't use them like I am now. Thank you.");
+ close;
+
+L_Complete:
+ mesn;
+ mesq l("Wandering too much? Take care to don't get lost.");
+ if (getq(MineQuest_Pickaxe) < 2) {
+ next;
+ select
+ l("Okay, bye."),
+ l("Can I become a miner?");
+ mes "";
+ if (@menu == 2) {
+ compareandsetq MineQuest_Pickaxe, 0, 1;
+ mesn;
+ mesq l("Uh, you should ask %s, he is the miners leader.", b(l("Tycoon")));
+ next;
+ }
+ }
+ close;
+
+// Funnier to write than to read, but the player lied. :angel:
+L_Lying:
+ mesn;
+ mesq l("No no no, that's wrong.");
+ next;
+ mesc l("The miner goes to count your stuff again.");
+ next;
+ mesc l("And again.");
+ next;
+ mesc l("And again, and again.");
+ next;
+ mesc l("And again, and again, again.");
+ next;
+ mesc l("You wonder, maybe he entered on an infinite loop? Hellooo, anybody home?");
+ next;
+ mesn;
+ mesq l("No no no, you don't have everything I've asked for!");
+ next;
+ goto L_List;
+
+L_TooWeak:
+ mesn;
+ mesq l("Wanderer, here is dangerous! Go back!");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, MinerHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, LeatherShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, BromenalPants);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 4);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 3);
+
+ .sex = G_MALE;
+ .distance = 4;
+
+ end;
+}
diff --git a/npc/007-1/dracoula.txt b/npc/007-1/dracoula.txt
new file mode 100644
index 0000000..323fd78
--- /dev/null
+++ b/npc/007-1/dracoula.txt
@@ -0,0 +1,160 @@
+// TMW2 Script
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Dracoula is daily npc, ask for bat teeth every 23 h
+// Variable:
+// MineQuest_Dracoula
+
+007-1,170,99,0 script Dracoula NPC_UKAR_F,{
+ mesn;
+ mesq lg("Hello adventurer! Are you lost?");
+ next;
+ mesq l("This is not a place for non-experimented people!");
+ next;
+ mesq l("Mine exit is top left!");
+ mes "";
+ if (BaseLevel >= 15) goto L_Menu;
+ close;
+
+L_Menu:
+ mesn;
+ mesq l("But as you're here now, could you do me a favour?");
+ mes "";
+ menu
+ l("Hum, Which type of favor?"),L_Quest,
+ l("Can I find a mana source here?"),L_Mana,
+ l("Can I become a miner?"),L_Miner,
+ l("No, thanks. I gonna leave this place."),L_Close;
+
+L_Quest:
+ mes "";
+ .@q=getq(MineQuest_Dracoula);
+ if (!.@q) {
+ mesn;
+ mesq l("Nice! First let me introduce myself. I am Dracoula, a miner!");
+ next;
+ mesn;
+ mesq l("I mine here since a while. My favorite activity is to scare other miners!");
+ next;
+ }
+ if (.@q == 0) goto L_Continue;
+ .@q2=getq2(MineQuest_Dracoula) + 60 * 60 * 23;
+ if (santime() >= .@q2) goto L_Repeat;
+ mesn;
+ mesq l("But come back in a few hours, I didn't lost all @@!", getitemlink(BatTeeth));
+ close;
+
+L_Continue:
+ mesq l("I love seeing their terrorize face.");
+ mes "";
+ menu
+ l("Ok. Cool life!"), L_Close,
+ l("Haha, Nice, but how do you do that?"), L_Next;
+
+L_Next:
+ mes "";
+ mesq l("I disguise myself into a giant mutated bat, but every time I break or lose my fake teeth.");
+ next;
+ mesq l("I usually ask adventurers for 11 @@, but new miners should be arriving soon. I need to make them cry!", getitemlink(BatTeeth));
+ next;
+ mesq l("So it could be nice, if you could bring me 20 @@,", getitemlink(BatTeeth));
+ mes "";
+ menu
+ rif(countitem(BatTeeth) >= 20, l("Hey! I already got them!")), L_Finish,
+ l("I'll get to it."), L_Close;
+ close; // double sure
+
+L_Repeat:
+ mesn;
+ if (getequipid(EQI_HEAD_TOP) > 0)
+ mesq l("Oh it's you @@, I did not recognize you with your hat!", strcharinfo(0));
+ else
+ mesq l("Oh it's you @@, I did not recognize you without a hat!", strcharinfo(0));
+ next;
+ mesq l("Do you have an extra of 11 @@ for me?", getitemlink(BatTeeth));
+ mes "";
+ menu
+ rif(countitem(BatTeeth) >= 11, l("Yep, I bring them for you!")), L_Finish2,
+ l("Actually not."), L_Close;
+ close;
+
+// First Time Only
+L_Finish:
+ delitem BatTeeth, 20;
+ getexp 666, 5; // 20 / 18% = 111 kills * 15 xp = 1665 xp gained from killing. (40% bonus)
+ Zeny = (Zeny + 600); // 10*20 = 200 base (300% bonus)
+ setq MineQuest_Dracoula, 1, santime();
+ mes "";
+ mesn;
+ mesq l("WAW thank you! Come back later to bring me extra @@!", getitemlink(BatTeeth));
+ close;
+
+// Repeat
+L_Finish2:
+ delitem BatTeeth, 11;
+ getexp 275, 1; // 11 / 18% = 61 kills * 15 xp = 915 xp gained from killing. (30% bonus)
+ Zeny = (Zeny + 220); // 10*11 = 110 base (200% bonus)
+ setq MineQuest_Dracoula, 1, santime();
+ mes "";
+ mesn;
+ mesq l("So COOL, thanks! Come back later to bring me extra @@!", getitemlink(BatTeeth));
+ close;
+
+L_Mana:
+ mes "";
+ mesn;
+ mesq l("Ah! Actually nobody found one.");
+ next;
+ mesn;
+ mesq l("But it's ultimate goal of miners there.");
+ next;
+ mesn;
+ mesq l("If one of us found a Mana stone. They would become rich!");
+ next;
+ mesn;
+ mesq l("Twelve times more if it is an elusive Mana Fragment no one knows where they are!");
+ next;
+ mesn;
+ mesq l("That is.");
+ next;
+ goto L_Menu;
+
+L_Miner:
+ mes "";
+ mesn;
+ mesq l("You should ask %s.", b(l("Tycoon")));
+ next;
+ mesn;
+ mesq l("He is the Miners leader.");
+ if (getq(MineQuest_Dracoula)) {
+ compareandsetq MineQuest_Pickaxe, 0, 1;
+ } else {
+ next;
+ mesn;
+ mesq l("I can vouch for you, but only if you help me first!");
+ }
+ next;
+ goto L_Menu;
+
+L_Close:
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, MinerHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, ArtisTankTop);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, JeansShorts);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 8);
+
+ .sex = G_FEMALE;
+ .distance = 4;
+
+ end;
+}
+
diff --git a/npc/007-1/naem.txt b/npc/007-1/naem.txt
new file mode 100644
index 0000000..4a7414b
--- /dev/null
+++ b/npc/007-1/naem.txt
@@ -0,0 +1,66 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Naem is... I'm not sure.
+
+007-1,180,46,2 script Naem NPC_PLAYER,0,0,{
+ .@q = getq(MineQuest_Naem);
+ mesn;
+ mesq l("My name is Naem and I guard the tunnels in this direction. You shall not pass. Now leave.");
+ if (BaseLevel < 28)
+ close;
+ if (.@q == 2) {
+ if (!checkbound(IcedBottle)) close;
+ next;
+ inventoryplace MinerTankTop, 1;
+ delitem IcedBottle, 1;
+ getitem MinerTankTop, 1;
+ getexp 440, 0;
+ setq MineQuest_Naem, 3;
+ mesn;
+ mesq l("Oh, %s, thanks! The tunnels behind me are very hot, this will help if I have to go inside them.", getitemlink(IcedBottle));
+ next;
+ mesn;
+ mesq l("You can have this %s as a token of gratitude. But no, you cannot pass, so keep going!", getitemlink(MinerTankTop));
+ close;
+ }
+ if (.@q >= 3)
+ close;
+ next;
+ mesn;
+ mesq l("Actually, you look strong...ish. Still, maybe you can help me.");
+ next;
+ mesn;
+ mesq l("I need groceries. %d %s, %d %s, %d %s, %d %s and %d %s. Give it to my wife, Silvia.",
+ 7, getitemlink(Aquada),
+ 6, getitemlink(PiouLegs),
+ 3, getitemlink(Cheese),
+ 3, getitemlink(HalfCroconut),
+ 1, getitemlink(PurpleBlobime));
+ next;
+ mesn;
+ mesq l("You can collect croconuts by killing any tree with it. Then you can break it in half from the inventory screen.");
+ compareandsetq MineQuest_Naem, 0, 1;
+ close;
+
+// TODO: If you walk past him having the requisite, warp
+OnTouch:
+ npctalk3 l("Hey, I said NO ENTRY! Get moving!");
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, MinerHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, MinerTankTop);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, BromenalPants);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 4);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 3);
+
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+
+}
+
diff --git a/npc/007-1/pylon.txt b/npc/007-1/pylon.txt
new file mode 100644
index 0000000..ed2f2c0
--- /dev/null
+++ b/npc/007-1/pylon.txt
@@ -0,0 +1,174 @@
+// TMW2 scripts.
+// TMW2 Authors:
+// Saulc
+// Jesusalva
+// Description:
+// Miner Pylon transforme gems into gem powder, he ask for 100gp + 1 gem and give 100 EXp (each time) + 1 to 3 gem powder's.
+// Variable:
+// dont need variable
+// Reference:
+// https://fr.wikipedia.org/wiki/Pilon#Objets not Epiphysis !
+
+007-1,47,44,0 script Pylon NPC_PLAYER,{
+
+ mesn;
+ mesq l("Hello, I'm Pylon!");
+ next;
+ mesq l("I work in this mine since 3 years, I'm an expert on gems: Ruby, Topaz, Sapphire, You know!");
+ next;
+ mesq l("If you have some gems, I can transform them into powder.");
+ next;
+ mesq l("I only take a tax of 100 gp per gem.");
+ if (Zeny < 100)
+ close;
+ next;
+ mesq lg("Then, would you like me to transform one of your gems?");
+ next;
+ goto L_Menu;
+
+L_Menu:
+ mesn strcharinfo(0);
+ // We could add a drag zone, and allow players to drag their gems, but... Meh.
+ select
+ l("Hum, how many gem powders can I get from one gem?"),
+ rif(countitem(Diamond) >= 1 && Zeny >= 100, l("Yeah sure, take my Diamond!")),
+ rif(countitem(Ruby) >= 1 && Zeny >= 100, l("Yeah sure, take my Ruby!")),
+ rif(countitem(Emerald) >= 1 && Zeny >= 100, l("Yeah sure, take my Emerald!")),
+ rif(countitem(Sapphire) >= 1 && Zeny >= 100, l("Yeah sure, take my Sapphire!")),
+ rif(countitem(Topaz) >= 1 && Zeny >= 100, l("Yeah sure, take my Topaz!")),
+ rif(countitem(Amethyst) >= 1 && Zeny >= 100, l("Yeah sure, take my Amethyst!")),
+ rif(countitem(IronOre) >= 1 && Zeny >= 100, l("And what's about Iron Ore?")),
+ rif(countitem(SunnyCrystal) >= 1 && Zeny >= 1000, l("And what's about Sunny Crystal?")),
+ l("No, thanks, I will keep my gems.");
+
+ mes "";
+
+ switch (@menu) {
+ case 1:
+ goto L_Question;
+ break;
+ case 8:
+ goto L_Ore;
+ break;
+ case 9:
+ goto L_Savior;
+ break;
+ case 10:
+ close;
+ break;
+ default:
+ goto L_Powder;
+ break;
+ }
+
+L_Question:
+ mesn;
+ mesq lg("That depends on your luck!");
+ next;
+ mesq l("With one gem you can expect to get 1 to 3 powders!");
+ next;
+ mesc l("We must blame Saulc!");
+ next;
+ mesq lg("By the way would you like to transform your gem?");
+ next;
+ goto L_Menu;
+
+L_Ore:
+ mesn;
+ mesq l("Hum... I'm not really good at it.");
+ next;
+ mesn;
+ mesq l("But I can try my best for you!");
+ next;
+ mesn;
+ mesq l("If you want it?");
+ next;
+ goto L_MenuOre;
+
+L_MenuOre:
+ menu
+ rif(countitem(IronOre) >= 1 && Zeny >= 100, l("Make me an Iron Powder.")), L_OreOk,
+ l("Nah, thank you."), L_Close;
+
+L_OreOk:
+ // Amount iron ore
+ .@amo=rand2(1,2);
+
+ delitem IronOre, 1;
+ Zeny = Zeny - 100;
+ getexp 10, 0;
+ inventoryplace IronPowder, .@amo;
+ getitem IronPowder, .@amo;
+ mes "";
+ mesn;
+ mesq l("Here you go, I tried my best! Do you want another?");
+ next;
+ goto L_MenuOre;
+
+
+// Must rework IDs
+L_Powder:
+ // Magic
+ .@id=Diamond+@menu-2;
+ .@pw=DiamondPowder+@menu-2;
+
+ // Amount
+ .@am=rand2(1,3);
+
+ delitem .@id, 1;
+ Zeny = Zeny - 100;
+ getexp 60, 0;
+
+
+ inventoryplace .@pw, .@am;
+ getitem .@pw, .@am;
+
+ mes "";
+ mesn;
+ mesq l("Here is your powder! I hope it will be useful.");
+ next;
+ mesq l("Would you like to transform one more?");
+ next;
+ goto L_Menu;
+
+
+L_Savior:
+ // FIXME This is a dirt hack. TODO There should be no such checks
+ if (checkbound(SunnyCrystal)) {
+ mesn;
+ mesc l("Not every @@ with you belongs to you.", getitemlink(SunnyCrystal)), 1;
+ close;
+ }
+ mesn;
+ mesq l("I can make @@ from @@, but this costs @@ GP.", getitemlink(MylarinDust), getitemlink(SunnyCrystal), 1000);
+ next;
+ mesn;
+ mesc l("WARNING, THIS IS A RARE ITEM AND THIS OPERATION CANNOT BE REVERTED!!");
+ next;
+ mesn;
+ mesc l("Are you sure you want to smash it?"), 1;
+ next;
+ if (askyesno() == ASK_YES) {
+ Zeny-=1000;
+ delitem SunnyCrystal, 1;
+ getitem MylarinDust, 3;
+ mesc l("SMASH! And it is now only dust..."), 3;
+ next;
+ }
+ goto L_Menu;
+
+L_Close:
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, MinerHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, ArtisTankTop);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, BromenalPants);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 15);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+}
diff --git a/npc/007-1/torches.txt b/npc/007-1/torches.txt
new file mode 100644
index 0000000..5dd82e2
--- /dev/null
+++ b/npc/007-1/torches.txt
@@ -0,0 +1,153 @@
+// TMW-2 script.
+// Author:
+// Crazyfefe
+// Jesusalva
+// Description:
+// Torches
+// Variables:
+// TulimsharQuest_DarkInvocator
+// Values:
+// 0 Default.
+// 1 Quest Found.
+// 2 Quest Accepted.
+// 3 Bomb Defused.
+// 4 Quest Completed.
+
+
+function script CheckTorch {
+ @torch_count = 0;
+ @count_tmp = 0;
+ if ($@GM_OVERRIDE)
+ npctalk3 l("Hello, I am T-@@, of the @@ order.", @torch, $@TorchBits[@torch]);
+ if (getq2(TulimsharQuest_DarkInvocator) & $@TorchBits[@torch])
+ goto L_Empty;
+ if (countitem(EverburnPowder) <= 0) {
+ dispbottom(l("I do not have Everburn Powder to lit the torch."));
+ end;
+ }
+ setq2 TulimsharQuest_DarkInvocator, getq2(TulimsharQuest_DarkInvocator) | $@TorchBits[@torch];
+
+ goto L_Loop;
+
+L_TorchTally:
+ specialeffect(62);
+ specialeffect(54);
+ getmapxy(@m$, .@x, .@y, 0);
+
+ switch (@torch_count) {
+ case 1:
+ areamonster @m$, .@x-2, .@y-2, .@x+2, .@y+2, "Magic Maggot", CaveMaggot, 4, "Zarkor::OnMonster";
+ break;
+ case 2:
+ areamonster @m$, .@x-2, .@y-2, .@x+2, .@y+2, "Magic Maggot", CaveMaggot, 5, "Zarkor::OnMonster";
+ areamonster @m$, .@x-2, .@y-2, .@x+2, .@y+2, "Magic Goblin", MagicGoblin, 1, "Zarkor::OnMonster";
+ break;
+ case 3:
+ areamonster @m$, .@x-2, .@y-2, .@x+2, .@y+2, "Magic Maggot", CaveMaggot, 6, "Zarkor::OnMonster";
+ areamonster @m$, .@x-2, .@y-2, .@x+2, .@y+2, "Magic Goblin", MagicGoblin, 5, "Zarkor::OnMonster";
+ break;
+ case 4:
+ areamonster @m$, .@x-2, .@y-2, .@x+2, .@y+2, "Black Scorpion", BlackScorpion, 1, "Zarkor::OnMonster";
+ areamonster @m$, .@x-2, .@y-2, .@x+2, .@y+2, "Magic Maggot", CaveMaggot, 6, "Zarkor::OnMonster";
+ areamonster @m$, .@x-2, .@y-2, .@x+2, .@y+2, "Magic Goblin", MagicGoblin, 7, "Zarkor::OnMonster";
+ break;
+ case 5:
+ areamonster @m$, .@x-3, .@y-3, .@x+3, .@y+3, "Black Scorpion", BlackScorpion, 3, "Zarkor::OnMonster";
+ areamonster @m$, .@x-3, .@y-3, .@x+3, .@y+3, "Magic Maggot", CaveMaggot, 8, "Zarkor::OnMonster";
+ areamonster @m$, .@x-3, .@y-3, .@x+3, .@y+3, "Magic Goblin", MagicGoblin, 10, "Zarkor::OnMonster";
+ break;
+ default:
+ dispbottom l("BUG, Please report: TorchTally, err_val @@", @torch_count);
+ areamonster @m$, .@x-2, .@y-2, .@x+2, .@y+2, "Black Scorpion", BlackScorpion, rand(1,2), "Zarkor::OnMonster";
+ areamonster @m$, .@x-2, .@y-2, .@x+2, .@y+2, "Magic Maggot", CaveMaggot, rand(1,3), "Zarkor::OnMonster";
+ areamonster @m$, .@x-2, .@y-2, .@x+2, .@y+2, "Magic Goblin", MagicGoblin, rand(1,5), "Zarkor::OnMonster";
+ }
+
+ delitem EverburnPowder, 1;
+ if (@torch_count == 5) {
+ message strcharinfo(0), l("All torches are lit!");
+ //killmonsterall("007-1");
+ setq1 TulimsharQuest_DarkInvocator, 6;
+ }
+
+ return;
+
+L_Loop:
+ while (@count_tmp < 5) {
+ @count_tmp = (@count_tmp + 1);
+ if (getq2(TulimsharQuest_DarkInvocator) & $@TorchBits[@count_tmp])
+ @torch_count = (@torch_count + 1);
+ }
+ goto L_TorchTally;
+
+L_Empty:
+ message strcharinfo(0), l("This torch is already lit.");
+ return;
+
+}
+
+007-1,171,145,0 script Torch#1 NPC_NO_SPRITE,{
+ @torch = 1;
+ .@q = getq(TulimsharQuest_DarkInvocator);
+ if (.@q == 5) {
+ CheckTorch();
+ npctalk(l("What is @@ doing?", strcharinfo(0)), "Miner#SkyDG");
+ }
+ end;
+OnInit:
+ // Remember: array start at zero, but barrels count start at 1. "Fixing" may break torch 5!
+ setarray $@TorchBits, (1 << 1), (1 << 2), (1 << 3), (1 << 4), (1 << 5), (1 << 6);
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+007-1,70,116,0 script Torch#2 NPC_NO_SPRITE,{
+ @torch = 2;
+ .@q = getq(TulimsharQuest_DarkInvocator);
+ if (.@q == 5) {
+ CheckTorch();
+ }
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+007-1,67,133,0 script Torch#3 NPC_NO_SPRITE,{
+ @torch = 3;
+ .@q = getq(TulimsharQuest_DarkInvocator);
+ if (.@q == 5) {
+ CheckTorch();
+ }
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+007-1,40,125,0 script Torch#4 NPC_NO_SPRITE,{
+ @torch = 4;
+ .@q = getq(TulimsharQuest_DarkInvocator);
+ if (.@q == 5) {
+ CheckTorch();
+ }
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+007-1,144,24,0 script Torch#5 NPC_NO_SPRITE,{
+ @torch = 5;
+ .@q = getq(TulimsharQuest_DarkInvocator);
+ if (.@q == 5) {
+ CheckTorch();
+ }
+ end;
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
diff --git a/npc/007-1/treasure.txt b/npc/007-1/treasure.txt
new file mode 100644
index 0000000..9c887ed
--- /dev/null
+++ b/npc/007-1/treasure.txt
@@ -0,0 +1,86 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Fishing and Treasure Box
+
+007-1,155,163,0 script #fishing_00710 NPC_WATER_SPLASH,{
+
+ .@regen_time=200;
+ fishing(2, CommonCarp, RustyKnife,
+ ScorpionStinger, FatesPotion, GrassCarp); // begin or continue fishing (AlchemyBlueprintA, EquipmentBlueprintA) TODO
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ .cooldown = 200;
+ .bp_chance = 2;
+ end;
+}
+
+/*
+007-1,x,y,0 duplicate(#fishing_00710) #fishing_00711 NPC_WATER_SPLASH
+007-1,x,y,0 duplicate(#fishing_00710) #fishing_00712 NPC_WATER_SPLASH
+*/
+
+// Animation code by Evol Team
+// 4144, gumi, Hal9000, Reid
+// (Random) Treasure Chest
+// Authored by Jesusalva
+// Regenerates every 6 hours
+007-1,0,0,0 script #chest_00710 NPC_CHEST,{
+
+ if (!.busy && !.empty) {
+ TreasureBox();
+
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ .dir = .dir == 0 ? 2 : 6; // closed ? opening : closing
+ .busy = true; // lock until available again
+ initnpctimer;
+ } else if (!.busy) {
+ mesc l("Someone looted this treasure box already...");
+ } else {
+ end;
+ }
+ close;
+
+OnTimer160:
+ .dir = .dir == 6 ? 0 : 4; // closing ? closed : open
+ end;
+
+OnTimer500:
+ .busy = false; // unlock
+ if (.dir == 0 || .dir == 4)
+ stopnpctimer; // stop here if the chest is closed
+ end;
+
+OnInit:
+ .busy = false;
+ .distance = 2;
+ .empty = false;
+
+OnClock0156:
+OnClock0756:
+OnClock1356:
+OnClock1956:
+ // Try to warp randomly to a walkable spot, up to 20 attempts
+ // Otherwise, it'll stay where it already is (but will close and refill).
+ .@e=0; .@x=0; .@y=0;
+ while (!checkcell(.map$, .@x, .@y, cell_chkpass))
+ {
+ if (.@e == 20) {
+ .@x=.x;
+ .@y=.y;
+ break;
+ }
+ // Remember the +20 -20 margin adjustment
+ .@x = rand(20, 185);
+ .@y = rand(20, 180);
+ ++.@e;
+ }
+ .busy=false;
+ .empty=false;
+ movenpc .name$, .@x, .@y, 0;
+ end;
+}
diff --git a/npc/007-1/tycoon.txt b/npc/007-1/tycoon.txt
new file mode 100644
index 0000000..f5a3249
--- /dev/null
+++ b/npc/007-1/tycoon.txt
@@ -0,0 +1,382 @@
+// TMW2 scripts.
+// TMW2 Authors:
+// Saulc
+// Jesusalva
+// Description:
+// Miner leader asks you to purge mine from monsters.
+// Variable:
+// MineQuest_Tycoon
+// Reference:
+// npc name from https://www.idleminertycoon.com/
+// Steps:
+// 0: Not started
+//
+// Experience Table
+// 15 16 17 18 19 20
+// 830,970,1120,1260,1420,1620,
+// 1860,1990,2240,2504,2950,3426,3934,4474,6889,7995,
+// 21 22 23 24 25 26 27 28 29 30
+//
+//
+// 1: Took ratto Quest 10 kills (lvl 15)
+// 2: Completed ratto Quest - 50 EXP 50 GP
+// 3: Awaiting next quest
+//
+// 4: Took Cave Maggot Quest 25 kills (lvl 19)
+// 5: Completed Cave Maggot Quest - 200 EXP 150 GP + Miner Knife
+// 6: Awaiting next quest
+//
+// 7: Took Cave Snake Quest 45 kills (lvl 24)
+// 8: Completed Cave Snake Quest - 1000 EXP 350 GP
+// 9: Awaiting next quest
+//
+// 10: Took Red Scorpion Quest 100 kills (lvl 29)
+// 11: Completed Red Scorpion Quest - Miner Hat
+// 12: Awaiting next quest
+//
+// 13: Took Black Scorpion Quest 200 kills (lvl 34)
+// 14: Completed Black Scorpion Quest - 12 000 EXP 5 000 GP
+// 15: Finished all trainment
+
+007-1,71,65,0 script Tycoon NPC_PLAYER,{
+ .@q=getq(MineQuest_Tycoon);
+
+ mesn;
+ mesq lg("Hello my friend!");
+ next;
+ mesq lg("Some of my miners friends died in this mine, because there are plenty of dangerous monsters.");
+ next;
+ mesq lg("Would you like to help us? Maybe you just need some information.");
+ next;
+ goto L_Menu;
+
+L_PreMenu:
+ mesn;
+ mesq l("I need your help dude!");
+ next;
+ goto L_Menu;
+
+L_Menu:
+ mesn strcharinfo(0);
+ menu
+ rif(getq(MineQuest_Tycoon) < 15, l("I am a brave adventurer! How can I help you?")), L_Purge,
+ rif(getq(MineQuest_Pickaxe) < 2, l("Can I become a miner?")), L_Miner,
+ l("What does miners do in cave?"), L_CaveMiner,
+ l("Can you give me a tip?"), L_Tip,
+ l("Are you a terranite?"), L_Terranite,
+ l("I don't care about dirty miners problem."), L_Close,
+ l("No, thanks, it's not my job!"), L_Close;
+
+L_Purge:
+ .@q=getq(MineQuest_Tycoon);
+ mes "";
+ if (BaseLevel < 15) goto L_NoLevel;
+ .@k=getq2(MineQuest_Tycoon); // Get number of kills (via getq2)
+
+ mesn;
+ if (.@q == 0) {
+ mesq l("Ok, you look strong enough. Now, let me think on an easy task for you...");
+ next;
+ mesq l("Ah! I know. Kill 10 @@. They usually are near the mine's inn.", getmonsterlink(Ratto));
+ setq MineQuest_Tycoon, 1, 0;
+ } else if (.@q == 1) {
+ mesq l("You are killing @@/10 @@. They usually are near the mine's Inn.", .@k, getmonsterlink(Ratto));
+ } else if (.@q == 2) {
+ mesq l("Good job! Here is your reward!");
+ getexp 300, 0; // 10% of level requeriment (r7.4) (53->83->300)
+ set Zeny, Zeny + 50;
+ setq MineQuest_Tycoon, 3, 0;
+ } else if (.@q == 3 && BaseLevel >= 19) {
+ mesq l("Less rattos means more food. So, this time the monsters will be a little stronger.");
+ next;
+ mesq l("Ok, now I want you to purge the cave from maggots. Kill 25 @@. They keep respawning and annoy miners team.", getmonsterlink(CaveMaggot));
+ setq MineQuest_Tycoon, 4, 0;
+ } else if (.@q == 3 && BaseLevel < 19) {
+ mesq l("You are too weak for my task, please come back later with some levels.");
+ } else if (.@q == 4) {
+ mesq l("You are killing @@/25 @@ at the cave. Good progress!", getmonsterlink(CaveMaggot));
+ } else if (.@q == 5) {
+ mesq l("Perfect! Here is your reward!");
+ getexp 800, 0; // (r7.5 158→800)
+ set Zeny, Zeny + 150;
+ getitem MinerKnife, 1;
+ setq MineQuest_Tycoon, 6, 0;
+ } else if (.@q == 6 && BaseLevel >= 24) {
+ mesq l("That was fast. Do not forget to sell their... parts... for some extra cash.");
+ next;
+ mesq l("Now, please kill 50 @@, Try to collect some lamps in the same time, they could be useful later.", getmonsterlink(CaveSnake));
+ setq MineQuest_Tycoon, 7, 0;
+ } else if (.@q == 6 && BaseLevel < 24) {
+ mesq l("You are too weak for my task, please come back later with some levels.");
+ } else if (.@q == 7) {
+ mesq l("You are killing @@/50 @@ at the cave.", .@k, getmonsterlink(CaveSnake));
+ } else if (.@q == 8) {
+ mesq l("I hope you got a Jean Shorts, but that depends on luck. Anyway, here is your reward.");
+ getexp 1150, 0; // (r7.5 1050 → 1150)
+ set Zeny, Zeny + 350;
+ setq MineQuest_Tycoon, 9, 0;
+ } else if (.@q == 9 && BaseLevel >= 29) {
+ mesq l("If you want to be a real miner friend, do this hard task for me. I will reward you with a @@.", getitemlink(MinerHat));
+ next;
+ mesq l("I'll ask you to kill 100 @@. This will prove your worth. Good luck.", getmonsterlink(RedScorpion));
+ setq MineQuest_Tycoon, 10, 0;
+ } else if (.@q == 9 && BaseLevel < 29) {
+ mesq l("You are too weak for my task, please come back later with some levels.");
+ } else if (.@q == 10) {
+ mesq l("You are killing @@/100 @@. It's still in progress.", .@k, getmonsterlink(RedScorpion));
+ } else if (.@q == 11) {
+ mesq l("Congratulations! Here is your reward, a @@!", getitemlink(MinerHat));
+ mesq l("Mining opearations advance steadly day by day with your help, thanks! Maybe one day, we find a Mana Stone here!");
+ inventoryplace MinerHat, 1;
+ getitem MinerHat, 1;
+ getexp 3800, 0; // r7.5 1365→3800
+ setq MineQuest_Tycoon, 12, 0;
+ } else if (.@q == 12 && BaseLevel >= 40) {
+ mesq l("The last task I could give you is to exterminate 200 @@. They actually stop miners progress on the mine.", getmonsterlink(BlackScorpion));
+ if (BaseLevel < 45)
+ mesc l("WARNING: This is a level 45 quest!"), 1;
+ setq MineQuest_Tycoon, 13, 0;
+ } else if (.@q == 12 && BaseLevel < 40) {
+ mesq l("You are too weak for my last task, please come back later with some levels.");
+ } else if (.@q == 13) {
+ mesq l("You are killing @@/200 @@ at the cave.", .@k, getmonsterlink(BlackScorpion));
+ if (BaseLevel < 45)
+ mesc l("WARNING: This is a level 45 quest!"), 1;
+ } else if (.@q == 14) {
+ mesq l("Wow! You did it! I do not think anyone else could have done that.");
+ mesq l("Here, take this @@ - you deserve it! And here is some gold and experience.", getitemlink(PolishedRuby));
+ inventoryplace PolishedRuby, 1;
+ getitem PolishedRuby, 1;
+ getexp 55000, 0; // About 94% from needed EXP to level up (you won't be level 45 when you finish)
+ set Zeny, Zeny + 5000;
+ setq MineQuest_Tycoon, 15, 0;
+ }
+ close;
+
+L_NoLevel:
+ mesn;
+ mesq l("Ah, yes... You see, there is just no task I can give to you right now. You are too weak to fight these monsters.");
+ next;
+ mesn;
+ mesq l("come back stronger, and I will give you a task.");
+ next;
+ goto L_Close;
+
+
+
+L_Miner:
+ if (!getq(MineQuest_Pickaxe)) {
+ mesn;
+ mesq l("Sorry pal, but only if another miner vouches for you.");
+ next;
+ if (getq(MineQuest_Tycoon) >= 9) {
+ mesn;
+ mesq l("I'm not neutral, so my vouch have no effect.");
+ next;
+ }
+ tutmes l("You should do the other miners quest first! Some, however, are harder than others. This will unlock the %s, an important item to advance as a crafter.", getitemlink(Pickaxe));
+ goto L_Menu;
+ }
+
+ // Configure Price
+ .@price=800;
+ if (getq(MineQuest_Tycoon) >= 9)
+ .@price-=200;
+ if (getq(MineQuest_Tycoon) >= 12)
+ .@price-=100;
+ if (getq(MineQuest_Tycoon) == 15)
+ .@price-=300;
+ if (getq(MineQuest_Caelum) >= 2)
+ .@price-=150;
+
+ mes "";
+ mesn;
+ mesq l("Well, I'm the miner leader, indeed. A miner need to have the full set.");
+ next;
+ mesn;
+ mesq l("The uniform would be: @@, @@, @@ and @@", getitemlink(LeatherShirt), getitemlink(MinerHat), getitemlink(MinerGloves), getitemlink(Pickaxe));
+ mesc l("But you can also wear a %s instead, no problem.", getitemlink(MinerTankTop));
+ next;
+ mesn;
+ mesq l("I can sell you the Pickaxe for @@ GP if you have and @@ the remaining equipment.", .@price, b(l("equip")));
+ if (Zeny < .@price)
+ close;
+
+ // Allow you to change
+ enable_items();
+ next;
+ disable_items();
+ // If you're in proper uniform, DO NOT ASK FOR CONFIRMATION
+ if (
+ getequipid(EQI_HEAD_TOP) == MinerHat &&
+ (getequipid(EQI_HEAD_MID) == LeatherShirt ||
+ getequipid(EQI_HEAD_MID) == MinerTankTop) &&
+ getequipid(EQI_GARMENT) == MinerGloves &&
+ Zeny >= .@price) {
+
+ inventoryplace Pickaxe, 1;
+ Zeny-=.@price;
+ getitem Pickaxe, 1;
+ setq MineQuest_Pickaxe, 2;
+ mesn;
+ mesq l("Good. You look like a real miner! Take this @@ and go mine bifs!", getitemlink(Pickaxe));
+ if (TUTORIAL) {
+ next;
+ mesc l("@@ is a two-handed weapon with very low damage and attack speed.", getitemlink(Pickaxe));
+ mesc l("While it may not be suitable for fighting, by using it against Bifs and other mineral formations, you'll be able to get more ore.");
+ next;
+ mesc l("You may even obtain ores which you wouldn't otherwise obtain normally, and the drop rate is fixed.");
+ mesc l("A Miner is a must-have for a craftsman/craftswoman, as they are in constant need of ores and coal.");
+ }
+ next;
+ }
+ goto L_Menu;
+
+
+L_CaveMiner:
+ mes "";
+ mesn;
+ mesq l("Tulimshar miners mainly try to obtain gems.");
+ next;
+ mesq l("In this cave we can easily find Coal, Iron ore, and sometimes @@.", getitemlink(Ruby)); // maybe add link for coal and iron ?
+ next;
+ goto L_Menu;
+
+L_Tip:
+ mes "";
+ mesn;
+ mesq l("If you fight Black scorpion or others dangerous monster you should use the 'hit and run' tactic.");
+ next;
+ mesn;
+ mesq l("To do this you need to disable auto move to target in 'yellow bar'.");
+ next;
+ mesn;
+ mesq l("To open yellow Bar you need to right click on your health bar and active status bar, also called yellow bar. Or you can press '8' on numeric keypad.");
+ next;
+ mesn;
+ mesq l("Now you need to fight monster with the maximum range, you can to do this do these steps in order: lock enemy, Attack, hit, move backwards of one tile, hit, ETC.");
+ next;
+ mesn;
+ mesq l("With this tip you will be able to fight strong monsters. It's on Saul's Strategy Guide Against Archwizards.");
+ next;
+ goto L_Menu;
+
+L_Terranite:
+ mes "";
+ mesn;
+ mesq l("Haha, no, I'm not! But we found traces of them.");
+ next;
+ mesn;
+ mesq l("Terranite probably mined part of this mine long time ago.");
+ next;
+ mesn;
+ mesq l("That can explain why we have difficulties to find rare gems here. They probably were already extracted.");
+ next;
+ goto L_Menu;
+
+
+L_Close:
+ close;
+
+
+ function tycoon_add_kills
+ {
+ .@qp=getq(MineQuest_Tycoon);
+ .@kp=getq2(MineQuest_Tycoon); // Get number of kills (via getq2)
+ setq MineQuest_Tycoon, .@qp, .@kp+1;
+ //message strcharinfo(0), l("Set status @@ with @@ kills", .@qp, .@kp);
+ }
+
+ function tycoon_max_kills
+ {
+ .@qp=getq(MineQuest_Tycoon);
+ setq MineQuest_Tycoon, .@qp+1, 0;
+ //message strcharinfo(0), l("End status @@", .@qp);
+ }
+
+OnKillRatto:
+ .@q=getq(MineQuest_Tycoon);
+ .@k=getq2(MineQuest_Tycoon); // Get number of kills (via getq2)
+ if (.@q == 1) {
+ if (.@k+1 >= 10) {
+ tycoon_max_kills();
+ message strcharinfo(0), l("All rattos are dead! Go back to Tycoon.");
+ } else {
+ tycoon_add_kills();
+ message strcharinfo(0), l("@@/10 Rattos", .@k+1);
+ }
+ }
+ fix_mobkill(Ratto);
+ end;
+
+OnKillCaveMaggot:
+ .@q=getq(MineQuest_Tycoon);
+ .@k=getq2(MineQuest_Tycoon); // Get number of kills (via getq2)
+ if (.@q == 4) {
+ if (.@k+1 >= 25) {
+ tycoon_max_kills();
+ message strcharinfo(0), l("All cave maggots are dead! Go back to Tycoon.");
+ } else {
+ tycoon_add_kills();
+ message strcharinfo(0), l("@@/25 Cave Maggots", .@k+1);
+ }
+ }
+ fix_mobkill(CaveMaggot);
+ end;
+OnKillCaveSnake:
+ .@q=getq(MineQuest_Tycoon);
+ .@k=getq2(MineQuest_Tycoon); // Get number of kills (via getq2)
+ if (.@q == 7) {
+ if (.@k+1 >= 50) {
+ tycoon_max_kills();
+ message strcharinfo(0), l("All cave snakes are dead! Go back to Tycoon.");
+ } else {
+ tycoon_add_kills();
+ message strcharinfo(0), l("@@/50 Cave Snakes", .@k+1);
+ }
+ }
+ fix_mobkill(CaveSnake);
+ end;
+OnKillRedScorpion:
+ .@q=getq(MineQuest_Tycoon);
+ .@k=getq2(MineQuest_Tycoon); // Get number of kills (via getq2)
+ if (.@q == 10) {
+ if (.@k+1 >= 100) {
+ tycoon_max_kills();
+ message strcharinfo(0), l("All red scorpions are dead! Go back to Tycoon.");
+ } else {
+ tycoon_add_kills();
+ message strcharinfo(0), l("@@/100 Red Scorpions", .@k+1);
+ }
+ }
+ fix_mobkill(RedScorpion);
+ end;
+OnKillBlackScorpion:
+ .@q=getq(MineQuest_Tycoon);
+ .@k=getq2(MineQuest_Tycoon); // Get number of kills (via getq2)
+ if (.@q == 13) {
+ if (.@k+1 >= 200) {
+ tycoon_max_kills();
+ message strcharinfo(0), l("All black scorpions are dead! Go back to Tycoon.");
+ } else {
+ tycoon_add_kills();
+ message strcharinfo(0), l("@@/200 Black Scorpions", .@k+1);
+ }
+ }
+ fix_mobkill(BlackScorpion);
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, MinerHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, ArtisTankTop);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, BromenalPants);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 19);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 8);
+
+ .sex = G_MALE;
+ .distance = 4;
+
+ end;
+}
diff --git a/npc/007-1/zarkor.txt b/npc/007-1/zarkor.txt
new file mode 100644
index 0000000..2eba368
--- /dev/null
+++ b/npc/007-1/zarkor.txt
@@ -0,0 +1,228 @@
+// TMW2 Script
+// Author:
+// Crazyfefe
+// Jesusalva
+// Description:
+// Dark Invocator Quest
+// Notes:
+// You'll be tempted to sell the Dark Desert Mushroom for 8'000 GP. There's a but.
+// You won't be able to finish this quest. Ok, no biggie, it was not that rewarding.
+// But you won't be able to do more Everburn Powder. And it can be required on another
+// quest. And there won't be other way to get the Powder. So DO NOT SELL IT. Think ahead.
+
+007-1,157,155,0 script Zarkor NPC_MIRAJ,{
+ .@q=getq(TulimsharQuest_DarkInvocator);
+ if (BaseLevel <= 30)
+ goto L_Weak;
+ switch (.@q) {
+ case 0:
+ goto L_Start;
+ break;
+ case 1:
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("Talk to Zitoni, the Alchemist of Candor. He may look humble, but he is the greatest alchemist of this world. I need five @@.", getitemlink(EverburnPowder));
+ close;
+ break;
+ case 2:
+ goto L_Price;
+ break;
+ case 3:
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("Talk to Zitoni, and deliver the @@. I can't give you another one, they're super rare.", getitemlink(DarkDesertMushroom));
+ close;
+ break;
+ case 4:
+ goto L_Quest;
+ break;
+ case 5:
+ mesn "Saulc, the Bug Master";
+ mesq col("What, are we really letting you do something so insane as summoning the Monster King?! Blame Saulc!!");
+ next;
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("You didn't lit every torch yet! Hurry up!!");
+ close;
+ break;
+ case 6:
+ if (getq2(TulimsharQuest_DarkInvocator) == 0) {
+ setq TulimsharQuest_DarkInvocator, 4;
+ goto L_Quest;
+ }
+ goto L_Ritual;
+ break;
+
+ }
+ mesn;
+ mesq l("One day... One day! ONE DAY I'LL GET REVENGE ON YOU, MONSTER KING!");
+ close;
+
+L_Weak:
+ mesn;
+ mesq l("Stay out of harm way. Nothing to see here. Stay away, pathetically weak %s.", get_race());
+ close;
+
+L_Start:
+ mesn;
+ mesq l("Hey... You... Come here.");
+ next;
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("I am Zarkor, the Dark Summoner. I want to do a dark summoning ritual, but there are strings attached.");
+ next;
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("I need to buy your silence. I'll reward you greatly when I'm done. But first, I need to know if you'll be loyal to me.");
+ next;
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("To prove me your faith, bring me 1 @@ or 1 @@.",getitemlink(Ruby),getitemlink(Topaz));
+ mesq l("Such precious gem, is not something you would give for free, unless you are interested on my... rituals.");
+ next;
+ mesn strcharinfo(0);
+ select
+ l("Indeed. Sorry. I'm not giving you anything."),
+ rif(countitem(Ruby) >= 1, l("I swear silence, over this bloody ruby.")),
+ rif(countitem(Topaz) >= 1, l("I swear silence, over this shining topaz."));
+
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesn;
+ mesq l("Very well. This conversation never happened.");
+ next;
+ mesn;
+ mesq l("But if you regret this choice later... You know where you can find me.");
+ close;
+ break;
+ case 2:
+ delitem Ruby, 1; // Acc: 712 GP
+ setq TulimsharQuest_DarkInvocator, 1;
+ break;
+ case 3:
+ delitem Topaz, 1; // Acc: 825 GP
+ setq TulimsharQuest_DarkInvocator, 1;
+ break;
+ }
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("Very well. I shall now share with you the details of this rite.");
+ next;
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("I will summon the Monster King. Don't ask me my reasons. I know this will put Tulimshar in danger. But I will still do it.");
+ next;
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("For that, I need to light five torches. The pentagram, the magic, and all the else are with me. Just light the torches.");
+ next;
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("Talk to Zitoni, the Alchemist of Candor. He may look humble, but he is the greatest alchemist of this world. I need five @@.", getitemlink(EverburnPowder));
+ close;
+
+L_Price:
+ mesn strcharinfo(0);
+ mesq l("Zitoni refused to make the Powder.");
+ next;
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("I thought he would. After all, Everburn Powder... is not a mere powder.");
+ next;
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("Well, you gave me the gems, so I trust you. Here, take this @@.", getitemlink(DarkDesertMushroom));
+ next;
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("Take much care with it. It is a very, very rare drop from a rare monster from a difficult, high level area.");
+ next;
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("Deliver it to Zitoni on my name. He'll trust it. The relation between me and Zitoni... goes way back.");
+ getitem DarkDesertMushroom, 1;
+ setq TulimsharQuest_DarkInvocator, 3;
+ close;
+
+L_Quest:
+ if (countitem(EverburnPowder) < 5) {
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("This is not enough, I need 5 @@ to perform the rite. Go talk with Zitoni.", getitemlink(EverburnPowder));
+ close;
+ }
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("Good, good, you have enough powder. Now I need you to lit all five torches with them.");
+ next;
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("Once you lit one of them, monsters will pour out, so take care to don't die.");
+ next;
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("If you die, you'll have to begin again. And there is the experience penalty, too.");
+ next;
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("Good luck, because you'll need it. Talk to me once all of them are lit, and I'll SUMMON DAH MONSTER KING.");
+ setq TulimsharQuest_DarkInvocator, 5;
+ close;
+
+L_Ritual:
+ percentheal 100, 0;
+ specialeffect(56);
+ mesc l("Zarkor spills many fluids on the lake, with much concentration.");
+ next;
+ specialeffect(56);
+ mesn "Zarkor, the Dark Summoner";
+ mesc l("Zarkor starts a weird chant.");
+ next;
+ specialeffect(52);
+ killmonster("007-1", "Zarkor::OnMonster");
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("MONSTER KING, APPEAR TO ME!");
+ next;
+ mesn "MONSTER KING";
+ mesc l("...Foolish human... Do you really think I will attend your summon?"), 1;
+ next;
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("But... But! Where are you?! That summon ritual is equivalent to GM magic!");
+ next;
+ mesn "MONSTER KING";
+ mesc l("And who do you think that created GM Magic in first place, inexperienced kid?"), 1;
+ next;
+ mesn "Zarkor, the Dark Summoner";
+ mesq l("You... You killed my father during Nivalis siege! I'll make you pay for that!!");
+ next;
+ mesn "MONSTER KING";
+ mesc l("You humans are so greedy... Just like me. I have more important things to do, other than waste time with you."), 1;
+ next;
+ mesn "MONSTER KING";
+ mesc l("Zarkor, fell a small taste of my power. That is nothing. If you can't handle that, you're not even near my lowest lieutenant."), 1;
+ mesc l("And you got help from a kid, Zarkor? Lucky is that kid, that I don't have time to deal with them. Farewell."), 1;
+ next;
+ specialeffect(312);
+ mesn "Zarkor, the Dark Summoner";
+ mes l("GAAAAAAAAAAAAAAAAHHHHHHH!");
+ next;
+ goto L_Finish;
+
+
+
+L_Finish:
+ setq TulimsharQuest_DarkInvocator, 7;
+ // These values were taken from Experience table, and are magic numbers
+ getexp 7995, 412; // 100% for levelset (30,11)
+ // Pay roughly what you spent
+ // Powder + Trips + Gems + Sulf + Iron + Ash + Profit = Money
+ // (3000*5 + 4*500G + 1000 + 5*84 + 5*66 + 5*80 + 850) = 20.000
+ Zeny=Zeny+20000;
+ getitem ZarkorScroll, 1;
+
+ mesn;
+ mesq l("*Ugh* Thanks for your help. Here... Take this, as promised.");
+ next;
+ mesn strcharinfo(0);
+ mesq l("Are you feeling well? That was a pretty powerful attack!");
+ next;
+ mesn;
+ mesq lg("Do not worry with me, youngling... I'll be fine.");
+ close;
+
+OnMonster:
+ end;
+
+OnPCDieEvent:
+ if (getq(TulimsharQuest_DarkInvocator) == 5 || getq(TulimsharQuest_DarkInvocator) == 6)
+ setq2 TulimsharQuest_DarkInvocator, 0;
+ end;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 6;
+ end;
+
+}
diff --git a/npc/007-2/_config.txt b/npc/007-2/_config.txt
new file mode 100644
index 0000000..bd7f183
--- /dev/null
+++ b/npc/007-2/_config.txt
@@ -0,0 +1,25 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 007-2: Tulimshar Volcano Underground conf
+
+007-2,48,32,0 script #007-2_48_32 NPC_CHEST,{
+ TreasureBox();
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ close;
+OnInit:
+ .distance=2;
+ end;
+}
+
+007-2,65,66,0 script #007-2_65_66 NPC_HIDDEN,3,0,{
+ end;
+OnTouch:
+ doevent "#DungeonCore::OnHeat";
+ end;
+}
+
+007-2,54,26,0 script #007-2_54_26 NPC_HIDDEN,0,1,{
+ end;
+OnTouch:
+ doevent "#DungeonCore::OnHeat";
+ end;
+}
diff --git a/npc/007-2/_import.txt b/npc/007-2/_import.txt
new file mode 100644
index 0000000..33fc5a2
--- /dev/null
+++ b/npc/007-2/_import.txt
@@ -0,0 +1,5 @@
+// Map 007-2: Tulimshar Volcano Underground
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/007-2/_config.txt",
+"npc/007-2/_mobs.txt",
+"npc/007-2/_warps.txt",
diff --git a/npc/007-2/_mobs.txt b/npc/007-2/_mobs.txt
new file mode 100644
index 0000000..ef8ee33
--- /dev/null
+++ b/npc/007-2/_mobs.txt
@@ -0,0 +1,10 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 007-2: Tulimshar Volcano Underground mobs
+007-2,49,78,48,19 monster Red Scorpion 1072,12,25000,25000,Tycoon::OnKillRedScorpion
+007-2,47,76,48,19 monster Fire Goblin 1067,12,25000,25000
+007-2,51,75,48,19 monster Red Slime 1092,20,25000,25000
+007-2,45,73,48,19 monster Angry Red Scorpion 1130,12,25000,25000
+007-2,45,37,48,19 monster Lava Slime 1097,16,25000,25000
+007-2,40,33,46,19 monster Red Mushroom 1042,6,25000,25000
+007-2,36,31,44,15 monster Fire Fairy 1183,12,25000,25000
+007-2,49,23,31,10 monster Red Slime Mother 1240,3,35000,25000
diff --git a/npc/007-2/_warps.txt b/npc/007-2/_warps.txt
new file mode 100644
index 0000000..3817f27
--- /dev/null
+++ b/npc/007-2/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 007-2: Tulimshar Volcano Underground warps
+007-2,65,65,0 warp #007-2_65_65 1,0,007-1,98,189
diff --git a/npc/008-0/_import.txt b/npc/008-0/_import.txt
new file mode 100644
index 0000000..1ff3fcc
--- /dev/null
+++ b/npc/008-0/_import.txt
@@ -0,0 +1,6 @@
+// Map 008-0: Party Dungeon Waiting Hall
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/008-0/_mobs.txt",
+"npc/008-0/_warps.txt",
+"npc/008-0/mapflags.txt",
+"npc/008-0/master.txt",
diff --git a/npc/008-0/_mobs.txt b/npc/008-0/_mobs.txt
new file mode 100644
index 0000000..a0d03ce
--- /dev/null
+++ b/npc/008-0/_mobs.txt
@@ -0,0 +1,7 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 008-0: Party Dungeon Waiting Hall mobs
+008-0,49,49,28,28 monster Ratto 1005,6,35000,300000
+008-0,50,47,28,28 monster Cave Bat 1039,4,35000,300000
+008-0,48,48,28,28 monster Silk Worm 1034,6,35000,300000
+008-0,49,63,29,16 monster Red Scorpion 1072,3,35000,300000
+008-0,49,32,29,14 monster Scorpion 1071,3,35000,300000
diff --git a/npc/008-0/_warps.txt b/npc/008-0/_warps.txt
new file mode 100644
index 0000000..b14f6a7
--- /dev/null
+++ b/npc/008-0/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 008-0: Party Dungeon Waiting Hall warps
+008-0,41,22,0 warp #008-0_41_22 0,0,003-1-1,44,142
diff --git a/npc/008-0/mapflags.txt b/npc/008-0/mapflags.txt
new file mode 100644
index 0000000..e292f7e
--- /dev/null
+++ b/npc/008-0/mapflags.txt
@@ -0,0 +1,3 @@
+008-1 mapflag zone MMO
+008-2 mapflag zone MMO
+008-2 mapflag pvp
diff --git a/npc/008-0/master.txt b/npc/008-0/master.txt
new file mode 100644
index 0000000..2158e53
--- /dev/null
+++ b/npc/008-0/master.txt
@@ -0,0 +1,183 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// This NPC is a work on progress. It measures all players equal.
+// Controls the whole dungeon feature.
+
+008-0,47,63,0 script Party Master NPC_BRGUARD_SWORD,{
+ if (!is_staff())
+ goto L_TODO; // TODO
+
+ mesn;
+ if (getcharid(1) > 0) {
+ mesq l("You're in the \"@@\" party, very good!", getpartyname(getcharid(1)));
+ next;
+ } else {
+ mesq l("I protect a dungeon for PARTIES. You're not on a party, get moving.");
+ close;
+ }
+
+ mesn;
+ mesq l("I protect a very dangerous dungeon, and it is so dangerous, that only parties can go in.");
+ next;
+ if (strcharinfo(0) != getpartyleader(getcharid(1))) goto L_NotYou;
+ mesn;
+ mesq l("There are five floors, and they're all very dangerous. But there are riches to be found.");
+ next;
+ mesn;
+ mesq l("You also can't stay there forever! You will have about 20 minutes to entirely clear it out and defeat the last boss.");
+ if (!party_expon(getcharid(1)))
+ mesc l("Note: Your party is currently not sharing experience, and will suffer a time penalty. Your time will be halved."), 6;
+ next;
+ // Get info about your party, and backup it
+ getpartymember(getcharid(1));
+ .@count = $@partymembercount;
+ copyarray(.@name$[0], $@partymembername$[0], $@partymembercount);
+ copyarray(.@aid[0], $@partymemberaid[0], $@partymembercount);
+ copyarray(.@cid[0], $@partymembercid[0], $@partymembercount);
+ .@count_online=0;
+
+ if (.@count < 3 && !$@GM_OVERRIDE) goto L_TooSmall;
+ mesn;
+ mesc l("Are you and your party ready?"), 1;
+ if (askyesno() != ASK_YES)
+ close;
+
+ // Loop though party to see if you can start
+ for (.@i = 0; .@i < .@count; ++.@i) {
+ // Online?
+ if (isloggedin(.@aid[.@i], .@cid[.@i])) {
+ getmapxy(.@m$, .@x, .@y, 0, .@name$[.@i]);
+ // Here?
+ if (.@m$ == .map$)
+ .@count_online++;
+ }
+ }
+
+ // How many are logged in and here?
+ if (.@count_online < 3 && !$@GM_OVERRIDE) goto L_TooSmall;
+
+ // TODO: Query if exp sharing is enabled
+ // TODO: Instance for party
+
+ // Warp everyone and add timers
+ partytimer("008-0", 1000, "Party Master::OnStart", getcharid(1));
+ warpparty("008-1", 176, 20, getcharid(1), "008-0", true);
+
+ // One bonus time
+ monster("008-1", 90, 69, "Time Bonus", Mouboo, 1, "Party Master::OnMobTime");
+
+ // Four Chests
+ monster("008-1", 38, 104, "Mysterious Chest", any(BronzeChest, BronzeMimic), 1);
+ monster("008-1", 41, 104, "Mysterious Chest", any(BronzeChest, BronzeMimic), 1);
+ monster("008-1", 44, 104, "Mysterious Chest", any(BronzeChest, BronzeMimic), 1);
+ monster("008-1", 47, 104, "Mysterious Chest", any(BronzeChest, BronzeMimic), 1);
+
+ // We still need the SummonBoss NPC and etc.
+ close;
+
+
+
+
+
+
+
+
+
+L_TODO:
+ mesn;
+ mesq l("Jesusalva still have this closed because the traps are broken... %%n But we shall open soon. %%G");
+ next;
+ mesn;
+ mesq l("It's not hard to repair, but nobody is bothering Jesusalva on #world as of late. %%n");
+ mesq l("Because this, the national budget is going to other silly, under-rewarding, minor things...");
+ mesc l("If you think this should be a priority, please ask Jesusalva."), 1;
+ close;
+
+// Only the party leader can start this. But you can rejoin, as long map leader is on 008-x
+L_NotYou:
+ getmapxy(.@m$, .@x, .@y, 0, getpartyleader(getcharid(1)));
+ if (.@m$ ~= "008-*" &&
+ .@m$ != "008-0" &&
+ BaseLevel > 0 &&
+ @pmloop) {
+ mesn;
+ mesq l("@@, your party leader, is inside, I'm not sure where.", getpartyleader(getcharid(1)));
+ mesc l("Enter dungeons? You won't be able to join anymore when he dies."), 1;
+ if (askyesno() != ASK_YES)
+ close;
+ // Double check
+ getmapxy(.@m$, .@x, .@y, 0, getpartyleader(getcharid(1)));
+ if (.@m$ ~= "008-*" && .@m$ != "008-0" && getcharid(1) > 0)
+ warp "008-1", 176, 20;
+ } else {
+ mesn;
+ mesq l("If you bring me @@, your party leader, I can let you in.", getpartyleader(getcharid(1)));
+ }
+ close;
+
+// Minimum 3 players
+L_TooSmall:
+ mesn;
+ mesq l("However, I need to see at least three volunteers here, to allow you in.");
+ close;
+
+
+
+// Main Loop
+OnStart:
+ @pmloop=0;
+OnLoop:
+ @pmloop+=1;
+ .@lost="";
+
+ // Anti-Crazyfefeâ„¢ Alpha System
+ if (getcharid(1) <= 0) {
+ // Left the party!
+ .@lost=l("You are not a member of a party anymore.");
+ }
+ if (!party_expon(getcharid(1))) {
+ // Party exp sharing disabled means time penalty.
+ @pmloop+=1;
+ }
+
+ // Check if party master still alive and in caves.
+ if (getmapxy(.@m$, .@x, .@y, 0, getpartyleader(getcharid(1))) <= 0)
+ .@lost=l("Party leader is gone.");
+ else if (!(.@m$ ~= "008-*"))
+ .@lost=l("Party leader is not on dungeons.");
+
+ // Add new cycle or finish.
+ if (@pmloop < 1200 && .@lost == "")
+ addtimer(1000, "Party Master::OnLoop");
+ else
+ .@lost=l("You ran out of time...");
+
+ // See if it is time to finish
+ if (.@lost != "") {
+ @pmloop=0;
+ warp "008-0", 47, 64;
+ dispbottom str(.@lost);
+ }
+ end;
+
+OnMobTime:
+ getmapxy(.@m$, .@x, .@y, 0);
+ areatimer(.@m$, .@x-4, .@y-4, .@x+4, .@y+4, 10, "Party Master::OnAddTime");
+ end;
+
+OnAddTime:
+ @pmloop=60;
+ end;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+
+ // Won't be finished until later later laterâ„¢
+ if (!debug)
+ disablenpc .name$;
+ end;
+}
+
diff --git a/npc/008-1/_import.txt b/npc/008-1/_import.txt
new file mode 100644
index 0000000..ecc43a5
--- /dev/null
+++ b/npc/008-1/_import.txt
@@ -0,0 +1,5 @@
+// Map 008-1: 1st Floor - Party Dungeon
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/008-1/_mobs.txt",
+"npc/008-1/_warps.txt",
+"npc/008-1/master.txt",
diff --git a/npc/008-1/_mobs.txt b/npc/008-1/_mobs.txt
new file mode 100644
index 0000000..e65aade
--- /dev/null
+++ b/npc/008-1/_mobs.txt
@@ -0,0 +1,23 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 008-1: 1st Floor - Party Dungeon mobs
+008-1,155,138,15,15 monster Ratto 1005,2,15000,15000
+008-1,34,113,28,16 monster Ratto 1005,2,15000,15000
+008-1,52,147,42,15 monster Angry Scorpion 1131,4,15000,25000
+008-1,118,144,22,17 monster Pinkie 1132,3,15000,25000
+008-1,72,57,49,34 monster House Maggot 1084,14,15000,25000
+008-1,165,75,16,13 monster Slime Blast 1090,2,15000,25000
+008-1,37,54,29,26 monster Red Scorpion 1072,2,15000,25000
+008-1,132,108,42,15 monster Fire Goblin 1067,4,15000,25000
+008-1,157,158,17,15 monster Mana Ghost 1068,1,15000,25000
+008-1,154,46,29,15 monster Mineral Bif 1058,2,15000,45000
+008-1,147,143,29,27 monster Squirrel 1032,4,15000,25000
+008-1,146,44,37,30 monster Maggot 1030,8,15000,25000
+008-1,134,96,41,18 monster Candor Scorpion 1073,6,15000,25000
+008-1,66,41,42,15 monster Bat 1039,5,15000,25000
+008-1,60,78,35,22 monster Duck 1029,4,15000,25000
+008-1,52,133,37,31 monster Cave Maggot 1027,10,15000,25000
+008-1,103,144,12,15 monster Little Blub 1007,3,15000,25000
+008-1,99,54,79,33 monster Piou 1002,8,15000,25000
+008-1,100,108,79,21 monster Piousse 1003,6,15000,25000
+008-1,59,149,39,19 monster Plushroom Field 1011,2,15000,25000
+008-1,139,150,39,19 monster Chagashroom Field 1128,2,15000,25000
diff --git a/npc/008-1/_warps.txt b/npc/008-1/_warps.txt
new file mode 100644
index 0000000..9ed2049
--- /dev/null
+++ b/npc/008-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 008-1: 1st Floor - Party Dungeon warps
+008-1,176,19,0 warp #008-1_176_19 0,0,008-0,47,64
diff --git a/npc/008-1/master.txt b/npc/008-1/master.txt
new file mode 100644
index 0000000..51a1994
--- /dev/null
+++ b/npc/008-1/master.txt
@@ -0,0 +1,150 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// This NPC is a work on progress. It measures all players equal.
+// Controls the first floor, but not many things to control.
+
+008-1,48,117,0 script #FPDM12 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ // IMPORTANT: Prevent party master from returning here
+ getmapxy(.@m$, .@x, .@y, 0, getpartyleader(getcharid(1)));
+ if (.@m$ ~= "008-*" &&
+ .@m$ != "008-0" &&
+ .@m$ != "008-1" &&
+ BaseLevel > 20 &&
+ mobcount("008-1", "First Dungeon Master::OnBossDeath") == 0 &&
+ @pmloop) {
+ dispbottom l("Go and follow @@, your party leader!", getpartyleader(getcharid(1)));
+ warp "008-2", 135, 20;
+ } else if (BaseLevel > 20) {
+ dispbottom l("If I bring @@, my party leader, and the boss is defeated, I can go you in.", getpartyleader(getcharid(1)));
+ } else {
+ mesc l("I cannot pass, because I am only level @@.", BaseLevel);
+ mesc l("Newbies can only get past their limits once, with their party leader level help! If they die, they can't rejoin!");
+ // I thought it would be better to allow first passage based on leader level.
+ // Parties are not meant to be permanent, and this helps a lot.
+ }
+ end;
+}
+
+008-1,48,117,0 script First Dungeon Master NPC_BRGUARD_SWORD,{
+ // Double-check, you should have been flung out long ago.
+ if (getcharid(1) <= 0 || @pmloop <= 0) {
+ mesn;
+ mesq l("Something seems wrong.");
+ warp "SavePoint",0,0;
+ close;
+ }
+ if (mobcount("008-1", "First Dungeon Master::OnBossDeath") > 0) {
+ npctalk3 l("What are you doing? Fight!");
+ end;
+ }
+
+ mesn;
+ mesq l("Compliments reaching this far, @@ from the @@ party!", strcharinfo(0), getpartyname(getcharid(1)));
+ next;
+
+ mesn;
+ mesq l("I can summon the BOSS for the level 0~20 area.");
+ next;
+ if (strcharinfo(0) != getpartyleader(getcharid(1))) goto L_NotYou;
+ if (BaseLevel < 20) goto L_TooWeak;
+ mesn;
+ mesq l("He is strong though, so keep your party together!");
+ next;
+ // Get info about your party, and backup it
+ getpartymember(getcharid(1));
+ .@count = $@partymembercount;
+ copyarray(.@name$[0], $@partymembername$[0], $@partymembercount);
+ copyarray(.@aid[0], $@partymemberaid[0], $@partymembercount);
+ copyarray(.@cid[0], $@partymembercid[0], $@partymembercount);
+ .@count_online=0;
+
+ if (.@count < 3 && !$@GM_OVERRIDE) goto L_TooSmall;
+ mesn;
+ mesc l("Are you and your party ready?"), 1;
+ if (askyesno() != ASK_YES)
+ close;
+
+ // Loop though party to see if you can start
+ for (.@i = 0; .@i < .@count; ++.@i) {
+ // Online?
+ if (isloggedin(.@aid[.@i], .@cid[.@i])) {
+ getmapxy(.@m$, .@x, .@y, 0, .@name$[.@i]);
+ // Here?
+ if (.@m$ == .map$)
+ .@count_online++;
+ }
+ }
+
+ // How many are logged in and here?
+ if (.@count_online < 3 && !$@GM_OVERRIDE) goto L_TooSmall;
+
+ // TODO: Query if exp sharing is enabled
+ // TODO: Instance for party
+ // TODO: Second Floor
+ npctalk l("@@: Fight!", getpartyname(getcharid(1)));
+ monster "008-1", rand(37,54), rand(109,122), "First Dungeon Boss", Sarracenus, 1, "First Dungeon Master::OnBossDeath";
+ close;
+
+
+
+
+
+
+
+
+
+
+// Only the party leader can start this.
+L_NotYou:
+ mesn;
+ dispbottom l("Go and fetch @@, the party leader!", getpartyleader(getcharid(1)));
+ close;
+
+// Minimum 3 players
+L_TooSmall:
+ mesn;
+ mesq l("However, I need to see at least three volunteers here, to allow you in.");
+ close;
+
+// Must have level to face boss
+L_TooWeak:
+ mesn;
+ mesq l("This is the end for your party, as the leader doesn't have sufficient level.");
+ close;
+
+// Second Floor special monsters
+OnReward:
+ Zeny=Zeny+200;
+ getexp 200, 20;
+ dispbottom l("Reward: 200 GP, 200 XP");
+
+// Boss death causes 008-2 to be set
+OnBossDeath:
+ // Give every party member in map a reward
+ partytimer("008-1", 200, "First Dungeon Master::OnReward", getcharid(1));
+
+ // Warp everyone and add timers
+ warpparty("008-2", 135, 20, getcharid(1), "008-1", true);
+
+ // Bonus Monsters
+ monster("008-1", 104, 238, "Time Bonus", NightScorpion, 1, "Party Master::OnMobTime");
+ monster("008-1", 85, 117, "Time Bonus", BlackScorpion, 1, "Party Master::OnMobTime");
+
+ // Five Chests
+ monster("008-2", 70, 239, "Mysterious Chest", any(BronzeChest, BronzeMimic), 1);
+ monster("008-2", 70, 241, "Mysterious Chest", any(BronzeChest, BronzeMimic), 1);
+ monster("008-2", 70, 243, "Mysterious Chest", any(BronzeChest, BronzeMimic, SilverChest, SilverMimic), 1);
+ monster("008-2", 70, 245, "Mysterious Chest", any(BronzeChest, BronzeMimic), 1);
+ monster("008-2", 70, 247, "Mysterious Chest", any(BronzeChest, BronzeMimic), 1);
+ end;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/008-2/_config.txt b/npc/008-2/_config.txt
new file mode 100644
index 0000000..01efa14
--- /dev/null
+++ b/npc/008-2/_config.txt
@@ -0,0 +1,127 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 008-2: 2nd Floor - Party Dungeon conf
+
+008-2,80,208,0 script #008-2_80_208 NPC_HIDDEN,{
+ end;
+OnDisable:
+ delcells "008-2_80_208"; end;
+OnEnable:
+OnInit:
+ setcells "008-2", 80, 208, 88, 208, 1, "008-2_80_208";
+}
+
+008-2,106,237,0 script #008-2_106_237 NPC_SWITCH_ONLINE,{
+ if (getnpcclass() == NPC_SWITCH_OFFLINE)
+ end;
+ callfunc "massprovoke", 12;
+ setnpcdisplay "#008-2_106_237", NPC_SWITCH_OFFLINE;
+ end;
+OnInit:
+ .distance=2;
+}
+
+008-2,66,143,0 script #008-2_66_143 NPC_SWITCH_OFFLINE,{
+ if (getnpcclass() == NPC_SWITCH_ONLINE)
+ end;
+ callfunc "grenade", 12, 10000;
+ setnpcdisplay "#008-2_66_143", NPC_SWITCH_ONLINE;
+ end;
+OnInit:
+ .distance=2;
+}
+
+008-2,111,166,0 script #008-2_111_166 NPC_SWITCH_ONLINE,{
+ if (getnpcclass() == NPC_SWITCH_OFFLINE)
+ end;
+ callfunc "ALCReset";
+ setnpcdisplay "#008-2_111_166", NPC_SWITCH_OFFLINE;
+ end;
+OnInit:
+ .distance=2;
+}
+
+008-2,135,21,0 script #008-2_135_21 NPC_HIDDEN,2,1,{
+ end;
+OnTouch:
+ callfunc "massprovoke", 12;
+ end;
+}
+
+008-2,54,237,0 script #008-2_54_237 NPC_HIDDEN,2,1,{
+ end;
+OnTouch:
+ doevent "#008-2_80_208::OnDisable";
+ end;
+}
+
+008-2,72,247,0 script #008-2_72_247 NPC_TRAP_ONLINE,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+OnTouch:
+OnTouchNPC:
+ IronTrap(200, 0, 1);
+ end;
+}
+
+008-2,87,240,0 script #008-2_87_240 NPC_TRAP_ONLINE,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+OnTouch:
+OnTouchNPC:
+ IronTrap(200, 0, 1);
+ end;
+}
+
+008-2,46,211,0 script #008-2_46_211 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+OnTouch:
+OnTouchNPC:
+ IronTrap(200, 10, 2);
+ end;
+OnTimer10000:
+ stopnpctimer; setnpctimer 0; setnpcdisplay "#008-2_46_211", NPC_TRAP; end;
+}
+
+008-2,85,117,0 script #008-2_85_117 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+OnTouch:
+OnTouchNPC:
+ IronTrap(400, 15, 3);
+ end;
+OnTimer15000:
+ stopnpctimer; setnpctimer 0; setnpcdisplay "#008-2_85_117", NPC_TRAP; end;
+}
+
+008-2,59,222,0 script #008-2_59_222 NPC_HIDDEN,{
+ end;
+OnDisable:
+ delcells "008-2_59_222"; end;
+OnEnable:
+OnInit:
+ setcells "008-2", 59, 222, 67, 222, 1, "008-2_59_222";
+}
+
+008-2,32,99,0 script #008-2_32_99 NPC_SWITCH_ONLINE,{
+ if (getnpcclass() == NPC_SWITCH_OFFLINE)
+ end;
+ doevent "#008-2_59_222::OnDisable";
+ setnpcdisplay "#008-2_32_99", NPC_SWITCH_OFFLINE;
+ end;
+OnInit:
+ .distance=2;
+}
+
+008-2,87,221,0 script #008-2_87_221 NPC_CHEST,{
+ TreasureBox();
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ close;
+OnInit:
+ .distance=3;
+ end;
+}
diff --git a/npc/008-2/_import.txt b/npc/008-2/_import.txt
new file mode 100644
index 0000000..12a0692
--- /dev/null
+++ b/npc/008-2/_import.txt
@@ -0,0 +1,6 @@
+// Map 008-2: 2nd Floor - Party Dungeon
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/008-2/_config.txt",
+"npc/008-2/_mobs.txt",
+"npc/008-2/_warps.txt",
+"npc/008-2/master.txt",
diff --git a/npc/008-2/_mobs.txt b/npc/008-2/_mobs.txt
new file mode 100644
index 0000000..db96f19
--- /dev/null
+++ b/npc/008-2/_mobs.txt
@@ -0,0 +1,28 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 008-2: 2nd Floor - Party Dungeon mobs
+008-2,79,244,15,12 monster Slime Blast 1090,2,15000,15000
+008-2,47,200,21,39 monster Bandit 1024,4,25000,25000
+008-2,106,203,33,26 monster Mouboo 1023,4,25000,25000
+008-2,84,35,61,19 monster Cave Snake 1035,7,25000,25000
+008-2,60,74,35,18 monster Giant Maggot 1031,4,25000,25000
+008-2,86,107,8,14 monster Moggun 1070,2,25000,25000
+008-2,48,126,28,33 monster Mana Bug 1075,6,25000,25000
+008-2,119,244,23,13 monster Copper Slime 1088,1,25000,25000
+008-2,117,84,21,27 monster Red Slime 1092,6,25000,25000
+008-2,122,157,21,17 monster Yellow Slime 1091,3,25000,25000
+008-2,110,125,21,14 monster Lava Slime 1097,2,25000,25000
+008-2,89,158,9,17 monster Snake 1122,2,25000,25000
+008-2,37,63,21,39 monster Bandit 1024,4,25000,25000
+008-2,119,93,21,77 monster Desert Log Head 1127,6,25000,25000
+008-2,117,213,21,39 monster Desert Bandit 1124,3,25000,25000
+008-2,30,197,17,24 monster Sarracenus 1125,2,25000,25000
+008-2,88,70,10,48 monster Angry Red Scorpion 1130,6,25000,25000
+008-2,67,87,10,60 monster Sea Slime 1093,7,25000,25000
+008-2,33,138,21,32 monster Robin Bandit 1153,1,25000,25000
+008-2,59,204,11,34 monster Candied Slime 1089,4,25000,25000
+008-2,86,172,10,54 monster Green Slime 1085,6,25000,25000
+008-2,81,61,73,39 monster Plushroom Field 1011,4,25000,45000
+008-2,81,242,21,15 monster Piou 1002,3,25000,15000
+008-2,81,117,73,39 monster Chagashroom Field 1128,4,25000,45000
+008-2,40,200,32,39 monster Big Ruby Bif 1100,1,35000,45000
+008-2,103,200,29,39 monster Sapphire Bif 1114,2,25000,45000
diff --git a/npc/008-2/_warps.txt b/npc/008-2/_warps.txt
new file mode 100644
index 0000000..adea286
--- /dev/null
+++ b/npc/008-2/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 008-2: 2nd Floor - Party Dungeon warps
+008-2,80,255,0 warp #008-2_80_255 0,0,008-2,54,237
diff --git a/npc/008-2/master.txt b/npc/008-2/master.txt
new file mode 100644
index 0000000..5577e40
--- /dev/null
+++ b/npc/008-2/master.txt
@@ -0,0 +1,172 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// This NPC is a work on progress. It measures all players equal.
+// Controls the second floor
+
+// 21: From 2 to 1
+008-2,135,19,0 script #FPDM21 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ // Party leader cannot retreat
+ if (strcharinfo(0) == getpartyleader(getcharid(1)))
+ dispbottom l("As the leader of your party, you can only go forward.");
+ else
+ warp "008-1", 43, 104;
+ end;
+}
+
+008-2,135,19,0 script #FPDM23 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ end;
+ // IMPORTANT: Prevent party master from returning here
+ getmapxy(.@m$, .@x, .@y, 0, getpartyleader(getcharid(1)));
+ if (.@m$ ~= "008-*" &&
+ .@m$ != "008-0" &&
+ .@m$ != "008-1" &&
+ .@m$ != "008-2" &&
+ BaseLevel > 40 &&
+ mobcount("008-2", "Second Dungeon Master::OnBossDeath") == 0 &&
+ @pmloop) {
+ dispbottom l("Go and follow @@, your party leader!", getpartyleader(getcharid(1)));
+ warp "008-1", 176, 20; // 008-2
+ } else if (BaseLevel > 40) {
+ dispbottom l("If I bring @@, my party leader, and the boss is defeated, I can go you in.", getpartyleader(getcharid(1)));
+ } else {
+ mesc l("I cannot pass, because I am only level @@.", BaseLevel);
+ mesc l("Newbies can only get past their limits once, with their party leader level help! If they die, they can't rejoin!");
+ // I thought it would be better this way. There was at least three different ways to prevent that.
+ }
+ end;
+}
+
+008-2,75,240,0 script Second Dungeon Master NPC_BRGUARD_SWORD,{
+ // Double-check, you should have been flung out long ago.
+ if (getcharid(1) <= 0 || @pmloop <= 0) {
+ mesn;
+ mesq l("Something seems wrong.");
+ warp "SavePoint",0,0;
+ close;
+ }
+ if (mobcount("008-2", "Second Dungeon Master::OnBossDeath") > 0) {
+ npctalk3 l("What are you doing? Fight!");
+ end;
+ }
+
+ mesn;
+ mesq l("Compliments reaching this far, @@ from the @@ party!", strcharinfo(0), getpartyname(getcharid(1)));
+ next;
+
+ mesn;
+ mesq l("I can summon the BOSS for the level 21~40 area.");
+ next;
+ if (strcharinfo(0) != getpartyleader(getcharid(1))) goto L_NotYou;
+ if (BaseLevel < 40) goto L_TooWeak;
+ mesn;
+ mesq l("He is strong though, so keep your party together!");
+ next;
+ // Get info about your party, and backup it
+ getpartymember(getcharid(1));
+ .@count = $@partymembercount;
+ copyarray(.@name$[0], $@partymembername$[0], $@partymembercount);
+ copyarray(.@aid[0], $@partymemberaid[0], $@partymembercount);
+ copyarray(.@cid[0], $@partymembercid[0], $@partymembercount);
+ .@count_online=0;
+
+ if (.@count < 3 && !$@GM_OVERRIDE) goto L_TooSmall;
+ mesn;
+ mesc l("Are you and your party ready?"), 1;
+ if (askyesno() != ASK_YES)
+ close;
+
+ // Loop though party to see if you can start
+ for (.@i = 0; .@i < .@count; ++.@i) {
+ // Online?
+ if (isloggedin(.@aid[.@i], .@cid[.@i])) {
+ getmapxy(.@m$, .@x, .@y, 0, .@name$[.@i]);
+ // Here?
+ if (.@m$ == .map$)
+ .@count_online++;
+ }
+ }
+
+ // How many are logged in and here?
+ if (.@count_online < 3 && !$@GM_OVERRIDE) goto L_TooSmall;
+
+ // TODO: Query if exp sharing is enabled
+ // TODO: Instance for party
+ // TODO: Second Floor
+ npctalk l("@@: Fight!", getpartyname(getcharid(1)));
+ monster "008-2", rand(74,84), rand(241,250), "Second Dungeon Boss", BanditLord, 1, "Second Dungeon Master::OnBossDeath";
+ close;
+
+
+
+
+
+
+
+
+
+
+// Only the party leader can start this.
+L_NotYou:
+ mesn;
+ dispbottom l("Go and fetch @@, the party leader!", getpartyleader(getcharid(1)));
+ close;
+
+// Minimum 3 players
+L_TooSmall:
+ mesn;
+ mesq l("However, I need to see at least three volunteers here, to allow you in.");
+ close;
+
+// Must have level to face boss
+L_TooWeak:
+ mesn;
+ mesq l("This is the end for your party, as the leader doesn't have sufficient level.");
+ close;
+
+// Second Floor special monsters
+OnReward:
+ // 40% odds of a Black Scorpion coming to avenge fallen monster leader
+ if (rand(1,5) % 2) {
+ getmapxy(.@m$, .@x, .@y, 0);
+ monster .@m$, .@x, .@y, "Semi Boss", BlackScorpion, 1;
+ }
+ Zeny=Zeny+700;
+ getexp 400, 60;
+ getitem CelestiaTea, 1;
+ dispbottom l("Reward: 700 GP, 400 XP, 1 @@", getitemlink(CelestiaTea));
+
+
+OnBossDeath:
+ // Give every party member in map a reward
+ partytimer("008-2", 200, "Second Dungeon Master::OnReward", getcharid(1));
+
+ // Warp everyone and add timers
+ warpparty("008-1", 176, 20, getcharid(1), "008-2", true); // TODO 008-3
+ // While we can't advance, we allow you to redo the dungeons
+
+ /*
+ // Bonus Monsters
+ monster("008-3", 104, 238, "Time Bonus", RobinBandit, 1, "Party Master::OnMobTime");
+ monster("008-3", 85, 117, "Time Bonus", RobinBandit, 1, "Party Master::OnMobTime");
+
+ // Five Chests
+ monster("008-3", 38, 104, "Mysterious Chest", any(BronzeChest, BronzeMimic), 1);
+ monster("008-3", 41, 104, "Mysterious Chest", any(BronzeChest, BronzeMimic, EvilChest), 1);
+ monster("008-3", 44, 104, "Mysterious Chest", any(SilverChest, SilverMimic), 1);
+ monster("008-3", 47, 104, "Mysterious Chest", any(BronzeChest, BronzeMimic, EvilChest), 1);
+ monster("008-3", 50, 104, "Mysterious Chest", any(BronzeChest, BronzeMimic), 1);
+ */
+ end;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/009-1/_import.txt b/npc/009-1/_import.txt
new file mode 100644
index 0000000..36577f2
--- /dev/null
+++ b/npc/009-1/_import.txt
@@ -0,0 +1,14 @@
+// Map 009-1: Halinarzo
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/009-1/_mobs.txt",
+"npc/009-1/_warps.txt",
+"npc/009-1/charles.txt",
+"npc/009-1/estate.txt",
+"npc/009-1/fisherman.txt",
+"npc/009-1/foxhound.txt",
+"npc/009-1/guards.txt",
+"npc/009-1/lynnthetraveler.txt",
+"npc/009-1/mapflags.txt",
+"npc/009-1/soul-menhir.txt",
+"npc/009-1/teleporter.txt",
+"npc/009-1/town.txt",
diff --git a/npc/009-1/_mobs.txt b/npc/009-1/_mobs.txt
new file mode 100644
index 0000000..7c0859b
--- /dev/null
+++ b/npc/009-1/_mobs.txt
@@ -0,0 +1,11 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 009-1: Halinarzo mobs
+009-1,76,35,49,10 monster Giant Maggot 1031,6,30000,90000
+009-1,27,29,7,8 monster Piou 1002,1,60000,60000
+009-1,73,51,49,14 monster Fire Goblin 1067,12,45000,45000,Fisherman::OnKillFireGoblin
+009-1,70,98,47,6 monster Scorpion 1071,3,30000,20000
+009-1,70,83,47,6 monster Red Scorpion 1072,1,30000,20000
+009-1,27,96,7,9 monster Duck 1029,2,60000,60000
+009-1,0,0,0,0 monster Desert Maggot 1083,45,35000,150000
+009-1,76,105,1,0 monster Chagashroom Field 1128,1,70000,60000
+009-1,113,88,0,0 monster Chagashroom Field 1128,1,60000,60000
diff --git a/npc/009-1/_warps.txt b/npc/009-1/_warps.txt
new file mode 100644
index 0000000..82d16fb
--- /dev/null
+++ b/npc/009-1/_warps.txt
@@ -0,0 +1,9 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 009-1: Halinarzo warps
+009-1,56,109,0 warp #009-1_56_109 2,0,010-2,169,20
+009-1,119,40,0 warp #009-1_119_40 0,0,011-1,177,177
+009-1,84,63,0 warp #009-1_84_63 0,0,009-2,62,66
+009-1,73,63,0 warp #009-1_73_63 0,0,009-2,28,65
+009-1,86,34,0 warp #009-1_86_34 0,0,009-3,44,56
+009-1,33,62,0 warp #009-1_33_62 0,0,009-4,48,53
+009-1,64,38,0 warp #009-1_64_38 1,0,009-5,32,41
diff --git a/npc/009-1/charles.txt b/npc/009-1/charles.txt
new file mode 100644
index 0000000..d3cdf3e
--- /dev/null
+++ b/npc/009-1/charles.txt
@@ -0,0 +1,199 @@
+// TMW-2 Script
+// Original Creator: Adson Renato <adson25@gmail.com>
+// Date: 2010-11-19 2:31 AM BRT
+// Review:
+// * 2013-09-03: ernando2000 <ernando.quirino@hotmail.com>
+// * 2013-09-04: Lunovox Heavenfinder <rui.gravata@gmail.com>
+// * 2016-06-14: Jesusalva <tmwbr@jesussalva.com>
+// * 2017-06-17: Jesusalva <cpntb1@ymail.com>
+// * 2018-05-24: Jesusalva <admin@tmw2.org>
+// * Adapted from TMW-BR to TMW2
+// Minimum Req.: LVL 30
+// Consumables: Bandits drops: CoinBag, Dagger, Leather Shield, Empty Bottle
+// Prize: 1 BurglarMask
+// Description:
+// A contrabandist which feeds Halinarzo's black market.
+// Will later teach the Steal skill. (maybe)
+// Notes:
+// Blame Saulc.
+
+
+
+
+009-1,24,105,0 script Charles, Trader King NPC_ORC,{
+ .@q=getq(HalinarzoQuest_TraderKing);
+ if (BaseLevel < 30) goto L_Weak;
+ if (.@q == 1) goto L_Return;
+ if (.@q == 2) goto L_End;
+ goto L_Start;
+
+L_Weak:
+ mesn;
+ mesq lg("Get out of here, weakling. You'll be killed by bandits.");
+ close;
+
+L_Start:
+ mesn;
+ mes lg(":> \"Hello, youngling...\"");
+ next;
+ mesn strcharinfo(0);
+ menu
+ l("This character person is strange I better get away..."), L_Distrust,
+ l("Hmm, who are you?") , L_WhoAmI;
+
+L_WhoAmI:
+ mes "";
+ mesn;
+ mesq l("I am the Trader King, because I supply a market!"); // the Black Market
+ close;
+
+L_Distrust:
+ mes "";
+ mesn strcharinfo(0);
+ mes l("¬.¬ \"Hmm, to me, you look like a thief or bandit...\"");
+ next;
+ mesn;
+ mes l(":D \"HAHAHAHAH! Me?! a thief? only during free time...\"");
+ next;
+ mesn strcharinfo(0);
+ mes l("¬.¬ \"I knew it! I'll report you at once.\"");
+ next;
+ mesn;
+ mes l("0.0 \"No no, please no! I can propose you a great deal for your silence!\"");
+ next;
+ menu
+ l("Which deal?"), L_Deal,
+ l("No, justice must be done.") , L_Die;
+
+L_Deal:
+ mes "";
+ mesn;
+ mesq l(":/ \"Hmm... let me see... Aha, I know! I can make you a great bandit with a simple burglar mask!\"");
+ next;
+ mesn strcharinfo(0);
+ mes l(":o \"What? I'm not a bandit! But it looks SO COOL! Do you need anything while you're here?\"");
+ next;
+ mesn;
+ mes l(":D \"Ah! Yes, that would help a lot! I don't need anything a bandit couldn't give you: 25 @@, 5 @@, 2 @@ and a @@. And 6000 GP.\"", getitemlink(CoinBag), getitemlink(EmptyBottle), getitemlink(Dagger), getitemlink(LeatherShield));
+ mesq l("What do you say?");
+ next;
+ mesn strcharinfo(0);
+ menu
+ l("No way! That's absurd!"), L_Close,
+ l("That's a lot, but we have a deal!"), L_Accept;
+
+L_Accept:
+ mes "";
+ mesn;
+ mes l(">:| \"Go take the items and remember: Not even a single word about me!\"");
+ next;
+ mesn strcharinfo(0);
+ mes l(";-) \"Don't worry! Leave to me!\"");
+ next;
+ mesn;
+ mes l("Here's what I need:");
+ mes l("@@/25 @@", countitem(CoinBag), getitemlink(CoinBag));
+ mes l("@@/5 @@", countitem(EmptyBottle), getitemlink(EmptyBottle));
+ mes l("@@/2 @@", countitem(Dagger), getitemlink(Dagger));
+ mes l("@@/1 @@", countitem(LeatherShield), getitemlink(LeatherShield));
+ mes l("@@/6000 GP", Zeny);
+
+ setq HalinarzoQuest_TraderKing, 1;
+ close;
+
+L_Return:
+ mesn;
+ mes "\"Do you have what I asked for?\"";
+ next;
+ menu
+ l("Yes, of course."), L_Finish,
+ l("I forgot what you need."), L_Review,
+ l("Not yet, I'll be right back."), L_Wait;
+
+L_Wait:
+ mes "";
+ mesn;
+ mesq l("I'll be waiting for you! And trading some items of questionable origins...");
+ close;
+
+L_Finish:
+ if (countitem(CoinBag) < 25 ||
+ countitem(EmptyBottle) < 5 ||
+ countitem(Dagger) < 2 ||
+ countitem(LeatherShield) < 1)
+ goto L_Missing;
+ if (Zeny < 6000) goto L_Poor;
+
+ inventoryplace BurglarMask, 1;
+ delitem CoinBag, 25;
+ delitem EmptyBottle, 5;
+ delitem Dagger, 2;
+ delitem LeatherShield, 1;
+ Zeny = Zeny - 6000;
+ getitem BurglarMask, 1; // Bragging Rights
+ getexp 5840, 25;
+ setq HalinarzoQuest_TraderKing, 2;
+ mes "";
+ mesn;
+ mes l(":D \"Excellent! You've kept your end on the bargain!\"");
+ next;
+ mesn;
+ mesq l("I always keep my end on the bargain, so here you go.");
+ next;
+ mesn;
+ mes l(":) \"A pleasure to trade if you. Don't get caught if you're doing something wrong!\"");
+ close;
+
+L_Poor:
+ mes "";
+ mesn;
+ mes l(":< \"Hey hey! Where's the money?\"");
+ close;
+
+L_Missing:
+ percentheal -15, 0;
+ mes "";
+ mesn;
+ mes l(":< \"Never lie to me. Keep your end on the bargain! Give me everything I asked for!\"");
+ close;
+
+L_End:
+ mesn;
+ mes l(":P \"I am busy, leave me alone.\"");
+ close;
+
+L_Review:
+ mes "";
+ mesn;
+ mes l("Here's what I need:");
+ mes l("@@/30 @@", countitem(CoinBag), getitemlink(CoinBag));
+ mes l("@@/5 @@", countitem(EmptyBottle), getitemlink(EmptyBottle));
+ mes l("@@/2 @@", countitem(Dagger), getitemlink(Dagger));
+ mes l("@@/1 @@", countitem(LeatherShield), getitemlink(LeatherShield));
+ mes l("@@/6000 GP", Zeny);
+ close;
+
+L_Die:
+ mesn;
+ mesq l("Then I'll be sure you can't talk again.");
+ die();
+ close;
+
+L_Close:
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, BurglarMask);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, Chainmail);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, LeatherBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 1);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+
+
+}
diff --git a/npc/009-1/estate.txt b/npc/009-1/estate.txt
new file mode 100644
index 0000000..f530de1
--- /dev/null
+++ b/npc/009-1/estate.txt
@@ -0,0 +1,171 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Real Estate System
+
+// ID: 4
+// $ESTATE_OWNER[.id] → Account ID owner of the Real Estate
+// $ESTATE_OWNERNAME$[.id] → Human readable name of Real Estate owner
+// $ESTATE_RENTTIME[.id] → When the rent will expire
+// $ESTATE_MOBILIA_2[.id] → Bitmask of mobilia currently purchased on Monster Collision (6) (Use on walls only)
+// $ESTATE_MOBILIA_4[.id] → Bitmask of mobilia currently purchased on Air Collision (2)
+// $ESTATE_MOBILIA_8[.id] → Bitmask of mobilia currently purchased on Water Collision (3)
+// $ESTATE_MOBILIA_32[.id] → Bitmask of mobilia currently purchased on Yellow Collision (4)
+// $ESTATE_MOBILIA_64[.id] → Bitmask of mobilia currently purchased on Normal Collision (1)
+// $ESTATE_MOBILIA_128[.id] → Bitmask of mobilia currently purchased on Player Collision (5)
+// $ESTATE_PASSWORD$[.id] → Password to enter the estate. If it is "", then no password required
+// Note: GMs and Administrators can always use super password "mouboo" to enter a locked estate
+// $ESTATE_DOORBELL[.id] → If doorbell is disabled (enabled by default)
+
+// REAL_ESTATE_CREDITS → Credits equivalent to GP the player have. Will be used first.
+
+// The sign is the main controller
+009-1,42,48,0 script Sign#RES_0096 NPC_SWORDS_SIGN,{
+ if ($ESTATE_RENTTIME[.id] < gettimetick(2))
+ goto L_RentAvailable;
+
+ if ($ESTATE_OWNER[.id] == getcharid(3))
+ goto L_Manage;
+
+ if (is_admin() && $@GM_OVERRIDE)
+ goto L_Manage;
+
+ mesc l("This estate currently belongs to @@.", $ESTATE_OWNERNAME$[.id]);
+ mesc l("Press the doorbell?");
+ next;
+ if (askyesno() == ASK_YES)
+ doevent "Doorbell#RES_0096::OnDoorbell";
+ close;
+
+L_RentAvailable:
+ realestate_rent(.id, .price);
+ close;
+
+L_Manage:
+ realestate_manage(.id, (.price*7/10));
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+
+ // Estate Settings
+ .id=4; // Estate ID
+ .price=20000; // Monthly rent price
+ end;
+
+}
+
+// Door entrance
+009-1,43,47,0 script #RES_0096 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if ($ESTATE_RENTTIME[.id] < gettimetick(2))
+ goto L_RentAvailable;
+
+ if ($ESTATE_OWNER[.id] == getcharid(3) || $ESTATE_PASSWORD$[.id] == "")
+ goto L_Warp;
+
+ mesc l("The door is locked");
+ next;
+ mesc l("However, it can be unlocked if you know the password:");
+ if (is_gm()) mesc l("You can use super password \"mouboo\" to unlock the door."), 1;
+ input .@password$;
+ // GMs can use super password "mouboo"
+ if (.@password$ == $ESTATE_PASSWORD$[.id] || (is_gm() && .@password$ == "mouboo"))
+ goto L_Warp;
+ close;
+
+L_Warp:
+ warp "009-6", 33, 33;
+ closeclientdialog;
+ close;
+
+L_RentAvailable:
+ dispbottom l("This estate is available for rent, talk to the sign to rent it.");
+ close;
+
+OnInit:
+ // Estate Settings
+ .id=4; // Estate ID
+ end;
+
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// ID: 5
+
+// The sign is the main controller
+009-1,108,46,0 script Sign#RES_0097 NPC_SWORDS_SIGN,{
+ if ($ESTATE_RENTTIME[.id] < gettimetick(2))
+ goto L_RentAvailable;
+
+ if ($ESTATE_OWNER[.id] == getcharid(3))
+ goto L_Manage;
+
+ if (is_admin() && $@GM_OVERRIDE)
+ goto L_Manage;
+
+ mesc l("This estate currently belongs to @@.", $ESTATE_OWNERNAME$[.id]);
+ mesc l("Press the doorbell?");
+ next;
+ if (askyesno() == ASK_YES)
+ doevent "Doorbell#RES_0097::OnDoorbell";
+ close;
+
+L_RentAvailable:
+ realestate_rent(.id, .price);
+ close;
+
+L_Manage:
+ realestate_manage(.id, (.price*7/10));
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+
+ // Estate Settings
+ .id=5; // Estate ID
+ .price=20000; // Monthly rent price
+ end;
+
+}
+
+// Door entrance
+009-1,109,45,0 script #RES_0097 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if ($ESTATE_RENTTIME[.id] < gettimetick(2))
+ goto L_RentAvailable;
+
+ if ($ESTATE_OWNER[.id] == getcharid(3) || $ESTATE_PASSWORD$[.id] == "")
+ goto L_Warp;
+
+ mesc l("The door is locked");
+ next;
+ mesc l("However, it can be unlocked if you know the password:");
+ if (is_gm()) mesc l("You can use super password \"mouboo\" to unlock the door."), 1;
+ input .@password$;
+ // GMs can use super password "mouboo"
+ if (.@password$ == $ESTATE_PASSWORD$[.id] || (is_gm() && .@password$ == "mouboo"))
+ goto L_Warp;
+ close;
+
+L_Warp:
+ warp "009-7", 33, 33;
+ closeclientdialog;
+ close;
+
+L_RentAvailable:
+ dispbottom l("This estate is available for rent, talk to the sign to rent it.");
+ close;
+
+OnInit:
+ // Estate Settings
+ .id=5; // Estate ID
+ end;
+
+}
+
diff --git a/npc/009-1/fisherman.txt b/npc/009-1/fisherman.txt
new file mode 100644
index 0000000..4caa86b
--- /dev/null
+++ b/npc/009-1/fisherman.txt
@@ -0,0 +1,153 @@
+// TMW-2 Script
+// Originals: TMW BR
+//
+// Author:
+// Jesusalva
+// Description:
+// Forest Bow Quest. DO NOT RENAME THE NPC.
+
+009-1,116,106,0 script Fisherman NPC_FISHERMAN_HALI,{
+ .@q=getq(HurnscaldQuest_ForestBow);
+ if (BaseLevel < 30) goto L_Weak;
+ mesn;
+ mesq l("Hello. Ah, bad luck. I am three days without fishing a single carp.");
+ next;
+ mesn strcharinfo(0);
+ menu
+ l("Any fishing tips for me?"),-,
+ rif(.@q == 1 && getq3(HurnscaldQuest_ForestBow) < 99, l("I need a string, but not just any string, a really good string.")), L_String;
+
+ mes "";
+ mesn;
+ mesq l("Well, yes. Look this river. The water is not moving.");
+ next;
+ mesn;
+ mesq l("If the water doesn't moves, you will never fish anything. Ah, fat luck...");
+ close;
+
+L_Weak:
+ mesn;
+ mesq l("...");
+ next;
+ mesn;
+ mesq l("I am trying to fish here without success. You're weak, do not bother me.");
+ close;
+
+L_String:
+ .@k=getq3(HurnscaldQuest_ForestBow);
+ mes "";
+ switch (.@k) {
+ case 0:
+ mesn;
+ mesq l("Well, that's easy to do. For starters, I need 1.000 GP as payment, and 10 @@ to make the string.", getitemlink(Root));
+ next;
+ mesn;
+ mesq l("That's not everything, though. I am having a bad time fishing. Bring me a @@. I know, it is rare. Good luck with it.", getitemlink(GrassCarp));
+ next;
+ mesn;
+ mesq l("And one last thing I'll want. See these @@? I don't like them, so I'll have you to kill 40 of them for me.", getmonsterlink(FireGoblin));
+ next;
+ mesn strcharinfo(0);
+ mes l("o.o \"You're being unreasonable. That's way too much!\"");
+ next;
+ mesn;
+ mesq l("To make the string you want, I need a special oil, which I make myself. It's hard to do, so I'll spend time I could be using to fish or help the city guard.");
+ next;
+ mesn;
+ mesq l("I'll make your life easier, I'm also accepting 20 @@ or @@ instead the Grass Carp. Go now, pal.", getitemlink(CommonCarp), getitemlink(Roach));
+ setq3 HurnscaldQuest_ForestBow, 10;
+ close;
+ break;
+ case 50:
+ mesn;
+ mesq l("Yo, good joob killing the Fire Goblins. Do you have everything I've asked for?");
+ next;
+ goto L_Finish;
+ default:
+ mesn;
+ mesq l("You have:");
+ if (countitem(GrassCarp) > 0)
+ mes l("@@/1 @@", countitem(GrassCarp), getitemlink(GrassCarp));
+ else if (countitem(Roach) > countitem(CommonCarp))
+ mes l("@@/20 @@ (or @@)", countitem(Roach), getitemlink(Roach), getitemlink(CommonCarp));
+ else
+ mes l("@@/20 @@ (or @@)", countitem(CommonCarp), getitemlink(CommonCarp), getitemlink(Roach));
+
+ mes l("@@/10 @@", countitem(Root), getitemlink(Root));
+ mes l("@@/40 slayed @@", .@k-10, getmonsterlink(FireGoblin));
+ mes l("@@/1000 GP", Zeny);
+ close;
+ }
+ close;
+
+L_Finish:
+ mesq l("You need:");
+ if (countitem(GrassCarp) > 0)
+ mes l("@@/1 @@", countitem(GrassCarp), getitemlink(GrassCarp));
+ else if (countitem(Roach) > countitem(CommonCarp))
+ mes l("@@/20 @@ (or @@)", countitem(Roach), getitemlink(Roach), getitemlink(CommonCarp));
+ else
+ mes l("@@/20 @@ (or @@)", countitem(CommonCarp), getitemlink(CommonCarp), getitemlink(Roach));
+
+ mes l("@@/10 @@", countitem(Root), getitemlink(Root));
+ mes l("40/40 slayed @@", getmonsterlink(FireGoblin));
+ mes l("@@/1000 GP", Zeny);
+ mes "";
+ select
+ l("Not yet."),
+ rif(countitem(GrassCarp) >= 1, l("Yes, I'll pay with Grass Carp.")),
+ rif(countitem(CommonCarp) >= 20, l("Yes, I'll pay with Common Carp.")),
+ rif(countitem(Roach) >= 20, l("Yes, I'll pay with Roach."));
+ if (@menu == 1)
+ close;
+
+ if (countitem(Root) < 10 || Zeny < 1000) {
+ mesn;
+ mesq l("Well, you forgot the most important: The material I need to do the string.");
+ next;
+ mesn;
+ mesq l("I am not a half-word man, so I won't take your fish. Come back with the money and the Roots, and I'll make the string for you.");
+ close;
+ }
+
+ switch (@menu) {
+ case 2:
+ delitem GrassCarp, 1; break;
+ case 3:
+ delitem CommonCarp, 20; break;
+ case 4:
+ delitem Roach, 20; break;
+ default:
+ dispbottom l("Script Error: \"Tux didn't found his fish! Blame Saulc at once!\""); close; end;
+ }
+ delitem Root, 10;
+ Zeny=Zeny-1000;
+ setq3 HurnscaldQuest_ForestBow, 99;
+ getexp 800, 0; // 10% of max exp
+ mes "";
+ mesn;
+ mesc l("With a knife, the fisherman makes the roots as thin as he can. You wonder if he knows what he is doing.");
+ next;
+ mesn;
+ mesc l("Once the roots are of a desired thickness, he ties them to make a string, and applies an oil on it.");
+ next;
+ mesn;
+ mesc l("After waiting for the oil to dry, he hands you the string.");
+ mesq l("Here, thanks to the oil, this string is very sturdy. You better not keep it on your inventory. Good luck!");
+ close;
+
+OnKillFireGoblin:
+ if (getq(HurnscaldQuest_ForestBow) == 1 && getq3(HurnscaldQuest_ForestBow) >= 10 && getq3(HurnscaldQuest_ForestBow) < 50) {
+ setq3 HurnscaldQuest_ForestBow, getq3(HurnscaldQuest_ForestBow)+1;
+ dispbottom l("@@/40 Fire Goblins killed", getq3(HurnscaldQuest_ForestBow)-10);
+ }
+ fix_mobkill(FireGoblin);
+ end;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+
+}
+
diff --git a/npc/009-1/foxhound.txt b/npc/009-1/foxhound.txt
new file mode 100644
index 0000000..fa6040d
--- /dev/null
+++ b/npc/009-1/foxhound.txt
@@ -0,0 +1,197 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Begs for food. Lots of it. And in the end, an armor piece awaits you.
+// Enliven Reva Foxhound is an anagram of Lunovox Heavenfinder
+
+009-1,89,57,0 script Enliven Reva Foxhound NPC_IVAN,{
+ .@q=getq(HalinarzoQuest_Foxhound);
+ if (BaseLevel < .@q+30) {
+ mesn;
+ mesq l("Ah, living in Halinarzo is so difficult...");
+ next;
+ mesn;
+ mesq l("If there were strong people to give us food, ah, how that would be good...");
+ next;
+ mesn;
+ mesq l("Sorry for making you listen my rambles. I need someone strong, you see...");
+ close;
+ }
+ mesn;
+ mesq l("Please traveler, help my starving family!");
+ next;
+ mesn;
+ mesq l("We from Halinarzo are very poor, and in constant need of food. You have to help us!");
+ mes "";
+ menu
+ l("I'll help you."), -,
+ l("Sorry, I am so hungry as you."), L_Close;
+
+ switch (.@q) {
+
+ case 0:
+ mesn;
+ mesq l("There's a long time we don't eat anything. Bring us @@! Five should do it.", getitemlink(Bread));
+ select
+ rif(countitem(Bread) >= 5, l("I have it right here. You can take it!")),
+ l("I'm sorry... I can't help you either...");
+ if (@menu == 1) {
+ delitem Bread, 5;
+ getexp 20, 0;
+ Zeny=Zeny+25*5;
+ mes "";
+ mesn;
+ mesq lg("Thank you! Thank you! Savior!");
+ setq(HalinarzoQuest_Foxhound, 1);
+ next;
+ }
+ break;
+
+
+ case 1:
+ mesn;
+ mesq l("Bread is fine, but it would taste better with @@. Could you bring us three?", getitemlink(Cheese));
+ select
+ rif(countitem(Cheese) >= 3, l("I have it right here. You can take it!")),
+ l("I'm sorry... I can't help you either...");
+ if (@menu == 1) {
+ delitem Cheese, 3;
+ getexp 25, 0;
+ Zeny=Zeny+25*3;
+ mes "";
+ mesn;
+ mesq lg("Thank you! Thank you! Savior!");
+ setq(HalinarzoQuest_Foxhound, .@q+1);
+ next;
+ }
+ break;
+
+ case 2:
+ mesn;
+ mesq l("Do you know @@? It's a poisonous food you can't find around here. It can be made edible with special prepare.", getitemlink(PinkBlobime));
+ select
+ rif(countitem(PinkBlobime) >= 1, l("I have it right here. You can take it!")),
+ l("I'm sorry... I can't help you either...");
+ if (@menu == 1) {
+ delitem PinkBlobime, 1;
+ getexp 30, 0;
+ Zeny=Zeny+10*1;
+ mes "";
+ mesn;
+ mesq lg("Thank you! Thank you! Savior!");
+ setq(HalinarzoQuest_Foxhound, .@q+1);
+ next;
+ }
+ break;
+
+ case 3:
+ mesn;
+ mesq l("I saw Purple the other day... Ah, now I want to eat @@... A dozen should do...", getitemlink(Plushroom));
+ select
+ rif(countitem(Plushroom) >= 12, l("I have it right here. You can take it!")),
+ l("I'm sorry... I can't help you either...");
+ if (@menu == 1) {
+ delitem Plushroom, 12;
+ getexp 35, 0;
+ Zeny=Zeny+15*12;
+ mes "";
+ mesn;
+ mesq lg("Thank you! Thank you! Savior!");
+ setq(HalinarzoQuest_Foxhound, .@q+1);
+ next;
+ }
+ break;
+
+ case 4:
+ mesn;
+ mesq l("There exist more food than you know. But this time I don't want anything extravagant, just 6 @@ should be fine.", getitemlink(CaveSnakeEgg));
+ select
+ rif(countitem(CaveSnakeEgg) >= 6, l("I have it right here. You can take it!")),
+ l("I'm sorry... I can't help you either...");
+ if (@menu == 1) {
+ delitem CaveSnakeEgg, 6;
+ getexp 40, 0;
+ Zeny=Zeny+27*6;
+ mes "";
+ mesn;
+ mesq lg("Thank you! Thank you! Savior!");
+ setq(HalinarzoQuest_Foxhound, .@q+1);
+ next;
+ }
+ break;
+
+ case 5:
+ mesn;
+ mes l("Thanks for feeding us earlier. I wanted to give a great dinner to my family, even if just once.");
+ mes l("Could you please give us a full meal, with 5 @@, 5 @@, 5@@, 5 @@ and 5 @@?", getitemlink(SnakeEgg), getitemlink(Bread), getitemlink(Cheese), getitemlink(Aquada), getitemlink(Manana));
+ select
+ rif(countitem(SnakeEgg) >= 5 && countitem(Bread) >= 5 && countitem(Cheese) >= 5 && countitem(Aquada) >= 5 && countitem(Manana) >= 5, l("I have it right here. You can take it!")),
+ l("I'm sorry... I can't help you either...");
+ if (@menu == 1) {
+ mes "";
+ mesn;
+ mesq l("Thanks for attending even this selfish request of mine.");
+ next;
+ delitem SnakeEgg, 5;
+ delitem Bread, 5;
+ delitem Cheese, 5;
+ delitem Aquada, 5;
+ delitem Manana, 5;
+ getexp 11500, 15;
+ getitem Bucket, 1;
+ mesn;
+ mesq l("This is just a bucket, but I did some cuts on it so you can see though it. It protects your whole face.");
+ next;
+ mesn;
+ mesq l("This is the least I could do for you. Many thanks. And if you have more food, you can keep feeding my family.");
+ setq(HalinarzoQuest_Foxhound, .@q+1);
+ setq2(HalinarzoQuest_Foxhound, .@q+1);
+ next;
+ }
+ break;
+
+ default:
+ .@q=getq2(HalinarzoQuest_Foxhound);
+ // Manana (Death Penalty) or Aquadas (Hard to get item)?
+ mesn;
+ mesq l("I only need @@ @@. Please! You have to help me!", .@q, getitemlink(Manana));
+ select
+ rif(countitem(Manana) >= .@q, l("I have it right here. You can take it!")),
+ l("I'm sorry... I can't help you either...");
+ if (@menu == 1) {
+ delitem Manana, .@q;
+ Zeny=Zeny+(60*.@q);
+ getexp 0, .@q;
+ mes "";
+ mesn;
+ mesq lg("Thank you! Thank you! Savior!");
+ setq(HalinarzoQuest_Foxhound, .@q+1);
+ next;
+ }
+
+ }
+
+ goto L_Close;
+
+L_Close:
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ //.@npcId = getnpcid(.name$);
+ //setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ //setunitdata(.@npcId, UDT_HEADMIDDLE, VneckJumper);
+ //setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ //setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots
+ //setunitdata(.@npcId, UDT_HAIRSTYLE, 6);
+ //setunitdata(.@npcId, UDT_HAIRCOLOR, 3);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+
+
+
+}
diff --git a/npc/009-1/guards.txt b/npc/009-1/guards.txt
new file mode 100644
index 0000000..43bbcbd
--- /dev/null
+++ b/npc/009-1/guards.txt
@@ -0,0 +1,202 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Protect Halinarzo
+
+009-1,71,24,0 script Lieutenant Jacob NPC_PLAYER,{
+ // The Monster King guild have a special menu
+ if (strcharinfo(2) == "Monster King") goto L_MKControl;
+ mesn;
+ mesq l("Halt! Beyond this gate, is the Great River and the Eternal Swamps.");
+ next;
+ mesn;
+ mesq l("Was not it only flooded constantly, the graveyard is not too far. If you stray away from the path, you'll get lost.");
+ next;
+ .@fd=!(getmapmask("011-3")&1024); // .@fd - is flooded?
+ if (!.@fd && $GAME_STORYLINE >= 1) {
+ mesn;
+ // There's a limit on how much info I can send with @@
+ mesq l("Various people already went missing, including GMs. This is why if you plan to cross, ") + b(l("You won't be allowed to walk sideways, except to avoid a monster or two."));
+ mesc l("If you try to walk west or east too much, you'll hit an \"invisible wall\" to prevent you from getting lost.");
+ next;
+ select
+ l("I'm fine, thanks."),
+ l("My equipment is good, let me through!");
+ mes "";
+ if (@menu == 2 && $HURNS_LIBDATE) {
+ .@palgal$=lg("gal", "pal");
+ if (BaseLevel < 20) {
+ mesn;
+ mesq l("It might be, but your level isn't. Sorry @@. No going to Hurnscald before level 20.", .@palgal$);
+ close;
+ }
+ if (reputation("Halin") < 1) {
+ mesn;
+ mesq l("It might be, but I never heard of you before. Sorry @@, I can't let just anyone go through. It would be a disservice to see you get stuck and die.", .@palgal$);
+ close;
+ }
+ warp "011-3", 37, 219;
+ closedialog;
+ close;
+ } else if (!$HURNS_LIBDATE) {
+ mesn;
+ mesq l("No. Hurnscald is besieged and it would be too dangerous to let you go alone. You should talk to %s, instead.", b("Saulc GM"));
+ }
+ } else {
+ mesn;
+ mesq l("In fact, it is flooded at the moment. Come back later.");
+ next;
+ }
+
+ if (GHQUEST)
+ GHQ_Assign(Snake, "Halinarzo");
+ close;
+
+L_MKControl:
+ mesn;
+ mes l("Oh noes! You've found the Halinarzo control panel!");
+ next;
+ select
+ l("Abort"),
+ l("Initiate a siege");
+ mes "";
+ if (@menu == 2) {
+ doevent "Lieutenant Jacob::OnStartSiege";
+ closedialog;
+ }
+ close;
+
+OnMKSiege:
+ $@SIEGE_ABORTED = false;
+OnStartSiege:
+ kamibroadcast(col("WARNING! WARNING! Monster Army is moving towards Halinarzo!!",1));
+ do_siege("009-1", "010-2", "HALIN", TP_TULIM, .name$, .siegetime);
+ initnpctimer;
+ end;
+
+// Timers
+OnTimer5000:
+ .siegetime+=5;
+ do_siege("009-1", "010-2", "HALIN", TP_TULIM, .name$, .siegetime);
+ switch (.siegetime) {
+ case 0:
+ disablenpc "Sawis";
+ break;
+ // Monster Army arrives in town
+ case 60:
+ disablenpc "Fisherman";
+ disablenpc "Charles, Trader King";
+ disablenpc "Lynn The Traveler";
+ disablenpc "Enliven Reva Foxhound";
+ disablenpc "Ryan";
+ disablenpc "Bella, the Scholar";
+ disablenpc "Book Keeper";
+ disablenpc "Yumi";
+ disablenpc "Halinarzo's Nurse";
+ disablenpc "Joaquim";
+ disablenpc "Alvasus";
+ disablenpc "Luanna";
+ break;
+ // Monster Army deployed in town
+ case 90:
+ disablenpc "Dang Rostra";
+ disablenpc "Kevin";
+ disablenpc "Barzil";
+ break;
+ // Monster army have withdrawn completly
+ case MK_SIEGE_DURATION:
+ .siegetime=0;
+ announce(("Halinarzo siege is over!"), bc_all);
+ enablenpc "Sawis";
+ enablenpc "Fisherman";
+ enablenpc "Charles, Trader King";
+ enablenpc "Lynn The Traveler";
+ enablenpc "Enliven Reva Foxhound";
+ enablenpc "Ryan";
+ enablenpc "Bella, the Scholar";
+ enablenpc "Book Keeper";
+ enablenpc "Yumi";
+ enablenpc "Halinarzo's Nurse";
+ enablenpc "Joaquim";
+ enablenpc "Alvasus";
+ enablenpc "Luanna";
+ enablenpc "Dang Rostra";
+ enablenpc "Kevin";
+ enablenpc "Barzil";
+ stopnpctimer;
+ end;
+ break;
+ }
+
+ // Loop again
+ initnpctimer;
+ end;
+
+OnInit:
+ .siegetime=0;
+ .sex = G_MALE;
+ .distance = 4;
+
+ // Check items.xml for info about this.
+ .@npcId = getnpcid();
+ setunitdata(.@npcId, UDT_HEADTOP, BullHelmet);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, LieutenantArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_SHIELD, LousyMoccasins); // TODO FIXME: Display Boots
+ setunitdata(.@npcId, UDT_WEAPON, Backsword);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 12);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 15);
+
+ end;
+}
+
+// Handle Guard's logic
+function script HaliGuardHandler {
+ legiontalk;
+
+ return;
+}
+
+009-1,100,30,0 script Guard Corina NPC_GUARD2,{
+ HaliGuardHandler();
+ end;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 5;
+ end;
+}
+
+
+009-1,111,48,0 script Guard Jhon NPC_GUARD1,{
+ HaliGuardHandler();
+ end;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 5;
+ end;
+}
+
+009-1,41,56,0 script Guard Laurie NPC_GUARD2,{
+ HaliGuardHandler();
+ end;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 5;
+ end;
+}
+
+
+009-1,62,74,0 script Guard Amy NPC_GUARD2,{
+ HaliGuardHandler();
+ end;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/009-1/lynnthetraveler.txt b/npc/009-1/lynnthetraveler.txt
new file mode 100644
index 0000000..58ab3f3
--- /dev/null
+++ b/npc/009-1/lynnthetraveler.txt
@@ -0,0 +1,93 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// The Travelers travel around the world telling stories.
+
+009-1,30,26,0 script Lynn The Traveler NPC_F_COINKEEPER,{
+
+ mesn;
+ if (strcharinfo(0) == $MOST_HEROIC$) mesq l("Wow! Are you @@? Everyone, in every city, talks about you!", $MOST_HEROIC$);
+ if (strcharinfo(0) == $MOST_HEROIC$) next;
+
+ mesq l("Hello. I am @@, and I am from a family of travellers. We travel though the whole world, looking for exotic goods.", .name$);
+ next;
+ mesq l("You can buy rare items with me, or I can tell you about different cities in our world.");
+
+L_Menu:
+ mes "";
+ menu
+ l("I want to trade with you."), L_Trade,
+ l("Tell me about Halinarzo."), L_Halin,
+ l("Tell me about Tulimshar."), L_Tulim,
+ l("Tell me about Hurnscald."), L_Hurns,
+ l("Sorry, I'll pass."), L_Close;
+
+L_Tulim:
+ mes "";
+ mesn;
+ mesq l("Tulimshar is the oldest human city, and its foundation is the year zero of our calendar.");
+ next;
+ mesq l("The city only flourished because Janett Platinum had the idea to build city walls surrounding this city.");
+ next;
+ mesq l("The desert climate means you'll find mostly maggots and scorpions. Their drops include cactus drinks, cake, knifes, black pearls, gold, and other common things.");
+ next;
+ mesq l("You can find for a good price desert equipment and some kind of dyes. You find all sort of crafters, artisans and warriors here.");
+ next;
+ goto L_Menu;
+
+L_Hurns:
+ mes "";
+ mesn;
+ mesq l("Hurnscald was founded after Tulimshar, in more fertile lands. Their walls are not so sturdy as the ones of Tulimshar.");
+ next;
+ mesq l("Under the leadership of King Wusher, they were the first to accept immigrants from other races. You will find humans and non-humans there.");
+ next;
+ mesq l("The fertile climate is ideal for mushrooms. You can also find lots of wood.");
+ next;
+ mesq l("Their economy provide many edible items and potions.");
+ next;
+ goto L_Menu;
+
+L_Halin:
+ mes "";
+ mesn;
+ mesq l("Halinarzo was founded to explore Mana Stones.");
+ next;
+ mesq l("You can find both huge swamps, as huge desertic areas near and on it.");
+ next;
+ mesq l("Lizards are the main monster found, and they steal gold from innocent bypassers.");
+ next;
+ mesq l("Without any mana stone left, and because the walls were not very strong, most of the city was destroyed.");
+ next;
+ mesq l("Unlike many other cities, if you want people in eternal need of items, there is a good place to look.");
+ next;
+ goto L_Menu;
+
+
+L_Trade:
+ mesn;
+ mesq l("Use your @@ as currency!", getitemlink(StrangeCoin));
+ next;
+ tutmes l("%s is obtained during events, daily logins, heroic deeds, gifts, etc. But cannot be bought with real money.", getitemlink(StrangeCoin));
+ openshop "Aeros Trader";
+ closedialog;
+
+L_Close:
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, UglyChristmasSweater);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, JeansShorts);
+ setunitdata(.@npcId, UDT_WEAPON, CandorBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 18);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 8);
+ npcsit;
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/009-1/mapflags.txt b/npc/009-1/mapflags.txt
new file mode 100644
index 0000000..e6436cf
--- /dev/null
+++ b/npc/009-1/mapflags.txt
@@ -0,0 +1,2 @@
+009-1 mapflag town
+009-1 mapflag nopenalty
diff --git a/npc/009-1/soul-menhir.txt b/npc/009-1/soul-menhir.txt
new file mode 100644
index 0000000..172f933
--- /dev/null
+++ b/npc/009-1/soul-menhir.txt
@@ -0,0 +1,20 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Soul Menhir
+
+009-1,28,29,0 script Soul Menhir#hali NPC_SOUL_MOSS,{
+ @map$ = "009-1";
+ setarray @Xs, 26, 27, 28, 28, 29, 30;
+ setarray @Ys, 30, 31, 30, 31, 30, 30;
+ @x = 0;
+ @y = 0;
+ callfunc "SoulMenhir";
+ @map$ = "";
+ cleararray @Xs[0], 0, getarraysize(@Xs);
+ cleararray @Ys[0], 0, getarraysize(@Ys);
+ @x = 0;
+ @y = 0;
+ close;
+}
diff --git a/npc/009-1/teleporter.txt b/npc/009-1/teleporter.txt
new file mode 100644
index 0000000..85d85ef
--- /dev/null
+++ b/npc/009-1/teleporter.txt
@@ -0,0 +1,23 @@
+// TMW2 Script
+// Authors:
+// Jesusalva
+// Description:
+// Link portals to soul menhirs like the teleporters from old
+// The price is temporary. This feature got in because no ship in Nivalis Port
+// PS. Anise => “Aisen†Anagram
+
+
+009-1,113,89,0 script #WarpGateHalin NPC_NO_SPRITE,1,0,{
+ end;
+
+OnTouch:
+ TeleporterGate(TP_HALIN);
+ close;
+
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
diff --git a/npc/009-1/town.txt b/npc/009-1/town.txt
new file mode 100644
index 0000000..bef1fa1
--- /dev/null
+++ b/npc/009-1/town.txt
@@ -0,0 +1,11 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Reset LOCATION$ when entering a town
+
+009-1,71,24,0 script #LocHalin NPC_HIDDEN,4,1,{
+OnTouch:
+ EnterTown("Halin"); end;
+}
+009-1,55,72,0 duplicate(#LocHalin) #LocHalinB NPC_HIDDEN,3,1
diff --git a/npc/009-2/_import.txt b/npc/009-2/_import.txt
new file mode 100644
index 0000000..2d0238f
--- /dev/null
+++ b/npc/009-2/_import.txt
@@ -0,0 +1,7 @@
+// Map 009-2: Halinarzo Library & Bar
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/009-2/_warps.txt",
+"npc/009-2/librarian.txt",
+"npc/009-2/politics.txt",
+"npc/009-2/ryan.txt",
+"npc/009-2/scholar.txt",
diff --git a/npc/009-2/_warps.txt b/npc/009-2/_warps.txt
new file mode 100644
index 0000000..df08e8b
--- /dev/null
+++ b/npc/009-2/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 009-2: Halinarzo Library & Bar warps
+009-2,28,66,0 warp #009-2_28_66 0,0,009-1,73,64
+009-2,62,67,0 warp #009-2_62_67 0,0,009-1,84,64
diff --git a/npc/009-2/librarian.txt b/npc/009-2/librarian.txt
new file mode 100644
index 0000000..b08a71e
--- /dev/null
+++ b/npc/009-2/librarian.txt
@@ -0,0 +1,200 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Main Storyline
+// NPC_SAMANTHA
+
+009-2,67,60,2 script Book Keeper NPC_FEMALE,{
+ .@n = getq(General_Narrator);
+ if (.@n == 9) mesn;
+ if (.@n == 9) mesc l("Anyway, I think you should go to Hurnscald Townhall again, and speak with the mayor.");
+ if (.@n == 9) next;
+ if (.@n >= 9) goto L_Complete;
+ if (.@n == 8) goto L_Report;
+ if (.@n == 6 || .@n == 7) goto L_Advance;
+ if (.@n < 6 && .@n >= 2) goto L_Horses;
+ mesn;
+ mesq l("Hello. I am the book keeper, responsible for keeping Halinarzo History.");
+ // TODO: Import data from BR-002-5 (Royal Library) and make available story about TMW-BR
+ close;
+
+L_Horses:
+ mesn;
+ mesq l("Hello. I am the book keeper, responsible for keeping Halinarzo History.");
+ next;
+ select
+ l("Cool, thank you."),
+ l("I was born here but I had amnesia.");
+ mes "";
+ if (@menu == 1)
+ close;
+ mesn;
+ mesq l("Please prove your statement.");
+ next;
+ mesc l("You realize that you have no means to prove your statement.");
+ mesc l("Saying that you were sent here would prove nothing.");
+ mesc l("How do you even prove amnesia, anyway?");
+ next;
+ mesn;
+ mesq l("You are just a random stranger trying to steal adventurer data, aren't you?? %%e");
+ next;
+ mesn;
+ mesq l("I bet you'll now ask for %s's password, and scam all their money!!", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("Get out of here! Before I call the city guard!!");
+ close;
+
+L_Advance:
+ .@nt = getq2(General_Narrator);
+ // Initial Value is 0.
+ // .@nt tracks future value
+ if (!.@nt || .@n == 6)
+ goto L_Prologue;
+
+ // If you wait 7 - instead of 2 - hours, you are abusing.
+ // So now, you must wait an extra hour.
+ if (.@nt > santime()+(60*60*7)) {
+ setq2 General_Narrator, santime()+(60*60);
+ .@nt=santime()+(60*60);
+ }
+
+ // You got magic, so, why waiting so long. Chop half hour.
+ // Should be plenty to instantly finish.
+ if (MAGIC_LVL && !@halinskip) {
+ .@nt-=1800;
+ setq2 General_Narrator, .@nt;
+ @halinskip=true;
+ }
+
+ // Wait time is over!
+ if (.@nt <= santime())
+ goto L_Complete;
+
+ mesn;
+ mesq l("Have you found out magic already? It should not be possible, but the girl reading the book says it is. I don't know in what to believe.");
+ next;
+ mesn;
+ mesq l("Anyway, I still need @@. You have plenty of time to do things at your own pace.", FuzzyTime(.@nt));
+ tutmes l("Maybe you should go to the depleted mines in the small cave inside the town. Who knows what you may find inside.");
+ // Rule #99999999: Never tell players to grind for 3 hours you lazy dev
+ //mesq l("Please help us with the bandits on the Canyon, and meanwhile, I'll seek the records for you. Just @@ more.", FuzzyTime(.@nt));
+ close;
+
+L_Prologue:
+ mesn strcharinfo(0);
+ mesq l("Hi! Apparently, I came from here and moved at the age of 4, but I had amnesia and can't remember!");
+ next;
+ mesn strcharinfo(0);
+ mesq l("It would be very kind of you, if you could seek who I am!");
+ next;
+ mesn;
+ mesq l("What are you talking about? You are who you are right now. There's no other you.");
+ mesc l("Unless, of course, if Saulc cloned you. But then we must blame Saulc!");
+ next;
+ mesn;
+ mesq l("Ah... I see. You are a lost soul, without parents, lost on the world with only some basic stuff.");
+ next;
+ mesn;
+ mesq l("Alright, I'll look in the archives. I'll have an answer for you in @@. Meanwhile, why don't you suppress the bandits on the cliff?", l("45 minutes"));
+ // Please wait 45 minutes
+ setq General_Narrator, 7, santime()+(60*45);
+ next;
+ mesn;
+ mesq l("Also, Halinarzo is famous for the depleted mana mines in the town. You probably won't find a mana stone there, but it might be cool to look.");
+ next;
+ mesn;
+ mesq l("Thinking a bit... Yes, you definitely should go to the mines. They have been infested by slimes and people sometimes worry they'll leave and attack the town, but you should be capable of suppressing them.");
+ close;
+
+L_Complete:
+ mesn;
+ mesq l("So, I looked the records. There was nothing really useful.");
+ mesq lg("Like, I know you are female.", "Like, I know you are male.");
+ next;
+ mesn;
+ mesq l("But, I found something really interesting! Ah... I hope you like history?");
+ next;
+ mesn l("HISTORY BOOK");
+ mesc l("In these dark times, countless souls moved away from Halinarzo. All hope seemed lost.");
+ mesc l("But then, Andrei Sakar appeared. Hope was not lost. We could still defend it.");
+ next;
+ mesn l("HISTORY BOOK");
+ mesc l("Many sacrifices were done, but it was lost.");
+ mesc l("Even the mighty Andrei Sakar could only barely escape alive. The Monster King was too strong.");
+ mesc l("All hope was lost. We failed to protect it. We lost everyone who challenged the Monster King. Killed without mercy.");
+ next;
+ mesn l("HISTORY BOOK");
+ mesc l("The Monster King was so powerful! It is impossible to recover the artifact now, and everyone will die!");
+ mesc l("A few families, also known as the Ancient Families of the Soul Menhir (for whatever reasons that may be), departed.");
+ next;
+ mesn l("HISTORY BOOK");
+ mesc l("They promised to travel to the ##BWorld Edge##b to fetch a Mana Fragment. The wisest of them said it was the only chance.");
+ mesc l("They were never again seen. None of them. We burnt all records about everyone here, and blamed the Monster King.");
+ mesc l("They must never know we had it. Their sacrifices must be forgotten. For the sake of all.");
+ compareandsetq General_Narrator, 7, 8;
+ close;
+
+L_Report:
+ mesn;
+ mesq l("Do you want to read the story again? Or should we get to the most obvious point?");
+ next;
+ select
+ l("I want to know what you found out again"),
+ l("I want to know why you shown me that.");
+ if (@menu == 1)
+ goto L_Complete;
+ mesn;
+ mesq l("We have three vanishing sort of people on the story.");
+ next;
+ mesn;
+ mes l("1- The coward families, who ran away when outlook was bad.");
+ mes l("2- The defenders of the artifact, who lost their lives and left people behind.");
+ mes l("3- The ancient families.");
+ next;
+ mesn;
+ mesq l("You probably was only 4 when all that happened. And opposed to official story, the Monster King never enter this building.");
+ next;
+ mesn;
+ mesq l("In other words: If Lua couldn't find your record, your parents were part of this story! But, on which of these three groups were them?");
+ next;
+ mesn;
+ mes l("Well, if you were from the defenders, you would have been adopted by a family which left Halinarzo.");
+ mesq l("And if your family, real or adoptive, was coward, there would be no lead at all.");
+ next;
+ mesn;
+ mesq l("So, let's work with the last proposal, that you're from an ancient family. We can backtrace what they did.");
+ next;
+ mesn;
+ mesq l("Their first stop was Hurnscald, so please go to Hurnscald Townhall, and speak with the mayor, he can help you getting there. You can't reach there normally, after all.");
+ next;
+ inventoryplace ScholarshipBadge, 1;
+ mesn;
+ mesq l("Good luck, @@!", strcharinfo(0));
+ mesc l("@@ hands you an @@.", .name$, getitemlink(ScholarshipBadge));
+ next;
+ getexp BaseLevel*750, JobLevel*50;// Reference Levels: (40, 15)
+ getitem ScholarshipBadge, 1;
+ mesc b(l(".:: Main Quest 4-1 ::.")), 3;
+ mesc l("* Talk to Librarian in Halinarzo"), 2;
+ mesc l("* Return to Hurnscald Townhall"), 9;
+ setq General_Narrator, 9;
+ getvaultexp(10);
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, FancyHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CreasedShirt);
+ //setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ setunitdata(.@npcId, UDT_WEAPON, JeansShorts);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, any(8,11,20));
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 5);
+ npcsit;
+
+ .sex=G_FEMALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/009-2/politics.txt b/npc/009-2/politics.txt
new file mode 100644
index 0000000..490de70
--- /dev/null
+++ b/npc/009-2/politics.txt
@@ -0,0 +1,58 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Town Administrator file, see npc/functions/politics.txt
+// User variables:
+// #POL_APPLYWEEK = Week of last application
+// #POL_VOTEDAY = Day of last vote
+
+009-2,66,63,0 script Halinarzo Office NPC_POLITICS,{
+do
+{
+ mesc ".:: "+l("Halinarzo Townhall")+" ::.", 2;
+ mesc l("Current Town Administrator: ")+$HALIN_MAYOR$, 3;
+ POL_TownInfo("HALIN");
+ mesc l("Application fee: @@ GP", .applytax);
+ next;
+ select
+ l("Information"),
+ rif(strcharinfo(0) == $HALIN_MAYOR$, l("Manage Town")),
+ rif(#POL_APPLYWEEK != gettimeparam(GETTIME_WEEKDAY), l("Apply for the office!")),
+ l("View Candidate List and cast a vote"),
+ l("[Quit]");
+
+ switch (@menu) {
+ case 1:
+ POL_Information();
+ break;
+ case 2:
+ POL_Manage("HALIN");
+ break;
+ case 3:
+ // array_push might be too sensible for getd/setd
+ if (Zeny < .applytax)
+ break;
+ Zeny-=.applytax;
+ $HALIN_MONEY+=.applytax;
+ #POL_APPLYWEEK=gettimeparam(GETTIME_WEEKDAY);
+ array_push($HALIN_CANDIDATE$, strcharinfo(0));
+ array_push($HALIN_VOTES, 0);
+ mesc l("Application successful!"), 3;
+ next;
+ break;
+ case 4:
+ POL_Candidate("HALIN");
+ break;
+ default:
+ close;
+ }
+} while (true);
+end;
+
+OnInit:
+ .applytax=100;
+ .distance=4;
+ end;
+}
+
diff --git a/npc/009-2/ryan.txt b/npc/009-2/ryan.txt
new file mode 100644
index 0000000..db5c196
--- /dev/null
+++ b/npc/009-2/ryan.txt
@@ -0,0 +1,172 @@
+// TMW-2 Script.
+// Author:
+// Saulc
+// Jesusalva
+// Notes:
+// Buys Tonori Delight
+
+009-2,29,57,0 script Ryan NPC_PLAYER,{
+ if (BaseLevel < 17) goto L_Weak;
+ if (!getq(HalinarzoQuest_LifeDelight)) goto L_Prologue;
+ .@q=getq2(HalinarzoQuest_LifeDelight);
+ if (.@q < 25)
+ .@a=(.@q**2)+18;
+ else if (.@q < 40)
+ .@a=625+18*(.@q-24);
+ else if (.@q < 50)
+ .@a=895+10*(.@q-39);
+ else
+ .@a=1000+(.@q*(.@q < 75 ? 1 : 2));
+
+ if (.@q > 100) goto L_Complete;
+ mesn;
+ mesq l("Ah, I just wanted @@... Yummy, lovely @@...", getitemlink(TonoriDelight), getitemlink(TonoriDelight));
+ next;
+ mesn;
+ mesq l("If you bring me @@ @@, I'll give you a reward!", .@a, getitemlink(TonoriDelight));
+ next;
+ select
+ rif(countitem(TonoriDelight) >= .@a, l("I have everything!")),
+ l("Ah, not now...");
+ mes "";
+ if (@menu == 2)
+ close;
+
+ inventoryplace ChefHat, 1;
+ inventoryplace PlatinumIngot, 1, IridiumIngot, 2;
+
+ // Generic rewards: XP Boost (.@l) and GP boost (.p)
+ .@l=BaseLevel+JobLevel;
+
+ // Main reward
+ delitem TonoriDelight, .@a;
+ getexp rand(.@a, .@a*2)+.@q*rand(10,30), .@l;
+ Zeny=Zeny+.@a*.p;
+ setq2 HalinarzoQuest_LifeDelight, .@q+1;
+ mesn;
+ mesq l("Hmmm... Yummy!");
+
+ // Landmark rewards
+ // Chef hat last stage: 120 Delights - 583 in total
+ .@r=getq(HalinarzoQuest_LifeDelight);
+ .@q=getq2(HalinarzoQuest_LifeDelight);
+ if (.@r < 2 && .@q >= 11) {
+ setq1 HalinarzoQuest_LifeDelight, 2;
+ getitem ChefHat, 1;
+ getexp 13500, 10;
+ next;
+ mesn;
+ mesq l("Ah, you really deserve this @@. Good job!", getitemlink(ChefHat));
+ }
+
+ // Bonus stage
+ if (.@q == 20)
+ getitem Coffee, 1;
+
+ if (.@q >= 21) {
+ Zeny+=rand2(1,.@a)*.p;
+ getexp rand2(1,.@q)*.@l, rand2(1, .@q);
+ Mobpt+=.@q; // From now on, Monster Points will be generated
+ }
+
+ // Bonus stage
+ if (.@q == 30)
+ getitem Manapple, 1;
+
+ // Bonus stage
+ if (.@q == 40)
+ getitem LoFWarpCrystal, 1;
+
+ // Elixir Of Life last stage: ~995 Delights - 26,385 in total
+ if (.@r < 3 && .@q >= 51) {
+ setq1 HalinarzoQuest_LifeDelight, 3;
+ getitem ElixirOfLife, 1;
+ getitem MylarinDust, 1;
+ getexp 30000, 5000;
+ next;
+ mesn;
+ mesq l("Hey, take this @@. It heals fully but who cares, I have Tonori Delight!", getitemlink(ElixirOfLife));
+ }
+
+ if (.@q >= 51) {
+ Zeny+=rand2(.@q,.@a)*.p;
+ getexp rand2(1,.@a)*.@l, rand2(1, .@q);
+ }
+
+ // Bonus stage
+ if (.@q == 60)
+ getitem SacredLifePotion, 1;
+
+ // Bonus stage
+ if (.@q == 70)
+ getitem MercBoxDD, 1;
+
+ // Bonus stage
+ if (.@q == 80)
+ getitem DivineApple, 1;
+
+ // Bonus stage
+ if (.@q == 90)
+ getitem MysteriousFruit, 1;
+
+ if (.@q >= 91) {
+ Zeny+=rand2(.@a, .@a+.@q)*.p;
+ getexp rand2(.@q,.@a)*.@l, rand2(1, .@q);
+ }
+ // Platinum + Iridium last stage: ~1290 Delights - 86,885 in total
+ if (.@r < 4 && .@q == 100) {
+ setq1 HalinarzoQuest_LifeDelight, 4;
+ getitem SunnyCrystal, 1;
+ getitem PlatinumIngot, 1;
+ getitem IridiumIngot, 2;
+ getitem EquipmentBlueprintE, 2;
+ getitem AlchemyBlueprintE, 2;
+ Mobpt+=1000000; // 1 Million Monster Points
+ getexp 500000, 50000; // Reference: Lv 74 / Lv 38
+ next;
+ mesn;
+ mesq l("Ah, I have enough @@ for a life! Take this EXTREMELY RARE @@. Good job!", getitemlink(TonoriDelight), getitemlink(SunnyCrystal));
+ mesc l("Got Master Blueprints!");
+ mesc l("Got 1,000,000 Monster Points!");
+ }
+
+ close;
+
+L_Complete:
+ mesn;
+ mesq l("Thanks for the help! Yummy!");
+ close;
+
+L_Weak:
+ mesn;
+ mesq l("How did you even got here? There are dangerous swamps north, and dangerous deserts south...");
+ close;
+
+L_Prologue:
+ setq HalinarzoQuest_LifeDelight, 1, 0;
+ mesn;
+ mesq l("Ah, I just wanted @@... Yummy, lovely @@...", getitemlink(TonoriDelight), getitemlink(TonoriDelight));
+ next;
+ mesn;
+ mesq l("There's a big prize in the end... Could you bring me some later?");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, ChefHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SilkRobe);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, Boots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 26);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 2);
+
+ .sex = G_MALE;
+ .distance = 4;
+ .p=97; // Price in GP of each Tonori Delight.
+ // real price is 556 in ingredients (this gets a x2 sell price)
+ // + 120 GP of taxes
+ // Total: 676 GP per batch (5~9 units). We consider the average batch (7).
+ // NO EXTRA PROFIT IS REQUIRED/ALLOWED.
+ end;
+}
+
diff --git a/npc/009-2/scholar.txt b/npc/009-2/scholar.txt
new file mode 100644
index 0000000..c1d9a82
--- /dev/null
+++ b/npc/009-2/scholar.txt
@@ -0,0 +1,89 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Encourages players to get magic and keep the game interesting
+// HalinarzoQuest_MageEquipment
+// 0 - Haven't started
+// 1 - Listened to intro about mage equipments.
+// 2 - NYI: A quest to obtain more powerful magic equipment.
+
+009-2,51,54,0 script Bella, the Scholar NPC_BELLA,{
+ .@q=getq(HalinarzoQuest_MageEquipment);
+ mesn;
+ mesq l("I am Bella, the Scholar.");
+ if (!mstone(MAGIC_LVL)) goto L_NotEnough;
+ mesq l("Out of my experience, you are ready to learn magic.");
+ next;
+ mesn;
+ mesq l("A pity that without being born with magic, you need a Mana Stone... And there are none left...");
+ mesc l("*sigh*");
+ if (.@q < 1)
+ goto L_Intro;
+ if (.@q && getq(General_Narrator) == 7)
+ goto L_NeedHelp;
+ close;
+
+L_NotEnough:
+ if (BaseLevel < $MANA_BLVL+MAGIC_LVL*rand(15,17)) {
+ mesq l("Out of my experience, your level may not be enough.");
+ }
+ if (JobLevel < $MANA_JLVL+MAGIC_LVL*rand(10,12)) {
+ mesq l("Out of my experience, your job may not be enough.");
+ }
+ if (readparam2(bInt) < $MANA_BINT+MAGIC_LVL*rand(10,13)) {
+ mesq l("Out of my experience, your base intelligence may not be enough.");
+ if (!.@q)
+ mesc l("You should reset your stats and allocate some points at intelligence.");
+ }
+ if (.@q < 1)
+ goto L_Intro;
+ close;
+
+L_Intro:
+ next;
+ mesn;
+ mesq l("I'll only say you this once. Mages can, of course, go to battlefield in heavy armor and stuff.");
+ next;
+ mesn;
+ mesq l("But if a mage wants to be a warrior, they won't be able to use their full magic skills.");
+ next;
+ mesn;
+ mesq l("Mages should use equipment designed for them. Those may be lacking on defense, but will raise MP and Magic Attack.");
+ mesq l("I must, however, remember that the most powerful magical equipment ##B may require intelligence ##b to use.");
+ next;
+ mesn;
+ mesq l("Without magic attack, using a fireball at an enemy will be like throwing a stone.");
+ mesq l("And without proper MP-raising equipment, you'll be exausthed after your first fireball.");
+ next;
+ mesn;
+ mesq l("Mage equipment also raises MP recovery. So yes, a mage can use a sword and heavy armor, but...");
+ mesq l("...If they decide to do so, they'll have to deal with weak magical attacks, and with quick mana depletion.");
+ next;
+ inventoryplace TrainingWand, 1;
+ mesn;
+ mesq l("Thanks for listening to my rambles. I'll gift you a @@. Of course, having a wand won't give you magic...", getitemlink(TrainingWand));
+ mesq l("...You need to learn magic before this equipment being useful to you in any way.");
+ setq HalinarzoQuest_MageEquipment, 1;
+ getitem TrainingWand, 1;
+ close;
+
+L_NeedHelp:
+ next;
+ mesn;
+ mesq l("Did you knew some crazy adventurers insists there is a Mana Stone on the dangerous caves inside the town?");
+ next;
+ mesn;
+ mesq l("I mean, that's absurd! If there was one, it would have been taken already. Unless if grew some sentience or something.");
+ next;
+ mesn;
+ mesq l("Anyway, if you ever feel bored and wanna see what I mean by yourself, just leave the building and head west, then north. There's a small entrance there.");
+ tutmes col(l("WARNING: "),1)+l("Magic is necessary for warriors and archers to learn skills. Skills can be learned in Tulimshar."), l("Magic, Warriors and Archers");
+ close;
+
+OnInit:
+ .sex=G_FEMALE;
+ .distance=5;
+ end;
+}
diff --git a/npc/009-3/_import.txt b/npc/009-3/_import.txt
new file mode 100644
index 0000000..632f4c5
--- /dev/null
+++ b/npc/009-3/_import.txt
@@ -0,0 +1,6 @@
+// Map 009-3: Halinarzo General Store
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/009-3/_warps.txt",
+"npc/009-3/barzil.txt",
+"npc/009-3/dangrostra.txt",
+"npc/009-3/kevin.txt",
diff --git a/npc/009-3/_warps.txt b/npc/009-3/_warps.txt
new file mode 100644
index 0000000..1577a7a
--- /dev/null
+++ b/npc/009-3/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 009-3: Halinarzo General Store warps
+009-3,44,57,0 warp #009-3_44_57 0,0,009-1,86,35
diff --git a/npc/009-3/barzil.txt b/npc/009-3/barzil.txt
new file mode 100644
index 0000000..d4462bd
--- /dev/null
+++ b/npc/009-3/barzil.txt
@@ -0,0 +1,28 @@
+// TMW-2 Script.
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Banker. Also used on Tier 2 Quest.
+
+009-3,29,38,0 script Barzil NPC_LLOYD,{
+ if (ST_TIER == 2 && gettimetick(2) < QUEST_ELEVARTEMPO) goto L_Tier2;
+ Banker(.name$, "Halinarzo", 8900);
+ close;
+
+L_Tier2:
+ mesn strcharinfo(0);
+ mesq l("I need for the Magic Academy a @@, fast!", getitemlink(SunnyCrystal));
+ next;
+ mesn;
+ mesq l("Of course! Quick, take it!!");
+ inventoryplace SunnyCrystal, 1;
+ ST_TIER=3;
+ getitem SunnyCrystal, 1;
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+}
diff --git a/npc/009-3/dangrostra.txt b/npc/009-3/dangrostra.txt
new file mode 100644
index 0000000..665cf63
--- /dev/null
+++ b/npc/009-3/dangrostra.txt
@@ -0,0 +1,85 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Dang Rostra is the seller of Halinarzo (and usually sells overpriced stuff)
+// Dang Rostra is an anagram of DragonStar, winner of Easter 2018
+
+009-3,26,47,0 script Dang Rostra NPC_PLAYER,{
+
+ mesn;
+ mesq l("Halinarzo people are very poor, but we have our resources...");
+ mes "";
+ menu
+ l("Trade"), -,
+ l("Leave"), L_Close;
+
+ closedialog;
+ npcshopattach(.name$);
+ shop .name$;
+ close;
+
+L_Close:
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, VneckJumper);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 6);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 3);
+
+ .sex = G_MALE;
+ .distance = 5;
+ sleep(SHOPWAIT);
+ tradertype(NST_MARKET);
+
+ // Bows (rare)
+ sellitem ShortBow, 10200, 1;
+ sellitem WoodenBow, 6800, 1;
+ // Misc (uncommon)
+ sellitem SharpKnife, -1, 1;
+ sellitem EmptyBottle, -1, 1; // You can buy some empty bottles here, but they're scarse
+ // Arrows (common)
+ sellitem Arrow, -1, 200;
+ sellitem IronArrow, -1, 90;
+ sellitem ArrowAmmoBox, -1, 2;
+ sellitem IronAmmoBox, -1, 1;
+
+ // Speciality Drinks (common)
+ sellitem Coffee, -1, 3;
+ end;
+
+OnClock0001:
+ restoreshopitem ShortBow, 10200, 1;
+OnClock1200:
+ restoreshopitem WoodenBow, 6800, 1;
+OnClock0400:
+OnClock1600:
+ restoreshopitem SharpKnife, 1;
+ restoreshopitem EmptyBottle, 1;
+OnClock0800:
+OnClock2000:
+ restoreshopitem Arrow, 200;
+ restoreshopitem IronArrow, 90;
+ restoreshopitem ArrowAmmoBox, 2;
+ restoreshopitem IronAmmoBox, 1;
+ restoreshopitem Coffee, 3;
+ end;
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+
+}
diff --git a/npc/009-3/kevin.txt b/npc/009-3/kevin.txt
new file mode 100644
index 0000000..923ac1b
--- /dev/null
+++ b/npc/009-3/kevin.txt
@@ -0,0 +1,169 @@
+// TMW2 Script
+// Author:
+// Saulc
+// Vasily_Makarov (original from Evol)
+// Jesusalva
+// Dye Quest added by:
+// Povo
+// Description:
+// Status Reset, mixed gem powder, dye
+
+009-3,39,48,0 script Kevin NPC_PLAYER,{
+
+ speech S_LAST_NEXT,
+ l("I am @@, an alchemist specialized in reset potions.", .name$);
+
+L_Menu:
+ .@plush_count = BaseLevel*210-(9*210);
+ // Lv 10: 210 GP
+ // Lv 90: 1.890 GP
+ if (BaseLevel > 10)
+ .@plush_count = .@plush_count/(BaseLevel/10);
+
+ select
+ l("Can you reset my stats please?"),
+ l("Can you mix Gem Powder?"),
+ l("Do you make anything else?"),
+ lg("You are weird, I have to go sorry.");
+
+ switch (@menu)
+ {
+ case 1:
+ goto L_ResetStats;
+ case 2:
+ goto L_Powder;
+ case 3:
+ goto L_Dye;
+ case 4:
+ goto L_Quit;
+ }
+
+L_ResetStats:
+ mesn;
+ mesq l("Status point reset can't be undone. Do you really want this?");
+
+L_ConfirmReset:
+ ConfirmStatusReset();
+ goto L_Quit;
+
+L_Powder:
+ .@price=POL_AdjustPrice(800);
+ mes "";
+ mesn;
+ mesq l("To make @@ I need one from each gem powders, and @@ GP for commission.", getitemlink(GemPowder), .@price);
+ next;
+ select
+ l("Yeah, I need one."),
+ l("Thanks for the help, but no."),
+ l("Actually, nevermind. Good bye!");
+ if (@menu == 2)
+ goto L_Menu;
+
+ if (@menu == 3)
+ goto L_Quit;
+
+ if (
+ countitem(DiamondPowder) &&
+ countitem(RubyPowder) &&
+ countitem(EmeraldPowder) &&
+ countitem(SapphirePowder) &&
+ countitem(TopazPowder) &&
+ countitem(AmethystPowder) &&
+ Zeny >= .@price) {
+
+ inventoryplace GemPowder, 1;
+ delitem DiamondPowder, 1;
+ delitem RubyPowder, 1;
+ delitem EmeraldPowder, 1;
+ delitem SapphirePowder, 1;
+ delitem TopazPowder, 1;
+ delitem AmethystPowder, 1;
+ POL_PlayerMoney(.@price);
+ getitem GemPowder, 1;
+ getexp rand2(6,18), rand2(6,18);
+
+ mesn;
+ mesq l("Thanks! Here you go. Perhaps you need another one?");
+ next;
+ goto L_Powder;
+ } else {
+ mesn;
+ mesq l("Sorry, but I need one of each gem powder, and %d GP.", .@price);
+ next;
+ }
+ goto L_Menu;
+
+L_Dye:
+ mesn;
+ mesq l("Actually, using a byproduct of my other works and a few additional ingredients, I could make a %s",
+ getitemlink(PinkDye));
+ if (BaseLevel < 25) {
+ mesq l("Hmm...actually, nevermind.");
+ next;
+ mesn;
+ mesq l("I cannot in good faith ask someone with so little experience to risk their life for something so trivial.");
+ next;
+ mesn;
+ mesq l("Come back when you are stronger.");
+ next;
+ goto L_Menu;
+ }
+ next;
+ mesq l("Bring me %d %s, %d %s, and %d %s and I can make it for you... oh and it will be %d GP for my work.",
+ 1, getitemlink(BottleOfTonoriWater), 20, getitemlink(PinkBlobime), 30, getitemlink(Plushroom), 500);
+ if (getq(HalinarzoQuest_Kevin) < 1)
+ setq HalinarzoQuest_Kevin, 1;
+ next;
+ select
+ l("Yeah, I need one."),
+ l("Thanks for the help, but no."),
+ l("Actually, nevermind. Good bye!");
+ mes "";
+ if (@menu == 2)
+ goto L_Menu;
+
+ if (@menu == 3)
+ goto L_Quit;
+
+ if (countitem(BottleOfTonoriWater) >= 1 &&
+ countitem(PinkBlobime) >= 20 &&
+ countitem(Plushroom) >= 30 && Zeny >= 500) {
+ inventoryplace PinkDye, 1, EmptyBottle, 1;
+ delitem BottleOfTonoriWater, 1;
+ delitem PinkBlobime, 20;
+ delitem Plushroom, 30;
+ Zeny=Zeny-500;
+ getitem PinkDye, 1;
+ getitem EmptyBottle, 1;
+ if (getq(HalinarzoQuest_Kevin) == 1) {
+ setq HalinarzoQuest_Kevin, 2;
+ getexp 300, 0;
+ }
+ mesn;
+ mesq l("Thanks! Here you go. Perhaps you want another one?");
+ next;
+ goto L_Dye;
+ } else {
+ mesn;
+ mesq l("Sorry, you don't seem to have everything I need.");
+ }
+ close;
+
+L_Quit:
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, FancyHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SailorShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, BromenalPants);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 17);
+
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+}
diff --git a/npc/009-4/_import.txt b/npc/009-4/_import.txt
new file mode 100644
index 0000000..25d6ae1
--- /dev/null
+++ b/npc/009-4/_import.txt
@@ -0,0 +1,5 @@
+// Map 009-4: Halinarzo Hospital
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/009-4/_warps.txt",
+"npc/009-4/nurse.txt",
+"npc/009-4/yumi.txt",
diff --git a/npc/009-4/_warps.txt b/npc/009-4/_warps.txt
new file mode 100644
index 0000000..247d1db
--- /dev/null
+++ b/npc/009-4/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 009-4: Halinarzo Hospital warps
+009-4,48,54,0 warp #009-4_48_54 0,0,009-1,33,63
diff --git a/npc/009-4/nurse.txt b/npc/009-4/nurse.txt
new file mode 100644
index 0000000..3f6e1eb
--- /dev/null
+++ b/npc/009-4/nurse.txt
@@ -0,0 +1,23 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+
+009-4,39,46,0 script Halinarzo's Nurse NPC_FEMALE,{
+ Nurse(.name$, 10, 5);
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ // I am too lazy to dress every NPC I add >.<
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, MiniSkirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, ShortTankTop);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 12);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 9);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+
+}
+
diff --git a/npc/009-4/yumi.txt b/npc/009-4/yumi.txt
new file mode 100644
index 0000000..151e26c
--- /dev/null
+++ b/npc/009-4/yumi.txt
@@ -0,0 +1,60 @@
+// TMW2 Script
+// Author: Jesusalva
+// Description:
+// Joaquim's wife.
+// TODO sprite on the bed
+
+009-4,36,33,0 script Yumi NPC_FEMALE,{
+ .@q=getq(HalinarzoQuest_SickWife);
+ if (.@q > 3) goto L_PostAid;
+ if (.@q == 3) goto L_DoIt;
+ if (BaseLevel > 36) goto L_PreAid;
+
+ mesn;
+ mesq l("Hello. Take care with the Mountain Snakes, they're highly poisonous!");
+ close;
+
+L_PreAid:
+ mesn;
+ mesq l("Please... Speak low... I am dying........");
+ next;
+ mesn;
+ mesq l("The nurse... The nurse is... Doing all she can... To help me, though.");
+ close;
+
+L_PostAid:
+ mesn;
+ mesq l("Ah, I am lively again. I wish I could just raise from this bed and do some exercise, but the Nurse refuses to let me go.");
+ // There could be another quest stage her
+ close;
+
+L_DoIt:
+ if (countitem(ElixirOfLife) < 1)
+ goto L_PreAid;
+
+ inventoryplace ElixirOfLife, 1;
+ delitem ElixirOfLife, 1;
+ getexp 1000, 0;
+ setq HalinarzoQuest_SickWife, 4;
+ mesc l("*gulp* *gulp* *gulp*");
+ next;
+ mesn;
+ mesq l("AAAAAAAHHHHH, Thanks, I am lively again!");
+ next;
+ mesn;
+ mesq l("In fact, I am cured! Hooray!!");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, VneckJumper);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, CottonGloves); // Do not use boots when lying on the bed
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 10);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 15);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/009-5/_import.txt b/npc/009-5/_import.txt
new file mode 100644
index 0000000..b875296
--- /dev/null
+++ b/npc/009-5/_import.txt
@@ -0,0 +1,6 @@
+// Map 009-5: Halinarzo Church
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/009-5/_warps.txt",
+"npc/009-5/alvasus.txt",
+"npc/009-5/joaquim.txt",
+"npc/009-5/luanna.txt",
diff --git a/npc/009-5/_warps.txt b/npc/009-5/_warps.txt
new file mode 100644
index 0000000..ee7350c
--- /dev/null
+++ b/npc/009-5/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 009-5: Halinarzo Church warps
+009-5,33,42,0 warp #009-5_33_42 1,0,009-1,63,39
diff --git a/npc/009-5/alvasus.txt b/npc/009-5/alvasus.txt
new file mode 100644
index 0000000..e2f60b6
--- /dev/null
+++ b/npc/009-5/alvasus.txt
@@ -0,0 +1,193 @@
+// TMW2 Script
+// Author:
+// Pookie
+// Saulc
+// Jesusalva
+// Description:
+// Alvasus is a believer, he is from Halinarzo and he collects Roasted Maggot
+// for Church Party.
+// Quest for level 19 - 5 roasted maggot for Alvasus Pendant
+// Notes:
+// There is no church on Tulimshar. If he wanted to spread faith or whatever
+// he would fit, but as he wants a party, I had to move him to Halinarzo.
+// I turned him on a weekly quest. Sorry, I got excited u.u
+//
+// First time: Alvasus Pendant
+// Later times: GP and EXP
+//
+// Q1: Current State
+// Q2: Current Reward
+// Q3: Current Week Number (for repeat)
+
+009-5,29,39,0 script Alvasus NPC_PLAYER,{
+ if (!getq(HalinarzoQuest_Alvasus)) {
+ npctalk3 l("Uhm? Oh, a new believer! Welcome, child of the mana, to the only church in this world.");
+ setq HalinarzoQuest_Alvasus, 1, 0, atoi(gettimestr("%U", 2));
+ }
+
+ .@q3 = getq3(HalinarzoQuest_Alvasus);
+ .@q2 = getq2(HalinarzoQuest_Alvasus);
+ if (.@q3 != atoi(gettimestr("%U", 2)))
+ setq HalinarzoQuest_Alvasus, 1, .@q2, atoi(gettimestr("%U", 2));
+
+ if (gettime(GETTIME_WEEKDAY) == SUNDAY) goto L_Sunday;
+ .@q = getq(HalinarzoQuest_Alvasus);
+ if (BaseLevel < 19) goto L_TooWeak;
+ if (.@q == 1) goto L_GiveTask;
+ if (.@q == 2) goto L_Check;
+ if (.@q == 3) goto L_Complete;
+
+ closedialog;
+ goodbye;
+ close;
+
+L_TooWeak:
+ mesn;
+ mesq l("Go away, kid! Let me pray in peace!");
+ close;
+
+L_Sunday:
+ mesn;
+ mesq l("Ah, Sunday. What better time to go to church?");
+ next;
+ if (!@alvasus && .@q == 2) goto L_Party;
+ mesn;
+ mesq l("We will have a party today, but only believers are allowed in!");
+ close;
+
+L_Quit:
+ mes "";
+ mesn;
+ mesq l("Alright.");
+ close;
+
+L_Party:
+ mesn;
+ mesq l("Please pray a bit with us!");
+ if (askyesno() != ASK_YES)
+ close;
+ mes "";
+ mesc "...";
+ next;
+ mesc "...";
+ next;
+ mesc "...";
+ next;
+ mesc "...";
+ next;
+ mesc "...";
+ next;
+ mesn;
+ mesq l("Alright, PARTY TIME!");
+ @alvasus=any(1,1,1,1,2,3,4,5);
+ @min = 65*@alvasus;
+ @max = 175*@alvasus;
+ @delay = 3*@alvasus;
+ @type = 1;
+ doevent "rand_sc_heal::OnUse";
+ close;
+
+
+L_GiveTask:
+ mesn;
+ mesq lg("Hello Adventurer!");
+ next;
+ mesn;
+ mesq l("Would you like to help me with organizing a Church Party?");
+ next;
+
+ menu
+ l("Sure, why not?"), L_Quest,
+ l("I don't have time for that."), L_Quit;
+
+
+L_Quest:
+ mes "";
+ mesn;
+ mesq l("Sunday I am having a Church Party but I forgot to prepare food!");
+ next;
+ mesn;
+ mesq l("Can you help me find some @@?", getitemlink(RoastedMaggot));
+ next;
+
+ menu
+ l("Okay!"), L_Start,
+ l("I don't have the time!"), L_Quit;
+
+
+L_Start:
+ setq1 HalinarzoQuest_Alvasus, 2;
+ mes "";
+ mesn;
+ mesq l("Ok, let's see how many you have and how many I need:");
+ goto L_List;
+
+L_List:
+ mes "";
+ mesn;
+ mes l("I will need:");
+ mes l("@@/5 @@", countitem(RoastedMaggot), getitemlink(RoastedMaggot));
+ next;
+ goto L_Check;
+
+L_Check:
+ mesn;
+ mesq l("Do you have my @@?", getitemlink(RoastedMaggot));
+ next;
+ menu
+ l("Yes!"), L_Give,
+ l("How many did you need again?"), L_List,
+ l("No!"), L_Quit;
+
+L_Give:
+ if (
+ countitem(RoastedMaggot) < 5
+ ) goto L_NoItem;
+
+
+ // First time you get the Pendant
+ .@q2 = getq2(HalinarzoQuest_Alvasus);
+ if (.@q2 == 0) {
+ inventoryplace AlvasusPendant, 1;
+ getitem(AlvasusPendant, 1);
+ }
+
+ delitem(RoastedMaggot, 5);
+
+ getexp(700+.@q2, 1+.@q2);
+ Zeny=Zeny+(.@q2*5);
+
+ setq1(HalinarzoQuest_Alvasus, 3);
+ setq2 HalinarzoQuest_Alvasus, .@q2+1;
+ setq3 HalinarzoQuest_Alvasus, atoi(gettimestr("%U", 2));
+
+ mes "";
+ mesn;
+ mesq l("Thanks for all of your help!");
+ close;
+
+L_Complete:
+ mesn;
+ mesq l("Now, to wait for Sunday is the most boring part... Alas, I wonder if I'll remember next week, too.");
+ //mesq l("Do you know where the party is? It's at Halin, to get there you need to pass through the Desert Canyon.");
+ close;
+
+L_NoItem:
+ mesn;
+ mesq l("Thanks for the kindness, but you don't have enough. I need 5!");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, DesertHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SilkRobe);
+ setunitdata(.@npcId, UDT_WEAPON, CreasedBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 6);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 7);
+
+ .sex = G_MALE;
+ .distance = 4;
+
+ end;
+}
+
diff --git a/npc/009-5/joaquim.txt b/npc/009-5/joaquim.txt
new file mode 100644
index 0000000..4028fd5
--- /dev/null
+++ b/npc/009-5/joaquim.txt
@@ -0,0 +1,187 @@
+// TMW2 Script, ported from TMW-BR
+// TMW2 Author: Jesusalva
+//
+// Creator: Cardinalli
+// Review: Lunovox <rui.gravata@gmail.com>
+//
+// Description:
+// A rather easy quest to give players what to kill.
+// Reward:
+// Mouboo pendant + 20% exp of level 55
+
+009-5,36,35,4 script Joaquim NPC_PLAYER,{
+ .@q=getq(HalinarzoQuest_SickWife);
+ if (BaseLevel < 36) goto L_TooWeak;
+ if (BaseLevel < 55) goto L_Weak;
+ if (.@q == 5) goto L_Complete;
+ if (.@q == 4) goto L_Finish;
+ if (.@q == 3) goto L_DoIt;
+ if (.@q == 2) goto L_Return;
+ if (.@q == 1) goto L_Found;
+ goto L_Start;
+
+L_TooWeak:
+ mesn;
+ mesq l("Here is a safe haven for we who don't fight. There are no monsters, and the Mouboo watches over us.");
+ close;
+
+L_Weak:
+ mesn;
+ .@r=rand2(1,5);
+ switch (.@r) {
+ case 1:
+ mesq l("Watch out! My wife was gravely wounded the other day. Don't forget your shield when leaving this holy place!");
+ break;
+ case 2:
+ mesq l("Ah, I hate mushrooms. Perhaps in future, I could use their spikes and mushies.");
+ break;
+ case 3:
+ mesq l("Ah, I hate snakes. Perhaps in future, I could use their tongues.");
+ break;
+ case 4:
+ mesq l("Ah, I love mouboos. But their steaks, hmm. Ah, no, I shouldn't eat that...");
+ break;
+ case 5:
+ mesq l("You should never sell your Cactus Drinks. They have many uses.");
+ break;
+ }
+ close;
+
+L_Complete:
+ mesn;
+ mesq l("Thanks for helping my wife, I'll be forever grateful.");
+ close;
+
+L_Finish:
+ inventoryplace ElixirOfLife, 1, MoubooPendant, 1;
+ getitem ElixirOfLife, 1;
+ getitem MoubooPendant, 1;
+ getexp 39260, 75;
+ setq HalinarzoQuest_SickWife, 5;
+ mesn;
+ mesq l("Take this spare @@ I did. It heals fully and instantly, so don't hesit to use it if you're about to die.", getitemlink(ElixirOfLife));
+ next;
+ mesn;
+ mesq l("Thanks for helping my wife! Here is, an @@. May the Mouboo watch over you! o.o", getitemlink(MoubooPendant));
+ close;
+
+L_DoIt:
+ mesn;
+ mesq l("Please help my wife Yumi, on the Hospital!");
+ close;
+
+// Quest Core
+L_Start:
+ mesn;
+ mesq l("Ohhhhh..... Please, help me!!! My wife is gravely wounded!!");
+ next;
+ mesn strcharinfo(0);
+ mesq l("Calm down! How can I help you?");
+ next;
+ mesn;
+ mesq l("My grandmother gave me a recipe of the @@, it can cure anything but death.", getitemlink(ElixirOfLife));
+ next;
+ mesn;
+ mesq l("I don't remember what I need now, but if you give me a moment, I'll get the list.");
+ setq HalinarzoQuest_SickWife, 1;
+ close;
+
+L_Found:
+ mesn;
+ mesq l("I can make an @@, I still have a bottle of fairy blood, a few mana pearls, and some other rare ingredients.", getitemlink(ElixirOfLife));
+ mesq l("It is the non-rare ingredients I actually need help with!");
+ next;
+ mesn l("@@ Recipe", getitemlink(ElixirOfLife));
+ mesc l("@@/100 @@", countitem(CactusDrink), getitemlink(CactusDrink));
+ mesc l("@@/60 @@", countitem(HardSpike), getitemlink(HardSpike));
+ mesc l("@@/45 @@", countitem(SmallMushroom), getitemlink(SmallMushroom));
+ mesc l("@@/40 @@", countitem(SnakeTongue), getitemlink(SnakeTongue));
+ mesc l("@@/30 @@", countitem(BottleOfTonoriWater), getitemlink(BottleOfTonoriWater));
+ mesc l("@@/20 @@", countitem(CaveSnakeTongue), getitemlink(CaveSnakeTongue));
+ mesc l("@@/15 @@", countitem(MoubooSteak), getitemlink(MoubooSteak));
+ next;
+ select
+ l("I will do it, don't worry."),
+ rif(countitem(ElixirOfLife), l("I have one here...")),
+ l("Ahh, too many items. Sorry.");
+ mes "";
+ mesn;
+ if (@menu == 1) {
+ mes lg("Thanks! Thanks! Savior! Hurry up!");
+ setq HalinarzoQuest_SickWife, 2;
+ } else if (@menu == 2) {
+ mes l("Uhm, sorry, I don't trust stuff you get at market. You know.");
+ mes l("Full of agrotoxins, transgenics and whatever. Not safe.");
+ } else {
+ mes l("Oh noes, who nows can help my wife? Please reconsider!");
+ }
+ close;
+
+L_Return:
+ mesn l("@@ Recipe", getitemlink(ElixirOfLife));
+ mesc l("@@/100 @@", countitem(CactusDrink), getitemlink(CactusDrink));
+ mesc l("@@/60 @@", countitem(HardSpike), getitemlink(HardSpike));
+ mesc l("@@/45 @@", countitem(SmallMushroom), getitemlink(SmallMushroom));
+ mesc l("@@/40 @@", countitem(SnakeTongue), getitemlink(SnakeTongue));
+ mesc l("@@/30 @@", countitem(BottleOfTonoriWater), getitemlink(BottleOfTonoriWater));
+ mesc l("@@/20 @@", countitem(CaveSnakeTongue), getitemlink(CaveSnakeTongue));
+ mesc l("@@/15 @@", countitem(MoubooSteak), getitemlink(MoubooSteak));
+ next;
+ select
+ l("I'll be back later with all ingredients."),
+ l("They're with me.");
+ mes "";
+ if (@menu == 1)
+ close;
+
+ if (countitem(CactusDrink) < 100 ||
+ countitem(HardSpike) < 60 ||
+ countitem(SmallMushroom) < 45 ||
+ countitem(SnakeTongue) < 40 ||
+ countitem(BottleOfTonoriWater) < 30 ||
+ countitem(CaveSnakeTongue) < 20 ||
+ countitem(MoubooSteak) < 15)
+ goto L_Missing;
+
+ inventoryplace ElixirOfLife, 1;
+
+ delitem CactusDrink, 100;
+ delitem HardSpike, 60;
+ delitem SmallMushroom, 45;
+ delitem SnakeTongue, 40;
+ delitem BottleOfTonoriWater, 30;
+ delitem CaveSnakeTongue, 20;
+ delitem MoubooSteak, 15;
+ getitem ElixirOfLife, 1;
+ setq HalinarzoQuest_SickWife, 3;
+ mesn;
+ mesq l("Thanks, I'll just bake the Elixir right away...!");
+ next;
+ mesc l("@@ goes away for a while and returns briefly.", .name$);
+ next;
+ mesn;
+ mesq l("Here, take the Elixir. Please, bring it to my wife! I am counting on you!!");
+ close;
+
+L_Missing:
+ mesn strcharinfo(0);
+ mesq l("Except they're not. I'll be back later.");
+ next;
+ mesn;
+ mesq l("Please, @@! Hurry up!", strcharinfo(0));
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ //setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, VneckJumper);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 3);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 5);
+ npcsit;
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/009-5/luanna.txt b/npc/009-5/luanna.txt
new file mode 100644
index 0000000..c2b570b
--- /dev/null
+++ b/npc/009-5/luanna.txt
@@ -0,0 +1,30 @@
+// TMW2 Script
+// Author:
+// Jesusalva, 4144
+// Description:
+// Luanna is responsible for marriage. Subject to change stuff later.
+
+009-5,32,29,0 script Luanna NPC_FEMALE,{
+ marriagemain();
+ close;
+
+OnTimer30000:
+ marriagecheck();
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, VneckJumper);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 10);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 5);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ initnpctimer;
+
+ end;
+
+}
diff --git a/npc/009-6/_import.txt b/npc/009-6/_import.txt
new file mode 100644
index 0000000..ceb575e
--- /dev/null
+++ b/npc/009-6/_import.txt
@@ -0,0 +1,5 @@
+// Map 009-6: Real Estate
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/009-6/_warps.txt",
+"npc/009-6/doorbell.txt",
+"npc/009-6/utils.txt",
diff --git a/npc/009-6/_warps.txt b/npc/009-6/_warps.txt
new file mode 100644
index 0000000..b489496
--- /dev/null
+++ b/npc/009-6/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 009-6: Real Estate warps
+009-6,34,34,0 warp #009-6_34_34 1,0,009-1,43,48
diff --git a/npc/009-6/doorbell.txt b/npc/009-6/doorbell.txt
new file mode 100644
index 0000000..2f67968
--- /dev/null
+++ b/npc/009-6/doorbell.txt
@@ -0,0 +1,329 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Real Estate System
+// Doorbell allows you to purchase mobilia, besides loading it when server starts
+// Each layer can have 32 different furniture pieces because bitmask limit.
+// This file is custom to every room
+
+// ID: 4
+// $ESTATE_OWNER[.id] → Account ID owner of the Real Estate
+// $ESTATE_OWNERNAME$[.id] → Human readable name of Real Estate owner
+// $ESTATE_RENTTIME[.id] → When the rent will expire
+// $ESTATE_MOBILIA_2[.id] → Bitmask of mobilia currently purchased on Monster Collision (6) (Use on walls only)
+// $ESTATE_MOBILIA_4[.id] → Bitmask of mobilia currently purchased on Air Collision (2)
+// $ESTATE_MOBILIA_8[.id] → Bitmask of mobilia currently purchased on Water Collision (3)
+// $ESTATE_MOBILIA_32[.id] → Bitmask of mobilia currently purchased on Yellow Collision (4)
+// $ESTATE_MOBILIA_64[.id] → Bitmask of mobilia currently purchased on Normal Collision (1)
+// $ESTATE_MOBILIA_128[.id] → Bitmask of mobilia currently purchased on Player Collision (5)
+// $ESTATE_PASSWORD$[.id] → Password to enter the estate. If it is "", then no password required
+// Note: GMs and Administrators can always use super password "mouboo" to enter a locked estate
+// $ESTATE_DOORBELL[.id] → If doorbell is disabled (enabled by default)
+
+// REAL_ESTATE_CREDITS → Credits equivalent to GP the player have. Will be used first.
+
+// The sign is the main controller
+009-6,32,34,0 script Doorbell#RES_0096 NPC_NO_SPRITE,{
+ // Name, Layer, Price, ID, x1, y1, x2, y2,
+ function create_object {
+ array_push(.nams$, getarg(0));
+ array_push(.layer, getarg(1));
+ array_push(.price, getarg(2));
+ array_push(.objid, getarg(3));
+ array_push(.x1, getarg(4));
+ array_push(.y1, getarg(5));
+ array_push(.x2, getarg(6));
+ array_push(.y2, getarg(7));
+ return;
+ }
+
+ if ($ESTATE_OWNER[.id] == getcharid(3))
+ goto L_Manage;
+
+ mesc l("This estate currently belongs to @@.", $ESTATE_OWNERNAME$[.id]);
+ close;
+
+// When using setcells() a player could get trapped!
+// This label will slide the player back to entrance, which should be a safe spot
+OnSlide:
+ slide 33, 33;
+ end;
+
+// If someone press the doorbell from outside and doorbell is enabled
+OnDoorbell:
+ if ($ESTATE_DOORBELL[.id])
+ end;
+
+ if (.dpost < gettimetick(2)) {
+ npctalk (strcharinfo(0)+" is pressing the doorbell."); // We actually don't want l()
+ }
+ .dpost=gettimetick(2)+.delay;
+ end;
+
+// Managment Menu
+L_Manage:
+ mesc l("@@'s Estate", strcharinfo(0));
+ mesc ".:: "+ l("Managment Menu") + " ::.";
+
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+ mesc l("Rent time available: @@", FuzzyTime($ESTATE_RENTTIME[.id]));
+ mesc l("Total Credits and GP: @@", format_number(.@gp));
+ mes "";
+ mesc l("Room password: @@", $ESTATE_PASSWORD$[.id]);
+ if ($ESTATE_DOORBELL[.id])
+ mesc l("Doorbell is disabled"), 1;
+
+ next;
+ select
+ l("Leave"),
+ l("Enable/disable doorbell"),
+ l("Manage Furniture"),
+ l("Set room password");
+
+ switch (@menu) {
+ case 1:
+ close;
+ break;
+ case 2:
+ $ESTATE_DOORBELL[.id]=!$ESTATE_DOORBELL[.id];
+ break;
+ case 3:
+ goto L_Furniture;
+ break;
+ case 4:
+ mesc l("(Leave the password blank to disable)");
+ mesc l("Current Room password: @@", $ESTATE_PASSWORD$[.id]);
+ mesc l("Input new password: ");
+ input .@password$;
+ mesc l("Repeat new password: ");
+ input .@passwordc$;
+ if (.@password$ == .@passwordc$) {
+ $ESTATE_PASSWORD$[.id]=.@password$;
+ mesc l("Password changed with success!"), 3;
+ } else {
+ mesc l("The passwords doesn't match."), 1;
+ }
+ break;
+ }
+ goto L_Manage;
+
+L_Furniture:
+ mesc l("@@'s Estate", strcharinfo(0));
+ mesc ".:: "+ l("Furniture Menu") + " ::.";
+
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+ mesc l("Total Credits and GP: @@", format_number(.@gp));
+
+ next;
+ select
+ l("Finish"),
+ l("Manage Beds"),
+ l("Manage Utilities"),
+ l("Manage Luxury furniture"),
+ l("Manage Decoration"),
+ l("Manage Chairs"),
+ l("Manage Paintings");
+ mes "";
+
+ switch (@menu) {
+ case 1:
+ goto L_Manage;
+ break;
+ case 2:
+ mesc ".:: "+ l("Beds") + " ::.", 3;
+ @re_col=RES_OBJECTS;
+ break;
+ case 3:
+ mesc ".:: "+ l("Utilities") + " ::.", 3;
+ @re_col=RES_UTILITIES;
+ break;
+ case 4:
+ mesc ".:: "+ l("Luxury furniture") + " ::.", 3;
+ @re_col=RES_LUXURY;
+ break;
+ case 5:
+ mesc ".:: "+ l("Decoration") + " ::.", 3;
+ @re_col=RES_DECORATION;
+ break;
+ case 6:
+ mesc ".:: "+ l("Chairs") + " ::.", 3;
+ @re_col=RES_SITTABLE;
+ break;
+ case 7:
+ mesc ".:: "+ l("Paintings") + " ::.", 3;
+ @re_col=RES_WALLDECORATION;
+ break;
+ }
+
+// L_ContinuousLoop
+// Requires the following variables:
+// @re_col
+// Target Collision ID
+L_ContinuousLoop:
+ deletearray @valid_ids;
+
+ // Create a second array (@valid_ids) with the ID of objects within @re_col group
+ for (.@i=0; .@i < getarraysize(.layer); .@i++) {
+ //debugmes "Found object ID %d named %s on layer %s coords (%d,%d) - Looking for layer %d", .@i, .nams$[.@i], .layer[.@i], .x1[.@i], .y1[.@i], @re_col;
+ if (.layer[.@i] == @re_col)
+ array_push(@valid_ids, .@i);
+ }
+ //debugmes "Found %d valid objects", getarraysize(@valid_ids);
+
+ // Create the menu with @valid_ids - Check if you already have the item to decide if you're buying or selling
+ @menuentries$="Finish:";
+ for (.@j=0; .@j < getarraysize(@valid_ids); .@j++) {
+ .@i=@valid_ids[.@j];
+ if (realestate_hasmobilia(.id, .layer[.@i], .objid[.@i]))
+ @menuentries$+=l("Sell ")+.nams$[.@i]+l(" for ") + format_number( realestate_sellprice(.id,.price[.@i]) ) +":";
+ else
+ @menuentries$+=l("Purchase ")+.nams$[.@i]+(" for ") + format_number( .price[.@i] )+":";
+ }
+ select (@menuentries$);
+ mes "";
+
+ // First option to return to previous menu
+ if (@menu == 1)
+ goto L_Furniture;
+
+ // Otherwise, we know then that (@menu-2) is the ID in @valid_ids
+ // So we save .@id with the correct ID in object arrays.
+ // We also calculate how much aggregated money you have.
+ .@id=@valid_ids[@menu-2];
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+
+ if (realestate_hasmobilia(.id, .layer[.@id], .objid[.@id])) {
+ // If you have the mobilia, you're selling it for Mobiliary Credits
+ delcells realestate_cellname(.id, .@id);
+ realestate_togglemobilia(.id, .layer[.@id], .objid[.@id], "NPCs#RES_0096");
+ REAL_ESTATE_CREDITS+=realestate_sellprice(.id,.price[.@i]);
+ mesc l("Sale successful!");
+ next;
+ } else {
+ // Else, you're buying it, so we must check if you have the moolah first
+ .@price=.price[.@id];
+ if (.@gp > .@price) {
+ realestate_payment(.@price);
+ setcells .mapa$, .x1[.@id], .y1[.@id], .x2[.@id], .y2[.@id], .layer[.@id], realestate_cellname(.id, .@id);
+ areatimer(.mapa$, .x1[.@id], .y1[.@id], .x2[.@id], .y2[.@id], 10, "::OnSlide");
+ realestate_togglemobilia(.id, .layer[.@id], .objid[.@id], "NPCs#RES_0096");
+ mesc l("Purchase successful!");
+ next;
+ } else {
+ mesc l("Not enough funds!");
+ next;
+ }
+ }
+
+ // This loops forever
+ goto L_ContinuousLoop;
+
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+
+ // Estate Settings
+ .id=4; // Estate ID
+ .delay=15; // Forced wait between rings
+ .dpost=0; // Last doorbell ring
+ .mapa$="009-6";
+
+ // Arrays
+ // We go element by element on the array building the menu
+ .nams$="";
+ .layer=0;
+ .price=0;
+ .objid=0;
+ .x1=0;
+ .y1=0;
+ .x2=0;
+ .y2=0;
+
+ // Furniture Settings
+ // Name, Collision Layer, Price, ID, x1, y1, x2, y2
+ // For Collision Layer, see constants.conf ("Real Estate Collisions")
+ create_object("Placeholder" ,99,999999,99999, 99, 99, 99, 99);
+
+ create_object("Bed 01" , 5, 5000, 1, 26, 27, 27, 30);
+ create_object("Bed 02" , 5, 5000, 2, 28, 27, 29, 30);
+
+ create_object("Wardrobe" , 1, 7000, 1, 21, 23, 22, 23);
+ create_object("Stovetop" , 1, 10000, 2, 28, 23, 29, 24);
+ create_object("Shelf 01" , 1, 2000, 4, 25, 23, 25, 23);
+ create_object("Shelf 02" , 1, 2000, 8, 26, 23, 26, 23);
+ create_object("Shelf 03" , 1, 2000, 16, 27, 23, 27, 23);
+ create_object("Shelf 04" , 1, 2000, 32, 30, 23, 30, 23);
+ create_object("Shelf 05" , 1, 2000, 64, 31, 23, 31, 23);
+ create_object("Shelf 06" , 1, 2000, 128, 32, 23, 32, 23);
+ create_object("Shelf 07" , 1, 2000, 256, 33, 23, 33, 23);
+ create_object("Shelf 08" , 1, 2000, 512, 34, 23, 34, 23);
+ create_object("Shelf 09" , 1, 2000, 1024, 35, 23, 35, 23);
+ create_object("Shelf 10" , 1, 2000, 2048, 36, 23, 36, 23);
+ create_object("Shelf 11" , 1, 2000, 4096, 37, 23, 37, 23);
+ create_object("Shelf 12" , 1, 2000, 8192, 38, 23, 38, 23);
+
+ create_object("Piano" , 3, 10000, 1, 33, 25, 35, 25);
+
+ create_object("Left Desk" , 2, 5000, 1, 20, 25, 22, 27);
+ create_object("Right Desk" , 2, 5000, 2, 36, 30, 38, 32);
+
+ create_object("Left Chair" , 4, 2000, 1, 21, 28, 21, 28);
+ create_object("Right Chair" , 4, 2000, 2, 37, 29, 37, 29);
+
+ create_object("Painting 01" , 6, 3000, 1, 21, 20, 21, 20);
+ create_object("Painting 02" , 6, 3000, 2, 23, 21, 23, 21);
+ create_object("Painting 03" , 6, 3000, 4, 25, 20, 25, 20);
+ create_object("Painting 04" , 6, 3000, 8, 28, 21, 28, 21);
+ create_object("Painting 05" , 6, 3000, 16, 31, 20, 31, 20);
+ create_object("Painting 06" , 6, 3000, 32, 36, 20, 36, 20);
+
+ // Load Mobilia already existing
+ //debugmes "[REAL ESTATE] Now loading mobilia";
+ for (.@i=0; .@i < getarraysize(.layer); .@i++) {
+ switch (.layer[.@i]) {
+ case 1:
+ if ($ESTATE_MOBILIA_64[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 2:
+ if ($ESTATE_MOBILIA_4[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 3:
+ if ($ESTATE_MOBILIA_8[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 4:
+ if ($ESTATE_MOBILIA_32[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 5:
+ if ($ESTATE_MOBILIA_128[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 6:
+ if ($ESTATE_MOBILIA_2[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ default:
+ // We do nothing by default
+ //debugmes("[ERROR] [CRITICAL] [REAL ESTATE]: Object %d have Invalid Collision Type: %d (must range 1~6)", .@i, .layer[.@i]);
+ break;
+ }
+ }
+ //debugmes "Found %d valid objects", getarraysize(.valid_ids);
+ for (.@j=0; .@j < getarraysize(.valid_ids); .@j++) {
+ .@id=.valid_ids[.@j];
+ setcells .mapa$, .x1[.@id], .y1[.@id], .x2[.@id], .y2[.@id], .layer[.@id], realestate_cellname(.id, .@id);
+ //debugmes "Creating %s in %s", realestate_cellname(.id, .@id), .mapa$;
+ }
+ deletearray .valid_ids;
+ // Load NPCs
+ donpcevent "NPCs#RES_0096::OnReload";
+ end;
+
+}
+
+
diff --git a/npc/009-6/utils.txt b/npc/009-6/utils.txt
new file mode 100644
index 0000000..65ffbb2
--- /dev/null
+++ b/npc/009-6/utils.txt
@@ -0,0 +1,74 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Real Estate System
+// Utils take care of NPCs - Their code, and enable/disable using check_cell
+// This file is custom to every room
+
+// ID: 4
+// $ESTATE_OWNER[.id] → Account ID owner of the Real Estate
+// $ESTATE_OWNERNAME$[.id] → Human readable name of Real Estate owner
+// $ESTATE_RENTTIME[.id] → When the rent will expire
+// $ESTATE_MOBILIA_2[.id] → Bitmask of mobilia currently purchased on Monster Collision (6) (Use on walls only)
+// $ESTATE_MOBILIA_4[.id] → Bitmask of mobilia currently purchased on Air Collision (2)
+// $ESTATE_MOBILIA_8[.id] → Bitmask of mobilia currently purchased on Water Collision (3)
+// $ESTATE_MOBILIA_32[.id] → Bitmask of mobilia currently purchased on Yellow Collision (4)
+// $ESTATE_MOBILIA_64[.id] → Bitmask of mobilia currently purchased on Player Collision (5)
+// $ESTATE_MOBILIA_128[.id] → Bitmask of mobilia currently purchased on Normal Collision (1)
+// $ESTATE_PASSWORD$[.id] → Password to enter the estate. If it is "", then no password required
+// Note: GMs and Administrators can always use super password "mouboo" to enter a locked estate
+// $ESTATE_DOORBELL[.id] → If doorbell is disabled (enabled by default)
+
+// REAL_ESTATE_CREDITS → Credits equivalent to GP the player have. Will be used first.
+
+// The sign is the main controller for rent system
+// Doorbell is the main controller for indoor
+// This is the NPC script controller
+009-6,0,0,0 script NPCs#RES_0096 NPC_HIDDEN,{
+ // load_npc ( name , map, x , y{, cell} )
+ function load_npc {
+ if (checknpccell(getarg(1), getarg(2), getarg(3), getarg(4, cell_chknopass))) {
+ enablenpc getarg(0);
+ //debugmes "ENABLING NPC %s", getarg(0);
+ } else {
+ disablenpc getarg(0);
+ //debugmes "Disabling NPC %s", getarg(0);
+ }
+
+ /*
+ debugmes "----- %s (%d,%d) cell report", getarg(1), getarg(2), getarg(3);
+ debugmes "cell_chknopass: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chknopass);
+ debugmes "cell_chknoreach: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chknoreach);
+ debugmes "cell_chkbasilica: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chkbasilica);
+ debugmes "";
+ debugmes "cell_chkwater: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chkwater);
+ debugmes "cell_chkwall: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chkwall);
+ debugmes "cell_chkcliff: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chkcliff);
+ debugmes "----- Npc Id: %s", getarg(0);
+ */
+ return;
+ }
+ end;
+
+OnInit:
+ // Estate Settings
+ .id=4; // Estate ID
+ .mapa$="009-6"; // Map name
+
+ // NPC Settings
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+
+// Load or unload accordingly
+OnReload:
+ //debugmes "[REAL ESTATE] NPC ONRELOAD";
+ // load_npc ( name , map, x , y{, cell} )
+ load_npc("Wardrobe#RES_0096", .mapa$, 21, 23);
+ load_npc("Piano#RES_0096" , .mapa$, 34, 25);
+ end;
+
+}
+
+
diff --git a/npc/009-7/_import.txt b/npc/009-7/_import.txt
new file mode 100644
index 0000000..bd2aad1
--- /dev/null
+++ b/npc/009-7/_import.txt
@@ -0,0 +1,5 @@
+// Map 009-7: Real Estate
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/009-7/_warps.txt",
+"npc/009-7/doorbell.txt",
+"npc/009-7/utils.txt",
diff --git a/npc/009-7/_warps.txt b/npc/009-7/_warps.txt
new file mode 100644
index 0000000..51b82ba
--- /dev/null
+++ b/npc/009-7/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 009-7: Real Estate warps
+009-7,34,34,0 warp #009-7_34_34 1,0,009-1,109,46
diff --git a/npc/009-7/doorbell.txt b/npc/009-7/doorbell.txt
new file mode 100644
index 0000000..0898dc3
--- /dev/null
+++ b/npc/009-7/doorbell.txt
@@ -0,0 +1,329 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Real Estate System
+// Doorbell allows you to purchase mobilia, besides loading it when server starts
+// Each layer can have 32 different furniture pieces because bitmask limit.
+// This file is custom to every room
+
+// ID: 5
+// $ESTATE_OWNER[.id] → Account ID owner of the Real Estate
+// $ESTATE_OWNERNAME$[.id] → Human readable name of Real Estate owner
+// $ESTATE_RENTTIME[.id] → When the rent will expire
+// $ESTATE_MOBILIA_2[.id] → Bitmask of mobilia currently purchased on Monster Collision (6) (Use on walls only)
+// $ESTATE_MOBILIA_4[.id] → Bitmask of mobilia currently purchased on Air Collision (2)
+// $ESTATE_MOBILIA_8[.id] → Bitmask of mobilia currently purchased on Water Collision (3)
+// $ESTATE_MOBILIA_32[.id] → Bitmask of mobilia currently purchased on Yellow Collision (4)
+// $ESTATE_MOBILIA_64[.id] → Bitmask of mobilia currently purchased on Normal Collision (1)
+// $ESTATE_MOBILIA_128[.id] → Bitmask of mobilia currently purchased on Player Collision (5)
+// $ESTATE_PASSWORD$[.id] → Password to enter the estate. If it is "", then no password required
+// Note: GMs and Administrators can always use super password "mouboo" to enter a locked estate
+// $ESTATE_DOORBELL[.id] → If doorbell is disabled (enabled by default)
+
+// REAL_ESTATE_CREDITS → Credits equivalent to GP the player have. Will be used first.
+
+// The sign is the main controller
+009-7,32,34,0 script Doorbell#RES_0097 NPC_NO_SPRITE,{
+ // Name, Layer, Price, ID, x1, y1, x2, y2,
+ function create_object {
+ array_push(.nams$, getarg(0));
+ array_push(.layer, getarg(1));
+ array_push(.price, getarg(2));
+ array_push(.objid, getarg(3));
+ array_push(.x1, getarg(4));
+ array_push(.y1, getarg(5));
+ array_push(.x2, getarg(6));
+ array_push(.y2, getarg(7));
+ return;
+ }
+
+ if ($ESTATE_OWNER[.id] == getcharid(3))
+ goto L_Manage;
+
+ mesc l("This estate currently belongs to @@.", $ESTATE_OWNERNAME$[.id]);
+ close;
+
+// When using setcells() a player could get trapped!
+// This label will slide the player back to entrance, which should be a safe spot
+OnSlide:
+ slide 33, 33;
+ end;
+
+// If someone press the doorbell from outside and doorbell is enabled
+OnDoorbell:
+ if ($ESTATE_DOORBELL[.id])
+ end;
+
+ if (.dpost < gettimetick(2)) {
+ npctalk (strcharinfo(0)+" is pressing the doorbell."); // We actually don't want l()
+ }
+ .dpost=gettimetick(2)+.delay;
+ end;
+
+// Managment Menu
+L_Manage:
+ mesc l("@@'s Estate", strcharinfo(0));
+ mesc ".:: "+ l("Managment Menu") + " ::.";
+
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+ mesc l("Rent time available: @@", FuzzyTime($ESTATE_RENTTIME[.id]));
+ mesc l("Total Credits and GP: @@", format_number(.@gp));
+ mes "";
+ mesc l("Room password: @@", $ESTATE_PASSWORD$[.id]);
+ if ($ESTATE_DOORBELL[.id])
+ mesc l("Doorbell is disabled"), 1;
+
+ next;
+ select
+ l("Leave"),
+ l("Enable/disable doorbell"),
+ l("Manage Furniture"),
+ l("Set room password");
+
+ switch (@menu) {
+ case 1:
+ close;
+ break;
+ case 2:
+ $ESTATE_DOORBELL[.id]=!$ESTATE_DOORBELL[.id];
+ break;
+ case 3:
+ goto L_Furniture;
+ break;
+ case 4:
+ mesc l("(Leave the password blank to disable)");
+ mesc l("Current Room password: @@", $ESTATE_PASSWORD$[.id]);
+ mesc l("Input new password: ");
+ input .@password$;
+ mesc l("Repeat new password: ");
+ input .@passwordc$;
+ if (.@password$ == .@passwordc$) {
+ $ESTATE_PASSWORD$[.id]=.@password$;
+ mesc l("Password changed with success!"), 3;
+ } else {
+ mesc l("The passwords doesn't match."), 1;
+ }
+ break;
+ }
+ goto L_Manage;
+
+L_Furniture:
+ mesc l("@@'s Estate", strcharinfo(0));
+ mesc ".:: "+ l("Furniture Menu") + " ::.";
+
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+ mesc l("Total Credits and GP: @@", format_number(.@gp));
+
+ next;
+ select
+ l("Finish"),
+ l("Manage Beds"),
+ l("Manage Utilities"),
+ l("Manage Luxury furniture"),
+ l("Manage Decoration"),
+ l("Manage Chairs"),
+ l("Manage Paintings");
+ mes "";
+
+ switch (@menu) {
+ case 1:
+ goto L_Manage;
+ break;
+ case 2:
+ mesc ".:: "+ l("Beds") + " ::.", 3;
+ @re_col=RES_OBJECTS;
+ break;
+ case 3:
+ mesc ".:: "+ l("Utilities") + " ::.", 3;
+ @re_col=RES_UTILITIES;
+ break;
+ case 4:
+ mesc ".:: "+ l("Luxury furniture") + " ::.", 3;
+ @re_col=RES_LUXURY;
+ break;
+ case 5:
+ mesc ".:: "+ l("Decoration") + " ::.", 3;
+ @re_col=RES_DECORATION;
+ break;
+ case 6:
+ mesc ".:: "+ l("Chairs") + " ::.", 3;
+ @re_col=RES_SITTABLE;
+ break;
+ case 7:
+ mesc ".:: "+ l("Paintings") + " ::.", 3;
+ @re_col=RES_WALLDECORATION;
+ break;
+ }
+
+// L_ContinuousLoop
+// Requires the following variables:
+// @re_col
+// Target Collision ID
+L_ContinuousLoop:
+ deletearray @valid_ids;
+
+ // Create a second array (@valid_ids) with the ID of objects within @re_col group
+ for (.@i=0; .@i < getarraysize(.layer); .@i++) {
+ //debugmes "Found object ID %d named %s on layer %s coords (%d,%d) - Looking for layer %d", .@i, .nams$[.@i], .layer[.@i], .x1[.@i], .y1[.@i], @re_col;
+ if (.layer[.@i] == @re_col)
+ array_push(@valid_ids, .@i);
+ }
+ //debugmes "Found %d valid objects", getarraysize(@valid_ids);
+
+ // Create the menu with @valid_ids - Check if you already have the item to decide if you're buying or selling
+ @menuentries$="Finish:";
+ for (.@j=0; .@j < getarraysize(@valid_ids); .@j++) {
+ .@i=@valid_ids[.@j];
+ if (realestate_hasmobilia(.id, .layer[.@i], .objid[.@i]))
+ @menuentries$+=l("Sell ")+.nams$[.@i]+l(" for ") + format_number( realestate_sellprice(.id,.price[.@i]) ) +":";
+ else
+ @menuentries$+=l("Purchase ")+.nams$[.@i]+(" for ") + format_number( .price[.@i] )+":";
+ }
+ select (@menuentries$);
+ mes "";
+
+ // First option to return to previous menu
+ if (@menu == 1)
+ goto L_Furniture;
+
+ // Otherwise, we know then that (@menu-2) is the ID in @valid_ids
+ // So we save .@id with the correct ID in object arrays.
+ // We also calculate how much aggregated money you have.
+ .@id=@valid_ids[@menu-2];
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+
+ if (realestate_hasmobilia(.id, .layer[.@id], .objid[.@id])) {
+ // If you have the mobilia, you're selling it for Mobiliary Credits
+ delcells realestate_cellname(.id, .@id);
+ realestate_togglemobilia(.id, .layer[.@id], .objid[.@id], "NPCs#RES_0097");
+ REAL_ESTATE_CREDITS+=realestate_sellprice(.id,.price[.@i]);
+ mesc l("Sale successful!");
+ next;
+ } else {
+ // Else, you're buying it, so we must check if you have the moolah first
+ .@price=.price[.@id];
+ if (.@gp > .@price) {
+ realestate_payment(.@price);
+ setcells .mapa$, .x1[.@id], .y1[.@id], .x2[.@id], .y2[.@id], .layer[.@id], realestate_cellname(.id, .@id);
+ areatimer(.mapa$, .x1[.@id], .y1[.@id], .x2[.@id], .y2[.@id], 10, "::OnSlide");
+ realestate_togglemobilia(.id, .layer[.@id], .objid[.@id], "NPCs#RES_0097");
+ mesc l("Purchase successful!");
+ next;
+ } else {
+ mesc l("Not enough funds!");
+ next;
+ }
+ }
+
+ // This loops forever
+ goto L_ContinuousLoop;
+
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+
+ // Estate Settings
+ .id=5; // Estate ID
+ .delay=15; // Forced wait between rings
+ .dpost=0; // Last doorbell ring
+ .mapa$="009-7";
+
+ // Arrays
+ // We go element by element on the array building the menu
+ .nams$="";
+ .layer=0;
+ .price=0;
+ .objid=0;
+ .x1=0;
+ .y1=0;
+ .x2=0;
+ .y2=0;
+
+ // Furniture Settings
+ // Name, Collision Layer, Price, ID, x1, y1, x2, y2
+ // For Collision Layer, see constants.conf ("Real Estate Collisions")
+ create_object("Placeholder" ,99,999999,99999, 99, 99, 99, 99);
+
+ create_object("Bed 01" , 5, 5000, 1, 26, 27, 27, 30);
+ create_object("Bed 02" , 5, 5000, 2, 28, 27, 29, 30);
+
+ create_object("Wardrobe" , 1, 7000, 1, 21, 23, 22, 23);
+ create_object("Stovetop" , 1, 10000, 2, 28, 23, 29, 24);
+ create_object("Shelf 01" , 1, 2000, 4, 25, 23, 25, 23);
+ create_object("Shelf 02" , 1, 2000, 8, 26, 23, 26, 23);
+ create_object("Shelf 03" , 1, 2000, 16, 27, 23, 27, 23);
+ create_object("Shelf 04" , 1, 2000, 32, 30, 23, 30, 23);
+ create_object("Shelf 05" , 1, 2000, 64, 31, 23, 31, 23);
+ create_object("Shelf 06" , 1, 2000, 128, 32, 23, 32, 23);
+ create_object("Shelf 07" , 1, 2000, 256, 33, 23, 33, 23);
+ create_object("Shelf 08" , 1, 2000, 512, 34, 23, 34, 23);
+ create_object("Shelf 09" , 1, 2000, 1024, 35, 23, 35, 23);
+ create_object("Shelf 10" , 1, 2000, 2048, 36, 23, 36, 23);
+ create_object("Shelf 11" , 1, 2000, 4096, 37, 23, 37, 23);
+ create_object("Shelf 12" , 1, 2000, 8192, 38, 23, 38, 23);
+
+ create_object("Piano" , 3, 10000, 1, 33, 25, 35, 25);
+
+ create_object("Left Desk" , 2, 5000, 1, 20, 25, 22, 27);
+ create_object("Right Desk" , 2, 5000, 2, 36, 30, 38, 32);
+
+ create_object("Left Chair" , 4, 2000, 1, 21, 28, 21, 28);
+ create_object("Right Chair" , 4, 2000, 2, 37, 29, 37, 29);
+
+ create_object("Painting 01" , 6, 3000, 1, 21, 20, 21, 20);
+ create_object("Painting 02" , 6, 3000, 2, 23, 21, 23, 21);
+ create_object("Painting 03" , 6, 3000, 4, 25, 20, 25, 20);
+ create_object("Painting 04" , 6, 3000, 8, 28, 21, 28, 21);
+ create_object("Painting 05" , 6, 3000, 16, 31, 20, 31, 20);
+ create_object("Painting 06" , 6, 3000, 32, 36, 20, 36, 20);
+
+ // Load Mobilia already existing
+ //debugmes "[REAL ESTATE] Now loading mobilia";
+ for (.@i=0; .@i < getarraysize(.layer); .@i++) {
+ switch (.layer[.@i]) {
+ case 1:
+ if ($ESTATE_MOBILIA_64[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 2:
+ if ($ESTATE_MOBILIA_4[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 3:
+ if ($ESTATE_MOBILIA_8[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 4:
+ if ($ESTATE_MOBILIA_32[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 5:
+ if ($ESTATE_MOBILIA_128[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 6:
+ if ($ESTATE_MOBILIA_2[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ default:
+ // We do nothing by default
+ //debugmes("[ERROR] [CRITICAL] [REAL ESTATE]: Object %d have Invalid Collision Type: %d (must range 1~6)", .@i, .layer[.@i]);
+ break;
+ }
+ }
+ //debugmes "Found %d valid objects", getarraysize(.valid_ids);
+ for (.@j=0; .@j < getarraysize(.valid_ids); .@j++) {
+ .@id=.valid_ids[.@j];
+ setcells .mapa$, .x1[.@id], .y1[.@id], .x2[.@id], .y2[.@id], .layer[.@id], realestate_cellname(.id, .@id);
+ //debugmes "Creating %s in %s", realestate_cellname(.id, .@id), .mapa$;
+ }
+ deletearray .valid_ids;
+ // Load NPCs
+ donpcevent "NPCs#RES_0097::OnReload";
+ end;
+
+}
+
+
diff --git a/npc/009-7/utils.txt b/npc/009-7/utils.txt
new file mode 100644
index 0000000..424a1f7
--- /dev/null
+++ b/npc/009-7/utils.txt
@@ -0,0 +1,73 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Real Estate System
+// Utils take care of NPCs - Their code, and enable/disable using check_cell
+// This file is custom to every room
+
+// ID: 5
+// $ESTATE_OWNER[.id] → Account ID owner of the Real Estate
+// $ESTATE_OWNERNAME$[.id] → Human readable name of Real Estate owner
+// $ESTATE_RENTTIME[.id] → When the rent will expire
+// $ESTATE_MOBILIA_2[.id] → Bitmask of mobilia currently purchased on Monster Collision (6) (Use on walls only)
+// $ESTATE_MOBILIA_4[.id] → Bitmask of mobilia currently purchased on Air Collision (2)
+// $ESTATE_MOBILIA_8[.id] → Bitmask of mobilia currently purchased on Water Collision (3)
+// $ESTATE_MOBILIA_32[.id] → Bitmask of mobilia currently purchased on Yellow Collision (4)
+// $ESTATE_MOBILIA_64[.id] → Bitmask of mobilia currently purchased on Player Collision (5)
+// $ESTATE_MOBILIA_128[.id] → Bitmask of mobilia currently purchased on Normal Collision (1)
+// $ESTATE_PASSWORD$[.id] → Password to enter the estate. If it is "", then no password required
+// Note: GMs and Administrators can always use super password "mouboo" to enter a locked estate
+// $ESTATE_DOORBELL[.id] → If doorbell is disabled (enabled by default)
+
+// REAL_ESTATE_CREDITS → Credits equivalent to GP the player have. Will be used first.
+
+// The sign is the main controller for rent system
+// Doorbell is the main controller for indoor
+// This is the NPC script controller
+009-7,0,0,0 script NPCs#RES_0097 NPC_HIDDEN,{
+ // load_npc ( name , map, x , y{, cell} )
+ function load_npc {
+ if (checknpccell(getarg(1), getarg(2), getarg(3), getarg(4, cell_chknopass))) {
+ enablenpc getarg(0);
+ //debugmes "ENABLING NPC %s", getarg(0);
+ } else {
+ disablenpc getarg(0);
+ //debugmes "Disabling NPC %s", getarg(0);
+ }
+
+ /*
+ debugmes "----- %s (%d,%d) cell report", getarg(1), getarg(2), getarg(3);
+ debugmes "cell_chknopass: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chknopass);
+ debugmes "cell_chknoreach: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chknoreach);
+ debugmes "cell_chkbasilica: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chkbasilica);
+ debugmes "";
+ debugmes "cell_chkwater: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chkwater);
+ debugmes "cell_chkwall: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chkwall);
+ debugmes "cell_chkcliff: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chkcliff);
+ debugmes "----- Npc Id: %s", getarg(0);
+ */
+ return;
+ }
+ end;
+
+OnInit:
+ // Estate Settings
+ .id=5; // Estate ID
+ .mapa$="009-7"; // Map name
+
+ // NPC Settings
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+
+// Load or unload accordingly
+OnReload:
+ //debugmes "[REAL ESTATE] NPC ONRELOAD";
+ // load_npc ( name , map, x , y{, cell} )
+ load_npc("Wardrobe#RES_0097", .mapa$, 21, 23);
+ load_npc("Piano#RES_0097" , .mapa$, 34, 25);
+ end;
+
+}
+
diff --git a/npc/010-1-1/_import.txt b/npc/010-1-1/_import.txt
new file mode 100644
index 0000000..0cf7810
--- /dev/null
+++ b/npc/010-1-1/_import.txt
@@ -0,0 +1,6 @@
+// Map 010-1-1: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-1-1/_mobs.txt",
+"npc/010-1-1/_warps.txt",
+"npc/010-1-1/boss.txt",
+"npc/010-1-1/treasure.txt",
diff --git a/npc/010-1-1/_mobs.txt b/npc/010-1-1/_mobs.txt
new file mode 100644
index 0000000..e4b28e7
--- /dev/null
+++ b/npc/010-1-1/_mobs.txt
@@ -0,0 +1,11 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-1: Canyon Cave mobs
+010-1-1,0,0,0,0 monster Cave Maggot 1027,130,35000,150000
+010-1-1,124,52,4,3 monster Desert Maggot 1083,2,35000,150000
+010-1-1,83,118,4,3 monster Desert Maggot 1083,2,35000,150000
+010-1-1,109,95,26,24 monster Scorpion 1071,8,35000,150000
+010-1-1,135,88,20,20 monster Bat 1039,7,35000,150000
+010-1-1,165,49,17,19 monster Snake 1122,12,35000,150000
+010-1-1,0,0,0,0 monster Big Topaz Bif 1103,5,35000,150000
+010-1-1,109,38,78,14 monster Small Topaz Bif 1101,3,35000,150000
+010-1-1,64,41,12,23 monster Plushroom Field 1011,4,35000,150000
diff --git a/npc/010-1-1/_warps.txt b/npc/010-1-1/_warps.txt
new file mode 100644
index 0000000..5972511
--- /dev/null
+++ b/npc/010-1-1/_warps.txt
@@ -0,0 +1,24 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-1: Canyon Cave warps
+010-1-1,124,56,0 warp #010-1-1_124_56 0,0,010-2,86,112
+010-1-1,111,84,0 warp #010-1-1_111_84 0,0,010-1,86,40
+010-1-1,183,51,0 warp #010-1-1_183_51 0,0,010-2,131,113
+010-1-1,188,53,0 warp #010-1-1_188_53 0,0,010-2,134,114
+010-1-1,181,25,0 warp #010-1-1_181_25 0,0,010-2,121,98
+010-1-1,47,32,0 warp #010-1-1_47_32 0,0,010-2,37,97
+010-1-1,40,75,0 warp #010-1-1_40_75 0,0,010-1,46,52
+010-1-1,60,84,0 warp #010-1-1_60_84 0,0,010-4-1,41,56
+010-1-1,71,116,0 warp #010-1-1_71_116 0,0,010-1,77,84
+010-1-1,43,42,0 warp #010-1-1_43_42 0,0,010-2,34,102
+010-1-1,43,26,0 warp #010-1-1_43_26 0,0,010-1,45,30
+010-1-1,102,70,0 warp #010-1-1_102_70 0,0,010-1,104,67
+010-1-1,166,87,0 warp #010-1-1_166_87 0,0,010-1,124,63
+010-1-1,107,31,0 warp #010-1-1_107_31 0,0,010-1,95,34
+010-1-1,50,20,0 warp #010-1-1_50_20 0,0,010-2-14,34,21
+010-1-1,167,43,0 warp #010-1-1_167_43 0,0,010-2-6,60,58
+010-1-1,190,103,0 warp #010-1-1_190_103 0,0,010-2-10,36,50
+010-1-1,146,74,0 warp #010-1-1_146_74 0,0,010-1-6,86,40
+010-1-1,50,117,0 warp #010-1-1_50_117 0,0,010-1-5,62,80
+010-1-1,116,122,0 warp #010-1-1_116_122 0,0,004-2-4,103,22
+010-1-1,151,122,0 warp #010-1-1_151_122 0,0,004-2-4,134,25
+010-1-1,125,47,0 warp #010-1-1_125_47 0,0,010-1,107,42
diff --git a/npc/010-1-1/boss.txt b/npc/010-1-1/boss.txt
new file mode 100644
index 0000000..3ee49d7
--- /dev/null
+++ b/npc/010-1-1/boss.txt
@@ -0,0 +1,32 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Giant Cave Maggot Boss
+
+010-1-1,0,0,0 script #BossCtrl_010-1-1 NPC_HIDDEN,{
+ end;
+
+// Respawn every hour
+OnTimer3600000:
+ stopnpctimer;
+OnInit:
+ // WARNING: (51,19) INVALID COORDINATES
+ setarray .xp, 49, 51, 44, 101, 124, 164, 132, 154, 116;
+ setarray .yp, 59, 19, 100, 45, 26, 35, 61, 108, 94;
+ .@tg=rand(getarraysize(.xp)-1);
+ monster "010-1-1", .xp[.@tg], .yp[.@tg], strmobinfo(1, GiantCaveMaggot), GiantCaveMaggot, 1, "#BossCtrl_010-1-1::OnBossDeath";
+ end;
+
+OnBossDeath:
+ initnpctimer;
+ .@party=getcharid(1);
+ if (.@party > 0) {
+ mapannounce getmap(), "Boss deafeated by Party: " + getpartyname(.@party), bc_all;
+ } else {
+ mapannounce getmap(), "Boss deafeated by: " + strcharinfo(0), bc_all;
+ }
+ fix_mobkill(GiantCaveMaggot);
+ end;
+
+}
diff --git a/npc/010-1-1/treasure.txt b/npc/010-1-1/treasure.txt
new file mode 100644
index 0000000..5f2c1fb
--- /dev/null
+++ b/npc/010-1-1/treasure.txt
@@ -0,0 +1,61 @@
+// TMW2 Script
+
+// (Random) Treasure Chest
+// Authored by Jesusalva
+// Regenerates every 6 hours
+
+010-1-1,0,0,0 script #chest_010110 NPC_CHEST,{
+
+ if (!.busy && !.empty) {
+ TreasureBox();
+
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ .dir = .dir == 0 ? 2 : 6; // closed ? opening : closing
+ .busy = true; // lock until available again
+ initnpctimer;
+ } else if (!.busy) {
+ mesc l("Someone looted this treasure box already...");
+ } else {
+ end;
+ }
+ close;
+
+OnTimer160:
+ .dir = .dir == 6 ? 0 : 4; // closing ? closed : open
+ end;
+
+OnTimer500:
+ .busy = false; // unlock
+ if (.dir == 0 || .dir == 4)
+ stopnpctimer; // stop here if the chest is closed
+ end;
+
+OnInit:
+ .busy = false;
+ .distance = 2;
+ .empty = false;
+
+OnClock0156:
+OnClock0756:
+OnClock1356:
+OnClock1956:
+ // Try to warp randomly to a walkable spot, up to 20 attempts
+ // Otherwise, it'll stay where it already is (but will close and refill).
+ .@e=0; .@x=0; .@y=0;
+ while (!checkcell(.map$, .@x, .@y, cell_chkpass))
+ {
+ if (.@e == 20) {
+ .@x=.x;
+ .@y=.y;
+ break;
+ }
+ // Remember the +20 -20 margin adjustment
+ .@x = rand(20, 180);
+ .@y = rand(20, 120);
+ ++.@e;
+ }
+ .busy=false;
+ .empty=false;
+ movenpc .name$, .@x, .@y, 0;
+ end;
+}
diff --git a/npc/010-1-10/_import.txt b/npc/010-1-10/_import.txt
new file mode 100644
index 0000000..b88e251
--- /dev/null
+++ b/npc/010-1-10/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-1-10: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-1-10/_mobs.txt",
+"npc/010-1-10/_warps.txt",
diff --git a/npc/010-1-10/_mobs.txt b/npc/010-1-10/_mobs.txt
new file mode 100644
index 0000000..966dd8c
--- /dev/null
+++ b/npc/010-1-10/_mobs.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-10: Canyon Cave mobs
+010-1-10,0,0,0,0 monster Cave Maggot 1027,12,35000,150000
+010-1-10,55,31,4,3 monster Desert Maggot 1083,2,35000,150000
+010-1-10,45,25,14,4 monster Mountain Snake 1123,3,35000,150000
diff --git a/npc/010-1-10/_warps.txt b/npc/010-1-10/_warps.txt
new file mode 100644
index 0000000..c83dda9
--- /dev/null
+++ b/npc/010-1-10/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-10: Canyon Cave warps
+010-1-10,33,35,0 warp #010-1-10_33_35 0,0,010-2-4,53,21
+010-1-10,55,38,0 warp #010-1-10_55_38 0,0,010-1,91,49
diff --git a/npc/010-1-11/_import.txt b/npc/010-1-11/_import.txt
new file mode 100644
index 0000000..3c69cdc
--- /dev/null
+++ b/npc/010-1-11/_import.txt
@@ -0,0 +1,3 @@
+// Map 010-1-11: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-1-11/_warps.txt",
diff --git a/npc/010-1-11/_warps.txt b/npc/010-1-11/_warps.txt
new file mode 100644
index 0000000..f44c897
--- /dev/null
+++ b/npc/010-1-11/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-11: Canyon Cave warps
+010-1-11,36,30,0 warp #010-1-11_36_30 0,0,004-2-11,52,21
diff --git a/npc/010-1-12/_import.txt b/npc/010-1-12/_import.txt
new file mode 100644
index 0000000..e317f7b
--- /dev/null
+++ b/npc/010-1-12/_import.txt
@@ -0,0 +1,3 @@
+// Map 010-1-12: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-1-12/_warps.txt",
diff --git a/npc/010-1-12/_warps.txt b/npc/010-1-12/_warps.txt
new file mode 100644
index 0000000..3c5a961
--- /dev/null
+++ b/npc/010-1-12/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-12: Canyon Cave warps
+010-1-12,35,30,0 warp #010-1-12_35_30 0,0,004-2-4,118,43
diff --git a/npc/010-1-2/_import.txt b/npc/010-1-2/_import.txt
new file mode 100644
index 0000000..803275e
--- /dev/null
+++ b/npc/010-1-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-1-2: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-1-2/_mobs.txt",
+"npc/010-1-2/_warps.txt",
diff --git a/npc/010-1-2/_mobs.txt b/npc/010-1-2/_mobs.txt
new file mode 100644
index 0000000..22f0eb9
--- /dev/null
+++ b/npc/010-1-2/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-2: Canyon Cave mobs
+010-1-2,0,0,0,0 monster Cave Maggot 1027,50,35000,150000
diff --git a/npc/010-1-2/_warps.txt b/npc/010-1-2/_warps.txt
new file mode 100644
index 0000000..16e6258
--- /dev/null
+++ b/npc/010-1-2/_warps.txt
@@ -0,0 +1,11 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-2: Canyon Cave warps
+010-1-2,121,113,0 warp #010-1-2_121_113 0,0,010-2,190,109
+010-1-2,107,86,0 warp #010-1-2_107_86 0,0,010-2,149,120
+010-1-2,52,91,0 warp #010-1-2_52_91 0,0,010-1,124,54
+010-1-2,62,68,0 warp #010-1-2_62_68 0,0,010-2,106,126
+010-1-2,87,22,0 warp #010-1-2_87_22 0,0,010-2,160,67
+010-1-2,118,27,0 warp #010-1-2_118_27 0,0,010-2,173,79
+010-1-2,77,55,0 warp #010-1-2_77_55 0,0,010-2,126,120
+010-1-2,64,47,0 warp #010-1-2_64_47 0,0,010-2,112,102
+010-1-2,46,110,0 warp #010-1-2_46_110 0,0,004-2-4,121,21
diff --git a/npc/010-1-3/_import.txt b/npc/010-1-3/_import.txt
new file mode 100644
index 0000000..f4becbd
--- /dev/null
+++ b/npc/010-1-3/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-1-3: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-1-3/_mobs.txt",
+"npc/010-1-3/_warps.txt",
diff --git a/npc/010-1-3/_mobs.txt b/npc/010-1-3/_mobs.txt
new file mode 100644
index 0000000..3863478
--- /dev/null
+++ b/npc/010-1-3/_mobs.txt
@@ -0,0 +1,11 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-3: Canyon Cave mobs
+010-1-3,0,0,0,0 monster Cave Maggot 1027,12,35000,150000
+010-1-3,43,37,10,11 monster Scorpion 1071,3,35000,150000
+010-1-3,34,34,7,15 monster Snale 1098,2,35000,150000
+010-1-3,32,46,4,3 monster Desert Maggot 1083,2,35000,150000
+010-1-3,53,51,4,3 monster Desert Maggot 1083,2,35000,150000
+010-1-3,51,28,4,3 monster Desert Maggot 1083,2,35000,150000
+010-1-3,0,0,0,0 monster Cave Maggot 1027,4,35000,150000
+010-1-3,47,38,11,3 monster Cave Snale 1035,1,35000,150000
+010-1-3,0,0,0,0 monster Small Topaz Bif 1101,1,35000,150000
diff --git a/npc/010-1-3/_warps.txt b/npc/010-1-3/_warps.txt
new file mode 100644
index 0000000..0a6524f
--- /dev/null
+++ b/npc/010-1-3/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-3: Canyon Cave warps
+010-1-3,51,31,0 warp #010-1-3_51_31 0,0,010-1,70,42
+010-1-3,32,50,0 warp #010-1-3_32_50 0,0,010-1,51,54
+010-1-3,53,55,0 warp #010-1-3_53_55 0,0,010-1,74,56
diff --git a/npc/010-1-4/_import.txt b/npc/010-1-4/_import.txt
new file mode 100644
index 0000000..0e07f8a
--- /dev/null
+++ b/npc/010-1-4/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-1-4: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-1-4/_mobs.txt",
+"npc/010-1-4/_warps.txt",
diff --git a/npc/010-1-4/_mobs.txt b/npc/010-1-4/_mobs.txt
new file mode 100644
index 0000000..7dc5689
--- /dev/null
+++ b/npc/010-1-4/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-4: Canyon Cave mobs
+010-1-4,0,0,0,0 monster Cave Maggot 1027,7,35000,150000
+010-1-4,49,35,9,13 monster Scorpion 1071,6,35000,150000
+010-1-4,39,42,9,14 monster Cave Snake 1035,2,35000,150000
+010-1-4,56,26,4,3 monster Desert Maggot 1083,2,35000,150000
+010-1-4,35,52,4,3 monster Desert Maggot 1083,2,35000,150000
+010-1-4,0,0,0,0 monster Plushroom Field 1011,1,35000,150000
diff --git a/npc/010-1-4/_warps.txt b/npc/010-1-4/_warps.txt
new file mode 100644
index 0000000..51367da
--- /dev/null
+++ b/npc/010-1-4/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-4: Canyon Cave warps
+010-1-4,35,55,0 warp #010-1-4_35_55 0,0,010-1,67,54
+010-1-4,56,30,0 warp #010-1-4_56_30 0,0,010-1,87,52
diff --git a/npc/010-1-5/_import.txt b/npc/010-1-5/_import.txt
new file mode 100644
index 0000000..b41161a
--- /dev/null
+++ b/npc/010-1-5/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-1-5: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-1-5/_mobs.txt",
+"npc/010-1-5/_warps.txt",
diff --git a/npc/010-1-5/_mobs.txt b/npc/010-1-5/_mobs.txt
new file mode 100644
index 0000000..2a83487
--- /dev/null
+++ b/npc/010-1-5/_mobs.txt
@@ -0,0 +1,12 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-5: Canyon Cave mobs
+010-1-5,0,0,0,0 monster Cave Maggot 1027,30,35000,150000
+010-1-5,58,69,18,18 monster Desert Bandit 1124,3,35000,150000
+010-1-5,46,42,5,19 monster Bat 1039,4,35000,150000
+010-1-5,69,39,15,17 monster Snake 1122,4,35000,150000
+010-1-5,41,40,10,15 monster Scorpion 1071,8,35000,150000
+010-1-5,58,27,28,4 monster Black Scorpion 1074,4,35000,150000
+010-1-5,44,71,4,3 monster Desert Maggot 1083,2,35000,150000
+010-1-5,55,39,4,3 monster Desert Maggot 1083,2,35000,150000
+010-1-5,0,0,0,0 monster Topaz Bif 1102,2,35000,150000
+010-1-5,54,35,24,11 monster Plushroom Field 1011,1,35000,150000
diff --git a/npc/010-1-5/_warps.txt b/npc/010-1-5/_warps.txt
new file mode 100644
index 0000000..a6b1131
--- /dev/null
+++ b/npc/010-1-5/_warps.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-5: Canyon Cave warps
+010-1-5,44,75,0 warp #010-1-5_44_75 0,0,010-1,44,74
+010-1-5,56,39,0 warp #010-1-5_56_39 0,0,010-1,49,67
+010-1-5,36,20,0 warp #010-1-5_36_20 0,0,010-1-8,36,29
+010-1-5,83,36,0 warp #010-1-5_83_36 1,0,010-1-6,32,58
+010-1-5,62,79,0 warp #010-1-5_62_79 0,0,010-1-1,50,116
+010-1-5,56,50,0 warp #010-1-5_56_50 0,0,010-1,59,43
diff --git a/npc/010-1-6/_import.txt b/npc/010-1-6/_import.txt
new file mode 100644
index 0000000..e30a47d
--- /dev/null
+++ b/npc/010-1-6/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-1-6: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-1-6/_mobs.txt",
+"npc/010-1-6/_warps.txt",
diff --git a/npc/010-1-6/_mobs.txt b/npc/010-1-6/_mobs.txt
new file mode 100644
index 0000000..4a60551
--- /dev/null
+++ b/npc/010-1-6/_mobs.txt
@@ -0,0 +1,7 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-6: Canyon Cave mobs
+010-1-6,86,25,5,3 monster Snake 1122,1,35000,150000
+010-1-6,78,31,11,4 monster Black Scorpion 1074,1,35000,150000
+010-1-6,0,0,0,0 monster Cave Maggot 1027,50,35000,150000
+010-1-6,51,72,5,4 monster Blub 1008,1,35000,150000
+010-1-6,0,0,0,0 monster Plushroom Field 1011,2,35000,150000
diff --git a/npc/010-1-6/_warps.txt b/npc/010-1-6/_warps.txt
new file mode 100644
index 0000000..b57cdc3
--- /dev/null
+++ b/npc/010-1-6/_warps.txt
@@ -0,0 +1,10 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-6: Canyon Cave warps
+010-1-6,34,72,0 warp #010-1-6_34_72 0,0,010-1,75,70
+010-1-6,46,46,0 warp #010-1-6_46_46 0,0,010-1,84,34
+010-1-6,70,65,0 warp #010-1-6_70_65 0,0,010-1,104,48
+010-1-6,86,39,0 warp #010-1-6_86_39 0,0,010-1-1,146,73
+010-1-6,64,36,0 warp #010-1-6_64_36 0,0,010-1,104,31
+010-1-6,87,20,0 warp #010-1-6_87_20 0,0,010-1-7,37,39
+010-1-6,32,57,0 warp #010-1-6_32_57 0,0,010-1-5,82,35
+010-1-6,52,23,0 warp #010-1-6_52_23 0,0,010-2-5,52,55
diff --git a/npc/010-1-7/_import.txt b/npc/010-1-7/_import.txt
new file mode 100644
index 0000000..b563c0d
--- /dev/null
+++ b/npc/010-1-7/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-1-7: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-1-7/_mobs.txt",
+"npc/010-1-7/_warps.txt",
diff --git a/npc/010-1-7/_mobs.txt b/npc/010-1-7/_mobs.txt
new file mode 100644
index 0000000..b407712
--- /dev/null
+++ b/npc/010-1-7/_mobs.txt
@@ -0,0 +1,10 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-7: Canyon Cave mobs
+010-1-7,56,33,3,9 monster Bat 1039,5,35000,150000
+010-1-7,33,31,3,6 monster Bat 1039,5,35000,150000
+010-1-7,42,24,12,2 monster Bat 1039,5,35000,150000
+010-1-7,52,41,5,2 monster Bat 1039,2,35000,150000
+010-1-7,38,37,7,2 monster Bat 1039,3,35000,150000
+010-1-7,44,30,8,4 monster Black Scorpion 1074,15,35000,150000
+010-1-7,0,0,0,0 monster Cave Maggot 1027,7,35000,150000
+010-1-7,0,0,0,0 monster Small Topaz Bif 1101,1,35000,150000
diff --git a/npc/010-1-7/_warps.txt b/npc/010-1-7/_warps.txt
new file mode 100644
index 0000000..ef824d9
--- /dev/null
+++ b/npc/010-1-7/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-7: Canyon Cave warps
+010-1-7,47,20,0 warp #010-1-7_47_20 0,0,010-2-7,53,48
+010-1-7,37,40,0 warp #010-1-7_37_40 0,0,010-1-6,87,21
diff --git a/npc/010-1-8/_import.txt b/npc/010-1-8/_import.txt
new file mode 100644
index 0000000..2af915b
--- /dev/null
+++ b/npc/010-1-8/_import.txt
@@ -0,0 +1,3 @@
+// Map 010-1-8: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-1-8/_warps.txt",
diff --git a/npc/010-1-8/_warps.txt b/npc/010-1-8/_warps.txt
new file mode 100644
index 0000000..432ab3e
--- /dev/null
+++ b/npc/010-1-8/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-8: Canyon Cave warps
+010-1-8,36,30,0 warp #010-1-8_36_30 0,0,010-1-5,36,21
diff --git a/npc/010-1-9/_import.txt b/npc/010-1-9/_import.txt
new file mode 100644
index 0000000..29cc688
--- /dev/null
+++ b/npc/010-1-9/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-1-9: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-1-9/_mobs.txt",
+"npc/010-1-9/_warps.txt",
diff --git a/npc/010-1-9/_mobs.txt b/npc/010-1-9/_mobs.txt
new file mode 100644
index 0000000..088c591
--- /dev/null
+++ b/npc/010-1-9/_mobs.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-9: Canyon Cave mobs
+010-1-9,44,41,14,21 monster Sarracenus 1125,2,35000,300000
+010-1-9,65,41,12,21 monster Sarracenus 1125,2,35000,300000
diff --git a/npc/010-1-9/_warps.txt b/npc/010-1-9/_warps.txt
new file mode 100644
index 0000000..31e71cf
--- /dev/null
+++ b/npc/010-1-9/_warps.txt
@@ -0,0 +1,7 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1-9: Canyon Cave warps
+010-1-9,60,33,0 warp #010-1-9_60_33 0,0,010-2,194,56
+010-1-9,73,20,0 warp #010-1-9_73_20 0,0,010-2,207,38
+010-1-9,60,63,0 warp #010-1-9_60_63 0,0,010-2-2,39,64
+010-1-9,49,47,0 warp #010-1-9_49_47 0,0,010-2,185,65
+010-1-9,69,60,0 warp #010-1-9_69_60 0,0,010-2,185,65
diff --git a/npc/010-1/_import.txt b/npc/010-1/_import.txt
new file mode 100644
index 0000000..3d09583
--- /dev/null
+++ b/npc/010-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-1: Desert Mountains
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-1/_mobs.txt",
+"npc/010-1/_warps.txt",
diff --git a/npc/010-1/_mobs.txt b/npc/010-1/_mobs.txt
new file mode 100644
index 0000000..6917b22
--- /dev/null
+++ b/npc/010-1/_mobs.txt
@@ -0,0 +1,26 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1: Desert Mountains mobs
+010-1,104,90,9,4 monster Desert Maggot 1083,12,35000,150000
+010-1,64,98,4,4 monster Scorpion 1071,8,35000,150000
+010-1,46,83,4,4 monster Scorpion 1071,6,35000,150000
+010-1,59,58,9,4 monster Sarracenus 1125,2,35000,300000
+010-1,87,77,3,8 monster Mountain Snake 1123,3,35000,300000
+010-1,102,30,3,8 monster Mountain Snake 1123,3,35000,300000
+010-1,119,33,3,2 monster Desert Bandit 1124,1,35000,300000
+010-1,114,48,3,2 monster Desert Bandit 1124,2,35000,300000
+010-1,52,88,3,2 monster Desert Bandit 1124,2,35000,300000
+010-1,92,80,6,5 monster Sarracenus 1125,2,35000,300000
+010-1,77,98,6,5 monster Sarracenus 1125,1,35000,300000
+010-1,74,46,6,5 monster Sarracenus 1125,1,35000,300000
+010-1,99,70,8,2 monster Snake 1122,12,35000,300000
+010-1,58,96,8,2 monster Snake 1122,2,35000,300000
+010-1,73,46,17,3 monster Snake 1122,4,35000,300000
+010-1,109,37,8,2 monster Desert Maggot 1083,10,35000,300000
+010-1,55,101,9,4 monster Desert Maggot 1083,12,35000,150000
+010-1,0,0,0,0 monster Desert Maggot 1083,70,35000,150000
+010-1,121,78,4,25 monster Desert Maggot 1083,14,35000,150000
+010-1,122,63,1,4 monster Lost Piou 1002,1,35000,300000
+010-1,111,73,13,9 monster Scorpion 1071,8,35000,150000
+010-1,88,57,4,4 monster Mister Prickel 1436,1,35000,35000
+010-1,73,46,35,15 monster Mister Prickel 1436,5,35000,35000
+010-1,70,71,4,4 monster Mister Prickel 1436,2,35000,35000
diff --git a/npc/010-1/_warps.txt b/npc/010-1/_warps.txt
new file mode 100644
index 0000000..8cee1c7
--- /dev/null
+++ b/npc/010-1/_warps.txt
@@ -0,0 +1,33 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-1: Desert Mountains warps
+010-1,121,92,0 warp #010-1_121_92 0,0,004-2-2,55,22
+010-1,124,53,0 warp #010-1_124_53 0,0,010-1-2,52,90
+010-1,86,39,0 warp #010-1_86_39 0,0,010-1-1,111,83
+010-1,70,41,0 warp #010-1_70_41 0,0,010-1-3,51,30
+010-1,51,53,0 warp #010-1_51_53 0,0,010-1-3,32,49
+010-1,74,55,0 warp #010-1_74_55 0,0,010-1-3,53,54
+010-1,87,51,0 warp #010-1_87_51 0,0,010-1-4,56,29
+010-1,67,63,0 warp #010-1_67_63 0,0,010-1-4,35,54
+010-1,49,66,0 warp #010-1_49_66 0,0,010-1-5,56,38
+010-1,44,73,0 warp #010-1_44_73 0,0,010-1-5,44,74
+010-1,104,47,0 warp #010-1_104_47 0,0,010-1-6,70,64
+010-1,92,69,0 warp #010-1_92_69 0,0,004-2-9,61,22
+010-1,46,51,0 warp #010-1_46_51 0,0,010-1-1,40,74
+010-1,52,93,0 warp #010-1_52_93 0,0,004-2-4,33,44
+010-1,109,84,0 warp #010-1_109_84 0,0,004-2-3,95,30
+010-1,77,83,0 warp #010-1_77_83 0,0,010-1-1,71,115
+010-1,45,29,0 warp #010-1_45_29 0,0,010-1-1,43,27
+010-1,84,33,0 warp #010-1_84_33 0,0,010-1-6,46,45
+010-1,75,69,0 warp #010-1_75_69 0,0,010-1-6,33,73
+010-1,91,48,0 warp #010-1_91_48 0,0,010-1-10,55,37
+010-1,41,35,0 warp #010-1_41_35 0,0,010-1-1,42,40
+010-1,125,63,0 warp #010-1_125_63 0,0,010-1-1,166,88
+010-1,104,66,0 warp #010-1_104_66 0,0,010-1-1,102,69
+010-1,59,42,0 warp #010-1_59_42 0,0,010-1-5,56,51
+010-1,58,79,0 warp #010-1_58_79 0,0,004-2-3,49,31
+010-1,69,72,0 warp #010-1_69_72 0,0,004-2-3,65,26
+010-1,123,27,0 warp #010-1_123_27 0,0,010-3,32,28
+010-1,64,76,0 warp #010-1_64_76 0,0,004-2-11,33,42
+010-1,104,30,0 warp #010-1_104_30 0,0,010-1-6,64,37
+010-1,95,33,0 warp #010-1_95_33 0,0,010-1-1,107,30
+010-1,107,41,0 warp #010-1_107_41 0,0,010-1-1,125,48
diff --git a/npc/010-2-10/_import.txt b/npc/010-2-10/_import.txt
new file mode 100644
index 0000000..a9aa248
--- /dev/null
+++ b/npc/010-2-10/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-2-10: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-2-10/_mobs.txt",
+"npc/010-2-10/_warps.txt",
diff --git a/npc/010-2-10/_mobs.txt b/npc/010-2-10/_mobs.txt
new file mode 100644
index 0000000..42d4da8
--- /dev/null
+++ b/npc/010-2-10/_mobs.txt
@@ -0,0 +1,7 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-10: Canyon Cave mobs
+010-2-10,39,34,9,12 monster Bat 1039,6,35000,150000
+010-2-10,0,0,0,0 monster Cave Maggot 1027,8,35000,150000
+010-2-10,40,35,10,5 monster Snake 1199,12,35000,150000
+010-2-10,42,27,11,5 monster Old Snake 1122,3,35000,150000
+010-2-10,0,0,0,0 monster Small Topaz Bif 1101,1,35000,150000
diff --git a/npc/010-2-10/_warps.txt b/npc/010-2-10/_warps.txt
new file mode 100644
index 0000000..ca9cec1
--- /dev/null
+++ b/npc/010-2-10/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-10: Canyon Cave warps
+010-2-10,36,51,0 warp #010-2-10_36_51 0,0,010-1-1,190,104
+010-2-10,53,24,0 warp #010-2-10_53_24 0,0,010-2-3,35,66
diff --git a/npc/010-2-11/_import.txt b/npc/010-2-11/_import.txt
new file mode 100644
index 0000000..7b77c0d
--- /dev/null
+++ b/npc/010-2-11/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-2-11: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-2-11/_mobs.txt",
+"npc/010-2-11/_warps.txt",
diff --git a/npc/010-2-11/_mobs.txt b/npc/010-2-11/_mobs.txt
new file mode 100644
index 0000000..ca7ce1a
--- /dev/null
+++ b/npc/010-2-11/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-11: Canyon Cave mobs
+010-2-11,47,32,17,10 monster Scorpion 1071,5,35000,150000
+010-2-11,46,44,16,5 monster Snake 1199,2,35000,150000
+010-2-11,0,0,0,0 monster Cave Maggot 1027,7,35000,150000
+010-2-11,0,0,0,0 monster Small Topaz Bif 1101,1,35000,150000
diff --git a/npc/010-2-11/_warps.txt b/npc/010-2-11/_warps.txt
new file mode 100644
index 0000000..c601c2f
--- /dev/null
+++ b/npc/010-2-11/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-11: Canyon Cave warps
+010-2-11,51,31,0 warp #010-2-11_51_31 0,0,010-2-2,84,73
+010-2-11,45,54,0 warp #010-2-11_45_54 0,0,010-2,230,116
diff --git a/npc/010-2-12/_import.txt b/npc/010-2-12/_import.txt
new file mode 100644
index 0000000..be089a5
--- /dev/null
+++ b/npc/010-2-12/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-2-12: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-2-12/_mobs.txt",
+"npc/010-2-12/_warps.txt",
diff --git a/npc/010-2-12/_mobs.txt b/npc/010-2-12/_mobs.txt
new file mode 100644
index 0000000..172b15d
--- /dev/null
+++ b/npc/010-2-12/_mobs.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-12: Canyon Cave mobs
+010-2-12,44,40,12,11 monster Golden Scorpion 1078,1,40000,200000
+010-2-12,0,0,0,0 monster Cave Maggot 1027,9,35000,150000
diff --git a/npc/010-2-12/_warps.txt b/npc/010-2-12/_warps.txt
new file mode 100644
index 0000000..b0f1c57
--- /dev/null
+++ b/npc/010-2-12/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-12: Canyon Cave warps
+010-2-12,39,20,0 warp #010-2-12_39_20 0,0,004-3-2,126,96
diff --git a/npc/010-2-13/_import.txt b/npc/010-2-13/_import.txt
new file mode 100644
index 0000000..0dd4000
--- /dev/null
+++ b/npc/010-2-13/_import.txt
@@ -0,0 +1,3 @@
+// Map 010-2-13: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-2-13/_warps.txt",
diff --git a/npc/010-2-13/_warps.txt b/npc/010-2-13/_warps.txt
new file mode 100644
index 0000000..30273c3
--- /dev/null
+++ b/npc/010-2-13/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-13: Canyon Cave warps
+010-2-13,49,25,0 warp #010-2-13_49_25 0,0,010-2,198,102
+010-2-13,34,37,0 warp #010-2-13_34_37 0,0,010-2,192,108
diff --git a/npc/010-2-14/_import.txt b/npc/010-2-14/_import.txt
new file mode 100644
index 0000000..9320e60
--- /dev/null
+++ b/npc/010-2-14/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-2-14: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-2-14/_mobs.txt",
+"npc/010-2-14/_warps.txt",
diff --git a/npc/010-2-14/_mobs.txt b/npc/010-2-14/_mobs.txt
new file mode 100644
index 0000000..46bc9e1
--- /dev/null
+++ b/npc/010-2-14/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-14: Canyon Cave mobs
+010-2-14,0,0,0,0 monster Bat 1039,3,35000,150000
+010-2-14,35,37,5,12 monster Bat 1039,3,35000,150000
+010-2-14,35,43,7,9 monster Snake 1122,4,35000,150000
+010-2-14,0,0,0,0 monster Plushroom Field 1011,2,35000,150000
diff --git a/npc/010-2-14/_warps.txt b/npc/010-2-14/_warps.txt
new file mode 100644
index 0000000..d32d145
--- /dev/null
+++ b/npc/010-2-14/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-14: Canyon Cave warps
+010-2-14,34,20,0 warp #010-2-14_34_20 0,0,010-1-1,50,21
+010-2-14,39,56,0 warp #010-2-14_39_56 0,0,010-2-9,36,21
diff --git a/npc/010-2-15/_import.txt b/npc/010-2-15/_import.txt
new file mode 100644
index 0000000..d9c52d1
--- /dev/null
+++ b/npc/010-2-15/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-2-15: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-2-15/_mobs.txt",
+"npc/010-2-15/_warps.txt",
diff --git a/npc/010-2-15/_mobs.txt b/npc/010-2-15/_mobs.txt
new file mode 100644
index 0000000..39ad9da
--- /dev/null
+++ b/npc/010-2-15/_mobs.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-15: Canyon Cave mobs
+010-2-15,50,27,13,5 monster Scorpion 1071,3,35000,150000
+010-2-15,0,0,0,0 monster Cave Maggot 1027,2,35000,150000
+010-2-15,45,26,12,7 monster Cave Snake 1035,1,35000,150000
diff --git a/npc/010-2-15/_warps.txt b/npc/010-2-15/_warps.txt
new file mode 100644
index 0000000..650ae31
--- /dev/null
+++ b/npc/010-2-15/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-15: Canyon Cave warps
+010-2-15,35,42,0 warp #010-2-15_35_42 0,0,007-1-1,42,21
+010-2-15,60,37,0 warp #010-2-15_60_37 0,0,007-1-2,32,33
diff --git a/npc/010-2-16/_import.txt b/npc/010-2-16/_import.txt
new file mode 100644
index 0000000..167d9d8
--- /dev/null
+++ b/npc/010-2-16/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-2-16: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-2-16/_mobs.txt",
+"npc/010-2-16/_warps.txt",
diff --git a/npc/010-2-16/_mobs.txt b/npc/010-2-16/_mobs.txt
new file mode 100644
index 0000000..043b77b
--- /dev/null
+++ b/npc/010-2-16/_mobs.txt
@@ -0,0 +1,14 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-16: Canyon Cave mobs
+010-2-16,37,24,4,3 monster Desert Maggot 1083,2,35000,150000
+010-2-16,57,25,4,3 monster Desert Maggot 1083,2,35000,150000
+010-2-16,105,40,4,3 monster Desert Maggot 1083,2,35000,150000
+010-2-16,48,44,17,3 monster Snake 1122,4,35000,300000
+010-2-16,73,45,15,10 monster Black Scorpion 1074,3,35000,150000
+010-2-16,56,52,6,4 monster Blub 1008,2,35000,150000
+010-2-16,0,0,0,0 monster Cave Maggot 1027,30,35000,150000
+010-2-16,48,37,18,9 monster Angry Scorpion 1131,9,35000,150000
+010-2-16,46,29,10,1 monster Black Scorpion 1074,1,35000,150000
+010-2-16,80,39,21,13 monster Mountain Snake 1123,2,35000,150000
+010-2-16,0,0,0,0 monster Small Topaz Bif 1101,1,35000,150000
+010-2-16,66,48,5,2 monster Plushroom Field 1011,1,35000,150000
diff --git a/npc/010-2-16/_warps.txt b/npc/010-2-16/_warps.txt
new file mode 100644
index 0000000..faa3c38
--- /dev/null
+++ b/npc/010-2-16/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-16: Canyon Cave warps
+010-2-16,37,20,0 warp #010-2-16_37_20 0,0,010-2,219,37
+010-2-16,57,21,0 warp #010-2-16_57_21 0,0,010-2,232,36
+010-2-16,105,45,0 warp #010-2-16_105_45 0,0,010-2,242,39
diff --git a/npc/010-2-2/_import.txt b/npc/010-2-2/_import.txt
new file mode 100644
index 0000000..597193e
--- /dev/null
+++ b/npc/010-2-2/_import.txt
@@ -0,0 +1,3 @@
+// Map 010-2-2: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-2-2/_warps.txt",
diff --git a/npc/010-2-2/_warps.txt b/npc/010-2-2/_warps.txt
new file mode 100644
index 0000000..d9e228d
--- /dev/null
+++ b/npc/010-2-2/_warps.txt
@@ -0,0 +1,10 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-2: Canyon Cave warps
+010-2-2,94,20,0 warp #010-2-2_94_20 0,0,010-2,249,46
+010-2-2,84,72,0 warp #010-2-2_84_72 0,0,010-2-11,51,30
+010-2-2,64,48,0 warp #010-2-2_64_48 0,0,010-2,210,69
+010-2-2,33,82,0 warp #010-2-2_33_82 0,0,010-2,181,99
+010-2-2,39,63,0 warp #010-2-2_39_63 0,0,010-1-9,60,62
+010-2-2,80,29,0 warp #010-2-2_80_29 0,0,010-2,232,46
+010-2-2,77,52,0 warp #010-2-2_77_52 0,0,010-2,224,64
+010-2-2,70,56,0 warp #010-2-2_70_56 0,0,010-2,223,82
diff --git a/npc/010-2-3/_import.txt b/npc/010-2-3/_import.txt
new file mode 100644
index 0000000..ead458c
--- /dev/null
+++ b/npc/010-2-3/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-2-3: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-2-3/_mobs.txt",
+"npc/010-2-3/_warps.txt",
diff --git a/npc/010-2-3/_mobs.txt b/npc/010-2-3/_mobs.txt
new file mode 100644
index 0000000..3893c5c
--- /dev/null
+++ b/npc/010-2-3/_mobs.txt
@@ -0,0 +1,12 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-3: Canyon Cave mobs
+010-2-3,78,25,4,3 monster Desert Maggot 1083,2,35000,150000
+010-2-3,55,44,4,3 monster Desert Maggot 1083,2,35000,150000
+010-2-3,49,51,4,3 monster Desert Maggot 1083,2,35000,150000
+010-2-3,0,0,0,0 monster Cave Maggot 1027,35,35000,150000
+010-2-3,69,63,4,3 monster Little Blub 1008,3,35000,150000
+010-2-3,71,47,20,26 monster Snake 1122,8,35000,150000
+010-2-3,53,50,23,23 monster Mountain Snake 1123,6,35000,150000
+010-2-3,54,27,4,3 monster Desert Maggot 1083,2,35000,150000
+010-2-3,0,0,0,0 monster Topaz Bif 1102,2,35000,150000
+010-2-3,69,67,4,7 monster Plushroom Field 1011,1,35000,150000
diff --git a/npc/010-2-3/_warps.txt b/npc/010-2-3/_warps.txt
new file mode 100644
index 0000000..21c0565
--- /dev/null
+++ b/npc/010-2-3/_warps.txt
@@ -0,0 +1,7 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-3: Canyon Cave warps
+010-2-3,78,29,0 warp #010-2-3_78_29 0,0,010-2,204,96
+010-2-3,55,48,0 warp #010-2-3_55_48 0,0,010-2,175,112
+010-2-3,49,55,0 warp #010-2-3_49_55 0,0,010-2,168,120
+010-2-3,35,67,0 warp #010-2-3_35_67 0,0,010-2-10,53,25
+010-2-3,54,23,0 warp #010-2-3_54_23 0,0,010-2,171,91
diff --git a/npc/010-2-4/_import.txt b/npc/010-2-4/_import.txt
new file mode 100644
index 0000000..2faee43
--- /dev/null
+++ b/npc/010-2-4/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-2-4: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-2-4/_mobs.txt",
+"npc/010-2-4/_warps.txt",
diff --git a/npc/010-2-4/_mobs.txt b/npc/010-2-4/_mobs.txt
new file mode 100644
index 0000000..adf0970
--- /dev/null
+++ b/npc/010-2-4/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-4: Canyon Cave mobs
+010-2-4,0,0,0,0 monster Cave Maggot 1027,23,35000,150000
+010-2-4,48,38,7,3 monster Bat 1039,1,35000,150000
+010-2-4,45,38,13,5 monster Cave Snake 1035,4,35000,150000
+010-2-4,45,35,14,14 monster Angry Scorpion 1131,20,35000,150000
+010-2-4,38,39,8,8 monster Old Snake 1199,1,35000,150000
+010-2-4,0,0,0,0 monster Small Topaz Bif 1101,1,35000,150000
diff --git a/npc/010-2-4/_warps.txt b/npc/010-2-4/_warps.txt
new file mode 100644
index 0000000..ca4834a
--- /dev/null
+++ b/npc/010-2-4/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-4: Canyon Cave warps
+010-2-4,41,27,0 warp #010-2-4_41_27 0,0,010-2-9,41,42
+010-2-4,58,49,0 warp #010-2-4_58_49 0,0,004-2-9,46,33
+010-2-4,53,20,0 warp #010-2-4_53_20 0,0,010-1-10,33,34
diff --git a/npc/010-2-5/_import.txt b/npc/010-2-5/_import.txt
new file mode 100644
index 0000000..dba92ff
--- /dev/null
+++ b/npc/010-2-5/_import.txt
@@ -0,0 +1,3 @@
+// Map 010-2-5: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-2-5/_warps.txt",
diff --git a/npc/010-2-5/_warps.txt b/npc/010-2-5/_warps.txt
new file mode 100644
index 0000000..dd9110c
--- /dev/null
+++ b/npc/010-2-5/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-5: Canyon Cave warps
+010-2-5,33,28,0 warp #010-2-5_33_28 0,0,010-2,58,87
+010-2-5,52,56,0 warp #010-2-5_52_56 0,0,010-1-6,52,24
+010-2-5,47,20,0 warp #010-2-5_47_20 0,0,010-2,62,74
diff --git a/npc/010-2-6/_import.txt b/npc/010-2-6/_import.txt
new file mode 100644
index 0000000..8750b55
--- /dev/null
+++ b/npc/010-2-6/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-2-6: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-2-6/_mobs.txt",
+"npc/010-2-6/_warps.txt",
diff --git a/npc/010-2-6/_mobs.txt b/npc/010-2-6/_mobs.txt
new file mode 100644
index 0000000..e48aae1
--- /dev/null
+++ b/npc/010-2-6/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-6: Canyon Cave mobs
+010-2-6,0,0,0,0 monster Cave Maggot 1027,40,35000,150000
+010-2-6,43,38,12,14 monster Mountain Snake 1123,20,35000,150000
+010-2-6,48,46,15,6 monster Snake 1122,7,35000,150000
+010-2-6,0,0,0,0 monster Big Topaz Bif 1103,1,35000,150000
diff --git a/npc/010-2-6/_warps.txt b/npc/010-2-6/_warps.txt
new file mode 100644
index 0000000..88b827c
--- /dev/null
+++ b/npc/010-2-6/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-6: Canyon Cave warps
+010-2-6,41,20,0 warp #010-2-6_41_20 0,0,010-2,97,64
+010-2-6,60,59,0 warp #010-2-6_60_59 0,0,010-1-1,167,44
+010-2-6,41,29,0 warp #010-2-6_41_29 0,0,010-2-7,35,27
diff --git a/npc/010-2-7/_import.txt b/npc/010-2-7/_import.txt
new file mode 100644
index 0000000..a52c6f7
--- /dev/null
+++ b/npc/010-2-7/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-2-7: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-2-7/_mobs.txt",
+"npc/010-2-7/_warps.txt",
diff --git a/npc/010-2-7/_mobs.txt b/npc/010-2-7/_mobs.txt
new file mode 100644
index 0000000..9d98ffd
--- /dev/null
+++ b/npc/010-2-7/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-7: Canyon Cave mobs
+010-2-7,41,26,11,3 monster Mountain Snake 1123,3,35000,150000
+010-2-7,0,0,0,0 monster Cave Maggot 1027,22,35000,150000
+010-2-7,41,32,11,4 monster Snake 1122,3,35000,150000
+010-2-7,47,38,9,7 monster Cave Snake 1035,11,35000,150000
+010-2-7,37,33,7,2 monster Black Scorpion 1074,2,35000,150000
+010-2-7,0,0,0,0 monster Plushroom Field 1011,2,35000,150000
diff --git a/npc/010-2-7/_warps.txt b/npc/010-2-7/_warps.txt
new file mode 100644
index 0000000..f4af0ad
--- /dev/null
+++ b/npc/010-2-7/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-7: Canyon Cave warps
+010-2-7,53,49,0 warp #010-2-7_53_49 0,0,010-1-7,47,21
+010-2-7,35,28,0 warp #010-2-7_35_28 0,0,010-2-6,41,30
diff --git a/npc/010-2-8/_import.txt b/npc/010-2-8/_import.txt
new file mode 100644
index 0000000..754c02d
--- /dev/null
+++ b/npc/010-2-8/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-2-8: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-2-8/_mobs.txt",
+"npc/010-2-8/_warps.txt",
diff --git a/npc/010-2-8/_mobs.txt b/npc/010-2-8/_mobs.txt
new file mode 100644
index 0000000..b994ae7
--- /dev/null
+++ b/npc/010-2-8/_mobs.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-8: Canyon Cave mobs
+010-2-8,0,0,0,0 monster Cave Maggot 1027,4,35000,150000
+010-2-8,37,23,4,2 monster Maggot 1030,2,35000,150000
+010-2-8,32,60,4,2 monster Maggot 1030,2,35000,150000
diff --git a/npc/010-2-8/_warps.txt b/npc/010-2-8/_warps.txt
new file mode 100644
index 0000000..0399432
--- /dev/null
+++ b/npc/010-2-8/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-8: Canyon Cave warps
+010-2-8,32,63,0 warp #010-2-8_32_63 0,0,004-2,68,125
+010-2-8,37,20,0 warp #010-2-8_37_20 0,0,004-2,73,88
diff --git a/npc/010-2-9/_import.txt b/npc/010-2-9/_import.txt
new file mode 100644
index 0000000..2310e8f
--- /dev/null
+++ b/npc/010-2-9/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-2-9: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-2-9/_mobs.txt",
+"npc/010-2-9/_warps.txt",
diff --git a/npc/010-2-9/_mobs.txt b/npc/010-2-9/_mobs.txt
new file mode 100644
index 0000000..6f4826b
--- /dev/null
+++ b/npc/010-2-9/_mobs.txt
@@ -0,0 +1,7 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-9: Canyon Cave mobs
+010-2-9,39,30,4,3 monster Little Blub 1007,7,35000,150000
+010-2-9,39,31,8,7 monster Bat 1039,7,35000,150000
+010-2-9,39,31,9,5 monster Giant Maggot 1031,9,35000,150000
+010-2-9,0,0,0,0 monster Cave Maggot 1027,20,35000,150000
+010-2-9,46,29,1,5 monster Plushroom Field 1011,1,35000,150000
diff --git a/npc/010-2-9/_warps.txt b/npc/010-2-9/_warps.txt
new file mode 100644
index 0000000..15ceb7d
--- /dev/null
+++ b/npc/010-2-9/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2-9: Canyon Cave warps
+010-2-9,41,43,0 warp #010-2-9_41_43 0,0,010-2-4,41,28
+010-2-9,36,20,0 warp #010-2-9_36_20 0,0,010-2-14,39,55
diff --git a/npc/010-2/_config.txt b/npc/010-2/_config.txt
new file mode 100644
index 0000000..f105339
--- /dev/null
+++ b/npc/010-2/_config.txt
@@ -0,0 +1,11 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2: Desert Mountains conf
+
+010-2,209,70,0 script #010-2_209_70 NPC_CHEST,{
+ TreasureBox();
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ close;
+OnInit:
+ .distance=2;
+ end;
+}
diff --git a/npc/010-2/_import.txt b/npc/010-2/_import.txt
new file mode 100644
index 0000000..dcd05d4
--- /dev/null
+++ b/npc/010-2/_import.txt
@@ -0,0 +1,6 @@
+// Map 010-2: Desert Mountains
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-2/_config.txt",
+"npc/010-2/_mobs.txt",
+"npc/010-2/_warps.txt",
+"npc/010-2/sawis.txt",
diff --git a/npc/010-2/_mobs.txt b/npc/010-2/_mobs.txt
new file mode 100644
index 0000000..75679a8
--- /dev/null
+++ b/npc/010-2/_mobs.txt
@@ -0,0 +1,20 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2: Desert Mountains mobs
+010-2,119,100,7,2 monster Snake 1122,2,35000,300000
+010-2,161,76,3,9 monster Mountain Snake 1123,7,35000,300000
+010-2,96,120,3,2 monster Desert Bandit 1124,1,35000,300000
+010-2,107,111,3,2 monster Desert Bandit 1124,1,35000,300000
+010-2,123,108,3,2 monster Desert Bandit 1124,2,35000,300000
+010-2,139,100,6,5 monster Desert Bandit 1124,3,35000,300000
+010-2,157,55,7,5 monster Desert Bandit 1124,3,35000,300000
+010-2,148,93,7,5 monster Sarracenus 1125,2,35000,300000
+010-2,175,30,46,9 monster Desert Maggot 1083,12,35000,150000
+010-2,157,60,9,20 monster Desert Maggot 1083,8,35000,150000
+010-2,147,82,3,9 monster Mountain Snake 1123,6,35000,300000
+010-2,47,105,3,9 monster Mountain Snake 1123,7,35000,300000
+010-2,76,118,3,8 monster Mountain Snake 1123,2,35000,300000
+010-2,176,87,3,9 monster Mountain Snake 1123,3,35000,300000
+010-2,169,91,3,9 monster Snake 1122,4,35000,300000
+010-2,151,78,28,45 monster Desert Maggot 1083,35,35000,150000
+010-2,85,113,30,17 monster Desert Maggot 1083,20,35000,150000
+010-2,220,74,39,56 monster Desert Maggot 1083,24,35000,150000
diff --git a/npc/010-2/_warps.txt b/npc/010-2/_warps.txt
new file mode 100644
index 0000000..2b6f864
--- /dev/null
+++ b/npc/010-2/_warps.txt
@@ -0,0 +1,45 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-2: Desert Mountains warps
+010-2,190,108,0 warp #010-2_190_108 0,0,010-1-2,120,109
+010-2,149,119,0 warp #010-2_149_119 0,0,010-1-2,94,96
+010-2,125,120,0 warp #010-2_125_120 0,0,010-1-2,77,56
+010-2,112,101,0 warp #010-2_112_101 0,0,010-1-2,64,46
+010-2,185,64,0 warp #010-2_185_64 0,0,010-1-9,69,59
+010-2,194,55,0 warp #010-2_194_55 0,0,010-1-9,60,32
+010-2,249,47,0 warp #010-2_249_47 0,0,010-2-2,94,21
+010-2,210,68,0 warp #010-2_210_68 0,0,010-2-2,64,49
+010-2,224,63,0 warp #010-2_224_63 0,0,010-2-2,59,49
+010-2,223,81,0 warp #010-2_223_81 0,0,010-2-2,70,57
+010-2,230,115,0 warp #010-2_230_115 0,0,010-2-11,45,53
+010-2,175,111,0 warp #010-2_175_111 0,0,010-2-3,55,47
+010-2,168,119,0 warp #010-2_168_119 0,0,010-2-3,49,54
+010-2,232,45,0 warp #010-2_232_45 0,0,010-2-2,80,28
+010-2,236,52,0 warp #010-2_236_52 0,0,010-2-3,77,28
+010-2,204,95,0 warp #010-2_204_95 0,0,010-2-3,78,28
+010-2,142,109,0 warp #010-2_142_109 0,0,010-1-9,32,31
+010-2,160,66,0 warp #010-2_160_66 0,0,010-1-2,87,23
+010-2,173,78,0 warp #010-2_173_78 0,0,010-1-2,118,28
+010-2,192,107,0 warp #010-2_192_107 0,0,010-2-13,33,36
+010-2,218,118,0 warp #010-2_218_118 0,0,010-1-9,33,59
+010-2,237,61,0 warp #010-2_237_61 0,0,010-1-9,72,21
+010-2,106,127,0 warp #010-2_106_127 0,0,010-1-2,62,69
+010-2,86,111,0 warp #010-2_86_111 0,0,010-1-1,124,55
+010-2,241,39,0 warp #010-2_241_39 0,0,010-2-16,105,44
+010-2,232,37,0 warp #010-2_232_37 0,0,010-2-16,57,22
+010-2,219,38,0 warp #010-2_219_38 0,0,010-2-16,37,21
+010-2,168,100,0 warp #010-2_168_100 0,0,010-1-1,180,25
+010-2,131,112,0 warp #010-2_131_112 0,0,010-1-1,183,52
+010-2,134,113,0 warp #010-2_134_113 0,0,010-1-1,188,52
+010-2,121,97,0 warp #010-2_121_97 0,0,010-1-1,181,26
+010-2,97,63,0 warp #010-2_97_63 0,0,010-2-6,41,21
+010-2,62,73,0 warp #010-2_62_73 0,0,010-2-5,47,21
+010-2,48,89,0 warp #010-2_48_89 0,0,010-2-5,33,29
+010-2,37,96,0 warp #010-2_37_96 0,0,010-1-1,47,33
+010-2,34,101,0 warp #010-2_34_101 0,0,010-1-1,43,41
+010-2,169,19,0 warp #010-2_169_19 2,0,009-1,56,108
+010-2,155,100,0 warp #010-2_155_100 0,0,004-1,33,110
+010-2,93,123,0 warp #010-2_93_123 0,0,010-3,34,21
+010-2,40,78,0 warp #010-2_40_78 0,0,010-1-1,54,41
+010-2,171,90,0 warp #010-2_171_90 0,0,010-2-3,54,24
+010-2,181,98,0 warp #010-2_181_98 0,0,010-2-2,33,81
+010-2,207,39,0 warp #010-2_207_39 0,0,010-1-9,73,21
diff --git a/npc/010-2/sawis.txt b/npc/010-2/sawis.txt
new file mode 100644
index 0000000..dc3c9db
--- /dev/null
+++ b/npc/010-2/sawis.txt
@@ -0,0 +1,134 @@
+// TMW2 Script
+// Author:
+// Saulc
+// Reviewer:
+// Jesusalva
+// Description:
+// craft desert shirt. Reference to player msawis
+// id:193 HalinarzoQuest_Sawis
+
+010-2,138,122,0 script Sawis NPC_PLAYER,{
+ .@q = getq(HalinarzoQuest_Sawis);
+ if (BaseLevel < 37) goto L_TooWeak;
+ if (.@q == 1) goto L_Check;
+ if (.@q == 2) goto L_Complete;
+
+L_GiveTask:
+ mesn;
+ mesq lg("Hello, wanderer!");
+ next;
+ mesq l("No one visit me, I'm in peace there.");
+ next;
+
+ menu
+ l("What are you doing alone in this desert?"), L_Quest,
+ l("Don't speak to me crazy guy!"), L_Quit;
+
+L_Quest:
+ mes "";
+ mesn;
+ mesq l("I do some research about evolution of snake skin subject to hard sunlight.");
+ next;
+ mesn;
+ mesq l("Then I craft some new type of strong desert shirt, to protect users from snakes and sunlight.");
+ next;
+ mesn;
+ mesq l("If you bring me some items, I can craft one for you. You will be my test subject.");
+ next;
+
+ menu
+ l("Yeah, sure? What do you need?"), L_Start,
+ l("Nah, sorry, everything is good with me."), L_Quit;
+
+L_Start:
+ setq HalinarzoQuest_Sawis, 1;
+ mes "";
+ mesn;
+ mesq l("Ok, what I need is:");
+ goto L_List;
+
+L_Quit:
+ mes "";
+ mesn;
+ mesq l("Alright.");
+ close;
+
+L_List:
+ mes "";
+ mesn;
+ mes l("Here's what I need:");
+ mes l("@@/1 @@", countitem(LeatherShirt), getitemlink(LeatherShirt));
+ mes l("@@/1 @@", countitem(CottonCloth), getitemlink(CottonCloth));
+ mes l("@@/1 @@", countitem(CaveSnakeSkin), getitemlink(CaveSnakeSkin));
+ mes l("@@/3 @@", countitem(SnakeSkin), getitemlink(SnakeSkin));
+ close;
+
+L_Check:
+ mesn;
+ mesq l("Did you brought me everything I asked for?");
+ next;
+ menu
+ l("Yes!"), L_Give,
+ l("Sorry, I forgot what you need!"), L_List,
+ l("No!"), L_Quit;
+
+L_Give:
+ if (
+ countitem(LeatherShirt) < 1 ||
+ countitem(CottonCloth) < 1 ||
+ countitem(CaveSnakeSkin) < 1 ||
+ countitem(SnakeSkin) < 3
+ ) goto L_Lying;
+
+ inventoryplace DesertShirt, 1;
+
+ delitem(LeatherShirt, 1);
+ delitem(CottonCloth, 1);
+ delitem(CaveSnakeSkin, 1);
+ delitem(SnakeSkin, 3);
+
+ getitem(DesertShirt, 1);
+ getexp(5000, 30);
+ setq(HalinarzoQuest_Sawis, 2);
+
+ mes "";
+ mesn;
+ mesq l("I hope this is your size.");
+ close;
+
+L_Complete:
+ mesn;
+ mesq l("As I see, you stay alive!");
+ next;
+ mesn;
+ mesq l("I must keep notes of this.");
+ close;
+
+// Funnier to write than to read, but the player lied. :angel:
+L_Lying:
+ mesn;
+ mesq l("No no no, that's wrong.");
+ next;
+ mesc l("Actually, you could be really useful testing Snake Poison. What do you think about that?");
+ next;
+ goto L_List;
+
+L_TooWeak:
+ mesn;
+ mesq l("What are you doing here? This place is too dangerous for you!");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, DesertShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, BromenalPants);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 7);
+
+ .sex = G_MALE;
+ .distance = 5;
+ npcsit;
+
+ end;
+}
diff --git a/npc/010-3/_import.txt b/npc/010-3/_import.txt
new file mode 100644
index 0000000..53c9f46
--- /dev/null
+++ b/npc/010-3/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-3: Canyon Stone
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-3/_mobs.txt",
+"npc/010-3/_warps.txt",
diff --git a/npc/010-3/_mobs.txt b/npc/010-3/_mobs.txt
new file mode 100644
index 0000000..371bab0
--- /dev/null
+++ b/npc/010-3/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-3: Canyon Stone mobs
+010-3,33,24,2,2 monster Plushroom Field 1011,1,35000,150000
diff --git a/npc/010-3/_warps.txt b/npc/010-3/_warps.txt
new file mode 100644
index 0000000..e70381e
--- /dev/null
+++ b/npc/010-3/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-3: Canyon Stone warps
+010-3,33,29,0 warp #010-3_33_29 0,0,010-1,123,28
+010-3,34,20,0 warp #010-3_34_20 0,0,010-2,94,123
diff --git a/npc/010-4-1/_import.txt b/npc/010-4-1/_import.txt
new file mode 100644
index 0000000..c822ad4
--- /dev/null
+++ b/npc/010-4-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-4-1: Katze Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-4-1/_warps.txt",
+"npc/010-4-1/katze.txt",
diff --git a/npc/010-4-1/_warps.txt b/npc/010-4-1/_warps.txt
new file mode 100644
index 0000000..a819a03
--- /dev/null
+++ b/npc/010-4-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-4-1: Katze Cave warps
+010-4-1,41,57,0 warp #010-4-1_41_57 0,0,010-1-1,60,85
diff --git a/npc/010-4-1/katze.txt b/npc/010-4-1/katze.txt
new file mode 100644
index 0000000..3976110
--- /dev/null
+++ b/npc/010-4-1/katze.txt
@@ -0,0 +1,15 @@
+// TMW2/LOF Script.
+// Author:
+// Jesusalva
+// Description:
+// THIS IS A PLACEHOLDER
+
+010-4-1,44,30,0 script Katze NPC_KATZE,{
+ npctalk3 l("Meow.");
+ end;
+OnInit:
+ .distance=5;
+ .sex = G_OTHER;
+ end;
+}
+
diff --git a/npc/010-4-2/_import.txt b/npc/010-4-2/_import.txt
new file mode 100644
index 0000000..72f4774
--- /dev/null
+++ b/npc/010-4-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 010-4-2: Canyon Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/010-4-2/_mobs.txt",
+"npc/010-4-2/_warps.txt",
diff --git a/npc/010-4-2/_mobs.txt b/npc/010-4-2/_mobs.txt
new file mode 100644
index 0000000..a42124b
--- /dev/null
+++ b/npc/010-4-2/_mobs.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-4-2: Canyon Cave mobs
+010-4-2,0,0,0,0 monster Lava Slime 1097,30,35000,150000
+010-4-2,87,39,4,2 monster Maggot 1030,2,35000,150000
diff --git a/npc/010-4-2/_warps.txt b/npc/010-4-2/_warps.txt
new file mode 100644
index 0000000..c455441
--- /dev/null
+++ b/npc/010-4-2/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 010-4-2: Canyon Cave warps
+010-4-2,37,62,0 warp #010-4-2_37_62 0,0,004-2-3,74,98
+010-4-2,87,42,0 warp #010-4-2_87_42 0,0,004-2,144,26
diff --git a/npc/011-1/_import.txt b/npc/011-1/_import.txt
new file mode 100644
index 0000000..258abb6
--- /dev/null
+++ b/npc/011-1/_import.txt
@@ -0,0 +1,6 @@
+// Map 011-1: Depleted Mana Stones Mine
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/011-1/_mobs.txt",
+"npc/011-1/_warps.txt",
+"npc/011-1/manastone.txt",
+"npc/011-1/treasure.txt",
diff --git a/npc/011-1/_mobs.txt b/npc/011-1/_mobs.txt
new file mode 100644
index 0000000..6ab25f2
--- /dev/null
+++ b/npc/011-1/_mobs.txt
@@ -0,0 +1,7 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 011-1: Depleted Mana Stones Mine mobs
+011-1,99,100,79,79 monster Mana Ghost 1068,40,20000,20000
+011-1,98,101,79,79 monster Fire Goblin 1067,90,60000,60000
+011-1,100,99,79,79 monster Lava Slime 1097,30,60000,60000
+011-1,101,98,79,79 monster Red Slime 1092,100,60000,60000
+011-1,97,102,79,79 monster Mineral Bif 1058,20,60000,60000
diff --git a/npc/011-1/_warps.txt b/npc/011-1/_warps.txt
new file mode 100644
index 0000000..bba2aa0
--- /dev/null
+++ b/npc/011-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 011-1: Depleted Mana Stones Mine warps
+011-1,177,178,0 warp #011-1_177_178 0,0,009-1,119,41
diff --git a/npc/011-1/manastone.txt b/npc/011-1/manastone.txt
new file mode 100644
index 0000000..3d8df2b
--- /dev/null
+++ b/npc/011-1/manastone.txt
@@ -0,0 +1,136 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// The last Mana Stone in the whole world, which is not owned by the Magic Council
+// or the Monster King.
+// It actually hates (or rather, fears) everybody, and is not always willing to
+// talk with people. May hide itself within the walls during these occasions.
+// It may not hate some very specific things which are lore-related.
+//
+// Notes: During sieges, Monster King and Human Council apparitions, it may hide
+// itself.
+//
+// Variables:
+// $MANA_BINT => Base Intelligence for Mana Stone
+// $MANA_BLVL => Base Level for Mana Stone
+// $MANA_JLVL => Base Job Level for Mana Stone
+// .int => Int Increment
+// .lvl => Lvl Increment
+// .jlvl => Jlv Increment
+
+011-1,0,0,0 script Mana Stone NPC_MANA_STONE,{
+ function dearLord;
+
+ if (BaseLevel < $MANA_BLVL) goto L_NotWorthy;
+ mesn;
+ mes l("The mighty Mana Stone does not reacts against you.");
+ mes l("Although this particular one seems to hate everyone and everything, it recognizes your strength.");
+ mes l("If you fell ready, perhaps you should touch it?");
+ mes "";
+ menu
+ l("Touch it!"), L_Level,
+ l("Take it!"), L_NotWorthy2,
+ l("Break it!"), L_NotWorthy2,
+ l("Leave it alone!"), -;
+ close;
+
+
+
+L_NotWorthy2:
+ if (is_gm()) movenpc .name$, 20+rand(150), 20+rand(150);
+ if (is_gm()) close;
+ npctalk3 l("You are not worthy!");
+ percentheal -20, -50;
+ if (!MAGIC_LVL)
+ dispbottom l("I should train my intelligence, have full MP, and don't neglect even Job Level.");
+ end;
+
+L_Level:
+ // See functions/util.txt for *mstone() details
+ if (mstone(0)) goto L_LevelUp;
+ if (mstone(1)) goto L_LevelUp;
+ if (mstone(2)) goto L_LevelUp;
+ if (mstone(3)) goto L_LevelUp;
+ if (mstone(4)) goto L_LevelUp;
+ if (mstone(5)) goto L_LevelUp;
+ if (mstone(6)) goto L_LevelUp;
+ if (MAGIC_LVL >= 7) dearLord();
+ if (MAGIC_LVL >= 7) npctalk3 l("You already got all power I could grant you!");
+ if (is_gm()) percentheal -20, -50;
+ if (MAGIC_LVL >= 7 || is_gm()) close;
+
+L_NotWorthy:
+ if (readparam(Sp) != readparam(MaxSp))
+ dispbottom l("I must have full MP to touch it... Which I don't.");
+ else
+ dispbottom l("I should train my intelligence, and level up, both my base as my Job Level.");
+ npctalk3 l("You are not worthy!");
+ percentheal min(-10, -70+BaseLevel), min(-10, -100+BaseLevel);
+ end;
+
+L_LevelUp:
+ mes "";
+ mes l("A great rush of mana flows though you.");
+ if (!MAGIC_LVL) mes l("Magic Power is granted to you, but you die from it.");
+ if (MAGIC_LVL) mes l("More Magic Power is granted to you, but you die from it.");
+ MAGIC_LVL = MAGIC_LVL+1;
+ sk_lvup(AL_DP);
+ // No penalty for death provoked by Mana Stone, see npc/001-8/hub.txt for more info
+ sc_start SC_CASH_DEATHPENALTY, 1000, 1;
+ /*
+ @deathpenalty_realvalue=readparam(BaseExp);
+ @deathpenalty_realvaljob=readparam(JobExp);
+ @deathpenalty_override=1;
+ */
+ die();
+ close;
+
+function dearLord {
+ if ($MANASTONE_WINNER$ == "") {
+ $MANASTONE_WINNER$=strcharinfo(0);
+ channelmes("#world", $MANASTONE_WINNER$+" is the first player to reach "+get_race()+"'s magic limit since the Monster King! %%N");
+ announce "All hail ##B"+$MANASTONE_WINNER$+"##b, first to reach "+get_race()+"'s magic limit since the Monster King! %%N", bc_all|bc_npc;
+ getexp 0, 2000;
+ getitem SupremeGift, 1;
+ mesc l("CONGRATULATIONS! You are the first player to harness all power the Mana Stone would willingly give!"), 2;
+ mesc l("You just gained a Supreme Gift, and 2000 Job Exp for your bravery!"), 2;
+ next;
+ }
+ return;
+}
+
+OnInit:
+ movenpc .name$, 20+rand(150), 20+rand(150);
+ .sex = G_OTHER;
+ .distance = 6;
+ end;
+
+OnClock0030:
+OnClock0120:
+OnClock0210:
+OnClock0300:
+OnClock0450:
+OnClock0540:
+OnClock0630:
+OnClock0720:
+OnClock0810:
+OnClock0900:
+OnClock1050:
+OnClock1140:
+OnClock1230:
+OnClock1320:
+OnClock1410:
+OnClock1500:
+OnClock1650:
+OnClock1740:
+OnClock1830:
+OnClock1920:
+OnClock2010:
+OnClock2100:
+OnClock2250:
+OnClock2340:
+ npctalk "Those who are worthy, may get my magic. For the others, death awaits!";
+ movenpc .name$, 20+rand(150), 20+rand(150);
+ end;
+}
diff --git a/npc/011-1/treasure.txt b/npc/011-1/treasure.txt
new file mode 100644
index 0000000..8b2eb8e
--- /dev/null
+++ b/npc/011-1/treasure.txt
@@ -0,0 +1,9 @@
+// TMW2 Script
+
+// (Random) Treasure Chest
+// Authored by Jesusalva
+// Regenerates every 6 hours
+
+011-1,0,0,0 duplicate(#chest_00710) #chest_01110 NPC_CHEST
+011-1,0,0,0 duplicate(#chest_00710) #chest_01111 NPC_CHEST
+
diff --git a/npc/011-2/_import.txt b/npc/011-2/_import.txt
new file mode 100644
index 0000000..e6b4c1d
--- /dev/null
+++ b/npc/011-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 011-2: Supreme Mana Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/011-2/_mobs.txt",
+"npc/011-2/_warps.txt",
diff --git a/npc/011-2/_mobs.txt b/npc/011-2/_mobs.txt
new file mode 100644
index 0000000..81fe460
--- /dev/null
+++ b/npc/011-2/_mobs.txt
@@ -0,0 +1,10 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 011-2: Supreme Mana Cave mobs
+011-2,55,58,29,22 monster Cave Snake 1035,12,35000,150000
+011-2,70,40,3,1 monster Small Topaz Bif 1101,1,35000,150000
+011-2,54,54,54,54 monster Cave Maggot 1027,20,40000,200000
+011-2,43,66,9,6 monster Snake 1122,3,35000,150000
+011-2,46,40,4,4 monster Snake 1122,3,35000,150000
+011-2,84,56,9,9 monster Snake 1122,3,35000,150000
+011-2,60,46,29,22 monster Cave Maggot 1027,6,35000,150000
+011-2,55,48,29,22 monster Small Topaz Bif 1101,3,35000,150000
diff --git a/npc/011-2/_warps.txt b/npc/011-2/_warps.txt
new file mode 100644
index 0000000..1d0b4e7
--- /dev/null
+++ b/npc/011-2/_warps.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 011-2: Supreme Mana Cave warps
+011-2,78,73,0 warp #011-2_78_73 0,0,004-2,100,90
+011-2,26,86,0 warp #011-2_26_86 0,0,004-2,84,78
+011-2,25,47,0 warp #011-2_25_47 0,0,010-1,93,67
+011-2,51,26,0 warp #011-2_51_26 0,0,004-2,116,35
diff --git a/npc/011-3/_import.txt b/npc/011-3/_import.txt
new file mode 100644
index 0000000..b931fb1
--- /dev/null
+++ b/npc/011-3/_import.txt
@@ -0,0 +1,5 @@
+// Map 011-3: Eternal Swamps - Landbridge
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/011-3/_mobs.txt",
+"npc/011-3/_warps.txt",
+"npc/011-3/flood.txt",
diff --git a/npc/011-3/_mobs.txt b/npc/011-3/_mobs.txt
new file mode 100644
index 0000000..42dde23
--- /dev/null
+++ b/npc/011-3/_mobs.txt
@@ -0,0 +1,22 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 011-3: Eternal Swamps - Landbridge mobs
+011-3,39,205,19,14 monster Angry Red Scorpion 1130,10,100000,30000
+011-3,40,206,19,14 monster Fire Goblin 1067,10,100000,30000
+011-3,38,207,19,14 monster Old Snake 1199,5,100000,30000
+011-3,38,174,18,13 monster Sarracenus 1125,7,100000,30000
+011-3,37,176,18,13 monster Black Scorpion 1074,4,100000,30000
+011-3,39,175,18,13 monster Snake 1122,6,100000,30000
+011-3,40,145,19,11 monster Snake 1122,3,100000,30000
+011-3,39,144,19,11 monster Sarracenus 1125,4,100000,30000
+011-3,38,146,19,11 monster Desert Bandit 1124,5,100000,30000
+011-3,40,101,36,26 monster Fire Fairy 1183,15,100000,30000
+011-3,39,99,36,26 monster Bandit 1124,13,100000,30000
+011-3,37,103,36,26 monster Robin Bandit 1153,7,100000,30000
+011-3,37,56,24,14 monster Sea Slime 1093,5,100000,30000
+011-3,39,55,24,14 monster Red Mushroom 1042,5,100000,30000
+011-3,38,54,24,14 monster Grass Snake 1169,4,100000,30000
+011-3,37,32,19,7 monster Sea Slime 1093,5,100000,30000
+011-3,39,32,19,7 monster Tipiou 1016,3,900000,300000
+011-3,38,31,19,7 monster Vicious Squirrel 1187,5,100000,30000
+011-3,51,113,3,4 monster Fire Fairy 1183,1,100000,30000
+011-3,30,89,3,4 monster Fire Fairy 1183,1,100000,30000
diff --git a/npc/011-3/_warps.txt b/npc/011-3/_warps.txt
new file mode 100644
index 0000000..22caef9
--- /dev/null
+++ b/npc/011-3/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 011-3: Eternal Swamps - Landbridge warps
+011-3,37,20,0 warp #011-3_37_20 2,0,014-2,56,102
+011-3,37,221,0 warp #011-3_37_221 4,0,009-1,71,25
diff --git a/npc/011-3/flood.txt b/npc/011-3/flood.txt
new file mode 100644
index 0000000..9353322
--- /dev/null
+++ b/npc/011-3/flood.txt
@@ -0,0 +1,117 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Controls Eternal Swamps.
+// Contains functions to flood the map (hide the bridges - mask 1024 + mask 2)
+// Flood happens at random and causes BluePar to be spawn. Runs every 6/4 minutes.
+// At the 6th minute of an hour (6, 16, 26, 36, 46, 56)
+// At the 2nd minute of an hour (2, 14 ... 44, 54)
+
+011-3,0,0,0 script #EternalSwampCore NPC_HIDDEN,{
+ end;
+
+OnSwampMob:
+ end;
+
+OnInit:
+ addmapmask "011-3", MASK_SPECIAL;
+ bindatcmd "es_flood", "#EternalSwampCore::OnSkipFlood", 99, 99, 1;
+ end;
+
+OnMinute02:
+OnMinute06:
+OnMinute12:
+OnMinute16:
+OnMinute22:
+OnMinute26:
+OnMinute32:
+OnMinute36:
+OnMinute42:
+OnMinute46:
+OnMinute52:
+OnMinute56:
+ // Check if auto-restart was scheduled
+ SchedRestart();
+OnSkipFlood:
+ if ($@GM_OVERRIDE) debugmes "[Flood] Cycle begin";
+ .@fd=!(getmapmask("011-3")&MASK_SPECIAL); // .@fd - is flooded?
+
+ if (.@fd) {
+ if ($@GM_OVERRIDE) debugmes "[Flood] UF - Unflooding";
+ // If it is flooded, unflood it to prevent players getting struck for too long
+ killmonster("011-3", "#EternalSwampCore::OnSwampMob");
+ addmapmask "011-3", MASK_SPECIAL;
+ //debugmes "[Flood] UF - Del Cells";
+ delcells "ESwpBridge1";
+ delcells "ESwpBridge2";
+ delcells "ESwpBridge3";
+ delcells "ESwpBridge4";
+ delcells "ESwpBridge5";
+ delcells "ESwpBridge6";
+ delcells "ESwpBridge7";
+ mapannounce "011-3", "Eternal Swamps: The flood ceases!",bc_all|bc_npc;
+ } else {
+ // 40% chances to flood, 75% during night
+ .@odds=40;
+ if (is_night())
+ .@odds+=35;
+
+ /*
+ // Bugfix
+ if ($@GM_OVERRIDE)
+ .@odds=100;
+ else
+ .@odds=0;
+ debugmes "[Flood] Analysis with %d odds to flood", .@odds;
+ */
+
+ // Maybe we should flood it
+ if (rand(0,100) < .@odds) {
+ if ($@GM_OVERRIDE) debugmes "[Flood] F - Flooding";
+ removemapmask "011-3", MASK_SPECIAL;
+
+ //debugmes "[Flood] F - Adding Cells";
+ setcells "011-3", 37, 22, 39, 24, 1, "ESwpBridge1";
+ setcells "011-3", 37, 34, 39, 41, 1, "ESwpBridge2";
+ setcells "011-3", 31, 67, 33, 73, 1, "ESwpBridge3";
+ setcells "011-3", 40, 96, 42, 102, 1, "ESwpBridge4";
+ setcells "011-3", 38, 130, 40, 136, 1, "ESwpBridge5";
+ setcells "011-3", 41, 157, 43, 163, 1, "ESwpBridge6";
+ setcells "011-3", 36, 187, 38, 193, 1, "ESwpBridge7";
+
+ //debugmes "[Flood] F - Spawn and Announce";
+ areamonster "011-3", 20, 20, 60, 220, "Bluepar", Bluepar, rand(8,26), "#EternalSwampCore::OnSwampMob";
+ mapannounce "011-3", "Eternal Swamps: A flood starts!",bc_all|bc_npc;
+
+ // TODO: Handle players in bridges
+ //debugmes "[Flood] F - Map Timer OK";
+ maptimer("011-3", 100, "#EternalSwampCore::OnBridgeDown");
+ }
+
+ }
+ if ($@GM_OVERRIDE) debugmes "[Flood] Cycle finished";
+ end;
+
+// Fix players struck by setcells
+OnBridgeDown:
+ //debugmes "[Flood] [OnBD] Bridge is Down";
+ if (isin("011-3", 37, 22, 39, 24))
+ slide 38, 21;
+ else if (isin("011-3", 37, 34, 39, 41))
+ slide 38, 33;
+ else if (isin("011-3", 31, 67, 33, 73))
+ slide 32, 65;
+ else if (isin("011-3", 40, 96, 42, 102))
+ slide 41, 95;
+ else if (isin("011-3", 38, 130, 40, 136))
+ slide 39, 128;
+ else if (isin("011-3", 41, 157, 43, 163))
+ slide 42, 155;
+ else if (isin("011-3", 36, 187, 38, 193))
+ slide 37, 185;
+ //debugmes "[Flood] [OnBD] Finished";
+
+ end;
+}
+
diff --git a/npc/012-1/_import.txt b/npc/012-1/_import.txt
new file mode 100644
index 0000000..57e4e73
--- /dev/null
+++ b/npc/012-1/_import.txt
@@ -0,0 +1,26 @@
+// Map 012-1: Hurnscald
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/012-1/_mobs.txt",
+"npc/012-1/_warps.txt",
+"npc/012-1/andrei.txt",
+"npc/012-1/bot.txt",
+"npc/012-1/dyrinthetraveler.txt",
+"npc/012-1/estate.txt",
+"npc/012-1/guards.txt",
+"npc/012-1/gwendolyn.txt",
+"npc/012-1/hinnak.txt",
+"npc/012-1/igor.txt",
+"npc/012-1/jack.txt",
+"npc/012-1/locamit.txt",
+"npc/012-1/luffyx.txt",
+"npc/012-1/mahad.txt",
+"npc/012-1/mapflags.txt",
+"npc/012-1/milly.txt",
+"npc/012-1/richard.txt",
+"npc/012-1/ship.txt",
+"npc/012-1/shoppakep.txt",
+"npc/012-1/soul-menhir.txt",
+"npc/012-1/statue.txt",
+"npc/012-1/terezin.txt",
+"npc/012-1/town.txt",
+"npc/012-1/wateranimation.txt",
diff --git a/npc/012-1/_mobs.txt b/npc/012-1/_mobs.txt
new file mode 100644
index 0000000..12bd68b
--- /dev/null
+++ b/npc/012-1/_mobs.txt
@@ -0,0 +1,10 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 012-1: Hurnscald mobs
+012-1,90,63,35,14 monster Red Butterfly 1025,4,30000,90000
+012-1,90,62,36,15 monster Mana Bug 1075,5,30000,90000
+012-1,85,33,35,15 monster Pinkie 1132,8,30000,20000,Hinnak::OnKillPinkie
+012-1,44,56,21,41 monster Clover Patch 1028,3,60000,90000
+012-1,135,58,7,29 monster Piousse 1003,6,40000,60000
+012-1,85,86,52,15 monster Silk Worm 1034,5,30000,25000
+012-1,115,69,1,1 monster Training Dummy 1021,1,10000,10000
+012-1,81,59,54,35 monster Squirrel 1032,12,30000,45000
diff --git a/npc/012-1/_warps.txt b/npc/012-1/_warps.txt
new file mode 100644
index 0000000..2798abb
--- /dev/null
+++ b/npc/012-1/_warps.txt
@@ -0,0 +1,13 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 012-1: Hurnscald warps
+012-1,22,62,0 warp #012-1_22_62 0,3,014-3,205,92
+012-1,79,17,0 warp #012-1_79_17 3,0,014-1,78,97
+012-1,79,102,0 warp #012-1_79_102 3,0,014-2,178,22
+012-1,132,101,0 warp #012-1_132_101 2,0,014-2,232,21
+012-1,65,55,0 warp #012-1_65_55 0,0,012-2,36,46
+012-1,89,58,0 warp #012-1_89_58 0,0,012-3,41,45
+012-1,101,55,0 warp #012-1_101_55 0,0,012-4,35,30
+012-1,121,71,0 warp #012-1_121_71 0,0,012-5,34,36
+012-1,116,66,0 warp #012-1_116_66 0,0,012-5,23,26
+012-1,110,56,0 warp #012-1_110_56 0,0,012-6,58,68
+012-1,102,69,0 warp #012-1_102_69 0,0,012-7,35,64
diff --git a/npc/012-1/andrei.txt b/npc/012-1/andrei.txt
new file mode 100644
index 0000000..0f984f7
--- /dev/null
+++ b/npc/012-1/andrei.txt
@@ -0,0 +1,181 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Legendary hero
+
+// I started with 'Greetings, citzen' and then I thought on 4144.
+// He would never do such formal, hero-ish introduction. So I decided for something
+// more realistic, which sounded like a human hero (ie. a normal player).
+
+012-1,75,58,0 script Andrei Sakar NPC_ANDREI,{
+ // NLib_question ( )
+ function NLib_question {
+ //freeloop(true);
+ do {
+ @qid=rand(0,7);
+ } while (! (2**@qid) & @sortable);
+ debugmes "Question "+@qid;
+ @sortable-=(2**@qid);
+ setarray @ans$, $@NLIBa1$[@qid], $@NLIBa2$[@qid], $@NLIBa3$[@qid], $@NLIBa4$[@qid];
+ setarray @val, $@NLIBmr1[@qid], $@NLIBmr2[@qid], $@NLIBmr3[@qid], $@NLIBmr4[@qid];
+ /*
+ @nm=15;
+ @i=0;
+ debugmes "BG WHILE S00002";
+ while (@nm > 0) {
+ do {
+ @nai=rand(0,3);
+ } while ((2**@nai) & @nm);
+ debugmes "BG WS2 NODE";
+ @nm-=@nai;
+ @ans$[@i]=@as$[@nai];
+ @val[@i]=@nai;
+ }
+ debugmes "BG NO FREE LOOP";
+ //freeloop(false);
+ */
+ // Final: @ans$ ; @val ; @qid
+ // Question, menuret, QID
+
+ mes "";
+ addtimer(30000, "Andrei Sakar::OnTooLong");
+ .@q=getq3(Q_NivalisLibday);
+ setq3 Q_NivalisLibday, .@q-7;
+ mesn;
+ mesq $@NLIBqs$[@qid];
+ menuint
+ @ans$[0], @val[0],
+ @ans$[1], @val[1],
+ @ans$[2], @val[2],
+ @ans$[3], @val[3];
+ mes "";
+ deltimer("Andrei Sakar::OnTooLong");
+ if (@menuret == 1) {
+ .@q=getq3(Q_NivalisLibday);
+ setq3 Q_NivalisLibday, .@q+7;
+ mesn;
+ mesq l("That's right.");
+ next;
+ } else {
+ mesn;
+ mesq l("Sorry, but that's wrong.");
+ close;
+ }
+ debugmes "BG END";
+ // end
+ }
+
+ mesn l("Andrei Sakar, Legendary Hero");
+ if ($NLIB_DAY || ($@GM_OVERRIDE && is_admin())) goto L_Quizz;
+
+L_Default:
+ if (strcharinfo(0) == $MOST_HEROIC$)
+ mesq l("Hi, @@.", strcharinfo(0));
+ else
+ mesq l("Hi.");
+ if ($GAME_STORYLINE >= 3 && $LIGHT_HOLDER$ == "") {
+ next;
+ mesn l("Andrei Sakar, Legendary Hero");
+ mesq l("If %s meet the true form of the %s and prove to be a real hero, the sword will give itself for them. But if they fail to prove real heroism, the sword will leave after a while.", $WORLD_HERO$, getitemlink(Lightbringer));
+ next;
+ mesn l("Andrei Sakar, Legendary Hero");
+ mesq l("Not a single deed, but continued heroism. A real hero must be strong. Must help others. Must show up above others. Should have magic even if they don't use, and of course, the world should be in need of a hero. No one is born as hero, for heroes are forged, not born.");
+ next;
+ mesn l("Andrei Sakar, Legendary Hero");
+ mesq l("And remember: If it was easy, I would be wielding it right now. Instead, I use a %s. So take courage.", getitemlink(ImmortalSword));
+ }
+ close;
+
+L_Quizz:
+ .@q=getq3(Q_NivalisLibday);
+ if (.@q == 0) {
+ setq3 Q_NivalisLibday, 100;
+ .@q=100;
+ } else if (.@q > 100) {
+ goto L_Default;
+ }
+
+ mesq l("We are assembling forces to take Nivalis back.");
+ mesq l("I'll make you five questions about lore and general knowledge. You'll have 30 seconds to read and answer each.");
+ mesq l("If you finish everything, and answer everything right, you may get a reward.");
+ mesq l("If you take too long you'll be penalized.");
+ mesq l("Do you want to start?");
+ next;
+ if (askyesno() == ASK_NO)
+ close;
+ setarray @sortable, 255;
+
+ NLib_question();
+ NLib_question();
+ NLib_question();
+ NLib_question();
+ NLib_question();
+
+
+ mesn;
+ .@q=getq3(Q_NivalisLibday);
+ // You cannot go above 100 points.
+ if (.@q > 100) {
+ mesq l("...More bugs.");
+ mesc l("A bug was found. Aborting script."), 1;
+ close;
+ } else if (.@q == 100) {
+ mesq l("Congratulations. You really know about the world lore.");
+ getitem HastePotion, 2;
+ getitem StrengthPotion, 2;
+ getitem Bread, 5;
+ } else if (.@q > 90) {
+ mesq l("Outstanding. Congratulations.");
+ getitem HastePotion, 2;
+ getitem StrengthPotion, 2;
+ getitem Bread, 4;
+ } else if (.@q > 75) {
+ mesq l("Good, knowing the world lore is important.");
+ getitem HastePotion, 1;
+ getitem StrengthPotion, 1;
+ getitem Bread, 4;
+ } else if (.@q > 50) {
+ mesq l("Good job.");
+ getitem HastePotion, 1;
+ getitem StrengthPotion, 1;
+ getitem Bread, 2;
+ } else if (.@q > 25) {
+ mesq l("Well, that was bad, but at least you know a bit from story.");
+ getitem Bread, 2;
+ } else if (.@q > 0) {
+ mesq l("Terrible. You know almost nothing from world lore...");
+ getitem Bread, 1;
+ } else {
+ mesq l("You really should read the dialogs.");
+ }
+ // If you got a negative value, this will default to 1.
+ getexp .@q*BaseLevel, .@q*JobLevel;
+ setq3 Q_NivalisLibday, 9999;
+ close;
+
+OnTooLong:
+ .@q=getq3(Q_NivalisLibday);
+ setq3 Q_NivalisLibday, .@q-21;
+ npctalk3 l("You took too long to answer.");
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ /* Because I was lazy to calculate array size, it is hard-coded to eight questions numbered from 0 to 7.
+ setarray $@NLIBqs$;
+ setarray $@NLIBa1$;
+ setarray $@NLIBa2$;
+ setarray $@NLIBa3$;
+ setarray $@NLIBa4$;
+ setarray $@NLIBmr1;
+ setarray $@NLIBmr2;
+ setarray $@NLIBmr3;
+ setarray $@NLIBmr4;
+ */
+ if ($FIRESOFSTEAM >= 10)
+ disablenpc .name$;
+ end;
+
+}
diff --git a/npc/012-1/bot.txt b/npc/012-1/bot.txt
new file mode 100644
index 0000000..3a6422b
--- /dev/null
+++ b/npc/012-1/bot.txt
@@ -0,0 +1,137 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Introduces the new area ingame
+// Quest:
+// TODO: Quest, requires 1× LOFCoin (obtain for free with Pyndragon)
+// Reward: Mouboo Figurine
+
+012-1,82,59,0 script LOFBot NPC_PLAYER,{
+ .@q=getq(HurnscaldQuest_LOFPass);
+ if (rand2(1,5) % 2 == 1) {
+ mesn;
+ mesq l("Ah, @@ is sooo amazing!", $MOST_HEROIC$);
+ next;
+ }
+ mesn;
+ mesq l("Have you ever heard of the [@@http://landoffire.org/|Land Of Fire@@]? It is a really cool game which is being developed by Pyndragon and Pihro!");
+ next;
+ mesn;
+ mesq l("They had a TMWA server, but the Monster King went hyperactive and... Well, it crashed here.");
+ if (.@q == 0) goto L_Quest;
+ if (.@q == 1) goto L_Report;
+ if (.@q == 2) goto L_Report; // To accomodate Pyn's node. Not required.
+
+L_Menu:
+ mes "";
+ menu
+ l("How can I reach the Land Of Fire?"), L_Where,
+ l("Tell me about the Land Of Fire."), L_Fire,
+ l("What are the Transcendence Gates?"), L_Gates,
+ l("Thanks for the help."), L_Close;
+
+// TODO: Perhaps it is worth mentioning on JSaves Castle is a Mana Source and thus, magic&skills work better, and weapons work worse?
+L_Where:
+ mes "";
+ mesn;
+ mesq l("If you head west, you'll eventually reach the magical Kamelot Castle.");
+ next;
+ mesn;
+ mesq l("Inside it, there'll be a Transcendence Gate.");
+ next;
+ mesn;
+ mesq l("It is a really cool place. You must visit it someday!");
+ next;
+ goto L_Menu;
+
+L_Fire:
+ mes "";
+ mesn;
+ mesq l("The Land Of Fire Village was the result from the collapse of two worlds. It is a huge village.");
+ next;
+ mesq l("It have lots of lava caves, and some cool stuff, like the @@, can only be craft there.", getitemlink(SaviorArmor));
+ next;
+ mesq l("Unique monsters can be found there, and people say about staffs which shoot raw death and doom from it!");
+ next;
+ mesq l("It's self sufficient economically, and many fairies enjoy travelling there. In fact, rumors says the Fairy Kingdom is near it!");
+ next;
+ goto L_Menu;
+
+L_Gates:
+ mes "";
+ mesn;
+ mesq l("Ah, you'll find on the Land Of Fire Village four transcendence gates.");
+ next;
+ mesn;
+ mesq l("People from here always look dumbfolded when they walk past them and find themselves somewhere else.");
+ next;
+ mesn;
+ mesq l("There's usually not a lot of things to do past these gates, but some monsters which only lives on the Land of Fire can only be found there!");
+ next;
+ goto L_Menu;
+
+L_Close:
+ closedialog;
+ npctalkonce l("Ah, @@ is so amazing!", $MOST_HEROIC$);
+ close;
+
+L_Quest:
+ mesn;
+ mesq l("Actually, could I ask you a favor?");
+ next;
+ mesn;
+ mesq l("I want a %s so badly... Pyndragon, in the forge, the master blacksmith which makes powerful weapons for high levels, can give you one.", getitemlink(LOFCoin));
+ next;
+ mesn;
+ mesq l("Just tell him that I want to reconsider, and that I want the souvenir he offered me when I moved to Hurnscald.");
+ next;
+ setq HurnscaldQuest_LOFPass, 1;
+ goto L_Menu;
+
+L_Report:
+ mes l("Did you brought me a %s?", getitemlink(LOFCoin));
+ next;
+ if (askyesno() == ASK_YES) goto L_Check;
+ goto L_Menu;
+
+L_Check:
+ if (!countitem(LOFCoin)) goto L_NoItem;
+ inventoryplace MoubooFigurine, 1;
+ delitem LOFCoin, 1;
+ getitem MoubooFigurine, 1;
+ getexp 400, 20;
+ setq HurnscaldQuest_LOFPass, 3;
+ mesn;
+ mesq lg("Thanks, my friend.");
+ next;
+ mesn;
+ mesq l("Here, you can have this souvenir.");
+ mesc l("* Item obtained: %s", getitemlink(MoubooFigurine));
+ next;
+ goto L_Menu;
+
+L_NoItem:
+ mesn;
+ mesq l("I want a %s so badly... Pyndragon, in the forge, the master blacksmith which makes powerful weapons for high levels, can give you one.", getitemlink(LOFCoin));
+ next;
+ mesn;
+ mesq l("Just tell him that I want to reconsider, and that I want the souvenir he offered me when I moved to Hurnscald.");
+ next;
+ goto L_Menu;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, CenturionHelmet);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SaviorArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, TulimsharGuardBoots);
+ setunitdata(.@npcId, UDT_WEAPON, BromenalPants);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 1);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 1);
+ npcsit;
+
+ .sex = G_OTHER;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/012-1/dyrinthetraveler.txt b/npc/012-1/dyrinthetraveler.txt
new file mode 100644
index 0000000..318ad6a
--- /dev/null
+++ b/npc/012-1/dyrinthetraveler.txt
@@ -0,0 +1,110 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// The Travelers travel around the world telling stories.
+
+012-1,119,52,0 script Dyrin The Traveler NPC_M_COINKEEPER,{
+
+ mesn;
+ if (strcharinfo(0) == $MOST_HEROIC$) mesq l("Wow! Are you @@? Everyone, in every city, talks about you!", $MOST_HEROIC$);
+ if (strcharinfo(0) == $MOST_HEROIC$) next;
+
+ mesq l("Hello. I am @@, and I am from a family of travellers. We travel though the whole world, looking for exotic goods.", .name$);
+ next;
+ mesq l("You can buy rare items with me, or I can tell you about different cities in our world.");
+
+L_Menu:
+ mes "";
+ menu
+ l("I want to trade with you."), L_Trade,
+ l("Tell me about Halinarzo."), L_Halin,
+ l("Tell me about Hurnscald."), L_Hurns,
+ l("Tell me about Nivalis."), L_Nival,
+ l("Tell me about Artis."), L_Artis,
+ l("Sorry, I'll pass."), L_Close;
+
+L_Hurns:
+ mes "";
+ mesn;
+ mesq l("Hurnscald was founded after Tulimshar, in more fertile lands. Their walls are not so sturdy as the ones of Tulimshar.");
+ next;
+ mesq l("Under the leadership of King Wusher, they were the first to accept immigrants from other races. You will find humans and non-humans there.");
+ next;
+ mesq l("The fertile climate is ideal for mushrooms. You can also find lots of wood.");
+ next;
+ mesq l("Their economy provide many edible items and potions.");
+ next;
+ goto L_Menu;
+
+L_Halin:
+ mes "";
+ mesn;
+ mesq l("Halinarzo was founded to explore Mana Stones.");
+ next;
+ mesq l("You can find both huge swamps, as huge desertic areas near and on it.");
+ next;
+ mesq l("Lizards are the main monster found, and they steal gold from innocent bypassers.");
+ next;
+ mesq l("Without any mana stone left, and because the walls were not very strong, most of the city was destroyed.");
+ next;
+ mesq l("Unlike many other cities, if you want people in eternal need of items, there is a good place to look.");
+ next;
+ goto L_Menu;
+
+L_Nival:
+ mes "";
+ mesn;
+ mesq l("Nivalis was the last human settlement built during the First Era.");
+ next;
+ mesq l("It's cold, harsh climate makes difficult to live there. It was founded by people thrown away from Tulimshar and Hunrscald for political reasons.");
+ next;
+ mesq l("The cold climate is ideal for slimes, penguins, and other icy creatures. You can find lots of... ice, of course!");
+ next;
+ mesq l("Some items are only produced in Nivalis. After all, it is hard to work properly with ice in a desert!");
+ next;
+ goto L_Menu;
+
+L_Artis:
+ mes "";
+ mesn;
+ mesq l("Artis is a city port founded after the Great Fire on the other continent.");
+ next;
+ mesq l("People say it is the second biggest city from the world.");
+ next;
+ mesq l("Different kind of monsters live near the city. For example, blubs. I have no idea of what are those.");
+ next;
+ mesq l("People usually dock there when travelling to the second continent. Nothing exceptional about economy.");
+ next;
+ if ($FIRESOFSTEAM) {
+ mesq l("They used to export food and other things but there has been radio silence recentely; Which is why Andrei Sakar and a group of adventurers borrowed Nard's ship and went to investigate.");
+ next;
+ }
+ goto L_Menu;
+
+L_Trade:
+ mesn;
+ mesq l("Use your @@ as currency!", getitemlink(StrangeCoin));
+ tutmes l("%s is obtained during events, daily logins, heroic deeds, gifts, etc. But cannot be bought with real money.", getitemlink(StrangeCoin));
+ next;
+ openshop "Aeros Trader";
+ closedialog;
+
+L_Close:
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, UglyChristmasSweater); // All travelers wear this stuff
+ setunitdata(.@npcId, UDT_HEADBOTTOM, TulimsharGuardBoots);
+ setunitdata(.@npcId, UDT_WEAPON, SilkPants);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 13);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 12);
+ npcsit;
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/012-1/estate.txt b/npc/012-1/estate.txt
new file mode 100644
index 0000000..96912a8
--- /dev/null
+++ b/npc/012-1/estate.txt
@@ -0,0 +1,95 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Real Estate System
+
+// ID: 1
+// $ESTATE_OWNER[.id] → Account ID owner of the Real Estate
+// $ESTATE_OWNERNAME$[.id] → Human readable name of Real Estate owner
+// $ESTATE_RENTTIME[.id] → When the rent will expire
+// $ESTATE_MOBILIA_2[.id] → Bitmask of mobilia currently purchased on Monster Collision (6) (Use on walls only)
+// $ESTATE_MOBILIA_4[.id] → Bitmask of mobilia currently purchased on Air Collision (2)
+// $ESTATE_MOBILIA_8[.id] → Bitmask of mobilia currently purchased on Water Collision (3)
+// $ESTATE_MOBILIA_32[.id] → Bitmask of mobilia currently purchased on Yellow Collision (4)
+// $ESTATE_MOBILIA_64[.id] → Bitmask of mobilia currently purchased on Normal Collision (1)
+// $ESTATE_MOBILIA_128[.id] → Bitmask of mobilia currently purchased on Player Collision (5)
+// $ESTATE_PASSWORD$[.id] → Password to enter the estate. If it is "", then no password required
+// Note: GMs and Administrators can always use super password "mouboo" to enter a locked estate
+// $ESTATE_DOORBELL[.id] → If doorbell is disabled (enabled by default)
+
+// REAL_ESTATE_CREDITS → Credits equivalent to GP the player have. Will be used first.
+
+// The sign is the main controller
+012-1,94,70,0 script Sign#RES_0128 NPC_SWORDS_SIGN,{
+ if ($ESTATE_RENTTIME[.id] < gettimetick(2))
+ goto L_RentAvailable;
+
+ if ($ESTATE_OWNER[.id] == getcharid(3))
+ goto L_Manage;
+
+ if (is_admin() && $@GM_OVERRIDE)
+ goto L_Manage;
+
+ mesc l("This estate currently belongs to @@.", $ESTATE_OWNERNAME$[.id]);
+ mesc l("Press the doorbell?");
+ next;
+ if (askyesno() == ASK_YES)
+ doevent "Doorbell#RES_0128::OnDoorbell";
+ close;
+
+L_RentAvailable:
+ realestate_rent(.id, .price);
+ close;
+
+L_Manage:
+ realestate_manage(.id, (.price*7/10));
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+
+ // Estate Settings
+ .id=1; // Estate ID
+ .price=60000; // Monthly rent price. Renew is only 70% from this value.
+ end;
+
+}
+
+// Door entrance
+012-1,95,69,0 script #RES_0128 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if ($ESTATE_RENTTIME[.id] < gettimetick(2))
+ goto L_RentAvailable;
+
+ if ($ESTATE_OWNER[.id] == getcharid(3) || $ESTATE_PASSWORD$[.id] == "")
+ goto L_Warp;
+
+ mesc l("The door is locked");
+ next;
+ mesc l("However, it can be unlocked if you know the password:");
+ if (is_gm()) mesc l("You can use super password \"mouboo\" to unlock the door."), 1;
+ input .@password$;
+ // GMs can use super password "mouboo"
+ if (.@password$ == $ESTATE_PASSWORD$[.id] || (is_gm() && .@password$ == "mouboo"))
+ goto L_Warp;
+ close;
+
+L_Warp:
+ warp "012-8", 33, 33;
+ closeclientdialog;
+ close;
+
+L_RentAvailable:
+ dispbottom l("This estate is available for rent, talk to the sign to rent it.");
+ close;
+
+OnInit:
+ // Estate Settings
+ .id=1; // Estate ID
+ end;
+
+}
+
diff --git a/npc/012-1/guards.txt b/npc/012-1/guards.txt
new file mode 100644
index 0000000..d36cc5b
--- /dev/null
+++ b/npc/012-1/guards.txt
@@ -0,0 +1,734 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Protect Hurnscald
+
+012-1,71,24,0 script Lieutenant Paul NPC_PLAYER,{
+ .@q=getq(HurnscaldQuest_Lieutenant);
+ .@k=getq2(HurnscaldQuest_Lieutenant);
+ // The Monster King guild have a special menu
+ if (!$HURNS_LIBDATE && is_master()) goto L_Admus;
+ if (strcharinfo(2) == "Monster King") goto L_MKControl;
+ mesn;
+ mesq l("It is %s since the last great attack from the Monster King.", FuzzyTime($HURNS_LIBDATE,1,2));
+ next;
+ mesn;
+ mesq l("Many citzens are still cowering in fear. Paths are closed, economy is a disaster, things are not as they should be.");
+ next;
+ mesn;
+ mesq l("But we are working day and night. We hope that soon, more people come out and this place gets lively again.");
+ if (BaseLevel >= 20 && MPQUEST && .@q <= 15) goto L_Quest;
+ close;
+
+// Paul's quest
+L_Quest:
+ next;
+ // Quest State, Legacy value
+ @fc=0;
+ if (.@q == 0 && BaseLevel >= 20) @fc=1;
+ if (.@q == 1 && BaseLevel >= 22) @fc=2;
+ if (.@q == 2 && BaseLevel >= 24) @fc=3;
+ if (.@q == 3 && BaseLevel >= 26) @fc=4;
+ if (.@q == 4 && BaseLevel >= 28) @fc=5;
+ if (.@q == 5 && BaseLevel >= 30) @fc=6;
+ if (.@q == 6 && BaseLevel >= 32) @fc=7;
+ if (.@q == 7 && BaseLevel >= 34) @fc=8;
+ if (.@q == 8 && BaseLevel >= 36) @fc=9;
+ if (.@q == 9 && BaseLevel >= 38) @fc=10;
+ if (.@q == 10 && BaseLevel >= 40) @fc=11;
+ if (.@q == 11 && BaseLevel >= 44) @fc=12;
+ if (.@q == 12 && BaseLevel >= 48) @fc=13;
+ if (.@q == 13 && BaseLevel >= 52) @fc=14;
+ if (.@q == 14 && BaseLevel >= 56) @fc=15;
+ if (.@q == 15 && BaseLevel >= 60) @fc=16;
+ if (@fc)
+ goto L_Assign;
+ mesn;
+ mesq l("I see you are a Monster Hunting Quest Participant, right? I don't need your help right now, but maybe later, who knows?");
+ close;
+
+L_Assign:
+ // 2 ** 0 = 1 * 100 = 100 mob points
+ // 2 ** 1 = 2 * 99 = 198 mob points
+ // 2 ** 2 = 4 * 98 = 392 mob points
+ // ...
+ // 2 ** 9 = 512 * 91 = 46592 mob points (when fc = 10)
+ // Then comes the stupdly high table
+ // 2 ** 10 = 1024 * 90 = 92,160 mpt (when fc = 11)
+ // 2 ** 11 = 2048 * 89 = 182k
+ // 2 ** 12 = 4096 * 88 = 360k
+ // 2 ** 13 = 8192 * 87 = 712k
+ // ... 2 ^ 15 * 85 = 2.8 million
+ @rq=(2**(@fc-1))*(101-@fc);
+ if (@fc == 16) @rq=1500000;
+
+ // Check if you already met objective
+ if (.@k > 0 && Mobpt >= .@k+@rq) {
+ setq HurnscaldQuest_Lieutenant, @fc, 0;
+ // Do not deduct mob points anymore because gathering them without spending is a challenge on its own.
+ // Mobpt-=@rq;
+ mesn;
+ mesq l("Good job collecting the monster points for me. Here's your reward.");
+ @xp=1000;
+ // reward is 30% from reference level exp to level up
+ switch (@fc) {
+ case 1: @xp=486; break;
+ case 2: @xp=597; break;
+ case 3: @xp=751; break;
+ case 4: @xp=1028; break;
+ case 5: @xp=1342; break;
+ case 6: @xp=2399; break;
+ case 7: @xp=3128; break;
+ case 8: @xp=4190; break;
+ case 9: @xp=5303; break;
+ case 10: @xp=6532; break;
+ /* After this it demands so much XP, I raised the rate from 30 to 100%
+ case 11: @xp=10234; break;
+ case 12: @xp=12630; break;
+ case 13: @xp=15908; break;
+ case 14: @xp=19212; break;
+ case 15: @xp=22792; break;
+ case 16: @xp=34577; break;
+ */
+ case 11: @xp=34212; break;
+ case 12: @xp=53026; break;
+ case 13: @xp=75973; break;
+ case 14: @xp=142784; break;
+ case 15: @xp=215198; break;
+ case 16: @xp=365914; break;
+ }
+ getexp @xp, @fc*3;
+ Zeny=Zeny+@fc*15+@fc;
+ mesc l("* Gained @@ EXP and @@ Job Exp", @xp, @fc*3);
+ mesc l("* Gained @@ GP", @fc*15+@fc);
+ // Welcome to the stupid table
+ if (@fc >= 10) {
+ switch (@fc) {
+ case 10:
+ .@tea=Coffee; .@gift=BronzeGift; .@rare=ScrollSTerranite;
+ break;
+ case 11:
+ .@tea=ChamomileTea; .@gift=SilverGift; .@rare=WhiskeyAle;
+ break;
+ case 12:
+ .@tea=SpearmintTea; .@gift=SilverGift; .@rare=PrecisionPotion;
+ break;
+ case 13:
+ .@tea=OolongTea; .@gift=GoldenGift; .@rare=SacredLifePotion;
+ break;
+ case 14:
+ .@tea=JasmineTea; .@gift=GoldenGift; .@rare=MercBoxEE;
+ break;
+ case 15:
+ .@tea=YerbaMate; .@gift=PrismGift; .@rare=MysteriousFruit;
+ break;
+ default: // 16+
+ .@tea=ElixirOfLife; .@gift=PrismGift; .@rare=MylarinDust;
+ break;
+ }
+ mesc l("For your incredibly hard work, you got:");
+ mesf("* %d %s", 1, getitemlink(.@tea));
+ mesf("* %d %s", 1, getitemlink(.@gift));
+ mesf("##B* %d %s##b", 1, getitemlink(.@rare));
+ getitem .@rare, 1;
+ getitem .@gift, 1;
+ getitem .@tea, 1;
+ }
+ close;
+ }
+ // Assign quest
+ else if (.@k == 0) {
+ mesn;
+ mesq l("Maybe you can help our city. I see you are a Monster Hunting Quest Participant, right?");
+ next;
+ mesn;
+ mesq l("So, I'm placing a special bounty for @@ Mob Points.", @rq);
+ mesq l("You currently have @@, so if you accept and come back later with @@ Mob Points, I'll mark the bounty as complete.", Mobpt, Mobpt+@rq);
+ next;
+ mesc l("Accept quest?");
+ if (askyesno() == ASK_YES) {
+ setq HurnscaldQuest_Lieutenant, @fc-1, Mobpt;
+ }
+ }
+ // Resume quest
+ else {
+ // Reset if needed
+ if (Mobpt-.@k < 0) {
+ setq2 HurnscaldQuest_Lieutenant, Mobpt;
+ .@k=0;
+ }
+ mesn;
+ mesq l("You have collected @@/@@ Mob Points.", Mobpt-.@k, @rq);
+ }
+ close;
+
+///////////////////////////
+// Liberation Day facility
+///////////////////////////
+L_Admus:
+ mes ".:: " + col("HURNSCALD LIBERATION DAY - ADMUS PANEL", 2) + " ::.";
+ mesc l("For HLib, a GM must take the role of the Monster King");
+ mesc("Protip: Use @hide to not interfere.");
+ mes l("Determine Team Size (If everyone is ready and stdby at Tulimshar, use: @@. Minimum 2 players.)", getusers(1)-1);
+ input $@BG1_SIZE;
+ if ($@BG1_SIZE < 2 && !$@GM_OVERRIDE) close;
+ $@BG1_SIZE=$@BG1_SIZE+1;
+
+ kickwaitingroomall("Hurnsguard");
+ setmapflagnosave("012-1", "000-1", 22, 22);
+ //setmapflag("012-1", mf_nocommand); // This is just too powerful!
+ setmapflag("012-1",mf_zone,"MMO"); // MMO Zone: Overrides GM Commands
+ setmapflag("012-1", mf_battleground);
+ setmapflag("012-1", mf_nopenalty);
+ setmapflag("012-1",mf_bexp,126);
+ enablenpc "Hurnsguard";
+ donpcevent "Hurnsguard::OnSet";
+ donpcevent "Lieutenant Paul::OnSet";
+ addmapmask "012-1", MASK_MATTACK;
+ addmapmask "012-1", MASK_EVILSANCTUM;
+ pvpon("012-1");
+ disablenpc "#012-1_22_62";
+ disablenpc "#012-1_79_17";
+ disablenpc "#012-1_79_102";
+ disablenpc "#012-1_132_101";
+ disablenpc "#012-1_65_55";
+ disablenpc "#012-1_89_58";
+ disablenpc "#012-1_101_55";
+ disablenpc "#012-1_121_71";
+ disablenpc "#012-1_116_66";
+ disablenpc "#012-1_110_56";
+ disablenpc "#012-1_102_69";
+ disablenpc "Andrei Sakar";
+ disablenpc "Dyrin The Traveler";
+ disablenpc "Gwendolyn";
+ disablenpc "Jack";
+ disablenpc "Locamit";
+ disablenpc "Richard";
+ disablenpc "Soul Menhir#hurns";
+ disablenpc "HurnsShip#M";
+ disablenpc "Hinnak";
+ disablenpc "Tezzerin";
+ disablenpc "Luffyx";
+ disablenpc "Shoppa Kep";
+ announce "##1Hear ya, hear ya! There are "+str($@BG1_SIZE-1)+" vacant slots at Hurnsguard to LIBERATE HURNSCALD!", bc_all | bc_npc;
+ mesc "You are assigned to Monster Forces. Do not leave Hurnscald.", 1;
+ close;
+
+// Monster King Siege (deprecated)
+L_MKControl:
+ mesn;
+ mes l("Oh noes! You've found the Hurnscald control panel!");
+ next;
+ select
+ l("Abort"),
+ l("Initiate a siege");
+ mes "";
+ if (@menu == 2) {
+ doevent "#HurnscaldSiege::OnStartSiege";
+ closedialog;
+ }
+ close;
+
+// Hurnscald Liberation Day Core Logic
+OnSet:
+ .CYCLES=0;
+ waitingroom("Monster Army", 2, "start#hurns_lib::OnReadyCheck", 1);
+ end;
+
+OnEnterBG:
+ debugmes "Paul::OnEnterBG";
+ $@FK_Team2 = waitingroom2bg("012-1",141, 65,"start#hurns_lib::OnPlayer2Quit","start#hurns_lib::OnPlayer2Death");
+ setbgteam $@FK_Team2, 2;
+ end;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 4;
+
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, BullHelmet);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, LieutenantArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_SHIELD, LousyMoccasins); // TODO FIXME: Display Boots
+ setunitdata(.@npcId, UDT_WEAPON, Backsword);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 12);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 15);
+
+ end;
+}
+
+// Liberation Day Script
+012-1,122,25,0 script Hurnsguard NPC_PLAYER,{
+ //query_sql("SELECT online FROM `char` WHERE name='Saulc GM'", .@online);
+ // TODO
+ .@online=$@BG1_SIZE;
+ if (!.@online) {
+ mesn;
+ mesq l("We are planning to take over Hurnscald from the Monster King, and we will need everybody's help.");
+ next;
+ mesn;
+ mesq l("As soon that Saulc GM get back, we can start.");
+ close;
+ }
+ mesc l("Hurnscald Liberation Day special event"), 3;
+ mes "";
+ mesc l("The objective of this event is to ##Bslay the Monster Admiral##b.");
+ mesc l("If you die, you ##Bwon't##b be able to rejoin, but you won't suffer the penalty.");
+ next;
+ mesc l("If all players there die, Hurnscald WON'T BE LIBERATED.");
+ mesc l("This basically means that it'll be another day without it.");
+ mesc l("Also, the more players survive, the better rewards will be given.");
+ next;
+ mesc l("Right click on this NPC to join the Hurnscald Alliance."), 3;
+ mesc l("The number of players must be precise, meaning if someone doesn't joins,");
+ mesc l("the event won't start and HURNSCALD WON'T BE LIBERATED.");
+ next;
+ mesc l("Once you join the Alliance, you won't be able to talk with people outside it.");
+ mesc l("Additionaly, all your movement will be restricted until either you're warped or log out.");
+ close;
+
+OnSet:
+ waitingroom("Hurnscald Alliance", $@BG1_SIZE, "start#hurns_lib::OnReadyCheck", $@BG1_SIZE-1);
+ end;
+
+OnInit:
+ .CYCLES=0;
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, GoldenWarlordPlate); // Light armor
+ setunitdata(.@npcId, UDT_HEADMIDDLE, JeansChaps); // Pants
+ setunitdata(.@npcId, UDT_HEADBOTTOM, DeepBlackBoots); // Shoes
+ setunitdata(.@npcId, UDT_WEAPON, BugSlayer);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 13);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 7);
+ if ($HURNS_LIBDATE)
+ disablenpc(.name$);
+ end;
+
+OnEnterBG:
+ debugmes "Alliance::OnEnterBG";
+ $@FK_Team1 = waitingroom2bg("012-1",141, 65,"start#hurns_lib::OnPlayerQuit","start#hurns_lib::OnPlayerDeath");
+ setbgteam $@FK_Team1, 1;
+ end;
+
+OnDoEvent:
+ debugmes "OnDoEvent";
+ mapannounce("012-1", "Find and slay the Monster Admiral! DO NOT ATTACK GUARDS. Don't let everyone die!", bc_map);
+ .@Pl=getmapusers("012-1");
+ .CYCLES=0;
+
+ // Guards won't attack the Monster Staff
+ areamonster("012-1", 52, 45, 127, 80, "Monster Sergeant", Forain, .@Pl/3+1, "Hurnsguard::OnXtreem");
+ areamonster("012-1", 52, 45, 127, 80, "Monster Sergeant", Moonshroom, .@Pl/2+1, "Hurnsguard::OnXtreem");
+ areamonster("012-1", 52, 45, 127, 80, "Monster Soldier", AngryScorpion, .@Pl, "Hurnsguard::OnSkip");
+ for (.@i = 0; .@i < .@Pl; .@i++)
+ bg_monster($@FK_Team1, "012-1", rand(131, 136), rand(64, 80), "Friendly Guard", FallenGuard1, "Cassia::OnSkip");
+ initnpctimer();
+ end;
+
+OnSkip:
+ // Here, coins drop rate are based on REMAINING PLAYERS and DEFEATED MONSTER LEVEL.
+ // A level 100 monster can have a 5% drop bonus against a level 0 monster.
+ // You have 1.2% of base chance, plus 0.5% each player + 0.05% each monster level.
+ if (rand(10000) <= 120 + (getmapusers("012-1")*50) + (strmobinfo(3,killedrid)*5))
+ getmapxy(.@m$, .@x, .@y, 0);
+ makeitem(any(Plushroom, Chagashroom, Bread, HalfCroconut, Aquada, CasinoCoins, CactusCocktail, AppleCocktail, CherryCocktail), any(1,1,2), "012-1", .@x, .@y);
+ end;
+
+OnTimer300000:
+ .@Pl=getmapusers("012-1")+mobcount("012-1", "Cassia::OnSkip")-1;
+ .@Pla=getmapusers("012-1");
+ .@Mb=mobcount("012-1", "Hurnsguard::OnSkip")+mobcount("012-1", "Hurnsguard::OnXtreem")+2; // Saulc GM is an enemy for server code
+ for (.@i = 0; .@i < .@Pla; .@i++)
+ bg_monster($@FK_Team1, "012-1", rand(131, 136), rand(64, 80), "Friendly Guard", FallenGuard1, "Cassia::OnSkip");
+
+ // See if we need extra guards, depending on how outnumbered allied forces are.
+ if ((.@Mb / .@Pl) > 7) {
+ bg_monster($@FK_Team1, "012-1", rand(131, 136), rand(64, 80), "Additional Guard", FallenGuard2, "Cassia::OnSkip");
+ }
+ if ((.@Mb / .@Pl) > 6) {
+ bg_monster($@FK_Team1, "012-1", rand(131, 136), rand(64, 80), "Additional Guard", FallenGuard2, "Cassia::OnSkip");
+ }
+ if ((.@Mb / .@Pl) > 5) {
+ bg_monster($@FK_Team1, "012-1", rand(131, 136), rand(64, 80), "Additional Guard", FallenGuard2, "Cassia::OnSkip");
+ }
+ if ((.@Mb / .@Pl) > 4) {
+ bg_monster($@FK_Team1, "012-1", rand(131, 136), rand(64, 80), "Additional Guard", FallenGuard2, "Cassia::OnSkip");
+ }
+ if ((.@Mb / .@Pl) > 3) {
+ bg_monster($@FK_Team1, "012-1", rand(131, 136), rand(64, 80), "Additional Guard", FallenGuard2, "Cassia::OnSkip");
+ }
+ .@Pl=getmapusers("012-1")+mobcount("012-1", "Cassia::OnSkip")-1;
+ .@Pla=getmapusers("012-1")-1;
+
+ mapannounce("012-1", "Survivors: "+.@Pla+" Hurnscald Alliance: "+.@Pl+" Monsters: "+.@Mb, bc_map);
+ initnpctimer;
+ end;
+
+OnTimer10000:
+OnTimer120000:
+OnTimer240000:
+ .CYCLES=.CYCLES+1;
+
+ // Scripted monsters
+ if (.CYCLES == 2) {
+ mapannounce("012-1", "Monster Lieutenant appears! Watch out!", bc_map);
+ bg_monster($@FK_Team2, "012-1", 65, 71, "Monster Lieutenant", NightScorpion, "Hurnsguard::OnXtreem");
+ } else if (.CYCLES == 3) {
+ mapannounce("012-1", "Monster Admiral appears! Kill it to liberate Hurns!", bc_map);
+ .@boss=bg_monster($@FK_Team2, "012-1", 65, 71, "Monster Admiral", GiantMutatedBat, "Hurnsguard::OnVictory");
+ // Give huge amounts of health to the boss (Default: 43310)
+ setunitdata(.@boss, UDT_MAXHP, 100000);
+ setunitdata(.@boss, UDT_HP, 100000);
+ }
+
+ // One monster per user alive
+ .@Pl=getmapusers("012-1");
+ for (.@i = 0; .@i < .@Pl; .@i++) {
+ .@monsterId=any(CaveMaggot, RedSlime, LavaSlime, BlackScorpion,
+ AngryRedScorpion, Sarracenus, Snake, MountainSnake, GreenSlime,
+ Bandit, BlackScorpion, HouseMaggot, AngryScorpion, MagicGoblin,
+ Pinkie, Mouboo, Scorpion, Yeti);
+
+ bg_monster($@FK_Team2, "012-1", rand(69, 136), rand(83, 74), "Monster Soldier", .@monsterId, "Hurnsguard::OnSkip");
+ // 40% odds of having an extra monster spawned (player loop)
+ if (rand(1,5) % 2 == 0)
+ bg_monster($@FK_Team2, "012-1", rand(69, 136), rand(83, 74), "Monster Soldier", .@monsterId, "Hurnsguard::OnSkip");
+ }
+ // One slime blast per general
+ .@Mgg=mobcount("012-1", "Hurnsguard::OnXtreem");
+ for (.@i = 0; .@i < .@Mgg; .@i++) {
+ bg_monster($@FK_Team2, "012-1", rand(69, 136), rand(83, 74), "Monster Soldier", SlimeBlast, "Cassia::OnSkip");
+ }
+ // One Magic Goblin or Pinkie per cycle
+ for (.@i = 0; .@i < .CYCLES; .@i++) {
+ if (rand(1,2) == 1)
+ bg_monster($@FK_Team2, "012-1", rand(69, 136), rand(83, 74), "Monster Soldier", Pinkie, "Hurnsguard::OnSkip");
+ else
+ bg_monster($@FK_Team2, "012-1", rand(69, 136), rand(83, 74), "Monster Soldier", MagicGoblin, "Hurnsguard::OnSkip");
+ }
+ // Spawn Angry Scorpions on the whole map. These monsters are neutral!
+ areamonster("012-1", 33, 16, 137, 100, "Monster Soldier", AngryScorpion, .CYCLES, "Hurnsguard::OnSkip");
+
+ // One extra guard on every summon
+ bg_monster($@FK_Team1, "012-1", rand(131, 136), rand(64, 80), "Additional Guard", FallenGuard2, "Cassia::OnSkip");
+ end;
+
+OnXtreem:
+ if (rand2(0,100) > 50)
+ getitem StrangeCoin, 2;
+ // Here, the drop is a Bronze Gift, based on living players and players nearby.
+ // You have 0.1% of base chance, plus 0.2% each fighting player + 1% each near player.
+ getmapxy(.@m$, .@x, .@y, 0);
+ if (rand(10000) <= 10 + (getmapusers("012-1")*20) + (getareausers("012-1", .@x-8, .@x+8, .@y-8, .@y+8)*100))
+ makeitem(BronzeGift, 1, "012-1", .@x, .@y);
+ end;
+
+OnVictory:
+ $HURNS_LIBDATE=gettimetick(2);
+ removemapflag("012-1", mf_nosave);
+ disablenpc "Hurnsguard";
+ pvpoff("012-1");
+ removemapmask "012-1", MASK_MATTACK;
+ removemapmask "012-1", MASK_EVILSANCTUM;
+ //removemapflag("012-1", mf_nocommand);
+ setmapflag("012-1",mf_zone,"Normal2"); // Revert MMO Zone
+ removemapflag("012-1", mf_battleground);
+ removemapflag("012-1", mf_bexp);
+ setmapflag("012-1",mf_bexp,100);
+ enablenpc "#012-1_22_62";
+ enablenpc "#012-1_79_17";
+ enablenpc "#012-1_79_102";
+ enablenpc "#012-1_132_101";
+ enablenpc "#012-1_65_55";
+ enablenpc "#012-1_89_58";
+ enablenpc "#012-1_101_55";
+ enablenpc "#012-1_121_71";
+ enablenpc "#012-1_116_66";
+ enablenpc "#012-1_110_56";
+ enablenpc "#012-1_102_69";
+ enablenpc "Andrei Sakar";
+ enablenpc "Dyrin The Traveler";
+ enablenpc "Gwendolyn";
+ enablenpc "Jack";
+ enablenpc "Locamit";
+ enablenpc "Richard";
+ enablenpc "Soul Menhir#hurns";
+ enablenpc "HurnsShip#M";
+ enablenpc "Hinnak";
+ enablenpc "Tezzerin";
+ enablenpc "Luffyx";
+ enablenpc "Shoppa Kep";
+ announce "##2Hurnscald was recovered!", bc_all | bc_npc;
+ killmonster("012-1", "All");
+ changemusic "012-1", "tws_birds_in_the_sunrise.ogg"; // Play a more peaceful tune.
+ stopnpctimer;
+ maptimer("012-1", 10, "Hurnsguard::OnReward");
+ // Here, coins drop rate are based on REMAINING PLAYERS and DEFEATED MONSTER LEVEL.
+ // You have $coinsrate of base chance, plus 2% for each living player.
+ // $coinsrate is set on Aeros Event Master, and defaults to 6%
+ if (rand(10000) <= $coinsrate + (getmapusers("012-1")*200))
+ getmapxy(.@m$, .@x, .@y, 0);
+ makeitem(StrangeCoin, 1, "012-1", .@x, .@y);
+ //Karma=Karma+1;
+ $MOST_HEROIC$=strcharinfo(0);
+ bg_destroy(1);
+ bg_destroy(2);
+ // Auto-schedule Liberation Day
+ // a month from now, to happen on a saturday
+ .@offset = gettime(GETTIME_WEEKDAY); // How long since sunday?
+ .@offset += 1; // Move it to Saturday
+ .@offset += 30; // Add a month
+ .@offset += gettimeparam(GETTIME_DAYOFMONTH); // Apply offset to the all days
+ $NLIB_SEQDAY = .@offset; // Schedule the event
+
+ end;
+
+OnReward:
+ bg_leave();
+ // Let's say we have 5 players for reference. Subtract a Game Master, he doesn't counts.
+ .@Pl=getmapusers("012-1")-1;
+ getexp .@Pl*600, .@Pl*30; // 3,000 exp, 150 jxp
+ Zeny=Zeny+.@Pl*300; // 1,500 gp
+ specialeffect(FX_FANFARE, AREA, getcharid(3));
+ end;
+
+}
+
+////////////////////////////////////////////////
+//== Battleground Engine ======================
+////////////////////////////////////////////////
+012-1,0,0,0 script start#hurns_lib NPC_HIDDEN,{
+OnInit:
+ end;
+
+OnEnable:
+ end;
+
+OnPlayerQuit:
+OnPlayerDeath:
+OnPlayer2Quit:
+OnPlayer2Death:
+ bg_leave();
+ // Check if we are done for.
+ warp "000-1", 22, 22;
+ .@Pl=getmapusers("012-1");
+ if (.@Pl <= 1 && !$@GM_OVERRIDE) {
+ announce "##1Hurnscald is lost!", bc_all | bc_npc;
+ disablenpc "Hurnsguard";
+ pvpoff("012-1");
+ removemapmask "012-1", 10;
+ removemapflag("012-1", mf_nocommand);
+ removemapflag("012-1", mf_battleground);
+ killmonster("012-1", "all");
+ bg_destroy(1);
+ bg_destroy(2);
+ }
+ end;
+
+OnReadyCheck:
+ .@Alliance = getwaitingroomstate(0,"Hurnsguard");
+ debugmes "Check:" +str(.@Alliance)+"<"+ str($@BG1_SIZE-1);
+ if ( .@Alliance < $@BG1_SIZE-1 )
+ end;
+ donpcevent "Hurnsguard::OnEnterBG";
+ donpcevent "Lieutenant Paul::OnEnterBG";
+ debugmes "Prepare Warp";
+ bg_warp $@FK_Team1,"012-1",141, 65;
+ bg_warp $@FK_Team2,"012-1",69, 71;
+ changemusic "012-1", "misuse.ogg";
+ donpcevent "Hurnsguard::OnDoEvent";
+ //initnpctimer;
+ end;
+}
+
+////////////////////////
+// Handle Guard's logic
+////////////////////////
+function script CheckpointGuard {
+ mesn;
+ mesq l("I am stationed here to protect Hurnscald from monsters.");
+ next;
+ mesn;
+ mesq l("If the Monster King attacks, I will try to control inbound monsters here.");
+ close;
+ return;
+}
+
+012-1,81,18,0 script Checkpoint Guard#1 NPC_GUARD2,{
+ CheckpointGuard();
+ end;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
+
+012-1,26,60,0 script Checkpoint Guard#2 NPC_GUARD1,{
+ CheckpointGuard();
+ end;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
+012-1,80,98,0 script Checkpoint Guard#3 NPC_GUARD2,{
+ CheckpointGuard();
+ end;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
+
+012-1,134,98,0 script Checkpoint Guard#4 NPC_GUARD1,{
+ CheckpointGuard();
+ end;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
+012-1,94,56,0 script Guard#012-1.1 NPC_GUARD1,{
+ .@q=getq(HurnscaldQuest_HungryGuard);
+ if (.@q == 0) {
+ mesn l("Guard");
+ mesq l("Hey, you! Could you bring me an @@?", getitemlink(RedApple));
+ next;
+ mesn l("Guard");
+ mesq l("I'm hungry like a bear :b");
+ if (!countitem(RedApple))
+ close;
+ select
+ l("Here, you can have this one!"),
+ l("Nope, sorry!");
+ mes "";
+ if (@menu == 1) {
+ delitem RedApple, 1;
+ setq HurnscaldQuest_HungryGuard, 1;
+ getexp 500, 0;
+ mesn l("Guard");
+ mesq l("Oooh, many thanks! ^.^");
+ }
+ close;
+ }
+ legiontalk;
+ end;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
+
+012-1,112,65,0 script Guard#012-1.2 NPC_GUARD2,{
+ legiontalk;
+ end;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
+
+
+012-1,0,0,0 script #HurnscaldSiege NPC_HIDDEN,{
+ end;
+
+// Begin Siege
+OnMKSiege:
+ $@SIEGE_ABORTED = false;
+OnStartSiege:
+ kamibroadcast(col("WARNING! WARNING! Monster Army is moving towards Hurnscald!!",1));
+ do_siege("012-1", "014-3", "HURNS", TP_HURNS, .name$, .siegetime);
+ initnpctimer;
+ end;
+
+// Timers
+OnTimer5000:
+ .siegetime+=5;
+ do_siege("012-1", "014-3", "HURNS", TP_HURNS, .name$, .siegetime);
+ switch (.siegetime) {
+ // Monster Army arrives in town
+ case 60:
+ disablenpc "Oscar";
+ disablenpc "Gwendolyn";
+ disablenpc "Milly";
+ disablenpc "LOFBot";
+ disablenpc "Locamit";
+ disablenpc "Andrei Sakar";
+ disablenpc "Luffyx";
+ disablenpc "Tezzerin";
+ disablenpc "Hinnak";
+ disablenpc "Igor";
+ disablenpc "Dyrin The Traveler";
+ disablenpc "Mahad";
+ disablenpc "Jack";
+ break;
+ // Monster Army deployed in town
+ case 90:
+ disablenpc "Shoppa Kep";
+ disablenpc "Richard";
+
+ disablenpc "Celestia";
+ disablenpc "Airlia";
+ disablenpc "Nicholas";
+ disablenpc "Wyara";
+ disablenpc "Alan";
+ disablenpc "Khafar";
+ disablenpc "Melina";
+ disablenpc "Helena";
+ disablenpc "Rakinorf, Mayor";
+ break;
+ // Monster army have withdrawn completly
+ case MK_SIEGE_DURATION:
+ .siegetime=0;
+ announce(("Hurnscald siege is over!"), bc_all);
+ enablenpc "Gwendolyn";
+ enablenpc "Milly";
+ enablenpc "LOFBot";
+ enablenpc "Locamit";
+ enablenpc "Andrei Sakar";
+ enablenpc "Luffyx";
+ enablenpc "Tezzerin";
+ enablenpc "Hinnak";
+ enablenpc "Igor";
+ enablenpc "Dyrin The Traveler";
+ enablenpc "Mahad";
+ enablenpc "Jack";
+ enablenpc "Shoppa Kep";
+ enablenpc "Richard";
+ enablenpc "Celestia";
+ enablenpc "Airlia";
+ enablenpc "Nicholas";
+ enablenpc "Wyara";
+ enablenpc "Alan";
+ enablenpc "Khafar";
+ enablenpc "Melina";
+ enablenpc "Helena";
+ enablenpc "Rakinorf, Mayor";
+ enablenpc "Oscar";
+ stopnpctimer;
+ end;
+ break;
+ }
+
+ // Loop again
+ initnpctimer;
+ end;
+
+OnInit:
+ .siegetime=0;
+ end;
+}
+
diff --git a/npc/012-1/gwendolyn.txt b/npc/012-1/gwendolyn.txt
new file mode 100644
index 0000000..42953dd
--- /dev/null
+++ b/npc/012-1/gwendolyn.txt
@@ -0,0 +1,590 @@
+// TMW2 Script
+// Author:
+// The Mana World Team
+// Edited by:
+// Jesusalva
+// Description:
+// Archery Trainer
+
+012-1,88,52,0 script Gwendolyn NPC_BOWMASTER,{
+ .@q=getq(HurnscaldQuest_HarkEye);
+ .@fbow=getq(HurnscaldQuest_ForestBow);
+
+ if (.@q == 6) goto L_State6;
+ if (.@q == 5) goto L_State5;
+ if (.@q == 4) goto L_State4;
+ if (.@q == 3) goto L_State3;
+ if (.@q == 2) goto L_State2;
+ if (.@q == 1) goto L_State1;
+
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Hey there. My name is Gwendolyn Bowmaker; I'm the granddaughter of the famous Glinda Bowmaker.");
+ next;
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("She and her husband Simon Bowmaker, vowed to teach the ways of archery to those with willpower, and allow everyone to use a bow.");
+ next;
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("I intend to continue with my family's tradition, by teaching the Way of Archery.");
+ setq HurnscaldQuest_HarkEye, 1;
+ next;
+
+L_State1:
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Are you interested in becoming a student of Archery?");
+ next;
+ menu
+ l("I want to become an archer!"),L_Fee,
+ l("I'm not interested right now."),L_Abort;
+
+L_Fee:
+ mes "";
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Wonderful! My fee is @@. This fee is the first step in separating those with willpower, from those without.", .SCHOOLFEE);
+ next;
+ menu
+ l("That's a lot, but I think it will be worth it."),L_Next,
+ l("I'm not sure I want to spend that much."),L_Abort;
+
+L_Next:
+ mes "";
+ if (Zeny < .SCHOOLFEE)
+ goto L_No_Money;
+
+ Zeny = Zeny - .SCHOOLFEE;
+ setq HurnscaldQuest_HarkEye, 2;
+
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Great! The first thing you need is, obviously, a bow. You should not use any you come across, but a high quality one.");
+ next;
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Inside this house is my brother Alan. He knows how to make Forest Bows of exquisite quality.");
+ next;
+
+ if (countitem("ForestBow") < 1) {
+ goto L_Close;
+ }
+ select
+ l("I already have a Forest Bow.");
+ mes "";
+
+L_State2:
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Let me see your bow.");
+ next;
+
+ if (countitem("ForestBow") < 1)
+ goto L_NoBow;
+ if (.@fbow < 2)
+ goto L_FakeBow;
+
+ setq HurnscaldQuest_HarkEye, 3;
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Very well, this looks fine. It is time for your first lesson.");
+ next;
+ goto L_Lesson;
+
+L_Lesson:
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("The advantage of fighting with a ranged weapon is that you can stay out of the enemy's range. So there is no need to spend training on your resistance.");
+ next;
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("But remember: This makes you much more vulnerable, and you usually cannot hit from too close, so watch your step and don't stumble into your enemy's attack.");
+ next;
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Also your strength doesn't matter much. It helps you to carry more arrows with you, but nothing a few trips to the store won't do.");
+ next;
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("The most important thing to improve is your dexterity. When you use a bow, it is your dexterity that determines if you are able to hit your enemy where it hurts most.");
+ next;
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Also worth mentioning is how to improve your ability to shoot fast. You need to be agile to grab a new arrow from your quiver and aim for the next shot before your enemy has recovered from your last.");
+ next;
+
+L_State3:
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("To demonstrate that you understood what I'm trying to teach you, you should go and fight against some snakes. I know they're strong, but that's not important to an archer.");
+ next;
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("To prove me your results, bring me @@ @@, @@ @@ and @@ @@.",
+ .CAVE_EGGS_AMOUNT, getitemlink(CaveSnakeEgg),
+ .SNAKE_EGGS_AMOUNT, getitemlink(SnakeEgg),
+ .MOUNTAIN_EGGS_AMOUNT, getitemlink(MountainSnakeEgg));
+ next;
+ menu
+ l("Can you please repeat your lesson?"),L_Lesson,
+ l("I will go and hunt some snakes."),L_Close,
+ l("I have what you want."),L_Next1;
+
+L_Next1:
+ mes "";
+ if (countitem("CaveSnakeEgg") < .CAVE_EGGS_AMOUNT
+ ||countitem("SnakeEgg") < .SNAKE_EGGS_AMOUNT
+ ||countitem("MountainSnakeEgg") < .MOUNTAIN_EGGS_AMOUNT)
+ goto L_Insufficient;
+
+ delitem "CaveSnakeEgg", .CAVE_EGGS_AMOUNT;
+ delitem "SnakeEgg", .SNAKE_EGGS_AMOUNT;
+ delitem "MountainSnakeEgg", .MOUNTAIN_EGGS_AMOUNT;
+
+ getexp .QUEST_EGG_EXP, 100;
+
+ setq HurnscaldQuest_HarkEye, 4;
+
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Very well. That will make a great meal. You pass!");
+ next;
+
+L_State4:
+ if (BaseLevel < .BASELEVEL_GAME)
+ goto L_NotReady;
+ if (!MAGIC_LVL)
+ goto L_NotReady;
+ mesc l("Gwendolyn takes an analyzing look at you. Then she nods.");
+ next;
+ setq HurnscaldQuest_HarkEye, 5;
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Ok. You have made great progress. I think you are ready for further tasks.");
+ next;
+ goto L_Explain;
+
+L_Explain:
+ mes "";
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("As you might have noticed, it depends on many circumstances if your arrow finds its target. Your shot may be too powerful or too weak, so the arrow goes far beyond your target or hits the ground before it reaches its destination.");
+ next;
+ mesq l("The greater the distance to your target is, the more important is the strength and direction of the wind. Even if you are exploring a cave, there might be air flow caused by the corners in the cave.");
+ next;
+ mesq l("Ok, you can see that target over there? I will tell you how strong the wind blows and from which direction. Then you will try to hit the target by moving right or left and decide how powerful you want to shoot.");
+ next;
+ goto L_State5;
+
+L_State5:
+ // needed for the minigame:
+ .@wdX = 0; // wind direction x-coordinate, rand
+ .@wdY = 0; // wind direction y-coordinate, rand
+ // set .@wp, 0; // windpower
+ .@spX = 0; // start position x-coordinate, player decision
+ // set .@spY, 0; // start position y-coordinate, const
+ .@sp = 0; // shotpower, player decision
+ //set .@targetX, 0; // target position, const
+ //set .@targetY, 20; // target position, const
+ .@pointX = 0; // point the player hits, x-coordinate
+ .@pointY = 0; // point the player hits, y-coordinate
+ .@wdIndex = 0;
+ //
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Show me what you can!");
+ next;
+ menu
+ l("Can you please explain the task again?"),L_Explain,
+ l("I'm ready, let's start!"),L_Game,
+ l("I'm sorry, I will come back later."),L_Close;
+
+L_Game:
+ mes "";
+ if (countitem(ForestBow) < 1)
+ goto L_NoBow;
+ if (countitem(TrainingArrow) < 1)
+ goto L_Arrows;
+ delitem TrainingArrow, 1;
+ mesc l("You go to the training field and stand exactly on the same level with the target. The target is located about 13 meters north of you. You take one arrow and look at Gwendolyn.");
+ next;
+
+ // possibility for wdX and wdY to become zero is reduced, so windless status is less often
+ .@wdX = rand(9) - 4;
+ if (.@wdX != 2 && .@wdX !=-2) .@wdX = rand(9) - 4;
+ if (.@wdX == 0) .@wdX = rand(9) - 4;
+
+ .@wdY = rand(9) - 4;
+ if (.@wdY != 2 && .@wdY !=-2) .@wdY = rand(9) - 4;
+ if (.@wdY == 0) .@wdY = rand(9) - 4;
+
+ // wind direction array, where the wind blows to:
+ // 123
+ // 456
+ // 789
+ //here is where the wind comes from, that's why it is the opposite.
+ setarray .@wd$,"error1, please report", l("southeast"), l("south"), l("southwest"), l("east"),
+ "error2, please report", l("west"), l("northeast"), l("north"), l("northwest");
+ @paramX = .@wdX;
+ @paramY = .@wdY;
+ callsub S_getDirection;
+ .@wdIndex = @returnIndex;
+
+ // Cheat
+ if (is_admin() && debug)
+ dispbottom l("Wind: @@, @@",.@wdX,.@wdY);
+
+ .@wp_sq = (.@wdX * .@wdX) + (.@wdY * .@wdY);
+
+ if (.@wp_sq == 0)
+ goto L_wp0;
+ if (.@wp_sq < 3)
+ goto L_wp1;
+ if (.@wp_sq < 9)
+ goto L_wp2;
+ if (.@wp_sq < 19)
+ goto L_wp3;
+ goto L_wp4;
+
+
+L_wp0:
+ mesn l("Gwendolyn Bowmaker");
+ mesq lg("You're lucky. It is windless now.");
+ next;
+ goto L_Start;
+
+L_wp1:
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("There is a slight breeze coming from @@.", .@wd$[.@wdIndex]);
+ next;
+ goto L_Start;
+
+L_wp2:
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("The wind is blowing from @@.", .@wd$[.@wdIndex]);
+ next;
+ goto L_Start;
+
+L_wp3:
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Right now, there is a strong wind blowing from @@.", .@wd$[.@wdIndex]);
+ next;
+ goto L_Start;
+
+L_wp4:
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Here we have a squall from @@.", .@wd$[.@wdIndex]);
+ next;
+ goto L_Start;
+
+L_Start:
+ mesc l("Do you want to go to the left, the right or stay where you are?");
+ next;
+ menu
+ l("I want to move left."),L_Left,
+ l("I go right."),L_Right,
+ l("I stay."),L_Stay,
+ l("I will try it later."),L_Close;
+
+L_Stay:
+ .@spX = 0;
+ mesc l("You stay where you are..");
+ next;
+ goto L_Power;
+
+L_Left:
+ mesc l("How many steps?");
+ next;
+ menu
+ "1",L_Left1,
+ "2",L_Left2,
+ "3",L_Left3,
+ "4",L_Left4;
+
+L_Left1:
+ .@spX = -1;
+ mesc l("You take one step to the left.");
+ next;
+ goto L_Power;
+
+L_Left2:
+ .@spX = -2;
+ mesc l("You take two steps to the left.");
+ next;
+ goto L_Power;
+
+L_Left3:
+ .@spX = -3;
+ mesc l("You take three steps to the left.");
+ next;
+ goto L_Power;
+
+L_Left4:
+ .@spX = -4;
+ mesc l("You take four steps to the left.");
+ next;
+ goto L_Power;
+
+L_Right:
+ mesc l("How many steps?");
+ next;
+ menu
+ "1",L_Right1,
+ "2",L_Right2,
+ "3",L_Right3,
+ "4",L_Right4;
+
+L_Right1:
+ .@spX = 1;
+ mesc l("You take one step to the right.");
+ next;
+ goto L_Power;
+
+L_Right2:
+ .@spX = 2;
+ mesc l("You take two steps to the right.");
+ next;
+ goto L_Power;
+
+L_Right3:
+ .@spX = 3;
+ mesc l("You take three steps to the right.");
+ next;
+ goto L_Power;
+
+L_Right4:
+ .@spX = 4;
+ mesc l("You take four steps to the right.");
+ next;
+ goto L_Power;
+
+L_Power:
+ mes "";
+ mesc l("How powerfully do you want to shoot?");
+ next;
+ select
+ l("very weak shot"),
+ l("rather weak shot"),
+ l("weak shot"),
+ l("somewhat weak shot"),
+ l("medium shot"),
+ l("somewhat powerful shot"),
+ l("powerful shot"),
+ l("rather powerful shot"),
+ l("very powerful shot");
+
+ // we have 9 menu entries, so scale @menu, which is in range 1-9, to a scale in -4 to +4
+ .@sp = @menu - 5;
+ // calculate where you hit. You range is in [-8, 8] in X and Y as well
+ .@pointX = .@wdX + .@spX;
+ .@pointY = .@wdY + .@sp;
+
+ // Debug information. If you move wind info to above, you CHEAT.
+ if (is_admin()) {
+ dispbottom l("Wind: @@, @@",.@wdX,.@wdY);
+ dispbottom l("You: @@, @@",.@spX,.@sp);
+ dispbottom l("Final: @@, @@",.@pointX,.@pointY);
+
+ }
+
+ if( .@pointX==0 && .@pointY==0 )
+ goto L_Success;
+
+ //set .@targethit to these numbers:
+ //1,2,3 for left above, above, right above,
+ //4,5,6 for left, hit, right
+ //7,8,9 for lower left, below, lower right;
+ setarray .@target_direction$, "error3, please report", l("left above"), l("above"), l("right above"), l("left"),
+ "error4, please report", l("right"), l("lower left"), l("below"), l("lower right");
+
+ @paramX = .@pointX;
+ @paramY = .@pointY;
+ callsub S_getDirection;
+ .@targethit = @returnIndex;
+
+ //now check how close
+ //get the distance squared:
+ // so it is in range 0 - 64:
+ // 0 is hit
+ // < 5 is very close
+ // <17 is close
+ // rest is a quite bad shot
+ .@target_dist_sq = (.@pointX * .@pointX) + (.@pointY*.@pointY);
+
+ if (.@target_dist_sq < 5)
+ goto L_Quite;
+ if (.@target_dist_sq < 17)
+ goto L_Almost;
+
+ //here are bad shots:
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("D'oh, what a terrible shot!");
+ next;
+ mesq l("Do you even know what a bow is?");
+ next;
+ mesq l("That was far @@.", .@target_direction$[.@targethit]);
+ next;
+ goto L_Game;
+
+L_Almost:
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("That was @@.", .@target_direction$[.@targethit]);
+ next;
+ mesq l("I suggest some training.");
+ next;
+ goto L_Game;
+
+L_Quite:
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("That was quite close. Impressive!");
+ next;
+ mesq l("It was a little @@.", .@target_direction$[.@targethit]);
+ next;
+ mesq l("But you did not hit... have another try.");
+ next;
+ // You might get unlucky and the wind may change
+ if(rand(5) == 2) goto L_Game;
+ mesq l("Hurry up, before the wind changes.");
+ next;
+ goto L_Start;
+
+L_Success:
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Wonderful! That was great! Directly hit the bull's eye!"); // TRANSLATORS: manner of speak, "to hit exactly on the target"
+ next;
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Maybe you did it, after all!");
+ next;
+ mesq l("Let me inspect it...");
+ mesc l("She walks to the target.");
+ next;
+ if( rand2(400) > (2*readparam2(bDex) + readparam2(bAgi)))
+ goto L_Miss;
+
+ setq HurnscaldQuest_HarkEye, 6;
+
+ skill TMW2_CHARGEDARROW, 1, 0;
+ getexp .QUEST_HAWK_EXP, 0;
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Perfect indeed! Congratulations!");
+ next;
+
+ mesq l("Remember, there is always something new to learn. And you should not let your training down in order to keep and improve your abilities.");
+ next;
+ goto L_Close;
+
+L_Miss:
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Ohh! A fingernail aside.");
+ next;
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("That is quite impressive, but you can perform better with more training.");
+ next;
+ goto L_Game;
+
+L_State6:
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("You really have a reason to be proud.");
+ next;
+ goto L_Close;
+
+L_Abort:
+ mes "";
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("That's a pity. Well, if you change your mind, come back any time.");
+ next;
+ goto L_Close;
+
+L_No_Money:
+ mes "";
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("I am sorry, but it seems that you don't have enough money. Come back when you have reorganized your finances.");
+ next;
+ goto L_Close;
+
+L_NoBow:
+ mesq l("As an archer, you should always carry your bow with you. Doesn't warriors carry those heavy swords without complaining? Go and get it.");
+ next;
+ mesq l("Also, I don't care if you don't like the @@. That's the weapon a true archer should use!", getitemlink(ForestBow));
+ goto L_Close;
+
+L_FakeBow:
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("You just bought it? You won't learn anything from that.");
+ next;
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("To understand the nature of this bow, you have to collect the needed material by yourself. Only this way will you get a feeling of what it means to use such a weapon.");
+ next;
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("The best thing would be to let you make the bow by yourself. But I guess, that would go to far. And it would take ages to get a high quality bow.");
+ next;
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Do as I told you, and talk to Alan for the bow!");
+ next;
+ goto L_Close;
+
+L_Insufficient:
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Maybe I should also give you a lesson in how to count? You don't have enough.");
+ next;
+ goto L_Close;
+
+L_NotReady:
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("I am pleased about your progress, but you are not ready for the next step yet. Go and do some more training, before you come back.");
+ next;
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Remember also: It is wise to speak with people you meet on your journey, there is always something new to learn.");
+ next;
+ goto L_Close;
+
+L_Arrows:
+ mesc l("Gwendolyn sighs and shake her head.");
+ next;
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("Another lecture: Take always enough arrows with you. Go and come back when you are equipped adequately.");
+ next;
+ mesn l("Gwendolyn Bowmaker");
+ mesq l("For this training, I need @@, not the usual arrow you use.", getitemlink(TrainingArrow));
+ next;
+ goto L_Close;
+
+L_Close:
+ @paramX=0;
+ @paramY=0;
+ @returnIndex=0;
+ closedialog;
+ goodbye;
+ close;
+
+S_getDirection:
+ // get @paramX @paramY as parameters
+ // returns an index where these parameters are in relation to origin
+ // 123
+ // 456 whereas 5 is the origin. (3,6,9 there is paramX>0); (1,2,3 there is paramY>0)
+ // 789
+ //first check the quadrants and after check more precisely
+ if(@paramX>0 && @paramY>0) @returnIndex = 3;
+ if(@paramX>0 && @paramY<0) @returnIndex = 9;
+ if(@paramX<0 && @paramY>0) @returnIndex = 1;
+ if(@paramX<0 && @paramY<0) @returnIndex = 7;
+
+ //straight left
+ if ( (@paramX < 0) && (@paramY >= @paramX/2) && (-@paramY >= @paramX/2) ) @returnIndex = 4;
+
+ //straight right
+ if ( (@paramX > 0) && (@paramY <= @paramX/2) && (-@paramY <= @paramX/2) ) @returnIndex = 6;
+
+ //straight above
+ if ( (@paramY > 0) && (@paramX <= @paramY/2) && (-@paramX <= @paramY/2) ) @returnIndex = 2;
+
+ //straight below
+ if ( (@paramY < 0) && (@paramX >= @paramY/2) && (-@paramX >= @paramY/2) ) @returnIndex = 8;
+
+ //check the origin, because the origin is found by the "straight" lines as well. (should not, but is.. maybe a bug?)
+ if( @paramX==0 && @paramY==0 ) @returnIndex = 5;
+ return;
+
+OnInit:
+ // schoolfee in gp
+ .SCHOOLFEE = 2500;
+
+ // how many eggs do you need of each kind?
+ .CAVE_EGGS_AMOUNT = 21;
+ .SNAKE_EGGS_AMOUNT = 15;
+ .MOUNTAIN_EGGS_AMOUNT = 7;
+
+ // experience for eggs
+ .QUEST_EGG_EXP = 7500;
+
+ // The needed level for the minigame:
+ .BASELEVEL_GAME = 45;
+
+ // experience gained for hitting the bullseye:
+ .QUEST_HAWK_EXP = 12000;
+
+ .sex = G_FEMALE;
+ .distance = 7;
+ end;
+}
diff --git a/npc/012-1/hinnak.txt b/npc/012-1/hinnak.txt
new file mode 100644
index 0000000..47b019c
--- /dev/null
+++ b/npc/012-1/hinnak.txt
@@ -0,0 +1,162 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Hurnscald farmer.
+
+012-1,105,30,0 script Hinnak NPC_ORC,{
+ .@q1=getq(HurnscaldQuest_Farmers);
+ .@q2=getq2(HurnscaldQuest_Farmers);
+ mesn;
+ if (strcharinfo(0) == $MOST_HEROIC$) mesq l("Ah, if it isn't @@? You're the talk of the town!", $MOST_HEROIC$);
+ if (strcharinfo(0) == $MOST_HEROIC$) next;
+ if (.@q1 == 0) goto L_Start;
+ if (.@q1 == 1) goto L_Check;
+ if (.@q1 == 4) goto L_Letter;
+ if (.@q1 == 5) goto L_Thanks;
+ mesq l("Maybe you could now help my friend Oscar. His farm is west of here.");
+ close;
+
+L_Start:
+ mesq l("I hate you Pinkies, and I hate the Monster King too, for bringing forth these plagues!!");
+ next;
+ mesn strcharinfo(0);
+ mesc l("The farmer seems mad and in need of help. Will you help him?");
+ if (askyesno() != ASK_YES) {
+ mesq l("Sorry, I have to go.");
+ close;
+ }
+ next;
+ mesn;
+ mesq l("Ah, so you're willing to help? Great! Because I HATE THEM ALL!");
+ next;
+ if (readparam2(bAgi) < 20) goto L_Slow;
+ if (BaseLevel < 20) goto L_Weak;
+ mesn;
+ mesq l("They jump left and right and left and right again, and I can't catch them.");
+ next;
+ mesn;
+ mesq l("Please kill some of them, and bring me 10 @@!", getitemlink(PinkAntenna));
+ setq HurnscaldQuest_Farmers, 1, 0;
+ close;
+
+OnKillPinkie:
+ .@q1=getq(HurnscaldQuest_Farmers);
+ .@q2=getq2(HurnscaldQuest_Farmers);
+ if (.@q1 == 1) {
+ setq2 HurnscaldQuest_Farmers, .@q2+1;
+ if (! (.@q2+1) % 10)
+ dispbottom l("@@ pinkies killed on @@'s field.", .@q2+1, l("Oscar"));
+ }
+ fix_mobkill(Pinkie);
+ end;
+
+L_Slow:
+ mesn;
+ mesq l("But you're too slow to catch any of them. Sorry.");
+ next;
+ mesc l("Raise agility to do this quest.");
+ close;
+
+L_Weak:
+ mesn;
+ mesq l("But you're too weak to beat any of them. Sorry.");
+ close;
+
+L_Check:
+ mesq l("Hey, how is the monster extermination going?");
+ next;
+ mesn;
+ // You in average need to kill 244 Pinkies. You get this bonus for not leaving the fields.
+ if (.@q2 >= 210)
+ mesq l("You killed so many Pinkies, I don't care with the Antennas anymore! They are almost gone!");
+ else if (.@q2 >= 150)
+ mesq l("I see you are doing good. Keep slaying them, hahaah!");
+ else if (.@q2 >= 100)
+ mesq l("Good job, you already killed over 100! Hahah, that sure teach them a lesson!");
+ else if (.@q2 >= 50)
+ mesq l("Yeah, teach them a lesson! Keep going!");
+ else
+ mesq l("Go kill them!!");
+ next;
+ menu
+ rif (.@q2 >= 210 && countitem(PinkAntenna) >= 10, l("No, I insist, keep the Antennas as a trophy.")), L_RealHelp,
+ rif (.@q2 >= 210 && countitem(PinkAntenna) < 10, l("Thanks, they don't like to drop their Antennas.")), L_TrueHelp,
+ rif (.@q2 >= 100 && .@q2 < 210 && countitem(PinkAntenna) >= 10, l("Here are the Antennas.")), L_Help,
+ rif (.@q2 < 100 && countitem(PinkAntenna) >= 10, l("Here are the Antennas.")), L_NoKill,
+ l("I'm not done yet. I'll be back."), -;
+ close;
+
+L_RealHelp:
+ inventoryplace Scythe, 1;
+ delitem PinkAntenna, 10;
+ getexp 1600, 60;
+ Zeny=Zeny+2500;
+ setq HurnscaldQuest_Farmers, 2, 0;
+ getitem Scythe, 1;
+ mes "";
+ mesn;
+ mesq l("Waw! You really did it, you're the savior of my farm!! You have my eternal gratitute. Here is 2500 GP for your troubles!");
+ close;
+
+L_TrueHelp:
+ mes "";
+ mesn;
+ mesq l("I know how hard it is! I hate them with all my heart, only seeing you killing them left and right was GREAT!");
+ next;
+ inventoryplace Scythe, 1;
+ getitem Scythe, 1;
+ getexp 1000, 0;
+ Zeny=Zeny+500;
+ setq HurnscaldQuest_Farmers, 2, 0;
+ mesn;
+ mesq l("You have my eternal gratitute. Here is 500 GP for your troubles.");
+ close;
+
+L_Help:
+ inventoryplace Scythe, 1;
+ delitem PinkAntenna, 10;
+ getexp 1000, 0;
+ Zeny=Zeny+1000;
+ setq HurnscaldQuest_Farmers, 2, 0;
+ getitem Scythe, 1;
+ mes "";
+ mesn;
+ mesq l("Many thanks. You have my eternal gratitute. Here is 1000 GP for your troubles.");
+ close;
+
+L_NoKill:
+ mesn;
+ mesq l("That won't do it. I want to see PINK BLOOD! No... not so cluttered. Just kill the Pinkies on my farm.");
+ next;
+ mesn;
+ mesq l("The antennas by themselves mean nothing, I want to see you killing my ENEMIES, the pinkies!");
+ close;
+
+L_Letter:
+ mesq l("You're the savior of Hurnscald crops. Half from the world would die from famine, weren't for you.");
+ next;
+ mesn;
+ mesq l("@@ and I signed this letter. Deliver it to Airlia on the Town Hall, and she'll reward you correctly.", l("Oscar"));
+ close;
+
+L_Thanks:
+ mesq l("Many thanks for all the help!");
+ next;
+ GHQ_Assign(Pinkie, "Hurnscald", getitemlink(PinkHelmet) + col(l(" (Hinnak's and Oscar's fields Pinkies may not count)"), 1));
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, FarmerHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, LeatherShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, TulimsharGuardBoots);
+ setunitdata(.@npcId, UDT_WEAPON, CottonTrousers);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 2);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 0);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/012-1/igor.txt b/npc/012-1/igor.txt
new file mode 100644
index 0000000..dfd9b9b
--- /dev/null
+++ b/npc/012-1/igor.txt
@@ -0,0 +1,14 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Igor gives the player latest news on the world
+
+012-1,126,59,0 script Igor NPC_JOURNALMAN,{
+ Journalman(.name$);
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/012-1/jack.txt b/npc/012-1/jack.txt
new file mode 100644
index 0000000..b36c09f
--- /dev/null
+++ b/npc/012-1/jack.txt
@@ -0,0 +1,180 @@
+// TMW-2 Script
+// Originals: TMW Org.
+//
+// Author:
+// Jesusalva
+// Description:
+// Jack is Hurnscald Lumberjack
+
+012-1,69,93,0 script Jack NPC_LUMBERJACK,{
+ .@q1=getq(HurnscaldQuest_ForestBow);
+ //.@q2=getq(HurnscaldQuest_WoodShield);
+
+ mesn "Jack, the Lumberjack";
+ mesq l("Hello there! I'm Jack, the Lumberjack, and enemy of all trees. If you need some firewood, just let me know.");
+ mes "";
+ select
+ l("Nothing at the moment, thanks."),
+ l("I want you to transform my raw log in a wooden log"),
+ rif(.@q1 == 1, l("I need a sturdy wood piece for a Forest Bow."));
+
+ mes "";
+
+ switch (@menu) {
+ case 1:
+ close;
+ break;
+ case 2:
+ goto L_Polish;
+ break;
+ case 3:
+ goto L_ForestBow;
+ break;
+ }
+
+ close;
+
+L_Polish:
+ mesn;
+ mes l("Yes, unless you're doing something VERY special, a Wooden Log is what you need.");
+ mes l("I can make a @@ for just one @@ and @@ GP for my work.", getitemlink(WoodenLog), getitemlink(RawLog), .cost);
+ input .@count;
+ mes "";
+
+ if (.@count == 0)
+ close;
+
+ .@Cost = .@count * .cost;
+ .@empty = countitem(RawLog);
+
+ if (.@empty < .@count || Zeny < .@Cost) {
+ mesn;
+ mesq l("You can't afford my services for that amount. Sorry.");
+ }
+
+ inventoryplace WoodenLog, .@count;
+
+ Zeny = Zeny - .@Cost;
+ delitem RawLog, .@count;
+ getitem WoodenLog, .@count;
+ mesc l("There you go, %s. If you don't know anything about crafting I heard someone on Tulimshar's Terranite Forge can help?", lg("gal", "pal"));
+ close;
+
+L_ForestBow:
+ .@k=getq2(HurnscaldQuest_ForestBow);
+
+ switch (.@k) {
+ case 0:
+ mesn;
+ mesq l("Ah, don't bother me with that. That wood must be special, it must bend and cannot break. Too difficult to find!");
+ next;
+ mesn;
+ mesq l("I also do not keep any stock of them. If you really want it, you can bring me some Raw Logs. I'll show you which one is the good one. Deal?");
+ next;
+ if (BaseLevel < 25) {
+ mesn;
+ mesq l("Actually, nevermind. I'll wait you grind level 25 first, then we can do this."); // Note: Fisherman part is level 30!
+ close;
+ }
+ mesn strcharinfo(0);
+ mesq l("I'm railroaded here, I cannot say no. I'll bring you some @@. Break them until one of them fit.", getitemlink(RawLog));
+ setq2 HurnscaldQuest_ForestBow, 1;
+ close;
+ break;
+ case 99:
+ mesn;
+ mesq l("Good luck...");
+ break;
+ default:
+ goto L_Loop;
+ }
+ goto L_Close;
+
+L_Loop:
+ .@k=getq2(HurnscaldQuest_ForestBow);
+ mesn;
+ mesq l("Bring me your wood, and I'll show you which one is sturdy, yet flexible enough to make a good Forest Bow.");
+ mes "";
+ select
+ rif(countitem(RawLog) > 0, l("Try this one.")),
+ l("Don't break my stuff.");
+
+ if (@menu == 2)
+ close;
+
+ mesc l("Jack bends the log over his knee.");
+ delitem RawLog, 1;
+ .@success=rand(6,26)-.@k; // You will never need more than 20 logs nor less than 5 logs
+
+ if (.@success <= 1) {
+ mesc l("The wood bends a little, but doesn't breaks.");
+ getexp 295, 100; // 10% of max exp
+ setq2 HurnscaldQuest_ForestBow, 99;
+ next;
+ mesn;
+ mesq lg("That's the right wood, my son. Here, I'll wrap it so you don't accidentaly lose it. Good luck with your quest!");
+ close;
+ } else {
+ mesc l("However, the log breaks with a loud crack.");
+ Zeny=Zeny+10;
+ getexp 5, 1;
+ setq2 HurnscaldQuest_ForestBow, .@k+1;
+ next;
+ mesn;
+ mesq lg("Sorry, son. I know how hard this is. But this is teaching you a valuable lesson, your eye will be more sharp for quality wood from now on.");
+ next;
+ }
+
+ goto L_Loop;
+
+/* Copy-paste from TMW Org.
+ I'll uncomment and rewrite when time comes.
+
+L_NohMask_Ask:
+ menu
+ "I'll keep that in mind.", L_Close,
+ "I heard you aren't delivering any more living wood. Why not?", L_Next,
+ "Have you seen anything that might be connected to the recent robberies in town?", L_NohMask_Answer;
+
+L_NohMask_Answer:
+ mesn "Jack, the Lumberjack";
+ mes "\"Sorry, no.\"";
+ goto L_Close;
+
+L_Made_Shield:
+ mesn "Jack, the Lumberjack";
+ mes "\"Speaking of that shield...\"";
+ mes "\"It has put me behind on all these new Nivalis orders, now that the ship is running there.\"";
+ next;
+ mes "\"Care to help out? I'll pay you for your time.\"";
+ goto L_Daily;
+
+L_Daily:
+ @dq_level = 30;
+ @dq_cost = 25;
+ @dq_count = 30;
+ @dq_name$ = "RawLog";
+ @dq_friendly_name$ = "raw logs";
+ @dq_money = 4000;
+ @dq_exp = 4000;
+
+ callfunc "DailyQuest";
+
+ next;
+
+ mesn "Jack, the Lumberjack";
+ mes "\"Check back with me tomorrow, and I'll let you know if I need any help with that shipment.\"";
+
+ goto L_Close;
+*/
+
+L_Close:
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ .cost=60;
+ end;
+
+}
diff --git a/npc/012-1/locamit.txt b/npc/012-1/locamit.txt
new file mode 100644
index 0000000..c4acd9d
--- /dev/null
+++ b/npc/012-1/locamit.txt
@@ -0,0 +1,72 @@
+// TMW2 scripts.
+// Authors:
+// Saulc
+// Jesusalva
+// Reid
+// Travolta
+// Description:
+// Tamiloc is the barber.
+// Locamit is an anagram.
+
+012-1,60,73,0 script Locamit NPC_ELVEN_FEMALE_ARMOR_SHOP,{
+ function setRace {
+ clear;
+ setnpcdialogtitle l("Debug - Modify Race");
+ mes l("Race") + ": " + $@allraces$[Class];
+ next;
+ mes l("Please select the desired race.");
+ switch (select("Human:Ukar:Redy:Elf:Orc:Raijin:Tritan"))
+ {
+ default:
+ jobchange max(0, @menu-1);
+ }
+ return;
+ }
+
+
+ mesn;
+ mesq l("Hi! Do you want a hair cut?");
+
+ do
+ {
+ select
+ l("What is my current hairstyle and hair color?"),
+ l("I'd like to get a different style."),
+ l("Can you do something with my color?"),
+ rif(is_staff(), l("I am a GM, and I want to change my Race!")),
+ l("I'm fine for now, thank you.");
+
+ switch (@menu) {
+ case 1:
+ BarberSayStyle 3;
+ break;
+ case 2:
+ BarberChangeStyle;
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Enjoy your new style.");
+ l("Anything else?");
+ break;
+ case 3:
+ BarberChangeColor;
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("I hope you like this color.");
+ l("Anything else?");
+ break;
+ case 4:
+ setRace;
+ break;
+ case 5:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Feel free to come visit me another time.");
+
+ goodbye;
+ }
+ } while (1);
+ close;
+
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/012-1/luffyx.txt b/npc/012-1/luffyx.txt
new file mode 100644
index 0000000..d2cb239
--- /dev/null
+++ b/npc/012-1/luffyx.txt
@@ -0,0 +1,87 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Hunt mouboos, Summer Quest
+
+012-1,68,74,0 script Luffyx NPC_RAIJIN,{
+ .@q=getq(SQuest_Summer);
+ mesn;
+ if (season() == SUMMER) {
+ mesq l("Yay it's summer! I love June 21st, and the summer vacations!");
+ if (.@q < 1)
+ goto L_SummerQuest;
+ } else {
+ mesq l("Aww it's not summer. I love June 21st, and the summer vacations!");
+ }
+
+L_Main:
+ if (GHQUEST)
+ GHQ_Assign(ForestMushroom, "Hurnscald");
+ close;
+
+L_SummerQuest:
+ next;
+ mesn;
+ mesq l("Hey, do you know what is good on summer? @@!", getitemlink(LuffyxSummerShorts));
+ next;
+ mesn;
+ mes l("What about you bring me:");
+ mes l("@@/80 @@", countitem(CactusCocktail), getitemlink(CactusCocktail));
+ mes l("@@/40 @@", countitem(AppleCocktail), getitemlink(AppleCocktail));
+ mes l("@@/25 @@", countitem(CherryCocktail), getitemlink(CherryCocktail));
+ mes l("@@/1 @@", countitem(JeansShorts), getitemlink(JeansShorts));
+ next;
+ select
+ l("Not now, thanks"),
+ l("To be honest, I have that with me!");
+
+ mes "";
+ if (@menu == 1)
+ goto L_Main;
+ if (@menu == 2) {
+ if (
+ countitem(CactusCocktail) < 80 ||
+ countitem(AppleCocktail) < 40 ||
+ countitem(CherryCocktail) < 25 ||
+ !countitem(JeansShorts)
+ ) goto L_Lying;
+
+ inventoryplace LuffyxSummerShorts, 1;
+ delitem CherryCocktail, 25;
+ delitem AppleCocktail, 40;
+ delitem CactusCocktail, 80;
+ delitem JeansShorts, 1;
+ getitem LuffyxSummerShorts, 1;
+ getexp 6500, 120;
+ setq SQuest_Summer, 1;
+ mesn;
+ mesq l("Yay yay! Many thanks! Here, take the reward as promised!");
+ next;
+ mesn;
+ mesq l("We can do this again on next summer!");
+ goto L_Main;
+ }
+
+ close;
+
+L_Lying:
+ mesn;
+ mesq l("Please don't lie to me...");
+ goto L_Main;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, CommunityShirt);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, JeansChaps);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_WEAPON, BugSlayer);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 13);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 7);
+
+ .distance=4;
+ .sex=G_MALE;
+ end;
+
+}
+
diff --git a/npc/012-1/mahad.txt b/npc/012-1/mahad.txt
new file mode 100644
index 0000000..e37cc69
--- /dev/null
+++ b/npc/012-1/mahad.txt
@@ -0,0 +1,68 @@
+// TMW-2 Script
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Mahad is the Hurnscald Well Master
+// ...Well, he takes the water from the pond, but you shouldn't mind this.
+// It's still safe to drink, 100% warranted!
+// Note: You may get a Grass Carp (worth 100 GP) instead. Bottle is lost? O.o
+
+012-1,117,54,0 script Mahad NPC_PLAYER,{
+ mesn;
+ mes l("I can fill your bottle with water for only @@ gp the bottle.", .price);
+ mes l("After all, I am the Well Master!");
+ input .@count;
+ mes "";
+
+ if (!.@count)
+ close;
+
+ .@gp = .@count * .price;
+
+ // Not enough cash
+ if (Zeny < .@gp) {
+ mesn;
+ mes l("You don't have enough gold! You need @@ gp.", .@gp);
+ close;
+ }
+
+ // Not enough bottles
+ if (countitem(EmptyBottle) < .@count) {
+ mesn;
+ mes l("You don't have that many empty bottles!");
+ close;
+ }
+
+ inventoryplace GrassCarp, .@count, BottleOfWoodlandWater, .@count;
+ delitem EmptyBottle, .@count;
+
+ // Calculate how many grass carp you'll get
+ .@iced=0;
+ for (.@i=0; .@i < .@count; .@i++) {
+ if (rand(1,1000) < 11)
+ .@iced++;
+ }
+
+ // Apply the results and have a happy day!
+ Zeny-=.@gp;
+ if (.@iced)
+ getitem GrassCarp, .@iced;
+ getitem BottleOfWoodlandWater, .@count-.@iced;
+ close;
+
+OnInit:
+ .price = 60;
+ .sex = G_MALE;
+ .distance = 7;
+
+ .@npcId = getnpcid(.name$);
+ // Check items.xml for info about this
+ setunitdata(.@npcId, UDT_HEADTOP, InfantryHelmet);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SailorShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 17);
+
+ end;
+}
diff --git a/npc/012-1/mapflags.txt b/npc/012-1/mapflags.txt
new file mode 100644
index 0000000..19c4352
--- /dev/null
+++ b/npc/012-1/mapflags.txt
@@ -0,0 +1,9 @@
+012-1 mapflag town
+012-1 mapflag nopenalty
+012-2 mapflag town
+012-3 mapflag town
+012-4 mapflag town
+012-5 mapflag town
+012-6 mapflag town
+012-7 mapflag town
+012-8 mapflag town
diff --git a/npc/012-1/milly.txt b/npc/012-1/milly.txt
new file mode 100644
index 0000000..1935858
--- /dev/null
+++ b/npc/012-1/milly.txt
@@ -0,0 +1,155 @@
+// TMW2 script.
+// Authors:
+// Jesusalva
+// Description:
+// Milly here is mixed with Crastur's almanach quest.
+// She controls "World's Hero quest", which is now her MAIN QUEST;
+// But maybe later she'll get nodes about Khafar etc but not like in TMW
+//
+// Her reward is a Plush Mouboo. Along about 1000 Mouboo Figurines, and whatever
+// grand reward for completing Main Storyline, and a mega blaster level at magic,
+// and probably within another general quest, YOU CAN SUMMON THE MOUBOOTAUR
+// Eh... I think you need all seven Mana Fragments to control it, though.
+// Without these fragments, you'll just face the baddest boss fight ever and die
+// miserably, because the moubootaur is... well... Simply put... THE MOUBOOTAUR.
+
+012-1,111,66,0 script Milly NPC_TEDDYGIRL,{
+ .@q=getq(General_Milly);
+ mesn;
+ if (.@q >= 1) mesq lg("Hello my hero!");
+ else mesq l("Hello.");
+ if (.@q == 0) goto L_Assign;
+ else if (.@q == 1) goto L_Feat;
+ close;
+
+L_Assign:
+ next;
+ mesn;
+ mesq lg("hey, hey, are you a hero, are you a hero?");
+ next;
+ mesn;
+ mesq l("I want to meet a hero!");
+ next;
+ mesc b(l(".:: World's Hero Quest ::.")), 3;
+ msObjective(reputation("Candor") >= 100, l("* become @@ Hero", l("Candor")));
+ msObjective(reputation("Tulim") >= 100, l("* become @@ Hero", l("Tulimshar")));
+ msObjective(reputation("Halin") >= 100, l("* become @@ Hero", l("Halinarzo")));
+ msObjective(reputation("Hurns") >= 100, l("* become @@ Hero", l("Hurnscald")));
+ msObjective(reputation("LoF") >= 100, l("* become @@ Hero", l("Land Of Fire")));
+ msObjective(reputation("Nival") >= 100, l("* become @@ Hero", l("Nivalis")));
+ msObjective(reputation("Frostia") >= 100, l("* become @@ Hero", l("Frostia")));
+ next;
+ if (reputation("Candor") >= 100 &&
+ reputation("Tulim") >= 100 &&
+ reputation("Halin") >= 100 &&
+ reputation("Hurns") >= 100 &&
+ reputation("LoF") >= 100 &&
+ reputation("Nival") >= 100 &&
+ reputation("Frostia") >= 100) goto L_Finish;
+ mesc l("You can become a hero by completing every quest in a certain location.");
+ close;
+
+L_Finish:
+ mesn;
+ mesq lg("Wo-wo-wow! You really did it! You're the best!");
+ next;
+ mesn;
+ mesq l("But the game still is in development, so not every quest was added yet.");
+ next;
+ mesn;
+ mesq l("Do you want to get a reward nonetheless? You will lose @@.", b(l("any planned experience and gold reward.")));
+ mesc l("Also note that, under team's discretion, all rewards from this quest might be erasen along quest state.");
+ mesc l("This would mean you might need to complete this quest again in the future.");
+ next;
+ // Debug
+ percentheal 100, 100;
+ sc_start SC_ATTHASTE_POTION1, 1800000, 30;
+ /*
+ mesn;
+ mesc l("Saulc was here"), 1;
+ close;
+ */
+ // / Debug
+ if (askyesno() == ASK_YES) {
+ mes "";
+ inventoryplace PlushMouboo, 1;
+ setq General_Milly, 1;
+ getitem PlushMouboo, 1;
+ getexp 100, 100; // No, not really.
+ mesn;
+ mesq lg("Here you go, miss! Thanks for being my hero! <3", "Here you go, mister! Thanks for being my hero! <3");
+ }
+ close;
+
+L_Feat:
+ next;
+ mesn;
+ mesq l("Hey hey, can you impress me? Can you impress me?");
+ next;
+ mesn;
+ mesq l("I want you to impress me, so I can brag about you to all my friends!");
+ next;
+ mesc b(l(".:: Impressive Hero Quest ::.")), 3;
+ msObjective(YETIKING_WINNER, l("* Impress %s", l("the Yeti King")));
+ msObjective(HEROESHOLD_WINNER, l("* Impress %s", l("Colonel Dustman")));
+ msObjective(REBIRTH_WINNER, l("* Impress %s", l("Sir Phoenix")));
+ msObjective(QUIRINO_WINNER, l("* Impress %s", l("Quirin Voraz")));
+ msObjective(GEMINI_WINNER, l("* Impress %s", l("Valia Gemini")));
+ msObjective(GHQ_WINNER, l("* Impress %s", l("Aidan and Pet Detective")));
+ msObjective(EPISODE_WINNER, l("* Impress %s", l("The Doctor")));
+ msObjective(FORT_1ST_VISIT, l("* Impress %s", l("The Alliance")));
+ msObjective(MOUBOOTAUR_WINNER, l("* Impress %s", l("Andrei Sakar")));
+ mes "";
+ mesc l("You need to finish at least %d/%d tasks.", 7, 9);
+ .@t = 0;
+ if (YETIKING_WINNER) .@t += 1;
+ if (HEROESHOLD_WINNER) .@t += 1;
+ if (REBIRTH_WINNER) .@t += 1;
+ if (QUIRINO_WINNER) .@t += 1;
+ if (GEMINI_WINNER) .@t += 1;
+ if (GHQ_WINNER) .@t += 1;
+ if (EPISODE_WINNER) .@t += 1;
+ if (FORT_1ST_VISIT) .@t += 1;
+ if (MOUBOOTAUR_WINNER) .@t += 1;
+ if (.@t >= 7) goto L_Epic;
+ close;
+
+L_Epic:
+ next;
+ mesn;
+ mesq lg("Wo-wo-wow! You really did it! You're the best!");
+ next;
+ mesn;
+ mesq l("But the game still is in development, so not every great feat was added yet.");
+ next;
+ mesn;
+ mesq l("Do you want to get a reward nonetheless? You will lose @@.", b(l("any planned experience and gold reward.")));
+ mesc l("Also note that, under team's discretion, all rewards from this quest might be erasen along quest state.");
+ mesc l("This would mean you might need to complete this quest again in the future.");
+ next;
+ // Debug
+ percentheal 100, 100;
+ sc_start SC_ATTHASTE_POTION1, 1800000, 30;
+ /*
+ mesn;
+ mesc l("Saulc was here"), 1;
+ close;
+ */
+ // / Debug
+ if (askyesno() == ASK_YES) {
+ mes "";
+ inventoryplace SunnyCrystal, 1;
+ setq General_Milly, 2;
+ getitem SunnyCrystal, 1;
+ getexp 100, 100; // No, not really.
+ mesn;
+ mesq lg("Here you go, miss! Thanks for being my hero! <3", "Here you go, mister! Thanks for being my hero! <3");
+ }
+ close;
+
+OnInit:
+ .sex=G_FEMALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/012-1/richard.txt b/npc/012-1/richard.txt
new file mode 100644
index 0000000..5dc2c31
--- /dev/null
+++ b/npc/012-1/richard.txt
@@ -0,0 +1,14 @@
+// TMW-2 Script.
+// Author:
+// Saulc
+// Jesusalva
+
+012-1,65,64,0 script Richard NPC_LLOYD,{
+ Banker(.name$, "Hurnscald", 10000);
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+}
diff --git a/npc/012-1/ship.txt b/npc/012-1/ship.txt
new file mode 100644
index 0000000..b478e35
--- /dev/null
+++ b/npc/012-1/ship.txt
@@ -0,0 +1,23 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// This script controls access to Ships, fixing variables.
+
+012-1,157,65,0 script HurnsShip#M NPC_HIDDEN,0,0,{
+
+OnTouch:
+ EnterTown("Hurns");
+ goto L_Warp;
+
+L_Warp:
+ /* Is Hurnscald already liberated? Precendence. */
+ if (!$HURNS_LIBDATE) {
+ warp "Save", 0, 0;
+ end;
+ }
+
+ warp "016-1@"+LOCATION$, 21, 26;
+ closedialog;
+ close;
+}
diff --git a/npc/012-1/shoppakep.txt b/npc/012-1/shoppakep.txt
new file mode 100644
index 0000000..13fb8f3
--- /dev/null
+++ b/npc/012-1/shoppakep.txt
@@ -0,0 +1,81 @@
+// TMW2 Script.
+// Author:
+// Jesusalva
+// Description:
+// Random Hurnscald Shopper with random overpriced stuff and gifts
+
+012-1,58,64,0 script Shoppa Kep NPC_SHOPPAKEP,{
+ mesn;
+ mesq lg("Welcome! Only the finest wares!");
+ next;
+ closedialog;
+ npcshopattach(.name$);
+ shop .name$;
+ close;
+
+ function ShoppaKepItem {
+ return any(Aquada, Manana, HalfEggshell, SpearmintTea);
+ }
+
+OnInit:
+ .CurrentItem=ShoppaKepItem();
+ .ThisRebootAmou=rand2(30,70);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+
+
+ sleep(SHOPWAIT);
+ tradertype(NST_MARKET);
+ sellitem CottonTrousers, 80000, 1;
+ sellitem CottonSkirt, 40000, 1;
+ sellitem MiniSkirt, 35000, 1;
+ sellitem ShortTankTop, 20000, 1;
+ sellitem CottonGloves, 20000, 1;
+ sellitem CottonBoots, 10000, 1;
+
+ sellitem PinkieLeg, 500, 1;
+ sellitem Bread, -1, 50;
+ sellitem Piberries, -1, 30;
+ sellitem Plushroom, -1, 3;
+ sellitem Chagashroom, -1, 3;
+
+ sellitem PiouFeathers, -1, .ThisRebootAmou;
+ sellitem .CurrentItem, getiteminfo(.CurrentItem, ITEMINFO_BUYPRICE)*15/10, rand2(2,6);
+
+ end;
+
+OnClock1759:
+ restoreshopitem PinkieLeg, 500, 1;
+OnClock0546:
+ restoreshopitem CottonTrousers, 80000, 1;
+ restoreshopitem CottonSkirt, 40000, 1;
+ restoreshopitem MiniSkirt, 35000, 1;
+ restoreshopitem ShortTankTop, 20000, 1;
+ restoreshopitem CottonGloves, 20000, 1;
+ restoreshopitem CottonBoots, 10000, 1;
+
+ restoreshopitem Bread, -1, 50;
+ restoreshopitem Piberries, -1, 30;
+ restoreshopitem Plushroom, -1, 3;
+ restoreshopitem Chagashroom, -1, 3;
+
+ restoreshopitem PiouFeathers, -1, .ThisRebootAmou;
+
+ stopselling(.CurrentItem);
+ .CurrentItem=ShoppaKepItem();
+ sellitem .CurrentItem, getiteminfo(.CurrentItem, ITEMINFO_BUYPRICE)*15/10, rand2(2,6);
+ end;
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+}
+
diff --git a/npc/012-1/soul-menhir.txt b/npc/012-1/soul-menhir.txt
new file mode 100644
index 0000000..419541f
--- /dev/null
+++ b/npc/012-1/soul-menhir.txt
@@ -0,0 +1,20 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Soul Menhir
+
+012-1,88,69,0 script Soul Menhir#hurns NPC_SOUL_NORMAL,{
+ @map$ = "012-1";
+ setarray @Xs, 86, 87, 86, 87;
+ setarray @Ys, 69, 70, 69, 70;
+ @x = 0;
+ @y = 0;
+ callfunc "SoulMenhir";
+ @map$ = "";
+ cleararray @Xs[0], 0, getarraysize(@Xs);
+ cleararray @Ys[0], 0, getarraysize(@Ys);
+ @x = 0;
+ @y = 0;
+ close;
+}
diff --git a/npc/012-1/statue.txt b/npc/012-1/statue.txt
new file mode 100644
index 0000000..9ff9044
--- /dev/null
+++ b/npc/012-1/statue.txt
@@ -0,0 +1,31 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// These statues are of great honor to whoever have their name written in them!
+
+012-1,84,63,0 script Hero Statue#012-1 NPC_STATUE_ANDREI,{
+
+ mes l("This statue was built for memory of Andrei Sakar, the greatest hero this world has even seen.");
+ mes l("For defending Hurnscald alone and saving all its inhabitants.");
+ mes l("For fighting against the Monster King once and getting out alive to tell the story.");
+ mes l("For all his great deeds, and thousands of lives he saved, this statue is in his honor.");
+ if ($MOST_HEROIC$ == "")
+ goto L_Fame;
+ next;
+ mes l("Also in honor of @@, who did a great act of bravery recently. May they keep protecting our world!", $MOST_HEROIC$);
+
+L_Fame:
+ next;
+ mesq l("All hail the ones who proven their worth before the whole Alliance!");
+
+ HallOfHonor();
+ HallOfGuild();
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
+
diff --git a/npc/012-1/terezin.txt b/npc/012-1/terezin.txt
new file mode 100644
index 0000000..82a5d09
--- /dev/null
+++ b/npc/012-1/terezin.txt
@@ -0,0 +1,61 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Hinnak's Wife, Terezin (renamed to make an Easter Egg)
+// NPC_MONA?
+
+012-1,110,41,0 script Tezzerin NPC_ELVEN_FEMALE_READING,{
+ .@q1=getq(HurnscaldQuest_Farmers);
+ .@q2=getq2(HurnscaldQuest_Farmers);
+ if (strcharinfo(0) == $MOST_HEROIC$) mesn;
+ if (strcharinfo(0) == $MOST_HEROIC$) mesq l("Ah, @@, welcome!", $MOST_HEROIC$);
+ if (strcharinfo(0) == $MOST_HEROIC$) next;
+ if (.@q1 == 5 && .@q2 == 0) goto L_PinkieHat;
+ if (.@q1 == 4) goto L_Almost;
+ if (.@q1 >= 2) goto L_Thanks;
+ mesn;
+ mesq l("Ah, my husband Hinnak is so hard working...");
+ close;
+
+L_Almost:
+ mesn;
+ mesq l("You deserve a reward for helping my husband Hinnak, but please, get Oscar's reward first.");
+ close;
+
+L_Thanks:
+ mesn;
+ mesq l("Thanks for helping my husband. I'll think if there's something I can do for you, why don't you help Oscar on the meanwhile...?");
+ close;
+
+L_PinkieHat:
+ mesn;
+ mesq l("You deserve a reward for helping my husband. I can make you a nice gift.");
+ next;
+ mesn;
+ mesq l("Please bring me a single @@ and @@ GP, and I'll give you a memeto.", getitemlink(PinkAntenna), 6500);
+ if (countitem(PinkAntenna) < 1 || Zeny < 6500)
+ close;
+ next;
+ mesn strcharinfo(0);
+ mesc l("Give the Antenna and the GP to her?");
+ if (askyesno() != ASK_YES) {
+ mesq l("I'll seek one for you.");
+ close;
+ }
+ delitem PinkAntenna, 1;
+ if (Zeny < 6500)
+ close;
+ Zeny=Zeny-6500;
+ getitem PinkieHat, 1;
+ mesn;
+ mesq l("Here, I did this @@ for you! I'm pretty sure this is also a drop, but that's literally everything I could do for helping my husband.", getitemlink(PinkieHat));
+ setq2 HurnscaldQuest_Farmers, 1;
+ close;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/012-1/town.txt b/npc/012-1/town.txt
new file mode 100644
index 0000000..fdffb17
--- /dev/null
+++ b/npc/012-1/town.txt
@@ -0,0 +1,13 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Reset LOCATION$ when entering a town
+
+012-1,78,101,0 script #LocHurns NPC_HIDDEN,3,1,{
+OnTouch:
+ EnterTown("Hurns"); end;
+}
+012-1,132,100,0 duplicate(#LocHurns) #LocHurnsS NPC_HIDDEN,2,1
+012-1,23,61,0 duplicate(#LocHurns) #LocHurnsW NPC_HIDDEN,1,2
+012-1,78,18,0 duplicate(#LocHurns) #LocHurnsE NPC_HIDDEN,3,1
diff --git a/npc/012-1/wateranimation.txt b/npc/012-1/wateranimation.txt
new file mode 100644
index 0000000..4621afb
--- /dev/null
+++ b/npc/012-1/wateranimation.txt
@@ -0,0 +1,29 @@
+// TMW2 scripts.
+// Author:
+// gumi
+// Reid
+// Saulc
+// Jesusalva
+// Description:
+// Water animations, splash, fishes, etc...
+
+012-1,119,54,0 script #Hurn_WAM0 NPC_WATER_SPLASH,{
+
+ fishing(1,
+ CommonCarp,
+ GrassCarp,
+ BottleOfWoodlandWater);
+
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
+
+012-1,137,58,0 duplicate(#Hurn_WAM0) #Hurn_WAM1 NPC_WATER_SPLASH
+012-1,137,88,0 duplicate(#Hurn_WAM0) #Hurn_WAM2 NPC_WATER_SPLASH
+012-1,59,12,0 duplicate(#Hurn_WAM0) #Hurn_WAM3 NPC_WATER_SPLASH
+012-1,138,31,0 duplicate(#Hurn_WAM0) #Hurn_WAM4 NPC_WATER_SPLASH
+
diff --git a/npc/012-2/GonzoDark.txt b/npc/012-2/GonzoDark.txt
new file mode 100644
index 0000000..38a74ae
--- /dev/null
+++ b/npc/012-2/GonzoDark.txt
@@ -0,0 +1,25 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Monthly Sponsor Quest
+// Variable:
+// SQuest_Sponsor
+// Quest ID: 2
+
+012-2,50,81,0 script GonzoDark Sponsor NPC_LUCAS,{
+ mesn;
+ mesq lg("Yo, girl.", "Yo, man.");
+ next;
+ mesn;
+ mesq l("I sponsor the alliance and all I got was a NPC and access to this ugly room.");
+ next;
+ mesn;
+ mesq l("Well, I don't want to be an snob.");
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/012-2/Saulc.txt b/npc/012-2/Saulc.txt
new file mode 100644
index 0000000..3b5cadc
--- /dev/null
+++ b/npc/012-2/Saulc.txt
@@ -0,0 +1,25 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Monthly Sponsor Quest
+// Variable:
+// SQuest_Sponsor
+// Quest ID: 1
+
+012-2,46,81,0 script Saulc Sponsor NPC_HUMAN_MALE_CHIEF,{
+ mesn;
+ mesq lg("Yo, girl.", "Yo, man.");
+ next;
+ mesn;
+ mesq l("I sponsor the alliance and all I got was a NPC and access to this ugly room.");
+ next;
+ mesn;
+ mesq l("Well, I don't want to be an snob.");
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/012-2/_import.txt b/npc/012-2/_import.txt
new file mode 100644
index 0000000..23212c6
--- /dev/null
+++ b/npc/012-2/_import.txt
@@ -0,0 +1,11 @@
+// Map 012-2: Hurnscald Inn
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/012-2/GonzoDark.txt",
+"npc/012-2/Saulc.txt",
+"npc/012-2/_warps.txt",
+"npc/012-2/door.txt",
+"npc/012-2/helena.txt",
+"npc/012-2/khafar.txt",
+"npc/012-2/melina.txt",
+"npc/012-2/note.txt",
+"npc/012-2/rakinorf.txt",
diff --git a/npc/012-2/_warps.txt b/npc/012-2/_warps.txt
new file mode 100644
index 0000000..44ed24f
--- /dev/null
+++ b/npc/012-2/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 012-2: Hurnscald Inn warps
+012-2,36,47,0 warp #012-2_36_47 0,0,012-1,65,56
+012-2,59,83,0 warp #012-2_59_83 0,0,012-2,59,39
diff --git a/npc/012-2/door.txt b/npc/012-2/door.txt
new file mode 100644
index 0000000..113a225
--- /dev/null
+++ b/npc/012-2/door.txt
@@ -0,0 +1,59 @@
+// TMW-2 Script.
+// Author:
+// Jesusalva
+// Notes:
+// Sponsor Area Only
+
+012-2,59,38,0 script Sponsors Inn NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ if (!getgmlevel())
+ goto L_Unauthorized;
+ if (SP_WARN)
+ SP_WARN=0;
+ slide 59, 82;
+ end;
+
+L_Unauthorized:
+ // Per r8.0 Apane Invasion, there's a moment on main storyline you'll be allowed in
+ .@n=getq(General_Narrator);
+ if (.@n == 5 || .@n == 6) {
+ slide 59, 82;
+ end;
+ }
+
+ if (@sp_notrespass > 0)
+ goto L_Warning;
+ dispbottom col(l("Only Sponsors are allowed past this area."),1);
+ slide 59,39;
+ @sp_notrespass=1;
+ end;
+
+L_Warning:
+ if (@sp_kick > 0)
+ goto L_Kick;
+ dispbottom col(l("Only Sponsors are allowed past this area."),1);
+ dispbottom col(l("Do not attempt to go there again."),1);
+ slide 60,40;
+ @sp_kick=1;
+ end;
+
+L_Kick:
+ if (SP_WARN > 5)
+ goto L_Ban;
+ dispbottom col(l("You cannot visit the Sponsor's Inn!"),1);
+ slide 36,46;
+ // Force user to disconnect
+ atcommand "@kick "+strcharinfo(0);
+ SP_WARN=SP_WARN+1;
+ end;
+
+L_Ban:
+ dispbottom col(l("You cannot visit the Sponsor's Inn!"),1);
+ slide 36,46;
+ // Prevent abuse and possible vulnerabilities.
+ atcommand "@ban 20mn "+strcharinfo(0);
+ SP_WARN=0;
+ end;
+}
diff --git a/npc/012-2/helena.txt b/npc/012-2/helena.txt
new file mode 100644
index 0000000..cb3fdb2
--- /dev/null
+++ b/npc/012-2/helena.txt
@@ -0,0 +1,284 @@
+// TMW2 Script.
+// Author:
+// Jesusalva
+// Description:
+// Lena
+// Variables:
+// $HELENA_ST
+// Tracks how many set of Treasure Keys were given by all players thus far.
+// Affects beer prices on Hurnscald.
+// HurnscaldQuest_Bandits
+// q1 -> Current status
+// q2 -> Treasure Key Timer
+// q3 -> Bandit Hood Timer
+
+012-2,47,40,0 script Helena NPC_FEMALE,{
+ .@q=getq(HurnscaldQuest_Bandits);
+
+ // Stage 1: Level 30, collect Treasure Key
+ if (BaseLevel < 30) goto L_TooWeak;
+ if (.@q == 0) goto L_Start;
+ if (.@q == 1) goto L_Return;
+
+ // Stage 2: Level 40, collect Bandit Hood
+ if (BaseLevel < 40) goto L_Weak;
+ if (.@q == 2) goto L_Quest;
+ if (.@q == 3) goto L_Hood;
+
+ // Stage 3: Level 45, defeat Bandit Lord
+ if (BaseLevel < 45) goto L_Busy;
+ if (.@q == 4) goto L_BanditLord;
+ if (.@q == 5) goto L_Busy;
+ if (.@q == 6) goto L_Busy;
+ if (.@q == 7) goto L_Finish;
+
+ goto L_Daily;
+
+L_Daily:
+ .@k=getq2(HurnscaldQuest_Bandits);
+ .@h=getq3(HurnscaldQuest_Bandits);
+ mesn;
+ mesq l("Ah, @@, my friend! Are you here to help us with 5 @@? Or perhaps you have 5 more @@ to show that Hurnscald is getting safer?", strcharinfo(0), getitemlink(TreasureKey), getitemlink(BanditHood));
+ mes "";
+ select
+ rif((.@k < santime()) && countitem(TreasureKey) >= 5, l("I have 5 Treasure keys with me.")),
+ rif((.@h < santime()) && countitem(BanditHood) >= 5, l("I have 5 Bandit Hoods with me.")),
+ l("Nothing at the moment.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ setq2 HurnscaldQuest_Bandits, santime()+(60*60*24);
+ delitem TreasureKey, 5;
+ Zeny=Zeny+600; // 600/550 = 9.09% bonus
+ //Zeny=Zeny+800; // 800/550 = 45.45% bonus
+ getexp 2000, 0;
+ $HELENA_ST=$HELENA_ST+2;
+ mesn;
+ mesq l("Many thanks! %%s");
+ next;
+ goto L_Daily;
+ case 2:
+ setq3 HurnscaldQuest_Bandits, santime()+(60*60*24);
+ delitem BanditHood, 5;
+ Zeny=Zeny+250; // 250/155 = 61.29% bonus
+ getexp 3000, 5;
+ $HELENA_ST=$HELENA_ST+1;
+ mesn;
+ mesq l("Many thanks! %%s");
+ next;
+ goto L_Daily;
+ }
+ close;
+
+L_TooWeak:
+ mesn;
+ mesq lg("Hello, madam!", "Hello, sir!");
+ next;
+ mesn;
+ mesq l("Ah, we have serious problems of robbery. I need someone really strong to help me, and you don't qualify.");
+ close;
+
+L_Weak:
+ mesn;
+ mesq l("You still need to grow a few levels more before being able to help me out again.");
+ close;
+
+L_Busy:
+ mesn;
+ mesq l("Ah, @@! I'm busy now, can we talk again later?", strcharinfo(0));
+ close;
+
+L_DoIt:
+ mesn;
+ mesq l("@@, we are counting on you! We, the whole Hurnscald town!", strcharinfo(0));
+ close;
+
+///////////////////////// Stage 1
+L_Start:
+ mesn;
+ mesq l("Ah, hello.");
+ next;
+ mesn;
+ mesq l("We actually have a problem. Bandits ransacked this tavern, and took a huge loot.");
+ next;
+ mesn;
+ mesq l("We pursued them until the mines, slayed them, and took the chests where they locked our stuff into.");
+ next;
+ mesn;
+ mesq l("The problem is... The slimes ate the keys for the chests. This is not the first time such thing happens.");
+ next;
+ // 5 ÷ 4.5% = 112 Copper Slimes. You can kill Yellow Slimes too
+ mesn;
+ mesq l("If you bring us 5 @@, we'll be forever grateful.", getitemlink(TreasureKey));
+ select
+ l("Don't worry ma'm, I'll recover the Treasure Keys at once."),
+ l("Ah... Slimes... Sorry, not my cup of tea...");
+ mes "";
+ if (@menu == 2)
+ close;
+ setq HurnscaldQuest_Bandits, 1;
+ mesn;
+ mesq l("Wonderful! I'll be expecting you back.");
+ close;
+
+L_Return:
+ mesn;
+ mesq lg("Adventurer, did you brought me what I asked? I see you have @@/5 @@.","Adventurer, did you brought me what I asked? I see you have @@/5 @@.", countitem(TreasureKey), getitemlink(TreasureKey));
+ mes "";
+ select
+ rif(countitem(TreasureKey) >= 5, l("Yes, take it.")),
+ rif(countitem(TreasureKey) < 5, l("No, I'll be back with them.")),
+ l("Hm, can we talk again later?");
+ mes "";
+ if (@menu != 1)
+ close;
+ delitem TreasureKey, 5;
+ Zeny=Zeny+1000;
+ getexp 1599,0; // 20% from needed exp
+ setq HurnscaldQuest_Bandits, 2;
+ mesn;
+ mesq l("Hey hey... Good job! We can now use again the stuff we recovered from the bandits.");
+ next;
+ mesn;
+ mesq l("Here is 1000 GP for your efforts. Thanks for making Hurnscald a better place to live.");
+ next;
+ mesn;
+ mesq l("This happens quite often, too. My friends and I are always collecting keys to reduce beer price on Hurnscald. %%2");
+ close;
+
+
+///////////////////////// Stage 2
+L_Quest:
+ mesn;
+ mesq l("Ah, @@, good thing you are here.", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("Bandits are a huge threat to Hurnscald. We're just a small farming town, and they're countless.");
+ next;
+ mesn;
+ mesq l("I did a travel to their cave, I wondered why their faces are never seen. Reason is that they're monsters.");
+ next;
+ mesn;
+ mesq l("Well, perhaps a few of them are rebels, I mean, people like us, but many of them are monsters.");
+ next;
+ mesn;
+ mesq l("Unfortunately, I was cursed to never enter their cave again. They used a @@ to do that!", getitemlink(BlueManaPearl));
+ next;
+ if (countitem(BlueManaPearl) >= 1) {
+ mesn;
+ mesq l("Ah... You have one too. Be careful with it, please. Many people lost their lives because they didn't handled that correctly.");
+ next;
+ }
+ mesn;
+ mesq l("Thankfully that item is too rare. I want somebody to slay the bandit leader, but if you want to do it, you must prove yourself.");
+ next;
+ mesn;
+ mesq l("I will reward whoever kills the current bandit leader, of course.");
+ select
+ l("I would gladly aid you to get rid of that scourge."),
+ l("Sorry, I forgot my courage on my other set of pants.");
+ mes "";
+ if (@menu == 2)
+ close;
+ setq HurnscaldQuest_Bandits, 3;
+ mesn;
+ mesq l("Wonderful! So, how about a warm up?");
+ next;
+ // 8% drop. 10 / 8% = avg. 125 bandits to kill
+ // And for once, I won't require these bandits to be from Hurnscald Bandit Cave.
+ mesn;
+ mesq l("Bring me 10 @@. I'll pay you some money for that, of course.", getitemlink(BanditHood));
+ close;
+
+L_Hood:
+ mesn;
+ mesq lg("Adventurer, did you brought me what I asked? I see you have @@/10 @@.","Adventurer, did you brought me what I asked? I see you have @@/10 @@.", countitem(BanditHood), getitemlink(BanditHood));
+ mes "";
+ select
+ rif(countitem(BanditHood) >= 10, l("Yes, take it.")),
+ rif(countitem(BanditHood) < 10, l("No, I'll be back with them.")),
+ l("Hm, can we talk again later?");
+ mes "";
+ if (@menu != 1)
+ close;
+ inventoryplace LeatherPatch, 1;
+ delitem BanditHood, 10;
+ Zeny=Zeny+2000;
+ getexp 6842,0; // 20% from needed exp
+ getitem LeatherPatch, 1;
+ setq HurnscaldQuest_Bandits, 4;
+ mesn;
+ mesq l("Hey hey... Good job! I was worried you would ruin their hoods before being able to take them.");
+ next;
+ mesn;
+ mesq l("Here is 2000 GP for your efforts. Thanks for making Hurnscald a better place to live.");
+ next;
+ mesc l("You also gained a @@. Bows are very slow, so you should talk to the Blacksmith to make a Quiver.", getitemlink(LeatherPatch));
+ close;
+
+
+///////////////////////// Stage 3
+L_BanditLord:
+ mesn;
+ mesq l("So... I won't say you can't do it, @@. I will just say killing the Bandit Lord is no easy task.", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("The @@ is not only a fearsome and ruthless leader. He is strong, and he have tricks on his sleeve.", getmonsterlink(BanditLord));
+ next;
+ mesn;
+ mesq l("He will summon allies if he think you have the upper hand. So take care if you are going ranged.");
+ next;
+ mesn;
+ mesq l("I know another Bandit Lord will take up his place, but the loss of their leader will make bandits scatter long enough.");
+ next;
+ mesn;
+ mesq l("Will you help me- no, I mean, will you help us, the whole town of Hurnscald?");
+ next;
+ select
+ l("Sorry, I need to better prepare myself."),
+ l("I would gladly give my life for such noble goal.");
+ mes "";
+ if (@menu == 1)
+ close;
+ setq HurnscaldQuest_Bandits, 5;
+ mesn;
+ mesq l("...You have courage. Many people tried and failed.");
+ next;
+ mesn;
+ mesq l("I know where the Bandit Lord room is, and I have a guard stationed not far from there. Ask him for the key.");
+ next;
+ mesn;
+ mesq l("One last thing... Good luck. This is a long shot, so don't hesit in running away.");
+ close;
+
+L_Finish:
+ mesn;
+ mesq l("Ah... You did it!");
+ next;
+ mesn;
+ mesq l("That's easy to know, because the bandits are less coordinated. Perhaps we will be able to sleep in peace this night!");
+ next;
+ inventoryplace ForestArmor, 1;
+ getitem ForestArmor, 1;
+ getexp 5842,93; // 10% from needed exp + JExp level 6
+ setq HurnscaldQuest_Bandits, 8;
+ mesn;
+ mesq l("Here is the @@, like my armor, and one of the best for rangers.", getitemlink(ForestArmor));
+ next;
+ mesn;
+ mesq l("Any friend of Hurnscald is my friend too. Come to me again, if you want to do daily quests!");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, FairyHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, ForestArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonSkirt);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 17);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 7);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/012-2/khafar.txt b/npc/012-2/khafar.txt
new file mode 100644
index 0000000..084ac29
--- /dev/null
+++ b/npc/012-2/khafar.txt
@@ -0,0 +1,137 @@
+// TMW2 Script.
+// Author:
+// Jesusalva
+// Description:
+// Kfahr - Placeholder
+// Quests:
+// HurnscaldQuest_Khafar
+// .@q1 = when even, must buy a beer
+// when odd, can ask another story
+// .@q2 = Temporary variable, holds last story
+// Secrets Unlocked:
+// NivalisQuest_Baktar (status 1→2)
+// Win arm wrestling to unlock Braknar Shield Secrets
+
+012-2,54,46,2 script Khafar NPC_ORC,{
+ function MustDrink;
+ mesc l("You stand before a battle-scarred, darkly tanned warrior, brimming with muscles.");
+ mesc l("Just looking at him you smell danger, adventure, excitement...");
+ next;
+ mesc l("On second thought, he really could use a bath.");
+ next;
+ mesc l("The warrior turns towards you, grinning broadly.");
+ next;
+ mesn;
+ mesq l("Why, hello there! Come to visit me to hear Kfahr the Warrior or Andrei Sakar's exploits, have you?");
+ mesc l("He laughs heartily and gives you a slap on the back.");
+ next;
+ mesn;
+ mesq l("Can't blame you, can't blame you at all! Here, take a seat!");
+ next;
+ goto L_Menu;
+
+L_Menu:
+ do
+ {
+ .@q=getq(HurnscaldQuest_Khafar);
+ if (.@q % 2 == 0)
+ MustDrink();
+ select
+ l("Don't you have any exploit of your own?"),
+ l("Who is Kfahr the Warrior?"),
+ l("Who is Andrei Sakar?"),
+ l("Nah, see you later.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesn;
+ mesq l("I once killed a Giant Maggot alone!");
+ next;
+ break;
+ case 2:
+ mesn;
+ mesq l("He is my grand-grand-grandfather! The might Kfahr, with his friend Braknar, and heroes from Tulimshar legends.");
+ next;
+ mesn;
+ mesq l("Together, they wrote legends. They slayed Toby Rick the Desert Worm, the mightiest desert beast.");
+ next;
+ mesn;
+ mesq l("Braknar also used a pseudonym - Arvek. If you hear that name in some tale, it is the same person.");
+ next;
+ mesn;
+ mesq l("Well, that was a good fight. My grand-grand-grandfeather gave his shield to Arvek -- err, Braknar I mean.");
+ next;
+ mesn;
+ mesq l("The last time they were seen... They went to explore the Desert Temple. None returned alive.");
+ next;
+ select
+ l("Cool story, bro!"),
+ l("What about the Desert Temple?"),
+ rif(getq(NivalisQuest_Baktar), l("What about the Shield?")),
+ l("What about the worm?");
+ mes "";
+ switch (@menu) {
+ case 2:
+ mesn;
+ mesq l("Lost forever on the Desert Canyon, I guess.");
+ next;
+ break;
+ case 3:
+ mesn;
+ mesq l("Oh, the @@ might be a heirloom or something from Braknar family. I dunno who could have it.", getitemlink(BraknarShield));
+ if (getq(NivalisQuest_Baktar) == 1)
+ setq1 NivalisQuest_Baktar, 2;
+ next;
+ break;
+ case 4:
+ mesn;
+ mesq l("It is a boss. I don't know how to summon one, and to be honest - You won't want to see one either.");
+ next;
+ break;
+ }
+ break;
+ default:
+ mesn;
+ mesq lg("See you later, my friend! Thanks for the drink!");
+ close;
+ break;
+ }
+ setq1 HurnscaldQuest_Khafar, .@q+1;
+ getexp 50, 0; // Beer is now lost - get 50xp
+ } while (true);
+ close;
+
+function MustDrink {
+ mesn;
+ mesq l("But first... My throat is dry. Can you bring me a beer?");
+ if (!countitem(Beer))
+ close;
+ next;
+ select
+ l("Here, you can have a glass."),
+ l("Sorry, I have nothing.");
+ mes "";
+ if (@menu == 1) {
+ delitem Beer, 1;
+ .@q=getq(HurnscaldQuest_Khafar);
+ setq1 HurnscaldQuest_Khafar, .@q+1;
+ return;
+ }
+ close;
+}
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, FairyHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, ForestArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonShorts);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 24);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 7);
+
+ .sex = G_MALE;
+ .distance = 5;
+ npcsit;
+ end;
+}
+
diff --git a/npc/012-2/melina.txt b/npc/012-2/melina.txt
new file mode 100644
index 0000000..ac183a9
--- /dev/null
+++ b/npc/012-2/melina.txt
@@ -0,0 +1,73 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Sells beer
+// Variables:
+// $HELENA_ST
+// Controls stock and beer prices
+
+012-2,54,43,0 script Melina NPC_FEMALE,{
+
+hello;
+npcshopattach(.name$);
+shop .name$;
+close;
+
+OnTimer1000:
+ domovestep;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, CottonGloves);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CottonShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, AssassinBoots);
+ setunitdata(.@npcId, UDT_WEAPON, MiniSkirt);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 20);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
+
+ tradertype(NST_MARKET);
+ if ($HELENA_ST < 700)
+ sellitem Beer, 500-($HELENA_ST/2), ($HELENA_ST/3)+1;
+ else
+ sellitem Beer, 150, ($HELENA_ST/3)+1;
+
+ initpath "move", 54, 43,
+ "dir", DOWN, 0,
+ "wait", 27, 0,
+ "move", 43, 43,
+ "dir", DOWN, 0,
+ "wait", 27, 0,
+ "move", 48, 45,
+ "dir", DOWN, 0,
+ "wait", 27, 0,
+ "move", 58, 42,
+ "dir", DOWN, 0,
+ "wait", 27, 0,
+ "move", 35, 43,
+ "dir", DOWN, 0,
+ "wait", 20, 0;
+ initialmove;
+ initnpctimer;
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+
+OnClock2358:
+ if ($HELENA_ST < 700)
+ restoreshopitem Beer, 500-($HELENA_ST/2), ($HELENA_ST/3)+1;
+ else
+ restoreshopitem Beer, 150, ($HELENA_ST/3)+1;
+ end;
+// Pay your taxes!
+OnBuyItem:
+ PurchaseTaxes("Hurns");
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes("Hurns");
+ end;
+
+}
diff --git a/npc/012-2/note.txt b/npc/012-2/note.txt
new file mode 100644
index 0000000..721fe6c
--- /dev/null
+++ b/npc/012-2/note.txt
@@ -0,0 +1,29 @@
+// TMW2 Script.
+// Author:
+// Jesusalva
+// Description:
+// Lena
+// Variables:
+// $HELENA_ST
+// Tracks how many set of Treasure Keys were given by all players thus far.
+// Affects beer prices on Hurnscald.
+// HurnscaldQuest_Bandits
+// q1 -> Current status
+// q2 -> Treasure Key Timer
+// q3 -> Bandit Hood Timer
+
+012-2,40,41,0 script Note#012-2 NPC_NO_SPRITE,{
+ HallOfSponsor();
+ next;
+ if (.t > gettimetick(2))
+ close;
+ .t=gettimetick(2)+2;
+ HallOfGMLog();
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ .t=gettimetick(2);
+ end;
+}
diff --git a/npc/012-2/rakinorf.txt b/npc/012-2/rakinorf.txt
new file mode 100644
index 0000000..8e0554a
--- /dev/null
+++ b/npc/012-2/rakinorf.txt
@@ -0,0 +1,335 @@
+// TMW2/LoF scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Current Hurnscald Mayor
+// Variable:
+// SQuest_Sponsor
+// Quest ID: 4
+
+012-2,34,79,0 script Rakinorf, Mayor NPC_ANSELMO_BR,{
+ function resetSQS {
+ setq SQuest_Sponsor, 0, gettime(GETTIME_MONTH);
+ }
+ // Check monthly quest
+ .@d=getq2(SQuest_Sponsor);
+ if (.@d != gettime(GETTIME_MONTH)) resetSQS();
+
+ .@n=getq(General_Narrator);
+ .@q=getq(SQuest_Sponsor);
+ mesn;
+ mesq l("Ah... I need more beer to keep going... This is so awful...");
+ // Handle main storyline
+ if (.@n >= 5 && .@n <= 6)
+ goto L_MainStory;
+ // Handle main storyline
+
+ // Core
+ .@q=getq(SQuest_Sponsor);
+ if (!(.@q & .questID) && getgmlevel()) goto L_Menu;
+ close;
+
+L_Menu:
+ if (!(.@q & .questID))
+ close;
+
+ mesq l("I will reward you for 7 @@.", getitemlink(.itemID));
+ mes "";
+ menu
+ rif(countitem(.itemID) >= 7, l("Here they are!")), L_Finish,
+ l("Where can I find them?"),L_Where,
+ l("No, thanks."),L_Close;
+
+L_Finish:
+ .@q=getq(SQuest_Sponsor);
+ if (!(.@q & .questID))
+ close;
+
+ delitem .itemID, 7;
+ getitem StrangeCoin, rand2(2,4);
+ setq1 SQuest_Sponsor, .@q | .questID;
+ mes "";
+ mesn;
+ mesq l("Many thanks! Come back later to bring me extra @@!", getitemlink(.itemID));
+ close;
+
+L_Where:
+ mes "";
+ mesq l("Ah, there are lots with Melina, downstairs.");
+ next;
+
+L_Close:
+ closedialog;
+ goodbye;
+ close;
+
+// Main Storyline
+L_MainStory:
+ next;
+ // 5 - First time speaking
+ // setq2
+ // 0 - Not Assigned
+ // 1 - Need to bring Beer
+ // 2 - Need to find out how Arkim is doing
+ // 3 - Complete, Reluctancy node
+ // 4 - Told about Hurnscald Liberation Day, but didn't told where previous mayor is
+ // 5 - Told you to tell Airlia about.
+ // 6 - Airlia told you what she knew, must talk to Rakinorf
+ // 7 - Need to get levels (standard quest)
+ // 6 - Must visit Halinarzo Library
+ // Note: Expires on logout: @returnpotion_expiredate
+
+ if (.@n == 5)
+ .@n2=getq2(General_Narrator);
+ else
+ .@n2=99;
+
+ if (.@n2 == 5) {
+ mesn;
+ mesq l("You should talk to Airlia again to understand what Lua wants me to do.");
+ mes "";
+ }
+
+ .@rk=(!(getq(SQuest_Sponsor) & .questID));
+
+ select
+ rif(.@rk && getgmlevel(), l("Maybe I could give you more beer?")),
+ rif(.@n2 == 0, l("I know it may sound silly, but I need your help to find out who I am.")),
+ rif(.@n2 == 1, l("I have brought you the beer.")),
+ rif(.@n2 == 2, l("I know how many bat teeth and wings Arkim collected.")),
+ rif(.@n2 == 3, l("I know it may sound silly, but I need your help to find out who I am.")),
+ rif(.@n2 == 4, l("Where can I find the previous mayor?")),
+ rif(.@n2 == 6, l("Airlia told me you should lend me a Return Potion.")),
+ rif(.@n2 == 7, l("I think I'm ready.")),
+ rif(.@n == 6 && countitem(BrokenWarpCrystal), l("The warp crystal broke.")),
+ //rif(.@n == 6 && (!countitem(ReturnPotion)||@returnpotion_expiredate<gettimetick(2)), l("I need more return potions.")),
+ l("Ok, thanks.");
+
+ mes "";
+ switch (@menu) {
+ case 1:
+ goto L_Menu; break;
+ case 2:
+ mesn;
+ mesq l("Not now... *hic* I need @@... *hic* Bring me @@ if you *hic* can...", getitemlink(Beer), l("four"));
+ setq2 General_Narrator, 1;
+ break;
+ case 3:
+ if (countitem(Beer) < 4) {
+ mesn;
+ mesq l("That's not *hic*... That's not what I asked you for...");
+ next;
+ mesn;
+ mesq l("Please bring me *hic*... Bring me @@ @@!", 4, getitemlink(Beer));
+ close;
+ }
+ delitem Beer, 4;
+ getexp BaseLevel*10, JobLevel*3;
+ setq2 General_Narrator, 2;
+ mesn;
+ mesq l("Aaaaaaaahhhhh.... Much better now *hic*.");
+ next;
+ mesn;
+ mesq l("Could you *hic* do me a favor? Arkim, on a cave southeast of *hic* here, is collecting some stuff.");
+ next;
+ mesn;
+ mesq l("He's an *hic* hermit, and collects *hic* Bat teeth and wings... Tell me how many he collected!");
+ break;
+ case 4:
+ mesn;
+ mesq l("So? How many *hic* he collect?");
+ mesc l("Protip: Arkim is in a cave southeast of here and is an hermit.");
+ input .@am;
+ mes "";
+ // If players give up to 10 wings/teeths since you check, I don't mind
+ if (.@am < ($ARKIM_ST-10) || .@am > $ARKIM_ST)
+ goto L_Fail;
+ mesn;
+ mesq l("Thanks. You can go, now.");
+ getexp BaseLevel*2, JobLevel;
+ setq2 General_Narrator, 3;
+ break;
+ case 5:
+ mesn;
+ mesq lg("Aaaaaaah, gal... Just let me drink in peace.", "Aaaaaaah, boy... Just let me drink in peace.");
+ next;
+ mesn strcharinfo(0);
+ mes l("T.T \"Why I think you are withdrawing information all along?\"");
+ next;
+ mesn;
+ mesq l("Sure, sure... Why are you even *hic* asking me this, anyway? Do I look like your... *hic* your father or something?!");
+ next;
+ select
+ l("Maybe you do, your jerk! Stop drinking! Lua told me that you could help me! DO YOUR JOB!!"),
+ l("Sorry, Mister Rakinorf, but it was Lua that said you could help me.");
+ next;
+ /*
+ if (@menu == 1)
+ Karma=Karma+1;
+ else
+ Karma=Karma-1;
+ */
+ setq2 General_Narrator, 4;
+ mesn strcharinfo(0);
+ mesq l("All she told me was that I needed to visit Halinarzo, but was too weak, and should look for you instead.");
+ next;
+ // Rakinorf gets somber after that
+ mesn;
+ mesq l("Ah, Halinarzo... Dangerous place. Tulimshar route is plagued with snakes, Hurnscald route is more often than not flooded.");
+ next;
+ mesn;
+ mes l(">.> \"Sorry pal, I have no idea what she meant by that.\"");
+ next;
+ mesn;
+ mesq l("You see, just @@ ago, Hurnscald was liberated from a massive monster attack.", FuzzyTime($HURNS_LIBDATE));
+ mesq l("Dragonstar and Aisen did their best along many others, and managed to liberate Hurnscald, though!");
+ next;
+ mesn;
+ mesq l("Well, problem is, after that, there was demand for an election. The previous mayor lost. I won.");
+ next;
+ mesn;
+ mesq l("That's basically how democracy works. You are warranted to stay on the office until something goes gravely wrong.");
+ mesq l("Now I just drink down my worries and hope for the best.");
+ next;
+ mesn;
+ mesq l("The previous mayor was an amazing mayor, but even so, he lost the office after the Monster King attacked.");
+ next;
+ mesn;
+ mesq l("I'm afraid I can't be of any help to you.");
+ next;
+ mesn;
+ mesq l("And now... Somber time is over! Time to get back to drinking! Yaaaay!!");
+ break;
+ case 6:
+ setq2 General_Narrator, 5;
+ mesn;
+ mesq l("His daughter, Airlia, is not air-headed as her mother Lia. Try asking her instead.");
+ break;
+ case 7:
+ mesn;
+ mesq l("Whaaaaaaat *hic* is she *hic* have she gotten crazy? *hic*");
+ next;
+ mesn;
+ mesq l("That's a *hic* precious item, and you're *hic* not nearly *hic* strong or worth enough to use it!");
+ next;
+ mesn;
+ mesq l("You will need to *hic* prove yourself to *hic* me and the town first...");
+ next;
+ mesc b(l(".:: Main Quest 3-2 ::.")), 3;
+ msObjective(BaseLevel >= 35, l("* @@/@@ Base Level", BaseLevel, 35));
+
+ if (JobLevel >= 15)
+ mesc l("* @@/@@ Job Level", JobLevel, 15), 2;
+ else
+ mesc l("* @@/@@ Job Level", JobLevel, 15), 9;
+
+ if (countitem(Scythe))
+ mesc l("* @@/@@ @@", countitem(Scythe), 1, getitemlink(Scythe)), 2;
+ else
+ mesc l("* @@/@@ @@", countitem(Scythe), 1, getitemlink(Scythe)), 9;
+
+ if (getq(HurnscaldQuest_BloodDonor))
+ mesc l("* Donate blood at least once."), 2;
+ else
+ mesc l("* Donate blood at least once."), 9;
+
+ setq2 General_Narrator, 7;
+ next;
+ //mesn;
+ if (!countitem(Scythe))
+ mes l("- Help the farmers. We rely a lot on agriculture.");
+ if (!getq(HurnscaldQuest_BloodDonor))
+ mes l("- To donate blood, go to the hospital and ask about it.");
+ if (JobLevel < 15)
+ mes l("- Boss give more Job experience, but as long that you keep killing, you'll keep gaining.");
+ if (BaseLevel < 35)
+ mes l("I think Lieutenant Paul had a bounty for extra experience.");
+ break;
+
+ case 8:
+ mesc b(l(".:: Main Quest 3-2 ::.")), 3;
+ msObjective(BaseLevel >= 35, l("* @@/@@ Base Level", BaseLevel, 35));
+
+ msObjective(JobLevel >= 15, l("* @@/@@ Job Level", JobLevel, 15));
+
+ msObjective(countitem(Scythe), l("* @@/@@ @@", countitem(Scythe), 1, getitemlink(Scythe)));
+
+ msObjective(getq(HurnscaldQuest_BloodDonor), l("* Donate blood at least once."));
+
+ next;
+ if (BaseLevel >= 35 &&
+ JobLevel >= 15 &&
+ countitem(Scythe) &&
+ getq(HurnscaldQuest_BloodDonor))
+ goto L_Complete;
+ mesn;
+ if (!countitem(Scythe))
+ mes l("- Help the farmers. We rely a lot on agriculture.");
+ if (!getq(HurnscaldQuest_BloodDonor))
+ mes l("- To donate blood, go to the hospital and ask about it.");
+ if (JobLevel < 15)
+ mes l("- Boss give more Job experience, but as long that you keep killing, you'll keep gaining.");
+ break;
+
+ case 9:
+ mesn;
+ mesq l("I don't have a spare. They're *hic* done by ANISE INC., their headquarters are in Frostia.");
+ next;
+ mesn;
+ mesq l("Frostia is a *hic* town way way north of here. They *hic* hate humans, so... Good luck?");
+ break;
+ /*
+ case 10:
+ if (countitem(ReturnPotion))
+ delitem ReturnPotion, countitem(ReturnPotion);
+ inventoryplace ReturnPotion, 5;
+ getitem ReturnPotion, rand(2,5);
+ @returnpotion_expiredate=gettimetick(2)+1200+rand(300,1200); // 20 minutes + 5~20 minutes == last 25~40 minutes
+ mesn;
+ mesq l("There... *hic* They will expire *hic* in just @@... Or on logout.", FuzzyTime(@returnpotion_expiredate));
+ break;
+ */
+ }
+ close;
+
+L_Fail:
+ mesn;
+ mes l("Eh? You sure?");
+ if (.@am > $ARKIM_ST)
+ mes l("I don't think he could have collected that many!");
+ else
+ mes l("Last time they told me he collected more than that...");
+ next;
+ mesn;
+ mesq l("Could you try again, please?");
+ // No penalty? Really??
+ close;
+
+L_Complete:
+ inventoryplace ReturnPotion, 5, HalinWarpCrystal, 1, HurnsWarpCrystal, 1;
+ mesn;
+ mesq l("Good, you *hic* proved your *hic* worth. I'll give you them.");
+ next;
+ mesn;
+ mesq l("Here are EXTREMELY VALUABLE warp crystals, and the *hic* fabled return potions.");
+ next;
+ mesn;
+ mesq l("Halinarzo is a *hic* level 50 area. So please *hic* be careful!");
+ mesc l("WARNING: Warp Crystals can break after use and have a cooldown.");
+ mesc l("Return Potions works instantly. Talk to Wyara to get more.");
+ setq General_Narrator, 6, 0;
+ getitem ReturnPotion, 10;
+ getitem TulimWarpCrystal, 1;
+ getitem HurnsWarpCrystal, 1;
+ getexp BaseLevel*400, JobLevel*50;// Reference Levels: (35, 15)
+ getvaultexp(10);
+ close;
+
+OnInit:
+ .questID=4;
+ .itemID=Beer;
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/012-3/_import.txt b/npc/012-3/_import.txt
new file mode 100644
index 0000000..1f94b49
--- /dev/null
+++ b/npc/012-3/_import.txt
@@ -0,0 +1,4 @@
+// Map 012-3: Archery Shop
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/012-3/_warps.txt",
+"npc/012-3/alan.txt",
diff --git a/npc/012-3/_warps.txt b/npc/012-3/_warps.txt
new file mode 100644
index 0000000..0b81722
--- /dev/null
+++ b/npc/012-3/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 012-3: Archery Shop warps
+012-3,41,46,0 warp #012-3_41_46 0,0,012-1,89,59
diff --git a/npc/012-3/alan.txt b/npc/012-3/alan.txt
new file mode 100644
index 0000000..92cfc45
--- /dev/null
+++ b/npc/012-3/alan.txt
@@ -0,0 +1,142 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Alan is Hurnscald's bowmaster. He may craft the Forest Bow, and sell ammo.
+
+012-3,44,40,0 script Alan NPC_BOWMASTER,{
+ .@q=getq(HurnscaldQuest_ForestBow);
+ .@q2=getq2(HurnscaldQuest_ForestBow);
+ .@q3=getq3(HurnscaldQuest_ForestBow);
+ switch (.@q) {
+ case 1:
+ npctalk3 l("Ah, if Jack and that fisherman from Halinarzo still gave me materials...");
+ break;
+ case 2:
+ npctalk3 l("The bow I gave you was a masterpiece.");
+ break;
+ }
+
+ mesn;
+ mesq l("Only the finest bows and arrows, in the land where wood is abundant!");
+ mes "";
+ menu
+ l("Ok, thanks."), L_Close,
+ l("I want to trade."), L_Shop,
+ rif(.@q == 0, l("Do you accept special requests? Could you make me a really good bow?")), L_ForestBow,
+ rif(.@q == 1 && .@q2 == .@q3 && .@q2 == 99, l("I have the sturdy wood and the string.")), L_Craft;
+
+L_Shop:
+ npcshopattach(.name$);
+ openshop;
+ closedialog;
+ close;
+
+L_ForestBow:
+ mesn;
+ mesq l("Well, I know how to do a @@, a sturdy bow, but I am not making those anymore, sorry.", getitemlink(ForestBow));
+ next;
+ menu
+ l("Oh, too bad."), L_Close,
+ l("What? Why not?"), L_Next;
+
+L_Next:
+ mesn;
+ mesq l("You see, I cannot use any raw material. It must be sturdier than the usual, and I don't have the materials for it.");
+ next;
+ mesn;
+ mesq l("The wood, Jack the Lumberjack used to deliver me, but he isn't delivering anymore. And the string was imported from Halinarzo.");
+ next;
+ mesn;
+ mesq l("Perhaps, you could convince Jack to give me the wood, and seek for a fisherman on Halinarzo to give you the string? I won't charge anything.");
+ next;
+ menu
+ l("Not really, sorry."), L_Close,
+ l("Right'o, I'll arrange the material!"), L_Start;
+
+L_Start:
+ // q2 → Wood Part
+ // q3 → String Part
+ setq HurnscaldQuest_ForestBow, 1, 0, 0;
+ goto L_Close;
+
+L_Craft:
+ inventoryplace ForestBow, 1;
+ getitem ForestBow, 1;
+ getexp 900, 0;
+ setq HurnscaldQuest_ForestBow, 2, 0, 0;
+ mesn;
+ mesq l("Here you go - have fun with it.");
+ next;
+ goto L_Close;
+
+
+L_Close:
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ sleep(SHOPWAIT);
+ tradertype(NST_MARKET);
+
+ sellitem ShortBow, 8800, 1;
+ sellitem WoodenBow, 4000, 2;
+
+ sellitem TrainingArrow, -1, 2000;
+ sellitem Arrow, -1, 1000;
+ sellitem IronArrow, -1, 500;
+
+ if ($ARKIM_ST > 1400)
+ sellitem CursedArrow, -1, $ARKIM_ST-1400;
+ if ($ARKIM_ST > 2800)
+ sellitem PoisonArrow, -1, $ARKIM_ST-2800;
+
+ sellitem TrainingAmmoBox, -1, 10;
+ sellitem ArrowAmmoBox, -1, 5;
+ sellitem IronAmmoBox, -1, 2;
+
+ if ($ARKIM_ST > 2800)
+ sellitem CursedAmmoBox, -1, (($ARKIM_ST-1400)/200);
+ if ($ARKIM_ST > 5600)
+ sellitem PoisonAmmoBox, -1, (($ARKIM_ST-2800)/200);
+
+ end;
+
+
+OnClock2357:
+OnClock1151:
+ restoreshopitem ShortBow, 8800, 1;
+ restoreshopitem WoodenBow, 4000, 2;
+ restoreshopitem TrainingAmmoBox, -1, 10;
+ restoreshopitem ArrowAmmoBox, -1, 5;
+ restoreshopitem IronAmmoBox, -1, 2;
+
+ if ($ARKIM_ST > 2800)
+ restoreshopitem CursedAmmoBox, -1, (($ARKIM_ST-1400)/200);
+ if ($ARKIM_ST > 5600)
+ restoreshopitem PoisonAmmoBox, -1, (($ARKIM_ST-2800)/200);
+OnClock0611:
+OnClock1800:
+ restoreshopitem TrainingArrow, -1, 2000;
+ restoreshopitem Arrow, -1, 1000;
+ restoreshopitem IronArrow, -1, 500;
+ if ($ARKIM_ST > 2800)
+ restoreshopitem CursedArrow, -1, (($ARKIM_ST-1400)/200);
+ if ($ARKIM_ST > 5600)
+ restoreshopitem PoisonArrow, -1, (($ARKIM_ST-2800)/200);
+ end;
+
+// Pay your taxes!
+OnBuyItem:
+ PurchaseTaxes("Hurns");
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes("Hurns");
+ end;
+
+}
diff --git a/npc/012-4/_import.txt b/npc/012-4/_import.txt
new file mode 100644
index 0000000..cb639cb
--- /dev/null
+++ b/npc/012-4/_import.txt
@@ -0,0 +1,5 @@
+// Map 012-4: Alchemy Shop
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/012-4/_warps.txt",
+"npc/012-4/craft.txt",
+"npc/012-4/wyara.txt",
diff --git a/npc/012-4/_warps.txt b/npc/012-4/_warps.txt
new file mode 100644
index 0000000..fb88327
--- /dev/null
+++ b/npc/012-4/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 012-4: Alchemy Shop warps
+012-4,35,31,0 warp #012-4_35_31 0,0,012-1,101,56
diff --git a/npc/012-4/craft.txt b/npc/012-4/craft.txt
new file mode 100644
index 0000000..be788e9
--- /dev/null
+++ b/npc/012-4/craft.txt
@@ -0,0 +1,54 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Rentable Alchemy Bench
+
+012-4,27,31,0 script Alchemy Cauldron NPC_NO_SPRITE,{
+ mesc l("What will you brew today?");
+ mesc l("It costs %d GP to use.", .price), 1;
+ mesc l("This tax must be paid now, and you can brew as much as you wish after payment."), 1;
+ if (Zeny < .price)
+ close;
+ next;
+ select
+ l("Pay"),
+ l("Don't pay.");
+ mes "";
+ if (@menu == 2) { closeclientdialog; close; }
+ clear;
+ if (Zeny < .price) {
+ mesc l("WARNING, you have been detected cheating and thus, violating Tulimshar Anti-Theft Policy."), 1;
+ mesc l("You were jailed and now need a GM to get you out of there."), 1;
+ logmes "WARNING, "+strcharinfo(0)+" found out cheating, only had "+Zeny+"/300 GP for alchemy table. Jailed.", LOGMES_ATCOMMAND;
+ consoleinfo("%s jailed - no money when brewing.", strcharinfo(0));
+ atcommand("@jail "+strcharinfo(0));
+ // Apply a more realistic penalty
+ Zeny=0;
+ CRAFTSYS_CURRENT=0;
+ close;
+ }
+ Zeny-=.price;
+
+ do {
+ mesc l("What will you brew today?");
+ mes "";
+
+ if (AlchemySystem(CRAFT_PLAYER)) {
+ mesc l("Success!"), 3;
+ } else {
+ mesc l("That didn't work!"), 1;
+ }
+ next;
+ mesc l("Try again?");
+ } while (askyesno() == ASK_YES);
+
+ close;
+
+OnInit:
+ .distance=3;
+ .price=1500;
+ end;
+}
+
+
diff --git a/npc/012-4/wyara.txt b/npc/012-4/wyara.txt
new file mode 100644
index 0000000..cac765c
--- /dev/null
+++ b/npc/012-4/wyara.txt
@@ -0,0 +1,310 @@
+// TMW2 Script
+// Author:
+// Saulc
+// Vasily_Makarov (original from Evol)
+// Jesusalva
+// Description:
+// Hurnscald Potion Shopkeeper
+// Notes:
+// Reset must be turned in function
+
+012-4,29,28,0 script Wyara NPC_FEMALE,{
+
+ speech S_LAST_NEXT,
+ l("I am @@, an alchemist specialized in reset potions.", .name$);
+
+L_Menu:
+ .@n=getq(General_Narrator);
+ .@s=getq(HurnscaldQuest_Sagratha);
+ .@s3=getq3(HurnscaldQuest_Sagratha);
+
+ select
+ l("Can you reset my stats please?"),
+ rif($ARKIM_ST >= 1200,l("I want Piberries Infusion!")),
+ rif(getq(HurnscaldQuest_InjuriedMouboo) == 2,l("Do you know how to break curses?")),
+ rif(.@s == 1 && .@s3,l("Sagratha was not home.")),
+ rif(.@s == 2,l("About Sagratha...")),
+ rif(SAGRATHA_SCORE < 0 && .@s >= 6, l("Sagratha hates my guts.")),
+ rif(.@n >= 6,l("I am in dire need of Return Potions!")),
+ lg("You are weird, I have to go sorry.");
+
+ mes "";
+ switch (@menu) {
+ case 1:
+ goto L_ResetStats;
+ case 2:
+ goto L_Piberries;
+ case 3:
+ goto L_Uncurse;
+ case 4:
+ goto L_SaggyHome;
+ case 5:
+ goto L_SaggyMain;
+ case 6:
+ goto L_SaggyHelp;
+ case 7:
+ goto L_ReturnPot;
+ case 8:
+ goto L_Quit;
+ }
+
+L_ResetStats:
+ mesn;
+ mesq l("Status point reset can't be undone. Do you really want this?");
+
+L_ConfirmReset:
+ ConfirmStatusReset();
+ goto L_Quit;
+
+L_Piberries:
+ mesn;
+ mesq l("For (another) one @@, I'll need 3~4 @@ and 50 GP.", getitemlink(PiberriesInfusion), getitemlink(Piberries));
+ next;
+ select
+ rif(Zeny >= 50 && countitem(Piberries) >= 4, l("Do it!")),
+ l("Not now, sorry.");
+ if (@menu == 2)
+ goto L_Quit;
+
+ mes "";
+ inventoryplace PiberriesInfusion, 1;
+
+ Zeny=Zeny-50;
+ delitem Piberries, rand2(3,4);
+ getitem PiberriesInfusion, 1;
+ getexp 10, 0;
+ goto L_Piberries;
+
+L_Uncurse:
+ mesn;
+ mesq l("Well, it depends on the curse. Some are easy to break, and others are... well...");
+ next;
+ select
+ l("It's a simple curse."),
+ l("It's a complex curse."),
+ l("It's a cursed mouboo.");
+ mes "";
+ mesn;
+ switch (@menu) {
+ case 1:
+ mesq l("Then you should look in buying Caffeinne. Curse is a status ailment which reduces your attack, nullifies your luck and makes you a snail. Simple Curses can be cured with time, too.");
+ break;
+ case 2:
+ mesq l("Oh, then you should seek the help of an specialist. These curses have an specific condition to break, like leveling up or being killed. Force-breaking them can be difficult.");
+ break;
+ case 3:
+ mesq l("A... Mouboo? Well, I know who can handle curses on cute Mouboos.");
+ next;
+ mesn;
+ mesq l("Go talk to Sagratha, she is usually in a hut in northen forest. The door have a magic barrier, so you'll need to have minimal magic skills to get close enough to open it.");
+ next;
+ mesn;
+ mesq l("She doesn't likes @@s, only cute animals. She doesn't likes Ghosts, Undeads, and Shadow monsters either.", get_race());
+ next;
+ mesn;
+ mesq l("So, when you get on the door, knock it, and say this: \"@@\". She will open the door for you.", b(l("Mouboos are cute")));
+ compareandsetq HurnscaldQuest_Sagratha, 0, 1;
+ break;
+ }
+ close;
+
+L_ReturnPot:
+ .@price=7000-(reputation("Hurns")*20);
+ .@craft=2001-(reputation("Hurns")*20);
+ .@ammon=5+(reputation("Hurns")/30);
+ mesn;
+ mesq l("I understand. Rakinorf told me to stuff you with them if needed.");
+ next;
+ mesn;
+ mesq l("Be aware I can only bake batches of @@ potions.", .@ammon);
+ next;
+ mesn;
+ mesq l("So, it is @@ GP each one up-front. Or I can brew with your materials:", .@price);
+ mes "";
+ mesn l("Craft Recipe");
+ mesc l("- @@/@@ @@", countitem(MauveHerb), 80, getitemlink(MauveHerb));
+ mesc l("- @@/@@ @@", countitem(MushroomSpores), 15, getitemlink(MushroomSpores));
+ mesc l("- @@/@@ @@", countitem(Potatoz), 7, getitemlink(Potatoz));
+ mesc l("- @@/@@ @@", countitem(Coral), 5, getitemlink(Coral));
+ mesc l("- @@/@@ @@", countitem(EverburnPowder), 1, getitemlink(EverburnPowder));
+ mesc l("- @@/@@ GP", format_number(.@craft), format_number(Zeny));
+ next;
+ select
+ l("Too expensive %%n"),
+ rif(Zeny >= .@price, l("I want to pay the full price.")),
+ l("I want you to brew some for me.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ close;
+ case 2:
+ mesc l("How many? Max. @@", (Zeny/.@price));
+ input .@c, 0, (Zeny/.@price);
+ .@payment=.@price*.@c;
+ if (Zeny >= .@payment) {
+ inventoryplace ReturnPotion, .@c*.@ammon;
+ Zeny-=.@payment;
+ getitem ReturnPotion, .@c*.@ammon;
+ mesn;
+ mesq l("There you go!");
+ } else {
+ Exception("Illegal input.", RB_DEFAULT | RB_SPEECH);
+ }
+ break;
+ case 3:
+ mesc l("How many?");
+ input .@c, 0, 100;
+ inventoryplace ReturnPotion, .@c*.@ammon;
+ if (
+ countitem(MauveHerb) < 80*.@c ||
+ countitem(MushroomSpores) < 15*.@c ||
+ countitem(Potatoz) < 7*.@c ||
+ countitem(Coral) < 5*.@c ||
+ countitem(EverburnPowder) < 1*.@c ||
+ Zeny < .@craft*.@c
+ ) Exception("You don't have that much material.", RB_ISFATAL|RB_SPEECH);
+ delitem MauveHerb, 80*.@c;
+ delitem MushroomSpores, 15*.@c;
+ delitem Potatoz, 7*.@c;
+ delitem Coral, 5*.@c;
+ delitem EverburnPowder, 1*.@c;
+ Zeny-=.@craft*.@c;
+ getitem ReturnPotion, .@c*.@ammon;
+ mesn;
+ mesq l("There you go!");
+ break;
+ }
+ close;
+
+L_SaggyHome:
+ mesn;
+ mesq l("She probably just went out for a walk. Nothing to worry, I hope.");
+ next;
+ if (.@n < 11) {
+ mesn;
+ mesq l("It's impossible to know when she'll be back, so you should prioritize something else for now.");
+ close;
+ }
+ select
+ l("Yeah, she might be back soon."),
+ l("I don't think so. There have been... Incidents.");
+ if (@menu == 1)
+ close;
+ mes "";
+ mesn;
+ mesq l("...Incidents?");
+ next;
+ mesn strcharinfo(0);
+ mesc l("You tell her about the incident at the Blue Sage's residence and how they were aiming at sages.");
+ next;
+ mesn;
+ mesq l("Well, this is very disturbing, indeed. I hope my good friend Sagratha is fine.");
+ next;
+ mesn;
+ mesq l("Can you, perhaps, do me a favor? Please... Check her house for any signs of battle.");
+ next;
+ mesn;
+ mesq l("She should be safe as she is a strong woman, but... You never know.");
+ setq1 HurnscaldQuest_Sagratha, 2;
+ setq3 HurnscaldQuest_Sagratha, 0;
+ close;
+
+L_SaggyMain:
+ mesn;
+ mesq l("Yes? Have you looked her house for signs of battle?");
+ next;
+ select
+ l("Yes, and there was no signs of a fight."),
+ l("...Not yet.");
+ if (@menu == 2)
+ close;
+ mes "";
+ mesn;
+ mesq l("Are you sure? Like, really really sure?");
+ next;
+ if (!.@s3) {
+ mesn strcharinfo(0);
+ mesq l("Hmm... Thinking well...");
+ next;
+ mesn;
+ mesq l("THEN DON'T WASTE MY TIME! My friend could be in danger!");
+ next;
+ mesn;
+ mesq l("Go do what I told you to do and examine the house thoroughly!");
+ close;
+ }
+ mesn strcharinfo(0);
+ mesq l("Yes, I did. There was only an unlocked secret window.");
+ next;
+ mesn;
+ mesq l("Good, this must mean that Sagratha managed to flee in time.");
+ next;
+ mesn;
+ mesq l("Eh, I don't think you'll be brave enough to go after her. If even she decided to flee, I doubt you wouldn't do the same.");
+ next;
+ select
+ l("Yeah you're right, I'm a noob anyway, and Sagratha is a skilled mage. She should be fine on her own."),
+ l("Two still fight better than one. I have the courage of a dustman in me!");
+ mes "";
+ if (@menu == 1)
+ close;
+ mesn;
+ mesq l("Heh. Foolish. That's what adventurers are, I guess...");
+ next;
+ mesn;
+ mesq l("If you leave by the secret window, you'll notice a small cave entrance. Enter it.");
+ next;
+ mesn;
+ mesq l("It seems to be the ruins of some sort of Mouboo Temple or whatever, from a millenia ago. There may be traps, so be careful.");
+ next;
+ inventoryplace MercCard_Jesusalva, 1;
+ mesn;
+ mesq l("I'll give you a @@. It should aid you out there.", getitemlink(MercCard_Jesusalva));
+ next;
+ mesn;
+ mesq l("...Good luck, @@. And be careful. If Sagratha decided to flee... It might be too strong for you.", strcharinfo(0));
+ setq1 HurnscaldQuest_Sagratha, 3;
+ setq3 HurnscaldQuest_Sagratha, 0;
+ getitem MercCard_Jesusalva, 1;
+ close;
+
+L_SaggyHelp:
+ mesn;
+ mesq l("Well, you probably deserve it.");
+ next;
+ mesn;
+ mesq l("Have you been harming the forest? Specially Mouboos. Are you killing them?");
+ next;
+ mesn;
+ mesq l("If yes, of course she will hate you. With reason! You're murdering her family and friends!");
+ next;
+ mesn;
+ mesq l("Listen, she decided to live away from civilization. She choose the forest as her home and the animals as her family.");
+ next;
+ mesn;
+ mesq l("You have no right to take that away from her!");
+ next;
+ mesn;
+ mesq l("You could try to get on her good side by killing what destroys the forest, or by planting trees.");
+ next;
+ mesn;
+ mesq l("But if you keep harming the forest, this will be for naught. Was I clear?");
+ close;
+
+L_Quit:
+ goodbye;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, FancyHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SailorShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, BromenalPants);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 8);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 18);
+
+ .sex = G_FEMALE;
+ .distance = 4;
+ end;
+}
diff --git a/npc/012-5/_import.txt b/npc/012-5/_import.txt
new file mode 100644
index 0000000..a6b89d2
--- /dev/null
+++ b/npc/012-5/_import.txt
@@ -0,0 +1,4 @@
+// Map 012-5: Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/012-5/_warps.txt",
+"npc/012-5/nicholas.txt",
diff --git a/npc/012-5/_warps.txt b/npc/012-5/_warps.txt
new file mode 100644
index 0000000..2816bf3
--- /dev/null
+++ b/npc/012-5/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 012-5: Indoors warps
+012-5,34,37,0 warp #012-5_34_37 0,0,012-1,121,72
+012-5,23,27,0 warp #012-5_23_27 0,0,012-1,116,67
diff --git a/npc/012-5/nicholas.txt b/npc/012-5/nicholas.txt
new file mode 100644
index 0000000..706a84a
--- /dev/null
+++ b/npc/012-5/nicholas.txt
@@ -0,0 +1,283 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Nicholas is Hurnscald's blacksmith. He forges some stuff, and sell other stuff.
+// Perhaps he should not forge armor? Remember he cannot forge EVERYTHING...
+//
+// PS.
+// Iridium + Platyna Platinum
+// Gold + Coal Gold
+// Silver + Coal Silver
+// Copper + Tin Bronze (9:1)
+// Terranite + Coal Terranite
+// Iron + Coal Iron
+
+// Resitance and Weight increasing ores
+// Lead → +++ res, ++++ wei
+// Titanium → + res, + wei
+
+// Originals: Setzer, Steel Shield, Chain Mail, Light Platemail, Warlord Plate, Warlord Boots
+
+012-5,36,26,0 script Nicholas NPC_NICHOLAS,{
+ goto L_Menu;
+
+ // blacksmith_header()
+ function blacksmith_header {
+ mesn;
+ mesq l("Very well! We have seven class of items: Wood, Iron, Terranite, Bronze, Silver, Gold and Platinum.");
+ mesq l("Each of them require different items, I'll sort from weakest to strongest, so choose wisely.");
+ return;
+ }
+
+ // blacksmith_create( BaseItem1, Amount, BaseItem2, Amount, PrizeItem, Price )
+ function blacksmith_create {
+ .@base1=getarg(0);
+ .@amon1=getarg(1);
+ .@base2=getarg(2);
+ .@amon2=getarg(3);
+ .@prize=getarg(4);
+ .@price=getarg(5);
+
+ // Adjust price
+ .@price=POL_AdjustPrice(.@price);
+
+ mesn;
+ mesq l("Do you want to craft @@? For that I will need:", getitemlink(.@prize));
+ mesc l("@@/@@ @@", countitem(.@base1), .@amon1, getitemlink(.@base1));
+ mesc l("@@/@@ @@", countitem(.@base2), .@amon2, getitemlink(.@base2));
+ mesc l("@@/@@ GP", format_number(Zeny), format_number(.@price));
+
+ select
+ l("Yes"),
+ l("No");
+
+ if (@menu == 2)
+ return;
+
+ if (countitem(.@base1) >= .@amon1 &&
+ countitem(.@base2) >= .@amon2 &&
+ Zeny >= .@price) {
+ inventoryplace .@prize, 1;
+ delitem .@base1, .@amon1;
+ delitem .@base2, .@amon2;
+ POL_PlayerMoney(.@price);
+
+ // craft the item with +30% crit dmg (weapons) or +1 random stat (etc)
+ if (array_find(.WeaponCraft, .@prize) >= 0)
+ CsysNpcCraft(.@prize, IOPT_CRITDMG, rand(28,32));
+ else
+ CsysNpcCraft(.@prize, any(0, VAR_STRAMOUNT, VAR_AGIAMOUNT, VAR_VITAMOUNT, VAR_INTAMOUNT, VAR_DEXAMOUNT, VAR_LUKAMOUNT), any(1,1,1,2));
+
+ // Yield some experience for the craft
+ .@xp=getiteminfo(.@base1, ITEMINFO_SELLPRICE)*.@amon1+getiteminfo(.@base2, ITEMINFO_SELLPRICE)*.@amon2;
+ .@xp=.@xp*2/3;
+ getexp .@xp, rand(1,10);
+
+ mes "";
+ mesn;
+ mesq l("Many thanks! Come back soon.");
+ } else {
+ speech S_FIRST_BLANK_LINE,// | S_LAST_NEXT,
+ l("You don't have enough material, sorry.");
+ }
+ return;
+ }
+
+L_Menu:
+ mesn;
+ mesq l("Hello there, I am @@, blacksmith of this fine city. What do you want to forge today?", .name$);
+ mes "";
+ select
+ l("I just want to trade."),
+ l("I want to forge One Handed Weapons!"),
+ l("I want to forge Shields!"),
+ l("I want to forge Quivers!"),
+ rif(getskilllv(TMW2_CRAFT), l("I would like to REMOVE an item options")),
+ rif(getskilllv(TMW2_CRAFT), l("I would like to change an item options")),
+ l("Nothing, thanks!");
+
+ mes "";
+ switch (@menu) {
+ case 1:
+ npcshopattach(.name$);
+ openshop;
+ closedialog;
+ close;
+ break;
+ case 2:
+ goto L_Weapon;
+ case 3:
+ goto L_Shield;
+ case 4:
+ goto L_Quiver;
+ case 5:
+ mesn;
+ mesc b(l("You are REMOVING an item option.")), 1;
+ mesq col(b(l("Are you sure?"))+" "+l("I don't know for what crazy reason you might want to do this, there is absolutely no benefit to this. I think you just selected the wrong option."), 1);
+ next;
+ if (askyesno() == ASK_NO) {
+ mes "";
+ mesc l("Wise choice."), 3;
+ mes "";
+ goto L_Menu;
+ }
+ mes "";
+ SmithTweakReset();
+ goto L_Menu;
+ case 6:
+ mesn;
+ mesq l("You'll be charged even if you fail, be warned.");
+ next;
+ if (!SmithTweakSystem()) {
+ mes "";
+ mesn;
+ mesq l("You can always try again another day!");
+ }
+ next;
+ goto L_Menu;
+ }
+ close;
+
+
+
+
+
+
+
+
+
+
+L_Weapon:
+ blacksmith_header();
+ select
+ l("Nothing, sorry!"),
+ l("Wooden Sword"),
+ l("Iron Bug Slayer"),
+ l("Iron Short Gladius"),
+ rif(countitem(BronzeGladius), l("Bronze Gladius")),
+ l("Iron Backsword");
+
+ switch (@menu) {
+ case 1:
+ goto L_Menu;
+ case 2:
+ blacksmith_create(WoodenLog, 20, RawLog, 5, WoodenSword, 450);
+ break;
+ case 3:
+ blacksmith_create(IronIngot, 8, Coal, 12, BugSlayer, 1000);
+ break;
+ case 4:
+ blacksmith_create(IronIngot, 12, Coal, 16, ShortGladius, 1550);
+ break;
+ case 5:
+ blacksmith_create(CopperIngot, 18, TinIngot, 2, RealBronzeGladius, 500);
+ break;
+ case 6:
+ blacksmith_create(IronIngot, 18, TinIngot, 4, Backsword, 4550);
+ break;
+ }
+ goto L_Weapon;
+
+
+
+
+
+
+L_Shield:
+ blacksmith_header();
+ select
+ l("Nothing, sorry!"),
+ l("Wooden Shield"),
+ l("Iron Blade Shield"),
+ rif(getq(NivalisQuest_Baktar) >= 3, l("Bronze Braknar Shield"));
+
+ switch (@menu) {
+ case 1:
+ goto L_Menu;
+ case 2:
+ blacksmith_create(WoodenLog, 40, LeatherPatch, 2, WoodenShield, 500);
+ break;
+ case 3:
+ blacksmith_create(IronIngot, 14, TinIngot, 4, BladeShield, 1500);
+ break;
+ case 4:
+ blacksmith_create(CopperIngot, 18, TinIngot, 2, BraknarShield, 8000);
+ break;
+ }
+ goto L_Shield;
+
+
+
+
+
+
+L_Quiver:
+ blacksmith_header();
+ select
+ l("Nothing, sorry!"),
+ l("Leather Quiver"),
+ l("Iron Quiver"),
+ l("Bronze Quiver"),
+ l("Platinum Quiver");
+
+ switch (@menu) {
+ case 1:
+ goto L_Menu;
+ case 2:
+ blacksmith_create(LeatherPatch, 35, CottonCloth, 5, LeatherQuiver, 2000);
+ break;
+ case 3:
+ blacksmith_create(IronIngot, 16, Coal, 21, IronQuiver, 3000);
+ break;
+ case 4:
+ blacksmith_create(CopperIngot, 27, TinIngot, 3, BronzeQuiver, 4000);
+ break;
+ case 5:
+ blacksmith_create(PlatinumIngot, 12, IridiumIngot, 5, PlatinumQuiver, 50000);
+ break;
+ }
+ goto L_Quiver;
+
+
+
+
+
+
+
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ setarray .WeaponsCraft, WoodenSword, BugSlayer, ShortGladius, RealBronzeGladius, Backsword;
+
+ sleep(SHOPWAIT);
+ tradertype(NST_MARKET);
+ sellitem Backsword, -1, 1;
+ sellitem ShortGladius, -1, 1;
+ sellitem BugSlayer, -1, 1;
+ sellitem WoodenSword, -1, 3;
+ sellitem Dagger, 600, 5;
+ sellitem SharpKnife, 450, 10;
+ end;
+
+OnClock0009:
+ restoreshopitem Backsword, 1;
+ restoreshopitem ShortGladius, 1;
+ restoreshopitem BugSlayer, 1;
+OnClock0603:
+OnClock1207:
+OnClock1801:
+ restoreshopitem Dagger, 600, 5;
+ restoreshopitem SharpKnife, 450, 10;
+ end;
+// Pay your taxes!
+OnBuyItem:
+ PurchaseTaxes("Hurns");
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes("Hurns");
+ end;
+}
diff --git a/npc/012-6/_import.txt b/npc/012-6/_import.txt
new file mode 100644
index 0000000..c690c77
--- /dev/null
+++ b/npc/012-6/_import.txt
@@ -0,0 +1,4 @@
+// Map 012-6: Hurnscald Hospital
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/012-6/_warps.txt",
+"npc/012-6/nurse.txt",
diff --git a/npc/012-6/_warps.txt b/npc/012-6/_warps.txt
new file mode 100644
index 0000000..6ee0897
--- /dev/null
+++ b/npc/012-6/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 012-6: Hurnscald Hospital warps
+012-6,58,69,0 warp #012-6_58_69 0,0,012-1,110,57
+012-6,64,64,0 warp #012-6_64_64 1,0,012-6,28,32
+012-6,28,33,0 warp #012-6_28_33 1,0,012-6,64,65
diff --git a/npc/012-6/nurse.txt b/npc/012-6/nurse.txt
new file mode 100644
index 0000000..8e8d9af
--- /dev/null
+++ b/npc/012-6/nurse.txt
@@ -0,0 +1,110 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Crazyfefe
+// Notes:
+// HurnscaldQuest_BloodDonor
+// 1 - Donation finished
+// 2 - Donation in progress
+// Structure
+// Status, Next Attempt Timer
+
+012-6,56,67,6 script Hurnscald's Nurse NPC_FEMALE,{
+ .@q2=getq2(HurnscaldQuest_BloodDonor);
+ if (.@q2 > gettimetick(2)) {
+ npctalk3 l("You can donate blood again in %s", FuzzyTime(.@q2));
+ Nurse(.name$, 10, 6);
+ close;
+ }
+ mesn;
+ mesq l("Hello there. Do you want to donate blood?");
+ mesc l("Donating blood will BLOCK YOUR MOVEMENT for three minutes.");
+ mesc l("Do not disconnect while waiting. You need 100% HP to donate.");
+
+L_BLCore:
+ mes "";
+ select
+ l("I need infirmary services."),
+ l("Info"),
+ rif(readparam(Hp) == readparam(MaxHp), l("Yes, please use my blood to save lifes."));
+ mes "";
+ switch (@menu) {
+ case 1:
+ Nurse(.name$, 10, 6);
+ close;
+ case 2:
+ mesn;
+ mesq l("Donating blood is a noble act, which allows to save lifes.");
+ next;
+ mesn;
+ mesq l("When people loses too much blood, they die, unless we can lend them somebody's else blood.");
+ next;
+ mesn;
+ mesq l("Not everyone can be a blood donor. For example, you must be healthy.");
+ mesq l("You can find more info about this on these links:");
+ mes "";
+ mes "[@@https://www.blood.co.uk/|https://www.blood.co.uk/@@]";
+ mes "[@@https://www.nhsbt.nhs.uk/what-we-do/blood-services/blood-donation/|https://www.nhsbt.nhs.uk/what-we-do/blood-services/blood-donation/@@]";
+ mes l("France: [@@https://dondesang.efs.sante.fr/|https://dondesang.efs.sante.fr/@@]");
+ mes l("Brazil: [@@http://www.prosangue.sp.gov.br/home/Default.html|http://www.prosangue.sp.gov.br/home/Default.html@@]");
+ next;
+ goto L_BLCore;
+ case 3:
+ mesn;
+ mesq l("Please don't sound like I was some sort of vampire or something...");
+ next;
+ mesn;
+ mesq l("This will take only a short while.");
+ next;
+ setq1 HurnscaldQuest_BloodDonor, 2;
+ percentheal -90, 0;
+ addtimer(180000, "Hurnscald's Nurse::OnDonationComplete");
+ slide 34, 29;
+ setpcblock(PCBLOCK_SOFT, true);
+ dispbottom l("Any movement/skill/item will be without effect until time is up.");
+ closedialog;
+ close;
+ }
+
+ close;
+
+OnDonationComplete:
+ if (checkpcblock() & PCBLOCK_ATTACK)
+ setpcblock(PCBLOCK_SOFT, false);
+ slide 58, 67;
+ percentheal 100, 0;
+ getexp readparam(Hp)*2, readparam(Hp)/100;
+ .@q3=getq3(HurnscaldQuest_BloodDonor)+1;
+ // Cooldown: 60*60*24*30: 30 days
+ setq HurnscaldQuest_BloodDonor, 1, gettimetick(2)+(2592000), .@q3;
+ if (BaseLevel >= 30)
+ getitem Bread, 1;
+ if (BaseLevel >= 50)
+ getitem ChocolateBar, 1;
+ if (BaseLevel >= 70)
+ getitem BottleOfWoodlandWater, 1;
+ mesn;
+ mesq l("Thanks for donating blood. You can donate again in 30 days.");
+ mesq l("You should eat and drink water after donating blood. Thanks for saving lifes!");
+ if (.@q3 == 5) {
+ getitem Slippers, 1;
+ next;
+ mesn;
+ mesq l("Now you must feel homelike already here... take these slippers so your feet stays warm!");
+ }
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ //setunitdata(.@npcId, UDT_HEADTOP, BrimmedFeatherHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, MiniSkirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, ShortTankTop);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 12);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 16);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+
+}
+
diff --git a/npc/012-7/_import.txt b/npc/012-7/_import.txt
new file mode 100644
index 0000000..aaf345c
--- /dev/null
+++ b/npc/012-7/_import.txt
@@ -0,0 +1,7 @@
+// Map 012-7: Town Hall
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/012-7/_warps.txt",
+"npc/012-7/airlia.txt",
+"npc/012-7/celestia.txt",
+"npc/012-7/politics.txt",
+"npc/012-7/slots.txt",
diff --git a/npc/012-7/_warps.txt b/npc/012-7/_warps.txt
new file mode 100644
index 0000000..7cc2e52
--- /dev/null
+++ b/npc/012-7/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 012-7: Town Hall warps
+012-7,35,65,0 warp #012-7_35_65 0,0,012-1,102,70
diff --git a/npc/012-7/airlia.txt b/npc/012-7/airlia.txt
new file mode 100644
index 0000000..9b0eaf5
--- /dev/null
+++ b/npc/012-7/airlia.txt
@@ -0,0 +1,182 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Personality Traits:
+// Bitter-sweet, resentful, lovely, cute
+// Description:
+// Former Town's Mayor Daughter.
+// Have a grudge against current mayor.
+// Her father was banished from the town after the famine and the Monster Attack (Siege)
+// TODO: Remember to use disablenpc() and enablenpc() to keep consistency with Hurns Liberation Day
+// A new mayor was elected, which was her family political enemy. She misses her father,
+// which she doesn't knows where he is because the banishment. Main storyline unlocks
+// this side quest, but the main storyline keeps going forward regardless of that.
+// NOTE: Here, 'main storyline' is character story, do not mistake with world main storyline.
+
+012-7,52,58,0 script Airlia NPC_ELF_F,{
+ .@q1=getq(HurnscaldQuest_Farmers);
+ .@n = getq(General_Narrator);
+ if (strcharinfo(0) == $MOST_HEROIC$) npctalk3 l("Ah, if it isn't @@? You're the talk of the town!", $MOST_HEROIC$);
+ if (.@q1 == 4) goto L_Letter;
+ if (.@n >= 3 && .@n < 6) goto L_Mayor;
+ if (.@n == 9) goto L_Nivalis;
+ mesn;
+ mesq l("Oh, a visitor. Welcome to the city hall. Please, enjoy your stay.");
+ close;
+
+// Hurnscald Farmers Quest
+L_Letter:
+ mesn;
+ mesq l("You're the savior of Hurnscald crops. Half from the world would die from famine, weren't for you.");
+ next;
+ mesn;
+ mesq l("We're currently the biggest exporter of food. We may be a small town, but Tulimshar and Halinarzo can barely hold themselves.");
+ next;
+ mesn;
+ mesq l("Here, take this @@. This is the proof that you've helped Hurnscald greatly. This shall open new opportunities to you.", getitemlink(CottonBoots));
+ inventoryplace CottonBoots, 1;
+ setq HurnscaldQuest_Farmers, 5;
+ getitem CottonBoots, 1;
+ getexp 0, 1000;
+ close;
+
+// Main Storyline & Airlia Quest
+L_Mayor:
+ .@q=getq2(General_Narrator);
+
+ // 3 - Quest Not Assigned
+ if (.@n == 3)
+ goto L_In1;
+
+ // 4 - Airlia doesn't wants to talk about </3
+ if (.@n == 4) {
+ if (.@q == 2) goto L_In3;
+ if (.@q == 1) goto L_In2;
+ }
+
+ // 5 - Access to Rakinorf was granted
+ if (.@n == 5)
+ goto L_In4;
+
+ mesc l("Script Error"), 1;
+ close;
+
+L_In1:
+ mesn strcharinfo(0);
+ mesq l("Hello! Could I see the Mayor?");
+ next;
+ mesn;
+ mesq l("Ah... The mayor. The current mayor. Why do you even want to talk to him, anyway?");
+ next;
+ mesn;
+ mesq l("Anyway, he is not available at the moment. Try your luck again later.");
+ setq General_Narrator, 4, 1;
+ close;
+
+L_In2:
+ mesn strcharinfo(0);
+ mesq l("Hello! Could I see the Mayor?");
+ next;
+ mesn;
+ mesq l("I already told you he is out! Why do you even want to talk to him?! Haven't I told you to... to... leave me alone!?");
+ setq2 General_Narrator, 2;
+ close;
+
+L_In3:
+ mesn strcharinfo(0);
+ mesq l("Hello! Could I see the Mayor?");
+ next;
+ mesn;
+ mes "...";
+ next;
+ mes "... ...";
+ next;
+ mes "... ... ...";
+ next;
+ mesn;
+ mesq l("Fine.");
+ next;
+ mesn;
+ mesq l("The mayor, Rakinorf, is probably on the Inn upstairs, drinking himself to death.");
+ next;
+ mesn;
+ mesq l("Usually only sponsors are allowed up there, but I'll make an exception today. Go meet the mayor.");
+ setq General_Narrator, 5, 0;
+ close;
+
+L_In4:
+ if (.@q == 5)
+ goto L_In5;
+ mesn;
+ mesq l("The mayor, Rakinorf, is probably on the Inn upstairs, drinking himself to death.");
+ next;
+ mesn;
+ mesq l("Usually only sponsors are allowed up there, but I'll make an exception today. Go meet the mayor.");
+ close;
+
+L_In5:
+ mesn;
+ mesq l("Go away.");
+ next;
+ mesn strcharinfo(0);
+ mesq l("I can't. Rakinorf told me I should bring this matter to you instead.");
+ next;
+ mesn;
+ mesq l("That lazy mayor... He can't do anything on his own!! Sure, what do you need?");
+ next;
+ mesn strcharinfo(0);
+ mesc l("You explain to Airlia about you wanting to travel to Halinarzo to find clues.");
+ next;
+ mesn;
+ mesq l("What, only that? Well, this is actually simpler than it looks.");
+ next;
+ mesn;
+ mesq l("Basically, there's no sea route to Halinarzo. You must head southeast of Tulimshar.");
+ next;
+ mesn;
+ mesq l("Halinarzo lies past the Canyon, but the @@ there are level @@.", getmonsterlink(Snake), strmobinfo(3, Snake));
+ next;
+ mesn;
+ mesq l("So, you would die a few thousands of times before ever reaching Halinarzo.");
+ next;
+ mesn;
+ mesq l("But with a @@, when you are about to die, you can warp back to Soul Menhir and bypass death penalty.", getitemlink(ReturnPotion));
+ next;
+ mesn;
+ mesq l("That's a super rare potion, and it expires after some time. Take care!");
+ setq2 General_Narrator, 6;
+ close;
+
+L_Nivalis:
+ // Supposed to send player to talk with another NPC on Nivalis about World's Edge
+ mesn;
+ mesq l("Going to World Edge? Never heard of.");
+ next;
+ mesn;
+ mesq l("My father probably knew... Well, you better ask Blue Sage then.");
+ next;
+ mesn;
+ mesq l("The Blue Sage is Nivalis Mayor and very knowledgeable on stuff. Lemme write a letter of recommendation for you and sign it in Rakinorf's stead...");
+ next;
+ mesc b(l(".:: Main Quest 4-1 ::.")), 3;
+ mesc l("* Meet the Blue Sage"), 9;
+ setq General_Narrator, 10, 0;
+ next;
+ mesn;
+ mesq l("There you go. I wish you good luck. @@", col(l("*grumpf*"), 9));
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, Earmuffs);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, RedknightArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, Boots);
+ setunitdata(.@npcId, UDT_WEAPON, CottonSkirt);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 20);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 5);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/012-7/celestia.txt b/npc/012-7/celestia.txt
new file mode 100644
index 0000000..b49b52a
--- /dev/null
+++ b/npc/012-7/celestia.txt
@@ -0,0 +1,396 @@
+// TMW2 Scripts
+// Author:
+// gumi (TMW Org. Team)
+// Jesusalva
+// Description:
+// Celestia Yeti King's quest. Designed so if you're with 4 players, all 4 can
+// summon the Yeti King, helping you while doing the quest by themselves.
+
+
+012-7,35,49,0 script Celestia NPC_ELF_F,{
+ .@q1=getq(HurnscaldQuest_Celestia);
+ .@q2=getq(HurnscaldQuest_TeaParty);
+ mesn;
+ mesq lg("Hello, darling. I was thinking in doing a tea party.");
+ if (.@q1)
+ mesc l("You notice that even if she tries to calm down everyone and serve tea, she's pretty distressed with the Monster King herself.");
+ next;
+ mesn strcharinfo(0);
+ menu
+ l("Sorry, I'm more of a coffee person."), L_Coffee,
+ l("What an amazing crown you have! How do I get it?!"), L_Crown,
+ rif(getvaultid() && get_nibble(##01_TMWQUEST, 0) == 2, l("Actually, have you ever heard of Yeti's kidnapping little girls?")), L_VaultQuest,
+ rif(.@q2 == 0 && BaseLevel >= 35, l("Tea party! I want to participate.")), L_TeaQuest,
+ rif(.@q2 == 1, l("I have some sweeties for the Tea Party!")), L_TeaCheck,
+ rif(.@q2 >= 2, l("Tea party! I want to participate.")), L_TeaParty,
+ rif(.@q2 >= 2, l("Do you sell tea?")), L_TeaShop,
+ rif(.@q1 == 0, l("There are Monster Attacks every month, how do you have time for tea parties?!")), L_MainQuest,
+ rif(.@q1 && CINDY_PLAYER_STRUCK && getq(NivalisQuest_Well) < 2, l("I found switches which only a Yeti may flip...")), L_OtherQuest,
+ rif(.@q1 >= 6, l("I want to try convincing the Yeti King again.")), L_MainQuestCore;
+
+L_Coffee:
+ mes "";
+ mesn;
+ mesq l("Hmpf! Coffee is an heresy!");
+ // Except I love coffee ~ Jesusalva
+ close;
+
+L_Crown:
+ mes "";
+ mesn;
+ mesq l("Ooh, this nice shiny thing? It was an event.");
+ next;
+ mesn;
+ mesq l("Saulc is rich, you know. He challenged a group of thirty NPCs to defeat him, whoever won would get this @@.", getitemlink(MurdererCrown));
+ next;
+ mesn;
+ mesq l("Well, Andrei Sakar said it was a waste a time, and the other NPCs started fighting against themselves, so I won.");
+ next;
+ mesn;
+ if (BaseLevel < 100)
+ mesq l("...Besides, I have this nice @@ with me. I'm not low-level like you.", getitemlink(BansheeBow));
+ else
+ mesq l("...Besides, I have this nice @@ with me. It's a reliable bow.", getitemlink(BansheeBow));
+ close;
+
+L_MainQuest:
+ mes "";
+ mesn;
+ mesc l("Celestia eyes sparkles.");
+ mesq l("Someone who have clear priorities appeared! I'm glad!");
+ next;
+ mesn;
+ mesq l("You see, most people think that all monsters are controlled by the Monster King, but that's not quite right.");
+ next;
+ mesn;
+ mesq l("Some are just living their own lives. In special, I've spent part of my life studying the Yeti Society.");
+ next;
+ mesn;
+ mesq l("And guess what? They have a King of their own!");
+ mesq l("If we could convince them to distract the Monster King, we could have chances to do a counter-attack!");
+ next;
+ mesn;
+ mesq l("But that's not so easy... I already sent many people, and even come myself, but he refuses to help.");
+ next;
+
+L_MainQuestCore:
+ mesn;
+ mesq l("Maybe you could convince him. There's a summoning circle on Tulimshar Sewers.");
+ next;
+ mesn;
+ mesq l("Go very close to it and, speak the four four-letters magic words, pour some @@, and he'll appear to you.", getitemlink(EverburnPowder));
+ next;
+ mesn;
+ mesq l("Don't go alone, though! He would not listen to me, it is not you alone he'll pay attention. You will lose reagents!");
+ next;
+ mesc l("Accept quest?");
+ if (askyesno() == ASK_YES) {
+ setq HurnscaldQuest_Celestia, 1;
+ @YetiKing_Challenger=0;
+ mes "";
+ mesn;
+ mesq l("Good, good. The chant is ##B EMOC OTEM ITEY GNIK ##b. Good luck!");
+ }
+ close;
+
+L_TeaQuest:
+ mes "";
+ mesn;
+ mesq l("Well, the reason why I'm not doing it already is because, you see, I lack cookies.");
+ if (countitem(DeliciousCookie)) {
+ next;
+ mesn;
+ mesq l("And anyone like you probably already knows that, well... Cookies are life!");
+ }
+ next;
+ mesn;
+ mesq l("But I can still make it without cookies, as long that you bring me some other sweeties.");
+ next;
+ mesn l("Item List");
+ mes l("@@/50 @@", countitem(Acorn), getitemlink(Acorn));
+ mes l("@@/20 @@", countitem(ChocolateMouboo), getitemlink(ChocolateMouboo));
+ mes l("@@/40 @@", countitem(ChocolateBar), getitemlink(ChocolateBar));
+ mes l("@@/15 @@", countitem(Candy), getitemlink(Candy));
+ mes l("@@/15 @@", countitem(OrangeCupcake), getitemlink(OrangeCupcake));
+ mes l("@@/10 @@", countitem(CherryCake), getitemlink(CherryCake));
+ mes l("@@/5 @@", countitem(GingerBreadMan), getitemlink(GingerBreadMan));
+ mes l("@@/2 @@", countitem(ChocolateBiscuit), getitemlink(ChocolateBiscuit));
+ /* We can't ask for THAT many!
+ mes l("@@/20 @@", countitem(ApanaCake), getitemlink(ApanaCake));
+ mes l("@@/20 @@", countitem(Mashmallow), getitemlink(Mashmallow));
+ mes l("@@/20 @@", countitem(TonoriDelight), getitemlink(TonoriDelight));
+ mes l("@@/20 @@", countitem(EasterEgg), getitemlink(EasterEgg));
+ mes l("@@/20 @@", countitem(ChocolateBunny), getitemlink(ChocolateBunny));
+ mes l("@@/20 @@", countitem(FrozenYetiTear), getitemlink(FrozenYetiTear));
+ mes l("@@/20 @@", countitem(DeliciousCookie), getitemlink(DeliciousCookie));
+ */
+ setq HurnscaldQuest_TeaParty, 1;
+ close;
+
+L_TeaCheck:
+ mesn l("Item List");
+ mes l("@@/50 @@", countitem(Acorn), getitemlink(Acorn));
+ mes l("@@/20 @@", countitem(ChocolateMouboo), getitemlink(ChocolateMouboo));
+ mes l("@@/40 @@", countitem(ChocolateBar), getitemlink(ChocolateBar));
+ mes l("@@/15 @@", countitem(Candy), getitemlink(Candy));
+ mes l("@@/15 @@", countitem(OrangeCupcake), getitemlink(OrangeCupcake));
+ mes l("@@/10 @@", countitem(CherryCake), getitemlink(CherryCake));
+ mes l("@@/5 @@", countitem(GingerBreadMan), getitemlink(GingerBreadMan));
+ mes l("@@/2 @@", countitem(ChocolateBiscuit), getitemlink(ChocolateBiscuit));
+ next;
+ select
+ l("I will be back shortly."),
+ l("I have all.");
+ mes "";
+
+ if (@menu == 1) {
+ closedialog;
+ goodbye;
+ close;
+ }
+ if (countitem(Acorn) < 50 ||
+ countitem(ChocolateMouboo) < 20 ||
+ countitem(ChocolateBar) < 40 ||
+ countitem(Candy) < 15 ||
+ countitem(OrangeCupcake) < 15 ||
+ countitem(CherryCake) < 10 ||
+ countitem(GingerBreadMan) < 5 ||
+ countitem(ChocolateBiscuit) < 2)
+ goto L_Lying;
+
+ inventoryplace CelestiaTea, 3;
+
+ delitem Acorn, 50;
+ delitem ChocolateMouboo, 20;
+ delitem ChocolateBar, 40;
+ delitem Candy, 15;
+ delitem OrangeCupcake, 15;
+ delitem CherryCake, 10;
+ delitem GingerBreadMan, 5;
+ delitem ChocolateBiscuit, 2;
+
+ getexp rand(13500, 14500), 0; // level exp cap: 15,775
+ getitem CelestiaTea, 3;
+ setq HurnscaldQuest_TeaParty, 2, gettimetick(2);
+
+ mes "";
+ mesn;
+ mesq l("Many thanks! I'll arrange the table.");
+ close;
+
+L_Lying:
+ mesn;
+ mesq l("Wha- How dare you, to lie to me!");
+ // She'll try to drain all your MP. If you're not MP Full, you'll die. And will have EXP penalty, of course.
+ if (Sp == MaxSp)
+ percentheal 0, -100;
+ else
+ die();
+ close;
+
+// begin: Gumi Script
+L_TeaParty:
+ .@q2=getq2(HurnscaldQuest_TeaParty);
+ mes "";
+ mesn;
+ mesq l("Wonderful, I am happy to have you over. Lets get things started with some puerh tea.");
+ next;
+ mesc l("Celestia hands you a cup filled with some type of tea that is unlike anything you have seen before.");
+ mesc l("It has a very dark color and an unusual aroma reminiscent of a moist forest.");
+ next;
+ mesc l("For a moment you wonder if Celestia might have gotten confused and tossed in a handful of forest dirt into the teapot.");
+ mesc l("You ponder whether or not it would be wise to drink it.");
+ menu
+ l("Uh are you sure this is fit to drink?"), L_QuestionTea,
+ l("(Drink the tea, hoping for the best)"), L_DrinkTea;
+
+L_DrinkTea:
+ if (.@q2 < gettimetick(2)) {
+ percentheal 0, 100;
+ setq2 HurnscaldQuest_TeaParty, gettimetick(2)+180;
+ }
+ mesc l("To your pleasant surprise the tea is actually quite good.");
+ next;
+ mesc l("Despite its initial dubious fragrance, the tea comes off as very smooth and mellow with a bit of natural sweetness and a touch of an earthy forest like flavor, but in a very good way.");
+ next;
+ mesc l("Clearly an exotic tea, with a refined flavor fit for a refined woman such as Celestia.");
+ close;
+
+L_QuestionTea:
+ mesq l("Yes, did you really think I was some kind of monster that would try to poison you in my own house?");
+ mes l("##a(it would be way too messy anyway)##0");
+ next;
+ mesc l("Celestia then picks up the cup of tea and drinks it in front of you to demonstrate that it is not only harmless but also quite delectable.");
+ if (.@q2 < gettimetick(2)) {
+ getitem CelestiaTea, 1;
+ setq2 HurnscaldQuest_TeaParty, gettimetick(2)+(60*60*2);
+ }
+ close;
+// end: Gumi Script
+
+L_TeaShop:
+ mesn;
+ mesq l("Well, my tea is just too good.");
+ next;
+ closeclientdialog;
+ npcshopattach(.name$);
+ shop .name$;
+ close;
+
+L_OtherQuest:
+ mesn strcharinfo(0);
+ mesq l("Basically, I need to find a friendly Yeti. Do they exist?");
+ next;
+ mesn;
+ mesq l("Of course. The adviser of the Yeti King, for instance, is very friendly.");
+ next;
+ mesn;
+ mesq l("But he have lots of enemies... It would not surprise me to find him struck somewhere.");
+ next;
+ mesn;
+ mesq l("He usually guards a central position on the caves... He could help you, if he is there.");
+ next;
+ mesn;
+ mesq l("Otherwise, his enemies might have bested him, but I doubt any Yeti would dare to kill him.");
+ next;
+ mesn;
+ mesq l("Wasn't there something on the Holy Bible? About a young boy trapped by his brothers somewhere because envy?");
+ mesc l("If you don't want to look at the Bible, you can try to solve the following riddle:");
+ mesc l("\"When you're thirsty, you may look for me. I'm often in desert areas, but this time, the winter has come.\""), 3;
+ CINDY_PLAYER_STRUCK=false;
+ next;
+ clear;
+ mesn l("Quest Tip");
+ mesc l("\"When you're thristy, you may look for me. I'm often in desert areas, but this time, the winter has come.\""), 3;
+ close;
+
+// Mirror Lake
+L_VaultQuest:
+ if (##02_MLWORLD & MLP_TMW_CELESTIA) {
+ mesn;
+ mesq l("Yes, try to summon the Yeti King in Tulimshar Sewers. Make sure you have someone else with you to help.");
+ close;
+ }
+ mesn;
+ mesq l("While I don't think the Yeti King would ever do or endorse that, yes, I've heard this happens.");
+ next;
+ select
+ l("Wait, Yeti's have a king?"),
+ l("I thought they ate little girls."),
+ l("Haha, as if I believe you.");
+ mes "";
+ if (@menu == 3) close;
+ if (@menu == 2) {
+ mesn;
+ mesq l("What? Don't be ridiculous. Not even the Monster King does that! I think.");
+ next;
+ mesn;
+ mesq l("In other words, I never heard of a Yeti eating a kid before. They prefer %s.", getitemlink(MoubooSteak));
+ next;
+ } if (@menu == 1) {
+ // Player already know that ¬.¬
+ if (getq(HurnscaldQuest_Celestia) != 0) {
+ mesn;
+ mesq l("Are you trying to provoke me?");
+ close;
+ }
+ mesn;
+ mesq l("You see, most people think that all monsters are controlled by the Monster King, but that's not quite right.");
+ next;
+ mesn;
+ mesq l("Some are just living their own lives. In special, I've spent part of my life studying the Yeti Society.");
+ next;
+ mesn;
+ mesq l("And guess what? They have a King of their own!");
+ next;
+ }
+ mesn;
+ mesq l("Anyway, why do you ask? Surely not to waste my time.");
+ next;
+ select
+ l("[Explain the situation]"),
+ l("[Make up a lie]");
+ mes "";
+ mesn;
+ mesq l("...Okay, I asked you to explain, and you ended up wasting my time instead. %%n");
+ next;
+ mesn;
+ mesq l("Listen, I was trying to get the Yeti King to help me to fight the Monster King. If you want to go there and do it, be my guest; Maybe they'll even help you with whatever your problem is.");
+ if (countitem(MirrorLakeArmor))
+ mesc l("PS. This char will be reset on logout.");
+ next;
+ select
+ l("Sure, I'll help."),
+ l("No way!");
+ if (@menu == 2) close;
+ mes "";
+ mesn;
+ mesq l("Alright. Listen, you'll need %s to summon it, and you cannot be alone. I only have so much of that to share, so be careful to don't use all.", getitemlink(EverburnPowder));
+ next;
+ if (countitem(MirrorLakeArmor)) {
+ mesn;
+ mesq l("Your weird robes; They seem like they'll deny your damage, so you definitely want to summon multiple people to help. Try the #world tab.");
+ next;
+ }
+ mesn;
+ mesq l("There's a summoning circle on Tulimshar Sewers. You can reach either by boat, if you have the money - I'll lend you some; Or by the long way.");
+ next;
+ mesn;
+ mesq l("Go very close to it and, speak the four four-letters magic words, pour some @@, and he'll appear to you.", getitemlink(EverburnPowder));
+ next;
+ mesn;
+ mesq l("Don't go alone, though! He would not listen to me, it is not you alone he'll pay attention. You will lose reagents!");
+ next;
+ ##02_MLWORLD=##02_MLWORLD|MLP_TMW_CELESTIA;
+ Zeny+=410;
+ getitembound(EverburnPowder, 5, 4);
+ setq HurnscaldQuest_Celestia, 1;
+ @YetiKing_Challenger=0;
+ mesq l("The chant is ##B EMOC OTEM ITEY GNIK ##b. Good luck!");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, MurdererCrown);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, ValentineDress);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 19);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 10);
+
+ npcsit;
+
+ .sex = G_FEMALE;
+ .distance = 5;
+
+ tradertype(NST_MARKET);
+ sellitem CelestiaTea, -1, 1;
+ sellitem YerbaMate, -1, 2;
+ sellitem JasmineTea, -1, 3;
+ sellitem OolongTea, -1, 4;
+ sellitem SpearmintTea, -1, 5;
+ sellitem ChamomileTea, -1, 10;
+ end;
+
+OnClock0002:
+ restoreshopitem CelestiaTea, 1;
+ restoreshopitem YerbaMate, 2;
+ restoreshopitem JasmineTea, 3;
+ restoreshopitem OolongTea, 4;
+ restoreshopitem SpearmintTea, 5;
+ restoreshopitem ChamomileTea, 10;
+ end;
+
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+
+}
diff --git a/npc/012-7/politics.txt b/npc/012-7/politics.txt
new file mode 100644
index 0000000..7d9a0bb
--- /dev/null
+++ b/npc/012-7/politics.txt
@@ -0,0 +1,58 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Town Administrator file, see npc/functions/politics.txt
+// User variables:
+// #POL_APPLYWEEK = Week of last application
+// #POL_VOTEDAY = Day of last vote
+
+012-7,51,60,0 script Hurnscald Office NPC_POLITICS,{
+do
+{
+ mesc ".:: "+l("Hurnscald Townhall")+" ::.", 2;
+ mesc l("Current Town Administrator: ")+$HURNS_MAYOR$, 3;
+ POL_TownInfo("HURNS");
+ mesc l("Application fee: @@ GP", .applytax);
+ next;
+ select
+ l("Information"),
+ rif(strcharinfo(0) == $HURNS_MAYOR$, l("Manage Town")),
+ rif(#POL_APPLYWEEK != gettimeparam(GETTIME_WEEKDAY), l("Apply for the office!")),
+ l("View Candidate List and cast a vote"),
+ l("[Quit]");
+
+ switch (@menu) {
+ case 1:
+ POL_Information();
+ break;
+ case 2:
+ POL_Manage("HURNS");
+ break;
+ case 3:
+ // array_push might be too sensible for getd/setd
+ if (Zeny < .applytax)
+ break;
+ Zeny-=.applytax;
+ $HURNS_MONEY+=.applytax;
+ #POL_APPLYWEEK=gettimeparam(GETTIME_WEEKDAY);
+ array_push($HURNS_CANDIDATE$, strcharinfo(0));
+ array_push($HURNS_VOTES, 0);
+ mesc l("Application successful!"), 3;
+ next;
+ break;
+ case 4:
+ POL_Candidate("HURNS");
+ break;
+ default:
+ close;
+ }
+} while (true);
+end;
+
+OnInit:
+ .applytax=100;
+ .distance=4;
+ end;
+}
+
diff --git a/npc/012-7/slots.txt b/npc/012-7/slots.txt
new file mode 100644
index 0000000..3a37c0a
--- /dev/null
+++ b/npc/012-7/slots.txt
@@ -0,0 +1,97 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva, Saulc
+// Description:
+// Slot Machine for bets in Hurnscald
+// Rare Reward: Paper Bag
+
+012-7,53,31,0 script Slot Machine#012-7a NPC_SLOTMACHINE,{
+ function symbol {
+ switch (getarg(0)) {
+ case 1:
+ mesn "%%A";
+ break;
+ case 2:
+ mesn "%%B";
+ break;
+ case 3:
+ mesn "%%C";
+ break;
+ case 4:
+ mesn "%%D";
+ break;
+ case 5:
+ mesn "%%E";
+ break;
+ case 6:
+ mesn "%%F";
+ break;
+ case 7:
+ mesn "7";
+ break;
+ case 8:
+ mesn "%%8";
+ break;
+ default:
+ mesn "%%@";
+ break;
+ }
+ return;
+ }
+
+L_Menu:
+ mesn;
+ mesc l("Spin three symbols, and jackpot great rewards!");
+ mesc l("Just one coin for spin.");
+ next;
+ menu
+ rif(countitem(CasinoCoins) >= 1, l("Spin!")), L_Spin,
+ l("Prizes"), L_Info,
+ l("Leave"), -;
+ close;
+
+L_Info:
+ mes "";
+ mesc l("Prizes:");
+ mes l("##9 777: @@.", getitemlink(PaperBag));
+ mesc l("Three equal: @@.", "20 casino coins");
+ mesc l("Two equal: 1 casino coin.");
+ next;
+ goto L_Menu;
+
+
+L_Spin:
+ mesc l("Spinning...");
+ next;
+ delitem CasinoCoins, 1;
+ .@a=rand2(1,8);
+ .@b=rand2(1,8);
+ .@c=rand2(1,8);
+ symbol(.@a);
+ symbol(.@b);
+ symbol(.@c);
+ next;
+ mesn;
+ if (.@a == .@b && .@a == .@c && .@a == 7) {
+ getitem PaperBag, 1;
+ mesc l("Jackpot! You got the Paper Bag!"), 3;
+ } else if (.@a == .@b && .@a == .@c) {
+ getitem CasinoCoins, 20;
+ mesc l("Congrats! A pity it was not 777..."), 3;
+ } else if (.@a == .@b || .@a == .@c || .@b == .@c) {
+ getitem CasinoCoins, 1;
+ mesc l("Lucky! You got the coin back!"), 3;
+ } else {
+ mesc l("It wasn't this time..."), 3;
+ }
+ next;
+ goto L_Menu;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+
+
+}
+
diff --git a/npc/012-8/_import.txt b/npc/012-8/_import.txt
new file mode 100644
index 0000000..615e3e7
--- /dev/null
+++ b/npc/012-8/_import.txt
@@ -0,0 +1,5 @@
+// Map 012-8: Real Estate
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/012-8/_warps.txt",
+"npc/012-8/doorbell.txt",
+"npc/012-8/utils.txt",
diff --git a/npc/012-8/_warps.txt b/npc/012-8/_warps.txt
new file mode 100644
index 0000000..e431d2b
--- /dev/null
+++ b/npc/012-8/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 012-8: Real Estate warps
+012-8,34,34,0 warp #012-8_34_34 1,0,012-1,95,70
diff --git a/npc/012-8/doorbell.txt b/npc/012-8/doorbell.txt
new file mode 100644
index 0000000..e9f5877
--- /dev/null
+++ b/npc/012-8/doorbell.txt
@@ -0,0 +1,335 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Real Estate System
+// Doorbell allows you to purchase mobilia, besides loading it when server starts
+// Each layer can have 32 different furniture pieces because bitmask limit.
+// This file is custom to every room
+
+// ID: 1
+// $ESTATE_OWNER[.id] → Account ID owner of the Real Estate
+// $ESTATE_OWNERNAME$[.id] → Human readable name of Real Estate owner
+// $ESTATE_RENTTIME[.id] → When the rent will expire
+// $ESTATE_MOBILIA_2[.id] → Bitmask of mobilia currently purchased on Monster Collision (6) (Use on walls only)
+// $ESTATE_MOBILIA_4[.id] → Bitmask of mobilia currently purchased on Air Collision (2)
+// $ESTATE_MOBILIA_8[.id] → Bitmask of mobilia currently purchased on Water Collision (3)
+// $ESTATE_MOBILIA_32[.id] → Bitmask of mobilia currently purchased on Yellow Collision (4)
+// $ESTATE_MOBILIA_64[.id] → Bitmask of mobilia currently purchased on Normal Collision (1)
+// $ESTATE_MOBILIA_128[.id] → Bitmask of mobilia currently purchased on Player Collision (5)
+// $ESTATE_PASSWORD$[.id] → Password to enter the estate. If it is "", then no password required
+// Note: GMs and Administrators can always use super password "mouboo" to enter a locked estate
+// $ESTATE_DOORBELL[.id] → If doorbell is disabled (enabled by default)
+
+// REAL_ESTATE_CREDITS → Credits equivalent to GP the player have. Will be used first.
+
+// The sign is the main controller
+012-8,32,34,0 script Doorbell#RES_0128 NPC_NO_SPRITE,{
+ // Name, Layer, Price, ID, x1, y1, x2, y2,
+ function create_object {
+ array_push(.nams$, getarg(0));
+ array_push(.layer, getarg(1));
+ array_push(.price, getarg(2));
+ array_push(.objid, getarg(3));
+ array_push(.x1, getarg(4));
+ array_push(.y1, getarg(5));
+ array_push(.x2, getarg(6));
+ array_push(.y2, getarg(7));
+ return;
+ }
+
+ if ($ESTATE_OWNER[.id] == getcharid(3))
+ goto L_Manage;
+
+ mesc l("This estate currently belongs to @@.", $ESTATE_OWNERNAME$[.id]);
+ close;
+
+// When using setcells() a player could get trapped!
+// This label will slide the player back to entrance, which should be a safe spot
+OnSlide:
+ slide 33, 33;
+ end;
+
+// If someone press the doorbell from outside and doorbell is enabled
+OnDoorbell:
+ if ($ESTATE_DOORBELL[.id])
+ end;
+
+ if (.dpost < gettimetick(2)) {
+ npctalk (strcharinfo(0)+" is pressing the doorbell."); // We actually don't want l()
+ }
+ .dpost=gettimetick(2)+.delay;
+ end;
+
+// Managment Menu
+L_Manage:
+ mesc l("@@'s Estate", strcharinfo(0));
+ mesc ".:: "+ l("Managment Menu") + " ::.";
+
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+ mesc l("Rent time available: @@", FuzzyTime($ESTATE_RENTTIME[.id]));
+ mesc l("Total Credits and GP: @@", format_number(.@gp));
+ mes "";
+ mesc l("Room password: @@", $ESTATE_PASSWORD$[.id]);
+ if ($ESTATE_DOORBELL[.id])
+ mesc l("Doorbell is disabled"), 1;
+
+ next;
+ select
+ l("Leave"),
+ l("Enable/disable doorbell"),
+ l("Manage Furniture"),
+ l("Set room password");
+
+ switch (@menu) {
+ case 1:
+ close;
+ break;
+ case 2:
+ $ESTATE_DOORBELL[.id]=!$ESTATE_DOORBELL[.id];
+ break;
+ case 3:
+ goto L_Furniture;
+ break;
+ case 4:
+ mesc l("(Leave the password blank to disable)");
+ mesc l("Current Room password: @@", $ESTATE_PASSWORD$[.id]);
+ mesc l("Input new password: ");
+ input .@password$;
+ mesc l("Repeat new password: ");
+ input .@passwordc$;
+ if (.@password$ == .@passwordc$) {
+ $ESTATE_PASSWORD$[.id]=.@password$;
+ mesc l("Password changed with success!"), 3;
+ } else {
+ mesc l("The passwords doesn't match."), 1;
+ }
+ break;
+ }
+ goto L_Manage;
+
+L_Furniture:
+ mesc l("@@'s Estate", strcharinfo(0));
+ mesc ".:: "+ l("Furniture Menu") + " ::.";
+
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+ mesc l("Total Credits and GP: @@", format_number(.@gp));
+
+ next;
+ select
+ l("Finish"),
+ l("Manage Beds"),
+ l("Manage Utilities"),
+ l("Manage Luxury furniture"),
+ l("Manage Decoration"),
+ l("Manage Chairs"),
+ l("Manage Paintings");
+ mes "";
+
+ switch (@menu) {
+ case 1:
+ goto L_Manage;
+ break;
+ case 2:
+ mesc ".:: "+ l("Beds") + " ::.", 3;
+ @re_col=RES_OBJECTS;
+ break;
+ case 3:
+ mesc ".:: "+ l("Utilities") + " ::.", 3;
+ @re_col=RES_UTILITIES;
+ break;
+ case 4:
+ mesc ".:: "+ l("Luxury furniture") + " ::.", 3;
+ @re_col=RES_LUXURY;
+ break;
+ case 5:
+ mesc ".:: "+ l("Decoration") + " ::.", 3;
+ @re_col=RES_DECORATION;
+ break;
+ case 6:
+ mesc ".:: "+ l("Chairs") + " ::.", 3;
+ @re_col=RES_SITTABLE;
+ break;
+ case 7:
+ mesc ".:: "+ l("Paintings") + " ::.", 3;
+ @re_col=RES_WALLDECORATION;
+ break;
+ }
+
+// L_ContinuousLoop
+// Requires the following variables:
+// @re_col
+// Target Collision ID
+L_ContinuousLoop:
+ deletearray @valid_ids;
+
+ // Create a second array (@valid_ids) with the ID of objects within @re_col group
+ for (.@i=0; .@i < getarraysize(.layer); .@i++) {
+ //debugmes "Found object ID %d named %s on layer %s coords (%d,%d) - Looking for layer %d", .@i, .nams$[.@i], .layer[.@i], .x1[.@i], .y1[.@i], @re_col;
+ if (.layer[.@i] == @re_col)
+ array_push(@valid_ids, .@i);
+ }
+ //debugmes "Found %d valid objects", getarraysize(@valid_ids);
+
+ // Create the menu with @valid_ids - Check if you already have the item to decide if you're buying or selling
+ @menuentries$="Finish:";
+ for (.@j=0; .@j < getarraysize(@valid_ids); .@j++) {
+ .@i=@valid_ids[.@j];
+ if (realestate_hasmobilia(.id, .layer[.@i], .objid[.@i]))
+ @menuentries$+=l("Sell ")+.nams$[.@i]+l(" for ") + format_number( realestate_sellprice(.id,.price[.@i]) ) +":";
+ else
+ @menuentries$+=l("Purchase ")+.nams$[.@i]+(" for ") + format_number( .price[.@i] )+":";
+ }
+ select (@menuentries$);
+ mes "";
+
+ // First option to return to previous menu
+ if (@menu == 1)
+ goto L_Furniture;
+
+ // Otherwise, we know then that (@menu-2) is the ID in @valid_ids
+ // So we save .@id with the correct ID in object arrays.
+ // We also calculate how much aggregated money you have.
+ .@id=@valid_ids[@menu-2];
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+
+ if (realestate_hasmobilia(.id, .layer[.@id], .objid[.@id])) {
+ // If you have the mobilia, you're selling it for Mobiliary Credits
+ delcells realestate_cellname(.id, .@id);
+ realestate_togglemobilia(.id, .layer[.@id], .objid[.@id], "NPCs#RES_0128");
+ REAL_ESTATE_CREDITS+=realestate_sellprice(.id,.price[.@i]);
+ mesc l("Sale successful!");
+ next;
+ } else {
+ // Else, you're buying it, so we must check if you have the moolah first
+ .@price=.price[.@id];
+ if (.@gp > .@price) {
+ realestate_payment(.@price);
+ setcells .mapa$, .x1[.@id], .y1[.@id], .x2[.@id], .y2[.@id], .layer[.@id], realestate_cellname(.id, .@id);
+ areatimer(.mapa$, .x1[.@id], .y1[.@id], .x2[.@id], .y2[.@id], 10, "::OnSlide");
+ realestate_togglemobilia(.id, .layer[.@id], .objid[.@id], "NPCs#RES_0128");
+ mesc l("Purchase successful!");
+ next;
+ } else {
+ mesc l("Not enough funds!");
+ next;
+ }
+ }
+
+ // This loops forever
+ goto L_ContinuousLoop;
+
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+
+ // Estate Settings
+ .id=1; // Estate ID
+ .delay=15; // Forced wait between rings
+ .dpost=0; // Last doorbell ring
+ .mapa$="012-8";
+
+ // Arrays
+ // We go element by element on the array building the menu
+ .nams$="";
+ .layer=0;
+ .price=0;
+ .objid=0;
+ .x1=0;
+ .y1=0;
+ .x2=0;
+ .y2=0;
+
+ // Furniture Settings
+ // Name, Collision Layer, Price, ID, x1, y1, x2, y2
+ // For Collision Layer, see constants.conf ("Real Estate Collisions")
+ create_object("Placeholder" ,99,999999,99999, 99, 99, 99, 99);
+
+ create_object("Bed 01" , 5, 5000, 1, 24, 24, 25, 27);
+ create_object("Bed 02" , 5, 5000, 2, 26, 24, 27, 27);
+ create_object("Bed 03" , 5, 5000, 4, 28, 24, 29, 27);
+ create_object("Bed 04" , 5, 5000, 8, 30, 24, 31, 27);
+ create_object("Bed 05" , 5, 5000, 16, 24, 29, 25, 32);
+ create_object("Bed 06" , 5, 5000, 32, 26, 29, 27, 32);
+ create_object("Bed 07" , 5, 5000, 64, 28, 29, 29, 32);
+ create_object("Bed 08" , 5, 5000, 128, 30, 29, 31, 32);
+
+ create_object("Wardrobe" , 1, 7000, 1, 21, 23, 22, 23);
+ create_object("Cauldron" , 1, 5000, 2, 28, 24, 29, 24);
+ create_object("Shelf 01" , 1, 2000, 4, 25, 23, 25, 23);
+ create_object("Shelf 02" , 1, 2000, 8, 26, 23, 26, 23);
+ create_object("Shelf 03" , 1, 2000, 16, 27, 23, 27, 23);
+ create_object("Shelf 04" , 1, 2000, 32, 30, 23, 30, 23);
+ create_object("Shelf 05" , 1, 2000, 64, 31, 23, 31, 23);
+ create_object("Shelf 06" , 1, 2000, 128, 32, 23, 32, 23);
+ create_object("Shelf 07" , 1, 2000, 256, 33, 23, 33, 23);
+ create_object("Shelf 08" , 1, 2000, 512, 34, 23, 34, 23);
+ create_object("Shelf 09" , 1, 2000, 1024, 35, 23, 35, 23);
+ create_object("Shelf 10" , 1, 2000, 2048, 36, 23, 36, 23);
+ create_object("Shelf 11" , 1, 2000, 4096, 37, 23, 37, 23);
+ create_object("Shelf 12" , 1, 2000, 8192, 38, 23, 38, 23);
+
+ create_object("Piano" , 3, 10000, 1, 33, 25, 35, 25);
+
+ create_object("Left Desk" , 2, 5000, 1, 20, 25, 22, 27);
+ create_object("Right Desk" , 2, 5000, 2, 36, 30, 38, 32);
+
+ create_object("Left Chair" , 4, 2000, 1, 21, 28, 21, 28);
+ create_object("Right Chair" , 4, 2000, 2, 37, 29, 37, 29);
+
+ create_object("Painting 01" , 6, 3000, 1, 21, 20, 21, 20);
+ create_object("Painting 02" , 6, 3000, 2, 23, 21, 23, 21);
+ create_object("Painting 03" , 6, 3000, 4, 25, 20, 25, 20);
+ create_object("Painting 04" , 6, 3000, 8, 28, 21, 28, 21);
+ create_object("Painting 05" , 6, 3000, 16, 31, 20, 31, 20);
+ create_object("Painting 06" , 6, 3000, 32, 36, 20, 36, 20);
+
+ // Load Mobilia already existing
+ //debugmes "[REAL ESTATE] Now loading mobilia";
+ for (.@i=0; .@i < getarraysize(.layer); .@i++) {
+ switch (.layer[.@i]) {
+ case 1:
+ if ($ESTATE_MOBILIA_64[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 2:
+ if ($ESTATE_MOBILIA_4[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 3:
+ if ($ESTATE_MOBILIA_8[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 4:
+ if ($ESTATE_MOBILIA_32[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 5:
+ if ($ESTATE_MOBILIA_128[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 6:
+ if ($ESTATE_MOBILIA_2[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ default:
+ // We do nothing by default
+ //debugmes("[ERROR] [CRITICAL] [REAL ESTATE]: Object %d have Invalid Collision Type: %d (must range 1~6)", .@i, .layer[.@i]);
+ break;
+ }
+ }
+ //debugmes "Found %d valid objects", getarraysize(.valid_ids);
+ for (.@j=0; .@j < getarraysize(.valid_ids); .@j++) {
+ .@id=.valid_ids[.@j];
+ setcells .mapa$, .x1[.@id], .y1[.@id], .x2[.@id], .y2[.@id], .layer[.@id], realestate_cellname(.id, .@id);
+ //debugmes "Creating %s in %s", realestate_cellname(.id, .@id), .mapa$;
+ }
+ deletearray .valid_ids;
+ // Load NPCs
+ donpcevent "NPCs#RES_0128::OnReload";
+ end;
+
+}
+
+
diff --git a/npc/012-8/utils.txt b/npc/012-8/utils.txt
new file mode 100644
index 0000000..7e34e91
--- /dev/null
+++ b/npc/012-8/utils.txt
@@ -0,0 +1,71 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Real Estate System
+// Utils take care of NPCs - Their code, and enable/disable using check_cell
+// This file is custom to every room
+
+// ID: 1
+// $ESTATE_OWNER[.id] → Account ID owner of the Real Estate
+// $ESTATE_OWNERNAME$[.id] → Human readable name of Real Estate owner
+// $ESTATE_RENTTIME[.id] → When the rent will expire
+// $ESTATE_MOBILIA_2[.id] → Bitmask of mobilia currently purchased on Monster Collision (6) (Use on walls only)
+// $ESTATE_MOBILIA_4[.id] → Bitmask of mobilia currently purchased on Air Collision (2)
+// $ESTATE_MOBILIA_8[.id] → Bitmask of mobilia currently purchased on Water Collision (3)
+// $ESTATE_MOBILIA_32[.id] → Bitmask of mobilia currently purchased on Yellow Collision (4)
+// $ESTATE_MOBILIA_64[.id] → Bitmask of mobilia currently purchased on Player Collision (5)
+// $ESTATE_MOBILIA_128[.id] → Bitmask of mobilia currently purchased on Normal Collision (1)
+// $ESTATE_PASSWORD$[.id] → Password to enter the estate. If it is "", then no password required
+// Note: GMs and Administrators can always use super password "mouboo" to enter a locked estate
+// $ESTATE_DOORBELL[.id] → If doorbell is disabled (enabled by default)
+
+// REAL_ESTATE_CREDITS → Credits equivalent to GP the player have. Will be used first.
+
+// Real Estate NPCs and settings
+// The sign is the main controller for rent system
+// Doorbell is the main controller for indoor
+// This is the NPC script controller
+012-8,0,0,0 script NPCs#RES_0128 NPC_HIDDEN,{
+ // load_npc ( name , map, x , y{, cell} )
+ function load_npc {
+ if (checknpccell(getarg(1), getarg(2), getarg(3), getarg(4, cell_chknopass))) {
+ enablenpc getarg(0);
+ //debugmes "ENABLING NPC %s", getarg(0);
+ } else {
+ disablenpc getarg(0);
+ //debugmes "Disabling NPC %s", getarg(0);
+ }
+
+ /*
+ debugmes "----- %s (%d,%d) cell report", getarg(1), getarg(2), getarg(3);
+ debugmes "cell_chknopass: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chknopass);
+ debugmes "cell_chknoreach: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chknoreach);
+ debugmes "cell_chkbasilica: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chkbasilica);
+ debugmes "";
+ debugmes "cell_chkwater: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chkwater);
+ debugmes "cell_chkwall: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chkwall);
+ debugmes "cell_chkcliff: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chkcliff);
+ debugmes "----- Npc Id: %s", getarg(0);
+ */
+ return;
+ }
+ end;
+
+OnInit:
+ // NPC Settings
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+
+// Load or unload accordingly
+OnReload:
+ //debugmes "[REAL ESTATE] NPC ONRELOAD";
+ // load_npc ( name , map, x , y{, cell} )
+ load_npc("Wardrobe#RES_0128", .map$, 21, 23);
+ load_npc("Cauldron#RES_0128", .map$, 28, 24);
+ load_npc("Piano#RES_0128" , .map$, 34, 25);
+ end;
+
+}
+
diff --git a/npc/013-1/_import.txt b/npc/013-1/_import.txt
new file mode 100644
index 0000000..f926914
--- /dev/null
+++ b/npc/013-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 013-1: Woodlands Central Plateau
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/013-1/_mobs.txt",
+"npc/013-1/_warps.txt",
diff --git a/npc/013-1/_mobs.txt b/npc/013-1/_mobs.txt
new file mode 100644
index 0000000..0727c3e
--- /dev/null
+++ b/npc/013-1/_mobs.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 013-1: Woodlands Central Plateau mobs
+013-1,69,83,31,14 monster Pinkie 1132,9,30000,50000
+013-1,76,82,49,21 monster Mauve Plant 1135,4,90000,90000
diff --git a/npc/013-1/_warps.txt b/npc/013-1/_warps.txt
new file mode 100644
index 0000000..84ad4e2
--- /dev/null
+++ b/npc/013-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 013-1: Woodlands Central Plateau warps
+013-1,118,27,0 warp #013-1_118_27 0,0,015-3,172,195
diff --git a/npc/014-1/_import.txt b/npc/014-1/_import.txt
new file mode 100644
index 0000000..83582d7
--- /dev/null
+++ b/npc/014-1/_import.txt
@@ -0,0 +1,5 @@
+// Map 014-1: Woodland Mining Camp
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/014-1/_mobs.txt",
+"npc/014-1/_warps.txt",
+"npc/014-1/galimatia.txt",
diff --git a/npc/014-1/_mobs.txt b/npc/014-1/_mobs.txt
new file mode 100644
index 0000000..f0d8a65
--- /dev/null
+++ b/npc/014-1/_mobs.txt
@@ -0,0 +1,12 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 014-1: Woodland Mining Camp mobs
+014-1,97,59,86,45 monster Silk Worm 1034,15,30000,10000
+014-1,97,67,50,45 monster Mouboo 1023,12,30000,35000
+014-1,85,82,54,35 monster Squirrel 1032,11,30000,45000
+014-1,87,80,52,18 monster Tipiou 1016,3,30000,40000
+014-1,135,91,6,28 monster Blub 1008,2,30000,20000
+014-1,138,23,25,10 monster Bee Hive 1047,2,30000,20000
+014-1,140,25,26,15 monster Bee 1065,5,30000,20000
+014-1,95,58,105,59 monster Cobalt Plant 1136,2,45000,50000
+014-1,88,68,104,43 monster Mauve Plant 1135,3,45000,50000
+014-1,66,53,43,62 monster Gamboge Plant 1134,3,45000,50000
diff --git a/npc/014-1/_warps.txt b/npc/014-1/_warps.txt
new file mode 100644
index 0000000..6fa9bd8
--- /dev/null
+++ b/npc/014-1/_warps.txt
@@ -0,0 +1,24 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 014-1: Woodland Mining Camp warps
+014-1,79,98,0 warp #014-1_79_98 3,0,012-1,78,18
+014-1,79,57,0 warp #014-1_79_57 1,0,015-1,99,132
+014-1,158,34,0 script #014-1_158_34 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 153,47; end;
+}
+014-1,153,46,0 script #014-1_153_46 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 158,35; end;
+}
+014-1,147,40,0 script #014-1_147_40 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 112,62; end;
+}
+014-1,112,61,0 script #014-1_112_61 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 147,41; end;
+}
diff --git a/npc/014-1/galimatia.txt b/npc/014-1/galimatia.txt
new file mode 100644
index 0000000..745a2ec
--- /dev/null
+++ b/npc/014-1/galimatia.txt
@@ -0,0 +1,53 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// A bee keeper
+
+014-1,126,21,0 script Galimatia NPC_BEEKEEPER,{
+ mesn;
+ mesq l("Feel free to collect honey from the hives. Remember to bottle them before picking up... You can use the discardable bottles I keep near them for that.");
+ if (!countitem(Honey)) close;
+ if (BaseLevel < 30) close;
+ next;
+ mesn;
+ mesq l("I can also pay %d GP per %s.", .price, getitemlink(Honey));
+ if (countitem(BeeStinger)) mesc l("But if you bring me %d %s and %d %s and %s GP, I can give you a %s!", 20, getitemlink(BeeStinger), 10, getitemlink(Honey), fnum(3500));
+ next;
+ do
+ {
+ select
+ rif(countitem(Honey), "Sell a honey for %d GP", .price),
+ rif(countitem(Honey) >= 10 &&
+ countitem(BeeStinger) >= 20 &&
+ Zeny >= 3500, "Deal, I want the hat!"),
+ l("Nice, thanks.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ delitem Honey, 1;
+ Zeny+=.price;
+ break;
+ case 2:
+ delitem Honey, 10;
+ delitem BeeStinger, 20;
+ Zeny-=3500;
+ getitem BeeKeeperHat, 1;
+ getexp 5000, 4500;
+ mesn;
+ mesq l("Thanks, here is your hat!");
+ close;
+ break;
+ case 3:
+ close;
+ break;
+ }
+ } while (true);
+ close;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 4;
+ .price = getiteminfo(Honey, ITEMINFO_SELLPRICE) * 15 / 10;
+ end;
+}
diff --git a/npc/014-2-1/_import.txt b/npc/014-2-1/_import.txt
new file mode 100644
index 0000000..a6f5cc1
--- /dev/null
+++ b/npc/014-2-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 014-2-1: Woody House
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/014-2-1/_warps.txt",
+"npc/014-2-1/woody.txt",
diff --git a/npc/014-2-1/_warps.txt b/npc/014-2-1/_warps.txt
new file mode 100644
index 0000000..5dec41a
--- /dev/null
+++ b/npc/014-2-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 014-2-1: Woody House warps
+014-2-1,33,45,0 warp #014-2-1_33_45 0,0,014-2,103,30
diff --git a/npc/014-2-1/woody.txt b/npc/014-2-1/woody.txt
new file mode 100644
index 0000000..68b5637
--- /dev/null
+++ b/npc/014-2-1/woody.txt
@@ -0,0 +1,134 @@
+// TMW2 Script
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Woody, is the oldest player of TMW2, he deserves his own npc :d an old trapper who give help to new player to craft Squirrel boots
+// id:100 HurnscaldQuest_Woody
+// <2 - See his wife
+// 3 - Access to House
+// 4 - Quest Accepted
+// 5 - Quest Complete
+
+014-2-1,37,43,4 script Woody NPC_PLAYER,{
+ .@Woo = getq(HurnscaldQuest_Woody);
+ if (BaseLevel < 26) goto L_TooWeak;
+ if (.@Woo == 4) goto L_Check;
+ if (.@Woo == 5) goto L_Complete;
+
+L_GiveTask:
+ mesn;
+ mesq l("Hi, I'm Woody!");
+ next;
+ mesq l("Do you need something in particular?");
+ next;
+
+ menu
+ l("To be honest, I don't know. Your wife just allowed me to pass the door!"), L_Quit,
+ l("As I know, you're kind of hunter crafter, Right?"), L_Quest,
+ l("Sorry, It's not place for me."), L_Quit;
+
+
+L_Quest:
+ mes "";
+ mesn;
+ mesq l("Ah yes... I make fine @@...", getitemlink(SquirrelBoots));
+ next;
+ mesn;
+ mesq l("If you bring me some items, I can make some for you!");
+ next;
+
+ menu
+ l("Really? What do you need?"), L_Start,
+ l("Better do this some other time..."), L_Quit;
+
+
+L_Start:
+ setq HurnscaldQuest_Woody, 4;
+ mes "";
+ mesn;
+ mesq l("Ok, what I need is:");
+ goto L_List;
+
+L_Quit:
+ mes "";
+ mesn;
+ mesq l("Alright.");
+ close;
+
+L_List:
+ mes "";
+ mesn;
+ mes l("Here's what I need:");
+ mes l("@@/50 @@", countitem(SquirrelPelt), getitemlink(SquirrelPelt));
+ mes l("@@/10 @@", countitem(CottonCloth), getitemlink(CottonCloth));
+ mes l("@@/1 @@", countitem(Boots), getitemlink(Boots));
+ close;
+
+L_Check:
+ mesn;
+ mesq l("Did you brought me everything I asked for?");
+ mesq l("Remember, I'll make a @@ for you!", getitemlink(SquirrelBoots));
+ next;
+ menu
+ l("Yes!"), L_Give,
+ l("I forgot what you need!"), L_List,
+ l("No!"), L_Quit;
+
+L_Give:
+ if (
+ countitem(Boots) < 1 ||
+ countitem(CottonCloth) < 10 ||
+ countitem(SquirrelPelt) < 50
+ ) goto L_Lying;
+
+ inventoryplace SquirrelBoots, 1;
+
+ delitem(Boots, 1);
+ delitem(CottonCloth, 10);
+ delitem(SquirrelPelt, 50);
+
+ getitem(SquirrelBoots, 1);
+ getexp(3000, 20);
+ setq(HurnscaldQuest_Woody, 5);
+
+ mes "";
+ mesn;
+ mesq l("Here, all yours. Ah, if I still could walk... I would hunt those annoying squirrels myself!");
+ close;
+
+L_Complete:
+ mesn;
+ mesq l("Wandering too much? Take care to don't get lost.");
+ close;
+
+L_Lying:
+ mesn;
+ mesq l("No no no, that's wrong.");
+ next;
+ mesn;
+ mesq l("You don't have everything I've asked for!");
+ next;
+ goto L_List;
+
+L_TooWeak:
+ mesn;
+ mesq l("Hey kid, go play somewhere else, I don't have time! It's soon over!");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, MinerHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, LeatherShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, BromenalPants);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 4);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 3);
+
+ npcsit;
+ .sex = G_MALE;
+ .distance = 4;
+
+ end;
+}
+
diff --git a/npc/014-2-2/_import.txt b/npc/014-2-2/_import.txt
new file mode 100644
index 0000000..1526445
--- /dev/null
+++ b/npc/014-2-2/_import.txt
@@ -0,0 +1,5 @@
+// Map 014-2-2: Forsaken Inn
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/014-2-2/_warps.txt",
+"npc/014-2-2/gemini.txt",
+"npc/014-2-2/valia.txt",
diff --git a/npc/014-2-2/_warps.txt b/npc/014-2-2/_warps.txt
new file mode 100644
index 0000000..ff20d0a
--- /dev/null
+++ b/npc/014-2-2/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 014-2-2: Forsaken Inn warps
+014-2-2,34,35,0 warp #014-2-2_34_35 0,0,014-2,183,77
diff --git a/npc/014-2-2/gemini.txt b/npc/014-2-2/gemini.txt
new file mode 100644
index 0000000..b70afa7
--- /dev/null
+++ b/npc/014-2-2/gemini.txt
@@ -0,0 +1,139 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Gemini Sisters Quest - Central Core
+
+034-1,0,0,0 script #Gemini NPC_HIDDEN,{
+ end;
+
+OnCoreInit:
+ debugmes "CORE INIT, Inst = %d", instance_id();
+ // Oops! You do not have enough level!
+ if (BaseLevel < 30) {
+ warp "014-2-2", 36, 24;
+ end;
+ }
+ .@p = getcharid(1);
+ instance_attach($@VALIA_INST[.@p]);
+ @mystatus = 0;
+ sleep2(200);
+ if (!$@VALIA_STATUS[.@p])
+ $@VALIA_STATUS[.@p] = 1;
+ // FALLTHROUGH
+OnCore:
+ if (!compare(getmap(), "val")) end;
+ .@p = getcharid(1);
+ instance_attach($@VALIA_INST[.@p]);
+ // Always true on first interaction
+ // This handles new stages for person
+ if (@mystatus < $@VALIA_STATUS[.@p]) {
+ // No retroaction!
+ switch ($@VALIA_STATUS[.@p]) {
+ case 1: // Quest initiated
+ // Spawn monsters
+ areamonster("val1@"+.@p, 20, 20, 60, 60, strmobinfo(1, GreenSlime), GreenSlime, (BaseLevel/15), "Valia::OnGSlime");
+ areamonster("val1@"+.@p, 20, 20, 70, 60, strmobinfo(1, LogHead), LogHead, (BaseLevel/15), "Valia::OnLHead");
+ areamonster("val1@"+.@p, 20, 20, 70, 60, strmobinfo(1, ForestMushroom), ForestMushroom, (BaseLevel/12), "Valia::OnFShroom");
+ areamonster("val1@"+.@p, 20, 20, 70, 60, strmobinfo(1, RedMushroom), RedMushroom, 1+(BaseLevel/30), "Valia::OnRShroom");
+ break;
+ case 2: // Looking for a runestone
+ if (@mystatus)
+ getexp 4000, 100;
+ break;
+ case 3: // Runestone was found
+ if (@mystatus)
+ getexp 8000, 200;
+ break;
+ case 4: // Desert unlocked, but no clue on what to do
+ dispbottom l("You hear a noise from distance.");
+ // Spawn monsters
+ areamonster("val1@"+.@p, 100, 20, 170, 60, strmobinfo(1, CaveSnake), CaveSnake, 3, "Valia::OnCSnake");
+ areamonster(getmap(), 100, 20, 170, 60, strmobinfo(1, MagicGoblin), MagicGoblin, 1, "Valia::OnMGoblin");
+ // These refuse to respawn but are numerous
+ // Thus far, the quest is still easy. But soon it won't be.
+ areamonster(getmap(), 100, 20, 170, 60, strmobinfo(1, MountainSnake), MountainSnake, 1+(BaseLevel/24));
+ areamonster(getmap(), 100, 20, 170, 60, strmobinfo(1, DarkLizard), DarkLizard, 1+(BaseLevel/20));
+ areamonster(getmap(), 100, 20, 170, 60, strmobinfo(1, WickedMushroom), WickedMushroom, 1+(BaseLevel/32));
+ areamonster(getmap(), 100, 20, 170, 60, strmobinfo(1, EliteDuck), EliteDuck, 1);
+ break;
+ case 5: // JackO shows up
+ if (@mystatus)
+ getexp 16000, 400;
+ break;
+ case 6: // Passage Open
+ if (countitem(SealedSoul))
+ delitem SealedSoul, countitem(SealedSoul);
+ dispbottom l("You hear waterfall opening in distance.");
+ if (@mystatus)
+ getexp 32000, 800;
+ break;
+ case 7: // Ambushed & Captured
+ if (!is_gm())
+ nude();
+ @lockpicks=false;
+ // Prision Area
+ .@m=any(Bandit, RobinBandit, SleepingBandit);
+ areamonster("val2@"+.@p, 52, 93, 70, 98, strmobinfo(1, .@m), .@m, 1);
+ .@m=any(Bandit, RobinBandit, SleepingBandit);
+ areamonster("val2@"+.@p, 52, 93, 70, 98, strmobinfo(1, .@m), .@m, 1);
+ // Ante-chamber
+ areamonster("val2@"+.@p, 69, 96, 85, 107, strmobinfo(1, Bandit), Bandit, 1);
+ .@m=any(Bandit, RobinBandit, SleepingBandit, RobinBandit);
+ areamonster("val2@"+.@p, 69, 96, 85, 107, strmobinfo(1, .@m), .@m, 1);
+ // Reception & Lord Desk
+ areamonster("val2@"+.@p, 50, 30, 80, 75, strmobinfo(1, Bandit), Bandit, (BaseLevel/15));
+ areamonster("val2@"+.@p, 50, 30, 80, 75, strmobinfo(1, RobinBandit), RobinBandit, (BaseLevel/25));
+ // Whole Map
+ areamonster("val2@"+.@p, 20, 24, 78, 72, strmobinfo(1, Archant), Archant, (BaseLevel/8));
+ // Great Hall
+ areamonster("val2@"+.@p, 25, 24, 50, 45, strmobinfo(1, RobinBandit), RobinBandit, (BaseLevel/22));
+ areamonster("val2@"+.@p, 25, 24, 50, 45, strmobinfo(1, Assassin), Assassin, (BaseLevel/20));
+ areamonster("val2@"+.@p, 25, 24, 50, 45, strmobinfo(1, Bandit), Bandit, (BaseLevel/18));
+ areamonster("val2@"+.@p, 25, 24, 50, 45, strmobinfo(1, HoodedNinja), HoodedNinja, 1);
+ break;
+ case 8: // Bandit Key retrieved
+ if (@mystatus)
+ getexp 64000, 1600;
+ break;
+ case 9: // Door seal broken
+ if (@mystatus)
+ getexp 128000, 3200;
+ break;
+ case 10: // Luvia first cutscene
+ // Limit exports of Lazurite outside the area
+ if (countitem(LazuriteShard) > 2)
+ delitem LazuriteShard, countitem(LazuriteShard)/2;
+ // These two remain for internal quests
+ if (countitem(LazuriteCrystal))
+ delitem LazuriteCrystal, countitem(LazuriteCrystal);
+ if (countitem(LazuriteHeart))
+ delitem LazuriteHeart, countitem(LazuriteHeart);
+ break;
+ case 11: // Survived cutscene
+ if (@mystatus)
+ getexp 256000, 6400;
+ break;
+ case 12: // Storage cutscene
+ break;
+ case 13: // Survived storage
+ if (@mystatus)
+ getexp 384000, 9600;
+ break;
+ case 14: // Luvia Showdown cutscene
+ break;
+ case 15: // Defeated Luvia and now on pursuit!
+ if (@mystatus)
+ getexp 512000, 12800;
+ break;
+ case 16: // Cooldown in progress
+ break;
+ }
+ @mystatus = $@VALIA_STATUS[.@p];
+ }
+ addtimer(3000, "#Gemini::OnCore");
+ end;
+}
+
+// Max experience gain: 1,404,000 XP and 35,100 JXP
+
diff --git a/npc/014-2-2/valia.txt b/npc/014-2-2/valia.txt
new file mode 100644
index 0000000..f954ad2
--- /dev/null
+++ b/npc/014-2-2/valia.txt
@@ -0,0 +1,302 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Gemini Sisters Quest - Valia Gemini. The quest can be resumed within 4 hours.
+
+034-1 mapflag zone MMO
+034-2 mapflag zone MMO
+034-3 mapflag zone MMO
+034-4 mapflag zone MMO
+
+// Check if you can do this action or not (hero)
+function script GeminiCheck {
+ .@st = getarg(0, 0);
+ if (getq(General_Narrator) < 16 || @mystatus < .@st) {
+ warp "Save", 0, 0;
+ dispbottom l("You don't feel so well... And then, you're dead.");
+ die();
+ end;
+ }
+ return;
+}
+
+// You killed a mob
+function script GeminiKill {
+ if (!compare(getmap(), "val")) return;
+ .@p=getcharid(1);
+ switch ($@VALIA_STATUS[.@p]) {
+ case 2: // Looking for a runestone
+ if (killedrid == GreenSlime) {
+ if (!rand2(40) || $@GM_OVERRIDE) {
+ getexp 8132, 657;
+ dispbottom l("You found the Runestone! You gave it to the party leader.");
+ $@VALIA_STATUS[.@p] = 3;
+ }
+ }
+ break;
+ case 4: // Desert unlocked, but no clue on what to do
+ case 5: // Desert unlocked, cutscene over
+ if (killedrid == CaveSnake) {
+ if (!rand2(4) && countitem(SealedSoul) < 10) {
+ getitem SealedSoul, 1;
+ areamonster(getmap(), 100, 20, 170, 60, strmobinfo(1, MagicGoblin), MagicGoblin, 1, "Valia::OnMGoblin");
+ }
+ }
+ break;
+ case 6: // Just entered the Den
+ break;
+ case 7: // Just got stunned
+ break;
+ // Forest -> Desert -> Bandit Cave -> Island -> Fake showdown -> Storage -> Showdown -> Chest, Lore and Exit -> Wumpus' Trap -> End
+ }
+ return;
+}
+
+// Valia Gemini
+014-2-2,36,22,0 script Valia NPC_RED_WIZARD_F,{
+ GeminiCheck();
+ .@q = getq(HurnscaldQuest_Gemini);
+ .@t = getq3(HurnscaldQuest_Gemini);
+ mesn;
+ mesq l("Greetings, adventurer. I am Valia Gemini, owner of this abode.");
+ // If your level is too low (just reborn), it could break scripts
+ // So close dialog here.
+ if (BaseLevel < 30) close;
+ next;
+ if (getcharid(1) >= 1) {
+ if (($@VALIA_STATUS[getcharid(1)] >= 16) &&
+ (gettimetick(2) < (.@t + 14400))) {
+ mesn;
+ mesq l("You are welcome here, but don't overstay your welcome and leave as soon as possible.");
+ mesc l("Please wait %s before trying again.", FuzzyTime(.@t + 14400));
+ close;
+ }
+ }
+ mesn;
+ mesq l("I usually don't let anyone in, but I had to make an exception for the likes of you.");
+ next;
+ mesn;
+ mesq l("You see, I have a sister. Luvia Gemini. Very talented, but unfortunately, not enough to prevent being captured and brainwashed by Isbamuth.");
+ next;
+ mesn;
+ mesq l("I am sure you already fought him. And survived, too, apparently. Help her, and I will reward your efforts appropriately.");
+ next;
+ mesn;
+ mesq l("You can bring up to %d other friends with you, but they must be on the same party and map as you and you must be the party leader.", ($EVENT$ == "Gemini" ? 5 : 3));
+ if (gettimetick(2) < (.@t + 14400))
+ mesc l("The previous attempt will be resumed."), 1;
+ next;
+ select
+ l("I'm not interested, sorry."),
+ l("Why don't you go yourself?"),
+ l("Alright, I will help.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ close;
+ case 2:
+ mesn;
+ mesq l("Because Isbamuth is tracking me? It would be pointless if he noticed. If you can't even understand this, maybe I overestimated you, after all...");
+ close;
+ }
+ // You accepted the quest
+ mesn;
+ // ...But you lack a party
+ if (getcharid(1) <= 0) {
+ mesq l("You don't have a party. You're useless to me.");
+ tutmes l("You can make a party of 1 if you want to do it alone. This, however, is NOT ADVISED."), "Protip", false;
+ close;
+ }
+ // ...But you are not the leader
+ if (strcharinfo(0) != getpartyleader(getcharid(1))) {
+ mesq l("Bring me %s or make your own party if you want to help me.", getpartyleader(getcharid(1)));
+ close;
+ }
+ // ...But the party is too large
+ getpartymember(getcharid(1));
+ .@count = $@partymembercount;
+ // The amount varies based on the season
+ if (.@count > ($EVENT$ == "Gemini" ? 6 : 4)) {
+ mesq l("Your party is too big. Discretion is a key if we want to succeed.");
+ close;
+ }
+ // Alright.
+ mesq l("Good. I hope you have stocked everything. The time limit is 4 hours.");
+
+ // Only first attempt is free - all others are charged
+ if ($EVENT$ != "Gemini" ||
+ ($EVENT$ == "Gemini" && GEMINI_DAY == gettime(5)))
+ {
+ if (getq(HurnscaldQuest_Gemini) && !is_gm()) {
+ next;
+ mesn;
+ mesq l("Actually, I need help with reagents this time. Bring me a %s and a %s and I'll gladly warp you... again.", getitemlink(GemPowder), getitemlink(EverburnPowder));
+ if (!countitem(GemPowder) || !countitem(EverburnPowder)) close;
+ next;
+ }
+ }
+ mesc l("Are you and your party ready?"), 1;
+ if (askyesno() != ASK_YES)
+ close;
+
+ // Not eligible for free lunch
+ if ($EVENT$ != "Gemini" ||
+ ($EVENT$ == "Gemini" && GEMINI_DAY == gettime(5)))
+ {
+ if (getq(HurnscaldQuest_Gemini) && !is_gm()) {
+ delitem GemPowder, 1;
+ delitem EverburnPowder, 1;
+ }
+ } else if ($EVENT$ == "Gemini") {
+ GEMINI_DAY = gettime(5);
+ }
+
+ // Handle first attempt
+ clear;
+ mesn;
+ mesq l("Good. Here, take this key and hide it. I will quickly brief you:");
+ mes "";
+ mesc l(".:: GEMINI ASSASSINS QUEST ::."), 3;
+ mesc l("Recommended Level: %d+", 85);
+ mes "";
+ mes l("- The goal is to rescue Luvia from Isabamuth. She has been ##Bbrainwashed##b.");
+ mes l("- Luvia is a powerful mage and Isbamuth is watching, so teleporting directly would be risky.");
+ mes l("- Instead, the party will be teleported ##Bto a forest.##b");
+ mes l("- Find a path to the island where she is hiding herself!");
+ if (!getq(HurnscaldQuest_Gemini))
+ mesc l("- If you fail, you'll need to pay me ingredients to try again!"), 1;
+ mes "";
+ mesc l("Good luck!");
+ next;
+ closeclientdialog;
+
+ compareandsetq HurnscaldQuest_Gemini, 0, 1;
+ setq3 HurnscaldQuest_Gemini, gettimetick(2);
+
+ // Create instance
+ .@p=getcharid(1);
+ .@inst = instance_create("Gemini "+.@p, .@p, IOT_PARTY);
+
+ // If it worked then setup
+ if (.@inst >= 0) {
+ // Attach maps
+ instance_attachmap("034-1", .@inst, false, "val1@"+.@p);
+ instance_attachmap("034-2", .@inst, false, "val2@"+.@p);
+ instance_attachmap("034-3", .@inst, false, "val3@"+.@p);
+ instance_attachmap("034-4", .@inst, false, "val4@"+.@p);
+ // Save the instance ID
+ $@VALIA_STATUS[.@p]=0;
+ $@VALIA_INST[.@p]=.@inst;
+ $@VALIA_MAP$[.@p]="";
+ }
+
+ // Instance lasts 4 hours - your time limit
+ instance_set_timeout(14400, 14400, $@VALIA_INST[.@p]);
+
+ // Do we need to initialize or are we just restarting?
+ if (.@inst >= 0)
+ instance_init(.@inst);
+
+ // Warp everyone and add timers
+ partytimer("014-2-2", 10, "#Gemini::OnCoreInit", getcharid(1));
+ sleep2(100);
+ warpparty("val1@"+.@p, 24, 24, getcharid(1), "014-2-2", true);
+ close;
+
+// Macros
+OnGSlime:
+ fix_mobkill(GreenSlime);
+ .@p = getcharid(1);
+ areamonster("val1@"+.@p, 20, 20, 60, 60, strmobinfo(1, GreenSlime), GreenSlime, 1, "Valia::OnGSlime");
+ end;
+
+OnLHead:
+ fix_mobkill(LogHead);
+ .@p = getcharid(1);
+ areamonster("val1@"+.@p, 20, 20, 70, 60, strmobinfo(1, LogHead), LogHead, 1, "Valia::OnLHead");
+ end;
+
+OnFShroom:
+ fix_mobkill(ForestMushroom);
+ .@p = getcharid(1);
+ areamonster("val1@"+.@p, 20, 20, 70, 60, strmobinfo(1, ForestMushroom), ForestMushroom, 1, "Valia::OnFShroom");
+ end;
+
+OnRShroom:
+ fix_mobkill(RedMushroom);
+ .@p = getcharid(1);
+ areamonster("val1@"+.@p, 20, 20, 70, 60, strmobinfo(1, RedMushroom), RedMushroom, 1, "Valia::OnRShroom");
+ end;
+
+///////////////////////////////////
+OnCSnake:
+ fix_mobkill(CaveSnake);
+ .@p = getcharid(1);
+ areamonster("val1@"+.@p, 100, 20, 170, 60, strmobinfo(1, CaveSnake), CaveSnake, 1, "Valia::OnCSnake");
+ end;
+
+OnMGoblin:
+ fix_mobkill(MagicGoblin);
+ .@p = getcharid(1);
+ if (mobcount("val1@"+.@p, "Valia::OnMGoblin") > getmapusers("val1@"+.@p) * 50)
+ end;
+ // Spawn a high precision one
+ .@mg=areamonster("val1@"+.@p, 100, 20, 170, 60, strmobinfo(1, MagicGoblin), MagicGoblin, 1, "Valia::OnMGoblin");
+ setunitdata(.@mg, UDT_HIT, 42 + mobcount("val1@"+.@p, "Valia::OnMGoblin") * 2);
+ // And randomly spawn another (33% chance)
+ if (!rand2(3))
+ areamonster("val1@"+.@p, 100, 20, 170, 60, strmobinfo(1, MagicGoblin), MagicGoblin, 1, "Valia::OnMGoblin");
+ end;
+
+///////////////////////////////////
+OnKey1:
+ .@p = getcharid(1);
+ @tmp+=1;
+ sleep2(rand2(1000, 3000) + (@tmp*300)); // Prevent outright farming
+ .@mob=monster("val2@"+.@p, 57, 104, strmobinfo(1, CopperSlime), CopperSlime, 1, "Valia::OnKey1");
+ // This should wipe the monster experience value
+ setunitdata(.@mob, UDT_LEVEL, 1);
+ if (countitem(Lockpicks) || @lockpicks || rand2(3)) end;
+ getitem Lockpicks, 1;
+ @lockpicks=true;
+ end;
+
+OnKey2:
+ .@p = getcharid(1);
+ @tmp+=1;
+ sleep2(rand2(1000, 3000) + (@tmp*300)); // Prevent outright farming
+ .@mob=monster("val2@"+.@p, 61, 104, strmobinfo(1, CopperSlime), CopperSlime, 1, "Valia::OnKey2");
+ // This should wipe the monster experience value
+ setunitdata(.@mob, UDT_LEVEL, 1);
+ if (countitem(Lockpicks) || @lockpicks || rand2(3)) end;
+ getitem Lockpicks, 1;
+ @lockpicks=true;
+ end;
+
+OnKey3:
+ .@p = getcharid(1);
+ @tmp+=1;
+ sleep2(rand2(1000, 3000) + (@tmp*300)); // Prevent outright farming
+ .@mob=monster("val2@"+.@p, 66, 104, strmobinfo(1, CopperSlime), CopperSlime, 1, "Valia::OnKey3");
+ // This should wipe the monster experience value
+ setunitdata(.@mob, UDT_LEVEL, 1);
+ if (countitem(Lockpicks) || @lockpicks || rand2(3)) end;
+ getitem Lockpicks, 1;
+ @lockpicks=true;
+ end;
+
+OnLord:
+ .@p = getcharid(1);
+ if (!mobcount("val2@"+.@p, "Valia::OnLord")) {
+ $@VALIA_STATUS[.@p] = 8;
+ Zeny+=15000;
+ dispbottom l("This lord dropped a key and a stash of gold!");
+ }
+ end;
+
+OnInit:
+ .distance=4;
+ end;
+}
+
diff --git a/npc/014-2/_import.txt b/npc/014-2/_import.txt
new file mode 100644
index 0000000..1ee7fb0
--- /dev/null
+++ b/npc/014-2/_import.txt
@@ -0,0 +1,8 @@
+// Map 014-2: Woodlands Southeast
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/014-2/_mobs.txt",
+"npc/014-2/_warps.txt",
+"npc/014-2/carla.txt",
+"npc/014-2/guards.txt",
+"npc/014-2/mouboo.txt",
+"npc/014-2/trap.txt",
diff --git a/npc/014-2/_mobs.txt b/npc/014-2/_mobs.txt
new file mode 100644
index 0000000..1f638e0
--- /dev/null
+++ b/npc/014-2/_mobs.txt
@@ -0,0 +1,13 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 014-2: Woodlands Southeast mobs
+014-2,150,63,86,43 monster Log Head 1066,25,30000,20000
+014-2,66,45,58,26 monster Mouboo 1023,6,30000,20000
+014-2,108,60,52,58 monster Forest Mushroom 1060,12,40000,25000
+014-2,29,74,19,27 monster Fluffy 1022,5,30000,20000
+014-2,207,65,40,50 monster Sea Slime 1093,6,42000,20000
+014-2,125,84,157,54 monster Alpha Mouboo 1056,2,120000,120000
+014-2,132,59,90,35 monster Squirrel 1032,28,30000,42000
+014-2,143,74,137,117 monster Cobalt Plant 1136,3,45000,50000
+014-2,148,70,137,117 monster Mauve Plant 1135,3,45000,50000
+014-2,154,66,137,117 monster Gamboge Plant 1134,3,45000,50000
+014-2,125,23,125,37 monster Clover Field 1028,6,45000,50000
diff --git a/npc/014-2/_warps.txt b/npc/014-2/_warps.txt
new file mode 100644
index 0000000..c159673
--- /dev/null
+++ b/npc/014-2/_warps.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 014-2: Woodlands Southeast warps
+014-2,179,21,0 warp #014-2_179_21 3,0,012-1,78,101
+014-2,232,20,0 warp #014-2_232_20 2,0,012-1,132,100
+014-2,183,76,0 warp #014-2_183_76 0,0,014-2-2,34,34
+014-2,49,24,0 warp #014-2_49_24 1,0,014-3,130,134
diff --git a/npc/014-2/carla.txt b/npc/014-2/carla.txt
new file mode 100644
index 0000000..ae1a738
--- /dev/null
+++ b/npc/014-2/carla.txt
@@ -0,0 +1,197 @@
+// TMW2 Script
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Carla the Woody wife in old shaman girl. She kept house entrance from years.
+// id:100 HurnscaldQuest_Woody
+// 0 - Not aware of the quest
+// 1 - Know about winter
+// 2 - Quest Accepted
+// 3 - Quest Complete
+// 4+ - see woody
+
+014-2,104,31,0 script Carla NPC_RAIJIN_FEMALE_WAITRESS,{
+ .@quest = getq(HurnscaldQuest_Woody);
+ if (BaseLevel < 25) goto L_TooWeak;
+ if (.@quest == 1) goto L_Start;
+ if (.@quest == 2) goto L_Check;
+ if (.@quest >= 3) goto L_Complete;
+
+L_GiveTask:
+ mesn;
+ mesq lg("Hello, new wanderer!");
+ next;
+ mesq l("Be careful to not get lost in the forest.");
+ next;
+
+ menu
+ l("Hey, do not mistake me for a child."), L_Quit,
+ l("Hello, I'm looking for bandit hoods!"), L_Hood,
+ l("Hey! I want to enter in this house!"), L_Force,
+ l("Hello, who are you?"), L_Quest,
+ l("I don't have time sorry."), L_Quit;
+
+
+L_Quest:
+ mes "";
+ mesn;
+ mesq l("I'm Carla the Woody Wife, I have lived here with Woody for many years! We decided to live away from civilization, as hunter and shaman life is way better.");
+ next;
+ mesn;
+ mesq l("But now, we are quite old. I remember the time when I was your age. My generation doesn't do stupid things like yours!");
+ next;
+
+ menu
+ l("Isn't hard to live alone?"), L_Start,
+ l("Where is Woody?"), L_Woody,
+ l("Ok grandma CYA!"), L_Quit;
+
+
+L_Start:
+ setq HurnscaldQuest_Woody, 1;
+ mes "";
+ mesn;
+ mesq l("No, we've done this for our whole life, and we have survived!");
+ next;
+ mesn;
+ mesq l("My shaman skills protected us against monsters and thieves!");
+ next;
+
+ menu
+ l("Hey if you want I can do some physical work for you!"), L_Ask,
+ l("Can you teach me a basic shaman skill? please?"), L_Skill,
+ l("Oh no! I will miss my bus! Gotta go!"), L_Quit;
+
+L_Ask:
+ setq HurnscaldQuest_Woody, 2;
+ mes "";
+ mesn;
+ mesq l("Oh yeah some work is really painful, especially for my back, and I cant bother Woody to do it, he has so many difficulties moving.");
+ next;
+ mesn;
+ if (season() != WINTER)
+ mesq l("I need you to bring me some basic items to face Winter! Fire is the most important for us.");
+ else
+ mesq l("Winter this year is really harsh! Fire is the most important for us.");
+ next;
+ goto L_List;
+
+L_Quit:
+ mes "";
+ mesn;
+ mesq l("Alright.");
+ close;
+
+L_List:
+ mes "";
+ mesn;
+ mes l("Would be nice if you could bring me these:");
+ mes l("@@/40 @@", countitem(RawLog), getitemlink(RawLog));
+ mes l("@@/5 @@", countitem(Coal), getitemlink(Coal));
+ close;
+
+L_Check:
+ mesn;
+ mesq l("Hey, did you bring me everything I asked for?");
+ next;
+ menu
+ l("Yes! It is heavy."), L_Give,
+ l("humm... Sorry, I forgot what you need!"), L_List,
+ l("I don't have them, actually."), L_Quit;
+
+L_Give:
+ if (
+ countitem(RawLog) < 40 ||
+ countitem(Coal) < 5
+ ) goto L_Nope;
+
+ inventoryplace RedApple, 3;
+
+ delitem(RawLog, 40);
+ delitem(Coal, 5);
+
+ getitem(RedApple, 3);
+ getexp(3000, 50);
+ setq(HurnscaldQuest_Woody, 3);
+
+ mes "";
+ mesn;
+ mesq l("Thank you, We are now friends, You can visit us when you want!");
+ close;
+
+L_Complete:
+ mesn;
+ mesq l("Wandering too much? Take care to not get lost.");
+ close;
+
+L_Woody:
+ mes "";
+ mesn;
+ mesq l("Woody is inside, he is probably crafting some stuff with animals pelts.");
+ close;
+
+L_Hood:
+ mes "";
+ mesn;
+ mesq l("You search for Bandit hoods.");
+ next;
+ mesn;
+ mesq l("You could find some bandits in the Bandit cave. Yeah, the name wasn't given for nothing.");
+ next;
+ mesn;
+ mesq l("To get there you need to go left, follow rock wall and go up when you can. The entrance to the Bandit cave is on left side of the waterfall.");
+ close;
+
+L_Force:
+ mes "";
+ mesn;
+ mesq l("Strangers and monsters aren't allowed in MY house!");
+ next;
+ mesn;
+ mesq l("Anyway, my herb mixture keeps monsters away.");
+ close;
+
+L_Skill:
+ mes "";
+ mesn;
+ //mesq l("I don't know if jesusalva allow me to teach you a basic shaman skill!? .");
+ // I don't, but a monster repellent would be nice. Does such skill exist/work?
+ mesq l("Well, I know a mixture to keep monsters away. I just can't share it with you now.");
+ next;
+ mesn;
+ mesq l("You see, it need certain special items... Oh, just blame Jesusalva for this one.");
+ close;
+
+L_Nope:
+ mesn;
+ mesc l("humm... You don't have everything I've asked for!");
+ next;
+ mesn;
+ mesq l("Can you come back with all the items I asked for? Please.");
+ next;
+ goto L_List;
+
+L_TooWeak:
+ mesn;
+ mesq l("You should not be there! This forest is home to monsters.");
+ close;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 4;
+ end;
+}
+
+014-2,103,29,0 script Woody Barrier NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ .@q=getq(HurnscaldQuest_Woody);
+ if (.@q >= 3)
+ warp "014-2-1", 33, 44;
+ else
+ npctalk3 l("The door is locked, you should speak to Carla about it.");
+ end;
+}
+
diff --git a/npc/014-2/guards.txt b/npc/014-2/guards.txt
new file mode 100644
index 0000000..ef41931
--- /dev/null
+++ b/npc/014-2/guards.txt
@@ -0,0 +1,47 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Access to Eternal Swamps
+
+014-2,58,103,0 script Guard Jennifer NPC_GUARD2,{
+OnMain:
+ mesn;
+ mesq l("Halt! Beyond this gate, is the Great River and the Eternal Swamps.");
+ next;
+ mesn;
+ mesq l("Was not it only flooded constantly, the graveyard is not too far. If you stray away from the path, you'll get lost.");
+ next;
+ .@fd=!(getmapmask("011-3")&1024); // .@fd - is flooded?
+ if (!.@fd) {
+ mesn;
+ mesq l("Various people already went missing, including GMs. This is why if you plan to cross, ")+l(b("You won't be allowed to walk sideways, except to avoid a monster or two."));
+ mesc l("If you try to walk west or east too much, you'll hit an \"invisible wall\" to prevent you from getting lost.");
+ next;
+ select
+ l("I'm fine, thanks."),
+ l("My equipment is good, let me through!");
+ mes "";
+ if (@menu == 2) {
+ warp "011-3", 38, 21;
+ closedialog;
+ close;
+ }
+ } else {
+ mesn;
+ mesq l("In fact, it is flooded at the moment. Come back later.");
+ }
+ close;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+014-2,56,107,0 script #ToEternalSwamps NPC_HIDDEN,2,0,{
+ end;
+OnTouch:
+ doevent "Guard Jennifer::OnMain";
+ end;
+}
+
diff --git a/npc/014-2/mouboo.txt b/npc/014-2/mouboo.txt
new file mode 100644
index 0000000..62b4577
--- /dev/null
+++ b/npc/014-2/mouboo.txt
@@ -0,0 +1,235 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Part from a bigger, very important quest for learning about the MOUBOOTAUR.
+// Interacts with Sagratha (for uncursing).
+//
+// Quest Structure:
+// HurnscaldQuest_InjuriedMouboo - STATUS - HPBAR
+// Quest Status:
+// 0 - First Met
+// 1 - Examined (HP Bar stored on field 2)
+// 2 - Healed (Curse not solved - ready for Sagratha Quest)
+// 3 - Curse removed (Sagratha's Arc)
+// 9 - KILLED YOUR MOUBOO. YOU EVIL MONSTER.
+
+014-2,144,80,0 script Mouboo#0142injuried NPC_INJURIED_MOUBOO,{
+ .@q=getq(HurnscaldQuest_InjuriedMouboo);
+
+ if (.@q < 2) goto L_Begin;
+ if (.@q == 2) goto L_Healed;
+ if (.@q == 3) goto L_Uncursed;
+ if (.@q == 9) goto L_Killed;
+ goodbye;
+ end;
+
+// Main Quest
+L_Begin:
+ .@q=getq(HurnscaldQuest_InjuriedMouboo);
+ .@q2=getq2(HurnscaldQuest_InjuriedMouboo);
+ mesn l("Injured Mouboo");
+ mesq l("Booo....");
+ mesc l("The Mouboo seems to be lying in pain.");
+ next;
+ select
+ rif(.@q == 1, l("Attempt to heal the Mouboo")),
+ rif(.@q == 1, l("Attempt to kill the Mouboo")),
+ l("Examine the Mouboo"),
+ l("Leave the Mouboo alone");
+ mes "";
+ switch (@menu) {
+ case 3:
+ mesc l("The Mouboo is lying down on the grass.");
+ mesc l("There doesn't seem to be any physical wound.");
+ mesc l("A closer inspection suggests this mouboo has been... CURSED.");
+ if (.@q == 0)
+ setq HurnscaldQuest_InjuriedMouboo, 1, 100;
+ next;
+ goto L_Begin;
+ case 1:
+ mes "##B" + l("Drag and drop a healing item from your inventory.") + "##b";
+
+ .@id = requestitem();
+
+ // If ID is invalid, there's not enough items, it is bound = Cannot bury
+ if (.@id < 1) close;
+ if (.@id < 1 || countitem(.@id) < 1 || checkbound(.@id) || getiteminfo(.@id, ITEMINFO_TYPE) != IT_HEALING) {
+ if (checkbound(.@id))
+ mesc l("You cannot part with this item!");
+ else if (.@id == MoubooFigurine)
+ mesc l("Haha, this wooden figurine won't do the job, sorry.");
+ else if (.@id == PlushMouboo)
+ mesc l("This seems like a good idea at first, but actually, it isn't.");
+ else if (.@id == MoubooPendant)
+ mesc l("Wise choice! But can you really part with it? Better think on something else!");
+ else if (.@id == MoubooHat || .@id == AlphaMoubooHat)
+ mesc l("...I don't think giving it this hat will really help...");
+ else if (.@id == DeathPotion || .@id == NymphPoison)
+ mesc l("...Are you crazy?");
+ else if (getiteminfo(.@id, ITEMINFO_TYPE) != IT_HEALING)
+ mesc l("This is not a healing item.");
+ else
+ mesc l("You give up.");
+ close;
+ }
+
+ // Bad healing items
+ if (.@id == MoubooSteak) {
+ mesc l("Uhm, this seems like a bad idea.");
+ close;
+ } else if (.@id == DeathPenalty) {
+ mesc l("Uhm, that's an... @@. Do you... want to grow a tree on the mouboo or something? Can't you think on something else?", getitemlink(DeathPenalty));
+ close;
+ } else if (.@id == BottleOfSewerWater) {
+ mesc l("Uhm... I thought you were trying to heal the mouboo. Why are you giving it poisonous stuff?!");
+ close;
+ } else if (.@id == Coffee) {
+ mesc l("Uhm, I better heal it first before trying to do anything about the curse.");
+ close;
+ }
+
+ mesc l("Really give your @@ to the Mouboo?", getitemlink(.@id)), 1;
+ mesc l("The item will be lost forever.");
+ next;
+ if (askyesno() == ASK_YES) {
+ delitem .@id, 1;
+ itemeffect(.@id); // As a bonus, you'll be healed too, because I need to retrieve @max value
+
+ // You need about 9.000 HP-worth healing items, and you can't use Mouboo Steak
+ @val1*=rand2(3,5); // Average delay (FIXME: Is @val1 available?)
+ @val1=max(10, @val1); // Hack
+ if (.@id == ElixirOfLife)
+ setq2 HurnscaldQuest_InjuriedMouboo, 9999;
+ else
+ setq2 HurnscaldQuest_InjuriedMouboo, .@q2+((@val1)/10);
+
+ // Get rid of temporary variables, if it haven't happened yet
+ @min = 0;
+ @max = 0;
+ @val1 = 0;
+
+ .@q2=getq2(HurnscaldQuest_InjuriedMouboo);
+ if (.@q2 > 1000) {
+ mesc l("This will be remembered."), 6;
+ setq HurnscaldQuest_InjuriedMouboo, 2;
+ getexp 800, 0;
+ close;
+ }
+
+ // Progress Report
+ if (.@q2 > 900) {
+ mesc l("The mouboo seems to want to thank you, but is still too weak. Let's finish this healing.");
+ }
+ else if (.@q2 > 700) {
+ mesc l("The mouboo looks a bit more healthy. A little more should do.");
+ }
+ else if (.@q2 > 400) {
+ mesc l("The mouboo looks a bit less sickly. But this is not enough.");
+ }
+ else if (.@q2 > 100) {
+ mesc l("The mouboo still looks terrible, but you can see a small difference.");
+ }
+ else {
+ // Mouboo begins at 100 HP, so this should never happen
+ mesc l("Barely any difference, maybe I should use better healing items on it.");
+ }
+ }
+ break;
+ case 2:
+ .@id = getequipid(EQI_HAND_R);
+
+ // If ID is invalid, there's not enough items, it is bound = Cannot bury
+ if (.@id < 1) {
+ mesc l("You are not using a weapon for a merciful last blow.");
+ close;
+ }
+
+ mesc l("Really attack the Mouboo with a(n) @@?", getitemlink(.@id)), 1;
+ mesc l("There will be consequences.");
+ next;
+ if (askyesno() == ASK_YES) {
+ .@atk=getiteminfo(.@id, ITEMINFO_ATK);
+ mesn l("Injured Mouboo");
+ if (.@q2 < 20)
+ mesq l("Re-ref... Reflect.");
+ else
+ mesq l("Ma... Magical Re... Re-ref... Reflection.");
+ setq2 HurnscaldQuest_InjuriedMouboo, .@q2-(.@atk/5);
+ .@q2=getq2(HurnscaldQuest_InjuriedMouboo);
+
+ if (.@q2 <= 0) {
+ mes l("The... Mou... Boo... Taur...");
+ mes l("Is... Dan... Ger... Ous...");
+ mes l("...Help... Me...");
+ setq HurnscaldQuest_InjuriedMouboo, 9;
+ getexp 800, 0;
+ next;
+
+ mesc l("This will be remembered."), 6;
+ heal -.@atk, -(.@atk/10);
+ close;
+ } else {
+ mesc l("This wasn't enough.");
+ }
+
+ heal -.@atk, -(.@atk/10);
+ next;
+ }
+ break;
+ default:
+ close;
+ }
+ mes "";
+ goto L_Begin;
+
+
+// Sagratha Arc
+L_Healed:
+ .@q=getq(HurnscaldQuest_InjuriedMouboo);
+ .@q2=getq2(HurnscaldQuest_InjuriedMouboo);
+ mesn l("Injuried Mouboo");
+ mesq l("Zzzzzz....");
+ mesc l("The mouboo is sleeping soundly. The curse is still there.");
+ if (countitem(Coffee)) {
+ next;
+ mesc l("Give a @@ to the Mouboo?", getitemlink(Coffee));
+ next;
+ if (askyesno() == ASK_YES) {
+ mesn l("Injured Mouboo");
+ mesc l("*screams*");
+ mes "";
+ mesc l("The Mouboo doesn't want to drink the Coffee. Try to force it to drink anyway?");
+ next;
+ if (askyesno() == ASK_YES) {
+ delitem Coffee, 1;
+ mesc l("There's no change in the condition of the poor Mouboo.");
+ next;
+ mesc l("Maybe the Hurnscald alchemist, Wyara, could explain why.");
+ } else {
+ mesc l("Coffee is good, why does the Mouboo refuse to drink it?");
+ mesc l("Maybe someone in Hurnscald can help me.");
+ }
+ }
+ }
+ close;
+
+// Final Results
+L_Uncursed:
+ mesn;
+ mesq l("Hello, @@. Thanks for helping me.", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("Don't challenge the Moubootaur. You saw what happened to me.");
+ close;
+
+L_Killed:
+ mesc l("Did this Mouboo just blink? No, I made sure it was truly dead. Must have been my imagination.");
+ close;
+
+OnInit:
+ .sex=G_OTHER;
+ .distance=2;
+ end;
+}
diff --git a/npc/014-2/trap.txt b/npc/014-2/trap.txt
new file mode 100644
index 0000000..924943d
--- /dev/null
+++ b/npc/014-2/trap.txt
@@ -0,0 +1,52 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Gemini Sisters Quest - Traps
+
+014-2,230,58,0 script #GeminiTrap1 NPC_HIDDEN,0,0,{
+OnTouch:
+ if (getq(General_Narrator) < 16) {
+ mesc l("WARNING:"), 1;
+ mes l("You are not welcome on this island.");
+ mes "";
+ mes l("No mercy will be shown, turn back now!");
+ mes "";
+ mes l("-- Valia G.");
+ close;
+ }
+ end;
+}
+
+014-2,230,60,0 script #GeminiTrap2 NPC_HIDDEN,0,0,{
+OnTouch:
+ if (getq(General_Narrator) < 16) {
+ slide 230, 56;
+ dispbottom l("You are pushed back with extreme force!");
+ percentheal -15, 0;
+ }
+ end;
+}
+
+014-2,228,64,0 script #GeminiTrap3 NPC_HIDDEN,0,0,{
+OnTouch:
+ if (getq(General_Narrator) < 16) {
+ slide 230, 56;
+ dispbottom l("You are pushed back with absolute force!");
+ percentheal -85, 0;
+ }
+ end;
+}
+
+// Should never trigger
+014-2,221,69,0 script #GeminiTrap4 NPC_HIDDEN,1,1,{
+OnTouch:
+ if (getq(General_Narrator) < 16) {
+ warp "Save", 0, 0;
+ dispbottom l("You don't feel so well... And then, you're dead.");
+ die();
+ end;
+ }
+ end;
+}
+
diff --git a/npc/014-3/_import.txt b/npc/014-3/_import.txt
new file mode 100644
index 0000000..a7f1841
--- /dev/null
+++ b/npc/014-3/_import.txt
@@ -0,0 +1,6 @@
+// Map 014-3: Woodlands Central Area
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/014-3/_mobs.txt",
+"npc/014-3/_warps.txt",
+"npc/014-3/fountain.txt",
+"npc/014-3/oscar.txt",
diff --git a/npc/014-3/_mobs.txt b/npc/014-3/_mobs.txt
new file mode 100644
index 0000000..70d2831
--- /dev/null
+++ b/npc/014-3/_mobs.txt
@@ -0,0 +1,12 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 014-3: Woodlands Central Area mobs
+014-3,115,75,91,52 monster Mouboo 1023,22,30000,35000
+014-3,63,74,41,48 monster Forest Mushroom 1060,10,60000,35000
+014-3,104,102,90,35 monster Squirrel 1032,26,30000,32000
+014-3,44,82,37,32 monster Centaur 1139,3,80000,60000
+014-3,164,75,31,14 monster Pinkie 1132,9,30000,20000,Oscar::OnKillPinkie
+014-3,95,65,49,25 monster Poison Spiky Mushroom 1043,11,45000,25000
+014-3,133,89,49,25 monster Poison Spiky Mushroom 1043,7,45000,45000
+014-3,128,112,70,21 monster Mauve Plant 1135,5,90000,90000
+014-3,44,82,37,32 monster Chagashroom Field 1128,4,90000,90000
+014-3,95,65,49,25 monster Plushroom Field 1011,4,90000,90000
diff --git a/npc/014-3/_warps.txt b/npc/014-3/_warps.txt
new file mode 100644
index 0000000..7d0cb6f
--- /dev/null
+++ b/npc/014-3/_warps.txt
@@ -0,0 +1,10 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 014-3: Woodlands Central Area warps
+014-3,120,121,0 warp #014-3_120_121 0,0,015-3,172,195
+014-3,131,135,0 warp #014-3_131_135 1,0,014-2,48,25
+014-3,206,92,0 warp #014-3_206_92 0,4,012-1,23,61
+014-3,155,40,0 warp #014-3_155_40 1,0,014-5,81,228
+014-3,120,67,0 warp #014-3_120_67 0,0,015-2,49,100
+014-3,55,42,0 warp #014-3_55_42 0,0,014-3,77,40
+014-3,77,39,0 warp #014-3_77_39 0,0,014-3,55,43
+014-3,29,70,0 warp #014-3_29_70 0,3,014-4,158,68
diff --git a/npc/014-3/fountain.txt b/npc/014-3/fountain.txt
new file mode 100644
index 0000000..d70d6d4
--- /dev/null
+++ b/npc/014-3/fountain.txt
@@ -0,0 +1,134 @@
+// TMW-2 Script
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Hurnscald doesn't have a well, but have a MAGIC FOUNTAIN ***
+// Req. Int 40 to finish Tier Elevation quest.
+
+014-3,134,100,0 script Fountain#Hurns NPC_NO_SPRITE,{
+ if (ST_TIER == 5 && gettimetick(2) < QUEST_ELEVARTEMPO) goto L_Tier2;
+
+ mesn l("Mana Saulc");
+ mesc l("Go away, I am too magical for you. %%n"); // quote
+ close;
+
+ // TODO FIXME: We don't have a "Magic" water, and we might add
+ // Mahed or Mahad, another well master (Mehoud? Muhoud?)
+ input .@count;
+
+ if (.@count == 0)
+ close;
+ .@Cost = .@count * .COST_PER_BOTTLE;
+ .@empty = countitem("EmptyBottle");
+
+ if (.@empty < .@count)
+ goto L_NotEnoughBottles;
+ if (Zeny < .@Cost)
+ goto L_NotEnoughMoney;
+
+ inventoryplace BottleOfTonoriWater, .@count;
+
+ Zeny=Zeny-.@Cost;
+ delitem "EmptyBottle", .@count;
+ getitem "BottleOfTonoriWater", .@count;
+ close;
+
+L_NotEnoughBottles:
+ mes "";
+ mesn;
+ mes l("You don't have that many empty bottles!");
+ close;
+
+L_NotEnoughMoney:
+ mes "";
+ mesn;
+ mes l("You don't have enough gold! You need @@ gp.", .@Cost);
+ close;
+
+
+L_Tier2:
+ if (readparam2(bInt) < 10) goto L_Dumb;
+ mesn;
+ mesc l("WHAT ARE YOU GOING TO DO?");
+ next;
+ select
+ l("Do nothing"), // 1
+ l("Drink the potion"), // 2
+ l("Pour the potion"), // 3
+ l("Wash yourself with the potion"), // 4
+ l("Burn the potion"), // 5
+ l("Drink the potion, and say magic words"), // 6
+ l("Say magic words"), // 7
+ l("Do a weird dance"), // 8
+ l("Blame Saulc"); // 9
+
+ mes "";
+ if (@menu == 1)
+ close;
+
+ if (@menu == 3)
+ goto L_Tier2Ok;
+
+ if (@menu <= 6)
+ goto L_Failed;
+
+ if (@menu == 9)
+ mesc l("Whatever you're blaming Saulc about, this one time, he is innocent.");
+ mesc l("Nothing happens.");
+ close;
+
+L_Fail2:
+ mesc l("Your low intelligence prevents anything from happening with you.");
+ mes "";
+
+L_Failed:
+ mesn strcharinfo(0);
+ mesq l("Ah no... That's not what I had to do... I wasted the potion...");
+ QUEST_ELEVARTEMPO=gettimetick(2);
+ close;
+
+L_Dumb:
+ mesn strcharinfo(0);
+ mesq l("Hello there pretty fountain, what about granting me magic?");
+ next;
+ mesc l("Unsurprisingly, nothing happens.");
+ close;
+
+L_Tier2Ok:
+ mesc l("You pour the whole potion on the fountain.");
+ next;
+ if (readparam2(bInt) < 20) goto L_Fail2;
+ mesc l("You hear birds singing! That is what you had to do!");
+ next;
+ if (readparam2(bInt) < 30) goto L_Fail2;
+ mesc l("Your body starts to glow. You're not sure why, the fountain did that!");
+ next;
+ if (readparam2(bInt) < 40) goto L_Fail2;
+ mesn;
+ mes l("I am the Magic Fountain of Hurnscald. You look qualified.");
+ next;
+ mesn;
+ mes l("Your next step is to get the book of the Second Sage Of Fate.");
+ next;
+ mesn;
+ mes l("I predict you're closer to find the Secret Of Mana, and therefore, be part on saving our world.");
+ next;
+ mesn;
+ mes l("I will empower you with raw mana now.");
+ next;
+ ST_TIER=6;
+ // Ref. 240 xp. You will be penalized with 1 xp for over-level. (waw...)
+ if (BaseLevel < 300)
+ getexp 300-BaseLevel, 0;
+ mesn;
+ mesq l("Run like the wind, @@! For you shall have only @@ to finish the ritual!", strcharinfo(0), FuzzyTime(QUEST_ELEVARTEMPO,2,2));
+ close;
+
+OnInit:
+ .COST_PER_BOTTLE = 0;
+ .sex = G_OTHER;
+ .distance = 3;
+
+ end;
+}
diff --git a/npc/014-3/oscar.txt b/npc/014-3/oscar.txt
new file mode 100644
index 0000000..336af69
--- /dev/null
+++ b/npc/014-3/oscar.txt
@@ -0,0 +1,155 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Hurnscald farmer
+
+014-3,169,66,0 script Oscar NPC_RAIJIN,{
+ .@q1=getq(HurnscaldQuest_Farmers);
+ .@q2=getq2(HurnscaldQuest_Farmers);
+ mesn;
+ if (strcharinfo(0) == $MOST_HEROIC$) mesq l("Ah, if it isn't @@? You're the talk of the town!", $MOST_HEROIC$);
+ if (strcharinfo(0) == $MOST_HEROIC$) next;
+ if (.@q1 == 2) goto L_Hello;
+ if (.@q1 == 3) goto L_Check;
+ if (.@q1 == 4) goto L_Letter;
+ if (.@q1 == 5) goto L_Thanks;
+
+ mesq l("Don't bother me, I'm busy right now. Since the Monster King left, I barely got a night of rest...");
+ close;
+
+L_Hello:
+ mesq l("Ah! @@! I heard you helped Hinnak with his Pinkies problem!", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("Wouldn't you like to help me too?");
+ if (askyesno() != ASK_YES) {
+ mesq l("Sorry, I have to go.");
+ close;
+ }
+ next;
+ mesn;
+ mesq l("Great! Excellent! Because I am also diving in problems!!");
+ next;
+ if (readparam2(bAgi) < 30) goto L_Slow;
+ if (BaseLevel < 20) goto L_Weak;
+ mesn;
+ // Est. kill 400 Pinkies
+ mesq l("I hate so much the Pinkies on my fields, I want to do a soup! Can you provide me 10 @@? Many thanks.", getitemlink(PinkieLeg));
+ setq HurnscaldQuest_Farmers, 3, 0;
+ close;
+
+L_Slow:
+ mesn;
+ mesq l("But you're too slow. Sorry.");
+ next;
+ mesc l("Raise agility to do this quest.");
+ close;
+
+L_Weak:
+ mesn;
+ mesq l("But you're too weak. Sorry.");
+ close;
+
+L_Check:
+ mesq l("Hey, how is the monster extermination going?");
+ next;
+ mesn;
+ // You in average need to kill 400 Pinkies. But ya killed 200~250 previously. You get this bonus for not leaving the fields.
+ if (.@q2 >= 250)
+ mesq l("You killed so many Pinkies! My wife and I love you!");
+ else if (.@q2 >= 200)
+ mesq l("You are doing GREAT! Keep slaying them, hahaah!");
+ else if (.@q2 >= 150)
+ mesq l("I see you are doing good. Keep slaying them, hahaah!");
+ else if (.@q2 >= 100)
+ mesq l("Good job, you already killed over 100! Hahah, that sure teach them a lesson!");
+ else if (.@q2 >= 50)
+ mesq l("Yeah, teach them a lesson! Keep going!");
+ else
+ mesq l("Go kill them!!");
+ next;
+ menu
+ rif (.@q2 >= 250 && countitem(PinkieLeg) >= 10, l("Today is soup of Pinkie Legs!")), L_RealHelp,
+ rif (.@q2 >= 250 && countitem(PinkieLeg) < 10, l("Thanks, they hate to drop their Legs.")), L_TrueHelp,
+ rif (.@q2 >= 100 && .@q2 < 250 && countitem(PinkieLeg) >= 10, l("Here are the Pinkie Legs.")), L_Help,
+ rif (.@q2 < 100 && countitem(PinkieLeg) >= 10, l("Here are the Pinkie Legs.")), L_NoKill,
+ l("I'm not done yet. I'll be back."), -;
+ close;
+
+L_RealHelp:
+ delitem PinkieLeg, 10;
+ getexp 2000, 60;
+ Zeny=Zeny+5000;
+ setq HurnscaldQuest_Farmers, 4, 0;
+ mes "";
+ mesn;
+ mesq l("Waw! You really did it, you're the savior of my farm!! You have my eternal gratitute. Here is 5000 GP for your troubles!");
+ close;
+
+L_TrueHelp:
+ mes "";
+ mesn;
+ mesq l("I know how hard it is! I hate them with all my heart, only seeing you killing them left and right was GREAT!");
+ next;
+ getexp 1600, 0;
+ Zeny=Zeny+2500;
+ setq HurnscaldQuest_Farmers, 4, 0;
+ mesn;
+ mesq l("You have my eternal gratitute. Here is 2500 GP for your troubles.");
+ close;
+
+L_Help:
+ delitem PinkieLeg, 10;
+ getexp 1400, 0;
+ Zeny=Zeny+2000;
+ setq HurnscaldQuest_Farmers, 4, 0;
+ mes "";
+ mesn;
+ mesq l("Many thanks. You have my eternal gratitute. Here is 2000 GP for your troubles.");
+ close;
+
+L_NoKill:
+ mesn;
+ mesq l("Ahahahah, do you really think I'll accept legs if you don't help me cleaning my fields?");
+ next;
+ mesn;
+ mesq l("Kill at least a hundred of Pinkies here, and then we can talk.");
+ close;
+
+L_Letter:
+ mesq l("You're the savior of Hurnscald crops. Half from the world would die from famine, weren't for you.");
+ next;
+ mesn;
+ mesq l("@@ and I signed this letter. Deliver it to Airlia on the Town Hall, and she'll reward you correctly.", l("Hinnak"));
+ close;
+
+L_Thanks:
+ mesq l("Many thanks for all the help!");
+ close;
+
+OnKillPinkie:
+ .@q1=getq(HurnscaldQuest_Farmers);
+ .@q2=getq2(HurnscaldQuest_Farmers);
+ if (.@q1 == 3) {
+ setq2 HurnscaldQuest_Farmers, .@q2+1;
+ if (! (.@q2+1) % 10)
+ dispbottom l("@@ pinkies killed on @@'s field.", .@q2+1, l("Oscar"));
+ }
+ fix_mobkill(Pinkie);
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, FarmerHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, LeatherShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, TulimsharGuardBoots);
+ setunitdata(.@npcId, UDT_WEAPON, CottonTrousers);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 2);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 0);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/014-4/_import.txt b/npc/014-4/_import.txt
new file mode 100644
index 0000000..56c0bfb
--- /dev/null
+++ b/npc/014-4/_import.txt
@@ -0,0 +1,8 @@
+// Map 014-4: Thunderhill
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/014-4/_mobs.txt",
+"npc/014-4/_warps.txt",
+"npc/014-4/kamelot.txt",
+"npc/014-4/mapflags.txt",
+"npc/014-4/slide.txt",
+"npc/014-4/thorn.txt",
diff --git a/npc/014-4/_mobs.txt b/npc/014-4/_mobs.txt
new file mode 100644
index 0000000..4f3abd8
--- /dev/null
+++ b/npc/014-4/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 014-4: Thunderhill mobs
+014-4,134,85,26,22 monster Centaur 1139,3,90000,80000
+014-4,61,38,43,23 monster Mana Piou 1155,7,25000,5000
+014-4,130,68,24,52 monster Forest Mushroom 1060,10,60000,45000
+014-4,70,77,53,13 monster Living Potato 1181,5,60000,45000
+014-4,20,26,4,20 monster Bluepar 1177,4,30000,30000
+014-4,83,65,44,36 monster Red Butterfly 1025,30,60000,45000
diff --git a/npc/014-4/_warps.txt b/npc/014-4/_warps.txt
new file mode 100644
index 0000000..901a638
--- /dev/null
+++ b/npc/014-4/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 014-4: Thunderhill warps
+014-4,95,32,0 warp #014-4_95_32 0,0,017-1,104,102
+014-4,159,69,0 warp #014-4_159_69 0,3,014-3,30,69
diff --git a/npc/014-4/kamelot.txt b/npc/014-4/kamelot.txt
new file mode 100644
index 0000000..04c80a2
--- /dev/null
+++ b/npc/014-4/kamelot.txt
@@ -0,0 +1,284 @@
+// TMW 2 Script
+// Author:
+// Jesusalva
+// Micksha
+// Description:
+// This NPC is a work on progress. It measures all players equal.
+// Controls the weekly guild dungeon feature.
+// Variable structure:
+
+// $@KAMELOT_ID [ guild_id ] = instance id
+// $@KAMELOT_WAVE [ guild_id ] = contains a temporary control value
+// $KAMELOT_MX [ guild_id ] = player average level - difficulty record
+// $KAMELOT_PC [ guild_id ] = total members in guild
+// $KAMELOT_QUEST [ guild_id ] = quest status (bitmask)
+ // 0 - Not started
+ // 1 - Quest Assigned by Arthur (new players cannot enter anymore)
+ // 2 - Guinevere dialog clear
+ // 4 - Weapon Room cutscene seen
+ // 8 - Magic Seal 01 Broken
+ // 16 - Magic Seal 02 Broken
+ // 32 - Door opened
+ // 64 - Boss defeated
+ // 128 - Guild Reward Claimed
+// $KAMELOT_KEYMASK [ guild_id ] = (bitmask) Keys and Lockpicks
+ // 1 - Treasure A (Boss Room key)
+ // 2 - Treasure B
+ // 4 - Treasure C
+ // 8 - Treasure D
+ // 16 - Weapon Room Key
+// $KAMELOT_PASSMASK [ guild_id ] = (bitmask) Switches in 042-10
+
+// $KAMELOT_KEY [ guild_id ] = Which bit was assigned as the key
+// $KAMELOT_PASSCODE [ guild_id ] = A bitmask of passcode to use the key
+// $KAMELOT_COOLDOWN [ guild_id ] = Last attempt (weekly attempts)
+
+// KamelotCleanup(guildid)
+function script KamelotCleanup {
+ .@g=getarg(0);
+ //$@KAMELOT_ID[.@g]=0;
+ $@KAMELOT_WAVE[.@g]=0;
+ $KAMELOT_MX[.@g]=0;
+ $KAMELOT_PC[.@g]=0;
+ $KAMELOT_KEY[.@g]=0;
+ $KAMELOT_QUEST[.@g]=0;
+ $KAMELOT_KEYMASK[.@g]=0;
+ $KAMELOT_PASSCODE[.@g]=0;
+ $KAMELOT_PASSMASK[.@g]=0;
+ // TODO: Instance Destroy? D:
+ // And it couldn't be ran from Arthur? D:
+ // Timers keep running and previous attempts leave artifacts D:
+ return;
+}
+
+014-4,67,26,0 script #KamelotEnter NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ // Not in a guild: Gate is sealed (MK might be excluded as well)
+ if (getcharid(2) < 1) {
+ dispbottom l("The gates are firmly shut. A warning is on the door, \"DO NOT ENTER. Guild Only.\"");
+ end;
+ }
+
+ // Save your GID for reference
+ .@g=getcharid(2);
+
+ // Quest already started
+ if ($KAMELOT_QUEST[.@g] & 1) {
+
+ // Aurora Event Framework Handler
+ if ($EVENT$ == "Kamelot") {
+ FYE_Kamelot();
+ }
+
+ // Quest started but Cooldown expired
+ // Needs to cleanup - wipe all variables
+ if ($KAMELOT_COOLDOWN[.@g] < gettimeparam(GETTIME_WEEKDAY)) {
+ KamelotCleanup(.@g);
+ } else {
+ dispbottom l("The gates are firmly shut by some weird magical power. %s", (TUTORIAL ? l("Perhaps we should wait a few days."):""));
+ end;
+ }
+ }
+
+ // Build instance if it doesn't exists or has been reallocated
+ if (instanceowner($@KAMELOT_ID[.@g]) != .@g) {
+ debugmes "Creating Instance for guild %d", .@g;
+ .@inst=instance_create("Kamelot@"+.@g, .@g, IOT_GUILD);
+ if (.@inst < 0)
+ Exception("Kamelot Instance Error", RB_DEFAULT|RB_ISFATAL);
+ instance_attachmap("042-0", .@inst, .@g, "042-0@"+.@g);
+ instance_attachmap("042-1", .@inst, .@g, "042-1@"+.@g);
+ instance_attachmap("042-2", .@inst, .@g, "042-2@"+.@g);
+ instance_attachmap("042-3", .@inst, .@g, "042-3@"+.@g);
+ instance_attachmap("042-4", .@inst, .@g, "042-4@"+.@g);
+ instance_attachmap("042-5", .@inst, .@g, "042-5@"+.@g);
+ instance_attachmap("042-6", .@inst, .@g, "042-6@"+.@g);
+ instance_attachmap("042-7", .@inst, .@g, "042-7@"+.@g);
+ instance_attachmap("042-8", .@inst, .@g, "042-8@"+.@g);
+ instance_attachmap("042-9", .@inst, .@g, "042-9@"+.@g);
+ instance_attachmap("042-10", .@inst, .@g, "042-10@"+.@g);
+ instance_attachmap("042-11", .@inst, .@g, "042-11@"+.@g);
+ instance_set_timeout(21600, 21600, .@inst); // Instance lasts 6 hours
+ instance_init(.@inst);
+ $@KAMELOT_ID[.@g] = .@inst;
+ }
+
+ // You can enter in every other state
+ warp "042-0@"+.@g, any(59, 60), 80;
+
+ // Renew the instance clock : 6 hours
+ instance_set_timeout(21600, 21600, $@KAMELOT_ID[.@g]);
+ end;
+
+// Debug is only allowed if server is in override mode
+OnDebug:
+ if (!$@GM_OVERRIDE) goto L_SimplifiedDebug;
+ /*
+ mes "Guild ID:";
+ input .@g;
+
+ if (.@g < 1 || .@g > 100)
+ .@g=getcharid(2);
+ */
+
+ .@g=getcharid(2);
+ if (.@g < 1) end;
+ mes "Kamelot Debug";
+ mesf "Guild: %d", .@g;
+ mes "";
+ mesf "Keys: %d", $KAMELOT_KEYMASK[.@g];
+ mesf "Quest: %d", $KAMELOT_QUEST[.@g];
+ mesf "Wave: %d", $@KAMELOT_WAVE[.@g];
+ mes "";
+ mesf "Maze Password: %d", $KAMELOT_PASSCODE[.@g];
+ mesf "Maze Status: %d", $KAMELOT_PASSMASK[.@g];
+ mes "";
+ mesf "Guild Power: %d", $KAMELOT_MX[.@g];
+ mesf "Guild Count: %d", $KAMELOT_PC[.@g];
+ select
+ l("Abort"),
+ l("Reset"),
+ l("Reset & Destroy"),
+ l("Quest - Skip Weapons Room"),
+ l("Quest - Skip Krukan fight"),
+ l("Quest - Find all Keys"),
+ l("Quest - Unlock Boss Room"),
+ l("Quest - Mark as Completed"),
+ "",
+ l("Warp - Jump to Entrance"), // 10
+ l("Warp - Jump to Weapon Room"),
+ l("Warp - Jump to Basement"),
+ l("Warp - Jump to Jail"),
+ l("Warp - Jump to Sewer Entrance"),
+ l("Warp - Jump to Cave Exit"),
+ l("Warp - Arrest me!");
+ mes "";
+ switch (@menu) {
+ // 3 inheirs 2
+ case 3:
+ instance_destroy($@KAMELOT_ID[.@g]);
+ case 2:
+ $KAMELOT_COOLDOWN[.@g] = 0;
+ KamelotCleanup(.@g);
+ break;
+ // We now order from bottom-up
+ case 8:
+ $KAMELOT_QUEST[.@g]=$KAMELOT_QUEST[.@g]|64;
+ mes "WARNING: Quest concluded";
+ case 7:
+ $KAMELOT_QUEST[.@g]=$KAMELOT_QUEST[.@g]|8;
+ $KAMELOT_QUEST[.@g]=$KAMELOT_QUEST[.@g]|16;
+ $KAMELOT_QUEST[.@g]=$KAMELOT_QUEST[.@g]|32;
+ mes "WARNING: Boss Room was unlocked";
+ case 6:
+ $KAMELOT_KEYMASK[.@g]=$KAMELOT_KEYMASK[.@g]|1;
+ $KAMELOT_KEYMASK[.@g]=$KAMELOT_KEYMASK[.@g]|2;
+ $KAMELOT_KEYMASK[.@g]=$KAMELOT_KEYMASK[.@g]|4;
+ $KAMELOT_KEYMASK[.@g]=$KAMELOT_KEYMASK[.@g]|8;
+ mes "WARNING: Kamelot Basement Chests skipped (not lootable).";
+ case 5:
+ $KAMELOT_QUEST[.@g]=$KAMELOT_QUEST[.@g]|4;
+ mes "WARNING: Krukan Fight and jail skipped.";
+ case 4:
+ $KAMELOT_KEYMASK[.@g]=$KAMELOT_KEYMASK[.@g]|16;
+ mes "WARNING: Weapons Room skipped.";
+ break;
+ // 10+ are the warp triggers
+ case 10:
+ warp "042-0@"+.@g, 60, 40; break;
+ case 11:
+ warp "042-1@"+.@g, 40, 65; break;
+ case 12:
+ warp "042-2@"+.@g, 44, 45; break;
+ case 13:
+ warp "042-3@"+.@g, 60, 130; break;
+ case 14:
+ warp "042-4@"+.@g, 60, 67; break;
+ case 15:
+ warp "042-10@"+.@g, 95, 52; break;
+ case 16:
+ .@t$="042-3@"+.@g;
+ .@n$=instance_npcname("#KSlimeSpawn", $KAMELOT_ID[.@g]);
+ setarray .@x, 33, 84, 41, 74, 36, 57, 79, 43, 24, 86, 59, 38;
+ setarray .@y, 135, 127, 119, 107, 96, 84, 63, 67, 67, 22, 49, 27;
+ specialeffect(FX_HIT, AREA, getcharid(3));
+ .@v = (rand2(12) % 12);
+ .@r=attachrid(getcharid(3));
+ if (.@r) {
+ warp .@t$, .@x[.@v], .@y[.@v];
+ if (!countitem(Lockpicks))
+ addtimer 700, .@n$+"::OnFirstSlime";
+ setpcblock(PCBLOCK_HARD, false);
+ } else {
+ unitwarp(getcharid(3), .@t$, .@x[.@v], .@y[.@v]); // And good luck D:
+ consolebug "FATAL: Could not attach: %d", getcharid(3);
+ }
+ break;
+ }
+ close;
+
+L_SimplifiedDebug:
+ mesc "THIS IS FOR JESUSALVA DEBUG ONLY - DO NOT USE NORMALLY", 1;
+ mes "Guild ID:";
+ input .@gid;
+ if (.@gid < 1 || .@gid > 100)
+ close;
+ $KAMELOT_COOLDOWN[.@gid] = 0;
+ KamelotCleanup(.@gid);
+ mesc "THE GUILD WAS WIPED FROM EXISTENCE.", 1;
+ mesc "Have a nice day! %%l", 3;
+ close;
+
+OnInit:
+ bindatcmd "kdebug", "#KamelotEnter::OnDebug", 99, 100, 1;
+ end;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// KamelotCaveSpawn(Amount, x1, y1, x2, y2, power{, map})
+function script KamelotCaveSpawn {
+ .@label$=instance_npcname(.name$)+"::OnKillMob";
+ .@gcount=getarg(0);
+ .@x1=getarg(1);
+ .@y1=getarg(2);
+ .@x2=getarg(3);
+ .@y2=getarg(4);
+ .@avg=getarg(5);
+ .@m$=instance_mapname(getarg(6, .map$));
+ //debugmes "Total %d, map %s (power %d)", .@gcount, .@m$, .@avg;
+ freeloop(true);
+ for (.@i=0; .@i < .@gcount; .@i++) {
+ .@mobId=any(CursedSoldier, CursedArcher); // 50-50 ratio
+ .@mob=areamonster(.@m$, .@x1, .@y1, .@x2, .@y2, strmobinfo(1, .@mobId), .@mobId, 1, .@label$);
+ // Reconfigure the monster
+ setunitdata(.@mob, UDT_LEVEL, .@avg+1);
+ setunitdata(.@mob, UDT_STR, 1+.@avg*6/10);
+ setunitdata(.@mob, UDT_AGI, 1+.@avg*5/10);
+ setunitdata(.@mob, UDT_VIT, 1+.@avg*5/10);
+ setunitdata(.@mob, UDT_INT, 1+.@avg*6/10);
+ setunitdata(.@mob, UDT_DEX, 1+.@avg*6/10);
+ setunitdata(.@mob, UDT_LUK, 1+.@avg*5/10);
+ setunitdata(.@mob, UDT_ADELAY, 1372);
+ setunitdata(.@mob, UDT_ATKRANGE, (.@mobId == CursedArcher ? any(6,7) : any(1,2)));
+ // Battle Status
+ setunitdata(.@mob, UDT_MAXHP, .@avg*40);
+ setunitdata(.@mob, UDT_HP, .@avg*40);
+ setunitdata(.@mob, UDT_ATKMIN, .@avg*47/10);
+ setunitdata(.@mob, UDT_ATKMAX, .@avg*67/10);
+ setunitdata(.@mob, UDT_DEF, 1+.@avg*12/10);
+ setunitdata(.@mob, UDT_MDEF, 1+.@avg*8/10);
+ setunitdata(.@mob, UDT_HIT, .@avg*65/10); // Advised: x3
+ setunitdata(.@mob, UDT_FLEE, .@avg*45/10); // Advised: x4
+ // Critical calculation
+ .@min=15;
+ .@max=max(.@min, min(40, .@avg/3));
+ setunitdata(.@mob, UDT_CRIT, rand2(.@min, .@max));
+ // Loop through
+ }
+ freeloop(false);
+ return;
+}
+
+
diff --git a/npc/014-4/mapflags.txt b/npc/014-4/mapflags.txt
new file mode 100644
index 0000000..351108a
--- /dev/null
+++ b/npc/014-4/mapflags.txt
@@ -0,0 +1,4 @@
+014-4 mapflag magic_damage_rate 120
+014-4 mapflag misc_damage_rate 120
+014-4 mapflag weapon_damage_rate 80
+
diff --git a/npc/014-4/slide.txt b/npc/014-4/slide.txt
new file mode 100644
index 0000000..28cbc67
--- /dev/null
+++ b/npc/014-4/slide.txt
@@ -0,0 +1,27 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Allows movement sliding though the bridge on 014-4
+
+014-4,58,51,0 script #014-4_58_51 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 51, 51;
+ end;
+}
+
+014-4,52,51,0 script #014-4_52_51 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 59, 51;
+ end;
+}
+
+014-4,25,47,0 script #014-4_25_47 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 25, 49;
+ end;
+}
+
diff --git a/npc/014-4/thorn.txt b/npc/014-4/thorn.txt
new file mode 100644
index 0000000..6a06704
--- /dev/null
+++ b/npc/014-4/thorn.txt
@@ -0,0 +1,141 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Spring Quest, disabled during Easter
+// Sighly inspired with Soren and Demure relationship, I guess
+//
+// SQuest_Spring
+// 0 - Not Assigned
+// 1 -
+
+014-4,149,98,0 script Thorn NPC_THORN_NPC,{
+ if (season() != SPRING && !$@GM_OVERRIDE)
+ goto L_OutOfSeason;
+ if ($EVENT$ == "Easter")
+ goto L_QuestDisabled;
+
+ .@q=getq(SQuest_Spring);
+ mesn;
+ mesq l("Blossom, blossom, why you do this to me...");
+ if (.@q < 1)
+ goto L_SpringQuest;
+
+L_Main:
+ next;
+ .@q=getq(HurnscaldQuest_Thorn);
+ if (.@q == 0) {
+ mesn;
+ mesq l("I'm actually half-wose. This means part of me is tree.");
+ next;
+ mesn;
+ mesq l("I can walk, I'm just... Trapped here. That's why I need someone to help me to cultivate my wose part!");
+ next;
+ mesn;
+ mesq l("Could you please bring me @@ @@ and @@ @@? I'll give you a bunch of herbs if you help me!", 12, getitemlink(Root), 35, getitemlink(Acorn));
+ next;
+ mesc l("Give him the materials he asked for?");
+ if (askyesno() == ASK_YES) {
+ inventoryplace ShadowHerb, 20, ArtichokeHerb, 20;
+ if (!transcheck(Root, 12, Acorn, 35))
+ close;
+ getitem ShadowHerb, 20;
+ getitem ArtichokeHerb, 20;
+ getexp 600, 120; // Reference: Level 20
+ mesn;
+ mesq l("Thanks for helping me out. I know this is nothing, but please accept these herbs I've collected.");
+ setq HurnscaldQuest_Thorn, 1;
+ next;
+ }
+ }
+ closeclientdialog;
+ goodbye;
+ end;
+
+L_OutOfSeason:
+ mesn;
+ mesq l("Maybe on spring Blossom will look at me... For now, my wose part is withering.");
+ goto L_Main;
+
+L_QuestDisabled:
+ mesn;
+ mesq l("Happy Easter!");
+ mesc l("The @@ quest is disabled during Easter event.", getitemlink(Wreath));
+ next;
+ goto L_Main;
+
+L_SpringQuest:
+ next;
+ mesn;
+ mesq l("Hey, you! Help me!");
+ next;
+ mesn;
+ mesq l("My waifu Blossom has me trapped here, and she won't even look at me, because I'm part-Wose!");
+ next;
+ mesn;
+ mesq l("But it is spring! Perhaps, if you bring me some flowers and fruits which only grow at Spring, I could impress her!");
+ next;
+ mesn;
+ mes l("What about you bring me:");
+ mes l("@@/55 @@", countitem(Rose), getitemlink(Rose));
+ mes l("@@/55 @@", countitem(Tulip), getitemlink(Tulip));
+ mes l("@@/50 @@", countitem(Blueberries), getitemlink(Blueberries));
+ mes l("@@/10 @@", countitem(GrassSeeds), getitemlink(GrassSeeds));
+
+ mes l("@@/80 @@", countitem(MauveHerb), getitemlink(MauveHerb));
+ mes l("@@/80 @@", countitem(GambogeHerb), getitemlink(GambogeHerb));
+ mes l("@@/80 @@", countitem(CobaltHerb), getitemlink(CobaltHerb));
+ mes l("@@/80 @@", countitem(AlizarinHerb), getitemlink(AlizarinHerb));
+ next;
+ select
+ l("Not now, thanks"),
+ l("To be honest, I have that with me!");
+
+ mes "";
+ if (@menu == 1)
+ goto L_Main;
+ if (@menu == 2) {
+ if (
+ countitem(Rose) < 55 ||
+ countitem(Tulip) < 55 ||
+ countitem(Blueberries) < 50 ||
+ countitem(GrassSeeds) < 10 ||
+ countitem(MauveHerb) < 80 ||
+ countitem(GambogeHerb) < 80 ||
+ countitem(CobaltHerb) < 80 ||
+ countitem(AlizarinHerb) < 70
+ ) goto L_Lying;
+
+ inventoryplace Wreath, 1;
+ delitem Rose, 55;
+ delitem Tulip, 55;
+ delitem Blueberries, 50;
+ delitem GrassSeeds, 10;
+ delitem MauveHerb, 80;
+ delitem GambogeHerb, 80;
+ delitem CobaltHerb, 80;
+ delitem AlizarinHerb, 80;
+ getitem Wreath, 1;
+ getexp (210*BaseLevel), 120;
+ setq1 SQuest_Spring, 1;
+ mesn;
+ mesq l("Many thanks! If I let my wose side blossom, I'm sure she'll look at me!");
+ next;
+ mesn;
+ mesq l("Here, take the reward as promised!");
+ goto L_Main;
+ }
+
+ close;
+
+L_Lying:
+ mesn;
+ mesq l("Please don't lie to me...") + " </3";
+ goto L_Main;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=4;
+ end;
+
+}
diff --git a/npc/014-5-1/_import.txt b/npc/014-5-1/_import.txt
new file mode 100644
index 0000000..16e2148
--- /dev/null
+++ b/npc/014-5-1/_import.txt
@@ -0,0 +1,5 @@
+// Map 014-5-1: Forgotten Hut
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/014-5-1/_warps.txt",
+"npc/014-5-1/objects.txt",
+"npc/014-5-1/sagratha.txt",
diff --git a/npc/014-5-1/_warps.txt b/npc/014-5-1/_warps.txt
new file mode 100644
index 0000000..0d236b1
--- /dev/null
+++ b/npc/014-5-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 014-5-1: Forgotten Hut warps
+014-5-1,33,45,0 warp #014-5-1_33_45 0,0,014-5,122,138
diff --git a/npc/014-5-1/objects.txt b/npc/014-5-1/objects.txt
new file mode 100644
index 0000000..ed35209
--- /dev/null
+++ b/npc/014-5-1/objects.txt
@@ -0,0 +1,90 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Sagratha household items
+
+014-5-1,33,38,0 script Pan#Saggy NPC_NO_SPRITE,{
+ @qsagratha=@qsagratha|1;
+ mesn;
+ mesc l("The pan is empty, but it smells like fresh cookies.");
+ close;
+OnInit:
+ .distance=5;
+ disablenpc .name$;
+ end;
+}
+
+
+014-5-1,33,34,0 script Painting#Saggy NPC_NO_SPRITE,{
+ @qsagratha=@qsagratha|2;
+ mesn;
+ mesc l("Definitely not suspcious at all.");
+ if (@qsagratha >= 31) {
+ next;
+ mesn;
+ mesc l("Thinking well... There's something behind it! A secret window!");
+ if (getq(HurnscaldQuest_Sagratha) <= 2) {
+ setq3 HurnscaldQuest_Sagratha, 1;
+ } else {
+ next;
+ mesn l("Secret Window");
+ mesc l("Enter though the window to the secret caves?");
+ next;
+ if (askyesno() == ASK_YES) {
+ warp "015-8", 99, 178;
+ closeclientdialog;
+ end;
+ }
+ }
+ next;
+ mesn l("Secret Window");
+ mesc l("The window appears to be unlocked. It might have been open some time ago.");
+ }
+ close;
+OnInit:
+ .distance=5;
+ disablenpc .name$;
+ end;
+}
+
+
+014-5-1,29,37,0 script Fireplace#Saggy NPC_NO_SPRITE,{
+ @qsagratha=@qsagratha|4;
+ mesn;
+ mesc l("Some smoke still remains, but the fire seems to have died.");
+ close;
+OnInit:
+ .distance=5;
+ disablenpc .name$;
+ end;
+}
+
+
+
+
+014-5-1,29,39,0 script Book#Saggy NPC_NO_SPRITE,{
+ @qsagratha=@qsagratha|8;
+ mesn;
+ mesc l("Seems to be a recipe book about apple cookies.");
+ close;
+OnInit:
+ .distance=5;
+ disablenpc .name$;
+ end;
+}
+
+
+
+
+014-5-1,29,41,0 script Bed#Saggy NPC_NO_SPRITE,{
+ @qsagratha=@qsagratha|16;
+ mesn;
+ mesc l("Smells like mouboos.");
+ close;
+OnInit:
+ .distance=5;
+ disablenpc .name$;
+ end;
+}
+
diff --git a/npc/014-5-1/sagratha.txt b/npc/014-5-1/sagratha.txt
new file mode 100644
index 0000000..6b727f4
--- /dev/null
+++ b/npc/014-5-1/sagratha.txt
@@ -0,0 +1,650 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva and TMW Org.
+// Description:
+// Sagratha (variables SAGRATHA_SCORE and SAGRATHA_FRIENDSHIP)
+
+// SaggyScoreUpdate( amount )
+function script SaggyScoreUpdate {
+ .@val=getarg(0);
+ SAGRATHA_SCORE=limit(-50, SAGRATHA_SCORE+.@val, 50);
+ return;
+}
+
+function script SaggyMobCount {
+ switch (killedrid) {
+ // She gets angry
+ case AlphaMouboo:
+ SaggyScoreUpdate(-3);
+ break;
+ case Mouboo:
+ SaggyScoreUpdate(any(-2, -3));
+ break;
+ case Pollet:
+ case Fluffy:
+ case IcedFluffy:
+ SaggyScoreUpdate(any(-1, -2, -3));
+ break;
+ case PoisonSpikyMushroom:
+ case LogHead:
+ case ForestMushroom:
+ SaggyScoreUpdate(any(-1, -2));
+ break;
+ case Squirrel:
+ case SpringSquirrel:
+ case LofSquirrel:
+ case FrozenSquirrel:
+ case FairysSquirrel:
+ case MananaTree:
+ SaggyScoreUpdate(-1);
+ break;
+
+ // She may get happy. Who knows.
+ case ViciousSquirrel:
+ case WickedMushroom:
+ case Bluepar:
+ case BlackScorpion:
+ case Bandit:
+ case RobinBandit:
+ SaggyScoreUpdate(any(0,0,0,0,1));
+ break;
+ }
+ // Full hate vs Ghosts, Undead and shadow
+ .@mr=getmonsterinfo(killedrid, MOB_ELEMENT);
+ switch (.@mr) {
+ case Ele_Dark:
+ case Ele_Ghost:
+ //case Ele_Undead:
+ SaggyScoreUpdate(any(0,0,0,0,1));
+ break;
+ }
+ return;
+}
+
+014-5-1,33,37,0 script Sagratha NPC_SAGRATHA,{
+ function teachMagic;
+ function requireHelp;
+ if (array_find(.SaggyHats, getequipid(EQI_HEAD_TOP)) >= 0)
+ goto L_HatAttack;
+
+ .@q=getq(HurnscaldQuest_Sagratha);
+ .@m=getq(HurnscaldQuest_InjuriedMouboo);
+
+ // Safety - Impossible Situation
+ if (.@m < 2 || .@m > 3 || .@q < 6) {
+ Exception("Player found cheating/breaking the rules. Character banned. Please contact GM Staff if you believe this is an error.", RB_DEFAULT|RB_SPEECH);
+ //atcommand "@jailfor 7h "+strcharinfo(0);
+ Exception ("Exception at exception, shutting down! (m is "+.@m+", q is "+.@q+")", RB_SPEECH|RB_ISFATAL);
+ close;
+ }
+
+ mesn;
+
+ if (SAGRATHA_FRIENDSHIP >= 2)
+ mesc l("@@ nods as she notices you.", .name$);
+ else if (SAGRATHA_FRIENDSHIP == 1)
+ mesc l("@@ raises an eyebrow as you address her.", .name$);
+ else
+ mesc l("@@ glances at you, suspicion evident in her eyes.", .name$);
+
+ mesq l("Hello.");
+ next;
+
+ if (.@m == 2 && .@q >= 6)
+ goto L_Reward;
+ if (.@q == 6)
+ goto L_Finish;
+ if (SAGRATHA_SCORE < 0)
+ goto L_Unhappy;
+
+ do
+ {
+ .@x=getq(General_Sagratha);
+ mesn strcharinfo(0);
+ select
+ l("Can I return to the shrine?"),
+ l("I would like some Mouboo Milk."),
+ l("Can you teach me magic? Pretty please?"),
+ l("Can I help you with something?"),
+ l("What can you tell me about the Moubootaur?"),
+ l("Good bye.");
+ mes "";
+ switch (@menu) {
+ // XXX: Sealed Shrine
+ case 1:
+ mesn;
+ mesq l("Why would you want to go back there?");
+ mesc l("@@ snarls.", .name$);
+ next;
+ mesn;
+ mesq l("That was a Moubootaur's temple. It is not the kind of place to give a stroll on the park.");
+ next;
+ mesn;
+ mesq l("Did you noticed how no monster got close to it?");
+ next;
+ select
+ l("You're right. Sorry."),
+ l("Don't worry, I'll stay at the caves."),
+ l("I want to pay my respects as a fellow Pink Mouboo cult member."),
+ l("But I need to!");
+ mes "";
+ if (@menu == 3) {
+ mesn;
+ mesq l("As a what?");
+ next;
+ }
+ else if (@menu == 4) {
+ mesn;
+ mesq l("No you don't. Don't disturb the forest for no reason.");
+ close;
+ }
+ else if (@menu == 1) {
+ mesn;
+ mesq l("Hmpf. Wise choice.");
+ next;
+ break; // Return to the while loop
+ }
+ mesn;
+ mesq l("As you wish. But do not mess with things you don't understand.");
+ next;
+ closeclientdialog;
+ warp "015-8", 99, 178;
+ close;
+ // XXX: Mouboo Milk
+ case 2:
+ if (SAGRATHA_SCORE < 45) {
+ mesn;
+ mesq l("You don't need, nor deserve it.");
+ next;
+ mesn;
+ mesq l("Learn milking a Mouboo. And if you harm them, I'll cast a lightning bolt at you!");
+ next;
+ break;
+ }
+ if (SAGRATHA_MILK > gettimeparam(GETTIME_HOUR)) {
+ mesn;
+ mesq l("I just gave you it. Come back later.");
+ next;
+ break;
+ }
+ inventoryplace Milk, 2;
+ SAGRATHA_SCORE-=8; // :o
+ SAGRATHA_MILK=gettimeparam(GETTIME_HOUR)+4;
+ getitem Milk, any(1,1,1,1,1,1,2);
+ mesn;
+ mesq l("Here. You know that milking Mouboos won't cause them harm, right? It's a different story with @@.", getitemlink(MoubooSteak));
+ close;
+ break;
+ // XXX: Teach magic / etc
+ case 3:
+ case 4:
+ if (.@x % 2 == 0)
+ teachMagic();
+ else
+ requireHelp();
+ break;
+ // XXX: Moubootaur
+ case 5:
+ mesn;
+ mesq l("It's a scary legend of old. It's truth, but I don't know how much it is.");
+ next;
+ mesn;
+ mesq l("Anyway, the Moubootaur certainly existed, and probably is still alive.");
+ next;
+ mesn;
+ mesq l("How powerful they were or are, their cruelty, their judgment against the Terranite Civilization and the other bloody details of the legend... I cannot confirm them to you.");
+ next;
+ break;
+ default:
+ closeclientdialog;
+ goodbye;
+ close;
+ }
+ } while (true);
+
+ close;
+
+L_Finish:
+ // WHAT
+ if (.@m != 3) {
+ Exception("Player found cheating/breaking the rules. Character banned. Please contact GM Staff if you believe this is an error.", RB_DEFAULT|RB_SPEECH);
+ atcommand "@jailfor 7h "+strcharinfo(0);
+ close;
+ }
+ mesn;
+ mesq l("I haven't thanked you yet.");
+ next;
+ select
+ l("You're welcome."),
+ l("For the rescue? You didn't seemed to be in need of aid."),
+ l("Yes, I'm awesome, praise me more."),
+ l("For the mouboo? I was only doing my duty.");
+ mes "";
+ mesn;
+ if (@menu != 4)
+ mesq l("Not for that! For helping out the injuried mouboo, of course.");
+ else
+ mesq l("Hmpf, it's good to see you're at least trying to follow Wyara's example.");
+ next;
+ mesn;
+ mesq l("Anyway, Wyara told me about the assassins. I'm surprised they followed me until the ruins.");
+ next;
+ mesn;
+ mesq l("I thought I would be safe in the shrine, but seems like they are after the Moubootaur. Great danger will befall all forest creatures if they accomplish that.");
+ next;
+ mesn;
+ mesq l("This will affect humans, too, so don't act as if it is not your bussiness either.");
+ next;
+ mesn;
+ mesq l("For now, take this @@. I hope that you will use this power for something good now.", getitemlink(AlchemyBlueprintB));
+ inventoryplace AlchemyBlueprintB, 1;
+ getitem AlchemyBlueprintB, 1;
+ getexp 24000, 0; // ~70% from level 40 (quest estimate level)
+ Zeny+=3000; // About 50 carps sold
+ SAGRATHA_FRIENDSHIP+=1;
+ setq HurnscaldQuest_Sagratha, 7;
+ close;
+
+L_Reward:
+ select
+ l("Hi! My name is @@.", strcharinfo(0)),
+ l("Are you Sagratha?"),
+ l("Good bye.");
+ mes "";
+ if (@menu == 3)
+ close;
+ if (@menu == 1) {
+ mesn;
+ mesq l("Ah.");
+ next;
+ select
+ l("Are you Sagratha?"),
+ l("Erm... Good bye.");
+ mes "";
+ if (@menu == 2)
+ close;
+ }
+ mesn;
+ mesq l("Yes.");
+ next;
+ mesn;
+ mesq l("Do you need something from me?");
+ next;
+ // A check is not needed, because quest pre-requisites
+ // If you don't have the quest in clearable state... CHEAT!
+ select
+ l("Yep. There was a cursed mouboo on the road."),
+ l("Not really.");
+ mes "";
+ if (@menu == 2) {
+ mesn;
+ mesq l("Okay then.");
+ close;
+ }
+ mesn;
+ mesq l("Yes, the cursed Mouboo you told me earlier, on the way out.");
+ next;
+ mesn;
+ mesq l("The curse was done by nobody less than... the Moubootaur.");
+ next;
+ mesn;
+ mesq l("Well. I'll take care of that, don't worry with that.");
+ next;
+ mesn;
+ mesq l("It's my duty to protect the beings in the forest... Not all of them are monsters as @@s like you think.", get_race());
+ compareandsetq HurnscaldQuest_InjuriedMouboo, 2, 3;
+ SAGRATHA_FRIENDSHIP+=1;
+ close;
+
+L_HatAttack:
+ mesn;
+ mesc l("@@ seems to be trembling with disgust as she stares at your headgear.", .name$);
+ next;
+ mesn;
+ mesq l("Do you think that is funny?");
+ mesc l("@@ snarls.", .name$);
+ next;
+ mesn;
+ mesq l("You have no idea what that poor creature felt!");
+ next;
+ mesn;
+ mesc l("She snaps her fingers.");
+ mesq l("Let me show you...");
+ specialeffect 312, SELF, getcharid(3);
+ percentheal -30, 0;
+ close;
+
+L_Unhappy:
+ mesn;
+ mesc l("@@ glares at you in anger.", .name$);
+ mesq l("I wonder if you can still sleep after killing those innocent forest creatures!");
+ next;
+ mesn;
+ mesq l("I am sure that they will come back to haunt you in your dreams!");
+ close;
+// Functions - TODO: Where are Mouboo Summon? Loghead summon? etc.?
+function teachMagic {
+ .@x=getarg(0,getq(General_Sagratha));
+ switch (.@x) {
+ case 0:
+ if (MAGIC_LVL < 1)
+ goto L_Magicless;
+ mesn;
+ mesc l("@@ nods.", .name$);
+ mesq l("For now, yes. But you will have to prove that you really care about more than yourself.");
+ next;
+ mesn;
+ mesq l("I'll teach you a spell. It is called CUTE HEART. It summons Fluffies. They are so cute, I want to hug them...");
+ skill TMW2_CUTEHEART, 1, 0;
+ setq General_Sagratha, 1;
+ break;
+ case 2:
+ if (MAGIC_LVL < 2)
+ goto L_Magicless;
+ mesn;
+ mesc l("@@ nods.", .name$);
+ mesq l("Be careful, because the more magic power you ask the Mana Seed, the more difficult to control it will be.");
+ next;
+ mesn;
+ mesq l("This is how the Monster King became evil. Keep practicing magic, so you get more comfortable with it and fail less often.");
+ next;
+ mesn;
+ mesq l("Anyway. This is the KALBOO spell. It'll summon mouboos.");
+ next;
+ mesn;
+ mesq l("The world belong to Mouboos. They are sublime creatures!");
+ skill TMW2_KALBOO, 1, 0;
+ setq General_Sagratha, 3;
+ break;
+ case 4:
+ if (MAGIC_LVL < 3)
+ goto L_Magicless;
+ mesn;
+ mesc l("@@ nods.", .name$);
+ mesq l("You've been doing well. Be careful out there.");
+ next;
+ mesn;
+ mesq l("Anyway. This is the KALWULF spell. It'll spawn Wolverns.");
+ next;
+ mesn;
+ mesq l("Wolverns are fierce creatures who likes cold places. Their fur is soft.");
+ next;
+ mesn;
+ mesq l("You can also use PLANT KINGDOM to spawn several plants at once, too. Let's make this world more green.");
+ skill TMW2_KALWULF, 1, 0;
+ skill TMW2_PLANTKINGDOM, 1, 0;
+ setq General_Sagratha, 5;
+ break;
+ case 6:
+ if (MAGIC_LVL < 4)
+ goto L_Magicless;
+ mesn;
+ mesc l("@@ nods.", .name$);
+ mesq l("You've been doing quite well, indeed. Ever visited Lilit?");
+ next;
+ mesn;
+ mesq l("Lilit is the fairy kingdom, governed by Lilit the Fairy.");
+ next;
+ mesn;
+ mesq l("Anyway. This is the FAIRY KINGDOM spell. It'll spawn fairies.");
+ next;
+ mesn;
+ mesq l("Fairies usually behaves well, but they hate snakes, so avoid casting halhiss and fairy kingdom at once. You never know.");
+ skill TMW2_FAIRYKINGDOM, 1, 0;
+ setq General_Sagratha, 7;
+ break;
+ case 8:
+ if (MAGIC_LVL < 5)
+ goto L_Magicless;
+ mesn;
+ mesc l("@@ nods.", .name$);
+ mesq l("You've been doing very well, I'm surprised.");
+ next;
+ mesn;
+ mesq l("The most powerful spells can, sometimes, summon some monster you didn't wanted to.");
+ next;
+ mesn;
+ mesq l("This is the FROZENHEART spell. It'll summon... Yeti.");
+ next;
+ mesn;
+ mesq l("But if you're not skilled enough, or lose control of it, a Moggun might be spawned instead. Which is a young, weak, baby Yeti.");
+ skill TMW2_FROZENHEART, 1, 0;
+ setq General_Sagratha, 9;
+ break;
+ case 10:
+ if (MAGIC_LVL < 6)
+ goto L_Magicless;
+ mesn;
+ mesc l("@@ nods.", .name$);
+ mesq l("You've been asking for way too much power from the Mana Seed.");
+ next;
+ mesn;
+ mesq l("Too much power can corrupt you. I've seen this happening before... countless times.");
+ next;
+ mesn;
+ mesq l("This is the STONEHEART spell. It'll summon the fierce Terranite.");
+ next;
+ mesn;
+ mesq l("They used to be an advanced civilization long long ago, but they decided to go against the Moubootaur.");
+ next;
+ mesn;
+ mesq l("They are now like most monsters. I pity them. Their sacrifice was not in vain, though.");
+ skill TMW2_STONEHEART, 1, 0;
+ setq General_Sagratha, 11;
+ break;
+ case 12:
+ if (MAGIC_LVL < 7)
+ goto L_Magicless;
+ mesn;
+ mesc l("@@ nods reluctantly.", .name$);
+ mesq l("If you try take any more power from the Mana Seed, I'll kill you.");
+ next;
+ mesn;
+ mesq l("Seven levels is what the Mana Seed may give to any race but Saviors.");
+ next;
+ mesn;
+ mesq l("Of course, the Savior race is extinct as far as history book concern with.");
+ next;
+ mesn;
+ mesq l("This is the FAIRYEMPIRE spell. It'll summon Pixies.");
+ next;
+ mesn;
+ mesq l("For simple-minded individuals like you, pixies are fairies.");
+ skill TMW2_FAIRYEMPIRE, 1, 0;
+ setq General_Sagratha, 13;
+ break;
+ }
+ /*
+ Plants Lv 1
+ Kalmurk Lv 10
+ Zarkor Lv 15
+ Fluffy Lv 15
+ Poison Spiky Mushroom Lv 25
+ Limerizer Lv 30 → Unused
+
+ Mouboo Lv 35
+ Halhiss Lv 40
+ Wolvern Lv 45
+
+ Fairy Kingdom Lv 50
+ Frozenheart Lv 60
+ Dragokin Lv 70 → Unused (Lilit reward)
+ Stoneheart Lv 80
+ Pixies Lv 90
+
+ Never released:
+ TODO Scorpions Lv 30~50
+ TODO Black Mamba Lv 80
+ TODO Moonshroom Lv 80
+ TODO Centaur Lv 80
+
+ skill TMW2_DRAGOKIN, 5;
+ */
+ next;
+ return;
+}
+function requireHelp {
+ .@x=getarg(0,getq(General_Sagratha));
+ switch (.@x) {
+ case 1:
+ mesn;
+ mesq l("I need help because, you see, I don't carry a cauldron around.");
+ next;
+ mesn;
+ mesq l("I need @@ @@, if you could arrange me that I would be grateful.", 35, getitemlink(PiberriesInfusion));
+ if (countitem(PiberriesInfusion) < 35)
+ break;
+ next;
+ mesc l("Deliver the potions to Sagratha?");
+ if (askyesno() == ASK_YES) {
+ delitem PiberriesInfusion, 35;
+ getexp 800, 0;
+ mesn;
+ mesq l("Thanks. Do you know the KALSPIKE magic? It allows you to summon Poison Spiky Mushroom. Just use a spore.");
+ skill TMW2_KALSPIKE, 1, 0;
+ setq General_Sagratha, 2;
+ }
+ break;
+ case 3:
+ .@m=Wolvern;
+ if (BaseLevel < getmonsterinfo(.@m, MOB_LV)) {
+ mesn;
+ mesq l("When you're stronger I may consider asking for your help.");
+ break;
+ }
+ mesn;
+ mesq l("I need help because, you see, I don't carry a cauldron around.");
+ next;
+ mesn;
+ mesq l("I need @@ @@, if you could arrange me that I would be grateful.", 1, getitemlink(GoldenApple));
+ if (countitem(GoldenApple) < 1)
+ break;
+ next;
+ mesc l("Deliver the items to Sagratha?");
+ if (askyesno() == ASK_YES) {
+ delitem GoldenApple, 1;
+ .@xp=getmonsterinfo(.@m, MOB_BASEEXP);
+ .@jp=getmonsterinfo(.@m, MOB_JOBEXP);
+ getexp .@xp*20, .@jp*15;
+ mesn;
+ mesq l("Thanks. I am willing to share you more magic, if you're interested.");
+ setq General_Sagratha, 4;
+ }
+ break;
+ case 5:
+ .@m=FireFairy;
+ if (BaseLevel < getmonsterinfo(.@m, MOB_LV)) {
+ mesn;
+ mesq l("When you're stronger I may consider asking for your help.");
+ break;
+ }
+ mesn;
+ mesq l("I need help because, you see, I don't carry a cauldron around.");
+ next;
+ mesn;
+ mesq l("I need @@ @@, if you could arrange me that I would be grateful.", 1, getitemlink(LilitWarpCrystal));
+ if (countitem(LilitWarpCrystal) < 1)
+ break;
+ next;
+ mesc l("Deliver the items to Sagratha?");
+ if (askyesno() == ASK_YES) {
+ delitem LilitWarpCrystal, 1;
+ .@xp=getmonsterinfo(.@m, MOB_BASEEXP);
+ .@jp=getmonsterinfo(.@m, MOB_JOBEXP);
+ getexp .@xp*20, .@jp*15;
+ mesn;
+ mesq l("Thanks. I am willing to share you more magic, if you're interested.");
+ setq General_Sagratha, 6;
+ }
+ break;
+ case 7:
+ .@m=Yeti;
+ if (BaseLevel < getmonsterinfo(.@m, MOB_LV)) {
+ mesn;
+ mesq l("When you're stronger I may consider asking for your help.");
+ break;
+ }
+ mesn;
+ mesq l("I need help because, you see, I don't carry a cauldron around.");
+ next;
+ mesn;
+ mesq l("I need @@ @@, if you could arrange me that I would be grateful.", 20, getitemlink(SacredManaPotion));
+ if (countitem(SacredManaPotion) < 20)
+ break;
+ next;
+ mesc l("Deliver the items to Sagratha?");
+ if (askyesno() == ASK_YES) {
+ delitem SacredManaPotion, 20;
+ .@xp=getmonsterinfo(.@m, MOB_BASEEXP);
+ .@jp=getmonsterinfo(.@m, MOB_JOBEXP);
+ getexp .@xp*20, .@jp*15;
+ mesn;
+ mesq l("Thanks. I am willing to share you more magic, if you're interested.");
+ setq General_Sagratha, 8;
+ }
+ break;
+ case 9:
+ .@m=Terranite;
+ if (BaseLevel < getmonsterinfo(.@m, MOB_LV)) {
+ mesn;
+ mesq l("When you're stronger I may consider asking for your help.");
+ break;
+ }
+ mesn;
+ mesq l("I need help because, you see, I don't carry a cauldron around.");
+ next;
+ mesn;
+ mesq l("I need @@ @@, if you could arrange me that I would be grateful.", 20, getitemlink(SacredImmortalityPotion));
+ if (countitem(SacredImmortalityPotion) < 20)
+ break;
+ mesq l("Ah! I also want @@ @@.", 1, getitemlink(Arcanum));
+ if (countitem(Arcanum) < 1)
+ break;
+ next;
+ mesc l("Deliver the items to Sagratha?");
+ if (askyesno() == ASK_YES) {
+ delitem SacredImmortalityPotion, 20;
+ delitem Arcanum, 1;
+ .@xp=getmonsterinfo(.@m, MOB_BASEEXP);
+ .@jp=getmonsterinfo(.@m, MOB_JOBEXP);
+ getexp .@xp*20, .@jp*15;
+ mesn;
+ mesq l("Thanks. I am willing to share you more magic, if you're interested.");
+ setq General_Sagratha, 10;
+ }
+ break;
+ default:
+ mesn;
+ mesq l("Maybe. Come back later.");
+ next;
+ break;
+ }
+ next;
+ return;
+}
+
+L_Lie:
+ mesn;
+ mesq l("I'm not blind.");
+ close;
+
+L_Magicless:
+ mesn;
+ mesq l("Not yet. You have to ask the mana seed to give you more power.");
+ next;
+ mesn;
+ mesq l("Your skill in magic is not great enough to use some of the spells yet, so keep practicing and visiting the mana seed until it is.");
+ close;
+
+OnInit:
+ setarray .SaggyHats, FluffyHat, MoubooHat, AlphaMoubooHat;
+
+ .distance=5;
+ npcsit;
+ end;
+
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
diff --git a/npc/014-5/_import.txt b/npc/014-5/_import.txt
new file mode 100644
index 0000000..6920787
--- /dev/null
+++ b/npc/014-5/_import.txt
@@ -0,0 +1,8 @@
+// Map 014-5: North Woodlands
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/014-5/_mobs.txt",
+"npc/014-5/_warps.txt",
+"npc/014-5/blossom.txt",
+"npc/014-5/events.txt",
+"npc/014-5/sagratha.txt",
+"npc/014-5/sign.txt",
diff --git a/npc/014-5/_mobs.txt b/npc/014-5/_mobs.txt
new file mode 100644
index 0000000..bdb0413
--- /dev/null
+++ b/npc/014-5/_mobs.txt
@@ -0,0 +1,12 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 014-5: North Woodlands mobs
+014-5,156,106,48,44 monster Log Head 1066,21,20000,20000
+014-5,68,178,48,44 monster Mouboo 1023,18,20000,10000
+014-5,90,82,62,55 monster Poison Spiky Mushroom 1043,21,20000,10000
+014-5,56,114,36,30 monster Red Mushroom 1042,7,40000,10000
+014-5,130,132,48,44 monster Forest Mushroom 1060,11,20000,10000
+014-5,76,70,48,44 monster Plushroom Field 1011,16,80000,80000
+014-5,66,110,44,38 monster Chagashroom Field 1128,16,80000,80000
+014-5,153,88,48,44 monster Cobalt Herb 1136,8,80000,80000
+014-5,132,140,61,33 monster Gamboge Herb 1134,6,80000,80000
+014-5,91,132,54,63 monster Mauve Herb 1135,9,80000,80000
diff --git a/npc/014-5/_warps.txt b/npc/014-5/_warps.txt
new file mode 100644
index 0000000..e8fbbdc
--- /dev/null
+++ b/npc/014-5/_warps.txt
@@ -0,0 +1,7 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 014-5: North Woodlands warps
+014-5,48,161,0 warp #014-5_48_161 0,0,015-7,38,94
+014-5,59,154,0 warp #014-5_59_154 0,0,015-7,84,65
+014-5,82,229,0 warp #014-5_82_229 1,0,014-3,155,41
+014-5,86,31,0 warp #014-5_86_31 0,0,015-5,81,139
+014-5,192,16,0 warp #014-5_192_16 2,0,019-4,53,109
diff --git a/npc/014-5/blossom.txt b/npc/014-5/blossom.txt
new file mode 100644
index 0000000..2193075
--- /dev/null
+++ b/npc/014-5/blossom.txt
@@ -0,0 +1,139 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Spring Quest, disabled during Easter
+//
+// SQuest_SPring
+
+014-5,79,168,0 script Blossom NPC_BLOSSOM,{
+ if (season() != SPRING && !$@GM_OVERRIDE)
+ goto L_OutOfSeason;
+ if ($EVENT$ == "Easter")
+ goto L_QuestDisabled;
+
+ .@q=getq(SQuest_Spring);
+ mesn;
+ mesq l("Thorn is so annoying...");
+ if (.@q < 1)
+ goto L_SpringQuest;
+
+L_Main:
+ next;
+ .@q=getq(HurnscaldQuest_Blossom);
+ if (.@q == 0) {
+ mesn;
+ mesq l("Anyway, I got this really nice @@ from Audsbel. He said I could collect herbs more efficiently with it.", getitemlink(EnchantedHerbBag));
+ next;
+ mesn;
+ mesq l("I am willing to give it to you, if help me out. I promise it won't be a bother, and it'll really be useful for you, I swear.");
+ next;
+ mesn;
+ mesq l("I would like @@ @@, @@ @@ and @@ @@!", 30, getitemlink(HalfEggshell), 7, getitemlink(RedApple), 1, getitemlink(Orange));
+ mesc l("@@ drolls without realizing.", .name$);
+ next;
+ mesc l("Give her the materials she asked for?");
+ if (askyesno() == ASK_YES) {
+ inventoryplace EnchantedHerbBag, 1;
+ if (!transcheck(HalfEggshell, 30, RedApple, 7, Orange, 1))
+ close;
+ getitem EnchantedHerbBag, 1;
+ getexp 600, 120; // Reference: Level 20
+ mesn;
+ mesq l("Thanks for helping me out! Here, take this bag. Now if you excuse me...");
+ mesc l("*drolls*");
+ setq HurnscaldQuest_Blossom, 1;
+ next;
+ }
+ }
+ closeclientdialog;
+ goodbye;
+ end;
+
+L_OutOfSeason:
+ mesn;
+ mesq l("Hmm, Woodlands is a wonderful place to live in! Although Thorn gets really a thorn in my boots during spring...");
+ goto L_Main;
+
+L_QuestDisabled:
+ mesn;
+ mesq l("Happy Easter!");
+ mesc l("The @@ quest is disabled during Easter event.", getitemlink(Wreath));
+ next;
+ goto L_Main;
+
+L_SpringQuest:
+ next;
+ mesn;
+ mesq l("Hey, you! Aid me!");
+ next;
+ mesn;
+ mesq l("There's an annoying half-wose-half-elf called Thorn trying to impress me with his wose side!");
+ next;
+ mesn;
+ mesq l("I do not like him, but even so, he keeps bothering me! Maybe I could out-impress him, though!");
+ next;
+ mesn;
+ mes l("What about you bring me:");
+ mes l("@@/55 @@", countitem(Rose), getitemlink(Rose));
+ mes l("@@/55 @@", countitem(Tulip), getitemlink(Tulip));
+ mes l("@@/50 @@", countitem(Blueberries), getitemlink(Blueberries));
+ mes l("@@/10 @@", countitem(GrassSeeds), getitemlink(GrassSeeds));
+
+ mes l("@@/80 @@", countitem(MauveHerb), getitemlink(MauveHerb));
+ mes l("@@/80 @@", countitem(GambogeHerb), getitemlink(GambogeHerb));
+ mes l("@@/80 @@", countitem(CobaltHerb), getitemlink(CobaltHerb));
+ mes l("@@/80 @@", countitem(AlizarinHerb), getitemlink(AlizarinHerb));
+ next;
+ select
+ l("Not now, thanks"),
+ l("To be honest, I have that with me!");
+
+ mes "";
+ if (@menu == 1)
+ goto L_Main;
+ if (@menu == 2) {
+ if (
+ countitem(Rose) < 55 ||
+ countitem(Tulip) < 55 ||
+ countitem(Blueberries) < 50 ||
+ countitem(GrassSeeds) < 10 ||
+ countitem(MauveHerb) < 80 ||
+ countitem(GambogeHerb) < 80 ||
+ countitem(CobaltHerb) < 80 ||
+ countitem(AlizarinHerb) < 70
+ ) goto L_Lying;
+
+ inventoryplace Wreath, 1;
+ delitem Rose, 55;
+ delitem Tulip, 55;
+ delitem Blueberries, 50;
+ delitem GrassSeeds, 10;
+ delitem MauveHerb, 80;
+ delitem GambogeHerb, 80;
+ delitem CobaltHerb, 80;
+ delitem AlizarinHerb, 80;
+ getitem Wreath, 1;
+ getexp (210*BaseLevel), 120;
+ setq1 SQuest_Spring, 1;
+ mesn;
+ mesq l("Many thanks! At least he'll know he haven't impressed me yet!");
+ next;
+ mesn;
+ mesq l("Here, take the reward as promised!");
+ goto L_Main;
+ }
+
+ close;
+
+L_Lying:
+ mesn;
+ mesq l("Please don't lie to me...");
+ goto L_Main;
+
+OnInit:
+ .sex=G_FEMALE;
+ .distance=8;
+ end;
+
+}
diff --git a/npc/014-5/events.txt b/npc/014-5/events.txt
new file mode 100644
index 0000000..c6d6b67
--- /dev/null
+++ b/npc/014-5/events.txt
@@ -0,0 +1,200 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// St. Patrick Day
+// Variables:
+// #PATRICK_DAY
+// When you spinned this
+// #PATRICK_CTRL
+// Controls rarity, lowering boost
+// $@PATRICK_DAYMAX
+// Last day in St. Patrick event
+
+014-5,47,53,0 script St. Patrick Gold Pot NPC_GOLDPOT,{
+ function symbol{
+ switch (getarg(0)) {
+ case 0:
+ mesn "%%t";
+ break;
+ case 1:
+ mesn "%%g";
+ break;
+ case 2:
+ mesn "%%H";
+ break;
+ case 3:
+ mesn "%%G";
+ break;
+ case 4:
+ mesn "%%Q";
+ break;
+ case 5:
+ mesn "%%N";
+ break;
+ case 6:
+ mesn "%%K";
+ break;
+ default:
+ mesn "%%@";
+ break;
+ }
+ }
+
+ if ($EVENT$ != "Patrick" && !$@GM_OVERRIDE) {
+ channelmes("#world", "ERROR, ST. PATRICK GOLD POT: NOEVENT ERROR");
+ disablenpc .name$;
+ atcommand("@kick "+strcharinfo(0));
+ close;
+ }
+ if (#PATRICK_DAY == gettime(GETTIME_DAYOFMONTH)) {
+ mesn;
+ mesc l("You already claimed a reward today! Come back tomorrow, and remember to wear GREEN!"), 2;
+ close;
+ }
+ mesn;
+ mesc l("Lucky you, you found me! Do you want to SPIN THE WHEEL and gain GREAT rewards?"), 2;
+ mesc l("Remember that wearing green BOOSTS the rates at which good stuff will be found!"), 2;
+ mesc l("Only green from @@ will be taken in account.", getitemlink(GreenDye));
+ next;
+ select
+ l("Spin it!"),
+ l("How does spinning works?"),
+ l("Don't spin it!");
+ mes "";
+ if (@menu == 3)
+ close;
+
+ if (@menu == 2) {
+ mes ("%%0 - "+l("GP"));
+ mes ("%%1 - "+getitemlink(CasinoCoins));
+ mes ("%%2 - "+getitemlink(Topaz));
+ mes ("%%3 - "+getitemlink(StrangeCoin));
+ mes ("%%4 - "+getitemlink(GoldOre));
+ mes ("%%5 - "+getitemlink(GoldenGift));
+ mes ("%%6 - "+getitemlink(GoldenApple));
+ close;
+ }
+
+ if (@menu == 1) {
+ // SPINNING! Set that you can't spin again.
+ #PATRICK_DAY=gettime(GETTIME_DAYOFMONTH);
+
+ // Each green accessory raises boost gauge in 25. Full set raises in further 25.
+ // Hat, Shirt, Pants, Boots and Gloves. Max boost gauge from dye is 150 atm.
+ .@boost=0;
+ if (getequipcardid(EQI_HEAD_TOP, 0) == GreenDye)
+ .@boost+=25;
+ if (getequipcardid(EQI_HEAD_MID, 0) == GreenDye)
+ .@boost+=25;
+ if (getequipcardid(EQI_HEAD_LOW, 0) == GreenDye)
+ .@boost+=25;
+ if (getequipcardid(EQI_SHOES, 0) == GreenDye)
+ .@boost+=25;
+ if (getequipcardid(EQI_GARMENT, 0) == GreenDye)
+ .@boost+=25;
+ if (.@boost >= 125)
+ .@boost+=25;
+
+ // Blv+Jlv gives a small boost. The "maximum" sum is 250, but we divide by 5
+ // So this grants a further boost of 4~50 depending on level.
+ .@boost+=(BaseLevel+JobLevel)/5;
+
+ // .@boost, right now, is a number from 0 to 200.
+ // Randomness factor can make that 20% higher, up to 240.
+ .@r=rand(0,20);
+ .@boost+=(.@boost*.@r/100);
+ // Then it may add or subtract 10 points from boost. Apply a cap to range 0~250.
+ .@boost+=rand(-10, 10);
+
+ // Now, you can't get 5 Golden Apples straight, right?
+ // You lose boost as you get rewards. You lose boost the farther from
+ // event last day you are, too.
+ .@boost-=#PATRICK_CTRL;
+ .@boost-=($@PATRICK_DAYMAX-#PATRICK_DAY);
+
+ // sanitize boost so it ranges from 0 to 250.
+ .@boost=max(0, .@boost);
+
+ // REFERENCE: At release time, max levels ingame were about 60/40.
+ // That would give 10~34 (not green) to 160~214 (fully green) boost value.
+ mesc l("Spinning!"), 2;
+
+ // .@v holds the reward you'll get
+ if (.@boost > 240)
+ .@v=6;
+ else if (.@boost > 200)
+ .@v=5;
+ else if (.@boost > 160)
+ .@v=4;
+ else if (.@boost > 120)
+ .@v=3;
+ else if (.@boost > 80)
+ .@v=2;
+ else if (.@boost > 40)
+ .@v=1;
+ else
+ .@v=0;
+
+ // Tell players what they spinned, and lower rarity on next tries
+ symbol(.@v);
+ #PATRICK_CTRL+=.@v+(.@v/2);
+
+ // Grant players the reward
+ switch (.@v) {
+ case 0: // GP
+ Zeny=Zeny+rand(10, .@boost+10);
+ break;
+ case 1: // Casino Coins
+ getitem CasinoCoins, max(1, .@boost/10);
+ Zeny=Zeny+rand(20, .@boost+10);
+ break;
+ case 2: // Topaz
+ getitem Topaz, 1;
+ Zeny=Zeny+rand(30, .@boost+10);
+ break;
+ case 3: // Strange Coins
+ getitem StrangeCoin, max(1, .@boost/10);
+ Zeny=Zeny+rand(40, .@boost+10);
+ break;
+ case 4: // Gold Ore
+ getitem GoldOre, 1;
+ Zeny=Zeny+rand(50, .@boost+10);
+ break;
+ case 5: // Golden Gift
+ getitem GoldenGift, 1;
+ Zeny=Zeny+rand(60, .@boost+10);
+ break;
+ case 6: // Golden Apple (OP)
+ getitem GoldenApple, 1;
+ Zeny=Zeny+rand(70, .@boost+10);
+ break;
+ }
+ next;
+ mesn;
+ mesc l("Did you like it? Find me tomorrow, until day @@, for another gift!", $@PATRICK_DAYMAX), 2;
+ close;
+ }
+ // Should not reach here
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+
+ if ($EVENT$ != "Patrick") {
+ disablenpc(.name$);
+ end;
+ }
+OnClock0000:
+OnForcedMove:
+ if ($EVENT$ == "Patrick") {
+ setarray .@vx, 134, 162, 108, 105, 67, 191, 168, 170, 191, 188, 160, 145, 196, 120;
+ setarray .@vy, 36, 61, 45, 96, 76, 74, 72, 111, 113, 129, 125, 119, 143, 104;
+ .@r=rand(0,getarraysize(.@vx)-1);
+ movenpc .name$, .@vx[.@r], .@vy[.@r];
+ debugmes "Warping to %d,%d (seed %d)", .@vx[.@r], .@vy[.@r], .@r;
+ }
+ end;
+}
+
diff --git a/npc/014-5/sagratha.txt b/npc/014-5/sagratha.txt
new file mode 100644
index 0000000..36614af
--- /dev/null
+++ b/npc/014-5/sagratha.txt
@@ -0,0 +1,191 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Sagratha's House Door
+//
+// getq(HurnscaldQuest_Sagratha)
+// Field 1
+// 0 - Sagratha is home and annyoed
+// 1 - Wyara sent player saggy way
+// 2 - Rumor Confirmed, check again
+// Field 2
+// RESERVED - INSTANCE ID
+// Field 3
+// During stage 1 and 2: Holds if player looked everywhere
+// During stage 3 and 4: Control puzzles
+// During stage 5 boss fight
+
+// Check instances and rebuild if needed
+// Returns map name
+// SaggyInstCheck( {house=true} )
+function script SaggyInstCheck {
+ .@house=getarg(0, true);
+
+ .@q2=getq2(HurnscaldQuest_Sagratha);
+ // Map name limit: 4 chars (sgt1)
+ .@mapn$="sgt1@"+getcharid(0);
+ .@map2$="sgt2@"+getcharid(0);
+ if (!(isinstance(.@q2) && .@q2 != 0 && instanceowner(.@q2) == getcharid(3))) {
+ .@inst = instance_create("Sagratha House "+getcharid(0), getcharid(3), IOT_CHAR);
+ instance_attachmap("014-5-1", .@inst, false, .@mapn$);
+ //instance_attachmap("015-8", .@inst, false, .@mapn$);
+ instance_attachmap("015-8-1", .@inst, false, .@map2$);
+ // Instance lasts one hour
+ instance_set_timeout(3600, 3600, .@inst);
+ instance_init(.@inst);
+ setq2 HurnscaldQuest_Sagratha, .@inst;
+ }
+
+ // It broke
+ if (getmapinfo(MAPINFO_SIZE_X, .@mapn$) <= 0) {
+ setq2 HurnscaldQuest_Sagratha, 0;
+ // Infinite Loop?
+ return callfunc("SaggyInstCheck", .@house);
+ }
+
+ if (.@house) {
+ return .@mapn$;
+ } else {
+ return .@map2$;
+ }
+}
+
+014-5,122,137,0 script Sagratha Door NPC_HIDDEN,0,0,{
+ end;
+
+L_Magicless:
+ npctalk3 l("A light magic barrier prevents you from entering.");
+ dispbottom l("If I only knew some magic...");
+ end;
+
+L_Lockpick:
+ mesn;
+ mesc l("The door is locked!");
+ select
+ l("Knock on the door?"),
+ l("Attempt to lockpick?"),
+ l("Leave it alone?");
+ mes "";
+
+ if (@menu == 1) {
+ /*
+ if (getq(HurnscaldQuest_InjuriedMouboo) == 2)) {
+ mesn strcharinfo(0);
+ mesc l("Nobody answers.");
+ mes "";
+ }
+ */
+ mesn l("Sagratha");
+ mesq l("No, I don't need monster repellent nor anything! Go away!");
+ close;
+ } else if (@menu == 2) {
+ if (LockPicking(4, 5)) {
+ getexp BaseLevel*4, 5;
+ mesn;
+ mesc l("*click*");
+ next;
+ mesn l("Sagratha");
+ mesq l("Who is there? Are they trying to break my lock again?!");
+ next;
+ select
+ l("Run away?"),
+ l("Stay there?");
+ mes "";
+
+ if (@menu == 2) {
+ mesn l("Sagratha");
+ mesq l("Oh my Jesusalva - You broke my lock! Why?!");
+ next;
+ select
+ l("I need to talk with you!"),
+ l("No reason.");
+ mes "";
+ if (@menu == 1) {
+ mesn l("Sagratha");
+ // I don't take strangers as students.
+ mesq l("No, I don't teach magic to strangers. No, I'm not interested in @@ affairs.", get_race());
+ next;
+ mesn l("Sagratha");
+ mesq l("Yes, I know when next Alliance's Council meeting will be. No, I don't need anything.");
+ next;
+ mesn l("Sagratha");
+ mesq l("Now begone.");
+ } else {
+ mesn l("Sagratha");
+ mesq l("What?! Do my house look like the place to you pratice your thief skills?!");
+ mesq col(l("DIE!"), 1);
+ specialeffect(312, SELF, getcharid(3));
+ percentheal -40, -100;
+ }
+ }
+
+ } else {
+ mesn l("Sagratha");
+ mesq l("Who is there? Are they trying to break my lock again?!");
+ mesq col(l("DIE!"), 1);
+ specialeffect(312, SELF, getcharid(3));
+ percentheal -40, -100;
+ }
+ }
+ close;
+
+L_Open:
+ mesn;
+ mesc l("The door is locked!");
+ select
+ l("Knock on the door?"),
+ l("Attempt to lockpick?"),
+ l("Say that Mouboos are Cute?"),
+ l("Leave it alone?");
+ mes "";
+ if (@menu == 4)
+ close;
+ if (@menu == 3) {
+ mesc l("Surprisingly, nothing happens.");
+ next;
+ mesc l("A close inspection suggests the lock was busted. You approach to inspect.");
+ next;
+ }
+ mesc l("*CREAK*");
+ mesc l("The pressure you did made the door burst open. It is unusually quiet inside...");
+ next;
+ //enable_items();
+ //mesc l("WARNING: Save your game now."), 3;
+ //mesc l("WARNING: Change your equipment now."), 3;
+ //next;
+ //disable_items();
+ /*
+ if (has_instance("014-5-1") == "") {
+ .@inst = instance_create("Sagratha House", getcharid(3), IOT_CHAR);
+ instance_attachmap("014-5-1", .@inst);
+ // 20 minutes (1200s) inside, or 5 minutes (300s) outside
+ instance_set_timeout(1200, 30, .@inst);
+ instance_init(.@inst);
+ }
+ warp "014-5-1", 33, 44;
+ //addmapmask instance_mapname("014-5-1"), 1;
+ changemusic "014-5-1", "eric_matyas_ghouls.ogg";
+ */
+ .@mapn$=SaggyInstCheck();
+ warp .@mapn$, 33, 44;
+ changemusic .@mapn$, "eric_matyas_ghouls.ogg";
+ closeclientdialog;
+ close;
+
+L_Welcome:
+ warp "014-5-1", 33, 44;
+ dispbottom l("Mouboos are cute");
+ end;
+
+OnTouch:
+ .@q=getq(HurnscaldQuest_Sagratha);
+ if (!MAGIC_LVL) goto L_Magicless;
+ if (.@q >= 1 && .@q < 6) goto L_Open;
+ if (.@q >= 6) goto L_Welcome;
+
+ // No special condition
+ goto L_Lockpick;
+ end;
+
+}
diff --git a/npc/014-5/sign.txt b/npc/014-5/sign.txt
new file mode 100644
index 0000000..c133544
--- /dev/null
+++ b/npc/014-5/sign.txt
@@ -0,0 +1,24 @@
+// TMW2 Script.
+// Author:
+// Jesusalva
+// Description:
+// Random Sign nobody bothers reading.
+
+014-5,179,29,0 script Sign#014517929 NPC_SWORDS_SIGN,{
+ mesc l("Welcome to the Greenlands, the place cursed by the Monster King to be ice forever, and now known as Icelands.");
+ next;
+ mesc l("It's advised to come ready for the cold, the hungry beasts, and other dangers snow may bring.");
+ if (getgmlevel()) {
+ mesc l("Blame @@, missing map between 014-5 and 019-1, solely to make trip longer.", any("jesusalva", "saulc", "lawncable", "mishana", "dragonstar", "4144", "everyone", "developers", "the Monster King", strcharinfo(0))), 1;
+ }
+ /*
+ next;
+ mesc l("WARNING: Path temporaly closed due strong snowstorm."), 3;
+ */
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
diff --git a/npc/015-1/_import.txt b/npc/015-1/_import.txt
new file mode 100644
index 0000000..69c3370
--- /dev/null
+++ b/npc/015-1/_import.txt
@@ -0,0 +1,6 @@
+// Map 015-1: Woodland Mines
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/015-1/_mobs.txt",
+"npc/015-1/_warps.txt",
+"npc/015-1/boss.txt",
+"npc/015-1/treasure.txt",
diff --git a/npc/015-1/_mobs.txt b/npc/015-1/_mobs.txt
new file mode 100644
index 0000000..bb8deb2
--- /dev/null
+++ b/npc/015-1/_mobs.txt
@@ -0,0 +1,16 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-1: Woodland Mines mobs
+015-1,121,105,119,97 monster Bif 1058,14,45000,45000
+015-1,130,81,119,97 monster Cave Bat 1039,40,60000,60000
+015-1,120,136,91,81 monster Small Amethyst Bif 1110,5,45000,45000
+015-1,80,175,142,39 monster Copper Slime 1088,5,20000,45000
+015-1,167,36,11,13 monster Fire Skull 1193,1,35000,60000
+015-1,139,32,57,31 monster Archant 1026,4,30000,30000
+015-1,100,97,26,27 monster Black Slime 1178,4,40000,30000
+015-1,73,111,119,97 monster Red Slime 1092,75,20000,20000
+015-1,147,91,119,97 monster Yellow Slime 1091,50,30000,20000
+015-1,41,136,37,49 monster Black Scorpion 1074,4,30000,25000
+015-1,88,36,142,39 monster Copper Slime 1088,3,45000,40000
+015-1,99,73,3,3 monster Green Slime 1085,2,45000,60000
+015-1,156,144,44,41 monster Black Scorpion 1074,4,30000,25000
+015-1,112,24,39,37 monster Black Scorpion 1074,4,20000,30000
diff --git a/npc/015-1/_warps.txt b/npc/015-1/_warps.txt
new file mode 100644
index 0000000..fef1a8b
--- /dev/null
+++ b/npc/015-1/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-1: Woodland Mines warps
+015-1,100,133,0 warp #015-1_100_133 1,0,014-1,79,58
+015-1,90,49,0 warp #015-1_90_49 0,0,015-4,50,38
+015-1,177,56,0 warp #015-1_177_56 0,0,015-4,76,19
diff --git a/npc/015-1/boss.txt b/npc/015-1/boss.txt
new file mode 100644
index 0000000..1591e05
--- /dev/null
+++ b/npc/015-1/boss.txt
@@ -0,0 +1,28 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Spider Queen Boss
+
+015-1,0,0,0 script #BossCtrl_015-1 NPC_HIDDEN,{
+ end;
+
+// Respawn every half hour
+OnTimer1800000:
+ stopnpctimer;
+OnInit:
+ areamonster "015-1", 20, 20, getmapinfo(MAPINFO_SIZE_X, "015-1"), getmapinfo(MAPINFO_SIZE_Y, "015-1"), strmobinfo(1, SpiderQueen), SpiderQueen, 1, "#BossCtrl_015-1::OnBossDeath";
+ end;
+
+OnBossDeath:
+ initnpctimer;
+ .@party=getcharid(1);
+ if (.@party > 0) {
+ mapannounce getmap(), "Boss deafeated by Party: " + getpartyname(.@party), bc_all;
+ } else {
+ mapannounce getmap(), "Boss deafeated by: " + strcharinfo(0), bc_all;
+ }
+ fix_mobkill(SpiderQueen);
+ end;
+
+}
diff --git a/npc/015-1/treasure.txt b/npc/015-1/treasure.txt
new file mode 100644
index 0000000..6812d3b
--- /dev/null
+++ b/npc/015-1/treasure.txt
@@ -0,0 +1,8 @@
+// TMW2 Script
+
+// (Random) Treasure Chest
+// Authored by Jesusalva
+// Regenerates every 6 hours
+
+015-1,0,0,0 duplicate(#chest_00710) #chest_01510 NPC_CHEST
+
diff --git a/npc/015-2/_import.txt b/npc/015-2/_import.txt
new file mode 100644
index 0000000..29bd5d5
--- /dev/null
+++ b/npc/015-2/_import.txt
@@ -0,0 +1,8 @@
+// Map 015-2: Bandit Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/015-2/_mobs.txt",
+"npc/015-2/_warps.txt",
+"npc/015-2/ben.txt",
+"npc/015-2/contrabandist.txt",
+"npc/015-2/guard.txt",
+"npc/015-2/lordcave.txt",
diff --git a/npc/015-2/_mobs.txt b/npc/015-2/_mobs.txt
new file mode 100644
index 0000000..876f5a4
--- /dev/null
+++ b/npc/015-2/_mobs.txt
@@ -0,0 +1,51 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-2: Bandit Cave mobs
+015-2,152,72,141,63 monster Silk Worm 1034,9,30000,100000
+015-2,263,38,15,17 monster Bandit 1024,1,30000,30000
+015-2,262,114,19,19 monster Bandit 1024,1,30000,30000
+015-2,132,119,8,10 monster Bandit 1024,1,30000,30000
+015-2,170,66,8,10 monster Bandit 1024,1,30000,30000
+015-2,67,70,8,10 monster Bandit 1024,1,30000,30000
+015-2,196,107,8,10 monster Bandit 1024,1,30000,30000
+015-2,196,29,8,10 monster Bandit 1024,1,30000,30000
+015-2,36,37,8,10 monster Bandit 1024,1,30000,30000
+015-2,112,40,22,24 monster Bandit 1024,2,30000,60000
+015-2,31,99,8,10 monster Bandit 1024,1,30000,30000
+015-2,223,250,61,32 monster Bat 1039,5,30000,100000
+015-2,270,175,13,12 monster Bat 1039,3,30000,100000
+015-2,257,77,2,63 monster Bat 1039,6,30000,100000
+015-2,192,77,2,63 monster Bat 1039,9,30000,100000
+015-2,167,110,43,6 monster Bat 1039,9,30000,100000
+015-2,75,70,52,48 monster Bat 1039,21,30000,100000
+015-2,78,195,64,48 monster Bat 1039,9,30000,100000
+015-2,168,109,18,18 monster Snake 1122,1,30000,100000
+015-2,199,76,18,18 monster Snake 1122,2,30000,100000
+015-2,88,163,14,13 monster Snake 1122,1,30000,100000
+015-2,48,113,17,9 monster Snake 1122,2,30000,100000
+015-2,177,94,10,14 monster Angry Red Scorpion 1130,4,30000,100000
+015-2,194,49,10,14 monster Angry Red Scorpion 1130,2,30000,100000
+015-2,51,115,23,12 monster Angry Red Scorpion 1130,2,30000,100000
+015-2,63,169,6,8 monster Angry Red Scorpion 1130,2,30000,100000
+015-2,100,226,14,7 monster Snake 1122,2,30000,100000
+015-2,260,44,26,8 monster Snake 1122,3,30000,100000
+015-2,272,48,10,14 monster Angry Red Scorpion 1130,2,30000,100000
+015-2,95,78,15,12 monster Yellow Slime 1091,3,30000,100000
+015-2,59,36,9,12 monster Yellow Slime 1091,3,30000,100000
+015-2,26,69,9,12 monster Yellow Slime 1091,3,30000,100000
+015-2,61,101,7,5 monster Yellow Slime 1091,3,30000,100000
+015-2,50,61,4,6 monster Yellow Slime 1091,2,30000,100000
+015-2,128,39,4,6 monster Yellow Slime 1091,2,30000,100000
+015-2,41,178,4,6 monster Yellow Slime 1091,1,30000,100000
+015-2,70,229,4,6 monster Yellow Slime 1091,1,30000,100000
+015-2,20,204,4,6 monster Yellow Slime 1091,1,30000,100000
+015-2,114,190,4,6 monster Yellow Slime 1091,3,30000,100000
+015-2,137,205,4,6 monster Yellow Slime 1091,2,30000,100000
+015-2,79,220,14,7 monster Cave Snake 1035,3,30000,100000
+015-2,115,210,14,7 monster Cave Snake 1035,3,30000,100000
+015-2,41,193,15,15 monster Cave Snake 1035,3,30000,100000
+015-2,70,143,15,15 monster Cave Snake 1035,3,30000,100000
+015-2,97,183,14,7 monster Cave Snake 1035,3,30000,100000
+015-2,172,252,4,6 monster Cave Maggot 1027,4,30000,100000
+015-2,263,236,8,2 monster Cave Maggot 1027,3,30000,100000
+015-2,143,128,140,125 monster Small Diamond Biff 1107,8,30000,100000
+015-2,93,172,6,8 monster Angry Red Scorpion 1130,2,30000,100000
diff --git a/npc/015-2/_warps.txt b/npc/015-2/_warps.txt
new file mode 100644
index 0000000..1a63c34
--- /dev/null
+++ b/npc/015-2/_warps.txt
@@ -0,0 +1,24 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-2: Bandit Cave warps
+015-2,51,75,0 warp #015-2_51_75 0,0,015-2,260,127
+015-2,61,71,0 warp #015-2_61_71 0,0,015-2,270,124
+015-2,270,125,0 warp #015-2_270_125 0,0,015-2,61,72
+015-2,260,128,0 warp #015-2_260_128 0,0,015-2,51,76
+015-2,145,118,0 warp #015-2_145_118 0,0,015-2,47,119
+015-2,196,26,0 warp #015-2_196_26 0,0,015-2,261,46
+015-2,261,47,0 warp #015-2_261_47 0,0,015-2,196,27
+015-2,271,52,0 warp #015-2_271_52 0,0,015-2,98,31
+015-2,98,30,0 warp #015-2_98_30 0,0,015-2,271,51
+015-2,47,120,0 warp #015-2_47_120 0,0,015-2,145,117
+015-2,49,101,0 warp #015-2_49_101 0,0,014-3,120,68
+015-2,24,206,0 warp #015-2_24_206 0,0,015-2,122,212
+015-2,47,185,0 warp #015-2_47_185 0,0,015-2,113,183
+015-2,97,169,0 warp #015-2_97_169 0,0,015-2,68,234
+015-2,113,182,0 warp #015-2_113_182 0,0,015-2,47,184
+015-2,122,211,0 warp #015-2_122_211 0,0,015-2,24,205
+015-2,68,235,0 warp #015-2_68_235 0,0,015-2,97,168
+015-2,251,278,0 warp #015-2_251_278 0,0,015-2,94,226
+015-2,266,182,0 warp #015-2_266_182 0,0,015-2,264,237
+015-2,174,256,0 warp #015-2_174_256 0,0,015-2,249,233
+015-2,249,232,0 warp #015-2_249_232 0,0,015-2,174,255
+015-2,264,236,0 warp #015-2_264_236 0,0,015-2,266,181
diff --git a/npc/015-2/ben.txt b/npc/015-2/ben.txt
new file mode 100644
index 0000000..4f81e19
--- /dev/null
+++ b/npc/015-2/ben.txt
@@ -0,0 +1,162 @@
+// TMW2 Scripts.
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Ben Parkison invites players to the TMW2 Project
+// Part of the THIEF/MERCHANT branches
+
+015-2,269,172,0 script Ben Parkison NPC_MOUBOO,{
+ if (JobLevel > 20 && MERC_RANK == 0) goto L_Quest;
+
+L_Intro:
+ mesn;
+ mesq l("Hey newbie... I am a dangerous bandit.");
+ next;
+ mesq l("Yes, I am a mouboo. Why? Can't a mouboo be a dangerous bandit?!");
+ next;
+ mesq l("Fear not! You can check our [@@https://wiki.moubootaurlegends.org|Wiki@@] to find that and other awesome stuff!");
+ mesc l("(Even bandits doesn't breaks the rules. To see the rules, use ##B@rules##b.)");
+ next;
+ mesq l("You can even join the project there. Contributors are greatly appreciated! %%N");
+ close;
+
+L_Quest:
+ if (THIEF_RANK == 0)
+ goto L_Recruit;
+ mesn;
+ mesq l("Hello there, @@ the @@.", strcharinfo(0), thiefrank());
+ if (THIEF_RANK == 5) goto L_Menu;
+ mesq l("I see you have collected some experience. Let me try to rank you up!");
+ next;
+ if (THIEF_EXP > (THIEF_RANK*2)**5) {
+ THIEF_EXP-=(THIEF_RANK*2)**5;
+ THIEF_EXP=(THIEF_EXP*8/10); // Penalty for postponing rank up (you keep 80%)
+ THIEF_RANK+=1;
+ mesn;
+ mesq l("Congrats! You rank up! You are now a(n) @@!", thiefrank());
+ if (THIEF_RANK == 2) goto L_Rank2;
+ if (THIEF_RANK == 3) goto L_Rank3;
+ if (THIEF_RANK == 4) goto L_Rank4;
+ } else {
+ mesn;
+ mesq l("Well, you need more experience. Keep trying!");
+ mesc l("You may obtain Thief Exp by using @@.", getitemlink(Lockpicks));
+ }
+ goto L_Menu;
+ close;
+
+L_Recruit:
+ mesn;
+ mesq l("You seem to be doing some money. Would you consider fighting for your own greed, or even be a Robin-Hood-of-sorts, stealing from the rich?");
+ //mesc l("Notice: If you join the ##BBandits Guild##b now, you WON'T BE ABLE to be a merchant police later!"), 1;
+ mesc l("Note: You won't be able to leave the class later."), 1;
+ next;
+ if (askyesno() == ASK_YES) {
+ THIEF_EXP=0;
+ THIEF_RANK=1;
+ mes "";
+ mesn;
+ mesq l("Welcome to the ##BThieves Guild##b! Follow those with higher rank than you, and happy stealing!");
+ mesc l("You've learned how to use @@. Simple locks can now be broken.", getitemlink(Lockpicks));
+ } else {
+ goto L_Intro;
+ }
+ close;
+
+// Learn STEAL
+L_Rank2:
+ skill(TF_STEAL,1,0);
+ next;
+ mesn;
+ mesq l("Now, you'll learn a thief trick! This one allows you to steal drops from monsters! Ka-pow! Amazing!");
+ next;
+ mesn;
+ mesq l("You must be close to it, and stealing won't change drops! If you fail, just try again! Good luck!");
+ close;
+
+// Learn INCCARRY
+L_Rank3:
+ skill(ALL_INCCARRY,1,0);
+ next;
+ mesn;
+ mesq l("Now, you'll learn a thief trick! What sort of thief loots so much that they get overweight penalty? That's not cool!");
+ next;
+ mesn;
+ mesq l("You now gained two extra kilograms to your weight quota! Ka-pow, that's fantastic! Good luck!");
+ close;
+
+// Learn OVERCHARGE
+L_Rank4:
+ skill(MC_OVERCHARGE,1,0);
+ next;
+ mesn;
+ mesq l("Now, you'll learn an important trick! Stealing is nice, but scamming is even better!");
+ mesc l("We must blame Saulc!");
+ next;
+ mesn;
+ mesq l("This new skill will allow you to pinch every gold piece from a NPC when selling stuff! Ka-pow, now you can steal items and resell them for moar GP! AMAZING!");
+ close;
+
+// Allow to level up thief skills
+L_Menu:
+ next;
+ mesn;
+ mesq l("Do you want me to teach you how to improve an existing skill with MAGIC? There are no better mages than Mouboos!");
+ mesc l("You also need @@/@@ Mob Points to improve thief skills.", 1000, format_number(Mobpt));
+ if (Mobpt < 1000)
+ close;
+ next;
+ /*
+ menuint
+ rif(getskilllv(TF_STEAL), l("Stealing")), TF_STEAL,
+ rif(getskilllv(ALL_INCCARRY), l("Stealing")), ALL_INCCARRY,
+ rif(getskilllv(MC_OVERCHARGE), l("Stealing")), MC_OVERCHARGE,
+ l("None at the moment."), 0;
+
+ // Handle result
+ if (@menuret) {
+ if (!learn_magic(@menuret))
+ mesc l("You do not meet all requisites for this skill."), 1;
+ } else {
+ close;
+ }
+ */
+
+ select
+ rif(getskilllv(TF_STEAL), l("Improve Stealing to level ")+(getskilllv(TF_STEAL)+1)),
+ rif(getskilllv(ALL_INCCARRY), l("Improve Max Weight to level ")+(getskilllv(ALL_INCCARRY)+1)),
+ rif(getskilllv(MC_OVERCHARGE), l("Improve Barter to level ")+(getskilllv(MC_OVERCHARGE)+1)),
+ l("None at the moment.");
+ mes "";
+ // BlueCoral, {CrocClaw, OceanCrocClaw: Empty Box}, PlushroomBox
+ switch (@menu) {
+ case 1:
+ if (!mlearn(TF_STEAL, 10, 1, BlueCoral, 6*getskilllv(TF_STEAL)))
+ mesc l("You do not meet all requisites for this skill."), 1;
+ else
+ Mobpt-=1000;
+ break;
+ case 2:
+ if (!mlearn(ALL_INCCARRY, 10, 1, BlueCoral, 9*getskilllv(ALL_INCCARRY)))
+ mesc l("You do not meet all requisites for this skill."), 1;
+ else
+ Mobpt-=1000;
+ break;
+ case 3:
+ if (!mlearn(MC_OVERCHARGE, 8, 1, PlushroomBox, 2*getskilllv(MC_OVERCHARGE))) // Max 21% discount (out of 24%)
+ mesc l("You do not meet all requisites for this skill."), 1;
+ else
+ Mobpt-=1000;
+ break;
+ default:
+ close;
+ }
+ goto L_Menu;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/015-2/contrabandist.txt b/npc/015-2/contrabandist.txt
new file mode 100644
index 0000000..41f4a3c
--- /dev/null
+++ b/npc/015-2/contrabandist.txt
@@ -0,0 +1,115 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Contraband of foreing goods.
+
+015-2,166,250,0 script #Contraband NPC_NO_SPRITE,{
+
+ // Store not available
+ if (!.active)
+ end;
+
+ mesn;
+ mesc l("I have a few items for sale...");
+ next;
+ menuint
+ rif(.CurrentValue & 1, l("Treasure Map")), 1,
+ rif(.CurrentValue & 2, l("Lock Picks")), 2,
+ rif(.CurrentValue & 4, l("Return Potion")), 4,
+ rif(.CurrentValue & 8, l("Golden Pearl Ring")), 8,
+ rif(.CurrentValue & 16, l("Mysterious Bottle")), 16,
+ rif(.CurrentValue & 32, l("Ancient Blueprint")), 32,
+ rif(.CurrentValue & 64, l("Arcmage Boxset")), 64,
+ rif($ARKIM_ST > 7500 && .CurrentValue & 128, l("Dark Desert Mushroom")), 128,
+ l("Nothing"), 0;
+ mes "";
+
+ // Fallback
+ if (!@menuret)
+ close;
+
+ switch (@menuret) {
+ case 1:
+ .@price=600;
+ .@prize=TreasureMap;
+ break;
+ case 2:
+ .@price=1000;
+ .@prize=Lockpicks;
+ break;
+ case 4:
+ .@price=2200;
+ .@prize=ReturnPotion;
+ break;
+ case 8:
+ .@price=500000;
+ .@prize=GoldenPearlRing;
+ break;
+ case 16:
+ .@price=4000;
+ .@prize=MysteriousBottle;
+ break;
+ case 32:
+ .@price=15000;
+ .@prize=AncientBlueprint;
+ break;
+ case 64:
+ .@price=21000;
+ .@prize=ArcmageBoxset;
+ break;
+ case 128:
+ .@price=.DDMPrice;
+ .@prize=DarkDesertMushroom;
+ break;
+ default:
+ .@price=999999999;
+ .@prize=Acorn;
+ break;
+ }
+ mesc l("Only @@ GP.", .@price);
+ if (Zeny < .@price)
+ close;
+ if (askyesno() == ASK_YES) {
+ if (!(.CurrentValue & @menuret)) {
+ mesc l("Out of Stock."), 1;
+ close;
+ }
+ .CurrentValue=.CurrentValue^@menuret;
+ Zeny-=.@price;
+ getitem .@prize, 1;
+ mesc l("Item sold!"), 2;
+ }
+ close;
+
+// Load
+OnMinute21:
+OnMinute46:
+ setnpcdisplay .name$, NPC_KOGA;
+ .active=1;
+
+ .CurrentValue=rand2(1,255);
+ .DDMPrice=max(30000,50000-($ARKIM_ST/2)+(7500/2));
+ end;
+
+// Unload
+OnMinute23:
+OnMinute48:
+ setnpcdisplay .name$, NPC_NO_SPRITE;
+ .active=0;
+ end;
+
+OnInit:
+ .active=0;
+ .sex = G_OTHER;
+ .distance = 12;
+
+ /*
+ if (debug) {
+ setnpcdisplay .name$, NPC_KOGA;
+ .active=1;
+ }
+ */
+ end;
+
+}
diff --git a/npc/015-2/guard.txt b/npc/015-2/guard.txt
new file mode 100644
index 0000000..28d505e
--- /dev/null
+++ b/npc/015-2/guard.txt
@@ -0,0 +1,71 @@
+// TMW2 Script.
+// Author:
+// Jesusalva
+// Description:
+// Part of Helena's quest
+// Gives spoilers about what Jesusalva plans in doing with Bryant
+
+015-2,28,199,0 script Helena's Teammate NPC_ORC,{
+ .@q=getq(HurnscaldQuest_Bandits);
+ if (.@q == 5) goto L_SilverKey;
+ if (.@q == 6) goto L_BanditLord;
+ mesn;
+ mesq lg("Welcome.");
+ mesq l("This small island is a good place to heal our wounds, and the monsters here are not threating.");
+ close;
+
+L_SilverKey:
+ mesn;
+ mesq l("Don't say anything, I can smell the scent of Helena's hair on you.");
+ next;
+ inventoryplace SilverKey, 1, PiberriesInfusion, 3;
+ getitem SilverKey, 1;
+ getitem PiberriesInfusion, 3;
+ setq HurnscaldQuest_Bandits, 6;
+ mesn;
+ mesq l("I guess she sent you to kill another Bandit Lord, right? Ok, I'll give you the key for his room.");
+ next;
+ mesn;
+ mesq l("It is pretty close to here. I advise you to use a good sword, and heal yourself often.");
+ next;
+ mesn;
+ mesq l("I will give you 3 @@. Use them on this fight, or you're doomed to fail.", getitemlink(PiberriesInfusion));
+ close;
+
+L_BanditLord:
+ mesn;
+ mesq l("What are you waiting for? Go kill the bandit lord.");
+ next;
+ mesn strcharinfo(0);
+ select
+ l("I'm going, don't worry."),
+ l("There was nobody on the Bandit Lord's room.");
+ if (@menu == 1)
+ close;
+ mes "";
+ mesn;
+ mesq l("...Have you ever gone there yet?");
+ next;
+ mesn;
+ mesq l("This is not The Mana World. My name is not Bryant.");
+ next;
+ mesn;
+ mesq l("In fact, Bryant is my brother, and he lives in a cave, and he probably have a high level quest too, but that's not important now.");
+ next;
+ mesn;
+ mesq l("Go kill the Bandit Lord!");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, FairyHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, ForestArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, JeansChaps);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 24);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 1);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/015-2/lordcave.txt b/npc/015-2/lordcave.txt
new file mode 100644
index 0000000..6303b2c
--- /dev/null
+++ b/npc/015-2/lordcave.txt
@@ -0,0 +1,27 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+
+015-2,94,225,0 script #BanditLordDen NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ if (countitem(SilverKey) >= 1) goto L_Summon;
+ dispbottom l("This passage seems sealed. If I only had a @@...", getitemlink(SilverKey));
+ end;
+
+L_Summon:
+ .@q=getq(HurnscaldQuest_Bandits);
+ if (mobcount("015-2", "#BanditLordDen::OnLordDeath") == 0 && .@q == 6)
+ monster "015-2",260,250,"Bandit Lord",BanditLord,1, "#BanditLordDen::OnLordDeath";
+ slide 251, 277;
+ end;
+
+OnLordDeath:
+ .@q=getq(HurnscaldQuest_Bandits);
+ if (.@q == 6 && !ispcdead()) {
+ setq HurnscaldQuest_Bandits, 7;
+ dispbottom l("Phew! The Bandit Lord was killed.");
+ }
+ end;
+}
diff --git a/npc/015-3-1/_import.txt b/npc/015-3-1/_import.txt
new file mode 100644
index 0000000..b49c4f0
--- /dev/null
+++ b/npc/015-3-1/_import.txt
@@ -0,0 +1,5 @@
+// Map 015-3-1: Pirate Caves B1F
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/015-3-1/_mobs.txt",
+"npc/015-3-1/_warps.txt",
+"npc/015-3-1/pablin.txt",
diff --git a/npc/015-3-1/_mobs.txt b/npc/015-3-1/_mobs.txt
new file mode 100644
index 0000000..b527705
--- /dev/null
+++ b/npc/015-3-1/_mobs.txt
@@ -0,0 +1,12 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-3-1: Pirate Caves B1F mobs
+015-3-1,43,72,3,4 monster Thug 1442,2,100000,30000
+015-3-1,41,73,3,4 monster Swashbuckler 1443,1,100000,30000
+015-3-1,46,74,3,4 monster Grenadier 1444,1,100000,30000
+015-3-1,28,69,4,1 monster Thug 1442,2,100000,30000
+015-3-1,71,63,3,4 monster Thug 1442,2,100000,30000
+015-3-1,39,39,3,1 monster Swashbuckler 1443,2,100000,30000
+015-3-1,71,63,3,4 monster Grenadier 1444,1,100000,30000
+015-3-1,64,49,6,4 monster Swashbuckler 1443,1,100000,30000
+015-3-1,29,92,6,4 monster Swashbuckler 1443,1,100000,30000
+015-3-1,33,50,8,2 monster Thug 1442,2,100000,30000
diff --git a/npc/015-3-1/_warps.txt b/npc/015-3-1/_warps.txt
new file mode 100644
index 0000000..7683a63
--- /dev/null
+++ b/npc/015-3-1/_warps.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-3-1: Pirate Caves B1F warps
+015-3-1,49,80,0 warp #015-3-1_49_80 0,0,015-3-2,49,83
+015-3-1,31,73,0 warp #015-3-1_31_73 0,0,015-3-2,31,70
+015-3-1,49,56,0 warp #015-3-1_49_56 0,0,015-3-2,49,51
+015-3-1,90,64,0 warp #015-3-1_90_64 0,0,015-3-2,90,68
+015-3-1,80,22,0 warp #015-3-1_80_22 0,0,015-3,138,196
+015-3-1,77,40,0 warp #015-3-1_77_40 0,0,015-3-2,78,34
diff --git a/npc/015-3-1/pablin.txt b/npc/015-3-1/pablin.txt
new file mode 100644
index 0000000..33debb9
--- /dev/null
+++ b/npc/015-3-1/pablin.txt
@@ -0,0 +1,29 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// A retired pirate
+
+015-3-1,83,39,0 script Pablin NPC_OLDPIRATE,{
+ .@q = getq(HurnscaldQuest_PirateCave);
+ if (.@q > 7) goto L_Post;
+ mesn;
+ mesq l("Hey, you! What are you doing here?!");
+ next;
+ mesn;
+ mesq l("These are dangerous caves since Marley and her gang made it a hideout.");
+ next;
+ mesn;
+ mesq l("I won't stop you from going inside, but be careful, you hear me?");
+ close;
+
+L_Post:
+ mesn;
+ mesq l("Marley is furious that someone stole her treasure... You wouldn't happen to know anything about this, would you...?");
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+}
diff --git a/npc/015-3-2/_import.txt b/npc/015-3-2/_import.txt
new file mode 100644
index 0000000..cc4a4e5
--- /dev/null
+++ b/npc/015-3-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 015-3-2: Pirate Caves B2F
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/015-3-2/_mobs.txt",
+"npc/015-3-2/_warps.txt",
diff --git a/npc/015-3-2/_mobs.txt b/npc/015-3-2/_mobs.txt
new file mode 100644
index 0000000..61612b7
--- /dev/null
+++ b/npc/015-3-2/_mobs.txt
@@ -0,0 +1,14 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-3-2: Pirate Caves B2F mobs
+015-3-2,35,62,2,10 monster Grenadier 1444,1,100000,30000
+015-3-2,37,61,2,10 monster Swashbuckler 1443,2,100000,30000
+015-3-2,60,54,6,3 monster Thug 1442,2,100000,30000
+015-3-2,39,85,6,3 monster Thug 1442,2,100000,30000
+015-3-2,39,53,3,11 monster Thug 1442,2,100000,30000
+015-3-2,29,83,5,3 monster Swashbuckler 1443,2,100000,30000
+015-3-2,64,51,6,4 monster Swashbuckler 1443,2,100000,30000
+015-3-2,61,51,6,2 monster Grenadier 1444,1,100000,30000
+015-3-2,31,90,6,2 monster Grenadier 1444,1,100000,30000
+015-3-2,97,47,3,11 monster Thug 1442,2,100000,30000
+015-3-2,90,57,2,10 monster Swashbuckler 1443,2,100000,30000
+015-3-2,83,40,9,5 monster Grenadier 1444,1,100000,30000
diff --git a/npc/015-3-2/_warps.txt b/npc/015-3-2/_warps.txt
new file mode 100644
index 0000000..1a1878e
--- /dev/null
+++ b/npc/015-3-2/_warps.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-3-2: Pirate Caves B2F warps
+015-3-2,49,81,0 warp #015-3-2_49_81 0,0,015-3-1,49,76
+015-3-2,31,72,0 warp #015-3-2_31_72 0,0,015-3-1,31,74
+015-3-2,49,53,0 warp #015-3-2_49_53 0,0,015-3-1,49,57
+015-3-2,90,70,0 warp #015-3-2_90_70 0,0,015-3-1,90,66
+015-3-2,24,64,0 warp #015-3-2_24_64 0,0,015-3-3,34,67
+015-3-2,78,32,0 warp #015-3-2_78_32 0,0,015-3-1,77,38
diff --git a/npc/015-3-3/_import.txt b/npc/015-3-3/_import.txt
new file mode 100644
index 0000000..365dfee
--- /dev/null
+++ b/npc/015-3-3/_import.txt
@@ -0,0 +1,5 @@
+// Map 015-3-3: Pirate Den
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/015-3-3/_mobs.txt",
+"npc/015-3-3/_warps.txt",
+"npc/015-3-3/boss.txt",
diff --git a/npc/015-3-3/_mobs.txt b/npc/015-3-3/_mobs.txt
new file mode 100644
index 0000000..ab1dbe6
--- /dev/null
+++ b/npc/015-3-3/_mobs.txt
@@ -0,0 +1,16 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-3-3: Pirate Den mobs
+015-3-3,50,67,4,3 monster Grenadier 1444,1,100000,30000
+015-3-3,47,72,8,3 monster Swashbuckler 1443,2,100000,30000
+015-3-3,53,74,5,2 monster Thug 1442,2,100000,30000
+015-3-3,50,90,3,2 monster Grenadier 1444,1,100000,30000
+015-3-3,46,84,6,2 monster Thug 1442,2,100000,30000
+015-3-3,40,89,6,3 monster Swashbuckler 1443,2,100000,30000
+015-3-3,61,37,4,3 monster Grenadier 1444,1,100000,30000
+015-3-3,66,40,5,1 monster Thug 1442,2,100000,30000
+015-3-3,71,36,5,2 monster Swashbuckler 1443,2,100000,30000
+015-3-3,93,40,4,4 monster Grenadier 1444,1,100000,30000
+015-3-3,87,37,5,3 monster Thug 1442,2,100000,30000
+015-3-3,102,39,4,2 monster Swashbuckler 1443,2,100000,30000
+015-3-3,46,52,5,7 monster Thug 1442,2,100000,30000
+015-3-3,48,44,5,7 monster Swashbuckler 1443,2,100000,30000
diff --git a/npc/015-3-3/_warps.txt b/npc/015-3-3/_warps.txt
new file mode 100644
index 0000000..5d6a177
--- /dev/null
+++ b/npc/015-3-3/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-3-3: Pirate Den warps
+015-3-3,34,65,0 warp #015-3-3_34_65 0,0,015-3-2,24,62
diff --git a/npc/015-3-3/boss.txt b/npc/015-3-3/boss.txt
new file mode 100644
index 0000000..0fd764e
--- /dev/null
+++ b/npc/015-3-3/boss.txt
@@ -0,0 +1,81 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Pirate Den - Boss Fight & Treasure Chest
+
+015-3-3,100,67,0 script Pirate Treasure Chest NPC_CHEST,{
+ /* Boss Showdown incomplete */
+ if (getq(HurnscaldQuest_PirateCave) < 7) {
+ warp "015-3-2", 24, 62;
+ end;
+ }
+ /* Treasure Chest logic */
+ if (getq(HurnscaldQuest_PirateCave) == 7) {
+ // You'll always get the maximum prize the first time
+ TreasureBox(99999);
+ Zeny+=rand2(5700, 6200);
+ getexp 1000, 320;
+ compareandsetq HurnscaldQuest_PirateCave, 7, 8;
+ } else {
+ TreasureBox(50); // 0.50% extra chance
+ }
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ close;
+OnInit:
+ .distance=2;
+ end;
+}
+
+// Boss Showdown Intercept
+015-3-3,100,62,0 script #Marley NPC_HIDDEN,2,0,{
+ end;
+OnTouch:
+ if (getq(HurnscaldQuest_PirateCave) >= 7) end;
+ slide 70, 50;
+ if (mobcount("015-3-3", "#Marley::OnWin")) end;
+ // Cutscene + Boss!
+ sleep2(500); // For ManaPlus
+ dispbottom l("??? : Wait, how did you got here? WHO ARE YOU?");
+ sleep2(2500);
+ dispbottom l("??? : Are you trying to steal MY treasure?!");
+ sleep2(2500);
+ dispbottom l("??? : I am Pirate Captain Marley, and on the honor of my pirates...");
+ sleep2(2500);
+ dispbottom l("Marley : I shall stop you!");
+ // Someone has beat you to the punch!
+ if (mobcount("015-3-3", "#Marley::OnWin")) end;
+ // Spawn the boss!
+ monster("015-3-3", 69, 54, strmobinfo(1, Marley), Marley, 1, "#Marley::OnWin");
+ // And the reinforcements...
+ areamonster("015-3-3", 62, 47, 81, 57, strmobinfo(1, Thug), Thug, 4);
+ areamonster("015-3-3", 62, 47, 81, 57, strmobinfo(1, Swashbuckler), Swashbuckler, 4);
+ areamonster("015-3-3", 62, 47, 81, 57, strmobinfo(1, Grenadier), Grenadier, 4);
+ initnpctimer;
+ end;
+
+// Extra reinforcements if Marley still alive
+OnTimer30000:
+ if (!mobcount("015-3-3", "#Marley::OnWin")) end;
+ areamonster("015-3-3", 62, 47, 81, 57, strmobinfo(1, Thug), Thug, 3);
+ areamonster("015-3-3", 62, 47, 81, 57, strmobinfo(1, Swashbuckler), Swashbuckler, 3);
+ areamonster("015-3-3", 62, 47, 81, 57, strmobinfo(1, Grenadier), Grenadier, 3);
+ end;
+
+OnWin:
+ dispbottom l("Marley : You... thief... *grumble*");
+ compareandsetq HurnscaldQuest_PirateCave, 6, 7;
+ specialeffect(FX_FANFARE, AREA, getcharid(3));
+ end;
+}
+
+// Exit Gate, only usable if Marley isn't around anymore
+015-3-3,88,66,0 script #MarleyOut NPC_HIDDEN,0,2,{
+ end;
+OnTouch:
+ if (mobcount("015-3-3", "#Marley::OnWin")) end;
+ slide 100, 60;
+ end;
+}
+
+
diff --git a/npc/015-3/_config.txt b/npc/015-3/_config.txt
new file mode 100644
index 0000000..19625ca
--- /dev/null
+++ b/npc/015-3/_config.txt
@@ -0,0 +1,11 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-3: Butterfly Caves conf
+
+015-3,24,36,0 script #015-3_24_36 NPC_CHEST,{
+ TreasureBox();
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ close;
+OnInit:
+ .distance=2;
+ end;
+}
diff --git a/npc/015-3/_import.txt b/npc/015-3/_import.txt
new file mode 100644
index 0000000..8933299
--- /dev/null
+++ b/npc/015-3/_import.txt
@@ -0,0 +1,8 @@
+// Map 015-3: Butterfly Caves
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/015-3/_config.txt",
+"npc/015-3/_mobs.txt",
+"npc/015-3/_warps.txt",
+"npc/015-3/arkim.txt",
+"npc/015-3/logic.txt",
+"npc/015-3/pooh.txt",
diff --git a/npc/015-3/_mobs.txt b/npc/015-3/_mobs.txt
new file mode 100644
index 0000000..c8aa5cb
--- /dev/null
+++ b/npc/015-3/_mobs.txt
@@ -0,0 +1,19 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-3: Butterfly Caves mobs
+015-3,160,179,19,18 monster Cave Bat 1039,24,30000,40000
+015-3,142,31,24,14 monster Green Slime 1085,5,30000,40000
+015-3,118,179,22,18 monster Cave Snake 1035,9,30000,20000
+015-3,157,110,22,18 monster Snake 1122,12,30000,20000
+015-3,144,94,32,39 monster Black Scorpion 1074,12,30000,20000
+015-3,156,66,24,14 monster Robin Bandit 1153,5,30000,40000
+015-3,113,100,55,37 monster Red Slime 1092,47,30000,40000
+015-3,107,177,14,8 monster Archant 1026,2,30000,40000
+015-3,46,44,31,18 monster Night Scorpion 1077,1,3600000,1800000
+015-3,86,59,28,32 monster Terranite 1167,3,100000,40000
+015-3,69,89,33,28 monster Wicked Mushroom 1176,6,100000,30000
+015-3,84,142,23,50 monster Troll 1171,6,100000,30000
+015-3,32,37,31,12 monster Copper Slime Mother 1238,1,300000,120000
+015-3,38,49,26,17 monster Gobo Bear 1214,5,40000,20000
+015-3,132,189,8,10 monster Snake 1122,1,30000,20000
+015-3,102,105,81,87 monster Small Emerald Bif 1104,6,65000,45000
+015-3,98,123,24,62 monster Copper Slime 1088,10,40000,40000
diff --git a/npc/015-3/_warps.txt b/npc/015-3/_warps.txt
new file mode 100644
index 0000000..46a752f
--- /dev/null
+++ b/npc/015-3/_warps.txt
@@ -0,0 +1,59 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-3: Butterfly Caves warps
+015-3,152,162,0 script #015-3_152_162 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 123,38; end;
+}
+015-3,171,161,0 script #015-3_171_161 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 147,39; end;
+}
+015-3,172,196,0 warp #015-3_172_196 0,0,014-3,120,122
+015-3,138,197,0 warp #015-3_138_197 0,0,015-3-1,80,23
+015-3,129,199,0 script #015-3_129_199 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 152,57; end;
+}
+015-3,119,196,0 script #015-3_119_196 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 134,58; end;
+}
+015-3,98,161,0 script #015-3_98_161 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 123,38; end;
+}
+015-3,123,39,0 script #015-3_123_39 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 152,163; end;
+}
+015-3,147,40,0 script #015-3_147_40 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 171,162; end;
+}
+015-3,152,56,0 script #015-3_152_56 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 129,198; end;
+}
+015-3,134,57,0 script #015-3_134_57 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 119,195; end;
+}
+015-3,64,74,0 script #015-3_64_74 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 47,61; end;
+}
+015-3,47,62,0 script #015-3_47_62 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 64,73; end;
+}
diff --git a/npc/015-3/arkim.txt b/npc/015-3/arkim.txt
new file mode 100644
index 0000000..64f22af
--- /dev/null
+++ b/npc/015-3/arkim.txt
@@ -0,0 +1,252 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Heremit
+// Variables:
+// $ARKIM_ST
+// How many Bat Teeth/Wings were given
+// q1
+// Controls your own progress helping Arkim - Unused, might give place to some real quest later.
+// q2
+// Controls your own progress helping Arkim - Items today
+// q3
+// Controls your own progress helping Arkim - Your timer
+
+015-3,170,169,0 script Arkim NPC_TERRY,{
+ function pmap_intro;
+ function pmap_wrong;
+ function pmap_right;
+ mesn;
+ mesq lg("Hello, young girl...", "Hello, young boy...");
+ next;
+
+L_Loop:
+ .@q1=getq(HurnscaldQuest_Arkim);
+ .@q3=getq3(HurnscaldQuest_Arkim);
+ mesn;
+ mesq l("I am doing a great research with Bats, and thus far I collected @@ Bat Wings and Teeths.", $ARKIM_ST);
+ next;
+ // It was yesterday
+ if (.@q3 < $@ARKIM_QTIMER) {
+ setq2 HurnscaldQuest_Arkim, 0;
+ setq3 HurnscaldQuest_Arkim, $@ARKIM_QTIMER;
+ }
+
+ // Daily limit reached
+ .@q2=getq2(HurnscaldQuest_Arkim);
+ if (.@q2 >= (BaseLevel-17)/3) goto L_Timer;
+ select
+ rif(countitem(BatWing) >= 1, l("Donate a Bat Wing")),
+ rif(countitem(BatTeeth) >= 1, l("Donate a Bat Teeth")),
+ l("I better leave this crazy man to his ordeals..."),
+ l("Had you any breakthrough?");
+ mes "";
+
+ switch (@menu) {
+ case 1:
+ delitem BatWing, 1;
+ getexp 25, 0;
+ Zeny=Zeny+50;
+ break;
+ case 2:
+ delitem BatTeeth, 1;
+ getexp 36, 0;
+ Zeny=Zeny+70;
+ break;
+ case 3:
+ goto L_Assign;
+ close; // Will never reach.
+ break;
+ case 4:
+ goto L_Research;
+ break;
+ }
+ $ARKIM_ST=$ARKIM_ST+1;
+ setq2 HurnscaldQuest_Arkim, .@q2+1;
+ goto L_Loop;
+
+L_Timer:
+ if (BaseLevel < 20)
+ mesc l("You need at least level 20 to help.");
+ mesn;
+ mesq l("You've helped me plenty. Please come back in @@", FuzzyTime($@ARKIM_TIMER+(60*60*24),2,2));
+ goto L_Assign;
+ close; // Will never reach.
+
+// TODO
+L_Research:
+ mesn;
+ mesq l("Let me see... The more Wings and Teethes I collect, the more my research shall advance.");
+ next;
+ select
+ l("Thanks."),
+ rif($ARKIM_ST >= 1400, l("Cursed Arrows")),
+ rif($ARKIM_ST >= 2800, l("Poison Arrows")),
+ rif($ARKIM_ST >= 1200, l("Piberries Infusion")),
+ rif($ARKIM_ST >= 2600, l("Fate's Potion")),
+ rif($ARKIM_ST >= 4000, l("Clotho Liquor")),
+ rif($ARKIM_ST >= 4700, l("Lachesis Brew")),
+ rif($ARKIM_ST >= 6600, l("Atropos Mixture")),
+ rif($ARKIM_ST >= 7500, l("Dark Desert Mushroom"));
+ mes "";
+ mesn;
+
+ switch (@menu) {
+ case 1:
+ mesq l("Good bye!");
+ goto L_Assign;
+ close; // Will never reach.
+ break;
+ case 2:
+ mesq l("The @@ are specially dangerous, and archers love them.", getitemlink(CursedArrow));
+ next;
+ mesn;
+ mesq l("These are being crafted by Alan.");
+ break;
+ case 3:
+ mesq l("The @@ are specially dangerous, and archers love them.", getitemlink(PoisonArrow));
+ next;
+ mesn;
+ mesq l("These are being crafted by Alan.");
+ break;
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ mesq l("The @@ is a powerful healing drink.", getitemlink(PiberriesInfusion-4+@menu));
+ next;
+ mesn;
+
+ switch (@menu) {
+ case 4:
+ mesq l("@@ is developing these potions.", "Wyara"); break;
+ case 5:
+ mesq l("@@ is developing these potions.", "Fate, in Nivalis,"); break; // TODO: Missing NPC
+ case 6:
+ mesq l("@@ is developing these potions.", "Frostia Dwarves"); break;
+ case 7:
+ mesq l("@@ is developing these potions.", "Frostia Dwarves"); break;
+ default:
+ mesq l("@@ is developing these potions.", "Jesusalva"); // TODO: Lachesis and Atropos
+ break;
+ }
+
+ break;
+ case 9:
+ mesq l("Ah! @@. A very rare drop!", getitemlink(DarkDesertMushrooom));
+ next;
+ mesn;
+ mesq l("You can find it in the bandit market, but it is EXPENSIVE.");
+ break;
+
+ }
+ next;
+ goto L_Research;
+
+L_Assign:
+ // NOTE: Map will be destroyed after first time, MAKE SURE TO MEMORIZE.
+ // Or you'll need to find ANOTHER copy, but this one won't be burned.
+ if (getq(HurnscaldQuest_PirateCave) >= 2 && countitem(PirateTreasureMap)) {
+ mesc l("Should we ask about the %s before leaving?", getitemlink(PirateTreasureMap));
+ select
+ l("Ask."),
+ l("Don't ask.");
+ mes "";
+ if (@menu == 1) goto L_PirateMap;
+ }
+ GHQ_Assign(Bat, "Bat");
+ end;
+
+L_PirateMap:
+ .@q = getq(HurnscaldQuest_PirateCave);
+ if (.@q == 2) pmap_intro();
+ else if (.@q == 3) pmap_intro();
+ else if (.@q == 4) pmap_wrong();
+ // IMPLICIT FALLTHROUGH
+ .@q = getq(HurnscaldQuest_PirateCave);
+ if (.@q == 5) pmap_right();
+ close;
+
+function pmap_intro {
+ mesn;
+ mesq l("There's no one who knows Butterfly Caves better than me, child. These are MY caves, after all.");
+ next;
+ mesn;
+ mesc l("%s makes a confused face.", .name$);
+ mesq l("But your silly map must be wrong. These passages do not connect themselves like this, but this should not be an issue, as they're not relevant.");
+ next;
+ mesn;
+ mesq l("To reach this place... You just need to follow the path after the waterfall. Come back to me after that.");
+ compareandsetq HurnscaldQuest_PirateCave, 2, 3;
+ close;
+}
+
+function pmap_wrong {
+ mesn;
+ mesq l("Welcome back, children. So, how was your treasure hunt? Did you manage to find the path?");
+ next;
+ mesn strcharinfo(0);
+ select
+ l("NO!"),
+ l("Not at all!"),
+ l("You barely know these caves."),
+ l("You send me the wrong way.");
+ mes "";
+ mesn;
+ mesq l("Calm down, don't get mad! I was wrong in trusting this map, it is definitely faulty. Lemme see it again...");
+ if (!countitem(PirateTreasureMap)) close; // Last chance...
+ next;
+ mesn;
+ mesc l("%s eyebrow furrows, as he brings the map closer to a torch.", .name$);
+ mesq l("These paths are all wrong! What is the problem with this map?!");
+ next;
+ mesc l("The map starts getting darker with the heat of the flame, and curiously, new shapes starts to form...");
+ next;
+ mesn;
+ mesq l("Aha! So that's what it was! The map was hiding its secrets in drawings made with acid. An old technique... But a very useful one.");
+ next;
+ delitem PirateTreasureMap, 1;
+ setq HurnscaldQuest_PirateCave, 5;
+ getexp 0, 600;
+ mesc l("Suddenly, the map %s!", col(l("burst up in flames"), 1));
+ mesc l("Seems like Arkim held it too close to the flame...");
+ next;
+ mesn;
+ mes "\""+l("I have some good and some bad news for you.");
+ mes l("The good one, is that now I know the right path.");
+ mes l("The bad one, is that you'll have to guide yourself without the map.")+"\"";
+ next;
+ return;
+}
+
+function pmap_right {
+ mes ".:: " + l("Direction for Pirate Caves") + " ::.";
+ mes "1. "+l("Go through the waterfall path.");
+ mes "2. "+l("Use the abandoned passage to the north... Usually, no one uses it.");
+ mes "3. "+l("After that, follow the path until you reach a great chamber...");
+ mes "4. "+l("Then take the middle entrance.");
+ next;
+ mesn;
+ mesq l("I wish you good luck. I remember these caves... They're dangerous. Make sure to be prepared before venturing further.");
+ close;
+}
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+
+ $@ARKIM_QTIMER=gettimeparam(GETTIME_DAYOFMONTH);
+ $@ARKIM_TIMER=gettimetick(2);
+ $@ARKIM_TIMER-=gettime(1);
+ $@ARKIM_TIMER-=gettime(2)*60;
+ $@ARKIM_TIMER-=gettime(3)*3600;
+ end;
+
+OnHour00:
+ $@ARKIM_QTIMER=gettimeparam(GETTIME_DAYOFMONTH);
+ $@ARKIM_TIMER=gettimetick(2);
+ end;
+
+}
diff --git a/npc/015-3/logic.txt b/npc/015-3/logic.txt
new file mode 100644
index 0000000..0044017
--- /dev/null
+++ b/npc/015-3/logic.txt
@@ -0,0 +1,27 @@
+// TMW2 scripts.
+// Authors:
+// Diogo_RBG
+// Jesusalva
+// Description:
+// Pirate Caves gateway main logic
+// Adapted from TMW-BR for Moubootaur Legends
+
+015-3,128,161,0 script #0153WG1 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ compareandsetq HurnscaldQuest_PirateCave, 3, 4;
+ compareandsetq HurnscaldQuest_PirateCave, 5, 6;
+ slide 166, 38;
+ end;
+}
+
+015-3,132,23,0 script #0153WG2 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if (getq(HurnscaldQuest_PirateCave) >= 6) {
+ slide 98, 162;
+ }
+ end;
+}
+
+
diff --git a/npc/015-3/pooh.txt b/npc/015-3/pooh.txt
new file mode 100644
index 0000000..fc14040
--- /dev/null
+++ b/npc/015-3/pooh.txt
@@ -0,0 +1,221 @@
+// TMW2 scripts.
+// Author:
+// Diogo RBG from TMW-BR
+// Jesusalva
+// Description:
+// This is a very cute bear, it'll definitely earn your sympathy.
+// Pooh (original) has became Public Domain in January 2022.
+
+015-3,127,181,0 script Pooh NPC_POOH,{
+ function poohNear;
+ function poohFood;
+ function poohSmell;
+ inventoryplace BearHat, 1;
+ .@q = getq(HurnscaldQuest_TeddyBear);
+ mesc l("OMG so cute! This must be the cutest bear you ever seen your whole life.");
+ // Minimum level not met (does it even make sense? It is within Pirate Map)
+ if (BaseLevel < 39)
+ close;
+ mesc l("It seems to be concentrated on its small pot... So concentrated, it doesn't even realizes you're there.");
+ mesc l("This is so amusing, you decide to stare for a while longer.");
+ next;
+ // Quest already finished
+ if (.@q >= 3) {
+ mesc l("It then looks at you with a pleasant smile, you definitely earned a new cute friend!");
+ close;
+ }
+ mesc l("And then you notice the small teddy is opening and closing the lid of this pot repeated times, as if it were looking for something.");
+ mesc l("You ask yourself: What is the teddy looking for? How can I help him?");
+ compareandsetq HurnscaldQuest_TeddyBear, 0, 1;
+ next;
+ .@cont = false;
+ // Main menu
+ do
+ {
+ mesn strcharinfo(0);
+ select
+ l("Sing a song to brighten its mood."),
+ l("Pet his wonderfully fluffy pelt."),
+ l("Approach it softly."),
+ l("Offer food to it."),
+ l("Leave the poor thing in peace.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesc l("You sing a pretty song to the teddy, and this makes it very happy.");
+ mesc l("You know this, because their big round eyes were shining.");
+ next;
+ mesc l("However, this only distracts him for a short while. Soon after, he returns to his small ritual with the pot.");
+ next;
+ mesc l("Poor teddy, not even a pretty music can comfort him for long. What can we do now?");
+ next;
+ break;
+ case 2:
+ mesc l("With a big smile, you stretch your hand in the teddy's direction; But the little one gets scared with the movement and starts to move away from you.");
+ next;
+ mesc l("You give up after seeing its reaction, and try your best to resist the temptation of hugging this fluffy ball. Maybe we have another idea?");
+ next;
+ break;
+ case 3:
+ poohNear();
+ next;
+ break;
+ case 4:
+ poohFood();
+ .@cont = true;
+ break;
+ case 5:
+ mesc l("You leave the teddy alone with its pot.");
+ .@cont = true;
+ break;
+ default:
+ mesc "FIXME", 1;
+ next;
+ break;
+ }
+ } while (!.@cont);
+ close;
+
+function poohNear {
+ mesc l("You take off your bag and put it on the floor, as you lower yourself and try to slowly get close to it.");
+ next;
+ mesc l("But the teddy, noticing your movement, starts getting farther from you. It doesn't seems scared, but it doesn't allows you to approach either.");
+ next;
+ if (countitem(Honey) || countitem(BeeStinger)) {
+ poohSmell();
+ return;
+ }
+ mesc l("Insisting will do us no good, maybe we should try to gain its trust first?");
+ return;
+}
+
+function poohFood {
+ mesc l("Maybe the teddy is hungry? What could we offer to it?");
+ .@honey = false;
+ do
+ {
+ mes "";
+ mes "##B" + l("Drag and drop a healing item from your inventory.") + "##b";
+
+ .@id = requestitem();
+
+ // If ID is invalid, there's not enough items, it is bound, etc;
+ if (.@id < 1) return;
+ if (.@id < 1 || countitem(.@id) < 1 || checkbound(.@id) || getiteminfo(.@id, ITEMINFO_TYPE) != IT_HEALING) {
+ if (checkbound(.@id)) {
+ mesc l("You cannot part with this item!");
+ } else if (.@id == DeathPotion || .@id == NymphPoison) {
+ mesc l("...Are you crazy?");
+ } else if (.@id == MagicApple || .@id == MysteriousFruit) {
+ mesc l("This is too precious to offer, I think.");
+ } else if (getiteminfo(.@id, ITEMINFO_TYPE) != IT_HEALING) {
+ mesc l("I'm not sure if that's edible. For teddies, at least.");
+ } else {
+ mesc l("You give up.");
+ mesc l("Maybe it is not hungry, after all.");
+ return;
+ }
+ next;
+ continue;
+ }
+
+ // Bad healing items
+ if (.@id == Beer ||
+ .@id == RedPlushWine ||
+ .@id == DwarvenSake ||
+ .@id == CrazyRum ||
+ .@id == WhiskeyAle) {
+ mesc l("Offering alcohol to a teddy seems like a ugly thing to do. We should think on something else.");
+ next;
+ continue;
+ } else if (.@id == ElixirOfLife) {
+ mesc l("...I don't think the teddy is sick, so there's no point giving it an Elixir.");
+ next;
+ continue;
+ } else if (.@id == BottleOfSewerWater) {
+ mesc l("...I refuse to comment on this ridiculous idea.");
+ next;
+ continue;
+ } else if (.@id == Honey) {
+ .@honey = true;
+ break;
+ }
+
+ mesc l("Really give your %s to the teddy?", getitemlink(.@id)), 1;
+ mesc l("The item will be lost forever.");
+ if (askyesno() == ASK_YES) {
+ mes "";
+ mesc l("The teddy stares at it but does not approach. Maybe it is not hungry, or it doesn't want the food you offered.");
+ // Item is NOT deleted because it did not approach
+ next;
+ }
+ } while (!.@honey);
+ // You're offering HONEY! But we must check if you CAN do this
+ if (getq(HurnscaldQuest_TeddyBear) < 2) {
+ percentheal -2, 0;
+ SC_Bonus(15, SC_POISON, 1);
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@u = monster(.@m$, .@x, .@y, strmobinfo(1, Bee), Bee, 1);
+ unitattack(.@u, getcharid(3));
+ closeclientdialog;
+ dispbottom l("Suddenly, a bee appears and attacks you out of NOWHERE!");
+ end; // TERM
+ }
+ // You can, so we go ahead.
+ mesc l("Our plushy friend knows what is really sweet on this life. It likes honey a great deal, and by the way it looks you, it probably wants more.");
+ next;
+ mesc l("It is... SO CUTE! You won't refuse honey to a teddy, will you?");
+ mesc l("How much honey will you give it? (You have: %d)", countitem(Honey)), 3;
+ input .@honey, 0, countitem(Honey);
+ if (.@honey < 1) return;
+ delitem Honey, .@honey;
+ setq2 HurnscaldQuest_TeddyBear, getq2(HurnscaldQuest_TeddyBear) + .@honey;
+ getexp 0, .@honey * 14;
+ mesc l("The teddy quickly takes the honey and fills the pot. It is really hungry!");
+ if (getq2(HurnscaldQuest_TeddyBear) >= 27) {
+ mesc l("...And at long last, the teddy's pot is full of honey.");
+ mesc l("It seems happy, but it quickly goes to a dark honey after finishing.");
+ next;
+ mesc l("When it returns, it is holding a cute %s. Understanding it is a gift, you take it.", getitemlink(BearHat));
+ mesc l("Doesn't it feel good to help?");
+ getitem BearHat, 1;
+ setq HurnscaldQuest_TeddyBear, 3;
+ // Half of needed exp, but treasure map may require more level
+ getexp 15750, 9200; // Job Exp: Lv 28 as reference
+ }
+ return;
+}
+
+function poohSmell {
+ mesc l("But the teddy unexpectedly starts moving towards your bag, possibly attracted by some smell. You give up on approaching it, and starts watching it.");
+ next;
+ if (@stingpooh) {
+ mesc l("However, it stops abruptly and quickly moves away from it.");
+ mesc l("I guess it still remembers the sting on the snout. Ouch!");
+ return;
+ }
+ mesc l("Without any ceremony or further ado, the teddy starts poking on your things.");
+ next;
+ if (countitem(BeeStinger)) {
+ mesc l("However, it comes back crying! Poor teddy, it got attracted by a sweet smell but it found a %s instead!", getitemlink(BeeStinger));
+ delitem BeeStinger, 1;
+ @stingpooh = true;
+ next;
+ mesc l("Unsatisfied, it goes away from you and your bag. Such a shame, we almost had got its trust.");
+ return;
+ }
+ mesc l("After turning it upside down, it finds something which makes it really happy: %s! And there's nothing a teddy likes more than honey.", getitemlink(Honey));
+ next;
+ mesc l("The teddy picks it and goes running to somewhere it can eat in peace. Now we know how we can please our little friend - with %s! How we didn't think on that before?!", getitemlink(Honey));
+ delitem Honey, 1;
+ compareandsetq HurnscaldQuest_TeddyBear, 1, 2;
+ setq2 HurnscaldQuest_TeddyBear, getq2(HurnscaldQuest_TeddyBear) + 1;
+ getexp 0, 14;
+ return;
+}
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
diff --git a/npc/015-4/_import.txt b/npc/015-4/_import.txt
new file mode 100644
index 0000000..167d402
--- /dev/null
+++ b/npc/015-4/_import.txt
@@ -0,0 +1,4 @@
+// Map 015-4: Woodland Mines
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/015-4/_mobs.txt",
+"npc/015-4/_warps.txt",
diff --git a/npc/015-4/_mobs.txt b/npc/015-4/_mobs.txt
new file mode 100644
index 0000000..7bd3f0c
--- /dev/null
+++ b/npc/015-4/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-4: Woodland Mines mobs
+015-4,49,25,35,12 monster Angry Bat 1194,15,60000,60000
+015-4,56,36,35,12 monster Silk worm 1034,15,60000,70000
+015-4,72,23,15,15 monster Red Slime 1092,4,60000,60000
+015-4,54,21,29,14 monster Ruby Bif 1099,1,90000,90000
diff --git a/npc/015-4/_warps.txt b/npc/015-4/_warps.txt
new file mode 100644
index 0000000..40f118d
--- /dev/null
+++ b/npc/015-4/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-4: Woodland Mines warps
+015-4,50,39,0 warp #015-4_50_39 0,0,015-1,90,50
+015-4,76,18,0 warp #015-4_76_18 0,0,015-1,177,55
diff --git a/npc/015-5/_import.txt b/npc/015-5/_import.txt
new file mode 100644
index 0000000..85922cc
--- /dev/null
+++ b/npc/015-5/_import.txt
@@ -0,0 +1,6 @@
+// Map 015-5: Abandoned Mines
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/015-5/_mobs.txt",
+"npc/015-5/_warps.txt",
+"npc/015-5/sign.txt",
+"npc/015-5/treasure.txt",
diff --git a/npc/015-5/_mobs.txt b/npc/015-5/_mobs.txt
new file mode 100644
index 0000000..939e5a1
--- /dev/null
+++ b/npc/015-5/_mobs.txt
@@ -0,0 +1,28 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-5: Abandoned Mines mobs
+015-5,353,65,9,3 monster Cave Maggot 1027,5,100000,30000
+015-5,347,45,9,3 monster Cave Maggot 1027,5,100000,30000
+015-5,317,31,9,3 monster Cave Maggot 1027,5,100000,30000
+015-5,252,39,4,8 monster Cave Maggot 1027,5,100000,30000
+015-5,268,101,8,9 monster Cave Maggot 1027,10,100000,30000
+015-5,351,81,9,3 monster Cave Maggot 1027,5,100000,30000
+015-5,293,138,8,3 monster Cave Maggot 1027,5,100000,30000
+015-5,314,78,4,8 monster Cave Maggot 1027,5,100000,30000
+015-5,287,152,8,3 monster Cave Maggot 1027,5,100000,30000
+015-5,335,117,4,8 monster Cave Maggot 1027,5,100000,30000
+015-5,235,100,4,8 monster Cave Maggot 1027,5,100000,30000
+015-5,174,138,8,9 monster Cave Maggot 1027,10,100000,30000
+015-5,93,52,8,9 monster Troll 1171,6,100000,30000
+015-5,70,106,8,9 monster Cave Maggot 1027,10,100000,30000
+015-5,297,95,39,38 monster Small Emerald Bif 1104,1,45000,45000
+015-5,237,143,95,39 monster Copper Slime 1088,14,45000,45000
+015-5,186,64,113,48 monster Earth Fairy 1182,8,35000,35000
+015-5,215,108,5,6 monster Small Emerald Bif 1104,1,45000,45000
+015-5,69,172,32,15 monster Mouboo Slime 1201,12,360000,180000
+015-5,215,108,8,9 monster Cave Maggot 1027,10,100000,30000
+015-5,127,154,35,41 monster Archant 1026,6,30000,30000
+015-5,370,67,35,41 monster Archant 1026,6,30000,30000
+015-5,78,109,48,98 monster Cave Snake 1035,8,30000,30000
+015-5,154,55,33,43 monster Dark Lizard 1051,4,100000,30000
+015-5,214,100,189,95 monster Cave Maggot 1027,160,70000,30000
+015-5,206,167,175,36 monster Mineral Bif 1058,6,100000,30000
diff --git a/npc/015-5/_warps.txt b/npc/015-5/_warps.txt
new file mode 100644
index 0000000..4ba354f
--- /dev/null
+++ b/npc/015-5/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-5: Abandoned Mines warps
+015-5,81,138,0 warp #015-5_81_138 0,0,014-5,86,32
+015-5,353,61,0 warp #015-5_353_61 0,0,015-6,193,57
diff --git a/npc/015-5/sign.txt b/npc/015-5/sign.txt
new file mode 100644
index 0000000..9d92af6
--- /dev/null
+++ b/npc/015-5/sign.txt
@@ -0,0 +1,22 @@
+// TMW2 Script.
+// Author:
+// Jesusalva
+// Description:
+// You're at a PVP Area
+
+015-5,356,61,0 script WARNING#015535661 NPC_SWORDS_SIGN2,{
+ mesn;
+ mesc l("You are entering on a PVP Area with lowered death penalty.");
+ next;
+ mesn;
+ mesc l("The mines beyond this point have been shut at 280 AT because Terranite. You've been warned!");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
+015-5,350,61,0 duplicate(WARNING#015535661) WARNING#015535061 NPC_SWORDS_SIGN2
+
diff --git a/npc/015-5/treasure.txt b/npc/015-5/treasure.txt
new file mode 100644
index 0000000..0fb2a85
--- /dev/null
+++ b/npc/015-5/treasure.txt
@@ -0,0 +1,64 @@
+// TMW2 Script
+
+// (Random) Treasure Chest
+// Authored by Jesusalva
+// Regenerates every 6 hours
+
+015-5,0,0,0 script #chest_01550 NPC_CHEST,{
+
+ if (!.busy && !.empty) {
+ TreasureBox();
+
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ .dir = .dir == 0 ? 2 : 6; // closed ? opening : closing
+ .busy = true; // lock until available again
+ initnpctimer;
+ } else if (!.busy) {
+ mesc l("Someone looted this treasure box already...");
+ } else {
+ end;
+ }
+ close;
+
+OnTimer160:
+ .dir = .dir == 6 ? 0 : 4; // closing ? closed : open
+ end;
+
+OnTimer500:
+ .busy = false; // unlock
+ if (.dir == 0 || .dir == 4)
+ stopnpctimer; // stop here if the chest is closed
+ end;
+
+OnInit:
+ .busy = false;
+ .distance = 2;
+ .empty = false;
+
+OnClock0156:
+OnClock0756:
+OnClock1356:
+OnClock1956:
+ // Try to warp randomly to a walkable spot, up to 20 attempts
+ // Otherwise, it'll stay where it already is (but will close and refill).
+ .@e=0; .@x=0; .@y=0;
+ while (!checkcell(.map$, .@x, .@y, cell_chkpass))
+ {
+ if (.@e == 20) {
+ .@x=.x;
+ .@y=.y;
+ break;
+ }
+ // Remember the +20 -20 margin adjustment
+ .@x = rand(20, 405);
+ .@y = rand(20, 190);
+ ++.@e;
+ }
+ .busy=false;
+ .empty=false;
+ movenpc .name$, .@x, .@y, 0;
+ end;
+}
+
+015-5,0,0,0 duplicate(#chest_01550) #chest_01551 NPC_CHEST
+
diff --git a/npc/015-6/_import.txt b/npc/015-6/_import.txt
new file mode 100644
index 0000000..f75a7dd
--- /dev/null
+++ b/npc/015-6/_import.txt
@@ -0,0 +1,7 @@
+// Map 015-6: Terranite Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/015-6/_mobs.txt",
+"npc/015-6/_warps.txt",
+"npc/015-6/boss.txt",
+"npc/015-6/mapflags.txt",
+"npc/015-6/treasure.txt",
diff --git a/npc/015-6/_mobs.txt b/npc/015-6/_mobs.txt
new file mode 100644
index 0000000..16a975d
--- /dev/null
+++ b/npc/015-6/_mobs.txt
@@ -0,0 +1,72 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-6: Terranite Cave mobs
+015-6,217,45,6,1 monster Moggun 1070,3,100000,30000
+015-6,223,30,6,1 monster Moggun 1070,3,100000,30000
+015-6,239,48,6,1 monster Moggun 1070,3,100000,30000
+015-6,197,39,3,4 monster Moggun 1070,3,100000,30000
+015-6,210,35,3,4 monster Angry Bat 1194,5,100000,30000
+015-6,241,38,3,4 monster Angry Bat 1194,5,100000,30000
+015-6,237,59,3,4 monster Angry Bat 1194,5,100000,30000
+015-6,226,73,3,4 monster Angry Bat 1194,5,100000,30000
+015-6,209,94,4,2 monster Angry Bat 1194,5,100000,30000
+015-6,263,29,3,4 monster Angry Bat 1194,5,100000,30000
+015-6,274,48,3,4 monster Angry Bat 1194,5,100000,30000
+015-6,267,70,3,4 monster Angry Bat 1194,5,100000,30000
+015-6,259,79,3,4 monster Angry Bat 1194,15,100000,30000
+015-6,274,79,3,4 monster Angry Bat 1194,5,100000,30000
+015-6,268,91,12,7 monster Moggun 1070,10,100000,30000
+015-6,209,146,34,27 monster Wicked Mushroom 1176,5,100000,30000
+015-6,254,163,9,23 monster Angry Yellow Slime 1198,10,100000,30000
+015-6,167,175,8,11 monster Angry Yellow Slime 1198,10,100000,30000
+015-6,148,176,8,11 monster Red Slime 1092,15,100000,30000
+015-6,131,88,8,11 monster Red Slime 1092,10,100000,30000
+015-6,140,131,8,11 monster Angry Yellow Slime 1198,10,100000,30000
+015-6,42,128,8,4 monster Angry Yellow Slime 1198,10,100000,30000
+015-6,64,62,12,15 monster Wicked Mushroom 1176,6,100000,30000
+015-6,69,89,8,10 monster Angry Yellow Slime 1198,10,100000,30000
+015-6,34,45,8,16 monster Terranite 1167,3,100000,30000
+015-6,64,36,12,8 monster Cave Maggot 1027,3,100000,30000
+015-6,100,115,12,8 monster Cave Maggot 1027,3,100000,30000
+015-6,90,137,8,11 monster Angry Yellow Slime 1198,10,100000,30000
+015-6,59,113,7,8 monster Cave Maggot 1027,28,100000,30000
+015-6,42,176,7,6 monster Terranite 1167,3,100000,30000
+015-6,120,177,12,8 monster Cave Maggot 1027,3,100000,30000
+015-6,287,180,12,8 monster Cave Maggot 1027,3,100000,30000
+015-6,340,175,12,8 monster Cave Maggot 1027,3,100000,30000
+015-6,390,156,34,27 monster Wicked Mushroom 1176,7,100000,30000
+015-6,358,37,10,11 monster Terranite 1167,3,100000,30000
+015-6,481,110,9,12 monster Terranite 1167,3,100000,30000
+015-6,435,114,12,8 monster Cave Maggot 1027,3,100000,30000
+015-6,477,82,12,8 monster Cave Maggot 1027,3,100000,30000
+015-6,354,106,9,23 monster Angry Yellow Slime 1198,15,100000,30000
+015-6,342,139,8,11 monster Red Slime 1092,10,100000,30000
+015-6,389,81,16,7 monster Red Slime 1092,16,100000,30000
+015-6,409,35,3,4 monster Angry Bat 1194,11,100000,30000
+015-6,413,73,3,4 monster Angry Bat 1194,11,100000,30000
+015-6,395,63,3,4 monster Angry Bat 1194,11,100000,30000
+015-6,314,182,3,4 monster Angry Bat 1194,5,100000,30000
+015-6,409,121,3,4 monster Angry Bat 1194,18,100000,30000
+015-6,456,99,3,4 monster Angry Bat 1194,11,100000,30000
+015-6,133,153,4,2 monster Angry Bat 1194,11,100000,30000
+015-6,153,98,4,2 monster Angry Bat 1194,5,100000,30000
+015-6,126,65,4,2 monster Angry Bat 1194,5,100000,30000
+015-6,81,180,4,2 monster Angry Bat 1194,5,100000,30000
+015-6,61,159,4,2 monster Angry Bat 1194,5,100000,30000
+015-6,271,157,3,4 monster Angry Bat 1194,5,100000,30000
+015-6,270,182,3,4 monster Angry Bat 1194,5,100000,30000
+015-6,322,141,8,11 monster Red Slime 1092,10,100000,30000
+015-6,451,111,3,4 monster Angry Bat 1194,5,100000,30000
+015-6,422,50,5,16 monster Wicked Mushroom 1176,5,100000,30000
+015-6,380,40,7,11 monster Wicked Mushroom 1176,5,100000,30000
+015-6,124,49,4,12 monster Terranite 1167,1,100000,30000
+015-6,80,110,4,2 monster Angry Bat 1194,5,100000,30000
+015-6,42,142,10,5 monster Cave Maggot 1027,3,100000,30000
+015-6,41,159,5,10 monster Wicked Mushroom 1176,4,100000,30000
+015-6,95,180,4,2 monster Angry Bat 1194,5,100000,30000
+015-6,91,180,11,5 monster Wicked Mushroom 1176,8,100000,30000
+015-6,263,167,21,22 monster Big Sapphire Bif 1115,3,150000,30000
+015-6,483,173,21,22 monster Big Sapphire Bif 1115,3,150000,30000
+015-6,233,41,49,22 monster Big Amethyst Bif 1112,3,150000,30000
+015-6,230,43,49,22 monster Amethyst Bif 1111,3,120000,30000
+015-6,201,134,22,35 monster Amethyst Bif 1111,5,135000,30000
+015-6,394,81,55,59 monster Sapphire Bif 1114,6,135000,30000
diff --git a/npc/015-6/_warps.txt b/npc/015-6/_warps.txt
new file mode 100644
index 0000000..6aba506
--- /dev/null
+++ b/npc/015-6/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-6: Terranite Cave warps
+015-6,193,58,0 warp #015-6_193_58 0,0,015-5,353,62
+015-6,363,26,0 warp #015-6_363_26 0,0,015-6,474,187
+015-6,474,188,0 warp #015-6_474_188 0,0,015-6,363,27
diff --git a/npc/015-6/boss.txt b/npc/015-6/boss.txt
new file mode 100644
index 0000000..d843496
--- /dev/null
+++ b/npc/015-6/boss.txt
@@ -0,0 +1,31 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Terranite King Boss
+
+015-6,0,0,0 script #BossCtrl_015-6 NPC_HIDDEN,{
+ end;
+
+// Respawn every hour
+OnTimer3600000:
+ stopnpctimer;
+OnInit:
+ setarray .xp, 268, 55, 371, 482, 212;
+ setarray .yp, 90, 45, 38, 114, 148;
+ .@tg=rand(getarraysize(.xp)-1);
+ monster "015-6", .xp[.@tg], .yp[.@tg], strmobinfo(1, TerraniteKing), TerraniteKing, 1, "#BossCtrl_015-6::OnBossDeath";
+ end;
+
+OnBossDeath:
+ initnpctimer;
+ .@party=getcharid(1);
+ if (.@party > 0) {
+ mapannounce "015-6", "Boss deafeated by Party: " + getpartyname(.@party), bc_all;
+ } else {
+ mapannounce "015-6", "Boss deafeated by: " + strcharinfo(0), bc_all;
+ }
+ fix_mobkill(TerraniteKing);
+ end;
+
+}
diff --git a/npc/015-6/mapflags.txt b/npc/015-6/mapflags.txt
new file mode 100644
index 0000000..4ec943d
--- /dev/null
+++ b/npc/015-6/mapflags.txt
@@ -0,0 +1 @@
+015-6 mapflag pvp
diff --git a/npc/015-6/treasure.txt b/npc/015-6/treasure.txt
new file mode 100644
index 0000000..8b7723c
--- /dev/null
+++ b/npc/015-6/treasure.txt
@@ -0,0 +1,64 @@
+// TMW2 Script
+
+// (Random) Treasure Chest
+// Authored by Jesusalva
+// Regenerates every 6 hours
+
+015-6,0,0,0 script #chest_01560 NPC_CHEST,{
+
+ if (!.busy && !.empty) {
+ TreasureBox();
+
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ .dir = .dir == 0 ? 2 : 6; // closed ? opening : closing
+ .busy = true; // lock until available again
+ initnpctimer;
+ } else if (!.busy) {
+ mesc l("Someone looted this treasure box already...");
+ } else {
+ end;
+ }
+ close;
+
+OnTimer160:
+ .dir = .dir == 6 ? 0 : 4; // closing ? closed : open
+ end;
+
+OnTimer500:
+ .busy = false; // unlock
+ if (.dir == 0 || .dir == 4)
+ stopnpctimer; // stop here if the chest is closed
+ end;
+
+OnInit:
+ .busy = false;
+ .distance = 2;
+ .empty = false;
+
+OnClock0156:
+OnClock0756:
+OnClock1356:
+OnClock1956:
+ // Try to warp randomly to a walkable spot, up to 20 attempts
+ // Otherwise, it'll stay where it already is (but will close and refill).
+ .@e=0; .@x=0; .@y=0;
+ while (!checkcell(.map$, .@x, .@y, cell_chkpass))
+ {
+ if (.@e == 20) {
+ .@x=.x;
+ .@y=.y;
+ break;
+ }
+ // Remember the +20 -20 margin adjustment
+ .@x = rand(20, 500);
+ .@y = rand(20, 190);
+ ++.@e;
+ }
+ .busy=false;
+ .empty=false;
+ movenpc .name$, .@x, .@y, 0;
+ end;
+}
+
+015-6,0,0,0 duplicate(#chest_01560) #chest_01561 NPC_CHEST
+
diff --git a/npc/015-7/_import.txt b/npc/015-7/_import.txt
new file mode 100644
index 0000000..1954ecd
--- /dev/null
+++ b/npc/015-7/_import.txt
@@ -0,0 +1,4 @@
+// Map 015-7: Small Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/015-7/_mobs.txt",
+"npc/015-7/_warps.txt",
diff --git a/npc/015-7/_mobs.txt b/npc/015-7/_mobs.txt
new file mode 100644
index 0000000..5b3ec36
--- /dev/null
+++ b/npc/015-7/_mobs.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-7: Small Cave mobs
+015-7,58,66,37,29 monster Cave Snake 1035,21,20000,20000
+015-7,57,67,31,24 monster Cave Maggot 1027,16,20000,20000
diff --git a/npc/015-7/_warps.txt b/npc/015-7/_warps.txt
new file mode 100644
index 0000000..e143291
--- /dev/null
+++ b/npc/015-7/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-7: Small Cave warps
+015-7,38,95,0 warp #015-7_38_95 0,0,014-5,48,162
+015-7,84,66,0 warp #015-7_84_66 0,0,014-5,59,155
diff --git a/npc/015-8-1/_import.txt b/npc/015-8-1/_import.txt
new file mode 100644
index 0000000..016ede1
--- /dev/null
+++ b/npc/015-8-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 015-8-1: Abandoned Ruins
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/015-8-1/campaign.txt",
+"npc/015-8-1/puzzle.txt",
diff --git a/npc/015-8-1/campaign.txt b/npc/015-8-1/campaign.txt
new file mode 100644
index 0000000..9a9401c
--- /dev/null
+++ b/npc/015-8-1/campaign.txt
@@ -0,0 +1,311 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Sagratha Quest (field 3)
+
+015-8-1,49,38,0 script #SaggyDungeonCore NPC_NO_SPRITE,{
+ // Not in instance, we don't care.
+ if (instance_id() < 0)
+ end;
+ if (!.SAGRATHA)
+ dispbottom l("I cannot read the signs from this far away.");
+ if (@swin)
+ goto OnSW06;
+ end;
+
+// There is no instance init
+OnBegin:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+ .PLAYERID=getcharid(3);
+
+ // PCBLOCK_HARD = PCBLOCK_ATTACK|PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_SITSTAND|PCBLOCK_IMMUNE|PCBLOCK_CHAT|PCBLOCK_MOVE
+ setpcblock(PCBLOCK_HARD, true);
+ setq3 HurnscaldQuest_Sagratha, 1;
+
+ // Setup boss units
+ .SAGRATHA=monster(.@m$, 52, 40, "Sagratha", Sagratha, 1, .@n$+"::OnSagrathaDie", Size_Medium, 2);
+ .BOSS=monster(.@m$, 47, 40, l("Masked Assassin"), HoodedAssassin, 1, .@n$+"::OnSagrathaWin");
+
+ unitstop(.SAGRATHA);
+ unitstop(.BOSS);
+ sc_start(SC_STUN, 9000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .SAGRATHA);
+ sc_start(SC_STUN, 9000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .BOSS);
+
+ // FIXME: Seems like this is an "unsafe command" in 4144's opinion
+ // Prevent players from engaging Sagratha and allies
+ clientcommand "addignoreattack Sagratha";
+ clientcommand "addignoreattack "+l(strmobinfo(1, Mouboo));
+ clientcommand "addignoreattack "+l(strmobinfo(1, ForestMushroom));
+ clientcommand "addignoreattack "+strmobinfo(1, Mouboo);
+ clientcommand "addignoreattack "+strmobinfo(1, ForestMushroom);
+
+ unittalk(.SAGRATHA, l("What are you doing here, @@!", get_race()));
+
+ addtimer(2000, .@n$+"::OnS02");
+ end;
+
+OnS02:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ unittalk(.SAGRATHA, l("I don't need help!"));
+ unittalk(.BOSS, l("Die already!"));
+
+ addtimer(3000, .@n$+"::OnS03");
+ end;
+
+OnS03:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ unittalk(.SAGRATHA, l("If you don't want to die, fight!"));
+ unittalk(.BOSS, lg("Murder her too!", "Murder him too!"));
+
+ addtimer(3000, .@n$+"::OnS04");
+ end;
+
+OnS04:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ // Assassin's Army
+ areamonster .@m$, 44, 40, 55, 50, strmobinfo(1, HoodedNinja), HoodedNinja, 2, .@n$+"::OnError";
+ areamonster .@m$, 44, 40, 55, 50, strmobinfo(1, Assassin), Assassin, 4, .@n$+"::OnError";
+
+ // Sagratha's Army
+ areamonster .@m$, 44, 40, 55, 50, strmobinfo(1, Mouboo), Mouboo, 5, .@n$+"::OnError", Size_Medium, 2;
+ areamonster .@m$, 44, 40, 55, 50, strmobinfo(1, ForestMushroom), ForestMushroom, 2, .@n$+"::OnError", Size_Medium, 2;
+
+ // Heal them because you should not be fighting (yet).
+ setunitdata(.BOSS, UDT_HP, getunitdata(.BOSS, UDT_MAXHP));
+ setunitdata(.SAGRATHA, UDT_HP, getunitdata(.SAGRATHA, UDT_MAXHP));
+ unitstop(.SAGRATHA);
+ unitstop(.BOSS);
+
+ // Objective announce
+ mapannounce(.@m$, "##2"+l("Victory Conditions: Protect Sagratha!"), 0);
+ mapannounce(.@m$, "##2"+l("Victory Conditions: Defeat the assassin!"), 0);
+ mapannounce(.@m$, "##1"+l("Defeat Conditions: Your death!"), 0);
+ mapannounce(.@m$, "##1"+l("Defeat Conditions: Time run out!"), 0);
+ mapannounce(.@m$, "##1"+l("Defeat Conditions: Sagratha gets killed!"), 0);
+
+ // Status cleanup
+ // PCBLOCK_HARD = PCBLOCK_ATTACK|PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_SITSTAND|PCBLOCK_IMMUNE|PCBLOCK_CHAT|PCBLOCK_MOVE
+ setpcblock(PCBLOCK_HARD, false);
+ // TODO: After x time, reinforcements on both sides
+ // BOSS: “Kill 'em all!â€
+ // SAGGY: “Beings of florest, come to my aid and protect me!â€
+ addtimer(20000, .@n$+"::OnW01");
+ end;
+
+OnW01:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ unittalk(.BOSS, l("Kill 'em all!"));
+ unittalk(.SAGRATHA, l("It's an ambush!"));
+
+ monster .@m$, 39, 39, strmobinfo(1, HoodedNinja), HoodedNinja, 1, .@n$+"::OnError";
+ monster .@m$, 60, 39, strmobinfo(1, HoodedNinja), HoodedNinja, 1, .@n$+"::OnError";
+
+ monster .@m$, 39, 54, strmobinfo(1, Assassin), Assassin, 1, .@n$+"::OnError";
+ monster .@m$, 60, 54, strmobinfo(1, Assassin), Assassin, 1, .@n$+"::OnError";
+ addtimer(rand(10000,15000), .@n$+"::OnW02");
+ end;
+
+OnW02:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ unittalk(.SAGRATHA, l("Mouboos, come to my aid and protect me!"));
+
+ monster .@m$, 46, 59, strmobinfo(1, Mouboo), Mouboo, 1, .@n$+"::OnError", Size_Medium, 2;
+ monster .@m$, 44, 61, strmobinfo(1, Mouboo), Mouboo, 1, .@n$+"::OnError", Size_Medium, 2;
+ monster .@m$, 49, 61, strmobinfo(1, Mouboo), Mouboo, 1, .@n$+"::OnError", Size_Medium, 2;
+ addtimer(30000, .@n$+"::OnW03");
+ end;
+
+OnW03:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ unittalk(.SAGRATHA, l("Do not think you can defeat me yet!"));
+ unittalk(.BOSS, l("You'll all die here!"));
+
+ monster .@m$, 49, 34, strmobinfo(1, ForestMushroom), ForestMushroom, 1, .@n$+"::OnError", Size_Medium, 2;
+ monster .@m$, 47, 36, strmobinfo(1, Assassin), Assassin, 1, .@n$+"::OnError";
+ monster .@m$, 52, 36, strmobinfo(1, Assassin), Assassin, 1, .@n$+"::OnError";
+ addtimer(20000, .@n$+"::OnW04");
+ end;
+
+OnW04:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ unittalk(.SAGRATHA, l("It's far from over! You cannot defeat me!"));
+
+ monster .@m$, 46, 59, strmobinfo(1, Wolvern), Wolvern, 1, .@n$+"::OnError", Size_Medium, 2;
+ monster .@m$, 44, 61, strmobinfo(1, ForestMushroom), ForestMushroom, 1, .@n$+"::OnError", Size_Medium, 2;
+ monster .@m$, 49, 61, strmobinfo(1, PoisonSpikyMushroom), PoisonSpikyMushroom, 1, .@n$+"::OnError", Size_Medium, 2;
+ end;
+
+// Assassin, HoodedNinja, HoodedAssassin (boss)
+// Mouboo, ForestMushroom, Fluffy, Sagratha (boss)
+OnSagrathaDie:
+ .@n$=instance_npcname(.name$);
+ addtimer(70, .@n$+"::OnSagrathaReallyDie", .PLAYERID);
+ end;
+
+OnSagrathaReallyDie:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ deltimer(.@n$+"::OnW01");
+ deltimer(.@n$+"::OnW02");
+ deltimer(.@n$+"::OnW03");
+ deltimer(.@n$+"::OnW04");
+ killmonster(.@m$, .@n$+"::OnError");
+ unitkill(.BOSS);
+ mapannounce(.@m$, "##2"+l("You lose!"), 0);
+
+ dispbottom l("You failed to protect Sagratha..."); // and will need to start the quest again...");
+ setq1 HurnscaldQuest_Sagratha, 3;
+ setq3 HurnscaldQuest_Sagratha, 0;
+ die();
+ end;
+
+OnSagrathaWin:
+ .@n$=instance_npcname(.name$);
+ addtimer(70, .@n$+"::OnSagrathaReallyWin", .PLAYERID);
+ @swin=true;
+ specialeffect(FX_FANFARE, AREA, getcharid(3));
+ end;
+
+OnSagrathaReallyWin:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+ @swin=true;
+
+ if (ispcdead())
+ end;
+
+ deltimer(.@n$+"::OnW01");
+ deltimer(.@n$+"::OnW02");
+ deltimer(.@n$+"::OnW03");
+ killmonster(.@m$, .@n$+"::OnError");
+ mapannounce(.@m$, "##2"+l("You win!"), 0);
+ mapannounce(.@m$, "##2"+l("You must go talk with the Obelisk!"), 0);
+
+ npctalk l("YOU WHO DEFILE THIS PLACE...");
+ // How does she even knows your name?
+ unittalk(.SAGRATHA, l("@@, watch out! The obelisk - it is talking!", strcharinfo(0)));
+ unitstop(.SAGRATHA);
+
+ addtimer(300, .@n$+"::OnSW01");
+ end;
+
+OnSW01:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ unitwalk(.SAGRATHA, 50, 39);
+ addtimer(2000, .@n$+"::OnSW02");
+ end;
+
+OnSW02:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ npctalk l("YOU WHO DEFILE THIS PLACE...");
+ addtimer(2000, .@n$+"::OnSW03");
+ end;
+
+OnSW03:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ // Perhaps “Cursed†instead of “Sacred�
+ npctalk l("THIS IS THE MOUBOOTAUR TEMPLE RUINS... THIS PLACE IS SACRED...");
+ addtimer(3000, .@n$+"::OnSW04");
+ end;
+
+OnSW04:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ npctalk l("THE BLOOD HERE SPILLED TODAY... ONLY ENRAGES HIM MORE...");
+ unittalk(.SAGRATHA, l("Yikes, the Moubootaur!"));
+ addtimer(3000, .@n$+"::OnSW05");
+ end;
+
+OnSW05:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ npctalk l("LEAVE NOW... BEFORE IT BECOMES TOO LATE....");
+ addtimer(3000, .@n$+"::OnSW06");
+ end;
+
+OnSW06:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+ if (getq(HurnscaldQuest_Sagratha) != 5)
+ end;
+
+ mesn l("Sagratha");
+ mesq l("@@, we should leave here now.", strcharinfo(0));
+ next;
+ select
+ l("What is the Moubootaur?"),
+ l("I came here to ask for help with curses."),
+ l("WHAT IN THE NAME OF THE FREAKING PENGUIN WAS THAT?!");
+ mes "";
+ mesn l("Sagratha");
+ mesq l("That's none of your bussiness! We should leave here NOW!");
+ next;
+ mesn l("Sagratha");
+ mesq l("You can tell me the details about why you're here on the way out...");
+ next;
+ mesn l("Sagratha");
+ mesq l("But for now, we must NOT enrage the Moubootaur!!");
+ next;
+ @swin=false;
+ setq HurnscaldQuest_Sagratha, 6, 0, 0;
+ warp "014-5", 122, 139;
+ clear;
+ mesc l(".:: Victory ::."), 3;
+ mesc l("You successfully completed Sagratha's Campaign."), 3;
+ close;
+
+OnError:
+ end;
+
+OnInit:
+ .SAGRATHA=0;
+ end;
+
+}
+
+// Dummy NPC to fire #SaggyDungeonCore when you get close to battle scene
+015-8-1,49,39,0 script #SaggyDungeonFire NPC_HIDDEN,1,0,{
+ end;
+
+OnTouch:
+ if (instance_id() < 0)
+ end;
+
+ if (!getq3(HurnscaldQuest_Sagratha)) {
+ .@in=getq2(HurnscaldQuest_Sagratha);
+ doevent(instance_npcname("#SaggyDungeonCore", .@in)+"::OnBegin");
+ }
+ end;
+
+OnInit:
+ .distance=0;
+ end;
+
+}
+
+
diff --git a/npc/015-8-1/puzzle.txt b/npc/015-8-1/puzzle.txt
new file mode 100644
index 0000000..2cf669c
--- /dev/null
+++ b/npc/015-8-1/puzzle.txt
@@ -0,0 +1,111 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// PUZZLES and TRAPS submodule - Sagratha's Cave Boss Room - 015-8-1
+
+// Exit area
+015-8-1,50,79,0 script #Exit01581 NPC_HIDDEN,1,0,{
+ end;
+OnTouch:
+ .@q=getq(HurnscaldQuest_Sagratha);
+ // Cheater Detected
+ if (!MAGIC_LVL || .@q < 5) {
+ setq HurnscaldQuest_Sagratha, 0, 0, 0;
+ sc_end SC_CASH_PLUSEXP;
+ sc_end SC_OVERLAPEXPUP;
+ sc_start SC_OVERLAPEXPUP, 300000, -20;
+ warp "Save", 0, 0;
+ end;
+ }
+ if (.@q == 5) {
+ dispbottom l("You are NOT allowed to leave here!");
+ } else {
+ warp "015-8", 94, 21;
+ }
+ end;
+}
+
+
+015-8-1,0,0,0 script #SaggyBossTrap01 NPC_TRAP,0,0,{
+ end;
+OnTouchNPC:
+OnTouch:
+ // instance_id()
+ if (instance_id() >= 0)
+ SteelTrap(rand2(10, 40), 5, any(0,1,1,2), instance_npcname(.name$));
+ else
+ SteelTrap(rand2(10, 40), 5, any(0,1,1,2));
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay instance_npcname(.name$), NPC_TRAP;
+ end;
+
+
+OnInstanceInit:
+ .@x=rand(20,80);
+ .@y=rand(20,80);
+ movenpc instance_npcname(.name$), .@x, .@y;
+ // It's on a wall, let's remove it
+ if (!checkcell(instance_mapname("015-8-1"), .@x, .@y, cell_chkpass)) {
+ disablenpc instance_npcname(.name$);
+ }
+ end;
+
+OnInit:
+ disablenpc .name$;
+ end;
+}
+
+// Create more traps. (They can be on walls so amount is random >.<)
+015-8-1,0,0,0 duplicate(#SaggyBossTrap01) #SaggyBossTrap02 NPC_TRAP,0,0
+015-8-1,0,0,0 duplicate(#SaggyBossTrap01) #SaggyBossTrap03 NPC_TRAP,0,0
+015-8-1,0,0,0 duplicate(#SaggyBossTrap01) #SaggyBossTrap04 NPC_TRAP,0,0
+015-8-1,0,0,0 duplicate(#SaggyBossTrap01) #SaggyBossTrap05 NPC_TRAP,0,0
+015-8-1,0,0,0 duplicate(#SaggyBossTrap01) #SaggyBossTrap06 NPC_TRAP,0,0
+015-8-1,0,0,0 duplicate(#SaggyBossTrap01) #SaggyBossTrap07 NPC_TRAP,0,0
+015-8-1,0,0,0 duplicate(#SaggyBossTrap01) #SaggyBossTrap08 NPC_TRAP,0,0
+015-8-1,0,0,0 duplicate(#SaggyBossTrap01) #SaggyBossTrap09 NPC_TRAP,0,0
+015-8-1,0,0,0 duplicate(#SaggyBossTrap01) #SaggyBossTrap10 NPC_TRAP,0,0
+015-8-1,0,0,0 duplicate(#SaggyBossTrap01) #SaggyBossTrap11 NPC_TRAP,0,0
+015-8-1,0,0,0 duplicate(#SaggyBossTrap01) #SaggyBossTrap12 NPC_TRAP,0,0
+// twelve traps should be enough
+
+// Transitional, dummy NPCs
+015-8-1,25,34,0 script #LockedDoor01581A NPC_NO_SPRITE,0,0,{
+ end;
+OnTouch:
+ npctalkonce l("This door is locked.");
+ end;
+}
+
+015-8-1,26,68,0 duplicate(#LockedDoor01581A) #LockedDoor01581B NPC_NO_SPRITE,0,0
+015-8-1,37,68,0 duplicate(#LockedDoor01581A) #LockedDoor01581C NPC_NO_SPRITE,0,0
+
+015-8-1,53,31,0 script #PaperNote01581A NPC_NO_SPRITE,{
+ npctalkonce any(l("You cannot decipher what's written in there."), l("It's written in Mananese, you cannot read."), l("It's full of Mouboo drawings."), l("This note is too old and difficult to read."), l("The only readable thing is an old stain of blood."), l("This note is not interesting, maybe the obelisk is more."));
+ end;
+OnInit:
+ .distance=2;
+ end;
+}
+
+015-8-1,56,31,0 duplicate(#PaperNote01581A) #PaperNote01581B NPC_NO_SPRITE
+015-8-1,59,31,0 duplicate(#PaperNote01581A) #PaperNote01581C NPC_NO_SPRITE
+015-8-1,62,31,0 duplicate(#PaperNote01581A) #PaperNote01581D NPC_NO_SPRITE
+015-8-1,65,31,0 duplicate(#PaperNote01581A) #PaperNote01581E NPC_NO_SPRITE
+015-8-1,68,31,0 duplicate(#PaperNote01581A) #PaperNote01581F NPC_NO_SPRITE
+015-8-1,71,31,0 duplicate(#PaperNote01581A) #PaperNote01581G NPC_NO_SPRITE
+
+015-8-1,42,51,0 script #Sign01581A NPC_NO_SPRITE,{
+ npctalkonce l("It's a strange drawing of a Mouboo.");
+ dispbottom l("Where is here? What was this place used for?!");
+ end;
+OnInit:
+ .distance=2;
+ end;
+}
+
diff --git a/npc/015-8/_import.txt b/npc/015-8/_import.txt
new file mode 100644
index 0000000..27ea890
--- /dev/null
+++ b/npc/015-8/_import.txt
@@ -0,0 +1,7 @@
+// Map 015-8: Ancient Hideout
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/015-8/015-8_blackbox.txt",
+"npc/015-8/_mobs.txt",
+"npc/015-8/config.txt",
+"npc/015-8/puzzle.txt",
+"npc/015-8/sealedshrine.txt",
diff --git a/npc/015-8/_mobs.txt b/npc/015-8/_mobs.txt
new file mode 100644
index 0000000..843eed7
--- /dev/null
+++ b/npc/015-8/_mobs.txt
@@ -0,0 +1,9 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-8: Ancient Hideout mobs
+015-8,99,99,69,81 monster Mouboo 1023,32,30000,30000
+015-8,114,95,51,69 monster Robin Bandit 1153,16,30000,30000
+015-8,89,140,62,30 monster Angry Yellow Slime 1198,12,30000,30000
+015-8,97,57,62,46 monster Old Snake 1199,12,20000,20000
+015-8,67,94,34,79 monster Red Slime 1092,12,30000,30000
+015-8,100,56,48,36 monster Vampire Bat 1063,14,27000,22000
+015-8,103,95,69,81 monster Cave Maggot 1027,24,30000,30000
diff --git a/npc/015-8/config.txt b/npc/015-8/config.txt
new file mode 100644
index 0000000..b03dce1
--- /dev/null
+++ b/npc/015-8/config.txt
@@ -0,0 +1,35 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// 015-8 Sagratha Cave Configuration File
+
+015-8 mapflag zone MMO
+015-8-1 mapflag zone MMO
+
+015-8,99,179,0 script #Exit0158 NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ .@q=getq(HurnscaldQuest_Sagratha);
+ .@q2=getq2(HurnscaldQuest_Sagratha);
+ // Cheater Detected
+ if (!MAGIC_LVL || .@q < 3) {
+ setq HurnscaldQuest_Sagratha, 0, 0, 0;
+ sc_end SC_CASH_PLUSEXP;
+ sc_end SC_OVERLAPEXPUP;
+ sc_start SC_OVERLAPEXPUP, 300000, -20;
+ warp "Save", 0, 0;
+ return false;
+ }
+
+ mesc l("Return to Sagratha's House?");
+ if (askyesno() == ASK_YES) {
+ .@mapn$=SaggyInstCheck();
+ warp .@mapn$, 33, 35;
+ changemusic .@mapn$, "eric_matyas_ghouls.ogg";
+ }
+ closeclientdialog;
+ close;
+}
+
diff --git a/npc/015-8/puzzle.txt b/npc/015-8/puzzle.txt
new file mode 100644
index 0000000..a62a56a
--- /dev/null
+++ b/npc/015-8/puzzle.txt
@@ -0,0 +1,133 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// PUZZLES and TRAPS submodule - Sagratha's Cave - 015-8
+// Uses setq3 - setq1 stage 3
+// NPC_FAKIR + NPC_STATUE_FAFA
+
+// Chasm at third seal
+015-8,120,158,0 script #SaggyPuzzleChasm NPC_HIDDEN,0,4,{
+ end;
+OnTouch:
+ do {
+ if (@saggychasmok) {
+ slide 125, 160;
+ closedialog;
+ end;
+ }
+
+ mesc l("There is a chasm.");
+ select
+ l("Drop a coin to hear how deep it is"),
+ l("Climb on the walls!"),
+ l("Run and try jumping it!"),
+ l("Build a bridge with wooden logs!"),
+ l("Uhh... I'm scared!");
+ mes "";
+ switch (@menu) {
+ case 1:
+ if (!Zeny) {
+ mesc l("You don't have money.");
+ } else {
+ Zeny-=1;
+ mesc l("You throw a coin on the chasm.");
+ next;
+ mesc l("... ... ...");
+ next;
+ mesc l("You don't hear anything. This chasm must be incredibly deep.");
+ next;
+ mesc l("Falling means certain death.");
+ }
+ break;
+ // Let's climb the wall!
+ case 2:
+ if (readparam2(bStr) < 20 || (!countitem(MinerGloves) && !countitem(LeatherGloves))) {
+ mesc l("You don't have proper equipment for it.");
+ } else {
+ mesc l("Taking your sturdy glove, you attempt to walk by the wall! You are betting your life on it!");
+ next;
+ mesc l("A stone seemed to be loose, but you barely managed to avoid falling!");
+ next;
+ mesc l("This is difficult, but you are giving your best!!");
+ next;
+ mesc l("You are close... You are almost there!");
+ next;
+ // We get a bit more than 50% - we take 60%, so your chances are
+ // higher than jumping... But you need two stats, instead of one!
+ // (Top will be 120 instead of 100 - thus, 720 out of 640)
+ .@ponderate=(readparam2(bStr)+readparam2(bVit))/100*60;
+ if (rand(0,1000) < 640-(.@ponderate*6)) {
+ mesc l("But unfortunately, a loose stone lodges and you fall to your death."), 1;
+ die();
+ close;
+ }
+ mesc l("You succeed in crossing the chasm!");
+ @saggychasmok=true;
+ }
+ break;
+ // Let's run it!
+ case 3:
+ if (readparam2(bAgi) < 20 || Weight > 1500) {
+ mesc l("You don't have enough agility / is carrying too much to attempt it.");
+ } else {
+ mesc l("You'll give your best and attempt to run!");
+ next;
+ mesc l("You take distance and...");
+ next;
+ mesc l("YOU JUMP FOR ALL IT IS WORTH!!");
+ // (You can always fall as top is 600 of 640)
+ if (rand(0,1000) < 640-(readparam2(bAgi)*6)) {
+ mesc l("But unfortunately, it was harder than you thought. You are dead."), 1;
+ die();
+ close;
+ }
+ mesc l("You succeed in crossing the chasm!");
+ @saggychasmok=true;
+ }
+ break;
+ // Let's make a bridge!
+ case 4:
+ if (countitem(WoodenLog) < 5 || !getskilllv(TMW2_CRAFT)) {
+ mesc l("You don't have enough wood (5 @@) or crafting skills to do it.", getitemlink(WoodenLog));
+ } else {
+ mesc l("...");
+ next;
+ mesc l("After hours of hard work...");
+ next;
+ mesc l("You succeed in crossing the chasm!");
+ delitem WoodenLog, 5;
+ @saggychasmok=true;
+ }
+ break;
+ default:
+ close;
+ }
+ next;
+ } while (true);
+ close;
+}
+
+015-8,124,158,0 script #SaggyPuzzleChasmSkip NPC_HIDDEN,0,4,{
+ end;
+OnTouch:
+ slide 119, 160;
+ end;
+}
+
+
+// Controls a chest/mimic on the trap room
+015-8,0,0,0 script #SaggyChestCtrl NPC_HIDDEN,{
+ end;
+
+OnDelay:
+ initnpctimer;
+ end;
+
+OnTimer180000:
+ stopnpctimer;
+OnInit:
+ monster "015-8", 119+rand2(-3, 3), 35+rand2(-3, 3), "Treasure Chest", any(BronzeChest,BronzeMimic,SilverChest,SilverMimic), 1, "#SaggyChestCtrl::OnDelay";
+ end;
+}
+
diff --git a/npc/015-8/sealedshrine.txt b/npc/015-8/sealedshrine.txt
new file mode 100644
index 0000000..d4e4170
--- /dev/null
+++ b/npc/015-8/sealedshrine.txt
@@ -0,0 +1,659 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// SEALED SHRINE submodule - Sagratha's Cave - 015-8
+// Uses setq3 - setq1 stage 3
+// NPC_FAKIR + NPC_STATUE_FAFA
+
+// Check for validity
+function script SaggySealCheck {
+ .@q=getq(HurnscaldQuest_Sagratha);
+ .@q3=getq3(HurnscaldQuest_Sagratha);
+ // Cheater Detected
+ if (!MAGIC_LVL || .@q < 3) {
+ setq HurnscaldQuest_Sagratha, 0, 0, 0;
+ sc_end SC_CASH_PLUSEXP;
+ sc_end SC_OVERLAPEXPUP;
+ sc_start SC_OVERLAPEXPUP, 300000, -20;
+ warp "Save", 0, 0;
+ closeclientdialog;
+ end;
+ return false;
+ }
+
+ // Okay, if it is not stage 3, we don't need to unseal
+ if (.@q != 3)
+ return false;
+ return true;
+}
+
+// Seal Spawn
+// (name, seal x, seal y, stageId, {seal map})
+function script SaggySealInit {
+ .@n$=getarg(0);
+ .@x=getarg(1);
+ .@y=getarg(2);
+ .@z=getarg(3);
+ .@m$=getarg(4, "015-8");
+
+ // Do nothing if @SaggySeal$ is busy - we will NOT begin another unsealing.
+ if (@SaggySeal$ != "" && !.@z)
+ end;
+ else
+ @SaggySeal$=.@n$;
+
+ // You're dead, drop the script
+ if (ispcdead()) {
+ npctalk l("You are dead. Aborting.");
+ @SaggySeal$="";
+ end;
+ }
+
+ // Drain some Mana
+ // Max wave is 9... So it should cap at 10%
+ .@val=7+(.@z/3);
+
+ if (Sp < MaxSp/100*.@val) {
+ npctalk l("You don't have enough mana to continue. The seal remains active.");
+ @SaggySeal$="";
+ end;
+ }
+ percentheal 0, -(.@val);
+
+ // BaseLevel: 37
+ areamonster .@m$, .@x-1, .@y-1, .@x+1, .@y+1, "Seal Guardian", MagicGoblin, (.@z/3)+1;
+
+ switch (.@z) {
+ case 0:
+ .@mobId=any(HouseMaggot,SlimeBlast); break;
+ case 1:
+ .@mobId=AngryScorpion; break;
+ case 2:
+ .@mobId=AngryBat; break;
+ case 3:
+ .@mobId=RedSlime; break;
+ case 4:
+ .@mobId=AngryRedScorpion; break;
+ case 5:
+ .@mobId=Bandit; break;
+ case 6:
+ .@mobId=Skeleton; break;
+ case 7:
+ .@mobId=BlueSlime; break;
+ case 8:
+ .@mobId=RedMushroom; break;
+ case 9:
+ .@mobId=BlackSlime; break;
+ default:
+ Exception("ERROR, INVALID Z VALUE FOR SAGRATHA SEAL: "+.@z, RB_DEFAULT|RB_IRCBROADCAST);
+ .@mobId=WickedMushroom; break;
+ }
+
+ monster .@m$, .@x, .@y, "Seal Protector", .@mobId, 1;
+
+ // Schedule next sequence
+ if (.@z+1 < 10)
+ .@nx$="0"+(.@z+1);
+ else
+ .@nx$=str(.@z+1);
+ // 3.5s each wave, giving you ~1s to kill/endure each "boss"
+ .@t=3500+(.@z*980);
+
+ addtimer2(.@t, .@n$+"::OnBreakSeal"+.@nx$);
+ return;
+}
+
+// Main menu - SaggySealTrueInit
+// ( .name$, x, y )
+function script SaggySealTrueInit {
+ // Do nothing if @SaggySeal$ is busy - we will NOT begin another unsealing.
+ if (@SaggySeal$ != "")
+ end;
+
+ // Okay, we can begin! (variable will be filled on SaggySealInit)
+ mesc l("Attempt to break the seal?");
+ mesc l("Warning: This will drain mana and spawn monsters. You shall not leave this cave section!");
+ if (askyesno() == ASK_YES) {
+ npctalk3 l("You started the seal break sequence. Please stand by.");
+ SaggySealInit(getarg(0), getarg(1), getarg(2), 0);
+ }
+ closeclientdialog;
+ return;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+015-8,0,0,0 script #SaggySeal1 NPC_SUMMONING_CIRC,0,0,{
+ end;
+
+OnTouch:
+ .@q=getq(HurnscaldQuest_Sagratha);
+ .@q3=getq3(HurnscaldQuest_Sagratha);
+ // Check if it can be operated
+ if (!SaggySealCheck())
+ end;
+
+ // Check if this seal is ok
+ if (.@q3 & .sealId) {
+ npctalkonce l("This seal was already broken, proceed to the next seal!");
+ end;
+ }
+
+ // It is stage 3, so we will write to setq3 that the seal is open... Soon.
+ SaggySealTrueInit(.name$, .x, .y);
+ end;
+
+OnBreakSeal01:
+ SaggySealInit(.name$, .x, .y, 1);
+ end;
+
+OnBreakSeal02:
+ SaggySealInit(.name$, .x, .y, 2);
+ end;
+
+OnBreakSeal03:
+ SaggySealInit(.name$, .x, .y, 3);
+ end;
+
+OnBreakSeal04:
+ SaggySealInit(.name$, .x, .y, 4);
+ end;
+
+OnBreakSeal05:
+ SaggySealInit(.name$, .x, .y, 5);
+ end;
+
+OnBreakSeal06:
+ SaggySealInit(.name$, .x, .y, 6);
+ end;
+
+OnBreakSeal07:
+ SaggySealInit(.name$, .x, .y, 7);
+ end;
+
+OnBreakSeal08:
+ SaggySealInit(.name$, .x, .y, 8);
+ end;
+
+OnBreakSeal09:
+ SaggySealInit(.name$, .x, .y, 9);
+ end;
+
+OnBreakSeal10:
+ .@q3=getq3(HurnscaldQuest_Sagratha);
+ npctalk3 l("The seal was broken!");
+ @SaggySeal$="";
+ setq3 HurnscaldQuest_Sagratha, .@q3 | .sealId;
+ end;
+
+OnInit:
+ .sealId=1;
+
+ setarray .xpos, 115, 119, 116, 121, 126, 125, 137, 136, 115;
+ setarray .ypos, 117, 117, 119, 122, 125, 115, 117, 123, 118;
+ .@z=rand(getarraysize(.xpos));
+ movenpc .name$, .xpos[.@z], .ypos[.@z], 0;
+ end;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+015-8,0,0,0 script #SaggySeal2 NPC_SUMMONING_CIRC,0,0,{
+ end;
+
+OnTouch:
+ .@q=getq(HurnscaldQuest_Sagratha);
+ .@q3=getq3(HurnscaldQuest_Sagratha);
+ // Check if it can be operated
+ if (!SaggySealCheck())
+ end;
+
+ // Check if this seal is ok
+ if (.@q3 & .sealId) {
+ npctalkonce l("This seal was already broken, proceed to the next seal!");
+ end;
+ }
+
+ // It is stage 3, so we will write to setq3 that the seal is open... Soon.
+ SaggySealTrueInit(.name$, .x, .y);
+ end;
+
+OnBreakSeal01:
+ SaggySealInit(.name$, .x, .y, 1);
+ end;
+
+OnBreakSeal02:
+ SaggySealInit(.name$, .x, .y, 2);
+ end;
+
+OnBreakSeal03:
+ SaggySealInit(.name$, .x, .y, 3);
+ end;
+
+OnBreakSeal04:
+ SaggySealInit(.name$, .x, .y, 4);
+ end;
+
+OnBreakSeal05:
+ SaggySealInit(.name$, .x, .y, 5);
+ end;
+
+OnBreakSeal06:
+ SaggySealInit(.name$, .x, .y, 6);
+ end;
+
+OnBreakSeal07:
+ SaggySealInit(.name$, .x, .y, 7);
+ end;
+
+OnBreakSeal08:
+ SaggySealInit(.name$, .x, .y, 8);
+ end;
+
+OnBreakSeal09:
+ SaggySealInit(.name$, .x, .y, 9);
+ end;
+
+OnBreakSeal10:
+ .@q3=getq3(HurnscaldQuest_Sagratha);
+ npctalk3 l("The seal was broken!");
+ @SaggySeal$="";
+ setq3 HurnscaldQuest_Sagratha, .@q3 | .sealId;
+ end;
+
+OnInit:
+ .sealId=2;
+
+ setarray .xpos, 39, 33, 43, 53, 51, 55, 60, 68, 63, 56;
+ setarray .ypos, 120, 130, 134, 132, 119, 121, 122, 120, 129, 124;
+ .@z=rand(getarraysize(.xpos));
+ movenpc .name$, .xpos[.@z], .ypos[.@z], 0;
+ end;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+015-8,0,0,0 script #SaggySeal3 NPC_SUMMONING_CIRC,0,0,{
+ end;
+
+OnTouch:
+ .@q=getq(HurnscaldQuest_Sagratha);
+ .@q3=getq3(HurnscaldQuest_Sagratha);
+ // Check if it can be operated
+ if (!SaggySealCheck())
+ end;
+
+ // Check if this seal is ok
+ if (.@q3 & .sealId) {
+ npctalkonce l("This seal was already broken, proceed to the next seal!");
+ end;
+ }
+
+ // It is stage 3, so we will write to setq3 that the seal is open... Soon.
+ SaggySealTrueInit(.name$, .x, .y);
+ end;
+
+OnBreakSeal01:
+ SaggySealInit(.name$, .x, .y, 1);
+ end;
+
+OnBreakSeal02:
+ SaggySealInit(.name$, .x, .y, 2);
+ end;
+
+OnBreakSeal03:
+ SaggySealInit(.name$, .x, .y, 3);
+ end;
+
+OnBreakSeal04:
+ SaggySealInit(.name$, .x, .y, 4);
+ end;
+
+OnBreakSeal05:
+ SaggySealInit(.name$, .x, .y, 5);
+ end;
+
+OnBreakSeal06:
+ SaggySealInit(.name$, .x, .y, 6);
+ end;
+
+OnBreakSeal07:
+ SaggySealInit(.name$, .x, .y, 7);
+ end;
+
+OnBreakSeal08:
+ SaggySealInit(.name$, .x, .y, 8);
+ end;
+
+OnBreakSeal09:
+ SaggySealInit(.name$, .x, .y, 9);
+ end;
+
+OnBreakSeal10:
+ .@q3=getq3(HurnscaldQuest_Sagratha);
+ npctalk3 l("The seal was broken!");
+ @SaggySeal$="";
+ setq3 HurnscaldQuest_Sagratha, .@q3 | .sealId;
+ end;
+
+OnInit:
+ .sealId=4;
+
+ setarray .xpos, 140, 143, 146, 147, 145, 143;
+ setarray .ypos, 140, 141, 139, 144, 147, 143;
+ .@z=rand(getarraysize(.xpos));
+ movenpc .name$, .xpos[.@z], .ypos[.@z], 0;
+ end;
+}
+
+
+
+
+
+
+
+// Sagratha Seals Eletronic Barriers
+015-8,120,130,0 script #SaggySealBarrier1 NPC_HIDDEN,0,4,{
+OnTouch:
+ if (@SaggySeal$ != "") {
+ npctalk3 l("The seal retaliates! It was super effective. You are dead!");
+ @SaggySeal$="";
+ die();
+ end;
+ }
+ end;
+}
+
+015-8,74,142,0 script #SaggySealBarrier2 NPC_HIDDEN,0,4,{
+OnTouch:
+ if (@SaggySeal$ != "") {
+ npctalk3 l("The seal retaliates! It was super effective. You are dead!");
+ @SaggySeal$="";
+ die();
+ end;
+ }
+ end;
+}
+
+015-8,137,154,0 script #SaggySealBarrier3 NPC_HIDDEN,0,5,{
+OnTouch:
+ if (@SaggySeal$ != "") {
+ npctalk3 l("The seal retaliates! It was super effective. You are dead!");
+ @SaggySeal$="";
+ die();
+ end;
+ }
+ end;
+}
+
+
+
+
+
+// Magic Barrier
+015-8,94,104,0 script Dog Statue#Saggy NPC_STATUE_FAFA,{
+OnDialog:
+ mesn;
+ mesq l("This is a magical barrier, powered by three seals in your part.");
+ next;
+ mesn;
+ mesq l("You must break all three seals to cross this barrier! For that, walk on them!");
+ next;
+ mesn;
+ mesq l("Breaking a seal is easy, just flow mana on it for enough time to it shatter.");
+ next;
+ mesn;
+ mesq l("I, Fafa, the Magical Statue, grant you this power! Prove your worth! And never run from the seal, or die for your cowardice!");
+ close;
+
+OnInit:
+ .distance=5;
+ end;
+}
+
+015-8,93,109,0 script #SaggyBarrier NPC_HIDDEN,2,0,{
+ end;
+
+OnTouch:
+ if (!SaggySealCheck()) {
+ slide 93, 106;
+ end;
+ }
+ .@q=getq(HurnscaldQuest_Sagratha);
+ .@q3=getq3(HurnscaldQuest_Sagratha);
+
+ // Magic Number
+ if (.@q3 == 7) {
+ npctalk3 l("The seals having been broken, the barrier was weakened! You did it! The path is now open!");
+ setq1 HurnscaldQuest_Sagratha, 4;
+ setq3 HurnscaldQuest_Sagratha, 0;
+ slide 93, 106;
+ } else {
+ getmapxy(.@m$, .@x, .@y, 0);
+ slide .@x, .@y+3;
+ dispbottom l("A powerful magic barrier repels you!");
+ addtimer(200, "Dog Statue#Saggy::OnDialog");
+ }
+ end;
+
+}
+
+
+015-8,93,107,0 script #SaggyBarrier2 NPC_HIDDEN,2,0,{
+ end;
+
+OnTouch:
+ // You should not be on this side of the barrier
+ if (SaggySealCheck()) {
+ setq HurnscaldQuest_Sagratha, 0, 0, 0;
+ sc_end SC_CASH_PLUSEXP;
+ sc_end SC_OVERLAPEXPUP;
+ sc_start SC_OVERLAPEXPUP, 300000, -20;
+ warp "Save", 0, 0;
+ closeclientdialog;
+ end;
+ }
+ slide 93, 110;
+ end;
+
+}
+
+
+
+
+
+// Shrine Statue Control
+// SaggyShrineStatue( .name$ )
+function script SaggyShrineStatue {
+ .@n$=getarg(0);
+ .@q=getq(HurnscaldQuest_Sagratha);
+
+ // Initial check
+ if (!MAGIC_LVL || .@q < 4) {
+ setq HurnscaldQuest_Sagratha, 0, 0, 0;
+ sc_end SC_CASH_PLUSEXP;
+ sc_end SC_OVERLAPEXPUP;
+ sc_start SC_OVERLAPEXPUP, 300000, -20;
+ warp "Save", 0, 0;
+ closeclientdialog;
+ end;
+ return false;
+ }
+
+ mesn l("Guardian Statue");
+ if (.@q != 4) {
+ mesq l("...");
+ next;
+ mesc l("The statue doesn't replies.");
+ close;
+ }
+ mesq l("Decipher me... Or I will devour you...");
+ next;
+ mesc l("Take the riddle?"), 1;
+ mesc l("Time limit for answer: 2 minutes");
+ next;
+ if (askyesno() == ASK_YES) {
+ // You have unlimited time if you don't close the dialog
+ addtimer(120000, .@n$+"::OnScheduledDeath");
+ if (0158_Riddle_BlackBox()) {
+ deltimer(.@n$+"::OnScheduledDeath");
+ setq1 HurnscaldQuest_Sagratha, 5;
+ setq3 HurnscaldQuest_Sagratha, 0;
+ mesn l("Guardian Statue");
+ mesq l("You shall pass. Beyond this gate, she waits for you.");
+ next;
+ mesn l("Guardian Statue");
+ mesq l("Your worth shall be tested, and from inside, you shall not leave.");
+ } else {
+ deltimer(.@n$+"::OnScheduledDeath");
+ doevent(.@n$+"::OnScheduledDeath");
+ closeclientdialog;
+ }
+ }
+ return;
+}
+
+// The Sealed Shrine Itself and the guardians
+015-8,96,22,0 script #SaggyShrineRight NPC_FAKIR,{
+ SaggyShrineStatue(.name$);
+ close;
+
+OnScheduledDeath:
+ npctalk3 l("Be devoured!");
+ die();
+ end;
+
+OnInit:
+ .distance=5;
+ end;
+}
+
+015-8,93,22,0 script #SaggyShrineLeft NPC_FAKIR,{
+ SaggyShrineStatue(.name$);
+ close;
+
+OnScheduledDeath:
+ npctalk3 l("Be devoured!");
+ die();
+ end;
+
+OnInit:
+ .distance=5;
+ end;
+}
+
+015-8,94,20,0 script #ShrineGate NPC_NO_SPRITE,1,0,{
+
+ .@q=getq(HurnscaldQuest_Sagratha);
+ .@q3=getq3(HurnscaldQuest_Sagratha);
+ // Cheater Detected
+ if (!MAGIC_LVL || .@q < 4) {
+ setq HurnscaldQuest_Sagratha, 0, 0, 0;
+ sc_end SC_CASH_PLUSEXP;
+ sc_end SC_OVERLAPEXPUP;
+ sc_start SC_OVERLAPEXPUP, 300000, -20;
+ warp "Save", 0, 0;
+ closeclientdialog;
+ end;
+ return false;
+ }
+
+ // Quest Status 4: Riddle pending
+ if (.@q == 4) {
+ npctalk3 l("The gates are firmly shut, no amount of force will break them.");
+ }
+
+ // Quest Status 5: Riddle solved, access granted
+ if (.@q == 5) {
+ enable_items();
+ mesc l(".:: The Mouboo Temple ::."), 3;
+ mesc l("WARNING: You are about to enter a HIGH-RISK zone."), 1;
+ mesc l("We advise you to change your equipment now."), 1;
+ if (getmapusers("015-8") > 1)
+ mesc l("THIS IS A SOLO FIGHT, TEAMS ARE NOT ALLOWED INSIDE."), 1;
+ next;
+ disable_items();
+ if (askyesno() == ASK_YES) {
+ setq3 HurnscaldQuest_Sagratha, 0;
+ closeclientdialog;
+
+ .@map2$=SaggyInstCheck(false);
+ warp .@map2$, 50, 78;
+ end;
+ }
+ close;
+ }
+
+ // Quest Status 6: Boss defeated, no instance needed
+ if (.@q >= 6) {
+ warp "015-8-1", 50, 78;
+ }
+ end;
+}
+
diff --git a/npc/016-1/_import.txt b/npc/016-1/_import.txt
new file mode 100644
index 0000000..75e6e99
--- /dev/null
+++ b/npc/016-1/_import.txt
@@ -0,0 +1,7 @@
+// Map 016-1: La Marine First Deck
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/016-1/_mobs.txt",
+"npc/016-1/captain.txt",
+"npc/016-1/doors.txt",
+"npc/016-1/laranja.txt",
+"npc/016-1/teraa.txt",
diff --git a/npc/016-1/_mobs.txt b/npc/016-1/_mobs.txt
new file mode 100644
index 0000000..621c460
--- /dev/null
+++ b/npc/016-1/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 016-1: La Marine First Deck mobs
+016-1,31,26,9,4 monster Piou 1002,2,30000,20000
diff --git a/npc/016-1/captain.txt b/npc/016-1/captain.txt
new file mode 100644
index 0000000..c6f1198
--- /dev/null
+++ b/npc/016-1/captain.txt
@@ -0,0 +1,178 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Temporary, placeholder.
+
+016-1,19,29,0 script Captain NPC_NARD,{
+ .@price=410;
+ if (BaseLevel < 20 && !REBIRTH && !countitem(MirrorLakeArmor))
+ goto L_TooWeak;
+
+ mesn;
+ mesq l("Hi @@.", strcharinfo(0));
+ next;
+ mesq l("You are currently at @@.", LOCATION$);
+ mesc l("Note: Onboard, Destructive, Fire, and AoE Magic are NOT allowed.");
+ mes "";
+
+ menu
+ rif(LOCATION$ != "Tulim", l("To Tulimshar.")), L_TTulim,
+ rif(LOCATION$ != "Hurns", l("To Hurnscald.")), L_THurns,
+ rif(LOCATION$ != "Nival", l("To Nivalis.")), L_TNival,
+ l("No, I'll save my money."), -;
+
+ close;
+
+///// ---------- Tulimshar ----------
+L_TTulim:
+ .@x=(reputation("Tulim")+reputation(LOCATION$))/2;
+ if (.@x >= 50) .@x+=10;
+ .@price-=min(400, (.@x/10)*40);
+
+ mes "";
+ mesn;
+ mesq l("It'll cost you @@ GP.", .@price);
+ mes "";
+
+ if (Zeny < .@price) {
+ mes l("You still need @@ GP to afford it.", (.@price-Zeny));
+ close;
+ }
+
+ if (askyesno() != ASK_YES)
+ close;
+
+ Zeny=Zeny-.@price;
+ PC_DEST$="Tulim";
+ @timer_navio_running = 1;
+
+ mes "";
+ mesn;
+ mesq l("Tulimshar, right? The oldest human city-state!");
+ next;
+ mesq l("I was planning to go there soon, anyway. All aboard!");
+ close2;
+ goto L_DoWarp;
+
+
+
+
+
+
+
+///// ---------- Hurnscald ----------
+L_THurns:
+ .@x=(reputation("Hurns")+reputation(LOCATION$))/2;
+ if (.@x >= 50) .@x+=10;
+ .@price-=min(400, (.@x/10)*40);
+
+ mes "";
+ mesn;
+ mesq l("It'll cost you @@ GP.", .@price);
+ mes "";
+
+ // Should not even be allowed on the ship, but well. Double-check
+ if (!$HURNS_LIBDATE) {
+ mesc l("BUG, REPORT ME! Hurncald Liberation Day check FAIL"), 1;
+ close;
+ }
+
+ if (Zeny < .@price) {
+ mes l("You still need @@ GP to afford it.", (.@price-Zeny));
+ close;
+ }
+
+ if (askyesno() != ASK_YES)
+ close;
+
+ Zeny=Zeny-.@price;
+ PC_DEST$="Hurns";
+
+ mes "";
+ mesn;
+ mesq l("Hurnscald? Small farming towns are always nice to visit.");
+ next;
+ mesq l("I was planning to go there soon, anyway. All aboard!");
+ close2;
+ goto L_DoWarp;
+
+
+
+
+
+
+
+///// ---------- Nivalis ----------
+L_TNival:
+ .@x=(reputation("Nival")+reputation(LOCATION$))/2;
+ if (.@x >= 50) .@x+=10;
+ .@price-=min(400, (.@x/10)*40);
+
+ // Nivalis Liberation Day. Zero could cause weird bugs.
+ if (!$NIVALIS_LIBDATE)
+ .@price=1;
+
+ // Maybe this destination is NOT AVAILABLE
+ if (!$NLIB_DAY && !$NIVALIS_LIBDATE) {
+ mesn;
+ mesq l("I would love to, but the Monster King laid siege there.");
+ mesc l("A Game Master is required to begin the Liberation Day."), 1;
+ close;
+ }
+
+ mes "";
+ mesn;
+ mesq l("It'll cost you @@ GP.", .@price);
+ mes "";
+
+ if (Zeny < .@price) {
+ mes l("You still need @@ GP to afford it.", (.@price-Zeny));
+ close;
+ }
+
+ if (askyesno() != ASK_YES)
+ close;
+
+ Zeny=Zeny-.@price;
+ PC_DEST$="Nival";
+
+ mes "";
+ mesn;
+ mesq l("Nivalis? It's frozen during the whole year! I hope you have good ice gear and a high level...");
+ next;
+ mesq l("I was planning to go there soon, anyway. All aboard!");
+ close2;
+ goto L_DoWarp;
+
+
+
+
+
+
+
+///// ---------------- Core Utils
+L_TooWeak:
+ mesn;
+ mesq l("The sea route I take is very dangerous, and full of pirates. You're too weak to travel with me.");
+ close;
+
+L_DoWarp:
+ addtimer nard_time(PC_DEST$), "#MarineShip::OnEvent";
+ @timer_navio_running = 1;
+ warp "016-6", 40, 32;
+
+ // 10% base chance of Pirate Attack!
+ // Each level INCREASES this in 0.1%.
+ // So for a level 40 player, chances are 14%.
+ if (rand(1, 10000) < 1000+(BaseLevel*10))
+ addtimer rand(3000,6000), "#MarineShipAttack::OnEvent";
+ end;
+
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+
+}
diff --git a/npc/016-1/doors.txt b/npc/016-1/doors.txt
new file mode 100644
index 0000000..0c7ebd6
--- /dev/null
+++ b/npc/016-1/doors.txt
@@ -0,0 +1,26 @@
+// TMW2 Scripts.
+// Author:
+// Jesusalva
+// Description:
+// La Marine ship Doors NPCs.
+
+016-1,21,25,0 script #MarineToOutside NPC_HIDDEN,0,0,{
+
+OnTouch:
+ if (LOCATION$ == "Hurns") {
+ warp "012-1", 156, 65;
+ close;
+ }
+ if (LOCATION$ == "Tulim") {
+ warp "003-1", 119, 25;
+ close;
+ }
+ if (LOCATION$ == "Nival") {
+ warp "019-2", 119, 113;
+ close;
+ }
+ mesc l("Oh noes! The door is locked!! Quick! Call a GM!!!"), 1;
+ close;
+}
+
+
diff --git a/npc/016-1/laranja.txt b/npc/016-1/laranja.txt
new file mode 100644
index 0000000..f293fb3
--- /dev/null
+++ b/npc/016-1/laranja.txt
@@ -0,0 +1,110 @@
+// TMW2 Script
+// Author:
+// Saulc
+// Povo
+// Description:
+// Laranja, orange in portuges is a orange dye seller in ship
+
+016-1,25,24,0 script Laranja NPC_FEMALE,{
+
+ mesn;
+ mesq l("I'm Laranja.");
+ next;
+ mesn;
+ mesq l("My father runs a dye business, I'm in charge of selling %s around the world.", getitemlink(OrangeDye));
+ next;
+ mesn;
+ mesq l("How can I help you?");
+ mes "";
+ menu
+ l("Orange Dye? How much does it cost?"), -,
+ l("Nothing. Take care!"), L_Quit;
+
+L_Dye:
+ mesn;
+ mesq l("Thanks to pirate activity, dye has become more difficult to obtain lately.");
+ mesq l("In fact, %s is considered by most to be rare these days.", getitemlink(OrangeDye));
+ next;
+ if (BaseLevel < 45) {
+ mesn;
+ mesq l("Since supplies are limited, I currently prioritize orders placed by higher level players.");
+ mesq l("Come back when you are stronger and we can trade.");
+ next;
+ goto L_Quit;
+ }
+
+ mesn;
+ mesq l("I can trade some with you. Just bring me the following cash payment and supplies:");
+ mes "";
+ mesq l("%s/%s GP",fnum(Zeny), fnum(3000));
+ mesq l("%d/%d %s",countitem(BottleOfTonoriWater), 1, getitemlink(BottleOfTonoriWater));
+ mesq l("%d/%d %s",countitem(GambogeHerb), 60, getitemlink(GambogeHerb));
+ mesq l("%d/%d %s",countitem(AlizarinHerb), 70, getitemlink(AlizarinHerb));
+ mesq l("%d/%d %s",countitem(Piberries), 5, getitemlink(Piberries));
+ mesq l("%d/%d %s",countitem(PileOfAsh), 5, getitemlink(PileOfAsh));
+ compareandsetq TulimsharQuest_Laranja, 0, 1;
+ next;
+ select
+ l("Yeah, I need one."),
+ l("No thank you.");
+ mes "";
+ if (@menu == 2)
+ goto L_Quit;
+ if (countitem(BottleOfTonoriWater) >= 1 &&
+ countitem(GambogeHerb) >= 60 &&
+ countitem(AlizarinHerb) >= 75 &&
+ countitem(Piberries) >= 5 &&
+ countitem(PileOfAsh) >= 5 && Zeny >= 1500) {
+ inventoryplace OrangeDye, 1, EmptyBottle, 1;
+ delitem BottleOfTonoriWater, 1;
+ delitem GambogeHerb,60;
+ delitem AlizarinHerb, 70;
+ delitem Piberries, 5;
+ delitem PileOfAsh, 5;
+ Zeny=Zeny-1500;
+ getitem OrangeDye, 1;
+ getitem EmptyBottle, 1;
+ if (getq(TulimsharQuest_Laranja) == 1) {
+ setq TulimsharQuest_Laranja, 2;
+ getexp 9000, 0;
+ }
+
+ mesn;
+ mesq l("Pleasure doing business with you! Do you want any more?");
+ next;
+ goto L_Dye;
+ } else {
+ mesn;
+ mesq l("Looks like you are a bit short on supplies. Come back when you have everything I need.");
+ }
+ close;
+
+L_Quit:
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, ShortTankTop);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 10);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 9);
+
+ .sex = G_FEMALE;
+ .distance = 4;
+ end;
+
+OnInstanceInit:
+ .@npcId = getnpcid(instance_npcname(.name$));
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, ShortTankTop);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 10);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 9);
+
+ end;
+}
diff --git a/npc/016-1/teraa.txt b/npc/016-1/teraa.txt
new file mode 100644
index 0000000..3cad0c3
--- /dev/null
+++ b/npc/016-1/teraa.txt
@@ -0,0 +1,17 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Tortuga Renting (var MOUBOO_RENTTIME )
+
+016-1,32,28,0 script Teraa NPC_ELVEN_MAN_STANDING,{
+ TortugaRent();
+ closeclientdialog;
+ goodbye();
+ close;
+
+OnInit:
+ .distance=4;
+ end;
+}
+
diff --git a/npc/016-6/_import.txt b/npc/016-6/_import.txt
new file mode 100644
index 0000000..62a745b
--- /dev/null
+++ b/npc/016-6/_import.txt
@@ -0,0 +1,5 @@
+// Map 016-6: Ocean
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/016-6/_mobs.txt",
+"npc/016-6/main.txt",
+"npc/016-6/mapflags.txt",
diff --git a/npc/016-6/_mobs.txt b/npc/016-6/_mobs.txt
new file mode 100644
index 0000000..06d4415
--- /dev/null
+++ b/npc/016-6/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 016-6: Ocean mobs
+016-6,33,32,9,2 monster Ocean Croc 1133,4,16000,10000
diff --git a/npc/016-6/main.txt b/npc/016-6/main.txt
new file mode 100644
index 0000000..6f62007
--- /dev/null
+++ b/npc/016-6/main.txt
@@ -0,0 +1,63 @@
+// TMW2 script
+// Originals from TMW-BR
+// Imported by Jesusalva
+
+016-6,0,0,0 script #MarineShip NPC_HIDDEN,117,29,{
+ end;
+
+OnEvent:
+ // Handle travel
+ if (@timer_navio_running == 0) end;
+ if (PC_DEST$ == "Tulim") goto L_Tulim;
+ else if (PC_DEST$ == "Hurns") goto L_Hurns;
+ else if (PC_DEST$ == "Nival") goto L_Nival;
+ else goto L_Error;
+ end;
+
+L_Tulim:
+ PC_DEST$ = "";
+ EnterTown("Tulim");
+ @timer_navio_running = 0;
+ warp "003-1", 119, 25;
+ message strcharinfo(0), l("@@ disembarks at Tulimshar.", strcharinfo(0));
+ goto L_CleanUp;
+
+L_Hurns:
+ PC_DEST$ = "";
+ EnterTown("Hurns");
+ @timer_navio_running = 0;
+ warp "012-1", 156, 65;
+ message strcharinfo(0), l("@@ disembarks at Hurnscald.", strcharinfo(0));
+ goto L_CleanUp;
+
+L_Nival:
+ PC_DEST$ = "";
+ EnterTown("Nival");
+ @timer_navio_running = 0;
+ warp "019-2", 119, 113;
+ message strcharinfo(0), l("@@ disembarks at Nivalis.", strcharinfo(0));
+ goto L_CleanUp;
+
+L_Error:
+ consolebug "ERROR: PLAYER INVALID PC_DEST ON #MarineShip: " + PC_DEST$;
+ PC_DEST$ = "";
+ @timer_navio_running = 0;
+ warp "000-1", 22, 22;
+ dispbottom l("An error on your travel happened. Please report.");
+ goto L_CleanUp;
+
+L_CleanUp:
+ // Clean up pirate ship, if needed.
+ if (mobcount("016-7", "#MarineShipAttack::OnPirateDie") && !getmapusers("016-7")) {
+ killmonster("016-7", "all");
+ }
+ if (mobcount("016-7", "#MarineShipAttack::OnVictory") && !getmapusers("016-7")) {
+ killmonster("016-7", "all");
+ }
+ if (mobcount("016-7", "#MarineShipAttack::OnVictory") > 1) {
+ killmonster("016-7", "#MarineShipAttack::OnVictory");
+ monster "016-7", 38, 27, "Pirate Captain", OceanPirate, "#MarineShipAttack::OnVictory";
+ }
+ end;
+}
+
diff --git a/npc/016-6/mapflags.txt b/npc/016-6/mapflags.txt
new file mode 100644
index 0000000..27a1ef2
--- /dev/null
+++ b/npc/016-6/mapflags.txt
@@ -0,0 +1 @@
+016-6 mapflag zone ship
diff --git a/npc/016-7/_import.txt b/npc/016-7/_import.txt
new file mode 100644
index 0000000..45f28ee
--- /dev/null
+++ b/npc/016-7/_import.txt
@@ -0,0 +1,5 @@
+// Map 016-7: Pirate Attack
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/016-7/_mobs.txt",
+"npc/016-7/main.txt",
+"npc/016-7/mapflags.txt",
diff --git a/npc/016-7/_mobs.txt b/npc/016-7/_mobs.txt
new file mode 100644
index 0000000..b5b9691
--- /dev/null
+++ b/npc/016-7/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 016-7: Pirate Attack mobs
+016-7,37,29,14,4 monster Ocean Croc 1133,6,36000,30000
diff --git a/npc/016-7/main.txt b/npc/016-7/main.txt
new file mode 100644
index 0000000..7dcf563
--- /dev/null
+++ b/npc/016-7/main.txt
@@ -0,0 +1,65 @@
+// TMW2 script
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Handles pirate attacks
+
+016-7,0,0,0 script #MarineShipAttack NPC_HIDDEN,117,29,{
+ end;
+
+OnEvent:
+ warp "016-7", 31, 33;
+ dispbottom l("##1The ship is under a pirate's attack! ##BKill all or survive!");
+ addtimercount "#MarineShip::OnEvent", 10000;
+ addtimer 2000, "#MarineShipAttack::OnStart";
+ end;
+
+OnStart:
+ // Define number of pirates based on player level.
+ // Player count is not important here, as this is run for every player.
+ .@c=(BaseLevel/15);
+ areamonster "016-7", 23, 25, 51, 30, strmobinfo(1, OceanPirate), OceanPirate, .@c, "#MarineShipAttack::OnPirateDie";
+ end;
+
+OnPirateDie:
+ addtimercount "#MarineShip::OnEvent", 5000;
+ if (!mobcount("016-7", "#MarineShipAttack::OnPirateDie")) {
+ addtimercount "#MarineShip::OnEvent", 15000;
+ mapannounce "016-7", l("The pirate ship captain appear! TAKE CARE!!"), bc_map;
+ .@pirate=monster("016-7", 38, 27, "Pirate Captain", OceanPirate, 1, "#MarineShipAttack::OnVictory");
+ sc_start SC_INCMHP, 900000, 1000, 10000, SCFLAG_FIXEDTICK|SCFLAG_NOAVOID|SCFLAG_NOICON, .@pirate;
+ sc_start SC_ATTHASTE_POTION1, 900000, 40, 10000, SCFLAG_FIXEDTICK|SCFLAG_NOAVOID|SCFLAG_NOICON, .@pirate;
+ sc_start SC_INCHIT, 900000, 1000, 10000, SCFLAG_FIXEDTICK|SCFLAG_NOAVOID|SCFLAG_NOICON, .@pirate;
+ }
+ end;
+
+OnVictory:
+ if (rand2(10000) < REBIRTH+((readparam2(bLuk) + readparam2(bVit)) / 2))
+ getitem PirateBandana, 1;
+ areatimer("016-7", 23, 25, 52, 35, 10, "#MarineShipAttack::OnReward");
+ end;
+
+OnReward:
+ // That would give 10% from missing exp, but I didn't like it.
+ //getexp ((NextBaseExp-BaseExp)/10), 0;
+ addtimercount "#MarineShip::OnEvent", 3500;
+
+ // Lv 40 rewards: 400 exp, 40 jxp, 200~600 GP
+ getexp BaseLevel*10, BaseLevel;
+ Zeny=Zeny+BaseLevel*rand2(5,15);
+ //getitem SailorShirt, 1; // I already tried to do this before...?
+ // 7% chance to get Crazy Rum
+ if (rand2(10000) < 700+(readparam2(bLuk)*3))
+ getitem CrazyRum, 1;
+ dispbottom l("Congratulations!");
+ if (isin("016-7", 23, 25, 52, 35))
+ addtimer(3000, "#MarineShipAttack::OnResumeTravel");
+ end;
+
+OnResumeTravel:
+ if (@timer_navio_running)
+ warp "016-6", 31, 33;
+ end;
+}
+
diff --git a/npc/016-7/mapflags.txt b/npc/016-7/mapflags.txt
new file mode 100644
index 0000000..ddc0c01
--- /dev/null
+++ b/npc/016-7/mapflags.txt
@@ -0,0 +1 @@
+016-7 mapflag nosave 000-1,22,22
diff --git a/npc/017-0/_import.txt b/npc/017-0/_import.txt
new file mode 100644
index 0000000..8597a69
--- /dev/null
+++ b/npc/017-0/_import.txt
@@ -0,0 +1,5 @@
+// Map 017-0: Mystic Forest
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/017-0/_mobs.txt",
+"npc/017-0/_warps.txt",
+"npc/017-0/wizard.txt",
diff --git a/npc/017-0/_mobs.txt b/npc/017-0/_mobs.txt
new file mode 100644
index 0000000..85cebf7
--- /dev/null
+++ b/npc/017-0/_mobs.txt
@@ -0,0 +1,28 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 017-0: Mystic Forest mobs
+017-0,54,49,26,23 monster Centaur 1139,8,90000,80000
+017-0,55,40,32,19 monster Living Potato 1181,15,60000,45000
+017-0,57,76,20,19 monster Fluffy 1022,8,60000,45000
+017-0,171,43,81,19 monster Living Potato 1181,15,60000,45000
+017-0,241,92,43,51 monster Wind Fairy 1185,11,60000,45000
+017-0,222,154,25,49 monster Nature Fairy 1186,12,60000,45000
+017-0,201,182,25,49 monster Forest Mushroom 1060,13,60000,45000
+017-0,163,196,25,29 monster Tipiu 1015,8,60000,45000
+017-0,72,123,26,19 monster Archant 1026,8,60000,45000
+017-0,102,85,19,19 monster Skeleton 1137,8,60000,45000
+017-0,144,107,25,49 monster Forain 1061,12,60000,45000
+017-0,164,89,30,24 monster Scar 1045,8,60000,45000
+017-0,95,178,39,43 monster Sea Slime Mother 1244,8,60000,45000
+017-0,94,123,26,25 monster Bluepar 1177,8,60000,45000
+017-0,237,150,25,24 monster Red Mushroom 1042,18,60000,45000
+017-0,145,127,26,24 monster Wicked Mushroom 1176,12,60000,45000
+017-0,149,98,29,53 monster Vampire Bat 1063,18,60000,45000
+017-0,253,186,6,11 monster Training Dummy 1021,6,10000,10000
+017-0,53,83,43,59 monster Red Butterfly 1025,30,60000,45000
+017-0,262,182,66,63 monster Red Butterfly 1025,30,60000,45000
+017-0,162,121,133,110 monster Cyan Butterfly 1172,140,60000,30000
+017-0,125,131,108,114 monster Alizarin Plant 1188,45,45000,45000
+017-0,161,130,98,102 monster Cobalt Plant 1136,45,45000,45000
+017-0,187,119,98,102 monster Gamboge Plant 1134,45,45000,45000
+017-0,156,143,98,102 monster Mauve Plant 1135,45,45000,45000
+017-0,152,112,31,32 monster Shadow Plant 1189,25,60000,45000
diff --git a/npc/017-0/_warps.txt b/npc/017-0/_warps.txt
new file mode 100644
index 0000000..499b7ac
--- /dev/null
+++ b/npc/017-0/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 017-0: Mystic Forest warps
+017-0,23,78,0 warp #017-0_23_78 0,3,017-1,229,86
diff --git a/npc/017-0/wizard.txt b/npc/017-0/wizard.txt
new file mode 100644
index 0000000..966ca0a
--- /dev/null
+++ b/npc/017-0/wizard.txt
@@ -0,0 +1,31 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Wizard at Magic Academy Entrance
+// TODO: Training for Academy Students
+
+017-0,245,223,0 script Red Wizard NPC_RED_WIZARD_F,{
+ mesn;
+ mesq l("Hello. I am the instructor assigned to the magic range training field.");
+ if (!MAGIC_LVL)
+ close;
+ next;
+ mesn;
+ mesq l("Do you wish to return to the Academy?");
+ next;
+ select
+ l("Not yet."),
+ l("Yes please.");
+ mes "";
+ closeclientdialog;
+ if (@menu == 2)
+ warp "027-1", 46, 91;
+ close;
+
+OnInit:
+ .distance = 4;
+ .sex = G_FEMALE;
+ end;
+}
+
diff --git a/npc/017-1/_import.txt b/npc/017-1/_import.txt
new file mode 100644
index 0000000..42925f9
--- /dev/null
+++ b/npc/017-1/_import.txt
@@ -0,0 +1,24 @@
+// Map 017-1: Land Of Fire Village
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/017-1/017-1_stranger_blackbox.txt",
+"npc/017-1/_mobs.txt",
+"npc/017-1/_warps.txt",
+"npc/017-1/boringnpc.txt",
+"npc/017-1/drowned_man.txt",
+"npc/017-1/estate.txt",
+"npc/017-1/fairy_collector.txt",
+"npc/017-1/guards.txt",
+"npc/017-1/guild.txt",
+"npc/017-1/mapflags.txt",
+"npc/017-1/misc.txt",
+"npc/017-1/nowhere_man.txt",
+"npc/017-1/paxel.txt",
+"npc/017-1/pet_detective.txt",
+"npc/017-1/roger.txt",
+"npc/017-1/shops.txt",
+"npc/017-1/signs.txt",
+"npc/017-1/soul-menhir.txt",
+"npc/017-1/stranger.txt",
+"npc/017-1/town.txt",
+"npc/017-1/townhall.txt",
+"npc/017-1/wateranimation.txt",
diff --git a/npc/017-1/_mobs.txt b/npc/017-1/_mobs.txt
new file mode 100644
index 0000000..fd9ccb5
--- /dev/null
+++ b/npc/017-1/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 017-1: Land Of Fire Village mobs
+017-1,105,129,75,76 monster Cyan Butterfly 1172,40,30000,30000
+017-1,125,69,103,47 monster Squirrel 1053,25,30000,30000
+017-1,123,176,103,58 monster Living Potato 1181,36,30000,30000
+017-1,128,122,108,114 monster Alizarin Plant 1188,45,45000,45000
diff --git a/npc/017-1/_warps.txt b/npc/017-1/_warps.txt
new file mode 100644
index 0000000..d20e41f
--- /dev/null
+++ b/npc/017-1/_warps.txt
@@ -0,0 +1,14 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 017-1: Land Of Fire Village warps
+017-1,180,193,0 warp #017-1_180_193 0,0,018-2,63,105
+017-1,152,224,0 warp #017-1_152_224 0,0,018-1,32,68
+017-1,119,60,0 warp #017-1_119_60 0,0,017-2,41,30
+017-1,104,103,0 warp #017-1_104_103 0,0,014-4,95,33
+017-1,92,88,0 warp #017-1_92_88 2,0,017-3,32,44
+017-1,150,87,0 warp #017-1_150_87 0,0,017-4,27,41
+017-1,155,87,0 warp #017-1_155_87 0,0,017-4,35,41
+017-1,133,155,0 warp #017-1_133_155 0,0,017-5,23,33
+017-1,37,140,0 warp #017-1_37_140 0,1,017-6,29,43
+017-1,37,155,0 warp #017-1_37_155 0,1,017-6,29,52
+017-1,37,132,0 warp #017-1_37_132 0,1,017-6,29,31
+017-1,230,87,0 warp #017-1_230_87 0,3,017-0,24,78
diff --git a/npc/017-1/boringnpc.txt b/npc/017-1/boringnpc.txt
new file mode 100644
index 0000000..2ffcf29
--- /dev/null
+++ b/npc/017-1/boringnpc.txt
@@ -0,0 +1,67 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Permanently repeatable quest, without any special limit
+
+017-1,123,58,0 script Boring NPC NPC_RUMLY,{
+ .@price=35;
+ mesn;
+ mesq l("Hwellow. I am a boring NPC which makes green dye."); // Typo on purpose: Uwhaaaaah (as in waking up) + hello
+ next;
+ mesn;
+ mesq l("Hwaaaah... Man, I'm bored. Will you be getting @@?", getitemlink(GreenDye));
+ if ($EVENT$ == "Patrick") {
+ mesc l("It's St. Patrick Day, so be warned everyone wants a green dye... So, I raise the prices.");
+ .@price*=2;
+ }
+ next;
+ mesn;
+ mes l("For you, boring person like me, It'll cost the small amount of:");
+ mes l("* @@/@@ @@", countitem(CobaltHerb), .@price+10, getitemlink(CobaltHerb));
+ mes l("* @@/@@ @@", countitem(GambogeHerb), .@price+10, getitemlink(GambogeHerb));
+ mes l("* @@/@@ @@", countitem(BugLeg), .@price-10, getitemlink(BugLeg));
+ mes l("@@/@@ GP", format_number(Zeny), format_number(.@price*2));
+ next;
+ select
+ l("Do it!"),
+ l("What a rip-off!");
+ mes "";
+ if (@menu == 2) {
+ mesn;
+ mesq l("Aha! I knew you were a boring person...");
+ close;
+ }
+ if (
+ countitem(CobaltHerb) < .@price+10 ||
+ countitem(GambogeHerb) < .@price+10 ||
+ countitem(BugLeg) < .@price-10 ||
+ Zeny < .@price*2
+ )
+ goto L_NotEnough;
+ inventoryplace GreenDye, 1;
+ delitem CobaltHerb, .@price+10;
+ delitem GambogeHerb, .@price+10;
+ delitem BugLeg, .@price-10;
+ Zeny-=.@price*2;
+ getitem GreenDye, 1;
+ getexp 200, 100; // Job Experience >>> Base Experience
+ mesn;
+ mesq l("There you go, boring person... You will look like the trees here. Ugh, disgusting.");
+ close;
+
+L_NotEnough:
+ mesn;
+ mesq l("Please don't bore me even more... That's clearly not everything.");
+ next;
+ mesn;
+ mesq l("I wonder if anyone will notice or care if I take a nap here...");
+ close;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/017-1/drowned_man.txt b/npc/017-1/drowned_man.txt
new file mode 100644
index 0000000..9604612
--- /dev/null
+++ b/npc/017-1/drowned_man.txt
@@ -0,0 +1,177 @@
+// TMW2/TMWBR Script
+// Author:
+// Jesusalva
+// Description:
+// Access to Lilit - He aids you in jumping off the bridge and reaching Lilit
+// Of course, to swim such large distance, you need to have plenty vit and str...
+// Right spot: Between the crack (shallow) and the plant (shallow).
+
+// .@q = LilitQuest_Access
+// 0 - Access not granted
+// 1 - Access granted
+// 2 - Tree Minigame complete.
+
+// TODO: Only allow "I want to swim" if the game knows you know about Lilit
+// That is what Saulc wants, after all
+
+017-1,160,227,0 script #DrownedMan NPC_NO_SPRITE,{
+ if (!isin("017-1", 158, 222, 1))
+ end;
+ mesc l("Someone seems to be drowned in the water.");
+ select
+ l("Hello! Do you need help?"),
+ l("Why shouldn't I jump here?"),
+ l("But I want to swim!");
+ mes "";
+ switch (@menu)
+ {
+ case 1:
+ mesn l("Drowned Man");
+ mesq l("I'm afraid you can't help me... I still have one HP left.");
+ next;
+ mesn l("Drowned Man");
+ mesq l("I also broke my bones, and I was equipping a weapon which prevents HP regen...");
+ next;
+ mesn l("Drowned Man");
+ mesq l("I did some tritan friends, though. They teached me how to breath underwater. It's not so bad.");
+ next;
+ mesn l("Drowned Man");
+ mesq l("In the first eight months I wanted to go back, but now I'm pretty used to living here. Please don't rescue me.");
+ break;
+ case 2:
+ mesn l("Drowned Man");
+ mesq l("Because it may be a fatal fall!");
+ next;
+ mesn l("Drowned Man");
+ mesq l("Look the height of this bridge! Worse, the water around here is pretty shallow.");
+ next;
+ mesn l("Drowned Man");
+ mesq l("Well, there might be a deep water spot, but it would still be dangerous.");
+ next;
+ mesn l("Drowned Man");
+ mesq l("Unless you're looking forward a death penalty, DO NOT JUMP!");
+ // We're in town, are you stupid >.>
+ break;
+ case 3:
+ mesn l("Drowned Man");
+ mesq l("Well, you see, you can't jump very far. And the water near land is shallow.");
+ next;
+ mesn l("Drowned Man");
+ mesq l("I guess, there might be a single spot where water is a bit deeper, but I wasn't lucky.");
+ next;
+ mesn l("Drowned Man");
+ mes l("Remember to store somewhere any heavy stuff you might be carrying.");
+ mes l("I guess you cannot bring more than 1kg with full health. Less, if you're hurt.");
+ next;
+ mesn l("Drowned Man");
+ mesq l("Also, you need vitality and strength to survive the swimming trip. The closest island is very far away.");
+ mesc l("You need at least 35 str and 35 vit to do the trip safely - bonuses not counted - or you will lose HP."); // Can be safely mixed
+ break;
+ }
+ close;
+
+OnWarn:
+ @lofcanjump=true;
+ npctalkonce l("@@, don't jump there! It may be fatal!", strcharinfo(0));
+ end;
+
+// DO NOT LOWER
+OnInit:
+ .distance=7;
+ end;
+}
+
+// Warning Event
+017-1,158,222,0 script #DrownedManArea NPC_NO_SPRITE,0,0,{
+ end;
+OnTouch:
+ doevent("#DrownedMan::OnWarn");
+ end;
+OnInit:
+ .distance=1;
+ end;
+}
+
+
+// Any Jump. Code is obfuscated to inhibit cheaters :<
+// Of course, I could use a blackbox too, but this is not the purpose.
+// You don't want to solve the map hint, then you'll solve my formula!! /tableflip
+017-1,162,226,0 script #JumpArea01 NPC_NO_SPRITE,0,0,{
+ // Do you want to jump?
+ if (!@lofcanjump) {
+ dispbottom l("What interesting water. Just don't ask me why.");
+ end;
+ }
+
+ // Are you in the bridge?
+ if (!isin("017-1", 158, 222, 1)) {
+ dispbottom l("I'm too far to jump there.");
+ end;
+ }
+
+ mesc l("Are you really going to jump here?");
+ next;
+ if (askyesno() == ASK_YES) {
+ // Do the jump!
+ closeclientdialog;
+ slide .x, .y;
+ if (is_between(5220, 5270, .x*32) && is_between(7330, 7390, .y*32))
+ goto L_GoodJump;
+ dispbottom l("The water was too shallow...");
+ die();
+ end;
+ }
+ closeclientdialog;
+ end;
+
+L_GoodJump:
+ dispbottom l("You jump in deep waters.");
+ // You can only carry exact 2kg with full health.
+ // Weight will be 2000g - so penalty will be 100% HP.
+ .@penalty=max(0, (Weight/20)-1);
+ percentheal -.@penalty, 0;
+ @finalhp = Hp;
+
+ // vit/str counts on swimming minigame
+ mesn l("Drowned Man");
+ mesq l("Good job! I wish you luck, because now you need to SWIM!");
+ next;
+ closeclientdialog;
+ setparam(Hp, @finalhp);
+ @finalhp=0;
+ addtimer(3000, "#01850SwimmingCtrl::OnLoop");
+ warp "018-5-0", 20, 25;
+ end;
+
+OnInit:
+ .alwaysVisible=true;
+ end;
+}
+
+017-1,162,227,0 duplicate(#JumpArea01) #JumpArea02 NPC_NO_SPRITE
+017-1,162,228,0 duplicate(#JumpArea01) #JumpArea03 NPC_NO_SPRITE
+017-1,162,229,0 duplicate(#JumpArea01) #JumpArea04 NPC_NO_SPRITE
+017-1,162,230,0 duplicate(#JumpArea01) #JumpArea05 NPC_NO_SPRITE
+017-1,162,231,0 duplicate(#JumpArea01) #JumpArea06 NPC_NO_SPRITE
+
+017-1,163,226,0 duplicate(#JumpArea01) #JumpArea07 NPC_NO_SPRITE
+017-1,163,227,0 duplicate(#JumpArea01) #JumpArea08 NPC_NO_SPRITE
+017-1,163,228,0 duplicate(#JumpArea01) #JumpArea09 NPC_NO_SPRITE
+017-1,163,229,0 duplicate(#JumpArea01) #JumpArea10 NPC_NO_SPRITE
+017-1,163,230,0 duplicate(#JumpArea01) #JumpArea11 NPC_NO_SPRITE
+017-1,163,231,0 duplicate(#JumpArea01) #JumpArea12 NPC_NO_SPRITE
+
+017-1,164,226,0 duplicate(#JumpArea01) #JumpArea13 NPC_NO_SPRITE
+017-1,164,227,0 duplicate(#JumpArea01) #JumpArea14 NPC_NO_SPRITE
+017-1,164,228,0 duplicate(#JumpArea01) #JumpArea15 NPC_NO_SPRITE
+017-1,164,229,0 duplicate(#JumpArea01) #JumpArea16 NPC_NO_SPRITE
+017-1,164,230,0 duplicate(#JumpArea01) #JumpArea17 NPC_NO_SPRITE
+017-1,164,231,0 duplicate(#JumpArea01) #JumpArea18 NPC_NO_SPRITE
+
+017-1,165,226,0 duplicate(#JumpArea01) #JumpArea19 NPC_NO_SPRITE
+017-1,165,227,0 duplicate(#JumpArea01) #JumpArea20 NPC_NO_SPRITE
+017-1,165,228,0 duplicate(#JumpArea01) #JumpArea21 NPC_NO_SPRITE
+017-1,165,229,0 duplicate(#JumpArea01) #JumpArea22 NPC_NO_SPRITE
+017-1,165,230,0 duplicate(#JumpArea01) #JumpArea23 NPC_NO_SPRITE
+017-1,165,231,0 duplicate(#JumpArea01) #JumpArea24 NPC_NO_SPRITE
+
diff --git a/npc/017-1/estate.txt b/npc/017-1/estate.txt
new file mode 100644
index 0000000..434b477
--- /dev/null
+++ b/npc/017-1/estate.txt
@@ -0,0 +1,171 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Real Estate System
+
+// ID: 2
+// $ESTATE_OWNER[.id] → Account ID owner of the Real Estate
+// $ESTATE_OWNERNAME$[.id] → Human readable name of Real Estate owner
+// $ESTATE_RENTTIME[.id] → When the rent will expire
+// $ESTATE_MOBILIA_2[.id] → Bitmask of mobilia currently purchased on Monster Collision (6) (Use on walls only)
+// $ESTATE_MOBILIA_4[.id] → Bitmask of mobilia currently purchased on Air Collision (2)
+// $ESTATE_MOBILIA_8[.id] → Bitmask of mobilia currently purchased on Water Collision (3)
+// $ESTATE_MOBILIA_32[.id] → Bitmask of mobilia currently purchased on Yellow Collision (4)
+// $ESTATE_MOBILIA_64[.id] → Bitmask of mobilia currently purchased on Normal Collision (1)
+// $ESTATE_MOBILIA_128[.id] → Bitmask of mobilia currently purchased on Player Collision (5)
+// $ESTATE_PASSWORD$[.id] → Password to enter the estate. If it is "", then no password required
+// Note: GMs and Administrators can always use super password "mouboo" to enter a locked estate
+// $ESTATE_DOORBELL[.id] → If doorbell is disabled (enabled by default)
+
+// REAL_ESTATE_CREDITS → Credits equivalent to GP the player have. Will be used first.
+
+// The sign is the main controller
+017-1,86,177,0 script Sign#RES_0177 NPC_SWORDS_SIGN,{
+ if ($ESTATE_RENTTIME[.id] < gettimetick(2))
+ goto L_RentAvailable;
+
+ if ($ESTATE_OWNER[.id] == getcharid(3))
+ goto L_Manage;
+
+ if (is_admin() && $@GM_OVERRIDE)
+ goto L_Manage;
+
+ mesc l("This estate currently belongs to @@.", $ESTATE_OWNERNAME$[.id]);
+ mesc l("Press the doorbell?");
+ next;
+ if (askyesno() == ASK_YES)
+ doevent "Doorbell#RES_0177::OnDoorbell";
+ close;
+
+L_RentAvailable:
+ realestate_rent(.id, .price);
+ close;
+
+L_Manage:
+ realestate_manage(.id, (.price*7/10));
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+
+ // Estate Settings
+ .id=2; // Estate ID
+ .price=40000; // Monthly rent price
+ end;
+
+}
+
+// Door entrance
+017-1,85,175,0 script #RES_0177 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if ($ESTATE_RENTTIME[.id] < gettimetick(2))
+ goto L_RentAvailable;
+
+ if ($ESTATE_OWNER[.id] == getcharid(3) || $ESTATE_PASSWORD$[.id] == "")
+ goto L_Warp;
+
+ mesc l("The door is locked");
+ next;
+ mesc l("However, it can be unlocked if you know the password:");
+ if (is_gm()) mesc l("You can use super password \"mouboo\" to unlock the door."), 1;
+ input .@password$;
+ // GMs can use super password "mouboo"
+ if (.@password$ == $ESTATE_PASSWORD$[.id] || (is_gm() && .@password$ == "mouboo"))
+ goto L_Warp;
+ close;
+
+L_Warp:
+ warp "017-7", 33, 33;
+ closeclientdialog;
+ close;
+
+L_RentAvailable:
+ dispbottom l("This estate is available for rent, talk to the sign to rent it.");
+ close;
+
+OnInit:
+ // Estate Settings
+ .id=2; // Estate ID
+ end;
+
+}
+
+//////////////////////////////////////////////////////////////////////////////
+// ID: 3
+
+// The sign is the main controller
+017-1,138,22,0 script Sign#RES_0178 NPC_SWORDS_SIGN,{
+ if ($ESTATE_RENTTIME[.id] < gettimetick(2))
+ goto L_RentAvailable;
+
+ if ($ESTATE_OWNER[.id] == getcharid(3))
+ goto L_Manage;
+
+ if (is_admin() && $@GM_OVERRIDE)
+ goto L_Manage;
+
+ mesc l("This estate currently belongs to @@.", $ESTATE_OWNERNAME$[.id]);
+ mesc l("Press the doorbell?");
+ next;
+ if (askyesno() == ASK_YES)
+ doevent "Doorbell#RES_0178::OnDoorbell";
+ close;
+
+L_RentAvailable:
+ realestate_rent(.id, .price);
+ close;
+
+L_Manage:
+ realestate_manage(.id, (.price*7/10));
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+
+ // Estate Settings
+ .id=3; // Estate ID
+ .price=60000; // Monthly rent price
+ end;
+
+}
+
+// Door entrance
+017-1,139,20,0 script #RES_0178 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if ($ESTATE_RENTTIME[.id] < gettimetick(2))
+ goto L_RentAvailable;
+
+ if ($ESTATE_OWNER[.id] == getcharid(3) || $ESTATE_PASSWORD$[.id] == "")
+ goto L_Warp;
+
+ mesc l("The door is locked");
+ next;
+ mesc l("However, it can be unlocked if you know the password:");
+ if (is_gm()) mesc l("You can use super password \"mouboo\" to unlock the door."), 1;
+ input .@password$;
+ // GMs can use super password "mouboo"
+ if (.@password$ == $ESTATE_PASSWORD$[.id] || (is_gm() && .@password$ == "mouboo"))
+ goto L_Warp;
+ close;
+
+L_Warp:
+ warp "017-8", 33, 33;
+ closeclientdialog;
+ close;
+
+L_RentAvailable:
+ dispbottom l("This estate is available for rent, talk to the sign to rent it.");
+ close;
+
+OnInit:
+ // Estate Settings
+ .id=3; // Estate ID
+ end;
+
+}
+
diff --git a/npc/017-1/fairy_collector.txt b/npc/017-1/fairy_collector.txt
new file mode 100644
index 0000000..a8ab6af
--- /dev/null
+++ b/npc/017-1/fairy_collector.txt
@@ -0,0 +1,318 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Collect every piece of equipment ingame for no real reason
+// Cannot be completed yet, because not every piece of equipment is available ingame
+
+017-1,135,106,0 script Royal Fairy NPC_FAIRY_B,{
+ .@n=getq(LoFQuest_Fairy);
+ mesn;
+
+ if (.@n == 0) goto L_Busy;
+ if (.@n < 3) goto L_Incomplete;
+ if (.@n >= 3) goto L_Main;
+
+L_Busy:
+ mesq l("Hi, I'm too busy to talk right now, please go away. Very pressing matters at hand.");
+ close;
+
+L_Incomplete:
+ mesq l("Hello, I noticed my dear friend, Susanne, asked you to help us save my sisters; do not forget to ask Susanne where the Fafi Dragon was last seen.");
+ close;
+
+L_Main:
+ if (!(TELEPORTERS & TP_LILIT) && rand2(3) == 2) {
+ mesn;
+ mesq l("Have you ever met our Queen Lilit? She is lovely but hates @@ for some reason...", get_race());
+ next;
+ mesc l("Do you want a tip? \"It's not suicide if you know how to swim.\"");
+ next;
+ }
+ if (#COLLECTOR == (COLLECT_ALL-1)) {
+ mesn;
+ mesc l("OMG you got all equipment in Moubootaur Legends. You are truly a legend of legends."), 1;
+ next;
+ inventoryplace NPCEyes, 5;
+ mesn;
+ mesc l("Here, you can have the partly unobtainable items reserved to developers and contributors. And, uh, these NPC-only items, don't let developers know I gave you this. It'll be our little secret!"), 1;
+ #COLLECTOR = #COLLECTOR | COLLECT_ALL;
+ getitembound DEVCap, 1, 1;
+ getitembound ContributorSweater, 1, 1;
+ getitembound CommunityShirt, 1, 1;
+ getitembound RiceHat, 1, 1;
+ getitembound AlchemistArmor, 1, 1;
+ // Should we give them a NPCEyes? Or better not (would break checks)?
+ }
+ /*
+ COLLECT_CHESTPLATE: 1
+ COLLECT_HEADGEAR: 2
+ COLLECT_PANTS: 4
+ COLLECT_SHOES: 8
+ COLLECT_NECKLACES: 16
+ COLLECT_RINGS: 32
+ COLLECT_ACESSORIES: 64
+ COLLECT_SCARFS: 128
+ COLLECT_GLOVES: 256
+ COLLECT_SHIELDS: 512
+ COLLECT_1HSWORDS: 1024
+ COLLECT_2HSWORDS: 2048
+ COLLECT_BOWS: 4096
+ COLLECT_FIREGUNS: 8192
+ COLLECT_WANDS: 16384
+ COLLECT_QUIVERS: 32768
+ COLLECT_MOUNTS: 65536
+ COLLECT_PETS: 131072
+
+ */
+ do {
+ mesn;
+ mesq l("Are you trying to collect every piece of equipment ingame? Come tell me if you are and I'll give you a collector stamp!");
+ mesc l("Not every piece of equipment is ingame yet.");
+ mes "";
+ select
+ l("Good bye!"),
+ rif(false && !(#COLLECTOR & COLLECT_CHESTPLATE), l("Chestplates")),
+ rif(false && !(#COLLECTOR & COLLECT_HEADGEAR), l("Headgear")),
+ rif(false && !(#COLLECTOR & COLLECT_PANTS), l("Pants")),
+ rif(false && !(#COLLECTOR & COLLECT_SHOES), l("Shoes")),
+ rif(false && !(#COLLECTOR & COLLECT_NECKLACES), l("Necklaces")),
+ rif(false && !(#COLLECTOR & COLLECT_RINGS), l("Rings")),
+ rif(false && !(#COLLECTOR & COLLECT_ACESSORIES), l("Accessories")),
+ rif(false && !(#COLLECTOR & COLLECT_SCARFS), l("Scarfs")),
+ rif(false && !(#COLLECTOR & COLLECT_GLOVES), l("Gloves")),
+ rif(false && !(#COLLECTOR & COLLECT_SHIELDS), l("Shields")),
+ rif(false && !(#COLLECTOR & COLLECT_1HSWORDS), l("1 Hand Swords")),
+ rif(false && !(#COLLECTOR & COLLECT_2HSWORDS), l("2 Hand Swords")),
+ rif(true && !(#COLLECTOR & COLLECT_BOWS), l("Bows")),
+ rif(true && !(#COLLECTOR & COLLECT_FIREGUNS), l("Fire Staves")),
+ rif(true && !(#COLLECTOR & COLLECT_WANDS), l("Wands")),
+ rif(true && !(#COLLECTOR & COLLECT_QUIVERS), l("Quivers")),
+ rif(false && !(#COLLECTOR & COLLECT_MOUNTS), l("Mounts")),
+ rif(false && !(#COLLECTOR & COLLECT_PETS), l("Pets")),
+ l("Trade stamps");
+ mes "";
+ switch (@menu+1) {
+ // Chestplate
+ case 1:
+ msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt));
+ next;
+ break;
+ // Headgear (2x bells)
+ case 2:
+ msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt));
+ next;
+ break;
+ // Pants
+ case 3:
+ msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt));
+ next;
+ break;
+ // Shoes
+ case 4:
+ msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt));
+ next;
+ break;
+ // Necklaces
+ case 5:
+ msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt));
+ next;
+ break;
+ // Rings
+ case 6:
+ msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt));
+ next;
+ break;
+ // Accessories
+ case 7:
+ msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt));
+ next;
+ break;
+ // Scarfs
+ case 8:
+ msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt));
+ next;
+ break;
+ // Gloves
+ case 9:
+ msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt));
+ next;
+ break;
+ // Shields
+ case 10:
+ msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt));
+ next;
+ break;
+ // 1H Swords
+ case 11:
+ msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt));
+ next;
+ break;
+ // 2H Swords
+ case 12:
+ msObjective(countitem(Scythe), "* "+getitemlink(Scythe));
+ msObjective(countitem(ThunderStaff), "* "+getitemlink(ThunderStaff));
+ msObjective(countitem(MiereCleaver), "* "+getitemlink(MiereCleaver));
+ msObjective(countitem(Broadsword), "* "+getitemlink(Broadsword));
+ msObjective(countitem(Kanabo), "* "+getitemlink(Kanabo));
+ msObjective(countitem(BlacksmithAxe), "* "+getitemlink(BlacksmithAxe));
+ msObjective(countitem(CentaurSpear), "* "+getitemlink(CentaurSpear));
+ msObjective(false, l("* More equipment coming soon..."));
+ next;
+ break;
+ // Bows
+ case 13:
+ msObjective(countitem(TrainingBow), "* "+getitemlink(TrainingBow));
+ msObjective(countitem(WoodenBow), "* "+getitemlink(WoodenBow));
+ msObjective(countitem(ShortBow), "* "+getitemlink(ShortBow));
+ msObjective(countitem(ForestBow), "* "+getitemlink(ForestBow));
+ msObjective(countitem(ElficBow), "* "+getitemlink(ElficBow));
+ msObjective(countitem(ChampionshipBow), "* "+getitemlink(ChampionshipBow));
+ msObjective(countitem(BansheeBow), "* "+getitemlink(BansheeBow));
+ next;
+ if (countitem(PynRifle) &&
+ countitem(PynGatling) &&
+ countitem(PynShotgun) &&
+ countitem(PynRevolver) &&
+ countitem(Dustynator)) {
+ #COLLECTOR = #COLLECTOR|COLLECT_BOWS;
+ getitembound SilverBell, 1, 1;
+ mesc l("CONGRATULATIONS! You have obtained the %s.", getitemlink(SilverBell)), 3;
+ }
+ break;
+ // Firearms
+ case 14:
+ msObjective(countitem(PynRifle), "* "+getitemlink(PynRifle));
+ msObjective(countitem(PynGatling), "* "+getitemlink(PynGatling));
+ msObjective(countitem(PynShotgun), "* "+getitemlink(PynShotgun));
+ msObjective(countitem(PynRevolver), "* "+getitemlink(PynRevolver));
+ msObjective(countitem(Dustynator), "* "+getitemlink(Dustynator));
+ next;
+ if (countitem(PynRifle) &&
+ countitem(PynGatling) &&
+ countitem(PynShotgun) &&
+ countitem(PynRevolver) &&
+ countitem(Dustynator)) {
+ #COLLECTOR = #COLLECTOR|COLLECT_FIREGUNS;
+ getitembound SilverBell, 1, 1;
+ mesc l("CONGRATULATIONS! You have obtained the %s.", getitemlink(SilverBell)), 3;
+ next;
+ }
+ break;
+ // Wands
+ case 15:
+ msObjective(countitem(TrainingWand), "* "+getitemlink(TrainingWand));
+ msObjective(countitem(NoviceWand), "* "+getitemlink(NoviceWand));
+ msObjective(countitem(ReinbooWand), "* "+getitemlink(ReinbooWand));
+ msObjective(countitem(ApprenticeWand), "* "+getitemlink(ApprenticeWand));
+ msObjective(countitem(LeaderWand), "* "+getitemlink(LeaderWand));
+ msObjective(countitem(MysticWand), "* "+getitemlink(MysticWand));
+ next;
+ if (countitem(TrainingWand) &&
+ countitem(NoviceWand) &&
+ countitem(ReinbooWand) &&
+ countitem(ApprenticeWand) &&
+ countitem(LeaderWand) &&
+ countitem(MysticWand)) {
+ #COLLECTOR = #COLLECTOR|COLLECT_WANDS;
+ getitembound SilverBell, 1, 1;
+ mesc l("CONGRATULATIONS! You have obtained the %s.", getitemlink(SilverBell)), 3;
+ next;
+ }
+ break;
+ // Quivers
+ case 16:
+ msObjective(countitem(LeatherQuiver), "* "+getitemlink(LeatherQuiver));
+ msObjective(countitem(IronQuiver), "* "+getitemlink(IronQuiver));
+ msObjective(countitem(BronzeQuiver), "* "+getitemlink(BronzeQuiver));
+ msObjective(countitem(PlatinumQuiver), "* "+getitemlink(PlatinumQuiver));
+ next;
+ if (countitem(LeatherQuiver) &&
+ countitem(IronQuiver) &&
+ countitem(BronzeQuiver) &&
+ countitem(PlatinumQuiver)) {
+ #COLLECTOR = #COLLECTOR|COLLECT_QUIVERS;
+ getitembound SilverBell, 1, 1;
+ mesc l("CONGRATULATIONS! You have obtained the %s.", getitemlink(SilverBell)), 3;
+ next;
+ }
+ break;
+ // Mounts
+ case 17:
+ msObjective(countitem(LegendaryTortuga), "* "+getitemlink(LegendaryTortuga));
+ msObjective(countitem(LegendaryMouboo), "* "+getitemlink(LegendaryMouboo));
+ next;
+ if (countitem(LegendaryTortuga) &&
+ countitem(LegendaryMouboo)) {
+ #COLLECTOR = #COLLECTOR|COLLECT_MOUNTS;
+ getitembound SilverBell, 1, 1;
+ mesc l("CONGRATULATIONS! You have obtained the %s.", getitemlink(SilverBell)), 3;
+ next;
+ }
+ break;
+ // Pets (2x bells)
+ case 18:
+ msObjective(countitem(CreasedShirt), "* "+getitemlink(CreasedShirt));
+ next;
+ break;
+ case 19:
+ openshop;
+ closeclientdialog;
+ close;
+ break;
+ }
+
+ } while (@menu != 0);
+ close;
+
+OnInit:
+ .distance=5;
+ tradertype(NST_CUSTOM);
+
+ // Sell: Aethyr Points, Strange Coins, Manapple, Supreme Gift, Housing Letter 3, Blueprints E, SaviorBlueprint, BoxsetEE, Tux/Linarian Soul, SunnyCrystal?, X Cards,
+ // Pets → Strange Coin
+ // You can get up to 18 stamps, but pets and hats give 2x
+ // Plan wisely and accordingly
+ sellitem SunnyCrystal, 12;
+ sellitem LegendaryMouboo, 11;
+ sellitem LegendaryTortuga, 10;
+ sellitem SupremeGift, 9;
+ sellitem PrismGift, 8;
+ sellitem MysteriousFruit, 7;
+ sellitem LinarianSoul, 6;
+ sellitem SaviorBlueprint, 5;
+ sellitem TuxSoul, 4;
+ sellitem GoldenGift, 3;
+ sellitem MercBoxEE, 2;
+ sellitem HousingLetterIII, 2;
+ sellitem ReflectCardX, 2;
+ sellitem SpeedCardX, 2;
+ sellitem PowerCardX, 2;
+ sellitem WallCardX, 2;
+ sellitem NecromancerCardX, 1;
+ sellitem HeroCardX, 1;
+ sellitem KnightCardX, 1;
+ sellitem ClericCardX, 1;
+ sellitem DruidCardX, 1;
+ sellitem MageCardX, 1;
+ sellitem NinjaCardX, 1;
+ sellitem NatureCardX, 1;
+ sellitem LightGreenDiamond, 1;
+ end;
+
+/* set currency to be item 828 */
+OnCountFunds:
+ setcurrency(countitem(SilverBell));
+ end;
+
+/* @price is total cost. @points is if we accept two items as currency. */
+OnPayFunds:
+ //dispbottom "Hi: price="+@price+" and points="+@points;
+ if( countitem(SilverBell) < @price )
+ end;
+ delitem SilverBell, @price;
+ purchaseok();
+ end;
+
+}
diff --git a/npc/017-1/guards.txt b/npc/017-1/guards.txt
new file mode 100644
index 0000000..b5606c5
--- /dev/null
+++ b/npc/017-1/guards.txt
@@ -0,0 +1,80 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Protect LoF
+
+// Handle Guard's logic
+function script LofGuard {
+ mesn;
+ mesq l("I am stationed here to protect Land Of Fire from monsters.");
+ next;
+ mesn;
+ mesq l("I mean, there's even an Monster King? What sort of world is this?!");
+ close;
+ return;
+}
+
+017-1,79,43,0 script Guard#lof-1 NPC_GUARD2,{
+ LofGuard();
+ end;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
+
+017-1,220,44,0 script Guard#lof-2 NPC_GUARD1,{
+ LofGuard();
+ end;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
+017-1,193,69,0 script Guard#lof-3 NPC_GUARD2,{
+ LofGuard();
+ end;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
+
+017-1,69,108,0 script Guard#lof-4 NPC_GUARD1,{
+ LofGuard();
+ end;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
+017-1,90,149,0 script Guard#lof-5 NPC_GUARD1,{
+ LofGuard();
+ end;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
+
+017-1,85,223,0 script Guard#lof-6 NPC_GUARD2,{
+ LofGuard();
+ end;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/017-1/guild.txt b/npc/017-1/guild.txt
new file mode 100644
index 0000000..d984285
--- /dev/null
+++ b/npc/017-1/guild.txt
@@ -0,0 +1,46 @@
+// Moubootaur Legends Script
+// Author:
+// Jesusalva
+// Description:
+// Guild House
+
+017-1,57,33,0 script #GDoor NPC_NO_SPRITE,0,0,{
+ end;
+OnTouch:
+ if (getcharid(2) < 1) {
+ dispbottom l("The door is locked.");
+ end;
+ }
+ // Warp you to your guild house if exist.
+ // Build the instance otherwise.
+
+ // Well, "checking if instance exist by mapname" is an illusion.
+ // So we try to build and if we fail, we warp the player to the instance.
+ .@ID=getcharid(2);
+ @MAP_NAME$="guild@"+str(.@ID); // Max 4 chars for map name
+
+ .@INSTID = instance_create("guilds@a"+(.@ID), getcharid(2), IOT_GUILD);
+
+ // Instance already exists - .@INSTID returns "-4"
+ if (.@INSTID == -4) {
+ warp @MAP_NAME$, any(34,35), 48;
+ end;
+ }
+
+ .@instanceMapName$ = instance_attachmap("guilds", .@INSTID, 0, @MAP_NAME$);
+
+ instance_set_timeout(0, 0, .@INSTID);
+ instance_init(.@INSTID);
+ warp @MAP_NAME$, any(34,35), 48;
+ end;
+
+}
+
+017-1,58,32,0 script #GSign NPC_NO_SPRITE,{
+ mesc l("Guild Hall");
+ close;
+
+OnInit:
+ .distance=3;
+ end;
+}
diff --git a/npc/017-1/mapflags.txt b/npc/017-1/mapflags.txt
new file mode 100644
index 0000000..99a6ba9
--- /dev/null
+++ b/npc/017-1/mapflags.txt
@@ -0,0 +1,9 @@
+017-1 mapflag town
+017-1 mapflag nopenalty
+017-2 mapflag town
+017-3 mapflag town
+017-4 mapflag town
+017-5 mapflag town
+017-6 mapflag town
+017-7 mapflag town
+017-8 mapflag town
diff --git a/npc/017-1/misc.txt b/npc/017-1/misc.txt
new file mode 100644
index 0000000..5dabba3
--- /dev/null
+++ b/npc/017-1/misc.txt
@@ -0,0 +1,257 @@
+// TMW2/LoF scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Essential scripts any city must have
+
+// Description:
+// The Travelers travel around the world telling stories.
+017-1,144,204,0 script Elen The Traveler NPC_F_COINKEEPER,{
+
+ mesn;
+ if (strcharinfo(0) == $MOST_HEROIC$) mesq l("Wow! Are you @@? Everyone, in every city, talks about you!", $MOST_HEROIC$);
+ if (strcharinfo(0) == $MOST_HEROIC$) next;
+
+ mesq l("Hello. I am @@, and I am from a family of travellers. We travel though the whole world, looking for exotic goods.", .name$);
+ next;
+ mesq l("You can buy rare items with me, or I can tell you about different cities in our world.");
+
+L_Menu:
+ mes "";
+ menu
+ l("I want to trade with you."), L_Trade,
+ l("Tell me about Tulimshar."), L_Tulim,
+ l("Tell me about Hurnscald."), L_Hurns,
+ l("Tell me about Nivalis."), L_Nival,
+ l("Tell me about Artis."), L_Artis,
+ l("Tell me about Frostia."), L_Frost,
+ l("Tell me about Halinarzo."), L_Halin,
+ l("Sorry, I'll pass."), L_Close;
+
+L_Tulim:
+ mes "";
+ mesn;
+ mesq l("Tulimshar is the oldest human city, and its foundation is the year zero of our calendar.");
+ next;
+ mesq l("The city only flourished because Janett Platinum had the idea to build city walls surrounding this city.");
+ next;
+ mesq l("The desert climate means you'll find mostly maggots and scorpions. Their drops include cactus drinks, cake, knifes, black pearls, gold, and other common things.");
+ next;
+ mesq l("You can find for a good price desert equipment and some kind of dyes. You find all sort of crafters, artisans and warriors here.");
+ next;
+ goto L_Menu;
+
+L_Hurns:
+ mes "";
+ mesn;
+ mesq l("Hurnscald was founded after Tulimshar, in more fertile lands. Their walls are not so sturdy as the ones of Tulimshar.");
+ next;
+ mesq l("Under the leadership of King Wusher, they were the first to accept immigrants from other races. You will find humans and non-humans there.");
+ next;
+ mesq l("The fertile climate is ideal for mushrooms. You can also find lots of wood.");
+ next;
+ mesq l("Their economy provide many edible items and potions.");
+ next;
+ goto L_Menu;
+
+L_Nival:
+ mes "";
+ mesn;
+ mesq l("Nivalis was the last human settlement built during the First Era.");
+ next;
+ mesq l("It's cold, harsh climate makes difficult to live there. It was founded by people thrown away from Tulimshar and Hunrscald for political reasons.");
+ next;
+ mesq l("The cold climate is ideal for slimes, penguins, and other icy creatures. You can find lots of... ice, of course!");
+ next;
+ mesq l("Some items are only produced in Nivalis. After all, it is hard to work properly with ice in a desert!");
+ next;
+ goto L_Menu;
+
+
+L_Artis:
+ mes "";
+ mesn;
+ mesq l("Artis is a city port founded after the Great Fire on the other continent.");
+ next;
+ mesq l("People say it is the second biggest city from the world.");
+ next;
+ mesq l("Different kind of monsters live near the city. For example, blubs. I have no idea of what are those.");
+ next;
+ mesq l("People usually dock there when travelling to the second continent. Nothing exceptional about economy.");
+ next;
+ if ($FIRESOFSTEAM) {
+ mesq l("They used to export food and other things but there has been radio silence recentely; Which is why Andrei Sakar and a group of adventurers borrowed Nard's ship and went to investigate.");
+ next;
+ }
+ goto L_Menu;
+
+
+L_Frost:
+ mes "";
+ mesn;
+ mesq l("Frostia is the only city known that was not founded by humans.");
+ next;
+ mesq l("They are strict with who is allowed inside, so you'll need either elf or ukar friends to pass.");
+ next;
+ mesq l("It is on a huge, icy mountain peak. Rumors about dragons and legendary items to be found.");
+ next;
+ mesq l("Some of finest elven craftmanship can be found there, like bows, for example.");
+ next;
+ goto L_Menu;
+
+L_Halin:
+ mes "";
+ mesn;
+ mesq l("Halinarzo was founded to explore Mana Stones.");
+ next;
+ mesq l("You can find both huge swamps, as huge desertic areas near and on it.");
+ next;
+ mesq l("Lizards are the main monster found, and they steal gold from innocent bypassers.");
+ next;
+ mesq l("Without any mana stone left, and because the walls were not very strong, most of the city was destroyed.");
+ next;
+ mesq l("Unlike many other cities, if you want people in eternal need of items, there is a good place to look.");
+ next;
+ goto L_Menu;
+
+
+L_Trade:
+ mesn;
+ mesq l("Use your @@ as currency!", getitemlink(StrangeCoin));
+ tutmes l("%s is obtained during events, daily logins, heroic deeds, gifts, etc. But cannot be bought with real money.", getitemlink(StrangeCoin));
+ next;
+ openshop "Aeros Trader";
+ closedialog;
+
+L_Close:
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, UglyChristmasSweater);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, JeansShorts);
+ setunitdata(.@npcId, UDT_WEAPON, CandorBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 27);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 11);
+ npcsit;
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
+// Description:
+// Banker.
+017-3,85,41,0 script Stalman NPC_LLOYD,{
+ Banker(.name$, "Land Of Fire Village", 10000);
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
+// Description:
+// Barber.
+
+017-1,147,176,0 script Milocat NPC_ELVEN_FEMALE_ARMOR_SHOP,{
+ function setRace {
+ clear;
+ setnpcdialogtitle l("%s - Modify Race", .name$);
+ mes l("Race") + ": " + get_race();
+ next;
+ mes l("Please select the desired race.");
+ select
+ l("Kaizei Human"),
+ l("Argaes Human"),
+ l("Tonori Human"),
+ l("Elf"),
+ l("Orc"),
+ l("Raijin"),
+ l("Tritan"),
+ l("Ukar"),
+ l("Redy"),
+ l("Savior");
+ switch (@menu)
+ {
+ default:
+ jobchange max(0, @menu-1);
+ }
+ return;
+ }
+
+
+ mesn;
+ mesq l("Hi! Do you want a hair cut?");
+
+ do
+ {
+ select
+ l("What is my current hairstyle and hair color?"),
+ l("I'd like to get a different style."),
+ l("Can you do something with my color?"),
+ rif(is_gm() || REBIRTH >= 5, l("I want to change my Race!")),
+ l("I'm fine for now, thank you.");
+
+ switch (@menu)
+ {
+ case 1:
+ BarberSayStyle 3;
+ break;
+ case 2:
+ BarberChangeStyle;
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Enjoy your new style.");
+ l("Anything else?");
+ break;
+ case 3:
+ BarberChangeColor;
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("I hope you like this color.");
+ l("Anything else?");
+ break;
+ case 4:
+ setRace;
+ break;
+ case 5:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Feel free to come visit me another time.");
+
+ goodbye;
+ }
+ } while (1);
+ close;
+
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
+
+
+
+
+
+
+
+// Whatever event use #RARE_POINTS
+// Which is a script variable, meaning it will be a really special event.
+// Side Note: Might as well add a special cap for such situations.
+017-1,118,83,0 script Pydisgner#spoints NPC_GUGLI,{
+ mesn;
+ mesq l("Hello %s and welcome to Land Of Fire Village. This used to be a whole server before the Monster King crashed it down here.", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("In this town you'll find many critical things for your journey, like artifacts, dungeons, crafts and refiners. Please enjoy your stay. And keep tuned for news about us!");
+ mes "@@https://discord.gg/q3Bwzgf|LoF Discord Server@@";
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance=5;
+ end;
+}
diff --git a/npc/017-1/nowhere_man.txt b/npc/017-1/nowhere_man.txt
new file mode 100644
index 0000000..a743cbb
--- /dev/null
+++ b/npc/017-1/nowhere_man.txt
@@ -0,0 +1,137 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Pachua's Cousin. On LoF/TMWA he also crafted Iron Powder, Sulfur Powder, and Yellow Powder (for magic)
+// IMPORTANT @Saulc : DO NOT GIVE ANY EXPERIENCE ON THIS NPC.
+// This is sort of a bet, you know. “Go hunt Mountain Snakesâ€, or bet some precious
+// crafting material on this NPC. Two choices. The easy way is RISKY, not REWARDING.
+// The refund is the exact fair price, retrieved from database. The only "loss" here
+// is that you would rather do something else with Leather Patch but instead, you "sold" it.
+// If you sell items you don't get experience, so you shouldn't get any exp here either.
+//
+// This NPC could as well do Jeans Shorts, but I'm too lazy to calculate formula now.
+// The price is Cave Snake Skin in proportion to Jean Shorts rarity, and cost in proportion
+// to sell price difference.
+
+017-1,155,162,0 script Nowhere Man NPC_KAYLO,{
+ mesn;
+ mesq l("Welcome! I come from nowhere, and my family hunt Snakes. We also make fine leather items from their skin!");
+ next;
+ mesn;
+ mesq l("Next time an annoying snake refuses to drop their precious leather drops, come talk to us!");
+ // 160 * 1 = 160 GP vs 500 GP (340 GP)
+ mesq l("And if you bring me 1 @@ and 440 GP, I can make a @@ for you.", getitemlink(SnakeSkin), getitemlink(LeatherPatch));
+ mesq l("Or I could recover the @@ for 10 @@ and the modest fee of 4400 GP.", getitemlink(SnakeSkin), getitemlink(LeatherPatch));
+ next;
+ select
+ l("Nice to know. I'll come to you when random numbers try to kill me."),
+ rif(countitem(SnakeSkin) >= 1 && Zeny >= 440, l("I want Leather Patch")),
+ rif(countitem(LeatherPatch) >= 10 && Zeny >= 4400, l("I want Snake Skin"));
+
+ switch (@menu) {
+ case 2:
+ inventoryplace LeatherPatch, 1;
+ delitem SnakeSkin, 1;
+ Zeny=Zeny-440;
+ getitem LeatherPatch, 1;
+ mesn;
+ mesq l("Many thanks!");
+ break;
+ case 3:
+ inventoryplace SnakeSkin, 1;
+ delitem LeatherPatch, 10;
+ Zeny=Zeny-4400;
+ getitem SnakeSkin, 1;
+ mesn;
+ mesq l("Many thanks!");
+ break;
+ }
+ close;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
+
+
+017-1,174,169,0 script Nowhere Jeane NPC_SAMANTHA,{
+ mesn;
+ // 95 * 2 = 190 GP vs 400 GP (210 GP)
+ mesq l("If you bring me 2 @@ and 210 GP, I can make a @@ for you.", getitemlink(CaveSnakeSkin), getitemlink(JeansShorts));
+ mesq l("Or I can swap the @@ with a @@ - for only 2100 GP.", getitemlink(JeansShorts), getitemlink(CaveSnakeSkin));
+ next;
+ select
+ l("Nice to know. I'll come to you when random numbers try to kill me."),
+ rif(countitem(CaveSnakeSkin) >= 2 && Zeny >= 210, l("I want it.")),
+ rif(countitem(JeansShorts) && Zeny >= 2100, l("I don't care for equipment, gimme a snake skin."));
+
+ switch (@menu) {
+ case 2:
+ inventoryplace JeansShorts, 1;
+ delitem CaveSnakeSkin, 2;
+ Zeny=Zeny-210;
+ getitem JeansShorts, 1;
+ mesn;
+ mesq l("Many thanks!");
+ break;
+ case 3:
+ inventoryplace CaveSnakeSkin, 1;
+ delitem JeansShorts, 1;
+ Zeny=Zeny-2100;
+ getitem CaveSnakeSkin, 1;
+ mesn;
+ mesq l("Many thanks!");
+ break;
+ }
+ close;
+
+
+OnInit:
+ .sex=G_FEMALE;
+ .distance=5;
+ end;
+
+}
+
+
+017-1,143,161,0 script Nowhere Gluvine NPC_SERENA,{
+ mesn;
+ // 320 * 6 = 1920 GP vs 450 GP (-)
+ mesq l("If you bring me 6 @@ I can make a @@ for you.", getitemlink(MountainSnakeSkin), getitemlink(LeatherGloves));
+ mesq l("Or I can swap the @@ with a @@ - for free.", getitemlink(LeatherGloves), getitemlink(MountainSnakeSkin));
+ next;
+ select
+ l("Nice to know. I'll come to you when random numbers try to kill me."),
+ rif(countitem(MountainSnakeSkin) >= 6, l("I want it.")),
+ rif(countitem(LeatherGloves), l("I don't care for shorts, gimme a snake skin."));
+
+ switch (@menu) {
+ case 2:
+ inventoryplace LeatherGloves, 1;
+ delitem MountainSnakeSkin, 6;
+ getitem LeatherGloves, 1;
+ mesn;
+ mesq l("Many thanks!");
+ break;
+ case 3:
+ inventoryplace MountainSnakeSkin, 1;
+ delitem LeatherGloves, 6;
+ getitem MountainSnakeSkin, 1;
+ mesn;
+ mesq l("Many thanks!");
+ break;
+ }
+ close;
+
+
+OnInit:
+ .sex=G_FEMALE;
+ .distance=5;
+ end;
+
+}
+
diff --git a/npc/017-1/paxel.txt b/npc/017-1/paxel.txt
new file mode 100644
index 0000000..8a461c2
--- /dev/null
+++ b/npc/017-1/paxel.txt
@@ -0,0 +1,263 @@
+// TMW2/LoF Script
+// This is from LoF Forums, to replace LoF Paxel
+//----------------------------------------------------
+// PRSM Helmet quest (seasonal quest)
+// Create Quest: Darlord (Depredador)
+//----------------------------------------------------
+
+// Old Paxel turned Raw Coal in Coal... But we don't have Raw Coal.
+// He probably used the nice furnace NPC too... We will need another NPC to use that...
+
+017-1,131,22,0 script Paxel NPC_PLAYER,0,0,{
+ function maybeTowel;
+ if (maybeTowel())
+ npctalk3 l("I hope that strange towel man doesn't bother me again...");
+ else if (rand2(10) == 4)
+ npctalk3 l("I'm glad there's no annoying towel man. He keeps coming back to annoy me!");
+ .@q=getq(SQuest_Paxel);
+ if(.@q == 2) goto L_Done;
+ if (season() != SPRING && !$@GM_OVERRIDE) goto L_OutOfSeason;
+ if(.@q == 1) goto L_Ask2;
+
+ if (BaseLevel >= 55) goto L_Ask1;
+
+L_OutOfSeason:
+ mesn;
+ mesq l("Hello! Calm wind today!");
+ menu
+ l("Yes, but I like windy days."), L_Wind,
+ l("Hmm... sorry but gotta go..."), L_Go;
+ close;
+
+L_Go:
+ mesn;
+ mesq l("Ok, good trip then.");
+ close;
+
+L_Wind:
+ mesn;
+ mesq l("I don't like them, I can't fly straight.");
+ next;
+ mesn;
+ if (BaseLevel < 55)
+ mesq l("Well, not like you could understand that with your level! %%a");
+ else
+ mesq l("This is why I love spring!");
+ close;
+
+// ----------------------------------------------------
+// Desert Helmet quest start
+// ----------------------------------------------------
+L_Ask1:
+ mesn;
+ mesq l("Hello @@! Do you have some @@ with you?", strcharinfo(0), getitemlink(TerraniteOre));
+
+ menu
+ rif(countitem(TerraniteOre),l("Yes... right... what about Terranite Ore?")), L_Quest1,
+ rif(countitem(TerraniteOre),l("Yes, but I have grown attached to Terranite Ore...")), L_No,
+ l("Right, but now I have business in other places."), L_Rude;
+ close;
+
+L_Quest1:
+ mesn;
+ mesq l("Terranite Ore is a really special item. People without helmets can't understand @@'s real power, anyway if you could give me some of them you would understand why they are so special.", getitemlink(TerraniteOre));
+
+ menu
+ l("Certainly, you can have all my Terranite Ore."), L_Check1,
+ l("Sorry but I am not interested in that."), L_No;
+ close;
+
+L_No:
+ mesn;
+ mesq l("Ok, come back me when you want to know the @@ real power!", getitemlink(TerraniteOre));
+ close;
+
+L_Rude:
+ mesn;
+ mesq l("Well, good luck with your business.");
+ close;
+
+
+// ----------------------------------------------------
+// Arc 1: Terranite Ores
+// ----------------------------------------------------
+L_Check1:
+ if (countitem(TerraniteOre) < 4)
+ goto L_More_Needed1;
+
+ delitem TerraniteOre, 4;
+ getexp 15000, 150;
+ setq SQuest_Paxel, 1;
+ mesn;
+ mesq l("Perfect! you have enough Terranite Ore, I will take them for now but I need other items in order to bring them to life.");
+ next;
+
+L_Ask2:
+ mesn;
+ mesq l("I need a suitable base helmet, some herbs to use my magical dye, and gold:");
+ mesc l("@@/1 @@", countitem(MinerHat), getitemlink(MinerHat));
+ mesc l("@@/5 @@", countitem(GrassSeeds), getitemlink(GrassSeeds));
+ mesc l("@@/100 @@", countitem(PinkAntenna), getitemlink(PinkAntenna));
+ mesc l("@@/?? @@", countitem(CobaltHerb), getitemlink(CobaltHerb));
+ mesc l("@@/@@ GP", format_number(Zeny), format_number(10000));
+
+ menu
+ l("Please have a look, I have what you asked"), L_Check2,
+ l("On my way to get what you need."), -;
+ close;
+
+
+// ----------------------------------------------------
+// Arc 2: Prsm Helmet
+// ----------------------------------------------------
+L_Check2:
+ if (countitem(PinkAntenna) < 100 || countitem(MinerHat) < 1 || countitem(GrassSeeds) < 5 || countitem(CobaltHerb) < 60)
+ goto L_More_Needed2;
+ if (Zeny < 10000) {
+ mesn;
+ mesq l("You can't afford my work! Do some odd jobs and come back.");
+ close;
+ }
+
+ inventoryplace PrsmHelmet, 1;
+ delitem PinkAntenna, 100;
+ delitem MinerHat, 1;
+ delitem GrassSeeds, 5;
+ delitem CobaltHerb, 60;
+ //delitem TerraniteOre, 20;
+ getexp 60000, 0;
+ getitem PrsmHelmet, 1;
+ setq SQuest_Paxel, 2;
+ mesn;
+ mesq l("There you go, a special and rare @@!", getitemlink(PrsmHelmet));
+ close;
+
+// ----------------------------------------------------
+// Failure: Insufficient material
+// ----------------------------------------------------
+L_More_Needed1:
+ mesn;
+ mesq l("Your @@ is not enough, please look for more.", getitemlink(TerraniteOre));
+ close;
+
+L_More_Needed2:
+ mesn;
+ mesq l("I am sorry but I can see that you don't have all that I asked you.");
+ next;
+ mesn;
+ mesq l("Please bring me that or I won't be able to make something really special for you.");
+ close;
+
+
+// ----------------------------------------------------
+// Quest complete
+// ----------------------------------------------------
+L_Done:
+ mesn;
+ mesq l("Hello winged friend! How is the wind today?");
+
+ menu
+ rif(season() == SPRING || $@GM_OVERRIDE, l("It's spring, when the wind is always good.")), L_Spring,
+ l("Calm, perfect for a fly!"), L_Fly,
+ l("Gale, not good to fly."), L_Wind2;
+ close;
+
+L_Fly:
+ mesn;
+ mesq l("Haha yes, you are right!");
+ close;
+
+L_Wind2:
+ mesn;
+ mesq l("Yep, I never fly in these days.");
+ close;
+
+// TODO: Maybe we can add something else here
+L_Spring:
+ mesn;
+ mesq l("Hahah, good to hear! Do you know some items are only dropped on spring? You should go after them!");
+ close;
+
+// Saulc/Omatt/Prsm minigame
+OnTouch:
+ if (BaseLevel < 20)
+ {
+ die(); // Shouldn't be here
+ end;
+ }
+ addtimer(100, "Paxel::OnOmattizator");
+ end;
+
+OnOmattizator:
+ if (!isin("017-1", 131, 22, 0))
+ end;
+ if (!issit())
+ {
+ addtimer(100, "Paxel::OnOmattizator");
+ end;
+ }
+ npctalk3 l("Unsit me at once!");
+ emotion E_FURIOUS;
+ addtimer(3000, "Paxel::OnOmattizator2");
+ end;
+
+OnOmattizator2:
+ if (!isin("017-1", 131, 22, 0))
+ end;
+ if (!issit())
+ {
+ addtimer(100, "Paxel::OnOmattizator");
+ end;
+ }
+ npctalk3 l("Unsit me OR I'LL KILL YOU in name of my father, Prsm!");
+ emotion E_FURIOUS;
+ addtimer(3000, "Paxel::OnOmattizator3");
+ end;
+
+OnOmattizator3:
+ if (!isin("017-1", 131, 22, 0))
+ end;
+ if (!issit())
+ {
+ addtimer(100, "Paxel::OnOmattizator");
+ end;
+ }
+ npctalk3 l("I HAVE WARNED YOU!!!!!");
+ emotion E_FURIOUS;
+ addtimer(3000, "Paxel::OnOmattizator4");
+ end;
+
+OnOmattizator4:
+ if (!isin("017-1", 131, 22, 0))
+ end;
+ if (!issit())
+ {
+ addtimer(100, "Paxel::OnOmattizator");
+ end;
+ }
+ RegEasterEgg(EE_PRSM, 3);
+ npctalk3 l("DIE!");
+
+ slide 130, 23;
+ emotion E_FURIOUS;
+ die();
+ end;
+
+function maybeTowel {
+ return (gettime(GETTIME_MONTH) % 3 == 2 && gettime(GETTIME_DAYOFMONTH) >= 18 && gettime(GETTIME_DAYOFMONTH) <= 25);
+}
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, PrsmHelmet);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, WarlordPlate);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ setunitdata(.@npcId, UDT_WEAPON, JeansChaps);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 24);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 14);
+
+ .sex=G_MALE;
+ .distance=5;
+ end;
+
+}
diff --git a/npc/017-1/pet_detective.txt b/npc/017-1/pet_detective.txt
new file mode 100644
index 0000000..388df8a
--- /dev/null
+++ b/npc/017-1/pet_detective.txt
@@ -0,0 +1,139 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Sell pets (LoFQuest_Pets) (mesn Ace Ventura)
+
+017-1,192,23,0 script Pet Detective NPC_PET_TAMER,{
+ // Not registered
+ .@q=getq(LoFQuest_Pets);
+ if (!.@q)
+ goto L_Register;
+
+ // Out Of Stock
+ if (.stock <= 0)
+ goto L_OutOfStock;
+
+ // Normal
+ goto L_Menu;
+
+L_Register:
+ mesn l("Ace Ventura");
+ mesq l("I investigate missing pets. Many flee from their owners because they die pathetically or forgot to feed them.");
+ next;
+ mesn l("Ace Ventura");
+ mesq l("If they at least read the @@, they wouldn't have such problems.", getitemlink(PetcaringGuide));
+ mesq l("The Pet Caring Guild will collect them after a while, and capture many others.");
+ next;
+ mesn l("Ace Ventura");
+ mesq l("So, what do you say about a deal? I'll affiliate you on the Pet Caring Guild for only 5.000 GP!");
+ if (Zeny < 5000)
+ close;
+ next;
+ if (askyesno() == ASK_NO)
+ close;
+ mes "";
+ if (Zeny < 5000) {
+ mesn l("Ace Ventura");
+ mesq l("Oh, but we are affiliated with Jesusalva, whom hates cheaters. So, meet your dismissal!");
+ die();
+ /*
+ .@val=(Zeny/10)*2;
+ Zeny=(Zeny/10)*8; // You pay 20% of your GP as tax-money. Hasan gladly takes the money. Jesusalva's happy.
+ $HASAN_GP+=.@val;
+ */
+ close;
+ }
+ Zeny=Zeny-5000;
+ getexp 0, 500;
+ setq LoFQuest_Pets, 1;
+ setarray PETMEMO, 0, 0;
+ mesn l("Ace Ventura");
+ mesq l("Congrats! You are now part from the Pet Caring Guild. You can now buy pets! %%G");
+ close;
+
+L_Menu:
+ mesn l("Ace Ventura");
+ mesq l("I currently have some pets with me. For most, you need to finish their Grand Hunter Quest, of course.");
+ mes "";
+ mesc l("Note: some pets still weren't implemented!");
+ mesc l("If you unlock a pet but it is missing on this list, this means nobody elese unlocked them yet."), 1;
+ mesc l("So, you are the first and must contact Jesusalva %%g"), 1;
+ mes "";
+ select
+ rif(PDQ_CheckGHQ(Maggot) >= 10000 && !countitem(MaggotCocoon), l("Cute Maggot")),
+ rif(PDQ_CheckGHQ(ForestMushroom) >= 10000 && !countitem(ForestShroomEgg), l("Forest Mushroom")),
+ rif(PDQ_CheckGHQ(Fluffy) >= 10000 && !countitem(FluffyEgg), l("Commmon Fluffy")),
+ rif(PDQ_CheckGHQ(Duck) >= 10000 && !countitem(DuckEgg), l("Duck")),
+ rif(PDQ_CheckGHQ(Bat) >= 10000 && !countitem(BatEgg), l("Bat")),
+ rif(PDQ_CheckGHQ(Moggun) >= 10000 && !countitem(MoggunEgg), l("Moggun")),
+ rif(PDQ_CheckGHQ(GreenDragon) >= 10000 && !countitem(DragonHorn), l("Green Dragon")),
+ rif(PDQ_CheckGHQ(Snake) >= 10000 && !countitem(TamedSnakeEgg), l("Tamed Snake")),
+ rif(#LOGIN_ALLTIME >= 6 && !countitem(PiouEgg), l("Piou")),
+ l("Nothing at the moment.");
+
+ mes "";
+ switch (@menu) {
+ case 1:
+ if (PDQ_InnerSwitch(Maggot, MaggotSlime, 35))
+ .stock-=1;
+ break;
+ case 2:
+ if (PDQ_InnerSwitch(ForestMushroom, MushroomSpores, 30))
+ .stock-=1;
+ break;
+ case 3:
+ if (PDQ_InnerSwitch(Fluffy, WhiteFur, 80))
+ .stock-=1;
+ break;
+ case 4:
+ if (PDQ_InnerSwitch(Duck, CommonCarp, 4))
+ .stock-=1;
+ break;
+ case 5:
+ if (PDQ_InnerSwitch(Bat, BatWing, 80))
+ .stock-=1;
+ break;
+ case 6:
+ if (PDQ_InnerSwitch(Moggun, WhiteFur, 120))
+ .stock-=1;
+ break;
+ case 7:
+ if (PDQ_InnerSwitch(GreenDragon, DragonScales, 65))
+ .stock-=1;
+ break;
+ case 8:
+ if (PDQ_InnerSwitch(Snake, SnakeTongue, 17))
+ .stock-=1;
+ break;
+ case 9:
+ if (PDQ_InnerSwitch(Piou, PiouFeathers, 80))
+ .stock-=1;
+ break;
+ default:
+ closedialog;
+ goodbye;
+ close;
+ }
+
+ next;
+ goto L_Menu;
+
+L_OutOfStock:
+ mesn l("Ace Ventura");
+ mesq l("Sorry, I don't have any pets at the moment.");
+ close;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ .stock=1;
+ end;
+
+OnSun0000:
+OnWed1200:
+ .stock+=2;
+ end;
+}
+
diff --git a/npc/017-1/roger.txt b/npc/017-1/roger.txt
new file mode 100644
index 0000000..7514d11
--- /dev/null
+++ b/npc/017-1/roger.txt
@@ -0,0 +1,183 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Part of George quest.
+// PS. (96,120) save these coordinates
+
+017-1,68,87,0 script Roger NPC_JOURNALMAN,{
+ .@q=getq(LoFQuest_George);
+ mesn;
+ mesq l("Paper! Paper! Get your copy of The Land of Fire Gazette here!");
+ next;
+ mesn;
+ mesq l("Hello @@, may I interest you in a copy of the Gazette? It's only 1 GP!", strcharinfo(0));
+ next;
+ menu
+ l("Yes, please."), L_GetRead,
+ l("No, thank you, kid."), L_TooBad,
+ l("Do you have anything else to read?"), L_ExtraRead;
+
+L_GetRead:
+ mesn;
+ mesq l("Let me see.....");
+ next;
+ if (.@q == 5)
+ goto L_LOF_NEWS;
+ mesq l("Oh yes, here you go, that will be 1 GP.");
+ if (Zeny < 1)
+ goto L_Poor;
+ Zeny = (Zeny-1);
+ mesc l("You are handed the Land of Fire Gazette. You look at the headline...");
+ if (!getskilllv(TMW2_ANCIENTLANGUAGES)) {
+ mesc l("...but it is written in Mananese, a language you know nothing about.");
+ } else {
+ mesc l("...but it is saying some stuff about a merge which happened literally eons ago.");
+ }
+ next;
+ mesc l("You toss the paper in the trash.");
+ close;
+
+L_TooBad:
+ mesn;
+ mesq l("Too bad, There is some really good news this week. Things like how to go to Candor for free.");
+ mesq l("And a special coupon section to get rare items for little or no money!");
+ next;
+ menu
+ l("I changed my mind, I think I would like a copy!"), L_GetRead,
+ l("That's ok, kid... I can't read, anyway."), L_TooBadTwo;
+
+L_TooBadTwo:
+ mesn;
+ mesq l("Too bad, you're really missing out!");
+ close;
+
+L_ExtraRead:
+ mesn;
+ mesq l("Now that you ask....");
+ next;
+ if (.@q == 5)
+ goto L_MadMag;
+ mesn;
+ mesq l("I might be able to get you a rare copy of the Maritime Almanac Scroll. A yearly publication for seafaring men.");
+ mesq l("It is very hard to come by, however, my father has a copy he might sell to you for the right price.");
+ menu
+ l("I will trade you a Dagger and Sailor's Hat for it."), L_BadOffer1,
+ l("I will pay you 5,000 GP in pure gold for it!"), L_BadOffer2,
+ l("I can give you a rare...(cough, cough).. Mouboo Figurine for it."), L_Success,
+ l("I have no interest in things such as that."), -;
+ close;
+
+L_Success:
+ .@q2=getq2(LoFQuest_George);
+ if (.@q2 == 1)
+ goto L_HaveScroll;
+ if (countitem(MoubooFigurine) < 1)
+ goto L_NoMouboo;
+ if (countitem(SailorHat) == 0)
+ goto L_StatNone;
+ mesn;
+ mesq l("This is great! My collection of rare figurines is now complete.");
+ next;
+ mesn;
+ mesq l("I asked my father and he agreed to trade it to you, so here is the last copy of the Maritime Almanac Scroll.");
+ inventoryplace Almanac, 1;
+ delitem MoubooFigurine, 1;
+ getitembound Almanac, 1, 1;
+ setq2 LoFQuest_George, 1;
+ close;
+
+L_BadOffer1:
+ mesn;
+ mesq l("Wow, a Dagger and a Sailor's Hat!");
+ next;
+ mesn;
+ mesq l("Although I really want the Sailor's Hat, but daggers are dangerous for kids to play with.");
+ mesq l("Besides that, do I look like a warrior to you? Why would you give a kid a sharp dagger?");
+ close;
+
+L_BadOffer2:
+ mesn;
+ mesq l("5000 GP? That sure is a lot of gold...");
+ mesq l("but I was hoping for something more valuable. No, thanks.");
+ close;
+
+L_NoMouboo:
+ mesn;
+ mesq l("You said you would trade a real Mouboo Figurine, but now I see you don't have one. Come back when you do.");
+ close;
+
+L_StatNone:
+ mesq l("You might have the Mouboo Figurine, but I don't trust everyone.");
+ if(.@q >= 3)
+ goto L_ShowHat;
+ mesq l("My friend George is much older than I am, go see him and if he trusts you, so will I.");
+ if (.@q < 2)
+ setq LoFQuest_George, 1;
+ close;
+
+L_ShowHat:
+ mesn;
+ mesq l("I heard you have met my good friend George, and you gave him some items that he needed...");
+ next;
+ mesn;
+ mesq l("Didn't he give you anything?");
+ next;
+ mesn;
+ mesq l("If you could show me what he gave you, I might trust you.");
+ close;
+
+L_MadMag:
+ /*
+ mesn;
+ mesq l("I have my favorite book of all times, Moby Dick. Let me read some of it to you....");
+ next;
+ mesc l("Roger begins to read.");
+ mesn;
+ mesq l("Towards thee I roll, thou all-destroying but unconquering whale; to the last I grapple with thee; from hell’s heart I stab at thee; for hate’s sake I spit my last breath at thee. Sink all coffins and all hearses to one common pool! And since neither can be mine, let me then tow to pieces, while still chasing thee, though tied to thee, thou damned whale! Thus, I give up the spear!"); // SORRY TRANSLATORS
+ next;
+ mesn;
+ mesq l("I don't really understand it either, but it's not for sale. Maybe you could come back later so I can read more of it to you.");
+ next;
+ */
+ Journalman(.name$);
+ // >> Will never go past this line
+ mesn;
+ mesq l("Have a nice day!");
+ close;
+
+L_Poor:
+ mesn;
+ mesq l("You don't seem to have enough gold, not even 1 GP...you should really let go of some useless stuff on your inventory.");
+ close;
+
+L_LOF_NEWS:
+ mesn;
+ mesc l("Well I see that you have completed the George Quest!");
+ mesc l("I am actually surprised you clicked me again. Well then, here's the Land of Fire News...");
+ next;
+ mesc l("As you may know, LOF ran on a modified version of The Mana World game, before being merged on TMW2: Moubootaur Legends.");
+ mesc l("However, LoF admins and developers are working on a new game to offer a new experience for players.");
+ next;
+ mesc l("The project is involving only a small group of members, but would welcome anyone who knows how to assist in development.");
+ mesc l("You can always come to #devel on our Discord, or drop by #landoffire on IRC.");
+ next;
+ mesc l("You can also visit our website. And if you want to assist on this server (TMW2: ML), you're welcome too!");
+ mesc l("Oh, and about the Candor travel for 200 GP... Which would be a rare for little or no gold... Well, that's just an attention grabber.");
+ next;
+ mesc l("BUT you can reduce the travel price to everywhere, to as low as 250 GP, by completing QUESTS!");
+ mesc l("And some from the Grand Hunter Quests give you @@, which can be traded with the travelers for rares! Good luck!", getitemlink(StrangeCoin));
+ close;
+
+L_HaveScroll:
+ mesn;
+ mesq l("Looks like I already gave you the Maritime Almanac Scroll. You need to go see George again. I am unable to get another copy for you.");
+ close;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/017-1/shops.txt b/npc/017-1/shops.txt
new file mode 100644
index 0000000..ac5affe
--- /dev/null
+++ b/npc/017-1/shops.txt
@@ -0,0 +1,112 @@
+// TMW2/LoF scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Random Sellers
+
+017-1,158,184,0 script Billy NPC_M_SHOPKEEPER,{
+ npcshopattach(.name$);
+ shop .name$;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, any(ShortTankTop, CandorShirt, Chainmail));
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 10);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 9);
+
+ .sex = G_MALE;
+ .distance = 4;
+ sleep(SHOPWAIT);
+ tradertype(NST_MARKET);
+
+ sellitem LOFCoin, -1, 1;
+ sellitem YellowDye, -1, 1;
+ sellitem CottonCloth, -1, 3;
+ sellitem ArrowAmmoBox, -1, 5;
+ sellitem Bullet, -1, 2000;
+ if (!rand2(4))
+ sellitem OolongTea, getiteminfo(OolongTea, ITEMINFO_BUYPRICE)*15/10, rand2(1,3);
+ sellitem WoodenShield, -1, 1;
+ sellitem LeatherShirt, -1, 1;
+ end;
+
+OnClock1250:
+ restoreshopitem WoodenShield, 1;
+ restoreshopitem LeatherShirt, 1;
+OnClock0112:
+ restoreshopitem LOFCoin, -1, 1;
+ restoreshopitem YellowDye, -1, 1;
+ restoreshopitem CottonCloth, -1, 3;
+ restoreshopitem ArrowAmmoBox, -1, 5;
+ restoreshopitem Bullet, -1, 2000;
+ if (!rand2(4))
+ restoreshopitem OolongTea, getiteminfo(OolongTea, ITEMINFO_BUYPRICE)*15/10, rand2(1,3);
+ end;
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+
+}
+
+// Anagram for 'Demure'.
+// Sells wands and ammo (therefore, not demure, who plays speed-melee, unless she have a secret shop quest)
+017-1,135,185,0 script Drueme NPC_F_SHOPKEEPER,{
+ npcshopattach(.name$);
+ shop .name$;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, any(ShortTankTop, CandorShirt, Chainmail));
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 10);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 9);
+
+ .sex = G_FEMALE;
+ .distance = 4;
+ sleep(SHOPWAIT);
+ tradertype(NST_MARKET);
+
+ sellitem TrainingWand, -1, 3;
+ sellitem NoviceWand, -1, 2;
+ restoreshopitem ArrowAmmoBox, -1, 5;
+ restoreshopitem IronAmmoBox, -1, 2;
+ restoreshopitem Bullet, -1, 5000;
+ end;
+
+OnSun0346:
+ restoreshopitem TrainingWand, -1, 3;
+ restoreshopitem NoviceWand, -1, 2;
+OnClock0848:
+OnClock2023:
+ restoreshopitem ArrowAmmoBox, -1, 5;
+ restoreshopitem IronAmmoBox, -1, 2;
+ restoreshopitem Bullet, -1, 5000;
+ end;
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+
+}
diff --git a/npc/017-1/signs.txt b/npc/017-1/signs.txt
new file mode 100644
index 0000000..cbedf30
--- /dev/null
+++ b/npc/017-1/signs.txt
@@ -0,0 +1,106 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Easier navigation on LoF Village
+
+// Main Signs
+017-1,71,96,0 script Northwest Avenue#lof NPC_NO_SPRITE,{
+ mesn;
+ mesc "↑ "+l("Unused House");
+ mesc "→ "+l("Northeast Avenue");
+ mesc "↓ "+l("Inn, Dimond's Cove");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
+
+017-1,114,96,0 script Northeast Avenue#lof NPC_NO_SPRITE,{
+ mesn;
+ mesc "↑ "+l("Houses, Exit");
+ mesc "↠"+l("Northwest Avenue");
+ mesc "→ "+l("Tech-User Forge");
+ mesc "↓ "+l("Unused House, Market");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
+
+017-1,114,147,0 script Southeast Avenue#lof NPC_NO_SPRITE,{
+ mesn;
+ mesc "↑ "+l("↑ Houses, Soul Menhir");
+ mesc "↠"+l("Dimond's Cove");
+ mesc "→ "+l("Market Place");
+ mesc "↓ "+l("Houses, Lake Of Tears");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
+
+
+
+017-1,71,147,0 script Southwest Avenue#lof NPC_NO_SPRITE,{
+ mesn;
+ mesc "↑ "+l("Inn, Houses, Northwest Avenue");
+ mesc "↠"+l("Alchemy Shop");
+ mesc "→ "+l("Market Place");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
+
+// Misc signs
+017-1,71,110,0 script West Avenue#lof NPC_NO_SPRITE,{
+ mesn;
+ mesc "↑ "+l("Northwest Avenue");
+ mesc "↠"+l("Fire Breath Inn");
+ mesc "↓ "+l("Southwest Avenue");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
+017-1,114,63,0 script North Avenue#lof NPC_NO_SPRITE,{
+ mesn;
+ mesc "→ "+l("Dead End");
+ mesc "↓ "+l("Northeast Avenue");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
+017-1,212,67,0 script Signpost#lof NPC_NO_SPRITE,{
+ mesn;
+ mesc "↑ "+l("↑ Town Hall, Noble District");
+ mesc "↠"+l("Land Of Fire Village");
+ mesc "↓ "+l("Transcendence Gate");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+
diff --git a/npc/017-1/soul-menhir.txt b/npc/017-1/soul-menhir.txt
new file mode 100644
index 0000000..74ad4f6
--- /dev/null
+++ b/npc/017-1/soul-menhir.txt
@@ -0,0 +1,20 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Soul Menhir
+
+017-1,120,86,0 script Soul Menhir#lof NPC_SOUL_OLD,{
+ @map$ = "017-1";
+ setarray @Xs, 119, 120, 121, 119, 120, 121;
+ setarray @Ys, 87, 88, 87, 88, 87, 88;
+ @x = 0;
+ @y = 0;
+ callfunc "SoulMenhir";
+ @map$ = "";
+ cleararray @Xs[0], 0, getarraysize(@Xs);
+ cleararray @Ys[0], 0, getarraysize(@Ys);
+ @x = 0;
+ @y = 0;
+ close;
+}
diff --git a/npc/017-1/stranger.txt b/npc/017-1/stranger.txt
new file mode 100644
index 0000000..c60e988
--- /dev/null
+++ b/npc/017-1/stranger.txt
@@ -0,0 +1,184 @@
+// TMW2/LoF scripts.
+// Authors:
+// var
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Special quest, can be done every three months, on days 18~25.
+// Months: February, May, August, November
+
+017-1,44,37,0 script Stranger#LoF NPC_LOF_STRANGER,{
+ if (!$@GM_OVERRIDE && (gettime(GETTIME_MONTH) % 3 != 2 || (gettime(GETTIME_DAYOFMONTH) < 18 && gettime(GETTIME_DAYOFMONTH) > 25))) {
+ dispbottom l("An error with Stranger#LoF happened! Please report!!");
+ disablenpc .name$;
+ end;
+ }
+
+ .@q=getq(LoFQuest_Hitchhiker);
+ if (.@q == 2) goto L_Complete;
+ if (.@q == 1) goto L_Quizz;
+ mesn;
+ mesq l("Hello, hello! It's great to see you. Maybe you can help me with a little problem I have.");
+ next;
+ mesn;
+ mesq l("I need some materials to repair my spacesh- ahm, it's not important why I need it."); // Translators: Spacesh(ip)
+ next;
+ mesn;
+ mesq l("Anyway, I'd be really happy if you could give me @@ @@, @@ @@, @@ @@ and @@ @@.",
+ 100, getitemlink(Chagashroom),
+ 3, getitemlink(FluoPowder),
+ 1, getitemlink(TinIngot),
+ 1, getitemlink(TitaniumIngot));
+
+ if (countitem(Chagashroom) < 100 ||
+ countitem(FluoPowder) < 3 ||
+ countitem(TinIngot) < 1 ||
+ countitem(TitaniumIngot) < 1)
+ close;
+ next;
+ mesn;
+ mesq l("Do you have that for me?");
+ if (askyesno() == ASK_NO)
+ close;
+ mes "";
+ // We already checked, cheaters will have their inventory ripped apart and I don't care ~ Jesusalva
+ delitem Chagashroom, 100;
+ delitem FluoPowder, 3;
+ delitem TinIngot, 1;
+ delitem TitaniumIngot, 1;
+ getexp (BaseLevel**2)*5, JobLevel*2;
+ setq LoFQuest_Hitchhiker, 1;
+ mesn;
+ mesq l("Great! Thank you!");
+ next;
+ mesn;
+ mesq l("I have a lot of work to do now. But before you leave...");
+ goto L_Quizz;
+
+L_Quizz:
+ inventoryplace OldTowel, 1;
+ mesn;
+ mesq l("Did you knew May 25th it is a very special day - the Towel Day?");
+ next;
+ mesn;
+ mesq l("To celebrate this I'll ask you some questions about my favourite book, The Hitchhiker's Guide to the Galaxy. If you can answer them, I'll give you something very useful.");
+ next;
+ mesn;
+ mesq l("The answers might need to have whitespaces. DO NOT, BY ALL MEANS, insert two whitespaces instead of one.");
+ mesq l("I'll get so mad at you that even if you are correct, I'll say otherwise. Also, mind special characters.");
+ mesq l("If I don't know the answer in your language, try answering in English. That always works.");
+ mesc l("Are you ready?"), 1;
+ mesc l("There's no time limit on this riddle.");
+ next;
+ if (askyesno() == ASK_NO)
+ close;
+ goto L_Easy;
+
+L_Easy:
+ mes "";
+ mesn;
+ mesq l("The first one is easy.");
+ next;
+ mes "";
+ if (0171_Stranger_BlackBox(EASY))
+ goto L_Medium;
+ else
+ goto L_Fail;
+
+L_Medium:
+ mes "";
+ mesn;
+ mesq l("You're absolutely right. The next one will be more tricky.");
+ next;
+ mes "";
+ if (0171_Stranger_BlackBox(MEDIUM))
+ goto L_Hard;
+ else
+ goto L_Fail;
+
+L_Hard:
+ mes "";
+ mesn;
+ mesq l("Not bad, not bad. Let's see if you can answer an even more difficult one.");
+ next;
+ mes "";
+ if (0171_Stranger_BlackBox(HARD))
+ goto L_Reward;
+ else
+ goto L_Fail;
+
+
+// Failure
+L_Fail:
+ mes "";
+ mesn;
+ if (rand2(1,2) == 1) {
+ mesq l("Sorry, but that's not right.");
+ next;
+ mesn;
+ mesq l("Come try again, some other time.");
+ } else {
+ mesq l("Nah, that's wrong. Come back if you want to try again.");
+ }
+ mesc l("If you are sure your answer is correct, please contact Jesusalva for bug fixing.");
+ close;
+
+// Reward
+L_Reward:
+ mes "";
+ mesn;
+ mesq l("Unbelievable! You're really a wise person.");
+ next;
+ mesn;
+ mesq l("One last question, but this shouldn't be a problem for you.");
+ next;
+ mesn;
+ mesq l("What is the most important item for every hitchhiker to have?");
+ input .@answer$;
+ if (strip(strtolower(.@answer$)) != "towel" && strip(strtolower(.@answer$)) != l("towel"))
+ goto L_Fail;
+ mes "";
+ mesn;
+ mesq l("There you are! A towel is really the most important item for a hitchhiker to have.");
+
+ getitem OldTowel, 1;
+ // If you complete the quest in May, you get 50% more experience
+ if (gettime(GETTIME_MONTH) == MAY)
+ getexp JobLevel*BaseLevel*3/2, BaseLevel*3;
+ else
+ getexp JobLevel*BaseLevel, BaseLevel*2;
+ setq LoFQuest_Hitchhiker, 2;
+ next;
+ mesn;
+ mesq l("It really comes in handy that I have my towel with me. A towel is about the most massively useful thing an inte- ahm, a person can have.");
+ close;
+
+// TODO: Enable another quest after main quest has been completed
+// TODO: Completing sub quest on May shall give better bonus (gettime(GETTIME_MONTH) == MAY)
+// TODO: Keep your Towel well guarded; It can only be obtained once and is required in further quests.
+L_Complete:
+ mesn;
+ mesq l("I have a lot of work to do now.");
+ if (rand2(3) == 2) {
+ next;
+ mesn;
+ mesq l("Annoying Paxel, for example %%o");
+ }
+ close;
+
+// Proccessing Core
+OnInit:
+ .sex=G_OTHER;
+ .distance=5;
+OnClock0000:
+ if (gettime(GETTIME_MONTH) % 3 == 2) {
+ if (gettime(GETTIME_DAYOFMONTH) >= 18 && gettime(GETTIME_DAYOFMONTH) <= 25) {
+ enablenpc .name$;
+ end;
+ }
+ }
+ disablenpc .name$;
+ end;
+
+}
+
diff --git a/npc/017-1/town.txt b/npc/017-1/town.txt
new file mode 100644
index 0000000..9856b71
--- /dev/null
+++ b/npc/017-1/town.txt
@@ -0,0 +1,10 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Reset LOCATION$ when entering a town
+
+017-1,104,103,0 script #LocLoF NPC_HIDDEN,2,2,{
+OnTouch:
+ EnterTown("LoF"); end;
+}
diff --git a/npc/017-1/townhall.txt b/npc/017-1/townhall.txt
new file mode 100644
index 0000000..4251629
--- /dev/null
+++ b/npc/017-1/townhall.txt
@@ -0,0 +1,116 @@
+// TMW2/LoF scripts.
+// Authors:
+// Jesusalva
+// Description:
+// LoF Townhall Access Control
+
+017-1,180,20,0 script #LoF_Townhall01 NPC_NO_SPRITE,0,0,{
+ end;
+
+OnTouch:
+ // Sponsor and Main Quest 17+ - access granted
+ .@q=getq(General_Narrator);
+ if (.@q >= 17 || getgmlevel()) {
+ warp "017-10", 56, 78;
+ } else {
+ npctalkonce l("The door is locked, I should come back later.");
+ }
+ end;
+
+}
+
+017-1,182,20,0 script #LoF_Townhall02 NPC_NO_SPRITE,0,0,{
+ end;
+
+OnTouch:
+ // Sponsor and Main Quest 17+ - access granted
+ .@q=getq(General_Narrator);
+ if (.@q >= 17 || getgmlevel()) {
+ warp "017-10", 60, 78;
+ } else {
+ npctalkonce l("The door is locked, I should come back later.");
+ }
+ end;
+}
+
+017-1,171,20,0 script #LoF_Townhall03 NPC_NO_SPRITE,0,0,{
+ end;
+
+OnTouch:
+ // Sponsor and Main Quest 17+ - access granted
+ .@q=getq(General_Narrator);
+ if (.@q >= 17 || getgmlevel()) {
+ warp "017-10", 36, 78;
+ } else {
+ npctalkonce l("The door is locked, I should come back later.");
+ }
+ end;
+}
+
+017-1,190,20,0 script #LoF_Townhall04 NPC_NO_SPRITE,0,0,{
+ end;
+
+OnTouch:
+ // Sponsor and Main Quest 17+ - access granted
+ .@q=getq(General_Narrator);
+ if (.@q >= 17 || getgmlevel()) {
+ warp "017-10", 80, 78;
+ } else {
+ npctalkonce l("The door is locked, I should come back later.");
+ }
+ end;
+}
+/////////////////////////////
+// Main Quest 6
+// LoF Arc
+/////////////////
+// Check instances and rebuild if needed
+// Returns map name
+// BarbaraInstCheck( {submap=mines} )
+// 0- Chamber ; 1 - Mines ; 2 - Hall ; 3 - Shrine
+function script BarbaraInstCheck {
+ .@house=getarg(0, true);
+
+ .@q2=getq2(LoFQuest_Barbara);
+ // Map name limit: 4 chars (sgt1)
+ .@map0$="brb0@"+getcharid(0);
+ .@map1$="brb1@"+getcharid(0);
+ .@map2$="brb2@"+getcharid(0);
+ .@map3$="brb3@"+getcharid(0);
+ if (!(isinstance(.@q2) && .@q2 != 0)) {
+ .@inst = instance_create("Forgotten Shrine "+getcharid(0), getcharid(3), IOT_CHAR);
+ instance_attachmap("018-6-0", .@inst, false, .@map0$);
+ instance_attachmap("018-6-1", .@inst, false, .@map1$);
+ instance_attachmap("018-6-2", .@inst, false, .@map2$);
+ instance_attachmap("018-6-3", .@inst, false, .@map3$);
+ // Instance lasts two hours
+ instance_set_timeout(7200, 7200, .@inst);
+ instance_init(.@inst);
+ setq2 LoFQuest_Barbara, .@inst;
+ }
+
+ // It broke
+ if (getmapinfo(MAPINFO_SIZE_X, .@map1$) <= 0) {
+ setq2 LoFQuest_Barbara, 0;
+ // Infinite Loop?
+ return callfunc("BarbaraInstCheck", .@house);
+ }
+
+ // Return map name
+ return getd(".@map"+.@house+"$");
+}
+
+017-1,32,44,0 script #LoF_EleniumMines NPC_NO_SPRITE,0,0,{
+ end;
+
+OnTouch:
+ .@q=getq(LoFQuest_Barbara);
+ if (.@q >= 1) {
+ addmapmask BarbaraInstCheck(1), 2;
+ warp BarbaraInstCheck(1), 80, 199;
+ } else {
+ warp "018-6-1", 80, 199;
+ }
+ end;
+}
+
diff --git a/npc/017-1/wateranimation.txt b/npc/017-1/wateranimation.txt
new file mode 100644
index 0000000..802b154
--- /dev/null
+++ b/npc/017-1/wateranimation.txt
@@ -0,0 +1,24 @@
+// TMW2 scripts.
+// Author:
+// gumi
+// Reid
+// Saulc
+// Jesusalva
+// Description:
+// Water animations, splash, fishes, etc...
+
+017-1,109,223,0 script #Lof_WAM0 NPC_WATER_SPLASH,{
+
+ fishing; // begin or continue fishing
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
+
+017-1,97,133,0 duplicate(#Lof_WAM0) #Lof_WAM1 NPC_WATER_SPLASH
+017-1,88,130,0 duplicate(#Lof_WAM0) #Lof_WAM2 NPC_WATER_SPLASH
+017-1,81,126,0 duplicate(#Lof_WAM0) #Lof_WAM3 NPC_WATER_SPLASH
+
diff --git a/npc/017-10/_import.txt b/npc/017-10/_import.txt
new file mode 100644
index 0000000..a17ef5e
--- /dev/null
+++ b/npc/017-10/_import.txt
@@ -0,0 +1,8 @@
+// Map 017-10: LoF Townhall
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/017-10/_warps.txt",
+"npc/017-10/airship.txt",
+"npc/017-10/dispatcher.txt",
+"npc/017-10/kenton.txt",
+"npc/017-10/politics.txt",
+"npc/017-10/vault.txt",
diff --git a/npc/017-10/_warps.txt b/npc/017-10/_warps.txt
new file mode 100644
index 0000000..b4d6087
--- /dev/null
+++ b/npc/017-10/_warps.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 017-10: LoF Townhall warps
+017-10,36,79,0 warp #017-10_36_79 0,0,017-1,171,21
+017-10,56,79,0 warp #017-10_56_79 0,0,017-1,180,21
+017-10,60,79,0 warp #017-10_60_79 0,0,017-1,182,21
+017-10,80,79,0 warp #017-10_80_79 0,0,017-1,190,21
diff --git a/npc/017-10/airship.txt b/npc/017-10/airship.txt
new file mode 100644
index 0000000..48851f4
--- /dev/null
+++ b/npc/017-10/airship.txt
@@ -0,0 +1,68 @@
+// TMW-2 Script.
+// Author:
+// Jesusalva
+// Notes:
+// Fortress Island South (Lv 70~150 Area)
+
+017-10,63,22,0 script #ToFortress NPC_NO_SPRITE,1,0,{
+ end;
+OnTouch:
+ .@q=getq(General_Narrator);
+ if (.@q < 20)
+ end;
+
+ mesc l(".:: Fortress Island ::."), 1;
+ mes "";
+ if ($GAME_STORYLINE < 3) {
+ mesc l("Travel to this area is impossible, due to the hordes of Monster Armies."), 1;
+ mes "";
+ mesc l("If only we defeated their generals and put the army in disarray... It would be possible to visit there.");
+ close;
+ }
+ if (BaseLevel < 70) {
+ mesc l("This area is only for level 70 upwards."), 1;
+ close;
+ }
+ mesc l("Do you want to go to Fortress Island, where the Monster King lives?!"), 1;
+ removespecialeffect(FX_CIRCLE, SELF, getcharid(3)); // FIXME :(
+ next;
+ mesc l("WARNING: HIGH LEVEL AREA. COME PREPARED."), 1;
+ mesc l("Note: This travel takes a whole minute to complete!!");
+ mesc l("Note 2: If you leave this plataform, it'll reset!");
+ mesc l("Note 3: All maps in Fortress Island have penalty, even towns!");
+ next;
+ mesc l("BEGIN WARP PROCEDURES?"), 1;
+ if (askyesno() == ASK_YES) {
+ specialeffect FX_CIRCLE, SELF, getcharid(3);
+ addtimer2 70000, "#ToFortress::OnWarper";
+ addtimer2 60000, "#ToFortress::OnNotif";
+ }
+ close;
+
+OnNotif:
+ specialeffect FX_MAGIC, SELF, getcharid(3);
+ dispbottom l("WARPING IN 10 SECONDS");
+ end;
+
+OnWarper:
+ removespecialeffect(FX_CIRCLE, SELF, getcharid(3));
+ if (getmap() != "017-10")
+ end;
+ if (!FORT_1ST_VISIT)
+ FORT_1ST_VISIT = gettimetick(2);
+ warp "025-2", 97, 119;
+ specialeffect FX_SUCCESS, SELF, getcharid(3);
+ dispbottom l("You have arrived at Fortress Island.");
+ end;
+}
+
+017-10,63,28,0 script #ToFortressAbort NPC_NO_SPRITE,5,0,{
+ end;
+OnTouch:
+ removespecialeffect(FX_CIRCLE, SELF, getcharid(3));
+ atcommand("@refresh"); // FIXME :(
+ deltimer "#ToFortress::OnWarper";
+ deltimer "#ToFortress::OnNotif";
+ end;
+}
+
diff --git a/npc/017-10/dispatcher.txt b/npc/017-10/dispatcher.txt
new file mode 100644
index 0000000..b47060d
--- /dev/null
+++ b/npc/017-10/dispatcher.txt
@@ -0,0 +1,411 @@
+// TMW2/LoF scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Deploys an Homunculus in a mission during your offline time
+// Variables
+// HOMUN_DEPLOYDATE
+// When the Homunculus is scheduled to arrive
+// HOMUN_DEPLOYFIELD
+// ID of the field which Homunculus was deployed
+
+017-10,61,34,0 script Erik NPC_JOURNALMAN,{
+ function lootField;
+ mesn;
+ mesq l("Hello. My name is Erik, and I have Homunculus go out in errands in my stead.");
+
+ // If you haven't summoned yet, or killed it...
+ if (!gethominfo(0)) {
+ mesc l("You do not own an Homunculus."), 1;
+ close;
+ }
+
+ // Check what your homunculus is up to
+ switch (homstatus()) {
+ case 0:
+ mesc l("Your homunculus is ready!"), 2;
+ break;
+ case 1:
+ mesc l("Your homunculus is sleeping! Wake them up!"), 3;
+ close;
+ break;
+ case 2:
+ mesc l("Your homunculus is already on a mission!"), 1;
+
+ // Homunculus should return from mission
+ if (gettimetick(2) > HOMUN_DEPLOYDATE) {
+ select
+ l("Recall");
+ .@xp=lootField(HOMUN_DEPLOYFIELD);
+ recallhomunculus();
+ gethomunexp(.@xp);
+ .@lv=gethominfo(6);
+ getexp 0, (.@lv*min(10000, gethominfo(3))/10000)*5;
+ close;
+ }
+ mesc l("It should be back in @@", FuzzyTime(HOMUN_DEPLOYDATE)), 1;
+ close;
+ break;
+ default:
+ Exception("ERROR! homstatus code "+homstatus(), RB_DEFAULT|RB_SPEECH|RB_ISFATAL);
+ break;
+ }
+
+ // This is a bug: They are ready but shouldn't be.
+ if (gettimetick(2) < HOMUN_DEPLOYDATE) {
+ Exception("ERROR: YOU WERE BANNED FROM USING ERIK SERVICES. (might be a bug).", RB_SPEECH|RB_ISFATAL);
+ close;
+ }
+
+L_Main:
+ select
+ l("Deploy to Piou Fields [1h]"),
+ l("Deploy to Herb Fields [1h]"),
+ rif(gethominfo(6) >= 10, l("Deploy to Ore Mines [2h]")),
+ rif(gethominfo(6) >= 10, l("Deploy to Rare Mines [2h]")),
+ rif(gethominfo(6) >= 15, l("Deploy to Slime Nest [2h]")),
+ rif(gethominfo(6) >= 30, l("Deploy to Snake Pit [3h]")),
+ rif(gethominfo(6) >= 55 && $GAME_STORYLINE >= 3, l("Deploy to Dangerous Area [6h]")),
+ rif(gethominfo(6) >= 70 && $GAME_STORYLINE >= 4, l("Deploy to Monster King Basement [8h]")),
+ "",
+ l("Deploy to The Market [1h]"),
+ l("Don't deploy");
+ mes "";
+ // Common drops: At least 90% drop
+ // Rare drops: 5% or less drop rate
+ switch (@menu) {
+ case 1:
+ mesc ".:: " + l("Piou Fields") + " ::.";
+ mesc l("The most basic grinding camp for your homunculus.");
+ mesc l("Average EXP: "+200), 3;
+ mesc l("Common Drops: "+
+ getitemlink(PiouFeathers));
+ mesc l("Regular Drops: "+
+ getitemlink(PiouLegs)+
+ getitemlink(HalfEggshell));
+ mesc l("Rare Drops: "+
+ getitemlink(GoldenApple));
+ next;
+ .@dest=HCD_PIOUFIELDS;
+ .@hours=1;
+ break;
+ case 2:
+ mesc ".:: " + l("Herb Fields") + " ::.";
+ mesc l("If you need more herbs, the best place to look.");
+ mesc l("Average EXP: "+10), 3;
+ mesc l("Common Drops: "+
+ getitemlink(ArtichokeHerb));
+ mesc l("Regular Drops: "+
+ getitemlink(CobaltHerb)+
+ getitemlink(GambogeHerb)+
+ getitemlink(MauveHerb)+
+ getitemlink(AlizarinHerb));
+ mesc l("Rare Drops: "+
+ getitemlink(ReedBundle));
+ next;
+ .@dest=HCD_HERBFIELDS;
+ .@hours=1;
+ break;
+ case 3:
+ mesc ".:: " + l("Ore Mines") + " ::.";
+ mesc l("Send your Homunculus to mineration!");
+ mesc l("Average EXP: "+24), 3;
+ mesc l("Common Drops: "+
+ getitemlink(Coal));
+ mesc l("Regular Drops: "+
+ getitemlink(IronOre)+
+ getitemlink(CopperOre)+
+ getitemlink(SilverOre)+
+ getitemlink(GoldOre));
+ mesc l("Rare Drops: "+
+ getitemlink(TinOre)+
+ getitemlink(LeadOre)+
+ getitemlink(TitaniumOre)+
+ getitemlink(IridiumOre)+
+ getitemlink(PlatinumOre));
+ next;
+ .@dest=HCD_OREMINES;
+ .@hours=2;
+ break;
+ case 4:
+ mesc ".:: " + l("Rare Mines") + " ::.";
+ mesc l("Send your Homunculus to mineration!");
+ mesc l("Average EXP: "+30), 3;
+ mesc l("Common Drops: "+
+ getitemlink(Pearl));
+ mesc l("Regular Drops: "+
+ getitemlink(Diamond)+
+ getitemlink(Ruby)+
+ getitemlink(Emerald)+
+ getitemlink(Sapphire)+
+ getitemlink(Topaz)+
+ getitemlink(Amethyst));
+ mesc l("Rare Drops: "+
+ getitemlink(LightGreenDiamond)+
+ getitemlink(BlackPearl)+
+ getitemlink(BlueManaPearl));
+ next;
+ .@dest=HCD_RAREMINES;
+ .@hours=2;
+ break;
+ case 5:
+ mesc ".:: " + l("Slime Nest") + " ::.";
+ mesc l("Send your Homunculus to a slime nest!");
+ mesc l("Average EXP: "+1600), 3;
+ mesc l("Common Drops: "+
+ getitemlink(MaggotSlime)+
+ getitemlink(Arrow));
+ mesc l("Regular Drops: "+
+ getitemlink(IronArrow)+
+ getitemlink(TreasureKey)+
+ getitemlink(CactusDrink)+
+ getitemlink(CoinBag)+
+ getitemlink(CasinoCoins)+
+ getitemlink(Coal)+
+ getitemlink(Dagger)+
+ getitemlink(Candy)+
+ getitemlink(ChocolateBar));
+ mesc l("Rare Drops: "+
+ getitemlink(Milk)+
+ getitemlink(IcedBottle));
+ next;
+ .@dest=HCD_SLIMENEST;
+ .@hours=2;
+ break;
+ case 6:
+ mesc ".:: " + l("Snake Pit") + " ::.";
+ mesc l("Send your Homunculus to hold off snakes!");
+ mesc l("Average EXP: "+format_number(4500)), 3;
+ mesc l("Common Drops: "+
+ getitemlink(SnakeEgg)+
+ getitemlink(SnakeTongue));
+ mesc l("Regular Drops: "+
+ getitemlink(SnakeSkin));
+ mesc l("Rare Drops: "+
+ getitemlink(JeansShorts)+
+ getitemlink(DivineApple)+
+ getitemlink(Kanabo));
+ next;
+ .@dest=HCD_SNAKEPIT;
+ .@hours=3;
+ break;
+ case 7:
+ mesc ".:: " + l("Dangerous Area") + " ::.";
+ mesc l("Send your Homunculus to loot the Impregnable Fortress!");
+ mesc l("Average EXP: "+format_number(140000)), 3;
+ mesc l("Common Drops: None");
+ mesc l("Regular Drops: "+
+ getitemlink(MoubooSteak)+
+ getitemlink(HastePotion)+
+ getitemlink(StrengthPotion)+
+ getitemlink(SmokeGrenade)+
+ getitemlink(Grenade)+
+ getitemlink(MercBoxA)+
+ getitemlink(AncientBlueprint)+
+ getitemlink(Lockpicks)+
+ getitemlink(StatusResetPotion)+
+ getitemlink(DungeonMap)+
+ getitemlink(TreasureMap));
+ mesc l("Rare Drops: "+
+ getitemlink(MagicApple));
+ next;
+ .@dest=HCD_DANGERAREA;
+ .@hours=6;
+ break;
+ case 8:
+ mesc ".:: " + l("Monster King Basement") + " ::.";
+ mesc l("Send your Homunculus to one of the most dangerous...!");
+ mesc l("Average EXP: "+format_number(1000000)), 3;
+ mesc l("Common Drops: None");
+ mesc l("Regular Drops: "+
+ getitemlink(Curshroom)+
+ getitemlink(HastePotion)+
+ getitemlink(StrengthPotion)+
+ getitemlink(SmokeGrenade)+
+ getitemlink(Grenade)+
+ getitemlink(AncientBlueprint)+
+ getitemlink(DungeonMap)+
+ getitemlink(TreasureMap)+
+ getitemlink(CrazyRum)+
+ getitemlink(MercBoxB));
+ mesc l("Rare Drops: "+
+ getitemlink(WhiskeyAle)+
+ getitemlink(GoldenApple)+
+ getitemlink(DivineApple)+
+ getitemlink(MagicApple));
+ next;
+ .@dest=HCD_MKBASEMENT;
+ .@hours=8;
+ break;
+ case 10:
+ mesc ".:: " + l("The Market") + " ::.";
+ mesc l("Send your Homunculus to make money!");
+ mesc l("Average EXP: "+16), 3;
+ mesc l("Maximum Profit: @@ GP", format_number(.zenycap)), 3;
+ mesc l("Common Drops: "+
+ getitemlink(Piberries));
+ mesc l("Regular Drops: "+
+ getitemlink(Bread)+
+ getitemlink(Cheese)+
+ getitemlink(Beer));
+ mesc l("Rare Drops: "+
+ getitemlink(TreasureMap));
+ next;
+ .@dest=HCD_MARKET;
+ .@hours=1;
+ break;
+ default:
+ close;
+ }
+
+ // Confirmation
+ mesc l("Really deploy your homunculus?"), 1;
+ if (askyesno() == ASK_NO)
+ goto L_Main;
+
+ // Deploy Homunculus (if possible)
+ if (!homstatus() && gethominfo(0)) {
+ deployhomunculus();
+ mesc l("Deployed!"), 2;
+ HOMUN_DEPLOYFIELD=.@dest;
+ HOMUN_DEPLOYDATE=gettimetick(2)+(60*60*.@hours);
+ }
+ close;
+
+// lootField (Field ID)
+// Returns amount of Homunculus EXP to get
+function lootField {
+ // Ensure you have free space
+ inventoryplace Iten, 3, NPCEyes, 9;
+ .@lv=gethominfo(6);
+
+ // Base EXP is based on Homunculus level and intimacy
+ .@val=.@lv*min(10000, gethominfo(3))/10000;
+
+ switch (getarg(0)) {
+ case HCD_PIOUFIELDS:
+ .@val+=200;
+ anyloot(PiouFeathers, .@lv, 10000,
+ PiouLegs, max(1, .@lv/2), 8000,
+ HalfEggshell, .@lv, 6000,
+ GoldenApple, 1, 100);
+ break;
+ case HCD_HERBFIELDS:
+ .@val+=10;
+ anyloot(ArtichokeHerb, .@lv, 10000,
+ CobaltHerb, max(1, .@lv/2), 6000,
+ GambogeHerb, max(1, .@lv/2), 6000,
+ MauveHerb, max(1, .@lv/2), 6000,
+ AlizarinHerb, max(1, .@lv/2), 6000,
+ ShadowHerb, max(1, .@lv/3), 4000,
+ ReedBundle, 2, 800);
+ break;
+ case HCD_OREMINES:
+ .@val+=24;
+ anyloot(Coal, .@lv, 9999,
+ IronOre, max(1, .@lv/2), 2000,
+ CopperOre, max(1, .@lv/2), 1000,
+ SilverOre, max(1, .@lv/3), 700,
+ GoldOre, max(1, .@lv/4), 450,
+ TinOre, max(1, .@lv/5), 350,
+ LeadOre, max(1, .@lv/6), 300,
+ TitaniumOre, max(1, .@lv/8), 100,
+ (REBIRTH ? IridiumOre : TitaniumOre), max(1, .@lv/10), 80,
+ (REBIRTH ? PlatinumOre : IridiumOre), 1, 20);
+ break;
+ case HCD_RAREMINES:
+ .@val+=30;
+ anyloot(Pearl, 1, 9999,
+ Diamond, limit(1, .@lv/2, 3), 2000,
+ Ruby, limit(1, .@lv/2, 3), 1700,
+ Emerald, limit(1, .@lv/2, 3), 1400,
+ Sapphire, limit(1, .@lv/2, 3), 1100,
+ Topaz, limit(1, .@lv/2, 3), 800,
+ Amethyst, limit(1, .@lv/2, 3), 500,
+ LightGreenDiamond, 1, 100,
+ BlackPearl, 1, 10,
+ BlueManaPearl, 1, 1);
+ break;
+ case HCD_SLIMENEST:
+ .@val+=1600;
+ anyloot(MaggotSlime, .@lv, 10000,
+ Arrow, .@lv, 9000,
+ IronArrow, .@lv, 4000,
+ TreasureKey, max(1, .@lv/10), 6000,
+ CactusDrink, limit(1, .@lv/10, 3), 4000,
+ CoinBag, limit(1, .@lv/8, 5), 4000,
+ CasinoCoins, limit(1, .@lv/6, 10), 3200,
+ Coal, limit(1, .@lv/10, 3), 3000,
+ Dagger, limit(1, .@lv/15, 3), 3000,
+ Candy, limit(1, .@lv/5, 6), 2000,
+ ChocolateBar, limit(1, .@lv/20, 3), 1000,
+ Milk, 1, 200,
+ IcedBottle, 1, 60);
+ break;
+ case HCD_SNAKEPIT:
+ .@val+=4500;
+ anyloot(SnakeEgg, limit(1, .@lv/8, 10), 9600,
+ SnakeTongue, limit(1, .@lv/16, 5), 9500,
+ SnakeSkin, limit(1, .@lv/20, 3), 7000,
+ JeansShorts, 1, 300,
+ DivineApple, 1, 10,
+ Kanabo, 1, 1); // Teasing Xanthem for mapping here
+ break;
+ case HCD_DANGERAREA:
+ .@val+=140000;
+ anyloot(HastePotion, limit(1, .@lv/20, 10), 4000,
+ StrengthPotion, limit(1, .@lv/20, 10), 4000,
+ SmokeGrenade, limit(1, .@lv/18, 8), 4000,
+ Grenade, limit(1, .@lv/28, 6), 3000,
+ MoubooSteak, limit(1, .@lv/28, 6), 2500,
+ MercBoxA, 1, 2000,
+ AncientBlueprint, 1, 1500,
+ Lockpicks, limit(1, .@lv/30, 4), 1000,
+ StatusResetPotion, 1, 1000,
+ DungeonMap, 1, 700,
+ TreasureMap, 1, 700,
+ MagicApple, 1, 40);
+ break;
+ case HCD_MKBASEMENT:
+ .@val+=1000000;
+ anyloot(HastePotion, limit(1, .@lv/20, 10), 6000,
+ StrengthPotion, limit(1, .@lv/20, 10), 6000,
+ Curshroom, limit(1, .@lv/28, 6), 4500,
+ SmokeGrenade, limit(1, .@lv/18, 8), 4500,
+ Grenade, limit(1, .@lv/28, 6), 3500,
+ AncientBlueprint, 1, 2500,
+ DungeonMap, 1, 2000,
+ TreasureMap, 1, 2000,
+ CrazyRum, 1, 1500,
+ MercBoxB, 1, 1000,
+ WhiskeyAle, 1, 400,
+ GoldenApple, 1, 80,
+ DivineApple, 1, 60,
+ MagicApple, 1, 45);
+ break;
+ case HCD_MARKET:
+ .@val+=16;
+ // Sending a fresh homun in market may yield no GP.
+ Zeny+=min(.zenycap, 1000*.@lv*min(10000, gethominfo(3))/100000);
+ anyloot(Piberries, .@lv, 9000,
+ Bread, limit(1, .@lv/3, 12), 7000,
+ Cheese, .@lv, 5000,
+ Beer, limit(1, .@lv/10, 10), 1200,
+ TreasureMap, 1, 420);
+ break;
+ }
+ // A final boost for sake of randomness
+ .@val+=rand2(0, 10);
+ return .@val;
+}
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ // Old Maximum Profit: 10,000 GP
+ // Coin Bag farming: 180 mobs, at 5% drop rate: 5,000 GP max
+ .zenycap=7500;
+ end;
+
+}
+
diff --git a/npc/017-10/kenton.txt b/npc/017-10/kenton.txt
new file mode 100644
index 0000000..3ffc2fa
--- /dev/null
+++ b/npc/017-10/kenton.txt
@@ -0,0 +1,204 @@
+// TMW2/LoF scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Part of player story
+
+017-10,57,34,0 script Kenton NPC_KENTON,{
+ .@q=getq(General_Narrator);
+ mesn;
+ mesq l("Hello! My name is Kenton, and I'm in charge of Public Affairs of Land Of Fire.");
+ next;
+ mesn;
+ mesq l("You see, Pihro and Pyndragon, the mayors, are really busy people. They're developing a game or something as we speak.");
+ next;
+ mesn;
+ mesq l("So if you have any issue which would require the Mayor to see it, you'll need me first.");
+ switch (.@q) {
+ case 0:
+ Exception("ERROR", RB_SPEECH|RB_ISFATAL);
+ case 17:
+ next;
+ mesc l("@@ raise an eyebrow as you hand him Gelid's letter.", .name$);
+ next;
+ mesn;
+ mesq l("That's a really strange letter from Mr. Frozenheart.");
+ next;
+ mesn;
+ mesq l("But also very amusing. I'm sure Pihro and Pyndragon, the town mayors, will fancy this request of yours.");
+ next;
+ mesn;
+ mesq l("Anyway, as you might be aware, Land Of Fire came here in an incident after the Monster King took all Mana Stones... So, we have a good magical affinity.");
+ next;
+ mesn;
+ mesq l("Most of our professors moved on to the Academy Island, and are with Tulimshar's and Frostia's professors working right now. But...");
+ next;
+ mesn;
+ mesq l("...Lalica, the witch, is still with us. And she came to complain that a petty thief stolen a very precious item of hers.");
+ next;
+ mesn;
+ mesq l("I don't know what, but it is ")+b(l("small, red, round and shiny."))+l("And we know who the thief is.");
+ next;
+ mesn;
+ mesq l("I've dispatched Benjamin and some other city guards after her flew to Elenium Mines, but thus far, they haven't returned.");
+ next;
+ mesn;
+ mesq l("I need you to find her to and bring her back there, along whatever she stole. Then I'll honor your request.");
+ next;
+ mesn;
+ mesq l("After all, that was two nights ago, and none of them returned...");
+ mesc b(l("WARNING: "))+l("Minimum advised level 72 to do this quest."), 1;
+ mesc b(l("WARNING: "))+l("You would do well as come prepared, as failing in the last stage will RESET current progress on the quest."), 1;
+ setq LoFQuest_Barbara, 1;
+ setq General_Narrator, 18;
+ break;
+ // Barbara Quest in progress
+ case 18:
+ .@s=getq(LoFQuest_Barbara);
+ .@s3=getq3(LoFQuest_Barbara);
+ switch (.@s) {
+ case 5:
+ // No apple - you fail
+ if (!.@s3) {
+ mesn;
+ mesq l("Good luck arresting the criminal!");
+ mesc l("You need both the stolen item as the thief to complete the quest."), 1;
+ close;
+ }
+
+ // Good reporting
+ mesn;
+ if (!BARBARA_STATE)
+ mesq l("I see you've brought Barbara here, excellent. She seems pretty beat up.");
+ else
+ mesq l("...Where's Barbara, the thief?");
+ next;
+ mesn;
+ mesq l("Also, do you have the stolen item?");
+ // You fail
+ if (!(askyesno() == ASK_YES && countitem(MagicApple))) {
+ mes "";
+ mesn;
+ mesq l("Bring me the stolen item, pretty please.");
+ close;
+ }
+ mes "";
+ mesn;
+ mesq l("Good, there they are.");
+ next;
+ if (BARBARA_STATE) {
+ mesn strcharinfo(0);
+ mesq l("I regret to inform Barbara was killed in battle before I could find her. I burried her in the mines.");
+ next;
+ mesn;
+ mesq l("Oh... What a bummer. But you've brought the item back, so we're OK.");
+ next;
+ // Barbara is alive
+ } else {
+ mesc l("Pledge for Barbara's innocence?");
+ // Pledge menu
+ if (askyesno() == ASK_YES) {
+ BARBARA_STATE=3;
+ mesn;
+ mesq lg("...That's a surprise, the noble @@ defending a criminal like her.", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("I will let Lalica, Pihro and Pyndragon know that you find her not guilty, but...");
+ next;
+ mesn;
+ mesq l("The final sentence still belongs to LoF Admins.");
+ next;
+ } else {
+ BARBARA_STATE=2;
+ }
+ // EOF: Pledge Menu
+ mesn;
+ mesq l("I'll have her hospitalized now.");
+ next;
+ }
+ mesn;
+ mesq l("Anyway, here is your reward.");
+ delitem MagicApple, 1;
+ setq General_Narrator, 19;
+ setq LoFQuest_Barbara, 0, 0, 0;
+ getexp 400000, 15000; // Needed: 1,148,484
+ Zeny+=3300; // You get a reward in cash
+ getvaultexp(10);
+ next;
+ mesn;
+ mesq l("Please come back later to know how things are going.");
+ break;
+ // Bad reporting
+ case 4:
+ mesn;
+ mesq l("Good luck arresting the criminal!");
+ mesc l("You need both the stolen item as the thief to complete the quest."), 1;
+ break;
+ // Cutscene not seen
+ case 1:
+ mesn;
+ mesq l("Good luck arresting the criminal!");
+ break;
+ // Default message
+ default:
+ mesn;
+ mesq l("Benjamin reported in. Good luck arresting the criminal!");
+ break;
+ }
+ break;
+ // Barbara Quest was complete and solution was marked in BARBARA_STATE
+ case 19:
+ next;
+ mesn;
+ mesq l("So, where we were again... Oh right, travel to world edge, look for family or whatever, right?");
+ next;
+ mesn;
+ mesq l("Yes. I mean, yes, Pihro and Pyndragon will fancy you an airship.");
+ next;
+ select
+ l("What is an airship? O.o"),
+ l("Cool, an airship!");
+ mes "";
+ if (@menu == 1) {
+ mesn;
+ mesq l("An Airship? It is just a ship. Which flies.");
+ next;
+ }
+ mesn;
+ mesq l("Now, crafting an airship requires a lot of efforts, resources, money and specially time. Fourteen months, to be exact.");
+ next;
+ mesn;
+ mesq l("By the way , it is done already. You took a long time, you know? Also, we're talking about Pihro and Pyndragon.");
+ next;
+ mesn;
+ mesq l("Besides, the Alliance High Council had plans for an expedition on the Fortress Island, but had no personel to do it.");
+ next;
+ mesn;
+ mesq l("Yes, you are now personel! Doesn't it feels exciting? Please tell me it does, I have nothing else to convince you to go otherwise.");
+ next;
+ mesn;
+ mesq l("The Fortress Island is a terribly dangerous place, so the Alliance sent a scout party beforehand, and set up a tower in front of an... erm... Very disturbing walled place we found.");
+ next;
+ mesn;
+ mesq l("Now go and save the world or something like that. I mean, it is not like I really cared with the world, anyway... With luck you'll even find what you are looking for.");
+ setq General_Narrator, 20;
+ // FALLTHROUGH
+ case 20:
+ case 21:
+ next;
+ setcamnpc "#ToFortress";
+ mesn;
+ mesq l("Just go over there and you'll be able to board the Airship. The travel takes a while so please be patient and good luck!");
+ restorecam;
+ // TODO: Maybe investigate & report to Tulimshar Magic Council?
+ break;
+ }
+ close;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+
+}
+
diff --git a/npc/017-10/politics.txt b/npc/017-10/politics.txt
new file mode 100644
index 0000000..8bcd243
--- /dev/null
+++ b/npc/017-10/politics.txt
@@ -0,0 +1,58 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Town Administrator file, see npc/functions/politics.txt
+// User variables:
+// #POL_APPLYWEEK = Week of last application
+// #POL_VOTEDAY = Day of last vote
+
+017-10,54,35,0 script Land Of Fire Office NPC_POLITICS,{
+do
+{
+ mesc ".:: "+l("Land Of Fire Townhall")+" ::.", 2;
+ mesc l("Current Town Administrator: ")+$LOF_MAYOR$, 3;
+ POL_TownInfo("LOF");
+ mesc l("Application fee: @@ GP", .applytax);
+ next;
+ select
+ l("Information"),
+ rif(strcharinfo(0) == $LOF_MAYOR$, l("Manage Town")),
+ rif(#POL_APPLYWEEK != gettimeparam(GETTIME_WEEKDAY), l("Apply for the office!")),
+ l("View Candidate List and cast a vote"),
+ l("[Quit]");
+
+ switch (@menu) {
+ case 1:
+ POL_Information();
+ break;
+ case 2:
+ POL_Manage("LOF");
+ break;
+ case 3:
+ // array_push might be too sensible for getd/setd
+ if (Zeny < .applytax)
+ break;
+ Zeny-=.applytax;
+ $LOF_MONEY+=.applytax;
+ #POL_APPLYWEEK=gettimeparam(GETTIME_WEEKDAY);
+ array_push($LOF_CANDIDATE$, strcharinfo(0));
+ array_push($LOF_VOTES, 0);
+ mesc l("Application successful!"), 3;
+ next;
+ break;
+ case 4:
+ POL_Candidate("LOF");
+ break;
+ default:
+ close;
+ }
+} while (true);
+end;
+
+OnInit:
+ .applytax=100;
+ .distance=4;
+ end;
+}
+
diff --git a/npc/017-10/vault.txt b/npc/017-10/vault.txt
new file mode 100644
index 0000000..86bfeff
--- /dev/null
+++ b/npc/017-10/vault.txt
@@ -0,0 +1,20 @@
+// TMW2/LoF Script.
+// Author:
+// Jesusalva
+// Notes:
+// Based on BenB idea.
+
+017-10,20,41,0 script Vault#01710 NPC_NO_SPRITE,{
+ LootableVault(3, 5, "01710");
+ close;
+
+OnInit:
+ .distance=3;
+ end;
+
+OnClock0202:
+OnClock1419:
+ $VAULT_01710+=rand2(50,100);
+ end;
+}
+
diff --git a/npc/017-2-1/_import.txt b/npc/017-2-1/_import.txt
new file mode 100644
index 0000000..8b16332
--- /dev/null
+++ b/npc/017-2-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 017-2-1: Jack's Basement
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/017-2-1/_mobs.txt",
+"npc/017-2-1/_warps.txt",
diff --git a/npc/017-2-1/_mobs.txt b/npc/017-2-1/_mobs.txt
new file mode 100644
index 0000000..7f12149
--- /dev/null
+++ b/npc/017-2-1/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 017-2-1: Jack's Basement mobs
+017-2-1,62,83,5,6 monster Big Emerald Bif 1106,1,45000,45000
+017-2-1,73,61,54,42 monster Dark Lizard 1051,32,25000,25000
+017-2-1,49,71,40,58 monster Red Slime 1092,29,45000,45000
+017-2-1,72,43,58,28 monster Copper Slime 1088,2,45000,45000
diff --git a/npc/017-2-1/_warps.txt b/npc/017-2-1/_warps.txt
new file mode 100644
index 0000000..e9ec14c
--- /dev/null
+++ b/npc/017-2-1/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 017-2-1: Jack's Basement warps
+017-2-1,121,115,0 warp #017-2-1_121_115 0,0,017-2,31,29
+017-2-1,27,127,0 warp #017-2-1_27_127 0,0,018-3,114,24
+017-2-1,39,23,0 warp #017-2-1_39_23 0,0,017-2-2,71,77
diff --git a/npc/017-2-2/_import.txt b/npc/017-2-2/_import.txt
new file mode 100644
index 0000000..1f63289
--- /dev/null
+++ b/npc/017-2-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 017-2-2: Skull Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/017-2-2/_mobs.txt",
+"npc/017-2-2/_warps.txt",
diff --git a/npc/017-2-2/_mobs.txt b/npc/017-2-2/_mobs.txt
new file mode 100644
index 0000000..d409717
--- /dev/null
+++ b/npc/017-2-2/_mobs.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 017-2-2: Skull Cave mobs
+017-2-2,70,57,16,20 monster Shadow Plant 1189,4,60000,10000
+017-2-2,70,55,14,20 monster Dark Lizard 1051,18,25000,25000
diff --git a/npc/017-2-2/_warps.txt b/npc/017-2-2/_warps.txt
new file mode 100644
index 0000000..7ee8b20
--- /dev/null
+++ b/npc/017-2-2/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 017-2-2: Skull Cave warps
+017-2-2,71,78,0 warp #017-2-2_71_78 1,0,017-2-1,39,24
diff --git a/npc/017-2/_import.txt b/npc/017-2/_import.txt
new file mode 100644
index 0000000..6665a1d
--- /dev/null
+++ b/npc/017-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 017-2: Jack's House
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/017-2/_warps.txt",
+"npc/017-2/vault.txt",
diff --git a/npc/017-2/_warps.txt b/npc/017-2/_warps.txt
new file mode 100644
index 0000000..12b4bba
--- /dev/null
+++ b/npc/017-2/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 017-2: Jack's House warps
+017-2,41,32,0 warp #017-2_41_32 0,0,017-1,119,61
+017-2,31,30,0 warp #017-2_31_30 0,0,017-2-1,121,116
diff --git a/npc/017-2/vault.txt b/npc/017-2/vault.txt
new file mode 100644
index 0000000..3f3e49c
--- /dev/null
+++ b/npc/017-2/vault.txt
@@ -0,0 +1,20 @@
+// TMW2/LoF Script.
+// Author:
+// Jesusalva
+// Notes:
+// Based on BenB idea.
+
+017-2,45,22,0 script Vault#0172 NPC_VAULT,{
+ LootableVault(0, 3, "0172");
+ close;
+
+OnInit:
+ .distance=3;
+ end;
+
+OnClock0201:
+OnClock1418:
+ $VAULT_0172+=rand2(3,7);
+ end;
+}
+
diff --git a/npc/017-3/_import.txt b/npc/017-3/_import.txt
new file mode 100644
index 0000000..bbf474d
--- /dev/null
+++ b/npc/017-3/_import.txt
@@ -0,0 +1,14 @@
+// Map 017-3: Dimond's Cove
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/017-3/_warps.txt",
+"npc/017-3/chagashroom.txt",
+"npc/017-3/chef.txt",
+"npc/017-3/dimonds.txt",
+"npc/017-3/doctor.txt",
+"npc/017-3/doug.txt",
+"npc/017-3/gambler.txt",
+"npc/017-3/loratay.txt",
+"npc/017-3/nico.txt",
+"npc/017-3/slots.txt",
+"npc/017-3/vault.txt",
+"npc/017-3/workers.txt",
diff --git a/npc/017-3/_warps.txt b/npc/017-3/_warps.txt
new file mode 100644
index 0000000..3decc18
--- /dev/null
+++ b/npc/017-3/_warps.txt
@@ -0,0 +1,9 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 017-3: Dimond's Cove warps
+017-3,27,24,0 warp #017-3_27_24 0,0,017-3,35,68
+017-3,32,45,0 warp #017-3_32_45 0,0,017-1,92,89
+017-3,40,27,0 warp #017-3_40_27 2,0,017-3,83,28
+017-3,36,68,0 warp #017-3_36_68 0,0,017-3,28,24
+017-3,67,27,0 warp #017-3_67_27 2,0,017-3,67,72
+017-3,83,29,0 warp #017-3_83_29 2,0,017-3,40,28
+017-3,67,73,0 warp #017-3_67_73 2,0,017-3,67,28
diff --git a/npc/017-3/chagashroom.txt b/npc/017-3/chagashroom.txt
new file mode 100644
index 0000000..9a449bc
--- /dev/null
+++ b/npc/017-3/chagashroom.txt
@@ -0,0 +1,163 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Chagashroom → Red Plush Wine
+// Variables:
+// REDWINE_DATE = When the wine started being done
+// REDWINE_DONE = When the wine will be ready
+// REDWINE_AMMO = How much Wine you're trying to make
+// Success Rate is based on how much you're trying to do and how long ago that was
+
+017-3,25,78,0 script Wine Making Barrel NPC_NO_SPRITE,{
+ goto L_Main;
+ // redwine_chance()
+ // Returns chance (0~10,000) to successfully obtain wine
+ // REDWINE_DONE/REDWINE_DATE is taken in account
+ function redwine_chance {
+ .@max=10000;
+ .@base=REDWINE_DATE;//-(REDWINE_DONE-REDWINE_DATE);
+ // .@c = how much time is left until completion
+ // .@d = original amount of time required
+ // .@e = Current time
+ .@c=REDWINE_DONE-.@base; //-gettimetick(2);
+ .@d=REDWINE_DATE-.@base; //-REDWINE_DONE;
+ .@e=gettimetick(2)-.@base;
+
+ // We must divide everything by 10 to cause imprecision
+ // aka. don't cause overflow bug
+ .@c=.@c/10;
+ .@d=.@d/10;
+ .@e=.@e/10;
+
+ //debugmes "%d - %d - %d", .@d, .@e, .@c;
+ //debugmes "Start - Now - Finish";
+ if (.@c == 0)
+ return .@max;
+ if ($@GM_OVERRIDE) debugmes "Ratio: %d/%d = %d", .@e, .@c, (.@e*.@max)/.@c;
+ return min(10000, (.@e*.@max)/.@c);
+ }
+
+L_Main:
+ if (!REDWINE_DATE) {
+ mesn;
+ mesc l("Do you want to make wine?");
+ next;
+ select
+ l("Information"),
+ l("Yes"),
+ l("No");
+ mes "";
+
+ switch (@menu) {
+ case 1:
+ mesc l("Produced item:");
+ mesc l("@@", getitemlink(RedPlushWine));
+ mes "";
+ mesc l("Cost per two glass:");
+ mesc l("* @@/@@ @@", countitem(SeaDrops), 1, getitemlink(SeaDrops));
+ mesc l("* @@/@@ @@", countitem(Plushroom), 1, getitemlink(Plushroom));
+ mesc l("* @@/@@ @@", countitem(Chagashroom), 30, getitemlink(Chagashroom));
+ mesc l("* @@ Water Bottle", 1);
+ next;
+ break;
+ case 2:
+ mesc l("How many batches do you want to produce? (max. 5)");
+ input .@glass_count;
+ if (.@glass_count < 1 ||
+ .@glass_count > 5 ||
+ countitem(SeaDrops) < .@glass_count ||
+ countitem(Plushroom) < .@glass_count ||
+ countitem(Chagashroom) < .@glass_count*30
+ ) {
+ mesc l("Not enough ingredients or invalid amount."), 1;
+ break;
+ }
+ mesc l("Which water will you use?");
+ mesc l("The bottom-most the water, the better the bonus.");
+ menuint
+ l("Cancel"), -1,
+ rif(countitem(BottleOfSewerWater) >= .@glass_count, l("Sewer Water")), 0,
+ rif(countitem(BottleOfSeaWater) >= .@glass_count, l("Sea Water")), 3600,
+ rif(countitem(BottleOfTonoriWater) >= .@glass_count, l("Tonori Water")), 11760,
+ rif(countitem(BottleOfWoodlandWater) >= .@glass_count, l("Woodland Water")), 12000,
+ rif(countitem(BottleOfDivineWater) >= .@glass_count, l("Divine Water")), 21600;
+ mes "";
+ if (@menuret < 0)
+ break;
+ switch (@menuret) {
+ case 0:
+ .@bonus=@menuret;
+ .@water=BottleOfSewerWater;
+ break;
+ case 3600:
+ .@bonus=@menuret;
+ .@water=BottleOfSeaWater;
+ break;
+ case 11760:
+ .@bonus=@menuret;
+ .@water=BottleOfTonoriWater;
+ break;
+ case 12000:
+ .@bonus=@menuret;
+ .@water=BottleOfWoodlandWater;
+ break;
+ case 21600:
+ .@bonus=@menuret;
+ .@water=BottleOfDivineWater;
+ break;
+ default:
+ mesc l("Error, invalid return code, blame Saulc"), 1;
+ mes "==== SCRIPT ABORTED";
+ close;
+ }
+
+ // Save data
+ delitem SeaDrops, .@glass_count;
+ delitem Plushroom, .@glass_count;
+ delitem Chagashroom, .@glass_count*30;
+ delitem .@water, .@glass_count;
+ REDWINE_AMMO=.@glass_count;
+ REDWINE_DATE=gettimetick(2);
+ REDWINE_DONE=gettimetick(2)-.@bonus+.mintime;
+ REDWINE_DONE+=.cuptime*REDWINE_AMMO;
+ break;
+ case 3:
+ close;
+ break;
+ }
+ goto L_Main;
+ } else {
+ mesn;
+ mesc l("Your request for @@ @@ are being fermented for @@.", REDWINE_AMMO, getitemlink(RedPlushWine), FuzzyTime(REDWINE_DATE));
+ next;
+ inventoryplace RedPlushWine, REDWINE_AMMO;
+ mesn;
+ mes l("Trying to retrieve it now will have @@ % chance to be successful.", redwine_chance()/100);
+ mes l("Attempt to retrieve it now?");
+ next;
+ if (askyesno() == ASK_YES) {
+ if (rand(1000,10000) < redwine_chance()) {
+ mesc l("Success!"), 3;
+ getitem RedPlushWine, REDWINE_AMMO*2;
+ } else {
+ mesc l("The wine wasn't ready yet and you lost it..."), 1;
+ }
+ REDWINE_DATE=0;
+ REDWINE_AMMO=0;
+ }
+ }
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+
+ // Time to make each batch
+ .cuptime=(60*60*6);
+ // Base time to make any amount of cups
+ .mintime=(60*60*24);
+ end;
+
+}
+
diff --git a/npc/017-3/chef.txt b/npc/017-3/chef.txt
new file mode 100644
index 0000000..d6f7db1
--- /dev/null
+++ b/npc/017-3/chef.txt
@@ -0,0 +1,410 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Dimond's Cove Chef. He'll disguise Mopox Cure Potion, and he is part from
+// Easter 2011 and Easter 2012 quests. Assigns the Butcher Knife Quest.
+
+017-3,33,25,0 script Chef#dimond NPC_CHEF,{
+ .@q=getq(LoFQuest_ButcherKnife);
+ showavatar NPC_CHEF;
+ if (.@q == 1) goto L_Report;
+ if (.@q == 0 && BaseLevel >= 34) goto L_Start;
+ goto L_Busy;
+
+L_Busy:
+ mesn;
+ mesq l("I'm too busy right now to talk. Dimond's recipes are the best!");
+ close;
+
+L_Start:
+ mesn;
+ mesq l("The cooking contest is coming up, and I don't want to lose to @@... Halinarzo's cook is just THAT good.", l("Ryan"));
+ next;
+ mesn;
+ mesq l("However, I still have hope. Dimond's secret recipe. Ah, but I can't get the ingredients for it...");
+ next;
+ mesn;
+ mesq lg("...Actually, you seem like a capable adventurer. If you give me some ingredients I can't get, I'll give you a @@.", "...Actually, you seem like a capable adventurer. If you give me some ingredients I can't get, I'll give you a @@.", getitemlink(ButcherKnife));
+ mesq l("Are you, perhaps, interested?");
+ next;
+ if (askyesno() == ASK_YES) {
+ mes "";
+ mesn;
+ mesq l("Wonderful! Just bring me 12 @@ and 4 @@. I'm counting on you!", getitemlink(SmallMushroom), getitemlink(MoubooSteak));
+ setq LoFQuest_ButcherKnife, 1;
+ }
+ close;
+
+L_Report:
+ mesn;
+ mesq l("Did you brought me 12 @@ and 4 @@? The @@ is waiting for you, sharp sharp!", getitemlink(SmallMushroom), getitemlink(MoubooSteak), getitemlink(ButcherKnife));
+ mes "";
+ select
+ l("Not yet, but I'll bring them."),
+ rif(countitem(SmallMushroom)>=12 && countitem(MoubooSteak)>=4, l("Yes, here they are."));
+ mes "";
+ if (@menu == 2) {
+ inventoryplace ButcherKnife, 1;
+ delitem SmallMushroom, 12;
+ delitem MoubooSteak, 4;
+ getitem ButcherKnife, 1;
+ getexp 4887, 37;
+ setq LoFQuest_ButcherKnife, 2;
+ mesn;
+ mesq l("Wonderful! Here, take the @@, as promised. I need to get back to cooking!", getitemlink(ButcherKnife));
+ }
+ close;
+
+ /*
+ .@q=getq(TulimsharQuest_Kadiya);
+ if ((.@q == 9) && (countitem ("MopoxCurePotion") > 0))
+ goto L_lace_chococake;
+ if ((.@q == 11) && (countitem ("MopoxCurePotion") > 0))
+ goto L_lace_cupcake;
+ close;
+
+L_lace_chococake:
+ next;
+ menu
+ "Sorry.", L_Close,
+ "I need your help with a sick young girl!", L_Next;
+
+L_Next:
+ mesn;
+ mes "";
+ mes "You explain Kadiya's situation to him.";
+ mes "\"Hmrmf. I can't help you; I'm a chef, not a baker!\"";
+ close;
+
+L_lace_cupcake:
+ next;
+ menu
+ "Sorry.", L_Close,
+ "I need your help with a sick young girl!", L_Next1;
+
+L_Next1:
+ mesn;
+ mes "";
+ mes "You explain Kadiya's situation to him.";
+ mes "\"Hmrmf. I was about to make another batch of orange cupcakes. Do you have that potion with you?\"";
+ next;
+ menu
+ "No, sorry.", L_bringit,
+ "Yes, here you are.", L_Next2;
+
+L_Next2:
+ if (countitem ("MopoxCurePotion") < 1)
+ goto L_bringit;
+ mesn;
+ mes "";
+ mes "He shudders as he smells the bottle.";
+ mes "\"That is disgusting! How do you expect me to mask this?\"";
+ mes "He ponders his own question for a moment.";
+ next;
+ mesn;
+ mes "";
+ mes "\"Ah yes. We need to bind the smell in gingerbread. Bring me three pieces of gingerbread, one orange, and 500 GP for the other ingredients, and I will make you your cupcake.\"";
+ next;
+ menu
+ "I'll go and get it.", L_Close,
+ "Here you are!", L_Next3,
+ "Not now.", L_Close;
+
+L_Next3:
+ if (countitem ("GingerBreadMan") < 3)
+ goto L_No_gingerbread;
+ if (countitem ("Orange") < 1)
+ goto L_No_orange;
+ if (countitem ("MopoxCurePotion") < 1)
+ goto L_No_Potion;
+ if (Zeny < 500)
+ goto L_No_Zeny;
+
+ Zeny = Zeny - 500;
+ delitem "GingerBreadMan", 3;
+ delitem "Orange", 1;
+ delitem "MopoxCurePotion", 1;
+
+ getitem "LacedOrangeCupcake", 1;
+
+ mesn;
+ mes "";
+ mes "\"Good, good. This should work.\"";
+ mes "He crumbles the gingerbread, mixes it with the potion and some spices, and finally adds some cupcake batter and the orange pieces.";
+ next;
+ mesn;
+ mes "";
+ mes "\"Take a seat.\"";
+ mes "He fills the mixture into a cupcake form and puts it into the oven. You watch the cupcake grow for a while.";
+ mes "Finally, he removes the form and carefully extracts the cupcake.";
+ next;
+ mesn;
+ mes "";
+ mes "\"Here you are. It's a bit bigger than a regular cupcake and will taste a bit like ginger, I think, but otherwise it should be fine.\"";
+ close;
+
+L_No_gingerbread:
+ mesn;
+ mes "";
+ mes "\"I will need three pieces of gingerbread.\"";
+ close;
+
+L_No_orange:
+ mesn;
+ mes "";
+ mes "\"Please bring me an orange for these cupcakes.\"";
+ close;
+
+L_No_Zeny:
+ mesn;
+ mes "";
+ mes "\"No. I need extra ingredients worth 500 GP, and I expect you to pay for those.\"";
+ close;
+
+L_No_Potion:
+ mesn;
+ mes "";
+ mes "\"Where did your Mopox potion go?\"";
+ close;
+
+L_bringit:
+ mesn;
+ mes "";
+ mes "\"Bring it here when you do.\"";
+ next;
+
+L_Close:
+ close;
+ */
+
+/* XXX: Easter 2011 stuff
+L_JellyBean:
+ mesn;
+ mes "";
+ mes "\"I can't talk right now... I'm too busy.\"";
+ next;
+ mes "\"Oh, wait. I see you are the adventurer who was speaking with the Easter Bunny. He has a really bad memory, you know? Every year he forgets who he needs to ask to get Jelly Beans, and every year an adventurer comes to my kitchen asking if I can help the Easter Bunny get some.\"";
+ next;
+ mes "\"Even though I am really busy this time of year, I will help you make some Jelly Beans to put in the basket if you wish. Just to keep the tradition alive...\"";
+ menu
+ "I would really appreciate that!", L_SetJellyBean,
+ "Nah, I decided not to do that stupid quest.", L_Close;
+
+L_SetJellyBean:
+ QUEST_Easter11 = 8;
+ goto L_MakeJellyBean;
+
+L_MakeJellyBean:
+ mesn;
+ mes "";
+ mes "\"I will need you to bring me some candies.\"";
+ mes "\"I think 15 should be enough.\"";
+ mes "\"Sea slimes seem to have those, so try them.\"";
+ mes "\"And because it's the holidays, I'll add in the other ingredient for free.\"";
+ menu
+ "I have some candies!", L_CandyCheck,
+ "Ok, I will be back soon.", L_Close,
+ "I changed my mind, forget about it.", L_Close;
+
+L_CandyCheck:
+ if(countitem("Candy") < 15)
+ goto L_EasterNotEnough;
+ if(countitem("Candy") >= 15)
+ goto L_EasterEnough;
+ close;
+
+L_EasterNotEnough:
+ mesn;
+ mes "";
+ mes "\"You do not have enough candies for me to work with yet.\"";
+ mes "\"Please go get more.\"";
+ close;
+
+L_EasterEnough:
+ getinventorylist;
+ if (@inventorylist_count == 100 && countitem("Candy") > 15)
+ goto L_EasterTooMany;
+ if(countitem("Candy") < 15)
+ goto L_EasterNotEnough;
+ delitem "Candy", 15;
+ getitem "JellyBeans", 1;
+ QUEST_Easter11 = 9;
+ mesn;
+ mes "";
+ mes "\"You have gathered enough candies for me to make the Jelly Beans.\"";
+ mes "He puts the candies into a pot and starts melting them.";
+ mes "He adds in some gooey stuff, then lets the solution cool for a moment before forming the Jelly Beans.";
+ mes "\"Here are your Jelly Beans.\"";
+ close;
+
+L_EasterTooMany:
+ mesn;
+ mes "";
+ mes "\"You don't have enough room for the Jelly Beans. Come back later.\"";
+ close;
+
+L_SeeBunny:
+ mesn;
+ mes "";
+ mes "\"Oh yeah, you need to return to the Easter Bunny now.\"";
+ next;
+ goto L_Begin;
+ close;
+*/
+
+
+
+
+/* XXX: Easter 2012 stuff
+// Really cool script, we must reintroduce it %%e
+
+L_Easter2012_Begin:
+ mesn;
+ mes "\"Ahh, " + strcharinfo(0) + "! I really need to talk to you. Did the Easter Bunny give you a very thick and heavy pan?\"";
+ menu
+ "Yes, he did. Why?", L_Easter2012_Continue;
+
+L_Easter2012_Continue:
+ mesn;
+ mes "\"Good to know! I am asking because now you are my only hope. I have invented the ultimate culinary wonder, a recipe for the most incredibly tasty food you can imagine!\"";
+ next;
+ mes "\"But here is the problem, to complete this recipe I need a very resistant pan, because in the process I need to use a very strong acid solution based on yeti saliva!\"";
+ next;
+ mes "\"Can you believe I ruined ALL of my pans and 17 infantry helmets while trying to cook it? That is why I am asking for this favor. Could you lend me your pan? I promise I will give you a jar of the final product.\"";
+ next;
+ mes "\"Oh, and I will need to keep it with me for a while, as the ingredients need to rest in the acid solution for a long time, but you can always come here to see how it is going.\"";
+ menu
+ "Ok, but I want my pan back when it is done!", L_Accept_Cooking,
+ "No way, I won't let you fill my hat with corrosive yeti saliva!", L_NoWay;
+
+L_NoWay:
+ mesn;
+ mes "\"Ahh, don't say that! Please, think about it and come back if you change your mind.\"";
+ close;
+
+L_Accept_Cooking:
+ mesn;
+ mes "\"Great! But I can't promise anything regarding your hat. What I can promise is: IF it works, you will eat the most spectacular food of all time! I won't say what it is, but it is going to be great! What do you say, are you sure?\"";
+ menu
+ "Ahh, just take the pan and do your thing.", L_CarryOn,
+ "No way!", L_Close;
+
+L_CarryOn:
+ if (countitem("PanHat") < 1)
+ goto L_No_PanHat;
+ delitem "PanHat", 1;
+ QUEST_Easter12 = 7;
+ mes "\"Very good! Now I just need to put the basic ingredients inside a metal pan filled with water, yeti saliva, a little bit of salt and finally... The secret ingredient!\"";
+ next;
+ mes "The chef turns his back to you so he can hide what he is using. But you can clearly distinguish a smell of coal...";
+ mes "\"Hahahah! And now we wait!\"";
+ close;
+
+L_Easter2012_Wait:
+ if ((gettime(6) == 4 && gettime(5) >= $@easter2012_reward_start_day))
+ goto L_Easter2012_Result;
+ mesn;
+ mes "\"Be patient... The basic ingredients are not ready yet.\"";
+ close;
+
+L_Easter2012_Result:
+ @temp = rand(99);
+ mesn;
+ mes "\"Hey! I have some good news and some bad news... Which one do you want to hear first?\"";
+ menu
+ "The good one.", L_SelectNews,
+ "The bad one.", L_SelectNews,
+ "Oh no, I don't even want to hear!", L_Close;
+
+L_SelectNews:
+ if (@temp < 15) goto L_Easter2012_Lucky;
+ if (@temp >= 15) goto L_Easter2012_Unlucky;
+ close;
+
+L_Easter2012_Lucky:
+ mesn;
+ mes "\"Wait! Did I mention bad news? I must be crazy... There is no bad news my friend! The ultimate pickled beets is now ready AND your pan is intact!\"";
+ next;
+ mes "\"Here! Take your pan back and a jar of the best pickled beets of the mana world!\"";
+ QUEST_Easter12 = 10;
+ getitem "PickledBeets", 1;
+ getitem "PanHat", 1;
+ close;
+
+L_Easter2012_Unlucky:
+ mesn;
+ mes "\"Ahh, actually, it doesn't matter! The important thing is that the recipe was a success! I just can't believe how something can be so tasty!\"";
+ next;
+ menu
+ "Nice! Now, what about my hat?", L_HatNext;
+
+L_HatNext:
+ mes "\"Oh, that... Ehh, unfortunately, the pan is not anymore. It was completely destroyed by the time the pickled beets were ready! But don't worry, I will keep my promise and give you a jar of this culinary masterpiece!\"";
+ next;
+ menu
+ "Wait, wait... Are you saying I lost my hat?", L_HatNext2;
+
+L_HatNext2:
+ mesn;
+ mes "\"Hmm, yes. But I must say I really appreciate your effort to help me! You sacrificed your cool hat in the name of the culinary arts, only a great person would do that!\"";
+ next;
+ menu
+ "But... I... My hat...", L_HatNext3;
+
+L_HatNext3:
+ mesn;
+ mes "\"Here, take your pickled beets!\"";
+ getitem "PickledBeets", 1;
+ QUEST_Easter12 = 8;
+ close;
+
+OnEaster2012Out:
+ if (QUEST_Easter12 == 8)
+ QUEST_Easter12 = 9;
+ mesn;
+ mes "\"Hey, I couldn't help but notice your sadness... You really like these silly hats, don't you? Well, since your hat is completely destroyed, just like all my pans, I can give you one of these nice cooking hats. But only if you give my jar of pickled beets back. What do you say?\"";
+ menu
+ "A chef hat for a jar of pickled beets? Of course I want!", L_GetChefhat,
+ "Ahh, keep you silly hat! The pickled beets are way better!", L_KeepBeets;
+ close;
+
+L_GetChefhat:
+ if (countitem("PickledBeets") < 1)
+ goto L_No_Pickledbeets;
+ mesn;
+ mes "\"Really? Well, if you are sure about that... Here is your hat!\"";
+ delitem "PickledBeets", 1;
+ getitem "ChefHat", 1;
+ QUEST_Easter12 = 10;
+ close;
+
+L_KeepBeets:
+ mesn;
+ mes "\"Hmm, I see that at least you are a wise person. See you later!\"";
+ QUEST_Easter12 = 10;
+ close;
+
+L_No_PanHat:
+ mesn;
+ mes "\"So? You said you have the pan, where is it?\"";
+ close;
+
+L_No_Pickledbeets:
+ mesn;
+ mes "\"Hey, no pickled beets means no chef hat.\"";
+ close;
+
+L_Easter2012Foolplayers:
+ mes "The chef can't hear you. He keeps looking and feeling the scent of his new recipe.";
+ close;
+*/
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+
+}
+
diff --git a/npc/017-3/dimonds.txt b/npc/017-3/dimonds.txt
new file mode 100644
index 0000000..5b23e30
--- /dev/null
+++ b/npc/017-3/dimonds.txt
@@ -0,0 +1,641 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Dimond's Cove NPCs
+
+017-3,34,38,0 script Dimond NPC_DIMOND,{
+ showavatar NPC_DIMOND;
+ mesn;
+ mesq l("Welcome to Dimond's Cove!");
+ next;
+ mesn;
+ mesq l("Please, don't say I got fat. I DON'T WANNA HEAR IT FROM YOU, WAS I CLEAR?");
+ next;
+ mesn;
+ mesq l("Please, enjoy the show! There are some people upstairs, too.");
+ //mesq l("Talk to the waitress to get some food. Enjoy the show! And you can sleep on the 3rd Floor.");
+ if (BaseLevel < 55)
+ close;
+ mesc l("Also...");
+ GHQ_Assign(GreenDragon, "Land of Fire");
+ close;
+
+OnInit:
+ .sex=G_FEMALE;
+ .distance=5;
+ end;
+}
+
+017-3,40,35,0 script Phil NPC_BARD_TRUMP,{
+ showavatar NPC_BARD_TRUMP;
+ if (season() == SPRING)
+ goto L_Quest;
+ mesn;
+ mesq l("We've finally solved the problem with our instruments!");
+ next;
+ mesn;
+ mesq l("Now we can play any songs! Hooray!");
+ close;
+
+L_Quest:
+ mesn;
+ mesq l("All spring it is the same thing... The instruments stop working!");
+ close;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
+017-3,40,37,0 script Jerry NPC_BARD_DRUMS,{
+ showavatar NPC_BARD_DRUMS;
+ if (season() == SPRING)
+ goto L_Quest;
+ mesn;
+ mesq l("I finally figured out what was wrong. I must thank everyone who help us.");
+ next;
+ mesn;
+ mesq l("I can't believe it took so long to fix... And worse, next spring it'll be the same story all over again...");
+ close;
+
+L_Quest:
+ mesn;
+ mesq l("All spring it is the same thing... The instruments stop working!");
+ close;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
+017-3,42,36,0 script Robert NPC_BARD_HARPS,{
+ showavatar NPC_BARD_HARPS;
+ if (season() == SPRING)
+ goto L_Quest;
+ mesn;
+ mesq l("We held to our hope and Jerry figured it out.");
+ next;
+ mesn;
+ mesq l("Now we are no longer useless — we can play music again!");
+ close;
+
+L_Quest:
+ mesn;
+ mesq l("All spring it is the same thing... The instruments stop working!");
+ close;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
+
+017-3,35,35,0 script Shannon NPC_LOF_NOBLEMAN,{
+ showavatar NPC_LOF_NOBLEMAN;
+ mesn;
+ mesq l("I'm a traveling poet and admirer of Robert Burns, a bard from the mana world.");
+ next;
+ mesn;
+ mesq l("I wonder if he exists on this world too. Because if he doesn't, I could tell many tales about him!");
+ close;
+ /*
+ @month = 1;
+ @start_day = 24;
+ @end_day = 26;
+ if (gettime(6) != @month) goto L_No_Event;
+ if (gettime(5) < @start_day) goto L_No_Event;
+ if (gettime(5) > @end_day) goto L_No_Event;
+ if (gettimetick(2)-TUT_var < 2*7*86400 ) //player must be created at least 2 weeks ago - WAIT, THAT IS NOT POSSIBLE ON TMW2
+ goto L_No_Event;
+ if (FLAGS & FLAG_HAS_BOWLER_BURNSDAY && FLAGS & FLAG_HAS_STEAMPUNK_BURNSDAY) goto L_Event_Done;
+ getinventorylist;
+ if (@inventorylist_count == 100) goto L_Full_Inv;
+
+ mes "[Shannon]";
+ mes "\"Welcome to Dimond's Cove. We are celebrating Robert Burns with supper and poems. You provide the supper and I'll provide a poem by Robert Burns. He was otherwise known as 'The Bard' and wrote many poems. The music of language is what I love most. The language of poetry. While his accent is thick, his poems tell stories that stir the soul. I'll read a poem by him and you can tell me what you think.\"";
+ next;
+ mes "\"Before I start, it is traditional to eat, drink and be merry, so help from you will be great and keep me reading.\"";
+ next;
+ mes "\"O thou! whatever title suit thee,--\"";
+ mes "\"Auld Hornie, Satan, Nick, or Clootie!\"";
+ mes "\"Wha in yon cavern, grim an' sootie,\"";
+ mes "\"Clos'd under hatches,\"";
+ mes "\"Spairges about the brunstane cootie\"";
+ mes "\"To scaud poor wretches!\"";
+ callsub S_food_menu;
+ mes "\"Hear me, Auld Hangie, for a wee,\"";
+ mes "\"An' let poor damned bodies be;\"";
+ mes "\"I'm sure sma' pleasure it can gie,\"";
+ mes "\"E'en to a deil,\"";
+ mes "\"To skelp an' scaud poor dogs like me,\"";
+ mes "\"An' hear us squeel!\"";
+ callsub S_food_menu;
+ mes "\"Great is thy pow'r, an' great thy fame;\"";
+ mes "\"Far ken'd an' noted is thy name;\"";
+ mes "\"An' tho' yon lowin heugh's thy hame,\"";
+ mes "\"Thou travels far;\"";
+ mes "\"An' faith! thou's neither lag nor lame,\"";
+ mes "\"Nor blate nor scaur.\"";
+ callsub S_food_menu;
+ mes "\"Whyles, ranging like a roarin lion,\"";
+ mes "\"For prey a' holes an' corners tryin;\"";
+ mes "\"Whyles, on the strong-wing'd tempest flyin,\"";
+ mes "\"Tirlin' the kirks;\"";
+ mes "\"Whyles, in the human bosom pryin,\"";
+ mes "\"Unseen thou lurks.\"";
+ callsub S_food_menu;
+ mes "\"I've heard my rev'rend graunie say,\"";
+ mes "\"In lanely glens ye like to stray;\"";
+ mes "\"Or whare auld ruin'd castles gray\"";
+ mes "\"Nod to the moon,\"";
+ mes "\"Ye fright the nightly wand'rer's way\"";
+ mes "\"Wi' eldritch croon.\"";
+ callsub S_food_menu;
+ mes "\"When twilight did my graunie summon\"";
+ mes "\"To say her pray'rs, douce honest woman!\"";
+ mes "\"Aft yont the dike she's heard you bummin,\"";
+ mes "\"Wi' eerie drone;\"";
+ mes "\"Or, rustlin thro' the boortrees comin,\"";
+ mes "\"Wi' heavy groan.\"";
+ callsub S_food_menu;
+ mes "\"Ae dreary, windy, winter night,\"";
+ mes "\"The stars shot down wi' sklentin light,\"";
+ mes "\"Wi' you mysel I gat a fright,\"";
+ mes "\"Ayont the lough;\"";
+ mes "\"Ye like a rash-buss stood in sight,\"";
+ mes "\"Wi' waving sugh.\"";
+ callsub S_food_menu;
+ mes "\"The cudgel in my nieve did shake,\"";
+ mes "\"Each bristl'd hair stood like a stake,\"";
+ mes "\"When wi' an eldritch, stoor 'Quaick, quaick,'\"";
+ mes "\"Amang the springs,\"";
+ mes "\"Awa ye squatter'd like a drake,\"";
+ mes "\"On whistling wings.\"";
+ callsub S_food_menu;
+ mes "\"Let warlocks grim an' wither'd hags\"";
+ mes "\"Tell how wi' you on ragweed nags\"";
+ mes "\"They skim the muirs an' dizzy crags\"";
+ mes "\"Wi' wicked speed;\"";
+ mes "\"And in kirk-yards renew their leagues,\"";
+ mes "\"Owre howket dead.\"";
+ callsub S_food_menu;
+ mes "\"Thence, countra wives wi' toil an' pain\"";
+ mes "\"May plunge an' plunge the kirn in vain;\"";
+ mes "\"For oh! the yellow treasure's taen\"";
+ mes "\"By witchin skill;\"";
+ mes "\"An' dawtet, twal-pint hawkie's gaen\"";
+ mes "\"As yell's the bill.\"";
+ callsub S_food_menu;
+ mes "\"Thence, mystic knots mak great abuse,\"";
+ mes "\"On young guidmen, fond, keen, an' croose;\"";
+ mes "\"When the best wark-lume i' the house,\"";
+ mes "\"By cantraip wit,\"";
+ mes "\"Is instant made no worth a louse,\"";
+ mes "\"Just at the bit.\"";
+ callsub S_food_menu;
+ mes "\"When thowes dissolve the snawy hoord,\"";
+ mes "\"An' float the jinglin icy-boord,\"";
+ mes "\"Then water-kelpies haunt the foord\"";
+ mes "\"By your direction,\"";
+ mes "\"An' nighted trav'lers are allur'd\"";
+ mes "\"To their destruction.\"";
+ callsub S_food_menu;
+ mes "\"And aft your moss-traversing spunkies\"";
+ mes "\"Decoy the wight that late an drunk is:\"";
+ mes "\"The bleezin, curst, mischievous monkeys\"";
+ mes "\"Delude his eyes,\"";
+ mes "\"Till in some miry slough he sunk is,\"";
+ mes "\"Ne'er mair to rise.\"";
+ callsub S_food_menu;
+ mes "\"When Masons' mystic word an grip\"";
+ mes "\"In storms an' tempests raise you up,\"";
+ mes "\"Some cock or cat your rage maun stop,\"";
+ mes "\"Or, strange to tell!\"";
+ mes "\"The youngest brither ye wad whip\"";
+ mes "\"Aff straught to hell!\"";
+ callsub S_food_menu;
+ mes "\"Lang syne, in Eden'd bonie yard,\"";
+ mes "\"When youthfu' lovers first were pair'd,\"";
+ mes "\"An all the soul of love they shar'd,\"";
+ mes "\"The raptur'd hour,\"";
+ mes "\"Sweet on the fragrant flow'ry swaird,\"";
+ mes "\"In shady bow'r;\"";
+ callsub S_food_menu;
+ mes "\"Then you, ye auld snick-drawin dog!\"";
+ mes "\"Ye cam to Paradise incog,\"";
+ mes "\"And play'd on man a cursed brogue,\"";
+ mes "\"(Black be your fa'!)\"";
+ mes "\"An gied the infant warld a shog,\"";
+ mes "\"Maist ruin'd a'.\"";
+ callsub S_food_menu;
+ mes "\"D'ye mind that day, when in a bizz,\"";
+ mes "\"Wi' reeket duds an reestet gizz,\"";
+ mes "\"Ye did present your smoutie phiz\"";
+ mes "\"Mang better folk,\"";
+ mes "\"An' sklented on the man of Uz\"";
+ mes "\"Your spitefu' joke?\"";
+ callsub S_food_menu;
+ mes "\"An' how ye gat him i' your thrall,\"";
+ mes "\"An' brak him out o' house and hal',\"";
+ mes "\"While scabs and blotches did him gall,\"";
+ mes "\"Wi' bitter claw,\"";
+ mes "\"An' lows'd his ill-tongued, wicked scaul,\"";
+ mes "\"Was warst ava?\"";
+ callsub S_food_menu;
+ mes "\"But a' your doings to rehearse,\"";
+ mes "\"Your wily snares an' fechtin fierce,\"";
+ mes "\"Sin' that day Michael did you pierce,\"";
+ mes "\"Down to this time,\"";
+ mes "\"Wad ding a Lallan tongue, or Erse,\"";
+ mes "\"In prose or rhyme.\"";
+ callsub S_food_menu;
+ mes "\"An' now, Auld Cloots, I ken ye're thinkin,\"";
+ mes "\"A certain Bardie's rantin, drinkin,\"";
+ mes "\"Some luckless hour will send him linkin,\"";
+ mes "\"To your black pit;\"";
+ mes "\"But faith! he'll turn a corner jinkin,\"";
+ mes "\"An' cheat you yet.\"";
+ callsub S_food_menu;
+ mes "\"But fare you weel, Auld Nickie-ben!\"";
+ mes "\"O wad ye tak a thought an' men'!\"";
+ mes "\"Ye aiblins might--I dinna ken--\"";
+ mes "\"Still hae a stake:\"";
+ mes "\"I'm wae to think upo' yon den,\"";
+ mes "\"Ev'n for your sake!\"";
+ next;
+ mes "\"Well, that was the poem. What do you think of it?\"";
+ menu
+ "It was a bit long and kind of hard to understand, but thanks for reading.", L_Next;
+
+L_Next:
+ mes "[Shannon]";
+ mes "\"Well, thanks for coming to the supper. Also, thanks for helping me make it through the poem. Here, take this hat. When you wear it, wear it with the class you showed me today. Happy Burns' Supper!\"";
+ getinventorylist;
+ if (@inventorylist_count == 100)
+ goto L_Full_Inv;
+ if (FLAGS & FLAG_HAS_BOWLER_BURNSDAY) goto L_Get_SteamTopHat;
+
+ getitem "BowlerHat", 1;
+ FLAGS = FLAGS | FLAG_HAS_BOWLER_BURNSDAY;
+ close;
+
+L_Get_SteamTopHat:
+ getitem "SteamTopHat", 1;
+ FLAGS = FLAGS | FLAG_HAS_STEAMPUNK_BURNSDAY;
+ close;
+
+L_No_Event:
+ mes "[Shannon]";
+ mes "\"I'm a traveling poet and admirer of Robert Burns.\"";
+ close;
+
+L_Event_Done:
+ mes "[Shannon]";
+ mes "\"Ah, my dear friend. Good to see you again in this remarkable time of the year.\"";
+ next;
+ mes "\"Welcome to Dimond's Cove. We are celebrating Robert Burns with supper and poems. You provide the supper and I'll provide a poem by Robert Burns. He was otherwise known as 'The Bard' and wrote many poems. The music of language is I love most. The language of poetry. While his accent is thick, his poems tell stories that stir the soul. I'll read a poem by him and you can tell me what you think.\"";
+ next;
+ mes "\"O thou! whatever title suit thee,--\"";
+ mes "\"Auld Hornie, Satan, Nick, or Clootie!\"";
+ mes "\"Wha in yon cavern, grim an' sootie,\"";
+ mes "\"Clos'd under hatches,\"";
+ mes "\"Spairges about the brunstane cootie\"";
+ mes "\"To scaud poor wretches!\"";
+ next;
+ mes "\"Hear me, Auld Hangie, for a wee,\"";
+ mes "\"An' let poor damned bodies be;\"";
+ mes "\"I'm sure sma' pleasure it can gie,\"";
+ mes "\"E'en to a deil,\"";
+ mes "\"To skelp an' scaud poor dogs like me,\"";
+ mes "\"An' hear us squeel!\"";
+ next;
+ mes "\"Great is thy pow'r, an' great thy fame;\"";
+ mes "\"Far ken'd an' noted is thy name;\"";
+ mes "\"An' tho' yon lowin heugh's thy hame,\"";
+ mes "\"Thou travels far;\"";
+ mes "\"An' faith! thou's neither lag nor lame,\"";
+ mes "\"Nor blate nor scaur.\"";
+ next;
+ mes "\"Whyles, ranging like a roarin lion,\"";
+ mes "\"For prey a' holes an' corners tryin;\"";
+ mes "\"Whyles, on the strong-wing'd tempest flyin,\"";
+ mes "\"Tirlin' the kirks;\"";
+ mes "\"Whyles, in the human bosom pryin,\"";
+ mes "\"Unseen thou lurks.\"";
+ next;
+ mes "\"I've heard my rev'rend graunie say,\"";
+ mes "\"In lanely glens ye like to stray;\"";
+ mes "\"Or whare auld ruin'd castles gray\"";
+ mes "\"Nod to the moon,\"";
+ mes "\"Ye fright the nightly wand'rer's way\"";
+ mes "\"Wi' eldritch croon.\"";
+ next;
+ mes "\"When twilight did my graunie summon\"";
+ mes "\"To say her pray'rs, douce honest woman!\"";
+ mes "\"Aft yont the dike she's heard you bummin,\"";
+ mes "\"Wi' eerie drone;\"";
+ mes "\"Or, rustlin thro' the boortrees comin,\"";
+ mes "\"Wi' heavy groan.\"";
+ next;
+ mes "\"Ae dreary, windy, winter night,\"";
+ mes "\"The stars shot down wi' sklentin light,\"";
+ mes "\"Wi' you mysel I gat a fright,\"";
+ mes "\"Ayont the lough;\"";
+ mes "\"Ye like a rash-buss stood in sight,\"";
+ mes "\"Wi' waving sugh.\"";
+ next;
+ mes "\"The cudgel in my nieve did shake,\"";
+ mes "\"Each bristl'd hair stood like a stake,\"";
+ mes "\"When wi' an eldritch, stoor 'Quaick, quaick,'\"";
+ mes "\"Amang the springs,\"";
+ mes "\"Awa ye squatter'd like a drake,\"";
+ mes "\"On whistling wings.\"";
+ next;
+ mes "\"Let warlocks grim an' wither'd hags\"";
+ mes "\"Tell how wi' you on ragweed nags\"";
+ mes "\"They skim the muirs an' dizzy crags\"";
+ mes "\"Wi' wicked speed;\"";
+ mes "\"And in kirk-yards renew their leagues,\"";
+ mes "\"Owre howket dead.\"";
+ next;
+ mes "\"Thence, countra wives wi' toil an' pain\"";
+ mes "\"May plunge an' plunge the kirn in vain;\"";
+ mes "\"For oh! the yellow treasure's taen\"";
+ mes "\"By witchin skill;\"";
+ mes "\"An' dawtet, twal-pint hawkie's gaen\"";
+ mes "\"As yell's the bill.\"";
+ next;
+ mes "\"Thence, mystic knots mak great abuse,\"";
+ mes "\"On young guidmen, fond, keen, an' croose;\"";
+ mes "\"When the best wark-lume i' the house,\"";
+ mes "\"By cantraip wit,\"";
+ mes "\"Is instant made no worth a louse,\"";
+ mes "\"Just at the bit.\"";
+ next;
+ mes "\"When thowes dissolve the snawy hoord,\"";
+ mes "\"An' float the jinglin icy-boord,\"";
+ mes "\"Then water-kelpies haunt the foord\"";
+ mes "\"By your direction,\"";
+ mes "\"An' nighted trav'lers are allur'd\"";
+ mes "\"To their destruction.\"";
+ next;
+ mes "\"And aft your moss-traversing spunkies\"";
+ mes "\"Decoy the wight that late an drunk is:\"";
+ mes "\"The bleezin, curst, mischievous monkeys\"";
+ mes "\"Delude his eyes,\"";
+ mes "\"Till in some miry slough he sunk is,\"";
+ mes "\"Ne'er mair to rise.\"";
+ next;
+ mes "\"When Masons' mystic word an grip\"";
+ mes "\"In storms an' tempests raise you up,\"";
+ mes "\"Some cock or cat your rage maun stop,\"";
+ mes "\"Or, strange to tell!\"";
+ mes "\"The youngest brither ye wad whip\"";
+ mes "\"Aff straught to hell!\"";
+ next;
+ mes "\"Lang syne, in Eden'd bonie yard,\"";
+ mes "\"When youthfu' lovers first were pair'd,\"";
+ mes "\"An all the soul of love they shar'd,\"";
+ mes "\"The raptur'd hour,\"";
+ mes "\"Sweet on the fragrant flow'ry swaird,\"";
+ mes "\"In shady bow'r;\"";
+ next;
+ mes "\"Then you, ye auld snick-drawin dog!\"";
+ mes "\"Ye cam to Paradise incog,\"";
+ mes "\"And play'd on man a cursed brogue,\"";
+ mes "\"(Black be your fa'!)\"";
+ mes "\"An gied the infant warld a shog,\"";
+ mes "\"Maist ruin'd a'.\"";
+ next;
+ mes "\"D'ye mind that day, when in a bizz,\"";
+ mes "\"Wi' reeket duds an reestet gizz,\"";
+ mes "\"Ye did present your smoutie phiz\"";
+ mes "\"Mang better folk,\"";
+ mes "\"An' sklented on the man of Uz\"";
+ mes "\"Your spitefu' joke?\"";
+ next;
+ mes "\"An' how ye gat him i' your thrall,\"";
+ mes "\"An' brak him out o' house and hal',\"";
+ mes "\"While scabs and blotches did him gall,\"";
+ mes "\"Wi' bitter claw,\"";
+ mes "\"An' lows'd his ill-tongued, wicked scaul,\"";
+ mes "\"Was warst ava?\"";
+ next;
+ mes "\"But a' your doings to rehearse,\"";
+ mes "\"Your wily snares an' fechtin fierce,\"";
+ mes "\"Sin' that day Michael did you pierce,\"";
+ mes "\"Down to this time,\"";
+ mes "\"Wad ding a Lallan tongue, or Erse,\"";
+ mes "\"In prose or rhyme.\"";
+ next;
+ mes "\"An' now, Auld Cloots, I ken ye're thinkin,\"";
+ mes "\"A certain Bardie's rantin, drinkin,\"";
+ mes "\"Some luckless hour will send him linkin,\"";
+ mes "\"To your black pit;\"";
+ mes "\"But faith! he'll turn a corner jinkin,\"";
+ mes "\"An' cheat you yet.\"";
+ next;
+ mes "\"But fare you weel, Auld Nickie-ben!\"";
+ mes "\"O wad ye tak a thought an' men'!\"";
+ mes "\"Ye aiblins might--I dinna ken--\"";
+ mes "\"Still hae a stake:\"";
+ mes "\"I'm wae to think upo' yon den,\"";
+ mes "\"Ev'n for your sake!\"";
+ next;
+ mes "\"Well, that was the poem. What do you think of it?\"";
+ menu
+ "It was a bit long and kind of hard to understand, but thanks for reading.", L_Close;
+
+L_Full_Inv:
+ mes "[Shannon]";
+ mes "\"On second thought, your possessions seems to be a burden to you.\"";
+ next;
+ mes "\"Maybe you should turn away from the mundane world and get rid of this burden to change your view to the beauty of poetry.\"";
+ close;
+
+S_food_menu:
+ setarray @choice_idx, 0,0,0,0,0,0;
+ setarray @choice$, "","","","","","";
+
+ @C_steak = 676;
+ @C_chickenleg = 562;
+ @C_redapple = 535;
+ @C_greenapple = 719;
+ @C_beer = 539;
+
+ // counter of available answers
+ @choices_nr = 0;
+
+ if (countitem("Steak") == 0)
+ goto L_Nosteaks;
+ @choice_idx[@choices_nr] = @C_steak;
+ @choice$[@choices_nr] = "Offer him a steak.";
+ @choices_nr = @choices_nr + 1;
+ goto L_Nosteaks;
+
+L_Nosteaks:
+ if (countitem("ChickenLeg") == 0)
+ goto L_Nochickenleg;
+ @choice_idx[@choices_nr] = @C_chickenleg;
+ @choice$[@choices_nr] = "Offer him a chicken leg.";
+ @choices_nr = @choices_nr + 1;
+ goto L_Nochickenleg;
+
+L_Nochickenleg:
+ if (countitem("RedApple") == 0)
+ goto L_Noredapple;
+ @choice_idx[@choices_nr] = @C_redapple;
+ @choice$[@choices_nr] = "Offer him a red apple.";
+ @choices_nr = @choices_nr + 1;
+ goto L_Noredapple;
+
+L_Noredapple:
+ if (countitem("GreenApple") == 0)
+ goto L_Nogreenapple;
+ @choice_idx[@choices_nr] = @C_greenapple;
+ @choice$[@choices_nr] = "Offer him a green apple.";
+ @choices_nr = @choices_nr + 1;
+ goto L_Nogreenapple;
+
+L_Nogreenapple:
+ if (countitem("Beer") == 0)
+ goto L_NoBeer;
+ @choice_idx[@choices_nr] = @C_beer;
+ @choice$[@choices_nr] = "Offer him a beer.";
+ @choices_nr = @choices_nr + 1;
+ goto L_NoBeer;
+
+L_NoBeer:
+ @choice_idx[@choices_nr] = @C_nevermind;
+ @choice$[@choices_nr] = "Leave";
+
+ menu
+ @choice$[0],L_MenuItems,
+ @choice$[1],L_MenuItems,
+ @choice$[2],L_MenuItems,
+ @choice$[3],L_MenuItems,
+ @choice$[4],L_MenuItems,
+ @choice$[5],L_MenuItems,
+ @choice$[6],L_MenuItems,
+ @choice$[7],L_MenuItems,
+ @choice$[8],L_MenuItems,
+ @choice$[9],L_MenuItems,
+ @choice$[10],L_MenuItems;
+
+L_MenuItems:
+ @choose = @menu - 1;
+ if (@choice_idx[@choose] == 0)
+ goto L_Close;
+ if ((countitem("Steak") != 0) && (@choice_idx[@choose] == @C_steak))
+ goto L_RmItem;
+ if ((countitem("ChickenLeg") != 0) && (@choice_idx[@choose] == @C_chickenleg))
+ goto L_RmItem;
+ if ((countitem("RedApple") != 0) && (@choice_idx[@choose] == @C_redapple))
+ goto L_RmItem;
+ if ((countitem("GreenApple") != 0) && (@choice_idx[@choose] == @C_greenapple))
+ goto L_RmItem;
+ if ((countitem("Beer") != 0) && (@choice_idx[@choose] == @C_beer))
+ goto L_RmItem;
+
+ // fallthrough only when player remove the items while in menu, trying to cheat
+ // the quest will need to be started again
+ mes "\"What you are offering, you do not have. Do not try to betray me. Come back when you have better morals.\"";
+ close;
+
+L_RmItem:
+ delitem @choice_idx[@choose], 1;
+ return;
+*/
+L_Close:
+ close;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
+
+017-3,80,32,0 script Dimonds Cove Story NPC_NO_SPRITE,{
+ mesn l("The Story of Dimonds Cove");
+ next;
+ mes l("One day Dimond D. Stone dreamed of her own restaurant.");
+ mes l("Dimond sold her food alone in this spot for some time,");
+ mes l("longing for the day she would have a building.");
+ mes l("She met an adventurer named Merlin outside of the");
+ mes l("desert mines one day.");
+ next;
+ mes l("They became friends and Dimond told Merlin about her idea.");
+ mes l("Merlin was a accomplished carpenter and wanted to make a new");
+ mes l("place in the world. He told Dimond that he would make her");
+ mes l("restaurant for her. He gathered the tools and after much");
+ mes l("hard work, Dimonds Cove was built.");
+ next;
+ mes l("At January 2008 - Construction of Dimonds Cove.");
+ close;
+
+OnInit:
+ .sex=G_OTHER;
+ .distance=3;
+ end;
+}
+
+/*
+017-3,71,30,0 script Inn NPC400,{
+ mes "Welcome to the Dimonds Cove Inn";
+ mes "Rooms are 200 gp a night.";
+ mes "Plese check in with Basil.";
+ close;
+}
+
+017-3,24,27,0 shop Bartender NPC112,539:87,567:250,568:250
+
+017-3,32,34,0 shop Waitress NPC139,519:50,533:55,534:45,562:125,676:100
+
+017-3,85,41,0 shop Blacksmith NPC146,545:5000,529:2,603:1000
+
+017-3,65,41,0 shop General Store#dimond NPC137,586:500,524:800,544:2000,632:500,528:500,735:500
+
+017-3,75,68,0 script Basil NPC_TOMBOY,{
+ showavatar NPC_TOMBOY;
+ if (!is_night())
+ goto L_Day;
+ mesn;
+ mesq l("For only 100 GP, you can sleep on the beds of the Land Of Fire.");
+ if (Zeny < 100)
+ close;
+ next;
+ mesn;
+ mesq l("The nanorob-- err, the *magic* will seal all your wounds. You trust Basil, right?");
+ next;
+ select
+ rif(Zeny > 100, l("Yes, please, book me a bed.")),
+ l("Uh... I *just* remembered I have something else to do!");
+ if (@menu == 2)
+ close;
+ Zeny=Zeny-100;
+ recovery(getcharid(3));
+ if (rand2(1,3) == 1)
+ sc_start SC_POISON, 60000, 0, 10000;
+ else
+ sc_start SC_ATTHASTE_POTION1, 60000, 5;
+
+ close;
+
+L_Day:
+ mesn;
+ mesq l("You can't sleep here during daytime!");
+ close;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+*/
+
diff --git a/npc/017-3/doctor.txt b/npc/017-3/doctor.txt
new file mode 100644
index 0000000..42ed43b
--- /dev/null
+++ b/npc/017-3/doctor.txt
@@ -0,0 +1,377 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Part from THE EPISODE quest
+// Reference:
+// http://forums.landoffire.org/viewtopic.php?f=7&t=1320&sid=80d2c735b55ccb06a39955a8fbca3913
+
+017-3,75,68,0 script The Doctor NPC_LOF_DOCTOR,{
+ showavatar NPC_LOF_DOCTOR;
+ .@q=getq(LoFQuest_EPISODE);
+ if (BaseLevel < 30) goto L_Weak;
+ if (.@q == 13) goto L_Poison;
+ if (.@q == 14) goto L_TimeFlask;
+ if (.@q == 15) mesc l("You don't look so well, have you already used the %s to defeat the Soul Eater?", getitemlink(TimeFlask)), 1;
+ if (.@q == 1) goto L_Check;
+ if (.@q == 2 && BaseLevel >= 40) goto L_Miler;
+ if (.@q >= 2) goto L_Tea;
+ mesn;
+ mesq l("Quite interesting, quite interesting indeed.");
+ menu
+ l("Um, might I ask, what is so interesting?"), L_Intro,
+ l("Yes, uhh, very interesting indeed. Haha. I better leave..."), -;
+ mes "";
+ mesc l("@@ stares you as you slowly get away from him. Odd person.", .name$);
+ close;
+
+L_Intro:
+ mes "";
+ mesn;
+ mesq l("Well, you are. You're quite interesting. I've been watching you for some time now, as you've been helping so many people: you're quite a master at what you do, you know.");
+ menu
+ l("Well, thanks."), L_IntroContinue,
+ l("Ok then... Uh... Please excuse me....."), -;
+ mes "";
+ mesc l("@@ stares you as you slowly get away from him. Odd person.", .name$);
+ close;
+
+L_IntroContinue:
+ mes "";
+ mesn;
+ mesq l("I don't suppose you have some herbs and a few bottles of potion with you, do you?");
+ menu
+ l("'Some herbs and potion'? Could you be more specific?"), L_IntroSpecify,
+ l("Certainly not. Uhh, please excuse me."), -;
+ mes "";
+ mesc l("@@ stares you as you slowly get away from him. Odd person.", .name$);
+ close;
+
+L_IntroSpecify:
+ mes "";
+ mesn;
+ mesq l("Ah, sorry, of course. I need quite a few herbs, look:");
+ mesc l("@@/150 @@", countitem(MauveHerb), getitemlink(MauveHerb));
+ mesc l("@@/150 @@", countitem(CobaltHerb), getitemlink(CobaltHerb));
+ mesc l("@@/150 @@", countitem(GambogeHerb), getitemlink(GambogeHerb));
+ mesc l("@@/100 @@", countitem(AlizarinHerb), getitemlink(AlizarinHerb));
+ mesc l("@@/50 @@", countitem(ShadowHerb), getitemlink(ShadowHerb));
+ mesc l("@@/10 @@", countitem(HastePotion), getitemlink(HastePotion));
+ menu
+ l("That shouldn't been too hard, but do I get something in return?"), L_IntroReward,
+ l("O.o \"That's a lot. Maybe another day.\""), -;
+ mes "";
+ mesc l("@@ stares you as you slowly get away from him. Odd person.", .name$);
+ close;
+
+L_IntroReward:
+ mes "";
+ mesn;
+ mesq l("I suppose, what would you like?");
+ next;
+ mesn;
+ mesq l("Er, nevermind, I've thought of something to give you. You can go off now and get what I need.");
+ setq LoFQuest_EPISODE, 1;
+ close;
+
+L_Check:
+ mesn;
+ mesq l("Did you brought what I asked for?");
+ mesc l("@@/150 @@", countitem(MauveHerb), getitemlink(MauveHerb));
+ mesc l("@@/150 @@", countitem(CobaltHerb), getitemlink(CobaltHerb));
+ mesc l("@@/150 @@", countitem(GambogeHerb), getitemlink(GambogeHerb));
+ mesc l("@@/100 @@", countitem(AlizarinHerb), getitemlink(AlizarinHerb));
+ mesc l("@@/50 @@", countitem(ShadowHerb), getitemlink(ShadowHerb));
+ mesc l("@@/10 @@", countitem(HastePotion), getitemlink(HastePotion));
+ next;
+ if (askyesno() != ASK_YES)
+ close;
+ inventoryplace HerbalTea, 5;
+ if (
+ countitem(MauveHerb) < 150 ||
+ countitem(CobaltHerb) < 150 ||
+ countitem(GambogeHerb) < 150 ||
+ countitem(AlizarinHerb) < 100 ||
+ countitem(ShadowHerb) < 50 ||
+ countitem(HastePotion) < 10)
+ goto L_Missing;
+ delitem MauveHerb, 150;
+ delitem CobaltHerb, 150;
+ delitem GambogeHerb, 150;
+ delitem AlizarinHerb, 100;
+ delitem ShadowHerb, 50;
+ delitem HastePotion, 10;
+ getexp 7995, 0;
+ setq LoFQuest_EPISODE, 2;
+ getitem HerbalTea, 5;
+ mesn;
+ mesq l("Mmm, it's been so long since I have had herbal tea. You have my gratitude.");
+ next;
+ mesn strcharinfo(0);
+ mesq l("Seriously? What sort of reward is that?");
+ next;
+ mesn;
+ mesq l("Well, I suppose you can have some of my tea.");
+ close;
+
+L_Tea:
+ mesn;
+ mesq l("If you want, you can bring me some more of those herbs and potions.");
+ mesc l("@@/30 @@", countitem(MauveHerb), getitemlink(MauveHerb));
+ mesc l("@@/30 @@", countitem(CobaltHerb), getitemlink(CobaltHerb));
+ mesc l("@@/30 @@", countitem(GambogeHerb), getitemlink(GambogeHerb));
+ mesc l("@@/20 @@", countitem(AlizarinHerb), getitemlink(AlizarinHerb));
+ mesc l("@@/10 @@", countitem(ShadowHerb), getitemlink(ShadowHerb));
+ mesc l("@@/2 @@", countitem(HastePotion), getitemlink(HastePotion));
+ menu
+ rif(getq(LoFQuest_EPISODE) == 16, l("Actually, about the Soul Eater...")), L_Cont,
+ l("Alright, I have them here!"), L_Check2,
+ l("No thanks, see ya!"), -;
+ close;
+
+L_Check2:
+ inventoryplace HerbalTea, 1;
+ if (
+ countitem(MauveHerb) < 30 ||
+ countitem(CobaltHerb) < 30 ||
+ countitem(GambogeHerb) < 30 ||
+ countitem(AlizarinHerb) < 20 ||
+ countitem(ShadowHerb) < 10 ||
+ countitem(HastePotion) < 2)
+ goto L_Missing;
+ delitem MauveHerb, 30;
+ delitem CobaltHerb, 30;
+ delitem GambogeHerb, 30;
+ delitem AlizarinHerb, 20;
+ delitem ShadowHerb, 10;
+ delitem HastePotion, 2;
+ getexp 122, 12;
+ getitem HerbalTea, 1;
+ mesn;
+ mesq l("Thanks, enjoy your tea! I will certainly enjoy mine!");
+ close;
+
+L_Weak:
+ mesn;
+ mesq l("Hmm, it's very interesting, very ... (mumbling).");
+ close;
+
+L_Missing:
+ mesn;
+ mesq l("Sorry, you do not have enough ingredients. You'd better search thoroughly.");
+ close;
+
+/////// Second Act
+L_Miler:
+ mesn;
+ mesq l("Thank you for helping me make my tea. I hope the potions have been helpful...");
+ next;
+ mesn;
+ mesq l("That reminds me. I have a friend in Nivalis named Miler who gave me some hints on the recipe. Would you take him a sample of what I gave you?");
+ mesq l("If you've used all the ones I've given, you can always bring me more ingredients.");
+ menu
+ "I'll go right away.", -,
+ "Ah, I suppose I need to gather more ingredients first...", -;
+ setq LoFQuest_EPISODE, 3;
+ close;
+
+/////// Final Act
+L_Poison:
+ mesn;
+ mesq l("%s, how in the world you got this status ailment?!", strcharinfo(0));
+ next;
+ select
+ l("I don't know."),
+ l("Henry gave something to drink.");
+ mes "";
+ mesn;
+ mesq l("Listen, this is not a disease. No remedy can cure you, and it cannot be inflicted by consumables.");
+ next;
+ mesn;
+ mesq l("Have you been fiddling with time? Anyway, this is not a disease, but a ##Bcomplex curse##b.");
+ next;
+ mesn;
+ mesq l("This curse reclaims your soul to the Soul Eater. Except, she perished on the Great Fire.");
+ next;
+ mesn;
+ mesq l("Meaning you must warp shortly before the Great Fire, defeat her, and be back before the Great Fire happen.");
+ next;
+ mesn;
+ mesq l("For now, eat this. It'll improve your condition... for now. I don't know where you'll find a time travelling device, but if you find one, come to me. I'll help you.");
+ setq LoFQuest_EPISODE, 14;
+ sc_end SC_POISON;
+ close;
+
+L_TimeFlask:
+ mesn;
+ mesq l("If you don't defeat the Soul Eater before the Great Fire happens, which for the record, has already happened, your soul will slowly be reclaimed by her until your existence ceases to serve as fuel to bring back one of the greatest horrors of story.");
+ next;
+ if (!countitem(TimeFlask)) {
+ mesn;
+ mesq l("You better find a way to travel back in time soon!");
+ close;
+ }
+ if (BaseLevel < 70) {
+ mesn;
+ mesq l("It'll be too dangerous if you're not at least level %d. But I'm sure you can grind the required level in no time; Don't let your body down! Exercise!", 70);
+ close;
+ } else if (BaseLevel < 80) {
+ mesn;
+ mesq l("Mhm, you're still weak, I would prefer you to be level %d+ before doing this, but... Whatever, you might even survive.", 80);
+ next;
+ }
+ mesn;
+ mesq l("This %s will do. I mean, it won't be a comfortable trip, but you are in an emergency situation.", getitemlink(TimeFlask));
+ next;
+ mesn;
+ mesq l("Listen, I'll use a trick which I learned in, uh, a past life of mine, so if you die, reality resets your being.");
+ next;
+ mesn;
+ mesq l("This means that if you die while in the past, you'll be brought back here as if you never traveled in time.");
+ next;
+ mesn;
+ mesq l("Sounds awesome, but this will also reset a bunch of your progress... And with something as lame as a %s, you'll need quite a while to warp again. Uh, if you can, bring friends, the Soul Eater is... not to be trifled with.", getitemlink(TimeFlask));
+ next;
+ mesn;
+ mesq l("I'll configure your flask to a few hours before the Great Fire breaks out. You're looking for \"The Queen's party\" hideout. Do you need a quick history lesson?");
+ if (askyesno() == ASK_YES) {
+ mes "";
+ mesn;
+ mesq l("Very well. The Platinum Red Queen died in her sleep and the Soul Eater took her role. But the Soul Eater was a tyrant and soon enough, \"she\" was murdered. A Council has taken over Tulimshar on the meanwhile and is doing intense research.");
+ next;
+ mesn;
+ mesq l("This research caused a lot of neglect, so expect poverty and people unwilling to talk. Benjamin, head of the council, is doing a \"breaktrhough\" in the most literal sense possible (breaking through the whole town finances instead of revolutionizing the world).");
+ next;
+ mesn;
+ mesq l("The situation is grim, and some want the return of the Platinum Red Queen. The \"Soul Eater\" is back, pretending to be her ghost, and the Black Razor believed on it. They made \"The Queen's Party\" and want to reinstate the queen.");
+ next;
+ mesn;
+ mesq l("They haven't found Mana Stones yet, so no magic, but alchemy is strong. I don't know what caused the Great Fire, and the whole event is time-locked. You can ask Falkrun for more about the Great Fire. That's what you need to know for now.");
+ next;
+ }
+ mes "";
+ mesn;
+ mesq l("Good luck, %s. You'll need it.", strcharinfo(0));
+ setq LoFQuest_EPISODE, 15;
+ close;
+
+/////// Epilogue
+L_Cont:
+ mes "";
+ mesn;
+ mesc l("The doctor quickly analyzes you with some tool. Which looks like a screwdriver? Probably just a generic scanner, though.");
+ mesq l("Gimme a second... Yes, you seem to be fine now, very well, congratulations!");
+ next;
+ inventoryplace SaviorBlueprint, 1;
+ select
+ l("Why, thank you!"),
+ l("It was a tough fight."),
+ l("I met Elli.");
+ mes "";
+ if (@menu == 1) close;
+ if (@menu == 2) {
+ mesn;
+ mesq l("I'm sure it was, now go rest a bit, you deserve it!");
+ close;
+ }
+ mesc l("The doctor raises an eyebrow at you.");
+ next;
+ mesn;
+ mesq l("Figures she would be involved. What did she say?");
+ do
+ {
+ next;
+ select
+ l("Nothing important."),
+ l("That she would stop the Soul Eater in past and future."),
+ l("That she was one of the originals."),
+ l("To defeat the Moubootaur.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesn;
+ mesq l("That's because you weren't paying attention!");
+ next;
+ mesn;
+ mesq l("Listen, kid, one does not simply ignore Elli! She is too scary to be ignored!");
+ break;
+ case 2:
+ mesn;
+ mesq l("Of course. I bet Elli is the one who cursed you, who started the Great Fire and who put the time lock in place.");
+ next;
+ mesn;
+ mesq l("She wanted the Soul Eater defeated. Destroying the whole world never stopped her before.");
+ next;
+ mesn;
+ mesq l("She is a scary woman and you would do well to remember this.");
+ break;
+ case 3:
+ mesn;
+ mesq l("Ah, the originals. Had the displeasure to met a few of them in the past and in the future with my time machine.");
+ next;
+ mesn;
+ mesq l("There are only four which you could want to know about.");
+ next;
+ mesn;
+ mesq l("First, %s is the Guardian of Law and Order. He ensures all rules are followed, and if anything breaks them, he erases their existence.", b("Mr. Saves"));
+ next;
+ mesn;
+ mesq l("For example, when an item is dropped to the ground, it rots away and disappear. It cannot be recovered. If an item were to break such rule, Mr. Saves would intervene.");
+ next;
+ mesn;
+ mesq l("He is by far the most powerful, and has a few chosen ones to whom he granted what we call \"SQL Magic\". Everyone envies power, so there's the imitation of that, \"GM Magic\", but unrelated to Mr. Saves.");
+ next;
+ mesn;
+ mesq l("Next we have %s. It guards the world itself and grants all kinds of magic.", b(l("The Mana Source")));
+ next;
+ mesn;
+ mesq l("Then we have %s. You met her. She guards all Talpan beings, such as Humans, Elves, Reidys, Orcs and whatever. She is an evil woman. She grants nothing to her followers.", b(l("Elli")));
+ next;
+ mesn;
+ mesq l("I miss Ms. De'Kagen, she was very benevolent but from another world. Why does this one only have annoying pricks for Originals. Wait, I'm getting sidetracked.");
+ next;
+ mesn;
+ mesq l("The last one is %s. You will meet him in the future, so no spoilers. Time traveler word.", b(l("The Moubootaur")));
+ break;
+ }
+ } while (@menu != 4);
+ mesn;
+ mesq l("Sorry, but no spoilers. You'll met the Moubootaur soon enough.");
+ next;
+ mesn;
+ mesq l("He guards what you call \"monsters\", but he favor Mouboos. He is possibly the oldest of the Originals.");
+ next;
+ mesn;
+ mesq l("He dislikes Talpans like you. The Mana Source chained him in ancient times, though, so the Talpans could flourish.");
+ next;
+ mesn;
+ mesq l("After the Great Fire... you don't find our world's Elli ever again.");
+ // The Great Fire is her final act. Elli is declared dead shortly after. The causes of her death are unknown but certainly violent. She likely knew her time was coming, and wanted both to get rid of the Soul Eater before this, as to ensure no one would miss her, adding her along the list of those claimed by the fire.
+ next;
+ mesn;
+ mesq l("Keep following the path. Take this and... good luck.");
+ getexp 300000, 0;
+ getitem SaviorBlueprint, 1;
+ setq LoFQuest_EPISODE, 17;
+
+ // Less relevant
+ EPISODE_WINNER=gettimetick(2);
+ if ($EPISODE_WINNER$ == "") {
+ $EPISODE_WINNER$=strcharinfo(0);
+ channelmes("#world", $EPISODE_WINNER$+" is the first player to finish The Episode of Ozthokk!! GG, dude! %%N");
+ announce "All hail ##B"+$EPISODE_WINNER$+"##b, first to complete ##3The Episode of Ozthokk!", bc_all|bc_npc;
+ getexp 0, 2000;
+ getitem PrismGift, 1;
+ mesc l("CONGRATULATIONS! You are the first player to finish The Episode of Ozthokk!!"), 2;
+ mesc l("You just gained a Prism Gift, and 2000 Job Exp for your bravery!"), 2;
+ next;
+ }
+ close;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+
+}
diff --git a/npc/017-3/doug.txt b/npc/017-3/doug.txt
new file mode 100644
index 0000000..a6ad8d8
--- /dev/null
+++ b/npc/017-3/doug.txt
@@ -0,0 +1,64 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Saulc
+// Description:
+// Weekly Quest
+
+017-3,68,87,0 script Doug NPC_PLAYER,{
+ if (BaseLevel < 25)
+ goto L_Weak;
+ .@q2=getq2(LoFQuest_Doug);
+ if (.@q2 < santime()) {
+ mesn;
+ mesq l("This room is too dark. I want to brighten it up.");
+ next;
+ .@price=(getiteminfo(CaveSnakeLamp, ITEMINFO_SELLPRICE)*3)*8;
+ mesn;
+ mesq l("I am willing to pay @@ GP for 10 @@ you bring me!", .@price, getitemlink(CaveSnakeLamp));
+ next;
+ select
+ rif(countitem(CaveSnakeLamp) >= 10, l("Here they are!")),
+ l("Not now...");
+ mes "";
+ if (@menu == 1) {
+ delitem CaveSnakeLamp, 10;
+ Zeny=Zeny+.@price; //864
+ getexp (.@price*rand(100,200)/100), 10; // 864 - 1728
+ setq2 LoFQuest_Doug, santime()+(60*60*24*7);
+ mesn;
+ mesq l("Many, many thanks!");
+ next;
+ }
+ mesn;
+ mesq l("Too bad these lamps wear off after a while... I am making stocks of them now!");
+ close;
+ } else {
+ mesn;
+ mesq l("Thanks for the help!");
+ close;
+ }
+
+L_Weak:
+ mesn;
+ mesq l("Heya dude! Don't you think this room is too dark?");
+ next;
+ mesn;
+ mesq l("I am trying to invent the light bulb, but my name is not Thomas...");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, FancyHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CreasedShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ setunitdata(.@npcId, UDT_WEAPON, JeansShorts);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 2);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
+
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/017-3/gambler.txt b/npc/017-3/gambler.txt
new file mode 100644
index 0000000..7d5c848
--- /dev/null
+++ b/npc/017-3/gambler.txt
@@ -0,0 +1,165 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Gambler: Can you remember the sequence?
+
+017-3,23,38,0 script Gambler#017-3 NPC_PLAYER,{
+ function colorname {
+ switch (getarg(0)) {
+ case 1:
+ return "Green"; break;
+ case 2:
+ return "Blue"; break;
+ case 3:
+ return "Red"; break;
+ case 4:
+ return "Yellow"; break;
+ case 5:
+ return "Exit"; break;
+ default:
+ return l("ERROR: %d", getarg(0));
+ }
+ }
+
+ goto L_Menu;
+
+L_Menu:
+ showavatar NPC_FLOPPED_NOBLEMAN;
+ mesn;
+ mesc l("Gambling is for the weak, I offer you a true game!");
+ mesc l("You need %d %s. I'll start showing you sequences of colors.", .price, getitemlink(CasinoCoins));
+ mesc l("The farther you go on the sequence, the better the payout!");
+ next;
+ menu
+ rif(countitem(CasinoCoins) >= .price, l("Let's play!")), L_Start,
+ l("Information"), L_Info,
+ l("Leave"), -;
+ close;
+
+L_Info:
+ mes "";
+ mesc l("Rules:");
+ mesc l("A color sequence will be displayed on the avatar frame.");
+ mesc l("You must then repeat the sequence at the board which will show.");
+ next;
+ mesc l("Prizes:");
+ mesc l("You'll get %d GP every time you finish the sequence.", .prize);
+ next;
+ mesc l("Winning Strike Prizes:");
+ mesc l("Every %d sequences, you'll get a %s!", 10, getitemlink(StrangeCoin));
+ mesc l("If you get %d sequence, you'll get a %s!", 30, getitemlink(BronzeGift));
+ mesc l("If you get %d sequence, you'll get a %s!", 50, getitemlink(SilverGift));
+ //mesc l("If you get %d sequence, you'll get a %s!", 50, getitemlink(GoldenGift));
+ next;
+ goto L_Menu;
+
+
+L_Start:
+ showavatar AVATAR_SEQBOARD;
+ mesc l("Pay attention to the sequence!");
+ next;
+ delitem CasinoCoins, .price;
+ deletearray(@sequence);
+ @streak=0;
+
+L_Sequence:
+ // Configure
+ setnpcdialogtitle l("Memorize the sequence!");
+ array_push(@sequence, 1+rand2(4));
+ sleep2(1000);
+
+ // Display
+ freeloop(true);
+ for (.@i=0;.@i < getarraysize(@sequence);.@i++) {
+ showavatar 1200+@sequence[.@i];
+ sleep2(1200-(@streak*20));
+ }
+ freeloop(false);
+
+ // Request
+ setnpcdialogtitle l("What was the sequence?");
+ showavatar AVATAR_SEQBOARD;
+ sleep2(500);
+
+ for (.@i=0;.@i < getarraysize(@sequence);.@i++) {
+ setskin "seqboard";
+ select
+ l("Green"),
+ l("Blue"),
+ l("Red"),
+ l("Yellow"),
+ l("Exit");
+ .@ans=@menu;
+ setskin "";
+ mes "";
+ mes l("%s", colorname(.@ans));
+ //next;
+ setnpcdialogtitle strnpcinfo(1);
+
+ // Exit
+ if (.@ans == 5)
+ goto L_Close;
+
+ // Wrong reply
+ if (.@ans != @sequence[.@i])
+ goto L_Wrong;
+ // Correct!
+ }
+ mes "";
+ showavatar AVATAR_SEQBOARD_WELL;
+
+ // Seems like everything is/was correct
+ mesn;
+ mesq l("Congratulations! Everything was correct!");
+ Zeny+=.prize;
+ @streak+=1;
+
+ // Winning Streak
+ if (@streak % 10 == 0)
+ getitem StrangeCoin, 1;
+ if (@streak == 30)
+ getitem BronzeGift, 1;
+ if (@streak == 50)
+ getitem SilverGift, 1;
+ mesc l("Your current win streak is @@!", @streak);
+ next;
+ // Game over
+ if (@streak == 50)
+ goto L_Close;
+ // Otherwise, go ahead
+ mesn;
+ mesc l("Continue?"), 1;
+ next;
+ if (askyesno() == ASK_YES)
+ goto L_Sequence;
+ goto L_Close;
+
+L_Wrong:
+ showavatar AVATAR_SEQBOARD_FAIL;
+ mesn;
+ mesq l("Oh no... That is wrong! %%3");
+ next;
+ mesn;
+ mesq l("Better luck next time!");
+ close;
+
+L_Close:
+ mesn;
+ mesq l("Thanks for playing!");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, TopHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CreasedShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, JeansShorts);
+
+ .sex = G_MALE;
+ .distance = 4;
+ .price = 5;
+ .prize = 50;
+ npcsit;
+ end;
+}
+
diff --git a/npc/017-3/loratay.txt b/npc/017-3/loratay.txt
new file mode 100644
index 0000000..410f06e
--- /dev/null
+++ b/npc/017-3/loratay.txt
@@ -0,0 +1,1221 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// TODO - Makes the Golden Warlord Plate into the Savior Plate.
+// Not part from the EPISODE quest.
+// Requires Titanium, Iridium, and Silk
+// Requires some money and level too (Savior Plate is level 109 item iirc?)
+
+017-3,85,85,0 script Lora Tay NPC_GLASS_OLD_LADY,{
+ showavatar NPC_GLASS_OLD_LADY;
+ // bugfix, please move to select()
+ if ($EVENT$ == "Valentine" && getq(SQuest_Valentine) != gettime(GETTIME_YEAR)) goto L_Valentine;
+
+ mesn;
+ mesq l("Don't interrupt me, I'm busy!");
+ next;
+ mesn;
+ mesq l("In a few weeks, I will finish the @@ plans, and there will be no doubts, that @@ is not the best weaver in the world!", getitemlink(SaviorArmor), .name$);
+ close;
+
+L_Valentine:
+ mesn;
+ mesq l("It's valentine day, and I got my hands on a @@ model!", getitemlink(ValentineDress, RedDye));
+ next;
+ // Standard date: 12~15 feb
+ // Std price range: 288 ~ 383 points
+ .@todayprice=(gettime(GETTIME_DAYOFMONTH)*24)+gettime(GETTIME_HOUR);
+ mesn;
+ mesq l("You currently have @@ event points, but for ONLY @@ points I can make a dress for you!", #VALENTINE_POINTS, .@todayprice);
+ mesc l("The price raises hourly, don't leave to make it on the last day!");
+ if (#VALENTINE_POINTS < .@todayprice)
+ close;
+ next;
+ mesn;
+ mesq l("Do you want to trade your points? The demand keep raising, and so does the price!");
+ mesc l("Note: The points will NOT be consumed on 2020."), 3;
+ if (askyesno() == ASK_NO)
+ close;
+
+ setq SQuest_Valentine, gettime(GETTIME_YEAR);
+ if (gettime(GETTIME_YEAR) != 2020)
+ #VALENTINE_POINTS-=.@todayprice;
+ getitem2(ValentineDress, 1, 1, 0, 0, any(RedDye, RedDye, DarkRedDye, RedDye), 0,0,0); // 25% chance to get an ugly dress
+ getexp BaseLevel*110, JobLevel*11;
+ mesn;
+ mesq l("There you go, your Valentine Dress!");
+ mesq lg("Good luck with your boyfriend!", "Good luck with your girlfriend!");
+ next;
+
+ mesn strcharinfo(0);
+ if (getpartnerid()) {
+ mesc lg("I'm already married, though...");
+ } else {
+ mesc lg("Thanks... I guess...");
+ }
+ close;
+
+ /*
+ set @ROBE_COCOONS_NR, 150; // must be multiple of ten
+ @ROBE_ZENY = 10000;
+ set @ROBE_SHEETS_NR, 6; // number of silk sheets required for the silk robe. Must be less than 10.
+ set @ROBE_SHEETS_ZENY, 6000; // price of the silk robe when bringing silk sheets.
+ set @Robe_with_sheets, 0; // will be set to 1 if silk robe is made with sheets
+ @FINEDRESS_COCOONS = 180;
+ @SORCERER_ROBE_SEW_ZENY = 25000;
+ @SORCERER_ROBE_NUM_COTTON_CLOTH = 2;
+ setarray @item_colors$, "red", "green", "dark blue", "yellow", "light blue", "pink", "black", "orange", "purple", "dark green", "white";
+
+ if (@loratay_asking_robe == 1) goto L_ExamineSorcererRobe;
+ if (QUEST_WG_state == 10) goto L_agostine_menu;
+ if (QUEST_WG_state == 11 || QUEST_WG_state == 12) goto L_regular_intro;
+ if (QUEST_WG_state == 13) goto L_proposal_intro;
+ if (QUEST_WG_state == 14) goto L_proposal_show_materials;
+ if (QUEST_WG_state == 15) goto L_proposal_search_items;
+ if (QUEST_WG_state == 16) goto L_proposal_retrieve_design;
+ if (QUEST_WG_state == 17) goto L_proposal_bringing_design;
+ if (QUEST_WG_state == 18) goto L_proposal_wait_dress_finished;
+ if (QUEST_WG_state == 19) goto L_proposal_dress_finished;
+ if (QUEST_WG_state >= 20 && QUEST_WG_state < 23) goto L_proposal_deliver_dress;
+ if (QUEST_WG_state >= 23) goto L_regular_intro;
+
+ @t = rand(3);
+ if (@t == 0) goto L_Intro_0;
+ if (@t == 1) goto L_Intro_1;
+
+ mes "You see a middle-aged woman furiously sewing away at what appears to be a very expensive dress. Her fingers are moving so nimbly that you find it near-impossible to follow the needle.";
+ goto L_Intro_over;
+
+L_Intro_0:
+ mes "You notice a middle-aged woman carefully drawing lines on a large sheet of cotton.";
+ goto L_Intro_over;
+
+L_Intro_1:
+ mes "You see a middle-aged woman cautiously but surprisingly swiftly cutting out shapes from a huge cotton sheet. The scissors glide along the cloth as if it were butter, never leaving the premarked lines.";
+ goto L_Intro_over;
+
+L_Intro_over:
+ next;
+ mes "She suddenly stops and looks up.";
+ next;
+ mes "\"Now who are you, and what are you doing here?\"";
+ mes "She squints, pushes her thick spectacles up the bridge of her nose and eyes you suspiciously.";
+ next;
+
+ @agostine_msg0$ = "";
+ @agostine_msg1$ = "";
+
+ if (QUEST_WG_state >= 1)
+ @agostine_msg0$ = "Do you know Agostine?";
+ if ((QUEST_WG_state >= 9) && (countitem("FurBoots")))
+ @agostine_msg1$ = "Can you make fur boots, like Agostine?";
+
+ menu
+ "Hello! My name is " + strcharinfo(0) + ".", L_hello_0,
+ "Hello; are you a tailor?", L_hello_1,
+ "Can you make something for me?", L_hello_2,
+ @agostine_msg0$, L_agostine_0,
+ @agostine_msg1$, L_agostine_1;
+
+L_hello_0:
+ mes "She raises an eyebrow.";
+ mes "\"That,\", she notes dryly, \"is hardly my fault. And now I would greatly appreciate it if you were to get out of here and leave me to my work!\"";
+ close;
+
+L_hello_1:
+ mes "She frowns.";
+ mes "\"No, I am an accupuncturist, I just happen to practice on cloth! Get out of here with your silly questions!\"";
+ close;
+
+L_hello_2:
+ mes "She glares at you indignantly.";
+ mes "\"Do you even know whom you are talking to? I am Lora Tay, greatest of the seven seamstresses of the South!\"";
+ next;
+ mes "[Lora Tay the Seamstress]";
+ mes "\"I do not work for petty peasants or arrogant adventurers. Get out of my sight!\"";
+ mes "She waves you away and returns to her work.";
+ close;
+
+L_agostine_0:
+ if (QUEST_WG_state < 1)
+ close;
+ mes "She shoots an incensed glare at you.";
+ mes "\"Ah, Agostine! The 'legendary tailor'! Now who has not heard of him, been inspired by him! Such charisma! Such popularity! Such unprecedented lack of talent!\"";
+ mes "You notice that she prononuces the 't's as if she were trying to slap someone.";
+ next;
+ mes "\"Please spare me your tales of this fool. He couldn't mend a sock without getting himself trapped inside!\"";
+ mes "She frowns and turns back to her work, clearly not interested in discussing the matter further.";
+ close;
+
+L_agostine_1:
+ if ((QUEST_WG_state < 9) || (countitem (655) == 0))
+ close;
+ mes "[Lora Tay the Seamstress]";
+ mes "She glares at your boots, her lips forming barely more than a thin line. Deep furrows form above her brows.";
+ mes "\"I can't believe it! He copied Illana's design but used fluffy fur in place of ice wolvern fur-- Fluffy fur! Of all things! Who would wear such an atrocity of fashion! Everyone knows that you need ice-white, not pale-white, to go with such leather!\"";
+ next;
+ mes "[Lora Tay the Seamstress]";
+ mes "She looks at them more closely.";
+ mes "\"This insolent upstart! Even worse, he copied my very own double-backward cross-stitch pattern... I can't believe it!\"";
+ next;
+ mes "[Lora Tay the Seamstress]";
+ mes "Angry red spots begin to form on her cheeks.";
+ mes "\"Get those... things out of my sight before I forget myself!\"";
+ if (QUEST_WG_state == 9)
+ QUEST_WG_state = 10;
+ close;
+
+L_agostine_menu:
+ mes "[Lora Tay the Seamstress]";
+ mes "The seamstress looks up at you from her work.";
+ mes "\"I do hope that you have not had any more dealings with this... this lumberjack of a tailor?\"";
+ next;
+ if (countitem("WinterGloves") > 0)
+ menu
+ "You mean Agostine?", L_agostine_3,
+ "Actually, he also made me gloves...", L_agostine_2,
+ "Why don't you like him?", L_agostine_4,
+ "No, none, really.", L_agostine_5;
+ menu
+ "You mean Agostine?", L_agostine_3,
+ "Why don't you like him?", L_agostine_4,
+ "No, none, really.", L_agostine_5;
+
+L_agostine_2:
+ if ((QUEST_WG_state < 9) || (countitem("WinterGloves") == 0))
+ close;
+ mes "[Lora Tay the Seamstress]";
+ mes "Lora inspects your gloves, shock apparent on her face.";
+ mes "\"Winter gloves? And he managed the join stitches without adding a single crease... no, that can't be the Agostine we were talking about...\"";
+ mes "Without asking, she takes your gloves and inspects them further.";
+ next;
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Triple inverted crossbar... he stole another of my stitching patterns! Except... no, that couldn't hold... what kind of yarn...\"";
+ mes "Torn between excitement, worry, and latent disgust, she frantically turns the gloves from side to side, looking for obvious flaws, her face reddening.";
+ next;
+ mes "[Lora Tay the Seamstress]";
+ mes "\"No, it's perfect... Inconceivable! How could that little upstart... I don't believe it!\"";
+ mes "Breathing heavily with something that might be anger or confusion, she turns them inside out.";
+ next;
+ mes "[Lora Tay the Seamstress]";
+ mes "She slides her fingers over the now-exposed inside whilst the color of her face approaches that of an over-ripe tomato.";
+ mes "\"Almost perfectly smooth...\", she whispers.";
+ next;
+ mes "[Lora Tay the Seamstress]";
+ mes "She jumps up in a fit of sudden rage.";
+ mes "\"That's impossible! Where did he learn to sew like that! How did he cut the shapes so perfectly! When did he...";
+ mes "Suddenly, she breaks into a cough.";
+ next;
+ mes "[Lora Tay the Seamstress]";
+ mes "\"*cough* ... can't possibly... *cough*...\"";
+ mes "Lora sinks back on her chair, trying to control her cough.";
+ next;
+ if (countitem("BottleOfWater"))
+ menu
+ "(sneak out of the room)", L_End,
+ "Are you alright?", L_Next,
+ "Here, have a bottle of water...", L_Give_water,
+ "Can I help you?", L_Next;
+
+ menu
+ "(sneak out of the room)", L_End,
+ "Are you alright?", L_Next,
+ "Can I help you?", L_Next;
+
+L_Next:
+ mes "[Lora Tay the Seamstress]";
+ mes "She holds out your gloves for you to pick up, then waves you out of the room. Fortunately, her cough seems to be slowly subsiding.";
+ close;
+
+L_agostine_3:
+ mes "[Lora Tay the Seamstress]";
+ mes "She frowns at you.";
+ mes "\"What other self-absorbed tailor-pretends with the sewing skill of a mouboo are there around? Stop wasting my time.\"";
+ close;
+
+L_agostine_4:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Is it not obvious? We are talking about someone so self-absorbed that he chose to ignore the advice of myself, greatest of the seven southern seamstresses! I cannot stand such arrogance.\"";
+ close;
+
+L_agostine_5:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Good for you. That arrogant good-for-nothing couldn't tell a piece of cotton from chain mail if he wiped his nose with it!\"";
+ close;
+
+L_No_Water:
+ mes "Checking more closely, you realize that you are out of water.";
+ mes "You apologise to Lora, though it fortunately seems that her cough is subsiding.";
+ mes "She waves you out of the room.";
+ close;
+
+L_regular_intro:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Ah, you again. Is there anything in particular you need?\"";
+ next;
+ if (QUEST_WG_state == 12)
+ goto L_Main_menu2;
+ goto L_Main_menu;
+
+L_Give_water:
+ if (countitem("BottleOfWater") == 0)
+ goto L_No_Water;
+ delitem "BottleOfWater", 1;
+ QUEST_WG_state = 11;
+
+ @xpval = 50000;
+
+ getexp @xpval, 0;
+ mes "[Lora Tay the Seamstress]";
+ mes "Lora grabs your water bottle and take a deep sip. Slowly, her head regains a more natural color. As she puts the bottle down, her cough seems to have subsided.";
+ mes "\"Thank you, dear; that was just the right thing at the right time.\"";
+ mes "[You gain " + @xpval + " experience points]";
+ next;
+ mes "[Lora Tay the Seamstress]";
+ mes "She hands you the winter gloves again.";
+ mes "\"Now what happened I don't know, but this wasn't made by the Agostine I remember. But I shan't be made a fool out of by one such as him.\"";
+ next;
+ mes "[Lora Tay the Seamstress]";
+ mes "\"If HE can sew petty every-day items for ordinary peasants, then so can I. Very well, is there anything in particular that you need made? I shall show you how a proper seamstress operates!\"";
+ next;
+
+ if (QUEST_WG_state == 12)
+ goto L_Main_menu2;
+ goto L_Main_menu;
+
+L_Main_menu:
+ menu
+ "Can you trim something for me?", L_trim,
+ "Can you lengthen something for me?", L_lengthen,
+ "Can you make me a shirt?", L_Shirt,
+ "Can you make me a tank top?", L_tanktop,
+ "Can you make me a cape?", L_cape,
+ "Can you make fur boots for me?", L_Fur,
+ "Can you make winter gloves me?", L_Fur,
+ "Can you sew a robe for me?", L_robe,
+ "Can you make a desert hat for me?", L_desert_hat,
+ "Can you enhance a sorcerer robe with another line color?", L_sorcerer_robe_linecolor,
+ "Goodbye for now.", L_End;
+
+L_Fur:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"From what? Fluffy fur? I won't work with such lowly materials.\"";
+ next;
+ goto L_Main_menu;
+
+L_Main_menu2:
+ menu
+ "Can you trim something for me?", L_trim,
+ "Can you lengthen something for me?", L_lengthen,
+ "Can you make me a shirt?", L_Shirt,
+ "Can you make me a tank top?", L_tanktop,
+ "Can you make me a cape?", L_cape,
+ "Can you make fur boots for me?", L_Fur1,
+ "Can you make winter gloves me?", L_Fur1,
+ "Can you sew a robe for me?", L_robe,
+ "Can you make a desert hat for me?", L_desert_hat,
+ "Actually...I have a proposal for you...", L_agostine_proposal,
+ "Goodbye for now.", L_End;
+
+L_Fur1:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"From what? Fluffy fur? I won't work with such lowly materials.\"";
+ next;
+ goto L_Main_menu2;
+
+L_agostine_proposal:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"What kind of proposal are you asking of me?\"";
+ next;
+
+ menu
+ "I have talked to Agostine and he needs your help.", L_Next1,
+ "I forgot...", L_Main_menu2;
+
+L_Next1:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"That cheat! What could he possibly want from me?";
+ mes "We don't even have the same style in seaming. Is this a joke?\"";
+ next;
+
+ menu
+ "It's no joke. He needs your help in creating a new fashion!", L_Next2,
+ "Yeah you're right, he was probably joking.", L_End;
+
+L_Next2:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Well it depends what he wants from me.";
+ mes "Go see Agostine, ask him what he's planning and I will think about it.\"";
+
+ QUEST_WG_state = 13;
+
+ close;
+
+L_proposal_intro:
+ mes "Lora Tay seems lost in her thoughts... ";
+ menu
+ "Sorry to disturb you, but...", L_Main_menu,
+ "I better go talk to Agostine.", L_End;
+
+L_proposal_show_materials:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Did you talk to Agostine about his idea?\"";
+ next;
+ menu
+ "Yes, he explained he saw a dress in a dream and gave me these materials.", L_Next3,
+ "No, that guy is a total wacko.", L_End;
+
+L_Next3:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Wow these are such fine materials!";
+ mes "These are certainly not for just any ordinary clothes...";
+ mes "He must be thinking of something magnificent.\"";
+ next;
+
+ menu
+ "He said this garment would be his first dress creation and that he wanted it to be fabulous!", L_Next4;
+
+L_Next4:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Fine I will accept his offer...";
+ mes "But the materials he has given you need some sewing on the edges.\"";
+ next;
+ mes "[Lora Tay the Seamstress]";
+ mes "\"I will fix them, but I cannot use normal threading to fix these materials.";
+ mes "I will need a soft thin thread so I won't spoil the textures.\"";
+ next;
+ goto L_proposal_search_items;
+
+L_proposal_search_items:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Please bring me " + @FINEDRESS_COCOONS + " silk cocoons.";
+ mes "This should cover the materials needed, and will leave extra for sewing the pieces together later on.\"";
+ next;
+
+ menu
+ "I will go get them right away!", L_Next5,
+ "Here you are.", L_proposal_give_items,
+ @FINEDRESS_COCOONS+" silk cocoons for a dress? Find somebody else.", L_End;
+
+L_Next5:
+ QUEST_WG_state = 15;
+ close;
+
+L_proposal_not_enough_items:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"This is not funny. I need " + @FINEDRESS_COCOONS + " silk cocoons. No less.";
+ close;
+
+L_proposal_give_items:
+ if (countitem ("SilkCocoon") < @FINEDRESS_COCOONS)
+ goto L_proposal_not_enough_items;
+ delitem "SilkCocoon", @FINEDRESS_COCOONS;
+ QUEST_WG_state = 16;
+
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Great, now I can spin the silk threading and fix this mess made of these fine materials.";
+ mes "While I do this, you will need to go get the design drawings from Agostine...";
+ mes "Every tailor puts their designs on paper before they forget about it.\"";
+ next;
+ goto L_proposal_retrieve_design;
+
+L_proposal_retrieve_design:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"May you go retrieve the design from Agostine?\"";
+ next;
+ menu
+ "Certainly I'll be back soon!", L_End,
+ "Actually I want something else...", L_Main_menu;
+
+L_proposal_bringing_design:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Welcome back, did you get the drawings I requested?\"";
+ next;
+ menu
+ "Here they are!", L_Next6;
+
+L_Next6:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Wonderful, this dress design is magnificent!";
+ mes "I am done with the threading but I will now need to sew these materials together into the design.\"";
+ next;
+ QUEST_WG_state = 18;
+ goto L_proposal_wait_dress_finished;
+
+L_proposal_wait_dress_finished:
+ // Sets @time_start to the current time
+ // if not set yet, or if the player logged off.
+ if (@time_start == 0) set @time_start, gettimetick(2);
+ if (gettimetick(2) - @time_start > 30)
+ goto L_proposal_dress_finished;
+ mes "[Lora Tay the Seamstress]";
+ mes "\"It will take some time to have the dress finished.";
+ mes "Meanwhile, why don't you go take some air outside?\"";
+ close;
+
+L_proposal_dress_finished:
+ QUEST_WG_state = 19;
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Well it was difficult seaming with such fragile materials.";
+ mes "But I have done it. The design is finished except for one part of it.\"";
+ next;
+
+ menu
+ "Wow it looks great, but what's missing?", L_Next7;
+
+L_Next7:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Well there are white flare designs on the bottom of the dress.";
+ mes "I'm not great with fine cloth design so this might be something Agostine must do on his own.";
+ next;
+
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Please take the unfinished dress to him so he may finish the edges with the cloth.\"";
+ next;
+
+ menu
+ "Okay, can't wait to see the finished product! Thanks for your help!", L_Next8;
+
+L_Next8:
+ QUEST_WG_state = 20;
+ close;
+
+L_proposal_deliver_dress:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Please take the unfinished dress to him so he may finish the edges with the cloth.\"";
+ menu
+ "I'm on my way.", L_End,
+ "I have a request...", L_Main_menu;
+
+L_desert_hat:
+ mes "[Lora Tay the Seamstress]";
+ mes "The seamstress sighs.";
+ mes "\"One of these days it would be nice to have an actual challenge... yes, of course I can make a desert hat. A Cotton Headband, three pieces of cotton cloth. Hmm. And let's add 300 GP to that.\"";
+ next;
+ @default_choice$ = "Never mind.";
+ setarray @items, 724, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2149;
+ setarray @item_names$, "Here is a Cotton Headband.", "Here is a Red Cotton Headband.", "Here is a Green Cotton Headband.", "Here is a Dark Blue Cotton Headband.", "Here is a Yellow Cotton Headband.", "Here is a Light Blue Cotton Headband.", "Here is a Pink Cotton Headband.", "Here is a Black Cotton Headband.", "Here is an Orange Cotton Headband.", "Here is a Puple Cotton Headband.", "Here is a Dark Green Cotton Headband.";
+ @items_nr = 11;
+
+ callsub S_pick_one_of_many_items;
+ if (@item == 0)
+ goto L_Main_menu;
+ if (@item == 724)
+ @genitem = 723;
+ if (@item != 724)
+ @genitem = @item - 10;
+ if (countitem(@item) < 1)
+ goto L_desert_hat_noheadband;
+ if (countitem("CottonCloth") < 3)
+ goto L_desert_hat_nocotton;
+ if (Zeny < 300)
+ goto L_desert_hat_nogp;
+ delitem @item, 1;
+ delitem "CottonCloth", 3;
+ Zeny = Zeny - 300;
+ getitem @genitem, 1;
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Now then, this should only take a minute.\"";
+ mes "The seamstress folds your cotton cloth in a complicated fashion, wraps the resulting bundle into and out of the headband, and finally sews together several loose ends.";
+ next;
+ mes "[Lora Tay the Seamstress]";
+ mes "The result resembles a huge knot.";
+ mes "Lora picks two ends and pulls, hard-- to your amazement, the knot unfolds, yielding a Desert Hat.";
+ mes "\"Here you are.\"";
+ next;
+ goto L_Main_menu;
+
+L_desert_hat_nocotton:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"You're asking me to make a desert hat without enough cloth? Here, have your headband back-- see, that's how much I can do without cloth! And since I'm generous today, you can even keep your GP...\"";
+ next;
+ goto L_Main_menu;
+
+L_desert_hat_nogp:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"No, no, no. 300 GP. That's not that much, I've been told. I can't just work for free, now can I?\"";
+ next;
+ goto L_Main_menu;
+
+L_desert_hat_noheadband:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Now that is odd. Where did your headband vanish to? Well, I'm not going to make you something as silly as a headband, so get one from elsewhere.\"";
+ next;
+ goto L_Main_menu;
+
+L_trim:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Trimming... you mean that you can't do that yourself? Well, alright... I suppose I should charge 100 GP and do it.\"";
+ mes "\"Alright. What is it that you want trimmed?\"";
+ next;
+
+ @default_choice$ = "Never mind.";
+ setarray @items, 1202, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 688, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 632, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 648, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2189;
+ setarray @item_names$, "Cotton Shirt", "Red Cotton Shirt", "Green Cotton Shirt", "Dark Blue Cotton Shirt", "Yellow Cotton Shirt", "Light Blue Cotton Shirt", "Pink Cotton Shirt", "Black Cotton Shirt", "Orange Cotton Shirt", "Purple Cotton Shirt", "Dark Green Cotton Shirt", "Tank Top", "Red Tank Top", "Green Tank Top", "Dark Blue Tank Top", "Yellow Tank Top", "Light Blue Tank Top", "Pink Tank Top", "Black Tank Top", "Orange Tank Top", "Purple Tank Top", "Dark Green Tank Top", "Cotton Skirt", "Red Cotton Skirt", "Green Cotton Skirt", "Dark Blue Cotton Skirt", "Yellow Cotton Skirt", "Light Blue Cotton Skirt", "Pink Cotton Skirt", "Black Cotton Skirt", "Orange Cotton Skirt", "Purple Cotton Skirt", "Dark Green Cotton Skirt", "Cotton Trousers", "Red Cotton Trousers", "Green Cotton Trousers", "Dark Blue Cotton Trousers", "Yellow Cotton Trousers", "Light Blue Cotton Trousers", "Pink Cotton Trousers", "Black Cotton Trousers", "Orange Cotton Trousers", "Purple Cotton Trousers", "Dark Green Cotton Trousers";
+ @items_nr = 44;
+ callsub S_pick_one_of_many_items;
+ if (@item == 0)
+ goto L_Main_menu;
+ @delitem = @item;
+ @genitem = 0;
+ if (@item == 1202)
+ @genitem = 688;
+ if (@item == 688)
+ @genitem = 689;
+ if (@item == 632)
+ @genitem = 771;
+ if (@item == 648)
+ @genitem = 586;
+ if (@item >= 2090 && @item <= 2099)
+ @genitem = @item + 30;
+ if (@item >= 2050 && @item <= 2059)
+ @genitem = @item + 40;
+ if (@item >= 2100 && @item <= 2109)
+ @genitem = @item + 70;
+ if (@item >= 2180 && @item <= 2189)
+ @genitem = @item - 70;
+ if (@genitem == 0)
+ goto L_trim_impossible;
+ if (Zeny < 100)
+ goto L_trim_noZeny;
+ if (countitem(@delitem) < 1)
+ goto L_Main_menu;
+
+ delitem @delitem, 1;
+ getitem @genitem, 1;
+ Zeny = Zeny - 100;
+ mes "[Lora Tay the Seamstress]";
+ mes "";
+ mes "\"There you are, dear.\"";
+ next;
+ goto L_Main_menu;
+
+L_trim_impossible:
+ mes "[Lora Tay the Seamstress]"; // INTERNAL ERROR
+ mes "\"I don't really want to shorten this any more.\"";
+ next;
+ goto L_Main_menu;
+
+L_trim_noZeny:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Not enough GP? Well, just do it yourself-- trimming really is trivial.\"";
+ next;
+ goto L_Main_menu;
+
+L_lengthen:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Naturally, I will need a piece of Cotton Cloth to sew onto it; I must also charge you some... hmm... does 500 GP sound reasonable? Yes, I think I shall charge that.\"";
+ mes "\"Now, let me see. What is it that you want lengthened?\"";
+ next;
+
+ @default_choice$ = "Never mind.";
+ setarray @items, 688, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 689, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 771, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 586, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119;
+ setarray @item_names$, "Tank Top", "Red Tank Top", "Green Tank Top", "Dark Blue Tank Top", "Yellow Tank Top", "Light Blue Tank Top", "Pink Tank Top", "Black Tank Top", "Orange Tank Top", "Purple Tank Top", "Dark Green Tank Top", "Short Tank Top", "Red Short Tank Top", "Green Short Tank Top", "Dark Blue Short Tank Top", "Yellow Short Tank Top", "Light Blue Short Tank Top", "Pink Short Tank Top", "Black Short Tank Top", "Orange Short Tank Top", "Purple Short Tank Top", "Dark Green Short Tank Top", "Miniskirt", "Red Miniskirt", "Green Miniskirt", "Dark Blue Miniskirt", "Yellow Miniskirt", "Light Blue Miniskirt", "Pink Miniskirt", "Black Miniskirt", "Orange Miniskirt", "Purple Miniskirt", "Dark Green Miniskirt", "Cotton Shorts", "Red Cotton Shorts", "Green Cotton Shorts", "Dark Blue Cotton Shorts", "Yellow Cotton Shorts", "Light Blue Cotton Shorts", "Pink Cotton Shorts", "Black Cotton Shorts", "Orange Cotton Shorts", "Purple Cotton Shorts", "Dark Green Cotton Shorts";
+
+ @items_nr = 44;
+ callsub S_pick_one_of_many_items;
+ if (@item == 0)
+ goto L_Main_menu;
+
+ @delitem = @item;
+ @genitem = 0;
+ if (@item == 688)
+ @genitem = 1202;
+ if (@item == 689)
+ @genitem = 688;
+ if (@item == 771)
+ @genitem = 632;
+ if (@item == 586)
+ @genitem = 648;
+ if (@item >= 2120 && @item <= 2129)
+ @genitem = @item - 30;
+ if (@item >= 2090 && @item <= 2099)
+ @genitem = @item - 40;
+ if (@item >= 2170 && @item <= 2179)
+ @genitem = @item - 70;
+ if (@item >= 2110 && @item <= 2119)
+ @genitem = @item + 70;
+ if (@genitem == 0)
+ goto L_lengthen_impossible;
+ if (Zeny < 500)
+ goto L_lengthen_noZeny;
+ if (countitem ("CottonCloth") < 1)
+ goto L_lengthen_nocotton;
+ if (countitem(@delitem) < 1)
+ goto L_Main_menu;
+
+ delitem @delitem, 1;
+ delitem "CottonCloth", 1;
+ getitem @genitem, 1;
+ Zeny = Zeny - 500;
+ mes "[Lora Tay the Seamstress]";
+ mes "The seamstress cuts your piece of cotton cloth into stripes and sews them on. Using some odd liquid, she flattens the seams and borders.";
+ if (@delitem > 2000) // dyed
+ mes "She then applies another liquid-- smelling strangely of fermented apples-- to the result, wraps it up, and wrings it tightly. As she unwraps it, you observe to your amazement that the dye has spread to the newly attached area.";
+ mes "\"There you are, dear.\"";
+ next;
+ goto L_Main_menu;
+
+L_lengthen_nocotton:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Who do you think I am? The cotton fairy? Get yourself some cloth before you ask me to sew it on.\"";
+ next;
+ goto L_Main_menu;
+
+L_lengthen_noZeny:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"No gold, no sewing.\"";
+ next;
+ goto L_Main_menu;
+
+L_lengthen_impossible:
+ mes "[Lora Tay the Seamstress]"; // INTERNAL ERROR
+ mes "\"I really can't lengthen that any more.\"";
+ next;
+ goto L_Main_menu;
+
+L_Shirt:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Oh, how silly. You can buy those everywhere. Please don't bore me with such trifles, dear.\"";
+ next;
+ goto L_Main_menu;
+
+L_tanktop:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"A tank top? Well, hardly a challenge, but I suppose I could do that. Please get me some cloth-- plain cotton will do-- and, let's see, how does 100,000 GP for my efforts sound?\"";
+ mes "\"Wait, I keep forgetting, you are just an adventurer... let's make that 1000 GP, then.\"";
+ next;
+ goto L_tanktop_menu;
+
+L_tanktop_menu:
+ menu
+ "I think I would like something else.", L_Main_menu,
+ "A tank top, please (6 Cotton Cloth)", L_tanktop_long,
+ "A short tank top, please (5 Cotton Cloth)", L_tanktop_short,
+ "Goodbye for now.", L_End;
+
+L_tanktop_short:
+ if (countitem ("CottonCloth") < 5)
+ goto L_tanktop_ic;
+ if (Zeny < 1000)
+ goto L_tanktop_ins_Z;
+ getinventorylist;
+ if (@inventorylist_count == 100 && countitem("CottonCloth") > 5)
+ goto L_TooMany;
+ Zeny = Zeny - 1000;
+ delitem "CottonCloth", 5;
+ getitem "ShortTankTop", 1;
+ mes "[Lora Tay the Seamstress]";
+ mes "You watch as Lora sews the pieces of cloth together, then flattens the seams and ends with some odd liquid.";
+ mes "Amazingly, the result looks like a single piece of cloth.";
+ mes "After little more than a few elegant cuts and folds, your tank top is ready.";
+ mes "\"Oh dear, it seems that I am done already. Do you need anything else?\"";
+ next;
+ goto L_tanktop_menu;
+
+L_tanktop_long:
+ if (countitem ("CottonCloth") < 6)
+ goto L_tanktop_ic;
+ if (Zeny < 1000)
+ goto L_tanktop_ins_Z;
+ getinventorylist;
+ if (@inventorylist_count == 100 && countitem("CottonCloth") > 6)
+ goto L_TooMany;
+ Zeny = Zeny - 1000;
+ delitem "CottonCloth", 6;
+ getitem "TankTop", 1;
+ mes "[Lora Tay the Seamstress]";
+ mes "After combining your pieces of cloth into one-- miraculously making the seams and stitches vanish-- the seamstress cuts out all that doesn't belong into a tank top, then folds and stabilises the edges with additional seam lines.";
+ mes "\"There you are. Don't worry, I have trimmed it to match your size perfectly.\"";
+ next;
+ goto L_tanktop_menu;
+
+L_tanktop_ic:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"No, no, no, count again-- how much Cotton Cloth did I say I needed? That's not enough.\"";
+ next;
+ goto L_tanktop_menu;
+
+L_tanktop_ins_Z:
+ mes "[Lora Tay the Seamstress]";
+ mes "As you note that you don't have enough GP on you, Lora rolls her eyes.";
+ mes "\"I don't work for free, you know. I already gave you a discounted peasant price.\"";
+ next;
+ goto L_Main_menu;
+
+L_cape:
+ if (countitem("GoldenWarlordPlate") > 0) goto L_cape2;
+ mes "[Lora Tay the Seamstress]";
+ mes "She shakes her head.";
+ mes "\"No capes. You're an adventurer, right? Do you want to get caught by a closing portcullis? Or strangled when your cape gets tangled in a tree? Or brought down by a mushroom stomping on your cape while you're trying to run away? No capes.\"";
+ next;
+ goto L_Main_menu;
+
+L_cape2:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Well, it looks like you have some pretty golden armor, I can add a cape if you wish....\"";
+ next;
+ goto L_capemenu;
+
+L_capemenu:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"That will be 20 cotton cloth, 5 iron ingots, and 240,000gp.\"";
+ menu
+ "That sounds awesome! Yes!", L_capeyes,
+ "What a ripoff!?", L_End;
+
+L_capeyes:
+ if (countitem("CottonCloth") < 20) goto L_Missing;
+ if (countitem("IronIngot") < 5) goto L_Missing;
+ if (countitem("GoldenWarlordPlate") < 1) goto L_Missing;
+ if (Zeny < 240000) goto L_NotEnoughMoney;
+ getinventorylist;
+ if (@inventorylist_count == 100 && countitem("Cottoncloth") > 5 && countitem("Ironingot") < 5) goto L_TooMany;
+ delitem "CottonCloth", 20;
+ delitem "IronIngot", 5;
+ delitem "GoldenWarlordPlate", 1;
+ Zeny = Zeny - 240000;
+ getitem "WhiteSaviorArmor", 1;
+ mes "[Lora Tay]";
+ mes "\"There you go!\"";
+ next;
+ goto L_End;
+
+L_NotEnoughMoney:
+ mes "[Lora Tay]";
+ mes "\"I'm not doing this work for charity! Find your money or stop bothering me.\"";
+ next;
+ goto L_Main_menu;
+
+L_Missing:
+ mes "[Lora Tay]";
+ mes "\"You seem to be missing some things.\"";
+ next;
+ goto L_Main_menu;
+
+L_robe:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"A robe? Well, as long as you're not asking me to make it out of cotton...\"";
+ next;
+ if (countitem("SilkCocoon")== 0 && countitem("SilkSheet")== 0)
+ goto L_robe_nosilk;
+ goto L_robe_menu;
+
+L_robe_menu:
+ menu
+ "Here, I have some silk cocoons!", L_Next9,
+ "Here, I have some silk sheets!", L_robe_sheets,
+ "Where can I find silk?", L_where_silk,
+ "How much silk do you need?", L_how_much_silk,
+ "Oh, never mind.", L_Main_menu;
+
+L_Next9:
+ mes "[Lora Tay the Seamstress]";
+ mes "The seamstress stares at you as if you had gone out of your mind.";
+ mes "\"And what precisely do you expect me to do with Silk Cocoons? String them together in some baubly chain? Somehow remove the thread and spin and weave it so that some random person can have their robe?\"";
+ next;
+ menu
+ "Will you trade cocoons for sheets?", L_Next10,
+ "Never mind.", L_Main_menu;
+
+L_Next10:
+ mes "[Lora Tay the Seamstress]";
+ mes "Lora frowns.";
+ mes "\"It's not all that easy to get properly processed silk around here. Easier for me than for you, I admit...\"";
+ next;
+ mes "[Lora Tay the Seamstress]";
+ mes "She sighs.";
+ mes "\"All right, very well then. I have enough spare silk sheets right now, but you pay the silk processing for your cocoons.\"";
+ next;
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Let's see... " + @ROBE_COCOONS_NR + " silk cocoons and " + @ROBE_ZENY + " GP should just about cover that.\"";
+ next;
+ menu
+ "I'm not interested.", L_Main_menu,
+ "Very well then, here you are.", L_Next11;
+
+L_Next11:
+ if (countitem("SilkCocoon") < @ROBE_COCOONS_NR)
+ goto L_robe_missing_cocoons;
+ if (Zeny < @ROBE_ZENY)
+ goto L_robe_missing_Zeny;
+ getinventorylist;
+ if (@inventorylist_count == 100 && countitem("SilkCocoon") > @ROBE_COCOONS_NR)
+ goto L_TooMany;
+ Zeny = Zeny - @ROBE_ZENY;
+ delitem "SilkCocoon", @ROBE_COCOONS_NR;
+ mes "[Lora Tay the Seamstress]";
+ mes "The seamstress puts your cocoons and GP away, takes your measurements and pulls out several silk sheets. She asks you to stretch out your arms, then pins the silk sheets in place all over your body.";
+ next;
+ goto L_Get_robe;
+
+L_robe_sheets:
+ @Robe_with_sheets = 1;
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Let's see... " + @ROBE_SHEETS_NR + " silk sheets and " + @ROBE_SHEETS_ZENY + " GP should just about cover that.\"";
+ next;
+ menu
+ "I'm not interested.", L_Main_menu,
+ "Very well then, here you are.", L_Next12;
+
+L_Next12:
+ if (countitem("SilkSheet") < @ROBE_SHEETS_NR)
+ goto L_robe_missing_sheets;
+ if (Zeny < @ROBE_SHEETS_ZENY)
+ goto L_robe_sheet_missing_Zeny;
+ getinventorylist;
+ if (@inventorylist_count == 100 && countitem("SilkSheet") > @ROBE_SHEETS_NR)
+ goto L_TooMany;
+ Zeny = Zeny - @ROBE_SHEETS_ZENY;
+ delitem "SilkSheet", @ROBE_SHEETS_NR;
+ mes "[Lora Tay the Seamstress]";
+ mes "The seamstress puts your GP away, takes your measurements and puts the silk sheets on the table. She asks you to stretch out your arms, then pins the silk sheets in place all over your body.";
+ next;
+ goto L_Get_robe;
+
+L_Get_robe:
+ mes "[Lora Tay the Seamstress]";
+ mes "She proceeds to make a number of mysterious marks on the sheets with a charcoal pen. Meanwhile, your arms are getting tired, but you're afraid to lower them-- she used a lot of pins to put everything into place, and you lost track of where they went...";
+ next;
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Splendid.\"";
+ mes "After removing the sheets (and pins!), she picks up a pair of scissors and plows through the cloth at her usual amazing pace, only stopping briefly to sew together parts here and there.";
+ next;
+ mes "[Lora Tay the Seamstress]";
+ mes "She then treats the seams with some odorless liquid, making them vanish completely. Finally she hands you the finished robe.";
+ getitem "SilkRobe", 1;
+ if (@Robe_with_sheets == 1)
+ goto L_robe_sheet_end;
+ mes "\"Here you are now, this will fit. And don't you dare tell anyone that I did this! I'm not about to start a silk cocoon collection!\"";
+ next;
+ goto L_Main_menu;
+
+L_robe_sheet_end:
+ mes "\"Here you are now, this will fit. Thank you for bringing the sheets. People are so lazy nowadays! \"";
+ next;
+ goto L_Main_menu;
+
+L_robe_missing_cocoons:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"" + @ROBE_COCOONS_NR + " cocoons is what I said, not " + countitem("SilkCocoon") + ".";
+ mes @ROBE_COCOONS_NR + " is " + (@ROBE_COCOONS_NR / 10) + " as many times as you have fingers, in case that helps.\"";
+ next;
+ goto L_Main_menu;
+
+L_robe_missing_Zeny:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"No, no no. The way this works is that you give me the GP first and I give you the robe afterwards. You're " + (@ROBE_ZENY - Zeny) + " GP short, so come back when you can afford the robe!\"";
+ next;
+ goto L_Main_menu;
+
+L_robe_missing_sheets:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"" + @ROBE_SHEETS_NR + " silk sheets is what I said, not " + countitem("SilkSheet") + ".";
+ mes @ROBE_SHEETS_NR + " is " + (10-@ROBE_SHEETS_NR) + " less than you have fingers, in case that helps.\"";
+ next;
+ goto L_Main_menu;
+
+L_robe_sheet_missing_Zeny:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"No, no no. The way this works is that you give me the GP first and I give you the robe afterwards. You're " + (@ROBE_SHEETS_ZENY - Zeny) + " GP short, so come back when you can afford the robe!\"";
+ next;
+ goto L_Main_menu;
+
+L_where_silk:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Oh, Hetchel on the Tulimshar Marketplace can weave them for you.\"";
+ next;
+ mes "[Lora Tay the Seamstress]";
+ mes "She hesitates.";
+ mes "\"I didn't see her there the last time I visited, though. She may be visiting family. Tough luck.\"";
+ next;
+ goto L_robe_menu;
+
+L_how_much_silk:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Six sheets should do fine, if they're the usual double-elbow squares.\"";
+ next;
+ goto L_robe_menu;
+
+L_robe_nosilk:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"What is that? You don't have any silk? Well, you're out of luck, I would say. I shan't make one out of those cotton rags; you might as well be wearing an apple sack.\"";
+ next;
+ goto L_Main_menu;
+
+L_End:
+ @ROBE_COCOONS_NR = 0;
+ @ROBE_ZENY = 0;
+ @ROBE_SHEETS_NR = 0;
+ @ROBE_SHEETS_ZENY = 0;
+ @Robe_with_sheets = 0;
+ close;
+
+S_pick_one_of_many_items:
+ @c = 0;
+ @i = 0;
+
+ setarray @choice_n$, "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "",
+ "", "", "", "", "", "", "", "";
+ goto L_SUB_pick_choice_loop;
+
+L_SUB_pick_choice_loop:
+ if (@i >= @items_nr)
+ goto L_SUB_choice_init_done;
+ @current = @items[@i];
+ @current_name$ = @item_names$[@i];
+ @i = @i + 1;
+
+ if (countitem(@current) == 0)
+ goto L_SUB_pick_choice_loop;
+ @choice_v[@c] = @current;
+ @choice_n$[@c] = @current_name$;
+ @c = @c + 1;
+ goto L_SUB_pick_choice_loop;
+
+L_SUB_choice_init_done:
+ @choice_v[@c] = 0;
+ @choice_n$[@c] = @default_choice$;
+ @c = @c + 1;
+
+ if (@c < 10)
+ menu
+ @choice_n$[0], L_SUB_choice_join,
+ @choice_n$[1], L_SUB_choice_join,
+ @choice_n$[2], L_SUB_choice_join,
+ @choice_n$[3], L_SUB_choice_join,
+ @choice_n$[4], L_SUB_choice_join,
+ @choice_n$[5], L_SUB_choice_join,
+ @choice_n$[6], L_SUB_choice_join,
+ @choice_n$[7], L_SUB_choice_join,
+ @choice_n$[8], L_SUB_choice_join,
+ @choice_n$[9], L_SUB_choice_join;
+
+ if (@c < 20)
+ menu
+ @choice_n$[0], L_SUB_choice_join,
+ @choice_n$[1], L_SUB_choice_join,
+ @choice_n$[2], L_SUB_choice_join,
+ @choice_n$[3], L_SUB_choice_join,
+ @choice_n$[4], L_SUB_choice_join,
+ @choice_n$[5], L_SUB_choice_join,
+ @choice_n$[6], L_SUB_choice_join,
+ @choice_n$[7], L_SUB_choice_join,
+ @choice_n$[8], L_SUB_choice_join,
+ @choice_n$[9], L_SUB_choice_join,
+ @choice_n$[10], L_SUB_choice_join,
+ @choice_n$[11], L_SUB_choice_join,
+ @choice_n$[12], L_SUB_choice_join,
+ @choice_n$[13], L_SUB_choice_join,
+ @choice_n$[14], L_SUB_choice_join,
+ @choice_n$[15], L_SUB_choice_join,
+ @choice_n$[16], L_SUB_choice_join,
+ @choice_n$[17], L_SUB_choice_join,
+ @choice_n$[18], L_SUB_choice_join,
+ @choice_n$[19], L_SUB_choice_join;
+
+ menu
+ @choice_n$[0], L_SUB_choice_join,
+ @choice_n$[1], L_SUB_choice_join,
+ @choice_n$[2], L_SUB_choice_join,
+ @choice_n$[3], L_SUB_choice_join,
+ @choice_n$[4], L_SUB_choice_join,
+ @choice_n$[5], L_SUB_choice_join,
+ @choice_n$[6], L_SUB_choice_join,
+ @choice_n$[7], L_SUB_choice_join,
+ @choice_n$[8], L_SUB_choice_join,
+ @choice_n$[9], L_SUB_choice_join,
+ @choice_n$[10], L_SUB_choice_join,
+ @choice_n$[11], L_SUB_choice_join,
+ @choice_n$[12], L_SUB_choice_join,
+ @choice_n$[13], L_SUB_choice_join,
+ @choice_n$[14], L_SUB_choice_join,
+ @choice_n$[15], L_SUB_choice_join,
+ @choice_n$[16], L_SUB_choice_join,
+ @choice_n$[17], L_SUB_choice_join,
+ @choice_n$[18], L_SUB_choice_join,
+ @choice_n$[19], L_SUB_choice_join,
+ @choice_n$[20], L_SUB_choice_join,
+ @choice_n$[21], L_SUB_choice_join,
+ @choice_n$[22], L_SUB_choice_join,
+ @choice_n$[23], L_SUB_choice_join,
+ @choice_n$[24], L_SUB_choice_join,
+ @choice_n$[25], L_SUB_choice_join,
+ @choice_n$[26], L_SUB_choice_join,
+ @choice_n$[27], L_SUB_choice_join,
+ @choice_n$[28], L_SUB_choice_join,
+ @choice_n$[29], L_SUB_choice_join,
+ @choice_n$[30], L_SUB_choice_join,
+ @choice_n$[31], L_SUB_choice_join;
+
+L_SUB_choice_join:
+ @menu = @menu - 1;
+ @item = @choice_v[@menu];
+ if (@menu >= @c)
+ @item = 0;
+ return;
+
+L_TooMany:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"You don't have anywhere to put this. Come back when you have more room.\"";
+ close;
+
+L_sorcerer_robe_linecolor:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Hmm, this has a line sewed on it already. I don't see another way than remove it and sew a new one.";
+ mes "That is quite a difficult work... for a casual tailor of course. I'll do that in a heart beat.\"";
+ next;
+ mes "\"However, you can expect this will cost you a large fee. Let's say " + @SORCERER_ROBE_SEW_ZENY + " GP.";
+ mes "Also, I will need " + @SORCERER_ROBE_NUM_COTTON_CLOTH + " sheets of Cotton Cloth of the color you want.\"";
+ next;
+ mes "\"Ok. Now please wear the robe you want me to change.\"";
+ @loratay_asking_robe = 1;
+ close;
+
+L_ExamineSorcererRobe:
+ @loratay_asking_robe = 0;
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Let's see...\"";
+ next;
+ @chest_equip_id = getequipid(equip_torso);
+ callsub S_Get_SorcererRobeColors;
+ mes "Lora Tay takes a closer look at what you are wearing.";
+ next;
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Hmm. This " + @item_colors$[@current_linecolor] + " lined " + @item_colors$[@current_maincolor] + " sorcerer robe. I see. Is that ok?\"";
+ if (@current_maincolor == -1 || @current_linecolor == -1)
+ goto L_NotSorcererRobe;
+ menu
+ "Yes, that's fine. Take this one.", L_ChooseSorcererLineColor,
+ "No, I changed my mind.", L_CleanSorcererRobe;
+
+L_NotSorcererRobe:
+ mes "\"This isn't a Sorcerer Robe dear. Stop taking me for a fool.\"";
+ goto L_CleanSorcererRobe;
+
+L_ChooseSorcererLineColor:
+ // Unequip the robe, just to simulate Lora Tay really took it
+ unequipbyid(equip_torso);
+ mes "[Lora Tay the Seamstress]";
+ mes "\"And which Cotton Cloth color will you give me?\"";
+ menu
+ "A " + @item_colors$[0] + " one.", L_ItemMenus2,
+ "A " + @item_colors$[1] + " one.", L_ItemMenus2,
+ "A " + @item_colors$[2] + " one.", L_ItemMenus2,
+ "A " + @item_colors$[3] + " one.", L_ItemMenus2,
+ "A " + @item_colors$[4] + " one.", L_ItemMenus2,
+ "A " + @item_colors$[5] + " one.", L_ItemMenus2,
+ "A " + @item_colors$[6] + " one.", L_ItemMenus2,
+ "A " + @item_colors$[7] + " one.", L_ItemMenus2,
+ "A " + @item_colors$[8] + " one.", L_ItemMenus2,
+ "A " + @item_colors$[9] + " one.", L_ItemMenus2,
+ "A " + @item_colors$[10] + " one.", L_ItemMenus2,
+ "Hum. I changed my mind. Later maybe.", L_End;
+
+L_ItemMenus2:
+ @chosen_color = @menu - 1;
+ @cotton_cloth_id = 2250 + @chosen_color;
+ // The White Cotton Cloth is in fact the undyed one.
+ if (@cotton_cloth_id == 2260)
+ @cotton_cloth_id = 660;
+ if (countitem(@cotton_cloth_id) < 2)
+ goto L_NoColoredCottonCloth;
+ if (@current_linecolor == @chosen_color)
+ goto L_SorcererRobe_SameColor;
+ callsub S_Get_NewSorcererRobeId;
+ // Should not happen since it has been checked the player submitted a sorcerer robe
+ if (@new_sorcerer_robe_id == 0)
+ goto L_End;
+
+ if (Zeny < @SORCERER_ROBE_SEW_ZENY)
+ goto L_SorcererRobe_NoZeny;
+ if (countitem(@chest_equip_id) == 0)
+ goto L_SorcererRobe_Vanished;
+ delitem @cotton_cloth_id, @SORCERER_ROBE_NUM_COTTON_CLOTH;
+ // Since we delete an unstackable item, we don't need to check
+ // for an available inventory slot.
+ delitem @chest_equip_id, 1;
+ Zeny = Zeny - @SORCERER_ROBE_SEW_ZENY;
+ getitem @new_sorcerer_robe_id, 1;
+ mes "Lora Tay adjusts her glasses and removes carefully the " + @item_colors$[@current_linecolor] + " string of the robe.";
+ mes "Then she grabs the " + @item_colors$[@chosen_color] + " cotton cloth, unfolds it and pins her needle in it.";
+ next;
+ mes "She begins to sew the new string onto the sorcerer robe.";
+ next;
+ mes "She regularly flips and flips again the robe, which starts to show her new color.";
+ next;
+ mes "After a few minutes you barely noticed, the robe seems to be ready.";
+ next;
+ mes "[Lora Tay the Seamstress]";
+ mes "\"There you are dear. I have to say I made a perfect job... As always.";
+ mes "I hope you'll enjoy your new robe.\"";
+ goto L_CleanSorcererRobe;
+
+L_SorcererRobe_SameColor:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Are you blind? Your robe is already of this color dear!\"";
+ goto L_CleanSorcererRobe;
+
+L_SorcererRobe_Vanished:
+ mes "Lora Tay adjusts her glasses and looks around, as if something was missing.";
+ next;
+ mes "[Lora Tay the Seamstress]";
+ mes "\"Uh? Where is your sorcerer robe?\"";
+ goto L_CleanSorcererRobe;
+
+S_Get_NewSorcererRobeId:
+ if (@chosen_color == 0 && @current_maincolor == 10)
+ @new_sorcerer_robe_id = 798;
+ if (@chosen_color == 0 && @current_maincolor < 10)
+ @new_sorcerer_robe_id = 2220 + @current_maincolor;
+ if (@chosen_color > 0)
+ @new_sorcerer_robe_id = 5000 + @current_maincolor + (@chosen_color-1)*11;
+ return;
+
+L_NoColoredCottonCloth:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"You don't seem to own enough Cotton Cloth of this color. I need " + @SORCERER_ROBE_NUM_COTTON_CLOTH + " of them. Too bad.\"";
+ goto L_CleanSorcererRobe;
+
+L_SorcererRobe_NoZeny:
+ mes "[Lora Tay the Seamstress]";
+ mes "\"You don't seem to be able to afford my services, dear.\"";
+ goto L_CleanSorcererRobe;
+
+S_Get_SorcererRobeColors:
+ @current_maincolor = -1;
+ @current_linecolor = -1;
+ // Line color
+ if (@chest_equip_id == 798 || (@chest_equip_id >= 2220 && @chest_equip_id <= 2229))
+ @current_linecolor = 0;
+ if (@chest_equip_id >= 5000 && @chest_equip_id <= 5109)
+ @current_linecolor = 1 + (@chest_equip_id-5000)/11;
+ // Main color
+ if (@chest_equip_id == 798)
+ @current_maincolor = 10;
+ if (@chest_equip_id >= 2220 && @chest_equip_id <= 2229)
+ @current_maincolor = @chest_equip_id - (@chest_equip_id/10)*10;
+ if (@chest_equip_id >= 5000 && @chest_equip_id <= 5109)
+ @current_maincolor = @chest_equip_id - 5000 - (@current_linecolor-1)*11;
+ return;
+
+L_CleanSorcererRobe:
+ @current_maincolor = 0;
+ @current_linecolor = 0;
+ @chest_equip_id = 0;
+ @new_sorcerer_robe_id = 0;
+ @chosen_color = 0;
+ @cotton_cloth_id = 0;
+ close;
+
+ */
+
+OnInit:
+ .sex=G_FEMALE;
+ .distance=5;
+ end;
+}
diff --git a/npc/017-3/nico.txt b/npc/017-3/nico.txt
new file mode 100644
index 0000000..19dd79e
--- /dev/null
+++ b/npc/017-3/nico.txt
@@ -0,0 +1,302 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Arcmage Cards Enhancer
+
+017-3,37,84,0 script Nico Goethe NPC_PLAYER,{
+ mesn;
+ mesq l("My name is Nico Goethe, an %s card player.", "[@@https://arcmage.org|Arcmage@@]");
+ next;
+ mesn;
+ mesq l("Would love to invite you to a card minigame... But alas, Kenton told me that minigames are a waste of time, and that I should not bother adventurers with it.");
+ next;
+ mesn;
+ mesq l("However, I am still up for trading cards, if you wish.");
+ next;
+ goto L_Main;
+
+L_Main:
+ select
+ l("Trade a card"),
+ l("Evolve a card"),
+ l("Lets play!"),
+ l("Bye.");
+ mes "";
+ switch (@menu) {
+ // Trade Card
+ case 1:
+ mesn;
+ mesq l("Give me a card and select another card of same class. I charge %d GP for simple exchanges.", 5000);
+ next;
+ if (Zeny < 5000)
+ break;
+
+ mes "##B" + l("Drag and drop an item from your inventory.") + "##b";
+ .@card = requestitem();
+ if (.@card <= 1) break;
+
+ @menuret = 0;
+ switch (.@card) {
+ case HeroCard:
+ case KnightCard:
+ case ClericCard:
+ case DruidCard:
+ case MageCard:
+ case NinjaCard:
+ case NatureCard:
+ case NecromancerCard:
+ menuint
+ "Sorry, I don't want to trade it.", 0,
+ getitemname(HeroCard), HeroCard,
+ getitemname(KnightCard), KnightCard,
+ getitemname(ClericCard), ClericCard,
+ getitemname(DruidCard), DruidCard,
+ getitemname(MageCard), MageCard,
+ getitemname(NinjaCard), NinjaCard,
+ getitemname(NatureCard), NatureCard,
+ getitemname(NecromancerCard), NecromancerCard;
+ mes "";
+ break;
+ case SpeedCard:
+ case ReflectCard:
+ case PowerCard:
+ case WallCard:
+ menuint
+ "Sorry, I don't want to trade it.", 0,
+ getitemname(SpeedCard), SpeedCard,
+ getitemname(ReflectCard), ReflectCard,
+ getitemname(PowerCard), PowerCard,
+ getitemname(WallCard), WallCard;
+ mes "";
+ break;
+ case HeroCardS:
+ case KnightCardS:
+ case ClericCardS:
+ case DruidCardS:
+ case MageCardS:
+ case NinjaCardS:
+ case NatureCardS:
+ case NecromancerCardS:
+ menuint
+ "Sorry, I don't want to trade it.", 0,
+ getitemname(HeroCardS), HeroCardS,
+ getitemname(KnightCardS), KnightCardS,
+ getitemname(ClericCardS), ClericCardS,
+ getitemname(DruidCardS), DruidCardS,
+ getitemname(MageCardS), MageCardS,
+ getitemname(NinjaCardS), NinjaCardS,
+ getitemname(NatureCardS), NatureCardS,
+ getitemname(NecromancerCardS), NecromancerCardS;
+ mes "";
+ break;
+ case SpeedCardS:
+ case ReflectCardS:
+ case PowerCardS:
+ case WallCardS:
+ menuint
+ "Sorry, I don't want to trade it.", 0,
+ getitemname(SpeedCardS), SpeedCardS,
+ getitemname(ReflectCardS), ReflectCardS,
+ getitemname(PowerCardS), PowerCardS,
+ getitemname(WallCardS), WallCardS;
+ mes "";
+ break;
+ case HeroCardX:
+ case KnightCardX:
+ case ClericCardX:
+ case DruidCardX:
+ case MageCardX:
+ case NinjaCardX:
+ case NatureCardX:
+ case NecromancerCardX:
+ menuint
+ "Sorry, I don't want to trade it.", 0,
+ getitemname(HeroCardX), HeroCardX,
+ getitemname(KnightCardX), KnightCardX,
+ getitemname(ClericCardX), ClericCardX,
+ getitemname(DruidCardX), DruidCardX,
+ getitemname(MageCardX), MageCardX,
+ getitemname(NinjaCardX), NinjaCardX,
+ getitemname(NatureCardX), NatureCardX,
+ getitemname(NecromancerCardX), NecromancerCardX;
+ mes "";
+ break;
+ case SpeedCardX:
+ case ReflectCardX:
+ case PowerCardX:
+ case WallCardX:
+ menuint
+ "Sorry, I don't want to trade it.", 0,
+ getitemname(SpeedCardX), SpeedCardX,
+ getitemname(ReflectCardX), ReflectCardX,
+ getitemname(PowerCardX), PowerCardX,
+ getitemname(WallCardX), WallCardX;
+ mes "";
+ break;
+ default:
+ mesn;
+ mesq l("Sorry, I only deal with Arcmage cards.");
+ break;
+ }
+ if (@menuret < 1)
+ break;
+ Zeny -= 5000;
+ delitem .@card, 1;
+ getitem @menuret, 1;
+ break;
+ // Evolve Card
+ case 2:
+ mesn;
+ mesq l("Give me %s copies of the same card and %s GP, and I'll improve its tier.", b(l("three")), fnum(25000));
+ mesc l("Normal Cards can be upgraded to S-Tier, and S Cards can be upgraded to X-Tier. X-Tier cards cannot be upgraded.");
+ next;
+ if (Zeny < 25000)
+ break;
+
+ mes "##B" + l("Drag and drop an item from your inventory.") + "##b";
+ .@card = requestitem();
+ if (.@card <= 1) break;
+ if (countitem(.@card) < 3) {
+ mesn;
+ mesq l("You don't have enough cards of this type to upgrade.");
+ next;
+ break;
+ }
+ switch (.@card) {
+ case HeroCard:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem HeroCardS, 1;
+ break;
+ case KnightCard:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem KnightCardS, 1;
+ break;
+ case ClericCard:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem ClericCardS, 1;
+ break;
+ case DruidCard:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem DruidCardS, 1;
+ break;
+ case MageCard:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem MageCardS, 1;
+ break;
+ case NinjaCard:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem NinjaCardS, 1;
+ break;
+ case NatureCard:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem NatureCardS, 1;
+ break;
+ case NecromancerCard:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem NecromancerCardS, 1;
+ break;
+ case SpeedCard:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem SpeedCardS, 1;
+ break;
+ case ReflectCard:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem ReflectCardS, 1;
+ break;
+ case PowerCard:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem PowerCardS, 1;
+ break;
+ case WallCard:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem WallCardS, 1;
+ break;
+
+
+ case HeroCardS:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem HeroCardX, 1;
+ break;
+ case KnightCardS:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem KnightCardX, 1;
+ break;
+ case ClericCardS:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem ClericCardX, 1;
+ break;
+ case DruidCardS:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem DruidCardX, 1;
+ break;
+ case MageCardS:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem MageCardX, 1;
+ break;
+ case NinjaCardS:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem NinjaCardX, 1;
+ break;
+ case NatureCardS:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem NatureCardX, 1;
+ break;
+ case NecromancerCardS:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem NecromancerCardX, 1;
+ break;
+ case SpeedCardS:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem SpeedCardX, 1;
+ break;
+ case ReflectCardS:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem ReflectCardX, 1;
+ break;
+ case PowerCardS:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem PowerCardX, 1;
+ break;
+ case WallCardS:
+ delitem .@card, 3; Zeny -= 25000;
+ getitem WallCardX, 1;
+ break;
+
+ default:
+ mesn;
+ mesq l("Sorry, I only deal with Arcmage cards.");
+ break;
+ }
+ break;
+ // TODO: Play minigame
+ case 3:
+ mesn;
+ mesq l("...Are you trying to troll me?");
+ next;
+ break;
+ // Leave
+ default:
+ closeclientdialog;
+ goodbye;
+ close;
+ break;
+ }
+ goto L_Main;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, TopHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, GoldenLightPlatemail);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, ManaGloves);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 24);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
+ npcsit;
+
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+
+}
+
diff --git a/npc/017-3/slots.txt b/npc/017-3/slots.txt
new file mode 100644
index 0000000..3394a8f
--- /dev/null
+++ b/npc/017-3/slots.txt
@@ -0,0 +1,113 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Slot Machine for bets
+
+017-3,84,67,0 script Slot Machine#017-3a NPC_SLOTMACHINE,{
+ function symbol{
+ switch (getarg(0)) {
+ case 1:
+ mesn "%%A";
+ break;
+ case 2:
+ mesn "%%B";
+ break;
+ case 3:
+ mesn "%%C";
+ break;
+ case 4:
+ mesn "%%D";
+ break;
+ case 5:
+ mesn "%%E";
+ break;
+ case 6:
+ mesn "%%F";
+ break;
+ case 7:
+ mesn "7";
+ break;
+ default:
+ mesn "%%@";
+ break;
+ }
+ }
+
+L_Menu:
+ mesn;
+ mesc l("Spin three symbols, and jackpot great rewards!");
+ mesc l("Just two coins for spin.");
+ next;
+ menu
+ rif(countitem(CasinoCoins) >= 2, l("Spin!")), L_Spin,
+ l("Prizes"), L_Info,
+ l("Leave"), L_Quit;
+
+L_Info:
+ mes "";
+ mesc l("Prizes:");
+ mes l("##9 777: @@.", getitemlink(Bloodstone));
+ mes l("##9 %%A%%A%%A: @@.", getitemlink(Sapphire));
+ mes l("##9 %%B%%B%%B: @@.", getitemlink(Amethyst));
+ mes l("##9 %%C%%C%%C: @@.", getitemlink(Diamond));
+ mes l("##9 %%D%%D%%D: @@.", getitemlink(Emerald));
+ mes l("##9 %%E%%E%%E: @@.", getitemlink(Topaz));
+ mes l("##9 %%F%%F%%F: @@.", getitemlink(Ruby));
+ mesc l("Two equal: 1 casino coin.");
+ next;
+ goto L_Menu;
+
+
+L_Spin:
+ mesc l("Spinning...");
+ next;
+ delitem CasinoCoins, 2;
+ .@a=rand2(1,7);
+ .@b=rand2(1,7);
+ .@c=rand2(1,7);
+ symbol(.@a);
+ symbol(.@b);
+ symbol(.@c);
+ next;
+ mesn;
+ if (.@a == .@b && .@a == .@c) {
+ .@it=Iten;
+ switch (.@a) {
+ case 1:
+ .@it=Sapphire; break;
+ case 2:
+ .@it=Amethyst; break;
+ case 3:
+ .@it=Diamond; break;
+ case 4:
+ .@it=Emerald; break;
+ case 5:
+ .@it=Topaz; break;
+ case 6:
+ .@it=Ruby; break;
+ case 7:
+ .@it=Bloodstone; break;
+ }
+ getitem .@it, 1;
+ mesc l("Jackpot! You got the @@!", .@it), 3;
+ } else if (.@a == .@b || .@a == .@c || .@b == .@c) {
+ getitem CasinoCoins, 1;
+ mesc l("Lucky! You got the coin back!"), 3;
+ } else {
+ mesc l("It wasn't this time..."), 3;
+ }
+ next;
+ goto L_Menu;
+
+L_Quit:
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+
+
+}
+
diff --git a/npc/017-3/vault.txt b/npc/017-3/vault.txt
new file mode 100644
index 0000000..c520330
--- /dev/null
+++ b/npc/017-3/vault.txt
@@ -0,0 +1,20 @@
+// TMW2/LoF Script.
+// Author:
+// Jesusalva
+// Notes:
+// Based on BenB idea.
+
+017-3,80,39,0 script Vault#0173 NPC_NO_SPRITE,{
+ LootableVault(1, 3, "01738039");
+ close;
+
+OnInit:
+ .distance=3;
+ end;
+
+OnClock0201:
+OnClock1418:
+ $VAULT_01738039+=rand2(5,25);
+ end;
+}
+
diff --git a/npc/017-3/workers.txt b/npc/017-3/workers.txt
new file mode 100644
index 0000000..8b640ea
--- /dev/null
+++ b/npc/017-3/workers.txt
@@ -0,0 +1,21 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Shady NPCs with questionable purposes.
+
+//010-2,23,70,0 script Josh NPC_TECH_EXPLORER,{
+017-3,23,70,0 script Jenny NPC_FEMALE_WORKER,{
+ showavatar NPC_FEMALE_WORKER;
+ mesn;
+ mesq l("We're busy here, so please don't bother us.");
+ close;
+}
+
+017-3,39,75,0 script Zack NPC_TECH_EXPLORER,{
+ showavatar NPC_TECH_EXPLORER;
+ mesn;
+ mesq l("Why are you here? This area is off-limits!");
+ close;
+}
diff --git a/npc/017-4/_import.txt b/npc/017-4/_import.txt
new file mode 100644
index 0000000..b16bdba
--- /dev/null
+++ b/npc/017-4/_import.txt
@@ -0,0 +1,7 @@
+// Map 017-4: Tech-User Forge
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/017-4/_warps.txt",
+"npc/017-4/pihro.txt",
+"npc/017-4/pyndragon.txt",
+"npc/017-4/refine.txt",
+"npc/017-4/vault.txt",
diff --git a/npc/017-4/_warps.txt b/npc/017-4/_warps.txt
new file mode 100644
index 0000000..5447202
--- /dev/null
+++ b/npc/017-4/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 017-4: Tech-User Forge warps
+017-4,27,42,0 warp #017-4_27_42 0,0,017-1,150,88
+017-4,35,42,0 warp #017-4_35_42 0,0,017-1,155,88
diff --git a/npc/017-4/pihro.txt b/npc/017-4/pihro.txt
new file mode 100644
index 0000000..6b5b9ae
--- /dev/null
+++ b/npc/017-4/pihro.txt
@@ -0,0 +1,116 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Forge bullets
+017-4,35,35,0 script Pihro NPC_PLAYER,{
+ // cond_check(ItemID, ItemAmount)
+ // Returns 1 if ID is zero
+ function cond_check {
+ if (getarg(0) == 0)
+ return 1;
+ else
+ return (countitem(getarg(0)) >= getarg(1));
+ }
+
+ // craft_ammo( PrizeItem, Price, Lead Amount, {Elemental Item, Amount, {Elemental Item2, Amount2}} )
+ function craft_ammo {
+ .@prize=getarg(0);
+ .@price=getarg(1);
+ .@base1=LeadIngot;
+ .@amon1=getarg(2);
+ .@base2=getarg(3,0);
+ .@amon2=getarg(4,0);
+ .@base3=getarg(5,0);
+ .@amon3=getarg(6,0);
+
+ .@price=POL_AdjustPrice(.@price);
+
+ mesn;
+ mesq l("Do you want to craft @@? For that I will need:", getitemlink(.@prize));
+ mesc l("@@/@@ @@", countitem(.@base1), .@amon1, getitemlink(.@base1));
+ if (.@amon2 > 0)
+ mesc l("@@/@@ @@", countitem(.@base2), .@amon2, getitemlink(.@base2));
+ if (.@amon3 > 0)
+ mesc l("@@/@@ @@", countitem(.@base3), .@amon3, getitemlink(.@base3));
+ mesc l("@@/@@ GP", format_number(Zeny), .@price);
+ next;
+
+ select
+ l("Yes"),
+ l("No");
+
+ if (@menu == 2)
+ return;
+
+ if (countitem(.@base1) >= .@amon1 &&
+ cond_check(.@base2, .@amon2) &&
+ cond_check(.@base3, .@amon3) &&
+ Zeny >= .@price) {
+ inventoryplace .@prize, 1024;
+ delitem .@base1, .@amon1;
+ if (.@base2 > 0)
+ delitem .@base2, .@amon2;
+ if (.@base3 > 0)
+ delitem .@base3, .@amon3;
+ POL_PlayerMoney(.@price);
+ getitem .@prize, rand2(980, 1024);
+ getexp rand2(980, 1024), rand2(270, 320);
+ Mobpt+=rand2(270, 320);
+
+ mes "";
+ mesn;
+ mesq l("Many thanks! Come back soon.");
+ } else {
+ speech S_FIRST_BLANK_LINE,// | S_LAST_NEXT,
+ l("You don't have enough material, sorry.");
+ }
+ return;
+ }
+ mesn;
+ mesq l("Hello there! I make bullets for the weapons my friend Pyndragon makes.");
+ next;
+
+L_Craft:
+ mesn;
+ mesq l("Some bullets have Elemental Properties, by the way. Now, what will it be?");
+ next;
+ select
+ l("Nothing, sorry."),
+ l("Normal Bullet"),
+ l("Sacred Bullet"),
+ l("Evil Bullet"),
+ l("Explosive ARROW");
+
+ switch (@menu) {
+ case 2:
+ // craft_ammo( PrizeItem, Price, Lead Amount, {Elemental Item, Amount, {Elemental Item2, Amount2}} )
+ craft_ammo(Bullet, 200, 1);
+ goto L_Craft;
+ case 3:
+ craft_ammo(SacredBullet, 200, 1, WhiteFur, 5);
+ goto L_Craft;
+ case 4:
+ craft_ammo(EvilBullet, 200, 1, Bone, 1);
+ goto L_Craft;
+ case 5:
+ craft_ammo(ExplosiveArrow, 300, 1, SulfurPowder, 5, WoodenLog, 3);
+ goto L_Craft;
+ }
+ close;
+
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, Monocle);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, WarlordPlate);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ setunitdata(.@npcId, UDT_WEAPON, JeansChaps);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 2);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
+
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
diff --git a/npc/017-4/pyndragon.txt b/npc/017-4/pyndragon.txt
new file mode 100644
index 0000000..d112b46
--- /dev/null
+++ b/npc/017-4/pyndragon.txt
@@ -0,0 +1,252 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Forge firearms
+017-4,34,23,0 script Pyndragon NPC_PLAYER,{
+ function explainMelee;
+ // craft_gun( BaseItem1, Amount, BaseItem2, Amount, BaseItem3, Amount, PrizeItem, Price )
+ function craft_gun {
+ .@base1=getarg(0);
+ .@amon1=getarg(1);
+ .@base2=getarg(2);
+ .@amon2=getarg(3);
+ .@base3=getarg(4);
+ .@amon3=getarg(5);
+ .@prize=getarg(6);
+ .@price=getarg(7);
+
+ .@price=POL_AdjustPrice(.@price);
+
+ mesn;
+ mesq l("Do you want to craft @@? For that I will need:", getitemlink(.@prize));
+ mesc l("@@/@@ @@", countitem(.@base1), .@amon1, getitemlink(.@base1));
+ mesc l("@@/@@ @@", countitem(.@base2), .@amon2, getitemlink(.@base2));
+ mesc l("@@/@@ @@", countitem(.@base3), .@amon3, getitemlink(.@base3));
+ mesc l("@@/@@ GP", format_number(Zeny), fnum(.@price));
+ next;
+
+ select
+ l("Yes"),
+ l("No");
+
+ if (@menu == 2)
+ return;
+
+ if (countitem(.@base1) >= .@amon1 &&
+ countitem(.@base2) >= .@amon2 &&
+ countitem(.@base3) >= .@amon3 &&
+ Zeny >= .@price) {
+ inventoryplace .@prize, 1;
+ delitem .@base1, .@amon1;
+ delitem .@base2, .@amon2;
+ delitem .@base3, .@amon3;
+ POL_PlayerMoney(.@price);
+ //getitem .@prize, 1;
+ CsysNpcCraft(.@prize, IOPT_CRITDMG, rand2(20, 30), IOPT_DOUBLEATTACK, rand2(5, 15));
+
+ mes "";
+ mesn;
+ mesq l("Many thanks! Come back soon.");
+ } else {
+ speech S_FIRST_BLANK_LINE,// | S_LAST_NEXT,
+ l("You don't have enough material, sorry.");
+ }
+ return;
+ }
+
+ .@q=getq(HurnscaldQuest_LOFPass);
+ mesn;
+ if (is_night())
+ mesq l("Good @@. My name is @@ and I make @@.", l("evening"), .name$, l("firearms"));
+ else
+ mesq l("Good @@. My name is @@ and I make @@.", l("day"), .name$, l("firearms"));
+ next;
+ mesn strcharinfo(0);
+ mesq l("Firearms? What would that be? @@", "%%4");
+ next;
+ mesn;
+ mesq l("Oh, just an empty staff with black powder inside it. Which explodes. And then kills monsters.");
+ tutmes l("%s makes specialized weapons for high level players. If you tweak with Nicholas, in Hurnscald, the weapon options, you can get really powerful.", .name$);
+ next;
+ if (.@q == 1) goto L_LOFBOT;
+ mes "";
+ if (BaseLevel < 50)
+ goto L_TooWeak;
+ else if (BaseLevel < 60)
+ goto L_Weak;
+ goto L_Menu;
+
+L_TooWeak:
+ mesn;
+ mesq l("These weapons are only for masters, so you must get levels before being able to use them.");
+ close;
+
+L_Weak:
+ mesn;
+ mesq l("You need level 60 to use these guns, but if you want to start collecting materials, you're allowed to.");
+ next;
+ goto L_Menu;
+
+L_Menu:
+ menu
+ l("I would like some information"), L_Info,
+ l("I want a gun!"), L_Craft,
+ l("Do you have non-ranged weapons?"), L_CraftMelee,
+ l("I don't want anything right now, bye."), L_Close;
+
+L_Info:
+ mes "";
+ mesn;
+ mesq l("There are four basic class:");
+ mesc l("SHORT GUNSTAFF");//aka revolver
+ mesc l("* The only one hand ranged weapon you'll ever find!");
+ mes l(" I cut it in half, and to fix shooting speed, I added some extra cogs.");
+ mes l(" It didn't got too much lighter, and it got really weak compared to a bow.");
+ mesc l("POWERFUL GUNSTAFF");
+ mesc l("* Huge damage and more criticals, but slow fire rate.");
+ mes l(" The standard gunstaff! It is way stronger than a bow!");
+ mes l(" Oh, and it comes with added shooting range, but it is slow as hell to reload.");
+ mesc l("RAPID GUNSTAFF");
+ mesc l("* Low damage, highest attack speed from all.");
+ mes l(" One have lots of powder to attack non-stop, but oh god that is heavy.");
+ mes l(" It is also much weaker and less precise than a bow. But it is so fun using...");
+ mesc l("EXPLOSIVE GUNSTAFF");
+ mesc l("* Causes splash damage, and are very expensive.");
+ mes l(" You know, I wanted to make the powder explode when hitting!");
+ mes l(" It is the same as a bow, including in penalty. But it deals splash damage!");
+ next;
+ mesn;
+ mesq l("Select carefully which weapon you want, so there are no regrets.");
+ next;
+ goto L_Menu;
+
+L_Craft:
+ select
+ l("I changed my mind."),
+ l("I want a SHORT GUNSTAFF."),
+ l("I want a POWERFUL GUNSTAFF."),
+ l("I want a RAPID GUNSTAFF."),
+ l("I want an EXPLOSIVE GUNSTAFF."),
+ rif(false, l("I want something more magical."));
+ mes "";
+
+ switch (@menu) {
+ case 2:
+ craft_gun( LeadIngot, 4, TitaniumIngot, 5, Coal, 11, PynRevolver, 3000 );
+ goto L_Craft;
+ case 3:
+ craft_gun( LeadIngot, 6, TitaniumIngot, 7, Coal, 14, PynRifle, 3000 );
+ goto L_Craft;
+ case 4:
+ craft_gun( LeadIngot, 6, TitaniumIngot, 7, Coal, 14, PynGatling, 4000 );
+ goto L_Craft;
+ case 5:
+ craft_gun( LeadIngot, 9, TitaniumIngot, 10, Coal, 16, PynShotgun, 6000 );
+ goto L_Craft;
+ case 6:
+ mesn;
+ mesq l("I suppose I can make you a %s. It sometimes casts magic skills upon your foes. Well, seldomly, but it also deals more damage than normal wands.", getitemlink(PynScepter));
+ next;
+ craft_gun( LeadIngot, 10, TitaniumIngot, 12, Coal, 24, PynScepter, 24000 );
+ goto L_Craft;
+ }
+ goto L_Menu;
+
+
+L_CraftMelee:
+ select
+ l("I changed my mind."),
+ l("Which melee you craft?"),
+ l("I want a PORTABLE LIGHTSABER."),
+ l("I want a POWERFUL LIGHTSABER."),
+ rif(getskilllv(TF_STEAL) && false, l("I want a KUNAI.")),
+ l("I want a WHIP.");
+ mes "";
+
+ switch (@menu) {
+ case 2:
+ explainMelee();
+ goto L_CraftMelee;
+ case 3:
+ craft_gun( EverburnPowder, 30, TitaniumIngot, 7, LeadIngot, 4, Lightsaber, 25000 );
+ goto L_CraftMelee;
+ case 4:
+ craft_gun( EverburnPowder, 30, TitaniumIngot, 7, LeadIngot, 4, PowerfulLightsaber, 25000 );
+ goto L_CraftMelee;
+ case 5:
+ craft_gun( GoldIngot, 3, HeroCoin, 500, LOFCoin, 4, PynKunai, 25000 );
+ goto L_CraftMelee;
+ case 6:
+ craft_gun( LOFCoin, 3, TitaniumIngot, 5, LeadIngot, 3, PynWhip, 22000 );
+ goto L_CraftMelee;
+ }
+ goto L_Menu;
+
+
+L_Close:
+ closedialog;
+ goodbye;
+ close;
+
+// Takes priority over craft
+L_LOFBOT:
+ select
+ l("A friend of yours called LOF BOT asked for a coin..."),
+ l("Sorry, I'm in hurry.");
+ mes "";
+ if (@menu == 2) close;
+ mesn;
+ mesq l("Ah, so LOF Bot wants a souvenir after all!");
+ next;
+ mesn;
+ mesq l("Everyone loves the Land of Fire, it is impossible to not love it.");
+ next;
+ inventoryplace LOFCoin, 1;
+ mesn;
+ mesq l("Here, please take this to them. Tell them they are welcome here anytime! %%2");
+ getitem LOFCoin, 1;
+ setq HurnscaldQuest_LOFPass, 2;
+ close;
+
+function explainMelee {
+ mesc l("PORTABLE LIGHTSABER");
+ mesc l("* Very quick and can be used in a single hand.");
+ mesc l("POWERFUL LIGHTSABER");
+ mesc l("* Very quick, two handed, and evil.");
+ mes "";
+ mes l(" Actually, Lalica cursed one of my firestaves and it got a mind of its own D:");
+ mes l(" Then I found out that I could set the staff in flames using Everburn Powder!");
+ mes l(" It was quite a challenge, and I still need Lalica to keep curse them.");
+ mes l(" But the result is a fast weapon which is also powerful.");
+ mes "";
+ next;
+ mesc l("KUNAI");
+ mesc l("* More for bandits than assassins or ninjas.");
+ mes l(" See, I was lazy and there were only short knives around... So I made a Kunai.");
+ mes l(" It can steal items or collect drops on the floor randomly. Also improves your evasion.");
+ mes l(" It is not that amazing, though. I will trade with you for more useful items.");
+ mes "";
+ mesc l("WHIP");
+ mesc l("* Has non-cumulative area of effect damage.");
+ mes l(" A fair all-rounder weapon; Stronger than you would expect and not so clumsy.");
+ mes l(" But its splash damage does not stack, so be careful when adding options.");
+ next;
+ return;
+}
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, WarlordHelmet);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, GoldenWarlordPlate);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ setunitdata(.@npcId, UDT_WEAPON, BromenalPants);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 2);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
+
+ .sex=G_MALE;
+ .distance=5;
+ end;
+
+}
diff --git a/npc/017-4/refine.txt b/npc/017-4/refine.txt
new file mode 100644
index 0000000..2bed9ce
--- /dev/null
+++ b/npc/017-4/refine.txt
@@ -0,0 +1,74 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Refine and Repair broken equipment.
+017-4,38,35,0 script Fortiun NPC_FORTIUN,{
+ showavatar NPC_FORTIUN;
+ @menu=0;
+ do
+ {
+ refineMaster();
+ } while (1);
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
+017-4,23,23,0 script Fusus NPC_FUSUS,{
+ showavatar NPC_FUSUS;
+ select
+ l("Repair items"),
+ l("Compact forge stones");
+ mes "";
+ if (@menu == 2)
+ goto L_Fusus;
+ @menu=0;
+ do
+ {
+ repairMaster();
+ } while (getbrokencount() >= 0);
+
+L_Fusus:
+ inventoryplace Iten, 1;
+ mesn;
+ mesq l("I can fuse an @@ and 20 @@, besides @@ GP, into 3~5 @@.", getitemlink(CopperIngot), getitemlink(SilkCocoon), 500, getitemlink(Wurtzite));
+ mesc l("5 @@ can be fused in a @@", getitemlink(Wurtzite), getitemlink(Graphene));
+ mesc l("5 @@ can be fused in a @@", getitemlink(Graphene), getitemlink(Arcanum));
+ select
+ rif(Zeny >= 500, l("I want the Wurtzite")),
+ rif(countitem(Wurtzite) >= 5, l("I want Graphene")),
+ rif(countitem(Graphene) >= 5, l("I want Arcanum")),
+ l("Do nothing");
+ mes "";
+ switch (@menu) {
+ case 4:
+ close;
+ case 1:
+ if (!transcheck(CopperIngot, 1, SilkCocoon, 20))
+ close;
+ Zeny -= 500;
+ getitem Wurtzite, any(3,3,4,4,4,5); // 3: ~33%. 4: =50%. 5: ~17%. AVG: 3.8
+ break;
+ case 2:
+ delitem Wurtzite, 5;
+ getitem Graphene, 1;
+ break;
+ case 3:
+ delitem Graphene, 5;
+ getitem Arcanum, 1;
+ break;
+ }
+ mesc l("Done!"), 2;
+ next;
+ goto L_Fusus;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/017-4/vault.txt b/npc/017-4/vault.txt
new file mode 100644
index 0000000..0301190
--- /dev/null
+++ b/npc/017-4/vault.txt
@@ -0,0 +1,20 @@
+// TMW2/LoF Script.
+// Author:
+// Jesusalva
+// Notes:
+// Based on BenB idea.
+
+017-4,20,41,0 script Vault#0174 NPC_VAULT,{
+ LootableVault(2, 5, "0174");
+ close;
+
+OnInit:
+ .distance=3;
+ end;
+
+OnClock0201:
+OnClock1418:
+ $VAULT_0174+=rand2(27,40);
+ end;
+}
+
diff --git a/npc/017-5/_import.txt b/npc/017-5/_import.txt
new file mode 100644
index 0000000..26bd1dd
--- /dev/null
+++ b/npc/017-5/_import.txt
@@ -0,0 +1,6 @@
+// Map 017-5: LoF Weapon Smith & Shop
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/017-5/_warps.txt",
+"npc/017-5/nahrec.txt",
+"npc/017-5/silversmith.txt",
+"npc/017-5/vault.txt",
diff --git a/npc/017-5/_warps.txt b/npc/017-5/_warps.txt
new file mode 100644
index 0000000..df29132
--- /dev/null
+++ b/npc/017-5/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 017-5: LoF Weapon Smith & Shop warps
+017-5,23,34,0 warp #017-5_23_34 0,0,017-1,133,156
diff --git a/npc/017-5/nahrec.txt b/npc/017-5/nahrec.txt
new file mode 100644
index 0000000..b2b3c71
--- /dev/null
+++ b/npc/017-5/nahrec.txt
@@ -0,0 +1,219 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// General Purpose Blacksmith
+// TODO: Silversmith on 24, 25
+
+017-5,44,24,0 script Nahrec NPC_PLAYER,{
+ function blacksmith_create;
+ function NahrecStory;
+ function NahrecMain;
+ function NahrecEnd;
+ function NahrecSavior;
+ function Mylarin;
+
+ mesn;
+ mesq l("Almost there! The War Lord will be proud with this new armor I am inventing for him! Just a little more...!");
+ next;
+
+ mesn;
+ mesq l("Ah, hello! It is good to see another traveler in this town!");
+ next;
+ select
+ l("Really? Where are you from?"),
+ l("It's good to see you too, do you happen to be able to make stuff?"),
+ l("Alright.");
+ mes "";
+ if (@menu == 1)
+ NahrecStory();
+ if (@menu == 2) // Changed by option 1, do not use a switch
+ NahrecMain();
+ NahrecEnd(); // changed by option 2, do not use a switch
+
+function NahrecEnd {
+ closedialog;
+ goodbye;
+ close;
+}
+
+function NahrecStory {
+ mesn;
+ mesq l("I came from Thermin, a town far far away.");
+ next;
+ mesn;
+ mesq l("I'm an experienced weapon master helping this smithy here, but I am new in this town. I am best at smithing armor.");
+ next;
+ select
+ l("Good to know."),
+ l("'Best'? So you can make other things?");
+ return;
+}
+
+function NahrecMain {
+ do
+ {
+ mesn;
+ mesq l("Yes, I can craft many things. In addition to plating and improving armor, I can craft smaller items made of gold and other metals.");
+ select
+ rif(!RECIPES_EQUIPMENT[CraftGoldenLightPlatemail], l("Can you improve my Light Platemail for me?")),
+ rif(!RECIPES_EQUIPMENT[CraftGoldenWarlordPlate], l("Can you improve my Warlord Plate for me?")),
+ l("Can you craft Chainmail?"),
+ l("Can you craft Light Platemail?"),
+ l("Can you craft Warlord Plate?"),
+ rif(countitem(MylarinDust) && !NAHREC_RECIPE, l("Can you craft Savior Equipment?")),
+ l("Can you craft Chainmail Skirt?"),
+ l("Do you know something about 'Mylarin Dust'?"),
+ l("Nevermind, bye!");
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesn;
+ mesq l("For %d GP I'll teach you, do we have a deal?", fnum(30000));
+ next;
+ if (askyesno() == ASK_YES && Zeny > 30000) {
+ mes "";
+ Zeny-=30000;
+ RECIPES_EQUIPMENT[CraftGoldenLightPlatemail]=true;
+ mesn;
+ mesc l("Nahrec discretly gives you a recipe.");
+ mesc l("\"*psst, just follow what is outlined here to make it golden.*\"");
+ }
+ break;
+ case 2:
+ mesn;
+ mesq l("For %d GP I'll teach you, do we have a deal?", fnum(200000));
+ next;
+ if (askyesno() == ASK_YES && Zeny > 200000) {
+ mes "";
+ Zeny-=200000;
+ RECIPES_EQUIPMENT[CraftGoldenWarlordPlate]=true;
+ mesn;
+ mesc l("Nahrec discretly gives you a recipe.");
+ mesc l("\"*psst, just follow what is outlined here to make it golden.*\"");
+ }
+ break;
+ break;
+ case 3:
+ blacksmith_create(IronIngot, 10, SilverIngot, 2, Chainmail, 20000);
+ break;
+ case 4:
+ blacksmith_create(IronIngot, 15, SilverIngot, 5, LightPlatemail, 40000);
+ break;
+ case 5:
+ blacksmith_create(IronIngot, 5, GoldenLightPlatemail, 1, WarlordPlate, 5000);
+ break;
+ case 6:
+ NahrecSavior();
+ case 7:
+ blacksmith_create(IronIngot, 10, SilverIngot, 15, ChainmailSkirt, 35000);
+ break;
+ case 8:
+ Mylarin();
+ case 9:
+ return;
+ }
+ } while (true);
+ return;
+}
+
+function Mylarin {
+ mesn;
+ mesq l("Mylarin dust?! Where would you get that? That's amazing!");
+ next;
+ mesq l("It has eluded so many craftsmiths, who knows what can be done with that!");
+ next;
+ mesq l("I can make some stuff with it, but I have no idea where it can be found. Mylarin dust... amazing.");
+ next;
+ return;
+}
+
+function NahrecSavior {
+ if (NAHREC_RECIPE) end;
+ mesn;
+ mesq l("Yes, I can craft Savior Pants. But it is not cheap. I'll need Platinum, Iridium, and Mylarin Dust. And gold. Much gold.");
+ next;
+ mesn;
+ mesq l("But you already have Mylarin Dust! That's good, because I no longer craft savior pieces. But. For %s GP I'll give you a %s and if you're lucky, it'll have the recipe you're after.", fnum(50000), getitemlink(SaviorBlueprint));
+ mes "";
+ if (Zeny < 50000) return;
+ next;
+ select
+ l("Alright, I'll pay."),
+ l("I'm a bit short in cash right now.");
+ mes "";
+ if (@menu == 2) return;
+ inventoryplace SaviorBlueprint, 1;
+ Zeny -= 50000;
+ NAHREC_RECIPE = true;
+ getitem SaviorBlueprint, 1;
+ mesn;
+ mesq l("Deal. Pleasure doing business with you.");
+ next;
+ return;
+}
+
+// blacksmith_create( BaseItem1, Amount, BaseItem2, Amount, PrizeItem, Price )
+function blacksmith_create {
+ .@base1=getarg(0);
+ .@amon1=getarg(1);
+ .@base2=getarg(2);
+ .@amon2=getarg(3);
+ .@prize=getarg(4);
+ .@price=getarg(5);
+
+ .@price=POL_AdjustPrice(.@price);
+
+ mesn;
+ mesq l("Do you want to craft @@? For that I will need @@ @@, @@ @@ and @@ gp.",
+ getitemlink(.@prize), .@amon1, getitemlink(.@base1), .@amon2, getitemlink(.@base2), .@price);
+
+ select
+ l("Yes"),
+ l("No");
+
+ if (@menu == 2)
+ return;
+
+ if (countitem(.@base1) >= .@amon1 &&
+ countitem(.@base2) >= .@amon2 &&
+ Zeny >= .@price) {
+ inventoryplace .@prize, 1;
+ delitem .@base1, .@amon1;
+ delitem .@base2, .@amon2;
+ POL_PlayerMoney(.@price);
+ if (.@prize == WarlordPlate) {
+ .@b=any(IOPT_SPLASHDAMAGE, VAR_ITEMDEFPOWER);
+ if (.@b == IOPT_SPLASHDAMAGE)
+ CsysNpcCraft(.@prize, .@b, 1);
+ else
+ CsysNpcCraft(.@prize, VAR_ITEMDEFPOWER, rand2(50), VAR_MDEFPOWER, 30);
+ } else {
+ CsysNpcCraft(.@prize, IOPT_SCRESIST_POISON, 10, IOPT_SCRESIST_SILENCE, 10, IOPT_SCRESIST_BLIND, 10, IOPT_SCRESIST_CURSE, 10);
+ }
+
+ mes "";
+ mesn;
+ mesq l("Many thanks! Come back soon.");
+ } else {
+ speech S_FIRST_BLANK_LINE,// | S_LAST_NEXT,
+ l("You don't have enough material, sorry.");
+ }
+ return;
+}
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, FancyHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, WarlordPlate);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ setunitdata(.@npcId, UDT_WEAPON, SaviorPants);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 2);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
+
+ .sex=G_MALE;
+ .distance=5;
+ end;
+
+}
diff --git a/npc/017-5/silversmith.txt b/npc/017-5/silversmith.txt
new file mode 100644
index 0000000..6255ee6
--- /dev/null
+++ b/npc/017-5/silversmith.txt
@@ -0,0 +1,91 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Crafts silver objects
+
+017-5,24,25,0 script Silversmith NPC_SILVERSMITH,{
+ showavatar NPC_SILVERSMITH;
+ goto L_Menu;
+
+ // blacksmith_create( BaseItem1, Amount, BaseItem2, Amount, PrizeItem, Price )
+ function blacksmith_create {
+ .@base1=getarg(0);
+ .@amon1=getarg(1);
+ .@base2=getarg(2);
+ .@amon2=getarg(3);
+ .@prize=getarg(4);
+ .@price=getarg(5);
+
+ .@price=POL_AdjustPrice(.@price);
+
+ mesn;
+ mesq l("Do you want to craft @@? For that I will need:", getitemlink(.@prize));
+ mesc l("@@/@@ @@", countitem(.@base1), .@amon1, getitemlink(.@base1));
+ mesc l("@@/@@ @@", countitem(.@base2), .@amon2, getitemlink(.@base2));
+ mesc l("@@/@@ GP", format_number(Zeny), format_number(.@price));
+
+ select
+ l("Yes"),
+ l("No");
+
+ if (@menu == 2)
+ return;
+
+ if (countitem(.@base1) >= .@amon1 &&
+ countitem(.@base2) >= .@amon2 &&
+ Zeny >= .@price) {
+ inventoryplace .@prize, 1;
+ delitem .@base1, .@amon1;
+ delitem .@base2, .@amon2;
+ POL_PlayerMoney(.@price);
+ getitem .@prize, 1;
+ .@xp=getiteminfo(.@base1, ITEMINFO_SELLPRICE)*.@amon1+getiteminfo(.@base2, ITEMINFO_SELLPRICE)*.@amon2;
+ .@xp=.@xp*2/3;
+ getexp .@xp, rand(1,10);
+
+ mes "";
+ mesn;
+ mesq l("Many thanks! Come back soon.");
+ } else {
+ speech S_FIRST_BLANK_LINE,// | S_LAST_NEXT,
+ l("You don't have enough material, sorry.");
+ }
+ return;
+ }
+
+
+L_Menu:
+ mesn l("Smith Silvers");
+ mesq l("Hello, I am your local silversmith, here for all of your smithing needs!");
+ next;
+ select
+ l("Nothing, sorry!"),
+ l("I'd like my Crozenite Clover Silvered."),
+ l("Silver Ring!"),
+ l("Miere Cleaver!"),
+ l("Broadsword!");
+
+ switch (@menu) {
+ case 2:
+ blacksmith_create(SilverIngot, 3, CrozeniteFourLeafAmulet, 1, SilverFourLeafAmulet, 500);
+ break;
+ case 3:
+ blacksmith_create(SilverIngot, 4, TinIngot, 2, SilverRing, 1000);
+ break;
+ case 4:
+ blacksmith_create(SilverIngot, 12, Coal, 8, MiereCleaver, 8000);
+ break;
+ case 5:
+ blacksmith_create(SilverIngot, 27, Coal, 20, Broadsword, 15000);
+ break;
+ }
+ close;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/017-5/vault.txt b/npc/017-5/vault.txt
new file mode 100644
index 0000000..2b85756
--- /dev/null
+++ b/npc/017-5/vault.txt
@@ -0,0 +1,20 @@
+// TMW2/LoF Script.
+// Author:
+// Jesusalva
+// Notes:
+// Based on BenB idea.
+
+017-5,53,26,0 script Vault#0175 NPC_NO_SPRITE,{
+ LootableVault(1, 5, "0175");
+ close;
+
+OnInit:
+ .distance=3;
+ end;
+
+OnClock0202:
+OnClock1419:
+ $VAULT_0175+=rand2(21,36);
+ end;
+}
+
diff --git a/npc/017-6/_import.txt b/npc/017-6/_import.txt
new file mode 100644
index 0000000..197e95a
--- /dev/null
+++ b/npc/017-6/_import.txt
@@ -0,0 +1,5 @@
+// Map 017-6: LoF Alchemy Shop
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/017-6/_warps.txt",
+"npc/017-6/axzell.txt",
+"npc/017-6/sheila.txt",
diff --git a/npc/017-6/_warps.txt b/npc/017-6/_warps.txt
new file mode 100644
index 0000000..5d600c7
--- /dev/null
+++ b/npc/017-6/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 017-6: LoF Alchemy Shop warps
+017-6,30,44,0 warp #017-6_30_44 0,1,017-1,38,139
+017-6,30,32,0 warp #017-6_30_32 0,1,017-1,38,131
+017-6,30,53,0 warp #017-6_30_53 0,1,017-1,38,154
diff --git a/npc/017-6/axzell.txt b/npc/017-6/axzell.txt
new file mode 100644
index 0000000..4148d53
--- /dev/null
+++ b/npc/017-6/axzell.txt
@@ -0,0 +1,173 @@
+// TMW2/LoF scripts.
+// Authors:
+// Jesusalva
+// Dye Quest added by:
+// Povo
+// Description:
+// Status Reset. Formely named Bobby
+
+017-6,25,30,0 script Axzell the Alchemist NPC_PLAYER,{
+
+ speech S_LAST_NEXT,
+ l("I am @@, an alchemist specialized in reset potions.", .name$);
+
+L_Menu:
+ .@plush_count = BaseLevel*190-(9*210);
+ // Lv 10: 10 GP
+ // Lv 90: 1.690 GP
+ if (BaseLevel > 10)
+ .@plush_count = .@plush_count/(BaseLevel/10);
+
+ select
+ l("Can you reset my stats please?"),
+ l("Hey, nice hat! Can I have it?"),
+ l("Do you make anything else?"),
+ lg("You are weird, I have to go sorry.");
+
+ mes "";
+ switch (@menu) {
+ case 1:
+ goto L_ResetStats;
+ case 2:
+ mesn;
+ mesq l("Maybe.");
+ next;
+ mesn strcharinfo(0);
+ mes l("*_* \"Pretty please?\"");
+ next;
+ mesn;
+ mesq l("Well, I and my brother could make another one, but they are being checked for safety.");
+ next;
+ mesn;
+ mesq l("After all, what would you do if it open a black hole on your head by accident? %%4");
+ next;
+ mesn strcharinfo(0);
+ mesq l("Welp, no, please!");
+ next;
+ mesn;
+ mesq l("%%@ Then wait until Saulc says they are safe!");
+ next;
+ goto L_Menu;
+ case 3:
+ goto L_Dye;
+ case 4:
+ goto L_Quit;
+ }
+
+L_ResetStats:
+ mesn;
+ mesq l("Status point reset can't be undone. Do you really want this?");
+
+L_ConfirmReset:
+ ConfirmStatusReset();
+ goto L_Quit;
+
+L_Dye:
+ mesn;
+ mesq l("Since red is the official color of Land of Fire Village, I craft dye for players who will properly represent our town.",
+ getitemlink(RedDye));
+ if (BaseLevel < 50) {
+ mesn;
+ mesq l("Right now you are too weak.");
+ mesq l(" What would people think of our village if they come accross a defeated noob wearing our proud colors!");
+ next;
+ mesq l("Come back when you are at a higher level.");
+ next;
+ goto L_Menu;
+ }
+ next;
+ mesq l("Bring me %d %s, %d %s, %d %s, and %d %s, and I will make it for you. I also charge %d GP commission.",
+ 1, getitemlink(BottleOfSewerWater),
+ 200, getitemlink(AlizarinHerb),
+ 20, getitemlink(Coral),
+ 10, getitemlink(SulfurPowder), 3500);
+ mesq l("Do you want one?");
+ compareandsetq LoFQuest_Axzell, 0, 1;
+ next;
+ select
+ l("Yeah, I need one."),
+ l("Thanks for the help, but no."),
+ l("Actually, nevermind. Good bye!");
+ mes "";
+ if (@menu == 2)
+ goto L_Menu;
+
+ if (@menu == 3)
+ goto L_Quit;
+
+ L_DyeLoop:
+ if (countitem(BottleOfSewerWater) >= 1 &&
+ countitem(AlizarinHerb) >= 200 &&
+ countitem(Coral) >= 20 &&
+ countitem(SulfurPowder) >= 10 &&
+ Zeny >= 3500) {
+ inventoryplace RedDye, 1, EmptyBottle, 1;
+ delitem BottleOfSewerWater, 1;
+ delitem AlizarinHerb, 200;
+ delitem Coral, 20;
+ delitem SulfurPowder, 10;
+ Zeny-=3500;
+ getitem RedDye, 1;
+ getitem EmptyBottle, 1;
+ if (getq(LoFQuest_Axzell) == 1) {
+ setq LoFQuest_Axzell, 2;
+ getexp 15000, 0;
+ }
+ mesn;
+ mesq l("Thanks! Here you go. Perhaps you want another one?");
+ next;
+ if (askyesno() == ASK_YES)
+ goto L_DyeLoop;
+ } else {
+ mesn;
+ mesq l("Sorry, you don't seem to have everything I need.");
+ }
+ close;
+
+L_Quit:
+ closedialog;
+ goodbye;
+ close;
+
+OnTimer1000:
+ domovestep;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, ChemistHelmet);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, AlchemistArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 14);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 17);
+
+ initpath "move", 25, 30,
+ "dir", DOWN, 0,
+ "wait", 15, 0,
+ "move", 29, 21,
+ "dir", LEFT, 0,
+ "wait", 5, 0,
+ "dir", DOWN, 0,
+ "wait", 15, 0,
+ "move", 28, 34,
+ "dir", RIGHT, 0,
+ "wait", 15, 0,
+ "move", 22, 37,
+ "dir", RIGHT, 0,
+ "wait", 30, 0,
+ "move", 22, 48,
+ "dir", UP, 0,
+ "wait", 15, 0,
+ "move", 28, 62,
+ "dir", UP, 0,
+ "wait", 15, 0,
+ "move", 29, 47,
+ "dir", UP, 0,
+ "wait", 15, 0;
+ initialmove;
+ initnpctimer;
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/017-6/sheila.txt b/npc/017-6/sheila.txt
new file mode 100644
index 0000000..9c01e11
--- /dev/null
+++ b/npc/017-6/sheila.txt
@@ -0,0 +1,47 @@
+// TMW2/LoF scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Makes the Time Potion Of Ozthokk
+
+017-6,27,48,0 script Sheila the Clockmaker NPC_SHEILA,{
+ showavatar NPC_SHEILA;
+ mesn;
+ mesq l("Ah, hello... is it @@? Nice to meet you!", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("I am @@, student from the ancient secrets of the Mage of Time, Ozthokk.", .name$);
+ next;
+ mesn;
+ mesq l("My greatest realization thus far, besides some time rewinding clocks, is the @@!", getitemlink(TimeFlask));
+ next;
+ mesn;
+ mesq l("I'm not sure what it needs to move on time, but I managed to make it move in space, back to this village, in no time!");
+ mesq l("Well, maybe it takes a few hours or days of your life, but who cares! It is instant teleport!");
+ next;
+ mesn;
+ mesq l("If you bring me a @@ and 500 GP I can make one for you!", getitemlink(DragonScales));
+ if (!countitem(DragonScales) || Zeny < 500)
+ close;
+ select
+ l("Nice, but no, thanks."),
+ l("Pretty cool! I am interested!");
+ mes "";
+ if (@menu == 1)
+ close;
+ inventoryplace TimeFlask, 1;
+ delitem DragonScales, 1;
+ Zeny=Zeny-500;
+ getitem TimeFlask, 1;
+ mesn;
+ mesq l("Neat, neat! Thanks! Here you go, this amazing bottle! It is life-bond, so having multiple won't reduce the time you need to wait...");
+ next;
+ mesn;
+ mesq l("Do not open. Do not attempt to eat. Be careful with it, to don't cause any time paradoxes. I also heard a NPC may be interested on that, by the way!");
+ close;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/017-7/_import.txt b/npc/017-7/_import.txt
new file mode 100644
index 0000000..65d2ab7
--- /dev/null
+++ b/npc/017-7/_import.txt
@@ -0,0 +1,5 @@
+// Map 017-7: Real Estate
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/017-7/_warps.txt",
+"npc/017-7/doorbell.txt",
+"npc/017-7/utils.txt",
diff --git a/npc/017-7/_warps.txt b/npc/017-7/_warps.txt
new file mode 100644
index 0000000..a47e31a
--- /dev/null
+++ b/npc/017-7/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 017-7: Real Estate warps
+017-7,34,34,0 warp #017-7_34_34 1,0,017-1,85,176
diff --git a/npc/017-7/doorbell.txt b/npc/017-7/doorbell.txt
new file mode 100644
index 0000000..1be18ad
--- /dev/null
+++ b/npc/017-7/doorbell.txt
@@ -0,0 +1,335 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Real Estate System
+// Doorbell allows you to purchase mobilia, besides loading it when server starts
+// Each layer can have 32 different furniture pieces because bitmask limit.
+// This file is custom to every room
+
+// ID: 2
+// $ESTATE_OWNER[.id] → Account ID owner of the Real Estate
+// $ESTATE_OWNERNAME$[.id] → Human readable name of Real Estate owner
+// $ESTATE_RENTTIME[.id] → When the rent will expire
+// $ESTATE_MOBILIA_2[.id] → Bitmask of mobilia currently purchased on Monster Collision (6) (Use on walls only)
+// $ESTATE_MOBILIA_4[.id] → Bitmask of mobilia currently purchased on Air Collision (2)
+// $ESTATE_MOBILIA_8[.id] → Bitmask of mobilia currently purchased on Water Collision (3)
+// $ESTATE_MOBILIA_32[.id] → Bitmask of mobilia currently purchased on Yellow Collision (4)
+// $ESTATE_MOBILIA_64[.id] → Bitmask of mobilia currently purchased on Normal Collision (1)
+// $ESTATE_MOBILIA_128[.id] → Bitmask of mobilia currently purchased on Player Collision (5)
+// $ESTATE_PASSWORD$[.id] → Password to enter the estate. If it is "", then no password required
+// Note: GMs and Administrators can always use super password "mouboo" to enter a locked estate
+// $ESTATE_DOORBELL[.id] → If doorbell is disabled (enabled by default)
+
+// REAL_ESTATE_CREDITS → Credits equivalent to GP the player have. Will be used first.
+
+// The sign is the main controller
+017-7,32,34,0 script Doorbell#RES_0177 NPC_NO_SPRITE,{
+ // Name, Layer, Price, ID, x1, y1, x2, y2,
+ function create_object {
+ array_push(.nams$, getarg(0));
+ array_push(.layer, getarg(1));
+ array_push(.price, getarg(2));
+ array_push(.objid, getarg(3));
+ array_push(.x1, getarg(4));
+ array_push(.y1, getarg(5));
+ array_push(.x2, getarg(6));
+ array_push(.y2, getarg(7));
+ return;
+ }
+
+ if ($ESTATE_OWNER[.id] == getcharid(3))
+ goto L_Manage;
+
+ mesc l("This estate currently belongs to @@.", $ESTATE_OWNERNAME$[.id]);
+ close;
+
+// When using setcells() a player could get trapped!
+// This label will slide the player back to entrance, which should be a safe spot
+OnSlide:
+ slide 33, 33;
+ end;
+
+// If someone press the doorbell from outside and doorbell is enabled
+OnDoorbell:
+ if ($ESTATE_DOORBELL[.id])
+ end;
+
+ if (.dpost < gettimetick(2)) {
+ npctalk (strcharinfo(0)+" is pressing the doorbell."); // We actually don't want l()
+ }
+ .dpost=gettimetick(2)+.delay;
+ end;
+
+// Managment Menu
+L_Manage:
+ mesc l("@@'s Estate", strcharinfo(0));
+ mesc ".:: "+ l("Managment Menu") + " ::.";
+
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+ mesc l("Rent time available: @@", FuzzyTime($ESTATE_RENTTIME[.id]));
+ mesc l("Total Credits and GP: @@", format_number(.@gp));
+ mes "";
+ mesc l("Room password: @@", $ESTATE_PASSWORD$[.id]);
+ if ($ESTATE_DOORBELL[.id])
+ mesc l("Doorbell is disabled"), 1;
+
+ next;
+ select
+ l("Leave"),
+ l("Enable/disable doorbell"),
+ l("Manage Furniture"),
+ l("Set room password");
+
+ switch (@menu) {
+ case 1:
+ close;
+ break;
+ case 2:
+ $ESTATE_DOORBELL[.id]=!$ESTATE_DOORBELL[.id];
+ break;
+ case 3:
+ goto L_Furniture;
+ break;
+ case 4:
+ mesc l("(Leave the password blank to disable)");
+ mesc l("Current Room password: @@", $ESTATE_PASSWORD$[.id]);
+ mesc l("Input new password: ");
+ input .@password$;
+ mesc l("Repeat new password: ");
+ input .@passwordc$;
+ if (.@password$ == .@passwordc$) {
+ $ESTATE_PASSWORD$[.id]=.@password$;
+ mesc l("Password changed with success!"), 3;
+ } else {
+ mesc l("The passwords doesn't match."), 1;
+ }
+ break;
+ }
+ goto L_Manage;
+
+L_Furniture:
+ mesc l("@@'s Estate", strcharinfo(0));
+ mesc ".:: "+ l("Furniture Menu") + " ::.";
+
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+ mesc l("Total Credits and GP: @@", format_number(.@gp));
+
+ next;
+ select
+ l("Finish"),
+ l("Manage Beds"),
+ l("Manage Utilities"),
+ l("Manage Luxury furniture"),
+ l("Manage Decoration"),
+ l("Manage Chairs"),
+ l("Manage Paintings");
+ mes "";
+
+ switch (@menu) {
+ case 1:
+ goto L_Manage;
+ break;
+ case 2:
+ mesc ".:: "+ l("Beds") + " ::.", 3;
+ @re_col=RES_OBJECTS;
+ break;
+ case 3:
+ mesc ".:: "+ l("Utilities") + " ::.", 3;
+ @re_col=RES_UTILITIES;
+ break;
+ case 4:
+ mesc ".:: "+ l("Luxury furniture") + " ::.", 3;
+ @re_col=RES_LUXURY;
+ break;
+ case 5:
+ mesc ".:: "+ l("Decoration") + " ::.", 3;
+ @re_col=RES_DECORATION;
+ break;
+ case 6:
+ mesc ".:: "+ l("Chairs") + " ::.", 3;
+ @re_col=RES_SITTABLE;
+ break;
+ case 7:
+ mesc ".:: "+ l("Paintings") + " ::.", 3;
+ @re_col=RES_WALLDECORATION;
+ break;
+ }
+
+// L_ContinuousLoop
+// Requires the following variables:
+// @re_col
+// Target Collision ID
+L_ContinuousLoop:
+ deletearray @valid_ids;
+
+ // Create a second array (@valid_ids) with the ID of objects within @re_col group
+ for (.@i=0; .@i < getarraysize(.layer); .@i++) {
+ //debugmes "Found object ID %d named %s on layer %s coords (%d,%d) - Looking for layer %d", .@i, .nams$[.@i], .layer[.@i], .x1[.@i], .y1[.@i], @re_col;
+ if (.layer[.@i] == @re_col)
+ array_push(@valid_ids, .@i);
+ }
+ //debugmes "Found %d valid objects", getarraysize(@valid_ids);
+
+ // Create the menu with @valid_ids - Check if you already have the item to decide if you're buying or selling
+ @menuentries$="Finish:";
+ for (.@j=0; .@j < getarraysize(@valid_ids); .@j++) {
+ .@i=@valid_ids[.@j];
+ if (realestate_hasmobilia(.id, .layer[.@i], .objid[.@i]))
+ @menuentries$+=l("Sell ")+.nams$[.@i]+l(" for ") + format_number( realestate_sellprice(.id,.price[.@i]) ) +":";
+ else
+ @menuentries$+=l("Purchase ")+.nams$[.@i]+(" for ") + format_number( .price[.@i] )+":";
+ }
+ select (@menuentries$);
+ mes "";
+
+ // First option to return to previous menu
+ if (@menu == 1)
+ goto L_Furniture;
+
+ // Otherwise, we know then that (@menu-2) is the ID in @valid_ids
+ // So we save .@id with the correct ID in object arrays.
+ // We also calculate how much aggregated money you have.
+ .@id=@valid_ids[@menu-2];
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+
+ if (realestate_hasmobilia(.id, .layer[.@id], .objid[.@id])) {
+ // If you have the mobilia, you're selling it for Mobiliary Credits
+ delcells realestate_cellname(.id, .@id);
+ realestate_togglemobilia(.id, .layer[.@id], .objid[.@id], "NPCs#RES_0177");
+ REAL_ESTATE_CREDITS+=realestate_sellprice(.id,.price[.@i]);
+ mesc l("Sale successful!");
+ next;
+ } else {
+ // Else, you're buying it, so we must check if you have the moolah first
+ .@price=.price[.@id];
+ if (.@gp > .@price) {
+ realestate_payment(.@price);
+ setcells .mapa$, .x1[.@id], .y1[.@id], .x2[.@id], .y2[.@id], .layer[.@id], realestate_cellname(.id, .@id);
+ areatimer(.mapa$, .x1[.@id], .y1[.@id], .x2[.@id], .y2[.@id], 10, "::OnSlide");
+ realestate_togglemobilia(.id, .layer[.@id], .objid[.@id], "NPCs#RES_0177");
+ mesc l("Purchase successful!");
+ next;
+ } else {
+ mesc l("Not enough funds!");
+ next;
+ }
+ }
+
+ // This loops forever
+ goto L_ContinuousLoop;
+
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+
+ // Estate Settings
+ .id=2; // Estate ID
+ .delay=15; // Forced wait between rings
+ .dpost=0; // Last doorbell ring
+ .mapa$="017-7";
+
+ // Arrays
+ // We go element by element on the array building the menu
+ .nams$="";
+ .layer=0;
+ .price=0;
+ .objid=0;
+ .x1=0;
+ .y1=0;
+ .x2=0;
+ .y2=0;
+
+ // Furniture Settings
+ // Name, Collision Layer, Price, ID, x1, y1, x2, y2
+ // For Collision Layer, see constants.conf ("Real Estate Collisions")
+ create_object("Placeholder" ,99,999999,99999, 99, 99, 99, 99);
+
+ create_object("Bed 01" , 5, 5000, 1, 24, 24, 25, 27);
+ create_object("Bed 02" , 5, 5000, 2, 26, 24, 27, 27);
+ create_object("Bed 03" , 5, 5000, 4, 28, 24, 29, 27);
+ create_object("Bed 04" , 5, 5000, 8, 30, 24, 31, 27);
+ create_object("Bed 05" , 5, 5000, 16, 24, 29, 25, 32);
+ create_object("Bed 06" , 5, 5000, 32, 26, 29, 27, 32);
+ create_object("Bed 07" , 5, 5000, 64, 28, 29, 29, 32);
+ create_object("Bed 08" , 5, 5000, 128, 30, 29, 31, 32);
+
+ create_object("Wardrobe" , 1, 7000, 1, 21, 23, 22, 23);
+ create_object("Cauldron" , 1, 5000, 2, 28, 24, 29, 24);
+ create_object("Shelf 01" , 1, 2000, 4, 25, 23, 25, 23);
+ create_object("Shelf 02" , 1, 2000, 8, 26, 23, 26, 23);
+ create_object("Shelf 03" , 1, 2000, 16, 27, 23, 27, 23);
+ create_object("Shelf 04" , 1, 2000, 32, 30, 23, 30, 23);
+ create_object("Shelf 05" , 1, 2000, 64, 31, 23, 31, 23);
+ create_object("Shelf 06" , 1, 2000, 128, 32, 23, 32, 23);
+ create_object("Shelf 07" , 1, 2000, 256, 33, 23, 33, 23);
+ create_object("Shelf 08" , 1, 2000, 512, 34, 23, 34, 23);
+ create_object("Shelf 09" , 1, 2000, 1024, 35, 23, 35, 23);
+ create_object("Shelf 10" , 1, 2000, 2048, 36, 23, 36, 23);
+ create_object("Shelf 11" , 1, 2000, 4096, 37, 23, 37, 23);
+ create_object("Shelf 12" , 1, 2000, 8192, 38, 23, 38, 23);
+
+ create_object("Piano" , 3, 10000, 1, 33, 25, 35, 25);
+
+ create_object("Left Desk" , 2, 5000, 1, 20, 25, 22, 27);
+ create_object("Right Desk" , 2, 5000, 2, 36, 30, 38, 32);
+
+ create_object("Left Chair" , 4, 2000, 1, 21, 28, 21, 28);
+ create_object("Right Chair" , 4, 2000, 2, 37, 29, 37, 29);
+
+ create_object("Painting 01" , 6, 3000, 1, 21, 20, 21, 20);
+ create_object("Painting 02" , 6, 3000, 2, 23, 21, 23, 21);
+ create_object("Painting 03" , 6, 3000, 4, 25, 20, 25, 20);
+ create_object("Painting 04" , 6, 3000, 8, 28, 21, 28, 21);
+ create_object("Painting 05" , 6, 3000, 16, 31, 20, 31, 20);
+ create_object("Painting 06" , 6, 3000, 32, 36, 20, 36, 20);
+
+ // Load Mobilia already existing
+ //debugmes "[REAL ESTATE] Now loading mobilia";
+ for (.@i=0; .@i < getarraysize(.layer); .@i++) {
+ switch (.layer[.@i]) {
+ case 1:
+ if ($ESTATE_MOBILIA_64[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 2:
+ if ($ESTATE_MOBILIA_4[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 3:
+ if ($ESTATE_MOBILIA_8[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 4:
+ if ($ESTATE_MOBILIA_32[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 5:
+ if ($ESTATE_MOBILIA_128[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 6:
+ if ($ESTATE_MOBILIA_2[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ default:
+ // We do nothing by default
+ //debugmes("[ERROR] [CRITICAL] [REAL ESTATE]: Object %d have Invalid Collision Type: %d (must range 1~6)", .@i, .layer[.@i]);
+ break;
+ }
+ }
+ //debugmes "Found %d valid objects", getarraysize(.valid_ids);
+ for (.@j=0; .@j < getarraysize(.valid_ids); .@j++) {
+ .@id=.valid_ids[.@j];
+ setcells .mapa$, .x1[.@id], .y1[.@id], .x2[.@id], .y2[.@id], .layer[.@id], realestate_cellname(.id, .@id);
+ //debugmes "Creating %s in %s", realestate_cellname(.id, .@id), .mapa$;
+ }
+ deletearray .valid_ids;
+ // Load NPCs
+ donpcevent "NPCs#RES_0177::OnReload";
+ end;
+
+}
+
+
diff --git a/npc/017-7/utils.txt b/npc/017-7/utils.txt
new file mode 100644
index 0000000..28f69e2
--- /dev/null
+++ b/npc/017-7/utils.txt
@@ -0,0 +1,74 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Real Estate System
+// Utils take care of NPCs - Their code, and enable/disable using check_cell
+// This file is custom to every room
+
+// ID: 2
+// $ESTATE_OWNER[.id] → Account ID owner of the Real Estate
+// $ESTATE_OWNERNAME$[.id] → Human readable name of Real Estate owner
+// $ESTATE_RENTTIME[.id] → When the rent will expire
+// $ESTATE_MOBILIA_2[.id] → Bitmask of mobilia currently purchased on Monster Collision (6) (Use on walls only)
+// $ESTATE_MOBILIA_4[.id] → Bitmask of mobilia currently purchased on Air Collision (2)
+// $ESTATE_MOBILIA_8[.id] → Bitmask of mobilia currently purchased on Water Collision (3)
+// $ESTATE_MOBILIA_32[.id] → Bitmask of mobilia currently purchased on Yellow Collision (4)
+// $ESTATE_MOBILIA_64[.id] → Bitmask of mobilia currently purchased on Player Collision (5)
+// $ESTATE_MOBILIA_128[.id] → Bitmask of mobilia currently purchased on Normal Collision (1)
+// $ESTATE_PASSWORD$[.id] → Password to enter the estate. If it is "", then no password required
+// Note: GMs and Administrators can always use super password "mouboo" to enter a locked estate
+// $ESTATE_DOORBELL[.id] → If doorbell is disabled (enabled by default)
+
+// REAL_ESTATE_CREDITS → Credits equivalent to GP the player have. Will be used first.
+
+// The sign is the main controller for rent system
+// Doorbell is the main controller for indoor
+// This is the NPC script controller
+017-7,0,0,0 script NPCs#RES_0177 NPC_HIDDEN,{
+ // load_npc ( name , map, x , y{, cell} )
+ function load_npc {
+ if (checknpccell(getarg(1), getarg(2), getarg(3), getarg(4, cell_chknopass))) {
+ enablenpc getarg(0);
+ //debugmes "ENABLING NPC %s", getarg(0);
+ } else {
+ disablenpc getarg(0);
+ //debugmes "Disabling NPC %s", getarg(0);
+ }
+
+ /*
+ debugmes "----- %s (%d,%d) cell report", getarg(1), getarg(2), getarg(3);
+ debugmes "cell_chknopass: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chknopass);
+ debugmes "cell_chknoreach: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chknoreach);
+ debugmes "cell_chkbasilica: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chkbasilica);
+ debugmes "";
+ debugmes "cell_chkwater: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chkwater);
+ debugmes "cell_chkwall: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chkwall);
+ debugmes "cell_chkcliff: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chkcliff);
+ debugmes "----- Npc Id: %s", getarg(0);
+ */
+ return;
+ }
+ end;
+
+OnInit:
+ // Estate Settings
+ .id=2; // Estate ID
+ .mapa$="017-7"; // Map name
+
+ // NPC Settings
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+
+// Load or unload accordingly
+OnReload:
+ //debugmes "[REAL ESTATE] NPC ONRELOAD";
+ // load_npc ( name , map, x , y{, cell} )
+ load_npc("Wardrobe#RES_0177", .mapa$, 21, 23);
+ load_npc("Cauldron#RES_0177", .mapa$, 28, 24);
+ load_npc("Piano#RES_0177" , .mapa$, 34, 25);
+ end;
+
+}
+
diff --git a/npc/017-8/_import.txt b/npc/017-8/_import.txt
new file mode 100644
index 0000000..556bcbe
--- /dev/null
+++ b/npc/017-8/_import.txt
@@ -0,0 +1,5 @@
+// Map 017-8: Real Estate
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/017-8/_warps.txt",
+"npc/017-8/doorbell.txt",
+"npc/017-8/utils.txt",
diff --git a/npc/017-8/_warps.txt b/npc/017-8/_warps.txt
new file mode 100644
index 0000000..50279ce
--- /dev/null
+++ b/npc/017-8/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 017-8: Real Estate warps
+017-8,34,34,0 warp #017-8_34_34 1,0,017-1,139,21
diff --git a/npc/017-8/doorbell.txt b/npc/017-8/doorbell.txt
new file mode 100644
index 0000000..cc26c46
--- /dev/null
+++ b/npc/017-8/doorbell.txt
@@ -0,0 +1,335 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Real Estate System
+// Doorbell allows you to purchase mobilia, besides loading it when server starts
+// Each layer can have 32 different furniture pieces because bitmask limit.
+// This file is custom to every room
+
+// ID: 3
+// $ESTATE_OWNER[.id] → Account ID owner of the Real Estate
+// $ESTATE_OWNERNAME$[.id] → Human readable name of Real Estate owner
+// $ESTATE_RENTTIME[.id] → When the rent will expire
+// $ESTATE_MOBILIA_2[.id] → Bitmask of mobilia currently purchased on Monster Collision (6) (Use on walls only)
+// $ESTATE_MOBILIA_4[.id] → Bitmask of mobilia currently purchased on Air Collision (2)
+// $ESTATE_MOBILIA_8[.id] → Bitmask of mobilia currently purchased on Water Collision (3)
+// $ESTATE_MOBILIA_32[.id] → Bitmask of mobilia currently purchased on Yellow Collision (4)
+// $ESTATE_MOBILIA_64[.id] → Bitmask of mobilia currently purchased on Normal Collision (1)
+// $ESTATE_MOBILIA_128[.id] → Bitmask of mobilia currently purchased on Player Collision (5)
+// $ESTATE_PASSWORD$[.id] → Password to enter the estate. If it is "", then no password required
+// Note: GMs and Administrators can always use super password "mouboo" to enter a locked estate
+// $ESTATE_DOORBELL[.id] → If doorbell is disabled (enabled by default)
+
+// REAL_ESTATE_CREDITS → Credits equivalent to GP the player have. Will be used first.
+
+// The sign is the main controller
+017-8,32,34,0 script Doorbell#RES_0178 NPC_NO_SPRITE,{
+ // Name, Layer, Price, ID, x1, y1, x2, y2,
+ function create_object {
+ array_push(.nams$, getarg(0));
+ array_push(.layer, getarg(1));
+ array_push(.price, getarg(2));
+ array_push(.objid, getarg(3));
+ array_push(.x1, getarg(4));
+ array_push(.y1, getarg(5));
+ array_push(.x2, getarg(6));
+ array_push(.y2, getarg(7));
+ return;
+ }
+
+ if ($ESTATE_OWNER[.id] == getcharid(3))
+ goto L_Manage;
+
+ mesc l("This estate currently belongs to @@.", $ESTATE_OWNERNAME$[.id]);
+ close;
+
+// When using setcells() a player could get trapped!
+// This label will slide the player back to entrance, which should be a safe spot
+OnSlide:
+ slide 33, 33;
+ end;
+
+// If someone press the doorbell from outside and doorbell is enabled
+OnDoorbell:
+ if ($ESTATE_DOORBELL[.id])
+ end;
+
+ if (.dpost < gettimetick(2)) {
+ npctalk (strcharinfo(0)+" is pressing the doorbell."); // We actually don't want l()
+ }
+ .dpost=gettimetick(2)+.delay;
+ end;
+
+// Managment Menu
+L_Manage:
+ mesc l("@@'s Estate", strcharinfo(0));
+ mesc ".:: "+ l("Managment Menu") + " ::.";
+
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+ mesc l("Rent time available: @@", FuzzyTime($ESTATE_RENTTIME[.id]));
+ mesc l("Total Credits and GP: @@", format_number(.@gp));
+ mes "";
+ mesc l("Room password: @@", $ESTATE_PASSWORD$[.id]);
+ if ($ESTATE_DOORBELL[.id])
+ mesc l("Doorbell is disabled"), 1;
+
+ next;
+ select
+ l("Leave"),
+ l("Enable/disable doorbell"),
+ l("Manage Furniture"),
+ l("Set room password");
+
+ switch (@menu) {
+ case 1:
+ close;
+ break;
+ case 2:
+ $ESTATE_DOORBELL[.id]=!$ESTATE_DOORBELL[.id];
+ break;
+ case 3:
+ goto L_Furniture;
+ break;
+ case 4:
+ mesc l("(Leave the password blank to disable)");
+ mesc l("Current Room password: @@", $ESTATE_PASSWORD$[.id]);
+ mesc l("Input new password: ");
+ input .@password$;
+ mesc l("Repeat new password: ");
+ input .@passwordc$;
+ if (.@password$ == .@passwordc$) {
+ $ESTATE_PASSWORD$[.id]=.@password$;
+ mesc l("Password changed with success!"), 3;
+ } else {
+ mesc l("The passwords doesn't match."), 1;
+ }
+ break;
+ }
+ goto L_Manage;
+
+L_Furniture:
+ mesc l("@@'s Estate", strcharinfo(0));
+ mesc ".:: "+ l("Furniture Menu") + " ::.";
+
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+ mesc l("Total Credits and GP: @@", format_number(.@gp));
+
+ next;
+ select
+ l("Finish"),
+ l("Manage Beds"),
+ l("Manage Utilities"),
+ l("Manage Luxury furniture"),
+ l("Manage Decoration"),
+ l("Manage Chairs"),
+ l("Manage Paintings");
+ mes "";
+
+ switch (@menu) {
+ case 1:
+ goto L_Manage;
+ break;
+ case 2:
+ mesc ".:: "+ l("Beds") + " ::.", 3;
+ @re_col=RES_OBJECTS;
+ break;
+ case 3:
+ mesc ".:: "+ l("Utilities") + " ::.", 3;
+ @re_col=RES_UTILITIES;
+ break;
+ case 4:
+ mesc ".:: "+ l("Luxury furniture") + " ::.", 3;
+ @re_col=RES_LUXURY;
+ break;
+ case 5:
+ mesc ".:: "+ l("Decoration") + " ::.", 3;
+ @re_col=RES_DECORATION;
+ break;
+ case 6:
+ mesc ".:: "+ l("Chairs") + " ::.", 3;
+ @re_col=RES_SITTABLE;
+ break;
+ case 7:
+ mesc ".:: "+ l("Paintings") + " ::.", 3;
+ @re_col=RES_WALLDECORATION;
+ break;
+ }
+
+// L_ContinuousLoop
+// Requires the following variables:
+// @re_col
+// Target Collision ID
+L_ContinuousLoop:
+ deletearray @valid_ids;
+
+ // Create a second array (@valid_ids) with the ID of objects within @re_col group
+ for (.@i=0; .@i < getarraysize(.layer); .@i++) {
+ //debugmes "Found object ID %d named %s on layer %s coords (%d,%d) - Looking for layer %d", .@i, .nams$[.@i], .layer[.@i], .x1[.@i], .y1[.@i], @re_col;
+ if (.layer[.@i] == @re_col)
+ array_push(@valid_ids, .@i);
+ }
+ //debugmes "Found %d valid objects", getarraysize(@valid_ids);
+
+ // Create the menu with @valid_ids - Check if you already have the item to decide if you're buying or selling
+ @menuentries$="Finish:";
+ for (.@j=0; .@j < getarraysize(@valid_ids); .@j++) {
+ .@i=@valid_ids[.@j];
+ if (realestate_hasmobilia(.id, .layer[.@i], .objid[.@i]))
+ @menuentries$+=l("Sell ")+.nams$[.@i]+l(" for ") + format_number( realestate_sellprice(.id,.price[.@i]) ) +":";
+ else
+ @menuentries$+=l("Purchase ")+.nams$[.@i]+(" for ") + format_number( .price[.@i] )+":";
+ }
+ select (@menuentries$);
+ mes "";
+
+ // First option to return to previous menu
+ if (@menu == 1)
+ goto L_Furniture;
+
+ // Otherwise, we know then that (@menu-2) is the ID in @valid_ids
+ // So we save .@id with the correct ID in object arrays.
+ // We also calculate how much aggregated money you have.
+ .@id=@valid_ids[@menu-2];
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+
+ if (realestate_hasmobilia(.id, .layer[.@id], .objid[.@id])) {
+ // If you have the mobilia, you're selling it for Mobiliary Credits
+ delcells realestate_cellname(.id, .@id);
+ realestate_togglemobilia(.id, .layer[.@id], .objid[.@id], "NPCs#RES_0178");
+ REAL_ESTATE_CREDITS+=realestate_sellprice(.id,.price[.@i]);
+ mesc l("Sale successful!");
+ next;
+ } else {
+ // Else, you're buying it, so we must check if you have the moolah first
+ .@price=.price[.@id];
+ if (.@gp > .@price) {
+ realestate_payment(.@price);
+ setcells .mapa$, .x1[.@id], .y1[.@id], .x2[.@id], .y2[.@id], .layer[.@id], realestate_cellname(.id, .@id);
+ areatimer(.mapa$, .x1[.@id], .y1[.@id], .x2[.@id], .y2[.@id], 10, "::OnSlide");
+ realestate_togglemobilia(.id, .layer[.@id], .objid[.@id], "NPCs#RES_0178");
+ mesc l("Purchase successful!");
+ next;
+ } else {
+ mesc l("Not enough funds!");
+ next;
+ }
+ }
+
+ // This loops forever
+ goto L_ContinuousLoop;
+
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+
+ // Estate Settings
+ .id=3; // Estate ID
+ .delay=15; // Forced wait between rings
+ .dpost=0; // Last doorbell ring
+ .mapa$="017-8";
+
+ // Arrays
+ // We go element by element on the array building the menu
+ .nams$="";
+ .layer=0;
+ .price=0;
+ .objid=0;
+ .x1=0;
+ .y1=0;
+ .x2=0;
+ .y2=0;
+
+ // Furniture Settings
+ // Name, Collision Layer, Price, ID, x1, y1, x2, y2
+ // For Collision Layer, see constants.conf ("Real Estate Collisions")
+ create_object("Placeholder" ,99,999999,99999, 99, 99, 99, 99);
+
+ create_object("Bed 01" , 5, 5000, 1, 24, 24, 25, 27);
+ create_object("Bed 02" , 5, 5000, 2, 26, 24, 27, 27);
+ create_object("Bed 03" , 5, 5000, 4, 28, 24, 29, 27);
+ create_object("Bed 04" , 5, 5000, 8, 30, 24, 31, 27);
+ create_object("Bed 05" , 5, 5000, 16, 24, 29, 25, 32);
+ create_object("Bed 06" , 5, 5000, 32, 26, 29, 27, 32);
+ create_object("Bed 07" , 5, 5000, 64, 28, 29, 29, 32);
+ create_object("Bed 08" , 5, 5000, 128, 30, 29, 31, 32);
+
+ create_object("Wardrobe" , 1, 7000, 1, 21, 23, 22, 23);
+ create_object("Cauldron" , 1, 5000, 2, 28, 24, 29, 24);
+ create_object("Shelf 01" , 1, 2000, 4, 25, 23, 25, 23);
+ create_object("Shelf 02" , 1, 2000, 8, 26, 23, 26, 23);
+ create_object("Shelf 03" , 1, 2000, 16, 27, 23, 27, 23);
+ create_object("Shelf 04" , 1, 2000, 32, 30, 23, 30, 23);
+ create_object("Shelf 05" , 1, 2000, 64, 31, 23, 31, 23);
+ create_object("Shelf 06" , 1, 2000, 128, 32, 23, 32, 23);
+ create_object("Shelf 07" , 1, 2000, 256, 33, 23, 33, 23);
+ create_object("Shelf 08" , 1, 2000, 512, 34, 23, 34, 23);
+ create_object("Shelf 09" , 1, 2000, 1024, 35, 23, 35, 23);
+ create_object("Shelf 10" , 1, 2000, 2048, 36, 23, 36, 23);
+ create_object("Shelf 11" , 1, 2000, 4096, 37, 23, 37, 23);
+ create_object("Shelf 12" , 1, 2000, 8192, 38, 23, 38, 23);
+
+ create_object("Piano" , 3, 10000, 1, 33, 25, 35, 25);
+
+ create_object("Left Desk" , 2, 5000, 1, 20, 25, 22, 27);
+ create_object("Right Desk" , 2, 5000, 2, 36, 30, 38, 32);
+
+ create_object("Left Chair" , 4, 2000, 1, 21, 28, 21, 28);
+ create_object("Right Chair" , 4, 2000, 2, 37, 29, 37, 29);
+
+ create_object("Painting 01" , 6, 3000, 1, 21, 20, 21, 20);
+ create_object("Painting 02" , 6, 3000, 2, 23, 21, 23, 21);
+ create_object("Painting 03" , 6, 3000, 4, 25, 20, 25, 20);
+ create_object("Painting 04" , 6, 3000, 8, 28, 21, 28, 21);
+ create_object("Painting 05" , 6, 3000, 16, 31, 20, 31, 20);
+ create_object("Painting 06" , 6, 3000, 32, 36, 20, 36, 20);
+
+ // Load Mobilia already existing
+ //debugmes "[REAL ESTATE] Now loading mobilia";
+ for (.@i=0; .@i < getarraysize(.layer); .@i++) {
+ switch (.layer[.@i]) {
+ case 1:
+ if ($ESTATE_MOBILIA_64[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 2:
+ if ($ESTATE_MOBILIA_4[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 3:
+ if ($ESTATE_MOBILIA_8[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 4:
+ if ($ESTATE_MOBILIA_32[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 5:
+ if ($ESTATE_MOBILIA_128[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 6:
+ if ($ESTATE_MOBILIA_2[.id] & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ default:
+ // We do nothing by default
+ //debugmes("[ERROR] [CRITICAL] [REAL ESTATE]: Object %d have Invalid Collision Type: %d (must range 1~6)", .@i, .layer[.@i]);
+ break;
+ }
+ }
+ //debugmes "Found %d valid objects", getarraysize(.valid_ids);
+ for (.@j=0; .@j < getarraysize(.valid_ids); .@j++) {
+ .@id=.valid_ids[.@j];
+ setcells .mapa$, .x1[.@id], .y1[.@id], .x2[.@id], .y2[.@id], .layer[.@id], realestate_cellname(.id, .@id);
+ //debugmes "Creating %s in %s", realestate_cellname(.id, .@id), .mapa$;
+ }
+ deletearray .valid_ids;
+ // Load NPCs
+ donpcevent "NPCs#RES_0178::OnReload";
+ end;
+
+}
+
+
diff --git a/npc/017-8/utils.txt b/npc/017-8/utils.txt
new file mode 100644
index 0000000..7016113
--- /dev/null
+++ b/npc/017-8/utils.txt
@@ -0,0 +1,74 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Real Estate System
+// Utils take care of NPCs - Their code, and enable/disable using check_cell
+// This file is custom to every room
+
+// ID: 3
+// $ESTATE_OWNER[.id] → Account ID owner of the Real Estate
+// $ESTATE_OWNERNAME$[.id] → Human readable name of Real Estate owner
+// $ESTATE_RENTTIME[.id] → When the rent will expire
+// $ESTATE_MOBILIA_2[.id] → Bitmask of mobilia currently purchased on Monster Collision (6) (Use on walls only)
+// $ESTATE_MOBILIA_4[.id] → Bitmask of mobilia currently purchased on Air Collision (2)
+// $ESTATE_MOBILIA_8[.id] → Bitmask of mobilia currently purchased on Water Collision (3)
+// $ESTATE_MOBILIA_32[.id] → Bitmask of mobilia currently purchased on Yellow Collision (4)
+// $ESTATE_MOBILIA_64[.id] → Bitmask of mobilia currently purchased on Player Collision (5)
+// $ESTATE_MOBILIA_128[.id] → Bitmask of mobilia currently purchased on Normal Collision (1)
+// $ESTATE_PASSWORD$[.id] → Password to enter the estate. If it is "", then no password required
+// Note: GMs and Administrators can always use super password "mouboo" to enter a locked estate
+// $ESTATE_DOORBELL[.id] → If doorbell is disabled (enabled by default)
+
+// REAL_ESTATE_CREDITS → Credits equivalent to GP the player have. Will be used first.
+
+// The sign is the main controller for rent system
+// Doorbell is the main controller for indoor
+// This is the NPC script controller
+017-8,0,0,0 script NPCs#RES_0178 NPC_HIDDEN,{
+ // load_npc ( name , map, x , y{, cell} )
+ function load_npc {
+ if (checknpccell(getarg(1), getarg(2), getarg(3), getarg(4, cell_chknopass))) {
+ enablenpc getarg(0);
+ //debugmes "ENABLING NPC %s", getarg(0);
+ } else {
+ disablenpc getarg(0);
+ //debugmes "Disabling NPC %s", getarg(0);
+ }
+
+ /*
+ debugmes "----- %s (%d,%d) cell report", getarg(1), getarg(2), getarg(3);
+ debugmes "cell_chknopass: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chknopass);
+ debugmes "cell_chknoreach: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chknoreach);
+ debugmes "cell_chkbasilica: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chkbasilica);
+ debugmes "";
+ debugmes "cell_chkwater: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chkwater);
+ debugmes "cell_chkwall: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chkwall);
+ debugmes "cell_chkcliff: %d", checknpccell(getarg(1), getarg(2), getarg(3), cell_chkcliff);
+ debugmes "----- Npc Id: %s", getarg(0);
+ */
+ return;
+ }
+ end;
+
+OnInit:
+ // Estate Settings
+ .id=3; // Estate ID
+ .mapa$="017-8"; // Map name
+
+ // NPC Settings
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+
+// Load or unload accordingly
+OnReload:
+ //debugmes "[REAL ESTATE] NPC ONRELOAD";
+ // load_npc ( name , map, x , y{, cell} )
+ load_npc("Wardrobe#RES_0178", .mapa$, 21, 23);
+ load_npc("Cauldron#RES_0178", .mapa$, 28, 24);
+ load_npc("Piano#RES_0178" , .mapa$, 34, 25);
+ end;
+
+}
+
diff --git a/npc/018-1-1/_import.txt b/npc/018-1-1/_import.txt
new file mode 100644
index 0000000..29f69c5
--- /dev/null
+++ b/npc/018-1-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 018-1-1: Sincerity Island Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-1-1/_mobs.txt",
+"npc/018-1-1/_warps.txt",
diff --git a/npc/018-1-1/_mobs.txt b/npc/018-1-1/_mobs.txt
new file mode 100644
index 0000000..ea6abcd
--- /dev/null
+++ b/npc/018-1-1/_mobs.txt
@@ -0,0 +1,13 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-1-1: Sincerity Island Cave mobs
+018-1-1,53,51,14,12 monster Silkworm 1034,10,30000,3000
+018-1-1,43,35,0,0 monster Evil Mushroom 1042,3,40000,5000
+018-1-1,27,31,0,0 monster Evil Mushroom 1042,3,40000,5000
+018-1-1,50,49,30,30 monster Bat 1039,10,60000,10000
+018-1-1,65,52,12,24 monster Chocolate Slime 1180,6,30000,60000
+018-1-1,49,65,27,10 monster Wicked Mushroom 1176,4,30000,3000
+018-1-1,35,39,13,17 monster Lavern 1175,6,30000,3000
+018-1-1,71,33,0,0 monster Evil Mushroom 1042,3,40000,5000
+018-1-1,49,63,30,10 monster Shadow Plant 1189,4,60000,10000
+018-1-1,53,48,27,21 monster Black Mamba 1174,4,60000,10000
+018-1-1,50,50,29,29 monster Vicious Squirrels 1187,9,60000,10000
diff --git a/npc/018-1-1/_warps.txt b/npc/018-1-1/_warps.txt
new file mode 100644
index 0000000..c30c4fc
--- /dev/null
+++ b/npc/018-1-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-1-1: Sincerity Island Cave warps
+018-1-1,33,78,0 warp #018-1-1_33_78 0,0,018-1,54,38
diff --git a/npc/018-1/_import.txt b/npc/018-1/_import.txt
new file mode 100644
index 0000000..98e287a
--- /dev/null
+++ b/npc/018-1/_import.txt
@@ -0,0 +1,5 @@
+// Map 018-1: Sincerity
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-1/_mobs.txt",
+"npc/018-1/_warps.txt",
+"npc/018-1/george.txt",
diff --git a/npc/018-1/_mobs.txt b/npc/018-1/_mobs.txt
new file mode 100644
index 0000000..33884d1
--- /dev/null
+++ b/npc/018-1/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-1: Sincerity mobs
+018-1,69,65,6,6 monster Evil Mushroom 1042,4,30000,40000
+018-1,32,33,6,6 monster Squirrel 1032,3,30000,60000
+018-1,46,48,2,0 monster Clover Patch 1028,1,10000,120000
+018-1,37,60,11,10 monster Poison Spiky Mushroom 1043,5,10000,30000
+018-1,54,36,8,9 monster Bat 1039,4,25000,30000
+018-1,59,51,6,4 monster Log Head 1066,2,22000,30000
diff --git a/npc/018-1/_warps.txt b/npc/018-1/_warps.txt
new file mode 100644
index 0000000..55139b1
--- /dev/null
+++ b/npc/018-1/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-1: Sincerity warps
+018-1,54,37,0 warp #018-1_54_37 0,0,018-1-1,33,77
+018-1,32,67,0 warp #018-1_32_67 0,0,017-1,152,223
diff --git a/npc/018-1/george.txt b/npc/018-1/george.txt
new file mode 100644
index 0000000..235151d
--- /dev/null
+++ b/npc/018-1/george.txt
@@ -0,0 +1,231 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Old pirate with quests.
+// LOFQuest_George
+// 1 - Roger assigned the task
+// 2 - First task accepted
+// 3 - First task complete
+// 4 - Second task accepted
+// 5 - Second task complete
+
+018-1,26,36,0 script George NPC_GEORGE,{
+ .@q=getequipid(EQI_HEAD_TOP);
+ .@q1=getequipid(EQI_ACC_R);
+ if (.@q == CorsairHat) goto L_Pirate;
+ if (.@q == PirateBandana) goto L_Bandana;
+ if (.@q == RightEyePatch || .@q1 == EyePatch) goto L_EyePatch;
+
+ mesn l("George the Pirate");
+ mesq l("Yar! Do you need something, matey?");
+ goto L_Main;
+
+// Intro dialogs
+L_Pirate:
+ mesn l("George the Pirate");
+ mesq l("Arrrrh! Ye be wearing a pirate's hat!");
+ goto L_Main;
+
+L_Bandana:
+ mesn l("George the Pirate");
+ mesq l("Arrrrh! Ye remind me of my old first mate!");
+ goto L_Main;
+
+L_EyePatch:
+ mesn l("George the Pirate");
+ mesq l("Arrrrh! Looks like ye lost an eye there!");
+ goto L_Main;
+
+// Main Menu
+L_Main:
+ .@q=getq(LoFQuest_George);
+
+ menu
+ l("What is this island?"), L_Explain,
+ rif(.@q == 1, l("Actually, I heard from Roger that you may need some help.")), L_RequestOne,
+ rif(.@q == 2, l("About the items you asked me to collect...")), L_ProgressOne,
+ rif(.@q == 3, l("Do you need any more help?")), L_RequestTwo,
+ rif(.@q == 4, l("About the items you asked me to collect...")), L_ProgressTwo,
+ rif(.@showShovel, l("Could you sell me a treasure map and a shovel?")), L_Shop,
+ rif(getq(HurnscaldQuest_PirateCave), l("About this pirate treasure map...")), L_PirateMap,
+ l("Nothing I guess"), L_Close;
+
+// Context menu
+L_Explain:
+ mesn l("George the Pirate");
+ mesq l("Arrr matey! This is @@, yarr.", l("##BSincerity Island##b"));
+ next;
+ mesn l("George the Pirate");
+ mesq l("Nobody lives here for years, arr. Monsters have taken over everything, yarr.");
+ next;
+ mesn l("George the Pirate");
+ mesq l("It is a pirate treasure hideout, yarr arr! If you have a @@ and a @@, you may get luck, yarr!", getitemlink(PirateTreasureMap), getitemlink(IronShovel));
+ next;
+ .@showShovel=true;
+ goto L_Main;
+
+
+// Requests
+L_RequestOne:
+ if (BaseLevel < 40)
+ goto L_Weak;
+ mesn l("George the Pirate");
+ mesq l("Roger, eh? Aye, I do need help. If you bring me 30 @@, 50 @@, and 30 @@, maybe I can give you a reward.", getitemlink(Beer), getitemlink(EmptyBottle), getitemlink(CasinoCoins));
+ setq LoFQuest_George, 2;
+ close;
+
+L_RequestTwo:
+ if (BaseLevel < 60)
+ goto L_Weak;
+ mesn l("George the Pirate");
+ mesq l("Arrr matey! My captain asked me to have you get him some items. Please bring us %d %s and %d %s, my captain likes to snack on those during our long voyages. Oh, and something to read too!",
+ 50, getitemlink(Potatoz),
+ 40, getitemlink(Dragonfruit));
+ setq LoFQuest_George, 4;
+ close;
+
+// Progress Report 1
+L_ProgressOne:
+ if (countitem(Beer) < 30 ||
+ countitem(EmptyBottle) < 50 ||
+ countitem(CasinoCoins) < 30)
+ goto L_NotEnough;
+
+ mesn l("George the Pirate");
+ mesq l("Did you brought everything I ask for?");
+ select
+ l("Yes"),
+ l("Not sure");
+
+ if (@menu == 2)
+ goto L_NotEnough;
+
+ mesn l("George the Pirate");
+ mesq l("Yar matey! You have the items I asked for! You have the honor and trust we pirates bestow each other!");
+
+ inventoryplace SailorHat, 1;
+ delitem Beer, 30;
+ delitem EmptyBottle, 50;
+ delitem CasinoCoins, 30;
+ mes "";
+ mesq l("Here is a reward for your effort! Now you can be a true buccaneer!");
+ getitem SailorHat, 1;
+ getexp 50000, 0;
+ setq LoFQuest_George, 3;
+ goto L_Close;
+
+// Progress Report 2
+L_ProgressTwo:
+ if (countitem(Potatoz) < 50 ||
+ countitem(Dragonfruit) < 40 ||
+ countitem(Almanac) < 1)
+ goto L_NotEnough;
+
+ mesn l("George the Pirate");
+ mesq l("Did you brought everything I ask for?");
+ select
+ l("Yes"),
+ l("Not sure");
+
+ if (@menu == 2)
+ goto L_NotEnough;
+
+ mesn l("George the Pirate");
+ mesq l("Arrr! Good job matey! You brought us everything we asked for, even the Maritime Almanac Scroll!");
+
+ inventoryplace CorsairHat, 1;
+ delitem Potatoz, 50;
+ delitem Dragonfruit, 40;
+ delitem Almanac, 1;
+ mesq l("My captain wanted me to give this to you as a special reward for your efforts.");
+ getitem CorsairHat, 1;
+ getexp 150000, 0;
+ setq LoFQuest_George, 5;
+ next;
+ mesn;
+ mesq l("You can call yourself a pirate now! HAR HAR HAR!!");
+ goto L_Close;
+
+// Fallbacks
+L_Weak:
+ mesn l("George the Pirate");
+ mesq l("Arr, you are not experienced enough to help me yet!");
+ close;
+
+L_NotEnough:
+ mesn l("George the Pirate");
+ mesq l("Arrr! You did not bring me everything I asked for!");
+ if (.@q == 2)
+ goto L_NotEnoughOne;
+ if (.@q == 4)
+ goto L_NotEnoughTwo;
+ close;
+
+L_NotEnoughOne:
+ mesq l("Remember, I need 30 @@, 50 @@, and 30 @@.", getitemlink(Beer), getitemlink(EmptyBottle), getitemlink(CasinoCoins));
+ goto L_Close;
+
+L_NotEnoughTwo:
+ mesq l("Remember, I need %d %s, %d %s, and something interesting to read.",
+ 50, getitemlink(Potatoz),
+ 40, getitemlink(Dragonfruit));
+ goto L_Close;
+
+L_Shop:
+ mesn;
+ mesq l("Arr ha ha ha arr!");
+ next;
+ mesn;
+ mesq l("If I had a map, I would be digging the treasures, not selling it, arr!");
+ next;
+ mesn;
+ .@price=getiteminfo(IronShovel, ITEMINFO_BUYPRICE);
+ mesq l("But I can sell ya a %s for %d GP. Interested?", getitemlink(IronShovel), .@price);
+ if (Zeny < .@price) {
+ mesc l("You do not have enough money.");
+ next;
+ goto L_Main;
+ }
+ if (askyesno() == ASK_YES) {
+ inventoryplace IronShovel, 1;
+ Zeny-=.@price;
+ getitem IronShovel, 1;
+ mesn;
+ mesq l("Arr! Here you go, matey!");
+ next;
+ }
+ .@showShovel=false;
+ goto L_Main;
+
+L_PirateMap:
+ if (getq(HurnscaldQuest_PirateCave) >= 2) {
+ mesn l("George the Pirate");
+ mesq l("I'm not familiar with the Butterfly Caves. Try asking a local, maybe Arkim, they ought know the way.");
+ next;
+ goto L_Close;
+ }
+ mesn l("George the Pirate");
+ mesq l("Arr, that's a fine map ya got there! And these are definitely Hurnscald Caves, yarr!");
+ next;
+ mesn l("George the Pirate");
+ mesq l("However...");
+ next;
+ mesn l("George the Pirate");
+ mesq l("I'm not familiar with the Butterfly Caves. Try asking a local?");
+ setq HurnscaldQuest_PirateCave, 2;
+ next;
+ goto L_Close;
+
+L_Close:
+ sailortalk;
+ closedialog;
+ close;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/018-2-1/_import.txt b/npc/018-2-1/_import.txt
new file mode 100644
index 0000000..1d1edd9
--- /dev/null
+++ b/npc/018-2-1/_import.txt
@@ -0,0 +1,6 @@
+// Map 018-2-1: Heroes' Hold - Castle
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-2-1/_warps.txt",
+"npc/018-2-1/dustman.txt",
+"npc/018-2-1/mapflags.txt",
+"npc/018-2-1/warps.txt",
diff --git a/npc/018-2-1/_warps.txt b/npc/018-2-1/_warps.txt
new file mode 100644
index 0000000..1cf37a7
--- /dev/null
+++ b/npc/018-2-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-2-1: Heroes' Hold - Castle warps
+018-2-1,26,33,0 warp #018-2-1_26_33 2,0,018-2,72,65
diff --git a/npc/018-2-1/dustman.txt b/npc/018-2-1/dustman.txt
new file mode 100644
index 0000000..905e791
--- /dev/null
+++ b/npc/018-2-1/dustman.txt
@@ -0,0 +1,243 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Take care of hardcore players
+
+018-2-1,22,29,0 script Colonel DUSTMAN NPC_CRUSADER,{
+ .@cod=getq(LoFQuest_COD);
+ .@hh=getq(LoFQuest_HH);
+ mesn;
+ mesq l("Hello adventurer. Are you interested in the Heroes Hold, or in the Call Of Dusty?");
+ next;
+ select
+ l("Heroes Hold"),
+ l("Call Of Dusty"),
+ l("Neither, sorry");
+ if (@menu == 3)
+ close;
+ else if (@menu == 2)
+ goto L_COD;
+
+ mes "";
+ if (BaseLevel < 40) {
+ mesn;
+ mesq l("Well, my men went down and still haven't returned.");
+ next;
+ mesn;
+ mesq l("I'm worried with them. Anyway, I think only heroes are allowed inside, and you are a few levels short of being a Hero...");
+ next;
+ mesn;
+ mesq l("Take care, adventurer!");
+ close;
+ }
+ mesn;
+ mesq l("This whole region is called the Heroes Hold. It's designed for hard core, bragging-rights-hunters, high level, supreme players.");
+ next;
+ mesn;
+ mesq l("This is the main hall. Below this stairs, you'll find the Heroes Hold Main Dungeon. It's a cave in a... uhm. Water.");
+ mesq l("I thought it was meant to be lava, this being in the Land Of Fire and all, but seems like someone must bug Saulc to fix it.");
+ if (.@hh > 1) {
+ next;
+ mesn;
+ mesq l("Where could my man have went?!");
+ next;
+ mesn;
+ mesq l("Perhaps this has something to do with the factions.");
+ next;
+ mesn;
+ mesq l("I wonder what secrets the Heroes Hold could be hiding...");
+ } else if (.@hh == 1) {
+ next;
+ mesn;
+ mesq l("Hm, good luck out there.");
+ if ((getq2(LoFQuest_HH) & HH_MASTER)) {
+ mes "";
+ mesn;
+ mesq l("I see you finished the Master Dungeon and didn't found my men. I'll think on something.");
+ next;
+ mesn;
+ mesq l("Thanks for your help, anyway.");
+ inventoryplace CrusadeHelmet, 1, MercBoxA, 5, AncientBlueprint, 2, HeroCoin, 60;
+ next;
+ mes "";
+ mesn;
+ mesc l("You can have my team's helmet, you're now officially a crusader!");
+ setq1 LoFQuest_HH, 2;
+ CsysNpcCraft(CrusadeHelmet, CLASS_DAMAGE_BOSS_TARGET, 10);
+ getitem MercBoxA, 5;
+ getitem AncientBlueprint, 2;
+ getitem HeroCoin, 60;
+ getexp 100000, 1000;
+ }
+ } else if (.@hh == 0) {
+ next;
+ mesn;
+ mesq l("So, let's return to the business at hand. My men went down and haven't returned. That was long ago, by the way.");
+ mesq l("I can send you to at least five from the seven cave levels this dungeon have.");
+ next;
+ mesn;
+ mesq l("Do you want to try to find them? Just search the first five floors: Novice, Intermediary, Advanced, Expert and Master.");
+ mesq l("The Supreme and Ultimate floors are just a WIP bonus. So if you don't find them on the five and report back, that'll do.");
+ next;
+ mesc l("Accept quest?");
+ if (askyesno() == ASK_YES) {
+ mes "";
+ mesn;
+ mesq l("Wonderful! You must finish Novice, Intermediary, Advanced and Expert levels before I unlock Master level for you.");
+ mesq l("I don't really understand how the dungeon works. I promise you a reward when you finish the task.");
+ next;
+ mesc l("You need to choose a Heroes Hold Group. This currently makes absolutely no difference whatsoever."), 1;
+ mesc l("However, each group may be expanded later. You can reset group by clearing the Master Floor.", 1);
+ mesc l("PS. The group names still aren't set. You're free to pinch in suggestions at LoF Discord (Legacy #discussion) :>");
+ next;
+ select
+ l("The Loyalists"),
+ l("The Wildlife");
+ setq LoFQuest_HH, 1, 0, (@menu-1);
+ }
+ }
+ close;
+
+L_COD:
+ mes "";
+ // First time you're hearing about?
+ if (BaseLevel >= 50 && .@cod < 1) {
+ mesn;
+ mesq l("Hey, do you know the ##BCall Of Dusty##b event?");
+ next;
+ setq1 LoFQuest_COD, 1;
+ goto L_InformationCOD;
+ }
+
+ // Begin here
+ mesn;
+ mesq l("Just @@ ago, thieves stole Pihro & Pyndragon weapons.", FuzzyTime(1542570030));
+ next;
+
+ // Handle initial message
+ if (BaseLevel >= 50) {
+ mesn;
+ mesq l("Pyndragon said he'll craft a @@ to whoever reduces them to dust. Interested?", getitemlink(Dustynator)); // BottledDust, Dustynator
+ mesc l("Note: Dustynator is a high level weapon. You might not have enough level to use it yet.");
+ next;
+ } else if (BaseLevel < 50) {
+ mesn;
+ mesq l("It was a real problem, threatening them to go out of business. I think they are trying to recover the lost weapons.");
+ mesc l("Attain level 50 to try this quest.");
+ close;
+ }
+
+L_SkipIntro:
+ mes "";
+ // Is the event currently active? Or is it exchange time?
+ if (.state == 0) {
+ mesn;
+ mesq l("The event starts hourly, when the minute clock hits zero. I'll tell everyone on this room when it starts and ends.");
+ next;
+ mesn;
+ mesc l("Do you want to exchange some of your @@ @@ for items?", countitem(BottledDust), getitemlink(BottledDust));
+ mes "";
+ if (askyesno() == ASK_YES) {
+ openshop;
+ closedialog;
+ }
+ close;
+ }
+
+ mesc l("Do you want to participate on Call Of Dusty?");
+ // Do you want to participate?
+ if (askyesno() == ASK_YES) {
+ mes "";
+ mesn;
+ mesq l("Do you need a refresher of the rules?");
+ if (askyesno() == ASK_YES) {
+ goto L_InformationCOD;
+ }
+ closeclientdialog;
+ @COD_CHECKPOINT=0;
+ warp "001-10", rand(163,171), rand(119,124);
+ addtimer(120000,"#COD_BossRoomCheck::OnTimeDefeat");
+ dispbottom l("Good luck!");
+ close;
+ }
+ close;
+
+// Information about COD
+L_InformationCOD:
+ mes "";
+ mesn;
+ mesc l("Call Of Dusty is a timed event quest. It begins hourly, when the minute clock marks zero.");
+ mesc l("When the boss is defeated, or the minute clock marks fifteen, event ends.");
+ next;
+ mesn;
+ mesc l("This is a @@, meaning only the victor party will receive the great prize.", b(l("Party Quest")));
+ mesc l("You will get @@ which can then be exchanged for items once CoD event quest ends.", countitem(BottledDust));
+ next;
+ mesn;
+ mesc l("You need be at minimum level 50 to participate. It is PVP, so watch out!");
+ mesc l("The first stage is on the desert canyons. You must give a full circle on the canyon in 90 seconds.");
+ mesc l("The second stage is in the first cave to northwest you can find.");
+ // The full circle have about 268 tiles in distance. You have the needed time to do 2.2 circles in the most efficient fashion.
+ // This means you have a time worth of 590 tiles, at 150ms, granting you 90 seconds to do this quest. (everything rounded up)
+ // But due a small thing called LAG and MANAPLUS DESYNC I'm now granting a whole two minutes for this stage.
+ next;
+ mesn;
+ mesc l("Once inside the BOSS Cave, you get a five minutes time limit to slay the boss with your party.");
+ mesc l("@@. PK, however, is allowed!", b(l("Only the party from the MVP will get the reward.")));
+ next;
+ mesc l("The MVP is the player who did more damage to the boss.");
+ mesc l("The title is transferred when the MVP is killed (either in PVP or by the boss), or when time runs out.");
+ next;
+ mesn;
+ mesc l("The boss can blind players. Blind will reduce hit rate and evasion in 25%.");
+ mesc l("Form the strongest party and win! Remember that if you don't kill the boss, you'll never win!");
+ next;
+ goto L_SkipIntro;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ .state=0; // 0- Closed, 1- Open TODO begin at right state
+
+ tradertype(NST_CUSTOM);
+
+ // CoD Exchange Booth Selection
+ sellitem Dustynator,3000;
+ sellitem ArcmageBoxset,880;
+ sellitem BronzeGift,100;
+ sellitem HeroCoin,1;
+ end;
+
+OnMinute00:
+ .state=1;
+ donpcevent("#COD_BossManager::OnEventStart");
+ npctalk("Call Of Dusty: Event Start!");
+ end;
+
+OnCoDEnd:
+OnMinute15:
+ .state=0;
+ npctalk("Call Of Dusty: Event End!");
+ end;
+
+OnMinute30:
+ .state=0; // fail-safe
+ donpcevent("#COD_BossManager::OnCleanUp");
+ end;
+
+// CoD Exchange Booth Prices
+OnCountFunds:
+ setcurrency(countitem(BottledDust));
+ end;
+
+OnPayFunds:
+ if( countitem(BottledDust) < @price )
+ end;
+ delitem BottledDust,@price;
+ purchaseok();
+ end;
+
+}
+
diff --git a/npc/018-2-1/mapflags.txt b/npc/018-2-1/mapflags.txt
new file mode 100644
index 0000000..e148e82
--- /dev/null
+++ b/npc/018-2-1/mapflags.txt
@@ -0,0 +1,6 @@
+// The whole Heroes Hold but outside area is a MMO area.
+
+018-2-2 mapflag zone MMO
+018-2-3 mapflag zone MMO
+018-2-4 mapflag zone MMO
+018-2-5 mapflag zone MMO
diff --git a/npc/018-2-1/warps.txt b/npc/018-2-1/warps.txt
new file mode 100644
index 0000000..876eaae
--- /dev/null
+++ b/npc/018-2-1/warps.txt
@@ -0,0 +1,138 @@
+// Map 018-2-1: Heroes' Hold - Castle manual warps
+// Author: Jesusalva
+
+// LoFQuest_HH
+// Field 1
+// 1- Accepted
+// 2- Master Finished
+//
+// Field 2
+// BITWISE:
+// 1 - Novice
+// 2 - Intermediary
+// 4 - Advanced
+// 8 - Expert
+// 16 - Master
+// 32 - Ultimate
+// 64 - Supreme
+// 128 - Saulc's Madness
+// 256 - The Mouboo Realm
+// 512 - The Moubootaur Dungeon
+//
+// Field 3
+// 0- The Loyalists
+// 1- The Wildlife
+
+018-2-1,26,26,0 script #018-2-1_26_26 NPC_HIDDEN,1,1,{
+ end;
+
+OnTouch:
+ .@hh=getq(LoFQuest_HH);
+ if (.@hh <= 0) {
+ npctalk3 l("The stairs lead to nowhere. However, there is a magic sigil on the bottom.");
+ end;
+ }
+ if (HH_COOLDOWN > gettimetick(2)) {
+ npctalk3 l("You still need to wait @@ before going to HH again.", FuzzyTime(HH_COOLDOWN));
+ end;
+ }
+
+ .@q=getq2(LoFQuest_HH);
+ mesn l("Heroes Hold");
+ mes l("This is only for the skilled players. Newbies, KEEP OUT!");
+ mes l("Time Limit: 25 minutes on any dungeon.");
+ mes l("Please select target dungeon:");
+ mes "";
+ select
+ l("Sorry, I am a newbie."),
+ rif(BaseLevel >= 40, l("Novice Dungeon (Lv 40+)")), // Level 0-40
+ rif(.@q & HH_NOVICE, l("Intermediary Dungeon (Lv 60+)")), // Level 21-60
+ rif(.@q & HH_INTERMEDIARY, l("Advanced Dungeon (Lv 80+)")), // Level 41-80
+ rif(.@q & HH_ADVANCED, l("Expert Dungeon (Lv 100+)")), // Level 61-100
+ rif(.@q & HH_EXPERT, l("Master Dungeon (BOSS)")), // Boss Only
+ l("Heroes Hold - Exchange Hall"),
+ l("Information");
+ mes "";
+ if (@menu > 1 && @menu < 7)
+ HH_COOLDOWN=gettimetick(2)+rand(90,150);
+ switch (@menu) {
+ case 2:
+ @HH_LEVEL=HH_NOVICE;
+ @HH_TIMER=0;
+ warp "018-2-2@No", 37, 196;
+ addtimer(500, "#HH_CONTROLLER01::OnPlayerCycle");
+ closedialog;
+ break;
+ case 3:
+ @HH_LEVEL=HH_INTERMEDIARY;
+ @HH_TIMER=0;
+ warp "018-2-3@In", 204, 40;
+ addtimer(500, "#HH_CONTROLLER01::OnPlayerCycle");
+ closedialog;
+ break;
+ case 4:
+ @HH_LEVEL=HH_ADVANCED;
+ @HH_TIMER=0;
+ warp "018-2-2@Ad", 209, 178;
+ addtimer(500, "#HH_CONTROLLER01::OnPlayerCycle");
+ closedialog;
+ break;
+ case 5:
+ @HH_LEVEL=HH_EXPERT;
+ @HH_TIMER=0;
+ warp "018-2-3@Ex", 51, 40;
+ addtimer(500, "#HH_CONTROLLER01::OnPlayerCycle");
+ closedialog;
+ break;
+ case 6:
+ @HH_LEVEL=HH_MASTER;
+ @HH_TIMER=0;
+ warp "018-2-5@Ma", 132, 92;
+ addtimer(500, "#HH_CONTROLLER01::OnPlayerCycle");
+ closedialog;
+ break;
+ case 7:
+ .@g=getq3(LoFQuest_HH);
+ // Wildlife
+ if (.@g)
+ warp "018-2-4", 24, 54;
+ else
+ warp "018-2-4", 24, 33;
+ // Loyalists
+
+ closedialog;
+ break;
+ case 8:
+ mes "";
+ mesn l("Heroes Hold");
+ mes l("The Heroes Hold is divided in seven dungeons level: Novice, Intermediary, Advanced, Expert, Master, Ultimate and Supreme.");
+ next;
+ mesn l("Heroes Hold");
+ mes l("It is NOT designed for noobs. It is for the pain-seeking pro adventurers who laugh at death, and see danger as fun.");
+ next;
+ mesn l("Heroes Hold");
+ mes l("The monsters on each Heroes Hold Dungeon will drop @@, a coin which can only be found here.", getitemlink(HeroCoin));
+ next;
+ mesn l("Heroes Hold");
+ mes l("Use these coins to exchange for stuff. But beware: Each dungeon difficulty will increase the coin drop in the square value of previous.");
+ next;
+ mes l("This means that if you drop a coin on Advanced Dungeon, 4 coins will be dropped instead. On Expert, that would be 8.");
+ mes l("Needless to say, monsters from Expert Dungeon usually drops more often than the ones from Advanced Dungeon.");
+ next;
+ mesn l("Heroes Hold");
+ mes l(".:: Victory Conditions ::.");
+ mes l("- Defeat the BOSS on each dungeon!");
+ mes "";
+ mes l(".:: Withdraw Conditions ::.");
+ mes l("- Time runs out (25m).");
+ mes l("- Get killed yourself.");
+ mes l("- Teleport yourself away.");
+ next;
+ mes l("Dying inside the Heroes Hold Main Dungeon does not have a penalty. However, dying outside the castle have.");
+ break;
+
+ }
+ close;
+}
+
+
diff --git a/npc/018-2-2/_import.txt b/npc/018-2-2/_import.txt
new file mode 100644
index 0000000..83e89e8
--- /dev/null
+++ b/npc/018-2-2/_import.txt
@@ -0,0 +1,3 @@
+// Map 018-2-2: Heroes Hold - Main Dungeon
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-2-2/main.txt",
diff --git a/npc/018-2-2/main.txt b/npc/018-2-2/main.txt
new file mode 100644
index 0000000..7ba051e
--- /dev/null
+++ b/npc/018-2-2/main.txt
@@ -0,0 +1,782 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Controls the four first levels from Heroes Hold
+
+018-2-2,0,0,0 script #HH_CONTROLLER01 NPC_HIDDEN,{
+ end;
+
+// Boss-Slaying related
+ function DungeonClear {
+ getmapxy(.@m$, .@x, .@y, 0);
+ areatimer(.@m$, .@x-15, .@y-15, .@x+15, .@y+15, 100, "#HH_CONTROLLER01::OnFinish");
+ unitskilluseid(getcharid(3), BS_GREED, 1, getcharid(3));
+ return;
+ }
+
+OnFinish:
+ if (ispcdead())
+ end;
+ .@g=getq2(LoFQuest_HH);
+ setq2 LoFQuest_HH, .@g|@HH_LEVEL;
+ dispbottom l("Dungeon cleared!");
+ getitem HeroCoin, @HH_LEVEL*3;
+ getexp 4800-@HH_TIMER, @HH_LEVEL*20;
+ deltimer("#HH_CONTROLLER01::OnPlayerCycle");
+ setpcblock(PCBLOCK_SOFT, true);
+ addtimer(4000, "#HH_CONTROLLER01::OnCompulsoryWarp");
+ //recovery(getcharid(3));
+ end;
+
+OnCompulsoryWarp:
+ setpcblock(PCBLOCK_SOFT, false);
+ warp "018-2-1", 0, 0;
+ end;
+
+OnNoviceBossKilled:
+ monster "018-2-2@No", 188, 29, "Novice Dungeon Boss", AlphaMouboo, 1, "#HH_CONTROLLER01::OnNoviceBossKilled";
+ DungeonClear();
+ end;
+
+OnIntermBossKilled:
+ monster "018-2-3@In", 52, 196, "Intermiary Dungeon Boss", FafiDragon, 1, "#HH_CONTROLLER01::OnIntermBossKilled";
+ DungeonClear();
+ end;
+
+OnAdvancedBossKilled:
+ monster "018-2-2@Ad", 52, 29, "Advanced Dungeon Boss", GiantMutatedBat, 1, "#HH_CONTROLLER01::OnAdvancedBossKilled";
+ DungeonClear();
+ end;
+
+OnExpertBossKilled:
+ monster "018-2-3@Ex", 188, 196, "Expert Dungeon Boss", FallenKing1, 1, "#HH_CONTROLLER01::OnExpertBossKilled";
+ DungeonClear();
+ end;
+
+OnMasterBossKilled:
+ if (!playerattached())
+ end;
+ if (!HEROESHOLD_WINNER)
+ HEROESHOLD_WINNER = gettimetick(2);
+ if ($HEROESHOLD_WINNER$ == "") {
+ $HEROESHOLD_WINNER$=strcharinfo(0);
+ channelmes("#world", $HEROESHOLD_WINNER$+" is the first player to finish HEROES HOLD Master Dungeon!! GG, dude! %%N");
+ announce "All hail ##B"+$HEROESHOLD_WINNER$+"##b, first to complete the ##3HEROES HOLD Master Dungeon!", bc_all|bc_npc;
+ getexp 0, 2000;
+ getitem PrismGift, 1;
+ mesc l("CONGRATULATIONS! You are the first player to finish Heroes Hold Master Dungeon!!"), 2;
+ mesc l("You just gained a Prism Gift, and 2000 Job Exp for your bravery!"), 2;
+ }
+ monster "018-2-5@Ma", any(52,188), any(29,196), "Master Dungeon Boss", MonsterKing, 1, "#HH_CONTROLLER01::OnMasterBossKilled";
+ DungeonClear();
+ end;
+
+// Some cleanup might be needed to don't raise difficulty infinitely
+// So every day, at 03:23 AM, if no one is trying the quest, it'll get rid
+// of Heroes Hold Master Dungeon
+OnClock0323:
+ if (getareausers("018-2-5@Ma") == 0) {
+ killmonster("018-2-5@Ma", "#HH_CONTROLLER01::OnMasterBossKilled");
+ monster "018-2-5@Ma", any(52,188), any(29,196), "Master Dungeon Boss", MonsterKing, 1, "#HH_CONTROLLER01::OnMasterBossKilled";
+ }
+ end;
+
+
+// Everytime loop
+OnPlayerCycle:
+ @HH_TIMER+=1;
+ // 25 minutes have passed and your time is over
+ if (@HH_TIMER >= 3000) {
+ warp "018-2-1", 0, 0;
+ dispbottom l("You were rescued by DUSTMAN.");
+ end;
+ }
+ // TODO: Handle traps (We'll use isin() command because you can give 3~4 steps each counter)
+ if (rand2(1000) <= @HH_LEVEL) {
+ dispbottom l("You set off a trap!");
+ heal -(@HH_LEVEL*rand2(3,6)), -(@HH_LEVEL/2);
+ if (rand2(250) > readparam2(bVit)) {
+ // Determine the dangers of the random trap
+ // SC_Bonus(delay, SC, min{, max})
+ if (@HH_LEVEL >= HH_MASTER)
+ SC_Bonus(10+rand2(20), any(SC_DPOISON, SC_DEEP_SLEEP, SC_BURNING, SC_CURSE), 1);
+ else if (@HH_LEVEL >= HH_EXPERT)
+ SC_Bonus(1+rand2(20), any(SC_POISON, SC_CURSE, SC_SILENCE, SC_BLOODING, SC_BLIND, SC_SLEEP), 1);
+ else if (@HH_LEVEL >= HH_ADVANCED)
+ SC_Bonus(1+rand2(10), any(SC_DEC_AGI, SC_POISON, SC_CURSE, SC_SILENCE), 1);
+ else if (@HH_LEVEL >= HH_INTERMEDIARY)
+ SC_Bonus(1+rand2(5), any(SC_DEC_AGI, SC_COLD, SC_CONFUSION), 1);
+ }
+ }
+
+ // Continue the execution
+ if (compare(getmap(), "018-2-"))
+ addtimer(500, "#HH_CONTROLLER01::OnPlayerCycle");
+ end;
+
+// Initialize Variables. Remember this causes a search for On<Difficulty><SeqNumber>. And keep same number or CRASH
+OnInit:
+ // Novice
+ setarray .Novice_Mobs, AngryScorpion,CaveMaggot,MagicGoblin,ViciousSquirrel,AngryBat,RedSlime,AngryRedScorpion,Bandit,Skeleton,GreenSlime,
+ BlueSlime,LavaSlime,RedMushroom,RobinBandit,AngryYellowSlime,OldSnake,GrassSnake,BlackSlime,SmallMagicBif,BronzeChest,
+ Bif;
+ setarray .Novice_Ammo, 35, 35, 40, 30, 40, 80, 20, 20, 10, 90,
+ 30, 30, 25, 10, 35, 10, 15, 45, 7, 2,
+ 2;
+
+ // Intermiary
+ setarray .Interm_Mobs, RedSlime,AngryRedScorpion,Bandit,Skeleton,GreenSlime, BlueSlime,LavaSlime,RedMushroom,RobinBandit,Bif,
+ AngryYellowSlime,OldSnake,GrassSnake,BlackSlime,Wolvern,DarkLizard,BlackScorpion,DustRevolver,MagicBif,SilverChest;
+ setarray .Interm_Ammo, 80, 50, 50, 10, 90, 30, 60, 35, 20, 5,
+ 50, 20, 25, 50, 30, 20, 25, 5, 7, 2;
+
+ // Advanced
+ setarray .Advanc_Mobs, AngryYellowSlime,Snake,GrassSnake,BlackSlime,Wolvern,DarkLizard,BlackScorpion,DustRevolver,MagicBif,SilverChest,
+ MountainSnake, Yeti, WickedMushroom,Forain,GoldenChest,BigMagicBif,DustGatling,Archant,Bif;
+ setarray .Advanc_Ammo, 50, 30, 35, 90, 30, 30, 45, 15, 7, 2,
+ 15, 10, 30, 5, 2, 1, 10, 18, 9;
+
+ // Expert
+ setarray .Expert_Mobs, MountainSnake, Yeti, WickedMushroom,Forain,GoldenChest,BigMagicBif,DustGatling,BlackMamba,Terranite, Wolvern,
+ PrismChest, BlueSlime, GreenDragon,Bif,GoboBear;
+ setarray .Expert_Ammo, 45, 30, 90, 35, 3, 7, 30, 20, 15, 10,
+ 1, 140, 15, 13, 15;
+
+ // Master
+ setarray .Master_Mobs, PrismChest,BlueSlime,MurdererScorpion,Tipiou,AlphaMouboo,BanditLord,Tipiu,GreenDragon,GiantMutatedBat,FallenKing1,
+ FallenKing2, EvilScythe, YetiKing, Tipiu, Yetifly;
+ setarray .Master_Ammo, 2, 140, 20, 20, 20, 20, 20, 20, 20, 10,
+ 10, 1, 7, 8, 3;
+
+ end;
+
+OnHHInit:
+ initnpctimer;
+ end;
+
+
+// Controls logic for each instance (TODO)
+// Initialize each instance (Currently waits 3 seconds, could work with just 4, but better safe than sorry)
+OnTimer3000:
+ stopnpctimer;
+ debugmes "Heroes Hold Monsters: Initializing";
+
+ // HH_Novice
+ freeloop(true);
+ for (.@i=0;.@i<getarraysize(.Novice_Mobs);.@i++) {
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[.@i]), .Novice_Mobs[.@i], .Novice_Ammo[.@i], "#HH_CONTROLLER01::OnNovice"+.@i;
+ }
+ freeloop(false);
+
+ // HH_INTERMEDIARY
+ freeloop(true);
+ for (.@i=0;.@i<getarraysize(.Interm_Mobs);.@i++) {
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[.@i]), .Interm_Mobs[.@i], .Interm_Ammo[.@i], "#HH_CONTROLLER01::OnInterm"+.@i;
+ }
+ freeloop(false);
+
+ // HH_ADVANCED
+ freeloop(true);
+ for (.@i=0;.@i<getarraysize(.Advanc_Mobs);.@i++) {
+ areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[.@i]), .Advanc_Mobs[.@i], .Advanc_Ammo[.@i], "#HH_CONTROLLER01::OnAdvanc"+.@i;
+ }
+ freeloop(false);
+
+ // HH_EXPERT
+ freeloop(true);
+ for (.@i=0;.@i<getarraysize(.Expert_Mobs);.@i++) {
+ areamonster "018-2-3@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[.@i]), .Expert_Mobs[.@i], .Expert_Ammo[.@i], "#HH_CONTROLLER01::OnExpert"+.@i;
+ }
+ freeloop(false);
+
+ // HH_MASTER
+ freeloop(true);
+ for (.@i=0;.@i<getarraysize(.Master_Mobs);.@i++) {
+ areamonster "018-2-5@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[.@i]), .Master_Mobs[.@i], .Master_Ammo[.@i], "#HH_CONTROLLER01::OnMaster"+.@i;
+ }
+ freeloop(false);
+
+ // Boss for each dungeon
+ monster "018-2-2@No", 188, 29, "Novice Dungeon Boss", AlphaMouboo, 1, "#HH_CONTROLLER01::OnNoviceBossKilled";
+ monster "018-2-3@In", 52, 196, "Intermiary Dungeon Boss", FafiDragon, 1, "#HH_CONTROLLER01::OnIntermBossKilled";
+ monster "018-2-2@Ad", 52, 29, "Advanced Dungeon Boss", GiantMutatedBat, 1, "#HH_CONTROLLER01::OnAdvancedBossKilled";
+ monster "018-2-3@Ex", 188, 196, "Expert Dungeon Boss", FallenKing1, 1, "#HH_CONTROLLER01::OnExpertBossKilled";
+ monster "018-2-5@Ma", any(52,188), any(29,196), "Master Dungeon Boss", MonsterKing, 1, "#HH_CONTROLLER01::OnMasterBossKilled";
+
+ // TODO: We still need the main logic for this. I mean, what is the objective on each floor of Master Dungeon?
+ debugmes "Heroes Hold Monsters: Success";
+ end;
+
+
+/////////////////////////////////////////////////////////////////////////////////
+// Respawn Arrays (Autogenerated, Python Script at bottom. 14 pages worth.)
+// Drop Chances are: 0.05% each luck point, 0.20% each mob level, 0.05% each job experience given
+// So killing a Mouboo with 20 luck will give: 1% (luck) + 7% (level) + 0.3% (jexp) => 8.3% drop chance
+
+OnNovice0:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[0])*4)+strmobinfo(7,.Novice_Mobs[0])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[0]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[0]), .Novice_Mobs[0], 1, "#HH_CONTROLLER01::OnNovice0"; end;
+OnNovice1:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[1])*4)+strmobinfo(7,.Novice_Mobs[1])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[1]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[1]), .Novice_Mobs[1], 1, "#HH_CONTROLLER01::OnNovice1"; end;
+OnNovice2:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[2])*4)+strmobinfo(7,.Novice_Mobs[2])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[2]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[2]), .Novice_Mobs[2], 1, "#HH_CONTROLLER01::OnNovice2"; end;
+OnNovice3:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[3])*4)+strmobinfo(7,.Novice_Mobs[3])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[3]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[3]), .Novice_Mobs[3], 1, "#HH_CONTROLLER01::OnNovice3"; end;
+OnNovice4:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[4])*4)+strmobinfo(7,.Novice_Mobs[4])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[4]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[4]), .Novice_Mobs[4], 1, "#HH_CONTROLLER01::OnNovice4"; end;
+OnNovice5:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[5])*4)+strmobinfo(7,.Novice_Mobs[5])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[5]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[5]), .Novice_Mobs[5], 1, "#HH_CONTROLLER01::OnNovice5"; end;
+OnNovice6:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[6])*4)+strmobinfo(7,.Novice_Mobs[6])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[6]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[6]), .Novice_Mobs[6], 1, "#HH_CONTROLLER01::OnNovice6"; end;
+OnNovice7:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[7])*4)+strmobinfo(7,.Novice_Mobs[7])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[7]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[7]), .Novice_Mobs[7], 1, "#HH_CONTROLLER01::OnNovice7"; end;
+OnNovice8:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[8])*4)+strmobinfo(7,.Novice_Mobs[8])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[8]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[8]), .Novice_Mobs[8], 1, "#HH_CONTROLLER01::OnNovice8"; end;
+OnNovice9:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[9])*4)+strmobinfo(7,.Novice_Mobs[9])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[9]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[9]), .Novice_Mobs[9], 1, "#HH_CONTROLLER01::OnNovice9"; end;
+OnNovice10:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[10])*4)+strmobinfo(7,.Novice_Mobs[10])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[10]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[10]), .Novice_Mobs[10], 1, "#HH_CONTROLLER01::OnNovice10"; end;
+OnNovice11:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[11])*4)+strmobinfo(7,.Novice_Mobs[11])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[11]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[11]), .Novice_Mobs[11], 1, "#HH_CONTROLLER01::OnNovice11"; end;
+OnNovice12:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[12])*4)+strmobinfo(7,.Novice_Mobs[12])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[12]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[12]), .Novice_Mobs[12], 1, "#HH_CONTROLLER01::OnNovice12"; end;
+OnNovice13:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[13])*4)+strmobinfo(7,.Novice_Mobs[13])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[13]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[13]), .Novice_Mobs[13], 1, "#HH_CONTROLLER01::OnNovice13"; end;
+OnNovice14:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[14])*4)+strmobinfo(7,.Novice_Mobs[14])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[14]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[14]), .Novice_Mobs[14], 1, "#HH_CONTROLLER01::OnNovice14"; end;
+OnNovice15:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[15])*4)+strmobinfo(7,.Novice_Mobs[15])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[15]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[15]), .Novice_Mobs[15], 1, "#HH_CONTROLLER01::OnNovice15"; end;
+OnNovice16:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[16])*4)+strmobinfo(7,.Novice_Mobs[16])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[16]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[16]), .Novice_Mobs[16], 1, "#HH_CONTROLLER01::OnNovice16"; end;
+OnNovice17:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[17])*4)+strmobinfo(7,.Novice_Mobs[17])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[17]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[17]), .Novice_Mobs[17], 1, "#HH_CONTROLLER01::OnNovice17"; end;
+OnNovice18:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[18])*4)+strmobinfo(7,.Novice_Mobs[18])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[18]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[18]), .Novice_Mobs[18], 1, "#HH_CONTROLLER01::OnNovice18"; end;
+OnNovice19:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[19])*4)+strmobinfo(7,.Novice_Mobs[19])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[19]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[19]), .Novice_Mobs[19], 1, "#HH_CONTROLLER01::OnNovice19"; end;
+OnNovice20:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Novice_Mobs[20])*4)+strmobinfo(7,.Novice_Mobs[20])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 1, .@m$, .@x, .@y);}
+ fix_mobkill(.Novice_Mobs[20]);
+ }
+ areamonster "018-2-2@No", 20, 20, 220, 220, strmobinfo(1, .Novice_Mobs[20]), .Novice_Mobs[20], 1, "#HH_CONTROLLER01::OnNovice20"; end;
+
+
+OnInterm0:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Interm_Mobs[0])*4)+strmobinfo(7,.Interm_Mobs[0])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
+ fix_mobkill(.Interm_Mobs[0]);
+ }
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[0]), .Interm_Mobs[0], 1, "#HH_CONTROLLER01::OnInterm0"; end;
+OnInterm1:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Interm_Mobs[1])*4)+strmobinfo(7,.Interm_Mobs[1])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
+ fix_mobkill(.Interm_Mobs[1]);
+ }
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[1]), .Interm_Mobs[1], 1, "#HH_CONTROLLER01::OnInterm1"; end;
+OnInterm2:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Interm_Mobs[2])*4)+strmobinfo(7,.Interm_Mobs[2])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
+ fix_mobkill(.Interm_Mobs[2]);
+ }
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[2]), .Interm_Mobs[2], 1, "#HH_CONTROLLER01::OnInterm2"; end;
+OnInterm3:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Interm_Mobs[3])*4)+strmobinfo(7,.Interm_Mobs[3])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
+ fix_mobkill(.Interm_Mobs[3]);
+ }
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[3]), .Interm_Mobs[3], 1, "#HH_CONTROLLER01::OnInterm3"; end;
+OnInterm4:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Interm_Mobs[4])*4)+strmobinfo(7,.Interm_Mobs[4])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
+ fix_mobkill(.Interm_Mobs[4]);
+ }
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[4]), .Interm_Mobs[4], 1, "#HH_CONTROLLER01::OnInterm4"; end;
+OnInterm5:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Interm_Mobs[5])*4)+strmobinfo(7,.Interm_Mobs[5])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
+ fix_mobkill(.Interm_Mobs[5]);
+ }
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[5]), .Interm_Mobs[5], 1, "#HH_CONTROLLER01::OnInterm5"; end;
+OnInterm6:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Interm_Mobs[6])*4)+strmobinfo(7,.Interm_Mobs[6])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
+ fix_mobkill(.Interm_Mobs[6]);
+ }
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[6]), .Interm_Mobs[6], 1, "#HH_CONTROLLER01::OnInterm6"; end;
+OnInterm7:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Interm_Mobs[7])*4)+strmobinfo(7,.Interm_Mobs[7])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
+ fix_mobkill(.Interm_Mobs[7]);
+ }
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[7]), .Interm_Mobs[7], 1, "#HH_CONTROLLER01::OnInterm7"; end;
+OnInterm8:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Interm_Mobs[8])*4)+strmobinfo(7,.Interm_Mobs[8])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
+ fix_mobkill(.Interm_Mobs[8]);
+ }
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[8]), .Interm_Mobs[8], 1, "#HH_CONTROLLER01::OnInterm8"; end;
+OnInterm9:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Interm_Mobs[9])*4)+strmobinfo(7,.Interm_Mobs[9])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
+ fix_mobkill(.Interm_Mobs[9]);
+ }
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[9]), .Interm_Mobs[9], 1, "#HH_CONTROLLER01::OnInterm9"; end;
+OnInterm10:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Interm_Mobs[10])*4)+strmobinfo(7,.Interm_Mobs[10])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
+ fix_mobkill(.Interm_Mobs[10]);
+ }
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[10]), .Interm_Mobs[10], 1, "#HH_CONTROLLER01::OnInterm10"; end;
+OnInterm11:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Interm_Mobs[11])*4)+strmobinfo(7,.Interm_Mobs[11])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
+ fix_mobkill(.Interm_Mobs[11]);
+ }
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[11]), .Interm_Mobs[11], 1, "#HH_CONTROLLER01::OnInterm11"; end;
+OnInterm12:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Interm_Mobs[12])*4)+strmobinfo(7,.Interm_Mobs[12])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
+ fix_mobkill(.Interm_Mobs[12]);
+ }
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[12]), .Interm_Mobs[12], 1, "#HH_CONTROLLER01::OnInterm12"; end;
+OnInterm13:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Interm_Mobs[13])*4)+strmobinfo(7,.Interm_Mobs[13])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
+ fix_mobkill(.Interm_Mobs[13]);
+ }
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[13]), .Interm_Mobs[13], 1, "#HH_CONTROLLER01::OnInterm13"; end;
+OnInterm14:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Interm_Mobs[14])*4)+strmobinfo(7,.Interm_Mobs[14])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
+ fix_mobkill(.Interm_Mobs[14]);
+ }
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[14]), .Interm_Mobs[14], 1, "#HH_CONTROLLER01::OnInterm14"; end;
+OnInterm15:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Interm_Mobs[15])*4)+strmobinfo(7,.Interm_Mobs[15])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
+ fix_mobkill(.Interm_Mobs[15]);
+ }
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[15]), .Interm_Mobs[15], 1, "#HH_CONTROLLER01::OnInterm15"; end;
+OnInterm16:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Interm_Mobs[16])*4)+strmobinfo(7,.Interm_Mobs[16])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
+ fix_mobkill(.Interm_Mobs[16]);
+ }
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[16]), .Interm_Mobs[16], 1, "#HH_CONTROLLER01::OnInterm16"; end;
+OnInterm17:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Interm_Mobs[17])*4)+strmobinfo(7,.Interm_Mobs[17])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
+ fix_mobkill(.Interm_Mobs[17]);
+ }
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[17]), .Interm_Mobs[17], 1, "#HH_CONTROLLER01::OnInterm17"; end;
+OnInterm18:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Interm_Mobs[18])*4)+strmobinfo(7,.Interm_Mobs[18])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
+ fix_mobkill(.Interm_Mobs[18]);
+ }
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[18]), .Interm_Mobs[18], 1, "#HH_CONTROLLER01::OnInterm18"; end;
+OnInterm19:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Interm_Mobs[19])*4)+strmobinfo(7,.Interm_Mobs[19])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 2, .@m$, .@x, .@y);}
+ fix_mobkill(.Interm_Mobs[19]);
+ }
+ areamonster "018-2-3@In", 20, 20, 220, 220, strmobinfo(1, .Interm_Mobs[19]), .Interm_Mobs[19], 1, "#HH_CONTROLLER01::OnInterm19"; end;
+
+
+OnAdvanc0:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Advanc_Mobs[0])*4)+strmobinfo(7,.Advanc_Mobs[0])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
+ fix_mobkill(.Advanc_Mobs[0]);
+ }
+ areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[0]), .Advanc_Mobs[0], 1, "#HH_CONTROLLER01::OnAdvanc0"; end;
+OnAdvanc1:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Advanc_Mobs[1])*4)+strmobinfo(7,.Advanc_Mobs[1])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
+ fix_mobkill(.Advanc_Mobs[1]);
+ }
+ areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[1]), .Advanc_Mobs[1], 1, "#HH_CONTROLLER01::OnAdvanc1"; end;
+OnAdvanc2:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Advanc_Mobs[2])*4)+strmobinfo(7,.Advanc_Mobs[2])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
+ fix_mobkill(.Advanc_Mobs[2]);
+ }
+ areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[2]), .Advanc_Mobs[2], 1, "#HH_CONTROLLER01::OnAdvanc2"; end;
+OnAdvanc3:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Advanc_Mobs[3])*4)+strmobinfo(7,.Advanc_Mobs[3])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
+ fix_mobkill(.Advanc_Mobs[3]);
+ }
+ areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[3]), .Advanc_Mobs[3], 1, "#HH_CONTROLLER01::OnAdvanc3"; end;
+OnAdvanc4:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Advanc_Mobs[4])*4)+strmobinfo(7,.Advanc_Mobs[4])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
+ fix_mobkill(.Advanc_Mobs[4]);
+ }
+ areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[4]), .Advanc_Mobs[4], 1, "#HH_CONTROLLER01::OnAdvanc4"; end;
+OnAdvanc5:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Advanc_Mobs[5])*4)+strmobinfo(7,.Advanc_Mobs[5])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
+ fix_mobkill(.Advanc_Mobs[5]);
+ }
+ areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[5]), .Advanc_Mobs[5], 1, "#HH_CONTROLLER01::OnAdvanc5"; end;
+OnAdvanc6:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Advanc_Mobs[6])*4)+strmobinfo(7,.Advanc_Mobs[6])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
+ fix_mobkill(.Advanc_Mobs[6]);
+ }
+ areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[6]), .Advanc_Mobs[6], 1, "#HH_CONTROLLER01::OnAdvanc6"; end;
+OnAdvanc7:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Advanc_Mobs[7])*4)+strmobinfo(7,.Advanc_Mobs[7])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
+ fix_mobkill(.Advanc_Mobs[7]);
+ }
+ areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[7]), .Advanc_Mobs[7], 1, "#HH_CONTROLLER01::OnAdvanc7"; end;
+OnAdvanc8:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Advanc_Mobs[8])*4)+strmobinfo(7,.Advanc_Mobs[8])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
+ fix_mobkill(.Advanc_Mobs[8]);
+ }
+ areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[8]), .Advanc_Mobs[8], 1, "#HH_CONTROLLER01::OnAdvanc8"; end;
+OnAdvanc9:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Advanc_Mobs[9])*4)+strmobinfo(7,.Advanc_Mobs[9])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
+ fix_mobkill(.Advanc_Mobs[9]);
+ }
+ areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[9]), .Advanc_Mobs[9], 1, "#HH_CONTROLLER01::OnAdvanc9"; end;
+OnAdvanc10:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Advanc_Mobs[10])*4)+strmobinfo(7,.Advanc_Mobs[10])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
+ fix_mobkill(.Advanc_Mobs[10]);
+ }
+ areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[10]), .Advanc_Mobs[10], 1, "#HH_CONTROLLER01::OnAdvanc10"; end;
+OnAdvanc11:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Advanc_Mobs[11])*4)+strmobinfo(7,.Advanc_Mobs[11])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
+ fix_mobkill(.Advanc_Mobs[11]);
+ }
+ areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[11]), .Advanc_Mobs[11], 1, "#HH_CONTROLLER01::OnAdvanc11"; end;
+OnAdvanc12:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Advanc_Mobs[12])*4)+strmobinfo(7,.Advanc_Mobs[12])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
+ fix_mobkill(.Advanc_Mobs[12]);
+ }
+ areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[12]), .Advanc_Mobs[12], 1, "#HH_CONTROLLER01::OnAdvanc12"; end;
+OnAdvanc13:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Advanc_Mobs[13])*4)+strmobinfo(7,.Advanc_Mobs[13])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
+ fix_mobkill(.Advanc_Mobs[13]);
+ }
+ areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[13]), .Advanc_Mobs[13], 1, "#HH_CONTROLLER01::OnAdvanc13"; end;
+OnAdvanc14:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Advanc_Mobs[14])*4)+strmobinfo(7,.Advanc_Mobs[14])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
+ fix_mobkill(.Advanc_Mobs[14]);
+ }
+ areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[14]), .Advanc_Mobs[14], 1, "#HH_CONTROLLER01::OnAdvanc14"; end;
+OnAdvanc15:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Advanc_Mobs[15])*4)+strmobinfo(7,.Advanc_Mobs[15])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
+ fix_mobkill(.Advanc_Mobs[15]);
+ }
+ areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[15]), .Advanc_Mobs[15], 1, "#HH_CONTROLLER01::OnAdvanc15"; end;
+OnAdvanc16:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Advanc_Mobs[16])*4)+strmobinfo(7,.Advanc_Mobs[16])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
+ fix_mobkill(.Advanc_Mobs[16]);
+ }
+ areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[16]), .Advanc_Mobs[16], 1, "#HH_CONTROLLER01::OnAdvanc16"; end;
+OnAdvanc17:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Advanc_Mobs[17])*4)+strmobinfo(7,.Advanc_Mobs[17])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 4, .@m$, .@x, .@y);}
+ fix_mobkill(.Advanc_Mobs[17]);
+ }
+ areamonster "018-2-2@Ad", 20, 20, 220, 220, strmobinfo(1, .Advanc_Mobs[17]), .Advanc_Mobs[17], 1, "#HH_CONTROLLER01::OnAdvanc17"; end;
+
+
+OnExpert0:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Expert_Mobs[0])*4)+strmobinfo(7,.Expert_Mobs[0])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
+ fix_mobkill(.Expert_Mobs[0]);
+ }
+ areamonster "018-2-3@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[0]), .Expert_Mobs[0], 1, "#HH_CONTROLLER01::OnExpert0"; end;
+OnExpert1:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Expert_Mobs[1])*4)+strmobinfo(7,.Expert_Mobs[1])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
+ fix_mobkill(.Expert_Mobs[1]);
+ }
+ areamonster "018-2-3@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[1]), .Expert_Mobs[1], 1, "#HH_CONTROLLER01::OnExpert1"; end;
+OnExpert2:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Expert_Mobs[2])*4)+strmobinfo(7,.Expert_Mobs[2])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
+ fix_mobkill(.Expert_Mobs[2]);
+ }
+ areamonster "018-2-3@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[2]), .Expert_Mobs[2], 1, "#HH_CONTROLLER01::OnExpert2"; end;
+OnExpert3:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Expert_Mobs[3])*4)+strmobinfo(7,.Expert_Mobs[3])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
+ fix_mobkill(.Expert_Mobs[3]);
+ }
+ areamonster "018-2-3@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[3]), .Expert_Mobs[3], 1, "#HH_CONTROLLER01::OnExpert3"; end;
+OnExpert4:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Expert_Mobs[4])*4)+strmobinfo(7,.Expert_Mobs[4])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
+ fix_mobkill(.Expert_Mobs[4]);
+ }
+ areamonster "018-2-3@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[4]), .Expert_Mobs[4], 1, "#HH_CONTROLLER01::OnExpert4"; end;
+OnExpert5:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Expert_Mobs[5])*4)+strmobinfo(7,.Expert_Mobs[5])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
+ fix_mobkill(.Expert_Mobs[5]);
+ }
+ areamonster "018-2-3@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[5]), .Expert_Mobs[5], 1, "#HH_CONTROLLER01::OnExpert5"; end;
+OnExpert6:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Expert_Mobs[6])*4)+strmobinfo(7,.Expert_Mobs[6])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
+ fix_mobkill(.Expert_Mobs[6]);
+ }
+ areamonster "018-2-3@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[6]), .Expert_Mobs[6], 1, "#HH_CONTROLLER01::OnExpert6"; end;
+OnExpert7:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Expert_Mobs[7])*4)+strmobinfo(7,.Expert_Mobs[7])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
+ fix_mobkill(.Expert_Mobs[7]);
+ }
+ areamonster "018-2-3@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[7]), .Expert_Mobs[7], 1, "#HH_CONTROLLER01::OnExpert7"; end;
+OnExpert8:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Expert_Mobs[8])*4)+strmobinfo(7,.Expert_Mobs[8])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
+ fix_mobkill(.Expert_Mobs[8]);
+ }
+ areamonster "018-2-3@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[8]), .Expert_Mobs[8], 1, "#HH_CONTROLLER01::OnExpert8"; end;
+OnExpert9:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Expert_Mobs[9])*4)+strmobinfo(7,.Expert_Mobs[9])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
+ fix_mobkill(.Expert_Mobs[9]);
+ }
+ areamonster "018-2-3@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[9]), .Expert_Mobs[9], 1, "#HH_CONTROLLER01::OnExpert9"; end;
+OnExpert10:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Expert_Mobs[10])*4)+strmobinfo(7,.Expert_Mobs[10])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
+ fix_mobkill(.Expert_Mobs[10]);
+ }
+ areamonster "018-2-3@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[10]), .Expert_Mobs[10], 1, "#HH_CONTROLLER01::OnExpert10"; end;
+OnExpert11:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Expert_Mobs[11])*4)+strmobinfo(7,.Expert_Mobs[11])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
+ fix_mobkill(.Expert_Mobs[11]);
+ }
+ areamonster "018-2-3@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[11]), .Expert_Mobs[11], 1, "#HH_CONTROLLER01::OnExpert11"; end;
+OnExpert12:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Expert_Mobs[12])*4)+strmobinfo(7,.Expert_Mobs[12])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
+ fix_mobkill(.Expert_Mobs[12]);
+ }
+ areamonster "018-2-3@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[12]), .Expert_Mobs[12], 1, "#HH_CONTROLLER01::OnExpert12"; end;
+OnExpert13:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Expert_Mobs[13])*4)+strmobinfo(7,.Expert_Mobs[13])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
+ fix_mobkill(.Expert_Mobs[13]);
+ }
+ areamonster "018-2-3@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[13]), .Expert_Mobs[13], 1, "#HH_CONTROLLER01::OnExpert13"; end;
+OnExpert14:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Expert_Mobs[14])*4)+strmobinfo(7,.Expert_Mobs[14])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 8, .@m$, .@x, .@y);}
+ fix_mobkill(.Expert_Mobs[14]);
+ }
+ areamonster "018-2-3@Ex", 20, 20, 220, 220, strmobinfo(1, .Expert_Mobs[14]), .Expert_Mobs[14], 1, "#HH_CONTROLLER01::OnExpert14"; end;
+
+
+OnMaster0:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Master_Mobs[0])*4)+strmobinfo(7,.Master_Mobs[0])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
+ fix_mobkill(.Master_Mobs[0]);
+ }
+ areamonster "018-2-5@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[0]), .Master_Mobs[0], 1, "#HH_CONTROLLER01::OnMaster0"; end;
+OnMaster1:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Master_Mobs[1])*4)+strmobinfo(7,.Master_Mobs[1])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
+ fix_mobkill(.Master_Mobs[1]);
+ }
+ areamonster "018-2-5@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[1]), .Master_Mobs[1], 1, "#HH_CONTROLLER01::OnMaster1"; end;
+OnMaster2:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Master_Mobs[2])*4)+strmobinfo(7,.Master_Mobs[2])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
+ fix_mobkill(.Master_Mobs[2]);
+ }
+ areamonster "018-2-5@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[2]), .Master_Mobs[2], 1, "#HH_CONTROLLER01::OnMaster2"; end;
+OnMaster3:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Master_Mobs[3])*4)+strmobinfo(7,.Master_Mobs[3])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
+ fix_mobkill(.Master_Mobs[3]);
+ }
+ areamonster "018-2-5@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[3]), .Master_Mobs[3], 1, "#HH_CONTROLLER01::OnMaster3"; end;
+OnMaster4:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Master_Mobs[4])*4)+strmobinfo(7,.Master_Mobs[4])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
+ fix_mobkill(.Master_Mobs[4]);
+ }
+ areamonster "018-2-5@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[4]), .Master_Mobs[4], 1, "#HH_CONTROLLER01::OnMaster4"; end;
+OnMaster5:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Master_Mobs[5])*4)+strmobinfo(7,.Master_Mobs[5])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
+ fix_mobkill(.Master_Mobs[5]);
+ }
+ areamonster "018-2-5@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[5]), .Master_Mobs[5], 1, "#HH_CONTROLLER01::OnMaster5"; end;
+OnMaster6:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Master_Mobs[6])*4)+strmobinfo(7,.Master_Mobs[6])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
+ fix_mobkill(.Master_Mobs[6]);
+ }
+ areamonster "018-2-5@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[6]), .Master_Mobs[6], 1, "#HH_CONTROLLER01::OnMaster6"; end;
+OnMaster7:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Master_Mobs[7])*4)+strmobinfo(7,.Master_Mobs[7])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
+ fix_mobkill(.Master_Mobs[7]);
+ }
+ areamonster "018-2-5@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[7]), .Master_Mobs[7], 1, "#HH_CONTROLLER01::OnMaster7"; end;
+OnMaster8:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Master_Mobs[8])*4)+strmobinfo(7,.Master_Mobs[8])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
+ fix_mobkill(.Master_Mobs[8]);
+ }
+ areamonster "018-2-5@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[8]), .Master_Mobs[8], 1, "#HH_CONTROLLER01::OnMaster8"; end;
+OnMaster9:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Master_Mobs[9])*4)+strmobinfo(7,.Master_Mobs[9])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
+ fix_mobkill(.Master_Mobs[9]);
+ }
+ areamonster "018-2-5@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[9]), .Master_Mobs[9], 1, "#HH_CONTROLLER01::OnMaster9"; end;
+OnMaster10:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Master_Mobs[10])*4)+strmobinfo(7,.Master_Mobs[10])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
+ fix_mobkill(.Master_Mobs[10]);
+ }
+ areamonster "018-2-5@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[10]), .Master_Mobs[10], 1, "#HH_CONTROLLER01::OnMaster10"; end;
+OnMaster11:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Master_Mobs[11])*4)+strmobinfo(7,.Master_Mobs[11])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
+ fix_mobkill(.Master_Mobs[11]);
+ }
+ areamonster "018-2-5@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[11]), .Master_Mobs[11], 1, "#HH_CONTROLLER01::OnMaster11"; end;
+OnMaster12:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Master_Mobs[12])*4)+strmobinfo(7,.Master_Mobs[12])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
+ fix_mobkill(.Master_Mobs[12]);
+ }
+ areamonster "018-2-5@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[12]), .Master_Mobs[12], 1, "#HH_CONTROLLER01::OnMaster12"; end;
+OnMaster13:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Master_Mobs[13])*4)+strmobinfo(7,.Master_Mobs[13])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
+ fix_mobkill(.Master_Mobs[13]);
+ }
+ areamonster "018-2-5@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[13]), .Master_Mobs[13], 1, "#HH_CONTROLLER01::OnMaster13"; end;
+OnMaster14:
+ if (playerattached()) {
+ if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.Master_Mobs[14])*4)+strmobinfo(7,.Master_Mobs[14])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, 16, .@m$, .@x, .@y);}
+ fix_mobkill(.Master_Mobs[14]);
+ }
+ areamonster "018-2-5@Ma", 20, 20, 220, 220, strmobinfo(1, .Master_Mobs[14]), .Master_Mobs[14], 1, "#HH_CONTROLLER01::OnMaster14"; end;
+
+}
+
+/*python
+# df (name, mobs, reward, mapid)
+df=[('Novice', 21, 1, 2),
+ ('Interm', 20, 2, 3),
+ ('Advanc', 18, 4, 2),
+ ('Expert', 15, 8, 3),
+ ('Master', 15, 16,5)]
+
+for a in df:
+ print("\n")
+ i=0
+ while (i < a[1]):
+ print('On%s%d:' % (a[0], i))
+ print(' if (playerattached()) {')
+ print(' if (rand2(0, 2000) <= readparam2(bLuk)+(strmobinfo(3,.%s_Mobs[%d])*4)+strmobinfo(7,.%s_Mobs[%d])) {getmapxy(.@m$, .@x, .@y, 0); makeitem(HeroCoin, %s, .@m$, .@x, .@y);}' % (a[0], i, a[0], i, a[2]))
+ print(' fix_mobkill(.%s_Mobs[%d]);' % (a[0],i))
+ print(' }')
+ print(' areamonster "018-2-%d@%s", 20, 20, 220, 220, strmobinfo(1, .%s_Mobs[%d]), .%s_Mobs[%d], 1, "#HH_CONTROLLER01::On%s%d"; end;' % (a[3], a[0][:2],a[0],i,a[0],i,a[0],i))
+ i+=1
+*/
diff --git a/npc/018-2-3/_import.txt b/npc/018-2-3/_import.txt
new file mode 100644
index 0000000..bb95337
--- /dev/null
+++ b/npc/018-2-3/_import.txt
@@ -0,0 +1,2 @@
+// Map 018-2-3: Heroes Hold - Main Dungeon
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/018-2-4/_import.txt b/npc/018-2-4/_import.txt
new file mode 100644
index 0000000..eb5706e
--- /dev/null
+++ b/npc/018-2-4/_import.txt
@@ -0,0 +1,8 @@
+// Map 018-2-4: Heroes' Hold - Exchange Hall
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-2-4/_warps.txt",
+"npc/018-2-4/lv1.txt",
+"npc/018-2-4/lv2.txt",
+"npc/018-2-4/lv3.txt",
+"npc/018-2-4/lv4.txt",
+"npc/018-2-4/vault.txt",
diff --git a/npc/018-2-4/_warps.txt b/npc/018-2-4/_warps.txt
new file mode 100644
index 0000000..92ff8cc
--- /dev/null
+++ b/npc/018-2-4/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-2-4: Heroes' Hold - Exchange Hall warps
+018-2-4,24,55,0 warp #018-2-4_24_55 2,0,018-2-1,26,25
+018-2-4,24,34,0 warp #018-2-4_24_34 2,0,018-2-1,26,25
diff --git a/npc/018-2-4/lv1.txt b/npc/018-2-4/lv1.txt
new file mode 100644
index 0000000..bfcc77d
--- /dev/null
+++ b/npc/018-2-4/lv1.txt
@@ -0,0 +1,59 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Heroes Hold Exchanger - Level 1
+
+018-2-4,33,28,0 script Novice Exchanger#0 NPC_M_COINKEEPER,{
+ .@q=getq2(LoFQuest_HH);
+ if (.@q & HH_NOVICE)
+ openshop;
+ goodbye;
+ closedialog;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, TopHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CandorShirt);
+ setunitdata(.@npcId, UDT_WEAPON, CandorShorts);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 25);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
+
+ .sex = G_OTHER;
+ .distance = 5;
+ npcsit;
+
+ tradertype(NST_CUSTOM);
+
+ sellitem EquipmentBlueprintA,1600;
+ sellitem RaidTrousers,1200;
+ sellitem BugSlayer,800;
+ sellitem LeatherShield,600;
+ sellitem TolchiAmmoBox,270;
+ sellitem Grenade,96;
+
+ sellitem HastePotion,50;
+ sellitem StrengthPotion,50;
+
+ sellitem Curshroom,10;
+ sellitem SmokeGrenade,4;
+ end;
+
+OnCountFunds:
+ setcurrency(countitem(HeroCoin));
+ end;
+
+OnPayFunds:
+ if( countitem(HeroCoin) < @price )
+ end;
+ delitem HeroCoin,@price;
+ purchaseok();
+ end;
+
+}
+
+018-2-4,33,49,0 duplicate(Novice Exchanger#0) Novice Exchanger#1 NPC_M_COINKEEPER
+
diff --git a/npc/018-2-4/lv2.txt b/npc/018-2-4/lv2.txt
new file mode 100644
index 0000000..3738e8e
--- /dev/null
+++ b/npc/018-2-4/lv2.txt
@@ -0,0 +1,57 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Heroes Hold Exchanger - Level 2
+
+018-2-4,40,28,0 script Advanced Exchanger#0 NPC_M_COINKEEPER,{
+ .@q=getq2(LoFQuest_HH);
+ if (.@q & HH_INTERMEDIARY)
+ openshop;
+ goodbye;
+ closedialog;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, TopHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, Chainmail);
+ setunitdata(.@npcId, UDT_WEAPON, JeansShorts);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 25);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
+
+ .sex = G_OTHER;
+ .distance = 5;
+ npcsit;
+
+ tradertype(NST_CUSTOM);
+
+ sellitem EquipmentBlueprintB,3000;
+ sellitem ShortSword,1800;
+ sellitem Chainmail,1400;
+
+ sellitem BronzeGift,120;
+ sellitem CoinBag,60;
+
+ sellitem ArrowAmmoBox,540;
+ sellitem Arrow,3;
+ sellitem CasinoCoins,4;
+ end;
+
+OnCountFunds:
+ setcurrency(countitem(HeroCoin));
+ end;
+
+OnPayFunds:
+ if( countitem(HeroCoin) < @price )
+ end;
+ delitem HeroCoin,@price;
+ purchaseok();
+ end;
+
+}
+
+018-2-4,40,49,0 duplicate(Advanced Exchanger#0) Advanced Exchanger#1 NPC_M_COINKEEPER
+
diff --git a/npc/018-2-4/lv3.txt b/npc/018-2-4/lv3.txt
new file mode 100644
index 0000000..e0927ce
--- /dev/null
+++ b/npc/018-2-4/lv3.txt
@@ -0,0 +1,60 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Heroes Hold Exchanger - Level 3
+
+018-2-4,47,28,0 script Master Exchanger#0 NPC_M_COINKEEPER,{
+ .@q=getq2(LoFQuest_HH);
+ if (.@q & HH_ADVANCED)
+ openshop;
+ goodbye;
+ closedialog;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, TopHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, WarlordPlate);
+ setunitdata(.@npcId, UDT_WEAPON, JeansChaps);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 25);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
+
+ .sex = G_OTHER;
+ .distance = 5;
+ npcsit;
+
+ tradertype(NST_CUSTOM);
+
+ sellitem Kanabo,5400;
+ sellitem EquipmentBlueprintC,4200;
+ sellitem ArcmageBoxset,3250;
+
+ sellitem SteelShovel,2000;
+ sellitem MercBoxA,1200;
+
+ sellitem SilverGift,480;
+ //sellitem Lockpicks,112;
+
+ sellitem IronAmmoBox,1080;
+ sellitem IronArrow,6;
+
+ end;
+
+OnCountFunds:
+ setcurrency(countitem(HeroCoin));
+ end;
+
+OnPayFunds:
+ if( countitem(HeroCoin) < @price )
+ end;
+ delitem HeroCoin,@price;
+ purchaseok();
+ end;
+
+}
+
+018-2-4,47,49,0 duplicate(Master Exchanger#0) Master Exchanger#1 NPC_M_COINKEEPER
+
diff --git a/npc/018-2-4/lv4.txt b/npc/018-2-4/lv4.txt
new file mode 100644
index 0000000..3855caa
--- /dev/null
+++ b/npc/018-2-4/lv4.txt
@@ -0,0 +1,59 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Heroes Hold Exchanger - Level 4
+
+018-2-4,54,28,0 script Ultimate Exchanger#0 NPC_M_COINKEEPER,{
+ .@q=getq2(LoFQuest_HH);
+ if (.@q & HH_EXPERT)
+ openshop;
+ goodbye;
+ closedialog;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, TopHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SaviorArmor);
+ setunitdata(.@npcId, UDT_WEAPON, JeansChaps);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 25);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
+
+ .sex = G_OTHER;
+ .distance = 5;
+ npcsit;
+
+ tradertype(NST_CUSTOM);
+
+ sellitem BlacksmithAxe,24000;
+ sellitem Judgement,14200;
+
+ sellitem EquipmentBlueprintD,5500;
+ sellitem MercBoxB,2200;
+ sellitem GoldenGift,1920;
+
+ sellitem IridiumOre,1600;
+ sellitem TitaniumOre,800;
+
+ sellitem PoisonAmmoBox,2160;
+ sellitem PoisonArrow,12;
+ end;
+
+OnCountFunds:
+ setcurrency(countitem(HeroCoin));
+ end;
+
+OnPayFunds:
+ if( countitem(HeroCoin) < @price )
+ end;
+ delitem HeroCoin,@price;
+ purchaseok();
+ end;
+
+}
+
+018-2-4,54,49,0 duplicate(Ultimate Exchanger#0) Ultimate Exchanger#1 NPC_M_COINKEEPER
+
diff --git a/npc/018-2-4/vault.txt b/npc/018-2-4/vault.txt
new file mode 100644
index 0000000..9f33ea6
--- /dev/null
+++ b/npc/018-2-4/vault.txt
@@ -0,0 +1,23 @@
+// TMW2/LoF Script.
+// Author:
+// Jesusalva
+// Notes:
+// Based on BenB idea.
+
+018-2-4,23,24,0 script Vault#01824a NPC_NO_SPRITE,{
+ LootableVault(2, 3, "01824");
+ close;
+
+OnInit:
+ .distance=3;
+ end;
+
+OnClock0201:
+OnClock1216:
+ $VAULT_01824+=rand2(15,35);
+ end;
+}
+
+
+018-2-4,23,45,0 duplicate(Vault#01824a) Vault#01824b NPC_NO_SPRITE
+
diff --git a/npc/018-2-5/_import.txt b/npc/018-2-5/_import.txt
new file mode 100644
index 0000000..53f7e5b
--- /dev/null
+++ b/npc/018-2-5/_import.txt
@@ -0,0 +1,2 @@
+// Map 018-2-5: Heroes Hold - Main Dungeon
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/018-2-6/_config.txt b/npc/018-2-6/_config.txt
new file mode 100644
index 0000000..87f2d40
--- /dev/null
+++ b/npc/018-2-6/_config.txt
@@ -0,0 +1,71 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-2-6: Heroes Hold SS - B1F conf
+
+018-2-6,199,215,0 script #018-2-6_199_215 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+OnTouch:
+OnTouchNPC:
+ IronTrap(400, 15, 3);
+ end;
+OnTimer15000:
+ stopnpctimer; setnpctimer 0; setnpcdisplay "#018-2-6_199_215", NPC_TRAP; end;
+}
+
+018-2-6,216,223,0 script #018-2-6_216_223 NPC_TRAP,0,0,{
+ mesn strcharinfo(0);
+ mesq l("Something seems off with that!");
+ close;
+OnTouch:
+OnTouchNPC:
+ IronTrap(400, 15, 3);
+ end;
+OnTimer15000:
+ stopnpctimer; setnpctimer 0; setnpcdisplay "#018-2-6_216_223", NPC_TRAP; end;
+}
+
+018-2-6,161,99,0 script #018-2-6_161_99 NPC_HIDDEN,{
+ end;
+OnDisable:
+ delcells "018-2-6_161_99"; end;
+OnEnable:
+OnInit:
+ setcells "018-2-6", 161, 99, 163, 99, 1, "018-2-6_161_99";
+}
+
+018-2-6,156,101,0 script #018-2-6_156_101 NPC_HIDDEN,{
+ end;
+OnDisable:
+ delcells "018-2-6_156_101"; end;
+OnEnable:
+OnInit:
+ setcells "018-2-6", 156, 101, 156, 103, 1, "018-2-6_156_101";
+}
+
+018-2-6,186,108,0 script #018-2-6_186_108 NPC_CHEST,{
+ TreasureBox();
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ close;
+OnInit:
+ .distance=3;
+ end;
+}
+
+018-2-6,204,225,0 script #018-2-6_204_225 NPC_HIDDEN,{
+ end;
+OnDisable:
+ delcells "018-2-6_204_225"; end;
+OnEnable:
+OnInit:
+ setcells "018-2-6", 204, 225, 210, 225, 1, "018-2-6_204_225";
+}
+
+018-2-6,209,210,0 script #018-2-6_209_210 NPC_HIDDEN,{
+ end;
+OnDisable:
+ delcells "018-2-6_209_210"; end;
+OnEnable:
+OnInit:
+ setcells "018-2-6", 209, 210, 218, 210, 1, "018-2-6_209_210";
+}
diff --git a/npc/018-2-6/_import.txt b/npc/018-2-6/_import.txt
new file mode 100644
index 0000000..24cd9c7
--- /dev/null
+++ b/npc/018-2-6/_import.txt
@@ -0,0 +1,3 @@
+// Map 018-2-6: Heroes Hold SS - B1F
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-2-6/_config.txt",
diff --git a/npc/018-2-7/_config.txt b/npc/018-2-7/_config.txt
new file mode 100644
index 0000000..5556559
--- /dev/null
+++ b/npc/018-2-7/_config.txt
@@ -0,0 +1,29 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-2-7: Heroes Hold SS - B2F conf
+
+018-2-7,161,45,0 script #018-2-7_161_45 NPC_HIDDEN,{
+ end;
+OnDisable:
+ delcells "018-2-7_161_45"; end;
+OnEnable:
+OnInit:
+ setcells "018-2-7", 161, 45, 163, 45, 1, "018-2-7_161_45";
+}
+
+018-2-7,160,23,0 script #018-2-7_160_23 NPC_HIDDEN,{
+ end;
+OnDisable:
+ delcells "018-2-7_160_23"; end;
+OnEnable:
+OnInit:
+ setcells "018-2-7", 160, 23, 160, 37, 1, "018-2-7_160_23";
+}
+
+018-2-7,227,45,0 script #018-2-7_227_45 NPC_HIDDEN,{
+ end;
+OnDisable:
+ delcells "018-2-7_227_45"; end;
+OnEnable:
+OnInit:
+ setcells "018-2-7", 227, 45, 229, 45, 1, "018-2-7_227_45";
+}
diff --git a/npc/018-2-7/_import.txt b/npc/018-2-7/_import.txt
new file mode 100644
index 0000000..c6fb7da
--- /dev/null
+++ b/npc/018-2-7/_import.txt
@@ -0,0 +1,3 @@
+// Map 018-2-7: Heroes Hold SS - B2F
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-2-7/_config.txt",
diff --git a/npc/018-2-8/_config.txt b/npc/018-2-8/_config.txt
new file mode 100644
index 0000000..da1889d
--- /dev/null
+++ b/npc/018-2-8/_config.txt
@@ -0,0 +1,47 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-2-8: Heroes Hold SS - B3F conf
+
+018-2-8,108,60,0 script #018-2-8_108_60 NPC_CHEST,{
+ TreasureBox();
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ close;
+OnInit:
+ .distance=3;
+ end;
+}
+
+018-2-8,113,57,0 script #018-2-8_113_57 NPC_HIDDEN,{
+ end;
+OnDisable:
+ delcells "018-2-8_113_57"; end;
+OnEnable:
+OnInit:
+ setcells "018-2-8", 113, 57, 115, 57, 1, "018-2-8_113_57";
+}
+
+018-2-8,113,64,0 script #018-2-8_113_64 NPC_HIDDEN,{
+ end;
+OnDisable:
+ delcells "018-2-8_113_64"; end;
+OnEnable:
+OnInit:
+ setcells "018-2-8", 113, 64, 115, 64, 1, "018-2-8_113_64";
+}
+
+018-2-8,89,35,0 script #018-2-8_89_35 NPC_HIDDEN,{
+ end;
+OnDisable:
+ delcells "018-2-8_89_35"; end;
+OnEnable:
+OnInit:
+ setcells "018-2-8", 89, 35, 91, 35, 1, "018-2-8_89_35";
+}
+
+018-2-8,69,47,0 script #018-2-8_69_47 NPC_HIDDEN,{
+ end;
+OnDisable:
+ delcells "018-2-8_69_47"; end;
+OnEnable:
+OnInit:
+ setcells "018-2-8", 69, 47, 69, 49, 1, "018-2-8_69_47";
+}
diff --git a/npc/018-2-8/_import.txt b/npc/018-2-8/_import.txt
new file mode 100644
index 0000000..be9b71b
--- /dev/null
+++ b/npc/018-2-8/_import.txt
@@ -0,0 +1,3 @@
+// Map 018-2-8: Heroes Hold SS - B3F
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-2-8/_config.txt",
diff --git a/npc/018-2/_import.txt b/npc/018-2/_import.txt
new file mode 100644
index 0000000..adb5e87
--- /dev/null
+++ b/npc/018-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 018-2: Heroes' Hold - Outside
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-2/_mobs.txt",
+"npc/018-2/_warps.txt",
diff --git a/npc/018-2/_mobs.txt b/npc/018-2/_mobs.txt
new file mode 100644
index 0000000..a27e664
--- /dev/null
+++ b/npc/018-2/_mobs.txt
@@ -0,0 +1,7 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-2: Heroes' Hold - Outside mobs
+018-2,40,35,20,6 monster Moonshroom 1069,2,120000,40000
+018-2,21,46,0,0 monster Poison Fairy 1186,6,120000,40000
+018-2,93,37,29,10 monster Green Dragon 1195,2,120000,40000
+018-2,108,64,12,11 monster Earth Fairy 1182,4,120000,40000
+018-2,91,89,36,12 monster Grass Snake 1169,6,120000,40000
diff --git a/npc/018-2/_warps.txt b/npc/018-2/_warps.txt
new file mode 100644
index 0000000..d529700
--- /dev/null
+++ b/npc/018-2/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-2: Heroes' Hold - Outside warps
+018-2,63,106,0 warp #018-2_63_106 0,0,017-1,180,194
+018-2,72,63,0 warp #018-2_72_63 3,0,018-2-1,26,32
diff --git a/npc/018-3/_import.txt b/npc/018-3/_import.txt
new file mode 100644
index 0000000..54aa669
--- /dev/null
+++ b/npc/018-3/_import.txt
@@ -0,0 +1,5 @@
+// Map 018-3: Somber Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-3/_mobs.txt",
+"npc/018-3/_warps.txt",
+"npc/018-3/treasure.txt",
diff --git a/npc/018-3/_mobs.txt b/npc/018-3/_mobs.txt
new file mode 100644
index 0000000..5200a96
--- /dev/null
+++ b/npc/018-3/_mobs.txt
@@ -0,0 +1,18 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-3: Somber Cave mobs
+018-3,81,91,1,1 monster Dark Lizard 1051,2,0,20000
+018-3,37,61,1,1 monster Dark Lizard 1051,2,0,20000
+018-3,45,114,1,1 monster Troll 1171,2,10000,60000
+018-3,75,53,1,1 monster Black Slime 1178,1,10000,20000
+018-3,115,116,2,2 monster Black Scorpion 1074,1,0,10000
+018-3,39,57,21,38 monster Lava Slime 1097,10,10000,0
+018-3,96,46,34,27 monster Lava Slime 1097,8,10000,0
+018-3,88,84,26,10 monster Lava Slime 1097,4,10000,0
+018-3,123,100,7,26 monster Lava Slime 1097,4,10000,0
+018-3,66,111,48,15 monster Lava Slime 1097,9,10000,0
+018-3,56,114,1,1 monster Black Scorpion 1074,1,0,10000
+018-3,41,76,1,1 monster Electro Worm 1173,1,0,30000
+018-3,95,94,8,4 monster Black Mamba 1174,3,20000,10000
+018-3,123,27,3,3 monster Shadow Plant 1189,2,60000,60000
+018-3,31,28,1,1 monster Gobo Bear 1214,1,0,20000
+018-3,74,72,56,53 monster Black Mamba 1174,8,20000,0
diff --git a/npc/018-3/_warps.txt b/npc/018-3/_warps.txt
new file mode 100644
index 0000000..b044553
--- /dev/null
+++ b/npc/018-3/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-3: Somber Cave warps
+018-3,114,23,0 warp #018-3_114_23 0,0,017-2-1,27,126
+018-3,94,96,0 warp #018-3_94_96 0,0,018-4,169,114
diff --git a/npc/018-3/treasure.txt b/npc/018-3/treasure.txt
new file mode 100644
index 0000000..c61aee7
--- /dev/null
+++ b/npc/018-3/treasure.txt
@@ -0,0 +1,64 @@
+// TMW2 Script
+
+// (Random) Treasure Chest
+// Authored by Jesusalva
+// Regenerates every 6 hours
+
+018-3,0,0,0 script #chest_01830 NPC_CHEST,{
+
+ if (!.busy && !.empty) {
+ TreasureBox();
+
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ .dir = .dir == 0 ? 2 : 6; // closed ? opening : closing
+ .busy = true; // lock until available again
+ initnpctimer;
+ } else if (!.busy) {
+ mesc l("Someone looted this treasure box already...");
+ } else {
+ end;
+ }
+ close;
+
+OnTimer160:
+ .dir = .dir == 6 ? 0 : 4; // closing ? closed : open
+ end;
+
+OnTimer500:
+ .busy = false; // unlock
+ if (.dir == 0 || .dir == 4)
+ stopnpctimer; // stop here if the chest is closed
+ end;
+
+OnInit:
+ .busy = false;
+ .distance = 2;
+ .empty = false;
+
+OnClock0156:
+OnClock0756:
+OnClock1356:
+OnClock1956:
+ // Try to warp randomly to a walkable spot, up to 20 attempts
+ // Otherwise, it'll stay where it already is (but will close and refill).
+ .@e=0; .@x=0; .@y=0;
+ while (!checkcell(.map$, .@x, .@y, cell_chkpass))
+ {
+ if (.@e == 20) {
+ .@x=.x;
+ .@y=.y;
+ break;
+ }
+ // Remember the +20 -20 margin adjustment
+ .@x = rand(20, 130);
+ .@y = rand(20, 130);
+ ++.@e;
+ }
+ .busy=false;
+ .empty=false;
+ movenpc .name$, .@x, .@y, 0;
+ end;
+}
+
+018-3,0,0,0 duplicate(#chest_01830) #chest_01831 NPC_CHEST
+
diff --git a/npc/018-4-1/_import.txt b/npc/018-4-1/_import.txt
new file mode 100644
index 0000000..5c588d2
--- /dev/null
+++ b/npc/018-4-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 018-4-1: sicave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-4-1/_mobs.txt",
+"npc/018-4-1/_warps.txt",
diff --git a/npc/018-4-1/_mobs.txt b/npc/018-4-1/_mobs.txt
new file mode 100644
index 0000000..801f7d1
--- /dev/null
+++ b/npc/018-4-1/_mobs.txt
@@ -0,0 +1,10 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-4-1: Secret Island Cave mobs
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-4-1: sicave mobs
+018-4-1,95,66,66,35 monster Cave Snake 1035,15,9000,3000
+018-4-1,95,84,66,18 monster Golden Scorpion 1078,7,10000,5000
+018-4-1,102,48,40,17 monster Giant Mutated Bat 1044,2,100000,300000
+018-4-1,142,64,27,44 monster Black Mamba 1174,3,100000,50000
+018-4-1,51,64,27,44 monster Troll 1171,2,90000,90000
+018-4-1,122,58,21,3 monster Shadow Plant 1189,3,30000,30000
diff --git a/npc/018-4-1/_warps.txt b/npc/018-4-1/_warps.txt
new file mode 100644
index 0000000..070a064
--- /dev/null
+++ b/npc/018-4-1/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-4-1: Secret Island Cave warps
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-4-1: sicave warps
+018-4-1,102,86,0 warp #018-4-1_102_86 0,0,018-4,99,100
diff --git a/npc/018-4-2/_import.txt b/npc/018-4-2/_import.txt
new file mode 100644
index 0000000..8ef7425
--- /dev/null
+++ b/npc/018-4-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 018-4-2: Secret_Island_Indoor
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-4-2/_warps.txt",
+"npc/018-4-2/susanne.txt",
diff --git a/npc/018-4-2/_warps.txt b/npc/018-4-2/_warps.txt
new file mode 100644
index 0000000..796a024
--- /dev/null
+++ b/npc/018-4-2/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-4-2: Secret Island House warps
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-4-2: Secret_Island_Indoor warps
+018-4-2,33,36,0 warp #018-4-2_33_36 0,0,018-4,78,36
diff --git a/npc/018-4-2/susanne.txt b/npc/018-4-2/susanne.txt
new file mode 100644
index 0000000..165f0b1
--- /dev/null
+++ b/npc/018-4-2/susanne.txt
@@ -0,0 +1,179 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Slay the Fafi Dragon quest. Due the OP monster, you better find yourself a good team!
+// {quest status, respawns issued}
+
+018-4-2,31,26,0 script Susanne NPC_FAIRY_A,{
+ .@q=getq(LoFQuest_Fairy);
+
+ if(BaseLevel < 53) goto L_Noob;
+ if(.@q == 1) goto L_Coward;
+ if(.@q == 2) goto L_Complete;
+ if(.@q >= 3) goto L_Thanks;
+
+ mesn;
+ mesq l("Do you like fairies? Well, you should love them! We play with humans all the time, it is usually pretty fun...");
+ next;
+ mesc l("(The girl now looks away sadly, thinking about what to say next.)");
+ next;
+ mesn;
+ mesq l("But dragons came and started roaming this island. My friends are now either dead or missing. You look big and strong, do you want to avenge me?");
+ goto L_Menu;
+
+L_Menu:
+ menu
+ l("Sure, I'd love to help! What can I do?"), L_Yes,
+ l("Nah, I've got more serious matters to attend to..."), L_No;
+
+L_Yes:
+ mesn;
+ mesq l("Thank you so much! That might not bring my friends back, but will make this island much safer!");
+ next;
+ mesn;
+ mesq l("The Fafi Dragon are really really bad guys. I don't know how they came here, as they're not from the Lands Of Fire, nor from Mana World.");
+ next;
+ mesn;
+ mesq l("But this is not important. They are dangerous. They must be stop at any cost!");
+ next;
+ mesn;
+ mesq l("So if you can help, go kill at least one on this island. They take a long time to respawn.");
+ next;
+ mesn;
+ mesq l("Thank you...");
+ setq LoFQuest_Fairy, 1;
+ if (!mobcount("018-4","Susanne::OnKillFafi"))
+ goto L_Spawn;
+ close;
+
+OnKillFafi:
+ message strcharinfo(0), "You killed the Fafi Dragon.";
+ .@q=getq(LoFQuest_Fairy);
+ if (.@q == 1) {
+ setq LoFQuest_Fairy, 2, 0;
+ mapannounce "018-4-2", "" +strcharinfo(0)+ " has killed the Fafi Dragon!", 0;
+ mapannounce "018-4-1", "" +strcharinfo(0)+ " has killed the Fafi Dragon!", 0;
+ mapannounce "018-4", "" +strcharinfo(0)+ " has killed the Fafi Dragon!", 0;
+ mapannounce "017-1", "" +strcharinfo(0)+ " has killed the Fafi Dragon!", 0;
+ message strcharinfo(0), "Cheers are being heard throughout the land!";
+ }
+ fix_mobkill(FafiDragon);
+ end;
+
+L_Complete:
+ mesn;
+ mesq l("Many thanks for killing it. Maybe more humans come here now, and play with me.");
+ next;
+ inventoryplace FafiMask, 1;
+ getitem FafiMask, 1;
+ getexp 80000, 200;
+ setq LoFQuest_Fairy, 3;
+ mesn;
+ mesq l("By the way, I found this Mask after you killed the Fafi Dragon, Maybe you can use it some day.");
+ next;
+ mesn;
+ mesq l("And some times, more Fafi dragons come... Don't neglect your aid.");
+ close;
+
+L_Thanks:
+ mesn;
+ mesq l("Sometimes humans come here and play with me. Many thanks for the help!");
+ if (!mobcount("018-4","Susanne::OnKillFafi") && .respawnTime <= gettimetick(2)) {
+ next;
+ mesn;
+ mesq l("Actually, about Fafi dragons...");
+ next;
+ goto L_Check;
+ }
+ close;
+
+L_No:
+ mesn;
+ mesq l("Ok...please come back when you aren't busy...");
+ next;
+ mesc l("The girl turns around and you hear her sniffing, she is probably crying...");
+ close;
+
+L_Noob:
+ mesn;
+ mesq l("Hey, have you come to play with me? I love playing with humans! Usually so few show in, it must be the dragons...");
+ //mesq l("I need some help with something, but I don't think you're strong enough. Come back later please when you're stronger.");
+ close;
+
+L_Coward:
+ if (!mobcount("018-4","Susanne::OnKillFafi"))
+ goto L_Check;
+ mesn;
+ mesq l("What are you doing talking to me? Go fight, you coward!");
+ close;
+
+L_Check:
+ if (.respawnTime > gettimetick(2) && (!mobcount("018-4","Susanne::OnKillFafi"))){
+ mesn;
+ mesq l("Just wait. Fafi dragons are slow to show up...");
+ } else {
+ .@q=limit(0, getq2(LoFQuest_Fairy), 3);
+ // First time is ALWAYS free
+ if (!.@q)
+ goto L_Spawn;
+
+ mesn;
+ mesq l("The Fafi knows you are here to kill him. They are smart. But I can make a trap.");
+ next;
+ mesn;
+ mesq l("Bring me this and I'll spawn it for you:");
+ // .@q valid values are 1 (Starter) and 3 (Veteran)
+ mesc l("@@/@@ @@", countitem(ShadowHerb), .@q*5, getitemlink(ShadowHerb));
+ mesc l("@@/@@ @@", countitem(Moss), .@q*4, getitemlink(Moss));
+ mesc l("@@/@@ @@", countitem(Root), .@q*3, getitemlink(Root));
+ next;
+ mesn;
+ mesq l("I'll be attracted by the Shadow Herb. The moss will hide the roots, which will entrap it for a while.");
+ mesq l("So, do you have the items?");
+ if (askyesno() != ASK_YES) {
+ close;
+ }
+ mes "";
+ if (countitem(ShadowHerb) < .@q*5 ||
+ countitem(Moss) < .@q*4 ||
+ countitem(Root) < .@q*3) goto L_Fail;
+ if (.respawnTime > gettimetick(2)) {
+ mesn;
+ mesq l("Too slow.");
+ close;
+ }
+ delitem ShadowHerb, .@q*5;
+ delitem Moss, .@q*4;
+ delitem Root, .@q*3;
+ goto L_Spawn;
+ }
+ close;
+
+L_Spawn:
+ if (.respawnTime > gettimetick(2)){
+ mesn;
+ mesq l("Just wait. Fafi dragons are slow to show up...");
+ } else {
+ mesn;
+ mesc l("Screams");
+ mesq l("I hear a Fafi Dragon on THIS very island!!");
+ .respawnTime=gettimetick(2)+(60*30);
+ monster "018-4", any(64,83,100,123,139), any(64,74,89), strmobinfo(1, FafiDragon), FafiDragon, 1, "Susanne::OnKillFafi";
+ setq2 LoFQuest_Fairy, getq2(LoFQuest_Fairy)+1;
+ }
+ close;
+
+L_Fail:
+ mesn;
+ mesq l("You're lucky that this is the Land Of Fire and I'm on a good mood, otherwise, I would have killed you for lying to me.");
+ close;
+
+OnInit:
+ .respawnTime=0;
+ .sex=G_FEMALE;
+ .distance=5;
+ end;
+
+}
diff --git a/npc/018-4/_import.txt b/npc/018-4/_import.txt
new file mode 100644
index 0000000..17bc538
--- /dev/null
+++ b/npc/018-4/_import.txt
@@ -0,0 +1,4 @@
+// Map 018-4: Secret Island
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-4/_mobs.txt",
+"npc/018-4/_warps.txt",
diff --git a/npc/018-4/_mobs.txt b/npc/018-4/_mobs.txt
new file mode 100644
index 0000000..fbb94a6
--- /dev/null
+++ b/npc/018-4/_mobs.txt
@@ -0,0 +1,10 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-4: Secret Island mobs
+018-4,125,78,46,21 monster Golden Scorpion 1078,7,10000,5000
+018-4,103,57,46,32 monster Black Scorpion 1074,5,20000,10000
+018-4,103,57,46,32 monster Black Slime 1178,10,15000,10000
+018-4,96,70,76,47 monster Red Slime 1092,12,12000,4000
+018-4,96,70,76,47 monster Yellow Slime 1091,15,30000,30000
+018-4,96,66,76,43 monster Clover Patch 1028,2,75000,35000
+018-4,96,70,76,47 monster Mouboo 1023,3,12000,4000
+018-4,103,76,40,12 monster Wicked Mushroom 1176,2,85000,65000
diff --git a/npc/018-4/_warps.txt b/npc/018-4/_warps.txt
new file mode 100644
index 0000000..99e7a8d
--- /dev/null
+++ b/npc/018-4/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-4: Secret Island warps
+018-4,99,99,0 warp #018-4_99_99 0,0,018-4-1,102,84
+018-4,169,115,0 warp #018-4_169_115 0,0,018-3,94,95
+018-4,78,34,0 warp #018-4_78_34 0,0,018-4-2,33,34
diff --git a/npc/018-5-0/_import.txt b/npc/018-5-0/_import.txt
new file mode 100644
index 0000000..d7a946e
--- /dev/null
+++ b/npc/018-5-0/_import.txt
@@ -0,0 +1,5 @@
+// Map 018-5-0: Heroes' Hold - Exchange Hall
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-5-0/_mobs.txt",
+"npc/018-5-0/_warps.txt",
+"npc/018-5-0/core.txt",
diff --git a/npc/018-5-0/_mobs.txt b/npc/018-5-0/_mobs.txt
new file mode 100644
index 0000000..90eb88b
--- /dev/null
+++ b/npc/018-5-0/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-5-0: Heroes' Hold - Exchange Hall mobs
+018-5-0,79,38,59,18 monster Bluepar 1177,40,30000,30000
diff --git a/npc/018-5-0/_warps.txt b/npc/018-5-0/_warps.txt
new file mode 100644
index 0000000..2b05b60
--- /dev/null
+++ b/npc/018-5-0/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-5-0: Heroes' Hold - Exchange Hall warps
+018-5-0,139,25,0 warp #018-5-0_139_25 0,9,018-5,39,133
diff --git a/npc/018-5-0/core.txt b/npc/018-5-0/core.txt
new file mode 100644
index 0000000..978c738
--- /dev/null
+++ b/npc/018-5-0/core.txt
@@ -0,0 +1,28 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Controls the swimming minigame. Basically, you lose 1% HP if lack total status.
+
+018-5-0,0,0,0 script #01850SwimmingCtrl NPC_HIDDEN,{
+ end;
+
+OnLoop:
+ if (getmap() != "018-5-0")
+ end;
+ if (ispcdead())
+ end;
+ // Sum everything - you can have 70 str instead of splitting in 35 str and 35 vit
+ .@status=readparam2(bStr)+readparam2(bVit);
+ .@reqst=.reqstr+.reqvit;
+ debugmes "Got %d/%d (%d), heal %d", .@status,.@reqst,.@status-.@reqst,min(0, .@status-.@reqst);
+ //percentheal min(0, .@status-.@reqst), 0;
+ heal (min(0, .@status-.@reqst)*3), 0;
+ addtimer(3000, "#01850SwimmingCtrl::OnLoop");
+ end;
+
+OnInit:
+ .reqstr=35;
+ .reqvit=35;
+ end;
+}
diff --git a/npc/018-5-1/_import.txt b/npc/018-5-1/_import.txt
new file mode 100644
index 0000000..54ff227
--- /dev/null
+++ b/npc/018-5-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 018-5-1: Mountain Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-5-1/_mobs.txt",
+"npc/018-5-1/_warps.txt",
diff --git a/npc/018-5-1/_mobs.txt b/npc/018-5-1/_mobs.txt
new file mode 100644
index 0000000..92d2bba
--- /dev/null
+++ b/npc/018-5-1/_mobs.txt
@@ -0,0 +1,10 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-5-1: Mountain Cave mobs
+018-5-1,62,64,61,51 monster Alizarin Plant 1188,16,30000,30000
+018-5-1,80,53,27,35 monster Snake 1122,8,30000,30000
+018-5-1,60,76,43,27 monster Black Slime 1178,9,30000,30000
+018-5-1,64,63,27,27 monster Dark Lizard 1051,10,30000,30000
+018-5-1,61,75,38,34 monster Black Scorpion 1074,10,30000,30000
+018-5-1,81,53,22,31 monster Black Mamba 1174,1,90000,60000
+018-5-1,65,100,2,2 monster Shadow Pixie 1217,1,300000,30000
+018-5-1,77,79,2,2 monster Holy Pixie 1216,1,300000,30000
diff --git a/npc/018-5-1/_warps.txt b/npc/018-5-1/_warps.txt
new file mode 100644
index 0000000..d3a3e60
--- /dev/null
+++ b/npc/018-5-1/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-5-1: Mountain Cave warps
+018-5-1,36,99,0 warp #018-5-1_36_99 0,0,018-5,60,147
+018-5-1,79,68,0 warp #018-5-1_79_68 0,0,018-5,99,83
+018-5-1,77,54,0 warp #018-5-1_77_54 0,0,018-5,97,69
diff --git a/npc/018-5-2/_import.txt b/npc/018-5-2/_import.txt
new file mode 100644
index 0000000..ef18d80
--- /dev/null
+++ b/npc/018-5-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 018-5-2: Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-5-2/_warps.txt",
+"npc/018-5-2/leona.txt",
diff --git a/npc/018-5-2/_warps.txt b/npc/018-5-2/_warps.txt
new file mode 100644
index 0000000..0465f07
--- /dev/null
+++ b/npc/018-5-2/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-5-2: Indoors warps
+018-5-2,33,47,0 warp #018-5-2_33_47 1,0,018-5,114,55
diff --git a/npc/018-5-2/leona.txt b/npc/018-5-2/leona.txt
new file mode 100644
index 0000000..5b8d1f6
--- /dev/null
+++ b/npc/018-5-2/leona.txt
@@ -0,0 +1,117 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW BR Team
+// Jesusalva
+// Description:
+// Exchanges Mountain Snake Plate (TBD) for a Nymph Necklace (TBD)
+// Grand Hunter Quest
+
+018-5-2,33,36,0 script Leona NPC_FAIRY_B,{
+ function leona_exchange;
+ mesn;
+ mesq l("Hello, @@!", get_race());
+ next;
+ mesn;
+ mesq l("Do you have something to exchange with me? Or perhaps you want a Grand Hunter Quest?");
+ next;
+ select
+ l("I've brought something to exchange."),
+ l("I'm interested in Grand Hunter Quest."),
+ l("Ops, sorry. I was going to the Soul Menhir and entered your house by accident.");
+ mes "";
+ switch (@menu) {
+ case 3:
+ mesn;
+ mesq l("It happens.");
+ close;
+ case 2:
+ GHQ_Assign(MountainSnake, "Lilit");
+ close;
+ case 1:
+ mesn;
+ mesq l("The most famous nymphs, are those who wear stuff made of Snake Skin.");
+ next;
+ mesn;
+ mesq l("Perhaps you have something like that?");
+ next;
+ do
+ {
+ mesc l("What to exchange with Leona?");
+ mes "##B" + l("Drag and drop an item from your inventory.") + "##b";
+
+ .@id = requestitem();
+
+ // If ID is invalid, there's not enough items or if it is bound
+ if (.@id < 1) close;
+ if (countitem(.@id) < 1) close;
+ if (checkbound(.@id))
+ {
+ mesc l("You cannot part with this item!");
+ continue;
+ }
+
+ // TODO: Check if item is OK
+ switch (.@id) {
+ // Specific Exchange
+ /*
+ case Backsword:
+ leona_exchange(.@id, ShortSword);
+ break;
+ */
+
+ // Generic Exchange
+ case LeatherShirt:
+ case LeatherBoots:
+ case LeatherGloves:
+ case JeansChaps:
+ case LeatherTrousers:
+ case SnakeSkin:
+ case MountainSnakeSkin:
+ case CaveSnakeSkin:
+ leona_exchange(.@id, 0);
+ break;
+ case BlackMambaSkin:
+ leona_exchange(.@id, FluoPowder);
+ break;
+ default:
+ mesn;
+ mesq l("I have no interest on this item.");
+ next;
+ break;
+ }
+
+ } while (true);
+ }
+ close;
+
+ // leona_exchange ( give, receive )
+ // Receive should be item ID. If it is 0, you will get 1.4× the sell price
+ function leona_exchange {
+ .@what=getarg(0);
+ .@reward=getarg(1);
+ if (!.@reward)
+ .@gp=getiteminfo(.@what, ITEMINFO_SELLPRICE)*14/10;
+ mesn;
+ if (.@reward)
+ mesq l("For this @@, I offer you a(n) @@.", getitemlink(.@what), getitemlink(.@reward));
+ else
+ mesq l("For this @@, I offer you @@ GP.", getitemlink(.@what), format_number(.@gp));
+ next;
+ mesc l("Exchange the item with Leona?");
+ if (askyesno() == ASK_YES)
+ {
+ delitem .@what, 1;
+ if (.@reward)
+ getitem .@reward, 1;
+ else
+ Zeny+=.@gp;
+ mesn;
+ mesq l("Many thanks! I'll be sooooo fashionable now!");
+ next;
+ }
+ return;
+ }
+OnInit:
+ .distance=5;
+ end;
+}
diff --git a/npc/018-5-3/_import.txt b/npc/018-5-3/_import.txt
new file mode 100644
index 0000000..a61f6de
--- /dev/null
+++ b/npc/018-5-3/_import.txt
@@ -0,0 +1,4 @@
+// Map 018-5-3: Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-5-3/_warps.txt",
+"npc/018-5-3/shaabty.txt",
diff --git a/npc/018-5-3/_warps.txt b/npc/018-5-3/_warps.txt
new file mode 100644
index 0000000..66af0d9
--- /dev/null
+++ b/npc/018-5-3/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-5-3: Indoors warps
+018-5-3,33,47,0 warp #018-5-3_33_47 1,0,018-5,83,49
diff --git a/npc/018-5-3/shaabty.txt b/npc/018-5-3/shaabty.txt
new file mode 100644
index 0000000..4d2f47e
--- /dev/null
+++ b/npc/018-5-3/shaabty.txt
@@ -0,0 +1,151 @@
+// TMW-2 Script.
+// Author:
+// Jesusalva
+// Description:
+// Leather Trousers quest (lv 48)
+// Variable:
+// LilitQuest_Shaabty
+// 0 - Not enough level
+// 1 - Quest assigned
+// 2 - Requested the material
+// 3 - Craft is in progress
+// 4 - Quest Complete
+// Var2:
+// Controls how many snakes you killed down there.
+// It counts regardless of quest state.
+// Var3:
+// Timer for state 3
+
+018-5-3,29,38,0 script Shaabty NPC_FAIRY_A,{
+ function LTask;
+ .@q=getq(LilitQuest_Shaabty);
+ switch (.@q) {
+ case 0:
+ goto L_Start; break;
+ case 1:
+ goto L_Return; break;
+ case 2:
+ goto L_Craft; break;
+ case 3:
+ goto L_Craft2; break;
+ case 4:
+ goto L_Start; break;
+ }
+ Exception(l("Invalid quest state: @@", .@q), RB_DEFAULT|RB_SPEECH|RB_ISFATAL^RB_DISPBOTTOM);
+ close;
+
+L_Start:
+ mesn l("Shaabty the Fairy");
+ mesq l("I always wanted to live in this town. I'm glad I managed to move from LoF Village to here.");
+ next;
+ mesn l("Shaabty the Fairy");
+ mesq l("A shame there are snakes below the ground. I really, really hate snakes, like every fairy.");
+ if (BaseLevel < 45 || .@q >= 3)
+ close;
+ next;
+ mesn l("Shaabty the Fairy");
+ mesq l("Maybe you could do me a favour, though?");
+ setq1 LilitQuest_Shaabty, 1;
+ LTask();
+ close;
+
+function LTask {
+ mesn l("Shaabty the Fairy");
+ mesq l("I would love to see the skin of two @@.", getmonsterlink(MountainSnake));
+ next;
+ mesn l("Shaabty the Fairy");
+ mesq l("They live below this town. Can you do this for me?");
+ next;
+ return;
+}
+
+L_Return:
+ LTask();
+ .@q2=getq2(LilitQuest_Shaabty);
+ // 0.98% DR (skin) - Reference is 0.32%
+ // 2 snake skins should take ~200 kills
+ if (countitem(MountainSnakeSkin) >= 2) {
+ if (.@q2 < 150) {
+ mesn l("Shaabty the Fairy");
+ mesq l("I see two snake skins, but you didn't killed them down there. That defeats the whole purpose.");
+ } else {
+ goto L_Finish;
+ }
+ } else {
+ mesn l("Shaabty the Fairy");
+ mesq l("That's not a couple of skins.");
+ }
+ close;
+
+L_Finish:
+ mesc l("Deliver @@ @@ to @@?", 2, getitemlink(MountainSnakeSkin), .name$), 1;
+ next;
+ if (askyesno() == ASK_YES) {
+ delitem MountainSnakeSkin, 2;
+ setq1 LilitQuest_Shaabty, 2;
+ getexp 20000, 200;
+ mesn l("Shaabty the Fairy");
+ mesq l("Thanks. Please come back later, there is something I want to do for you.");
+ }
+ close;
+
+L_Craft:
+ mesn l("Shaabty the Fairy");
+ mesq l("So, I was thinking in crafting a @@ for you.", getitemlink(LeatherTrousers));
+ next;
+ mesn l("Shaabty the Fairy");
+ mes l("For that, I'll need @@/@@ @@.", countitem(LeatherPatch), 10, getitemlink(LeatherPatch));
+ mes l("And a commission of @@/@@ GP.", format_number(Zeny), format_number(8000));
+ if (countitem(LeatherPatch) < 10 ||
+ Zeny < 8000)
+ close;
+ next;
+ mesc l("Pay for her handi-work?");
+ if (askyesno() == ASK_YES) {
+ delitem LeatherPatch, 10;
+ Zeny-=8000;
+ setq1 LilitQuest_Shaabty, 3;
+ //setq3 LilitQuest_Shaabty, gettimeparam(GETTIME_HOUR)+2;
+ setq3 LilitQuest_Shaabty, gettimetick(2)+7200;
+ mesn l("Shaabty the Fairy");
+ mesq l("Thanks! Please come back in two hours, then I'll have the trousers ready.");
+ }
+ close;
+
+// Each time you bother her, she loses the line;
+L_Craft2:
+ .@q3=getq3(LilitQuest_Shaabty);
+ if (gettimetick(2) < .@q3) {
+ mesn l("Shaabty the Fairy");
+ .@mg$=any(l("stop interrupting me while I make your trousers."), l("stop making me lose the line by talking to me."));
+ mesq l("Please be patient and "+.@mg$);
+ mesc l("Remaining time: @@", FuzzyTime(.@q3));
+ setq3 LilitQuest_Shaabty, .@q3+rand2(1,3);
+ } else {
+ inventoryplace LeatherTrousers, 1;
+ getitem LeatherTrousers, 1;
+ getexp 0, 1000;
+ setq3 LilitQuest_Shaabty, 0;
+ setq1 LilitQuest_Shaabty, 4;
+ mesn l("Shaabty the Fairy");
+ mesq l("Here you go. Please enjoy and thanks for making this town better to live. Maybe one day the snakes leave ^.^");
+ }
+ close;
+
+/////////////////////////////////////////////////////////
+OnKillSnake:
+ .@q1=getq(LilitQuest_Shaabty);
+ .@q2=getq2(LilitQuest_Shaabty);
+ setq2 LilitQuest_Shaabty, .@q2+1;
+ if (.@q1 == 1) {
+ if (! (.@q2+1) % 10)
+ dispbottom l("@@ @@ killed.", .@q2+1, getmonsterlink(MountainSnake));
+ }
+ fix_mobkill(MountainSnake);
+ end;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 5;
+ end;
+}
diff --git a/npc/018-5-4/_import.txt b/npc/018-5-4/_import.txt
new file mode 100644
index 0000000..13cfc00
--- /dev/null
+++ b/npc/018-5-4/_import.txt
@@ -0,0 +1,6 @@
+// Map 018-5-4: Duck Island
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-5-4/_mobs.txt",
+"npc/018-5-4/_warps.txt",
+"npc/018-5-4/elder.txt",
+"npc/018-5-4/mapflags.txt",
diff --git a/npc/018-5-4/_mobs.txt b/npc/018-5-4/_mobs.txt
new file mode 100644
index 0000000..4db4efe
--- /dev/null
+++ b/npc/018-5-4/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-5-4: Duck Island mobs
+018-5-4,39,70,16,8 monster Mana Piou 1155,8,35000,270000
+018-5-4,49,56,12,9 monster Vicious Squirrel 1187,8,35000,120000
+018-5-4,35,29,9,6 monster Piou 1002,6,200000,35000
+018-5-4,46,50,26,30 monster Duck 1029,23,200000,35000
+018-5-4,63,50,7,6 monster Piou 1002,6,200000,35000
+018-5-4,44,58,5,5 monster Forest Piou 1202,4,35000,120000
diff --git a/npc/018-5-4/_warps.txt b/npc/018-5-4/_warps.txt
new file mode 100644
index 0000000..e4997c9
--- /dev/null
+++ b/npc/018-5-4/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-5-4: Duck Island warps
+018-5-4,35,44,0 warp #018-5-4_35_44 0,0,018-5,110,47
diff --git a/npc/018-5-4/elder.txt b/npc/018-5-4/elder.txt
new file mode 100644
index 0000000..d3b0181
--- /dev/null
+++ b/npc/018-5-4/elder.txt
@@ -0,0 +1,421 @@
+// TMW2 Script
+// Author:
+// dangerDuck
+// Description:
+// Duck Elder is a friendly npc.
+// The first stage of the Elder's quest consists of a supply restock
+// Second/third stage of the quest consists of a pirate attack
+// Fourth (last) stage will be the Duck Dungeon, an HH-like training ground for initiates of the Duck Side (WIP)
+// Variables:
+// LilitQuest_PiratesOfSARAH
+
+018-5-4,28,73,0 script Duck Elder NPC_DUCK_ELDER,{
+ function elderQuest;
+ function elderSupplyMenu;
+ function elderSupplyList;
+ function elderSupplyGive;
+ function elderPirateAttack;
+ function elderPirateVictory;
+ function elderPirateDefeat;
+ function elderPirateReward;
+ function elderAbout;
+ function elderAboutSarah;
+ function elderInitiate;
+ function elderClose;
+ .@q=getq(LilitQuest_PiratesOfSARAH);
+ mesn;
+ mesq l("Hello %s. What brings you here?", get_race());
+ next;
+ select
+ rif(.@q == 0, l("I've heard tidings of strange goings-on in this area...")),
+ rif(.@q == 1, l("I'm here to help you restock...")),
+ rif(.@q == 2, l("What did the Council of Elders say? Is there any news of the pirates?")), // FIXME Lv50 players missed this info S:
+ rif(.@q == 3, l("Have the pirates been routed? Will they return?")),
+ rif(.@q == 4, l("I'm here as an Initiate. May I enter Duck Dungeon?")),
+ l("Oh, I'm just exploring. What can you tell me about this island?"),
+ l("I came to enjoy a beautiful day with some ducks!");
+ mes "";
+ switch (@menu) {
+ case 1:
+ elderQuest();
+ break;
+ case 2:
+ elderSupplyMenu();
+ break;
+ case 3:
+ elderPirateAttack();
+ break;
+ case 4:
+ elderPirateReward();
+ break;
+ case 5:
+ elderInitiate();
+ break;
+ case 6:
+ elderAbout();
+ // fallthrough
+ default:
+ elderClose();
+ break;
+ }
+ close;
+
+function elderQuest {
+ if (BaseLevel < 50) {
+ mesn;
+ mesq l("Unfortunately, a mere fledgling like you is not strong enough to help us.");
+ next;
+ elderClose();
+ return;
+ }
+ mesn;
+ mesq l("Your information is correct, %s. Pirates have been plaguing our shores and cutting off our supply lines.", get_race());
+ next;
+ mesn;
+ mesq l("We are in desperate need of food and nesting material, as well as our sacred supply of @@.", getitemlink(CrystallizedMaggot));
+ next;
+ setq LilitQuest_PiratesOfSARAH, 1;
+ elderSupplyList();
+ elderClose();
+ return;
+}
+
+function elderSupplyMenu {
+ do
+ {
+ mesn;
+ mesq l("Did you bring the supplies?");
+ next;
+ select
+ l("Yes, I have them right here."),
+ l("What did you want? I've forgotten."),
+ l("Not yet. I've been... delayed.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ elderSupplyGive();
+ break;
+ case 2:
+ elderSupplyList();
+ break;
+ case 3:
+ elderClose();
+ close;
+ break;
+ }
+ } while (true);
+ return;
+}
+
+function elderSupplyList {
+ mesq "";
+ mesn;
+ mesq l("We need:");
+ mesq l("%d/%d %s", countitem(Moss), 300, getitemlink(Moss));
+ mesq l("%d/%d %s", countitem(RoastedMaggot), 250, getitemlink(RoastedMaggot));
+ mesq l("%d/%d %s", countitem(FishBox), 20, getitemlink(FishBox));
+ mesq l("%d/%d %s", countitem(CrystallizedMaggot), 1, getitemlink(CrystallizedMaggot));
+ next;
+ mesn;
+ mesq l("Of course, we'll find a way to reward you for your efforts.");
+ next;
+ return;
+}
+
+function elderSupplyGive {
+ if (countitem(Moss) < 300 ||
+ countitem(RoastedMaggot) < 250 ||
+ countitem(FishBox) < 20 ||
+ countitem(CrystallizedMaggot) < 1) {
+ mesn;
+ mesq l("This isn't what we requested. Perhaps you should count your items more carefully.");
+ next;
+ mesn;
+ mesq l("If you aren't more careful, we might... accidentally... mistake you for an agent of S.A.R.A.H.");
+ percentheal -99, 0;
+ close;
+ }
+ inventoryplace RubberDucky, 1;
+
+ delitem(Moss, 300);
+ delitem(RoastedMaggot, 250);
+ delitem(FishBox, 20);
+ delitem(CrystallizedMaggot, 1);
+
+ getitem(RubberDucky, 1);
+ getexp(34576, 19226);
+ setq(LilitQuest_PiratesOfSARAH, 2);
+
+ mes "";
+ mesn;
+ mesq l("We appreciate your help. Take this %s as a token of goodwill.", getitemlink(RubberDucky));
+ next;
+ mesn;
+ mesq l("If you're ever in need, you may use it to call upon the aid of the ducks.");
+ next;
+ if (BaseLevel < 75) {
+ mesn;
+ mesq l("Go now, with the blessing of ducks. There may come a time when we require your aid once again, O %s.", get_race());
+ } else {
+ mesn;
+ mesq l("We may require your aid again soon. The tritan pirates are amassing and we fear they are planning a siege of Duck Island. I must speak with the Council of Elders...");
+ }
+ close;
+}
+
+function elderPirateAttack {
+ // Level requirement
+ if (BaseLevel < 75) {
+ mesn;
+ mesq l("The pirates amass for their siege, but they will not attack yet. Return when you are stronger. King DD is working to find a solution.");
+ return;
+ }
+
+ mesn;
+ mesq l("The pirates have been surrounding our island for many sun rises. We expect they will attack any time.");
+ next;
+ mesn;
+ mesq l("The Council of Elders has enlisted ducks of our island into a militia. In addition, the masters of the Duck Side have seen fit to spare %d Duck initiates to assist us.", (BaseLevel/20));
+ next;
+ mesn;
+ mesq l("Please be careful when fighting. A mighty warrior such as yourself can harm their allies with any AoE effects they may use.");
+ next;
+ mesc l("Accept quest?"), 1;
+ if (askyesno() == ASK_NO)
+ return;
+
+ .@mapn$="duck@"+getcharid(0);
+
+ // Build instance if it doesn't exists or has been reallocated
+ if (instanceowner(@duckinst) != getcharid(3)) {
+ @duckinst = instance_create("duck@a"+getcharid(0), getcharid(3), IOT_CHAR);
+ instance_attachmap("018-5-4", @duckinst, false, .@mapn$);
+ // Instance lasts 6 minutes
+ instance_set_timeout(360, 360, @duckinst);
+ instance_init(@duckinst);
+ } else {
+ // Restart instance timer if it already exists
+ instance_set_timeout(360, 360, @duckinst);
+ }
+ getmapxy(.@m$, .@x, .@y, 0);
+ warp .@mapn$, .@x, .@y;
+ //debugmes "Warp successful";
+ //debugmes "Prepare timer, target: %s in %d - aka. %s", .name$, @duckinst, instance_npcname(.name$, @duckinst);
+ addtimer(300, .name$+"::OnBegin");
+ closeclientdialog;
+ close;
+ return;
+}
+
+OnBegin:
+ //debugmes "BEGIN NPC %s, char %s. Map %s", instance_npcname(.name$, @duckinst), strcharinfo(0), getmap();
+ .@n$=instance_npcname(.name$, @duckinst);
+ .@m$=getmap();
+ killmonsterall(getmap());
+
+ @pLvl = BaseLevel;
+ @pirate_killed = 0;
+ @duck_killed = 0;
+ @total_pirates = 0;
+ @total_ducks = 0;
+ setnpcdisplay .@n$, NPC_NO_SPRITE;
+ sleep2(1000);
+ mapannounce(getmap(), "Duck Elder : Here they come...", bc_map);
+ sleep2(1000);
+ mapannounce(getmap(), "Duck Elder : DUCKS TO ARMS! KILL ALL, SHOW NO MERCY!", bc_map);
+ sleep2(1000);
+ mapannounce(getmap(), "##2Victory: Kill all pirates within 5 minutes. Protect the duck fighters.", bc_map);
+ mapannounce(getmap(), "##1Defeat: All ducks are slain.", bc_map);
+
+ // Spawn Monsters
+ // FIXME MIGHT NOT WORK WITH COORDINATES ZERO (for several reasons)
+ // PLEASE PREFER AREAMONSTER
+ monster(.@m$, 0, 0, "Ocean Pirate", OceanPirate, (@pLvl/2), "Duck Elder::OnPirateKilled");
+ @total_pirates+=(@pLvl/2);
+ monster(.@m$, 0, 0, "Pirate Captain", OceanPirate, (@pLvl/15), "Duck Elder::OnPirateKilled"); // FIXME
+ @total_pirates+=(@pLvl/15);
+ monster(.@m$, 0, 0, "Desert Pirate", DesertBandit, (@pLvl/3), "Duck Elder::OnPirateKilled");
+ @total_pirates+=(@pLvl/3);
+ monster(.@m$, 0, 0, "Marsh Pirate", Bandit, (@pLvl/4), "Duck Elder::OnPirateKilled");
+ @total_pirates+=(@pLvl/4);
+ monster(.@m$, 0, 0, "Buccaneer", Sarracenus, (@pLvl/7), "Duck Elder::OnPirateKilled");
+ @total_pirates+=(@pLvl/7);
+ monster(.@m$, 0, 0, "Corsair", RobinBandit, (@pLvl/7), "Duck Elder::OnPirateKilled");
+ @total_pirates+=(@pLvl/7);
+ monster(.@m$, 0, 0, "Pirate Lord", BanditLord, (@pLvl/12), "Duck Elder::OnPirateKilled");
+ @total_pirates+=(@pLvl/12);
+ monster(.@m$, 0, 0, "Pirate Assassin", HoodedAssassin, (@pLvl/25), "Duck Elder::OnPirateKilled");
+ @total_pirates+=(@pLvl/25);
+ debugmes "Pirates of SARAH, \"%s\" - Total: %d (Lv %d)", strcharinfo(0), @total_pirates, @pLvl;
+
+ // Reinforcements
+ // FIXME: We might not want summon() here (summon is immune to AOE)
+ // We probably want bg_monster (blame Jesusalva) or monster w/ alchemy flag
+ for(.@i = 0; .@i < min(10, @pLvl/5); ++.@i) {
+ .@sd=summon("Duck Soldier", Duck, 300000, "Duck Elder::OnDuckKilled");
+ .@bhp=getunitdata(.@sd, UDT_MAXHP);
+ // Abizit makes bonus HP vary (like AdjustSpellpower)
+ .@lvx = .@bhp * (80 + abizit() * rand2(5,10)) / 100;
+ setunitdata(.@sd, UDT_MAXHP, .@lvx);
+ setunitdata(.@sd, UDT_HP, .@lvx);
+ @total_duck++;
+ }
+ for(.@i = 0; .@i < min(5, @pLvl/20); ++.@i) {
+ .@sd=summon("Duck Initiate", EliteDuck, 300000, "Duck Elder::OnDuckKilled");
+ .@bhp=getunitdata(.@sd, UDT_MAXHP);
+ // Abizit makes bonus HP vary (like AdjustSpellpower)
+ .@lvx = .@bhp * (80 + abizit() * rand2(5,10)) / 100;
+ setunitdata(.@sd, UDT_MAXHP, .@lvx);
+ setunitdata(.@sd, UDT_HP, .@lvx);
+ @total_duck++;
+ }
+
+ // Begin timer
+ //initnpctimer();
+ addtimer 300000, "Duck Elder::OnTimerQuit";
+ end;
+
+OnPirateKilled:
+ @pirate_killed++;
+ .@mia=@total_ducks-@duck_killed;
+ if (.@mia < mobcount(getmap(), "Duck Elder::OnDuckKilled"))
+ @duck_killed=@total_ducks-mobcount(getmap(), "Duck Elder::OnDuckKilled");
+ if (@duck_killed >= @total_ducks) {
+ elderPirateDefeat();
+ }
+ if (@pirate_killed >= @total_pirates) {
+ elderPirateVictory();
+ }
+ end;
+
+OnDuckKilled:
+ if (!playerattached())
+ end;
+ @duck_killed++;
+ if (@duck_killed >= @total_ducks) {
+ elderPirateDefeat();
+ }
+ end;
+
+OnTimer300000:
+ elderPirateDefeat();
+ end;
+
+// Do this even work O.o
+OnTimerQuit:
+ elderPirateDefeat();
+ end;
+
+function elderPirateVictory {
+ stopnpctimer();
+ @pirate_killed = 0;
+ @duck_killed = -50; // Set to -50 to make sure defeat doesn't trigger when monsters are killed
+ announce("Duck Elder : Success! The pirates have been thwarted.", bc_self);
+ .@n$=instance_npcname(.name$, @duckinst);
+ setnpcdisplay .@n$, NPC_DUCK_ELDER;
+ setq(LilitQuest_PiratesOfSARAH, 3);
+ getmapxy(.@m$, .@x, .@y, 0);
+ killmonsterall(.@m$);
+ warp "018-5-4", .@x, .@y;
+ sleep2(10);
+ dispbottom l("Duck Elder : Success! The pirates have been thwarted.");
+ end;
+}
+
+function elderPirateDefeat {
+ //stopnpctimer();
+ @pirate_killed = -50; // Set to -50 to make sure victory doesn't trigger when monsters are killed
+ @duck_killed = -50;
+ announce("Duck Elder : We have failed. The pirates will regroup and replenish their fallen. They will strike again, until we are defeated.", bc_self);
+ .@n$=instance_npcname(.name$, @duckinst);
+ setnpcdisplay .@n$, NPC_DUCK_ELDER;
+ getmapxy(.@m$, .@x, .@y, 0);
+ killmonsterall(.@m$);
+ warp "018-5-4", .@x, .@y;
+ sleep2(10);
+ dispbottom l("Duck Elder : We have failed. The pirates will regroup and replenish their fallen. They will strike again, until we are defeated.");
+ end;
+}
+
+function elderPirateReward {
+ mesn;
+ mesq l("We are no longer in danger, thanks to you. The pirates were thoroughly defeated. None survived the battle.");
+ next;
+ mesn;
+ mesq l("The masters of the Duck Side, The Council of Elders, and King DD himself, on behalf of all ducks, thank you for your help. We wouldn't have survived without it.");
+ getexp(458593, 59505);
+ setq(LilitQuest_PiratesOfSARAH, 4);
+ next;
+ mesn;
+ mesq l("The masters have decided you are to be given honorary initiation into the Duck Side. The Duck Side is powerful, much more so than you could possibly understand.");
+ next;
+ mesn;
+ mesq l("You must understand that this honor has never been granted to a non-duck before. You will have access to Duck Dungeon, a training grounds for Initiates.");
+ next;
+ mesn;
+ mesq l("As an honorary member of the Duck Side, know that we are more than we appear. The Moubootaur itself has seen fit to reward us when it awakens. Do not attempt to cross us.");
+ // NOTE: The Moubootaur is "evil"; Therefore, Duck Side is evil too
+ // (This is a de facto standard; A global truth any specie which knows
+ // the Moubootaur Legend is aware of)
+ close;
+ return;
+}
+
+function elderInitiate {
+ mesn;
+ mesq l("We are deliberating. Some do not... approve of your initiation. Leave.");
+ mesc "* "+l("Kolchak and dangerDuck are working to finish Duck Dungeon. Contact them for updates...");
+ return;
+}
+
+function elderAbout {
+ mesn;
+ mesq l("This is Duck Island, the last safe refuge for birds. Ducks tend to be very peaceful, but our young ruler, King DD, has been taken up with the art of war.");
+ next;
+ mesn;
+ mesq l("Unfortunately, he has been corrupted by the terrorist organization calling itself S.A.R.A.H. Hopefully, he will return to the ways of peace and bring prosperity to Duck Island once again.");
+ next;
+ select
+ l("What's S.A.R.A.H.?"),
+ l("Thanks, I think I'll continue exploring.");
+ mes "";
+ if (@menu == 1)
+ elderAboutSarah();
+ close;
+ return;
+}
+
+function elderAboutSarah {
+ mesn;
+ mesq l("As I said, S.A.R.A.H. is a terrorist organization. They are dedicated to wiping out every single duck, worldwide. No duck has ever survived an encounter with a S.A.R.A.H. agent. You would do best to avoid them.");
+ next;
+ mesn;
+ mesq l("I suggest you leave now, %s. If you are even suspected of being a S.A.R.A.H. agent...", get_race());
+ close;
+ return;
+}
+
+function elderClose {
+ mesn;
+ mesq l("Enjoy your time here, %s. And keep your eye out for agents of S.A.R.A.H.", get_race());
+ next;
+ mesn;
+ if (BaseLevel < 50) {
+ mesq l("Perhaps you may be of assistance later...");
+ } else {
+ mesq l("I may have a task for you. Return when you tired of exploring...");
+ }
+ close;
+ return;
+}
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
diff --git a/npc/018-5-4/mapflags.txt b/npc/018-5-4/mapflags.txt
new file mode 100644
index 0000000..dfe81f9
--- /dev/null
+++ b/npc/018-5-4/mapflags.txt
@@ -0,0 +1,2 @@
+018-5-4 mapflag pvp
+018-5-4 mapflag pvp_noguild
diff --git a/npc/018-5-5/_import.txt b/npc/018-5-5/_import.txt
new file mode 100644
index 0000000..bcf2f81
--- /dev/null
+++ b/npc/018-5-5/_import.txt
@@ -0,0 +1,4 @@
+// Map 018-5-5: Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-5-5/_warps.txt",
+"npc/018-5-5/ivanize.txt",
diff --git a/npc/018-5-5/_warps.txt b/npc/018-5-5/_warps.txt
new file mode 100644
index 0000000..b5a5dcc
--- /dev/null
+++ b/npc/018-5-5/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-5-5: Indoors warps
+018-5-5,33,47,0 warp #018-5-5_33_47 1,0,018-5,117,55
diff --git a/npc/018-5-5/ivanize.txt b/npc/018-5-5/ivanize.txt
new file mode 100644
index 0000000..9d8b548
--- /dev/null
+++ b/npc/018-5-5/ivanize.txt
@@ -0,0 +1,99 @@
+// TMW2 scripts.
+// Authors:
+// Indigovox <rui.gravata@hotmail.com>
+// Jesusalva <jesusalva@tmw2.org>
+// Description:
+// Evil Fairy
+
+018-5-5,29,38,0 script Ivanize NPC_FAIRY_C,{
+ function ivanizeBusy;
+ if (strcharinfo(0) == "Manatauro") npctalk3 l("Leave me alone! Stop annoying me!");
+ .@q = getq(LilitQuest_Ivanize);
+ if (BaseLevel < 50) ivanizeBusy();
+ if (.@q == 0) goto L_FirstTime;
+ if (.@q > 0) goto L_Exchange;
+ ivanizeBusy();
+ end;
+
+L_FirstTime:
+ mesn;
+ mesq l("Hello %s.", strcharinfo(0));
+ next;
+ mesn strcharinfo(0);
+ select
+ l("And who are you?"),
+ l("How do you know my name?");
+ mes "";
+ mesn;
+ mesq l("My name is %s. I am an upstanding citizen of this kingdom. Everyone loves me.", .name$);
+ next;
+ mesn;
+ mesq l("Because I am a special nymph.");
+ mes "%%0";
+ next;
+ mesn strcharinfo(0);
+ select
+ l("Hahah, tell me another one!"),
+ l("Let's pretend I believe you.");
+ mes "";
+ mes "%%:";
+ mes "";
+ mesc l("%s, a bit upset, tries to change subjects.", .name$);
+ next;
+ mesn;
+ mesq l("Have you brought me some %s?", getitemlink(SnakeEgg));
+ next;
+ mesn strcharinfo(0);
+ select
+ l("Why you don't tell me?"),
+ l("Wait, I thought you were a nymph!");
+ mes "";
+ mesn;
+ mesq l("I know you have %d %s with you, just haven't said before to be polite.", countitem(SnakeEgg), getitemlink(SnakeEgg));
+ next;
+ mesn;
+ mesq l("I like to eat snake eggs. Lemme do you a proposal: You bring me %d %s, and I'll give you a flask of %s.", .minEggs, getitemlink(SnakeEgg), getitemlink(NymphPoison));
+ next;
+ mesn;
+ mesq l("Just make sure to don't try to poison a guard or something, and don't tell anyone of our little deal. As a proof of our agreement, I'll even give you a freebie, so you can see this is the real deal.");
+ next;
+ mesn;
+ mesq l("Come back when you have the Snake Eggs for me.");
+ getitem NymphPoison, 1;
+ setq LilitQuest_Ivanize, 1;
+ close;
+
+L_Exchange:
+ .@c=countitem(SnakeEgg);
+ .@o=(.@c/.minEggs);
+ if (.@c < .minEggs) ivanizeBusy();
+ mesn;
+ mesq l("Look at this, %s really brought me %d %s.",
+ strcharinfo(0), countitem(SnakeEgg), getitemlink(SnakeEgg));
+ next;
+ mesn strcharinfo(0);
+ select
+ l("I want %d %s!", .@o, getitemname(NymphPoison)),
+ l("I'll see you later.");
+ mes "";
+ if (@menu == 2) close;
+ delitem SnakeEgg, .@o*.minEggs;
+ getitem NymphPoison, .@o;
+ compareandsetq LilitQuest_Ivanize, 1, 2;
+ mesn;
+ mesq l("Here you go; See you later!");
+ close;
+
+function ivanizeBusy {
+ mesn;
+ mesq l("Can't you see I'm busy?");
+ close;
+}
+
+OnInit:
+ .minEggs = 15;
+ .sex=G_FEMALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/018-5-boss/_import.txt b/npc/018-5-boss/_import.txt
new file mode 100644
index 0000000..93f9220
--- /dev/null
+++ b/npc/018-5-boss/_import.txt
@@ -0,0 +1,4 @@
+// Map 018-5-boss: Mountain Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-5-boss/command.txt",
+"npc/018-5-boss/mapflag.txt",
diff --git a/npc/018-5-boss/command.txt b/npc/018-5-boss/command.txt
new file mode 100644
index 0000000..119b14f
--- /dev/null
+++ b/npc/018-5-boss/command.txt
@@ -0,0 +1,60 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Controls the Yetifly Challenge to earn the right to access Lilit
+
+// .@q = LilitQuest_Access
+// 0 - Access not granted
+// q2 - Number of attempts
+// 1 - Access granted
+// 2 - Tree Minigame complete.
+
+// It is always cast with an instance in mind
+018-5-boss,0,0,0 script #YetiFlyChallengeCtrl NPC_HIDDEN,{
+ end;
+
+OnCleanUp:
+ YETIFLY_INSTANCE=0;
+ end;
+
+OnWarn1:
+ instance_announce(YETIFLY_INSTANCE, "On your marks!", 0);
+ addtimer(2000, "#YetiFlyChallengeCtrl::OnWarn2");
+ end;
+
+OnWarn2:
+ instance_announce(YETIFLY_INSTANCE, "READY?!", 0);
+ addtimer(2000, "#YetiFlyChallengeCtrl::OnBegin");
+ end;
+
+OnBegin:
+ instance_announce(YETIFLY_INSTANCE, "START!", 0);
+ @YETIFLY_CYCLE=0;
+ // No event is bound: Slaying the Yetifly is not planned and thus, without effect.
+ // It'll vanish along the instance
+ monster "lilt@"+getcharid(0), 33, 24, l("Yetifly the Mighty"), Yetifly, 1;
+ addtimer(10000, "#YetiFlyChallengeCtrl::OnCycle");
+ end;
+
+OnCycle:
+ if (!(compare(getmap(), "lilt") ) || ispcdead())
+ end;
+ @YETIFLY_CYCLE+=1;
+
+ // Is it over? Were you victorious?
+ if (@YETIFLY_CYCLE >= 6) {
+ setq LilitQuest_Access, 1;
+ getexp BaseLevel*425, JobLevel*190; // Reference: (35,25). Scalable reward.
+ warp "018-5", 97, 70;
+ mesn l("Yetifly the Mighty");
+ mesq l("Not bad... You can now enter Lilit. If you think you can defeat me, climb the tree and meet me at the top!");
+ close;
+ }
+
+ // Resume execution
+ instance_announce(YETIFLY_INSTANCE, l("survive @@ seconds more!", (6-@YETIFLY_CYCLE)*10), 0);
+ addtimer(10000, "#YetiFlyChallengeCtrl::OnCycle");
+ end;
+
+}
diff --git a/npc/018-5-boss/mapflag.txt b/npc/018-5-boss/mapflag.txt
new file mode 100644
index 0000000..918e922
--- /dev/null
+++ b/npc/018-5-boss/mapflag.txt
@@ -0,0 +1,3 @@
+018-5-boss mapflag zone No Tricks
+018-5-0 mapflag nopet
+018-5-1 mapflag nopet
diff --git a/npc/018-5/_import.txt b/npc/018-5/_import.txt
new file mode 100644
index 0000000..f9fc6b3
--- /dev/null
+++ b/npc/018-5/_import.txt
@@ -0,0 +1,9 @@
+// Map 018-5: Lilit Island
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-5/_mobs.txt",
+"npc/018-5/_warps.txt",
+"npc/018-5/soul_menhir.txt",
+"npc/018-5/storage.txt",
+"npc/018-5/teleporter.txt",
+"npc/018-5/town.txt",
+"npc/018-5/tree.txt",
diff --git a/npc/018-5/_mobs.txt b/npc/018-5/_mobs.txt
new file mode 100644
index 0000000..af1cd66
--- /dev/null
+++ b/npc/018-5/_mobs.txt
@@ -0,0 +1,12 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-5: Lilit Island mobs
+018-5,68,87,25,16 monster Water Fairy 1185,8,20000,40000
+018-5,66,84,25,18 monster Grass Snake 1169,8,10000,10000
+018-5,82,88,41,15 monster Wind Fairy 1185,8,40000,20000
+018-5,99,47,22,14 monster Nature Fairy 1186,6,30000,30000
+018-5,58,146,26,12 monster Mountain Snake 1123,6,120000,0,Shaabty::OnKillSnake
+018-5,58,83,18,22 monster Green Dragon 1195,4,60000,0
+018-5,100,52,21,18 monster Squirrel 1055,6,30000,30000
+018-5,102,88,22,14 monster Vanity Pixie 1215,2,320000,0
+018-5,86,96,18,10 monster Nulity Pixie 1218,1,320000,0
+018-5,60,76,15,17 monster Nulity Pixie 1218,1,240000,0
diff --git a/npc/018-5/_warps.txt b/npc/018-5/_warps.txt
new file mode 100644
index 0000000..833d880
--- /dev/null
+++ b/npc/018-5/_warps.txt
@@ -0,0 +1,9 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-5: Lilit Island warps
+018-5,99,82,0 warp #018-5_99_82 0,0,018-5-1,79,67
+018-5,97,68,0 warp #018-5_97_68 0,0,018-5-1,77,53
+018-5,117,56,0 warp #018-5_117_56 0,0,018-5-5,32,45
+018-5,83,48,0 warp #018-5_83_48 0,0,018-5-3,32,46
+018-5,60,146,0 warp #018-5_60_146 0,0,018-5-1,36,98
+018-5,114,54,0 warp #018-5_114_54 0,0,018-5-2,32,46
+018-5,110,46,0 warp #018-5_110_46 0,0,018-5-4,35,43
diff --git a/npc/018-5/soul_menhir.txt b/npc/018-5/soul_menhir.txt
new file mode 100644
index 0000000..37be422
--- /dev/null
+++ b/npc/018-5/soul_menhir.txt
@@ -0,0 +1,30 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Soul Menhir
+
+018-5,111,52,0 script Soul Menhir#lil NPC_SOUL_MOSS,{
+ mesc l("This is a Soul Menhir, but seems more magical than the others.");
+ select
+ l("Look closer."),
+ l("I wanna return home...");
+ mes "";
+ if (@menu == 2) {
+ closeclientdialog;
+ teleporthome();
+ close;
+ }
+ @map$ = "018-5";
+ setarray @Xs, 110, 111, 112;
+ setarray @Ys, 53, 53, 53;
+ @x = 0;
+ @y = 0;
+ callfunc "SoulMenhir";
+ @map$ = "";
+ cleararray @Xs[0], 0, getarraysize(@Xs);
+ cleararray @Ys[0], 0, getarraysize(@Ys);
+ @x = 0;
+ @y = 0;
+ close;
+}
diff --git a/npc/018-5/storage.txt b/npc/018-5/storage.txt
new file mode 100644
index 0000000..cd843b7
--- /dev/null
+++ b/npc/018-5/storage.txt
@@ -0,0 +1,31 @@
+// TMW-2 Script.
+// Author:
+// Jesusalva
+
+018-5,108,44,0 script Storage Fairy NPC_FAIRY_C,{
+ if (getq(LoFQuest_EPISODE) == 7 &&
+ countitem(SnakeSkin)) {
+ mesc l("Deliver the %s to retrieve Miler's memeto?", getitemlink(SnakeSkin)), 1;
+ if (askyesno() == ASK_NO) {
+ clear;
+ } else {
+ inventoryplace DeathPotion, 1;
+ mesn;
+ mesq l("Now, isn't this lovely? I'll turn it into some pants for %s winter.", (season() == WINTER ? l("this") : l("next")));
+ next;
+ delitem SnakeSkin, 1;
+ getitem DeathPotion, 1;
+ setq LoFQuest_EPISODE, 8, 0;
+ mesn;
+ mesq l("Oh, Miler just prepared a %s for you. You can use it... Or give it to Henry in Nivalis Inn, and whisper \"The Shadow Tortuga won the race against the Panthom Lord\".", getitemlink(DeathPotion));
+ close;
+ }
+ }
+ Banker(.name$, "Lilit", 50000);
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 5;
+ end;
+}
diff --git a/npc/018-5/teleporter.txt b/npc/018-5/teleporter.txt
new file mode 100644
index 0000000..8c8d318
--- /dev/null
+++ b/npc/018-5/teleporter.txt
@@ -0,0 +1,23 @@
+// TMW2 Script
+// Authors:
+// Jesusalva
+// Description:
+// Link portals to soul menhirs like the teleporters from old
+// The price is temporary. This feature got in because no ship in Nivalis Port
+// PS. Anise => “Aisen†Anagram
+
+
+018-5,89,45,0 script #WarpGateLilit NPC_NO_SPRITE,1,0,{
+ end;
+
+OnTouch:
+ TeleporterGate(TP_LILIT);
+ close;
+
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
diff --git a/npc/018-5/town.txt b/npc/018-5/town.txt
new file mode 100644
index 0000000..9b99054
--- /dev/null
+++ b/npc/018-5/town.txt
@@ -0,0 +1,174 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Reset LOCATION$ when entering a town
+
+// .@q = LilitQuest_Access
+// 0 - Access not granted
+// 1 - Access granted
+// 2 - Tree Minigame complete.
+
+// This NPC have a 1x1 touch area.
+// If you logout, then relog, and try to fool it by moving - you'll be caught
+// and slided to the right position.
+018-5,97,69,0 script #LocLilit NPC_HIDDEN,1,1,{
+ end;
+
+OnTouch:
+ .@q=getq(LilitQuest_Access);
+ if (!.@q)
+ goto L_AccessDenied;
+ else
+ EnterTown("Lilit");
+ end;
+
+L_AccessDenied:
+ getmapxy(.@m$, .@x, .@y, 0);
+ // Cheater detected (either coming to or from Lilit), deploy countermeasures at once
+ if (.@x != 97 || .@y != 69) {
+ slide 97, 69;
+ atcommand("@jailfor 3mn "+strcharinfo(0));
+ dispbottom l("Cheater detected! You have a three minutes sentence to fulfill, now.");
+ end;
+ }
+ mesn ("???");
+ mesc l("You should not be here...");
+ next;
+ mesn ("???");
+ mesc l("Leave this place now, defiler...");
+ next;
+ mesc l("How will you respond?!"), 1;
+ select
+ l("Step forward"),
+ l("Step backward");
+ mes "";
+
+ // First option is a bad choice, but the only right choice.
+ if (@menu == 1) {
+ mesn ("???");
+ mesc l("DIE, FILTHY @@!", strtoupper(get_race()));
+ movecam rand(-20,20), rand(-20,20);
+ sleep2(60);
+ movecam rand(-20,20), rand(-20,20);
+ sleep2(60);
+ movecam rand(-20,20), rand(-20,20);
+ sleep2(60);
+ restorecam;
+ percentheal -30, -30;
+ next;
+ } else {
+ closeclientdialog;
+ warp "018-5-1", 77, 53;
+ end;
+ }
+
+ mesn ("???");
+ mesc l("Ho... I see you are a tough one...");
+ next;
+ mesn ("???");
+ mesc l("What brings you here, @@?", get_race());
+ next;
+ mesc l("How will you respond?!"), 1;
+ select
+ l("To help fairies"),
+ l("To explore these lands"),
+ l("To collect snake skin"),
+ l("To do quests"),
+ l("To aid those in need"),
+ l("Because I am awesome!"),
+ l("I don't know");
+ mes "";
+ mesn ("???");
+ mesc l("I don't care for your reasons.");
+ next;
+ mesn l("Yetifly the Mighty");
+ mesq l("I am the Yetifly, guardian of butter and fairies.");
+ next;
+ mesn l("Yetifly the Mighty");
+ mesc l("AND YOU ARE NOT WELCOME HERE!!"), 1;
+ movecam rand(-20,20), rand(-20,20);
+ sleep2(60);
+ movecam rand(-20,20), rand(-20,20);
+ sleep2(60);
+ movecam rand(-20,20), rand(-20,20);
+ sleep2(60);
+ movecam rand(-20,20), rand(-20,20);
+ sleep2(60);
+ movecam rand(-20,20), rand(-20,20);
+ sleep2(60);
+ movecam rand(-20,20), rand(-20,20);
+ sleep2(60);
+ restorecam;
+ next;
+ mesn l("Yetifly the Mighty");
+ mesq l("Unless, of course, if you can prove your strength, challenging me to a duel.");
+ next;
+ mesc l("How will you respond?!"), 1;
+ select
+ l("Bring it on!"),
+ l("Nah, I am a chicken.");
+ mes "";
+ if (@menu == 2) {
+ closeclientdialog;
+ if (rand(1,4) == 3)
+ slide 98, 83;
+ else
+ slide 61, 147;
+ dispbottom l("The Yetifly drops you off the cliff. Good job, noob.");
+ percentheal -10, 0;
+ end;
+ }
+ mesn l("Yetifly the Mighty");
+ mesq l("That wouldn't be fair to you, though. So, you don't need to defeat me.");
+ next;
+ mesn l("Yetifly the Mighty");
+ mesq l("So, you just need to survive for one minute, and I'll consider you are good enough.");
+ mesc l("Word of the wise: You can freely challenge the Yetifly later.", 2);
+ if (getskilllv(NV_TRICKDEAD)) mesc l("WARNING: Fake Death skill is disabled on the fight."), 1;
+ next;
+ mesc l("Click \"Next\" to begin the fight."), 1;
+ next;
+ closeclientdialog;
+
+ // Create instance.
+ .@ID=getcharid(0);
+ @MAP_NAME$="lilt@"+str(.@ID); // Max 4 chars for map name
+ .@INSTID = instance_create("lilt@a"+(.@ID), getcharid(3), IOT_CHAR);
+ .@instanceMapName$ = instance_attachmap("018-5-boss", .@INSTID, 0, @MAP_NAME$);
+
+ // Instance already exists, or something went wrong
+ if (.@instanceMapName$ == "") {
+ mesn l("Yetifly the Mighty");
+ mesc l("*put his glasses on*");
+ next;
+ mesn l("Yetifly the Mighty");
+ mesq l("Whaaaaaat, you are that noob from earlier! Vanish! Be gone! Don't bore me!");
+ next;
+ warp "018-5-1", 77, 53;
+ closeclientdialog;
+ close;
+ }
+
+ // Everything went right, create the instance, it expires after 2 minutes
+ instance_set_timeout(120, 120, .@INSTID);
+ instance_init(.@INSTID);
+
+ YETIFLY_INSTANCE=.@INSTID;
+ addtimer(1000, "#YetiFlyChallengeCtrl::OnWarn1");
+ warp @MAP_NAME$, 31, 41;
+ end;
+}
+
+// Double check
+018-5,99,64,0 script #LilitAccCtrl NPC_HIDDEN,1,1,{
+OnTouch:
+ .@q=getq(LilitQuest_Access);
+ if (!.@q) {
+ slide 97, 69;
+ atcommand("@jailfor 3mn "+strcharinfo(0));
+ dispbottom l("Cheater detected! You have a three minutes sentence to fulfill, now.");
+ }
+ end;
+}
+
diff --git a/npc/018-5/tree.txt b/npc/018-5/tree.txt
new file mode 100644
index 0000000..dc240b5
--- /dev/null
+++ b/npc/018-5/tree.txt
@@ -0,0 +1,66 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Lilit's access
+
+018-5,100,52,0 script Great Tree NPC_NO_SPRITE,{
+ function gtLocked;
+ function gtFirstTime;
+ function gtAccessOK;
+
+ .@q = getq(LilitQuest_Access);
+
+ if (JobLevel < 40) gtLocked();
+ switch (.@q) {
+ case 2:
+ gtAccessOK(); break;
+ case 1:
+ gtFirstTime(); break;
+ default:
+ gtLocked();
+ }
+ close;
+
+function gtFirstTime {
+ if (getq(LoFQuest_Fairy) >= 3 &&
+ getq(LilitQuest_Shaabty) >= 4 &&
+ getq(LilitQuest_Ivanize) >= 2) {
+ mesn l("Yetifly the Mighty");
+ mesq l("%s... While you don't have the title of %s nor the flower of fae, nor have anything remotely important on your persona...", strcharinfo(0), b(l("Friend of the Fairies")));
+ next;
+ mesn l("Yetifly the Mighty");
+ mesq l("...I cannot fail to notice your deeds. Very well. Under my own authority, I authorize you to climb this holy tree.");
+ next;
+ mesn l("Yetifly the Mighty");
+ mesq l("We shall be waiting for your arrival.");
+ next;
+ closeclientdialog;
+ gtAccessOK();
+ return;
+ }
+ mesn l("Yetifly the Mighty");
+ mesq l("Your persistence is amusing. However, you're yet to acquire the title of %s.", b(l("Friend of the Fairies")));
+ next;
+ mesn l("Yetifly the Mighty");
+ mesq l("Bring me the proof of your devotion, and I shall arrange you an audience with the Queen.");
+ return;
+}
+
+function gtLocked {
+ mesn;
+ mesq l("The door is locked.");
+ close;
+}
+
+function gtAccessOK {
+ warp "018-7", 52, 33;
+ return;
+}
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
diff --git a/npc/018-6-0/_import.txt b/npc/018-6-0/_import.txt
new file mode 100644
index 0000000..0e2c16f
--- /dev/null
+++ b/npc/018-6-0/_import.txt
@@ -0,0 +1,3 @@
+// Map 018-6-0: Sanctuary - Forgotten Chamber
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-6-0/main.txt",
diff --git a/npc/018-6-0/ctrl b/npc/018-6-0/ctrl
new file mode 100644
index 0000000..898b0fd
--- /dev/null
+++ b/npc/018-6-0/ctrl
@@ -0,0 +1,43 @@
+LoFQuest_Barbara
+q1
+ q3
+
+--------------------------
+0 Quest not assigned
+1 Quest was assigned
+ 0 No cutscene seen
+ 1 The wounded soldier seen
+ 2 The footprints seen
+2 Forgotten Chamber Puzzle is in progress (warp on)
+ 0 No puzzle solved
+ 1 West puzzle solved (&) (west lever)
+ 2 East puzzle solved (&) (east lever)
+ 3 South puzzle unlocked (w/e lever)
+ 4 South puzzle node (unused)
+ 5 South puzzle solved, access to shrine granted
+ &64 West Puzzle in Progress
+ &128 East Puzzle in Progress
+3 Forgotten Shrine has been allowed (warp on / remember to reenable NPCs on resume)
+ Bitwise boss fights:
+ 1, 2, 4, 8, 16, 32, 64, 128, 256 (enable warps as win)
+ → Once the main shrine was reached: set to 511, Mana Stone story
+ & 512 => Boss defeated, cutscene ended, magic apple now visible
+4 Ambush finished, return to elenium mines
+ 0 Magic Apple forgotten
+ 1 Magic Apple taken
+5 Barbara captured
+ 0 Magic Apple forgotten
+ 1 Magic Apple taken
+0 Reward claimed
+
+Field 2: Instance ID
+
+BARBARA_STATE
+0 UNKNOWN
+1 MURDERED
+2 ARRESTED (BENJAMIN NODES)
+3 FORGIVEN (BARBARA NODES)
+4 EXTRA REWARD CLAIMED ON BENJAMIN
+5 EXTRA REWARD CLAIMED ON BARBARA
+
+
diff --git a/npc/018-6-0/main.txt b/npc/018-6-0/main.txt
new file mode 100644
index 0000000..53c544e
--- /dev/null
+++ b/npc/018-6-0/main.txt
@@ -0,0 +1,224 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Controls Forgotten Chamber
+
+// Main Controller for Instanced maps
+018-6-2,0,0,0 script #01862_InstCtrl NPC_HIDDEN,{
+ end;
+
+// Map, x, y, width, height, mob, amount
+function AreaMonsterB {
+ .@m$=getarg(0);
+ .@x1=getarg(1);
+ .@x2=.@x1+getarg(3);
+ .@y1=getarg(2);
+ .@y2=.@y1+getarg(4);
+ .@mi=getarg(5);
+ .@am=getarg(6);
+ areamonster(.@m$, .@x1, .@y1, .@x2, .@y2, strmobinfo(1, .@mi), .@mi, .@am);
+ //, instance_npcname(.name$)+"::OnKill"+.@mi);
+ return;
+}
+
+// Level 40~50 (60 mobs)
+OnLevel1:
+ killmonsterall(getmap());
+ AreaMonsterB(getmap(), 50, 20, 100, 140, Snake, 10);
+ AreaMonsterB(getmap(), 50, 20, 100, 140, BlackSlime, 15);
+ AreaMonsterB(getmap(), 50, 20, 100, 140, AlphaMouboo, 5);
+ AreaMonsterB(getmap(), 50, 20, 100, 140, Wolvern, 5);
+ AreaMonsterB(getmap(), 50, 20, 100, 140, DarkLizard, 15);
+ AreaMonsterB(getmap(), 50, 20, 100, 140, BlackScorpion, 10);
+ end;
+
+// Level 50~60 (55 mobs)
+OnLevel2:
+ killmonsterall(getmap());
+ AreaMonsterB(getmap(), 50, 20, 100, 140, BlackScorpion, 15);
+ AreaMonsterB(getmap(), 50, 20, 100, 140, DustRifle, 5);
+ AreaMonsterB(getmap(), 50, 20, 100, 140, MountainSnake, 10);
+ AreaMonsterB(getmap(), 50, 20, 100, 140, HoodedNinja, 10);
+ AreaMonsterB(getmap(), 50, 20, 100, 140, FallenGuard2, 15);
+ end;
+
+// Level 60~70 (50 mobs) + 10 passive
+OnLevel3:
+ killmonsterall(getmap());
+ AreaMonsterB(getmap(), 50, 20, 100, 140, FallenGuard2, 10);
+ AreaMonsterB(getmap(), 50, 20, 100, 140, WickedMushroom, 20);
+ AreaMonsterB(getmap(), 50, 20, 100, 140, Archant, 20);
+ AreaMonsterB(getmap(), 50, 20, 100, 140, Crafty, 10);
+ end;
+
+// Level 60~100 (37 mobs)
+OnLevel4:
+ killmonsterall(getmap());
+ AreaMonsterB(getmap(), 50, 20, 100, 140, Archant, 5);
+ AreaMonsterB(getmap(), 50, 20, 100, 140, Forain, 15);
+ AreaMonsterB(getmap(), 50, 20, 100, 140, GreenDragon, 7);
+ AreaMonsterB(getmap(), 50, 20, 100, 140, Terranite, 5);
+ AreaMonsterB(getmap(), 50, 20, 100, 140, GoboBear, 5);
+ end;
+}
+
+/////////////////////////////
+018-6-0,90,67,0 script #ToForgottenShrine NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("It looks dangerous.");
+ end;
+
+OnTouch:
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ if (.@q < 2 || (.@q2 == 2 && .@q3 != 7))
+ Exception("ERROR, YOU SHOULD NOT BEEN SEEING THIS. 018-6-1.TFC.INVALID", RB_DEFAULT|RB_ISFATAL);
+ // Make the speech
+ if (.@q == 2) {
+ setq1 LoFQuest_Barbara, 3;
+ setq3 LoFQuest_Barbara, 0;
+ }
+
+ // Execute the warp (randomly)
+ if (any(true,false))
+ warp BarbaraInstCheck(3), 31, 151;
+ else
+ warp BarbaraInstCheck(3), 145, 26;
+ end;
+
+
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+/////////////////////////////
+018-6-0,90,90,0 script #FromEleniumMines NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("It should bring me back.");
+ end;
+
+OnTouch:
+ .@q=getq(LoFQuest_Barbara);
+ if (.@q < 10) {
+ warp BarbaraInstCheck(1), 83, 28;
+ //warp BarbaraInstCheck(0), 90+any(-1, 1), 90+any(-1,1);
+ } else {
+ warp "018-6-1", 83, 28;
+ }
+ .alwaysVisible=true;
+ end;
+}
+
+
+
+
+
+/////////////////////////////
+018-6-0,90,113,0 script #ToSouthHall NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("It looks dangerous.");
+ end;
+
+OnTouch:
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ if (.@q == 2 && .@q3 == 3) {
+ addtimer(100, "#01862_InstCtrl::OnLevel3");
+ enablenpc instance_npcname("#FromWestHall", .@q2);
+ enablenpc instance_npcname("#FromEastHall", .@q2);
+ warp BarbaraInstCheck(2), 90, 32;
+ //warp BarbaraInstCheck(0), 90+any(-1, 1), 90+any(-1,1);
+ } else {
+ dispbottom l("I already visited this warp.");
+ }
+ end;
+
+
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+/////////////////////////////
+018-6-0,67,90,0 script #ToWestHall NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("It looks dangerous.");
+ end;
+
+OnTouch:
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ if (.@q != 2) {
+ dispbottom l("I already visited this warp.");
+ end;
+ }
+
+ // Check if quest must begin
+ if (!(.@q3 & 1)) {
+ // Monster control
+ if (.@q3 & 2)
+ addtimer(100, "#01862_InstCtrl::OnLevel2");
+ else
+ addtimer(100, "#01862_InstCtrl::OnLevel1");
+ // Mark the quest in progress as WEST HALL, and warp
+ setq3 LoFQuest_Barbara, .@q3|64;
+ enablenpc instance_npcname("#FromSouthHall", .@q2);
+ warp BarbaraInstCheck(2), 70, 150;
+ } else {
+ dispbottom l("I already visited this warp.");
+ }
+ end;
+
+
+OnInit:
+ .alwaysVisible=true;
+ disablenpc .name$;
+ end;
+}
+
+
+/////////////////////////////
+018-6-0,113,90,0 script #ToEastHall NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("It looks dangerous.");
+ end;
+
+OnTouch:
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ if (.@q != 2) {
+ dispbottom l("I already visited this warp.");
+ end;
+ }
+
+ // Check if quest must begin
+ if (!(.@q3 & 2)) {
+ // Monster control
+ if (.@q3 & 1)
+ addtimer(100, "#01862_InstCtrl::OnLevel2");
+ else
+ addtimer(100, "#01862_InstCtrl::OnLevel1");
+ // Mark the quest in progress as EAST HALL, and warp
+ setq3 LoFQuest_Barbara, .@q3|128;
+ enablenpc instance_npcname("#FromSouthHall", .@q2);
+ warp BarbaraInstCheck(2), 103, 156;
+ } else {
+ dispbottom l("I already visited this warp.");
+ }
+ end;
+
+
+OnInit:
+ .alwaysVisible=true;
+ disablenpc .name$;
+ end;
+}
+
+
diff --git a/npc/018-6-1/_import.txt b/npc/018-6-1/_import.txt
new file mode 100644
index 0000000..2770c1a
--- /dev/null
+++ b/npc/018-6-1/_import.txt
@@ -0,0 +1,5 @@
+// Map 018-6-1: Elenium Mines
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-6-1/_mobs.txt",
+"npc/018-6-1/_warps.txt",
+"npc/018-6-1/main.txt",
diff --git a/npc/018-6-1/_mobs.txt b/npc/018-6-1/_mobs.txt
new file mode 100644
index 0000000..de822a9
--- /dev/null
+++ b/npc/018-6-1/_mobs.txt
@@ -0,0 +1,18 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-6-1: Elenium Mines mobs
+018-6-1,40,49,7,8 monster Big Elenium Bif 1228,5,450000,45000
+018-6-1,95,51,7,8 monster Big Elenium Bif 1228,5,450000,45000
+018-6-1,145,83,6,5 monster Medium Elenium Bif 1227,5,400000,45000
+018-6-1,62,86,6,5 monster Medium Elenium Bif 1227,5,400000,45000
+018-6-1,65,130,6,5 monster Medium Elenium Bif 1227,5,400000,45000
+018-6-1,125,158,6,5 monster Small Elenium Bif 1226,4,300000,45000
+018-6-1,129,183,6,5 monster Small Elenium Bif 1226,4,300000,45000
+018-6-1,34,181,5,5 monster Small Elenium Bif 1226,4,300000,45000
+018-6-1,80,172,54,25 monster Black Slime 1178,16,30000,15000
+018-6-1,89,167,54,25 monster Dark Lizard 1051,8,30000,15000
+018-6-1,96,103,56,29 monster Black Scorpion 1074,17,30000,15000
+018-6-1,101,105,54,25 monster Mountain Snake 1123,9,30000,15000
+018-6-1,70,45,44,25 monster Wicked Mushroom 1176,14,30000,15000
+018-6-1,68,45,31,21 monster Archant 1026,7,30000,15000
+018-6-1,39,51,8,6 monster Mountain Snake 1123,1,30000,15000
+018-6-1,92,53,8,6 monster Mountain Snake 1123,1,30000,15000
diff --git a/npc/018-6-1/_warps.txt b/npc/018-6-1/_warps.txt
new file mode 100644
index 0000000..dda3368
--- /dev/null
+++ b/npc/018-6-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-6-1: Elenium Mines warps
+018-6-1,80,200,0 warp #018-6-1_80_200 0,0,017-1,32,45
diff --git a/npc/018-6-1/main.txt b/npc/018-6-1/main.txt
new file mode 100644
index 0000000..953804e
--- /dev/null
+++ b/npc/018-6-1/main.txt
@@ -0,0 +1,480 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Controls Elenium Mines, specially the instances
+
+// Main Controller for Instanced maps
+018-6-1,0,0,0 script #01861_InstCtrl NPC_HIDDEN,{
+ end;
+
+// Map, x, y, width, height, mob, amount
+function AreaMonsterB {
+ .@m$=getarg(0);
+ .@x1=getarg(1);
+ .@x2=.@x1+getarg(3);
+ .@y1=getarg(2);
+ .@y2=.@y1+getarg(4);
+ .@mi=getarg(5);
+ .@am=getarg(6);
+ areamonster(.@m$, .@x1, .@y1, .@x2, .@y2, strmobinfo(1, .@mi), .@mi, .@am, instance_npcname(.name$)+"::OnKill"+.@mi);
+ return;
+}
+
+// (var, value)
+function SetIfVoid {
+ if (!getarg(0))
+ return getarg(1);
+ return 0;
+}
+
+// Bifs won't respawn
+OnKill1226:
+OnKill1227:
+OnKill1228:
+ end;
+
+// Others: Wait 30 seconds and respawn
+OnKill1178:
+ .@mi=SetIfVoid(.@mi, 1178);
+OnKill1051:
+ .@mi=SetIfVoid(.@mi, 1051);
+OnKill1074:
+ .@mi=SetIfVoid(.@mi, 1074);
+OnKill1123:
+ .@mi=SetIfVoid(.@mi, 1123);
+OnKill1176:
+ .@mi=SetIfVoid(.@mi, 1176);
+OnKill1026:
+ .@mi=SetIfVoid(.@mi, 1026);
+
+ // Common utils
+ /*
+ // Respawn monster after 30s
+ getmapxy(.@m$, .@x, .@y, 0);
+ sleep(30000);
+ AreaMonsterB(.@m$, .@x-2, .@y-2, 4, 4, .@mi, 1);
+ */
+ end;
+
+OnInstanceInit:
+ // Generate map ID
+ getmapxy(.@m$, .@x, .@y, UNITTYPE_NPC);
+
+ // Bif monsters
+ AreaMonsterB(.@m$, 40, 49, 7, 8, BigEleniumBif, 5);
+ AreaMonsterB(.@m$, 95, 51, 7, 8, BigEleniumBif, 5);
+ AreaMonsterB(.@m$, 145, 83, 6, 5, EleniumBif, 5);
+ AreaMonsterB(.@m$, 62, 86, 6, 5, EleniumBif, 5);
+ AreaMonsterB(.@m$, 65, 130, 6, 5, EleniumBif, 5);
+ AreaMonsterB(.@m$, 125, 158, 6, 5, SmallEleniumBif, 4);
+ AreaMonsterB(.@m$, 129, 183, 6, 5, SmallEleniumBif, 4);
+ AreaMonsterB(.@m$, 34, 181, 5, 5, SmallEleniumBif, 4);
+
+ // Common Monsters
+ AreaMonsterB(.@m$, 80, 172, 54, 25, BlackSlime, 16);
+ AreaMonsterB(.@m$, 89, 167, 54, 25, DarkLizard, 8);
+ AreaMonsterB(.@m$, 96, 103, 56, 29, BlackScorpion, 17);
+ AreaMonsterB(.@m$, 101, 105, 54, 25, MountainSnake, 9);
+ AreaMonsterB(.@m$, 70, 45, 44, 25, WickedMushroom, 14);
+ AreaMonsterB(.@m$, 68, 45, 31, 21, Archant, 7);
+ end;
+
+}
+/////////////////////////////
+018-6-1,83,26,0 script #ToForgottenChamber NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("It looks dangerous.");
+ end;
+
+OnTouch:
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ // Skipped cutscenes, show you the EXIT
+ if (.@q == 1 && .@q3 != 1)
+ cwarp "017-1", 32, 45;
+
+ if (.@q >= 1) {
+ warp BarbaraInstCheck(0), 90, 91;
+ // Complete the first arc if possible
+ if (.@q == 1) {
+ setnpcdialogtitle l("Forgotten Chamber");
+ mesn l("Forgotten Chamber");
+ mesq l("You see yourself in a strange chamber. Strange drawings litter the walls.");
+ next;
+ mesn l("Forgotten Chamber");
+ mesq l("You can see in distance two portals working, and two portals offline.");
+ next;
+ mesn l("Forgotten Chamber");
+ mesq l("It seems to be a puzzle, you can only imagine what needs to be done in order to enable the right portals.");
+ next;
+ setq1 LoFQuest_Barbara, 2;
+ setq3 LoFQuest_Barbara, 0;
+ closeclientdialog;
+ }
+ // Update M0 NPCs based on quest state
+ if (.@q > 2)
+ enablenpc instance_npcname("#ToForgottenShrine", .@q2);
+ if (.@q == 2) {
+ // Note: state 64 and 128 are temporary and must be removed
+ if (.@q3 & 64)
+ setq3 LoFQuest_Barbara, .@q3^64;
+ // Safety update
+ .@q3=getq3(LoFQuest_Barbara);
+
+ if (.@q3 & 128)
+ setq3 LoFQuest_Barbara, .@q3^128;
+ // Safety update
+ .@q3=getq3(LoFQuest_Barbara);
+
+ if (.@q3 == 5)
+ enablenpc instance_npcname("#ToForgottenShrine", .@q2);
+ if (.@q3 == 3)
+ enablenpc instance_npcname("#ToSouthHall", .@q2);
+ }
+
+ } else {
+ Exception("ERROR, YOU SHOULD NOT BEEN SEEING THIS. 018-6-1.TFC");
+ }
+ end;
+
+OnInit:
+ disablenpc .name$;
+ end;
+
+}
+
+///////////////////////////// Minievents
+018-6-1,128,131,0 script Wounded Soldier#01861 NPC_GUARD_DEAD,{
+ //npctalk3 l("Please find her and don't worry with me! And be careful!");
+ npctalk3 l("*scream in pain*");
+ close;
+
+OnMain:
+ setpcblock(PCBLOCK_HARD, true);
+ mesc l("STORY MODE ENABLED. Monsters won't attack you, so you can read without worries."), 1;
+ next;
+ showavatar NPC_GUARD_DEAD;
+ mesn l("Wounded Soldier");
+ mesq l("Hey, you! Are you here on Kenton's orders?!");
+ next;
+ setnpcdialogtitle l("Benjamin, Wounded Soldier");
+ mesn l("Benjamin, Wounded Soldier");
+ mesq l("My name is Benjamin, and I was in charge of an incursion here to capture Barbara.");
+ next;
+ mesn l("Benjamin, Wounded Soldier");
+ mesq l("My unit, however, was attacked! %s snuck up on us!", b(l("An assassin")));
+ mesc l("You help Benjamin in getting up.");
+ next;
+ mesn l("Benjamin, Wounded Soldier");
+ mesq l("I hope my men are safe, that was yesterday. I am barely alive.");
+ mesc l("You know what is worse? THIS WHOLE CAVE HAVE DEATH PENALTY ON!!!"), 1;
+ next;
+ mesn l("Benjamin, Wounded Soldier");
+ mesq l("I shall report to Kenton. I now entrust this quest in your hands!");
+ next;
+ mesn l("Benjamin, Wounded Soldier");
+ mesq l("And please, bring those criminals to justice! Barbara and the Assassin!");
+ next;
+ mesc l("With a wave, Benjamin returns to report Kenton about the outcome.");
+ setq3 LoFQuest_Barbara, 1;
+ disablenpc instance_npcname(.name$); // NPC will now go to rest
+ setpcblock(PCBLOCK_HARD, false);
+ showavatar;
+ close;
+
+OnInit:
+ .sex=G_MALE;
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ if ($@GM_OVERRIDE) setnpcdisplay instance_npcname(.name$), NPC_WOUNDEDSOLDIER;
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+// Event trigger
+018-6-1,121,132,0 script #01861TriggerWS1 NPC_HIDDEN, 0, 10,{
+ end;
+OnTouch:
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ if (.@q == 1 && .@q3 == 0) {
+ enablenpc instance_npcname("Wounded Soldier#01861", .@q2);
+ addtimer2(500, instance_npcname("Wounded Soldier#01861", .@q2)+"::OnMain");
+ }
+ end;
+
+OnInit:
+ disablenpc .name$;
+ end;
+}
+
+///////////////////////////// Minievents
+018-6-1,89,70,0 script Barbara#01861 NPC_INJURIED_GIRL,{
+ //npctalk3 l("Please find her and don't worry with me! And be careful!");
+ npctalk3 l("*scream in pain*");
+ close;
+
+OnMain:
+ slide 84, 71; // Safety
+ showavatar NPC_INJURIED_GIRL; // this is handled by avatars.xml
+
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ sleep2(50);
+
+ // Barbara was taken hostage or murdered - save this data
+ @evil=0; // Temporary variable to show the murder option or not
+ setnpcdialogtitle l("Wounded Girl");
+ mesn l("Wounded Girl");
+ mesq l("...");
+ next;
+ mesn l("Wounded Girl");
+ mesq l("...I guess I can't hide anymore...");
+ next;
+ sshake(rand2(3,5), false);
+ mesn l("Wounded Girl");
+ mesq l("Ah!");
+ next;
+ setnpcdialogtitle l("Barbara, Wounded Girl");
+ mesn l("Barbara, Wounded Girl");
+ mesq l("Sorry, I haven't seen you. My name is Barbara.");
+ next;
+ select
+ l("My name is ")+strcharinfo(0),
+ l("I'm here to arrest you.");
+ mes "";
+ if (@menu == 1) {
+ mesn l("Barbara, Wounded Girl");
+ mesq l("Pleased to meet you. What brings you down here?");
+ next;
+ mesn strcharinfo(0);
+ mesq l("I'm here to arrest a criminal.");
+ next;
+ } else {
+ @evil+=1;
+ }
+ mesn l("Barbara, Wounded Girl");
+ mesq l("Please spare me. I'm gravely wounded. I'm innocent, I swear!");
+ next;
+ select
+ l("Why should I spare you?"),
+ l("Where is the item you've stolen?");
+ mes "";
+ mesn l("Barbara, Wounded Girl");
+ mesq l("I... I confess. I did steal an apple. I was hungry! I am very poor.");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("My family died when I was just a little girl... I have been trying to survive...");
+ next;
+ select
+ l("Cut the chat short and go straight to the point!"),
+ l("I'm listening, but don't hope me to buy your story.");
+ mes "";
+ if (@menu == 2) {
+ mesn l("Barbara, Wounded Girl");
+ mesq l("You know, if you're poor, you can't get too close to the Noble district.");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("They left me no inheritance, either. Even surviving has been a struggle. I'm not strong enough to kill the living potatoes for @@.", getitemlink(Potatoz));
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("The monsters here are too strong, and as I said before, I can't get close to the Transcendence Portal nor to get training.");
+ next;
+ select
+ l("I'm not here to listen stories, I need you to return what you've stole.");
+ } else {
+ @evil+=1;
+ }
+ mesn l("Barbara, Wounded Girl");
+ mesq l("I can't give you the Apple I've stole. Because, I was stolen first!");
+ next;
+ select
+ l("I don't believe you."),
+ l("Let's say I believe you. Who stole you? Benjamin?");
+ mes "";
+ if (@menu == 1) {
+ mesn l("Barbara, Wounded Girl");
+ mesq l("But- But you have to! It is the ")+b(l("truth"))+"!";
+ next;
+ select
+ l("And whom do you claim to be the thief?"),
+ rif(@evil, l("[Kill her]")),
+ l("Barbara. You're under arrest by Kenton's orders. Please surrend peacefully.");
+ mes "";
+ @evil+=1;
+ switch (@menu) {
+ case 2:
+ mesn l("Barbara, Wounded Girl");
+ mesq l("OH MY, PLEASE DON'T!");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("I NEVER TOUCHED THE SOUL MENHIR! I SWEAR YOU, I'M INNOCENT! PLEASE HAVE MERCY!!");
+ next;
+ mesc l("Really kill Barbara?"), 1;
+ mesc l("WARNING: THIS ACTION IS IRREVERSIBLE."), 1;
+ if (askyesno() == ASK_YES) {
+ mes "";
+ mesc l("She falls in a single blow. You'll attribute her death to the Mysterious Assassin.");
+ BARBARA_STATE=1;
+ setq1 LoFQuest_Barbara, 5;
+ disablenpc instance_npcname(.name$); // NPC will now go to rest
+ close;
+ } else {
+ @evil=false;
+ mesn l("Barbara, Wounded Girl");
+ mesc l("*sigh*");
+ mesq l("Thank you...");
+ next;
+ }
+ break;
+ case 3:
+ mesn l("Barbara, Wounded Girl");
+ mesq l("...I have no other choice, do I?");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("But be warned, I don't have the Apple with me. It must be further in.");
+ // The quest is not over yet - do not set BARBARA_STATE
+ setq1 LoFQuest_Barbara, 5;
+ disablenpc instance_npcname(.name$); // NPC will now go to rest
+ close;
+ break;
+ }
+ } else {
+ mesn l("Barbara, Wounded Girl");
+ mesq l("Oh no, Benjamin is a city guard, he would never do that. I hope.");
+ next;
+ }
+L_MainStory:
+ mesn l("Barbara, Wounded Girl");
+ mesq l("A hooded man attacked me, and left me in this state.");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("The hooded man was about to deliver me a final blow, but then he saw the Apple I've stole...");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("...And for some reason he took the apple and went further in the caves.");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("Maybe if you go back the way you're coming, you find him...");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("By the way, I can't say for sure it was a man. He smelled like onions, and his face was shinning.");
+ next;
+ // FIXME: Should she be so blunt?
+ mesn l("Barbara, Wounded Girl");
+ mesq l("I'm only assuming it was a man because the lack of boobs.");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("So... I'm at your hands now... What will you do with me?");
+ next;
+ select
+ l("Listen to her story again."),
+ rif(@evil, l("[Kill her]")),
+ l("You're under arrest. I have to bring you back to Kenton."),
+ l("I have some healing items with me, we should tend your wounds first.");
+ mes "";
+ switch (@menu) {
+ // Murder
+ case 2:
+ mesn l("Barbara, Wounded Girl");
+ mesq l("OH MY, PLEASE DON'T!");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("I NEVER TOUCHED THE SOUL MENHIR! I SWEAR YOU, I'M INNOCENT! PLEASE HAVE MERCY!!");
+ next;
+ mesc l("Really kill Barbara?"), 1;
+ mesc l("WARNING: THIS ACTION IS IRREVERSIBLE."), 1;
+ if (askyesno() == ASK_YES) {
+ mes "";
+ mesc l("She falls in a single blow. You'll attribute her death to the Mysterious Assassin.");
+ BARBARA_STATE=1;
+ setq1 LoFQuest_Barbara, 5;
+ disablenpc instance_npcname(.name$); // NPC will now go to rest
+ next;
+ closeclientdialog;
+ dispbottom l("You see a fruit on her body. You take it.");
+ getitembound MysteriousFruit, 1, 4;
+ close;
+ } else {
+ @evil=false;
+ mesn l("Barbara, Wounded Girl");
+ mesc l("*sigh*");
+ mesq l("Thank you...");
+ next;
+ }
+ // Repeat
+ case 1:
+ goto L_MainStory;
+ break;
+ // Healing
+ case 4:
+ mesn l("Barbara, Wounded Girl");
+ mesq l("I'm afraid my wounds are too critical. I'm bleeding. I was cursed. And I can't even move.");
+ next;
+ if (countitem(ElixirOfLife)) {
+ mesc l("You have an @@ - Should you give her that?", getitemlink(ElixirOfLife));
+ if (askyesno() == ASK_YES) {
+ mes "";
+ mesn l("Barbara, Wounded Girl");
+ mesq l("It's true enough an @@ could heal even a dead tree, and would dispel almost every status ailment I could have.", getitemlink(ElixirOfLife));
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("But my case requires extended treatment. I need to be hospitalized. I'm afraid it is too late for the Elixir to have effect...");
+ next;
+ }
+ }
+ mesn strcharinfo(0);
+ mesq l("...You're right. My medicine cannot heal you.");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesq l("I think the Doctor, on Dimond's Cove could help me, but that means passing by Kenton...");
+ next;
+ // Arrest
+ case 3:
+ mesn l("Barbara, Wounded Girl");
+ mesq l("...I have no other choice, do I?");
+ next;
+ mesn l("Barbara, Wounded Girl");
+ mesc l("*sigh*");
+ mesq l("But be warned, I don't have the Apple with me. It must be further in.");
+ mes "";
+ mesc l("Barbara was apprehended. It would be weird to show her on your inventory, so we won't.");
+ // The quest is not over yet - do not set BARBARA_STATE
+ setq1 LoFQuest_Barbara, 5;
+ disablenpc instance_npcname(.name$); // NPC will now go to rest
+ close;
+ }
+ Exception("Invalid Barbara Dialog State - 0");
+ close;
+
+OnInit:
+ .sex=G_FEMALE;
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+// Event trigger
+018-6-1,84,71,0 script #01861TriggerBB1 NPC_HIDDEN, 0, 10,{
+ end;
+OnTouch:
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ if (.@q == 4) {
+ enablenpc instance_npcname("Barbara#01861", .@q2);
+ addtimer2(500, instance_npcname("Barbara#01861", .@q2)+"::OnMain");
+ }
+ end;
+
+OnInit:
+ disablenpc .name$;
+ end;
+}
+
diff --git a/npc/018-6-2/_import.txt b/npc/018-6-2/_import.txt
new file mode 100644
index 0000000..2291a77
--- /dev/null
+++ b/npc/018-6-2/_import.txt
@@ -0,0 +1,3 @@
+// Map 018-6-2: Forgotten Hall
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-6-2/main.txt",
diff --git a/npc/018-6-2/main.txt b/npc/018-6-2/main.txt
new file mode 100644
index 0000000..0e1ebf7
--- /dev/null
+++ b/npc/018-6-2/main.txt
@@ -0,0 +1,137 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Controls Forgotten Chamber
+
+/////////////////////////////
+018-6-2,90,31,0 script #FromSouthHall NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("It looks dangerous.");
+ end;
+
+OnTouch:
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ if (.@q == 2) {
+ // 1/64 - West Puzzle
+ if ((.@q3 & 64)) {
+ warp BarbaraInstCheck(0), 68, 90;
+ setq3 LoFQuest_Barbara, .@q3|1;
+ .@q3=getq3(LoFQuest_Barbara);
+ setq3 LoFQuest_Barbara, .@q3-64;
+ .@q3=getq3(LoFQuest_Barbara);
+ disablenpc instance_npcname(.name$, .@q2);
+ // Puzzle complete, enable next NPC
+ if (.@q3 == 3)
+ enablenpc instance_npcname("#ToSouthHall", .@q2);
+ end;
+ }
+ // 2/128 - East Puzzle
+ else if ((.@q3 & 128)) {
+ warp BarbaraInstCheck(0), 112, 90;
+ setq3 LoFQuest_Barbara, .@q3|2;
+ .@q3=getq3(LoFQuest_Barbara);
+ setq3 LoFQuest_Barbara, .@q3-128;
+ .@q3=getq3(LoFQuest_Barbara);
+ disablenpc instance_npcname(.name$, .@q2);
+ // Puzzle complete, enable next NPC
+ if (.@q3 == 3)
+ enablenpc instance_npcname("#ToSouthHall", .@q2);
+ end;
+ }
+ // Wut
+ else {
+ Exception("ERROR, YOU SHOULD NOT BEEN SEEING THIS. 018-6-2.FSH", RB_DEFAULT|RB_ISFATAL);
+ }
+ // Active the quest
+ if (.@q3 == 3)
+ enablenpc instance_npcname("#ToSouthHall", .@q2);
+ } else {
+ Exception("ERROR, YOU SHOULD NOT BEEN SEEING THIS. 018-6-2.FSH.MQ");
+ }
+ end;
+
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+
+}
+
+/////////////////////////////
+018-6-2,70,152,0 script #FromWestHall NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("Should I walk on it?");
+ end;
+
+OnTouch:
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ if (.@q != 2)
+ Exception("ERROR, INVALID WARP", RB_DEFAULT|RB_ISFATAL);
+
+ // East hall not yet enabled, we must repeat
+ if (!(.@q3 & 128)) {
+ // Mark the west hall as complete (again)
+ addtimer(100, "#01862_InstCtrl::OnLevel4");
+ setq3 LoFQuest_Barbara, .@q3|64;
+ disablenpc instance_npcname(.name$, .@q2);
+ warp BarbaraInstCheck(2), 90, 32;
+ } else {
+ // Quest is over!
+ setq3 LoFQuest_Barbara, 7;
+ disablenpc instance_npcname(.name$, .@q2);
+ enablenpc instance_npcname("#ToForgottenShrine", .@q2);
+ warp BarbaraInstCheck(0), 90, 112;
+ }
+ end;
+
+
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+/////////////////////////////
+018-6-2,103,156,0 script #FromEastHall NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("Should I walk on it?");
+ end;
+
+OnTouch:
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ if (.@q != 2)
+ Exception("ERROR, INVALID WARP", RB_DEFAULT|RB_ISFATAL);
+
+ // West hall not yet enabled, we must repeat
+ if (!(.@q3 & 64)) {
+ // Mark the east hall as complete (again)
+ addtimer(100, "#01862_InstCtrl::OnLevel4");
+ setq3 LoFQuest_Barbara, .@q3|128;
+ disablenpc instance_npcname(.name$, .@q2);
+ warp BarbaraInstCheck(2), 90, 32;
+ } else {
+ // Quest is over!
+ setq3 LoFQuest_Barbara, 7;
+ disablenpc instance_npcname(.name$, .@q2);
+ enablenpc instance_npcname("#ToForgottenShrine", .@q2);
+ warp BarbaraInstCheck(0), 90, 112;
+ }
+ end;
+
+
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
diff --git a/npc/018-6-3/_import.txt b/npc/018-6-3/_import.txt
new file mode 100644
index 0000000..0d3803e
--- /dev/null
+++ b/npc/018-6-3/_import.txt
@@ -0,0 +1,4 @@
+// Map 018-6-3: Forgotten Shrine
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-6-3/main.txt",
+"npc/018-6-3/wsys.txt",
diff --git a/npc/018-6-3/main.txt b/npc/018-6-3/main.txt
new file mode 100644
index 0000000..f4544a0
--- /dev/null
+++ b/npc/018-6-3/main.txt
@@ -0,0 +1,456 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Controls Forgotten Shrine
+
+018-6-3 mapflag nowarpto
+
+// 01863_RelevanceCheck ( Room ID )
+function script 01863_RelevanceCheck {
+ .@id=getarg(0);
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ if (.@q < 3)
+ Exception("INVALID QUEST STATE, REVCHECK", RB_DEFAULT|RB_ISFATAL);
+ if (.@q != 3)
+ return false;
+ if (.@q3 & .@id)
+ return false;
+ return true;
+}
+
+// Shut down the enabled warps.
+function script 01863_DisableAllWarps {
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ if (.@q < 3)
+ Exception("ERROR, INVALID WARP", RB_DEFAULT|RB_ISFATAL);
+
+ disablenpc instance_npcname("#01863_fromNorthtoOut", .@q2);
+ disablenpc instance_npcname("#01863_fromNorthtoNW", .@q2);
+ disablenpc instance_npcname("#01863_fromNorthtoNE", .@q2);
+ disablenpc instance_npcname("#01863_fromSouthtoOut", .@q2);
+ disablenpc instance_npcname("#01863_fromSouthtoSW", .@q2);
+ disablenpc instance_npcname("#01863_fromSouthtoSE", .@q2);
+ disablenpc instance_npcname("#01863_fromNWtoNorth", .@q2);
+ disablenpc instance_npcname("#01863_fromNWtoNC", .@q2);
+ disablenpc instance_npcname("#01863_fromNWtoSW", .@q2);
+ disablenpc instance_npcname("#01863_fromSWtoSouth", .@q2);
+ disablenpc instance_npcname("#01863_fromSWtoSC", .@q2);
+ disablenpc instance_npcname("#01863_fromSWtoNW", .@q2);
+ disablenpc instance_npcname("#01863_fromNEtoNorth", .@q2);
+ disablenpc instance_npcname("#01863_fromNEtoNC", .@q2);
+ disablenpc instance_npcname("#01863_fromNEtoSE", .@q2);
+ disablenpc instance_npcname("#01863_fromSEtoSouth", .@q2);
+ disablenpc instance_npcname("#01863_fromSEtoSC", .@q2);
+ disablenpc instance_npcname("#01863_fromSEtoNE", .@q2);
+ disablenpc instance_npcname("#01863_fromNCtoNW", .@q2);
+ disablenpc instance_npcname("#01863_fromNCtoNE", .@q2);
+ disablenpc instance_npcname("#01863_fromNCtoCC", .@q2);
+ disablenpc instance_npcname("#01863_fromSCtoSW", .@q2);
+ disablenpc instance_npcname("#01863_fromSCtoSE", .@q2);
+ disablenpc instance_npcname("#01863_fromSCtoCC", .@q2);
+ disablenpc instance_npcname("#01863_fromCCtoNC", .@q2);
+ disablenpc instance_npcname("#01863_fromCCtoSC", .@q2);
+ return;
+}
+
+// Main Controller for Instanced maps
+018-6-3,0,0,0 script #01863_InstCtrl NPC_HIDDEN,{
+ end;
+
+// Map, x1, y1, x2, y2, mob, amount
+function AreaMonsterB {
+ .@m$=getarg(0);
+ .@x1=getarg(1);
+ .@x2=getarg(3);
+ .@y1=getarg(2);
+ .@y2=getarg(4);
+ .@mi=getarg(5);
+ .@am=getarg(6);
+ if (!.@am)
+ return;
+ areamonster(.@m$, .@x1, .@y1, .@x2, .@y2, strmobinfo(1, .@mi), .@mi, .@am);
+ //, instance_npcname(.name$)+"::OnKill"+.@mi);
+ return;
+}
+
+// Map, x1, y1, x2, y2, mob, bossID
+function AreaMonsterBoss {
+ .@m$=getarg(0);
+ .@x1=getarg(1);
+ .@x2=getarg(3);
+ .@y1=getarg(2);
+ .@y2=getarg(4);
+ .@mi=getarg(5);
+ .@id=getarg(6);
+ areamonster(.@m$, .@x1, .@y1, .@x2, .@y2, strmobinfo(1, .@mi), .@mi, 1, instance_npcname(.name$)+"::OnKill"+.@id);
+ return;
+}
+
+// BossRoom ( RoomID, x1, y1, x2, y2, adjustment )
+// Adjustment is for bigger rooms. Defaults to false.
+function BossRoom {
+ .@id=getarg(0);
+ .@x1=getarg(1);
+ .@y1=getarg(2);
+ .@x2=getarg(3);
+ .@y2=getarg(4);
+ .@ad=getarg(5, false);
+ // True: Must spawn boss, False: Allow to use warps
+ if (01863_RelevanceCheck(.@id)) {
+ mapannounce getmap(), l("BOSS FIGHT!"), bc_map|bc_pc;
+ // Spawn a boss. Passive chance: 17%
+ // Removed: HolyPixie, NulityPixie, VanityPixie
+ AreaMonsterBoss(getmap(), .@x1, .@y1, .@x2, .@y2, any(CopperSkullSlime, LavaSkullSlime, BlackSlimeMother, TerraniteProtector, GoboBear, Centaur), .@id);
+
+ // BIG ROOM: 6~12 support units
+ // SMALL ROOM: 5~10 support units
+ AreaMonsterB(getmap(), .@x1, .@y1, .@x2, .@y2, BlackSlime, rand2(2,4)+.@ad);
+ AreaMonsterB(getmap(), .@x1, .@y1, .@x2, .@y2, DarkLizard, rand2(1,2)+.@ad);
+ AreaMonsterB(getmap(), .@x1, .@y1, .@x2, .@y2, BlackScorpion, rand2(1,2));
+ AreaMonsterB(getmap(), .@x1, .@y1, .@x2, .@y2, Archant, rand2(1,2)-.@ad);
+ // Only spawn the fast Hooded Ninja on big rooms
+ if (.@ad) {
+ AreaMonsterB(getmap(), .@x1, .@y1, .@x2, .@y2, HoodedNinja, any(0,0,1));
+ }
+ return false;
+ }
+ return true;
+}
+
+// W - West, C - Center, E - East, N - North, S - South
+OnRoomNorth:
+L_Room1:
+ if (BossRoom(1, 62, 41, 121, 58, true)) {
+ enablenpc instance_npcname("#01863_fromNorthtoNW");
+ enablenpc instance_npcname("#01863_fromNorthtoNE");
+ enablenpc instance_npcname("#01863_fromNorthtoOut");
+ }
+ end;
+
+OnRoomNW:
+L_Room2:
+ if (BossRoom(2, 48, 65, 68, 85)) {
+ enablenpc instance_npcname("#01863_fromNWtoNorth");
+ enablenpc instance_npcname("#01863_fromNWtoNC");
+ enablenpc instance_npcname("#01863_fromNWtoSW");
+ }
+ end;
+
+OnRoomNC:
+L_Room4:
+ if (BossRoom(4, 77, 65, 103, 76)) {
+ enablenpc instance_npcname("#01863_fromNCtoNW");
+ enablenpc instance_npcname("#01863_fromNCtoNE");
+ enablenpc instance_npcname("#01863_fromNCtoCC");
+ }
+ end;
+
+OnRoomNE:
+L_Room8:
+ if (BossRoom(8, 111, 65, 131, 85)) {
+ enablenpc instance_npcname("#01863_fromNEtoNorth");
+ enablenpc instance_npcname("#01863_fromNEtoNC");
+ enablenpc instance_npcname("#01863_fromNEtoSE");
+ }
+ end;
+
+OnRoomSW:
+L_Room16:
+ if (BossRoom(16, 48, 95, 68, 115)) {
+ enablenpc instance_npcname("#01863_fromSWtoSouth");
+ enablenpc instance_npcname("#01863_fromSWtoSC");
+ enablenpc instance_npcname("#01863_fromSWtoNW");
+ }
+ end;
+
+OnRoomSC:
+L_Room32:
+ if (BossRoom(32, 77, 104, 103, 115)) {
+ enablenpc instance_npcname("#01863_fromSCtoSW");
+ enablenpc instance_npcname("#01863_fromSCtoSE");
+ enablenpc instance_npcname("#01863_fromSCtoCC");
+ }
+ end;
+
+OnRoomSE:
+L_Room64:
+ if (BossRoom(64, 111, 95, 131, 115)) {
+ enablenpc instance_npcname("#01863_fromSEtoSouth");
+ enablenpc instance_npcname("#01863_fromSEtoSC");
+ enablenpc instance_npcname("#01863_fromSEtoNE");
+ }
+ end;
+
+OnRoomSouth:
+L_Room128:
+ if (BossRoom(128, 62, 122, 121, 139, true)) {
+ enablenpc instance_npcname("#01863_fromSouthtoSW");
+ enablenpc instance_npcname("#01863_fromSouthtoSE");
+ enablenpc instance_npcname("#01863_fromSouthtoOut");
+ }
+ end;
+
+OnRoomCC:
+ enablenpc instance_npcname("#01863_fromCCtoNC");
+ enablenpc instance_npcname("#01863_fromCCtoSC");
+ end;
+
+OnFinalRoom:
+// Room: 74,83 ~ 106,97
+ .@x1=74;
+ .@y1=83;
+ .@x2=106;
+ .@y2=97;
+ .@id=256;
+ changemusic getmap(), "let_the_battles_begin.ogg";
+ mapannounce getmap(), col(l("FINAL BOSS FIGHT - WATCH OUT!"), 1), bc_map|bc_pc;
+ .@mi=NightDragon;
+ @boss=monster(getmap(), 90, 89, strmobinfo(1, .@mi), .@mi, 1, instance_npcname(.name$)+"::OnKillBoss");
+
+ // Spawn reinforcements based on difficulty
+ AreaMonsterB(getmap(), .@x1, .@y1, .@x2, .@y2, MagicGoblin, (@difficulty_modulus ? 5 : 3));
+ AreaMonsterB(getmap(), .@x1, .@y1, .@x2, .@y2, DeathCat, (@difficulty_modulus ? 3 : 1));
+ end;
+
+// Kill boss will use setq3 and also erase any remaining monster
+// Then it'll cast again the room event to enable the warps.
+OnKill1:
+ .@q3=getq3(LoFQuest_Barbara);
+ setq3 LoFQuest_Barbara, .@q3|1;
+ killmonsterall(getmap());
+ goto L_Room1;
+
+OnKill2:
+ .@q3=getq3(LoFQuest_Barbara);
+ setq3 LoFQuest_Barbara, .@q3|2;
+ killmonsterall(getmap());
+ goto L_Room2;
+
+OnKill4:
+ .@q3=getq3(LoFQuest_Barbara);
+ setq3 LoFQuest_Barbara, .@q3|4;
+ killmonsterall(getmap());
+ goto L_Room4;
+
+OnKill8:
+ .@q3=getq3(LoFQuest_Barbara);
+ setq3 LoFQuest_Barbara, .@q3|8;
+ killmonsterall(getmap());
+ goto L_Room8;
+
+OnKill16:
+ .@q3=getq3(LoFQuest_Barbara);
+ setq3 LoFQuest_Barbara, .@q3|16;
+ killmonsterall(getmap());
+ goto L_Room16;
+
+OnKill32:
+ .@q3=getq3(LoFQuest_Barbara);
+ setq3 LoFQuest_Barbara, .@q3|32;
+ killmonsterall(getmap());
+ goto L_Room32;
+
+OnKill64:
+ .@q3=getq3(LoFQuest_Barbara);
+ setq3 LoFQuest_Barbara, .@q3|64;
+ killmonsterall(getmap());
+ goto L_Room64;
+
+OnKill128:
+ .@q3=getq3(LoFQuest_Barbara);
+ setq3 LoFQuest_Barbara, .@q3|128;
+ killmonsterall(getmap());
+ goto L_Room128;
+
+OnKill256:
+ .@q3=getq3(LoFQuest_Barbara);
+ setq3 LoFQuest_Barbara, .@q3|256;
+ killmonsterall(getmap());
+ end;
+
+OnKillBoss:
+ if (!playerattached()) {
+ enablenpc instance_npcname("Mana Stone#01863");
+ Exception("Could not finish the Boss Fight!");
+ end;
+ }
+ changemusic getmap(), "Misty_Shrine.ogg";
+ enablenpc instance_npcname("???#01863");
+ enablenpc instance_npcname("#01863_fromCCtoNC");
+ enablenpc instance_npcname("#01863_fromCCtoSC");
+ getexp 200000, 10000;
+ unittalk(@boss, l("You are a mere %s, but you may be a hero... Find me again...", get_race()));
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ setq LoFQuest_Barbara, 4, .@q2, 0;
+ makeitem2(HeadHood, 1, 1, 0, 0, BlackDye, 0, 0, 0, getmap(), -1, -1, 3); // ChocolateDye or BrownDye, maybe
+ specialeffect(FX_FANFARE, AREA, getcharid(3));
+ end;
+
+}
+
+/////////////////////////////
+/////////////////////////////
+/////////////////////////////
+// Critical Room
+// NCCC: 90.74 → 90,85
+// SCCC: 90.105 → 90,95
+// Altar: 90,90
+// Room: 74,83 ~ 106,97
+
+018-6-3,90,91,0 script Mana Stone#01863 NPC_MANA_STONE,{
+ mesn;
+ mes l("The mighty Mana Stone does not reacts against you.");
+ mes l("It's")+b(l("small, red, round and shiny."));
+ mes l("If you fell ready, perhaps you should touch it?");
+ mes "";
+ select
+ l("Touch it!"),
+ l("Take it!"),
+ l("Break it!"),
+ l("Leave it alone!");
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesc l("Curiously, you try to touch the Mana Stone.");
+ next;
+ break;
+ case 2:
+ mesc l("Determinate, you move your hand to grab it.");
+ next;
+ break;
+ case 3:
+ mesc l("Are you out of your mind?!");
+ mesc l("We must capture Barbara AND return the stolen item!");
+ mesc l("If you break that, you could never go to the World's Edge!");
+ mesc l("...Assuming you can break a Mana Stone, that is.");
+ next;
+ mesc l("Attempt to break the Mana Stone?"), 1;
+ if (askyesno() == ASK_NO)
+ close;
+ mes "";
+ @difficulty_modulus=true;
+ break;
+ default:
+ close;
+ }
+ mes "";
+ mes ".:: " + l("The Mana Stone") + " ::.";
+ mesq l("Do you think yourself worthy of my power?");
+ next;
+ // Both choices are valid, actually.
+ askyesno();
+ mes ".:: " + l("The Mana Stone") + " ::.";
+ if (@menu == ASK_YES)
+ mesq l("Then prove yourself!");
+ else
+ mesq l("But that's no excuse for cowardice!");
+ next;
+ mes ".:: " + l("The Mana Stone") + " ::.";
+ mesq l("Foolish mortal, who doesn't knows what you are doing!");
+ next;
+ setnpcdisplay instance_npcname("Mana Stone#01863"), NPC_LIGHTBRINGER;
+ setnpcdialogtitle l("The Mana Sword, Lightbringer?");
+ mes ".:: " + l("The Mana Sword") + " ::.";
+ mesq l("I shall decide here and now, if you are worth of living in this world!");
+ next;
+ mes ".:: " + l("The Mana Sword") + " ::.";
+ mesq l("I am the Judge, and I shall make Judgment upon you!");
+ mesc l("WARNING: ")+l("If you die or logout here, the quest will be reset!"), 1;
+ next;
+ 01863_DisableAllWarps();
+ doevent instance_npcname("#01863_InstCtrl")+"::OnFinalRoom";
+ disablenpc instance_npcname(.name$);
+ setq3 LoFQuest_Barbara, 255;
+ close;
+
+// Mana Stone is the initial NPC, not hidden
+OnInit:
+ disablenpc .name$;
+ end;
+}
+
+018-6-3,90,91,0 script ???#01863 NPC_NO_SPRITE,{
+ .@q=getq(LoFQuest_Barbara);
+ .@q2=getq2(LoFQuest_Barbara);
+ .@q3=getq3(LoFQuest_Barbara);
+ if (.@q != 4)
+ Exception("ERROR INVALID APPLE 1863 ST NOT 4", RB_DEFAULT|RB_ISFATAL);
+ if (.@q3)
+ Exception("ERROR INVALID APPLE 1863 Q3 IS VALID", RB_DEFAULT|RB_ISFATAL);
+
+ mesc l("You see a red apple here. It is ")+b(l("small, red, round and shiny."));
+ next;
+ mesc l("Take it?");
+ if (askyesno() == ASK_YES) {
+ inventoryplace MagicApple, 1;
+ getitem MagicApple, 1;
+ setq3 LoFQuest_Barbara, 1;
+ mes "";
+ mesc l("You take the @@. It seems to be the stolen item.", getitemlink(MagicApple));
+ if (@difficulty_modulus) {
+ @difficulty_modulus=false;
+ Zeny+=200;
+ mesc l("You also find @@ GP with it.", 200);
+ }
+ disablenpc instance_npcname(.name$);
+ }
+ close;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,34,148,0 script Book#01863A NPC_NO_SPRITE,{
+ if (!getskilllv(TMW2_ANCIENTLANGUAGES)) {
+ mesn strcharinfo(0);
+ mesc l("It's written in an ancient language, you cannot understand what's written.");
+ mesc l("The symbols at the end of the book look to be warnings, though.");
+ mesc l("I should check if I have more than enough potions and food before proceeding!");
+ mesc l("REMEMBER: FAILURE AT A BOSS FIGHT WILL CAUSE QUEST TO RESET!"), 1;
+ next;
+ mesc l("I am really curious what this shrine is about, though.");
+ close;
+ }
+ mes ".:: " + l("Orbyter Shrine") + " ::.";
+ mes l("This shrine is devoted to those whom shall never come back.");
+ mes l("Deep sorrow and sadness, this is the Forgotten Shrine.");
+ mes "";
+ // TRANSLATORS: IWS = Internal Warp System
+ mes l("To the wanderer: Please avoid entering on the rooms by the internal warp system.");
+ mesc l("Guardians will come to stop you, and to lock down the shrine!"), 1;
+ mes l("In memoriam. May those whom shall never come back find rest in their afterlifes."); // TRANSLATORS: In Memoriam = Latin expression, means "in memory"
+ mes l("May their journey be successful, may their objectives be attained, may the Mana rest in peace.");
+ mes "";
+ mes l("The Mana Guardian,");
+ //mes "MEE6 the Bot";
+ mesc "« "+l("It's too faint to read.")+" »";
+ if (!@warning) {
+ next;
+ @warning=true;
+ mesn strcharinfo(0);
+ mesc l("This shrine seems to be a dangerous place, and nobody should defile it.");
+ mesc l("I should check if I have more than enough potions and food before proceeding!");
+ mesc l("REMEMBER: FAILURE AT A BOSS FIGHT WILL CAUSE QUEST TO RESET!"), 1;
+ }
+ close;
+
+OnInit:
+ .distance=3;
+ end;
+}
+
+018-6-3,142,28,0 duplicate(Book#01863A) Book#01863B NPC_NO_SPRITE
+
+
diff --git a/npc/018-6-3/wsys.txt b/npc/018-6-3/wsys.txt
new file mode 100644
index 0000000..40e8d86
--- /dev/null
+++ b/npc/018-6-3/wsys.txt
@@ -0,0 +1,689 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Warp System Forgotten Shrine (rough duplicates)
+
+////////// Warp System below this file
+018-6-3,86,32,0 script #01863_fromOuttoNorth NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 86, 44;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomNorth";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+}
+
+018-6-3,86,43,0 script #01863_fromNorthtoOut NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 86, 31;
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,64,50,0 script #01863_fromNorthtoNW NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 58, 67;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomNW";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,58,66,0 script #01863_fromNWtoNorth NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 65, 50;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomNorth";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,119,50,0 script #01863_fromNorthtoNE NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 122, 68;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomNE";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,122,67,0 script #01863_fromNEtoNorth NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 118, 50;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomNorth";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,67,75,0 script #01863_fromNWtoNC NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 79, 71;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomNC";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,78,71,0 script #01863_fromNCtoNW NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 66, 75;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomNW";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,57,83,0 script #01863_fromNWtoSW NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 57, 97;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomSW";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,57,96,0 script #01863_fromSWtoNW NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 57, 82;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomNW";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,112,75,0 script #01863_fromNEtoNC NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 101, 70;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomNC";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,102,70,0 script #01863_fromNCtoNE NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 113, 75;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomNE";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,121,84,0 script #01863_fromNEtoSE NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 121, 97;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomSE";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,121,96,0 script #01863_fromSEtoNE NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 121, 83;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomNE";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,57,113,0 script #01863_fromSWtoSouth NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 64, 131;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomSouth";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,63,131,0 script #01863_fromSouthtoSW NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 57, 112;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomSW";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,123,113,0 script #01863_fromSEtoSouth NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 119, 131;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomSouth";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,120,131,0 script #01863_fromSouthtoSE NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 123, 112;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomSE";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,66,106,0 script #01863_fromSWtoSC NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 79, 110;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomSC";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,78,110,0 script #01863_fromSCtoSW NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 65, 106;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomSW";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,112,110,0 script #01863_fromSEtoSC NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 101, 110;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomSC";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,102,110,0 script #01863_fromSCtoSE NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 113, 110;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomSE";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,92,137,0 script #01863_fromSouthtoOut NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 92, 151;
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,92,150,0 script #01863_fromOuttoSouth NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 92, 136;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomSouth";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+}
+
+018-6-3,90,84,0 script #01863_fromCCtoNC NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 90, 73;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomNC";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,90,96,0 script #01863_fromCCtoSC NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 90, 106;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomSC";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,90,74,0 script #01863_fromNCtoCC NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 90, 85;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomCC";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+018-6-3,90,105,0 script #01863_fromSCtoCC NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("I should be prepared before walking on this.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Warp you to next room coordinates
+ slide 90, 95;
+
+ // Execute the next room code and finish
+ doevent instance_npcname("#01863_InstCtrl")+"::OnRoomCC";
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+////////// Leave room
+018-6-3,30,152,0 script #01863_SWLeave NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("This will bring me back to the Hall.");
+ end;
+
+OnTouch:
+ // Disable any other active portal
+ 01863_DisableAllWarps();
+
+ // Lead you outside
+ warp BarbaraInstCheck(0), 90, 68;
+ end;
+
+// NPC must remain hidden.
+OnInit:
+ disablenpc .name$;
+ end;
+}
+
+018-6-3,146,25,0 duplicate(#01863_SWLeave) #01863_NELeave NPC_NO_SPRITE
+
+
diff --git a/npc/018-7-1/_import.txt b/npc/018-7-1/_import.txt
new file mode 100644
index 0000000..cefe635
--- /dev/null
+++ b/npc/018-7-1/_import.txt
@@ -0,0 +1,8 @@
+// Map 018-7-1: Developers' Lair (Lilit Palace)
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-7-1/018-7-1_demure_blackbox.txt",
+"npc/018-7-1/_mobs.txt",
+"npc/018-7-1/_warps.txt",
+"npc/018-7-1/demure.txt",
+"npc/018-7-1/lilit.txt",
+"npc/018-7-1/yetifly.txt",
diff --git a/npc/018-7-1/_mobs.txt b/npc/018-7-1/_mobs.txt
new file mode 100644
index 0000000..9db1b9c
--- /dev/null
+++ b/npc/018-7-1/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-7-1: Developers' Lair (Lilit Palace) mobs
+018-7-1,85,58,9,13 monster Mana Piou 1155,8,35000,270000
+018-7-1,90,67,5,5 monster Forest Piou 1202,4,35000,120000
+018-7-1,90,54,5,7 monster Duck 1029,4,200000,35000
+018-7-1,80,59,4,12 monster Nature Fairy 1186,3,200000,35000
diff --git a/npc/018-7-1/_warps.txt b/npc/018-7-1/_warps.txt
new file mode 100644
index 0000000..eed0ec1
--- /dev/null
+++ b/npc/018-7-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-7-1: Developers' Lair (Lilit Palace) warps
+018-7-1,56,100,0 warp #018-7-1_56_100 0,0,018-7,59,71
diff --git a/npc/018-7-1/demure.txt b/npc/018-7-1/demure.txt
new file mode 100644
index 0000000..5f2001c
--- /dev/null
+++ b/npc/018-7-1/demure.txt
@@ -0,0 +1,220 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Demure is the Queen of Dragons
+
+
+018-7-1,23,20,0 script Demure, Queen of Dragons NPC_DEMURE,{
+ mesn;
+ mesq l("Greetings mortal; I am Demure, Queen of Dragons.");
+ if (BaseLevel < 40) close;
+ next;
+ mesn strcharinfo(0);
+ select
+ l("Thanks. It is my pleasure."),
+ rif($DEMUR_HOLDER$ == "", l("I've heard rumors about a legendary axe.")),
+ l("I want to challenge you.");
+ mes "";
+ if (@menu == 1) { closeclientdialog; close;}
+ if (@menu == 2) {
+ mesn;
+ mesq l("The %s, yes. I have it. It is a legendary weapon, only one of it exist on the world.", getitemlink(DemureAxe));
+ next;
+ if ($GAME_STORYLINE < 3) {
+ mesn;
+ mesq l("But it is still too early to give it away to a %s children.", get_race());
+ close;
+ }
+ mesn;
+ mesq l("I'll give it to someone who challenge me and best me in an impressive manner. If it was easy, someone would already have claimed it.");
+ mesn;
+ mesq l("So, will you challenge me?");
+ next;
+ if (askyesno() == ASK_NO) close;
+ }
+ mesc l("Mode?");
+ menuint
+ l("Solo"), MODE_SOLO,
+ rif(getcharid(1), l("Party")), MODE_PARTY;
+ .@mode = @menuret;
+ if (.@mode == MODE_PARTY) {
+ if (getcharid(1) < 1)
+ kick(getcharid(3), 3);
+ if (strcharinfo(0) != getpartyleader(getcharid(1))) {
+ mesn;
+ mesq l("Hold your horses, %s. You are not the party leader.", strcharinfo(0));
+ close;
+ }
+ }
+ mes "";
+ mesc l("Difficulty?");
+ menuint
+ l("I want to challenge the Yetifly."), 1,
+ l("I want to challenge you."), 2,
+ l("I want to challenge you both."), 3;
+ .@mode2 = @menuret;
+ mes "";
+ mesc l("Monster Density and Boss HP?");
+ menuint
+ l("Meager."), 1,
+ l("Normal."), 2,
+ l("Doubled."), 4,
+ l("Hunter."), 8,
+ l("Ultimate"), 16;
+ .@mode3 = @menuret;
+ mes "";
+ if (.@mode == MODE_SOLO) {
+ .@mapn$="demu@"+getcharid(0);
+ .@inst = instance_create("Demured "+getcharid(0), getcharid(3), IOT_CHAR);
+ } else {
+ .@mapn$="demu@"+getcharid(1);
+ .@inst = instance_create("Demured "+getcharid(1), getcharid(1), IOT_PARTY);
+ }
+ instance_attachmap("018-7-1", .@inst, false, .@mapn$);
+ // Instance lasts 10 minutes + 15s grace time
+ instance_set_timeout(615, 615, .@inst);
+ instance_init(.@inst);
+
+ // Create walls
+ setcells .@mapn$, 75, 66, 75, 67, 1, .@mapn$+"A";
+ setcells .@mapn$, 85, 84, 86, 84, 1, .@mapn$+"B";
+
+ // Adjust the proper monster count to be spawned
+ if (.@mode == MODE_PARTY) {
+ getpartymember(getcharid(1));
+ .@count = max($@partymembercount, 1);
+ } else {
+ .@count = 1;
+ }
+
+ // Setup the boss monsters. Non-exclusive (bitwise)
+ if (.@mode2 & 1) {
+ .@m=monster(.@mapn$, 85, 66, strmobinfo(1, Yetifly), Yetifly, 1, strnpcinfo(NPC_NAME_UNIQUE)+"::OnYeti");
+ .@p=getunitdata(.@m, UDT_MAXHP);
+ setunitdata(.@m, UDT_MAXHP, .@p*.@count*.@mode3);
+ setunitdata(.@m, UDT_HP, .@p*.@count*.@mode3);
+ }
+ if (.@mode2 & 2) {
+ .@m=monster(.@mapn$, 87, 57, strmobinfo(1, DemureFirstForm), DemureFirstForm, 1, strnpcinfo(NPC_NAME_UNIQUE)+"::OnDem1");
+ .@p=getunitdata(.@m, UDT_MAXHP);
+ setunitdata(.@m, UDT_MAXHP, .@p*.@count*.@mode3);
+ setunitdata(.@m, UDT_HP, .@p*.@count*.@mode3);
+ }
+
+ // Setup the reinforcements, in appropriate number and mode
+ for (.@i = 0; .@i < (.@count*.@mode3); .@i++) {
+ .@mob = any(EarthFairy, FireFairy, WaterFairy, WindFairy, PoisonFairy);
+ .@m = areamonster(.@mapn$, 76, 47, 95, 83, strmobinfo(1, .@mob), .@mob, 1);
+ .@p = getunitdata(.@m, UDT_MODE);
+ setunitdata(.@m, UDT_MODE, (.@p | MD_AGGRESSIVE));
+ }
+ for (.@i = 0; .@i < .@count; .@i++) {
+ .@mob = any(EliteDuck, Archant, Wolvern, BlueSlimeMother);
+ areamonster .@mapn$, 76, 47, 95, 83, strmobinfo(1, .@mob), .@mob, any(1,2);
+ }
+
+ // Warp you and/or your party
+ if (.@mode == MODE_SOLO)
+ warp(.@mapn$, 85, 70);
+ else
+ warpparty(.@mapn$, 85, 70, getcharid(1), "018-7-1", true);
+
+ // Begin tracking time and metadata (blackbox needs this)
+ @elapsed = 0;
+ @d_mode1 = .@mode;
+ @d_mode2 = .@mode2;
+ @d_mode3 = .@mode3;
+ @d_count = .@count;
+ addtimer 5000, strnpcinfo(NPC_NAME_UNIQUE)+"::OnBeet";
+ close;
+
+OnBeet:
+ if (!compare(getmap(), "demu@") && !compare(getmap(), "018-7-1")) end;
+ @elapsed += 5;
+ if (@elapsed % 60 < 5)
+ mapannounce(getmap(), l("Time left: %d minutes", 10-(@elapsed/60)), bc_map | bc_pc);
+ if (@elapsed > 600)
+ end;
+ addtimer2 5000, strnpcinfo(NPC_NAME_UNIQUE)+"::OnBeet";
+ end;
+
+// Check victory conditions
+OnYeti:
+ fix_mobkill(Yetifly);
+OnDem2:
+ if (!playerattached()) {
+ consolebug "ERROR - PLAYER NOT ATTACHED, INVALID KILL, CANNOT RESOLVE MAP.";
+ end;
+ }
+ .@m$ = getmap();
+ .@left=0;
+ .@left+=mobcount(.@m$, strnpcinfo(NPC_NAME_UNIQUE)+"::OnYeti");
+ .@left+=mobcount(.@m$, strnpcinfo(NPC_NAME_UNIQUE)+"::OnDem1");
+ .@left+=mobcount(.@m$, strnpcinfo(NPC_NAME_UNIQUE)+"::OnDem2");
+ // You win!
+ if (!.@left) {
+ mapannounce(getmap(), "CONGRATULATIONS - YOU WIN", bc_map | bc_pc);
+ Zeny += rand2(500, 1500)*max(1, @d_mode2);
+ // FIXME: Add a proper reward
+ maptimer2(.@m$, 1000, strnpcinfo(NPC_NAME_UNIQUE)+"::OnBye");
+ 01871_Demure_BlackBox();
+ }
+ end;
+
+OnBye:
+ Zeny += rand2(100, 300)*max(1, @d_mode2);
+ warp "018-7-1", 23, 22;
+ deltimer strnpcinfo(NPC_NAME_UNIQUE)+"::OnBeet";
+ specialeffect(FX_FANFARE, SELF, getcharid(3));
+ end;
+
+// Summon second form (give 5 seconds to players to move)
+// FIXME: @d_* might not be set
+OnDem1:
+ if (!playerattached()) {
+ consolebug "ERROR - PLAYER NOT ATTACHED, INVALID KILL, CANNOT RESOLVE MAP.";
+ end;
+ }
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@n$ = "Demure, Queen of Dragons : ";
+ mapannounce(getmap(), .@n$+"You think you've won...?", bc_map | bc_pc);
+ sleep2(1000);
+ mapannounce(getmap(), .@n$+"That would be lame; After all, did you forget that...", bc_map | bc_pc);
+ sleep2(2000);
+ mapannounce(getmap(), .@n$+"I *am* the Queen of Dragons??", bc_map | bc_pc);
+ sleep2(1000);
+ // Read data, summon dragons...
+ for (.@i = 0; .@i < max(1, @d_count*@d_mode3/2); .@i++) {
+ .@mob = any(EarthFairy, FireFairy, WaterFairy, WindFairy, GreenDragon);
+ .@m = areamonster(.@m$, .@x-10, .@y-10, .@x+10, .@y+10, strmobinfo(1, .@mob), .@mob, 1);
+ .@p = getunitdata(.@m, UDT_MODE);
+ setunitdata(.@m, UDT_MODE, (.@p | MD_AGGRESSIVE));
+ }
+ areamonster(.@m$, .@x-5, .@y-5, .@x+5, .@y+5, strmobinfo(1, GreenDragon), GreenDragon, 1);
+
+ // And finally, change form (ressurect)
+ .@m=monster(.@m$, 87, 57, strmobinfo(1, DemureSecondForm), DemureSecondForm, 1, strnpcinfo(NPC_NAME_UNIQUE)+"::OnDem2");
+ if (@d_count) {
+ .@p=getunitdata(.@m, UDT_MAXHP);
+ // If player is solo'ing, put more ATK and less HP
+ .@hp=.@p*@d_count*@d_mode3;
+ if (@d_mode1 == MODE_SOLO) {
+ .@hp = .@hp * 3 / 5;
+ // Raise ASPD based on difficulty
+ setunitdata(.@m, UDT_ADELAY,
+ getunitdata(.@m, UDT_ADELAY) - (@d_mode3 * 25));
+ }
+ setunitdata(.@m, UDT_MAXHP, .@hp);
+ setunitdata(.@m, UDT_HP, .@hp);
+ }
+ mapannounce(getmap(), .@n$+"I'll leave a 2x2 black square where you used to be!", bc_map | bc_pc);
+ end;
+
+OnInit:
+ .distance = 4;
+ .sex = G_FEMALE;
+ npcsit;
+ end;
+}
+
diff --git a/npc/018-7-1/lilit.txt b/npc/018-7-1/lilit.txt
new file mode 100644
index 0000000..f8623cd
--- /dev/null
+++ b/npc/018-7-1/lilit.txt
@@ -0,0 +1,19 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Lilit is the Queen of Fairies
+// Not Titania nor Oberon? Eh.
+
+
+018-7-1,82,47,0 script Lilit NPC_LILIT,{
+ mesn;
+ mesq l("Greetings, young soul; I am the queen of fairies, Lilit.");
+ close;
+
+OnInit:
+ .distance = 4;
+ .sex = G_FEMALE;
+ end;
+}
+
diff --git a/npc/018-7-1/yetifly.txt b/npc/018-7-1/yetifly.txt
new file mode 100644
index 0000000..5a21de5
--- /dev/null
+++ b/npc/018-7-1/yetifly.txt
@@ -0,0 +1,20 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Yetifly the Mighty
+
+018-7-1,54,78,0 script Yetifly NPC_YETIFLY,{
+ mesn;
+ mesq l("Heh, congratulations making it this far. Once again, allow me to present myself:");
+ next;
+ mesn;
+ mesq l("I am Yetifly the Mighty, guardian of the fae!");
+ close;
+
+OnInit:
+ .distance = 4;
+ .sex = G_MALE;
+ end;
+}
+
diff --git a/npc/018-7/_import.txt b/npc/018-7/_import.txt
new file mode 100644
index 0000000..6b0664e
--- /dev/null
+++ b/npc/018-7/_import.txt
@@ -0,0 +1,5 @@
+// Map 018-7: Lilit - Developers' Sanctuary
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/018-7/_mobs.txt",
+"npc/018-7/_warps.txt",
+"npc/018-7/raify.txt",
diff --git a/npc/018-7/_mobs.txt b/npc/018-7/_mobs.txt
new file mode 100644
index 0000000..f45427e
--- /dev/null
+++ b/npc/018-7/_mobs.txt
@@ -0,0 +1,12 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-7: Lilit - Developers' Sanctuary mobs
+018-7,59,74,14,4 monster Duck 1029,6,200000,35000
+018-7,69,27,8,7 monster Forest Piou 1202,4,35000,120000
+018-7,61,57,44,43 monster Wind Fairy 1185,16,40000,20000
+018-7,34,73,25,34 monster Water Fairy 1185,6,20000,40000
+018-7,85,73,25,34 monster Fire Fairy 1183,6,20000,40000
+018-7,59,40,48,22 monster Earth Fairy 1182,6,20000,40000
+018-7,34,31,14,11 monster Nulity Pixie 1218,1,120000,0
+018-7,81,38,14,11 monster Vanity Pixie 1215,1,120000,0
+018-7,34,86,14,11 monster Holy Pixie 1216,1,120000,0
+018-7,80,80,14,11 monster Shadow Pixie 1217,1,120000,0
diff --git a/npc/018-7/_warps.txt b/npc/018-7/_warps.txt
new file mode 100644
index 0000000..f26f85e
--- /dev/null
+++ b/npc/018-7/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 018-7: Lilit - Developers' Sanctuary warps
+018-7,59,70,0 warp #018-7_59_70 0,0,018-7-1,56,99
+018-7,52,32,0 warp #018-7_52_32 0,0,018-5,100,53
diff --git a/npc/018-7/raify.txt b/npc/018-7/raify.txt
new file mode 100644
index 0000000..332cc26
--- /dev/null
+++ b/npc/018-7/raify.txt
@@ -0,0 +1,143 @@
+// TMW-2 Script.
+// Author:
+// Povo
+// Description:
+// Lime Dye Quest (lvl 40)
+
+018-7,87,34,0 script Raify NPC_FAIRY_A,{
+ .@q = getq(LilitQuest_Raify);
+ if (.@q == 1)
+ goto L_Offer;
+ if (.@q >= 2)
+ goto L_Dye;
+ if (BaseLevel > 39) {
+ speech S_LAST_NEXT,
+ l("Psst."),
+ l("Hey you. Come here...I have a quest for ya."),
+ l("Keep your voice down and just listen."),
+ l("Look, I really hate pious...all of them."),
+ l("I want to get rid of them."),
+ l("However, that is not exactly a popular idea around here. The fae seem more concerned with snakes."),
+ l("That is why I need your help. If you can 'take care of' a bunch of pious and bring me their feathers as proof, I will give you a reward.");
+ goto L_Offer;
+ }
+ speech S_LAST_NEXT,
+ l("Hmm what is it?"),
+ l("I'm sorry but I can't talk right now... I have something on my mind."),
+ l("I said go away!"),
+ l(" It is not like you are strong enough to pick a fight with me so kindly leave before I get mad.");
+ close;
+
+L_Offer:
+ mesn;
+ mesq l("So here is what I am thinking.");
+ next;
+ mesn;
+ mesq l("You bring me proof of completing my 'mission,' along with some water and I can dispose of the evidence by turning them into %s",
+ getitemlink(LimeDye));
+ next;
+ mesn;
+ mesq l("I think that %d %s and %d %s should be enough for now.",
+ 50, getitemlink(ForestPiouFeathers),
+ 50, getitemlink(ManaPiouFeathers));
+ mesq l("I will also need %d %s to make the mixture and %s GP as a fee.",
+ 1, getitemlink(BottleOfWoodlandWater),
+ fnum(2500));
+ compareandsetq LilitQuest_Raify, 0, 1;
+ .@q = getq(LilitQuest_Raify);
+ if (.@q >= 2)
+ goto L_Dye;
+
+L_Menu:
+ next;
+ mesn;
+ mesq l("So what do you say? You in?");
+ next;
+ select
+ l("Uhh...yeah sure...I guess..."),
+ l("Dye? How can you do that without a cauldron?"),
+ l("If I am doing your dirty work, why am I the one paying you?!"),
+ l("Wait...could you repeat that?"),
+ l("Umm..I have another quest to get to. So... umm... I should get going.");
+
+ mes "";
+ switch (@menu) {
+ case 1:
+ setq LilitQuest_Raify, 2;
+ mesn;
+ mesq l("Perfect, I knew you were right person for the job.");
+ mesq l("Come back when you have everything.");
+ close;
+ case 2:
+ mesn;
+ mesq l("Do you really have to ask? I am a fairy...*sigh*");
+ next;
+ mesq l("...wingless humanoids.");
+ break;
+ case 3:
+ mesn;
+ mesq l("Consider it an insurance policy. Besides, %s isn't exactly easy to come by.", getitemlink(LimeDye));
+ break;
+ case 4:
+ mesn;
+ mesq l("I need you to take care of my 'Piou Problem.'");
+ next;
+ goto L_Offer;
+ case 5:
+ goto L_Quit;
+ }
+ goto L_Menu;
+
+L_Dye:
+ mesn;
+ mesq l("So did you take care of my 'Piou Problem?'");
+ mesq l("Did you bring everything?");
+ next;
+ select
+ l("Yes."),
+ l("No."),
+ l("What did you need me to get again?");
+ mes "";
+
+ if (@menu == 2)
+ goto L_Quit;
+
+ if (@menu == 3)
+ goto L_Offer;
+
+L_DyeLoop:
+ if (countitem(BottleOfWoodlandWater) >= 1 &&
+ countitem(ForestPiouFeathers) >= 50 &&
+ countitem(ManaPiouFeathers) >= 50 &&
+ Zeny >= 2500) {
+ inventoryplace LimeDye, 1, EmptyBottle, 1;
+ delitem BottleOfWoodlandWater, 1;
+ delitem ForestPiouFeathers, 50;
+ delitem ManaPiouFeathers, 50;
+ Zeny-=2500;
+ getitem LimeDye, 1;
+ getitem EmptyBottle, 1;
+ if (getq(LilitQuest_Raify) == 2) {
+ setq LilitQuest_Raify, 3;
+ getexp 3500, 0;
+ }
+ mesn;
+ mesq l("Thanks! Here's your dye. Do you want to trade any more?");
+ next;
+ if (askyesno() == ASK_YES)
+ goto L_DyeLoop;
+ } else {
+ mesn;
+ mesq l("Sorry, you don't seem to have everything I need.");
+ }
+ close;
+
+L_Quit:
+ closedialog;
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 5;
+ end;
+}
diff --git a/npc/019-1-1/_import.txt b/npc/019-1-1/_import.txt
new file mode 100644
index 0000000..cb56f2c
--- /dev/null
+++ b/npc/019-1-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 019-1-1: Miller's House
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/019-1-1/_warps.txt",
+"npc/019-1-1/miler.txt",
diff --git a/npc/019-1-1/_warps.txt b/npc/019-1-1/_warps.txt
new file mode 100644
index 0000000..f5764e2
--- /dev/null
+++ b/npc/019-1-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-1-1: Miller's House warps
+019-1-1,33,42,0 warp #019-1-1_33_42 0,0,019-1,84,59
diff --git a/npc/019-1-1/miler.txt b/npc/019-1-1/miler.txt
new file mode 100644
index 0000000..7a294aa
--- /dev/null
+++ b/npc/019-1-1/miler.txt
@@ -0,0 +1,222 @@
+// TMW2/LOF Script.
+// Author:
+// Jesusalva
+// Description:
+// Part from the EPISODE and the Well Quest
+// TODO: Walking NPC, clothes, etc;
+
+019-1-1,41,24,0 script Miler NPC_PLAYER,{
+ .@q=getq(LoFQuest_EPISODE);
+ .@w=getq(NivalisQuest_Well);
+
+ mesn;
+ if (MERC_RANK)
+ mesq l("Hello, @@.", mercrank());
+ else if (THIEF_RANK)
+ mesq l("Hello, @@.", thiefrank());
+ else
+ mesq l("Hello.");
+
+ mes "";
+ menu
+ l("Hello."), -,
+ rif(.@w == 1, l("I need help.")), L_Well,
+ rif(.@q == 3 && countitem(HerbalTea), l("The Doctor sent you some tea.")), L_Doctor,
+ rif(.@q == 5 && countitem(PresentBox), l("I have a present box to you open.")), L_Box,
+ rif(.@q == 4 && BaseLevel >= 50, l("So, could I help you?")), L_Quest,
+ rif(.@q == 6 && !@miler_wait, l("I'm back.")), L_Continue,
+ l("Do you want any monster killed?"), L_GHQ;
+
+ // If not on Cordo quest, Miler will speak about
+ if (!THIEF_RANK && !MERC_RANK)
+ goto L_Rejected;
+
+ close;
+
+// Well Quest Subplot
+L_Well:
+ mes "";
+ mesn;
+ mesq l("What's the problem?");
+ next;
+ select
+ l("Someone fell into the well.");
+ mes "";
+ mesn;
+ mesq l("Ho! I'll help them!");
+ getexp (JobLevel * 111), 0;
+ setq NivalisQuest_Well, 2;
+ close;
+
+// Well Quest Subplot
+L_Doctor:
+ mes "";
+ delitem HerbalTea, 1;
+ getexp 111, 11;
+ setq LoFQuest_EPISODE, 4;
+ mesn;
+ mesq l("Many thanks, the Doctor always know what's best for you."); // you or your health? Are you sure?
+ next;
+ mesn;
+ mesq l("Lemme just fetch a small something for you....");
+ next;
+ mesn;
+ mesq l("Oh dear, oh dear, where could I have possibly left it?!");
+ close;
+
+// Not on Cordo quest
+L_Rejected:
+ /*
+ mesn;
+ mesq l("You cannot help me at all. You lack any skill to do so.");
+ next;
+ */
+ mesn;
+ mesq l("Hey, did you know there are two mouboos which constantly fight against themselves?!");
+ next;
+ mesn;
+ mesq l("One claims to be a constable and teach people to sell high and buy low.");
+ mesq l("The other one claims to be a dangerous bandit and to teach how to steal from monsters!");
+ next;
+ mesn;
+ mesq l("Well, I heard you needed to have some Job levels to sign up with them, and couldn't resign later.");
+ mesq l("But it is a so silly fight, that whoever you join with shouldn't do much difference.");
+ next;
+ mesn;
+ mesq l("Anyway, I heard both were disciples from Cordo-whatever, a powerful person from LoF Village.");
+ //mesq l("I think you should get initiated on any side before speaking to me again.");
+ close;
+
+// Main Quest
+L_Quest:
+
+ // Force players upon Cordo quest
+ /*
+ if (!THIEF_RANK && !MERC_RANK)
+ goto L_Rejected;
+ */
+
+ mes "";
+ mesn;
+ mesq l("I lost the precious ring they gave me as a gift... Who could have taken it...?");
+ next;
+ mesn;
+ mesq l("...Of course. It was THEM. It gotta to be them!");
+ next;
+ mesn strcharinfo(0);
+ select l("'Them' whom?");
+ mes "";
+ mesn;
+ mesq l("They came in the night, always taking what does not belong to them.... The SLIMES!");
+ next;
+ mesn;
+ mesq l("The ones around here are specially nasty. They steal stuff and seal them on 'present boxes', just to amuse as people try to open those...");
+ next;
+ mesn;
+ mesq l("...But worry not, I have the right screwdriver for the job. So, are you up to bring me some Present Boxes?");
+ next;
+ mesn strcharinfo(0);
+ select
+ l("Yes, I'll help you."),
+ l("Nah, not now. Slimes ruin your clothes, after all.");
+ mes "";
+ if (@menu == 2) {
+ mesn;
+ mesq l("Ah, I see, I imagine you'll wear something different then... But please come back.");
+ close;
+ }
+ setq LoFQuest_EPISODE, 5, 0;
+ mesn;
+ mesq l("Great, just bring me several boxes, once one of them have the ring I'm looking for.");
+ close;
+
+// Open Present Box Loop
+L_Box:
+ inventoryplace NPCEyes, 1;
+ .@q2=getq2(LoFQuest_EPISODE);
+ delitem PresentBox, 1;
+ setq2 LoFQuest_EPISODE, .@q2+1;
+ mesn;
+ mesc l("@@ uses his screwdriver and open the sealed gift box like a pro.", .name$);
+ // Handle result
+ if (.@q2 >= 70) {
+ goto L_Success;
+ } else if (.@q2 >= 50) {
+ .@id=any(WhiteFur, Candy, Milk, Lockpicks, MaggotSlime, CandyCane, ChocolateBar, XmasCake, GingerBreadMan, CherryCake, Plushroom, Moss, Chagashroom, BugLeg, Acorn, Manana, Mashmallow, HardSpike, SilkCocoon, IceCube, CoinBag, Coal, CottonCloth, BlueDye);
+ getitem .@id, 1;
+ mesc l("But there was only a(n) @@ inside.", getitemlink(.@id));
+ } else if (.@q2 >= 30) {
+ if (rand(1,50) < .@q2) {
+ .@id=any(Candy, MaggotSlime, Plushroom, Chagashroom, BugLeg, Acorn, MauveHerb);
+ getitem .@id, 1;
+ mesc l("But there was only a(n) @@ inside.", getitemlink(.@id));
+ } else {
+ .@id=rand2(2,4)+.@q2;
+ Zeny=Zeny+.@id;
+ mesc l("But there was only @@ GP inside.", .@id);
+ }
+ } else if (.@q2 >= 10) {
+ .@id=rand2(3,5)+.@q2;
+ Zeny=Zeny+.@id;
+ mesc l("But there was only @@ GP inside.", .@id);
+ } else {
+ mesc l("But the box was empty.");
+ }
+
+ // Try again!
+ if (countitem(PresentBox)) {
+ mesn;
+ mesq l("You have more boxes. Wanna try again?");
+ if (askyesno() == ASK_YES)
+ goto L_Box;
+ }
+ close;
+// Quest Complete
+L_Success:
+ setq LoFQuest_EPISODE, 6, 0;
+ getexp 25000, 0; // @Saulc DO NOT INCREASE THIS VALUE, if you think this is low, give player MobPoints.
+ // TODO: Pre-Requisite Item? (eg. Lazurite or Bent Neddle)
+ // TODO: White Roses quest. We could sell them high and allow drop during spring
+ mesc l("His golden ring pops right out of it.");
+ next;
+ mesn;
+ mesq l("Many thanks. I couldn't live without it. Please come back later.");
+ @miler_wait=true;
+ close;
+
+L_Continue:
+ if (BaseLevel < 50) goto L_Rejected;
+ mesn;
+ mesq l("Welcome back. Uh, no, I haven't forgot I promised you a small something... But you see, then I lost my ring, and...");
+ next;
+ mesn;
+ mesq l("...I deposited everything on the bank. Sorry!");
+ next;
+ mesn;
+ mesq l("Oh, but don't you worry. Sure, you can't go in Nivalis bank and take my stuff... But the Storage Fairy at Lilit might just let you.");
+ next;
+ mesn;
+ mesq l("But she is a fairy. She won't be pleased with flowers. Instead, go and give her a %s as a token of good will.", getitemlink(SnakeSkin));
+ next;
+ mesn;
+ mesq l("Pal, I'm counting on you. You'll like the little something I have for you!");
+ setq LoFQuest_EPISODE, 7, 0;
+ close;
+
+L_GHQ:
+ GHQ_Assign(Moggun, "Nivalis");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, KnitHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CreasedShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ setunitdata(.@npcId, UDT_WEAPON, JeansShorts);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, any(2,3,4,6,14,15,17,21,22,24,25,26));
+ setunitdata(.@npcId, UDT_HAIRCOLOR, rand(0,20));
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/019-1/_import.txt b/npc/019-1/_import.txt
new file mode 100644
index 0000000..0513ece
--- /dev/null
+++ b/npc/019-1/_import.txt
@@ -0,0 +1,6 @@
+// Map 019-1: Snow Field
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/019-1/_mobs.txt",
+"npc/019-1/_warps.txt",
+"npc/019-1/sign.txt",
+"npc/019-1/well.txt",
diff --git a/npc/019-1/_mobs.txt b/npc/019-1/_mobs.txt
new file mode 100644
index 0000000..25c4953
--- /dev/null
+++ b/npc/019-1/_mobs.txt
@@ -0,0 +1,7 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-1: Snow Field mobs
+019-1,70,67,52,48 monster Fluffy 1022,50,100000,30000
+019-1,61,73,52,48 monster White Slime 1094,20,100000,30000
+019-1,79,61,52,48 monster Wolvern 1037,12,60000,30000
+019-1,56,60,21,18 monster Santa Slime 1096,2,30000,30000
+019-1,115,52,19,16 monster Pollet 1219,2,200000,30000
diff --git a/npc/019-1/_warps.txt b/npc/019-1/_warps.txt
new file mode 100644
index 0000000..85492a9
--- /dev/null
+++ b/npc/019-1/_warps.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-1: Snow Field warps
+019-1,70,21,0 warp #019-1_70_21 3,0,020-1,70,127
+019-1,61,102,0 warp #019-1_61_102 3,0,019-4,95,28
+019-1,21,70,0 warp #019-1_21_70 0,1,019-6,256,69
+019-1,84,53,0 warp #019-1_84_53 0,0,019-1-1,33,41
diff --git a/npc/019-1/sign.txt b/npc/019-1/sign.txt
new file mode 100644
index 0000000..93599d6
--- /dev/null
+++ b/npc/019-1/sign.txt
@@ -0,0 +1,21 @@
+// TMW2 Script.
+// Author:
+// Jesusalva
+// Description:
+// Random Sign nobody bothers reading.
+
+019-1,67,30,0 script Sign#01916730 NPC_SWORDS_SIGN,{
+ if (!$NIVALIS_LIBDATE) {
+ mesc l("WARNING: Nivalis is currently under siege from the Monster King himself."), 3;
+ next;
+ mesc l("We've built this blockade to prevent this area from being overrun with monsters, but who knows for how long this will last.");
+ } else {
+ mesc l("The city is still under repairs, but town square is safe already."), 1;
+ }
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
diff --git a/npc/019-1/well.txt b/npc/019-1/well.txt
new file mode 100644
index 0000000..97a3e5d
--- /dev/null
+++ b/npc/019-1/well.txt
@@ -0,0 +1,169 @@
+// TMW2/LOF Script.
+// Author:
+// Jesusalva
+// Description:
+// Well connected to Terranite Cave. This is the water Nivalis townsfolk uses.
+
+019-1,110,101,0 script Well#Nivalis NPC_NO_SPRITE,{
+ // Begin here
+ .@q=getq(NivalisQuest_Well);
+ mesn l("The Self-Serving Ice Well!");
+ mesc l("Hello, my name is Mahid, and this well belongs to me!");
+ mesc l("You are allowed to fill your bottles, but BE SURE TO PAY!");
+ mesc l("Otherwise, ##BYOU'LL DIE.##b Have a nice day!");
+ next;
+ if (.@q == 1) {
+ mesn l("???");
+ mesq l("Hey, is somebody over there?");
+ mes "";
+ }
+
+ menu
+ l("Fill Water Bottles"), L_Bottle,
+ rif(.@q == 2, l("Jump inside!")), L_Reckless,
+ rif(.@q == 1, l("Steal bucket!")), L_Bucket,
+ rif(.@q != 1, l("Throw something inside!")), L_Throw,
+ l("Leave."), -;
+ close;
+
+// Jump to Terranite Cave (requires 55 vitality minimum)
+L_Reckless:
+ closedialog;
+ warp "015-6", 363, 109;
+ dispbottom l("Ouch! That was kinda reckless!");
+ percentheal -150+readparam2(bVit), 0;
+ close;
+
+// Easter Egg
+L_Bucket:
+ mes "";
+ percentheal -rand(10,20), 0;
+ mesn strcharinfo(0);
+ mesq l("Ouch, the bucket BITE me!");
+ close;
+
+// Main Quest
+L_Throw:
+ mes "##B" + l("Drag and drop an item from your inventory.") + "##b";
+
+ .@id = requestitem();
+
+ // If ID is invalid, there's not enough items, it is bound = Cannot bury
+ if (.@id < 1) {
+ mesc l("You give up.");
+ close;
+ }
+ if (countitem(.@id) < 1 || checkbound(.@id) || !getiteminfo(.@id, ITEMINFO_MAXCHANCE)) {
+ if (checkbound(.@id))
+ mesc l("You cannot drop this item!");
+ else if (!getiteminfo(.@id, ITEMINFO_MAXCHANCE))
+ mesc l("This item is too precious, you cannot part with it!");
+ else
+ mesc l("You give up.");
+ close;
+ }
+ // Delete item and spawn it at Terranite Cave (an Angry Yellow Slime might steal it)
+ delitem .@id, 1;
+ makeitem .@id, 1, "015-6", any(362,363), any(110, 112, 114);
+ // Now we check if quest must start
+ if (!.@q)
+ goto L_Quest;
+ // If not, report if it is safe to jump
+ if (readparam2(bVit) < 55)
+ mesc l("The item impact suggests you don't have enough vitality to jump inside."), 1;
+ else if (readparam2(bVit) < 75)
+ mesc l("The item impact suggests jumping inside will leave you badly wounded.");
+ else
+ mesc l("The item impact suggests jumping inside should be safe if you have enough life.");
+ close;
+
+// Quest Node
+L_Quest:
+ mesn l("???");
+ if (getiteminfo(.@id, ITEMINFO_WEIGHT) > 1000)
+ mesq l("Ouch! That's heavy!");
+ else if (getiteminfo(.@id, ITEMINFO_SELLPRICE) < 10)
+ mesq l("What cheap crap is this? It's not worth even 10 GP.");
+ else if (getiteminfo(.@id, ITEMINFO_TYPE) == IT_HEALING)
+ mesq l("Mhm, this looks healthy.");
+ else if (getiteminfo(.@id, ITEMINFO_TYPE) == IT_AMMO)
+ mesq l("Ammo? I prefer power gloves! That is useless for me!");
+ else
+ mesq l("Who is throwing stuff at me?!");
+ next;
+ select
+ l("Who are you?"),
+ l("How did you get down there?"),
+ l("Do you need help?"),
+ menuaction(l("Leave."));
+ mes "";
+ mesn;
+ switch (@menu) {
+ case 1: mesq l("I'll talk about who I am after leaving the well."); break;
+ case 2: mesq l("I don't remember. I guess somebody threw me here!"); break;
+ case 3: mesq l("I certainly can't get out on my own."); break;
+ default: mesq l("..Anyone there?"); close; break;
+ }
+ next;
+ do {
+ select
+ l("I'll call someone to aid you."),
+ l("Is it too deep?"),
+ l("Couldn't you climb the rope?"),
+ menuaction(l("Leave."));
+ mes "";
+ mesn;
+ switch (@menu) {
+ case 1: mesq l("Please do, my friend."); setq NivalisQuest_Well, 1; break;
+ case 2: mesq l("It's over a hundred meters in depth. There is some land here, but I'm afraid of Terranite."); break;
+ case 3: mesq l("I'm not crazy, the bucket is vicious and the rope won't withstand my weight."); break;
+ default: mesq l("..Anyone there?"); close; break;
+ }
+ } while (@menu != 1);
+ close;
+
+// Fill a water bottle
+L_Bottle:
+ mes "";
+ mesc l("Cost: @@ gp per bottle.", .price);
+ input .@count;
+
+ if (!.@count)
+ close;
+
+ .@gp = .@count * .price;
+
+ if (Zeny < .@gp) {
+ mesc l("Not enough money.");
+ close;
+ }
+
+ if (countitem(EmptyBottle) < .@count) {
+ mesc l("Not enough bottles.");
+ close;
+ }
+
+ inventoryplace IcedBottle, .@count, BottleOfWoodlandWater, .@count;
+ delitem EmptyBottle, .@count;
+
+ // Calculate how many iced bottles you'll get
+ .@iced=0;
+ for (.@i=0; .@i < .@count; .@i++) {
+ if (rand2(500) < 33)
+ .@iced++;
+ }
+
+ // Apply the results and have a happy day!
+ Zeny-=.@gp;
+ if (.@iced)
+ getitem IcedBottle, .@iced;
+ getitem BottleOfWoodlandWater, .@count-.@iced;
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+
+ .price=60;
+ end;
+}
diff --git a/npc/019-2/_import.txt b/npc/019-2/_import.txt
new file mode 100644
index 0000000..a9e9c04
--- /dev/null
+++ b/npc/019-2/_import.txt
@@ -0,0 +1,9 @@
+// Map 019-2: Nivalis Port
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/019-2/_mobs.txt",
+"npc/019-2/_warps.txt",
+"npc/019-2/angela.txt",
+"npc/019-2/guards.txt",
+"npc/019-2/harry.txt",
+"npc/019-2/ship.txt",
+"npc/019-2/sign.txt",
diff --git a/npc/019-2/_mobs.txt b/npc/019-2/_mobs.txt
new file mode 100644
index 0000000..061fe05
--- /dev/null
+++ b/npc/019-2/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-2: Nivalis Port mobs
+019-2,60,59,5,2 monster White Slime 1094,2,90000,30000
+019-2,73,53,42,36 monster Fluffy 1022,10,60000,30000
+019-2,97,72,8,37 monster Wind Fairy 1185,1,75000,30000
+019-2,70,104,36,21 monster Iced Fluffy 1041,7,60000,30000
+019-2,72,41,31,26 monster Pollet 1219,4,120000,30000
+019-2,75,35,7,7 monster White Slime 1094,2,90000,30000
diff --git a/npc/019-2/_warps.txt b/npc/019-2/_warps.txt
new file mode 100644
index 0000000..85925ec
--- /dev/null
+++ b/npc/019-2/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-2: Nivalis Port warps
+019-2,37,55,0 warp #019-2_37_55 0,0,020-1,106,55
+019-2,76,24,0 warp #019-2_76_24 0,0,021-1,212,299
diff --git a/npc/019-2/angela.txt b/npc/019-2/angela.txt
new file mode 100644
index 0000000..0455bda
--- /dev/null
+++ b/npc/019-2/angela.txt
@@ -0,0 +1,141 @@
+// TMW2 scripts.
+// Authors:
+// The Mana World Team
+// Jesusalva
+// Description:
+// Elf, main quest is rescuing Cindy (she's kidnapped by Yetis every once in a while)
+// Once you complete her quest (requires some scheduling which the Yeti King provides),
+// you'll gain some needed Reputation Points to be able to cross Frostia Gates.
+// Note this is counted with other Frostia quests to reduce the toll of entering Frostia
+// (With high Frostia reputations, you get rid of the tax and high honors, but this
+// also raise/blocks Orc Village Entrance. Because if you haven't noticed, there's a
+// delicate equilibrium between Elves and Orcs.)
+//
+// Globally Controled Quest. Sometimes, she's here. Other times, this NPC is
+// disabled and the one inside the house is active. That's done with a walk
+// animation.
+//
+// Related Quests: Nivalis Well, Celestia Quest, Frostia Quest
+// Main Quest: Cindy Quest
+// Reward: Something awesome, probably.
+// Advised Level: Groups of level 80 players.
+//
+// Quest Variable: NivalisQuest_Cindy
+// 0: Quest Not Started
+// 1: Angela assigned the quest
+// 2: Yeti instructions were received
+// 3: Yeti quest complete, received instructions
+// 4: Checkpoint
+// 5: Cindy was rescued!
+//
+// Global Variable: $@CINDY_STATE
+// 0: Status is clean (she'll be kidnapped next interation)
+// %1: Cindy still wasn't rescued
+// %2: A party is fighting currently (the division value is the difficulty level, and affects minimum level)
+// >1500000000: Cindy is safely at home (until this date +%s)
+
+019-2,75,25,0 script Angela#Outside NPC_ELF_F,{
+ if ($@CINDY_STATE > gettimetick(2))
+ goto L_Safe;
+ if (BaseLevel < 60) { hello; end; }
+ if ($@CINDY_STATE % 2 == 1) goto L_Worried;
+ if (getq(NivalisQuest_Cindy) == 0) goto L_Start;
+ mesn;
+ mesq l("Please find my lovely daughter!");
+ if (getq(NivalisQuest_Cindy) == 1 && getq(NivalisQuest_Well) < 2 && @yetiagro) {
+ next;
+ select
+ l("I will, don't worry."),
+ l("She isn't on that cave.");
+ mes "";
+ if (@menu == 2) {
+ mesn;
+ mesq l("Do you have mental issues? I mean, of course there is a secret passage there!");
+ next;
+ mesn;
+ mesq l("I think the switches may open it, but I couldn't flip them.");
+ next;
+ mesn;
+ mesq l("I guess you'll need an Yeti for that, but those on the cave are murderous.");
+ CINDY_PLAYER_STRUCK=true;
+ next;
+ mesn;
+ mesq l("Besides, I'm not an Yeti expert. I don't understand how these creatures think, nor do I care! I only want Cindy back home safely!!");
+ if (TUTORIAL)
+ mesc l("Don't we know any Yeti specialist? Maybe Celestia?");
+ }
+ }
+ close;
+
+L_Safe:
+ mesn;
+ mesq l("Ah, what a wonderful day.");
+ close;
+
+L_Worried:
+ mesn;
+ mesq l("The group of warriors which went into the cave to rescue my precious Cindy still haven't returned... I'm worried with them, too...");
+ close;
+
+L_Start:
+ mesn;
+ mesq l("My daughter! My precious Cindy, why it had to be you?!");
+ next;
+ mesn;
+ mesq l("Please, help my precious! Save her! Oh, my precious Cindy...");
+ next;
+ mesn col(l("Rescuing Cindy Quest"),1);
+ mesc l("You are about to accept a high-risk quest. You cannot complete it alone."), 1;
+ mesc l("Help the distressed woman to save her daughter? ALL PLAYERS are penalized with failures."), 1;
+ select
+ l("[Decline Quest]"),
+ l("[Accept Quest]");
+ mes "";
+ if (@menu == 1) {
+ mesn strcharinfo(0);
+ mesq lg("Sorry 'mam, I forgot courage on my other set of pants. This one doesn't have enough defense for it.");
+ close;
+ }
+ mesn;
+ mesq l("Awful Yetis kidnapped my daughter, and brought her to the cave. Please save her!");
+ next;
+ mesn;
+ mesq l("Ah, but don't distress them if you can't save her! My precious daughter life is more important than anything!");
+ next;
+ mesn;
+ mesq l("I'll reward you and your friends in an appropriate way, but if you endanger her... Oh, my poor Cindy...");
+ next;
+ movecam rand(-20,20), rand(-20,20);
+ sleep2(80);
+ movecam rand(-20,20), rand(-20,20);
+ sleep2(80);
+ movecam rand(-20,20), rand(-20,20);
+ sleep2(80);
+ movecam rand(-20,20), rand(-20,20);
+ sleep2(80);
+ restorecam;
+ mes "";
+ mesc l("[Quest Accepted]"), 1;
+ mesc l("Rescue Cindy from the Ice Labyrinth and the evil Yetis. This is a global, multiplayer quest."), 1;
+ mesc l("Advised party size: From 3 and above");
+ channelmes("#world", strcharinfo(0) + " said to be brave enough to help Angela rescuing her daughter!");
+ setq NivalisQuest_Cindy, 1;
+ close;
+
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, KnitHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, TneckSweater);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ setunitdata(.@npcId, UDT_WEAPON, CottonSkirt);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, any(7,8,9,10,11,12,13,19,20));
+ setunitdata(.@npcId, UDT_HAIRCOLOR, rand(0,20));
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
+
+
diff --git a/npc/019-2/guards.txt b/npc/019-2/guards.txt
new file mode 100644
index 0000000..3f7e350
--- /dev/null
+++ b/npc/019-2/guards.txt
@@ -0,0 +1,165 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Protect Nivalis
+// Q_NivalisLibday
+// Day, Score, Temporary Time;
+
+019-2,44,54,0 script Guard#019-2.1 NPC_GUARD1,{
+ .@q=getq(Q_NivalisLibday);
+
+ if ($NIVALIS_LIBDATE) {
+ mesn;
+ mesq l("Nivalis was liberated @@ ago.", FuzzyTime($NIVALIS_LIBDATE));
+ close;
+ } else if ($NLIB_DAY > 0) {
+ if ($NLIB_DAY >= 7) goto L_MK;
+ if (.@q == $NLIB_DAY) goto L_Delay;
+ if (BaseLevel < 30) goto L_Noob;
+ if (BaseLevel >= 30) goto L_Veteran;
+ close;
+ } else if (is_admin()) { // NOTE: This is an override label
+ mesc "Initiate Nivalis Liberation Day?", 1;
+ mesc "Event will last 7 days.", 1;
+ if ($NLIB_SEQDAY)
+ mesc "The event is currently set to happen in "+($NLIB_SEQDAY-gettimeparam(GETTIME_DAYOFMONTH))+" days.";
+ else
+ mesc b("Liberation Day is NOT scheduled to happen."), 1;
+ select
+ "Not yet.",
+ "Yes",
+ "No";
+ if (@menu == 2) {
+ closeclientdialog;
+ goto OnNLibStart;
+ }
+ close;
+ } else {
+ legiontalk; end;
+ }
+ end;
+
+OnNLibStart:
+ addmapmask "019-3", MASK_MATTACK;
+ $NLIB_DAY=1;
+ $NLIB_HIGHTIME=0;
+ $NLIB_HIGHNAME$="";
+ setmapflagnosave("019-3", "000-1", 22, 22);
+ setmapflagnosave("020-1", "000-1", 22, 22);
+ setmapflagnosave("023-2", "000-1", 22, 22);
+ setmapflag("019-3",mf_bexp,25);
+ setmapflag("020-1",mf_bexp,150);
+ disablenpc "#019-1_70_21";
+ disablenpc "#019-2_37_55";
+ disablenpc "#020-1_70_128";
+ disablenpc "#020-1_107_55";
+ enablenpc "Lightbringer#NLib";
+ kamibroadcast("Nivalis Liberation Day has started.");
+ $NLIB_SEQDAY=false;
+ end;
+
+// Event Selectors
+L_Noob:
+ mesn;
+ mesq l("Hey, you! We need help to get rid from some remaining monsters at Nivalis City.");
+ mesq l("No need to kill the Fluffies, though.");
+ next;
+ mesn;
+ mesq l("Are you up for the challenge?");
+ if (askyesno() == ASK_YES) {
+ // Begin quest. Logout/Death will cause loss of the current day.
+ setq1 Q_NivalisLibday, $NLIB_DAY;
+ @nlib_wave=0;
+ @nlib_time=300; // This makes sure that wave 1 will start.
+ addtimer(5000, "#NLib_Siege::OnLoop");
+ warp "020-1", rand(69,82), rand(78, 91);
+ }
+ close;
+
+L_Veteran:
+ mesn;
+ mesq l("Hey, you! We need help to find the Monster King.");
+ next;
+ mesn;
+ mesq l("Could you head deep in the woods and track him down?");
+ if (askyesno() == ASK_YES) {
+ // Control if you already found the Monster King
+ @QNL3=0;
+ // Begin quest. Logout/Death will cause loss of the current day.
+ setq1 Q_NivalisLibday, $NLIB_DAY;
+ setq3 Q_NivalisLibday, gettimetick(2);
+ warp "019-3", any(128, 129, 130, 131, 132), any(24, 25, 26, 27);
+ doevent("Guard#019-3.1::OnBegin");
+ closedialog;
+ }
+ close;
+
+L_MK:
+ if (gettime(3) != 18 && !$@GM_OVERRIDE) {
+ mesn;
+ mesq l("Today at 18:30 UTC we are going to attack the Monster King by surprise. There will be no delays, so be there.");
+ } else {
+ mesn;
+ mesq l("Do you want to go against the Monster King now? The event will start 18:30 UTC sharply.");
+ if (askyesno() == ASK_YES) {
+ // Control if you already found the Monster King
+ @QNL3=0;
+ // Begin quest. Logout/Death will cause loss of the current day.
+ setq1 Q_NivalisLibday, $NLIB_DAY;
+ setq3 Q_NivalisLibday, gettimetick(2);
+ warp "019-3", any(128, 129, 130, 131, 132), any(24, 25, 26, 27);
+ doevent("Guard#019-3.1::OnAdvise");
+ closedialog;
+ }
+ }
+ close;
+
+// Misc
+L_Delay:
+ mesn;
+ mesq l("You already helped us today. Come back tomorrow.");
+ next;
+ mesc l("Do you want to cross to the other side? You'll need to find the sea to return here if you do."), 1;
+ next;
+ if (askyesno() == ASK_YES)
+ warp "019-1", 70, 30;
+ close;
+
+OnInit:
+ if ($NLIB_DAY)
+ addmapmask "019-3", MASK_MATTACK;
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+
+OnHour00:
+ if ($NLIB_DAY)
+ $NLIB_DAY+=1;
+ // Begin Nivalis Liberation Day
+ if ($NLIB_SEQDAY == gettimeparam(GETTIME_DAYOFMONTH))
+ goto OnNLibStart;
+ end;
+
+OnClock1800:
+ if ($NLIB_DAY == 7) {
+ kamibroadcast("All players, Nivalis Liberation Day starting in ##Bhalf hour##b.");
+ kamibroadcast("Failing this event will change the game world FOREVER and in an IRREVERSIBLE way.");
+ }
+ end;
+
+OnClock1825:
+ if ($NLIB_DAY == 7)
+ announce "All players, Nivalis Liberation Day starting in five minutes.", bc_all | bc_npc;
+ end;
+
+OnClock1830:
+ if ($NLIB_DAY != 7)
+ end;
+ setmapflag("023-2",mf_bexp,200);
+ setmapflag("023-2",mf_nopenalty);
+ donpcevent("The Monster King#NLib::OnBegin");
+ end;
+}
+
diff --git a/npc/019-2/harry.txt b/npc/019-2/harry.txt
new file mode 100644
index 0000000..bafc00a
--- /dev/null
+++ b/npc/019-2/harry.txt
@@ -0,0 +1,15 @@
+// TMW2 scripts.
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Harry gives the player latest news on the world
+
+019-2,92,116,0 script Harry NPC_JOURNALMAN,{
+ Journalman(.name$);
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/019-2/ship.txt b/npc/019-2/ship.txt
new file mode 100644
index 0000000..b51633c
--- /dev/null
+++ b/npc/019-2/ship.txt
@@ -0,0 +1,18 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// This script controls access to Ships, fixing variables.
+
+019-2,120,113,0 script NivalShip NPC_HIDDEN,0,0,{
+
+OnTouch:
+ EnterTown("Nival");
+ goto L_Warp;
+
+L_Warp:
+ warp "016-1@"+LOCATION$, 21, 26;
+ closedialog;
+ close;
+}
+
diff --git a/npc/019-2/sign.txt b/npc/019-2/sign.txt
new file mode 100644
index 0000000..eb663bf
--- /dev/null
+++ b/npc/019-2/sign.txt
@@ -0,0 +1,23 @@
+// TMW2 Script.
+// Author:
+// Jesusalva
+// Description:
+// Random Sign nobody bothers reading.
+// I just got lazy. Maybe I'll sell these two houses for 1000000 GP each... :drolls:
+
+019-2,95,108,0 script Sign#019295108 NPC_NO_SPRITE,{
+ if (!$NIVALIS_LIBDATE) {
+ mesc l("WARNING: Nivalis is currently under siege from the Monster King himself."), 3;
+ next;
+ mesc l("The Alliance Advanced Outposts are closed for maintenance. Group in front of the town entrance!");
+ } else {
+ mesc l("Welcome to Nivalis, the frozen town.");
+ mesc l("The Alliance Advanced Outposts have been abandoned and locked after the Liberation day.");
+ }
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
diff --git a/npc/019-3/_import.txt b/npc/019-3/_import.txt
new file mode 100644
index 0000000..498f4b8
--- /dev/null
+++ b/npc/019-3/_import.txt
@@ -0,0 +1,5 @@
+// Map 019-3: Snow Forest
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/019-3/_mobs.txt",
+"npc/019-3/_warps.txt",
+"npc/019-3/guards.txt",
diff --git a/npc/019-3/_mobs.txt b/npc/019-3/_mobs.txt
new file mode 100644
index 0000000..15df646
--- /dev/null
+++ b/npc/019-3/_mobs.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-3: Snow Forest mobs
+019-3,88,63,88,63 monster Fluffy 1022,50,100000,30000
+019-3,74,61,55,42 monster Wolvern 1037,35,100000,30000
+019-3,76,46,71,34 monster Santa Slime 1096,40,100000,30000
diff --git a/npc/019-3/_warps.txt b/npc/019-3/_warps.txt
new file mode 100644
index 0000000..76a0245
--- /dev/null
+++ b/npc/019-3/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-3: Snow Forest warps
+019-3,58,84,0 warp #019-3_58_84 0,0,023-2,121,37
diff --git a/npc/019-3/guards.txt b/npc/019-3/guards.txt
new file mode 100644
index 0000000..3e72118
--- /dev/null
+++ b/npc/019-3/guards.txt
@@ -0,0 +1,72 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Nivalis Liberation Day NPC
+
+019-3,128,22,0 script Guard#019-3.1 NPC_GUARD1,{
+ if ($NLIB_DAY == 7)
+ goto L_MK;
+ mesn;
+ mesq l("Are you done yet?");
+ select
+ rif(@QNL3, l("Yes")),
+ l("No");
+ if (@menu == 2)
+ close;
+
+ if ($NLIB_DAY == 7)
+ cwarp "019-2", 43, 55;
+
+ // Load quest env
+ // Day, Score, Temporary Time;
+ .@q1=getq(Q_NivalisLibday);
+ .@q2=getq2(Q_NivalisLibday);
+ .@q3=getq3(Q_NivalisLibday);
+
+ // Calculate score (You have 3 minutes. You get a single point for finishing.)
+ .@score=1;
+ .@time=gettimetick(2);
+ .@score+=max(180-(.@time-.@q3), 0)/5;
+
+ // Update Total Score
+ setq2 Q_NivalisLibday, .@q2+.@score;
+ .@q2=getq2(Q_NivalisLibday);
+ // Update Highscores if needed
+ if (.@q2 > $NLIB_HIGHTIME) {
+ $NLIB_HIGHTIME=.@q2;
+ $NLIB_HIGHNAME$=strcharinfo(0);
+ }
+ // Close quest again and give you a proper reward
+ setq1 Q_NivalisLibday, $NLIB_DAY;
+ Zeny=Zeny+(.@score*15); // max about 450 GP
+ getexp .@score*BaseLevel*2, .@score; // max about 30 JExp - Estimate Max EXP Ranges: (2400~4500) XP
+
+ // Warp you back
+ warp "019-2", 43, 55;
+ closedialog;
+ close;
+
+L_MK:
+ mesn;
+ mesq l("Good luck hunting down the Monster King.");
+ close;
+
+OnBegin:
+ npctalk l("Begin!");
+ end;
+
+OnAdvise:
+ npctalk l("You must be where the Monster King is at 18:30 UTC sharply - no delays allowed!");
+ end;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+
+ if (!$NLIB_DAY)
+ disablenpc .name$;
+ end;
+
+}
+
diff --git a/npc/019-4-1/_import.txt b/npc/019-4-1/_import.txt
new file mode 100644
index 0000000..e01bc7d
--- /dev/null
+++ b/npc/019-4-1/_import.txt
@@ -0,0 +1,7 @@
+// Map 019-4-1: Christmas Workshop
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/019-4-1/_warps.txt",
+"npc/019-4-1/bedder.txt",
+"npc/019-4-1/chief.txt",
+"npc/019-4-1/cook.txt",
+"npc/019-4-1/golbarez.txt",
diff --git a/npc/019-4-1/_warps.txt b/npc/019-4-1/_warps.txt
new file mode 100644
index 0000000..caf73d3
--- /dev/null
+++ b/npc/019-4-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-4-1: Christmas Workshop warps
+019-4-1,51,46,0 warp #019-4-1_51_46 3,0,019-4,133,54
diff --git a/npc/019-4-1/bedder.txt b/npc/019-4-1/bedder.txt
new file mode 100644
index 0000000..ca142be
--- /dev/null
+++ b/npc/019-4-1/bedder.txt
@@ -0,0 +1,95 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Christmas Quest
+// In dire need for white fur for bedding. Gives %Reward% for %Amount% (LESS LIKELY)
+// (TMW Org. Version)
+// Or maybe, he just take the white fur + something + open xmas box and trades
+// these for closed gift boxes (MOST LIKELY)
+// TMW2:ML Version
+
+019-4-1,48,39,0 script Christmas Storage Master NPC_GNOME_C,{
+ if ($EVENT$ != "Christmas")
+ goto L_OutOfSeason;
+ mesn;
+ mesq l("I was informed that our bedding material for fragile presents is nearly depleted...");
+ next;
+ goto L_Main;
+
+L_OutOfSeason:
+ mesn;
+ mesq l("According to the Holy books of a parallel world, Christmas is an event to celebrate the birth of someone very important, the son of God, whom have the promised kingdom.");
+ next;
+ mesn;
+ mesq l("Years later, someone then started giving gifts to the poor childrens on that date. It sticked, and now people usually trade gifts each other on the date.");
+ next;
+ mesn;
+ mesq l("It is known that even world wars have been under cease-fire on this date. On our world, Jesus Saves pays fortunes to Santa so he can gift every adventurer for the good year.");
+ next;
+ mesn;
+ mesq l("When Christmas starts, here will become frantic again, with things running out of stock all the time... But the adventurers deserve it, for fighting monsters the year round.");
+ close;
+
+L_Main:
+ mesn;
+ mesq l("You can give @@ to help us, I'll pay you accordingly.", getitemlink(WhiteFur)); // Normal: 30. Here: 75.
+ mesq l("Or you can give me an @@, 3 @@ and an @@, and I'll make a gift for you. If you don't have the @@, you can pay 200 GP for it instead.", getitemlink(OpenedChristmasBox), getitemlink(WhiteFur), getitemlink(MoubooFigurine), getitemlink(MoubooFigurine));
+ mes "";
+ select
+ l("Good to know."),
+ rif(countitem(WhiteFur), l("I want to sell White Fur for 75 GP each")),
+ rif(countitem(OpenedChristmasBox) && countitem(WhiteFur) >= 3 && countitem(MoubooFigurine), l("I want a gift box and here is the gift.")),
+ rif(countitem(OpenedChristmasBox) && countitem(WhiteFur) >= 3 && Zeny >= 200, l("I want a gift box but I don't have a gift."));
+ mes "";
+ switch (@menu) {
+ case 2:
+ mesc l("How many do you want to sell? You currently have @@ @@.", countitem(WhiteFur), getitemlink(WhiteFur));
+ input .@count;
+ mes "";
+ if (countitem(WhiteFur) < .@count) {
+ mesc l("You don't have that.");
+ next;
+ goto L_Main;
+ } else {
+ delitem WhiteFur, .@count;
+ Zeny=Zeny+75*(.@count);
+ mesn;
+ mesq l("Thanks. A pleasure doing business with you.");
+ next;
+ }
+ break;
+ case 3:
+ inventoryplace ClosedChristmasBox, 1;
+ delitem WhiteFur, 3;
+ delitem MoubooFigurine, 1;
+ delitem OpenedChristmasBox, 1;
+ getitem ClosedChristmasBox, 1;
+ mesn;
+ mesq l("Here you go, anything else?");
+ next;
+ break;
+ case 4:
+ inventoryplace ClosedChristmasBox, 1;
+ delitem WhiteFur, 3;
+ Zeny=Zeny-200;
+ $XMAS_MONEY+=100;
+ delitem OpenedChristmasBox, 1;
+ getitem ClosedChristmasBox, 1;
+ mesn;
+ mesq l("Here you go, anything else?");
+ next;
+ break;
+ default:
+ close;
+ }
+
+ goto L_Main;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/019-4-1/chief.txt b/npc/019-4-1/chief.txt
new file mode 100644
index 0000000..ca4bd1f
--- /dev/null
+++ b/npc/019-4-1/chief.txt
@@ -0,0 +1,351 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Christmas Quest
+// Closed Christmas Boxes have been stolen! Give him any you find for the
+// ranking (and ranking based rewards). The global amount of delivered boxes
+// will determine the gifts (and amount of gifts) handled by Santa!
+//
+// Rewards: Santa Hat, Gnome Hat, Santa Bearded Hat, Ugly Christmas Sweater,
+// Turtle Neck Sweater, Santa Globe, Snowman Globe, Red Stocking.
+//
+// SQuest_Christmas
+// Current Year
+// Boxes Delivered
+// Money Sponsored
+//
+// $XMAS_GIFTS
+// World-wide collected gifts count.
+
+019-4-1,56,33,0 script Christmas Chief NPC_GNOME_A,{
+ function ScoreXMAS {
+
+ mes "##B"+l("Top 5 - Christmas Box Donation Event")+"##b";
+ mes("1."+$@xmas_box_name$[0]+" ("+fnum($@xmas_box_value[0])+")");
+ mes("2."+$@xmas_box_name$[1]+" ("+fnum($@xmas_box_value[1])+")");
+ mes("3."+$@xmas_box_name$[2]+" ("+fnum($@xmas_box_value[2])+")");
+ mes("4."+$@xmas_box_name$[3]+" ("+fnum($@xmas_box_value[3])+")");
+ mes("5."+$@xmas_box_name$[4]+" ("+fnum($@xmas_box_value[4])+")");
+ next;
+
+ mes "##B"+l("Top 5 - Golbarez Seasonal Quest")+"##b";
+ mes("1."+$@xmas_gp_name$[0]+" ("+fnum($@xmas_gp_value[0])+" GP)");
+ mes("2."+$@xmas_gp_name$[1]+" ("+fnum($@xmas_gp_value[1])+" GP)");
+ mes("3."+$@xmas_gp_name$[2]+" ("+fnum($@xmas_gp_value[2])+" GP)");
+ mes("4."+$@xmas_gp_name$[3]+" ("+fnum($@xmas_gp_value[3])+" GP)");
+ mes("5."+$@xmas_gp_name$[4]+" ("+fnum($@xmas_gp_value[4])+" GP)");
+ next;
+ }
+
+ // Christmas still running
+ if ($EVENT$ == "Christmas")
+ goto L_Main;
+
+ // Last year
+ if (getq(SQuest_Christmas) == gettime(GETTIME_YEAR)-1)
+ goto L_Reward;
+
+ // Not in season
+ goto L_OutOfSeason;
+
+L_OutOfSeason:
+ mesn;
+ mesq l("This workshop doesn't gets too many tasks from Santa outside the Christmas...");
+ if (is_staff())
+ ScoreXMAS();
+ close;
+
+L_Reward:
+ inventoryplace NPCEyes, 6, Iten, 1;
+ .@q1=getq2(SQuest_Christmas);
+ .@q2=getq3(SQuest_Christmas);
+ setq1 SQuest_Christmas, 0;
+
+ /* Handle Christmas Quest Rewards */
+ /* The top 5 gets special rewards! */
+ // #1 : White Cat Pet
+ // #2 - #3: Red Stocking
+ // #4 - #5: Extra xmas gift
+ /* You get Christmas Gift Box, which contain rares */
+
+ .@gifts=min(15, log2($XMAS_GIFTS/100))+1;
+ if (.@q1 >= .@gifts)
+ getitem XmasGift, .@gifts;
+
+ // Top 5 rewards
+ if (strcharinfo(0) == $@xmas_box_name$[0])
+ makepet CattyCat;
+ else if (strcharinfo(0) == $@xmas_box_name$[1] || strcharinfo(0) == $@xmas_box_name$[2])
+ getitem RedStocking, 1;
+ else if (strcharinfo(0) == $@xmas_box_name$[3] || strcharinfo(0) == $@xmas_box_name$[4])
+ getitem XmasGift, 1;
+
+ if (strcharinfo(0) == .@name$[0])
+ mesc l("You gained a @@ for the #1 place on the event. Remember to feed it @@, or it may run away from you.", getitemlink(CattyCat), getitemlink(Milk));
+
+ /////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////
+ /////////////////////////////////////////////////////////////////////////
+ /* Handle Golbarez Quest Rewards */
+ /* Mostly Coins, some Merc Boxes, EXP/JExp */
+ /* Gift the best people at this quest, too */
+ getexp .@q2/4, (.@q2/1000)+.@q1;
+ .@coins=limit(0, .@q2/10000, 300);
+ .@overf=limit(0, (.@q2-3000000)/5000, 1400);
+ REAL_ESTATE_CREDITS+=.@q2*15/10;
+ if (.@coins)
+ getitem CasinoCoins, .@coins;
+ if (.@coins > 3)
+ getitem StrangeCoin, .@coins/3;
+ if (.@overf)
+ getitem HeroCoin, .@overf;
+ // Mercenary boxes (requires certain global donation values)
+ .@mc_boxc=.@q2/100000;
+ .@mc_boxb=(.@q2/60000)-.@mc_boxc;
+ .@mc_boxa=(.@q2/40000)-.@mc_boxb;
+ // Blueprints
+ .@bp_total=.@q2/15000; // Price of an Ancient Blueprint
+ .@bp_rank=0;
+
+ // Event: Supreme (5 Mi)
+ if ($XMAS_MONEY >= 5000000) {
+ if (.@mc_boxc)
+ getitem MercBoxC, .@mc_boxc;
+ if (.@mc_boxb)
+ getitem MercBoxB, .@mc_boxb+1;
+ if (.@mc_boxa)
+ getitem MercBoxA, .@mc_boxa+2;
+ .@bp_rank=5;
+ // Event: Great (1.5 Mi)
+ } if ($XMAS_MONEY >= 1500000) {
+ if (.@mc_boxc)
+ getitem MercBoxC, .@mc_boxc;
+ if (.@mc_boxb)
+ getitem MercBoxB, .@mc_boxb;
+ if (.@mc_boxa)
+ getitem MercBoxA, .@mc_boxa+2;
+ .@bp_rank=4;
+ // Event: Good (750k)
+ } else if ($XMAS_MONEY >= 750000) {
+ if (.@mc_boxc)
+ getitem MercBoxC, .@mc_boxc;
+ if (.@mc_boxb)
+ getitem MercBoxB, .@mc_boxb;
+ if (.@mc_boxa)
+ getitem MercBoxA, .@mc_boxa+1;
+ .@bp_rank=3;
+ // Event: Average (250k)
+ } else if ($XMAS_MONEY >= 250000) {
+ if (.@mc_boxb)
+ getitem MercBoxB, .@mc_boxb;
+ if (.@mc_boxa)
+ getitem MercBoxA, .@mc_boxa;
+ .@bp_rank=2;
+ // Event: Bad (must aid players - 100k)
+ } else if ($XMAS_MONEY >= 100000) {
+ if (.@q2 >= 10000)
+ getitem MercBoxA, .@mc_boxa+1;
+ .@bp_rank=1;
+ }
+ // Event: Terrible (< 100k: No merc rewards)
+
+ // Blueprints control
+ // Event: Horrible
+ if (.@bp_rank <= 0 && .@bp_total) {
+ .@bp=.@bp_total/2;
+ getitem AlchemyBlueprintA, limit(1, .@bp, 3);
+ if (.@bp)
+ getitem EquipmentBlueprintA, limit(1, .@bp, 3);
+ }
+ // Event: Bad
+ else if (.@bp_rank <= 1 && .@bp_total) {
+ .@bp=.@bp_total/2;
+ getitem AlchemyBlueprintA, limit(1, .@bp, 10);
+ if (.@bp)
+ getitem EquipmentBlueprintA, limit(1, .@bp, 10);
+ if (.@bp > 3)
+ getitem AncientBlueprint, 1;
+ }
+ // Event: Average
+ else if (.@bp_rank <= 2 && .@bp_total) {
+ .@bp=.@bp_total/4;
+ getitem AlchemyBlueprintA, limit(1, .@bp, 5);
+ getitem EquipmentBlueprintA, limit(1, .@bp, 5);
+ if (.@bp) {
+ getitem AlchemyBlueprintB, limit(1, .@bp, 3);
+ getitem EquipmentBlueprintB, limit(1, .@bp, 3);
+ getitem AncientBlueprint, 1;
+ }
+ }
+ // Event: Good
+ else if (.@bp_rank <= 3 && .@bp_total) {
+ .@bp=.@bp_total/6;
+ getitem AlchemyBlueprintA, limit(1, .@bp, 10);
+ getitem EquipmentBlueprintA, limit(1, .@bp, 10);
+ getitem AlchemyBlueprintB, limit(1, .@bp, 5);
+ getitem EquipmentBlueprintB, limit(1, .@bp, 5);
+ if (.@bp) {
+ getitem AlchemyBlueprintC, limit(1, .@bp, 3);
+ getitem EquipmentBlueprintC, limit(1, .@bp, 3);
+ getitem AncientBlueprint, 2;
+ }
+ }
+ // Event: Great
+ else if (.@bp_rank <= 4 && .@bp_total) {
+ .@bp=.@bp_total/7;
+ getitem AlchemyBlueprintB, limit(1, .@bp, 10);
+ getitem EquipmentBlueprintB, limit(1, .@bp, 10);
+ getitem AlchemyBlueprintC, limit(1, .@bp, 5);
+ getitem EquipmentBlueprintC, limit(1, .@bp, 5);
+ if (.@bp) {
+ getitem AlchemyBlueprintD, limit(1, .@bp, 3);
+ getitem EquipmentBlueprintD, limit(1, .@bp, 3);
+ getitem AncientBlueprint, 3;
+ }
+ }
+ // Event: Supreme
+ else if (.@bp_rank >= 5 && .@bp_total) {
+ .@bp=.@bp_total/8;
+ getitem AlchemyBlueprintC, limit(1, .@bp, 7);
+ getitem EquipmentBlueprintC, limit(1, .@bp, 7);
+ getitem AlchemyBlueprintD, limit(1, .@bp, 5);
+ getitem EquipmentBlueprintD, limit(1, .@bp, 5);
+ if (.@bp) {
+ getitem AlchemyBlueprintE, limit(1, .@bp, 2);
+ getitem EquipmentBlueprintE, limit(1, .@bp, 2);
+ getitem AncientBlueprint, 3;
+ }
+ }
+
+ // MVP Awards
+ if ((.@q2*100)/$XMAS_MONEY >= 80) { // 80% contribution
+ getitem PrismGift, limit(1, .@q2/500000, 2);
+ getitem GoldenGift, limit(1, .@q2/100000, 3);
+ if (.@bp_rank >= 2)
+ getitem AncientBlueprint, 5;
+ else if (.@bp_rank >= 1)
+ getitem AncientBlueprint, 3;
+ } else if ((.@q2*100)/$XMAS_MONEY >= 60) { // 60% contribution
+ getitem GoldenGift, limit(1, .@q2/500000, 2);
+ getitem SilverGift, limit(1, .@q2/100000, 3);
+ if (.@bp_rank >= 2)
+ getitem AncientBlueprint, 3;
+ else if (.@bp_rank >= 1)
+ getitem AncientBlueprint, 2;
+ } else if ((.@q2*100)/$XMAS_MONEY >= 40) { // 40% contribution
+ getitem SilverGift, limit(1, .@q2/500000, 2);
+ getitem BronzeGift, limit(1, .@q2/100000, 3);
+ if (.@bp_rank >= 2)
+ getitem AncientBlueprint, 2;
+ else if (.@bp_rank >= 1)
+ getitem AncientBlueprint, 1;
+ } else if ((.@q2*100)/$XMAS_MONEY >= 20) { // 20% contribution
+ getitem BronzeGift, limit(1, .@q2/500000, 2);
+ getitem StrangeCoin, limit(1, .@q2/5000, 20);
+ if (.@bp_rank >= 2)
+ getitem AncientBlueprint, 1;
+ } else if ((.@q2*100)/$XMAS_MONEY >= 5) { // 5% contribution
+ getitem StrangeCoin, limit(1, .@q2/100000, 10);
+ getitem CasinoCoins, limit(1, .@q2/5000, 20);
+ }
+
+ /* The top 5 gets special rewards! */
+ // #1 : Xmas Gift x2
+ // #2 - #3: Xmas Gift x1
+ // #4 - #5: Bronze Gift
+ if (strcharinfo(0) == $@xmas_gp_name$[0])
+ getitem XmasGift, max(.@bp_rank, 1)+1;
+ else if (strcharinfo(0) == $@xmas_gp_name$[1] || strcharinfo(0) == $@xmas_gp_name$[2])
+ getitem XmasGift, max(.@bp_rank, 1);
+ else if (strcharinfo(0) == $@xmas_gp_name$[3] || strcharinfo(0) == $@xmas_gp_name$[4])
+ getitem BronzeGift, (.@bp_rank > 3 ? 2 : 1);
+
+ mesn;
+ mesq l("Thanks for helping us the last year. I hope to have your help by the next year.");
+ next;
+ ScoreXMAS();
+ close;
+
+L_Main:
+ // Start Event for the first time if needed
+ if (gettime(GETTIME_MONTH) != JANUARY && getq(SQuest_Christmas) != gettime(GETTIME_YEAR)) {
+ setq SQuest_Christmas, gettime(GETTIME_YEAR), 0, 0;
+ }
+ if (gettime(GETTIME_MONTH) == JANUARY && getq(SQuest_Christmas) != gettime(GETTIME_YEAR)-1) {
+ setq SQuest_Christmas, gettime(GETTIME_YEAR)-1, 0, 0;
+ }
+
+ // Begin Christmas
+ .@q=getq2(SQuest_Christmas);
+ //
+ if (!getq(General_Narrator)) {
+ mesn;
+ mesq l("The stolen christmas boxes!! Christmas is RUINED!!!");
+ mesc l("You should complete Candor Prologue before participating on this quest.");
+ close;
+ }
+ mesn;
+ mesq l("We only managed to recover @@ stolen @@ thus far...", $XMAS_GIFTS, getitemlink(ClosedChristmasBox));
+ // Same formula from 2007 event. (max: 3.276.800 boxes delivered, an ABSURD amount)
+ // You need to give at least this many boxes yourself to be eligible for rewards, though.
+ .@gifts=min(15, log2($XMAS_GIFTS/100))+1;
+ mesq l("If things keep like this, we will only manage to give @@ gifts to every player...", .@gifts);
+ if (.@q < .@gifts || !.@q)
+ mesc l("WARNING: You must give at least @@ boxes more before event ends to be eligible for a reward!", .@gifts-.@q), 1;
+ next;
+ if (.@q) {
+ mesn;
+ switch (.@gifts) {
+ case 0: mesq l("There isn't enough, not even for NPCs. We need at least 100."); break;
+ case 1: mesq l("Santa can give one present for all players. Maybe if we got 200..."); break;
+ case 2: mesq l("Hey, two gifts is very nice. But if we delivered 400. Think on it."); break;
+ case 3: mesq l("Wow, three gifts! Good job! With 800, an extra gift for everyone!"); break;
+ case 4: mesq l("Hahah, four gifts, neat! Can we get to 1600 boxes?"); break;
+ case 5: mesq l("Amazing. Five gifts for all. With 3200, we could supply nomad tribes..."); break;
+ case 6: mesq l("Atonishing. Six gifts is the real deal. Easy to guess: 6400 is the next milestone."); break;
+ case 7: mesq l("Impressive. Seven gifts! Now, 12800 is not easy. I understand if everyone gives up."); break;
+ case 8: mesq l("Eight gifts. Let's double the goal. 25600 gifts. Did you guys hire some chinese gold farmers, anyway?"); break;
+ case 9: mesq l("How did you got that much? Nine gifts, and 51200 if you want even more."); break;
+ case 10: mesq l("Want to break the hundredthousand item limit?? Ten gifts, for more, bring 102,400 boxes here."); break;
+ case 11: mesq l("Eleven gifts? You guys really have no live! For 204,800 I'll give an extra one."); break;
+ case 12: mesq l("Twelve... There is no way people collected this many gifts. Anyway. 404,800 is the next milestone."); break;
+ case 13: mesq l("What the f...? Four Hundred Thousand??? Must be a bug. Next milestone is 819,200. Cheaters."); break;
+ case 14: mesq l("I must report this to Jesusalva. The inventory system can't handle that much. Want more? Try 1,638,400."); break;
+ default: mesq l("ENOUGH! LAME CHEATERS, GET OFF THIS GAME %%a That's 15 gifts, and it is final."); break;
+ }
+ next;
+ }
+ goto L_Loop;
+
+L_Loop:
+ mesn;
+ mesq l("Well, if you want to donate @@, you'll be ranked. There's gift for everyone, and rewards for top 5 donors.", getitemlink(ClosedChristmasBox));
+ mesc l("Thus far, you've donated @@ boxes.", .@q);
+ mes "";
+ select
+ rif(countitem(ClosedChristmasBox), l("Return @@ boxes", countitem(ClosedChristmasBox))),
+ l("Scoreboards"),
+ l("Leave");
+ mes "";
+ switch (@menu) {
+ case 1:
+ .@am=countitem(ClosedChristmasBox);
+ delitem ClosedChristmasBox, .@am;
+ .@q=getq2(SQuest_Christmas);
+ $XMAS_GIFTS+=.@am;
+ setq2 SQuest_Christmas, .@q+.@am;
+ break;
+ case 2: ScoreXMAS(); goto L_Loop; break;
+ }
+
+ close;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/019-4-1/cook.txt b/npc/019-4-1/cook.txt
new file mode 100644
index 0000000..856f22b
--- /dev/null
+++ b/npc/019-4-1/cook.txt
@@ -0,0 +1,74 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Christmas Quest.
+// Originally, it was planned to collect XMAS CAKE, XMAS CANDY CANE and GINGERBREAD BISCUIT
+// and then make a player ranking for sport (like Ched). The ranking function,
+// however, was moved to Chief. Maybe Cook will exchange these for open xmas boxes.
+
+019-4-1,30,29,0 script Christmas Cook NPC_GNOME_B,{
+ if ($EVENT$ != "Christmas")
+ goto L_OutOfSeason;
+ goto L_Main;
+
+L_OutOfSeason:
+ mesn;
+ mesq l("Hmm... I can handle cooking during normal days. Christmas is the problem. I never have enough sweeties by then...");
+ close;
+
+L_Main:
+ mesn;
+ mesq l("Ah... Santa's helpers sure eat a lot. I'm sure gift delivery is hard for them.");
+ next;
+ mesn;
+ mesq l("Well, you know... Maybe we can strike a deal. I have good relations with the stock manager. I'll give you an event item.");
+ next;
+
+L_Loop:
+ mesc l("@@/10 @@ for 1 @@", countitem(GingerBreadMan), getitemlink(GingerBreadMan),getitemlink(OpenedChristmasBox));
+ mesc l("@@/9 @@ for 1 @@", countitem(XmasCandyCane), getitemlink(XmasCandyCane), getitemlink(OpenedChristmasBox));
+ mesc l("@@/8 @@ for 1 @@", countitem(XmasCake), getitemlink(XmasCake), getitemlink(OpenedChristmasBox));
+ mes "";
+ select
+ l("Uhm, I don't need that."),
+ rif(countitem(GingerBreadMan)>=10, l("Trade the Gingerbread")),
+ rif(countitem(XmasCandyCane)>=9, l("Trade the Xmas Candy Cane")),
+ rif(countitem(XmasCake)>=8, l("Trade the Xmas Cake")),
+ l("Maybe later.");
+ mes "";
+ switch (@menu) {
+ case 2:
+ delitem GingerBreadMan, 10;
+ getexp getiteminfo(GingerBreadMan, ITEMINFO_SELLPRICE)*10, 10;
+ getitem OpenedChristmasBox, 1;
+ mesn;
+ mesq l("Deal. Here you go.");
+ next;
+ goto L_Loop; break;
+ case 3:
+ delitem XmasCandyCane, 9;
+ getexp getiteminfo(XmasCandyCane, ITEMINFO_SELLPRICE)*10, 9;
+ getitem OpenedChristmasBox, 1;
+ mesn;
+ mesq l("Deal. Here you go.");
+ next;
+ goto L_Loop; break;
+ case 4:
+ delitem XmasCake, 8;
+ getexp getiteminfo(XmasCake, ITEMINFO_SELLPRICE)*10, 8;
+ getitem OpenedChristmasBox, 1;
+ mesn;
+ mesq l("Deal. Here you go.");
+ next;
+ goto L_Loop; break;
+ }
+ close;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/019-4-1/golbarez.txt b/npc/019-4-1/golbarez.txt
new file mode 100644
index 0000000..1175064
--- /dev/null
+++ b/npc/019-4-1/golbarez.txt
@@ -0,0 +1,62 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Christmas quest. ported from 2010 and adapted for TMW2:ML.
+// Original Name: Golbenez
+// Year, Gifts, GP
+
+019-4-1,30,45,0 script Golbarez NPC_LOF_RICH,{
+ if ($EVENT$ != "Christmas")
+ goto L_OutOfSeason;
+ goto L_Main;
+
+L_OutOfSeason:
+ mesn;
+ if (any(true, false))
+ mesq l("AAH! You scared me!");
+ else
+ mesq l("Land Of Fire is a place so warm... Although this workshop is a better place to break time and space during Christmas.");
+ close;
+
+L_Main:
+ if (getq(SQuest_Christmas) != gettime(GETTIME_YEAR) &&
+ !(gettime(GETTIME_MONTH) == JANUARY && getq(SQuest_Christmas) == gettime(GETTIME_YEAR)-1)) {
+ mesn;
+ mesq l("Please talk with this workshop's Chief before talking to me.");
+ close;
+ }
+ .@q=getq3(SQuest_Christmas);
+ .@ratio=(.@q*100)/$XMAS_MONEY;
+ mesn;
+ mesq l("Mortal! I am @@! I have broken through the barriers of space and time!", .name$);
+ mesq l("I want to keep breaking them, until I find the paradise! Thus far, I only found the Land Of Fire!");
+ next;
+ mesn;
+ mesq l("I need millions of GP to fund my time-space shattering, and thus far, I've only collected @@ GP.", format_number($XMAS_MONEY));
+ mesq l("If you sponsor me, while I break into more dimensions, I'll give you any stuff I find. Hey, they could be rare here!");
+ next;
+ mesc l("Sponsor @@ in how much GP?", .name$);
+ input .@count;
+ mes "";
+ if (Zeny < .@count) {
+ mesn;
+ mesq l("Don't try to trick me, this attracts bad karma! You could get stolen on Christmas! Seriously, this has happened before!");
+ close;
+ }
+ Zeny=Zeny-.@count;
+ $XMAS_MONEY+=.@count;
+ setq3 SQuest_Christmas, .@q+.@count;
+ mesn;
+ mesq l("Thanks for your patronage! The rewards will be available with @@, in case I do find the paradise!", "Christmas Chief");
+ mesc l("Thus far, you've sponsored Golbarez in %d %% from total.", .@ratio);
+ mesc l("Note: No rares will be given if Golbarez doesn't get enough GP to find the paradise, but Strange Coins will still be given.");
+ close;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/019-4/_import.txt b/npc/019-4/_import.txt
new file mode 100644
index 0000000..381ecd0
--- /dev/null
+++ b/npc/019-4/_import.txt
@@ -0,0 +1,5 @@
+// Map 019-4: Romantic Place
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/019-4/_mobs.txt",
+"npc/019-4/_warps.txt",
+"npc/019-4/wateranimation.txt",
diff --git a/npc/019-4/_mobs.txt b/npc/019-4/_mobs.txt
new file mode 100644
index 0000000..2be7903
--- /dev/null
+++ b/npc/019-4/_mobs.txt
@@ -0,0 +1,7 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-4: Romantic Place mobs
+019-4,93,59,22,21 monster Water Fairy 1184,6,100000,30000
+019-4,84,103,36,19 monster Alpha Mouboo 1056,2,100000,30000
+019-4,101,58,44,52 monster Fluffy 1022,18,100000,30000
+019-4,116,67,36,30 monster Azul Slime 1095,6,100000,30000
+019-4,143,35,6,7 monster Pollet 1219,2,200000,30000
diff --git a/npc/019-4/_warps.txt b/npc/019-4/_warps.txt
new file mode 100644
index 0000000..fa1a571
--- /dev/null
+++ b/npc/019-4/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-4: Romantic Place warps
+019-4,95,27,0 warp #019-4_95_27 3,0,019-1,61,101
+019-4,133,53,0 warp #019-4_133_53 0,0,019-4-1,50,45
+019-4,54,110,0 warp #019-4_54_110 1,0,014-5,192,17
diff --git a/npc/019-4/wateranimation.txt b/npc/019-4/wateranimation.txt
new file mode 100644
index 0000000..438066b
--- /dev/null
+++ b/npc/019-4/wateranimation.txt
@@ -0,0 +1,41 @@
+// TMW2 scripts.
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Water animations, splash, fishes, etc...
+
+019-4,144,53,0 script #fishing_winterlands0 NPC_WATER_SPLASH,{
+
+ fishing(1, CommonCarp,
+ FrozenYetiTear, IceCube, GrassCarp); // begin or continue fishing
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
+
+019-4,146,32,0 duplicate(#fishing_winterlands0) #fishing_winterlands1 NPC_WATER_SPLASH
+019-4,115,71,0 duplicate(#fishing_winterlands0) #fishing_winterlands2 NPC_WATER_SPLASH
+
+019-1,114,104,0 duplicate(#fishing_winterlands0) #fishing_winterlands3 NPC_WATER_SPLASH
+019-1,121,78,0 duplicate(#fishing_winterlands0) #fishing_winterlands4 NPC_WATER_SPLASH
+
+019-2,103,119,0 script #fishing_winterlandsb NPC_WATER_SPLASH,{
+
+ fishing; // begin or continue fishing
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
+
+019-2,103,103,0 duplicate(#fishing_winterlandsb) #fishing_winterlands5 NPC_WATER_SPLASH
+019-2,109,74,0 duplicate(#fishing_winterlandsb) #fishing_winterlands6 NPC_WATER_SPLASH
+019-2,109,44,0 duplicate(#fishing_winterlandsb) #fishing_winterlands7 NPC_WATER_SPLASH
+
+
diff --git a/npc/019-5-1/_import.txt b/npc/019-5-1/_import.txt
new file mode 100644
index 0000000..e46d7b8
--- /dev/null
+++ b/npc/019-5-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 019-5-1: Frosty Underground
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/019-5-1/_mobs.txt",
+"npc/019-5-1/_warps.txt",
diff --git a/npc/019-5-1/_mobs.txt b/npc/019-5-1/_mobs.txt
new file mode 100644
index 0000000..79bd47d
--- /dev/null
+++ b/npc/019-5-1/_mobs.txt
@@ -0,0 +1,16 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-5-1: Frosty Underground mobs
+019-5-1,68,101,6,4 monster Yeti 1064,2,100000,30000
+019-5-1,55,61,12,13 monster Moggun 1070,14,100000,30000
+019-5-1,119,104,2,2 monster Snowman 1440,1,100000,30000
+019-5-1,132,71,4,3 monster White Slime 1094,4,100000,30000
+019-5-1,107,85,7,4 monster Blue Slime 1087,2,100000,30000
+019-5-1,98,77,3,2 monster White Slime 1094,4,100000,30000
+019-5-1,70,82,3,2 monster White Slime 1094,6,100000,30000
+019-5-1,106,34,3,2 monster White Slime 1094,4,100000,30000
+019-5-1,33,37,3,2 monster White Slime 1094,4,100000,30000
+019-5-1,144,105,7,4 monster Blue Slime 1087,2,100000,30000
+019-5-1,152,55,7,4 monster Blue Slime 1087,2,100000,30000
+019-5-1,84,53,7,4 monster Blue Slime 1087,2,100000,30000
+019-5-1,47,23,7,5 monster Snowman 1440,2,100000,30000
+019-5-1,113,48,6,4 monster Yeti 1064,2,100000,30000
diff --git a/npc/019-5-1/_warps.txt b/npc/019-5-1/_warps.txt
new file mode 100644
index 0000000..acbf5dc
--- /dev/null
+++ b/npc/019-5-1/_warps.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-5-1: Frosty Underground warps
+019-5-1,139,19,0 warp #019-5-1_139_19 0,0,019-5,180,187
+019-5-1,78,30,0 warp #019-5-1_78_30 0,0,019-5,119,198
+019-5-1,83,43,0 warp #019-5-1_83_43 0,0,019-5,124,211
+019-5-1,131,48,0 warp #019-5-1_131_48 0,0,019-5,172,216
+019-5-1,131,55,0 warp #019-5-1_131_55 0,0,019-5,172,223
+019-5-1,124,109,0 warp #019-5-1_124_109 0,0,019-5,165,277
diff --git a/npc/019-5-2/_import.txt b/npc/019-5-2/_import.txt
new file mode 100644
index 0000000..3a8419a
--- /dev/null
+++ b/npc/019-5-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 019-5-2: Snow Hills Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/019-5-2/_mobs.txt",
+"npc/019-5-2/_warps.txt",
diff --git a/npc/019-5-2/_mobs.txt b/npc/019-5-2/_mobs.txt
new file mode 100644
index 0000000..a9c7e43
--- /dev/null
+++ b/npc/019-5-2/_mobs.txt
@@ -0,0 +1,23 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-5-2: Snow Hills Cave mobs
+019-5-2,56,135,4,4 monster White Slime 1094,7,100000,30000
+019-5-2,35,153,3,3 monster White Slime 1094,7,100000,30000
+019-5-2,39,104,4,4 monster White Slime 1094,7,100000,30000
+019-5-2,73,153,4,4 monster White Slime 1094,7,100000,30000
+019-5-2,64,104,1,1 monster White Slime 1094,7,100000,30000
+019-5-2,24,168,3,2 monster Blue Slime 1087,2,100000,30000
+019-5-2,87,134,2,1 monster Blue Slime 1087,2,100000,30000
+019-5-2,55,122,2,1 monster Blue Slime 1087,2,100000,30000
+019-5-2,35,128,2,1 monster Blue Slime 1087,2,100000,30000
+019-5-2,53,84,2,1 monster Blue Slime 1087,2,100000,30000
+019-5-2,75,136,10,13 monster Moggun 1070,5,100000,30000
+019-5-2,39,31,21,10 monster Moggun 1070,12,100000,30000
+019-5-2,40,31,2,1 monster Azul Skull Slime 1402,2,100000,30000
+019-5-2,122,157,10,8 monster Yeti 1064,2,100000,30000
+019-5-2,102,166,7,6 monster Azul Skull Slime 1402,5,100000,30000
+019-5-2,109,81,7,6 monster Azul Slime Mother 1243,1,100000,30000
+019-5-2,123,90,2,1 monster Blue Slime 1087,2,100000,30000
+019-5-2,109,97,4,4 monster White Slime 1094,7,100000,30000
+019-5-2,119,41,21,10 monster Moggun 1070,8,100000,30000
+019-5-2,51,94,19,7 monster Azul Skull Slime 1402,5,100000,30000
+019-5-2,121,172,4,4 monster White Slime 1094,7,100000,30000
diff --git a/npc/019-5-2/_warps.txt b/npc/019-5-2/_warps.txt
new file mode 100644
index 0000000..c54de64
--- /dev/null
+++ b/npc/019-5-2/_warps.txt
@@ -0,0 +1,11 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-5-2: Snow Hills Cave warps
+019-5-2,46,74,0 warp #019-5-2_46_74 0,0,019-5,45,75
+019-5-2,33,176,0 warp #019-5-2_33_176 0,0,019-5,37,174
+019-5-2,126,181,0 warp #019-5-2_126_181 0,0,019-5,101,144
+019-5-2,35,42,0 warp #019-5-2_35_42 0,0,019-5,78,110
+019-5-2,108,163,0 warp #019-5-2_108_163 0,0,019-5,83,125
+019-5-2,110,103,0 warp #019-5-2_110_103 0,0,019-5,108,166
+019-5-2,119,95,0 warp #019-5-2_119_95 0,0,019-5,108,157
+019-5-2,119,59,0 warp #019-5-2_119_59 0,0,019-5,102,112
+019-5-2,128,46,0 warp #019-5-2_128_46 0,0,019-5,102,108
diff --git a/npc/019-5-3/_import.txt b/npc/019-5-3/_import.txt
new file mode 100644
index 0000000..07c705f
--- /dev/null
+++ b/npc/019-5-3/_import.txt
@@ -0,0 +1,4 @@
+// Map 019-5-3: Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/019-5-3/_warps.txt",
+"npc/019-5-3/episode.txt",
diff --git a/npc/019-5-3/_warps.txt b/npc/019-5-3/_warps.txt
new file mode 100644
index 0000000..9c34218
--- /dev/null
+++ b/npc/019-5-3/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-5-3: Indoors warps
+019-5-3,31,33,0 warp #019-5-3_31_33 1,0,019-5,128,40
diff --git a/npc/019-5-3/episode.txt b/npc/019-5-3/episode.txt
new file mode 100644
index 0000000..ed9c71a
--- /dev/null
+++ b/npc/019-5-3/episode.txt
@@ -0,0 +1,76 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva <jesusalva@tmw2.org>
+// Description:
+// The Episode
+
+019-5-3,21,25,0 script Mysterious Chest#EP1 NPC_CHEST,{
+ if (instance_id() < 0) end;
+ .@gp = BankVault + Zeny;
+ .@money = 1+(BaseLevel > 60 ? (BaseLevel > 80 ? .@gp/5 : .@gp/10) : .@gp/50);
+ .@money = max(.@money, 1000);
+ mesc l("Do you want to open this chest?");
+ mesc l("You must deposit %s GP, which will be returned if quest is completed.", fnum(.@money));
+ mesc l("There is a time limit, which is already running.");
+ // At level 80, the "boss" is just small fry.
+ if (BaseLevel < 80)
+ mesc l("WARNING: Dangerous!!"), 1;
+ if (Zeny < .@money) close;
+ next;
+ if (askyesno() == ASK_NO) {
+ closeclientdialog;
+ close;
+ }
+ CHEST_MONEY=(CHEST_MONEY/2)+.@money; // You lose 50% of whatever you put earlier
+ Zeny-=.@money;
+ disablenpc instance_npcname("Mysterious Chest#EP1", getq2(LoFQuest_EPISODE));
+ enablenpc instance_npcname("Mysterious Chest#EP2", getq2(LoFQuest_EPISODE));
+ closeclientdialog;
+ // Good luck with your boss :3
+ .@m$=getmap();
+ monster(.@m$, 31, 31, "???", JackO, 1);
+ sleep2(max(300, 10000-(BaseLevel * 100)));
+ monster(.@m$, 30, 31, "???", MagicGoblin, 1);
+ monster(.@m$, 31, 31, "???", MagicGoblin, 1);
+ sleep2(max(15000, 60000-(BaseLevel * 200)));
+ monster(.@m$, 30, 31, "???", MagicGoblin, 1);
+ monster(.@m$, 31, 31, "???", MagicGoblin, 1);
+ end;
+
+OnInit:
+ .distance = 2;
+ end;
+}
+
+
+019-5-3,21,25,0 script Mysterious Chest#EP2 NPC_CHEST,{
+ if (instance_id() < 0) end;
+ if (mobcount(getmap(), "all")) end;
+ mesc l("Do you want to open this chest?");
+ if (askyesno() == ASK_NO) {
+ closeclientdialog;
+ close;
+ }
+ if (getq(LoFQuest_EPISODE) != 11) {
+ atcommand("@ban 3d "+strcharinfo(0));
+ end;
+ }
+ .@q2 = getq2(LoFQuest_EPISODE);
+ instance_set_timeout(900, 900, .@q2);
+ warp "ep02@"+getcharid(0), 37, 20; // To Falkrun
+ disablenpc instance_npcname("#004-3-1_70_25", getq2(LoFQuest_EPISODE));
+ disablenpc instance_npcname("#004-3-1_68_33", getq2(LoFQuest_EPISODE));
+ disablenpc instance_npcname("Mysterious Chest#EP2", getq2(LoFQuest_EPISODE));
+ close;
+
+OnInstanceInit:
+ .distance = 2;
+ disablenpc instance_npcname("Mysterious Chest#EP2");
+ end;
+
+OnInit:
+ .distance = 2;
+ disablenpc .name$;
+ end;
+}
+
diff --git a/npc/019-5/_import.txt b/npc/019-5/_import.txt
new file mode 100644
index 0000000..79fadae
--- /dev/null
+++ b/npc/019-5/_import.txt
@@ -0,0 +1,5 @@
+// Map 019-5: Rock Plateau
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/019-5/_mobs.txt",
+"npc/019-5/_warps.txt",
+"npc/019-5/episode.txt",
diff --git a/npc/019-5/_mobs.txt b/npc/019-5/_mobs.txt
new file mode 100644
index 0000000..54040c2
--- /dev/null
+++ b/npc/019-5/_mobs.txt
@@ -0,0 +1,27 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-5: Rock Plateau mobs
+019-5,85,195,26,10 monster Moggun 1070,12,100000,30000
+019-5,128,261,11,6 monster Wolvern 1037,5,100000,30000
+019-5,113,219,7,6 monster Wolvern 1037,2,100000,30000
+019-5,77,272,5,4 monster Wolvern 1037,2,100000,30000
+019-5,156,200,22,16 monster Wolvern 1037,7,100000,30000
+019-5,186,227,5,4 monster Wolvern 1037,2,100000,30000
+019-5,37,175,1,1 monster White Slime 1094,7,100000,30000
+019-5,45,75,1,1 monster Blue Slime 1087,1,100000,30000
+019-5,81,125,51,28 monster Moggun 1070,25,100000,30000
+019-5,189,123,12,18 monster Wolvern 1037,6,100000,30000
+019-5,160,115,12,10 monster Wolvern 1037,6,100000,30000
+019-5,169,163,24,15 monster Wolvern 1037,6,100000,30000
+019-5,58,71,24,15 monster Wolvern 1037,6,100000,30000
+019-5,122,116,10,12 monster Wolvern 1037,6,100000,30000
+019-5,110,173,12,10 monster Wolvern 1037,6,100000,30000
+019-5,108,168,1,1 monster White Slime 1094,7,100000,30000
+019-5,108,158,1,1 monster Blue Slime 1087,1,100000,30000
+019-5,87,119,18,17 monster Yeti 1064,2,100000,30000
+019-5,138,22,1,1 monster White Slime 1094,4,100000,30000
+019-5,157,66,1,1 monster White Slime 1094,4,100000,30000
+019-5,174,46,2,2 monster Blue Slime 1087,2,100000,30000
+019-5,143,43,2,2 monster Blue Slime 1087,2,100000,30000
+019-5,122,61,1,1 monster White Slime 1094,4,100000,30000
+019-5,132,70,2,2 monster Blue Slime 1087,2,100000,30000
+019-5,106,157,97,149 monster Pollet 1219,24,200000,30000
diff --git a/npc/019-5/_warps.txt b/npc/019-5/_warps.txt
new file mode 100644
index 0000000..53989cb
--- /dev/null
+++ b/npc/019-5/_warps.txt
@@ -0,0 +1,18 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-5: Rock Plateau warps
+019-5,136,285,0 warp #019-5_136_285 1,0,019-6,94,18
+019-5,119,197,0 warp #019-5_119_197 0,0,019-5-1,78,29
+019-5,172,215,0 warp #019-5_172_215 0,0,019-5-1,131,47
+019-5,172,222,0 warp #019-5_172_222 0,0,019-5-1,131,54
+019-5,180,186,0 warp #019-5_180_186 0,0,019-5-1,139,18
+019-5,124,210,0 warp #019-5_124_210 0,0,019-5-1,83,42
+019-5,165,276,0 warp #019-5_165_276 0,0,019-5-1,124,108
+019-5,108,165,0 warp #019-5_108_165 0,0,019-5-2,110,102
+019-5,108,156,0 warp #019-5_108_156 0,0,019-5-2,119,94
+019-5,102,111,0 warp #019-5_102_111 0,0,019-5-2,119,58
+019-5,102,107,0 warp #019-5_102_107 0,0,019-5-2,128,45
+019-5,101,143,0 warp #019-5_101_143 0,0,019-5-2,126,180
+019-5,37,173,0 warp #019-5_37_173 0,0,019-5-2,33,175
+019-5,45,73,0 warp #019-5_45_73 0,0,019-5-2,46,76
+019-5,78,109,0 warp #019-5_78_109 0,0,019-5-2,35,41
+019-5,83,123,0 warp #019-5_83_123 0,0,019-5-2,108,165
diff --git a/npc/019-5/episode.txt b/npc/019-5/episode.txt
new file mode 100644
index 0000000..7264a53
--- /dev/null
+++ b/npc/019-5/episode.txt
@@ -0,0 +1,33 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva <jesusalva@tmw2.org>
+// Description:
+// The Episode
+
+019-5,128,39,0 script #EpisodeDoor NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if (getq(LoFQuest_EPISODE) != 11) {
+ dispbottom l("This door is locked. A warning sign is on the door: \"do not enter!\".");
+ end;
+ }
+ // The Episode
+ setq3 LoFQuest_EPISODE, 0;
+ .@q2=getq2(LoFQuest_EPISODE);
+ .@mapn$="ep01@"+getcharid(0);
+ .@mape$="ep02@"+getcharid(0);
+ if (instanceowner(.@q2) == getcharid(3)) {
+ instance_set_timeout(900, 900, .@q2);
+ } else {
+ .@q2 = instance_create("Episode "+getcharid(0), getcharid(3), IOT_CHAR);
+ instance_attachmap("019-5-3", .@q2, false, .@mapn$);
+ instance_attachmap("004-3-1", .@q2, false, .@mape$);
+ instance_set_timeout(900, 900, .@q2);
+ instance_init(.@q2);
+ setq2 LoFQuest_EPISODE, .@q2;
+ }
+ // Warp to instance
+ warp .@mapn$, 30, 32;
+ end;
+}
+
diff --git a/npc/019-6/_import.txt b/npc/019-6/_import.txt
new file mode 100644
index 0000000..c1ac348
--- /dev/null
+++ b/npc/019-6/_import.txt
@@ -0,0 +1,4 @@
+// Map 019-6: snow Path
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/019-6/_mobs.txt",
+"npc/019-6/_warps.txt",
diff --git a/npc/019-6/_mobs.txt b/npc/019-6/_mobs.txt
new file mode 100644
index 0000000..765d2cf
--- /dev/null
+++ b/npc/019-6/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-6: snow Path mobs
+019-6,144,58,109,42 monster Pollet 1219,12,200000,30000
+019-6,94,63,48,52 monster Santa Slime 1096,6,30000,30000
+019-6,141,50,100,45 monster Fluffy 1022,50,100000,30000
+019-6,125,71,75,37 monster Wolvern 1037,12,60000,30000
diff --git a/npc/019-6/_warps.txt b/npc/019-6/_warps.txt
new file mode 100644
index 0000000..be355b3
--- /dev/null
+++ b/npc/019-6/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 019-6: snow Path warps
+019-6,257,70,0 warp #019-6_257_70 0,1,019-1,22,69
+019-6,95,17,0 warp #019-6_95_17 1,0,019-5,135,284
diff --git a/npc/020-1/_import.txt b/npc/020-1/_import.txt
new file mode 100644
index 0000000..2eb1208
--- /dev/null
+++ b/npc/020-1/_import.txt
@@ -0,0 +1,13 @@
+// Map 020-1: Nivalis
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/020-1/_mobs.txt",
+"npc/020-1/_warps.txt",
+"npc/020-1/guards.txt",
+"npc/020-1/mapflags.txt",
+"npc/020-1/misc.txt",
+"npc/020-1/serge.txt",
+"npc/020-1/siege.txt",
+"npc/020-1/town.txt",
+"npc/020-1/trainer.txt",
+"npc/020-1/wateranimation.txt",
+"npc/020-1/well.txt",
diff --git a/npc/020-1/_mobs.txt b/npc/020-1/_mobs.txt
new file mode 100644
index 0000000..9bafbea
--- /dev/null
+++ b/npc/020-1/_mobs.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 020-1: Nivalis mobs
+020-1,62,75,50,51 monster Fluffy 1022,20,60000,30000
+020-1,66,76,48,49 monster Squirrel 1054,5,100000,30000
+020-1,68,79,48,49 monster Pollet 1219,16,90000,30000
diff --git a/npc/020-1/_warps.txt b/npc/020-1/_warps.txt
new file mode 100644
index 0000000..d8018a1
--- /dev/null
+++ b/npc/020-1/_warps.txt
@@ -0,0 +1,10 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 020-1: Nivalis warps
+020-1,47,48,0 warp #020-1_47_48 0,0,020-2,30,36
+020-1,66,52,0 warp #020-1_66_52 0,0,020-7,40,49
+020-1,64,82,0 warp #020-1_64_82 0,0,020-4,64,53
+020-1,86,46,0 warp #020-1_86_46 0,0,020-5,33,30
+020-1,57,91,0 warp #020-1_57_91 0,0,020-3,20,28
+020-1,70,128,0 warp #020-1_70_128 3,0,019-1,70,22
+020-1,107,55,0 warp #020-1_107_55 0,0,019-2,38,55
+020-1,33,94,0 warp #020-1_33_94 0,0,020-6,30,32
diff --git a/npc/020-1/guards.txt b/npc/020-1/guards.txt
new file mode 100644
index 0000000..4d33bee
--- /dev/null
+++ b/npc/020-1/guards.txt
@@ -0,0 +1,104 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Protect Nivalis
+
+020-1,49,48,0 script Lieutenant Joshua NPC_PLAYER,{
+ // The Monster King guild have a special menu
+ if (strcharinfo(2) == "Monster King") goto L_MKControl;
+
+ if ($NIVALIS_LIBDATE) {
+ mesn;
+ mesq l("Nivalis was liberated @@ ago.", FuzzyTime($NIVALIS_LIBDATE));
+ close;
+ } else {
+ legiontalk; end;
+ }
+
+L_MKControl:
+ mesn;
+ mes "Oh noes! You've found the Nivalis control panel!";
+ next;
+ select
+ l("Abort"),
+ l("Initiate a siege");
+ mes "";
+ if (@menu == 2) {
+ doevent "Lieutenant Joshua::OnStartSiege";
+ closedialog;
+ }
+ close;
+
+
+OnMKSiege:
+ $@SIEGE_ABORTED = false;
+OnStartSiege:
+ kamibroadcast(col("WARNING! WARNING! Monster Army is moving towards Nivalis!!",1));
+ do_siege("020-1", "019-2", "NIVAL", TP_NIVAL, .name$, .siegetime);
+ initnpctimer;
+ end;
+
+// Timers
+OnTimer5000:
+ .siegetime+=5;
+ do_siege("020-1", "019-2", "NIVAL", TP_NIVAL, .name$, .siegetime);
+ switch (.siegetime) {
+ // Monster Army arrives in town
+ case 60:
+ disablenpc "Serge";
+ disablenpc "Knox The Traveler";
+ disablenpc "Camilot";
+ disablenpc "Mede";
+ disablenpc "Gambler#020-4";
+ disablenpc "Gambling Xan";
+ disablenpc "Baktar";
+ disablenpc "Bracco";
+ disablenpc "Agostine";
+ break;
+ // Monster Army deployed in town
+ case 90:
+ disablenpc "Ben#NivBanker";
+ break;
+ // Monster army have withdrawn completly
+ case MK_SIEGE_DURATION:
+ .siegetime=0;
+ announce(("Nivalis siege is over!"), bc_all);
+ enablenpc "Serge";
+ enablenpc "Knox The Traveler";
+ enablenpc "Camilot";
+ enablenpc "Mede";
+ enablenpc "Gambler#020-4";
+ enablenpc "Gambling Xan";
+ enablenpc "Baktar";
+ enablenpc "Bracco";
+ enablenpc "Agostine";
+ enablenpc "Ben#NivBanker";
+ stopnpctimer;
+ end;
+ break;
+ }
+
+ // Loop again
+ initnpctimer;
+ end;
+
+OnInit:
+ .siegetime=0;
+ .sex = G_MALE;
+ .distance = 4;
+
+ // Check items.xml for info about this.
+ .@npcId = getnpcid();
+ setunitdata(.@npcId, UDT_HEADTOP, BullHelmet);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, LieutenantArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_SHIELD, LousyMoccasins); // TODO FIXME: Display Boots
+ setunitdata(.@npcId, UDT_WEAPON, Backsword);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 12);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 15);
+ end;
+
+
+}
+
diff --git a/npc/020-1/mapflags.txt b/npc/020-1/mapflags.txt
new file mode 100644
index 0000000..838cbfa
--- /dev/null
+++ b/npc/020-1/mapflags.txt
@@ -0,0 +1,8 @@
+020-1 mapflag town
+020-2 mapflag town
+020-3 mapflag town
+020-4 mapflag town
+020-5 mapflag town
+020-6 mapflag town
+020-7 mapflag town
+020-7-1 mapflag town
diff --git a/npc/020-1/misc.txt b/npc/020-1/misc.txt
new file mode 100644
index 0000000..f3b24ee
--- /dev/null
+++ b/npc/020-1/misc.txt
@@ -0,0 +1,197 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Essential scripts any city must have
+
+// Description:
+// The Travelers travel around the world telling stories.
+020-1,44,67,0 script Knox The Traveler NPC_F_COINKEEPER,{
+
+ mesn;
+ if (strcharinfo(0) == $MOST_HEROIC$) mesq l("Wow! Are you @@? Everyone, in every city, talks about you!", $MOST_HEROIC$);
+ if (strcharinfo(0) == $MOST_HEROIC$) next;
+
+ mesq l("Hello. I am @@, and I am from a family of travellers. We travel though the whole world, looking for exotic goods.", .name$);
+ next;
+ mesq l("You can buy rare items with me, or I can tell you about different cities in our world.");
+
+L_Menu:
+ mes "";
+ menu
+ l("I want to trade with you."), L_Trade,
+ l("Tell me about Tulimshar."), L_Tulim,
+ l("Tell me about Nivalis."), L_Nival,
+ l("Tell me about Frostia."), L_Frost,
+ l("Tell me about Thermin."), L_Therm,
+ l("Sorry, I'll pass."), L_Close;
+
+L_Tulim:
+ mes "";
+ mesn;
+ mesq l("Tulimshar is the oldest human city, and its foundation is the year zero of our calendar.");
+ next;
+ mesq l("The city only flourished because Janett Platinum had the idea to build city walls surrounding this city.");
+ next;
+ mesq l("The desert climate means you'll find mostly maggots and scorpions. Their drops include cactus drinks, cake, knifes, black pearls, gold, and other common things.");
+ next;
+ mesq l("You can find for a good price desert equipment and some kind of dyes. You find all sort of crafters, artisans and warriors here.");
+ next;
+ goto L_Menu;
+
+L_Nival:
+ mes "";
+ mesn;
+ mesq l("Nivalis was the last human settlement built during the First Era.");
+ next;
+ mesq l("It's cold, harsh climate makes difficult to live there. It was founded by people thrown away from Tulimshar and Hunrscald for political reasons.");
+ next;
+ mesq l("The cold climate is ideal for slimes, penguins, and other icy creatures. You can find lots of... ice, of course!");
+ next;
+ mesq l("Some items are only produced in Nivalis. After all, it is hard to work properly with ice in a desert!");
+ next;
+ goto L_Menu;
+
+L_Frost:
+ mes "";
+ mesn;
+ mesq l("Frostia is the only city known that was not founded by humans.");
+ next;
+ mesq l("They are strict with who is allowed inside, so you'll need either elf or ukar friends to pass.");
+ next;
+ mesq l("It is on a huge, icy mountain peak. Rumors about dragons and legendary items to be found.");
+ next;
+ mesq l("Some of finest elven craftmanship can be found there, like bows, for example.");
+ next;
+ goto L_Menu;
+
+L_Therm:
+ mes "";
+ mesn;
+ mesq l("Thermin is also known as the lost city. It was once founded to mine ores, and export to everyone.");
+ next;
+ mesq l("I think it was the Orcs and Raijins town. It was laid to waste by Yetis.");
+ next;
+ mesq l("Most Orcs become nomads and Raijins moved to Hurnscald, but they say Thermin might have been rebuilt somewhere else.");
+ next;
+ mesq l("On the ruins you may find free loot... And on the new town, you may find the sturdiest stuff of all.");
+ next;
+ goto L_Menu;
+
+L_Trade:
+ mesn;
+ mesq l("Use your @@ as currency!", getitemlink(StrangeCoin));
+ tutmes l("%s is obtained during events, daily logins, heroic deeds, gifts, etc. But cannot be bought with real money.", getitemlink(StrangeCoin));
+ next;
+ openshop "Aeros Trader";
+ closedialog;
+
+L_Close:
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, UglyChristmasSweater);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, JeansShorts);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 22);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 8);
+ npcsit;
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
+// Description:
+// Banker.
+020-2,30,25,0 script Ben#NivBanker NPC_LLOYD,{
+ Banker(.name$, "Nivalis", 10000);
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
+// Description:
+// Barber.
+020-1,88,76,0 script Camilot NPC_ELVEN_FEMALE_ARMOR_SHOP,{
+ function setRace {
+ clear;
+ setnpcdialogtitle l("Debug - Modify Race");
+ mes l("Race") + ": " + $@allraces$[Class];
+ next;
+ mes l("Please select the desired race.");
+ select("Human:Ukar:Redy:Elf:Orc:Raijin:Tritan");
+ jobchange max(0, @menu-1);
+ return;
+ }
+
+
+ mesn;
+ mesq l("Hi! Do you want a hair cut?");
+
+ do
+ {
+ select
+ l("What is my current hairstyle and hair color?"),
+ l("I'd like to get a different style."),
+ l("Can you do something with my color?"),
+ rif(is_staff(), l("I am a GM, and I want to change my Race!")),
+ l("I'm fine for now, thank you.");
+
+ switch (@menu)
+ {
+ case 1:
+ BarberSayStyle 3;
+ break;
+ case 2:
+ BarberChangeStyle;
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Enjoy your new style.");
+ l("Anything else?");
+ break;
+ case 3:
+ BarberChangeColor;
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("I hope you like this color.");
+ l("Anything else?");
+ break;
+ case 4:
+ setRace;
+ break;
+ case 5:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Feel free to come visit me another time.");
+
+ goodbye;
+ }
+ } while (1);
+ close;
+
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
+// Description:
+// Soul Menhir
+020-1,57,63,0 script Soul Menhir#niv NPC_SOUL_SNOW,{
+ @map$ = "020-1";
+ setarray @Xs, 56, 57, 58, 56, 58, 56, 57, 58;
+ setarray @Ys, 62, 62, 62, 63, 63, 64, 64, 64;
+ @x = 0;
+ @y = 0;
+ callfunc "SoulMenhir";
+ @map$ = "";
+ cleararray @Xs[0], 0, getarraysize(@Xs);
+ cleararray @Ys[0], 0, getarraysize(@Ys);
+ @x = 0;
+ @y = 0;
+ close;
+}
diff --git a/npc/020-1/serge.txt b/npc/020-1/serge.txt
new file mode 100644
index 0000000..5414591
--- /dev/null
+++ b/npc/020-1/serge.txt
@@ -0,0 +1,103 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Hunt Fluffies, and Winter Quest, based on Luffyx. Disabled during Christmas.
+//
+// SQuest_Winter
+// SergeQuest;
+
+020-1,77,78,0 script Serge NPC_ELF,{
+ if (season() != WINTER)
+ goto L_OutOfSeason;
+ if ($EVENT$ == "Christmas")
+ goto L_QuestDisabled;
+
+ .@q=getq(SQuest_Winter);
+ mesn;
+ mesq l("Brrrr... I'm freezing! The winter at Nivalis is so harsh!!");
+ if (.@q < 1)
+ goto L_WinterQuest;
+
+L_Main:
+ if (GHQUEST)
+ GHQ_Assign(Fluffy, "Nivalis");
+ close;
+
+L_OutOfSeason:
+ mesn;
+ mesq l("Hmm, Nivalis is a wonderful place to live in! Although it is a tad too cold on Winter...");
+ goto L_Main;
+
+L_QuestDisabled:
+ mesn;
+ mesq l("Merry Christmas!");
+ mesc l("The @@ quest is disabled during Christmas event.", getitemlink(KnitHat));
+ next;
+ goto L_Main;
+
+L_WinterQuest:
+ next;
+ mesn;
+ mesq l("Hey, do you know what is good on this harsh winter? A @@!", getitemlink(KnitHat));
+ next;
+ mesn;
+ mes l("What about you bring me:");
+ mes l("@@/120 @@", countitem(Snowflake), getitemlink(Snowflake));
+ mes l("@@/80 @@", countitem(CaramelCandy), getitemlink(CaramelCandy));
+ mes l("@@/40 @@", countitem(GingerBreadMan), getitemlink(GingerBreadMan));
+ mes l("@@/10 @@", countitem(ChocolateBiscuit), getitemlink(ChocolateBiscuit)); // Found at Chocolate Slime: 4.00%
+ next;
+ select
+ l("Not now, thanks"),
+ l("To be honest, I have that with me!");
+
+ mes "";
+ if (@menu == 1)
+ goto L_Main;
+ if (@menu == 2) {
+ if (
+ countitem(Snowflake) < 120 ||
+ countitem(CaramelCandy) < 80 ||
+ countitem(GingerBreadMan) < 40 ||
+ countitem(ChocolateBiscuit) < 10
+ ) goto L_Lying;
+
+ inventoryplace KnitHat, 1;
+ delitem Snowflake, 120;
+ delitem CaramelCandy, 80;
+ delitem GingerBreadMan, 40;
+ delitem ChocolateBiscuit, 10;
+ getitem KnitHat, 1;
+ getexp BaseLevel*267, JobLevel*80; // Level 30/20 ABSOLUTE CAP
+ setq1 SQuest_Winter, 1;
+ mesn;
+ mesq l("Yay yay! Many thanks! Here, take the reward as promised!");
+ next;
+ mesn;
+ mesq l("We can do this again on next winter!");
+ goto L_Main;
+ }
+
+ close;
+
+L_Lying:
+ mesn;
+ mesq l("Please don't lie to me...");
+ goto L_Main;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, CommunityShirt);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, JeansChaps);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_WEAPON, KnitHat);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 13);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 7);
+
+ .distance=4;
+ .sex=G_MALE;
+ npcsit;
+ end;
+
+}
diff --git a/npc/020-1/siege.txt b/npc/020-1/siege.txt
new file mode 100644
index 0000000..49b7c41
--- /dev/null
+++ b/npc/020-1/siege.txt
@@ -0,0 +1,60 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Nivalis Siege for Liberation Day
+// Each player process its own share of monsters. There are 10 waves.
+//
+// Q_NivalisLibday
+// Day, Score, Temporary Time;
+
+020-1,0,0,0 script #NLib_Siege NPC_HIDDEN,{
+
+OnLoop:
+ @nlib_time+=5; // This is looped every 5 s
+
+ // Victory conditions: All monsters dead & number of waves filled. (Or if you reach level 40)
+ if (BaseLevel >= 30 || (@nlib_wave >= 10 && mobcount("020-1", "#NLib_Siege::OnPetDeath") <= 0))
+ goto L_CleanUp;
+
+ // New wave condition: Waves pending and A- All Mobs Dead B- 4 minutes spent
+ if (@nlib_wave < 10 && (mobcount("020-1", "#NLib_Siege::OnPetDeath") <= 0 || @nlib_time >= 240))
+ goto L_NextRound;
+
+ // reset timer
+ addtimer(5000, "#NLib_Siege::OnLoop");
+ end;
+
+L_NextRound:
+ @nlib_time=0;
+ @nlib_wave = @nlib_wave + 1;
+ // Prepare next round
+ dispbottom l("Wave @@/10", @nlib_wave);
+ .@amount=@nlib_wave+rand(1,2);
+ freeloop(true);
+ for (.@i = 0; .@i < .@amount; ++.@i) {
+ .@monsterId=any(CaveMaggot, WhiteSlime, MagicGoblin, Bandit, GreenSlime,
+ CaveSnake, LavaSlime, DesertBandit, AngryRedScorpion,
+ Scorpion, RedScorpion, BlackSlime, Piousse, CandiedSlime,
+ AzulSlime, BlueSlime, SlimeBlast, RedSlime, AngryScorpion);
+ areamonster "020-1", 20, 20, 100, 100, strmobinfo(1, .@monsterId), .@monsterId, 1, "#NLib_Siege::OnPetDeath";
+ }
+ freeloop(false);
+
+ // reset timer
+ addtimer(5000, "#NLib_Siege::OnLoop");
+ end;
+
+// Warp you back, and give you a random small score.
+L_CleanUp:
+ .@q2=getq2(Q_NivalisLibday);
+ setq2 Q_NivalisLibday, .@q2+rand(1,5);
+ warp "019-2", 43, 55;
+ end;
+
+OnPetDeath:
+ .@lf=mobcount("020-1", "#NLib_Siege::OnPetDeath");
+ dispbottom l("Mobs remaining: @@", .@lf);
+ end;
+
+}
diff --git a/npc/020-1/town.txt b/npc/020-1/town.txt
new file mode 100644
index 0000000..4d957ce
--- /dev/null
+++ b/npc/020-1/town.txt
@@ -0,0 +1,12 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Reset LOCATION$ when entering a town
+
+020-1,71,102,0 script #LocNival NPC_HIDDEN,2,0,{
+OnTouch:
+ EnterTown("Nival");
+ end;
+}
+020-1,106,55,0 duplicate(#LocNival) #LocNivalB NPC_HIDDEN,1,1
diff --git a/npc/020-1/trainer.txt b/npc/020-1/trainer.txt
new file mode 100644
index 0000000..1fb4774
--- /dev/null
+++ b/npc/020-1/trainer.txt
@@ -0,0 +1,167 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Mercenary Trainer
+
+020-1,39,89,0 script Mercenary Trainer NPC_REDY_MALE_SWORD,{
+ mesn;
+ mesq l("Hello, I am a sword to hire, a Mercenary Trainer and Chief.");
+ next;
+ mesn;
+ mesq l("Do you want to hire a mercenary? Or perhaps get a card so you can invoke them later? I can even make them stronger if you wish.");
+ next;
+ goto L_Main;
+
+L_Main:
+ select
+ l("Hire a mercenary"),
+ l("Buy a mercenary card"),
+ l("Evolve mercenaries"),
+ l("Bye.");
+ mes "";
+ switch (@menu) {
+ // Hire Card
+ case 1:
+ menuint
+ l("[%d GP] [Lv 1~25] Hire for one hour", 2500), 1,
+ l("[%d GP] [Lv 26~40] Hire for one hour", 7500), 2,
+ l("[%d GP] [Lv 41~60] Hire for one hour", 15000), 3,
+ l("[%d GP] [Lv 61~79] Hire for one hour", 30000), 4,
+ l("[%d GP] [Lv 80~100] Hire for one hour", 50000), 5,
+ l("I've changed my mind"), 0;
+ switch (@menuret) {
+ case 1:
+ .@gp=max(2000, POL_AdjustPrice(2500));
+ if (Zeny < .@gp) {
+ mesc l("You cannot pay."), 1;
+ next;
+ } else {
+ .@mid=merc_randid(0, 0, 0, 0, 1000);
+ mercenary_create(.@mid, 3600000);
+ POL_PlayerMoney(.@gp);
+ }
+ break;
+ case 2:
+ .@gp=max(7000, POL_AdjustPrice(7500));
+ if (Zeny < .@gp) {
+ mesc l("You cannot pay."), 1;
+ next;
+ } else {
+ .@mid=merc_randid(0, 0, 0, 1000, 0);
+ mercenary_create(.@mid, 3600000);
+ POL_PlayerMoney(.@gp);
+ }
+ break;
+ case 3:
+ .@gp=max(14000, POL_AdjustPrice(15000));
+ if (Zeny < .@gp) {
+ mesc l("You cannot pay."), 1;
+ next;
+ } else {
+ mercenary_create merc_randid(0, 0, 1000, 0, 0), 3600000;
+ POL_PlayerMoney(.@gp);
+ }
+ break;
+ case 4:
+ .@gp=max(27000, POL_AdjustPrice(30000));
+ if (Zeny < .@gp) {
+ mesc l("You cannot pay."), 1;
+ next;
+ } else {
+ mercenary_create merc_randid(0, 1000, 0, 0, 0), 3600000;
+ POL_PlayerMoney(.@gp);
+ }
+ break;
+ case 5:
+ .@gp=max(45000, POL_AdjustPrice(50000));
+ if (Zeny < .@gp) {
+ mesc l("You cannot pay."), 1;
+ next;
+ } else {
+ mercenary_create merc_randid(1000, 0, 0, 0, 0), 3600000;
+ POL_PlayerMoney(.@gp);
+ }
+ break;
+ default:
+ break;
+ }
+ break;
+ // Buy Card
+ case 2:
+ npcshopattach(.name$);
+ openshop;
+ closedialog;
+ close;
+ break;
+ // Evolve Card
+ case 3:
+ mesn;
+ mesq l("Give me %s cards of the same type, and I'll give you one card of a higher rarity. There is no cost, but the card is random.", b(l("three")));
+ next;
+ mes "##B" + l("Drag and drop an item from your inventory.") + "##b";
+
+ .@card = requestitem();
+ if (.@card <= 1) break;
+ if (countitem(.@card) < 3) {
+ mesc l("You need at least %d cards of same kind.", 3), 1;
+ break;
+ }
+ .@st = merc_getstar(.@card);
+ if (.@st < 1 || .@st >= 5) {
+ mesc l("This cannot be evolved."), 1;
+ break;
+ }
+ delitem .@card, 3;
+ merc_boxset(
+ (.@st == 4 ? 1000 : 0),
+ (.@st == 3 ? 1000 : 0),
+ (.@st == 2 ? 1000 : 0),
+ (.@st == 1 ? 1000 : 0),
+ 0);
+ mesn;
+ mesq l("Here you go! Wasn't this a sweet deal?");
+ break;
+ // Leave
+ default:
+ closeclientdialog;
+ goodbye;
+ close;
+ break;
+ }
+ goto L_Main;
+
+OnInit:
+ tradertype(NST_MARKET);
+ sellitem MercBoxEE, 25000, 1;
+ sellitem MercBoxDD, 15000, 2;
+ sellitem MercBoxCC, 7500, 3;
+ sellitem MercBoxBB, 3750, 4;
+ sellitem MercBoxAA, 1250, 5;
+
+ .distance=5;
+ .sex=G_MALE;
+ end;
+
+OnClock0001:
+OnClock1201:
+ restoreshopitem MercBoxEE, 25000, 1;
+ restoreshopitem MercBoxDD, 15000, 2;
+ restoreshopitem MercBoxCC, 7500, 3;
+ restoreshopitem MercBoxBB, 3750, 4;
+ restoreshopitem MercBoxAA, 1250, 5;
+ end;
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes("Nival");
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ PurchaseTaxes("Nival");
+ end;
+
+}
+
diff --git a/npc/020-1/wateranimation.txt b/npc/020-1/wateranimation.txt
new file mode 100644
index 0000000..9876cf6
--- /dev/null
+++ b/npc/020-1/wateranimation.txt
@@ -0,0 +1,24 @@
+// TMW2 scripts.
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Water animations, splash, fishes, etc...
+
+020-1,82,73,0 script #fishing_nivalis0 NPC_WATER_SPLASH,{
+
+ fishing(1, CommonCarp,
+ IceCube, GrassCarp); // begin or continue fishing
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
+
+020-1,87,73,0 duplicate(#fishing_nivalis0) #fishing_nivalis1 NPC_WATER_SPLASH
+020-1,31,52,0 duplicate(#fishing_nivalis0) #fishing_nivalis2 NPC_WATER_SPLASH
+020-1,30,63,0 duplicate(#fishing_nivalis0) #fishing_nivalis3 NPC_WATER_SPLASH
+020-1,64,127,0 duplicate(#fishing_nivalis0) #fishing_nivalis4 NPC_WATER_SPLASH
+
diff --git a/npc/020-1/well.txt b/npc/020-1/well.txt
new file mode 100644
index 0000000..94265f0
--- /dev/null
+++ b/npc/020-1/well.txt
@@ -0,0 +1,14 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Annoy players
+
+020-1,99,83,0 script #NivalisWell NPC_NO_SPRITE,{
+ npctalkonce l("This well is sealed. They must take water outside the town.");
+ end;
+
+OnInit:
+ .distance=3;
+ end;
+}
diff --git a/npc/020-2/_import.txt b/npc/020-2/_import.txt
new file mode 100644
index 0000000..f0970e0
--- /dev/null
+++ b/npc/020-2/_import.txt
@@ -0,0 +1,3 @@
+// Map 020-2: Nivalis Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/020-2/_warps.txt",
diff --git a/npc/020-2/_warps.txt b/npc/020-2/_warps.txt
new file mode 100644
index 0000000..0efaf69
--- /dev/null
+++ b/npc/020-2/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 020-2: Nivalis Indoors warps
+020-2,30,37,0 warp #020-2_30_37 0,0,020-1,47,49
diff --git a/npc/020-3/_import.txt b/npc/020-3/_import.txt
new file mode 100644
index 0000000..b456279
--- /dev/null
+++ b/npc/020-3/_import.txt
@@ -0,0 +1,4 @@
+// Map 020-3: Nivalis Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/020-3/_warps.txt",
+"npc/020-3/mede.txt",
diff --git a/npc/020-3/_warps.txt b/npc/020-3/_warps.txt
new file mode 100644
index 0000000..c4408f0
--- /dev/null
+++ b/npc/020-3/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 020-3: Nivalis Indoors warps
+020-3,19,28,0 warp #020-3_19_28 0,0,020-1,56,91
diff --git a/npc/020-3/mede.txt b/npc/020-3/mede.txt
new file mode 100644
index 0000000..697a786
--- /dev/null
+++ b/npc/020-3/mede.txt
@@ -0,0 +1,137 @@
+// TMW2 Script
+// Author:
+// Saulc
+// Vasily_Makarov (original from Evol)
+// Jesusalva
+// Dye Quest added by Povo
+// Description:
+// Status Reset
+
+020-3,26,28,2 script Mede NPC_PLAYER,{
+
+ speech S_LAST_NEXT,
+ l("I am @@, an alchemist specialized in reset potions.", .name$);
+
+L_Menu:
+ .@plush_count = BaseLevel*220-(9*220);
+ // Lv 10: 220 GP
+ // Lv 90: 1.782 GP
+ if (BaseLevel > 10)
+ .@plush_count = .@plush_count/(BaseLevel/9);
+
+ select
+ l("Can you reset my stats please?"),
+ rif(MONSTERPOT >= 1, l("Can you make me a Monster Potion?")),
+ l("Do you make anything else?"),
+ lg("You are weird, I have to go sorry.");
+
+ switch (@menu)
+ {
+ case 1:
+ goto L_ResetStats;
+ case 2:
+ goto L_MonsterPot;
+ case 3:
+ goto L_Dye;
+ case 4:
+ goto L_Quit;
+ }
+
+L_ResetStats:
+ mesn;
+ mesq l("Status point reset can't be undone. Do you really want this?");
+
+L_ConfirmReset:
+ ConfirmStatusReset();
+ goto L_Quit;
+
+L_MonsterPot:
+ mesn;
+ mesq l("Not yet, I'm waiting @@ to deliver me the @@ reagent.", any("Saulc", "Jesusalva", "Demure"), any(l("Red"), l("Green"), l("Blue"), l("White")));
+ next;
+ mesn;
+ mesq l("But if you want, you can farm @@ already. Good luck!", getitemlink(GoldenScorpionClaw));
+ next;
+ goto L_Quit;
+
+L_Dye:
+ mesn;
+ mesq l("I used to make dyes for Agostine but he hasn't bought any in a while. I could make you a %s if you bring me the right items.",
+ getitemlink(TealDye));
+ next;
+ if (BaseLevel < 35) {
+ mesn;
+ mesq l("But the monsters around here must be pretty scary for someone like you.");
+ next;
+ mesq l("Come back when you are a higher level.");
+ next;
+ goto L_Menu;
+ }
+ mesq l("Bring me %d %s, %d %s, %d %s, and %d %s, and I will make it for you. I also charge %d GP as commission.",
+ 1, getitemlink(IcedBottle),
+ 25, getitemlink(BlueCoral),
+ 60, getitemlink(CobaltHerb),
+ 5, getitemlink(IceCube),
+ 1500);
+ compareandsetq NivalisQuest_Mede, 0, 1;
+ next;
+ select
+ l("Yeah, I need one."),
+ l("Thanks for the help, but no."),
+ l("Actually, nevermind. Good bye!");
+ mes "";
+ if (@menu == 2)
+ goto L_Menu;
+
+ if (@menu == 3)
+ goto L_Quit;
+
+L_DyeLoop:
+ if (countitem(IcedBottle) >= 1 &&
+ countitem(BlueCoral) >= 25 &&
+ countitem(CobaltHerb) >= 60 &&
+ countitem(IceCube) >= 5 &&
+ Zeny >= 1500) {
+ inventoryplace TealDye, 1, EmptyBottle, 1;
+ delitem IcedBottle, 1;
+ delitem BlueCoral, 25;
+ delitem CobaltHerb, 60;
+ delitem IceCube, 5;
+ Zeny-=1500;
+ getitem TealDye, 1;
+ getitem EmptyBottle, 1;
+ if (getq(NivalisQuest_Mede) == 1) {
+ setq NivalisQuest_Mede, 2;
+ getexp 1500, 0;
+ }
+ mesn;
+ mesq l("Thanks! Here you go. Perhaps you want another one?");
+ next;
+ if (askyesno() == ASK_YES)
+ goto L_DyeLoop;
+ } else {
+ mesn;
+ mesq l("Sorry, you don't seem to have everything I need.");
+ }
+ close;
+
+
+L_Quit:
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, BrimmedHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, TneckSweater);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, BromenalPants);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 17);
+
+ .sex = G_MALE;
+ .distance = 4;
+ npcsit;
+ end;
+}
diff --git a/npc/020-4/_import.txt b/npc/020-4/_import.txt
new file mode 100644
index 0000000..aef7c44
--- /dev/null
+++ b/npc/020-4/_import.txt
@@ -0,0 +1,6 @@
+// Map 020-4: Nivalis Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/020-4/_warps.txt",
+"npc/020-4/baktar.txt",
+"npc/020-4/gambler.txt",
+"npc/020-4/henry.txt",
diff --git a/npc/020-4/_warps.txt b/npc/020-4/_warps.txt
new file mode 100644
index 0000000..b0326b0
--- /dev/null
+++ b/npc/020-4/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 020-4: Nivalis Indoors warps
+020-4,64,54,0 warp #020-4_64_54 2,0,020-1,64,83
diff --git a/npc/020-4/baktar.txt b/npc/020-4/baktar.txt
new file mode 100644
index 0000000..4472c53
--- /dev/null
+++ b/npc/020-4/baktar.txt
@@ -0,0 +1,183 @@
+// TMW2 Script.
+// Author:
+// Jesusalva
+// Description:
+// Baktar
+// Quests:
+// NivalisQuest_Baktar
+// .@q1 = Controls Braknar Shield
+// (0= Not met, 1= Khafar, 2= Baktar, 3= Complete)
+// .@q2 = bitmask with Tulimshar items given
+
+020-4,64,39,6 script Baktar NPC_RAIJIN,{
+ .@q=getq(NivalisQuest_Baktar);
+ if (!.@q)
+ goto L_Start;
+ if (.@q == 2)
+ goto L_Braknar;
+ goto L_Collector;
+
+L_Start:
+ mesn;
+ if (rand2(1,5) == 4) mesc l("*cough cough*");
+ mesq l("Hello, did you come from Tulimshar? Because you have a nice tan.");
+ next;
+ select
+ l("Yes, I'm coming from Tulimshar."),
+ l("Well, I just like sunbathing."),
+ l("Good bye.");
+ mes "";
+ switch (@menu) {
+ case 2:
+ mesn;
+ if (rand2(1,5) == 4) mesc l("*cough cough*");
+ mesq l("Bah! Don't try to fool me! The sun can't burn in Nivalis.");
+ // Don't stop now
+ case 3:
+ if (rand2(1,5) == 4)
+ mesc l("*cough cough*");
+ close;
+ break;
+ }
+
+ setq NivalisQuest_Baktar, 1, 0;
+ mesn;
+ if (rand2(1,5) == 4) mesc l("*cough cough*");
+ mesq l("All my parents, grandparents, until the world was born, are from Tulimshar.");
+ next;
+ mesn;
+ mesc l("*cough cough*");
+ mesq l("Thus, I like to collect small memetos from Tulimshar.");
+ next;
+ mesn;
+ mesq l("The doctor told me to move here after I got tuberculosis... But I like Tulimshar so much! Please bring me Tulimshar souvenirs, I'll pay you well!");
+ close;
+
+
+L_Collector:
+ .@q2=getq2(NivalisQuest_Baktar);
+ mesn;
+ if (rand2(1,5) == 4) mesc l("*cough cough*");
+ mesq l("Did you brought me an souvenir from Tulimshar?");
+ mes "";
+ mes "##B" + l("Drag and drop an item from your inventory.") + "##b";
+
+ .@id = requestitem();
+
+ if (.@id < 1) close;
+ if (countitem(.@id) < 1 || checkbound(.@id))
+ close;
+
+ // Special exception
+ if (.@id == Croconut || .@id == HalfCroconut) {
+ mesn;
+ if (rand2(1,5) == 4) mesc l("*cough cough*");
+ mesq l("Ooh, this definitely is a Tulimshar item! But I would prefer a box full of these, please.");
+ close;
+ }
+
+ // No item
+ .@m = htget(.TULIMITEM, str(.@id), 0);
+ if (!.@m) {
+ mesn;
+ if (rand2(1,5) == 4) mesc l("*cough cough*");
+ mesq l("What crap is that?! This is not from Tulimshar!");
+ next;
+ mesn;
+ if (rand2(1,5) == 4) mesc l("*cough cough*");
+ mesq l("I won't accept stuff from Halinarzo!");
+ mesc l("Baktar can be picky with Tulimshar stuff, too.");
+ close;
+ }
+ // Already given
+ if (.@q2 & .@m) {
+ mesn;
+ if (rand2(1,5) == 4) mesc l("*cough cough*");
+ mesq l("I already have that...");
+ close;
+ }
+
+ // Gives 4.5× more
+ .@sp=getiteminfo(.@id, ITEMINFO_SELLPRICE);
+ mesc l("Really give your @@ to Baktar?", getitemlink(.@id)), 1;
+ mesc l("The item will be lost forever.");
+ next;
+ if (askyesno() == ASK_YES) {
+ delitem .@id, 1;
+ Zeny+=(.@sp*45/10);
+ getexp (BaseLevel/4)*.@sp, .@sp;
+ setq2 NivalisQuest_Baktar, .@q2|.@m;
+ mesn;
+ if (rand2(1,5) == 4) mesc l("*cough cough*");
+ mesq l("Thanks.");
+ }
+
+ close;
+
+L_Braknar:
+ .@q2=getq2(NivalisQuest_Baktar);
+ mesn;
+ if (rand2(1,5) == 4)
+ mesc l("*cough cough*");
+ mesq l("Welcome back.");
+ select
+ l("I brought a souvenir for you."),
+ l("Do you know someone called Braknar?"),
+ l("Er, uhm, hi!");
+ mes "";
+ switch (@menu) {
+ case 1: goto L_Collector;
+ case 2:
+ mesn;
+ if (rand2(1,5) == 4) mesc l("*cough cough*");
+ mesq l("Yeah, it was my grand-grand-grandfather.");
+ next;
+ mesn strcharinfo(0);
+ mes l("'-' \"Could you give me his shield? Pretty please? I need it to survive and bring Tulimshar goodies!\"");
+ next;
+ mesn;
+ if (rand2(1,5) == 4) mesc l("*cough cough*");
+ mesq l("No, it is a family heirloom. But I do have the shield blueprints. A skilled craftsman could forge one.");
+ next;
+ mesn strcharinfo(0);
+ mes l("*-* \"Could you share those blueprints with me? Please?\"");
+ next;
+ mesn;
+ if (rand2(1,5) == 4) mesc l("*cough cough*");
+ if (bitmask_count(.@q2) < 2) {
+ mesq l("Why should I? Go away. %%n");
+ close;
+ }
+ mesq l("Sure. Here, take it.");
+ setq1 NivalisQuest_Baktar, 3;
+ RECIPES_EQUIPMENT[CraftBraknarShield]=true;
+ break;
+ case 3: close;
+ }
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, KnitHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, LeatherShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonShorts);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 24);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 1);
+
+ .sex = G_MALE;
+ .distance = 5;
+ npcsit;
+
+ // Constants
+ .TULIMITEM = htnew;
+ htput(.TULIMITEM, str(DesertHat), 1);
+ htput(.TULIMITEM, str(SerfHat), 2);
+ htput(.TULIMITEM, str(IronShovel), 4);
+ htput(.TULIMITEM, str(SilkRobe), 8);
+ htput(.TULIMITEM, str(FishBox), 16);
+ htput(.TULIMITEM, str(CroconutBox), 32);
+ htput(.TULIMITEM, str(PlushroomBox), 64);
+ end;
+}
+
diff --git a/npc/020-4/gambler.txt b/npc/020-4/gambler.txt
new file mode 100644
index 0000000..1384aa5
--- /dev/null
+++ b/npc/020-4/gambler.txt
@@ -0,0 +1,153 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Gambler: Will next card be better or worse?
+// $XAN_BETS: How many victories all players already had (for propaganda :3)
+
+020-4,69,35,0 script Gambler#020-4 NPC_FLOPPED_NOBLEMAN,{
+ function cardname{
+ switch (getarg(0)) {
+ case 0:
+ return "A"; break;
+ case 10:
+ return "J"; break;
+ case 11:
+ return "Q"; break;
+ case 12:
+ return "K"; break;
+ case 13:
+ return l("Joker"); break;
+ default:
+ return getarg(0)+1;
+ }
+ }
+
+ goto L_Menu;
+
+L_Menu:
+ showavatar;
+ mesn;
+ mesc l("Hey, I am flopped. Do you want to gamble?");
+ mesc l("You need a @@. I'll flip one card, and you'll need to decide if next draw will be HIGHER or LOWER.", getitemlink(CasinoCoins));
+ mesc l("If a tie happens, I'll give your coin back.");
+ next;
+ menu
+ rif(countitem(CasinoCoins) >= 1, l("Let's play!")), L_Spin,
+ l("Information"), L_Info,
+ l("Leave"), L_Quit;
+
+L_Info:
+ mes "";
+ mesc l("Rules:");
+ mesc l("A card will be flipped, you'll need to decide if next flip will be HIGHER or LOWER.");
+ mesc l("Cards are ranked on this priority: A - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - J - Q - K - Joker");
+ next;
+ mesc l("Prizes:");
+ mesc l("If you're right, you'll get at least 80 GP!");
+ mesc l("You'll also get half of the GP as Monster Points!");
+ mesc l("If a tie happens, you'll get your coin back.");
+ mesc l("If you're wrong, your winning streak is reset.");
+ mesc l("Winning Streak is also reset on logout or when you leave the Inn.");
+ next;
+ mesc l("Winning Strike Prizes:");
+ mesc l("Every seven successive right guesses, you'll get a %s!", getitemlink(BronzeGift)); // 7.14%
+ mesc l("Every fifteen successive right guesses, you'll get a @@!", getitemlink(SilverGift)); // 3.33%
+ mesc l("Every fifty successive right guesses, you'll get a @@!", getitemlink(GoldenGift)); // 1.00%
+ mesc l("Every 101 successive right guesses, you'll get a @@!", getitemlink(PrismGift)); // 0.50%
+ next;
+ goto L_Menu;
+
+
+L_Spin:
+ showavatar AVATAR_CARD_COVER;
+ mesc l("I'll draw a card now!");
+ next;
+ delitem CasinoCoins, 1;
+ // First card will never be an edge card (Ace or Joker), so you can ALWAYS guess wrong.
+ .@card1=rand(1, 12);
+ showavatar 1000+.@card1;
+ mesn;
+ mesc l("It's a @@!", cardname(.@card1));
+ mesc l("Will next draw be HIGHER or LOWER?!");
+ next;
+ mesc l("Cards are ranked on this priority: A - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - J - Q - K - Joker");
+ select
+ l("HIGHER!"),
+ l("LOWER!");
+ mes "";
+
+ // Flip Flop!
+ .@card2=rand(0, 13);
+ showavatar 1000+.@card2;
+ mesn;
+ mesc l("It's a @@!", cardname(.@card2));
+
+ if (.@card1 == .@card2) {
+ mesc l("It's a tie!");
+ getitem CasinoCoins, 1;
+ .@bypass=1;
+ } else if (.@card2 < .@card1 && @menu == 2) {
+ mesc l("It's lower! That's right!");
+ Zeny=Zeny+80;
+ @gambler_winstreak=@gambler_winstreak+1;
+ } else if (.@card2 > .@card1 && @menu == 1) {
+ mesc l("It's higher! That's right!");
+ Zeny=Zeny+80;
+ @gambler_winstreak=@gambler_winstreak+1;
+ } else {
+ mesc l("You were wrong!");
+ @gambler_winstreak=0;
+ }
+
+ // Winning Streak
+ if (!.@bypass && @gambler_winstreak) {
+ if (@gambler_winstreak % 7 == 0)
+ getitem BronzeGift, 1;
+ if (@gambler_winstreak % 15 == 0)
+ getitem SilverGift, 1;
+ if (@gambler_winstreak % 50 == 0)
+ getitem GoldenGift, 1;
+ if (@gambler_winstreak % 101 == 0)
+ getitem PrismGift, 1;
+ mesc l("Your current win streak is @@!", @gambler_winstreak);
+ $XAN_BETS=$XAN_BETS+1;
+ Zeny+=min((@gambler_winstreak*2), 40);
+ Mobpt+=40+min(@gambler_winstreak, 20);
+ } else {
+ .@bypass=0;
+ }
+ next;
+ goto L_Menu;
+
+L_Quit:
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+
+}
+
+
+// Random NPC
+020-4,70,36,4 script Gambling Xan NPC_PLAYER,{
+ mesn;
+ mesq l("Argh... I can never get it right! If only he drew an Ace or a Joker on the first draw... But he never does that!");
+ next;
+ mesn;
+ mesq l("That rat... I already spent @@ @@ with him!!", $XAN_BETS, getitemlink(CasinoCoins));
+ mes l("If I weren't tempted to try again everytime someone gets it right...");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CreasedShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, JeansShorts);
+
+ .sex = G_MALE;
+ .distance = 4;
+ npcsit;
+ end;
+}
diff --git a/npc/020-4/henry.txt b/npc/020-4/henry.txt
new file mode 100644
index 0000000..a88a12a
--- /dev/null
+++ b/npc/020-4/henry.txt
@@ -0,0 +1,159 @@
+// TMW2 Script.
+// Author:
+// Jesusalva
+// Description:
+// Questmaker Handbook 14.0
+
+020-4,24,38,0 script Henry NPC_HENRY,{
+ function newQuest;
+ function checkQuest;
+
+ // The EPISODE
+ if (getq(LoFQuest_EPISODE) == 8 &&
+ countitem(DeathPotion)) {
+ mesc l("Should we give this shady looking 'fella a %s?", getitemlink(DeathPotion));
+ select
+ l("No, who knows what they might do with it!"),
+ l("Sure, what could go wrong?");
+ mes "";
+ if (@menu != 2) {
+ clear;
+ mesc l("*whistles*");
+ } else {
+ mesn strcharinfo(0);
+ mesq l("The Shadow Tortuga won the race against the Panthom Lord.");
+ next;
+ mesn;
+ mesq l("Oooh, I see, I see! So you're working with ##Bthem##b... This is most appreciated.");
+ next;
+ mesn;
+ mesq l("So, you have fulfilled this part of the misssion. Bring %d %s and a %s to Pachua in the Desert Canyon, and say the same thing to him so he knows you're with us.", 10, getitemlink(Honey), getitemlink(ElixirOfLife));
+ next;
+ mesn;
+ mesq l("Once you done so, come back and report the new passcode... Then I'll disclose to you the real mission.");
+ delitem DeathPotion, 1;
+ getexp 35000, 0;
+ setq LoFQuest_EPISODE, 9, 0;
+ close;
+ }
+ }
+ // Also part of The EPISODE
+ if (getq(LoFQuest_EPISODE) == 10) {
+ mesn strcharinfo(0);
+ mesq l("The crow took off to his last flight.");
+ next;
+ mesn;
+ mesq "...";
+ next;
+ if (BaseLevel < 55) {
+ mesn;
+ mesq l("Alright. Now to give your quest. But not now, you're still weak. Come back later, will you.");
+ close; // Next quest is Level 70 so.
+ } else {
+ mesn;
+ mesq l("West of here, north of here, is a cabin. Investigate. That's all.");
+ next;
+ mesn;
+ mesq l("...Oh, right! We locked it. Uhm, we'll open it for you. Be careful.");
+ setq LoFQuest_EPISODE, 11;
+ close;
+ }
+ }
+ // Also part of The EPISODE
+ if (getq(LoFQuest_EPISODE) == 12) {
+ if (BaseLevel < 57) {
+ mesn;
+ mesq l("Before you give me your report, acquire level %d.", 57);
+ close; // Next quest is Level 70 so.
+ } else {
+ mesn;
+ mesq l("Hm, thanks for your report. This is most useful. Here, drink this.");
+ next;
+ mesc l("You start feeling dizzy.");
+ mesn;
+ mesq l("%s? You don't look so well. You should see a doctor immediately!", strcharinfo(0));
+ setq LoFQuest_EPISODE, 13, 0, 0;
+ SC_Bonus(86400, SC_POISON, 1);
+ close;
+ }
+ }
+
+ // Level requeriment
+ if (BaseLevel < 70) {
+ npctalk3 l("*whistles*");
+ close;
+ }
+
+ // Main Quest
+ .@q=getq(NivalisQuest_Henry);
+ switch (.@q) {
+ case 0:
+ newQuest(); break;
+ case 1:
+ checkQuest(); break;
+ default:
+ npctalk3 l("*whistles*");
+ }
+ close;
+
+function newQuest {
+ mesn;
+ mesq l("Hey, psst! Come over here!");
+ next;
+ mesn;
+ mesq l("I need a favor! For certain... reasons... I ran out of poison! And For certain... reasons... I am in dire need of them!");
+ next;
+ mesn;
+ mesq l("So if you bring me %d %s, I'll pay you awesomely! Whaddaya say?!", 24, getitemlink(NymphPoison));
+ next;
+ select
+ l("Sure, I'll be right back."),
+ l("Erm, for certain... reasons... I cannot help you right now!");
+ mes "";
+ if (@menu == 2) {
+ closeclientdialog;
+ return;
+ }
+ mesn;
+ mesq l("Thanks, I knew I could count on you!");
+ setq NivalisQuest_Henry, 1;
+ return;
+}
+
+function checkQuest {
+ mesn;
+ mesq l("Did you brought me the %d/%d %s?", countitem(NymphPoison), 24, getitemlink(NymphPoison));
+ select
+ l("Yes, here!"),
+ l("Sorry, I'll be back.");
+ mes "";
+ if (@menu == 2) {
+ closeclientdialog;
+ return;
+ }
+ if (countitem(NymphPoison) < 24) {
+ mesn;
+ mesq l("Ooh, many thanks! Lemme just grab something for you...");
+ next;
+ mesc l("%s stabs you to the chest!", l("Henry")), 1;
+ mesn;
+ mesq l("Foolish kid, thinking they can fool me, Henry S., from all the people...!");
+ die();
+ return;
+ }
+ delitem NymphPoison, 24;
+ Mobpt+=10000;
+ getexp 100000, 0;
+ setq NivalisQuest_Henry, 2;
+ mesn;
+ mesq l("Hehehe... Thanks. Here, take these %s Monster Points... This exchange has never happened.", fnum(10000));
+ return;
+}
+
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/020-5/_import.txt b/npc/020-5/_import.txt
new file mode 100644
index 0000000..c98775e
--- /dev/null
+++ b/npc/020-5/_import.txt
@@ -0,0 +1,4 @@
+// Map 020-5: Nivalis Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/020-5/_warps.txt",
+"npc/020-5/bracco.txt",
diff --git a/npc/020-5/_warps.txt b/npc/020-5/_warps.txt
new file mode 100644
index 0000000..8b70d15
--- /dev/null
+++ b/npc/020-5/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 020-5: Nivalis Indoors warps
+020-5,33,31,0 warp #020-5_33_31 2,0,020-1,86,47
diff --git a/npc/020-5/bracco.txt b/npc/020-5/bracco.txt
new file mode 100644
index 0000000..881b842
--- /dev/null
+++ b/npc/020-5/bracco.txt
@@ -0,0 +1,400 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Nivalis shopkeeper & forge master. He deals with the equipment which Nicholas,
+// Silversmith and Nahred doesn't works with.
+// TODO FIXME: Rewrite Meltdown to don't allow if countitem(id) > 1
+// Also, use deletion by ID (reliable).
+// delitemidx is HOPELESSY BROKEN
+
+020-5,31,25,0 script Bracco NPC_M_SHOPKEEPER,{
+ goto L_Start;
+ // NewMeltdown( item )
+ // Meltdown the item for realz
+ function NewMeltdown {
+ .@const$ = data_to_string(getarg(0));
+
+ // Shady code by gumi
+ if (startswith(.@const$, "Craft")) {
+ // infer the item constant from the craft constant
+ .@recipe = getarg(0);
+
+ .@item = string_to_data(substr(.@const$, 5, getstrlen(.@const$) - 1));
+ } else {
+ // infer the craft constant from the item constant
+ .@recipe = string_to_data(sprintf("Craft%s", .@const$));
+ .@item = getarg(0);
+ }
+
+ if (.@item <= 0) {
+ // target item not found
+ consolebug("ERROR, INVALID ITEM ID DETECTED at NewMeltdown");
+ return;
+ }
+ // More shady code by gumi
+ for (.@inv = 0; .@inv < 9; ++.@inv) {
+ .@size = getcraftrecipe(.@recipe, .@inv, .@qty[0], .@item_id[0]);
+
+ if (.@size < 0) {
+ if (.@size == -1) {
+ // recipe does not exist
+ return 0;
+ break;
+ }
+ // inventory does not exist
+ return 0;
+ break;
+ }
+
+ // More shady code
+ for (.@it = 0; .@it < .@size; ++.@it) {
+ .@recipe_item = .@item_id[.@it];
+ .@recipe_qty = .@qty[.@it];
+
+ if (.@recipe_item <= 0) {
+ break;
+ }
+
+ // "Unique" items are never refunded
+ if (.@recipe_qty <= 1) continue;
+
+ // Coal is NEVER refunded
+ if (.@recipe_item == Coal) continue;
+
+ // New rates
+ .@mini = .@recipe_qty * 3 / 10 + 1; // Minimum: 30% + 1
+ .@maxi = .@recipe_qty / 2; // Maximum: 50% + 1
+
+ // Some sanitizing (should never happen but you can never be sure)
+ // (Could only happen if qty == 1, which is skipped)
+ if (.@mini > .@maxi)
+ .@maxi = .@mini;
+
+ .@ammo = rand2(.@mini, .@maxi);
+
+ getitem .@recipe_item, .@ammo;
+ mesc l("* Acquired @@ @@!", .@ammo, getitemlink(.@recipe_item));
+ }
+ }
+ return .@item;
+ }
+
+ // Meltdown( item, price )
+ function Meltdown {
+ if (countitem(getarg(0)) != 1) {
+ mesc l("Wait, if you try to melt more than one item, manaplus will get buggy."), 1;
+ mesc l("Please try again later!"), 1;
+ close;
+ }
+
+ .@index=getarg(0);
+ .@price=getarg(1, getiteminfo(.@item, ITEMINFO_SELLPRICE)/20);
+ .@price=POL_AdjustPrice(.@price);
+
+ // Confirmation
+ mesn;
+ mesc l("Really melt down your @@? It'll cost you @@ GP. This action cannot be undone!", getitemlink(.@index), .@price), 1;
+ next;
+ if (askyesno() == ASK_NO || Zeny < .@price)
+ return;
+
+ // Report it was done
+ mesc l("@@ melt down your @@...", .name$, getitemlink(.@index)), 2;
+
+ delitem .@index, 1;
+ POL_PlayerMoney(.@price);
+
+ // TODO: Inventoryplace.
+ // Add Items (if inventory is full, your fault and not mine)
+ NewMeltdown(.@index);
+ @indexisbroken=true;
+ return;
+ }
+
+ // MassMeltdown( item, price )
+ function MassMeltdown {
+ .@id=getarg(0);
+ .@price=getarg(1);
+ .@total=countitem(.@id);
+ if (!.@total) {
+ mesc l("You don't have any %s.", getitemlink(.@id)), 1;
+ mesc l("Please try again later!"), 1;
+ next;
+ return;
+ }
+
+ .@price=POL_AdjustPrice(.@price);
+
+ // Skip Confirmation
+ mesn;
+ mesc l("Really melt down all your @@? It'll cost you @@ GP each. This action cannot be undone!", getitemlink(.@id), .@price), 1;
+ next;
+ if (askyesno() == ASK_NO || Zeny < .@price)
+ return;
+
+ delinventorylist();
+ getinventorylist();
+
+ delitem .@id, .@total; // Delete first, no refunds
+
+ freeloop(true);
+ for (.@index=0; .@index < @inventorylist_count; .@index++) {
+ .@x=@inventorylist_id[.@index];
+ if (.@x == getarg(0) && Zeny >= .@price) {
+ //delitemidx .@index, 1;
+ POL_PlayerMoney(.@price);
+ // Report it was done
+ mesc l("@@ melt down your @@...", .name$, getitemlink(.@x)), 2;
+
+ // Really melt it down
+ NewMeltdown(getarg(0));
+ }
+ }
+ freeloop(false);
+ @indexisbroken=true;
+ return;
+ }
+
+ // blacksmith_create( BaseItem1, Amount, BaseItem2, Amount, PrizeItem, Price )
+ function blacksmith_create {
+ .@base1=getarg(0);
+ .@amon1=getarg(1);
+ .@base2=getarg(2);
+ .@amon2=getarg(3);
+ .@prize=getarg(4);
+ .@price=getarg(5);
+
+ .@price=POL_AdjustPrice(.@price);
+
+ mesn;
+ mesq l("Do you want to craft @@? For that I will need:", getitemlink(.@prize));
+ mesc l("@@/@@ @@", countitem(.@base1), .@amon1, getitemlink(.@base1));
+ mesc l("@@/@@ @@", countitem(.@base2), .@amon2, getitemlink(.@base2));
+ mesc l("@@/@@ GP", format_number(Zeny), format_number(.@price));
+
+ select
+ l("Yes"),
+ l("No");
+
+ if (@menu == 2)
+ return;
+
+ if (countitem(.@base1) >= .@amon1 &&
+ countitem(.@base2) >= .@amon2 &&
+ Zeny >= .@price) {
+ inventoryplace .@prize, 1;
+ delitem .@base1, .@amon1;
+ delitem .@base2, .@amon2;
+ POL_PlayerMoney(.@price);
+ getitem .@prize, 1;
+ .@xp=getiteminfo(.@base1, ITEMINFO_SELLPRICE)*.@amon1+getiteminfo(.@base2, ITEMINFO_SELLPRICE)*.@amon2;
+ .@xp=.@xp*2/3;
+ getexp .@xp, rand(1,10);
+
+ mes "";
+ mesn;
+ mesq l("Many thanks! Come back soon.");
+ } else {
+ speech S_FIRST_BLANK_LINE,// | S_LAST_NEXT,
+ l("You don't have enough material, sorry.");
+ }
+ return;
+ }
+
+// Start
+L_Start:
+ mesn;
+ mesq l("Welcome to my fine establishment!");
+ mes "";
+ select
+ l("Trade"),
+ l("I'm actually looking for an item forged!"),
+ l("I would like an item melted!"),
+ l("I would like all Knifes and Daggers on me melted!"),
+ l("Leave");
+ mes "";
+
+ if (@menu == 2)
+ goto L_Forge;
+
+ if (@menu == 3)
+ goto L_Meltdown;
+
+ if (@menu == 4)
+ goto L_Irreversible;
+
+ closedialog;
+ if (@menu == 1) {
+ npcshopattach(.name$);
+ shop .name$;
+ }
+ goodbye;
+ close;
+// Note: the prices are absurd atm, but hey hey, every single one of them are cap items currently
+L_Forge:
+ mesn;
+ mesq l("Well, if you want warrior craft, perhaps you should look for @@ or @@.", l("Nicholas"), l("Nahrec"));
+ mes "";
+ select
+ l("Nothing, sorry!"),
+ l("I want leather armbands!"),
+ l("I want copper armbands!"),
+ l("I want iron armbands!");
+ mes "";
+ switch (@menu) {
+ case 1:
+ close; break;
+ case 2:
+ blacksmith_create(LeatherPatch, 40, TitaniumIngot, 1, Armbands, 6500);
+ break;
+ case 3:
+ blacksmith_create(CopperIngot, 10, Coal, 30, CopperArmbands, 11000);
+ break;
+ case 4:
+ blacksmith_create(IronIngot, 40, Coal, 80, IronArmbands, 21000);
+ break;
+ }
+ goto L_Forge;
+
+L_Irreversible:
+ mesn;
+ mesq l("Quite the guts! The price is taxed individually, if you run out of GP it is your loss.");
+ mesc l("Are you sure?"), 1;
+ next;
+ menuint
+ l("I'm not."), 0,
+ l("Rusty Knife"), RustyKnife,
+ l("Small Knife"), SmallKnife,
+ l("Knife"), Knife,
+ l("Sharp Knife"), SharpKnife,
+ l("Dagger"), Dagger;
+ mes "";
+ .@it=@menuret;
+ switch (@menuret) {
+ // Copy Paste from normal Meltdown
+ case RustyKnife:
+ MassMeltdown(.@it, 15, IronOre, any(0, 0, 0, 1, 1));
+ break;
+ case SmallKnife:
+ MassMeltdown(.@it, 15, IronOre, any(0, 0, 1, 1, 1));
+ break;
+ case Knife:
+ MassMeltdown(.@it, 25, IronOre, any(0, 1, 1, 2));
+ break;
+ case SharpKnife:
+ MassMeltdown(.@it, 50, IronOre, any(1, 2, 2, 3));
+ break;
+ case Dagger:
+ MassMeltdown(.@it, 100, IronOre, any(2, 2, 3, 3, 4));
+ break;
+ // MISSING
+ }
+ close;
+
+
+
+
+L_Meltdown:
+ mesn;
+ mesc l("What item do you want to melt down? This is irreversible, and may return some ingots to you, but there is no way to tell how many you'll receive!"), 1;
+ mesc l("Each item have it's own tax.");
+ .@id=requestitem();
+ if (.@id <= 0)
+ close;
+ mes "";
+ // Returns 30~50% of invested ingots, rounded down. Never returns Coal.
+ switch (.@id) {
+ // Special Exceptions
+ case SilverMirror:
+ Meltdown(.@id, 500, SilverOre, rand2(2, 5)); // Exception
+ break;
+ case RustyKnife:
+ Meltdown(.@id, 15, IronOre, any(0, 0, 0, 1, 1)); // Exception
+ break;
+ case SmallKnife:
+ Meltdown(.@id, 15, IronOre, any(0, 0, 1, 1, 1)); // Exception
+ break;
+ case Knife:
+ Meltdown(.@id, 25, IronOre, any(0, 1, 1, 2)); // Exception
+ break;
+ case SharpKnife:
+ Meltdown(.@id, 50, IronOre, any(1, 2, 2, 3)); // Exception
+ break;
+ case Dagger:
+ Meltdown(.@id, 100, IronOre, any(2, 2, 3, 3, 4, 5)); // Exception
+ break;
+ case GoldenRing:
+ Meltdown(.@id, 1500, GoldPieces, rand2(2,3));
+ break;
+ default:
+ if (!Meltdown(.@id)) {
+ mesn;
+ mesq l("I cannot melt this. I only melt down equipment, and not everything I know how to!");
+ next;
+ }
+ break;
+ }
+ //mesc l("Melt something else?");
+ //if (askyesno() == ASK_NO)
+ // close;
+ //mes "";
+ //goto L_Meltdown;
+ mesc l("Thanks for using my services!");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, TneckSweater);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, FurBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 26);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 2);
+
+ sleep(SHOPWAIT);
+ tradertype(NST_MARKET);
+ sellitem BritShield, -1, 1;
+ sellitem BladeShield, -1, 1;
+ sellitem MiereCleaver, -1, 1;
+ sellitem ShortSword, -1, 1;
+ sellitem LeatherShirt, -1, 1;
+ sellitem LeatherShield, 5000, 1;
+ sellitem ShortBow, -1, 1;
+ sellitem ArrowAmmoBox,-1,rand(8,12);
+ sellitem IronAmmoBox,-1,rand(3,5);
+
+ npcsit;
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+
+OnWed0000:
+OnThu0400:
+OnFri0800:
+OnSat1200:
+OnSun1600:
+OnMon2000:
+ restoreshopitem BritShield, 1;
+ restoreshopitem BladeShield, 1;
+ restoreshopitem MiereCleaver, 1;
+ restoreshopitem ShortSword, 1;
+ restoreshopitem LeatherShirt, 1;
+ restoreshopitem LeatherShield, 5000, 1;
+ restoreshopitem ShortBow, 1;
+ restoreshopitem ArrowAmmoBox,rand(8,12);
+ restoreshopitem IronAmmoBox,rand(3,5);
+ end;
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+
+}
diff --git a/npc/020-6/_import.txt b/npc/020-6/_import.txt
new file mode 100644
index 0000000..e6ed347
--- /dev/null
+++ b/npc/020-6/_import.txt
@@ -0,0 +1,4 @@
+// Map 020-6: Nivalis Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/020-6/_warps.txt",
+"npc/020-6/agostine.txt",
diff --git a/npc/020-6/_warps.txt b/npc/020-6/_warps.txt
new file mode 100644
index 0000000..d9dbc08
--- /dev/null
+++ b/npc/020-6/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 020-6: Nivalis Indoors warps
+020-6,31,33,0 warp #020-6_31_33 1,0,020-1,33,95
diff --git a/npc/020-6/agostine.txt b/npc/020-6/agostine.txt
new file mode 100644
index 0000000..e58d123
--- /dev/null
+++ b/npc/020-6/agostine.txt
@@ -0,0 +1,186 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// TMW-BR Team
+// The Mana World Team
+// Description:
+// Agostine the Legendary Tailor
+// Quest struct:
+// Quest State, Nº of furs, Randomness Limiter
+
+020-6,30,26,0 script Agostine NPC_EDOUARD,{
+ mesn l("Agostine, the Legendary Tailor");
+ mesq l("Oui, welcome to this fine shop! My name is Agostine, the legendary tailor!");
+ next;
+ mesn l("Agostine, the Legendary Tailor");
+ mesq l("Some people say that I am the best tailor in the world, but I think I am the best one in the universe!");
+ next;
+ mesn l("Agostine, the Legendary Tailor");
+ mesq l("As long that you have the money, and some really high quality material, I can tailor anything ugly in something fashion!");
+ mesc l("As long that Saulc doesn't draws the sprites for my stuff, that is! %%a"); // That's a joke.
+ next;
+
+L_Main:
+ .@q=getq(NivalisQuest_Agostine);
+ .@q2=getq2(NivalisQuest_Agostine);
+ .@q3=getq3(NivalisQuest_Agostine);
+ mesn l("Agostine, the Legendary Tailor");
+ mesq l("So, what will it be?");
+ select
+ l("I'm fine, thanks!"),
+ rif(.@q < 2, l("How much would be the budget for Fur Boots?"));
+ mes "";
+
+ switch (@menu) {
+ case 1:
+ closeclientdialog; npctalkonce l("Arrevouir!"); close;
+ case 2:
+ // Once in a while you need to drink him
+ if (.@q % 2 == 0)
+ goto L_Beer;
+ goto L_FurBoots;
+ }
+
+ close;
+
+L_Beer:
+ mesn l("Agostine, the Legendary Tailor");
+ mesq l("HOLD THAT! I actually like to drink, and spend some drinking nights with Saulc and Crazyfefe!");
+ next;
+ mesn l("Agostine, the Legendary Tailor");
+ mesq l("Beer is nice, but sometimes I want something more exotic to drink! Oui, we need a proper bar here!");
+ next;
+ mesn l("Agostine, the Legendary Tailor");
+ mesq l("So, what about this: You bring me a @@ and I'll tailor anything you need!", getitemlink(RedPlushWine));
+ if (!countitem(RedPlushWine))
+ close;
+ next;
+ select
+ l("Here, you can have a glass."),
+ l("Sorry, I have nothing.");
+ mes "";
+ if (@menu == 1) {
+ delitem RedPlushWine, 1;
+ setq1 NivalisQuest_Agostine, .@q+1;
+ mesn l("Agostine, the Legendary Tailor");
+ mesq l("Aaaaaahhh... Oui, that's a good wine! So, what will it be?");
+ goto L_Main;
+ } else {
+ mesn l("Agostine, the Legendary Tailor");
+ mesq l("That is a pity...");
+ }
+ close;
+
+L_FurBoots:
+ mesn l("Agostine, the Legendary Tailor");
+ mesq l("So, you want some @@ to keep you comfy on this harsh winter?", getitemlink(FurBoots));
+ next;
+ mesn l("Agostine, the Legendary Tailor");
+ mesq l("Well, as with any legendary tailor, you must bring the materials yourself, and pay the work fee!");
+ next;
+ mesn l("Agostine, the Legendary Tailor");
+ // Roughly 125 fishes and 15~100 fur
+ mesq l("For the @@, I'll need 5 ##Bhigh-quality##b @@, and @@ GP for work fee!", getitemlink(FurBoots), getitemlink(WhiteFur), format_number(7125));
+ mesq l("I'll also need @@ as base material!", getitemlink(Boots));
+
+ mesc l("(Note: Agostine will destroy low quality materials!)");
+ next;
+ select
+ l("Legendary my ass! What a rip-off!"),
+ l("I'll start delivering the fur!"),
+ l("I have everything, can you tailor it?");
+
+ switch (@menu) {
+ case 1:
+ goto L_Main;
+ case 2:
+ goto L_DeliverFur;
+ case 3:
+ @agostine_item=FurBoots;
+ @agostine_base=Boots;
+ @agostine_fee=7125;
+ @agostine_fur=5;
+ goto L_Craft;
+ }
+
+ close;
+
+// Fur minigame
+L_DeliverFur:
+ .@q2=getq2(NivalisQuest_Agostine);
+ .@q3=getq3(NivalisQuest_Agostine);
+ mesc l("You already delivered @@ high-quality patches of white fur.", .@q2);
+
+ select
+ rif(countitem(WhiteFur), l("Is this high-quality fur?")),
+ l("Maybe later.");
+ mes "";
+ if (@menu == 2)
+ goto L_Main;
+
+ mesc l("Agostine takes the fur from your hands.");
+ delitem WhiteFur, 1;
+ .@success=rand(6,26)-.@q3; // You will never need more than 20 fur nor less than <delivered_good> fur per patch
+
+ if (.@success <= 1) {
+ mesc "%%H " + l("He looks pleased.");
+ getexp 100, 25;
+ setq2 NivalisQuest_Agostine, .@q2+1;
+ setq3 NivalisQuest_Agostine, .@q2;
+ next;
+ mesn l("Agostine, the Legendary Tailor");
+ mesq l("That's some good white for you've got here!");
+ } else {
+ mesc l("He looks displeased and destroys the fur.");
+ getexp 15, 5;
+ setq3 NivalisQuest_Agostine, .@q3+1;
+ next;
+ mesn l("Agostine, the Legendary Tailor");
+ mesq l("It was an awful cut! Don't think any piece of a sightly lower material will have part in my art!");
+ }
+
+ goto L_DeliverFur;
+
+// Agostine item crafting
+L_Craft:
+ .@q=getq(NivalisQuest_Agostine);
+ .@q2=getq2(NivalisQuest_Agostine);
+ .@q3=getq3(NivalisQuest_Agostine);
+ if (.@q2 < @agostine_fur) {
+ mesn l("Agostine, the Legendary Tailor");
+ mesq l("You haven't provided me enough High-Quality White Fur! Go back to hunting!");
+ next;
+ goto L_Main;
+ }
+ if (Zeny < @agostine_fee) {
+ mesn l("Agostine, the Legendary Tailor");
+ mesq l("You don't have enough money! I am an expensive tailor, I want @@ GP!", format_number(@agostine_fee));
+ next;
+ goto L_Main;
+ }
+ if (!countitem(@agostine_base)) {
+ mesn l("Agostine, the Legendary Tailor");
+ mesq l("You haven't provided me the @@ for the base material!", getitemlink(@agostine_base));
+ next;
+ goto L_Main;
+ }
+
+ inventoryplace @agostine_item, 1;
+ delitem @agostine_base, 1;
+ setq2 NivalisQuest_Agostine, .@q2-@agostine_fur;
+ Zeny=Zeny-@agostine_fee;
+ getitem @agostine_item, 1;
+ setq1 NivalisQuest_Agostine, .@q+1;
+ getexp @agostine_fee, @agostine_fur*125;
+
+ mesn l("Agostine, the Legendary Tailor");
+ mesq lg("Here you go, my friend! Please enjoy!");
+ next;
+ goto L_Main;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
+
diff --git a/npc/020-7-1/_import.txt b/npc/020-7-1/_import.txt
new file mode 100644
index 0000000..b41683e
--- /dev/null
+++ b/npc/020-7-1/_import.txt
@@ -0,0 +1,20 @@
+// Map 020-7-1: Blue Sages' Mansion
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/020-7-1/_warps.txt",
+"npc/020-7-1/core.txt",
+"npc/020-7-1/eevert.txt",
+"npc/020-7-1/ensio.txt",
+"npc/020-7-1/henriikka.txt",
+"npc/020-7-1/janika.txt",
+"npc/020-7-1/janitors.txt",
+"npc/020-7-1/kristian.txt",
+"npc/020-7-1/kullervo.txt",
+"npc/020-7-1/mirjami.txt",
+"npc/020-7-1/nea.txt",
+"npc/020-7-1/oskari.txt",
+"npc/020-7-1/peetu.txt",
+"npc/020-7-1/politics.txt",
+"npc/020-7-1/pyry.txt",
+"npc/020-7-1/sage.txt",
+"npc/020-7-1/santeri.txt",
+"npc/020-7-1/teuvo.txt",
diff --git a/npc/020-7-1/_warps.txt b/npc/020-7-1/_warps.txt
new file mode 100644
index 0000000..4db1e29
--- /dev/null
+++ b/npc/020-7-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 020-7-1: Blue Sages' Mansion warps
+020-7-1,24,85,0 warp #020-7-1_24_85 2,0,020-7,55,22
diff --git a/npc/020-7-1/core.txt b/npc/020-7-1/core.txt
new file mode 100644
index 0000000..e1a70c2
--- /dev/null
+++ b/npc/020-7-1/core.txt
@@ -0,0 +1,337 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW Org.
+// Description:
+// Core functions (it MUST be loaded first)
+
+// Some setup is required
+
+// Check if you have something to ask to Blue Sage staff
+// BSQuestion( )
+function script BSQuestion {
+ .@b1=getq(NivalisQuest_BlueSage);
+ .@b2=getq2(NivalisQuest_BlueSage);
+ .@b3=getq3(NivalisQuest_BlueSage);
+ .@rt=0;
+
+ // After you collected everyone's feedback, hide the option
+ if (is_between(3,8,.@b1)) {
+ if (.@b3 < BS_NPCALL)
+ .@rt=.@rt | BS_QHELPER;
+ }
+
+ if (.@b1 == 6) {
+ if (.@b2 < BS_NPCALL)
+ .@rt=.@rt | BS_QVISITOR;
+ }
+ return .@rt;
+}
+
+
+// Clear a Nest ID
+// BSClearNest( ID )
+function script BSClearNest {
+ .@id=getarg(0);
+ switch (.@id) {
+ case BS_SNEST1:
+ $@BS_NEST1=0;
+ killmonster("020-7-1", "#BlueSageHUB::OnSlimeKill1");
+ break;
+ case BS_SNEST2:
+ $@BS_NEST2=0;
+ killmonster("020-7-1", "#BlueSageHUB::OnSlimeKill2");
+ break;
+ case BS_SNEST3:
+ $@BS_NEST3=0;
+ killmonster("020-7-1", "#BlueSageHUB::OnSlimeKill3");
+ break;
+ case BS_SNEST4:
+ $@BS_NEST4=0;
+ killmonster("020-7-1", "#BlueSageHUB::OnSlimeKill4");
+ break;
+ case BS_SNEST5:
+ $@BS_NEST5=0;
+ killmonster("020-7-1", "#BlueSageHUB::OnSlimeKill5");
+ break;
+ case BS_SNEST6:
+ $@BS_NEST6=0;
+ killmonster("020-7-1", "#BlueSageHUB::OnSlimeKill6");
+ break;
+ case BS_SNEST7:
+ $@BS_NEST7=0;
+ killmonster("020-7-1", "#BlueSageHUB::OnSlimeKill7");
+ break;
+ case BS_SNEST8:
+ $@BS_NEST8=0;
+ killmonster("020-7-1", "#BlueSageHUB::OnSlimeKill8");
+ break;
+ case BS_SNEST9:
+ $@BS_NEST9=0;
+ killmonster("020-7-1", "#BlueSageHUB::OnSlimeKill9");
+ break;
+ }
+ if (playerattached()) {
+ @nestid=0;
+ setq2 NivalisQuest_BlueSageSlimes, 0;
+ }
+ return;
+}
+
+// Return the Nest ID
+// BSNestID( x, y )
+function script BSNestID {
+ .@xa=getarg(0);
+ .@ya=getarg(1);
+ switch (.@xa) {
+ case 1:
+ if (.@ya == 1)
+ return BS_SNEST1;
+ else if (.@ya == 2)
+ return BS_SNEST2;
+ else if (.@ya == 3)
+ return BS_SNEST3;
+ break;
+ case 2:
+ if (.@ya == 1)
+ return BS_SNEST4;
+ else if (.@ya == 2)
+ return BS_SNEST5;
+ else if (.@ya == 3)
+ return BS_SNEST6;
+ break;
+ case 3:
+ if (.@ya == 1)
+ return BS_SNEST7;
+ else if (.@ya == 2)
+ return BS_SNEST8;
+ else if (.@ya == 3)
+ return BS_SNEST9;
+ break;
+ }
+ Exception("Invalid BS Nest Quadrands: ("+.@xa+", "+.@ya+")");
+ return 0;
+}
+
+// Return the Nest Quadrands
+// BSQuadrand( NestID )
+function script BSQuadrand {
+ .@nx=getarg(0);
+ switch (.@nx) {
+ case BS_SNEST1:
+ return 1;
+ case BS_SNEST2:
+ return 2;
+ case BS_SNEST3:
+ return 3;
+ case BS_SNEST4:
+ return 4;
+ case BS_SNEST5:
+ return 5;
+ case BS_SNEST6:
+ return 6;
+ case BS_SNEST7:
+ return 7;
+ case BS_SNEST8:
+ return 8;
+ case BS_SNEST9:
+ return 9;
+ }
+ Exception("Invalid BS Nest ID: ("+.@nx+")");
+ return 0;
+}
+
+// Proccess the slime type and amount
+// BSProccess( )
+function script BSProccess {
+ .@b1=getq(NivalisQuest_BlueSageSlimes);
+ .@b2=getq2(NivalisQuest_BlueSageSlimes);
+ .@b3=getq3(NivalisQuest_BlueSageSlimes);
+
+ // Quest state not assigned
+ if (!.@b1)
+ return;
+
+ // Fix your coordinates
+ getmapxy(.@m$, .@xc, .@yc,0);
+ .@x=.@xc-63;
+ .@y=.@yc-31;
+
+ // Check if you're off the library area
+ if (.@x <= 0 || .@y <= 0)
+ return;
+
+ // Map changed. OnCycle is not cleared, so we don't return, we end.
+ if (.@m$ != "020-7-1")
+ end;
+
+ // Calculate quadrand
+ // The map goes from (64,32) to (139,83)
+ // There is a 3x3 area, totalizing nine nests
+ // The useful area is 75 x 51, divided by 3 we have
+ // 25 x 17 quadrands.
+ // Anything beyond these quadrands is not regarded
+ .@x=(.@x/25)+1;
+ .@y=(.@y/17)+1;
+ if (.@x > 3 || .@y > 3)
+ return;
+
+ // We want the Quadrand ID to know if it was cleared or not
+ .@nest=BSNestID(.@x,.@y);
+ .@id=BSQuadrand(.@nest);
+
+ // Check if the nest was triggered
+ if (@nestid == .@nest)
+ return;
+
+ // Check if it was cleared already
+ if (getq3(NivalisQuest_BlueSageSlimes) & .@nest)
+ return;
+
+ // Check if we should spawn or if the quadrand is active
+ if (getd("$@BS_NEST"+str(.@id)))
+ return;
+
+ // Let's see if something should happen (16.7% odds each second. 3% of drip)
+ .@chance=rand(30);
+ if (.@chance <= 25) {
+ return;
+ } else if (.@chance == 27) {
+ dispbottom l("A slime drips in front of you and explodes!");
+ percentheal -40, 0;
+ } else {
+ dispbottom l("You notice a group of slimes emerging from the debris among the shelves.");
+ }
+
+ // If it haven't returned yet: It's good to go!
+ // Reserve the nest ID for us, and clear the previous.
+ BSClearNest(@nestid);
+ BSClearNest(.@nest);
+ @nestid=.@nest;
+ setd("$@BS_NEST"+.@id, getcharid(0));
+
+ // We spawn monsters
+ if (.@id % 4 == 0)
+ .@mid=WhiteSlime;
+ else
+ .@mid=BlueSlime;
+
+ //debugmes "Spawning %d slimes on quadrand %d", getd("$@BS_KNEST"+.@id), .@id;
+ // Does getd() works against a constant? I don't think so
+ monster .@m$, .@xc, .@yc, strcharinfo(0)+"'s slime", .@mid, getd("$@BS_KNEST"+.@id), "#BlueSageHUB::OnSlimeKill"+.@id;
+
+ return;
+}
+
+// Proccess the slime death
+// BSProccessDeath( nestid, total )
+function script BSProccessDeath {
+ .@nest=getarg(0);
+ .@ammo=getarg(1);
+ .@id=BSQuadrand(.@nest);
+
+ // First and foremost: Drops
+ if (playerattached()) {
+ getmapxy(.@m$, .@x, .@y, 0);
+ // Capped at ~12% drop chance of book pages
+ if (rand(0,10000) <= 660+(readparam2(bLuk)*6))
+ makeitem SpellBookPage, 1, .@m$, .@x, .@y;
+ if (rand(0,10000) <= 100)
+ makeitem Candy, 1, .@m$, .@x, .@y;
+ }
+
+ // Mark the score if appliable and player is attached
+ if (playerattached()) {
+ if (@nestid == .@nest) {
+ .@q2=getq2(NivalisQuest_BlueSageSlimes)+1;
+ setq2 NivalisQuest_BlueSageSlimes, .@q2;
+ }
+ }
+
+ // All mobs are dead
+ if (!mobcount("020-7-1", "#BlueSageHUB::OnSlimeKill"+.@id)) {
+ if (playerattached()) {
+ // Did you killed all slimes? Or did they explode themselves?
+ // You have some chance to win even if you failed to kill all
+ // Will not work if this was not your nest
+ if ((.@q2 == .@ammo || rand(0,9000) == 255) && @nestid == .@nest) {
+ .@q3=getq3(NivalisQuest_BlueSageSlimes);
+ setq3 NivalisQuest_BlueSageSlimes, .@q3 | .@nest;
+ dispbottom l("It wasn't easy, but you think that you extinguished this nest.");
+ if ((.@q3 | .@nest) == BS_SNESTALL)
+ dispbottom l("Perhaps that was the last of them?");
+ } else {
+ dispbottom l("You don't see any slimes from that nest anymore. But did you really get all of them?");
+ debugmes "Nest %d, killed %d/%d slimes", .@id, .@q2, .@ammo;
+ debugmes "NEST ID: %d / %d", @nestid, .@nest;
+ }
+ }
+ // Regardless of player attached or not, this nest must be clean
+ BSClearNest(.@nest);
+ }
+
+ return;
+}
+
+020-7-1,24,84,0 script #BlueSageHUB NPC_HIDDEN,2,2,{
+ end;
+
+OnSlimeKill1:
+ BSProccessDeath(BS_SNEST1, $@BS_KNEST1);
+ end;
+
+OnSlimeKill2:
+ BSProccessDeath(BS_SNEST2, $@BS_KNEST2);
+ end;
+
+OnSlimeKill3:
+ BSProccessDeath(BS_SNEST3, $@BS_KNEST3);
+ end;
+
+OnSlimeKill4:
+ BSProccessDeath(BS_SNEST4, $@BS_KNEST4);
+ end;
+
+OnSlimeKill5:
+ BSProccessDeath(BS_SNEST5, $@BS_KNEST5);
+ end;
+
+OnSlimeKill6:
+ BSProccessDeath(BS_SNEST6, $@BS_KNEST6);
+ end;
+
+OnSlimeKill7:
+ BSProccessDeath(BS_SNEST7, $@BS_KNEST7);
+ end;
+
+OnSlimeKill8:
+ BSProccessDeath(BS_SNEST8, $@BS_KNEST8);
+ end;
+
+OnSlimeKill9:
+ BSProccessDeath(BS_SNEST9, $@BS_KNEST9);
+ end;
+
+OnTouch:
+ addtimer2(1000, "#BlueSageHUB::OnCycle");
+ end;
+
+OnCycle:
+ BSProccess();
+ addtimer(1000, "#BlueSageHUB::OnCycle");
+ end;
+
+OnInit:
+ // K - Nest Kills
+ $@BS_KNEST1=3;
+ $@BS_KNEST2=2;
+ $@BS_KNEST3=1;
+ $@BS_KNEST4=4; // WS
+ $@BS_KNEST5=2;
+ $@BS_KNEST6=1;
+ $@BS_KNEST7=3;
+ $@BS_KNEST8=5; // WS
+ $@BS_KNEST9=1;
+ end;
+}
+
diff --git a/npc/020-7-1/eevert.txt b/npc/020-7-1/eevert.txt
new file mode 100644
index 0000000..5e3f3f1
--- /dev/null
+++ b/npc/020-7-1/eevert.txt
@@ -0,0 +1,137 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW Org.
+// Description:
+// Workers which produces pages
+// helperM*
+
+// NivalisQuest_BlueSagePagemaker STRUCTURE
+// FIELD 1:
+// MAIN STATE
+// FIELD 2:
+// BOOK MAKING QUEST
+// 1 - Illustrations delivered (BS_PMINK)
+// 2 - Bindings delivered (BS_PMBINDING)
+// 4 - Pages delivered (BS_PMPAGE)
+// 8 - Glue delivered (BS_PMGLUE)
+// =15: All items delivered
+
+020-7-1,34,56,0 script Eevert NPC_BLUESAGEWORKER_MA,{
+ function askQuestion;
+ .@qt=getq2(NivalisQuest_BlueSagePagemaker);
+ mesn;
+ if (.@qt & BS_PMINK)
+ mesq l("Thanks for your help with the inks! Now I'll be able to fulfill my tasks adequately. Some of these books were really valuable, and it's important to recreate them as good as possible.");
+ else
+ mesq l("Mh. I wonder how I'm expected to perform my task with this meager equipment. The new books will look pathetic.");
+
+ // Begin here
+ askQuestion();
+ .@qt=getq2(NivalisQuest_BlueSagePagemaker);
+ mes "";
+ mesn;
+ mesq l("I'm doing the covers and illustrations for the new books we create from the pieces of the old ones.");
+ next;
+ mesn;
+ mesq l("But due to all of the chaos from when the slimes escaped, most of the phials of colored ink were broken. How am I supposed to do the illustrations without color?");
+ next;
+ mesn;
+ mesq l("I could make ink myself, but I am lacking some material...");
+ next;
+ mes l("@@/@@ @@", countitem(CobaltHerb), 50, getitemlink(CobaltHerb));
+ mes l("@@/@@ @@", countitem(GambogeHerb), 50, getitemlink(GambogeHerb));
+ mes l("@@/@@ @@", countitem(AlizarinHerb), 50, getitemlink(AlizarinHerb));
+ mes l("@@/@@ @@", countitem(ArtichokeHerb), 50, getitemlink(ArtichokeHerb));
+ mes l("@@/@@ @@", countitem(MauveHerb), 50, getitemlink(MauveHerb));
+ mes l("@@/@@ @@", countitem(MaggotSlime), 10, getitemlink(MaggotSlime));
+ mes l("@@/@@ @@", countitem(DuckFeather), 1, getitemlink(DuckFeather));
+ next;
+ mesn;
+ mesq l("Hehe... Some material... %%5");
+ next;
+ select
+ l("Uh... Yeah, that's not funny."),
+ l("Worry not, I have them with me.");
+ mes "";
+ if (@menu == 1) {
+ mesn;
+ mesq l("I agree with you. Most of these materials can't even be found on Nivalis.");
+ next;
+ mesn;
+ mesq l("I guess I'll need to try to work with whatever ink is left until the supplies arrive next month...");
+ close;
+ }
+ if (countitem(CobaltHerb) < 50 ||
+ countitem(GambogeHerb) < 50 ||
+ countitem(AlizarinHerb) < 50 ||
+ countitem(ArtichokeHerb) < 50 ||
+ countitem(MauveHerb) < 50 ||
+ countitem(MaggotSlime) < 10 ||
+ countitem(DuckFeather) < 1) {
+ mesn;
+ mesq l("Do you know how to count, maggot? %%5");
+ next;
+ mesn;
+ mesq l("You should be ASHAMED of yourself, you liar.");
+ close;
+ }
+ delitem CobaltHerb, 50;
+ delitem GambogeHerb, 50;
+ delitem AlizarinHerb, 50;
+ delitem ArtichokeHerb, 50;
+ delitem MauveHerb, 50;
+ delitem MaggotSlime, 10;
+ delitem DuckFeather, 1;
+ setq2 NivalisQuest_BlueSagePagemaker, .@qt|BS_PMINK;
+ getexp 3535, 215; // 20% from references, rounded up. It's part of main story.
+ // is present. REMEMBER THIS IS A LEVEL 36/16 QUEST, REGARDLESS IF EVERYONE DECIDES
+ // TO DO IT AT LEVEL 40. Exp reward will not change. It's main story, too.
+ // Besides, it gives Job Experience, which is not common.
+ mesn;
+ mesq l("Wonderful! Now I can prepare the ink for magnificent illustrations! You're very generous.");
+ close;
+
+function askQuestion {
+ .@qs=BSQuestion(getq(NivalisQuest_BlueSage));
+ do {
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ .@qt=getq2(NivalisQuest_BlueSagePagemaker);
+ next;
+ select
+ rif(!(.@qt & BS_PMINK), l("What is your problem?")),
+ rif(.@qs & BS_QVISITOR, l("Do you know anything about the strange visitor?")),
+ rif(.@qs & BS_QHELPER, l("What's your opinion of Peetu and his work?")),
+ any(l("I need to leave."), l("See you."), l("Bye."), l("Not my problem."));
+ mes "";
+ switch (@menu) {
+ case 2:
+ mesn;
+ mesq l("A visitor? I don't really pay attention to visitors, unless it's someone notable.");
+ break;
+ case 3:
+ mesn;
+ mesq l("Ah, Peetu. I really appreciate his sense for high quality work. The requirements to become a helper of a sage are already high, but Peetu is outstanding. He has a talent for magic and combined with his diligence, it's quite remarkable.");
+ next;
+ mesn;
+ mesq l("That's why I'm really confused about this situation, since he was the one performing the sealing of the slimes. I wonder what went wrong.");
+ if (!(.@q3 & .bsId))
+ setq3 NivalisQuest_BlueSage, .@q3 | .bsId;
+ break;
+ case 4:
+ close;
+ }
+ } while (@menu != 1);
+ return;
+}
+
+OnInit:
+ .bsId=BS_NPC02;
+ .sex=G_MALE;
+ .distance=5;
+ npcsit;
+ end;
+}
+
diff --git a/npc/020-7-1/ensio.txt b/npc/020-7-1/ensio.txt
new file mode 100644
index 0000000..c232c22
--- /dev/null
+++ b/npc/020-7-1/ensio.txt
@@ -0,0 +1,147 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW Org.
+// Description:
+// Responsible for recovering the lost pages (SpellBookPage)
+// helperBookpages*
+//
+// NivalisQuest_BlueSagePagefinder STRUCTURE
+// FIELD 1:
+// MAIN STATE
+// FIELD 2:
+// nº of pages found (0~31)
+// FIELD 3:
+// nº of duplicates found (for randomness control - capped at 60)
+
+020-7-1,36,39,4 script Ensio NPC_BLUESAGEWORKER_MB,{
+ function askQuestion;
+ function helpLogic;
+
+ .@qt=getq2(NivalisQuest_BlueSagePagefinder);
+ mesn;
+ if (.@qt == 31)
+ mesq l("We'd never be able to recover our books so quickly without your help. Thanks!");
+ else if (.@qt >= 27)
+ mesq l("There are only a few pages missing.");
+ else if (.@qt >= 19)
+ mesq l("Wow, you already found quite a lot of bookpages. Please keep it up!");
+ else if (.@qt >= 9)
+ mesq l("Thanks for the pages you brought. There are still some missing.");
+ else if (.@qt)
+ mesq l("So many bookpages are still missing...");
+ else
+ mesc l("*sigh*");
+ if (getq(NivalisQuest_BlueSagePagefinder) && getq(NivalisQuest_BlueSage) >= 12)
+ close;
+
+ next;
+ mesn;
+ mesq l("Hello. Did you come here to see the library? There isn't much left... But we're working on recovering the books by collecting the ripped out book pages, sorting them and recreating the books.");
+ askQuestion();
+ close;
+
+function askQuestion {
+ do {
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ .@qs=BSQuestion(getq(NivalisQuest_BlueSage));
+ .@qo=getq(NivalisQuest_BlueSagePagefinder);
+ .@qt=getq2(NivalisQuest_BlueSagePagefinder);
+ next;
+ mes "";
+ select
+ rif(!.@qo, "Can I help you somehow?"),
+ rif(.@qs & BS_QVISITOR, l("Do you know anything about the strange visitor?")),
+ rif(.@qs & BS_QHELPER, l("What's your opinion of Peetu and his work?")),
+ any(l("I need to leave."), l("See you."), l("Bye."), l("Good luck with that. See you in ten years or something."));
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesn;
+ mesq l("Oh, would you? That'd be great! You see, the slimes ate most of the books and it is difficult to retrieve the bookpages. If you feel capable of this task, you could go out to hunt the Blue and White Slimes, to get the @@ back from them.", getitemlink(SpellBookPage));
+ if (!countitem(SpellBookPage))
+ break;
+ helpLogic();
+ break;
+ case 2:
+ mesn;
+ mesq l("Visitor with a mask? Ah, I think I know who are you talking about. Black clothes and a golden mask. Rather strange guy.");
+ next;
+ mesn;
+ mesq l("He was looking around in the library a while, and then came to ask about our research. He seemed to be particularly interested in our experiments with the slimes.");
+ next;
+ mesn;
+ mesq l("Heh, I wonder what he would've said if he'd have visited us a little bit later. Mh, now that I think about it, the accident with the slimes happened just the night after he was here.");
+ if (!(.@q2 & .bsId))
+ setq2 NivalisQuest_BlueSage, .@q2 | .bsId;
+ break;
+ case 3:
+ mesn;
+ mesq l("Oh, I can't really tell. I'm mostly working in the library, while he's very involved in the research.");
+ break;
+ }
+ } while (@menu != 4);
+ close;
+}
+
+function helpLogic {
+ do {
+ inventoryplace ThetaBook, 1;
+ .@qt=getq2(NivalisQuest_BlueSagePagefinder);
+ .@qx=getq3(NivalisQuest_BlueSagePagefinder);
+ next;
+ mesc l("Donate 1/@@ @@ to Ensio?", countitem(SpellBookPage), getitemlink(SpellBookPage));
+ mes "";
+ // break(); works, right?
+ if (askyesno() == ASK_NO)
+ break;
+
+ delitem SpellBookPage, 1;
+ if (rand(90 - .@qt) < 36 && .@qx < 60) {
+ // Old Page
+ setq3 NivalisQuest_BlueSagePagefinder, .@qx+1;
+ mesn;
+ mesq "%%f " + l("Mh, let me see. We already have a copy of this page, but it's helpful nevertheless. Thank you.");
+ } else {
+ // Original Page
+ setq2 NivalisQuest_BlueSagePagefinder, .@qt+1;
+ mesn;
+ mesq "%%H " + l("Ah, wonderful! This is a page we haven't found yet!");
+ }
+ getexp 525, 32; // about 3% of exp table.
+
+ // Maybe you've completed the requeriment?
+ .@qt=getq2(NivalisQuest_BlueSagePagefinder);
+ if (.@qt >= 31) {
+ next;
+ mesn;
+ mesq l("Amazing. I think you found all the missing pages of which we didn't have a copy. This is a great help! I'll mention this to Nikolai.");
+ next;
+ mesn;
+ mesq l("For now, please accept this @@ as my gratitude.", getitemlink(ThetaBook));
+ getitem ThetaBook, 1;
+ setq1 NivalisQuest_BlueSagePagefinder, 1;
+ // Get any experience below the 60 failed pages threshold
+ // But you'll get only ~1% per success because it took you no page
+ // And you'll always get at least 1% bonus for... reasons.
+ .@x=60-.@qx;
+ .@x+=1;
+ getexp 175*.@x, 10*.@x;
+ break;
+ }
+
+ } while (countitem(SpellBookPage));
+ return;
+}
+
+OnInit:
+ .bsId=BS_NPC07;
+ .sex=G_MALE;
+ .distance=5;
+ npcsit;
+ end;
+}
+
+
diff --git a/npc/020-7-1/henriikka.txt b/npc/020-7-1/henriikka.txt
new file mode 100644
index 0000000..2b86634
--- /dev/null
+++ b/npc/020-7-1/henriikka.txt
@@ -0,0 +1,88 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW Org.
+// Description:
+// Responsible for recovering the lost pages (SpellBookPage)
+// helperBookpages*
+//
+// NivalisQuest_BlueSagePagefinder STRUCTURE
+// FIELD 1:
+// MAIN STATE
+// FIELD 2:
+// nº of pages found (0~31)
+// FIELD 3:
+// nº of duplicates found (for randomness control - capped at 60)
+
+020-7-1,33,39,4 script Henriikka NPC_BLUESAGEWORKER_FA,{
+ function askQuestion;
+ mesc l("You see a helper looking through some papers that have a strange smell.");
+ askQuestion();
+ close;
+
+function askQuestion {
+ next;
+ if (.@qt >= 255) {
+ mesn;
+ mesq l("I'm so glad we didn't have to go out to hunt the slimes! Thank you!");
+ } else if (.@qt) {
+ mesn;
+ mesq l("If you get any bookpages from the slimes, bring them to Ensio. Thanks for your help!");
+ } else {
+ mesn;
+ mesc l("*sighs*");
+ mesq l("Oh, hey. Welcome to the library, or what's left of it.");
+ }
+
+ // Mainframe Loop
+ do {
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ .@qs=BSQuestion(getq(NivalisQuest_BlueSage));
+ .@qt=getq2(NivalisQuest_BlueSagePagefinder);
+ next;
+ mes "";
+ select
+ rif(.@qt < 255, "What are you doing?"),
+ rif(.@qs & BS_QVISITOR, l("Do you know anything about the strange visitor?")),
+ rif(.@qs & BS_QHELPER, l("What's your opinion of Peetu and his work?")),
+ any(l("I need to leave."), l("See you."), l("Bye."));
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesn;
+ mesq l("We're trying to repair the books by collecting the ripped out bookpages and sorting them and copying them for new books. It's a lot to do, and after being eaten by a slime they stink!");
+ next;
+ mesn;
+ mesq l("And a lot of pages are missing, since most of the slimes escaped. I suppose we'll have to go out and hunt them once we're done here. Unless someone else hunt them for us.");
+ if (!.@qt) {
+ next;
+ mesn;
+ mesq l("Well, these slimes are dangerous, but if you find some pages, be sure to bring them to Ensio. This will help us a lot. Eh, if you're interested in helping, that is. %%1");
+ }
+ break;
+ case 2:
+ mesn;
+ mesq l("With a mask? I don't really remember... We have so many visitors. Though I suppose someone wearing a mask would be noticeable... But I'm so worn out from the past few days that I'm just glad I can even recall my own name! Sorry.");
+ break;
+ case 3:
+ mesn;
+ mesq l("Oh, I never really thought about that. He was the one who failed the sealing, right? But I heard it's a quite difficult spell, so I suppose this could've happened to any mage. I don't know. Why are you asking such difficult questions?");
+ next;
+ mesn;
+ mesq l("I need to go on with sorting the bookpages now.");
+ break;
+ }
+ } while (@menu != 4);
+ close;
+}
+
+OnInit:
+ .sex=G_FEMALE;
+ .distance=5;
+ npcsit;
+ end;
+}
+
+
diff --git a/npc/020-7-1/janika.txt b/npc/020-7-1/janika.txt
new file mode 100644
index 0000000..47c9c38
--- /dev/null
+++ b/npc/020-7-1/janika.txt
@@ -0,0 +1,101 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW Org.
+// Description:
+// Workers which produces pages
+// helperM*
+
+// NivalisQuest_BlueSagePagemaker STRUCTURE
+// FIELD 1:
+// MAIN STATE
+// FIELD 2:
+// BOOK MAKING QUEST
+// 1 - Illustrations delivered (BS_PMINK)
+// 2 - Bindings delivered (BS_PMBINDING)
+// 4 - Pages delivered (BS_PMPAGE)
+// 8 - Glue delivered (BS_PMGLUE)
+// =15: All items delivered
+
+020-7-1,44,56,0 script Janika NPC_BLUESAGEWORKER_FA,{
+ function askQuestion;
+ .@qt=getq2(NivalisQuest_BlueSagePagemaker);
+ mesn;
+ if (.@qt & BS_PMBINDING)
+ mesq l("Thanks for the Silk Cocoons. With these the new books are going to be exquisite.");
+ else
+ mesq l("This is going to be difficult... oh, hello. I'm working on recreating some of the books that were destroyed.");
+
+ // Begin here
+ askQuestion();
+ .@qt=getq2(NivalisQuest_BlueSagePagemaker);
+ mes "";
+ mesn;
+ mesq l("I need @@/@@ @@ for the book covers and binding of some of the more valuable books we're trying to recreate.", countitem(SilkCocoon), 60, getitemlink(SilkCocoon));
+ next;
+ mesn;
+ mesq l("You wouldn't happen to have them, would you?");
+ if (countitem(SilkCocoon) < 60)
+ close;
+ next;
+ if (askyesno() == ASK_NO) {
+ mes "";
+ mesn;
+ mesq l("That's a pity.");
+ close;
+ }
+ mes "";
+
+ delitem SilkCocoon, 60;
+ setq2 NivalisQuest_BlueSagePagemaker, .@qt|BS_PMBINDING;
+ getexp 3535, 215; // 20% from references, rounded up. It's part of main story.
+ // is present. REMEMBER THIS IS A LEVEL 36/16 QUEST, REGARDLESS IF EVERYONE DECIDES
+ // TO DO IT AT LEVEL 40. Exp reward will not change. It's main story, too.
+ // Besides, it gives Job Experience, which is not common.
+ mesn;
+ mesq l("Excellent! This is exactly what I need. Thanks a lot. I'll tell Nikolai about your generosity.");
+ close;
+
+function askQuestion {
+ .@qs=BSQuestion(getq(NivalisQuest_BlueSage));
+ do {
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ .@qt=getq2(NivalisQuest_BlueSagePagemaker);
+ next;
+ select
+ rif(!(.@qt & BS_PMBINDING), l("Can I help you?")),
+ rif(.@qs & BS_QVISITOR, l("Do you know anything about the strange visitor?")),
+ rif(.@qs & BS_QHELPER, l("What's your opinion of Peetu and his work?")),
+ any(l("I need to leave."), l("See you."), l("Bye."), l("Good luck."));
+ mes "";
+ switch (@menu) {
+ case 2:
+ mesn;
+ mesq l("Oh, I know who you mean! That impertinent person came over in the workshop area and fiddled about with all kinds of things here! Such a rude person! Didn't he understand that we had delicate things going on here? We had to send him back to the library area several times.");
+ next;
+ mesn;
+ mesc l("She shakes her head.");
+ mesq l("Sometimes I think it'd be better not to allow visitors here. But Nikolai set a high value on keeping contact with the population. Politics.");
+ if (!(.@q2 & .bsId))
+ setq2 NivalisQuest_BlueSage, .@q2 | .bsId;
+ break;
+ case 3:
+ mesn;
+ mesq l("Mh, I don't know him closely.");
+ break;
+ case 4:
+ close;
+ }
+ } while (@menu != 1);
+ return;
+}
+
+OnInit:
+ .bsId=BS_NPC02;
+ .sex=G_FEMALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/020-7-1/janitors.txt b/npc/020-7-1/janitors.txt
new file mode 100644
index 0000000..c7ae6db
--- /dev/null
+++ b/npc/020-7-1/janitors.txt
@@ -0,0 +1,82 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW Org.
+// Description:
+// In charge to clear the mess
+// helperCleaning* + helperJanitor
+
+// Quest: NivalisQuest_BlueSageSlimes
+// 1: Acception state (0 - Not accepted, 1 - Accepted, 2 - Complete)
+// 2: Killed Slimes Control
+// 3: Killed Nests Control
+
+020-7-1,79,70,0 script Arvo NPC_BLUESAGEWORKER_MA,{
+ function askQuestion;
+ mesn;
+ mesq l("Oh, this is so much work... I can't believe they let this happen! You would think they'd be careful when playing around with such powerful forces. Hah! Big mistake!");
+ askQuestion();
+ close;
+
+function askQuestion {
+ next;
+ if (.@qt >= 255) {
+ mesn;
+ mesq l("Good work with the slimes. This will make our task much easier.");
+ next;
+ mesn;
+ mesc l("*sigh*");
+ mesq l("It appears we were focusing too much on research and this lead to neglect of other duties of a Sage's household. This is dangerous in times of changes. I'm worried about the future.");
+ } else if (.@qt) {
+ mesn;
+ mesc l("*sighs*");
+ mesq l("We really appreciate your help with the slimes.");
+ } else {
+ mesn;
+ mesq l("It's dangerous in the library right now, be careful. Do you need anything else?");
+ }
+
+ // Mainframe Loop
+ do {
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ .@qs=BSQuestion(getq(NivalisQuest_BlueSage));
+ .@qt=getq3(NivalisQuest_BlueSageSlimes);
+ next;
+ mes "";
+ select
+ rif(.@qt < BS_SNESTALL, ""),
+ rif(.@qs & BS_QVISITOR, l("Do you know anything about the strange visitor?")),
+ rif(.@qs & BS_QHELPER, l("What's your opinion of Peetu and his work?")),
+ any(l("I need to leave."), l("See you."), l("Bye."));
+ mes "";
+ switch (@menu) {
+ case 2:
+ mesn;
+ mesq l("Yes, I remember that one! I welcomed him in the libary and showed him around. But I didn't have the impression he was really listening to what I was saying, though that's hard to tell with the mask.");
+ next;
+ mesn;
+ mesq l("But when I left him to look at the books on his own, he sneaked over to the workshop area. Visitors are allowed to have a look there, but only if they don't interfere with any research and experiments. But it seems he was being rather disturbing, since they sent them back to the library part.");
+ next;
+ mesn;
+ mesq l("I tried to keep an eye on him after that, but when I got distracted by some newly arriving visitor he went over to the workshop again! Usually I enjoy my job, because I like talking to people, but this guy... was a pain, really.");
+ if (!(.@q2 & .bsId))
+ setq2 NivalisQuest_BlueSage, .@q2 | .bsId;
+ break;
+ case 3:
+ mesn;
+ mesq l("Peetu? That's one of the high rank helpers. As far as I know, he's capable of magic and takes part in some important researches. But I don't really know about those things.");
+ break;
+ }
+ } while (@menu != 4);
+ close;
+}
+
+OnInit:
+ .bsId=BS_NPC04;
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/020-7-1/kristian.txt b/npc/020-7-1/kristian.txt
new file mode 100644
index 0000000..08ea6d7
--- /dev/null
+++ b/npc/020-7-1/kristian.txt
@@ -0,0 +1,71 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW Org.
+// Description:
+// In charge to clear the mess
+// helperCleaning* + helperJanitor
+
+// Quest: NivalisQuest_BlueSageSlimes
+// 1: Acception state (0 - Not accepted, 1 - Accepted, 2 - Complete)
+// 2: Killed Slimes Control
+// 3: Killed Nests Control
+
+020-7-1,62,83,0 script Kristian NPC_BLUESAGEWORKER_MA,{
+ function askQuestion;
+ mesn;
+ mesq l("Welcome. Please don't go deeper into the library, there are still some slimes left. But in spite of that we have made quite a bit of progress. You should have seen the mess just after most of the slimes escaped!");
+ askQuestion();
+ close;
+
+function askQuestion {
+ do {
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ .@qs=BSQuestion(getq(NivalisQuest_BlueSage));
+ .@qt=getq3(NivalisQuest_BlueSageSlimes);
+ next;
+ if (.@qt >= 255) {
+ mesn;
+ mesq l("I'm so glad that you took care of the remaining slimes. Thanks! Do you need anything else?");
+ } else if (.@qt) {
+ mesn;
+ mesq l("Wow, it's really generous of you to fight those slimes for us. Do you need anything else?");
+ } else {
+ mesn;
+ mesq l("Do you need anything else?");
+ }
+ mes "";
+ select
+ rif(.@qt < BS_SNESTALL, ""),
+ rif(.@qs & BS_QVISITOR, l("Do you know anything about the strange visitor?")),
+ rif(.@qs & BS_QHELPER, l("What's your opinion of Peetu and his work?")),
+ any(l("I need to leave."), l("See you."), l("Bye."));
+ mes "";
+ switch (@menu) {
+ case 2:
+ mesn;
+ mesq l("Oh, there was such a visitor, yes. Strange guy, and didn't really know how to behave. He sneaked into the workshop area all the time, I think he was rather curious about the things going on there.");
+ next;
+ mesn;
+ mesq l("But still, he can't just walk in there, fiddle with the experiments and disturb the helpers doing their work.");
+ if (!(.@q2 & .bsId))
+ setq2 NivalisQuest_BlueSage, .@q2 | .bsId;
+ break;
+ case 3:
+ mesn;
+ mesq l("Peetu? I think he's a good guy. Very focused on his work, I think. I don't have that much to do with him, so I can't really tell.");
+ break;
+ }
+ } while (@menu != 4);
+ close;
+}
+
+OnInit:
+ .bsId=BS_NPC05;
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/020-7-1/kullervo.txt b/npc/020-7-1/kullervo.txt
new file mode 100644
index 0000000..5ca37bb
--- /dev/null
+++ b/npc/020-7-1/kullervo.txt
@@ -0,0 +1,109 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW Org.
+// Description:
+// Workers which produces pages
+// helperM*
+
+// NivalisQuest_BlueSagePagemaker STRUCTURE
+// FIELD 1:
+// MAIN STATE
+// FIELD 2:
+// BOOK MAKING QUEST
+// 1 - Illustrations delivered (BS_PMINK)
+// 2 - Bindings delivered (BS_PMBINDING)
+// 4 - Pages delivered (BS_PMPAGE)
+// 8 - Glue delivered (BS_PMGLUE)
+// =15: All items delivered
+
+020-7-1,45,31,4 script Kullervo NPC_BLUESAGEWORKER_MA,{
+ function askQuestion;
+ .@qt=getq2(NivalisQuest_BlueSagePagemaker);
+ mesn;
+ if (.@qt & BS_PMPAGE)
+ mesq l("Very well, now I can create more paper.");
+ else
+ mesq l("Oh no! What should we do now?");
+
+ // Begin here
+ askQuestion();
+ .@qt=getq2(NivalisQuest_BlueSagePagemaker);
+ mes "";
+ mesn;
+ mesq l("We're nearly out of paper. The new books require so much material... And it's not easy to get Reed Bundles to create new paper.");
+ next;
+ mesn;
+ mesq l("I only need @@/@@ @@ to make enough magic paper for the books... Do you, perchance, have them with you?", countitem(ReedBundle), 15, getitemlink(ReedBundle));
+ if (countitem(ReedBundle) < 15)
+ close;
+ next;
+ if (askyesno() == ASK_NO) {
+ mes "";
+ mesn;
+ mesq l("Well, I guess I was thinking too high of a random adventurer like yourself...");
+ close;
+ }
+ mes "";
+
+ delitem ReedBundle, 15;
+ setq2 NivalisQuest_BlueSagePagemaker, .@qt|BS_PMPAGE;
+ getexp 3535, 215; // 20% from references, rounded up. It's part of main story.
+ // is present. REMEMBER THIS IS A LEVEL 36/16 QUEST, REGARDLESS IF EVERYONE DECIDES
+ // TO DO IT AT LEVEL 40. Exp reward will not change. It's main story, too.
+ // Besides, it gives Job Experience, which is not common.
+ mesn;
+ mesq l("Thank you! That's very generous of you.");
+ close;
+
+function askQuestion {
+ .@qs=BSQuestion(getq(NivalisQuest_BlueSage));
+ do {
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ .@qt=getq2(NivalisQuest_BlueSagePagemaker);
+ next;
+ select
+ rif(!(.@qt & BS_PMPAGE), l("What's wrong?")),
+ rif(.@qs & BS_QVISITOR, l("Do you know anything about the strange visitor?")),
+ rif(.@qs & BS_QHELPER, l("What's your opinion of Peetu and his work?")),
+ any(l("I need to leave."), l("See you."), l("Bye."), l("Good luck."));
+ mes "";
+ switch (@menu) {
+ case 2:
+ mesn;
+ mesq l("Oh, yes. There was such a guy, shortly before the accident I think. He sneaked into the workshop several times, sticking his nose into stuff that shouldn't be his business. We had to send him back to the library area at least three times.");
+ next;
+ mesn;
+ mesq l("Maybe he was confused, not sure. He talked very strangely.");
+ if (!(.@q2 & .bsId))
+ setq2 NivalisQuest_BlueSage, .@q2 | .bsId;
+ break;
+ case 3:
+ mesn;
+ mesq l("Are you asking because people say it's his fault? Listen, I've known him for many years now. We started our service here about the same time. We share our room and are really close friends.");
+ next;
+ mesn;
+ mesq l("And in all these years, I've never seen him messing up anything important. He's a perfectionist. He isn't satisfied with anything less than the best possible result when doing his work.");
+ next;
+ mesn;
+ mesq l("I don't understand what went wrong with that spell, but it just has to have another cause than Peetu. I'm worried about him. He must feel very miserable. But I can't leave my duty here.");
+ if (!(.@q3 & .bsId))
+ setq3 NivalisQuest_BlueSage, .@q3 | .bsId;
+ break;
+ case 4:
+ close;
+ }
+ } while (@menu != 1);
+ return;
+}
+
+OnInit:
+ .bsId=BS_NPC03;
+ .sex=G_MALE;
+ .distance=5;
+ npcsit;
+ end;
+}
+
diff --git a/npc/020-7-1/mirjami.txt b/npc/020-7-1/mirjami.txt
new file mode 100644
index 0000000..d4b1750
--- /dev/null
+++ b/npc/020-7-1/mirjami.txt
@@ -0,0 +1,91 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW Org.
+// Description:
+// In charge to clear the mess
+// helperCleaning* + helperJanitor
+
+// Quest: NivalisQuest_BlueSageSlimes
+// 1: Acception state (0 - Not accepted, 1 - Accepted, 2 - Complete)
+// 2: Killed Slimes Control
+// 3: Killed Nests Control
+
+020-7-1,40,78,0 script Mirjami NPC_BLUESAGEWORKER_FA,{
+ function askQuestion;
+ mesn;
+ mesq l("Where is it? Everything's upside down. These terrible slimes.");
+ askQuestion();
+ close;
+
+function askQuestion {
+ next;
+ .@qt=getq3(NivalisQuest_BlueSageSlimes);
+ if (.@qt >= BS_SNESTALL) {
+ mesn;
+ mesq l("I heard you fought the slimes that were still roaming between the bookshelves. Thank you!");
+ next;
+ mesn;
+ mesq l("I was a bit worried that they might ruin our efforts by messing everything up again after we just cleaned.");
+ } else {
+ mesn;
+ mesq l("I'm just searching for some cleaning supplies. They must be somewhere around here, but everything went upside down when the slimes escaped.");
+ next;
+ mesn;
+ mesq l("Maybe they're in the library, but it is too dangerous there right now...");
+ }
+
+ // Mainframe Loop
+ do {
+ .@q=getq(NivalisQuest_BlueSageSlimes);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ .@qs=BSQuestion(getq(NivalisQuest_BlueSage));
+ .@qt=getq3(NivalisQuest_BlueSageSlimes);
+ next;
+ mes "";
+ select
+ rif(.@qt == BS_SNESTALL && .@q == 1, "Did you found the supplies yet?"),
+ rif(.@qs & BS_QVISITOR, l("Do you know anything about the strange visitor?")),
+ rif(.@qs & BS_QHELPER, l("What's your opinion of Peetu and his work?")),
+ any(l("I need to leave."), l("See you."), l("Bye."));
+ mes "";
+ switch (@menu) {
+ case 1:
+ //mesq l("Not yet, blame Jesusalva, your reward was with them");
+ inventoryplace AlchemyBlueprintA, 1, AncientBlueprint, 1;
+ mesn;
+ mesq l("Yeah... I also found a few old blueprints. We don't need this crap, you can put it on your @@.", getitemlink(AlchemyBlueprintA), getitemlink(RecipeBook));
+ next;
+ getitem AlchemyBlueprintA, 1;
+ getitem any(AncientBlueprint, AlchemyBlueprintA, EquipmentBlueprintA), 1;
+ setq1 NivalisQuest_BlueSageSlimes, 2;
+ next;
+ mesn;
+ mesq l("You can be thankful later. Aren't you excited to see what exactly was on that blueprint? Go on, enjoy it! %%G");
+ break;
+ case 2:
+ mesn;
+ mesq l("Ohh, I think I know who you mean. That was a strange guy. He always came over here in the workshop, said he's very interested in the research. I suppose that's ok, but he didn't keep his hands to himself, and touched some experiments and I caught him near some storage racks.");
+ next;
+ mesn;
+ mesq l("Visitors should keep away from those!");
+ if (!(.@q2 & .bsId))
+ setq2 NivalisQuest_BlueSage, .@q2 | .bsId;
+ break;
+ case 3:
+ mesn;
+ mesq l("Oh, eh, why are you asking me? I've only been here a short while and don't really know all of the people well enough yet.");
+ break;
+ }
+ } while (@menu != 4);
+ close;
+}
+
+OnInit:
+ .bsId=BS_NPC06;
+ .sex=G_FEMALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/020-7-1/nea.txt b/npc/020-7-1/nea.txt
new file mode 100644
index 0000000..90c84f3
--- /dev/null
+++ b/npc/020-7-1/nea.txt
@@ -0,0 +1,78 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW Org.
+// Description:
+// In charge to clear the mess
+// helperCleaning* + helperJanitor
+
+// Quest: NivalisQuest_BlueSageSlimes
+// 1: Acception state (0 - Not accepted, 1 - Accepted, 2 - Complete)
+// 2: Killed Slimes Control
+// 3: Killed Nests Control
+
+020-7-1,53,39,0 script Nea NPC_BLUESAGEWORKER_FA,{
+ function askQuestion;
+ mesn;
+ mesq l("Oh, hello. If I were you I wouldn't go deeper into the library. There are still some of those monsters left. Slipping between the bookshelves.");
+ askQuestion();
+ close;
+
+function askQuestion {
+ do {
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ .@qs=BSQuestion(getq(NivalisQuest_BlueSage));
+ .@qt=getq3(NivalisQuest_BlueSageSlimes);
+ next;
+ if (.@qt >= 255) {
+ mesn;
+ mesq l("I feel much safer now that you defeated the slimes. Thanks so much! Do you need anything else?");
+ } else if (.@qt) {
+ mesn;
+ mesq l("\"Oh, I'm so glad you're taking care of those scary slimes. You're so brave! How many of them are still left, do you think? Will it be safe to go there soon?");
+ } else {
+ mesn;
+ mesc l("She shudders.");
+ mesq l("And they can explode! Nothing in the world could make me go in there. I'll just do my work right here, clean the floor and tidy up the books, and I'm keeping my eyes open in case they get over here."); // Cleaning the floor, aham. ¬.¬
+ next;
+ mesn;
+ mesq l("Do you need anything else?");
+ }
+ mes "";
+ select
+ rif(.@qt < BS_SNESTALL, ""),
+ rif(.@qs & BS_QVISITOR, l("Do you know anything about the strange visitor?")),
+ rif(.@qs & BS_QHELPER, l("What's your opinion of Peetu and his work?")),
+ any(l("I need to leave."), l("See you."), l("Bye."));
+ mes "";
+ switch (@menu) {
+ case 2:
+ mesn;
+ mesq l("With a mask? Mh, I think I know who are you talking about. I vaguely remember that there was someone with a mask... but I can't recall any details, I wasn't really paying attention.");
+ close;
+ break;
+ case 3:
+ mesn;
+ mesq l("Petu? Yeah, he's the kind of person who always wants to do things perfectly. That makes it a bit difficult to work with him, since his expectations for others are as high as for himself.");
+ next;
+ mesn;
+ mesq l("I really wonder how that accident could've happened. I'd have never expected him to mess something up like that.");
+ if (!(.@q3 & .bsId))
+ setq3 NivalisQuest_BlueSage, .@q3 | .bsId;
+ close;
+ break;
+ }
+ } while (@menu != 4);
+ close;
+}
+
+OnInit:
+ .bsId=BS_NPC05;
+ .sex=G_FEMALE;
+ .distance=5;
+ npcsit;
+ end;
+}
+
diff --git a/npc/020-7-1/oskari.txt b/npc/020-7-1/oskari.txt
new file mode 100644
index 0000000..652c2de
--- /dev/null
+++ b/npc/020-7-1/oskari.txt
@@ -0,0 +1,233 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW Org.
+// Description:
+// Helper boss
+//
+// NivalisQuest_BlueSage STRUCTURE
+// FIELD 1:
+// INVESTIGATION
+// 1 - STBY OUTSIDE
+// 2 - ACCESS GRANTED
+// 3 - QUEST ASSIGNED BY PEETU - talk to Oskari (and others)
+// 4 - Oskari is OK with peetu, but wanna hear from others. He also sends you
+// to ask what Peetu happened
+// 5 - Adultered ingredients seems the cause, report to Elias
+// 6 - Elias is now worried about a visitor. Ask people about and report.
+// 7 - If everyone found the visitor, confirm Elias the worries
+// 8 - Elias sent you to Oskari to inform the issue. Blue Sage probably knew all along.
+// will not advance unless everyone thinks Peetu is good.
+// 9 - Oskari accepts the cause. Tells to report Peetu that it probably was
+// a saboutage, to check if the Silk Cocoon really was there.
+// 10 - Peetu confirmed the saboutage. Report to Blue Sage.
+// 11 - Blue Sage accepted the evidence, and explains about other sages issues.
+// It's not known who or what is behind this. He excuses for making you waste
+// your time. He asks you to return to him later, as he needs to write letters.
+// 12 - QUEST COMPLETE - You collected your reward
+// Also picked up a letter for Frostia Mayor, about the incident (Main Story).
+// FIELD 2:
+// Bitwise (BS_QVISITOR)
+// FIELD 3:
+// Bitwise (BS_QHELPER)
+
+020-7-1,122,29,0 script Oskari NPC_BLUESAGEWORKER_FB,{
+ function pIdle;
+
+ function pPeetu; // Peetu sent you to them
+ function pElias; // Elias sent you to them
+ function pComplete;
+
+ .@q=getq(NivalisQuest_BlueSage);
+ switch (.@q) {
+ case 2:
+ pIdle();
+ break;
+ case 3:
+ pPeetu();
+ break;
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ pIdle();
+ mesc l("I probably should talk to everyone else, and assess better the situation, before bothering Oskari.");
+ break;
+ case 8:
+ pElias();
+ break;
+ case 9:
+ pIdle("Peetu"); // Skippers...
+ break;
+ case 10:
+ case 11:
+ pIdle();
+ break;
+ case 12:
+ pComplete();
+ break;
+ default:
+ teleporthome();
+ die();
+ end;
+ break;
+ }
+ close;
+
+
+// Here we begin
+function pIdle {
+ if (getarg(0, "") != "") {
+ mesn;
+ mesq l("What are you doing? Stop wasting my time and go talk to @@!", getarg(0, "##1##BBUGGY FLYING COW##b##0"));
+ return;
+ }
+ mesn;
+ mesq l("You have to excuse me, as you might have heard we're having some trouble at the moment and I, as Chief of Nikolai's household staff, have a lot to do.");
+ return;
+}
+
+// Peetu Question
+function pPeetu {
+ mesn;
+ mesq l("You have to excuse me, as you might have heard we're having some trouble at the moment and I, as Chief of Nikolai's household staff, have a lot to do.");
+ next;
+ select
+ l("Ok, see you."),
+ l("Peetu asked me to talk to you about his mishap.");
+ mes "";
+ if (@menu == 1)
+ close;
+ mesn;
+ mesq l("So, what did he said?");
+ next;
+ mesn strcharinfo(0);
+ mesq l("He is blaming himself and is afraid of losing his job.");
+ next;
+ mesn;
+ mesq l("Well... Can't say I'm surprised. He is very perfectionist. Putting on himself the blame is something he would do.");
+ next;
+ mesn;
+ mesq l("Well, all humans does mistakes... Wait, he is an elf. So, everyone commit mistakes. Anyway...");
+ next;
+ mesc l("@@ stops, and keep silent for a while, thinking, before continuing.", .name$);
+ next;
+ mesn;
+ mesq l("You know, he is very experienced and reliable. He might look and act like a kid, but he is at least a century old.");
+ next;
+ mesn;
+ mesq l("This whole situation is very disquieting, not to say suspicious. There might be something more to it that we're not seeing.");
+ next;
+ mesn;
+ mesq l("It might be just my gut instinct, but... Would you be willing to talk with Peetu and the other helpers, investigating what actually happened?");
+ next;
+ mesn;
+ mesq l("The whole team is very distressed, too. Could you take the opportunity to see if the team is putting the blame on Peetu? Thanks in advance.");
+ next;
+ mesn;
+ mesq l("Please tell Peetu I do not plan in firing him, it should calm him down. And please carry out an investigation, don't disrupt my work until you're done.");
+ setq1 NivalisQuest_BlueSage, 4;
+ close;
+}
+
+// Elias Question
+function pElias {
+ mesn;
+ mesq l("Have you talked to Peetu co-workers about their opinion yet?");
+ next;
+
+ // cannot advance otherwise
+ .@q=getq3(NivalisQuest_BlueSage);
+ if (.@q != BS_NPCALL) {
+ mesn;
+ mesq l("I need to know if someone is blaming him. It is important.");
+ close;
+ }
+ select
+ l("Not yet."),
+ l("Yes, everyone thinks he is competent and Elias have a report of a masked man.");
+ mes "";
+ if (@menu == 1)
+ close;
+
+ mesn;
+ mesq l("With a mask you say? This reminds me... wait a moment.");
+ next;
+ mes l("... .... ....");
+ next;
+ mesn;
+ mesq l("Mh... yes. It makes sense. Listen. This is a secret, but it might have been.... @@.", b(l("Sabotage")));
+ next;
+ mesn;
+ mesq l("I need a favor from you. Go talk to Peetu. Ask him to confirm if there was silk cocoon in the ingredients. Janika reported me that we've ran out of it two days ago.");
+ setq1 NivalisQuest_BlueSage, 9;
+ close;
+}
+
+// We're done.
+function pComplete {
+ mesn;
+ mesq l("Thanks again for your investigations. It was a great help.");
+ close;
+}
+
+
+OnTimer1000:
+ domovestep;
+
+OnInit:
+ // Long Movement is difficult for Hercules Engine
+ initpath "move", 122, 29,
+ "dir", UP, 0,
+ "wait", 15, 0,
+ "dir", LEFT, 0,
+ "move", 109, 29,
+ "move", 79, 29,
+ "move", 59, 29,
+ "move", 56, 29,
+ "wait", 3, 0,
+ "dir", RIGHT, 0,
+ "wait", 7, 0,
+ "dir", LEFT, 0,
+ "wait", 7, 0,
+ "dir", DOWN, 0,
+ "move", 55, 48,
+ "wait", 3, 0,
+ "dir", RIGHT, 0,
+ "wait", 10, 0,
+ "dir", DOWN, 0,
+ "wait", 10, 0,
+ "dir", LEFT, 0,
+ "wait", 3, 0,
+ "move", 26, 46,
+ "dir", UP, 0,
+ "wait", 4, 0,
+ "dir", RIGHT, 0,
+ "wait", 4, 0,
+ "dir", DOWN, 0,
+ "wait", 2, 0,
+ "move", 26, 57,
+ "wait", 2, 0,
+ "move", 25, 77,
+ "wait", 3, 0,
+ "dir", RIGHT, 0,
+ "wait", 10, 0,
+ "move", 26, 57,
+ "move", 26, 46,
+ "move", 55, 48,
+ "move", 56, 29,
+ "wait", 3, 0,
+ "dir", RIGHT, 0,
+ "wait", 1, 0,
+ "move", 59, 29,
+ "move", 79, 29,
+ "move", 109, 29;
+ // And go back to Peetu, which is very far away, 'cause I'm lazy
+ initialmove;
+ initnpctimer;
+
+ .sex=G_FEMALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/020-7-1/peetu.txt b/npc/020-7-1/peetu.txt
new file mode 100644
index 0000000..7a9387e
--- /dev/null
+++ b/npc/020-7-1/peetu.txt
@@ -0,0 +1,343 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW Org.
+// Description:
+// Peetu, gifted since birth, only 1 NPC each 100 are born mages
+//
+// NivalisQuest_BlueSage STRUCTURE
+// FIELD 1:
+// INVESTIGATION
+// 1 - STBY OUTSIDE
+// 2 - ACCESS GRANTED - But Peetu is crying too much
+// 3 - Peetu was calmed down, go talk to Oskari about him
+// 4 - Oskari is OK with peetu, but wanna hear from others. He also sends you
+// to ask what Peetu happened
+// 5 - Adultered ingredients seems the cause, report to Elias
+// 6 - Elias is now worried about a visitor. Ask people about and report.
+// 7 - If everyone found the visitor, confirm Elias the worries
+// 8 - Elias sent you to Oskari to inform the issue. Blue Sage probably knew all along.
+// will not advance unless everyone thinks Peetu is good.
+// 9 - Oskari accepts the cause. Tells to report Peetu that it probably was
+// a saboutage, to check if the Silk Cocoon really was there.
+// 10 - Peetu confirmed the saboutage. Report to Blue Sage.
+// 11 - Blue Sage accepted the evidence, and explains about other sages issues.
+// It's not known who or what is behind this. He excuses for making you waste
+// your time. He asks you to return to him later, as he needs to write letters.
+// 12 - QUEST COMPLETE - You collected your reward
+// Also picked up a letter for Frostia Mayor, about the incident (Main Story).
+// FIELD 2:
+// Bitwise (BS_QVISITOR)
+// FIELD 3:
+// Bitwise (BS_QHELPER)
+
+020-7-1,122,27,2 script Peetu NPC_BLUESAGEWORKER_MC,{
+ function pWaiting;
+
+ function pIntro;
+ function pContinue;
+ function pReflection;
+ function pInvestigation;
+ function pComplete;
+
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+
+ if (.@q <= 4)
+ npctalk3 any(l("*sob sob*"), l("*crying*"));
+
+ switch (.@q) {
+ case 2:
+ pIntro();
+ break;
+ case 3:
+ pWaiting("Oskari");
+ break;
+ case 4:
+ pReflection();
+ break;
+ case 5:
+ pWaiting("Elias"); // In case they skipped all dialogs and are now lost.
+ break;
+ case 6:
+ case 7:
+ case 8:
+ pWaiting("Oskari");
+ break;
+ case 9:
+ pInvestigation();
+ break;
+ case 10:
+ case 11:
+ pWaiting("Blue Sage");
+ break;
+ case 12:
+ pComplete();
+ break;
+ default:
+ teleporthome();
+ die();
+ end;
+ break;
+ }
+ close;
+
+// Here we begin
+function pWaiting {
+ .@name$=getarg(0, "##1##BBUG, REPORT ME: THE FLYING COW##0##b");
+ mesn;
+ mesc l("*sniff sniff*");
+ mesq l("I'm waiting for @@ feedback... Please go talk to them! %%S", .@name$);
+ close;
+}
+
+// Peetu is too upset with failing (yeah, he is that kind of perfectionist here).
+// We should find a way to calm him down.
+function pIntro {
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ mesn;
+ mesc l("*sniff sniff*");
+ next;
+ select
+ l("Hello Peetu."),
+ rif(.@q2 >= 1, l("[Give him some salty Sea Drops?]")),
+ rif(.@q2 >= 2, l("[Give him some tasty Chocolate Bar?]")),
+ rif(.@q2 >= 3, l("[Give him a Mouboo Figurine to play with?]")),
+ rif(.@q2 >= 4, l("[Slap his hands to surprise him and get his attention?]")),
+ rif(.@q2 >= 5, l("SHUT UP PEETU, I'M ALREADY TIRED OF LISTENING YOUR CRIES!")),
+ rif(.@q2 >= 5, l("I give up. You're hopeless.")),
+ rif(.@q2 >= 5, l("Have you cried enough?")),
+ rif(.@q2 >= 5, l("[Pat his shoulder and say everything will be fine.]")),
+ rif(.@q2, l("Hi Peetu, are you calmer now?"));
+ mes "";
+ switch (@menu) {
+ case 1:
+ if (.@q2 < 1)
+ setq2 NivalisQuest_BlueSage, 1;
+ break;
+ case 2:
+ if (!countitem(SeaDrops)) {
+ mesc l("You don't have @@.", getitemlink(SeaDrops));
+ close;
+ }
+ if (.@q2 < 2)
+ setq2 NivalisQuest_BlueSage, 2;
+ break;
+ case 3:
+ if (!countitem(ChocolateBar)) {
+ mesc l("You don't have @@.", getitemlink(ChocolateBar));
+ close;
+ }
+ if (.@q2 < 3)
+ setq2 NivalisQuest_BlueSage, 3;
+ break;
+ case 4:
+ if (!countitem(MoubooFigurine)) {
+ mesc l("You don't have @@.", getitemlink(MoubooFigurine));
+ close;
+ }
+ if (.@q2 < 4)
+ setq2 NivalisQuest_BlueSage, 4;
+ break;
+ case 5:
+ mesn;
+ mesq l("AH!");
+ next;
+ mesc l("You seem to have gotten Peetu's attention for a while.");
+ next;
+ if (.@q2 < 5)
+ setq2 NivalisQuest_BlueSage, 5;
+ break;
+ case 9:
+ pContinue();
+ break;
+ }
+ mesn;
+ mes l("WAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHH");
+ mesc l("@@ burst in tears.", .name$);
+ next;
+ mesn strcharinfo(0);
+ mesc l("I probably should look in a way of calming him down.");
+ close;
+}
+
+// He is calmer now
+function pContinue {
+ mesn;
+ mesc l("*sniff sniff*");
+ next;
+ select
+ l("What have happened? Why are you crying?"),
+ l("Maybe I can help to ease your pain?"),
+ l("Don't cry any further. I am here to help."),
+ l("Please tell me calmly what happened so I can help.");
+ mes "";
+ mesn;
+ mesq l("It's *sniff* It's all my fault... *sniff*");
+ next;
+ mesn;
+ mesc l("*sniff* *sniff*");
+ mesq l("It was my job to seal the slimes away for the night, but I somehow messed it up!");
+ next;
+ mesn;
+ mesc l("*tears weeling up*");
+ mesq l("And now I'm going to lose my job and I'll have to leave here and no other sage would give me a new appointment and I don't know what else to do!");
+ next;
+ mesc l("@@ latches onto you and starts sobbing on your shoulder.", .name$);
+ select
+ l("[Try to console him]"),
+ l("[Shake him and tell him to pull himself together]"),
+ l("[Push him away from you and leave]");
+ mes "";
+ if (@menu == 3) {
+ setq2 NivalisQuest_BlueSage, 4;
+ close;
+ }
+ mesc l("@@ calms a bit.", .name$);
+ next;
+ mesn;
+ mesq l("Uh. You're probably right. I'm very sorry. I'm just... You know, I wanted to become a scholar of the sages, studying and... Oh, how could I mess that up? Did you see the library? It caused so much damage! What else should they do other than kick me out?");
+ next;
+ mesn;
+ mesq l("I would kick me out myself! I'm such a failure! A complete disaster! %%i");
+ next;
+ select
+ l("Maybe you should talk to your chief about that?"),
+ l("It doesn't make much sense to draw overhasty conclusions."),
+ l("Do you have a clue about what went wrong?");
+ mes "";
+ mesn;
+ mesq l("Well ... but ... I mean ... I don't know ... ");
+ next;
+ mesn;
+ mesq l("Would you ... uhm ... would you talk to Chief Oskari for me? And ask her what she plans to do about me? I... I just don't feel capable of doing that myself right now. I'll try to pull myself together in the meanwhile.");
+ setq NivalisQuest_BlueSage, 3, 0;
+ close;
+}
+
+// Report that Oskari is not planning to fire him (yet), and is trying to understand
+// what went wrong so it do not repeat.
+function pReflection {
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ select
+ l("Good news - Oskari doesn't plans in firing you (yet)!"),
+ l("I'm here to investigate what exactly happened so this doesn't happens again."),
+ l("Everyone commit mistakes and Oskari was very understanding. I need to do some questions about the incident though."),
+ l("Oskari have a good opinion of you. Can you tell what exactly happened?");
+ mes "";
+ mesn;
+ mesc l("*sniff sniff*");
+ mesq l("So... You see... I usually pay a lot of attention to my work. Especially when doing something as delicate as sealing away the slimes for the night.");
+ next;
+ mesn;
+ mesq l("We're doing researches on slimes, the explosive ones. You probably saw when they explode, they damage anything close to them, friendly or not, right?");
+ next;
+ mesn;
+ mesq l("Nikolai said it was important, so we keep a few of them locked in the basement. I apply a spell to seal them so they don't wander around, explode around, or... *sniff*...");
+ next;
+ mesn;
+ mesq l("It's a very delicate spell. I usually start to prepare it while the helpers are still working on their research and experiments. That way, when they're done, they can just come and place the slimes under the seal.");
+ next;
+ mesn;
+ mesq l("So... @@ That night, I cast it as usual. Everything seemed alright so I went to bed.", "##9*sniff*##0");
+ next;
+ mesn;
+ mesc l("Eyes grows!");
+ mesq l("I woke up in a shake! I felt... Oh, it's hard to describe... As if the spell suddenly started inflating, getting bigger... bigger... weaker... weaker...");
+ next;
+ mesn;
+ mesc l("*snap fingers*");
+ mesq l("And then, it was no more! It vanished! In a matter of minutes the slimes were all over the library. A good thing they are slow, none escaped to the town.");
+ next;
+ mesn;
+ mesq l("Of course I hurried there as fast as I could, yelling to wake up everyone, but that caused so much confusion that we fell over each other in the corridor and when we finally reached the library, the slimes were already spread all over the room, eating or exploding the books.");
+ next;
+ select
+ l("*snooze*"),
+ l("And have you thought in the cause?");
+ mes "";
+ if (@menu == 1)
+ clear;
+ mesn;
+ mesq l("Now that I've described the spells to you, I'm sure I cast them correctly. But... I think there is a way to have these effects. It's silly though.");
+ next;
+ mesn;
+ mesq l("I never tried it, because it makes no sense to do that, but theoretically adding some Silk Cocoons could have such an effect. Uh... but that should not happen.");
+ next;
+ mesn;
+ mesq l("Could you please ask @@ about it? The ingredients... It would still be my fault...", b(l("Elias")));
+ next;
+ mesc l("@@ is on the verge of crying again. Better leave out and look for Elias.", .name$);
+ setq1 NivalisQuest_BlueSage, 5;
+ close;
+}
+
+// Peetu hurries back to check what happened. Wait 3 minutes in the library.
+// He'll then say that in fact there was silk cocoon
+function pInvestigation {
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ mesn;
+ mesc l("*sniff sniff*");
+ mesq l("So... Anything new on my situation?");
+ next;
+ select
+ l("Not yet."),
+ l("Yes, you'll be fired."),
+ l("Yes, Chief Oskari suspects a sabotage.");
+ mes "";
+ switch (@menu){
+ case 1:
+ close;
+ case 2:
+ mesn;
+ mes l("WAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHH");
+ mesc l("@@ burst in tears.", .name$);
+ next;
+ percentheal 0, -100;
+ mesn strcharinfo(0);
+ mesc l("Meh, telling him it was a lie is not going to help.");
+ close;
+ }
+ mesn;
+ mesc l("*eyes widen up*");
+ mesq l("A... A sabotage?! O.o");
+ next;
+ mesn strcharinfo(0);
+ mesq l("Keep your voice down! And yes. Can you confirm @@ was the cause?", getitemlink(SilkCocoon));
+ next;
+ mesn;
+ mesq l("...Yes. Hold tight.");
+ next;
+ mes "... ... ...";
+ next;
+ mesn;
+ mesq l("...Yes. It was there. Please report to Blue Sage at once.");
+ setq1 NivalisQuest_BlueSage, 10;
+ close;
+}
+
+// The crime was "solved"
+function pComplete {
+ mesn;
+ mesq l("Oh, hey, welcome back, @@! Thanks for all your help!", strcharinfo(0));
+ next;
+ mesn;
+ .@subject$=any(l("town finances"), l("house finances"), l("town damage by monsters"), l("library damage"), l("supply report"), l("magic book"), l("town overview"));
+ mesq l("I'm currently going over some of the household paperwork. Right now I'm inspecting the @@. The work never stops!", .@subject$);
+ close;
+}
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ npcsit;
+ end;
+}
+
diff --git a/npc/020-7-1/politics.txt b/npc/020-7-1/politics.txt
new file mode 100644
index 0000000..b6ca116
--- /dev/null
+++ b/npc/020-7-1/politics.txt
@@ -0,0 +1,58 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Town Administrator file, see npc/functions/politics.txt
+// User variables:
+// #POL_APPLYWEEK = Week of last application
+// #POL_VOTEDAY = Day of last vote
+
+020-7-1,37,61,0 script Nivalis Office NPC_POLITICS,{
+do
+{
+ mesc ".:: "+l("Nivalis Townhall")+" ::.", 2;
+ mesc l("Current Town Administrator: ")+$NIVAL_MAYOR$, 3;
+ POL_TownInfo("NIVAL");
+ mesc l("Application fee: @@ GP", .applytax);
+ next;
+ select
+ l("Information"),
+ rif(strcharinfo(0) == $NIVAL_MAYOR$, l("Manage Town")),
+ rif(#POL_APPLYWEEK != gettimeparam(GETTIME_WEEKDAY), l("Apply for the office!")),
+ l("View Candidate List and cast a vote"),
+ l("[Quit]");
+
+ switch (@menu) {
+ case 1:
+ POL_Information();
+ break;
+ case 2:
+ POL_Manage("NIVAL");
+ break;
+ case 3:
+ // array_push might be too sensible for getd/setd
+ if (Zeny < .applytax)
+ break;
+ Zeny-=.applytax;
+ $NIVAL_MONEY+=.applytax;
+ #POL_APPLYWEEK=gettimeparam(GETTIME_WEEKDAY);
+ array_push($NIVAL_CANDIDATE$, strcharinfo(0));
+ array_push($NIVAL_VOTES, 0);
+ mesc l("Application successful!"), 3;
+ next;
+ break;
+ case 4:
+ POL_Candidate("NIVAL");
+ break;
+ default:
+ close;
+ }
+} while (true);
+end;
+
+OnInit:
+ .applytax=100;
+ .distance=4;
+ end;
+}
+
diff --git a/npc/020-7-1/pyry.txt b/npc/020-7-1/pyry.txt
new file mode 100644
index 0000000..5ea8e0e
--- /dev/null
+++ b/npc/020-7-1/pyry.txt
@@ -0,0 +1,111 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW Org.
+// Description:
+// In charge to clear the mess
+// helperCleaning* + helperJanitor
+
+// Quest: NivalisQuest_BlueSageSlimes
+// 1: Acception state (0 - Not accepted, 1 - Accepted, 2 - Complete)
+// 2: Killed Slimes Control
+// 3: Killed Nests Control
+
+020-7-1,50,63,6 script Pyry NPC_BLUESAGEWORKER_MB,{
+ function askQuestion;
+ .@qt=getq3(NivalisQuest_BlueSageSlimes);
+ mesn;
+ if (.@qt == BS_SNESTALL)
+ mesq l("It seems all of the slimes are gone now. I'm so glad! Thanks for your help. I mentioned your assistance to Nikolai.");
+ else if (.@qt > 0)
+ mesq l("It's very brave of you to fight against those slimes deeper in the library. Remember that you have to kill the entire group to prevent them from breeding. And do it @@!", b(l("Alone")));
+ else
+ mesq l("Welcome to the library of Sage Nikolai. I'm very sorry, but as you see it's not in a good shape at the moment. Most of the books were eaten by the slimes or damaged and we're working hard on cleaning up the mess.");
+
+ askQuestion();
+ close;
+
+function askQuestion {
+ do {
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ .@qs=BSQuestion(getq(NivalisQuest_BlueSage));
+ .@qo=getq(NivalisQuest_BlueSageSlimes);
+ .@qt=getq3(NivalisQuest_BlueSageSlimes);
+ next;
+ mes "";
+ select
+ rif(.@qt < BS_SNESTALL, "What are you doing?"),
+ rif(.@qs & BS_QVISITOR, l("Do you know anything about the strange visitor?")),
+ rif(.@qs & BS_QHELPER, l("What's your opinion of Peetu and his work?")),
+ any(l("I need to leave."), l("See you."), l("Bye."));
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesn;
+ mesq l("Resting. I've been slaying slime nests the whole day.");
+ next;
+ if (.@qo) {
+ mesn;
+ mesq l("There are some slimes around in the deeper parts of the library. Remember to kill them alone, and beware, if they kill themselves it won't count.");
+ } else {
+ mesn;
+ mesq l("Do you want to help? I promise you no reward, so you will do it of your own will.");
+ next;
+ if (askyesno() == ASK_YES) {
+ mesn;
+ mesq l("Great! Now, listen carefully: This library is laid out in nine squares.");
+ next;
+ mesn;
+ mesq l("You have to kill, alone, and this means without the help of the slimes either, nine nests. One in each quadrant.");
+ next;
+ mesn;
+ mesq l("Be careful when walking, because you may change quadrands and then... It won't count. You'll need to start over again.");
+ next;
+ mesn;
+ mesq l("I wish you good luck!");
+ setq NivalisQuest_BlueSageSlimes, 1, 0, 0;
+ } else {
+ mesn;
+ mesq l("Alright. Then please don't go too deep on the library, it is dangerous.");
+ }
+ }
+ break;
+ case 2:
+ mesn;
+ mesq l("Mh, yes. I remember him. He was very interested in the library and the research we do here. He had an unusual behaviour and appearance. But, well, that isn't a reason to refuse someone, right?");
+ break;
+ case 3:
+ mesn;
+ mesq l("Peetu? I have always been glad to have him on the team. He's really brought forward our work here.");
+ next;
+ mesn;
+ mesq l("I was very surprised when I heard that he's responsible for the failed sealing. I'd never have expected that from him.");
+ if (!(.@q3 & .bsId))
+ setq3 NivalisQuest_BlueSage, .@q3 | .bsId;
+ break;
+ }
+ } while (@menu != 4);
+ close;
+}
+
+OnSlimeDeath:
+ if (playerattached()) {
+ getmapxy(.@m$, .@x, .@y, 0);
+ // Capped at ~10% drop chance of book pages
+ if (rand(0,10000) <= 460+(readparam2(bLuk)*6))
+ makeitem SpellBookPage, 1, .@m$, .@x, .@y;
+ if (rand(0,10000) <= 100)
+ makeitem Candy, 1, .@m$, .@x, .@y;
+ }
+ end;
+
+OnInit:
+ .bsId=BS_NPC06;
+ .sex=G_MALE;
+ .distance=5;
+ npcsit;
+ end;
+}
+
diff --git a/npc/020-7-1/sage.txt b/npc/020-7-1/sage.txt
new file mode 100644
index 0000000..6011758
--- /dev/null
+++ b/npc/020-7-1/sage.txt
@@ -0,0 +1,322 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW Org.
+// Description:
+// Blue Sage
+//
+// Minimum level: 36 (implicit) -> 40 (presumed at quest end)
+// Minimum jblvl: 16 (implicit) -> 20 (presumed at quest end)
+//
+// NivalisQuest_BlueSage STRUCTURE
+// FIELD 1:
+// INVESTIGATION
+// 1 - STBY OUTSIDE
+// 2 - ACCESS GRANTED
+// 3 - QUEST ASSIGNED BY PEETU - talk to Oskari (and others)
+// 4 - Oskari is OK with peetu, but wanna hear from others. He also sends you
+// to ask what Peetu happened
+// 5 - Adultered ingredients seems the cause, report to Elias
+// 6 - Elias is now worried about a visitor. Ask people about and report.
+// 7 - If everyone found the visitor, confirm Elias the worries
+// 8 - Elias sent you to Oskari to inform the issue. Blue Sage probably knew all along.
+// 8/9 WARNING: will not advance unless everyone thinks Peetu is good.
+// 9 - Oskari accepts the cause. Tells to report Peetu that it probably was
+// a saboutage, to check if the Silk Cocoon really was there.
+// 10 - Peetu confirmed the saboutage. Report to Blue Sage.
+// 11 - Blue Sage accepted the evidence, and explains about other sages issues.
+// It's not known who or what is behind this. He excuses for making you waste
+// your time. He asks you to return to him later, as he needs to write letters.
+// 12 - QUEST COMPLETE - You collected your reward
+// Also picked up a letter for Frostia Mayor, about the incident (Main Story).
+// FIELD 2:
+// Bitwise (BS_QVISITOR)
+// FIELD 3:
+// Bitwise (BS_QHELPER)
+
+020-7-1,40,24,0 script #BlueSageCaves NPC_HIDDEN,1,0,{
+OnTouch:
+ .@q=getq(NivalisQuest_BlueSage);
+ if (.@q < 12) {
+ dispbottom l("The door is locked.");
+ } else {
+ warp "020-7-2", 71, 53;
+ }
+ end;
+}
+
+020-7-1,35,59,0 script The Blue Sage NPC_BLUESAGE,{
+ function nStart;
+ function nReport;
+ function nLetters;
+ function nCindy;
+
+ .@cindy=($@CINDY_STATE < gettimetick(2));
+ .@q=getq(NivalisQuest_BlueSage);
+
+ // If you helped the four page makers, you receive a reward
+ // I know a Titanium Ingot is lame, but in TMW Org. there was no reward *at all*
+ .@qt=getq(NivalisQuest_BlueSagePagemaker);
+ if (.@qt == 0) {
+ .@qt2=getq2(NivalisQuest_BlueSagePagemaker);
+ if (.@qt2 == BS_PMALL) {
+ inventoryplace TitaniumIngot, 1;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("I've heard you helped my staff to recreate some books. For that, I am grateful.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Please accept this @@ as a gratitude for your time.", getitemlink(TitaniumIngot));
+ getitem TitaniumIngot, 1;
+ getexp 3535, 215; // The remaining 20% EXP to reach 100% =D
+ setq1 NivalisQuest_BlueSagePagemaker, 1;
+ next;
+ }
+ }
+
+ mesn l("Nikolai, the Blue Sage");
+ if (is_night())
+ .@t$=l("Good evening");
+ else
+ .@t$=l("Good morning");
+ mesq .@t$ + l(", my name is Nikolai. I am a sage, and the owner of this place.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Not only that, but I am also Angela's husband and Nivalis Mayor. If you have any issues, you can go straight to me.");
+ if (.@cindy) {
+ mesc l("Nikolai takes a sweat of his head. He seems worried with Cindy.");
+ }
+ next;
+ select
+ rif(.@q < 10, l("I came here to talk about the World's Edge.")),
+ rif(.@q == 10, l("I came here to report... A sabotage.")),
+ rif(.@q == 11, l("I'm back.")),
+ rif(.@q >= 12, l("Can you repeat what you said before?")),
+ rif(.@cindy, l("Aren't you Cindy's father? Why don't you go to her rescue?")),
+ l("Please excuse me, Blue Sage Nikolai.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ // You must solve the issue here, first
+ nStart();
+ break;
+ // Blue Sage Investigation: Report about saboutage
+ case 2:
+ nReport();
+ break;
+ // Blue Sage Investigation: Post-Report
+ case 3:
+ if (@timed < gettimetick(2))
+ nLetters();
+ else
+ mesq l("I'm not done yet, please hold tight. It won't take long.");
+ break;
+ // Repeat about WE and AFSM
+ case 4:
+ nLetters();
+ break;
+ // Question about Cindy
+ case 5:
+ // Quest ends at stage 12
+ if (.@q != 12) {
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("The house is a mess. They need me here. Also.");
+ next;
+ }
+ nCindy();
+ break;
+ }
+ close;
+
+// Report about the sabotage
+function nReport {
+ mesc l("You explain the Blue Sage about the sabotage incident details, from the Silk Cocoon to the masked visitor.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Hm hm. Thanks for the report. Well, as you could have suspected... I knew that all along.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Listen, it was not only me who had issues with this... Masked Man. Auldsbel also had a similar issues.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("In other words, whoever they are, they're after the sages. They are not targeting just simple magical users. This might be a problem.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("I must, however, thank you. I could not just come straight up and tell that to everyone, nor simply lock the house without no reason. I'm always fair.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Your help was invaluable, my staff believed in the unbiased view of the Hurnscald Household. Alas, now Peetu is capable to work again.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("You wanted to know about the World Edge, right? The Ancient Families of the Soul Menhir, and if you're part of them...");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("I cannot answer you about yourself, but I can tell you about the Ancient Families and the World Edge. Which is classified information, by the way.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("However, you'll need to keep cooperating with me. Trust me, this incident and what you look for it is closely related.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("I'll be writing a letter to the next town you're going to visit, and also assign work to my household. You should come back later.");
+
+ getexp 17500, 1000;
+ setq1 NivalisQuest_BlueSage, 11;
+ @timed=gettimetick(2)+30;
+ return;
+}
+
+// Receive the letters and the next task along a text wall about the AFSM and WE
+function nLetters {
+ .@q=getq(NivalisQuest_BlueSage);
+ inventoryplace Coal, 20;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("So. For the info dump or text wall... I'll let you choose what you want to know, or to skip it entirely.");
+
+ do {
+ next;
+ mesc l("What do you want to know?");
+ mes "";
+ select
+ l("What's the World Edge?"),
+ l("Where is the World's Edge?"),
+ l("What are the Ancient Families of the Soul Menhir?"),
+ l("About the Prophecy... What about Elves? Orcs? Redys? Etc.?"),
+ l("That's everything I wanted to know.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("World's Edge is the place where the Monster King Fortress is.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("It is the place where it all began... And I'm not talking about the Mana War.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("It is the birthplace of humans, the first place to come to existence... The World Edge. The place where humanity began, and according to the legend... The place where it shall perish.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Humans never built a settlement there. But the prophecy is there.");
+ break;
+ case 2:
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("World's Edge is an island situated northwest of here.");
+ break;
+ case 3:
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Do you know what a Soul Menhir is?");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("It more than just a piece of Zealite Ore... It is a part of the world's heart.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("The World's Heart is at World's Edge. The *real* Ancient Families are the ones who broke it in parts and brought it to each town.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Thanks to this, we can now respawn after death. But that's when the prophecy was told. The prophecy... Of the death of all humans. It gives me shivers.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("What you refer as Ancient Families, are probably their descendants. There was nothing special about them, other than they promised to defend mankind of their own actions.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("When they left to World Edge, they probably were looking for Mana Fragments. In other words... Soul Menhirs. Parts of the World Heart.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("I don't know why they would repeat a past mistake. The Monster King is not human anymore. I also do not know what artifact they lost. We have more questions than certainty about this.");
+ break;
+ case 4:
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("They will all perish, along most of wildlife, according to the legend passed down.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("However, the legend said there was a way to prevent this disaster. A single way... Which the Ancient Families of Soul Menhir kept a secret passed down between generations.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Knowing that would make you a descendant of them. But eh, that's asking too much. You had amnesia, right? That was on the letter.");
+ break;
+ }
+ } while (@menu != 5);
+
+ // Quest complete? Don't continue. If needed, give a hint to players.
+ if (.@q != 11) {
+ mesn l("Nikolai, the Blue Sage");
+ if (getq(HurnscaldQuest_Sagratha) == 1)
+ mesq l("I'm worried with which Sage the masked man will aim next...");
+ else
+ mesq l("Always a pleasure to help.");
+ close;
+ }
+
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("So, back to action! Finally. Your next destination is going to be Frostia Town.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Remember the masked man said he was from Frostia? Or masked woman, we don't know. You should inform their Mayor at once.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Also, I don't know what Sage will be their next target. I'm... A bit concerned with Sagratha. As she choose to live with wildlife and all, we sorta don't know a lot of what happens with her.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Sorry, I'm babbling. Deliver this letter to Frostia's King. He will know what to do and what you should do.");
+ next;
+
+ getitem Coal, 20;
+ setq1 NivalisQuest_BlueSage, 12;
+ setq General_Narrator, 11;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Also, take this. It's time to you learn to craft your own weapon. Talk to Nicholas in Hurnscald forge to make an awesome @@. Or use it on some other craft, it is your choice.", getitemlink(Backsword));
+ mesc l("Received @@ @@!", 20, getitemlink(Coal));
+ mesc l("Access to basement was granted!");
+ getvaultexp(10);
+ return;
+}
+
+// You must solve any issue inside the household before advancing main story
+function nStart {
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Well, I would love to, but the house is a mess.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("All Peetu have been doing the past hours was crying, and crying, and crying some more. I can't barely sleep hearing his cries from my room.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Not only that, but he is the only one here besides me who can do magic. Without him, I have to work doubled.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("He should be crying in the far northeast corner of this library. Can you go there to see him?");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Once he resumes working confidently, we can go over this important subject.");
+ next;
+ mesc b(l(".:: Main Quest 5-1 ::.")), 3;
+ mesc l("* Meet the Blue Sage"), 2;
+ mesc l("* Aid the Blue Sage in getting Peetu back to action"), 9;
+ return;
+}
+
+// Question about Cindy
+function nCindy {
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Just like every cave below the woodlands are under the Terranite King domains, every land covered in snow is under the Yeti King's domains.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("It would be unwise to pick a fight with the Yeti King himself. The whole town would suffer.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Not only that, but the Yeti King and me had an... incident, in times best forgotten. Let's not talk about it.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("The situation is different if someone from Hurnscald went to her rescue. That's why I ask you to help my Cindy.");
+ next;
+ mesn l("Nikolai, the Blue Sage");
+ mesq l("Please talk to my wife first, she knows more about the situation than I do.");
+ next;
+ mesq l("Also, Yetis can be crafty at times. I think someone on Hurnscald Household knew a lot about them, you might want to ask them if you ever feel struck.");
+ return;
+}
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ npcsit;
+ end;
+}
+
diff --git a/npc/020-7-1/santeri.txt b/npc/020-7-1/santeri.txt
new file mode 100644
index 0000000..9076e25
--- /dev/null
+++ b/npc/020-7-1/santeri.txt
@@ -0,0 +1,104 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW Org.
+// Description:
+// Workers which produces pages
+// helperM*
+
+// NivalisQuest_BlueSagePagemaker STRUCTURE
+// FIELD 1:
+// MAIN STATE
+// FIELD 2:
+// BOOK MAKING QUEST
+// 1 - Illustrations delivered (BS_PMINK)
+// 2 - Bindings delivered (BS_PMBINDING)
+// 4 - Pages delivered (BS_PMPAGE)
+// 8 - Glue delivered (BS_PMGLUE)
+// =15: All items delivered
+
+020-7-1,36,31,4 script Santeri NPC_BLUESAGEWORKER_MA,{
+ function askQuestion;
+ .@qt=getq2(NivalisQuest_BlueSagePagemaker);
+ mesn;
+ if (.@qt & BS_PMGLUE)
+ mesq l("Thanks to you, our glue supply is replenished and we can repair those books.");
+ else
+ mesq l("Welcome. Are you an adventurer? I could use some help.");
+
+ // Begin here
+ askQuestion();
+ .@qt=getq2(NivalisQuest_BlueSagePagemaker);
+ mes "";
+ mesn;
+ mesq l("You see, we're working on repairing all of the damaged books and creating new ones for those that were lost.");
+ next;
+ mesn;
+ mesq l("Therefore we need a lot of glue, but our supplies are nearly used up. I need @@/@@ @@ as ingredient to make new glue.", countitem(WolvernTooth), 3, getitemlink(WolvernTooth));
+ next;
+ mesn;
+ mesq l("Do you have that? I have the other materials but I couldn't get it... @@ are too dangerous, they are level @@ monsters.", getmonsterlink(Wolvern), strmobinfo(3,Wolvern));
+ if (countitem(WolvernTooth) < 3)
+ close;
+ next;
+ if (askyesno() == ASK_NO) {
+ mes "";
+ mesn;
+ mesq l("That's a pity.");
+ close;
+ }
+ mes "";
+
+ delitem WolvernTooth, 3;
+ setq2 NivalisQuest_BlueSagePagemaker, .@qt|BS_PMGLUE;
+ getexp 3535, 215; // 20% from reference levels 36/16. It's part of main story.
+ // Exp reward will not change. It applies to Job Exp on same rate.
+ mesn;
+ mesq l("Great! Thank you!");
+ close;
+
+function askQuestion {
+ .@qs=BSQuestion(getq(NivalisQuest_BlueSage));
+ do {
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ .@qt=getq2(NivalisQuest_BlueSagePagemaker);
+ next;
+ select
+ rif(!(.@qt & BS_PMGLUE), any(l("Can I help you?"), l("I am. What heroic action is needed?"))),
+ rif(.@qs & BS_QVISITOR, l("Do you know anything about the strange visitor?")),
+ rif(.@qs & BS_QHELPER, l("What's your opinion of Peetu and his work?")),
+ any(l("I need to leave."), l("See you."), l("Bye."), l("I'm just a lurker."));
+ mes "";
+ switch (@menu) {
+ case 2:
+ mesn;
+ mesq l("There was a visitor with a mask? I didn't notice. You see, I spend most of my time in the workshop, and concentrate on my work. There are other helpers who attend to the visitors. And hopefully keep them from disturbing my concentration.");
+ break;
+ case 3:
+ mesn;
+ mesq l("Oh, that's an interesting question. I was really surprised when I heard that he was responsible for the failure. I've worked together with him before, and I have to say, it really was a pleasure. He's very accurate and diligent, but also polite and helpful.");
+ next;
+ mesn;
+ mesq l("I really wonder what went wrong. I can't imagine Peetu messing up something so important.");
+ if (!(.@q3 & .bsId))
+ setq3 NivalisQuest_BlueSage, .@q3 | .bsId;
+ break;
+ case 4:
+ mesn;
+ mesq l("Hm. Then please don't disturb me, I'm trying to concentrate.");
+ close;
+ }
+ } while (@menu != 1);
+ return;
+}
+
+OnInit:
+ .bsId=BS_NPC04;
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
+
diff --git a/npc/020-7-1/teuvo.txt b/npc/020-7-1/teuvo.txt
new file mode 100644
index 0000000..c2fb7f8
--- /dev/null
+++ b/npc/020-7-1/teuvo.txt
@@ -0,0 +1,75 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW Org.
+// Description:
+// Responsible for recovering the lost pages (SpellBookPage)
+// helperBookpages*
+//
+// NivalisQuest_BlueSagePagefinder STRUCTURE
+// FIELD 1:
+// MAIN STATE
+// FIELD 2:
+// nº of pages found (0~31)
+// FIELD 3:
+// nº of duplicates found (for randomness control - capped at 60)
+
+020-7-1,45,39,0 script Teuvo NPC_BLUESAGEWORKER_MA,{
+ function askQuestion;
+ mesn;
+ mesc l("@@ seems to be upset.", .name$);
+ mesq l("I always thought it was a bad idea to play around with the slimes. And as if holding them in here isn't bad enough, no, they also had to mess around with magic.");
+ askQuestion();
+ close;
+
+function askQuestion {
+ next;
+ if (.@qt >= 255) {
+ mesn;
+ mesq l("Thanks for helping out here. Do you need anything else?");
+ } else if (.@qt) {
+ mesn;
+ mesq l("Did you find some bookpages? Ensio will take them.");
+ }
+
+ // Mainframe Loop
+ do {
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ .@qs=BSQuestion(getq(NivalisQuest_BlueSage));
+ .@qt=getq2(NivalisQuest_BlueSagePagefinder);
+ next;
+ mes "";
+ select
+ rif(.@qt == 255, ""),
+ rif(.@qs & BS_QVISITOR, l("Do you know anything about the strange visitor?")),
+ rif(.@qs & BS_QHELPER, l("What's your opinion of Peetu and his work?")),
+ any(l("I need to leave."), l("See you."), l("Bye."));
+ mes "";
+ switch (@menu) {
+ case 2:
+ mesn;
+ mesq l("With a mask? Hm. I don't remember.");
+ break;
+ case 3:
+ mesn;
+ mesq l("Peetu? He's one of those magic wielders who think they can do anything. Heh, you see the result here.");
+ next;
+ mesn;
+ mesq l("But to be fair, from what I've seen Peetu was always very attentive and dutiful.");
+ if (!(.@q3 & .bsId))
+ setq3 NivalisQuest_BlueSage, .@q3 | .bsId;
+ break;
+ }
+ } while (@menu != 4);
+ close;
+}
+
+OnInit:
+ .bsId=BS_NPC07;
+ .sex=G_MALE;
+ .distance=5;
+ npcsit;
+ end;
+}
diff --git a/npc/020-7-2/_import.txt b/npc/020-7-2/_import.txt
new file mode 100644
index 0000000..6d305d4
--- /dev/null
+++ b/npc/020-7-2/_import.txt
@@ -0,0 +1,6 @@
+// Map 020-7-2: Ice cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/020-7-2/_mobs.txt",
+"npc/020-7-2/_warps.txt",
+"npc/020-7-2/connor.txt",
+"npc/020-7-2/parcival.txt",
diff --git a/npc/020-7-2/_mobs.txt b/npc/020-7-2/_mobs.txt
new file mode 100644
index 0000000..4e4152b
--- /dev/null
+++ b/npc/020-7-2/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 020-7-2: Ice cave mobs
+020-7-2,57,92,40,26 monster Blue Slime 1087,30,35000,420000,Pyry::OnSlimeDeath
+020-7-2,60,88,40,26 monster White Slime 1094,15,36000,400000,Pyry::OnSlimeDeath
+020-7-2,56,97,38,26 monster Black Slime 1178,50,35000,420000
+020-7-2,36,68,18,55 monster Santa Slime 1096,9,35000,450000
+020-7-2,66,74,29,55 monster Cave Bat 1039,16,35000,450000
+020-7-2,52,34,40,26 monster Azul Slime 1095,7,35000,450000
diff --git a/npc/020-7-2/_warps.txt b/npc/020-7-2/_warps.txt
new file mode 100644
index 0000000..d25cba3
--- /dev/null
+++ b/npc/020-7-2/_warps.txt
@@ -0,0 +1,14 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 020-7-2: Ice cave warps
+020-7-2,25,22,0 warp #020-7-2_25_22 0,0,020-1,76,38
+020-7-2,28,56,0 script #020-7-2_28_56 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 33,62; end;
+}
+020-7-2,33,61,0 script #020-7-2_33_61 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 28,55; end;
+}
+020-7-2,71,54,0 warp #020-7-2_71_54 0,0,020-7-1,39,25
diff --git a/npc/020-7-2/connor.txt b/npc/020-7-2/connor.txt
new file mode 100644
index 0000000..42ec862
--- /dev/null
+++ b/npc/020-7-2/connor.txt
@@ -0,0 +1,48 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW LoF (Paxel)
+// Description:
+// Gives Coal in exchange for Raw Logs daily
+
+020-7-2,72,23,0 script Connor NPC_LOF_FURNACE,{
+ .@l=CONNOR_LASTDAY;
+ .@t=gettimeparam(GETTIME_DAYOFMONTH);
+ mesn;
+ mesq l("Meh, the Blue Sage is truly wasteful. We use %s even for the simplest things such as keeping the house warm.", getitemlink(Coal));
+ next;
+ mesn;
+ if (.@t == .@l) {
+ mesq l("But you have already given me firewood today. Come back tomorrow, pal.");
+ close;
+ }
+ mesq l("But %s is too valuable to burn and there is no alternative fuel for forges. It sells for %d GP and we are just wasting it here.", getitemlink(Coal), getiteminfo(Coal, ITEMINFO_SELLPRICE));
+ next;
+ mesn;
+ mesq l("Yet, I could burn %d %s to keep the house just as warm, maybe even cozier, and the Blue Sage would be none the wiser. Fire is fire, warmth is warmth.", 15, getitemlink(RawLog));
+ next;
+ mesn;
+ mesq l("I can even give you the %s lumps of precious %s we would have burned. Whaddaya say, do we have a deal?", l("five"), getitemlink(Coal)); // ie. whaddaya say -> what do you say
+ if (countitem(RawLog) < 15)
+ close;
+ if (askyesno() == ASK_YES) {
+ inventoryplace Coal, 5;
+ delitem RawLog, 15;
+ getitem Coal, 5;
+ CONNOR_LASTDAY=.@t;
+ .@exp=getiteminfo(Coal, ITEMINFO_SELLPRICE)+BaseLevel+JobLevel;
+ .@jobexp=15+JobLevel;
+ getexp .@exp, .@jobexp;
+ mesc l("* Gained %d EXP and %d Job EXP", .@exp, .@jobexp);
+ mes "";
+ mesn;
+ mesq l("Thanks, pal. See you tomorrow.");
+ }
+ close;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/020-7-2/parcival.txt b/npc/020-7-2/parcival.txt
new file mode 100644
index 0000000..140ee67
--- /dev/null
+++ b/npc/020-7-2/parcival.txt
@@ -0,0 +1,22 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW LoF (Paxel)
+// Description:
+// Informs about the Slime Cage
+
+020-7-2,25,51,0 script Parcival NPC_BLUESAGEWORKER_MA,{
+ mesn;
+ mesq l("We keep the Slimes past the barrier for the night, so be careful when entering.");
+ next;
+ mesn;
+ mesq l("A good thing we still use sturdy standard steel grating on the emergency exit which lead to Nivalis. I can't imagine how bad the incident would be wasn't for that.");
+ close;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+}
+
+
diff --git a/npc/020-7/_import.txt b/npc/020-7/_import.txt
new file mode 100644
index 0000000..8ba944b
--- /dev/null
+++ b/npc/020-7/_import.txt
@@ -0,0 +1,5 @@
+// Map 020-7: Blue Sages' Mansion
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/020-7/_warps.txt",
+"npc/020-7/elias.txt",
+"npc/020-7/workers.txt",
diff --git a/npc/020-7/_warps.txt b/npc/020-7/_warps.txt
new file mode 100644
index 0000000..4a9805b
--- /dev/null
+++ b/npc/020-7/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 020-7: Blue Sages' Mansion warps
+020-7,56,21,0 warp #020-7_56_21 1,0,020-7-1,24,84
+020-7,40,50,0 warp #020-7_40_50 0,0,020-1,66,53
diff --git a/npc/020-7/elias.txt b/npc/020-7/elias.txt
new file mode 100644
index 0000000..1e771be
--- /dev/null
+++ b/npc/020-7/elias.txt
@@ -0,0 +1,216 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW Org.
+// Description:
+// Controls access to Blue Sage Residence
+// Minimum level: 36 (implicit)
+// Minimum jblvl: 16 (implicit)
+
+// NivalisQuest_BlueSage STRUCTURE
+// FIELD 1:
+// INVESTIGATION
+// 1 - STBY OUTSIDE
+// 2 - ACCESS GRANTED
+// 3 - QUEST ASSIGNED BY PEETU - talk to Oskari (and others)
+// 4 - Oskari is OK with peetu, but wanna hear from others. He also sends you
+// to ask what Peetu happened
+// 5 - Adultered ingredients seems the cause, report to Elias
+// 6 - Elias is now worried about a visitor. Ask people about and report.
+// 7 - If everyone found the visitor, confirm Elias the worries
+// 8 - Elias sent you to Oskari to inform the issue. Blue Sage probably knew all along.
+// will not advance unless everyone thinks Peetu is good.
+// 9 - Oskari accepts the cause. Tells to report Peetu that it probably was
+// a saboutage, to check if the Silk Cocoon really was there.
+// 10 - Peetu confirmed the saboutage. Report to Blue Sage.
+// 11 - Blue Sage accepted the evidence, and explains about other sages issues.
+// It's not known who or what is behind this. He excuses for making you waste
+// your time. He asks you to return to him later, as he needs to write letters.
+// 12 - QUEST COMPLETE - You collected your reward
+// Also picked up a letter for Frostia Mayor, about the incident (Main Story).
+// FIELD 2:
+// Bitwise (BS_QVISITOR)
+// FIELD 3:
+// Bitwise (BS_QHELPER)
+
+020-7,44,41,0 script #BlueSageEntry NPC_HIDDEN,1,1,{
+OnTouch:
+ .@q=getq(NivalisQuest_BlueSage);
+ if (.@q < 2) {
+ slide 42, 43;
+ doevent "Elias::OnAccessDenied";
+ }
+ end;
+}
+
+// Here we start
+020-7,40,41,0 script Elias NPC_BLUESAGEWORKER_MB,{
+ function eliasWorry;
+ function eliasQuestion;
+ function eliasThankyou;
+ function eliasConfirmed;
+ mesn;
+ mesq l("Hello, and welcome to Blue Sage's Residence, Library, and Nivalis Townhall.");
+ .@q=getq(NivalisQuest_BlueSage);
+ if (.@q >= 2)
+ goto L_Main;
+ next;
+ mesn;
+ mesq l("Due to a recent incident involving slimes, the building is closed to public visits.");
+ .@qn=getq(General_Narrator);
+ mes "";
+ select
+ l("That's sad to hear."),
+ rif(.@qn == 10 && !.@q, l("I have a letter from Rakinorf.")),
+ rif(.@q == 1, l("So? How was it?")),
+ l("What happened?");
+ mes "";
+ switch (@menu) {
+ case 2:
+ mesn;
+ mesq l("Oh, you must be from Hurnscald Household, then. Hand me the letter, I'll have it delivered.");
+ next;
+ mesn;
+ mesq l("Please wait here a short while.");
+ setq NivalisQuest_BlueSage, 1, 0, 0;
+ break;
+ case 3:
+ mesn;
+ mesq l("Yes, the Blue Sage will see you.");
+ next;
+ mesn;
+ mesq l("Please don't mind the mess, there are slimes everywhere, thanks to Peetu.");
+ next;
+ mesn;
+ mesq l("You may pass. The Sage is on the library waiting for you.");
+ setq NivalisQuest_BlueSage, 2, 0, 0;
+ break;
+ case 4:
+ mesn;
+ mesq l("Slimes are on the loose. They have escaped, ate several books, and some are still in the building.");
+ next;
+ mesn;
+ mesq l("Some are dangerous, too. Even if you look capable of fighting, the Blue Sage instructed me to prevent anyone from visiting until the mess is cleared.");
+ break;
+ }
+ //goodbye;
+ close;
+
+L_Main:
+ next;
+ // .@q is preserved when you use goto
+ switch (.@q) {
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ eliasQuestion();
+ break;
+ case 6:
+ eliasWorry();
+ break;
+ case 7:
+ case 8:
+ eliasConfirmed();
+ break;
+ case 9:
+ case 10:
+ case 11:
+ eliasThankyou();
+ break;
+ default:
+ mesn;
+ mesq l("I heard you have been assisting the household staff. For that, I am thankful.");
+ break;
+ }
+ close;
+
+// Elias is worried with visitor and asks for insights
+function eliasWorry {
+ .@q2=getq2(NivalisQuest_BlueSage);
+ if (.@q2 == BS_NPCALL) {
+ setq1 NivalisQuest_BlueSage, 7;
+ eliasConfirmed();
+ close;
+ }
+ mesn;
+ mesq l("After your questions I'm really getting worried about this guy with the mask. In retrospect it really seems suspicous.");
+ next;
+ mesn;
+ mesq l("It might be a good idea to ask around if anyone else observed something odd connected to this person.");
+ return;
+}
+
+// Suspections Confirmed, report back
+function eliasConfirmed {
+ mesn;
+ mesq l("I heard your investigations reminded other people that they observed suspicious behaviour too.");
+ next;
+ mesn;
+ mesq l("It's all my fault, I should've paid more attention! You should talk to Chief Oskari about this.");
+ if (getq(NivalisQuest_BlueSage) == 7)
+ setq1 NivalisQuest_BlueSage, 8;
+ return;
+}
+
+// Waiting quest to end
+function eliasThankyou {
+ mesn;
+ mesq l("Now that Chief Oskari knows about the sequence of events, the Sage will take care of it. It's really a shame how malicious people can be.");
+ next;
+ mesn;
+ mesq l("Thanks a lot for your help revealing the truth.");
+ return;
+}
+
+// Main question to Elias
+function eliasQuestion {
+ select
+ l("Peetu thinks someone put Silk Cocoon along the ingredients."),
+ l("Thanks, pal. I still got some matters to discuss with the Blue Sage if you excuse me.");
+ mes "";
+ if (@menu == 2) {
+ mesn;
+ mesq l("Yes, of course. We have good relations with Hurnscald Town, so you're welcome.");
+ close;
+ }
+ mesn;
+ mesq l("So, Peetu didn't check the ingredients before casting? That's... Well, I don't know.");
+ next;
+ mesn;
+ mesq l("But that is unlikely, we have no reason to sabotage our own work! You saw the mess it caused. Everyone knew it was important.");
+ next;
+ mesn strcharinfo(0);
+ mesq l("Hmm, it might be a hunch but... Can you tell me if there were any unusual visitors before the incident?");
+ next;
+ mesn;
+ mesq l("Mh, let me think. There were quite a few visitors with different concerns, but that's usual at this time of the year.");
+ next;
+ mesn;
+ mesq l("One of them was a bit odd, they were wearing a mask and had a strange way of talking. They said they came from Frostia, which is an elven town in the north. Elves are usually shy, so I thought it would have been rude to ask them to remove the mask.");
+ next;
+ mesn;
+ mesq l("If I remember correctly they wanted to see the library. They looked like a man, but you never know.");
+ next;
+ mesn;
+ mesc l("Elias gets a bit excited.");
+ mesq l("Do you think he may have had something to do with the accident? We're a very hospitable house, so I didn't see a reason to deny him the entrance. I mean, his mask might have been a bit unusual, but hey, there could've been many reasons why someone would wear a mask, don't you think?");
+ setq1 NivalisQuest_BlueSage, 6;
+ next;
+ eliasWorry();
+ return;
+}
+
+
+OnAccessDenied:
+ npctalk3 l("You can't go in there!");
+ end;
+
+OnInit:
+ .sex=G_MALE;
+ .distance=5;
+ end;
+
+}
+
diff --git a/npc/020-7/workers.txt b/npc/020-7/workers.txt
new file mode 100644
index 0000000..b5d2f73
--- /dev/null
+++ b/npc/020-7/workers.txt
@@ -0,0 +1,163 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// TMW Org.
+// Description:
+// Resting workers
+
+020-7,46,30,6 script Miro NPC_BLUESAGEWORKER_MA,{
+ function askQuestion;
+ mesn;
+ mesq l("I'm so tired... Slimes everywhere... Chaos everywhere... Yawn...");
+ next;
+ mesn;
+ mesq l("After cleaning for twelve hours straight, they allowed me to rest a bit.");
+ .@q=getq(NivalisQuest_BlueSage);
+ if (BSQuestion(.@q))
+ askQuestion(BSQuestion(.@q));
+ if (.@q == 12) {
+ next;
+ mesn;
+ mesq l("You did a good job too. Rest a bit, too. There's still one chair.");
+ }
+ close;
+
+function askQuestion {
+ .@qs=getarg(0);
+ do {
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ next;
+ select
+ rif(.@qs & BS_QVISITOR, l("Do you know anything about the strange visitor?")),
+ rif(.@qs & BS_QHELPER, l("What's your opinion of Peetu and his work?")),
+ any(l("I need to leave."), l("See you."), l("Bye."));
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesn;
+ mesq l("With a mask? I really don't know. I'm usually in the workshop and most of the visitors spend their time in the library. Sometimes they come to have a quick look in the workshop too, but I don't really pay attention to that, so... I can't recall a visitor with a mask, sorry.");
+ break;
+ case 2:
+ mesn;
+ mesq l("Peetu? He is very cautious. It is not like him to make mistakes. After all, he is a elf. Elves are really careful with their jobs.");
+ next;
+ mesn;
+ mesq l("If Nikolai's helpers weren't so carefully chosen, I'd think this was some kind of a bad joke from someone.");
+ if (!(.@q3 & .bsId))
+ setq3 NivalisQuest_BlueSage, .@q3 | .bsId;
+ break;
+ }
+ } while (@menu != 3);
+ close;
+}
+
+OnInit:
+ .bsId=BS_NPC01;
+ .sex=G_MALE;
+ .distance=5;
+ npcsit;
+ end;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+020-7,50,31,2 script Lenita NPC_BLUESAGEWORKER_FA,{
+ function askQuestion;
+ .@q=getq(NivalisQuest_BlueSage);
+ // Teuvo said you're helping to collect some of the missing bookpages to repair the books. That's very kind of you! It's so much work to do, so every bit of help is welcome.
+ // Wow, Ensio told me you collected so many of the lost book pages.
+ if (.@q == 12) {
+ mesn;
+ mesq l("You did a good job. Rest a bit. There's still one chair.");
+ close;
+ }
+ mesn;
+ mesq l("Oh, hello. You didn't choose a good time to visit. The library is a total mess. The slimes got out of control and ate most of the books.");
+ next;
+ mesn;
+ mesq l("We're trying to repair some of the valuable and important books. It's so much work!");
+ next;
+ mesn;
+ mesq l("I was up until late last night, and woke up so early today... I'm having a break right now.");
+ if (BSQuestion(.@q))
+ askQuestion(BSQuestion(.@q));
+ close;
+
+function askQuestion {
+ .@qs=getarg(0);
+ do {
+ .@q=getq(NivalisQuest_BlueSage);
+ .@q2=getq2(NivalisQuest_BlueSage);
+ .@q3=getq3(NivalisQuest_BlueSage);
+ next;
+ select
+ rif(.@qs & BS_QVISITOR, l("Do you know anything about the strange visitor?")),
+ rif(.@qs & BS_QHELPER, l("What's your opinion of Peetu and his work?")),
+ any(l("I need to leave."), l("See you."), l("Bye."));
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesn;
+ mesq l("With a mask? Yeah, I remember. That was a strange guy. He came to visit the library, but he lurked around at the workshop area and they had to send him back to the books.");
+ if (!(.@q2 & .bsId))
+ setq2 NivalisQuest_BlueSage, .@q2 | .bsId;
+ break;
+ case 2:
+ mesn;
+ mesq l("Mh, I can't really tell since I usually work in the library while he works at the workshop. Maybe you should ask around among the people who work there.");
+ break;
+ }
+ } while (@menu != 3);
+ close;
+}
+
+OnInit:
+ .bsId=BS_NPC01;
+ .sex=G_FEMALE;
+ .distance=5;
+ npcsit;
+ end;
+}
+
+
diff --git a/npc/021-0/_import.txt b/npc/021-0/_import.txt
new file mode 100644
index 0000000..7402208
--- /dev/null
+++ b/npc/021-0/_import.txt
@@ -0,0 +1,2 @@
+// Map 021-0: Mountain Top
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/021-1/_import.txt b/npc/021-1/_import.txt
new file mode 100644
index 0000000..c5b4859
--- /dev/null
+++ b/npc/021-1/_import.txt
@@ -0,0 +1,6 @@
+// Map 021-1: Ice Labyrinth
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/021-1/_mobs.txt",
+"npc/021-1/_warps.txt",
+"npc/021-1/logic.txt",
+"npc/021-1/yeti.txt",
diff --git a/npc/021-1/_mobs.txt b/npc/021-1/_mobs.txt
new file mode 100644
index 0000000..74d1e8f
--- /dev/null
+++ b/npc/021-1/_mobs.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 021-1: Ice Labyrinth mobs
+021-1,162,100,144,80 monster White Slime 1094,75,100000,30000
+021-1,160,174,127,112 monster Blue Slime 1087,90,100000,30000
+021-1,161,230,147,74 monster Moggun 1070,62,100000,30000
diff --git a/npc/021-1/_warps.txt b/npc/021-1/_warps.txt
new file mode 100644
index 0000000..36fc0c3
--- /dev/null
+++ b/npc/021-1/_warps.txt
@@ -0,0 +1,243 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 021-1: Ice Labyrinth warps
+021-1,103,40,0 script #021-1_103_40 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 56,49; end;
+}
+021-1,241,280,0 script #021-1_241_280 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 266,284; end;
+}
+021-1,183,282,0 script #021-1_183_282 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 158,282; end;
+}
+021-1,159,282,0 script #021-1_159_282 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 184,282; end;
+}
+021-1,212,300,0 warp #021-1_212_300 0,0,019-2,76,25
+021-1,128,266,0 script #021-1_128_266 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 115,266; end;
+}
+021-1,116,266,0 script #021-1_116_266 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 129,266; end;
+}
+021-1,80,268,0 script #021-1_80_268 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 55,268; end;
+}
+021-1,56,268,0 script #021-1_56_268 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 81,268; end;
+}
+021-1,109,255,0 script #021-1_109_255 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 106,231; end;
+}
+021-1,106,232,0 script #021-1_106_232 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 109,256; end;
+}
+021-1,103,199,0 script #021-1_103_199 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 92,174; end;
+}
+021-1,92,175,0 script #021-1_92_175 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 103,200; end;
+}
+021-1,148,150,0 script #021-1_148_150 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 128,134; end;
+}
+021-1,128,135,0 script #021-1_128_135 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 148,151; end;
+}
+021-1,146,172,0 script #021-1_146_172 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 135,197; end;
+}
+021-1,135,196,0 script #021-1_135_196 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 146,171; end;
+}
+021-1,36,249,0 script #021-1_36_249 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 35,225; end;
+}
+021-1,35,226,0 script #021-1_35_226 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 36,250; end;
+}
+021-1,36,200,0 script #021-1_36_200 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 26,177; end;
+}
+021-1,26,178,0 script #021-1_26_178 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 36,201; end;
+}
+021-1,24,157,0 script #021-1_24_157 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 31,143; end;
+}
+021-1,31,144,0 script #021-1_31_144 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 24,158; end;
+}
+021-1,91,125,0 script #021-1_91_125 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 115,76; end;
+}
+021-1,115,77,0 script #021-1_115_77 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 91,126; end;
+}
+021-1,57,49,0 script #021-1_57_49 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 104,40; end;
+}
+021-1,265,284,0 script #021-1_265_284 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 240,280; end;
+}
+021-1,283,271,0 script #021-1_283_271 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 269,244; end;
+}
+021-1,269,245,0 script #021-1_269_245 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 283,272; end;
+}
+021-1,286,190,0 script #021-1_286_190 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 289,163; end;
+}
+021-1,289,164,0 script #021-1_289_164 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 286,191; end;
+}
+021-1,292,123,0 script #021-1_292_123 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 296,96; end;
+}
+021-1,296,97,0 script #021-1_296_97 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 292,124; end;
+}
+021-1,275,73,0 script #021-1_275_73 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 283,47; end;
+}
+021-1,283,48,0 script #021-1_283_48 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 275,74; end;
+}
+021-1,197,263,0 script #021-1_197_263 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 187,227; end;
+}
+021-1,187,228,0 script #021-1_187_228 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 197,264; end;
+}
+021-1,218,265,0 script #021-1_218_265 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 227,241; end;
+}
+021-1,227,242,0 script #021-1_227_242 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 218,266; end;
+}
+021-1,212,193,0 script #021-1_212_193 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 207,167; end;
+}
+021-1,207,168,0 script #021-1_207_168 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 212,194; end;
+}
+021-1,236,211,0 script #021-1_236_211 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 235,166; end;
+}
+021-1,235,167,0 script #021-1_235_167 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 236,212; end;
+}
+021-1,195,122,0 script #021-1_195_122 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 208,91; end;
+}
+021-1,208,92,0 script #021-1_208_92 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 195,123; end;
+}
+021-1,228,121,0 script #021-1_228_121 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 232,92; end;
+}
+021-1,232,93,0 script #021-1_232_93 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 228,122; end;
+}
+021-1,192,70,0 script #021-1_192_70 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 200,49; end;
+}
+021-1,200,50,0 script #021-1_200_50 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 192,71; end;
+}
diff --git a/npc/021-1/logic.txt b/npc/021-1/logic.txt
new file mode 100644
index 0000000..47bfdf8
--- /dev/null
+++ b/npc/021-1/logic.txt
@@ -0,0 +1,142 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Cave logic. Controls also switchs and false warps. See soren/main for more info.
+
+// Logic
+function script CindySwitch_Check_211 {
+ .@st1=getvariableofnpc(.lifetime, "#CindySwitch_01")-gettimetick(2);
+ .@st2=getvariableofnpc(.lifetime, "#CindySwitch_02")-gettimetick(2);
+ .@st3=getvariableofnpc(.lifetime, "#CindySwitch_03")-gettimetick(2);
+ .@st4=getvariableofnpc(.lifetime, "#CindySwitch_04")-gettimetick(2);
+ .@st5=getvariableofnpc(.lifetime, "#CindySwitch_05")-gettimetick(2);
+ .@i=0;
+ if (.@st1 > 0) .@i++;
+ if (.@st2 > 0) .@i++;
+ if (.@st3 > 0) .@i++;
+ if (.@st4 > 0) .@i++;
+ if (.@st5 > 0) .@i++;
+ return .@i;
+}
+
+// Passages
+021-1,155,196,0 script #0211Logic NPC_NO_SPRITE,0,0,{
+ end;
+OnTouch:
+ // Sanitize some stuff
+ if ($@CINDY_STATE < gettimetick(2) && $@CINDY_STATE > 1500000000)
+ $@CINDY_STATE=0;
+ // Main logic
+ .@q=getq(NivalisQuest_Cindy);
+ if (.@q < 3) end;
+ if ($@CINDY_STATE > gettimetick(2)) goto L_Safe;
+ if ($@CINDY_STATE % 2 == 1) goto L_Blocked;
+ if (CindySwitch_Check_211() == 5) {
+ .@pos=rand(0,8);
+ if (.@q == 3) {
+ setq NivalisQuest_Cindy, 4;
+ warp "021-1", .xp[.@pos], .yp[.@pos];
+ } else {
+ warp "021-2", 80, 102;
+ }
+ } else {
+ switch (CindySwitch_Check_211()) {
+ case 0:
+ case 1:
+ end;
+ case 2:
+ case 3:
+ dispbottom l("A few switches aren't triggered yet."); break;
+ case 4:
+ case 5:
+ dispbottom l("A single switch is not online - Cannot pass without all of them on."); break;
+ }
+ }
+ end;
+
+L_Blocked:
+ dispbottom l("This place is reeking blood. We better come again later.");
+ end;
+
+L_Safe:
+ dispbottom l("There's no reason to enter these caves now.");
+ end;
+
+OnInit:
+ setarray .xp, 25, 43, 97, 142, 274, 52, 36, 52, 120;
+ setarray .yp, 300, 300, 300, 300, 299, 176, 79, 77, 73;
+ end;
+}
+
+021-1,136,29,0 script #FrostiaGateway NPC_NO_SPRITE,0,0,{
+ end;
+OnTouch:
+ if (!$NIVALIS_LIBDATE) {
+ npctalkonce l("Brr! It's extremely cold! I cannot go there!");
+ end;
+ } else if (BaseLevel < 40) {
+ mesc l("You're about to enter a dangerous area. Are you sure?");
+ if (askyesno() == ASK_NO)
+ end;
+ }
+ warp "022-1", 69, 111;
+ end;
+
+}
+
+// Switches
+021-1,282,34,0 script #CindySwitch_01 NPC_SWITCH_OFFLINE,{
+ .@q=getq(NivalisQuest_Cindy);
+ if (.@q < 3) {
+ mesn strcharinfo(0);
+ mesq l("This is a strange switch...");
+ close;
+ }
+ if (.lifetime-gettimetick(2) <= 0) {
+ mesc l("Pull the switch?");
+ select
+ l("Pull it"),
+ l("Leave it");
+ if (@menu == 1) {
+ getexp rand(55, 110), rand(5, 11);
+ .lifetime=gettimetick(2)+rand(110, 150)+180; // Something between 1m50s and 2m30s + 3 minutes because the maze is huge
+ specialeffect(FX_SUCCESS);
+ setnpcdisplay .name$, NPC_SWITCH_ONLINE;
+ initnpctimer;
+ .@r=rand(0,100);
+ getmapxy(.@m$, .@x, .@y,0);
+ if (.@r < 80)
+ monster .@m$, .@x, .@y, "Yeti", Yeti, 1;
+ else if (.@r > 99)
+ makeitem(Candy, 1, .@m$, .@x, .@y);
+ npctalk l("Automatic disarm in: @@", FuzzyTime(.lifetime));
+ closedialog;
+ }
+ close;
+ }
+ npctalk l("Automatic disarm in: @@", FuzzyTime(.lifetime));
+ end;
+
+OnTimer1000:
+ if (.lifetime-gettimetick(2) <= 0) {
+ setnpcdisplay .name$, NPC_SWITCH_OFFLINE;
+ stopnpctimer;
+ } else {
+ initnpctimer;
+ }
+ end;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ .lifetime=0; // When will this switch turn off automatically
+ end;
+
+}
+
+021-1,231,36,0 duplicate(#CindySwitch_01) #CindySwitch_02 NPC_SWITCH_OFFLINE
+021-1,34,29,0 duplicate(#CindySwitch_01) #CindySwitch_03 NPC_SWITCH_OFFLINE
+021-1,25,297,0 duplicate(#CindySwitch_01) #CindySwitch_04 NPC_SWITCH_OFFLINE
+021-1,30,168,0 duplicate(#CindySwitch_01) #CindySwitch_05 NPC_SWITCH_OFFLINE
+
diff --git a/npc/021-1/yeti.txt b/npc/021-1/yeti.txt
new file mode 100644
index 0000000..7721530
--- /dev/null
+++ b/npc/021-1/yeti.txt
@@ -0,0 +1,242 @@
+// TMW2 script.
+// Authors:
+// Jesusalva
+// Description:
+// Controls the Cindy Gateway quest node.
+// Also controls Watch Spot Yetis.
+
+021-1,246,206,0 script Yeti#0211Cindy NPC_YETI,{
+ // Is this the right Yeti?
+ .@n=getq(NivalisQuest_Well);
+
+ if (.@n < 2)
+ goto L_NoQuest;
+
+ CINDY_PLAYER_STRUCK=false;
+ // Alright, now we need to cycle Cindy quest to decide if this NPC will have
+ // a special behavior or not.
+ .@q=getq(NivalisQuest_Cindy);
+
+ if (.@q == 1) goto L_Assigned; // Quest Assigned
+ if (.@q == 2) goto L_Report; // Quest (Sub) Accepted
+ if (.@q <= 5) goto L_Instructions; // Quest (Sub) Completed
+ if (.@q >= 6) goto L_Complete; // Quest completed at least once.
+
+L_Thanks:
+ mesn;
+ mesq l("Hey, thanks for saving me. You know, from the well.");
+ next;
+ mesn strcharinfo(0);
+ mesq l("You're wel-- Wait, it was you who was trapped on the well near Miler's house?!");
+ next;
+ mesn;
+ mesq l("Yes, exactly. Thanks for the rescue. I must guard this area from the caves, if you need, just call me.");
+ close;
+
+L_Assigned:
+ mesn;
+ mesq l("Hello my friend.");
+ next;
+ select
+ l("Hi."),
+ l("Hm, do you perhaps know where to find Cindy and could help me?"),
+ l("Die, your evil Yeti!");
+ mes "";
+ switch (@menu) {
+ case 1: goto L_Thanks;
+ case 2:
+ mesn;
+ mesq l("Hm, would \"Cindy\" be a small, little girl, kidnapped by some sturdy-looking rogue Yetis?");
+ next;
+ mesn strcharinfo(0);
+ mesq l("Probably.");
+ next;
+ mesn;
+ mesq l("Well, yes, I've saw them heading off to the Yeti King room. Lately, many Yetis have been uprising against your majesty.");
+ next;
+ mesn;
+ mesq l("Unfortunately, @@s are not welcome on the Yeti Domains. You're no exception.", get_race());
+ next;
+ mesn strcharinfo(0);
+ select
+ l("Alright, good bye."),
+ l("Can't I do anything, though?"),
+ l("Tell me how or I'll kill you!");
+ mes "";
+ if (@menu == 3) {
+ mesn;
+ mesq l("Now, that's unfortunate. I don't think you can hit me from where you are.");
+ next;
+ mesn;
+ mesq l("Besides, I know these caves like the back of my hand. You would have a hard time tracking me down.");
+ next;
+ mesn;
+ mesq l("In fact, you would get lost and killed. If I were you, I would avoid the Death Penalty. It's high, ya know?");
+ } else if (@menu == 2) {
+ mesn;
+ mesq l("Well, the Yeti King has went away to the cliffs north of this one. He'll get back here very hungry.");
+ next;
+ mesn;
+ mesq l("I am his right-hand Yeti, so I could grant you passage to his Throne Room to slay the rogue Yetis...");
+ next;
+ mesn;
+ mesq l("...But saving me won't be enough, so build trust by the kind gift of @@ @@. I'll be waiting.", 50, getitemlink(MoubooSteak)); // A normal Steak could do, but...
+ setq NivalisQuest_Cindy, 2;
+ }
+ close;
+ case 3:
+ mesn;
+ mesq l("That's rude. I never did anything to you.");
+ next;
+ mesn;
+ mesq l("Please get moving, @@. I do not mean any harm to you.", get_race());
+ close;
+ }
+ close;
+
+L_Report:
+ mesn;
+ mesq l("Did you brought us a kind gift of good will, on the worth of %d %s, to offer to our King?", 50, getitemlink(MoubooSteak));
+ next;
+ select
+ rif(countitem(MoubooSteak) >= 50, l("Yes, here they are.")), // Demure was here
+ l("Not yet.");
+ mes "";
+ if (@menu == 2) {
+ mesn;
+ mesq l("Then please bring me this, so I can help you back.");
+ close;
+ }
+ delitem MoubooSteak, 50;
+ getexp 120000, 0; // roughly 30% from needed EXP. This quest IS boring.
+ setq NivalisQuest_Cindy, 3;
+ mesn;
+ mesq l("Great. I hereby task you to kill the rogue Yetis on the Yeti King Throne Room. Of course, you won't be able to leave until all of them are dead.");
+ next;
+ mesn;
+ mesq l("Getting there is tricky, so listen carefully to the instructions:");
+ next;
+L_Instructions:
+ mesn l("ROGUE YETI SLAYING REQUEST");
+ mesc l("Mission: Kill all rogue Yetis on the Throne Room. You won't be able to leave until all of them are dead.");
+ next;
+ mesc l("Directions: ");
+ mesc l("You must flip all 5 switches on this cave, and then walk accross the cave blocked with an etheral crystal.");
+ mesc l("First timers will be lead to somewhere random on this cave to keep intruders out. Just walk there again while all switches are still active.");
+ mesc l("This random cave-warping only happens once, too.");
+ mesc l("The Throne Room is the last room. You can reactive any switch which turns itself off.");
+ next;
+ mesc l("Notes: ");
+ mesc l("To unlock the cell on the middle of the throne room, you need to flip all 5 switches there.");
+ mesc l("You need a @@ to flip the switches on the Throne Room, don't forget to bring at least five.", getitemlink(TreasureKey));
+ mesc l("EVERY switch on EVERY cave will unflip itself after about 2 minutes. So don't waste your time."), 1;
+ mesc l("Keep in mind that %s are weak, baby Yetis, so kill them as well!" % getmonsterlink(Moggun));
+ next;
+ mesn;
+ mesq l("Good luck. %%1");
+ close;
+
+L_Complete:
+ //mesc l("ToDo"), 1;
+ mesn;
+ mesq l("Hello my friend. Thanks for slaying the rogue Yetis.");
+ mesc l("Do you want to read again the instructions?");
+ next;
+ if (askyesno() == ASK_YES) {
+ goto L_Instructions;
+ }
+ close;
+
+// The other NPC
+L_NoQuest:
+ if (TUTORIAL)
+ dispbottom l("I might want to ask an Yeti specialist about this. Maybe Celestia?");
+ dispbottom l("Who's Mercury? Maybe I'm missing something? Where could he have went?");
+ CINDY_PLAYER_STRUCK=true;
+ @yetiagro=@yetiagro+1;
+ if (@yetiagro > 5) goto L_Hit;
+ if (@yetiagro > 3) goto L_Warning;
+ if (@yetiagro > 1) goto L_Disrupt;
+ goto L_Walking;
+
+L_Walking:
+ mesn;
+ mesq l("Grr, where's Mercury... He was supposed to keep watch over this spot... It was meant to be my free time!");
+ next;
+ mesn;
+ mesq l("And you, @@... You better get walking. Soon.", get_race());
+ if (TUTORIAL)
+ mesc l("WARNING: Angela Quest cannot be finished without finishing Mercury sidequest first."), 1;
+ if (!.@n) {
+ mesc l("(...This probably could have been a great hint... if I knew who Mercury in first place %%L)");
+ mesc l("I suggest we ignore the hint and ask %s about it instead.", b("Celestia"));
+ }
+ close;
+
+L_Disrupt:
+ npctalk3 l("Grrr... Why are @@ on this cave?! Where did Mercury went after all?!", get_race());
+ end;
+
+L_Warning:
+ npctalk3 l("Stupid @@, get out of this cave before I lose my patience! Mercury... Show up already!", get_race());
+ end;
+
+L_Hit:
+ npctalk3 l("DIE, SCUM!");
+ @yetiagro=0;
+ percentheal -90, -100;
+ close;
+
+OnInit:
+ .sex=G_OTHER;
+ .distance=20;
+ end;
+}
+
+
+
+
+
+
+/////////////////////////////////////////////////////// Random Lookout Yetis
+021-1,144,203,0 script Yeti#0211Guard NPC_YETI,{
+ dispbottom l("I better don't bother this Yeti, before it kills me.");
+ @yetiagro=@yetiagro+1;
+ if (@yetiagro > 5) goto L_Hit;
+ if (@yetiagro > 3) goto L_Warning;
+ if (@yetiagro > 1) goto L_Disrupt;
+ goto L_Walking;
+
+L_Walking:
+ mesn;
+ mesq l("You, @@... You better get walking. Soon.", get_race());
+ close;
+
+L_Disrupt:
+ mesn;
+ mesq l("Grrr... Why are @@ on this cave?! Begone, before I lose my patience!", get_race());
+ close;
+
+L_Warning:
+ mesn;
+ mesq l("Stupid @@, get out of this cave before I lose my patience!", get_race());
+ close;
+
+L_Hit:
+ mesn;
+ mesq l("DIE, SCUM!");
+ percentheal -90, -100;
+ @yetiagro=0;
+ close;
+
+OnInit:
+ .sex=G_OTHER;
+ .distance=20;
+ end;
+}
+
+
+
+
+//021-1,25,298,0 duplicate(Yeti#0211Guard) Yeti#0211G2 NPC_YETI
+
diff --git a/npc/021-2/_import.txt b/npc/021-2/_import.txt
new file mode 100644
index 0000000..2e81435
--- /dev/null
+++ b/npc/021-2/_import.txt
@@ -0,0 +1,5 @@
+// Map 021-2: Snow Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/021-2/_mobs.txt",
+"npc/021-2/_warps.txt",
+"npc/021-2/mapflags.txt",
diff --git a/npc/021-2/_mobs.txt b/npc/021-2/_mobs.txt
new file mode 100644
index 0000000..298f661
--- /dev/null
+++ b/npc/021-2/_mobs.txt
@@ -0,0 +1,7 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 021-2: Snow Cave mobs
+021-2,47,79,22,21 monster Moggun 1070,12,90000,30000
+021-2,90,73,29,30 monster Blue Slime 1087,27,20000,30000
+021-2,74,37,49,21 monster White Slime 1094,15,100000,30000
+021-2,77,62,10,11 monster Yeti 1064,5,100000,30000
+021-2,84,64,4,4 monster Yeti 1064,2,10000,10000
diff --git a/npc/021-2/_warps.txt b/npc/021-2/_warps.txt
new file mode 100644
index 0000000..c274291
--- /dev/null
+++ b/npc/021-2/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 021-2: Snow Cave warps
+021-2,57,49,0 warp #021-2_57_49 1,0,021-3,70,25
+021-2,80,103,0 warp #021-2_80_103 0,0,021-1,155,196
diff --git a/npc/021-2/mapflags.txt b/npc/021-2/mapflags.txt
new file mode 100644
index 0000000..f5bc49d
--- /dev/null
+++ b/npc/021-2/mapflags.txt
@@ -0,0 +1 @@
+021-2 mapflag nosave 019-2,76,25
diff --git a/npc/021-3/_import.txt b/npc/021-3/_import.txt
new file mode 100644
index 0000000..3544a2a
--- /dev/null
+++ b/npc/021-3/_import.txt
@@ -0,0 +1,6 @@
+// Map 021-3: Deeper Snow Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/021-3/_mobs.txt",
+"npc/021-3/_warps.txt",
+"npc/021-3/doors.txt",
+"npc/021-3/mapflags.txt",
diff --git a/npc/021-3/_mobs.txt b/npc/021-3/_mobs.txt
new file mode 100644
index 0000000..bb865fd
--- /dev/null
+++ b/npc/021-3/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 021-3: Deeper Snow Cave mobs
+021-3,46,90,27,34 monster Moggun 1070,12,90000,30000
+021-3,55,49,21,27 monster Blue Slime 1087,20,30000,30000
+021-3,53,54,25,47 monster White Slime 1094,15,100000,30000
+021-3,54,64,26,26 monster Yeti 1064,5,90000,30000
diff --git a/npc/021-3/_warps.txt b/npc/021-3/_warps.txt
new file mode 100644
index 0000000..65d8d75
--- /dev/null
+++ b/npc/021-3/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 021-3: Deeper Snow Cave warps
+021-3,70,24,0 warp #021-3_70_24 0,0,021-2,57,48
diff --git a/npc/021-3/doors.txt b/npc/021-3/doors.txt
new file mode 100644
index 0000000..f0405f5
--- /dev/null
+++ b/npc/021-3/doors.txt
@@ -0,0 +1,21 @@
+// TMW2 scripts.
+// Authors:
+// The Mana World Team
+// Jesusalva
+// Description:
+// Cave logic
+
+021-3,24,123,0 script #0213_Logic NPC_NO_SPRITE,1,0,{
+ if ($@CINDY_STATE > gettimetick(2)) goto L_Safe;
+ if ($@CINDY_STATE % 2 == 1) goto L_Blocked;
+ warp "021-4", 67, 28;
+ end;
+
+L_Blocked:
+ dispbottom l("This place is reeking blood. We better come again later.");
+ end;
+
+L_Safe:
+ dispbottom l("There's no need to go in that Yeti infested den right now.");
+ end;
+}
diff --git a/npc/021-3/mapflags.txt b/npc/021-3/mapflags.txt
new file mode 100644
index 0000000..8f505b7
--- /dev/null
+++ b/npc/021-3/mapflags.txt
@@ -0,0 +1 @@
+021-3 mapflag nosave 019-2,76,25
diff --git a/npc/021-4/_import.txt b/npc/021-4/_import.txt
new file mode 100644
index 0000000..bf86c09
--- /dev/null
+++ b/npc/021-4/_import.txt
@@ -0,0 +1,5 @@
+// Map 021-4: Cindy Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/021-4/doors.txt",
+"npc/021-4/main.txt",
+"npc/021-4/mapflags.txt",
diff --git a/npc/021-4/doors.txt b/npc/021-4/doors.txt
new file mode 100644
index 0000000..0ba3606
--- /dev/null
+++ b/npc/021-4/doors.txt
@@ -0,0 +1,25 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Cave logic
+
+021-4,67,27,0 script #Leave0214 NPC_NO_SPRITE,0,0,{
+ if ($@CINDY_STATE % 2 == 1 && $@CINDY_STATE < 150000) goto L_Blocked;
+ if ($@CINDY_STATE > 150000) goto L_Check;
+L_Warp:
+ warp "021-3", 24, 122;
+ end;
+
+L_Blocked:
+ dispbottom l("You cannot leave this room until either ALL yetis are dead, or you are dead yourself.");
+ end;
+
+L_Check:
+ .@pl = getmapusers("021-4");
+ if (.@pl <= 1) { // Because we must include the one who triggered this script wasn't warped yet
+ $@CINDY_HERO$="";
+ setnpcdisplay "Cindy#Outside", NPC_CINDY_CAGE;
+ }
+ goto L_Warp;
+}
diff --git a/npc/021-4/main.txt b/npc/021-4/main.txt
new file mode 100644
index 0000000..679429d
--- /dev/null
+++ b/npc/021-4/main.txt
@@ -0,0 +1,376 @@
+// TMW2 scripts.
+// Authors:
+// The Mana World Team
+// Jesusalva
+// Description:
+// Cindy Cave core logic. You must flip 5 switches to free Cindy, and kill every
+// Yeti to leave the Yeti's King Throne Room. Each passing minute, a new Yeti will
+// spawn. Amount relies on how long this has been dragging on.
+// Flipping switches creates yetis on the other switches.
+// You must try flip all 5 switches at once. Once all switches are flipped, there'll
+// be various waves of Yetis. More time passing = more penalty Yetis, with a safety
+// check to abort script after a hour. If this happen, everyone inside the cave
+// will be banned for cheating. This should not be possible without @monsterignore anyway :<
+
+// Switches
+function script CindySwitch_Check_214 {
+ .@st1=getvariableofnpc(.lifetime, "#CindySwitch_06")-gettimetick(2);
+ .@st2=getvariableofnpc(.lifetime, "#CindySwitch_07")-gettimetick(2);
+ .@st3=getvariableofnpc(.lifetime, "#CindySwitch_08")-gettimetick(2);
+ .@st4=getvariableofnpc(.lifetime, "#CindySwitch_09")-gettimetick(2);
+ .@st5=getvariableofnpc(.lifetime, "#CindySwitch_10")-gettimetick(2);
+ .@i=0;
+ if (.@st1 > 0) .@i++;
+ if (.@st2 > 0) .@i++;
+ if (.@st3 > 0) .@i++;
+ if (.@st4 > 0) .@i++;
+ if (.@st5 > 0) .@i++;
+ return .@i;
+}
+
+// Switches
+021-4,101,33,0 script #CindySwitch_06 NPC_SWITCH_OFFLINE,{
+ .@q=getq(NivalisQuest_Cindy);
+ if (.@q < 3 || !countitem(TreasureKey)) {
+ mesn strcharinfo(0);
+ mesq l("This is a strange switch...");
+ close;
+ }
+ if (.lifetime-gettimetick(2) <= 0) {
+ mesc l("Pull the switch?");
+ select
+ l("Pull it"),
+ l("Leave it");
+ if (@menu == 1) {
+ getexp rand(55, 110), rand(5, 11);
+ .lifetime=gettimetick(2)+rand(110, 150)+60; // Something between 1m50s and 2m30s + 1 minute
+ specialeffect(FX_SUCCESS);
+ setnpcdisplay .name$, NPC_SWITCH_ONLINE;
+ initnpctimer;
+ .@r=rand2(0,100);
+ getmapxy(.@m$, .@x, .@y,0);
+ if (.@r < 90)
+ monster .@m$, .@x, .@y, "Yeti", Yeti, rand2(4,6);
+ else
+ monster .@m$, .@x, .@y, "Yeti", Yeti, 2;
+ npctalk l("Automatic disarm in: @@", FuzzyTime(.lifetime));
+ closedialog;
+ }
+ close;
+ }
+ npctalk l("Automatic disarm in: @@", FuzzyTime(.lifetime));
+ end;
+
+OnTimer1000:
+ if (.lifetime-gettimetick(2) <= 0) {
+ setnpcdisplay .name$, NPC_SWITCH_OFFLINE;
+ stopnpctimer;
+ } else {
+ initnpctimer;
+ }
+ end;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ .lifetime=0; // When will this switch turn off automatically
+ end;
+
+}
+
+021-4,90,79,0 duplicate(#CindySwitch_06) #CindySwitch_07 NPC_SWITCH_OFFLINE
+021-4,49,65,0 duplicate(#CindySwitch_06) #CindySwitch_08 NPC_SWITCH_OFFLINE
+021-4,47,21,0 duplicate(#CindySwitch_06) #CindySwitch_09 NPC_SWITCH_OFFLINE
+021-4,80,49,0 duplicate(#CindySwitch_06) #CindySwitch_10 NPC_SWITCH_OFFLINE
+
+// Cindy
+// Global Variable: $@CINDY_STATE
+
+021-4,66,49,0 script Cindy#Outside NPC_CINDY_CAGE,{
+ if (getq(NivalisQuest_Cindy) < 4)
+ goto L_Cheat;
+ if ($@CINDY_STATE > 150000) goto L_Reset;
+ if ($@CINDY_STATE % 2 == 0) goto L_Start;
+ if (CindySwitch_Check_214() == 5 && !.canfinish) {
+ // Gate is open, advance to stage 2
+ .canfinish=1;
+ .lifetime+=3;
+ .wtime=0;
+ mapannounce "021-4", "*roaaaaar*",0;
+ npctalk "Take care! More Yetis! And they have friends!!";
+ setnpcdisplay .name$, NPC_CINDY_UNCAGE;
+ .@pl = getmapusers("021-4");
+ if (.@pl == 1)
+ .@pl+=1;
+ .@pl+=3;
+ areamonster "021-4", 20, 20, 100, 80, "Yeti", Yeti, .@pl, "Cindy#Outside::OnPetDeath";
+ areamonster "021-4", 20, 20, 100, 80, "Moggun", Moggun, .@pl, "Cindy#Outside::OnPetDeath";
+ areamonster "021-4", 20, 20, 100, 80, "Slime Blast", SlimeBlast, $@CINDY_STATE+1;
+ }
+
+ // If a major bug happened, do it now
+ // This finishes the quest
+ .@y=mobcount("021-4", "Cindy#Outside::OnPetDeath");
+ if (.@y == 0 && .canfinish) {
+ $@CINDY_STATE=gettimetick(2)+60*rand2(55,65)*rand2(4,36); // It is way too random to I say how long it takes (220min ~ 39 hours)
+ mapannounce "021-4", "Nivalis: Cindy is now safe!",bc_all|bc_npc;
+ areatimer "021-4", 20, 20, 100, 80, 10, "Cindy#Outside::OnReward";
+ setnpcdisplay .name$, NPC_CINDY;
+ stopnpctimer;
+ end;
+ }
+
+ if (.canfinish) {
+ npctalk l("*scream*");
+ if (TUTORIAL)
+ dispbottom l("Cindy is too scared to leave; Better we kill the Yetis and their friends!");
+ } else {
+ npctalk3 l("Please get me out of here!");
+ if (TUTORIAL)
+ dispbottom l("I believe these switches control the cage's lock.");
+ }
+ end;
+
+// Start
+L_Start:
+ mesn;
+ mesq l("Have you came here to rescue me?");
+ mes ""; mes "";
+ mesc l(".:: WARNING ::."), 1;
+ mesc l("Once you decide to rescue Cindy, nobody else will be able to enter or leave this room."), 1;
+ mesc l("The blame of failure will be over you, but so will be the glory of success. There's no death penalty for others."), 1;
+ mes "";
+ select
+ l("Not yet, I'm waiting for friends"),
+ l("Yes. Let me try to open this."),
+ l("No, I'll let you there to the Yeti's mercy.");
+
+ if (@menu == 2 && $@CINDY_STATE % 2 == 0) {
+ $@CINDY_STATE+=1;
+ $@CINDY_HERO$=strcharinfo(0);
+ goto L_Begin;
+ }
+ close;
+
+// Begin
+L_Begin:
+ initnpctimer;
+ enablenpc "#CindySwitch_06";
+ enablenpc "#CindySwitch_07";
+ enablenpc "#CindySwitch_08";
+ enablenpc "#CindySwitch_09";
+ enablenpc "#CindySwitch_10";
+ changemusic "021-4", "misuse.ogg";
+
+ .@pl = getmapusers("021-4");
+ areamonster "021-4", 20, 20, 100, 80, "Yeti", Yeti, .@pl, "Cindy#Outside::OnPetDeath";
+ monster "021-4", 66, 49, "Yeti", Yeti, 1, "Cindy#Outside::OnPetDeath";
+ close;
+
+// Special use-case
+L_Reset:
+ if ($@CINDY_HERO$ == strcharinfo(0)) {
+ goto L_Winner;
+ } else if (is_gm() && $@GM_OVERRIDE) {
+ $@CINDY_STATE=0;
+ npctalk l("*beeep*");
+ }
+ end;
+
+// For all players finishing the quest
+OnReward:
+ if (ispcdead()) {
+ recovery(getcharid(3));
+ warp "Save", 0, 0;
+ end;
+ }
+ if ($@CINDY_HERO$ == strcharinfo(0))
+ dispbottom l("Congratulations on rescuing Cindy. You should now talk to her before leaving.");
+ else
+ dispbottom l("Congratulations on rescuing Cindy.");
+ setq2 NivalisQuest_Cindy, getq2(NivalisQuest_Cindy)+1;
+ getexp 10000, JobLevel*rand2(12,16);
+ getitem TreasureMap, 1;
+ end;
+
+// Winner Reward
+L_Winner:
+ mesn;
+ mesq l("Thanks for saving me. I'll return home on my own, if you don't mind.");
+ mesq l("Here, take this reward. Good luck. %%1");
+
+ if ($CINDY_WINNER$ == "") {
+ $CINDY_WINNER$=strcharinfo(0);
+ channelmes("#world", $CINDY_WINNER$+" is the first player to finish Cindy Quest!! GG, dude! %%N");
+ announce "All hail ##B"+$CINDY_WINNER$+"##b, first to complete the ##3Cindy Quest!", bc_all|bc_npc;
+ getexp 0, 2000;
+ getitem PrismGift, 1;
+ mesc l("CONGRATULATIONS! You are the first player to finish Cindy Quest!!"), 2;
+ mesc l("You just gained a Prism Gift, and 2000 Job Exp for your bravery!"), 2;
+ } else {
+ if (getcharid(1) > 0)
+ .@v$=getpartyname(getcharid(1));
+ else
+ .@v$=strcharinfo(0);
+ kamibroadcast("Cindy was rescued by \""+.@v$+"\".");
+ }
+
+ // Better proccess this before everything else...
+ $@CINDY_HERO$="";
+ setnpcdisplay .name$, NPC_ICE_CAGE;
+
+ .@q=getq(NivalisQuest_Cindy);
+ // First time
+ if (.@q == 4) {
+ getitem Earmuffs, 1;
+ } else {
+ .@mbonus=(BaseLevel-60)*40; // up to 3600 GP limit (lv 150) [1.6k at L100]
+ Zeny=Zeny+rand(min(15000, 5000+.@mbonus),15000);
+ getitem TreasureMap, 1;
+ getitem TreasureKey, 1;
+ }
+ setq1 NivalisQuest_Cindy, 5;
+ next;
+ npctalk l("Cindy is gone...");
+ closedialog;
+ close;
+
+// Events
+OnPetDeath:
+ //fix_mobkill(Moggun);
+ end;
+
+// Cast against all players on defeat
+OnFail:
+ die();
+ heal -1, -1;
+ end;
+
+// Edge Cases
+L_Cheat:
+ warp "Save", 0, 0; atcommand "@jail "+strcharinfo(0); dispbottom l("Cheater detected.");
+ end;
+
+// Timeout
+OnReckless:
+L_Reckless:
+ kamibroadcast("People failed to rescue Cindy!");
+ areatimer "021-4", 20, 20, 100, 80, 10, "Cindy#Outside::OnFail";
+ goto L_CleanUp;
+
+// Event is over, clean up the mess the players left
+OnCleanUp:
+L_CleanUp:
+ .lifetime=0;
+ .wtime=0;
+ .canfinish=0;
+ $@CINDY_STATE+=1;
+ killmonsterall("021-4");
+ disablenpc "#CindySwitch_06";
+ disablenpc "#CindySwitch_07";
+ disablenpc "#CindySwitch_08";
+ disablenpc "#CindySwitch_09";
+ disablenpc "#CindySwitch_10";
+ setnpcdisplay .name$, NPC_CINDY_CAGE; // We need NPC_CINDY for complete
+ changemusic "021-4", "water_prelude.ogg";
+ stopnpctimer;
+ end;
+
+// Main loop
+OnTimer2000:
+ .@y=mobcount("021-4", "Cindy#Outside::OnPetDeath");
+
+ // Quest is complete... We might need to clean the mess.
+ if ($@CINDY_STATE > gettimetick(2)) {
+ .@pl = getmapusers("021-4");
+ if (!.@pl)
+ goto L_CleanUp;
+ end;
+ }
+
+ // This finishes the quest
+ if (.@y == 0 && .canfinish) {
+ $@CINDY_STATE=gettimetick(2)+60*rand2(55,65)*rand2(4,36); // It is way too random to I say how long it takes (220min ~ 39 hours)
+ mapannounce "021-4", "Nivalis: Cindy is now safe!",bc_all|bc_npc;
+ areatimer "021-4", 20, 20, 100, 80, 10, "Cindy#Outside::OnReward";
+ setnpcdisplay .name$, NPC_CINDY;
+ stopnpctimer;
+ end;
+ }
+ .wtime+=2;
+
+ // Before 10 minutes, spawn every ~ 2 minutes
+ .@bonus=rand2(110,130);
+ // After 10 waves, spawn each ~ 10 minutes
+ if (.lifetime >= 10)
+ .@bonus+=500;
+
+ // After 15 waves, we'll go a bit slower, but not much.
+ // You are a noob and should fail the quest.
+ if (.lifetime >= 15)
+ .@bonus+=.lifetime*2;
+
+ if (.wtime >= .@bonus) {
+ // A new wave have passed
+ .wtime=0;
+ .lifetime+=1;
+ .@pl = getmapusers("021-4");
+
+ // Once the gate is open, more Yetis spawn, but not much
+ if (.canfinish)
+ .@pl+=1;
+
+ // Value is given as: 1 Yeti per player
+ .@value=.@pl;
+ // + 1 Yeti per difficulty setting
+ .@value+=($@CINDY_STATE/2);
+ // +1 Yetis if you are alone because this is not a solo quest at heart
+ if (.@pl == 1)
+ .@value+=1;
+
+ // To make easier, we spawn some Mogguns, too.
+ // The ratio is Yeti 2:1 Moggun. (Third Yeti is replaced)
+ .@mogg=.@value/3;
+ .@yeti=.@value-.@mogg;
+ areamonster "021-4", 20, 20, 100, 80, "Yeti", Yeti, .@yeti, "Cindy#Outside::OnPetDeath";
+ areamonster "021-4", 20, 20, 100, 80, "Moggun", Moggun, .@mogg, "Cindy#Outside::OnPetDeath";
+ npctalk any("Yetis!",
+ "Watch out!",
+ "More of them are coming!",
+ "Be careful! There's more!",
+ "More Yetis! Will this never end?",
+ "AAAAH! YETIS!",
+ "*shierks*",
+ "There are coming more and more!",
+ "More Yetis! We are hopeless!",
+ "Keep your guard up!",
+ "Hit and run, hit and run! More of them!");
+ }
+
+ // Regardless of Wave, Blue Slimes and Slime Blast will show up.
+ // This is based difficulty setting (previous fails)
+ if (.wtime % 10 == 2) {
+ .@mid=any(SlimeBlast, SlimeBlast, SlimeBlast, BlueSlime, BlueSlime, AzulSlime);
+ areamonster "021-4", 20, 20, 100, 80, strmobinfo(1, .@mid), .@mid, $@CINDY_STATE;
+ }
+
+ // You're taking too much time, clear the spot after the 30th wave
+ if (.lifetime >= 30)
+ goto L_Reckless;
+ initnpctimer;
+ end;
+
+OnInit:
+ .distance=5;
+ .lifetime=0; // Controls Yeti Wave
+ .wtime=0; // Timer runs sort of often. WTime controls automatic Yeti advance
+ .canfinish=0;// Can finish or must talk to cage first?
+ $@CINDY_HERO$="";
+ disablenpc "#CindySwitch_06";
+ disablenpc "#CindySwitch_07";
+ disablenpc "#CindySwitch_08";
+ disablenpc "#CindySwitch_09";
+ disablenpc "#CindySwitch_10";
+ end;
+}
+
diff --git a/npc/021-4/mapflags.txt b/npc/021-4/mapflags.txt
new file mode 100644
index 0000000..59c57df
--- /dev/null
+++ b/npc/021-4/mapflags.txt
@@ -0,0 +1,2 @@
+021-4 mapflag pvp
+021-4 mapflag zone MMO
diff --git a/npc/022-1/_import.txt b/npc/022-1/_import.txt
new file mode 100644
index 0000000..4f2aea2
--- /dev/null
+++ b/npc/022-1/_import.txt
@@ -0,0 +1,6 @@
+// Map 022-1: North Icelands
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/022-1/_mobs.txt",
+"npc/022-1/_warps.txt",
+"npc/022-1/gift_collector.txt",
+"npc/022-1/sign.txt",
diff --git a/npc/022-1/_mobs.txt b/npc/022-1/_mobs.txt
new file mode 100644
index 0000000..1e92d29
--- /dev/null
+++ b/npc/022-1/_mobs.txt
@@ -0,0 +1,9 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 022-1: North Icelands mobs
+022-1,30,73,10,34 monster Rudolph Slime 1086,8,0,0
+022-1,29,72,10,34 monster Noel Slime 1096,3,0,0
+022-1,92,58,9,6 monster Blue Slime 1087,8,0,0
+022-1,65,53,23,14 monster Noel Slime 1096,3,0,0
+022-1,69,75,13,6 monster Rudolph Slime 1086,8,0,0
+022-1,77,104,31,15 monster Rudolph Slime 1086,8,0,0
+022-1,78,105,31,15 monster Noel Slime 1096,3,0,0
diff --git a/npc/022-1/_warps.txt b/npc/022-1/_warps.txt
new file mode 100644
index 0000000..fb1ac2e
--- /dev/null
+++ b/npc/022-1/_warps.txt
@@ -0,0 +1,9 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 022-1: North Icelands warps
+022-1,80,65,0 warp #022-1_80_65 0,0,023-1,57,42
+022-1,73,62,0 warp #022-1_73_62 0,0,023-1,47,58
+022-1,58,52,0 warp #022-1_58_52 0,0,023-1,37,27
+022-1,70,81,0 warp #022-1_70_81 0,0,023-1,52,61
+022-1,68,90,0 warp #022-1_68_90 0,0,023-1,45,69
+022-1,49,55,0 warp #022-1_49_55 0,0,023-1,26,35
+022-1,70,112,0 warp #022-1_70_112 1,0,021-1,136,30
diff --git a/npc/022-1/gift_collector.txt b/npc/022-1/gift_collector.txt
new file mode 100644
index 0000000..a2fc28b
--- /dev/null
+++ b/npc/022-1/gift_collector.txt
@@ -0,0 +1,92 @@
+// TMW2/LoF scripts.
+// Authors:
+// TMW-LoF Team
+// Jesusalva
+// Description:
+// Part Of Christmas Events
+// SQuest_XmasCollector
+// Status, Delivered Gifts, Current Year
+// Status:
+// 0 - Quest is unknown
+// 1 - Quest is known
+// 2 - Rewards Collected
+
+022-1,65,53,0 script Gift Fanatic NPC_GNOME_C,{
+ // Start Event for the first time
+ if (gettime(GETTIME_MONTH) != JANUARY && getq3(SQuest_XmasCollector) < gettime(GETTIME_YEAR)) {
+ setq SQuest_XmasCollector, 1, 0, gettime(GETTIME_YEAR);
+ }
+ if (gettime(GETTIME_MONTH) == JANUARY && getq3(SQuest_XmasCollector) != gettime(GETTIME_YEAR)-1) {
+ setq SQuest_XmasCollector, 1, 0, gettime(GETTIME_YEAR)-1;
+ }
+ // Main Loop
+ if ($EVENT$ == "Christmas")
+ goto L_Main;
+
+ // Last year
+ if (getq3(SQuest_XmasCollector) == gettime(GETTIME_YEAR)-1)
+ goto L_Reward;
+
+ // Not on season
+ goto L_OutOfSeason;
+
+L_OutOfSeason:
+ mesn;
+ mesq l("Hey, collect lots of @@ and give them to me on Christmas! Not now. On Christmas!", getitemlink(PresentBox));
+ close;
+
+// The reward is actually just an extra bonus, there is nothing WOW to see here...
+// Unless you reach the milestones: 200, 400, 800, 1600, 3200, 6400, 12800... gifts
+// The maximum is 10 christmas boxes, or 102.400 gifts.
+// There's a floor, though: Your Base Level. That determines the minimum amount
+// before it starts counting. So in reality, you need 200~300 gifts to get prize.
+L_Reward:
+ inventoryplace XmasGift, 10;
+ .@q=getq2(SQuest_XmasCollector);
+ .@q=max(1, .@q-BaseLevel);
+ .@gifts=min(10, log2(.@q/200))+1;
+ mesn;
+ mesq l("Hey, huge THANKS for the help! I love gifts! Here's your due reward!");
+ mesc l("Got @@ EXP, @@ JExp and @@ GP for helping out.", .@q*7, .@q, .@q*5);
+ getexp .@q*7, .@q;
+ Zeny=Zeny+(.@q*5);
+ getitem XmasGift, .@gifts;
+ setq SQuest_XmasCollector, 2, 0, 0;
+ close;
+
+L_Main:
+ .@q=getq2(SQuest_XmasCollector);
+ mesn;
+ mesq l("I want @@! I want @@!!", getitemlink(PresentBox), getitemlink(PresentBox));
+ next;
+ .@price=(getiteminfo(PresentBox, ITEMINFO_SELLPRICE)+2);
+ mesn;
+ mesq l("I am willing to pay @@ GP for each you bring me! Do you want to give me ALL your @@?!", .@price, getitemlink(PresentBox));
+ next;
+ select
+ rif(countitem(PresentBox), l("Yes, of course!")),
+ l("Not now...");
+ mes "";
+ if (@menu == 1) {
+ .@qnt=countitem(PresentBox);
+ .@q+=.@qnt;
+ delitem PresentBox, .@qnt;
+ Zeny=Zeny+.@price*.@qnt;
+ getexp .@qnt*.@price, .@qnt;
+ setq2 SQuest_XmasCollector, .@q;
+ mesn;
+ mesc l("You just delivered %d %s to %s.",
+ .@qnt, getitemlink(PresentBox), .name$);
+ mesq l("Many, many thanks! Thus far, you delivered me @@ gift boxes!", .@q);
+ next;
+ }
+ mesn;
+ mesq l("Come back and give me more gifts!");
+ close;
+
+OnInit:
+ .sex=G_OTHER;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/022-1/sign.txt b/npc/022-1/sign.txt
new file mode 100644
index 0000000..ced2019
--- /dev/null
+++ b/npc/022-1/sign.txt
@@ -0,0 +1,21 @@
+// TMW2 Script.
+// Author:
+// Jesusalva
+// Description:
+// Important Sign
+
+022-1,38,44,0 script Sign#02213844 NPC_SWORDS_SIGN,{
+ mesc b(l(".:: PVP King Imperial Arena ::."));
+ mesc l("The Arena is currently closed for maintenance.");
+ mesc l("It's advised to collect PVP equipment.");
+ mesc l("If you think this should be a priority, please ask Jesusalva."), 1;
+ tutmes l("If you kill an opponent stronger than you, you will gain honor points. But if the oponent is 15 levels weaker than you, it will be NEGATIVE!"), l("About Scoreboards and Honor Points");
+ tutmes l("You will also LOSE honor if the opponent is below level 30. If you are a bandit (negative honor), all fights versus you will be honorable."), l("About Scoreboards and Honor Points");
+ tutmes l("If you kill the same person within 30 minutes, honor will not fluctuate. The whole honor system is very experimental."), l("About Scoreboards and Honor Points");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
diff --git a/npc/023-1/_import.txt b/npc/023-1/_import.txt
new file mode 100644
index 0000000..4b279bf
--- /dev/null
+++ b/npc/023-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 023-1: Frozen Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/023-1/_mobs.txt",
+"npc/023-1/_warps.txt",
diff --git a/npc/023-1/_mobs.txt b/npc/023-1/_mobs.txt
new file mode 100644
index 0000000..600dd29
--- /dev/null
+++ b/npc/023-1/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 023-1: Frozen Cave mobs
+023-1,42,33,23,13 monster Noel Slime 1096,4,0,0
diff --git a/npc/023-1/_warps.txt b/npc/023-1/_warps.txt
new file mode 100644
index 0000000..14f6c10
--- /dev/null
+++ b/npc/023-1/_warps.txt
@@ -0,0 +1,59 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 023-1: Frozen Cave warps
+023-1,59,20,0 script #023-1_59_20 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 36,46; end;
+}
+023-1,62,32,0 script #023-1_62_32 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 50,56; end;
+}
+023-1,37,28,0 warp #023-1_37_28 0,0,022-1,58,53
+023-1,35,33,0 script #023-1_35_33 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 31,61; end;
+}
+023-1,57,43,0 warp #023-1_57_43 0,0,022-1,80,66
+023-1,50,43,0 script #023-1_50_43 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 50,49; end;
+}
+023-1,26,36,0 warp #023-1_26_36 0,0,022-1,49,56
+023-1,36,47,0 script #023-1_36_47 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 59,21; end;
+}
+023-1,50,48,0 script #023-1_50_48 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 50,42; end;
+}
+023-1,50,55,0 script #023-1_50_55 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 62,31; end;
+}
+023-1,47,59,0 warp #023-1_47_59 0,0,022-1,73,63
+023-1,52,62,0 warp #023-1_52_62 0,0,022-1,70,82
+023-1,31,62,0 script #023-1_31_62 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 35,34; end;
+}
+023-1,45,70,0 warp #023-1_45_70 0,0,022-1,68,91
+023-1,46,33,0 script #023-1_46_33 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 39,21; end;
+}
+023-1,39,20,0 script #023-1_39_20 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 46,32; end;
+}
+023-1,42,33,0 warp #023-1_42_33 0,0,024-1,75,135
diff --git a/npc/023-2/_import.txt b/npc/023-2/_import.txt
new file mode 100644
index 0000000..88b53a1
--- /dev/null
+++ b/npc/023-2/_import.txt
@@ -0,0 +1,6 @@
+// Map 023-2: Magic Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/023-2/_mobs.txt",
+"npc/023-2/_warps.txt",
+"npc/023-2/lightbringer.txt",
+"npc/023-2/mk.txt",
diff --git a/npc/023-2/_mobs.txt b/npc/023-2/_mobs.txt
new file mode 100644
index 0000000..3173a20
--- /dev/null
+++ b/npc/023-2/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 023-2: Magic Cave mobs
+023-2,96,52,17,27 monster Moggun 1070,15,0,0
+023-2,38,77,11,27 monster Water Fairy 1184,4,0,0
+023-2,54,44,21,6 monster Yeti 1064,5,0,0
+023-2,81,61,39,16 monster Angry Bat 1194,8,0,0
diff --git a/npc/023-2/_warps.txt b/npc/023-2/_warps.txt
new file mode 100644
index 0000000..f6a5c23
--- /dev/null
+++ b/npc/023-2/_warps.txt
@@ -0,0 +1,23 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 023-2: Magic Cave warps
+023-2,86,80,0 script #023-2_86_80 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 86,83; end;
+}
+023-2,86,82,0 script #023-2_86_82 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 86,79; end;
+}
+023-2,30,108,0 script #023-2_30_108 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 30,105; end;
+}
+023-2,30,106,0 script #023-2_30_106 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 30,109; end;
+}
+023-2,121,38,0 warp #023-2_121_38 0,0,019-3,58,85
diff --git a/npc/023-2/lightbringer.txt b/npc/023-2/lightbringer.txt
new file mode 100644
index 0000000..d2186a1
--- /dev/null
+++ b/npc/023-2/lightbringer.txt
@@ -0,0 +1,31 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// The most powerful sword ever. It's alive.
+
+023-2,91,86,0 script Lightbringer#NLib NPC_LIGHTBRINGER,{
+ if ($NLIB_DAY == 7) goto L_Today;
+ npctalkonce l("It still isn't time to awake the King Of Holy Swords, Light Bringer.");
+ end;
+
+L_Today:
+ if (strcharinfo(0) != $NLIB_HIGHNAME$) {
+ npctalk3 l("The sword glows too much. Perhaps @@ could take it.", $NLIB_HIGHNAME$);
+ end;
+ }
+ rentitem Lightbringer, (60*60);
+ dispbottom l("This live sword drafts itself to your hand. You can wield it during today's event.");
+ disablenpc .name$;
+ end;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+
+ if (!$NLIB_DAY)
+ disablenpc .name$;
+ end;
+
+}
+
diff --git a/npc/023-2/mk.txt b/npc/023-2/mk.txt
new file mode 100644
index 0000000..f203796
--- /dev/null
+++ b/npc/023-2/mk.txt
@@ -0,0 +1,260 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Nivalis Liberation Day
+
+// The Walking Monster King
+023-2,121,35,0 script The Monster King#NLib NPC_MONSTERKING,{
+ end;
+
+OnTouch:
+ npctalk3 get_race() + "!";
+ die();
+ end;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ .sakar = 0;
+ .MK = 0;
+
+OnHour00:
+OnReprocess:
+ if (!$NLIB_DAY) {
+ disablenpc .name$;
+ end;
+ }
+ switch ($NLIB_DAY) {
+ case 1:
+ movenpc(.name$, 121, 35, DIR_WEST); break;
+ case 2:
+ movenpc(.name$, 105, 37, DIR_NORTH); break;
+ case 3:
+ movenpc(.name$, 105, 51, DIR_SOUTH); break;
+ case 4:
+ movenpc(.name$, 102, 63, DIR_WEST); break;
+ case 5:
+ movenpc(.name$, 81, 59, DIR_NORTH); break;
+ case 6:
+ movenpc(.name$, 53, 53, DIR_SOUTH); break;
+ case 7:
+ movenpc(.name$, 36, 99, DIR_SOUTH); break;
+ default:
+ channelmes("#world", "A bug happened: Monster King # Nivalis Liberation Day - Value Out of Range."); disablenpc .name$; break;
+ }
+
+ end;
+
+// Event Handler
+
+L_Finish:
+ $MANA_BLVL-=10; // Set level to 30
+ // Just being bigger is not enough. Must be over the double for the advantage draw (about 1 player for 10m)
+ if (.victory_count > (.defeat_count*2)) {
+ announce "The fight ends in draw! The Monster King did accomplish what he set, though...", bc_all|bc_npc;
+ channelmes("#world", "Congratulations for the draw, that was a good fight.");
+ channelmes("#world", "The Monster King stole whatever he wanted and left.");
+ // Reproduce the same bonus from Alpha Server
+ $@EXP_EVENT=25;
+ donpcevent "@exprate::OnPlayerCall";
+ $MANA_BLVL-=5; // Set level to 25
+ } else if (.victory_count < 100) { // 1 player for 5 minutes is enough to prevent this loss
+ announce "The Monster King, after moping the floor with the players, accomplish what he set, and left...", bc_all|bc_npc;
+ channelmes("#world", "The players failed miserably in stopping the Monster King.");
+ // Reproduce the same penalty from Beta Server
+ $@EXP_EVENT=rand2(-50, -25);
+ donpcevent "@exprate::OnPlayerCall";
+ } else {
+ announce "The fight ends in draw, with advantage to the Monster King...", bc_all|bc_npc;
+ channelmes("#world", "The players weren't capable to really harm the Monster King.");
+ }
+L_Finish2:
+ killmonsterall("023-2");
+ .wcycle=0;
+ maptimer("023-2", 10, "The Monster King#NLib::OnReturn");
+ channelmes("#world", "*FINAL SCORE - PLAYERS "+.victory_count+" : "+.defeat_count+" MONSTERS*");
+
+ // Game Storyline advances: The Town Blockade Stage is now over
+ $GAME_STORYLINE=1;
+ $MK_TEMPVAR=gettimeparam(GETTIME_DAYOFMONTH)+
+ MK_IDLE_DURATION+rand2(MK_IDLE_VARIATION);
+
+ // Clean up the event
+ $NIVALIS_LIBDATE=gettimetick(2);
+ $NLIB_DAY=0;
+ $NLIB_HIGHTIME=0;
+ $NLIB_HIGHNAME$="";
+ disablenpc "Lightbringer#NLib";
+ enablenpc "#019-1_70_21";
+ enablenpc "#019-2_37_55";
+ enablenpc "#020-1_70_128";
+ enablenpc "#020-1_107_55";
+
+ removemapflag("019-3", mf_bexp);
+ removemapflag("019-3", mf_nosave);
+ removemapflag("020-1", mf_bexp);
+ removemapflag("020-1", mf_nosave);
+ removemapflag("023-2", mf_bexp);
+ removemapflag("023-2", mf_nosave);
+ removemapflag("023-2", mf_nopenalty);
+ removemapmask "019-3", MASK_MATTACK;
+ setmapflag("019-3",mf_bexp,100);
+ setmapflag("020-1",mf_bexp,100);
+ setmapflag("023-2",mf_bexp,100);
+ stopnpctimer;
+ end;
+
+OnTimer3000:
+ .wcycle+=3;
+ .@pl=getareausers("023-2", 21, 109, 31, 114);
+ .@pla=getmapusers("023-2");
+ if (.@pl <= 0 && .@pla > 0)
+ mapannounce "023-2", "##1WARNING: Players outside the Monster King room counts toward DEFEAT count!", 0;
+ .victory_count+=.@pl;
+
+ // Processment
+ if (.@pl <= 0) {
+ .defeat_count+=1;
+ } else if (.wcycle % 30 == 3) {
+ areamonster "023-2", 21, 109, 31, 114, "Monster", any(AngryScorpion, BlackSlime, BlackScorpion, Wolvern, BlueSlime, SlimeBlast, CaveMaggot), .@pl;
+ } else if (.wcycle % 30 == 18) {
+ areamonster "023-2", 21, 109, 31, 114, "Monster", any(BlackSlime, BlueSlime, SlimeBlast), 1; // PS. Drop “Demure Dark Soul†¬.¬
+ } else if (.wcycle % 60 == 0) {
+ mapannounce "023-2", str(15-(.wcycle/60))+" minute(s) remaining", 0;
+ }
+ if (.wcycle >= 900) goto L_Finish;
+ initnpctimer;
+ // Andrei Sakar's Fake Chant
+ if (.wcycle % 15 < 3) {
+ unittalk(.sakar, sprintf("Come %s %s, and %s %s!", any("great", "magnificent"), any("light", "oath", "sacrament"), any("devastate", "annihilate", "obliterate", "liquidate", "eviscerate"), "nearby"));
+ harm(.MK, 100, HARM_MISC, Ele_Holy, .sakar);
+ }
+ end;
+
+OnVictory:
+ channelmes("#world", "The Monster King was defeated by players, and had to flee!");
+ channelmes("#world", "Getting magic is now easier!");
+ announce "Players have defeated the Monster King! He fleed from the cave after leaving a decoy!", bc_all|bc_npc;
+ $MANA_BLVL-=10; // Set level to 20
+ $@EXP_EVENT=25;
+ donpcevent "@exprate::OnPlayerCall";
+ goto L_Finish2;
+ end;
+
+OnBegin:
+ .defeat_count=0;
+ .victory_count=0;
+ .wcycle=0;
+ channelmes("#world", "The fight against the Monster King ends in 15 minutes. If he is forced to flee, that'll result as victory.");
+ channelmes("#world", "Each cycle there are players fighting against him will result in victory points. The opposite will result in defeat points.");
+ channelmes("#world", "More players fighting will result in more victory points. This may affect drastically the result.");
+ channelmes("#world", "Defeat, decided by a certain threshold of points, will result in MAGIC BEING PERMANENTLY HARDER TO OBTAIN.");
+ announce "The Alliance attacks the Monster King! 15 minutes! Rules in #world", bc_all|bc_npc;
+ movenpc(.name$, 0, 0);
+ .MK=monster("023-2", 24, 111, "The Monster King", MonsterKing, 1, "The Monster King#NLib::OnVictory");
+ .sakar=monster("023-2", 30, 109, "Andrei Sakar", AndreiSakar, 1, "The Monster King#NLib::OnSkip", Size_Medium, 1);
+ areamonster "023-2", 21, 109, 31, 114, "Monster", AngryScorpion, 1;
+ areamonster "023-2", 21, 109, 31, 114, "Monster", BlackSlime, 2;
+ areamonster "023-2", 21, 109, 31, 114, "Monster", BlueSlime, 1;
+ areamonster "023-2", 21, 109, 31, 114, "Monster", CaveMaggot, 1;
+ initnpctimer;
+ end;
+
+OnReturn:
+ warp "019-2", 43, 55;
+ end;
+
+OnSkip:
+ end;
+}
+
+
+// Floor triggers
+023-2,121,35,0 script #NLIB_T01 NPC_HIDDEN,1,2,{
+
+OnTouch:
+ if ($NLIB_DAY == 1) {
+ @QNL3=1;
+ dispbottom l("I've found the Monster King.");
+ }
+ end;
+}
+
+
+023-2,110,36,0 script #NLIB_T02 NPC_HIDDEN,2,2,{
+
+OnTouch:
+ if ($NLIB_DAY == 2) {
+ @QNL3=1;
+ dispbottom l("I've found the Monster King.");
+ } else if ($NLIB_DAY < 2) {
+ slide 114, 36;
+ dispbottom l("I should not veer off too much the path.");
+ }
+ end;
+}
+
+023-2,105,50,0 script #NLIB_T03 NPC_HIDDEN,2,2,{
+
+OnTouch:
+ if ($NLIB_DAY == 3) {
+ @QNL3=1;
+ dispbottom l("I've found the Monster King.");
+ } else if ($NLIB_DAY < 3) {
+ slide 104, 48;
+ dispbottom l("I should not veer off too much the path.");
+ }
+ end;
+}
+
+023-2,104,62,0 script #NLIB_T04 NPC_HIDDEN,0,0,{
+
+OnTouch:
+ if ($NLIB_DAY == 4) {
+ @QNL3=1;
+ dispbottom l("I've found the Monster King.");
+ } else if ($NLIB_DAY < 4) {
+ slide 104, 61;
+ dispbottom l("I should not veer off too much the path.");
+ }
+ end;
+}
+
+023-2,86,59,0 script #NLIB_T05 NPC_HIDDEN,2,5,{
+
+OnTouch:
+ if ($NLIB_DAY == 5) {
+ @QNL3=1;
+ dispbottom l("I've found the Monster King.");
+ } else if ($NLIB_DAY < 5) {
+ slide 91, 61;
+ dispbottom l("I should not veer off too much the path.");
+ }
+ end;
+}
+
+023-2,53,49,0 script #NLIB_T06 NPC_HIDDEN,0,5,{
+
+OnTouch:
+ if ($NLIB_DAY == 6) {
+ @QNL3=1;
+ dispbottom l("I've found the Monster King.");
+ } else if ($NLIB_DAY < 6) {
+ slide 55, 48;
+ dispbottom l("I should not veer off too much the path.");
+ }
+ end;
+}
+
+023-2,35,90,0 script #NLIB_T07 NPC_HIDDEN,1,3,{
+
+OnTouch:
+ if ((gettime(2) < 25 || gettime(2) > 45) && !$@GM_OVERRIDE) {
+ slide 39, 89;
+ dispbottom l("I should not go ahead... yet.");
+ }
+ end;
+}
+
+
diff --git a/npc/023-3-1/_import.txt b/npc/023-3-1/_import.txt
new file mode 100644
index 0000000..a755984
--- /dev/null
+++ b/npc/023-3-1/_import.txt
@@ -0,0 +1,3 @@
+// Map 023-3-1: The Master Room
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/023-3-1/logic.txt",
diff --git a/npc/023-3-1/logic.txt b/npc/023-3-1/logic.txt
new file mode 100644
index 0000000..2055988
--- /dev/null
+++ b/npc/023-3-1/logic.txt
@@ -0,0 +1,306 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// 023-3-1 The First Monster King's Throne Room Configuration File
+
+023-3-1 mapflag zone MMO
+
+023-3-1,45,27,0 script #Finish02331 NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ .@m$=getmap();
+ .@n=getq(General_Narrator);
+ .@q=getq(FrostiaQuest_Homunculus);
+ // Cheater Detected
+ if (.@n < 15) {
+ warp "Save", 0, 0;
+ die();
+ end;
+ }
+ if (.@q < 3) {
+ dispbottom l("The magic power outflowing in the room prevents you from leaving.");
+ end;
+ }
+ if (mobcount(.@m$, "#Core02331::OnMobDie")) {
+ dispbottom l("These assassins will catch me if I do that now!");
+ end;
+ }
+
+ .@mapn$="023-3-2";
+ warp .@mapn$, any(39,40), 58;
+ end;
+}
+
+023-3-1,45,80,0 script #Exit02331 NPC_HIDDEN,1,0,{
+ end;
+OnTouch:
+ .@n=getq(General_Narrator);
+ .@q=getq3(FrostiaQuest_Homunculus);
+ // Cheater Detected
+ if (.@n < 15) {
+ warp "Save", 0, 0;
+ die();
+ end;
+ }
+ if (.@n == 15) {
+ dispbottom lg("I'm not a coward! I must press forward!");
+ end;
+ }
+ .@mapn$="001-7";
+ warp .@mapn$, 59, 45;
+ end;
+}
+// To the traps!
+
+023-3-1,45,63,0 script #Ambush02331 NPC_HIDDEN,10,0,{
+OnTouch:
+ .@q=getq(FrostiaQuest_Homunculus);
+ if (.@q < 2) {
+ dispbottom l("Error, cheater detected");
+ die();
+ end;
+ }
+ .@q=getq3(FrostiaQuest_Homunculus);
+ if (!.@q) {
+ .@m$=getmap();
+ .@mobID1=monster(.@m$, 43, 55, l("Assassin"), HoodedNinja, 1, "#Core02331::OnMobDie");
+ .@mobID2=monster(.@m$, 48, 55, l("Assassin"), HoodedNinja, 1, "#Core02331::OnMobDie");
+ monster(.@m$, 43, 60, l("Assassin"), Assassin, 1, "#Core02331::OnMobDie");
+ monster(.@m$, 43, 65, l("Assassin"), Assassin, 1, "#Core02331::OnMobDie");
+ monster(.@m$, 48, 60, l("Assassin"), Assassin, 1, "#Core02331::OnMobDie");
+ monster(.@m$, 48, 65, l("Assassin"), Assassin, 1, "#Core02331::OnMobDie");
+
+ if (any(true,false))
+ unittalk(.@mobID1, l("Kill 'em!"));
+ else
+ unittalk(.@mobID2, l("Kill 'em!"));
+
+ setq3 FrostiaQuest_Homunculus, 1;
+ }
+ end;
+}
+
+// Main event core
+023-3-1,45,52,0 script #Core02331 NPC_HIDDEN,10,0,{
+OnTouch:
+ if (instance_id() < 0)
+ end;
+ .@q=getq(FrostiaQuest_Homunculus);
+ if (.@q < 2) {
+ dispbottom l("Error, cheater detected");
+ die();
+ end;
+ }
+ .@n$=instance_npcname(.name$);
+ .@q=getq3(FrostiaQuest_Homunculus);
+ if (.@q == 1) {
+ // Begin the event core
+ setq3 FrostiaQuest_Homunculus, 2;
+ addtimer(1100, .@n$+"::OnEvent01");
+ attachnpctimer();
+ initnpctimer();
+ }
+ end;
+OnEvent01:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ warp .@m$, 45, 42;
+ @ISBAMUTH=monster(.@m$, 45, 34, l("Isbamuth"), Isbamuth, 1, .name$+"::OnIsbamuthDefeat");
+ .@g1=monster(.@m$, 42, 37, l("Assassin"), HoodedNinja, 1, .name$+"::OnMobDie");
+ .@g2=monster(.@m$, 48, 37, l("Assassin"), HoodedNinja, 1, .name$+"::OnMobDie");
+ .@g3=monster(.@m$, 39, 40, l("Assassin"), Assassin, 1, .name$+"::OnMobDie");
+ .@g4=monster(.@m$, 51, 40, l("Assassin"), Assassin, 1, .name$+"::OnMobDie");
+
+ // Block everyone for cutscene (includes invencibility boost)
+ setpcblock(PCBLOCK_HARD, true);
+ sleep2(10);
+ sc_start(SC_STUN, 7500, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, @ISBAMUTH);
+ sc_start(SC_STUN, 7500, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .@g1);
+ sc_start(SC_STUN, 7500, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .@g2);
+ sc_start(SC_STUN, 7500, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .@g3);
+ sc_start(SC_STUN, 7500, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .@g4);
+
+ unittalk(@ISBAMUTH, l("Seems like the rat have come after the cheese."));
+ addtimer(1500, .@n$+"::OnE02");
+ end;
+
+OnE02:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ unittalk(@ISBAMUTH, l("HAHAHAHA! How foolish of you, didn't even bother trying to sneak in!"));
+
+ addtimer(1500, .@n$+"::OnE03");
+ end;
+
+OnE03:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ unittalk(@ISBAMUTH, l("Remember my name: I am Isbamuth, and I've took the Throne which rightfully belongs to me."));
+
+ addtimer(1500, .@n$+"::OnE04");
+ end;
+
+OnE04:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ unittalk(@ISBAMUTH, l("This throne is not from the Monster King... IT BELONGS ONLY TO ME!"));
+
+ addtimer(1500, .@n$+"::OnE05");
+ end;
+
+OnE05:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ unittalk(@ISBAMUTH, l("Now, as you gave yourself the trouble of coming here..."));
+
+ addtimer(1500, .@n$+"::OnE06");
+ end;
+
+OnE06:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ setpcblock(PCBLOCK_HARD, false);
+ unittalk(@ISBAMUTH, l("LET'S DANCE!"));
+ mapannounce(.@m$, "##2"+l("Victory Conditions: Survive!"), 0);
+ mapannounce(.@m$, "##1"+l("Defeat Conditions: Your death!"), 0);
+
+ addtimer(15000, .@n$+"::OnW01");
+ addtimer(60000, .@n$+"::OnW02");
+ addtimer(180000, .@n$+"::OnE07");
+ end;
+
+OnE07:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ @SCOUT=monster(.@m$, 43, 29, l("Assassin"), HoodedNinja, 1, .name$+"::OnMobDie");
+ sc_start(SC_STUN, 14000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, @SCOUT);
+
+ unitemote(@SCOUT, E_KITTY);
+ unitstop(@ISBAMUTH);
+ dispbottom l("Something seems to be happening close to the Throne.");
+
+ deltimer(.@n$+"::OnW01");
+ deltimer(.@n$+"::OnW02");
+ addtimer(2000, .@n$+"::OnE08");
+ end;
+
+OnE08:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ unittalk(@ISBAMUTH, l("What's it, scout."));
+ unitwalk(@ISBAMUTH, 45, 34);
+
+ addtimer(2500, .@n$+"::OnE09");
+ end;
+
+OnE09:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ unitemote(@SCOUT, E_THUMBUP);
+ unittalk(@ISBAMUTH, l("So, it is ready?"));
+
+ addtimer(2000, .@n$+"::OnE10");
+ end;
+
+OnE10:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ unittalk(@ISBAMUTH, l("I hate to leave you now, @@, but I have more important things to do.", strcharinfo(0)));
+
+ addtimer(1500, .@n$+"::OnE11");
+ end;
+
+OnE11:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ unittalk(@ISBAMUTH, l("Enjoy this world while it lasts. Heh. It's time to... detonate."));
+
+ addtimer(1500, .@n$+"::OnE12");
+ end;
+
+OnE12:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ // A warp to non-instanced version to prevent death sprite from showing up.
+ unitwarp(@ISBAMUTH, "023-3-1", 45, 45);
+ unitwarp(@SCOUT, "023-3-1", 45, 45);
+ .@isb=@ISBAMUTH;
+ @ISBAMUTH=0;
+ unitkill(.@isb);
+ unitkill(@SCOUT);
+ setq1 FrostiaQuest_Homunculus, 3;
+ mapannounce(.@m$, "##2"+l("Victory Conditions: Defeat all enemies!"), 0);
+ mapannounce(.@m$, "##1"+l("Defeat Conditions: Your death!"), 0);
+ end;
+
+// War events
+OnW01:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ unittalk(@ISBAMUTH, l("Be cursed, you fool!"));
+ sc_start(SC_CURSE, 3000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK);
+
+ // Maybe you're stupidly ignoring what we just said?
+ if (TUTORIAL)
+ dispbottom col(l("REMINDER: You do not need to kill anything, you need to ##BSURVIVE##b!"), 3);
+
+ addtimer(45000, .@n$+"::OnW01");
+ end;
+
+OnW02:
+ .@m$=getmap();
+ .@n$=instance_npcname(.name$);
+
+ unittalk(@ISBAMUTH, l("Come to my aid! Vanish this fool!"));
+ monster(.@m$, 42, 37, l("Assassin"), any(Assassin,Bandit,RobinBandit), 1, .name$+"::OnMobDie");
+ monster(.@m$, 48, 37, l("Assassin"), HoodedNinja, 1, .name$+"::OnMobDie");
+ monster(.@m$, 39, 40, l("Assassin"), any(Assassin,Bandit,RobinBandit), 1, .name$+"::OnMobDie");
+ monster(.@m$, 51, 40, l("Assassin"), Assassin, 1, .name$+"::OnMobDie");
+
+ addtimer(60000, .@n$+"::OnW02");
+ end;
+
+// Secret events. Do not handle Isbamuth death as it should be impossible...
+OnIsbamuthDefeat:
+ if (!@ISBAMUTH)
+ end;
+ Exception(l("Why do you bully me! - This is a bug: 02331.LOGIC.OID"), RB_DISPBOTTOM|RB_DEBUGMES);
+ deltimer(.@n$+"::OnW01");
+ deltimer(.@n$+"::OnW02");
+ getexp 0, 1000;
+ @ISBAMUTH=monster(.@m$, 45, 34, l("Isbamuth"), Isbamuth, 1, .name$+"::OnIsbamuthDefeat");
+ end;
+
+// For mobcount() only
+OnMobDie:
+ end;
+
+OnTimer1000:
+ .@m$=instance_mapname("023-3-1");
+ if (getmapusers(.@m$))
+ initnpctimer;
+OnTimerQuit:
+ // Cleanup - you fail.
+ killmonsterall(.@m$);
+ stopnpctimer();
+ detachnpctimer();
+ end;
+}
+
+
+
diff --git a/npc/023-3-2/_import.txt b/npc/023-3-2/_import.txt
new file mode 100644
index 0000000..1298da8
--- /dev/null
+++ b/npc/023-3-2/_import.txt
@@ -0,0 +1,3 @@
+// Map 023-3-2: Study Room
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/023-3-2/logic.txt",
diff --git a/npc/023-3-2/logic.txt b/npc/023-3-2/logic.txt
new file mode 100644
index 0000000..773abcb
--- /dev/null
+++ b/npc/023-3-2/logic.txt
@@ -0,0 +1,330 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// 023-3-2 Isbamuth's Study Room Configuration File
+
+023-3-2 mapflag zone MMO
+
+023-3-2,39,59,0 script #Exit02332 NPC_HIDDEN,1,0,{
+ end;
+OnTouch:
+ .@q=getq(General_Narrator);
+ .@q2=getq2(General_Narrator);
+ // Cheater Detected
+ if (.@q < 15) {
+ warp "Save", 0, 0;
+ die();
+ end;
+ }
+ if (.@q == 15) {
+ dispbottom lg("I'm not a coward! I must press forward!");
+ end;
+ }
+ /*
+ Access to the dungeon is now prohibted.
+ .@mapn$="023-3-1";
+ warp .@mapn$, 45, 28;
+ */
+ .@mapn$="024-16";
+ warp .@mapn$, 30, 26;
+ end;
+}
+
+// The Master Room... We use field 3, too, but bitwise position 2 is reserved.
+023-3-2,38,30,0 script Cauldron#MKHB NPC_NO_SPRITE,{
+ .@q=getq3(FrostiaQuest_Homunculus);
+ if (.@q < 4095) {
+ mesn;
+ mesc l("It's steaming. Who knows what insanity Isbamuth is brewing inside?!");
+ next;
+ mesc l("Keep exploring the Study Room and certify it is safe first. Also, make sure to learn what this was used for.");
+ close;
+ }
+ mesn;
+ mesc l("It's steaming hot, but you guess this is where Isbamuth created homunculus. Most bandits, thieves and assassins seems to have been born here.");
+ next;
+ mesc l("He just abandoned this place and left everything behind... It's suspicious at best. You don't think anyone will be able to decrypt the secrets of Artificial Lifeforms.");
+ next;
+ mesc l("Hesitant, you reach out your hand, and grab whatever was on the Cauldron. It seems to be an Embryo.");
+ next;
+ skill AM_CALLHOMUN, 1, 0;
+ mesc l("You have collect enough evidence, it's time to leave and report.");
+ setq1 FrostiaQuest_Homunculus, 4;
+ setq1 General_Narrator, 16;
+ close;
+OnInit:
+ .distance=2;
+ end;
+}
+
+023-3-2,40,25,0 script Notebook#MKHB NPC_NO_SPRITE,{
+ .@q=getq3(FrostiaQuest_Homunculus);
+ if (.@q < 4094) {
+ mesn;
+ mesc l("Uhm, of course a book like this has to be a trap, right?");
+ next;
+ mesc l("Keep exploring the Study Room and certify it is safe first.");
+ close;
+ }
+ mesn l("Diary, 31st May 297 AT");
+ mesc l("I've been delving in the secrets of Mana, using the stolen Mana Stone we got the other day.");
+ next;
+ mesc l("I'm almost in the point of no return. I cannot believe this, but mana... is alive.");
+ next;
+ mesc l("I'll keep studying it in secret. I'm so proud of my thieves!");
+ next;
+ mesn l("Diary, 21st June 297 AT");
+ mesc l("I've managed to create the first mana-based artificial lifeform, it survived three seconds, the record so far.");
+ next;
+ mesc l("Saul is supplying me the alchemist resources for that. In exchange, my thieves supply him gold and spare his friends.");
+ next;
+ mesc l("He thinks he is using me to his rebellion, but I'm the one using him. I'm not the Bandit Lord for no reason.");
+ next;
+ mesn l("Diary, 1st April 298 AT");
+ mesc l("I've managed to create a Maggot. It did not die. And it was not an April Fool's joke. Nice one.");
+ next;
+ mesn l("Diary, 12nd December 298 AT");
+ mesc l("The Mana Stone... is a scary being. It changes you. I'm no longer myself, but some thieves are still at my side... for now.");
+ next;
+ mesn l("Diary, 3rd August 299 AT");
+ mesc l("Saul is planning an assault at the Magic Tower. I want these Mana Stones.");
+ next;
+ mesc l("Most thieves left, but that's not a problem, I created an army out of Homunculus. I already have 500 bandits. I will create more later, to get Mana Stones.");
+ next;
+ mesn l("Diary, 2nd March 300 AT");
+ mesc l("It's time. My army already have tens of thousands of monsters, homunculus, persons. The mana stones I've got thus far are all dried out, now.");
+ next;
+ mesc l("I could not be the Bandit King. But once I steal all Mana Stones, I'll be not only the best thief in the world. I already decided my new title.");
+ next;
+ mesc l("I shall call myself from there on, after this great assault... @@.", b(l("the Monster King")));
+ next;
+ mesn l("Diary, 3rd March 300 AT");
+ mesc l("To create an homunculus, I should follow the secrets in the book \"The Man Who Played God\". I wrote this narrative with the greatest secrets of it.");
+ next;
+ mesc l("I shall leave this book with my son, SphinxNox. I will not fail, and live forever. This will be their inheritance from me.");
+ next;
+ mesc l("Raid might be great. Saul might be popular. SphinxNox might be an annoying brat. But I'm, or rather, will soon be... @@.", b(l("the Monster King")));
+ next;
+
+// Implicit fallthrough
+L_BookRead:
+ mesc l(".:: The Homunculus Keeping Manual ::."), 3;
+ mesc l("To create an homunculus out of the embryo mass: Use the Call Homunculus Skill. It'll be random, based on the embryo nature.");
+ next;
+ mesc l(".:: The Homunculus Keeping Manual ::."), 3;
+ mesc l("Homunculus are a bit dumb, although the ones I've cultivated and took personal care of can express reactions. In future, I'll research sentience.");
+ next;
+ mesc l(".:: The Homunculus Keeping Manual ::."), 3;
+ mesc l("They need to be feed, when hunger falls below 75. @@ is the best food for them.", getitemlink(Bread));
+ next;
+ mesc l(".:: The Homunculus Keeping Manual ::."), 3;
+ mesc l("Also, they level up when they attack, and can be revived with the right skill.");
+ next;
+ mesc l(".:: The Homunculus Keeping Manual ::."), 3;
+ mesc l("Once they get too annoying, I need to kill them... But I think I could put them to rest with the Rest Homunculus skill.");
+ next;
+ mesc l(".:: The Homunculus Keeping Manual ::."), 3;
+ mesc l("It's totally safe. They are loyal as long that feed. And to think I started off giving @@ to the poor...", getitemlink(Bread));
+ mes "";
+ mesc "-- " + l("The Monster King.");
+
+ if (!(.@q & .hcID)) {
+ skill AM_REST, 1, 0;
+ skill AM_RESURRECTHOMUN, 1, 0;
+ setq3 FrostiaQuest_Homunculus, .@q|.hcID;
+ dispbottom l("I should talk to Cauldron now... Scary.");
+ }
+ close;
+
+OnBookRead:
+ .@q=getq(General_Narrator);
+ if (.@q < 16) end;
+ .@q=.hcID;
+ goto L_BookRead;
+
+OnInit:
+ .hcID=1;
+ .distance=2;
+ bindatcmd "homunculus", "Notebook#MKHB::OnBookRead", 0, 100, 0;
+ end;
+}
+
+023-3-2,36,31,0 script Machinery#MKHB NPC_NO_SPRITE,{
+ .@q=getq3(FrostiaQuest_Homunculus);
+ mesn;
+ mesc l("You have no idea what this piece of equipment is used for.");
+ next;
+ mesn;
+ mesc l("It have the same shape as those used to polish weapons, but there are blood stains everywhere.");
+ if (!(.@q & .hcID))
+ setq3 FrostiaQuest_Homunculus, .@q|.hcID;
+ close;
+OnInit:
+ .hcID=4;
+ .distance=2;
+ end;
+}
+
+023-3-2,40,20,0 script Staircase#MKHB NPC_NO_SPRITE,{
+ .@q=getq3(FrostiaQuest_Homunculus);
+ mesn;
+ mesc l("The stairs have magic cast on them, I cannot climb.");
+ next;
+ mesn;
+ mesc l("I have no idea what's above. Behind the stair, is the painting of a table.");
+ next;
+ mesn;
+ mesc l("Seems to be related to alchemy.");
+ if (!(.@q & .hcID))
+ setq3 FrostiaQuest_Homunculus, .@q|.hcID;
+ close;
+OnInit:
+ .hcID=8;
+ .distance=2;
+ end;
+}
+
+023-3-2,41,30,0 script Potions#MKHB NPC_NO_SPRITE,{
+ .@q=getq3(FrostiaQuest_Homunculus);
+ mesn;
+ mesc l("Several flasks are aligned there. They seemed to be dyes, but a close inspection reveals they're not.");
+ next;
+ mesn;
+ mesc l("They must be reagents used in alchemy.");
+ if (!(.@q & .hcID))
+ setq3 FrostiaQuest_Homunculus, .@q|.hcID;
+ else
+ mesc l("I don't think I needed to keep looking these potions.");
+ close;
+OnInit:
+ .hcID=16;
+ .distance=2;
+ end;
+}
+
+023-3-2,36,25,0 script Bookcase#MKHB1 NPC_NO_SPRITE,{
+ .@q=getq3(FrostiaQuest_Homunculus);
+ mesn;
+ mesc l("Several books about alchemy. Seems to be pretty advanced.");
+ if (!(.@q & .hcID))
+ setq3 FrostiaQuest_Homunculus, .@q|.hcID;
+ close;
+OnInit:
+ .hcID=32;
+ .distance=2;
+ end;
+}
+
+
+023-3-2,44,25,0 script Bookcase#MKHB2 NPC_NO_SPRITE,{
+ .@q=getq3(FrostiaQuest_Homunculus);
+ mesn;
+ mesc l("Several books about hiding magic. Might be why the houses looked abandoned and empty but the chimney was going.");
+ if (!(.@q & .hcID))
+ setq3 FrostiaQuest_Homunculus, .@q|.hcID;
+ close;
+OnInit:
+ .hcID=64;
+ .distance=2;
+ end;
+}
+
+
+023-3-2,46,28,0 script Bookcase#MKHB3 NPC_NO_SPRITE,{
+ .@q=getq3(FrostiaQuest_Homunculus);
+ mesn;
+ mesc l("Several books about artificial lifeforms and the man who played God.");
+ if (!(.@q & .hcID))
+ setq3 FrostiaQuest_Homunculus, .@q|.hcID;
+ close;
+OnInit:
+ .hcID=128;
+ .distance=2;
+ end;
+}
+
+023-3-2,49,31,0 duplicate(Bookcase#MKHB3) Bookcase#MKHB4 NPC_NO_SPRITE
+
+023-3-2,32,28,0 script Bookcase#MKHB5 NPC_NO_SPRITE,{
+ .@q=getq3(FrostiaQuest_Homunculus);
+ mesn;
+ mesc l("Seems to be accounting reports and stuff. You take a few pages.");
+ if (!(.@q & .hcID))
+ setq3 FrostiaQuest_Homunculus, .@q|.hcID;
+ close;
+OnInit:
+ .hcID=256;
+ .distance=2;
+ end;
+}
+
+023-3-2,30,31,0 duplicate(Bookcase#MKHB1) Bookcase#MKHB6 NPC_NO_SPRITE
+
+023-3-2,35,35,0 duplicate(Bookcase#MKHB1) Bookcase#MKHB7 NPC_NO_SPRITE
+
+023-3-2,43,35,0 duplicate(Bookcase#MKHB2) Bookcase#MKHB8 NPC_NO_SPRITE
+
+023-3-2,33,22,0 duplicate(Potions#MKHB) Potions#MKHB1 NPC_NO_SPRITE
+023-3-2,30,24,0 duplicate(Potions#MKHB) Potions#MKHB2 NPC_NO_SPRITE
+023-3-2,27,26,0 duplicate(Potions#MKHB) Potions#MKHB3 NPC_NO_SPRITE
+023-3-2,46,22,0 duplicate(Potions#MKHB) Potions#MKHB4 NPC_NO_SPRITE
+023-3-2,49,24,0 duplicate(Potions#MKHB) Potions#MKHB5 NPC_NO_SPRITE
+023-3-2,52,26,0 duplicate(Potions#MKHB) Potions#MKHB6 NPC_NO_SPRITE
+
+
+023-3-2,37,20,0 script Wardrobe#MKHB NPC_NO_SPRITE,{
+ .@q=getq3(FrostiaQuest_Homunculus);
+ mesn;
+ mesc l("Inside it, seems to be several magic reagents, powders, and other stuff.");
+ if (!(.@q & .hcID))
+ setq3 FrostiaQuest_Homunculus, .@q|.hcID;
+ else
+ mesc l("I don't think I needed to keep looking these wardrobes.");
+ close;
+OnInit:
+ .hcID=512;
+ .distance=2;
+ end;
+}
+
+023-3-2,43,20,0 duplicate(Wardrobe#MKHB) Wardrobe#MKHB1 NPC_NO_SPRITE
+023-3-2,31,21,0 duplicate(Wardrobe#MKHB) Wardrobe#MKHB2 NPC_NO_SPRITE
+023-3-2,28,23,0 duplicate(Wardrobe#MKHB) Wardrobe#MKHB3 NPC_NO_SPRITE
+023-3-2,25,25,0 duplicate(Wardrobe#MKHB) Wardrobe#MKHB4 NPC_NO_SPRITE
+023-3-2,48,21,0 duplicate(Wardrobe#MKHB) Wardrobe#MKHB5 NPC_NO_SPRITE
+023-3-2,51,23,0 duplicate(Wardrobe#MKHB) Wardrobe#MKHB6 NPC_NO_SPRITE
+023-3-2,54,25,0 duplicate(Wardrobe#MKHB) Wardrobe#MKHB7 NPC_NO_SPRITE
+
+023-3-2,51,37,0 script Barrels#MKHB NPC_NO_SPRITE,{
+ .@q=getq3(FrostiaQuest_Homunculus);
+ mesn;
+ mesc l("These barrels are sealed and heavy. It's impossible to know what's inside. There's a marking on them, you copy them somewhere.");
+ if (!(.@q & .hcID))
+ setq3 FrostiaQuest_Homunculus, .@q|.hcID;
+ else
+ mesc l("I don't think I needed to keep looking these barrels.");
+ close;
+OnInit:
+ .hcID=1024;
+ .distance=2;
+ end;
+}
+
+023-3-2,45,41,0 duplicate(Barrels#MKHB) Barrels#MKHB1 NPC_NO_SPRITE
+023-3-2,30,40,0 duplicate(Barrels#MKHB) Barrels#MKHB2 NPC_NO_SPRITE
+023-3-2,25,34,0 duplicate(Barrels#MKHB) Barrels#MKHB3 NPC_NO_SPRITE
+
+023-3-2,38,26,0 script Alchemy Set#MKHB NPC_NO_SPRITE,{
+ .@q=getq3(FrostiaQuest_Homunculus);
+ mesn;
+ mesc l("Hey look, an alchemy set. Not your area of expertise, but you take a few samples.");
+ if (!(.@q & .hcID))
+ setq3 FrostiaQuest_Homunculus, .@q|.hcID;
+ close;
+OnInit:
+ .hcID=2048;
+ .distance=2;
+ end;
+}
+
diff --git a/npc/023-3/_import.txt b/npc/023-3/_import.txt
new file mode 100644
index 0000000..ab1f0b7
--- /dev/null
+++ b/npc/023-3/_import.txt
@@ -0,0 +1,4 @@
+// Map 023-3: Ice Caves
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/023-3/_mobs.txt",
+"npc/023-3/logic.txt",
diff --git a/npc/023-3/_mobs.txt b/npc/023-3/_mobs.txt
new file mode 100644
index 0000000..42f1032
--- /dev/null
+++ b/npc/023-3/_mobs.txt
@@ -0,0 +1,23 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 023-3: Ice Caves mobs
+023-3,63,215,3,2 monster Pollet 1219,2,30000,30000
+023-3,41,214,16,4 monster Cyan Butterfly 1172,2,30000,30000
+023-3,39,217,16,4 monster Iced Fluffy 1041,2,30000,30000
+023-3,90,214,5,5 monster Wolvern 1037,1,30000,30000
+023-3,63,188,12,7 monster Pollet 1219,2,30000,30000
+023-3,120,54,80,16 monster Assassin 1062,6,30000,30000
+023-3,181,42,13,12 monster Bluepar 1177,2,30000,30000
+023-3,49,55,13,12 monster Bluepar 1177,2,30000,30000
+023-3,137,170,42,37 monster Blue Slime 1087,11,30000,30000
+023-3,163,96,36,33 monster Moggun 1070,6,30000,30000
+023-3,68,180,29,23 monster Santa Slime 1096,4,30000,30000
+023-3,67,90,21,21 monster Slime Blast 1090,3,30000,30000
+023-3,72,113,25,37 monster White Slime 1094,4,30000,30000
+023-3,51,134,17,25 monster Azul Slime 1095,3,30000,30000
+023-3,123,68,22,21 monster Rudolph Slime 1086,2,30000,30000
+023-3,122,201,31,13 monster Rudolph Slime 1086,2,30000,30000
+023-3,129,170,31,5 monster Archant 1026,3,30000,30000
+023-3,93,181,22,68 monster Water Fairy 1184,2,30000,30000
+023-3,93,57,22,66 monster Nature Fairy 1186,2,30000,30000
+023-3,117,127,91,101 monster Ice Maggot 1012,32,30000,30000
+023-3,105,157,91,86 monster Cave Bat 1039,22,30000,30000
diff --git a/npc/023-3/logic.txt b/npc/023-3/logic.txt
new file mode 100644
index 0000000..0b72251
--- /dev/null
+++ b/npc/023-3/logic.txt
@@ -0,0 +1,366 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// 023-3 Abandoned Ice Caves Configuration File. Variables: $@LOGIC_0233BOSS
+
+023-3 mapflag zone MMO
+
+023-3,63,220,0 script #Exit0233 NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ .@q=getq(General_Narrator);
+ .@q2=getq2(General_Narrator);
+ // Cheater Detected
+ if (.@q < 15) {
+ warp "Save", 0, 0;
+ die();
+ end;
+ }
+
+ mesc l("Return to Frostia's Castle?");
+ if (askyesno() == ASK_YES) {
+ .@mapn$="024-16";
+ warp .@mapn$, 30, 26;
+ }
+ closeclientdialog;
+ close;
+}
+
+023-3,48,22,0 script #Finish0233 NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ .@q=getq(General_Narrator);
+ .@q2=getq2(General_Narrator);
+ // Cheater Detected
+ if (.@q < 15) {
+ warp "Save", 0, 0;
+ die();
+ end;
+ }
+ // Not allowed to proceed
+ if (.@q > 15) {
+ dispbottom l("Hmm, no, I shouldn't go back there...");
+ end;
+ }
+
+ .@mapn$="001-7";
+ warp .@mapn$, 91, 90;
+ end;
+}
+
+// A simple random treasure chest - to be sure players were introduced to this
+// awesome system. Same rules as any treasure box still applies.
+023-3,94,212,0 script #chest_02330 NPC_CHEST,{
+
+ TreasureBox();
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+}
+
+
+// Miniboss fight must be enabled on right npc. No passing before that.
+023-3,120,103,0 script #MiniBossTrap0233 NPC_HIDDEN,0,2,{
+ end;
+
+OnTouch:
+ .@q=getq(FrostiaQuest_Homunculus);
+ if (!.@q) {
+ dispbottom l("A powerful magic barrier repels you!");
+ getmapxy(.@m$, .@x, .@y, 0);
+ slide .@x-2, .@y;
+ sit();
+ }
+ end;
+}
+
+
+// The scout which went ahead of you (+ miniboss mechanics)
+023-3,86,88,0 script Elite Scout#MB0233 NPC_DARKSABER,{
+ if ($@LOGIC_0233BOSS) {
+ npctalkonce l("FIGHT!");
+ end;
+ }
+ if (getq(FrostiaQuest_Homunculus) >= 1 && !is_sponsor()) {
+ npctalkonce l("I'm not going any closer to that cursed place!");
+ end;
+ }
+ if (getq(FrostiaQuest_Homunculus) >= 1) {
+ npctalk3 l("Everything in order.");
+ end;
+ }
+ mesn;
+ mesq l("Congratulations in making this far, @@.", strcharinfo(0));
+ next;
+ select
+ l("Thanks, and bye."),
+ l("What should I do now?");
+ if (@menu == 1)
+ close;
+ mes "";
+ mesn;
+ mesq l("So, there is a magical barrier to the right, which is in place exactly to protect us.");
+ next;
+ mesn;
+ mesq l("Past this checkpoint, is the village where the Monster King was born.");
+ next;
+ mesn;
+ mesq l("If you want to pass through it, you'll need to defeat the Guardian which made the seal. You can bring friends for healing and support.");
+ next;
+ mesn;
+ mesq l("Once the fight begins, the barrier at your left will lock. It won't open until the fight is over.");
+ next;
+ mesn;
+ mesq l("Are you ready?");
+ mesc l("WARNING: DO NOT PROCEED UNLESS YOU'RE READY."), 1;
+ if (askyesno() == ASK_YES && !$@LOGIC_0233BOSS) {
+ $@LOGIC_0233BOSS=getcharid(3); // It could be 1.
+ $@LOGIC_0233BOXX=monster("023-3", any(85,94,103,113), any(91,96,102,111), "Guardian", Yeti, 1, .name$+"::OnYetiDefeat");
+ initnpctimer;
+ }
+ closeclientdialog;
+ end;
+// Check if fight is still going on
+OnTimer10000:
+ if (!attachrid($@LOGIC_0233BOSS)) {
+ killmonster("023-3", .name$+"::OnYetiDefeat");
+ $@LOGIC_0233BOSS=0;
+ end;
+ }
+ // You gave up, finish it now and not later
+ if (getmap() != "023-3") {
+ killmonster("023-3", .name$+"::OnYetiDefeat");
+ $@LOGIC_0233BOSS=0;
+ end;
+ }
+ // What if the Yeti left the chamber? O.o
+ // It's not like there was mob collision to prevent this from happening
+ // If that's the case, bring the Yeti to player position and order attack :>
+ getmapxy(.@m$, .@x, .@y, UNITTYPE_MOB, $@LOGIC_0233BOXX);
+ getmapxy(.@mx$, .@xx, .@yx, 0);
+ if (!(is_between(79, 120, .@x) && is_between(75, 125, .@y))) {
+ unitwarp($@LOGIC_0233BOXX, .@mx$, .@xx, .@yx);
+ unitattack($@LOGIC_0233BOXX, $@LOGIC_0233BOSS);
+ unittalk($@LOGIC_0233BOXX, "I did not forgot you, @@! %%e", strcharinfo(0));
+ end;
+ }
+ initnpctimer;
+ end;
+// Yeti Defeated
+OnYetiDefeat:
+ stopnpctimer;
+ .@rid=$@LOGIC_0233BOSS;
+ $@LOGIC_0233BOSS=0;
+ // In past, only MVP would count. Now, the requester count.
+ if (playerattached())
+ detachrid();
+ // Player decided to leave the game, annuled
+ if (!attachrid(.@rid))
+ end;
+ // Player decided to leave for a walk, annuled
+ if (!isin("023-3", 79, 75, 120, 125))
+ end;
+
+ // We don't need compareandsetq because it's now the requester
+ message(.@rid, l("You've slayed the Yeti."));
+ npctalk l("Good luck in your journey, @@.", rid2name(.@rid));
+ setq FrostiaQuest_Homunculus, 1;
+ specialeffect(FX_FANFARE, AREA, getcharid(3));
+
+ end;
+OnInit:
+ .distance = 5;
+ end;
+}
+
+
+// Cannot flee from Miniboss Fight
+023-3,80,84,0 script #MiniBossTrapB0233 NPC_HIDDEN,5,0,{
+ end;
+
+OnTouch:
+ .@q=getq(FrostiaQuest_Homunculus);
+ .@q2=getq(FrostiaQuest_Homunculus);
+ if (.@q)
+ end;
+ if ($@LOGIC_0233BOSS) {
+ dispbottom l("A powerful magic barrier repels you!");
+ slide 81, 86;
+ sit();
+ }
+ end;
+}
+
+// A not-so-simple treasure chest from Sagratha's Dungeon
+023-3,0,0,0 script #0233ChestCtrl NPC_HIDDEN,{
+ end;
+
+OnDelay:
+ initnpctimer;
+ end;
+
+OnTimer180000:
+ stopnpctimer;
+OnInit:
+ setarray .@x, 189, 191, 193, 186;
+ setarray .@y, 44, 42, 43, 45;
+ .@r=rand2(getarraysize(.@x));
+ monster "023-3", .@x[.@r], .@y[.@r], "Treasure Chest", any(BronzeChest,BronzeMimic,SilverChest,SilverMimic,GoldenChest,GoldenMimic), 1, "#0233ChestCtrl::OnDelay";
+ end;
+}
+
+// Aethyr Gateway
+023-3,26,219,0 script #AethyrGate NPC_HIDDEN,{
+ end;
+
+OnInit:
+ // In theory, pattern ID must be between 1~9
+ // To set $@p1$~$@p9$ with the PERL expression
+ // But as we're only using $@p0$ (full string)
+ // the value itself is meaningless
+ .pid=getnpcid();
+ debugmes "Aethyr: Pattern %d", .pid;
+ //I'm not going to learn PERL just for that
+ defpattern(.pid, "^(.*)$", "OnTalkNearby");
+ activatepset(.pid);
+ end;
+
+OnTalkNearby:
+ // not very obvious stuff by gumi, $@p0$ contains the whole string
+ // so we must cut it. Could use $@p1$ if perl was proper but... meh.
+ .@no_nick$ = strip(substr($@p0$, getstrlen(strcharinfo(PC_NAME)) + 3, getstrlen($@p0$) - 1));
+ .@message$ = strtoupper(.@no_nick$);
+
+ //0234_Password_BlackBox(.@message$);
+ callfunc "0234_Password_BlackBox", .@message$;
+ end;
+}
+
+
+// TODO: Spike traps and etc. at the corritor
+// TODO: Rolling Stone Trap
+
+// Delete rolling stones as they hit this wall
+/*023-3,47,40,0 script #0233DelStone NPC_HIDDEN,1,0,{
+OnTouch:
+ end;
+
+OnTouchNPC:
+ //die();
+ //unitkill(0);
+ unitwarp(0, "023-3", 42, 26);
+ end;
+}
+
+// TODO: Rolling Stone core
+023-3,0,0,0 script #0233RollStone NPC_HIDDEN,{
+ end;
+OnInit:
+ $@0233_STONEA=monster("023-3", 47, 23, "Rolling Stone", RollingStone, 1);
+ $@0233_STONEB=monster("023-3", 48, 25, "Rolling Stone", RollingStone, 1);
+ $@0233_STONEC=monster("023-3", 47, 30, "Rolling Stone", RollingStone, 1);
+ $@0233_STONED=monster("023-3", 48, 37, "Rolling Stone", RollingStone, 1);
+ initnpctimer;
+ end;
+
+OnTimer250:
+ unitwalk($@0233_STONEA, 47, 40);
+ unitwalk($@0233_STONEC, 47, 40);
+ unitwalk($@0233_STONEB, 48, 40);
+ unitwalk($@0233_STONED, 48, 40);
+
+ getmapxy(.@m$, .@x, .@y, UNITTYPE_MOB, $@0233_STONEA);
+ if (.@y >= 40)
+ unitwarp($@0233_STONEA, "023-3", 47, 23);
+
+ getmapxy(.@m$, .@x, .@y, UNITTYPE_MOB, $@0233_STONEB);
+ if (.@y >= 40)
+ unitwarp($@0233_STONEB, "023-3", 48, 23);
+
+ getmapxy(.@m$, .@x, .@y, UNITTYPE_MOB, $@0233_STONEC);
+ if (.@y >= 40)
+ unitwarp($@0233_STONEC, "023-3", 47, 23);
+
+ getmapxy(.@m$, .@x, .@y, UNITTYPE_MOB, $@0233_STONED);
+ if (.@y >= 40)
+ unitwarp($@0233_STONED, "023-3", 48, 23);
+
+ initnpctimer;
+ end;
+}
+*/
+
+// TODO: NPC walking cannot trigger OnTouch events >.>
+023-3,47,23,0 script #0233RollStoneA NPC_ROLLINGSTONE,0,0,{
+ end;
+
+OnInit:
+ npcspeed(240);
+ initnpctimer;
+ npcwalkto(47, 41);
+ end;
+
+OnTimer120:
+ if (.y >= 40) {
+ movenpc(.name$, 47, 23);
+ npcwalkto(47, 41);
+ }
+ if (getareausers("023-3", 0)) {
+ areatimer2("023-3", .x, .y, .x, .y, 10, .name$+"::OnTouchie");
+ }
+ initnpctimer;
+ end;
+
+OnTouchie:
+ if (isin(.map$, .x, .y, 0)) {
+ percentheal -40, -40;
+ warp .map$, 49, 41;
+ }
+ end;
+
+OnTouchNPC:
+ sc_start SC_COMA, 60000, 0;
+ end;
+}
+
+023-3,48,26,0 script #0233RollStoneB NPC_ROLLINGSTONE,0,0,{
+ end;
+
+OnInit:
+ npcspeed(240);
+ initnpctimer;
+ npcwalkto(49, 41);
+ end;
+
+OnTimer120:
+ if (.y >= 40) {
+ movenpc(.name$, 48, 23);
+ npcwalkto(48, 41);
+ }
+ if (getareausers("023-3", 0)) {
+ areatimer2("023-3", .x, .y, .x, .y, 10, .name$+"::OnTouchie");
+ }
+ initnpctimer;
+ end;
+
+OnTouchie:
+ if (isin(.map$, .x, .y, 0)) {
+ percentheal -40, -40;
+ warp .map$, 49, 41;
+ }
+ end;
+
+OnTouchNPC:
+ sc_start SC_COMA, 60000, 0;
+ end;
+}
+
+023-3,47,30,0 duplicate(#0233RollStoneA) #0233RollStoneC NPC_ROLLINGSTONE,0,0
+023-3,48,37,0 duplicate(#0233RollStoneB) #0233RollStoneD NPC_ROLLINGSTONE,0,0
+
diff --git a/npc/023-4/_import.txt b/npc/023-4/_import.txt
new file mode 100644
index 0000000..ebd1020
--- /dev/null
+++ b/npc/023-4/_import.txt
@@ -0,0 +1,6 @@
+// Map 023-4: Ice Caves
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/023-4/023-4_blackbox.txt",
+"npc/023-4/_mobs.txt",
+"npc/023-4/_warps.txt",
+"npc/023-4/traps.txt",
diff --git a/npc/023-4/_mobs.txt b/npc/023-4/_mobs.txt
new file mode 100644
index 0000000..df036b0
--- /dev/null
+++ b/npc/023-4/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 023-4: Ice Caves mobs
+023-4,44,44,25,24 monster Ice Maggot 1012,27,30000,30000
+023-4,61,62,6,5 monster Copper Slime Mother 1238,1,30000,30000
+023-4,62,28,6,6 monster White Slime Mother 1242,1,30000,30000
+023-4,58,44,6,26 monster JackO 1120,2,30000,15000
diff --git a/npc/023-4/_warps.txt b/npc/023-4/_warps.txt
new file mode 100644
index 0000000..4fcfe65
--- /dev/null
+++ b/npc/023-4/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 023-4: Ice Caves warps
+023-4,42,70,0 warp #023-4_42_70 0,0,023-3,87,219
+023-4,24,20,0 warp #023-4_24_20 0,0,031-1,58,103
diff --git a/npc/023-4/traps.txt b/npc/023-4/traps.txt
new file mode 100644
index 0000000..9de778c
--- /dev/null
+++ b/npc/023-4/traps.txt
@@ -0,0 +1,58 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Advanced Spike Traps
+
+/////////////////////////////
+023-4,60,51,0 script #SpikeTrap NPC_TRAP_B,1,1,{
+ end;
+
+OnInit:
+ .damage=0;
+ .time=0;
+ .goal=rand2(5,10);
+ initnpctimer;
+ end;
+
+OnTouch:
+OnTouchNPC:
+ if (.damage) {
+ if (playerattached()) {
+ percentheal -80, 0;
+ } else {
+ sc_start SC_WALKSPEED, 15000, 60;
+ sc_start SC_STUN, rand2(3000), 1;
+ }
+ }
+ specialeffect(11, AREA, strnpcinfo(0));
+ end;
+
+OnTimer1000:
+ .time+=1;
+ if (.time > .goal) {
+ .damage = !(.damage);
+ .time = 0;
+ if (.damage)
+ setnpcdisplay strnpcinfo(0), NPC_TRAP_ONLINE_B;
+ else
+ setnpcdisplay strnpcinfo(0), NPC_TRAP_B;
+ }
+ initnpctimer;
+ end;
+}
+
+023-4,50,60,0 duplicate(#SpikeTrap) #SpikeTrap001 NPC_TRAP,1,1
+023-4,31,59,0 duplicate(#SpikeTrap) #SpikeTrap002 NPC_TRAP,1,1
+023-4,31,48,0 duplicate(#SpikeTrap) #SpikeTrap003 NPC_TRAP,1,1
+023-4,22,50,0 duplicate(#SpikeTrap) #SpikeTrap004 NPC_TRAP,1,1
+023-4,39,39,0 duplicate(#SpikeTrap) #SpikeTrap005 NPC_TRAP,1,1
+023-4,42,42,0 duplicate(#SpikeTrap) #SpikeTrap006 NPC_TRAP,1,1
+023-4,52,44,0 duplicate(#SpikeTrap) #SpikeTrap007 NPC_TRAP,1,1
+023-4,50,46,0 duplicate(#SpikeTrap) #SpikeTrap008 NPC_TRAP,1,1
+023-4,47,28,0 duplicate(#SpikeTrap) #SpikeTrap009 NPC_TRAP,1,1
+023-4,44,28,0 duplicate(#SpikeTrap) #SpikeTrap010 NPC_TRAP,1,1
+023-4,42,25,0 duplicate(#SpikeTrap) #SpikeTrap011 NPC_TRAP,1,1
+023-4,39,24,0 duplicate(#SpikeTrap) #SpikeTrap012 NPC_TRAP,1,1
+
+
diff --git a/npc/024-1/_import.txt b/npc/024-1/_import.txt
new file mode 100644
index 0000000..8b4f2df
--- /dev/null
+++ b/npc/024-1/_import.txt
@@ -0,0 +1,14 @@
+// Map 024-1: Frostia
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/024-1/_mobs.txt",
+"npc/024-1/_warps.txt",
+"npc/024-1/erlan.txt",
+"npc/024-1/guard.txt",
+"npc/024-1/john.txt",
+"npc/024-1/mapflags.txt",
+"npc/024-1/meriel.txt",
+"npc/024-1/rydel.txt",
+"npc/024-1/soul-menhir.txt",
+"npc/024-1/taenya.txt",
+"npc/024-1/teleporter.txt",
+"npc/024-1/town.txt",
diff --git a/npc/024-1/_mobs.txt b/npc/024-1/_mobs.txt
new file mode 100644
index 0000000..07c198b
--- /dev/null
+++ b/npc/024-1/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 024-1: Frostia mobs
+024-1,98,43,76,22 monster Pollet 1219,16,90000,30000
+024-1,96,77,78,21 monster Iced Fluffy 1041,7,60000,30000
+024-1,89,120,21,22 monster Azul Slime 1095,3,30000,30000
+024-1,145,70,25,36 monster Rudolph Slime 1086,2,30000,30000
diff --git a/npc/024-1/_warps.txt b/npc/024-1/_warps.txt
new file mode 100644
index 0000000..6732a87
--- /dev/null
+++ b/npc/024-1/_warps.txt
@@ -0,0 +1,23 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 024-1: Frostia warps
+024-1,75,134,0 warp #024-1_75_134 0,0,023-1,42,32
+024-1,94,70,0 script #024-1_94_70 NPC_HIDDEN,3,0,{
+ end;
+OnTouch:
+ slide 93,72; end;
+}
+024-1,32,54,0 warp #024-1_32_54 0,0,024-2,41,29
+024-1,126,28,0 warp #024-1_126_28 0,0,024-3,35,34
+024-1,154,40,0 warp #024-1_154_40 0,0,024-4,28,28
+024-1,160,40,0 warp #024-1_160_40 0,0,024-4,39,28
+024-1,155,55,0 warp #024-1_155_55 0,0,024-5,34,28
+024-1,143,40,0 warp #024-1_143_40 0,0,024-6,34,27
+024-1,160,49,0 warp #024-1_160_49 0,0,024-7,40,28
+024-1,136,28,0 warp #024-1_136_28 0,0,024-8,71,31
+024-1,134,48,0 warp #024-1_134_48 0,0,024-9,41,37
+024-1,77,59,0 warp #024-1_77_59 0,0,024-10,24,36
+024-1,83,59,0 warp #024-1_83_59 0,0,024-10,34,36
+024-1,105,34,0 warp #024-1_105_34 0,0,024-11,24,34
+024-1,76,45,0 warp #024-1_76_45 0,0,024-12,31,34
+024-1,50,54,0 warp #024-1_50_54 0,0,024-13,30,36
+024-1,64,30,0 warp #024-1_64_30 0,0,024-15,25,38
diff --git a/npc/024-1/erlan.txt b/npc/024-1/erlan.txt
new file mode 100644
index 0000000..b6cc4dd
--- /dev/null
+++ b/npc/024-1/erlan.txt
@@ -0,0 +1,118 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Questmaker Handbook 14.0 (F = Favorable)
+
+024-1,73,48,0 script Erlan NPC_ELF,{
+ .@q = getq(FrostiaQuest_Erlan);
+ if (BaseLevel < 40) {
+ mesc l("The elf seems busy. He ignores you.");
+ close;
+ }
+ if (.@q == 0) {
+ if (frally()) goto L_Start_F;
+ else goto L_Start_U;
+ }
+ else if (.@q == 1) {
+ if (frally()) goto L_Submit_F;
+ else goto L_Submit_U;
+ }
+ else if (.@q == 2) {
+ if (frally()) goto L_Done_F;
+ else goto L_Done_U;
+ }
+ Exception("Invalid quest state - "+str(.@q));
+ end;
+
+L_Start_F:
+ mesn;
+ mesq lg("Hey gal, could you do me a little favor?", "Hey pal, could you do me a little favor?");
+ next;
+ mesn;
+ mesq l("You see, I am Erlan, a researcher. I'm currently developing strong poison to rival with the legendary %s. For that end, I need raw, untreated sewerage, but there is no such thing here. Could you bring me %d %s? Thanks!", getitemlink(NymphPoison), 7, getitemlink(BottleOfSewerWater));
+ setq FrostiaQuest_Erlan, 1;
+ close;
+
+L_Submit_F:
+ mesn;
+ mesq l("Did you got the %d %s I've asked?", 7, getitemlink(BottleOfSewerWater));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (countitem(BottleOfSewerWater) < 7) {
+ mesn;
+ mesq l("You've been spending too much time with humans. You are picking up bad habits from them like lying. Be careful.");
+ close;
+ }
+ delitem BottleOfSewerWater, 7;
+ getexp 10000, 0;
+ Zeny+=5700;
+ setq FrostiaQuest_Erlan, 2;
+ mesn;
+ mesq lg("Thanks, my friend. Here's some money.");
+ }
+ close;
+
+L_Done_F:
+ mesn;
+ mesq l("Thanks for the help earlier. Unfortunately, I had no luck yet.");
+ next;
+ mesn;
+ mesq l("There are rumors about a sacred elf land, where our antecessors lived in peacefully somewhere close to here, but the path was lost. That's why we now live with dwarves.");
+ close;
+/////////////////////////////////////////////////////////////////////////////////
+L_Start_U:
+ mesn;
+ mesq l("Uh, a %s? How odd.", get_race());
+ next;
+ mesn;
+ mesq l("You see, I am Erlan, a researcher. I'm currently developing strong poison to rival with the legendary %s. For that end, I need raw, untreated sewerage, but there is no such thing in a civilized town like ours.", getitemlink(NymphPoison));
+ next;
+ mesn;
+ mesq l("But you seem to have come from more savage and barbaric towns, so if you could bring me %d %s, that would be truly helpful.", 7, getitemlink(BottleOfSewerWater));
+ setq FrostiaQuest_Erlan, 1;
+ close;
+
+L_Submit_U:
+ mesn;
+ mesq l("Did you got the %d %s I've asked?", 7, getitemlink(BottleOfSewerWater));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (countitem(BottleOfSewerWater) < 7) {
+ mesn;
+ mesq l("You think you can fool me and lie? I'll teach you a lesson you won't forget!");
+ mesc l("%s slaps you!", .name$);
+ percentheal -30, 0;
+ close;
+ }
+ delitem BottleOfSewerWater, 7;
+ getexp 10000, 0;
+ Zeny+=5700;
+ setq FrostiaQuest_Erlan, 2;
+ mesn;
+ mesq l("Heh, thanks %s. Here's some money.", get_race());
+ }
+ close;
+
+L_Done_U:
+ mesn;
+ mesq l("No, I don't have any poison for your sampling yet.");
+ next;
+ mesn;
+ mesq l("Our antecessors used to live peacefully in a sanctuary somewhere close to here, but the path was lost. That's why we now live with dwarves.");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, LeatherShirt);
+ setunitdata(.@npcId, UDT_HEADTOP, Beard);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 6);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 20);
+ npcsit;
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/024-1/guard.txt b/npc/024-1/guard.txt
new file mode 100644
index 0000000..cefc16a
--- /dev/null
+++ b/npc/024-1/guard.txt
@@ -0,0 +1,116 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Controls access to Frostia.
+
+024-1,93,73,0 script Frostia Guard NPC_ELF,{
+ // Main Quest Have Precedence
+ if (getq(General_Narrator) == 11)
+ goto L_MainQuest;
+ if (getq(General_Narrator) == 12)
+ goto L_MainQuest2;
+
+L_MainLogic:
+ if (BaseLevel < 40)
+ goto L_Unallowed;
+ if (Class == Elven)
+ {
+ slide 93, 69;
+ npctalk3 l("Elves are always allowed inside.");
+ end;
+ }
+ // You have a house inside
+ if (ESTATE_RENTTIME >= gettimetick(2)) {
+ slide 93, 69;
+ npctalk3 l("I don't trust @@s.", get_race());
+ end;
+ }
+
+ //.@tax=1001-min(1000, reputation("Frostia")*10);
+ .@tax=501-min(500, reputation("Frostia")*5);
+ mesn;
+ mesc l("The guard eyes you with suspcion.");
+ mesq l("You should not be here. Get moving.");
+ if (Zeny < .@tax)
+ close;
+ next;
+ mesc l("Bribe the guard for @@ GP?", .@tax);
+ if (askyesno() == ASK_YES) {
+ Zeny-=.@tax;
+ closeclientdialog;
+ slide 93, 69;
+ npctalk3 l("Behave yourself.");
+ }
+ close;
+
+L_Unallowed:
+ mesn;
+ mesq l("You're not welcome here. Get moving.");
+ close;
+
+
+L_MainQuest:
+ mesc b(l(".:: Main Quest 6-1 ::.")), 3;
+ msObjective(BaseLevel >= 40, l("* @@/@@ Base Level", BaseLevel, 40));
+ mesc l("* Deliver Nikolai's Letter to Frostia Mayor"), 9;
+ if (BaseLevel < 40)
+ close;
+ next;
+ mesn strcharinfo(0);
+ select
+ l("I have a letter for the Mayor.");
+ mes "";
+ mesn;
+ mesq l("We don't have a mayor. The independent city-state of Frostia is ruled by a King.");
+ next;
+ mesn;
+ mesq l("King Gelid Frozenheart II rules over all elves and dwarves who live here peacefully, and he also presides the city council.");
+ next;
+ mesn;
+ mesq l("I hate foreigners. They know nothing about us and want to impose their \"ideals\" about democracy and whatever.");
+ next;
+ mesn;
+ mesq l("Anyway, you had a letter to our @@, you meant? Sure thing, I'll let him know at once.", b(l("king")));
+ setq General_Narrator, 12;
+ close;
+
+L_MainQuest2:
+ mesn;
+ mesq l("King Gelid Frozenheart II will have you.");
+ next;
+ mesn;
+ mesq l("His policy is to never read a letter without the sender being present. Of course we checked for poison and traps.");
+ next;
+ mesn;
+ mesq l("Behave yourself, or you'll be executed in the town square mercilessly. You have been warned.");
+ next;
+ closeclientdialog;
+ // Maybe an instance instead?
+ warp "024-16", 30, 52;
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, WarlordHelmet);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, WarlordPlate);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ setunitdata(.@npcId, UDT_WEAPON, JeansChaps);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 2);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
+// This small script controls if you can visit King Gelid II or not
+024-1,97,20,0 script #FrostiaCastle NPC_HIDDEN,1,0,{
+end;
+OnTouch:
+ if (getq(General_Narrator) >= 12)
+ warp "024-16", 30, 52;
+ end;
+}
+
+
diff --git a/npc/024-1/john.txt b/npc/024-1/john.txt
new file mode 100644
index 0000000..e1662d1
--- /dev/null
+++ b/npc/024-1/john.txt
@@ -0,0 +1,321 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// John H
+
+024-1,154,45,0 script Jhon Henryfield NPC_PLAYER,{
+ if (BaseLevel < 42) {
+ asleep();
+ end;
+ }
+ .@q=getq(FrostiaQuest_JhonH);
+
+ // Quest failed
+ if (.@q == 8) {
+ mesn;
+ mesq l("Go away creep, I HATE YOU!");
+ close;
+ }
+
+ if (!.@q) {
+ mesn;
+ mesc l("ZZZzzzz...");
+ mesc l("%s seems to be asleep... Maybe we can wake him up somehow?", .name$);
+ next;
+ do
+ {
+ select
+ l("Poke him"),
+ l("Attack him"),
+ l("Give him an item");
+ mes "";
+ if (@menu == 1) {
+ mesc l("No reply. We should try something else.");
+ next;
+ } else if (@menu == 2) {
+ mesn;
+ mesc l("*Opening eyes in a shock*");
+ mesq l("AAAAaaahhhhh!!!");
+ setq FrostiaQuest_JhonH, 8; // Quest failed
+ close;
+ } else {
+ mes "##B" + l("Drag and drop an item from your inventory.") + "##b";
+
+ .@give = requestitem();
+ if (.@give < 1) continue;
+ if (!countitem(.@give)) continue;
+ if (checkbound(.@give)) continue;
+ if (getiteminfo(.@give, ITEMINFO_TYPE) != IT_HEALING &&
+ getiteminfo(.@give, ITEMINFO_TYPE) != IT_USABLE) continue;
+ mesc l("Really give a %s to Jhon?", getitemlink(.@give));
+ mesc l("The item will be lost forever."), 1;
+ next;
+ if (askyesno() == ASK_NO) continue;
+ mes "";
+ delitem .@give, 1;
+ if (.@give == Coffee) {
+ setq FrostiaQuest_JhonH, 1;
+ .@q = 1;
+ getexp 250, 25;
+ mesn;
+ mesq l("Coffee! I'm awake now!");
+ next;
+ break;
+ } else {
+ mesc l("...No reaction...");
+ next;
+ }
+ }
+ } while (true);
+ }
+ ///////////////////////////
+ if (!.@q) close;
+ do
+ {
+ mesn;
+ mesq l("How can I help you, my friend?");
+ next;
+ select
+ l("Who are you?"),
+ rif(.@q >= 2 && countitem(Coffee), l("Do you want more coffee?")),
+ l("Nothing, thanks anyway.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesn;
+ mesq l("Name is Jhon, and that's not a typo! I am an absolute coffee lover, and I travel to exotic places in search of the perfect brew.");
+ next;
+ mesn;
+ mesq l("Unfortunately, elves doesn't like to share coffee, so I thought in leaving but fell asleep. Oops!");
+ next;
+ mesn;
+ mesq l("If you have some coffee to me, I'll buy it of your hands.");
+ compareandsetq FrostiaQuest_JhonH, 1, 2;
+ .@q = max(.@q, 2);
+ next;
+ break;
+ case 2:
+ mesc l("How much coffee you'll give Jhon?");
+ input .@c, 0, countitem(Coffee);
+ mes "";
+ .@c = min(.@c, countitem(Coffee));
+ if (.@c < 1) break;
+ delitem Coffee, .@c;
+ .@q2 = getq2(FrostiaQuest_JhonH) + rand2(.@c);
+ .@q3 = getq3(FrostiaQuest_JhonH);
+ setq2 FrostiaQuest_JhonH, .@q2;
+ .@xp = 250 + rand2(getiteminfo(Coffee, ITEMINFO_SELLPRICE) / 3);
+ .@gp = getiteminfo(Coffee, ITEMINFO_SELLPRICE) * 2 / 3; // 67% GP
+ Zeny += .@c * .@gp;
+ getexp .@c * .@xp, .@c * 25; // ~33% EXP + bonus
+ mesn;
+ mesq lg("Thanks, gal!", "Thanks, pal!");
+ next;
+ switch (.@q3) {
+ case 0:
+ if (.@q2 >= 1) {
+ inventoryplace Potatoz, 1;
+ getitem Potatoz, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 1:
+ if (.@q2 >= 5) {
+ inventoryplace IcedBottle, 1;
+ getitem IcedBottle, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 2:
+ if (.@q2 >= 10) {
+ inventoryplace ScrollBattlePlansA, 1;
+ getitem ScrollBattlePlansA, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 3:
+ if (.@q2 >= 15) {
+ inventoryplace ScrollDefenseBlessA, 1;
+ getitem ScrollDefenseBlessA, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 4:
+ if (.@q2 >= 20) {
+ inventoryplace ScrollSYeti, 1;
+ getitem ScrollSYeti, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 5:
+ if (.@q2 >= 25) {
+ inventoryplace AlchemyBlueprintA, 1;
+ getitem AlchemyBlueprintA, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 6:
+ if (.@q2 >= 30) {
+ inventoryplace AlchemyBlueprintB, 1;
+ getitem AlchemyBlueprintB, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 7:
+ if (.@q2 >= 40) {
+ .@i = any(LukPotionA, DexPotionA, IntPotionA, VitPotionA, AgiPotionA);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 8:
+ if (.@q2 >= 50) {
+ inventoryplace AlchemyBlueprintC, 1;
+ getitem AlchemyBlueprintC, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 9:
+ if (.@q2 >= 60) {
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 10:
+ if (.@q2 >= 75) {
+ inventoryplace AlchemyBlueprintD, 1;
+ getitem AlchemyBlueprintD, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 11:
+ if (.@q2 >= 90) {
+ inventoryplace AncientBlueprint, 1;
+ getitem AncientBlueprint, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 12:
+ if (.@q2 >= 100) {
+ .@i = any(LukPotionB, DexPotionB, IntPotionB, VitPotionB, AgiPotionB, SacredLifePotion, SacredManaPotion, DodgePotion, PrecisionPotion, MoveSpeedPotion, StatusResetPotion, DeathPotion, PurificationPotion, NymphPoison, ElixirOfLife);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 13:
+ if (.@q2 >= 120) {
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, DodgePotion, PrecisionPotion, MoveSpeedPotion, StatusResetPotion, DeathPotion, PurificationPotion, NymphPoison, ElixirOfLife);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 14:
+ if (.@q2 >= 140) {
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, DodgePotion, PrecisionPotion, MoveSpeedPotion, StatusResetPotion, DeathPotion, PurificationPotion, NymphPoison, ElixirOfLife, SacredImmortalityPotion, Manapple);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 15:
+ if (.@q2 >= 150) {
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, DodgePotion, PrecisionPotion, MoveSpeedPotion, StatusResetPotion, DeathPotion, PurificationPotion, NymphPoison, ElixirOfLife, SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 16:
+ if (.@q2 >= 175) {
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, DodgePotion, PrecisionPotion, MoveSpeedPotion, StatusResetPotion, NymphPoison, ElixirOfLife, SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal, ScrollCriticalFortuneA);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 17:
+ if (.@q2 >= 200) {
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, ElixirOfLife, SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal, ScrollCriticalFortuneA, ScrollMagnusHealA, ScrollSWolvern);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 18:
+ if (.@q2 >= 250) {
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, ElixirOfLife, SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal, ScrollCriticalFortuneA, ScrollMagnusHealA, ScrollSWolvern);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 19:
+ if (.@q2 >= 300) {
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal, ScrollCriticalFortuneA, ScrollMagnusHealA, ScrollSWolvern, GoldenApple);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 20:
+ if (.@q2 >= 400) {
+ .@i = any(SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal, ScrollCriticalFortuneA, ScrollMagnusHealA, ScrollSWolvern, PirateTreasureMap, TimeFlask);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 21:
+ if (.@q2 >= 450) {
+ .@i = any(ScrollCriticalFortuneB, ScrollBattlePlansB, ScrollDefenseBlessB, ScrollMagnusHealB, ScrollSDragon, GoldenApple);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ }
+ break;
+ case 22:
+ if (.@q2 >= 500) {
+ .@i = any(ScrollCriticalFortuneB, ScrollBattlePlansB, ScrollDefenseBlessB, ScrollMagnusHealB, ScrollSDragon, DivineApple);
+ inventoryplace .@i, 1;
+ getitem .@i, 1;
+ setq3 FrostiaQuest_JhonH, .@q3 + 1;
+ mesc l("You have reached the current reward limit for Jhon."), 1;
+ mesc l("Futurely, Mylarin Dust and a Sunny Crystal will also be available."); // And a Mysterious Fruit + Platinum, just like Ryan
+ }
+ break;
+ }
+ // Item acquired?
+ if (getq3(FrostiaQuest_JhonH) != .@q3) {
+ mesn;
+ mesq l("Here, you can have this, token of my appreciation.");
+ next;
+ }
+ break;
+ default:
+ .@q = 12; break;
+ }
+ } while (.@q < 8);
+
+ closeclientdialog;
+ goodbye;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, AFKCap);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SilkRobe); // TODO
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 22);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 5);
+ npcsit;
+
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+}
diff --git a/npc/024-1/mapflags.txt b/npc/024-1/mapflags.txt
new file mode 100644
index 0000000..a58d5d8
--- /dev/null
+++ b/npc/024-1/mapflags.txt
@@ -0,0 +1,17 @@
+024-1 mapflag town
+024-1 mapflag nopenalty
+024-2 mapflag zone indoors
+024-3 mapflag zone indoors
+024-4 mapflag zone indoors
+024-5 mapflag zone indoors
+024-6 mapflag zone indoors
+024-7 mapflag zone indoors
+024-8 mapflag zone indoors
+024-9 mapflag zone indoors
+024-10 mapflag zone indoors
+024-11 mapflag zone indoors
+024-12 mapflag zone indoors
+024-13 mapflag zone indoors
+024-14 mapflag zone indoors
+024-15 mapflag zone indoors
+024-16 mapflag zone indoors
diff --git a/npc/024-1/meriel.txt b/npc/024-1/meriel.txt
new file mode 100644
index 0000000..109131e
--- /dev/null
+++ b/npc/024-1/meriel.txt
@@ -0,0 +1,113 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Questmaker Handbook 14.0 (F = Favorable)
+
+024-1,114,45,0 script Meriel NPC_ELF_F,{
+ .@q = getq(FrostiaQuest_Meriel);
+ if (BaseLevel < 42) {
+ mesc l("The elf seems busy. She ignores you.");
+ close;
+ }
+ if (.@q == 0) {
+ if (frally()) goto L_Start_F;
+ else goto L_Start_U;
+ }
+ else if (.@q == 1) {
+ if (frally()) goto L_Submit_F;
+ else goto L_Submit_U;
+ }
+ else if (.@q == 2) {
+ if (frally()) goto L_Done_F;
+ else goto L_Done_U;
+ }
+ Exception("Invalid quest state - "+str(.@q));
+ end;
+
+L_Start_F:
+ mesn;
+ mesq lg("Hey gal, could you do me a little favor?", "Hey pal, could you do me a little favor?");
+ next;
+ mesn;
+ mesc l("*blushes*");
+ mesq l("Bring me %d %s. I cannot tell you what for, though!", 18, getitemlink(PurpleBlobime));
+ setq FrostiaQuest_Meriel, 1;
+ close;
+
+L_Submit_F:
+ mesn;
+ mesq l("Did you got the %d %s I've asked?", 18, getitemlink(PurpleBlobime));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (countitem(PurpleBlobime) < 18) {
+ mesn;
+ mesq l("You've been spending too much time with humans. You are picking up bad habits from them like lying. Be careful.");
+ close;
+ }
+ inventoryplace EquipmentBlueprintC, 1;
+ delitem PurpleBlobime, 18;
+ getitem EquipmentBlueprintC, 1;
+ getexp 4210, 0;
+ setq FrostiaQuest_Meriel, 2;
+ mesn;
+ mesq l("Ahh, he'll be so happy! Thanks! You can keep this.");
+ }
+ close;
+
+L_Done_F:
+ mesn;
+ mesq l("I've heard some elves, when they abandoned our original town, founded Aethyr somewhere up northwest. But all contact with it has since been lost.");
+ close;
+/////////////////////////////////////////////////////////////////////////////////
+L_Start_U:
+ mesn;
+ mesq l("Hey, can you spare me a moment?");
+ next;
+ mesn;
+ mesc l("*blushes*");
+ mesq l("I want %d %s! Don't worry, I can pay.", 18, getitemlink(PurpleBlobime));
+ setq FrostiaQuest_Meriel, 1;
+ close;
+
+L_Submit_U:
+ mesn;
+ mesq l("Did you got the %d %s I've asked?", 18, getitemlink(PurpleBlobime));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (countitem(PurpleBlobime) < 18) {
+ mesn;
+ mesq l("You liar, I'll show you to respect woman!");
+ mesc l("%s slaps you!", .name$);
+ percentheal -30, 0;
+ close;
+ }
+ inventoryplace EquipmentBlueprintC, 1;
+ delitem PurpleBlobime, 18;
+ getitem EquipmentBlueprintC, 1;
+ getexp 4210, 0;
+ setq FrostiaQuest_Meriel, 2;
+ mesn;
+ mesq l("Hihihi... Thanks! Here, you can keep this.");
+ }
+ close;
+
+L_Done_U:
+ mesn;
+ mesq l("I've heard some elves, when they abandoned our original town, founded Aethyr somewhere up northwest. But all contact with it has since been lost.");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonSkirt);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, LeatherShirt);
+ setunitdata(.@npcId, UDT_HEADTOP, TrapperHat);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 8);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 11);
+ npcsit;
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/024-1/rydel.txt b/npc/024-1/rydel.txt
new file mode 100644
index 0000000..1c1648d
--- /dev/null
+++ b/npc/024-1/rydel.txt
@@ -0,0 +1,115 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Questmaker Handbook 14.0 (F = Favorable)
+
+024-1,32,26,0 script Rydel NPC_ELF,{
+ .@q = getq(FrostiaQuest_Rydel);
+ if (BaseLevel < 50) {
+ mesc l("The elf seems busy. He ignores you.");
+ close;
+ }
+ if (.@q == 0) {
+ if (frally()) goto L_Start_F;
+ else goto L_Start_U;
+ }
+ else if (.@q == 1) {
+ if (frally()) goto L_Submit_F;
+ else goto L_Submit_U;
+ }
+ else if (.@q == 2) {
+ if (frally()) goto L_Done_F;
+ else goto L_Done_U;
+ }
+ Exception("Invalid quest state - "+str(.@q));
+ end;
+
+L_Start_F:
+ mesn;
+ mesq lg("Hey gal, could you do me a little favor?", "Hey pal, could you do me a little favor?");
+ next;
+ mesn;
+ mesq l("Bring me %d %s so I may study its properties and improve our town water quality!", 3, getitemlink(BottleOfDivineWater));
+ setq FrostiaQuest_Rydel, 1;
+ close;
+
+L_Submit_F:
+ mesn;
+ mesq l("Did you got the %d %s I've asked?", 3, getitemlink(BottleOfDivineWater));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (countitem(BottleOfDivineWater) < 3) {
+ mesn;
+ mesq l("You've been spending too much time with humans. You are picking up bad habits from them like lying. Be careful.");
+ close;
+ }
+ delitem BottleOfDivineWater, 3;
+ getexp 24000, 0;
+ setq FrostiaQuest_Rydel, 2;
+ mesn;
+ mesq lg("Thanks to you, my friend, we will soon have good water to drink.");
+ }
+ close;
+
+L_Done_F:
+ mesn;
+ mesq l("I am not done purifying the water yet. This may take years, but it'll be worth it.");
+ next;
+ mesn;
+ mesq l("By the way, I've heard that the name of the wizard of Aethyr is the key to open its gates. But I don't know neither where the gates are, nor who is the \"wizard of Aethyr\".");
+ close;
+/////////////////////////////////////////////////////////////////////////////////
+L_Start_U:
+ mesn;
+ mesq l("Hey silly %s, I need a favor from you.", get_race());
+ next;
+ mesn;
+ mesq l("I am not content with our water supply. It gives us common water, but we of the superior race deserve better water.");
+ next;
+ mesn;
+ mesq l("So! Bring me %d %s so I may study its properties and make a purifier or enhancer for our well.", 3, getitemlink(BottleOfDivineWater));
+ setq FrostiaQuest_Rydel, 1;
+ close;
+
+L_Submit_U:
+ mesn;
+ mesq l("Did you got the %d %s I've asked?", 3, getitemlink(BottleOfDivineWater));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (countitem(BottleOfDivineWater) < 3) {
+ mesn;
+ mesq l("You liar, I'll teach you a lesson you won't forget!");
+ mesc l("%s slaps you!", .name$);
+ percentheal -30, 0;
+ close;
+ }
+ delitem BottleOfDivineWater, 3;
+ getexp 24000, 0;
+ setq FrostiaQuest_Rydel, 2;
+ mesn;
+ mesq l("Thanks to you, lowly %s, we will soon have water we deserve!", get_race());
+ }
+ close;
+
+L_Done_U:
+ mesn;
+ mesq l("I won't share our water with you!");
+ next;
+ mesn;
+ mesq l("The name of the wizard of Aethyr is the key to open its gates. I've heard it'll open for a lowly %s as you, as long that you know both. But I don't think anyone here would share that with you!", get_race());
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, LeatherShirt);
+ setunitdata(.@npcId, UDT_HEADTOP, Beard);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 4);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 1);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/024-1/soul-menhir.txt b/npc/024-1/soul-menhir.txt
new file mode 100644
index 0000000..2820399
--- /dev/null
+++ b/npc/024-1/soul-menhir.txt
@@ -0,0 +1,20 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Soul Menhir
+
+024-1,94,41,0 script Soul Menhir#frost NPC_SOUL_SNOW,{
+ @map$ = "024-1";
+ setarray @Xs, 93, 94, 95, 93, 95, 93, 94, 95;
+ setarray @Ys, 40, 40, 40, 41, 41, 42, 42, 42;
+ @x = 0;
+ @y = 0;
+ callfunc "SoulMenhir";
+ @map$ = "";
+ cleararray @Xs[0], 0, getarraysize(@Xs);
+ cleararray @Ys[0], 0, getarraysize(@Ys);
+ @x = 0;
+ @y = 0;
+ close;
+}
diff --git a/npc/024-1/taenya.txt b/npc/024-1/taenya.txt
new file mode 100644
index 0000000..fcf9c23
--- /dev/null
+++ b/npc/024-1/taenya.txt
@@ -0,0 +1,123 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Questmaker Handbook 14.0 (F = Favorable)
+
+024-1,58,28,0 script Taenya NPC_ELF_F,{
+ .@q = getq(FrostiaQuest_Taenya);
+ if (BaseLevel < 52) {
+ mesc l("The elf seems busy. She ignores you.");
+ close;
+ }
+ if (.@q == 0) {
+ if (frally()) goto L_Start_F;
+ else goto L_Start_U;
+ }
+ else if (.@q == 1) {
+ if (frally()) goto L_Submit_F;
+ else goto L_Submit_U;
+ }
+ else if (.@q == 2) {
+ if (frally()) goto L_Done_F;
+ else goto L_Done_U;
+ }
+ Exception("Invalid quest state - "+str(.@q));
+ end;
+
+L_Start_F:
+ mesn;
+ mesq lg("Hey friend, could you do me a little favor?");
+ next;
+ mesn;
+ mesq l("I always wanted to taste a %s! But they don't grow anywhere, and I've heard the only way to obtain one is from %s. Unfortunately, I do not favor violence, so... Could you get one for me?", getitemlink(Manapple), getitemlink(BronzeBossGift));
+ next;
+ mesn;
+ mesq l("Thanks, I owe you one!");
+ setq FrostiaQuest_Taenya, 1;
+ close;
+
+L_Submit_F:
+ mesn;
+ mesq l("Did you got the %d %s I've asked?", 1, getitemlink(Manapple));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (countitem(Manapple) < 1) {
+ mesn;
+ mesq l("You've been spending too much time with humans. You are picking up bad habits from them like lying. Be careful.");
+ close;
+ }
+ inventoryplace EquipmentBlueprintC, 1;
+ delitem Manapple, 1;
+ getitem EquipmentBlueprintC, 1;
+ getexp 12000, 0;
+ setq FrostiaQuest_Taenya, 2;
+ mesn;
+ mesq l("Yay! Many thanks! I'll enjoy it! Here, you can keep this.");
+ }
+ close;
+
+L_Done_F:
+ mesn;
+ mesq l("Hey, the %s you gave me was quite tasty, thanks!", getitemlink(Manapple));
+ next;
+ mesn;
+ mesq l("%s is known as the Wizard of Aethyr. They say the elves which lived in Aethyr have became fairies, but contact has been lost long ago... I've heard it was a very pretty town north of here, though.", b("Tametomo"));
+ close;
+/////////////////////////////////////////////////////////////////////////////////
+L_Start_U:
+ mesn;
+ mesq l("Hey %s, could you do me a little favor?", get_race());
+ next;
+ mesn;
+ mesq l("I always wanted to taste a %s! But they don't grow anywhere, and I've heard the only way to obtain one is from %s. Unfortunately, I do not favor violence, so... Could you get one for me?", getitemlink(Manapple), getitemlink(BronzeBossGift));
+ next;
+ mesn;
+ mesq l("I'll be waiting!");
+ setq FrostiaQuest_Taenya, 1;
+ close;
+
+L_Submit_U:
+ mesn;
+ mesq l("Did you got the %d %s I've asked?", 1, getitemlink(Manapple));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (countitem(Manapple) < 1) {
+ mesn;
+ mesq l("You liar, I'll teach you a lesson you won't forget!");
+ mesc l("%s stabs you with a dagger!", .name$);
+ percentheal -55, 0;
+ close;
+ }
+ inventoryplace EquipmentBlueprintC, 1;
+ delitem Manapple, 1;
+ getitem EquipmentBlueprintC, 1;
+ getexp 12000, 0;
+ setq FrostiaQuest_Taenya, 2;
+ mesn;
+ mesq l("Thanks! I'll enjoy it! Here, you can keep this.");
+ }
+ close;
+
+L_Done_U:
+ mesn;
+ mesq l("Sorry, but I already ate the %s you gave me!", getitemlink(Manapple));
+ next;
+ mesn;
+ mesq l("%s is known as the Wizard of Aethyr. They say the elves which lived in Aethyr have became fairies, but contact has been lost long ago... I've heard it was a very pretty town north of here, though.", b("Tametomo"));
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonSkirt);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, LeatherShirt);
+ setunitdata(.@npcId, UDT_HEADTOP, TrapperHat);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 9);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 18);
+ npcsit;
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/024-1/teleporter.txt b/npc/024-1/teleporter.txt
new file mode 100644
index 0000000..2bed0ae
--- /dev/null
+++ b/npc/024-1/teleporter.txt
@@ -0,0 +1,23 @@
+// TMW2 Script
+// Authors:
+// Jesusalva
+// Description:
+// Link portals to soul menhirs like the teleporters from old
+// The price is temporary. This feature got in because no ship in Nivalis Port
+// PS. Anise => “Aisen†Anagram
+
+
+024-1,155,80,0 script #WarpGateFrost NPC_NO_SPRITE,1,0,{
+ end;
+
+OnTouch:
+ TeleporterGate(TP_FROST);
+ close;
+
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
diff --git a/npc/024-1/town.txt b/npc/024-1/town.txt
new file mode 100644
index 0000000..3e21e4f
--- /dev/null
+++ b/npc/024-1/town.txt
@@ -0,0 +1,12 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Reset LOCATION$ when entering a town
+
+024-1,93,69,0 script #LocFrostia NPC_HIDDEN,2,0,{
+OnTouch:
+ EnterTown("Frostia");
+ end;
+}
+
diff --git a/npc/024-10/_import.txt b/npc/024-10/_import.txt
new file mode 100644
index 0000000..c1656f2
--- /dev/null
+++ b/npc/024-10/_import.txt
@@ -0,0 +1,5 @@
+// Map 024-10: Frostia Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/024-10/_warps.txt",
+"npc/024-10/eldrin.txt",
+"npc/024-10/haircut.txt",
diff --git a/npc/024-10/_warps.txt b/npc/024-10/_warps.txt
new file mode 100644
index 0000000..d94ba38
--- /dev/null
+++ b/npc/024-10/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 024-10: Frostia Indoors warps
+024-10,34,37,0 warp #024-10_34_37 0,0,024-1,83,60
+024-10,24,37,0 warp #024-10_24_37 0,0,024-1,77,60
diff --git a/npc/024-10/eldrin.txt b/npc/024-10/eldrin.txt
new file mode 100644
index 0000000..bce65e0
--- /dev/null
+++ b/npc/024-10/eldrin.txt
@@ -0,0 +1,143 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Questmaker Handbook 14.0 - Frostia's Bounty House
+
+024-10,33,30,0 script Eldrin NPC_ELF,{
+ //.@q = getq(FrostiaQuest_Rydel);
+ if (BaseLevel < 30) {
+ mesc l("The elf seems busy. He ignores you.");
+ close;
+ }
+ .@d=gettimeparam(GETTIME_DAYOFMONTH);
+ mesn l("Eldrin, Taskmaster");
+ mesq l("Hello, and welcome to Frostia bounty hunter guild.");
+ next;
+ mesn l("Eldrin, Taskmaster");
+ mesq l("I have bounties for specific high level monsters as well for extermination. Do note mobs killed in Heroes Hold may not count.");
+ next;
+ mesn l("Eldrin, Taskmaster");
+ mesq l("Be careful that they may be anywhere in the world, and the same rules as Tulimshar Guard House apply! So, are you here to apply or to report back?");
+ mesc l("Protip: All quests expire at 00:00 server time, be sure to finish AND report back before that!");
+ next;
+ // Borrowed from Arkim Code
+ mesc l("Time remaining to report completion: ")+FuzzyTime($@ARKIM_TIMER+86400), 1;
+
+ select
+ l("I want a MODERATE (Lv 50~70) task!"),
+ l("I want a EXPERT (Lv 70~100) task!"),
+ l("I want a MASTER (Lv 100+) task!"),
+ l("I want a BOSS task!"),
+ l("It was nice seeing you.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ .@q1=getq(General_MobHunting5);
+ .@q2=getq2(General_MobHunting5);
+ .@q3=getq3(General_MobHunting5);
+ .@q=General_MobHunting5;
+ .@lv=9;
+ goto L_QuestMaster;
+ case 2:
+ .@q1=getq(General_MobHunting6);
+ .@q2=getq2(General_MobHunting6);
+ .@q3=getq3(General_MobHunting6);
+ .@q=General_MobHunting6;
+ .@lv=15;
+ goto L_QuestMaster;
+ case 3:
+ .@q1=getq(General_MobHunting7);
+ .@q2=getq2(General_MobHunting7);
+ .@q3=getq3(General_MobHunting7);
+ .@q=General_MobHunting7;
+ .@lv=24;
+ goto L_QuestMaster;
+ case 4:
+ .@q1=getq(General_MobHunting8);
+ .@q2=getq2(General_MobHunting8);
+ .@q3=getq3(General_MobHunting8);
+ .@q=General_MobHunting8;
+ .@lv=50;
+ goto L_QuestMaster;
+ }
+ closeclientdialog;
+ goodbye();
+ close;
+
+L_QuestMaster:
+ // It's a new day, so we must generate a new quest!
+ if (.@q1 != .@d) {
+ .@q1=.@d;
+ if (.@lv == 9) {
+ .@q2=any(EarthFairy, FireFairy, WaterFairy, WindFairy, PoisonFairy, BlackScorpion, MountainSnake, ForestMushroom, GoldenScorpion, Yeti, WickedMushroom, Archant, Scar, Crafty);
+ } else if (.@lv == 15) {
+ .@q2=any(Crafty, Forain, GreenDragon, Troll, Moonshroom, Terranite, JackO, BlackMamba, Centaur, GoboBear);
+ } else if (.@lv == 24) {
+ .@q2=any(TerraniteProtector, EliteDuck, Reaper, NightmareDragon, NightmareDragon, PinkieSuseran, PinkieMaximus);
+ } else if (.@lv == 50) {
+ .@q2=any(Tengu, Tipiu, EvilScythe, GiantCaveMaggot, SpiderQueen, TerraniteKing, PinkieEmperor, Yetifly, YetiKing);
+ } else {
+ Exception("Bad setting for GMH.LV: "+.@lv, RB_DEFAULT|RB_SPEECH|RB_ISFATAL);
+ }
+ setq .@q, .@q1, .@q2, 0;
+ }
+
+ // Maybe there is no monster to kill
+ if (!.@q2) {
+ mesn l("Eldrin, Taskmaster");
+ mesq l("You've already completed this quest today. Try again tomorrow.");
+ close;
+ }
+
+ // You only need to slay one boss
+ if (.@q3 && .@lv == 50)
+ .@q3 += 50;
+
+ // Maybe you finished the quest?
+ // Reuses everything from Kreist
+ if (.@q3 >= 50) {
+ mesn l("Eldrin, Taskmaster");
+ mesq l("Good job, you've killed the @@ @@ and reported back in time!", 50, getmonsterlink(.@q2));
+ next;
+ inventoryplace MercBoxA, 1;
+ if (MERCENARY_DAILYQUEST == 100) {
+ inventoryplace BountyHunterHelmet, 1;
+ getitem BountyHunterHelmet, 1;
+ }
+ mesn l("Eldrin, Taskmaster");
+ mesq l("It's not much of a reward, but doesn't it feels great to help others in need?! HAHAHA!");
+ .@overkill=.@q3-50;
+ Zeny+=.@lv*(42+MERCENARY_DAILYQUEST);
+ // Raise LV according to monster level
+ .@lv+=getmonsterinfo(.@q2, MOB_LV)+MERCENARY_DAILYQUEST*11/10;
+ getexp BaseLevel*.@lv, .@lv+.@overkill;
+ setq2 .@q, 0;
+ setq3 .@q, 0;
+ MERCENARY_DAILYQUEST+=1;
+ if (MERCENARY_DAILYQUEST % 5 == 0) {
+ getitem MercBoxA, 1;
+ }
+ close;
+ }
+
+ mesn l("Eldrin, Taskmaster");
+ if (.@lv != 50)
+ mesq l("So, please kill @@/@@ @@ for us and make the world a safer place!", .@q3, 50, getmonsterlink(.@q2));
+ else
+ mesq l("So, please kill a %s for us and make the world a safer place!", getmonsterlink(.@q2));
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, Chainmail);
+ setunitdata(.@npcId, UDT_HEADTOP, VikingHelmet);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 11);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/024-10/haircut.txt b/npc/024-10/haircut.txt
new file mode 100644
index 0000000..a7d9311
--- /dev/null
+++ b/npc/024-10/haircut.txt
@@ -0,0 +1,66 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Haircut.
+
+024-10,27,30,0 script Cato Mil NPC_ELVEN_FEMALE_ARMOR_SHOP,{
+ function setRace {
+ clear;
+ setnpcdialogtitle l("Debug - Modify Race");
+ mes l("Race") + ": " + $@allraces$[Class];
+ next;
+ mes l("Please select the desired race.");
+ select("Human:Ukar:Redy:Elf:Orc:Raijin:Tritan");
+ jobchange max(0, @menu-1);
+ return;
+ }
+
+
+ mesn;
+ mesq l("Hi! Do you want a hair cut?");
+
+ do
+ {
+ select
+ l("What is my current hairstyle and hair color?"),
+ l("I'd like to get a different style."),
+ l("Can you do something with my color?"),
+ rif(is_staff(), l("I am a GM, and I want to change my Race!")),
+ l("I'm fine for now, thank you.");
+
+ switch (@menu)
+ {
+ case 1:
+ BarberSayStyle 3;
+ break;
+ case 2:
+ BarberChangeStyle;
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Enjoy your new style.");
+ l("Anything else?");
+ break;
+ case 3:
+ BarberChangeColor;
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("I hope you like this color.");
+ l("Anything else?");
+ break;
+ case 4:
+ setRace;
+ break;
+ case 5:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Feel free to come visit me another time.");
+
+ goodbye;
+ }
+ } while (1);
+ close;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/024-11/_import.txt b/npc/024-11/_import.txt
new file mode 100644
index 0000000..8a4943b
--- /dev/null
+++ b/npc/024-11/_import.txt
@@ -0,0 +1,4 @@
+// Map 024-11: Frostia Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/024-11/_warps.txt",
+"npc/024-11/politics.txt",
diff --git a/npc/024-11/_warps.txt b/npc/024-11/_warps.txt
new file mode 100644
index 0000000..7a50b04
--- /dev/null
+++ b/npc/024-11/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 024-11: Frostia Indoors warps
+024-11,24,35,0 warp #024-11_24_35 0,0,024-1,105,35
diff --git a/npc/024-11/politics.txt b/npc/024-11/politics.txt
new file mode 100644
index 0000000..efb7fcb
--- /dev/null
+++ b/npc/024-11/politics.txt
@@ -0,0 +1,63 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Town Administrator file, see npc/functions/politics.txt
+// User variables:
+// #POL_APPLYWEEK = Week of last application
+// #POL_VOTEDAY = Day of last vote
+
+024-11,24,30,0 script Frostia Office NPC_POLITICS,{
+do
+{
+ mesc ".:: "+l("Frostia Townhall")+" ::.", 2;
+ mesc l("Current Town Administrator: ")+$FROSTIA_MAYOR$, 3;
+ if (Class != Elven)
+ mesc l("Only elves may run to Town Admin Office in Frostia!"), 1;
+ else
+ mesc l("Hey, you're an elf, cool! But you still cannot run for office here!"), 1;
+ close;
+ POL_TownInfo("FROSTIA");
+ mesc l("Application fee: @@ GP", .applytax);
+ next;
+ select
+ l("Information"),
+ rif(strcharinfo(0) == $FROSTIA_MAYOR$, l("Manage Town")),
+ rif(#POL_APPLYWEEK != gettimeparam(GETTIME_WEEKDAY), l("Apply for the office!")),
+ l("View Candidate List and cast a vote"),
+ l("[Quit]");
+
+ switch (@menu) {
+ case 1:
+ POL_Information();
+ break;
+ case 2:
+ POL_Manage("FROSTIA");
+ break;
+ case 3:
+ // array_push might be too sensible for getd/setd
+ if (Zeny < .applytax)
+ break;
+ Zeny-=.applytax;
+ $FROSTIA_MONEY+=.applytax;
+ #POL_APPLYWEEK=gettimeparam(GETTIME_WEEKDAY);
+ array_push($FROSTIA_CANDIDATE$, strcharinfo(0));
+ array_push($FROSTIA_VOTES, 0);
+ mesc l("Application successful!"), 3;
+ next;
+ break;
+ case 4:
+ POL_Candidate("FROSTIA");
+ break;
+ default:
+ close;
+ }
+} while (true);
+end;
+
+OnInit:
+ .applytax=50;
+ .distance=4;
+ end;
+}
+
diff --git a/npc/024-12/_import.txt b/npc/024-12/_import.txt
new file mode 100644
index 0000000..1715d18
--- /dev/null
+++ b/npc/024-12/_import.txt
@@ -0,0 +1,4 @@
+// Map 024-12: Frostia Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/024-12/_warps.txt",
+"npc/024-12/alicia.txt",
diff --git a/npc/024-12/_warps.txt b/npc/024-12/_warps.txt
new file mode 100644
index 0000000..27cb4f4
--- /dev/null
+++ b/npc/024-12/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 024-12: Frostia Indoors warps
+024-12,31,35,0 warp #024-12_31_35 0,0,024-1,76,46
diff --git a/npc/024-12/alicia.txt b/npc/024-12/alicia.txt
new file mode 100644
index 0000000..05c653c
--- /dev/null
+++ b/npc/024-12/alicia.txt
@@ -0,0 +1,71 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Status Reset. (+ Alchemy Recipe?)
+
+024-12,28,29,0 script Alicia NPC_ELF_F,{
+
+ speech S_LAST_NEXT,
+ l("I am @@, an alchemist specialized in reset potions.", .name$);
+
+L_Menu:
+ .@plush_count = BaseLevel*200-(9*200);
+ // Lv 10: 200 GP
+ // Lv 90: 16.000 GP
+ if (BaseLevel > 10)
+ .@plush_count = .@plush_count/(BaseLevel/10);
+
+ select
+ l("Can you reset my stats please?"),
+ l("Can you teach me some Alchemy Recipe?"),
+ lg("You are weird, I have to go sorry.");
+
+ switch (@menu)
+ {
+ case 1:
+ goto L_ResetStats;
+ case 2:
+ goto L_Recipe;
+ case 3:
+ goto L_Quit;
+ }
+
+L_ResetStats:
+ mesn;
+ mesq l("Status point reset can't be undone. Do you really want this?");
+
+L_ConfirmReset:
+ ConfirmStatusReset();
+ goto L_Quit;
+
+L_Recipe:
+ mes "";
+ mesn;
+ mesq l("Oh my! Did you rent a house or an apartment and now want to brew stuff, like @@ or @@?", getitemlink(PrecisionPotion), getitemlink(StatusResetPotion));
+ next;
+ mesn;
+ mesq l("...That's your problem, not mine. I am an elf if you haven't noticed.");
+ next;
+ goto L_Menu;
+
+L_Quit:
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, Earmuffs);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, TneckSweater);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, BromenalPants);
+ setunitdata(.@npcId, UDT_WEAPON, FurBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 11);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 17);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+
+}
+
diff --git a/npc/024-13/_import.txt b/npc/024-13/_import.txt
new file mode 100644
index 0000000..b264542
--- /dev/null
+++ b/npc/024-13/_import.txt
@@ -0,0 +1,4 @@
+// Map 024-13: Frostia Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/024-13/_warps.txt",
+"npc/024-13/manager.txt",
diff --git a/npc/024-13/_warps.txt b/npc/024-13/_warps.txt
new file mode 100644
index 0000000..522fb3e
--- /dev/null
+++ b/npc/024-13/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 024-13: Frostia Indoors warps
+024-13,30,37,0 warp #024-13_30_37 0,0,024-1,50,55
diff --git a/npc/024-13/manager.txt b/npc/024-13/manager.txt
new file mode 100644
index 0000000..9931f4c
--- /dev/null
+++ b/npc/024-13/manager.txt
@@ -0,0 +1,123 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Real Estate System
+
+// ESTATE_ID → Instance ID of the Estate (required for NPCs, expire)
+// ESTATE_RENTTIME → When the rent will expire
+// ESTATE_MOBILIA_2 → Bitmask of mobilia currently purchased on Monster Collision (6) (Use on walls only)
+// ESTATE_MOBILIA_4 → Bitmask of mobilia currently purchased on Air Collision (2)
+// ESTATE_MOBILIA_8 → Bitmask of mobilia currently purchased on Water Collision (3)
+// ESTATE_MOBILIA_32 → Bitmask of mobilia currently purchased on Yellow Collision (4)
+// ESTATE_MOBILIA_64 → Bitmask of mobilia currently purchased on Normal Collision (1)
+// ESTATE_MOBILIA_128 → Bitmask of mobilia currently purchased on Player Collision (5)
+
+// REAL_ESTATE_CREDITS → Credits equivalent to GP the player have. Will be used first.
+
+// The sign is the main controller
+024-13,31,32,0 script Apartment Manager NPC_ELF,{
+ if (ESTATE_RENTTIME < gettimetick(2))
+ goto L_RentAvailable;
+
+ mesn;
+ mesq l("Your rent is valid for @@.", FuzzyTime(ESTATE_RENTTIME));
+ mesc l("Apartment rents cannot be renewed until they expire. Furniture won't be lost.");
+ close;
+
+L_RentAvailable:
+ do
+ {
+ mesc l("This Real Estate is available for rent for only @@ GP!", format_number(.price));
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+ mesc l("You currently have: @@ GP and mobiliary credits", format_number(.@gp));
+ next;
+ select
+ rif(.@gp > .price, l("Rent it! Make it mine!")),
+ l("Information"),
+ l("Don't rent it");
+
+ // You want to rent
+ if (@menu == 1) {
+ realestate_payment(.price);
+
+ // Payment done, you can now acquire the house for a month
+ ESTATE_RENTTIME=gettimetick(2)+.time;
+
+ mesc l("Rent successful for 30 days!");
+ } else if (@menu == 2) {
+ mesc l("You can rent this house to make it yours.") + " " + l("The rent lasts 30 days.");
+ mesc l("Then you'll be able to buy furniture and utility.");
+ mesc l("This is an apartment. You cannot renew until it expire, and cannot invite guests.");
+ next;
+ mesc l("Both rent and furniture are bought using money, however, there are mobiliary credits.");
+ mesc l("Mobiliary Credits is a special currency which can only be used on real estate.");
+ mesc l("It's obtained with ADMINS or by selling furniture. It is sumed to money and used first.");
+ next;
+ }
+ } while (@menu == 2);
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, BowlerHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, CreasedShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ setunitdata(.@npcId, UDT_WEAPON, LeatherTrousers);
+
+ .price=5000; // Monthly rent price.
+ .time=2592000; // Defaults to 30 days
+ end;
+
+}
+
+// Door entrance
+024-13,29,28,0 script #RES_PPL NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if (ESTATE_RENTTIME < gettimetick(2))
+ goto L_RentAvailable;
+
+ // Warp you to your apartment if exists in memory already.
+ // Build the instance otherwise.
+
+ // Well, "checking if instance exist by mapname" is an illusion.
+ // So we try to build and if we fail, we warp the player to the instance.
+ .@ID=getcharid(0);
+ @MAP_NAME$="ples@"+str(.@ID); // Max 4 chars for map name
+
+ .@INSTID = instance_create("ples@a"+(.@ID), getcharid(3), IOT_CHAR);
+
+ // Instance already exists - .@INSTID returns "-4"
+ if (.@INSTID == -4) {
+ warp @MAP_NAME$, 33, 33;
+ end;
+ }
+
+ // Attach the map
+ .@instanceMapName$ = instance_attachmap("024-14", .@INSTID, 0, @MAP_NAME$);
+
+ // Record important stuff & load furniture
+ ESTATE_ID=.@INSTID;
+ addtimer(20, instance_npcname("Doorbell#RES_PPL", .@INSTID)+"::OnReload");
+ addtimer(70, instance_npcname("NPCs#RES_PPL", .@INSTID)+"::OnReload");
+
+ // It'll be self-destroyed eventually...
+ instance_set_timeout(1000000, 1000000, .@INSTID);
+ instance_init(.@INSTID);
+ warp @MAP_NAME$, 33, 33;
+ end;
+
+L_RentAvailable:
+ dispbottom l("You do not have booked an apartment here.");
+ close;
+
+OnInit:
+ .distance=1;
+ end;
+
+}
+
diff --git a/npc/024-14/_import.txt b/npc/024-14/_import.txt
new file mode 100644
index 0000000..2c45a9c
--- /dev/null
+++ b/npc/024-14/_import.txt
@@ -0,0 +1,5 @@
+// Map 024-14: Real Estate
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/024-14/_warps.txt",
+"npc/024-14/doorbell.txt",
+"npc/024-14/utils.txt",
diff --git a/npc/024-14/_warps.txt b/npc/024-14/_warps.txt
new file mode 100644
index 0000000..de798c0
--- /dev/null
+++ b/npc/024-14/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 024-14: Real Estate warps
+024-14,34,34,0 warp #024-14_34_34 1,0,024-13,29,29
diff --git a/npc/024-14/doorbell.txt b/npc/024-14/doorbell.txt
new file mode 100644
index 0000000..ac6452a
--- /dev/null
+++ b/npc/024-14/doorbell.txt
@@ -0,0 +1,328 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Real Estate System
+// Doorbell allows you to purchase mobilia, besides loading it when server starts
+// Each layer can have 32 different furniture pieces because bitmask limit.
+// This file is custom to every room
+
+// ESTATE_ID → Instance ID of the Estate (required for NPCs, expire)
+// ESTATE_RENTTIME → When the rent will expire
+// ESTATE_MOBILIA_2 → Bitmask of mobilia currently purchased on Monster Collision (6) (Use on walls only)
+// ESTATE_MOBILIA_4 → Bitmask of mobilia currently purchased on Air Collision (2)
+// ESTATE_MOBILIA_8 → Bitmask of mobilia currently purchased on Water Collision (3)
+// ESTATE_MOBILIA_32 → Bitmask of mobilia currently purchased on Yellow Collision (4)
+// ESTATE_MOBILIA_64 → Bitmask of mobilia currently purchased on Normal Collision (1)
+// ESTATE_MOBILIA_128 → Bitmask of mobilia currently purchased on Player Collision (5)
+
+// REAL_ESTATE_CREDITS → Credits equivalent to GP the player have. Will be used first.
+
+// The sign is the main controller
+024-14,32,34,0 script Doorbell#RES_PPL NPC_NO_SPRITE,{
+ // Name, Layer, Price, ID, x1, y1, x2, y2,
+ function create_object {
+ array_push(.nams$, getarg(0));
+ array_push(.layer, getarg(1));
+ array_push(.price, getarg(2));
+ array_push(.objid, getarg(3));
+ array_push(.x1, getarg(4));
+ array_push(.y1, getarg(5));
+ array_push(.x2, getarg(6));
+ array_push(.y2, getarg(7));
+ return;
+ }
+ function re2_sellprice;
+ function re2_togglemobilia;
+ function re2_hasmobilia;
+
+ .id=getcharid(0);
+ goto L_Manage;
+// Managment Menu
+L_Manage:
+ mesc l("@@'s Apartment", strcharinfo(0));
+ mesc ".:: "+ l("Managment Menu") + " ::.";
+
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+ mesc l("Rent time available: @@", FuzzyTime(ESTATE_RENTTIME));
+ mesc l("Total Credits and GP: @@", format_number(.@gp));
+ mes "";
+
+ next;
+ select
+ l("Leave"),
+ l("Manage Furniture"),
+ rif(is_staff(), l("Reload NPC Data"));
+
+ switch (@menu) {
+ case 1:
+ close;
+ break;
+ case 2:
+ goto L_Furniture;
+ break;
+ case 3:
+ addtimer2(150, instance_npcname("NPCs#RES_PPL")+"::OnReload");
+ close;
+ break;
+ }
+ goto L_Manage;
+
+L_Furniture:
+ mesc l("@@'s Estate", strcharinfo(0));
+ mesc ".:: "+ l("Furniture Menu") + " ::.";
+
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+ mesc l("Total Credits and GP: @@", format_number(.@gp));
+
+ next;
+ select
+ l("Finish"),
+ l("Manage Beds"),
+ l("Manage Utilities"),
+ l("Manage Luxury furniture"),
+ l("Manage Decoration"),
+ l("Manage Chairs"),
+ l("Manage Paintings");
+ mes "";
+
+ switch (@menu) {
+ case 1:
+ goto L_Manage;
+ break;
+ case 2:
+ mesc ".:: "+ l("Beds") + " ::.", 3;
+ @re_col=RES_OBJECTS;
+ break;
+ case 3:
+ mesc ".:: "+ l("Utilities") + " ::.", 3;
+ @re_col=RES_UTILITIES;
+ break;
+ case 4:
+ mesc ".:: "+ l("Luxury furniture") + " ::.", 3;
+ @re_col=RES_LUXURY;
+ break;
+ case 5:
+ mesc ".:: "+ l("Decoration") + " ::.", 3;
+ @re_col=RES_DECORATION;
+ break;
+ case 6:
+ mesc ".:: "+ l("Chairs") + " ::.", 3;
+ @re_col=RES_SITTABLE;
+ break;
+ case 7:
+ mesc ".:: "+ l("Paintings") + " ::.", 3;
+ @re_col=RES_WALLDECORATION;
+ break;
+ }
+
+// L_ContinuousLoop
+// Requires the following variables:
+// @re_col
+// Target Collision ID
+L_ContinuousLoop:
+ deletearray @valid_ids;
+
+ // Create a second array (@valid_ids) with the ID of objects within @re_col group
+ for (.@i=0; .@i < getarraysize(.layer); .@i++) {
+ //debugmes "Found object ID %d named %s on layer %s coords (%d,%d) - Looking for layer %d", .@i, .nams$[.@i], .layer[.@i], .x1[.@i], .y1[.@i], @re_col;
+ if (.layer[.@i] == @re_col)
+ array_push(@valid_ids, .@i);
+ }
+ //debugmes "Found %d valid objects", getarraysize(@valid_ids);
+
+ // Create the menu with @valid_ids - Check if you already have the item to decide if you're buying or selling
+ @menuentries$="Finish:";
+ for (.@j=0; .@j < getarraysize(@valid_ids); .@j++) {
+ .@i=@valid_ids[.@j];
+ if (re2_hasmobilia(.id, .layer[.@i], .objid[.@i]))
+ @menuentries$+=l("Sell ")+.nams$[.@i]+l(" for ") + format_number( re2_sellprice(.id,.price[.@i]) ) +":";
+ else
+ @menuentries$+=l("Purchase ")+.nams$[.@i]+(" for ") + format_number( .price[.@i] )+":";
+ }
+ select (@menuentries$);
+ mes "";
+
+ // First option to return to previous menu
+ if (@menu == 1)
+ goto L_Furniture;
+
+ // Otherwise, we know then that (@menu-2) is the ID in @valid_ids
+ // So we save .@id with the correct ID in object arrays.
+ // We also calculate how much aggregated money you have.
+ .@id=@valid_ids[@menu-2];
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+
+ if (re2_hasmobilia(.id, .layer[.@id], .objid[.@id])) {
+ // If you have the mobilia, you're selling it for Mobiliary Credits
+ delcells realestate_cellname(.id, .@id);
+ re2_togglemobilia(.id, .layer[.@id], .objid[.@id]);
+ addtimer2(150, "NPCs#RES_PPL::OnReload");
+ REAL_ESTATE_CREDITS+=re2_sellprice(.id,.price[.@i]);
+ mesc l("Sale successful!");
+ next;
+ } else {
+ // Else, you're buying it, so we must check if you have the moolah first
+ .@price=.price[.@id];
+ if (.@gp > .@price) {
+ realestate_payment(.@price);
+ setcells "ples@"+getcharid(0), .x1[.@id], .y1[.@id], .x2[.@id], .y2[.@id], .layer[.@id], realestate_cellname(.id, .@id);
+ areatimer("ples@"+getcharid(0), .x1[.@id], .y1[.@id], .x2[.@id], .y2[.@id], 10, "::OnSlide");
+ re2_togglemobilia(.id, .layer[.@id], .objid[.@id]);
+ addtimer2(150, "NPCs#RES_PPL::OnReload");
+ mesc l("Purchase successful!");
+ next;
+ } else {
+ mesc l("Not enough funds!");
+ next;
+ }
+ }
+
+ // This loops forever
+ goto L_ContinuousLoop;
+
+
+// When using setcells() a player could get trapped!
+// This label will slide the player back to entrance, which should be a safe spot
+OnSlide:
+ slide 33, 33;
+ end;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+
+ // Arrays
+ // We go element by element on the array building the menu
+ .nams$="";
+ .layer=0;
+ .price=0;
+ .objid=0;
+ .x1=0;
+ .y1=0;
+ .x2=0;
+ .y2=0;
+
+ // Furniture Settings
+ // Name, Collision Layer, Price, ID, x1, y1, x2, y2
+ // For Collision Layer, see constants.conf ("Real Estate Collisions")
+ create_object("Placeholder" ,99,999999,99999, 99, 99, 99, 99);
+
+ create_object("Red Bed" , 5, 5000, 1, 25, 29, 26, 32);
+ create_object("Blue Bed" , 5, 5000, 2, 27, 29, 28, 32);
+
+ create_object("Wardrobe" , 1, 7000, 1, 25, 26, 26, 26);
+ create_object("Cauldron" , 1, 5000, 2, 28, 27, 29, 27);
+ create_object("Empty Shelf" , 1, 2000, 4, 34, 26, 34, 26);
+ create_object("Bookshelf" , 1, 2000, 8, 35, 26, 35, 26);
+ create_object("Bottle Shelf", 1, 2000, 16, 36, 26, 36, 26);
+ create_object("Beer Shelf" , 1, 2000, 32, 37, 26, 37, 26);
+
+ create_object("Piano" , 3, 10000, 1, 31, 26, 33, 26);
+
+ create_object("Right Desk" , 2, 5000, 2, 36, 30, 38, 32);
+
+ create_object("Right Chair" , 4, 2000, 2, 37, 29, 37, 29);
+
+ create_object("Painting 01" , 6, 3000, 1, 27, 23, 27, 23);
+ create_object("Painting 02" , 6, 3000, 2, 29, 24, 29, 24);
+ create_object("Painting 03" , 6, 3000, 4, 32, 23, 32, 23);
+ create_object("Painting 04" , 6, 3000, 8, 35, 23, 35, 23);
+ end;
+
+OnReload:
+ // Load Mobilia already existing
+ debugmes "[REAL ESTATE] Now loading mobilia";
+ for (.@i=0; .@i < getarraysize(.layer); .@i++) {
+ switch (.layer[.@i]) {
+ case 1:
+ if (ESTATE_MOBILIA_64 & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 2:
+ if (ESTATE_MOBILIA_4 & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 3:
+ if (ESTATE_MOBILIA_8 & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 4:
+ if (ESTATE_MOBILIA_32 & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 5:
+ if (ESTATE_MOBILIA_128 & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ case 6:
+ if (ESTATE_MOBILIA_2 & .objid[.@i])
+ array_push(.valid_ids, .@i);
+ break;
+ default:
+ break;
+ }
+ }
+ debugmes "Found %d valid objects", getarraysize(.valid_ids);
+ for (.@j=0; .@j < getarraysize(.valid_ids); .@j++) {
+ .@id=.valid_ids[.@j];
+ setcells "ples@"+getcharid(0), .x1[.@id], .y1[.@id], .x2[.@id], .y2[.@id], .layer[.@id], realestate_cellname(.id, .@id);
+ }
+ deletearray .valid_ids;
+ end;
+
+
+ // Additional crap needed because instance system
+ // Previously declared functions here. Copy paste from functions/, but without $.
+ function re2_sellprice
+ {
+ .@timeleft=ESTATE_RENTTIME-gettimetick(2); // Number of seconds
+ .@daysleft=.@timeleft/86400; // Number of days left of rent
+ .@weeksleft=.@timeleft/604800; // Number of weeks left of rent
+ return (getarg(1)/max(1, 6-.@weeksleft)) - max(0, 45-.@daysleft);
+ }
+ function re2_togglemobilia
+ {
+ switch (getarg(1)) {
+ case 1:
+ ESTATE_MOBILIA_64 = ESTATE_MOBILIA_64 ^ getarg(2); break;
+ case 2:
+ ESTATE_MOBILIA_4 = ESTATE_MOBILIA_4 ^ getarg(2); break;
+ case 3:
+ ESTATE_MOBILIA_8 = ESTATE_MOBILIA_8 ^ getarg(2); break;
+ case 4:
+ ESTATE_MOBILIA_32 = ESTATE_MOBILIA_32 ^ getarg(2); break;
+ case 5:
+ ESTATE_MOBILIA_128 = ESTATE_MOBILIA_128 ^ getarg(2); break;
+ case 6:
+ ESTATE_MOBILIA_2 = ESTATE_MOBILIA_2 ^ getarg(2); break;
+ default:
+ debugmes("[ERROR] [CRITICAL] [REAL ESTATE]: Object %d have Invalid Collision Type: %d (must range 1~6)", getarg(2), getarg(1)); break;
+ }
+ if (getarg(3, "error") != "error") { addtimer2(150, "NPCs#RES_PPL::OnReload"); }
+ return;
+ }
+ function re2_hasmobilia
+ {
+ switch (getarg(1)) {
+ case 1:
+ return ESTATE_MOBILIA_64 & getarg(2);
+ case 2:
+ return ESTATE_MOBILIA_4 & getarg(2);
+ case 3:
+ return ESTATE_MOBILIA_8 & getarg(2);
+ case 4:
+ return ESTATE_MOBILIA_32 & getarg(2);
+ case 5:
+ return ESTATE_MOBILIA_128 & getarg(2);
+ case 6:
+ return ESTATE_MOBILIA_2 & getarg(2);
+ default:
+ debugmes("[ERROR] [CRITICAL] [REAL ESTATE]: Object %d have Invalid Collision Type: %d (must range 1~6)", getarg(2), getarg(1)); return false;
+ }
+ return false;
+ }
+
+}
+
+
diff --git a/npc/024-14/utils.txt b/npc/024-14/utils.txt
new file mode 100644
index 0000000..ad9c511
--- /dev/null
+++ b/npc/024-14/utils.txt
@@ -0,0 +1,80 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Real Estate System
+// Utils take care of NPCs - Their code, and enable/disable using check_cell
+// This file is custom to every room
+
+// ESTATE_ID → Instance ID of the Estate (required for NPCs, expire)
+// ESTATE_RENTTIME → When the rent will expire
+// ESTATE_MOBILIA_2 → Bitmask of mobilia currently purchased on Monster Collision (6) (Use on walls only)
+// ESTATE_MOBILIA_4 → Bitmask of mobilia currently purchased on Air Collision (2)
+// ESTATE_MOBILIA_8 → Bitmask of mobilia currently purchased on Water Collision (3)
+// ESTATE_MOBILIA_32 → Bitmask of mobilia currently purchased on Yellow Collision (4)
+// ESTATE_MOBILIA_64 → Bitmask of mobilia currently purchased on Player Collision (5)
+// ESTATE_MOBILIA_128 → Bitmask of mobilia currently purchased on Normal Collision (1)
+
+// REAL_ESTATE_CREDITS → Credits equivalent to GP the player have. Will be used first.
+
+// The sign is the main controller for rent system
+// Doorbell is the main controller for indoor
+// This is the NPC script controller
+024-14,0,0,0 script NPCs#RES_PPL NPC_HIDDEN,{
+ // load_npc ( name , map, x , y{, cell} )
+ function load_npc {
+ if (checknpccell(getarg(1), getarg(2), getarg(3), getarg(4, cell_chknopass))) {
+ enablenpc instance_npcname(getarg(0), ESTATE_ID);
+ } else {
+ disablenpc instance_npcname(getarg(0), ESTATE_ID);
+ }
+ return;
+ }
+ end;
+
+OnInit:
+ // NPC Settings
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+
+// Load or unload accordingly
+OnReload:
+ //debugmes "[REAL ESTATE] NPC ONRELOAD";
+ // load_npc ( name , map, x , y{, cell} )
+ load_npc("Wardrobe#RES_PPL", "ples@"+getcharid(0), 25, 26);
+ load_npc("Cauldron#RES_PPL", "ples@"+getcharid(0), 28, 27);
+ load_npc("Piano#RES_PPL" , "ples@"+getcharid(0), 32, 26);
+ end;
+
+}
+
+024-14,25,26,0 script Wardrobe#RES_PPL NPC_NO_SPRITE,{
+ openstorage;
+ end;
+
+OnInit:
+ .distance=3;
+ end;
+}
+
+
+024-14,28,27,0 script Cauldron#RES_PPL NPC_NO_SPRITE,{
+ realestate_cauldron();
+ close;
+
+OnInit:
+ .distance=3;
+ end;
+}
+
+
+024-14,32,26,0 script Piano#RES_PPL NPC_NO_SPRITE,{
+ realestate_piano();
+ close;
+
+OnInit:
+ .distance=3;
+ end;
+}
+
diff --git a/npc/024-15/_import.txt b/npc/024-15/_import.txt
new file mode 100644
index 0000000..f150fe2
--- /dev/null
+++ b/npc/024-15/_import.txt
@@ -0,0 +1,4 @@
+// Map 024-15: Frostia Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/024-15/_warps.txt",
+"npc/024-15/lilanna.txt",
diff --git a/npc/024-15/_warps.txt b/npc/024-15/_warps.txt
new file mode 100644
index 0000000..800c601
--- /dev/null
+++ b/npc/024-15/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 024-15: Frostia Indoors warps
+024-15,25,39,0 warp #024-15_25_39 0,0,024-1,64,31
diff --git a/npc/024-15/lilanna.txt b/npc/024-15/lilanna.txt
new file mode 100644
index 0000000..bfedb40
--- /dev/null
+++ b/npc/024-15/lilanna.txt
@@ -0,0 +1,198 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Anise INC. Representative
+
+024-15,23,24,0 script Lilanna NPC_ELF_F,{
+ function FixCrystal;
+ function FixSelect;
+ mesn;
+ mesq l("Hello there, I am Lilanna and you are in ANISE INC. headquarters.");
+ next;
+ goto L_Loop;
+
+L_Loop:
+ mesn;
+ mesq l("How may I help you?");
+ select
+ l("Thanks."),
+ l("What ANISE INC. Does?"),
+ l("How to use best Warp Technology?"),
+ l("I would like to buy a Warp Crystal."),
+ rif(countitem(BrokenWarpCrystal), l("My warp crystal broke!"));
+ mes "";
+ switch (@menu) {
+ case 1:
+ close;
+ case 2:
+ mesn;
+ mesq l("ANISE Incorporated is the biggest company in warp technology!");
+ next;
+ mesn;
+ mesq l("From magical gates to ancient time-space technology - we know it all!");
+ next;
+ mesn;
+ mesq l("Do you know the warp crystals? We did them. Did you saw the great warp gate at the town entrance? It was us!");
+ next;
+ mesn;
+ mesq l("If you ever need to get quickly from one place to the other, count on us!");
+ next;
+ break;
+ case 3:
+ mesn;
+ mesq l("All warp technology, be it crystal-based, potion-based, or mechanic-based, relies on timespace distortions.");
+ next;
+ mesn;
+ mesq l("If you distort time-space too much, you might end up outside of it, meeting a quick, permanent, and unrecoverable death.");
+ next;
+ mesn;
+ mesq l("Different warp systems overlaps each other, so the cooldown is carried over regardless of the technology you use.");
+ mesc l("Potentially more destructive warp systems will have much longer cooldowns because they cause bigger holes in timespace.");
+ next;
+ mesn;
+ mes l("How to better preserve your dispostives:");
+ mes l("Mechanically based technology (eg. the Gates or Time Flasks) will never suffer damage from operation but are more costly.");
+ mes l("Crystal based technology can break if used too often. Try taking longer between each warp to raise their lifetime.");
+ mes l("Potion based technology will vanish upon use and usually don't interfer with other technologies. Usually.");
+ next;
+ mesn;
+ mesq l("Knowing when to warp is the secret to success!");
+ next;
+ break;
+ case 4:
+ npcshopattach(.name$);
+ openshop();
+ closeclientdialog;
+ end;
+ break;
+ case 5:
+ FixSelect();
+ break;
+ }
+ goto L_Loop;
+
+// FixCrystal ( Crystal ID, GP Tax )
+function FixCrystal {
+ .@cy=getarg(0);
+ .@gp=getarg(1);
+ if (Zeny < .@gp) {
+ mesc l("NOT ENOUGH MONEY"), 1;
+ mesc l("@@/@@ GP", fnum(Zeny), fnum(.@gp));
+ next;
+ return;
+ }
+ inventoryplace .@cy, 1;
+ delitem BrokenWarpCrystal, 1;
+ Zeny-=.@gp;
+ getitem .@cy, 1;
+ mesc l("Operation successful."), 3;
+ next;
+ mesn;
+ mesq l("Here you go, a brand new crystal. I'll fix the old one on the meanwhile. Take care of it.");
+ next;
+ return;
+}
+
+// A menu for fixing crystals
+function FixSelect {
+ do
+ {
+ mesc l("Fixing Crystals have a price. You can only charge crystals to places you've already been.");
+ mesc l("These are saved by walking in warp portals or touching Soul Menhirs.");
+ mes l("You have: @@ Broken crystals", countitem(BrokenWarpCrystal));
+ .@cbase=750; // Candor Base
+ .@nbase=1250; // Normal Base
+ .@lbase=2500; // LoF Base
+ .@fbase=5000; // Faraway Base
+ .@kbase=10000; // King Base (incl. Fortress Is.)
+ select
+ l("Don't fix."),
+ rif(true, l("Candor - @@ GP", fnum(.@cbase))),
+ rif(TELEPORTERS & TP_TULIM, l("Tulimshar - @@ GP", fnum(.@nbase))),
+ rif(TELEPORTERS & TP_HURNS, l("Hurnscald - @@ GP", fnum(.@nbase))),
+ rif(TELEPORTERS & TP_NIVAL, l("Nivalis - @@ GP", fnum(.@nbase))),
+ rif(TELEPORTERS & TP_FROST|TP_HALIN, l("Land Of Fire - @@ GP", fnum(.@lbase))),
+ rif(TELEPORTERS & TP_HALIN, l("Halinarzo - @@ GP", fnum(.@fbase))),
+ rif(TELEPORTERS & TP_FROST, l("Frostia - @@ GP", fnum(.@fbase))),
+ rif(TELEPORTERS & TP_LILIT, l("Lilit - @@ GP (not exchangeable)", fnum(.@kbase))),
+ rif(TELEPORTERS & TP_ARTIS, l("Artis - @@ GP (not exchangeable)", fnum(.@kbase)));
+ mes "";
+ switch (@menu) {
+ case 1: return;
+ case 2: FixCrystal(CandorWarpCrystal, .@cbase); break;
+ case 3: FixCrystal(TulimWarpCrystal, .@nbase); break;
+ case 4: FixCrystal(HurnsWarpCrystal, .@nbase); break;
+ case 5: FixCrystal(NivalWarpCrystal, .@nbase); break;
+ case 6: FixCrystal(LoFWarpCrystal, .@lbase); break;
+ case 7: FixCrystal(HalinWarpCrystal, .@fbase); break;
+ case 8: FixCrystal(FrostiaWarpCrystal, .@fbase); break;
+ case 9: FixCrystal(LilitWarpCrystal, .@kbase); break;
+ case 10: FixCrystal(ArtisWarpCrystal, .@kbase); break;
+ }
+ } while (countitem(BrokenWarpCrystal));
+ return;
+}
+
+OnTimer1000:
+ domovestep;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, Monocle);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, AlchemistArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonSkirt);
+ setunitdata(.@npcId, UDT_WEAPON, FurBoots); // She could use gloves, no
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 19);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 16);
+
+ initpath "move", 23, 24,
+ "dir", DOWN, 0,
+ "wait", 15, 0,
+ "dir", RIGHT, 0,
+ "move", 27, 24,
+ "wait", 3, 0,
+ "dir", DOWN, 0,
+ "wait", 15, 0,
+ "move", 24, 32,
+ "wait", 3, 0,
+ "dir", RIGHT, 0,
+ "wait", 10, 0,
+ "dir", LEFT, 0,
+ "wait", 10, 0,
+ "dir", UP, 0,
+ "wait", 3, 0,
+ "move", 27, 34,
+ "dir", UP, 0,
+ "wait", 3, 0,
+ "dir", LEFT, 0,
+ "wait", 3, 0,
+ "move", 23, 24,
+ "wait", 3, 0,
+ "dir", DOWN, 0,
+ "wait", 10, 0;
+ initialmove;
+ initnpctimer;
+ tradertype(NST_MARKET);
+ sellitem BrokenWarpCrystal, 50000, 1;
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+
+OnClock2358:
+ restoreshopitem BrokenWarpCrystal, 50000, 1;
+ end;
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+}
+
diff --git a/npc/024-16/_import.txt b/npc/024-16/_import.txt
new file mode 100644
index 0000000..402dc74
--- /dev/null
+++ b/npc/024-16/_import.txt
@@ -0,0 +1,7 @@
+// Map 024-16: Frostia's Throne Room
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/024-16/_warps.txt",
+"npc/024-16/craftsman.txt",
+"npc/024-16/generals.txt",
+"npc/024-16/guards.txt",
+"npc/024-16/king.txt",
diff --git a/npc/024-16/_warps.txt b/npc/024-16/_warps.txt
new file mode 100644
index 0000000..5ead61b
--- /dev/null
+++ b/npc/024-16/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 024-16: Frostia's Throne Room warps
+024-16,30,54,0 warp #024-16_30_54 2,0,024-1,98,22
diff --git a/npc/024-16/craftsman.txt b/npc/024-16/craftsman.txt
new file mode 100644
index 0000000..961161e
--- /dev/null
+++ b/npc/024-16/craftsman.txt
@@ -0,0 +1,177 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Craftmaster, teaches player TMW2_CRAFT
+
+024-16,27,42,0 script Dwarf Craftsmaster NPC_DWARF_CRAFTMASTER,{
+ function calcRequisites;
+ function calcPrices;
+ function calcUpgrade;
+ .@q=getq(General_Narrator);
+ if (.@q < 13) {
+ hello;
+ end;
+ }
+ mesn;
+ mesq lg("Look what we have here, it is a girl!", "Look what we have here, it is a boy!");
+ next;
+ mesn;
+ mesq l("I'm Thurgar the mighty craftsman. I can make anything reality! But I only work to the king!");
+ next;
+ mesn;
+ mesq l("...Unless, of course, if you're interested in learning this art. You'll not regret it, I assure you.");
+ next;
+ // Main Loop
+ .@score=CRAFTING_SCORE_COMPLETE/40;
+ mesc l("Crafting Skill Level: @@", getskilllv(TMW2_CRAFT));
+ msObjective(.@score >= calcRequisites(),
+ l("Completed Crafts: @@/@@", .@score, calcRequisites()) );
+ msObjective(Zeny >= calcPrices(),
+ l("Money: @@ GP", format_number(Zeny)) );
+ // Script end
+ if (getskilllv(TMW2_CRAFT) > 6)
+ close;
+ mes "";
+ select
+ rif(!.@score, l("How can I complete a craft?")),
+ rif(.@score >= calcRequisites(), l("Learn crafting for @@ GP", format_number(calcPrices())) ),
+ rif(.@score, l("How can I complete a craft?")),
+ l("Nothing for now, thanks.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ case 3:
+ mesn;
+ mesq l("Well, first of, you'll need an @@ and an Equipment Recipe.", getitemlink(RecipeBook));
+ next;
+ if (!countitem(RecipeBook) && !countitem(JesusalvaGrimorium)) {
+ mesn;
+ mesq l("If you don't have the recipe book, you'll need to find one... Maybe someone in a household you've already helped is willing to give you one.");
+ next;
+ }
+ mesn;
+ mesq l("Anyway, once you have the recipe book and learned a recipe, you can craft items in forges. I think you can buy it in your apartment.");
+ next;
+ mesn;
+ mesq l("That will help you to make your very first first craft! Remember to use @@ to change which bonuses can be applied to your craft items.", b("@ucp"));
+ next;
+ mesn;
+ mesq l("I think someone on Tulimshar is capable to teach you these bonuses. Eh, I don't know. Haven't been there for a while.");
+ break;
+ case 2:
+ if (calcUpgrade()) {
+ mesn;
+ mesq l("There you go. Craft hard, mwhahahahaha!");
+ } else {
+ mesn;
+ mesq l("You don't have met all requisites, like money and successful crafts, or you already reached the maximum level for this skill.");
+ }
+ break;
+ }
+ close;
+
+// Calc successful crafts required to learn crafting
+// Returns amount of crafts needed
+function calcRequisites {
+ switch (getskilllv(TMW2_CRAFT)) {
+ case 0:
+ return 0;
+ case 1:
+ return 3;
+ case 2:
+ return 7;
+ case 3:
+ return 12;
+ case 4:
+ return 18;
+ case 5:
+ return 32;
+ case 6:
+ return 64;
+ }
+ return -1;
+}
+
+// Calc how much GP the skill will cost you
+// Returns amount of GP
+function calcPrices {
+ switch (getskilllv(TMW2_CRAFT)) {
+ case 0:
+ return 1000;
+ case 1:
+ return 5000;
+ case 2:
+ return 9000;
+ case 3:
+ return 15000;
+ case 4:
+ return 27000;
+ case 5:
+ return 36000;
+ case 6:
+ return 50000;
+ }
+ return false;
+}
+
+// calcUpgrade() returns true if skill
+// can be leveled up. And levels it up.
+function calcUpgrade {
+ .@gp=calcPrices();
+ .@cf=calcRequisites();
+ if (Zeny < .@gp)
+ return false;
+ if (CRAFTING_SCORE_COMPLETE / 40 < .@cf)
+ return false;
+ if (.@cf < 0 || .@gp < 0)
+ return false;
+
+ // You may get a free blueprint
+ switch (getskilllv(TMW2_CRAFT)) {
+ case 0:
+ inventoryplace EquipmentBlueprintA, 1;
+ getitem EquipmentBlueprintA, 1;
+
+ // We should aid you getting basic skills - for free!
+ if (!CRAFTSYS[CRGROUP_BASE])
+ CRAFTSYS[CRGROUP_BASE]+=1;
+ if (!CRAFTSYS_CURRENT)
+ CRAFTSYS_CURRENT=CRAFTSYS_CURRENT|CRGROUP_BASE;
+
+ break;
+ case 1:
+ inventoryplace EquipmentBlueprintB, 1;
+ getitem EquipmentBlueprintB, 1;
+ break;
+ case 2:
+ inventoryplace EquipmentBlueprintC, 1;
+ getitem EquipmentBlueprintC, 1;
+ break;
+ case 3:
+ inventoryplace EquipmentBlueprintD, 1;
+ getitem EquipmentBlueprintD, 1;
+ break;
+ case 4:
+ inventoryplace EquipmentBlueprintE, 1;
+ getitem EquipmentBlueprintE, 1;
+ break;
+ case 5:
+ inventoryplace AncientBlueprint, 1;
+ getitem AncientBlueprint, 1;
+ break;
+ default:
+ getexp 1700, 200;
+ break;
+ }
+
+ Zeny-=.@gp;
+ skill TMW2_CRAFT, getskilllv(TMW2_CRAFT)+1, 0;
+ return true;
+}
+
+OnInit:
+ .distance=5;
+ end;
+}
+
diff --git a/npc/024-16/generals.txt b/npc/024-16/generals.txt
new file mode 100644
index 0000000..6f420f5
--- /dev/null
+++ b/npc/024-16/generals.txt
@@ -0,0 +1,142 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Generals
+
+// FrostiaTaskMaster(lvl)
+function script FrostiaTaskMaster {
+ .@q=General_MobHunting4;
+ .@q1=getq(General_MobHunting4);
+ .@q2=getq2(General_MobHunting4);
+ .@q3=getq3(General_MobHunting4);
+ .@d=gettimeparam(GETTIME_DAYOFMONTH);
+ .@lv=getarg(0, 1);
+ // It's a new day, so we must generate a new quest!
+ if (.@q1 != .@d) {
+ .@q1=.@d;
+ .@q2=any(Moggun, IcedFluffy, Fluffy, Pollet, BlueSlime, WhiteSlime, SantaSlime, AzulSlime, RudolphSlime); // WaterFairy
+ setq .@q, .@q1, .@q2, 0;
+ }
+
+ // Maybe there is no monster to kill
+ if (!.@q2) {
+ mesn;
+ mesq l("You've already completed this quest today. Try again tomorrow.");
+ return true;
+ }
+
+ // Maybe you finished the quest?
+ if (.@q3 >= 50) {
+ mesn;
+ mesq l("Good job, you've killed the @@ @@ and reported back in time!", 50, getmonsterlink(.@q2));
+ next;
+ mesn;
+ mesq l("It's not much of a reward, but doesn't it feels great to help others in need?! HAHAHA!");
+ Zeny+=.@lv*8;
+ // Raise LV according to monster level
+ .@lv+=strmobinfo(3, .@q2);
+ getexp BaseLevel*.@lv, .@lv;
+ setq2 .@q, 0;
+ setq3 .@q, 0;
+ return false;
+ }
+
+ mesn;
+ mesq l("Please kill @@/@@ @@ for us and make the world a safer place!", .@q3, 50, getmonsterlink(.@q2));
+ return false;
+}
+
+// FrostiaGeneralQuest( Skillname )
+function script FrostiaGeneralQuest {
+ .@at$=getarg(0);
+ mesn;
+ mesq l("Hey. You there. Time to do @@ and show what you're made of.", .@at$);
+ next;
+ mesn;
+ mesq l("If you conclude the training, you'll be suitable for the difficult mission our King have to you.");
+ next;
+ mesc b(l(".:: Main Quest 6-2 ::.")), 3;
+ msObjective(BaseLevel >= 52, l("* @@/@@ Base Level", BaseLevel, 52));
+ msObjective(JobLevel >= 24, l("* @@/@@ Job Level", JobLevel, 24));
+ //msObjective(JobLevel >= 24, l("* Win an Arena Match"));
+ next;
+ if (BaseLevel >= 52 && JobLevel >= 24) {
+ mesn;
+ mesq l("Congrats, you did it.");
+ next;
+ mesn;
+ mesq l("So, if you hired a Mercenary to protect your back... Would you prefer it to attack from rearguard, or charge against certain death, buying you time?");
+ next;
+ select
+ l("I honestely wouldn't hire a Mercenary."),
+ l("Running is for noobs, we should hold our ground!"),
+ l("I can protect myself, so it should attack from afar.");
+ mes "";
+ // Decide which mercenary you'll get
+ if (@menu == 2)
+ .@card=MercCard_Saulc;
+ else if (@menu == 3)
+ .@card=MercCard_Arthur;
+ else
+ .@card=any(MercCard_Saulc, MercCard_Arthur);
+
+ inventoryplace ElixirOfLife, 1, .@card, 1, Grenade, 3;
+ mesn;
+ mesq l("Take this @@. It might save your life on the secret mission you're about to be assigned to.", getitemlink(.@card));
+ next;
+ mesn;
+ mesq l("I'll also provide you a few @@s and an Elixir. Use them wisely.", getitemlink(Grenade));
+ next;
+ mesn;
+ mesq l("Now go talk to the King.");
+ setq General_Narrator, 15;
+ getitem Grenade, 3;
+ getitem .@card, 1;
+ getitem ElixirOfLife, 1;
+ getexp 0, 400; // Get 10% JEXP. Reference: 3988~5564
+ close;
+ }
+ mesn;
+ mesq l("Now, a simple @@ quest to make you stronger...", .@at$);
+ next;
+ if (FrostiaTaskMaster(20)) {
+ next;
+ mesn;
+ mesq l("Or maybe... You want to try again right now? I'll do whatever needed to level you up to less-noobish levels.");
+ next;
+ if (askyesno() == ASK_YES) {
+ setq General_MobHunting4, 0, 0, 0;
+ FrostiaTaskMaster(20);
+ }
+ }
+ close;
+}
+
+//////////////////////////////////////////////////////////////////////
+024-16,29,21,0 script Wizard General NPC_BLUESABER,{
+ .@q=getq(General_Narrator);
+ if (.@q == 14)
+ FrostiaGeneralQuest("Magic");
+ else
+ FrostiaTaskMaster(20);
+ close;
+
+OnInit:
+ .distance=5;
+ end;
+}
+
+024-16,31,21,0 script Warrior General NPC_REDSABER,{
+ .@q=getq(General_Narrator);
+ if (.@q == 14)
+ FrostiaGeneralQuest("Fight");
+ else
+ FrostiaTaskMaster(20);
+ close;
+
+OnInit:
+ .distance=5;
+ end;
+}
+
diff --git a/npc/024-16/guards.txt b/npc/024-16/guards.txt
new file mode 100644
index 0000000..80405dd
--- /dev/null
+++ b/npc/024-16/guards.txt
@@ -0,0 +1,30 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Frostia King Guards
+
+024-16,33,42,0 script Royal Guard#02416A NPC_BRGUARD_SPEAR,{
+ legiontalk;
+ end;
+
+OnInit:
+ .distance=5;
+ end;
+}
+
+024-16,25,33,0 duplicate(Royal Guard#02416A) Royal Guard#02416B NPC_BRGUARD_SWORD
+024-16,35,33,0 duplicate(Royal Guard#02416A) Royal Guard#02416C NPC_BRGUARD_BOW
+
+
+// Before King Gelid give you his OK, you cannot leave throne room
+024-16,30,53,0 script #FrostiaKingAudience NPC_HIDDEN,1,0,{
+end;
+OnTouch:
+ if (getq(General_Narrator) <= 12) {
+ slide 30, 52;
+ dispbottom l("Ops, I should not leave this room without talking to the king first.");
+ }
+ end;
+}
+
diff --git a/npc/024-16/king.txt b/npc/024-16/king.txt
new file mode 100644
index 0000000..676e61f
--- /dev/null
+++ b/npc/024-16/king.txt
@@ -0,0 +1,249 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Ruler of Frostia (maybe we should instance this map so the king can walk)
+
+024-16,30,23,0 script King Gelid NPC_ELF,{
+ .@q=getq(General_Narrator);
+ if (.@q < 12) {
+ nude();
+ atcommand("#dropall "+strcharinfo(0)); // Evil
+ Exception("FATAL ERROR, PLAYER "+strcharinfo(0)+" NOT ALLOWED TO BE WITHIN FROSTIA'S CASTLE - REASON: SAULC IS A NOOB");
+ slide 30, 52;
+ end;
+ }
+ if (.@q >= 17)
+ goto L_Complete;
+ if (.@q == 16)
+ goto L_Report;
+ if (.@q == 15)
+ goto L_Campaign;
+ if (.@q >= 13)
+ goto L_MainQuest;
+
+ mesn l("King Gelid Frozenheart");
+ mesq l("Hello.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("Yes. Frostia is a city-estate, and is ruled by me, King Gelid Frozenheart II.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("Is this letter yours? Very well, let me read.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("Hm hm. This sounds pretty concerning. Aiming at Sages is also a smart move, as they compose the Alliance Council.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("As about if I have any idea why they said they were from here? ...Actually, I do.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("That aside, I see you've helped Hurnscald Mayor, Nivalis Mayor, Halinarzo Librarian and even the Alliance Representative in Tulimshar!");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq lg("I'm quite interested in you, mah' girl!", "I'm quite interested in you, mah' boy!");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("So, only citzens, elves and dwarves are normally welcome here and I'm NOT going to make you an exception.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("In the ")+b(l("southwest part of the town"))+l(" is the Inn, and you can rent an apartment there for 30 days.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("If you rent an apartment, you'll become a \"citzen\" and be allowed here. Besides, you can buy stuff in your apartment to, for example, craft stuff.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("Did I said the best craftsman and craftswoman in the world are here? @@, the legendary bow, was proudly crafted by the first king of Frostia!", getitemlink(Tyranny));
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("He is not alive anymore, so only a single bow of those exist in the whole world... That is why we call it a ")+b(l("legendary weapon"));
+ next;
+ // Finish the quest
+ setq General_Narrator, 13;
+ REAL_ESTATE_CREDITS+=5000;
+
+L_MainQuest:
+ mesn l("King Gelid Frozenheart");
+ mesq l("Anyway, I'll give you @@ Real Estate Credits in advance. Go book yourself a room in the Inn. And then come back to me so we may discuss details.", 5000);
+ next;
+
+ mesc b(l(".:: Main Quest 6-1 ::.")), 3;
+ msObjective(BaseLevel >= 40, l("* @@/@@ Base Level", BaseLevel, 40));
+ msObjective(true, l("* Deliver Nikolai's Letter to Frostia Mayor"));
+ msObjective(ESTATE_RENTTIME >= gettimetick(2), l("* Rent a room in Frostia's Inn"));
+ if (ESTATE_RENTTIME >= gettimetick(2))
+ goto L_Continue;
+ close;
+
+L_Continue:
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("Great, I see you've already made yourself comfortable!");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("Do not hesit to purchase furniture. The furniture belongs to the house, so if you lose the house, you'll lose it, too. But apartments are never rent to someone else!");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("Bah, sorry my manners! I love to chat! Anyway, talk to any General of mine, just behind me. See if they need help.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("There's somewhere I want you to go, but you're not strong enough yet, so be patient and help them first.");
+ if (getq(General_Narrator) == 13) {
+ setq General_Narrator, 14, 0;
+ getexp 0, 40;
+ }
+ close;
+
+L_Campaign:
+ .@q=getq(FrostiaQuest_Homunculus);
+ // We probably should apply you a penalty should you flee... no?
+ setq3 FrostiaQuest_Homunculus, 0;
+
+ // Long intro until you defeat the Yeti.
+ if (!.@q) {
+ mesn l("King Gelid Frozenheart");
+ mesq l("Listen. North of here, is the ruins of an old village. Said village is cursed, and nobody here wants to go there.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("But if you're looking to go to the World Edge, the place where THE WORLD WILL DIE, I guess you are immune to rumors.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("I would bring @@, just in case. Anyway, the place where you're going to is the village where @@ was born.", getitemlink(Coffee), b(l("the Monster King")));
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("I've sent a scout ahead of you, and he reported traps in the caves you'll be needing to use to get there.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("As you can guess, said village was abandoned. However, people are claiming to have seen people walking there, like shadows or zombies.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("As a King, I cannot simply ignore it. Of course, I really doubt it is zombies, but nobody wants to go. That's why I'm resorting to an adventurer like you.");
+ next;
+ }
+ // This is a do{} loop
+ do {
+ mesn l("King Gelid Frozenheart");
+ mesq l("So, will you go?");
+ mesc l("WARNING: Difficult quest, bringing plenty of healing items strongly advised!"), 1;
+ select
+ l("Not right now."),
+ l("Why not Andrei Sakar?"),
+ l("What will be my reward?"),
+ l("Yes, I'll go.");
+ mes "";
+
+ switch (@menu) {
+ case 1:
+ close;
+ case 2:
+ mesn l("King Gelid Frozenheart");
+ if ($FIRESOFSTEAM < 10)
+ mesq l("I tried. He asked for too much money.");
+ else
+ mesq l("Where have you been, pal? He perished.");
+ next;
+ break;
+ case 3:
+ mesn l("King Gelid Frozenheart");
+ mesq l("Whatever you find there is yours to keep.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("I'll also try to bring you to the world's edge, as you've asked.");
+ next;
+ break;
+ case 4:
+ cwarp "023-3", 63, 219; break;
+ }
+ } while (true);
+ end; // fallback
+
+L_Report:
+ mesn strcharinfo(0);
+ mesc l("You report to the King about everything you've found and learned there.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("What?! This changes the whole history. Not only that, but this is a serious issue!");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("I thought I was going to send you in a nest of Yetis, but instead, I've sent you straight to the birthplace of Bandits and Assassins.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("Blue Sage will want to know this, I'll write him a letter.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("Now, listen to me. I know I promised to bring you to the World's Edge.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("Truth is - I cannot do that. Obviously. But I know who can.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("Do you know Land Of Fire Village? It is west of Hurnscald and is a major town.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("It only loses to Tulimshar, as far as political and economical importance goes.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("Go to the townhall there and show the mayor this other letter.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("They will try to prove your worth before, though. So be ready.");
+ next;
+ mesn l("King Gelid Frozenheart");
+ mesq l("Good luck on your journey!");
+ // Ref. level 52/24 (almost 100% of exp table)
+ getexp 142750, 3950;
+ getvaultexp(10);
+ setq General_Narrator, 17, 0, 0;
+ close;
+
+L_Complete:
+ mesn l("King Gelid Frozenheart");
+ mesq l("Welcome back. Please enjoy your stay here.");
+ next;
+ select
+ l("Could I go back to that cave? It's a good farm spot."),
+ rif($TYRAN_HOLDER$ == "", l("What do you know about the Tyranny Bow?")),
+ l("Thanks, my liege.");
+ mes "";
+ if (@menu == 1)
+ cwarp "023-3", 63, 219;
+ if (@menu == 2) {
+ mesn l("King Gelid Frozenheart");
+ mesq l("It is one of the five legendary weapons. Legend says it was hidden in a tree on Aethyr, and will be given to the one who proves to be an excelent archer.");
+ next;
+ if ($GAME_STORYLINE < 4) {
+ mesn l("King Gelid Frozenheart");
+ mesq l("But this is not a time of need, so it is unlikely to appear even if all other conditions were to be met.");
+ close;
+ }
+ mesn l("King Gelid Frozenheart");
+ mesq l("If it was easy, someone would already have claimed it, so good luck if you plan in obtaining it.");
+ }
+ close;
+
+OnInit:
+ /*
+ <sprite>equipment/legs/assassinpants-male.xml</sprite>
+ <sprite>equipment/feet/boots-male.xml</sprite>
+ <sprite>equipment/hands/armbands-male.xml</sprite>
+ <sprite>hairstyles/hairstyle15.xml|#585858,A4A4A4,C0C0C0,ffffff</sprite>
+ <sprite>equipment/head/crown.xml</sprite>
+ <sprite>equipment/weapons/knife.xml</sprite>
+ <sprite>equipment/chest/warlordplate-male.xml</sprite>
+ <!--sprite>equipment/charm/manta-imperial-male.xml</sprite-->
+ <sound event="hit">weapons/piouslayer/hit1.ogg</sound>
+ */
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, ImperialCrown);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, WarlordPlate);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, AssassinPants);
+ setunitdata(.@npcId, UDT_WEAPON, FurBoots); // Boots
+ // TODO: Armbands, imperial robe, etc.
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 15);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 8);
+
+ .distance=4;
+ npcsit;
+ end;
+}
+
diff --git a/npc/024-2/_import.txt b/npc/024-2/_import.txt
new file mode 100644
index 0000000..2ca764d
--- /dev/null
+++ b/npc/024-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 024-2: Frostia Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/024-2/_warps.txt",
+"npc/024-2/gaelira.txt",
diff --git a/npc/024-2/_warps.txt b/npc/024-2/_warps.txt
new file mode 100644
index 0000000..9e28c4d
--- /dev/null
+++ b/npc/024-2/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 024-2: Frostia Indoors warps
+024-2,41,30,0 warp #024-2_41_30 0,0,024-1,32,55
diff --git a/npc/024-2/gaelira.txt b/npc/024-2/gaelira.txt
new file mode 100644
index 0000000..d8398d4
--- /dev/null
+++ b/npc/024-2/gaelira.txt
@@ -0,0 +1,131 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Questmaker Handbook 14.0 (F = Favorable)
+
+024-2,41,22,0 script Gaelira NPC_ELF_F,{
+ .@q = getq(FrostiaQuest_Gaelira);
+ if (BaseLevel < 52) {
+ mesc l("The elf seems busy. She ignores you.");
+ close;
+ }
+ if (.@q == 0) {
+ if (frally()) goto L_Start_F;
+ else goto L_Start_U;
+ }
+ else if (.@q == 1) {
+ if (frally()) goto L_Submit_F;
+ else goto L_Submit_U;
+ }
+ else if (.@q == 2) {
+ if (frally()) goto L_Done_F;
+ else goto L_Done_U;
+ }
+ Exception("Invalid quest state - "+str(.@q));
+ end;
+
+L_Start_F:
+ mesn;
+ mesq lg("Hey friend, could you do me a little favor?");
+ next;
+ mesn;
+ mesq l("You see, I love %s! So shiny, so bright... They are my favorite!", getitemlink(Pearl));
+ next;
+ mesn;
+ mesq l("So, if you could bring me %d of them, that would be totally awesome! Pretty please! I'm counting on you!", 20);
+ setq FrostiaQuest_Gaelira, 1;
+ close;
+
+L_Submit_F:
+ mesn;
+ mesq l("Did you got the %d %s I've asked?", 20, getitemlink(Pearl));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (countitem(Pearl) < 20) {
+ mesn;
+ mesq l("You've been spending too much time with humans. You are picking up bad habits from them like lying. Be careful.");
+ close;
+ }
+ inventoryplace AncientBlueprint, 1;
+ delitem Pearl, 20;
+ getitem AncientBlueprint, 1;
+ Zeny+=getiteminfo(Pearl, ITEMINFO_SELLPRICE)*20*12/10; // 120% payoff
+ getexp 15000, 0;
+ setq FrostiaQuest_Gaelira, 2;
+ mesn;
+ mesq l("Thank you soooo much! Here is some compensation, and you can keep this worthless scroll of paper! I looooove Pearls!");
+ }
+ close;
+
+L_Done_F:
+ mesn;
+ mesq l("Hey there! How are you? I hope you're doing fine!");
+ next;
+ mesn;
+ mesq l("Did you knew about the legend of Aethyr? I've heard the path to it was somewhere to the west of our old village... And some stuff about passwords... Hehe, I don't remember!");
+ next;
+ mesn;
+ mesq l("But I can't help but keep thinking on how many shiny treasures might be there!");
+ close;
+/////////////////////////////////////////////////////////////////////////////////
+L_Start_U:
+ mesn;
+ mesq l("Hey %s, could you do me a little favor?", get_race());
+ next;
+ mesn;
+ mesq l("You see, I love %s! So shiny, so bright... They are my favorite!", getitemlink(Pearl));
+ next;
+ mesn;
+ mesq l("So, if you could bring me %d of them, that would be totally awesome! I'm counting on you!", 20);
+ setq FrostiaQuest_Gaelira, 1;
+ close;
+
+L_Submit_U:
+ mesn;
+ mesq l("Did you got the %d %s I've asked?", 20, getitemlink(Pearl));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (countitem(Pearl) < 20) {
+ mesn;
+ mesq l("You liar, I'll teach you a lesson you won't forget!");
+ mesc l("%s stabs you with a dagger!", .name$);
+ percentheal -55, 0;
+ close;
+ }
+ inventoryplace AncientBlueprint, 1;
+ delitem Pearl, 20;
+ getitem AncientBlueprint, 1;
+ Zeny+=getiteminfo(Pearl, ITEMINFO_SELLPRICE)*20*12/10; // 120% payoff
+ getexp 15000, 0;
+ setq FrostiaQuest_Gaelira, 2;
+ mesn;
+ mesq l("Thank you! Here is some compensation, and you can keep this worthless scroll of paper! I looooove Pearls!");
+ }
+ close;
+
+L_Done_U:
+ mesn;
+ mesq l("Hey there! How are you?");
+ next;
+ mesn;
+ mesq l("Did you knew about the legend of Aethyr? I've heard the path to it was somewhere to the west of our old village... And some stuff about passwords... I'm not sure if I remember!");
+ next;
+ mesn;
+ mesq l("Well, I can't help but keep thinking on how many shiny treasures might be there!");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonSkirt);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, AssassinChest);
+ setunitdata(.@npcId, UDT_HEADTOP, BunnyEars);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 10);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 6);
+ npcsit;
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/024-3/_import.txt b/npc/024-3/_import.txt
new file mode 100644
index 0000000..5b3917d
--- /dev/null
+++ b/npc/024-3/_import.txt
@@ -0,0 +1,4 @@
+// Map 024-3: Frostia Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/024-3/_warps.txt",
+"npc/024-3/arauto.txt",
diff --git a/npc/024-3/_warps.txt b/npc/024-3/_warps.txt
new file mode 100644
index 0000000..d0ee584
--- /dev/null
+++ b/npc/024-3/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 024-3: Frostia Indoors warps
+024-3,35,35,0 warp #024-3_35_35 0,0,024-1,126,29
diff --git a/npc/024-3/arauto.txt b/npc/024-3/arauto.txt
new file mode 100644
index 0000000..5c6eb63
--- /dev/null
+++ b/npc/024-3/arauto.txt
@@ -0,0 +1,16 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Banker.
+
+024-3,33,28,0 script Arauto NPC_LLOYD,{
+ Banker(.name$, "Frostia", 9800);
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/024-4/_import.txt b/npc/024-4/_import.txt
new file mode 100644
index 0000000..10834a1
--- /dev/null
+++ b/npc/024-4/_import.txt
@@ -0,0 +1,5 @@
+// Map 024-4: Frostia Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/024-4/_warps.txt",
+"npc/024-4/alaion.txt",
+"npc/024-4/solana.txt",
diff --git a/npc/024-4/_warps.txt b/npc/024-4/_warps.txt
new file mode 100644
index 0000000..c82f437
--- /dev/null
+++ b/npc/024-4/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 024-4: Frostia Indoors warps
+024-4,39,29,0 warp #024-4_39_29 0,0,024-1,160,41
+024-4,28,29,0 warp #024-4_28_29 0,0,024-1,154,41
diff --git a/npc/024-4/alaion.txt b/npc/024-4/alaion.txt
new file mode 100644
index 0000000..76a7258
--- /dev/null
+++ b/npc/024-4/alaion.txt
@@ -0,0 +1,55 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Random shops
+
+024-4,36,23,0 script Alaion NPC_ELF,{
+ npcshopattach(.name$);
+ shop .name$;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, any(Chainmail, LightPlatemail, CopperArmor, AssassinChest));
+ setunitdata(.@npcId, UDT_HEADBOTTOM, any(RaidTrousers, LeatherTrousers, JeansChaps, BromenalPants, AssassinPants, ChainmailSkirt));
+ setunitdata(.@npcId, UDT_WEAPON, AncientSword);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, rand2(5,15));
+ setunitdata(.@npcId, UDT_HAIRCOLOR, rand2(2,10));
+
+ .sex = G_MALE;
+ .distance = 4;
+ sleep(SHOPWAIT);
+ tradertype(NST_MARKET);
+
+ sellitem Halberd, -1, 1;
+ sellitem Broadsword, -1, 1;
+ sellitem Kitana, -1, 1;
+ sellitem ShortSword, -1, 1;
+ sellitem Backsword, -1, 1;
+ sellitem ShortGladius, -1, 1;
+ end;
+
+OnClock1250:
+OnClock0112:
+ restoreshopitem Halberd, 1;
+ restoreshopitem Broadsword, 1;
+ restoreshopitem Kitana, 1;
+ restoreshopitem ShortSword, 1;
+ restoreshopitem Backsword, 1;
+ restoreshopitem ShortGladius, 1;
+ end;
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+}
+
diff --git a/npc/024-4/solana.txt b/npc/024-4/solana.txt
new file mode 100644
index 0000000..5f87766
--- /dev/null
+++ b/npc/024-4/solana.txt
@@ -0,0 +1,47 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Random shops
+
+024-4,28,23,0 script Solana NPC_ELF_F,{
+ npcshopattach(.name$);
+ shop .name$;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, any(LightPlatemail, ForestArmor, AssassinChest));
+ setunitdata(.@npcId, UDT_HEADBOTTOM, any(RaidTrousers, JeansChaps, AssassinPants, ChainmailSkirt));
+ setunitdata(.@npcId, UDT_WEAPON, BansheeBow);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, rand2(5,15));
+ setunitdata(.@npcId, UDT_HAIRCOLOR, rand2(2,10));
+
+ .sex = G_FEMALE;
+ .distance = 4;
+ sleep(SHOPWAIT);
+ tradertype(NST_MARKET);
+
+ sellitem ForestBow, -1, 1;
+ sellitem ElficBow, -1, 1;
+ end;
+
+OnClock1250:
+OnClock0112:
+ restoreshopitem ForestBow, 1;
+ restoreshopitem ElficBow, 1;
+ end;
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+}
+
diff --git a/npc/024-5/_import.txt b/npc/024-5/_import.txt
new file mode 100644
index 0000000..4d9bb3c
--- /dev/null
+++ b/npc/024-5/_import.txt
@@ -0,0 +1,5 @@
+// Map 024-5: Frostia Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/024-5/_warps.txt",
+"npc/024-5/rychell.txt",
+"npc/024-5/saevel.txt",
diff --git a/npc/024-5/_warps.txt b/npc/024-5/_warps.txt
new file mode 100644
index 0000000..1373ba2
--- /dev/null
+++ b/npc/024-5/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 024-5: Frostia Indoors warps
+024-5,34,29,0 warp #024-5_34_29 0,0,024-1,155,56
diff --git a/npc/024-5/rychell.txt b/npc/024-5/rychell.txt
new file mode 100644
index 0000000..ac6ba56
--- /dev/null
+++ b/npc/024-5/rychell.txt
@@ -0,0 +1,57 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Random shops
+
+024-5,33,23,0 script Rychell NPC_ELF,{
+ npcshopattach(.name$);
+ shop .name$;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, any(Chainmail, LightPlatemail, CopperArmor, AssassinChest));
+ setunitdata(.@npcId, UDT_HEADBOTTOM, any(RaidTrousers, LeatherTrousers, JeansChaps, BromenalPants, AssassinPants, ChainmailSkirt));
+ setunitdata(.@npcId, UDT_WEAPON, BlueKnightShield);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, rand2(5,15));
+ setunitdata(.@npcId, UDT_HAIRCOLOR, rand2(2,10));
+
+ .sex = G_MALE;
+ .distance = 4;
+ sleep(SHOPWAIT);
+ tradertype(NST_MARKET);
+
+ sellitem BritShield, -1, 1;
+ sellitem Chainmail, -1, 1;
+ //sellitem CopperArmor, -1, 1;
+ sellitem SilkPants, -1, 1;
+ sellitem ChainmailSkirt, -1, 1;
+ sellitem BromenalGloves, -1, 1;
+ sellitem BromenalHelmet, -1, 1;
+ end;
+
+OnClock1251:
+OnClock0113:
+ restoreshopitem BritShield, 1;
+ restoreshopitem Chainmail, 1;
+ //restoreshopitem CopperArmor, 1;
+ restoreshopitem SilkPants, 1;
+ restoreshopitem ChainmailSkirt, 1;
+ restoreshopitem BromenalGloves, 1;
+ restoreshopitem BromenalHelmet, 1;
+ end;
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+}
+
diff --git a/npc/024-5/saevel.txt b/npc/024-5/saevel.txt
new file mode 100644
index 0000000..2005cb0
--- /dev/null
+++ b/npc/024-5/saevel.txt
@@ -0,0 +1,118 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Questmaker Handbook 14.0 (F = Favorable)
+
+024-5,38,23,0 script Saevel NPC_ELF,{
+ .@q = getq(FrostiaQuest_Saevel);
+ if (BaseLevel < 47) {
+ mesc l("The elf seems busy. He ignores you.");
+ close;
+ }
+ if (.@q == 0) {
+ if (frally()) goto L_Start_F;
+ else goto L_Start_U;
+ }
+ else if (.@q == 1) {
+ if (frally()) goto L_Submit_F;
+ else goto L_Submit_U;
+ }
+ else if (.@q == 2) {
+ if (frally()) goto L_Done_F;
+ else goto L_Done_U;
+ }
+ Exception("Invalid quest state - "+str(.@q));
+ end;
+
+L_Start_F:
+ mesn;
+ mesq l("I'm am about to make myself some powerful equipment... But I ran out of material to refine it!");
+ next;
+ mesn;
+ mesq l("Could you, perhaps, bring me %d %s? That'll help me to finish this.", 1, getitemlink(Arcanum));
+ setq FrostiaQuest_Saevel, 1;
+ close;
+
+L_Submit_F:
+ mesn;
+ mesq l("Did you got the %d %s I've asked?", 1, getitemlink(Arcanum));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (countitem(Arcanum) < 1) {
+ mesn;
+ mesq l("You've been spending too much time with humans. You are picking up bad habits from them like lying. Be careful.");
+ close;
+ }
+ inventoryplace EquipmentBlueprintB, 1, EquipmentBlueprintA, 1;
+ delitem Arcanum, 1;
+ getexp 7000, 0;
+ getitem EquipmentBlueprintB, 1;
+ getitem EquipmentBlueprintA, 1;
+ setq FrostiaQuest_Saevel, 2;
+ mesn;
+ mesq l("Muahahaha, I'll be SO strong thanks to you! Here, I don't need these weak recipes anymore. You can have them!");
+ }
+ close;
+
+L_Done_F:
+ mesn;
+ mesq l("POWER!");
+ next;
+ mesn;
+ mesq l("Reminds me, but they say the Aethyr is a place where powerful elves of old live. But nobody has been there on the past century... Or if they were, nobody said anything about it! Hahahah!");
+ close;
+/////////////////////////////////////////////////////////////////////////////////
+L_Start_U:
+ mesn;
+ mesq l("I'm am about to make myself some powerful equipment... But I ran out of material to refine it!");
+ next;
+ mesn;
+ mesq l("Could you bring me %d %s? That'll help me to finish this.", 1, getitemlink(Arcanum));
+ setq FrostiaQuest_Saevel, 1;
+ close;
+
+L_Submit_U:
+ mesn;
+ mesq l("Did you got the %d %s I've asked?", 1, getitemlink(Arcanum));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (countitem(Arcanum) < 1) {
+ mesn;
+ mesq l("You liar, I'll teach you a lesson you won't forget!");
+ mesc l("%s slaps you!", .name$);
+ percentheal -30, 0;
+ close;
+ }
+ inventoryplace EquipmentBlueprintB, 1, EquipmentBlueprintA, 1;
+ delitem Arcanum, 1;
+ getexp 7000, 0;
+ getitem EquipmentBlueprintB, 1;
+ getitem EquipmentBlueprintA, 1;
+ setq FrostiaQuest_Saevel, 2;
+ mesn;
+ mesq l("Muahahaha, I'll be SO strong thanks to you! Here, these recipes should be useful for ya. You can have them!");
+ }
+ close;
+
+L_Done_U:
+ mesn;
+ mesq l("POWER!");
+ next;
+ mesn;
+ mesq l("Reminds me, but they say the Aethyr is a place where powerful elves of old live. But nobody has been there on the past century... Or if they were, nobody said anything about it! Hahahah!");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, BromenalPants);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, GoldenWarlordPlate);
+ setunitdata(.@npcId, UDT_HEADTOP, SamuraiHelmet);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 2);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 8);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/024-6/_import.txt b/npc/024-6/_import.txt
new file mode 100644
index 0000000..1af2c67
--- /dev/null
+++ b/npc/024-6/_import.txt
@@ -0,0 +1,4 @@
+// Map 024-6: Frostia Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/024-6/_warps.txt",
+"npc/024-6/talindra.txt",
diff --git a/npc/024-6/_warps.txt b/npc/024-6/_warps.txt
new file mode 100644
index 0000000..0cad9b4
--- /dev/null
+++ b/npc/024-6/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 024-6: Frostia Indoors warps
+024-6,34,28,0 warp #024-6_34_28 0,0,024-1,143,41
diff --git a/npc/024-6/talindra.txt b/npc/024-6/talindra.txt
new file mode 100644
index 0000000..7ef8dad
--- /dev/null
+++ b/npc/024-6/talindra.txt
@@ -0,0 +1,128 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Questmaker Handbook 14.0 (F = Favorable)
+
+024-6,31,23,0 script Talindra NPC_ELF_F,{
+ .@q = getq(FrostiaQuest_Talindra);
+ if (BaseLevel < 65) {
+ mesc l("The elf seems busy. She ignores you.");
+ close;
+ }
+ if (.@q == 0) {
+ if (frally()) goto L_Start_F;
+ else goto L_Start_U;
+ }
+ else if (.@q == 1) {
+ if (frally()) goto L_Submit_F;
+ else goto L_Submit_U;
+ }
+ else if (.@q == 2) {
+ if (frally()) goto L_Done_F;
+ else goto L_Done_U;
+ }
+ Exception("Invalid quest state - "+str(.@q));
+ end;
+
+L_Start_F:
+ mesn;
+ mesq lg("Hey friend, could you do me a little favor?");
+ next;
+ mesn;
+ mesq l("I want to prove exotic tea. More specifically, I'm looking for %s and %s. Bring me %d of each, and I'll reward you awesomely.", getitemlink(CelestiaTea), getitemlink(HerbalTea), 15);
+ next;
+ mesn;
+ mesq l("Good luck!");
+ setq FrostiaQuest_Talindra, 1;
+ close;
+
+L_Submit_F:
+ mesn;
+ mesq l("Did you got everything I've asked?");
+ mes sprintf("- %d %s", 15, getitemlink(CelestiaTea));
+ mes sprintf("- %d %s", 15, getitemlink(HerbalTea));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (countitem(CelestiaTea) < 15 ||
+ countitem(HerbalTea) < 15) {
+ mesn;
+ mesq l("You've been spending too much time with humans. You are picking up bad habits from them like lying. Be careful.");
+ close;
+ }
+ inventoryplace EquipmentBlueprintD, 1;
+ delitem CelestiaTea, 15;
+ delitem HerbalTea, 15;
+ getitem EquipmentBlueprintD, 1;
+ getexp 50000, 0;
+ setq FrostiaQuest_Talindra, 2;
+ mesn;
+ mesq l("Yay! Many thanks! I'll enjoy it! Here is the promised reward.");
+ }
+ close;
+
+L_Done_F:
+ mesn;
+ mesq l("I've heard Aethyr path was to the west, but I'm not sure west of where... %s", col(l("*sigh*"), 9));
+ close;
+/////////////////////////////////////////////////////////////////////////////////
+L_Start_U:
+ mesn;
+ mesq l("Hey %s, could you do me a little favor?", get_race());
+ next;
+ mesn;
+ mesq l("I want to prove exotic tea. More specifically, I'm looking for %s and %s. Bring me %d of each, and I'll reward you awesomely.", getitemlink(CelestiaTea), getitemlink(HerbalTea), 15);
+ next;
+ mesn;
+ mesq l("Try to don't take too long!");
+ setq FrostiaQuest_Talindra, 1;
+ close;
+
+L_Submit_U:
+ mesn;
+ mesq l("Did you got everything I've asked?");
+ mes sprintf("%d %s", 15, getitemlink(CelestiaTea));
+ mes sprintf("%d %s", 15, getitemlink(HerbalTea));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (countitem(CelestiaTea) < 15 ||
+ countitem(HerbalTea) < 15) {
+ mesn;
+ mesq l("You liar, I'll teach you a lesson you won't forget!");
+ mesc l("%s stabs you with a dagger!", .name$);
+ percentheal -55, 0;
+ close;
+ }
+ inventoryplace EquipmentBlueprintD, 1;
+ delitem CelestiaTea, 15;
+ delitem HerbalTea, 15;
+ getitem EquipmentBlueprintD, 1;
+ getexp 50000, 0;
+ setq FrostiaQuest_Talindra, 2;
+ mesn;
+ mesq l("Thanks! I'll enjoy it! Here is the promised reward.");
+ }
+ close;
+
+L_Done_U:
+ mesn;
+ mesq l("I've heard Aethyr path was to the west, but I'm not sure west of where... %s", col(l("*sigh*"), 9));
+ next;
+ mesn;
+ mesq l("...Go mind your own business, %s.", get_race());
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonSkirt);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, LeatherShirt);
+ setunitdata(.@npcId, UDT_HEADTOP, TrapperHat);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 20);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 17);
+ npcsit;
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/024-7/_import.txt b/npc/024-7/_import.txt
new file mode 100644
index 0000000..41e09e8
--- /dev/null
+++ b/npc/024-7/_import.txt
@@ -0,0 +1,4 @@
+// Map 024-7: Frostia Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/024-7/_warps.txt",
+"npc/024-7/afking.txt",
diff --git a/npc/024-7/_warps.txt b/npc/024-7/_warps.txt
new file mode 100644
index 0000000..fcff269
--- /dev/null
+++ b/npc/024-7/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 024-7: Frostia Indoors warps
+024-7,40,29,0 warp #024-7_40_29 0,0,024-1,160,50
diff --git a/npc/024-7/afking.txt b/npc/024-7/afking.txt
new file mode 100644
index 0000000..b6dc63d
--- /dev/null
+++ b/npc/024-7/afking.txt
@@ -0,0 +1,175 @@
+// TMW2 scripts.
+// Author:
+// TMW-BR
+// Jesusalva
+// Description:
+// AFK Cap quest (Lv 47)
+
+024-7,40,24,0 script AF King NPC_PLAYER,{
+ function AFPrologue;
+ function AFGrinding;
+ function AFKingGelid;
+ function AFItemList;
+ function AFDeliver;
+
+ if (BaseLevel < 47) {
+ npctalkonce l("*AFK: I am Away From Keyboard*");
+ end;
+ }
+ .@q=getq(FrostiaQuest_AFKCap);
+ @flag02474024=false;
+
+ switch (.@q) {
+ case 0: // Mission not started
+ mesn;
+ mesq l("I'm back, I'm here, I'm great! I am the AF King Arthur!");
+ next;
+ do {
+ mesn;
+ mesq l("But can I help you?");
+ next;
+ select
+ l("Good, I need to talk with the King."),
+ l("You have a nice hat."),
+ l("Do you know where I can level up?"),
+ rif(@flag02474024, l("I would like a hat like yours.")),
+ l("Nothing, good bye!");
+ mes "";
+ switch (@menu) {
+ case 1:
+ AFKingGelid();
+ break;
+ case 2:
+ AFPrologue();
+ @flag02474024=true;
+ break;
+ case 3:
+ AFGrinding();
+ break;
+ case 4:
+ setq FrostiaQuest_AFKCap, 1;
+ AFItemList();
+ break;
+ default:
+ close;
+ }
+ } while (true);
+ break;
+ case 1: // Mission accepted
+ AFItemList();
+ break;
+ default: // Mission complete
+ npctalkonce l("*AFK: I am Away From Keyboard*");
+ end;
+ break;
+ }
+
+ closedialog;
+ goodbye;
+ close;
+
+function AFPrologue {
+ mesn;
+ mesq l("No one is more there than here than me! Look at my hat, it symbolizes that I am an useless player!");
+ next;
+ mesn;
+ mesq l("And if you listen to Tulimshar's Professor lecture wearing it, you'll gain more experience!");
+ next;
+ mesn;
+ mesq l("Basically, no one else disturbs me anymore when I'm busy snoring in class! ^.^");
+ next;
+ return;
+}
+
+function AFGrinding {
+ mesn;
+ mesq l("Uhh... Not really! I love to kill Yetis, but sometimes they are really shy!");
+ next;
+ mesn;
+ mesq l("They must be hiding in some cave... It's a shame!");
+ next;
+ return;
+}
+
+function AFKingGelid {
+ mesn;
+ mesq l("Uhm, I'm not the king of Frostia, I'm the king of all useless adventurers.");
+ next;
+ mesn;
+ mesq l("I just go out removing swords from rocks, and then throwing them again at the lake. All that while I drink coffee.");
+ next;
+ mesn;
+ mesq l("If you need to talk with King Gelid, he should be in the castle north here.");
+ next;
+ return;
+}
+
+function AFItemList {
+ mesn;
+ mesq l("Sure, no problem! For this awesome hat which I can make it myself, you'll need to bring me a few items!");
+ next;
+ mes ".:: "+l("Item List")+" ::.";
+ mesc l("@@/@@ @@", countitem(SilkCocoon), 300, getitemlink(SilkCocoon));
+ mesc l("@@/@@ @@", countitem(CobaltHerb), 100, getitemlink(CobaltHerb));
+ mesc l("@@/@@ @@", countitem(CottonCloth), 25, getitemlink(CottonCloth));
+ mesc l("@@/@@ @@", countitem(BlueDye), 1, getitemlink(BlueDye));
+ mesc l("@@/@@ @@", format_number(Zeny), format_number(5000), "GP");
+ next;
+ // FIXME Deprecate .@ scope on flag
+ if (@flag02474024) {
+ mesn;
+ mesq l("Now I'll be waiting!");
+ close;
+ }
+ select
+ l("Okay, I'll be back!"),
+ l("I have everything you've asked for.");
+ mes "";
+ if (@menu == 2)
+ AFDeliver();
+ return;
+}
+
+function AFDeliver {
+ inventoryplace AFKCap, 1;
+ if (
+ countitem(SilkCocoon) < 300 ||
+ countitem(CobaltHerb) < 100 ||
+ countitem(CottonCloth) < 25 ||
+ countitem(BlueDye) < 1 ||
+ Zeny < 5000) {
+ mesn;
+ mesq l("I'll feed you to the Moubootaur %%e");
+ setparam(MaxHp, readparam(MaxHp)-100);
+ die();
+ close;
+ }
+ Zeny-=5000;
+ delitem SilkCocoon, 300;
+ delitem CobaltHerb, 100;
+ delitem CottonCloth, 25;
+ delitem BlueDye, 1;
+ getitem AFKCap, 1;
+ setq FrostiaQuest_AFKCap, 2;
+ mesn;
+ mesq l("As I had the spare materials I've already did yours in advance.");
+ next;
+ mesn;
+ mesq l("There you go. Enjoy it!");
+ next;
+ return;
+}
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, AFKCap);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SilkRobe); // TODO
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 26);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 0);
+ npcsit;
+
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+}
diff --git a/npc/024-8/_import.txt b/npc/024-8/_import.txt
new file mode 100644
index 0000000..7fcab78
--- /dev/null
+++ b/npc/024-8/_import.txt
@@ -0,0 +1,5 @@
+// Map 024-8: Frostia Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/024-8/_warps.txt",
+"npc/024-8/jeremy.txt",
+"npc/024-8/nurse.txt",
diff --git a/npc/024-8/_warps.txt b/npc/024-8/_warps.txt
new file mode 100644
index 0000000..9fee9a5
--- /dev/null
+++ b/npc/024-8/_warps.txt
@@ -0,0 +1,33 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 024-8: Frostia Indoors warps
+024-8,71,32,0 warp #024-8_71_32 0,0,024-1,136,29
+024-8,69,24,0 script #024-8_69_24 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 37,32; end;
+}
+024-8,67,24,0 script #024-8_67_24 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 30,32; end;
+}
+024-8,65,24,0 script #024-8_65_24 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 23,32; end;
+}
+024-8,37,33,0 script #024-8_37_33 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 69,25; end;
+}
+024-8,30,33,0 script #024-8_30_33 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 67,25; end;
+}
+024-8,23,33,0 script #024-8_23_33 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 65,25; end;
+}
diff --git a/npc/024-8/jeremy.txt b/npc/024-8/jeremy.txt
new file mode 100644
index 0000000..79638bd
--- /dev/null
+++ b/npc/024-8/jeremy.txt
@@ -0,0 +1,116 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Questmaker Handbook 14.0 (F = Favorable)
+
+024-8,22,27,0 script Jeremy NPC_ELF,{
+ .@q = getq(FrostiaQuest_Jeremy);
+ if (BaseLevel < 50) {
+ mesc l("The old man seems busy. He ignores you.");
+ close;
+ }
+ if (.@q == 0) {
+ if (frally()) goto L_Start_F;
+ else goto L_Start_U;
+ }
+ else if (.@q == 1) {
+ if (frally()) goto L_Submit_F;
+ else goto L_Submit_U;
+ }
+ else if (.@q == 2) {
+ if (frally()) goto L_Done_F;
+ else goto L_Done_U;
+ }
+ Exception("Invalid quest state - "+str(.@q));
+ end;
+
+L_Start_F:
+ mesn;
+ mesq lg("Hey gal, could you do me a little favor?", "Hey pal, could you do me a little favor?");
+ next;
+ mesn;
+ mesq l("Bring me %d %s, the white slimes keep stealing them and I am a bit too old to go running around, hunting slimes!", 3, getitemlink(SilverMirror));
+ setq FrostiaQuest_Jeremy, 1;
+ close;
+
+L_Submit_F:
+ mesn;
+ mesq l("Did you got the %d %s I've asked?", 3, getitemlink(SilverMirror));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (countitem(SilverMirror) < 3) {
+ mesn;
+ mesq l("You've been spending too much time with humans. You are picking up bad habits from them like lying. Be careful.");
+ close;
+ }
+ delitem SilverMirror, 3;
+ getexp 24000, 0;
+ setq FrostiaQuest_Jeremy, 2;
+ mesn;
+ mesq lg("Thanks, my friend.");
+ }
+ close;
+
+L_Done_F:
+ mesn;
+ mesq l("Thanks for the help earlier.");
+ next;
+ mesn;
+ mesq l("Did you knew that %s was the wizard whom sealed the path to Aethyr, the sacred elf land? I wonder what happened afterwards.", b("Tametomo"));
+ close;
+/////////////////////////////////////////////////////////////////////////////////
+L_Start_U:
+ mesn;
+ mesq l("What is a %s doing here? Eugh, you stink! You should keep away from our children!", get_race());
+ next;
+ mesn;
+ mesq l("I hate asking this of a lesser being like you, but if you plan in staying in our town, you should at very least make yourself useful.");
+ next;
+ mesn;
+ mesq l("Bring me %d %s, we elves are infinitely beautiful and the white slimes, just like your kin, seems to envy us. So please recover the stolen mirrors.", 3, getitemlink(SilverMirror));
+ setq FrostiaQuest_Jeremy, 1;
+ close;
+
+L_Submit_U:
+ mesn;
+ mesq l("Did you got the %d %s I've asked?", 3, getitemlink(SilverMirror));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (countitem(SilverMirror) < 3) {
+ mesn;
+ mesq l("You liar, I'll teach you a lesson you won't forget!");
+ mesc l("%s slaps you!", .name$);
+ percentheal -30, 0;
+ close;
+ }
+ delitem SilverMirror, 3;
+ getexp 24000, 0;
+ setq FrostiaQuest_Jeremy, 2;
+ mesn;
+ mesq l("Hmpf, for a %s, you're a bit resourceful.", get_race());
+ }
+ close;
+
+L_Done_U:
+ mesn;
+ mesq l("What are you still doing here? Begone!");
+ next;
+ mesn;
+ mesq l("Hmpf, if %s was still around... He sealed the path to Aethyr, the sacred elf land. I'm sure he could protect Frostia from the likes of you as well!", b("Tametomo"));
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, LeatherShirt);
+ setunitdata(.@npcId, UDT_HEADTOP, Beard);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 26);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 3);
+ npcsit;
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/024-8/nurse.txt b/npc/024-8/nurse.txt
new file mode 100644
index 0000000..c50d8e5
--- /dev/null
+++ b/npc/024-8/nurse.txt
@@ -0,0 +1,23 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Nurse.
+
+024-8,73,26,0 script Frostia's Nurse NPC_ELF_F,{
+ Nurse(.name$, 10, 5);
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonSkirt);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, TneckSweater);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 12);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 14);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/024-9/_import.txt b/npc/024-9/_import.txt
new file mode 100644
index 0000000..b196b3f
--- /dev/null
+++ b/npc/024-9/_import.txt
@@ -0,0 +1,5 @@
+// Map 024-9: Frostia Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/024-9/_warps.txt",
+"npc/024-9/barkeeper.txt",
+"npc/024-9/sake.txt",
diff --git a/npc/024-9/_warps.txt b/npc/024-9/_warps.txt
new file mode 100644
index 0000000..6606fb7
--- /dev/null
+++ b/npc/024-9/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 024-9: Frostia Indoors warps
+024-9,41,38,0 warp #024-9_41_38 0,0,024-1,134,49
diff --git a/npc/024-9/barkeeper.txt b/npc/024-9/barkeeper.txt
new file mode 100644
index 0000000..2bdd419
--- /dev/null
+++ b/npc/024-9/barkeeper.txt
@@ -0,0 +1,54 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Sells beer
+
+// Temporary Sprite
+024-9,39,31,0 script Bar Jobs NPC_DWARF_TRADER,{
+ hello;
+ npcshopattach(.name$);
+ shop .name$;
+ close;
+
+OnInit:
+ sleep(SHOPWAIT);
+ tradertype(NST_MARKET);
+
+ sellitem DwarvenSake, 1100, 1;
+ sellitem Beer, 300, 20;
+ if ($ARKIM_ST >= 4000)
+ sellitem ClothoLiquor, -1, (($ARKIM_ST-4000)/500)+1;
+ if ($ARKIM_ST >= 4700)
+ sellitem LachesisBrew, -1, (($ARKIM_ST-4700)/500)+1;
+ if (!rand2(10))
+ sellitem JasmineTea, getiteminfo(JasmineTea, ITEMINFO_BUYPRICE)*15/10, rand2(1,3);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+
+OnClock2358:
+ restoreshopitem DwarvenSake, 1100, 1;
+ restoreshopitem Beer, 300, 20;
+ if ($ARKIM_ST >= 4000)
+ restoreshopitem ClothoLiquor, (($ARKIM_ST-4000)/500)+1;
+ if ($ARKIM_ST >= 4700)
+ restoreshopitem LachesisBrew, (($ARKIM_ST-4700)/500)+1;
+ if (!rand2(10))
+ restoreshopitem JasmineTea, getiteminfo(JasmineTea, ITEMINFO_BUYPRICE)*15/10, rand2(1,3);
+ end;
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+
+}
+
diff --git a/npc/024-9/sake.txt b/npc/024-9/sake.txt
new file mode 100644
index 0000000..61e1aab
--- /dev/null
+++ b/npc/024-9/sake.txt
@@ -0,0 +1,175 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Dwarven Sake, the most powerful beverage which is not a rare
+// Variables:
+// DWARVEN_DATE = When the Sake started being done
+// DWARVEN_DONE = When the Sake will be ready
+// DWARVEN_AMMO = How much Sake you're trying to make
+// Success Rate is based on how much you're trying to do and how long ago that was
+
+024-9,43,30,0 script Sake Barrel NPC_NO_SPRITE,{
+ goto L_Main;
+ // dwarvensake_chance()
+ // Returns chance (0~10,000) to successfully obtain sake
+ // DWARVEN_DONE/DWARVEN_DATE is taken in account
+ function dwarvensake_chance {
+ .@max=10000;
+ .@base=DWARVEN_DATE;//-(DWARVEN_DONE-DWARVEN_DATE);
+ // .@c = how much time is left until completion
+ // .@d = original amount of time required
+ // .@e = Current time
+ .@c=DWARVEN_DONE-.@base; //-gettimetick(2);
+ .@d=DWARVEN_DATE-.@base; //-DWARVEN_DONE;
+ .@e=gettimetick(2)-.@base;
+
+ // We must divide everything by 10 to cause imprecision
+ // aka. don't cause overflow bug
+ .@c=.@c/10;
+ .@d=.@d/10;
+ .@e=.@e/10;
+
+ //debugmes "%d - %d - %d", .@d, .@e, .@c;
+ //debugmes "Start - Now - Finish";
+ if (.@c == 0)
+ return .@max;
+ if ($@GM_OVERRIDE) debugmes "Ratio: %d/%d = %d", .@e, .@c, (.@e*.@max)/.@c;
+ return min(10000, (.@e*.@max)/.@c);
+ }
+
+L_Main:
+ if (!DWARVEN_DATE) {
+ mesn;
+ mesc l("Do you want to make sake?");
+ mesc l("This barrel is a courtesy from Dimond Cove Inn.");
+ next;
+ select
+ l("Information"),
+ l("Yes"),
+ l("No");
+ mes "";
+
+ switch (@menu) {
+ case 1:
+ mesc l("Produced item:");
+ mesc l("@@", getitemlink(DwarvenSake));
+ mes "";
+ mesc l("Cost per two glass:");
+ mesc l("* @@/@@ @@", countitem(ArtichokeHerb), 25, getitemlink(ArtichokeHerb));
+ mesc l("* @@/@@ @@", countitem(MauveHerb), 25, getitemlink(MauveHerb));
+ mesc l("* @@/@@ @@", countitem(CobaltHerb), 25, getitemlink(CobaltHerb));
+ mesc l("* @@/@@ @@", countitem(GambogeHerb), 25, getitemlink(GambogeHerb));
+ mesc l("* @@/@@ @@", countitem(AlizarinHerb), 25, getitemlink(AlizarinHerb));
+ mesc l("* @@/@@ @@", countitem(ShadowHerb), 20, getitemlink(ShadowHerb));
+ mesc l("* @@ Water Bottle", 1);
+ next;
+ break;
+ case 2:
+ mesc l("How many batches do you want to produce? (max. 5)");
+ input .@glass_count;
+ if (.@glass_count < 1 ||
+ .@glass_count > 5 ||
+ countitem(ArtichokeHerb) < 25*.@glass_count ||
+ countitem(MauveHerb) < 25*.@glass_count ||
+ countitem(CobaltHerb) < 25*.@glass_count ||
+ countitem(GambogeHerb) < 25*.@glass_count ||
+ countitem(AlizarinHerb) < 25*.@glass_count ||
+ countitem(ShadowHerb) < .@glass_count*20
+ ) {
+ mesc l("Not enough ingredients or invalid amount."), 1;
+ break;
+ }
+ mesc l("Which water will you use?");
+ mesc l("The bottom-most the water, the better the bonus.");
+ menuint
+ l("Cancel"), -1,
+ rif(countitem(BottleOfSewerWater) >= .@glass_count, l("Sewer Water")), 0,
+ rif(countitem(BottleOfSeaWater) >= .@glass_count, l("Sea Water")), 3600,
+ rif(countitem(BottleOfTonoriWater) >= .@glass_count, l("Tonori Water")), 11760,
+ rif(countitem(BottleOfWoodlandWater) >= .@glass_count, l("Woodland Water")), 12000,
+ rif(countitem(BottleOfDivineWater) >= .@glass_count, l("Divine Water")), 21600;
+ mes "";
+ if (@menuret < 0)
+ break;
+ switch (@menuret) {
+ case 0:
+ .@bonus=@menuret;
+ .@water=BottleOfSewerWater;
+ break;
+ case 3600:
+ .@bonus=@menuret;
+ .@water=BottleOfSeaWater;
+ break;
+ case 11760:
+ .@bonus=@menuret;
+ .@water=BottleOfTonoriWater;
+ break;
+ case 12000:
+ .@bonus=@menuret;
+ .@water=BottleOfWoodlandWater;
+ break;
+ case 21600:
+ .@bonus=@menuret;
+ .@water=BottleOfDivineWater;
+ break;
+ default:
+ mesc l("Error, invalid return code, blame Saulc"), 1;
+ mes "==== SCRIPT ABORTED";
+ close;
+ }
+
+ // Save data
+ delitem ArtichokeHerb, .@glass_count*25;
+ delitem MauveHerb, .@glass_count*25;
+ delitem CobaltHerb, .@glass_count*25;
+ delitem GambogeHerb, .@glass_count*25;
+ delitem AlizarinHerb, .@glass_count*25;
+ delitem ShadowHerb, .@glass_count*20;
+ delitem .@water, .@glass_count;
+ DWARVEN_AMMO=.@glass_count;
+ DWARVEN_DATE=gettimetick(2);
+ DWARVEN_DONE=gettimetick(2)-.@bonus+.mintime;
+ DWARVEN_DONE+=.cuptime*DWARVEN_AMMO;
+ break;
+ case 3:
+ close;
+ break;
+ }
+ goto L_Main;
+ } else {
+ mesn;
+ mesc l("Your request for @@ @@ are being fermented for @@.", DWARVEN_AMMO, getitemlink(DwarvenSake), FuzzyTime(DWARVEN_DATE));
+ next;
+ inventoryplace DwarvenSake, DWARVEN_AMMO;
+ mesn;
+ mes l("Trying to retrieve it now will have @@ % chance to be successful.", dwarvensake_chance()/100);
+ mes l("Attempt to retrieve it now?");
+ next;
+ if (askyesno() == ASK_YES) {
+ if (rand(1000,10000) < dwarvensake_chance()) {
+ mesc l("Success!"), 3;
+ getitem DwarvenSake, DWARVEN_AMMO*2;
+ } else {
+ mesc l("The sake wasn't ready yet and you lost it..."), 1;
+ }
+ DWARVEN_DATE=0;
+ DWARVEN_AMMO=0;
+ }
+ }
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+
+ // Time to make each batch (12 hours)
+ .cuptime=(60*60*12);
+ // Base time to make any amount of cups (72 hours)
+ .mintime=(60*60*72);
+ end;
+
+}
+
+
+
diff --git a/npc/025-1/_config.txt b/npc/025-1/_config.txt
new file mode 100644
index 0000000..915bd51
--- /dev/null
+++ b/npc/025-1/_config.txt
@@ -0,0 +1,25 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 025-1: Fortress Town - Holy Land conf
+
+025-1,99,112,0 script #025-1_99_112 NPC_HIDDEN,{
+ end;
+OnDisable:
+ delcells "025-1_99_112"; end;
+OnEnable:
+OnInit:
+ setcells "025-1", 99, 112, 100, 112, 1, "025-1_99_112";
+}
+
+025-1,100,122,0 script #025-1_100_122 NPC_HIDDEN,7,0,{
+ end;
+OnTouch:
+ doevent "#DungeonCore::OnCurse";
+ end;
+}
+
+025-1,100,22,0 script #025-1_100_22 NPC_HIDDEN,3,0,{
+ end;
+OnTouch:
+ doevent "#DungeonCore::OnCurse";
+ end;
+}
diff --git a/npc/025-1/_import.txt b/npc/025-1/_import.txt
new file mode 100644
index 0000000..c373e04
--- /dev/null
+++ b/npc/025-1/_import.txt
@@ -0,0 +1,17 @@
+// Map 025-1: Fortress Town - Holy Land
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/025-1/_config.txt",
+"npc/025-1/_mobs.txt",
+"npc/025-1/_warps.txt",
+"npc/025-1/anin.txt",
+"npc/025-1/commander.txt",
+"npc/025-1/ctrl.c",
+"npc/025-1/drahcir.txt",
+"npc/025-1/ihclot.txt",
+"npc/025-1/phoenix.txt",
+"npc/025-1/rum.txt",
+"npc/025-1/salohcin.txt",
+"npc/025-1/selim.txt",
+"npc/025-1/teleporter.txt",
+"npc/025-1/xovilam.txt",
+"npc/025-1/yuko.txt",
diff --git a/npc/025-1/_mobs.txt b/npc/025-1/_mobs.txt
new file mode 100644
index 0000000..5de3a35
--- /dev/null
+++ b/npc/025-1/_mobs.txt
@@ -0,0 +1,13 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 025-1: Fortress Town - Holy Land mobs
+025-1,39,96,15,6 monster Moubi 1038,6,60000,30000
+025-1,35,41,10,15 monster Moubi 1038,6,60000,30000
+025-1,78,33,12,11 monster Croc 1006,6,60000,30000
+025-1,120,30,12,8 monster Moubi 1038,6,60000,30000
+025-1,136,30,1,8 monster Croc 1006,6,60000,30000
+025-1,142,77,7,11 monster Croc 1006,6,60000,30000
+025-1,161,86,11,15 monster Moubi 1038,6,60000,30000
+025-1,79,97,12,6 monster Croc 1006,6,60000,30000
+025-1,42,115,15,4 monster Croc 1006,6,60000,30000
+025-1,45,116,20,3 monster Croc 1006,6,60000,30000
+025-1,154,116,20,3 monster Croc 1006,6,60000,30000
diff --git a/npc/025-1/_warps.txt b/npc/025-1/_warps.txt
new file mode 100644
index 0000000..b2ec269
--- /dev/null
+++ b/npc/025-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 025-1: Fortress Town - Holy Land warps
+025-1,100,123,0 warp #025-1_100_123 7,0,025-2,99,25
diff --git a/npc/025-1/anin.txt b/npc/025-1/anin.txt
new file mode 100644
index 0000000..5b4cd96
--- /dev/null
+++ b/npc/025-1/anin.txt
@@ -0,0 +1,79 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Anin is Nina spelled backwards
+
+025-1,109,71,0 script Anin The Traveler NPC_F_COINKEEPER,{
+
+ mesn;
+ if (strcharinfo(0) == $MOST_HEROIC$) mesq l("Wow! Are you @@? Everyone, in every city, talks about you!", $MOST_HEROIC$);
+ if (strcharinfo(0) == $MOST_HEROIC$) next;
+
+ mesq l("Hello. I am @@, and I am from a family of travellers. We travel though the whole world, looking for exotic goods.", .name$);
+ next;
+ mesq l("You can buy rare items with me, or I can tell you about different cities in our world.");
+
+L_Menu:
+ mes "";
+ menu
+ l("I want to trade with you."), L_Trade,
+ l("Tell me about Tulimshar."), L_Tulim,
+ l("Tell me about Fortress Town."), L_Town,
+ l("Sorry, I'll pass."), L_Close;
+
+L_Tulim:
+ mes "";
+ mesn;
+ mesq l("Tulimshar is the oldest human city, and its foundation is the year zero of our calendar.");
+ next;
+ mesq l("The city only flourished because Janett Platinum had the idea to build city walls surrounding this city.");
+ next;
+ mesq l("The desert climate means you'll find mostly maggots and scorpions. Their drops include cactus drinks, cake, knifes, black pearls, gold, and other common things.");
+ next;
+ mesq l("You can find for a good price desert equipment and some kind of dyes. You find all sort of crafters, artisans and warriors here.");
+ next;
+ goto L_Menu;
+
+L_Town:
+ mes "";
+ mesn;
+ mesq l("Fortress Town is connected to the prophecies of the death of all humans, wildlife, and the other lesser races.");
+ next;
+ mesq l("The World's Heart was shattered by the Ancient Families to serve as Soul Menhirs on the world, and this allows respawning after death, but at a cost.");
+ next;
+ mesq l("The World Edge, which is where we are, is a holy land, the place where all began and all shall perish. Which is why after the World's Heart was broken, it was vowed to never make a settlement here ever again.");
+ next;
+ mesq l("Right now this territory is under the Monster Army's control, but the Alliance has occupied it to raid the Impregnable Fortress.");
+ next;
+ mesq l("Nearly everyone around is a seasoned veteran or was sent here by the Alliance Council to support the war efforts. Including me. So, good luck!");
+ next;
+ goto L_Menu;
+
+
+L_Trade:
+ mesn;
+ mesq l("Use your @@ as currency!", getitemlink(StrangeCoin));
+ tutmes l("%s is obtained during events, daily logins, heroic deeds, gifts, etc. But cannot be bought with real money.", getitemlink(StrangeCoin));
+ next;
+ openshop "Aeros Trader";
+ closedialog;
+
+L_Close:
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, UglyChristmasSweater);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, JeansShorts);
+ setunitdata(.@npcId, UDT_WEAPON, CandorBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 27);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 11);
+ npcsit;
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/025-1/commander.txt b/npc/025-1/commander.txt
new file mode 100644
index 0000000..891c79d
--- /dev/null
+++ b/npc/025-1/commander.txt
@@ -0,0 +1,253 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Leads the Alliance in the Fortress Town
+
+025-1,96,26,0 script Commander Povo NPC_BRGUARD_SPEAR,{
+ mesn;
+ mesq l("Greetings %s, I am %s, the man in charge for the Alliance occupation of Fortress Town.", (strcharinfo(0) == $MOST_HEROIC$ ? lg("Hero") : lg("Adventurer")), .name$);
+ next;
+ if (BARBARA_STATE == 2) {
+ inventoryplace NPCEyes, 1;
+ mesn;
+ mesq l("Sir Pyndragon and Lady Lalica asked to thank thee for the situation with the thief.");
+ next;
+ mesn;
+ mesq l("Therefore, please choose a permanent stat-boosting fruit.");
+ next;
+ menuint
+ l("I'll decide later"), 0,
+ l("Strength"), StrengthFruit,
+ l("Agility"), AgilityFruit,
+ l("Vitality"), VitalityFruit,
+ l("Intelligence"), IntelligenceFruit,
+ l("Dexterity"), DexterityFruit,
+ l("Luck"), LuckFruit;
+ mes "";
+ if (@menuret) {
+ getitembound @menuret, 1, 4;
+ BARBARA_STATE += 10;
+ getexp 0, 250;
+ mesn;
+ mesq l("Here you go. Please, keep fighting and growing strong. Improving oneself is... Damn, I forgot the proverb.");
+ next;
+ }
+ }
+
+ // Endtrail
+ mes "";
+ mesc l("@@ You need to wait further releases to continue this quest!", b(l("WARNING:"))), 1;
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+025-1,59,86,0 script Commander Cadis NPC_BRGUARD_SWORD,{
+ function cadisReward;
+ mesn;
+ mesq l("Greetings %s, I am %s, I am in charge of monster extermination.", (strcharinfo(0) == $MOST_HEROIC$ ? lg("Hero") : lg("Adventurer")), .name$);
+ next;
+ // Check for ongoing quests
+ if (getq(FortressQuest_SlimeHunter) == 1)
+ goto L_SlimeHunter;
+ if (getq(FortressQuest_Over100) == 1)
+ goto L_Over100;
+ if (getq(FortressQuest_RangedHunt) == 1)
+ goto L_RangedHunt;
+ mesn;
+ mesq l("I have extremely difficult quests for you; They are more painful than a Grand Hunter Quest, because I don't admit wimps fighting with me.");
+ next;
+ mesn;
+ mesq l("You will be rewarded by me shall you succeed in any of the tasks.");
+ mesc l("%s: Once accepted, you must complete them before taking another one.", b(l("WARNING")));
+ // Well, we *could* make it more GHQ-like but lazy devs are lazy.
+ next;
+ do
+ {
+ select
+ l("I'm not interested."),
+ rif(!getq(FortressQuest_SlimeHunter), l("The Great Slime Hunt")),
+ rif(!getq(FortressQuest_Over100), l("The Great Over 100 Hunt")),
+ rif(!getq(FortressQuest_RangedHunt), l("The Great Ranged Hunt"));
+ mes "";
+ switch (@menu) {
+ case 1:
+ close;
+ case 2:
+ mesn;
+ mesq l("You'll have to slay %s %s for me! I don't care which ones, just SLAY THEM!", fnum(.million), l("slimes"));
+ next;
+ select
+ l("Accept"),
+ l("Reject");
+ mes "";
+ if (@menu == 1) {
+ setq1 FortressQuest_SlimeHunter, 1;
+ mesn;
+ mesq l("Then get to work already!");
+ close;
+ }
+ break;
+ case 3:
+ mesn;
+ mesq l("You'll have to slay %s %s for me! I don't care which ones, just SLAY THEM!", fnum(.million), l("monsters of at least level 100"));
+ mesc l("Each monster will be counted as %d kills.", 2);
+ next;
+ select
+ l("Accept"),
+ l("Reject");
+ mes "";
+ if (@menu == 1) {
+ setq1 FortressQuest_Over100, 1;
+ mesn;
+ mesq l("Then get to work already!");
+ close;
+ }
+ break;
+ case 4:
+ mesn;
+ mesq l("You'll have to slay %s %s for me! I don't care which ones, just SLAY THEM!", fnum(.million), l("ranged monsters"));
+ mesc l("Minimum range: %d", 3);
+ next;
+ select
+ l("Accept"),
+ l("Reject");
+ mes "";
+ if (@menu == 1) {
+ setq1 FortressQuest_RangedHunt, 1;
+ mesn;
+ mesq l("Then get to work already!");
+ close;
+ }
+ break;
+ }
+ } while (true);
+ close;
+
+L_SlimeHunter:
+ cadisReward(FortressQuest_SlimeHunter, l("Slimes"));
+ close;
+
+L_Over100:
+ cadisReward(FortressQuest_Over100, l("over 100 mobs"));
+ close;
+
+L_RangedHunt:
+ cadisReward(FortressQuest_RangedHunt, l("ranged mobs"));
+ close;
+
+function cadisReward {
+ .@kill=getq2(getarg(0));
+ .@rewa=getq3(getarg(0));
+ mesn;
+ mesq l("Thus far you've slain %s/%s %s for me!", fnum(.@kill), fnum(.million), b(getarg(1, "monsters")));
+ inventoryplace NPCEyes, 4, Iten, 2;
+
+ // ***** ***** ***** Rewards ***** ***** *****
+ if (.@kill >= .tier1 && .@rewa < 1) {
+ mesc l("Milestone reached: %s kills", fnum(.tier1));
+ setq3 getarg(0), 1;
+ getitem MercenaryBoxsetDD, 3;
+ getitem SacredImmortalityPotion, 2;
+ getitem MercenaryBoxsetE, 1;
+ }
+
+ if (.@kill >= .tier2 && .@rewa < 2) {
+ mesc l("Milestone reached: %s kills", fnum(.tier2));
+ setq3 getarg(0), 2;
+ getitem MercenaryBoxsetEE, 1;
+ getitem MagicApple, 1;
+ getitem EquipmentBlueprintE, 1;
+ getitem IridiumOre, 2;
+ }
+
+ if (.@kill >= .tier3 && .@rewa < 3) {
+ mesc l("Milestone reached: %s kills", fnum(.tier3));
+ setq3 getarg(0), 3;
+ getitem MercenaryBoxsetEE, 2;
+ getitem StrangeCoin, 50;
+ getitem EarthPowder, 2;
+ getitem PlatinumOre, 1;
+ }
+
+ if (.@kill >= .tier4 && .@rewa < 4) {
+ mesc l("Milestone reached: %s kills", fnum(.tier4));
+ setq3 getarg(0), 4;
+ getitem MercenaryBoxsetEE, 3;
+ getitem ElixirOfLife, 5;
+ getitem EarthPowder, 2;
+ getitem PlatinumOre, 1;
+ }
+
+
+ // Quest complete
+ if (.@kill >= .million) {
+ mesc b(l("Quest complete: Congratulations!")), 3;
+ setq1 getarg(0), 2;
+ setq3 getarg(0), 5;
+ getitem MercenaryBoxsetEE, 5;
+ getitem StrangeCoin, 100;
+ getitem EarthPowder, 3;
+ getitem any(LuckFruit, DexterityFruit, IntelligenceFruit, VitalityFruit, AgilityFruit, StrengthFruit), 1;
+ getitem MysteriousFruit, 1;
+ }
+ return;
+}
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ .million = 1000000;
+
+ .tier1 = 10000;
+ .tier2 = 50000;
+ .tier3 = 250000;
+ .tier4 = 500000;
+ end;
+}
+
+// Commander Cadis Questcheck
+function script CadisQuestCheck {
+ if (!playerattached())
+ return;
+
+ .@mobId=getarg(0, killedrid);
+
+ if (getq(FortressQuest_SlimeHunter) == 1) {
+ // Register the kill
+ if (compare("slime", strtolower(strmobinfo(1, .@mobId)))) {
+ setq2 FortressQuest_SlimeHunter, getq2(FortressQuest_SlimeHunter)+1;
+ // Report every 1000 kills
+ if (getq2(FortressQuest_SlimeHunter) % 1000 == 0)
+ dispbottom l("Cadis : You have slain %s %s out of a million.", fnum(getq2(FortressQuest_SlimeHunter)), l("slimes"));
+ }
+ }
+
+ if (getq(FortressQuest_Over100) == 1) {
+ // Register the kill as doubled (to make easier)
+ if (getmonsterinfo(.@mobId, MOB_LV) >= 100) {
+ setq2 FortressQuest_Over100, getq2(FortressQuest_Over100)+2;
+ // Report every 1000 kills
+ if (getq2(FortressQuest_Over100) % 1000 == 0)
+ dispbottom l("Cadis : You have slain %s %s out of a million.", fnum(getq2(FortressQuest_SlimeHunter)), l("mobs over lv 100"));
+ }
+ }
+
+ if (getq(FortressQuest_RangedHunt) == 1) {
+ // Register the kill
+ if (getmonsterinfo(.@mobId, MOB_RANGE) >= 3) {
+ setq2 FortressQuest_RangedHunt, getq2(FortressQuest_RangedHunt)+1;
+ // Report every 1000 kills
+ if (getq2(FortressQuest_RangedHunt) % 1000 == 0)
+ dispbottom l("Cadis : You have slain %s %s out of a million.", fnum(getq2(FortressQuest_SlimeHunter)), l("ranged mobs"));
+ }
+ }
+
+ return;
+}
+
diff --git a/npc/025-1/ctrl.c b/npc/025-1/ctrl.c
new file mode 100644
index 0000000..7b1d768
--- /dev/null
+++ b/npc/025-1/ctrl.c
@@ -0,0 +1,572 @@
+// TMW2 Script
+// Notes: The Monster King will retake the town every
+// OnTue0000
+// (Tuesday, midnight)
+// Only the world hero may begin a siege.
+// Only one siege per day is allowed
+// Writes to MK Temp Var. This variable will unlock the castle gates
+// Then the inner gates, and finally, will be a co-requisite to the floors
+// Variables:
+// $FORTRESS_STATE = int
+// 0 - Locked
+// 1 - Unlocked
+// $@FORTRESS_STATUE = bitmask
+// 1,2,4,8,16 - broken statues
+// 1024 - Fortress Gate
+// 2048 - Siege started
+// 4096 - Governor was spawned
+// $@FORT_BLACKLIST = int array
+// Char ID which already raided this week
+
+// MAPFLAGS
+025-1 mapflag zone SuperMMO
+025-3 mapflag zone SuperMMO
+026-0 mapflag zone SuperMMO
+026-1 mapflag zone SuperMMO
+026-2 mapflag zone SuperMMO
+
+/////////////////////////////////////////
+// FUNCTIONS
+
+// FTCleanup(status)
+function script FTCleanup {
+ // Kills whatever called this function if time is wrong
+ if ($GAME_STORYLINE < 3)
+ end;
+ // Reset variables
+ $FORTRESS_STATE=getarg(0);
+ $@FORTRESS_STATUE=0;
+ // Enable the Magic Statues
+ enablenpc "Magic Statue#1";
+ enablenpc "Magic Statue#2";
+ enablenpc "Magic Statue#4";
+ enablenpc "Magic Statue#8";
+ enablenpc "Magic Statue#16";
+ // Kill stray monsters (including town gate)
+ killmonsterall("025-1");
+ // Main gate
+ if ($FORTRESS_STATE) {
+ hideonnpc "Gate#F";
+ enablenpc "Yuko";
+ enablenpc "Ihclot";
+ enablenpc "Salohnic";
+ enablenpc "Xovilam";
+ enablenpc "Drahcir";
+ enablenpc "Selim";
+ enablenpc "Rum Barrel";
+ enablenpc "Commander Povo";
+ enablenpc "Commander Cadis";
+ enablenpc "Phoenix Rebirth";
+ enablenpc "Anin The Traveler";
+ enablenpc "The Impregnable Fortress";
+ enablenpc "#025-3_100_179";
+ donpcevent "#025-1_99_112::OnDisable";
+ deletearray $@FORT_BLACKLIST;
+ } else {
+ hideoffnpc "Gate#F";
+ disablenpc "Yuko";
+ disablenpc "Ihclot";
+ disablenpc "Salohnic";
+ disablenpc "Xovilam";
+ disablenpc "Drahcir";
+ disablenpc "Selim";
+ disablenpc "Rum Barrel";
+ disablenpc "Commander Povo";
+ disablenpc "Commander Cadis";
+ disablenpc "Phoenix Rebirth";
+ disablenpc "Anin The Traveler";
+ disablenpc "The Impregnable Fortress";
+ disablenpc "#025-3_100_179";
+ donpcevent "#025-1_99_112::OnEnable";
+ mapwarp("025-1", "025-2", 100, 27);
+ }
+ enablenpc "#025-1_100_123";
+ return;
+}
+
+// FTStatue(id)
+function script FTStatue {
+ .@id=getarg(0);
+ mesn l("Magic Statue");
+ mes l("There is a reading: The Mana Source. The Moubootaur. The Monster King.");
+ mes l("The war. The blood. The inspiration. The mana. The world. The defiance.");
+ mes l("The guard. The heir. The originals. The races. The later. The seal.");
+ mes l("The fragments. The war. The Terranite. AEGIS MAGNA PROTECTIVE SCUTUM.");
+ next;
+ mesc l("It seems to be a defensive spell.");
+ if ($FORTRESS_STATE)
+ return false;
+
+ // Break the statues?
+ mesc l("Break the Statue?"), 1;
+ if (!islegendary())
+ mesc l("* May stun you for 10 seconds!");
+ next;
+ if (askyesno() == ASK_YES) {
+ if ($@FORTRESS_STATUE & .@id)
+ return false;
+ if (!islegendary())
+ sc_start SC_STUN, 10000, 1;
+ doevent("Gate#F::OnStatueBreach");
+ mapannounce("025-1", strcharinfo(0)+" has broken a statue!", bc_map);
+ $@FORTRESS_STATUE=$@FORTRESS_STATUE|.@id;
+ return true;
+ }
+
+ return false;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+/////////////////////////////////////////
+// NPC SCRIPTS
+
+// Main gate - Also where the World Hero can begin the siege
+025-1,99,112,0 script Gate#F NPC_NO_SPRITE,{
+ function spawnMob;
+ function spawnCore;
+ // Main Story block - WHAT
+ if ($GAME_STORYLINE < 3)
+ die();
+ // Still open
+ if ($FORTRESS_STATE)
+ end;
+ // Siege ongoing
+ if ($@FORTRESS_STATUE)
+ end;
+ // Only World Hero may interact
+ if (strcharinfo(0) != $MOST_HEROIC$ && !is_master()) {
+ dispbottom l("I will not assault the Fortress Island by myself. Instead, I'll wait for %s.", $MOST_HEROIC$);
+ end;
+ }
+
+ // Hey, you can assault the town!
+ mesc ".:: "+l("THE FORTRESS ISLAND TOWN") + " ::.", 1;
+ mes l("Behind this gate, lies the Fortress Island Town.");
+ next;
+ mesc ".:: "+l("THE FORTRESS ISLAND TOWN") + " ::.", 1;
+ mesc l("Assault?"), 1;
+ mes l("* Ensure you and your team is ready and at their positions.");
+ next;
+ select
+ l("Not now."),
+ l("Information"),
+ l("Bring it on, we're ready!");
+ mes "";
+ if (@menu == 1) {
+ close;
+ } else if (@menu == 2) {
+ mesc l("* The siege resets at Tuesday 00:00");
+ mesc l("* Sieges increase in difficulty as they are won");
+ mesc l("* Unlike monster sieges, the difficulty does not fluctuates based on nº of players or their level!");
+ dnext;
+ mesc l("* The warp to this map will be suspended until the siege is finished.");
+ mesc l("* The town is liberated once the Monster Governor is slain.");
+ mesc l("* Monster Governor will only show up when the town magic shield is broken.");
+ mesc l("* Monster Governor gives 500,000 exp and 100,000 jexp to whoever deals most damage to it");
+ dnext;
+ mesc l("* All monsters in the town and Impregnable Fortress give +25%% EXP");
+ mesc l("* You cannot teleport in the town.");
+ mesc l("* This is a Cursed Lands map, watch out for MP during the fights as well");
+ mesc l("* The siege is lost if all players die.");
+ mesc l("* Only one attempt can be made per day.");
+ close;
+ }
+
+ // FIRE THE EVENT
+ hideonnpc "Gate#F";
+ disablenpc "#025-1_100_123";
+ initnpctimer;
+
+ // Reset variables
+ $@FORTRESS_STATUE=2048;
+
+ // Spawn the gate
+ .@g=monster("025-1", 99, 113, strmobinfo(1, FortressGate), FortressGate, 1, "Gate#F::OnSesame");
+ .@bhp=getunitdata(.@g, UDT_MAXHP);
+ .@bhp=.@bhp*(25+$MK_TEMPVAR)/25; // +4% per success or 8,000 HP
+ setunitdata(.@g, UDT_MAXHP, .@bhp);
+ setunitdata(.@g, UDT_HP, .@bhp);
+
+ // Initial defending waves
+ spawnCore(true);
+ spawnCore(false);
+
+ // Front Gate Guardians (Lv 70~80)
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@x1=.@x-5;
+ .@x2=.@x+5;
+ .@y1=.@y-5;
+ .@y2=.@y+5;
+ for (.@i = 0; .@i < 4; ++.@i) {
+ spawnMob(any(AzulSkullSlime, YellowSkullSlime, Forain, GreenDragon, Michel, EliteDuck, Troll, Moonshroom, Terranite), .@x1, .@y1, .@x2, .@y2);
+ }
+
+ // Player blacklist (unable to use 025-2 warp)
+ maptimer2("025-1", 10, "Gate#F::OnMPBlacklist");
+ kamibroadcast($MOST_HEROIC$+"'s team has begun a siege on Fortress Town. Will they prevail?");
+ close;
+
+/////////////////////////////////////////////////////////
+OnSesame:
+ debugmes("[INFO] FORTRESS TOWN WAS BREACHED");
+ $@FORTRESS_STATUE = $@FORTRESS_STATUE|1024;
+ donpcevent "#025-1_99_112::OnDisable";
+ kamibroadcast("The Fortress Town Gate has been breached!");
+ spawnCore(true);
+ close;
+
+// Heartbeat (B1)
+OnTimer35000:
+ if ($FORTRESS_STATE)
+ end;
+ .@breach=($@FORTRESS_STATUE & 1024);
+ if (mobcount("025-1", "all") < (.@breach ? 180 : 90))
+ spawnCore(.@breach);
+ end;
+
+// Heartbeat (B2)
+OnTimer70000:
+ if ($FORTRESS_STATE)
+ end;
+
+ // Initial variables
+ .@breach=($@FORTRESS_STATUE & 1024);
+ .@ppl=getmapusers("025-1");
+
+ // Fail condition
+ if (.@ppl <= 0) {
+ kamibroadcast("Players failed to conquer the Fortress Island!");
+ FTCleanup($FORTRESS_STATE);
+ end;
+ }
+
+ // Spawn mobs
+ spawnCore(.@breach);
+
+ // Summon reinforcements
+ maptimer2("025-1", 10, "Gate#F::OnMPReinforce");
+
+ // Restart timer
+ initnpctimer;
+ end;
+/////////////////////////////////////////////////////////
+OnMPBlacklist:
+ array_push($@FORT_BLACKLIST, getcharid(0));
+ goto OnMPReinforce;
+
+OnMPReinforce:
+ // Dispose dead bodies
+ if (ispcdead() || getmap() != "025-1") {
+ warp "025-2", 96, 25;
+ end;
+ }
+ // Summon allies
+ // Last a whole minute
+ summon("Allied Guard", any(FallenGuard1, FallenGuard2, FallenGuard3));
+ end;
+
+/////////////////////////////////////////////////////////
+OnStatueBreach:
+ spawnCore(true);
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@x1=.@x-5;
+ .@x2=.@x+5;
+ .@y1=.@y-5;
+ .@y2=.@y+5;
+ // Statue Guardians (Lv 70~90)
+ for (.@i = 0; .@i < 5; ++.@i) {
+ spawnMob(any(AzulSkullSlime, YellowSkullSlime, Forain, GreenDragon, Michel, EliteDuck, Troll, Moonshroom, Terranite, JackO, BlackMamba, Centaur, GoboBear, TerraniteProtector), .@x1, .@y1, .@x2, .@y2);
+ }
+ // Maybe spawn monster governor
+ if (
+ ($@FORTRESS_STATUE & 1) &&
+ ($@FORTRESS_STATUE & 2) &&
+ ($@FORTRESS_STATUE & 4) &&
+ ($@FORTRESS_STATUE & 8) &&
+ ($@FORTRESS_STATUE & 16)) {
+ // The monster Governor shall now make their appearance!
+ spawnCore(true);
+ .@x1=97;
+ .@y1=21;
+ .@x2=102;
+ .@y2=25;
+ // Governor's Personal Bodyguard (Lv 90~110)
+ for (.@i = 0; .@i < 4; ++.@i) {
+ spawnMob(any(TerraniteProtector, LavaSkullSlime, VanityPixie, HolyPixie, ShadowPixie, NulityPixie, BlackSkullSlime, Reaper, NightmareDragon, WhirlyBird, PinkieSuseran), .@x1, .@y1, .@x2, .@y2);
+ }
+ .@mob=monster("025-1", any(99, 100), any(22, 23, 24), "Monster Governor", MonsterGeneral, 1, "Gate#F::OnConquest");
+ // Stat and Strengthen the governor
+ // Set governor metadata
+ setunitdata(.@mob, UDT_LEVEL, 100+$MK_TEMPVAR);
+ // Update monster modes
+ .@opt=getunitdata(.@mob, UDT_MODE);
+ .@opt=.@opt|MD_AGGRESSIVE;
+ .@opt=.@opt|MD_BOSS;
+ .@opt=.@opt|MD_NOKNOCKBACK;
+ setunitdata(.@mob, UDT_MODE, .@opt);
+ setunitdata(.@mob, UDT_RACE, RC_Legendary);
+ // Increase health in 2% per siege
+ .@bhp=75000;
+ .@bhp=.@bhp*(50+$MK_TEMPVAR)/50;
+ setunitdata(.@mob, UDT_MAXHP, .@bhp);
+ setunitdata(.@mob, UDT_HP, .@bhp);
+ // Accuracy is very very high, immune to crits, always crit
+ setunitdata(.@mob, UDT_HIT, 9999);
+ setunitdata(.@mob, UDT_LUK, 65535);
+ // Increase damage in 1% per siege (remember crit)
+ .@atk=320;
+ .@atk=.@atk*(100+$MK_TEMPVAR)/100;
+ setunitdata(.@mob, UDT_ATKMIN, .@atk);
+ setunitdata(.@mob, UDT_ATKMAX, .@atk);
+ // Ranged monster
+ setunitdata(.@mob, UDT_ATKRANGE, 8);
+ // Increase defenses in 0.5% per siege
+ .@def=getunitdata(.@mob, UDT_DEF);
+ .@def=.@def*(200+$MK_TEMPVAR)/200;
+ setunitdata(.@mob, UDT_DEF, .@def);
+ .@def=getunitdata(.@mob, UDT_MDEF);
+ .@def=.@def*(200+$MK_TEMPVAR)/200;
+ setunitdata(.@mob, UDT_MDEF, .@def);
+ .@def=getunitdata(.@mob, UDT_FLEE);
+ .@def=.@def*(200+$MK_TEMPVAR)/200;
+ setunitdata(.@mob, UDT_FLEE, .@def);
+ .@def=getunitdata(.@mob, UDT_PDODGE);
+ .@def=.@def*(200+$MK_TEMPVAR)/200;
+ setunitdata(.@mob, UDT_PDODGE, .@def);
+ // "Normalize" criticals
+ setunitdata(.@mob, UDT_CRIT, rand2(900, 2700));
+
+ // Announce that the Fortress Town can now be conquered
+ kamibroadcast("##1"+"Aegis Scutum has been nullified, the Monster Governor has appeared at Fortress Town!");
+ mapannounce "025-1", "Defeat the Monster Governor to capture the fortress town.", bc_map;
+ }
+ end;
+
+/////////////////////////////////////////////////////////
+// spawnMob(Mob, X1, Y1, X2, Y2)
+function spawnMob {
+ //.@mob=monster("025-1", rand2(getarg(1), getarg(3)), rand2(getarg(2), getarg(4)), strmobinfo(1, getarg(0)), getarg(0), 1);
+ .@mob=areamonster("025-1", getarg(1), getarg(2), getarg(3), getarg(4),
+ strmobinfo(1, getarg(0)), getarg(0), 1);
+ .@opt=getunitdata(.@mob, UDT_MODE);
+ // Make aggressive
+ .@opt=.@opt|MD_AGGRESSIVE;
+ // All forces can suffer knockback
+ if (.@opt & MD_NOKNOCKBACK)
+ .@opt=.@opt^MD_NOKNOCKBACK;
+ // Save new options
+ setunitdata(.@mob, UDT_MODE, .@opt);
+
+ // Increase health in 1%+1% per siege
+ .@bhp=getunitdata(.@mob, UDT_MAXHP);
+ .@bhp=.@bhp*(101+$MK_TEMPVAR)/100;
+ setunitdata(.@mob, UDT_MAXHP, .@bhp);
+ setunitdata(.@mob, UDT_HP, .@bhp);
+
+ // Increase accuracy in 10%+1% per siege
+ .@acc=getunitdata(.@mob, UDT_HIT);
+ .@acc=.@acc*(110+$MK_TEMPVAR)/100;
+ setunitdata(.@mob, UDT_HIT, .@acc);
+
+ // TODO: adjust ViewRange
+ return;
+}
+
+// spawnCore(breach)
+function spawnCore {
+ // Now, the thing is, I don't care with how powerful your invading forces are.
+ // I only care with how many success you have.
+ if (getarg(0)) {
+ .@x1=24;
+ .@y1=21;
+ .@x2=175;
+ .@y2=105;
+ .@am=2+$MK_TEMPVAR;
+ } else {
+ .@x1=25;
+ .@y1=110;
+ .@x2=180;
+ .@y2=120;
+ .@am=1+($MK_TEMPVAR/3);
+ }
+ freeloop(true);
+ // Level 40~60 Section
+ for (.@i = 0; .@i < .@am*2; ++.@i) {
+ spawnMob(any(Tipiou, Pollet, Wolvern, FireSkull, DarkLizard, BlackScorpion, EarthFairy, FireFairy, WaterFairy, WindFairy, PoisonFairy, DustGatling, DustRifle, DustRevolver, MountainSnake, HoodedNinja, ForestMushroom, GoldenScorpion, Yeti), .@x1, .@y1, .@x2, .@y2);
+ }
+ // Level 60~80 Section
+ for (.@i = 0; .@i < .@am*3/2+1; ++.@i) {
+ spawnMob(any(Yeti, WickedMushroom, Archant, Scar, Crafty, AzulSkullSlime, YellowSkullSlime, Forain, GreenDragon, Michel, EliteDuck, Troll, Moonshroom, Terranite), .@x1, .@y1, .@x2, .@y2);
+ }
+ // Level 80~100 section
+ for (.@i = 0; .@i < .@am; ++.@i) {
+ spawnMob(any(RedSkullSlime, Terranite, JackO, BlackMamba, GreenSkullSlime, Centaur, GoboBear, TerraniteProtector), .@x1, .@y1, .@x2, .@y2);
+ }
+ // Summoners Section
+ for (.@i = 0; .@i < .@am; ++.@i) {
+ spawnMob(any(GreenSlimeMother, BlueSlimeMother, YellowSlimeMother, RedSlimeMother, WhiteSlimeMother, AzulSlimeMother, LavaSlimeMother, BlackSlimeMother), .@x1, .@y1, .@x2, .@y2);
+ }
+ if (getarg(0)) {
+ // DemiBoss section (Internal only, increases every ~2 weeks)
+ for (.@i = 0; .@i < (.@am/2); ++.@i) {
+ spawnMob(any(VanityPixie, HolyPixie, ShadowPixie, NulityPixie, Reaper, BlackSkullSlime, NightmareDragon, WhirlyBird, PinkieSuseran), .@x1, .@y1, .@x2, .@y2);
+ }
+ }
+ freeloop(false);
+ return;
+}
+
+/////////////////////////////////////////////////////////
+OnInit:
+ sleep(200); // Ensure the NPCs will exist when this run
+ FTCleanup($FORTRESS_STATE);
+ end;
+
+OnTue0000:
+ .@cl=$FORTRESS_STATE;
+ FTCleanup(false);
+ if (.@cl)
+ kamibroadcast("The Monster Army has retaken Fortress Town!");
+ end;
+
+OnConquest:
+ // Failsafe
+ if ($GAME_STORYLINE < 3)
+ end;
+ // Advance the victory count
+ $MK_TEMPVAR+=1;
+ // Handle rewards in low priority
+ freeloop(true);
+ for (.@i=0; .@i < getarraysize($@FORT_BLACKLIST); .@i++) {
+ .@cid=$@FORT_BLACKLIST[.@i];
+ rodex_sendmail(.@cid, "Commander Povo", "Fortress Town Reward", "For your bravure in Fortress Town conquest! Cheers!", 0, StrangeCoin, 1+$MK_TEMPVAR);
+ }
+ freeloop(false);
+ // Clean up the remainders of the fight
+ FTCleanup(true);
+ kamibroadcast("Fortress Town has been captured by the Allied Forces!");
+ // Experience injection to the brave (500k EXP, 100k JEXP)
+ if (playerattached()) {
+ getexp 500000, 100000;
+ getitem StrangeCoin, rand2(40,50);
+ specialeffect(FX_FANFARE, AREA, getcharid(3));
+ }
+ // Experience injection to the survivors
+ maptimer("025-1", 10, "Gate#F::OnConBonus");
+ stopnpctimer;
+ // Begin Fires of Steam if needed
+ if (!$FIRESOFSTEAM && $MK_TEMPVAR >= MK_FIRESOFSTEAM_START) {
+ kamibroadcast("Andrei Sakar : It has been about three months since we begun battling for control overthe Fortress Town.");
+ sleep(5000);
+ kamibroadcast("Andrei Sakar : Since this begun, however, we've heard nothing of Artis Town.");
+ sleep(5000);
+ kamibroadcast("Andrei Sakar : Therefore, I invite all of you, brave adventurers, to go on an expedition with me to Artis.");
+ sleep(5000);
+ kamibroadcast("Andrei Sakar : "+b("Hopefully nothing terrible happened... Nard shall provide us transport."));
+ sleep(5000);
+ kamibroadcast("Andrei Sakar : I only want people strong enough to battle on the Fortress because the risks are high. Onwards! To victory! I'll be waiting");
+ $FIRESOFSTEAM = 1;
+ }
+ end;
+
+OnConBonus:
+ message strcharinfo(0), l("Commander Povo : Good job %s. You did well.", lg("girl", "man")); // TRANSLATORS: Preserve whitespace.
+ .@it=any(ApanaCake, SacredLifePotion, SacredManaPotion, SacredImmortalityPotion, DeathPotion, PurificationPotion, ApanaCake);
+ if (.@it == ApanaCake || .@it == PurificationPotion)
+ .@qn = rand2(2, 5);
+ else
+ .@qn = 1;
+ getitem .@it, .@qn;
+ getexp 25000, 10000;
+ end;
+}
+
+
+/////////////////////////////////////////////////////////
+// Statue NPCs
+025-1,32,55,0 script Magic Statue#1 NPC_STATUE_WIZARD,{
+ .@b=FTStatue(strnpcinfo(2, "0"));
+ if (.@b)
+ disablenpc .name$;
+ close;
+
+OnInit:
+ .distance=2;
+ end;
+}
+
+025-1,160,25,0 duplicate(Magic Statue#1) Magic Statue#2 NPC_STATUE_BACCHUS
+025-1,156,97,0 duplicate(Magic Statue#1) Magic Statue#4 NPC_STATUE_FAFA
+025-1,134,70,0 duplicate(Magic Statue#1) Magic Statue#8 NPC_STATUE_EVILMAN
+025-1,80,37,0 duplicate(Magic Statue#1) Magic Statue#16 NPC_STATUE_GUARD
+
+
+
+
+
+/////////////////////////////////////////////////////////
+// The Impregnable Fortress Gate
+025-1,99,20,0 script The Impregnable Fortress NPC_NO_SPRITE,3,1,{
+ // Operation not permitted
+ if (!$FORTRESS_STATE || $@FORTRESS_STATUE)
+ end;
+ // Not unlocked
+ if ($GAME_STORYLINE >= 3 && $MK_TEMPVAR < MKIF_LV_0F) {
+ mesc l("The gate is sealed shut."), 1;
+ mesc l("The monster army is still strong on this floor!"), 1;
+ mesc l("Minimum wins: %d/%d", $MK_TEMPVAR, MKIF_LV_0F), 1;
+ close;
+ }
+ mesc l("Visit the Impregnable Fortress, 0F?");
+ mesc l("Minimum wins: %d/%d", $MK_TEMPVAR, MKIF_LV_0F);
+ if (askyesno() == ASK_YES)
+ warp "025-3", 100, 178;
+ closeclientdialog;
+ close;
+
+OnTouch:
+ // Operation not permitted
+ if (!$FORTRESS_STATE || $@FORTRESS_STATUE)
+ end;
+ // Not unlocked
+ if ($GAME_STORYLINE >= 3 && $MK_TEMPVAR < MKIF_LV_0F)
+ end;
+ warp "025-3", 100, 178;
+ end;
+
+OnInit:
+ .distance=4;
+ end;
+}
+
+
+/////////////////////////////////////////////////////////
+// Real access to 025-1 map
+025-2,96,24,0 script Fortress Town Access NPC_HIDDEN,8,0,{
+ end;
+OnTouch:
+ // Disabled
+ if ($GAME_STORYLINE < 3 || $@FORTRESS_STATUE)
+ end;
+ // Open
+ if ($FORTRESS_STATE)
+ cwarp "025-1", 99, 122;
+ // Blacklisted
+ if (array_find($@FORT_BLACKLIST, getcharid(0)) != -1)
+ end;
+ // Not blacklisted
+ warp "025-1", 99, 122;
+ end;
+}
+
+
diff --git a/npc/025-1/drahcir.txt b/npc/025-1/drahcir.txt
new file mode 100644
index 0000000..72a3b7c
--- /dev/null
+++ b/npc/025-1/drahcir.txt
@@ -0,0 +1,16 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Drahcir is Richard spelled backwards
+
+025-1,167,61,0 script Drahcir NPC_LLOYD,{
+ Banker(.name$, "Fortress Town", 2000);
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/025-1/ihclot.txt b/npc/025-1/ihclot.txt
new file mode 100644
index 0000000..cd093e2
--- /dev/null
+++ b/npc/025-1/ihclot.txt
@@ -0,0 +1,148 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Ihclot is Tolchi spelled backwards
+
+025-1,96,66,0 script Ihclot NPC_RAIJIN_FEMALE_LEGION_ARTIS,{
+ function apRefresh;
+ function getPrice;
+ function getPriceInt;
+
+ .@left=apRefresh();
+ mesn;
+ mesq l("I put options on items upon request, but I am very expensive! This is deducted from your tweaking quota.");
+ if (!.@left) {
+ mesc l("You currently have no Tweaking AP, so you will need to wait %02d minute(s).", 60-gettime(GETTIME_MINUTE)), 1;
+ close;
+ }
+ next;
+ mesn;
+ mesq l("I'll read the options from you, but the level will be paid by me, and failure rate is non-existant. I am the best. blacksmith. in. the. universe! Use %s if you need to change any options.", b("@ucp"));
+ csysGUI_Report();
+
+ mesc l("Please select the item you plan in tweaking."), 1;
+ // Request and confirm
+ .@id=requestitemindex();
+ if (!csys_Confirm(.@id))
+ close;
+
+ // Find numeric ID
+ delinventorylist();
+ getinventorylist();
+ .@handle=@inventorylist_id[.@id];
+ .@lv=getiteminfo(.@handle, ITEMINFO_ELV);
+
+ // Invalid (absolutely should never happen)
+ if (.@handle < 1) {
+ mesn;
+ mesq l("...What? Which item? Sorry, too much smoke around here.");
+ next;
+ close;
+ }
+ // Multiple
+ if (countitem(.@handle) != 1) {
+ mesn;
+ mesq l("Sorry, but you have multiple %s.", getitemlink(.@handle));
+ next;
+ close;
+ }
+ // Permission NG: (Not Granted)
+ if (.@lv < .minLevel) {
+ mesn;
+ mesq l("Sorry, but I won't dare touch a %s.", getitemlink(.@handle));
+ next;
+ mesn;
+ mesq l("Depending on the case, Nicholas, in Hurnscald, can do a better job than me.");
+ tutmes l("The selected item is too weak. %s will only tweak items level %d or higher.", .name$, .minLevel);
+ next;
+ close;
+ }
+ // Aleady slotted
+ if (getitemoptionidbyindex(.@id, 0) > 0) {
+ mesn;
+ mesq l("I'm not going to try to improve this masterpiece. Look its options!");
+ next;
+ close;
+ }
+
+ // Calculate price
+ .@price=.@lv**3; // Cubic function to determine price.
+ .@price=max(1, .@price/7);
+ mesn;
+ mesq l("Please select the level I should use.");
+ menuint
+ l("Abort (%d GP)", fnum(.@price*0)), 0,
+ getPrice(.@price, 10), 10,
+ getPrice(.@price, 20), 20,
+ getPrice(.@price, 30), 30,
+ getPrice(.@price, 40), 40,
+ getPrice(.@price, 50), 50,
+ getPrice(.@price, 60), 60,
+ getPrice(.@price, 70), 70,
+ getPrice(.@price, 80), 80,
+ getPrice(.@price, 90), 90,
+ getPrice(.@price, 100), 100;
+ mes "";
+ if (@menuret == 0)
+ close;
+
+ // Ask player to confirm
+ if (!csys_Confirm(.@id))
+ close;
+
+ // Perform payment
+ Zeny-=getPriceInt(.@price, @menuret);
+ SMITH_TWEAKS+=1;
+
+ // Apply the bonuses
+ csys_ApplyPerfect(.@id, .@level);
+ mesn;
+ mesc l("Well, here you are. I hope you enjoy ^^", 3);
+ // Act 5+ Grace Reroll
+ if ($GAME_STORYLINE >= 5) {
+ next;
+ mesc l("DO YOU WANT TO REROLL THE ITEM? THIS CANNOT BE UNDONE! (free)"), 1;
+ next;
+ if (askyesno() == ASK_YES)
+ csys_ApplyPerfect(.@id, .@level);
+ }
+ close;
+
+/* *************************************************************************** */
+function apRefresh {
+ .@left=gettimeparam(GETTIME_HOUR)-SMITH_TWEAKS;
+ if (.@left > 6) {
+ .@left=6;
+ SMITH_TWEAKS=gettimeparam(GETTIME_HOUR)-6;
+ }
+ return .@left;
+}
+
+function getPriceInt {
+ .@price=getarg(0);
+ .@level=getarg(1);
+ .@final=.@price*.@level/5;
+ if (strcharinfo(0) == $MOST_HEROIC$)
+ .@final=max(1, .@final-(.@level*5000));
+ return .@final;
+}
+
+function getPrice {
+ .@price=getarg(0);
+ .@level=getarg(1);
+ .@final=getPriceInt(.@price, .@level);
+ if (Zeny >= .@final)
+ return l("Level %d (%s GP)", .@level, fnum(.@final));
+ else
+ return "";
+}
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 5;
+ .minLevel = 50;
+ end;
+}
+
+
diff --git a/npc/025-1/phoenix.txt b/npc/025-1/phoenix.txt
new file mode 100644
index 0000000..5e80f41
--- /dev/null
+++ b/npc/025-1/phoenix.txt
@@ -0,0 +1,230 @@
+// TMW-2 Script.
+// Author:
+// Jesusalva
+// Notes:
+// Phoenix Rebirth
+
+025-1,66,21,0 script Phoenix Rebirth NPC_BRGUARD_SPEAR,{
+ setpcblock(PCBLOCK_HARD, true);
+ .@phoenix = true;
+
+OnMain:
+ mesn;
+ mesq l("Hello there. My name is %s.", .name$);
+ next;
+ mesn;
+ if (REBIRTH)
+ .@blvl=0-(REBIRTH_OVERLEVEL/REBIRTH);
+ else
+ .@blvl=0;
+
+ switch (REBIRTH) {
+ case 0:
+ .@blvl+=99;
+ .@rebirth$=l("first");
+ break;
+ case 1:
+ .@blvl+=120;
+ .@rebirth$=l("second");
+ break;
+ case 2:
+ .@blvl+=135;
+ .@rebirth$=l("third");
+ break;
+ case 3:
+ .@blvl+=150;
+ .@rebirth$=l("fourth");
+ break;
+ case 4:
+ .@blvl+=175;
+ .@rebirth$=l("final");
+ if ($GAME_STORYLINE >= 5)
+ break;
+ default:
+ setpcblock(PCBLOCK_HARD, false);
+ mesc l("Unfortunately you cannot rebirth anymore!");
+ close;
+ break;
+ }
+ .@blvl=max(90, .@blvl); // Do not allow it to go too far below!
+ mesc l("Once you reach level %d, I'll offer you a life-time opportunity to delete all your levels and experience for your %s rebirth!", .@blvl, .@rebirth$);
+ next;
+ mesn;
+ mesq l("Rebirth is free. Here are the perks you'll get by doing the rebirth:");
+ mes "";
+ mes l("* +3 Inventory Slots")+" ##1##BWIP##b##0";
+ mes l("* +1 in all attributes, permanently");
+ mes l("* +1 Magic Skill Point");
+ mes l("* +%d%% EXP Gain and Drop Chance, permanently", 2);
+ mes l("* 1 %s", getitemlink(SupremeGift));
+ mes l("* 1 Trait");
+ mes l("* Healing items improved");
+ mes l("* %s Level up", getskillname(TMW2_DROPS));
+ if (BaseLevel < .@blvl) {
+ setpcblock(PCBLOCK_HARD, false);
+ close;
+ }
+ next;
+ mesn;
+ mesq l("Are you interested? You'll keep %s your equipment, magic, quest progression, craft recipes, money, whatever else which is not a level. Not even Job level won't be reset!", b(l("ALL")));
+ mesc l("This cannot be undo later!"), 1;
+ next;
+ setpcblock(PCBLOCK_HARD, false);
+ inventoryplace NPCEyes, 7;
+ select
+ l("Do not rebirth"),
+ l("Rebirth"),
+ l("Do not rebirth");
+ mes "";
+ if (@menu != 2)
+ close;
+ mesc l("ARE YOU SURE? THIS CANNOT BE UNDONE LATER!!"), 1;
+ if (askyesno() != ASK_YES)
+ close;
+
+ setnpcdialogtitle l("Rebirth Trait Selection");
+ mesc l("Please select a trait.");
+ mesc l("This choice CANNOT be undone later."), 1;
+ menuint
+ l("Cancel"), 0,
+ rif(!(PCBONUS & PCB_ATKBONUS), l("Atk +25")), PCB_ATKBONUS,
+ rif(!(PCBONUS & PCB_MATKBONUS), l("Matk +25")), PCB_MATKBONUS,
+ rif(!(PCBONUS & PCB_DEFBONUS), l("Def +20")), PCB_DEFBONUS,
+ rif(!(PCBONUS & PCB_MDEFBONUS), l("MDEF +10")), PCB_MDEFBONUS,
+ rif(!(PCBONUS & PCB_EVDBONUS), l("Evasion +20")), PCB_EVDBONUS,
+ rif(!(PCBONUS & PCB_HITBONUS), l("Accuracy +25")), PCB_HITBONUS,
+ rif(!(PCBONUS & PCB_CRITBONUS), l("Crit +5%")), PCB_CRITBONUS,
+ rif(!(PCBONUS & PCB_DOUBLEATK), l("Double Attack +5%")), PCB_DOUBLEATK,
+ rif(!(PCBONUS & PCB_ALLSTATS), l("All Stats +1")), PCB_ALLSTATS,
+ rif(!(PCBONUS & PCB_HPBONUS), l("HP +500")), PCB_HPBONUS,
+ rif(!(PCBONUS & PCB_MPBONUS), l("MP +200")), PCB_MPBONUS,
+ rif(!(PCBONUS & PCB_ASPDBONUS), l("Atk. Speed +10")), PCB_ASPDBONUS,
+ rif(!(PCBONUS & PCB_WSPDBONUS), l("Walk +5%")), PCB_WSPDBONUS,
+ rif(!(PCBONUS & PCB_WEIGHTBONUS), l("Max Weight +1kg")), PCB_WEIGHTBONUS,
+ rif(!(PCBONUS & PCB_EXPBONUS), l("EXP Gain +10%")), PCB_EXPBONUS,
+ rif(!(PCBONUS & PCB_NOKNOCKBACK), l("Knockback Immunity")), PCB_NOKNOCKBACK,
+ rif(REBIRTH && !(PCBONUS & PCB_SPLASHMASTER), l("AoE (not stackable)")), PCB_SPLASHMASTER,
+ rif(REBIRTH && !(PCBONUS & PCB_RANGEMASTER), l("Atk Range +1")), PCB_RANGEMASTER,
+ rif(REBIRTH < 5 && !(PCBONUS & PCB_LEGENDARY), l("No penalty against Legendary mobs")), PCB_LEGENDARY;
+ if (@menuret == 0) return;
+ PCBONUS=PCBONUS|@menuret;
+
+ // Okay, then a rebirth it is!
+ expandinventory(3);
+ REBIRTH+=1;
+ REBIRTH_OVERLEVEL=max(0, BaseLevel-.@blvl-(REBIRTH_OVERLEVEL/REBIRTH));
+ resetlvl(3);
+ sk_lvup(TMW2_DROPS);
+ NewcomerEXPDROPUP();
+ getvaultexp(20);
+ getitembound SupremeGift, 1, 4;
+ warp "005-1", 40, 117;
+ LOCATION$="Candor";
+ kamibroadcast(strcharinfo(0)+" has been reborn.");
+ // Maybe you were THE FIRST
+ if (!REBIRTH_WINNER)
+ REBIRTH_WINNER = gettimetick(2);
+ if ($REBIRTH_WINNER$ == "") {
+ $REBIRTH_WINNER$=strcharinfo(0);
+ channelmes("#world", $REBIRTH_WINNER$+" is the first player to REBIRTH!! They are so OP! %%N");
+ announce "All hail ##B"+$REBIRTH_WINNER$+"##b, first player to REBIRTH and become OP!", bc_all|bc_npc;
+ getitem SupremeGift, 1;
+ next;
+ }
+ // These operations can be delayed or fail
+ StatusResetReinvest();
+ if ($EVENT$ == "Rebirth" && .@phoenix)
+ BaseLevel = 3;
+ // Open a new dialog
+ clear;
+ setnpcdialogtitle l("Rebirth Race Selection");
+ mesc l("Do you want to change your race?");
+ mesc l("This can only be reverted at rebirth! Beware!");
+ next;
+ if (askyesno() != ASK_YES)
+ close;
+
+ // Rebirth: 0
+ mes "";
+ mes ".:: "+l("Human")+" ::.";
+ mesc l("The most widespread race in the continent, highly versatile, perfect all-rounders.");
+ mesc l("Strength: NONE"), 2;
+ mesc l("Weakness: NONE"), 1;
+
+
+ // Rebirth: 1
+ if (REBIRTH >= 1) {
+ mes "";
+ mes ".:: "+l("Elven")+" ::.";
+ mesc l("They are highly intelligent, and have higher magical affinity, and live longer, but lacks creativity.");
+ mesc l("Strength: INT+"), 2;
+ mesc l("Weakness: STR-"), 1;
+ mes "";
+ mes ".:: "+l("Tritan")+" ::.";
+ mesc l("Blue from sea, learned how to hunt. But unfortunately, not how to withstand attacks.");
+ mesc l("Strength: DEX+"), 2;
+ mesc l("Weakness: VIT-"), 1;
+ }
+
+
+ // Rebirth: 2
+ if (REBIRTH >= 2) {
+ mes "";
+ mes ".:: "+l("Raijin")+" ::.";
+ mesc l("Lives undercover in human society. Luck led them to surviving this far.");
+ mesc l("Strength: LUK+"), 2;
+ mesc l("Weakness: DEX-"), 1;
+ mes "";
+ mes ".:: "+l("Orc")+" ::.";
+ mesc l("Highly strong and bulky, faces their foes head-on.");
+ mesc l("Strength: STR+, Carry Weight +"), 2;
+ mesc l("Weakness: AGI-"), 1;
+ }
+
+
+ // Rebirth: 3
+ if (REBIRTH >= 3) {
+ mes "";
+ mes ".:: "+l("Ukar")+" ::.";
+ mesc l("Superb stealth, and quick on their toes.");
+ mesc l("Strength: AGI+, Walk Speed +"), 2;
+ mesc l("Weakness: LUK-"), 1;
+ mes "";
+ mes ".:: "+l("Redy")+" ::.";
+ mesc l("Grown in harsh environments, withstand anything.");
+ mesc l("Strength: VIT++"), 2;
+ mesc l("Weakness: INT-"), 1;
+ }
+
+
+ // Rebirth: 5
+ if (REBIRTH >= 5) {
+ mes "";
+ mes ".:: "+l("Savior")+" ::.";
+ mesc l("Unparelled, strength without precedents. Ancient beings of pure mana, rumored to be immortal.");
+ mesc l("Strength: ALL"), 2;
+ mesc l("Weakness: NONE"), 1;
+ }
+ next;
+ menuint
+ l("Kaizei Human"), 0,
+ rif(REBIRTH >= 1, l("Elven")), 3,
+ rif(REBIRTH >= 1, l("Tritan")), 6,
+ rif(REBIRTH >= 2, l("Raijin")), 5,
+ rif(REBIRTH >= 2, l("Orc")), 4,
+ rif(REBIRTH >= 3, l("Ukar")), 7,
+ rif(REBIRTH >= 3, l("Redy")), 8,
+ rif(REBIRTH >= 5, l("Savior")), 9,
+ l("Argaes Human"), 1,
+ l("Tonori Human"), 2,
+ l("Don't change race"), Class;
+
+ jobchange max(0, @menuret);
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 7;
+ end;
+}
+
diff --git a/npc/025-1/rum.txt b/npc/025-1/rum.txt
new file mode 100644
index 0000000..68a6e16
--- /dev/null
+++ b/npc/025-1/rum.txt
@@ -0,0 +1,181 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Crazyfefe Rum
+// Variables:
+// FORTRESS_DATE = When the Rum started being done
+// FORTRESS_DONE = When the Rum will be ready
+// FORTRESS_AMMO = How much Rum you're trying to make
+// Success Rate is based on how much you're trying to do and how long ago that was
+
+025-1,106,56,0 script Rum Barrel NPC_NO_SPRITE,{
+ goto L_Main;
+ // rumbarrel_chance()
+ // Returns chance (0~10,000) to successfully obtain sake
+ // FORTRESS_DONE/FORTRESS_DATE is taken in account
+ function rumbarrel_chance {
+ .@max=10000;
+ .@base=FORTRESS_DATE;//-(FORTRESS_DONE-FORTRESS_DATE);
+ // .@c = how much time is left until completion
+ // .@d = original amount of time required
+ // .@e = Current time
+ .@c=FORTRESS_DONE-.@base; //-gettimetick(2);
+ .@d=FORTRESS_DATE-.@base; //-FORTRESS_DONE;
+ .@e=gettimetick(2)-.@base;
+
+ // We must divide everything by 10 to cause imprecision
+ // aka. don't cause overflow bug
+ .@c=.@c/10;
+ .@d=.@d/10;
+ .@e=.@e/10;
+
+ //debugmes "%d - %d - %d", .@d, .@e, .@c;
+ //debugmes "Start - Now - Finish";
+ if (.@c == 0)
+ return .@max;
+ if ($@GM_OVERRIDE) debugmes "Ratio: %d/%d = %d", .@e, .@c, (.@e*.@max)/.@c;
+ return min(10000, (.@e*.@max)/.@c);
+ }
+
+L_Main:
+ if (!FORTRESS_DATE) {
+ mesn;
+ mesc l("Do you want to make %s?", l("Rum"));
+ mesc l("This barrel is a courtesy from Dimond Cove Inn.");
+ next;
+ select
+ l("Information"),
+ l("Yes"),
+ l("No");
+ mes "";
+
+ switch (@menu) {
+ case 1:
+ mesc l("Produced item:");
+ mesc l("@@", getitemlink(CrazyRum));
+ mesc l("%s (rare)", getitemlink(WhiskeyAle));
+ mes "";
+ mesc l("Cost per %s glass:", l("twelve"));
+ mesc l("* @@/@@ @@", countitem(Beer), 5, getitemlink(Beer));
+ mesc l("* @@/@@ @@", countitem(ArtichokeHerb), 25, getitemlink(ArtichokeHerb));
+ mesc l("* @@/@@ @@", countitem(Fungus), 25, getitemlink(Fungus));
+ mesc l("* @@/@@ @@", countitem(RedApple), 25, getitemlink(RedApple));
+ mesc l("* @@/@@ @@", countitem(Milk), 25, getitemlink(Milk));
+ mesc l("* @@/@@ @@", countitem(ShadowHerb), 100, getitemlink(ShadowHerb));
+ mesc l("* @@ Water Bottle", 1);
+ next;
+ break;
+ case 2:
+ mesc l("How many batches do you want to produce? (max. 5)");
+ input .@glass_count;
+ if (.@glass_count < 1 ||
+ .@glass_count > 5 ||
+ countitem(ArtichokeHerb) < 25*.@glass_count ||
+ countitem(Fungus) < 25*.@glass_count ||
+ countitem(RedApple) < 25*.@glass_count ||
+ countitem(Beer) < 5*.@glass_count ||
+ countitem(Milk) < 25*.@glass_count ||
+ countitem(ShadowHerb) < 100*.@glass_count
+ ) {
+ mesc l("Not enough ingredients or invalid amount."), 1;
+ break;
+ }
+ mesc l("Which water will you use?");
+ mesc l("The bottom-most the water, the better the bonus.");
+ menuint
+ l("Cancel"), -1,
+ rif(countitem(BottleOfSewerWater) >= .@glass_count, l("Sewer Water")), 0,
+ rif(countitem(BottleOfSeaWater) >= .@glass_count, l("Sea Water")), 3600,
+ rif(countitem(BottleOfTonoriWater) >= .@glass_count, l("Tonori Water")), 11760,
+ rif(countitem(BottleOfWoodlandWater) >= .@glass_count, l("Woodland Water")), 12000,
+ rif(countitem(BottleOfDivineWater) >= .@glass_count, l("Divine Water")), 21600;
+ mes "";
+ if (@menuret < 0)
+ break;
+ switch (@menuret) {
+ case 0:
+ .@bonus=@menuret;
+ .@water=BottleOfSewerWater;
+ break;
+ case 3600:
+ .@bonus=@menuret;
+ .@water=BottleOfSeaWater;
+ break;
+ case 11760:
+ .@bonus=@menuret;
+ .@water=BottleOfTonoriWater;
+ break;
+ case 12000:
+ .@bonus=@menuret;
+ .@water=BottleOfWoodlandWater;
+ break;
+ case 21600:
+ .@bonus=@menuret;
+ .@water=BottleOfDivineWater;
+ break;
+ default:
+ mesc l("Error, invalid return code, blame Saulc"), 1;
+ mes "==== SCRIPT ABORTED";
+ close;
+ }
+
+ // Save data
+ delitem ArtichokeHerb, .@glass_count*25;
+ delitem Fungus, .@glass_count*25;
+ delitem RedApple, .@glass_count*25;
+ delitem Beer, .@glass_count*5;
+ delitem Milk, .@glass_count*25;
+ delitem ShadowHerb, .@glass_count*100;
+ delitem .@water, .@glass_count;
+ FORTRESS_AMMO=.@glass_count;
+ FORTRESS_DATE=gettimetick(2);
+ FORTRESS_DONE=gettimetick(2)-.@bonus+.mintime;
+ FORTRESS_DONE+=.cuptime*FORTRESS_AMMO;
+ break;
+ case 3:
+ close;
+ break;
+ }
+ goto L_Main;
+ } else {
+ mesn;
+ mesc l("Your request for @@ @@ are being fermented for @@.", FORTRESS_AMMO, getitemlink(CrazyRum), FuzzyTime(FORTRESS_DATE));
+ next;
+ inventoryplace CrazyRum, FORTRESS_AMMO;
+ mesn;
+ mes l("Trying to retrieve it now will have @@ % chance to be successful.", rumbarrel_chance()/100);
+ mes l("Attempt to retrieve it now?");
+ next;
+ if (askyesno() == ASK_YES) {
+ if (rand(1000,10000) < rumbarrel_chance()) {
+ mesc l("Success!"), 3;
+ if (REBIRTH > rand2(20))
+ getitem WhiskeyAle, FORTRESS_AMMO*.cupammo;
+ else
+ getitem CrazyRum, FORTRESS_AMMO*.cupammo;
+ } else {
+ mesc l("The %s wasn't ready yet and you lost it...", l("Rum")), 1;
+ }
+ FORTRESS_DATE=0;
+ FORTRESS_AMMO=0;
+ }
+ }
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+
+ // Time to make each batch (48 hours)
+ .cuptime=(60*60*48);
+ // Base time to make any amount of cups (120 hours - five days)
+ .mintime=(60*60*120);
+ // Amount of cups
+ .cupammo=12;
+ end;
+
+}
+
+
+
diff --git a/npc/025-1/salohcin.txt b/npc/025-1/salohcin.txt
new file mode 100644
index 0000000..6063eaa
--- /dev/null
+++ b/npc/025-1/salohcin.txt
@@ -0,0 +1,55 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Nicholas the Blacksmith, spelled backwards
+
+025-1,108,67,0 script Salohnic NPC_NICHOLAS,{
+ // Define variables
+ if ($GAME_STORYLINE >= 5) {
+ .@tx$=l("thrice");
+ .@txn=4;
+ .@prc=150000;
+ } else if ($GAME_STORYLINE >= 4) {
+ .@tx$=l("twice");
+ .@txn=3;
+ .@prc=90000;
+ } else {
+ .@tx$=l("once");
+ .@txn=2;
+ .@prc=60000;
+ }
+
+ // World Hero bonuses
+ if (reputation("Candor") >= 100 &&
+ reputation("Tulim") >= 100 &&
+ reputation("Halin") >= 100 &&
+ reputation("Hurns") >= 100 &&
+ reputation("LoF") >= 100 &&
+ reputation("Nival") >= 100 &&
+ reputation("Frostia") >= 100)
+ .@prc-=20000;
+
+ if (strcharinfo(0) == $MOST_HEROIC$)
+ .@prc-=20000;
+
+ // NPC body
+ mesn;
+ mesq l("Hello there, I am %s and I change item options, can I help you today?", .name$);
+ mes "";
+ mesn;
+ mesq l("You'll be charged even if you fail, be warned. You can re-roll the same item %s, free of charge, but it may break and there will be no refunds!", .@tx$);
+ next;
+
+ if (!SmithTweakSystem(.@prc, .@txn)) {
+ mes "";
+ mesn;
+ mesq l("You can always try again another day!");
+ }
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/025-1/selim.txt b/npc/025-1/selim.txt
new file mode 100644
index 0000000..76fbd9b
--- /dev/null
+++ b/npc/025-1/selim.txt
@@ -0,0 +1,81 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Selim is just a barber. No puns this time.
+
+025-1,101,58,0 script Selim NPC_ELVEN_FEMALE_ARMOR_SHOP,{
+ function setRace {
+ clear;
+ setnpcdialogtitle l("%s - Modify Race", .name$);
+ mes l("Race") + ": " + get_race();
+ next;
+ mes l("Please select the desired race.");
+ select
+ l("Kaizei Human"),
+ l("Argaes Human"),
+ l("Tonori Human"),
+ l("Elf"),
+ l("Orc"),
+ l("Raijin"),
+ l("Tritan"),
+ l("Ukar"),
+ l("Redy"),
+ l("Savior");
+ switch (@menu)
+ {
+ default:
+ jobchange max(0, @menu-1);
+ }
+ return;
+ }
+
+
+ mesn;
+ mesq l("Hi! Do you want a hair cut?");
+
+ do
+ {
+ select
+ l("What is my current hairstyle and hair color?"),
+ l("I'd like to get a different style."),
+ l("Can you do something with my color?"),
+ rif(is_gm() || REBIRTH >= 5, l("I want to change my Race!")),
+ l("I'm fine for now, thank you.");
+
+ switch (@menu)
+ {
+ case 1:
+ BarberSayStyle 3;
+ break;
+ case 2:
+ BarberChangeStyle;
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Enjoy your new style.");
+ l("Anything else?");
+ break;
+ case 3:
+ BarberChangeColor;
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("I hope you like this color.");
+ l("Anything else?");
+ break;
+ case 4:
+ setRace;
+ break;
+ case 5:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Feel free to come visit me another time.");
+
+ goodbye;
+ }
+ } while (1);
+ close;
+
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/025-1/teleporter.txt b/npc/025-1/teleporter.txt
new file mode 100644
index 0000000..4fee051
--- /dev/null
+++ b/npc/025-1/teleporter.txt
@@ -0,0 +1,23 @@
+// TMW2 Script
+// Authors:
+// Jesusalva
+// Description:
+// Link portals to soul menhirs like the teleporters from old
+// The price is temporary. This feature got in because no ship in Nivalis Port
+// PS. Anise => “Aisen†Anagram
+
+
+025-1,40,115,0 script #WarpGateFort NPC_HIDDEN,1,0,{
+ end;
+
+OnTouch:
+ TeleporterGate(TP_FORT);
+ close;
+
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
diff --git a/npc/025-1/xovilam.txt b/npc/025-1/xovilam.txt
new file mode 100644
index 0000000..886b038
--- /dev/null
+++ b/npc/025-1/xovilam.txt
@@ -0,0 +1,47 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+
+025-1,143,59,0 script Xovilam NPC_PLAYER,{
+
+ speech S_LAST_NEXT,
+ l("I am @@, an alchemist specialized in reset potions.", .name$);
+
+ select
+ l("Can you reset my stats please?"),
+ l("You are weird, I have to go sorry.");
+
+ switch (@menu)
+ {
+ case 1:
+ goto L_ResetStats;
+ case 2:
+ goto L_Quit;
+ }
+
+L_ResetStats:
+ mesn;
+ mesq l("Status point reset can't be undone. Do you really want this?");
+
+L_ConfirmReset:
+ ConfirmStatusReset(1000, false);
+ goto L_Quit;
+
+
+L_Quit:
+ goodbye;
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, FancyHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SailorShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, BromenalPants);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 17);
+
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+}
diff --git a/npc/025-1/yuko.txt b/npc/025-1/yuko.txt
new file mode 100644
index 0000000..81336bf
--- /dev/null
+++ b/npc/025-1/yuko.txt
@@ -0,0 +1,71 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Yuko Cuf is an anagram of YuckFou (see also 102 58)
+
+025-1,93,59,0 script Yuko NPC_PLAYER,{
+ mesn;
+ mesq l("Cuf! Cuf!"); // --TRANSLATORS: NOT A TYPO
+ next;
+ mesn "Yuko Cuf";
+ mesq l("Can I help you somehow today?");
+ next;
+ closeclientdialog;
+ shop .name$;
+ goodbye;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, DarkKnightHelmet);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, RedknightArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, BromenalPants);
+ setunitdata(.@npcId, UDT_WEAPON, BlueKnightShield); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 17);
+
+ .sex = G_MALE;
+ .distance = 4;
+
+ sleep(SHOPWAIT);
+ tradertype(NST_MARKET);
+ sellitem InsuranceContract, -1, 1;
+ sellitem HomunResetPotion, -1, 5;
+ sellitem PurificationPotion, -1, 20;
+ sellitem AtroposMixture, -1, 50;
+ sellitem ThornAmmoBox, -1, 5;
+ sellitem PoisonAmmoBox, -1, 10;
+ sellitem CursedAmmoBox, -1, 15;
+ sellitem PileOfAsh, -1, 25;
+ sellitem BoneKnife, -1, 1;
+ sellitem LeaderWand, -1, 1;
+ sellitem BromenalShield, -1, 1;
+ sellitem LightPlatemail, -1, 1;
+ sellitem BromenalPants, -1, 1;
+ sellitem CandleHelmet, -1, 1;
+ sellitem WarlordHelmet, -1, 1;
+ end;
+
+OnWed0016:
+ restoreshopitem BoneKnife, 1;
+ restoreshopitem LeaderWand, 1;
+ restoreshopitem BromenalShield, 1;
+ restoreshopitem LightPlatemail, 1;
+ restoreshopitem BromenalPants, 1;
+ restoreshopitem CandleHelmet, 1;
+ restoreshopitem WarlordHelmet, 1;
+ end;
+
+OnClock1149:
+ restoreshopitem InsuranceContract, 1;
+ restoreshopitem ThornAmmoBox, 5;
+ restoreshopitem PileOfAsh, 25;
+OnClock2359:
+ restoreshopitem HomunResetPotion, 5;
+ restoreshopitem PurificationPotion, 20;
+ restoreshopitem AtroposMixture, 50;
+ restoreshopitem PoisonAmmoBox, 10;
+ restoreshopitem CursedAmmoBox, 15;
+ end;
+}
+
diff --git a/npc/025-2-1/_import.txt b/npc/025-2-1/_import.txt
new file mode 100644
index 0000000..362abe0
--- /dev/null
+++ b/npc/025-2-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 025-2-1: Fortress Island Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/025-2-1/_mobs.txt",
+"npc/025-2-1/_warps.txt",
diff --git a/npc/025-2-1/_mobs.txt b/npc/025-2-1/_mobs.txt
new file mode 100644
index 0000000..126a6a6
--- /dev/null
+++ b/npc/025-2-1/_mobs.txt
@@ -0,0 +1,9 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 025-2-1: Fortress Island Cave mobs
+025-2-1,37,89,13,28 monster Archant 1026,6,60000,60000
+025-2-1,107,42,11,10 monster Crafty 1018,6,60000,60000
+025-2-1,85,96,7,8 monster Whirly Bird 1232,3,60000,60000
+025-2-1,59,40,22,13 monster Terranite Protector 1212,6,60000,60000
+025-2-1,98,97,16,19 monster Terranite 1167,4,60000,60000
+025-2-1,66,83,16,31 monster Troll 1171,10,60000,60000
+025-2-1,70,71,50,48 monster Archant 1026,24,60000,60000
diff --git a/npc/025-2-1/_warps.txt b/npc/025-2-1/_warps.txt
new file mode 100644
index 0000000..40c83df
--- /dev/null
+++ b/npc/025-2-1/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 025-2-1: Fortress Island Cave warps
+025-2-1,23,67,0 warp #025-2-1_23_67 0,0,025-2,148,86
+025-2-1,29,105,0 warp #025-2-1_29_105 0,0,025-2,158,99
diff --git a/npc/025-2-2/_import.txt b/npc/025-2-2/_import.txt
new file mode 100644
index 0000000..a2adedf
--- /dev/null
+++ b/npc/025-2-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 025-2-2: Ancient Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/025-2-2/_mobs.txt",
+"npc/025-2-2/_warps.txt",
diff --git a/npc/025-2-2/_mobs.txt b/npc/025-2-2/_mobs.txt
new file mode 100644
index 0000000..a72cee7
--- /dev/null
+++ b/npc/025-2-2/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 025-2-2: Ancient Cave mobs
+025-2-2,47,44,17,18 monster Archant 1026,5,32000,8000
+025-2-2,47,47,23,18 monster Cave Maggot 1027,8,2000,8000
+025-2-2,41,30,13,6 monster Azul Skull Slime 1402,3,75000,20000
+025-2-2,51,56,15,7 monster Black Scorpion 1074,1,4000,8000
+025-2-2,60,48,11,14 monster Crafty 1018,3,50000,2500
+025-2-2,36,43,11,7 monster Crafty 1018,2,50000,2500
diff --git a/npc/025-2-2/_warps.txt b/npc/025-2-2/_warps.txt
new file mode 100644
index 0000000..b81fa28
--- /dev/null
+++ b/npc/025-2-2/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 025-2-2: Ancient Cave warps
+025-2-2,43,44,0 warp #025-2-2_43_44 1,0,025-2-4,44,97
+025-2-2,68,62,0 warp #025-2-2_68_62 0,2,025-2-3,22,45
+025-2-2,37,41,0 warp #025-2-2_37_41 2,0,025-2,25,43
diff --git a/npc/025-2-3/_import.txt b/npc/025-2-3/_import.txt
new file mode 100644
index 0000000..a335230
--- /dev/null
+++ b/npc/025-2-3/_import.txt
@@ -0,0 +1,5 @@
+// Map 025-2-3: Pinkie Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/025-2-3/_mobs.txt",
+"npc/025-2-3/_warps.txt",
+"npc/025-2-3/boss.txt",
diff --git a/npc/025-2-3/_mobs.txt b/npc/025-2-3/_mobs.txt
new file mode 100644
index 0000000..557abb3
--- /dev/null
+++ b/npc/025-2-3/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 025-2-3: Pinkie Cave mobs
+025-2-3,55,39,13,14 monster Pinkie 1132,18,4000,8000
+025-2-3,54,41,15,12 monster Pinkie Suseran 1419,10,4000,8000
+025-2-3,56,41,17,10 monster Pinkie Maximus 1249,9,20000,2500
+025-2-3,48,40,26,6 monster Cave Maggot 1027,9,2000,20000
diff --git a/npc/025-2-3/_warps.txt b/npc/025-2-3/_warps.txt
new file mode 100644
index 0000000..ab19203
--- /dev/null
+++ b/npc/025-2-3/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 025-2-3: Pinkie Cave warps
+025-2-3,21,46,0 warp #025-2-3_21_46 0,1,025-2-2,67,61
diff --git a/npc/025-2-3/boss.txt b/npc/025-2-3/boss.txt
new file mode 100644
index 0000000..7621eb1
--- /dev/null
+++ b/npc/025-2-3/boss.txt
@@ -0,0 +1,39 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Pinkie Emperor Boss
+
+025-2-3,0,0,0 script #BossCtrl_025-2-3 NPC_HIDDEN,{
+ end;
+
+// Respawn every hour
+OnTimer3600000:
+ stopnpctimer;
+OnInit:
+ setarray .xp, 268, 55, 371, 482, 212;
+ setarray .yp, 90, 45, 38, 114, 148;
+ .@tg=rand2(getarraysize(.xp)-1);
+ monster "025-2-3", .xp[.@tg], .yp[.@tg], strmobinfo(1, PinkieEmperor), PinkieEmperor, 1, "#BossCtrl_025-2-3::OnBossDeath";
+ end;
+
+OnBossDeath:
+ initnpctimer;
+ .@party=getcharid(1);
+ getitem StrangeCoin, 1;
+ if (.@party > 0) {
+ mapannounce "025-2-3", "Boss deafeated by Party: " + getpartyname(.@party), bc_all;
+ partytimer("025-2-3", 200, "#BossCtrl_025-2-3::OnBossReward");
+ } else {
+ mapannounce "025-2-3", "Boss deafeated by: " + strcharinfo(0), bc_all;
+ }
+ callfunc "02524_Revenge_BlackBox";
+ fix_mobkill(PinkieEmperor);
+ specialeffect(FX_FANFARE, AREA, getcharid(3));
+ end;
+
+OnBossReward:
+ if (ispcdead()) end;
+ getitem StrangeCoin, getmapusers("025-2-3");
+ end;
+}
diff --git a/npc/025-2-4/_import.txt b/npc/025-2-4/_import.txt
new file mode 100644
index 0000000..e9181f3
--- /dev/null
+++ b/npc/025-2-4/_import.txt
@@ -0,0 +1,6 @@
+// Map 025-2-4: Mana Tree Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/025-2-4/025-2-4_aegis_blackbox.txt",
+"npc/025-2-4/_mobs.txt",
+"npc/025-2-4/_warps.txt",
+"npc/025-2-4/tree.txt",
diff --git a/npc/025-2-4/_mobs.txt b/npc/025-2-4/_mobs.txt
new file mode 100644
index 0000000..71942eb
--- /dev/null
+++ b/npc/025-2-4/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 025-2-4: Mana Tree Cave mobs
+025-2-4,40,28,13,3 monster Red Skull Slime 1404,3,20000,75000
+025-2-4,41,53,15,31 monster Crafty 1018,7,25000,35000
+025-2-4,36,35,9,7 monster Azul Slime Mother 1243,4,40000,10000
+025-2-4,42,39,8,12 monster Moubi 1038,5,300000,6000
+025-2-4,40,36,13,3 monster Yellow Skull Slime 1403,3,20000,75000
+025-2-4,44,30,9,7 monster Great Mouboo Slime 1247,3,80000,10000
diff --git a/npc/025-2-4/_warps.txt b/npc/025-2-4/_warps.txt
new file mode 100644
index 0000000..a9c38f2
--- /dev/null
+++ b/npc/025-2-4/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 025-2-4: Mana Tree Cave warps
+025-2-4,44,98,0 warp #025-2-4_44_98 0,0,025-2-2,42,45
diff --git a/npc/025-2-4/tree.txt b/npc/025-2-4/tree.txt
new file mode 100644
index 0000000..4d22ee5
--- /dev/null
+++ b/npc/025-2-4/tree.txt
@@ -0,0 +1,77 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Pinkie Cave Tree is part of Legendary Weapons
+
+025-2-4,39,33,0 script Mana Tree NPC_MANATREE,{
+ function manatreeOff;
+ function manatreeAgain;
+ function manatreeAegis;
+
+ setpcblock(PCBLOCK_HARD, true);
+ mesc l("A tree glows in this dark cave, surrounded by mana lanes.");
+ next;
+ mesc l("This might be the place of a great secret, but yet, all you can do is stare.");
+ next;
+ if (getq(FortressQuest_ManaTree) < 2) manatreeOff();
+ else if ($AEGIS_HOLDER$ == "" && @manacool < gettimetick(2)) manatreeAegis();
+ else manatreeAgain();
+
+ setpcblock(PCBLOCK_HARD, false);
+ closeclientdialog;
+ close;
+
+function manatreeOff {
+ mesc l("...for now.");
+ next;
+ return;
+}
+
+function manatreeAgain {
+ .@t = getq3(FortressQuest_ManaTree);
+ if (.@t > gettimeparam(GETTIME_DAYOFMONTH)) {
+ mesc l("...for now.");
+ next;
+ return;
+ }
+ // Can be obtained every 3 days
+ inventoryplace Manapple, 1;
+ mesc l("The tree generously offer you one of its fruits.");
+ mesc l("You gladly accept it. But probably better not disturb it for a few days.");
+ setq3 FortressQuest_ManaTree, gettimeparam(GETTIME_DAYOFMONTH)+3;
+ getitem Manapple, 1;
+ next;
+ return;
+}
+
+function manatreeAegis {
+ mesc l("For which player do you wish to pray?");
+ next;
+ input .@prayer$;
+ if (.@prayer$ == strcharinfo(0)) {
+ mesc l("The tree doesn't likes your selfishness.");
+ percentheal -20, -50;
+ return;
+ }
+ if (.@prayer$ == "") {
+ mesc l("...Alright then.");
+ return;
+ }
+ @manacool=gettimetick(2)+30;
+ .@cid=getcharid(3, .@prayer$);
+ if (.@cid < 1) {
+ mesc l("Did you just make up that someone?");
+ return;
+ }
+ 02524_Tree_BlackBox(.@prayer$, .@cid);
+ @manacool+=150;
+ return;
+}
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 2;
+ end;
+}
+
diff --git a/npc/025-2/_import.txt b/npc/025-2/_import.txt
new file mode 100644
index 0000000..f3af810
--- /dev/null
+++ b/npc/025-2/_import.txt
@@ -0,0 +1,6 @@
+// Map 025-2: Fortress Island - South
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/025-2/_mobs.txt",
+"npc/025-2/_warps.txt",
+"npc/025-2/guard.txt",
+"npc/025-2/main.txt",
diff --git a/npc/025-2/_mobs.txt b/npc/025-2/_mobs.txt
new file mode 100644
index 0000000..1df771b
--- /dev/null
+++ b/npc/025-2/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 025-2: Fortress Island - South mobs
+025-2,75,100,49,13 monster Forain 1061,12,60000,60000
+025-2,112,102,66,18 monster Moonshroom 1069,12,60000,60000
+025-2,68,63,48,21 monster Black Mamba 1174,14,60000,60000
+025-2,129,63,48,21 monster Gobo Bear 1214,14,60000,60000
+025-2,139,31,40,11 monster Vanity Pixie 1215,4,60000,60000
+025-2,66,31,35,12 monster Nightmare Dragon 1230,4,60000,60000
diff --git a/npc/025-2/_warps.txt b/npc/025-2/_warps.txt
new file mode 100644
index 0000000..105619b
--- /dev/null
+++ b/npc/025-2/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 025-2: Fortress Island - South warps
+025-2,25,42,0 warp #025-2_25_42 0,0,025-2-2,37,40
+025-2,158,98,0 warp #025-2_158_98 0,0,025-2-1,29,106
+025-2,148,85,0 warp #025-2_148_85 0,0,025-2-1,23,66
diff --git a/npc/025-2/guard.txt b/npc/025-2/guard.txt
new file mode 100644
index 0000000..57a742c
--- /dev/null
+++ b/npc/025-2/guard.txt
@@ -0,0 +1,73 @@
+// TMW-2 Script.
+// Author:
+// Jesusalva
+// Notes:
+// Generic Guard from the Alliance
+
+025-2,108,23,0 script Alliance Guard NPC_BRGUARD_BOW,{
+ .@q=getq(General_Narrator);
+ if (.@q >= 21)
+ goto L_ShortSummary;
+ inventoryplace PurificationPotion, 3, ElixirOfLife, 1;
+ setpcblock(PCBLOCK_HARD, true);
+ mesc l("STORY MODE ENABLED. Monsters won't attack you, so you can read without worries."), 1;
+ next;
+ mesn;
+ mesq l("Hey %s, I was informed about your arrival. You are here, good!", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("You see the gates over there? This is the World's Edge. The land which never had a settlement. How. is. there. a. town?!");
+ next;
+ mesn;
+ mesq l("Not only that, but it is swarming with monsters. Something is really wrong here. From our scouts which went in there, only one returned.");
+ next;
+ mesn;
+ mesq l("So, what to expect? Past this gate is a panthom town and some steel grating. Past the grating is the actual Impregnable Fortress.");
+ next;
+ mesn;
+ mesq l("We found several interest points inside, like some mines with the most precious ores in the world - like %s and even %s - along very powerful monsters. Unfortunately, it is partly flooded.", getitemlink(PlatinumOre), getitemlink(MylarinDust));
+ next;
+ mesn;
+ mesq l("We also found a small fortress and a small gothic building which might have important clues on your journey. Our first task, therefore, should be recapturing this town from our enemies!");
+ next;
+ mesn;
+ mesq l("Once that is done, the Alliance's staff will set several stands with the most important services you might need, like banking, inside the town central area.");
+ next;
+ mesn;
+ mesq l("Monsters, however, keep coming from the Impregnable Fortress. They always come on %s, although we have no idea why.", b(l("Tuesdays")));
+ next;
+ mesn;
+ mesq l("So, %s, I know you have other priorities. I don't even know why you are here - for riches? For glory, for fame? To save the world? To find out about your past? To talk with me because, well, I am just *that* cool? All of the above? Perhaps something else?", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("But we cannot ignore the threat this imposes to us. You might not know our world's history, but this place should never be inhabited or else...");
+ next;
+ mesn;
+ .@find$=l("Please find %s - we will need the current world's hero to conduct the siege on the Fortress Town.", $MOST_HEROIC$);
+ .@sieg$=l("You are our hero- Please assemble a team of adventurers and raid the Fortress Town.");
+ mesq l("%s But please be quick! I feel this world doesn't have much time left!", (strcharinfo(0) == $MOST_HEROIC$ ? .@sieg$ : .@find$));
+ next;
+ mesn;
+ mesq l("Here, take this %s and these %s and good luck!", getitemlink(ElixirOfLife), getitemlink(PurificationPotion));
+ next;
+ mesc b(l(".:: Main Quest ::.")), 3;
+ msObjective($FORTRESS_STATE, l("* Invade the Fortress Town"));
+ msObjective(false, l("* Find clues"));
+ msObjective(false, l("* (optional) Save the world!"));
+ next;
+ setpcblock(PCBLOCK_HARD, false);
+ setq General_Narrator, 21;
+ getitem PurificationPotion, 3;
+ getitem ElixirOfLife, 1;
+ closeclientdialog;
+ legiontalk();
+ close;
+
+L_ShortSummary:
+ .@open$=l("We have set some stalls which should be useful if you plan into raiding the Impregnable Fortress.");
+ .@lock$=l("It is locked but %s should be able to coordinate a raid on it.", $MOST_HEROIC$);
+ mesn;
+ mesq l("Past this point is the Fortress Island. %s Even so, be careful, the town should not exist.", ($FORTRESS_STATE ? .@open$ : .@lock$));
+ close;
+}
+
diff --git a/npc/025-2/main.txt b/npc/025-2/main.txt
new file mode 100644
index 0000000..1006e04
--- /dev/null
+++ b/npc/025-2/main.txt
@@ -0,0 +1,31 @@
+// TMW-2 Script.
+// Author:
+// Jesusalva
+// Notes:
+// Fortress Island South (Lv 70~150 Area)
+
+025-2 mapflag mask 5
+
+025-2,97,122,0 script Airship NPC_AIRSHIP,{
+ mesc l(".:: Fortress Island ::."), 1;
+ mes "";
+ mesc l("Do you want to return to Land Of Fire Village?"), 1;
+ next;
+ if (askyesno() == ASK_YES) {
+ specialeffect FX_CIRCLE, SELF, getcharid(3);
+ closeclientdialog;
+ sleep2(5000);
+ removespecialeffect(FX_CIRCLE, SELF, getcharid(3));
+ if (ispcdead()) end;
+ warp "017-10", 64, 25;
+ }
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 8;
+ end;
+
+}
+
+
diff --git a/npc/025-3/_import.txt b/npc/025-3/_import.txt
new file mode 100644
index 0000000..9079e5e
--- /dev/null
+++ b/npc/025-3/_import.txt
@@ -0,0 +1,5 @@
+// Map 025-3: The Impregnable Fortress (Outside)
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/025-3/_mobs.txt",
+"npc/025-3/_warps.txt",
+"npc/025-3/ctrl.c",
diff --git a/npc/025-3/_mobs.txt b/npc/025-3/_mobs.txt
new file mode 100644
index 0000000..a7e8cf9
--- /dev/null
+++ b/npc/025-3/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 025-3: The Impregnable Fortress (Outside) mobs
+025-3,99,157,75,17 monster Moubi 1038,16,120000,30000
+025-3,105,117,10,21 monster Angry Bat 1194,24,500,500,Impregnable#0F::OnMoubiKill
+025-3,98,141,71,16 monster Bloody Mouboo 1119,6,500,500
+025-3,99,117,75,18 monster Crafty 1018,1,500,500,Impregnable#0F::OnMoubiKill
diff --git a/npc/025-3/_warps.txt b/npc/025-3/_warps.txt
new file mode 100644
index 0000000..7bfc117
--- /dev/null
+++ b/npc/025-3/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 025-3: The Impregnable Fortress (Outside) warps
+025-3,100,179,0 warp #025-3_100_179 5,0,025-1,100,22
diff --git a/npc/025-3/ctrl.c b/npc/025-3/ctrl.c
new file mode 100644
index 0000000..1cfcf75
--- /dev/null
+++ b/npc/025-3/ctrl.c
@@ -0,0 +1,61 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// The Impregnable Fortress Control Files
+// Quest: General_Fortress
+// (MaxFloor+1, internal, internal)
+
+025-3,105,83,0 script Impregnable#0F NPC_HIDDEN,2,0,{
+ end;
+
+OnTouch:
+ if (getq(General_Fortress)) goto L_Warp;
+ mes l(".:: The Impregnable Fortress ::.");
+ mes "";
+ mes l("The fortress goes below until the Monster King Throne is established.");
+ mes l("To descend you must finish the task on the floor. Sometimes it'll be outspoken, other times, it'll not.");
+ mes l("The tasks may vary from collecting certain items, walking in a specific order, lighting candles, killing a specific monster or all monsters in the floor, et cetera.");
+ next;
+ mes l("The tasks are individual, but help from other players is acceptable in most cases.");
+ mesc l("(Do note that there may be filters to decide when the player helped you and when the player did the quest for you. In some cases, you'll need to redo the stage.)");
+ next;
+ mes l("After finishing the task, the floor below will be liberated for your access only. Other players will need to complete their tasks.");
+ mes l("Due to the sheer amount of monsters in the army, most floors are not immediately available! The Monster Army must be weakened before accessing the deeper floors by repeatedly defeating them at Fortress Town Siege.");
+ next;
+ mesc l(".:: Impregnable Fortress, %sF ::.", "0"), 3;
+ msObjective(getq(General_Fortress) == 1, l("* Obtain the Fortress Key"));
+ msObjective($MK_TEMPVAR < MKIF_LV_B0F, l("Minimum wins: %d/%d", $MK_TEMPVAR, MKIF_LV_B0F));
+ mes "";
+ mesc l("Hint: Eek! Eek! Eek!");
+ tutmes l("Explore all map elements (including monsters) with the hint in mind to fulfill the mission objectives. They'll never demand something outside the mission map!");
+ end;
+
+L_Warp:
+ // Not unlocked
+ if ($GAME_STORYLINE >= 3 && $MK_TEMPVAR < MKIF_LV_B0F) {
+ mesc l("The gate is sealed shut."), 1;
+ mesc l("The monster army is still strong on this floor!"), 1;
+ mesc l("Minimum wins: %d/%d", $MK_TEMPVAR, MKIF_LV_B0F), 1;
+ close;
+ }
+ warp "026-0", 64, 98;
+ end;
+
+OnMoubiKill:
+ .@q=getq(General_Fortress);
+ .@q2=getq2(General_Fortress);
+ .@q3=getq3(General_Fortress);
+ if (.@q != 0) end;
+
+ setq2 General_Fortress, .@q2+1;
+ if (rand2(10000) <= .@q2) {
+ dispbottom b(l("You have found the Impregnable Fortress Key. Access to B0F granted."));
+ setq General_Fortress, 1, 0, 0;
+ getexp 0, 50000;
+ }
+ fix_mobkill(AngryBat);
+ end;
+}
+
+
diff --git a/npc/026-0/_import.txt b/npc/026-0/_import.txt
new file mode 100644
index 0000000..0b9022b
--- /dev/null
+++ b/npc/026-0/_import.txt
@@ -0,0 +1,5 @@
+// Map 026-0: The Impregnable Fortress (B0F)
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/026-0/_mobs.txt",
+"npc/026-0/_warps.txt",
+"npc/026-0/ctrl.c",
diff --git a/npc/026-0/_mobs.txt b/npc/026-0/_mobs.txt
new file mode 100644
index 0000000..9a4582c
--- /dev/null
+++ b/npc/026-0/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 026-0: The Impregnable Fortress (B0F) mobs
+026-0,39,62,12,37 monster Black Skull Slime 1408,16,60000,30000
+026-0,89,62,10,37 monster Lava Skull Slime 1407,20,60000,30000
+026-0,65,77,13,22 monster Whirly Bird 1232,6,60000,35000
+026-0,65,31,13,6 monster Reaper 1196,4,60000,40000
diff --git a/npc/026-0/_warps.txt b/npc/026-0/_warps.txt
new file mode 100644
index 0000000..19eaa3b
--- /dev/null
+++ b/npc/026-0/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 026-0: The Impregnable Fortress (B0F) warps
+026-0,64,99,0 warp #026-0_64_99 2,0,025-3,105,84
diff --git a/npc/026-0/ctrl.c b/npc/026-0/ctrl.c
new file mode 100644
index 0000000..c201c26
--- /dev/null
+++ b/npc/026-0/ctrl.c
@@ -0,0 +1,105 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// The Impregnable Fortress Control Files
+// Quest: General_Fortress
+// (MaxFloor+1, internal, internal)
+
+026-0,64,20,0 script Impregnable#B0F NPC_HIDDEN,4,0,{
+ end;
+
+OnTouch:
+ if (getq(General_Fortress) > 1) goto L_Warp;
+ mesc l(".:: Impregnable Fortress, %sF ::.", "B0"), 3;
+ msObjective(getq(General_Fortress) == 2, l("* Solo \"The Yetifly\""));
+ msObjective($MK_TEMPVAR < MKIF_LV_B0F, l("Minimum wins: %d/%d", $MK_TEMPVAR, MKIF_LV_B1F));
+ mes "";
+ mesc l("Hint: Stomp! Stomp! Stomp! Walk around.");
+ end;
+
+L_Warp:
+ // Not unlocked
+ if ($GAME_STORYLINE >= 3 && $MK_TEMPVAR < MKIF_LV_B1F) {
+ mesc l("The gate is sealed shut."), 1;
+ mesc l("The monster army is still strong on this floor!"), 1;
+ mesc l("Minimum wins: %d/%d", $MK_TEMPVAR, MKIF_LV_B1F), 1;
+ close;
+ }
+ warp "026-1", 29, 94;
+ end;
+
+}
+
+026-0,40,52,0 script Impregnable#B0F_1 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ .@q=getq(General_Fortress);
+ .@q2=getq2(General_Fortress);
+ .@q3=getq3(General_Fortress);
+ if (.@q != 1) end;
+
+ .@n$=strnpcinfo(0, "_0");
+ explode(.@ni$, .@n$, "_");
+ .@id=atoi(.@ni$[1]);
+ if (.@id <= 0) Exception("Unparseable switch: "+.@n$, RB_DEFAULT|RB_ISFATAL);
+
+ if (!(.@q2 & .@id)) {
+ setq2 General_Fortress, .@q2 | .@id;
+ }
+ end;
+}
+
+026-0,45,48,0 duplicate(Impregnable#B0F_1) Impregnable#B0F_2 NPC_HIDDEN,0,0
+026-0,90,42,0 duplicate(Impregnable#B0F_1) Impregnable#B0F_4 NPC_HIDDEN,0,0
+026-0,83,55,0 duplicate(Impregnable#B0F_1) Impregnable#B0F_8 NPC_HIDDEN,0,0
+026-0,82,64,0 duplicate(Impregnable#B0F_1) Impregnable#B0F_16 NPC_HIDDEN,0,0
+026-0,65,58,0 duplicate(Impregnable#B0F_1) Impregnable#B0F_32 NPC_HIDDEN,0,0
+026-0,64,60,0 duplicate(Impregnable#B0F_1) Impregnable#B0F_64 NPC_HIDDEN,0,0
+026-0,43,76,0 duplicate(Impregnable#B0F_1) Impregnable#B0F_128 NPC_HIDDEN,0,0
+026-0,46,77,0 duplicate(Impregnable#B0F_1) Impregnable#B0F_256 NPC_HIDDEN,0,0
+026-0,70,87,0 duplicate(Impregnable#B0F_1) Impregnable#B0F_512 NPC_HIDDEN,0,0
+026-0,84,84,0 duplicate(Impregnable#B0F_1) Impregnable#B0F_1024 NPC_HIDDEN,0,0
+026-0,84,86,0 duplicate(Impregnable#B0F_1) Impregnable#B0F_2048 NPC_HIDDEN,0,0
+026-0,85,86,0 duplicate(Impregnable#B0F_1) Impregnable#B0F_4096 NPC_HIDDEN,0,0
+
+
+026-0,99,41,0 script Impregnable#B0F_X NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ .@q=getq(General_Fortress);
+ .@q2=getq2(General_Fortress);
+ .@q3=getq3(General_Fortress);
+ if (.@q != 1) end;
+ if (.@q2 < 8191) end;
+
+ if (getareausers("026-0", 54, 39, 77, 53) > 0) end;
+ if (mobcount("026-0", "Impregnable#B0F_X::OnYetifly") > 0)
+ killmonster("026-0", "Impregnable#B0F_X::OnYetifly", false);
+
+ slide 72, 49;
+ monster("026-0", 57, 44, l("The Yetifly"), Yetifly, 1, "Impregnable#B0F_X::OnYetifly");
+ addtimer2(15000, "Impregnable#B0F_X::OnHeartbeat");
+ end;
+
+OnHeartbeat:
+ if (getmap() != "026-0") end;
+ if (ispcdead())
+ warp "025-1", 100, 83;
+ addtimer2(15000, "Impregnable#B0F_X::OnHeartbeat");
+ end;
+
+OnYetifly:
+ .@q=getq(General_Fortress);
+ .@q2=getq2(General_Fortress);
+ .@q3=getq3(General_Fortress);
+ if (.@q != 1) end;
+ if (.@q2 < 8191) end;
+
+ dispbottom b(l("You have defeated the Yetifly. Access to B1F granted."));
+ setq General_Fortress, 2, 0;
+ Zeny+=100000;
+ slide 98, 41;
+ end;
+}
+
diff --git a/npc/026-1/_config.txt b/npc/026-1/_config.txt
new file mode 100644
index 0000000..f583eb2
--- /dev/null
+++ b/npc/026-1/_config.txt
@@ -0,0 +1,71 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 026-1: The Impregnable Fortress (B1F) conf
+
+026-1,58,76,0 script #026-1_58_76 NPC_HIDDEN,{
+ end;
+OnDisable:
+ delcells "026-1_58_76"; end;
+OnEnable:
+OnInit:
+ setcells "026-1", 58, 76, 62, 76, 1, "026-1_58_76";
+}
+
+026-1,25,32,0 script #026-1_25_32 NPC_HIDDEN,{
+ end;
+OnDisable:
+ delcells "026-1_25_32"; end;
+OnEnable:
+OnInit:
+ setcells "026-1", 25, 32, 25, 32, 1, "026-1_25_32";
+}
+
+026-1,30,32,0 script #026-1_30_32 NPC_HIDDEN,{
+ end;
+OnDisable:
+ delcells "026-1_30_32"; end;
+OnEnable:
+OnInit:
+ setcells "026-1", 30, 32, 30, 32, 1, "026-1_30_32";
+}
+
+026-1,24,28,0 script #026-1_24_28 NPC_SWITCH_ONLINE,{
+ if (getnpcclass() == NPC_SWITCH_OFFLINE)
+ end;
+ callfunc "0261_Flip30";
+ doevent "#026-1_30_32::OnDisable";
+ setnpcdisplay "#026-1_24_28", NPC_SWITCH_OFFLINE;
+ end;
+OnInit:
+ .distance=2;
+}
+
+026-1,62,28,0 script #026-1_62_28 NPC_SWITCH_ONLINE,{
+ if (getnpcclass() == NPC_SWITCH_OFFLINE)
+ end;
+ callfunc "0261_Flip25";
+ doevent "#026-1_25_32::OnDisable";
+ setnpcdisplay "#026-1_62_28", NPC_SWITCH_OFFLINE;
+ end;
+OnInit:
+ .distance=2;
+}
+
+026-1,30,28,0 script #026-1_30_28 NPC_CHEST,{
+ TreasureBox();
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ close;
+OnInit:
+ .distance=2;
+ end;
+}
+
+026-1,26,28,0 script #026-1_26_28 NPC_SWITCH_ONLINE,{
+ if (getnpcclass() == NPC_SWITCH_OFFLINE)
+ end;
+ callfunc "0261_GateChange";
+ doevent "#026-1_58_76::OnDisable";
+ setnpcdisplay "#026-1_26_28", NPC_SWITCH_OFFLINE;
+ end;
+OnInit:
+ .distance=2;
+}
diff --git a/npc/026-1/_import.txt b/npc/026-1/_import.txt
new file mode 100644
index 0000000..3629258
--- /dev/null
+++ b/npc/026-1/_import.txt
@@ -0,0 +1,6 @@
+// Map 026-1: The Impregnable Fortress (B1F)
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/026-1/_config.txt",
+"npc/026-1/_mobs.txt",
+"npc/026-1/_warps.txt",
+"npc/026-1/ctrl.c",
diff --git a/npc/026-1/_mobs.txt b/npc/026-1/_mobs.txt
new file mode 100644
index 0000000..9868cd3
--- /dev/null
+++ b/npc/026-1/_mobs.txt
@@ -0,0 +1,10 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 026-1: The Impregnable Fortress (B1F) mobs
+026-1,39,59,16,10 monster Snail 1426,8,60000,40000
+026-1,79,59,16,10 monster Pinkie Suseran 1419,6,60000,40000
+026-1,39,84,16,10 monster Black Skull Slime 1408,8,60000,40000
+026-1,79,84,16,10 monster Snail 1426,8,60000,40000
+026-1,79,34,16,10 monster Mandragora 1423,5,60000,40000
+026-1,39,34,16,10 monster Jhon Longnose 1421,5,60000,40000
+026-1,59,59,2,35 monster Nightmare Dragon 1230,6,60000,40000
+026-1,29,27,7,4 monster Evil Scythe 1036,8,100,900000
diff --git a/npc/026-1/_warps.txt b/npc/026-1/_warps.txt
new file mode 100644
index 0000000..684c6d4
--- /dev/null
+++ b/npc/026-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 026-1: The Impregnable Fortress (B1F) warps
+026-1,29,95,0 warp #026-1_29_95 0,0,026-0,65,21
diff --git a/npc/026-1/ctrl.c b/npc/026-1/ctrl.c
new file mode 100644
index 0000000..26bb478
--- /dev/null
+++ b/npc/026-1/ctrl.c
@@ -0,0 +1,186 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// The Impregnable Fortress Control Files
+// Quest: General_Fortress
+// (MaxFloor+1, internal, internal)
+
+026-1,60,26,0 script Impregnable#B1F NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ if (getq(General_Fortress) > 1) goto L_Warp;
+ mesc l(".:: Impregnable Fortress, %sF ::.", "B1"), 3;
+ msObjective(getq(General_Fortress) == 2, l("* Obtain clearance"));
+ msObjective($MK_TEMPVAR < MKIF_LV_B1F, l("Minimum wins: %d/%d", $MK_TEMPVAR, MKIF_LV_B2F));
+ mes "";
+ mesc l("Hint: You might need to come back later.");
+ end;
+
+L_Warp:
+ // Not unlocked
+ if ($GAME_STORYLINE >= 3 && $MK_TEMPVAR < MKIF_LV_B2F) {
+ mesc l("The gate is sealed shut."), 1;
+ mesc l("The monster army is still strong on this floor!"), 1;
+ mesc l("Minimum wins: %d/%d", $MK_TEMPVAR, MKIF_LV_B2F), 1;
+ close;
+ }
+ //warp "026-2", X, Y;
+ dispbottom l("Coming Soon, in Moubootaur Legends!");
+ end;
+
+// Disarm & reset everything
+OnMinute15:
+OnMinute45:
+ if ($@DATA_0261[12])
+ setcells "026-1", 58, 76, 62, 76, 1, "026-1_58_76";
+ if ($@DATA_0261[13])
+ setcells "026-1", 25, 32, 25, 32, 1, "026-1_25_32";
+ if ($@DATA_0261[14])
+ setcells "026-1", 30, 32, 30, 32, 1, "026-1_30_32";
+ setnpcdisplay "#026-1_24_28", NPC_SWITCH_ONLINE;
+ setnpcdisplay "#026-1_26_28", NPC_SWITCH_ONLINE;
+ setnpcdisplay "#026-1_62_28", NPC_SWITCH_ONLINE;
+ callfunc "0261_CheckReset";
+ end;
+}
+
+// Other misc controllers
+function script 0261_GateChange {
+ //if (Sp < MaxSp) end;
+ if (Hp < MaxHp) {die(); end;}
+ $@DATA_0261[12] = true;
+ percentheal -99, -100;
+ dispbottom "*snap* - Oh noes, there was a trap!";
+ return;
+}
+
+function script 0261_Flip25 {
+ $@DATA_0261[13] = true;
+ return;
+}
+
+function script 0261_Flip30 {
+ $@DATA_0261[14] = true;
+ return;
+}
+
+function script 0261_CheckReset {
+ if ($@DATA_0261[0] == 1 &&
+ $@DATA_0261[1] == 1 &&
+ $@DATA_0261[2] == 1 &&
+ $@DATA_0261[3] == 1 &&
+ $@DATA_0261[4] == 1 &&
+ $@DATA_0261[5] == 1 &&
+ $@DATA_0261[6] == 1 &&
+ $@DATA_0261[7] == 1 &&
+ $@DATA_0261[8] == 1 &&
+ $@DATA_0261[9] == 1 &&
+ $@DATA_0261[10] == 1 &&
+ $@DATA_0261[11] == 1)
+ .@r=true;
+ if ($@DATA_0261[0])
+ delcells "026-1_D0";
+ if ($@DATA_0261[1])
+ delcells "026-1_D1";
+ if ($@DATA_0261[2])
+ delcells "026-1_D2";
+ if ($@DATA_0261[3])
+ delcells "026-1_D3";
+ if ($@DATA_0261[4])
+ delcells "026-1_D4";
+ if ($@DATA_0261[5])
+ delcells "026-1_D5";
+ if ($@DATA_0261[6])
+ delcells "026-1_D6";
+ if ($@DATA_0261[7])
+ delcells "026-1_D7";
+ if ($@DATA_0261[8])
+ delcells "026-1_D8";
+ if ($@DATA_0261[9])
+ delcells "026-1_D9";
+ if ($@DATA_0261[10])
+ delcells "026-1_D10";
+ if ($@DATA_0261[11])
+ delcells "026-1_D11";
+ deletearray $@DATA_0261;
+ if (.@r) {
+ $@DATA_0261[12] = true;
+ delcells "026-1_58_76";
+ }
+ return .@r;
+}
+
+026-1,29,76,0 script Important Note#B1F NPC_NO_SPRITE,{
+ function noteBegin;
+ if ($@DATA_0261[12]) end;
+ if (getq2(General_Fortress) == 0) noteBegin();
+ mesc l("Flip the manaplace?"), 1;
+ next;
+ if (askyesno() == ASK_YES) {
+ .@r=0261_CheckReset();
+ if (!.@r)
+ warp "003-1", 82, 119;
+ else
+ setq General_Fortress, 2, 0, 0;
+ }
+ close;
+
+function noteBegin {
+ mes l("To the monster army:");
+ mes "";
+ mes l("There has been a lot of movement here as of late.");
+ mes l("Your Highness does not like it, and you're dirtying the floor faster than staff can clean.");
+ mes "";
+ mes l("Therefore, we have restricted access to and from B0F/B2F.");
+ mes l("If you could not attend to the meeting (may the king forgive your soul), just restore the objects to their proper position and flip the switch on this manaplace.");
+ mes "";
+ mes l("Be careful to don't flip the manaplace before all objects are ordered correctly.");
+ mes "";
+ mes l("-- The Keeper");
+ next;
+ setq2 General_Fortress, 1;
+ return;
+}
+
+OnInit:
+ .distance=3;
+ end;
+}
+
+// Flip flop
+026-1,26,89,0 script #0261_FF@0 NPC_NO_SPRITE,{
+ explode(.@ni$, .name$, "@");
+ .@x=atoi(.@ni$[1]);
+ .@v$=sprintf("$@DATA_0261[%d]", .@x);
+ .@i=getd(.@v$);
+ if (.@i == 0) {
+ setd(.@v$, 1);
+ setcells "026-1", .x-1, .y, .x+1, .y, 2, "026-1_D"+.@x;
+ } else if (.@i == 1) {
+ setd(.@v$, 2);
+ delcells "026-1_D"+.@x;
+ setcells "026-1", .x-1, .y, .x+1, .y, 3, "026-1_D"+.@x;
+ } else {
+ setd(.@v$, 0);
+ delcells "026-1_D"+.@x;
+ }
+ end;
+OnInit:
+ .distance=2;
+ end;
+}
+
+026-1,32,89,0 duplicate(#0261_FF@0) #0261_FF@1 NPC_NO_SPRITE
+026-1,26,86,0 duplicate(#0261_FF@0) #0261_FF@2 NPC_NO_SPRITE
+026-1,32,86,0 duplicate(#0261_FF@0) #0261_FF@3 NPC_NO_SPRITE
+026-1,71,76,0 duplicate(#0261_FF@0) #0261_FF@4 NPC_NO_SPRITE
+026-1,71,81,0 duplicate(#0261_FF@0) #0261_FF@5 NPC_NO_SPRITE
+026-1,78,76,0 duplicate(#0261_FF@0) #0261_FF@6 NPC_NO_SPRITE
+026-1,78,81,0 duplicate(#0261_FF@0) #0261_FF@7 NPC_NO_SPRITE
+026-1,85,76,0 duplicate(#0261_FF@0) #0261_FF@8 NPC_NO_SPRITE
+026-1,85,81,0 duplicate(#0261_FF@0) #0261_FF@9 NPC_NO_SPRITE
+026-1,92,76,0 duplicate(#0261_FF@0) #0261_FF@10 NPC_NO_SPRITE
+026-1,92,81,0 duplicate(#0261_FF@0) #0261_FF@11 NPC_NO_SPRITE
+
diff --git a/npc/026-2/_import.txt b/npc/026-2/_import.txt
new file mode 100644
index 0000000..9240be1
--- /dev/null
+++ b/npc/026-2/_import.txt
@@ -0,0 +1,3 @@
+// Map 026-2: The Impregnable Fortress (B2F)
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/026-2/_warps.txt",
diff --git a/npc/026-2/_warps.txt b/npc/026-2/_warps.txt
new file mode 100644
index 0000000..a80657f
--- /dev/null
+++ b/npc/026-2/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 026-2: The Impregnable Fortress (B2F) warps
+026-2,32,98,0 warp #026-2_32_98 0,0,026-1,60,27
diff --git a/npc/027-0/_import.txt b/npc/027-0/_import.txt
new file mode 100644
index 0000000..3a8099a
--- /dev/null
+++ b/npc/027-0/_import.txt
@@ -0,0 +1,5 @@
+// Map 027-0: Administration Building
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/027-0/_warps.txt",
+"npc/027-0/emma.txt",
+"npc/027-0/enrique.txt",
diff --git a/npc/027-0/_warps.txt b/npc/027-0/_warps.txt
new file mode 100644
index 0000000..aafd47b
--- /dev/null
+++ b/npc/027-0/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 027-0: Administration Building warps
+027-0,65,36,0 warp #027-0_65_36 2,0,027-1,90,40
diff --git a/npc/027-0/emma.txt b/npc/027-0/emma.txt
new file mode 100644
index 0000000..a44aa57
--- /dev/null
+++ b/npc/027-0/emma.txt
@@ -0,0 +1,121 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Emma is Enrique's wife
+
+027-0,88,26,2 script Emma NPC_DARK_SORCERER_F,{
+ mesn;
+ mesq l("Hello. I am Emma, Enrique's wife.");
+ mesc l("Your current scholar rank: %s (%s Research Points)",
+ academicrank(), fnum(MAGIC_RP));
+ if (!MAGIC_LVL)
+ close;
+ next;
+ mesn;
+ mesq l("I'm currently doing tutorship for students who are... falling behind %%p");
+ next;
+ mesn;
+ mesq l("Do you need the extra credit?");
+ mesc l("Tutorship will give you Research Points."), 1;
+ mesc l("You should not leave this room."), 1;
+ mesc l("Tutorship is NOT the most effective way."), 1;
+ next;
+ mesq l("Do you need the extra credit?");
+ mesc l("Cost: %d GP/min", .cost);
+ mesc l("Gain: %d RP/min", .gain);
+ if (@emmapro)
+ mesc l("Warning: If you are taking an advanced class, it will canceled."), 1;
+ menuint
+ l("I'm fine, thanks"), 0,
+ l("5 minutes"), 5,
+ l("10 minutes"), 10,
+ l("15 minutes"), 15,
+ l("30 minutes"), 30,
+ l("1 hour"), 60,
+ l("2 hours"), 120,
+ rif(abizit() == 5 && MAGIC_LVL > 3, l("Show me something more advanced!")), -1;
+ mes "";
+ if (@menuret < 0) {
+ goto L_Advanced;
+ }
+ if (!@menuret) {
+ mesn;
+ mesq l("Then I hope you can keep your grades high, hmm hmm!");
+ close;
+ }
+ if (Zeny < .cost*@menuret) {
+ mesn;
+ mesq l("Ara ara? You do not have enough money with you!");
+ close;
+ }
+ Zeny-=.cost*@menuret;
+ addtimer2(60000, .name$+"::OnTick");
+ @emmatick=max(@emmatick, gettimetick(2)) + @menuret*60;
+ @emmapro=false;
+ mesn;
+ mesq l("Hmm hmm! Then, let's begin.");
+ mesc l("Note: You can increase the time by talking to Emma again.");
+ close;
+
+L_Advanced:
+ mesn;
+ mesq l("I actually have a special class for those with perfect magical control like you.");
+ next;
+ mesq l("Do you need the extra credit?");
+ mesc l("Cost: %d GP/min", .cost*15);
+ mesc l("Gain: %d RP/min", .gain*10);
+ menuint
+ l("I've changed my mind."), 0,
+ l("5 minutes"), 5,
+ l("10 minutes"), 10,
+ l("15 minutes"), 15,
+ l("30 minutes"), 30,
+ l("1 hour"), 60,
+ l("2 hours"), 120;
+ mes "";
+ if (!@menuret) {
+ mesn;
+ mesq l("Then I hope you can keep your grades high, hmm hmm!");
+ close;
+ }
+ if (Zeny < .cost*@menuret*15) {
+ mesn;
+ mesq l("Ara ara? You do not have enough money with you!");
+ close;
+ }
+ Zeny-=.cost*@menuret*15;
+ addtimer2(60000, .name$+"::OnTick");
+ if (!@emmapro)
+ @emmatick=0;
+ @emmatick=max(@emmatick, gettimetick(2)) + @menuret*60;
+ @emmapro=true;
+ mesn;
+ mesq l("Hmm hmm! Then, let's begin.");
+ close;
+
+OnTick:
+ // Time out
+ if (@emmatick < gettimetick(2)) {
+ npctalk3 l("Enough for now. Let's rest, shall we?");
+ @emmapro = 0;
+ end;
+ }
+ // Changed maps
+ if (getmap() != "027-0")
+ end;
+
+ .@up=.gain*(@emmapro ? 10 : 1);
+ MAGIC_RP+=.@up;
+ dispbottom l("Research Points +%d", .@up);
+ addtimer2(60000, .name$+"::OnTick");
+ end;
+
+OnInit:
+ .distance = 4;
+ .sex = G_FEMALE;
+ .cost = 4500;
+ .gain = 15;
+ end;
+}
+
diff --git a/npc/027-0/enrique.txt b/npc/027-0/enrique.txt
new file mode 100644
index 0000000..11bacac
--- /dev/null
+++ b/npc/027-0/enrique.txt
@@ -0,0 +1,181 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Enrique is the headmaster of the Academy
+
+027-0,46,25,0 script Enrique NPC_BLACKALCHEMIST,{
+ mesn;
+ mesq l("Hello. I am Enrique, headmaster of The Academy.");
+ mesc l("Your current scholar rank: %s (%s Research Points)",
+ academicrank(), fnum(MAGIC_RP));
+ if (!MAGIC_LVL)
+ close;
+ do
+ {
+ next;
+ select
+ l("Thanks!"),
+ l("What is the Academy?"),
+ l("What are Magic Skill Points?"),
+ l("What are Research Points"),
+ l("What is the Scholar Rank?"),
+ l("Who are the most famous scholars?"),
+ rif(!ACADEMIC_RANK, l("I would like to enroll!")),
+ l("What counts for titulation? Could you give me examples?"),
+ rif(getskilllv(TMW2_STUDY) < ACADEMIC_RANK, l("I would like to learn a new skill!"));
+ mes "";
+ switch (@menu) {
+ case 1:
+ goodbye();
+ break;
+ case 2:
+ mesn;
+ mesq l("The Academy Island is situated east of Land of Fire Village.");
+ next;
+ mesn;
+ mesq l("It was built by The Alliance, and can be accessed by a ship in Tulimshar.");
+ next;
+ mesn;
+ mesq l("As you may be aware, the Magic Council is in Tulim, after all.");
+ next;
+ mesn;
+ mesq l("Here you can find professors, academics and researchers. Feel free to enroll in any class as well.");
+ break;
+ case 3:
+ mesn;
+ mesq l("Simply put, they are raw power.");
+ next;
+ mesn;
+ mesq l("There is only so much magical power your body can handle without breaking.");
+ next;
+ mesn;
+ mesq l("By \"breaking\", I do not mean death. It is something worse.");
+ next;
+ mesn;
+ mesq l("How to expand this limit? Well, you'll need to touch a Mana Stone. If you can handle more raw power, your limit will extend.");
+ next;
+ mesn;
+ mesq l("It also increases naturally as you grow, albeit less.");
+ next;
+ mesn;
+ mesq l("Keep in mind, we at the Academy do not have a Mana Stone.");
+ break;
+ case 4:
+ mesn;
+ mesq l("Ah, research points (RP). They are knowledge which can be used in honing your skills.");
+ next;
+ mesn;
+ mesq l("You will need a certain amount of them to upgrade any skill, which will be spent and no longer available for use.");
+ next;
+ mesn;
+ mesq l("But the more you use a certain skill, the less research points will be required to upgrade it. And that bonus is permanent.");
+ next;
+ mesn;
+ mesq l("As to how to obtain research points... Randomly when casting, by enrolling in a class with my wife Emma, by studying monsters, and randomly but very rarely with the Professor in Tulimshar.");
+ break;
+ case 5:
+ mesn;
+ mesq l("Those with most %s on this world becomes scholars.", "[@@https://wiki.moubootaurlegends.org/|"+l("research")+"@@]");
+ next;
+ mesn;
+ mesq l("Scholars dedicate part of their time so others can learn about the world, and as such, they are always welcome to this Academy.");
+ next;
+ mesn;
+ mesq l("If they enroll, they will become able to study monsters and to visit the Mystical Forest west of here as well.");
+ next;
+ mesn;
+ mesq l("Of course, some get scholarship in honor of the cause or by notable knowledge and prowess; These are a special group not worth mentioning.");
+ break;
+ case 6:
+ HallOfAcademic();
+ break;
+ case 7:
+ mesn;
+ mesq l("That is not how things are done here.");
+ next;
+ mesn;
+ mesq l("First, you need to contribute to the common knowledge of this world. Like, write a %s, guide new players or something.", "[@@https://wiki.moubootaurlegends.org/|"+l("Wiki article")+"@@]");
+ next;
+ mesn;
+ mesq l("Then someone of a scholarship rank above your must approve it, and say that your work is enough to the next scholar rank.");
+ next;
+ mesn;
+ mesq l("Naturally, it doesn't have to be a wiki article. But it must be noteworthy to the whole community, and wiki articles are one of the easiest ways for that.");
+ next;
+ mesn;
+ mesq l("For the higher titles, you'll need vouch of multiple people. You can vouch for anyone below your rank with %s but never for someone of same or higher rank.", b("@titulate"));
+ next;
+ mesn;
+ mesq l("Do note that abuse will cause both you and the person you vouched for to be kicked from the Academy! So be mindful with to whom you give titles.");
+ next;
+ mesn;
+ mesq l("Abuse can be determined by your peers or by the grandmasters, so be careful.");
+ next;
+ mesn;
+ mesq l("Otherwise, you can also obtain a title during the Magic Olympics. They happen every three months in average, and are the hardest way to obtain a title.");
+ break;
+ case 8:
+ mesn;
+ mesq l("Oh, several things. It depends a bit on what the scholars consider, and the scholars... well, they change.");
+ next;
+ mesn;
+ mesq l("For example, translations do not count. Wiki articles count.");
+ next;
+ mesn;
+ mesq l("Writing/Updating in client-data quests.xml and items.xml with the correct information usually counts as well.");
+ next;
+ mesn;
+ mesq l("But pretty much, anything which contributes to the common knowledge of this world. It might even be writing a NPC telling about the world history, developing software for Wiki/GameInfo/etc., it all depends on the scholars.");
+ break;
+ case 9:
+ mesn;
+ mesq l("The study skill allows you to see the exact health a monster have, as well some details.");
+ next;
+ mesn;
+ mesq l("And if you study them well, you'll also gain more Research Points than you would get with other skills.");
+ next;
+ mesn;
+ mesq l("Think on it like a... perk, for having helped the adventurers in this world. I just need to check if you are eligible, hold still.");
+ next;
+ mesn;
+ mesc l("%s takes a paper from his drawer. It has your photo on it.", .name$);
+ next;
+ mesn;
+ mesq l("%s, %s in Magic Arts, Parity Level %d, tier %d mage.", strcharinfo(0), academicrank(), REBIRTH*100+BaseLevel, MAGIC_LVL);
+ next;
+ if (MAGIC_LVL < (1+getskilllv(TMW2_STUDY))) {
+ mesn;
+ mesq l("The skill would be wasted on a noob mage like you. Go get more magic power first!");
+ break;
+ }
+ if (REBIRTH*100+BaseLevel < (1+getskilllv(TMW2_STUDY))*50) {
+ mesn;
+ mesq l("The skill would be wasted on a noob like you. You are weak. Go gain a few levels and then return here.");
+ break;
+ }
+ // TODO: Need X skills learnt or 1M GP.
+ .@price = (1+getskilllv(TMW2_STUDY)) * 1000;
+ mesn;
+ mesq l("Teaching you how to study will take from my time, so I'll want a small compromise of %s GP to make sure you will actually make good use of it.", fnum(.@price));
+ if (Zeny < .@price)
+ break;
+ next;
+ mesc l("Pay the tuition fee?"), 1;
+ if (askyesno() == ASK_YES) {
+ Zeny-=.@price;
+ skill TMW2_STUDY, getskilllv(TMW2_STUDY)+1, 0;
+ mesn;
+ mesq l("Use its powers for good!");
+ }
+ break;
+ }
+ } while (@menu != 1);
+ close;
+
+OnInit:
+ .distance = 4;
+ .sex = G_MALE;
+ end;
+}
+
diff --git a/npc/027-1/_import.txt b/npc/027-1/_import.txt
new file mode 100644
index 0000000..e64a633
--- /dev/null
+++ b/npc/027-1/_import.txt
@@ -0,0 +1,14 @@
+// Map 027-1: The Academy Island
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/027-1/_mobs.txt",
+"npc/027-1/_warps.txt",
+"npc/027-1/ctrl.txt",
+"npc/027-1/eliza.txt",
+"npc/027-1/elza.txt",
+"npc/027-1/enzo.txt",
+"npc/027-1/ezra.txt",
+"npc/027-1/laura.txt",
+"npc/027-1/statue.txt",
+"npc/027-1/students.txt",
+"npc/027-1/students2.txt",
+"npc/027-1/wizard.txt",
diff --git a/npc/027-1/_mobs.txt b/npc/027-1/_mobs.txt
new file mode 100644
index 0000000..d8d5604
--- /dev/null
+++ b/npc/027-1/_mobs.txt
@@ -0,0 +1,12 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 027-1: The Academy Island mobs
+027-1,77,95,4,3 monster Duck 1029,2,60000,30000
+027-1,29,146,10,10 monster Magic Ratto 1126,3,60000,30000
+027-1,57,127,9,3 monster Mana Piou 1155,3,60000,30000
+027-1,114,116,30,25 monster Red Butterfly 1025,7,60000,30000
+027-1,128,25,12,6 monster Duck 1029,2,30000,30000
+027-1,150,48,10,30 monster Croc 1006,6,30000,30000
+027-1,59,116,24,25 monster Mana Bug 1075,4,60000,30000
+027-1,100,152,60,7 monster Sea Slime 1093,12,5000,5000
+027-1,149,117,11,27 monster Piou 1002,4,60000,30000
+027-1,89,65,26,25 monster Cyan Butterfly 1172,6,60000,30000
diff --git a/npc/027-1/_warps.txt b/npc/027-1/_warps.txt
new file mode 100644
index 0000000..7d57ab2
--- /dev/null
+++ b/npc/027-1/_warps.txt
@@ -0,0 +1,10 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 027-1: The Academy Island warps
+027-1,90,156,0 warp #027-1_90_156 5,0,003-1,59,59
+027-1,90,39,0 warp #027-1_90_39 1,0,027-0,65,35
+027-1,73,53,0 warp #027-1_73_53 0,0,027-2,28,28
+027-1,77,65,0 warp #027-1_77_65 0,0,027-2,32,42
+027-1,107,59,0 warp #027-1_107_59 0,0,027-4,29,34
+027-1,46,100,0 warp #027-1_46_100 0,0,027-3,27,25
+027-1,40,115,0 warp #027-1_40_115 0,0,027-3,24,39
+027-1,103,101,0 warp #027-1_103_101 0,0,027-6,30,38
diff --git a/npc/027-1/ctrl.txt b/npc/027-1/ctrl.txt
new file mode 100644
index 0000000..234fda9
--- /dev/null
+++ b/npc/027-1/ctrl.txt
@@ -0,0 +1,38 @@
+// TMW2 Scripts.
+// Author:
+// Jesusalva
+// Description:
+// Magic School controlled warps
+
+027-1,120,131,0 script #0271W01 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if (ACADEMIC_RANK || is_sponsor())
+ warp "027-5", 28, 23;
+ end;
+}
+
+027-1,82,118,0 script #0271W02 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if (ACADEMIC_RANK || is_sponsor())
+ warp "027-7", 60, 48;
+ end;
+}
+
+027-1,76,118,0 script #0271W03 NPC_HIDDEN,1,0,{
+ end;
+OnTouch:
+ if (ACADEMIC_RANK || is_sponsor())
+ warp "027-7", 41, 48;
+ end;
+}
+
+027-1,72,118,0 script #0271W04 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if (ACADEMIC_RANK || is_sponsor())
+ warp "027-7", 24, 48;
+ end;
+}
+
diff --git a/npc/027-1/eliza.txt b/npc/027-1/eliza.txt
new file mode 100644
index 0000000..48c0592
--- /dev/null
+++ b/npc/027-1/eliza.txt
@@ -0,0 +1,22 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Forgetful
+
+027-1,75,56,0 script Eliza NPC_DARK_SORCERER_F,{
+ mesn l("%s, the Forgetful", .name$);
+ mesq l("What was I doing before...? I totally forgot!");
+ if (any(true, false))
+ mesc l("Have you seen my sister Elza?");
+ next;
+ ForgetfulNPC(.name$, CLASS_DESTRUCTION);
+ close;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+
+}
+
diff --git a/npc/027-1/elza.txt b/npc/027-1/elza.txt
new file mode 100644
index 0000000..cd72c25
--- /dev/null
+++ b/npc/027-1/elza.txt
@@ -0,0 +1,22 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Forgetful
+
+027-1,104,61,0 script Elza NPC_DARK_SORCERER_F,{
+ mesn l("%s, the Forgetful", .name$);
+ mesq l("What was I doing before...? I totally forgot!");
+ if (any(true, false))
+ mesc l("Have you seen my brother %s?", any("Enzo", "Ezra"));
+ next;
+ ForgetfulNPC(.name$, CLASS_SCHOLARSHIP);
+ close;
+
+OnInit:
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+
+}
+
diff --git a/npc/027-1/enzo.txt b/npc/027-1/enzo.txt
new file mode 100644
index 0000000..7ca4259
--- /dev/null
+++ b/npc/027-1/enzo.txt
@@ -0,0 +1,20 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Forgetful
+
+027-1,49,102,0 script Enzo NPC_BLACKWIZARD,{
+ mesn l("%s, the Forgetful", .name$);
+ mesq l("What was I doing before...? I forgot!");
+ next;
+ ForgetfulNPC(.name$, CLASS_PHYSICAL);
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+
+}
+
diff --git a/npc/027-1/ezra.txt b/npc/027-1/ezra.txt
new file mode 100644
index 0000000..b16a42c
--- /dev/null
+++ b/npc/027-1/ezra.txt
@@ -0,0 +1,23 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Forgetful
+
+027-1,135,25,0 script Ezra NPC_BLACKWIZARD,{
+ mesn l("%s, the Forgetful", .name$);
+ mesq l("What was I doing before...? I forgot!");
+ next;
+ ForgetfulNPC(.name$, CLASS_TRICKS);
+
+ mesn l("%s, the Forgetful", .name$);
+ mesq l("Do you know where my brother Enzo is? I forgot that too!");
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+
+}
+
diff --git a/npc/027-1/laura.txt b/npc/027-1/laura.txt
new file mode 100644
index 0000000..4684764
--- /dev/null
+++ b/npc/027-1/laura.txt
@@ -0,0 +1,395 @@
+// TMW2 Scripts.
+// Author:
+// Jesusalva
+// Description:
+// Magic School special class
+
+027-1,117,131,0 script Laura NPC_FEMALE,{
+ if (MGQUEST && getskilllv(TMW2_SKILLPERMIT) == 2 && MAGIC_LVL >= 3 && ST_TIER >= 1) goto L_T3_S0;
+
+ mesn;
+ mesq l("Hello, and welcome to the Magic Academy.");
+ next;
+ mesn;
+ mesq l("I love living here, but I wish people weren't locked inside the rooms all time.");
+ next;
+ switch (getskilllv(TMW2_SKILLPERMIT)) {
+ case 0:
+ if (MAGIC_LVL >= 1)
+ goto L_Tier1;
+ break;
+ case 1:
+ if (MAGIC_LVL >= 2)
+ goto L_Tier2;
+ break;
+ case 2:
+ if (MAGIC_LVL >= 3)
+ goto L_Tier3;
+ break;
+ case 3:
+ if (MAGIC_LVL >= 4)
+ goto L_Tier4;
+ break;
+ }
+ closeclientdialog;
+ goodbye;
+ close;
+
+////////////////
+/* First Tier */
+////////////////
+L_Tier1:
+ mesn;
+ mesq l("Also, I see you're a newly registered mage. Am I right?");
+ next;
+ if (askyesno() == ASK_NO) {
+ mesn;
+ mesq l("Alright. I wish you good luck in your studies.");
+ close;
+ }
+ mesn;
+ mesq l("Good. Did you knew you could register to the Special Class, in order to get an extra skill point?");
+ next;
+ mesn;
+ mesq l("We only require a small fee of %d %s, or %d %s, or %d %s if you are poor adventurer.",
+ 1, getitemlink(DivineApple),
+ 25, getitemlink(SnakeEgg),
+ 360, getitemlink(MaggotSlime));
+ next;
+ inventoryplace ScholarshipBadge, 1;
+ switch(select(
+ rif(countitem(DivineApple) >= 1, l("I got the apple.")),
+ rif(countitem(SnakeEgg) >= 25, l("I got the eggs.")),
+ rif(countitem(MaggotSlime) >= 360, l("I got the maggots slimes.")),
+ l("I will apply later."))) {
+
+ case 1:
+ delitem DivineApple, 1;
+ getexp $MANA_BLVL*100, $MANA_JLVL*10;
+ getitem ScholarshipBadge, 1; // NOT A BUG
+ break;
+ case 2:
+ delitem SnakeEgg, 25;
+ getexp $MANA_BLVL*100, $MANA_JLVL*10;
+ break;
+ case 3:
+ delitem MaggotSlime, 360;
+ break;
+ default:
+ close;
+ break;
+ }
+ skill TMW2_SKILLPERMIT, 1, 0;
+ getitem ScholarshipBadge, 1;
+ mes "";
+ mesn;
+ mesq l("Many thanks, your help has been invaluable. You now have an extra point, use it wisely.");
+ next;
+ mesn;
+ mesq l("Listen, as you're new here, I'll give you my %s. I won't give it again, understood? This is my personal gratitude. Come again!", getitemlink(ScholarshipBadge));
+ close;
+
+/////////////////
+/* Second Tier */
+/////////////////
+L_Tier2:
+ mesn;
+ mesq l("Maybe you're interested in the Special Class again? An extra magic skill point for a lot of items, what do ya say?");
+ next;
+ if (askyesno() == ASK_NO) {
+ mesn;
+ mesq l("Alright. I wish you good luck in your studies.");
+ close;
+ }
+ mesn;
+ mesq l("Great news! Then please bring me 1 @@, or 200 @@ @@ 20 @@.", getitemlink(DivineApple), getitemlink(SilkCocoon), b(l("and")), getitemlink(ChocolateMouboo));
+ next;
+ switch(select(
+ rif(countitem(DivineApple) >= 1, l("I got the apple.")),
+ rif(countitem(SilkCocoon) >= 200 && countitem(ChocolateMouboo) >= 20, l("I got the silk and chocolate.")),
+ l("I will apply later."))) {
+
+ case 1:
+ delitem DivineApple, 1;
+ break;
+ case 2:
+ delitem SilkCocoon, 200;
+ delitem ChocolateMouboo, 20;
+ break;
+ default:
+ close;
+ break;
+ }
+ skill TMW2_SKILLPERMIT, 2, 0;
+ getexp 30000, 1000; // Level cannot be lower than 35, use 40 as ref.
+ mes "";
+ mesn;
+ mes l("Many thanks, and once again, your help has been invaluable.");
+ mes l("You now have an extra point, use it wisely.");
+ close;
+
+/////////////////
+/* Third Tier */
+/////////////////
+L_Tier3:
+ ST_TIER=1;
+ mesn;
+ mesq l("Maybe you're interested in the Special Class again? An extra magic skill point, but this time in a dangerous journey, what do ya say?");
+ next;
+ if (nard_reputation() < 8) {
+ mesn;
+ mesc l("I advise you to do more quests on Tulimshar and Candor, otherwise, you will fail right at the end."), 1;
+ next;
+ }
+ if (askyesno() == ASK_NO) {
+ mesn;
+ mesq l("Alright. I wish you good luck in your studies.");
+ close;
+ }
+ mesn;
+ mesq l("I will prepare you a potion. But beware, that potion will only last 20 minutes. You should assign some intelligence points to succeed.");
+ next;
+ mesn;
+ mes l("If it expires, you'll need to do another. To bake it I need 1 @@, 10 @@ and an @@.", getitemlink(EverburnPowder), getitemlink(MaggotSlime), getitemlink(EmptyBottle));
+ mesc l("Have Maggot Slimes, Bug Legs, Mauve Herbs and Money, lots of them."), 1;
+ next;
+ select
+ rif(countitem(MaggotSlime) >= 10 && countitem(EverburnPowder) && countitem(EmptyBottle), l("I have everything.")),
+ l("I'm not ready.");
+ mes "";
+ if (@menu == 2) {
+ mesn;
+ mesq l("Yes, as you see, the costs are high. Prepare yourself.");
+ close;
+ }
+
+ if (TUTORIAL && nard_reputation() < 8) {
+ mesn col(l("Tutorial Tom"), 9);
+ mesc l("Unfortunately you're in tutorial mode, so I cannot let you go ahead knowing you'll fail. Please improve your reputation with Nard and then continue.");
+ close;
+ }
+ delitem EmptyBottle, 1;
+ delitem EverburnPowder, 1;
+ delitem MaggotSlime, 10;
+ ST_TIER=2;
+ QUEST_ELEVARTEMPO=gettimetick(2) + (60 * 20);
+ getexp 400, 0;
+ mesn;
+ mesc l("She mix the powder with the slime inside the bottle, and makes some weird mixture.");
+ next;
+ mesn;
+ mesc l("She pours something on it, you're not sure what. And then utters some magic words.");
+ next;
+ // Reset timer, this is the place where it should really happen.
+ QUEST_ELEVARTEMPO=gettimetick(2) + (60 * 20);
+ mesn;
+ mesq l("The potion is baked, and the time is now running! Read as fast as you can, don't miss details!");
+ next;
+ mesn;
+ mesq l("First thing is to get a @@. One from black market won't do, go to Halinarzo!", getitemlink(SunnyCrystal));
+ next;
+ mesn;
+ mesq l("Speak with ##BBarzil##b. Tell him it is for the Magic Academy. HURRY UP!");
+ close;
+
+// Logic handler
+L_T3_S0:
+ if (getskilllv(TMW2_SKILLPERMIT) == 2 && MAGIC_LVL >= 3 && ST_TIER == 1) goto L_Tier3;
+ if (gettimetick(2) > QUEST_ELEVARTEMPO) goto L_T3_Fail;
+
+ if (getskilllv(TMW2_SKILLPERMIT) == 2 && MAGIC_LVL >= 3 && ST_TIER == 2) goto L_T3_S2;
+ if (getskilllv(TMW2_SKILLPERMIT) == 2 && MAGIC_LVL >= 3 && ST_TIER == 3) goto L_T3_S3;
+ if (getskilllv(TMW2_SKILLPERMIT) == 2 && MAGIC_LVL >= 3 && ST_TIER == 4) goto L_T3_S4;
+ if (getskilllv(TMW2_SKILLPERMIT) == 2 && MAGIC_LVL >= 3 && ST_TIER == 5) goto L_T3_S5;
+ if (getskilllv(TMW2_SKILLPERMIT) == 2 && MAGIC_LVL >= 3 && ST_TIER == 6) goto L_T3_S6;
+ if (getskilllv(TMW2_SKILLPERMIT) == 2 && MAGIC_LVL >= 3 && ST_TIER <= 9) goto L_T3_S7;
+ if (getskilllv(TMW2_SKILLPERMIT) == 2 && MAGIC_LVL >= 3 && ST_TIER == 10) goto L_T3_Final;
+ mesc l("Error, error, L_T3_S0 General Error, REPORT ME");
+ close;
+
+L_T3_S2:
+ mesn;
+ mesq l("Hurry up! Bring a @@ from Barzil in Halinarzo!! You only have @@ left!", getitemlink(SunnyCrystal), FuzzyTime(QUEST_ELEVARTEMPO,2,2));
+ close;
+
+L_T3_S3:
+ if (countitem(SunnyCrystal) == 0) {
+ mesn;
+ mesq l("Where's the Sunny Crystal? Hurry up, you only have @@ left!", FuzzyTime(QUEST_ELEVARTEMPO,2,2));
+ }
+ delitem SunnyCrystal, 1;
+ ST_TIER=4;
+ getexp 250, 0;
+ mesn;
+ mesq l("Good, you did it!");
+ next;
+ mesn;
+ mesc l("*chants more words, while the crystal hovers the potion*");
+ next;
+
+L_T3_S4:
+ mesn;
+ mesq l("I will need many Mauve Herbs! Do you have them with you? If you don't have enough, we'll lose everything! You need at most @@!", BaseLevel+40);
+ select
+ rif(countitem(MauveHerb), l("Yes, I have herbs. I assume the risks.")),
+ l("No I don't have herbs. I'll be back.");
+
+ if (@menu == 2)
+ close;
+
+ if (gettimetick(2) > QUEST_ELEVARTEMPO) goto L_T3_Fail;
+ .@req=rand2(BaseLevel-20, BaseLevel+40);
+ // Minimum is 40, max is unknown, defaults to 100
+
+ mesn;
+ mesq l("I need @@ Herbs!", .@req);
+ //next; // If you comment this next, you'll allow players to logout and prevent penalty.
+ mes "";
+
+ if (countitem(MauveHerb) < .@req) goto L_T3_Fail;
+ delitem MauveHerb, .@r;
+ ST_TIER=5;
+ getexp .@r*3, 0;
+ //getitem MagicPotion, 1;
+
+ mesc l("You quickly give her the herbs, and she skillfully mix them on a potion.");
+ next;
+ // You'll get a random amount of time, based on spent herbs
+ // Usually, 10~73 sec, being 73 sec = 1m13s
+ QUEST_ELEVARTEMPO=QUEST_ELEVARTEMPO+rand2(10,.@r-27);
+
+L_T3_S5:
+ mesn;
+ mesq l("Good! Last step! West of Hurnscald, there is a magic fountain.");
+ next;
+ mesn;
+ mesq l("Talk to the Fountain. Pour the potion on it. I advise you to put all your points on int if possible.");
+ next;
+ mesn;
+ mesq l("Hurry up, you'll run out of time in @@!", FuzzyTime(QUEST_ELEVARTEMPO,2,2));
+ close;
+
+L_T3_S6:
+ ST_TIER=7;
+ mesn;
+ mesq l("You did it! You're now on the last stage of this BORING and LONG quest!");
+ next;
+
+L_T3_S7:
+ mesn;
+ mesq l("Jesusaves wrote a grimorie, with ancient secrets of our world.");
+ next;
+ mesn;
+ mesq l("Captain Nard have it. Fetch it with him! Quick, you only have @@ left!", FuzzyTime(QUEST_ELEVARTEMPO,2,2));
+ close;
+
+L_T3_Final:
+ skill TMW2_SKILLPERMIT, 3, 0;
+ getexp 120000, 0; // Yes, 120k experience points. Waw.
+ mesc l(".:: Congratulations! ::."), 2;
+ mesc l("You have completed the Jesusaves Grimorium Quest!"), 2;
+ next;
+ mesn;
+ mesq l("Keep the Grimorie with you. It's a rare book which holds data from all others. The book shall guide your advances!");
+ next;
+ mesn;
+ mesq lg("Yes, courageous and worthy adventurer. You did well!");
+ next;
+ mesn;
+ mesc l("*sigh*");
+ mesq l("Now I can turn in my report to Professor Volrtaw... I should not have stayed behind the classes.");
+ close;
+
+/// Fail handlers
+L_T3_Fail:
+ if (ST_TIER == 3) {
+ if (countitem(SunnyCrystal) > 0) {
+ delitem SunnyCrystal, 1;
+ } else {
+ mesn;
+ mesc l("WARNING. YOU ARE CHEATING THE SUNNY CRYSTAL QUEST."), 1;
+ next;
+ mesn;
+ mesc l("YOU WILL BE PENALIZED WITH 60% OF HEALTH."), 1;
+ mesc l("IF YOU DIE, YOU'LL SUFFER THE EXP PENALTY."), 1;
+ percentheal -60, -100;
+ close;
+ }
+ }
+
+ if (ST_TIER == 10) {
+ if (countitem(JesusalvaGrimorium) > 0) {
+ delitem JesusalvaGrimorium, 1;
+ } else {
+ mesn;
+ mesc l("WARNING. YOU ARE CHEATING THE GRIMORIE QUEST."), 1;
+ next;
+ mesn;
+ mesc l("YOU WILL BE PENALIZED WITH 70% OF HEALTH."), 1;
+ mesc l("IF YOU DIE, YOU'LL SUFFER THE EXP PENALTY."), 1;
+ percentheal -70, -100;
+ close;
+ }
+ }
+
+ mesc l(".:: Mission Failed ::."), 1;
+ mesc l("You ran out of time."), 1;
+ mes "";
+ mes l("You should have gotten here @@.", FuzzyTime(QUEST_ELEVARTEMPO,0,2));
+ ST_TIER=1;
+ close;
+
+L_Tier4:
+ if (!ACADEMIC_RANK) {
+ mesn;
+ mesq l("Oh hello again. This time I need you to be enrolled here, for this, you need to either get a good rank at the Magic Olympics or by contributing to the world's knowledge. Talk to headmaster if you need help.");
+ close;
+ }
+ mesn;
+ mesq l("%s! I see you are a(n) %s here, very good!", strcharinfo(0), academicrank());
+ next;
+ mesn;
+ mesq l("Still interested in extra credit? Now that you're a(n) %s, you can sign this perfectly normal and standard %s, and by helping us out, by helping ME out, you'll gain the extra credit. What do you say? Not a bad deal, right?", academicrank(), b(l("Non Disclosure Agreemeent")));
+ next;
+ mesc l("Sign the non-disclosure agreement?");
+ if (askyesno() == ASK_NO) close;
+ mesn;
+ mesq l("Perfect! So now that you swore secrecy, you can help me! Thing is... there was... a %s!", col(l("murder"), 1));
+ next;
+ mesn;
+ mesq l("You have access to the storehouse now, right? Well, that's where it happened!");
+ next;
+ mesn;
+ mesc l("*sighs*");
+ mesq l("And obviously, Professor Volrtaw assigned me to investigate! Look at me, do I look like an investigator to you? But, he told me I could pick any student to help me! And I choose you!");
+ next;
+ mesn;
+ mesq l("Please be a pal and help me! I'll be in a dire situation if you don't! Besides, you also want the extra credit, so it is a win-win situation!");
+ next;
+ mesn;
+ mesq l("You will find a statue different from the others. It is where the game balance was murdered and bugs added instead! No, not really - this is just a placeholder. Not cool!");
+ // Reward is 550k exp for this arc (investigate, interrogate, etc)
+ // Next T5 arc will give 2 million exp points (find the PoN)
+ // Then there'll be no more arcs nor extra credits
+ // You'll gain the "Summon Princess of Night skill"
+ // And a permanent MP boost. PoN takes 1h to expire
+ // Real effect depends on your decision in Elenium Mines
+ // Sparing the girl will boost PoN considerably.
+ setq1 General_NightInRed, 1;
+ close;
+
+/// Core code
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, FancyHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SorcererRobe);
+ //setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ //setunitdata(.@npcId, UDT_WEAPON, JeansShorts);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, any(8,11,20));
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 5);
+
+ .sex=G_FEMALE;
+ .distance=5;
+ end;
+}
+
diff --git a/npc/027-1/statue.txt b/npc/027-1/statue.txt
new file mode 100644
index 0000000..dc21ef3
--- /dev/null
+++ b/npc/027-1/statue.txt
@@ -0,0 +1,26 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// These statues are of great honor to whoever have their name written in them!
+
+027-1,57,115,0 script Hero Statue#027-1 NPC_STATUE_ANDREI,{
+
+ mes l("In honor of %s, the greatest hero this world has even seen.", b("Andrei Sakar"));
+ mes "";
+ if ($MOST_HEROIC$ != "") {
+ mes l("In honor of %s, for their great deeds of recent bravery in face of impending doom.", $MOST_HEROIC$);
+ mes "";
+ }
+ mes l("In honor of %s, founder of this academy, whom built this academy WITH HIS OWN HANDS, WITH BLOOD SWEAT AND TEARS.", b("Jesusalva"));
+ mes "";
+ mes l("Also in honor of the other two sages, %s and %s. And finally, notable mention for the noble %s, %s and %s, for sponsoring this Academy.", b("Saulc"), b("Crazyfefe"), b("Micksha"), b("omatt"), b(rand_sponsor()));
+
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+ end;
+}
+
diff --git a/npc/027-1/students.txt b/npc/027-1/students.txt
new file mode 100644
index 0000000..cf3e124
--- /dev/null
+++ b/npc/027-1/students.txt
@@ -0,0 +1,45 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Random NPC (HF = Human Female)
+
+027-1,132,112,0 script Student#A01 NPC_ACADEMY_HF,{
+
+studenttalk();
+close;
+
+OnTimer1000:
+ domovestep();
+ end;
+
+OnInit:
+ initpath "move", 132, 112,
+ "dir", DOWN, 0,
+ "wait", 20, 0,
+ "move", 132, 122,
+ "dir", DOWN, 0,
+ "wait", 20, 0,
+ "dir", UP, 0,
+ "wait", 1, 0,
+ "move", 132, 102,
+ "dir", DOWN, 0,
+ "wait", 20, 0,
+ "dir", LEFT, 0,
+ "wait", 1, 0,
+ "move", 115, 102,
+ "dir", DOWN, 0,
+ "wait", 20, 0,
+ "move", 112, 112,
+ "dir", DOWN, 0,
+ "wait", 20, 0,
+ "dir", RIGHT, 0,
+ "wait", 2, 0;
+
+ initialmove;
+ initnpctimer;
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/027-1/students2.txt b/npc/027-1/students2.txt
new file mode 100644
index 0000000..82357b9
--- /dev/null
+++ b/npc/027-1/students2.txt
@@ -0,0 +1,136 @@
+// TMW2 Scripts
+// Author:
+// jak1
+// Description:
+// Random NPC (HF = Human Female)
+
+027-1,134,121,0 script Student#A02 NPC_ACADEMY_HF,{
+
+studenttalk();
+close;
+
+OnTimer1000:
+ domovestep();
+ end;
+
+OnInit:
+ initpath "wait", 1, 0,
+ "move", 134, 121,
+ "dir", DOWN, 0,
+ "wait", 2, 0,
+ "move", 131, 123,
+ "wait", 2, 0,
+ "move", 124, 121,
+ "wait", 1, 0,
+ "class", NPC_HIDDEN, 0,
+ "wait", 2, 0,
+ "dir", DOWN, 0,
+ "class", NPC_ACADEMY_HF, 0,
+ "wait", 1, 0,
+ "move", 121, 123,
+ "wait", 2, 0,
+ "move", 114, 121,
+ "wait", 1, 0,
+ "class", NPC_HIDDEN, 0,
+ "wait", 2, 0,
+ "dir", DOWN, 0,
+ "class", NPC_ACADEMY_HF, 0,
+ "wait", 1, 0,
+ "move", 111, 123,
+ "wait", 2, 0,
+ "move", 103, 121,
+ "wait", 1, 0,
+ "class", NPC_HIDDEN, 0,
+ "wait", 2, 0,
+ "dir", DOWN, 0,
+ "class", NPC_ACADEMY_HF, 0,
+ "wait", 2, 0,
+ "move", 111, 117,
+ "wait", 2, 0,
+ "move", 104, 111,
+ "wait", 1, 0,
+ "class", NPC_HIDDEN, 0,
+ "wait", 2, 0,
+ "dir", DOWN, 0,
+ "class", NPC_ACADEMY_HF, 0,
+ "wait", 1, 0,
+ "move", 111, 113,
+ "wait", 2, 0,
+ "move", 114, 111,
+ "wait", 1, 0,
+ "class", NPC_HIDDEN, 0,
+ "wait", 2, 0,
+ "dir", DOWN, 0,
+ "class", NPC_ACADEMY_HF, 0,
+ "wait", 1, 0,
+ "move", 121, 113,
+ "wait", 2, 0,
+ "move", 124, 111,
+ "wait", 1, 0,
+ "class", NPC_HIDDEN, 0,
+ "wait", 2, 0,
+ "dir", DOWN, 0,
+ "class", NPC_ACADEMY_HF, 0,
+ "wait", 1, 0,
+ "move", 131, 113,
+ "wait", 1, 0,
+ "move", 134, 111,
+ "wait", 1, 0,
+ "class", NPC_HIDDEN, 0,
+ "wait", 2, 0,
+ "dir", DOWN, 0,
+ "class", NPC_ACADEMY_HF, 0,
+ "wait", 1, 0,
+ "move", 131, 103,
+ "wait", 1, 0,
+ "move", 134, 101,
+ "wait", 1, 0,
+ "class", NPC_HIDDEN, 0,
+ "wait", 2, 0,
+ "dir", DOWN, 0,
+ "class", NPC_ACADEMY_HF, 0,
+ "wait", 1, 0,
+ "move", 131, 103,
+ "wait", 1, 0,
+ "move", 124, 101,
+ "wait", 1, 0,
+ "class", NPC_HIDDEN, 0,
+ "wait", 2, 0,
+ "dir", DOWN, 0,
+ "class", NPC_ACADEMY_HF, 0,
+ "wait", 1, 0,
+ "move", 121, 103,
+ "wait", 1, 0,
+ "move", 114, 101,
+ "wait", 1, 0,
+ "class", NPC_HIDDEN, 0,
+ "wait", 2, 0,
+ "dir", DOWN, 0,
+ "class", NPC_ACADEMY_HF, 0,
+ "wait", 1, 0,
+ "move", 111, 103,
+ "wait", 1, 0,
+ "move", 103, 101,
+ "wait", 1, 0,
+ "class", NPC_HIDDEN, 0,
+ "wait", 2, 0,
+ "dir", DOWN, 0,
+ "class", NPC_ACADEMY_HF, 0,
+ "wait", 1, 0,
+ "move", 111, 103,
+ "wait", 1, 0,
+ "move", 111, 113,
+ "wait", 1, 0,
+ "move", 121, 113,
+ "wait", 1, 0,
+ "move", 131, 113,
+ "wait", 1, 0,
+ "move", 131, 123;
+
+ initialmove;
+ initnpctimer;
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/027-1/wizard.txt b/npc/027-1/wizard.txt
new file mode 100644
index 0000000..3551544
--- /dev/null
+++ b/npc/027-1/wizard.txt
@@ -0,0 +1,33 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Wizard at Magic Academy Entrance
+
+027-1,44,91,0 script Purple Wizard NPC_PURPLE_WIZARD_F,{
+ mesn;
+ mesq l("Hello. I was assigned to guard the ranged training grounds of the mystic forest.");
+ next;
+ mesn;
+ mesq l("It is a dangerous area, so we only allow students enrolled at the academy to participate.");
+ if (!ACADEMIC_RANK && !is_sponsor())
+ close;
+ next;
+ mesn;
+ mesq l("Do you want to go there? The Red Wizard may be able to offer you training.");
+ next;
+ select
+ l("Not yet."),
+ l("Yes please.");
+ mes "";
+ closeclientdialog;
+ if (@menu == 2)
+ warp "017-0", 249, 228;
+ close;
+
+OnInit:
+ .distance = 3;
+ .sex = G_FEMALE;
+ end;
+}
+
diff --git a/npc/027-2/_import.txt b/npc/027-2/_import.txt
new file mode 100644
index 0000000..c01f816
--- /dev/null
+++ b/npc/027-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 027-2: Wizardry Institute Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/027-2/_warps.txt",
+"npc/027-2/colin.txt",
diff --git a/npc/027-2/_warps.txt b/npc/027-2/_warps.txt
new file mode 100644
index 0000000..15b84fa
--- /dev/null
+++ b/npc/027-2/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 027-2: Wizardry Institute Indoors warps
+027-2,28,29,0 warp #027-2_28_29 0,0,027-1,73,54
+027-2,32,43,0 warp #027-2_32_43 0,0,027-1,77,66
diff --git a/npc/027-2/colin.txt b/npc/027-2/colin.txt
new file mode 100644
index 0000000..f0384c7
--- /dev/null
+++ b/npc/027-2/colin.txt
@@ -0,0 +1,174 @@
+// TMW2 script.
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Colin, of Destructive Magic Class.
+
+027-2,28,23,0 script Colin NPC_PLAYER,{
+ function basicMagic;
+ function standardMagic;
+ function advancedMagic;
+ if (!MAGIC_LVL) goto L_NoMagic;
+ mes l(".:: Destructive Magic Class ::.");
+ mesc l("Specialized in destructive, magical skills.");
+ next;
+ mesn;
+ mesc l("You have @@ magic skill points available.", sk_points());
+ mesc l("Note: You can exchange 1 @@ for 3 @@", getitemlink(GemPowder), getitemlink(Quill)), 1;
+ mes "";
+ select
+ l("Basic Magic"),
+ l("Standard Magic"),
+ l("Advanced Magic"),
+ //l("Mastery Magic"),
+ rif(countitem(GemPowder), l("Exchange Gempowder for Quill"));
+ mes "";
+ .@lv=@menu;
+ do
+ {
+ switch (.@lv) {
+ case 1:
+ basicMagic();
+ break;
+ case 2:
+ standardMagic();
+ break;
+ case 3:
+ advancedMagic();
+ break;
+ case 4:
+ inventoryplace Quill, 3;
+ delitem GemPowder, 1;
+ getitem Quill, 3;
+ @menuret=0;
+ break;
+ }
+
+ // Handle result
+ mes "";
+ if (@menuret) {
+ if (!learn_magic(@menuret)) {
+ mesc l("You do not meet all requisites for this skill."), 1;
+ next;
+ }
+ } else {
+ closeclientdialog;
+ }
+
+ } while (@menuret);
+ close;
+
+L_NoMagic:
+ next;
+ mesn;
+ mesq l("You do not have enough magic power for these classes.");
+ next;
+ if ($FIRESOFSTEAM < 9) {
+ mesn;
+ mesq l("Besides the Magic Council, Andrei Sakar have his own Mana Stone, but I doubt he would train the likes of you, or share his Mana Stone.");
+ next;
+ }
+ mesn;
+ mesq l("Perhaps, in the city, someone knows rumors about Mana Stones and can teach you. Other than that, you're on your own.");
+ close;
+
+function basicMagic {
+ if (MAGIC_LVL < 1) goto L_NoMagic;
+ mes l(".:: Fire Arrow ::.");
+ mesc l("Basic fire single target attack. May burn targets.");
+ mes "";
+ mes l(".:: Napalm Beat ::.");
+ mesc l("Basic multi-target holy attack. Is actually weak.");
+ mes "";
+ mes l(".:: Magic Strike ::.");
+ mesc l("Basic wind single target attack. Strong in overall.");
+ mes "";
+ mes l(".:: Frost Diver ::.");
+ mesc l("Basic ice single target attack. May freeze targets.");
+ mes "";
+ mes l(".:: Meteor Strike ::.");
+ mesc l("Basic earth single target attack. May stun targets.");
+ mes "";
+ menuint
+ l("Fire Arrow"), TMW2_FIREARROW,
+ l("Napalm Beat"), TMW2_NAPALMBEAT,
+ l("Magic Strike"), TMW2_MAGICSTRIKE,
+ l("Frost Diver"), TMW2_FROSTDIVER,
+ l("Meteor Strike"), TMW2_METEORSTRIKE,
+ l("Cancel"), 0;
+ return;
+}
+
+function standardMagic {
+ if (MAGIC_LVL < 2) goto L_NoMagic;
+ mes l(".:: Fireball ::.");
+ mesc l("Area of effect fire damage. May burn targets.");
+ mes "";
+ mes l(".:: Holy Light ::.");
+ mesc l("Basic single target holy attack. Splashes in the nearby tiles.");
+ mes "";
+ mes l(".:: Lightning Bolt ::.");
+ mesc l("Strong wind single target attack.");
+ mes "";
+ mes l(".:: Frost Nova ::.");
+ mesc l("Basic ice area attack. May freeze targets.");
+ mes "";
+ mes l(".:: Meteor Shower ::.");
+ mesc l("Basic earth area attack. May stun targets.");
+ mes "";
+ mes l(".:: Firewalk ::.");
+ mesc l("Superior damage on enemies who walk over the fire.");
+ mes "";
+ menuint
+ l("Fireball"), TMW2_FIREBALL,
+ l("Holy Light"), TMW2_HOLYLIGHT,
+ l("Lightning Bolt"), TMW2_LIGHTNINGBOLT,
+ l("Frost Nova"), TMW2_FROSTNOVA,
+ l("Meteor Shower"), TMW2_METEORSHOWER,
+ l("Firewalk"), SO_FIREWALK,
+ l("Cancel"), 0;
+ return;
+}
+
+function advancedMagic {
+ if (MAGIC_LVL < 4) goto L_NoMagic;
+ mes l(".:: Armageddon ::.");
+ mesc l("Huge area of effect fire damage. May burn targets.");
+ mes "";
+ mes l(".:: Judgment ::.");
+ mesc l("Superior single target damage which splashes in area.");
+ mes "";
+ mes l(".:: Tempest ::.");
+ mesc l("Strong wind area of effect attack.");
+ mes "";
+ mes l(".:: Nilfheim ::.");
+ mesc l("Basic ice area attack. Freeze targets in a big area.");
+ mes "";
+ mes l(".:: Gaia Break ::.");
+ mesc l("Destroys everything in a line (earth). Boosts allied forces DEF.");
+ mes "";
+ menuint
+ l("Armageddon"), TMW2_ARMAGEDDON,
+ l("Judgment"), TMW2_JUDGMENT,
+ l("Tempest"), TMW2_TEMPEST,
+ l("Nilfheim"), TMW2_NILFHEIM,
+ l("Gaia Break"), TMW2_GAIABREAK,
+ l("Cancel"), 0;
+ return;
+}
+
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SorcererRobe);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, JeansShorts);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 21);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 20);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/027-3/_import.txt b/npc/027-3/_import.txt
new file mode 100644
index 0000000..feb1974
--- /dev/null
+++ b/npc/027-3/_import.txt
@@ -0,0 +1,5 @@
+// Map 027-3: Physical Sciences Classroom
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/027-3/_warps.txt",
+"npc/027-3/angel.txt",
+"npc/027-3/luca.txt",
diff --git a/npc/027-3/_warps.txt b/npc/027-3/_warps.txt
new file mode 100644
index 0000000..8f4f474
--- /dev/null
+++ b/npc/027-3/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 027-3: Physical Sciences Classroom warps
+027-3,27,26,0 warp #027-3_27_26 0,0,027-1,46,101
+027-3,24,40,0 warp #027-3_24_40 0,0,027-1,40,116
diff --git a/npc/027-3/angel.txt b/npc/027-3/angel.txt
new file mode 100644
index 0000000..b811e3d
--- /dev/null
+++ b/npc/027-3/angel.txt
@@ -0,0 +1,111 @@
+// TMW2 script.
+// Author:
+// dangerDuck
+// Description:
+// Angel, of Physical Science Class.
+
+027-3,36,28,0 script Angel NPC_PLAYER,{
+ function basicMagic;
+ function standardMagic;
+ function advancedMagic;
+ if (!MAGIC_LVL) goto L_NoMagic;
+ mes l(".:: Physical Sciences Class ::.");
+ mesc l("Specialized in skills with fist-based damage and unarmed mastery.");
+ next;
+ mesn;
+ mesc l("You have @@ magic skill points available.", sk_points());
+ select
+ l("Basic Magic"),
+ l("Standard Magic"),
+ l("Advanced Magic");
+ //l("Mastery Magic");
+ mes "";
+ .@lv=@menu;
+ do
+ {
+ // Display appropriate menu
+ if (.@lv == 1)
+ basicMagic();
+ else if (.@lv == 2)
+ standardMagic();
+ else if (.@lv == 3)
+ advancedMagic();
+
+ // Handle result
+ mes "";
+ if (@menuret) {
+ if (!learn_magic(@menuret)) {
+ mesc l("You do not meet all requisites for this skill."), 1;
+ next;
+ }
+ } else {
+ closeclientdialog;
+ }
+
+ } while (@menuret);
+ close;
+
+L_NoMagic:
+ next;
+ mesn;
+ mesq l("You do not have enough magic power for these classes.");
+ next;
+ if ($FIRESOFSTEAM < 9) {
+ mesn;
+ mesq l("Besides the Magic Council, Andrei Sakar have his own Mana Stone, but I doubt he would train the likes of you, or share his Mana Stone.");
+ next;
+ }
+ mesn;
+ mesq l("Perhaps, in the city, someone knows rumors about Mana Stones and can teach you. Other than that, you're on your own.");
+ close;
+
+function basicMagic {
+ if (MAGIC_LVL < 1) goto L_NoMagic;
+ mes l(".:: Brawling ::.");
+ mesc l("Three powerful consecutive brawn attacks.");
+ mes "";
+ menuint
+ l("Brawling"), TMW2_BRAWLING,
+ l("Cancel"), 0;
+ return;
+}
+
+function standardMagic {
+ if (MAGIC_LVL < 2) goto L_NoMagic;
+ mes l(".:: Bear Strike ::.");
+ mesc l("Five powerful consecutive brawn attacks.");
+ mes "";
+ mes l(".:: Stunning Strike ::.");
+ mesc l("Three powerful consecutive brawn attacks with a chance to stun target.");
+ mes "";
+ menuint
+ l("Bear Strike"), TMW2_BEARSTRIKE,
+ l("Stunning Strike"), TMW2_STUNNINGSTRIKE,
+ l("Cancel"), 0;
+ return;
+}
+
+function advancedMagic {
+ if (MAGIC_LVL < 3) goto L_NoMagic;
+ mes l(".:: All In One ::.");
+ mesc l("Seven consecutive brawn attacks of diff. elements.");
+ mes "";
+ menuint
+ l("All In One"), TMW2_ALLINONE,
+ l("Cancel"), 0;
+ return;
+}
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, AssassinChest);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, AssassinPants);
+ setunitdata(.@npcId, UDT_WEAPON, AssassinBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 20);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 7);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/027-3/luca.txt b/npc/027-3/luca.txt
new file mode 100644
index 0000000..eae8824
--- /dev/null
+++ b/npc/027-3/luca.txt
@@ -0,0 +1,120 @@
+// TMW2 script.
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Luca, of Physical Science Class.
+
+027-3,24,36,0 script Luca NPC_PLAYER,{
+ function basicMagic;
+ function standardMagic;
+ function advancedMagic;
+ if (!MAGIC_LVL) goto L_NoMagic;
+ mes l(".:: Physical Sciences Class ::.");
+ mesc l("Specialized in skills with weapon-based damage and Assassination.");
+ next;
+ mesn;
+ mesc l("You have @@ magic skill points available.", sk_points());
+ select
+ l("Basic Magic"),
+ l("Standard Magic"),
+ l("Advanced Magic");
+ //l("Mastery Magic");
+ mes "";
+ .@lv=@menu;
+ do
+ {
+ // Display appropriate menu
+ if (.@lv == 1)
+ basicMagic();
+ else if (.@lv == 2)
+ standardMagic();
+ else if (.@lv == 3)
+ advancedMagic();
+
+ // Handle result
+ mes "";
+ if (@menuret) {
+ if (!learn_magic(@menuret)) {
+ mesc l("You do not meet all requisites for this skill."), 1;
+ next;
+ }
+ } else {
+ closeclientdialog;
+ }
+
+ } while (@menuret);
+ close;
+
+L_NoMagic:
+ next;
+ mesn;
+ mesq l("You do not have enough magic power for these classes.");
+ next;
+ if ($FIRESOFSTEAM < 9) {
+ mesn;
+ mesq l("Besides the Magic Council, Andrei Sakar have his own Mana Stone, but I doubt he would train the likes of you, or share his Mana Stone.");
+ next;
+ }
+ mesn;
+ mesq l("Perhaps, in the city, someone knows rumors about Mana Stones and can teach you. Other than that, you're on your own.");
+ close;
+
+function basicMagic {
+ if (MAGIC_LVL < 1) goto L_NoMagic;
+ mes l(".:: Falkon Strike ::.");
+ mesc l("Bash your weapon against your enemies with raised damage and accuracy.");
+ mes "";
+ mes l(".:: Ground Strike ::.");
+ mesc l("Hit the ground, exploding the surroundings and disabling enemies.");
+ mes "";
+ mes l(".:: Sharpshooter ::.");
+ mesc l("Shoot an arrow or bullet which damages everything on its way.");
+ mes "";
+ menuint
+ l("Falkon Strike"), TMW2_FALKONSTRIKE,
+ l("Ground Strike"), TMW2_GROUNDSTRIKE,
+ l("Sharpshooter"), SN_SHARPSHOOTING,
+ l("Cancel"), 0;
+ return;
+}
+
+function standardMagic {
+ if (MAGIC_LVL < 2) goto L_NoMagic;
+ mes l(".:: Supreme Attack ::.");
+ mesc l("Cause a very strong attack with lowered accuracy.");
+ mes "";
+ mes l(".:: Arrow Shower ::.");
+ mesc l("Shoot FIVE arrows or bullets to the air and cause Area Of Effect Damage.");
+ mes "";
+ menuint
+ l("Supreme Attack"), TMW2_SUPREMEATTACK,
+ l("Arrow Shower"), TMW2_ARROWSHOWER,
+ l("Cancel"), 0;
+ return;
+}
+
+function advancedMagic {
+ if (MAGIC_LVL < 3) goto L_NoMagic;
+ mes l(".:: Counter Attack ::.");
+ mesc l("Retaliates next attack with a critical hit. This instance lasts a second.");
+ mes "";
+ menuint
+ l("Counter Attack"), KN_AUTOCOUNTER,
+ l("Cancel"), 0;
+ return;
+}
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, BromenalChest);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, JeansShorts);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 21);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 6);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/027-4/_import.txt b/npc/027-4/_import.txt
new file mode 100644
index 0000000..a74f425
--- /dev/null
+++ b/npc/027-4/_import.txt
@@ -0,0 +1,4 @@
+// Map 027-4: Scholarship Building
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/027-4/_warps.txt",
+"npc/027-4/saves.txt",
diff --git a/npc/027-4/_warps.txt b/npc/027-4/_warps.txt
new file mode 100644
index 0000000..856e5c5
--- /dev/null
+++ b/npc/027-4/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 027-4: Scholarship Building warps
+027-4,29,35,0 warp #027-4_29_35 1,0,027-1,107,60
diff --git a/npc/027-4/saves.txt b/npc/027-4/saves.txt
new file mode 100644
index 0000000..c337b80
--- /dev/null
+++ b/npc/027-4/saves.txt
@@ -0,0 +1,139 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Mr. Saves of Scholar Class
+
+027-4,28,28,0 script Mr Saves NPC_BLACKALCHEMIST,{
+ function basicMagic;
+ function standardMagic;
+ function advancedMagic;
+ if (!MAGIC_LVL) goto L_NoMagic;
+ mes l(".:: Scholarship Class ::.");
+ mesc l("Specialized in support, buff, debuff and strengthening skills.");
+ next;
+ mesn;
+ mesc l("You have @@ magic skill points available.", sk_points());
+ next;
+ select
+ l("Basic Magic"),
+ l("Standard Magic"),
+ l("Advanced Magic");
+ //l("Mastery Magic");
+ mes "";
+ .@lv=@menu;
+ do
+ {
+ // Display appropriate menu
+ if (.@lv == 1)
+ basicMagic();
+ else if (.@lv == 2)
+ standardMagic();
+ else if (.@lv == 3)
+ advancedMagic();
+
+ // Handle result
+ mes "";
+ if (@menuret) {
+ if (!learn_magic(@menuret)) {
+ mesc l("You do not meet all requisites for this skill."), 1;
+ next;
+ }
+ } else {
+ closeclientdialog;
+ }
+
+ } while (@menuret);
+ close;
+
+function basicMagic {
+ if (MAGIC_LVL < 1) goto L_NoMagic;
+ mes l(".:: First Aid ::.");
+ mesc l("Minor healing to your wounds.");
+ mes "";
+ mes l(".:: Accumulate Power ::.");
+ mesc l("Raise damage of next skill.");
+ mes "";
+ mes l(".:: Provoke ::.");
+ mesc l("Provoke a single monster to attack you.");
+ mes "";
+ mes l(".:: Windwalker ::.");
+ mesc l("Increase walk speed and flee rate.");
+ mes "";
+ mes l(".:: Chanting ::.");
+ mesc l("Reduces MP cost when using chanting-based skills.");
+ mes "";
+ mes l(".:: Transfer Mana ::.");
+ mesc l("Drains your MP bar to replenish target's. Doesn't go past 100%.");
+ mes "";
+ menuint
+ l("First Aid"), TMW2_FIRSTAID,
+ l("Accumulate Power"), HW_MAGICPOWER,
+ l("Provoke"), SM_PROVOKE,
+ l("Windwalker"), SN_WINDWALK,
+ l("Chanting"), TMW2_CHANT,
+ l("Transfer Mana"), TMW2_MPTRANSFER,
+ l("Cancel"), 0;
+ return;
+}
+
+function standardMagic {
+ if (MAGIC_LVL < 2) goto L_NoMagic;
+ // NOTE: Alternate between First Aid + Healing for less cooldown wait
+ mes l(".:: Healing ::.");
+ mesc l("Minor healing to yourself or to allies.");
+ mes "";
+ mes l(".:: Mana Wisdom ::.");
+ mesc l("(Passive) Increases Mana EXP/Control Gain rate.");
+ mes "";
+ mes l(".:: Last Standing Man ::.");
+ mesc l("(Passive) Raise Max HP and Holy Defense.");
+ mes "";
+ mes l(".:: Area Provoke ::.");
+ mesc l("Provokes all monsters around the target, and the target itself.");
+ mes "";
+ menuint
+ l("Healing"), TMW2_HEALING,
+ l("Mana Wisdom"), TMW2_SAGE,
+ l("Last Standing Man"), CR_TRUST,
+ l("Area Provoke"), EVOL_AREA_PROVOKE,
+ l("Cancel"), 0;
+ return;
+}
+
+function advancedMagic {
+ if (MAGIC_LVL < 3) goto L_NoMagic;
+ mes l(".:: Magnus Healing ::.");
+ mesc l("Heals in area every friendly unit (incl. homuns and mercs). Req. Lifestone to cast.");
+ mes "";
+ mes l(".:: Resurrection ::.");
+ mesc l("Revives an already dead allied player. Req. Lifestone to cast.");
+ mes "";
+ menuint
+ l("Magnus Healing"), TMW2_MAGNUSHEAL,
+ l("Resurrection"), TMW2_RESURRECT,
+ l("Cancel"), 0;
+ return;
+}
+
+L_NoMagic:
+ next;
+ mesn;
+ mesq l("You do not have enough magic power for these classes.");
+ next;
+ if ($FIRESOFSTEAM < 9) {
+ mesn;
+ mesq l("Besides the Magic Council, Andrei Sakar have his own Mana Stone, but I doubt he would train the likes of you, or share his Mana Stone.");
+ next;
+ }
+ mesn;
+ mesq l("Perhaps, in the city, someone knows rumors about Mana Stones and can teach you. Other than that, you're on your own.");
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+
+}
+
diff --git a/npc/027-5/_import.txt b/npc/027-5/_import.txt
new file mode 100644
index 0000000..0b922fe
--- /dev/null
+++ b/npc/027-5/_import.txt
@@ -0,0 +1,3 @@
+// Map 027-5: Student's Office
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/027-5/_warps.txt",
diff --git a/npc/027-5/_warps.txt b/npc/027-5/_warps.txt
new file mode 100644
index 0000000..f8ddf9a
--- /dev/null
+++ b/npc/027-5/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 027-5: Student's Office warps
+027-5,28,24,0 warp #027-5_28_24 0,0,027-1,120,132
diff --git a/npc/027-6/_import.txt b/npc/027-6/_import.txt
new file mode 100644
index 0000000..2142c70
--- /dev/null
+++ b/npc/027-6/_import.txt
@@ -0,0 +1,3 @@
+// Map 027-6: Student House
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/027-6/_warps.txt",
diff --git a/npc/027-6/_warps.txt b/npc/027-6/_warps.txt
new file mode 100644
index 0000000..f7e257a
--- /dev/null
+++ b/npc/027-6/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 027-6: Student House warps
+027-6,30,39,0 warp #027-6_30_39 0,0,027-1,103,102
diff --git a/npc/027-7/_import.txt b/npc/027-7/_import.txt
new file mode 100644
index 0000000..cec57a4
--- /dev/null
+++ b/npc/027-7/_import.txt
@@ -0,0 +1,4 @@
+// Map 027-7: Academy's Storage
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/027-7/_warps.txt",
+"npc/027-7/banker.txt",
diff --git a/npc/027-7/_warps.txt b/npc/027-7/_warps.txt
new file mode 100644
index 0000000..53b128c
--- /dev/null
+++ b/npc/027-7/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 027-7: Academy's Storage warps
+027-7,41,49,0 warp #027-7_41_49 0,0,027-1,77,119
+027-7,60,49,0 warp #027-7_60_49 0,0,027-1,82,119
+027-7,24,49,0 warp #027-7_24_49 0,0,027-1,72,119
diff --git a/npc/027-7/banker.txt b/npc/027-7/banker.txt
new file mode 100644
index 0000000..0a478f8
--- /dev/null
+++ b/npc/027-7/banker.txt
@@ -0,0 +1,16 @@
+// TMW2 Scripts.
+// Author:
+// Jesusalva
+// Description:
+// Magic School bank
+
+027-7,66,40,0 script Benjamin NPC_LLOYD,{
+ Banker(.name$, "Magic Academy", 1000000);
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+}
+
diff --git a/npc/029-0/_import.txt b/npc/029-0/_import.txt
new file mode 100644
index 0000000..56beb84
--- /dev/null
+++ b/npc/029-0/_import.txt
@@ -0,0 +1,10 @@
+// Map 029-0: Artis
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/029-0/_mobs.txt",
+"npc/029-0/amelia.txt",
+"npc/029-0/elora.txt",
+"npc/029-0/event.txt",
+"npc/029-0/mobs.txt",
+"npc/029-0/sakar.txt",
+"npc/029-0/town.txt",
+"npc/029-0/warps.txt",
diff --git a/npc/029-0/_mobs.txt b/npc/029-0/_mobs.txt
new file mode 100644
index 0000000..5a144e1
--- /dev/null
+++ b/npc/029-0/_mobs.txt
@@ -0,0 +1,10 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 029-0: Artis mobs
+029-0,95,85,59,53 monster Mouboo Slime 1201,12,90000,35000
+029-0,121,47,78,30 monster Mouboo 1023,36,90000,35000
+029-0,71,99,37,45 monster Mouboo 1023,36,90000,35000
+029-0,60,48,31,28 monster Alpha Mouboo 1056,4,90000,35000
+029-0,34,70,16,21 monster Bloody Mouboo 1119,3,90000,35000
+029-0,187,40,16,21 monster Moubi 1038,3,240000,35000
+029-0,113,47,95,22 monster Mineral Bif 1058,12,90000,35000
+029-0,33,112,11,36 monster Mineral Bif 1058,9,90000,35000
diff --git a/npc/029-0/amelia.txt b/npc/029-0/amelia.txt
new file mode 100644
index 0000000..da98601
--- /dev/null
+++ b/npc/029-0/amelia.txt
@@ -0,0 +1,117 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// The Mana Tree Quest (unlocks after Fires of Steam events)
+
+029-0,30,129,0 script Amelia NPC_CHILD4,{
+ .@q = getq(FortressQuest_ManaTree);
+ .@q2 = getq2(FortressQuest_ManaTree);
+
+ // Cycle
+ if (.@q == 0) goto L_Start;
+ if (.@q == 1) goto L_Cheerful;
+ if (.@q == 2) goto L_Short;
+
+ // Generic reply
+ npctalk3 l("*sigh*");
+ end;
+
+L_Start:
+ mesc l("The kid is not paying attention to you.");
+ if ($FIRESOFSTEAM < 10) end;
+ mesc l("She is staring at the empty sea and sighing. She seems to be really down after Andrei Sakar passed away.");
+ next;
+ mesc l("Maybe we can give her something, to cheer her up?");
+ mes "##B" + l("Drag and drop an item from your inventory.") + "##b";
+
+ .@id = requestitem();
+
+ // No item supplied
+ if (.@id < 1) {
+ closeclientdialog;
+ end;
+ }
+
+ if (array_find(.gifts, .@id) < 0) {
+ mesc l("This doesn't looks like a toy.");
+ mesc l("Maybe we could give her a %s instead.", getitemlink(any(Doll, PlushMouboo, LeatherBall, ReinbooWand, SantaGlobe, RubberDucky, CandorBola))); // Suggest only the most rare and expensive toys
+ }
+ mesc l("Really give the %s to %s?", getitemlink(.@id), .name$), 1;
+ mesc b(l("The item will be lost forever!")), 1;
+ next;
+ if (askyesno() != ASK_YES) {
+ closeclientdialog;
+ end;
+ }
+ delitem .@id, 1;
+ getexp 27000, 0; // 1% of Level 80 EXP
+ setq FortressQuest_ManaTree, 1, .@id;
+ mesn;
+ mesq l("...Thanks, kind person.");
+ next;
+ mesn;
+ mesq l("My name is Amelia, and I am Elora's daughter.");
+ close;
+
+L_Cheerful:
+ mesc l("Amelia looks much more cheerful than the last time you've met her.");
+ next;
+ mesn;
+ mesq l("Hey, %s! Welcome back!", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("Thanks for the %s you gave me the other day.", getitemlink(.@q2));
+ if (getq(General_Narrator) < 20)
+ close;
+ next;
+ mesn;
+ mesq l("Here, lemme tell you something good: Do you know that fortress island which all the adventurers are talking about nowadays?");
+ next;
+ if (askyesno() == ASK_NO) {
+ mesn;
+ mesq lg("Uh, how come? I thought you were an adventurer too! That island which trusted adventurers can reach using Pihro & Pyndragon's personal airship is so popular... Anyway!");
+ next;
+ }
+ mesn;
+ mesq l("I visited it with my mother, the other day, and I found a tree in a cave!");
+ next;
+ mesn;
+ mesq l("It was so lovely, and it had some very tasty fruits, too! But the cave was so dangerous...");
+ next;
+ mesn;
+ mesq l("I saw some flower adorns, too. I hope it is not some traveler's grave. This war, it makes me so sad... I'm sure the tree was sad, too.");
+ next;
+ mesn;
+ mesq l("If you ever go there, you should pay it a visit. It is most definitely alive! I'm sure it'll like you, too.");
+ setq1 FortressQuest_ManaTree, 2;
+ close;
+
+L_Short:
+ mesn;
+ mesq l("Thanks for the %s you gave me the other day.", getitemlink(.@q2));
+ if (getq(General_Narrator) < 20)
+ close;
+ next;
+ if ($AEGIS_HOLDER$ == "" && !rand2(4)) {
+ mesn;
+ mesq l("I heard a rumor the other day. About the tree I had found!");
+ next;
+ mesn;
+ mesq l("It is said that if someone dies to the pinkies but is then avenged and mourned, the avenger may claim from the tree the shield of the world!");
+ next;
+ mesn;
+ mesq l("The story was so cool!");
+ close;
+ }
+ mesn;
+ mesq l("If you ever visit the fortress island, be sure to visit the friendly tree at the cave. I'm sure it'll like you.");
+ close;
+
+OnInit:
+ setarray .gifts, BrokenDoll, Doll, PlushMouboo, LeatherBall, ReinbooWand, MoubooFigurine, ChocolateBunny, RedStocking, SantaGlobe, SnowmanGlobe, RubberDucky, CandorBola, KidBola;
+ .sex = G_FEMALE;
+ .distance = 4;
+ end;
+}
+
diff --git a/npc/029-0/elora.txt b/npc/029-0/elora.txt
new file mode 100644
index 0000000..c8caa21
--- /dev/null
+++ b/npc/029-0/elora.txt
@@ -0,0 +1,107 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Fires of Steam: The Death of Andrei Sakar
+
+029-0,182,77,0 script Elora NPC_HUMAN_FEMALE_NOOB,{
+ mesn;
+ mesq l("Greetings! I am %s from the Alliance.", .name$);
+ next;
+ switch ($FIRESOFSTEAM) {
+ case 1:
+ mesn;
+ mesq l("Thanks for travelling with Andrei Sakar to Artis! However, as you see, this town is deserted.");
+ next;
+ mesn;
+ mesq l("Sir Sakar is conducting an exploration on this land. However, you should be able to refine and tweak equipment, as well as crafting your own. Once you're ready, find him at %s of this town.", b(l("the north exit")));
+ break;
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ mesn;
+ mesq l("Sir Sakar and adventurers are raiding Dracula's Fortress. It is a crazy place, though, who knows what they'll find? He should be at the north exit of this town.");
+ break;
+ case 7:
+ mesn;
+ mesq l("Sir Sakar and adventurers are raiding Dracula's Fortress. They found out the Underworld and there is a magic tree. You'll need a %s to use it.", getitemlink(DruidTreeBranch));
+ mesc l("They are at north of the town.");
+ next;
+ mesn;
+ if (FIRESOFSTEAM_CD < gettimetick(2)) {
+ mesq l("Here is one.");
+ FIRESOFSTEAM_CD=gettimetick(2)+86400; // 24 hours
+ getitem DruidTreeBranch, 1;
+ } else {
+ mesq l("Some other adventurers are looking for it. Please wait %s more.", FuzzyTime(FIRESOFSTEAM_CD));
+ }
+ break;
+ case 8:
+ mesn;
+ mesq l("Sakar can now bring you directly to Asphodel Moors. Scouts found a second town as well, from where the raiders seems to be coming from!");
+ mesc l("Andrei Sakar is at the north exit of the town.");
+ break;
+ case 9:
+ mesn;
+ mesq l("I'm worried. Will everything be alright? Please, lend your help to sir Sakar - no, to the whole world!");
+ mes "";
+ mesc l("Contact a GM at Migglemire - the small town at center of swamps - to trigger the final showdown.");
+ mesc l("Alternatively, %s, the World Hero, should also be able to do it.", $MOST_HEROIC$);
+ break;
+ }
+ close;
+
+OnInit:
+ .distance=5;
+ .sex=G_FEMALE;
+ if ($FIRESOFSTEAM >= 10)
+ disablenpc .name$;
+ end;
+}
+
+// UTILITY
+029-0,96,110,0 duplicate(Nicholas) Nicholas#FoS NPC_NICHOLAS
+029-0,89,75,0 duplicate(Fortiun) Fortiun#FoS NPC_FORTIUN
+029-0,68,87,0 duplicate(Tolchi) Tolchi#FoS NPC_RAIJIN_FEMALE_LEGION_ARTIS
+029-0,137,75,0 duplicate(Bracco) Bracco#FoS NPC_ORC_SAILOR
+029-0,90,130,0 duplicate(Zitoni) Zitoni#FoS NPC_RUMLY
+029-0,132,51,0 duplicate(Cynric) Cynric#FoS NPC_LLOYD
+029-0,57,55,0 duplicate(Mercenary Trainer) Mercenary Trainer#FoS NPC_REDY_MALE_SWORD
+029-0,123,84,0 duplicate(Estard) Estard#FoS NPC_KENTON
+//029-0,143,120,0 duplicate(Guild Storage) Guild Storekeeper#FoS NPC_TERRY
+029-0,198,34,0 duplicate(Colin) Colin#FoS NPC_MIRAJ
+029-0,182,26,0 duplicate(Luca) Luca#FoS NPC_ANSELMO_BR
+029-0,200,49,0 duplicate(Mr Saves) Mr Saves#FoS NPC_BLACKALCHEMIST
+029-0,179,38,0 duplicate(Trickmaster) Trickmaster#FoS NPC_SITTED_NINJA
+029-0,142,33,0 duplicate(Crafting Table) Crafting Box#FoS NPC_NO_SPRITE
+029-0,141,51,0 duplicate(Intense Beard) Intense Beard#FoS NPC_BRGUARD_SPEAR
+029-0,127,32,0 duplicate(Jhedia) Jhedia#FoS NPC_ELVEN_FEMALE
+029-0,58,118,0 duplicate(Neko) Neko#FoS1 NPC_KAYLO
+
+// 029-1
+029-1,35,88,0 duplicate(Neko) Neko#FoS2 NPC_KAYLO
+029-1,29,88,0 script Elora#1 NPC_HUMAN_FEMALE_NOOB,{
+ mesn;
+ mesq l("Good luck out there!");
+ .@m=mobcount("029-1", "all");
+ mesc l("Dark Forest : %s monster(s) left", fnum(.@m));
+ next;
+ select
+ l("Thanks!"),
+ l("Actually, can I return to Artis?");
+ mes "";
+ closeclientdialog;
+ if (@menu == 2)
+ warp "029-0", 90, 31;
+ close;
+OnInit:
+ .distance=5;
+ .sex=G_FEMALE;
+ end;
+}
+
+029-8,37,170,0 duplicate(Neko) Neko#FoS3 NPC_KAYLO
+
+
diff --git a/npc/029-0/event.txt b/npc/029-0/event.txt
new file mode 100644
index 0000000..8b565db
--- /dev/null
+++ b/npc/029-0/event.txt
@@ -0,0 +1,330 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Exclusive for Fires of Steam 2021 - When our OVH server datacenter got fire.
+
+029-0,111,37,0 script Alliance Hero#FoS NPC_HALBERDBARBARIAN,{
+ // No one is supposed to be able to reach NPC if event did not happen
+ if (!$FIRESOFSTEAM) {
+ disablenpc .name$;
+ die(); end;
+ }
+ mesn;
+ mesq l("Sooo, the police station of Moubootaur Legends went ablaze. Constable Perry is too busy to monitor illegal operation on this continent.");
+ next;
+ mesn;
+ mesq l("Therefore... Are you perhaps interested in some... illicit goods? %%p");
+ next;
+ select
+ l("Show me what you got, noob."),
+ l("Actually - Do you exchange goods even more illegal goods than this?"),
+ l("Actually - Do you exchange illegal... research results?");
+ mes "";
+ if (@menu == 1) {
+ closeclientdialog;
+ openshop .name$;
+ close;
+ }
+ else if (@menu == 2) {
+ mesn;
+ mesq l("Yes I do... I sell %s %s for the small amount of %s GP. Interested? %%%%p", fnum(.mobp), l("Monster Points"), fnum(.mobg));
+ if (Zeny < .mobg) close;
+ next;
+ if (askyesno() == ASK_NO) close;
+ if (Zeny < .mobg) { die(); close; }
+ Zeny-=.mobg;
+ Mobpt+=.mobp;
+ mes "";
+ mesn;
+ mesq l("Hehehe... A pleasure doing business with you!");
+ } else if (@menu == 3) {
+ mesn;
+ mesq l("Yes I do... I sell %s %s for the small amount of %s GP. Interested? %%%%p", fnum(.robp), l("Research Points"), fnum(.robg));
+ if (Zeny < .robg) close;
+ next;
+ if (askyesno() == ASK_NO) close;
+ if (Zeny < .robg) { die(); close; }
+ Zeny-=.robg;
+ Mobpt+=.robp;
+ mes "";
+ mesn;
+ mesq l("Hehehe... A pleasure doing business with you!");
+ }
+ close;
+
+OnRw:
+ logmes(sprintf("%s - Reward Granted by System Admin", getcharid(3)));
+ getitem StrangeCoin, 2000;
+ getitembound FireScroll, 1, 1;
+ getexp 1000000, 500000;
+ Mobpt+=1000000;
+ Zeny+=1000000;
+ dispbottom l("Jesusalva : \\o/");
+ end;
+
+OnInit:
+ bindatcmd "steambk", "Alliance Hero#FoS::OnRw", 100, 99, 1;
+ tradertype(NST_MARKET);
+ .mobp=rand2(1000, 2500);
+ .mobg=.mobp*rand2(100, 150)/10;
+ .robp=rand2(900, 1200);
+ .robg=.robp*rand2(40, 60);//rand2(80, 110);
+ .distance=5;
+ .sex=G_MALE;
+
+ sleep(SHOPWAIT);
+ sellitem Coal, -1, 50+($FIRESOFSTEAM*3-3);
+ sellitem LeatherPatch, 800, 45+($FIRESOFSTEAM*3-3);
+ sellitem RawLog, -1, 40+($FIRESOFSTEAM*3-3);
+ sellitem WoodenLog, -1, 40+($FIRESOFSTEAM*3-3);
+ sellitem IronOre, -1, 30+($FIRESOFSTEAM*3-3);
+ sellitem CopperOre, 1000, 20+($FIRESOFSTEAM*2-2);
+ sellitem SilverOre, 2000, 14+($FIRESOFSTEAM*2-2);
+ sellitem GoldOre, 3000, 14+($FIRESOFSTEAM*2-2);
+ sellitem TinOre, 3600, 15+($FIRESOFSTEAM*2-2);
+ sellitem LeadOre, 4000, 15+($FIRESOFSTEAM*2-2);
+ sellitem TitaniumOre, 6000, 9+($FIRESOFSTEAM*2-2);
+ sellitem IridiumOre, 16000, 6+($FIRESOFSTEAM*2-2);
+ sellitem PlatinumOre, 24000, 3+($FIRESOFSTEAM*2-2);
+ sellitem EarthPowder, -1, 3+$FIRESOFSTEAM-1;
+ sellitem EverburnPowder, 15000, 2+$FIRESOFSTEAM-1;
+
+ sellitem AncientBlueprint, 12500, max(1, 4+$FIRESOFSTEAM/2);
+ sellitem RustyKnife, -1, 5+$FIRESOFSTEAM-1;
+ sellitem TrainingWand, -1, 5+$FIRESOFSTEAM-1;
+ sellitem TrainingBow, -1, 5+$FIRESOFSTEAM-1;
+
+ sellitem AlchemyBlueprintA, -1, 5+$FIRESOFSTEAM-1;
+ sellitem AlchemyBlueprintB, -1, 4+$FIRESOFSTEAM-1;
+ sellitem AlchemyBlueprintC, -1, 3+$FIRESOFSTEAM-1;
+ sellitem AlchemyBlueprintD, -1, 2+$FIRESOFSTEAM-1;
+ sellitem AlchemyBlueprintE, -1, max(1, 1+$FIRESOFSTEAM/2);
+
+ sellitem EquipmentBlueprintA, -1, 5+$FIRESOFSTEAM-1;
+ sellitem EquipmentBlueprintB, -1, 4+$FIRESOFSTEAM-1;
+ sellitem EquipmentBlueprintC, -1, 3+$FIRESOFSTEAM-1;
+ sellitem EquipmentBlueprintD, -1, 2+$FIRESOFSTEAM-1;
+ sellitem EquipmentBlueprintE, -1, max(1, 1+$FIRESOFSTEAM/2);
+
+ sellitem ArcmageBoxset, 10000, 4+$FIRESOFSTEAM-1;
+ sellitem ScholarshipBadge, -1, 3+$FIRESOFSTEAM-1;
+ sellitem Bullet, 4, 90000+($FIRESOFSTEAM*1000-1000);
+ sellitem Lifestone, -1, 500+$FIRESOFSTEAM-1;
+ sellitem Bread, -1, 450+$FIRESOFSTEAM-1;
+ sellitem Cheese, -1, 300+$FIRESOFSTEAM-1;
+ sellitem Aquada, -1, 200+$FIRESOFSTEAM-1;
+
+ sellitem WhiteFur, -1, 1+rand2(50)+$FIRESOFSTEAM;
+ sellitem Piberries, -1, 1+rand2(50)+$FIRESOFSTEAM;
+ sellitem CherryCake, -1, 1+rand2(50)+$FIRESOFSTEAM;
+ sellitem LettuceLeaf, -1, 1+rand2(50)+$FIRESOFSTEAM;
+ sellitem BugLeg, -1, 1+rand2(50)+$FIRESOFSTEAM;
+ sellitem RoastedMaggot, -1, 1+rand2(50)+$FIRESOFSTEAM;
+ sellitem Moss, -1, 1+rand2(50)+$FIRESOFSTEAM;
+ sellitem AnimalBones, -1, 1+rand2(40)+$FIRESOFSTEAM;
+ sellitem Milk, -1, 1+rand2(50)+$FIRESOFSTEAM;
+ sellitem Mashmallow, -1, 1+rand2(50)+$FIRESOFSTEAM;
+ sellitem Dragonfruit, 1200, 1+rand2(50)+$FIRESOFSTEAM;
+ sellitem Root, -1, 40+$FIRESOFSTEAM-1;
+ sellitem ManaPiouFeathers, -1, 1+rand2(300)+$FIRESOFSTEAM;
+
+ if (!$BETASERVER && !debug)
+ disablenpc .name$;
+ end;
+
+OnClock0001:
+OnClock0201:
+OnClock0401:
+OnClock0601:
+OnClock0801:
+OnClock1001:
+OnClock1201:
+OnClock1401:
+OnClock1601:
+OnClock1801:
+OnClock2001:
+ if ($EVENT$ != "Steam")
+ end;
+OnClock2201:
+ .mobp=rand2(1000, 2500);
+ .mobg=.mobp*rand2(100, 150)/10;
+ .robp=rand2(900, 1200);
+ .robg=.robp*rand2(40, 60);//rand2(80, 110);
+
+ restoreshopitem Coal, 50+($FIRESOFSTEAM*3-3);
+ restoreshopitem LeatherPatch, 800, 45+($FIRESOFSTEAM*3-3);
+ restoreshopitem RawLog, 40+($FIRESOFSTEAM*3-3);
+ restoreshopitem WoodenLog, 40+($FIRESOFSTEAM*3-3);
+ restoreshopitem IronOre, 30+($FIRESOFSTEAM*3-3);
+ restoreshopitem CopperOre, 1000, 20+($FIRESOFSTEAM*2-2);
+ restoreshopitem SilverOre, 2000, 14+($FIRESOFSTEAM*2-2);
+ restoreshopitem GoldOre, 3000, 14+($FIRESOFSTEAM*2-2);
+ restoreshopitem TinOre, 3600, 15+($FIRESOFSTEAM*2-2);
+ restoreshopitem LeadOre, 4000, 15+($FIRESOFSTEAM*2-2);
+ restoreshopitem TitaniumOre, 6000, 9+($FIRESOFSTEAM*2-2);
+ restoreshopitem IridiumOre, 16000, 6+($FIRESOFSTEAM*2-2);
+ restoreshopitem PlatinumOre, 24000, 3+($FIRESOFSTEAM*2-2);
+ restoreshopitem EarthPowder, 3+$FIRESOFSTEAM-1;
+ restoreshopitem EverburnPowder, 15000, 2+$FIRESOFSTEAM-1;
+
+ restoreshopitem AncientBlueprint, 10000, 4+$FIRESOFSTEAM-1;
+ restoreshopitem RustyKnife, 5+$FIRESOFSTEAM-1;
+ restoreshopitem TrainingWand, 5+$FIRESOFSTEAM-1;
+ restoreshopitem TrainingBow, 5+$FIRESOFSTEAM-1;
+
+ restoreshopitem AlchemyBlueprintA, 5+$FIRESOFSTEAM-1;
+ restoreshopitem AlchemyBlueprintB, 4+$FIRESOFSTEAM-1;
+ restoreshopitem AlchemyBlueprintC, 3+$FIRESOFSTEAM-1;
+ restoreshopitem AlchemyBlueprintD, 2+$FIRESOFSTEAM-1;
+ restoreshopitem AlchemyBlueprintE, 1+$FIRESOFSTEAM-1;
+
+ restoreshopitem EquipmentBlueprintA, 5+$FIRESOFSTEAM-1;
+ restoreshopitem EquipmentBlueprintB, 4+$FIRESOFSTEAM-1;
+ restoreshopitem EquipmentBlueprintC, 3+$FIRESOFSTEAM-1;
+ restoreshopitem EquipmentBlueprintD, 2+$FIRESOFSTEAM-1;
+ restoreshopitem EquipmentBlueprintE, 1+$FIRESOFSTEAM-1;
+
+ restoreshopitem ArcmageBoxset, 10000, 4+$FIRESOFSTEAM-1;
+ restoreshopitem ScholarshipBadge, 3+$FIRESOFSTEAM-1;
+ restoreshopitem Lifestone, 800+$FIRESOFSTEAM-1;
+ restoreshopitem Bullet, 4, 90000+$FIRESOFSTEAM-1;
+ restoreshopitem Bread, 750+$FIRESOFSTEAM-1;
+ restoreshopitem Cheese, 400+$FIRESOFSTEAM-1;
+ restoreshopitem Aquada, 200+$FIRESOFSTEAM-1;
+
+ restoreshopitem WhiteFur, 1+rand2(50)+$FIRESOFSTEAM;
+ restoreshopitem Piberries, 1+rand2(50)+$FIRESOFSTEAM;
+ restoreshopitem CherryCake, 1+rand2(50)+$FIRESOFSTEAM;
+ restoreshopitem LettuceLeaf, 1+rand2(50)+$FIRESOFSTEAM;
+ restoreshopitem BugLeg, 1+rand2(50)+$FIRESOFSTEAM;
+ restoreshopitem RoastedMaggot, 1+rand2(50)+$FIRESOFSTEAM;
+ restoreshopitem Moss, 1+rand2(50)+$FIRESOFSTEAM;
+ restoreshopitem AnimalBones, 1+rand2(40)+$FIRESOFSTEAM;
+ restoreshopitem Milk, 1+rand2(50)+$FIRESOFSTEAM;
+ restoreshopitem Mashmallow, 1+rand2(50)+$FIRESOFSTEAM;
+ restoreshopitem Dragonfruit, 1200, 1+rand2(50)+$FIRESOFSTEAM;
+ restoreshopitem Root, 40+$FIRESOFSTEAM;
+ restoreshopitem ManaPiouFeathers, 1+rand2(300)+$FIRESOFSTEAM;
+ end;
+
+OnMinute02:
+ if ($EVENT$ != "Steam") end;
+ donpcevent "Neko::OnClock2359";
+ end;
+}
+
+
+003-0-2,34,21,0 script Alliance Officer NPC_HALBERDBARBARIAN,{
+ mesn;
+ mesq l("Good %s, %s. The council is not in session right now.",
+ (is_night() ? l("evening") : l("morning")),
+ (strcharinfo(0) == $MOST_HEROIC$ ? lg("hero") : lg("peasant")));
+ if (($BETASERVER || debug) && BaseLevel < 60 && !#BETA_REVIVE) goto L_PowerUp;
+ close;
+
+L_PowerUp:
+ next;
+ mesn strcharinfo(0);
+ mesq l("Could you awake my lost and forsaken potential?");
+ next;
+ mesn;
+ mesq l("Yes. I can. But this is irreversible. Are you sure you want this?");
+ next;
+ mesc l("Awake lost potential? This will mess with your char data irreversibly, beware."), 1;
+ if (askyesno() == ASK_NO) close;
+ inventoryplace Iten, 1, NPCEyes, 4;
+
+ // Chose a stage (NO TTL)
+ mesc l("Please select where you left off on Main Quest.");
+ mesc l("The one with a star (*) is advised.");
+ mesc l("It is NOT advised for new players to skip parts of the Main Quest."), 1;
+ mesc l("Skipping will FORSAKE rewards for the quest and related; So choose wisely!");
+ mes "";
+ menuint
+ "Nard Quest finished", 1,
+ "Lua Quest finished", 3,
+ "Airlia Quest finished", 6,
+ "Librarian Quest finished", 10,
+ "Blue Sage Quest finished", 12,
+ "(*) King Gelid Quest complete", 17,
+ "Lightbringer/Barbara finished", 19;
+ mes "";
+ // Save stage
+ .@mq = @menuret;
+
+ // IP Blacklist
+ if (array_find($@IPBLIST$, getcharip()) < 0)
+ array_push($@IPBLIST$, getcharip());
+
+ // Level up
+ freeloop(true);
+ while (BaseLevel < 60)
+ getexp NextBaseExp, 100;
+ freeloop(false);
+
+ // Skip a few quests
+ setq ShipQuests_Arpan, 5;
+ if (.@mq > 10)
+ setq NivalisQuest_BlueSage, 12;
+ if (.@mq >= 17) {
+ sk_lvup(AM_REST);
+ sk_lvup(AM_RESURRECTHOMUN);
+ sk_lvup(AM_CALLHOMUN);
+ }
+ if (.@mq >= 18) {
+ BARBARA_STATE=any(1, 2, 3);
+ }
+
+ // Update main quest
+ if (getq(General_Narrator) < .@mq)
+ setq General_Narrator, .@mq;
+
+ // Monster points
+ MPQUEST=true;
+ if (!Mobpt)
+ Mobpt+=100000;
+
+ // Magic Power
+ adddefaultskills();
+ if (!MAGIC_LVL) {
+ sk_lvup(AL_DP);
+ MAGIC_LVL=1;
+ }
+
+ // Crafting
+ if (!CRAFTQUEST) {
+ sk_lvup(TMW2_CRAFT);
+ getitembound RecipeBook, 1, 1;
+ CRAFTQUEST=true;
+ }
+
+ // Free skills
+ sk_lvup(TMW2_MANABOMB);
+ sk_lvup(any(TMW2_FROSTDIVER, TMW2_NAPALMBEAT, TMW2_MAGICSTRIKE, TMW2_METEORSTRIKE, TMW2_FIREARROW, TMW2_BRAWLING, TMW2_FALKONSTRIKE, TMW2_CHARGEDARROW));
+
+ // Pure awesomeness
+ getitembound any(StrengthFruit, AgilityFruit, VitalityFruit, IntelligenceFruit, DexterityFruit, LuckFruit), 1, 4;
+ getitembound any(StrengthFruit, AgilityFruit, VitalityFruit, IntelligenceFruit, DexterityFruit, LuckFruit), 1, 4;
+
+ // Full power
+ getitembound Wurtzite, 6, 4;
+ getitembound Bread, 10, 4;
+
+ // Regeneration and misc
+ getitem StrangeCoin, 100;
+ Zeny+=50000;
+ percentheal 100,100;
+ mesc l("You awake a long forgotten potential, and feel ready to take over the world.");
+ #BETA_REVIVE=true;
+ close;
+
+OnInit:
+ .distance=4;
+ /*
+ if (!$BETASERVER && !debug)
+ disablenpc .name$;
+ */
+ end;
+}
+
diff --git a/npc/029-0/mobs.txt b/npc/029-0/mobs.txt
new file mode 100644
index 0000000..20d69e3
--- /dev/null
+++ b/npc/029-0/mobs.txt
@@ -0,0 +1,305 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Fires of Steam: The Death of Andrei Sakar
+
+//////////////////////////////////////////
+// Monster Control
+- script SteamFire#Ctrl 32767,{
+ function SFsetup1;
+ function SFsetup2;
+ function SFsetup3;
+ function SFsetup4;
+ function SFsetup5;
+ function SFsetup6;
+ function SFsetup7;
+ function SFsetup8;
+ function SFreset;
+ end;
+
+OnInit:
+ .e1$="SteamFire#Ctrl::OnEvent1";
+ .e2$="SteamFire#Ctrl::OnEvent2";
+ .e3$="SteamFire#Ctrl::OnEvent3";
+ .e4$="SteamFire#Ctrl::OnEvent4";
+ .e5$="SteamFire#Ctrl::OnEvent5";
+ .e6$="SteamFire#Ctrl::OnEvent6";
+ .e7$="SteamFire#Ctrl::OnEvent7";
+ .e8$="SteamFire#Ctrl::OnEvent8";
+ SFsetup1();
+ SFsetup2();
+ SFsetup3();
+ SFsetup4();
+ SFsetup5();
+ SFsetup6();
+ SFsetup7();
+ SFsetup8();
+ end;
+
+function SFspawn {
+ .@am=max(1, $FIRESOFSTEAM > getarg(8) ? (getarg(6)*4/10) : getarg(6));
+ //debugmes "Spawning %d/%d mobs on %s", .@am, getarg(6), getarg(0);
+ areamonster(getarg(0), getarg(1), getarg(2), getarg(3), getarg(4),
+ strmobinfo(1, getarg(5)), getarg(5), .@am,
+ getarg(7));
+ if ($FIRESOFSTEAM > getarg(8) && !$@FOS_RESPAWN[getarg(8)]) {
+ $@FOS_RESPAWN[getarg(8)]=true;
+ setmapflag(getarg(0), mf_nopenalty);
+ }
+
+ return;
+}
+
+function SFsetup1 {
+ SFspawn("029-1", 15, 15, 77, 120, Scar, 60, .e1$, 1);
+ SFspawn("029-1", 15, 15, 255, 255, Crafty, 320, .e1$, 1);
+ SFspawn("029-1", 15, 15, 255, 255, GiantMutatedBat, 30, .e1$, 1);
+ SFspawn("029-1", 15, 15, 255, 255, Scar, 100, .e1$, 1);
+ SFspawn("029-1", 195, 15, 290, 100, Forain, 54, .e1$, 1);
+ SFspawn("029-1", 77, 15, 195, 75, GreenDragon, 45, .e1$, 1);
+ SFspawn("029-1", 75, 75, 205, 100, EliteDuck, 40, .e1$, 1);
+ SFspawn("029-1", 15, 90, 75, 280, Terranite, 90, .e1$, 1);
+ SFspawn("029-1", 177, 140, 280, 280, JackO, 80, .e1$, 1);
+ SFspawn("029-1", 175, 75, 280, 200, RedSkullSlime, 60, .e1$, 1);
+ SFspawn("029-1", 75, 175, 185, 280, Michel, 60, .e1$, 1);
+ SFspawn("029-1", 80, 100, 180, 160, CopperSkullSlime, 60, .e1$, 1);
+ // MAP BOSS
+ monster("029-1", 147, 153, "Level Boss", MonsterGeneral, 1, .e1$);
+ return;
+}
+
+function SFsetup2 {
+ SFspawn("029-2", 20, 28, 51, 33, BlackMamba, 15, .e2$, 2);
+ SFspawn("029-2", 20, 34, 51, 42, GreenSkullSlime, 20, .e2$, 2);
+ SFspawn("029-2", 20, 42, 32, 70, Centaur, 15, .e2$, 2);
+ SFspawn("029-2", 39, 42, 51, 70, TerraniteProtector, 15, .e2$, 2);
+ SFspawn("029-2", 32, 42, 40, 70, GoboBear, 13, .e2$, 2);
+ SFspawn("029-2", 20, 20, 35, 70, Moonshroom, 5, .e2$, 2);
+ SFspawn("029-2", 20, 20, 35, 70, RobinBandit, 5, .e2$, 2);
+ // MAP BOSS
+ monster("029-2", 46, 68, "Level Boss", YetiKing, 1, .e2$);
+ return;
+}
+
+function SFsetup3 {
+ SFspawn("029-3", 20, 20, 130, 100, DustGatling, 40, .e3$, 3);
+ SFspawn("029-3", 20, 20, 130, 100, Scar, 50, .e3$, 3);
+ SFspawn("029-3", 20, 20, 130, 100, Skeleton, 80, .e3$, 3);
+ SFspawn("029-3", 20, 20, 130, 100, GreenSkullSlime, 20, .e3$, 3);
+ SFspawn("029-3", 20, 20, 48, 62, Troll, 25, .e3$, 3);
+ SFspawn("029-3", 20, 62, 53, 100, Michel, 30, .e3$, 3);
+ SFspawn("029-3", 47, 20, 72, 50, LavaSkullSlime, 25, .e3$, 3);
+ SFspawn("029-3", 72, 20, 130, 50, ShadowPixie, 18, .e3$, 3);
+ SFspawn("029-3", 67, 49, 130, 64, GoboBear, 25, .e3$, 3);
+ SFspawn("029-3", 67, 62, 99, 100, BlackMamba, 30, .e3$, 3);
+ SFspawn("029-3", 100, 62, 130, 100, JackO, 30, .e3$, 3);
+ // MAP BOSS
+ monster("029-3", 82, 89, "Level Boss", FallenKing2, 1, .e3$);
+ return;
+}
+
+function SFsetup4 {
+ SFspawn("029-4", 20, 20, 130, 100, DustRifle, 40, .e4$, 4);
+ SFspawn("029-4", 20, 20, 130, 100, Skeleton, 60, .e4$, 4);
+ SFspawn("029-4", 20, 20, 130, 100, ArmoredSkeleton, 20, .e4$, 4);
+
+ SFspawn("029-4", 38, 22, 120, 28, FireSkull, 30, .e4$, 4);
+ SFspawn("029-4", 38, 30, 128, 44, GreenSkullSlime, 30, .e4$, 4);
+ SFspawn("029-4", 20, 22, 35, 68, BlackSkullSlime, 30, .e4$, 4);
+ SFspawn("029-4", 37, 44, 128, 60, Reaper, 24, .e4$, 4);
+ SFspawn("029-4", 88, 60, 128, 85, Jhon, 20, .e4$, 4);
+ SFspawn("029-4", 20, 69, 60, 101, Mandragora, 20, .e4$, 4);
+ SFspawn("029-4", 62, 61, 86, 92, JackO, 15, .e4$, 4); // BOSS
+ SFspawn("029-4", 60, 94, 128, 101, NulityPixie, 15, .e4$, 4);
+ // MAP BOSS
+ monster("029-4", 73, 77, "Level Boss", PsiConscience, 1, .e4$);
+ return;
+}
+
+function SFsetup5 {
+ SFspawn("029-5", 20, 20, 130, 100, CursedArcher, 40, .e5$, 5);
+ SFspawn("029-5", 20, 20, 130, 100, Skeleton, 20, .e5$, 5);
+ SFspawn("029-5", 20, 20, 130, 100, ArmoredSkeleton, 60, .e5$, 5);
+
+ SFspawn("029-5", 20, 20, 130, 100, Reaper, 32, .e5$, 5);
+ SFspawn("029-5", 20, 20, 130, 100, JackO, 12, .e5$, 5);
+ SFspawn("029-5", 20, 20, 130, 100, Mandragora, 24, .e5$, 5);
+ SFspawn("029-5", 20, 20, 130, 100, Jhon, 12, .e5$, 5);
+ SFspawn("029-5", 20, 20, 130, 100, ShadowTortuga, 1, .e5$, 5);
+ SFspawn("029-5", 20, 20, 130, 100, RedSkullSlime, 32, .e5$, 5);
+ SFspawn("029-5", 20, 20, 130, 100, EvilScythe, 2, .e5$, 5);
+ SFspawn("029-5", 20, 20, 130, 100, Michel, 8, .e5$, 5);
+ SFspawn("029-5", 20, 20, 130, 100, SiegeTower, 3, .e5$, 5);
+ SFspawn("029-5", 20, 20, 130, 100, GreenSlimeMother, 15, .e5$, 5);
+ // MAP BOSS
+ SFspawn("029-5", 20, 20, 130, 100, SiegeTower, 3, .e5$, 5);
+ monster("029-5", 70, 26, "Level Boss", TerraniteKing, 1, .e5$);
+ return;
+}
+
+function SFsetup6 {
+ SFspawn("029-6", 20, 20, 180, 100, CursedArcher, 40, .e6$, 6);
+ SFspawn("029-6", 20, 20, 180, 100, ArmoredSkeleton, 60, .e6$, 6);
+ SFspawn("029-6", 20, 20, 180, 100, Fluffy, 40, .e6$, 6);
+ SFspawn("029-6", 20, 20, 180, 100, SilkWorm, 40, .e6$, 6);
+ SFspawn("029-6", 20, 20, 180, 100, SiegeTower, 4, .e6$, 6);
+ SFspawn("029-6", 20, 20, 180, 100, EliteDuck, 24, .e6$, 6);
+ SFspawn("029-6", 20, 20, 180, 100, TerraniteProtector, 14, .e6$, 6);
+ SFspawn("029-6", 20, 20, 180, 100, Snail, 7, .e6$, 6);
+ SFspawn("029-6", 20, 20, 180, 100, PinkieSuseran, 4, .e6$, 6);
+ SFspawn("029-6", 20, 20, 180, 100, Junglefowl, 8, .e6$, 6);
+ SFspawn("029-6", 20, 20, 180, 100, Tengu, 12, .e6$, 6);
+ SFspawn("029-6", 20, 20, 180, 100, Moubi, 2, .e6$, 6);
+ SFspawn("029-6", 20, 20, 180, 100, SuperiorShroom, 2, .e6$, 6);
+ SFspawn("029-6", 20, 20, 180, 100, Moonshroom, 12, .e6$, 6);
+ SFspawn("029-6", 20, 20, 180, 100, GreenDragon, 14, .e6$, 6);
+ SFspawn("029-6", 20, 20, 180, 100, GoboBear, 8, .e6$, 6);
+ // MAP BOSS
+ monster("029-6", 31+9, 91, "Level Boss", PinkieEmperor, 1, .e6$);
+ return;
+}
+
+function SFsetup7 {
+ SFspawn("029-7", 20, 20, 120, 130, Wolvern, 24, .e7$, 7);
+ SFspawn("029-7", 20, 20, 120, 130, GoboBear, 20, .e7$, 7);
+ SFspawn("029-7", 20, 20, 120, 130, GreenDragon, 8, .e7$, 7);
+ SFspawn("029-7", 20, 20, 120, 130, SiegeTower, 8, .e7$, 7);
+ SFspawn("029-7", 20, 20, 120, 130, Tengu, 12, .e7$, 7);
+ SFspawn("029-7", 20, 20, 120, 130, Forain, 18, .e7$, 7);
+ SFspawn("029-7", 20, 20, 120, 130, Golem, 12, .e7$, 7);
+ SFspawn("029-7", 20, 20, 120, 130, ShadowTortuga, 8, .e7$, 7);
+ SFspawn("029-7", 20, 20, 120, 130, WaterElement, 2, .e7$, 7);
+ SFspawn("029-7", 20, 20, 120, 130, EvilWisp, 2, .e7$, 7);
+ // MAP BOSS
+ monster("029-7", 66, 35, "Level Boss", PanthomLord, 1, .e7$);
+ return;
+}
+
+function SFsetup8 {
+ SFspawn("029-8", 20, 20, 240, 220, Assassin, 30, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, DeathCat, 20, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, LogHead, 20, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, RobinBandit, 20, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, GrassSnake, 35, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, EliteDuck, 22, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, BlackMamba, 16, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, Centaur, 24, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, GreenSkullSlime, 18, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, Yetifly, 6, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, Snail, 22, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, PinkieSuseran, 12, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, Jhon, 12, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, Mandragora, 12, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, PinkieMaximus, 12, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, Junglefowl, 12, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, Tengu, 11, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, Moubi, 11, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, SuperiorShroom, 11, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, Nutcracker, 10, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, SiegeTower, 8, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, GreenhornAbomination, 32, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, ShadowTortuga, 10, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, FireElement, 8, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, WaterElement, 8, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, EarthElement, 8, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, WindElement, 8, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, SacredWisp, 4, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, EvilWisp, 4, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, PanthomWisp, 4, .e8$, 8);
+ SFspawn("029-8", 20, 20, 240, 220, EpiphanyWisp, 4, .e8$, 8);
+ // MAP BOSS
+ monster("029-8", 206, 149, "Level Boss", Tortuga, 1, .e8$);
+ return;
+}
+
+
+// SFreset(map, state)
+function SFreset {
+ .@m$=getarg(0);
+ .@s=getarg(1);
+ .@m=mobcount(.@m$, "all");
+ if (!.@m) {
+ if ($FIRESOFSTEAM == .@s) {
+ $FIRESOFSTEAM+=1;
+ // 3 hours cooldown (180 min)
+ if (gettime(GETTIME_YEAR) != 2021)
+ $FIRESOFSTEAM_CD=gettimetick(2)+10800;
+ return 2;
+ } else {
+ mapannounce(.@m$, "Map cleared!", 0);
+ sleep(rand2(15000, 30000));
+ return 1;
+ }
+ } else if (.@m % 25 == 0) {
+ mapannounce(.@m$, sprintf("%s monster(s) left", fnum(.@m)), 0);
+ }
+ return 0;
+}
+
+OnEvent1:
+ .@f=SFreset("029-1", 1);
+ if (.@f == 2)
+ mapannounce("029-1", "Dracula's Castle magical seal has dissipated!", 0);
+ if (.@f)
+ SFsetup1();
+ end;
+
+OnEvent2:
+ .@f=SFreset("029-2", 2);
+ if (.@f == 2)
+ mapannounce("029-2", "Map cleared!", 0);
+ if (.@f)
+ SFsetup2();
+ end;
+
+OnEvent3:
+ .@f=SFreset("029-3", 3);
+ if (.@f == 2)
+ mapannounce("029-3", "Map cleared!", 0);
+ if (.@f)
+ SFsetup3();
+ end;
+
+OnEvent4:
+ .@f=SFreset("029-4", 4);
+ if (.@f == 2)
+ mapannounce("029-4", "Map cleared!", 0);
+ if (.@f)
+ SFsetup4();
+ end;
+
+OnEvent5:
+ .@f=SFreset("029-5", 5);
+ if (.@f == 2)
+ mapannounce("029-5", "Map cleared!", 0);
+ if (.@f)
+ SFsetup5();
+ end;
+
+OnEvent6:
+ .@f=SFreset("029-6", 6);
+ if (.@f == 2)
+ mapannounce("029-6", "Map cleared! You'll need a Druid Tree Branch to use the tree warp to next area.", 0);
+ if (.@f)
+ SFsetup6();
+ end;
+
+OnEvent7:
+ .@f=SFreset("029-7", 7);
+ if (.@f == 2)
+ mapannounce("029-7", "Swamps cleared! Meet Andrei Sakar on the other side!", 0);
+ if (.@f)
+ SFsetup7();
+ end;
+
+OnEvent8:
+ .@f=SFreset("029-8", 8);
+ if (.@f == 2)
+ mapannounce("029-8", "Map cleared! Contact a GM in Migglemire Town!", 0);
+ if (.@f)
+ SFsetup8();
+ end;
+}
+
+
diff --git a/npc/029-0/sakar.txt b/npc/029-0/sakar.txt
new file mode 100644
index 0000000..06b990f
--- /dev/null
+++ b/npc/029-0/sakar.txt
@@ -0,0 +1,91 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Fires of Steam: The Death of Andrei Sakar
+
+//////////////////////////////////////////
+// Andrei Sakar Instances
+
+029-8,50,173,0 script Andrei Sakar#FoS298 NPC_ANDREI,{
+ if (!(TELEPORTERS & TP_ARTIS)) {
+ TELEPORTERS=TELEPORTERS|TP_ARTIS;
+ }
+ mesn;
+ mesq l("Do you want to return?");
+ next;
+ select
+ l("No, thanks."),
+ l("Yes, I would like to go back to the Swamps."),
+ l("Yes, I would like to go back to Artis.");
+ mes "";
+ closeclientdialog;
+ switch (@menu) {
+ case 2:
+ cwarp "029-7", 87, 56;
+ case 3:
+ cwarp "029-0", 90, 31;
+ }
+ close;
+OnInit:
+ .distance=5;
+ if ($FIRESOFSTEAM >= 10)
+ setnpcdisplay("Andrei Sakar#FoS298", "Elora#FoS298", NPC_HUMAN_FEMALE_NOOB);
+ end;
+}
+
+029-0,88,33,0 script Andrei Sakar#FoS290 NPC_ANDREI,{
+ function prologue;
+ if (getq(General_Narrator) < 20) end; // Not authorized
+ if (!FIRESOFSTEAM_CD && $FIRESOFSTEAM < 10)
+ prologue();
+ mesn;
+ mesq l("Do you want to advance?");
+ next;
+ select
+ l("No, thanks."),
+ l("Yes, I would like to explore!"),
+ rif($FIRESOFSTEAM >= 8, l("Yes, I would like to go to Asphodel Moors!"));
+ mes "";
+ closeclientdialog;
+ switch (@menu) {
+ case 2:
+ cwarp "029-1", 32, 91;
+ case 3:
+ cwarp "029-8", 51, 174;
+ }
+ close;
+
+function prologue {
+ mesn;
+ mesq l("Thanks for attending my call. As you can clearly see, the town is deserted; We only have our own staff in this town.");
+ next;
+ mesn;
+ mesq l("They set up shop in the whole town, so if you are in need of upgrading your gear or buying health food, it might be a good idea to pay them a visit.");
+ next;
+ mesn;
+ mesq l("Now, we're hot on the trails of whatever is the reason for the town to be so empty. We blocked this road so the town is not overrun by the monsters outside.");
+ next;
+ mesn;
+ mesq l("We've traced them to the Dark Forest, our goal is to destroy every raider there and defeat whoever is behind this tragedy. All that while keeping an eye open for survivors.");
+ next;
+ mesn;
+ mesq l("After all the monsters in an area are defeated, they'll respawn at once. I know, that's not good, but well, nothing that can be done about it.");
+ next;
+ mesn;
+ mesq l("Anyway, after that I'll use my magic, so everyone can rest after that until I finish, or keep killing the new monsters for experience and drops.");
+ next;
+ mesn;
+ mesq l("Are you ready? There will be a long path ahead of us until this mistery is solved.");
+ FIRESOFSTEAM_CD=gettimetick(2);
+ next;
+ return;
+}
+
+OnInit:
+ .distance=5;
+ if ($FIRESOFSTEAM >= 10)
+ setnpcdisplay("Andrei Sakar#FoS290", "Elora#FoS290", NPC_HUMAN_FEMALE_NOOB);
+ end;
+}
+
diff --git a/npc/029-0/town.txt b/npc/029-0/town.txt
new file mode 100644
index 0000000..5b0780a
--- /dev/null
+++ b/npc/029-0/town.txt
@@ -0,0 +1,26 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Reset LOCATION$ when entering a town
+
+029-0 mapflag town
+029-0 mapflag nopenalty
+
+029-0,203,85,0 script #LocArtis NPC_HIDDEN,0,3,{
+OnTouch:
+ EnterTown("Artis"); end;
+}
+
+029-0,204,85,0 script ArtisShip NPC_HIDDEN,0,0,{
+
+OnTouch:
+ EnterTown("Artis");
+ goto L_Warp;
+
+L_Warp:
+ warp "002-3@"+LOCATION$, 31, 28;
+ closedialog;
+ close;
+}
+
diff --git a/npc/029-0/warps.txt b/npc/029-0/warps.txt
new file mode 100644
index 0000000..05857ad
--- /dev/null
+++ b/npc/029-0/warps.txt
@@ -0,0 +1,130 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Fires of Steam: The Death of Andrei Sakar
+
+//////////////////////////////////////////
+// Warp Control
+
+// FiresOfSteam_Warp(ID)
+function script FiresOfSteam_Warp {
+ if ($FIRESOFSTEAM < getarg(0)) {
+ dispbottom l("Monsters remaining: %s", fnum(mobcount(getmap(), "all")));
+ end;
+ }
+ if ($FIRESOFSTEAM > getarg(0))
+ return true;
+ if ($FIRESOFSTEAM_CD > gettimetick(2)) {
+ dispbottom l("Time left until warp can be used: %s", FuzzyTime($FIRESOFSTEAM_CD));
+ end;
+ }
+ return false;
+}
+
+//////////////////////////////////////////
+029-1,147,153,0 script #291to292 NPC_HIDDEN,1,0,{
+ end;
+OnTouch:
+ if (FiresOfSteam_Warp(2)) goto L_Warp;
+ // Additional conditions here
+ if ($FIRESOFSTEAM[1] > 0 ||
+ $FIRESOFSTEAM[2] > 0 ||
+ $FIRESOFSTEAM[3] > 0 ||
+ $FIRESOFSTEAM[4] > 0 ||
+ $FIRESOFSTEAM[5] > 0) {
+ dispbottom l("A magic barrier prevents you from enterering. Maybe it is a good idea to shut down the pentagrams first?");
+ end;
+ }
+ // Fallthrough
+L_Warp:
+ warp "029-2", 35, 70;
+ end;
+}
+
+029-2,35,38,0 script #292to293 NPC_HIDDEN,3,0,{
+ end;
+OnTouch:
+ if (FiresOfSteam_Warp(3)) goto L_Warp;
+ // Fallthrough
+L_Warp:
+ warp "029-3", 25, 68;
+ end;
+}
+
+029-3,126,99,0 script #293to294 NPC_HIDDEN,3,0,{
+ end;
+OnTouch:
+ if (FiresOfSteam_Warp(4)) goto L_Warp;
+ // Fallthrough
+L_Warp:
+ warp "029-4", 125, 18;
+ end;
+}
+
+029-4,21,98,0 script #294to295 NPC_HIDDEN,3,0,{
+ end;
+OnTouch:
+ if (FiresOfSteam_Warp(5)) goto L_Warp;
+ // Fallthrough
+L_Warp:
+ warp "029-5", 125, 18;
+ end;
+}
+
+029-5,70,25,0 script #295to296 NPC_HIDDEN,1,0,{
+ end;
+OnTouch:
+ if (FiresOfSteam_Warp(6)) goto L_Warp;
+ // Fallthrough
+L_Warp:
+ warp "029-6", 134+9, 31;
+ end;
+}
+
+// 27+9 = 36
+029-6,36,90,0 script Great Tree#296to297 NPC_NO_SPRITE,{
+ if (FiresOfSteam_Warp(7)) goto L_Warp;
+ // Additional conditions here
+ mes l("Apparently, you'll need to use a %s to get this to work!", getitemlink(DruidTreeBranch));
+ if (!countitem(DruidTreeBranch)) close;
+ next;
+ if (askyesno() == ASK_NO) close;
+ closeclientdialog;
+ delitem DruidTreeBranch, 1;
+ // Fallthrough
+L_Warp:
+ warp "029-7", 96, 121;
+ end;
+
+OnInit:
+ .distance=3;
+ end;
+}
+
+029-7,80,49,0 script Dead Tree#297to298 NPC_NO_SPRITE,{
+ if (FiresOfSteam_Warp(8)) goto L_Warp;
+ // Additional conditions here (TODO)
+ // Fallthrough
+L_Warp:
+ warp "029-8", 51, 174;
+ end;
+
+OnInit:
+ .distance=3;
+ end;
+}
+
+029-8,174,77,0 script #298to299 NPC_HIDDEN,1,0,{
+ end;
+OnTouch:
+ if (FiresOfSteam_Warp(9)) goto L_Warp;
+ // Additional conditions here (TODO)
+ // Fallthrough
+L_Warp:
+ warp "029-9", 96, 48;
+ end;
+}
+
+029-9 mapflag zone MMO
+
diff --git a/npc/029-1/_import.txt b/npc/029-1/_import.txt
new file mode 100644
index 0000000..5822170
--- /dev/null
+++ b/npc/029-1/_import.txt
@@ -0,0 +1,3 @@
+// Map 029-1: Dark Forest
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/029-1/pentagram.txt",
diff --git a/npc/029-1/pentagram.txt b/npc/029-1/pentagram.txt
new file mode 100644
index 0000000..261b063
--- /dev/null
+++ b/npc/029-1/pentagram.txt
@@ -0,0 +1,74 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Fires of Steam: The Death of Andrei Sakar
+
+//////////////////////////////////////////
+// Pentagram Core
+
+029-1,35,32,0 script Pentagram#FoS_1 NPC_NO_SPRITE,{
+ .@n$=strnpcinfo(0, "_0");
+ explode(.@ni$, .@n$, "_");
+ .@id=atoi(.@ni$[1]);
+ debugmes "ID %d", .@id;
+ if (.@id < 1) end;
+ if ($FIRESOFSTEAM[.@id] < 1) end;
+
+ mesn;
+ mesq l("Power remaining: %s", fnum($FIRESOFSTEAM[.@id]));
+ next;
+ mesc l("Use items to drain the pentagram. Final result is affected by int!");
+ mesc l("WARNING: Monsters will appear!"), 1;
+ select
+ l("Cancel"),
+ l("Dark Crystal (5 power)"),
+ l("Terranite Ore (3 power)"),
+ l("Coal (2 power)"),
+ l("Cotton Cloth (1 power)");
+ mes "";
+ switch (@menu) {
+ case 2:
+ .@val=5;.@it=DarkCrystal;
+ break;
+ case 3:
+ .@val=3;.@it=TerraniteOre;
+ break;
+ case 4:
+ .@val=2;.@it=Coal;
+ break;
+ case 5:
+ .@val=1;.@it=CottonCloth;
+ break;
+ default:
+ close;
+ }
+
+ closeclientdialog;
+ if (!countitem(.@it)) end;
+ .@val*=countitem(.@it);
+ .@val*=(readparam2(bInt)+100)/100; // Each int gives +1%
+ delitem .@it, countitem(.@it);
+ $FIRESOFSTEAM[.@id]-=.@val;
+ getexp 0, .@val*2;
+ // TODO: Check & unlock
+ if ($FIRESOFSTEAM[.@id] < 1)
+ disablenpc .name$;
+ // Create monsters based on effectivity
+ areamonster("029-1", .x-3, .y-3, .x+3, .y+3, strmobinfo(1, MagicGoblin), MagicGoblin, (.@val/15)+1, "SteamFire#Ctrl::OnEvent1");
+ dispbottom l("Power remaining: %s", fnum($FIRESOFSTEAM[.@id]));
+ close;
+
+OnInit:
+ .distance=3;
+ end;
+}
+
+// Now we duplicate
+029-1,258,39,0 duplicate(Pentagram#FoS_1) Pentagram#FoS_2 NPC_NO_SPRITE
+029-1,113,148,0 duplicate(Pentagram#FoS_1) Pentagram#FoS_3 NPC_NO_SPRITE
+029-1,229,188,0 duplicate(Pentagram#FoS_1) Pentagram#FoS_4 NPC_NO_SPRITE
+029-1,38,257,0 duplicate(Pentagram#FoS_1) Pentagram#FoS_5 NPC_NO_SPRITE
+
+
+
diff --git a/npc/029-2/_import.txt b/npc/029-2/_import.txt
new file mode 100644
index 0000000..4d63c90
--- /dev/null
+++ b/npc/029-2/_import.txt
@@ -0,0 +1,3 @@
+// Map 029-2: Graveyard Indoor
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/029-2/_warps.txt",
diff --git a/npc/029-2/_warps.txt b/npc/029-2/_warps.txt
new file mode 100644
index 0000000..0704802
--- /dev/null
+++ b/npc/029-2/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 029-2: Graveyard Indoor warps
+029-2,36,71,0 warp #029-2_36_71 5,0,029-1,147,154
diff --git a/npc/029-3/_import.txt b/npc/029-3/_import.txt
new file mode 100644
index 0000000..90f23c5
--- /dev/null
+++ b/npc/029-3/_import.txt
@@ -0,0 +1,3 @@
+// Map 029-3: Crypt Basement
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/029-3/_warps.txt",
diff --git a/npc/029-3/_warps.txt b/npc/029-3/_warps.txt
new file mode 100644
index 0000000..7dd5e91
--- /dev/null
+++ b/npc/029-3/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 029-3: Crypt Basement warps
+029-3,26,67,0 warp #029-3_26_67 3,0,029-2,35,37
diff --git a/npc/029-4/_import.txt b/npc/029-4/_import.txt
new file mode 100644
index 0000000..bc557bc
--- /dev/null
+++ b/npc/029-4/_import.txt
@@ -0,0 +1,3 @@
+// Map 029-4: Crypt Sub-Basement One
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/029-4/_warps.txt",
diff --git a/npc/029-4/_warps.txt b/npc/029-4/_warps.txt
new file mode 100644
index 0000000..ac33c43
--- /dev/null
+++ b/npc/029-4/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 029-4: Crypt Sub-Basement One warps
+029-4,126,17,0 warp #029-4_126_17 3,0,029-3,126,98
diff --git a/npc/029-5/_config.txt b/npc/029-5/_config.txt
new file mode 100644
index 0000000..99e975a
--- /dev/null
+++ b/npc/029-5/_config.txt
@@ -0,0 +1,16 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 029-5: Crypt Sub-Basement Two conf
+
+029-5,126,18,0 script #029-5_126_18 NPC_HIDDEN,3,0,{
+ end;
+OnTouch:
+ doevent "#DungeonCore::OnSick";
+ end;
+}
+
+029-5,71,26,0 script #029-5_71_26 NPC_HIDDEN,3,0,{
+ end;
+OnTouch:
+ doevent "#DungeonCore::OnSick";
+ end;
+}
diff --git a/npc/029-5/_import.txt b/npc/029-5/_import.txt
new file mode 100644
index 0000000..43d51fb
--- /dev/null
+++ b/npc/029-5/_import.txt
@@ -0,0 +1,4 @@
+// Map 029-5: Crypt Sub-Basement Two
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/029-5/_config.txt",
+"npc/029-5/_warps.txt",
diff --git a/npc/029-5/_warps.txt b/npc/029-5/_warps.txt
new file mode 100644
index 0000000..4523acb
--- /dev/null
+++ b/npc/029-5/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 029-5: Crypt Sub-Basement Two warps
+029-5,126,17,0 warp #029-5_126_17 3,0,029-4,21,97
diff --git a/npc/029-6/_import.txt b/npc/029-6/_import.txt
new file mode 100644
index 0000000..8b480e2
--- /dev/null
+++ b/npc/029-6/_import.txt
@@ -0,0 +1,3 @@
+// Map 029-6: Somewhere Strange
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/029-6/_warps.txt",
diff --git a/npc/029-6/_warps.txt b/npc/029-6/_warps.txt
new file mode 100644
index 0000000..bf9abfa
--- /dev/null
+++ b/npc/029-6/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 029-6: Somewhere Strange warps
+029-6,143,30,0 warp #029-6_143_30 0,0,029-5,70,26
diff --git a/npc/029-7/_import.txt b/npc/029-7/_import.txt
new file mode 100644
index 0000000..7393f71
--- /dev/null
+++ b/npc/029-7/_import.txt
@@ -0,0 +1,3 @@
+// Map 029-7: Ruined Swamps
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/029-7/_warps.txt",
diff --git a/npc/029-7/_warps.txt b/npc/029-7/_warps.txt
new file mode 100644
index 0000000..e80a505
--- /dev/null
+++ b/npc/029-7/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 029-7: Ruined Swamps warps
+029-7,105,124,0 warp #029-7_105_124 0,0,029-6,27,92
diff --git a/npc/029-8/_import.txt b/npc/029-8/_import.txt
new file mode 100644
index 0000000..02bf49b
--- /dev/null
+++ b/npc/029-8/_import.txt
@@ -0,0 +1,2 @@
+// Map 029-8: Asphodel Moors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/029-9/_import.txt b/npc/029-9/_import.txt
new file mode 100644
index 0000000..f93728f
--- /dev/null
+++ b/npc/029-9/_import.txt
@@ -0,0 +1,5 @@
+// Map 029-9: Woodland mining camp
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/029-9/_mobs.txt",
+"npc/029-9/_warps.txt",
+"npc/029-9/boss.txt",
diff --git a/npc/029-9/_mobs.txt b/npc/029-9/_mobs.txt
new file mode 100644
index 0000000..46f1c8d
--- /dev/null
+++ b/npc/029-9/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 029-9: Woodland mining camp mobs
+029-9,129,34,5,7 monster Mana Piou 1155,8,35000,270000
diff --git a/npc/029-9/_warps.txt b/npc/029-9/_warps.txt
new file mode 100644
index 0000000..0cba23e
--- /dev/null
+++ b/npc/029-9/_warps.txt
@@ -0,0 +1,23 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 029-9: Woodland mining camp warps
+029-9,97,49,0 warp #029-9_97_49 5,0,029-8,174,78
+029-9,103,48,0 script #029-9_103_48 NPC_HIDDEN,1,0,{
+ end;
+OnTouch:
+ slide 136,40; end;
+}
+029-9,91,26,0 script #029-9_91_26 NPC_HIDDEN,1,0,{
+ end;
+OnTouch:
+ slide 34,24; end;
+}
+029-9,34,23,0 script #029-9_34_23 NPC_HIDDEN,1,0,{
+ end;
+OnTouch:
+ slide 90,25; end;
+}
+029-9,137,41,0 script #029-9_137_41 NPC_HIDDEN,1,0,{
+ end;
+OnTouch:
+ slide 102,47; end;
+}
diff --git a/npc/029-9/boss.txt b/npc/029-9/boss.txt
new file mode 100644
index 0000000..86e27b6
--- /dev/null
+++ b/npc/029-9/boss.txt
@@ -0,0 +1,555 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Fires of Steam: The Death of Andrei Sakar
+/* *****************************************
+$@FIRESOFSTEAM_BOSS
+0 = Off; 1 = Moubootaur summoning; 2 = Moubootaur summoned
+$@FIRESOFSTEAM_DIFF
+Level of difficulty setting (100/130/160/190/220)
+***************************************** */
+
+//////////////////////////////////////////
+// Boss Room
+029-9,96,22,0 script Book#FoS NPC_NO_SPRITE,{
+ if (!is_staff() && strcharinfo(0) != $MOST_HEROIC$) end;
+ if ($@FIRESOFSTEAM_BOSS) end;
+ select
+ l("Ignore this book"),
+ l("Begin classic mode"),
+ rif(is_staff() && $FIRESOFSTEAM >= 10, l("Skip prologue"));
+ mes "";
+ $@FIRESOFSTEAM_BOSS=(@menu-1);
+ if ($@FIRESOFSTEAM_BOSS == 0) close;
+ select
+ l("Easy Mode"),
+ rif($FIRESOFSTEAM >= 10, l("Crazy Mode")),
+ rif($FIRESOFSTEAM >= 10, l("Cadis Mode")),
+ rif($FIRESOFSTEAM >= 10, l("Crazy Cadis Ultimate Pandorica Mode")),
+ rif($FIRESOFSTEAM >= 10, l("Portable Apocalypse"));
+ mes "";
+ $@FIRESOFSTEAM_DIFF=70+(@menu*30);
+ switch (@menu) {
+ case 1: .@d$="##2Easy"; break;
+ case 2: .@d$="##3Crazy"; break;
+ case 3: .@d$="##5Cadis"; break;
+ case 4: .@d$="##6Crazy Cadis Ultimate Pandorica"; break;
+ case 5: .@d$="##1Portable Apocalypse"; break;
+ default: .@d$="Unknown";
+ }
+ mapannounce("029-9", "Difficulty Selected: ##B"+.@d$+"##b", 0);
+ changemusic("029-9", "mythica.ogg");
+ closeclientdialog;
+ // Dispose of the GM
+ warp "029-8", 175, 80;
+ sleep(200);
+ // PC no longer attached
+ // Start the event
+ mapwarp("029-9", "029-9", 96, 41);
+ sleep(200);
+ .@c = getunits(BL_PC|BL_MER|BL_HOM, .@players, MAX_CYCLE_PC, "029-9");
+ for (.@i = 0; .@i < .@c; .@i++) {
+ sc_start(SC_STUN, 18000, 1, 10000,
+ SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .@players[.@i]);
+ }
+ sleep(100);
+ // Cleanup previous data (if any)
+ $@FOS_ISB=0;
+ $@FOS_MOB=0;
+ $@FOS_AND=0;
+ .Support1=0;
+ .Support2=0;
+ .Support3=0;
+ .Support4=0;
+ .Support5=0;
+ // Lockdown
+ disablenpc "#029-9_97_49"; // Exit
+ disablenpc "#029-9_103_48"; // To Storage
+ disablenpc "#029-9_91_26"; // To Moubootaur
+ disablenpc "#029-9_34_23"; // From Moubootaur
+ disablenpc "#029-9_137_41"; // From Storage
+ // Summon Andrei, and handle prologue skips
+ $@FOS_AND=monster("029-9", 96, 35, "Andrei Sakar", AndreiSakar, 1);
+ if ($@FIRESOFSTEAM_BOSS == 2) goto OnProlEnd;
+ // Spawn Isbamuth and his support
+ $@FOS_ISB=monster("029-9", 96, 32, "Isbamuth", Isbamuth, 1, "Book#FoS::OnProlEnd");
+ .Support1=monster("029-9", 95, 31, "Hooded Assassin", HoodedAssassin, 1);
+ .Support2=monster("029-9", 97, 31, "Hooded Assassin", HoodedAssassin, 1);
+ .Support3=monster("029-9", 95, 27, "Assassin", Assassin, 1);
+ .Support4=monster("029-9", 96, 27, "Assassin", Assassin, 1);
+ .Support5=monster("029-9", 97, 27, "Assassin", Assassin, 1);
+ // Freeze everyone!
+ sc_start(SC_STUN, 18000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, $@FOS_AND);
+ sc_start(SC_STUN, 18000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, $@FOS_ISB);
+ sc_start(SC_STUN, 18000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .Support1);
+ sc_start(SC_STUN, 18000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .Support2);
+ sc_start(SC_STUN, 18000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .Support3);
+ sc_start(SC_STUN, 18000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .Support4);
+ sc_start(SC_STUN, 18000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .Support5);
+ // Boost Isbamuth stats
+ .@avg=$@FIRESOFSTEAM_DIFF;
+ // Reconfigure the monster
+ setunitdata($@FOS_ISB, UDT_LEVEL, .@avg);
+ setunitdata($@FOS_ISB, UDT_STR, 1+.@avg/2);
+ setunitdata($@FOS_ISB, UDT_AGI, 1+.@avg/2);
+ setunitdata($@FOS_ISB, UDT_VIT, 1+.@avg/2);
+ setunitdata($@FOS_ISB, UDT_INT, 1+.@avg/2);
+ setunitdata($@FOS_ISB, UDT_DEX, 1+.@avg/2);
+ setunitdata($@FOS_ISB, UDT_LUK, 1+.@avg/2);
+ setunitdata($@FOS_ISB, UDT_ADELAY, 1072);
+ setunitdata($@FOS_ISB, UDT_ATKRANGE, 4);
+ // Battle Status
+ setunitdata($@FOS_ISB, UDT_MAXHP, .@avg*700);
+ setunitdata($@FOS_ISB, UDT_HP, .@avg*700);
+ setunitdata($@FOS_ISB, UDT_ATKMIN, .@avg*6);
+ setunitdata($@FOS_ISB, UDT_ATKMAX, .@avg*8);
+ setunitdata($@FOS_ISB, UDT_DEF, 4+.@avg);
+ setunitdata($@FOS_ISB, UDT_MDEF, 1+.@avg);
+ setunitdata($@FOS_ISB, UDT_HIT, .@avg*12); // Advised: x18
+ setunitdata($@FOS_ISB, UDT_FLEE, .@avg*4); // Advised: x5
+ setunitdata($@FOS_ISB, UDT_CRIT, 20+.@avg);
+ // Reconfigure the AI
+ .@opt=getunitdata($@FOS_ISB, UDT_MODE);
+ // Disable looting
+ if (.@opt & MD_LOOTER)
+ .@opt=.@opt^MD_LOOTER;
+ // Add knockback immunity
+ .@opt=.@opt|MD_NOKNOCKBACK;
+ // Mark as boss
+ .@opt=.@opt|MD_BOSS;
+ // Mark as aggressive
+ .@opt=.@opt|MD_AGGRESSIVE;
+ .@opt=.@opt|MD_ANGRY;
+ // Make it crazy
+ .@opt=.@opt|MD_RANDOMTARGET;
+ setunitdata($@FOS_ISB, UDT_MODE, .@opt);
+
+ // Begin Isbamuth's monologue
+ unittalk($@FOS_ISB, "You are too late! I did it!! Muahahaha!");
+ sleep(1000);
+ unittalk(.Support1, "Yeah, you did it!");
+ sleep(400);
+ unittalk(.Support2, "Yeah, you are the best!");
+ sleep(600);
+ unittalk($@FOS_ISB, "Silence!");
+ sleep(1000);
+ unittalk($@FOS_ISB, "You did well tracking me down... However the rite is almost complete.");
+ sleep(3000);
+ unittalk($@FOS_ISB, "The power of the Moubootaur will be mine...");
+ sleep(2000);
+ unittalk($@FOS_ISB, "And you no longer can stop me!! Muahahahaha!");
+ sleep(1000);
+ unittalk(.Support1, "Yeah, that's our boss!");
+ sleep(600);
+ unittalk(.Support2, "Yeah, none is like boss!");
+ sleep(400);
+ unittalk($@FOS_AND, "Your evil plans shall never prevail, Isbamuth!");
+ sleep(2500);
+ unittalk($@FOS_AND, "Adventurers! I'll go ahead, you shall buy me time!");
+ maptimer2("029-9", 200, "Book#FoS::OnMFAndreiMagic");
+ sleep(500);
+ sc_end(SC_STUN, $@FOS_AND);
+ unitwalk($@FOS_AND, 96, 24);
+ sleep(1000);
+ unitwalk($@FOS_AND, 96, 24);
+ sleep(1000);
+ unittalk($@FOS_AND, "I'm sure Isbamuth will be no match for all of you!");
+ unitwalk($@FOS_AND, 90, 26);
+ sleep(1500);
+ unitwarp($@FOS_AND, "029-9", 39, 21);
+ unittalk($@FOS_ISB, "Hahaha... YOU THINK YOU CAN DEFEAT ME??");
+ sc_start(SC_STUN, INT_MAX, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, $@FOS_AND);
+ sleep(1000);
+ unittalk($@FOS_ISB, "We will see! Engarde!!");
+ initnpctimer;
+ changemusic("029-9", "let_the_battles_begin.ogg");
+ end;
+
+////////////// Prologue End //////////////
+OnProlEnd:
+ if (playerattached())
+ getexp 200000, 50000;
+ changemusic("029-9", "steam.ogg");
+ mapannounce("029-9", "##1##BA huge sound is heard from the basement.", 0);
+ $@FIRESOFSTEAM_BOSS=2;
+ enablenpc "#029-9_91_26"; // To Moubootaur
+ // Cleanup previous data (if any)
+ $@FOS_ISB=0;
+ $@FOS_MOB=0;
+ .Support1=0;
+ .Support2=0;
+ .Support3=0;
+ .Support4=0;
+ .Support5=0;
+ maptimer2("029-9", 10000, "Book#FoS::OnMFMark");
+ maptimer2("029-9", 18000, "Book#FoS::OnMFScene");
+ // Ensure Andrei Sakar is at his place and stunned
+ unitwarp($@FOS_AND, "029-9", 39, 21);
+ sc_start(SC_STUN, INT_MAX, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, $@FOS_AND);
+ // Bring on the Gemini Assassins
+ .Support1=monster("029-9", 38, 21, "Valia", Sagratha, 1);
+ .Support2=monster("029-9", 40, 21, "Luvia", Luvia, 1);
+ sc_start(SC_STUN, INT_MAX, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .Support1);
+ sc_start(SC_STUN, INT_MAX, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .Support2);
+ setunitdata($@FOS_AND, UDT_MAXHP, 999999);
+ setunitdata($@FOS_AND, UDT_HP, 999999);
+ setunitdata(.Support1, UDT_MAXHP, 999999);
+ setunitdata(.Support1, UDT_HP, 999999);
+ setunitdata(.Support2, UDT_MAXHP, 999999);
+ setunitdata(.Support2, UDT_HP, 999999);
+ sleep(18000+100); // Wait for cutscene to start + latebloomers
+ .@c = getunits(BL_PC|BL_MER|BL_HOM, .@players, MAX_CYCLE_PC, "029-9");
+ for (.@i = 0; .@i < .@c; .@i++) {
+ sc_start(SC_STUN, 18000, 1, 10000,
+ SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .@players[.@i]);
+ }
+ sleep(100);
+ //////////////////////////////////////////////////////////////
+ unittalk(.Support1, "...I'm sorry!");
+ sleep(1000);
+ unittalk(.Support2, "...But Isbamuth told us to kill you!");
+ sleep(1000);
+ unittalk(.Support1, "...Die for us!");
+ sleep(1000);
+ unitkill($@FOS_AND); // DEAD
+ $@FOS_AND=0;
+ maptimer2("029-9", 3000, "Book#FoS::OnMFShake");
+ sleep(3200); // Dramatic Silence
+ mapannounce("029-9", "##1##BGRRRRRRRRR!!!!", 0);
+ sleep(800);
+ mapannounce("029-9", "##1##BHUMANS!!!!", 0);
+ sleep(2000);
+ unittalk(.Support2, "Sister, we should go.");
+ sleep(3000);
+ unittalk(.Support1, "...Yes, sister, let's go!");
+ sleep(3000);
+ unitwarp(.Support1, "029-9", 130, 32);
+ unitwarp(.Support2, "029-9", 131, 32);
+ sleep(1000); // Dramatic Silence
+ unitkill(.Support1);
+ unitkill(.Support2);
+ $@FOS_MOB=monster("029-9", 39, 36, "Moubootaur (Sealed)", MobMoubootaur, 1, "Book#FoS::OnEventEnd");
+ sc_start(SC_STUN, 31000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, $@FOS_MOB);
+ sleep(1000); // Dramatic Silence
+ unittalk($@FOS_MOB, "##1Who dares awake me from my slumber...");
+ sleep(3000);
+ unittalk($@FOS_MOB, "##1It was just a few nights since I turned a nearby town in Mouboos for their insolence...");
+ sleep(5000);
+ maptimer2("029-9", 2000, "Book#FoS::OnMFShake");
+ sleep(2000);
+ unittalk($@FOS_MOB, "##1AND YOU DARE TO NOT LEARN YOUR LESSON?? %%e");
+ sleep(2000);
+ unittalk($@FOS_MOB, "##1USELESS, UNWORTHY CREATURES!! %%e");
+ sleep(6000);
+ unittalk($@FOS_MOB, "##1I SHALL TURN THIS WHOLE WORLD INTO MOUBOOS...");
+ sleep(6000);
+ unittalk($@FOS_MOB, "##1THE PROPHECY... OF MY RETURN... IS FULFILLED AT LEAST!!");
+ .@avg=$@FIRESOFSTEAM_DIFF*13/10; // Moubootaur: +30% bonus (+30~60 lvls)
+ // Reconfigure the monster (otherwise it is night immortal)
+ setunitdata($@FOS_MOB, UDT_LEVEL, .@avg);
+ setunitdata($@FOS_MOB, UDT_STR, 1+.@avg*3/4);
+ setunitdata($@FOS_MOB, UDT_AGI, 1+.@avg*3/4);
+ setunitdata($@FOS_MOB, UDT_VIT, 1+.@avg*3/4);
+ setunitdata($@FOS_MOB, UDT_INT, 1+.@avg*3/4);
+ setunitdata($@FOS_MOB, UDT_DEX, 1+.@avg*3/4);
+ setunitdata($@FOS_MOB, UDT_LUK, 1+.@avg*3/4);
+ setunitdata($@FOS_MOB, UDT_ADELAY, 1472);
+ setunitdata($@FOS_MOB, UDT_ATKRANGE, 4);
+ // Battle Status
+ setunitdata($@FOS_MOB, UDT_MAXHP, .@avg*1350);
+ setunitdata($@FOS_MOB, UDT_HP, .@avg*1350);
+ setunitdata($@FOS_MOB, UDT_ATKMIN, .@avg*6);
+ setunitdata($@FOS_MOB, UDT_ATKMAX, .@avg*8);
+ setunitdata($@FOS_MOB, UDT_DEF, 12+.@avg*5/3);
+ setunitdata($@FOS_MOB, UDT_MDEF, 1+.@avg);
+ setunitdata($@FOS_MOB, UDT_HIT, .@avg*18); // Advised: x18
+ setunitdata($@FOS_MOB, UDT_FLEE, .@avg*4); // Advised: x5
+ setunitdata($@FOS_MOB, UDT_CRIT, 60+.@avg*4/3);
+ // Reconfigure the AI
+ .@opt=getunitdata($@FOS_MOB, UDT_MODE);
+ // Disable looting
+ if (.@opt & MD_LOOTER)
+ .@opt=.@opt^MD_LOOTER;
+ // Add knockback immunity
+ .@opt=.@opt|MD_NOKNOCKBACK;
+ // Mark as boss
+ .@opt=.@opt|MD_BOSS;
+ // Mark as aggressive
+ .@opt=.@opt|MD_AGGRESSIVE;
+ .@opt=.@opt|MD_ANGRY;
+ // Make it more op
+ .@opt=.@opt|MD_DETECTOR;
+ .@opt=.@opt|MD_CASTSENSOR_CHASE;
+ .@opt=.@opt|MD_CASTSENSOR_IDLE;
+ .@opt=.@opt|MD_CHANGECHASE;
+ .@opt=.@opt|MD_CHANGETARGET_MELEE;
+ .@opt=.@opt|MD_CHANGETARGET_CHASE;
+ setunitdata($@FOS_MOB, UDT_MODE, .@opt);
+ sleep(1000);
+ mapannounce("029-9", "##1##BON YOUR MARKS...", 0);
+ sleep(2000);
+ mapannounce("029-9", "##1##B3...", 0);
+ sleep(1000);
+ mapannounce("029-9", "##1##B2...", 0);
+ sleep(1000);
+ mapannounce("029-9", "##1##B1...", 0);
+ sleep(1000);
+ mapannounce("029-9", "##1##BBEGIN!!", 0);
+ .Support3=monster("029-9", 25, 29, "Magic Commander", Moubi, 1);
+ .Support4=monster("029-9", 53, 29, "Army Commander", BloodyMouboo, 1);
+ .Support5=monster("029-9", 39, 45, "Mouboo Governor", AlphaMouboo, 1);
+ setunitdata(.Support3, UDT_MAXHP, .@avg*300);
+ setunitdata(.Support3, UDT_HP, .@avg*300);
+ setunitdata(.Support4, UDT_MAXHP, .@avg*300);
+ setunitdata(.Support4, UDT_HP, .@avg*300);
+ setunitdata(.Support5, UDT_MAXHP, .@avg*300);
+ setunitdata(.Support5, UDT_HP, .@avg*300);
+ setunitdata(.Support3, UDT_RACE, RC_Legendary);
+ setunitdata(.Support4, UDT_RACE, RC_Legendary);
+ setunitdata(.Support5, UDT_RACE, RC_Legendary);
+ initnpctimer;
+ changemusic("029-9", "Arabesque.ogg");
+ end;
+
+////////////// Player's Victory //////////////
+OnEventEnd:
+ stopnpctimer;
+ changemusic("029-9", "Misty_Shrine.ogg");
+ enablenpc "#029-9_97_49"; // Exit
+ enablenpc "#029-9_103_48"; // To Storage
+ enablenpc "#029-9_34_23"; // From Moubootaur
+ enablenpc "#029-9_137_41"; // From Storage
+ maptimer2("029-9", 10, "Book#FoS::OnMFSurvive");
+ mapannounce("029-9", "Moubootaur : ##1##BThis is not the place...", 0);
+ sleep(2000);
+ mapannounce("029-9", "Moubootaur : ##1##BMy powers are weak here...", 0);
+ sleep(2000);
+ mapannounce("029-9", "Moubootaur : ##1##BHowever... I know where I must go.", 0);
+ sleep(3000);
+ mapannounce("029-9", "Moubootaur : ##1##BThe prophecy... LIVES!", 0);
+ sleep(3000);
+ // XXX Reward cycle XXX
+ // This can be slow, beware
+ .@c = getunits(BL_PC, .@players, MAX_CYCLE_PC);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ attachrid(.@players[.@i]);
+ if ($FIRESOFSTEAM >= 10) {
+ getexp 50000+($@FIRESOFSTEAM_DIFF*10), 5000+$@FIRESOFSTEAM_DIFF;
+ } else {
+ getexp 1000000, 250000;
+ getitem StrangeCoin, 200;
+ Mobpt+=500000;
+ Zeny+=250000;
+ }
+ dispbottom l("Congratulations! You've received participation rewards due to the Moubootaur Death.");
+ detachrid();
+ }
+ if ($FIRESOFSTEAM < 10) {
+ kamibroadcast("The Moubootaur has been awakened. The gears of destiny are on motion.", "Jesusalva");
+ sleep(5000);
+ kamibroadcast("Great calamity shall soon befall upon this world.", "Jesusalva");
+ sleep(5000);
+ kamibroadcast("But if we all fight together, we might have a chance!", "Saulc");
+ sleep(5000);
+ kamibroadcast("At due time... The Secret of Mana will be revealed.", "Jesusalva");
+ sleep(5000);
+ kamibroadcast("May the apocalypse begin: The revelation of this world!", "Jesusalva");
+ kamibroadcast("MOUBOOTAUR LEGENDS, FIFTH ACT - THE WORLD'S CURSE");
+ $FIRESOFSTEAM=10;
+ $GAME_STORYLINE=4;
+ $MANA_BLVL-=5; // Set level to 15~25
+ $MANA_JLVL-=5; // Set job level to 10
+ $MANA_BINT-=10; // Drop min. int for minimum magic
+ disablenpc "Andrei Sakar";
+ setnpcdisplay("Andrei Sakar#FoS290", "Elora#FoS290", NPC_HUMAN_FEMALE_NOOB);
+ setnpcdisplay("Andrei Sakar#FoS298", "Elora#FoS298", NPC_HUMAN_FEMALE_NOOB);
+ disablenpc "Elora";
+ }
+ $@FIRESOFSTEAM_BOSS=0;
+ $@FIRESOFSTEAM_DIFF=0;
+ end;
+
+////////////// Map Broadcast //////////////
+OnMFAndreiMagic:
+ .@stat=max(1, 5-((100-$@FIRESOFSTEAM_DIFF)/30));
+ dispbottom col(l("Enemies stunned!"), 3);
+ dispbottom col(l("All Stats temporarily raised!"), 2);
+ dispbottom l("Andrei Sakar used magic: %s", b(l("Triumph of the Eternals")));
+ sc_start(SC_INCALLSTATUS, .boostime, .@stat, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK);
+ end;
+
+OnMFMark:
+ dispbottom col(l("On your marks..."), 1);
+ end;
+
+OnMFScene:
+ if (!isin("029-9", 20, 20, 60, 50))
+ warp "029-9", rand2(33,34), rand2(24,26);
+ end;
+
+OnMFShake:
+ sshake();
+ closeclientdialog;
+ sleep2(1000);
+ sshake();
+ sshake();
+ closeclientdialog;
+ end;
+
+OnMFDispose:
+ if (ispcdead() && getq(General_Narrator) >= 20) warp("025-2", 100, 27);
+ end;
+
+OnMFSurvive:
+ dispbottom l("Mission accomplished. Well played!");
+ getitem StrangeCoin, max(1, 1+(($@FIRESOFSTEAM_DIFF-100)/30));
+ if (!MOUBOOTAUR_WINNER)
+ MOUBOOTAUR_WINNER=gettimetick(2);
+ specialeffect(FX_FANFARE, AREA, getcharid(3));
+ end;
+
+////////////// Heartbeat //////////////
+OnTimer15000:
+ maptimer2("029-9", 10, "Book#FoS::OnMFDispose");
+ sleep(30);
+ if (getmapusers("029-9") < 1) goto L_Defeat;
+ // Main cycle
+ if ($@FIRESOFSTEAM_BOSS == 1) {
+ monster("029-9", 102, 47, "Assassin", Assassin, 1);
+ } else if ($@FIRESOFSTEAM_BOSS == 2) {
+ // Handle Moubootaur Magic
+ // But only if .Support3 was defined (control variable)
+ if (!.Support3) {initnpctimer; end;}
+ // Spawn a fiend
+ .@m=monster("029-9", 39, 36, "Mouboo", Mouboo, 1);
+ setunitdata(.@m, UDT_RACE, RC_Legendary);
+ .@hp=getunitdata(.@m, UDT_MAXHP)*$@FIRESOFSTEAM_DIFF/80;
+ .@op=getunitdata(.@m, UDT_MODE);
+ .@op=.@op|MD_AGGRESSIVE;
+ setunitdata(.@m, UDT_MAXHP, .@hp);
+ setunitdata(.@m, UDT_HP, .@hp);
+ setunitdata(.@m, UDT_MODE, .@op);
+ // Select random magic from arsenal
+ .@r=rand2(16);
+ switch (.@r) {
+ case 1:
+ mapannounce("029-9", "Moubootaur : ##BAncient Magic: Bleeding", 0);
+ areasc2("029-9", 40, 35, 20, 15000, SC_BLOODING, BL_PC, 1);
+ break;
+ case 2:
+ mapannounce("029-9", "Moubootaur : ##BAncient Magic: Blind", 0);
+ areasc2("029-9", 40, 35, 20, 15000, SC_BLIND, BL_PC, 1);
+ break;
+ case 3:
+ mapannounce("029-9", "Moubootaur : ##BAncient Magic: Lag", 0);
+ areasc2("029-9", 40, 35, 20, 15000, SC_CONFUSION, BL_PC, 1);
+ break;
+ case 4:
+ mapannounce("029-9", "Moubootaur : ##BAncient Magic: Curse", 0);
+ areasc2("029-9", 40, 35, 20, 15000, SC_CURSE, BL_PC, 1);
+ break;
+ case 5:
+ mapannounce("029-9", "Moubootaur : ##BAncient Magic: Poison", 0);
+ areasc2("029-9", 40, 35, 20, 15000, SC_POISON, BL_PC, 1);
+ break;
+ case 6:
+ mapannounce("029-9", "Moubootaur : ##BAncient Magic: Sleep", 0);
+ areasc2("029-9", 40, 35, 20, 15000, SC_SLEEP, BL_PC, 1);
+ break;
+ case 7:
+ mapannounce("029-9", "Moubootaur : ##BAncient Magic: Deadly Poison", 0);
+ areasc2("029-9", 40, 35, 20, 15000, SC_DPOISON, BL_PC, 1);
+ break;
+ case 8:
+ mapannounce("029-9", "Moubootaur : ##BAncient Magic: Chilling", 0);
+ areasc2("029-9", 40, 35, 20, 15000, SC_COLD, BL_PC, 1);
+ break;
+ case 9:
+ mapannounce("029-9", "Moubootaur : ##BAncient Magic: Burning", 0);
+ areasc2("029-9", 40, 35, 20, 15000, SC_BURNING, BL_PC, 1);
+ break;
+ case 10:
+ mapannounce("029-9", "Moubootaur : ##BAncient Magic: Fear", 0);
+ areasc2("029-9", 40, 35, 20, 15000, SC_FEAR, BL_PC, 1);
+ break;
+ case 11:
+ mapannounce("029-9", "Moubootaur : ##BAncient Magic: Obliterate", 0);
+ rectharm($@FOS_MOB, 7, 7, rand2(700, 900), HARM_MISC, Ele_Holy, "filter_always", BL_PC | BL_MER | BL_HOM);
+ break;
+ case 12:
+ mapannounce("029-9", "Moubootaur : ##BAncient Magic: Disarm Homun", 0);
+ areasc2("029-9", 40, 35, 20, 15000, SC_STUN, BL_HOM, 1);
+ break;
+ case 13:
+ mapannounce("029-9", "Moubootaur : ##BAncient Magic: Exterminate Lesserform", 0);
+ rectharm($@FOS_MOB, 7, 7, rand2(800, 1400), HARM_MISC, Ele_Holy, "filter_always", BL_MER | BL_HOM);
+ break;
+ case 14:
+ mapannounce("029-9", "Moubootaur : ##BAncient Magic: Summon Reinforcement", 0);
+ for (.@i=0;.@i <= rand2(4);.@i++) {
+ .@m=monster("029-9", rand2(35,43), rand2(35,38), "Reinforcement",
+ any(AlphaMouboo, Moubi, BloodyMouboo, Moubi), 1);
+ setunitdata(.@m, UDT_RACE, RC_Legendary);
+ .@hp=getunitdata(.@m, UDT_MAXHP)*$@FIRESOFSTEAM_DIFF/60;
+ setunitdata(.@m, UDT_MAXHP, .@hp);
+ setunitdata(.@m, UDT_HP, .@hp);
+ }
+ break;
+ case 15:
+ mapannounce("029-9", "Moubootaur : ##BAncient Magic: Wizcat", 0);
+ for (.@i=0;.@i <= 2+rand2(7);.@i++) {
+ .@m=monster("029-9", rand2(35,43), rand2(35,38),
+ "Reinforcement", BlackCat, 1);
+ setunitdata(.@m, UDT_RACE, RC_Legendary);
+ .@hp=getunitdata(.@m, UDT_MAXHP)*$@FIRESOFSTEAM_DIFF/70;
+ setunitdata(.@m, UDT_MAXHP, .@hp);
+ setunitdata(.@m, UDT_HP, .@hp);
+ }
+ break;
+ case 16:
+ mapannounce("029-9", "Moubootaur : ##BAncient Magic: Nuke", 0);
+ rectharm($@FOS_MOB, 14, 14, rand2(450, 750), HARM_MISC, Ele_Holy, "filter_always", BL_PC | BL_MER | BL_HOM);
+ break;
+ default: // case 0
+ mapannounce("029-9", "Moubootaur : ##BAncient Magic: Seal", 0);
+ areasc2("029-9", 40, 35, 20, 15000, SC_SILENCE, BL_PC, 1);
+ break;
+ }
+ sleep(rand2(45000)); // Wait a bit longer between magic (random)
+ }
+ initnpctimer;
+ end;
+
+////////////// Player's Defeat //////////////
+OnDefeat:
+L_Defeat:
+ $@FIRESOFSTEAM_BOSS=0;
+ $@FIRESOFSTEAM_DIFF=0;
+ $@FOS_ISB=0;
+ $@FOS_MOB=0;
+ $@FOS_AND=0;
+ .Support1=0;
+ .Support2=0;
+ .Support3=0;
+ .Support4=0;
+ .Support5=0;
+ killmonsterall("029-9");
+ kamibroadcast("The players were defeated at Fires of Steam Showdown.", "Fires of Steam");
+ enablenpc "#029-9_97_49"; // Exit
+ enablenpc "#029-9_91_26"; // To Moubootaur
+ enablenpc "#029-9_103_48"; // To Storage
+ enablenpc "#029-9_34_23"; // From Moubootaur
+ enablenpc "#029-9_137_41"; // From Storage
+ stopnpctimer;
+ end;
+
+OnInit:
+ .boostime = 900000;
+ .subitime = 47000;
+ .distance = 5;
+ .sex = G_OTHER;
+ end;
+}
+
+
diff --git a/npc/030-01/_import.txt b/npc/030-01/_import.txt
new file mode 100644
index 0000000..a4fa24b
--- /dev/null
+++ b/npc/030-01/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-01: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-02/_import.txt b/npc/030-02/_import.txt
new file mode 100644
index 0000000..542f3cc
--- /dev/null
+++ b/npc/030-02/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-02: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-03/_import.txt b/npc/030-03/_import.txt
new file mode 100644
index 0000000..55cb230
--- /dev/null
+++ b/npc/030-03/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-03: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-04/_import.txt b/npc/030-04/_import.txt
new file mode 100644
index 0000000..af92695
--- /dev/null
+++ b/npc/030-04/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-04: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-05/_import.txt b/npc/030-05/_import.txt
new file mode 100644
index 0000000..194df71
--- /dev/null
+++ b/npc/030-05/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-05: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-06/_import.txt b/npc/030-06/_import.txt
new file mode 100644
index 0000000..c7a9873
--- /dev/null
+++ b/npc/030-06/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-06: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-07/_import.txt b/npc/030-07/_import.txt
new file mode 100644
index 0000000..3187970
--- /dev/null
+++ b/npc/030-07/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-07: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-08/_import.txt b/npc/030-08/_import.txt
new file mode 100644
index 0000000..a8e16c8
--- /dev/null
+++ b/npc/030-08/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-08: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-09/_import.txt b/npc/030-09/_import.txt
new file mode 100644
index 0000000..f35f313
--- /dev/null
+++ b/npc/030-09/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-09: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-10/_import.txt b/npc/030-10/_import.txt
new file mode 100644
index 0000000..1fbf111
--- /dev/null
+++ b/npc/030-10/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-10: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-11/_import.txt b/npc/030-11/_import.txt
new file mode 100644
index 0000000..126df6c
--- /dev/null
+++ b/npc/030-11/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-11: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-12/_import.txt b/npc/030-12/_import.txt
new file mode 100644
index 0000000..2625962
--- /dev/null
+++ b/npc/030-12/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-12: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-13/_import.txt b/npc/030-13/_import.txt
new file mode 100644
index 0000000..eea0317
--- /dev/null
+++ b/npc/030-13/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-13: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-14/_import.txt b/npc/030-14/_import.txt
new file mode 100644
index 0000000..c0ace41
--- /dev/null
+++ b/npc/030-14/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-14: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-15/_import.txt b/npc/030-15/_import.txt
new file mode 100644
index 0000000..e7ea911
--- /dev/null
+++ b/npc/030-15/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-15: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-16/_import.txt b/npc/030-16/_import.txt
new file mode 100644
index 0000000..cef5593
--- /dev/null
+++ b/npc/030-16/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-16: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-17/_import.txt b/npc/030-17/_import.txt
new file mode 100644
index 0000000..dc70023
--- /dev/null
+++ b/npc/030-17/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-17: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-18/_import.txt b/npc/030-18/_import.txt
new file mode 100644
index 0000000..e754c67
--- /dev/null
+++ b/npc/030-18/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-18: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-19/_import.txt b/npc/030-19/_import.txt
new file mode 100644
index 0000000..99ee7af
--- /dev/null
+++ b/npc/030-19/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-19: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-20/_import.txt b/npc/030-20/_import.txt
new file mode 100644
index 0000000..83d2afc
--- /dev/null
+++ b/npc/030-20/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-20: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-21/_import.txt b/npc/030-21/_import.txt
new file mode 100644
index 0000000..fb64664
--- /dev/null
+++ b/npc/030-21/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-21: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-22/_import.txt b/npc/030-22/_import.txt
new file mode 100644
index 0000000..53b88b3
--- /dev/null
+++ b/npc/030-22/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-22: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-23/_import.txt b/npc/030-23/_import.txt
new file mode 100644
index 0000000..10475c6
--- /dev/null
+++ b/npc/030-23/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-23: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-24/_import.txt b/npc/030-24/_import.txt
new file mode 100644
index 0000000..c506064
--- /dev/null
+++ b/npc/030-24/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-24: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-25/_import.txt b/npc/030-25/_import.txt
new file mode 100644
index 0000000..c40f6fc
--- /dev/null
+++ b/npc/030-25/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-25: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-26/_import.txt b/npc/030-26/_import.txt
new file mode 100644
index 0000000..9b4a01a
--- /dev/null
+++ b/npc/030-26/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-26: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-27/_import.txt b/npc/030-27/_import.txt
new file mode 100644
index 0000000..78720ab
--- /dev/null
+++ b/npc/030-27/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-27: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-28/_import.txt b/npc/030-28/_import.txt
new file mode 100644
index 0000000..c816a20
--- /dev/null
+++ b/npc/030-28/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-28: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-29/_import.txt b/npc/030-29/_import.txt
new file mode 100644
index 0000000..afc079a
--- /dev/null
+++ b/npc/030-29/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-29: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-30/_import.txt b/npc/030-30/_import.txt
new file mode 100644
index 0000000..402cadd
--- /dev/null
+++ b/npc/030-30/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-30: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-31/_import.txt b/npc/030-31/_import.txt
new file mode 100644
index 0000000..5c9091d
--- /dev/null
+++ b/npc/030-31/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-31: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-32/_import.txt b/npc/030-32/_import.txt
new file mode 100644
index 0000000..85103ca
--- /dev/null
+++ b/npc/030-32/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-32: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-33/_import.txt b/npc/030-33/_import.txt
new file mode 100644
index 0000000..1730f57
--- /dev/null
+++ b/npc/030-33/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-33: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-34/_import.txt b/npc/030-34/_import.txt
new file mode 100644
index 0000000..5940e25
--- /dev/null
+++ b/npc/030-34/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-34: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-35/_import.txt b/npc/030-35/_import.txt
new file mode 100644
index 0000000..d732c55
--- /dev/null
+++ b/npc/030-35/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-35: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-36/_import.txt b/npc/030-36/_import.txt
new file mode 100644
index 0000000..478294a
--- /dev/null
+++ b/npc/030-36/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-36: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-37/_import.txt b/npc/030-37/_import.txt
new file mode 100644
index 0000000..0aea561
--- /dev/null
+++ b/npc/030-37/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-37: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-38/_import.txt b/npc/030-38/_import.txt
new file mode 100644
index 0000000..0f21bac
--- /dev/null
+++ b/npc/030-38/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-38: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-39/_import.txt b/npc/030-39/_import.txt
new file mode 100644
index 0000000..ead4237
--- /dev/null
+++ b/npc/030-39/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-39: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-40/_import.txt b/npc/030-40/_import.txt
new file mode 100644
index 0000000..31538f9
--- /dev/null
+++ b/npc/030-40/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-40: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-41/_import.txt b/npc/030-41/_import.txt
new file mode 100644
index 0000000..6625938
--- /dev/null
+++ b/npc/030-41/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-41: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-42/_import.txt b/npc/030-42/_import.txt
new file mode 100644
index 0000000..f9857cb
--- /dev/null
+++ b/npc/030-42/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-42: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-43/_import.txt b/npc/030-43/_import.txt
new file mode 100644
index 0000000..bb54398
--- /dev/null
+++ b/npc/030-43/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-43: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-44/_import.txt b/npc/030-44/_import.txt
new file mode 100644
index 0000000..d5d7a12
--- /dev/null
+++ b/npc/030-44/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-44: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-45/_import.txt b/npc/030-45/_import.txt
new file mode 100644
index 0000000..373d545
--- /dev/null
+++ b/npc/030-45/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-45: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-46/_import.txt b/npc/030-46/_import.txt
new file mode 100644
index 0000000..6fc385d
--- /dev/null
+++ b/npc/030-46/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-46: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-47/_import.txt b/npc/030-47/_import.txt
new file mode 100644
index 0000000..41b8427
--- /dev/null
+++ b/npc/030-47/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-47: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-48/_import.txt b/npc/030-48/_import.txt
new file mode 100644
index 0000000..7b313e4
--- /dev/null
+++ b/npc/030-48/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-48: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-49/_import.txt b/npc/030-49/_import.txt
new file mode 100644
index 0000000..cd33348
--- /dev/null
+++ b/npc/030-49/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-49: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-50/_import.txt b/npc/030-50/_import.txt
new file mode 100644
index 0000000..b0dfe31
--- /dev/null
+++ b/npc/030-50/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-50: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-51/_import.txt b/npc/030-51/_import.txt
new file mode 100644
index 0000000..00017f4
--- /dev/null
+++ b/npc/030-51/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-51: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-52/_import.txt b/npc/030-52/_import.txt
new file mode 100644
index 0000000..06af666
--- /dev/null
+++ b/npc/030-52/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-52: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-53/_import.txt b/npc/030-53/_import.txt
new file mode 100644
index 0000000..a21b3c5
--- /dev/null
+++ b/npc/030-53/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-53: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-54/_import.txt b/npc/030-54/_import.txt
new file mode 100644
index 0000000..03ee139
--- /dev/null
+++ b/npc/030-54/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-54: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-55/_import.txt b/npc/030-55/_import.txt
new file mode 100644
index 0000000..7771137
--- /dev/null
+++ b/npc/030-55/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-55: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-56/_import.txt b/npc/030-56/_import.txt
new file mode 100644
index 0000000..afea9fc
--- /dev/null
+++ b/npc/030-56/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-56: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-57/_import.txt b/npc/030-57/_import.txt
new file mode 100644
index 0000000..241e292
--- /dev/null
+++ b/npc/030-57/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-57: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-58/_import.txt b/npc/030-58/_import.txt
new file mode 100644
index 0000000..39423ae
--- /dev/null
+++ b/npc/030-58/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-58: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-59/_import.txt b/npc/030-59/_import.txt
new file mode 100644
index 0000000..2b61c13
--- /dev/null
+++ b/npc/030-59/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-59: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-60/_import.txt b/npc/030-60/_import.txt
new file mode 100644
index 0000000..009984d
--- /dev/null
+++ b/npc/030-60/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-60: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-61/_import.txt b/npc/030-61/_import.txt
new file mode 100644
index 0000000..18f8233
--- /dev/null
+++ b/npc/030-61/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-61: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-62/_import.txt b/npc/030-62/_import.txt
new file mode 100644
index 0000000..021463a
--- /dev/null
+++ b/npc/030-62/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-62: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-63/_import.txt b/npc/030-63/_import.txt
new file mode 100644
index 0000000..420417b
--- /dev/null
+++ b/npc/030-63/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-63: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-64/_import.txt b/npc/030-64/_import.txt
new file mode 100644
index 0000000..176e5b8
--- /dev/null
+++ b/npc/030-64/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-64: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-65/_import.txt b/npc/030-65/_import.txt
new file mode 100644
index 0000000..6130759
--- /dev/null
+++ b/npc/030-65/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-65: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-66/_import.txt b/npc/030-66/_import.txt
new file mode 100644
index 0000000..8fbbe80
--- /dev/null
+++ b/npc/030-66/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-66: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-67/_import.txt b/npc/030-67/_import.txt
new file mode 100644
index 0000000..14ab58a
--- /dev/null
+++ b/npc/030-67/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-67: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-68/_import.txt b/npc/030-68/_import.txt
new file mode 100644
index 0000000..9ba3c39
--- /dev/null
+++ b/npc/030-68/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-68: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-69/_import.txt b/npc/030-69/_import.txt
new file mode 100644
index 0000000..d1f59f3
--- /dev/null
+++ b/npc/030-69/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-69: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-70/_import.txt b/npc/030-70/_import.txt
new file mode 100644
index 0000000..898077f
--- /dev/null
+++ b/npc/030-70/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-70: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-71/_import.txt b/npc/030-71/_import.txt
new file mode 100644
index 0000000..a207c7d
--- /dev/null
+++ b/npc/030-71/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-71: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-72/_import.txt b/npc/030-72/_import.txt
new file mode 100644
index 0000000..644928a
--- /dev/null
+++ b/npc/030-72/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-72: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-73/_import.txt b/npc/030-73/_import.txt
new file mode 100644
index 0000000..4063b15
--- /dev/null
+++ b/npc/030-73/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-73: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-74/_import.txt b/npc/030-74/_import.txt
new file mode 100644
index 0000000..a4ef70c
--- /dev/null
+++ b/npc/030-74/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-74: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/030-75/_import.txt b/npc/030-75/_import.txt
new file mode 100644
index 0000000..2b488d9
--- /dev/null
+++ b/npc/030-75/_import.txt
@@ -0,0 +1,2 @@
+// Map 030-75: Mazes and Dragons
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/031-0/_import.txt b/npc/031-0/_import.txt
new file mode 100644
index 0000000..21649ed
--- /dev/null
+++ b/npc/031-0/_import.txt
@@ -0,0 +1,5 @@
+// Map 031-0: Aethyr
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/031-0/_mobs.txt",
+"npc/031-0/_warps.txt",
+"npc/031-0/boss.txt",
diff --git a/npc/031-0/_mobs.txt b/npc/031-0/_mobs.txt
new file mode 100644
index 0000000..b62a927
--- /dev/null
+++ b/npc/031-0/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 031-0: Aethyr mobs
+031-0,95,82,91,101 monster Ice Maggot 1012,32,30000,30000
+031-0,118,59,36,33 monster Moggun 1070,8,30000,30000
+031-0,58,53,44,35 monster Water Fairy 1184,8,30000,30000
+031-0,104,120,30,30 monster Santa Slime 1096,6,30000,30000
+031-0,46,34,5,5 monster Wolvern 1037,2,10000,10000
+031-0,91,112,10,7 monster Archant 1026,2,30000,30000
diff --git a/npc/031-0/_warps.txt b/npc/031-0/_warps.txt
new file mode 100644
index 0000000..9026149
--- /dev/null
+++ b/npc/031-0/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 031-0: Aethyr warps
+031-0,127,45,0 warp #031-0_127_45 0,0,031-1,68,31
+031-0,25,60,0 warp #031-0_25_60 0,0,031-1,25,26
diff --git a/npc/031-0/boss.txt b/npc/031-0/boss.txt
new file mode 100644
index 0000000..efd2425
--- /dev/null
+++ b/npc/031-0/boss.txt
@@ -0,0 +1,30 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Spider Queen Boss
+
+031-0,0,0,0 script #BossCtrl_031-0 NPC_HIDDEN,{
+ end;
+
+// Respawn every half hour
+OnTimer1800000:
+ stopnpctimer;
+OnInit:
+ .@m = monster("031-0", 149, 123, strmobinfo(1, Tengu), Tengu, 1, "#BossCtrl_031-0::OnBossDeath");
+ set_aggro(.@m, MD_BOSS);
+ end;
+
+OnBossDeath:
+ initnpctimer;
+ .@party=getcharid(1);
+ if (.@party > 0) {
+ mapannounce getmap(), "Boss deafeated by Party: " + getpartyname(.@party), bc_all;
+ } else {
+ mapannounce getmap(), "Boss deafeated by: " + strcharinfo(0), bc_all;
+ }
+ getexp 0, 1000+BaseLevel*8+JobLevel;
+ fix_mobkill(Tengu);
+ end;
+
+}
diff --git a/npc/031-1/_import.txt b/npc/031-1/_import.txt
new file mode 100644
index 0000000..9de05ba
--- /dev/null
+++ b/npc/031-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 031-1: Aethyr
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/031-1/_mobs.txt",
+"npc/031-1/_warps.txt",
diff --git a/npc/031-1/_mobs.txt b/npc/031-1/_mobs.txt
new file mode 100644
index 0000000..61c846d
--- /dev/null
+++ b/npc/031-1/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 031-1: Aethyr mobs
+031-1,56,62,52,44 monster Pollet 1219,24,90000,30000
+031-1,68,82,43,23 monster Iced Fluffy 1041,13,60000,30000
+031-1,89,40,15,16 monster White Slime 1094,6,90000,30000
+031-1,24,59,10,44 monster Wind Fairy 1185,4,75000,30000
+031-1,56,48,29,23 monster Santa Slime 1096,7,30000,30000
+031-1,24,23,3,4 monster Whirly Bird 1232,1,300000,300000
diff --git a/npc/031-1/_warps.txt b/npc/031-1/_warps.txt
new file mode 100644
index 0000000..88cef18
--- /dev/null
+++ b/npc/031-1/_warps.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 031-1: Aethyr warps
+031-1,68,30,0 warp #031-1_68_30 0,0,031-0,127,46
+031-1,58,104,0 warp #031-1_58_104 0,0,023-4,24,21
+031-1,25,25,0 warp #031-1_25_25 0,0,031-0,25,61
+031-1,56,47,0 warp #031-1_56_47 0,0,031-7,56,51
+031-1,84,58,0 warp #031-1_84_58 0,0,031-5,95,48
+031-1,74,85,0 warp #031-1_74_85 0,0,031-2,74,88
diff --git a/npc/031-2/_import.txt b/npc/031-2/_import.txt
new file mode 100644
index 0000000..39fc907
--- /dev/null
+++ b/npc/031-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 031-2: Aethyr Inn
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/031-2/_warps.txt",
+"npc/031-2/tyrca.txt",
diff --git a/npc/031-2/_warps.txt b/npc/031-2/_warps.txt
new file mode 100644
index 0000000..eac0c1a
--- /dev/null
+++ b/npc/031-2/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 031-2: Aethyr Inn warps
+031-2,75,89,0 warp #031-2_75_89 1,0,031-1,74,86
diff --git a/npc/031-2/tyrca.txt b/npc/031-2/tyrca.txt
new file mode 100644
index 0000000..a9125f2
--- /dev/null
+++ b/npc/031-2/tyrca.txt
@@ -0,0 +1,66 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Questmaker Handbook 14.0 (F = Favorable)
+
+031-2,77,77,0 script Tyrca NPC_SAVIOR_F,{
+ .@q = getq(AethyrQuest_Tyrca);
+ mesn;
+ mesq l("Welcome to Aethyr, strange traveler. I am a collector of rare gemstones.");
+ if (REBIRTH || BaseLevel > 90) {
+ if (.@q == 0 && countitem(LightGreenDiamond)) {
+ next;
+ mesn;
+ mesq l("...This %s you have there. I haven't seen one for a while.", getitemlink(LightGreenDiamond));
+ next;
+ mesn;
+ mesq l("I offer you either %s GP, or %s Monster Points for it. What do you say?", fnum(100000), fnum(40000));
+ next;
+ select
+ l("Sorry, I'll keep my gem."),
+ l("Sure, gimme the Gold."),
+ l("Sure, gimme the Monster Points."),
+ rif(REBIRTH, l("Can you give me half the gold and half the monster points?"));
+ mes "";
+ switch (@menu) {
+ case 2:
+ delitem LightGreenDiamond, 1;
+ Zeny+=100000;
+ break;
+ case 3:
+ delitem LightGreenDiamond, 1;
+ Mobpt+=40000;
+ break;
+ case 4:
+ if (!REBIRTH) {
+ atcommand("@block "+strcharinfo(0)); end;
+ }
+ delitem LightGreenDiamond, 1;
+ Zeny+=50000;
+ Mobpt+=20000;
+ break;
+ default:
+ close;
+ }
+ getexp 0, 5000;
+ setq AethyrQuest_Tyrca, 1;
+ mesn;
+ mesq l("Please doing business with you.");
+ }
+ }
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, SilkRobe);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADTOP, BunnyEars);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 9);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 18);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/031-3/_import.txt b/npc/031-3/_import.txt
new file mode 100644
index 0000000..18ac517
--- /dev/null
+++ b/npc/031-3/_import.txt
@@ -0,0 +1,2 @@
+// Map 031-3: Aethyr Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/031-4/_import.txt b/npc/031-4/_import.txt
new file mode 100644
index 0000000..dd3355e
--- /dev/null
+++ b/npc/031-4/_import.txt
@@ -0,0 +1,2 @@
+// Map 031-4: Aethyr Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/031-5/_import.txt b/npc/031-5/_import.txt
new file mode 100644
index 0000000..89c400a
--- /dev/null
+++ b/npc/031-5/_import.txt
@@ -0,0 +1,4 @@
+// Map 031-5: Aethyr Armory
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/031-5/_warps.txt",
+"npc/031-5/beatrice.txt",
diff --git a/npc/031-5/_warps.txt b/npc/031-5/_warps.txt
new file mode 100644
index 0000000..ed421a8
--- /dev/null
+++ b/npc/031-5/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 031-5: Aethyr Armory warps
+031-5,96,49,0 warp #031-5_96_49 1,0,031-1,84,59
diff --git a/npc/031-5/beatrice.txt b/npc/031-5/beatrice.txt
new file mode 100644
index 0000000..2c99443
--- /dev/null
+++ b/npc/031-5/beatrice.txt
@@ -0,0 +1,187 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Questmaker Handbook 14.0 (F = Favorable)
+
+031-5,97,41,0 script Beatrice NPC_SAVIOR_F,{
+ // Unlocks upon: Rebirth
+ if (!REBIRTH) {
+ mesn;
+ mesq l("Hey there, %s. What I deal with is too much for your weak bones. So please come again after you are reborn, then I'll have something for you.", get_race());
+ close;
+ }
+ mesn;
+ mesq l("Hey there, %s. I deal with ultra rare items. If the Powers That Be decided you're out of luck, well, I am here to help you to bypass it.", get_race());
+ next;
+ mesn;
+ mesq l("For that, I use a special currency - Aethyr points. You can trade rare items for points. I also sell one point for %d GP. So, what will it me?", .price);
+ next;
+
+L_Loop:
+ mesc l("Aethyr Points: %s", fnum(AETHYR_PTS)), 2;
+ select
+ l("Nothing right now."),
+ l("Buying rares"),
+ l("Selling rares"),
+ l("Purchasing points");
+ mes "";
+ switch (@menu) {
+ case 1:
+ closeclientdialog;
+ close;
+ case 2:
+ openshop;
+ closedialog; // Top-Level exit
+ end;
+ case 3:
+ goto L_Seller;
+ case 4:
+ mesc l("How many points? (0-%d)", Zeny/.price);
+ input .@points, 0, Zeny/.price;
+ if (.@points * .price > Zeny)
+ .@points = 0;
+ Zeny-=.price*.@points;
+ AETHYR_PTS+=.@points;
+ mesc l("Done!"), 2;
+ break;
+ }
+ clear;
+ goto L_Loop;
+
+L_Seller:
+ .@id = 0;
+ .@rt = 0;
+ .@pc = 0;
+ .@am = 0;
+
+ .@mr$=sprintf("%d.%02d", .ratio/100, .ratio%100);
+ mesc l("Only items with max %s%% drop rate are accepted!", .@mr$), 1;
+ .@id = requestitem();
+ if (.@id < 1) goto L_Cont;
+ if (checkbound(.@id)) goto L_Cont;
+ .@rt = getiteminfo(.@id, ITEMINFO_MAXCHANCE);
+ // Some items are... special. Refuse them.
+ if (.@rt == 0)
+ .@rt=10000;
+ if (array_find(.blacklist, .@id) >= 0)
+ .@rt=10000;
+
+ .@mb$=sprintf("%d.%02d", .@rt/100, .@rt%100);
+ if (.@rt > .ratio) {
+ mesc l("This item drop rate is %s%%, which exceeds the threshold of %s%%.", .@mb$, .@mr$);
+ next;
+ goto L_Cont;
+ }
+ debugmes "Ratio %s", .@mb$;
+ .@pc = 1+.ratio-(.@rt); // The reverse, so it goes from 1 to ratio
+ .@pc *= 12; // Each 0.01% chance gives a bonus of 12 points
+ mesn;
+ mesq l("I offer you %s Aethyr Points per unit of %s. How many do you wish to sell? (0-%d)", fnum(.@pc), getitemlink(.@id), countitem(.@id));
+ input .@am, 0, countitem(.@id);
+ if (.@am < 1)
+ goto L_Cont;
+ delitem .@id, .@am;
+ AETHYR_PTS+=.@pc;
+ // FALLTHROUGH
+
+L_Cont:
+ clear;
+ goto L_Loop;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, CottonSkirt);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SaviorArmor);
+ setunitdata(.@npcId, UDT_HEADTOP, TrapperHat);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 9);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 18);
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ .price = 520; // Loosely ased on Crafty Wings price
+ .ratio = 100; // Max drop rate
+ // Some items can be obtained by "other means" and thus, their value cannot be
+ // reliably calculated
+ setarray .blacklist, GuildCoin, WarlordPlate, Lightsaber, PowerfulLightsaber, Emperium, PinkieCrystal, PinkieHat, IronIngot, Kanabo, WarlordHelmet, Kitana, LeatherGloves, SacredManaPotion, EverburnPowder, WoodenSword, MoubooFigurine, FancyHat, LOFCoin, JeansShorts, MinerHat, LeatherShield, Boots, CommonCarp, IcedBottle, ShortBow, CottonShirt, MinerGloves, LoveLetter, LegendaryTortuga, ChocolateDye;
+
+ tradertype(NST_CUSTOM);
+ // Okay, so for the catalog
+ /* Some important prices
+ Crystallized Maggot - 1,200 pts
+ Light Green Diamond - 1,176 pts
+ Amethyst - 384 pts
+ TL;DR From 12 to 1200 pts */
+
+ // Rare equips
+ sellitem HeartNecklace, 7500;
+ sellitem MoubiHat, 7500;
+ sellitem BloodyMoubooHat, 7000;
+ sellitem AlphaMoubooHat, 6500;
+ sellitem LightRing, 6500;
+ sellitem ThetaRing, 6500;
+ sellitem MoubooHat, 6000;
+ sellitem AntlersHat, 6000;
+ sellitem FluffyHat, 6000;
+ sellitem ShroomHat, 6000;
+ sellitem CaveSnakeHat, 6000;
+ sellitem SantaBeardHat, 6000;
+ sellitem MushHat, 6000;
+ sellitem ForestShroomHat, 6000;
+ sellitem WickedShroomHat, 6000;
+ sellitem MoonshroomHat, 6000;
+ sellitem TerraniteMask, 6000;
+ sellitem OperaMask, 6000;
+ sellitem DragonStar, 6000;
+ sellitem Kanabo, 6000;
+ sellitem FourLeafClover, 6000;
+ sellitem IceGladius, 6000;
+ sellitem CursedScythe, 6000;
+ sellitem PinkieHat, 5500;
+ sellitem Setzer, 5500;
+
+ // Rare non-equips are cheaper
+ sellitem Bloodstone, 5000;
+ sellitem Butterfly, 5000;
+ sellitem CrystallizedMaggot, 5000;
+ sellitem PirateTreasureMap, 5000;
+ sellitem BlueManaPearl, 5000;
+ sellitem DesertTablet, 5000;
+ sellitem LavaManaPearl, 5000;
+ sellitem LightGreenDiamond, 5000;
+ sellitem BlackPearl, 5000;
+
+ // "Kinda generic"
+ sellitem BanditPants, 2500;
+ sellitem CentaurSpear, 2500;
+ sellitem DarkDesertMushroom, 2500;
+ sellitem SkullMask, 2500;
+ sellitem BunnyEars, 2500;
+ //sellitem TerraniteBlueprint, 2500;
+ sellitem Quill, 2400;
+ sellitem CopperKey, 2400;
+ sellitem SilverMirror, 2400;
+ sellitem GoldenApple, 2400;
+ sellitem SaxsoKey, 1200;
+
+ // Not drops
+ sellitem StrangeCoin, 1000;
+ sellitem BottleOfDivineWater, 600;
+ sellitem Curshroom, 300;
+ sellitem Coal, 250;
+ end;
+
+OnCountFunds:
+ setcurrency(AETHYR_PTS);
+ end;
+
+/* @price is total cost. @points is if we accept two items as currency. */
+OnPayFunds:
+ if( AETHYR_PTS < @price )
+ end;
+ AETHYR_PTS -= @price;
+ purchaseok();
+ end;
+
+}
+
diff --git a/npc/031-6/_import.txt b/npc/031-6/_import.txt
new file mode 100644
index 0000000..47b9d7b
--- /dev/null
+++ b/npc/031-6/_import.txt
@@ -0,0 +1,2 @@
+// Map 031-6: Aethyr Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/031-7/_import.txt b/npc/031-7/_import.txt
new file mode 100644
index 0000000..dfa82e0
--- /dev/null
+++ b/npc/031-7/_import.txt
@@ -0,0 +1,4 @@
+// Map 031-7: Aethyr Townhall
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/031-7/_warps.txt",
+"npc/031-7/tametomo.txt",
diff --git a/npc/031-7/_warps.txt b/npc/031-7/_warps.txt
new file mode 100644
index 0000000..2a08698
--- /dev/null
+++ b/npc/031-7/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 031-7: Aethyr Townhall warps
+031-7,56,52,0 warp #031-7_56_52 0,0,031-1,56,48
diff --git a/npc/031-7/tametomo.txt b/npc/031-7/tametomo.txt
new file mode 100644
index 0000000..fcd314f
--- /dev/null
+++ b/npc/031-7/tametomo.txt
@@ -0,0 +1,87 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Questmaker Handbook 14.0 (F = Favorable)
+
+031-7,76,49,2 script Tametomo NPC_SAVIOR,{
+ if (BaseLevel < 90) {
+ mesc l("The wizard seems busy. He ignores you.");
+ close;
+ }
+ .@q = getq(AethyrQuest_Tametomo);
+ .@bt = (.@q & 1);
+ .@lp = (.@q & 2);
+
+ // Generate the dialog
+ .@m$=" ";
+ if (!.@bt)
+ .@m$+="unless you have a "+getitemlink(Butterfly)+",";
+ if (!.@q)
+ .@m$+=" or ";
+ if (!.@lp)
+ .@m$+="unless you have a "+getitemlink(LavaManaPearl)+",";
+
+ mesn;
+ mesq l("Go away,%s can't you see I'm busy?", .@m$);
+
+ // Generate the menu
+ if (!.@bt && countitem(Butterfly))
+ .@showbt=true;
+ if (!.@lp && countitem(LavaManaPearl))
+ .@showlp=true;
+ if (!.@showbt && !.@showlp)
+ close;
+
+ // Display the menu if pertinent
+ next;
+ select
+ l("Sure, sure, I'm going..."),
+ rif(.@showbt, l("I have a butterfly.")),
+ rif(.@showlp, l("I have a lava mana pearl."));
+ mes "";
+ .@opt = @menu;
+ switch (@menu) {
+ case 2:
+ case 3:
+ mesn;
+ mesq l("%s Monster Points, and a %s. That's my final offer.", fnum(35000), getitemlink(EquipmentBlueprintE));
+ next;
+ inventoryplace EquipmentBlueprintE, 1;
+ mesc l("Accept offer?");
+
+ if (askyesno() == ASK_NO) break;
+
+ if (.@opt == 2 && !.@bt) {
+ delitem Butterfly, 1;
+ setq AethyrQuest_Tametomo, .@q | 1;
+ Mobpt+=35000;
+ getitem EquipmentBlueprintE, 1;
+ }
+
+ if (.@opt == 3 && !.@lp) {
+ delitem LavaManaPearl, 1;
+ setq AethyrQuest_Tametomo, .@q | 2;
+ Mobpt+=35000;
+ getitem EquipmentBlueprintE, 1;
+ }
+
+ mesn;
+ mesq l("Hmpf. A pleasure doing business with you.");
+ }
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, GraduationRobe);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, ManaGloves);
+ setunitdata(.@npcId, UDT_HEADTOP, ImperialCrown);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 9);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 18);
+ npcsit;
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/031-8/_import.txt b/npc/031-8/_import.txt
new file mode 100644
index 0000000..9118158
--- /dev/null
+++ b/npc/031-8/_import.txt
@@ -0,0 +1,2 @@
+// Map 031-8: Aethyr Indoors
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/031-9/_import.txt b/npc/031-9/_import.txt
new file mode 100644
index 0000000..4643e29
--- /dev/null
+++ b/npc/031-9/_import.txt
@@ -0,0 +1,2 @@
+// Map 031-9: Aethyr Stables
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
diff --git a/npc/032-1/_import.txt b/npc/032-1/_import.txt
new file mode 100644
index 0000000..35ba4a6
--- /dev/null
+++ b/npc/032-1/_import.txt
@@ -0,0 +1,5 @@
+// Map 032-1: Past Tulimshar
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/032-1/_mobs.txt",
+"npc/032-1/_warps.txt",
+"npc/032-1/episode.txt",
diff --git a/npc/032-1/_mobs.txt b/npc/032-1/_mobs.txt
new file mode 100644
index 0000000..b297b35
--- /dev/null
+++ b/npc/032-1/_mobs.txt
@@ -0,0 +1,11 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 032-1: Past Tulimshar mobs
+032-1,107,88,69,78 monster Duck 1029,12,30000,20000
+032-1,84,52,19,37 monster Croc 1006,5,35000,90000
+032-1,44,171,2,4 monster Crocotree 1010,2,5000,150000
+032-1,104,119,22,41 monster Little Blub 1007,7,35000,150000
+032-1,0,0,0,0 monster Maggot 1030,65,35000,450000
+032-1,104,200,63,36 monster Giant Maggot 1031,4,30000,20000
+032-1,143,214,37,29 monster Red Scorpion 1072,11,35000,120000
+032-1,0,0,0,0 monster Desert Bandit 1124,12,85000,50000
+032-1,0,0,0,0 monster Little Red Slime 1234,8,5000,2000
diff --git a/npc/032-1/_warps.txt b/npc/032-1/_warps.txt
new file mode 100644
index 0000000..d7e2cb9
--- /dev/null
+++ b/npc/032-1/_warps.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 032-1: Past Tulimshar warps
+032-1,53,108,0 warp #032-1_53_108 0,0,032-2,40,21
+032-1,53,126,0 script #032-1_53_126 NPC_HIDDEN,1,0,{
+ end;
+OnTouch:
+ slide 59,127; end;
+}
diff --git a/npc/032-1/episode.txt b/npc/032-1/episode.txt
new file mode 100644
index 0000000..98a1503
--- /dev/null
+++ b/npc/032-1/episode.txt
@@ -0,0 +1,612 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Part of the Doctor's Quest.
+
+// Elli is capable to use magic without a mana stone, which puts her on the same
+// level as the Moubootaur and the Mana Source.
+032-1,58,129,0 script Elli NPC_ELLI,{
+ .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
+ .@x = getq3(LoFQuest_EPISODE);
+ .@banu_prize = (.@x & 8);
+ .@eurni_info = (.@x & 16);
+ .@razor_info = (.@x & 32);
+ .@ellis_info = (.@x & 64);
+ if (!.@q && getq3(LoFQuest_EPISODE)) {
+ mesn;
+ mesq l("Hi. Do you need something?");
+ next;
+ select
+ l("No, nothing. Sorry."),
+ l("I need to enter.");
+ mes "";
+ if (@menu == 1) {
+ closeclientdialog;
+ close;
+ }
+ if (!.@ellis_info) {
+ mesn;
+ mesq l("You're stupid. Leave.");
+ close;
+ }
+ if (!.@razor_info) {
+ mesn;
+ mesq l("You don't need to talk with any researcher inside, so why bother? Leave!");
+ close;
+ }
+ if (!.@banu_prize) {
+ mesn;
+ mesq l("And who would you be? Another bandit? Leave!");
+ close;
+ }
+ if (!.@eurni_info) {
+ mesn;
+ mesq l("Why? You are most definitely at the wrong place. Leave!");
+ close;
+ }
+ mesn;
+ mesq l("Eh... Sure, why not. What could go wrong, after all.");
+ setq2 LoFQuest_EPISODE, 1;
+ setq3 LoFQuest_EPISODE, 0;
+ close;
+ }
+ npctalk3 l("Hi.");
+ end;
+
+OnFin:
+ sc_start(SC_STUN, 20000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK);
+ setpcblock(PCBLOCK_SOFT, true);
+ npctalk3 l("I am Elli. One of the Originals.");
+ sleep2(4000);
+ npctalk3 l("The supreme guardian of the \"Talpan\" creatures, such as you.");
+ sleep2(4000);
+ npctalk3 l("From the time you come from, the Moubootaur has escaped its chains.");
+ sleep2(4000);
+ npctalk3 l("The Mana Source, supreme guardian of the world itself, has already took providences.");
+ sleep2(4000);
+ npctalk3 l("The Moubootaur is evil. Defeat him and protect the world. Now...");
+ sleep2(4000);
+ npctalk3 l("Return to your time!");
+ setpcblock(PCBLOCK_SOFT, false);
+ sc_end SC_STUN;
+ sleep2(1500);
+ warp "017-3", 72, 69;
+ // Nothing else needs to be done, quest was closed earlier
+ // So we just fix your bank account
+ BankVault += #MerchantBank;
+ #MerchantBank = 0;
+ end;
+
+OnInit:
+ .distance=5;
+ end;
+}
+
+032-1,59,126,0 script #InnerEP NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
+ if (getq(LoFQuest_EPISODE) > 15 || .@q)
+ slide 52, 127;
+ else
+ dispbottom l("This door is locked.");
+ end;
+}
+
+032-1,68,54,0 script Adrian NPC_PLAYER,{
+ .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
+ if (.@q) {
+ npctalk3 l("Hi. Are you here to get luggage?");
+ } else {
+ mesn;
+ mesq l("Hi. Are you here to get luggage?");
+ next;
+ select
+ l("No, sorry."),
+ l("The Red Queen's Party?");
+ mes "";
+ if (@menu == 2) {
+ mesn;
+ mesq l("Is that someone's luggage?");
+ next;
+ mesn;
+ mesq l("No, seriously, you should do these questions to Elli. She is the smartest girl I know, close to the Academy.");
+ setq3 LoFQuest_EPISODE, getq3(LoFQuest_EPISODE) | 64;
+ next;
+ }
+ closeclientdialog;
+ }
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, SailorHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SilkRobe);
+ //setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers); // TODO
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 21);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 11);
+
+ .sex = G_MALE;
+ .distance=5;
+ end;
+}
+
+032-1,45,36,0 script Marikel NPC_PLAYER,{
+ .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
+ if (.@q) {
+ npctalk3 l("Hi. Working on the docks can be hard, but I'm glad I at least get to eat!");
+ } else {
+ mesn;
+ mesq l("Hi. Working on the docks can be hard, but I'm glad I at least get to eat!");
+ do
+ {
+ next;
+ select
+ l("Cool, thanks."),
+ l("Why is it hard?"),
+ l("The wage is high?"),
+ l("Something to eat?"),
+ l("The Queen's Party?");
+ mes "";
+ switch (@menu) {
+ case 2:
+ mesn;
+ mesq l("Because the council has some crazy project which requires me to move crates all the time!");
+ next;
+ mesn;
+ mesq l("Civilian traffic keeps declining but they keep bringing more crates back and forth! Crates filled with rubble!");
+ next;
+ mesn;
+ mesq l("I miss the Red Queen, times were easier when she was around.");
+ break;
+ case 3:
+ mesn;
+ mesq l("Absolutely not, but not may job offers nowadays.");
+ break;
+ case 4:
+ mesn;
+ mesq l("The crops have failed again but the government keeps wasting money on research, for what purposes, as if I would know.");
+ next;
+ mesn;
+ mesq l("Importing food from Hurnscald is expensive, local food is expensive, if you don't have a job you're a dead person. Worse if you need medical aid.");
+ break;
+ case 5:
+ mesn;
+ mesq l("I heard they promised to revive the Red Queen, no idea how and don't care, they don't have money anyway.");
+ break;
+ }
+ } while (@menu != 1);
+ closeclientdialog;
+ }
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, SailorHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SailorShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 21);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 11);
+
+ .sex = G_MALE;
+ .distance=5;
+ end;
+}
+
+032-1,75,46,0 script Joelin NPC_FEMALE,{
+ .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
+ if (.@q) {
+ npctalk3 l("Hi. My ship is about to set sail, we'll try to find somewhere better to live than this ruined place!");
+ } else {
+ mesn;
+ mesq l("Hi. My ship is about to set sail, we'll try to find somewhere better to live than this ruined place!");
+ do
+ {
+ next;
+ select
+ l("Cool, thanks."),
+ l("Somewhere better to live?"),
+ l("Ruined place?"),
+ l("The Queen's Party?");
+ mes "";
+ switch (@menu) {
+ case 2:
+ mesn;
+ mesq l("Yes! We'll sail west, and find legendary lands!");
+ next;
+ mesn;
+ mesq l("And if I end back here, I'll prove the planet is round! This is the perfect plan! %s GP to ride with me TO GLORY!", fnum(3000));
+ next;
+ mesn strcharinfo(0);
+ if (Zeny < 3000)
+ mesq l("I don't have that much money, sorry.");
+ else
+ mesq l("Uh, maybe another time.");
+ next;
+ mesn;
+ mesq l("Your loss!");
+ break;
+ case 3:
+ mesn;
+ mesq l("Where are you from, don't you see all the bandits? Seriously, with these ridiculous plans, the whole continent doomed.");
+ next;
+ mesn;
+ // Be careful with what you wish, Joelin...
+ mesq l("Leave sir Benjamin in charge for a few more years, and nothing will be left of these towns. I hope this council perishes in a fire!");
+ break;
+ case 4:
+ mesn;
+ mesq l("Leave me alone.");
+ break;
+ }
+ } while (@menu != 1);
+ closeclientdialog;
+ }
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, CaptainCap);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SilkRobe);
+ //setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers); // TODO
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 21);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 11);
+
+ .sex = G_FEMALE;
+ .distance=5;
+ end;
+}
+
+032-1,77,46,0 script Harper NPC_PLAYER,{
+ .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
+ npctalk3 l("Hi. My captain believe the world is round, can you believe that?");
+ end;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, SailorHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SailorShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 21);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 11);
+
+ .sex = G_MALE;
+ .distance=5;
+ end;
+}
+
+032-1,112,142,0 script Banu NPC_GLASS_OLD_LADY,{
+ .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
+ if (.@q) {
+ npctalk3 l("Hi. My back hurts!");
+ } else {
+ // Quest can be reset, so no major rewards, not even experience
+ .@x = getq3(LoFQuest_EPISODE);
+ .@met_banu = (.@x & 1);
+ .@ask_apple = (.@x & 2);
+ .@got_apple = (.@x & 4);
+ .@banu_priz = (.@x & 8);
+ if (!.@got_apple) {
+ mesn;
+ mesq l("You won't have any of my vegetables, you scoundrel! Get off my yard!");
+ setq3 LoFQuest_EPISODE, getq3(LoFQuest_EPISODE) | 1;
+ close;
+ } else if (!.@banu_priz) {
+ mesn;
+ mesq l("Oh, thanks, darling; I was starving. Do you need anything?");
+ next;
+ select
+ l("I want the apples back."),
+ l("I'm after the Queen's Party."),
+ l("I want a knife and a bottle of water!");
+ mes "";
+ setq3 LoFQuest_EPISODE, getq3(LoFQuest_EPISODE) | 8;
+ switch (@menu) {
+ case 1:
+ getitem RedApple, 12;
+ mesn;
+ mesq l("Sure, here you go!");
+ close;
+ case 2:
+ getitem SharpKnife, 1;
+ getitem ChickenLeg, 1;
+ mesn;
+ mesq l("They did nothing good! They claim the Platinum Queen was a savior, all lies!");
+ next;
+ mesn;
+ mesq l("We sure flourished at her early years, but the late years were a disaster! Crops were failing way before her death!");
+ next;
+ mesn;
+ mesq l("Don't believe anything they tell you! Here, take this, so you can defend yourself. And some food, now leave.");
+ close;
+ case 3:
+ getitem BottleOfTonoriWater, 1;
+ getitem SmallKnife, 1;
+ mesn;
+ mesq l("Sure, here you go!");
+ close;
+ }
+ close;
+ } else {
+ npctalk3 l("Hi. Thanks for the pie.");
+ }
+ }
+ end;
+
+OnInit:
+ .distance=5;
+ end;
+}
+
+032-1,71,195,0 script Joanna NPC_JOANA,{
+ .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
+ if (.@q) {
+ npctalk3 l("Hi. Come to the bakery!");
+ } else {
+ .@x = getq3(LoFQuest_EPISODE);
+ .@met_banu = (.@x & 1);
+ .@ask_apple = (.@x & 2);
+ .@got_apple = (.@x & 4);
+ .@banu_priz = (.@x & 8);
+ if (.@met_banu && !.@ask_apple) {
+ mesn;
+ mesq l("Hey, you, stranger. I promised Banu a pie, but she is yet to give me the apples.");
+ next;
+ mesn;
+ mesq l("Can you fetch with her? 12 %s.", getitemlink(RedApple));
+ next;
+ select
+ l("Sure!"),
+ l("No, sorry.");
+ mes "";
+ if (@menu == 1) setq3 LoFQuest_EPISODE, .@x | 2;
+ close;
+ } else if (.@ask_apple && !.@got_apple) {
+ mesn;
+ mesq l("Did you brought me 12 %s?", getitemlink(RedApple));
+ if (countitem(RedApple) < 12) close;
+ next;
+ select
+ l("Sure!"),
+ l("No, sorry.");
+ mes "";
+ if (@menu == 2)
+ close;
+ delitem RedApple, 12;
+ setq3 LoFQuest_EPISODE, .@x | 4;
+ mesn;
+ mesq l("Thank you, tell her to come to the bakery at... Actually, nevermind. Just give her this note.");
+ close;
+ } else {
+ mesn;
+ mesq l("Come to the bakery!");
+ close;
+ }
+ }
+ end;
+
+OnInit:
+ .distance=5;
+ end;
+}
+
+032-1,151,201,0 script Eurni NPC_EURNI,{
+ .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
+ if (.@q) {
+ npctalk3 l("Hi. I have questionable items of questionable origins for you.");
+ openshop;
+ } else {
+ mesn;
+ mesq l("Hi. I have questionable items of questionable origins for you.");
+ next;
+ select
+ l("Trade"),
+ l("The Queen's Party?"),
+ l("Not now.");
+ mes "";
+ if (@menu == 1) {
+ openshop;
+ closeclientdialog;
+ }
+ else if (@menu == 2) {
+ mesn;
+ mesq l("I always do shady deals. *cough cough* %s GP.", fnum(500));
+ next;
+ if (askyesno() == ASK_YES && Zeny >= 500) {
+ Zeny-=500;
+ setq3 LoFQuest_EPISODE, getq3(LoFQuest_EPISODE) | 16;
+ mesn;
+ mesq l("They are hidden in the crypts, inside a cave.");
+ next;
+ mesn;
+ mesq l("This conversation never happened.");
+ }
+ }
+ close;
+ }
+ end;
+
+OnInit:
+ sleep(SHOPWAIT);
+ sellitem Bread, getiteminfo(Bread, ITEMINFO_BUYPRICE)*16/10;
+ sellitem Cheese, getiteminfo(Cheese, ITEMINFO_BUYPRICE)*16/10;
+ sellitem ChamomileTea, getiteminfo(ChamomileTea, ITEMINFO_BUYPRICE)*18/10;
+ sellitem BugLeg, getiteminfo(BugLeg, ITEMINFO_BUYPRICE)*192/10;
+ sellitem LazuriteShard, 700;
+ sellitem MaggotSlime, getiteminfo(MaggotSlime, ITEMINFO_BUYPRICE)*192/10;
+ sellitem Coal, getiteminfo(Coal, ITEMINFO_BUYPRICE)*132/10;
+ sellitem Lockpicks, 10000;
+ sellitem IcedBottle, getiteminfo(IcedBottle, ITEMINFO_BUYPRICE)*32/10;
+ sellitem Wurtzite, getiteminfo(Wurtzite, ITEMINFO_BUYPRICE)*164/10;
+ sellitem CopperArmor; // Fair price!
+ sellitem StrangeCoin, 1000000;
+ sellitem WumpusEgg, 99999999;
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+
+// Pay your taxes!
+OnBuyItem:
+ end;
+
+OnSellItem:
+ end;
+}
+
+032-1,140,213,0 script Weellos NPC_LEGACY_GUARD_A,{
+ .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
+ if (!.@q) {
+ mesn;
+ mesq l("Hi. This is a very historic building - the former residence of the red queen no less!");
+ next;
+ select
+ l("Nice! I love history!"),
+ l("I'm looking for the Queen's Party."),
+ l("I hate the Red Queen.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ mesn;
+ mesq l("Yes! History is the best!");
+ break;
+ case 2:
+ mesn;
+ mesq l("You should talk to the Black Razor. He was a researcher, so try the academy.");
+ setq3 LoFQuest_EPISODE, getq3(LoFQuest_EPISODE) | 32;
+ break;
+ case 3:
+ mesn;
+ mesq l("Most do. I'm not sure if all that hatred is justified, but who cares. She is dead, even if her ghost is back.");
+ break;
+ }
+ close;
+ } else {
+ npctalk3 l("Hi. This is a very historic building - the former residence of the red queen no less!");
+ }
+ end;
+
+OnInit:
+ .distance=5;
+ end;
+}
+
+032-1,65,223,0 script Townhall Guard#EP NPC_LEGACY_GUARD_D,{
+ mesn;
+ mesq l("Sorry, but no entry to Townhall under orders of the council head, Benjamin L.");
+ close;
+
+OnInit:
+ .distance=5;
+ end;
+}
+
+032-1,138,126,0 script Market Guard#EP NPC_LEGACY_GUARD_C,{
+ mesn;
+ mesq l("With the wages I receive, you can use this market at your own risk.");
+ close;
+
+OnInit:
+ .distance=5;
+ end;
+}
+
+032-1,40,146,0 script Academy Guard#EP NPC_LEGACY_GUARD_B,{
+ mesn;
+ mesq l("I'm actually paid by the Academy, or there would be no security here.");
+ close;
+
+OnInit:
+ .distance=5;
+ end;
+}
+
+032-1,152,183,0 script Lt. Longburn#EP NPC_LEGACY_LIEUTENANT,{
+ mesn;
+ mesq l("If you have trouble with guards, just bribe them and they'll leave you alone. I asked a few to be fired three years ago, but the council haven't reviewed it yet.");
+ close;
+
+OnInit:
+ .distance=5;
+ end;
+}
+
+032-1,138,152,0 script Begger#EP NPC_SCAMMER,{
+ mesn;
+ mesq l("I was kicked out of home for not paying rent. But I had no choice, it was either to eat or to have a roof...");
+ close;
+
+OnInit:
+ .distance=5;
+ end;
+}
+
+032-1,114,194,0 script Imec#EP NPC_LOF_TRAVMERC,{
+ .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
+ .@x = getq3(LoFQuest_EPISODE);
+ .@met_banu = (.@x & 1);
+ .@ask_apple = (.@x & 2);
+ .@got_apple = (.@x & 4);
+ .@banu_priz = (.@x & 8);
+ .@warez = (!.@q && (.@ask_apple && !.@got_apple));
+ .@apple = 12-countitem(RedApple);
+ mesn;
+ mesq l("Warez?");
+ next;
+ select
+ l("No but thanks."),
+ l("No, loans."),
+ rif(.@warez && .@apple > 0, l("Yes, I need %d apples.", .@apple));
+ mes "";
+ switch (@menu) {
+ case 1:
+ closeclientdialog; break;
+ case 2:
+ mesn;
+ mesc l("To pay in the specified date, we'll charge you %s over the loaned amount. So, how much?", "25%");
+ next;
+ menuint
+ l("I'm sure the Doctor has a trick... No loans, thanks."), 0,
+ rif(#MerchantBank > 1250, l("1,000 GP")), 1000,
+ rif(#MerchantBank > 3125, l("2,500 GP")), 2500,
+ rif(#MerchantBank > 6250, l("5,000 GP")), 5000,
+ rif(#MerchantBank > 12500, l("10,000 GP")), 10000,
+ rif(#MerchantBank > 62500, l("50,000 GP")), 50000,
+ rif(#MerchantBank > 312500, l("250,000 GP")), 250000;
+ mes "";
+ #MerchantBank -= @menuret * 125 / 100;
+ Zeny += @menuret;
+ mesn;
+ mesq l("...As you wish.");
+ break;
+ case 3:
+ // Inflation: 400%
+ // Plus a discount for buying many at once
+ .@price = .@apple * getiteminfo(RedApple, ITEMINFO_BUYPRICE) * 4 + (120 - (.@apple*10));
+ mesn;
+ mesq l("That'll be %s GP.", fnum(.@price));
+ if (Zeny < .@price) break;
+ next;
+ if (askyesno() == ASK_NO) break;
+ Zeny -= .@price;
+ getitem RedApple, .@apple;
+ mesn;
+ mesq l("My pleasure.");
+ }
+ close;
+
+OnInit:
+ .distance=5;
+ end;
+}
+// NPC_OMAR NPC_KADIYA NPC_SASHA
+
+// Omatt (NPC_OMAR) swears to make a large donation to the Academy
+// shall Kadiya ever be cured. He is a trader of rare gems.
+// Reward for saving Kadiya with future's medicine is a Light Green Diamond.
+
diff --git a/npc/032-2/_import.txt b/npc/032-2/_import.txt
new file mode 100644
index 0000000..ac4567d
--- /dev/null
+++ b/npc/032-2/_import.txt
@@ -0,0 +1,5 @@
+// Map 032-2: Tree Maze
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/032-2/_mobs.txt",
+"npc/032-2/_warps.txt",
+"npc/032-2/episode.txt",
diff --git a/npc/032-2/_mobs.txt b/npc/032-2/_mobs.txt
new file mode 100644
index 0000000..517dfe1
--- /dev/null
+++ b/npc/032-2/_mobs.txt
@@ -0,0 +1,10 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 032-2: Tree Maze mobs
+032-2,0,0,0,0 monster Red Scorpion 1072,60,35000,120000
+032-2,0,0,0,0 monster Black Scorpion 1074,50,35000,120000
+032-2,0,0,0,0 monster Mountain Snake 1123,50,35000,120000
+032-2,0,0,0,0 monster Fire Skull 1193,20,35000,120000
+032-2,0,0,0,0 monster Green Slime Mother 1236,15,120000,120000
+032-2,0,0,0,0 monster Archant 1026,15,120000,120000
+032-2,0,0,0,0 monster Terranite 1167,5,120000,120000
+032-2,0,0,0,0 monster Wicked Mushroom 1176,15,120000,120000
diff --git a/npc/032-2/_warps.txt b/npc/032-2/_warps.txt
new file mode 100644
index 0000000..f12eb98
--- /dev/null
+++ b/npc/032-2/_warps.txt
@@ -0,0 +1,89 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 032-2: Tree Maze warps
+032-2,25,178,0 script #032-2_25_178 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 41,136; end;
+}
+032-2,41,135,0 script #032-2_41_135 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 36,109; end;
+}
+032-2,36,108,0 script #032-2_36_108 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 34,71; end;
+}
+032-2,34,70,0 script #032-2_34_70 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 159,56; end;
+}
+032-2,75,27,0 warp #032-2_75_27 0,0,032-3,121,101
+032-2,133,28,0 script #032-2_133_28 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 48,150; end;
+}
+032-2,177,38,0 script #032-2_177_38 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 53,78; end;
+}
+032-2,147,67,0 script #032-2_147_67 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 130,72; end;
+}
+032-2,130,71,0 script #032-2_130_71 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 153,172; end;
+}
+032-2,165,78,0 script #032-2_165_78 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 117,30; end;
+}
+032-2,178,89,0 script #032-2_178_89 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 170,107; end;
+}
+032-2,170,106,0 script #032-2_170_106 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 178,88; end;
+}
+032-2,168,149,0 script #032-2_168_149 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 146,153; end;
+}
+032-2,146,152,0 script #032-2_146_152 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 159,56; end;
+}
+032-2,119,153,0 script #032-2_119_153 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 153,172; end;
+}
+032-2,87,173,0 script #032-2_87_173 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 145,95; end;
+}
+032-2,47,166,0 script #032-2_47_166 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 25,179; end;
+}
+032-2,40,19,0 warp #032-2_40_19 0,0,032-1,53,109
+032-2,75,53,0 script #032-2_75_53 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ slide 24,166; end;
+}
diff --git a/npc/032-2/episode.txt b/npc/032-2/episode.txt
new file mode 100644
index 0000000..b27f87c
--- /dev/null
+++ b/npc/032-2/episode.txt
@@ -0,0 +1,62 @@
+// TMW2 scripts.
+// (Random) Treasure Chest
+// Authored by Jesusalva with code parts from Evol, see 007-1/treasure
+// Regenerates every 6 hours
+032-2,0,0,0 script #chest_03220 NPC_CHEST,{
+
+ if (!.busy && !.empty) {
+ TreasureBox(75); // 0.75% better treasure find rate
+
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ .dir = .dir == 0 ? 2 : 6; // closed ? opening : closing
+ .busy = true; // lock until available again
+ initnpctimer;
+ } else if (!.busy) {
+ mesc l("Someone looted this treasure box already...");
+ } else {
+ end;
+ }
+ close;
+
+OnTimer160:
+ .dir = .dir == 6 ? 0 : 4; // closing ? closed : open
+ end;
+
+OnTimer500:
+ .busy = false; // unlock
+ if (.dir == 0 || .dir == 4)
+ stopnpctimer; // stop here if the chest is closed
+ end;
+
+OnInit:
+ .busy = false;
+ .distance = 2;
+ .empty = false;
+
+OnClock0156:
+OnClock0756:
+OnClock1356:
+OnClock1956:
+ // Try to warp randomly to a walkable spot, up to 20 attempts
+ // Otherwise, it'll stay where it already is (but will close and refill).
+ .@e=0; .@x=0; .@y=0;
+ while (!checkcell(.map$, .@x, .@y, cell_chkpass))
+ {
+ if (.@e == 20) {
+ .@x=.x;
+ .@y=.y;
+ break;
+ }
+ // Remember the +20 -20 margin adjustment
+ .@x = rand2(20, 180);
+ .@y = rand2(20, 180);
+ ++.@e;
+ }
+ .busy=false;
+ .empty=false;
+ movenpc .name$, .@x, .@y, 0;
+ end;
+}
+
+032-2,0,0,0 duplicate(#chest_03220) #chest_03221 NPC_CHEST
+
diff --git a/npc/032-3/_import.txt b/npc/032-3/_import.txt
new file mode 100644
index 0000000..7fee888
--- /dev/null
+++ b/npc/032-3/_import.txt
@@ -0,0 +1,4 @@
+// Map 032-3: Beasts Dungeon
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/032-3/_warps.txt",
+"npc/032-3/episode.txt",
diff --git a/npc/032-3/_warps.txt b/npc/032-3/_warps.txt
new file mode 100644
index 0000000..0e50fa8
--- /dev/null
+++ b/npc/032-3/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 032-3: Beasts Dungeon warps
+032-3,121,102,0 warp #032-3_121_102 0,0,032-2,103,112
diff --git a/npc/032-3/episode.txt b/npc/032-3/episode.txt
new file mode 100644
index 0000000..1c01139
--- /dev/null
+++ b/npc/032-3/episode.txt
@@ -0,0 +1,354 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Part of the Doctor's Quest.
+
+032-3,121,70,0 script #CryptEP NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
+ if (.@q >= 2)
+ warp "032-4", 40, 74;
+ else
+ dispbottom l("This door is locked.");
+ end;
+
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+
+OnInit:
+ if (instance_id() >= 0) end;
+ // The Green Arena
+ monster("032-3", 28, 25, "Arena", GreenDragon, 1);
+ monster("032-3", 46, 25, "Arena", GreenDragon, 1);
+ monster("032-3", 64, 19, "Arena", GreenDragon, 1);
+ monster("032-3", 78, 19, "Arena", GreenDragon, 1);
+ monster("032-3", 64, 43, "Arena", GreenDragon, 1);
+ monster("032-3", 78, 43, "Arena", GreenDragon, 1);
+ monster("032-3", 102, 19, "Arena", GreenDragon, 1);
+ monster("032-3", 112, 19, "Arena", GreenDragon, 1);
+ monster("032-3", 102, 43, "Arena", GreenDragon, 1);
+ monster("032-3", 112, 43, "Arena", GreenDragon, 1);
+
+ // The Blue Area
+ monster("032-3", 130, 19, "Arena", Moonshroom, 1);
+ monster("032-3", 140, 19, "Arena", Moonshroom, 1);
+ monster("032-3", 164, 19, "Arena", Moonshroom, 1);
+ monster("032-3", 178, 19, "Arena", Moonshroom, 1);
+ monster("032-3", 196, 25, "Arena", Moonshroom, 1);
+ monster("032-3", 214, 25, "Arena", Moonshroom, 1);
+ monster("032-3", 130, 43, "Arena", Moonshroom, 1);
+ monster("032-3", 140, 43, "Arena", Moonshroom, 1);
+ monster("032-3", 164, 43, "Arena", Moonshroom, 1);
+ monster("032-3", 178, 43, "Arena", Moonshroom, 1);
+
+ // The Yellow Arena
+ monster("032-3", 64, 106, "Arena", JackO, 1);
+ monster("032-3", 78, 106, "Arena", JackO, 1);
+ monster("032-3", 102, 106, "Arena", JackO, 1);
+ monster("032-3", 112, 106, "Arena", JackO, 1);
+ monster("032-3", 28, 124, "Arena", JackO, 1);
+ monster("032-3", 46, 124, "Arena", JackO, 1);
+ monster("032-3", 64, 130, "Arena", JackO, 1);
+ monster("032-3", 78, 130, "Arena", JackO, 1);
+ monster("032-3", 102, 130, "Arena", JackO, 1);
+ monster("032-3", 112, 130, "Arena", JackO, 1);
+
+ // The Red Arena
+ monster("032-3", 130, 106, "Arena", GoboBear, 1);
+ monster("032-3", 140, 106, "Arena", GoboBear, 1);
+ monster("032-3", 164, 106, "Arena", GoboBear, 1);
+ monster("032-3", 178, 106, "Arena", GoboBear, 1);
+ monster("032-3", 196, 124, "Arena", GoboBear, 1);
+ monster("032-3", 214, 124, "Arena", GoboBear, 1);
+ monster("032-3", 130, 130, "Arena", GoboBear, 1);
+ monster("032-3", 140, 130, "Arena", GoboBear, 1);
+ monster("032-3", 164, 130, "Arena", GoboBear, 1);
+ monster("032-3", 178, 130, "Arena", GoboBear, 1);
+ end;
+}
+
+032-3,121,85,0 script Central Switch#EP NPC_SWITCH_OFFLINE,{
+ .@m$ = getmap();
+ if (mobcount(.@m$, "all")) {
+ dispbottom l("Clear the arena to leave!");
+ end;
+ }
+ setnpcdisplay instance_npcname(.name$), NPC_SWITCH_ONLINE;
+ sleep2(1000);
+ warp "032-3", 121, 86;
+ setnpcdisplay instance_npcname(.name$), NPC_SWITCH_OFFLINE;
+ .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
+ if (.@q != 1) end;
+ if (@ep_id)
+ setq3 LoFQuest_EPISODE, getq3(LoFQuest_EPISODE) | @ep_id;
+ @ep_id=0;
+ if (getq3(LoFQuest_EPISODE) == 15)
+ setq LoFQuest_EPISODE, getq(LoFQuest_EPISODE), 2, 0;
+ end;
+
+OnInit:
+ disablenpc .name$;
+ end;
+OnInstanceInit:
+ .distance=2;
+ end;
+}
+
+032-3,118,82,0 script Green Switch#EP NPC_SWITCH_OFFLINE,{
+ .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
+ if (.@q != 1) end;
+ .@x = getq3(LoFQuest_EPISODE);
+ if (.@x & 1) { dispbottom l("I have already completed this arena."); end; }
+ mesc l("This switch controls one of the four dungeons.");
+ mesc l("All four Dungeons must be completed.");
+ mes "";
+ mesc l("Anyone within this rug will be teleported.");
+ mesc l("Time limit: 10 minutes"), 3;
+ mes "";
+ mesc l("Do you want to begin the %s Dungeon?", l("Green")), 1;
+ if (askyesno() == ASK_NO) { closeclientdialog; close; }
+ closeclientdialog;
+ setnpcdisplay .name$, NPC_SWITCH_ONLINE;
+ .@mapn$="epar@"+getcharid(0);
+ if (instanceowner(@episode) == getcharid(3)) {
+ instance_set_timeout(605, 605, @episode);
+ } else {
+ @episode = instance_create("Episode Arena "+getcharid(0), getcharid(3), IOT_CHAR);
+ if (@episode < 0) {
+ mesc l("You cannot begin this now, try again later."), 1;
+ @episode = 0;
+ close;
+ }
+ instance_attachmap("032-3", @episode, false, .@mapn$);
+ instance_set_timeout(900, 900, @episode);
+ instance_init(@episode);
+ }
+ sleep2(3000);
+ if (!playerattached()) end;
+ monster(.@mapn$, 28, 27, "Arena", GreenDragon, 1);
+ monster(.@mapn$, 46, 27, "Arena", GreenDragon, 1);
+ monster(.@mapn$, 64, 21, "Arena", GreenDragon, 1);
+ monster(.@mapn$, 78, 21, "Arena", GreenDragon, 1);
+ monster(.@mapn$, 64, 45, "Arena", GreenDragon, 1);
+ monster(.@mapn$, 78, 45, "Arena", GreenDragon, 1);
+ monster(.@mapn$, 102, 21, "Arena", GreenDragon, 1);
+ monster(.@mapn$, 112, 21, "Arena", GreenDragon, 1);
+ monster(.@mapn$, 102, 45, "Arena", GreenDragon, 1);
+ monster(.@mapn$, 112, 45, "Arena", GreenDragon, 1);
+ areatimer("032-3", 112, 76, 119, 83, 10, "Green Switch#EP::OnSet");
+ sleep2(50);
+ areawarp("032-3", 112, 76, 119, 83, .@mapn$, 32, 32, 41, 41);
+ setnpcdisplay .name$, NPC_SWITCH_OFFLINE;
+ sleep2(100);
+ close;
+
+OnSet:
+ @ep_id=1;
+ end;
+
+OnInit:
+ .distance=2;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+
+
+
+
+
+032-3,124,82,0 script Blue Switch#EP NPC_SWITCH_OFFLINE,{
+ .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
+ if (.@q != 1) end;
+ .@x = getq3(LoFQuest_EPISODE);
+ if (.@x & 2) { dispbottom l("I have already completed this arena."); end; }
+ mesc l("This switch controls one of the four dungeons.");
+ mesc l("All four Dungeons must be completed.");
+ mes "";
+ mesc l("Anyone within this rug will be teleported.");
+ mesc l("Time limit: 10 minutes"), 3;
+ mes "";
+ mesc l("Do you want to begin the %s Dungeon?", l("Blue")), 1;
+ if (askyesno() == ASK_NO) { closeclientdialog; close; }
+ closeclientdialog;
+ setnpcdisplay .name$, NPC_SWITCH_ONLINE;
+ .@mapn$="epar@"+getcharid(0);
+ if (instanceowner(@episode) == getcharid(3)) {
+ instance_set_timeout(605, 605, @episode);
+ } else {
+ @episode = instance_create("Episode Arena "+getcharid(0), getcharid(3), IOT_CHAR);
+ if (@episode < 0) {
+ mesc l("You cannot begin this now, try again later."), 1;
+ @episode = 0;
+ close;
+ }
+ instance_attachmap("032-3", @episode, false, .@mapn$);
+ instance_set_timeout(900, 900, @episode);
+ instance_init(@episode);
+ }
+ sleep2(3000);
+ if (!playerattached()) end;
+ monster(.@mapn$, 130, 21, "Arena", Moonshroom, 1);
+ monster(.@mapn$, 140, 21, "Arena", Moonshroom, 1);
+ monster(.@mapn$, 164, 21, "Arena", Moonshroom, 1);
+ monster(.@mapn$, 178, 21, "Arena", Moonshroom, 1);
+ monster(.@mapn$, 196, 27, "Arena", Moonshroom, 1);
+ monster(.@mapn$, 214, 27, "Arena", Moonshroom, 1);
+ monster(.@mapn$, 130, 45, "Arena", Moonshroom, 1);
+ monster(.@mapn$, 140, 45, "Arena", Moonshroom, 1);
+ monster(.@mapn$, 164, 45, "Arena", Moonshroom, 1);
+ monster(.@mapn$, 178, 45, "Arena", Moonshroom, 1);
+ areatimer("032-3", 123, 76, 130, 83, 10, "Blue Switch#EP::OnSet");
+ sleep2(50);
+ areawarp("032-3", 123, 76, 130, 83, .@mapn$, 200, 32, 210, 41);
+ setnpcdisplay .name$, NPC_SWITCH_OFFLINE;
+ sleep2(100);
+ close;
+
+OnSet:
+ @ep_id=2;
+ end;
+
+OnInit:
+ .distance=2;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+
+
+
+
+
+032-3,118,88,0 script Yellow Switch#EP NPC_SWITCH_OFFLINE,{
+ .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
+ if (.@q != 1) end;
+ .@x = getq3(LoFQuest_EPISODE);
+ if (.@x & 4) { dispbottom l("I have already completed this arena."); end; }
+ mesc l("This switch controls one of the four dungeons.");
+ mesc l("All four Dungeons must be completed.");
+ mes "";
+ mesc l("Anyone within this rug will be teleported.");
+ mesc l("Time limit: 10 minutes"), 3;
+ mes "";
+ mesc l("Do you want to begin the %s Dungeon?", l("Yellow")), 1;
+ if (askyesno() == ASK_NO) { closeclientdialog; close; }
+ closeclientdialog;
+ setnpcdisplay .name$, NPC_SWITCH_ONLINE;
+ .@mapn$="epar@"+getcharid(0);
+ if (instanceowner(@episode) == getcharid(3)) {
+ instance_set_timeout(605, 605, @episode);
+ } else {
+ @episode = instance_create("Episode Arena "+getcharid(0), getcharid(3), IOT_CHAR);
+ if (@episode < 0) {
+ mesc l("You cannot begin this now, try again later."), 1;
+ @episode = 0;
+ close;
+ }
+ instance_attachmap("032-3", @episode, false, .@mapn$);
+ instance_set_timeout(900, 900, @episode);
+ instance_init(@episode);
+ }
+ sleep2(3000);
+ if (!playerattached()) end;
+ monster(.@mapn$, 64, 108, "Arena", JackO, 1);
+ monster(.@mapn$, 78, 108, "Arena", JackO, 1);
+ monster(.@mapn$, 102, 108, "Arena", JackO, 1);
+ monster(.@mapn$, 112, 108, "Arena", JackO, 1);
+ monster(.@mapn$, 28, 126, "Arena", JackO, 1);
+ monster(.@mapn$, 46, 126, "Arena", JackO, 1);
+ monster(.@mapn$, 64, 132, "Arena", JackO, 1);
+ monster(.@mapn$, 78, 132, "Arena", JackO, 1);
+ monster(.@mapn$, 102, 132, "Arena", JackO, 1);
+ monster(.@mapn$, 112, 132, "Arena", JackO, 1);
+ areatimer("032-3", 112, 87, 119, 94, 10, "Yellow Switch#EP::OnSet");
+ sleep2(50);
+ areawarp("032-3", 112, 87, 119, 94, .@mapn$, 32, 131, 42, 140);
+ setnpcdisplay .name$, NPC_SWITCH_OFFLINE;
+ sleep2(100);
+ close;
+
+OnSet:
+ @ep_id=4;
+ end;
+
+OnInit:
+ .distance=2;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
+
+
+
+
+
+032-3,124,88,0 script Red Switch#EP NPC_SWITCH_OFFLINE,{
+ .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
+ if (.@q != 1) end;
+ .@x = getq3(LoFQuest_EPISODE);
+ if (.@x & 8) { dispbottom l("I have already completed this arena."); end; }
+ mesc l("This switch controls one of the four dungeons.");
+ mesc l("All four Dungeons must be completed.");
+ mes "";
+ mesc l("Anyone within this rug will be teleported.");
+ mesc l("Time limit: 10 minutes"), 3;
+ mes "";
+ mesc l("Do you want to begin the %s Dungeon?", l("Red")), 1;
+ if (askyesno() == ASK_NO) { closeclientdialog; close; }
+ closeclientdialog;
+ setnpcdisplay .name$, NPC_SWITCH_ONLINE;
+ .@mapn$="epar@"+getcharid(0);
+ if (instanceowner(@episode) == getcharid(3)) {
+ instance_set_timeout(605, 605, @episode);
+ } else {
+ @episode = instance_create("Episode Arena "+getcharid(0), getcharid(3), IOT_CHAR);
+ if (@episode < 0) {
+ mesc l("You cannot begin this now, try again later."), 1;
+ @episode = 0;
+ close;
+ }
+ instance_attachmap("032-3", @episode, false, .@mapn$);
+ instance_set_timeout(900, 900, @episode);
+ instance_init(@episode);
+ }
+ sleep2(3000);
+ if (!playerattached()) end;
+ monster(.@mapn$, 130, 108, "Arena", GoboBear, 1);
+ monster(.@mapn$, 140, 108, "Arena", GoboBear, 1);
+ monster(.@mapn$, 164, 108, "Arena", GoboBear, 1);
+ monster(.@mapn$, 178, 108, "Arena", GoboBear, 1);
+ monster(.@mapn$, 196, 126, "Arena", GoboBear, 1);
+ monster(.@mapn$, 214, 126, "Arena", GoboBear, 1);
+ monster(.@mapn$, 130, 132, "Arena", GoboBear, 1);
+ monster(.@mapn$, 140, 132, "Arena", GoboBear, 1);
+ monster(.@mapn$, 164, 132, "Arena", GoboBear, 1);
+ monster(.@mapn$, 178, 132, "Arena", GoboBear, 1);
+ areatimer("032-3", 123, 87, 130, 94, 10, "Red Switch#EP::OnSet");
+ sleep2(50);
+ areawarp("032-3", 123, 87, 130, 94, .@mapn$, 200, 131, 210, 140);
+ setnpcdisplay .name$, NPC_SWITCH_OFFLINE;
+ sleep2(100);
+ close;
+
+OnSet:
+ @ep_id=8;
+ end;
+
+OnInit:
+ .distance=2;
+ end;
+OnInstanceInit:
+ disablenpc instance_npcname(.name$);
+ end;
+}
+
diff --git a/npc/032-4/_import.txt b/npc/032-4/_import.txt
new file mode 100644
index 0000000..c416c29
--- /dev/null
+++ b/npc/032-4/_import.txt
@@ -0,0 +1,5 @@
+// Map 032-4: Crypt
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/032-4/_mobs.txt",
+"npc/032-4/_warps.txt",
+"npc/032-4/episode.txt",
diff --git a/npc/032-4/_mobs.txt b/npc/032-4/_mobs.txt
new file mode 100644
index 0000000..7edfb80
--- /dev/null
+++ b/npc/032-4/_mobs.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 032-4: Crypt mobs
+032-4,0,0,0,0 monster Scar 1045,12,85000,50000
+032-4,0,0,0,0 monster Armored Skeleton 1433,41,85000,50000
+032-4,0,0,0,0 monster Michel 1203,8,85000,50000
+032-4,0,0,0,0 monster Jack'O 1120,4,85000,50000
diff --git a/npc/032-4/_warps.txt b/npc/032-4/_warps.txt
new file mode 100644
index 0000000..32b3d3a
--- /dev/null
+++ b/npc/032-4/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 032-4: Crypt warps
+032-4,127,44,0 warp #032-4_127_44 2,0,032-5,37,20
+032-4,41,78,0 warp #032-4_41_78 3,0,032-3,121,71
diff --git a/npc/032-4/episode.txt b/npc/032-4/episode.txt
new file mode 100644
index 0000000..ee736f8
--- /dev/null
+++ b/npc/032-4/episode.txt
@@ -0,0 +1,7 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Part of the Doctor's Quest.
+
+// There is supposed to be a gate but I'm lazy.
diff --git a/npc/032-5/_import.txt b/npc/032-5/_import.txt
new file mode 100644
index 0000000..f9f3133
--- /dev/null
+++ b/npc/032-5/_import.txt
@@ -0,0 +1,4 @@
+// Map 032-5: Inner Chamber
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/032-5/_warps.txt",
+"npc/032-5/episode.txt",
diff --git a/npc/032-5/_warps.txt b/npc/032-5/_warps.txt
new file mode 100644
index 0000000..698d90b
--- /dev/null
+++ b/npc/032-5/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 032-5: Inner Chamber warps
+032-5,37,19,0 warp #032-5_37_19 2,0,032-4,127,43
diff --git a/npc/032-5/episode.txt b/npc/032-5/episode.txt
new file mode 100644
index 0000000..73971b8
--- /dev/null
+++ b/npc/032-5/episode.txt
@@ -0,0 +1,221 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Part of the Doctor's Quest.
+
+// NOTE: Several things could be done to ensure the original owner is fighting.
+// I did none.
+// But if at any moment the boss is alone in the room, the fight resets (FIXME).
+// Dead bodies should be warped out automagically. (FIXME)
+// Reward is 400,000 experience points (almost enough to level up a Lv 61)
+// But the reward is only given when cutscene is completed
+// Meaning if you merely espectate/help you won't get it.
+// For helpers (Everyone on map) they'll get 30,000 exp
+// Therefore, experience given is 30k + 70k + 300k
+
+032-5,37,34,0 script #EpShow NPC_HIDDEN,2,0,{
+ end;
+OnInit:
+ .ctrl = false;
+ .platy = 0;
+ .razor = 0;
+ end;
+
+OnTouch:
+ if (mobcount("032-5", "all")) end;
+ if (getq(LoFQuest_EPISODE) != 15) end;
+ //if (getq2(LoFQuest_EPISODE) != 2); end;
+ if (.ctrl) end;
+
+ .ctrl=true;
+ initnpctimer;
+ end;
+
+OnTimer1000:
+ .platy=monster("032-5", 39, 55, strmobinfo(1, RedQueen), RedQueen, 1);
+ .razor=monster("032-5", 37, 57, "The Black Razor", RedFollower, 1);
+ immortal(.platy);
+ setunitdata(.platy, UDT_MODE, MD_BOSS|MD_PLANT|MD_NOKNOCKBACK);
+ immortal(.razor);
+ setunitdata(.razor, UDT_MODE, MD_BOSS|MD_PLANT|MD_NOKNOCKBACK);
+ end;
+
+OnTimer5000:
+ unittalk(.razor, "Uh?");
+ end;
+
+OnTimer10000:
+ unittalk(.razor, "Who are you people!");
+ end;
+
+OnTimer15000:
+ unittalk(.razor, "Don't tell me... You're with Prsm!");
+ end;
+
+OnTimer20000:
+ unittalk(.platy, "They think they can conspire against us.");
+ end;
+
+OnTimer25000:
+ unittalk(.platy, "But I am the original queen and no one can steal this from me.");
+ maptimer("032-5", 3000, "#EpShow::OnWarn1");
+ end;
+
+OnWarn1:
+ dispbottom l("On your marks!");
+ sleep2(1000);
+ dispbottom l("Ready...");
+ sleep2(1000);
+ dispbottom l("FIGHT!");
+ end;
+
+OnTimer30000:
+ unitwarp(.platy, "001-3-1", 19, 21);
+ unitwarp(.razor, "001-3-1", 19, 21);
+ sleep(25);
+ unitkill(.platy);
+ unitkill(.razor);
+ sleep(25);
+ .platy=monster("032-5", 39, 55, strmobinfo(1, RedQueen), RedQueen, 1, "#EpShow::OnPlaty");
+ .razor=monster("032-5", 37, 57, "The Black Razor", RedFollower, 1, "#EpShow::OnRazor");
+
+ // The Black Razor needs tweaks
+ setunitdata(.razor, UDT_MAXHP, 24000);
+ setunitdata(.razor, UDT_HP, 24000);
+ setunitdata(.razor, UDT_HIT, 24000);
+ setunitdata(.razor, UDT_ADELAY, 1272);
+ setunitdata(.razor, UDT_DMOTION, 48);
+ setunitdata(.razor, UDT_SPEED, 480);
+
+ // The Red Queen doesn't, but we need spawns and victory conditions
+ areamonster("032-5", 21, 35, 58, 77, strmobinfo(1, RedFollower), RedFollower, 12, "#EpShow::OnMini");
+ areamonster("032-5", 21, 35, 58, 77, strmobinfo(1, RedFollowerF), RedFollowerF, 12, "#EpShow::OnMini");
+ stopnpctimer;
+ // TODO: Red Queen should grow stronger as her allies are defeated
+ // TODO: Red Queen should be able to revive her allies, only once each.
+ //.ctrl = false;
+ end;
+
+OnMini:
+ if (.razor)
+ unittalk(.razor, "My fallen comrade, you'll be avenged!");
+ sleep(100);
+ if (!mobcount("032-5", "all")) goto OnNext;
+ end;
+
+OnRazor:
+ if (.platy)
+ unittalk(.platy, "Razor, no!");
+ .razor = 0;
+ sleep(100);
+ if (!mobcount("032-5", "all")) goto OnNext;
+ end;
+
+OnPlaty:
+ if (.razor)
+ unittalk(.razor, "My queen!");
+ .platy = 0;
+ sleep(100);
+ if (!mobcount("032-5", "all")) goto OnNext;
+ end;
+
+OnWin:
+ @elli=true;
+ getexp 30000, 0;
+ if (getq(LoFQuest_EPISODE) == 15) {
+ setq LoFQuest_EPISODE, 16, 0, 0;
+ getitem RedknightArmor, 1;
+ getexp 70000, 0;
+ }
+ specialeffect(FX_FANFARE, SELF, getcharid(3));
+ end;
+
+OnSS:
+ sshake();
+ closeclientdialog;
+ end;
+
+OnSSX:
+ sshake(8);
+ sleep2(350);
+ sshake(12);
+ closeclientdialog;
+ end;
+
+OnNext:
+ maptimer("032-5", 10, "#EpShow::OnWin");
+ // TODO: Bring the boss!
+ .platy=monster("032-5", 39, 55, "Soul Eater", PanthomLord, 1);
+ immortal(.platy);
+ setunitdata(.platy, UDT_MODE, MD_BOSS|MD_PLANT|MD_NOKNOCKBACK);
+ unittalk(.platy, "...");
+ sleep(5000);
+ unittalk(.platy, "How...");
+ maptimer("032-5", 4900, "#EpShow::OnSS");
+ sleep(5000);
+ unittalk(.platy, "HOW!!!");
+ maptimer("032-5", 4900, "#EpShow::OnSS");
+ sleep(5000);
+ unittalk(.platy, "UNFORGIVABLE!!! You have ruined my disguise!");
+ sleep(5000);
+ unittalk(.platy, "But you underestimate me...");
+ freeloop(true);
+ for (.@i=0;.@i < 25;.@i++) {
+ .@tmp = areamonster("032-5", 21, 35, 58, 77, strmobinfo(1, JackO), JackO, 1);
+ immortal(.@tmp);
+ setunitdata(.@tmp, UDT_MODE, MD_NOKNOCKBACK);
+ sleep(50);
+ }
+ freeloop(false);
+ unittalk(.platy, "...Of course every one who has fallen here serves me... And all those before!");
+ sleep(2500);
+ unittalk(.platy, "...And with those from past, present and future... I'll be invencible! And reign forever!");
+ maptimer("032-5", 1000, "#EpShow::OnMus");
+ sleep(2500);
+ // TODO: Bring elli!
+ enablenpc("Elli#Ep");
+ .razor = getnpcid("Elli#Ep");
+ sleep(500);
+ unittalk(.razor, "That shall not be.");
+ sleep(5000);
+ unittalk(.razor, "I am Elli, one of the Originals.");
+ sleep(5000);
+ unittalk(.razor, "And I am here to pummel you algebraically with a(n) ginormous, frankenstein, gassy, green carnival hammer.");
+ sleep(5000);
+ unittalk(.razor, "Your reign of terror is over, Soul Eater. I'll destroy you and your followers...");
+ sleep(5000);
+ unittalk(.razor, "...Past or future. Therefore:");
+ maptimer("032-5", 4900, "#EpShow::OnSSX");
+ sleep(5000);
+ unittalk(.razor, "COME LEGENDARY HOCUS, AND ANNIHILATE EVERYTHING!");
+ sleep(500);
+ disablenpc("Elli#Ep");
+ maptimer("032-5", 100, "#EpShow::OnFin");
+ sleep(200);
+ killmonsterall("032-5");
+ .ctrl = false;
+ end;
+
+OnMus:
+ changeplayermusic "valkyries.ogg";
+ end;
+
+OnFin:
+ if (!@elli) end;
+ warp "032-1", 59, 130;
+ sleep2(25);
+ sendmapmask 129;
+ changeplayermusic "valkyries.ogg";
+ addtimer(100, "Elli::OnFin");
+ @elli=false;
+ end;
+}
+
+032-5,39,52,0 script Elli#Ep NPC_ELLI,{
+ end;
+OnInit:
+ disablenpc(.name$);
+ end;
+}
+
diff --git a/npc/033-1/_import.txt b/npc/033-1/_import.txt
new file mode 100644
index 0000000..247d96f
--- /dev/null
+++ b/npc/033-1/_import.txt
@@ -0,0 +1,3 @@
+// Map 033-1: Porthos - Town of Portals
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/033-1/_warps.txt",
diff --git a/npc/033-1/_warps.txt b/npc/033-1/_warps.txt
new file mode 100644
index 0000000..cd8747f
--- /dev/null
+++ b/npc/033-1/_warps.txt
@@ -0,0 +1,6 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 033-1: Porthos - Town of Portals warps
+033-1,189,94,0 warp #033-1_189_94 0,0,033-5,29,48
+033-1,167,89,0 warp #033-1_167_89 0,0,033-4,35,42
+033-1,172,101,0 warp #033-1_172_101 0,0,033-2,40,48
+033-1,72,190,0 warp #033-1_72_190 0,0,020-1,69,41
diff --git a/npc/033-2/_import.txt b/npc/033-2/_import.txt
new file mode 100644
index 0000000..6941e78
--- /dev/null
+++ b/npc/033-2/_import.txt
@@ -0,0 +1,3 @@
+// Map 033-2: Building 1
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/033-2/_warps.txt",
diff --git a/npc/033-2/_warps.txt b/npc/033-2/_warps.txt
new file mode 100644
index 0000000..39f7084
--- /dev/null
+++ b/npc/033-2/_warps.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 033-2: Building 1 warps
+033-2,40,49,0 warp #033-2_40_49 0,0,033-1,172,102
+033-2,39,21,0 warp #033-2_39_21 1,0,033-3,38,22
diff --git a/npc/033-3/_import.txt b/npc/033-3/_import.txt
new file mode 100644
index 0000000..5b5c079
--- /dev/null
+++ b/npc/033-3/_import.txt
@@ -0,0 +1,3 @@
+// Map 033-3: Building 2
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/033-3/_warps.txt",
diff --git a/npc/033-3/_warps.txt b/npc/033-3/_warps.txt
new file mode 100644
index 0000000..4a6a9d2
--- /dev/null
+++ b/npc/033-3/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 033-3: Building 2 warps
+033-3,39,21,0 warp #033-3_39_21 1,0,033-2,38,22
diff --git a/npc/033-4/_import.txt b/npc/033-4/_import.txt
new file mode 100644
index 0000000..9642c94
--- /dev/null
+++ b/npc/033-4/_import.txt
@@ -0,0 +1,3 @@
+// Map 033-4: Porthos' Bank
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/033-4/_warps.txt",
diff --git a/npc/033-4/_warps.txt b/npc/033-4/_warps.txt
new file mode 100644
index 0000000..61a0758
--- /dev/null
+++ b/npc/033-4/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 033-4: Porthos' Bank warps
+033-4,35,43,0 warp #033-4_35_43 0,0,033-1,167,90
diff --git a/npc/033-5/_import.txt b/npc/033-5/_import.txt
new file mode 100644
index 0000000..be6102d
--- /dev/null
+++ b/npc/033-5/_import.txt
@@ -0,0 +1,3 @@
+// Map 033-5: Porthos' General Store
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/033-5/_warps.txt",
diff --git a/npc/033-5/_warps.txt b/npc/033-5/_warps.txt
new file mode 100644
index 0000000..5ae4d9d
--- /dev/null
+++ b/npc/033-5/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 033-5: Porthos' General Store warps
+033-5,29,49,0 warp #033-5_29_49 0,0,033-1,189,95
diff --git a/npc/034-1/_import.txt b/npc/034-1/_import.txt
new file mode 100644
index 0000000..3aa2c29
--- /dev/null
+++ b/npc/034-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 034-1: Outskirts
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/034-1/_mobs.txt",
+"npc/034-1/gemini.txt",
diff --git a/npc/034-1/_mobs.txt b/npc/034-1/_mobs.txt
new file mode 100644
index 0000000..eb59270
--- /dev/null
+++ b/npc/034-1/_mobs.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 034-1: Outskirts mobs
+034-1,42,35,21,12 monster LogHead 1025,30,100000,30000
+034-1,42,35,20,11 monster SpikyMushroom 1019,10,100000,30000
diff --git a/npc/034-1/gemini.txt b/npc/034-1/gemini.txt
new file mode 100644
index 0000000..b4f337b
--- /dev/null
+++ b/npc/034-1/gemini.txt
@@ -0,0 +1,86 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Gemini Sisters Quest - Forest & Desert Stage
+
+034-1,67,48,0 script Fake Manastone NPC_MANA_STONE,{
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(1);
+ .@p=getcharid(1);
+ mesc l("This is a weird stone. It looks like a Mana Stone from afar, but anyone can tell it is fake.");
+ if (strcharinfo(0) != getpartyleader(.@p)) {
+ mesc l("It may be dangerous. I better ask %s to check it instead.", getpartyleader(.@p));
+ close;
+ }
+ switch ($@VALIA_STATUS[.@p]) {
+ case 1:
+ case 2:
+ mesc l("It seems to be a mechanism of some kind, but it is missing a Runestone.");
+ mesc l("Maybe one of the slimes dropped it.");
+ $@VALIA_STATUS[.@p] = 2;
+ break;
+ case 3:
+ mesc l("You insert the Runestone on it and hear a sound.");
+ mesc l("Something changed; We should see what is.");
+ $@VALIA_STATUS[.@p] = 4;
+ break;
+ default:
+ mesc l("I already did everything I could with this. What am I waiting for?");
+ break;
+ }
+ close;
+
+OnInit:
+OnInstanceInit:
+ .distance = 2;
+ end;
+}
+
+034-1,66,45,0 script #GeminiExit1 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(1);
+ .@p=getcharid(1);
+ if ($@VALIA_STATUS[.@p] < 4) {
+ dispbottom l("There seems to be sort of lock preventing you from passing.");
+ end;
+ }
+ slide 118, 55;
+ end;
+}
+
+
+034-1,169,24,0 script #GeminiExit2 NPC_HIDDEN,1,0,{
+ end;
+OnTouch:
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(4);
+ .@p=getcharid(1);
+ if ($@VALIA_STATUS[.@p] < 6) {
+ if (countitem(SealedSoul) >= 7) {
+ mesc l("Do you want to use the souls to unlock the passage?"), 1;
+ next;
+ if (askyesno() == ASK_YES) {
+ delitem SealedSoul, 7;
+ closeclientdialog;
+ if ($@VALIA_STATUS[.@p] == 4) {
+ .@u=monster(getmap(), 163, 26, strmobinfo(1, JackO), JackO, 1);
+ unittalk(.@u, "Souls... Feed me Souls... Nooooooooowwww!!!!");
+ $@VALIA_STATUS[.@p]=5;
+ } else {
+ dispbottom l("The waterfall open, and you may now pass.");
+ $@VALIA_STATUS[.@p]=6;
+ close;
+ }
+ }
+ close;
+ }
+ dispbottom l("A powerful magic barrier prevents passage. %d %s should suffice to dispel... Maybe.", 7, getitemlink(SealedSoul));
+ end;
+ }
+ warp "val2@"+.@p, 24, 59;
+ end;
+}
+
diff --git a/npc/034-2/_import.txt b/npc/034-2/_import.txt
new file mode 100644
index 0000000..ae5722e
--- /dev/null
+++ b/npc/034-2/_import.txt
@@ -0,0 +1,4 @@
+// Map 034-2: Bandit Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/034-2/_mobs.txt",
+"npc/034-2/gemini.txt",
diff --git a/npc/034-2/_mobs.txt b/npc/034-2/_mobs.txt
new file mode 100644
index 0000000..a2577da
--- /dev/null
+++ b/npc/034-2/_mobs.txt
@@ -0,0 +1,18 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 034-2: Bandit Cave mobs
+034-2,31,52,10,6 monster RedSlime 1008,8,100000,30000
+034-2,31,52,9,7 monster CaveMaggot 1056,3,100000,30000
+034-2,56,102,1,1 monster Spider 1012,1,100000,250000
+034-2,61,102,1,1 monster Spider 1012,1,100000,250000
+034-2,65,102,1,1 monster Spider 1012,1,100000,250000
+034-2,71,109,2,1 monster BlackScorpion 1009,1,100000,250000
+034-2,59,56,6,18 monster Bandit 1064,37,100000,10000
+034-2,59,44,6,6 monster BanditLord 1065,4,100000,20000
+034-2,60,69,9,4 monster BanditLord 1065,4,100000,20000
+034-2,63,94,0,0 monster SleepingBandit 1099,1,100000,60000
+034-2,53,93,0,0 monster SleepingBandit 1099,1,100000,60000
+034-2,48,71,0,0 monster SleepingBandit 1099,1,100000,60000
+034-2,38,30,8,6 monster Bandit 1064,8,100000,10000
+034-2,39,33,5,4 monster BanditLord 1065,2,100000,20000
+034-2,80,101,5,6 monster CopperSlime 1098,7,100000,60000
+034-2,60,94,9,2 monster CopperSlime 1098,7,100000,60000
diff --git a/npc/034-2/gemini.txt b/npc/034-2/gemini.txt
new file mode 100644
index 0000000..ca8a3ae
--- /dev/null
+++ b/npc/034-2/gemini.txt
@@ -0,0 +1,160 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Gemini Sisters Quest - Bandit Den
+
+034-2,24,60,0 script #GeminiBack1 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(6);
+ .@p=getcharid(1);
+ warp "val1@"+.@p, 169, 25;
+ end;
+}
+
+034-2,37,24,0 script #GeminiExit3 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(7);
+ .@p=getcharid(1);
+ if ($@VALIA_STATUS[.@p] < 8) {
+ dispbottom l("One of the bandits locked this door; We need to find the key!");
+ end;
+ }
+ .@p=getcharid(1);
+ warp "val3@"+.@p, 23, 51;
+ end;
+}
+
+// Ambush
+034-2,29,73,0 script #GeminiDen1 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(6);
+ // TODO: areasc... stun ... etc.
+ .@c=getunits(BL_PC, .@mbs, false, getmap(), 23, 67, 32, 74);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ sc_start(SC_STUN, 15000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .@mbs[.@i]);
+ specialeffect(FX_CRITICAL, AREA, .@mbs[.@i]);
+ }
+ .@p=getcharid(1);
+ .@m$=getmap();
+ .@b1=monster(.@m$, 30, 70, "Bandit A", Bandit, 1);
+ .@b2=monster(.@m$, 32, 71, "Bandit B", RobinBandit, 1);
+ immortal(.@b1);
+ immortal(.@b2);
+ sc_start(SC_STUN, 12000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .@b1);
+ sc_start(SC_STUN, 12000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .@b2);
+ // Begin cutscene
+ sleep2(2000); // 13 s
+ unittalk(.@b1, "Did you think you could sneak in our den without a problem?");
+ sleep2(2000); // 11s
+ unittalk(.@b2, "Haha, we caught them, n00bs!");
+ sleep2(3000); // 8s
+ unittalk(.@b1, "Drop your weapons, and come with us!");
+ sleep2(3000); // 5s
+ unittalk(.@b2, "Ahaha, that was easy! Ok, knock them out!");
+ sleep2(3000); // 2s
+ areawarp(.@m$, 23, 67, 32, 77, .@m$, 30, 92, 33, 95);
+ unitwalk(.@b1, 37, 90);
+ unitwalk(.@b2, 37, 90);
+ sleep2(2000);
+ // Get them... wherever
+ unitwarp(.@b1, "034-2", 37, 90);
+ unitwarp(.@b2, "034-2", 37, 90);
+ unitkill(.@b1);
+ unitkill(.@b2);
+ areawarp(.@m$, 30, 92, 33, 95, .@m$, 57, 101, 66, 104);
+ // First ambush, set some stuff up
+ if ($@VALIA_STATUS[.@p] == 6) {
+ $@VALIA_STATUS[.@p]=7;
+
+ .@mob=monster("val2@"+.@p, 57, 104, strmobinfo(1, CopperSlime), CopperSlime, 1, "Valia::OnKey1");
+ setunitdata(.@mob, UDT_LEVEL, 1);
+ .@mob=monster("val2@"+.@p, 61, 104, strmobinfo(1, CopperSlime), CopperSlime, 1, "Valia::OnKey2");
+ setunitdata(.@mob, UDT_LEVEL, 1);
+ .@mob=monster("val2@"+.@p, 66, 104, strmobinfo(1, CopperSlime), CopperSlime, 1, "Valia::OnKey3");
+ setunitdata(.@mob, UDT_LEVEL, 1);
+
+ monster("val2@"+.@p, 47, 72, strmobinfo(1, BanditLord), BanditLord, 1, "Valia::OnLord");
+ monster("val2@"+.@p, 85, 106, strmobinfo(1, BanditLord), BanditLord, 1, "Valia::OnLord");
+ monster("val2@"+.@p, 58, 45, strmobinfo(1, BanditLord), BanditLord, 1, "Valia::OnLord");
+ monster("val2@"+.@p, 40, 42, strmobinfo(1, BanditLord), BanditLord, 1, "Valia::OnLord");
+
+ monster("val2@"+.@p, 47, 25, strmobinfo(1, RedSlimeMother), RedSlimeMother, 1);
+ }
+ end;
+}
+
+
+// Cell Doors
+034-2,58,100,0 script Cell Door#G01 NPC_NO_SPRITE,{
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(7);
+ mes l("A complex lock seems to be posing a threat to you.");
+ mes l("But thanks to your %s skills, maybe you can pry this open.", thiefrank());
+ next;
+ .@s=LockPicking(3, 3, false);
+ // You broke free!
+ if (.@s) {
+ slide .x, 98;
+ closeclientdialog;
+ end;
+ }
+ @lockpicks=false;
+ mes l("What's this dark magic, the password has changed!");
+ close;
+OnInit:
+OnInstanceInit:
+ .distance=2;
+ end;
+}
+
+034-2,62,100,0 script Cell Door#G02 NPC_NO_SPRITE,{
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(7);
+ mes l("A complex lock seems to be posing a threat to you.");
+ mes l("But thanks to your %s skills, maybe you can pry this open.", thiefrank());
+ next;
+ .@s=LockPicking(3, 3, false);
+ // You broke free!
+ if (.@s) {
+ slide .x, 98;
+ closeclientdialog;
+ end;
+ }
+ @lockpicks=false;
+ mes l("What's this dark magic, the password has changed!");
+ close;
+OnInit:
+OnInstanceInit:
+ .distance=2;
+ end;
+}
+
+034-2,64,100,0 script Cell Door#G03 NPC_NO_SPRITE,{
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(7);
+ mes l("A complex lock seems to be posing a threat to you.");
+ mes l("But thanks to your %s skills, maybe you can pry this open.", thiefrank());
+ next;
+ .@s=LockPicking(3, 3, false);
+ // You broke free!
+ if (.@s) {
+ slide .x, 98;
+ closeclientdialog;
+ end;
+ }
+ @lockpicks=false;
+ mes l("What's this dark magic, the password has changed!");
+ close;
+OnInit:
+OnInstanceInit:
+ .distance=2;
+ end;
+}
+
diff --git a/npc/034-3/_import.txt b/npc/034-3/_import.txt
new file mode 100644
index 0000000..d9fef7b
--- /dev/null
+++ b/npc/034-3/_import.txt
@@ -0,0 +1,4 @@
+// Map 034-3: Archipelago
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/034-3/_mobs.txt",
+"npc/034-3/gemini.txt",
diff --git a/npc/034-3/_mobs.txt b/npc/034-3/_mobs.txt
new file mode 100644
index 0000000..6b648eb
--- /dev/null
+++ b/npc/034-3/_mobs.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 034-3: Archipelago mobs
+034-3,55,29,21,19 monster AzulSlime 1100,18,100000,20000
diff --git a/npc/034-3/gemini.txt b/npc/034-3/gemini.txt
new file mode 100644
index 0000000..72c4707
--- /dev/null
+++ b/npc/034-3/gemini.txt
@@ -0,0 +1,241 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Gemini Sisters Quest - Outside the Building
+
+034-3,23,50,0 script #GeminiBack2 NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(8);
+ .@p=getcharid(1);
+ warp "val2@"+.@p, 37, 25;
+ end;
+}
+
+034-3,57,29,0 script #GeminiDoor NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(8);
+ .@p=getcharid(1);
+ if ($@VALIA_STATUS[.@p] >= 9) {
+ warp "val4@"+.@p, 43, 51;
+ end;
+ }
+ slide 58, 34;
+ percentheal -20, 0;
+ dispbottom l("You are pushed back violently. There is probably some way to break this barrier.");
+ end;
+}
+
+034-3,51,38,0 script Engravings#Gemini NPC_NO_SPRITE,{
+ mes l("You can read some words engraved inside this rock, but some are erased by wind and time:");
+ next;
+ mes l("\".. can use this .. power..´. . .´. . . amplify a spell ..´.");
+ mes l(" . ´´. Don't let .. spell power .´..´ . .. fade away ...");
+ mes l("´ .Use lazurite stones ´..´. they will appear. ..´ .. drop them inside .. this circle.");
+ mes l(". ´ power.. drains .. life..´. .´ focus . .not move at all´. .\"");
+ next;
+ mes l("Below this strange writing, you notice a word still deeply engraved in the stone:");
+ next;
+ mesq b("catalazuli");
+ next;
+ .@p=getcharid(1);
+ mes l("... that looks like an incantation or something.");
+ if (strcharinfo(0) != getpartyleader(.@p)) {
+ mes l("I probably should let %s chant it.", getpartyleader(.@p));
+ close;
+ }
+ next;
+ mes l("I think this blue circle right here can be helpful to break the enchantment that blocks the door of the Inn.");
+ next;
+ mes l("Let's see how I can activate it...");
+ mes l("But I should probably get inside it, first.");
+ close;
+
+OnChannel:
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(8);
+
+ // Check location
+ getmapxy(.@m$, .@x, .@y, 0);
+ if (.@x < 52 ||
+ .@x > 54 ||
+ .@y < 37 ||
+ .@y > 38) end;
+
+ // Only party leader may proceed
+ .@p=getcharid(1);
+ if (strcharinfo(0) != getpartyleader(.@p)) {
+ percentheal 0, -25;
+ specialeffect(312, AREA, getcharid(3));
+ dispbottom l("Argh! I assume I can't do this chant!");
+ end;
+ }
+
+ // Bonus is based on int
+ .@bonus = readparam2(bInt) / 25;
+ // Unlike TMW's, all Lazurites show up at same place
+ // ...
+ // amount of initial magic power
+ .@magic_power = 1811 + readparam2(bInt)*2;
+ // Channelling required power depends on the base Int of the character
+ .@magic_power_required = 5707 - 2*readparam2(bInt);
+ // magic power loss depends also on Int. TMW uses 53, we use 21
+ .@magic_power_loss = 21 - (((readparam2(bInt)+1)*2)/10);
+
+ dispbottom l("Ok, let's stay focused now!");
+ areamonster getmap(), 27, 20, 77, 47, strmobinfo(1, Forain), Forain, 1;
+ // TODO: Loop
+ debugmes "NPC: %s / %s (%d)", .name$, .extname$, instance_id();
+ .aid=getcharid(3);
+ .mp$=getmap();
+ .power=.@magic_power;
+ .state=0;
+ .maxpw=.@magic_power_required;
+ .mloss=.@magic_power_loss;
+ initnpctimer;
+ end;
+
+OnTimer13000:
+ initnpctimer; // Reset timer
+ // Time to spawn monsters
+ .@pc = getmapusers(.mp$);
+ areamonster .mp$, 56, 30, 60, 31, "Guardian", Scar, 1+.@pc;
+ areamonster .mp$, 27, 20, 77, 47, strmobinfo(1, Forain), Forain, 2;
+ // Terranites only show up when doing multiplayer, based on number of players
+ if (.@pc >= 2)
+ areamonster .mp$, 56, 30, 60, 31, "Guardian", Terranite, (.@pc/2);
+OnTimer10000:
+OnTimer8000:
+OnTimer6000:
+OnTimer4000:
+OnTimer2000:
+ if (instance_id() < 0) end;
+
+ if (!attachrid(.aid)) {
+ npctalk "The caster ceased to exist!";
+ stopnpctimer;
+ end;
+ }
+
+ getmapxy(.@m$, .@x, .@y, 0, .aid);
+ if (.@m$ != .mp$) {
+ npctalk "The caster is gone!";
+ stopnpctimer;
+ end;
+ }
+ if (.@x < 52 ||
+ .@x > 54 ||
+ .@y < 37 ||
+ .@y > 38) {
+ npctalk "The caster left the power circle!";
+ dispbottom l("The magic accumulated backfires at you!");
+ heal -(.power), -(.power/2);
+ stopnpctimer;
+ end;
+ }
+
+ // Harm you
+ //misceffect FX_CHANNELLING_RAISE;
+ percentheal -4, -1;
+
+ if (ispcdead()) {
+ npctalk "The caster is dead!";
+ stopnpctimer;
+ end;
+ }
+ if (Sp <= 0) {
+ npctalk "The caster ran out of mana!";
+ stopnpctimer;
+ end;
+ }
+
+ // Deplete power over time
+ // But only if not doing solo
+ if (getmapusers(.mp$) > 1 || .mloss < 0)
+ .power -= .mloss;
+
+ // Remove stones inside the circle
+ .@cat=getareadropitem(.mp$, 52, 37, 54, 39, LazuriteShard, true) * 12;
+ .@cbt=getareadropitem(.mp$, 52, 37, 54, 39, LazuriteCrystal, true) * 32;
+ .@cct=getareadropitem(.mp$, 52, 37, 54, 39, LazuriteHeart, true) * 65;
+
+ // Grant them POWER
+ .power+=.@cat+.@cbt+.@cct;
+ .@cur = 4 * .power / .maxpw; // Goes from 0 to 4
+
+ // Check status and update
+ if (.@cur < .status)
+ npctalk "NOTICING a sudden power loss!";
+ else if (.@cur > .status)
+ npctalk "NOTICING an increase of power!";
+ .status=.@cur;
+
+ // Are we done?
+ if (.power >= .maxpw) {
+ npctalk "*the gate spell has been redefined*";
+ if (getcharid(1) > 0) {
+ $@VALIA_STATUS[getcharid(1)]=9;
+ stopnpctimer;
+ .power=0;
+ .mloss=0;
+ .maxpw=0;
+ .state=0;
+ .mp$="";
+ .aid=0;
+ }
+ stopnpctimer;
+ end;
+ }
+ detachrid();
+ // Should we spawn items?
+ .@t = (getnpctimer(0)+500) / 1000;
+ // Item time!
+ if (.@t == 6 ||
+ .@t == 10) {
+ .@i = 0;
+ // More Shards than Crystals and Hearts
+ freeloop(true);
+ while (.@i < ((5-getmapusers(.mp$)) * 2 + 5)) {
+ .@it=any(LazuriteShard, LazuriteShard, LazuriteShard,
+ LazuriteCrystal, LazuriteCrystal,
+ LazuriteHeart);
+ makeitem(.@it, 1, .mp$, rand2(27, 77), rand2(20, 47));
+ .@i += 1;
+ }
+ freeloop(false);
+ }
+ end;
+
+OnTalkNearby:
+ // not very obvious stuff by gumi
+ .@no_nick$ = strip(substr($@p0$, getstrlen(strcharinfo(PC_NAME)) + 3, getstrlen($@p0$) - 1));
+ .@message$ = strtoupper(.@no_nick$);
+ if (.@message$ == "CATALAZULI") {
+ goto OnChannel;
+ }
+ end;
+
+OnInit:
+OnInstanceInit:
+ .distance=3;
+ .pid=getnpcid();
+ // For players
+ .aid=0;
+ .mp$="";
+ .power=0;
+ .state=0;
+ .maxpw=0;
+ .mloss=0;
+
+ debugmes "Gemini Pattern %d", .pid;
+ //defpattern(.pid, "^([Kk][Aa][Tt][Aa][Zz][Uu][Ll][Ii])$", "OnTalkNearby");
+ defpattern(.pid, "^(.*)$", "OnTalkNearby");
+ activatepset(.pid);
+ end;
+}
+
diff --git a/npc/034-4/_import.txt b/npc/034-4/_import.txt
new file mode 100644
index 0000000..4e1f47c
--- /dev/null
+++ b/npc/034-4/_import.txt
@@ -0,0 +1,6 @@
+// Map 034-4: Forsaken Inn
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/034-4/exit.txt",
+"npc/034-4/intro.txt",
+"npc/034-4/lobby.txt",
+"npc/034-4/storage.txt",
diff --git a/npc/034-4/exit.txt b/npc/034-4/exit.txt
new file mode 100644
index 0000000..07d96ea
--- /dev/null
+++ b/npc/034-4/exit.txt
@@ -0,0 +1,276 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Gemini Sisters Quest - Part D: Final Chamber
+
+034-4,144,82,0 script #GeminiFExit NPC_HIDDEN,0,0,{
+
+OnWumpus:
+ GeminiCheck(15);
+ .@q = getq2(HurnscaldQuest_Gemini);
+ // TODO: Maybe exchange an Wumpus Egg for a Sunny Crystal or Mylarin Dust?
+ // Have a NPC do so only once, for the Savior set.
+ if (.@q == 0 || .@q == 2 || (.@q > 5 && !(.@q % 3)))
+ getitem WumpusEgg, 1;
+ else
+ getitem LightGreenDiamond, 1;
+ getexp 0, rand2(7500, 9999);
+ setq2 HurnscaldQuest_Gemini, .@q + 1;
+ @forced_sick$ = "";
+ end;
+
+OnRw:
+ getitem StrangeCoin, 1;
+ if (!GEMINI_WINNER)
+ GEMINI_WINNER = gettimetick(2);
+ end;
+
+OnExit:
+ .@p=getcharid(1);
+ partytimer(MAZE_MAP$, 10, "#GeminiFExit::OnRw", getcharid(1));
+ if ($GEMINI_WINNER$ == "") {
+ $GEMINI_WINNER$=strcharinfo(0);
+ channelmes("#world", $GEMINI_WINNER$+" is the first player to finish Gemini Sisters Quest!! GG, dude! %%N");
+ announce "All hail ##B"+$GEMINI_WINNER$+"##b, first to complete the ##3Gemini Sisters Quest!", bc_all|bc_npc;
+ getitem PrismGift, 1;
+ mesc l("CONGRATULATIONS! You are the first player to finish Gemini Sisters quest!!"), 2;
+ mesc l("You just gained a Prism Gift for your bravery!"), 2;
+ next;
+ }
+ sleep2(400);
+ warp "014-2-2", 35, 20;
+ warpparty("014-2-2", 35, 20, getcharid(1), MAZE_MAP$, true);
+ end;
+
+OnTouch:
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(15);
+ // Only the party leader go ahead
+ if (strcharinfo(0) != getpartyleader(getcharid(1))) {
+ mes l("Only %s has the key.", getpartyleader(getcharid(1)));
+ close;
+ }
+
+ mesc l("Are you sure you want to leave?"), 1;
+ mesc l("You, and everyone on the party, won't be able to return."), 1;
+ if (askyesno() == ASK_NO) close;
+ closeclientdialog;
+
+ // Create maze and populate (From 45x45 to 60x60)
+ CreateMaze(IOT_CHAR, MAZE_SIZE_M | MAZE_SIZE_G);
+ .@mx=getmapinfo(MAPINFO_SIZE_X, MAZE_MAP$)-20;
+ .@my=getmapinfo(MAPINFO_SIZE_Y, MAZE_MAP$)-20;
+ .@tl=(20-.@mx)*(20-.@my) * 3 / 10; // Total tiles + collision guess
+ .@tl=(.@tl / 10) + 1; // Monster density is a bit random
+
+ /* *** Copied from 006-5/groata.txt & 018-2-2/main.txt! *** */
+ .@mb[0] = MagicGoblin;
+ .@mb[1] = CaveMaggot;
+ array_push(.@mb, BronzeChest);
+ array_push(.@mb, SmallMagicBif);
+ array_push(.@mb, Bif);
+ array_push(.@mb, RobinBandit);
+ array_push(.@mb, SilverChest);
+ array_push(.@mb, DustGatling);
+ array_push(.@mb, MagicBif);
+ array_push(.@mb, DustRifle);
+ array_push(.@mb, DustRevolver);
+ array_push(.@mb, GoldenChest);
+ array_push(.@mb, GreatMoubooSlime);
+ array_push(.@mb, Piousse);
+ array_push(.@mb, ManaPiou);
+ array_push(.@mb, ForestPiou);
+ array_push(.@mb, HouseMaggot);
+ array_push(.@mb, LittleYellowSlime);
+ array_push(.@mb, MoubooSlime);
+ array_push(.@mb, SmallFrog);
+ array_push(.@mb, BigFrog);
+ array_push(.@mb, Lavern);
+ array_push(.@mb, LittleRedSlime);
+ array_push(.@mb, ChocolateSlime);
+ array_push(.@mb, Duck);
+ array_push(.@mb, Bat);
+ array_push(.@mb, CaveMaggot);
+ array_push(.@mb, ManaGhost);
+ array_push(.@mb, ManaBug);
+ array_push(.@mb, FireGoblin);
+ array_push(.@mb, ViciousSquirrel);
+ array_push(.@mb, RedScorpion);
+ array_push(.@mb, WhiteSlime);
+ array_push(.@mb, AzulSlime);
+ array_push(.@mb, DesertLogHead);
+ array_push(.@mb, RedSlime);
+ array_push(.@mb, DesertBandit);
+ array_push(.@mb, Sarracenus);
+ array_push(.@mb, IceMaggot);
+ array_push(.@mb, VampireBat);
+ array_push(.@mb, Bandit);
+ array_push(.@mb, Assassin);
+ array_push(.@mb, Skeleton);
+ array_push(.@mb, CaveSnake);
+ array_push(.@mb, GreenSlime);
+ array_push(.@mb, CopperSlime);
+ array_push(.@mb, YellowSlime);
+ array_push(.@mb, SantaSlime);
+ array_push(.@mb, LavaSlime);
+ array_push(.@mb, Bluepar);
+ array_push(.@mb, DeathCat);
+ array_push(.@mb, Moggun);
+ array_push(.@mb, RedMushroom);
+ array_push(.@mb, CandiedSlime);
+ array_push(.@mb, OldSnake);
+ array_push(.@mb, GrassSnake);
+ array_push(.@mb, Snake);
+ array_push(.@mb, BlackSlime);
+ array_push(.@mb, Pollet);
+ array_push(.@mb, PiouKnight);
+ array_push(.@mb, Shrewboo);
+ array_push(.@mb, Wolvern);
+ array_push(.@mb, FireSkull);
+ array_push(.@mb, DarkLizard);
+ array_push(.@mb, ArmoredSkeleton);
+ array_push(.@mb, BlackScorpion);
+ array_push(.@mb, ElectroWorm);
+ array_push(.@mb, EarthFairy);
+ array_push(.@mb, FireFairy);
+ array_push(.@mb, WaterFairy);
+ array_push(.@mb, WindFairy);
+ array_push(.@mb, PoisonFairy);
+ array_push(.@mb, MountainSnake);
+ array_push(.@mb, HoodedNinja);
+ array_push(.@mb, ForestMushroom);
+ array_push(.@mb, GoldenScorpion);
+ array_push(.@mb, FallenGuard2);
+ array_push(.@mb, WickedMushroom);
+ array_push(.@mb, Archant);
+ array_push(.@mb, Scar);
+ array_push(.@mb, Crafty);
+ array_push(.@mb, Forain);
+ array_push(.@mb, GreenDragon);
+ array_push(.@mb, Michel);
+ array_push(.@mb, Troll);
+ array_push(.@mb, EliteDuck);
+ array_push(.@mb, AzulSkullSlime);
+ array_push(.@mb, Moonshroom);
+ array_push(.@mb, RedSkullSlime);
+ array_push(.@mb, Terranite);
+ array_push(.@mb, JackO);
+ array_push(.@mb, BlackMamba);
+ array_push(.@mb, GreenSkullSlime);
+ array_push(.@mb, BloodyMouboo);
+ array_push(.@mb, GoboBear);
+ array_push(.@mb, TerraniteProtector);
+ array_push(.@mb, WhirlyBird);
+
+ /* Spawn them and make hostile */
+ freeloop(true);
+ for (.@i = 0; .@i < 1+(.@tl); .@i++) {
+ .@mid = any_of(.@mb);
+ .@m=areamonster(MAZE_MAP$, 20, 20, .@mx, .@my, strmobinfo(1, .@mid), .@mid, 1);
+ set_aggro(.@m);
+ }
+ freeloop(false);
+
+ // Spawn & Configure the boss monster
+ // Defeating the boss yields a bonus
+ .@mob=areamonster(MAZE_MAP$, 60, 60, .@mx-40, .@my-40, "Wumpus?", PanthomLord, 1, "#GeminiFExit::OnWumpus");
+ setunitdata(.@mob, UDT_MAXHP, 250000);
+ setunitdata(.@mob, UDT_HP, 250000);
+ setunitdata(.@mob, UDT_SPEED, 275);
+ setunitdata(.@mob, UDT_HIT, 3500);
+ setunitdata(.@mob, UDT_DMOTION, 50);
+
+ // NOTE: Once you exit, put the quest in cooldown for 4 hours as well.
+ .@mx = getmapinfo(MAPINFO_SIZE_X, MAZE_MAP$); .@my = getmapinfo(MAPINFO_SIZE_Y, MAZE_MAP$);
+ .@mob=monster(MAZE_MAP$, .@mx-25, .@my-25, "Exit", FortressGate, 1, "#GeminiFExit::OnExit");
+ setunitdata(.@mob, UDT_MAXHP, 50000);
+ setunitdata(.@mob, UDT_HP, 50000);
+
+ // Miscellaneous data
+ .@old$=getmap();
+ .@p=getcharid(1);
+ InitMaze(7200, false);
+ $@VALIA_STATUS[.@p]=16;
+ sleep2(500);
+ changeplayermusic "Arabesque.ogg";
+ dispbottom l("It was a trap! We must escape!");
+ $@VALIA_MAP$[.@p]=getmap();
+ partytimer(.@old$, 2000, "#GeminiFExit::OnSick", .@p);
+ sleep2(2000);
+ @forced_sick$ = getmap();
+ doevent "#DungeonCore::OnSick";
+ end;
+
+OnSick:
+ .@p=getcharid(1);
+ MAZE_MAP$ = $@VALIA_MAP$[.@p];
+ // Find random, warpable coordinates
+ .@e=0; .@x=0; .@y=0;
+ .@mx=40; .@my=40;
+ do {
+ .@x = rand2(20, .@mx);
+ .@y = rand2(20, .@my);
+ .@e += 1;
+ if (.@e > 30) {
+ consolebug("Too many failures at Maze \"%s\"! Trying anyway!", MAZE_MAP$);
+ break;
+ }
+ } while (!checknpccell(MAZE_MAP$, .@x, .@y, cell_chkpass));
+
+ warp MAZE_MAP$, .@x, .@y;
+ sleep2(500);
+ changeplayermusic "Arabesque.ogg";
+ dispbottom l("It was a trap! We must escape!");
+ sleep2(2000);
+ @forced_sick$ = getmap();
+ doevent "#DungeonCore::OnSick";
+ end;
+}
+
+034-4,146,83,0 script Chest#gemini NPC_CHEST,{
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(15);
+ // Already taken
+ if (@mystatus > 20) {
+ dispbottom l("I already took my share from this chest.");
+ end;
+ }
+ // One prize per person
+ inventoryplace Iten, 1;
+ @mystatus = 99;
+ // Non party leaders receive "less"
+ if (strcharinfo(0) != getpartyleader(getcharid(1))) {
+ Mobpt+=7500;
+ getexp 96000, 900;
+ dispbottom l("I found %s and %s!", "7,500 "+l("monster points"), "96,000 "+l("experience points"));
+ end;
+ }
+ // Party leaders receive "more"
+ .@q = getq(HurnscaldQuest_Gemini);
+ setq HurnscaldQuest_Gemini, .@q + 1;
+ //getitem RentCart, 1; // Not rented
+ switch (.@q) {
+ case 1:
+ getitem SarabArmlet, 1;
+ dispbottom l("I found %s!", l("a(n) ")+getitemlink(SarabArmlet));
+ break;
+ case 2:
+ getitem StrangeCoin, 150;
+ getitem MysteriousFruit, 1;
+ dispbottom l("I found %s and %s!", "150 "+getitemlink(StrangeCoin), ("a(n) ")+getitemlink(MysteriousFruit));
+ break;
+ default:
+ Mobpt+=7500;
+ getexp 96000, 900;
+ dispbottom l("I found %s and %s!", "7,500 "+l("monster points"), "96,000 "+l("experience points"));
+ end;
+ }
+ end;
+
+OnInit:
+ .distance=2;
+ end;
+}
+
+
diff --git a/npc/034-4/intro.txt b/npc/034-4/intro.txt
new file mode 100644
index 0000000..43692a3
--- /dev/null
+++ b/npc/034-4/intro.txt
@@ -0,0 +1,211 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Gemini Sisters Quest - Part A: Party Room
+
+034-4,43,52,0 script #GeminiNoBack NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(8);
+ npctalkonce l("Oh noes ─ the door is sealed! We can only press forward and failure is final!");
+ end;
+}
+
+034-4,43,51,0 script #GeminiIntro NPC_HIDDEN,2,2,{
+ end;
+OnTouch:
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(8);
+ .@p=getcharid(1);
+ if (strcharinfo(0) != getpartyleader(.@p)) end;
+
+ if (!.state) {
+ .mp$ = getmap();
+ .pn$ = getpartyname(getcharid(1));
+ .pid = getcharid(1);
+ .state = true;
+ initnpctimer;
+ killmonsterall(.mp$); // Cancel everything done thus far, incl. showdown
+ }
+ end;
+
+OnTimer1000:
+ .luvia = monster(.mp$, 48, 45, "Luvia Gemini", Luvia, 1);
+ immortal(.luvia);
+ setunitdata(.luvia, UDT_MODE, MD_BOSS|MD_PLANT|MD_NOKNOCKBACK);
+ end;
+
+OnTimer2500:
+ unittalk(.luvia, "Well, well, well, look at what we have here!");
+ end;
+
+OnTimer6000:
+ unittalk(.luvia, sprintf("If it isn't the so-called \"%s\"!", .pn$));
+ end;
+
+OnTimer9500:
+ unittalk(.luvia, "I'm sure it was a long journey to reach here, and well, this IS an Inn.");
+ end;
+
+
+OnTimer13000:
+ unittalk(.luvia, "Where are my manners, of course I'll offer you room to sleep...");
+ end;
+
+
+OnTimer16500:
+ unittalk(.luvia, "...Yes, I'll put all of you to sleep... PERMANENTLY! Hahahaha!");
+ .@pi = getmapusers(.mp$) + 2;
+ areamonster(.mp$, 45, 40, 54, 45, strmobinfo(1, Scar), Scar, .@pi / 2);
+ setunitdata(.luvia, UDT_MODE, MD_BOSS|MD_PLANT|MD_NOKNOCKBACK|MD_CANMOVE);
+ unitwalk(.luvia, 51, 45);
+ end;
+
+OnTimer18000:
+ unitwalk(.luvia, 51, 38);
+ end;
+
+OnTimer20000:
+ .@pi = getmapusers(.mp$) + 1;
+ areamonster(.mp$, 45, 40, 54, 45, strmobinfo(1, Scar), Scar, .@pi);
+ unittalk(.luvia, "HAHAHahahaha!");
+ unitwalk(.luvia, 50, 34);
+ end;
+
+OnTimer24000:
+ .@pi = getmapusers(.mp$) + 1;
+ monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, .@pi);
+ monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, .@pi);
+ unitwalk(.luvia, 50, 29);
+ end;
+
+OnTimer28000:
+ .@pi = getmapusers(.mp$) + 1;
+ monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, .@pi);
+ unitwarp(.luvia, "034-4", 45, 45);
+ end;
+
+OnTimer25000:
+ unitkill(.luvia);
+ end;
+
+OnTimer50000:
+ .@pi = getmapusers(.mp$) + 1;
+ monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, .@pi);
+ monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, .@pi);
+ monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, .@pi * 3 / 2);
+ end;
+
+// 1 minute
+
+OnTimer110000:
+ monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, 1);
+ monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, 1);
+ monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, 1);
+ end;
+
+// 40 seconds
+
+OnTimer150000:
+ .@pi = getmapusers(.mp$) + 1;
+ monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, .@pi * 3 / 2);
+ monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, .@pi);
+ monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, .@pi);
+ monster(.mp$, 43, 52, strmobinfo(1, BlackMamba), BlackMamba, 1);
+ end;
+
+// 1 minute
+
+OnTimer210000:
+ monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, 1);
+ monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, 1);
+ monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, 1);
+ end;
+
+// 1 minute
+
+OnTimer270000:
+ .@pi = getmapusers(.mp$) + 1;
+ monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, .@pi * 3 / 2);
+ monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, .@pi);
+ monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, .@pi);
+ monster(.mp$, 43, 52, strmobinfo(1, Terranite), Terranite, 1+(.@pi/2));
+ end;
+
+// 1.5 minutes
+
+OnTimer360000:
+ .@pi = getmapusers(.mp$) + 1;
+ monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, 1+(.@pi/2));
+ monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, 1+(.@pi/2));
+ monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, 1+(.@pi/2));
+ monster(.mp$, 50, 29, strmobinfo(1, Terranite), Terranite, .@pi);
+ monster(.mp$, 43, 52, strmobinfo(1, Forain), Forain, .@pi);
+ monster(.mp$, 37, 33, strmobinfo(1, AzulSkullSlime), AzulSkullSlime, 1+(.@pi/2));
+ end;
+
+// 1 minute
+
+OnTimer420000:
+ monster(.mp$, 50, 29, strmobinfo(1, Scar), Scar, 1);
+ monster(.mp$, 43, 52, strmobinfo(1, Scar), Scar, 1);
+ monster(.mp$, 37, 33, strmobinfo(1, Scar), Scar, 1);
+ end;
+
+// 1 minute
+
+OnTimer480000:
+ .@pi = getmapusers(.mp$) + 1;
+ monster(.mp$, 50, 29, strmobinfo(1, Terranite), Terranite, .@pi);
+ monster(.mp$, 43, 52, strmobinfo(1, BlackSlimeMother), BlackSlimeMother, 1);
+ monster(.mp$, 37, 33, strmobinfo(1, BlackMamba), BlackMamba, .@pi + 4);
+ end;
+
+// +1 minute
+
+// Bypass, or it'll take... a while
+OnTimer40000:
+ if (!$@GM_OVERRIDE) end;
+OnTimer540000:
+ .@pi = getmapusers(.mp$) + 1;
+ monster(.mp$, 50, 29, strmobinfo(1, GoboBear), GoboBear, 1+(.@pi/2));
+ $@VALIA_STATUS[.pid] = 10;
+ stopnpctimer;
+ end;
+
+OnInit:
+OnInstanceInit:
+ .state = false;
+ .mp$ = "";
+ .pn$ = "";
+ .pid = 0;
+ .luvia = 0;
+ end;
+}
+
+
+034-4,50,29,0 script #GeminiPartB NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(8);
+ .@p=getcharid(1);
+ if ($@VALIA_STATUS[.@p] < 10) {
+ dispbottom l("Uh? I can't pass. I wonder why, maybe I need to wait?");
+ end;
+ }
+ if (mobcount(getmap(), "all") > 0) {
+ dispbottom l("I should defeat all mobs before passing.");
+ end;
+ }
+ if (mobcount(getmap(), "all") <= 0 && $@VALIA_STATUS[.@p] == 10) {
+ $@VALIA_STATUS[.@p]=11;
+ }
+ if ($@VALIA_STATUS[.@p] >= 11) {
+ slide 33, 81;
+ }
+ end;
+}
+
diff --git a/npc/034-4/lobby.txt b/npc/034-4/lobby.txt
new file mode 100644
index 0000000..dd9a267
--- /dev/null
+++ b/npc/034-4/lobby.txt
@@ -0,0 +1,263 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Gemini Sisters Quest - Part C: Showdown
+
+034-4,98,22,0 script #GeminiPartD NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(13);
+ .@p=getcharid(1);
+ if ($@VALIA_STATUS[.@p] < 14 || mobcount(getmap(), "#GeminiShowdown::OnABC")) {
+ dispbottom l("Luvia is too dangerous to be left alone.");
+ end;
+ }
+ if (mobcount(getmap(), "all") > 0) {
+ dispbottom l("I cannot leave until Luvia and her allies are dead.");
+ end;
+ }
+ if (mobcount(getmap(), "all") <= 0 && $@VALIA_STATUS[.@p] == 14) {
+ $@VALIA_STATUS[.@p]=15;
+ }
+ if ($@VALIA_STATUS[.@p] >= 15) {
+ if (!@v_fanfare)
+ specialeffect(FX_FANFARE, SELF, getcharid(3));
+ slide 143, 96;
+ }
+ end;
+}
+
+// 98 36 with radius 12?
+034-4,98,28,0 script #GeminiShowdown NPC_HIDDEN,2,1,{
+ end;
+OnTouch:
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(13);
+ .@p=getcharid(1);
+ if (strcharinfo(0) != getpartyleader(.@p)) end;
+
+ if (!.state) {
+ .mp$ = getmap();
+ .beats = 0;
+ .pid = getcharid(1);
+ .state = true;
+ initnpctimer;
+ killmonsterall(.mp$); // Cancel everything done thus far, incl. showdown
+ }
+ end;
+
+OnABC:
+ // Extra drop chance (20% chance)
+ getmapxy(.@m$, .@x, .@y, 0);
+ if (!rand2(5))
+ makeitem BronzeBossGift, 1, .@m$, .@x, .@y;
+ end;
+
+OnTimer1000:
+ .luvia = monster(.mp$, 98, 32, "Luvia Gemini", Luvia, 1);
+ immortal(.luvia);
+ setunitdata(.luvia, UDT_MODE, MD_BOSS|MD_PLANT|MD_NOKNOCKBACK);
+ end;
+
+OnTimer2500:
+ unittalk(.luvia, "Ara! Look at who is trying to sneak past me!");
+ end;
+
+OnTimer6000:
+ unittalk(.luvia, "How silly. I prepared this party for ya, you know.");
+ end;
+
+OnTimer9500:
+ unittalk(.luvia, "Isbamuth wants all of you dead ─ And I'll carry out his orders.");
+ end;
+
+OnTimer13000:
+ unittalk(.luvia, "Long live Isbamuth... And death to traitors! Now begone!!");
+ end;
+
+OnTimer15000:
+ // Create a new Luvia Gemini
+ unitwarp(.luvia, "034-4", 98, 32);
+ unitkill(.luvia);
+ .luvia = monster(.mp$, 98, 38, "Luvia Gemini", Luvia, 1, "#GeminiShowdown::OnABC");
+
+ // Grant her more HP if more players came to attack her
+ .@hp = getunitdata(.luvia, UDT_MAXHP) + (getmapusers(.mp$) * 12000);
+ setunitdata(.luvia, UDT_MAXHP, .@hp);
+ setunitdata(.luvia, UDT_HP, .@hp);
+
+ // Reconfigure the AI
+ .@opt=getunitdata(.luvia, UDT_MODE);
+ // Add knockback immunity
+ .@opt=.@opt|MD_NOKNOCKBACK;
+ // Make it more op
+ .@opt=.@opt|MD_DETECTOR;
+ .@opt=.@opt|MD_CASTSENSOR_CHASE;
+ .@opt=.@opt|MD_CASTSENSOR_IDLE;
+ .@opt=.@opt|MD_CHANGECHASE;
+ .@opt=.@opt|MD_CHANGETARGET_MELEE;
+ .@opt=.@opt|MD_CHANGETARGET_CHASE;
+ setunitdata(.luvia, UDT_MODE, .@opt);
+
+
+ // Prepare the party, lalala!
+ .@pi = getmapusers(.mp$) * 2 + 1;
+ monster(.mp$, 117, 51, strmobinfo(1, Scar), Scar, .@pi);
+ monster(.mp$, 83, 58, strmobinfo(1, Scar), Scar, .@pi);
+ monster(.mp$, 83, 51, strmobinfo(1, Scar), Scar, .@pi);
+ monster(.mp$, 114, 29, strmobinfo(1, Scar), Scar, .@pi);
+ monster(.mp$, 98, 22, strmobinfo(1, Scar), Scar, .@pi);
+ $@VALIA_STATUS[.pid] = 14;
+ end;
+
+// The fight loops from 20k (the restart point)
+// So this cycle happens every 10 seconds
+OnTimer60000:
+OnTimer45000:
+ consolewarn("Warning, fail-safe mechanism triggered to Luvia.");
+OnTimer30000:
+ if (mobcount(.mp$, "#GeminiShowdown::OnABC") < 1) {
+ stopnpctimer;
+ end;
+ }
+ .beats+=1;
+
+ /* Prepare some data */
+ .@hp = getunitdata(.luvia, UDT_HP) * 10 / getunitdata(.luvia, UDT_MAXHP);
+ .@pi = getmapusers(.mp$);
+ getmapxy(.@m$, .@x, .@y, UNITTYPE_MOB, .luvia);
+ .@c=getunits(BL_PC, .@pcs, MAX_CYCLE_PC, .@m$);
+ /*.@mvp=0;.@rnd=0;.@def=-1;
+ for (.@i = 0; .@i < .@c; .@i++) {
+ if (!.@rnd || !rand2(.@c))
+ .@rnd=.@pcs[.@i];
+ if (readbattleparam(.@pcs[.@i], UDT_DEF) > .@def) {
+ if (readparam(Hp, .@pcs[.@i]) < 1) continue;
+ .@mvp=.@pcs[.@i];
+ .@def=readbattleparam(.@pcs[.@i], UDT_DEF);
+ }
+ }*/
+
+ // Luvia's spell casting
+ // She casts every ~30 seconds
+ switch (.beats % 18) {
+ case 0:
+ case 6:
+ case 12:
+ unittalk(.luvia, "Hahahah, die, die!");
+ specialeffect(64, AREA, .luvia);
+ sleep(1000);
+ monster(.mp$, .@x, .@y, strmobinfo(1, Scar), Scar, .@pi + max(1, (11 - .@hp) / 10));
+ monster(.mp$, .@x, .@y, strmobinfo(1, MagicGoblin), MagicGoblin, .@pi + max(1, (11 - .@hp) / 10));
+ // Doors reinforcements
+ // As time passes, they get stronger
+ // But after 7 minutes, it resets
+ switch ((.beats / 6) % 14) {
+ case 0:
+ .@mob = Skeleton; break; // Shouldn't trigger
+ case 1:
+ .@mob = LavaSlime; break;
+ case 2:
+ .@mob = ArmoredSkeleton; break;
+ case 3:
+ .@mob = DustRifle; break;
+ case 4:
+ .@mob = DarkLizard; break;
+ case 5:
+ .@mob = HoodedNinja; break;
+ case 6:
+ .@mob = Archant; break;
+ case 7:
+ .@mob = Scar; break;
+ case 8:
+ .@mob = Terranite; break;
+ case 9:
+ .@mob = EliteDuck; break;
+ case 10:
+ .@mob = Troll; break;
+ case 11:
+ .@mob = YellowSkullSlime; break;
+ case 12:
+ .@mob = Michel; break;
+ case 13:
+ .@mob = JackO; break;
+ }
+
+ monster(.mp$, 114, 29, strmobinfo(1, .@mob), .@mob, 1);
+ // If you can't deal enough damage, less support comes
+ if (.@hp <= 7) // Up to 79% HP
+ monster(.mp$, 117, 51, strmobinfo(1, .@mob), .@mob, 1);
+ if (.@hp <= 6) // Up to 69% HP
+ monster(.mp$, 98, 22, strmobinfo(1, .@mob), .@mob, 1);
+ if (.@hp <= 4) // Up to 39% HP
+ monster(.mp$, 83, 58, strmobinfo(1, .@mob), .@mob, 1);
+ if (.@hp <= 3) // Up to 29% HP
+ monster(.mp$, 83, 51, strmobinfo(1, .@mob), .@mob, 1);
+ break;
+ case 3:
+ case 9:
+ case 15:
+ specialeffect(60, AREA, .luvia);
+ sleep(500);
+ .@r = (10-.@hp) / 5 + rand2(4); // From 0 to 5
+ // Blind has extra chance until her HP falls below 60%
+ // Curse won't happen if her HP is equal or above 60%
+ // Once her HP falls below 10%, she no longer silences
+ // And her poison is strengthened.
+ switch (.@r) {
+ case 1:
+ unittalk(.luvia, "The dead are ##Bsilent##b, just like you!");
+ .@sc = SC_SILENCE;
+ break;
+ case 2:
+ unittalk(.luvia, "I am your doom, and ##Bpoison##b is my tool!");
+ .@sc = (.@hp < 1 ? SC_DPOISON : SC_POISON);
+ break;
+ case 3:
+ unittalk(.luvia, "You shall ##Bbleed##b, and cease!");
+ .@sc = SC_BLOODING;
+ break;
+ case 4:
+ unittalk(.luvia, "You dare to underestimate me?! ##BCurse##b you!");
+ .@sc = SC_CURSE;
+ break;
+ default:
+ unittalk(.luvia, "You won't see what killed you when ##Bblind##b!");
+ .@sc = SC_BLIND;
+ break;
+ }
+ areasc(9, 45000, .@sc, BL_PC|BL_HOM|BL_MER, 1, "filter_always", .luvia, 95000);
+ .@dmg=100 + (max(1, (11 - .@hp) / 10) * 40);
+ areaharm(.luvia, 9, .@dmg, HARM_MAGI, any(Ele_Water,Ele_Fire,Ele_Wind,Ele_Earth), "filter_always", BL_PC|BL_MER|BL_HOM);
+ break;
+ default:
+ specialeffect(60, AREA, .luvia);
+ unittalk(.luvia, any("I am getting tired of you!",
+ "That's all you can muster?",
+ "Long live Isbamuth!",
+ "Hahahahah!",
+ "Incompetent! Simply incompetent!",
+ "You shall not resist!",
+ "I'm not afraid of you!"));
+ sleep(500);
+ .@dmg=40 + (max(1, (11 - .@hp) / 10) * 20);
+ areaharm(.luvia, 9, .@dmg, HARM_MAGI, any(Ele_Water,Ele_Fire,Ele_Wind,Ele_Earth), "filter_always", BL_PC|BL_MER|BL_HOM);
+ break;
+ }
+
+ // And we're done! Wait 10 seconds before next casting
+ setnpctimer 20000;
+ end;
+
+OnInit:
+OnInstanceInit:
+ .state = false;
+ .mp$ = "";
+ .pid = 0;
+ .luvia = 0;
+ .beats = 0;
+ end;
+}
+
diff --git a/npc/034-4/storage.txt b/npc/034-4/storage.txt
new file mode 100644
index 0000000..893971f
--- /dev/null
+++ b/npc/034-4/storage.txt
@@ -0,0 +1,186 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Gemini Sisters Quest - Part B: Storage Room
+
+034-4,45,78,0 script #GeminiPartC NPC_HIDDEN,0,0,{
+ end;
+OnTouch:
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(11);
+ .@p=getcharid(1);
+ if ($@VALIA_STATUS[.@p] < 12) {
+ dispbottom l("Uh? I can't pass. I wonder why, maybe I need to wait?");
+ end;
+ }
+ if (mobcount(getmap(), "all") > 0) {
+ dispbottom l("I should defeat all mobs before passing.");
+ end;
+ }
+ if (mobcount(getmap(), "all") <= 0 && $@VALIA_STATUS[.@p] == 12) {
+ $@VALIA_STATUS[.@p]=13;
+ }
+ if ($@VALIA_STATUS[.@p] >= 13) {
+ slide 83, 58;
+ }
+ end;
+}
+
+034-4,33,77,0 script #GeminiStorei NPC_HIDDEN,2,2,{
+function storageutil;
+ end;
+OnTouch:
+ if (instance_id() < 0 || getcharid(1) < 1) end;
+ GeminiCheck(11);
+ .@p=getcharid(1);
+ if (strcharinfo(0) != getpartyleader(.@p)) end;
+
+ if (!.state) {
+ .mp$ = getmap();
+ .pn$ = getpartyname(getcharid(1));
+ .pid = getcharid(1);
+ .state = true;
+ /* We now must calculate amount of waves */
+ /* It is a hack for now, though */
+ .mto = 5 + (BaseLevel / 30) + getmapusers(.mp$);
+ initnpctimer;
+ killmonsterall(.mp$); // Cancel everything done thus far, incl. showdown
+ }
+ end;
+
+OnTimer1000:
+ .luvia = monster(.mp$, 37, 76, "Luvia Gemini", Luvia, 1);
+ immortal(.luvia);
+ setunitdata(.luvia, UDT_MODE, MD_BOSS|MD_PLANT|MD_NOKNOCKBACK);
+ end;
+
+OnTimer2500:
+ unittalk(.luvia, "So you aren't made of sugar!");
+ end;
+
+OnTimer6000:
+ unittalk(.luvia, "I was worried you would all have melted on the lobby!");
+ end;
+
+OnTimer9500:
+ unittalk(.luvia, "Hahaha, but this is just the beginning of your journey...");
+ end;
+
+
+OnTimer13000:
+ unittalk(.luvia, "I am Luvia Gemini, and this is my trial for you!");
+ end;
+
+
+OnTimer16500:
+ unittalk(.luvia, sprintf("Show me of what you are made of, %s!", .pn$));
+ .@pi = getmapusers(.mp$) + 2;
+ monster(.mp$, 44, 78, strmobinfo(1, Scar), Scar, .@pi);
+ end;
+
+OnTimer19000:
+ unittalk(.luvia, "HAHAHahahaha!");
+ end;
+
+OnTimer20000:
+ unitwarp(.luvia, "034-4", 45, 45);
+ end;
+
+OnTimer21000:
+ unitkill(.luvia);
+ end;
+
+OnTimer30000:
+ storageutil();
+ .sto += 1;
+ end;
+
+OnTimer45000:
+ if (.sto < .mto)
+ setnpctimer 22000;
+ monster(.mp$, 44, 78, strmobinfo(1, BlackMamba), BlackMamba, 1);
+ end;
+
+OnTimer60000:
+ .@pi = getmapusers(.mp$) + 1;
+ monster(.mp$, 44, 78, strmobinfo(1, GoboBear), GoboBear, .@pi);
+ $@VALIA_STATUS[.pid] = 12;
+ stopnpctimer;
+ end;
+
+
+function storageutil {
+ // Decide if we'll spawn or add items. Previous failures are NOT considerated.
+ .@r=rand2(10000)+(.sto * 100);
+
+ // Super rare drop?! (~1.5%)
+ if (.@r < 120 || .@r > 10000) {
+ makeitem(any(DeathPotion, PoisonAmmoBox, AncientBlueprint, ThornAmmoBox, MercBoxD, ScholarshipBadge, DarkDesertMushroom), 1, .mp$, rand2(30, 35), rand2(83, 86));
+ }
+
+ // Super strong monster?! (4%)
+ if ((.@r > 6000 && .@r < 6400) || .sto == 15 || .sto == 17 || .sto >= 20) {
+ .@mob=any(WanderingShadow, SeaSlimeMother, NightDragon, GiantMutatedBat, Reaper, Mandragora);
+ monster(.mp$, 44, 78, strmobinfo(1, .@mob), .@mob, 1);
+ // Warn players?
+ }
+
+ // Compulsory monster spawn
+ switch (.sto) {
+ case 0:
+ .@mob = ArmoredSkeleton; break;
+ case 1:
+ .@mob = DustRifle; break;
+ case 2:
+ .@mob = HoodedNinja; break;
+ case 3:
+ .@mob = WickedMushroom; break;
+ case 4:
+ .@mob = any(Archant, Scar); break;
+ case 5:
+ .@mob = Scar; break;
+ case 6:
+ .@mob = AzulSkullSlime; break;
+ case 7:
+ .@mob = Forain; break;
+ case 8:
+ .@mob = GreenDragon; break;
+ case 9:
+ .@mob = Michel; break;
+ case 10:
+ .@mob = EliteDuck; break;
+ case 11:
+ .@mob = Terranite; break;
+ case 12:
+ .@mob = JackO; break;
+ case 13:
+ .@mob = BloodyMouboo; break;
+ default:
+ .@mob = GoboBear;
+ }
+ monster(.mp$, 44, 78, strmobinfo(1, .@mob), .@mob, 1+getmapusers(.mp$));
+
+ // Compulsory item drop
+ // If it falls on a collision, the item won't be created at all
+ freeloop(true);
+ for (.@i=0; .@i <= ((.sto/2)+getmapusers(.mp$)); .@i++) {
+ makeitem(any(Wurtzite, ShadowHerb, AlizarinHerb, DiamondPowder, RubyPowder, EmeraldPowder, SapphirePowder, TopazPowder, AmethystPowder, CopperOre, IronOre, Coal, LeadOre, Lifestone, ScorpionClaw, WhiteFur, SquirrelPelt, TinOre, PileOfAsh, EmptyBottle, FluoPowder, TerraniteOre, SulfurPowder, LeatherPatch, LazuriteShard, Root, ReedBundle, GambogeHerb, MauveHerb, CobaltHerb, MaggotSlime, BugLeg, RawLog, BanditHood, BatWing, IronPowder, ArtichokeHerb, LeftCraftyWing, RightCraftyWing, Coral, BlueCoral, Pearl, Moss, RattoTail, RattoTeeth, Knife, SharpKnife, StrangeCoin, PurificationPotion, IcedBottle, Grenade, SmokeGrenade, TreasureMap, AgiPotionA, VitPotionA, IntPotionA, DexPotionA, LukPotionA, EmptyBox, HastePotion, StrengthPotion, Croconut, ChocolateBar, ChocolateBiscuit, PinkieLeg, Potatoz, Coffee, SnakeEgg, Plushroom, Chagashroom, Honey, MoubooSteak, Milk, Orange, CherryCake, Piberries, Aquada, Cheese, Bread, Acorn, Manana), 1, .mp$, rand2(30, 71), rand2(44, 87));
+ }
+ freeloop(false);
+ return;
+}
+
+OnInit:
+OnInstanceInit:
+ .state = false;
+ .mp$ = "";
+ .pn$ = "";
+ .pid = 0;
+ .luvia = 0;
+ .sto = 0;
+ .mto = 0;
+ end;
+}
+
+
diff --git a/npc/042-0/_import.txt b/npc/042-0/_import.txt
new file mode 100644
index 0000000..93ab827
--- /dev/null
+++ b/npc/042-0/_import.txt
@@ -0,0 +1,5 @@
+// Map 042-0: Camelot - Throne Room
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/042-0/_warps.txt",
+"npc/042-0/arthur.txt",
+"npc/042-0/mf.txt",
diff --git a/npc/042-0/_warps.txt b/npc/042-0/_warps.txt
new file mode 100644
index 0000000..064ab81
--- /dev/null
+++ b/npc/042-0/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 042-0: Camelot - Throne Room warps
+042-0,60,81,0 warp #042-0_60_81 3,0,014-4,67,27
diff --git a/npc/042-0/arthur.txt b/npc/042-0/arthur.txt
new file mode 100644
index 0000000..fc7565f
--- /dev/null
+++ b/npc/042-0/arthur.txt
@@ -0,0 +1,524 @@
+// TMW 2 Script
+// Author:
+// Jesusalva
+// Micksha
+// Description:
+// Part of Kamelot Guild Dungeon
+// TODO: Random guard (Tezer) on the cursed soldier statues (easter egg)
+
+042-0,58,28,0 script King Arthur NPC_KING_ARTHUR,{
+ function arthurSpawn;
+ .@g=getcharid(2);
+ .@pos=getguildrole(.@g, getcharid(3));
+ if (.@pos > GPOS_VICELEADER) goto L_Refusal;
+ if (getguildlvl(.@g) < 2) goto L_Annoyed;
+ if (!$KAMELOT_COOLDOWN[.@g]) goto L_Tutorial;
+ if ($KAMELOT_QUEST[.@g] & 1) goto L_Progress;
+ goto L_Prologue;
+
+L_Prologue:
+ mesn l("King Arthur the Micksha");
+ mes l("Hello Adventurer.");
+ next;
+ mesn l("King Arthur the Micksha");
+ mes l("So good you are here. We have a huge problem.");
+ next;
+ npctalk l("JAIL THEM!!");
+ mesn l("King Arthur the Corrupted");
+ mes col(l("JAIL THEM!!"), 9)+l(" -- No, wait!");
+ next;
+ select
+ "[START] "+l("What is going on here?"),
+ l("Your problems are not mine. By the way, you really should consider taking a shower."),
+ l("[TUTORIAL]"),
+ "[QUIT] "+l("You are weird, I have to go, sorry.");
+ mes "";
+ switch (@menu) {
+ case 1:
+ goto L_Quest;
+ case 2:
+ if (any(true, true, true, true, false))
+ goto L_Smash;
+ else
+ goto L_Annoyed;
+ case 3:
+ goto L_Tutorial;
+ case 4:
+ if (!any(true, true, true, true, false))
+ goto L_Smash;
+ else
+ goto L_Annoyed;
+ }
+ close;
+
+L_Quest:
+ mesn l("King Arthur the Micksha");
+ mes l("Something is happening down there.");
+ next;
+ npctalk l("GUARDS! GET THEM!");
+ mesn l("King Arthur the Corrupted");
+ mes l("It is so dangerous, and it... ")+col(l("GUARDS! GET THEM!"), 9);
+ next;
+ mesn l("King Arthur the Micksha");
+ mes l("You must be fast! The guards are also affected.");
+ next;
+ npctalk l("OFF WITH THEIR HEADS!");
+ mesn l("King Arthur the Corrupted");
+ mes col(l("OFF WITH THEIR HEADS!"), 9)+l(" Take this key, it opens the door behind my throne.");
+ next;
+ npctalk l("AFTER THEM!!");
+ mesn l("King Arthur the Corrupted");
+ mes l("Be careful! ")+col(l("AFTER THEM!!"), 9);
+ next;
+ // Be sure the quest only starts now, and destroy any eventual artifact
+ KamelotCleanup(.@g);
+ getguildmember(.@g, 2); // 2 = count by account IDs
+ $KAMELOT_QUEST[.@g]=1;
+ $KAMELOT_MX[.@g]=getguildavg(.@g);
+ $KAMELOT_PC[.@g]=$@guildmembercount;
+ $KAMELOT_KEY[.@g]=any(1,2,4,8);
+ $KAMELOT_PASSCODE[.@g]=rand2(1, 31);
+ // TODO: Kamelot Event could bypass the cooldown? ...Nah.
+ $KAMELOT_COOLDOWN[.@g] = gettimeparam(GETTIME_WEEKDAY);
+ mapannounce(getmap(), "##1KAMELOT CASTLE, GUILD DUNGEON: MISSION START!", bc_map);
+ // Spawn a few foot soldiers
+ arthurSpawn(1, 25, 29, 43, 37);
+ arthurSpawn(3, 22, 43, 43, 73);
+ arthurSpawn(5, 76, 55, 98, 77);
+ mesc l(".:: KAMELOT CASTLE, THE GUILD DUNGEON ::."), 1;
+ mes "";
+ mes l("1. Investigate Kamelot Basements");
+ mes l("2. Free Kamelot from its curse!");
+ next;
+ mesc l("Please select quest difficulty.");
+ mesc l("This will affect rewards, and decision is final!"), 1;
+ select
+ l("Normal"),
+ l("Easy"),
+ l("Hard"),
+ l("Crazy");
+ mes "";
+ switch (@menu) {
+ case 2: // Easy
+ $KAMELOT_MX[.@g]-=15;
+ $KAMELOT_PC[.@g]=max(1, $KAMELOT_PC[.@g]*8/10);
+ mapannounce(getmap(), "Kamelot Difficulty set to: Easy.", bc_map);
+ break;
+ case 3: // Hard
+ $KAMELOT_MX[.@g]+=15;
+ $KAMELOT_PC[.@g]=max(1, $KAMELOT_PC[.@g]*12/10)+1;
+ mapannounce(getmap(), "Kamelot Difficulty set to: Hard.", bc_map);
+ break;
+ case 4: // Crazy(fefe)
+ $KAMELOT_MX[.@g]+=30;
+ $KAMELOT_PC[.@g]=max(1, $KAMELOT_PC[.@g]*15/10)+3;
+ mapannounce(getmap(), "Kamelot Difficulty set to: Crazy.", bc_map);
+ break;
+ }
+ close;
+
+
+//////////////////////////////////////////////////////////////////////////
+// King manages to control himself
+L_Annoyed:
+ npctalk l("Don't bore me.");
+ closeclientdialog;
+ close;
+
+// King loses his coolness.
+L_Smash:
+ npctalk l("MEEEEEERLIN!!! SMASH THEM!!");
+ maptimer(getmap(), 300, instance_npcname(.name$)+"::OnPreSmash");
+ closeclientdialog;
+ close;
+
+OnPreSmash:
+ specialeffect FX_CUPID, AREA, getcharid(3);
+ addtimer(380, instance_npcname(.name$)+"::OnSmash");
+ end;
+
+OnSmash:
+ die();
+ end;
+
+//////////////////////////////////////////////////////////////////////////
+L_Progress:
+ if ($KAMELOT_QUEST[.@g] & 64) goto L_Reward;
+ npctalk l("What are you still doing here?! GO!!");
+ mes l("Read tutorial again?");
+ next;
+ if (askyesno() == ASK_YES) goto L_Tutorial;
+ close;
+
+L_Reward:
+ .@cn=$KAMELOT_MX[.@g]/3;
+ mesn;
+ mesq l("Thanks for vanishing the source of the curse.");
+ next;
+ mesn;
+ mesq l("Since Merlin left in an expedition with Morgan, strange things have been happening in Kamelot.");
+ next;
+ mesn;
+ mesq l("Please accept this reward from my part. And if anything else happens again, I'll leave the doors open for you and your guild.");
+ next;
+ warp "014-4", 67, 27;
+ if ($KAMELOT_QUEST[.@g] & 128)
+ goto L_DoReward2;
+ $KAMELOT_QUEST[.@g]=$KAMELOT_QUEST[.@g]|128;
+ getitem GuildCoin, .@cn;
+ guildgetexp(.@cn*1000);
+ // TODO: Make this a decent reward
+ getitembound any(SilverRing, GoldenRing), 1, 2;
+ goto L_DoReward2;
+
+//////////////////////////////////////////////////////////////////////////
+L_Tutorial:
+ // Update variable
+ if ($KAMELOT_COOLDOWN[.@g] != gettimeparam(GETTIME_WEEKDAY))
+ $KAMELOT_COOLDOWN[.@g]=gettimeparam(GETTIME_WEEKDAY)-1;
+ mes b(".:: KAMELOT CASTLE ::.");
+ mes "The Guild Dungeon of Kamelot Castle";
+ mes "";
+ mes l("Kamelot Castle is a GUILD DUNGEON which refreshes WEEKLY.");
+ mes l("Only the Guild Master and the Vice Leaders are capable of starting this quest.");
+ next;
+ mes l("An unlimited number of members can join.");
+ mes l("Once the quest is started, entrance will be closed.");
+ mes l("No one can go out during the quest, so ensure every guild member has proper equipment, potions, and time for this dungeon.");
+ next;
+ mes l("Additionally, for the optimal experience, ensure your party has at least the following members and items:");
+ mes "";
+ mes l("* Thief");
+ mes l("* Mage");
+ mes l("* %s", getitemlink(TreasureKey));
+ mes l("* %s", getitemlink(Lockpicks));
+ mes "";
+ next;
+ mes b(".:: VICTORY REWARDS ::.");
+ mes l("Victory prizes include guild experience, guild money, and guild bound items.");
+ mes "";
+ mes b(".:: DEFEAT PENALTIES ::.");
+ mes l("If your guild is defeat during the quest, you'll need to wait the weekly cooldown to expire.");
+ mes "";
+ mes "----------------- by Lancelot";
+ next;
+ clear;
+ if ($KAMELOT_QUEST[.@g] & 1) goto L_Progress;
+ goto L_Prologue;
+
+
+//////////////////////////////////////////////////////////////////////////
+L_Refusal:
+ if ($KAMELOT_QUEST[.@g] & 64) goto L_Reward2;
+ mesc l("This man is THE LEGENDARY KING ARTHUR!");
+ mes "";
+ mesc l("I better leave talking to him to the guild Vice Leaders and Master.");
+ close;
+
+L_Reward2:
+ mesn;
+ mesq l("Thanks for your services, knight. One day, you might even deserve a seat at this castle.");
+ next;
+
+L_DoReward2:
+ mesn;
+ mesq l("Farewell, until the next time. Shall we met again, and may the light guide our paths.");
+ warp "014-4", 67, 27;
+ .@cn=$KAMELOT_MX[.@g]/10;
+ // Penalty if you dragged the guild down
+ if (BaseLevel < getguildavg(.@g)*5/10)
+ .@cn=.@cn*5/10;
+ // Penalty if you carried the guild
+ if (BaseLevel > getguildavg(.@g)*15/10)
+ .@cn=.@cn*5/10;
+ // Your reward
+ .@cn+=1;
+ getitem GuildCoin, .@cn;
+ guildgetexp(.@cn*300);
+ getexp BaseLevel*10, .@cn*35;
+ Zeny+=.@cn*1000;
+ close;
+
+OnKillMob:
+ if (!playerattached()) end;
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ getexp $KAMELOT_MX[.@g], $KAMELOT_MX[.@g]/2+1;
+ end;
+
+function arthurSpawn {
+ .@label$=instance_npcname(.name$)+"::OnKillMob";
+ .@gcount=getarg(0);
+ .@x1=getarg(1);
+ .@x2=getarg(3);
+ .@y1=getarg(2);
+ .@y2=getarg(4);
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ .@avg=$KAMELOT_MX[.@g];
+ .@m$=getmap();
+ for (.@i=0; .@i < .@gcount; .@i++) {
+ .@mobId=CursedSoldier;
+ .@mob=areamonster(.@m$, .@x1, .@y1, .@x2, .@y2, strmobinfo(1, .@mobId), .@mobId, 1, .@label$);
+ // Reconfigure the monster
+ setunitdata(.@mob, UDT_LEVEL, .@avg);
+ setunitdata(.@mob, UDT_STR, 1+.@avg/6);
+ setunitdata(.@mob, UDT_AGI, 1+.@avg/7);
+ setunitdata(.@mob, UDT_VIT, 1+.@avg/6);
+ setunitdata(.@mob, UDT_INT, 1+.@avg/6);
+ setunitdata(.@mob, UDT_DEX, 1+.@avg/7);
+ setunitdata(.@mob, UDT_LUK, 1+.@avg/6);
+ setunitdata(.@mob, UDT_ADELAY, 2072);
+ setunitdata(.@mob, UDT_ATKRANGE, 1);
+ // Battle Status
+ setunitdata(.@mob, UDT_MAXHP, .@avg*20);
+ setunitdata(.@mob, UDT_HP, .@avg*20);
+ setunitdata(.@mob, UDT_ATKMIN, .@avg*25/10);
+ setunitdata(.@mob, UDT_ATKMAX, .@avg*45/10);
+ setunitdata(.@mob, UDT_DEF, 1+.@avg*6/10);
+ setunitdata(.@mob, UDT_MDEF, 1+.@avg*3/10);
+ setunitdata(.@mob, UDT_HIT, .@avg*4); // Advised: x3
+ setunitdata(.@mob, UDT_FLEE, .@avg*25/10); // Advised: x4
+ // Critical calculation
+ .@min=1;
+ .@max=max(.@min, min(15, .@avg/6));
+ setunitdata(.@mob, UDT_CRIT, rand2(.@min, .@max));
+ // Loop through
+ }
+ freeloop(false);
+ return;
+}
+
+OnInit:
+ .distance=4;
+ .sex=G_MALE;
+ npcsit;
+ end;
+
+OnInstanceInit:
+ .distance=4;
+ .sex=G_MALE;
+ npcsit;
+ end;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+042-0,69,24,0 script #K042-0_69_24 NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ .@g=getcharid(2);
+
+ // Quest already finished.
+ if ($KAMELOT_QUEST[.@g] & 64) {
+ dispbottom l("I should talk to King Arthur.");
+ end;
+ }
+
+ // Quest (not yet) started
+ if ($KAMELOT_QUEST[.@g] & 1) {
+ warp "042-1@"+.@g, 55, 99;
+ } else {
+ dispbottom l("The door is locked.");
+ end;
+ }
+
+ // Maybe event must be fired
+ if (!($KAMELOT_KEYMASK[.@g] & 16)) {
+ .@label$=instance_npcname("#KDoor0421", $@KAMELOT_ID[.@g])+"::OnArrival";
+ deltimer .@label$;
+ addtimer 15000, .@label$;
+ }
+ end;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+042-0,86,27,0 script Guinevere NPC_GUINEVERE,{
+ function guinevereSpawn;
+ .@g=getcharid(2);
+ .@pos=getguildrole(.@g, getcharid(3));
+ if (.@pos > GPOS_VICELEADER) goto L_Refusal;
+ if ($KAMELOT_QUEST[.@g] & 1) goto L_Hint;
+ npctalk3 l("Oh, hello %s.", strcharinfo(0));
+ end;
+
+L_Refusal:
+ mesn;
+ mesq l("Hello, %s.", strcharinfo(0));
+ next;
+ mesc "["+strcharinfo(0)+"]";
+ mesc l("She doesn't seems to trust me... Maybe I should bring a guild vice-leader, or even better, the guild master himself.");
+ close;
+
+L_Hint:
+ mesc l("Guinevere is the King's Wife. If you talk to her, the King will be upset and will send soldiers to you."), 1;
+ next;
+ mesc l("However, she may have a better assessment of the current situation better than you and your allies."), 1;
+ next;
+ mesc l("Continue anyway? You'll die if your allies cannot protect you!"), 1;
+ next;
+ if (askyesno() == ASK_NO)
+ close;
+
+ // Okay... So here we go (again), spawning monsters
+ guinevereSpawn(1);
+ mesn;
+ mesq l("Ah, %s, a good thing you're here. You must help!", strcharinfo(0));
+ next;
+ guinevereSpawn(1);
+ mesn;
+ mesq l("Something very terrible happened.");
+ next;
+ guinevereSpawn(2);
+ mesn;
+ mesq l("They're back - and they took hold of your majesty - my husband - king Arthur!");
+ next;
+ guinevereSpawn(2);
+ mesn;
+ mesq l("Of course, he doesn't likes the fact you're talking to me.");
+ next;
+ guinevereSpawn(3);
+ mesn;
+ mesq l("*They* couldn't take hold of me, but I'm bound to this castle; I can't leave.");
+ next;
+ guinevereSpawn(3);
+ mesn;
+ mesq l("They are in the basement, pulling the strings from behind.");
+ next;
+ guinevereSpawn(3);
+ mesn;
+ mesq l("The way is full of dangers. Not only king soldiers, but the beast has an army of their own!");
+ next;
+ guinevereSpawn(4);
+ mesn;
+ mesq l("You need to be very careful. Use the sewers to reach... them.");
+ next;
+ guinevereSpawn(4);
+ mesn;
+ mesq l("Also, listen well, because there are traps and dangers on the whole way. Their leader sealed themselves in safety.");
+ next;
+ guinevereSpawn(5);
+ mesn;
+ mesq l("I'm afraid you'll need a key to reach them. But there's a fork on the way.");
+ next;
+ guinevereSpawn(3);
+ mesn;
+ switch ($KAMELOT_KEY[.@g]) {
+ case 1:
+ .@path$=l("West"); break;
+ case 2:
+ .@path$=l("North West"); break;
+ case 4:
+ .@path$=l("North East"); break;
+ case 8:
+ .@path$=l("East"); break;
+ default:
+ .@path$=l("ERROR, REPORT ME: Invalid: %d", $KAMELOT_KEY[.@g]); break;
+ }
+ mesq l("The key is on the sewer %s path. Be careful. May the light be with you.", b(.@path$));
+ if ($KAMELOT_QUEST[.@g] & 2)
+ close;
+ next;
+ guinevereSpawn(5);
+ mesn;
+ mesq l("And one more thing...");
+ next;
+ guinevereSpawn(2);
+ mesn;
+ mesq l("Take this with you. And please bring Arthur back, the world needs him!");
+ $KAMELOT_QUEST[.@g]=$KAMELOT_QUEST[.@g]|2;
+ // Player Reward for completing this stage
+ getitem any(SacredImmortalityPotion, SacredLifePotion, SacredManaPotion), 1;
+ getitem GuildCoin, 5;
+ // Guild Reward for completing this stage
+ .@ggp=100+$KAMELOT_MX[.@g]*4;
+ .@gxp=$KAMELOT_MX[.@g]*2;
+ $GUILD_BANK[.@g]+=.@ggp;
+ guildgetexp(.@gxp); // 2xp per player average level (max 200/300)
+ // Guild Master Notification
+ .@gm$=getguildmaster(.@g);
+ if (!getcharid(3, .@gm$)) end;
+ .@gma=getcharid(3, .@gm$);
+ .@gmb=getcharid(0, .@gm$);
+ if (!isloggedin(.@gma, .@gmb)) end;
+ message .@gm$, strcharinfo(0)+" cleared Guinevere: Guild GP +"+.@ggp+" Guild XP +"+.@gxp;
+ close;
+
+OnKillMob:
+ if (!playerattached()) end;
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ getexp $KAMELOT_MX[.@g]*2, $KAMELOT_MX[.@g];
+ end;
+
+function guinevereSpawn {
+ .@label$=instance_npcname(.name$)+"::OnKillMob";
+ .@gcount=getarg(0);
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ .@avg=$KAMELOT_MX[.@g];
+ .@m$=getmap();
+ for (.@i=0; .@i < .@gcount; .@i++) {
+ .@mobId=CursedSoldier;
+ .@mob=areamonster(.@m$, 82, 26, 90, 34, strmobinfo(1, .@mobId), .@mobId, 1, .@label$);
+ // Reconfigure the monster
+ setunitdata(.@mob, UDT_LEVEL, .@avg);
+ setunitdata(.@mob, UDT_STR, 1+.@avg/6);
+ setunitdata(.@mob, UDT_AGI, 1+.@avg/7);
+ setunitdata(.@mob, UDT_VIT, 1+.@avg/6);
+ setunitdata(.@mob, UDT_INT, 1+.@avg/6);
+ setunitdata(.@mob, UDT_DEX, 1+.@avg/7);
+ setunitdata(.@mob, UDT_LUK, 1+.@avg/6);
+ setunitdata(.@mob, UDT_ADELAY, 2072);
+ setunitdata(.@mob, UDT_ATKRANGE, 1);
+ // Battle Status
+ setunitdata(.@mob, UDT_MAXHP, .@avg*20);
+ setunitdata(.@mob, UDT_HP, .@avg*20);
+ setunitdata(.@mob, UDT_ATKMIN, .@avg*25/10);
+ setunitdata(.@mob, UDT_ATKMAX, .@avg*45/10);
+ setunitdata(.@mob, UDT_DEF, 1+.@avg*6/10);
+ setunitdata(.@mob, UDT_MDEF, 1+.@avg*3/10);
+ setunitdata(.@mob, UDT_HIT, .@avg*4); // Advised: x3
+ setunitdata(.@mob, UDT_FLEE, .@avg*25/10); // Advised: x4
+ // Critical calculation
+ .@min=1;
+ .@max=max(.@min, min(15, .@avg/6));
+ setunitdata(.@mob, UDT_CRIT, rand2(.@min, .@max));
+ // Loop through
+ }
+ freeloop(false);
+ return;
+}
+
+OnInit:
+OnInstanceInit:
+ .distance=4;
+ .sex=G_FEMALE;
+ end;
+}
+
diff --git a/npc/042-0/mf.txt b/npc/042-0/mf.txt
new file mode 100644
index 0000000..714ce27
--- /dev/null
+++ b/npc/042-0/mf.txt
@@ -0,0 +1,12 @@
+042-0 mapflag zone MMO
+042-1 mapflag zone MMO
+042-2 mapflag zone MMO
+042-3 mapflag zone MMO
+042-4 mapflag zone MMO
+042-5 mapflag zone MMO
+042-6 mapflag zone MMO
+042-7 mapflag zone MMO
+042-8 mapflag zone MMO
+042-9 mapflag zone MMO
+042-10 mapflag zone MMO
+042-11 mapflag zone MMO
diff --git a/npc/042-1/_import.txt b/npc/042-1/_import.txt
new file mode 100644
index 0000000..9e6aaff
--- /dev/null
+++ b/npc/042-1/_import.txt
@@ -0,0 +1,3 @@
+// Map 042-1: Camelot - Weapon Room
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/042-1/door.txt",
diff --git a/npc/042-1/door.txt b/npc/042-1/door.txt
new file mode 100644
index 0000000..cbdf085
--- /dev/null
+++ b/npc/042-1/door.txt
@@ -0,0 +1,204 @@
+// TMW 2 Script
+// Author:
+// Jesusalva
+// Micksha
+// Description:
+// Controls Weapons Room basement door
+
+042-1,51,23,0 script #KDoor0421 NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ .@g=getcharid(2);
+ if ($KAMELOT_KEYMASK[.@g] & 16) {
+ warp "042-2@"+.@g, 44, 59;
+
+ // Maybe event must be fired
+ if (!($KAMELOT_QUEST[.@g] & 4)) {
+ .@label$=instance_npcname("#KDoor0422", $@KAMELOT_ID[.@g])+"::OnArrival";
+ deltimer .@label$;
+ addtimer 5000, .@label$;
+ }
+ } else {
+ dispbottom l("This door is locked.");
+ //doevent instance_npcname(.name$)+"::OnKillMob"; // Double-check
+ }
+ end;
+
+OnKillBoss:
+ .@g=getcharid(2);
+ dispbottom l("You found a key.");
+ getitem TreasureKey, 1;
+ $KAMELOT_KEYMASK[.@g]=$KAMELOT_KEYMASK[.@g]|16;
+ // Player Reward for completing this stage
+ getitem GuildCoin, min(1, $KAMELOT_MX[.@g]/20);
+ getexp $KAMELOT_MX[.@g]*25, $KAMELOT_MX[.@g]*5;
+ // Guild Reward for completing this stage
+ .@ggp=300+$KAMELOT_MX[.@g]*4;
+ .@gxp=$KAMELOT_MX[.@g]*5;
+ $GUILD_BANK[.@g]+=.@ggp;
+ guildgetexp(.@gxp); // 5xp per player average level (max 500/750)
+ // Announce
+ mapannounce getmap(), strcharinfo(0)+" has found the key for the door!", 0;
+ // Guild Master Notification
+ .@gm$=getguildmaster(.@g);
+ if (!getcharid(3, .@gm$)) end;
+ .@gma=getcharid(3, .@gm$);
+ .@gmb=getcharid(0, .@gm$);
+ if (!isloggedin(.@gma, .@gmb)) end;
+ message .@gm$, strcharinfo(0)+" found the key: Guild GP +"+.@ggp+" Guild XP +"+.@gxp;
+ end;
+
+OnKillMob:
+ .@label$=instance_npcname(.name$)+"::OnKillMob";
+ // Oh noes! No player attached D:
+ // This kill is meaningless, RESPAWN IT, RESPAWN IT
+ if (!playerattached()) {
+ //.@i=instance_id();
+ .@m$=instance_mapname("042-1");
+ monster .@m$, 27, 67, "Intruder", Troll, 1, .@label$;
+ debugmes "Kamelot: Mob killed without player attached. Troll spawned.";
+ end;
+ }
+
+ // Now we have a player attached, we can do all checks.
+ // For example, if you're lame cheater
+ .@g=getcharid(2);
+ if (.@g < 1)
+ die();
+
+ // I also want to give you exp
+ getexp $KAMELOT_MX[.@g]*3, $KAMELOT_MX[.@g];
+
+ // And finally, check if you're still not done killing it.
+ if (mobcount(getmap(), .@label$))
+ end;
+
+ // Configure the wave
+ .@avg=$KAMELOT_MX[.@g];
+ .@gcount=$KAMELOT_PC[.@g];
+ .@m$=getmap();
+ sleep2(800); // Give ~1 second before respawn
+
+ // Maybe we should advance the wave
+ if ($@KAMELOT_WAVE[.@g] == 3) {
+ debugmes "Kamelot %d: Boss Spawn", .@g;
+ initnpctimer;
+ setd("$@GTEMP_"+getmap(), .@avg);
+ .@mcount=.@gcount;
+ } else if ($@KAMELOT_WAVE[.@g] == 2) {
+ .@mcount=.@gcount*2;
+ mapannounce getmap(), "Don't make me come there myself!! GET RID OF THEM ALREADY!", 0;
+ } else if ($@KAMELOT_WAVE[.@g] == 1) {
+ .@mcount=.@gcount*3/2;
+ mapannounce getmap(), "Guards! What are you waiting for?? Arrest them!!", 0;
+ } else if ($@KAMELOT_WAVE[.@g] == 0) {
+ .@mcount=.@gcount;
+ mapannounce getmap(), "Guards!! Attack the intruders!!!", 0;
+ } else {
+ end;
+ }
+ freeloop(true);
+ for (.@i=0; .@i < .@gcount; .@i++) {
+ .@mobId=any(CursedSoldier, CursedArcher); // 50-50 ratio
+ .@mob=areamonster(.@m$, 21, 24, 59, 99, strmobinfo(1, .@mobId), .@mobId, 1, .@label$);
+ // Reconfigure the monster
+ setunitdata(.@mob, UDT_LEVEL, .@avg);
+ setunitdata(.@mob, UDT_STR, 1+.@avg/5);
+ setunitdata(.@mob, UDT_AGI, 1+.@avg/5);
+ setunitdata(.@mob, UDT_VIT, 1+.@avg/5);
+ setunitdata(.@mob, UDT_INT, 1+.@avg/5);
+ setunitdata(.@mob, UDT_DEX, 1+.@avg/5);
+ setunitdata(.@mob, UDT_LUK, 1+.@avg/5);
+ setunitdata(.@mob, UDT_ADELAY, 1872);
+ setunitdata(.@mob, UDT_ATKRANGE, (.@mobId == CursedArcher ? any(5,6,7) : any(1,1,2)));
+ // Battle Status
+ setunitdata(.@mob, UDT_MAXHP, .@avg*30);
+ setunitdata(.@mob, UDT_HP, .@avg*30);
+ setunitdata(.@mob, UDT_ATKMIN, .@avg*35/10);
+ setunitdata(.@mob, UDT_ATKMAX, .@avg*55/10);
+ setunitdata(.@mob, UDT_DEF, 1+.@avg*8/10);
+ setunitdata(.@mob, UDT_MDEF, 1+.@avg*4/10);
+ setunitdata(.@mob, UDT_HIT, .@avg*35/10); // Advised: x3
+ setunitdata(.@mob, UDT_FLEE, .@avg*3); // Advised: x4
+ // Critical calculation
+ .@min=1;
+ .@max=max(.@min, min(20, .@avg/5));
+ setunitdata(.@mob, UDT_CRIT, rand2(.@min, .@max));
+ // Loop through
+ }
+ freeloop(false);
+ $@KAMELOT_WAVE[.@g]+=1;
+ end;
+
+OnTimer100:
+ .@m$=instance_mapname("042-1");
+ mapannounce .@m$, "*sigh* You force me to come...", 0;
+ end;
+
+OnTimer5000:
+ .@m$=instance_mapname("042-1");
+ mapannounce .@m$, "Stupid fools...", 0;
+ end;
+
+OnTimer10000:
+ .@label$=instance_npcname(.name$)+"::OnKillBoss";
+ .@m$=instance_mapname("042-1");
+ mapannounce .@m$, "I'll get rid of you myself!!", 0;
+ .@mobId=any(CursedSoldier, CursedArcher);
+ .@mob=monster(.@m$, 40, 30, any("Lancelot", "Galahard", "Gareth", "Percival"), .@mobId, 1, .@label$);
+ .@avg=getd("$@GTEMP_"+.@m$);
+ setd("$@GTEMP_"+.@m$, 0);
+ // Reconfigure the monster
+ setunitdata(.@mob, UDT_LEVEL, .@avg);
+ setunitdata(.@mob, UDT_STR, 1+.@avg/5);
+ setunitdata(.@mob, UDT_AGI, 1+.@avg/5);
+ setunitdata(.@mob, UDT_VIT, 1+.@avg/5);
+ setunitdata(.@mob, UDT_INT, 1+.@avg/5);
+ setunitdata(.@mob, UDT_DEX, 1+.@avg/5);
+ setunitdata(.@mob, UDT_LUK, 1+.@avg/5);
+ setunitdata(.@mob, UDT_ADELAY, 1672);
+ setunitdata(.@mob, UDT_ATKRANGE, (.@mobId == CursedArcher ? any(6,7,8) : 2));
+ // Battle Status
+ setunitdata(.@mob, UDT_MAXHP, .@avg*150);
+ setunitdata(.@mob, UDT_HP, .@avg*150);
+ setunitdata(.@mob, UDT_ATKMIN, .@avg*5);
+ setunitdata(.@mob, UDT_ATKMAX, .@avg*7);
+ setunitdata(.@mob, UDT_DEF, 1+.@avg*11/10);
+ setunitdata(.@mob, UDT_MDEF, 1+.@avg*6/10);
+ setunitdata(.@mob, UDT_HIT, .@avg*8); // Advised: x3
+ setunitdata(.@mob, UDT_FLEE, .@avg*35/10); // Advised: x4
+ // Critical calculation
+ .@min=15;
+ .@max=max(.@min, min(40, .@avg/5));
+ setunitdata(.@mob, UDT_CRIT, rand2(.@min, .@max));
+ stopnpctimer;
+ end;
+
+OnArrival:
+ .@g=getcharid(2);
+ if (.@g < 1)
+ die();
+ if (getmap() != "042-1@"+.@g)
+ end;
+ if ($@KAMELOT_WAVE[.@g] == 0)
+ goto OnKillMob;
+ end;
+}
+
+
+// Required exit
+042-1,55,100,0 script #KDoor0421B NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ .@g=getcharid(2);
+ if ($KAMELOT_KEYMASK[.@g] & 16) {
+ dispbottom l("WARNING: If you walk out the main gate you WON'T be able to return!");
+ warp "042-0@"+.@g, 69, 25;
+ } else {
+ dispbottom l("Oh noes! The guards locked the door!");
+ }
+ end;
+}
+
diff --git a/npc/042-10/_import.txt b/npc/042-10/_import.txt
new file mode 100644
index 0000000..2749a19
--- /dev/null
+++ b/npc/042-10/_import.txt
@@ -0,0 +1,3 @@
+// Map 042-10: Camelot Sewer West Path
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/042-10/ctrl.txt",
diff --git a/npc/042-10/ctrl.txt b/npc/042-10/ctrl.txt
new file mode 100644
index 0000000..9fccee6
--- /dev/null
+++ b/npc/042-10/ctrl.txt
@@ -0,0 +1,635 @@
+// TMW 2 Script
+// Author:
+// Jesusalva
+// Micksha
+// Description:
+// Controls the great hall
+
+// None of the exits work
+042-10,86,139,0 script #KDoor04210a NPC_HIDDEN,3,0,{
+ end;
+
+OnTouch:
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ dispbottom l("OH NOES! The ceiling seems to have collapsed. I hope we got the key, or the quest is over for us!");
+ end;
+}
+
+042-10,149,136,0 duplicate(#KDoor04210a) #KDoor04210b NPC_HIDDEN,0,0
+042-10,21,139,0 duplicate(#KDoor04210a) #KDoor04210c NPC_HIDDEN,2,0
+042-10,20,80,0 duplicate(#KDoor04210a) #KDoor04210d NPC_HIDDEN,0,6
+
+
+// Boss Room control
+042-10,142,20,0 script #KDoor04210e NPC_HIDDEN,4,0,{
+ end;
+
+OnTouch:
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ if (!($KAMELOT_QUEST[.@g] & 8) || !($KAMELOT_QUEST[.@g] & 16) || !($KAMELOT_QUEST[.@g] & 32)) goto L_NoAccess;
+ warp "042-11@"+.@g, 41, 56;
+ addtimer 3000, "#KamelotBoss::OnDialog";
+ end;
+
+L_NoAccess:
+ dispbottom l("A powerful door is sealed shut. It has no keyhole, but I'm sure it can be opened somewhere else on these caves.");
+ //dispbottom l("This door is locked, if we only had a %s...", getitemlink(KamelotKey));
+ end;
+}
+
+// Boss Room Warning
+042-10,150,25,0 script Warning#Kamelot NPC_NO_SPRITE,{
+ mesc ".:: "+l("DANGER!")+" ::.", 1;
+ mes "";
+ mesc l("I've sealed a massive amount of dark magic here."), 1;
+ mesc l("Do not break my seal to prevent the curse from reaching Kamelot."), 1;
+ mes "";
+ mes l("-- Merlin");
+ close;
+OnInit:
+ .distance=4;
+ end;
+}
+
+// Magic Seal Main
+042-10,135,42,0 script #KamelotSeal NPC_HIDDEN,0,4,{
+ end;
+
+OnTouch:
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ if (!($KAMELOT_QUEST[.@g] & 16) && !($KAMELOT_QUEST[.@g] & 8)) goto L_NoAccessBlock;
+ if (!($KAMELOT_QUEST[.@g] & 16) || !($KAMELOT_QUEST[.@g] & 8)) goto L_NoAccess;
+ // You can pass freely, so we do nothing
+ end;
+
+L_NoAccess:
+ slide 127, 36;
+ percentheal -5, -5;
+ dispbottom l("A powerful magic barrier repeals you!");
+ dispbottom l("It's weaker than before, probably only one is working right now.");
+ end;
+
+L_NoAccessBlock:
+ slide 127, 36;
+ percentheal -10, -10;
+ dispbottom l("A powerful magic barrier repeals you!");
+ dispbottom l("We need to find what powers these two seals and disable it.");
+ end;
+}
+
+
+
+////////////////////////////////////////////////////////////////////
+// KatazuliInfo( )
+function script KatazuliInfo {
+ mes ".:: Magical Seal ::.";
+ mes "";
+ mes l("The Magical Seal which protects the final room is too strong.");
+ mes l("However, by casting %s here, we'll be able to weaken the seal!", b("katazuli"));
+ next;
+ mes l("To cast, one must sit on the circle and say the chant on general chat.");
+ mes l("The chant must be exact, without any prefix or suffix.");
+ next;
+ mes l("While breaking the seal, monsters will spawn. The other monsters may drop %s.", getitemlink(DarkPetal));
+ mes l("Drop these near the circle to make the breaking faster.");
+ next;
+ mes l("Multiple players may conduct Katazuli at once. If you move or stand, the spell may be aborted.");
+ mes l("Remember: Taking damage will make you stand!");
+ next;
+ mes l("Katazuli breaking proccess will cause the breaker some harm.");
+ mes l("It'll also drain mana in the proccess. If you run out of mana, its over.");
+ next;
+ mes l("After casting %s, you must wait %d seconds before casting it again.", b("katazuli"), b("60"));
+ mes l("However, as long as you remain seated and immobile, the spell will slowly destroy the seal.");
+ next;
+ mesc l("Caution"), 1;
+ mes l("The seals slowly grow stronger as time passes!");
+ mes l("Once broken, they'll lose the link to the magical seal.");
+ mes l("Even if they recover their strength, because the connection was severed, the barrier will not power up again.");
+ return;
+}
+
+// KatazuliCore( Begin, ID )
+function script KatazuliCore {
+ // Basic checks
+ // Not sitting - Do nothing and cancel
+ if (!issit())
+ end;
+
+ // Not sitting on the circle - Again, do nothing
+ getmapxy(.@m$, .@x, .@y, 0);
+ if (.@x != .x || .@y != .y)
+ end;
+
+ // No mana - do nothing
+ if (!Sp)
+ end;
+
+ // Initialize local variables
+ .@start=getarg(0);
+ .@id=getarg(1);
+ .@g=getcharid(2);
+
+ // User cooldown
+ if (.@start && @katazuli >= gettimetick(2))
+ end;
+ if (!.@start && @katazuli <= gettimetick(2))
+ end;
+
+ // We should give a message
+ if (.@start) {
+ @kataspam=0;
+ callfunc "FYE_Olympics_CH";
+ }
+
+ // All checks passed: KATAZULI
+ specialeffect FX_MGSHIELD, AREA, getcharid(3); // Temporary FX
+
+ // Consume Dark Petals nearby
+ .@cat=getareadropitem(getmap(), .x-3, .y-3, .x+3, .y+3, DarkPetal, true);
+
+ // Your own power boost
+ .@bint=rand2(readparam2(bInt)/2, readparam2(bInt));
+ .@cat+=limit(1, .@bint/32, 5)+any(0,1);
+
+ // Power the circle
+ .@power=getd("$@GTEMP_"+.@id+"_"+.@m$)+.@cat;
+ setd("$@GTEMP_"+.@id+"_"+.@m$, .@power);
+
+ // Inform new status
+ if (.@power < 5 && @kataspam != 1) {
+ unittalk(getcharid(3), "This circle is nearly at full power! We need to shut down it!", true);
+ @kataspam=1;
+ } else if (.@power >= 5 && .@power < 100 && @kataspam != 2) {
+ unittalk(getcharid(3), "There is still too much power! Please drop "+getitemlink(DarkPetal)+" nearby!", true);
+ @kataspam=2;
+ } else if (.@power >= 100 && .@power < 200 && @kataspam != 3) {
+ unittalk(getcharid(3), "At this rate, we will do it! Keep going! Please drop "+getitemlink(DarkPetal)+" nearby!", true);
+ @kataspam=3;
+ } else if (.@power >= 200 && .@power < 300 && @kataspam != 4) {
+ unittalk(getcharid(3), "Guys I'm close to shut it down! Please drop "+getitemlink(DarkPetal)+" nearby!", true);
+ @kataspam=4;
+ }
+
+ // Debug Information
+ if (is_staff() && $@GM_OVERRIDE)
+ dispbottom l("[DEBUG] Current Power: %d", .@power);
+
+ // Circle was shut down (give rewards if appropriate)
+ if (.@power >= 300) {
+ if ($KAMELOT_QUEST[.@g] & .@id) end;
+ $KAMELOT_QUEST[.@g]=$KAMELOT_QUEST[.@g]|.@id;
+ unittalk(getcharid(3), "We did it! The seal is now broken!", true);
+ // Player Reward for completing this stage
+ getitem GuildCoin, 1;
+ getexp $KAMELOT_MX[.@g]*50, $KAMELOT_MX[.@g]*10;
+ // Guild Reward for completing this stage
+ .@ggp=1200+$KAMELOT_MX[.@g]*10;
+ .@gxp=$KAMELOT_MX[.@g]*25;
+ $GUILD_BANK[.@g]+=.@ggp;
+ guildgetexp(.@gxp); // 25xp per player average level (max 2500/3750)
+ // Announce
+ mapannounce getmap(), strcharinfo(0)+" has broken a magic seal!", 0;
+ // Guild Master Notification
+ .@gm$=getguildmaster(.@g);
+ if (!getcharid(3, .@gm$)) return;
+ .@gma=getcharid(3, .@gm$);
+ .@gmb=getcharid(0, .@gm$);
+ if (!isloggedin(.@gma, .@gmb)) return;
+ message .@gm$, strcharinfo(0)+" broke a magic seal: Guild GP +"+.@ggp+" Guild XP +"+.@gxp;
+ end;
+ }
+
+ // TODO: Spawn monsters, drop Dark Petal
+ // (Probably spawn Dark Rose Field)
+ // PS. Every monster in this floor will drop them
+ getmapxy(.@m$, .@x, .@y, 0);
+ KamelotCaveSpawn($KAMELOT_PC[.@g], .@x-rand2(4), .@y-rand2(4), .@x+rand2(4), .@y+rand2(4), $KAMELOT_MX[.@g]+(.@power/3), "042-10");
+ .@x+=any(-3,-2,-1,1,2,3);
+ .@y+=any(-3,-2,-1,1,2,3);
+ monster(.@m$, .@x, .@y, strmobinfo(1, MagicGoblin), MagicGoblin, (@kataspam == 1 ? 6 : (@kataspam == 2 ? 5 : (@kataspam == 3 ? 4 : 3))) );
+
+ // Take away some HP and MP, but do not make you stand
+ percentheal -1, -5;
+ sit();
+
+ // If it took all your mana - its over
+ if (!Sp)
+ end;
+
+ // Set cooldown on start
+ if (.@start) {
+ dispbottom l("Please wait 60 seconds to cast again.");
+ @katazuli=gettimetick(2)+60;
+ }
+ return;
+}
+
+
+////////////////////////
+// Katazuli's Engravings
+042-10,36,110,0 script Engraving#Katazuli1 NPC_NO_SPRITE,{
+ mes "Read tutorial?";
+ select l("No"), l("Yes");
+ if (@menu == 2)
+ KatazuliInfo();
+ close;
+OnInit:
+ .distance=4;
+ end;
+}
+042-10,124,85,0 duplicate(Engraving#Katazuli1) Engraving#Katazuli2 NPC_NO_SPRITE
+
+
+////////////////////////
+// The first Katazuli
+042-10,128,85,0 script #Katazuli01 NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("This looks magical, I wonder what it does.");
+ end;
+
+OnInit:
+ .kataId=8;
+ .distance=3;
+ .pid=getnpcid();
+ debugmes "Pattern %d", .pid;
+ //defpattern(.pid, "^([Kk][Aa][Tt][Aa][Zz][Uu][Ll][Ii])$", "OnTalkNearby");
+ defpattern(.pid, "^(.*)$", "OnTalkNearby");
+ activatepset(.pid);
+ end;
+
+OnTouch:
+ npctalkonce l("You must %s and chant %s to begin channeling.", b(l("sit")), b(l("katazuli")));
+ end;
+
+OnTalkNearby:
+ // not very obvious stuff by gumi
+ .@no_nick$ = strip(substr($@p0$, getstrlen(strcharinfo(PC_NAME)) + 3, getstrlen($@p0$) - 1));
+ .@message$ = strtoupper(.@no_nick$);
+
+ // It is with us!
+ if (.@message$ == "KATAZULI") {
+ KatazuliCore(true, .kataId);
+ addtimer 6000, instance_npcname(.name$)+"::OnKatazuli";
+ }
+ end;
+
+OnKatazuli:
+ KatazuliCore(false, .kataId);
+ addtimer 6000, instance_npcname(.name$)+"::OnKatazuli";
+ end;
+
+OnInstanceInit:
+ initnpctimer;
+ end;
+
+OnKillMob:
+ if (!playerattached())
+ end;
+ .@g=getcharid(2);
+
+ // Handle Dark Petal
+ // XXX: How MX/PC should affect drop rates?
+ // I imagine a higher MX will increase DR.... (Right now, level 100 = +50% DR)
+ .@r=rand2(250);
+ if (.@r < 100+$KAMELOT_MX[.@g]) {
+ getmapxy(.@m$, .@x, .@y, 0);
+ makeitem(DarkPetal, 1, .@m$, rand2(.@x-1, .@x+1), rand2(.@y-1, .@y+1));
+ }
+
+ // Maybe a reward is due
+ if (.@g < 1) die();
+ getexp $KAMELOT_MX[.@g]*10, $KAMELOT_MX[.@g]*5;
+ end;
+
+// Every minute, recover some energy
+OnTimer60000:
+ explode(.@map$, .map$, "@");
+ .@g=atoi(.@map$[1]);
+ if (.@g < 1) {
+ consolewarn "[ERROR] [KAMELOT] Unable to recharge katazuli for Kamelot %s", .map$;
+ .@g=0;
+ }
+
+ // Estimate
+ .@pc=$KAMELOT_PC[.@g]+1;
+ .@pow=rand2(.@pc);
+
+ // Recover energy
+ .@id=.kataId;
+ .@m$=instance_mapname("042-10");
+ .@power=max(0, getd("$@GTEMP_"+.@id+"_"+.@m$)-.@pow);
+ setd("$@GTEMP_"+.@id+"_"+.@m$, .@power);
+ initnpctimer;
+ end;
+}
+
+
+////////////////////////
+// The second Katazuli
+042-10,32,108,0 script #Katazuli02 NPC_SUMMONING_CIRC,0,0,{
+ dispbottom l("This looks magical, I wonder what it does.");
+ end;
+
+OnInit:
+ .kataId=16;
+ .distance=3;
+ .pid=getnpcid();
+ debugmes "Pattern %d", .pid;
+ //defpattern(.pid, "^([Kk][Aa][Tt][Aa][Zz][Uu][Ll][Ii])$", "OnTalkNearby");
+ defpattern(.pid, "^(.*)$", "OnTalkNearby");
+ activatepset(.pid);
+ end;
+
+OnTouch:
+ npctalkonce l("You must %s and chant %s to begin channeling.", b(l("sit")), b(l("katazuli")));
+ end;
+
+OnTalkNearby:
+ // not very obvious stuff by gumi
+ .@no_nick$ = strip(substr($@p0$, getstrlen(strcharinfo(PC_NAME)) + 3, getstrlen($@p0$) - 1));
+ .@message$ = strtoupper(.@no_nick$);
+
+ // It is with us!
+ if (.@message$ == "KATAZULI") {
+ KatazuliCore(true, .kataId);
+ addtimer 6000, instance_npcname(.name$)+"::OnKatazuli";
+ }
+ end;
+
+OnKatazuli:
+ KatazuliCore(false, .kataId);
+ addtimer 6000, instance_npcname(.name$)+"::OnKatazuli";
+ end;
+
+OnInstanceInit:
+ initnpctimer;
+ end;
+
+OnKillMob:
+ if (!playerattached())
+ end;
+ .@g=getcharid(2);
+
+ // Handle Dark Petal
+ // XXX: How MX/PC should affect drop rates?
+ // I imagine a higher MX will increase DR.... (Right now, level 100 = +20% DR)
+ .@r=rand2(500);
+ if (.@r < 100+$KAMELOT_MX[.@g]) {
+ getmapxy(.@m$, .@x, .@y, 0);
+ makeitem(DarkPetal, 1, .@m$, rand2(.@x-1, .@x+1), rand2(.@y-1, .@y+1));
+ }
+
+ // Maybe a reward is due
+ if (.@g < 1) die();
+ getexp $KAMELOT_MX[.@g]*10, $KAMELOT_MX[.@g]*5;
+ end;
+
+// Every minute, recover some energy
+OnTimer60000:
+ explode(.@map$, .map$, "@");
+ .@g=atoi(.@map$[1]);
+ if (.@g < 1) {
+ consolewarn "[ERROR] [KAMELOT] Unable to recharge katazuli for Kamelot %s", .map$;
+ .@g=0;
+ }
+
+ // Estimate
+ .@pc=$KAMELOT_PC[.@g]+1;
+ .@pow=rand2(.@pc);
+
+ // Recover energy
+ .@id=.kataId;
+ .@m$=instance_mapname("042-10");
+ .@power=max(0, getd("$@GTEMP_"+.@id+"_"+.@m$)-.@pow);
+ setd("$@GTEMP_"+.@id+"_"+.@m$, .@power);
+ initnpctimer;
+ end;
+}
+
+
+
+////////////////////////////////////////////////////////////////////
+// KamelotSwitch( "_SWITCH ID" )
+function script KamelotSwitch {
+ // Extract ID
+ .@n$=getarg(0, "_0");
+ explode(.@ni$, .@n$, "_");
+ .@id=atoi(.@ni$[1]);
+ if (.@id <= 0) Exception("Unparseable switch: "+.@n$, RB_DEFAULT|RB_ISFATAL);
+
+ .@g=getcharid(2);
+ if (!($KAMELOT_KEYMASK[.@g] & $KAMELOT_KEY[.@g])) end; // Don't care
+ .@st=($KAMELOT_PASSMASK[.@g] & .@id);
+ mes l("Status: %s", (.@st ? col(l("Active"),2) : col(l("Inactive"),1) ));
+ if (!countitem(KamelotKey))
+ close;
+ mes "Change switch status?";
+ next;
+ if (askyesno() == ASK_YES) {
+ $KAMELOT_PASSMASK[.@g]=$KAMELOT_PASSMASK[.@g]^.@id;
+ // The meaning of st is now mixed
+ if (.@st)
+ setnpcdisplay instance_npcname(.name$), NPC_SWITCH_OFFLINE;
+ else
+ setnpcdisplay instance_npcname(.name$), NPC_SWITCH_ONLINE;
+ }
+ // Check password and delete key
+ if ($KAMELOT_PASSMASK[.@g] == $KAMELOT_PASSCODE[.@g]) {
+ delitem KamelotKey, 1;
+ $KAMELOT_QUEST[.@g]=$KAMELOT_QUEST[.@g]|32;
+ mesc l("Your hear a clink, and the key breaks."), 2;
+ // Player Reward for completing this stage
+ getitem GuildCoin, 1;
+ getexp $KAMELOT_MX[.@g]*50, $KAMELOT_MX[.@g]*10;
+ // Guild Reward for completing this stage
+ .@ggp=1200+$KAMELOT_MX[.@g]*10;
+ .@gxp=$KAMELOT_MX[.@g]*25;
+ $GUILD_BANK[.@g]+=.@ggp;
+ guildgetexp(.@gxp); // 25xp per player average level (max 2500/3750)
+ // Announce
+ mapannounce getmap(), strcharinfo(0)+" has opened the gate!", 0;
+ // Guild Master Notification
+ .@gm$=getguildmaster(.@g);
+ if (!getcharid(3, .@gm$)) return;
+ .@gma=getcharid(3, .@gm$);
+ .@gmb=getcharid(0, .@gm$);
+ if (!isloggedin(.@gma, .@gmb)) return;
+ message .@gm$, strcharinfo(0)+" opened the gate: Guild GP +"+.@ggp+" Guild XP +"+.@gxp;
+
+ }
+ return;
+}
+
+// Switches hints
+// TODO: NPC_PAPER_NOTE sprite
+042-10,97,126,0 script #K4210Note01 NPC_SWORDS_SIGN,{
+ .@g=getcharid(2);
+
+ if (!($KAMELOT_KEYMASK[.@g] & $KAMELOT_KEY[.@g])) {
+ mes l("Your guild does not have the key required to complete this part of the puzzle.");
+ close;
+ }
+
+ if ($KAMELOT_PASSCODE[.@g] & 1)
+ dispbottom l("The power system is ##Bactive##b on the north.");
+ else
+ dispbottom l("The north power system is offline.");
+ end;
+
+OnInit:
+ .distance=4;
+ end;
+}
+042-10,139,98,0 script #K4210Note02 NPC_SWORDS_SIGN,{
+ .@g=getcharid(2);
+
+ if (!($KAMELOT_KEYMASK[.@g] & $KAMELOT_KEY[.@g])) {
+ mes l("Your guild does not have the key required to complete this part of the puzzle.");
+ close;
+ }
+
+ if ($KAMELOT_PASSCODE[.@g] & 2)
+ dispbottom l("The power system is ##Bactive##b on the south.");
+ else
+ dispbottom l("The south power system is offline.");
+ end;
+
+OnInit:
+ .distance=4;
+ end;
+}
+042-10,127,45,0 script #K4210Note04 NPC_SWORDS_SIGN,{
+ .@g=getcharid(2);
+
+ if (!($KAMELOT_KEYMASK[.@g] & $KAMELOT_KEY[.@g])) {
+ mes l("Your guild does not have the key required to complete this part of the puzzle.");
+ close;
+ }
+
+ if ($KAMELOT_PASSCODE[.@g] & 1)
+ dispbottom l("The power system is ##Bactive##b on the west.");
+ else
+ dispbottom l("The west power system is offline.");
+ end;
+
+OnInit:
+ .distance=4;
+ end;
+}
+042-10,33,133,0 script #K4210Note08 NPC_SWORDS_SIGN,{
+ .@g=getcharid(2);
+
+ if (!($KAMELOT_KEYMASK[.@g] & $KAMELOT_KEY[.@g])) {
+ mes l("Your guild does not have the key required to complete this part of the puzzle.");
+ close;
+ }
+
+ if ($KAMELOT_PASSCODE[.@g] & 8)
+ dispbottom l("The power system is ##Bactive##b on the east.");
+ else
+ dispbottom l("The east power system is offline.");
+ end;
+
+OnInit:
+ .distance=4;
+ end;
+}
+042-10,38,39,0 script #K4210Note16 NPC_SWORDS_SIGN,{
+ .@g=getcharid(2);
+
+ if (!($KAMELOT_KEYMASK[.@g] & $KAMELOT_KEY[.@g])) {
+ mes l("Your guild does not have the key required to complete this part of the puzzle.");
+ close;
+ }
+
+ if ($KAMELOT_PASSCODE[.@g] & 16)
+ dispbottom l("The power system is ##Bactive##b on the main.");
+ else
+ dispbottom l("The main power system is offline.");
+ end;
+
+OnInit:
+ .distance=4;
+ end;
+}
+
+// The "_" is used on explode
+042-10,89,28,0 script #K4210Switch_1 NPC_SWITCH_OFFLINE,{
+ KamelotSwitch(strnpcinfo(0, "_0"));
+ close;
+
+OnInit:
+ .distance=2;
+ end;
+}
+
+// Other switches
+042-10,80,115,0 duplicate(#K4210Switch_1) #K4210Switch_2 NPC_SWITCH_OFFLINE,0,0 // S
+042-10,63,76,0 duplicate(#K4210Switch_1) #K4210Switch_4 NPC_SWITCH_OFFLINE,0,0 // W
+042-10,100,79,0 duplicate(#K4210Switch_1) #K4210Switch_8 NPC_SWITCH_OFFLINE,0,0 // E
+042-10,82,64,0 duplicate(#K4210Switch_1) #K4210Switch_16 NPC_SWITCH_OFFLINE,0,0 // C
+
+
+
+///////////////////////////////////////////////////////////////////
+// THIS CONTROLS EVERYTHING ELSE ON THIS ROOM
+042-10,0,0,0 script #Kamelot4210 NPC_HIDDEN,{
+ end;
+
+OnKillMob:
+ if (!playerattached())
+ goto OnRespawn;
+ .@g=getcharid(2);
+
+ // Handle Dark Petal
+ // XXX: How MX/PC should affect drop rates?
+ // I imagine a higher MX will increase DR.... (Right now, level 100 = +20% DR)
+ .@r=rand2(500);
+ if (.@r < 100+$KAMELOT_MX[.@g]) {
+ getmapxy(.@m$, .@x, .@y, 0);
+ makeitem(DarkPetal, 1, .@m$, rand2(.@x-1, .@x+1), rand2(.@y-1, .@y+1));
+ }
+
+ // Maybe a reward is due
+ if (.@g < 1) die();
+ getexp $KAMELOT_MX[.@g]*10, $KAMELOT_MX[.@g]*5;
+ .@delay=max(5000, 30000-$KAMELOT_PC[.@g]*1250);
+ // FALLTHROUGH
+
+OnRespawn:
+ .@delay=(.@delay ? .@delay : 5000);
+ sleep(.@delay);
+ // Yes, we just hope it works out of box
+ explode(.@map$, .map$, "@");
+ .@g=atoi(.@map$[1]);
+ if (.@g < 1) {
+ consolewarn "[ERROR] [KAMELOT] Unable to respawn for Kamelot %s", .map$;
+ .@g=0;
+ }
+ KamelotCaveSpawn(1, 20, 20, 160, 140, $KAMELOT_MX[.@g]+10, .@map$[0]);
+ end;
+
+OnInstanceInit:
+ explode(.@map$, .map$, "@");
+ .@g=atoi(.@map$[1]);
+ if (.@g < 1) {
+ consolewarn "[ERROR] [KAMELOT] Unable to spawn for Kamelot %s", .map$;
+ .@g=0;
+ }
+ .@pc=$KAMELOT_PC[.@g]+1;
+ .@avg=$KAMELOT_MX[.@g]+15; // Monsters will be at least 15 levels stronger
+ .@m$="042-10"; // or .@map$[0]
+
+ // Spawns
+ KamelotCaveSpawn(.@pc*25/10, 60, 24, 115, 85, .@avg, .@m$); // Central Chambers (250% of player population)
+
+ // Fill the whole cave with at least, 1 per 500 tiles
+ // There are 16800 tiles, so = 36 guards should do the trick
+ // Actually, lets make that 50% bigger, so, 54 guards. Map is big.
+ KamelotCaveSpawn(54, 20, 20, 160, 140, .@avg, .@m$);
+ end;
+}
+
diff --git a/npc/042-11/_import.txt b/npc/042-11/_import.txt
new file mode 100644
index 0000000..fde2ef7
--- /dev/null
+++ b/npc/042-11/_import.txt
@@ -0,0 +1,3 @@
+// Map 042-11: Camelot Sewer West Path
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/042-11/boss.txt",
diff --git a/npc/042-11/boss.txt b/npc/042-11/boss.txt
new file mode 100644
index 0000000..5cc3b65
--- /dev/null
+++ b/npc/042-11/boss.txt
@@ -0,0 +1,220 @@
+// TMW 2 Script
+// Author:
+// Jesusalva
+// Micksha
+// Description:
+// Controls the showdown
+042-11,41,57,0 script #KDoor04211a NPC_HIDDEN,4,0,{
+ end;
+
+OnTouch:
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ if (!($KAMELOT_QUEST[.@g] & 64)) goto L_NoAccess;
+ warp "042-10@"+.@g, 143, 21;
+ end;
+
+L_NoAccess:
+ dispbottom l("Can't leave right now.");
+ end;
+}
+
+042-11,20,28,0 script #KDoor04211b NPC_HIDDEN,0,2,{
+ end;
+
+OnTouch:
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ if (!($KAMELOT_QUEST[.@g] & 64)) goto L_NoAccess;
+ mes l("Are you sure you want leave?");
+ mesc l("You wont be able to go back!");
+ next;
+ if (askyesno() == ASK_YES)
+ warp "042-0@"+.@g, 46, 25;
+ close;
+
+L_NoAccess:
+ dispbottom l("Can't leave right now.");
+ end;
+}
+
+042-11,0,0,0 script #KamelotBoss NPC_HIDDEN,{
+ end;
+
+OnDialog:
+ announce "??? : "+l("Who sent you here? Merlin?"), bc_self|bc_pc;
+ addtimer 8000, "#KamelotBoss::OnDialog2";
+ end;
+
+OnDialog2:
+ .@g=getcharid(2);
+ announce "??? : "+l("It matters not, because soon, all of you will be..."), bc_self|bc_pc;
+ addtimer 7000, instance_npcname("#KamelotBoss", $@KAMELOT_ID[.@g])+"::OnBegin";
+ end;
+
+// Spawns Terogan
+OnBegin:
+ .@g=getcharid(2);
+ .@m$=instance_mapname("042-11");
+ .@avg=$KAMELOT_MX[.@g]+10;
+ .@n$=instance_npcname("#KamelotBoss", $@KAMELOT_ID[.@g]);
+ debugmes "GID: %d Map: %s Power: %d Label: %s", .@g, .@m$, .@avg, .@n$;
+
+ // Dialog
+ announce l("General Terogan : DEAD! Muahahahaha!"), bc_self|bc_pc;
+
+ // Check if Terogan doesn't exists already
+ .@exist=getd("$@GTEMP_"+.@m$);
+ if (.@exist)
+ end;
+
+ // Check if quest isn't over already '-'
+ if ($KAMELOT_QUEST[.@g] & 64)
+ end;
+
+ // Bring Terogan into existence
+ .@mob=monster(.@m$, 40, 30, strmobinfo(1, GeneralTerogan), GeneralTerogan, 1, .@n$+"::OnKillBoss");
+ setd("$@GTEMP_"+.@m$, .@mob);
+ setd("$@GTEMP_HP_"+.@m$, 20);
+
+ // Reconfigure the monster
+ setunitdata(.@mob, UDT_LEVEL, .@avg);
+ setunitdata(.@mob, UDT_STR, 1+.@avg/2);
+ setunitdata(.@mob, UDT_AGI, 1+.@avg/2);
+ setunitdata(.@mob, UDT_VIT, 1+.@avg/2);
+ setunitdata(.@mob, UDT_INT, 1+.@avg/2);
+ setunitdata(.@mob, UDT_DEX, 1+.@avg/2);
+ setunitdata(.@mob, UDT_LUK, 1+.@avg/2);
+ setunitdata(.@mob, UDT_ADELAY, 1072);
+ setunitdata(.@mob, UDT_ATKRANGE, 4);
+ // Battle Status
+ setunitdata(.@mob, UDT_MAXHP, .@avg*700);
+ setunitdata(.@mob, UDT_HP, .@avg*700);
+ setunitdata(.@mob, UDT_ATKMIN, .@avg*7);
+ setunitdata(.@mob, UDT_ATKMAX, .@avg*9);
+ setunitdata(.@mob, UDT_DEF, 4+.@avg);
+ setunitdata(.@mob, UDT_MDEF, 1+.@avg);
+ setunitdata(.@mob, UDT_HIT, .@avg*18); // Advised: x3
+ setunitdata(.@mob, UDT_FLEE, .@avg*5); // Advised: x4
+ setunitdata(.@mob, UDT_CRIT, 120);
+ // Initial batch of reinforcements
+ KamelotCaveSpawn(6, 30, 20, 50, 40, .@avg, "042-11");
+
+ // Save info again
+ setd("$@GTEMP_"+.@m$, .@mob);
+ setd("$@GTEMP_HP_"+.@m$, 20);
+ initnpctimer;
+ end;
+
+// Checks HP ratio again
+OnTimer5000:
+ explode(.@map$, .map$, "@");
+ .@g=atoi(.@map$[1]);
+ if (.@g < 1) {
+ consolebug "[ERROR] [KAMELOT] Unable to find Terogan - Kamelot %s", .map$;
+ .@g=0;
+ }
+
+ // Retrieve Terogan's GUID and MAP ID
+ .@m$=instance_mapname("042-11");
+ .@mob=getd("$@GTEMP_"+.@m$);
+
+ // Prepare the reinforcement strength data (min 3 Lv 22 spawn)
+ .@gcount=$KAMELOT_PC[.@g]+2;
+ .@avg=$KAMELOT_MX[.@g]+rand2(22, 27);
+
+ // Calculate current HP ratio and the difference
+ .@ratio=getunitdata(.@mob, UDT_HP)*20/getunitdata(.@mob, UDT_MAXHP);
+ .@hplos=getd("$@GTEMP_HP_"+.@m$)-.@ratio;
+
+ //debugmes "Ratio %d/%d", .@ratio, getd("$@GTEMP_HP_"+.@m$);
+ if (.@ratio < getd("$@GTEMP_HP_"+.@m$)) {
+ mapannounce .@m$, "General Terogan : "+any("Charge!", "To the Abyss with you already!", "Kill them already!", "More of them might be coming!", "Minions, ATTACK!", "Muahahaha, Pathetic!"), 0;
+
+ // Unlike Krukan, spawn according to HP loss (no use fast killing)
+ KamelotCaveSpawn(.@gcount*max(1, .@hplos), 20, 20, 57, 40, .@avg, "042-11");
+ }
+
+ // TODO: Special skills
+
+ // Always update the ratio - Terogan could have been healed
+ setd("$@GTEMP_HP_"+.@m$, .@ratio);
+ initnpctimer;
+ end;
+
+// Monks Rewards
+OnKillMob:
+ // Maybe a reward is due
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ getexp $KAMELOT_MX[.@g]*8, $KAMELOT_MX[.@g]*4; // Lower than previously
+ end;
+
+// Boss rewards
+OnKillBoss:
+ stopnpctimer;
+ if (playerattached()) {
+ // Setup
+ .@g=getcharid(2);
+ .@m$=getmap();
+ .@hero$=strcharinfo(0);
+ // Player Reward for completing this stage
+ getitem GuildCoin, 10;
+ getexp $KAMELOT_MX[.@g]*150, $KAMELOT_MX[.@g]*30;
+ specialeffect(FX_FANFARE, AREA, getcharid(3));
+ } else {
+ explode(.@map$, .map$, "@");
+ .@g=atoi(.@map$[1]);
+ if (.@g < 1) {
+ consolebug "[ERROR] [KAMELOT] Unable to find Terogan Death %s", .map$;
+ .@g=0;
+ }
+ .@m$=.map$;
+ .@hero$="The guild";
+ }
+
+ // Mark quest as completed
+ $KAMELOT_QUEST[.@g]=$KAMELOT_QUEST[.@g]|64;
+
+ // Get rid of temporary variables
+ setd("$@GTEMP_"+.@m$, 0);
+ setd("$@GTEMP_HP_"+.@m$, 0);
+ killmonsterall(.@m$);
+
+ // Guild Reward for completing this stage
+ .@ggp=2000+$KAMELOT_MX[.@g]*100;
+ .@gxp=$KAMELOT_MX[.@g]*250;
+ $GUILD_BANK[.@g]+=.@ggp;
+ guildgetexp(.@gxp); // Silently fails if no char attached
+
+ // Announce
+ mapannounce .@m$, .@hero$+" has defeated the evil in Kamelot!", 0;
+
+ // Spawn GMGiftBox upon end
+ .@gf=min(30, $KAMELOT_MX[.@g]/5);
+ areamonster(.@m$, 20, 20, 57, 40, strmobinfo(1, GMGiftBox), GMGiftBox, .@gf);
+
+ // Spawn Treasure Chests upon end
+ .@gl=$KAMELOT_MX[.@g];
+ .@gtype=(.@gl > 100 ? SupremeChest : (.@gl > 75 ? PrismChest : (.@gl > 50 ? GoldenChest : (.@gl > 25 ? SilverChest : BronzeChest))));
+ .@gf=$KAMELOT_PC[.@g];
+ areamonster(.@m$, 20, 20, 57, 40, strmobinfo(1, .@gtype), .@gtype, .@gf);
+
+ // Possibly, we forgot stuff in Throne Room...
+ killmonsterall("042-0@"+.@g);
+
+ // Guild Master Notification
+ .@gm$=getguildmaster(.@g);
+ if (!getcharid(3, .@gm$)) end;
+ .@gma=getcharid(3, .@gm$);
+ .@gmb=getcharid(0, .@gm$);
+ if (!isloggedin(.@gma, .@gmb)) end;
+ message .@gm$, strcharinfo(0)+" defeated the boss: Guild GP +"+.@ggp+" Guild XP +"+.@gxp;
+ end;
+
+// Instance
+OnInstanceInit:
+ end;
+
+}
+
diff --git a/npc/042-2/_import.txt b/npc/042-2/_import.txt
new file mode 100644
index 0000000..2d59e35
--- /dev/null
+++ b/npc/042-2/_import.txt
@@ -0,0 +1,3 @@
+// Map 042-2: Camelot - Basement
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/042-2/boss.txt",
diff --git a/npc/042-2/boss.txt b/npc/042-2/boss.txt
new file mode 100644
index 0000000..b3adb12
--- /dev/null
+++ b/npc/042-2/boss.txt
@@ -0,0 +1,405 @@
+// TMW 2 Script
+// Author:
+// Jesusalva
+// Micksha
+// Description:
+// Basement Boss Fight
+// We'll be counting attendance now.
+
+042-2,41,22,0 script #KDoor0422 NPC_HIDDEN,0,0,{
+ function kdoor0422Spawn;
+ end;
+
+OnTouch:
+ .@label$=instance_npcname(.name$)+"::OnKillBoss";
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ if (($KAMELOT_QUEST[.@g] & 4) && !mobcount(getmap(), .@label$)) {
+ warp "042-3@"+.@g, 58, 139;
+ } else {
+ dispbottom l("Powerful magic repels you!");
+ percentheal -5, -5;
+ slide 38, 28;
+ }
+ end;
+
+OnArrival:
+ //debugmes "Arrival detected";
+ .@m$=instance_mapname("042-2");
+ .@g=getcharid(2);
+ if (.@g < 1)
+ die();
+ //debugmes getmap();
+ if (getmap() != "042-2@"+.@g)
+ end;
+ //debugmes $@KAMELOT_WAVE[.@g];
+ if ($@KAMELOT_WAVE[.@g] > 10)
+ end;
+ $@KAMELOT_WAVE[.@g]=100;
+ setd("$@GTEMP_PC_"+.@m$, $KAMELOT_PC[.@g]);
+ setd("$@GTEMP_MX_"+.@m$, $KAMELOT_MX[.@g]);
+ initnpctimer;
+ //debugmes "Timer Started";
+ end;
+
+OnTimer1000:
+ .@m$=instance_mapname("042-2");
+ mapannounce .@m$, "??? : What's this? Why do I hear a commotion up there??", 0;
+ .@gcount=getd("$@GTEMP_PC_"+.@m$);
+ kdoor0422Spawn(.@gcount*2, 20, 24, 59, 59); // Prologue monsters
+ end;
+
+OnTimer30000:
+ .@m$=instance_mapname("042-2");
+ mapannounce .@m$, "??? : WHAT?! This is not possible. Who are you, and how did you manage to come down here?", 0;
+ end;
+
+OnTimer35000:
+ .@m$=instance_mapname("042-2");
+ .@n$=instance_npcname(.name$);
+ mapannounce .@m$, "??? : The sheer power of our lord should prevent anyone not under his control to go here.", 0;
+ maptimer .@m$, 5000, .@n$+"::OnVerifyIntent";
+ end;
+
+OnTimer60000:
+ .@m$=instance_mapname("042-2");
+ mapannounce .@m$, "??? : HAHAHA! Meh, you will die anyways, so I can tell you that you never will even see our Lord.", 0;
+ end;
+
+OnTimer67000:
+ .@m$=instance_mapname("042-2");
+ mapannounce .@m$, b("??? : You require the key hidden in the caves, additionally you must overcome the magical seal."), 0;
+ end;
+
+OnTimer74000:
+ .@m$=instance_mapname("042-2");
+ mapannounce .@m$, "??? : Both is impossible for weaklings like you lot.", 0;
+ end;
+
+OnTimer80000:
+ .@m$=instance_mapname("042-2");
+ mapannounce .@m$, "General Krukan : ##1I am General Krukan the Strong. Minions, ATTACK!", 0;
+ .@gcount=getd("$@GTEMP_PC_"+.@m$);
+ kdoor0422Spawn(.@gcount*2, 20, 24, 59, 59);
+ end;
+
+OnTimer100000:
+ .@m$=instance_mapname("042-2");
+ mapannounce .@m$, "General Krukan : MUhahahahaha! Minions, Dispose of these Adventurers! Kill them already!", 0;
+ .@gcount=getd("$@GTEMP_PC_"+.@m$);
+ kdoor0422Spawn(.@gcount*2, 20, 24, 59, 59);
+ end;
+
+OnTimer120000:
+ .@m$=instance_mapname("042-2");
+ mapannounce .@m$, "General Krukan : *facepalm* Now, you're just being pathetic minions. How about you try a different approach and kill them already!", 0;
+ .@gcount=getd("$@GTEMP_PC_"+.@m$);
+ kdoor0422Spawn(.@gcount*2, 20, 24, 59, 59);
+ end;
+
+OnTimer180000:
+ .@m$=instance_mapname("042-2");
+ .@n$=instance_npcname(.name$);
+ mapannounce .@m$, "General Krukan : Looks like if you want something done right you have to do it yourself. ##1Charge!", 0;
+ .@gcount=getd("$@GTEMP_PC_"+.@m$);
+ .@avg=getd("$@GTEMP_MX_"+.@m$);
+ kdoor0422Spawn(.@gcount*3, 20, 24, 59, 59);
+ .@avg=getd("$@GTEMP_MX_"+.@m$);
+ //debugmes "BOSS - %d, map %s (power %d)", .@gcount, .@m$, .@avg;
+ .@mob=monster(.@m$, 34, 26, strmobinfo(1, GeneralKrukan), GeneralKrukan, 1, .@n$+"::OnKillBoss");
+ // Reconfigure the monster
+ setunitdata(.@mob, UDT_LEVEL, .@avg);
+ setunitdata(.@mob, UDT_STR, 1+.@avg/3);
+ setunitdata(.@mob, UDT_AGI, 1+.@avg/3);
+ setunitdata(.@mob, UDT_VIT, 1+.@avg/3);
+ setunitdata(.@mob, UDT_INT, 1+.@avg/3);
+ setunitdata(.@mob, UDT_DEX, 1+.@avg/3);
+ setunitdata(.@mob, UDT_LUK, 1+.@avg/3);
+ setunitdata(.@mob, UDT_ADELAY, 1372);
+ setunitdata(.@mob, UDT_ATKRANGE, 3);
+ // Battle Status
+ setunitdata(.@mob, UDT_MAXHP, .@avg*320);
+ setunitdata(.@mob, UDT_HP, .@avg*320);
+ setunitdata(.@mob, UDT_ATKMIN, .@avg*65/10);
+ setunitdata(.@mob, UDT_ATKMAX, .@avg*85/10);
+ setunitdata(.@mob, UDT_DEF, 1+.@avg);
+ setunitdata(.@mob, UDT_MDEF, 1+.@avg*8/10);
+ setunitdata(.@mob, UDT_HIT, .@avg*12); // Advised: x3
+ setunitdata(.@mob, UDT_FLEE, .@avg*39/10); // Advised: x4
+ // Critical calculation
+ .@min=15;
+ .@max=max(.@min, min(50, .@avg/4));
+ setunitdata(.@mob, UDT_CRIT, rand2(.@min, .@max));
+ // Loop through
+ setd("$@GTEMP_"+.@m$, .@mob);
+ setd("$@GTEMP_HP_"+.@m$, 10);
+ end;
+
+OnTimer185000:
+ //debugmes "Timer Running";
+ .@m$=instance_mapname("042-2");
+ .@mob=getd("$@GTEMP_"+.@m$);
+ .@gcount=getd("$@GTEMP_PC_"+.@m$);
+ .@ratio=getunitdata(.@mob, UDT_HP)*10/getunitdata(.@mob, UDT_MAXHP);
+ //debugmes "Ratio %d/%d", .@ratio, getd("$@GTEMP_HP_"+.@m$);
+ if (.@ratio < getd("$@GTEMP_HP_"+.@m$)) {
+ mapannounce .@m$, "General Krukan : "+any("Charge!", "To the Abyss with you already!", "Kill them already!", "More of them might be coming!", "Minions, ATTACK!"), 0;
+ kdoor0422Spawn(.@gcount*2, 20, 24, 59, 59);
+ setd("$@GTEMP_HP_"+.@m$, .@ratio);
+ }
+ //debugmes "Restart timer";
+ setnpctimer 180001;
+ end;
+
+OnVerifyIntent:
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ mesq l("Who are you, and how did you manage to come down here? The sheer power of our Lord prevents anyone not under his control to go here.");
+ select
+ l("We are strong fighters, and we want to free the King from his obsession."),
+ l("Oh, yea, you are right, it was a mistake. Bye-bye.");
+ mes "";
+ if (@menu == 2) {
+ mesc l("ARE YOU SURE?"), 1;
+ mesc l("This will remove you from the quest!");
+ next;
+ if (askyesno() == ASK_YES) {
+ mapannounce getmap(), "General Krukan : I praise you for running away, "+strcharinfo(0)+". You're not a fool it seems.", 0;
+ warp "014-4", 67, 27;
+ percentheal 100, 100;
+ closeclientdialog;
+ end;
+ }
+ } else {
+ getexp $KAMELOT_MX[.@g]*6, $KAMELOT_MX[.@g]*2;
+ }
+ mesc l("With fresh conviction, you prepare yourself to the fight which draws near.");
+ getitem GuildCoin, 1;
+ close;
+
+
+
+
+OnKillMob:
+ if (!playerattached()) end;
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ getexp $KAMELOT_MX[.@g]*5, $KAMELOT_MX[.@g]*2;
+ end;
+
+OnKillBoss:
+ // Fallback
+ if (!playerattached())
+ goto OnTimer180000;
+
+ // OnKillBoss begin
+ .@m$=instance_mapname("042-2");
+ .@n$=instance_npcname(.name$);
+ stopnpctimer;
+ setd("$@GTEMP_"+.@m$, 0);
+ setd("$@GTEMP_HP_"+.@m$, 0);
+ setd("$@GTEMP_PC_"+.@m$, 0);
+ setd("$@GTEMP_MX_"+.@m$, 0);
+ .@g=getcharid(2);
+ // Player Reward for completing this stage
+ getitem GuildCoin, min(1, $KAMELOT_MX[.@g]/20);
+ getexp $KAMELOT_MX[.@g]*50, $KAMELOT_MX[.@g]*10;
+ // Guild Reward for completing this stage
+ .@ggp=1200+$KAMELOT_MX[.@g]*5;
+ .@gxp=$KAMELOT_MX[.@g]*10;
+ $GUILD_BANK[.@g]+=.@ggp;
+ guildgetexp(.@gxp); // 10xp per player average level (max 1000/1500)
+ // Announce
+ mapannounce getmap(), strcharinfo(0)+" has defeated Krukan!", 0;
+ // Arrest scene + exp
+ maptimer .@m$, 1500, .@n$+"::OnReward";
+ setd("$@GTEMP_"+.@m$, .@g);
+ setnpctimer 1000000; // Prefix 1M
+ startnpctimer;
+ // Guild Master Notification
+ .@gm$=getguildmaster(.@g);
+ if (!getcharid(3, .@gm$)) end;
+ .@gma=getcharid(3, .@gm$);
+ .@gmb=getcharid(0, .@gm$);
+ if (!isloggedin(.@gma, .@gmb)) end;
+ message .@gm$, strcharinfo(0)+" defeated Krukan: Guild GP +"+.@ggp+" Guild XP +"+.@gxp;
+ end;
+
+
+///////////////////////////////////////////////////////////////////////
+OnTimer1002000:
+ .@m$=instance_mapname("042-2");
+ .@n$=instance_npcname(.name$);
+ // Bring Razha (the only mob with fixed difficulty in Kamelot)
+ .@raz=monster(.@m$, 41, 23, strmobinfo(1, GeneralRazha), GeneralRazha, 1,
+ .@n$+"::OnOptionalBoss");
+ // Configure the optional boss
+ setunitdata(.@raz, UDT_LEVEL, 150);
+ setunitdata(.@raz, UDT_STR, 150);
+ setunitdata(.@raz, UDT_AGI, 150);
+ setunitdata(.@raz, UDT_VIT, 150);
+ setunitdata(.@raz, UDT_INT, 150);
+ setunitdata(.@raz, UDT_DEX, 150);
+ setunitdata(.@raz, UDT_LUK, 150);
+ setunitdata(.@raz, UDT_ADELAY, 1072);
+ setunitdata(.@raz, UDT_ATKRANGE, 3);
+ // Battle Status
+ setunitdata(.@raz, UDT_MAXHP, 150000);
+ setunitdata(.@raz, UDT_HP, 150000);
+ setunitdata(.@raz, UDT_ATKMIN, 400);
+ setunitdata(.@raz, UDT_ATKMAX, 750);
+ setunitdata(.@raz, UDT_DEF, 300);
+ setunitdata(.@raz, UDT_MDEF, 300);
+ setunitdata(.@raz, UDT_HIT, 32767); // Advised: x3
+ setunitdata(.@raz, UDT_FLEE, 420); // Advised: x4
+ setunitdata(.@raz, UDT_CRIT, 70);
+ // Loop through
+
+ sc_start(SC_STUN, 15000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .@raz);
+ unittalk(.@raz, "What is happening here??");
+ mapannounce .@m$, "General Razha : ##1What's happening here??", 0;
+ sleep(100);
+ sc_end(SC_STUN, .@raz);
+ unitwalk(.@raz, 41, 24);
+ sleep(200);
+ sc_start(SC_STUN, 15000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .@raz);
+ end;
+
+OnTimer1007000:
+ .@m$=instance_mapname("042-2");
+ mapannounce .@m$, "General Razha : GUARDS!!", 0;
+ end;
+
+OnTimer1007500:
+ .@m$=instance_mapname("042-2");
+ .@r1=monster(.@m$, 40, 24, strmobinfo(1, CursedSoldier), CursedSoldier, 1);
+ .@r2=monster(.@m$, 42, 24, strmobinfo(1, CursedArcher), CursedArcher, 1);
+ sc_start(SC_STUN, 15000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .@r1);
+ sc_start(SC_STUN, 15000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK, .@r2);
+ kdoor0422Spawn(49, 20, 24, 59, 59); // 1225 tiles, 1 per 25 tiles
+ end;
+
+OnTimer1012000:
+ .@m$=instance_mapname("042-2");
+ mapannounce .@m$, "General Razha : Arrest them all!!", 0;
+ end;
+
+OnTimer1015000:
+ .@m$=instance_mapname("042-2");
+ .@t$=instance_mapname("042-3");
+ .@g=getd("$@GTEMP_"+.@m$);
+ .@n$="#KSlimeSpawn"; //instance_npcname("#KSlimeSpawn", $KAMELOT_ID[.@g]);
+ setarray .@x, 33, 84, 41, 74, 36, 57, 79, 43, 24, 86, 59, 38;
+ setarray .@y, 135, 127, 119, 107, 96, 84, 63, 67, 67, 22, 49, 27;
+ .@c=getunits(BL_PC, .@unt, false, .@m$, 20, 24, 59, 59);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ specialeffect(FX_HIT, AREA, .@unt[.@i]);
+ .@v = (.@i % 12);
+ .@r=attachrid(.@unt[.@i]);
+ if (.@r) {
+ warp .@t$, .@x[.@v], .@y[.@v];
+ if (!countitem(Lockpicks))
+ addtimer 700, .@n$+"::OnFirstSlime";
+ setpcblock(PCBLOCK_HARD, false);
+ } else {
+ unitwarp(.@unt[.@i], .@t$, .@x[.@v], .@y[.@v]); // And good luck D:
+ consolebug "FATAL: Could not attach: %d", .@unt[.@i];
+ }
+ }
+ $KAMELOT_QUEST[.@g]=$KAMELOT_QUEST[.@g]|4; // This part is complete
+ setd("$@GTEMP_"+.@m$, 0);
+ stopnpctimer;
+ end;
+
+OnReward:
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ setpcblock(PCBLOCK_HARD, true);
+ getitem GuildCoin, min(1, $KAMELOT_MX[.@g]/25);
+ getexp $KAMELOT_MX[.@g]*50, $KAMELOT_MX[.@g]*10;
+ dispbottom l("Wait- Something is happening!");
+ end;
+
+OnOptionalBoss:
+ .@g=getcharid(2);
+ // Player Reward for completing this stage
+ getitem GuildCoin, 5;
+ getexp 50000, 10000;
+ // Guild Reward for completing this stage
+ .@ggp=12000;
+ .@gxp=100000;
+ $GUILD_BANK[.@g]+=.@ggp;
+ guildgetexp(.@gxp); // 10xp per player average level (max 1000/1500)
+ // Announce
+ mapannounce getmap(), strcharinfo(0)+" has defeated Razha!", 0;
+ // Guild Master Notification
+ .@gm$=getguildmaster(.@g);
+ if (!getcharid(3, .@gm$)) end;
+ .@gma=getcharid(3, .@gm$);
+ .@gmb=getcharid(0, .@gm$);
+ if (!isloggedin(.@gma, .@gmb)) end;
+ message .@gm$, strcharinfo(0)+" defeated Razha: Guild GP +"+.@ggp+" Guild XP +"+.@gxp;
+ end;
+
+function kdoor0422Spawn {
+ //debugmes "Spawning";
+ .@label$=instance_npcname(.name$)+"::OnKillMob";
+ .@gcount=getarg(0);
+ .@x1=getarg(1);
+ .@y1=getarg(2);
+ .@x2=getarg(3);
+ .@y2=getarg(4);
+ .@m$=instance_mapname("042-2");
+ .@avg=getd("$@GTEMP_MX_"+.@m$);
+ //debugmes "Total %d, map %s (power %d)", .@gcount, .@m$, .@avg;
+ freeloop(true);
+ for (.@i=0; .@i < .@gcount; .@i++) {
+ .@mobId=any(CursedSoldier, CursedArcher); // 50-50 ratio
+ .@mob=areamonster(.@m$, .@x1, .@y1, .@x2, .@y2, strmobinfo(1, .@mobId), .@mobId, 1, .@label$);
+ // Reconfigure the monster
+ setunitdata(.@mob, UDT_LEVEL, .@avg);
+ setunitdata(.@mob, UDT_STR, 1+.@avg/4);
+ setunitdata(.@mob, UDT_AGI, 1+.@avg/4);
+ setunitdata(.@mob, UDT_VIT, 1+.@avg/4);
+ setunitdata(.@mob, UDT_INT, 1+.@avg/4);
+ setunitdata(.@mob, UDT_DEX, 1+.@avg/4);
+ setunitdata(.@mob, UDT_LUK, 1+.@avg/4);
+ setunitdata(.@mob, UDT_ADELAY, 1672);
+ setunitdata(.@mob, UDT_ATKRANGE, (.@mobId == CursedArcher ? any(6,7) : any(1,2)));
+ // Battle Status
+ setunitdata(.@mob, UDT_MAXHP, .@avg*33);
+ setunitdata(.@mob, UDT_HP, .@avg*33);
+ setunitdata(.@mob, UDT_ATKMIN, .@avg*40/10);
+ setunitdata(.@mob, UDT_ATKMAX, .@avg*60/10);
+ setunitdata(.@mob, UDT_DEF, 1+.@avg*9/10);
+ setunitdata(.@mob, UDT_MDEF, 1+.@avg*5/10);
+ setunitdata(.@mob, UDT_HIT, .@avg*45/10); // Advised: x3
+ setunitdata(.@mob, UDT_FLEE, .@avg*35/10); // Advised: x4
+ // Critical calculation
+ .@min=2;
+ .@max=max(.@min, min(25, .@avg/5));
+ setunitdata(.@mob, UDT_CRIT, rand2(.@min, .@max));
+ // Loop through
+ }
+ freeloop(false);
+ //debugmes "Done spawn 042-2";
+ return;
+}
+
+// Script end
+}
+
+// Required exit
+042-2,44,60,0 script #KDoor0422B NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ .@g=getcharid(2);
+ if ($KAMELOT_QUEST[.@g] & 4) {
+ warp "042-1@"+.@g, 51, 24;
+ } else {
+ dispbottom l("Oh noes! The guards locked the door!");
+ }
+ end;
+}
+
diff --git a/npc/042-3/_import.txt b/npc/042-3/_import.txt
new file mode 100644
index 0000000..4596bff
--- /dev/null
+++ b/npc/042-3/_import.txt
@@ -0,0 +1,3 @@
+// Map 042-3: Camelot - Jail
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/042-3/jail.txt",
diff --git a/npc/042-3/jail.txt b/npc/042-3/jail.txt
new file mode 100644
index 0000000..d41c33e
--- /dev/null
+++ b/npc/042-3/jail.txt
@@ -0,0 +1,181 @@
+// TMW 2 Script
+// Author:
+// Jesusalva
+// Micksha
+// Description:
+// Controls jails and lockpicks
+// Also creates siege towers to keep prisoners in check :3
+
+042-3,0,0,0 script #KSlimeSpawn NPC_HIDDEN,{
+ end;
+
+OnKillSlime:
+ debugmes "Slime slain";
+ if (!playerattached()) {
+ consolewarn "[ERROR] Player not Attached on Slime Death D:";
+ debugmes "[ERROR] Cannot retrieve coordinates!!";
+ }
+ if (@lockpicks)
+ end;
+ if (rand2(10000) > 1000) {
+ goto OnFirstSlime;
+ }
+ @lockpicks=true;
+ getitem Lockpicks, 1;
+ getitem TreasureKey, 1;
+ end;
+
+OnFirstSlime:
+ // Yes, we just hope it works out of box
+ explode(.@map$, .map$, "@");
+ .@g=atoi(.@map$[1]);
+ if (.@g < 1) {
+ consolewarn "[ERROR] [KAMELOT] Unable to spawn for Kamelot %s", .map$;
+ debugmes "[ERROR] [KAMELOT] Using dummy data (returned: %d)", .@g;
+ .@g=0;
+ }
+
+ // let's not trust .name$
+ .@label$="#KSlimeSpawn::OnKillSlime";
+ if (!playerattached()) {
+ consolewarn "[ERROR] Player not Attached on Slime Spawn D:";
+ debugmes "[ERROR] Cannot retrieve coordinates!!";
+ }
+ getmapxy(.@m$, .@x, .@y, 0);
+ sleep2(1800);
+ .@mob=monster(.@m$, .@x, .@y, strmobinfo(1, CopperSlime), CopperSlime, 1, .@label$);
+ // This should wipe the monster experience value
+ setunitdata(.@mob, UDT_LEVEL, 1);
+ //if ($@GM_OVERRIDE) debugmes "Slime is back: %s [%d]", .@label$, .@mob;
+ end;
+
+
+// Spawn Siege Towers
+OnInstanceInit:
+ .@m$=instance_mapname("042-3");
+ debugmes "Kamelot Init: Original %s Target %s", .map$, .@m$; // Fun fact
+ monster(.@m$, 89, 133, strmobinfo(1, SiegeTower), SiegeTower, 1);
+ monster(.@m$, 67, 114, strmobinfo(1, SiegeTower), SiegeTower, 1);
+ monster(.@m$, 30, 121, strmobinfo(1, SiegeTower), SiegeTower, 1);
+ monster(.@m$, 23, 137, strmobinfo(1, SiegeTower), SiegeTower, 1);
+ monster(.@m$, 29, 103, strmobinfo(1, SiegeTower), SiegeTower, 1);
+ monster(.@m$, 61, 91, strmobinfo(1, SiegeTower), SiegeTower, 1);
+ monster(.@m$, 75, 69, strmobinfo(1, SiegeTower), SiegeTower, 1);
+ monster(.@m$, 34, 72, strmobinfo(1, SiegeTower), SiegeTower, 1);
+ monster(.@m$, 60, 59, strmobinfo(1, SiegeTower), SiegeTower, 1);
+ monster(.@m$, 87, 32, strmobinfo(1, SiegeTower), SiegeTower, 1);
+ monster(.@m$, 47, 32, strmobinfo(1, SiegeTower), SiegeTower, 1);
+ monster(.@m$, 31, 35, strmobinfo(1, SiegeTower), SiegeTower, 1);
+ end;
+}
+
+// Lockpicks functions
+function script KamelotLockpick {
+ // Args: x, y, name. Needs player attached
+ .@x=getarg(0);
+ .@y=getarg(1);
+ .@name$=getarg(2);
+ mes l("A complex lock seems to be posing a threat to you.");
+ next;
+ mes l("But thanks to your %s skills, maybe you can pry this open.", thiefrank());
+ next;
+
+ .@s=LockPicking(5, 3, false);
+
+ // You broke free!
+ if (.@s) {
+ .@label$=instance_npcname(.@name$)+"::OnKamelotSlide";
+ addtimer 10, .@label$;
+ areatimer getmap(), .@x-1, .@y-1, .@x+1, .@y, 10, .@label$;
+ return;
+ }
+ mes l("What's this dark magic, the password has changed!");
+ .@label$=instance_npcname("#KSlimeSpawn")+"::OnKillSlime";
+
+ // Give player a easy way to get lockpicks for this
+ // (Overrides original .@x/.@y variables)
+ if (countitem(Lockpicks) <= 1) {
+ @lockpicks=false;
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@mob=monster(.@m$, .@x, .@y, strmobinfo(1, CopperSlime), CopperSlime, 1, .@label$);
+ // This should wipe the monster experience value
+ setunitdata(.@mob, UDT_LEVEL, 1);
+ }
+ return;
+}
+
+// Cell Doors
+042-3,33,137,0 script Cell Door#K01 NPC_NO_SPRITE,{
+ KamelotLockpick(.x, .y, .name$);
+ close;
+OnInit:
+OnInstanceInit:
+ .distance=2;
+ end;
+
+OnKamelotSlide:
+ .@label$=instance_npcname(.name$)+"::OnKamelotSlide";
+ deltimer .@label$;
+ dispbottom l("You're finally free!");
+ slide .x, .y+1;
+ @lockpicks=true;
+ end;
+}
+
+// Duplication of doors
+042-3,84,129,0 duplicate(Cell Door#K01) Cell Door#K02 NPC_NO_SPRITE
+042-3,41,121,0 duplicate(Cell Door#K01) Cell Door#K03 NPC_NO_SPRITE
+042-3,74,109,0 duplicate(Cell Door#K01) Cell Door#K04 NPC_NO_SPRITE
+042-3,36,98,0 duplicate(Cell Door#K01) Cell Door#K05 NPC_NO_SPRITE
+042-3,57,86,0 duplicate(Cell Door#K01) Cell Door#K06 NPC_NO_SPRITE
+042-3,79,65,0 duplicate(Cell Door#K01) Cell Door#K07 NPC_NO_SPRITE
+042-3,43,69,0 duplicate(Cell Door#K01) Cell Door#K08 NPC_NO_SPRITE
+042-3,24,69,0 duplicate(Cell Door#K01) Cell Door#K09 NPC_NO_SPRITE
+042-3,86,24,0 duplicate(Cell Door#K01) Cell Door#K10 NPC_NO_SPRITE
+042-3,59,51,0 duplicate(Cell Door#K01) Cell Door#K11 NPC_NO_SPRITE
+042-3,38,29,0 duplicate(Cell Door#K01) Cell Door#K12 NPC_NO_SPRITE
+
+
+
+
+// Leave the dungeon
+042-3,62,19,0 script #KDoor0423 NPC_HIDDEN,1,0,{
+ end;
+
+OnTouch:
+ .@g=getcharid(2);
+ warp "042-4@"+.@g, any(59,60), 77;
+ addtimer 1000, .name$+"::OnHey";
+ end;
+
+OnHey:
+ dispbottom l("Oh, here the path seems to split. Which way should we go?");
+ addtimer 3000, .name$+"::OnHey2";
+ end;
+
+OnHey2:
+ dispbottom l("Or should we even split ourselves to check all possible ways?")+" "+col(l("[Caution, this may be dangerous!]"), 1);
+ addtimer 7000, .name$+"::OnHey3";
+ end;
+
+OnHey3:
+ dispbottom l("Also, I don't think we will be able to go back if we pick the wrong way.");
+ addtimer 5000, .name$+"::OnHey4";
+ end;
+
+OnHey4:
+ dispbottom l("If we don't know where to go - Maybe we should go back looking for clues?");
+ end;
+}
+
+// Required exit. This one has no conditions, so it is not really required
+// But I do not trust Instancing System, so better safe than sorry!
+042-3,58,140,0 script #KDoor0423B NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ .@g=getcharid(2);
+ warp "042-2@"+.@g, 41, 23;
+ end;
+}
+
diff --git a/npc/042-4/_import.txt b/npc/042-4/_import.txt
new file mode 100644
index 0000000..00c3684
--- /dev/null
+++ b/npc/042-4/_import.txt
@@ -0,0 +1,4 @@
+// Map 042-4: Camelot - Sewer
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/042-4/_warps.txt",
+"npc/042-4/ctrl.txt",
diff --git a/npc/042-4/_warps.txt b/npc/042-4/_warps.txt
new file mode 100644
index 0000000..042fa30
--- /dev/null
+++ b/npc/042-4/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 042-4: Camelot - Sewer warps
+042-4,60,78,0 warp #042-4_60_78 1,0,042-3,62,20
+042-4,74,20,0 warp #042-4_74_20 2,0,042-5,43,98
+042-4,67,20,0 warp #042-4_67_20 0,0,042-5,36,98
diff --git a/npc/042-4/ctrl.txt b/npc/042-4/ctrl.txt
new file mode 100644
index 0000000..4bea944
--- /dev/null
+++ b/npc/042-4/ctrl.txt
@@ -0,0 +1,117 @@
+// TMW 2 Script
+// Author:
+// Jesusalva
+// Micksha
+// Description:
+// Controls sewers.
+// This one is simple, it just sends a message about path splitting
+// And spawn several monsters when instance is initialized D:
+// Also handles their respawn.
+
+// A simple random treasure chest - to be sure players were introduced to this
+// awesome system. Same rules as any treasure box still applies.
+042-4,94,47,0 script #chest_0424 NPC_CHEST,{
+ function monster0424;
+ TreasureBox();
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+
+OnInstanceInit:
+ // Yes, we just hope it works out of box
+ explode(.@map$, .map$, "@");
+ .@g=atoi(.@map$[1]);
+ if (.@g < 1) {
+ consolewarn "[ERROR] [KAMELOT] Unable to spawn for Kamelot %s", .map$;
+ debugmes "[ERROR] [KAMELOT] Using dummy data (returned: %d)", .@g;
+ .@g=0;
+ }
+ debugmes "Spawning monsters for guild %d", .@g;
+ .@mx=getguildavg(.@g);
+ monster0424(1, 20, 20, 115, 100, .@mx);
+ monster0424(4, 20, 51, 51, 71, .@mx);
+ monster0424(5, 85, 56, 115, 100, .@mx);
+ monster0424(2, 79, 40, 97, 52, .@mx);
+ monster0424(5, 51, 20, 80, 50, .@mx);
+
+ // Neutral monsters
+ areamonster(.map$, 20, 20, 115, 100, strmobinfo(1, Blub), Blub, 5);
+ areamonster(.map$, 20, 20, 115, 100, strmobinfo(1, ManaGhost), ManaGhost, max(1, .@mx/10));
+
+ // Bonus monsters
+ if (!rand2(3))
+ areamonster(.map$, 20, 20, 115, 100, "Micksha's Tortuga", Tortuga, 1);
+ end;
+
+OnKillMob:
+ if (!playerattached())
+ goto OnRespawn;
+ // Maybe a reward is due
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ getexp $KAMELOT_MX[.@g]*7, $KAMELOT_MX[.@g]*3;
+ .@delay=max(7000, 42000-$KAMELOT_PC[.@g]*2000);
+ // FALLTHROUGH
+
+OnRespawn:
+ .@delay=(.@delay ? .@delay : 7000);
+ sleep(.@delay);
+ // Yes, we just hope it works out of box
+ explode(.@map$, .map$, "@");
+ .@g=atoi(.@map$[1]);
+ if (.@g < 1) {
+ consolewarn "[ERROR] [KAMELOT] Unable to respawn for Kamelot %s", .map$;
+ .@g=0;
+ }
+ monster0424(1, 20, 20, 115, 100, $KAMELOT_MX[.@g]);
+ end;
+
+function monster0424 {
+ .@label$=instance_npcname(.name$)+"::OnKillMob";
+ .@gcount=getarg(0);
+ .@x1=getarg(1);
+ .@y1=getarg(2);
+ .@x2=getarg(3);
+ .@y2=getarg(4);
+ .@avg=getarg(5);
+ .@m$=instance_mapname("042-4");
+ //debugmes "Total %d, map %s (power %d)", .@gcount, .@m$, .@avg;
+ freeloop(true);
+ for (.@i=0; .@i < .@gcount; .@i++) {
+ .@mobId=any(CursedSoldier, CursedArcher); // 50-50 ratio
+ .@mob=areamonster(.@m$, .@x1, .@y1, .@x2, .@y2, strmobinfo(1, .@mobId), .@mobId, 1, .@label$);
+ // Reconfigure the monster
+ setunitdata(.@mob, UDT_LEVEL, .@avg);
+ setunitdata(.@mob, UDT_STR, 1+.@avg*3/10);
+ setunitdata(.@mob, UDT_AGI, 1+.@avg*3/10);
+ setunitdata(.@mob, UDT_VIT, 1+.@avg*3/10);
+ setunitdata(.@mob, UDT_INT, 1+.@avg*3/10);
+ setunitdata(.@mob, UDT_DEX, 1+.@avg*3/10);
+ setunitdata(.@mob, UDT_LUK, 1+.@avg*3/10);
+ setunitdata(.@mob, UDT_ADELAY, 1572);
+ setunitdata(.@mob, UDT_ATKRANGE, (.@mobId == CursedArcher ? any(6,7) : any(1,2)));
+ // Battle Status
+ setunitdata(.@mob, UDT_MAXHP, .@avg*36);
+ setunitdata(.@mob, UDT_HP, .@avg*36);
+ setunitdata(.@mob, UDT_ATKMIN, .@avg*42/10);
+ setunitdata(.@mob, UDT_ATKMAX, .@avg*62/10);
+ setunitdata(.@mob, UDT_DEF, 1+.@avg*10/10);
+ setunitdata(.@mob, UDT_MDEF, 1+.@avg*6/10);
+ setunitdata(.@mob, UDT_HIT, .@avg*55/10); // Advised: x3
+ setunitdata(.@mob, UDT_FLEE, .@avg*37/10); // Advised: x4
+ // Critical calculation
+ .@min=5;
+ .@max=max(.@min, min(30, .@avg/4));
+ setunitdata(.@mob, UDT_CRIT, rand2(.@min, .@max));
+ // Loop through
+ }
+ freeloop(false);
+ return;
+ }
+
+}
+
+
diff --git a/npc/042-5/_import.txt b/npc/042-5/_import.txt
new file mode 100644
index 0000000..cacf2e9
--- /dev/null
+++ b/npc/042-5/_import.txt
@@ -0,0 +1,4 @@
+// Map 042-5: Camelot - Sewer Paths
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/042-5/_warps.txt",
+"npc/042-5/ctrl.txt",
diff --git a/npc/042-5/_warps.txt b/npc/042-5/_warps.txt
new file mode 100644
index 0000000..7ef41ef
--- /dev/null
+++ b/npc/042-5/_warps.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 042-5: Camelot - Sewer Paths warps
+042-5,36,99,0 warp #042-5_36_99 0,0,042-4,67,21
+042-5,43,99,0 warp #042-5_43_99 2,0,042-4,74,21
+042-5,59,55,0 warp #042-5_59_55 0,3,042-6,22,76
+042-5,56,20,0 warp #042-5_56_20 2,0,042-7,21,77
+042-5,44,20,0 warp #042-5_44_20 2,0,042-8,51,78
+042-5,20,42,0 warp #042-5_20_42 0,6,042-9,98,79
diff --git a/npc/042-5/ctrl.txt b/npc/042-5/ctrl.txt
new file mode 100644
index 0000000..b530ffd
--- /dev/null
+++ b/npc/042-5/ctrl.txt
@@ -0,0 +1,238 @@
+// TMW 2 Script
+// Author:
+// Jesusalva
+// Micksha
+// Description:
+// Controls sewers.
+// FIXME: The warps back should only work if treasure was found
+// Spawn monsters and respawns them.
+
+// A simple random treasure chest - to be sure players were introduced to this
+// awesome system. Same rules as any treasure box still applies.
+042-5,0,0,0 script #ctrl0425 NPC_HIDDEN,{
+ function monster0425;
+ end;
+
+OnInstanceInit:
+ // Yes, we just hope it works out of box
+ explode(.@map$, .map$, "@");
+ .@g=atoi(.@map$[1]);
+ if (.@g < 1) {
+ consolewarn "[ERROR] [KAMELOT] Unable to spawn for Kamelot %s", .map$;
+ debugmes "[ERROR] [KAMELOT] Using dummy data (returned: %d)", .@g;
+ .@g=0;
+ }
+ debugmes "Spawning monsters for guild %d", .@g;
+ .@mx=getguildavg(.@g);
+ monster0425(4, 35, 20, 60, 100, .@mx);
+ monster0425(4, 20, 20, 35, 100, .@mx);
+
+ // Neutral monsters
+ areamonster(.map$, 35, 20, 60, 100, strmobinfo(1, Blub), Blub, 5);
+ areamonster(.map$, 20, 20, 35, 100, strmobinfo(1, ManaGhost), ManaGhost, max(1, .@mx/10));
+
+ // Bonus monsters
+ if (!rand2(3))
+ areamonster(.map$, 20, 20, 60, 100, strmobinfo(1, WhirlyBird), WhirlyBird, 1);
+ if (!rand2(2))
+ areamonster(.map$, 20, 20, 60, 100, strmobinfo(1, SilverChest), SilverChest, 1);
+ if (!rand2(2))
+ areamonster(.map$, 20, 20, 60, 100, strmobinfo(1, BronzeChest), BronzeChest, 2);
+ end;
+
+OnKillMob:
+ if (!playerattached())
+ goto OnRespawn;
+ // Maybe a reward is due
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ getexp $KAMELOT_MX[.@g]*7, $KAMELOT_MX[.@g]*3;
+ .@delay=max(7000, 42000-$KAMELOT_PC[.@g]*2000);
+ // FALLTHROUGH
+
+OnRespawn:
+ .@delay=(.@delay ? .@delay : 7000);
+ sleep(.@delay);
+ // Yes, we just hope it works out of box
+ explode(.@map$, .map$, "@");
+ .@g=atoi(.@map$[1]);
+ if (.@g < 1) {
+ consolewarn "[ERROR] [KAMELOT] Unable to respawn for Kamelot %s", .map$;
+ .@g=0;
+ }
+ monster0425(1, 20, 20, 80, 120, $KAMELOT_MX[.@g]);
+ end;
+
+function monster0425 {
+ .@label$=instance_npcname(.name$)+"::OnKillMob";
+ .@gcount=getarg(0);
+ .@x1=getarg(1);
+ .@y1=getarg(2);
+ .@x2=getarg(3);
+ .@y2=getarg(4);
+ .@avg=getarg(5);
+ .@m$=instance_mapname("042-5");
+ //debugmes "Total %d, map %s (power %d)", .@gcount, .@m$, .@avg;
+ freeloop(true);
+ for (.@i=0; .@i < .@gcount; .@i++) {
+ .@mobId=any(CursedSoldier, CursedArcher); // 50-50 ratio
+ .@mob=areamonster(.@m$, .@x1, .@y1, .@x2, .@y2, strmobinfo(1, .@mobId), .@mobId, 1, .@label$);
+ // Reconfigure the monster
+ setunitdata(.@mob, UDT_LEVEL, .@avg);
+ setunitdata(.@mob, UDT_STR, 1+.@avg*5/10);
+ setunitdata(.@mob, UDT_AGI, 1+.@avg*4/10);
+ setunitdata(.@mob, UDT_VIT, 1+.@avg*5/10);
+ setunitdata(.@mob, UDT_INT, 1+.@avg*5/10);
+ setunitdata(.@mob, UDT_DEX, 1+.@avg*5/10);
+ setunitdata(.@mob, UDT_LUK, 1+.@avg*4/10);
+ setunitdata(.@mob, UDT_ADELAY, 1472);
+ setunitdata(.@mob, UDT_ATKRANGE, (.@mobId == CursedArcher ? any(6,7) : any(1,2)));
+ // Battle Status
+ setunitdata(.@mob, UDT_MAXHP, .@avg*38);
+ setunitdata(.@mob, UDT_HP, .@avg*38);
+ setunitdata(.@mob, UDT_ATKMIN, .@avg*45/10);
+ setunitdata(.@mob, UDT_ATKMAX, .@avg*65/10);
+ setunitdata(.@mob, UDT_DEF, 1+.@avg*11/10);
+ setunitdata(.@mob, UDT_MDEF, 1+.@avg*7/10);
+ setunitdata(.@mob, UDT_HIT, .@avg*65/10); // Advised: x3
+ setunitdata(.@mob, UDT_FLEE, .@avg*40/10); // Advised: x4
+ // Critical calculation
+ .@min=8;
+ .@max=max(.@min, min(35, .@avg/4));
+ setunitdata(.@mob, UDT_CRIT, rand2(.@min, .@max));
+ // Loop through
+ }
+ freeloop(false);
+ return;
+ }
+
+}
+
+///////////////////////////////////////////////////////////////
+// This is required for others
+
+// KamelotTreasure( POSITION ID )
+function script KamelotTreasure {
+ .@id=getarg(0);
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ if ($KAMELOT_KEYMASK[.@g] & .@id) {
+ mesc l("The chest is unlocked and empty.");
+ close;
+ }
+ inventoryplace Iten, 1, NPCEyes, 2;
+
+ mesc l("Open the chest?");
+ mesc l("Cost: 1 @@", getitemlink(TreasureKey)), 1;
+ if (!countitem(TreasureKey))
+ close;
+ next;
+ if (askyesno() == ASK_NO)
+ close;
+
+ delitem TreasureKey, 1;
+ mesc l("You open the chest!");
+
+ .@empty=($KAMELOT_KEYMASK[.@g] & .@id);
+ $KAMELOT_KEYMASK[.@g]=$KAMELOT_KEYMASK[.@g]|.@id;
+
+ if (!.@empty) {
+ if (.@id == $KAMELOT_KEY[.@g]) {
+ dispbottom l("You found the key!");
+ rentitem KamelotKey, 86400; // Ensure they expire after 24 hours
+ .@key=true;
+ }
+ .@r=rand2(10000)-$KAMELOT_MX[.@g]+100;
+
+ // Select treasure list
+ if (.@r <= 0) // 0.01% total, 0.025% each
+ .@loot=any(MylarinDust, SaviorBlueprint, SupremeGift, HousingLetterIII, TimeFlask, MercCard_EH);
+ else if (.@r < 330) // 0.3% each
+ .@loot=any(MagicApple, PrismGift, EquipmentBlueprintD, DarkPulsar, Halberd, AncientShield, AncientSword, Setzer, MercBoxD, ScrollMagnusHealC, Shemagh);
+ else
+ .@loot=any(SacredImmortalityPotion, DivineApple, ArcmageBoxset, GoldenApple, MercBoxA, MercBoxB, MercBoxC, MoveSpeedPotion, AtroposMixture, EverburnPowder, IridiumOre, PlatinumOre, YerbaMate, SmokeGrenade, SnakeEgg, LachesisBrew, BoneAmmoBox, GoldPieces, SilverGift, TerraniteOre, LeadOre, TinOre, SilverOre, GoldOre, TitaniumOre, FluoPowder, EquipmentBlueprintC, AlchemyBlueprintC, AlchemyBlueprintD, AncientBlueprint, JasmineTea, MoubooSteak, ClothoLiquor, Coal, RedPlushWine, HastePotion, CoinBag, StrengthPotion, Pearl, BronzeGift, IronOre, CopperOre, BlueDye, EquipmentBlueprintB, AlchemyBlueprintB, AlchemyBlueprintC, OolongTea, Croconut, CelestiaTea, MoubooSteak, ClothoLiquor, Coal, SmallMushroom, HastePotion, StrengthPotion, WoodenLog, LeatherPatch, DwarvenSake, EquipmentBlueprintA, EquipmentBlueprintB, AlchemyBlueprintA, SpearmintTea, TreasureMap, FatesPotion, CrazyRum, LightGreenDiamond, EarthPowder, WoodenLog, MysteriousBottle, FluoPowder, ChamomileTea, ScrollSCave); // > 70 options (~1% each)
+
+
+ mesc l("You find @@ inside!", getitemlink(.@loot));
+ // If itemtype == Armor/Weapon, make it guild bound and put bonus
+ .@t=getiteminfo(.@loot, ITEMINFO_TYPE);
+ if (.@t == IT_WEAPON) {
+ getitembound .@loot, 1, 2;
+ delinventorylist(); // Needed, because we'll rely on rfind()
+ getinventorylist();
+ .@index=array_rfind(@inventorylist_id, .@loot);
+ setitemoptionbyindex(.@index, 0, IOPT_SPLASHDAMAGE, 1);
+ } else if (.@t == IT_ARMOR) {
+ getitembound .@loot, 1, 2;
+ delinventorylist(); // Needed, because we'll rely on rfind()
+ getinventorylist();
+ .@index=array_rfind(@inventorylist_id, .@loot);
+ setitemoptionbyindex(.@index, 0, ATTR_TOLERACE_ALL, 10);
+ } else {
+ getitem .@loot, 1;
+ }
+ } else {
+ mesc l("You find @@ inside!", l("nothing"));
+ mesc l("Seems like someone else opened this chest before you!");
+ }
+
+ // Announcement
+ if (.@key)
+ .@p$=b(" They found the key!");
+ mapannounce "042-6@"+.@g, strcharinfo(0)+" has opened a Treasure Chest!"+.@p$, 0;
+ mapannounce "042-7@"+.@g, strcharinfo(0)+" has opened a Treasure Chest!"+.@p$, 0;
+ mapannounce "042-8@"+.@g, strcharinfo(0)+" has opened a Treasure Chest!"+.@p$, 0;
+ mapannounce "042-9@"+.@g, strcharinfo(0)+" has opened a Treasure Chest!"+.@p$, 0;
+ // Guild Master Notification
+ .@gm$=getguildmaster(.@g);
+ if (!getcharid(3, .@gm$)) return;
+ .@gma=getcharid(3, .@gm$);
+ .@gmb=getcharid(0, .@gm$);
+ if (!isloggedin(.@gma, .@gmb)) return;
+ message .@gm$, strcharinfo(0)+" has opened a Treasure Chest."+.@p$;
+ return;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// KamelotBoss(Map, x, y, power, NPC)
+function script KamelotBoss {
+ .@label$=instance_npcname(getarg(4))+"::OnKillBoss";
+ .@gcount=1;
+ .@x1=getarg(1);
+ .@y1=getarg(2);
+ .@avg=getarg(3);
+ .@m$=instance_mapname(getarg(0));
+ //debugmes "Total %d, map %s (power %d)", .@gcount, .@m$, .@avg;
+ .@mobId=any(CursedSoldier, CursedArcher); // 50-50 ratio
+ .@name$=any("Gawain", "Tristan", "Kay", "Palamedes", "Mordred", "Bors", "Bedivere", "Lionel", "Bleoberry", "Lucan", "Lamorak", "Pellas", "Hector", "Dragonet", "Bronor", "Alymere"); // Typos on purpose: https://www.arthurian-legend.com/knights-round-table/
+ .@mob=monster(.@m$, .@x1, .@y1, .@name$, .@mobId, 1, .@label$);
+ // Reconfigure the monster
+ setunitdata(.@mob, UDT_LEVEL, .@avg+20);
+ setunitdata(.@mob, UDT_STR, 1+.@avg*7/10);
+ setunitdata(.@mob, UDT_AGI, 1+.@avg*5/10);
+ setunitdata(.@mob, UDT_VIT, 1+.@avg*7/10);
+ setunitdata(.@mob, UDT_INT, 1+.@avg*6/10);
+ setunitdata(.@mob, UDT_DEX, 1+.@avg*6/10);
+ setunitdata(.@mob, UDT_LUK, 1+.@avg*7/10);
+ setunitdata(.@mob, UDT_ADELAY, 1072);
+ setunitdata(.@mob, UDT_ATKRANGE, (.@mobId == CursedArcher ? any(7,8) : any(2,2,3)));
+ // Battle Status
+ setunitdata(.@mob, UDT_MAXHP, .@avg*450);
+ setunitdata(.@mob, UDT_HP, .@avg*450);
+ setunitdata(.@mob, UDT_ATKMIN, .@avg*60/10);
+ setunitdata(.@mob, UDT_ATKMAX, .@avg*70/10);
+ setunitdata(.@mob, UDT_DEF, 1+.@avg*14/10);
+ setunitdata(.@mob, UDT_MDEF, 1+.@avg*9/10);
+ setunitdata(.@mob, UDT_HIT, .@avg*16); // Advised: x3
+ setunitdata(.@mob, UDT_FLEE, .@avg*45/10); // Advised: x4
+ // Critical calculation
+ .@min=30;
+ .@max=max(.@min, min(70, .@avg/2));
+ setunitdata(.@mob, UDT_CRIT, rand2(.@min, .@max));
+ return;
+}
+
+
+
+
+
diff --git a/npc/042-6/_import.txt b/npc/042-6/_import.txt
new file mode 100644
index 0000000..5b46268
--- /dev/null
+++ b/npc/042-6/_import.txt
@@ -0,0 +1,4 @@
+// Map 042-6: Camelot Sewer East Path
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/042-6/_warps.txt",
+"npc/042-6/ctrl.txt",
diff --git a/npc/042-6/_warps.txt b/npc/042-6/_warps.txt
new file mode 100644
index 0000000..d67d255
--- /dev/null
+++ b/npc/042-6/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 042-6: Camelot Sewer East Path warps
+042-6,55,20,0 warp #042-6_55_20 0,0,042-10,149,135
diff --git a/npc/042-6/ctrl.txt b/npc/042-6/ctrl.txt
new file mode 100644
index 0000000..819d8d8
--- /dev/null
+++ b/npc/042-6/ctrl.txt
@@ -0,0 +1,116 @@
+// TMW 2 Script
+// Author:
+// Jesusalva
+// Micksha
+// Description:
+// Controls sewers.
+// FIXME: People should not be able to return here once they leave to 042-10
+// Spawn monsters and respawns them.
+
+// A simple random treasure chest - to be sure players were introduced to this
+// awesome system. Same rules as any treasure box still applies.
+042-6,65,89,0 script #chest_0426 NPC_CHEST,{
+ KamelotTreasure(8);
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+
+OnInstanceInit:
+ // Yes, we just hope it works out of box
+ explode(.@map$, .map$, "@");
+ .@g=atoi(.@map$[1]);
+ if (.@g < 1) {
+ consolewarn "[ERROR] [KAMELOT] Unable to spawn for Kamelot %s", .map$;
+ debugmes "[ERROR] [KAMELOT] Using dummy data (returned: %d)", .@g;
+ .@g=0;
+ }
+ debugmes "Spawning monsters for guild %d", .@g;
+ .@mx=getguildavg(.@g);
+
+ // Corritors
+ KamelotCaveSpawn(2, 21, 75, 50, 85, .@mx, "042-6");
+ KamelotCaveSpawn(7, 45, 45, 74, 80, .@mx, "042-6");
+ KamelotCaveSpawn(5, 52, 21, 90, 60, .@mx, "042-6");
+ KamelotCaveSpawn(3, 54, 28, 82, 39, .@mx, "042-6");
+
+ // Boss Chamber
+ KamelotCaveSpawn(5, 59, 71, 82, 91, .@mx, "042-6");
+ KamelotBoss("042-6", 74, 80, .@mx+1, .name$);
+
+ // Boss monster
+ // TODO
+
+ // Neutral monsters
+ areamonster(.map$, 20, 20, 90, 90, strmobinfo(1, YellowSlime), YellowSlime, 5);
+ areamonster(.map$, 20, 20, 90, 90, strmobinfo(1, ManaGhost), ManaGhost, max(1, .@mx/10));
+ areamonster(.map$, 20, 20, 90, 90, strmobinfo(1, CaveMaggot), CaveMaggot, 30);
+
+ // Bonus monsters
+ if (!rand2(2))
+ areamonster(.map$, 45, 20, 90, 90, strmobinfo(1, MagicBif), MagicBif, 2);
+ if (!rand2(2))
+ areamonster(.map$, 20, 20, 90, 90, strmobinfo(1, GoldenChest), GoldenChest, 1);
+ if (!rand2(2))
+ areamonster(.map$, 20, 20, 90, 90, strmobinfo(1, SilverChest), SilverChest, 2);
+ if (!rand2(2))
+ areamonster(.map$, 20, 20, 90, 90, strmobinfo(1, BronzeChest), BronzeChest, 3);
+ end;
+
+OnKillBoss:
+ if (!playerattached())
+ goto OnRespawn;
+ // Maybe a reward is due
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ getitem GuildCoin, 2+min(13, $KAMELOT_MX[.@g]/10);
+ getexp $KAMELOT_MX[.@g]*14, $KAMELOT_MX[.@g]*8;
+ mapannounce getmap(), strcharinfo(0)+" has defeated the boss!", 0;
+ .@delay=max(5000, 22000-$KAMELOT_PC[.@g]*1500);
+ goto OnRespawn;
+
+OnKillMob:
+ if (!playerattached())
+ goto OnRespawn;
+ // Maybe a reward is due
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ getexp $KAMELOT_MX[.@g]*7, $KAMELOT_MX[.@g]*4;
+ .@delay=max(7000, 42000-$KAMELOT_PC[.@g]*2000);
+ // FALLTHROUGH
+
+OnRespawn:
+ .@delay=(.@delay ? .@delay : 7000);
+ sleep(.@delay);
+ // Yes, we just hope it works out of box
+ explode(.@map$, .map$, "@");
+ .@g=atoi(.@map$[1]);
+ if (.@g < 1) {
+ consolewarn "[ERROR] [KAMELOT] Unable to respawn for Kamelot %s", .map$;
+ .@g=0;
+ }
+ KamelotCaveSpawn(1, 20, 20, 115, 100, $KAMELOT_MX[.@g], "042-6");
+ end;
+
+}
+
+
+// The exit only works before chest is looted
+042-6,21,76,0 script #KDoor0426 NPC_HIDDEN,0,3,{
+ end;
+
+OnTouch:
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ if ($KAMELOT_KEYMASK[.@g] & 8) goto L_NoAccess;
+ warp "042-5@"+.@g, 58, 53;
+ end;
+
+
+L_NoAccess:
+ dispbottom l("OH NOES! The ceiling seems to have collapsed when the chest was open! We are forced to go forward!!");
+ end;
+}
+
diff --git a/npc/042-7/_import.txt b/npc/042-7/_import.txt
new file mode 100644
index 0000000..7b351c5
--- /dev/null
+++ b/npc/042-7/_import.txt
@@ -0,0 +1,4 @@
+// Map 042-7: Camelot Sewer Northeast Path
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/042-7/_warps.txt",
+"npc/042-7/ctrl.txt",
diff --git a/npc/042-7/_warps.txt b/npc/042-7/_warps.txt
new file mode 100644
index 0000000..25d4167
--- /dev/null
+++ b/npc/042-7/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 042-7: Camelot Sewer Northeast Path warps
+042-7,62,56,0 warp #042-7_62_56 3,0,042-10,86,138
diff --git a/npc/042-7/ctrl.txt b/npc/042-7/ctrl.txt
new file mode 100644
index 0000000..66f211a
--- /dev/null
+++ b/npc/042-7/ctrl.txt
@@ -0,0 +1,116 @@
+// TMW 2 Script
+// Author:
+// Jesusalva
+// Micksha
+// Description:
+// Controls sewers.
+// FIXME: People should not be able to return here once they leave to 042-10
+// Spawn monsters and respawns them.
+
+// A simple random treasure chest - to be sure players were introduced to this
+// awesome system. Same rules as any treasure box still applies.
+042-7,22,30,0 script #chest_0427 NPC_CHEST,{
+ KamelotTreasure(4);
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+
+OnInstanceInit:
+ // Yes, we just hope it works out of box
+ explode(.@map$, .map$, "@");
+ .@g=atoi(.@map$[1]);
+ if (.@g < 1) {
+ consolewarn "[ERROR] [KAMELOT] Unable to spawn for Kamelot %s", .map$;
+ debugmes "[ERROR] [KAMELOT] Using dummy data (returned: %d)", .@g;
+ .@g=0;
+ }
+ debugmes "Spawning monsters for guild %d", .@g;
+ .@mx=getguildavg(.@g);
+
+ // Corritors
+ KamelotCaveSpawn(2, 18, 52, 30, 80, .@mx, "042-7");
+ KamelotCaveSpawn(3, 20, 44, 58, 60, .@mx, "042-7");
+ KamelotCaveSpawn(4, 40, 55, 70, 85, .@mx, "042-7");
+ KamelotCaveSpawn(5, 50, 57, 70, 85, .@mx, "042-7");
+
+ // Boss Chamber
+ KamelotCaveSpawn(8, 19, 20, 56, 44, .@mx, "042-7");
+ KamelotBoss("042-7", 30, 30, .@mx+1, .name$);
+
+ // Boss monster
+ // TODO
+
+ // Neutral monsters
+ areamonster(.map$, 20, 20, 70, 80, strmobinfo(1, YellowSlime), YellowSlime, 5);
+ areamonster(.map$, 20, 20, 70, 80, strmobinfo(1, ManaGhost), ManaGhost, max(1, .@mx/10));
+ areamonster(.map$, 20, 20, 70, 80, strmobinfo(1, CaveMaggot), CaveMaggot, 30);
+
+ // Bonus monsters
+ if (!rand2(2))
+ areamonster(.map$, 45, 20, 70, 80, strmobinfo(1, MagicBif), MagicBif, 2);
+ if (!rand2(2))
+ areamonster(.map$, 20, 20, 70, 80, strmobinfo(1, GoldenChest), GoldenChest, 1);
+ if (!rand2(2))
+ areamonster(.map$, 20, 20, 70, 80, strmobinfo(1, SilverChest), SilverChest, 2);
+ if (!rand2(2))
+ areamonster(.map$, 20, 20, 70, 80, strmobinfo(1, BronzeChest), BronzeChest, 3);
+ end;
+
+OnKillBoss:
+ if (!playerattached())
+ goto OnRespawn;
+ // Maybe a reward is due
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ getitem GuildCoin, 2+min(13, $KAMELOT_MX[.@g]/10);
+ getexp $KAMELOT_MX[.@g]*14, $KAMELOT_MX[.@g]*8;
+ mapannounce getmap(), strcharinfo(0)+" has defeated the boss!", 0;
+ .@delay=max(3000, 21000-$KAMELOT_PC[.@g]*1000);
+ goto OnRespawn;
+
+OnKillMob:
+ if (!playerattached())
+ goto OnRespawn;
+ // Maybe a reward is due
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ getexp $KAMELOT_MX[.@g]*7, $KAMELOT_MX[.@g]*4;
+ .@delay=max(7000, 42000-$KAMELOT_PC[.@g]*2000);
+ // FALLTHROUGH
+
+OnRespawn:
+ .@delay=(.@delay ? .@delay : 7000);
+ sleep(.@delay);
+ // Yes, we just hope it works out of box
+ explode(.@map$, .map$, "@");
+ .@g=atoi(.@map$[1]);
+ if (.@g < 1) {
+ consolewarn "[ERROR] [KAMELOT] Unable to respawn for Kamelot %s", .map$;
+ .@g=0;
+ }
+ KamelotCaveSpawn(1, 20, 20, 115, 100, $KAMELOT_MX[.@g], "042-7");
+ end;
+
+}
+
+
+// The exit only works before chest is looted
+042-7,21,78,0 script #KDoor0427 NPC_HIDDEN,3,0,{
+ end;
+
+OnTouch:
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ if ($KAMELOT_KEYMASK[.@g] & 4) goto L_NoAccess;
+ warp "042-5@"+.@g, 56, 21;
+ end;
+
+
+L_NoAccess:
+ dispbottom l("OH NOES! The ceiling seems to have collapsed when the chest was open! We are forced to go forward!!");
+ end;
+}
+
diff --git a/npc/042-8/_import.txt b/npc/042-8/_import.txt
new file mode 100644
index 0000000..40ae90f
--- /dev/null
+++ b/npc/042-8/_import.txt
@@ -0,0 +1,4 @@
+// Map 042-8: Camelot Sewer Northwest Path
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/042-8/_warps.txt",
+"npc/042-8/ctrl.txt",
diff --git a/npc/042-8/_warps.txt b/npc/042-8/_warps.txt
new file mode 100644
index 0000000..abdb0d6
--- /dev/null
+++ b/npc/042-8/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 042-8: Camelot Sewer Northwest Path warps
+042-8,81,54,0 warp #042-8_81_54 2,0,042-10,23,138
diff --git a/npc/042-8/ctrl.txt b/npc/042-8/ctrl.txt
new file mode 100644
index 0000000..380092c
--- /dev/null
+++ b/npc/042-8/ctrl.txt
@@ -0,0 +1,116 @@
+// TMW 2 Script
+// Author:
+// Jesusalva
+// Micksha
+// Description:
+// Controls sewers.
+// FIXME: People should not be able to return here once they leave to 042-10
+// Spawn monsters and respawns them.
+
+// A simple random treasure chest - to be sure players were introduced to this
+// awesome system. Same rules as any treasure box still applies.
+042-8,60,40,0 script #chest_0428 NPC_CHEST,{
+ KamelotTreasure(2);
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+
+OnInstanceInit:
+ // Yes, we just hope it works out of box
+ explode(.@map$, .map$, "@");
+ .@g=atoi(.@map$[1]);
+ if (.@g < 1) {
+ consolewarn "[ERROR] [KAMELOT] Unable to spawn for Kamelot %s", .map$;
+ debugmes "[ERROR] [KAMELOT] Using dummy data (returned: %d)", .@g;
+ .@g=0;
+ }
+ debugmes "Spawning monsters for guild %d", .@g;
+ .@mx=getguildavg(.@g);
+
+ // Corritors
+ KamelotCaveSpawn(2, 35, 58, 54, 80, .@mx, "042-8"); // Sewer
+ KamelotCaveSpawn(4, 36, 22, 75, 32, .@mx, "042-8"); // North
+ KamelotCaveSpawn(6, 65, 20, 84, 70, .@mx, "042-8"); // Exit
+ KamelotCaveSpawn(5, 20, 20, 41, 57, .@mx, "042-8"); // West
+
+ // Boss Chamber
+ KamelotCaveSpawn(5, 40, 32, 62, 50, .@mx, "042-8");
+ KamelotBoss("042-8", 50, 42, .@mx+1, .name$);
+
+ // Boss monster
+ // TODO
+
+ // Neutral monsters
+ areamonster(.map$, 20, 20, 85, 80, strmobinfo(1, YellowSlime), YellowSlime, 5);
+ areamonster(.map$, 20, 20, 85, 80, strmobinfo(1, ManaGhost), ManaGhost, max(1, .@mx/10));
+ areamonster(.map$, 20, 20, 85, 80, strmobinfo(1, CaveMaggot), CaveMaggot, 30);
+
+ // Bonus monsters
+ if (!rand2(2))
+ areamonster(.map$, 45, 20, 85, 80, strmobinfo(1, MagicBif), MagicBif, 2);
+ if (!rand2(2))
+ areamonster(.map$, 20, 20, 85, 80, strmobinfo(1, GoldenChest), GoldenChest, 1);
+ if (!rand2(2))
+ areamonster(.map$, 20, 20, 85, 80, strmobinfo(1, SilverChest), SilverChest, 2);
+ if (!rand2(2))
+ areamonster(.map$, 20, 20, 85, 80, strmobinfo(1, BronzeChest), BronzeChest, 3);
+ end;
+
+OnKillBoss:
+ if (!playerattached())
+ goto OnRespawn;
+ // Maybe a reward is due
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ getitem GuildCoin, 2+min(13, $KAMELOT_MX[.@g]/10);
+ getexp $KAMELOT_MX[.@g]*14, $KAMELOT_MX[.@g]*8;
+ mapannounce getmap(), strcharinfo(0)+" has defeated the boss!", 0;
+ .@delay=max(7000, 42000-$KAMELOT_PC[.@g]*2000);
+ goto OnRespawn;
+
+OnKillMob:
+ if (!playerattached())
+ goto OnRespawn;
+ // Maybe a reward is due
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ getexp $KAMELOT_MX[.@g]*7, $KAMELOT_MX[.@g]*4;
+ .@delay=max(7000, 42000-$KAMELOT_PC[.@g]*2000);
+ // FALLTHROUGH
+
+OnRespawn:
+ .@delay=(.@delay ? .@delay : 7000);
+ sleep(.@delay);
+ // Yes, we just hope it works out of box
+ explode(.@map$, .map$, "@");
+ .@g=atoi(.@map$[1]);
+ if (.@g < 1) {
+ consolewarn "[ERROR] [KAMELOT] Unable to respawn for Kamelot %s", .map$;
+ .@g=0;
+ }
+ KamelotCaveSpawn(1, 20, 20, 115, 100, $KAMELOT_MX[.@g], "042-8");
+ end;
+
+}
+
+
+// The exit only works before chest is looted
+042-8,51,79,0 script #KDoor0428 NPC_HIDDEN,2,0,{
+ end;
+
+OnTouch:
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ if ($KAMELOT_KEYMASK[.@g] & 2) goto L_NoAccess;
+ warp "042-5@"+.@g, 44, 21;
+ end;
+
+
+L_NoAccess:
+ dispbottom l("OH NOES! The ceiling seems to have collapsed when the chest was open! We are forced to go forward!!");
+ end;
+}
+
diff --git a/npc/042-9/_import.txt b/npc/042-9/_import.txt
new file mode 100644
index 0000000..cfd445a
--- /dev/null
+++ b/npc/042-9/_import.txt
@@ -0,0 +1,4 @@
+// Map 042-9: Camelot Sewer West Path
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/042-9/_warps.txt",
+"npc/042-9/ctrl.txt",
diff --git a/npc/042-9/_warps.txt b/npc/042-9/_warps.txt
new file mode 100644
index 0000000..6766d0b
--- /dev/null
+++ b/npc/042-9/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 042-9: Camelot Sewer West Path warps
+042-9,99,21,0 warp #042-9_99_21 0,4,042-10,21,79
diff --git a/npc/042-9/ctrl.txt b/npc/042-9/ctrl.txt
new file mode 100644
index 0000000..403c159
--- /dev/null
+++ b/npc/042-9/ctrl.txt
@@ -0,0 +1,115 @@
+// TMW 2 Script
+// Author:
+// Jesusalva
+// Micksha
+// Description:
+// Controls sewers.
+// FIXME: People should not be able to return here once they leave to 042-10
+// Spawn monsters and respawns them.
+
+// A simple random treasure chest - to be sure players were introduced to this
+// awesome system. Same rules as any treasure box still applies.
+042-9,48,76,0 script #chest_0429 NPC_CHEST,{
+ KamelotTreasure(1);
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ close;
+
+OnInit:
+ .distance = 2;
+ end;
+
+OnInstanceInit:
+ // Yes, we just hope it works out of box
+ explode(.@map$, .map$, "@");
+ .@g=atoi(.@map$[1]);
+ if (.@g < 1) {
+ consolewarn "[ERROR] [KAMELOT] Unable to spawn for Kamelot %s", .map$;
+ debugmes "[ERROR] [KAMELOT] Using dummy data (returned: %d)", .@g;
+ .@g=0;
+ }
+ debugmes "Spawning monsters for guild %d", .@g;
+ .@mx=getguildavg(.@g);
+
+ // Corritors
+ KamelotCaveSpawn(3, 67, 60, 100, 85, .@mx, "042-9"); // Sewer
+ KamelotCaveSpawn(12, 20, 20, 100, 50, .@mx, "042-9"); // West+Exit
+ KamelotCaveSpawn(3, 28, 50, 67, 67, .@mx, "042-9"); // East
+
+ // Boss Chamber
+ KamelotCaveSpawn(5, 21, 60, 51, 80, .@mx, "042-9");
+ KamelotBoss("042-9", 40, 74, .@mx+1, .name$);
+
+ // Boss monster
+ // TODO
+
+ // Neutral monsters
+ areamonster(.map$, 20, 20, 100, 85, strmobinfo(1, YellowSlime), YellowSlime, 5);
+ areamonster(.map$, 20, 20, 100, 85, strmobinfo(1, ManaGhost), ManaGhost, max(1, .@mx/10));
+ areamonster(.map$, 20, 20, 100, 85, strmobinfo(1, CaveMaggot), CaveMaggot, 30);
+
+ // Bonus monsters
+ if (!rand2(2))
+ areamonster(.map$, 45, 20, 100, 85, strmobinfo(1, MagicBif), MagicBif, 2);
+ if (!rand2(2))
+ areamonster(.map$, 20, 20, 100, 85, strmobinfo(1, GoldenChest), GoldenChest, 1);
+ if (!rand2(2))
+ areamonster(.map$, 20, 20, 100, 85, strmobinfo(1, SilverChest), SilverChest, 2);
+ if (!rand2(2))
+ areamonster(.map$, 20, 20, 100, 85, strmobinfo(1, BronzeChest), BronzeChest, 3);
+ end;
+
+OnKillBoss:
+ if (!playerattached())
+ goto OnRespawn;
+ // Maybe a reward is due
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ getitem GuildCoin, 2+min(13, $KAMELOT_MX[.@g]/10);
+ getexp $KAMELOT_MX[.@g]*14, $KAMELOT_MX[.@g]*8;
+ mapannounce getmap(), strcharinfo(0)+" has defeated the boss!", 0;
+ .@delay=max(3000, 21000-$KAMELOT_PC[.@g]*1000);
+ goto OnRespawn;
+
+OnKillMob:
+ if (!playerattached())
+ goto OnRespawn;
+ // Maybe a reward is due
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ getexp $KAMELOT_MX[.@g]*7, $KAMELOT_MX[.@g]*4;
+ .@delay=max(7000, 42000-$KAMELOT_PC[.@g]*2000);
+ // FALLTHROUGH
+
+OnRespawn:
+ .@delay=(.@delay ? .@delay : 7000);
+ sleep(.@delay);
+ // Yes, we just hope it works out of box
+ explode(.@map$, .map$, "@");
+ .@g=atoi(.@map$[1]);
+ if (.@g < 1) {
+ consolewarn "[ERROR] [KAMELOT] Unable to respawn for Kamelot %s", .map$;
+ .@g=0;
+ }
+ KamelotCaveSpawn(1, 20, 20, 115, 100, $KAMELOT_MX[.@g], "042-9");
+ end;
+
+}
+
+
+// The exit only works before chest is looted
+042-9,99,80,0 script #KDoor0429 NPC_HIDDEN,0,6,{
+ end;
+
+OnTouch:
+ .@g=getcharid(2);
+ if (.@g < 1) die();
+ if ($KAMELOT_KEYMASK[.@g] & 1) goto L_NoAccess;
+ warp "042-5@"+.@g, 21, 43;
+ end;
+
+
+L_NoAccess:
+ dispbottom l("OH NOES! The ceiling seems to have collapsed when the chest was open! We are forced to go forward!!");
+ end;
+}
+
diff --git a/npc/_import.txt b/npc/_import.txt
new file mode 100644
index 0000000..1d7d82c
--- /dev/null
+++ b/npc/_import.txt
@@ -0,0 +1,415 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+
+@include "npc/000-0-0/_import.txt"
+@include "npc/000-0-1/_import.txt"
+@include "npc/000-0/_import.txt"
+@include "npc/000-1/_import.txt"
+@include "npc/001-1/_import.txt"
+@include "npc/001-10-1/_import.txt"
+@include "npc/001-10/_import.txt"
+@include "npc/001-11/_import.txt"
+@include "npc/001-12/_import.txt"
+@include "npc/001-13-0/_import.txt"
+@include "npc/001-13-1/_import.txt"
+@include "npc/001-13-2/_import.txt"
+@include "npc/001-13/_import.txt"
+@include "npc/001-14/_import.txt"
+@include "npc/001-2/_import.txt"
+@include "npc/001-3-1/_import.txt"
+@include "npc/001-3/_import.txt"
+@include "npc/001-4/_import.txt"
+@include "npc/001-5/_import.txt"
+@include "npc/001-6/_import.txt"
+@include "npc/001-7/_import.txt"
+@include "npc/001-8/_import.txt"
+@include "npc/001-9/_import.txt"
+@include "npc/002-1/_import.txt"
+@include "npc/002-2/_import.txt"
+@include "npc/002-3/_import.txt"
+@include "npc/002-4/_import.txt"
+@include "npc/002-5/_import.txt"
+@include "npc/003-0-1/_import.txt"
+@include "npc/003-0-2/_import.txt"
+@include "npc/003-0/_import.txt"
+@include "npc/003-1-1/_import.txt"
+@include "npc/003-1-2/_import.txt"
+@include "npc/003-1-3/_import.txt"
+@include "npc/003-1/_import.txt"
+@include "npc/003-10/_import.txt"
+@include "npc/003-13/_import.txt"
+@include "npc/003-2-1/_import.txt"
+@include "npc/003-2/_import.txt"
+@include "npc/003-3/_import.txt"
+@include "npc/003-4-1/_import.txt"
+@include "npc/003-4/_import.txt"
+@include "npc/003-5/_import.txt"
+@include "npc/003-6/_import.txt"
+@include "npc/003-7/_import.txt"
+@include "npc/003-8/_import.txt"
+@include "npc/003-9-1/_import.txt"
+@include "npc/003-9/_import.txt"
+@include "npc/004-1/_import.txt"
+@include "npc/004-2-1/_import.txt"
+@include "npc/004-2-10/_import.txt"
+@include "npc/004-2-11/_import.txt"
+@include "npc/004-2-12/_import.txt"
+@include "npc/004-2-2/_import.txt"
+@include "npc/004-2-3/_import.txt"
+@include "npc/004-2-4/_import.txt"
+@include "npc/004-2-5/_import.txt"
+@include "npc/004-2-6/_import.txt"
+@include "npc/004-2-7/_import.txt"
+@include "npc/004-2-8/_import.txt"
+@include "npc/004-2-9/_import.txt"
+@include "npc/004-2/_import.txt"
+@include "npc/004-3-1/_import.txt"
+@include "npc/004-3-2/_import.txt"
+@include "npc/004-3-3/_import.txt"
+@include "npc/004-3-4/_import.txt"
+@include "npc/004-3-5/_import.txt"
+@include "npc/004-3-6/_import.txt"
+@include "npc/004-3/_import.txt"
+@include "npc/005-1-1/_import.txt"
+@include "npc/005-1/_import.txt"
+@include "npc/005-2-1/_import.txt"
+@include "npc/005-2/_import.txt"
+@include "npc/005-3/_import.txt"
+@include "npc/005-4/_import.txt"
+@include "npc/005-5/_import.txt"
+@include "npc/005-6/_import.txt"
+@include "npc/005-7/_import.txt"
+@include "npc/006-0/_import.txt"
+@include "npc/006-1/_import.txt"
+@include "npc/006-10/_import.txt"
+@include "npc/006-2-1/_import.txt"
+@include "npc/006-2-2/_import.txt"
+@include "npc/006-2-3/_import.txt"
+@include "npc/006-2-4/_import.txt"
+@include "npc/006-2-5/_import.txt"
+@include "npc/006-2-6/_import.txt"
+@include "npc/006-2/_import.txt"
+@include "npc/006-3/_import.txt"
+@include "npc/006-4-1/_import.txt"
+@include "npc/006-4/_import.txt"
+@include "npc/006-5/_import.txt"
+@include "npc/006-6/_import.txt"
+@include "npc/006-7/_import.txt"
+@include "npc/006-8/_import.txt"
+@include "npc/006-9/_import.txt"
+@include "npc/007-1-1/_import.txt"
+@include "npc/007-1-2/_import.txt"
+@include "npc/007-1/_import.txt"
+@include "npc/007-2/_import.txt"
+@include "npc/008-0/_import.txt"
+@include "npc/008-1/_import.txt"
+@include "npc/008-2/_import.txt"
+@include "npc/009-1/_import.txt"
+@include "npc/009-2/_import.txt"
+@include "npc/009-3/_import.txt"
+@include "npc/009-4/_import.txt"
+@include "npc/009-5/_import.txt"
+@include "npc/009-6/_import.txt"
+@include "npc/009-7/_import.txt"
+@include "npc/010-1-1/_import.txt"
+@include "npc/010-1-10/_import.txt"
+@include "npc/010-1-11/_import.txt"
+@include "npc/010-1-12/_import.txt"
+@include "npc/010-1-2/_import.txt"
+@include "npc/010-1-3/_import.txt"
+@include "npc/010-1-4/_import.txt"
+@include "npc/010-1-5/_import.txt"
+@include "npc/010-1-6/_import.txt"
+@include "npc/010-1-7/_import.txt"
+@include "npc/010-1-8/_import.txt"
+@include "npc/010-1-9/_import.txt"
+@include "npc/010-1/_import.txt"
+@include "npc/010-2-10/_import.txt"
+@include "npc/010-2-11/_import.txt"
+@include "npc/010-2-12/_import.txt"
+@include "npc/010-2-13/_import.txt"
+@include "npc/010-2-14/_import.txt"
+@include "npc/010-2-15/_import.txt"
+@include "npc/010-2-16/_import.txt"
+@include "npc/010-2-2/_import.txt"
+@include "npc/010-2-3/_import.txt"
+@include "npc/010-2-4/_import.txt"
+@include "npc/010-2-5/_import.txt"
+@include "npc/010-2-6/_import.txt"
+@include "npc/010-2-7/_import.txt"
+@include "npc/010-2-8/_import.txt"
+@include "npc/010-2-9/_import.txt"
+@include "npc/010-2/_import.txt"
+@include "npc/010-3/_import.txt"
+@include "npc/010-4-1/_import.txt"
+@include "npc/010-4-2/_import.txt"
+@include "npc/011-1/_import.txt"
+@include "npc/011-2/_import.txt"
+@include "npc/011-3/_import.txt"
+@include "npc/012-1/_import.txt"
+@include "npc/012-2/_import.txt"
+@include "npc/012-3/_import.txt"
+@include "npc/012-4/_import.txt"
+@include "npc/012-5/_import.txt"
+@include "npc/012-6/_import.txt"
+@include "npc/012-7/_import.txt"
+@include "npc/012-8/_import.txt"
+@include "npc/013-1/_import.txt"
+@include "npc/014-1/_import.txt"
+@include "npc/014-2-1/_import.txt"
+@include "npc/014-2-2/_import.txt"
+@include "npc/014-2/_import.txt"
+@include "npc/014-3/_import.txt"
+@include "npc/014-4/_import.txt"
+@include "npc/014-5-1/_import.txt"
+@include "npc/014-5/_import.txt"
+@include "npc/015-1/_import.txt"
+@include "npc/015-2/_import.txt"
+@include "npc/015-3-1/_import.txt"
+@include "npc/015-3-2/_import.txt"
+@include "npc/015-3-3/_import.txt"
+@include "npc/015-3/_import.txt"
+@include "npc/015-4/_import.txt"
+@include "npc/015-5/_import.txt"
+@include "npc/015-6/_import.txt"
+@include "npc/015-7/_import.txt"
+@include "npc/015-8-1/_import.txt"
+@include "npc/015-8/_import.txt"
+@include "npc/016-1/_import.txt"
+@include "npc/016-6/_import.txt"
+@include "npc/016-7/_import.txt"
+@include "npc/017-0/_import.txt"
+@include "npc/017-1/_import.txt"
+@include "npc/017-10/_import.txt"
+@include "npc/017-2-1/_import.txt"
+@include "npc/017-2-2/_import.txt"
+@include "npc/017-2/_import.txt"
+@include "npc/017-3/_import.txt"
+@include "npc/017-4/_import.txt"
+@include "npc/017-5/_import.txt"
+@include "npc/017-6/_import.txt"
+@include "npc/017-7/_import.txt"
+@include "npc/017-8/_import.txt"
+@include "npc/018-1-1/_import.txt"
+@include "npc/018-1/_import.txt"
+@include "npc/018-2-1/_import.txt"
+@include "npc/018-2-2/_import.txt"
+@include "npc/018-2-3/_import.txt"
+@include "npc/018-2-4/_import.txt"
+@include "npc/018-2-5/_import.txt"
+@include "npc/018-2-6/_import.txt"
+@include "npc/018-2-7/_import.txt"
+@include "npc/018-2-8/_import.txt"
+@include "npc/018-2/_import.txt"
+@include "npc/018-3/_import.txt"
+@include "npc/018-4-1/_import.txt"
+@include "npc/018-4-2/_import.txt"
+@include "npc/018-4/_import.txt"
+@include "npc/018-5-0/_import.txt"
+@include "npc/018-5-1/_import.txt"
+@include "npc/018-5-2/_import.txt"
+@include "npc/018-5-3/_import.txt"
+@include "npc/018-5-4/_import.txt"
+@include "npc/018-5-5/_import.txt"
+@include "npc/018-5-boss/_import.txt"
+@include "npc/018-5/_import.txt"
+@include "npc/018-6-0/_import.txt"
+@include "npc/018-6-1/_import.txt"
+@include "npc/018-6-2/_import.txt"
+@include "npc/018-6-3/_import.txt"
+@include "npc/018-7-1/_import.txt"
+@include "npc/018-7/_import.txt"
+@include "npc/019-1-1/_import.txt"
+@include "npc/019-1/_import.txt"
+@include "npc/019-2/_import.txt"
+@include "npc/019-3/_import.txt"
+@include "npc/019-4-1/_import.txt"
+@include "npc/019-4/_import.txt"
+@include "npc/019-5-1/_import.txt"
+@include "npc/019-5-2/_import.txt"
+@include "npc/019-5-3/_import.txt"
+@include "npc/019-5/_import.txt"
+@include "npc/019-6/_import.txt"
+@include "npc/020-1/_import.txt"
+@include "npc/020-2/_import.txt"
+@include "npc/020-3/_import.txt"
+@include "npc/020-4/_import.txt"
+@include "npc/020-5/_import.txt"
+@include "npc/020-6/_import.txt"
+@include "npc/020-7-1/_import.txt"
+@include "npc/020-7-2/_import.txt"
+@include "npc/020-7/_import.txt"
+@include "npc/021-0/_import.txt"
+@include "npc/021-1/_import.txt"
+@include "npc/021-2/_import.txt"
+@include "npc/021-3/_import.txt"
+@include "npc/021-4/_import.txt"
+@include "npc/022-1/_import.txt"
+@include "npc/023-1/_import.txt"
+@include "npc/023-2/_import.txt"
+@include "npc/023-3-1/_import.txt"
+@include "npc/023-3-2/_import.txt"
+@include "npc/023-3/_import.txt"
+@include "npc/023-4/_import.txt"
+@include "npc/024-1/_import.txt"
+@include "npc/024-10/_import.txt"
+@include "npc/024-11/_import.txt"
+@include "npc/024-12/_import.txt"
+@include "npc/024-13/_import.txt"
+@include "npc/024-14/_import.txt"
+@include "npc/024-15/_import.txt"
+@include "npc/024-16/_import.txt"
+@include "npc/024-2/_import.txt"
+@include "npc/024-3/_import.txt"
+@include "npc/024-4/_import.txt"
+@include "npc/024-5/_import.txt"
+@include "npc/024-6/_import.txt"
+@include "npc/024-7/_import.txt"
+@include "npc/024-8/_import.txt"
+@include "npc/024-9/_import.txt"
+@include "npc/025-1/_import.txt"
+@include "npc/025-2-1/_import.txt"
+@include "npc/025-2-2/_import.txt"
+@include "npc/025-2-3/_import.txt"
+@include "npc/025-2-4/_import.txt"
+@include "npc/025-2/_import.txt"
+@include "npc/025-3/_import.txt"
+@include "npc/026-0/_import.txt"
+@include "npc/026-1/_import.txt"
+@include "npc/026-2/_import.txt"
+@include "npc/027-0/_import.txt"
+@include "npc/027-1/_import.txt"
+@include "npc/027-2/_import.txt"
+@include "npc/027-3/_import.txt"
+@include "npc/027-4/_import.txt"
+@include "npc/027-5/_import.txt"
+@include "npc/027-6/_import.txt"
+@include "npc/027-7/_import.txt"
+@include "npc/029-0/_import.txt"
+@include "npc/029-1/_import.txt"
+@include "npc/029-2/_import.txt"
+@include "npc/029-3/_import.txt"
+@include "npc/029-4/_import.txt"
+@include "npc/029-5/_import.txt"
+@include "npc/029-6/_import.txt"
+@include "npc/029-7/_import.txt"
+@include "npc/029-8/_import.txt"
+@include "npc/029-9/_import.txt"
+@include "npc/030-01/_import.txt"
+@include "npc/030-02/_import.txt"
+@include "npc/030-03/_import.txt"
+@include "npc/030-04/_import.txt"
+@include "npc/030-05/_import.txt"
+@include "npc/030-06/_import.txt"
+@include "npc/030-07/_import.txt"
+@include "npc/030-08/_import.txt"
+@include "npc/030-09/_import.txt"
+@include "npc/030-10/_import.txt"
+@include "npc/030-11/_import.txt"
+@include "npc/030-12/_import.txt"
+@include "npc/030-13/_import.txt"
+@include "npc/030-14/_import.txt"
+@include "npc/030-15/_import.txt"
+@include "npc/030-16/_import.txt"
+@include "npc/030-17/_import.txt"
+@include "npc/030-18/_import.txt"
+@include "npc/030-19/_import.txt"
+@include "npc/030-20/_import.txt"
+@include "npc/030-21/_import.txt"
+@include "npc/030-22/_import.txt"
+@include "npc/030-23/_import.txt"
+@include "npc/030-24/_import.txt"
+@include "npc/030-25/_import.txt"
+@include "npc/030-26/_import.txt"
+@include "npc/030-27/_import.txt"
+@include "npc/030-28/_import.txt"
+@include "npc/030-29/_import.txt"
+@include "npc/030-30/_import.txt"
+@include "npc/030-31/_import.txt"
+@include "npc/030-32/_import.txt"
+@include "npc/030-33/_import.txt"
+@include "npc/030-34/_import.txt"
+@include "npc/030-35/_import.txt"
+@include "npc/030-36/_import.txt"
+@include "npc/030-37/_import.txt"
+@include "npc/030-38/_import.txt"
+@include "npc/030-39/_import.txt"
+@include "npc/030-40/_import.txt"
+@include "npc/030-41/_import.txt"
+@include "npc/030-42/_import.txt"
+@include "npc/030-43/_import.txt"
+@include "npc/030-44/_import.txt"
+@include "npc/030-45/_import.txt"
+@include "npc/030-46/_import.txt"
+@include "npc/030-47/_import.txt"
+@include "npc/030-48/_import.txt"
+@include "npc/030-49/_import.txt"
+@include "npc/030-50/_import.txt"
+@include "npc/030-51/_import.txt"
+@include "npc/030-52/_import.txt"
+@include "npc/030-53/_import.txt"
+@include "npc/030-54/_import.txt"
+@include "npc/030-55/_import.txt"
+@include "npc/030-56/_import.txt"
+@include "npc/030-57/_import.txt"
+@include "npc/030-58/_import.txt"
+@include "npc/030-59/_import.txt"
+@include "npc/030-60/_import.txt"
+@include "npc/030-61/_import.txt"
+@include "npc/030-62/_import.txt"
+@include "npc/030-63/_import.txt"
+@include "npc/030-64/_import.txt"
+@include "npc/030-65/_import.txt"
+@include "npc/030-66/_import.txt"
+@include "npc/030-67/_import.txt"
+@include "npc/030-68/_import.txt"
+@include "npc/030-69/_import.txt"
+@include "npc/030-70/_import.txt"
+@include "npc/030-71/_import.txt"
+@include "npc/030-72/_import.txt"
+@include "npc/030-73/_import.txt"
+@include "npc/030-74/_import.txt"
+@include "npc/030-75/_import.txt"
+@include "npc/031-0/_import.txt"
+@include "npc/031-1/_import.txt"
+@include "npc/031-2/_import.txt"
+@include "npc/031-3/_import.txt"
+@include "npc/031-4/_import.txt"
+@include "npc/031-5/_import.txt"
+@include "npc/031-6/_import.txt"
+@include "npc/031-7/_import.txt"
+@include "npc/031-8/_import.txt"
+@include "npc/031-9/_import.txt"
+@include "npc/032-1/_import.txt"
+@include "npc/032-2/_import.txt"
+@include "npc/032-3/_import.txt"
+@include "npc/032-4/_import.txt"
+@include "npc/032-5/_import.txt"
+@include "npc/033-1/_import.txt"
+@include "npc/033-2/_import.txt"
+@include "npc/033-3/_import.txt"
+@include "npc/033-4/_import.txt"
+@include "npc/033-5/_import.txt"
+@include "npc/034-1/_import.txt"
+@include "npc/034-2/_import.txt"
+@include "npc/034-3/_import.txt"
+@include "npc/034-4/_import.txt"
+@include "npc/042-0/_import.txt"
+@include "npc/042-1/_import.txt"
+@include "npc/042-10/_import.txt"
+@include "npc/042-11/_import.txt"
+@include "npc/042-2/_import.txt"
+@include "npc/042-3/_import.txt"
+@include "npc/042-4/_import.txt"
+@include "npc/042-5/_import.txt"
+@include "npc/042-6/_import.txt"
+@include "npc/042-7/_import.txt"
+@include "npc/042-8/_import.txt"
+@include "npc/042-9/_import.txt"
+@include "npc/boss/_import.txt"
+@include "npc/botcheck/_import.txt"
+@include "npc/guilds/_import.txt"
+@include "npc/sec_pri/_import.txt"
+@include "npc/soren-2/_import.txt"
+@include "npc/soren/_import.txt"
+@include "npc/test/_import.txt"
+@include "npc/testbg/_import.txt"
diff --git a/npc/boss/_import.txt b/npc/boss/_import.txt
new file mode 100644
index 0000000..60544f5
--- /dev/null
+++ b/npc/boss/_import.txt
@@ -0,0 +1,4 @@
+// Map boss: Boss Arena
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/boss/manamarket.txt",
+"npc/boss/throne.txt",
diff --git a/npc/boss/manamarket.txt b/npc/boss/manamarket.txt
new file mode 100644
index 0000000..c3c5bc2
--- /dev/null
+++ b/npc/boss/manamarket.txt
@@ -0,0 +1,107 @@
+// TMW2 Scripts.
+// Author:
+// Jesusalva
+// Description:
+// ManaMarket sketch
+
+boss,41,41,0 script ManaMarket NPC_TEDDYGIRL,{
+ function MMCooldown;
+ function MMBuy;
+ function MMBuyMenu;
+
+ if (!is_staff()) end;
+ mesn;
+ mesq l("Hello! How can I help you?");
+ if (MM_DELAY > gettimetick(2)) close;
+ next;
+ select
+ l("Buy"),
+ l("Sell"),
+ l("Nothing");
+ mes "";
+ if (@menu == 1)
+ MMBuy();
+ close;
+
+
+// Set the cooldown value to the same as interserver value
+function MMCooldown {
+ MM_DELAY=gettimetick(2)+300;
+ return;
+}
+
+// MMBuy(page=0)
+function MMBuy {
+ .@p=getarg(0,0);
+ .@v=MMBuyMenu(.@p);
+
+ // Special results
+ switch (.@v) {
+ case -1:
+ return;
+ case -2:
+ // FIXME
+ MMBuy(.@p+1);
+ break;
+ default:
+ break;
+ }
+
+ .@it=$@MM_nameid[.@v];
+ // Can't buy stuff you already have
+ if (countitem(.@it)) {
+ mesn;
+ mesq l("You already have this.");
+ return;
+ }
+
+
+ // Report
+ mesn;
+ mesq l("Purchase %02d %s for %d GP?",
+ $@MM_amount[.@v], getitemlink(.@it), $@MM_price[.@v]);
+ next;
+ if (askyesno() == ASK_YES) {
+ // TODO: Check if still in stock
+ mesn;
+ mesq l("Sorry. The arrays can't have zeros.");
+ // getitem2
+ }
+ return;
+}
+
+// MMBuyMenu ( page=0 )
+function MMBuyMenu {
+ deletearray @mm_menu$;
+ setarray @mm_menu$, l("Cancel"), "-1";
+ .@pg=getarg(0, 0);
+ .@limit=min(getarraysize($@MM_id), (.@pg+1)*20);
+
+ // Prepare the information array
+ for (.@i=.@pg*20; .@i < .@limit; .@i++) {
+ //@mm_menu$+=getitemname($@MM_nameid[.@i])+":";
+ array_push(@mm_menu$, getitemname($@MM_nameid[.@i]));
+ array_push(@mm_menu$, str(.@i));
+ }
+
+ // Still more pages
+ if (.@limit < getarraysize($@MM_id)) {
+ array_push(@mm_menu$, "Next Page >>");
+ array_push(@mm_menu$, "-2");
+ }
+
+ // Handle input
+ menuint2(@mm_menu$);
+ deletearray @mm_menu$;
+ return @menuret;
+}
+
+OnInit:
+ .distance=6;
+ .sex = G_FEMALE;
+
+ // Load ManaMarket (max 100 entries)
+ .@nb = query_sql("SELECT `id`, `account_id`, `price`, `expire_time`, `nameid`, `amount`, `equip`, `identify`, `refine`, `attribute`, `card0`, `card1`, `card2`, `card3`, `opt_idx0`, `opt_val0`, `opt_idx1`, `opt_val1`, `opt_idx2`, `opt_val2`, `opt_idx3`, `opt_val3`, `opt_idx4`, `opt_val4` FROM `manamarket` ORDER BY `id` DESC LIMIT 100", $@MM_id, $@MM_account_id, $@MM_price, $@MM_expire_time, $@MM_nameid, $@MM_amount, $@MM_equip, $@MM_identify, $@MM_refine, $@MM_attribute, $@MM_card0, $@MM_card1, $@MM_card2, $@MM_card3, $@MM_opt_idx0, $@MM_opt_val0, $@MM_opt_idx1, $@MM_opt_val1, $@MM_opt_idx2, $@MM_opt_val2, $@MM_opt_idx3, $@MM_opt_val3, $@MM_opt_idx4, $@MM_opt_val4);
+ end;
+}
+
diff --git a/npc/boss/throne.txt b/npc/boss/throne.txt
new file mode 100644
index 0000000..8bf51d0
--- /dev/null
+++ b/npc/boss/throne.txt
@@ -0,0 +1,162 @@
+// TMW2 Scripts.
+// Author:
+// Jesusalva
+// Description:
+// Monster King Throne ($@MK_CHALLENGE)
+
+boss,45,45,0 script #monsterthrone NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ if (strcharinfo(2) == "Monster King") end;
+ warp "boss", 45, 48;
+ percentheal -15,0;
+ dispbottom "The throne is cursed, only the Monster King may seat on it.";
+ end;
+
+// Controls the Event
+OnBegin:
+ .CYCLES=0;
+ $@MK_CHALLENGE=true;
+ .MK=monster("boss", 45, 45, "The Monster King", MonsterKing, 1, .name$+"::OnVictory");
+ .@bhp=getunitdata(.MK, UDT_MAXHP);
+ setunitdata(.MK, UDT_MAXHP, .@bhp+2000*.FAILS);
+ setunitdata(.MK, UDT_HP, .@bhp+2000*.FAILS);
+
+ // Spawn reinforcements
+ .@mobId=MonsterLieutenant;
+ .@ts$="Lieutenant";
+ monster("boss", 40, 40, strmobinfo(1, .@mobId), .@mobId, 1);
+ monster("boss", 50, 50, strmobinfo(1, .@mobId), .@mobId, 1);
+ monster("boss", 40, 50, strmobinfo(1, .@mobId), .@mobId, 1);
+ monster("boss", 50, 40, strmobinfo(1, .@mobId), .@mobId, 1);
+
+ mapannounce("boss", "Begin!", bc_map|bc_npc);
+ initnpctimer;
+ end;
+
+function CheckFinalAssault {
+ if (!siege_calcdiff("boss", 5)) {
+ kamibroadcast("You noobs, you all deserve to die!", "Monster King");
+ stopnpctimer;
+ $@MK_CHALLENGE=false;
+ // Clean Up
+ mapwarp("boss", "017-1", 120, 88);
+ killmonsterall("boss");
+ // Raise difficulty
+ .FAILS+=1;
+ // Halt execution
+ end;
+ }
+ return;
+}
+
+OnTimer120000:
+ .CYCLES+=1;
+ //areamonster("boss", 20, 20, 70, 70, "Monster King Slave", );
+ // Spawn several monsters on the Boss Room every 2 minutes
+ siege_cast("boss", .name$, .FAILS, TP_TULIM|TP_HURNS|TP_NIVAL);
+ // Spawn an extra mini-boss at minutes: 10 and 30
+ if (.CYCLES == 5) {
+ .@mobId=MonsterColonel;
+ .@ts$="Colonel";
+ monster("boss", 45, 44, strmobinfo(1, .@mobId), .@mobId, 1);
+ }
+ if (.CYCLES == 15) {
+ .@mobId=MonsterGeneral;
+ .@ts$="General";
+ monster("boss", 45, 44, strmobinfo(1, .@mobId), .@mobId, 1);
+ }
+ initnpctimer;
+OnTimer15000:
+ // Each fail raise curse duration in 0.1s - chance of curse is 15% each 15s
+ if (rand2(100) <= 15) {
+ areasc2("boss", 45, 45, 25, 3000+(.FAILS*100), SC_CURSE, BL_PC | BL_HOM | BL_MER);
+ //globalmes("MSG");
+ unittalk(.MK, "Be cursed, you fools! I am the mighty Monster King!!");
+ }
+OnTimer5000:
+OnTimer10000:
+OnTimer20000:
+OnTimer25000:
+OnTimer30000:
+OnTimer35000:
+OnTimer40000:
+OnTimer45000:
+OnTimer50000:
+OnTimer55000:
+OnTimer60000:
+OnTimer65000:
+OnTimer70000:
+OnTimer75000:
+OnTimer80000:
+OnTimer85000:
+OnTimer90000:
+OnTimer95000:
+OnTimer100000:
+OnTimer105000:
+OnTimer110000:
+OnTimer115000:
+ CheckFinalAssault();
+ end;
+
+// Monster King was defeated - game won
+OnVictory:
+ // Not killed by a player? It doesn't counts, then
+ if (!playerattached())
+ end;
+ $@MK_CHALLENGE=false;
+ kamibroadcast("has just defeated the Monster King.", strcharinfo(0));
+ stopnpctimer;
+ mapwarp("boss", "017-1", 120, 88);
+ $GAME_STORYLINE=5;
+ specialeffect(FX_FANFARE, AREA, getcharid(3));
+ // Without the Monster King to rule monsters... TODO Isbamuth
+ setbattleflag("monster_ai", 0x209);
+ setbattleflag("monster_active_enable", false);
+ setbattleflag("mob_count_rate", 25);
+ //charcommand("@reloadbattleconf"); // Careful!
+ donpcevent("@exprate::OnReload");
+ donpcevent("@droprate::OnReload");
+ // Player Reward
+ /*getitembound(AegisShield, 1, 1);
+ dispbottom l("For defeating the Monster King, you've got the Legendary @@.", getitemlink(AegisShield));
+ dispbottom l("This item cannot be traded normally and is a Legendary Item.");
+ dispbottom l("You can transfer it with \"@grantpower\" command. Please contact a GM for more info.");
+ dispbottom l("Protip: If you plan in selling it, it's adviseable to ask for GM mediation."); */
+ end;
+}
+
+// Room Traps, only against players
+boss,0,0,0 script #MKBossTrap01 NPC_TRAP,0,0,{
+ end;
+
+OnTouch:
+ SteelTrap(rand2(10, 20));
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ setnpctimer 0;
+ setnpcdisplay .name$, NPC_TRAP;
+ //end;
+ // Move the trap away after it disarms
+
+OnMinute14:
+OnMinute26:
+OnMinute40:
+OnMinute54:
+OnInit:
+ .@x=rand2(20,70);
+ .@y=rand2(20,70);
+ movenpc .name$, .@x, .@y;
+ end;
+}
+
+// Create more traps. (They can be on walls)
+boss,0,0,0 duplicate(#MKBossTrap01) #MKBossTrap02 NPC_TRAP,0,0
+boss,0,0,0 duplicate(#MKBossTrap01) #MKBossTrap03 NPC_TRAP,0,0
+boss,0,0,0 duplicate(#MKBossTrap01) #MKBossTrap04 NPC_TRAP,0,0
+boss,0,0,0 duplicate(#MKBossTrap01) #MKBossTrap05 NPC_TRAP,0,0
+
+
diff --git a/npc/botcheck/_import.txt b/npc/botcheck/_import.txt
new file mode 100644
index 0000000..e6f4365
--- /dev/null
+++ b/npc/botcheck/_import.txt
@@ -0,0 +1,3 @@
+// Map botcheck: Botcheck Area
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/botcheck/botcheck_blackbox.txt",
diff --git a/npc/commands/debug-look.txt b/npc/commands/debug-look.txt
new file mode 100644
index 0000000..26e9fff
--- /dev/null
+++ b/npc/commands/debug-look.txt
@@ -0,0 +1,93 @@
+// Evol Script
+// Authors: Gumi, Monwarez, Jesusalva
+
+function script BarberDebug {
+
+ function setGender {
+ clear;
+ setnpcdialogtitle l("Appearance Debug - Sex Change");
+ @menuret=99;
+ /*
+ mes l("Please choose the desired gender:");
+ next;
+ menuint
+ l("Male"), G_MALE,
+ l("Female"), G_FEMALE,
+ l("Legacy"), 99;
+ */
+
+ if (@menuret == 99) {
+ closedialog;
+ changecharsex;
+ } else {
+ //setparam(Sex, @menuret);
+ //query_sql("UPDATE `char` SET `Sex`="+@menuret+" WHERE `char_id`="+getcharid(0));
+ return;
+ }
+ }
+
+ function setStyle {
+ clear;
+ setnpcdialogtitle l("Appearance Debug - Barber");
+ mes l("Hair style") + ": " + getlook(LOOK_HAIR);
+ next;
+ mes l("Please enter the desired style") + " (1-255)";
+ input .@h, 1, 0xFF;
+ setlook LOOK_HAIR, max(1, min(0xFF, .@h));
+ return;
+ }
+ function setColor {
+ clear;
+ setnpcdialogtitle l("Appearance Debug - Barber");
+ mes l("Hair color") + ": " + getlook(LOOK_HAIR_COLOR);
+ next;
+ mes l("Please enter the desired color") + " (0-255)";
+ input .@h, 0, 0xFF;
+ setlook LOOK_HAIR_COLOR, max(0, min(0xFF, .@h));
+ return;
+ }
+ function setRace {
+ clear;
+ setnpcdialogtitle l("Appearance Debug - Race");
+ mes l("Race") + ": " + Class;
+ next;
+ mes l("Please enter the desired race") + " (0-32767)";
+ input .@r, 0, 0x7FFF;
+ jobchange max(0, min(0x7FFF, .@r));
+ return;
+ }
+
+ do
+ {
+ clear;
+ setnpcdialogtitle l("Appearance Debug");
+ mes l("This menu allows you to customize your appearance.");
+ mes "";
+
+ mes "---";
+ mes l("Gender") + ": " + Sex;
+ mes l("Hair style") + ": " + getlook(LOOK_HAIR);
+ mes l("Hair color") + ": " + getlook(LOOK_HAIR_COLOR);
+ mes l("Race") + ": " + Class;
+ mes "---";
+
+ next;
+ mes l("What do you want to change?");
+ select
+ menuimage("actions/edit", l("Gender") + " [" + l("Requires logout") + "]"),
+ menuimage("actions/edit", l("Hair style")),
+ menuimage("actions/edit", l("Hair color")),
+ menuimage("actions/edit", l("Race")),
+ rif(getarg(0,0), menuimage("actions/back", l("Return to Debug menu")));
+
+ switch (@menu)
+ {
+ case 1: setGender; break;
+ case 2: setStyle; break;
+ case 3: setColor; break;
+ case 4: setRace; break;
+ case 5: return;
+ }
+ } while (1);
+}
+
diff --git a/npc/commands/debug-quest.txt b/npc/commands/debug-quest.txt
new file mode 100644
index 0000000..1171087
--- /dev/null
+++ b/npc/commands/debug-quest.txt
@@ -0,0 +1,113 @@
+// Evol Script
+// Author: Gumi, Jesusalva
+
+// TODO: This script must be auto-generated from db/quests.conf to be of any use
+function script GlobalQuestDebug {
+ do
+ {
+ clear;
+ setnpcdialogtitle l("Quest debug") + " - " + l("Other");
+ mes l("This menu gives access to quest debug menus for @@ quests.", strtolower(l("Other")));
+ next;
+ mes l("Please select a quest:");
+
+ menuint
+ menuimage("actions/back", l("Go back")), -1,
+ l("Custom"), -136;
+
+ switch (@menuret)
+ {
+ case -1: return;
+ case -136:
+ mes "Determine the quest number, as stated in db/quests.conf";
+ input .@quest;
+ if (!.@quest) return;
+ mes "";
+ mes l("DEBUG: Changing @@, Values: (@@, @@, @@).", getquestlink(.@quest), getq(.@quest), getq2(.@quest), getq3(.@quest));
+ select
+ "set 1",
+ "set 2",
+ "set 3",
+ "reset";
+ mes l("DEBUG: Changing @@ field @@ to something else.", getquestlink(.@quest), @menu);
+ mes "";
+ mes "Determine the new value (numeric only)";
+ input .@value;
+ if (.@value < 0) return;
+ if (@menu == 1)
+ setq1 .@quest, .@value;
+ if (@menu == 2)
+ setq2 .@quest, .@value;
+ if (@menu == 3)
+ setq3 .@quest, .@value;
+ if (@menu == 4)
+ setq .@quest, .@value, 0, 0;
+
+ return;
+ default: return;
+ }
+ } while (1);
+ return;
+}
+
+
+// TODO FIXME: Include OnGetq (@getq)
+- script @qdebug 32767,{
+ end;
+
+OnCall:
+ if (!is_gm()) {
+ end;
+ }
+ GlobalQuestDebug;
+ closedialog;
+ end;
+
+OnSetq:
+ if (.@atcmd_numparameters < 2) {
+ dispbottom "setq called with invalid arguments (min. 2)";
+ dispbottom "GM Command syntax: @setq <quest_id> <val1> <val2> <val3>";
+ end;
+ }
+ .@q=atoi(.@atcmd_parameters$[0]);
+ switch (.@atcmd_numparameters) {
+ case 4:
+ setq3 .@q, atoi(.@atcmd_parameters$[3]);
+ case 3:
+ setq2 .@q, atoi(.@atcmd_parameters$[2]);
+ case 2:
+ setq1 .@q, atoi(.@atcmd_parameters$[1]);
+ dispbottom l("Quest @@ modified by GM", getquestlink(.@q));
+ specialeffect 50, SELF, playerattached();
+ break;
+ default:
+ dispbottom "setq called with invalid arguments (max. 4)";
+ dispbottom "GM Command syntax: @setq <quest_id> <val1> <val2> <val3>";
+ break;
+ }
+ end;
+
+OnGetq:
+ if (.@atcmd_numparameters != 1) {
+ dispbottom "getq called with invalid arguments.";
+ dispbottom "Message is sent as a console notice.";
+ dispbottom "GM Command syntax: @getq <quest_id>";
+ end;
+ }
+ .@q=atoi(.@atcmd_parameters$[0]);
+ consoleinfo("Information for Quest [%d/%d]: Q1 %d | Q2 %d | Q3 %d | QT %d",
+ .@q, getcharid(0), getq(.@q), getq2(.@q), getq3(.@q), getqtime(.@q));
+ end;
+
+OnCharData:
+ consoleinfo("Information for %s: Char %d Party %d Guild %d Account %d BG %d Clan %d",
+ strcharinfo(0), getcharid(0), getcharid(1), getcharid(2), getcharid(3), getcharid(4), getcharid(5));
+ end;
+
+OnInit:
+ bindatcmd "qdebug", "@qdebug::OnCall", 99, 99, 1;
+ bindatcmd "setq", "@qdebug::OnSetq", 99, 99, 1;
+ bindatcmd "getq", "@qdebug::OnGetq", 99, 99, 0;
+ bindatcmd "chardata", "@qdebug::OnCharData", 80, 80, 0;
+ end;
+}
diff --git a/npc/commands/debug.txt b/npc/commands/debug.txt
new file mode 100644
index 0000000..586e980
--- /dev/null
+++ b/npc/commands/debug.txt
@@ -0,0 +1,156 @@
+// Evol Script
+// Author: Gumi, Monwarez
+
+function script GlobalDebugMenu {
+ function resetAll {
+ function doReset {
+ resetstatus;
+ resetskill;
+ resetlvl 1;
+ dispbottom b("ALL PERMANENT STATUS BOOSTS WERE ALSO RESET");
+ dispbottom l("Reset done!");
+ if (getarg(0,0) == 3) {
+ closedialog;
+ doevent "::OnGlobalQuestReset"; // executes in all quest npcs // FIXME: maybe have a `resetquest` buildin?
+ Zeny = 0;
+ BankVault = 0;
+ clearitem;
+ warp "000-0", 0, 0; // starting point
+ end; // script must end for doevent to execute
+ }
+ return;
+ }
+ clear;
+ setnpcdialogtitle l("Debug - Reset");
+ mes l("What do you want to reset?");
+ select
+ l("Abort"),
+ l("Reset stats, skills, level"),
+ l("Reset EVERYTHING"),
+ rif(is_admin() && debug && !@allperms, l("Set All Perms")),
+ l("Return to Debug menu");
+
+ switch (@menu) {
+ case 2:
+ case 3: doReset @menu; return;
+ case 4:
+ if (!debug) atcommand("@ban 1h "+strcharinfo(0));
+ if (!is_admin()) atcommand("@ban 2h "+strcharinfo(0));
+ atcommand("@addperm all_skill");
+ atcommand("@addperm all_equipment");
+ atcommand("@addperm skill_unconditional");
+ atcommand("@addperm join_chat");
+ atcommand("@addperm hide_session");
+ atcommand("@addperm any_warp");
+ atcommand("@addperm view_hpmeter");
+ atcommand("@addperm view_equipment");
+ atcommand("@addperm receive_requests");
+ atcommand("@addperm can_trade_bound");
+ atcommand("@addperm bypass_nostorage");
+ @allperms=true;
+ break;
+ }
+
+ return;
+ }
+
+ do
+ {
+ clear;
+ setnpcdialogtitle l("Debug");
+ mes l("This menu allows you to modify your account data.");
+ mes "";
+ mes l("What do you want to do?");
+ select
+ l("Change my appearance"),
+ l("Change my quests"),
+ l("Reset"),
+ rif(getarg(0,0), l("Return to Super Menu"));
+
+ .@c = getarg(0,0) ? 2 : 1;
+
+ switch (@menu)
+ {
+ case 1: BarberDebug .@c; break;
+ case 4: GlobalQuestDebug .@c; break;
+ case 5: resetAll; break;
+ case 6: return;
+ }
+ } while(1);
+}
+
+
+
+- script @debug 32767,{
+ end;
+
+OnCall:
+ if (!is_admin()) {
+ end;
+ }
+ GlobalDebugMenu();
+ closedialog;
+ end;
+
+OnSetVar:
+ if (getarraysize(.@atcmd_parameters$) != 3)
+ Exception("Usage: @set-var VARIABLE INDEX VALUE", RB_DISPBOTTOM|RB_ISFATAL);
+
+ .@cmd$=array_shift(.@atcmd_parameters$);
+ .@idx=atoi(array_shift(.@atcmd_parameters$));
+ if (charat(.@atcmd_parameters$[0],
+ getstrlen(.@atcmd_parameters$[0])-1) == "$")
+ .@str=true;
+
+ if (.@str)
+ .@val$=array_shift(.@atcmd_parameters$);
+ else
+ .@val=array_shift(.@atcmd_parameters$);
+
+ if (.@str)
+ setd(sprintf("%s[%d]", .@cmd$, .@idx), .@val$);
+ else
+ setd(sprintf("%s[%d]", .@cmd$, .@idx), .@val);
+
+ .@msg$=sprintf("%s[%d] is now: %s", .@cmd$, .@idx,
+ getd(sprintf("%s[%d]", .@cmd$, .@idx)));
+
+ if (!is_staff())
+ atcommand("@request System Information: "+.@msg$);
+ else
+ dispbottom(.@msg$);
+ end;
+
+// If the char is not a staff member, it'll be sent to GM Log instead
+OnGetVar:
+ if (getarraysize(.@atcmd_parameters$) != 2)
+ Exception("Usage: @get-var VARIABLE INDEX", RB_DISPBOTTOM|RB_ISFATAL);
+
+ .@cmd$=array_shift(.@atcmd_parameters$);
+ .@idx=atoi(array_shift(.@atcmd_parameters$));
+
+ .@mg$=sprintf("%s[%d] == %s", .@cmd$, .@idx,
+ getd(sprintf("%s[%d]", .@cmd$, .@idx)));
+
+ if (!is_staff())
+ atcommand("@request System Information: "+.@mg$);
+ else
+ dispbottom(.@mg$);
+ end;
+
+OnSClear:
+ sc_end SC_ALL;
+ sc_end SC_DAILYSENDMAILCNT;
+ dispbottom l("Status Condition Cleared");
+ end;
+
+OnInit:
+ bindatcmd "debug", "@debug::OnCall", 99, 99, 1;
+ bindatcmd "getvar", "@debug::OnGetVar", 80, 99, 1;
+ bindatcmd "get-var", "@debug::OnGetVar", 80, 99, 1;
+ bindatcmd "setvar", "@debug::OnSetVar", 99, 99, 1;
+ bindatcmd "set-var", "@debug::OnSetVar", 99, 99, 1;
+ bindatcmd "sclear", "@debug::OnSClear", 99, 99, 1;
+ end;
+}
+
diff --git a/npc/commands/discord.txt b/npc/commands/discord.txt
new file mode 100644
index 0000000..a5773af
--- /dev/null
+++ b/npc/commands/discord.txt
@@ -0,0 +1,156 @@
+// TMW-2 Script.
+// Author:
+// Jesusalva
+// LawnCable
+// Notes:
+// Controls `discord` table with @discord command.
+// Only useful for TMW2-Discord integration.
+
+- script @discord 32767,{
+ end;
+
+OnCall:
+ // Anti-Flood System
+ if (@discord) {
+ mesc l("You already ran this command today. Please try again at a later time."), 1;
+ close;
+ }
+
+ // Live server only
+ if (debug || $@GM_OVERRIDE) {
+ dispbottom l("This command cannot be used on test servers.");
+ end;
+ }
+
+ // Bot cannot (or should not) alter staff data
+ if (is_staff() && !is_admin()) {
+ dispbottom l("Staff is not allowed to use this command.");
+ end;
+ }
+
+ // Minimum account requeriments
+ if (#REG_DATE < (gettimetick(2)+259200) && BaseLevel < 15) {
+ dispbottom l("Your account must be at least 72 hours old or have level 15+ to use this command.");
+ end;
+ }
+
+ // Use this instead of min acc req if desired
+ //if (!validatepin())
+ // close;
+
+ // Prevent reusing the command on same session
+ @discord=1;
+ .@link=true;
+
+ // Search on cache
+ .@key$=str(getcharid(3));
+ .@discord$ = htget(.discmem, .@key$, "Not found");
+
+ if (.@discord$ == "Not found") {
+ // Only do SQL query if not in cache
+ .@nb = query_sql("select `discord_name` from `discord` WHERE `account_id`='"+getcharid(3)+"' limit 1", .@discord$);
+ // Override default behavior
+ if (.@discord$ == "" || .@discord$ == "Not found") {
+ .@discord$="Not Linked";
+ .@link=false;
+ }
+ // Add to Cache
+ htput(.discmem, str(getcharid(3)), .@discord$);
+ }
+
+ do
+ {
+ mesn "Lawn Cable";
+ mesq l("Current linked Discord account: @@", .@discord$);
+ next;
+ select
+ rif(DISCTRL < gettimeparam(GETTIME_DAYOFMONTH), l("Change Linked Discord Account")),
+ rif(.@link, l("Disconnect")),
+ l("Quit");
+
+ switch (@menu) {
+ case 1:
+ if (DISCTRL >= gettimeparam(GETTIME_DAYOFMONTH))
+ atcommand("@ban 7d "+strcharinfo(0));
+
+ mesc l("Please insert your Discord ID, on the following format: "), 1;
+ mesc l("Username#0000"), 2;
+ input .@discord$;
+ if (.@discord$ == "") close;
+ if (strtolower(.@discord$) == "username#0000") { break; }
+ .@i = explode(.@d$, .@discord$, "#");
+ if (.@i != 2) { mesc l("Invalid Discord ID."); next; break; }
+ if (getstrlen(.@d$[1]) != 4) { mesc l("Invalid Discord ID."); next; break; }
+ mes "";
+ clear;
+ mesc l("Linking the following Discord account:");
+ mesc .@discord$, 1;
+ mesc l("Is this correct?");
+ if (askyesno() == ASK_NO) close;
+
+ // Run SQL query (will halt execution on dupe)
+ if (.@link) {
+ if ($@HAS_API) {
+ apiasync("SQL", sprintf("UPDATE `discord` SET `discord_name` = '?1', `verified` = '0', `discord_id` = '?2' WHERE `account_id`='%d'", getcharid(3)));
+ apiasync("SAD1", .@discord$);
+ apiasync("DISCORDID2", .@discord$);
+ apiasync("SQLRUN", "");
+ } else {
+ query_sql(sprintf("UPDATE `discord` SET `discord_name` = '%s', `verified` = '0', `discord_id` = '' WHERE `account_id`='%d'",
+ escape_sql(.@discord$), getcharid(3)));
+ }
+ } else {
+ if ($@HAS_API) {
+ apiasync("SQL", sprintf("INSERT INTO `discord` (`discord_name`, `verified`, `discord_id`, `account_id`) VALUES ('?1', '0', '?2', '%d')", getcharid(3)));
+ apiasync("SAD1", .@discord$);
+ apiasync("DISCORDID2", .@discord$);
+ apiasync("SQLRUN", "");
+ } else {
+ query_sql(sprintf("INSERT INTO `discord` (`discord_name`, `verified`, `discord_id`, `account_id`) VALUES ('%s', '0', '', '%d')",
+ escape_sql(.@discord$), getcharid(3)));
+ }
+ }
+
+ // Encode JSON data
+ .@p$=json_encode("name", strcharinfo(0),
+ "accId", getcharid(3),
+ "disc", escape_sql(.@discord$));
+
+ // Send to API and update cache
+ api_send(API_DISCORD, .@p$);
+ htput(.discmem, str(getcharid(3)), .@discord$);
+ consoleinfo("%s linked discord account \"%s\".", strcharinfo(0), .@discord$);
+
+ // Prevent changing for the next 3 days
+ DISCTRL=gettimeparam(GETTIME_DAYOFMONTH)+1;
+ mesc l("Linking requested."), 1;
+ mesc l("This setting can only be changed every %d days.", 1), 1;
+ break;
+ /////////////////////////////////////////////////////////////////////
+ case 2:
+ if ($@HAS_API) {
+ apiasync("SQL", sprintf("DELETE FROM `discord` WHERE `account_id`='%d'", getcharid(3)));
+ apiasync("SQLRUN", "");
+ } else {
+ query_sql("DELETE FROM `discord` WHERE `account_id`='"+getcharid(3)+"'");
+ // Prevent setting a new linking right away
+ DISCTRL=gettimeparam(GETTIME_DAYOFMONTH)+1;
+ }
+ .@discord$="";
+ // Update Cache
+ htput(.discmem, str(getcharid(3)), "");
+ // TODO: Remove Adventurer role?
+ logmes(sprintf("User %d \"%s\" unlinked Discord account!", getcharid(3), strcharinfo(0)));
+ consoleinfo("%s removed Discord account.", strcharinfo(0));
+ break;
+ }
+
+ } while (@menu != 3);
+ close;
+
+OnInit:
+ bindatcmd "discord", "@discord::OnCall", 0, 0, 1;
+ .discmem = htnew;
+ end;
+}
+
diff --git a/npc/commands/event.txt b/npc/commands/event.txt
new file mode 100644
index 0000000..8b1dc02
--- /dev/null
+++ b/npc/commands/event.txt
@@ -0,0 +1,544 @@
+// TMW2 Script
+// Author:
+// Evol Team
+// Saulc
+// Jesusalva
+// Description:
+// Handles all major events on TMW2 (Christmas, Easter, Worker Day, etc.)
+
+// WARNING, possibly dangerous.
+function script sClear {
+ // Obviously CI does not need this
+ if ($@CI_MODE)
+ end;
+
+ // Delete all Easter Stuff
+ if ($EVENT$ != "Easter") {
+ DelItemFromEveryPlayer(SilverEasteregg);
+ DelItemFromEveryPlayer(GoldenEasteregg);
+ } else {
+ .@nb = query_sql("SELECT c.name, i.amount FROM `inventory` AS i, `char` AS c WHERE i.nameid=834 AND i.char_id=c.char_id ORDER BY i.amount DESC LIMIT 10", $@easter_name$, $@easter_value);
+ setnpcdisplay("Aurora", "Lilica#final", NPC_EASTER);
+ delmonsterdrop(Forain, DarkEggshellHat);
+ }
+
+ // Delete all Christmas stuff
+ if ($EVENT$ != "Christmas") {
+ $XMAS_MONEY=0; // Golbarez
+ $XMAS_GIFTS=0; // Chief
+ DelItemFromEveryPlayer(ClosedChristmasBox);
+ DelItemFromEveryPlayer(OpenedChristmasBox);
+ } else if ($EVENT$ == "Christmas") {
+ DelAccRegFromEveryPlayer("#XMAS_LOGINBONUS");
+ removemapmask "003-1", MASK_CHRISTMAS;
+ removemapmask "005-1", MASK_CHRISTMAS;
+ removemapmask "009-1", MASK_CHRISTMAS;
+ removemapmask "012-1", MASK_CHRISTMAS;
+ removemapmask "017-2", MASK_CHRISTMAS;
+ removemapmask "017-2-1", MASK_CHRISTMAS;
+ removemapmask "017-3", MASK_CHRISTMAS;
+ removemapmask "020-2", MASK_CHRISTMAS;
+ }
+
+ // Delete all Valentine Day stuff
+ if ($EVENT$ != "Valentine") {
+ // ItemDB prefers account variables than quest log
+ DelAccRegFromEveryPlayer("#VALENTINE_POINTS");
+ DelAccRegFromEveryPlayer("#VALENTINE_RECEIVED");
+ DelAccRegFromEveryPlayer("#VALENTINE_OPENED");
+ DelAccRegFromEveryPlayer("#VALENTINE_SENT");
+ DelAccRegFromEveryPlayer("#VALENTINE_EQUIPMENT2020");
+ // Remove event items
+ DelItemFromEveryPlayer(LoveLetter);
+ DelItemFromEveryPlayer(BoxOfChocolates);
+ } else if ($EVENT$ == "Valentine") {
+ htdelete $@VALENTINE_GIFTSTACKS;
+ htdelete $@VALENTINE_LOVELETTER;
+ $@VALENTINE_GIFTSTACKS=0;
+ $@VALENTINE_LOVELETTER=0;
+ donpcevent "Aurora::OnValentine";
+ }
+
+ // Longer EXP rate controls
+ if ($EVENT$ == "Anniversary") {
+ $BCONFB_EXPR-=50;
+ kamibroadcast("EXP Rate changed from %d%% to %d%%", $BCONFB_EXPR+50, $BCONFB_EXPR);
+ }
+
+ // Nullify Regnum Blessing
+ if ($EVENT$ == "Regnum") {
+ // Remove the blessing
+ setmapflag($REGNUM_BLESSMAP$, mf_bexp, 100);
+ $REGNUM_BLESSMAP_H$="";
+ $REGNUM_BLESSMAP$="";
+ kamibroadcast("Regnum's Blessing is over.");
+ }
+
+ // Hand Aurora Event Rewards
+ callfunc("FYRewardEvent");
+ $WORLDEXPO_ENEMY$="";
+ deletearray $FYREWARD_PT;
+ deletearray $FYREWARD_ID;
+ deletearray $FYREWARD_AM;
+ $FYLOGIN_PTS=0;
+
+ // Simpler events
+ $PATRICK_DAYCTRL=0;
+ $PATRICK_DAYMAX=0;
+ DelAccRegFromEveryPlayer("#PATRICK_DAY");
+ DelAccRegFromEveryPlayer("#PATRICK_CTRL");
+ DelAccRegFromEveryPlayer("#TMW2_LOGINBONUS");
+ DelAccRegFromEveryPlayer("#THANKS_DAY");
+ DelAccRegFromEveryPlayer("#THANKS_STREAK");
+
+ // Not so simple but still needs cleanup.
+ DelItemFromEveryPlayer(Event1HSword);
+ DelItemFromEveryPlayer(Event2HSword);
+ DelItemFromEveryPlayer(EventBow);
+ DelItemFromEveryPlayer(EventWand);
+
+ // We must remove any event drop
+ charcommand("@reloadmobdb");
+ SeasonReload(1);
+ return;
+ }
+
+function script GlobalEventMenu {
+
+ function resetCandor {
+ $@FEFE_CAVE_LEVEL=0;
+ $@FEFE_DELAY=0;
+ $@FEFE_DIFFICULTY=0;
+ $@FEFE_CAVE_HERO$="";
+ mesc "Candor Fight Reset!";
+ return;
+ }
+
+ // :>
+ function superSpawn {
+ mesc l("Monster ID, 0 to cancel");
+ input .@mobid;
+ if (.@mobid <= 0)
+ return;
+ //.@tmp=strmobinfo(4, .@mobid);
+ .@tmp=getmonsterinfo(.@mobid, MOB_MAXHP);
+ mesc l("Monster HP, Default %d, use 0 to cancel", .@tmp);
+ input .@newhp;
+ if (.@newhp <= 0)
+ return;
+
+ .@tmp=(getmonsterinfo(.@mobid, MOB_ATK1)+getmonsterinfo(.@mobid, MOB_ATK2))/2;
+ mesc l("Monster ATK (varies 10%%), Default %d, use 0 to cancel", .@tmp);
+ input .@newak;
+ if (.@newak <= 0)
+ return;
+ .@minatk=.@newak*9/10;
+ .@maxatk=.@newak*11/10;
+
+ .@tmp=getmonsterinfo(.@mobid, MOB_DEF);
+ mesc l("Monster DEF, Default %d, use 0 to cancel", .@tmp);
+ input .@newdf;
+ if (.@newdf <= 0)
+ return;
+
+ .@tmp=getmonsterinfo(.@mobid, MOB_DEX);
+ mesc l("Monster DEX, Default %d, use 0 to cancel", .@tmp);
+ input .@newdx;
+ if (.@newdx <= 0)
+ return;
+
+ .@tmp=getmonsterinfo(.@mobid, MOB_AGI);
+ mesc l("Monster AGI, Default %d, use 0 to cancel", .@tmp);
+ input .@newag;
+ if (.@newag <= 0)
+ return;
+
+ .@tmp=getmonsterinfo(.@mobid, MOB_RANGE);
+ mesc l("Monster ATK RANGE, Default %d, use 0 to cancel", .@tmp);
+ input .@newrg;
+ if (.@newrg <= 0)
+ return;
+
+ mesc l("Monster SPEED, Player speed is 150, minimum is 100!");
+ input .@newspd;
+ if (.@newspd < 100)
+ return;
+
+ .@tmp$=strmobinfo(1, .@mobid);
+ mesc l("Monster NAME, Default %s, empty to cancel", .@tmp$);
+ input .@name$;
+ if (.@name$ == "")
+ return;
+
+ // Spawn
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@mob=monster(.@m$, .@x, .@y, .@name$, .@mobid, 1);
+
+ // Reconfigure
+ setunitdata(.@mob, UDT_MAXHP, .@newhp);
+ setunitdata(.@mob, UDT_HP, .@newhp);
+ setunitdata(.@mob, UDT_SPEED, .@newspd);
+ setunitdata(.@mob, UDT_DEX, .@newdx);
+ setunitdata(.@mob, UDT_AGI, .@newag);
+ setunitdata(.@mob, UDT_ATKRANGE, .@newrg);
+ setunitdata(.@mob, UDT_ATKMIN, .@minatk);
+ setunitdata(.@mob, UDT_ATKMAX, .@maxatk);
+ setunitdata(.@mob, UDT_DEF, .@newdf);
+
+ logmes "Super spawn!", LOGMES_ATCOMMAND;
+
+ do
+ {
+ select
+ l("Good!"), // 1
+ l("Customize attack delay!"), // 2
+ l("Customize hit rate!"), // 3
+ l("Customize evasion!"), // 4
+ l("Modify monster level!"), // 5
+ rif($EVENT$ == "Valentine", l("Send them to Valentine Island!")),
+ l("Show me a report"), // 7
+ l("OMG CANCEL IT!!"); // 8
+ mes "";
+ switch (@menu) {
+ case 2:
+ .@tmp=getunitdata(.@mob, UDT_ADELAY);
+ mesc l("Default: %d, use 0 to cancel", .@tmp);
+ input .@new;
+ if (.@new > 0)
+ setunitdata(.@mob, UDT_ADELAY, .@new);
+ break;
+ case 3:
+ .@tmp=getunitdata(.@mob, UDT_HIT);
+ mesc l("Default: %d, use 0 to cancel", .@tmp);
+ input .@new;
+ if (.@new > 0)
+ setunitdata(.@mob, UDT_HIT, .@new);
+ break;
+ case 4:
+ .@tmp=getunitdata(.@mob, UDT_FLEE);
+ mesc l("Default: %d, use 0 to cancel", .@tmp);
+ input .@new;
+ if (.@new > 0)
+ setunitdata(.@mob, UDT_FLEE, .@new);
+ break;
+ case 5:
+ .@tmp=getunitdata(.@mob, UDT_LEVEL);
+ mesc l("Default: %d, use 0 to cancel", .@tmp);
+ mesc l("WARNING: Might have unexpected side effects!"), 1;
+ input .@new;
+ if (.@new > 0)
+ setunitdata(.@mob, UDT_LEVEL, .@new);
+ break;
+ case 6:
+ unitwarp(.@mob, "001-12", 132, 119);
+ break;
+ case 7:
+ mesc l("Too lazy.");
+ next;
+ break;
+ case 8:
+ mesc l("Are you sure?!"), 1;
+ next;
+ if (askyesno() == ASK_YES) {
+ logmes "Super spawn aborted!", LOGMES_ATCOMMAND;
+ unitkill(.@mob);
+ return;
+ }
+ break;
+ }
+
+ } while (@menu != 1);
+
+ // Make it a boss
+ .@md=getunitdata(.@mob, UDT_MODE);
+ setunitdata(.@mob, UDT_MODE, .@md|MD_BOSS);
+ logmes "Super spawn completed! (GID "+.@mob+")", LOGMES_ATCOMMAND;
+ return;
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ function seasonManagement {
+ clear;
+ mes l("Current event: @@", $EVENT$);
+ select
+ ("Disable event"),
+ ("Enable Valentine Day"),
+ ("Enable St. Patrick Day"),
+ ("Enable Easter"),
+ ("Enable Worker's Day"),
+ ("Enable Thanksgiving"),
+ ("Enable Event Horizon"),
+ ("Enable Christmas"),
+ ("Enable Demure's Birthday"),
+ ("[FY] Enable Kamelot"),
+ ("[FY] Enable Regnum Blessing"),
+ ("[FY] Enable Candor Season"),
+ ("Reset Kill Saulc Event (Monthly)");
+
+ switch (@menu) {
+ case 1: .@r=playerattached(); sClear(); set $EVENT$, ""; attachrid(.@r); logmes "Disabled events.", LOGMES_ATCOMMAND;
+ break;
+ case 2:
+ set $EVENT$, "Valentine"; $@VALENTINE_LOVELETTER = htnew(); $@VALENTINE_GIFTSTACKS = htnew(); logmes "Enabled VALENTINE DAY event.", LOGMES_ATCOMMAND;
+ break;
+ case 3:
+ $EVENT$="Patrick";
+ $@PATRICK_DAYMAX=31;
+ enablenpc "sPatrick";
+ setnpcdisplay("Aurora", "Patrick Saulc", NPC_WEIRDGREEN);
+ enablenpc "St. Patrick Gold Pot";
+ donpcevent "St. Patrick Gold Pot::OnForcedMove";
+ logmes "Enabled ST. PATRICK DAY event (until day 31).", LOGMES_ATCOMMAND;
+ break;
+ case 4: sEaster(); break;
+ case 5:
+ set $EVENT$, "Worker";
+ logmes "Enabled WORKERS DAY event.", LOGMES_ATCOMMAND;
+ /*
+ addmonsterdrop(Snake, Pearl, 10);
+ debugmes "Snakes are now dropping Pearls.";
+ */
+ break;
+ case 6:
+ $EVENT$="Thanksgiving";
+ logmes "Enabled THANKS GIVING event.", LOGMES_ATCOMMAND;
+ break;
+ case 7:
+ $EVENT$="Event";
+ logmes "Enabled EVENT (HORIZON) event.", LOGMES_ATCOMMAND;
+ break;
+ case 8:
+ logmes "Enabled CHRISTMAS event.", LOGMES_ATCOMMAND;
+ DelQuestFromEveryPlayer(SQuest_Christmas);
+ sChristmas(); break;
+ case 9:
+ $EVENT$=any("Demure Birthday", "Blame Saulc");
+ dispbottom("Maybe in future this increases everyone attack speed? Well, for now,");
+ dispbottom("This is not actually an event, it just lower prices at Lua GM shop.");
+ break;
+ case 10:
+ $EVENT$="Kamelot";
+ logmes "Enabled KAMELOT event.", LOGMES_ATCOMMAND;
+ break;
+ case 11:
+ $EVENT$="Regnum"; callfunc("FYEConf_Regnum");
+ dispbottom l("Blessing applied at: %s", $REGNUM_BLESSMAP_H$);
+ logmes "Enabled REGNUM event.", LOGMES_ATCOMMAND;
+ break;
+ case 12:
+ $EVENT$="Candor";
+ logmes "Enabled CANDOR event.", LOGMES_ATCOMMAND;
+ break;
+ case 13: DelItemFromEveryPlayer(MurdererCrown); break;
+ }
+
+ return;
+ }
+
+ do
+ {
+ clear;
+ setnpcdialogtitle l("Event Management");
+ mes l("This menu allows you to manage events and gives access to event-related tools.");
+ mes "";
+ mes l("What do you want to access?");
+
+ select
+ l("Reset Crazyfefe Fight"),
+ rif(is_master(), l("Change Season Event")),
+ rif(is_gm(), l("Spawn customized boss")),
+ rif(getarg(0,0), menuimage("actions/home", l("Return to Super Menu"))),
+ l("Close");
+
+ //.@c = getarg(0,0) ? 2 : 1; // 1 = back to event menu, 2 = back to super menu
+
+ switch (@menu) {
+ case 1: resetCandor(); break;
+ case 2: seasonManagement(); break;
+ case 3: superSpawn(); break;
+ case 5: close; break;
+ default: return;
+ }
+
+ } while (true);
+}
+
+
+
+- script @event 32767,{
+ end;
+
+OnCall:
+ if (!is_gm()) {
+ end;
+ }
+
+ GlobalEventMenu();
+ closedialog;
+ end;
+}
+
+function script CMD_toevent {
+ if (!@toeventchk) {
+ @toeventval1=readparam(Hp);
+ @toeventval2=readparam(Sp);
+ @toeventchk=1;
+ specialeffect FX_CIRCLE, SELF, getcharid(3);
+ addtimer 4000, "@toevent::OnEffect";
+ }
+ return;
+}
+
+- script @toevent 32767,{
+ end;
+
+OnCall:
+ CMD_toevent();
+ end;
+
+OnEffect:
+ @toeventchk=0;
+ removespecialeffect(FX_CIRCLE, SELF, getcharid(3));
+ // Calculate
+ if (BaseLevel < 10) {
+ dispbottom l("You are not strong enough to survive this trip.");
+ atcommand "@refresh";
+ end;
+ } else if (readparam(Sp) < @toeventval2) {
+ dispbottom l("You must not be using mana to do this trip.");
+ atcommand "@refresh";
+ end;
+ } else if (readparam(Hp) < @toeventval1) {
+ dispbottom l("You cannot be fighting to do this trip.");
+ atcommand "@refresh";
+ end;
+ } else if (compare(getmapname(), "001-") || (getmapinfo(MAPINFO_ZONE, getmap())) == "MMO") {
+ dispbottom l("You are already at the Mana Plane of Existence.");
+ atcommand "@refresh";
+ end;
+ } else if (getmapname() == "boss" || getmapname() == "sec_pri" || compare(getmapname(), "000-") || compare(getmapname(), "008-") || compare(getmapname(), "sore")) {
+ dispbottom l("The Mana Plane is currently out of reach.");
+ atcommand "@refresh";
+ end;
+ } else {
+ if ($@MK_SCENE == MK_SIEGE_TULIM || BaseLevel > 20) {
+ // Monster King events take precedence over Aeros Event
+ switch ($@MK_SCENE) {
+ case MK_SIEGE_TULIM:
+ warp "003-1", 40, 49;
+ specialeffect(63, AREA, getcharid(3));
+ end;
+ case MK_SIEGE_HALIN:
+ warp "009-1", 27, 30;
+ specialeffect(63, AREA, getcharid(3));
+ end;
+ case MK_SIEGE_HURNS:
+ warp "012-1", 87, 70;
+ specialeffect(63, AREA, getcharid(3));
+ end;
+ case MK_SIEGE_NIVAL:
+ warp "020-1", 57, 62;
+ specialeffect(63, AREA, getcharid(3));
+ end;
+ }
+ }
+
+ // Aeros Events takes precedence over player events
+ if ($@GM_EVENT)
+ {
+ .@gt=$@AEROS_SPWN;
+ if (.@gt == 2)
+ .@gt=rand(0,1);
+ switch (.@gt) {
+ case 0:
+ warp "001-1", 235, 26; break;
+ case 1:
+ warp "001-1", 23, 108; break;
+ }
+ specialeffect(63, AREA, getcharid(3));
+ end;
+ }
+
+ // Player events takes precedence over permanent events
+ // They also have an hierarchy
+ // 1. Candor Battle
+ if ($@FEFE_DELAY > gettimetick(2) && !$@FEFE_CAVE_LEVEL && $@FEFE_CAVE_HERO$ != "" && !$@FEFE_WAVE) {
+ warp "006-1", 49, 53;
+ message strcharinfo(0), l("You are now at Candor Battle Cave at @@'s request.", $@FEFE_CAVE_HERO$);
+ end;
+ }
+
+ // Events are the least priority
+ if ($EVENT$ == "Valentine") {
+ warp "001-11", 38, 32;
+ message strcharinfo(0), l("You are now at the Valentine Highlands.");
+ end;
+ }
+ if ($EVENT$ == "Easter") {
+ warp "001-4", 151, 157;
+ message strcharinfo(0), l("You are now at the Magical Forest.");
+ end;
+ }
+ if ($EVENT$ == "Worker") {
+ warp "001-5", 22, 79;
+ message strcharinfo(0), l("You are now at the Contributor's Cave.");
+ end;
+ }
+ if ($EVENT$ == "Christmas" && BaseLevel >= 20) {
+ warp "019-4-1", 32, 36;
+ message strcharinfo(0), l("You are now at the Christmas Workshop.");
+ end;
+ }
+ if ($EVENT$ == "Tower" && countitem(EventDreamTicket)) {
+ doevent "sDreamTower::OnWarpTo";
+ end;
+ }
+ if ($EVENT$ == "Olympics") {
+ if (callfunc("FYE_Olympics_TO")) {
+ dispbottom l("You are now at Porthos - The Town of Portals.");
+ end;
+ }
+ // Failed for some reason - ignore
+ }
+ if ($EVENT$ == "Raid") {
+ getmapxy(@aurora_map$, @aurora_x, @aurora_y, 0);
+ callfunc("FYRaid_Select");
+ close;
+ }
+ }
+
+ // Block here
+ if (!$@GM_EVENT && !$@MK_SCENE && $EVENT$ == "") {
+ atcommand "@refresh";
+ dispbottom l("The mana bridge is closed at the moment.");
+ end;
+ }
+
+ // Seems like it was a Blame Saulc-like event...
+ dispbottom l("Have a nice @@ day!", $EVENT$);
+ dispbottom l("The mana bridge is closed at the moment.");
+ atcommand "@refresh";
+ end;
+
+OnInit:
+ bindatcmd "event", "@event::OnCall", 80, 99, 0;
+ bindatcmd "toevent", "@toevent::OnCall", 0, 99, 0;
+}
diff --git a/npc/commands/exp.txt b/npc/commands/exp.txt
new file mode 100644
index 0000000..a8d3492
--- /dev/null
+++ b/npc/commands/exp.txt
@@ -0,0 +1,35 @@
+// TMW2 Script
+// Author: Jesusalva
+
+// @getexp atcommand
+// Gets experience
+//
+// group lv: 5
+// group char lv: 99
+// log: True
+
+- script @getexp 32767,{
+ end;
+
+OnCall:
+ .@delta$ = .@atcmd_parameters$[0];
+ .@d = atoi(.@delta$);
+
+ getexp .@d, 0;
+ end;
+
+OnHomun:
+ if (!gethominfo(0)) {
+ dispbottom l("No homunculus found!");
+ end;
+ }
+ .@delta$ = .@atcmd_parameters$[0];
+ .@d = atoi(.@delta$);
+
+ gethomunexp .@d;
+ end;
+
+OnInit:
+ bindatcmd "getexp", "@getexp::OnCall", 5, 99, 1;
+ bindatcmd "gethexp", "@getexp::OnHomun", 5, 99, 1;
+}
diff --git a/npc/commands/grantpower.txt b/npc/commands/grantpower.txt
new file mode 100644
index 0000000..fa36799
--- /dev/null
+++ b/npc/commands/grantpower.txt
@@ -0,0 +1,185 @@
+// TMW2 Script
+//
+// @grantpower <username>
+// Grants a legendary weapon to <username>. Cannot be undone.
+// Only way to bypass restrictions on legendary weapons.
+
+- script @grantpower 32767,{
+ end;
+
+OnCall:
+ .@request$ = "";
+ .@request$ += implode(.@atcmd_parameters$, " ");
+
+ // Player is not attached
+ .@id = getcharid(3, .@request$);
+ if (!.@id) {
+ Exception("Player not found.", RB_ISFATAL|RB_DISPBOTTOM);
+ }
+ mes ".:: " + l("Grant Power") + " ::.";
+ mesc l("You're about to transfer a legendary weapon to @@.", .@request$), 1;
+ mesc l("This action CANNOT BE UNDONE."), 1;
+ mes l("Are you sure?");
+ if (askyesno() == ASK_NO)
+ close;
+ mes "";
+ mes ".:: " + l("Grant Power") + " ::.";
+ mes l("Please select the weapon to transfer.");
+ mes "";
+ mesc l("* Options will be removed after transfer is done.");
+ mesc l("* Cards will be deleted after transfer is done.");
+ mesc l("* Refine will be lost after transfer is done.");
+ if (countitem(Lightbringer))
+ mesc l("* Lightbringer is self-aware and cannot be given."), 1;
+ mes "";
+ menuint
+ l("None"), 0,
+ rif(countitem(DemureAxe), l("Demure's Axe")), DemureAxe,
+ rif(countitem(Tyranny), l("Tyranny")), Tyranny,
+ rif(countitem(Runestaff), l("Runestaff")), Runestaff,
+ rif(countitem(AegisShield), l("Aegis Shield")), AegisShield,
+ l("Abort"), 0;
+ mes "";
+ .@ori=getcharid(3);
+ .@ite=@menuret;
+ if (!.@ite)
+ close;
+
+ // Transfer the weapon
+ if (attachrid(.@id)) {
+ getitembound .@ite, 1, 1; // Account bound or char bound? (1 or 4)
+ dispbottom l("You received the @@ from @@.", getitemlink(.@ite), strcharinfo(0, "someone", .@ori));
+ consoleinfo("%s is the new owner for the %s.", strcharinfo(0), getitemname(.@ite));
+ detachrid();
+ attachrid(.@ori);
+ delitem .@ite, 1;
+ switch (.@ite) {
+ case DemureAxe:
+ $DEMUR_HOLDER$ = .@request$; break;
+ case Tyranny:
+ $TYRAN_HOLDER$ = .@request$; break;
+ case Runestaff:
+ $RUNES_HOLDER$ = .@request$; break;
+ case AegisShield:
+ $AEGIS_HOLDER$ = .@request$; break;
+ default:
+ Exception("Invalid legendary item "+str(.@ite),
+ RB_DEFAULT|RB_IRCBROADCAST); break;
+ }
+ } else {
+ Exception("Player not found.", RB_ISFATAL|RB_SPEECH);
+ }
+
+ close;
+
+OnInit:
+ bindatcmd "grantpower", "@grantpower::OnCall", 0, 100, 1;
+ end;
+
+// Legendary Controls: Interact over legendary holders and determine their status
+function legendaryAPIWarning {
+ .@aid=getarg(0);
+ .@nb = query_sql("SELECT email FROM `login` WHERE `account_id` == "+.@aid+" LIMIT 1", .@email$);
+ .@msg$=sprintf("[\"%s\", \"Good evening!\nYou have been inactive for a week on Moubootaur Legends.\n\nYou are currently possessing a Legendary Weapon.\nIf you do not login within seven days, your legendary weapon will be returned so the player community can obtain it again.\n\nYour TMW2 Team\", \"Legendary item expiration notice\"]", .@email$);
+ debugmes .@msg$;
+ consoleinfo("%d notified for Legendary weapon inactivity. (L:2)", .@aid);
+ api_send(API_SENDMAIL, .@msg$);
+ return;
+}
+
+function legendaryRodexWarning {
+ .@cid=getarg(0);
+ rodex_sendmail(.@cid, "Legendary Weapon", "Inactivity Warning", "You have not logged in the past 2 days. Shall you fail to login for 15 days, the weapon will be destroyed!");
+ consoleinfo("%d notified for Legendary weapon inactivity. (L:1)", .@cid);
+ return;
+}
+
+OnClock0238:
+ .@date=gettimetick(2);
+ .@warn=.@date-(86400*2);
+ .@kick=.@date-(86400*7);
+ .@kban=.@date-(86400*15);
+ //////////////////////////////////////////
+ if ($LIGHT_HOLDER$ != "") {
+ .@nb = query_sql("SELECT last_login, char_id, account_id FROM `char` WHERE `name` == "+$LIGHT_HOLDER$+" LIMIT 1", .@login, .@cid, .@aid);
+ if (.@login < .@kban) {
+ // Destroy the item by force
+ DelItemFromEveryPlayer(Lightbringer);
+ $LIGHT_HOLDER$="";
+ kamibroadcast("The Lightbringer has given up on its previous owner and is now available for someone worthier.");
+ } else if (.@login < .@kick) {
+ // Send warning via API
+ legendaryAPIWarning(.@aid);
+ } else if (.@login < .@warn) {
+ // Send warning ingame
+ legendaryRodexWarning(.@cid);
+ }
+ }
+ //////////////////////////////////////////
+ if ($DEMUR_HOLDER$ != "") {
+ .@nb = query_sql("SELECT last_login, char_id, account_id FROM `char` WHERE `name` == "+$DEMUR_HOLDER$+" LIMIT 1", .@login, .@cid, .@aid);
+ if (.@login < .@kban) {
+ // Destroy the item by force
+ DelItemFromEveryPlayer(DemureAxe);
+ $DEMUR_HOLDER$="";
+ kamibroadcast("The Demure Axe has given up on its previous owner and is now available for someone worthier.");
+ } else if (.@login < .@kick) {
+ // Send warning via API
+ legendaryAPIWarning(.@aid);
+ } else if (.@login < .@warn) {
+ // Send warning ingame
+ legendaryRodexWarning(.@cid);
+ }
+ }
+ //////////////////////////////////////////
+ if ($TYRAN_HOLDER$ != "") {
+ .@nb = query_sql("SELECT last_login, char_id, account_id FROM `char` WHERE `name` == "+$TYRAN_HOLDER$+" LIMIT 1", .@login, .@cid, .@aid);
+ if (.@login < .@kban) {
+ // Destroy the item by force
+ DelItemFromEveryPlayer(Tyranny);
+ $TYRAN_HOLDER$="";
+ kamibroadcast("The Tyranny has given up on its previous owner and is now available for someone worthier.");
+ } else if (.@login < .@kick) {
+ // Send warning via API
+ legendaryAPIWarning(.@aid);
+ } else if (.@login < .@warn) {
+ // Send warning ingame
+ legendaryRodexWarning(.@cid);
+ }
+ }
+ //////////////////////////////////////////
+ if ($RUNES_HOLDER$ != "") {
+ .@nb = query_sql("SELECT last_login, char_id, account_id FROM `char` WHERE `name` == "+$RUNES_HOLDER$+" LIMIT 1", .@login, .@cid, .@aid);
+ if (.@login < .@kban) {
+ // Destroy the item by force
+ DelItemFromEveryPlayer(Runestaff);
+ $RUNES_HOLDER$="";
+ kamibroadcast("The Runestaff has given up on its previous owner and is now available for someone worthier.");
+ } else if (.@login < .@kick) {
+ // Send warning via API
+ legendaryAPIWarning(.@aid);
+ } else if (.@login < .@warn) {
+ // Send warning ingame
+ legendaryRodexWarning(.@cid);
+ }
+ }
+ //////////////////////////////////////////
+ if ($AEGIS_HOLDER$ != "") {
+ .@nb = query_sql("SELECT last_login, char_id, account_id FROM `char` WHERE `name` == "+$AEGIS_HOLDER$+" LIMIT 1", .@login, .@cid, .@aid);
+ if (.@login < .@kban) {
+ // Destroy the item by force
+ DelItemFromEveryPlayer(AegisShield);
+ $AEGIS_HOLDER$="";
+ kamibroadcast("The Aegis Shield has given up on its previous owner and is now available for someone worthier.");
+ } else if (.@login < .@kick) {
+ // Send warning via API
+ legendaryAPIWarning(.@aid);
+ } else if (.@login < .@warn) {
+ // Send warning ingame
+ legendaryRodexWarning(.@cid);
+ }
+ }
+ //////////////////////////////////////////
+ end;
+}
+
diff --git a/npc/commands/ipcheck.txt b/npc/commands/ipcheck.txt
new file mode 100644
index 0000000..f24acf0
--- /dev/null
+++ b/npc/commands/ipcheck.txt
@@ -0,0 +1,72 @@
+// TMW2 script
+// Author: Jesusalva <admin@tmw2.org>
+//
+// @ipcheck <player_name>
+// #ipcheck <player_name>
+//
+// Returns user IP
+
+
+- script @ipcheck 32767,{
+ end;
+
+OnCall:
+ if (.@atcmd_numparameters == 0)
+ .@request$ = strcharinfo(0);
+ else
+ .@request$ = implode(.@atcmd_parameters$, " ");
+ dispbottom strip(.@request$)+": IP "+getcharip(.@request$);
+ //dispbottom strcharinfo(0)+": IP "+getcharip(.@request$);
+ end;
+
+OnBan:
+ if (.@atcmd_numparameters == 0) {
+ dispbottom col("Syntax: #ipban <reason>", 1);
+ }
+ // Do not allow banning staff
+ if (is_staff())
+ end;
+ .@target$=strcharinfo(0);
+ .@reason$ = implode(.@atcmd_parameters$, " ");
+ dispbottom col(l("You were permanently banned by the GM Team."), 1);
+ sleep2(200);
+ query_sql "INSERT INTO ipbanlist (list,btime,rtime,reason) VALUES ('"+getcharip(.@target$)+"','"+gettime(7)+"-"+gettime(6)+"-"+gettime(5)+" "+gettime(3)+":"+gettime(2)+":"+gettime(1)+"','2030-01-01 00:00:00','"+.@reason$+"')";
+ logmes("was IP-Blocked, and will never connect again."), LOGMES_ATCOMMAND;
+ consoleinfo("%s was IP-Banned from the server. (R: %s)", .@target$, .@reason$);
+ sleep2(2000);
+ charcommand("@kick "+.@target$);
+ end;
+
+OnInit:
+ bindatcmd "ipcheck", "@ipcheck::OnCall", 60, 100, 0;
+ bindatcmd "ipban", "@ipcheck::OnBan", 99, 100, 1;
+ end;
+}
+
+// TMW2 script
+// Author: Jesusalva <admin@tmw2.org>
+//
+// @checkidle <player_name>
+// #checkidle <player_name>
+//
+// Returns user idle time in seconds.
+// Useful when the game prohibits warping to player.
+
+
+- script @checkidle 32767,{
+ end;
+
+OnCall:
+ if (.@atcmd_numparameters == 0)
+ .@request$ = strcharinfo(0);
+ else
+ .@request$ = implode(.@atcmd_parameters$, " ");
+ dispbottom strip(.@request$)+" idle time: "+checkidle(.@request$);
+ //dispbottom strcharinfo(0)+": IP "+getcharip(.@request$);
+ end;
+
+OnInit:
+ bindatcmd "checkidle", "@checkidle::OnCall", 60, 80, 0;
+ end;
+}
+
diff --git a/npc/commands/kami.txt b/npc/commands/kami.txt
new file mode 100644
index 0000000..4c8c6c9
--- /dev/null
+++ b/npc/commands/kami.txt
@@ -0,0 +1,113 @@
+// TMW2 Script
+//
+// @k <message>
+// Broadcast, and broadcast to #world too
+//
+// @servmsg <message>
+// Experimental, uses servicemessage() - requires up to date server
+
+- script @k 32767,{
+ end;
+
+OnCall:
+ .@request$ = strcharinfo(0)+": ";
+ .@request$ += implode(.@atcmd_parameters$, " ");
+ channelmes("#world", .@request$);
+ announce l(.@request$), bc_all|bc_npc;
+ end;
+
+OnServMsg:
+ .@request$ = strcharinfo(0)+": ";
+ .@request$ += implode(.@atcmd_parameters$, " ");
+ // This can be slow, beware
+ .@c = getunits(BL_PC, .@players, MAX_CYCLE_PC);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ message(.@players[.@i], .@request$);
+ }
+ end;
+
+OnBuff:
+ .@n$=strtoupper(strcharinfo(0, "JESUSALVA", playerattached()));
+ // Disabled command, used for debug purposes
+ .@c = getunits(BL_PC, .@players, MAX_CYCLE_PC);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ attachrid(.@players[.@i]);
+ sc_start SC_INCMHPRATE, 300000, 100;
+ sc_start SC_INCMSPRATE, 300000, 100;
+ sc_start SC_INCFLEERATE, 300000, 100;
+ sc_start SC_INCHITRATE, 300000, 100;
+ sc_start SC_WALKSPEED, 300000, 150;
+ sc_start SC_ATTHASTE_POTION3, 300000, 50;
+ percentheal 100, 100;
+ dispbottom l("YOU WERE BLESSED BY %s", .@n$);
+ dispbottom l("YOU CAN FEEL THE POWER FLOWING TROUGH YOU.");
+ detachrid();
+ }
+ end;
+
+OnInstDestroy:
+ .@request = implode(.@atcmd_parameters$, " ");
+ if (.@request != 0)
+ instance_destroy(.@request);
+ end;
+
+OnInstCheck:
+ .@request$ = implode(.@atcmd_parameters$, " ");
+ dispbottom has_instance2(.@request$);
+ end;
+
+OnPurify:
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@r=60;
+ .@b=BL_PET;
+
+ .@c=getunits(.@b, .@mbs, false, .@m$, .@x-.@r, .@y-.@r, .@x+.@r, .@y+.@r);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ specialeffect(FX_LIGHTNING, AREA, .@mbs[.@i]);
+ unitwarp(.@mbs[.@i], "boss", 25, 25);
+ }
+ end;
+
+OnHarm:
+ harm(getcharid(3), 500, HARM_PHYS);
+ end;
+
+OnHarm2:
+ .@id=getcharid(3);
+ detachrid();
+ harm(.@id, 500, HARM_MISC, Ele_Holy);
+ end;
+
+OnInit:
+ bindatcmd "k", "@k::OnCall", 60, 80, 1;
+ bindatcmd "servmsg", "@k::OnServMsg", 80, 99, 1;
+
+ bindatcmd "blessing", "@k::OnBuff", 80, 99, 1;
+ bindatcmd "harm", "@k::OnHarm", 80, 80, 1;
+ bindatcmd "cruelty", "@k::OnHarm2", 99, 99, 1;
+
+ bindatcmd "instcheck", "@k::OnInstCheck", 99, 100, 1;
+ bindatcmd "instdestr", "@k::OnInstDestroy", 99, 100, 1;
+ bindatcmd "burnlivio", "@k::OnPurify", 99, 100, 1;
+ end;
+}
+
+// kamibroadcast( message{, sender} )
+function script kamibroadcast {
+ .@msg$=getarg(0);
+ .@snd$=getarg(1, "");
+
+ // Send to #world
+ if (.@snd$ == "")
+ channelmes("#world", .@msg$);
+ else
+ channelmes("#world", "[ "+.@snd$+" ] : "+.@msg$);
+
+ // Make an announce
+ if (.@snd$ == "")
+ announce .@msg$, bc_all|bc_npc;
+ else
+ announce .@snd$+" : "+.@msg$, bc_all|bc_npc;
+
+ return;
+}
diff --git a/npc/commands/language.txt b/npc/commands/language.txt
new file mode 100644
index 0000000..ce7122f
--- /dev/null
+++ b/npc/commands/language.txt
@@ -0,0 +1,60 @@
+// TMW2 Script
+// Author: Jesusalva
+// With code parts from Julia (Evol)
+
+// @lang atcommand
+// Changes Language
+//
+// group lv: 0
+// group char lv: 0
+// log: False
+//
+// usage:
+// @lang
+//
+
+function script CMD_lang {
+ callfunc "checkclientversion";
+ mesq l("Which language do you speak?");
+ next;
+ asklanguage(LANG_IN_SHIP);
+ mes "";
+ mesn;
+ mesq l("Ok, done.");
+ return;
+}
+
+- script @lang 32767,{
+ end;
+
+OnCall:
+ CMD_lang();
+ close;
+
+OnTranslate:
+ // Implode, using a slash at whitespaces
+ .@request$ = implode(.@atcmd_parameters$, "%2F");
+ // No NPC provided?
+ if (.@request$ == "") {
+ dispbottom l("Usage: @translate <npc file>");
+ dispbottom l("Example: @translate Nard");
+ dispbottom l("Example: @translate Elmo");
+ dispbottom l("Example: @translate npc/002-1/arpan");
+ dispbottom l("PS. Doesn't always work. You need an account at %s and to be at ManaPlus Team.", "@@https://www.transifex.com/arctic-games|Transifex@@");
+ end;
+ }
+ // Add .txt extension of needed
+ if (!compare(.@request$, ".txt"))
+ .@request$ += ".txt";
+ // Fix stuff for URL format
+ .@request$ = replacestr(.@request$, "/", "%2F");
+ .@request$ = strtolower(.@request$);
+ // Give your translation link
+ dispbottom "@@https://www.transifex.com/arctic-games/moubootaur-legends/translate/#"+languagecode()+"/serverdata?q=occurrence%3A"+.@request$+"|Translate with Transifex@@";
+ close;
+
+OnInit:
+ bindatcmd "lang", "@lang::OnCall", 0, 60, 0;
+ bindatcmd "translate", "@lang::OnTranslate", 0, 60, 0;
+ end;
+}
diff --git a/npc/commands/mobinfo.txt b/npc/commands/mobinfo.txt
new file mode 100644
index 0000000..6853491
--- /dev/null
+++ b/npc/commands/mobinfo.txt
@@ -0,0 +1,22 @@
+// TMW2 Script
+//
+// @monsterinfo <monsterAegis>
+// Sends @mobinfo with a delay (moved from atcommand.conf)
+//
+- script @monsterinfo 32767,{
+ end;
+
+// @monsterinfo uses the same delayer as RSync
+OnCall:
+ if (@rsync_delay > gettimetick(2)) {
+ dispbottom l("Not doing that to prevent flood.");
+ end;
+ }
+ atcommand("@mobinfo " + implode(.@atcmd_parameters$, " "));
+ @rsync_delay=gettimetick(2)+rand(2,3);
+ end;
+
+OnInit:
+ bindatcmd "monsterinfo", "@monsterinfo::OnCall", 0, 80, 0;
+ end;
+}
diff --git a/npc/commands/motd.txt b/npc/commands/motd.txt
new file mode 100644
index 0000000..dcdb014
--- /dev/null
+++ b/npc/commands/motd.txt
@@ -0,0 +1,194 @@
+// TMW2 Script
+function script displayMOTD {
+ .@size = getvariableofnpc(.size, "@motd");
+
+ // generic MOTD
+ for (.@i = 0; .@i < .@size; ++.@i) {
+ dispbottom $MOTD_Messages$[.@i];
+ }
+
+ return;
+}
+
+function script MOTDConfig {
+
+ function toggleMOTD {
+ $MOTD_Disabled = !($MOTD_Disabled);
+ logmes "MOTD modified: toogled: enable/disable", LOGMES_ATCOMMAND;
+ }
+
+ function addNewLine {
+ clear;
+ mes l("Please enter the new line.");
+ input .@s$;
+ .@s$ = strip(.@s$);
+ if (.@s$ != "") {
+ .@size = getvariableofnpc(.size, "@motd");
+ $MOTD_Messages$[.@size] = .@s$;
+ set getvariableofnpc(.size, "@motd"), getarraysize($MOTD_Messages$);
+ logmes "MOTD modified: line added", LOGMES_ATCOMMAND;
+ }
+ }
+
+ function modifyLine {
+
+ function removeLine {
+ .@l = getarg(0);
+ deletearray $MOTD_Messages$[.@l], 1; // remove and shift
+ mes l("Line @@ has been removed.", .@l);
+ set getvariableofnpc(.size, "@motd"), getarraysize($MOTD_Messages$);
+ logmes "MOTD modified: line removed", LOGMES_ATCOMMAND;
+ }
+
+ function moveUp {
+ .@l = getarg(0);
+ .@top$ = $MOTD_Messages$[.@l - 1];
+ $MOTD_Messages$[.@l - 1] = $MOTD_Messages$[.@l];
+ $MOTD_Messages$[.@l] = .@top$;
+ }
+
+ function moveDown {
+ .@l = getarg(0);
+ .@bottom$ = $MOTD_Messages$[.@l + 1];
+ $MOTD_Messages$[.@l + 1] = $MOTD_Messages$[.@l];
+ $MOTD_Messages$[.@l] = .@bottom$;
+ }
+
+ function editLine {
+ .@l = getarg(0);
+ clear;
+ mes l("Old line:");
+ mes "---";
+ mes $MOTD_Messages$[.@l];
+ mes "---";
+ mes "";
+ mes l("Enter new line:");
+ next;
+ input .@s$;
+ .@s$ = strip(.@s$);
+ if (.@s$ != "") {
+ $MOTD_Messages$[.@l] = .@s$;
+ logmes "MOTD modified: line edited", LOGMES_ATCOMMAND;
+ }
+ }
+
+ .@max = (getarg(0) - 1);
+
+ do
+ {
+ mes l("Enter line number:");
+ next;
+ input .@n;
+ if ($MOTD_Messages$[.@n] != "") {
+ clear;
+ mes l("line @@: "+"##0"+$MOTD_Messages$[.@n], .@n);
+ next;
+ select
+ menuimage("actions/back", l("Modify another line")),
+ menuimage("actions/edit", l("Modify this line")),
+ menuimage("actions/remove", l("Remove this line")),
+ rif(.@n > 0, menuimage("actions/raise", l("Move this line up"))),
+ rif(.@n < .@max, menuimage("actions/lower", l("Move this line down"))),
+ menuimage("actions/home", l("Return to main menu"));
+
+ switch (@menu) {
+ case 2: editLine .@n; return;
+ case 3: removeLine .@n; return;
+ case 4: moveUp .@n; return;
+ case 5: moveDown .@n; return;
+ case 6: return;
+ }
+ }
+ } while (1);
+ }
+
+ do
+ {
+ clear;
+ setnpcdialogtitle l("MOTD Config");
+ mes l("This menu allows you to modify the generic message that is sent to players when they log in.");
+ mes "";
+
+ mes "---";
+ .@size = getvariableofnpc(.size, "@motd");
+ for (.@i = 0; .@i < .@size; ++.@i) {
+ mes l("line @@: "+"##0"+$MOTD_Messages$[.@i], .@i);
+ }
+ if (.@size == 0) {
+ mes "(" + l("no active MOTD") + ")";
+ }
+ mes "---";
+ .@d = $MOTD_Disabled;
+ mes l("Enabled: @@", (.@d ? l("no") : l("yes")));
+ next;
+
+ select
+ menuimage("actions/toggle", (.@d ? l("Enable") : l("Disable"))),
+ menuimage("actions/add", l("Add a new line")),
+ rif(.@size, menuimage("actions/manage", l("Modify, move, or remove a line"))),
+ rif(.@size, menuimage("actions/test", l("Test MOTD"))),
+ rif(getarg(0,0), menuimage("actions/home", l("Return to Super Menu"))),
+ rif(!getarg(0,0), menuimage("actions/home", l("Close")));
+
+ switch (@menu) {
+ case 1: toggleMOTD; break;
+ case 2: addNewLine; break;
+ case 3: modifyLine .@size; break;
+ case 4: displayMOTD; break;
+ case 6: close; break;
+ default: return;
+ }
+ } while (1);
+}
+
+
+
+- script @motd 32767,{
+ end;
+
+OnCall:
+ if (!is_master()) {
+ end;
+ }
+
+ MOTDConfig;
+ closedialog;
+ end;
+
+OnClock0003:
+ // Reset TMW2 Login Bonus on February and April
+ if (!$@TMW2_357GDQST) {
+ if (gettime(6) == FEBRUARY || gettime(6) == APRIL) {
+ DelAccRegFromEveryPlayer("#TMW2_LOGINBONUS");
+ $@TMW2_357GDQST=1;
+ }
+ }
+ end;
+
+OnInit:
+ /*
+ .login_ref=gettime(5);
+ .daylength=(60*60*24);
+ */
+ .size = getarraysize($MOTD_Messages$);
+ bindatcmd "motd", "@motd::OnCall", 99, 99, 1;
+}
+
+
+
+
+function script MOTDHandler {
+ // Handle events
+ if ($@GM_EVENT)
+ dispbottom l("An event is happening at Aeros! Hurry up!");
+ if ($EVENT$ != "")
+ dispbottom l("It's @@ (day)!", $EVENT$);
+
+ // Handle MOTD
+ if (!$MOTD_Disabled)
+ displayMOTD;
+ if (debug)
+ dispbottom "##7<<##B @@help://test-server|" + col(l("This is the test server."),6) + "@@ ##7>>";
+ return;
+}
+
diff --git a/npc/commands/music.txt b/npc/commands/music.txt
new file mode 100644
index 0000000..37ee7ea
--- /dev/null
+++ b/npc/commands/music.txt
@@ -0,0 +1,103 @@
+// Authors: Gumi, Jesusalva
+// @music atcommand
+// changes the music for all players on the map
+//
+// group lv: 80
+// group char lv: 80
+// log: True
+//
+// usage:
+// @music <short name>
+//
+// example:
+// @music forest
+
+- script @music 32767,{
+ end;
+
+function listMusic {
+ dispbottom "ship, city, ghoul, surreal, magic, forest, mythica, acid, misuse, prelude, sunrise, peace, peace2, peace3, toast, woodland2, fortress, adonthell";
+ dispbottom "unforgiving, deepcave, 8bit, action, hurns, fields, tulim, candor, lof, icecave, manacave, adventure, dance, academy, shrine, boss, ruins, minstrel";
+ dispbottom "sprint, valkyries";
+ return;
+}
+
+OnCall:
+ if (!is_gm()) {
+ end;
+ }
+
+ // TODO: tmw-like argv splitter
+ getmapxy .@map$, .@void, .@void, UNITTYPE_PC; // get map
+
+ .@key$ = strtolower(.@atcmd_parameters$[0]);
+ .@m$ = htget(.hash, .@key$, "Not found");
+
+ if (.@m$ == "Not found") {
+ //.@m$ = implode(.@atcmd_parameters$[0], " ");
+ dispbottom "Invalid music key. Current accepted values are:";
+ listMusic();
+ } else {
+ changemusic .@map$, .@m$;
+ }
+ end;
+
+OnMyself:
+ .@key$ = strtolower(.@atcmd_parameters$[0]);
+ .@m$ = htget(.hash, .@key$, "Not found");
+
+ if (.@m$ == "Not found") {
+ //.@m$ = implode(.@atcmd_parameters$[0], " ");
+ dispbottom l("Invalid music key. Current accepted values are:");
+ listMusic();
+ } else {
+ //debugmes "Casting with: %s", .@m$;
+ changeplayermusic .@m$;
+ }
+ end;
+
+OnInit:
+ bindatcmd "music", "@music::OnCall", 60, 80, 1;
+ bindatcmd "mymusic", "@music::OnMyself", 1, 80, 0;
+
+ .hash = htnew; // create hashtable
+ htput(.hash, "ship", "sail_away.ogg");
+ htput(.hash, "city", "bartk_adventure.ogg");
+ htput(.hash, "ghoul", "eric_matyas_ghouls.ogg");
+ htput(.hash, "surreal", "eric_matyas_surreal.ogg");
+ htput(.hash, "magic", "magick_real.ogg");
+ htput(.hash, "forest", "dariunas_forest.ogg");
+ htput(.hash, "mythica", "mythica.ogg");
+ htput(.hash, "acid", "3b5.ogg");
+ htput(.hash, "misuse", "misuse.ogg");
+ htput(.hash, "prelude", "water_prelude.ogg");
+ htput(.hash, "sunrise", "tws_birds_in_the_sunrise.ogg");
+ htput(.hash, "peace", "peace.ogg");
+ htput(.hash, "peace2", "peace2.ogg");
+ htput(.hash, "peace3", "peace3.ogg");
+ htput(.hash, "toast", "dragon_and_toast.ogg");
+ htput(.hash, "woodland2", "New_Woodlands.ogg");
+ htput(.hash, "unforgiving","Unforgiving_Lands.ogg");
+ htput(.hash, "deepcave", "Deep_Cave.ogg");
+ htput(.hash, "8bit", "8bit_the_hero.ogg");
+ htput(.hash, "action", "Arabesque.ogg");
+ htput(.hash, "hurns", "caketown.ogg");
+ htput(.hash, "fields", "woodland_fantasy.ogg");
+ htput(.hash, "icecave", "icecave.ogg");
+ htput(.hash, "tulim", "mvrasseli_nochains.ogg");
+ htput(.hash, "candor", "school_of_quirks.ogg");
+ htput(.hash, "lof", "steam.ogg");
+ htput(.hash, "adventure", "tmw_adventure.ogg");
+ htput(.hash, "manacave", "tws_green_island.ogg");
+ htput(.hash, "dance", "dance_monster.ogg");
+ htput(.hash, "academy", "academy_bells.ogg");
+ htput(.hash, "shrine", "Misty_Shrine.ogg");
+ htput(.hash, "boss", "let_the_battles_begin.ogg");
+ htput(.hash, "ruins", "Ruins.ogg");
+ htput(.hash, "fortress", "sidequests.ogg");
+ htput(.hash, "minstrel", "PerituneMaterial_Minstrel2_Harp.ogg");
+ htput(.hash, "adonthell", "adonthell.ogg");
+ htput(.hash, "sprint", "forest-sprint.ogg");
+ htput(.hash, "valkyries", "valkyries.ogg");
+}
+
diff --git a/npc/commands/python.txt b/npc/commands/python.txt
new file mode 100644
index 0000000..5273731
--- /dev/null
+++ b/npc/commands/python.txt
@@ -0,0 +1,27 @@
+// The Mana World script
+// Author: Gumi <gumi@themanaworld.org>
+// Author: Jesusalva <jesusalva@themanaworld.org>
+//
+// Stomp stomp stomp (use with caution)
+
+- script @python 32767,{
+ end;
+
+OnCall:
+ specialeffect(34, AREA, playerattached());
+ .@zone$=getmapinfo(MAPINFO_ZONE, .@mapa$);
+ if (.@zone$ == "MMO")
+ end;
+ sc_start SC_CASH_DEATHPENALTY, 1000, 1;
+ addtimer 380, .name$+"::OnKill";
+ end;
+
+OnKill:
+ percentheal -100, -100;
+ //dispbottom l("Oh look, it is Cupid!");
+ end;
+
+OnInit:
+ bindatcmd "python", "@python::OnCall", 60, 60, 1;
+ end;
+}
diff --git a/npc/commands/rate-management.txt b/npc/commands/rate-management.txt
new file mode 100644
index 0000000..5215177
--- /dev/null
+++ b/npc/commands/rate-management.txt
@@ -0,0 +1,359 @@
+// Authors: Gumi, Jesusalva
+- script @exprate 32767,{
+ end;
+
+ function expRateReal {
+ if (is_night())
+ return $BCONFB_EXPR+$BCONFN_EXPR;
+ else
+ return $BCONFB_EXPR+$BCONFD_EXPR;
+ }
+
+ function expRecalc {
+ .@val=getarg(0);
+ if (is_night())
+ return .@val+$BCONFN_EXPR;
+ else
+ return .@val+$BCONFD_EXPR;
+ }
+
+ function rateCleanUp {
+ stopnpctimer;
+ .hours = 0;
+ .max_hours = 0;
+ .current_rate = $BCONFB_EXPR;
+ setbattleflag("base_exp_rate", expRateReal());
+ setbattleflag("job_exp_rate", expRateReal());
+ charcommand("@reloadmobdb"); // this is on purpose (callable without RID)
+ SeasonReload(1);
+ channelmes("#world", "The EXP Rate Bonus is now over.");
+ }
+
+ function remainingTime {
+ .@total_seconds = (3600 * .max_hours);
+ .@seconds_elapsed = (3600 * .hours) + (getnpctimer(0) / 1000);
+ .@seconds_remaining = max(1, .@total_seconds - .@seconds_elapsed);
+ return FuzzyTime(time_from_seconds(.@seconds_remaining), 2, 2);
+ }
+
+OnCall:
+ if (!is_gm())
+ end;
+ if ($@CI_MODE)
+ end;
+
+ .@special$ = strip(.@atcmd_parameters$[0]); // special value
+ .@new_rate = min(atoi(.@special$), 1000); // or just a regular integer
+ .@hours = min(0x7FFFFFFE, max(1, atoi(strip(.@atcmd_parameters$[1])))); // number of hours
+
+ if (.@new_rate > 0) {
+ // Overwriting previous rate?
+ // Confirmation Required
+ if (expRecalc(.current_rate) != expRateReal()) {
+ setnpcdialogtitle("@rate-managment");
+ mesc l("WARNING!"), 1;
+ mesc l("A previous exp rate up event is already ongoing."), 1;
+ mesc l("IF YOU CHANGE EXP RATE NOW, PREVIOUS BONUS WILL BE LOST!"), 1;
+ next;
+ mesc l("CONTINUE ANYWAY? [Y/N]"), 1;
+ // aborted
+ if (askyesno() == ASK_NO)
+ close;
+ closeclientdialog;
+ }
+
+ // set new exp rate
+ .hours = 0;
+ .max_hours = .@hours;
+ .current_rate = .@new_rate;
+ setbattleflag("base_exp_rate", expRecalc(.@new_rate));
+ setbattleflag("job_exp_rate", expRecalc(.@new_rate)); // Should GM event do this?
+ //setbattleflag("quest_exp_rate", expRecalc(.@new_rate));
+ charcommand("@reloadmobdb");
+ //charcommand("@reloadquestdb");
+ SeasonReload(1);
+ initnpctimer; // start counting
+
+ .@msg$=strcharinfo(0)+" increased experience rate to "+str(.@new_rate)+"%. It will only last "+str(FuzzyTime(time_from_hours(.max_hours), 2, 2))+"!";
+
+ announce .@msg$, bc_all;
+ channelmes("#world", .@msg$);
+
+ //dispbottom l("You successfully set the exp rate to @@%. It will reset to @@% (default value) in @@.",
+ // .@new_rate, expRateReal(), FuzzyTime(time_from_hours(.max_hours), 2, 2));
+ dispbottom l("You can also manually stop it at any time with: @exprate default");
+
+ } else if (.@new_rate == 0 && .@special$ == "") {
+
+ // get current exp rate
+ if (.current_rate == $BCONFB_EXPR) {
+ atcommand("@rates");
+ dispbottom col(l("Usage of @exprate without argument is deprecated, please use \"@rates\" instead."), 1);
+ } else {
+ dispbottom l("Current exp rate is set to @@%, and will reset to @@% (default value) in @@.",
+ .current_rate, expRateReal(), remainingTime());
+
+ dispbottom l("If you meant to reset the exp rate to its default value: @exprate default");
+ }
+
+ } else {
+
+ // reset
+ rateCleanUp;
+ dispbottom l("Exp rate has been reset to @@% (default value).",
+ expRateReal());
+ }
+
+ end;
+
+OnPlayerCall:
+ if ($@CI_MODE)
+ end;
+ /*
+ // GM calls take precedence at any time!
+ if (.max_hours > 0 || .hours > 0)
+ end;
+ */
+ // $@EXP_EVENT will determine the boost and should not be above 25%
+ // Default duration is one hour, or whatever $@EXP_EVENT_TIME is
+ $@EXP_EVENT=limit(0, $@EXP_EVENT, 100);
+ $@EXP_EVENT+=.current_rate;
+ if ($@EXP_EVENT_TIME > 6 && gettime(4) != SATURDAY && gettime(3)) {
+ consolewarn("Tried to set EXP Event Time to %d hours, but max is 6", $@EXP_EVENT_TIME);
+ $@EXP_EVENT_TIME=limit(1, $@EXP_EVENT_TIME, 6);
+ }
+
+ // If a GM rate-up was running, we will sum the time, too.
+ // It'll be rounded down. (so 1h + 30m = 1h) FIXME average is better
+ if (.hours || .max_hours) {
+ $@EXP_EVENT_TIME+=max(0, .max_hours-.hours-1);
+ }
+
+ // Default duration is one hour, or whatever $@EXP_EVENT_TIME is
+ .hours = 0;
+ .max_hours = $@EXP_EVENT_TIME;
+ .current_rate = $@EXP_EVENT;
+ setbattleflag("base_exp_rate", expRecalc($@EXP_EVENT));
+ setbattleflag("job_exp_rate", expRecalc($@EXP_EVENT));
+ charcommand("@reloadmobdb");
+ SeasonReload(1);
+ initnpctimer; // start counting
+
+ .@msg$="Experience Rate was modified to "+$@EXP_EVENT+"% for "+$@EXP_EVENT_TIME+" hour(s)!";
+
+ announce .@msg$, bc_all;
+ channelmes("#world", .@msg$);
+
+ $@EXP_EVENT=0;
+ $@EXP_EVENT_TIME=0;
+ end;
+
+OnTimer3600000:
+ // runs every hour
+ if (++.hours == .max_hours) {
+ rateCleanUp;
+ end;
+ }
+ initnpctimer;
+ end;
+
+OnPCLoginEvent:
+ if (.max_hours > 0) {
+ dispbottom col(l("Exp rate is set to @@% for the next @@.",
+ .current_rate, remainingTime()), 6);
+ }
+ end;
+
+OnInit:
+ bindatcmd "exprate", "@exprate::OnCall", 60, 80, 1; // change exp rate
+
+ // WARNING: using @reloadscript will change the "original" value
+ .current_rate = $BCONFB_EXPR;
+
+ // XXX: maybe in the future:
+ //.original_job_rate = getbattleflag("base_job_rate");
+ //.original_pk_mode = getbattleflag("pk_mode");
+ //.original_death_penalty = getbattleflag("death_penalty_type");
+ end;
+
+OnReload:
+ if (debug) {
+ debugmes("EXP Reload refused: Test server");
+ end;
+ }
+ .@new_rate = expRecalc(.current_rate);
+ setbattleflag("base_exp_rate", .@new_rate);
+ setbattleflag("job_exp_rate", .@new_rate);
+ //charcommand("@reloadmobdb");
+ //SeasonReload(1); // TODO FIXME: We are casting this twice.
+ end;
+
+OnInheirtedReload:
+ if (debug) {
+ debugmes("Nested Reload refused: Test server");
+ end;
+ }
+ debugmes "[EXP] Inheir Reload";
+ .@new_rate = expRecalc(.current_rate);
+ setbattleflag("base_exp_rate", .@new_rate);
+ setbattleflag("job_exp_rate", .@new_rate);
+ donpcevent("@droprate::OnReload");
+ end;
+}
+
+
+/////////////////////////////////////////////////////////////////////////////////
+- script @droprate 32767,{
+ end;
+
+ function dropRateReal {
+ if (is_night())
+ return $BCONFB_DROP+$BCONFN_DROP;
+ else
+ return $BCONFB_DROP+$BCONFD_DROP;
+ }
+
+ function dropRecalc {
+ .@val=getarg(0);
+ if (is_night())
+ return .@val+$BCONFN_DROP;
+ else
+ return .@val+$BCONFD_DROP;
+ }
+
+ function rateCleanUp {
+ stopnpctimer;
+ .hours = 0;
+ .max_hours = 0;
+ .current_rate = $BCONFB_DROP;
+ setbattleflag("item_rate_common", dropRateReal());
+ setbattleflag("item_rate_common_boss", dropRateReal());
+ setbattleflag("item_rate_heal", dropRateReal());
+ setbattleflag("item_rate_heal_boss", dropRateReal());
+ setbattleflag("item_rate_use", dropRateReal());
+ setbattleflag("item_rate_use_boss", dropRateReal());
+ setbattleflag("item_rate_equip", dropRateReal());
+ setbattleflag("item_rate_equip_boss", dropRateReal());
+ setbattleflag("item_rate_card", dropRateReal());
+ setbattleflag("item_rate_card_boss", dropRateReal());
+ charcommand("@reloadmobdb"); // this is on purpose (callable without RID) - no idea what is the purpose
+ SeasonReload(1);
+ channelmes("#world", "The Drop Rate Bonus is now over.");
+ }
+
+ function remainingTime {
+ .@total_seconds = (3600 * .max_hours);
+ .@seconds_elapsed = (3600 * .hours) + (getnpctimer(0) / 1000);
+ .@seconds_remaining = max(1, .@total_seconds - .@seconds_elapsed);
+ return FuzzyTime(time_from_seconds(.@seconds_remaining), 2, 2);
+ }
+
+OnCall:
+ if (!is_gm()) {
+ end;
+ }
+ if ($@CI_MODE)
+ end;
+
+ .@special$ = strip(.@atcmd_parameters$[0]); // special value
+ .@new_rate = min(atoi(.@special$), 1000); // or just a regular integer
+ .@hours = min(0x7FFFFFFE, max(1, atoi(strip(.@atcmd_parameters$[1])))); // number of hours
+
+ if (.@new_rate > 0)
+ {
+ // set new exp rate
+ .hours = 0;
+ .max_hours = .@hours;
+ .current_rate = .@new_rate;
+ setbattleflag("item_rate_common", dropRecalc(.@new_rate));
+ setbattleflag("item_rate_common_boss", dropRecalc(.@new_rate));
+ setbattleflag("item_rate_heal", dropRecalc(.@new_rate));
+ setbattleflag("item_rate_heal_boss", dropRecalc(.@new_rate));
+ setbattleflag("item_rate_use", dropRecalc(.@new_rate));
+ setbattleflag("item_rate_use_boss", dropRecalc(.@new_rate));
+ setbattleflag("item_rate_equip", dropRecalc(.@new_rate));
+ setbattleflag("item_rate_equip_boss", dropRecalc(.@new_rate));
+ setbattleflag("item_rate_card", dropRecalc(.@new_rate));
+ setbattleflag("item_rate_card_boss", dropRecalc(.@new_rate));
+ charcommand("@reloadmobdb");
+ SeasonReload(1);
+ initnpctimer; // start counting
+
+ .@msg$=strcharinfo(0)+" modified drop rates to "+str(.@new_rate)+"%. It will only last "+str(FuzzyTime(time_from_hours(.max_hours), 2, 2))+"!";
+
+ announce .@msg$, bc_all;
+ channelmes("#world", .@msg$);
+
+ //dispbottom l("You successfully set the drop rate to @@%. It will reset to @@% (default value) in @@.",
+ // .@new_rate, dropRateReal(), FuzzyTime(time_from_hours(.max_hours), 2, 2));
+ dispbottom l("You can also manually stop it at any time with: @droprate default");
+ } else if (.@new_rate == 0 && .@special$ == "") {
+ // get current exp rate
+ if (.current_rate == dropRateReal()) {
+ atcommand("@rates");
+ dispbottom col(l("Usage of @exprate without argument is deprecated, please use \"@rates\" instead."), 1);
+ } else {
+ dispbottom l("Current drop rate is set to @@%, and will reset to @@% (default value) in @@.",
+ .current_rate, dropRateReal(), remainingTime());
+ dispbottom l("If you meant to reset the drop rate to its default value: @droprate default");
+ }
+ }
+
+ else
+ {
+ // reset
+ rateCleanUp;
+ dispbottom l("Drop rate has been reset to @@% (default value).",
+ dropRateReal());
+ }
+
+ end;
+
+OnTimer3600000:
+ // runs every hour
+ if (++.hours == .max_hours) {
+ rateCleanUp;
+ end;
+ }
+ initnpctimer;
+ end;
+
+OnPCLoginEvent:
+ if (.max_hours > 0) {
+ dispbottom col(l("Drop rate is set to @@% for the next @@.",
+ .current_rate, remainingTime()), 6);
+ }
+ end;
+
+OnInit:
+ bindatcmd "droprate", "@droprate::OnCall", 80, 80, 1; // change drop rate
+
+ // WARNING: using @reloadscript will change the "original" value, use @reloadbattleconf before!
+ .current_rate = $BCONFB_DROP;
+ //force_refreshall();
+ end;
+
+OnReload:
+ if (debug) {
+ SeasonReload(1);
+ debugmes("Drop Reload refused: Test server");
+ end;
+ }
+ if ($@CI_MODE)
+ end;
+ .@new_rate = dropRecalc(.current_rate);
+ setbattleflag("item_rate_common", .@new_rate);
+ setbattleflag("item_rate_common_boss", .@new_rate);
+ setbattleflag("item_rate_heal", .@new_rate);
+ setbattleflag("item_rate_heal_boss", .@new_rate);
+ setbattleflag("item_rate_use", .@new_rate);
+ setbattleflag("item_rate_use_boss", .@new_rate);
+ setbattleflag("item_rate_equip", .@new_rate);
+ setbattleflag("item_rate_equip_boss", .@new_rate);
+ setbattleflag("item_rate_card", .@new_rate);
+ setbattleflag("item_rate_card_boss", .@new_rate);
+ charcommand("@reloadmobdb");
+ SeasonReload(1);
+ debugmes("Drop rates were reloaded with success.");
+ end;
+}
diff --git a/npc/commands/rent.txt b/npc/commands/rent.txt
new file mode 100644
index 0000000..2be2ccc
--- /dev/null
+++ b/npc/commands/rent.txt
@@ -0,0 +1,34 @@
+// TMW2 Script
+//
+// @rentitem <item> <time>
+// Rents an <item> for <time> seconds
+// 1 hour: 3600s
+// 1 day: 86400s
+// 1 month: 2592000s
+
+- script @rentitem 32767,{
+ end;
+
+OnCall:
+ //.@request$ = "";
+ //.@request$ += implode(.@atcmd_parameters$, " ");
+
+ .@item=atoi(.@atcmd_parameters$[0]);
+ .@time=atoi(.@atcmd_parameters$[1]);
+
+ if (!.@item || !.@time) {
+ dispbottom l("@rentitem <item numeric id> <time in seconds>");
+ end;
+ }
+
+ // Limiting to 365 days max
+ .@time=limit(15, .@time, 31536000);
+
+ rentitem(.@item, .@time);
+ end;
+
+OnInit:
+ bindatcmd "rentitem", "@rentitem::OnCall", 80, 99, 1;
+ end;
+}
+
diff --git a/npc/commands/resync.txt b/npc/commands/resync.txt
new file mode 100644
index 0000000..246bfa8
--- /dev/null
+++ b/npc/commands/resync.txt
@@ -0,0 +1,45 @@
+// TMW2 script
+// Author: Jesusalva <admin@tmw2.org>
+//
+// Introduces @resync
+//
+// It'll cast slide to your own position
+// Hopefully making client update your real position without causing server warning
+//
+// This also introduces @resyncall
+// Which is an alias for @refresh and causes client to reload the whole map,
+// Including yourself and monsters.
+
+- script @resync 32767,{
+ end;
+
+// Soft Resync
+OnCall:
+ if (ispcdead()) {
+ dispbottom l("Impossible to resync: You are dead.");
+ end;
+ }
+ if (@rsync_delay > gettimetick(2)) {
+ dispbottom l("Not resync'ing to prevent flood.");
+ end;
+ }
+ getmapxy(.@m$, .@x, .@y, 0);
+ slide .@x, .@y;
+ @rsync_delay=gettimetick(2)+rand2(3,5);
+ end;
+
+// Hard Resync
+OnCallRefresh:
+ if (@rsync_delay > gettimetick(2)) {
+ dispbottom l("Not resync'ing to prevent flood.");
+ end;
+ }
+ @rsync_delay=gettimetick(2)+rand2(3,5);
+ atcommand("@refresh");
+ end;
+
+OnInit:
+ bindatcmd "resync", "@resync::OnCall", 0, 60, 0;
+ bindatcmd "resyncall", "@resync::OnCallRefresh", 0, 60, 0;
+ end;
+}
diff --git a/npc/commands/scheduled-broadcasts.txt b/npc/commands/scheduled-broadcasts.txt
new file mode 100644
index 0000000..1801663
--- /dev/null
+++ b/npc/commands/scheduled-broadcasts.txt
@@ -0,0 +1,227 @@
+// Evol Script
+// Authors: Gumi
+function script StoneBoard {
+
+ function setMessage {
+ do
+ {
+ clear;
+ mes l("Please enter the message:");
+ next;
+ input .@msg$;
+ .@msg$ = strip(.@msg$);
+ if (.@msg$ != "") {
+ return .@msg$;
+ }
+ mes l("The message cannot be empty");
+ next;
+ } while (1);
+ }
+
+ function setInterval {
+ clear;
+ mes l("Please select the interval:");
+ next;
+ menuint
+ l("Every 1 hour"), 1,
+ l("Every 3 hours"), 3,
+ l("Every 5 hours"), 5,
+ l("Every 6 hours"), 6,
+ l("Every 12 hours"), 12,
+ l("Every 24 hours"), 24,
+ l("Never (only on login)"), 0;
+
+ return @menuret;
+ }
+
+ function setMaxRep {
+ if (getarg(0,0) == 0) {
+ return 0;
+ }
+ clear;
+ mes l("Repeat how many times?");
+ next;
+ menuint
+ l("Send only once"), 1,
+ l("Send 2 times"), 2,
+ l("Send 3 times"), 3,
+ l("Send 5 times"), 5,
+ l("Send 10 times"), 10,
+ l("Send 20 times"), 20,
+ l("Send indefinitely"), 0;
+
+ return @menuret;
+ }
+
+ function setOnLogin {
+ if (getarg(0,0) == 0)
+ {
+ return 1;
+ }
+ clear;
+ mes l("Send this message also on login?");
+ next;
+ select
+ l("No"),
+ l("Yes");
+
+ return (@menu - 1);
+ }
+
+ function newBroadcast {
+ do
+ {
+ setnpcdialogtitle l("Scheduled broadcasts - Create new");
+
+ // go through all steps
+ .@msg$ = setMessage();
+ .@int = setInterval();
+ .@max = setMaxRep(.@int);
+ .@login = setOnLogin(.@int);
+
+ // recap
+ clear;
+ mes l("Message:");
+ mes "---";
+ mes .@msg$;
+ mes "---";
+ if (.@int)
+ {
+ mes l("Interval: every @@ hour(s)", .@int);
+ mes l("Repeat: @@ times", .@max ? .@max : "∞");
+ mes l("Sent on login: @@", .@login ? l("yes") : l("no"));
+ }
+ else
+ {
+ mes l("Interval: (none, only sent on login)");
+ mes l("Sent on login: yes");
+ }
+
+ next;
+ select
+ menuimage("actions/cancel", l("Discard")),
+ menuimage("actions/edit", l("Start over")),
+ menuimage("actions/test", l("Start broadcasting")),
+ menuimage("actions/test", l("Start broadcasting, and make an extra broadcast right now"));
+
+ switch (@menu)
+ {
+ case 3:
+ case 4:
+ stopnpctimer "@sched";
+ $@SCHED_Opt[0] = .@login;
+ $@SCHED_Opt[1] = .@int;
+ $@SCHED_Opt[2] = 0;
+ $@SCHED_Opt[3] = .@max;
+ $@SCHED_Opt[4] = 0;
+ $@SCHED_Msg$ = .@msg$;
+ if (.@int)
+ {
+ initnpctimer "@sched";
+ }
+ if (@menu == 4)
+ {
+ announce $@SCHED_Msg$, bc_all;
+ }
+ logmes "Scheduled Broadcast: A new broadcast was added", LOGMES_ATCOMMAND;
+ case 1: return;
+ }
+
+ } while(1);
+ }
+
+ do
+ {
+ clear;
+ setnpcdialogtitle l("Scheduled broadcasts");
+ mes l("This menu allows you to set the scheduled broadcast that is sent to all players at a specific interval.");
+ mes "";
+
+ .@a = $@SCHED_Msg$ != ""; // any active broadcast?
+ mes "---";
+ mes .@a ? $@SCHED_Msg$ : "(" + l("no active broadcast") +")";
+ mes "---";
+ if (.@a)
+ {
+ mes l("Sent on login: @@", ($@SCHED_Opt[0] ? l("yes") : l("no")));
+ if ($@SCHED_Opt[1])
+ {
+ .@next = max(1, ((3600000 * ($@SCHED_Opt[1] - $@SCHED_Opt[4])) - getnpctimer(0, "@sched")));
+ mes l("Interval: every @@ hour(s)", $@SCHED_Opt[1]);
+ mes l("Next broadcast: @@", FuzzyTime(time_from_ms(.@next)));
+ }
+ else
+ {
+ mes l("Interval: (none, only sent on login)");
+ mes l("Next broadcast: (never)");
+ }
+ mes l("Sent: @@ times out of @@", $@SCHED_Opt[2], ($@SCHED_Opt[3] ? $@SCHED_Opt[3] : "∞"));
+ }
+ next;
+
+ select
+ menuimage("actions/abort", l("Abort")),
+ rif(.@a, menuimage("actions/test", l("Manually trigger the current broadcast"))),
+ rif(.@a, menuimage("actions/remove", l("Stop broadcasting"))),
+ rif(!(.@a), menuimage("actions/add", l("Set a new broadcast"))),
+ rif(getarg(0,0), menuimage("actions/home", l("Return to Super Menu")));
+
+ switch (@menu)
+ {
+ case 2: announce $@SCHED_Msg$, bc_all; break;
+ case 3: $@SCHED_Msg$ = ""; break;
+ case 4: newBroadcast; break;
+ default: return;
+ }
+ } while (1);
+}
+
+
+
+- script @sched 32767,{
+ end;
+
+OnTimer3600000:
+ if ($@SCHED_Msg$ == "")
+ {
+ stopnpctimer;
+ end;
+ }
+
+ ++$@SCHED_Opt[4]; // increase hours counter
+ if ($@SCHED_Opt[4] == $@SCHED_Opt[1])
+ {
+ stopnpctimer;
+ ++$@SCHED_Opt[2]; // increase total counter
+ announce $@SCHED_Msg$, bc_all;
+ $@SCHED_Opt[4] = 0; // reset hours counter
+ if ($@SCHED_Opt[2] >= $@SCHED_Opt[3] && $@SCHED_Opt[3] > 0)
+ {
+ $@SCHED_Msg$ = ""; // reset message
+ end;
+ }
+ }
+ initnpctimer;
+ end;
+
+OnCall:
+ if (!is_gm())
+ {
+ end;
+ }
+
+ StoneBoard;
+ closedialog;
+ end;
+
+OnInit:
+ bindatcmd "sched", "@sched::OnCall", 80, 99, 1;
+}
+
+function script StoneBoardRead {
+ if ($@SCHED_Opt[0] && $@SCHED_Msg$ != "")
+ {
+ announce $@SCHED_Msg$, bc_self;
+ }
+ return;
+}
diff --git a/npc/commands/shroom.txt b/npc/commands/shroom.txt
new file mode 100644
index 0000000..76a4304
--- /dev/null
+++ b/npc/commands/shroom.txt
@@ -0,0 +1,62 @@
+// TMW2 Script
+//
+// @shroom <mobID> <Amount> <DisplayName>
+// Plushroom Angel Script (Plush: 1011, Chaga: 1128, Clover: 1028)
+
+- script @shroom 32767,{
+ end;
+
+OnShroom:
+ if (.@atcmd_parameters$[0] != "")
+ .@mobId=atoi(array_shift(.@atcmd_parameters$));
+ if (.@atcmd_parameters$[1] != "")
+ .@mobAm=atoi(array_shift(.@atcmd_parameters$));
+ if (.@atcmd_parameters$[2] != "")
+ .@mobName$=implode(.@atcmd_parameters$, " ");
+
+ // Checks
+ if (!.@mobId)
+ .@mobId=PlushroomField;
+
+ if (!.@mobAm)
+ .@mobAm=1;
+
+ if (.@mobName$ == "")
+ .@mobName$=strmobinfo(1, .@mobId);
+
+ //.@gmType=(Sex ? NPC_GAMEMASTER : NPC_GAMEMISTRESS);
+ .@gmType=(Sex ? GameMaster : GameMistress);
+ .@gmId=monster("boss", 45, 45, strcharinfo(0), .@gmType, 1);
+
+ // Max 40 connected players for this to work
+ .@c = getunits(BL_PC, .@players, MAX_CYCLE_PC);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ debugmes "@shroom: Attach account %d to spawn %d %s (%d)", .@players[.@i], .@mobAm, .@mobName$, .@mobId;
+ attachrid(.@players[.@i]);
+ getmapxy(.@m$, .@x, .@y, 0);
+ unitwarp(.@gmId, .@m$, .@x, .@y);
+ sleep2(20);
+ unitwalk(.@gmId, .@x-1, .@y-1);
+ sleep2(200);
+ unitemote(.@gmId, any(E_HAPPY, E_HAPPY, E_ANGEL, E_EVILCROC));
+ sleep2(150);
+
+ // Adjust amount based on player level
+ .@Ammo=limit(1, BaseLevel/15*.@mobAm, 60);
+ //getmapxy(.@dm$, .@dx, .@dy, UNITTYPE_MOB, .@gmId);
+ //debugmes "Spawn %d mobs at %s, (%d, %d)", .@Ammo, .@dm$, .@dx, .@dy;
+
+ areamonster(.@m$, .@x-3, .@y-3, .@x+3, .@y+3, .@mobName$, .@mobId, .@Ammo);
+ sleep2(320);
+ detachrid();
+ }
+
+ // Cleanup
+ unitwarp(.@gmId, "boss", 45, 45);
+ unitkill(.@gmId);
+ end;
+
+OnInit:
+ bindatcmd "shroom", "@shroom::OnShroom", 60, 100, 1;
+}
+
diff --git a/npc/commands/super-menu.txt b/npc/commands/super-menu.txt
new file mode 100644
index 0000000..cf9b49c
--- /dev/null
+++ b/npc/commands/super-menu.txt
@@ -0,0 +1,241 @@
+// Authors: Gumi, Jesusalva
+function script SuperMenu {
+ do
+ {
+ clear;
+ setnpcdialogtitle l("Super Menu");
+ mes l("This menu contains all options available to you, based on your access privileges.");
+ mes "";
+ mes l("What do you want to access?");
+ next;
+ select
+ rif(is_gm(), l("Scheduled broadcasts")),
+ rif(is_master(), l("MOTD")),
+ rif(is_gm(), l("Event management")),
+ rif(is_admin() && !getcharid(2), l("Join teh Guild")),
+ rif(is_staff(), l("Referral Program Report")),
+ rif(is_admin(), "Broken checks"),
+ rif(is_admin() && $@GM_OVERRIDE && !$NIVALIS_LIBDATE && $NLIB_DAY, "Flush NLIB"),
+ rif(is_gm(), l("Seasonal Drop Control")),
+ "Debug",
+ "Quit";
+
+ switch (@menu)
+ {
+ case 1: StoneBoard 1; break;
+ case 2: MOTDConfig 1; break;
+ case 3: GlobalEventMenu 1; break;
+ case 4:
+ if (!$@HAS_API) {
+ query_sql("UPDATE `char` SET `guild_id`=1 WHERE `char_id`="+getcharid(0));
+ } else {
+ apiasync("SQL", sprintf("UPDATE `char` SET `guild_id`=1 WHERE `char_id`='%d'", getcharid(0)));
+ apiasync("SQLRUN", "");
+ }
+ break;
+ case 5: HallOfReferral; break;
+ case 6:
+ delitem Aquada, 1;
+ delitem Bread, 100;
+ mes("Either delitem is not working, or you had 1 aquada and 100 bread.");
+ next;
+ break;
+ case 7:
+ donpcevent("The Monster King#NLib::OnReprocess");
+ if ($NLIB_DAY == 7) {
+ setmapflag("023-2",mf_bexp,200);
+ donpcevent("The Monster King#NLib::OnBegin");
+ }
+ break;
+ case 8: SeasonControl; break;
+ case 9: GlobalDebugMenu 1; break;
+ default: close; break;
+ }
+ } while (1);
+}
+
+
+
+- script @super 32767,{
+ end;
+
+OnCall:
+
+ if (!is_gm()) {
+ dispbottom l("You do not have the required access privileges to use the Super Menu.");
+ end;
+ }
+
+ SuperMenu;
+ closedialog;
+ end;
+
+OnGM:
+ mesc ".:: GM Auth ::.", 1;
+ mesc "--- System Login ---";
+ if (!debug) {
+ if (!validatepin())
+ close;
+ } else {
+ mes "";
+ mes "This is a Test Server, verification mode in AUTO.";
+ }
+ .@auth=true;
+ // NOTE: Pihro and Pyndragon do not have player chars
+ // FIXME: Use account ID over char name (multi-server stable)
+ if (strcharinfo(0) == "Jesusalva") {
+ setgroupid(99);
+ } else if (strcharinfo(0) == "Saulc") {
+ setgroupid(99);
+ } else if (strcharinfo(0) == "seeds") {
+ setgroupid(60);
+ } else if (strcharinfo(0) == "Hector") {
+ setgroupid(60);
+ } else if (strcharinfo(0) == "demure") {
+ setgroupid(80);
+ } else if (strcharinfo(0) == "jak1") {
+ setgroupid(80);
+ // Test Server grants
+ } else if (debug && getgroupid() == 1) {
+ setgroupid(5);
+ } else {
+ dispbottom l("Your privileges do not allow you to use this command.");
+ .@auth=false;
+ }
+ // Handle authentication reports
+ if (.@auth) {
+ announce strcharinfo(0)+" has just logged in services.", bc_all;
+ logmes strcharinfo(0)+" : GM login.", LOGMES_ATCOMMAND;
+ consoleinfo("%s changed from PC to GM.", strcharinfo(0));
+ } else {
+ logmes strcharinfo(0)+" : GM Authentication failed.", LOGMES_ATCOMMAND;
+ }
+ close;
+
+OnGMOff:
+ if (is_staff()) {
+ logmes strcharinfo(0)+" : GM logout.", LOGMES_ATCOMMAND;
+ consoleinfo("%s changed from GM to PC.", strcharinfo(0));
+ setgroupid(1);
+ }
+ end;
+
+OnInit:
+ bindatcmd "super", "@super::OnCall", 80, 99, 0;
+ bindatcmd "gmoff", "@super::OnGMOff", 5, 100, 1;
+ bindatcmd "gm", "@super::OnGM", 0, 100, 1;
+
+ // Special servers
+ if (debug) {
+ setbattleflag("mob_spawn_delay", $BCONFD_SPAWN);
+ setbattleflag("monster_hp_rate", $BCONFD_MOBHP);
+ donpcevent("@exprate::OnInheirtedReload");
+ } else if ($HARDCORE) {
+ setbattleflag("mob_spawn_delay", 25); // Official: 100~150
+ setbattleflag("monster_hp_rate", 250);
+ setbattleflag("base_exp_rate", 200);
+ setbattleflag("job_exp_rate", 200);
+ .@new_rate=300;
+ setbattleflag("item_rate_common", .@new_rate);
+ setbattleflag("item_rate_common_boss", .@new_rate);
+ setbattleflag("item_rate_heal", .@new_rate);
+ setbattleflag("item_rate_heal_boss", .@new_rate);
+ setbattleflag("item_rate_use", .@new_rate);
+ setbattleflag("item_rate_use_boss", .@new_rate);
+ setbattleflag("item_rate_equip", .@new_rate);
+ setbattleflag("item_rate_equip_boss", .@new_rate);
+ setbattleflag("item_rate_card", .@new_rate);
+ setbattleflag("item_rate_card_boss", .@new_rate);
+ // Other settings
+ setbattleflag("mob_count_rate", 150);
+ setbattleflag("no_spawn_on_player", 3);
+ setbattleflag("zeny_from_mobs", true);
+ setbattleflag("item_auto_get", true);
+ setbattleflag("enable_perfect_flee", 3); // Mobs can now perfect-flee
+ setbattleflag("mob_critical_rate", 100);
+ setbattleflag("multi_level_up", true);
+ setbattleflag("quest_exp_rate", 300);
+ setbattleflag("death_penalty_type", 2); // Death causes total exp loss
+ setbattleflag("homunculus_friendly_rate", 1000);
+ setbattleflag("hom_bonus_exp_from_master", 30);
+ //setbattleflag("pk_mode", 1);
+ setbattleflag("party_even_share_bonus", 12); // Official: 9%
+ setbattleflag("hp_rate", 200); // Official: 100%
+ setbattleflag("player_invincible_time", 10000); // Official: 5s
+ setbattleflag("natural_healhp_interval", 1500); // Official: 2.5s
+ setbattleflag("natural_heal_weight_rate", 75); // Official: 50%
+ setbattleflag("max_aspd", 193); // Official: 190
+ setbattleflag("max_parameter", 150); // The Official Official is 150
+ setbattleflag("pc_status_def_rate", 50); // 2x harder to get stat resist
+ // Reload settings
+ charcommand("@reloadmobdb");
+ SeasonReload(1);
+ }
+ end;
+
+// Servers with "debug" set are debug servers which must reset on their own
+// Hardcore servers as well
+// They restart every sunday, at 03:00 UTC
+OnSun0250:
+ .@sv$=(debug ? "Test" : "Hardcore");
+ if (debug || $HARDCORE) kamibroadcast("WARNING: "+.@sv$+" Server will go down for scheduled maintenance in 10 minutes!");
+ end;
+OnSun0255:
+ .@sv$=(debug ? "Test" : "Hardcore");
+ if (debug || $HARDCORE) kamibroadcast("WARNING: "+.@sv$+" Server will go down for scheduled maintenance in 5 minutes!");
+ end;
+OnSun0259:
+ .@sv$=(debug ? "Test" : "Hardcore");
+ if (debug || $HARDCORE) kamibroadcast("WARNING: Imminent "+.@sv$+" Server restart!");
+ end;
+OnSun0300:
+ if (debug || $HARDCORE) atcommand("@serverexit 103");
+ end;
+
+
+// Live Servers also need to reset, but with less frequency
+// They restart on the first wednesday of the month, at 03:00 UTC
+// Note: We can use gettimeparam - weeks since epoch - and restart every
+// 2 weeks if needed. (weeks % 2 == 1)
+OnWed0245:
+ if (!$AUTORESTART || gettime(GETTIME_DAYOFMONTH) > 7) end;
+ kamibroadcast("WARNING: Server will go down for scheduled maintenance in 15 minutes!");
+ end;
+OnWed0250:
+ if (!$AUTORESTART || gettime(GETTIME_DAYOFMONTH) > 7) end;
+ kamibroadcast("WARNING: Server will go down for scheduled maintenance in 10 minutes!");
+ end;
+OnWed0255:
+ if (!$AUTORESTART || gettime(GETTIME_DAYOFMONTH) > 7) end;
+ kamibroadcast("WARNING: Server will go down for scheduled maintenance in 5 minutes!");
+ end;
+OnWed0259:
+ if (!$AUTORESTART || gettime(GETTIME_DAYOFMONTH) > 7) end;
+ kamibroadcast("WARNING: Imminent Server restart!");
+ end;
+OnWed0300:
+ if (!$AUTORESTART || gettime(GETTIME_DAYOFMONTH) > 7) end;
+ atcommand("@serverexit 101");
+ end;
+}
+
+// Auto-restart scheduled
+function script SchedRestart {
+ // FIXME - How is that even supposed to work?
+ return;
+
+ if (debug && $SCHED_RESTART) {
+
+ if ($SCHED_RESTART == 1)
+ $SCHED_RESTART=gettimetick(2)+900;
+
+ if ($SCHED_RESTART > gettimetick(2)) {
+ $SCHED_RESTART=0;
+ atcommand("@serverexit 101");
+ }
+
+ kamibroadcast(sprintf("A restart has been scheduled to about %s.", FuzzyTime($SCHED_RESTART)));
+ }
+ return;
+}
+
diff --git a/npc/commands/titulate.txt b/npc/commands/titulate.txt
new file mode 100644
index 0000000..c367964
--- /dev/null
+++ b/npc/commands/titulate.txt
@@ -0,0 +1,226 @@
+// TMW2 Script
+//
+// @titulate <username>
+// Grants a title to <username>. Cannot be undone.
+// @cassate
+// Opens a prompt to strip someone from their titles.
+// Can also ban from titles. Grandmasters only.
+
+- script @titulate 32767,{
+ end;
+
+OnCall:
+ .@request$ = "";
+ .@request$ += implode(.@atcmd_parameters$, " ");
+ .@request$ = strip(.@request$);
+
+ // No argument supplied
+ if (.@request$ == "") {
+ Exception("Usage: @titulate <target charname>", RB_ISFATAL|RB_DISPBOTTOM);
+ }
+
+ // Player is not attached
+ .@ori = getcharid(3);
+ .@id = getcharid(3, .@request$);
+ if (.@id < 1 || .@ori < 1) {
+ Exception("Player not found.", RB_ISFATAL|RB_DISPBOTTOM);
+ }
+
+ // Obtain your own title
+ .@mine=ACADEMIC_RANK;
+ .@them=getvariableofpc(ACADEMIC_RANK, .@id, 99);
+
+ mes ".:: " + l("Titulation") + " ::.";
+ if (.@mine <= .@them || .@them < 0) {
+ mesc l("You can only concede or vouch a title for people of academic rank inferior than your own.");
+ close;
+ }
+
+ mesc l("You're about to concede an academic title to \"@@\".", .@request$), 1;
+ mesc l("If this is found out to be a fraudulent titulation, both you as target will have their titles cased by the Academic Council, or by the Alliance High Council."), 1;
+ mesc l("This action CANNOT BE UNDONE."), 1;
+ mes l("Are you sure?");
+ if (askyesno() == ASK_NO)
+ close;
+
+ // Grant the title
+ if (attachrid(.@id)) {
+ switch (ACADEMIC_RANK) {
+ case ACADEMIC_LAYMAN:
+ case ACADEMIC_STUDENT:
+ case ACADEMIC_TECHNIC:
+ // Instant promotion
+ ACADEMIC_RANK+=1;
+ .@upgrade=true;
+ break;
+ case ACADEMIC_BACHELOR:
+ case ACADEMIC_MASTER:
+ // Two-Man rule
+ if (array_find(ACADEMIC_VOUCH, .@ori)) {
+ end;
+ }
+ array_push(ACADEMIC_VOUCH, .@ori);
+ if (array_entries(ACADEMIC_VOUCH) >= 2) {
+ ACADEMIC_RANK+=1;
+ deletearray(ACADEMIC_VOUCH);
+ .@upgrade=true;
+ }
+ break;
+ case ACADEMIC_DOCTOR:
+ case ACADEMIC_PHD:
+ // Three-Man rule
+ if (array_find(ACADEMIC_VOUCH, .@ori)) {
+ end;
+ }
+ array_push(ACADEMIC_VOUCH, .@ori);
+ if (array_entries(ACADEMIC_VOUCH) >= 3) {
+ ACADEMIC_RANK+=1;
+ deletearray(ACADEMIC_VOUCH);
+ .@upgrade=true;
+ }
+ break;
+ // Invalid
+ case ACADEMIC_SAGE:
+ Exception("The Grand Master title can only be issued by the president of the Alliance High Council.", RB_ISFATAL|RB_SPEECH);
+ default:
+ Exception("Invalid titulation rank: "+ACADEMIC_RANK, RB_ISFATAL|RB_SPEECH);
+ }
+
+ // Message
+ if (.@upgrade) {
+ dispbottom l("You received the %s title from %s.",
+ academicrank(), strcharinfo(0, "someone", .@ori));
+ } else {
+ dispbottom l("You were vouched to the %s title by %s. You still need %d more vouches to be promoted.",
+ academicrank(ACADEMIC_RANK+1), strcharinfo(0, "someone", .@ori),
+ (ACADEMIC_RANK >= ACADEMIC_DOCTOR ? 3 : 2) - array_entries(ACADEMIC_VOUCH));
+ }
+
+ // Oops, player disconnected
+ } else {
+ Exception("Player not found.", RB_ISFATAL|RB_SPEECH);
+ }
+
+ attachrid(.@ori);
+ // Inform everyone
+ kamibroadcast(sprintf("%s has vouched %s for the title of %s.",
+ strcharinfo(0), .@request$, academicrank(.@them+1)));
+ // Log in a special log file as well
+ logmes(sprintf("%s has vouched %s for the title of %s.",
+ strcharinfo(0), .@request$, academicrank(.@them+1)));
+
+ close;
+
+OnCassate:
+ if (ACADEMIC_RANK < ACADEMIC_GM) {
+ mesc l("Only Academy Grand Masters may cassate someone.");
+ close;
+ }
+ mes ("To revoke someone's title and optionally apply a ban on them.");
+ mes ("Please insert the nickname of person to cassate (they must be online)");
+ input .@request$;
+ if (.@request$ == "")
+ close;
+ mes ("Ban them from the Magic Academy as well?");
+ .@ban=(askyesno() == ASK_YES);
+ next;
+ .@ori = getcharid(3);
+ .@id = getcharid(3, .@request$);
+ if (.@id < 1 || .@ori < 1) {
+ Exception("Player not found.", RB_ISFATAL|RB_DISPBOTTOM);
+ }
+
+ // Execute the banishment
+ if (attachrid(.@id)) {
+ ACADEMIC_RANK=(.@ban ? -1 : ACADEMIC_LAYMAN);
+ skill TMW2_STUDY, 0, 0;
+ dispbottom l("Your academy titles have been rescinded%s",
+ (.@ban ? l(", and you have been banned from the Academy.") : "."));
+ } else {
+ Exception("Player not found.", RB_ISFATAL|RB_DISPBOTTOM);
+ }
+
+ attachrid(.@ori);
+ // Inform everyone
+ kamibroadcast(sprintf("%s (A.GM) has stripped %s from their academic titles.",
+ strcharinfo(0), .@request$));
+ // Log in a special log file as well
+ logmes(sprintf("%s (Grandmaster) has stripped %s from their academic titles.",
+ strcharinfo(0), .@request$));
+
+ close;
+
+OnInit:
+ bindatcmd "titulate", "@titulate::OnCall", 0, 100, 1;
+ bindatcmd "cassate", "@titulate::OnCassate", 60, 100, 1;
+}
+
+function script AutoTitulate {
+ .@ori = gettimetick(2); // Will never duplicate
+ switch (ACADEMIC_RANK) {
+ case ACADEMIC_LAYMAN:
+ case ACADEMIC_STUDENT:
+ case ACADEMIC_TECHNIC:
+ // Instant promotion
+ ACADEMIC_RANK+=1;
+ .@upgrade=true;
+ break;
+ case ACADEMIC_BACHELOR:
+ case ACADEMIC_MASTER:
+ // Two-Man rule
+ if (array_find(ACADEMIC_VOUCH, .@ori)) {
+ end;
+ }
+ array_push(ACADEMIC_VOUCH, .@ori);
+ if (array_entries(ACADEMIC_VOUCH) >= 2) {
+ ACADEMIC_RANK+=1;
+ deletearray(ACADEMIC_VOUCH);
+ .@upgrade=true;
+ }
+ break;
+ case ACADEMIC_DOCTOR:
+ case ACADEMIC_PHD:
+ // Three-Man rule
+ if (array_find(ACADEMIC_VOUCH, .@ori)) {
+ end;
+ }
+ array_push(ACADEMIC_VOUCH, .@ori);
+ if (array_entries(ACADEMIC_VOUCH) >= 3) {
+ ACADEMIC_RANK+=1;
+ deletearray(ACADEMIC_VOUCH);
+ .@upgrade=true;
+ }
+ break;
+ // Invalid
+ case ACADEMIC_SAGE:
+ getexp 5000000, 150000;
+ mesc "+500,000 exp";
+ mesc "+150,000 job";
+ Exception("The Grand Master title can only be issued by the president of the Alliance High Council.", RB_ISFATAL|RB_SPEECH);
+ default:
+ Exception("Invalid titulation rank: "+ACADEMIC_RANK, RB_ISFATAL|RB_SPEECH|RB_PLEASEREPORT);
+ }
+
+ // Message
+ if (.@upgrade) {
+ dispbottom l("You received the %s title from %s.",
+ academicrank(), "Hocus Pocus the Fidibus");
+ } else {
+ dispbottom l("You were vouched to the %s title by %s. You still need %d more vouches to be promoted.",
+ academicrank(ACADEMIC_RANK+1), "Hocus Pocus the Fidibus",
+ (ACADEMIC_RANK >= ACADEMIC_DOCTOR ? 3 : 2) - array_entries(ACADEMIC_VOUCH));
+ }
+
+ // Inform everyone
+ .@r = ACADEMIC_RANK + 1;
+ kamibroadcast(sprintf("%s has vouched %s for the title of %s.",
+ "Hocus Pocus the Fidibus", strcharinfo(0), academicrank(.@r)));
+ // Log in a special log file as well
+ logmes(sprintf("%s has vouched %s for the title of %s.",
+ "Hocus Pocus the Fidibus", strcharinfo(0), academicrank(.@r)));
+
+ // Continue
+ return;
+}
+
+
diff --git a/npc/commands/ucp.txt b/npc/commands/ucp.txt
new file mode 100644
index 0000000..c4cf2a0
--- /dev/null
+++ b/npc/commands/ucp.txt
@@ -0,0 +1,363 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+
+function script UserCtrlPanel {
+ do
+ {
+ @unsaved=false;
+ clear;
+ setnpcdialogtitle l("User Control Panel");
+ mes l("This menu gives you some options which affect your account.");
+ mes l("In some cases, your pincode will be required.");
+ mes "";
+ mes l("What do you want to access?");
+ next;
+ if (@unsaved) {
+ mesc l("Careful: You have unsaved changes!"), 1;
+ mes "";
+ }
+ select
+ l("Rules"),
+ l("Game News"),
+ rif(#FIRST_TIME == 1, l("Create PIN Number")),
+ l("Account Information"),
+ rif(getcharid(2) > 0, l("Guild Information")),
+ l("Change Language"),
+ rif(getskilllv(TMW2_CRAFT), l("Change Crafting Options")),
+ l("Game Settings"),
+ l("Save & Exit");
+
+ switch (@menu)
+ {
+ case 1: GameRules(); break;
+ case 2: GameNews(); break;
+ case 3:
+ // Account age check (15 days or complete Lua's arc)
+ if (gettimetick(2) < #REG_DATE+86400*15 && getq(General_Narrator) < 3) {
+ mesc l("Your account is too young."), 1;
+ mesc l("The accounts need 15 days to set Pin Codes."), 1;
+ next;
+ break;
+ }
+ mes l(".:: Create PIN Code ::.");
+ mes l("If you decide to continue, a random PINCODE will be");
+ mes l("sent to the email you used to register on Moubootaur Legends.");
+ mes "";
+ mes l("With a PinCode, you'll have access to restricted features,");
+ mes l("Like Discord integration and sensitive options.");
+ mes "";
+ mes l("You can change the PIN from ManaPlus char selection screen.");
+ mes l("You can also modify your email with %s.", b("@email"));
+ mes l("This will do nothing if the account already have a PIN.");
+ next;
+ mesc l("Are you sure you want to create a PIN now?"), 1;
+ if (askyesno() == ASK_NO)
+ break;
+ mes "";
+ .@msg$=json_encode("date", gettimetick(2),
+ "accid", getcharid(3),
+ "pin", rand2(10000));
+ debugmes .@msg$;
+ consoleinfo("%s requested a PinCode.", strcharinfo(0));
+ api_send(API_PINCODE, .@msg$);
+ #FIRST_TIME=2;
+ mesc l("PinCode created, an email should arrive within 15 minutes."), 3;
+ next;
+ break;
+ case 4:
+ if (!validatepin()) {
+ next;
+ break;
+ }
+ if (!@lgc || @query) {
+ query_sql("SELECT email,logincount,last_ip FROM `login` WHERE account_id="+getcharid(3)+" LIMIT 1", .@email$, .@lgc, .@ip$);
+ @email$=.@email$;
+ @lgc=.@lgc;
+ @ip$=.@ip$;
+ } else {
+ .@email$=@email$;
+ .@lgc=@lgc;
+ .@ip$=@ip$;
+ }
+ mes l("Char Name: @@", strcharinfo(0));
+ mes l("Party Name: @@", strcharinfo(1));
+ mes l("Guild Name: @@", strcharinfo(2));
+ mes l("Clan Name: @@", strcharinfo(4));
+ mes "";
+ mes l("Email: @@", .@email$[0]);
+ if (Sex)
+ mes l("Male");
+ else
+ mes l("Female");
+ mes l("Last IP: @@", .@ip$[0]);
+ mes l("Total Logins: @@", .@lgc[0]);
+ mes l("Registed %s ago", FuzzyTime(#REG_DATE));
+ next;
+ if (@query)
+ break;
+ @query=1;
+ query_sql("SELECT name,last_login,last_map,partner_id FROM `char` WHERE account_id="+getcharid(3)+" LIMIT 9", .@name$, .@lastlogin$, .@map$, .@married);
+ for (.@i = 1; .@i <= getarraysize(.@name$); .@i++) {
+ mesn .@name$[.@i-1];
+ mes l("Last Seen: @@", FuzzyTime(.@lastlogin$[.@i-1]));
+ mes l("Last map: @@", .@map$[.@i-1]);
+ if (.@married[.@i-1])
+ mes l("Married with @@", gf_charname(.@married[.@i-1]));
+ mes "";
+ }
+ next;
+ break;
+ case 5:
+ .@gid=getcharid(2);
+ mesc (".:: "+getguildname(.@gid)+" ::."), 1;
+ mesc l("Guild Master: @@", getguildmaster(.@gid)), 3;
+ if (getguildnxp(.@gid) > 0)
+ mesc l("Guild Lv @@, @@/@@ EXP to level up", getguildlvl(.@gid), fnum(getguildexp(.@gid)), fnum(getguildnxp(.@gid)));
+ else
+ mesc l("Guild Lv @@, @@/@@ EXP to level up", fnum(getguildlvl(.@gid)), getguildexp(.@gid), "???");
+
+ mes "";
+ mesc l("Average player level: @@", getguildavg(.@gid));
+ mesc l("Your position on the guild: @@", getguildrole(.@gid, getcharid(3), true));
+ next;
+ break;
+ case 6: asklanguage(LANG_IN_SHIP); break;
+ case 7:
+ // Draw the GUI and any info on it
+ csysGUI_Report();
+ mesc l("NOTE: The effective bonus level applied is the average level of enabled options!");
+ //mesc l("Mobpt: @@", Mobpt);
+ do {
+ .@opt$="Do nothing";
+ .@opt$+=":"+csysGUI_OptToogleMenu(CRGROUP_BASE);
+
+ .@opt$+=":"+csysGUI_OptToogleMenu(CRGROUP_ATK);
+ .@opt$+=":"+csysGUI_OptToogleMenu(CRGROUP_DEF);
+ .@opt$+=":"+csysGUI_OptToogleMenu(CRGROUP_ACC);
+ .@opt$+=":"+csysGUI_OptToogleMenu(CRGROUP_EVD);
+
+ .@opt$+=":"+csysGUI_OptToogleMenu(CRGROUP_REGEN);
+ .@opt$+=":"+csysGUI_OptToogleMenu(CRGROUP_SPEED);
+ .@opt$+=":"+csysGUI_OptToogleMenu(CRGROUP_DOUBLE);
+ .@opt$+=":"+csysGUI_OptToogleMenu(CRGROUP_MAXPC);
+
+ .@opt$+=":"+csysGUI_OptToogleMenu(CRGROUP_SCRESIST);
+ .@opt$+=":"+csysGUI_OptToogleMenu(CRGROUP_SCINFLICT);
+ .@opt$+=":"+csysGUI_OptToogleMenu(CRGROUP_MANAUSE);
+ .@opt$+=":"+csysGUI_OptToogleMenu(CRGROUP_BOSSATK);
+
+ .@opt$+=":"+csysGUI_OptToogleMenu(CRGROUP_FINAL);
+
+ select (.@opt$);
+ mes "";
+ switch (@menu) {
+ case 2: csysGUI_ChangeOpt(CRGROUP_BASE); break;
+
+ case 3: csysGUI_ChangeOpt(CRGROUP_ATK); break;
+ case 4: csysGUI_ChangeOpt(CRGROUP_DEF); break;
+ case 5: csysGUI_ChangeOpt(CRGROUP_ACC); break;
+ case 6: csysGUI_ChangeOpt(CRGROUP_EVD); break;
+
+ case 7: csysGUI_ChangeOpt(CRGROUP_REGEN); break;
+ case 8: csysGUI_ChangeOpt(CRGROUP_SPEED); break;
+ case 9: csysGUI_ChangeOpt(CRGROUP_DOUBLE); break;
+ case 10: csysGUI_ChangeOpt(CRGROUP_MAXPC); break;
+
+ case 11: csysGUI_ChangeOpt(CRGROUP_SCRESIST); break;
+ case 12: csysGUI_ChangeOpt(CRGROUP_SCINFLICT); break;
+ case 13: csysGUI_ChangeOpt(CRGROUP_MANAUSE); break;
+ case 14: csysGUI_ChangeOpt(CRGROUP_BOSSATK); break;
+
+ case 15: csysGUI_ChangeOpt(CRGROUP_FINAL); break;
+ }
+ } while (@menu > 1);
+ break;
+ case 8:
+ do
+ {
+ mesc ".:: " + l("GAME SETTINGS") + " ::.", 3;
+
+ // GSET_SOULMENHIR_MANUAL
+ // Enables/Disable manual position saving on Soul Menhir
+ if (GSET_SOULMENHIR_MANUAL)
+ mes l("Soul Menhir automatic saving: ") + col(l("Disabled"), 1);
+ else
+ mes l("Soul Menhir automatic saving: ") + col(l("Enabled"), 2);
+
+
+ // GSET_DAILYREWARD_SILENT
+ // Enables/Disable silent dialog for daily rewards
+ // (otherwise a image will be shown)
+ if (GSET_DAILYREWARD_SILENT)
+ mes l("Display daily reward screen: ") + col(l("Disabled"), 1);
+ else
+ mes l("Display daily reward screen: ") + col(l("Enabled"), 2);
+
+
+ // GSET_LONGMENU_DENSITY
+ // How many nexts should be queued in a density list
+ // (use higher values if you have few recipes or can scroll)
+ if (!GSET_LONGMENU_DENSITY)
+ mes l("Long Text Wall Density: ") + col(l("Normal"), 1);
+ else
+ mes l("Long Text Wall Density: ") + col(l("Compact")+": "+GSET_LONGMENU_DENSITY, 2);
+
+
+ // GSET_FIXED_ALCHEMY
+ // Alchemy Table Behavior
+ if (GSET_FIXED_ALCHEMY)
+ mes l("Alchemy Table: ") + col(l("Never ask: Brew %d", GSET_FIXED_ALCHEMY), 1);
+ else
+ mes l("Alchemy Table: ") + col(l("Ask everytime"), 2);
+
+
+ // GSET_FISHING_BAIT
+ // Fishing Bait Behavior
+ if (GSET_FISHING_BAIT > 1)
+ mes l("Fishing bait: ") + col(l("Always use %s", getitemlink(GSET_FISHING_BAIT)), 2);
+ else if (GSET_FISHING_BAIT)
+ mes l("Fishing bait: ") + col(l("Ask next time"), 1);
+ else
+ mes l("Fishing bait: ") + col(l("Ask everytime"), 2);
+
+
+ // GSET_ALCOHOL_NOOVERDRINK
+ // Should players be allowed to drink themselves to death?
+ if (GSET_ALCOHOL_NOOVERDRINK)
+ mes l("Lethal overdrinking: ") + col(l("Not allowed"), 1);
+ else
+ mes l("Lethal overdrinking: ") + col(l("Allowed"), 2);
+
+
+ // GSET_CRAFT_BOUND
+ // Should players make bound or named items?
+ if (GSET_CRAFT_BOUND)
+ mes l("Crafting method: ") + col(l("Account Bound"), 1);
+ else
+ mes l("Crafting method: ") + col(l("Named Items"), 2);
+
+
+ // TUTORIAL
+ // Should we show players tutorial info?
+ if (!TUTORIAL)
+ mes l("Tutorial Protips: ") + col(l("Disabled"), 1);
+ else
+ mes l("Tutorial Protips: ") + col(l("Enabled"), 2);
+
+
+ // GSET_NOSCRY
+ // Should players be allowed to scry your information?
+ if (GSET_NOSCRY)
+ mes l("Others scrying you: ") + col(l("Not allowed"), 1);
+ else
+ mes l("Others scrying you: ") + col(l("Allowed"), 2);
+
+
+ if ($EVENT$ == "Valentine") {
+ // GSET_VALENTINE_EATONE
+ // Eat all Chocolate Boxes from Valentine Day event
+ if (!GSET_VALENTINE_EATALL)
+ mes l("[Valentine] Eat all chocolate: ") + col(l("Not allowed"), 2);
+ else
+ mes l("[Valentine] Eat all chocolate: ") + col(l("Allowed"), 1);
+ }
+
+
+ if (strcharinfo(2) == "Monster King") {
+ // GSET_AUTORECEIVE_COINS
+ // Enables/Disable autoreceive strange coins
+ if (!GSET_AUTORECEIVE_COINS)
+ mes l("Autoreceive Strange Coins: ") + col(l("Disabled"), 1);
+ else
+ mes l("Autoreceive Strange Coins: ") + col(l("Enabled"), 2);
+ }
+
+ if (@unsaved) {
+ mes "";
+ mesc l("Careful: You have unsaved changes!"), 1;
+ }
+
+ mes "";
+ select
+ l("Return to User Control Panel"),
+ l("Toggle Soul Menhir automatic saving"),
+ l("Toggle Daily Reward screen"),
+ l("Text Wall Density"),
+ l("Alchemy Table brewing"),
+ l("Automatic fishing bait"),
+ l("Lethal alcohol overdrinking"),
+ l("Change crafting method"),
+ l("Show Tutorial Protips"),
+ l("Others scrying your char data"),
+ rif($EVENT$ == "Valentine", ("Valentine Eating")),
+ rif(strcharinfo(2) == "Monster King", ("Toggle Autoreceive Event Coins"));
+ mes "";
+
+ switch (@menu) {
+ case 1:
+ // Update savepoint if needed
+ if (@unsaved) {
+ if (!GSET_SOULMENHIR_MANUAL) savepoint "000-1", 22, 22;
+ else ResaveRespawn();
+ }
+ break;
+ case 2:
+ GSET_SOULMENHIR_MANUAL=!GSET_SOULMENHIR_MANUAL;
+ @unsaved=true;
+ break;
+ case 3:
+ GSET_DAILYREWARD_SILENT=!GSET_DAILYREWARD_SILENT; break;
+ case 4:
+ if (GSET_LONGMENU_DENSITY >= 5)
+ GSET_LONGMENU_DENSITY=0;
+ else
+ GSET_LONGMENU_DENSITY+=1;
+ break;
+ case 5:
+ if (GSET_FIXED_ALCHEMY) {
+ GSET_FIXED_ALCHEMY=0;
+ } else {
+ .@max=(is_sponsor() ? 25 : 10);
+ mesc l("How many to brew? (%d-%d)", 0, .@max);
+ input(GSET_FIXED_ALCHEMY, 0, .@max);
+ GSET_FIXED_ALCHEMY=limit(0, GSET_FIXED_ALCHEMY, 10);
+ }
+ break;
+ case 6:
+ GSET_FISHING_BAIT = (GSET_FISHING_BAIT ? 0 : 1); break;
+ case 7:
+ GSET_ALCOHOL_NOOVERDRINK=!GSET_ALCOHOL_NOOVERDRINK; break;
+ case 8:
+ GSET_CRAFT_BOUND=!GSET_CRAFT_BOUND; break;
+ case 9:
+ TUTORIAL=!TUTORIAL; break;
+ case 10:
+ GSET_NOSCRY=!GSET_NOSCRY; break;
+ case 11:
+ GSET_VALENTINE_EATALL=!GSET_VALENTINE_EATALL; break;
+ case 12:
+ GSET_AUTORECEIVE_COINS=!GSET_AUTORECEIVE_COINS; break;
+ }
+ clear;
+ } while (@menu != 1);
+ break;
+ default: close; break;
+ }
+ } while (1);
+}
+
+
+
+- script @ucp 32767,{
+ end;
+
+OnCall:
+
+ UserCtrlPanel;
+ closedialog;
+ end;
+
+OnInit:
+ bindatcmd "ucp", "@ucp::OnCall", 0, 99, 0;
+}
diff --git a/npc/commands/warp.txt b/npc/commands/warp.txt
new file mode 100644
index 0000000..4f98ac5
--- /dev/null
+++ b/npc/commands/warp.txt
@@ -0,0 +1,104 @@
+// TMW2 script
+// Evol script, gumi's script
+//
+// @w atcommand
+// warps using anchors or map name
+//
+// usage:
+// @w <map or anchor> [, x [, y]]
+// #w "char" <map or anchor> [, x [, y]]
+//
+// example:
+// @w hali
+// @w halin
+// @w halinarzo
+// #w "char" hali
+
+- script @w 32767,{
+ end;
+
+OnCall:
+ .@request$ = strtoupper(strip(.@atcmd_parameters$[0])); // sanitize
+ .@map$ = "";
+ .@x = 0;
+ .@y = 0;
+
+ for (.@i = 0; .@i < .count; .@i += 2)
+ {
+ if (.@request$ ~= .aliases$[.@i]) {
+ sscanf .aliases$[.@i + 1], "%s %d %d", .@map$, .@x, .@y;
+ break;
+ }
+ }
+
+ if (.@map$ == "") {
+ .@map$ = .@atcmd_parameters$[0];
+ }
+
+ if (.@atcmd_parameters$[2] != "") {
+ .@x = atoi(.@atcmd_parameters$[1]);
+ .@y = atoi(.@atcmd_parameters$[2]);
+ }
+
+ // FIXME: here getmapusers() is used only to check if the map exists
+ // replace this when/if we get a dedicated function for that
+ if (getmapusers(.@map$) < 0) {
+ end; // invalid map
+ }
+
+ while (!checkcell(.@map$, .@x, .@y, cell_chkpass))
+ {
+ if (.@e == 50) end;
+ .@x = rand(20, 250);
+ .@y = rand(20, 250);
+ ++.@e;
+ }
+
+ if (getmapflag(.@map$, mf_nowarpto) && !(is_admin() || $@GM_OVERRIDE)) {
+ dispbottom("This map is restricted and cannot be warped to.");
+ close;
+ }
+ cwarp .@map$, .@x, .@y; // XXX: maybe here use a slide_or_warp function
+
+OnInit:
+ setarray .aliases$[0],
+
+ // PROLOGUE
+ "^START|^BEGIN", "000-0 22 24", // starting point
+ "^NARD|^SHIP", "002-1 53 38", // nard's ship (outside instance)
+ "^000-0", "000-0 34 17", // Intro Lookout Area
+ "^000-0-0", "000-0-0 33 26", // Intro B Lookout Area
+ "^LOOKOUT", "000-0-0 33 26", // Intro B Lookout Area
+
+ // TMW2
+ "^TULIM", "003-1 41 48", // Tulishmar
+ "^CANDOR", "005-1 35 102", // Candor
+ "^HALI", "009-1 28 33", // Halinarzo
+ "^HURN", "012-1 83 63", // Hurnscald
+ "^LOF", "017-1 120 89", // Land Of Fire Village
+ "^LILIT", "018-5 111 53", // Lilit
+ "^PORT", "019-2 94 118", // Nivalis Port
+ "^NIVAL", "020-1 58 65", // Nivalis
+ "^FROST", "024-1 94 42", // Frostia
+ "^FORT", "025-1 100 83", // Fortress Town
+ "^MAGI|^ACADEMY", "027-1 89 83", // Magic Academy
+ "^ART", "029-0 203 85", // Artis
+
+ // TBR - To Be Removed
+ "^BOSS", "boss 45 45", // (TBR) Monster King's Throne Room
+ "^BOT", "botcheck 26 30", // (TBR) Botcheck area
+ "^HEROES|^HH", "018-2 72 66", // (TBR) Heroes Hold
+
+ // GM Stuff
+ "^AEROS|^GM", "001-1 235 26", // Floating Island of Aeros (GM Events)
+ "^ARENA", "001-2 125 222", // Aeros Arena (GM Events)
+ "^SAULC", "001-3 117 138", // GM Palace
+ "^EASTER", "001-4 151 157", // Easter Event Map
+ "^WORK", "001-5 22 79", // Contributor's Cave
+ "^JAIL|^PRISON", "sec_pri 28 25"; // Jesusalva's Prison (and last line)
+
+
+ .count = getarraysize(.aliases$[0]);
+
+ bindatcmd "w", "@w::OnCall", 5, 80, 1;
+}
diff --git a/npc/commands/welcome.txt b/npc/commands/welcome.txt
new file mode 100644
index 0000000..0030447
--- /dev/null
+++ b/npc/commands/welcome.txt
@@ -0,0 +1,74 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Welcome to all new players on ML! :D
+
+- script @welcome 32767,{
+ end;
+
+OnCall:
+ if (!@toeventchk) {
+ @toeventval1=readparam(Hp);
+ @toeventval2=readparam(Sp);
+ @toeventchk=1;
+ specialeffect FX_CIRCLE, SELF, getcharid(3);
+ addtimer 4000, "@welcome::OnEffect";
+ }
+ end;
+
+OnEffect:
+ @toeventchk=0;
+ removespecialeffect(FX_CIRCLE, SELF, getcharid(3));
+ // Reversions (warp back)
+ // Not in Candor: Resave your @welcome reversion snippet
+ if (getmap() != "005-1") {
+ getmapxy(@welc_map$, @welc_x, @welc_y, 0);
+ @welc_loc$=LOCATION$;
+ } else {
+ // It's defined and you're in Candor, so: Warp back
+ if (@welc_x && @welc_y) {
+ warp @welc_map$, @welc_x, @welc_y;
+ @welc_map$="";
+ @welc_x=0;
+ @welc_y=0;
+ dispbottom l("%s: Thanks for helping.", "Nard");
+ if (@welc_loc$ != "")
+ LOCATION$=@welc_loc$;
+ end;
+ }
+ // There's no saved coordinates but you're in Candor.
+ // So warp you back to... Candor? I mean, what?
+ }
+
+ // Calculate
+ if ($@WELCOME_TIMER < gettimetick(2)) {
+ dispbottom l("There are no new players to welcome.");
+ atcommand "@refresh";
+ end;
+ } else if (readparam(Sp) < @toeventval2) {
+ dispbottom l("You must not be using mana to do this trip.");
+ atcommand "@refresh";
+ end;
+ } else if (readparam(Hp) < @toeventval1) {
+ dispbottom l("You cannot be fighting to do this trip.");
+ atcommand "@refresh";
+ end;
+ } else if (compare(getmapname(), "001-") || (getmapinfo(MAPINFO_ZONE, getmap())) == "MMO") {
+ dispbottom l("You currently could not use GM MAGIC to visit Candor.");
+ atcommand "@refresh";
+ end;
+ } else if (getmapname() == "boss" || getmapname() == "sec_pri" || compare(getmapname(), "000-") || compare(getmapname(), "008-") || compare(getmapname(), "005-") || compare(getmapname(), "006-") || compare(getmapname(), "sore")) {
+ dispbottom l("You currently could not use GM MAGIC to visit Candor.");
+ atcommand "@refresh";
+ } else {
+ LOCATION$="Candor";
+ warp "005-1", 43, 99;
+ message strcharinfo(0), l("You are now at Candor.");
+ }
+ end;
+
+OnInit:
+ bindatcmd "welcome", "@welcome::OnCall", 0, 99, 0;
+}
+
diff --git a/npc/commands/wgm.txt b/npc/commands/wgm.txt
new file mode 100644
index 0000000..36a9fdd
--- /dev/null
+++ b/npc/commands/wgm.txt
@@ -0,0 +1,51 @@
+// Author: Jesusalva
+
+// @wgm atcommand
+// High wizardry, NOT for noobs
+//
+// group lv: 99
+// group char lv: 100
+// log: True
+// WARNING: DANGEROUS, may explode server, debug testing only.
+//
+// usage:
+// @callfunc daily_login_bonus_handler
+// @doevent @wgm::OnCall
+//
+
+- script @wgm 32767,{
+ end;
+
+OnCall:
+ .@request$ = strcharinfo(0)+": ";
+ .@request$ += implode(.@atcmd_parameters$, " ");
+ atcommand("@request "+.@request$);
+ end;
+
+OnCallFunc:
+ if (!$@GM_OVERRIDE) {
+ dispbottom col("SEVERE ERROR: COMMAND NOT FOUND. EXECUTING SIMILAR COMMAND...", 1);
+ die();
+ end;
+ }
+ .@request$ = "";
+ .@request$ += implode(.@atcmd_parameters$, " ");
+ callfunc .@request$;
+ end;
+
+OnDoEvent:
+ if (!$@GM_OVERRIDE) {
+ dispbottom col("SEVERE ERROR: COMMAND NOT FOUND. EXECUTING SIMILAR COMMAND...", 1);
+ die();
+ end;
+ }
+ .@request$ = "";
+ .@request$ += implode(.@atcmd_parameters$, " ");
+ doevent .@request$;
+ end;
+
+OnInit:
+ bindatcmd "callfunc", "@wgm::OnCallFunc", 99, 100, 1;
+ bindatcmd "doevent", "@wgm::OnDoEvent", 99, 100, 1;
+ end;
+}
diff --git a/npc/config/hairstyle_config.txt b/npc/config/hairstyle_config.txt
new file mode 100644
index 0000000..04b73b1
--- /dev/null
+++ b/npc/config/hairstyle_config.txt
@@ -0,0 +1,28 @@
+// Hairstyle config
+// set array of style and colors
+// Author: Omatt
+
+- script hairstyle_config NPC_HIDDEN,{
+
+ end;
+
+OnInit:
+ setarray $@hairstyle$[0], "(none)", "Bald", "Bowl cut", "Combed back",
+ "Emo", "Mohawk", "Pompadour", "Center parting", "Long and slick",
+ "Short and curly", "Pigtails", "Long and curly", "Parted",
+ "Perky ponytail", "Wave", "Mane", "Bun", "Wavy", "Bunches",
+ "Long ponytail", "Infinitely long", "Choppy", "Wild", "Punk",
+ "Imperial", "Side strand", "Messy", "Flat ponytail",
+ "Tapered Nape";
+
+ setarray $@haircolor$[0], "Off black", "Ash brown", "Dark brown",
+ "Dark copper", "Auburn brown", "Honey brown", "Copper blonde",
+ "Golden blonde", "Pure platinum", "Cherry blossom", "Pinky pink",
+ "Fire red", "Light violet", "Purple plum", "Navy blue",
+ "Lagoon blue", "Twisted teal", "Spring Green", "Forest Green",
+ "Silver Grey", "Imperial Blue";
+
+ setarray $@allraces$[0], "Human", "Human", "Human", "Elf", "Orc",
+ "Raijin", "Tritan", "Ukar", "Redy", "Savior";
+ end;
+}
diff --git a/npc/config/location.txt b/npc/config/location.txt
new file mode 100644
index 0000000..f2db2bf
--- /dev/null
+++ b/npc/config/location.txt
@@ -0,0 +1,35 @@
+// TMW2 Script
+// Author: Jesusalva
+// Location Config
+
+- script loc_config 32767,{
+ end;
+
+OnInit:
+ // TP_FORT TP_BOSSR
+ setarray $@LOCMASTER_TP, TP_CANDOR,TP_TULIM,TP_HALIN,TP_HURNS, TP_LOF,TP_LILIT,TP_NIVAL, TP_FROST, TP_FORT,TP_ARTIS;
+ setarray $@LOCMASTER_LOC$, "Candor", "Tulim", "Halin", "Hurns", "LoF", "Lilit", "Nival", "Frostia", "Fort", "Artis";
+ setarray $@LOCMASTER_MAP$, "005-1", "003-1", "009-1", "012-1", "017-1", "018-5", "020-1", "024-1", "025-2", "029-0";
+ setarray $@LOCMASTER_X, 43, 40, 26, 86, 119, 111, 56, 94, 108, 203;
+ setarray $@LOCMASTER_Y, 99, 49, 30, 69, 87, 53, 62, 42, 32, 85;
+
+ //debugmes "Locmaster: Index 0: %s [%s.gat (%d, %d)]", $@LOCMASTER_LOC$[0], $@LOCMASTER_MAP$[0], $@LOCMASTER_X[0], $@LOCMASTER_Y[0];
+ //debugmes "Locmaster: Index 2: %s [%s.gat (%d, %d)]", $@LOCMASTER_LOC$[2], $@LOCMASTER_MAP$[2], $@LOCMASTER_X[2], $@LOCMASTER_Y[2];
+ //debugmes "Locmaster: Index 5: %s [%s.gat (%d, %d)]", $@LOCMASTER_LOC$[5], $@LOCMASTER_MAP$[5], $@LOCMASTER_X[5], $@LOCMASTER_Y[5];
+ end;
+}
+
+// Resaves your respawn point
+function script ResaveRespawn {
+ .@i=array_find($@LOCMASTER_LOC$, LOCATION$);
+ savepoint $@LOCMASTER_MAP$[.@i], $@LOCMASTER_X[.@i], $@LOCMASTER_Y[.@i];
+ return;
+}
+
+// Warps you to last visited town
+function script ReturnTown {
+ .@i=array_find($@LOCMASTER_LOC$, LOCATION$);
+ warp $@LOCMASTER_MAP$[.@i], $@LOCMASTER_X[.@i], $@LOCMASTER_Y[.@i];
+ return;
+}
+
diff --git a/npc/config/magic.txt b/npc/config/magic.txt
new file mode 100644
index 0000000..ed6a8db
--- /dev/null
+++ b/npc/config/magic.txt
@@ -0,0 +1,558 @@
+// TMW2 script
+// Author: Jesusalva <admin@tmw2.org>
+//
+// Magic Script Core Functions
+//
+// Used for our pseudo-magic.
+// These are only helpers, you can add more restrictions and effects freely.
+// Important Variables:
+// MAGIC_EXP
+// Current mana magic experience
+// LAST_SKILL
+// Last Mana Skill used
+// MAGIC_LVL
+// Maximum tier of usable magic, capped by Mana Stone
+
+// AdjustSpellpower(power=100, {target=@skillTarget{, type=HARM_MAGI}})
+function script AdjustSpellpower {
+ .@power=getarg(0, 100);
+ .@target=getarg(1, @skillTarget);
+ .@type=getarg(2, HARM_MAGI);
+ .@src=getcharid(3);
+
+ // Prevents a possible glitch
+ if (.@target < 1 || .@target == getcharid(3))
+ .@target=0;
+
+ .@dmg=calcdmg(.@src, .@target, .@type);
+ // Calculation FIX
+ if (.@type == HARM_MAGI) {
+ .@dmg*=2;
+ .@power+=(readparam2(bInt)/2);
+ }
+ // Abizit Influence (80%~130% at best, worst shot at perfect ctrl is 105%)
+ .@dmg = .@dmg * (80 + abizit() * rand2(5,10)) / 100;
+ .@dmg = .@dmg * .@power / 100;
+ return .@dmg;
+}
+
+// An alias for simplification
+// AdjustAttackpower(power=100, {target=@skillTarget{, type=HARM_PHYS}})
+function script AdjustAttackpower {
+ .@power=getarg(0, 100);
+ .@target=getarg(1, @skillTarget);
+ .@type=getarg(2, HARM_PHYS);
+ return AdjustSpellpower(.@power, .@target, .@type);
+}
+
+
+// SkillID, EXP Points
+function script GetManaExp {
+ .@sk=getarg(0);
+ .@pt=getarg(1);
+ .@bonus=rand2(0,getskilllv(TMW2_SAGE)*3/2);
+ if (LAST_SKILL == .@sk) {
+ .@pt=limit(0, (.@pt+.@bonus)/3, 1);
+ .@bonus=0;
+ } else {
+ // Update skill memory
+ LAST_SKILL[4]=LAST_SKILL[3];
+ LAST_SKILL[3]=LAST_SKILL[2];
+ LAST_SKILL[2]=LAST_SKILL[1];
+ LAST_SKILL[1]=LAST_SKILL[0];
+ LAST_SKILL[0]=.@sk;
+ MAGIC_RP+=1;
+ // Magic RP is gained by switching skills often
+ }
+
+ // Update Magic EXP
+ MAGIC_EXP=MAGIC_EXP+.@pt+.@bonus;
+ callfunc "FYE_Olympics_MX", (.@pt + .@bonus);
+ return;
+}
+
+
+// DEPRECATED: Please do not use in newer scripts.
+// It is for Transmigration skill only (@sk-trans needs it)
+// SkillID, Mana{, MP per level}
+function script MagicCheck {
+ // PRE EXECUTION
+ // Load Variables
+ .@sk=getarg(0);
+ .@mp=getarg(1);
+ .@amp=getarg(2,0);
+
+ // Check Skill
+ if (getskilllv(.@sk) < 1)
+ return 0;
+
+ // Load mana cost
+ .@mp=.@mp+getskilllv(.@sk)*.@amp-.@amp;
+
+ // Check mana
+ if (readparam(Sp) < .@mp) {
+ dispbottom l("Insufficient mana: @@/@@.", readparam(Sp), .@mp);
+ return 0;
+ }
+
+ // Apply mana cost
+ heal 0, 0-.@mp;
+
+ return 1;
+}
+
+
+// SkillID, MobID{, SkillLevelPerMob=2{, Level Override}}
+function script SummonMagic {
+ .@sk=getarg(0);
+ .@id=getarg(1);
+ .@adj=getarg(2,2);
+ .@lv=getarg(3,getskilllv(.@sk));
+
+ if (.@adj < 1) {
+ consolewarn "\033[31mInvalid MobPerSkillLevel for SummonMagic (.@adj): "+.@adj+"\033[0m";
+ dispbottom l("Invalid parameter specified, blame saulc.");
+ end;
+ }
+
+ // Cause effect
+ // Summoned monsters live from 45 to 60 seconds, and each skill levels grants 10s extra life
+ // The 35~50 is not a defect, remember skill starts at level 1...
+ // PS. Abizit makes a variation from 80% to 130% of official values
+ for (.@i = 0; .@i < (.@lv+(.@adj-1))/.@adj; .@i++) {
+ .@lifetime=rand(35,50)+.@lv*10;
+ // Abizit makes lifetime vary (like AdjustSpellpower)
+ .@lifetime = .@lifetime * (80 + abizit() * rand2(5,10)) / 100;
+ if (isequippedcnt(AegisShield))
+ .@lifetime = .@lifetime * 5 / 2;
+ .@mids=summon("Summoned Monster", .@id, .@lifetime);
+ .@bhp=getunitdata(.@mids, UDT_MAXHP);
+ // Each skill level raises HP in 5%
+ .@lvx=.@bhp + max(0, (.@lv-1)*.@bhp/20);
+ // Abizit makes bonus HP vary (like AdjustSpellpower)
+ .@lvx = .@lvx * (80 + abizit() * rand2(5,10)) / 100;
+ setunitdata(.@mids, UDT_MAXHP, .@lvx);
+ setunitdata(.@mids, UDT_HP, .@lvx);
+ // Reconfigure monster modes
+ .@opt=getunitdata(.@mids, UDT_MODE);
+ // Disable looting
+ if (.@opt & MD_LOOTER)
+ .@opt=.@opt^MD_LOOTER;
+ // All summons can suffer knockback
+ if (.@opt & MD_NOKNOCKBACK)
+ .@opt=.@opt^MD_NOKNOCKBACK;
+ // Strip summons from BOSS mode and immunity
+ if (.@opt & MD_BOSS)
+ .@opt=.@opt^MD_BOSS;
+ // Save new options
+ setunitdata(.@mids, UDT_MODE, .@opt);
+ }
+ dispbottom l("All monsters summoned!");
+ return;
+}
+
+// areaharm(caster, range, DMG, {type, element, filter, bl})
+// Defaults to HARM_MISC, Ele_Neutral, filter filter_hostile and all BLs
+// Valid BL: BL_MOB | BL_PC | BL_HOM | BL_MER
+// Do not use: NPC, PET, ELEM
+// Range centers on caster (player), implement and use areaharm2 elsewhere
+function script areaharm {
+ .@t=getarg(0);
+ .@r=getarg(1);
+ .@d=getarg(2);
+ .@h=getarg(3, HARM_MISC);
+ .@e=getarg(4, Ele_Neutral);
+ .@f$=getarg(5, "filter_hostile");
+ .@b=getarg(6, BL_PC | BL_MOB | BL_MER | BL_HOM);
+
+ getmapxy(.@m$, .@x, .@y, getunittype(.@t), .@t);
+
+ .@c=getunits(.@b, .@mbs, false, .@m$, .@x-.@r, .@y-.@r, .@x+.@r, .@y+.@r);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ // Filtering
+ if (!callfunc(.@f$, .@mbs[.@i]))
+ continue;
+ harm(.@mbs[.@i], .@d, .@h, .@e, .@t);
+ specialeffect(FX_ATTACK, AREA, .@mbs[.@i]);
+ // TODO: Handle MobPt to don't overload timer system?
+ }
+ return;
+}
+
+
+// rectharm(caster, x, y, DMG, {type, element, filter, bl})
+// Same as areaharm() but causes a rectangle in (x,y) size, instead of a square
+function script rectharm {
+ .@t=getarg(0);
+ .@rx=getarg(1);
+ .@ry=getarg(2);
+ .@d=getarg(3);
+ .@h=getarg(4, HARM_MISC);
+ .@e=getarg(5, Ele_Neutral);
+ .@f$=getarg(6, "filter_hostile");
+ .@b=getarg(7, BL_PC | BL_MOB | BL_MER | BL_HOM);
+
+ getmapxy(.@m$, .@x, .@y, getunittype(.@t), .@t);
+
+ .@c=getunits(.@b, .@mbs, false, .@m$, .@x-.@rx, .@y-.@ry, .@x+.@rx, .@y+.@ry);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ // Filtering
+ if (!callfunc(.@f$, .@mbs[.@i]))
+ continue;
+ harm(.@mbs[.@i], .@d, .@h, .@e, .@t);
+ specialeffect(FX_ATTACK, AREA, .@mbs[.@i]);
+ // TODO: Handle MobPt to don't overload timer system?
+ }
+ return;
+}
+
+
+// mescordialog(text, color, {dialog=1})
+function script mescordialog {
+ if (getarg(2, true))
+ mesc getarg(0), getarg(1);
+ else
+ dispbottom col(getarg(0), getarg(1));
+ return;
+}
+
+// ShowAbizit({dialog=1})
+function script ShowAbizit {
+ .@dial=getarg(0, true);
+ if (.@dial)
+ mesn l("Current Magic Control");
+
+ .@val=MAGIC_EXP+rand(-MAGIC_LVL*5, MAGIC_LVL*5);
+ .@base=((MAGIC_LVL*2)**3);
+ if (.@val > .@base*5)
+ mescordialog l("You are perfectly in control of your magic."), 3, .@dial;
+ else if (.@val > .@base*4)
+ mescordialog l("You are mostly in control of your magic."), 2, .@dial;
+ else if (.@val > .@base*3)
+ mescordialog l("You are somewhat in control of your magic."), 4, .@dial;
+ else if (.@val > .@base*2)
+ mescordialog l("Your magic is more powerful than you, but you can control."), 7, .@dial;
+ else if (.@val > .@base)
+ mescordialog l("You still are overwhelmed by your magic."), 6, .@dial;
+ else
+ mescordialog l("You are completly overwhelmed by your magic."), 1, .@dial;
+ return;
+}
+
+
+// alignment_cansummon()
+function script alignment_cansummon {
+ if (alignment() < 0 && !isequippedcnt(AegisShield)) {
+ if (!@hatesummon) {
+ dispbottom l("Nature itself express hate against you!");
+ getmapxy(.@m$, .@x, .@y, 0);
+ // NOTE: .@mob is or may be undefined, so use EntAbomination
+ .@opo=monster(.@m$, .@x, .@y, "Failed summon", EntAbomination, 1);
+ unitattack(.@opo, getcharid(3));
+ setunitdata(.@opo, UDT_MAXHP, BaseLevel*140);
+ setunitdata(.@opo, UDT_HP, BaseLevel*140);
+ @hatesummon=true;
+ }
+ return false;
+ }
+ return true;
+}
+
+// SK_summon(ID, amount, mexp)
+function script SK_summon {
+ .@mob=getarg(0);
+ .@amt=getarg(1);
+ .@mex=getarg(2);
+ if ($@GM_OVERRIDE || debug) debugmes "Skill "+@skillId+" Lv "+@skillLv;
+
+ // Blocked from summoning magic
+ if (!alignment_cansummon())
+ return;
+
+ if (rand2(5) < abizit()) {
+ // Summon Magic (with magic level bonus)
+ SummonMagic(@skillId, .@mob, .@amt, MAGIC_LVL+@skillLv-1, @skillLv);
+ } else if (rand2(5) < abizit()) {
+ // Re-roll
+ dispbottom l("You cannot complete the casting correctly!");
+ SummonMagic(@skillId, .@mob, 1, 1, 1);
+ } else if (abizit() <= 1 && any(true, false, false)) {
+ // Spell overwhelms you, causing it to be spawned as aggro vs you. (33%)
+ dispbottom l("The spell takes a mind of its own backfires!");
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@opo=monster(.@m$, .@x, .@y, "Failed summon", .@mob, 1);
+ unitattack(.@opo, getcharid(3));
+ } else {
+ dispbottom l("The spell fails!");
+ }
+
+ // Get a single mana experience point (this is NOT used by Mana Stone)
+ GetManaExp(@skillId, .@mex);
+ return;
+}
+
+/////////////////////////////////////////
+// RegisterMagic(MSP, Skill, MaxLv, Item, Amount, Class, Cost, {PreReq, PostReq})
+function script RegisterMagic {
+ .@msp=getarg(0);
+ .@ski=getarg(1);
+ .@max=getarg(2);
+ .@ite=getarg(3);
+ .@amo=getarg(4);
+ .@cla=getarg(5);
+ .@cos=getarg(6);
+ .@pre=getarg(7, false);
+ .@pos=getarg(8, false);
+
+ $@MSK_MSPCOST[.@ski]=.@msp;
+ $@MSK_MAXLV[.@ski]=.@max;
+
+ $@MSK_ITEM[.@ski]=.@ite;
+ $@MSK_AMOUNT[.@ski]=.@amo;
+ $@MSK_COST[.@ski]=.@cos;
+
+ $@MSK_CLASS[.@ski]=.@cla;
+ $@MSK_PREREQ[.@ski]=.@pre;
+ $@MSK_POSTREQ[.@ski]=.@pos;
+
+ //array_push($@MSK_CLASS[.@cla], .@ski); // 3D Arrays are not supported
+ array_push($@MSK_MAGIC, .@ski);
+ return;
+}
+
+- script Magic Load NPC_HIDDEN,{
+OnInit:
+ // Cleanup in case of reload
+ deletearray($@MSK_MSPCOST);
+ deletearray($@MSK_MAXLV);
+
+ deletearray($@MSK_ITEM);
+ deletearray($@MSK_AMOUNT);
+ deletearray($@MSK_COST);
+
+ deletearray($@MSK_CLASS);
+ deletearray($@MSK_PREREQ);
+ deletearray($@MSK_POSTREQ);
+ /* RegisterMagic(MSP, Skill, MaxLv, Item, Amount,
+ Class, Cost, {PreReq, PostReq}) */
+
+ // Research Points (RP) range: 100~1000 [10k ~ 1M points]
+
+
+
+
+
+ //////////////////////// Scholarship
+ // Mana Wisdom
+ RegisterMagic(1, TMW2_SAGE, 5, SpellBookPage, 1,
+ CLASS_SCHOLARSHIP, 25);
+ // Accumulate Power
+ RegisterMagic(1, HW_MAGICPOWER, 5, SpellBookPage, 1,
+ CLASS_SCHOLARSHIP, 25);
+ // Chanting
+ RegisterMagic(1, TMW2_CHANT, 5, SpellBookPage, 1,
+ CLASS_SCHOLARSHIP, 25);
+ // Transfer Mana
+ RegisterMagic(1, TMW2_MPTRANSFER, 10, SpellBookPage, 1,
+ CLASS_SCHOLARSHIP, 5);
+
+ // Windwalker
+ RegisterMagic(2, SN_WINDWALK, 3, SpellBookPage, 1,
+ CLASS_SCHOLARSHIP, 25);
+ // Last Standing Man
+ RegisterMagic(2, CR_TRUST, 3, SpellBookPage, 1,
+ CLASS_SCHOLARSHIP, 30);
+
+ // Resurrection
+ RegisterMagic(3, TMW2_RESURRECT, 10, SpellBookPage, 1,
+ CLASS_SCHOLARSHIP, 125);
+
+ /* Skillchain */
+ // First Aid
+ RegisterMagic(1, TMW2_FIRSTAID, 10, SpellBookPage, 1,
+ CLASS_SCHOLARSHIP, 50, false, TMW2_HEALING);
+ // Healing
+ RegisterMagic(2, TMW2_HEALING, 10, SpellBookPage, 1,
+ CLASS_SCHOLARSHIP, 75, TMW2_FIRSTAID, TMW2_MAGNUSHEAL);
+ // Magnus Healing
+ RegisterMagic(3, TMW2_MAGNUSHEAL, 10, SpellBookPage, 1,
+ CLASS_SCHOLARSHIP, 125, TMW2_HEALING, false);
+
+
+ /* Skillchain */
+ // Provoke
+ RegisterMagic(1, SM_PROVOKE, 1, SpellBookPage, 1,
+ CLASS_SCHOLARSHIP, 25, false, EVOL_AREA_PROVOKE);
+ // Mass Provoke
+ RegisterMagic(2, EVOL_AREA_PROVOKE, 10, SpellBookPage, 1,
+ CLASS_SCHOLARSHIP, 30, SM_PROVOKE, false);
+
+
+
+
+
+
+
+ //////////////////////// Physical Sciences
+ // Ground Strike
+ RegisterMagic(2, TMW2_GROUNDSTRIKE, 3, FluoPowder, 3,
+ CLASS_PHYSICAL, 30);
+
+ /* Skillchain */
+ // Falkon Punch
+ RegisterMagic(1, TMW2_FALKONSTRIKE, 10, FluoPowder, 3,
+ CLASS_PHYSICAL, 25, false, TMW2_SUPREMEATTACK);
+ // Supreme Attack
+ RegisterMagic(1, TMW2_SUPREMEATTACK, 10, FluoPowder, 3,
+ CLASS_PHYSICAL, 25, TMW2_FALKONSTRIKE, KN_AUTOCOUNTER);
+ // Counter Attack
+ RegisterMagic(2, KN_AUTOCOUNTER, 5, FluoPowder, 3,
+ CLASS_PHYSICAL, 75, TMW2_SUPREMEATTACK, false);
+
+ /* Skillchain */
+ // Arrow Shower
+ RegisterMagic(3, TMW2_ARROWSHOWER, 10, FluoPowder, 3,
+ CLASS_PHYSICAL, 60, false, SN_SHARPSHOOTING);
+ // Sharpshooter
+ RegisterMagic(3, SN_SHARPSHOOTING, 1, FluoPowder, 3,
+ CLASS_PHYSICAL, 50, TMW2_ARROWSHOWER, false);
+
+
+
+
+
+
+
+ //////////////////////// Physical Sub Sciences
+ // Stunning Strike
+ RegisterMagic(1, TMW2_STUNNINGSTRIKE, 10, FluoPowder, 2,
+ CLASS_PHYSICAL, 25, false, false);
+
+ /* Skillchain */
+ // Brawling
+ RegisterMagic(1, TMW2_BRAWLING, 10, FluoPowder, 1,
+ CLASS_PHYSICAL, 18, false, TMW2_BEARSTRIKE);
+ // Bear Strike
+ RegisterMagic(2, TMW2_BEARSTRIKE, 10, FluoPowder, 2,
+ CLASS_PHYSICAL, 47, TMW2_BRAWLING, TMW2_ALLINONE);
+ // All In One
+ RegisterMagic(3, TMW2_ALLINONE, 10, FluoPowder, 3,
+ CLASS_PHYSICAL, 72, TMW2_BEARSTRIKE, false);
+
+
+
+
+
+
+
+ //////////////////////// Destructive Magic
+ // Fire Walk
+ RegisterMagic(2, SO_FIREWALK, 2, Quill, 1,
+ CLASS_DESTRUCTION, 75);
+
+ /* Skillchain */
+ // Fire Arrow
+ RegisterMagic(1, TMW2_FIREARROW, 10, Quill, 1,
+ CLASS_DESTRUCTION, 25, false, TMW2_FIREBALL);
+ // Fire Ball
+ RegisterMagic(2, TMW2_FIREBALL, 10, Quill, 2,
+ CLASS_DESTRUCTION, 50, TMW2_FIREARROW, TMW2_ARMAGEDDON);
+ // Armageddon
+ RegisterMagic(3, TMW2_ARMAGEDDON, 5, Quill, 3,
+ CLASS_DESTRUCTION, 75, TMW2_FIREBALL, false);
+
+ /* Skillchain */
+ // Napalm Beat
+ RegisterMagic(1, TMW2_NAPALMBEAT, 10, Quill, 1,
+ CLASS_DESTRUCTION, 25, false, TMW2_HOLYLIGHT);
+ // Holy Light
+ RegisterMagic(2, TMW2_HOLYLIGHT, 10, Quill, 2,
+ CLASS_DESTRUCTION, 50, TMW2_NAPALMBEAT, TMW2_JUDGMENT);
+ // Judgement
+ RegisterMagic(3, TMW2_JUDGMENT, 5, Quill, 3,
+ CLASS_DESTRUCTION, 75, TMW2_HOLYLIGHT, false);
+
+ /* Skillchain */
+ // Frost Diver
+ RegisterMagic(1, TMW2_FROSTDIVER, 10, Quill, 1,
+ CLASS_DESTRUCTION, 25, false, TMW2_FROSTNOVA);
+ // Frost Nova
+ RegisterMagic(2, TMW2_FROSTNOVA, 10, Quill, 2,
+ CLASS_DESTRUCTION, 50, TMW2_FROSTDIVER, TMW2_NILFHEIM);
+ // Nilfheim
+ RegisterMagic(3, TMW2_NILFHEIM, 5, Quill, 3,
+ CLASS_DESTRUCTION, 75, TMW2_FROSTNOVA, false);
+
+ /* Skillchain */
+ // Magic Strike
+ RegisterMagic(1, TMW2_MAGICSTRIKE, 10, Quill, 1,
+ CLASS_DESTRUCTION, 20, false, TMW2_LIGHTNINGBOLT);
+ // Lightning Bolt
+ RegisterMagic(2, TMW2_LIGHTNINGBOLT, 10, Quill, 2,
+ CLASS_DESTRUCTION, 45, TMW2_MAGICSTRIKE, TMW2_TEMPEST);
+ // Tempest
+ RegisterMagic(3, TMW2_TEMPEST, 5, Quill, 3,
+ CLASS_DESTRUCTION, 65, TMW2_LIGHTNINGBOLT, false);
+
+ /* Skillchain */
+ // Meteor Strike
+ RegisterMagic(1, TMW2_METEORSTRIKE, 10, Quill, 1,
+ CLASS_DESTRUCTION, 25, false, TMW2_METEORSHOWER);
+ // Meteor Shower
+ RegisterMagic(2, TMW2_METEORSHOWER, 10, Quill, 2,
+ CLASS_DESTRUCTION, 50, TMW2_METEORSTRIKE, TMW2_GAIABREAK);
+ // Gaia Break
+ RegisterMagic(3, TMW2_GAIABREAK, 5, Quill, 3,
+ CLASS_DESTRUCTION, 75, TMW2_METEORSHOWER, false);
+
+
+
+
+
+
+
+ //////////////////////// Trickmaster
+ /* RegisterMagic(MSP, Skill, MaxLv, Item, Amount,
+ Class, Cost, {PreReq, PostReq}) */
+ RegisterMagic(1, TMW2_MANABOMB, 10, SulfurPowder, 1,
+ CLASS_TRICKS, 20);
+ RegisterMagic(1, TF_BACKSLIDING, 1, Lockpicks, 1,
+ CLASS_TRICKS, 24);
+ RegisterMagic(1, MG_FIREWALL, 10, Lockpicks, 1,
+ CLASS_TRICKS, 25);
+ RegisterMagic(1, AC_VULTURE, 2, Lockpicks, 1,
+ CLASS_TRICKS, 250);
+ RegisterMagic(1, SA_FREECAST, 1, Lockpicks, 1,
+ CLASS_TRICKS, 25);
+ RegisterMagic(1, ALL_FULL_THROTTLE, 1, Lockpicks, 1,
+ CLASS_TRICKS, 25);
+ RegisterMagic(2, GC_DARKILLUSION, 3, Lockpicks, 1,
+ CLASS_TRICKS, 25);
+ RegisterMagic(2, NV_TRICKDEAD, 1, Lockpicks, 1,
+ CLASS_TRICKS, 25);
+
+
+
+
+
+
+
+ //////////////////////// Other: Summonning
+
+
+
+
+
+
+
+ //////////////////////// Other: Misc
+ // Charged Shot
+ RegisterMagic(0, TMW2_CHARGEDARROW, 10, Manapple, 1,
+ CLASS_OTHER, 25);
+ // Study
+ RegisterMagic(0, TMW2_STUDY, 1, Manapple, 1,
+ CLASS_OTHER, 400);
+
+ end;
+}
+
diff --git a/npc/config/traps.txt b/npc/config/traps.txt
new file mode 100644
index 0000000..1b43e5c
--- /dev/null
+++ b/npc/config/traps.txt
@@ -0,0 +1,82 @@
+// TMW2 Scripts
+// Author:
+// The Mana World Brazil
+// Jesusalva
+// Description:
+// Traps and other functions.
+
+// SteelTrap( {damage=80%}, {delay=15s}, {stun=3s}, {npcname=auto} )
+function script SteelTrap {
+ .@dmg=getarg(0, 80);
+ .@delay=getarg(1, 15);
+ .@stun=getarg(2, 3);
+ .@n$=getarg(3, strnpcinfo(0));
+
+ // It was disarmed
+ if (getnpctimer(0) == 0)
+ {
+ initnpctimer;
+ setnpcdisplay .@n$, NPC_TRAP_ONLINE;
+ return;
+ }
+
+ // Fire!!
+ setnpctimer 9000;
+ setnpcdisplay .@n$, NPC_TRAP_TRIGGERED;
+
+ // Boom - Hurt players and/or stun monsters
+ // This means you can - and SHOULD - lead Forains into these traps
+ if (playerattached())
+ {
+ percentheal -(.@dmg), 0;
+ }
+ else
+ {
+ .@stun*=1000;
+ sc_start SC_WALKSPEED,(.@delay*1000),60;
+ sc_start SC_STUN,rand(.@stun,.@stun*3),0;
+ }
+
+ // A minor special effect and we're done.
+ specialeffect 11;
+ return;
+}
+
+
+// Unlike SteelTrap, presents same behavior and absolute damage
+// IronTrap( {damage=100}, {delay=15s}, {stun=3s}, {npcname=auto} )
+function script IronTrap {
+ .@dmg=getarg(0, 100);
+ .@delay=getarg(1, 15);
+ .@stun=getarg(2, 3);
+ .@n$=getarg(3, strnpcinfo(0));
+
+ // It was disarmed
+ if (getnpctimer(0) == 0 && .@delay)
+ {
+ initnpctimer;
+ setnpcdisplay .@n$, NPC_TRAP_ONLINE;
+ return;
+ }
+
+ // Fire!!
+ setnpctimer 9000;
+ setnpcdisplay .@n$, NPC_TRAP_TRIGGERED;
+
+ // Boom - Hurt and Stun (only works on players and mobs)
+ .@stun*=1000;
+ sc_start SC_STUN, rand2(.@stun,.@stun*3), 0;
+ .@gid=(playerattached() ? playerattached() : mobattached());
+
+ // Just to be sure
+ if (.@gid)
+ harm(.@gid, .@dmg, HARM_MISC);
+ else
+ Exception("IronTrap \""+.@n$+"\" called without GID!", RB_DEBUGMES);
+
+ // A minor special effect and we're done.
+ specialeffect 11;
+ return;
+}
+
+
diff --git a/npc/craft/alchemy.txt b/npc/craft/alchemy.txt
new file mode 100644
index 0000000..ec26800
--- /dev/null
+++ b/npc/craft/alchemy.txt
@@ -0,0 +1,147 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Alchemy System (Player, Guild, NPC)
+// Notes:
+// Base for Evol MR
+
+// Usage: AlchemySystem ({scope})
+// Scopes: CRAFT_NPC, CRAFT_PLAYER, CRAFT_GUILD
+// If an invalid scope is passed, .knowledge won't be set but will be required
+// Returns true on success, false on failure
+function script AlchemySystem {
+ // Set .scope, .knowledge and .success
+ .scope=getarg(0, CRAFT_PLAYER);
+ if (.scope == CRAFT_PLAYER)
+ {
+ copyarray(.knowledge,RECIPES_ALCHEMY,getarraysize(RECIPES_ALCHEMY));
+ }
+ else if (.scope == CRAFT_GUILD)
+ {
+ copyarray( .knowledge,getd("$RECIPES_ALCHEMY_"+getcharid(2)),getarraysize(getd("$RECIPES_ALCHEMY_"+getcharid(2))) );
+ }
+ .success=false;
+
+ setskin "craft2";
+ .@var$ = requestcraft(2);
+ .@craft = initcraft(.@var$);
+ .@entry = findcraftentry(.@craft, CRAFT_ALCHEMY);
+ if (debug || $@GM_OVERRIDE) mes "found craft entry: " + .@entry;
+ if (debug || $@GM_OVERRIDE) mes "knowledge value: " + .knowledge[.@entry];
+ if (.@entry < 0) {
+ .success=false;
+ } else {
+ if (.scope == CRAFT_NPC || .knowledge[.@entry]) {
+ if (GSET_FIXED_ALCHEMY) {
+ .@m=limit(1, GSET_FIXED_ALCHEMY, 25);
+ } else {
+ .@max=(is_sponsor() ? 25 : 10);
+ mesc l("How many to brew? (%d-%d)", 1, .@max);
+ input(.@m, 1, .@max);
+ }
+ // Alchemy loop
+ .@i=0;
+ while (.@i < .@m) {
+ .@s=validatecraft(.@craft);
+ // Could not validate (not enough resources)
+ if (!.@s) {
+ mesc l("Not crafting - insufficient materials!"), 1;
+ break;
+ }
+ .@s=usecraft(.@craft);
+ .@i++;
+ callfunc "FYE_Olympics_AL";
+ // Exploiting?!
+ if (!.@s)
+ break;
+ }
+ .success=true;
+ } else {
+ .success=false;
+ }
+ }
+ deletecraft .@craft;
+ setskin "";
+ return .success;
+}
+
+/*
+Alchemy can rely in cross-building
+Where a weaker potion is base for a stronger one
+Standard Duration = 2 minutes ~ 5 minutes
+
+Reagents:
+ Water
+ ...Eggs?
+ ...Milk?
+ Nymph Poison
+ Death Potion
+ Manapple
+
+Products:
+ Tea (Chamomile, Spearmint, Oolong, Jasmine, Yerba Mate?)
+ → Argaes Water + «Herbal Reagent»
+OK Coffee (Shadow Herb + Tonori Water)
+OK Piberries Infusion (Piberries + Curshroom)
+OK Atropos Mixture (Lachesis Brew + Clotho Liquor)
+OK Death Potion (Dragonfruit + Nightshade Tea)
+OK Smoke Grenade (Cactus pot + Coal)
+OK Grenade (Cactus pot + Sulfur Powder)
+OK Scented Grenade (Cactus pot + Moss)
+OK Haste Potion (Plushshroom)
+OK Strength Potion (Chagashroom)
+ Return Potion (Hurnscald Recipe => Ocean Croc Claw + Hard Spike? Grass Seeds?)
+OK Status Reset (Curshroom + Mana Piou Feather)
+OK Homun Stat Reset (Curshroom + Manapple)
+OK Move Speed (Gem Powder + Fluor Powder)
+OK Precision (Piberries + Mt. Snake Egg)
+OK Dodge Potion (Piberries + Snake Egg)
+OK Luck, Dex, Int, Vit, Agi (Gems + Tea)
+OK Sacred Life (Golden Apple + Elixir of Life)
+OK Sacred Mana (Golden Apple + Celestia Tea)
+OK Sacred Revival (Sacred Life + Sacred Mana)
+OK Broken Warp Crystal? (Wurtizite + Black Mamba Skin)
+OK Magic Apple? (Divine Apple + Manapple? Death Potion? Sacred Life/Revival?)
+OK Purification Potion (Nymph Poison + Sacred Life)
+OK Iced Bottle (Tonori W. + Argaes W.)
+OK Insurance Contract (» Insurance?) (Quill + Reed Bundle)
+OK Insurance (Quill + Death Potion)
+ Mysterious Fruit? (Legendary)
+
+For all Scrolls: Quill + ? (depends on scroll itself)
+ » Summon Scrolls (Based on mob parts, 1× mob?)
+ → alignment_cansummon() + SummonMagic() or summon() directly
+ → Criteria between weak/strong version is alignment
+ → When aligned, scrolls always summon strongest ver
+ → Level must be equal or superior to strongest, tho
+ » Maggot/Giant Maggot: Bug Leg (Lv 40)
+ » CaveMaggot: Maggot Slime
+ » Green Dragon/Nightmare: Dragon Scales (Lv 105)
+ » Wolvern: Wolvern Pelt
+ » Moggun/Yeti: Frozen Yeti Tear (Lv 60)
+ » Terranite/T.Prot.: Terranite Ore (Lv 90)
+ » Magnus Heal (Lifestone)
+ » Area Provoke? → Scent grenade?
+ » Guild Skills?
+OK » ScrollAngelLightA ( + )
+OK » ScrollBattlePlansA ( + )
+OK » ScrollDefenseBlessA ( + )
+OK » ScrollCriticalFortuneA ( + )
+ → TODO: Kyrie Eleison (Absolute Shield)
+ → With self-stun, makes you a temporary wall?
+ → Maybe a item of Quill + LoF Coin for guild skills? (LoF Quill)
+
+ // Skills for Aegis Shield, all beyond maximum level
+ // Slimes, Snakes, Fairies, Darth Duck, Mr. Prickel
+ // PoisonS.Mushroom
+ // TODO: Lizards, (Black)Scorpions, Moonshroom, Black Mamba, Centaur
+ skill TMW2_HALHISS, 10;
+ skill TMW2_KALSPIKE, 9;
+ skill TMW2_LIMERIZER, 10;
+ skill TMW2_FAIRYKINGDOM, 9;
+ skill TMW2_DUCKY, 10;
+ skill TMW2_FAIRYEMPIRE, 10;
+
+*/
+
diff --git a/npc/craft/options.txt b/npc/craft/options.txt
new file mode 100644
index 0000000..1ab7203
--- /dev/null
+++ b/npc/craft/options.txt
@@ -0,0 +1,1198 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Item Option System
+// Notes:
+// Awarded for crafters and their own base skill tree system
+
+// Player knowledge structure
+// CRAFTSYS[ SKILL_SCOPE ] = SKILL_LV
+
+// Player craft skills selection:
+// CRAFTSYS_CURRENT
+
+// Generate() takes the scope and finds out the skills on the group
+// It'll fill the following variables:
+// @csys_attr → Available attributes
+// @csys_penalty → Penalty attribute array
+//
+// use getarraysize(@csys_attr) to know how many are there.
+// Players can active the bonus groups they want to use
+
+// csys_equip( )
+// Returns a bonus from equips (max: 1)
+function script csys_equip {
+ // Same as: isequippedcnt(BlacksmithAxe{, BlacksmithHelmet, etc.})
+ return (isequippedcnt(BlacksmithAxe, Monocle, DemureAxe));
+}
+
+// csys_Generate( cr_id{, preserve, override} )
+// Return average level
+function script csys_Generate {
+ .@gid=getarg(0);
+ if (!getarg(1, false)) {
+ deletearray(@csys_attr);
+ deletearray(@csys_penalty);
+ }
+ .@OVR=getarg(2, false);
+ //.@lvl=getd("CRAFTSYS["+.@gid+"]");
+ .@avg=0;
+ .@stk=0;
+
+ /////////////////////////////////////////////////////////////
+ // Basic tier
+ if (.@gid & CRGROUP_BASE) {
+ .@lvl=(.@OVR ? 100 : CRAFTSYS[CRGROUP_BASE]);
+ if (.@lvl >= 1) {
+ array_push(@csys_attr, VAR_STRAMOUNT);
+ array_push(@csys_attr, VAR_INTAMOUNT);
+ }
+ if (.@lvl >= 3) {
+ array_push(@csys_attr, VAR_DEXAMOUNT);
+ array_push(@csys_attr, VAR_MAXHPAMOUNT);
+ }
+ if (.@lvl >= 5) {
+ array_push(@csys_attr, VAR_AGIAMOUNT);
+ array_push(@csys_attr, VAR_MAXSPAMOUNT);
+ }
+ if (.@lvl >= 7) {
+ array_push(@csys_attr, VAR_LUKAMOUNT);
+ array_push(@csys_attr, VAR_VITAMOUNT);
+ }
+
+ if (rand2(60) < .@lv)
+ array_push(@csys_penalty, CLASS_DAMAGE_BOSS_TARGET);
+
+ // Update averages
+ .@avg+=.@lvl;
+ .@stk+=1;
+ }
+
+ /////////////////////////////////////////////////////////////
+ // First tier
+ if (.@gid & CRGROUP_ATK) {
+ .@lvl=(.@OVR ? 100 : CRAFTSYS[CRGROUP_ATK]);
+ if (.@lvl >= 1) {
+ array_push(@csys_attr, VAR_ATTPOWER);
+ array_push(@csys_attr, VAR_ATTMPOWER);
+ }
+ if (.@lvl >= 5) {
+ array_push(@csys_attr, VAR_MAGICATKPERCENT);
+ array_push(@csys_attr, VAR_ATKPERCENT);
+ }
+ array_push(@csys_penalty, VAR_VITAMOUNT);
+ array_push(@csys_penalty, VAR_MAXHPAMOUNT);
+
+ // Update averages
+ .@avg+=.@lvl;
+ .@stk+=1;
+ }
+ if (.@gid & CRGROUP_DEF) {
+ .@lvl=(.@OVR ? 100 : CRAFTSYS[CRGROUP_DEF]);
+ if (.@lvl >= 1) {
+ array_push(@csys_attr, VAR_ITEMDEFPOWER);
+ array_push(@csys_attr, VAR_MDEFPOWER);
+ }
+ if (.@lvl >= 5) {
+ array_push(@csys_attr, DAMAGE_CRI_USER);
+ array_push(@csys_attr, RANGE_ATTACK_DAMAGE_USER);
+ }
+ array_push(@csys_penalty, VAR_DEXAMOUNT);
+ array_push(@csys_penalty, VAR_INTAMOUNT);
+
+ // Update averages
+ .@avg+=.@lvl;
+ .@stk+=1;
+ }
+ if (.@gid & CRGROUP_ACC) {
+ .@lvl=(.@OVR ? 100 : CRAFTSYS[CRGROUP_ACC]);
+ if (.@lvl >= 1) {
+ array_push(@csys_attr, VAR_HITSUCCESSVALUE);
+ }
+ if (.@lvl >= 5) {
+ array_push(@csys_attr, VAR_CRITICALRATE);
+ }
+ if (.@lvl >= 10) {
+ array_push(@csys_attr, VAR_CRITICALSUCCESSVALUE);
+ }
+ array_push(@csys_penalty, VAR_LUKAMOUNT);
+ array_push(@csys_penalty, VAR_MDEFPOWER);
+ array_push(@csys_penalty, VAR_ITEMDEFPOWER);
+
+ // Update averages
+ .@avg+=.@lvl;
+ .@stk+=1;
+ }
+ if (.@gid & CRGROUP_EVD) {
+ .@lvl=(.@OVR ? 100 : CRAFTSYS[CRGROUP_EVD]);
+ if (.@lvl >= 1) {
+ array_push(@csys_attr, VAR_AVOIDSUCCESSVALUE);
+ }
+ if (.@lvl >= 5) {
+ array_push(@csys_attr, VAR_PLUSAVOIDSUCCESSVALUE);
+ }
+ array_push(@csys_penalty, VAR_ATTPOWER);
+ array_push(@csys_penalty, VAR_ATTMPOWER);
+ array_push(@csys_penalty, IOPT_CRITDMG);
+
+ // Update averages
+ .@avg+=.@lvl;
+ .@stk+=1;
+ }
+
+ /////////////////////////////////////////////////////////////
+ // Second tier
+ if (.@gid & CRGROUP_REGEN) {
+ .@lvl=(.@OVR ? 100 : CRAFTSYS[CRGROUP_REGEN]);
+ if (.@lvl >= 1) {
+ array_push(@csys_attr, VAR_HPACCELERATION);
+ }
+ if (.@lvl >= 5) {
+ array_push(@csys_attr, VAR_SPACCELERATION);
+ }
+ array_push(@csys_penalty, VAR_PLUSASPD);
+
+ // Update averages
+ .@avg+=.@lvl;
+ .@stk+=1;
+ }
+ if (.@gid & CRGROUP_SPEED) {
+ .@lvl=(.@OVR ? 100 : CRAFTSYS[CRGROUP_SPEED]);
+ if (.@lvl >= 1) {
+ array_push(@csys_attr, VAR_PLUSASPD);
+ }
+ if (.@lvl >= 3) {
+ array_push(@csys_attr, VAR_PLUSASPDPERCENT);
+ }
+ if (.@lvl >= 5) {
+ array_push(@csys_attr, IOPT_WALKSPEED);
+ }
+ array_push(@csys_penalty, VAR_MAXSPAMOUNT);
+
+ // Update averages
+ .@avg+=.@lvl;
+ .@stk+=1;
+ }
+ if (.@gid & CRGROUP_DOUBLE) {
+ .@lvl=(.@OVR ? 100 : CRAFTSYS[CRGROUP_DOUBLE]);
+ if (.@lvl >= 1) {
+ array_push(@csys_attr, IOPT_CRITDMG);
+ }
+ if (.@lvl >= 5) {
+ array_push(@csys_attr, IOPT_DOUBLEATTACK);
+ }
+ array_push(@csys_penalty, RANGE_ATTACK_DAMAGE_USER);
+
+ // Update averages
+ .@avg+=.@lvl;
+ .@stk+=1;
+ }
+ if (.@gid & CRGROUP_MAXPC) {
+ .@lvl=(.@OVR ? 100 : CRAFTSYS[CRGROUP_MAXPC]);
+ if (.@lvl >= 1) {
+ array_push(@csys_attr, VAR_MAXHPPERCENT);
+ array_push(@csys_attr, VAR_MAXSPPERCENT);
+ }
+ if (.@lvl >= 5) {
+ array_push(@csys_attr, CLASS_DAMAGE_BOSS_USER);
+ }
+ array_push(@csys_penalty, DAMAGE_CRI_USER);
+
+ // Update averages
+ .@avg+=.@lvl;
+ .@stk+=1;
+ }
+
+ /////////////////////////////////////////////////////////////
+ // Third tier
+ if (.@gid & CRGROUP_SCRESIST) {
+ .@lvl=(.@OVR ? 100 : CRAFTSYS[CRGROUP_SCRESIST]);
+ if (.@lvl >= 1) {
+ array_push(@csys_attr, IOPT_SCRESIST_POISON);
+ }
+ if (.@lvl >= 2) {
+ array_push(@csys_attr, IOPT_SCRESIST_SILENCE);
+ }
+ if (.@lvl >= 3) {
+ array_push(@csys_attr, IOPT_SCRESIST_BLIND);
+ }
+ if (.@lvl >= 4) {
+ array_push(@csys_attr, IOPT_SCRESIST_CURSE);
+ }
+ array_push(@csys_penalty, VAR_CRITICALSUCCESSVALUE);
+ array_push(@csys_penalty, IOPT_CRITDMG);
+
+ // Update averages
+ .@avg+=.@lvl;
+ .@stk+=1;
+ }
+ if (.@gid & CRGROUP_SCINFLICT) {
+ .@lvl=(.@OVR ? 100 : CRAFTSYS[CRGROUP_SCINFLICT]);
+ if (.@lvl >= 1) {
+ array_push(@csys_attr, IOPT_SCPROVOKE_POISON);
+ }
+ if (.@lvl >= 2) {
+ array_push(@csys_attr, IOPT_SCPROVOKE_SILENCE);
+ }
+ if (.@lvl >= 3) {
+ array_push(@csys_attr, IOPT_SCPROVOKE_BLIND);
+ }
+ if (.@lvl >= 4) {
+ array_push(@csys_attr, IOPT_SCPROVOKE_CURSE);
+ }
+ array_push(@csys_penalty, IOPT_SCRESIST_POISON);
+ array_push(@csys_penalty, IOPT_SCRESIST_SILENCE);
+ array_push(@csys_penalty, IOPT_SCRESIST_BLIND);
+ array_push(@csys_penalty, IOPT_SCRESIST_CURSE);
+ array_push(@csys_penalty, VAR_MAXHPAMOUNT);
+
+ // Update averages
+ .@avg+=.@lvl;
+ .@stk+=1;
+ }
+ if (.@gid & CRGROUP_MANAUSE) {
+ .@lvl=(.@OVR ? 100 : CRAFTSYS[CRGROUP_MANAUSE]);
+ if (.@lvl >= 1) {
+ array_push(@csys_attr, SP_DRAIN);
+ }
+ if (.@lvl >= 5) {
+ array_push(@csys_attr, DEC_SP_CONSUMPTION);
+ }
+ array_push(@csys_penalty, VAR_ATTPOWER);
+ array_push(@csys_penalty, VAR_ITEMDEFPOWER);
+
+ // Update averages
+ .@avg+=.@lvl;
+ .@stk+=1;
+ }
+ if (.@gid & CRGROUP_BOSSATK) {
+ .@lvl=(.@OVR ? 100 : CRAFTSYS[CRGROUP_BOSSATK]);
+ if (.@lvl >= 1) {
+ array_push(@csys_attr, HP_DRAIN);
+ }
+ if (.@lvl >= 5) {
+ array_push(@csys_attr, CLASS_DAMAGE_BOSS_TARGET);
+ }
+ array_push(@csys_penalty, VAR_AVOIDSUCCESSVALUE);
+ array_push(@csys_penalty, VAR_PLUSAVOIDSUCCESSVALUE);
+
+ // Update averages
+ .@avg+=.@lvl;
+ .@stk+=1;
+ }
+
+ /////////////////////////////////////////////////////////////
+ // Final tier (needs minimum lv 3)
+ if (.@gid & CRGROUP_FINAL) {
+ .@lvl=(.@OVR ? 100 : CRAFTSYS[CRGROUP_FINAL]);
+ if (.@lvl >= 1) {
+ array_push(@csys_attr, IOPT_EXPGAIN);
+ }
+ if (.@lvl >= 3) {
+ array_push(@csys_attr, IOPT_RICHNESS);
+ }
+ if (.@lvl >= 5) {
+ array_push(@csys_attr, IOPT_SPLASHDAMAGE);
+ }
+ array_push(@csys_penalty, IOPT_WALKSPEED);
+
+ // Update averages
+ .@avg+=.@lvl;
+ .@stk+=1;
+ }
+
+ ///////////////////////////////
+ // Return the average level
+ if (!.@stk)
+ return 0;
+ return (.@avg/.@stk);
+}
+
+// Confirms if player really wants to tweak a craft.
+// Do not cast after new crafts. Returns false to stop script.
+// csys_Confirm( invindex )
+function script csys_Confirm {
+ .@id=getarg(0);
+
+ // Sanitize input
+ if (.@id < 0)
+ return false;
+
+ // *getequipisenableopt(<equipment slot>) → cannot use here
+ // Not an equipment
+ if (!getiteminfo(.@id, ITEMINFO_LOC))
+ return false;
+
+ mesc l("Really try to tweak this item? All current options will be deleted.");
+ mesc l("NOTE: You're tweaking a(n): @@", getinvindexlink(.@id));
+ next;
+ if (askyesno() == ASK_NO)
+ return false;
+
+ return true;
+}
+
+// Check if you'll have success in applying options or not
+// Returns true if you was successful, and also cleans previous options
+// If you only want cleaning, just disregard the output.
+// csys_Check( invindex{, base} )
+function script csys_Check {
+ .@id=getarg(0);
+ .@base=getarg(1, 40000);
+
+ // Clear all five options
+ setitemoptionbyindex(.@id, 0, 0, 0);
+ setitemoptionbyindex(.@id, 1, 0, 0);
+ setitemoptionbyindex(.@id, 2, 0, 0);
+ setitemoptionbyindex(.@id, 3, 0, 0);
+ setitemoptionbyindex(.@id, 4, 0, 0);
+
+ // Base Success Rate is: 40% + 5% each craft skill level
+ .@base+=(getskilllv(TMW2_CRAFT)*500);
+
+ // Bonus from equips: 4% each
+ .@base+=csys_equip()*400;
+
+ // Make the roll
+ if (rand(10000) < .@base)
+ return true;
+ return false;
+}
+
+// csys_Multiplier( cr_id )
+// Returns a multiplier for bonus (it can be zero)
+function script csys_Multiplier {
+ .@sk=getarg(0);
+ switch (.@sk) {
+ case IOPT_SPLASHDAMAGE:
+ return 0;
+ case IOPT_WALKSPEED:
+ case IOPT_RICHNESS:
+ return 2;
+ case VAR_STRAMOUNT:
+ case VAR_AGIAMOUNT:
+ case VAR_INTAMOUNT:
+ case VAR_DEXAMOUNT:
+ case VAR_LUKAMOUNT:
+ case VAR_CRITICALSUCCESSVALUE:
+ return 4;
+ case VAR_MAXHPPERCENT:
+ case VAR_MAXSPPERCENT:
+ case VAR_VITAMOUNT:
+ case HP_DRAIN:
+ case SP_DRAIN:
+ case IOPT_DOUBLEATTACK:
+ case VAR_PLUSAVOIDSUCCESSVALUE:
+ case IOPT_EXPGAIN:
+ case VAR_CRITICALRATE:
+ case DEC_SP_CONSUMPTION:
+ case VAR_PLUSASPDPERCENT:
+ case VAR_MAGICATKPERCENT:
+ case VAR_ATKPERCENT:
+ return 5;
+ case IOPT_SCRESIST_POISON:
+ case IOPT_SCRESIST_SILENCE:
+ case IOPT_SCRESIST_CURSE:
+ case IOPT_SCRESIST_BLIND:
+ return 15;
+ case VAR_MAXSPAMOUNT:
+ return 25;
+ case VAR_MAXHPAMOUNT:
+ return 35;
+ default:
+ return 10;
+ }
+ return 0;
+}
+
+// Remove problematic bonuses from armors
+// Use getiteminfo before
+// csys_ArmorFix( item{, perfect=False} )
+function script csys_ArmorFix {
+ // Rare bonus
+ if (rand2(100) >= 5 && !getarg(1, false))
+ array_remove(@csys_attr, IOPT_SPLASHDAMAGE);
+
+ // Sublevel
+ if (getiteminfo(getarg(0), ITEMINFO_ELV) < 20) {
+ array_remove(@csys_attr, IOPT_SPLASHDAMAGE);
+ array_remove(@csys_attr, IOPT_CRITDMG);
+ }
+
+ // Remove bonuses
+ array_remove(@csys_attr, IOPT_WALKSPEED);
+ array_remove(@csys_attr, HP_DRAIN);
+ array_remove(@csys_attr, SP_DRAIN);
+ array_remove(@csys_attr, IOPT_DOUBLEATTACK);
+ array_remove(@csys_attr, VAR_CRITICALSUCCESSVALUE);
+ // VAR_PLUSASPDPERCENT and VAR_PLUSASPD ?
+ // Remove penalties
+ array_remove(@csys_penalty, VAR_ITEMDEFPOWER);
+ array_remove(@csys_penalty, VAR_MDEFPOWER);
+
+ // If the options were wiped, add a random one
+ if (getarraysize(@csys_attr) == 0)
+ array_push(@csys_attr, VAR_MAXHPAMOUNT);
+
+ // Save for csys_BonusCalc
+ @csysArmor=CSYS_ARMOR;
+
+ // Shields
+ if (getiteminfo(getarg(0), ITEMINFO_LOC) == EQP_HAND_L)
+ @csysArmor=@csysArmor|CSYS_SHIELD;
+
+ // Aegis Shield is special and is not classified as armor
+ if (compare("aegis shield", strtolower(getitemname(getarg(0)))))
+ @csysArmor=@csysArmor^CSYS_ARMOR;
+
+ // Special sets
+ if (compare("savior", strtolower(getitemname(getarg(0)))))
+ @csysArmor=@csysArmor|CSYS_SAVIOR;
+
+ // Legendary Weapons, this formula is hardcoded in C
+ if (is_between(3600, 3610, getarg(0)))
+ @csysArmor=@csysArmor|CSYS_LEGENDARY;
+ return;
+}
+
+// Update problematic bonuses for weapons
+// Use getiteminfo before
+// csys_WeaponFix( {item} )
+function script csys_WeaponFix {
+ .@sub=getiteminfo(getarg(0,Acorn), ITEMINFO_SUBTYPE);
+ @csysArmor=0;
+
+ // Remove the defense options
+ array_remove(@csys_attr, VAR_ITEMDEFPOWER);
+ array_remove(@csys_attr, VAR_MDEFPOWER);
+
+ // If the options were wiped, add a random one
+ if (getarraysize(@csys_attr) == 0)
+ array_push(@csys_attr, VAR_MAXHPAMOUNT);
+
+ // Weapon Subtype
+ if (.@sub == W_FIST || .@sub == W_KNUCKLE)
+ @csysArmor=@csysArmor|CSYS_BRAWLING;
+ else if (.@sub == W_2HSWORD || .@sub == W_2HSPEAR ||
+ .@sub == W_2HAXE || .@sub == W_2HMACE ||
+ .@sub == W_2HSTAFF)
+ @csysArmor=@csysArmor|CSYS_ZWEIHANDER;
+ else if (.@sub == W_BOW || .@sub == W_REVOLVER ||
+ .@sub == W_RIFLE || .@sub == W_GATLING ||
+ .@sub == W_SHOTGUN || .@sub == W_GRENADE)
+ @csysArmor=@csysArmor|CSYS_RANGED;
+ else if (.@sub == W_STAFF || .@sub == W_BOOK)
+ @csysArmor=@csysArmor|CSYS_MAGICAL;
+ else if (.@sub == W_KATAR)
+ @csysArmor=@csysArmor|CSYS_SPECIAL;
+ else
+ @csysArmor=@csysArmor|CSYS_OTHER;
+
+ // Special sets
+ if (compare("savior", strtolower(getitemname(getarg(0)))))
+ @csysArmor=@csysArmor|CSYS_SAVIOR;
+
+ // Legendary Weapons, this formula is hardcoded in C
+ if (is_between(3600, 3610, getarg(0)))
+ @csysArmor=@csysArmor|CSYS_LEGENDARY;
+
+ // Lightbringer have even higher bonuses
+ if (getarg(0) == Lightbringer)
+ @csysArmor=@csysArmor|CSYS_SAVIOR;
+
+ return;
+}
+
+// csys_BonusCalc( lv1, lv2, vartp{, equip lvl, skip=false} )
+// Calculates the due bonus
+function script csys_BonusCalc {
+ .@craft=getarg(0);
+ .@skill=getarg(1);
+ .@var=getarg(2);
+ .@eqlv=getarg(3, 0);
+ .@skip=getarg(4, false);
+
+ .@mult=csys_Multiplier(.@var);
+ .@avmult=(.@craft+.@skill)*.@mult;
+
+ .@avg=.@avmult/10;
+ // Equip Level Cap
+ if (!(@csysArmor & CSYS_LEGENDARY))
+ .@avg=.@avg*(5+min(5, .@eqlv/20))/10;
+ // Roll or no roll
+ if (!.@skip) {
+ .@base=rand2(1, .@avg+1);
+
+ // Re-roll if you got a too bad result:
+ // Each equip level will yield 0.2% reroll
+ // Means a lv 100 equip gets 20% of grace-reroll.
+ // By default, this rule is skipped for maluses!
+ if (.@base < (.@avg+1)*.@eqlv/500)
+ .@base=rand2(1, .@avg+1);
+
+ // If you are in the upper 70%, we do a re-roll
+ // It usually will lower the result, but is up to luck
+ if (.@base >= (.@avg+1)*7/10)
+ .@base=rand2(1, .@avg+1);
+
+ // Bonus grace reroll if crafting is maxed at 10 (SCRIPT only)
+ if (.@craft >= 10 && .@base < (.@avg+1)*.@eqlv/500) {
+ .@base=rand2(1, .@avg+1);
+ }
+ } else {
+ .@base=rand2(max(1, .@avg*8/10), .@avg+1);
+ }
+
+ ////////////////////////////////////
+ // Legendary Weapon? Effects +50%
+ if (@csysArmor & CSYS_LEGENDARY)
+ .@base=max(1, .@base*3/2);
+
+ // Savior Set? Effects +20%
+ if (@csysArmor & CSYS_SAVIOR)
+ .@base=max(1, .@base*6/5);
+
+ ////////////////////////////////////
+ // Normal Attack for 2H?
+ if (.@var == VAR_ATTPOWER || .@var == VAR_ATKPERCENT) {
+ // Two Hands/Bows: +50%
+ if ((@csysArmor & CSYS_ZWEIHANDER) || (@csysArmor & CSYS_RANGED))
+ .@base=max(1, .@base*3/2);
+ // Brawling: +40%
+ else if (@csysArmor & CSYS_BRAWLING)
+ .@base=max(1, .@base*7/5);
+ }
+
+ // Similar rule but for MATK and Wands
+ if (.@var == VAR_MAGICATKPERCENT || .@var == VAR_ATTMPOWER) {
+ // Magical: +50%
+ if (@csysArmor & CSYS_MAGICAL)
+ .@base=max(1, .@base*3/2);
+ // Brawling: +25%
+ else if (@csysArmor & CSYS_BRAWLING)
+ .@base=max(1, .@base*5/4);
+ }
+
+ ////////////////////////////////////
+ // Armor? Cap it to 25%
+ if (@csysArmor & CSYS_ARMOR)
+ .@base=max(1, .@base/4);
+
+ // HP/DEF/MDEF for shields? Revert the cap and round it
+ if (.@var == VAR_ITEMDEFPOWER || .@var == VAR_MAXHPAMOUNT ||
+ .@var == VAR_MDEFPOWER) {
+ if (@csysArmor & CSYS_SHIELD)
+ .@base*=4;
+ }
+ return .@base;
+
+}
+
+// Attribute item options
+// Does NOT performs success chance check, and can be used by NPC
+// csys_Apply( invindex{, lvl, scope} )
+function script csys_Apply {
+ .@id=getarg(0);
+ .@lv=getarg(1, getskilllv(TMW2_CRAFT))+csys_equip();
+ .@sc=getarg(2, CRAFTSYS_CURRENT);
+
+ .@lv2=csys_Generate(.@sc);
+ // @csys_attr → Available attributes
+ // @csys_penalty → Penalty attribute array
+
+ // Remove weapon-only bonuses if it is armor
+ delinventorylist();
+ getinventorylist();
+ .@itemid=@inventorylist_id[.@id];
+ if (getiteminfo(.@itemid, ITEMINFO_TYPE) != IT_WEAPON)
+ csys_ArmorFix(.@itemid);
+ else
+ csys_WeaponFix(.@itemid);
+ .@eqplv=getiteminfo(.@itemid, ITEMINFO_ELV);
+
+ // Shuffle the arrays
+ array_shuffle(@csys_attr);
+ array_shuffle(@csys_penalty);
+
+ // How many bonuses we'll have? Never more than 3 bonus and 2 onus.
+ .@max_attr=getarraysize(@csys_attr);
+ .@max_pena=getarraysize(@csys_penalty);
+
+ if ($@GM_OVERRIDE)
+ debugmes "We have %d attributes and %d penalties",
+ .@max_attr, .@max_pena;
+
+ .@slot=0;
+ while (.@slot < min(3, .@max_attr)) {
+ // You have 100% for first bonus, -45% each, depending on skill lv
+ .@base=4500-(.@lv*75);
+ if (rand(10000) > 10000-(.@base*.@slot))
+ break;
+
+ // Apply a bonus using array_pop (it was shuffled so we're fine)
+ .@vartp=array_pop(@csys_attr);
+ .@bonus=csys_BonusCalc(.@lv, .@lv2, .@vartp, .@eqplv);
+ setitemoptionbyindex(.@id, .@slot, .@vartp, .@bonus);
+ //debugmes "Bonus applied: %d at %d (slot: %d)", .@vartp, .@bonus, .@slot;
+ .@slot+=1;
+ }
+
+ // You have 102% chance of a malus, skill and equips lower it in 0.5% each
+ .@base=10200-(.@lv*50);
+ if (rand(10000) < .@base && .@max_pena) {
+ // Apply a malus using array_pop (it was shuffled so we're fine)
+ .@vartp=array_pop(@csys_penalty);
+ .@malus=csys_BonusCalc(.@lv, .@lv2, .@vartp); // .@eqplv ?
+ .@malus=.@malus*70/100;
+ if (.@vartp > 0 && .@malus > 0)
+ setitemoptionbyindex(.@id, .@slot, .@vartp, -(.@malus));
+ .@slot+=1;
+ }
+
+ // The options have been attributed, clear temporary variables
+ @csysArmor=false;
+ return;
+}
+
+// Attribute perfect item options
+// For Fortress Island only
+// csys_ApplyPerfect( invindex, lvl{, scope} )
+function script csys_ApplyPerfect {
+ .@id=getarg(0);
+ .@lv=getarg(1);
+ .@sc=getarg(2, CRAFTSYS_CURRENT);
+
+ // Generate lists, disregarding level
+ csys_Generate(.@sc, false, true);
+ // @csys_attr → Available attributes
+ // @csys_penalty → Penalty attribute array
+
+ // Remove weapon-only bonuses if it is armor
+ delinventorylist();
+ getinventorylist();
+ .@itemid=@inventorylist_id[.@id];
+ if (getiteminfo(.@itemid, ITEMINFO_TYPE) != IT_WEAPON)
+ csys_ArmorFix(.@itemid, (rand2(.@lv/10) != 0));
+ else
+ csys_WeaponFix(.@itemid);
+ .@eqplv=getiteminfo(.@itemid, ITEMINFO_ELV);
+
+ // Shuffle the arrays
+ array_shuffle(@csys_attr);
+ array_shuffle(@csys_penalty);
+
+ // How many bonuses we'll have? Never more than 3 bonus and 2 onus.
+ .@max_attr=getarraysize(@csys_attr);
+ .@max_pena=getarraysize(@csys_penalty);
+
+ if ($@GM_OVERRIDE)
+ debugmes "ApplyPerfect: We have %d attributes and %d penalties",
+ .@max_attr, .@max_pena;
+
+ .@slot=0;
+ while (.@slot < min(3, .@max_attr)) {
+ // Apply a bonus using array_pop (it was shuffled so we're fine)
+ .@vartp=array_pop(@csys_attr);
+ .@bonus=csys_BonusCalc(0, .@lv, .@vartp, .@eqplv, true);
+ setitemoptionbyindex(.@id, .@slot, .@vartp, .@bonus);
+ //debugmes "Bonus applied: %d at %d (slot: %d)", .@vartp, .@bonus, .@slot;
+ .@slot+=1;
+ }
+
+ if (.@max_pena) {
+ // Apply a malus using array_pop (it was shuffled so we're fine)
+ .@vartp=array_pop(@csys_penalty);
+ .@malus=csys_BonusCalc(0, .@lv, .@vartp, .@eqplv, true);
+ .@malus=.@malus*70/100;
+ if (.@vartp > 0 && .@malus > 0)
+ setitemoptionbyindex(.@id, .@slot, .@vartp, -(.@malus));
+ .@slot+=1;
+ }
+
+ // The options have been attributed, clear temporary variables
+ @csysArmor=false;
+ return;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+////////////////////////////////////////
+/////////////////
+///////
+// Interface System for Options Craft
+
+function script csys_ttlgrouptoit {
+ .@cr=getarg(0);
+ switch (.@cr) {
+ case CRGROUP_BASE:
+ return CRITEM_BASE;
+ case CRGROUP_ATK:
+ return CRITEM_ATK;
+ case CRGROUP_DEF:
+ return CRITEM_DEF;
+ case CRGROUP_ACC:
+ return CRITEM_ACC;
+ case CRGROUP_EVD:
+ return CRITEM_EVD;
+ case CRGROUP_REGEN:
+ return CRITEM_REGEN;
+ case CRGROUP_SPEED:
+ return CRITEM_SPEED;
+ case CRGROUP_DOUBLE:
+ return CRITEM_DOUBLE;
+ case CRGROUP_MAXPC:
+ return CRITEM_MAXPC;
+ case CRGROUP_SCRESIST:
+ return CRITEM_SCRESIST;
+ case CRGROUP_SCINFLICT:
+ return CRITEM_SCINFLICT;
+ case CRGROUP_MANAUSE:
+ return CRITEM_MANAUSE;
+ case CRGROUP_BOSSATK:
+ return CRITEM_BOSSATK;
+ case CRGROUP_FINAL:
+ return CRITEM_FINAL;
+ }
+ return Bread;
+}
+
+function script csys_ISON {
+ .@cr=getarg(0);
+ .@it=csys_ttlgrouptoit(.@cr);
+ if (CRAFTSYS_CURRENT & .@cr)
+ return "%%E"+getitemlink(.@it);
+ else
+ return getitemlink(.@it);
+}
+
+// csysGUI_Report( {silent} )
+// Report craft skill levels
+function script csysGUI_Report {
+
+ mes l("Crafting Skill: Lv @@", getskilllv(TMW2_CRAFT));
+
+ if (!getarg(0, false)) {
+ if (getskilllv(TMW2_CRAFT) >= 1) {
+ mes "";
+ mes ".:: " + l("Base Tier") + " ::.";
+ mes "";
+ mes l("@@: Lv @@", csys_ISON(CRGROUP_BASE), CRAFTSYS[CRGROUP_BASE]);
+ } else {
+ mes "";
+ mes ".:: " + l("Base Tier") + " ::.";
+ mes "";
+ mesc l("Reach level @@ to unlock this tier!", 1), 1;
+ }
+
+ if (getskilllv(TMW2_CRAFT) >= 2) {
+ mes "";
+ mes ".:: " + l("First Tier") + " ::.";
+ mes "";
+ mes l("@@: Lv @@", csys_ISON(CRGROUP_ATK), CRAFTSYS[CRGROUP_ATK]);
+ mes "";
+ mes l("@@: Lv @@", csys_ISON(CRGROUP_DEF), CRAFTSYS[CRGROUP_DEF]);
+ mes "";
+ mes l("@@: Lv @@", csys_ISON(CRGROUP_ACC), CRAFTSYS[CRGROUP_ACC]);
+ mes "";
+ mes l("@@: Lv @@", csys_ISON(CRGROUP_EVD), CRAFTSYS[CRGROUP_EVD]);
+ next;
+ } else {
+ mes "";
+ mes ".:: " + l("First Tier") + " ::.";
+ mes "";
+ mesc l("Reach level @@ to unlock this tier!", 2), 1;
+ }
+
+ if (getskilllv(TMW2_CRAFT) >= 3) {
+ mes "";
+ mes ".:: " + l("Second Tier") + " ::.";
+ mes "";
+ mes l("@@: Lv @@", csys_ISON(CRGROUP_REGEN), CRAFTSYS[CRGROUP_REGEN]);
+ mes "";
+ mes l("@@: Lv @@", csys_ISON(CRGROUP_SPEED), CRAFTSYS[CRGROUP_SPEED]);
+ mes "";
+ mes l("@@: Lv @@", csys_ISON(CRGROUP_DOUBLE), CRAFTSYS[CRGROUP_DOUBLE]);
+ mes "";
+ mes l("@@: Lv @@", csys_ISON(CRGROUP_MAXPC), CRAFTSYS[CRGROUP_MAXPC]);
+ } else {
+ mes "";
+ mes ".:: " + l("Second Tier") + " ::.";
+ mes "";
+ mesc l("Reach level @@ to unlock this tier!", 3), 1;
+ next;
+ }
+
+
+ if (getskilllv(TMW2_CRAFT) >= 4) {
+ mes "";
+ mes ".:: " + l("Third Tier") + " ::.";
+ mes "";
+ mes l("@@: Lv @@", csys_ISON(CRGROUP_SCRESIST), CRAFTSYS[CRGROUP_SCRESIST]);
+ mes "";
+ mes l("@@: Lv @@", csys_ISON(CRGROUP_SCINFLICT), CRAFTSYS[CRGROUP_SCINFLICT]);
+ mes "";
+ mes l("@@: Lv @@", csys_ISON(CRGROUP_MANAUSE), CRAFTSYS[CRGROUP_MANAUSE]);
+ mes "";
+ mes l("@@: Lv @@", csys_ISON(CRGROUP_BOSSATK), CRAFTSYS[CRGROUP_BOSSATK]);
+ next;
+ } else {
+ mes "";
+ mes ".:: " + l("Third Tier") + " ::.";
+ mes "";
+ mesc l("Reach level @@ to unlock this tier!", 4), 1;
+ }
+
+ if (getskilllv(TMW2_CRAFT) >= 5) {
+ mes "";
+ mes ".:: " + l("Ultimate Tier") + " ::.";
+ mes "";
+ mes l("@@: Lv @@", csys_ISON(CRGROUP_FINAL), CRAFTSYS[CRGROUP_FINAL]);
+ mes "";
+ } else {
+ mes "";
+ mes ".:: " + l("Ultimate Tier") + " ::.";
+ mes "";
+ mesc l("Reach level @@ to unlock this tier!", 5), 1;
+ }
+ }
+ mesc l("Monster Points (Mobpt): @@ | Gold: @@",
+ format_number(Mobpt), format_number(Zeny));
+ next;
+ return;
+}
+
+
+// csysGUI_CRName( cr )
+// Return group name for CR
+function script csysGUI_CRName {
+ .@cr=getarg(0);
+ switch (.@cr) {
+ case CRGROUP_BASE:
+ return l("T0 - Base Bonus");
+ // Tier 1
+ case CRGROUP_ATK:
+ return l("T1 - Attack Bonus");
+ case CRGROUP_DEF:
+ return l("T1 - Defense Bonus");
+ case CRGROUP_ACC:
+ return l("T1 - Accuracy Bonus");
+ case CRGROUP_EVD:
+ return l("T1 - Evasion Bonus");
+ // Tier 2
+ case CRGROUP_REGEN:
+ return l("T2 - Regeneration Bonus");
+ case CRGROUP_SPEED:
+ return l("T2 - Speed Bonus");
+ case CRGROUP_DOUBLE:
+ return l("T2 - Double Power Bonus");
+ case CRGROUP_MAXPC:
+ return l("T2 - Max Stats Bonus");
+ // Tier 3
+ case CRGROUP_SCRESIST:
+ return l("T3 - SC Resist Bonus");
+ case CRGROUP_SCINFLICT:
+ return l("T3 - SC Inflict Bonus");
+ case CRGROUP_MANAUSE:
+ return l("T3 - Mana Economy Bonus");
+ case CRGROUP_BOSSATK:
+ return l("T3 - Boss Techniques Bonus");
+ case CRGROUP_FINAL:
+ return l("T4 - Ultimate Bonus");
+ default:
+ return Exception("Invalid optname group: "+.@cr);
+ }
+ return Exception("Definitely Invalid optname group: "+.@cr);
+}
+
+
+// csysGUI_OptToogleMenu( cr )
+// Returns a Toogle Menu for option group (CR)
+//
+function script csysGUI_OptToogleMenu {
+ .@sk=getarg(0);
+ if (getd("CRAFTSYS["+.@sk+"]")) {
+ if (CRAFTSYS_CURRENT & .@sk)
+ return "Remove "+csysGUI_CRName(.@sk);
+ else
+ return "Active "+csysGUI_CRName(.@sk);
+ }
+ return "";
+}
+
+
+// csysGUI_ChangeOpt( cr )
+// Change option
+function script csysGUI_ChangeOpt {
+ .@sk=getarg(0);
+ CRAFTSYS_CURRENT=CRAFTSYS_CURRENT^.@sk;
+ return;
+}
+
+
+// csysGUI_OptReq( cr )
+// Return true if all requisites for Option were met
+function script csysGUI_OptReq {
+ .@sk=getarg(0);
+
+ switch (.@sk) {
+ case CRGROUP_BASE:
+ return (getskilllv(TMW2_CRAFT) >= 1);
+ // Tier 1
+ case CRGROUP_ATK:
+ return (getskilllv(TMW2_CRAFT) >= 2 &&
+ CRAFTSYS[CRGROUP_BASE]);
+ case CRGROUP_DEF:
+ return (getskilllv(TMW2_CRAFT) >= 2 &&
+ CRAFTSYS[CRGROUP_BASE]);
+ case CRGROUP_ACC:
+ return (getskilllv(TMW2_CRAFT) >= 2 &&
+ CRAFTSYS[CRGROUP_BASE]);
+ case CRGROUP_EVD:
+ return (getskilllv(TMW2_CRAFT) >= 2 &&
+ CRAFTSYS[CRGROUP_BASE]);
+ // Tier 2
+ case CRGROUP_REGEN:
+ return (getskilllv(TMW2_CRAFT) >= 3 &&
+ CRAFTSYS[CRGROUP_ATK] &&
+ CRAFTSYS[CRGROUP_DEF] &&
+ CRAFTSYS[CRGROUP_BASE] >= 2);
+ case CRGROUP_SPEED:
+ return (getskilllv(TMW2_CRAFT) >= 3 &&
+ CRAFTSYS[CRGROUP_ACC] &&
+ CRAFTSYS[CRGROUP_EVD] &&
+ CRAFTSYS[CRGROUP_BASE] >= 2);
+ case CRGROUP_DOUBLE:
+ return (getskilllv(TMW2_CRAFT) >= 3 &&
+ CRAFTSYS[CRGROUP_ATK] &&
+ CRAFTSYS[CRGROUP_ACC] &&
+ CRAFTSYS[CRGROUP_BASE] >= 2);
+ case CRGROUP_MAXPC:
+ return (getskilllv(TMW2_CRAFT) >= 3 &&
+ CRAFTSYS[CRGROUP_DEF] &&
+ CRAFTSYS[CRGROUP_EVD] &&
+ CRAFTSYS[CRGROUP_BASE] >= 2);
+ // Tier 3
+ case CRGROUP_SCRESIST:
+ return (getskilllv(TMW2_CRAFT) >= 4 &&
+ CRAFTSYS[CRGROUP_MAXPC] >= 2 &&
+ CRAFTSYS[CRGROUP_REGEN] >= 2 &&
+ CRAFTSYS[CRGROUP_BASE] >= 4);
+ case CRGROUP_SCINFLICT:
+ return (getskilllv(TMW2_CRAFT) >= 4 &&
+ CRAFTSYS[CRGROUP_SPEED] >= 2 &&
+ CRAFTSYS[CRGROUP_DOUBLE] >= 2 &&
+ CRAFTSYS[CRGROUP_BASE] >= 4);
+ case CRGROUP_MANAUSE:
+ return (getskilllv(TMW2_CRAFT) >= 4 &&
+ CRAFTSYS[CRGROUP_DEF] >= 3 &&
+ CRAFTSYS[CRGROUP_EVD] >= 3 &&
+ CRAFTSYS[CRGROUP_BASE] >= 4);
+ case CRGROUP_BOSSATK:
+ return (getskilllv(TMW2_CRAFT) >= 4 &&
+ CRAFTSYS[CRGROUP_ATK] >= 3 &&
+ CRAFTSYS[CRGROUP_ACC] >= 3 &&
+ CRAFTSYS[CRGROUP_BASE] >= 4);
+ case CRGROUP_FINAL:
+ return (getskilllv(TMW2_CRAFT) >= 5 &&
+ CRAFTSYS[CRGROUP_BOSSATK] &&
+ CRAFTSYS[CRGROUP_MANAUSE] &&
+ CRAFTSYS[CRGROUP_SCINFLICT] &&
+ CRAFTSYS[CRGROUP_SCRESIST] &&
+ CRAFTSYS[CRGROUP_BASE] >= 6);
+ default:
+ return Exception("Invalid optreq group: "+.@sk);
+ }
+ return Exception("Definitely Invalid optreq group: "+.@sk);
+}
+
+// csysGUI_OptPrice( cr )
+// Return group option price and requisites
+function script csysGUI_OptPrice {
+ .@sk=getarg(0);
+ .@lv=getd("CRAFTSYS["+.@sk+"]")+1;
+
+ // Every 99 skills levels (including the 0), price raises in 7
+ .@lv+=((.@lv/99)*7);
+
+ // Every 25 skills levels (including the 0), price raises in 5
+ .@lv+=((.@lv/25)*5);
+
+ // Every 15 skills levels (including the 0), price raises in 1
+ .@lv+=(.@lv/15);
+
+ // Every 10 skills levels (including the 0), price raises in 2
+ .@lv+=((.@lv/10)*2);
+
+ // Every 3 skills levels (including the 0), price raises in 1
+ .@lv+=(.@lv/3);
+
+ switch (.@sk) {
+ case CRGROUP_BASE:
+ return (.@lv < 40 ? (.@lv < 10 ? 1000 : 1500) : 3000)*.@lv;
+ // Tier 1
+ case CRGROUP_ATK:
+ case CRGROUP_DEF:
+ case CRGROUP_ACC:
+ case CRGROUP_EVD:
+ return (.@lv < 10 ? 6200 : 6000)*.@lv;
+ // Tier 2
+ case CRGROUP_REGEN:
+ case CRGROUP_SPEED:
+ case CRGROUP_DOUBLE:
+ case CRGROUP_MAXPC:
+ return (.@lv < 10 ? 16000 : 14000)*.@lv;
+ // Tier 3
+ case CRGROUP_SCRESIST:
+ case CRGROUP_SCINFLICT:
+ case CRGROUP_MANAUSE:
+ case CRGROUP_BOSSATK:
+ return (.@lv < 10 ? 27000 : 22000)*.@lv;
+ // Final
+ case CRGROUP_FINAL:
+ return (.@lv < 10 ? 40000 : 32000)*.@lv;
+ default:
+ return Exception("Invalid optprice group: "+.@cr);
+ }
+ return Exception("Definitely Invalid optprice group: "+.@cr);
+}
+
+
+// csysGUI_OptLearnMenu( cr )
+// Returns the menu entry to learn the group skill.
+// Cost is NOT taken as requisite, must check it later.
+function script csysGUI_OptLearnMenu {
+ .@sk=getarg(0);
+ if (csysGUI_OptReq(.@sk)) {
+ return "Upgrade "+csysGUI_CRName(.@sk)+" for "+csysGUI_OptPrice(.@sk)+" Mobpt";
+ }
+ return "";
+}
+
+
+
+// csysGUI_RaiseOpt( cr )
+// Returns true if can raise group, false otherwise
+// You can't raise if max level (200) is exceeded
+// At current max level (200) you'll have at most the following bonuses:
+// 1 Splash Radius, 100% EXP, 500 HP, 300% SC RESIST, 80 AGI, 200 ATK, 100 VIT
+// Walk Speed: 40% faster
+// At ONE QUARTER max level (50) you'll have at most the following bonuses:
+// 1 Splash Radius, 25% EXP, 125 HP, 75% SC RESIST, 20 AGI, 50 ATK, 25 VIT
+// Walk Speed: 10% faster
+// At level 10 it will be:
+// 1 Splash Radius, 5% EXP, 25 HP, 15% SC RESIST, 4 AGI, 10 ATK, 5 VIT
+// Walk Speed: 2% faster
+// At level 1 it will be:
+// 1 Splash Radius, 1% EXP, 2~3 HP, 1~2% SC RESIST, 1 AGI, 1 ATK, 1 VIT
+// Walk Speed: 1% faster
+function script csysGUI_RaiseOpt {
+ .@sk=getarg(0);
+ .@pc=csysGUI_OptPrice(.@sk);
+ .@lv=getd("CRAFTSYS["+.@sk+"]");
+ if (csysGUI_OptReq(.@sk)) {
+ if (.@lv > CRAFT_MAXLV) {
+ mesc l("You cannot raise crafting skills beyond level @@!", CRAFT_MAXLV), 1;
+ return false;
+ }
+ if (Mobpt >= .@pc) {
+ Mobpt-=.@pc;
+ .@lv=getd("CRAFTSYS["+.@sk+"]");
+ setd("CRAFTSYS["+.@sk+"]", .@lv+1);
+ return true;
+ }
+ }
+ return false;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+////////////////////////////////////////
+/////////////////
+///////
+// Misc Functions for Options Craft
+
+// CsysNpcCraft( itemid, {bonus 1, value 1], {bonus 2, value 2}... )
+// Create a craft item in a NPC's stead. Needless to say, never fails.
+function script CsysNpcCraft {
+ // Illegal param number
+ if (getargcount() % 2 != 1)
+ return Exception("Invalid craft NPC argument count", RB_DEFAULT|RB_IRCBROADCAST);
+
+ // Setup variables
+ .@it=getarg(0);
+ .@opt1=getarg(1,0);
+ .@val1=getarg(2,0);
+ .@opt2=getarg(3,0);
+ .@val2=getarg(4,0);
+ .@opt3=getarg(5,0);
+ .@val3=getarg(6,0);
+ .@opt4=getarg(7,0);
+ .@val4=getarg(8,0);
+ .@opt5=getarg(9,0);
+ .@val5=getarg(10,0);
+
+ getitem(.@it, 1);
+ delinventorylist(); // Needed, because we'll rely on rfind()
+ getinventorylist();
+ .@index=array_rfind(@inventorylist_id, .@it);
+
+ // Apply the bonuses if needed
+ if (.@opt1)
+ setitemoptionbyindex(.@index, 0, .@opt1, .@val1);
+ if (.@opt2)
+ setitemoptionbyindex(.@index, 1, .@opt2, .@val2);
+ if (.@opt3)
+ setitemoptionbyindex(.@index, 2, .@opt3, .@val3);
+ if (.@opt4)
+ setitemoptionbyindex(.@index, 3, .@opt4, .@val4);
+ if (.@opt5)
+ setitemoptionbyindex(.@index, 4, .@opt5, .@val5);
+
+ return;
+}
+
diff --git a/npc/craft/price.txt b/npc/craft/price.txt
new file mode 100644
index 0000000..4b0ab9c
--- /dev/null
+++ b/npc/craft/price.txt
@@ -0,0 +1,232 @@
+// TMW-2 Script.
+// Author:
+// Jesusalva
+// Description:
+// Modifies the sell price for crafts
+// Always run this when casting @reloaditemdb
+function script _fix_cPrice {
+ .@const$ = data_to_string(getarg(0));
+ .@m = getarg(1, 35);
+
+ // Shady code by gumi
+ if (startswith(.@const$, "Craft")) {
+ // infer the item constant from the craft constant
+ .@recipe = getarg(0);
+
+ .@item = string_to_data(substr(.@const$, 5, getstrlen(.@const$) - 1));
+ } else {
+ // infer the craft constant from the item constant
+ .@recipe = string_to_data(sprintf("Craft%s", .@const$));
+ .@item = getarg(0);
+ }
+
+ if (.@item <= 0) {
+ // target item not found
+ consolebug("ERROR, INVALID ITEM ID DETECTED at _fix_cPrice");
+ return;
+ }
+
+ .@price = 0;
+ // More shady code by gumi
+ for (.@inv = 0; .@inv < 9; ++.@inv) {
+ .@size = getcraftrecipe(.@recipe, .@inv, .@qty[0], .@item_id[0]);
+
+ if (.@size < 0) {
+ if (.@size == -1) {
+ // recipe does not exist
+ break;
+ }
+ // inventory does not exist
+ break;
+ }
+
+ // More shady code to build new price
+ for (.@it = 0; .@it < .@size; ++.@it) {
+ .@recipe_item = .@item_id[.@it];
+ .@recipe_qty = .@qty[.@it];
+
+ if (.@recipe_item <= 0) {
+ break;
+ }
+
+ // Increase the final price
+ //debugmes("Price %d + %d GP (%dx %s)", .@price, getiteminfo(.@recipe_item, ITEMINFO_SELLPRICE),
+ // .@recipe_qty, getitemname(.@recipe_item));
+ .@price += getiteminfo(.@recipe_item, ITEMINFO_SELLPRICE) * .@recipe_qty;
+ //debugmes("New price: %d", .@price);
+ }
+
+ // Update the final price
+ if (.@price > 0) {
+ debugmes("Price for %s adjusted from %d (%d) to %d (%d) GP", getitemname(.@item), getiteminfo(.@item, ITEMINFO_BUYPRICE), getiteminfo(.@item, ITEMINFO_SELLPRICE), .@price * .@m / 10, .@price);
+ setiteminfo(.@item, ITEMINFO_BUYPRICE, .@price * .@m / 10);
+ setiteminfo(.@item, ITEMINFO_SELLPRICE, .@price);
+ //debugmes("New Price for %s is now %d (%d) GP", getitemname(.@item), getiteminfo(.@item, ITEMINFO_BUYPRICE), getiteminfo(.@item, ITEMINFO_SELLPRICE));
+ }
+ }
+ return;
+}
+
+function script fix_cPrice {
+ // In some cases, we don't care
+ if (debug) return;
+
+ // Otherwise...
+ freeloop(true);
+
+ // Fix potions prices
+ _fix_cPrice(AgiPotionA);
+ _fix_cPrice(AgiPotionB);
+ _fix_cPrice(AgiPotionC);
+ _fix_cPrice(VitPotionA);
+ _fix_cPrice(VitPotionB);
+ _fix_cPrice(VitPotionC);
+ _fix_cPrice(IntPotionA);
+ _fix_cPrice(IntPotionB);
+ _fix_cPrice(IntPotionC);
+ _fix_cPrice(DexPotionA);
+ _fix_cPrice(DexPotionB);
+ _fix_cPrice(DexPotionC);
+ _fix_cPrice(LukPotionA);
+ _fix_cPrice(LukPotionB);
+ _fix_cPrice(LukPotionC);
+ //_fix_cPrice(HastePotion); // 240 -> 75
+ //_fix_cPrice(StrengthPotion); // 240 -> 195
+
+ // TODO: Scrolls? Reagents?
+ // And reagents should happen before potions
+
+ // And weapons
+ _fix_cPrice(WoodenSword);
+ _fix_cPrice(BugSlayer);
+ _fix_cPrice(ShortGladius);
+ _fix_cPrice(Backsword);
+ _fix_cPrice(ShortSword);
+ _fix_cPrice(Kitana);
+ _fix_cPrice(BoneKnife);
+ _fix_cPrice(LongSword);
+ _fix_cPrice(RockKnife);
+ _fix_cPrice(DivineSword);
+
+ // And two hand weapons
+ _fix_cPrice(MiereCleaver);
+ _fix_cPrice(Broadsword);
+ _fix_cPrice(Halberd);
+ _fix_cPrice(ImmortalSword);
+
+ // And archery
+ _fix_cPrice(ShortBow);
+ _fix_cPrice(ForestBow);
+ _fix_cPrice(ElficBow);
+ _fix_cPrice(ChampionshipBow);
+ _fix_cPrice(BansheeBow);
+
+ // And magic
+ _fix_cPrice(TrainingWand, 22);
+ _fix_cPrice(NoviceWand, 27);
+ _fix_cPrice(ApprenticeWand);
+ _fix_cPrice(LeaderWand);
+ _fix_cPrice(MysticWand);
+
+ // And Firestaves
+ _fix_cPrice(PynRevolver);
+ _fix_cPrice(PynRifle);
+ _fix_cPrice(PynGatling);
+ _fix_cPrice(PynShotgun);
+
+ // And misc
+ _fix_cPrice(TerranitePants);
+ _fix_cPrice(TerraniteArmor);
+ _fix_cPrice(Skypiercer, 50);
+
+ // And shields
+ _fix_cPrice(WoodenShield);
+ _fix_cPrice(BladeShield);
+ _fix_cPrice(BraknarShield);
+ _fix_cPrice(BritShield);
+ _fix_cPrice(BromenalShield);
+ _fix_cPrice(BlueKnightShield);
+ _fix_cPrice(SteelShield);
+ _fix_cPrice(DragonShield);
+ _fix_cPrice(SaviorShield, 50);
+
+ // Chest Armor
+ _fix_cPrice(LeatherShirt);
+ _fix_cPrice(LieutenantArmor);
+ _fix_cPrice(Chainmail);
+ _fix_cPrice(CopperArmor);
+ _fix_cPrice(LightPlatemail);
+ _fix_cPrice(GoldenLightPlatemail);
+ _fix_cPrice(WarlordPlate);
+ _fix_cPrice(GoldenWarlordPlate);
+ _fix_cPrice(BromenalChest);
+ _fix_cPrice(AssassinChest);
+ _fix_cPrice(SaviorArmor, 50);
+
+ // Pants
+ //_fix_cPrice(JeansShorts);
+ _fix_cPrice(RaidTrousers);
+ _fix_cPrice(LeatherTrousers);
+ _fix_cPrice(JeansChaps);
+ _fix_cPrice(SilkPants);
+ _fix_cPrice(ChainmailSkirt); // <= Pre-Fortress
+ _fix_cPrice(BromenalPants); // <= Fortress
+ _fix_cPrice(WarlordPants);
+ _fix_cPrice(AssassinPants);
+
+ // Gloves (more expensive due ASPD)
+ _fix_cPrice(SilkGloves, 40);
+ _fix_cPrice(LeatherGloves, 40);
+ _fix_cPrice(BromenalGloves, 40);
+ _fix_cPrice(ManaGloves, 40);
+ _fix_cPrice(WarlordGloves, 40);
+ _fix_cPrice(AssassinGloves, 40);
+
+ // Helmets
+ _fix_cPrice(InfantryHelmet);
+ _fix_cPrice(DesertHelmet);
+ _fix_cPrice(BromenalHelmet);
+ _fix_cPrice(CandleHelmet);
+ _fix_cPrice(CrusadeHelmet);
+ _fix_cPrice(WarlordHelmet);
+ _fix_cPrice(VikingHelmet);
+ _fix_cPrice(TerraniteHelmet); // Cheaper than the real cost due 2x Earth Powder
+ _fix_cPrice(CenturionHelmet);
+ _fix_cPrice(BullHelmet);
+ _fix_cPrice(DarkHelm);
+ _fix_cPrice(DarkKnightHelmet);
+ _fix_cPrice(SamuraiHelmet);
+ _fix_cPrice(SaviorHelmet);
+
+ // Footwear
+ _fix_cPrice(LeatherBoots);
+ _fix_cPrice(DeepBlackBoots);
+ _fix_cPrice(BromenalBoots);
+ _fix_cPrice(WarlordBoots);
+ _fix_cPrice(AssassinBoots);
+ _fix_cPrice(SaviorBoots, 50);
+
+ // We're done
+ freeloop(false);
+
+ // Manual fixes (handling _fix_cPrice shortcomings)
+ setiteminfo(DarkCrystal, ITEMINFO_SELLPRICE, rand2(150, 250));
+ return;
+}
+
+- script craft_price_fix -1,{
+ end;
+
+OnCall:
+ atcommand("@reloaditemdb");
+ fix_cPrice();
+ end;
+
+OnInit:
+ bindatcmd "reloaditemdb2", "craft_price_fix::OnCall", 99, 100, 1;
+ // This should be called after craft_db is loaded
+ sleep(750);
+ fix_cPrice();
+ end;
+}
+
diff --git a/npc/craft/recipes.txt b/npc/craft/recipes.txt
new file mode 100644
index 0000000..0647ff4
--- /dev/null
+++ b/npc/craft/recipes.txt
@@ -0,0 +1,605 @@
+// TMW-2 script.
+// Author:
+// Jesusalva
+// Description:
+// Recipe Books in TMW2
+
+- script #RecipeBook NPC_HIDDEN,{
+ function showRecipe;
+ function readCooking;
+ function readAlchemy;
+ function readCrafting;
+
+OnUse:
+ setnpcdialogtitle l("Recipe Book");
+
+ mesc l("You open the Recipe Book. Each recipe you get can be put here.");
+ next;
+ do {
+ mesc l("Which recipes do you want to read?");
+ select
+ l("Nothing."),
+ l("Cooking Recipes."),
+ l("Alchemy Recipes."),
+ l("Crafting Recipes.");
+ mes "";
+ switch (@menu) {
+ case 2:
+ readCooking(); break;
+ case 3:
+ readAlchemy(); break;
+ case 4:
+ readCrafting(); break;
+ }
+ } while (@menu != 1);
+ closeclientdialog;
+ close;
+
+// Expects: @scope$
+// showRecipe( recipe{, recipe...} )
+function showRecipe {
+ if (@scope$ == "")
+ return Exception("Faulty recipe skill command invoked - error");
+
+ freeloop(true);
+ for (.@a = 0; .@a < getargcount(); ++.@a) {
+ .@const$ = data_to_string(getarg(.@a));
+
+ if (startswith(.@const$, "Craft")) {
+ // infer the item constant from the craft constant
+ .@recipe = getarg(.@a);
+
+ .@item = string_to_data(substr(.@const$, 5, getstrlen(.@const$) - 1));
+ } else {
+ // infer the craft constant from the item constant
+ .@recipe = string_to_data(sprintf("Craft%s", .@const$));
+ .@item = getarg(.@a);
+ }
+
+ if (.@item <= 0) {
+ // target item not found
+ consolebug("ERROR, INVALID ITEM ID DETECTED at showRecipe");
+ continue;
+ }
+
+ if (!getd("RECIPES_"+@scope$+"["+.@recipe+"]") && !$@GM_OVERRIDE) {
+ // does not have the recipe
+ continue;
+ }
+
+ for (.@inv = 0; .@inv < 9; ++.@inv) {
+ .@size = getcraftrecipe(.@recipe, .@inv, .@qty[0], .@item_id[0]);
+
+ if (.@size < 0) {
+ if (.@size == -1) {
+ // recipe does not exist
+ break;
+ }
+ // inventory does not exist
+ break;
+ }
+
+ mes(l(".:: %s Recipe ::.", getitemlink(.@item)));
+
+ for (.@it = 0; .@it < .@size; ++.@it) {
+ .@recipe_item = .@item_id[.@it];
+ .@recipe_qty = .@qty[.@it];
+
+ if (.@recipe_item <= 0) {
+ break;
+ }
+
+ mesc(sprintf("%d/%d %s", countitem(.@recipe_item), .@recipe_qty, getitemlink(.@recipe_item)));
+ }
+
+ mes("");
+ .@count++;
+ }
+ }
+ freeloop(false);
+
+ return .@count > 0;
+}
+
+// =============================== Cooking Functions
+function readCooking {
+ setnpcdialogtitle l("Cooking Recipes");
+ @scope$="COOKING";
+
+ mesc l("Eating is a necessity, but cooking is an art.");
+ mesc l("(All items must be placed exactly in this order.)");
+ next;
+ mesc l("List of known cooking recipes:");
+ mes "";
+ //showRecipe(0, Iten, WarpedLog, 9999);
+ next;
+ @scope$="";
+ return;
+}
+
+// =============================== Cooking Functions
+function readAlchemy {
+ setnpcdialogtitle l("Alchemy Recipes");
+ @scope$="ALCHEMY";
+
+ mesc l("Alchemy. The art of having quasi-magical effects without magic.");
+ mesc l("(All items must be placed exactly in this order.)");
+ next;
+ mesc l("List of known alchemy recipes:");
+ mes "";
+ // Healing
+ mesc "----------"+l("Healing Recipes")+"----------", 2;
+ showRecipe(PiberriesInfusion,
+ AtroposMixture,
+ Coffee);
+ dnext;
+
+ // General Boosts
+ mesc "----------"+l("General Boosts")+"----------", 2;
+ showRecipe(HastePotion,
+ StrengthPotion,
+ StatusResetPotion, // BROKEN
+ HomunResetPotion,
+ MoveSpeedPotion, // BROKEN
+ PrecisionPotion,
+ DodgePotion,
+ SacredLifePotion,
+ SacredManaPotion,
+ SacredImmortalityPotion,
+ MagicApple);
+ dnext;
+
+ // Stats Boosts
+ mesc "----------"+l("Stat Boost Recipes")+"----------", 2;
+ showRecipe(LukPotionA,
+ LukPotionB,
+ LukPotionC);
+
+ showRecipe(IntPotionA,
+ IntPotionB,
+ IntPotionC);
+
+ showRecipe(VitPotionA,
+ VitPotionB,
+ VitPotionC);
+
+ showRecipe(AgiPotionA,
+ AgiPotionB,
+ AgiPotionC);
+
+ showRecipe(DexPotionA,
+ DexPotionB,
+ DexPotionC);
+
+ // Scrolls
+ mesc "----------"+l("Magic Scrolls")+"----------", 2;
+ showRecipe(ScrollSCave,
+ ScrollSMaggot,
+ ScrollSWolvern,
+ ScrollSYeti,
+ ScrollSTerranite,
+ ScrollSDragon,
+ ScrollMagnusHealA,
+ ScrollAngelLightA,
+ ScrollBattlePlansA,
+ ScrollDefenseBlessA,
+ ScrollCriticalFortuneA);
+
+ // General Stuff
+ mesc "----------"+l("Reagents & Other Potions")+"----------", 2;
+ showRecipe(IcedBottle,
+ PurificationPotion,
+ DeathPotion,
+ BrokenWarpCrystal,
+ SmokeGrenade,
+ ScentGrenade,
+ Grenade,
+ Insurance,
+ InsuranceContract);
+
+ next;
+ @scope$="";
+ return;
+}
+
+// =============================== Crafting Functions
+function readCrafting {
+ setnpcdialogtitle l("Crafting Recipes");
+ @scope$="EQUIPMENT";
+
+ mesc l("There is only one way towards the best equipment: Smith away!");
+ mesc l("(All items must be placed exactly in this order.)");
+ next;
+ mesc l("List of known crafting recipes:");
+ mes "";
+ // Melee Weapons: Never use Titanium nor Lead. Iron-based, no silver
+ mesc "----------"+l("One Hand Weapon Recipes")+"----------", 2;
+ showRecipe(Dagger,
+ WoodenSword,
+ BugSlayer,
+ ShortGladius,
+ Backsword,
+ ShortSword,
+ Kitana,
+ BoneKnife,
+ LongSword,
+ RockKnife,
+ DivineSword);
+ dnext;
+ // Two Hands Melee Weapons: Never use Titanium nor Lead. Silver-based.
+ mesc "----------"+l("Two Hands Weapon Recipes")+"----------", 2;
+ // Reserved ID 63 and 64
+ // Halberd is really cheap as it doesn't uses Platinum/Iridium :P
+ showRecipe(MiereCleaver,
+ Broadsword,
+ Halberd,
+ ImmortalSword);
+
+ dnext;
+ // Archery Weapons: Always use Wood, Root and Carp.
+ mesc "----------"+l("Archery Weapon Recipes")+"----------", 2;
+ showRecipe(ShortBow,
+ ForestBow,
+ ElficBow,
+ ChampionshipBow,
+ BansheeBow);
+ dnext;
+ // Magical Weapons: Wood + powders
+ mesc "----------"+l("Magical Weapon Recipes")+"----------", 2;
+ showRecipe(TrainingWand,
+ NoviceWand,
+ ApprenticeWand,
+ LeaderWand,
+ MysticWand);
+ dnext;
+ // Firestaff Weapons: Lead + Titanium
+ mesc "----------"+l("Fire Staffs Recipes")+"----------", 2;
+ showRecipe(PynRevolver,
+ PynRifle,
+ PynGatling,
+ PynShotgun);
+ dnext;
+ // Shields: May use Leather. Titanium or Lead, but never both
+ mesc "----------"+l("Shield Recipes")+"----------", 2;
+ // Exception to shield rule: Braknar Shield
+ showRecipe(WoodenShield,
+ BladeShield,
+ BraknarShield,
+ BritShield,
+ BromenalShield,
+ BlueKnightShield,
+ SteelShield,
+ DragonShield,
+ SaviorShield);
+ dnext;
+ // Chest Armors -> Primary Ore + Secondary Ore + Iron Powder + Earth Powder
+ mesc "----------"+l("Chest Armor Recipes")+"----------", 2;
+ showRecipe(LeatherShirt,
+ LieutenantArmor,
+ Chainmail,
+ CopperArmor,
+ LightPlatemail,
+ GoldenLightPlatemail,
+ WarlordPlate,
+ GoldenWarlordPlate,
+ BromenalChest,
+ AssassinChest,
+ SaviorArmor);
+ dnext;
+ // Pants -> Primary Item + Secondary Item + Leather Patch + Earth Powder
+ mesc "----------"+l("Pants Recipes")+"----------", 2;
+ showRecipe(JeansShorts,
+ RaidTrousers,
+ LeatherTrousers,
+ JeansChaps,
+ SilkPants,
+ ChainmailSkirt,
+ BromenalPants,
+ WarlordPants,
+ AssassinPants);
+ dnext;
+ // Gloves: Gloves items
+ mesc "----------"+l("Gloves Recipes")+"----------", 2;
+ showRecipe(SilkGloves,
+ LeatherGloves,
+ BromenalGloves,
+ ManaGloves,
+ WarlordGloves,
+ AssassinGloves);
+ dnext;
+ // Feet: Shoes items
+ mesc "----------"+l("Footwear Recipes")+"----------", 2;
+ showRecipe(LeatherBoots,
+ DeepBlackBoots,
+ BromenalBoots,
+ WarlordBoots,
+ AssassinBoots,
+ SaviorBoots);
+ dnext;
+ // Helmets: Helmet items
+ mesc "----------"+l("Helmet Recipes")+"----------", 2;
+ showRecipe(InfantryHelmet,
+ DesertHelmet,
+ BromenalHelmet,
+ CandleHelmet,
+ CrusadeHelmet,
+ WarlordHelmet,
+ VikingHelmet,
+ TerraniteHelmet,
+ CenturionHelmet,
+ BullHelmet,
+ DarkHelm,
+ DarkKnightHelmet,
+ SamuraiHelmet,
+ SaviorHelmet);
+ dnext;
+ // Misc: Misc items
+ mesc "----------"+l("Miscellaneous Recipes")+"----------", 2;
+ showRecipe(GoldenRing,
+ TerranitePants,
+ TerraniteArmor,
+ Skypiercer);
+ next;
+ @scope$="";
+ return;
+}
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+// Below this line are utils for Gacha. We use callfunc() on itemDB.
+// Types: CRAFT_COOKING, CRAFT_ALCHEMY, CRAFT_EQUIPMENT
+// Rarity: 1 - basic, 2 - intermediary, 4 - advanced, 8 - expert, 16 - master
+// Level equivalents: 1: (1~20) 2: (21~44), 3: (45~75), 4: (76~99), 5: 100+
+function script MakeBlueprint {
+ .@type=getarg(0, -1);
+ .@rarity=getarg(1, 1);
+
+ switch (.@type) {
+ /////////////////////////////////////////////////////
+ ///// Alchemy Recipes
+ /////////////////////////////////////////////////////
+ case CRAFT_ALCHEMY:
+ if (.@rarity & CRAFT_BASIC) {
+ array_push(.@recipes, CraftPiberriesInfusion);
+ array_push(.@recipes, CraftHastePotion);
+ array_push(.@recipes, CraftStrengthPotion);
+ array_push(.@recipes, CraftCoffee);
+ array_push(.@recipes, CraftScrollSCave);
+ array_push(.@recipes, CraftScrollSMaggot);
+ }
+ if (.@rarity & CRAFT_INTERMEDIARY) {
+ array_push(.@recipes, CraftLukPotionA);
+ array_push(.@recipes, CraftDexPotionA);
+ array_push(.@recipes, CraftIntPotionA);
+ array_push(.@recipes, CraftAgiPotionA);
+ array_push(.@recipes, CraftVitPotionA);
+ array_push(.@recipes, CraftSpeedPotion);
+ array_push(.@recipes, CraftIcedBottle);
+ array_push(.@recipes, CraftInsuranceContract);
+ array_push(.@recipes, CraftScrollSWolvern);
+ }
+ if (.@rarity & CRAFT_ADVANCED) {
+ array_push(.@recipes, CraftResetPotion);
+ array_push(.@recipes, CraftPrecisionPotion);
+ array_push(.@recipes, CraftDodgePotion);
+ array_push(.@recipes, CraftDeathPotion);
+ array_push(.@recipes, CraftSmokeGrenade);
+ array_push(.@recipes, CraftScentGrenade);
+ array_push(.@recipes, CraftGrenade);
+ array_push(.@recipes, CraftInsurance);
+ array_push(.@recipes, CraftScrollSYeti);
+ }
+ if (.@rarity & CRAFT_EXPERT) {
+ array_push(.@recipes, CraftLukPotionB);
+ array_push(.@recipes, CraftDexPotionB);
+ array_push(.@recipes, CraftIntPotionB);
+ array_push(.@recipes, CraftAgiPotionB);
+ array_push(.@recipes, CraftVitPotionB);
+ array_push(.@recipes, CraftAtroposMixture);
+ array_push(.@recipes, CraftPurificationPotion);
+ array_push(.@recipes, CraftHomunResetPotion);
+ array_push(.@recipes, CraftScrollSTerranite);
+ array_push(.@recipes, CraftScrollMagnusHealA);
+ }
+ if (.@rarity & CRAFT_MASTER) {
+ array_push(.@recipes, CraftLukPotionC);
+ array_push(.@recipes, CraftDexPotionC);
+ array_push(.@recipes, CraftIntPotionC);
+ array_push(.@recipes, CraftAgiPotionC);
+ array_push(.@recipes, CraftVitPotionC);
+ array_push(.@recipes, CraftSacredLifePotion);
+ array_push(.@recipes, CraftSacredManaPotion);
+ array_push(.@recipes, CraftSacredImmortalityPotion);
+ array_push(.@recipes, CraftBrokenWarpCrystal);
+ array_push(.@recipes, CraftMagicApple);
+ array_push(.@recipes, CraftScrollSDragon);
+ if (getcharid(2) > 0) {
+ if (getguildlvl(getcharid(2)) >= 4)
+ array_push(.@recipes, CraftScrollAngelLightA);
+ if (getguildlvl(getcharid(2)) >= 5)
+ array_push(.@recipes, CraftScrollBattlePlansA);
+ if (getguildlvl(getcharid(2)) >= 3)
+ array_push(.@recipes, CraftScrollDefenseBlessA);
+ if (getguildlvl(getcharid(2)) >= 6)
+ array_push(.@recipes, CraftScrollCriticalFortuneA);
+ }
+ }
+
+ // Now you'll learn some recipe!
+ .@rcp=any_of(.@recipes);
+
+ // Half precision failsafe
+ if (RECIPES_EQUIPMENT[.@rcp] && any(true, false))
+ .@rcp=any_of(.@recipes);
+
+ // Maybe you already knew it?
+ if (RECIPES_ALCHEMY[.@rcp]) {
+ .@mpot=rand2(900, 1000*.@rarity);
+ dispbottom l("It was a recipe you already knew... (+ @@ Mobpt)", .@mpot);
+ getexp (BaseLevel+JobLevel)*rand2(1,.@rarity), JobLevel+rand2(1,.@rarity);
+ // Give you some Monster Points to use with Intense Beard
+ // You do NOT need to be registered with Aidan for this.
+ Mobpt+=.@mpot;
+ } else {
+ dispbottom l("Learned a new recipe!");
+ RECIPES_ALCHEMY[.@rcp]=true;
+ }
+ break;
+ /////////////////////////////////////////////////////
+ ///// Equipment Recipes
+ /////////////////////////////////////////////////////
+// array_push(.@recipes, Craft);
+ case CRAFT_EQUIPMENT:
+ if (.@rarity & CRAFT_BASIC) {
+ array_push(.@recipes, CraftWoodenSword);
+ array_push(.@recipes, CraftWoodenShield);
+ array_push(.@recipes, CraftTrainingWand);
+ array_push(.@recipes, CraftShortBow);
+ array_push(.@recipes, CraftSilkGloves);
+ array_push(.@recipes, CraftInfantryHelmet);
+ array_push(.@recipes, CraftLeatherShirt);
+ array_push(.@recipes, CraftJeansShorts);
+ array_push(.@recipes, CraftLeatherBoots);
+ }
+ if (.@rarity & CRAFT_INTERMEDIARY) {
+ array_push(.@recipes, CraftBugSlayer);
+ array_push(.@recipes, CraftShortGladius);
+ array_push(.@recipes, CraftMiereCleaver);
+ array_push(.@recipes, CraftBladeShield);
+ array_push(.@recipes, CraftNoviceWand);
+ array_push(.@recipes, CraftForestBow);
+ array_push(.@recipes, CraftLeatherGloves);
+ array_push(.@recipes, CraftDesertHelmet);
+ array_push(.@recipes, CraftBromenalHelmet);
+ array_push(.@recipes, CraftLieutenantArmor);
+ array_push(.@recipes, CraftRaidTrousers);
+ array_push(.@recipes, CraftDeepBlackBoots);
+ }
+ if (.@rarity & CRAFT_ADVANCED) {
+ array_push(.@recipes, CraftBacksword);
+ array_push(.@recipes, CraftShortSword);
+ array_push(.@recipes, CraftBoneKnife);
+ array_push(.@recipes, CraftKitana);
+ array_push(.@recipes, CraftBroadsword);
+ array_push(.@recipes, CraftPynRevolver);
+ array_push(.@recipes, CraftApprenticeWand);
+ array_push(.@recipes, CraftElficBow);
+ array_push(.@recipes, CraftBritShield);
+ array_push(.@recipes, CraftBromenalShield);
+ array_push(.@recipes, CraftBlueKnightShield);
+ array_push(.@recipes, CraftBromenalGloves);
+ array_push(.@recipes, CraftCandleHelmet);
+ array_push(.@recipes, CraftCrusadeHelmet);
+ array_push(.@recipes, CraftWarlordHelmet);
+ array_push(.@recipes, CraftVikingHelmet);
+ array_push(.@recipes, CraftChainmail);
+ array_push(.@recipes, CraftCopperArmor);
+ array_push(.@recipes, CraftLightPlatemail);
+ array_push(.@recipes, CraftWarlordPlate);
+ array_push(.@recipes, CraftBromenalChest);
+ array_push(.@recipes, CraftLeatherTrousers);
+ array_push(.@recipes, CraftJeansChaps);
+ array_push(.@recipes, CraftSilkPants);
+ array_push(.@recipes, CraftChainmailSkirt);
+ array_push(.@recipes, CraftBromenalPants);
+ array_push(.@recipes, CraftWarlordPants);
+ array_push(.@recipes, CraftBromenalBoots);
+ }
+ if (.@rarity & CRAFT_EXPERT) {
+ array_push(.@recipes, CraftGoldenRing);
+ array_push(.@recipes, CraftLongSword);
+ array_push(.@recipes, CraftRockKnife);
+ array_push(.@recipes, CraftHalberd);
+ array_push(.@recipes, CraftPynRifle);
+ array_push(.@recipes, CraftPynGatling);
+ array_push(.@recipes, CraftLeaderWand);
+ array_push(.@recipes, CraftChampionshipBow);
+ array_push(.@recipes, CraftSteelShield);
+ array_push(.@recipes, CraftDragonShield);
+ array_push(.@recipes, CraftManaGloves);
+ array_push(.@recipes, CraftWarlordGloves);
+ array_push(.@recipes, CraftTerraniteHelmet);
+ array_push(.@recipes, CraftCenturionHelmet);
+ array_push(.@recipes, CraftBullHelmet);
+ array_push(.@recipes, CraftDarkHelm);
+ array_push(.@recipes, CraftTerraniteArmor);
+ array_push(.@recipes, CraftTerranitePants);
+ array_push(.@recipes, CraftWarlordBoots);
+ array_push(.@recipes, CraftAssassinChest);
+ array_push(.@recipes, CraftAssassinPants);
+ }
+ if (.@rarity & CRAFT_MASTER) {
+ array_push(.@recipes, CraftDivineSword);
+ array_push(.@recipes, CraftImmortalSword);
+ array_push(.@recipes, CraftPynShotgun);
+ array_push(.@recipes, CraftMysticWand);
+ array_push(.@recipes, CraftBansheeBow);
+ array_push(.@recipes, CraftAssassinGloves);
+ array_push(.@recipes, CraftAssassinBoots);
+ array_push(.@recipes, CraftDarkKnightHelmet);
+ array_push(.@recipes, CraftSamuraiHelmet);
+ }
+
+ // Now you'll learn some recipe!
+ .@rcp=any_of(.@recipes);
+
+ // Double precision failsafe
+ if (RECIPES_EQUIPMENT[.@rcp])
+ .@rcp=any_of(.@recipes);
+
+ // Maybe you already knew it?
+ if (RECIPES_EQUIPMENT[.@rcp]) {
+ .@mpot=rand2(900*.@rarity, 1000*.@rarity);
+ dispbottom l("It was a recipe you already knew... (+ @@ Mobpt)", .@mpot);
+ getexp (BaseLevel+JobLevel)*rand2(1,.@rarity), JobLevel+rand2(1,.@rarity);
+ // Give you some Monster Points to use with Intense Beard
+ // You do NOT need to be registered with Aidan for this.
+ Mobpt+=.@mpot;
+ } else {
+ dispbottom l("Learned a new recipe!");
+ RECIPES_EQUIPMENT[.@rcp]=true;
+ }
+ break;
+ default:
+ return Exception("Invalid blueprint type "+.@type+" - item was lost.");
+ }
+ return;
+}
+
+// Create a blueprint based on level. Extra chance for weaker Blueprint.
+// Level equivalents: 1: (1~20) 2: (21~44), 3: (45~75), 4: (76~99), 5: 100+
+function script MakeRandomBlueprint {
+ array_push(.@blueprints, AlchemyBlueprintA);
+ array_push(.@blueprints, EquipmentBlueprintA);
+ if (BaseLevel > 20) {
+ array_push(.@blueprints, AlchemyBlueprintB);
+ array_push(.@blueprints, EquipmentBlueprintB);
+ }
+ if (BaseLevel > 44) {
+ array_push(.@blueprints, AlchemyBlueprintB);
+ array_push(.@blueprints, EquipmentBlueprintB);
+ array_push(.@blueprints, AlchemyBlueprintC);
+ array_push(.@blueprints, EquipmentBlueprintC);
+ }
+ if (BaseLevel > 75) {
+ array_push(.@blueprints, AlchemyBlueprintC);
+ array_push(.@blueprints, EquipmentBlueprintC);
+ array_push(.@blueprints, AlchemyBlueprintD);
+ array_push(.@blueprints, EquipmentBlueprintD);
+ }
+ if (BaseLevel > 100) {
+ array_push(.@blueprints, AlchemyBlueprintD);
+ array_push(.@blueprints, EquipmentBlueprintD);
+ if (any(true,false)) {
+ array_push(.@blueprints, AlchemyBlueprintE);
+ array_push(.@blueprints, EquipmentBlueprintE);
+ }
+ }
+ getitem any_of(.@blueprints), 1;
+ return;
+}
+
diff --git a/npc/craft/smith.txt b/npc/craft/smith.txt
new file mode 100644
index 0000000..9b8387c
--- /dev/null
+++ b/npc/craft/smith.txt
@@ -0,0 +1,91 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Smith System (Player, Guild, NPC)
+// Notes:
+// Base for Evol MR
+// This one is more crazy. Cannot be equipping target craft.
+// After successful craft, we use CraftDB return code to equip() the
+// new item and apply a random option bonus based on crafter skills
+// eg. setequipoption(EQI_HAND_R, 1, VAR_STRAMOUNT, 5)
+// We should be able to apply several bonuses for the nicest experience :3
+// We should also add a movespeed bonus... So demure can specialize herself in
+// crafting really fast weapons in every aspects, and this system would allow her
+// to do so :> But then, maybe we should have a crafting skill where players can
+// allocate status points?
+
+// Usage: SmithSystem ({scope})
+// Scopes: CRAFT_NPC, CRAFT_PLAYER, CRAFT_GUILD
+// CRAFT_NPC - Unlocks all recipes
+// CRAFT_PLAYER - Normal behavior
+// CRAFT_GUILD - Items created will be Guild-bound
+// Returns true on success, false on failure
+function script SmithSystem {
+ // Set .scope, .knowledge and .success
+ .scope=getarg(0, CRAFT_PLAYER);
+ copyarray(.knowledge,RECIPES_EQUIPMENT,getarraysize(RECIPES_EQUIPMENT));
+ .success=false;
+
+ mesc l("WARNING: Strange bugs may happen if you attempt to craft an item you already have on inventory!"), 1;
+ setskin "craft4";
+ .@var$ = requestcraft(4);
+ .@craft = initcraft(.@var$);
+ .@entry = findcraftentry(.@craft, CRAFT_EQUIPMENT);
+ if (debug || $@GM_OVERRIDE) mes "found craft entry: " + .@entry;
+ if (debug || $@GM_OVERRIDE) mes "knowledge value: " + .knowledge[.@entry];
+ if (.@entry < 0) {
+ .success=false;
+ } else {
+ if (.scope == CRAFT_NPC) {
+ usecraft .@craft;
+ .@it=getcraftcode(.@entry);
+ getitem(.@it, 1);
+ .success=true;
+ } else if (.knowledge[.@entry] || $@GM_OVERRIDE) {
+ // Player craft item
+ usecraft .@craft;
+ .@it=getcraftcode(.@entry);
+
+ // Mark the crafting in your score variable
+ CRAFTING_SCORE_COMPLETE+=getiteminfo(.@it, ITEMINFO_ELV);
+ // Update your score book
+ CRAFTING_SCORE=(CRAFTING_SCORE_COMPLETE/40);
+
+ if (.scope == CRAFT_GUILD)
+ getitembound(.@it, 1, 2); // Create a guild-bound item
+ else if (GSET_CRAFT_BOUND)
+ getitembound(.@it, 1, 1); // Create an account-bound item
+ else
+ getnameditem(.@it, strcharinfo(0));
+ if (getskilllv(TMW2_CRAFT)) {
+ delinventorylist(); // Needed, because we'll rely on rfind()
+ getinventorylist();
+ .@index=array_rfind(@inventorylist_id, .@it);
+
+ // Just to be sure, if this have an option, get something else
+ if (getitemoptionparambyindex(.@index, 0)) {
+ .@index=array_find(@inventorylist_id, .@it);
+ }
+
+ if (csys_Check(.@index, 75000)) {
+ csys_Apply(.@index);
+ }
+ }
+
+ // Get experience for the craft
+ .@xp=getiteminfo(.@it, ITEMINFO_SELLPRICE);
+ getexp .@xp+BaseLevel, (.@xp/3)+BaseLevel+JobLevel;
+ // Monster points too, if appliable - by your Job Level
+ if (MPQUEST)
+ Mobpt+=JobLevel;
+
+ .success=true;
+ } else {
+ .success=false;
+ }
+ }
+ deletecraft .@craft;
+ setskin "";
+ return .success;
+}
diff --git a/npc/craft/tweak.txt b/npc/craft/tweak.txt
new file mode 100644
index 0000000..1124afa
--- /dev/null
+++ b/npc/craft/tweak.txt
@@ -0,0 +1,128 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Smith System (Player, Guild, NPC)
+// Notes:
+// It's like smithing, but it only change an item options
+
+// Usage: SmithTweakReset ()
+// Asks if player wants to remove an item options. And remove them.
+function script SmithTweakReset {
+ mesc b(l("You are REMOVING an item option.")), 1;
+ mesc l("Note: This action cannot be undone."), 1;
+ mes l("Drag and drop here the item you want to remove the options.");
+
+ .@id=requestitemindex();
+ mes "";
+
+ // Ask player to confirm
+ mesc l("Are you sure?"), 1;
+ mesc l("Note: This action cannot be undone."), 1;
+ if (!csys_Confirm(.@id))
+ return;
+
+ csys_Check(.@id);
+ return;
+}
+
+// Usage: SmithTweakSystem ({price=600, retries=1})
+// Returns true on success, false on failure
+function script SmithTweakSystem {
+ .@price=getarg(0, 600);
+ .@retry=getarg(1, 1);
+
+ // Adjust price (if relevant)
+ if (.@retry == 1)
+ .@price=POL_AdjustPrice(.@price);
+
+ // How many times more can you tweak?
+ // You get 1 action, capped to 6
+ .@left=gettimeparam(GETTIME_HOUR)-SMITH_TWEAKS;
+ if (.@left > 6) {
+ .@left=6;
+ SMITH_TWEAKS=gettimeparam(GETTIME_HOUR)-6;
+ }
+
+ mes l("Which item will you tweak?");
+ mesc l("Note: You can only perform this operation @@/6 times.", .@left);
+ mesc l("You recover a tweaking point every hour.");
+ mesc l("EXPERTS ONLY - If you are not a talented crafter, avoid this."), 1;
+ mesc l("The item must have a previous bonus, which WILL BE LOST!"), 1;
+ mesc l("Note: You may fail to write skills to it."), 1;
+ mesc l("Operation Cost: @@ GP", .@price), 3;
+
+ // Do you have money or AP
+ if (Zeny < .@price || !.@left) {
+ mesc l("You lack money or Action Points."), 1;
+ return false;
+ }
+
+ .@id=requestitemindex();
+ mes "";
+
+ // Ask player to confirm
+ if (!csys_Confirm(.@id))
+ return false;
+
+ // Collect the item ID
+ delinventorylist();
+ getinventorylist();
+ .@x=@inventorylist_id[.@id];
+
+ // No duplicates
+ if (countitem(.@x) > 1) {
+ mesc l("You are carrying duplicates of the same item. Sorry, but I have no idea which one you want to tweak."), 1;
+ return false;
+ }
+
+ // Skip equipped items
+ if (isequipped(.@x)) {
+ mesc l("You should unequip this item first."), 1;
+ return false;
+ }
+
+ // If the item have no bonuses - fail
+ setarray .@AlwaysTweaks, 65535, BlacksmithAxe, Dustynator, Lightbringer,
+ DemureAxe, Tyranny, Runestaff, AegisShield,
+ SaviorShield, SaviorArmor, SaviorBoots, SaviorPants,
+ Skypiercer;
+
+ // Tweaked items
+ if (getitemoptionidbyindex(.@id, 0) <= 0 && !is_master() && array_find(.@AlwaysTweaks, .@x) < 0) {
+ mesc l("This item have no bonuses, and cannot be tweaked."), 1;
+ return false;
+ }
+
+ // Take the money and AP away
+ POL_PlayerMoney(.@price);
+ if (.@x != Lightbringer)
+ SMITH_TWEAKS+=1;
+
+ // Apply the bonuses. This will only loop if `continue;` is cast.
+ // `continue` will only be cast if .@retry is set
+ do
+ {
+ .@retry-=1;
+ // Check if you fail
+ if (!csys_Check(.@id)) {
+ mesc l("YOU FAIL! It is a simple item now."), 1;
+ if (.@retry) {
+ mesc l("...Automatically retrying...");
+ continue;
+ }
+ return false;
+ }
+
+ csys_Apply(.@id);
+ mesc l("SUCCESS! Congratulations, the item was improved!"), 3;
+ if (.@retry) {
+ next;
+ mesc l("Do you want to re-roll?"), 1;
+ if (askyesno() == ASK_YES) {
+ continue;
+ }
+ }
+ return true;
+ } while (.@retry > 0);
+}
diff --git a/npc/dev/ci_test.txt b/npc/dev/ci_test.txt
new file mode 100644
index 0000000..c1735bc
--- /dev/null
+++ b/npc/dev/ci_test.txt
@@ -0,0 +1,48 @@
+//================= Hercules Script =======================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2015 Hercules Dev Team
+//= Copyright (C) 2014 Haru
+//=
+//= 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/>.
+//=========================================================================
+//= Script engine self-tests, CI integration
+//================= Description ===========================================
+//= This script depends on npc/dev/test.txt, and extends it so that it can
+//= be called in a CI environment and returns an appropriate value upon
+//= termination.
+//================= Current Version =======================================
+//= 1.0
+//================= Additional Comments ===================================
+//= This script requires the script_mapquit plugin to be loaded.
+//= Usage: ./map-server --load-plugin script_mapquit --load-script npc/dev/test.txt --load-script npc/dev/ci_test.txt
+//=========================================================================
+
+- script HerculesSelfTestCI FAKE_NPC,{
+ end;
+
+OnInit:
+ $@CI_MODE = true;
+ .@val = callfunc("HerculesSelfTestHelper");
+ mapquit(.@val);
+ end;
+}
diff --git a/npc/dev/test.txt b/npc/dev/test.txt
new file mode 100644
index 0000000..f98651d
--- /dev/null
+++ b/npc/dev/test.txt
@@ -0,0 +1,814 @@
+//================= 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) 2013-2015 Haru
+//=
+//= 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/>.
+//=========================================================================
+//= Script engine self-tests
+//================= Description ===========================================
+//= Script to test operators and possibly other elements of the script
+//= engine, useful for regression testing.
+//================= Current Version =======================================
+//= 2.0
+//=========================================================================
+
+function script F_TestReturnValue {
+ return getarg(0);
+}
+
+function script F_TestScopeVars {
+ .@x = 2;
+ return .@x+1;
+}
+
+function script F_TestNPCVars {
+ .xt = 2;
+ return .xt+1;
+}
+
+function script F_TestDeepNestedScope {
+ if (getarg(0) <= 0)
+ return getarg(1); // Stop recursion
+ if (getarg(1))
+ return callfunc("F_TestDeepNestedScope", getarg(0)-1, getarg(1)); // Recursion step
+ .@x = 1;
+ return callfunc("F_TestDeepNestedScope", getarg(0)-1, .@x); // First step
+}
+
+function script F_TestDeepNestedScopeNPC2 {
+ if (getarg(0) <= 0)
+ return getarg(1); // Stop recursion
+ if (getarg(1))
+ return callfunc("F_TestDeepNestedScopeNPC", getarg(0)-1, getarg(1)); // Recursion step
+ .xt = 1;
+ return callfunc("F_TestDeepNestedScopeNPC", getarg(0)-1, .xt); // First step
+}
+
+function script F_TestDeepNestedScopeNPC {
+ if (getarg(0) <= 0)
+ return getarg(1); // Stop recursion
+ if (getarg(1))
+ return callfunc("F_TestDeepNestedScopeNPC2", getarg(0)-1, getarg(1)); // Recursion step
+ .xt = 1;
+ return callfunc("F_TestDeepNestedScopeNPC2", getarg(0)-1, .xt); // First step
+}
+
+function script F_TestNestedScope {
+ .@x = 1;
+ .@y = callfunc("F_TestReturnValue", .@x);
+ return .@y;
+}
+
+function script F_TestNestedScopeNPC {
+ .xt = 1;
+ .yt = callfunc("F_TestReturnValue", .xt);
+ return .yt;
+}
+
+function script F_TestArrayRefs {
+ return getelementofarray(getarg(0), getarraysize(getarg(0)) - 1);
+}
+
+function script F_TestReturnArrayRef {
+ setarray getarg(0), 5, 6, 7, 8;
+ return getarraysize(getarg(0));
+}
+
+function script F_TestScopeArrays {
+ setarray .@x, 1, 2, 3, 4;
+ copyarray .@y, getarg(0), getarraysize(getarg(0));
+ return getarraysize(.@y);
+}
+
+function script F_TestNPCArrays {
+ setarray .xt, 1, 2, 3, 4;
+ copyarray .yt, getarg(0), getarraysize(getarg(0));
+ return getarraysize(.yt);
+}
+
+function script F_TestVarOfAnotherNPC {
+ return getvariableofnpc(.xt, getarg(0));
+}
+
+- script TestVarOfAnotherNPC FAKE_NPC,{
+ // Used to test getvariableofnpc()
+ end;
+}
+
+function script HerculesSelfTestHelper {
+ if (.once > 0)
+ return .errors;
+ .once = 1;
+ .errors = 0;
+
+ // Callsub (basic)
+ callsub(OnCheck, "Callsub", 1, 1);
+ callsub(OnCheck, "Callsub (getarg default values)", 1);
+
+
+ // Array subscript
+ setarray .@a, 3, 2, 1;
+ callsub(OnCheck, "Array subscript", .@a[2]);
+
+
+ // Increment and decrement operators ++, --
+ .@x = 1;
+ .@y = .@x++; // .@y = .@x; .@x = .@x + 1;
+ callsub(OnCheck, "Suffix increment ++", .@y);
+ callsub(OnCheck, "Suffix increment ++", .@x, 2);
+ .@x = 1;
+ .@y = .@x--; // .@y = .@x; .@x = .@x - 1;
+ callsub(OnCheck, "Suffix decrement --", .@y);
+ callsub(OnCheck, "Suffix decrement --", .@x, 0);
+ .@x = 0;
+ .@y = ++.@x; // .@x = .@x + 1; .@y = .@x;
+ callsub(OnCheck, "Prefix increment ++", .@y);
+ callsub(OnCheck, "Prefix increment ++", .@x);
+ .@x = 2;
+ .@y = --.@x; // .@x = .@x - 1; .@y = .@x;
+ callsub(OnCheck, "Prefix decrement --", .@y);
+ callsub(OnCheck, "Prefix decrement --", .@x);
+
+ // Order of [] and --/++
+ .@a[1] = 0;
+ .@a[1]++; // .@a[1] = .@a[1] + 1;
+ callsub(OnCheck, "Order of [] and ++", .@a[1]);
+ .@a[1] = 2;
+ .@a[1]--; // .@a[1] = .@a[1] - 1;
+ callsub(OnCheck, "Order of [] and --", .@a[1]);
+
+
+ // Unary operators -, !, ~
+ .@x = 1;
+ .@y = -.@x; // .@y = 0 - .@x;
+ callsub(OnCheck, "Unary operator -", .@y, -1);
+ .@x = 1;
+ .@y = !.@x; // if(.@x == 0) .@y = 1; else .@y = 0;
+ callsub(OnCheck, "Unary operator !", .@y, 0);
+ .@x = 0x00000001;
+ .@y = ~.@x; // One's complement of 0x00000001 is 0xfffffffe, which is -2
+ callsub(OnCheck, "Unary operator ~", .@y, -2);
+
+ // Associativity of unary operators -, !, ~
+ .@x = 1;
+ .@y = ~ ! .@x; // .@y = ~(!.@x);
+ callsub(OnCheck, "Associativity of unary ~ and !", .@y, -1);
+ .@x = 0;
+ .@y = - ! .@x; // .@y = -(!.@x);
+ callsub(OnCheck, "Associativity of unary - and !", .@y, -1);
+ .@x = 1;
+ .@y = ~ - .@x; // .@y = ~(-.@x);
+ callsub(OnCheck, "Associativity of unary ~ and -", .@y, 0);
+ .@x = 1;
+ .@y = - ~ .@x; // .@y = -(~.@x);
+ callsub(OnCheck, "Associativity of unary - and ~", .@y, 2);
+
+ // Order of unary -, !, ~ and prefix/suffix ++/--
+ .@x = 2;
+ .@y = - --.@x; // .@y = -(--.@x);
+ callsub(OnCheck, "Order of unary - and prefix --", .@y, -1);
+ callsub(OnCheck, "Order of unary - and prefix --", .@x);
+ .@x = 1;
+ .@y = - .@x--; // .@y = -(.@x--);
+ callsub(OnCheck, "Order of unary - and suffix --", .@y, -1);
+ callsub(OnCheck, "Order of unary - and suffix --", .@x, 0);
+ .@x = 0;
+ .@y = - ++.@x; // .@y = -(++.@x);
+ callsub(OnCheck, "Order of unary - and prefix ++", .@y, -1);
+ callsub(OnCheck, "Order of unary - and prefix ++", .@x);
+ .@x = 1;
+ .@y = - .@x++; // .@y = -(.@x++);
+ callsub(OnCheck, "Order of unary - and suffix ++", .@y, -1);
+ callsub(OnCheck, "Order of unary - and suffix ++", .@x, 2);
+ .@x = 1;
+ .@y = !--.@x; // .@y = !(--.@x);
+ callsub(OnCheck, "Order of unary ! and prefix --", .@y);
+ callsub(OnCheck, "Order of unary ! and prefix --", .@x, 0);
+ .@x = 1;
+ .@y = !.@x--; // .@y = !(.@x--);
+ callsub(OnCheck, "Order of unary ! and suffix --", .@y, 0);
+ callsub(OnCheck, "Order of unary ! and suffix --", .@x, 0);
+ .@x = 0;
+ .@y = !++.@x; // .@y = !(++.@x);
+ callsub(OnCheck, "Order of unary ! and prefix ++", .@y, 0);
+ callsub(OnCheck, "Order of unary ! and prefix ++", .@x);
+ .@x = 0;
+ .@y = !.@x++; // .@y = !(.@x++);
+ callsub(OnCheck, "Order of unary ! and suffix ++", .@y);
+ callsub(OnCheck, "Order of unary ! and suffix ++", .@x);
+ .@x = 2;
+ .@y = ~--.@x; // .@y = ~(--.@x);
+ callsub(OnCheck, "Order of unary ~ and prefix --", .@y, -2);
+ callsub(OnCheck, "Order of unary ~ and prefix --", .@x, 1);
+ .@x = 1;
+ .@y = ~.@x--; // .@y = ~(.@x--);
+ callsub(OnCheck, "Order of unary ~ and suffix --", .@y, -2);
+ callsub(OnCheck, "Order of unary ~ and suffix --", .@x, 0);
+ .@x = 0;
+ .@y = ~++.@x; // .@y = ~(++.@x);
+ callsub(OnCheck, "Order of unary ~ and prefix ++", .@y, -2);
+ callsub(OnCheck, "Order of unary ~ and prefix ++", .@x, 1);
+ .@x = 1;
+ .@y = ~.@x++; // .@y = ~(.@x++);
+ callsub(OnCheck, "Order of unary ~ and suffix ++", .@y, -2);
+ callsub(OnCheck, "Order of unary ~ and suffix ++", .@x, 2);
+
+ // Binary *, /, % operators
+ .@x = 2 * 3; // .@x = 6;
+ callsub(OnCheck, "Binary * operator", .@x, 6);
+ .@x = 7 / 2; // .@x = 3;
+ callsub(OnCheck, "Binary / operator", .@x, 3);
+ .@x = 7 % 2; // .@x = 1;
+ callsub(OnCheck, "Binary % operator", .@x, 1);
+
+ // Associativity of *, /, %
+ .@x = 8 * 3 / 2; // .@x = (8 * 3) / 2;
+ callsub(OnCheck, "Associativity of * and /", .@x, 12);
+
+ // Order of binary *%/ and unary !-~
+ .@x = 2 * ! 3; // .@x = 2 * (!3);
+ callsub(OnCheck, "Order of binary * and unary !", .@x, 0);
+ .@x = ~ 1 * 2; // .@x = (~1) * 2;
+ callsub(OnCheck, "Order of unary ~ and binary *", .@x, -4);
+
+
+ // Binary +, - operators
+ .@x = 1 + 3; // .@x = 4;
+ callsub(OnCheck, "Binary + operator", .@x, 4);
+ .@x = 1 - 3; // .@x = -2;
+ callsub(OnCheck, "Binary - operator", .@x, -2);
+
+ // Associativity of +,-
+ .@x = 0x7fffffff - 0x7ffffff0 + 1; // .@x = (0x7fffffff - 0x7ffffff0) + 1; (without overflow)
+ callsub(OnCheck, "Associativity of + and -", .@x, 16);
+
+ // Order of +, - and *, /, %
+ .@x = 1 + 3 * 2; // .@x = 1 + (3 * 2);
+ callsub(OnCheck, "Order of + and *", .@x, 7);
+
+
+ // << and >> operators
+ .@x = 1<<3; // .@x = 1*2*2*2;
+ callsub(OnCheck, "Left shift << operator", .@x, 8);
+ .@x = 12>>2; // .@x = 12/2/2;
+ callsub(OnCheck, "Right shift >> operator", .@x, 3);
+
+ // Associativity of << and >>
+ .@x = 0x40000000 >> 4 << 2; // .@x = (0x40000000 >> 4) << 2
+ callsub(OnCheck, "Associativity of >> and <<", .@x, 0x10000000);
+
+ // Order of <</>> and +/-
+ .@x = 4 << 2 + 1; // .@x = 4 << (2+1);
+ callsub(OnCheck, "Order of << and +", .@x, 32);
+
+
+ // <, <=, >, >= operators
+ .@x = (1 < 2); // true
+ .@y = (2 < 2); // false
+ callsub(OnCheck, "< operator", .@x);
+ callsub(OnCheck, "< operator", .@y, 0);
+ .@x = (1 <= 2); // true
+ .@y = (2 <= 2); // true
+ callsub(OnCheck, "<= operator", .@x);
+ callsub(OnCheck, "<= operator", .@y);
+ .@x = (2 > 1); // true
+ .@y = (2 > 2); // false
+ callsub(OnCheck, "> operator", .@x);
+ callsub(OnCheck, "> operator", .@y, 0);
+ .@x = (2 >= 1); // true
+ .@y = (2 >= 2); // true
+ callsub(OnCheck, ">= operator", .@x);
+ callsub(OnCheck, ">= operator", .@y);
+
+ // Associativity of <,<=,>,>=
+ .@x = 1 > 0 > 0; // (1 > 0) > 0 --> 1 > 0 --> true
+ callsub(OnCheck, "Associativity of > operators", .@x);
+
+ // Order of >>/<< and </<=/>/>=
+ .@x = 1 < 1 << 2; // .@x = 1 < (1<<2);
+ callsub(OnCheck, "Order of < and <<", .@x);
+
+
+ // ==, !=, ~=, ~! operators
+ .@x = (0 == 0); // true
+ .@y = (1 == 0); // false
+ callsub(OnCheck, "== operator", .@x);
+ callsub(OnCheck, "== operator", .@y, 0);
+ .@x = (1 != 0); // true
+ .@y = (1 != 1); // false
+ callsub(OnCheck, "!= operator", .@x);
+ callsub(OnCheck, "!= operator", .@y, 0);
+ .@x$ = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. "
+ "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. "
+ "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. "
+ "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
+ .@y = (.@x$ ~= "^Lorem.*, ([a-z]*).*(Duis).* ([a-z.]*)$");
+ callsub(OnCheck, "~= operator", .@y, 4);
+ callsub(OnCheck, "~= operator", $@regexmatchcount, 4);
+ if( $@regexmatchcount == 4 ) {
+ callsub(OnCheck, "~= operator", $@regexmatch$[0], .@x$);
+ callsub(OnCheck, "~= operator", $@regexmatch$[1], "quis");
+ callsub(OnCheck, "~= operator", $@regexmatch$[2], "Duis");
+ callsub(OnCheck, "~= operator", $@regexmatch$[3], "laborum.");
+ }
+ .@y = (.@x$ ~! "^Not Lorem.*, ([a-z]*).*(Duis).* ([a-z.]*)$");
+ callsub(OnCheck, "~! operator", .@y);
+
+ // Associativity of ==, !=
+ .@x = (1 == 0 == 0); // (1 == 0) == 0 --> 0 == 0 --> 1
+ .@y = (1 != 0 == 0); // (1 != 0) == 0 --> 1 == 0 --> 0
+ callsub(OnCheck, "Associativity of != and == operators", .@x);
+ callsub(OnCheck, "Associativity of != and == operators", .@y, 0);
+
+ // Order of </<=/>/>= and ==/!=
+ .@x = (1 == 2 > 1); // true
+ .@y = (1 < 2 == 1); // true
+ callsub(OnCheck, "Order of <,>,==", .@x);
+ callsub(OnCheck, "Order of <,>,==", .@y);
+
+
+ .@x$ = "string "
+ "concatenation" /* test */ " succeeded";
+ callsub(OnCheckStr, "String concatenation", .@x$, "string concatenation succeeded");
+
+
+ // Bitwise & operator
+ .@x = (7&4); // 0111 & 0100 --> 0100
+ .@y = (4&1); // 0100 & 0001 --> 0000
+ callsub(OnCheck, "Bitwise & operator", .@x, 4);
+ callsub(OnCheck, "Bitwise & operator", .@y, 0);
+
+ // Order of & and ==/!=
+ .@x = (4 == 7 & 4); // (4 == 7)&4
+ .@y = (1 & 3 != 1); // 1 & (3 != 1)
+ callsub(OnCheck, "Order of ==/!= and &", .@x, 0);
+ callsub(OnCheck, "Order of ==/!= and &", .@y);
+
+
+ // Bitwise ^ operator
+ .@x = (3^1); // 0011 ^ 0001 --> 0010
+ callsub(OnCheck, "Bitwise ^ operator", .@x, 2);
+
+ // Order of ^ and &
+ .@x = (0 & 2 ^ 2); // (0 & 2) ^ 2 --> (0000 & 0010) | 0010 --> 0000 ^ 0010 --> 0010
+ .@y = (2 ^ 2 & 0); // 2 ^ (2 & 0) --> 0010 | (0010 & 0000) --> 0010 ^ 0000 --> 0010
+ callsub(OnCheck, "Order of ^ and &", .@x, 2);
+ callsub(OnCheck, "Order of ^ and &", .@y, 2);
+
+
+ // Bitwise | operator
+ .@x = (3|4); // 0011 | 0100 --> 0111
+ .@y = (4|1); // 0100 | 0001 --> 0101
+ callsub(OnCheck, "Bitwise | operator", .@x, 7);
+ callsub(OnCheck, "Bitwise | operator", .@y, 5);
+
+ // Order of ^ and |
+ .@x = (2 ^ 2 | 2); // (2 ^ 1) | 4 --> (0010 ^ 0010) | 0010 --> 0000 | 0010 --> 0010
+ .@y = (2 | 2 ^ 2); // 4 | (1 ^ 2) --> 0010 | (0010 ^ 0010) --> 0010 | 0000 --> 0010
+ callsub(OnCheck, "Order of | and ^", .@x, 2);
+ callsub(OnCheck, "Order of | and ^", .@y, 2);
+
+
+ // Logical && operator
+ .@x = (1 && 1); // true
+ .@y = (0 && 1); // false
+ callsub(OnCheck, "Logical && operator", .@x);
+ callsub(OnCheck, "Logical && operator", .@y, 0);
+
+ // Associativity of && and short-circuit
+ .@x = 0;
+ .@y = (1 && 0 && (.@x = 1)); // should short circuit as false before evaluating the assignment
+ //FIXME callsub(OnCheck, "Short-circuit of &&", .@x, 0);
+ callsub(OnCheck, "Associativity of &&", .@y, 0);
+
+ // Order of bitwise | and logical &&
+ .@x = (1 && 0 | 4); // 1 && (0|4)
+ .@y = (4 | 0 && 1); // (4|0) && 1
+ callsub(OnCheck, "Order of && and |", .@x);
+ callsub(OnCheck, "Order of && and |", .@y);
+
+
+ // Logical || operator
+ .@x = (1 || 1); // true
+ .@y = (0 || 1); // true
+ callsub(OnCheck, "Logical || operator", .@x);
+ callsub(OnCheck, "Logical || operator", .@y);
+
+ // Associativity of || and short-circuit
+ .@x = 0;
+ .@y = (1 || 0 || (.@x = 1)); // should short circuit as true before evaluating the assignment
+ //FIXME callsub(OnCheck, "Short-circuit of ||", .@x, 0);
+ callsub(OnCheck, "Associativity of ||", .@y);
+
+ // Order of logical && and ||
+ .@x = (0 && 1 || 1); // (0 && 1) || 1
+ .@y = (1 || 1 && 0); // 1 || (1 && 0)
+ callsub(OnCheck, "Order of && and ||", .@x);
+ callsub(OnCheck, "Order of && and ||", .@y);
+
+ // Ternary conditional operator ?:
+ .@x = (1 ? 2 : 3); // 2
+ .@y = (0 ? 2 : 3); // 3
+ callsub(OnCheck, "Ternary conditional operator", .@x, 2);
+ callsub(OnCheck, "Ternary conditional operator", .@y, 3);
+
+ // Associativity of ?:
+ .@x = (1 ? 2 : 0 ? 3 : 4);
+ .@y = (1 ? 1 ? 2 : 3 : 5);
+ callsub(OnCheck, "Associativity of ?:", .@x, 2);
+ callsub(OnCheck, "Associativity of ?:", .@y, 2);
+
+ // Order of logical || and ternary ?:
+ .@x = (1 ? 0 : 0 || 1); // 1 ? 0 : (0 || 1) --> false
+ callsub(OnCheck, "Order of || and ?:", .@x, 0);
+
+
+ // Assignment operators
+ .@x = 1;
+ callsub(OnCheck, "Direct assignment operator =", .@x);
+ .@x += 7; // 1 + 7
+ callsub(OnCheck, "Assignment by sum +=", .@x, 8);
+ .@x -= 1; // 8 - 1
+ callsub(OnCheck, "Assignment by difference -=", .@x, 7);
+ .@x *= 2; // 7 * 2
+ callsub(OnCheck, "Assignment by product *=", .@x, 14);
+ .@x /= 2; // 14 / 2
+ callsub(OnCheck, "Assignment by quotient /=", .@x, 7);
+ .@x %= 4; // 7 % 4
+ callsub(OnCheck, "Assignment by remainder %=", .@x, 3);
+ .@x <<= 2; // 3 << 2
+ callsub(OnCheck, "Assignment by bitwise left shift <<=", .@x, 12);
+ .@x >>= 1; // 12 >> 1
+ callsub(OnCheck, "Assignment by bitwise right shift >>=", .@x, 6);
+ .@x &= 5; // 6 & 5 (0110 & 0101 --> 0100)
+ callsub(OnCheck, "Assignment by bitwise and &=", .@x, 4);
+ .@x ^= 5; // 4 ^ 5 (0100 ^ 0101 --> 0001)
+ callsub(OnCheck, "Assignment by bitwise xor ^=", .@x, 1);
+ .@x |= 2; // 1 | 2 (0001 | 0010 --> 0011)
+ callsub(OnCheck, "Assignment by bitwise or |=", .@x, 3);
+
+ // Associativity of assignment operators
+ .@x = 0; .@y = 0;
+ .@x = .@y = 1;
+ callsub(OnCheck, "Associativity of =", .@x);
+ callsub(OnCheck, "Associativity of =", .@y);
+ .@x = 0; .@y = 1;
+ .@x = .@y += 4;
+ callsub(OnCheck, "Associativity of = and +=", .@x, 5);
+ callsub(OnCheck, "Associativity of = and +=", .@y, 5);
+ .@x = 5; .@y = 3;
+ .@z = 8;
+ .@x *= .@y += 1;
+ callsub(OnCheck, "Associativity of *= and +=", .@x, 20);
+ callsub(OnCheck, "Associativity of *= and +=", .@y, 4);
+
+ .@x = 1; .@y = 3;
+ .@x += .@y * 10;
+ callsub(OnCheck, "Order of += and *", .@x, 31);
+ .@x = 1; .@y = 3;
+ .@x = .@y != 3 ? .@y = 2 : 4;
+ callsub(OnCheck, "Order of = and ?:", .@x, 4);
+ // FIXME callsub(OnCheck, "Short-circuit of ?:", .@y, 3);
+
+ .@x = 0;
+ if (0)
+ if (1)
+ .@x = 2;
+ else
+ .@x = 3;
+ callsub(OnCheck, "Dangling else", .@x, 0);
+
+
+ // Array operations
+ .@x[0] = 1;
+ callsub(OnCheck, "Array size (single value)", getarraysize(.@x), 1);
+ .@x[0] = 0;
+ callsub(OnCheck, "Array size (single value removal)", getarraysize(.@x), 0);
+
+ .@x[0] = 1;
+ .@x[1] = 2;
+ .@x[2] = 3;
+ .@x[5] = 4;
+ .@x[8] = 5;
+ .@x[9] = 0;
+ setarray .@y[0], 1, 2, 3, 0, 0, 4, 0, 0, 5;
+ callsub(OnCheck, "Array size (assignment)", getarraysize(.@x), 9);
+ callsub(OnCheck, "Array size (setarray)", getarraysize(.@y), 9);
+ for (.@i = 0; .@i < 10; ++.@i) {
+ callsub(OnCheck, "Array subscript and setarray [" + .@i + "]", .@x[.@i], .@y[.@i]);
+ }
+
+ cleararray .@x[1], 8, 6;
+ callsub(OnCheck, "cleararray (value) [0]", .@x[0], 1);
+ for (.@i = 1; .@i < 7; ++.@i) {
+ callsub(OnCheck, "cleararray (value) [" + .@i + "]", .@x[.@i], 8);
+ }
+ callsub(OnCheck, "cleararray (value) [7]", .@x[7], 0);
+ callsub(OnCheck, "cleararray (value) [8]", .@x[8], 5);
+ callsub(OnCheck, "cleararray (value) [9]", .@x[9], 0);
+
+ cleararray .@x, 0, getarraysize(.@x);
+ cleararray .@y, 0, getarraysize(.@y);
+ callsub(OnCheck, "cleararray and getarraysize", getarraysize(.@x), 0);
+ for (.@i = 0; .@i < 10; ++.@i) {
+ callsub(OnCheck, "cleararray (zero) [" + .@i + "]", .@x[.@i], 0);
+ }
+
+ cleararray .@x, 0, getarraysize(.@x);
+ setarray .@x[1], 1, 2, 0, 0, 0, 6, 7, 8, 0, 0, 0, 13, 14, 15, 16;
+ deletearray .@x;
+ callsub(OnCheck, "deletearray (clear) and getarraysize", getarraysize(.@x), 0);
+ for (.@i = 0; .@i < 18; ++.@i) {
+ callsub(OnCheck, "deletearray (clear) [" + .@i + "]", .@x[.@i], 0);
+ }
+
+ deletearray .@x;
+ deletearray .@y;
+ setarray .@x[1], 1, 2, 0, 0, 0, 6, 7, 8, 0, 0, 0, 0, 13, 14, 15, 16;
+ setarray .@y, 0, 1, 2, 0, 0, 0, 6, 7, 8, 0, 0, 0, 13, 14, 15, 16;
+ deletearray .@x[9], 1;
+ callsub(OnCheck, "deletearray (single) and getarraysize", getarraysize(.@x), 16);
+ for (.@i = 0; .@i < 18; ++.@i) {
+ callsub(OnCheck, "deletearray (single) [" + .@i + "]", .@x[.@i], .@y[.@i]);
+ }
+
+ deletearray .@x;
+ deletearray .@y;
+ setarray .@x[1], 1, 2, 0, 0, 0, 6, 7, 8, 0, 0, 0, 13, 14, 15, 16;
+ setarray .@y, 0, 1, 6, 7, 8, 0, 0, 0, 13, 14, 15, 16;
+ deletearray .@x[2], 4;
+ callsub(OnCheck, "deletearray (multiple) and getarraysize", getarraysize(.@x), 12);
+ for (.@i = 0; .@i < 18; ++.@i) {
+ callsub(OnCheck, "deletearray (multiple) [" + .@i + "]", .@x[.@i], .@y[.@i]);
+ }
+
+ deletearray .@x;
+ deletearray .@y;
+ setarray .@x[1], 1, 2, 0, 0, 0, 6, 7, 8, 0, 0, 0, 13, 14, 15, 16;
+ setarray .@y, 0, 1;
+ deletearray .@x[2], 1000;
+ callsub(OnCheck, "deletearray (large count) and getarraysize", getarraysize(.@x), 2);
+ for (.@i = 0; .@i < 18; ++.@i) {
+ callsub(OnCheck, "deletearray (large count) [" + .@i + "]", .@x[.@i], .@y[.@i]);
+ }
+
+ deletearray .@x;
+ deletearray .@y;
+ setarray .@x[1], 1, 2, 0, 0, 0, 6, 7, 8, 0, 0, 0, 13, 14, 15, 16;
+ setarray .@y, 0, 1;
+ deletearray .@x[2];
+ callsub(OnCheck, "deletearray (truncate) and getarraysize", getarraysize(.@x), 2);
+ for (.@i = 0; .@i < 18; ++.@i) {
+ callsub(OnCheck, "deletearray (truncate) [" + .@i + "]", .@x[.@i], .@y[.@i]);
+ }
+
+ deletearray .@x;
+ .@x[1] = 2;
+ .@x[65536] = 1;
+ callsub(OnCheck, "large array index", .@x[65536], 1);
+ callsub(OnCheck, "large array index and getarraysize", getarraysize(.@x), 65537);
+ .@x[65536] = 0;
+ callsub(OnCheck, "large array index (shrink)", .@x[65536], 0);
+ callsub(OnCheck, "large array index and getarraysize (shrink)", getarraysize(.@x), 2);
+ .@x[1] = 0;
+ callsub(OnCheck, "array shrink", .@x[1], 0);
+ callsub(OnCheck, "array shrink and getarraysize", getarraysize(.@x), 0);
+
+ // min and max
+ callsub(OnCheck, "min()", min(5, -10, 8, 3, -2, 1000), -10);
+ callsub(OnCheck, "max()", max(5, -10, 8, 3, -2, 1000), 1000);
+
+
+ // Constants
+ callsub(OnCheck, "'true' constant", true, 1);
+ callsub(OnCheck, "'false' constant", false, 0);
+ callsub(OnCheck, "'Piou' mob ID", Piou, 1002);
+ callsub(OnCheck, "'NV_BASIC' skill ID", NV_BASIC, 1);
+ callsub(OnCheck, "'Acorn' item ID", Acorn, 501);
+ callsub(OnCheck, "'Bread' item ID", Bread, 502);
+
+
+ // setd/getd
+ .@x = 1; .@x$ = ".@x";
+ callsub(OnCheck, "getd", getd(".@x"), 1);
+ callsub(OnCheck, "getd arguments", getd(.@x$), 1);
+ .@y = 0; .@y$ = ".@y";
+ setd(".@y", .@x);
+ callsub(OnCheck, "setd", .@y, 1);
+ setd(.@y$, 2);
+ callsub(OnCheck, "setd arguments", .@y, 2);
+ set getd(".@x"), getd(".@y");
+ callsub(OnCheck, "set getd", .@x, .@y);
+ .@y = 1;
+ setd(".@x", getd(".@y"));
+ callsub(OnCheck, "setd getd", .@x, .@y);
+
+ // getvariableofnpc
+ .xt = 2;
+ set getvariableofnpc(.xt, "TestVarOfAnotherNPC"), 1;
+ callsub(OnCheck, "Setting NPC variables of another NPC", getvariableofnpc(.xt, "TestVarOfAnotherNPC"), 1);
+ callsub(OnCheck, "Setting NPC variables of another NPC (local variable overwrite check)", .xt, 2);
+
+ // Callsub (advanced)
+ callsub(OnCheck, "Callsub return value", callsub(OnTestReturnValue, 1));
+ .@x = 1;
+ callsub(OnCheck, "Callsub return with scope variables", callsub(OnTestScopeVars), 3);
+ callsub(OnCheck, "Callsub (parent scope vars isolation)", .@x, 1);
+ callsub(OnCheck, "Callsub (nested scopes)", callsub(OnTestNestedScope), 1);
+ callsub(OnCheck, "Callsub (deeply nested scopes)", callsub(OnTestDeepNestedScope, 30, 0), 1);
+ .@x = 1;
+ .@y = callsub(OnSetReference, .@x);
+ callsub(OnCheck, "Callsub (setting references)", .@y, 2);
+ callsub(OnCheck, "Callsub (setting references)", .@x, 2);
+ deletearray .@x;
+ setarray .@x, 1, 2, 3, 4;
+ callsub(OnCheck, "Callsub (array references)", callsub(OnTestArrayRefs, .@x), 4);
+ deletearray .@x;
+ .@y = callsub(OnTestReturnArrayRef, .@x);
+ callsub(OnCheck, "Callsub return array references (size check)", getarraysize(.@x), .@y);
+ callsub(OnCheck, "Callsub return array references", getelementofarray(.@x, 3), 8);
+ deletearray .@x;
+ deletearray .@y;
+ setarray .@x, 1, 2;
+ .@z = getarraysize(.@x);
+ setarray .@y, 5, 6, 7, 8, 9;
+ callsub(OnCheck, "Callsub (copyarray from reference with the same name)", getarraysize(.@y), callsub(OnTestScopeArrays, .@y));
+ callsub(OnCheck, "Callsub (parent array vars isolation)", getarraysize(.@x), .@z);
+ deletearray .@x;
+ deletearray .@y;
+ .xt = 2;
+ set getvariableofnpc(.xt, "TestVarOfAnotherNPC"), 1;
+ callsub(OnCheck, "Callsub (return NPC variables from another NPC)", callsub(OnTestVarOfAnotherNPC, "TestVarOfAnotherNPC"), 1);
+ callsub(OnCheck, "Callsub (return NPC variables from another NPC - local variable overwrite check)", .xt, 2);
+
+ // Callfunc
+ callsub(OnCheck, "Callfunc return value", callfunc("F_TestReturnValue", 1));
+ .@x = 1;
+ callsub(OnCheck, "Callfunc return with scope variables", callfunc("F_TestScopeVars"), 3);
+ callsub(OnCheck, "Callfunc (parent scope vars isolation)", .@x, 1);
+ callsub(OnCheck, "Callfunc (nested scopes)", callfunc("F_TestNestedScope"), 1);
+ callsub(OnCheck, "Callfunc (deeply nested scopes)", callfunc("F_TestDeepNestedScope", 30, 0), 1);
+ deletearray .@x;
+ setarray .@x, 1, 2, 3, 4;
+ callsub(OnCheck, "Callfunc (array references)", callfunc("F_TestArrayRefs", .@x), 4);
+ deletearray .@x;
+ .@y = callfunc("F_TestReturnArrayRef", .@x);
+ callsub(OnCheck, "Callfunc return array references (size check)", getarraysize(.@x), .@y);
+ callsub(OnCheck, "Callfunc return array references", getelementofarray(.@x, 3), 8);
+ deletearray .@x;
+ deletearray .@y;
+ setarray .@x, 1, 2;
+ .@z = getarraysize(.@x);
+ setarray .@y, 5, 6, 7, 8, 9;
+ callsub(OnCheck, "Callfunc (copyarray from reference with the same name)", getarraysize(.@y), callfunc("F_TestScopeArrays", .@y));
+ callsub(OnCheck, "Callfunc (parent array vars isolation)", getarraysize(.@x), .@z);
+ deletearray .@x;
+ deletearray .@y;
+ .xt = 1;
+ callsub(OnCheck, "Callfunc return with NPC variables", callfunc("F_TestNPCVars"), 3);
+ callsub(OnCheck, "Callfunc (parent NPC vars isolation)", .xt, 1);
+ callsub(OnCheck, "Callfunc (nested scopes and NPC variables)", callfunc("F_TestNestedScopeNPC"), 1);
+ callsub(OnCheck, "Callfunc (deeply nested scopes and NPC variables)", callfunc("F_TestDeepNestedScopeNPC", 30, 0), 1);
+ deletearray .xt;
+ setarray .xt, 1, 2, 3, 4;
+ callsub(OnCheck, "Callfunc (array references and NPC variables)", callfunc("F_TestArrayRefs", .xt), 4);
+ deletearray .xt;
+ .yt = callfunc("F_TestReturnArrayRef", .xt);
+ callsub(OnCheck, "Callfunc return array references with NPC variables (size check)", getarraysize(.xt), .yt);
+ callsub(OnCheck, "Callfunc return array references wuth NPC variables", getelementofarray(.xt, 3), 8);
+ deletearray .xt;
+ deletearray .yt;
+ setarray .xt, 1, 2;
+ .@z = getarraysize(.@x);
+ setarray .yt, 5, 6, 7, 8, 9;
+ callsub(OnCheck, "Callfunc (copyarray from NPC variable reference with the same name)", getarraysize(.@y), callfunc("F_TestNPCArrays", .@y));
+ callsub(OnCheck, "Callfunc (parent array NPC vars isolation)", getarraysize(.@x), .@z);
+ deletearray .xt;
+ deletearray .yt;
+ .xt = 2;
+ set getvariableofnpc(.xt, "TestVarOfAnotherNPC"), 1;
+ callsub(OnCheck, "Callfunc (return NPC variables from another NPC)", callfunc("F_TestVarOfAnotherNPC", "TestVarOfAnotherNPC"), 1);
+ callsub(OnCheck, "Callfunc (return NPC variables from another NPC - local variable overwrite check)", .xt, 2);
+
+ callsub(OnCheckStr, "sprintf (%%)", sprintf("'%%'"), "'%'");
+ callsub(OnCheckStr, "sprintf (%d)", sprintf("'%d'", 5), "'5'");
+ callsub(OnCheckStr, "sprintf (neg. %d)", sprintf("'%d'", -5), "'-5'");
+ callsub(OnCheckStr, "sprintf (%u)", sprintf("'%u'", 5), "'5'");
+ callsub(OnCheckStr, "sprintf (%x)", sprintf("'%x'", 10), "'a'");
+ callsub(OnCheckStr, "sprintf (%X)", sprintf("'%X'", 31), "'1F'");
+ callsub(OnCheckStr, "sprintf (%s)", sprintf("'%s'", "Hello World!"), "'Hello World!'");
+ callsub(OnCheckStr, "sprintf (%c)", sprintf("'%c'", "Hello World!"), "'H'");
+ callsub(OnCheckStr, "sprintf (%+d)", sprintf("'%+d'", 5), "'+5'");
+ callsub(OnCheckStr, "sprintf (%{n}d)", sprintf("'%5d'", 5), "' 5'");
+ callsub(OnCheckStr, "sprintf (%-{n}d)", sprintf("'%-5d'", 5), "'5 '");
+ callsub(OnCheckStr, "sprintf (%-+{n}d)", sprintf("'%-+5d'", 5), "'+5 '");
+ callsub(OnCheckStr, "sprintf (%+0{n}d)", sprintf("'%+05d'", 5), "'+0005'");
+ callsub(OnCheckStr, "sprintf (%0*d)", sprintf("'%0*d'", 5, 10), "'00010'");
+ callsub(OnCheckStr, "sprintf (Two args)", sprintf("'%+05d' '%x'", 5, 0x7f), "'+0005' '7f'");
+ callsub(OnCheckStr, "sprintf (positional)", sprintf("'%2$+05d'", 5, 6), "'+0006'");
+ callsub(OnCheckStr, "sprintf (positional)", sprintf("'%2$s' '%1$c'", "First", "Second"), "'Second' 'F'");
+
+ if (.errors) {
+ consolemes(CONSOLEMES_DEBUG, "Script engine self-test [ \033[0;31mFAILED\033[0m ]");
+ consolemes(CONSOLEMES_ERROR, "**** The test was completed with " + .errors + " errors. ****");
+ } else {
+ consolemes(CONSOLEMES_DEBUG, "Script engine self-test [ \033[0;32mPASSED\033[0m ]");
+ }
+ return .errors;
+ end;
+
+OnTestReturnValue:
+ return getarg(0);
+
+OnTestScopeVars:
+ .@x = 2;
+ return .@x+1;
+
+OnTestDeepNestedScope:
+ if (getarg(0) <= 0)
+ return getarg(1); // Stop recursion
+ if (getarg(1))
+ return callsub(OnTestDeepNestedScope, getarg(0)-1, getarg(1)); // Recursion step
+ .@x = 1;
+ return callsub(OnTestDeepNestedScope, getarg(0)-1, .@x); // First step
+
+OnTestNestedScope:
+ .@x = 1;
+ .@y = callsub(OnTestReturnValue, .@x);
+ return .@y;
+
+OnTestArrayRefs:
+ return getelementofarray(getarg(0), getarraysize(getarg(0)) - 1);
+
+OnTestReturnArrayRef:
+ setarray getarg(0), 5, 6, 7, 8;
+ return getarraysize(getarg(0));
+
+OnTestScopeArrays:
+ setarray .@x, 1, 2, 3, 4;
+ copyarray .@y, getarg(0), getarraysize(getarg(0));
+ return getarraysize(.@y);
+
+OnTestVarOfAnotherNPC:
+ return getvariableofnpc(.xt, getarg(0));
+
+OnReportError:
+ .@msg$ = getarg(0,"Unknown Error");
+ .@val$ = getarg(1,"");
+ .@ref$ = getarg(2,"");
+ if (.errors == 1)
+ consolemes(CONSOLEMES_ERROR, "**** WARNING: Any self-test results past this point are unreliable because of previous errors. ****");
+ consolemes(CONSOLEMES_ERROR, "Error: "+.@msg$+": '"+.@val$+"' (found) != '"+.@ref$+"' (expected)");
+ ++.errors;
+ //end;
+ return;
+
+OnCheck:
+ .@msg$ = getarg(0,"Unknown Error");
+ .@val = getarg(1,0);
+ .@ref = getarg(2,1);
+ if (.@val != .@ref) {
+ callsub(OnReportError, .@msg$, ""+.@val, ""+.@ref); // String coercion
+ }
+ return;
+OnCheckStr:
+ .@msg$ = getarg(0,"Unknown Error");
+ .@val$ = getarg(1,"");
+ .@ref$ = getarg(2,"");
+ if (.@val$ != .@ref$) {
+ callsub(OnReportError, .@msg$, .@val$, .@ref$);
+ }
+ return;
+OnSetReference:
+ set getarg(0), getarg(0) + 1;
+ return getarg(0);
+}
+
+- script HerculesSelfTest FAKE_NPC,{
+ end;
+
+OnInit:
+ callfunc("HerculesSelfTestHelper");
+ end;
+}
diff --git a/npc/functions/array.txt b/npc/functions/array.txt
new file mode 100644
index 0000000..d433abd
--- /dev/null
+++ b/npc/functions/array.txt
@@ -0,0 +1,464 @@
+// Evol Script
+// Author: Gumi
+
+// array_pad(<array>, <size>, <value>)
+// prepend or append <value> until the array is of <size> size
+// returns the amount added on success, or false (0) if nothing changed
+
+function script array_pad {
+ .@index = getarrayindex(getarg(0)); // passed index
+ .@count = getarraysize(getarg(0)) - .@index; // actual size
+ .@size = getarg(1); // desired size
+ .@absolute = (.@size >= 0 ? .@size : -(.@size)); // |size|
+ .@delta = .@absolute - .@count; // amount to fill
+
+ if (.@absolute <= .@count) {
+ return false; // nothing to do
+ }
+
+ if (.@size < 0) {
+ copyarray(getelementofarray(getarg(0), .@index + .@delta), getarg(0), .@count); // shift to the right
+ cleararray(getarg(0), getarg(2), .@delta); // prepend
+ } else {
+ cleararray(getelementofarray(getarg(0), .@index + .@count), getarg(2), .@delta); // append
+ }
+
+ return .@delta;
+}
+
+
+
+// array_replace(<array>, <needle>, <replace>{, <neq>})
+// replace every occurence of <needle> with <replace>
+// returns the number of replaced elements
+
+function script array_replace {
+ .@size = getarraysize(getarg(0));
+ .@neq = getarg(3, false);
+ freeloop(true);
+
+ for (.@i = getarrayindex(getarg(0)); .@i < .@size; ++.@i) {
+ if ((.@neq && (getelementofarray(getarg(0), .@i) != getarg(1))) ||
+ (!(.@neq) && (getelementofarray(getarg(0), .@i) == getarg(1)))) {
+ set(getelementofarray(getarg(0), .@i), getarg(2));
+ ++.@count;
+ }
+ }
+
+ freeloop(false);
+ return .@count;
+}
+
+
+
+// array_find(<array>, <needle>{, <neq>})
+// return the index of the first occurence of <needle> in <array>
+// if not found it returns -1
+
+function script array_find {
+ .@size = getarraysize(getarg(0));
+ .@neq = getarg(2, false);
+ freeloop(true);
+
+ for (.@i = getarrayindex(getarg(0)); .@i < .@size; ++.@i) {
+ if ((.@neq && (getelementofarray(getarg(0), .@i) != getarg(1))) ||
+ (!(.@neq) && (getelementofarray(getarg(0), .@i) == getarg(1)))) {
+ freeloop(false);
+ return .@i;
+ }
+ }
+
+ freeloop(false);
+ return -1;
+}
+
+
+
+// array_rfind(<array>, <needle>{, <neq>})
+// return the index of the last occurence of <needle> in <array>
+// if not found it returns -1
+
+function script array_rfind {
+ .@min = getarrayindex(getarg(0));
+ .@neq = getarg(2, false);
+ freeloop(true);
+
+ for (.@i = (getarraysize(getarg(0)) - 1); .@i >= .@min; --.@i) {
+ if ((.@neq && (getelementofarray(getarg(0), .@i) != getarg(1))) ||
+ (!(.@neq) && (getelementofarray(getarg(0), .@i) == getarg(1)))) {
+ freeloop(false);
+ return .@i;
+ }
+ }
+
+ freeloop(false);
+ return -1;
+}
+
+
+
+// array_exists(<array>, <needle>{, <neq>})
+// return true or false accordingly if <needle> is found in <array>
+
+function script array_exists {
+ return array_find(getarg(0), getarg(1), getarg(2, false)) > -1;
+}
+
+
+
+// array_count(<array>, <needle>{, <neq>})
+// counts the number of occurrence of <needle> in the <array>
+
+function script array_count {
+ .@size = getarraysize(getarg(0));
+ .@neq = getarg(2, false);
+ freeloop(true);
+
+ for (.@i = getarrayindex(getarg(0)); .@i < .@size; ++.@i) {
+ if ((.@neq && (getelementofarray(getarg(0), .@i) != getarg(1))) ||
+ (!(.@neq) && (getelementofarray(getarg(0), .@i) == getarg(1)))) {
+ ++.@count;
+ }
+ }
+
+ freeloop(false);
+ return .@count;
+}
+
+
+
+// array_entries(<array>)
+// returns the number of non-empty entries
+
+function script array_entries {
+ if (isstr(getarg(0)) == 1) {
+ return array_count(getarg(0), "", true);
+ }
+ return array_count(getarg(0), 0, true);
+}
+
+
+
+// array_remove(<array>, <needle>{, <neq>})
+// removes every occurrence of <needle> in the <array> while shifting left
+
+function script array_remove {
+ .@size = getarraysize(getarg(0));
+ .@neq = getarg(2, false);
+ freeloop(true);
+
+ for (.@i = getarrayindex(getarg(0)); .@i < .@size; ++.@i) {
+ if ((.@neq && (getelementofarray(getarg(0), .@i) != getarg(1))) ||
+ (!(.@neq) && (getelementofarray(getarg(0), .@i) == getarg(1)))) {
+ deletearray(getelementofarray(getarg(0), .@i), 1); // shift left
+ ++.@count; // increase the counter
+ --.@size; // reduce the size
+ --.@i; // step back
+ }
+ }
+
+ freeloop(false);
+ return .@count;
+}
+
+
+
+// array_reverse(<array>)
+// reverses the array
+
+function script array_reverse {
+ .@index = getarrayindex(getarg(0));
+ .@size = getarraysize(getarg(0));
+ freeloop(true);
+
+ for (.@i = .@index; .@i < ((.@size + .@index) / 2); ++.@i) {
+ swap(getelementofarray(getarg(0), .@i), getelementofarray(getarg(0), .@size + .@index - 1 - .@i)); // a <> b
+ }
+
+ freeloop(false);
+ return true;
+}
+
+
+
+// array_sum(<array>)
+// return the sum of every element of the array
+
+function script array_sum {
+ .@size = getarraysize(getarg(0));
+ freeloop(true);
+
+ for (.@i = getarrayindex(getarg(0)); .@i < .@size; ++.@i) {
+ .@sum += getelementofarray(getarg(0), .@i);
+ }
+
+ freeloop(false);
+ return .@sum;
+}
+
+
+
+// array_difference(<array>)
+// return the difference of every element of the array
+
+function script array_difference {
+ .@size = getarraysize(getarg(0));
+ freeloop(true);
+
+ for (.@i = getarrayindex(getarg(0)); .@i < .@size; ++.@i) {
+ .@diff -= getelementofarray(getarg(0), .@i);
+ }
+
+ freeloop(false);
+ return .@diff;
+}
+
+
+
+// array_shift(<array>)
+// returns the first element of the array and removes it, while shifting left
+
+function script array_shift {
+ if (isstr(getarg(0)) == 1) {
+ .@val$ = getarg(0);
+ } else {
+ .@int = true;
+ .@val = getarg(0);
+ }
+
+ deletearray(getarg(0), 1); // shift left
+
+ return .@int ? .@val : .@val$;
+}
+
+
+
+// array_unshift(<array>, <value>)
+// adds <value> to the start of the array, while shifting right
+// returns the new size
+
+function script array_unshift {
+ .@size = getarraysize(getarg(0)) + 1;
+ array_pad(getarg(0), -(.@size - getarrayindex(getarg(0))), getarg(1));
+ return .@size;
+}
+
+
+
+// array_pop(<array>)
+// returns the last element of the array and removes it
+
+function script array_pop {
+ .@last = getarraysize(getarg(0)) - 1;
+
+ if (isstr(getelementofarray(getarg(0), .@last)) == 1) {
+ .@val$ = getelementofarray(getarg(0), .@last);
+ } else {
+ .@int = true;
+ .@val = getelementofarray(getarg(0), .@last);
+ }
+
+ deletearray(getelementofarray(getarg(0), .@last), 1);
+
+ return .@int ? .@val : .@val$;
+}
+
+
+
+// TODO: Rename to array_append >.<
+// array_push(<array>, <value>)
+// adds <value> to the end of the array
+// returns the new size
+
+function script array_push {
+ .@size = getarraysize(getarg(0));
+ set(getelementofarray(getarg(0), .@size), getarg(1));
+ return .@size + 1;
+}
+
+
+
+// array_shuffle(<array>)
+// shuffles the array
+
+function script array_shuffle {
+ .@index = getarrayindex(getarg(0));
+ .@size = getarraysize(getarg(0)) - .@index;
+ freeloop(true);
+
+ if (isstr(getarg(0)) == 1) {
+ copyarray(.@tmp$[0], getarg(0), .@size);
+ for (; .@size >= 1; --.@size) {
+ set(getelementofarray(getarg(0), .@index + .@size - 1), array_shift(.@tmp$[rand(.@size)]));
+ }
+ } else {
+ copyarray(.@tmp[0], getarg(0), .@size);
+ for (; .@size >= 1; --.@size) {
+ set(getelementofarray(getarg(0), .@index + .@size - 1), array_shift(.@tmp[rand(.@size)]));
+ }
+ }
+
+ freeloop(false);
+ return true;
+}
+
+
+
+// array_unique(<array>{, <threshold>})
+// allows entries to appear up to <threshold> in the array
+
+function script array_unique {
+ .@size = getarraysize(getarg(0));
+ .@max = getarg(1, 1);
+ freeloop(true);
+
+ for (.@i = getarrayindex(getarg(0)); .@i < .@size; ++.@i) {
+ .@count = 1;
+ for (.@e = .@i + 1; .@e < .@size; ++.@e) {
+ if (getelementofarray(getarg(0), .@i) == getelementofarray(getarg(0), .@e)) {
+ if (++.@count >= .@max) {
+ deletearray(getelementofarray(getarg(0), .@e), 1);
+ ++.@removed; // increase counter
+ --.@size; // reduce size
+ --.@e; // step back
+ }
+ }
+ }
+ }
+
+ freeloop(false);
+ return .@removed;
+}
+
+
+
+// array_diff(<array1>, <array2>{, <array>...}, <array>)
+// compares array1 against one or more other arrays and fills the last array
+// with the values in array1 that are not present in any of the other arrays
+// returns the number of entries not matching
+
+function script array_diff {
+ .@size = getarraysize(getarg(0));
+ .@index = getarrayindex(getarg(0));
+ freeloop(true);
+
+ for (.@a = 1; .@a < (getargcount() - 1); ++.@a) {
+ for (.@i = .@index; .@i < .@size; ++.@i) {
+ if (!array_exists(getarg(.@a), getelementofarray(getarg(0), .@i))) {
+ array_push(getarg(getargcount() - 1), getelementofarray(getarg(0), .@i));
+ ++.@count;
+ }
+ }
+ }
+
+ freeloop(false);
+ return .@count;
+}
+
+
+
+// array_filter(<array>, "<function>")
+// filters the array using a callback function
+
+function script array_filter {
+ .@size = getarraysize(getarg(0));
+ .@neq = getarg(2, false);
+ freeloop(true);
+
+ for (.@i = getarrayindex(getarg(0)); .@i < .@size; ++.@i) {
+ .@eq = callfunc(getarg(1), getelementofarray(getarg(0), .@i)) != false;
+ if ((.@neq && .@eq) || (!(.@neq) && !(.@eq))) {
+ deletearray(getelementofarray(getarg(0), .@i), 1); // shift left
+ ++.@count; // increase the counter
+ --.@size; // reduce the size
+ --.@i; // step back
+ }
+ }
+
+ freeloop(false);
+ return .@count;
+}
+
+// array_highest(<array>)
+// Returns the index of the highest value in <array>
+// NOTE: Array must be an INT array!
+
+function script array_highest {
+ .@size = getarraysize(getarg(0));
+ .@win=0;
+ .@idx=0;
+ .@dw=false;
+ freeloop(true);
+
+ for (.@i = getarrayindex(getarg(0)); .@i < .@size; ++.@i) {
+ if (getelementofarray(getarg(0), .@i) > .@win) {
+ .@win=getelementofarray(getarg(0), .@i);
+ .@idx=.@i;
+ if (.@dw) {
+ deletearray .@draw;
+ .@dw=false;
+ }
+ } else if (getelementofarray(getarg(0), .@i) == .@win) {
+ if (!.@dw)
+ array_push(.@draw, .@idx);
+ array_push(.@draw, .@i);
+ .@dw=true;
+ }
+ }
+
+ // Will we return .@idx or do we need to draw a loot?
+ freeloop(false);
+ if (.@dw)
+ return any_of(.@draw);
+ else
+ return .@idx;
+}
+
+// relative_array_random(<array: 0, {[value, probability]..}>)
+// returns a random entry from the array, by relative probability
+// the first key of the array should be 0 and every entries are a tuple
+// of [value, probability]
+
+function script relative_array_random {
+ .@is_str = getdatatype(getarg(0)) & DATATYPE_STR;
+ .@total_prob = getelementofarray(getarg(0), 0);
+ .@initial_index = getarrayindex(getarg(0));
+ .@initial_index = .@initial_index ? .@initial_index : 1;
+ freeloop(true);
+
+ if (.@total_prob < 1 || getarg(1, false))
+ {
+ // first calculation, or forced re-calculation
+ .@total_prob = 0;
+ .@size = getarraysize(getarg(0));
+
+ for (.@i = .@initial_index + 1; .@i < .@size; .@i += 2) {
+ if (.@is_str) {
+ .@total_prob += max(1, atoi(getelementofarray(getarg(0), .@i)));
+ } else {
+ .@total_prob += max(1, getelementofarray(getarg(0), .@i));
+ }
+ }
+
+ // we cache on the first key
+ set(getelementofarray(getarg(0), 0), .@total_prob);
+ }
+
+ .@target_sum = rand(0, .@total_prob);
+
+ for (.@i = .@initial_index; .@sum < .@target_sum; .@i += 2) {
+ if (.@is_str) {
+ .@sum += atoi(getelementofarray(getarg(0), .@i + 1));
+ } else {
+ .@sum += getelementofarray(getarg(0), .@i + 1);
+ }
+
+ if (.@sum >= .@target_sum) {
+ break;
+ }
+ }
+
+ freeloop(false);
+ return getelementofarray(getarg(0), .@i);
+}
+
diff --git a/npc/functions/asklanguage.txt b/npc/functions/asklanguage.txt
new file mode 100644
index 0000000..32e0f7b
--- /dev/null
+++ b/npc/functions/asklanguage.txt
@@ -0,0 +1,72 @@
+// TMW2 script
+// Evol functions.
+// Author:
+// Reid, Jesusalva
+// Description:
+// Function setting the player language
+
+function script languagecode {
+ switch (Lang) {
+ case LANG_PTBR:
+ return "pt_BR";
+ case LANG_FR:
+ return "fr";
+ case LANG_DE:
+ return "de";
+ case LANG_ES:
+ return "es";
+ default:
+ return "en";
+ }
+}
+
+function script asklanguage {
+
+ dispbottom col("We need help with translations. [@@help://translate|Learn more@@]", 1);
+ switch (getarg(0, LANG_IN_SHIP))
+ {
+ case LANG_ON_SEA:
+ setarray .@messages$[0], "I hear you... (English)", // English
+ "Eu te ouço... (Português)", // Portuguese
+ "Je vous entends... (Français)", // French
+ "Ich höre euch... (Deutsch)", // German
+ "Te oigo... (Español)"; // Spanish
+ break;
+ case LANG_IN_SHIP:
+ setarray .@messages$[0], "I speak English.", // English
+ "Eu falo Português.", // Portuguese
+ "Je parle français.", // French
+ "Ich spreche Deutsch.", // German
+ "Hablo Español."; // Spanish
+ break;
+ default:
+ return;
+ }
+
+ setarray .@flags$[0], "flags/en",
+ "flags/pt_BR",
+ "flags/fr",
+ "flags/de",
+ "flags/es";
+
+ .@menustr$ = "";
+ .@separator$ = ":";
+
+ for (.@i = 0; .@i <= MAX_LANG; .@i++)
+ {
+ if (.@i == MAX_LANG) {
+ .@separator$ = "";
+ }
+ .@menustr$ = .@menustr$ + .@flags$[.@i] + "|" + .@messages$[.@i] + .@separator$;
+ }
+
+ select(.@menustr$);
+
+ .@lang = @menu - 1;
+
+ if (.@lang >= 0 || .@lang <= MAX_LANG) {
+ Lang = .@lang;
+ }
+
+ return;
+}
diff --git a/npc/functions/aurora.txt b/npc/functions/aurora.txt
new file mode 100644
index 0000000..42a5af2
--- /dev/null
+++ b/npc/functions/aurora.txt
@@ -0,0 +1,829 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// AURORA EVENT FRAMEWORK
+// Previously known as FY:Event System
+//
+// Controls weekly events so Saulc, seeds and I can take vacations.
+// See also: seasons.txt, command/event.txt, event.txt, 003-1/events.txt
+// soulmenhir.txt, scoreboards.txt and, of course, the event maps (if any).
+// Aurora Event Framework functions are called by event.txt
+// specs override and is overriden by those defined in commands/event.txt
+
+// Variables:
+// $MOST_HEROIC$
+// Updated every 2 weeks, the top 1 from previous event
+// Only the hero may begin sieges against Fortress Town.
+// Every NPC will recognize them, and Lightbringer will also
+// pay special attention to them.
+// $FYEVENT_CYCLE
+// Current cycle. I thought in using gettimeparam(WEEK) but gave up.
+// Q_AuroraEvent
+// Quest Variable: DayCtrl, Score, ClaimedControl
+//
+// Event Specific Variables:
+// $REGNUM_BLESSMAP$
+// Map under Regnum's Blessing
+// $REGNUM_BLESSMAP_H$
+// Human-readable form of the map under Regnum's Blessing
+//
+// $FYREWARD_PT
+// Array with minimum points for rewards (primary key)
+// $FYREWARD_ID
+// Array with claimable reward IDs
+// $FYREWARD_AM
+// Array with the amount of the reward ID you'll receive
+// $FYLOGIN_PTS
+// How many event score boost you'll receive for daily login
+//
+// $WORLDEXPO_ENEMY$
+// Name of the enemy responsible for ruining the World's Expo
+// $RAIDING_BOSS$
+// Name of the enemy who is raiding down the world
+// $DREAMTOWER_SAGE$
+// Name of the sage who owns the Dream Towers
+// DTOWER_DAY (CharReg)
+// Player variable which controls Dream Tower reset
+// DTOWER_ROLL (CharReg)
+// Player variable which controls Dream Ticket drop rate
+// DTOWER_FLOOR (CharReg)
+// Player variable which controls current Dream Tower floor
+
+
+// AEF: BEGIN
+function script FYNewEvent {
+ debugmes "\033[1mFY event is set to happen...\033[0m";
+ // Aurora Events only begin after Liberation Day
+ if ($GAME_STORYLINE < 1)
+ return;
+ // Update the loop
+ $FYEVENT_CYCLE+=1;
+ // Overrides standard event system
+ $EVENT$="";
+ // Delayed cleanup (Just in case)
+ DelQuestFromEveryPlayer(Q_AuroraEvent);
+ DelItemFromEveryPlayer(EventTreasure1);
+ DelItemFromEveryPlayer(EventTreasure2);
+ DelItemFromEveryPlayer(EventTreasure3);
+ DelItemFromEveryPlayer(EventFish);
+ DelItemFromEveryPlayer(EventOre);
+ DelItemFromEveryPlayer(BrokenMedal);
+ DelItemFromEveryPlayer(EventDreamTicket);
+ DelItemFromEveryPlayer(EventNaftalin);
+ // Olympics are costlier: Clean less often
+ if ($FYEVENT_CYCLE % 12 == 1) {
+ DelChrRegFromEveryPlayer("FYMOLY_ENBALL");
+ DelChrRegFromEveryPlayer("FYMOLY_ICBOSS");
+ DelChrRegFromEveryPlayer("FYMOLY_FLUFFY");
+ DelChrRegFromEveryPlayer("FYMOLY_CHANTI");
+ DelChrRegFromEveryPlayer("FYMOLY_ALCHMY");
+ DelChrRegFromEveryPlayer("FYMOLY_MPWLVL");
+ DelChrRegFromEveryPlayer("FYMOLY_MANAXP");
+ DelChrRegFromEveryPlayer("FYMOLY_RACERS");
+ DelChrRegFromEveryPlayer("FYMOLY_HOCUSM");
+ DelChrRegFromEveryPlayer("FYMOLY_SURVIV");
+ DelChrRegFromEveryPlayer("FYMOLY_FRIEND");
+ DelChrRegFromEveryPlayer("FYMOLY_SPAMMY");
+ // Same for Raids, Dream Towers and Gemini (they don't repeat)
+ DelChrRegFromEveryPlayer("DTOWER_DAY");
+ DelChrRegFromEveryPlayer("DTOWER_ROLL");
+ DelChrRegFromEveryPlayer("DTOWER_FLOOR");
+ DelChrRegFromEveryPlayer("FYRAID_LV");
+ DelChrRegFromEveryPlayer("GEMINI_DAY");
+ }
+ deletearray $FYRAID_OWNER;
+ deletearray $FYRAID_TIME;
+ deletearray $FYRAID_HP;
+ deletearray $FYRAID_LV;
+ // Select the event
+ switch ($FYEVENT_CYCLE % 12) {
+ case 1:
+ $EVENT$="Kamelot";
+ kamibroadcast("Kamelot Season is now open!", "Aurora Events");
+ break;
+ case 2:
+ $EVENT$="Expo";
+ callfunc("FYEConf_Expo");
+ kamibroadcast("World Expo is now open!", "Aurora Events");
+ break;
+ case 3:
+ $EVENT$="Regnum";
+ callfunc("FYEConf_Regnum");
+ kamibroadcast("Regnum's Blessing: "+$REGNUM_BLESSMAP_H$+" is now blessed!", "Aurora Events");
+ break;
+ case 4:
+ $EVENT$="Raid";
+ callfunc("FYEConf_Raid");
+ kamibroadcast("Oh noes! "+$RAIDING_BOSS$+" is attacking our world!", "Aurora Events");
+ break;
+ case 5:
+ $EVENT$="Candor";
+ kamibroadcast("Candor Battle Season is now open!", "Aurora Events");
+ break;
+ case 6:
+ $EVENT$="Mining";
+ callfunc("FYEConf_Mining");
+ kamibroadcast("Miners Union Research Request is now open!", "Aurora Events");
+ break;
+ case 7:
+ $EVENT$="Celestia";
+ kamibroadcast("Celestia Season is now open!", "Aurora Events");
+ break;
+ case 8:
+ $EVENT$="Olympics";
+ callfunc("FYEConf_Olympics");
+ kamibroadcast("Magic Olympics are now open!", "Aurora Events");
+ break;
+ case 9:
+ $EVENT$="Rebirth";
+ kamibroadcast("Rebirth Season has begun!", "Aurora Events");
+ break;
+ case 10:
+ $EVENT$="Fishing";
+ callfunc("FYEConf_Fishing");
+ kamibroadcast("Catch the Golden Fish is now open!", "Aurora Events");
+ break;
+ case 11:
+ $EVENT$="Gemini";
+ kamibroadcast("Gemini Season is now open!", "Aurora Events");
+ break;
+ default:
+ $EVENT$="Tower";
+ callfunc("FYEConf_Tower");
+ kamibroadcast($DREAMTOWER_SAGE$+"'s Dream Towers have appeared!", "Aurora Events");
+ break;
+ }
+ donpcevent "Aurora::OnRestore";
+ return;
+}
+
+
+
+
+
+
+// Returns an item: (type, lv). Used by the function below (FYE_Autoset)
+// types: misc, bp, warp, pot, heal, ore, magic, gift
+// maxlv: 3 5 2 3 - 6 - 5
+function script FYT {
+ .@t=getarg(0);
+ .@l=getarg(1, 0);
+ switch (.@t) {
+ case FY_MISC:
+ switch (.@l) {
+ case 1:
+ return any(SmokeGrenade, ScentGrenade, Grenade, DeathPotion, Lockpicks);
+ case 2:
+ return any(MysteriousBottle, TreasureMap, DungeonMap);
+ case 3:
+ return any(ArcmageBoxset, MercBoxA, ScrollSMaggot);
+ }
+ break;
+ case FY_BP:
+ switch (.@l) {
+ case 1:
+ return any(EquipmentBlueprintA, AlchemyBlueprintA);
+ case 2:
+ return any(EquipmentBlueprintB, AlchemyBlueprintB);
+ case 3:
+ return any(EquipmentBlueprintC, AlchemyBlueprintC);
+ case 4:
+ return any(EquipmentBlueprintD, AlchemyBlueprintD);
+ case 5:
+ return any(EquipmentBlueprintE, AlchemyBlueprintE, AncientBlueprint);
+ }
+ break;
+ case FY_WARP:
+ switch (.@l) {
+ case 1:
+ return any(TulimWarpCrystal, CandorWarpCrystal, HurnsWarpCrystal, LoFWarpCrystal);
+ case 2:
+ return any(HalinWarpCrystal, NivalWarpCrystal, FrostiaWarpCrystal);
+ }
+ break;
+ case FY_POT:
+ switch (.@l) {
+ case 1:
+ return any(LukPotionA, DexPotionA, IntPotionA, VitPotionA, AgiPotionA, HastePotion, StrengthPotion);
+ case 2:
+ return any(LukPotionB, DexPotionB, IntPotionB, VitPotionB, AgiPotionB, MoveSpeedPotion, PrecisionPotion, DodgePotion);
+ case 3:
+ return any(SacredImmortalityPotion, SacredLifePotion, SacredManaPotion);
+ }
+ break;
+ case FY_ORE:
+ switch (.@l) {
+ case 1:
+ return any(CopperIngot, IronIngot);
+ case 2:
+ return any(SilverIngot, GoldIngot);
+ case 3:
+ return any(TinIngot, LeadIngot);
+ case 4:
+ return any(TitaniumIngot, TerraniteIngot);
+ case 5:
+ return any(IridiumIngot, IridiumIngot, PlatinumIngot);
+ case 6:
+ return any(Diamond, Ruby, Emerald, Sapphire, Topaz, Amethyst);
+ }
+ break;
+ case FY_GIFT:
+ switch (.@l) {
+ case 1:
+ return BronzeGift;
+ case 2:
+ return SilverGift;
+ case 3:
+ return GoldenGift;
+ case 4:
+ return PrismGift;
+ case 5:
+ return any(SupremeGift, MysteriousFruit, PrismGift, HousingLetterIII, PrismGift);
+ }
+ break;
+ // Single cases doesn't needs break
+ case FY_HEAL:
+ return any(SpearmintTea, Coffee, ClothoLiquor, BottleOfDivineWater);
+ case FY_MAGIC:
+ return any(FluoPowder, Quill, ScholarshipBadge, ScrollSWolvern);
+ }
+
+ return Exception("Invalid cast to FYEIT: "+.@t+" (Lv "+.@l+")", RB_IRCBROADCAST|RB_DEBUGMES|RB_GLOBALANNOUNCE, Bread);
+}
+
+
+
+
+
+
+function script FYE_Autoset {
+ // Sets 30 ranked rewards
+ .@b=FY_BP; .@g=FY_GIFT; .@h=FY_HEAL; .@m=FY_MISC; .@mg=FY_MAGIC;
+ .@o=FY_ORE; .@p=FY_POT; .@w=FY_WARP;
+
+ setarray $FYREWARD_ID, FYT(.@g, 1), StrangeCoin, FYT(.@m, 1), FYT(.@b, 1), FYT(.@p, 1),
+ FYT(.@h, 1), FYT(.@o, 1), FYT(.@o, 6), FYT(.@g, 2), FYT(.@w, 1),
+ FYT(.@b, 2), FYT(.@m, 2), FYT(.@o, 2), FYT(.@p, 2), FYT(.@o, 3),
+ FYT(.@b, 3), FYT(.@m, 3), StrangeCoin, FYT(.@mg, 1), FYT(.@g, 3),
+ FYT(.@w, 2), StrangeCoin, FYT(.@b, 4), FYT(.@p, 3), AncientBlueprint,
+ FYT(.@g, 4), FYT(.@o, 4), FYT(.@b, 5), FYT(.@o, 5), FYT(.@g, 5);
+
+ // Item Amount Table
+ .@hv=rand2(1,3);
+ .@p1=any(1,2); .@p2=(.@p1 == 1 ? 2 : 1);
+ setarray $FYREWARD_AM, 1, 20, 1, 1, .@p1,
+ .@hv, 1, 1, 1, 1,
+ 1, 1, 1, .@p2, 1,
+ 1, 1, 60, 1, 1,
+ 1, 100, 1, 1, 1,
+ 1, 1, 1, 1, 1;
+ return;
+}
+
+
+
+
+
+
+// Modify Kamelot
+function script FYE_Kamelot {
+ .@g=getcharid(2);
+ if ($@FYE_KAMELOT[.@g] != gettimeparam(GETTIME_DAYOFMONTH)) {
+ mesc l("Kamelot Season is open!");
+
+ // Instance still exists
+ if (instanceowner($@KAMELOT_ID[.@g]) == .@g) {
+ mesc l("However, your guild just challenged Kamelot Dungeons.");
+ mesc l("Please wait a while.");
+ return false;
+ }
+ mesc l("Should we?");
+ next;
+ askyesno();
+ closeclientdialog();
+
+ // Not going? Spoilsport
+ if (@menu == ASK_NO)
+ return false;
+
+ // Someone began while you waited
+ if (instanceowner($@KAMELOT_ID[.@g]) == .@g)
+ return true;
+
+ // Begin
+ //callfunc("KamelotCleanup", .@g); // Not needed
+ $KAMELOT_COOLDOWN[.@g] = ($KAMELOT_COOLDOWN[.@g] ? 1 : 0);
+ $@FYE_KAMELOT[.@g] = gettimeparam(GETTIME_DAYOFMONTH);
+ mesc l("Have fun!");
+ next;
+ closeclientdialog();
+ return true;
+ }
+ return false;
+}
+
+
+
+
+
+
+// Configure Regnum Blessing
+function script FYEConf_Regnum {
+ setarray .@ma$, "004-1", "007-1", "004-2", "010-2", "014-3", "014-5", "015-5",
+ "018-3", "019-1", "025-2", "025-2-1", "018-7", "019-5";
+ setarray .@mb$, "Tulimshar Outskirts", "Tulimshar Mines",
+ "Tulimshar (West) Canyon", "Halinarzo (East) Canyon",
+ "Central Woodlands", "North Woodlands",
+ "Abandoned Mines (Woodlands)", "Somber Caves (LoF)",
+ "Snow Field", "Fortress Island - South",
+ "Fortress Island South Cave", "Lilit's Sanctuary",
+ "Rock Plateau (Nivalis)";
+ .@m=rand2(getarraysize(.@ma$));
+ $REGNUM_BLESSMAP$=.@ma$[.@m];
+ $REGNUM_BLESSMAP_H$=.@mb$[.@m];
+ // Apply the blessing
+ setmapflag(.@ma$[.@m], mf_bexp, 300);
+ return;
+}
+
+
+
+
+
+
+// Configure World Expo
+function script FYEConf_Expo {
+ $WORLDEXPO_ENEMY$=any("Xakabael the Dark", "Isbamuth", "Saulc", "SUSAN", "Terogan", ($GAME_STORYLINE >= 5 ? "Moubootaur" : "Monster King"));
+ setarray $FYREWARD_PT, 100, 220, 440, 880, 1320,
+ 1760, 2640, 3520, 5280, 7040,
+ 10560, 14080, 21120, 28160, 32000,
+ 36000, 40000, 45000, 50000, 55000,
+ 60000, 70000, 80000, 90000, 100000,
+ 112640, 140800, 168960, 200000, 225280;
+ // PS. Max Est. 225280 pts (#24 - Before Ancient Blueprint)
+
+ FYE_Autoset();
+ $FYLOGIN_PTS=rand2(18,22);
+ return;
+}
+
+
+// Modify Treasure Chests
+function script FYE_Expo {
+ // TODO: Merit-based random formula
+ getitem EventTreasure1, 1+rand2(15); // 15
+ getitem EventTreasure2, rand2(6); // 15
+ getitem EventTreasure3, rand2(4); // 15
+ // Total: (15+15+15)=1~45 points [AVG: 22 pts]
+ return;
+}
+
+
+
+
+
+
+// Configure Dream Tower
+function script FYEConf_Tower {
+ $DREAMTOWER_SAGE$=any("Jaxad", "Mr. Saves", "Tux", "Freeyorp", "Cassy", "Crush", "Rotonen", "Kage", "Bjorn", "The Elven Sage", "Hocus Pocus the Fidibus", "Elli");
+ // Bertram? (https://forums.themanaworld.org/viewtopic.php?p=105296#p105296)
+ setarray $FYREWARD_PT, 1, 4, 7, 10, 15,
+ 22, 30, 45, 60, 75,
+ 100, 120, 150, 175, 200,
+ 250, 300, 350, 400, 500,
+ 600, 700, 800, 900, 1000,
+ 1200, 1400, 1600, 1800, 2000;
+ // PS. Max Est. ?
+
+ FYE_Autoset();
+ $FYLOGIN_PTS=0;
+ return;
+}
+
+// Dream Tower Ticket
+function script FYE_Tower1 {
+ .@mob=getarg(0, killedrid);
+ // Obtain the monster level and roll a hidden counter
+ .@lv=getmonsterinfo(.@mob, MOB_LV);
+ DTOWER_ROLL+=.@lv;
+
+ // There is no luck involved - Just get 1000 dream tower rolls
+ if (DTOWER_ROLL >= 1000) {
+ getitem EventDreamTicket, 1;
+ DTOWER_ROLL-=1000;
+ }
+ return;
+}
+
+
+
+
+
+
+// Configure Boss Raid
+function script FYEConf_Raid {
+ $RAIDING_BOSS$=any("Xakabael the Dark", "Janeb the Evil", "Platyna the Red", "Benjamin the Frost", "Reid the Terrific", "Nu'Rem the Destroyer", "Golbenez the Cruel", "King of Typos");
+ deletearray $FYRAID_OWNER;
+ deletearray $FYRAID_TIME;
+ deletearray $FYRAID_HP;
+ deletearray $FYRAID_LV;
+ setarray $FYREWARD_PT, 10, 25, 50, 100, 150,
+ 200, 300, 500, 750, 1000,
+ 1250, 1500, 1750, 2000, 2500,
+ 3000, 3500, 4000, 5000, 6000,
+ 7500, 9000, 11000, 15000, 20000,
+ 25000, 30000, 35000, 40000, 50000;
+ // PS. Max Est. ?
+
+ FYE_Autoset();
+ $FYLOGIN_PTS=rand2(1, 2);
+ $FYRAID_OWNER[0]=1; // System Reserve
+ return;
+}
+
+// Boss Raid Appears! (What you killed is meaningless)
+function script FYE_Raid {
+ .@mob=getarg(0, killedrid);
+ // Actually - ignore system or auto-generated entities
+ if (.@mob > 1490)
+ return;
+ .@lv=getmonsterinfo(.@mob, MOB_LV);
+ // Chance goes from 10% to 1%
+ // Defeating the boss lowers the chance in 0.1%
+ if (rand2(1000) > max(100-FYRAID_LV, 10)) return;
+ // Low level mobs may, at their level rate, abort
+ // So a lv 100 mob has 1%, a lv 1 mob has 50%, etc.
+ if (!rand2(.@lv)) return;
+
+ /* A boss was found, update data */
+ .@id = array_find($FYRAID_OWNER, getcharid(3));
+
+ // Wait - Maybe you already found a boss?
+ if (.@id >= 0) {
+ if ($FYRAID_LV[.@id] == FYRAID_LV)
+ return;
+ }
+
+ // Never found a boss before, so assign some place for you
+ if (.@id < 0) {
+ FYRAID_LV = 1;
+ array_push($FYRAID_OWNER, getcharid(3));
+ .@id = array_find($FYRAID_OWNER, getcharid(3));
+ }
+
+ // Assign the boss stats
+ $FYRAID_HP[.@id]=2000+FYRAID_LV*1000+(FYRAID_LV/5*500);
+ // Also declared in 001-13/main.txt
+ $FYRAID_LV[.@id]=FYRAID_LV;
+ $FYRAID_TIME[.@id]=gettimetick(2)+3600; // One hour
+
+ // Announce that the boss was found!
+ announce(l("%s: %s (Lv %d) has appeared!", b(l("BOSS WARNING")), $RAIDING_BOSS$, FYRAID_LV), bc_self);
+ dispbottom l("Talk to Soul Menhir to engage the boss. Time limit = 1 hour.");
+ // The boss is already available for anyone to kill, you get no priority
+ // A new boss won't show up until you visit the Soul Menhir.
+ // (This could be improved)
+ return;
+}
+
+
+
+
+
+
+
+// Configure Fishing
+function script FYEConf_Fishing {
+ setarray $FYREWARD_PT, 42, 63, 94, 141, 212,
+ 318, 478, 717, 1076, 1345,
+ 1614, 2020, 2421, 3026, 3632,
+ 4540, 5000, 6000, 7000, 8500,
+ 10000, 11000, 12000, 13500, 15000;
+ // PS. Max Est. 14400 pts (#21 - Before 100 Strange Coins)
+
+ FYE_Autoset();
+ $FYLOGIN_PTS=rand2(6,8);
+ return;
+}
+
+
+// Modify Fishing
+function script FYE_Fishing {
+ // TODO: Merit-based random formula [AVG: 3.5] about 10pts/min
+ getitem EventFish, rand2(1, 6);
+ return;
+}
+
+
+
+
+
+
+// Configure Mining Union Research Event
+function script FYEConf_Mining {
+ setarray $FYREWARD_PT, 100, 220, 440, 880, 1320,
+ 1760, 2640, 3520, 5275, 7040,
+ 10560, 14080, 21120, 28160, 35200,
+ 42240, 57000, 70400, 85000, 112640,
+ 140800, 169000, 197120, 225300, 281160,
+ 337920, 394240, 450560, 550000, 675000;
+ // PS. Max Est. 705740 pts (overflow)
+
+ FYE_Autoset();
+ $FYLOGIN_PTS=rand2(16,20);
+ return;
+}
+
+
+// Modify Bifs
+function script FYE_Mining {
+ .@mob=getarg(0, killedrid);
+ // Only ores
+ if (getmonsterinfo(.@mob, MOB_RACE) != RC_Mineral)
+ return;
+
+ // TODO: Merit-based random formula [AVG: 5] about 70pts/min
+ // TODO: Big vs Small bifs (regex OK, size OK)
+ .@ore=rand2(3, 6);
+ if (.@mob == EleniumBif)
+ .@ore-=1;
+ getitem EventOre, .@ore;
+ return;
+}
+
+
+
+
+
+
+// Configure Magic Olympics
+function script FYEConf_Olympics {
+ setarray $FYREWARD_PT, 10, 22, 44, 88, 132,
+ 176, 264, 352, 527, 704,
+ 1056, 1408, 2112, 2816, 3520,
+ 4224, 5700, 7040, 8500, 11264,
+ 14080, 16900, 19712, 22530, 28116,
+ 33792, 39424, 45056, 55000, 67500;
+ // PS. Max Est. ? pts
+
+ FYE_Autoset();
+ $FYLOGIN_PTS=0;
+ return;
+}
+
+
+// Modify Magic Skills
+function script FYE_Olympics_SK {
+ if ($EVENT$ != "Olympics") return;
+
+ .@sk=getarg(0, @skillId);
+ .@sl=max(getarg(1, @skillLv), 1);
+ .@st=getarg(2, @skillTarget);
+
+ .@cl = $@MSK_CLASS[.@sk];
+
+ // Supportive
+ if (.@cl == CLASS_SCHOLARSHIP &&
+ .@st != getcharid(3) &&
+ .@st > 1 &&
+ .@sk != SM_PROVOKE &&
+ .@sk != EVOL_AREA_PROVOKE)
+ FMOLY_FRIEND += 1;
+
+ // Generic
+ if (.@sk != TMW2_FAKESKILL &&
+ .@sk != TMW2_FAKESKILL2 &&
+ .@sk != AM_CALLHOMUN &&
+ .@sk != AM_REST &&
+ .@sk != AM_RESURRECTHOMUN &&
+ .@sk != TMW2_TRANSMIGRATION &&
+ .@sk != TMW2_OVHFIRE)
+ FYMOLY_SPAMMY += .@sl;
+
+ setq Q_AuroraEvent, getq2(Q_AuroraEvent) + rand2(.@sl + 1);
+ return;
+}
+
+// Modify Mana EXP Gain
+function script FYE_Olympics_MX {
+ if ($EVENT$ != "Olympics") return;
+ .@var=getarg(0, 0);
+
+ FYMOLY_MANAXP += .@var;
+ setq Q_AuroraEvent, getq2(Q_AuroraEvent) + rand2(.@var + 1);
+ return;
+}
+
+// Count Chanting Usage
+function script FYE_Olympics_CH {
+ if ($EVENT$ != "Olympics") return;
+
+ // TODO: Change based on using different verbs/adjectives?
+ FYMOLY_CHANTI += 1;
+ setq Q_AuroraEvent, getq2(Q_AuroraEvent) + 1;
+ return;
+}
+
+// Count Alchemy Usage
+function script FYE_Olympics_AL {
+ if ($EVENT$ != "Olympics") return;
+
+ .@units = getarg(0, 1);
+ FYMOLY_ALCHMY += .@units;
+ setq Q_AuroraEvent, getq2(Q_AuroraEvent) + .@units;
+ return;
+}
+
+// Send to Porthos, returns false on failure, true on success
+function script FYE_Olympics_TO {
+ if ($EVENT$ != "Olympics") return false;
+
+ .@m$ = "moly@"+getcharid(0);
+ if (instanceowner(@olympics) != getcharid(3)) {
+ .@id = instance_create("moly@"+getcharid(0), getcharid(3), IOT_CHAR);
+ if (.@id < 0) return false;
+ .@mp$ = instance_attachmap("001-14", .@id, 0, .@m$);
+ @olympics = .@id;
+ // It'll be self-destroyed when time runs out (30 minutes)
+ instance_set_timeout(1800, 1800, .@id);
+ instance_init(.@id);
+ } else {
+ instance_set_timeout(1800, 1800, @olympics);
+ }
+ warp .@m$, 92, 90;
+ return true;
+}
+
+
+
+
+
+
+
+// "Submit" button from 003-1/events.txt
+// Don't forget to enable it in npc/utils.txt as well!!
+function script FYE_Submit {
+ .@day=getq(Q_AuroraEvent);
+ .@pts=getq2(Q_AuroraEvent);
+
+ // Handle daily login score rewards
+ if (.@day != gettimeparam(GETTIME_DAYOFMONTH)) {
+ setq1 Q_AuroraEvent, gettimeparam(GETTIME_DAYOFMONTH);
+ setq2 Q_AuroraEvent, .@pts+$FYLOGIN_PTS;
+ .@pts=getq2(Q_AuroraEvent);
+ if ($FYLOGIN_PTS)
+ dispbottom l("Daily Event Bonus: %d Points!", $FYLOGIN_PTS);
+ }
+
+ // Give you points
+ if ($EVENT$ == "Expo") {
+ // .:: WORLD EXPO EVENT ::.
+ .@pts+=countitem(EventTreasure1)*1;
+ .@pts+=countitem(EventTreasure2)*3;
+ .@pts+=countitem(EventTreasure3)*5;
+
+ setq2 Q_AuroraEvent, .@pts;
+ delitem EventTreasure1, countitem(EventTreasure1);
+ delitem EventTreasure2, countitem(EventTreasure2);
+ delitem EventTreasure3, countitem(EventTreasure3);
+ } else if ($EVENT$ == "Fishing") {
+ // .:: CATCH THE GOLD FISH EVENT ::.
+ .@pts+=countitem(EventFish)*1;
+
+ setq2 Q_AuroraEvent, .@pts;
+ delitem EventFish, countitem(EventFish);
+ } else if ($EVENT$ == "Mining") {
+ // .:: MINION UNION'S RESEARCH REQUEST EVENT ::.
+ .@pts+=countitem(EventOre)*1;
+
+ setq2 Q_AuroraEvent, .@pts;
+ delitem EventOre, countitem(EventOre);
+ } else if ($EVENT$ == "Tower") {
+ // .:: DREAM TOWER APPEARS ::.
+ .@pts+=countitem(BrokenMedal)*1;
+
+ setq2 Q_AuroraEvent, .@pts;
+ delitem BrokenMedal, countitem(BrokenMedal);
+ } else if ($EVENT$ == "Raid") {
+ // .:: BOSS RAID ::.
+ .@pts+=countitem(EventNaftalin)*1;
+
+ setq2 Q_AuroraEvent, .@pts;
+ delitem EventNaftalin, countitem(EventNaftalin);
+ } else if ($EVENT$ == "Olympics") {
+ // .:: MAGIC OLYMPICS ::.
+ // Handled separately
+ } else {
+ // Wut? This is not an Aurora Event
+ Exception($EVENT$+" is NOT a valid Aurora Event; Misdefinition.\n\nPlease ensure that it is defined in utils, aurora, news, and command/event.\n\nFYE_Submit - FYEventUsesRanking - FYE_* - FYEConf_* - FYStopEvent", RB_DEFAULT|RB_ISFATAL);
+ }
+ return;
+}
+
+
+
+
+
+
+// Stops any Aurora Event
+function script FYStopEvent {
+ setarray .@av$, "Kamelot", "Regnum", "Expo", "Fishing", "Candor", "Mining", "Tower", "Raid", "Olympics", "Celestia", "Rebirth", "Gemini";
+ if (array_find(.@av$, $EVENT$) >= 0) {
+ sClear();
+ $EVENT$="";
+ }
+ return;
+}
+
+
+// Handle the ending of Aurora Events (see also functions/util.txt)
+function script FYRewardEvent {
+ if (FYEventUsesRanking()) {
+ debugmes("Rewards are due");
+ // This code absolutely can't fail:
+ if ($EVENT$ == "Olympics") {
+ callfunc("HocusScoreNew");
+ copyarray $@aurora_name$, $@moly_n$, 10;
+ copyarray $@aurora_value, $@moly_v, 10;
+ for (.@i=0; .@i < 10; .@i++) {
+ if ($@aurora_name$[.@i] == "") break;
+ $@aurora_charid[.@i] = gf_charnameid($@aurora_name$[.@i]);
+ }
+ } else {
+ .@nb = query_sql("SELECT c.name, i.count2, c.char_id FROM `quest` AS i, `char` AS c WHERE i.quest_id="+Q_AuroraEvent+" AND i.char_id=c.char_id ORDER BY i.count2 DESC LIMIT 10", $@aurora_name$, $@aurora_value, $@aurora_charid);
+ }
+ $MOST_HEROIC$=$@aurora_name$[0];
+ for (.@i=0;.@i < getarraysize($@aurora_charid);.@i++) {
+ switch (.@i+1) {
+ case 1:
+ .@prize=120; break;
+ case 2:
+ .@prize=100; break;
+ case 3:
+ .@prize=80; break;
+ case 4:
+ case 5:
+ .@prize=60; break;
+ case 6:
+ case 7:
+ .@prize=40; break;
+ default:
+ .@prize=20;
+ }
+ rodex_sendmail($@aurora_charid[.@i], "Aurora Events", $EVENT$+" Reward!", "Final Ranking: #"+(.@i+1)+". Congratulations on making "+$@aurora_value[.@i]+" points on the event!", 0, StrangeCoin, .@prize);
+ }
+ // Send results copy to syslog
+ consoleinfo("%s event finished:\n#01 - %s (%d)\n#02 - %s (%d)\n#03 - %s (%d)\n#04 - %s (%d)\n#05 - %s (%d)\n", $EVENT$, $@aurora_name$[0], $@aurora_value[0], $@aurora_name$[1], $@aurora_value[1], $@aurora_name$[2], $@aurora_value[2], $@aurora_name$[3], $@aurora_value[3], $@aurora_name$[4], $@aurora_value[4]);
+ // Magic Olympics has extra rewards
+ if ($EVENT$ == "Olympics") {
+ if ($@aurora_charid[0] > 0)
+ rodex_sendmail($@aurora_charid[0], "Hocus Pocus", "A Small Gift", "I wanted to send you cake but the cat ate it.", 0, BlackyCat, 1, ScholarshipTuition, 1);
+ if ($@aurora_charid[1] > 0)
+ rodex_sendmail($@aurora_charid[1], "Hocus Pocus", "A Small Gift", "Here is some noob cake for a bright mind.", 0, ApanaCake, 1, ScholarshipTuition, 1);
+ }
+ // Destroy the quest
+ DelQuestFromEveryPlayer(Q_AuroraEvent);
+ deletearray $@aurora_name$;
+ deletearray $@aurora_value;
+ deletearray $@aurora_charid;
+ /*
+ DelItemFromEveryPlayer(EventTreasure1);
+ DelItemFromEveryPlayer(EventTreasure2);
+ DelItemFromEveryPlayer(EventTreasure3);
+ DelItemFromEveryPlayer(EventFish);
+ DelItemFromEveryPlayer(EventOre);
+ */
+ }
+ return;
+}
+
+
+
+
+
+
+
+
+// Modify Mob Killing
+// Serves for multiple events, preserves killedrid
+function script AuroraMobkill {
+ if ($EVENT$ == "Mining")
+ FYE_Mining(killedrid);
+ if ($EVENT$ == "Tower")
+ FYE_Tower1(killedrid);
+ if ($EVENT$ == "Raid")
+ FYE_Raid(killedrid);
+ return;
+}
+
+
+// Normalize Aurora Event after a server restart
+function script FYE_Normalize {
+ if ($EVENT$ == "Regnum") {
+ // Reapply the Regnum's blessing
+ setmapflag($REGNUM_BLESSMAP$, mf_bexp, 300);
+ }
+ return;
+}
+
diff --git a/npc/functions/bank.txt b/npc/functions/bank.txt
new file mode 100644
index 0000000..40ff31d
--- /dev/null
+++ b/npc/functions/bank.txt
@@ -0,0 +1,288 @@
+// TMW2 Script
+// Modified by Jesusalva
+// Evol scripts.
+// Authors:
+// gumi
+// Reid
+
+function script Banking {
+ do
+ {
+ if (BankVault > 0) {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("You currently have @@ GP on your bank account.",
+ format_number(BankVault)),
+ l("What do you want to do with your money?");
+ } else {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("What do you want to do with your money?");
+ }
+
+ select
+ rif(Zeny > 0, l("Deposit.")),
+ rif(BankVault > 0, l("Withdraw.")),
+ l("Buy a Housing Letter"),
+ l("I'm done.");
+
+ switch (@menu)
+ {
+ case 1:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("How much do you want to deposit?");
+
+ menuint
+ l("Other."), -1,
+ rif(Zeny >= 1000, format_number(1000) + " GP."), 1000,
+ rif(Zeny >= 2500, format_number(2500) + " GP."), 2500,
+ rif(Zeny >= 5000, format_number(5000) + " GP."), 5000,
+ rif(Zeny >= 10000, format_number(10000) + " GP."), 10000,
+ rif(Zeny >= 25000, format_number(25000) + " GP."), 25000,
+ rif(Zeny >= 50000, format_number(50000) + " GP."), 50000,
+ rif(Zeny >= 100000, format_number(100000) + " GP."), 100000,
+ l("All of my money."), -2,
+ l("I changed my mind."), -3;
+
+ switch (@menuret) {
+ case -1:
+ input @menuret;
+ break;
+ case -2:
+ @menuret = Zeny;
+ }
+
+ if (@menuret > 0) {
+ if (@menuret > Zeny) {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("You do not have enough Gold on yourself.");
+ break;
+ }
+
+ @menuret = min(MAX_BANK_ZENY, @menuret); // make sure the variable can't overflow
+ .@before = BankVault; // amount before the deposit
+ .@max = MAX_BANK_ZENY - BankVault; // maximum possible deposit
+ .@deposit = min(.@max, @menuret); // actual deposit
+
+ if (.@deposit > 0) {
+ BankVault += .@deposit; // add to bank
+ Zeny -= .@deposit; // remove from inventory
+
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("You made a cash deposit of @@ GP.", format_number(.@deposit));
+ }
+ }
+ break;
+
+ case 2:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("How much do you want to withdraw?");
+
+ menuint
+ l("Other."), -1,
+ rif(BankVault >= 1000, format_number(1000) + " GP."), 1000,
+ rif(BankVault >= 2500, format_number(2500) + " GP."), 2500,
+ rif(BankVault >= 5000, format_number(5000) + " GP."), 5000,
+ rif(BankVault >= 10000, format_number(10000) + " GP."), 10000,
+ rif(BankVault >= 25000, format_number(25000) + " GP."), 25000,
+ rif(BankVault >= 50000, format_number(50000) + " GP."), 50000,
+ rif(BankVault >= 100000, format_number(100000) + " GP."), 100000,
+ l("All of my money."), -2,
+ l("I changed my mind."), -3;
+
+ switch (@menuret)
+ {
+ case -1:
+ input @menuret;
+ break;
+ case -2:
+ @menuret = BankVault;
+ }
+
+ if (@menuret > 0) {
+ if (@menuret > BankVault) {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("You do not have enough Gold Pieces on your bank account.");
+ break;
+ }
+
+ @menuret = min(MAX_ZENY, @menuret); // make sure the variable can't overflow
+ .@before = Zeny; // amount before the withdrawal
+ .@max = MAX_ZENY - Zeny; // maximum possible withdrawal
+ .@withdrawal = min(.@max, @menuret); // actual withdrawal
+
+ if (.@withdrawal > 0) {
+ Zeny += .@withdrawal; // add to inventory
+ BankVault -= .@withdrawal; // remove from bank
+
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("You withdrew a total of @@ GP.", format_number(.@withdrawal));
+ }
+ }
+ break;
+
+ case 3:
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+ mesc l("You currently have @@ mobiliary credits + GP at your disposal.", format_number(.@gp));
+ mesc l("@@ - @@ - @@", getitemlink(HousingLetterI), getitemlink(HousingLetterII), getitemlink(HousingLetterIII));
+ next;
+ select
+ l("Nothing"),
+ rif(.@gp >= 11000, l("Housing Letter I for 11,000 GP")),
+ rif(.@gp >= 101000, l("Housing Letter II for 101,000 GP")),
+ rif(.@gp >= 1001000, l("Housing Letter III for 1,001,000 GP"));
+ mes "";
+ switch (@menu) {
+ case 2:
+ realestate_payment(11000);
+ getitem HousingLetterI, 1;
+ break;
+ case 3:
+ realestate_payment(101000);
+ getitem HousingLetterII, 1;
+ break;
+ case 4:
+ realestate_payment(1001000);
+ getitem HousingLetterIII, 1;
+ break;
+ }
+ break;
+ default: return;
+ }
+ } while (true);
+}
+
+function script BKInfo {
+ speech S_LAST_NEXT,
+ l("We organize some auction and we help local merchants to launch their businesses."),
+ l("We also feature some services like a storage and a bank for members."),
+ l("Registration is open to everybody, but newcomers need to pay a fee for all of the paperwork."),
+ l("If you have... references, we may also be able to offer you... premium storing.");
+
+ narrator S_FIRST_BLANK_LINE,
+ l("The bank and item storage is shared between all characters within a same account."),
+ l("With it, you can safely move items and funds between your characters."),
+ l("The Premium and Deluxe Storages are only available for characters which were reborn at least once.");
+ return;
+}
+
+// name, city, price, ID
+function script BKReg {
+ .@price=max(2000, getarg(2)-#BankP);
+ .@id=getarg(3, 1);
+ @menu=3;
+ do
+ {
+ mesn getarg(0);
+ mesq l("Register fee is @@.", .@price);
+ mesc l("The fee only need to be paid once and will work in every town.");
+ next;
+ select
+ rif(Zeny >= .@price, l("Register")),
+ l("Not at the moment"),
+ l("Information");
+ mes "";
+ if (@menu == 1) {
+ Zeny=Zeny-.@price;
+ setq General_Banker, .@id;
+ #BankP=#BankP+(rand2(150,400)*(.@id**2));
+ mesn getarg(0);
+ mesq l("Registered! You can now use any banking service, of any town!");
+ } else if (@menu == 3) {
+ BKInfo();
+ }
+ } while (@menu == 3);
+ return;
+}
+
+// name, city, price (defaults to 10k)
+function script Banker {
+ mesn getarg(0);
+ mesq l("Welcome! My name is @@, I am a representative of the Merchant Guild on @@.", getarg(0), getarg(1));
+ next;
+
+ if (getq(General_Banker) == 0) {
+ BKReg(getarg(0), getarg(1), getarg(2,10000));
+ } else {
+ do
+ {
+ select
+ l("I would like to store some items."),
+ l("I would like to perform money transactions."),
+ l("Did I received any mail?"),
+ rif(REBIRTH || is_sponsor(), l("I would like to use the Premium Storage.")),
+ rif(REBIRTH, l("I would like to use the Deluxe Storage.")),
+ l("What is this guild for?"),
+ l("Bye.");
+
+ switch (@menu) {
+ case 1:
+ closeclientdialog;
+ openstorage;
+ close;
+ break;
+ case 2:
+ Banking();
+ break;
+ case 3:
+ // NOTE: This value is HARDCODED, do not try changing it!
+ mesc l("Note: Transfering items on mail cost @@ GP/item", 500);
+ mesc l("Money transference by mail is, however, free.");
+ next;
+ closeclientdialog;
+ openmail();
+ close;
+ break;
+ case 4:
+ if (getq(General_Banker) < 2) {
+ mesn;
+ mesq l("The Premium Storage is available to all our sponsors and anyone with... references. Such as yourself!");
+ next;
+ .@price=25000;
+ mesn;
+ mesq l("It will allow you to store %d extra items, with unlimited weight or size limit, for only %s GP! Although premium clients such as yourself... deserve a discount!", 300, fnum(.@price));
+ next;
+ BKReg(getarg(0), getarg(1), .@price, 2);
+ }
+ if (getq(General_Banker) >= 2) {
+ closeclientdialog;
+ openstorage 4;
+ close;
+ }
+ break;
+ case 5:
+ if (getq(General_Banker) < 2) {
+ mesn;
+ mesq l("This option is not yet available for you; Please purchase the Premium Storage first, and then we can get started on the deluxe.");
+ break;
+ }
+ if (getq(General_Banker) < 3) {
+ mesn;
+ mesq l("The Deluxe Storage is available only to our best customers, and how lucky you! YOU are eligible!");
+ next;
+ .@price=100000;
+ mesn;
+ mesq l("It will allow you to store %d extra items, with unlimited weight or size limit, for only %s GP! Although premium clients such as yourself... deserve a discount!", 500, fnum(.@price));
+ next;
+ BKReg(getarg(0), getarg(1), .@price, 3);
+ }
+ if (getq(General_Banker) >= 3) {
+ closeclientdialog;
+ openstorage 5;
+ close;
+ }
+ break;
+ case 6:
+ mes "";
+ BKInfo();
+ break;
+ }
+ if (@menu != 7) {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT | S_NO_NPC_NAME,
+ l("Something else?");
+ }
+ } while (@menu != 7);
+ }
+ closedialog;
+ goodbye;
+ close;
+
+}
diff --git a/npc/functions/barber.txt b/npc/functions/barber.txt
new file mode 100644
index 0000000..370285b
--- /dev/null
+++ b/npc/functions/barber.txt
@@ -0,0 +1,110 @@
+// Evol scripts.
+// Authors:
+// omatt
+// Reid
+// Travolta
+// Description:
+// Function for supporting barber NPC.
+
+function script BarberSayStyle {
+
+ .@get_color = getlook(LOOK_HAIR_COLOR);
+ .@get_look = getlook(LOOK_HAIR);
+ .@style_name$ = $@hairstyle$[.@get_look];
+ .@color_name$ = $@haircolor$[.@get_color];
+
+ switch (getarg(0))
+ {
+ case 1:
+ message strcharinfo(0), l("@@", .@style_name$);
+ break;
+ case 2:
+ message strcharinfo(0), l("@@", .@color_name$);
+ break;
+ case 3:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Your hairstyle is @@ and its color is @@.", .@style_name$, .@color_name$);
+ break;
+ }
+ return;
+}
+function script BarberChangeStyle {
+ do
+ {
+ .@hairsizearray = getarraysize($@hairstyle$);
+ .@get_look = getlook(LOOK_HAIR);
+
+ // Here .@i starts from 1 because hairstyle 0 doesn't exist.
+ for (.@i = 1; .@i < .@hairsizearray; .@i++)
+ {
+ .@menustr$ = .@menustr$
+ + rif(.@get_look != .@i, l("" + $@hairstyle$[.@i] + ""))
+ + ":";
+ }
+
+ .@menustr$ = .@menustr$ + l("I'm fine for now, thank you.");
+
+ .@idx = select(l("As you want!"),.@menustr$);
+
+ if (.@idx == .@i + 1) return; // last choice to quit dialog
+
+ switch (@menu)
+ {
+ case 1:
+ do
+ {
+ // here "- 1" because i don't use the 0 of array
+ .@rand_hair = rand(1,(.@hairsizearray - 1));
+ } while (.@rand_hair == getlook(LOOK_HAIR));
+ setlook LOOK_HAIR, .@rand_hair;
+ setlook LOOK_HAIR_COLOR, getlook(LOOK_HAIR_COLOR);
+ BarberSayStyle 1;
+ break;
+ default:
+ // and here "- 1" because the first choice is taken by the random
+ setlook LOOK_HAIR, (@menu - 1);
+ setlook LOOK_HAIR_COLOR, getlook(LOOK_HAIR_COLOR);
+ break;
+ }
+ .@menustr$ = "";
+ } while (1);
+}
+
+function script BarberChangeColor {
+ do
+ {
+ .@get_look = getlook(LOOK_HAIR_COLOR);
+ .@hairsizearray = getarraysize($@haircolor$);
+
+ for (.@i = 0; .@i < .@hairsizearray; .@i++)
+ {
+ .@menustr$ = .@menustr$
+ + rif(.@get_look != .@i, l("" + $@haircolor$[.@i] + ""))
+ + ":";
+ }
+
+ .@menustr$ = l("Surprise me!") + ":" + .@menustr$ + l("I'm fine for now, thank you.");
+
+ .@idx = select(.@menustr$);
+
+ if (.@idx == .@i + 2) return;
+
+ switch (@menu)
+ {
+ case 1:
+ do
+ {
+ .@rand_color = rand(0, .@hairsizearray);
+ } while (.@rand_color == getlook(LOOK_HAIR_COLOR));
+ setlook LOOK_HAIR_COLOR, .@rand_color;
+ BarberSayStyle 2;
+ break;
+ default:
+ setlook LOOK_HAIR_COLOR, (@menu - 2);
+ break;
+ }
+ .@menustr$ = "";
+ } while (1);
+
+ return;
+}
diff --git a/npc/functions/bitwise.txt b/npc/functions/bitwise.txt
new file mode 100644
index 0000000..0236066
--- /dev/null
+++ b/npc/functions/bitwise.txt
@@ -0,0 +1,176 @@
+// The Mana World Script
+// Author: Gumi, Jesusalva
+/**
+ * Gets a bitmasked value in from an integer. If the shift is omitted, it will
+ * be deduced from the mask.
+ *
+ * @arg 0 - the variable
+ * @arg 1 - mask
+ * @arg 2 - shift */
+function script bitwise_get {
+ .@shift = getarg(2, 0);
+
+ if (getargcount() < 3) {
+ // guess the shift from the mask:
+ for (.@shift = 0; .@shift < 32; ++.@shift) {
+ if ((getarg(1) & (1 << .@shift)) != 0) {
+ break;
+ }
+ }
+ }
+
+ return (getarg(0) & getarg(1)) >> .@shift;
+}
+
+/**
+ * sets a bitmasked value in a variable
+ *
+ * @arg 0 - the target variable
+ * @arg 1 - mask
+ * @arg 2 - shift
+ * @arg 3 - new value
+ * @return a reference to the variable
+ */
+function script bitwise_set {
+ if (getargcount() < 4) {
+ // guess the shift from the mask:
+ for (.@shift = 0; .@shift < 32; ++.@shift) {
+ if ((getarg(1) & (1 << .@shift)) != 0) {
+ break;
+ }
+ }
+
+ return set(getarg(0), (getarg(0) & ~(getarg(1))) | (getarg(2, 0) << .@shift));
+ }
+
+ return set(getarg(0), (getarg(0) & ~(getarg(1))) | (getarg(3, 0) << getarg(2, 0)));
+}
+
+// bitmask_count(<int>)
+// returns the number of bits set in <int> (up to 4096?)
+function script bitmask_count {
+ .@n = getarg(0); // Number evaluated
+ .@p=0; // Bits set/unset
+ .@s=0; // Stack and Check
+ .@m=0; // Memory
+
+ // Loop only as needed
+ while (.@s < .@n) {
+ .@s=2**.@m;
+ if (.@n & .@s)
+ .@p++;
+ .@m++;
+ }
+ return .@p;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+// A Nibble can go up to 15. There are 7 nibbles.
+// get_nibble(VAR, NIBBLEID)
+function script get_nibble {
+ .@v=getarg(0);
+ switch (getarg(1)) {
+ case 0:
+ .@s=0; .@m=0xF; break;
+ case 1:
+ .@s=4; .@m=0xF0; break;
+ case 2:
+ .@s=8; .@m=0xF00; break;
+ case 3:
+ .@s=12; .@m=0xF000; break;
+ case 4:
+ .@s=16; .@m=0xF0000; break;
+ case 5:
+ .@s=20; .@m=0xF00000; break;
+ case 6:
+ .@s=24; .@m=0xF000000; break;
+ default:
+ Exception("Invalid Nibble: "+getarg(1), RB_DEFAULT, .@v);
+ }
+
+ return bitwise_get(.@v, .@m, .@s);
+}
+
+// A Byte can go up to 255. There are 3 bytes. The forth can go up to 127.
+// get_nibble(VAR, BYTEID)
+function script get_byte {
+ .@v=getarg(0);
+ switch (getarg(1)) {
+ case 0:
+ .@s=0; .@m=0xFF; break;
+ case 1:
+ .@s=8; .@m=0xFF00; break;
+ case 2:
+ .@s=16; .@m=0xFF0000; break;
+ case 3:
+ .@s=24; .@m=0x7F000000; break;
+ default:
+ Exception("Invalid Byte: "+getarg(1), RB_DEFAULT, .@v);
+ }
+
+ return bitwise_get(.@v, .@m, .@s);
+}
+
+// A Bitword can go up to 65535 and is fixed in position to handle Soul EXP.
+// get_bitword(VAR)
+function script get_bitword {
+ .@v=getarg(0);
+
+ return bitwise_get(.@v, 0xFFFF, 0);
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+// A Nibble can go up to 15. There are 7 nibbles.
+// set_nibble(VAR, NIBBLEID, VAL)
+function script set_nibble {
+ .@v=getarg(0);
+ switch (getarg(1)) {
+ case 0:
+ .@s=0; .@m=0xF; break;
+ case 1:
+ .@s=4; .@m=0xF0; break;
+ case 2:
+ .@s=8; .@m=0xF00; break;
+ case 3:
+ .@s=12; .@m=0xF000; break;
+ case 4:
+ .@s=16; .@m=0xF0000; break;
+ case 5:
+ .@s=20; .@m=0xF00000; break;
+ case 6:
+ .@s=24; .@m=0xF000000; break;
+ default:
+ Exception("Invalid SNibble: "+getarg(1), RB_DEFAULT);
+ }
+
+ return bitwise_set(getarg(0), .@m, .@s, getarg(2));
+}
+
+// A Byte can go up to 255. There are 3 bytes. The forth can go up to 127.
+// set_nibble(VAR, BYTEID, VAL)
+function script set_byte {
+ .@v=getarg(0);
+ switch (getarg(1)) {
+ case 0:
+ .@s=0; .@m=0xFF; break;
+ case 1:
+ .@s=8; .@m=0xFF00; break;
+ case 2:
+ .@s=16; .@m=0xFF0000; break;
+ case 3:
+ .@s=24; .@m=0x7F000000; break;
+ default:
+ Exception("Invalid SByte: "+getarg(1), RB_DEFAULT);
+ }
+
+ return bitwise_set(getarg(0), .@m, .@s, getarg(2));
+}
+
+// A Bitword can go up to 65535 and is fixed in position to handle Soul EXP.
+// set_bitword(VAR, VAL)
+function script set_bitword {
+ .@v=getarg(0);
+
+ return bitwise_set(getarg(0), 0xFFFF, 0, getarg(1));
+}
+
diff --git a/npc/functions/captcha.txt b/npc/functions/captcha.txt
new file mode 100644
index 0000000..30e8b3c
--- /dev/null
+++ b/npc/functions/captcha.txt
@@ -0,0 +1,258 @@
+// TMW2 functions.
+// Author:
+// Jesusalva
+// Description:
+// Random CAPTCHA check against AFK robots.
+// TODO: Put this in a blackbox for bots which sniff text chat.
+// Variables:
+// gettimetick(2) variables: CAPTCHA_TIME | CAPTCHA_OK
+// CAPTCHA_1 | CAPTCHA_2 | CAPTCHA_ANSWER => The correct captcha reply
+// CAPTCHA_OP$ => The operation, defaults to "+"
+// $@BOTCHECK_TARGET => The account ID of the char being probed
+// @captcha_cooldown => anti-flood
+// $CAPTCHA (bitmask)
+// 0 - Captcha Disabled
+// 1 - Captcha Enabled
+// 2 - Display warnings (@captcha_lastwarning/@captcha_lastwarningt)
+
+// CaptchName, names the number
+function script CaptchName {
+ switch (getarg(0)) {
+ case 0: return l("zero");
+ case 1: return l("one");
+ case 2: return l("two");
+ case 3: return l("three");
+ case 4: return l("four");
+ case 5: return l("five");
+ case 6: return l("six");
+ case 7: return l("seven");
+ case 8: return l("eight");
+ case 9: return l("nine");
+ case 10: return l("ten");
+ case 11: return l("eleven");
+ case 12: return l("twelve");
+ case 13: return l("thirteen");
+ case 14: return l("fourteen");
+ case 15: return l("fifteen");
+ case 16: return l("sixteen");
+ case 17: return l("seventeen");
+ case 18: return l("eighteen");
+ case 19: return l("nineteen");
+ case 20: return l("twenty");
+ }
+ return getarg(0);
+}
+
+// MakeCaptch, makes a captcha and saves it
+function script MakeCaptch {
+ CAPTCHA_TIME=gettimetick(2);
+ CAPTCHA_OK=CAPTCHA_TIME;
+ CAPTCHA_1=rand2(21);
+ CAPTCHA_2=rand2(20);
+ // select a operation
+ switch (rand2(1)) {
+ case 0:
+ CAPTCHA_OP$="-";
+ CAPTCHA_ANSWER=CAPTCHA_1-CAPTCHA_2;
+ break;
+ default:
+ CAPTCHA_OP$="+";
+ CAPTCHA_ANSWER=CAPTCHA_1+CAPTCHA_2;
+ break;
+ }
+ return;
+}
+
+function script CaptchVal {
+ // Make it nice
+ .@c$=any(
+ CAPTCHA_1+CAPTCHA_OP$+CAPTCHA_2,
+ CaptchName(CAPTCHA_1)+CAPTCHA_OP$+CAPTCHA_2,
+ CAPTCHA_1+CAPTCHA_OP$+CaptchName(CAPTCHA_2),
+ CaptchName(CAPTCHA_1)+CAPTCHA_OP$+CaptchName(CAPTCHA_2),
+ CAPTCHA_1+" "+CAPTCHA_OP$+" "+CAPTCHA_2,
+ CaptchName(CAPTCHA_1)+" "+CAPTCHA_OP$+" "+CAPTCHA_2,
+ CAPTCHA_1+" "+CAPTCHA_OP$+" "+CaptchName(CAPTCHA_2),
+ CaptchName(CAPTCHA_1)+" "+CAPTCHA_OP$+" "+CaptchName(CAPTCHA_2));
+ return .@c$;
+}
+
+function script CaptchExample {
+ if (!CAPTCHA_TIME || getarg(0, false)) {
+ dispbottom("##1TO REPLY TO CAPTCHAS: @captcha <numeric answer>##1");
+ dispbottom l("Example: Give the answer for the following: one+1");
+ dispbottom l("Reply: %s", b("@captcha 2"));
+ dispbottom b(l("This example will not be shown again."));
+ }
+ return;
+}
+
+- script @captcha 32767,{
+ function captchaProbe;
+ end;
+
+OnCall:
+ // Not you, ignore
+ if (getcharid(3) != $@BOTCHECK_TARGET)
+ end;
+ // Attempt cooldown
+ if (@captcha_cooldown > gettimetick(2)) {
+ dispbottom l("CAPTCHA: Cooldown in effect."); end;}
+ // Process answer
+ @captcha_cooldown=gettimetick(2)+.antiflood;
+ // Lets be reasonable
+ if (gettimetick(2)+2 > CAPTCHA_TIME) {
+ dispbottom l("CAPTCHA: An error happened, try again."); end;}
+
+ // Verify answer
+ .@ans$ = implode(.@atcmd_parameters$, " ");
+ .@ans=atoi(.@ans$);
+ if (.@ans == CAPTCHA_ANSWER) {
+ CAPTCHA_OK=gettimetick(2)+.cooldown;
+ $@BOTCHECK_TARGET=0;
+ dispbottom any(
+ l("Captcha successful"),
+ l("Captcha ok"),
+ l("Correct"),
+ l("Understood"),
+ l("Not bad"),
+ l("Hmpf. That'll do."),
+ l("A bit longer and I would have jailed you %%\\ "),
+ l("%%\\ that'll do."),
+ l("%%N"));
+ dispbottom l("Remember: Players can also help enforcing no-AFK-bot rule!");
+ //dispbottom l("Remember: Never lend your toothbrush to a slime!");
+ } else {
+ dispbottom l("CAPTCHA: Incorrect answer. Wait %ds and try again.", .antiflood); // Max 10 attempts total
+ }
+ end;
+
+OnInit:
+ .thr=180; // Seconds to reply
+ .cooldown=3600; // Captcha Immunity
+ .antiflood=18; // Seconds between captcha failed attempts
+ bindatcmd "captcha", "@captcha::OnCall", 0, 0, 0;
+ initnpctimer;
+ end;
+
+// Pick a random target for captcha checks
+OnTimer5000:
+ // Script disabled by admins
+ if (!$CAPTCHA) {
+ initnpctimer;
+ end;
+ }
+
+ if ($@BOTCHECK_TARGET) captchaProbe();
+
+ // Maybe we will conduct a captcha
+ if (rand2(10) < 3) {
+ // This can be slow, beware
+ .@c = getunits(BL_PC, .@players, MAX_CYCLE_PC);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ // Too lazy
+ if (rand2(100) > 5)
+ continue;
+
+ // Okay, lets do it
+ attachrid(.@players[.@i]);
+
+ // TODO: What about jailed players?
+
+ // 1. Player in immunity, who is next one
+ if (CAPTCHA_OK > gettimetick(2)) {
+ detachrid();
+ continue;
+ }
+
+ // 2. Player must be jailed, and we continue
+ if (CAPTCHA_TIME < CAPTCHA_OK) {
+ atcommand("@jailfor 40mn "+strcharinfo(0));
+ dispbottom l("You failed to reply to the captcha in time and were arrested for AFK Botting. You can use @jailtime to keep track of time left.");
+ CAPTCHA_OK=CAPTCHA_TIME;
+ detachrid();
+ continue;
+ }
+
+ // 2.1 Player is AFK for more than 30 seconds
+ if (checkidle() > 30) {
+ detachrid();
+ continue;
+ }
+
+ // 3. This is a good target, lets do this
+ .@g$="";
+ CaptchExample();
+ MakeCaptch();
+
+ .@g$=any(
+ "CAPTCHA: Please reply the following: "+CaptchVal(),
+ "BOTCHECK: Please reply the following: "+CaptchVal(),
+ "CAPTCHA: You must answer this: "+CaptchVal(),
+ "BOTCHECK: You must answer this: "+CaptchVal());
+
+ // 4. Find a random method
+ switch (rand2(2)) {
+ case 0:
+ message(getcharid(3), .@g$);
+ message(getcharid(3), "Example for one + one: @captcha 2");
+ break;
+ case 1:
+ announce(.@g$, bc_self|bc_pc);
+ announce("Example for one + one: @captcha 2", bc_self|bc_pc);
+ break;
+ default:
+ dispbottom(.@g$);
+ dispbottom("Example for one + one: @captcha 2");
+ break;
+ }
+
+ // 5. Detach rid, target is set
+ $@BOTCHECK_TARGET=getcharid(3);
+ detachrid();
+ break;
+ }
+ }
+
+ // Continue this timer forever
+ initnpctimer;
+ end;
+
+function captchaProbe {
+ // Attach rid
+ .@online=attachrid($@BOTCHECK_TARGET);
+
+ // User disconnected, next captcha they'll be arrested because timer will expire
+ if (!.@online) {
+ $@BOTCHECK_TARGET=false;
+ CAPTCHA_OK=false;
+ }
+
+ // Timer expired? Ban hammer
+ if (CAPTCHA_TIME+.thr > gettimetick(2) && CAPTCHA_OK <= CAPTCHA_TIME) {
+ atcommand("@jailfor 30mn "+strcharinfo(0));
+ dispbottom l("You failed to reply to the captcha in time and were arrested for AFK Botting. You can use @jailtime to keep track of time left.");
+ CaptchExample(true);
+ $@BOTCHECK_TARGET=false;
+ CAPTCHA_OK=CAPTCHA_TIME;
+ }
+
+ // Nothing happened, lets wait
+ if ($CAPTCHA & 2) {
+ if (!@captcha_lastwarningt)
+ @captcha_lastwarningt=3;
+ if (!@captcha_lastwarning)
+ @captcha_lastwarning=gettimetick(2);
+
+ if (@captcha_lastwarning < gettimetick(2)) {
+ dispbottom l("CAPTCHA: You have %s minute(s) remaining", CaptchName(@captcha_lastwarningt));
+ @captcha_lastwarningt-=1;
+ @captcha_lastwarning+=60;
+ }
+ }
+ return;
+ }
+
+}
+
+
diff --git a/npc/functions/clientversion.txt b/npc/functions/clientversion.txt
new file mode 100644
index 0000000..55ccc3f
--- /dev/null
+++ b/npc/functions/clientversion.txt
@@ -0,0 +1,1205 @@
+// TMW2 Scripts
+// Evol functions.
+// Author:
+// 4144
+// Jesusalva
+// Description:
+// Function checking the client version and reports if it is too old.
+// This also handles all updates, and usually have priority.
+
+function script clientupdater {
+ // Bugfix
+ if (!TUT_VAR && UPDATE)
+ TUT_VAR=UPDATE;
+ // Skip any update for newcomers
+ if (compare(getmap(), "000-0") || $@NOUPDATES) {
+ UPDATE=gettimetick(2);
+ }
+ // If you're in Jail, show a minor message
+ if (getmap() == "sec_pri") {
+ dispbottom l("You seem to be jailed. We cannot unjail offline players, so please don't logout.");
+ dispbottom l("You have the right to defend yourself if you believe we were wrong. If we find out it's true, you'll receive an apology gift.");
+ dispbottom l("Note: Unless you were doing something REALLY bad which is harmful to player community (eg. scamming, hacking, DDoS'ing, etc.)");
+ dispbottom l("Please contact a GM as soon as possible so we can make out a compromise. You should be liberated even if found guilty.");
+ }
+
+ .@dg=0;
+ /*
+ // New skills introduced
+ if (UPDATE < 1531786864) {
+ UPDATE=1531786864;
+ skill TMW2_FAKESKILL, 1, 0;
+ skill TMW2_FAKESKILL2, 1, 0;
+ }
+ // Gallery Contest and 2019-12-29 no-drop incident
+ // ter jan 8 03:52:20 -02 2019
+ if (UPDATE < 1546926740) {
+ UPDATE=1546926740;
+ .@u$=strtolower(strcharinfo(0));
+ setarray .@apology$, "jesusalva", "mrhedx", "ziah", "soren xd", "warblade", "yuxin", "xtreem", "monking", "demure gm", "se francisc";
+ setarray .@gallery$, "jesusalva", "mishana", "bobr", "demure", "lawncable";
+
+ // Users connected during nodrop incident (2018-12-29)
+ // Jesusalva Mrhedx Ziah "Soren xd" WarBlade
+ // yuxin Xtreem monking "demure GM" "Se Francisc"
+ if (array_exists(.@apology$, .@u$)) {
+ getitembound GoldenGift, 1, 1;
+ Zeny=Zeny+570;
+ .@dg=1;
+ showavatar NPC_LOF_RICH;
+ mesn ("TMW2 Staff");
+ mesc l("Hello, @@! We just looked up and found out you were active during 2018-12-29!", strcharinfo(0)), 3;
+ mesc l("And during that time, item dropped was bugged! We wanted to deliver you a token of apology!"), 3;
+ mesc l("Sorry, and enjoy the game! Your TMW2 Staff Team."), 3;
+ mesc l("Token Of Apology: 1x @@, 570 GP", getitemlink(GoldenGift));
+ next;
+ }
+
+ // 1st Gallery Contest Participants
+ // Mishana LawnCable bObr Jesusalva demure
+ if (array_exists(.@gallery$, .@u$)) {
+ getitem StrangeCoin, 30;
+ .@dg=1;
+ showavatar NPC_LOF_RICH;
+ mesn ("TMW2 Staff");
+ mesc l("Hello, @@! We are proud to announce the @@ RESULTS!", strcharinfo(0) , b(l("1° Screenshooting Contest"))), 3;
+ mesc l("Participants: Jesusalva * mishana * bObr * demure * LawnCable"), 3;
+ next;
+ mesc ("Mishana Entries: Happy"), 3;
+ mesc ("LawnCable Entries: Login Screen, TMW2 Field"), 3;
+ mesc ("Demure Entries: Buggy Map"), 3;
+ mesc ("Jesusalva Entries: LoF Secret Island, GM Plotting Evil Scheme For Next Event, Crazyfefe Cave"), 3;
+ mesc ("bObr Entries: My Very Own Tiny Orchard"), 3;
+ next;
+ mesc l("1st Place - Mishana, LawnCable, Jesusalva, bObr");
+ mesc l("5th Place - Demure");
+ mes "";
+ mesc l("Hey, look, a tie happened!");
+ mesc l("How's that even possible? Well, 30 @@ for all contestants!", getitemlink(StrangeCoin));
+ next;
+ }
+ }
+ // Valentine Day Event Bug
+ // sex fev 15 18:04:00 -02 2019
+ if (UPDATE < 1550261040) {
+ UPDATE=1550261040;
+ if (#VALENTINE_POINTS) {
+ .@dg=1;
+ showavatar NPC_LOF_RICH;
+ mesn ("TMW2 Staff");
+ mesc l("Hello, @@! We just looked up and found out you that you were affected on a Valentine Event bug!", strcharinfo(0)), 3;
+ mesc l("Due this bug, you didn't got a proper amount of points per sent. We wanted to deliver you a token of apology!"), 3;
+ mesc l("Sorry, and enjoy the game! Your TMW2 Staff Team."), 3;
+ mesc l("Token Of Apology: 1x @@, 1x @@", getitemlink(SilverGift), getitemlink(MercBoxB));
+ getitem SilverGift, 1;
+ getitem MercBoxB, 1;
+ #VALENTINE_POINTS=0;
+ next;
+ }
+ }
+ // Limited bots
+ // sex fev 15 23:22:21 -02 2019
+ if (UPDATE < 1550280141) {
+ UPDATE=1550280141;
+
+ .@dg=1;
+ mesc l("Game Rules were updated!"), 1;
+ mesc l("Use @@ to read the new version.", "@rules"), 1;
+ mes "";
+ //GameRules S_NO_NPC_NAME | S_LAST_NEXT;
+ }
+ // Msawis bug
+ // ter fev 19 12:15:00 -03 2019
+ if (UPDATE < 1550589300) {
+ UPDATE=1550589300;
+ // Unclaimed Rewards
+ // 2000283 Msawis 10 points
+ // 2000552 Mrhedx 4 points
+ // 2000299 vilbou 1 point
+ setarray .@apology, 2000552, 2000283, 2000299;
+ if (array_exists(.@apology, getcharid(3)) && (#VALENTINE_SENT+#VALENTINE_OPENED) > 0) {
+ if (getcharid(3) == 2000552) {
+ getitem BronzeGift, 1;
+ } else if (getcharid(3) == 2000283) {
+ getitem GoldenGift, 1;
+ } else if (getcharid(3) == 2000299) {
+ getitem StrangeCoin, 1;
+ }
+ dispbottom l("Valentine Day Event Reward automatically claimed");
+ #VALENTINE_SENT=0;
+ #VALENTINE_OPENED=0;
+ #VALENTINE_RECEIVED=0;
+ }
+ }
+ // Update Tycoon quest exp
+ // dom mar 3 12:22:04 -03 2019
+ if (UPDATE < 1551626524) {
+ UPDATE=1551626524;
+ if (getq(MineQuest_Tycoon) >= 15)
+ getexp 43000, 0;
+ }
+ // Shovel Auto-dig option
+ // seg mai 27 21:22:55 -03 2019
+ if (UPDATE < 1559002975) {
+ UPDATE=1559002975;
+ if (countitem(IronShovel) + countitem(SteelShovel))
+ dispbottom l("Shovel have been changed, right-click it to bury items.");
+ }
+ // General Updates
+ // sex jun 21 13:20:21 -03 2019
+ if (UPDATE < 1561134021) {
+ UPDATE=1561134021;
+ if (getq(General_Narrator) >= 3)
+ getitem MercBoxAA, 1;
+ // Well, you don't need this crap I hope...
+ if (BaseLevel < 40)
+ getitem TulimMap, 1;
+ if (getq(TulimsharQuest_Sailors) == 4)
+ getexp 1508, 15;
+ .@cr=countitem(CroconutBox);
+ if (.@cr) {
+ getitem CroconutBox, .@cr;
+ dispbottom l("Croconut Box magically became two in inventory. Storage unaffected."); // Too much hassle affecting storage/cart/etc.
+ }
+ }
+ // General Updates
+ // seg jul 15 16:41:35 -03 2019
+ if (UPDATE < 1565039378) {
+ UPDATE=1565039378;
+ .@dg=true;
+ mesc l(".:: This is Release 9.5 Academy ::."), 0;
+ //mesc l(".:: This is Release 10.0 Infinity ::."), 0;
+ // Fix mounts
+ unequip(EQI_SHADOW_SHOES);
+ setmount 0;
+ // You got recipe book by BSS Quest - mark as complete and get Blueprint
+ if (getq(NivalisQuest_BlueSageSlimes) == 2) {
+ getitem any(AncientBlueprint, AlchemyBlueprintA, EquipmentBlueprintA), 1;
+ CRAFTQUEST=1;
+ mesc l("You got a blueprint as reward for Blue Sage Slimes Quest completion."), 3;
+ }
+ // If you have TMW2_CRAFT skill, you need the bonus recipe
+ if (getskilllv(TMW2_CRAFT)) {
+ RECIPES_EQUIPMENT[CraftDagger]=true;
+ mesc l("Dagger Crafting recipe learnt."), 2;
+ }
+ // Bounty Hunter Helmet
+ if (MERCENARY_DAILYQUEST > 100) {
+ getitem BountyHunterHelmet, 1;
+ mesc l("You got a @@ for completing 100+ daily bountyhunter quests!", getitemlink(BountyHunterHelmet)), 2;
+ }
+ // Cindy quest new rewards
+ if (getq(NivalisQuest_Cindy) >= 3) {
+ getexp 120000, 0;
+ mesc l("You got 120,000 XP for completing Mercury's quest."), 2;
+ }
+ // Mercenary Rank removed
+ if (MERC_RANK) {
+ THIEF_RANK=MERC_RANK;
+ THIEF_EXP=MERC_EXP;
+ MERC_RANK=0;
+ MERC_EXP=0;
+ mesc l("Your class has been changed from %s to %s.", b(l("Merchant Police")), b(l("Thief"))), 1;
+ }
+ if (getskilllv(ALL_INCCARRY)) {
+ skill TF_STEAL, getskilllv(ALL_INCCARRY);
+ skill ALL_INCCARRY, 0, 0;
+ mesc l("Increase Weight skill replaced with Stealing.");
+ }
+ // NEW MAGIC SYSTEM
+ if (getskilllv(SN_SHARPSHOOTING)) {
+ skill AC_CHARGEARROW, getskilllv(SN_SHARPSHOOTING);
+ skill AC_CHARGEARROW, 0, 0;
+ getexp 2000, 150;
+ mesc l("Sharpshooting skill replaced with Charged Arrow."), 1;
+ mesc l("You've got 2000 xp and 150 job xp in apology tokens.");
+ }
+ getskilllist();
+ for (.@i=0; .@i < @skilllist_count; .@i++) {
+ // skip temporary skills
+ if (@skilllist_flag[.@i] != 0)
+ continue;
+ // Only “paid†skills will result in a Scholarship Badge
+ .@id=@skilllist_id[.@i];
+ .@am=0;
+ switch (.@id) {
+ case SM_BASH:
+ case TMW2_DEMURE:
+ case MG_FIREBALL:
+ case MG_SRECOVERY:
+ case AL_DP:
+ .@am=1;
+ case SM_ENDURE:
+ case KN_AUTOCOUNTER:
+ case KN_TWOHANDQUICKEN:
+ case AL_ANGELUS:
+ case CR_TRUST:
+ case CR_DEFENDER:
+ case AL_HOLYLIGHT:
+ case TF_DETOXIFY:
+ case ALL_RESURRECTION:
+ case SM_RECOVERY:
+ case PR_ASPERSIO:
+ case AB_HIGHNESSHEAL:
+ case SA_FREECAST:
+ case SA_DRAGONOLOGY:
+ case TMW2_SAGE:
+ case SA_FLAMELAUNCHER:
+ case SA_FROSTWEAPON:
+ case SA_LIGHTNINGLOADER:
+ case SA_SEISMICWEAPON:
+ case MG_ENERGYCOAT:
+ case MG_NAPALMBEAT:
+ case MG_FIREBOLT:
+ case MG_COLDBOLT:
+ case MG_LIGHTNINGBOLT:
+ case WZ_EARTHSPIKE:
+ mesc l("A skill has been replaced with an @@.", getitemlink(ScholarshipBadge));
+ if (!.@am)
+ .@am=min(5, @skilllist_lv[.@i]);
+
+ getitem ScholarshipBadge, .@am;
+ skill @skilllist_id[.@i], 0, 0;
+ getexp 5, (@skilllist_lv[.@i]-1)*1000;
+ break;
+ // Free skills (AL_HEAL and mass provoke) will result in XP
+ // Only Jakod's skills with level 3+ will result in a badge
+ case AL_HEAL:
+ case EVOL_MASS_PROVOKE:
+ if (@skilllist_lv[.@i] >= 3)
+ getitem ScholarshipBadge, 1;
+ case SM_PROVOKE:
+ case NV_TRICKDEAD:
+ .@delval=@skilllist_lv[.@i];
+ mesc l("A skill has been removed, you got @@ job exp and @@ Strange Coin as an apology token.", .@delval*100, .@delval);
+ skill @skilllist_id[.@i], 0, 0;
+ getexp .@delval, .@delval*100;
+ getitem StrangeCoin, .@delval;
+ break;
+ }
+ }
+ // Grant you AL_DP based on magic level
+ if (MAGIC_LVL) {
+ skill AL_DP, MAGIC_LVL, 0;
+ mesc l("You have learnt \"Divine Protection\" level @@.", MAGIC_LVL), 3;
+ }
+ // Grant you Thief Skill Tier 3
+ if (THIEF_RANK >= 3) {
+ skill(ALL_INCCARRY,1,0);
+ mesc l("You have learnt \"Increase Weight\" in Thief Skills."), 2;
+ }
+ // If you got a Scholarship Badge, you need to travel to Tulimshar.
+ // Give you a Warp Crystal to do so.
+ if (countitem(ScholarshipBadge)) {
+ getitem TulimWarpCrystal, 1;
+ mesc l("You've obtained a @@ to visit Magic Academy.", getitemlink(TulimWarpCrystal)), 1;
+ }
+ // Cleanup
+ deletearray RNGTREASURE_DATE;
+
+ // Open Beta 2019 Main Event Rewards
+ .@u$=strtolower(strcharinfo(0));
+ setarray .@officialnick$, "jesusalva", "kolchak", "xanthem", "seeds", "dangerduck", "test123", "sertrop", "lawncable", "pookie", "saulc",
+ "apane", "omatt";
+ setarray .@expval, 211625, 1955041, 938439, 59663, 73899, 10338, 7494, 7857, 1992, 360, 443, 193, 5180;
+ setarray .@gpval, 150321, 863215, 3263, 973137, 5650, 18343, 45227, 42002, 37381, 50000, 50450, 50275, 49988;
+ setarray .@summer, 19, 30, 55, 0, 4, 2, 3, 4, 0, 0, 0, 0, 2;
+ /* Data for python
+ # import exp from exptable
+ i=0
+ THEARRAY=[]
+ while i < len(names):
+ raw=overflow[i]
+ c=0
+ while c < level[i]:
+ raw+=exp[c]
+ c+=1
+ print("%s: %d exp" % (names[i], raw))
+ THEARRAY.append(int(raw*0.3))
+ i+=1
+
+ setarray .@levelval, 48, 66, 60, 39, 40, 28, 25, 26, 17, 10, 10, 8, 23;
+ setarray .@overflow, 25762, 338713, 55746, 1275, 14516, 504, 2855, 640, 360, 0, 277, 18, 598;
+ * /
+
+ // Open Beta 2019
+ .@ranking=array_find(.@officialnick$, .@u$);
+ // Mishana LawnCable bObr Jesusalva demure
+ showavatar NPC_LOF_RICH;
+ mes "";
+ mes "*************************************";
+ mes "";
+ mesn ("TMW2 Staff");
+ mesc l("Hello, @@! We are proud to announce the @@ RESULTS!", strcharinfo(0) , b(l("Open Beta 2019"))), 3;
+ mes "";
+ mesc l("1st Place - Jesusalva (65)");
+ mesc l("2nd Place - Kolchak (63)");
+ mesc l("3rd Place - Xanthem (56)");
+ mesc l("4th Place - seeds (43)");
+ mesc l("5th Place - dangerDuck (23)");
+ mesc l("6th Place - test123 (20)");
+ mesc l("7th Place - Sertrop (17)");
+ mesc l("8th Place - Pookie (13)");
+ mesc l("9th Place - LawnCable (13)");
+ mesc l("10th Place - Saulc (8)");
+ mes "";
+ mesc l("It was a reeeeeealy close dispute for the podium, but Jesusalva crafted an item at the last minute and took the first place!");
+ mesc l("Although KOLCHAK managed to rank first in almost every ranking, Jesusalva was too close, and the Crafting gave him the edge he needed to take first place.");
+ mesc l("Congratulations to everyone who participated on the event, even those who didn't made to the top 10!");
+ if (.@ranking >= 0) {
+ #ADD_LVL=.@expval[.@ranking];
+
+ // Force Ched quest start if you haven't done so already
+ .@year=getq(SQuest_Ched);
+ if (.@year != (gettime(GETTIME_YEAR)-2000))
+ setq SQuest_Ched, (gettime(GETTIME_YEAR)-2000), 0, 0;
+
+
+ @ched=getq2(SQuest_Ched);
+ .@pts=.@summer[.@ranking];
+ if (.@pts) {
+ getexp rand2(.@pts-1, .@pts*11/10), rand2(0,.@pts/25);
+ setq2 SQuest_Ched, @ched+.@pts;
+ }
+
+ switch (.@ranking+1) {
+ case 1:
+ getitembound Tyranny, 1, 1;
+ getitem MercBoxEE, 1;
+ getitem EquipmentBlueprintE, 1;
+ getitem HousingLetterI, 1;
+ getitem StrangeCoin, 150;
+ break;
+ case 2:
+ getitem MercBoxEE, 1;
+ getitem EquipmentBlueprintE, 1;
+ getitem HousingLetterI, 1;
+ getitem StrangeCoin, 100;
+ break;
+ case 3:
+ getitem MercBoxDD, 1;
+ getitem EquipmentBlueprintD, 1;
+ getitem HousingLetterI, 1;
+ getitem StrangeCoin, 100;
+ break;
+ case 4:
+ case 5:
+ getitem MercBoxCC, 1;
+ getitem EquipmentBlueprintC, 1;
+ getitem HousingLetterI, 1;
+ getitem StrangeCoin, 50;
+ break;
+ case 6:
+ case 7:
+ getitem MercBoxBB, 1;
+ getitem StrangeCoin, 30;
+ break;
+ case 8:
+ case 9:
+ getitem MercBoxAA, 1;
+ getitem StrangeCoin, 10;
+ break;
+ case 10:
+ getitem MercBoxAA, 1;
+ break;
+ } // switch(ranking)
+
+ // GP conversion rules
+ // if you have less than 50k, we'll return you to initial amount
+ // Because it is a thankyou for participating on the event ;-)
+ .@trugp=max(50000, .@gpval[.@ranking]);
+
+ // You get to carry over 1 GP for each 1000 GP too (max 1000 GP bonus)
+ Zeny+=min(1000, .@trugp/1000);
+
+ // You'll get 1 Rare Point for every 1k GP obtained
+ // Top was 1,000,000 → 1000 rare points
+ //#RARE_POINTS+=.@trugp/1000;
+
+ } // if ranking
+ }
+ // Negative Karma = good. And positive karma allows PvP. So...
+ // sex ago 9 18:10:20 -03 2019
+ if (UPDATE < 1565385020) {
+ UPDATE=1565385020;
+ // PVP bugfix
+ Karma=0;
+ // Allow to skip quest if you already have the Grimorium
+ if (countitem(JesusalvaGrimorium) && getskilllv(TMW2_SKILLPERMIT) == 2) {
+ skill TMW2_SKILLPERMIT, 3, 0;
+ }
+ // This can't happen but anyway, just in case...
+ if (getskilllv(TMW2_TRANSMIGRATION) > 10) {
+ skill TMW2_TRANSMIGRATION, 10, 0;
+ }
+ // Magic Skill Points for this skill went from 3 to 2
+ if (getskilllv(ASC_METEORASSAULT))
+ MAGIC_PTS-=1;
+ // Treasure Key from Lua
+ if (getq(General_Narrator) >= 3)
+ getitem TreasureKey, 1;
+
+ // Post-poned Referral Rewards
+ if (#REFERRAL_PROG && BaseLevel >= 25 && #REFERRAL_CTRL < 1) {
+ #REFERRAL_CTRL=1;
+ rodex_sendmail(gf_charid(#REFERRAL_PROG), "TMW2 Team", "Recruited Player got Lv 25!", strcharinfo(0)+" just got level 25!\nAs they get stronger, more rewards will be sent to you!", 0, SilverGift, 1);
+ }
+ if (#REFERRAL_PROG && BaseLevel >= 50 && #REFERRAL_CTRL < 2) {
+ #REFERRAL_CTRL=2;
+ rodex_sendmail(gf_charid(#REFERRAL_PROG), "TMW2 Team", "Recruited Player got Lv 50!", strcharinfo(0)+" just got level 50!\nAs they get stronger, more rewards will be sent to you!", 0, ArcmageBoxset, 1);
+ }
+ #REFERRAL_CTRL=3;
+ if (#REFERRAL_PROG && BaseLevel >= 75 && #REFERRAL_CTRL < 3) {
+ rodex_sendmail(gf_charid(#REFERRAL_PROG), "TMW2 Team", "Recruited Player got Lv 75!", strcharinfo(0)+" just got level 75!\nAs they get stronger, more rewards will be sent to you!", 0, PrismGift, 1);
+ }
+ // Eisten Rewards
+ if (BaseLevel >= 50 && getq(TulimsharQuest_Eistein) == 2)
+ getitem SilverGift, 1;
+ if (BaseLevel >= 75 && getq(TulimsharQuest_Eistein) == 3)
+ getitem GoldenGift, 1;
+ if (BaseLevel >= 75 && getq(TulimsharQuest_Eistein) >= 3)
+ getitem GraduationRobe, 1;
+ // Grant you Thief Skill Tier 4
+ if (THIEF_RANK >= 4) {
+ skill(MC_OVERCHARGE,1,0);
+ dispbottom l("You have learnt \"Barter\" in Thief Skills.");
+ }
+ // Update Crafting Score
+ CRAFTING_SCORE_COMPLETE=CRAFTING_SCORE*39;
+ // Water bug
+ if (strcharinfo(0) == "JulieWarhawk") {
+ .@dg=true;
+
+ // Sell Bottles
+ if (countitem(BottleOfWoodlandWater) > 1) {
+ delitem BottleOfWoodlandWater, (countitem(BottleOfWoodlandWater)/2)+1;
+ }
+ if (countitem(EmptyBottle)) {
+ delitem EmptyBottle, countitem(EmptyBottle);
+ }
+ if (countitem(IcedBottle)) {
+ delitem IcedBottle, countitem(IcedBottle);
+ }
+ getitem ArcmageBoxset, 1;
+
+ // Unjail player
+ atcommand "@unjail "+strcharinfo(0);
+ mesn "Jesusalva";
+ mesq l("You're right, you never sold any Water Bottle ever. I'm unjailing you.");
+ mesc l("As an Apology Token, you're also receiving one @@.", getitemlink(ArcmageBoxset));
+ next;
+ }
+
+ // Bug reward (FF)
+ if (strcharinfo(0) == "seeds") {
+ getitembound LegendaryMouboo, 1, 1;
+ }
+ }
+ // Old regex messed things up
+ // All updates in August are invalid
+ // inv ali d --:--:-- +-- ----
+ if (UPDATE > 1564617600 && UPDATE < 1567295999 && UPDATE != 1565385020) {
+ UPDATE=1565039378;
+ mesn "Narrator";
+ mesc l("Warning."), 1;
+ mesc l("Warning."), 1;
+ mesc l("Warning: Invalid UNIX EPOCH time detected."), 1;
+ next;
+ mesc l("We'll be correcting this bug automatically now.");
+ mesc l("YOU WILL BE DISCONNECTED BY FORCE."), 1;
+ mesc l("Please login right after, and this error should not happen again.");
+ next;
+ // Force user to disconnect
+ atcommand "@kick "+strcharinfo(0);
+ }
+ // Leather Quiver price update
+ // qua set 4 11:07:12 -03 2019
+ if (UPDATE < 1567606032) {
+ UPDATE=1567606032;
+ // Leather Quiver update
+ if (countitem(LeatherQuiver)) {
+ getitem TitaniumOre, countitem(LeatherQuiver)*3;
+ getitem Coal, countitem(LeatherQuiver)*2;
+ dispbottom l("Titanium Ore and Coal refunded on Leather Quiver update.");
+ }
+ // Braknar shield recipe
+ if (getq(NivalisQuest_Baktar) >= 3) {
+ RECIPES_EQUIPMENT[CraftBraknarShield]=true;
+ dispbottom l("Braknar Shield Recipe unlocked!");
+ }
+ // Orby's fix
+ if (strcharinfo(0) == "Orby") {
+ delinventorylist(); // Needed, because we'll rely on rfind()
+ getinventorylist();
+ .@index=array_rfind(@inventorylist_id, IronQuiver);
+ setitemoptionbyindex(.@index, 0, VAR_VITAMOUNT, 1);
+ setitemoptionbyindex(.@index, 1, IOPT_RICHNESS, 1);
+ dispbottom l("Iron Quiver stats restored");
+ // As Orby is Hurnscald Mayor for this term, fix Hurnscald
+ .@df=$HURNS_TAX-100;
+ $HURNS_MONEY+=.@df;
+ $HURNS_TAX=100;
+ }
+ // Crazyfefe's fix
+ if (strcharinfo(0) == "Crazyfefe") {
+ CRAFTING_SCORE_COMPLETE+=30*39;
+ CRAFTING_SCORE=CRAFTING_SCORE_COMPLETE/40;
+ }
+ // Karma fix (double check
+ Karma=0;
+ }
+ // Baktar changes
+ // seg out 21 19:32:55 -03 2019
+ if (UPDATE < 1571697175) {
+ UPDATE=1571697175;
+ .@q2=getq2(NivalisQuest_Baktar);
+ if (.@q2 & 4)
+ setq2 NivalisQuest_Baktar, .@q2^4;
+ if (.@q2 & 2)
+ Zeny+=1000;
+ if (.@q2 & 1)
+ Zeny+=1350;
+ }
+ // Ryan reward remaster + Monthly Reward rewrite
+ // qua nov 6 21:15:41 -03 2019
+ if (UPDATE < 1573085741) {
+ UPDATE=1573085741;
+ // Login reward fix
+ if (#LOGIN_ALLTIME >= 6 && #UPDATE < 1573085741) {
+ dispbottom l("CONGRATULATIONS! For a semester worth of logins, you're getting a pet!");
+ makepet Piou;
+ }
+ #UPDATE=1573085741;
+
+ // Ryan Quest
+ if (getq(HalinarzoQuest_LifeDelight) >= 3)
+ getitem MylarinDust, 1;
+
+ // Impossible...
+ if (getq(HalinarzoQuest_LifeDelight) >= 4)
+ getitem SunnyCrystal, 1;
+ }
+ // Registration Date
+ // sáb jan 25 18:30:00 BRT 2020
+ if (UPDATE < 1579987800) {
+ UPDATE=1579987800;
+ if (!#REG_DATE) {
+ #REG_DATE=gettimetick(2); // 1520046000 : sáb mar 3 00:00:00 BRT 2018
+ // A thank-you for being with us for almost 2 years
+ getitem StrangeCoin, 1;
+ dispbottom l("Thank you for being with us for so long. You gained a %s as a random good-hearted action from the team!", getitemlink(StrangeCoin));
+ }
+ }
+ // Language over simplification
+ // dom fev 16 14:54:30 BRT 2020
+ if (UPDATE < 1581875670) {
+ UPDATE=1581875670;
+ switch (Lang) {
+ case 0:
+ break;
+ case 1: // Old French
+ Lang=LANG_FR; break;
+ case 3: // Old Spanish
+ Lang=LANG_ES; break;
+ case 4: // Old Portuguese
+ Lang=LANG_PTBR; break;
+ case 5: // Old German
+ Lang=LANG_DE; break;
+ default:
+ Lang=99; break;
+ }
+
+ if (Lang > MAX_LANG) {
+ .@dg=1;
+ Lang=0;
+ asklanguage();
+ mes l("Ok, done.");
+ }
+ }
+ // AFK Time fix
+ // dom mar 1 22:05:00 BRT 2020
+ if (UPDATE < 1583111100) {
+ UPDATE=1583111100;
+ unequipbyid(Slippers);
+ unequipbyid(AFKCap);
+ unequipbyid(Blanket);
+ unequipbyid(Bathrobe);
+ skill TMW2_SPEECH, 0, 0;
+ // PS. All values are ÷ 3
+ if (AFKING >= 28800)
+ sk_lvup(TMW2_SPEECH); // 24 hours mark
+ if (AFKING >= 201600)
+ sk_lvup(TMW2_SPEECH); // 7 days mark
+ if (AFKING >= 864000)
+ sk_lvup(TMW2_SPEECH); // 30 days mark
+ if (AFKING >= 2592000)
+ sk_lvup(TMW2_SPEECH); // 90 days mark
+ }
+ // Deprecate event points
+ // dom abr 26 12:41:55 BRT 2020
+ if (UPDATE < 1587915715) {
+ UPDATE=1587915715;
+
+ if (EVENT_POINTS) {
+ getitem StrangeCoin, EVENT_POINTS/2;
+ EVENT_POINTS=0;
+ }
+
+ }
+ // Magic v3
+ // dom jun 21 05:55:00 BRT 2020
+ if (UPDATE < 1592729700) {
+ UPDATE=1592729700;
+ #FIRST_TIME=true;
+
+ if (getskilllv(TMW2_CRAFT) > 5) {
+ // Refund part of the money spent
+ Zeny+=35000+(getskilllv(TMW2_CRAFT) > 6 ? 40000 : 0);
+ // Update crafting
+ skill TMW2_CRAFT, 5, 0;
+ dispbottom l("Crafting rules changed! Your crafting skill was lowered to Level 5, talk to Craftmaster to recover it!");
+ }
+
+ // Rebirth Heroics
+ if (strcharinfo(0) == "Crazyfefe") {
+ getitem SupremeGift, 1;
+ channelmes("#world", $REBIRTH_WINNER$+" is the first player to REBIRTH!! They are so OP! %%N");
+ announce "All hail ##B"+$REBIRTH_WINNER$+"##b, first player to REBIRTH and become OP!", bc_all|bc_npc;
+ }
+
+ // Mass Provoke replacement
+ if (getskilllv(EVOL_AREA_PROVOKE)) {
+ getitembound ScholarshipBadge, getskilllv(EVOL_AREA_PROVOKE), 4;
+ MAGIC_PTS-=getskilllv(EVOL_AREA_PROVOKE)+1;
+ skill EVOL_AREA_PROVOKE, 0, 0;
+ dispbottom col(l("MSP for Area Provoke was refunded."), 1);
+ }
+ if (getskilllv(EVOL_MASS_PROVOKE)) {
+ skill EVOL_AREA_PROVOKE, getskilllv(EVOL_MASS_PROVOKE), 0;
+ skill EVOL_MASS_PROVOKE, 0, 0;
+ dispbottom col(l("Mass Provoke replaced with Area Provoke."), 1);
+ }
+
+ // MG_LIGHTNINGBOLT and TMW2_LIGHTNINGBOLT MSP cost differ, refund
+ if (getskilllv(MG_LIGHTNINGBOLT)) {
+ getitembound ScholarshipBadge, getskilllv(MG_LIGHTNINGBOLT), 4;
+ MAGIC_PTS-=getskilllv(MG_LIGHTNINGBOLT);
+ skill MG_LIGHTNINGBOLT, 0, 0;
+ dispbottom col(l("MSP for Lightning Strike was refunded."), 1);
+ }
+
+ // SN_WINDWALK MSP cost differ, refund
+ if (getskilllv(SN_WINDWALK)) {
+ getitembound ScholarshipBadge, getskilllv(SN_WINDWALK), 4;
+ MAGIC_PTS-=getskilllv(SN_WINDWALK)+2;
+ skill CR_TRUST, 0, 0;
+ dispbottom col(l("MSP for Wind Walker was refunded."), 1);
+ }
+
+ // CR_TRUST MSP cost differ, refund
+ if (getskilllv(CR_TRUST)) {
+ getitembound ScholarshipBadge, getskilllv(CR_TRUST), 4;
+ MAGIC_PTS-=getskilllv(CR_TRUST)+2;
+ skill CR_TRUST, 0, 0;
+ dispbottom col(l("MSP for Last Man Standing was refunded."), 1);
+ }
+
+
+ // Eisten Update
+ if (getq(TulimsharQuest_Eistein) > 3) {
+ getitem GraduationAlbum, 1;
+ dispbottom l("You've got a Graduation Album for Eistein levels!");
+ }
+
+ }
+ // Magic v3 regression
+ // ter jul 7 18:42:22 BRT 2020
+ if (UPDATE < 1594158142) {
+ UPDATE=1594158142;
+
+ for (.@i=0; .@i < getarraysize($@MSK_MAGIC) ; .@i++) {
+ /*
+ debugmes "Debug skill %s - Lv %d",
+ getskillname($@MSK_MAGIC[.@i]), getskilllv($@MSK_MAGIC[.@i]);
+ * /
+ if (getskilllv($@MSK_MAGIC[.@i]) > 1) {
+ .@msp=(getskilllv($@MSK_MAGIC[.@i])-1);
+ MAGIC_PTS-=.@msp;
+ skill $@MSK_MAGIC[.@i], 1, 0;
+ dispbottom l("%s refunded to level 1 for %d MSP",
+ getskillname($@MSK_MAGIC[.@i]), .@msp);
+ }
+ }
+
+ }
+ // AFKing bugfix
+ // qua jul 29 06:52:00 BRT 2020
+ if (UPDATE < 1596016320) {
+ UPDATE=1596016320;
+ .@x=(AFKING >= 2592000 ? 4 : (
+ AFKING >= 864000 ? 3 : (
+ AFKING >= 201600 ? 2 : (
+ AFKING >= 28800 ? 1 : 0
+ ))));
+ skill(TMW2_SPEECH, .@x, 0);
+ dispbottom l("AFK skill levels fixed.");
+ }
+ // Magic RP bugfix
+ // sáb ago 1 05:45:00 BRT 2020
+ if (UPDATE < 1596271500) {
+ UPDATE=1596271500;
+ .@x=(AFKING >= 2592000 ? 4 : (
+ AFKING >= 864000 ? 3 : (
+ AFKING >= 201600 ? 2 : (
+ AFKING >= 28800 ? 1 : 0
+ ))));
+ skill(TMW2_SPEECH, .@x, 0);
+ dispbottom l("AFK skill levels fixed.");
+ for (.@i=0; .@i < getarraysize($@MSK_MAGIC) ; .@i++) {
+ if (getskilllv($@MSK_MAGIC[.@i]) > 1) {
+ .@msp=max(0, getskilllv(@menuret)-5);
+ MAGIC_PTS-=.@msp;
+ skill $@MSK_MAGIC[.@i], 1, 0;
+ dispbottom l("%s removed - YOU NOOB STOP CHEATING %%e%%Q",
+ getskillname($@MSK_MAGIC[.@i]), .@msp);
+ }
+ }
+ }
+ // Skill RP Patch [Magic v3 delayed]
+ // ter ago 25 20:20:20 BRT 2020
+ if (UPDATE < 1598397620) {
+ UPDATE=1598397620;
+
+ // Skills deleted or with poor equivalence
+ skillInvoke[EVOL_AREA_PROVOKE]+=skillInvoke[EVOL_MASS_PROVOKE];
+ skillInvoke[EVOL_MASS_PROVOKE]=0;
+
+ skillInvoke[TMW2_LIGHTNINGBOLT]+=skillInvoke[MG_LIGHTNINGBOLT];
+ skillInvoke[MG_LIGHTNINGBOLT]=0;
+
+ // Skills replaced
+ skillInvoke[TMW2_FIREARROW]+=skillInvoke[MG_FIREBALL];
+ skillInvoke[MG_FIREBALL]=0;
+
+ skillInvoke[TMW2_NAPALMBEAT]+=skillInvoke[AL_HOLYLIGHT];
+ skillInvoke[AL_HOLYLIGHT]=0;
+
+ skillInvoke[TMW2_HOLYLIGHT]+=skillInvoke[MG_NAPALMBEAT];
+ skillInvoke[MG_NAPALMBEAT]=0;
+
+ skillInvoke[TMW2_MAGICSTRIKE]+=skillInvoke[MG_SOULSTRIKE];
+ skillInvoke[MG_SOULSTRIKE]=0;
+
+ skillInvoke[TMW2_METEORSTRIKE]+=skillInvoke[WZ_EARTHSPIKE];
+ skillInvoke[WZ_EARTHSPIKE]=0;
+
+ skillInvoke[TMW2_FROSTDIVER]+=skillInvoke[MG_COLDBOLT];
+ skillInvoke[MG_COLDBOLT]=0;
+
+ skillInvoke[TMW2_FROSTNOVA]+=skillInvoke[MG_FROSTDIVER];
+ skillInvoke[MG_FROSTDIVER]=0;
+
+ skillInvoke[TMW2_NILFHEIM]+=skillInvoke[WZ_FROSTNOVA];
+ skillInvoke[WZ_FROSTNOVA]=0;
+
+ skillInvoke[TMW2_FIRSTAID]+=skillInvoke[AL_HEAL];
+ skillInvoke[AL_HEAL]=0;
+
+ skillInvoke[TMW2_HEALING]+=skillInvoke[AB_HIGHNESSHEAL];
+ skillInvoke[AB_HIGHNESSHEAL]=0;
+ }
+ // Misc bugfixes
+ // dom nov 22 15:27:47 BRT 2020
+ if (UPDATE < 1606069667) {
+ UPDATE=1606069667;
+ if (RECIPES_EQUIPMENT[0]) {
+ Zeny += 15000;
+ getitem PrismGift, 1;
+ RECIPES_EQUIPMENT[0] = false;
+ dispbottom l("Invalid recipe from Nahrec partly reimbursed.");
+ }
+ }
+ */
+ // Christmas Warp bug
+ // seg dez 28 20:45:55 BRT 2020
+ if (UPDATE < 1609199155) {
+ UPDATE=1609199155;
+ if (BaseLevel < 20) {
+ if (getsavepoint(0) != "000-1" &&
+ getsavepoint(0) != "003-1" &&
+ getsavepoint(0) != "005-1" &&
+ getsavepoint(0) != "009-1") {
+ // Resave at Candor
+ EnterTown("Candor");
+ ReturnTown();
+ }
+ }
+ // Assign the initial academic titles
+ if (strcharinfo(0) == "Jesus Saves")
+ ACADEMIC_RANK=ACADEMIC_GM;
+ else if (strcharinfo(0) == "Saulc GM")
+ ACADEMIC_RANK=ACADEMIC_GM;
+ else if (strcharinfo(0) == "jak2")
+ ACADEMIC_RANK=ACADEMIC_GM;
+ else if (strcharinfo(0) == "LawnCable")
+ ACADEMIC_RANK=ACADEMIC_BACHELOR;
+ else if (strcharinfo(0) == "Kolchak")
+ ACADEMIC_RANK=ACADEMIC_TECHNIC;
+ else if (strcharinfo(0) == "dangerDuck")
+ ACADEMIC_RANK=ACADEMIC_TECHNIC;
+ else if (strcharinfo(0) == "Livio")
+ ACADEMIC_RANK=ACADEMIC_TECHNIC;
+ else if (strcharinfo(0) == "Arthur")
+ ACADEMIC_RANK=ACADEMIC_STUDENT;
+ else if (strcharinfo(0) == "Mathias Cronqvist")
+ ACADEMIC_RANK=ACADEMIC_STUDENT;
+ else if (strcharinfo(0) == "Manatauro")
+ ACADEMIC_RANK=ACADEMIC_STUDENT;
+ else if (strcharinfo(0) == "GoNzO")
+ ACADEMIC_RANK=ACADEMIC_STUDENT;
+ else if (strcharinfo(0) == "YuckFou")
+ ACADEMIC_RANK=ACADEMIC_STUDENT;
+ else if (strcharinfo(0) == "Xanthem")
+ ACADEMIC_RANK=ACADEMIC_STUDENT;
+ else if (strcharinfo(0) == "Povo")
+ ACADEMIC_RANK=ACADEMIC_STUDENT;
+ else if (strcharinfo(0) == "Esteria")
+ ACADEMIC_RANK=ACADEMIC_STUDENT;
+
+ if (ACADEMIC_RANK != ACADEMIC_LAYMAN) {
+ // Select a benefactor
+ .@benefactor$=rand_sponsor();
+ // Inform yourself
+ dispbottom l("You received the %s title from %s.",
+ academicrank(), .@benefactor$);
+ // Inform everyone
+ kamibroadcast(sprintf("%s has been granted the title of %s. Thank %s!",
+ strcharinfo(0), academicrank(), .@benefactor$));
+ // Log in a special log file as well
+ logmes(sprintf("%s has been granted the title of %s.",
+ strcharinfo(0), academicrank()));
+ }
+
+ // Gallery Contest
+ .@dg=1;
+ showavatar NPC_LOF_RICH;
+ mesn ("TMW2 Staff");
+ mesc l("Hello, @@! We are proud to announce the @@ RESULTS!", strcharinfo(0) , b(l("2° Screenshooting Contest"))), 3;
+ mesc l("Participants: Povo * Manatauro * Woody"), 3;
+ next;
+ mesc ("Povo Entries: What to do with Presents?"), 3;
+ mesc ("Woody Entries: Lava Dungeon"), 3;
+ mesc ("Manatauro Entries: Yuck Noob =) ; Povo :) ; Lurking GM and Me"), 3;
+ next;
+ mesc l("1st Place - Povo (6 likes)");
+ mesc l("2nd Place - Manatauro (5 likes)");
+ mesc l("3rd Place - Woody (4 likes)");
+ mes "";
+ next;
+ if (strcharinfo(0) == "Povo")
+ getitem StrangeCoin, 80;
+ else if (strcharinfo(0) == "Manatauro")
+ getitem StrangeCoin, 40;
+ else if (strcharinfo(0) == "Woody")
+ getitem StrangeCoin, 20;
+ }
+ // Easter Eggs
+ // qua jul 29 06:52:00 BRT 2020
+ if (UPDATE < 1610083840) {
+ UPDATE=1610083840;
+ .@q=getq(General_EasterEggs);
+ if (.@q) {
+ setq General_EasterEggs, 1, .@q, bitmask_count(.@q);
+ dispbottom l("Easter Egg quest updated. Total found: %02d/06",
+ bitmask_count(.@q));
+ }
+ }
+ // Change variable scope
+ // sáb jan 16 19:21:15 BRT 2021
+ if (UPDATE < 1610835675) {
+ UPDATE=1610835675;
+ #GUILDSHOP=GUILDSHOP;
+ GUILDSHOP=0;
+ }
+ // Post-Fire Titulations
+ // ter ago 17 20:02:40 BRT 2021
+ if (UPDATE < 1629241360) {
+ UPDATE=1629241360;
+ // Assign the initial academic titles
+ if (strcharinfo(0) == "Jesus Saves")
+ ACADEMIC_RANK=ACADEMIC_GM;
+ else if (strcharinfo(0) == "Saulc GM")
+ ACADEMIC_RANK=ACADEMIC_GM;
+ else if (strcharinfo(0) == "jak1")
+ ACADEMIC_RANK=ACADEMIC_GM;
+ else if (strcharinfo(0) == "dangerDuck")
+ ACADEMIC_RANK=ACADEMIC_TECHNIC;
+ else if (strcharinfo(0) == "Livio")
+ ACADEMIC_RANK=ACADEMIC_TECHNIC;
+ else if (strcharinfo(0) == "Xanofire")
+ ACADEMIC_RANK=ACADEMIC_STUDENT;
+ else if (strcharinfo(0) == "Arthur the King")
+ ACADEMIC_RANK=ACADEMIC_STUDENT;
+ else if (strcharinfo(0) == "Mathias Cronqvist")
+ ACADEMIC_RANK=ACADEMIC_STUDENT;
+ else if (strcharinfo(0) == "Mana")
+ ACADEMIC_RANK=ACADEMIC_STUDENT;
+ else if (strcharinfo(0) == "Povo")
+ ACADEMIC_RANK=ACADEMIC_STUDENT;
+ else if (strcharinfo(0) == "Esteria")
+ ACADEMIC_RANK=ACADEMIC_STUDENT;
+
+ //else if (strcharinfo(0) == "LawnCable")
+ // ACADEMIC_RANK=ACADEMIC_BACHELOR;
+ //else if (strcharinfo(0) == "Kolchak")
+ // ACADEMIC_RANK=ACADEMIC_TECHNIC;
+ //else if (strcharinfo(0) == "GoNzO")
+ // ACADEMIC_RANK=ACADEMIC_STUDENT;
+ //else if (strcharinfo(0) == "YuckFou")
+ // ACADEMIC_RANK=ACADEMIC_STUDENT;
+
+ if (ACADEMIC_RANK != ACADEMIC_LAYMAN) {
+ // Select a benefactor
+ .@benefactor$=rand_sponsor();
+ // Inform yourself
+ dispbottom l("You received the %s title from %s.",
+ academicrank(), .@benefactor$);
+ // Inform everyone
+ kamibroadcast(sprintf("%s has been granted the title of %s. Thank %s!",
+ strcharinfo(0), academicrank(), .@benefactor$));
+ // Log in a special log file as well
+ logmes(sprintf("%s has been granted the title of %s.",
+ strcharinfo(0), academicrank()));
+ }
+ }
+ // Change some quest inner workings
+ // qua set 22 12:30:40 BRT 2021
+ if (UPDATE < 1632324640) {
+ UPDATE=1632324640;
+ setq1 HalinarzoQuest_Alvasus, getq(HalinarzoQuest_Alvasus)+1;
+ }
+ // Christmas 2021
+ // ter dez 28 11:57:17 BRT 2021
+ if (UPDATE < 1640703437) {
+ .@u$ = strtolower(strcharinfo(0));
+ setarray .@xmas21$, "jesusalva", "poppet", "jak1", "horak", "hocus pocus fidibus", "statue";
+ setarray .@xmas20$, "andulkat", "kolchak", "Pacman_I_I";
+ if (array_exists(.@xmas21$, .@u$)) {
+ .@dg=1;
+ showavatar NPC_LOF_RICH;
+ mesn ("TMW2 Staff");
+ mesc l("Hello, %s! Congratulations for finishing the %s!", strcharinfo(0), b(l("Christmas 2021 Joint Event"))), 3;
+ mesc l("You need to pick your prizes!"), 3;
+ inventoryplace NPCEyes, 6, Iten, 5;
+ next;
+ mesc l("Select one:"), 3;
+ menuint
+ l("Elixir of Life"), ElixirOfLife,
+ l("Sacred Immortality Potion"), SacredImmortalityPotion;
+ mes "";
+ .@it1 = @menuret;
+ mesc l("Select one:"), 3;
+ menuint
+ l("Short Gunstaff"), PynRevolver,
+ l("Rapid Gunstaff"), PynGatling,
+ l("Explosive Gunstaff"), PynShotgun,
+ l("Powerful Gunstaff"), PynRifle;
+ mes "";
+ .@it2 = @menuret;
+ getitem .@it1, 5;
+ getitembound .@it2, 1, 1;
+ getitem GoldenBossGift, 1;
+ getitem SupremeGift, 1;
+ getitem MagicApple, 1;
+ getitem Arcanum, 1;
+ getitem StrangeCoin, 30;
+ } else if (array_exists(.@xmas20$, .@u$)) {
+ getitem Arcanum, 1;
+ getitem StrangeCoin, 30;
+ }
+ UPDATE=1640703437;
+ // misc fixes
+ if (getq(LoFQuest_George) >= 3)
+ getexp 45000, 0;
+ if (getq(LoFQuest_George) >= 5)
+ getexp 135000, 0;
+ if (getq2(HalinarzoQuest_LifeDelight) >= 20)
+ getitem Coffee, 1;
+ if (getq2(HalinarzoQuest_LifeDelight) >= 30)
+ getitem Manapple, 1;
+ if (getq2(HalinarzoQuest_LifeDelight) >= 40)
+ getitem LoFWarpCrystal, 1;
+ if (getq2(HalinarzoQuest_LifeDelight) >= 60)
+ getitem SacredLifePotion, 1;
+ if (getq2(HalinarzoQuest_LifeDelight) >= 70)
+ getitem MercBoxDD, 1;
+ if (getq2(HalinarzoQuest_LifeDelight) >= 80)
+ getitem DivineApple, 1;
+ if (getq2(HalinarzoQuest_LifeDelight) >= 90)
+ getitem MysteriousFruit, 1;
+ if (getq2(HalinarzoQuest_LifeDelight) >= 21)
+ Mobpt+=((getq2(HalinarzoQuest_LifeDelight) - 1) * (getq2(HalinarzoQuest_LifeDelight) - 20)); // Will work... Sort of
+ }
+ // Realm of Drops
+ // sab set 24 15:37:15 BRT 2022
+ if (UPDATE < 1664044635) {
+ UPDATE=1664044635;
+ skill TMW2_DROPS, REBIRTH+1, 0;
+ if (getskilllv(TMW2_SKILLPERMIT) >= 1)
+ getitem ScholarshipBadge, 1;
+ if (getskilllv(TMW2_SKILLPERMIT) >= 2)
+ getexp 20000, 1000;
+ if (getskilllv(TMW2_SKILLPERMIT) >= 3)
+ getexp 80000, 0;
+ // Actual value has changed, you'll be refunded in EXP
+ if (getskilllv(TMW2_SKILLPERMIT) >= 1)
+ #ADD_LVL+=80000;
+ }
+ // Dausen update
+ // dom out 22 13:15:32 BRT 2022
+ if (UPDATE < 1666541732) {
+ UPDATE=1666541732;
+ if (getq(TulimsharQuest_MobTutorial) >= 2)
+ Zeny+=246;
+ if (getq(TulimsharQuest_MobTutorial) >= 4)
+ Zeny+=616;
+ if (getq(TulimsharQuest_MobTutorial) >= 6)
+ Zeny+=1068;
+ if (getq(TulimsharQuest_MobTutorial) >= 8)
+ Zeny+=2200;
+ }
+
+ // :// End of Regular Update System
+ ////////////////////////////////////
+ // Valentine 2020 Record
+ if (#VALENTINE20_REWARDS) {
+ .@dg=1;
+ // Get misc items
+ getitem OolongTea, 3;
+ getitem SpearmintTea, 5;
+ getitem CrazyRum, 1;
+ getitem DwarvenSake, 3;
+ dispbottom col(l("THANK YOU for participating on cross-server Valentine 2020 Event! We hope you had fun!"), 7);
+ #VALENTINE20_REWARDS=false;
+ }
+
+ // Permanent Gold Boost
+ // #ADD_GP means the user have to right to get some gp
+ if (#ADD_GP) {
+ Zeny+=#ADD_GP;
+ #ADD_GP=0;
+ }
+
+ // Permanent Strange Coins Boost
+ // #ADD_SC means the user have to right to get some strange coins
+ if (#ADD_SC) {
+ logmes "[Merger] Strange Coins +"+#ADD_SC, LOGMES_ATCOMMAND;
+ getitem StrangeCoin, #ADD_SC;
+ #ADD_SC=0;
+ }
+
+ // Permanent Monster Points Boost
+ // #ADD_MPT means the user have to right to get some Mobpt
+ if (#ADD_MPT) {
+ logmes "[Merger] Mobpt +"+#ADD_MPT, LOGMES_ATCOMMAND;
+ Mobpt+=#ADD_MPT;
+ #ADD_MPT=0;
+ }
+
+ // Non Permament Level Boost
+ if (#ADD_TMP_LVL) {
+ // Grant the level
+ if (numdate() <= 20200216 && !#SAVED_LVL) {
+ #SAVED_LVL=BaseLevel;
+ BaseLevel=#ADD_TMP_LVL;
+ dispbottom l("Level set from %d to %d", #SAVED_LVL, BaseLevel);
+
+ // Welcome message
+ .@dg=true;
+ showavatar NPC_LOF_RICH;
+ mesn "Moubootaur Legends Server";
+ mesc l("First of all: Welcome! Your level was temporaly modified, it'll be reverted once event is over."), 3;
+ next;
+ mesn "Moubootaur Legends Server";
+ mesc l("You will be able to pick basic weapons and skills at the Event Soul Menhir."), 3;
+ next;
+ mesn "Moubootaur Legends Server";
+ mesc l("Be careful during night, use \"@tutorial\" in case of doubt, use \"%s\" to go to the event, and good luck!", b("@toevent")), 3;
+ next;
+ // Restore the level
+ } else if (numdate() > 20200216 && #SAVED_LVL) {
+ dispbottom l("Level reset from %d to %d", BaseLevel, #SAVED_LVL);
+ // Save
+ #DEBUG_LEVEL1=#ADD_TMP_LVL;
+ #DEBUG_LEVEL2=BaseLevel;
+ #DEBUG_LEVEL3=#DEBUG_LEVEL2-#DEBUG_LEVEL1;
+ #DEBUG_EXP=BaseExp;
+ // Reset
+ //BaseLevel=#SAVED_LVL;
+ //#SAVED_LVL=0;
+ #ADD_TMP_LVL=0;
+ // Player too late for event!
+ } else if (numdate() > 20200216) {
+ dispbottom l("This event has already ended.");
+ #ADD_TMP_LVL=0;
+ }
+ }
+
+ // Permanent Level Boost
+ // #ADD_LVL means the user have to right to get some levels. This is a sketch. The code might be deleted.
+ if (#ADD_LVL) {
+ //logmes "[Merger] EXP +"+#ADD_LVL, LOGMES_ATCOMMAND;
+ if ((readparam(BaseExp)+#ADD_LVL > readparam(NextBaseExp))) {
+ do {
+ if (BaseLevel >= TOP3AVERAGELVL()) break; // Boundaries
+ .@v=readparam(NextBaseExp)-readparam(BaseExp);
+ getexp .@v, 0;
+ #ADD_LVL-=.@v;
+ } while (readparam(BaseExp)+#ADD_LVL > readparam(NextBaseExp));
+ }
+ // Only give remaining EXP if you did not hit the boundary
+ if (BaseLevel < TOP3AVERAGELVL()) {
+ getexp #ADD_LVL, 0;
+ #ADD_LVL=0;
+ }
+ //rodex_sendmail(getcharid(0), "TMW2 Team", "Welcome to Moubootaur Legends", "Hey, thanks for believing on us! We hope to have a great time together. Any problem, ask for help in #world - the Discord bridge! Enjoy our game!", 20);
+ // TODO: Maybe give an item which lets you open the storage anywhere?
+ }
+
+ if (.@dg) {
+ next;
+ closeclientdialog;
+ }
+ return;
+
+}
+
+// Just be sure your client version is OK
+// NOTE: Current master client version is 26, but M+ 1.9.3.23 is still at 25
+function script checkclientversion {
+ // Destroy Karma, regardless of version and perpetually
+ Karma=0;
+
+ // Minimum version
+ if (ClientVersion >= 25)
+ return;
+
+ mesn "Narrator";
+ mesc l("Warning."), 1;
+ mesc l("Warning."), 1;
+ mesc l("Warning: You are using an old client."), 1;
+ next;
+ //mesc l("Please install the new client from [@@https://manaplus.org/|https://manaplus.org/@@]");
+ mesc l("Alternatively, download a bleeding edge build at [@@https://manaplus.germantmw.de/|https://manaplus.germantmw.de/@@]");
+ mesc l("Or use our awesome [@@https://tmw2.org/manalauncher/InstallManaLauncher.exe|Mana Launcher@@] if you're on Windows or Linux.");
+ next;
+ if (ClientVersion >= 24) mesc l("Compatibility Support mode enabled. Client may crash AT RANDOM, beware.");
+ if (ClientVersion >= 24) mesc l("Crazy stuff can happen in overall. YOU HAVE BEEN WARNED TO UPDATE YOUR CLIENT.");
+ if (ClientVersion >= 24) closeclientdialog;
+ if (ClientVersion >= 24) return;
+ mesc l("You won't be allowed to play this game until you have an updated client.");
+ next;
+ // Force user to disconnect
+ atcommand "@kick "+strcharinfo(0);
+ return;
+}
diff --git a/npc/functions/daily.txt b/npc/functions/daily.txt
new file mode 100644
index 0000000..2c7ff08
--- /dev/null
+++ b/npc/functions/daily.txt
@@ -0,0 +1,230 @@
+// TMW2 Script.
+// Authors:
+// Jesusalva
+// Description:
+// Daily Login Reward
+
+function script daily_login_bonus_handler {
+ // Handle daily login bonus
+ // The Strange Coin output wasn't changed, but now it relies on streaks.
+ // Variables:
+ // #LOGIN_DAY
+ // Current day
+ // #LOGIN_TABLE
+ // Current month
+ // #LOGIN_STREAK
+ // Number of monthly connections
+ // #LOGIN_ALLTIME
+ // Number of times you claimed the top prize (27 days streak)
+ //debugmes "DLBH";
+
+ // GMs can receive Strange Coins
+ if (GSET_AUTORECEIVE_COINS) {
+ if (is_gm()) {
+ if (#GMEVENT_T <= gettimetick(2)) {
+ #GMEVENT_T=gettimetick(2)+(60*60*24);
+ getitem StrangeCoin, 30;
+ }
+ } else {
+ GSET_AUTORECEIVE_COINS=false;
+ }
+ }
+
+ if (#LOGIN_DAY != gettime(5)) {
+ // demure check: Are you on a start area?
+ getmapxy(.@m$,.@x,.@y,0);
+ if (compare(.@m$, "000-0"))
+ return;
+
+ //debugmes "[DLBH] Mapcheck ok";
+ // Is it a new month?
+ if (#LOGIN_TABLE == gettime(6)) {
+ #LOGIN_STREAK=#LOGIN_STREAK+1;
+ } else {
+ #LOGIN_STREAK=1;
+ #LOGIN_TABLE=gettime(6);
+ #TMW2_LOGINBONUS=0;
+ }
+
+ // Update last day you've claimed a reward
+ #LOGIN_DAY = gettime(5);
+ //debugmes "[DLBH] month checks ok";
+
+ // Handle rewards: Streaks first, daily later. Streak reward prevail over daily reward.
+ if ($@NOUPDATES) {
+ dispbottom col(l("Updates were disabled"), 1);
+ } else if (#LOGIN_STREAK > 27) {
+ getitem StrangeCoin, 2;
+ getitem CasinoCoins, 1;
+ dispbottom l("##2 %d Days login bonus: ##B2x %s, 1x %s##b", #LOGIN_STREAK, getitemlink(StrangeCoin), getitemlink(CasinoCoins));
+ } else if (#LOGIN_STREAK == 27) {
+ #LOGIN_ALLTIME+=1;
+ .@am=1;
+ switch (#LOGIN_ALLTIME % 12) {
+ case 1:
+ if (#LOGIN_ALLTIME == 1)
+ .@prize=RightEyePatch;
+ else
+ .@prize=SilverGift;
+ break;
+ case 2:
+ .@prize=ArcmageBoxset; break;
+ case 3:
+ .@prize=MercBoxC; break;
+ case 4:
+ .@prize=AncientBlueprint; break;
+ case 5:
+ .@prize=StrangeCoin; .@am=120; break;
+ case 6:
+ if (#LOGIN_ALLTIME == 6) {
+ dispbottom l("CONGRATULATIONS! For a semester worth of logins, you're getting a pet!");
+ .@prize=PiouEgg; .@am=0;
+ makepet Piou;
+ } else {
+ .@prize=GoldenGift;
+ }
+ break;
+ case 7:
+ .@prize=GoldenGift; break;
+ case 8:
+ .@prize=MercBoxD; break;
+ case 9:
+ .@prize=PrismGift; break;
+ case 10:
+ .@prize=StrangeCoin; .@am=150; break;
+ case 11:
+ .@prize=MercBoxE; break;
+ case 0:
+ .@prize=MysteriousFruit; break;
+ default:
+ .@prize=ElixirOfLife; break;
+ }
+
+ if (.@am)
+ getitem .@prize, .@am;
+ dispbottom l("##2 27 Days login bonus: ##B1x %s##b", getitemlink(.@prize));
+ } else if (#LOGIN_STREAK == 21) {
+ getitem BronzeGift, 1;
+ dispbottom l("##2 21 Days login bonus: ##B1x %s##b", getitemlink(BronzeGift));
+ } else if (#LOGIN_STREAK == 14) {
+ getitem BronzeGift, 1;
+ dispbottom l("##2 14 Days login bonus: ##B1x %s##b", getitemlink(BronzeGift));
+ } else if (#LOGIN_STREAK == 7) {
+ getitem StrangeCoin, 3;
+ dispbottom l("##2 7 Days login bonus: ##B3x %s##b", getitemlink(StrangeCoin));
+ } else if (#LOGIN_STREAK == 3) {
+ getitem StrangeCoin, 1;
+ dispbottom l("##2 3 Days login bonus: ##B1x %s##b", getitemlink(StrangeCoin));
+ } else if (#LOGIN_STREAK % 3 == 0) {
+ .@value=max(20, rand2(#LOGIN_STREAK, #LOGIN_STREAK*2));
+ .@value+=(BaseLevel*5/2)+rand2(JobLevel, JobLevel*7/20);
+ .@value=.@value * 5 / 4; // Bonus 25%
+ Zeny=Zeny+.@value;
+ dispbottom l("##2Daily login bonus: ##B%d GP##b", .@value);
+ } else if (#LOGIN_STREAK % 3 == 2) {
+ .@value=max(5, rand2(0, (#LOGIN_STREAK/4)));
+ .@value+=(BaseLevel**2);
+ .@value=(.@value*3/4)+#LOGIN_STREAK; // 50% → 75%
+ getexp .@value, 0;
+ dispbottom l("##2Daily login bonus: ##B%d EXP##b", .@value);
+ } else {
+ .@value=max(5, rand2(0, (#LOGIN_STREAK/4)));
+ .@value+=(JobLevel**2);
+ .@value=(.@value/2)+#LOGIN_STREAK; // 33% → 50%
+ getexp 0, .@value;
+ dispbottom l("##2Daily login bonus: ##B%d Job Exp.##b", .@value);
+ }
+
+ // Handle event login bonus
+ if (gettime(6) == JANUARY) {
+ if (#TMW2_LOGINBONUS != gettime(GETTIME_YEAR) && gettime(5) == 13) {
+ #TMW2_LOGINBONUS=gettime(GETTIME_YEAR);
+ getitem StrangeCoin, 10;
+ // TMW2 Anniversary is project, not server.
+ // Therefore, contributors get an extra reward
+ .@m=htget($@CONTRIBUTORS, strtolower(strcharinfo(0)), 0);
+ if (.@m)
+ getitem StrangeCoin, min(9, .@m/100)+1;
+ dispbottom "##B##2"+l("It's TMW2 Project anniversary!")+" "+l("We thank every developer which helped this project thus far!")+"##b##0";
+ }
+ }
+ if (gettime(6) == MARCH) {
+ if (#TMW2_LOGINBONUS != gettime(GETTIME_YEAR) && gettime(5) == 2) {
+ #TMW2_LOGINBONUS=gettime(GETTIME_YEAR);
+ getitem MercBoxC, 1;
+ // TMW2 Day is server, not project.
+ // Therefore, players get extra reward
+ dispbottom "##B##2"+l("It's TMW2 Server anniversary!")+" "+l("We thank every player, because without them, this would be nothing!")+"##b##0";
+ }
+ }
+ if (gettime(6) == JUNE) {
+ if (#TMW2_LOGINBONUS != gettime(GETTIME_YEAR) && gettime(5) == 21) {
+ #TMW2_LOGINBONUS=gettime(GETTIME_YEAR);
+ getitem DungeonMap, 1;
+ dispbottom "##B##2"+l("It's Jesusalva's anniversary!")+" "+l("Also, Summer just started. Why not taking this opportunity to go Treasure Hunting?!")+"##b##0";
+ }
+ }
+ if (gettime(6) == JULY) {
+ if (#TMW2_LOGINBONUS != gettime(GETTIME_YEAR) && gettime(5) == 7) {
+ #TMW2_LOGINBONUS=gettime(GETTIME_YEAR);
+ getitem ChocolateBar, 1;
+ dispbottom "##B##2"+l("It's International Chocolate Day!")+"##b "+l("All monsters may drop chocolate during this period. And here is one for you!")+"##0";
+ }
+ }
+ if (gettime(6) == SEPTEMBER) {
+ if (#TMW2_LOGINBONUS != gettime(GETTIME_YEAR) && gettime(5) == 9) {
+ #TMW2_LOGINBONUS=gettime(GETTIME_YEAR);
+ getitem any(ScentGrenade, Grenade, SmokeGrenade), 2;
+ dispbottom "##B##2"+l("It's the Free Software Day!")+" "+l("Licensing was one of the worst hassle we had, but just today, all mobs may drop Ancient Blueprints. Enjoy!")+"##b##0";
+ }
+ }
+ if (gettime(6) == OCTOBER) {
+ if (#TMW2_LOGINBONUS != gettime(GETTIME_YEAR) && gettime(5) == 1) {
+ #TMW2_LOGINBONUS=gettime(GETTIME_YEAR);
+ getitem Coffee, 1;
+ getexp BaseLevel, JobLevel;
+ dispbottom "##B##2"+l("It's the International Coffee Day!")+" "+l("Have a warm cup of Coffee on the house, and enjoy!")+"##b##0";
+ }
+ }
+ if (gettime(6) == DECEMBER) {
+ if (!#XMAS_LOGINBONUS && gettime(5) >= 24 && gettime(5) <= 26) {
+ #XMAS_LOGINBONUS=1;
+ getitem XmasGift, 1;
+ dispbottom "##B##2"+l("Merry Christmas!")+" "+l("You have gained a special login bonus!")+"##b##0";
+ }
+ }
+
+ // We're almost done with daily logins, just the optional User Interface
+ if (!GSET_DAILYREWARD_SILENT) {
+ setnpcdialogtitle l("Daily Login Rewards");
+ setskin "daily_"+#LOGIN_STREAK;
+ mes "Please keep your ManaPlus updated.";
+ //mes "This is a debug message. Your manaplus version is wrong.";
+ //mes "You should not be reading this. I'll call you a cheater.";
+ //mes "I hope you report this (if a bug). Reading source code?";
+ //mes "4144 will hear about this. You are NOT amazing by the way.";
+ select("Ok");
+ setskin "";
+ closeclientdialog;
+ }
+ }
+
+ //debugmes "[DLBH] Finished: "+#LOGIN_DAY+" ok";
+ return;
+}
+
+// Gives you guild coins, but weekly (based on Guild Level)
+function script guild_login_bonus {
+ .@g=getcharid(2);
+ if (.@g < 1)
+ return;
+
+ .@c=min(5, getguildavg(.@g)/20) + min(1+getguildlvl(.@g)/5, 10);
+ if (#LOGIN_GUILD_WEEK != gettimeparam(GETTIME_WEEKDAY)) {
+ #LOGIN_GUILD_WEEK=gettimeparam(GETTIME_WEEKDAY);
+ getitem GuildCoin, .@c;
+ dispbottom l("##2Guild's Weekly login bonus: ##B%d %s##b", .@c, getitemlink(GuildCoin));
+ }
+ return;
+}
+
diff --git a/npc/functions/doors.txt b/npc/functions/doors.txt
new file mode 100644
index 0000000..c1b6565
--- /dev/null
+++ b/npc/functions/doors.txt
@@ -0,0 +1,59 @@
+// Evol functions.
+// Author:
+// 4144
+// Description:
+// Doors utility functions
+// Variables:
+// none
+
+function script doorTouch {
+ if (getareausers() <= 1)
+ {
+ .dir = 2;
+ stopnpctimer;
+ initnpctimer;
+ }
+ close;
+}
+
+function script doorUnTouch {
+ if (getareausers(.map$) == 0)
+ {
+ .dir = 4;
+ initnpctimer;
+ startnpctimer;
+ }
+ close;
+}
+
+function script doorTimer {
+ stopnpctimer;
+ if (.dir == 2) .dir = 6;
+ if (.dir == 4) .dir = 8;
+ end;
+}
+
+function script doorInit {
+ .distance = 5;
+ .alwaysVisible = true;
+ .sex = G_OTHER;
+ end;
+}
+
+function script open_door {
+ .@door$ = getarg(0);
+ setnpcdir.@door$, 2;
+ sleep 300;
+ setnpcdir .@door$, 6;
+ sleep 300;
+ return 0;
+}
+
+function script close_door {
+ .@door$ = getarg(0);
+ setnpcdir .@door$, 4;
+ sleep 300;
+ setnpcdir .@door$, 8;
+ sleep 300;
+ return 0;
+}
diff --git a/npc/functions/dungeon.txt b/npc/functions/dungeon.txt
new file mode 100644
index 0000000..641d00d
--- /dev/null
+++ b/npc/functions/dungeon.txt
@@ -0,0 +1,162 @@
+// TMW2 Script
+// Authors:
+// Jesusalva
+// Description:
+// Dungeon utilities
+
+- script #DungeonCore NPC_HIDDEN,{
+ end;
+
+// Main initialization
+OnInit:
+ setarray .heatmap$, "007-2";
+ setarray .cursemap$, "006-4", "006-4-1", "025-1";
+ setarray .sickmap$, "029-5";
+ setarray .bleedmap$, "006-9";
+ end;
+
+/////////////////////////////////////////
+// Heartbeat for Heat effects
+OnHeat:
+ // Did you left?
+ .@i=array_find(.heatmap$, getmap());
+ if (.@i < 0) {
+ @heat$="";
+ end;
+ }
+
+ // First time seeing this
+ if (@heat$ != getmap()) {
+ @heat$=getmap();
+ dispbottom l("This is a hot map, you're suffering damage over time.");
+ }
+
+ // You are in a HEATMAP$, so suffer damage from heat
+ if (@coolio > gettimetick(2) || Class == Redy)
+ percentheal -1, 0;
+ else
+ percentheal -5, 0;
+
+ // New tick (dies in 140~180 seconds)
+ addtimer2 rand2(7000, 9000), .name$+"::OnHeat";
+ end;
+
+
+/////////////////////////////////////////
+// Heartbeat for Cursed Land map effects
+OnCurse:
+ // Did you left?
+ .@i=array_find(.cursemap$, getmap());
+ if (.@i < 0) {
+ @curse$="";
+ end;
+ }
+
+ // First time seeing this
+ if (@curse$ != getmap()) {
+ @curse$=getmap();
+ dispbottom l("This is a Cursed Lands map, you'll lose mana over time and may also incurr in debuffs if mana is low (may cause death).");
+ }
+
+ // You are in a CURSEMAP$, so suffer damage from the curse
+ if (@purifio > gettimetick(2) || Class == Savior)
+ heal 0, -1;
+ else if (islegendary())
+ percentheal 0, -2;
+ else
+ percentheal 0, -4;
+
+ // MP is below 20%, you'll get cursed
+ if (Sp*100 < MaxSp*20)
+ SC_Bonus(15, SC_CURSE, 1);
+
+ // MP is below 1%, you'll get start losing HP rapidly
+ if (Sp*100 < MaxSp)
+ percentheal -9, 0;
+
+ // New tick (cycles every 15 seconds in average)
+ addtimer2 rand2(14000, 15000), .name$+"::OnCurse";
+ end;
+
+/////////////////////////////////////////
+// Heartbeat for Disease effects
+OnSick:
+ // Did you left?
+ .@i=array_find(.sickmap$, getmap());
+ if (.@i < 0) {
+ if (@forced_sick$ != getmap()) {
+ @sick$="";
+ end;
+ }
+ }
+
+ // First time seeing this
+ if (@sick$ != getmap()) {
+ @sick$=getmap();
+ dispbottom l("This map contains poisonous gas and may cause diseases.");
+ }
+
+ // The effect is based on HP
+ if (Hp*10 > MaxHp*7)
+ .@eff = SC_BLOODING;
+ else if (Hp*10 > MaxHp*4)
+ .@eff = SC_POISON;
+ else
+ .@eff = SC_DPOISON;
+
+ // You are in a SICKMAP$, so suffer damage from disease
+ if (@sickio > gettimetick(2)) {
+ heal -50, 0;
+ } else {
+ heal -rand2(50, 200), 0;
+ SC_Bonus(10, .@eff, 1);
+ }
+
+ // New tick (20 seconds fixed cycle)
+ addtimer2 20000, .name$+"::OnSick";
+ end;
+
+
+/////////////////////////////////////////
+// Heartbeat for Bleed effects
+OnBleed:
+ // Did you left?
+ .@i=array_find(.bleedmap$, getmap());
+ if (.@i < 0) {
+ @bleed$="";
+ end;
+ }
+
+ // First time seeing this
+ if (@bleed$ != getmap()) {
+ @bleed$=getmap();
+ dispbottom l("This is a bleeding map, HP won't recover naturally, and bleeding may start.");
+ }
+
+ // You are in a BLEEDMAP$, HP regeneration is disabled
+ if (@bleedio > gettimetick(2))
+ sc_end SC_HALT_REGENERATION;
+ else
+ SC_Bonus(15, SC_HALT_REGENERATION, 1);
+
+ // You may bleed at 2% chance per 15 seconds
+ if (rand2(50) == 25)
+ SC_Bonus(15, SC_BLOODING, 1);
+
+ // New tick (15 seconds fixed cycle)
+ addtimer2 15000, .name$+"::OnBleed";
+ end;
+
+
+}
+
+
+//////////////////////////////
+007-2 mapflag nosave 007-1,99,189
+006-4 mapflag nosave 006-3,54,36
+006-4-1 mapflag nosave 006-3,54,36
+029-5 mapflag nosave 029-4,21,97
+006-9 mapflag nosave 006-6,46,27
+
+
+
diff --git a/npc/functions/estate.txt b/npc/functions/estate.txt
new file mode 100644
index 0000000..445f672
--- /dev/null
+++ b/npc/functions/estate.txt
@@ -0,0 +1,96 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Real Estate System
+// Primary Script Helpers
+// WARNING: They affect directly the real estate global variables!
+
+// This function reduces payment accordingly
+// realestate_payment ( amount )
+function script realestate_payment {
+ REAL_ESTATE_CREDITS=REAL_ESTATE_CREDITS-getarg(0);
+ if (REAL_ESTATE_CREDITS < 0) {
+ Zeny+=REAL_ESTATE_CREDITS;
+ REAL_ESTATE_CREDITS=0;
+ }
+ return;
+}
+
+// Generate unique name for setcells
+// realestate_cellname ( estate_id, object_id )
+function script realestate_cellname {
+ return "RESObj_"+getarg(0)+"_"+getarg(1);
+}
+
+// Generate sell price for furniture based on original price and estate ID
+// realestate_sellprice ( estate_id, price )
+function script realestate_sellprice {
+ .@timeleft=$ESTATE_RENTTIME[getarg(0)]-gettimetick(2); // Number of seconds
+ .@daysleft=.@timeleft/86400; // Number of days left of rent
+ .@weeksleft=.@timeleft/604800; // Number of weeks left of rent
+
+ //debugmes "Your contract is valid for %d weeks more - %d days", .@weeksleft, .@daysleft;
+ //debugmes "The divisor is %d", max(1, 8-.@weeksleft);
+
+ return (getarg(1)/max(1, 8-.@weeksleft)) - max(0, 60-.@daysleft);
+}
+
+// This will toggle if mobilia was purchased or not, in the right group
+// And as an added bonus, will tell the correct Script to reload NPCs
+// realestate_togglemobilia ( estate_id, layer_id, object_id{, npc_file} )
+function script realestate_togglemobilia {
+ switch (getarg(1)) {
+ case 1:
+ $ESTATE_MOBILIA_64[getarg(0)] = $ESTATE_MOBILIA_64[getarg(0)] ^ getarg(2);
+ break;
+ case 2:
+ $ESTATE_MOBILIA_4[getarg(0)] = $ESTATE_MOBILIA_4[getarg(0)] ^ getarg(2);
+ break;
+ case 3:
+ $ESTATE_MOBILIA_8[getarg(0)] = $ESTATE_MOBILIA_8[getarg(0)] ^ getarg(2);
+ break;
+ case 4:
+ $ESTATE_MOBILIA_32[getarg(0)] = $ESTATE_MOBILIA_32[getarg(0)] ^ getarg(2);
+ break;
+ case 5:
+ $ESTATE_MOBILIA_128[getarg(0)] = $ESTATE_MOBILIA_128[getarg(0)] ^ getarg(2);
+ break;
+ case 6:
+ $ESTATE_MOBILIA_2[getarg(0)] = $ESTATE_MOBILIA_2[getarg(0)] ^ getarg(2);
+ break;
+ default:
+ debugmes("[ERROR] [CRITICAL] [REAL ESTATE]: Object %d have Invalid Collision Type: %d (must range 1~6)", getarg(2), getarg(1));
+ break;
+ }
+ if (getarg(3, "error") != "error") {
+ // Reload NPCs on the meanwhile
+ donpcevent getarg(3)+"::OnReload";
+ }
+ return;
+}
+
+
+// Like the previous function, but returns true if player have said mobilia
+// realestate_hasmobilia ( estate_id, layer_id, object_id )
+function script realestate_hasmobilia {
+ switch (getarg(1)) {
+ case 1:
+ return $ESTATE_MOBILIA_64[getarg(0)] & getarg(2);
+ case 2:
+ return $ESTATE_MOBILIA_4[getarg(0)] & getarg(2);
+ case 3:
+ return $ESTATE_MOBILIA_8[getarg(0)] & getarg(2);
+ case 4:
+ return $ESTATE_MOBILIA_32[getarg(0)] & getarg(2);
+ case 5:
+ return $ESTATE_MOBILIA_128[getarg(0)] & getarg(2);
+ case 6:
+ return $ESTATE_MOBILIA_2[getarg(0)] & getarg(2);
+ default:
+ consolebug("[ERROR] [CRITICAL] [REAL ESTATE]: Object %d have Invalid Collision Type: %d (must range 1~6)", getarg(2), getarg(1));
+ return false;
+ }
+ return false;
+}
+
diff --git a/npc/functions/estate2.txt b/npc/functions/estate2.txt
new file mode 100644
index 0000000..99100f2
--- /dev/null
+++ b/npc/functions/estate2.txt
@@ -0,0 +1,326 @@
+// TMW2: Moubootaur Legends scripts.
+// Author:
+// Jesusalva
+// Description:
+// Real Estate System
+// Secondary Script Helpers
+// WARNING: They affect directly the real estate global variables!
+//////////////////////////////////////////////////////////////////////////////
+///////////// Dialog Helpers
+// "If you copy-paste the same line too often, make a function for it"
+
+// Rent_Available Label
+// Returns true regardless of player decision
+// realestate_rent ( estate_id, price, <rent time> )
+function script realestate_rent {
+ .id=getarg(0);
+ .price=getarg(1);
+ .time=getarg(2, 2592000); // Defaults to 30 days
+
+ do
+ {
+ mesc l("This Real Estate is available for rent for only @@ GP!", format_number(.price));
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+ mesc l("You currently have: @@ GP and mobiliary credits", format_number(.@gp));
+ next;
+ select
+ rif(.@gp > .price, l("Rent it! Make it mine!")),
+ l("Information"),
+ l("Don't rent it");
+
+ // You want to rent
+ if (@menu == 1) {
+ if ($ESTATE_RENTTIME[.id] > gettimetick(2)) {
+ mesc l("Somebody already rented it before you!");
+ close;
+ }
+ REAL_ESTATE_CREDITS=REAL_ESTATE_CREDITS-.price;
+ if (REAL_ESTATE_CREDITS < 0) {
+ Zeny+=REAL_ESTATE_CREDITS;
+ REAL_ESTATE_CREDITS=0;
+ }
+
+ // Payment done, you can now acquire the house for a month
+ $ESTATE_RENTTIME[.id]=gettimetick(2)+.time;
+
+ // If you're not the previous owner
+ // Remove previous owner furniture and reset room password
+ if ($ESTATE_OWNER[.id] != getcharid(3)) {
+ /*
+ $ESTATE_MOBILIA_2[.id]=0;
+ $ESTATE_MOBILIA_4[.id]=0;
+ $ESTATE_MOBILIA_8[.id]=0;
+ $ESTATE_MOBILIA_32[.id]=0;
+ $ESTATE_MOBILIA_64[.id]=0;
+ $ESTATE_MOBILIA_128[.id]=0;
+ */
+ $ESTATE_PASSWORD$[.id]="";
+ $ESTATE_DOORBELL[.id]=false;
+ }
+
+ // Register your info so you can manage it
+ $ESTATE_OWNER[.id]=getcharid(3);
+ $ESTATE_OWNERNAME$[.id]=strcharinfo(0);
+
+ mesc l("Rent successful for 30 days!");
+ } else if (@menu == 2) {
+ mesc l("You can rent this house to make it yours.") + " " + l("The rent lasts 30 days.");
+ mesc l("Then you'll be able to buy furniture and utility.");
+ mesc l("The door is password-protected, so your friends can enter but strangers stay outside.");
+ next;
+ mesc l("Both rent and furniture are bought using money, however, there are mobiliary credits.");
+ mesc l("Mobiliary Credits is a special currency which can only be used on real estate.");
+ mesc l("It's obtained with ADMINS or by selling furniture. It is sumed to money and used first.");
+ next;
+ }
+ } while (@menu == 2);
+ return true;
+}
+
+
+
+
+
+// L_Manage Label
+// Returns true regardless of player decision
+// realestate_manage ( estate_id, price, <rent time> )
+function script realestate_manage {
+ .id=getarg(0);
+ .price=getarg(1);
+ .time=getarg(2, 2592000); // Defaults to 30 days
+
+ do
+ {
+ mesc l("@@'s Estate", strcharinfo(0));
+ mesc ".:: "+ l("Managment Menu") + " ::.";
+
+ .@gp=REAL_ESTATE_CREDITS+Zeny;
+ mesc l("Rent time available: @@", FuzzyTime($ESTATE_RENTTIME[.id]));
+ mesc l("Total Credits and GP: @@", format_number(.@gp));
+ mes "";
+ mesc l("Rent Renew Price: @@ GP", format_number(.price));
+ mesc l("Room password: @@", $ESTATE_PASSWORD$[.id]);
+ if ($ESTATE_DOORBELL[.id])
+ mesc l("Doorbell is disabled"), 1;
+
+ next;
+ select
+ l("Leave"),
+ l("Enable/disable doorbell"),
+ l("Set room password"),
+ rif(.@gp >= .price && $ESTATE_RENTTIME[.id] < gettimetick(2)+.time, l("Renew Rent")),
+ rif($@GM_OVERRIDE, l("Destroy all mobilia")),
+ rif($@GM_OVERRIDE, l("Expire rent time"));
+
+ switch (@menu) {
+ case 1:
+ break;
+ case 2:
+ $ESTATE_DOORBELL[.id]=!$ESTATE_DOORBELL[.id];
+ break;
+ case 3:
+ mesc l("(Leave the password blank to disable)");
+ mesc l("Current Room password: @@", $ESTATE_PASSWORD$[.id]);
+ mesc l("Input new password: ");
+ input .@password$;
+ mesc l("Repeat new password: ");
+ input .@passwordc$;
+ if (.@password$ == .@passwordc$) {
+ $ESTATE_PASSWORD$[.id]=.@password$;
+ mesc l("Password changed with success!"), 3;
+ } else {
+ mesc l("The passwords doesn't match."), 1;
+ }
+ break;
+ case 4:
+ // The check is performed before showing the menu option
+ // I guess it could be hacked, but I'll probably see negative GP...
+ REAL_ESTATE_CREDITS=REAL_ESTATE_CREDITS-.price;
+ if (REAL_ESTATE_CREDITS < 0) {
+ Zeny+=REAL_ESTATE_CREDITS;
+ REAL_ESTATE_CREDITS=0;
+ }
+
+ // Payment done, you can now acquire the house for a month
+ // If you lost the rent on the meanwhile, it'll renew
+ // If you lost the rent and somebody else rented it, you lose the GP
+ $ESTATE_RENTTIME[.id]+=.time;
+ break;
+ case 5:
+ mesc l("Are you sure? This cannot be undone!"), 1;
+ next;
+ if (validatepin()) {
+ $ESTATE_MOBILIA_2[.id]=0;
+ $ESTATE_MOBILIA_4[.id]=0;
+ $ESTATE_MOBILIA_8[.id]=0;
+ $ESTATE_MOBILIA_32[.id]=0;
+ $ESTATE_MOBILIA_64[.id]=0;
+ $ESTATE_MOBILIA_128[.id]=0;
+ $ESTATE_PASSWORD$[.id]="";
+ $ESTATE_DOORBELL[.id]=false;
+ }
+ case 6:
+ mesc l("Are you sure? This cannot be undone!"), 1;
+ next;
+ if (validatepin()) {
+ $ESTATE_RENTTIME[.id]=gettimetick(2);
+ }
+ }
+ } while (@menu != 1);
+ return true;
+}
+
+
+// Piano Mobilia
+// realestate_piano ( {mapname} )
+function script realestate_piano {
+ .@loc$=getarg(0, getmap());
+ mesc l("Do you want to play a song?");
+ mesc l("This is not saved.");
+ select
+ l("Nothing"),
+ l("Default"),
+ l("Indoors 1 (Peace)"),
+ l("Indoors 2 (Dimonds)"),
+ l("TMW Adventure"),
+ l("Sailing Away!"),
+ l("Magick Real"),
+ l("The Forest"),
+ l("Dragons and Toast"),
+ l("Unforgiving Lands"),
+ l("Arabesque (Action)"),
+ l("No Chains (Tulimshar)"),
+ l("School of Quirks (Candor)"),
+ l("Cake Town (Hurnscald)"),
+ l("Steam (LoF Village)"),
+ l("Woodland Fantasy"),
+ l("Birds in the Sunrise");
+
+ mes "";
+ .@m$="";
+ switch (@menu) {
+ case 1:
+ return; break;
+ case 2:
+ .@m$="8bit_the_hero.ogg"; break;
+ case 3:
+ .@m$="peace.ogg"; break;
+ case 4:
+ .@m$="peace2.ogg"; break;
+ case 5:
+ .@m$="tmw_adventure.ogg"; break;
+ case 6:
+ .@m$="sail_away.ogg"; break;
+ case 7:
+ .@m$="magick_real.ogg"; break;
+ case 8:
+ .@m$="dariunas_forest.ogg"; break;
+ case 9:
+ .@m$="dragon_and_toast.ogg"; break;
+ case 10:
+ .@m$="Unforgiving_Lands.ogg"; break;
+ case 11:
+ .@m$="Arabesque.ogg"; break;
+ case 12:
+ .@m$="mvrasseli_nochains.ogg"; break;
+ case 13:
+ .@m$="school_of_quirks.ogg"; break;
+ case 14:
+ .@m$="caketown.ogg"; break;
+ case 15:
+ .@m$="steam.ogg"; break;
+ case 16:
+ .@m$="woodland_fantasy.ogg"; break;
+ case 17:
+ .@m$="tws_birds_in_the_sunrise.ogg"; break;
+
+ }
+ changemusic .@loc$, .@m$;
+ return;
+}
+
+
+
+// Cauldron Mobilia
+// realestate_cauldron ( )
+function script realestate_cauldron {
+ select
+ l("Alchemy"),
+ l("Crafting");
+ mes "";
+ if (@menu == 1) {
+ do {
+ mesc l("What will you brew today?");
+ if (AlchemySystem(CRAFT_PLAYER))
+ mesc l("Success!"), 3;
+ else
+ mesc l("That didn't work!"), 1;
+ next;
+ mesc l("Try again?");
+ } while (askyesno() == ASK_YES);
+ }
+ else if (@menu == 2) {
+ do {
+ mesc l("What will you craft today?");
+ if (SmithSystem(CRAFT_PLAYER))
+ mesc l("Success!"), 3;
+ else
+ mesc l("That didn't work!"), 1;
+ next;
+ mesc l("Try again?");
+ } while (askyesno() == ASK_YES);
+ }
+ return;
+}
+
+////////////////////////////////////////////////////////////////////////////
+// TODO: NPCs toogle on/off controller?
+
+////////////////////////////////////////////////////////////////////////////
+012-8,21,23,0 script Wardrobe#RES_0128 NPC_NO_SPRITE,{
+ openstorage;
+ end;
+
+OnInit:
+ .distance=3;
+ end;
+}
+
+017-7,21,23,0 duplicate(Wardrobe#RES_0128) Wardrobe#RES_0177 NPC_NO_SPRITE
+017-8,21,23,0 duplicate(Wardrobe#RES_0128) Wardrobe#RES_0178 NPC_NO_SPRITE
+009-6,21,23,0 duplicate(Wardrobe#RES_0128) Wardrobe#RES_0096 NPC_NO_SPRITE
+009-7,21,23,0 duplicate(Wardrobe#RES_0128) Wardrobe#RES_0097 NPC_NO_SPRITE
+
+
+////////////////////////////////////////////////////////////////////////////
+012-8,29,24,0 script Cauldron#RES_0128 NPC_NO_SPRITE,{
+ realestate_cauldron();
+ close;
+
+OnInit:
+ .distance=3;
+ end;
+}
+
+017-7,29,24,0 duplicate(Cauldron#RES_0128) Cauldron#RES_0177 NPC_NO_SPRITE
+017-8,29,24,0 duplicate(Cauldron#RES_0128) Cauldron#RES_0178 NPC_NO_SPRITE
+009-6,29,24,0 duplicate(Cauldron#RES_0128) Stovetop#RES_0096 NPC_NO_SPRITE
+009-7,29,24,0 duplicate(Cauldron#RES_0128) Stovetop#RES_0097 NPC_NO_SPRITE
+
+
+////////////////////////////////////////////////////////////////////////////
+012-8,34,25,0 script Piano#RES_0128 NPC_NO_SPRITE,{
+ realestate_piano();
+ close;
+
+OnInit:
+ .distance=3;
+ end;
+}
+
+017-7,34,25,0 duplicate(Piano#RES_0128) Piano#RES_0177 NPC_NO_SPRITE
+017-8,34,25,0 duplicate(Piano#RES_0128) Piano#RES_0178 NPC_NO_SPRITE
+009-6,34,25,0 duplicate(Piano#RES_0128) Piano#RES_0096 NPC_NO_SPRITE
+009-7,34,25,0 duplicate(Piano#RES_0128) Piano#RES_0097 NPC_NO_SPRITE
+
+
diff --git a/npc/functions/event.txt b/npc/functions/event.txt
new file mode 100644
index 0000000..ecb0f81
--- /dev/null
+++ b/npc/functions/event.txt
@@ -0,0 +1,834 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Controls world events so Saulc and I can take vacations.
+// See also: seasons.txt, command/event.txt, aurora.txt
+// 003-1/events.txt, soulmenhir.txt and, of course, the event maps (if any).
+// Schedule, if needed to change, can be found in the OnInit loop.
+// An event, obviously, cannot last more than 7... 15 days at WORST.
+// Therefore, month checks aren't included in day checks.
+
+- script sPatrick NPC_HIDDEN,{
+OnInit:
+ setarray .maps$,
+ "005-1",
+ "013-1",
+ "014-1",
+ "014-2",
+ "014-3",
+ "014-4",
+ "014-5",
+ "017-1",
+ "018-2",
+ "018-4",
+ "018-5",
+ "soren";
+ end;
+OnMyMobDeath:
+ end;
+OnClock0000:
+OnClock6000:
+OnClock1200:
+OnClock1500:
+OnClock1800:
+OnClock2100:
+ .@d=gettime(GETTIME_DAYOFMONTH);
+ // Patrick Day should work only in 2 luck days according to Saulc
+ // If this is required use $PATRICK_DAYCTRL so the days before $@PATRICK_DAYMAX
+ // act with 100% chances (determinism).
+ // As it is being spawn 4 times at a day (like TMW-BR events), because it is
+ // flatly and outright IMPOSSIBLE to add a permanent spawn, that is not required.
+ if ($EVENT$ == "Patrick" && .@d <= $@PATRICK_DAYMAX) {
+ for (.@i=0; .@i < getarraysize(.maps$); .@i++) {
+ .@m$=.maps$[.@i];
+ .@x=getmapinfo(MAPINFO_SIZE_X, .@m$)-20;
+ .@y=getmapinfo(MAPINFO_SIZE_Y, .@m$)-20;
+
+ // Remove previously spawned clovers
+ killmonster(.@m$, "sPatrick::OnMyMobDeath");
+ // It is one clover for each 225 tiles (about a 25x25 square)
+ .@maparea=(.@x-20)*(.@y-20);
+ .@mobs=max(1, .@maparea/225);
+ areamonster .@m$, 20, 20, .@x, .@y, strmobinfo(1, StPatricksClover), StPatricksClover, .@mobs, "sPatrick::OnMyMobDeath";
+ }
+ }
+ end;
+
+// Remove previously spawned clovers for event end
+// And then disables the NPC
+OnCleanUp:
+ for (.@i=0; .@i < getarraysize(.maps$); .@i++) {
+ .@m$=.maps$[.@i];
+ killmonster(.@m$, "sPatrick::OnMyMobDeath");
+ }
+ disablenpc "sPatrick";
+ donpcevent "Aurora::OnRestore";
+ end;
+}
+
+- script sDreamTower NPC_HIDDEN,{
+OnWarpTo:
+ if ($EVENT$ != "Tower") end;
+ if (!playerattached()) end;
+ if (!countitem(EventDreamTicket)) end;
+
+ // Reset progress
+ if (DTOWER_DAY != gettimeparam(GETTIME_DAYOFMONTH) || DTOWER_FLOOR < 1) {
+ DTOWER_DAY=gettimeparam(GETTIME_DAYOFMONTH);
+ DTOWER_FLOOR=1;
+ dispbottom l("A new Dream Tower opens its gates before you...");
+ }
+
+ // Create maze and populate
+ CreateMaze(IOT_CHAR, MAZE_SIZE_S | MAZE_SIZE_M);
+ MazeMobs(((BaseLevel/10) + DTOWER_FLOOR * 5), true, rand2(9,14));
+
+ // Spawn & Configure the boss monster
+ .@mx=getmapinfo(MAPINFO_SIZE_X, MAZE_MAP$)-20;
+ .@my=getmapinfo(MAPINFO_SIZE_Y, MAZE_MAP$)-20;
+ .@mob=areamonster(MAZE_MAP$, 20, 20, .@mx, .@my, "Gatekeeper", MonsterSergeant, 1, "sDreamTower::OnBossDie");
+ setunitdata(.@mob, UDT_LEVEL, DTOWER_FLOOR * 5);
+ setunitdata(.@mob, UDT_STR, DTOWER_FLOOR * 2);
+ setunitdata(.@mob, UDT_AGI, DTOWER_FLOOR * 2);
+ setunitdata(.@mob, UDT_VIT, DTOWER_FLOOR * 3);
+ setunitdata(.@mob, UDT_INT, DTOWER_FLOOR * 1);
+ setunitdata(.@mob, UDT_DEX, DTOWER_FLOOR * 3);
+ setunitdata(.@mob, UDT_LUK, DTOWER_FLOOR * 2);
+ setunitdata(.@mob, UDT_ADELAY, max(640, 1672-(DTOWER_FLOOR * 24)));
+ setunitdata(.@mob, UDT_MAXHP, 2000+DTOWER_FLOOR*120);
+ setunitdata(.@mob, UDT_HP, 2000+DTOWER_FLOOR*120);
+ setunitdata(.@mob, UDT_ATKMIN, 20+DTOWER_FLOOR*4);
+ setunitdata(.@mob, UDT_ATKMAX, 40+DTOWER_FLOOR*4);
+ setunitdata(.@mob, UDT_DEF, 10+DTOWER_FLOOR*3);
+ setunitdata(.@mob, UDT_MDEF, 5+DTOWER_FLOOR);
+ setunitdata(.@mob, UDT_HIT, (BaseLevel+DTOWER_FLOOR)*32/10);
+ setunitdata(.@mob, UDT_FLEE, (BaseLevel+DTOWER_FLOOR)*24/10);
+ setunitdata(.@mob, UDT_CRIT, rand2(40, min(120, 40+DTOWER_FLOOR)));
+ // TODO: Spawn more treasure chests? (exp, gp, items)
+
+ // Consume the ticket and begin the maze
+ delitem EventDreamTicket, 1;
+ InitMaze(3600);
+ dispbottom col(l("Reminder : Defeat the %s to win.", b("Gatekeeper")), 2);
+ dispbottom l("Mana Plane - Dream Tower, %dº floor. Time limit: 60 minutes or death.", DTOWER_FLOOR);
+ end;
+
+// Dream Tower cleared
+OnBossDie:
+ dispbottom l("Mana Plane - Dream Tower, %dº floor %s", DTOWER_FLOOR, b(l("CLEAR!")));
+ DTOWER_FLOOR+=1;
+ if ($EVENT$ == "Tower") {
+ if (checkweight(BrokenMedal, 1)) {
+ getitem BrokenMedal, 1;
+ } else {
+ // FIXME: Can be kept for next event, a deletion is required!
+ rodex_sendmail(getcharid(0), $DREAMTOWER_SAGE$, "You are fat.", "Here is the medal, anyway.", 0, BrokenMedal, 1);
+ }
+ }
+ unitskilluseid(getcharid(3), BS_GREED, 1, getcharid(3));
+ sleep2(500);
+ teleporthome();
+ end;
+}
+
+- script sThankAeros NPC_HIDDEN,{
+OnInit:
+ .users=getusers(1);
+ .score=0;
+ .event=0;
+ .quota=300;
+OnTimer90000:
+ // Abort event and reset score
+ if (.event && .event < gettimetick(2)) {
+ .event=0;
+ .score=0;
+ $@GM_EVENT=0;
+ $@MK_SCENE=MK_NONE;
+ killmonsterall("001-1");
+ mapwarp("001-1", "000-1", 22, 22, 0);
+ announce ("The event is over!"), bc_all|bc_npc;
+ }
+
+ // Skip processment until current event ends
+ if (.event) {
+ initnpctimer;
+ end;
+ }
+
+ // Stop counting or update scores
+ if ($EVENT$ != "Thanksgiving")
+ end;
+ .users=getusers(1);
+ .score+=.users;
+ .quota = limit(300, 500 - (.users * 25), 500);
+
+ // Do event (lasts 45 minutes)
+ if (!.event && !$@MK_SCENE && !$@GM_EVENT && .score > .quota && (.users >= 4 || $@GM_OVERRIDE)) {
+ /* Reserve Aeros */
+ $@MK_SCENE=MK_LOCKED;
+ /* Setup the event */
+ $@AEROS_SPWN=(.users > 6 ? 2 : any(0, 1));
+ $@AEROS_AUTOSPAWN=.users+rand2(1, .users);
+ donpcevent("Mana Being#001-1::OnAutoSched");
+ /* Open the event */
+ $@GM_EVENT = 2;
+ .event = gettimetick(2) + 2700;
+ announce ("The mana bridge to Aeros is open! To participate on event, talk to ##BSoul Menhir##b!"), bc_all|bc_npc;
+ announce ("##1THANKSGIVING SPECIAL. TIME LIMIT: ##B45 MINUTES.##b##0"), bc_all|bc_npc;
+ channelmes("#world", "An event is happening on Aeros! Hurry up!");
+ }
+
+ initnpctimer;
+ end;
+
+OnForceInit:
+ .score+=9999;
+ goto OnTimer90000;
+}
+
+function script sThanksgiving {
+ // Variables:
+ // #THANKS_DAY
+ // #THANKS_STREAK
+ // @thanks_card
+
+ // Already spinned
+ if (#THANKS_DAY == gettime(5) || $EVENT$ != "Thanksgiving")
+ return;
+
+ // Not spinned yet
+ showavatar 1102;
+ mes l(".:: Thanksgiving ::.");
+ mesc l("Spin daily the card to get prizes!");
+
+ select
+ l("SPIN!"),
+ l("Later");
+ mes "";
+ if (@menu == 2) {
+ setskin "";
+ closeclientdialog;
+ return;
+ }
+ // Spin it
+ // Your prize is saved in .@luck. Rigged against fruits
+ .@luck=rand2(0,11);
+ .@luck=(.@luck == 10 ? rand2(0,11) : .@luck);
+ // A fruit before 10 days: rig to Arcmage or to blueprint
+ if (.@luck == 10 && #THANKS_STREAK < 10)
+ .@luck+=any(-1,1);
+ // A fruit before 20 days: Lower chances from 4% to 2%
+ if (.@luck == 10 && #THANKS_STREAK < 20)
+ .@luck=rand2(0,11);
+ // Extra spins
+ .@extra=rand2(1,3);
+ .@spins=.@extra*11+.@luck;
+ //.@extra=0;
+
+ // Show the spins
+ for (.@i=0;.@i<=.@spins;.@i++) {
+ .@cur=(.@i%11);
+ showavatar 1103+.@cur;
+ sleep2(60);
+ }
+ mes l(".:: Congratulations ::.");
+ #THANKS_DAY = gettime(5);
+ #THANKS_STREAK+=1;
+ if (debug || $@GM_OVERRIDE) {
+ mes l("You got a %d", .@luck);
+ mesf "Spins: %d/%d (cur %d extra %d)", .@i, .@spins, .@cur, .@extra;
+ mes "";
+ //.@luck=$@GM_OVERRIDE;
+ }
+
+ // Switch the reward
+ .@blv = BaseLevel + TOP3AVERAGELVL() / 2;
+ switch (.@luck) {
+ case 0: // EXP
+ .@p=.@blv*#THANKS_STREAK;
+ .@p*=3;
+ getexp .@p, 0;
+ mes l("You got %d EXP!", .@p);
+ break;
+ case 1: // JEXP
+ .@p=.@blv*#THANKS_STREAK;
+ .@p=.@p*15/10;
+ getexp 0, .@p;
+ mes l("You got %d JEXP!", .@p);
+ break;
+ case 2: // GP
+ .@p=.@blv*#THANKS_STREAK;
+ Zeny+=.@p;
+ mes l("You got %d GP!", .@p);
+ break;
+ case 3: // MOBPT
+ .@p=.@blv*#THANKS_STREAK;
+ Mobpt+=.@p;
+ mes l("You got %d Monster Points!", .@p);
+ break;
+ case 4: // RES
+ .@p=.@blv*#THANKS_STREAK;
+ .@p*=3;
+ REAL_ESTATE_CREDITS+=.@p;
+ mes l("You got %d Real Estate Credits!", .@p);
+ break;
+ case 5: // GIFT
+ .@p=BronzeGift;
+ .@p=(#THANKS_STREAK > 7 ? SilverGift : .@p);
+ .@p=(#THANKS_STREAK > 15 ? GoldenGift : .@p);
+ .@p=(#THANKS_STREAK > 22 ? PrismGift : .@p);
+ .@p=(#THANKS_STREAK > 27 ? SupremeGift : .@p);
+ mes l("You got a(n) %s gift!", getitemlink(.@p));
+ getitem .@p, 1;
+ break;
+ case 6: // STR C
+ .@p=#THANKS_STREAK;
+ getitem StrangeCoin, .@p;
+ mes l("You got %d %s!", .@p, getitemlink(StrangeCoin));
+ break;
+ case 7: // HERO C
+ .@p=#THANKS_STREAK;
+ .@p+=getq2(LoFQuest_HH)*max(1,#THANKS_STREAK/10);
+ getitem HeroCoin, .@p;
+ mes l("You got %d %s!", .@p, getitemlink(HeroCoin));
+ break;
+ case 8: // MERC
+ .@p=any(MercCard_GonzoDark, MercCard_Rosa, MercCard_Soren, MercCard_Apane);
+ .@p=(#THANKS_STREAK > 7 ? any(MercCard_EarthWitch, MercCard_Demure, MercCard_Jesusalva, MercCard_Pookie) : .@p);
+ .@p=(#THANKS_STREAK > 14 ? any(MercCard_Arthur, MercCard_LawnCable, MercCard_Crazyfefe, MercCard_Saulc) : .@p);
+ .@p=(#THANKS_STREAK > 21 ? any(MercCard_Swezanne, MercCard_DragonStar, MercCard_Msawis, MercCard_Aisen) : .@p);
+ .@p=(#THANKS_STREAK > 27 ? any(MercCard_Xanthem, MercCard_Woody, MercCard_Lilanna) : .@p);
+ getitem .@p, 1;
+ mes l("You got a %s!", getitemlink(.@p));
+ break;
+ case 9: // CARD
+ .@p=any(NatureCard, NinjaCard, MageCard, DruidCard, ClericCard, KnightCard, HeroCard, NecromancerCard);
+ .@p=(#THANKS_STREAK > 24 ? any(SpeedCard, ReflectCard, PowerCard, WallCard) : .@p);
+ getitem .@p, 1;
+ mes l("You got a %s!", getitemlink(.@p));
+ break;
+ case 10: // FRUIT
+ .@p=MysteriousFruit;
+ getitem .@p, 1;
+ mes l("You got a %s!", getitemlink(.@p));
+ break;
+ case 11: // BLUE
+ .@p=any(EquipmentBlueprintA, EquipmentBlueprintA, AlchemyBlueprintA);
+ .@p=(#THANKS_STREAK > 7 ? any(EquipmentBlueprintB, EquipmentBlueprintB, AlchemyBlueprintB) : .@p);
+ .@p=(#THANKS_STREAK > 14 ? any(EquipmentBlueprintC, EquipmentBlueprintC, AlchemyBlueprintC) : .@p);
+ .@p=(#THANKS_STREAK > 21 ? any(EquipmentBlueprintD, EquipmentBlueprintD, AlchemyBlueprintD) : .@p);
+ .@p=(#THANKS_STREAK > 27 ? any(EquipmentBlueprintE, EquipmentBlueprintE, AlchemyBlueprintE) : .@p);
+ getitem .@p, 1;
+ mes l("You got a %s!", getitemlink(.@p));
+ break;
+ }
+
+ // Special bonus
+ if (#THANKS_STREAK % 7 == 0) {
+ getitem StrangeCoin, 10;
+ mesc l("%d day streak! Gained %d bonus %s!", #THANKS_STREAK, 10, getitemlink(StrangeCoin));
+ }
+
+ // Close
+ next;
+ setskin "";
+ closeclientdialog;
+ return;
+}
+
+// ChocolateDay()
+function script ChocolateDay {
+ if (!playerattached())
+ return;
+
+ // Date check
+ if (gettime(6) != JULY)
+ return;
+ if (gettime(5) != 7)
+ return;
+
+ // Max. 80% chances, 0.4% per monster level
+ .@lv=min(200, getmonsterinfo(killedrid, MOB_LV));
+ if (rand2(10000) < (.@lv*40)) {
+ // Chocolate Bar: 73%; Chocolate Dye: 6.7%
+ .@choco=any(ChocolateBar, ChocolateBar, ChocolateBar, ChocolateBar,
+ ChocolateMouboo, ChocolateBiscuit, ChocolateBunny,
+ ChocolateBar, ChocolateBar, ChocolateBar, ChocolateBar,
+ ChocolateDye, ChocolateBar, ChocolateBar, ChocolateBar);
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@x+=rand2(-1,1);
+ .@y+=rand2(-1,1);
+ makeitem(.@choco, 1, .@m$, .@x, .@y);
+ }
+ return;
+}
+
+// CoffeeDay()
+function script CoffeeDay {
+ if (!playerattached())
+ return;
+
+ // Date check
+ if (gettime(6) != OCTOBER)
+ return;
+ if (gettime(5) != 1)
+ return;
+
+ // Max. 22% chances, 0.1% per monster level
+ .@lv=min(200, getmonsterinfo(killedrid, MOB_LV));
+ if (rand2(10000) < (.@lv*11)) {
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@x+=rand2(-1,1);
+ .@y+=rand2(-1,1);
+ makeitem(Coffee, 1, .@m$, .@x, .@y);
+ }
+ return;
+}
+
+// FSFDay()
+function script FSFDay {
+ if (!playerattached())
+ return;
+
+ // Date check
+ if (gettime(6) != SEPTEMBER)
+ return;
+ if (gettime(5) != 9)
+ return;
+
+ // Max. 0.16% chances, 0.008% per monster level
+ .@lv=min(200, getmonsterinfo(killedrid, MOB_LV));
+ if (rand(1000000) < (.@lv*8)) {
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@x+=rand2(-1,1);
+ .@y+=rand2(-1,1);
+ // Ancient 50%, Equipment 25%, Alchemy 25%
+ .@bp = any(AncientBlueprint, AncientBlueprint, AncientBlueprint, AncientBlueprint, AncientBlueprint,
+ AncientBlueprint, AncientBlueprint, AncientBlueprint, AncientBlueprint, AncientBlueprint,
+ EquipmentBlueprintA, EquipmentBlueprintB, EquipmentBlueprintC, EquipmentBlueprintD, EquipmentBlueprintE,
+ AlchemyBlueprintA, AlchemyBlueprintB, AlchemyBlueprintC, AlchemyBlueprintD, AlchemyBlueprintE);
+ makeitem(.@bp, 1, .@m$, .@x, .@y);
+ }
+ return;
+}
+
+// CraftmasterDay()
+function script CraftmasterDay {
+ if (!playerattached())
+ return;
+
+ // Date check
+ if (!$BETASERVER)
+ return;
+ if (gettime(7) != 2021)
+ return;
+ if (gettime(6) != JUNE)
+ return;
+ if (gettime(5) != 21)
+ return;
+ if (getmap() != "018-3")
+ return;
+
+ // Scored a Blue Print (2.5%)
+ if (rand2(10000) < 250) {
+ if (BaseLevel > 80 && REBIRTH)
+ getitem any(EquipmentBlueprintE, AlchemyBlueprintE,
+ EquipmentBlueprintD, AlchemyBlueprintD,
+ EquipmentBlueprintC, AlchemyBlueprintC,
+ EquipmentBlueprintB, AlchemyBlueprintB,
+ EquipmentBlueprintA, AlchemyBlueprintA), 1;
+ else if (BaseLevel > 70)
+ getitem any(EquipmentBlueprintD, AlchemyBlueprintD,
+ EquipmentBlueprintC, AlchemyBlueprintC,
+ EquipmentBlueprintB, AlchemyBlueprintB,
+ EquipmentBlueprintA, AlchemyBlueprintA), 1;
+ else if (BaseLevel > 45)
+ getitem any(EquipmentBlueprintC, AlchemyBlueprintC,
+ EquipmentBlueprintB, AlchemyBlueprintB,
+ EquipmentBlueprintA, AlchemyBlueprintA), 1;
+ else if (BaseLevel > 20)
+ getitem any(EquipmentBlueprintB, AlchemyBlueprintB,
+ EquipmentBlueprintA, AlchemyBlueprintA), 1;
+ else
+ getitem any(EquipmentBlueprintA, AlchemyBlueprintA), 1;
+ return;
+ }
+
+ // Scored Monster Points (9%)
+ if (rand2(10000) < 900) {
+ .@mpt=rand2(BaseLevel*10, BaseLevel*100); // 600~6000 usually
+ Mobpt+=.@mpt;
+ dispbottom l("Acquired: %s Monster Points", fnum(.@mpt));
+ return;
+ }
+
+ // Autocraft (1%)
+ if (rand2(10000) < 100) {
+ .@rc=any(rand2(51, 62), 65, 66, rand2(72, 76), rand2(77, 81), 82, 98,
+ 99, 100, rand2(93, 97), rand2(88, 91), rand(83, 87), 92, 101,
+ rand2(102,117), any(122, 112), rand2(125, 134), rand2(135, 143));
+ // Retrieve ID
+ .@it=getcraftcode(.@rc);
+ if (.@it <= 0)
+ return;
+ // Mark the crafting in your score variable
+ CRAFTING_SCORE_COMPLETE+=getiteminfo(.@it, ITEMINFO_ELV);
+ // Update your score book
+ CRAFTING_SCORE=(CRAFTING_SCORE_COMPLETE/40);
+ // Receive item
+ getitembound(.@it, 1, 1);
+ // Apply options if possible
+ if (getskilllv(TMW2_CRAFT)) {
+ delinventorylist(); // Needed, because we'll rely on rfind()
+ getinventorylist();
+ .@index=array_rfind(@inventorylist_id, .@it);
+
+ // Just to be sure, if this have an option, get something else
+ if (getitemoptionparambyindex(.@index, 0)) {
+ .@index=array_find(@inventorylist_id, .@it);
+ }
+
+ callfunc("csys_Apply", .@index);
+ }
+ dispbottom l("Successfully Crafted: %s", getitemname(.@it));
+ return;
+ }
+ return;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+000-0,0,0,0 script #EventCore NPC_HIDDEN,{
+ end;
+
+// confEvent(event ID, stday, stmon, endday, endmon)
+function confEvent {
+ setd("."+getarg(0)+"_stday", getarg(1));
+ setd("."+getarg(0)+"_stmon", getarg(2));
+ setd("."+getarg(0)+"_endday", getarg(3));
+ setd("."+getarg(0)+"_endmon", getarg(4));
+ // Save the event key?
+ //.@confname=".conf_"+getarg(2)+"$";
+ //setd(.@confname+"["+getarraysize(.@confname)+"]", getarg(0));
+ // Save only the day? (And use if statement)
+ .@confname$=".conf_"+getarg(2);
+ .@size=getarraysize(getd(.@confname$));
+ setd(.@confname$+"["+.@size+"]", getarg(1));
+ //debugmes "CONFIGURE EVENT, %s[%d] = %d", .@confname$, .@size, getarg(1);
+ //debugmes "CNAME: %s", getarg(0);
+ return;
+}
+
+// Event Schedule (all dates are inclusive)
+// NEVER, ever, include the last day of the month.
+OnInit:
+ confEvent("valentine",
+ 13, FEBRUARY,
+ 16, FEBRUARY);
+
+ confEvent("tmw2day",
+ 1, MARCH,
+ 7, MARCH);
+
+ confEvent("patrick",
+ 15, MARCH,
+ 19, MARCH);
+
+ confEvent("easter",
+ 17, APRIL,
+ 24, APRIL);
+
+ confEvent("worker",
+ 27, APRIL,
+ 3, MAY);
+
+ confEvent("thanks",
+ 1, NOVEMBER,
+ 29, NOVEMBER); // NEVER use the last day of the month here
+
+ confEvent("xmas",
+ 19, DECEMBER,
+ 2, JANUARY);
+
+ // Some setup
+ .@isinit=true;
+ disablenpc "sPatrick";
+ FYE_Normalize();
+
+// Check for events every midnight
+OnClock0000:
+ // No events on test server
+ if (debug && !$@GM_OVERRIDE)
+ end;
+
+ // Prepare variables
+ .@d=gettime(GETTIME_DAYOFMONTH);
+ .@m=gettime(GETTIME_MONTH);
+ .@o=gettime(GETTIME_WEEKDAY); // Resets at 0 (sunday)
+ debugmes "A new day begins! Today is %02d/%02d", .@d, .@m;
+
+ // Override the server-wide randomness
+ resetrng();
+
+ // Initialize the event core
+ if ($@DEBUG_OD)
+ .@d=$@DEBUG_OD;
+ if ($@DEBUG_OM)
+ .@m=$@DEBUG_OM;
+ consoleinfo "EVENT CORE, the %02d/%02d", .@d, .@m;
+
+ // Is there another event this week?
+ if (!$HARDCORE && .@o == MONDAY && !.@isinit) {
+ .@dofy=true;
+ .@confname$=".conf_"+.@m;
+
+ // NOTE: Maybe make a single .annuals array and cycle it
+ // Gather the ST variable from interest...?
+ for (.@i=0;.@i < getarraysize(getd(.@confname$)); .@i++) {
+ .@val=getd(.@confname$+"["+.@i+"]");
+ //debugmes "Looping, %d = %d", .@i, .@val;
+
+ // Erm.
+ if (.@val == 0)
+ continue;
+
+ // This script has a weakness: It cannot predict events starting
+ // at the start or the end of the month.
+ // So they might still overlap.
+ // A possible solution is to, eventually, record start and end date.
+ // And only inhibit FY event if the MONDAY is within the event...?
+ // XXX: Now it inhibits by itself; But it should NOT begin a FYE if
+ // another (annual) event is scheduled for the same week.
+ // Namely: TMW2 Day and Thanksgiving
+ debugmes "%d >= %d && %d <= %d", .@val, .@d-6, .@val, .@d+6;
+ // In this case there's already an event!
+ // .@d == .@val <= .@d+6 AND
+ if ( .@val >= .@d-6 && .@val <= .@d+6 ) {
+ .@dofy=false;
+ break;
+ }
+ // continue...
+ }
+
+ // Stop previous event
+ FYStopEvent();
+
+ // Trigger event framework
+ if (.@dofy && $EVENT$ == "")
+ FYNewEvent();
+ else
+ debugmes "\033[1mAnother event is scheduled!";
+ }
+
+ // Handle Valentine Day
+ if (.@m >=.valentine_stmon && .@m <= .valentine_endmon) {
+ // It's tomorrow: Send out an announcement
+ if (.@d == .valentine_stday - 1) {
+ kamibroadcast("Valentine Day will start tomorrow!");
+ }
+ // Last Day: Send out an announcement
+ if (.@d == .valentine_endday) {
+ kamibroadcast("It's the last day for Valentine Event! Hurry up!");
+ }
+ // Begin the event
+ if (.@d == .valentine_stday) {
+ kamibroadcast("Valentine Day begun!");
+ if ($EVENT$ != "")
+ FYStopEvent();
+ $EVENT$="Valentine";
+ $@VALENTINE_LOVELETTER = htnew();
+ $@VALENTINE_GIFTSTACKS = htnew();
+ }
+ // End the event the day after
+ if (.@d == .valentine_endday+1) {
+ kamibroadcast("Valentine Day ended!");
+ sClear();
+ $EVENT$="";
+ }
+ }
+
+
+
+ // Handle TMW2 Day
+ if (.@m >=.tmw2day_stmon && .@m <= .tmw2day_endmon) {
+ // It's tomorrow: Send out an announcement
+ if (.@d == .tmw2day_stday - 1) {
+ kamibroadcast("Moubootaur Legends Anniversary will start tomorrow!");
+ }
+ // Last Day: Send out an announcement
+ if (.@d == .tmw2day_endday) {
+ kamibroadcast("It's the last day of our Anniversary Event! Hurry up!");
+ }
+ // Begin the event
+ if (.@d == .tmw2day_stday) {
+ kamibroadcast("Moubootaur Legends Anniversary Event begun!");
+ if ($EVENT$ != "Anniversary")
+ $BCONFB_EXPR+=50;
+ $EVENT$="Anniversary";
+ }
+ // End the event the day after
+ if (.@d == .tmw2day_endday+1) {
+ kamibroadcast("Our Special Anniversary Event ended! Thanks!");
+ sClear();
+ $EVENT$="";
+ }
+ }
+
+
+ // Handle St. Patrick Day
+ // During this day, a special four leaf clover is spawned daily, at 4 times in the day
+ // in all forests: 6:00, 12:00, 18:00 and 00:00.
+ // $PATRICK_DAYMAX
+ if (.@m >=.patrick_stmon && .@m <= .patrick_endmon) {
+ // It's tomorrow: Send out an announcement
+ if (.@d == .patrick_stday - 1) {
+ kamibroadcast("St. Patrick Day will start tomorrow!");
+ }
+ // Last Day: Send out an announcement
+ else if (.@d == .patrick_endday) {
+ kamibroadcast("It's the last day for St. Patrick Event! Hurry up!");
+ }
+ // Begin the event
+ else if (.@d == .patrick_stday) {
+ kamibroadcast("St. Patrick Day begun!");
+ if ($EVENT$ != "")
+ FYStopEvent();
+ $EVENT$="Patrick";
+ $@PATRICK_DAYMAX=.patrick_endday;
+ enablenpc "sPatrick";
+ setnpcdisplay("Aurora", "Patrick Saulc", NPC_WEIRDGREEN);
+ enablenpc "St. Patrick Gold Pot";
+ donpcevent "St. Patrick Gold Pot::OnForcedMove";
+ }
+ // End the event the day after
+ else if (.@d == .patrick_endday+1) {
+ kamibroadcast("St. Patrick Day ended!");
+ sClear();
+ $EVENT$="";
+ donpcevent "sPatrick::OnCleanUp";
+ }
+ }
+
+
+ // Handle Easter
+ if (.@m >=.easter_stmon && .@m <= .easter_endmon) {
+ // It's tomorrow: Send out an announcement
+ if (.@d == .easter_stday - 1 && .@m == .easter_stmon) {
+ kamibroadcast("Easter will start tomorrow!");
+ }
+ // Last Day: Send out an announcement
+ else if (.@d == .easter_endday && .@m == .easter_endmon) {
+ kamibroadcast("It's the last day for Easter Event! Hurry up!");
+ }
+ // Begin the event
+ else if (.@d == .easter_stday && .@m == .easter_stmon) {
+ kamibroadcast("Easter begun!");
+ if ($EVENT$ != "")
+ FYStopEvent();
+ sEaster();
+ }
+ // End the event the day after
+ else if (.@d == .easter_endday+1 && .@m == .easter_endmon) {
+ kamibroadcast("Easter ended!");
+ sClear();
+ $EVENT$="";
+ }
+ }
+
+
+ // Handle Worker Day
+ if (.@m >=.worker_stmon && .@m <= .worker_endmon) {
+ // It's tomorrow: Send out an announcement
+ if (.@d == .worker_stday - 1 && .@m == .worker_stmon) {
+ kamibroadcast("Worker Day will start tomorrow!");
+ }
+ // Last Day: Send out an announcement
+ else if (.@d == .worker_endday && .@m == .worker_endmon) {
+ kamibroadcast("It's the last day for Worker Day Event! Hurry up!");
+ }
+ // Begin the event
+ else if (.@d == .worker_stday && .@m == .worker_stmon) {
+ kamibroadcast("Worker Day begun!");
+ if ($EVENT$ != "")
+ FYStopEvent();
+ $EVENT$="Worker";
+ }
+ // End the event the day after
+ else if (.@d == .worker_endday+1 && .@m == .worker_endmon) {
+ kamibroadcast("Worker Day ended!");
+ sClear();
+ $EVENT$="";
+ }
+ }
+
+
+ // Handle Thanksgiving Day
+ if (.@m >=.thanks_stmon && .@m <= .thanks_endmon) {
+ // It's tomorrow: Send out an announcement
+ if (.@d == .thanks_stday - 1 && .@m == .thanks_stmon) {
+ kamibroadcast("Thanksgiving will start tomorrow!");
+ }
+ // Last Day: Send out an announcement
+ else if (.@d == .thanks_endday && .@m == .thanks_endmon) {
+ kamibroadcast("It's the last day for Thanksgiving Event! Hurry up!");
+ }
+ // Begin the event
+ else if (.@d == .thanks_stday && .@m == .thanks_stmon) {
+ kamibroadcast("Thanksgiving begun!");
+ if ($EVENT$ != "")
+ FYStopEvent();
+ $EVENT$="Thanksgiving";
+ donpcevent("sThankAeros::OnTimer90000");
+ }
+ // End the event the day after
+ else if (.@d == .thanks_endday+1 && .@m == .thanks_endmon) {
+ kamibroadcast("Thanksgiving ended!");
+ sClear();
+ $EVENT$="";
+ }
+ }
+
+
+ // Handle Christmas. It goes past the year so the rule is different, BEWARE
+ if (.@m == .xmas_stmon || .@m == .xmas_endmon) {
+ // It's tomorrow: Send out an announcement
+ if (.@d == .xmas_stday - 1 && .@m == .xmas_stmon) {
+ kamibroadcast("Christmas will start tomorrow!");
+ }
+ // Last Day: Send out an announcement
+ else if (.@d == .xmas_endday && .@m == .xmas_endmon) {
+ kamibroadcast("It's the last day for Christmas Event! Hurry up!");
+ }
+ // Begin the event
+ else if (.@d == .xmas_stday && .@m == .xmas_stmon) {
+ kamibroadcast("Christmas begun!");
+ if ($EVENT$ != "")
+ FYStopEvent();
+ $EVENT$="Christmas";
+ DelQuestFromEveryPlayer(SQuest_Christmas);
+ sChristmas();
+ }
+ // End the event the day after
+ else if (.@d == .xmas_endday+1 && .@m == .xmas_endmon) {
+ kamibroadcast("Christmas ended!");
+ sClear();
+ $EVENT$="";
+ }
+ }
+ debugmes "EVENT CORE has finished";
+ end;
+}
+
diff --git a/npc/functions/filters.txt b/npc/functions/filters.txt
new file mode 100644
index 0000000..bb4d8d6
--- /dev/null
+++ b/npc/functions/filters.txt
@@ -0,0 +1,131 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Several filters
+
+// filter_always( id )
+function script filter_always {
+ return true;
+}
+
+// filter_onlyme( id )
+function script filter_onlyme {
+ return (getarg(0) == getcharid(3));
+}
+
+// filter_notme( id )
+function script filter_notme {
+ return (getarg(0) != getcharid(3));
+}
+
+// filter_sameguild( id )
+function script filter_sameguild {
+ if (getcharid(2) < 1)
+ return false;
+ return (strcharinfo(2, "~!<mk>@tmw2.org", getarg(0)) == strcharinfo(2));
+}
+
+// filter_sameguildnotyou( id )
+function script filter_sameguildnotyou {
+ if (getcharid(2) < 1)
+ return false;
+ if (getarg(0) == getcharid(3))
+ return false;
+ return (strcharinfo(2, "~!<mk>@tmw2.org", getarg(0)) == strcharinfo(2));
+}
+
+// filter_sameparty( id )
+function script filter_sameparty {
+ if (getcharid(1) < 1 && getarg(0) != getcharid(3))
+ return false;
+ return (strcharinfo(1, "~!<mk>@tmw2.org", getarg(0)) == strcharinfo(1));
+}
+
+// filter_sameguildorparty( id )
+function script filter_sameguildorparty {
+ if (getcharid(2) < 1 && getcharid(1) < 1)
+ return false;
+ .@party=(strcharinfo(1, "~!<mk>@tmw2.org", getarg(0)) == strcharinfo(1));
+ .@guild=(strcharinfo(2, "~!<mk>@tmw2.org", getarg(0)) == strcharinfo(2));
+ return ((getcharid(1) > 0 && .@party) || (getcharid(2) > 0 && .@guild));
+}
+
+// filter_sameguildorpartynotyou( id )
+function script filter_sameguildorpartynotyou {
+ if (getarg(0) == getcharid(3))
+ return false;
+ if (getcharid(2) < 1 && getcharid(1) < 1)
+ return false;
+ .@party=(strcharinfo(1, "~!<mk>@tmw2.org", getarg(0)) == strcharinfo(1));
+ .@guild=(strcharinfo(2, "~!<mk>@tmw2.org", getarg(0)) == strcharinfo(2));
+ return ((getcharid(1) > 0 && .@party) || (getcharid(2) > 0 && .@guild));
+}
+
+// filter_hostile( id )
+function script filter_hostile {
+ //.@type=getunitdata(getarg(0), UDT_TYPE);
+ .@type=getunittype(getarg(0));
+ .@chkid=getarg(0);
+
+ // Players outside PVP
+ if (.@type == UNITTYPE_PC) {
+ getmapxy(.@m$, .@x, .@y, .@type, .@chkid);
+ if (!ispvpmap(.@m$))
+ return false;
+ // FIXME: We already have !(filter_sameguildorparty())
+ // We might be over-processing this
+ // Honor party flag
+ if (!getmapflag(.@mapa$, mf_pvp_noparty) &&
+ getcharid(1) == getcharid(1, strcharinfo(0, "", .@chkid)))
+ return false;
+ // Honor guild flag
+ if (!getmapflag(.@mapa$, mf_pvp_noguild) &&
+ getcharid(2) == getcharid(2, strcharinfo(0, "", .@chkid)))
+ return false;
+ }
+
+ // Monsters
+ if (.@type == UNITTYPE_MOB)
+ return true;
+
+ // NPCs
+ if (.@type == UNITTYPE_NPC)
+ return false;
+
+ // Homunculus
+ if (.@type == UNITTYPE_HOM)
+ .@chkid=charid2rid(getunitdata(getarg(0), UDT_MASTERCID));
+
+ // Pets
+ if (.@type == UNITTYPE_PET)
+ .@chkid=getunitdata(getarg(0), UDT_MASTERAID);
+
+ // Mercenaries
+ if (.@type == UNITTYPE_MER)
+ .@chkid=charid2rid(getunitdata(getarg(0), UDT_MASTERCID));
+
+ // Elementals
+ if (.@type == UNITTYPE_ELEM)
+ .@chkid=charid2rid(getunitdata(getarg(0), UDT_MASTERCID));
+
+ //debugmes "filter_hostile: Filtering %d (original %d) (BL %d)", .@chkid, getarg(0), .@type;
+ // Players (and slaves)
+ return !(filter_sameguildorparty(.@chkid));
+}
+
+// filter_friendly( id )
+function script filter_friendly {
+ return !(filter_hostile(getarg(0)));
+}
+
+// filter_friendlynotme( id )
+function script filter_friendlynotme {
+ return (getarg(0) != getcharid(3) && filter_friendly(getarg(0)));
+}
+
+// filter_notboss( id )
+function script filter_notboss {
+ return (!(getunitdata(getarg(0), UDT_MODE) & MD_BOSS));
+}
+
diff --git a/npc/functions/fishing.txt b/npc/functions/fishing.txt
new file mode 100644
index 0000000..103784c
--- /dev/null
+++ b/npc/functions/fishing.txt
@@ -0,0 +1,358 @@
+// TMW2 Script
+// Evol functions.
+// Authors:
+// gumi
+// omatt
+// Travolta
+// Jesusalva
+// Description:
+// Fishing functions.
+// Variable
+// .dir
+// DOWN Never try or pulled too late
+// UP Bait dropped
+// LEFT Fish bite bait
+//
+// player log on .dir is DOWN, start by choose bait menu
+// player chooses bait, script addtimer in npc .dir is UP
+// if player pulls before signal npc, bait is lost, set .bait to DOWN goto choose bait
+// if player pulls after pull delay max, bait is lost, set .bait to DOWN goto choose bait
+// npc signal .dir is LEFT
+// player pulls between npc signal and pulls delay max, got the fish, set .dir to DOWN goto choose bait
+
+function script fishing_cleanup {
+ .@npc$ = getarg(0, "");
+ if (.@npc$ == "") end;
+
+ set getvariableofnpc(.char_id, .@npc$), 0; // clean acc id
+ set getvariableofnpc(.account_id, .@npc$), 0; // clean char id
+ set getvariableofnpc(.last_used, .@npc$), gettimetick(2); // set last used time
+ setnpcdir .@npc$, DOWN; // reset direction
+ return;
+}
+
+- script global fishing handler 32767,{
+ end;
+
+OnBite:
+ if (getnpcdir(@fishing_spot$) != UP)
+ end;
+
+ setnpcdir @fishing_spot$, LEFT;
+ @fishing_tick = gettimetick(0);
+ .@bite_fx=getvariableofnpc(.bite_fx, @fishing_spot$);
+ specialeffect(.@bite_fx ? .@bite_fx : 30, SELF, playerattached());
+ end;
+
+OnCleanUp:
+ dispbottom l("You waited too long and lost the bait...");
+ specialeffect(getvariableofnpc(.failure_fx, @fishing_spot$), SELF, playerattached()); // event fail
+OnPCLogoutEvent:
+ fishing_cleanup @fishing_spot$;
+ @fishing_spot$ = ""; // unbind fishing npc
+ end;
+}
+
+// Syntax: fishing()
+// Syntax: fishing ( OFFSET, COMMON FISHES, RARE FISHES )
+// OFFSET: How many fishes are common
+function script fishing {
+
+///////////////////////////////////////////
+// Var initialization
+ if (getarg(0, 0) == 0) {
+ setarray .@common_fish,
+ CommonCarp;
+ setarray .@rare_fish,
+ GrassCarp;
+ } else {
+ .@i=0;
+ freeloop(true);
+ for (.@i=1; .@i < getargcount(); .@i++) {
+ if (.@i <= getarg(0)) {
+ .@common_fish[.@i-1]=getarg(.@i);
+ } else {
+ .@rare_fish[.@i-1-getarg(0)]=getarg(.@i);
+ }
+ };
+ freeloop(false);
+ }
+ //debugmes("[FISH] Initialized with %d common and %d rare fishes", getarraysize(.@common_fish), getarraysize(.@rare_fish));
+
+ .@npc$ = strnpcinfo(0); // the full name of the fishing spot
+
+ .@account_id = getvariableofnpc(.account_id, .@npc$); // the account id of the player using the fishing spot
+ .@char_id = getvariableofnpc(.char_id, .@npc$); // the char id of the player using the fishing spot
+ .@dir = getnpcdir(.@npc$); // direction of the fishing spot
+ .@last_used = getvariableofnpc(.last_used, .@npc$); // when this fishing spot was last used
+ .@baits = getvariableofnpc(.baits, .@npc$); // bait count
+
+ .@rod = getvariableofnpc(.fishing_rod, .@npc$); // the fishing rod required for this spot
+ .@rod = (.@rod ? .@rod : FishingRod);
+
+ .@net_ratio = getvariableofnpc(.net_ratio, .@npc$); // How many fishes and baits are required?
+ .@net_ratio = max(1, (.@net_ratio ? .@net_ratio : 1));
+
+ .@regen_time = getvariableofnpc(.cooldown, .@npc$); // cooldown for the fishing spot
+ .@regen_time = (.@regen_time ? .@regen_time : 20);
+
+ .@bp_chance = getvariableofnpc(.bp_chance, .@npc$); // Blueprint chance
+ .@bp_chance = (.@bp_chance ? .@bp_chance : 1);
+
+ .@success_fx = getvariableofnpc(.success_fx, .@npc$); // effect to show on success
+ .@success_fx = (.@success_fx ? .@success_fx : FX_SUCCESS);
+
+ .@failure_fx = getvariableofnpc(.failure_fx, .@npc$); // effect to show on failure
+ if (.@failure_fx < 1)
+ {
+ .@failure_fx = FX_FAILURE;
+ set getvariableofnpc(.failure_fx, .@npc$), .@failure_fx; // needed by global handler
+ }
+
+ .@initial_fx = getvariableofnpc(.initial_fx, .@npc$); // effect to show when throwing the bait
+ .@initial_fx = (.@initial_fx ? .@initial_fx : 29);
+
+ .@bite_fx = getvariableofnpc(.bite_fx, .@npc$); // effect to show when something bites
+ if (.@bite_fx < 1)
+ {
+ .@bite_fx = 30;
+ set getvariableofnpc(.bite_fx, .@npc$), .@bite_fx; // needed by global handler
+ }
+
+ .@wait_time_min = getvariableofnpc(.wait_time_min, .@npc$); // min amount of time to wait for the line to sink
+ .@wait_time_min = (.@wait_time_min ? .@wait_time_min : 4000);
+
+ .@wait_time_max = getvariableofnpc(.wait_time_max, .@npc$); // max amount of time to wait for the line to sink
+ .@wait_time_max = (.@wait_time_max ? .@wait_time_max : 18000);
+
+ // During night time there are more fishes, and therefore, it is easier to fish
+ // This will make they reply at most 30% faster. Default is a 6 second max delay gain
+ if (is_night())
+ .@wait_time_max = min(.@wait_time_min, .@wait_time_max*7/10);
+
+ .@catch_time = getvariableofnpc(.catch_time, .@npc$); // the player must catch the fish within X ms after the line sinks
+ .@catch_time = (.@catch_time ? .@catch_time : 5000);
+
+ .@pull_rand_max = getvariableofnpc(.pull_rand_max, .@npc$);
+ .@pull_rand_max = (.@pull_rand_max ? .@pull_rand_max : 1100);
+
+ .@fish_id = CommonCarp; // failsafe
+
+
+ if (getvariableofnpc(.bait_ids[0], .@npc$) < 1)
+ {
+ // default baits (bait, chance booster) rand(0, 100)
+ setarray getvariableofnpc(.bait_ids[0], .@npc$),
+ SmallTentacles, 4,
+ Bread, 4,
+ Aquada, 8,
+ Tentacles, 10,
+ BugLeg, 2,
+ CaveSnakeTongue, 6,
+ LettuceLeaf, 1,
+ Cheese, 3,
+ RoastedMaggot, 6;
+
+ }
+
+ if (.@baits < 1)
+ {
+ // only count it once
+ .@baits = getarraysize(getvariableofnpc(.bait_ids[0], .@npc$));
+ set getvariableofnpc(.baits, .@npc$), .@baits;
+ }
+
+
+///////////////////////////////////////////
+// Logic below
+
+ if (countitem(.@rod) < 1)
+ {
+ dispbottom l("You don't have any @@.", getitemlink(.@rod));
+ return -1;
+ }
+
+ if (.@account_id > 0 && !isloggedin(.@account_id, .@char_id))
+ {
+ fishing_cleanup .@npc$; // reset
+ .@dir = DOWN;
+ }
+
+ if (.@char_id != getcharid(CHAR_ID_CHAR) && .@dir != DOWN)
+ {
+ dispbottom l("This fishing spot is already being used!");
+ return -2;
+ }
+
+
+ // pull too soon
+ if (.@dir == UP)
+ {
+ deltimer "global fishing handler::OnCleanUp"; // cancel auto cleanup
+ deltimer "global fishing handler::OnBite";
+ specialeffect(.@failure_fx, SELF, playerattached()); // event fail
+ fishing_cleanup .@npc$; // do it manually instead
+ dispbottom l("You pulled too soon and lost the bait.");
+ return -3;
+ }
+
+ // pull maybe on time
+ else if (.@dir == LEFT)
+ {
+ deltimer "global fishing handler::OnCleanUp"; // cancel auto cleanup
+ fishing_cleanup .@npc$; // do it manually instead
+
+ getmapxy .@mapbis$, .@xbis, .@ybis, UNITTYPE_PC; // get current char location
+
+ // Leave spot, lost the bait
+ if (.@mapbis$ != @fishing_loc$[0] || .@xbis != @fishing_loc[0] || .@ybis != @fishing_loc[1] || @fishing_spot$ != .@npc$)
+ {
+ dispbottom l("You left your fishing spot!");
+ return -4;
+ }
+
+
+ // RNG to obtain a fish
+ if (rand2(gettimetick(0) - @fishing_tick) <= .@pull_rand_max)
+ {
+ for (.@i=0 ; .@i < .@net_ratio ; .@i++) {
+ // RNG to obtain a rare fish or common fish
+ // Luck can increase up to 5% when it is at 100.
+ // Level can increase up to 10% when it is at 100.
+ .@boost=(readparam2(bLuk)/20)+(BaseLevel/10);
+ .@bai=getvariableofnpc(.bait_ids[@bait_d+1], .@npc$);
+ // Ancient Blueprint: 0.05% per bait bonus (no luck)
+ if (rand2(2000) < .@bp_chance*.@bai) {
+ .@fish_id = AncientBlueprint;
+ } else if (rand2(0, 100) < .@bai+.@boost) {
+ .@fish_id = any_of(.@rare_fish);
+ } else {
+ .@fish_id = any_of(.@common_fish);
+ }
+ specialeffect(.@success_fx, SELF, playerattached());
+ getexp getvariableofnpc(.bait_ids[@bait_d+1], .@npc$)+(BaseLevel/10), 4+getvariableofnpc(.bait_ids[@bait_d+1], .@npc$); // xp gain is equivalent to bait rarity + BaseLevel boost
+
+ // MobPt gain is equivalent to bait rarity.
+ if (MPQUEST)
+ Mobpt+=.@bai*limit(1, BaseLevel/10, 10);
+
+ if(!checkweight(.@fish_id, 1)) {
+ dispbottom l("You caught a @@ but had no room in your inventory to carry it.", getitemlink(.@fish_id));
+ makeitem .@fish_id, 1, .@mapbis$, .@xbis, .@ybis; // drop on the ground
+ return 0;
+ }
+ getitem .@fish_id, 1;
+
+ // Catch the Golden Fish Event
+ if ($EVENT$ == "Fishing")
+ FYE_Fishing();
+ }
+ }
+ else
+ {
+ dispbottom l("You pulled too late and lost the bait...");
+ specialeffect(.@failure_fx, SELF, playerattached()); // event fail
+ .@fish_id = 0;
+ getexp 0, 5;
+ }
+
+ @fishing_spot$="";
+ return .@fish_id;
+ }
+
+
+
+ if (gettimetick(2) - .@last_used < .@regen_time)
+ {
+ dispbottom l("This fishing spot has just been used, give it a rest.");
+ return -5;
+ }
+
+ // This "hack" will prevent you from fishing at two spots (buggy)
+ // It'll cancel the previous fishing too, per logical rule.
+ if (@fishing_spot$ != "") {
+ deltimer "global fishing handler::OnCleanUp"; // cancel auto cleanup
+ deltimer "global fishing handler::OnBite";
+ fishing_cleanup(@fishing_spot$); // clean up manually
+ @fishing_spot$="";
+ dispbottom l("You left your fishing spot!");
+ return -4;
+ }
+
+ // begin fishing
+ narrator S_LAST_NEXT,
+ l("You see some fish reflecting the sun on the surface of the water."),
+ (.@net_ratio == 1 ? l("What will be the bait for the fish?") : l("You need @@ units of bait for this fishing spot. What will you use?", .@net_ratio));
+
+ if (GSET_FISHING_BAIT > 1) {
+ .@bait = GSET_FISHING_BAIT;
+ mesc l("Maybe a %s?", getitemlink(GSET_FISHING_BAIT));
+ } else {
+ mes "##B" + l("Drag and drop an item from your inventory.") + "##b";
+
+ .@bait = requestitem();
+ if (.@bait > 1 && GSET_FISHING_BAIT)
+ GSET_FISHING_BAIT = .@bait;
+ }
+
+ if (.@bait < .@net_ratio) {
+ narrator S_FIRST_BLANK_LINE,
+ l("You take your @@ and leave.", getitemlink(.@rod));
+
+ return -6;
+ }
+
+ if (countitem(.@bait) < .@net_ratio) {
+ mesc l("You do not have enough bait for fishing here.");
+ return -6;
+ }
+
+ .@bait_c = false;
+ for (.@i = 0; .@i < .@baits; .@i += 2) {
+ if (getvariableofnpc(.bait_ids[.@i], .@npc$) == .@bait)
+ {
+ .@bait_c = true;
+ @bait_d = .@i;
+ break;
+ }
+ }
+
+ if (.@bait_c != true)
+ {
+ narrator S_FIRST_BLANK_LINE,
+ l("This item cannot be used as bait here.");
+
+ return -6;
+ }
+
+ if (getvariableofnpc(.char_id, .@npc$) > 0)
+ {
+ narrator S_FIRST_BLANK_LINE,
+ l("Somebody took your place on this spot!"),
+ l("You take your fishing rod and leave.");
+ return -8;
+ }
+
+ @fishing_spot$ = .@npc$; // bind player to fishing spot
+ set getvariableofnpc(.account_id, .@npc$), getcharid(CHAR_ID_ACCOUNT); // record account id
+ set getvariableofnpc(.char_id, .@npc$), getcharid(CHAR_ID_CHAR); // record char id
+ set getvariableofnpc(.last_used, .@npc$), gettimetick(2);
+ getmapxy(@fishing_loc$[0], @fishing_loc[0], @fishing_loc[1], 0); // record char pos
+ delitem .@bait, .@net_ratio;
+
+ // The player uses this spot, his bait is ready, he just has to wait for the signal.
+ closedialog;
+
+ specialeffect(.@initial_fx, SELF); // throw the bait
+ sleep2 800; // wait 0.8s for synchronize the sound of "plop" in water with the npc dir UP.
+ setnpcdir .@npc$, UP;
+
+ dispbottom l("Wait for the bait to sink underwater.");
+
+ .@delay = rand(.@wait_time_min, .@wait_time_max);
+
+ addtimer .@delay, "global fishing handler::OnBite"; // bite logic
+ addtimer (.@delay + .@catch_time), "global fishing handler::OnCleanUp"; // auto clean up
+
+ return 0;
+}
diff --git a/npc/functions/game-rules.txt b/npc/functions/game-rules.txt
new file mode 100644
index 0000000..b425afd
--- /dev/null
+++ b/npc/functions/game-rules.txt
@@ -0,0 +1,74 @@
+// TMW-2 script.
+// Evol scripts.
+// Authors:
+// gumi
+// Qwerty Dragon
+// Reid
+// WildX
+// Jesusalva
+// Description:
+// Main Rules of TMW2.
+
+function script GameRules {
+ /*
+ if (checkweight(BookOfLaws, 1) == true && countitem(BookOfLaws) < 1)
+ getitem BookOfLaws, 1; // give the book if the player lost it
+ */
+
+ narrator getarg(0, 0),
+ //l("1. ##BDo not bot##b, A character must be being controlled by a human, standing, siting, or logged off. You may only control one character at a time."),
+ //l("* You can use a BOT if it was provided by TMW2 Team. In no circumstance you shall AFK-Bot, or you'll be promptly banned or jailed."),
+ l("1. You must be at the computer to play. Using a bot ##Bwhile at computer##b will be tolerated."),
+ l("Failure to respond to other players and/or GMs in a timely manner will be viewed as unacceptable AFK botting. And you'll spend a night in the jail."),
+ l("2. ##BDo not spam nor flood.##b This rule is not limited to public chat, actions ingame can be flooding too."),
+ l("3. ##BDo not trade invalid items, or try to cheat on trades.##b This includes any other kind of cheat or bug abuse, passive of account deletion and IP ban as stated by the Terms Of Service."),
+ l("4. ##BRespect other players.##b This includes but is not limited to using offensive language in nicknames or chat, and begging items or favours to other players."),
+ l("5. ##BThe public chat is to be understood by everyone.##b Therefore, try to use english when possible."),
+ l("6. ##BDo not create multi accounts.##b A person may only hold one account and as many chars as allowed by the server/client. Staff members with special privileges in-game may have a second account without those privileges."),
+ l("7. ##BAs long as you have an account, you agree with the [@@https://tmw2.org/legal|Terms Of Service@@]##b. Shall any rule conflict with these terms, the Terms Of Service provided on that link shall prevail."),
+ l("8. ##BThe use of real money is prohibited##b for ingame stuff, except by sponsoring."),
+ l("9. ##BAdmit when you're wrong.##b Users trying to lie to or fool GMs will get no pity from them."),
+ l("10. ##BDo not logout##b at Botcheck area or at Jail. We cannot unjail an offline player. The opposite of rule 9: If you believe you're right, keep your ground and explain calmly what happened. We'll calmly analyse the situation. If you were jailed without guilt, an apology will be sent to you, provided this rule is not broken."),
+ l("11. If you believe you are Not Guilty, but the GM deemed you guilty, request a ##BCouncil Trial##b. It's your right. In a Council Trial, we'll have multiple people giving the veredict. Any player may be called to compose the council. All admins shall take part in it. An arragment relative to time, date, and number of counsellors is to be made.");
+ return;
+}
+
+
+- script @rules 32767,{
+ end;
+
+ function read_book {
+ narrator S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("This book outlines the laws which applies everywhere in the World Of Mana."),
+ l("The first page contains the universal rules that have been agreed upon throughout the land.");
+
+ GameRules S_NO_NPC_NAME | S_LAST_NEXT;
+
+ narrator S_NO_NPC_NAME,
+ l("The next page begins to list the complex trading laws and political rules. The word \"%s\" shows up everywhere.", "[@@https://git.themanaworld.org/ml|@@]"),
+ l("All this seems unimportant to you right now.");
+ if (BaseLevel > 30) {
+ mesc l("However, there's a link to get a simple python bot software!");
+ mes "@@https://git.themanaworld.org/ml/all/tmw2_bot.py|Simple Python Bot (Linux/Windows/Mac)@@";
+ }
+ close;
+ }
+
+OnCall:
+ GameRules;
+ close;
+
+OnUseBook:
+ if (openbook())
+ read_book;
+ bye;
+
+OnShelfUse:
+ if (openbookshelf())
+ read_book;
+ bye;
+
+OnInit:
+ .book_name$ = "The Book of Laws";
+ bindatcmd "rules", "@rules::OnCall", 0, 2, 0;
+}
diff --git a/npc/functions/gmbot.txt b/npc/functions/gmbot.txt
new file mode 100644
index 0000000..5d11e5d
--- /dev/null
+++ b/npc/functions/gmbot.txt
@@ -0,0 +1,268 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// The most powerful sword ever. It's alive.
+
+boss,45,42,0 script Lightbringer NPC_LIGHTBRINGER,{
+ function movelb;
+ function matrixlb;
+ function notAvailable;
+
+ if ($GAME_STORYLINE < 3) notAvailable();
+ if (islegendary()) notAvailable();
+ if ($LIGHT_HOLDER$ != "") notAvailable();
+
+ .@q=getq(General_Narrator);
+ // Prologue missed - straight refusal
+ if (.@q < 19) {
+ if (strcharinfo(0) != $MOST_HEROIC$)
+ npctalk3 l("The sword glows too much. Perhaps @@ could take it.", $MOST_HEROIC$);
+ else
+ npctalk3 l("I'm not going to touch a FLOATING sword made of unobtainum without at least knowing a bit more about it.");
+ end;
+ }
+ // Determine if you are worthy (from 0 to 124)
+ if (!@lbscore)
+ @lbscore=matrixlb();
+
+ if (is_staff())
+ dispbottom "I only did "+@lbscore+" points...";
+
+ if (@lbscore <= 30) {
+ npctalk3 l("...");
+ end;
+ } else if (@lbscore <= 60) {
+ npctalk3 l("You are not worthy...");
+ end;
+ }
+
+ // Else: score > 60, 2 minutes per additional score
+ // If you are above 100: +2 minutes per score
+ // If you are above 110: +4 minutes per score
+ if (@lbscore > 100)
+ @lbscore*=3;
+ if (@lbscore > 110*3)
+ @lbscore*=2;
+
+ // Basic wield time: 2 minutes per point
+ .@btime=120;
+ if ($GAME_STORYLINE == 4)
+ .@btime+=30; // +30 seconds for stage 4
+ else if ($GAME_STORYLINE >= 5)
+ .@btime+=60; // +60 seconds for stage 5 (but it was not yet claimed? o.o)
+
+ // Each siege gives +1 second per point
+ if ($GAME_STORYLINE < 5)
+ .@btime+=$MK_TEMPVAR;
+
+ if (@lbscore > 100 && $GAME_STORYLINE > 3 && $LIGHT_HOLDER$ == "" && strcharinfo(0) == $MOST_HEROIC$ && !islegendary())
+ goto L_Perma;
+
+ rentitem Lightbringer, (.@btime*(@lbscore-60));
+ dispbottom l("This live sword drafts itself to your hand. You can wield it for a while.");
+ disablenpc .name$;
+ .busy=gettimetick(2)+(.@btime*(@lbscore-60))+300;
+ end;
+
+function notAvailable {
+ npctalkonce l("It still isn't time to awake the King Of Holy Swords, Light Bringer.");
+ end;
+ return;
+}
+
+L_Perma:
+ mesn l("Lightbringer"), 2;
+ mesc l("%s, you are pathetically weak.", strcharinfo(0)), 2;
+ next;
+ mesn l("Lightbringer"), 2;
+ mesc l("However, the fate of this world is at your hands. I shall not allow the Moubootaur to cause havoc."), 2;
+ next;
+ mesn l("Lightbringer"), 2;
+ mesc l("Therefore, just for a short while, I offer to be your blade."), 2;
+ next;
+ mesn l("Lightbringer"), 2;
+ mesc l("What do you say?"), 2;
+ select
+ l("It'll be my pleasure."),
+ l("I am a noob and don't need you.");
+
+ mes "";
+ if (islegendary()) close;
+ if ($LIGHT_HOLDER$ != "") close;
+ if (@menu != 1) close;
+ inventoryplace Lightbringer, 1;
+ mesn l("The Mana Source"), 2;
+ mesc l("%s, you did your best to protect this world inhabitants. It is my wish that you continue protecting this world. Therefore, I bestow upon you, the legendary %s. Please use its powers to protect your friend and the world peace!", strcharinfo(0), getitemlink(Lightbringer)), 2;
+ mesc l("WARNING: The %s is a %s. Besides being insanely powerful, no duplicate of them exist in the world. They can be tweaked freely and can hold multiple cards as well, and scale according to your level. Use its powers wisely. However, beware: This weapon cannot be traded except with \"@grantpower\" command, and if you abandon the world, the weapon will abandon you as well!", getitemlink(Lightbringer), b(l("legendary weapon"))), 1;
+
+ // Destroy the previous Lightbringer
+ DelItemFromEveryPlayer(Lightbringer);
+ getitembound Lightbringer, 1, 1; // Account bound or char bound? (1 or 4)
+ dispbottom l("You received the @@ from @@.", getitemlink(Lightbringer), l("The Mana Source"));
+ $LIGHT_HOLDER$=strcharinfo(0);
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 2;
+
+ if ($GAME_STORYLINE < 3)
+ disablenpc .name$;
+
+ .npcId=getnpcid();
+ .users=getusers(1);
+ .busy=false;
+ // Constants
+
+ // We should jump straight to loop (it runs every 5 minutes)
+OnTimer300000:
+ .users=getusers(1);
+ // If $LIGHT_HOLDER$ is set, we die here
+ if ($LIGHT_HOLDER$ != "")
+ end;
+
+ // Proccess busy time
+ if (.busy) {
+ if (.busy < gettimetick(2)) {
+ .busy=false;
+ enablenpc .name$;
+ } else {
+ initnpctimer;
+ end;
+ }
+ }
+
+ // Min. 2 PCs for the Lightbringer to show up
+ if (!.busy) {
+ if (.users <= 2 && !$@GM_OVERRIDE) {
+ disablenpc .name$;
+ .busy=true;
+ }
+ }
+
+ // You cannot interact with it during events
+ if ($@MK_SCENE || $@GM_EVENT) {
+ disablenpc .name$;
+ .busy=true;
+ initnpctimer;
+ end;
+ }
+
+ // Move Lightbringer to a random map
+ movelb(.npcId);
+
+ // Debug markers
+ if ($@GM_OVERRIDE)
+ debugmes "Light Bringer (bot): "+.map$+" ("+.x+", "+.y+")";
+
+ // We're done, restart loop timer
+ initnpctimer;
+ end;
+
+// Functions
+// movelb(npcid)
+function movelb {
+ .@id=getarg(0);
+ setarray .@m$, "001-1", "001-3", "001-7",
+ "004-2", "004-2-1",
+ "010-1", "010-1-1", "011-2", "011-3",
+ "013-1", "014-5", "015-1", "015-2", "015-3", "015-4", "015-5", "015-6", "015-7",
+ "017-0", "018-1", "018-1-1", "018-2", "018-3", "018-4", "018-4-1", "018-5-1", "018-7",
+ "019-4", "021-1", "021-2", "021-3", "022-1", "023-1",
+ "029-1", "029-7", "029-8";
+ .mp$=any_of(.@m$);
+
+ // Try to warp randomly: 30 attempts for a walkable spot
+ .@e=0; .@x=0; .@y=0;
+ .@mx=getmapinfo(MAPINFO_SIZE_X, .mp$)-20;
+ .@my=getmapinfo(MAPINFO_SIZE_Y, .mp$)-20;
+ do {
+ if (.@e >= 30) {
+ .mp$="boss";
+ .@x=45;
+ .@y=42;
+ break;
+ }
+ .@x = rand2(20, .@mx);
+ .@y = rand2(20, .@my);
+ .@e+=1;
+ } while (!checknpccell(.mp$, .@x, .@y, cell_chkpass));
+
+ if (!checknpccell(.mp$, .@x, .@y, cell_chkpass)) {
+ Exception("gm.bot runtime error: GM_ERR_128 highlight @Jesusalva", RB_DEBUGMES|RB_IRCBROADCAST); .mp$="boss"; .@x=45; .@y=42;
+ }
+
+ // Time to warp the NPC
+ npctalk("...");
+ sleep(20);
+ unitwarp(.@id, .mp$, .@x, .@y);
+ sleep(50); // For some reason or other, adding sleep(norid) and sleep2(rid).
+ return;
+}
+
+// matrixlb()
+function matrixlb {
+ .@pts=0;
+ // Heroic Matrice
+ .@pts+=($MOST_HEROIC$ == strcharinfo(0) ? 10 : 0);
+ // Magic Matrice
+ .@pts+=min(7, MAGIC_LVL);
+ // Main levels matrix
+ .@pts+=min(15, BaseLevel/10);
+ .@pts+=min(15, JobLevel/10);
+ // Scoreboards matrix
+ .@br=array_find($@hoblvl_name$, strcharinfo(0));
+ .@jr=array_find($@hojlvl_name$, strcharinfo(0));
+ .@mr=array_find($@hofortune_name$, strcharinfo(0));
+ .@br=limit(0, (.@br >= 0 ? 10-.@br : 0), 10);
+ .@jr=limit(0, (.@jr >= 0 ? 10-.@jr : 0), 10);
+ .@mr=limit(0, (.@mr >= 0 ? 10-.@mr : 0), 10);
+ .@pts+=.@br;
+ .@pts+=.@jr;
+ .@pts+=.@mr;
+ // Reputation matrix
+ .@pts+=min(3, reputation("Tulim")/33);
+ .@pts+=min(3, reputation("Hurns")/33);
+ .@pts+=min(3, reputation("LoF")/33);
+ .@pts+=min(3, reputation("Nival")/33);
+ .@pts+=min(3, reputation("Halin")/33);
+ .@pts+=min(3, reputation("Frostia")/33);
+ .@pts+=min(3, reputation("Candor")/33);
+ .@pts+=min(3, reputation("Fortress")/33);
+ // What about Lilit?
+
+ // Having accomplished deeds
+ .@cr=0;
+ .@cr+=(YETIKING_WINNER ? 1 : 0);
+ .@cr+=(HEROESHOLD_WINNER ? 1 : 0);
+ .@cr+=(QUIRINO_WINNER ? 1 : 0);
+ .@cr+=(GEMINI_WINNER ? 1 : 0);
+ .@cr+=(GHQ_WINNER ? 1 : 0);
+ .@cr+=(FORT_1ST_VISIT ? 1 : 0);
+ .@cr+=(MOUBOOTAUR_WINNER ? 1 : 0);
+ .@cr=limit(0, .@cr, 7);
+ .@pts+=.@cr;
+
+ // What about Doppelganger TOP 3?
+ .@dr=array_find($@udt_name$, strcharinfo(0));
+ .@dr=limit(0, (.@dr >= 0 ? 3-.@dr : 0), 3);
+ .@pts+=.@dr;
+
+ // Rebirth (2pts per level)
+ .@pts+=limit(0, REBIRTH*2, 10);
+
+ // World Story Bonus
+ if ($GAME_STORYLINE > 3 && $MK_TEMPVAR >= 12)
+ .@pts+=1;
+ if ($FIRESOFSTEAM >= 10)
+ .@pts+=1;
+ if ($GAME_STORYLINE >=5)
+ .@pts+=1; // Should never, ever, happen
+
+ // Max points: 101→104→114→117→124
+ return .@pts;
+}
+
+}
+
diff --git a/npc/functions/goodbye.txt b/npc/functions/goodbye.txt
new file mode 100644
index 0000000..b521461
--- /dev/null
+++ b/npc/functions/goodbye.txt
@@ -0,0 +1,152 @@
+// Evol functions.
+// Authors:
+// gumi
+// Reid
+// Description:
+// script terminator functions
+
+
+
+// goodbye_msg
+// Tell a random goodbye sentence.
+// Variables:
+// .@rand = Random number between the number of "goodbye" choice.
+
+function script goodbye_msg {
+ setarray .byemsg$[0],
+ l("See you!"),
+ l("See you later!"),
+ l("See you soon!"),
+ l("Bye!"),
+ l("Farewell."),
+ l("Bye then!"),
+ l("Goodbye."),
+ l("Bye for now."),
+ l("Talk to you soon!"),
+ l("Talk to you later!"),
+ l("Have a good day!"),
+ l("Cheers!"),
+ l("Take care!");
+
+ return any_of(.byemsg$);
+}
+
+
+
+// cwarp
+// Closes the dialog, then warps the player.
+// You almost always want to use this instead of `warp`.
+// usage:
+// cwarp;
+// cwarp x, y;
+// cwarp map, x, y;
+
+function script cwarp {
+ .@map$ = getarg(0, "");
+ .@x = getarg(1, 0);
+ .@y = getarg(2, 0);
+
+ if (getargcount() > 0 && getargcount() < 3)
+ {
+ .@npc$ = strnpcinfo(0);
+ .@map$ = getvariableofnpc(.map$, .@npc$);
+ .@x = getarg(0);
+ .@y = getarg(1);
+ }
+
+ getmapxy .@pc_map$, .@pc_x, .@pc_y, UNITTYPE_PC; // get char location
+
+ closedialog; // XXX: maybe send closeclientdialog in the future
+
+ if (getargcount() < 1)
+ {
+ warp .@pc_map$, .@pc_x, .@pc_y; // no arguments, just refresh
+ close;
+ }
+
+ if (.@map$ == .@pc_map$)
+ {
+ if (.@pc_x == .@x && .@pc_y == .@y)
+ {
+ close; // same location, don't move
+ }
+
+ else
+ {
+ slide .@x, .@y; // same map, slide instead of full warp
+ close;
+ }
+ }
+
+ warp .@map$, .@x, .@y; // different map, warp to given location
+ close;
+}
+
+
+
+// cshop
+// closes the dialog, then opens a shop
+// if no npc is given, calls "#<npc> $"
+
+function script cshop {
+ closedialog; // XXX: maybe send closeclientdialog in the future
+ shop getarg(0, "#" + strnpcinfo(0) + " $");
+ //close; => the shop buildin already sends close, and is a terminator itself
+}
+
+
+
+// cstorage
+// closes the dialog, then opens storage
+
+function script cstorage {
+ closedialog; // XXX: maybe send closeclientdialog in the future
+ openstorage;
+ close;
+}
+
+
+
+// bye
+// closes the dialog without waiting for the player to press close
+// can also display an emote
+
+function script bye {
+ .@emote = getarg(0, -1);
+ closedialog; // XXX: maybe send closeclientdialog in the future
+
+ if (.@emote >= 0)
+ emotion .@emote;
+
+ close;
+}
+
+
+
+// goodbye
+// same as bye, but also displays a canned message
+// can also display an emote
+
+function script goodbye {
+ npctalkonce(goodbye_msg());
+ bye getarg(0, -1);
+}
+
+
+
+// goodbye2
+// Waits for the player to press close, displays a canned message,
+// ends execution.
+// Can also display an emote
+
+function script goodbye2 {
+ .@emote = getarg(0, -1);
+
+ close2;
+ npctalkonce(goodbye_msg());
+
+ if (.@emote >= 0)
+ emotion .@emote;
+
+ end;
+}
diff --git a/npc/functions/guild.txt b/npc/functions/guild.txt
new file mode 100644
index 0000000..2b4d79b
--- /dev/null
+++ b/npc/functions/guild.txt
@@ -0,0 +1,46 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Guild System Utils
+
+// Usage: getguildrole (guildid, accid, {type})
+// Returns a string if TYPE is set. Otherwise, Returns the GPOS_*
+// On failure, returns "null" or -1
+function script getguildrole {
+ .@gid=getarg(0);
+ .@aid=getarg(1);
+ .@type=getarg(2,0);
+ .@pos=-1;
+ getguildmember(.@gid, 2);
+ for (.@i=0; .@i < $@guildmembercount; .@i++) {
+ //debugmes "Found AID %d - Position %d", $@guildmemberaid[.@i], $@guildmemberpos[.@i];
+ if (.@aid == $@guildmemberaid[.@i]) {
+ .@pos=$@guildmemberpos[.@i];
+ break;
+ }
+ }
+ if (!.@type)
+ return .@pos;
+
+ // Wait, we now have a command for this
+ return getguildpostitle(.@gid, .@pos);
+
+ // Legacy behavior
+ switch (.@pos) {
+ case GPOS_GUILDMASTER:
+ return "Guild Master";
+ case GPOS_VICELEADER:
+ return "Vice Leader";
+ case GPOS_RECRUITER:
+ return "Guild Recruiter";
+ case GPOS_TREASURER:
+ return "Guild Treasurer";
+ case GPOS_MEMBER:
+ return "Member";
+ case GPOS_NEWBIE:
+ return "Newbie";
+ default:
+ return "null";
+ }
+}
diff --git a/npc/functions/hammocks.txt b/npc/functions/hammocks.txt
new file mode 100644
index 0000000..8e1c2fe
--- /dev/null
+++ b/npc/functions/hammocks.txt
@@ -0,0 +1,50 @@
+// Evol functions.
+// Authors:
+// 4144
+// Reid
+// Description:
+// Hammocks utility functions
+// Variables:
+// none
+
+function script hamTouchLeft {
+ if (getareausers() <= 1)
+ {
+ .dir = 0;
+ stopnpctimer;
+ initnpctimer;
+ }
+ close;
+}
+
+function script hamUnTouch {
+ if (getareausers() == 0)
+ {
+ .dir = 2;
+ initnpctimer;
+ startnpctimer;
+ }
+ close;
+}
+
+function script hamTimerLeft {
+ stopnpctimer;
+ if (.dir == 2) .dir = 0;
+ end;
+}
+
+function script hamTouchRight {
+ if (getareausers() <= 1)
+ {
+ .dir = 0;
+ stopnpctimer;
+ initnpctimer;
+ }
+ close;
+}
+
+function script hamTimerRight {
+ stopnpctimer;
+ if (.dir == 2) .dir = 0;
+ end;
+}
diff --git a/npc/functions/honor.txt b/npc/functions/honor.txt
new file mode 100644
index 0000000..c9c7f76
--- /dev/null
+++ b/npc/functions/honor.txt
@@ -0,0 +1,95 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// PvP Honor Rank system
+
+// Returns if a map is on PVP Mode or Not
+// ispvpmap( {mapid} )
+function script ispvpmap {
+ .@mapa$=getarg(0, getmapname());
+ return (getmapflag(.@mapa$, mf_pvp) || getmapflag(.@mapa$, mf_pvp_noparty) || getmapflag(.@mapa$, mf_pvpnoguild));
+}
+
+// Numerical representation of player strength
+// get_BR( getcharid(3) )
+function script get_BR {
+ .@oid=getcharid(3);
+ .@rid=getarg(0, .@oid);
+ .@br=0;
+
+ // attachrid() and detachrid()
+ // readbattleparam(.@rid)
+ // Or rather: battleparam()
+ if (attachrid(.@rid)) {
+ // 1 BR per allocated status point
+ .@br+=battleparam(UDT_STR);
+ .@br+=battleparam(UDT_AGI);
+ .@br+=battleparam(UDT_VIT);
+ .@br+=battleparam(UDT_DEX);
+ .@br+=battleparam(UDT_INT);
+ .@br+=battleparam(UDT_LUK);
+
+ // 6 BR per level
+ .@br+=BaseLevel*6;
+
+ // 1 BR for 5 DMG points (average)
+ .@br+=(battleparam(UDT_ATKMIN)+battleparam(UDT_ATKMAX))/5;
+ .@br+=battleparam(UDT_MATKMAX)/5;
+
+ // 8 BR for each attack range
+ .@br+=battleparam(UDT_ATKRANGE)*8;
+
+ // 1 BR for 10 DEF points
+ .@br+=battleparam(UDT_DEF)/10;
+ .@br+=battleparam(UDT_MDEF)/10;
+ } else {
+ Exception("GET_BR INVALID RID "+.@rid, RB_DEBUGMES|RB_IRCBROADCAST);
+ }
+
+ // Restore
+ detachrid();
+ if (!attachrid(.@oid))
+ Exception("::FATAL :: GET_BR INVALID OID "+.@oid, RB_DEBUGMES|RB_IRCBROADCAST|RB_ISFATAL);
+
+ return .@br;
+}
+
+// Calculate the Honor Points which are due
+// calc_HR( get_BR(getcharid(3)), get_BR(killedrid), log=True )
+function script calc_HR {
+ //.@atk_br=get_BR(getarg(0));
+ //.@def_br=get_BR(getarg(1));
+ .@atk=readparam(BaseLevel, getarg(0));
+ .@def=readparam(BaseLevel, getarg(1));
+ .@log=getarg(2, true);
+
+ // Calculate how much levels you've used above needed
+ .@overpower=.@atk-.@def;
+
+ // Dishonorable: You used 15 levels above target, or target < level 30
+ if (.@overpower > 15 || .@def < 30) {
+ .@honor=-(limit(1, .@overpower-15, 12));
+ } else {
+ .@honor=limit(3, -(.@overpower)+15, 20);
+ }
+
+ // Log cooldown (30 minutes)
+ // If cooldown already in effect, do not gain honor.
+ if (.@log) {
+ if (.@honor > 0 && PVP_COOLDOWN[.@def] >= gettimetick(2))
+ .@honor=0;
+ PVP_COOLDOWN[.@def]=gettimetick(2)+PVP_WAITTIME;
+ }
+ return .@honor;
+}
+
+// getvariableofpc(HONOR, .@rid, 0) < 0 → determine if other player is bandit
+// is_bandit( account id )
+function script is_bandit {
+ .@oid=getcharid(3);
+ .@rid=getarg(0, .@oid);
+
+ return getvariableofpc(HONOR, .@rid, 0) < 0;
+}
+
diff --git a/npc/functions/hub.txt b/npc/functions/hub.txt
new file mode 100644
index 0000000..f8d15a0
--- /dev/null
+++ b/npc/functions/hub.txt
@@ -0,0 +1,1336 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// dangerDuck
+// TMW Org.
+// Description:
+// HUB functions (Login, Logout, Death)
+
+// HUB_Login ()
+function script HUB_Login {
+ getmapxy(.@mapa$, .@a,.@b, 0);
+
+ // Login on Blue Sage Workshop/Library
+ if (.@mapa$ == "020-7-1") {
+ addtimer(1000, "#BlueSageHUB::OnCycle");
+ }
+
+ // Random Treasure cleaning
+ if (CHAREG_CLEANUP < gettimetick(2)-CHEST_WAITTIME)
+ deletearray RNGTREASURE_DATE;
+
+ // PVP Cooldown cleaning
+ if (CHAREG_CLEANUP < gettimetick(2)-PVP_WAITTIME)
+ deletearray PVP_COOLDOWN;
+
+ // Mirror Lake functionality
+ if (getvaultid() && !getstatus(SC_JAILED)) {
+ // Christmas 2021
+ if ($EVENT$ == "Christmas") {
+ if (#XMAS2021 < ##01_TMWEXP) {
+ getexp (##01_TMWEXP-#XMAS2021) * 7 / 10, 0;
+ #XMAS2021 = ##01_TMWEXP;
+ } else if (#XMAS2021 > ##01_TMWEXP) {
+ // You leveled up?
+ getexp ##01_TMWEXP * 7 / 10, 0;
+ #XMAS2021 = ##01_TMWEXP;
+ }
+ }
+
+ .@gto=get_byte(##00_INFO, 3);
+ .@mlp=get_nibble(##00_INFO, 5);
+ /*debugmes "INFO: %d", ##00_INFO;
+ debugmes "BYTE: %d/%d/%d/%d", get_byte(##00_INFO, 0), get_byte(##00_INFO, 1), get_byte(##00_INFO, 2), get_byte(##00_INFO, 3);
+ debugmes "NIBBLE: %d/%d/%d/%d/%d/%d/%d/%d", get_nibble(##00_INFO, 0), get_nibble(##00_INFO, 1), get_nibble(##00_INFO, 2), get_nibble(##00_INFO, 3), get_nibble(##00_INFO, 4), get_nibble(##00_INFO, 5), get_nibble(##00_INFO, 6), get_nibble(##00_INFO, 7);
+ debugmes "Your Vault ID: %d", getvaultid();
+ debugmes "VAULT LOGIN, GTO is %d MLP is %d", .@gto, .@mlp;
+ */
+ // Work only on new chars, or chars which cleared Tulimshar.
+ if (.@gto == WORLD_ID &&
+ ((!getq(General_Narrator) && BaseLevel < 5) ||
+ (getq(General_Narrator) && BaseLevel > 20)))
+ {
+ // Warp to the proper Mirror Lake
+ switch (.@mlp) {
+ case 1: warp "018-7-1", 90, 47; LOCATION$ = "LoF"; break;
+ default: warp "014-4", 28, 31; LOCATION$ = "LoF"; break;
+ }
+
+ // Send debug information
+ debugmes("Vault User %d moved to lake %d.", getvaultid(), .@mlp);
+
+ // TODO: Handle new user (non-native) accounts
+ if (!getq(General_Narrator) && BaseLevel < 5) {
+ adddefaultskills();
+ getitembound MirrorLakeArmor, 1, 4;
+ equip(MirrorLakeArmor);
+ percentheal(100, 100);
+ TUTORIAL=true;
+ //BaseLevel = get_byte(##00_INFO, 0) + 1;
+ // TODO: Display quick tutorial
+ dispbottom l("Mirror Lake : Created temporary character; It'll be reset on logout.");
+ dispbottom l("Mirror Lake : Obtain help with %s.", b("@info"));
+ }
+
+ // Unset the target lake/world
+ set_byte(##00_INFO, 3, 0);
+ set_nibble(##00_INFO, 5, 0);
+ } else if (.@gto) {
+ // Heading somewhere which is not here!
+ mesc l("WARNING: If you use any Mirror Lake feature on this world, the current Mirror Lake Quest will be marked as \"Failed\"."), 1;
+ mesc l("If this is undesired, select the correct world, and if needed create a new char on it."), 1;
+ ##VAULT_GOTO=.@gto;
+ ##VAULT_MLTO=.@mlp;
+ next;
+ closeclientdialog;
+ }
+ }
+ return;
+}
+
+// HUB_Logout ( {dead} )
+function script HUB_Logout {
+ .@dead=getarg(0, false);
+ getmapxy(.@mapa$, .@a,.@b, 0);
+ .@zone$=getmapinfo(MAPINFO_ZONE, .@mapa$);
+
+ // Hardcore Server
+ if ($HARDCORE && .@dead) {
+ // Update Absolutions
+ if (ABSOLVE_DAY != gettimeparam(GETTIME_DAYOFMONTH)) {
+ ABSOLVE_DAY=gettimeparam(GETTIME_DAYOFMONTH);
+ ABSOLVE_CNT=0;
+ }
+
+ // Main Loop
+ if (@grace) {
+ // Grace is upon you (ie. script death)
+ @grace=false;
+ } else if (.@zone$ == "MMO" && ABSOLVE_CNT <= 3) {
+ // Absolve (limited attempts)
+ ABSOLVE_CNT+=1;
+ dispbottom l("This is a special map so your death is not counted.");
+ dispbottom b(l("You have %d non-counting deaths remaining today.", 3-ABSOLVE_CNT));
+ if (ABSOLVE_CNT == 3)
+ dispbottom col(l("WARNING: if you die again today in a special map it will be PERMANENT."), 1);
+ } else {
+ // Meet your final demise!
+ atcommand("@dropall");
+ makeitem CoinBag, Zeny/500, .@mapa$, .@a, .@b;
+ Zeny=0;
+ //resetlvl(2); // FIXME: Split the exp
+ // TODO: Warp back to Candor or it'll be unplayable
+ // TODO: It could be @jail, but it is buggy
+ atcommand("@jailfor 1d "+strcharinfo(0));
+ }
+ // Vanished on Cindy Cave
+ } else if (.@mapa$ == "021-4" && strcharinfo(0) == $@CINDY_HERO$) {
+ donpcevent("Cindy#Outside::OnReckless");
+ recovery(getcharid(3));
+ warp any("010-1", "010-2"), 0, 0;
+ sc_start2 SC_POISON, 1, 90, 10000;
+ die();
+ if (!$HARDCORE) heal -1, -1;
+ } else if (.@mapa$ == "021-4") {
+ .@pl = getmapusers("021-4")-1;
+ if (.@pl < 1)
+ donpcevent("Cindy#Outside::OnCleanUp");
+ recovery(getcharid(3));
+ warp "Save", 0, 0;
+ }
+ // Logout while donating blood
+ if (getq(HurnscaldQuest_BloodDonor) == 2) {
+ slide 35, 28;
+ setpcblock(PCBLOCK_SOFT, false);
+ setq HurnscaldQuest_BloodDonor, 0, gettimetick(2)+3600; // one hour penalty
+ }
+ // Logout/Death on Nard's ship hold
+ if (compare(.@mapa$, "002-2") || compare(.@mapa$,"nard")) {
+ setq2 ShipQuests_Peter, 0;
+ setq3 ShipQuests_Peter, 0; // Bugfix
+ }
+ // Logout on botcheck area
+ if (compare(.@mapa$,"botcheck") && !.@dead) {
+ if (!is_staff()) {
+ atcommand "@jail "+strcharinfo(0);
+ rodex_sendmail(getcharid(0), "TMW2 Team", "Error detected!", "Please contact GM Team, error code: BOTCHECK-AUTOJAILED");
+ }
+ }
+ // Died on Terranite Cave where exp penalty is lower
+ if (.@mapa$ == "015-6" && .@dead) {
+ @deathpenalty_override=2;
+ @deathpenalty_realvalue=readparam(BaseExp);
+ @deathpenalty_realvaljob=readparam(JobExp);
+ }
+ // Died or logged out at Tulimshar Arena (FIXME)
+ if (compare(.@mapa$, "ARENA")) {
+ if ('UDTf) {
+ 'UDTf=0;
+ killmonster(getmap(), instance_npcname("Arnea#003-13")+"::OnGladius");
+ deltimer(instance_npcname("Arnea#003-13")+"::OnVerify");
+ }
+ }
+ // Died or logged out at Candor Battle
+ if (.@mapa$ == "006-1") {
+ if (@crazypoints > CRAZYPOINTS) {
+ CRAZYPOINTS=@crazypoints;
+ dispbottom l("Crazyfefe Cave: New Highscore: @@ points", CRAZYPOINTS);
+ @crazypoints=0;
+ }
+ }
+ // Died or logged out at Candor Survival
+ if (.@mapa$ == "006-9" && $@SURVIVAL_CANDOR) {
+ .@score = gettimetick(2)-$@SURVIVAL_CANDOR;
+ if (.@score > SCANDORPTS) {
+ SCANDORPTS=.@score;
+ dispbottom l("Candor Survival : New Highscore: %s", FuzzyTime(gettimetick(2)+.@score));
+ }
+ warp "005-1", 66, 63;
+ }
+ // Died or logged during Bandit Lord fight
+ if (.@mapa$ == "015-2") {
+ if (isin("015-2", 228, 227, 282, 280))
+ killmonster("015-2", "#BanditLordDen::OnLordDeath");
+ }
+ // Died or logged out on Blue Sage House
+ if (.@mapa$ == "020-7-1") {
+ callfunc("BSClearNest", @nestid);
+ }
+ // Died or logged out on Player Story 2 - Magic School Port
+ if (compare(.@mapa$, "0030")) {
+ if (@ASSASSIN > 0)
+ delcells "MQ2Wall"+getcharid(0);
+ killmonsterall(getmap());
+ }
+ // Died or logged out on Player Story 5 - Forgotten Throne Room
+ if (compare(.@mapa$, "hmc")) {
+ if (@instid > 0)
+ .@n$=instance_npcname("#Core02331", @instid);
+ else
+ .@n$=instance_npcname("#Core02331");
+ deltimer(.@n$+"::OnW01");
+ deltimer(.@n$+"::OnW02");
+ deltimer(.@n$+"::OnE07");
+ deltimer(.@n$+"::OnE08");
+ deltimer(.@n$+"::OnE09");
+ deltimer(.@n$+"::OnE10");
+ deltimer(.@n$+"::OnE11");
+ deltimer(.@n$+"::OnE12");
+ killmonsterall(getmap());
+ }
+ // Died or logged out on Player Story 6 - Forgotten Shrine
+ if (compare(.@mapa$, "brb3")) {
+ //.@n$=instance_npcname("#Core02331");
+ .@q=getq(LoFQuest_Barbara);
+ // Reset quest to: Forgotten Chamber Puzzle incomplete
+ if (.@q < 4 && .@q >= 2) {
+ setq1 LoFQuest_Barbara, 1;
+ setq3 LoFQuest_Barbara, 1;
+ // FIXME: Enable Mana Stone#01863
+ dispbottom col(l("WARNING: You died at Forgotten Shrine and the Shrine defense triggered."), 1);
+ dispbottom col(l("WARNING: Your progress on the quest was lost!"), 1);
+ }
+ }
+ // Died or logged out during Sagratha Fight
+ if (compare(.@mapa$, "sgt2")) {
+ setq1 HurnscaldQuest_Sagratha, 3;
+ setq3 HurnscaldQuest_Sagratha, 0;
+ deltimer("#SaggyDungeonCore::OnW01");
+ deltimer("#SaggyDungeonCore::OnW02");
+ deltimer("#SaggyDungeonCore::OnW03");
+ deltimer("#SaggyDungeonCore::OnW04");
+ if (instance_id() >= 0) {
+ .@n$=instance_npcname("#SaggyDungeonCore");
+ deltimer(.@n$+"::OnW01");
+ deltimer(.@n$+"::OnW02");
+ deltimer(.@n$+"::OnW03");
+ deltimer(.@n$+"::OnW04");
+ }
+ }
+ // Died or logged out during a Boss Raid event
+ if (compare(.@mapa$, "fyrb")) {
+ doevent "sBossRaid::OnDie";
+ }
+ // Died or logged out during Yeti King Fight
+ if (getq(HurnscaldQuest_Celestia) > 1)
+ setq HurnscaldQuest_Celestia, 1;
+ // First death produces a warning message
+ if (PC_DIE_COUNTER <= 1 && .@dead) {
+ dispbottom l("Dying outside a town square will cause EXP loss.");
+ }
+ // If you were travelling and died/logged out, cleaning is needed
+ if (@timer_navio_running) {
+ @timer_navio_running=0;
+ // Logged out? Correct your position to inside the ship
+ // Of course, this is messy... But still better than Save Point
+ if (!.@dead) {
+ if (compare(.@mapa$, "016-"))
+ warp "016-1", 28, 27;
+ else if (compare(.@mapa$, "002-"))
+ warp "002-1", 55, 40;
+ else
+ warp "Save", 0, 0;
+ }
+ }
+ // Crazyfefe hot fix
+ if (.@dead) {
+ // It was PK
+ if (killerrid > 2000000 && killerrid < 2100000) {
+ // PVP flag was off
+ /*
+ if (!getmapflag(.@mapa$, mf_pvp) && !getmapflag(.@mapa$, mf_pvp_noparty) && !getmapflag(.@mapa$, mf_pvpnoguild)) {
+ recovery(getcharid(3));
+ warp .@mapa$, .@a, .@b;
+ percentheal 100, 100;
+ dispbottom l("REVENGE TIME!");
+ .@trueid=getcharid(3);
+ //detachrid();
+ attachrid(killerrid);
+ setpcblock(PCBLOCK_SOFT, true);
+ sc_start SC_WALKSPEED,120000,50;
+ sc_end SC_CASH_PLUSEXP;
+ sc_end SC_OVERLAPEXPUP;
+ sc_start SC_OVERLAPEXPUP, 300000, -20;
+ dispbottom l("For cowardingly killing in a \"secure\" area, you will be severely punished.");
+ //Karma+=1;
+ sc_start SC_STUN, 15000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK;
+ addtimer(15000, "#mobptsys::OnUnlock");
+ percentheal -88, -100;
+ detachrid();
+ attachrid(.@trueid);
+ }
+ */
+ HONOR+=1;
+ }
+ }
+
+ // This allows code to override death penalty, just once:
+ // @deathpenalty_override
+ // Valid values: 1- No penalty. 2- Halved penalty.
+ // You must also set: @deathpenalty_realvalue and @deathpenalty_realvaljob
+ if (@deathpenalty_override && .@dead) {
+ if (is_staff())
+ debugmes("Old values: %d %d Current Values: %d %d", @deathpenalty_realvalue, @deathpenalty_realvaljob, readparam(BaseExp), readparam(JobExp));
+ addtimer(300, "#QuirinoHUB::OnNoPenaltyCommand");
+ }
+
+ // Register logout time
+ if (!.@dead) {
+ CHAREG_CLEANUP=gettimetick(2);
+ // Send updates to Vault API
+ if (getvaultid()) {
+ .@api$=json_encode("UID", ##VAULT,
+ "GID", getcharid(3),
+ "VAR1N", "MLQUEST",
+ "VAR1V", ##02_MLQUEST,
+ "VAR2N", "MLWORLD",
+ "VAR2V", ##02_MLWORLD,
+ "VEXP", ##VAULT_EXP,
+ "GOTO", ##VAULT_GOTO,
+ "MLTO", ##VAULT_MLTO);
+ ##VAULT_EXP=0;
+ ##VAULT_GOTO=0;
+ ##VAULT_MLTO=0;
+ api_send(API_FLUSHVAULT, .@api$);
+ // Destroy temporary characters
+ if (countitem(MirrorLakeArmor)) {
+ delitem MirrorLakeArmor, countitem(MirrorLakeArmor);
+ //clearitem(); // Hm.
+ resetlvl(2);
+ resetstatus();
+ resetskill();
+ warp "000-0", 22, 24;
+ debugmes("Vault User %d reset!", getvaultid());
+ }
+ }
+ }
+
+ callfunc "02524_Avenge_BlackBox", .@dead;
+ return;
+}
+
+// HUB_SkillInvoke ( )
+function script HUB_SkillInvoke {
+ // Something is... wrong
+ if (@skillId < 1) {
+ Exception("ILLEGAL SKILL PASSED TO HUB. It has been compromised, Jim.", RB_DEBUGMES|RB_IRCBROADCAST);
+ debugmes "Legal Caster: %s", strcharinfo(0);
+ debugmes "Effective Caster: %d", @skillCaster;
+ return;
+ }
+
+ // Missing Skill Target - Don't ask me, something went wrong.
+ if (@skillTarget < 1) {
+ //@skillTarget = getcharid(3);
+ consolewarn("Skill %d has no target!", @skillId);
+ consolewarn("Skill Data - Name \"%s\" Level %d User \"%s\"", getskillname(@skillId), @skillLv, strcharinfo(0));
+ }
+
+ // Homunculus Cycle
+ /* *********************************************************************** */
+ //debugmes "Skill caster %d", @skillCaster;
+ if (@skillCaster != getcharid(3)) {
+ switch (@skillId) {
+ case TMW2_SKILLX:
+ sc_start SC_RICHMANKIM, 180000, @skillLv+rand2(9*@skillLv), 10000, SCFLAG_NONE, @skillTarget;
+ gethomunexp @skillLv;
+ break;
+ case TMW2_HOMUN_HEAL:
+ .@heal=gethominfo(6)*(5+rand2(@skillLv));
+ heal .@heal, 0;
+ harm(@skillCaster, -.@heal, HARM_MISC);
+ break;
+ case TMW2_LITTLE_WONDERS:
+ sc_end SC_POISON;
+ sc_end SC_CURSE;
+ sc_end SC_SILENCE;
+ sc_end SC_CONFUSION;
+ sc_end SC_BLIND;
+ sc_start SC_CURSE, rand2(3500, 5000), 1, 10000, SCFLAG_NONE, @skillCaster;
+ break;
+ case TMW2_CAPRICE:
+ .@gid = @skillCaster;
+ .@ak1 = max(getunitdata(.@gid, UDT_MATKMIN), getunitdata(.@gid, UDT_INT) * 4 / 3);
+ .@ak2 = max(getunitdata(.@gid, UDT_MATKMAX), .@ak1 * 12 / 10);
+ /* FIXME: Validate if mob is still alive after each hit */
+ for (.@i=0; .@i < limit(1, @skillLv, 10); .@i++) {
+ .@dmg=rand2(.@ak1, .@ak2);
+ .@ele=any(Ele_Fire, Ele_Water, Ele_Wind, Ele_Earth);
+ harm(@skillTarget, .@dmg, HARM_MAGI, .@ele, .@gid);
+ sleep2(100);
+ }
+ break;
+ case TMW2_AVOID:
+ .@t = 44 - (@skillLv * 4);
+ .@p = 105+(@skillLv * 5);
+ SC_Bonus(.@t, SC_WALKSPEED, .@p);
+ sc_start SC_WALKSPEED, .@t * 1000, .@p, 10000, SCFLAG_NOAVOID, @skillCaster;
+ break;
+ case TMW2_HDEFENCE:
+ .@t = 43 - (@skillLv * 3);
+ .@p = 4+(@skillLv * 6);
+ SC_Bonus(.@t, SC_INCVIT, .@p);
+ sc_start SC_INCVIT, .@t * 1000, .@p, 10000, SCFLAG_NOAVOID, @skillCaster;
+ break;
+ case TMW2_BLOODLUST:
+ // SC_HAMI_BLOODLUST (val1, % ATK Bonus, % Drain Cth, % Drain Rate)
+ .@t = (50 + (@skillLv * 10)) * 1000;
+ .@atk = 10+(@skillLv * 10);
+ .@drc = 2 * @skillLv;
+ .@drn = 15 + @skillLv;
+ sc_start4 SC_HAMI_BLOODLUST, .@t, 100, .@atk, .@drc, .@drn, 10000, SCFLAG_NOAVOID, @skillCaster;
+ break;
+ case TMW2_MOON:
+ .@gid = @skillCaster; // gethominfo(0);
+ .@ak1 = max(getunitdata(.@gid, UDT_ATKMIN), getunitdata(.@gid, UDT_STR) * 3);
+ .@ak2 = max(getunitdata(.@gid, UDT_ATKMAX), .@ak1 * 12 / 10);
+ .@hit = 1 + (@skillLv / 2);
+ .@dmg = rand2(.@ak1, .@ak2) / .@hit;
+ .@dmg += .@dmg * @skillLv / 3; // +33% DMG per level
+ .@dmx = max(.@dmg * 5 / 4, .@dmg + 10); // ~ +25% DMG on crit
+ for (.@i=0; .@i < .@hit; .@i++) {
+ // 10% special "crit" chance
+ if (rand2(10) == 7)
+ harm(@skillTarget, .@dmx, HARM_MISC, Ele_Neutral, .@gid);
+ else
+ harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Neutral, .@gid);
+ sleep2(100);
+ }
+ break;
+ case TMW2_FLEET:
+ // SC_HLIF_FLEET (val1, % ASPD, % ATK)
+ .@t = (65 - (@skillLv * 5)) * 1000;
+ .@atk = 5+(@skillLv * 5);
+ .@asp = 3 * @skillLv;
+ sc_start2 SC_HLIF_FLEET, .@t, .@asp, .@atk, 10000, SCFLAG_NOAVOID, @skillCaster;
+ break;
+ case TMW2_SPEED:
+ // SC_INCFLEE (int flee)
+ .@t = (65 - (@skillLv * 5)) * 1000;
+ .@val = 15+(@skillLv * 10);
+ sc_start SC_INCFLEE, .@t, .@val, 10000, SCFLAG_NOAVOID, @skillCaster;
+ break;
+ case TMW2_POISONMIST:
+ // SC_BLIND
+ .@ak1 = max(getunitdata(.@gid, UDT_MATKMIN), getunitdata(.@gid, UDT_INT) * 4 / 3);
+ .@ak2 = max(getunitdata(.@gid, UDT_MATKMAX), .@ak1 * 12 / 10);
+ .@dmg = rand2(.@ak1, .@ak2) + gethominfo(6);
+ .@dmg += .@dmg * @skillLv * 2 / 3; // +67% DMG per level
+ .@dur = (3 + (@skillLv * 2)) * 1000;
+ .@cth = 2000 + (1000 * @skillLv);
+
+ /* First strike (magic) */
+ areaharm(@skillTarget, 7, .@dmg, HARM_MAGI, Ele_Earth);
+ areasc(7, .@dur, SC_BLIND, BL_MOB|BL_PC|BL_HOM|BL_MER, 1, "filter_hostile", @skillTarget, .@cth);
+
+ sleep2(500);
+
+ /* Delayed strike (physical) */
+ areaharm(@skillTarget, 7, .@dmg, HARM_PHYS, Ele_Wind);
+ areasc(7, .@dur, SC_BLIND, BL_MOB|BL_PC|BL_HOM|BL_MER, 1, "filter_hostile", @skillTarget, .@cth);
+ break;
+ case TMW2_GOLDENFERSE:
+ // SC_GOLDENE_FERSE (val1, % MaxHP, % Aspd, % Holy Cth)
+ .@t = (50 + (@skillLv * 10)) * 1000;
+ .@mhp = @skillLv;
+ .@asp = 6 + (4 * @skillLv);
+ .@hol = 40 + (10 * @skillLv);
+ sc_start4 SC_GOLDENE_FERSE, .@t, .@mhp, .@asp, .@hol, 0, 10000, SCFLAG_NOAVOID, @skillCaster;
+ break;
+ case TMW2_STAHLHORN:
+ .@ak1 = max(getunitdata(.@gid, UDT_ATKMIN), getunitdata(.@gid, UDT_STR) * 3);
+ .@ak2 = max(getunitdata(.@gid, UDT_ATKMAX), .@ak1 * 12 / 10);
+ .@dmg = rand2(.@ak1, .@ak2) * 2; // 200% DMG
+ .@dmg += rand2(.@ak1, .@ak2) * @skillLv; // +100% per level
+ .@rng = 5 + (@skillLv / 2);
+ .@dur = 500 * @skillLv;
+ .@cth = 500 + (400 * @skillLv); // 5% + 4% per level (starts at 9%)
+ areaharm(@skillTarget, .@rng, .@dmg, HARM_MAGI, Ele_Holy);
+ areasc(.@rng, .@dur, SC_STUN, BL_MOB|BL_PC|BL_HOM|BL_MER, 1, "filter_hostile", @skillTarget, .@cth);
+ break;
+ }
+ return;
+ }
+ /* *********************************************************************** */
+
+ // TODO: Detect what was script-cast and what was player-case. Then, readd RB_IRCBROADCAST
+ // If you can't do this: You can't do this
+ if (getskilllv(@skillId) < @skillLv && @skillId != BS_GREED) {
+ // Is this ignorable?
+ if (@scriptsk) {
+ @scriptsk=false;
+ } else {
+ Exception("System ERROR, HSI."+@skillId+" INVALID CAST (got "+@skillLv+" expected "+getskilllv(@skillId)+", sub-LC."+(getcharid(3)-2000000)+")", RB_DEBUGMES|RB_ISFATAL);
+ }
+ }
+ // You are AFK for over 3 minutes, that's crazy, disregard
+ if (checkidle() > 180)
+ return;
+
+ // Record to database
+ skillInvoke[@skillId] = skillInvoke[@skillId] + 1;
+ callfunc "FYE_Olympics_SK";
+
+ // Script-based skills
+ /* *********************************************************************** */
+ switch (@skillId) {
+ case TMW2_FAKESKILL:
+ atcommand("@refresh");
+ break;
+ case TMW2_FAKESKILL2:
+ CMD_toevent();
+ break;
+ case TMW2_CRAFT:
+ UserCtrlPanel();
+ break;
+ case TMW2_OVHFIRE:
+ SK_OVHFire();
+ break;
+ case TMW2_MPREGEN:
+ SK_mpregen();
+ break;
+ case TMW2_MPTRANSFER:
+ SK_transfermp(@skillTarget);
+ break;
+ case TMW2_STUDY:
+ SK_study(@skillTarget);
+ break;
+ case EVOL_AREA_PROVOKE:
+ if (@skillTargetX && @skillTargetY)
+ massprovoke(1+@skillLv, getmap(), @skillTargetX, @skillTargetY);
+ else
+ massprovoke(1+@skillLv);
+ // SC_PROVOKE ?
+ GetManaExp(@skillId, rand2(1,3));
+ break;
+ case TMW2_GD_INCALL:
+ GD_allboost();
+ GetManaExp(GD_DEVELOPMENT, 10);
+ break;
+ case TMW2_GD_REGEN:
+ GD_regenerating();
+ GetManaExp(GD_DEVELOPMENT, 10);
+ break;
+ case TMW2_GD_DEFUP:
+ GD_defboost();
+ GetManaExp(GD_DEVELOPMENT, 10);
+ break;
+ case TMW2_GD_BATTLEPLAN:
+ GD_atkboost();
+ GetManaExp(GD_DEVELOPMENT, 10);
+ break;
+ case TMW2_GD_ATKUP:
+ GD_atkboost2();
+ GetManaExp(GD_DEVELOPMENT, 10);
+ break;
+ case TMW2_GD_CRITUP:
+ GD_critboost();
+ GetManaExp(GD_DEVELOPMENT, 10);
+ break;
+ case TMW2_GD_AUTOREVIVE:
+ GD_autorevive();
+ GetManaExp(GD_DEVELOPMENT, 10);
+ break;
+ case TMW2_GDP_MAXPOWER:
+ SK_maximizepower();
+ GetManaExp(GD_DEVELOPMENT, 10);
+ break;
+ case TMW2_GDP_SPREGEN:
+ SK_spregen();
+ GetManaExp(GD_DEVELOPMENT, 10);
+ break;
+ // Weapon Overload attack
+ case TMW2_OVERLOAD:
+ .@PW=200+(@skillLv > 3 ? @skillLv : 0)+(@skillLv > 7 ? @skillLv*2 : 0);
+ areaharm(@skillTarget, 0, AdjustAttackpower(.@PW), HARM_MISC);
+ break;
+ ////////////////////////////////
+ // Magic v3
+ // The basic offensive skill from Trickmaster
+ case TMW2_MANABOMB:
+ // This skill takes 100% mana for a 1:1 ratio damage
+ // And is a trick. Each level improves ratio in 1
+ // Has no cooldown, so it is powerful with pots
+ // And is a good starter offensive skill
+ areaharm(@skillTarget, 0, Sp*@skillLv, HARM_MISC, Ele_Ghost);
+ Sp=0;
+ GetManaExp(@skillId, 1);
+ break;
+ ////////////////////////////////
+ // XXX: Healing Class
+ case TMW2_FIRSTAID:
+ .@PW=90+(10*@skillLv);
+ // First aid only works on you, so
+ .@heal=max(AdjustSpellpower(.@PW), AdjustAttackpower(.@PW));
+ // Penalty if you have HALT_REGEN on (-80%)
+ if (getstatus(SC_HALT_REGENERATION))
+ .@heal /= 5;
+ heal .@heal, 0;
+ GetManaExp(TMW2_HEALING, 1);
+ break;
+ case TMW2_HEALING:
+ .@PW=130+(20*@skillLv);
+ // Penalty if you have HALT_REGEN on and trying to self heal
+ if (getstatus(SC_HALT_REGENERATION) && @skillTarget == getcharid(3))
+ .@heal /= 3;
+ harm(@skillTarget, -AdjustSpellpower(.@PW), HARM_MISC);
+ GetManaExp(TMW2_HEALING, 2);
+ break;
+ case TMW2_MAGNUSHEAL:
+ // Area healing
+ .@PW=200+(20*@skillLv);
+ .@RG=4+(@skillLv/5);
+ areaharm(@skillTarget, .@RG, -AdjustSpellpower(.@PW), HARM_MISC, "filter_friendly");
+ GetManaExp(TMW2_HEALING, 3);
+ break;
+ ////////////////////////////////
+ // XXX: Revive Class
+ case TMW2_RESURRECT:
+ SK_resurrect(@skillLv, @skillTarget);
+ break;
+ ////////////////////////////////
+ // XXX: Fire Class
+ // (May burn targets for damage over time)
+ case TMW2_FIREARROW:
+ .@PW=140+(10*@skillLv);
+ // 4% chance, 2.5s
+ sc_start SC_BLOODING, 4500, 1, 400, SCFLAG_NONE, @skillTarget;
+ harm(@skillTarget, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Fire);
+ GetManaExp(TMW2_FIREBALL, 1);
+ break;
+ case TMW2_FIREBALL:
+ .@PW=140+(10*@skillLv);
+ .@RG=2+(@skillLv/5);
+ // 22% chance, 2.5s
+ sc_start SC_BLOODING, 2500, 1, 4200, SCFLAG_NONE, @skillTarget;
+ areaharm(@skillTarget, .@RG, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Fire);
+ GetManaExp(TMW2_FIREBALL, 2);
+ break;
+ case TMW2_ARMAGEDDON:
+ .@PW=140+(10*@skillLv);
+ .@RG=5+(@skillLv/5);
+ // 18% chance, 3s, 3x3 radius
+ areasc(.@RG, 6000, SC_BLOODING, BL_MOB|BL_PC|BL_HOM|BL_MER, 1, "filter_hostile", @skillTarget, 1800);
+ areaharm(@skillTarget, .@RG, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Fire);
+ GetManaExp(TMW2_FIREBALL, 3);
+ break;
+ ////////////////////////////////
+ // XXX: Holy Class
+ // (Single DPS + AOE)
+ case TMW2_NAPALMBEAT:
+ .@PW=35+(5*@skillLv);
+ .@dmg=AdjustSpellpower(.@PW);
+ .@RG=2+(@skillLv/3);
+ areaharm(@skillTarget, .@RG, .@dmg, HARM_MAGI, Ele_Holy);
+ harm(@skillTarget, .@dmg/10, HARM_MAGI, Ele_Holy);
+ GetManaExp(TMW2_HOLYLIGHT, 1);
+ break;
+ case TMW2_HOLYLIGHT:
+ .@PW=125+(25*@skillLv);
+ .@dmg=AdjustSpellpower(.@PW);
+ areaharm(@skillTarget, 1, .@dmg/5, HARM_MAGI, Ele_Holy);
+ harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Holy);
+ GetManaExp(TMW2_HOLYLIGHT, 2);
+ break;
+ case TMW2_JUDGMENT:
+ .@PW=250+(50*@skillLv);
+ .@SPW=60+(15*@skillLv);
+ .@dmg=AdjustSpellpower(.@PW);
+ .@dsub=AdjustSpellpower(.@SPW);
+ .@RG=3+(@skillLv/5);
+ areaharm(@skillTarget, .@RG, .@dsub, HARM_MAGI, Ele_Holy);
+ harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Holy);
+ GetManaExp(TMW2_HOLYLIGHT, 3);
+ break;
+ ////////////////////////////////
+ // XXX: Wind Class
+ // (Smaller cooldown than others)
+ case TMW2_MAGICSTRIKE:
+ .@PW=125+(25*@skillLv);
+ .@dmg=AdjustSpellpower(.@PW);
+ harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Wind);
+ GetManaExp(TMW2_LIGHTNINGBOLT, 1);
+ break;
+ case TMW2_LIGHTNINGBOLT:
+ .@PW=150+(50*@skillLv);
+ .@dmg=AdjustSpellpower(.@PW);
+ harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Wind);
+ GetManaExp(TMW2_LIGHTNINGBOLT, 2);
+ break;
+ case TMW2_TEMPEST:
+ .@PW=125+(25*@skillLv);
+ .@dmg=AdjustSpellpower(.@PW);
+ .@RG=2+(@skillLv/5);
+ areaharm(@skillTarget, .@RG, .@dmg, HARM_MAGI, Ele_Wind);
+ GetManaExp(TMW2_LIGHTNINGBOLT, 3);
+ break;
+ ////////////////////////////////
+ // XXX: Ice Class
+ // (May freeze the targets)
+ case TMW2_FROSTDIVER:
+ .@PW=80+(10*@skillLv);
+ // 22% chance, 2.5s
+ sc_start SC_FREEZE, 2500, 1, 2200, SCFLAG_NONE, @skillTarget;
+ harm(@skillTarget, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Water);
+ GetManaExp(TMW2_NILFHEIM, 1);
+ break;
+ case TMW2_FROSTNOVA:
+ .@PW=80+(10*@skillLv);
+ .@RG=2+(@skillLv/5);
+ // 18% chance, 3s, 3x3 radius
+ areasc(.@RG, 3000, SC_FREEZE, BL_MOB|BL_PC|BL_HOM|BL_MER, 1, "filter_hostile", @skillTarget, 1800);
+ areaharm(@skillTarget, .@RG, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Water);
+ GetManaExp(TMW2_NILFHEIM, 2);
+ break;
+ case TMW2_NILFHEIM:
+ // Nilfheim cast on self?
+ .@PW=80+(10*@skillLv);
+ .@RG=4+(@skillLv/5);
+ areasc(.@RG, 15000, SC_FREEZE, BL_PC | BL_MOB | BL_MER | BL_HOM, 1, "filter_hostile");
+ areaharm(getcharid(3), .@RG*3/2, AdjustSpellpower(.@PW), HARM_MAGI, Ele_Water);
+ // Maybe filter_notme() would work better, indeed
+ GetManaExp(TMW2_NILFHEIM, 3);
+ break;
+ ////////////////////////////////
+ // XXX: Earth Class
+ // DEF Effects at Gaia Break, more expensive
+ case TMW2_METEORSTRIKE:
+ .@PW=130+(20*@skillLv);
+ .@dmg=AdjustSpellpower(.@PW);
+ .@TM=1200+(@skillLv*300);
+ sc_start SC_STUN, .@TM, 1, 800, SCFLAG_NONE, @skillTarget;
+ harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Earth);
+ GetManaExp(TMW2_METEORSTRIKE, 1);
+ break;
+ case TMW2_METEORSHOWER:
+ .@PW=130+(15*@skillLv);
+ .@dmg=AdjustSpellpower(.@PW);
+ .@RG=3+(@skillLv/5);
+ .@TM=800+(@skillLv*200);
+ areasc(.@RG, .@TM, SC_STUN, BL_MOB | BL_PC | BL_HOM | BL_MER, 1, "filter_hostile", @skillTarget, 800);
+ areaharm(@skillTarget, .@RG, .@dmg, HARM_MAGI, Ele_Earth);
+ GetManaExp(TMW2_METEORSTRIKE, 2);
+ break;
+ case TMW2_GAIABREAK:
+ .@PWA=170+(30*@skillLv);
+ .@PWB=110+(10*@skillLv);
+ .@dmg=AdjustSpellpower(.@PWA);
+ .@dsub=AdjustSpellpower(.@PWB);
+ areasc(2, 5000, SC_INCDEFRATE, BL_PC, 10, "filter_friendly");
+ rectharm(@skillTarget, 2, 5, .@dsub, HARM_MAGI, Ele_Earth);
+ harm(@skillTarget, .@dmg, HARM_MAGI, Ele_Earth);
+ GetManaExp(TMW2_METEORSTRIKE, 3);
+ break;
+ /*
+ ////////////////////////////////
+ // XXX: Assassinate
+ // » Assassinate: Instantly kills a monster weaker than you.
+ // » Assassinated monsters give no experience.
+ // » You'll be stunned for 3 seconds as a penalty.
+ // » Does not work on boss. Base Success Chance is 100%.
+ case TMW2_ASSASSINATE:
+ .@lv = getunitdata(@skillTarget, UDT_LEVEL);
+ if ((.@lv+10-@skillLv) < (BaseLevel+(REBIRTH*2)) && filter_notboss(@skillTarget))
+ sc_start SC_COMA, 90000, 1, 10000, SCFLAG_NONE, @skillTarget;
+ else
+ dispbottom l("Assassination failed - target is stronger than you");
+ SC_Bonus(3, SC_STUN, 1);
+ break;
+
+ // TODO: Ultimate Skills (T5/0)
+ // Sanctum: AoE resurrection, HP like Resurrect, 30min+ cooldown and
+ // inflict ailment on caster.
+ // [Ultimate] revives the whole map, like @raisemap
+ case TMW2_SANCTUM:
+ SK_sanctum();
+ break;
+
+ // Support magic
+ // STATUS: Awaiting for Alchemy rework
+ // TODO: Debuffs
+ // TODO: Buffs
+
+ // XXX: Resurrection skills
+ // [MAPZONE] Need special care because scripts
+ // [WIP] Maybe a custom recovery and a flag @canRevive ?
+ // ---------------------------------------------
+ // Revive: Makes char alive with 5% HP/Lvl
+ // Resurrect: Makes char alive with ±80% HP and give a protection SC (lvl)
+ // Redemption: AoE resurrection (HP works like revive, though)
+ case TMW2_REVIVE:
+ SK_revive(@skillTarget);
+ break;
+ case TMW2_RESSURECT:
+ SK_ressurect(@skillLv);
+ break;
+
+
+
+
+
+ // Physical Class - mostly builtin
+ // TODO: Archery effect-absorb skill
+ case TMW2_ARROWOFDEVOUR:
+ //.@x=getstatus(SC_POISON)+getstatus(SC_DPOISON);
+ // if SC_POISON or SC_DPOISON
+ break;
+ case TMW2_ARROWOFURGES:
+ // if SC_SILENCE or SC_FEAR
+ break;
+ case TMW2_ULTIMATEARROW:
+ // if SC_BLIND or SC_BLOODING
+ break;
+ case TMW2_EXECUTION:
+ // if SC_CURSE or SC_FEAR
+ break;
+ case TMW2_SHATTERARROW:
+ // if SC_STONE or SC_STUN
+ break;
+ case TMW2_ARROWOFADVANTAGE:
+ // IF SC_BURNING or SC_CONFUSION
+ break;
+ case TMW2_WAKENINGARROW:
+ // if SC_SLEEP or SC_DEEP_SLEEP
+ break;
+ case TMW2_BURNINGARROW:
+ // if SC_FREEZE or SC_COLD
+ break;
+
+
+
+ case TMW2_SNARE:
+ // 100.00% inflict STUN/SLEEP/whatever
+ // Does not work on boss monsters
+ // (Maybe the one which makes next hit critical?)
+ // Was it SC_STONE?
+ break;
+ // Arrow pierce? (Maybe arrow shot disregarding defense, HARM_MISC ?)
+
+
+ case TMW2_RICHNESS:
+ // Passive, bonus2 bAddGetZenyNum, 5, 100; - Better not
+ break;
+ // TODO: Effect resisting passives?
+ // Windwalker... No wait.
+ // Immunity to knockback? Meeeeh. Easier to have a trait-giving quest.
+ // After all, we have about 20 traits and you can only pick 5.
+
+
+ // XXX: Sword skills are a 5-skills combo
+ // No cast time, but cooldown present
+ // DEF lowers as cast, damage based on combo.
+ case TMW2_HORIZONTALSLASH:
+ .@PW=100;
+ .@PW+=(5*@skillLv);
+ @SCombo=@skillTarget;
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ GetManaExp(@skillId, rand2(1,3));
+ break;
+ case TMW2_DIAGONALSLASH:
+ .@PW=100;
+ if (LAST_SKILL[0] == TMW2_HORIZONTALSLASH)
+ .@PW+=20;
+ if (.@PW >= 120)
+ .@PW+=30;
+ if (@SCombo != @skillTarget)
+ .@PW=100;
+ .@PW+=(5*@skillLv);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ GetManaExp(@skillId, rand2(1,3));
+ break;
+ case TMW2_VERTICALSLASH:
+ .@PW=100;
+ if (LAST_SKILL[0] == TMW2_DIAGONALSLASH)
+ .@PW+=30;
+ if (LAST_SKILL[1] == TMW2_HORIZONTALSLASH)
+ .@PW+=20;
+ if (.@PW >= 150)
+ .@PW+=100;
+ if (@SCombo != @skillTarget)
+ .@PW=100;
+ .@PW+=(5*@skillLv);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ GetManaExp(@skillId, rand2(1,3));
+ break;
+ case TMW2_STAB:
+ .@PW=100;
+ if (LAST_SKILL[0] == TMW2_VERTICALSLASH)
+ .@PW+=40;
+ if (LAST_SKILL[1] == TMW2_DIAGONALSLASH)
+ .@PW+=30;
+ if (LAST_SKILL[2] == TMW2_HORIZONTALSLASH)
+ .@PW+=20;
+ if (.@PW >= 190)
+ .@PW+=200;
+ if (@SCombo != @skillTarget)
+ .@PW=100;
+ .@PW+=(5*@skillLv);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ GetManaExp(@skillId, rand2(1,3));
+ break;
+ case TMW2_GRANDBLAST:
+ .@PW=100;
+ if (LAST_SKILL[0] == TMW2_STAB)
+ .@PW+=50;
+ if (LAST_SKILL[1] == TMW2_VERTICALSLASH)
+ .@PW+=40;
+ if (LAST_SKILL[2] == TMW2_DIAGONALSLASH)
+ .@PW+=30;
+ if (LAST_SKILL[3] == TMW2_HORIZONTALSLASH)
+ .@PW+=20;
+ if (.@PW >= 200)
+ .@PW+=300;
+ if (@SCombo != @skillTarget)
+ .@PW=100;
+ .@PW+=(5*@skillLv);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Holy);
+ GetManaExp(@skillId, rand2(2,3));
+ break;
+
+ */
+ ////////////////////////////////
+ // XXX: Physical Class (Regular)
+ case TMW2_FALKONSTRIKE:
+ .@PW=100+(25*@skillLv);
+ .@ST=0+(10*@skillLv);
+ .@TM=100+(90*@skillLv);
+ sc_start SC_STUN, .@TM, 1, .@ST, SCFLAG_NONE, @skillTarget;
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ GetManaExp(@skillId, rand2(1,3));
+ break;
+ case TMW2_GROUNDSTRIKE:
+ .@PW=50+(40*@skillLv);
+ .@dmg=AdjustAttackpower(.@PW);
+ .@RG=2+(@skillLv/5);
+ .@TM=100+(@skillLv*200);
+ .@ST=500+(100*@skillLv);
+ .@EF=any(SC_STUN, SC_BLIND, SC_BLOODING, SC_BLIND, SC_BLOODING);
+ areasc(.@RG, .@TM, .@EF, BL_MOB | BL_PC | BL_HOM | BL_MER, 1, "filter_hostile", @skillTarget, .@ST);
+ areaharm(@skillTarget, .@RG, .@dmg, HARM_PHYS, Ele_Neutral);
+ GetManaExp(@skillId, rand2(1,3));
+ break;
+ case TMW2_SUPREMEATTACK:
+ .@PW=100+(50*@skillLv);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ GetManaExp(@skillId, rand2(1,3));
+ break;
+ ////////////////////////////////
+ // XXX: Physical Class (Archery)
+ case TMW2_CHARGEDARROW:
+ .@PW=100+(50*@skillLv);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ GetManaExp(@skillId, rand2(1,3));
+ break;
+ case TMW2_ARROWSHOWER:
+ .@PW=150+(10*@skillLv);
+ .@dmg=AdjustAttackpower(.@PW);
+ .@RG=1+(@skillLv/3);
+ areaharm(@skillTarget, .@RG, .@dmg, HARM_PHYS, Ele_Neutral);
+ GetManaExp(@skillId, rand2(1,3));
+ break;
+ ////////////////////////////////
+ // XXX: Brawling Class
+ case TMW2_BRAWLING:
+ // 75x3 = 225
+ .@PW=70+(5*@skillLv);
+ // Using a shield, so power is halved
+ if (getequipid(EQI_HAND_L) > 0)
+ .@PW=.@PW/2;
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ sleep2(10);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ sleep2(10);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ break;
+ case TMW2_BEARSTRIKE:
+ // 60x5 = 300
+ .@PW=55+(5*@skillLv);
+ // Using a shield, so power is halved
+ if (getequipid(EQI_HAND_L) > 0)
+ .@PW=.@PW/2;
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ sleep2(10);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ sleep2(10);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ sleep2(10);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ sleep2(10);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ break;
+ case TMW2_ALLINONE:
+ // 45x8 = 360
+ .@PW=40+(5*@skillLv);
+ // Using a shield, so power is halved
+ if (getequipid(EQI_HAND_L) > 0)
+ .@PW=.@PW/2;
+ //harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Fire);
+ sleep2(10);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Water);
+ sleep2(10);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Earth);
+ sleep2(10);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Wind);
+ sleep2(10);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Holy);
+ sleep2(10);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Shadow);
+ sleep2(10);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Ghost);
+ sleep2(10);
+ // The main elemental-less blast hits all in same square,
+ // and also hits behind (and on your square)
+ rectharm(@skillTarget, 0, 1, AdjustAttackpower(.@PW/2), HARM_PHYS, Ele_Neutral); // FIXME: May not fire (properly) if target dies
+ break;
+ case TMW2_STUNNINGSTRIKE:
+ // 70x3 = 210
+ .@PW=65+(5*@skillLv);
+ .@TM=1600+(@skillLv*200);
+ // Using a shield, so power is halved
+ if (getequipid(EQI_HAND_L) > 0)
+ .@PW=.@PW/2;
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ sleep2(10);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ sleep2(10);
+ harm(@skillTarget, AdjustAttackpower(.@PW), HARM_PHYS, Ele_Neutral);
+ sc_start SC_STUN, .@TM, 1, 3333, SCFLAG_NONE, @skillTarget;
+ break;
+
+ ////////////////////////////////
+ // CLASS_OTHER
+ case TMW2_PARUM:
+ SK_parum();
+ break;
+ case TMW2_DEMURE:
+ SK_Demure();
+ break;
+ case TMW2_DRAGOKIN:
+ SK_Dragokin();
+ break;
+ // Summons which never fail
+ case TMW2_ZARKOR:
+ alignment_cansummon();
+ SummonMagic(@skillId, CaveMaggot, 2, @skillLv);
+ GetManaExp(@skillId, 1);
+ break;
+ // Summons which may fail
+ case TMW2_KALWULF:
+ SK_summon(Wolvern, 4, any(3,4));
+ break;
+ case TMW2_KALBOO:
+ SK_summon(Mouboo, 4, any(2,3));
+ break;
+ case TMW2_KALSPIKE:
+ SK_summon(PoisonSpikyMushroom, 4, any(2,3));
+ break;
+ case TMW2_CUTEHEART:
+ SK_summon(Fluffy, 4, any(2,3));
+ break;
+ // Slightly more complex summons
+ case TMW2_LIMERIZER:
+ SK_summon(any(GreenSlime,AzulSlime,RedSlime,AngryYellowSlime), 2, any(3,4));
+ break;
+ case TMW2_FAIRYKINGDOM:
+ SK_summon(any(FireFairy, EarthFairy, WaterFairy, WindFairy, PoisonFairy), 4, any(3,4));
+ break;
+ case TMW2_FAIRYEMPIRE:
+ SK_summon(any(VanityPixie, HolyPixie, ShadowPixie, NulityPixie), 5, any(4,5));
+ break;
+ // More complex summons
+ case TMW2_KALMURK:
+ .@mobId=Maggot;
+ if (abizit() > 4 &&
+ GHMEMO[GHQ_GetQuestIDByMonsterID(Maggot)] >= 10000 &&
+ MAGIC_LVL >= 3)
+ {
+ .@mobId=any(Maggot, Maggot, Maggot, Maggot, GiantMaggot);
+ }
+ SK_summon(.@mobId, (.@mobId == Maggot ? 2 : 4), any(1,2));
+ break;
+ case TMW2_HALHISS:
+ .@mobId=Snake;
+ if (abizit() > 3 &&
+ GHMEMO[GHQ_GetQuestIDByMonsterID(MountainSnake)] >= 10000 &&
+ rand2(1,3) == 2)
+ {
+ .@mobId=MountainSnake;
+ }
+ SK_summon(.@mobId, 4, any(3,4));
+ break;
+ case TMW2_FROZENHEART:
+ .@mobId=Moggun;
+ if (rand2(6,12) < (abizit()*2)+1)
+ {
+ .@mobId=Yeti;
+ }
+ SK_summon(.@mobId, 4, any(3,4));
+ break;
+ case TMW2_STONEHEART:
+ .@mobId=Terranite;
+ if (rand2(9,12) < (abizit()*2)+1 &&
+ BaseLevel > 80)
+ {
+ .@mobId=TerraniteProtector;
+ }
+ SK_summon(.@mobId, 4, any(4,5));
+ break;
+ case TMW2_DUCKY:
+ .@mobId=Duck;
+ .@q=getq(LilitQuest_PiratesOfSARAH);
+ if (!alignment_cansummon())
+ break;
+ if (abizit() > 4 &&
+ .@q > 2 &&
+ MAGIC_LVL >= 3)
+ {
+ // GHQ Complete: 33% chances
+ // Otherwise: 8% chances
+ if (GHMEMO[GHQ_GetQuestIDByMonsterID(Duck)] >= 10000)
+ .@mobId=any(Duck, Duck, EliteDuck);
+ else
+ .@mobId=any(Duck, Duck, Duck, Duck,
+ Duck, Duck, Duck, Duck,
+ Duck, Duck, Duck, EliteDuck);
+ }
+ SummonMagic(@skillId, .@mobId, 2);
+ GetManaExp(@skillId, 1);
+ break;
+
+ // Special exception
+ case TMW2_TRANSMIGRATION:
+ doevent("sk#mkpot::OnCall");
+ break;
+
+ // Experience only
+ case KN_AUTOCOUNTER:
+ case SN_SHARPSHOOTING:
+ case HW_MAGICPOWER:
+ case SM_PROVOKE:
+ case SN_WINDWALK:
+ case SO_FIREWALK:
+ case TF_BACKSLIDING:
+ case MG_FIREWALL:
+ case ALL_FULL_THROTTLE:
+ case GC_DARKILLUSION:
+ case NV_TRICKDEAD:
+ GetManaExp(@skillId, rand2(1,3));
+ break;
+ }
+
+ // Debug
+ if ($@GM_OVERRIDE)
+ debugmes "Cast skill %d on level %d - Target %d",
+ @skillId, @skillLv, @skillTarget;
+
+ // Cleanup (double-safe)
+ @skillTarget = 0;
+ return;
+
+}
+
+
+
+
+// When you kill a player, some special care is needed
+// Only a few maps will give you experience for PK: Tulimshar's Guards Arena,
+// Frostia Imperial PVP Arena, Call Of Dusty, Arena Quirino Voraz.
+// HUB_PvP ( ) - killedrid must be set
+function script HUB_PvP {
+ // Update global PK count
+ $PLAYERS_KILLED+=1;
+
+ // Prepare local variables
+ .@atk=get_BR(getcharid(3));
+ .@def=get_BR(killedrid);
+ .@honor=calc_HR(getcharid(3), killedrid);
+ .@bxp=max(readparam(BaseLevel, killedrid), .@def);
+ .@jxp=readparam(JobLevel, killedrid);
+ .@m$=getmap();
+ .@gm=getgroupid(killedrid);
+
+ // This is an official PVP Map
+ if (ispvpmap(.@m$)) {
+ // Honorable Death
+ if (.@honor >= 0) {
+ HONOR+=.@honor;
+ } else {
+ // Dishonorable... But... Legit?
+ if (is_bandit(killedrid) || getmap() == "001-8")
+ .@honor=1;
+ HONOR+=.@honor; // It's negative.
+ }
+
+ // PvP, and a GM was slain
+ if (.@gm >= 80) {
+ rentitem MurdererCrown, (86400*7); // 1 week
+ kamibroadcast(strcharinfo(0)+" killed Game Master \""+strcharinfo(0, "", killedrid)+"\", and now may wear a "+getitemlink(MurdererCrown)+" for a week.");
+ }
+
+ // It was a duel!
+ } else {
+ // Honorable Duel: HONOR +30%
+ if (.@honor > 0)
+ HONOR+=max(1, .@honor*3/10);
+ else if (.@honor < 0)
+ HONOR+=1;
+ // ^ Dishonorable duel, but was a duel!
+ }
+
+ // Report about honor
+ dispbottom l("%d vs %d: Honor (%d)", .@atk, .@def, .@honor);
+
+ // TODO: Start using readparam2() to read if the opponent was worthy
+ // That is, read total attack, defense, HP, evasion and hit chance
+ // And compare with your own readparam2(), then use a % and a table
+ // based on your (assassin's) level.
+ if (compare(.@m$, "001-8")) {
+ // Quirino Voraz PVP Arena
+ // You get 5 times killed player level, and 1 time job level
+ getexp .@bxp*5, .@jxp;
+ } else if (compare(.@m$, "ARENA") || compare(.@m$, "003-13")) {
+ // Tulimshar Duel Arena
+ // You get 3 times killed player level, and 2 times job level
+ getexp .@bxp*3, .@jxp*2;
+ } else if (compare(.@m$, "001-10")) {
+ // Call Of Dusty
+ // You get 3 times killed player level, and 3 times job level
+ getexp .@bxp*3, .@jxp*3;
+ } else if (compare(.@m$, "001-10-1")) {
+ // Call Of Dusty Boss Room
+ // You _may_ get a Bottled Dusty at random, but dead player status affect
+ if (.@def > .@atk/10) {
+ if (rand2(0,250) < readparam2(bLuk)+readparam2(bLuk, killedrid))
+ getitem BottledDust, any(1,1,2);
+ }
+ } else {
+ // Anywhere else
+ // You get 0.5 times killed player level, and 0 times job level
+ getexp (.@bxp/2), 0;
+ }
+ return;
+}
+
+
+
+// HUB_PCBonus ()
+function script HUB_PCBonus {
+ /* Rebirth Passives */
+ if (REBIRTH)
+ bonus bAllStats, REBIRTH;
+
+ /* Rebirth Traits */
+ if (PCBONUS & PCB_ATKBONUS) {
+ bonus bAtk, 25;
+ }
+ if (PCBONUS & PCB_MATKBONUS) {
+ bonus bMatk, 25;
+ }
+ if (PCBONUS & PCB_DEFBONUS) {
+ bonus bDef, 20;
+ }
+ if (PCBONUS & PCB_MDEFBONUS) {
+ bonus bMdef, 20;
+ }
+ if (PCBONUS & PCB_EVDBONUS) {
+ bonus bFlee, 20;
+ }
+ if (PCBONUS & PCB_HITBONUS) {
+ bonus bHit, 25;
+ }
+ if (PCBONUS & PCB_CRITBONUS) {
+ bonus bCritical, 5;
+ }
+ if (PCBONUS & PCB_DOUBLEATK) {
+ bonus bDoubleAddRate, 5;
+ }
+ if (PCBONUS & PCB_ALLSTATS) {
+ bonus bAllStats, 1;
+ }
+ if (PCBONUS & PCB_HPBONUS) {
+ bonus bMaxHP, 500;
+ }
+ if (PCBONUS & PCB_MPBONUS) {
+ bonus bMaxSP, 200;
+ }
+ if (PCBONUS & PCB_ASPDBONUS) {
+ bonus bAspd, 10;
+ }
+ if (PCBONUS & PCB_WSPDBONUS) {
+ bonus bSpeedAddRate, 5;
+ }
+ if (PCBONUS & PCB_WEIGHTBONUS) {
+ bonus bAddMaxWeight, 1000;
+ }
+ if (PCBONUS & PCB_EXPBONUS) {
+ bonus2 bExpAddRace, RC_All, 10;
+ }
+ if (PCBONUS & PCB_NOKNOCKBACK) {
+ bonus bNoKnockback, 1;
+ }
+ if (PCBONUS & PCB_SPLASHMASTER) {
+ bonus bSplashRange, 1;
+ }
+ if (PCBONUS & PCB_RANGEMASTER) {
+ bonus bAtkRange, 1;
+ }
+ if (Class != Savior && !(PCBONUS & PCB_LEGENDARY)) {
+ bonus2 bCriticalAddRace, RC_Legendary, -25;
+ bonus2 bSPDrainValueRace, RC_Legendary, -5;
+ bonus2 bAddRace, RC_Legendary, -40;
+ bonus2 bMagicAddRace, RC_Legendary, -20;
+ }
+ if (PCBONUS & PCB_LEGENDARY) {
+ bonus bDefRatioAtkRace, RC_Legendary;
+ }
+ /* Passive Skills */
+ bonus2 bSubRace, RC_Legendary, getskilllv(AL_DP)-10;
+ if (getq(LoFQuest_Barbara) >= 4 || getq(General_Narrator) >= 19)
+ bonus bMaxSP, 40;
+ if (getq(HalinarzoQuest_Speed) > 1)
+ bonus bSpeedAddRate, min(getq(HalinarzoQuest_Speed)-1, 10);
+
+ return;
+}
+
diff --git a/npc/functions/input.txt b/npc/functions/input.txt
new file mode 100644
index 0000000..0a510b7
--- /dev/null
+++ b/npc/functions/input.txt
@@ -0,0 +1,110 @@
+// Evol functions.
+// Author:
+// 4144
+// Jesusalva
+// Description:
+// Input utility functions
+// Variables:
+// none
+
+function script menuint {
+ deletearray .@vals;
+ .@menustr$ = "";
+ .@cnt = 0;
+
+ for (.@f = 0; .@f < getargcount(); .@f = .@f + 2)
+ {
+ if (getarg(.@f) != "")
+ {
+ .@menustr$ = .@menustr$ + getarg(.@f) + ":";
+ .@vals[.@cnt] = getarg(.@f + 1);
+ .@cnt ++;
+ }
+ }
+
+ .@vals[.@cnt] = -1;
+ @menu = 255;
+ @menuret = -1;
+ select(.@menustr$);
+ if (@menu == 255)
+ return -1;
+
+ @menu --;
+ if (@menu < 0 || @menu >= getarraysize(.@vals) - 1)
+ return -1;
+
+ @menuret = .@vals[@menu];
+ return @menuret;
+}
+
+function script menustr {
+ deletearray .@vals$;
+ .@menustr$ = "";
+ .@cnt = 0;
+
+ for (.@f = 0; .@f < getargcount(); .@f = .@f + 2)
+ {
+ if (getarg(.@f) != "")
+ {
+ .@menustr$ = .@menustr$ + getarg(.@f) + ":";
+ .@vals$[.@cnt] = getarg(.@f + 1);
+ .@cnt ++;
+ }
+ }
+
+ @menu = 255;
+ @menuret = -1;
+ select(.@menustr$);
+ if (@menu == 255)
+ return "";
+
+ @menu --;
+ if (@menu < 0 || @menu >= getarraysize(.@vals$))
+ return "";
+
+ @menuret$ = .@vals$[@menu];
+ return @menuret$;
+}
+
+// menuint2(<array>)
+function script menuint2 {
+ .@menustr$="";
+
+ if (!(getdatatype(getarg(0)) & DATATYPE_VAR))
+ Exception("Inadequate argument type - Must be var", RB_DEFAULT|RB_ISFATAL);
+
+ copyarray(.@ar$, getarg(0), getarraysize(getarg(0)));
+
+ if (getarraysize(.@ar$) % 2 != 0)
+ Exception("Invalid array size: "+getarraysize(.@ar$), RB_DEFAULT|RB_ISFATAL);
+
+ freeloop(true);
+ for (.@f=0; .@f < getarraysize(.@ar$); .@f++) {
+ // String vs Int
+ if (.@f % 2 == 0) {
+ .@menustr$+=.@ar$[.@f]+":";
+ } else {
+ array_push(.@vals, atoi(.@ar$[.@f]));
+ }
+ }
+ freeloop(false);
+
+ // Do the request
+ // We have: .@vals and .@menustr$
+ @menu = 255;
+ @menuret = -1;
+ select(.@menustr$);
+ //debugmes "Option %d", @menu;
+ //debugmes "Array size %d", getarraysize(.@vals);
+
+ if (@menu == 255)
+ return -1;
+
+ @menu-=1;
+ if (@menu < 0 || @menu > getarraysize(.@vals) - 1)
+ return -1;
+
+ @menuret = .@vals[@menu];
+ return @menuret;
+}
+
diff --git a/npc/functions/instances.txt b/npc/functions/instances.txt
new file mode 100644
index 0000000..ed11167
--- /dev/null
+++ b/npc/functions/instances.txt
@@ -0,0 +1,105 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Controls global instances and reset them when they break
+
+- script #GlobalInstanceCore NPC_HIDDEN,{
+OnInit:
+ .CANDOR_INSTID=-1;
+ end;
+
+OnInterIfInit:
+OnInstRestart:
+ /* Nard's Ship */
+ // Candor Instance (we do all tests for debugmes here)
+ .CANDOR_INSTID = instance_create("002-1@CandorInst", 0, IOT_NONE);
+ if (.CANDOR_INSTID < 0) {
+ Exception("CANDY Instance ID failed", RB_DEBUGMES|RB_IRCBROADCAST);
+ } else {
+ //debugmes("created new instance id: %s", str(.CANDOR_INSTID));
+ .CANDOR1$=instance_attachmap("002-1", .CANDOR_INSTID, 0, "002-1@Candor");
+ if (.CANDOR1$ == "") Exception("Map 002-1 CANDY failed", RB_DEBUGMES|RB_IRCBROADCAST);
+
+ .CANDOR3$=instance_attachmap("002-3", .CANDOR_INSTID, 0, "002-3@Candor");
+ if (.CANDOR3$ == "") Exception("Map 002-3 CANDY failed", RB_DEBUGMES|RB_IRCBROADCAST);
+
+ debugmes "Nard's Ship in Candor instance is set.";
+ instance_set_timeout(0, 0, .CANDOR_INSTID);
+ instance_init(.CANDOR_INSTID);
+ }
+
+ // Tulim Instance
+ .TULIM_INSTID = instance_create("002-1@TulimInst", 0, IOT_NONE);
+ instance_attachmap("002-1", .TULIM_INSTID, 0, "002-1@Tulim");
+ instance_attachmap("002-3", .TULIM_INSTID, 0, "002-3@Tulim");
+ instance_set_timeout(0, 0, .TULIM_INSTID);
+ instance_init(.TULIM_INSTID);
+
+ // Artis Instance
+ .ARTIS_INSTID = instance_create("002-1@ArtisInst", 0, IOT_NONE);
+ instance_attachmap("002-1", .ARTIS_INSTID, 0, "002-1@Artis");
+ instance_attachmap("002-3", .ARTIS_INSTID, 0, "002-3@Artis");
+ instance_set_timeout(0, 0, .ARTIS_INSTID);
+ instance_init(.ARTIS_INSTID);
+
+
+ /* La Marine's Ship */
+ // Tulim Instance
+ .TULIM_INSTID = instance_create("016-1@TulimInst", 0, IOT_NONE);
+ instance_attachmap("016-1", .TULIM_INSTID, 0, "016-1@Tulim");
+ instance_set_timeout(0, 0, .TULIM_INSTID);
+ instance_init(.TULIM_INSTID);
+
+ // Hurns Instance
+ .HURNS_INSTID = instance_create("016-1@HurnsInst", 0, IOT_NONE);
+ instance_attachmap("016-1", .HURNS_INSTID, 0, "016-1@Hurns");
+ instance_set_timeout(0, 0, .HURNS_INSTID);
+ instance_init(.HURNS_INSTID);
+
+ // Nivalis Instance
+ .NIVAL_INSTID = instance_create("016-1@NivalInst", 0, IOT_NONE);
+ instance_attachmap("016-1", .NIVAL_INSTID, 0, "016-1@Nival");
+ instance_set_timeout(0, 0, .NIVAL_INSTID);
+ instance_init(.NIVAL_INSTID);
+
+
+
+ /* Heroes Hold Main Dungeon */
+ $@HHMD_INSTID1 = instance_create("018-2-2@HHMD1", 0, IOT_NONE);
+ instance_attachmap("018-2-2", $@HHMD_INSTID1, 0, "018-2-2@No");
+ instance_set_timeout(0, 0, $@HHMD_INSTID1);
+ instance_init($@HHMD_INSTID1);
+
+ $@HHMD_INSTID2 = instance_create("018-2-3@HHMD2", 0, IOT_NONE);
+ instance_attachmap("018-2-3", $@HHMD_INSTID2, 0, "018-2-3@In");
+ instance_set_timeout(0, 0, $@HHMD_INSTID2);
+ instance_init($@HHMD_INSTID2);
+
+ $@HHMD_INSTID4 = instance_create("018-2-2@HHMD4", 0, IOT_NONE);
+ instance_attachmap("018-2-2", $@HHMD_INSTID4, 0, "018-2-2@Ad");
+ instance_set_timeout(0, 0, $@HHMD_INSTID4);
+ instance_init($@HHMD_INSTID4);
+
+ $@HHMD_INSTID8 = instance_create("018-2-3@HHMD8", 0, IOT_NONE);
+ instance_attachmap("018-2-3", $@HHMD_INSTID8, 0, "018-2-3@Ex");
+ instance_set_timeout(0, 0, $@HHMD_INSTID8);
+ instance_init($@HHMD_INSTID8);
+
+ $@HHMD_INSTID16 = instance_create("018-2-5@HHMD16", 0, IOT_NONE);
+ instance_attachmap("018-2-5", $@HHMD_INSTID16, 0, "018-2-5@Ma");
+ instance_set_timeout(0, 0, $@HHMD_INSTID16);
+ instance_init($@HHMD_INSTID16);
+
+ debugmes("The HHMD level IDs are: %d-%d-%d-%d-%d", $@HHMD_INSTID1, $@HHMD_INSTID2, $@HHMD_INSTID4, $@HHMD_INSTID8, $@HHMD_INSTID16);
+ donpcevent "#HH_CONTROLLER01::OnHHInit";
+ end;
+
+OnMinute18:
+OnMinute47:
+ if (!isinstance(.HURNS_INSTID) || !isinstance(.NIVAL_INSTID) || !isinstance($@HHMD_INSTID1))
+ donpcevent("#GlobalInstanceCore::OnInstRestart");
+ end;
+
+}
+
diff --git a/npc/functions/inventoryplace.txt b/npc/functions/inventoryplace.txt
new file mode 100644
index 0000000..76cdad2
--- /dev/null
+++ b/npc/functions/inventoryplace.txt
@@ -0,0 +1,36 @@
+// Evol functions.
+// Authors:
+// Qwerty Dragon
+// Reid
+// Description:
+// Check if the player have enough place on his inventory to accept new items with arguments:
+// getarg(even numbers) item ID,
+// getarg(odd numbers) number of items,
+
+function script inventoryplace {
+
+ .@argc = getargcount();
+
+ if (.@argc % 2 != 0)
+ {
+ Exception("inventoryplace: Wrong argument count.", RB_SPEECH|RB_ISFATAL|RB_PLEASEREPORT|RB_DEBUGMES);
+ }
+
+ for (.@i = .@j = 0; .@i < .@argc; .@i += 2)
+ {
+ setarray .@item[.@j], getarg(.@i);
+ setarray .@amount[.@j], getarg(.@i + 1);
+ ++.@j;
+ }
+
+ if (!checkweight2(.@item, .@amount))
+ {
+ narrator S_FIRST_BLANK_LINE,
+ l("It looks like you can't carry anything else for now."),
+ l("You should come back when you have some free space.");
+
+ close;
+ }
+
+ return true;
+}
diff --git a/npc/functions/lockpicks.txt b/npc/functions/lockpicks.txt
new file mode 100644
index 0000000..3a27d47
--- /dev/null
+++ b/npc/functions/lockpicks.txt
@@ -0,0 +1,176 @@
+// TMW2/LoF Script
+// Author:
+// Jesusalva
+// Description:
+// Lockpicking core
+
+// Important variables:
+// THIEF_EXP
+// Experience on Thief Tree
+// THIEF_RANK
+// Position on the Thief Tree
+
+// LockPicking(num_pins, max_pins, min_rank=num_pins)
+// Returns 0 upon failure, 1 upon success
+// Closes script if an error happen or if you give up / cannot try.
+//
+// The 'next' is upon script responsability
+// Maximum pin number is infinite. Maximum Pin Positiors range from 2~5.
+// If you fail, you can end up having to start again. If you fail too much,
+// you'll be caught!
+function script LockPicking {
+ // If you don't have a LockPick, you can't do this (useless)
+ if (!countitem(Lockpicks)) {
+ mesc l("You need a @@ to try this.", getitemlink(Lockpicks)), 1;
+ close;
+ }
+
+ .@d=getarg(0,1);
+ .@m=getarg(1,3);
+ .@minrank=getarg(2, .@d);
+
+ // Invalid Argument (kill script)
+ if (.@d < 1 || .@m < 2 || .@m > 5)
+ end;
+
+ // You must be rank (number of locks - 1) to try
+ if (THIEF_RANK+1 < .@minrank) {
+ mesc l("This lock is beyond your current capacity."), 1;
+ close;
+ }
+
+ // Create @pins array (the answer)
+ for (.@i=0; .@i < .@d;.@i++)
+ @pins[.@i] = rand2(1,.@m);
+
+ // Check if you'll try to open it.
+ mesc l("This lock is simple, maybe with your thief skills you can manage to pry it open. But beware, you can end up in jail!");
+ mesc l("Will you try to unlock it?");
+ if (askyesno() == ASK_NO)
+ close;
+
+ // Setup your attempt
+ delitem Lockpicks, 1;
+ @pos=0;
+ @chance=min(.@d*.@m-1, THIEF_RANK+.@d);
+ mesc l("You insert the hook pick inside the lock, and, without applying any tension, you discover there are only @@ pins to set.", .@d);
+
+ // You have as many attempts as pins and appliable strenghts.
+ // Each thief rank grants you an extra attempt.
+ // Each pin takes one attempt.
+ // It's not multiplied, so 3 pins with 3 positions: 6 chances, 9 possibilities.
+ // There's no penalty, but the attempt is counted working or not!
+ // Remember if you fail, all previous pins will be cleared (@pos)
+ do {
+ mesc l("You are trying to open the @@th pin. What will to do?", @pos+1);
+
+ menuint
+ rif(.@m >= 4, l("Apply no pressure")), 4,
+ rif(.@m >= 2, l("Apply soft pressure")), 2,
+ rif(.@m >= 1, l("Apply normal pressure")), 1,
+ rif(.@m >= 3, l("Apply strong pressure")), 3,
+ rif(.@m >= 5, l("Apply very strong pressure")), 5,
+ rif($@GM_OVERRIDE, "-- skip minigame --"), -1,
+ l("Give up!"), 0;
+
+ // Debug
+ if (@menuret < 0) {
+ if ($@GM_OVERRIDE)
+ return 1;
+ else
+ atcommand("@block "+strcharinfo(0)); // Unacceptable
+ }
+
+ if (!@menuret) {
+ // 25% chance to save the lockpick
+ if (rand2(1,4) == 2)
+ getitem Lockpicks, 1;
+ else
+ dispbottom l("The lockpick broke.");
+ close;
+ }
+
+ // Is your guess correct?
+ if (@pins[@pos] == @menuret) {
+ mesc l("*click*");
+ @pos+=1;
+ } else {
+ mesc l("This didn't work. All pins are now unset!");
+ @pos=0;
+ @chance-=1;
+ // We don't need to clear console, each successful attempt IS counted.
+ // Therefore, unsetting 3 pins means you must do 3 new attempts!!
+ // The biggie is that you're running against time, here!!!
+ if (@chance < .@d && rand2(0, THIEF_RANK))
+ mesc l("Your thief instincts suggest you to hurry."), 1;
+ }
+
+ if (@chance <= 0)
+ break;
+
+ if (@pos >= .@d) {
+ // 20% chance to save the lockpick
+ if (rand2(1,5) == 3)
+ getitem Lockpicks, 1;
+ else
+ dispbottom l("The lockpick broke.");
+
+ // Get EXP and inform the success
+ if (THIEF_RANK)
+ THIEF_EXP += max(0, .@d*.@m-THIEF_RANK);
+ return 1;
+ }
+ } while (true);
+
+ // Failed
+ if (THIEF_RANK)
+ THIEF_EXP += 1;
+ return 0;
+}
+
+// Script helper to say if you were arrested or not
+function script ArrestedChances {
+ .@runaway=limit(0, readparam2(bLuk)+readparam2(bAgi), 200); // 20%
+ .@runaway+=is_night()*125; // 12.5%
+ .@runaway+=limit(0, THIEF_RANK*15, 100); // real max 7.5%
+ // Max runaway chance: 40%
+ if (rand2(1000) < .@runaway)
+ return false;
+ return true;
+}
+
+// Main script
+// LootableVault(tier, level, variable)
+function script LootableVault {
+ .@tier=getarg(0)+1;
+ .@level=getarg(1);
+ .@var$=getarg(2);
+ mesn;
+ mesq l("There's a shiny safe here. How much money is inside? Nobody is looking at you, great!");
+ // 2*3 = 6 possibilities, 5 attempts
+ if (LockPicking(.@tier, .@level)) {
+ Zeny=Zeny+getd("$VAULT_"+.@var$);
+ setd("$VAULT_"+.@var$, 40);
+ mesn;
+ mesq l("Booty!");
+ } else {
+ mesn;
+ .@inch=(Zeny/100);
+ Zeny-=.@inch;
+ setd("$VAULT_"+.@var$, getd("$VAULT_"+.@var$)+.@inch);
+ if (ArrestedChances()) {
+ mesc l("Arrested!");
+ atcommand("@jailfor 5mn "+strcharinfo(0));
+ } else {
+ if (is_night())
+ .@p$=l("The darkness of night gives you cover.");
+ else
+ .@p$=l("Your agile legs and sheer luck allows you to outrun the cops.");
+ mesc l("You run as far as you could. %s", .@p$);
+ warp "000-1", 22, 22;
+ }
+ }
+ return;
+}
+
+
diff --git a/npc/functions/main.txt b/npc/functions/main.txt
new file mode 100644
index 0000000..a099916
--- /dev/null
+++ b/npc/functions/main.txt
@@ -0,0 +1,536 @@
+// TMW2 Script
+// Evol functions.
+// Authors:
+// 4144
+// Travolta
+// gumi
+// Jesusalva
+// Description:
+// Built-in essential functions.
+
+function script menuimage {
+ return getarg(0) + "|" + getarg(1);
+}
+
+function script dnext {
+ if (@dnext >= GSET_LONGMENU_DENSITY) {
+ @dnext=0;
+ next;
+ } else {
+ @dnext+=1;
+ }
+ return;
+}
+
+function script menuaction {
+ return "[" + getarg(0) + "]";
+}
+
+function script setq1 {
+ // Quest, val1 , val2 , val3 , time
+ setq getarg(0), getarg(1), getq2(getarg(0)), getq3(getarg(0)), getqtime(getarg(0));
+ return;
+}
+
+function script setq2 {
+ // Quest, val1 , val2 , val3 , time
+ setq getarg(0), getq(getarg(0)), getarg(1), getq3(getarg(0)), getqtime(getarg(0));
+ return;
+}
+
+function script setq3 {
+ // Quest, val1 , val2 , val3 , time
+ setq getarg(0), getq(getarg(0)), getq2(getarg(0)), getarg(1), getqtime(getarg(0));
+ return;
+}
+
+function script setqtime {
+ // Quest, val1 , val2 , val3 , time
+ setq getarg(0), getq(getarg(0)), getq2(getarg(0)), getq3(getarg(0)), getarg(1);
+ return;
+}
+
+function script mesn {
+ if (getargcount() > 0) {
+ .@s$ = "[" + getarg(0) + "]";
+ } else {
+ .@s$ = "[" + strnpcinfo(1) + "]";
+ }
+ mes .@s$;
+ return;
+}
+
+function script mesq {
+ mes "\"" + getarg(0)+ "\"";
+ return;
+}
+
+function script g {
+ return Sex == 0 ? getarg(0) : getarg(1);
+}
+
+function script b {
+ return "##B" + getarg(0) + "##b";
+}
+
+function script col {
+ .@color = getarg(1,9);
+ if (.@color < 0) .@color = 0;
+ if (.@color > 9) .@color = 9;
+ return "##" + .@color + getarg(0) + "##0";
+}
+
+function script adddefaultskills {
+ if (getskilllv(NV_BASIC) < 6) {
+ skill NV_BASIC, 6, 0;
+ }
+ if (getskilllv(TMW2_FAKESKILL) < 1) {
+ skill TMW2_FAKESKILL, 1, 0;
+ }
+ if (getskilllv(TMW2_FAKESKILL2) < 1) {
+ skill TMW2_FAKESKILL2, 1, 0;
+ }
+ if (getskilllv(TMW2_DROPS) < REBIRTH+1) {
+ skill TMW2_DROPS, (REBIRTH+1), 0;
+ }
+ return;
+}
+
+function script addremovemapmask {
+ setmapmask getarg(0), (getmapmask(getarg(0)) | (getarg(1) + getarg(2))) ^ getarg(2);
+ return;
+}
+
+function script mesc {
+ mes col(getarg(0),getarg(1,9));
+ return;
+}
+
+function script get_race {
+ .@g=getarg(0, Class);
+ return l($@allraces$[.@g]);
+}
+
+// tutmes (message, {header=Tutorial, headerfirst=True})
+function script tutmes {
+ .@header$=getarg(1, l("TUTORIAL"));
+ .@showheader=getarg(2, true);
+ .@tcol=9; // Tutorial color code
+
+ if (TUTORIAL) {
+ dnext;
+ if (.@showheader) {
+ mesf(".:: %s ::.", .@header$);
+ mesc getarg(0), .@tcol;
+ } else {
+ mesc .@header$+": "+getarg(0), .@tcol;
+ }
+ }
+ return;
+}
+
+// Function to show narrator text. Accepts string args.
+// If first arg is a number N, then it represents bit flags.
+// Bit flags :
+// 0x1 -- blank line at beginning
+// 0x2 -- blank line at the end
+// 0x4 -- use last "next;"
+// 0x8 -- don't use first "mesn;"
+function script narrator {
+ .@start = 0;
+ .@argc = getargcount();
+ .@flags = 0;
+
+ if (.@argc > 1 && !isstr(getarg(0)))
+ {
+ .@start = 1;
+ .@flags = getarg(0);
+ }
+
+ if (.@flags & 0x1)
+ mes "";
+
+ if (!(.@flags & 0x8))
+ mesn l("Narrator");
+
+ for (.@i = .@start; .@i < .@argc; .@i++)
+ {
+ if (getarg(.@i) == "") continue;
+
+ mes col(getarg(.@i), 9);
+ if (.@i < .@argc - 1)
+ dnext;
+ }
+
+ if (.@flags & 0x4)
+ dnext;
+ else if (.@flags & 0x2)
+ mes "";
+
+ return;
+}
+
+// Function to show NPC speech. Accepts string args.
+// If first arg is a number N, then it represents bit flags.
+// Bit flags :
+// 0x1 -- blank line at beginning
+// 0x2 -- blank line at the end
+// 0x4 -- use last "next;"
+// 0x8 -- don't use first "mesn;"
+function script speech {
+ .@start = 0;
+ .@argc = getargcount();
+ .@flags = 0;
+
+ if (.@argc > 1 && !isstr(getarg(0)))
+ {
+ .@start = 1;
+ .@flags = getarg(0);
+ }
+
+ if (.@flags & 0x1)
+ mes "";
+
+ if (!(.@flags & 0x8))
+ mesn;
+
+ for (.@i = .@start; .@i < .@argc; .@i++)
+ {
+ mesq getarg(.@i);
+
+ if (.@i < .@argc - 1)
+ dnext;
+ }
+
+ if (.@flags & 0x4)
+ dnext;
+ else if (.@flags & 0x2)
+ mes "";
+
+ return;
+}
+
+// Show debug message if .debug variable of NPC is set to 1
+function script npcdebug {
+ if (getvariableofnpc(.debug, strnpcinfo(3)))
+ debugmes strnpcinfo(3) + ": " + getarg(0);
+ return;
+}
+
+function script askyesno {
+ return select(menuaction(l("Yes")),
+ menuaction(l("No")));
+}
+
+// Argument:
+// 0 Quest variable
+// 1 Current value
+// 2 Next value
+function script compareandsetq {
+ if (getq(getarg(0)) == getarg(1))
+ {
+ setq getarg(0), getarg(2);
+ return true;
+ }
+ return false;
+}
+
+// Use a delay to prevent spams from NPC that display text without the
+// use of (a) close/next function(s).
+// Argument:
+// 0 Text to display
+// 1 Lock delay (default = 1)
+// 2 Message function: (default = 0)
+// 0 = npctalk3
+// 1 = npctalk
+// 2 = message
+// TODO: Use temp player var, because NPC var affect other players
+function script npctalkonce {
+ // lock mechanism
+ switch (getarg(2, 0))
+ {
+ case 1:
+ if (gettimetick(2) <= getvariableofnpc(.talk_lock, strnpcinfo(NPC_NAME_UNIQUE)))
+ return false;
+ set(getvariableofnpc(.talk_lock, strnpcinfo(NPC_NAME_UNIQUE)), gettimetick(2) + getarg(1, 1));
+ break;
+ default:
+ if (gettimetick(2) <= @NPC_TALK_LOCK[getnpcid()])
+ return false;
+ @NPC_TALK_LOCK[getnpcid()] = gettimetick(2) + getarg(1, 1);
+ }
+
+ // talk mechanism
+ switch (getarg(2, 0))
+ {
+ case 0: npctalk3(getarg(0)); break;
+ case 1: npctalk(getarg(0)); break;
+ case 2: message(strcharinfo(0), getarg(0));
+ }
+
+ return true;
+}
+
+// Randomizer functions
+/////////////////////////////////////////////
+
+// pseudo-fix randomness
+// rand2( min, max )
+function script rand2 {
+ if (getargcount() == 2) {
+ .@min=getarg(0)*100;
+ .@max=getarg(1)*100+99;
+ } else {
+ .@min=0;
+ .@max=getarg(0)*100-1;
+ }
+ return rand(.@min, .@max)/100;
+}
+
+// returns one argument randomly
+// any( <arg>{, ...<arg>} )
+function script any {
+ return getarg(rand2(getargcount()));
+}
+
+// returns any member of the array
+// any_of( <array> )
+function script any_of {
+ return getelementofarray(getarg(0), getarrayindex(getarg(0)) + rand2(getarraysize(getarg(0)) - getarrayindex(getarg(0))));
+}
+
+function script die {
+ if ($HARDCORE) {
+ @grace=true;
+ percentheal -100, -100;
+ //setparam(Hp, 1);
+ //warp "000-1", 22, 22;
+ //end; // MUST be end; to mimic official behavior
+ } else {
+ percentheal -100, -100;
+ }
+ return;
+}
+
+// TMW2 Custom Functions
+/////////////////////////////////////////////
+
+// Function meant to be used by Main Storyline Quest
+// msObjective ( condition , message )
+function script msObjective {
+ if (getarg(0))
+ mesc getarg(1), 2;
+ else
+ mesc getarg(1), 9;
+ return;
+}
+
+function script getmap {
+ if (getmapxy(.@mapName$, .@xpos, .@ypos, getarg(0,0)) != 0)
+ return false;
+ // TODO: Maybe use getmapname() instead of getmapxy?
+ return .@mapName$;
+}
+
+// Get unit BL from type
+// ( unittype )
+function script getunitbl {
+ switch (getarg(0)) {
+ case UNITTYPE_PC:
+ return BL_PC;
+ case UNITTYPE_NPC:
+ return BL_NPC;
+ case UNITTYPE_PET:
+ return BL_PET;
+ case UNITTYPE_MOB:
+ return BL_MOB;
+ case UNITTYPE_HOM:
+ return BL_HOM;
+ case UNITTYPE_MER:
+ return BL_MER;
+ case UNITTYPE_ELEM:
+ return BL_ELEM;
+ default:
+ consolewarn("Invalid unit type on getunitbl: %d", getarg(0));
+ return BL_ALL;
+ }
+ return 0;
+}
+
+// isin( map, x1, y1, {[x2, y2][radius]} )
+function script isin {
+ if (getmapxy(.@mapName$, .@xpos, .@ypos, 0) != 0)
+ return false;
+ if (.@mapName$ != getarg(0))
+ return false;
+
+ if (getarg(4,-1) < 0) {
+ // Radius Based
+ if (.@xpos >= getarg(1)-getarg(3) && .@xpos <= getarg(1)+getarg(3) && .@ypos >= getarg(2)-getarg(3) && .@ypos <= getarg(2)+getarg(3))
+ return true;
+ } else {
+ // Coordinate based
+ if (.@xpos >= getarg(1) && .@xpos <= getarg(3) && .@ypos >= getarg(2) && .@ypos <= getarg(4))
+ return true;
+ }
+ return false;
+}
+
+// isat( map, x, y )
+function script isat {
+ return isin(getarg(0), getarg(1), getarg(2), 0);
+}
+
+// Clear output of getinventorylist()
+// delinventorylist()
+function script delinventorylist {
+ deletearray @inventorylist_id;
+ deletearray @inventorylist_amount;
+ deletearray @inventorylist_equip;
+ deletearray @inventorylist_refine;
+ deletearray @inventorylist_identify;
+ deletearray @inventorylist_attribute;
+ deletearray @inventorylist_card1;
+ deletearray @inventorylist_card2;
+ deletearray @inventorylist_card3;
+ deletearray @inventorylist_card4;
+ deletearray @inventorylist_expire;
+ deletearray @inventorylist_bound;
+ @inventorylist_count=0;
+ return;
+}
+
+// Get some acc id, even if offline
+// ( Name )
+function script gf_accid {
+ .@nb = query_sql("SELECT `account_id` FROM `char` WHERE `name`='"+escape_sql(getarg(0))+"' LIMIT 1", .@value);
+ return .@value[0];
+}
+
+// Get some char id, even if offline
+// ( Name )
+function script gf_charnameid {
+ .@nb = query_sql("SELECT `char_id` FROM `char` WHERE `name`='"+escape_sql(getarg(0))+"' LIMIT 1", .@value);
+ return .@value[0];
+}
+
+// Get some char name from char ID, even if offline
+// ( Name )
+function script gf_charname {
+ .@nb = query_sql("SELECT `name` FROM `char` WHERE `char_id`="+escape_sql(getarg(0))+" LIMIT 1", .@value$);
+ return .@value$[0];
+}
+
+// Get some char ID from account ID, even if offline
+// ( Name )
+function script gf_charid {
+ .@nb = query_sql("SELECT `char_id` FROM `char` WHERE `account_id`="+escape_sql(getarg(0))+" LIMIT 1", .@value$);
+ return .@value$[0];
+}
+
+// Request pincode and validate it. Use any non-4-digits code to cancel. Failure will dc you.
+// Returns 1 if pin check is OK.
+function script validatepin {
+ if (#FIRST_TIME < 2) {
+ mesc l("ERROR: You must set a PinCode to make use of this function."), 1;
+ return 0;
+ }
+ mesc l("Please insert your pincode."), 1;
+ mesc l("WARNING: If you insert wrong pincode, you'll be disconnected.");
+ mesc l("Use @@ to cancel.", "##B-1##b");
+ mes "";
+ input .@pin$;
+ if (getstrlen(.@pin$) != 4)
+ return 0;
+ query_sql("SELECT userid FROM `login` WHERE account_id="+escape_sql(getcharid(3))+" AND pincode='"+escape_sql(.@pin$)+"' LIMIT 2", .@value$);
+ if (getarraysize(.@value$) != 1) {
+ atcommand "@kick "+strcharinfo(0);
+ return 0;
+ }
+ // Enforce some cooldown to prevent an eventual exploit/abuse
+ sleep2(rand2(150, 400));
+ mesc l("Thanks, @@. We just wanted to be sure it was you.", .@value$[0]);
+ mes "";
+ return true;
+}
+
+// Something went wrong and must be reported (named after raise Exception in python)
+// Exception( BugID, {Flags{, Return Code}} )
+function script Exception {
+ // Fill variable
+ .@msg$=getarg(0);
+ .@gf=getarg(1,RB_DEFAULT);
+
+ // Avoid self-errors
+ if (!playerattached()) {
+ if (.@gf & RB_DISPBOTTOM)
+ .@gf = .@gf ^ RB_DISPBOTTOM;
+ if (.@gf & RB_SPEECH)
+ .@gf = .@gf ^ RB_SPEECH;
+ }
+
+ // Main protocols
+ if (.@gf & RB_DISPBOTTOM)
+ dispbottom("ERROR: "+.@msg$);
+
+ if (.@gf & RB_DEBUGMES)
+ consolewarn(.@msg$);
+ //debugmes("[Warning] "+.@msg$);
+
+ if (.@gf & RB_SPEECH)
+ mesc("ERROR, REPORT ME! "+.@msg$, 1);
+
+ if (.@gf & RB_IRCBROADCAST)
+ channelmes("#world", "Error in script: "+.@msg$);
+
+ if (.@gf & RB_GLOBALANNOUNCE)
+ announce("Error in script: "+.@msg$, bc_all);
+
+ if (.@gf & RB_PLEASEREPORT) {
+ if (.@gf & RB_DISPBOTTOM)
+ dispbottom("Please take a screenshot and report this bug, explaining how it happened.");
+
+ if (.@gf & RB_SPEECH)
+ mesc("Please take a screenshot and report this bug, explaining how it happened."), 1;
+ }
+
+ if (.@gf & RB_ISFATAL) {
+ if (.@gf & RB_DISPBOTTOM)
+ dispbottom("This error is fatal, we stop execution.");
+
+ if (.@gf & RB_DEBUGMES)
+ consolebug("Previous warning was fatal, halting execution.");
+ //debugmes("[Error] The error is fatal.");
+
+ if (.@gf & RB_SPEECH) {
+ mesc l("This error is fatal, we stop execution."), 1;
+ close;
+ }
+ end;
+ }
+
+ return getarg(2, 0);
+
+}
+
+// Linking functions
+/////////////////////////////////////////////
+function script getquestlink {
+ return "[@@q" + getarg(0) + "|@@]";
+}
+
+function script getmonsterlink {
+ return "[@@m" + getarg(0) + "|@@]";
+}
+
+function script getpetlink {
+ return "[@@p" + getarg(0) + "|@@]";
+}
+
+function script getmercenarylink {
+ return "[@@M" + getarg(0) + "|@@]";
+}
+
+function script gethomunculuslink {
+ return "[@@h" + getarg(0) + "|@@]";
+}
diff --git a/npc/functions/marriage.txt b/npc/functions/marriage.txt
new file mode 100644
index 0000000..ad46505
--- /dev/null
+++ b/npc/functions/marriage.txt
@@ -0,0 +1,301 @@
+// TMW-2 Script
+// Evol functions.
+// Author:
+// 4144
+// Jesusalva
+// Description:
+// Functions for marriage
+
+// check is player is near marriage npc
+// args:
+// 0 - player name
+// returns:
+// true if player located near npc.
+function script marriagecheckname {
+ .@name$ = getarg(0);
+ if (.@name$ == "")
+ {
+ // no other registrand
+ return false;
+ }
+ .@id = getcharid(0, .@name$);
+ .@accoundId = getcharid(3, .@name$);
+ if (isloggedin(.@accoundId, .@id) == false)
+ {
+ // registrant not logged in
+ return false;
+ }
+ getmapxy(.@mapname$, .@x, .@y, 0, .@name$);
+ if (.@mapname$ != strnpcinfo(4))
+ {
+ // registrant on other map
+ return false;
+ }
+ if (distance(.@x, .@y, .x, .y) > .distance)
+ {
+ // registrant too far
+ return false;
+ }
+ return true;
+}
+
+// return player name registered with same gender like attached player
+function script getmarriageregistrant {
+ if (Sex)
+ {
+ .@name$ = getvariableofnpc(.maleName$, strnpcinfo(3));
+ }
+ else
+ {
+ .@name$ = getvariableofnpc(.femaleName$, strnpcinfo(3));
+ }
+ return .@name$;
+}
+
+// return registered marriage partner name
+function script getmarriagepartner {
+ if (Sex)
+ {
+ .@name$ = getvariableofnpc(.femaleName$, strnpcinfo(3));
+ }
+ else
+ {
+ .@name$ = getvariableofnpc(.maleName$, strnpcinfo(3));
+ }
+ if (marriagecheckname(.@name$))
+ return .@name$;
+ return "";
+}
+
+// register attached player as partner for marriage
+function script marriageregisterself {
+ if (Sex)
+ {
+ set getvariableofnpc(.maleName$, strnpcinfo(3)), strcharinfo(0);
+ set getvariableofnpc(.maleName_partner$, strnpcinfo(3)), "";
+ }
+ else
+ {
+ set getvariableofnpc(.femaleName$, strnpcinfo(3)), strcharinfo(0);
+ set getvariableofnpc(.femaleName_partner$, strnpcinfo(3)), "";
+ }
+ return;
+}
+
+// return player name what was accepted by partner
+function script getmarriagepartneraccepted {
+ if (Sex)
+ {
+ .@name$ = getvariableofnpc(.femaleName_partner$, strnpcinfo(3));
+ }
+ else
+ {
+ .@name$ = getvariableofnpc(.maleName_partner$, strnpcinfo(3));
+ }
+ return .@name$;
+}
+
+// return true if partner present near and partner accepted you
+function script ismarriagepartneraccepted {
+ .@partner$ = getmarriagepartner();
+ if (.@partner$ == "")
+ return false;
+ if (readparam(Sex, strcharinfo(0)) == readparam(Sex, .@partner$)) {
+ // Blame Jesusalva. I am sensing various other possible bugs. Let's play safe.
+ return false;
+ }
+ .@name$ = getmarriagepartneraccepted();
+ if (.@name$ == strcharinfo(0))
+ return true;
+ return false;
+}
+
+// accept for attached player his/her partner
+// args:
+// 0 - partner name
+function script marriageacceptpartner {
+ .@name$ = getarg(0);
+ if (Sex)
+ {
+ set getvariableofnpc(.maleName_partner$, strnpcinfo(3)), .@name$;
+ }
+ else
+ {
+ set getvariableofnpc(.femaleName_partner$, strnpcinfo(3)), .@name$;
+ }
+ return;
+}
+
+function script askmarry {
+ speech l("Do you want to marry @@?", getarg(0));
+ if (askyesno() == ASK_YES)
+ return true;
+ return false;
+}
+
+// start marriage registration process
+function script marriageregister {
+ .@partner$ = getmarriagepartner();
+ if (.@partner$ == "")
+ { // no partner registered
+ speech l("Ok I add your name... @@...", strcharinfo(0));
+ marriageregisterself();
+ next;
+ speech lg("Now wait for your partner, then talk to me again.");
+ npctalk l("@@ waits for their loved one.", strcharinfo(0));
+ close;
+ }
+ else
+ { // partner already registered
+ if (askmarry(.@partner$) == true)
+ {
+ marriageregisterself();
+ marriageacceptpartner(.@partner$);
+ npctalk3 l("@@ registered for marriage and accepted partner @@!", strcharinfo(0), .@partner$);
+ npctalk3 l("Waiting for @@...", .@partner$);
+ close;
+ }
+ else
+ {
+ close;
+ }
+ }
+ return;
+}
+
+// remove all marriage registations
+function script marriageclear {
+ set getvariableofnpc(.maleName$, strnpcinfo(3)), "";
+ set getvariableofnpc(.femaleName$, strnpcinfo(3)), "";
+ set getvariableofnpc(.maleName_partner$, strnpcinfo(3)), "";
+ set getvariableofnpc(.femaleName_partner$, strnpcinfo(3)), "";
+ return;
+}
+
+// do actual marriage
+function script domarriage {
+ .@name$ = strcharinfo(0);
+ .@partner$ = getarg(0);
+ if (marriage(.@partner$))
+ {
+ speech l("You got married to @@!", .@partner$);
+ mapannounce getmap(), l("@@ and @@ just got married!", .@name$, .@partner$), bc_map;
+ specialeffect 6;
+ }
+ else
+ {
+ speech l("Marriage failed.");
+ }
+ marriageclear();
+ return;
+}
+
+// marry main code
+function script marriagemarry {
+ .@registrant$ = getmarriageregistrant();
+ if (marriagecheckname(.@registrant$) == true)
+ {
+ if (.@registrant$ == strcharinfo(0))
+ {
+ if (ismarriagepartneraccepted())
+ {
+ .@partner$ = getmarriagepartner();
+ if (marriagecheckname(.@partner$) == false)
+ {
+ speech l("Partner not ready.");
+ }
+ else if (askmarry(.@partner$) == true)
+ {
+ domarriage(.@partner$);
+ }
+ }
+ else
+ {
+ speech l("You already registered. Waiting for your partner...");
+ }
+ }
+ else
+ {
+ speech l("Sorry, I'm busy with other registrations."),
+ l("Come after a little while.");
+ }
+ close;
+ }
+
+ speech l("What can I do for you?");
+ tutmes l("Marriage unlocks %s powers. The ring is sold in Tulimshar.", getitemlink(WeddingRing));
+ switch (select(l("I want to register for marriage."),
+ l("Nothing")))
+ {
+ case 1:
+ marriageregister;
+ break;
+ case 2:
+ break;
+ }
+ return;
+}
+
+// divorce main code
+function script marriagedivorce {
+ speech l("What can I do for you?");
+ switch (select(l("I want to divorce."),
+ l("Nothing")))
+ {
+ case 1:
+ speech lg("Are you sure? It costs 800 GP.");
+ if (askyesno() == ASK_YES) {
+ if (Zeny < 800)
+ return;
+ if (divorce()) {
+ Zeny=Zeny-800;
+ speech l("You are now divorced!");
+ npctalk l("@@ divorced!", strcharinfo(0));
+ }
+ else
+ {
+ speech l("Divorce error!");
+ }
+ }
+ break;
+ case 2:
+ break;
+ }
+ return;
+}
+
+// main function for marriage
+function script marriagemain {
+ if (Sex > 1)
+ {
+ speech l("Sorry, I can't help you. Go away!");
+ close;
+ }
+
+ if (getpartnerid() != 0)
+ { // have partner
+ marriagedivorce();
+ }
+ else
+ { // no partner
+ marriagemarry();
+ }
+
+ return;
+}
+
+// check registration list by timer
+function script marriagecheck {
+ .@name$ = getvariableofnpc(.maleName$, strnpcinfo(3));
+ if (.@name$ != "" && marriagecheckname(.@name) == false)
+ {
+ set getvariableofnpc(.maleName$, strnpcinfo(3)), "";
+ set getvariableofnpc(.maleName_partner$, strnpcinfo(3)), "";
+ }
+ .@name$ = getvariableofnpc(.femaleName$, strnpcinfo(3));
+ if (.@name$ != "" && marriagecheckname(.@name) == false)
+ {
+ set getvariableofnpc(.femaleName$, strnpcinfo(3)), "";
+ set getvariableofnpc(.femaleName_partner$, strnpcinfo(3)), "";
+ }
+}
diff --git a/npc/functions/math.txt b/npc/functions/math.txt
new file mode 100644
index 0000000..22cf881
--- /dev/null
+++ b/npc/functions/math.txt
@@ -0,0 +1,114 @@
+// Evol functions.
+// Authors:
+// 4144
+// Reid
+// Description:
+// Math functions
+
+
+// abs(<int>)
+// returns the absolute value of the passed integer
+
+function script abs {
+ .@n = getarg(0);
+ return .@n >= 0 ? .@n : -.@n;
+}
+
+
+
+// lognbaselvl({<multiplicator>{, <min value>}})
+// returns BaseLevel * logn (BaseLevel * alpha).
+
+function script lognbaselvl {
+ .@alpha = getarg(0, 1);
+ .@min = getarg(1, 1);
+ .@ret = 0;
+ .@pc_level = BaseLevel * .@alpha;
+
+ while (.@pc_level >>= 1)
+ {
+ ++.@ret;
+ }
+ .@ret *= BaseLevel;
+
+ if (.@ret <= .@min)
+ {
+ .@ret = .@min;
+ }
+
+ return .@ret;
+}
+
+// log2(<int>)
+// returns the log base 2 of the passed integer, up to 20 (2**20=1.048.576) (round down always)
+
+function script log2 {
+ .@v=abs(getarg(0));
+ .@ok=0;
+ .@i=0;
+ if (.@v < 1)
+ return -1;
+
+ freeloop(true);
+ while (!.@ok) {
+ // exact match
+ if (2**.@i == .@v) {
+ .@ok=1;
+ // inexact match, or limit exceeded
+ } else if (2**.@i >= .@v || .@i > 20) {
+ .@ok=1;
+ .@i-=1; // round down
+ // not yet
+ } else {
+ .@i+=1;
+ }
+ }
+ freeloop(false);
+
+ return .@i;
+}
+
+
+// result is: lower < target <= higher
+// is_between ( lower, higher, target)
+function script is_between {
+ .@val=getarg(2);
+ .@min=getarg(0);
+ .@max=getarg(1);
+ return (.@min < .@val && .@val <= .@max);
+}
+
+
+// result is: lower < target <= higher
+// is_between ( lower, target, higher)
+function script is_between2 {
+ .@min=getarg(0);
+ .@val=getarg(1);
+ .@max=getarg(2);
+ return (.@min < .@val && .@val <= .@max);
+}
+
+
+// forces the equation: lower <= target <= higher.
+// Note it still works if higher and target values are swapped.
+// limit ( lower, target, higher)
+function script limit {
+ return max(getarg(0), min(getarg(1), getarg(2)));
+}
+
+
+// result is the ponderate average.
+// ponderate_avg ( arg1, sub1, arg2, sub2)
+function script ponderate_avg {
+ .@a1=getarg(0);
+ .@s1=getarg(1);
+ .@a2=getarg(2);
+ .@s2=getarg(3);
+
+ .@h1=.@a1*.@s1;
+ .@h2=.@a2*.@s2;
+ .@dd=.@s1+.@s2;
+
+ return (.@h1+.@h2)/.@dd;
+}
+
diff --git a/npc/functions/maze.txt b/npc/functions/maze.txt
new file mode 100644
index 0000000..b5dbf55
--- /dev/null
+++ b/npc/functions/maze.txt
@@ -0,0 +1,554 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Controls map domain 030 and provide helpers. See constants;
+// Player Variables:
+// MAZE_ID → ID of the maze being used
+// MAZE_MAP$ → Map being used for the maze
+// MAZE_INST → Instance ID of the Maze
+
+/////////////////////////////////////////////////////////////////////////////////
+// CreateMaze(scope=IOT_CHAR{, size=MAZE_SIZE_S})
+// Creates the maze instances so they can be configured
+// But does not initializes anything.
+function script CreateMaze {
+ .@scope = getarg(0, IOT_CHAR);
+ .@size = getarg(1, MAZE_SIZE_S);
+
+ // Small mazes (30x30 average) (24 total)
+ if (.@size & MAZE_SIZE_S) {
+ .@p = getarraysize(.@ids);
+ setarray .@ids[.@p], 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24;
+ }
+ // Medium mazes (45x45 average) (15 total)
+ if (.@size & MAZE_SIZE_M) {
+ .@p = getarraysize(.@ids);
+ setarray .@ids[.@p], 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39;
+ }
+ // Great mazes (60x60 average) (20 total)
+ if (.@size & MAZE_SIZE_G) {
+ .@p = getarraysize(.@ids);
+ setarray .@ids[.@p], 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 59;
+ }
+ // Xtra mazes (75x75 average) (10 total)
+ if (.@size & MAZE_SIZE_X) {
+ .@p = getarraysize(.@ids);
+ setarray .@ids[.@p], 60, 61, 62, 63, 64, 65, 66, 67, 68, 69;
+ }
+ // Abs. mazes (90x90 average) (6 total)
+ if (.@size & MAZE_SIZE_A) {
+ .@p = getarraysize(.@ids);
+ setarray .@ids[.@p], 70, 71, 72, 73, 74, 75;
+ }
+
+ // Get a random maze, but it must not be repeated
+ do
+ {
+ .@r = any_of(.@ids);
+ if (MAZE_ID == .@r)
+ continue;
+ MAZE_ID = .@r;
+
+ .@MAZEMP$=sprintf("030-%02d", MAZE_ID);
+ MAZE_MAP$=sprintf("mz%02d@"+getcharid(0), MAZE_ID);
+
+ // Maze is not yet started
+ if (.@scope == IOT_CHAR) {
+ MAZE_INST = instance_create("Maze "+MAZE_ID+" "+getcharid(0), getcharid(3), IOT_CHAR);
+ // Failed
+ if (MAZE_INST < 0) {
+ consolebug("Instance \"%s\" already exists! (Error %d)", "Maze "+MAZE_ID+" "+getcharid(0), MAZE_INST);
+ continue; // Get a new maze
+ }
+ // Attach map
+ instance_attachmap(.@MAZEMP$, MAZE_INST, false, MAZE_MAP$);
+ } else {
+ consolebug("Scope %d not yet supported by maze system", .@scope);
+ return 0; // Exit early
+ }
+ } while (MAZE_INST < 0);
+ return MAZE_ID;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+// InitMaze(duration=2 hours, random_coords=yes, treasure=no)
+// Puts maze to work and send player there.
+// Exit must have been configured prior to the maze.
+function script InitMaze {
+ .@t = getarg(0, 7200);
+ instance_set_timeout(.@t, .@t, MAZE_INST);
+ instance_init(MAZE_INST);
+
+ // Find random, warpable coordinates
+ .@e=0; .@x=0; .@y=0;
+ if (getarg(1, true)) {
+ .@mx=getmapinfo(MAPINFO_SIZE_X, MAZE_MAP$)-20;
+ .@my=getmapinfo(MAPINFO_SIZE_Y, MAZE_MAP$)-20;
+ } else {
+ .@mx=40; // Wouldn't (30,30) be safer?
+ .@my=40;
+ }
+ do {
+ .@x = rand2(20, .@mx);
+ .@y = rand2(20, .@my);
+ .@e += 1;
+ if (.@e > 30) {
+ consolebug("Too many failures at Maze \"%s\"! Trying anyway!", MAZE_MAP$);
+ break;
+ }
+ } while (!checknpccell(MAZE_MAP$, .@x, .@y, cell_chkpass));
+
+ // Teleport the player
+ warp MAZE_MAP$, .@x, .@y;
+
+ // Add a random treasure chest if set to do so
+ if (getarg(2, false)) {
+ .@n$=instance_npcname(sprintf("#T_030-%02d", MAZE_ID), MAZE_INST);
+ .@mx=getmapinfo(MAPINFO_SIZE_X, MAZE_MAP$)-20;
+ .@my=getmapinfo(MAPINFO_SIZE_Y, MAZE_MAP$)-20;
+ do {
+ .@x = rand2(20, .@mx);
+ .@y = rand2(20, .@my);
+ .@e += 1;
+ if (.@e > 20)
+ break;
+ } while (!checknpccell(MAZE_MAP$, .@x, .@y, cell_chkpass));
+ movenpc(.@n$, .@x, .@y);
+ }
+ return true;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+// MazeMobs(level=BaseLevel, chests=yes, density_redux=10)
+// Puts monsters on the maze. Less density_redux is more mobs.
+function script MazeMobs {
+ .@mx=getmapinfo(MAPINFO_SIZE_X, MAZE_MAP$)-20;
+ .@my=getmapinfo(MAPINFO_SIZE_Y, MAZE_MAP$)-20;
+ .@tl=(20-.@mx)*(20-.@my) * 3 / 10; // Total tiles + collision guess
+ .@tl=.@tl / getarg(2, 10) + 1; // Monster density
+
+ /* *** Copied from 006-5/groata.txt & 018-2-2/main.txt! *** */
+ /* ********* Spawn monsters based on DTOWER_FLOOR ********* */
+ .@lv = getarg(0, BaseLevel);
+ .@mb[0] = MagicGoblin;
+ .@mb[1] = CaveMaggot;
+
+ // Artillery & Chests
+ // TODO: Mimics?
+ if (getarg(1, true)) {
+ if (.@lv > 10)
+ array_push(.@mb, BronzeChest);
+ if (.@lv > 15)
+ array_push(.@mb, BronzeMimic);
+ if (.@lv > 20)
+ array_push(.@mb, SmallMagicBif);
+ if (.@lv > 30)
+ array_push(.@mb, Bif);
+ if (.@lv > 45)
+ array_push(.@mb, SilverChest);
+ if (.@lv > 50)
+ array_push(.@mb, SilverMimic);
+ if (.@lv > 55)
+ array_push(.@mb, MagicBif);
+ if (.@lv > 75)
+ array_push(.@mb, GoldenChest);
+ if (.@lv > 80)
+ array_push(.@mb, GoldenMimic);
+ if (.@lv > 85)
+ array_push(.@mb, BigMagicBif);
+ if (.@lv > 105)
+ array_push(.@mb, PrismChest);
+ }
+ if (.@lv > 40)
+ array_push(.@mb, RobinBandit);
+ if (.@lv > 50)
+ array_push(.@mb, DustGatling);
+ if (.@lv > 60)
+ array_push(.@mb, DustRifle);
+ if (.@lv > 70)
+ array_push(.@mb, DustRevolver);
+ if (.@lv > 80)
+ array_push(.@mb, DustBoss);
+ if (.@lv > 90)
+ array_push(.@mb, GreatMoubooSlime);
+ if (.@lv > 100)
+ array_push(.@mb, Jhon);
+
+ // Monsters
+ if (is_between2(0, .@lv, 30)) {
+ array_push(.@mb, Piou);
+ array_push(.@mb, Piousse);
+ array_push(.@mb, Squirrel);
+ array_push(.@mb, ManaPiou);
+ array_push(.@mb, ForestPiou);
+ array_push(.@mb, RedButterfly);
+ array_push(.@mb, Maggot);
+ array_push(.@mb, CandorScorpion);
+ array_push(.@mb, HouseMaggot);
+ array_push(.@mb, LittleYellowSlime);
+ array_push(.@mb, Ratto);
+ array_push(.@mb, RudolphSlime);
+ array_push(.@mb, MoubooSlime);
+ array_push(.@mb, Croc);
+ array_push(.@mb, Scorpion);
+ array_push(.@mb, SmallFrog);
+ }
+ if (is_between2(10, .@lv, 40)) {
+ array_push(.@mb, BigFrog);
+ array_push(.@mb, Lavern);
+ array_push(.@mb, LittleRedSlime);
+ array_push(.@mb, ChocolateSlime);
+ array_push(.@mb, Blub);
+ array_push(.@mb, Duck);
+ array_push(.@mb, Bat);
+ array_push(.@mb, CaveMaggot);
+ array_push(.@mb, ManaGhost);
+ array_push(.@mb, ManaBug);
+ array_push(.@mb, Fluffy);
+ array_push(.@mb, FireGoblin);
+ array_push(.@mb, ViciousSquirrel);
+ array_push(.@mb, RedScorpion);
+ array_push(.@mb, WhiteSlime);
+ array_push(.@mb, AzulSlime);
+ array_push(.@mb, DesertLogHead);
+ }
+ if (is_between2(20, .@lv, 50)) {
+ array_push(.@mb, RedSlime);
+ array_push(.@mb, PoisonSpikyMushroom);
+ array_push(.@mb, DesertBandit);
+ array_push(.@mb, OceanCroc);
+ array_push(.@mb, ToppyBlub);
+ array_push(.@mb, Sarracenus);
+ array_push(.@mb, IceMaggot);
+ array_push(.@mb, VampireBat);
+ array_push(.@mb, Bandit);
+ array_push(.@mb, Pinkie);
+ array_push(.@mb, LivingPotato);
+ array_push(.@mb, Assassin);
+ array_push(.@mb, Skeleton);
+ }
+ if (is_between2(30, .@lv, 60)) {
+ array_push(.@mb, CaveSnake);
+ array_push(.@mb, GreenSlime);
+ array_push(.@mb, CopperSlime);
+ array_push(.@mb, YellowSlime);
+ array_push(.@mb, SantaSlime);
+ array_push(.@mb, LavaSlime);
+ array_push(.@mb, Bluepar);
+ array_push(.@mb, DeathCat);
+ array_push(.@mb, Moggun);
+ array_push(.@mb, SeaSlime);
+ array_push(.@mb, RedMushroom);
+ array_push(.@mb, Mouboo);
+ array_push(.@mb, LogHead);
+ array_push(.@mb, CandiedSlime);
+ array_push(.@mb, OldSnake);
+ array_push(.@mb, GrassSnake);
+ }
+ if (is_between2(40, .@lv, 70)) {
+ array_push(.@mb, GiantMaggot);
+ array_push(.@mb, IcedFluffy);
+ array_push(.@mb, Snake);
+ array_push(.@mb, BlackSlime);
+ array_push(.@mb, Tipiou);
+ array_push(.@mb, AlphaMouboo);
+ array_push(.@mb, Pollet);
+ array_push(.@mb, PiouKnight);
+ array_push(.@mb, Shrewboo);
+ }
+ if (is_between2(40, .@lv, 80)) {
+ array_push(.@mb, Wolvern);
+ array_push(.@mb, FireSkull);
+ array_push(.@mb, DarkLizard);
+ }
+ if (is_between2(50, .@lv, 90)) {
+ array_push(.@mb, ArmoredSkeleton);
+ array_push(.@mb, BlackScorpion);
+ array_push(.@mb, ElectroWorm);
+ array_push(.@mb, EarthFairy);
+ array_push(.@mb, FireFairy);
+ array_push(.@mb, WaterFairy);
+ array_push(.@mb, WindFairy);
+ array_push(.@mb, PoisonFairy);
+ array_push(.@mb, MountainSnake);
+ array_push(.@mb, HoodedNinja);
+ array_push(.@mb, ForestMushroom);
+ array_push(.@mb, GoldenScorpion);
+ }
+ if (is_between2(60, .@lv, 100)) {
+ array_push(.@mb, Yeti);
+ array_push(.@mb, FallenGuard1);
+ array_push(.@mb, GreenSlimeMother);
+ array_push(.@mb, SnowFlower);
+ array_push(.@mb, BlueSlimeMother);
+ array_push(.@mb, WickedMushroom);
+ array_push(.@mb, CopperSlimeMother);
+ array_push(.@mb, YellowSlimeMother);
+ array_push(.@mb, RedSlimeMother);
+ array_push(.@mb, ChocolateSlimeMother);
+ array_push(.@mb, WhiteSlimeMother);
+ array_push(.@mb, Archant);
+ array_push(.@mb, Scar);
+ }
+ if (is_between2(70, .@lv, 110)) {
+ array_push(.@mb, AzulSlimeMother);
+ array_push(.@mb, SeaSlimeMother);
+ array_push(.@mb, LavaSlimeMother);
+ array_push(.@mb, BlackSlimeMother);
+ array_push(.@mb, Crafty);
+ array_push(.@mb, Forain);
+ array_push(.@mb, GreenDragon);
+ array_push(.@mb, Michel);
+ array_push(.@mb, Troll);
+ }
+ if (is_between2(80, .@lv, 120)) {
+ array_push(.@mb, EliteDuck);
+ array_push(.@mb, AzulSkullSlime);
+ array_push(.@mb, Moonshroom);
+ array_push(.@mb, RedSkullSlime);
+ array_push(.@mb, Terranite);
+ array_push(.@mb, JackO);
+ array_push(.@mb, BlackMamba);
+ array_push(.@mb, GreenSkullSlime);
+ array_push(.@mb, BloodyMouboo);
+ array_push(.@mb, Centaur);
+ array_push(.@mb, GoboBear);
+ }
+ if (is_between2(90, .@lv, 130)) {
+ array_push(.@mb, CopperSkullSlime);
+ array_push(.@mb, LavaSkullSlime);
+ array_push(.@mb, BlackSkullSlime);
+ array_push(.@mb, GiantCaveMaggot);
+ array_push(.@mb, TerraniteProtector);
+ array_push(.@mb, VanityPixie);
+ array_push(.@mb, HolyPixie);
+ }
+ if (is_between2(100, .@lv, 140)) {
+ array_push(.@mb, ShadowPixie);
+ array_push(.@mb, NulityPixie);
+ array_push(.@mb, Reaper);
+ array_push(.@mb, NightmareDragon);
+ array_push(.@mb, Snail);
+ array_push(.@mb, WhirlyBird);
+ }
+ if (is_between2(110, .@lv, 150)) {
+ array_push(.@mb, PinkieSuseran);
+ array_push(.@mb, Mandragora);
+ array_push(.@mb, PinkieMaximus);
+ }
+ if (.@lv > 120) {
+ array_push(.@mb, Junglefowl);
+ array_push(.@mb, Tengu);
+ array_push(.@mb, Moubi);
+ }
+ if (.@lv > 130) {
+ array_push(.@mb, SuperiorShroom);
+ array_push(.@mb, Nutcracker);
+ array_push(.@mb, Golem);
+ }
+ if (.@lv > 140) {
+ array_push(.@mb, SiegeTower);
+ array_push(.@mb, GreenhornAbomination);
+ array_push(.@mb, ShadowTortuga);
+ array_push(.@mb, FireElement);
+ array_push(.@mb, WaterElement);
+ array_push(.@mb, EarthElement);
+ array_push(.@mb, WindElement);
+ }
+ if (.@lv > 150) {
+ array_push(.@mb, SacredWisp);
+ array_push(.@mb, EvilWisp);
+ array_push(.@mb, PanthomWisp);
+ array_push(.@mb, EpiphanyWisp);
+ }
+ if (.@lv > 175)
+ array_push(.@mb, Tortuga);
+
+ /* Spawn them and make hostile */
+ freeloop(true);
+ for (.@i = 0; .@i < 1+(.@tl); .@i++) {
+ .@mid = any_of(.@mb);
+ .@m=areamonster(MAZE_MAP$, 20, 20, .@mx, .@my, strmobinfo(1, .@mid), .@mid, 1);
+ set_aggro(.@m);
+ }
+ freeloop(false);
+ return;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+// RenewMaze(duration=2 hours)
+// Renews the map expiration time
+function script RenewMaze {
+ .@t = getarg(0, 7200);
+ instance_set_timeout(.@t, .@t, MAZE_INST);
+ return true;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+// Configure maze maps as MMO zones
+030-01 mapflag zone MMO
+030-02 mapflag zone MMO
+030-03 mapflag zone MMO
+030-04 mapflag zone MMO
+030-05 mapflag zone MMO
+030-06 mapflag zone MMO
+030-07 mapflag zone MMO
+030-08 mapflag zone MMO
+030-09 mapflag zone MMO
+030-10 mapflag zone MMO
+030-11 mapflag zone MMO
+030-12 mapflag zone MMO
+030-13 mapflag zone MMO
+030-14 mapflag zone MMO
+030-15 mapflag zone MMO
+030-16 mapflag zone MMO
+030-17 mapflag zone MMO
+030-18 mapflag zone MMO
+030-19 mapflag zone MMO
+030-20 mapflag zone MMO
+030-21 mapflag zone MMO
+030-22 mapflag zone MMO
+030-23 mapflag zone MMO
+030-24 mapflag zone MMO
+030-25 mapflag zone MMO
+030-26 mapflag zone MMO
+030-27 mapflag zone MMO
+030-28 mapflag zone MMO
+030-29 mapflag zone MMO
+030-30 mapflag zone MMO
+030-31 mapflag zone MMO
+030-32 mapflag zone MMO
+030-33 mapflag zone MMO
+030-34 mapflag zone MMO
+030-35 mapflag zone MMO
+030-36 mapflag zone MMO
+030-37 mapflag zone MMO
+030-38 mapflag zone MMO
+030-39 mapflag zone MMO
+030-40 mapflag zone MMO
+030-41 mapflag zone MMO
+030-42 mapflag zone MMO
+030-43 mapflag zone MMO
+030-44 mapflag zone MMO
+030-45 mapflag zone MMO
+030-46 mapflag zone MMO
+030-47 mapflag zone MMO
+030-48 mapflag zone MMO
+030-49 mapflag zone MMO
+030-50 mapflag zone MMO
+030-51 mapflag zone MMO
+030-52 mapflag zone MMO
+030-53 mapflag zone MMO
+030-54 mapflag zone MMO
+030-55 mapflag zone MMO
+030-56 mapflag zone MMO
+030-57 mapflag zone MMO
+030-58 mapflag zone MMO
+030-59 mapflag zone MMO
+030-60 mapflag zone MMO
+030-61 mapflag zone MMO
+030-62 mapflag zone MMO
+030-63 mapflag zone MMO
+030-64 mapflag zone MMO
+030-65 mapflag zone MMO
+030-66 mapflag zone MMO
+030-67 mapflag zone MMO
+030-68 mapflag zone MMO
+030-69 mapflag zone MMO
+030-70 mapflag zone MMO
+030-71 mapflag zone MMO
+030-72 mapflag zone MMO
+030-73 mapflag zone MMO
+030-74 mapflag zone MMO
+030-75 mapflag zone MMO
+
+/////////////////////////////////////////////////////////////////////////////////
+// Add Treasure chests
+030-01,0,0,0 script #T_030-01 NPC_CHEST,{
+ if (!reachable(.x, .y, 3)) end;
+ callfunc "TreasureBox", 150; // 1.5% extra chance
+ specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
+ close;
+OnInit:
+ .distance=3;
+ end;
+}
+
+030-02,0,0,0 duplicate(#T_030-01) #T_030-02 NPC_CHEST
+030-03,0,0,0 duplicate(#T_030-01) #T_030-03 NPC_CHEST
+030-04,0,0,0 duplicate(#T_030-01) #T_030-04 NPC_CHEST
+030-05,0,0,0 duplicate(#T_030-01) #T_030-05 NPC_CHEST
+030-06,0,0,0 duplicate(#T_030-01) #T_030-06 NPC_CHEST
+030-07,0,0,0 duplicate(#T_030-01) #T_030-07 NPC_CHEST
+030-08,0,0,0 duplicate(#T_030-01) #T_030-08 NPC_CHEST
+030-09,0,0,0 duplicate(#T_030-01) #T_030-09 NPC_CHEST
+030-10,0,0,0 duplicate(#T_030-01) #T_030-10 NPC_CHEST
+030-11,0,0,0 duplicate(#T_030-01) #T_030-11 NPC_CHEST
+030-12,0,0,0 duplicate(#T_030-01) #T_030-12 NPC_CHEST
+030-13,0,0,0 duplicate(#T_030-01) #T_030-13 NPC_CHEST
+030-14,0,0,0 duplicate(#T_030-01) #T_030-14 NPC_CHEST
+030-15,0,0,0 duplicate(#T_030-01) #T_030-15 NPC_CHEST
+030-16,0,0,0 duplicate(#T_030-01) #T_030-16 NPC_CHEST
+030-17,0,0,0 duplicate(#T_030-01) #T_030-17 NPC_CHEST
+030-18,0,0,0 duplicate(#T_030-01) #T_030-18 NPC_CHEST
+030-19,0,0,0 duplicate(#T_030-01) #T_030-19 NPC_CHEST
+030-20,0,0,0 duplicate(#T_030-01) #T_030-20 NPC_CHEST
+030-21,0,0,0 duplicate(#T_030-01) #T_030-21 NPC_CHEST
+030-22,0,0,0 duplicate(#T_030-01) #T_030-22 NPC_CHEST
+030-23,0,0,0 duplicate(#T_030-01) #T_030-23 NPC_CHEST
+030-24,0,0,0 duplicate(#T_030-01) #T_030-24 NPC_CHEST
+030-25,0,0,0 duplicate(#T_030-01) #T_030-25 NPC_CHEST
+030-26,0,0,0 duplicate(#T_030-01) #T_030-26 NPC_CHEST
+030-27,0,0,0 duplicate(#T_030-01) #T_030-27 NPC_CHEST
+030-28,0,0,0 duplicate(#T_030-01) #T_030-28 NPC_CHEST
+030-29,0,0,0 duplicate(#T_030-01) #T_030-29 NPC_CHEST
+030-30,0,0,0 duplicate(#T_030-01) #T_030-30 NPC_CHEST
+030-31,0,0,0 duplicate(#T_030-01) #T_030-31 NPC_CHEST
+030-32,0,0,0 duplicate(#T_030-01) #T_030-32 NPC_CHEST
+030-33,0,0,0 duplicate(#T_030-01) #T_030-33 NPC_CHEST
+030-34,0,0,0 duplicate(#T_030-01) #T_030-34 NPC_CHEST
+030-35,0,0,0 duplicate(#T_030-01) #T_030-35 NPC_CHEST
+030-36,0,0,0 duplicate(#T_030-01) #T_030-36 NPC_CHEST
+030-37,0,0,0 duplicate(#T_030-01) #T_030-37 NPC_CHEST
+030-38,0,0,0 duplicate(#T_030-01) #T_030-38 NPC_CHEST
+030-39,0,0,0 duplicate(#T_030-01) #T_030-39 NPC_CHEST
+030-40,0,0,0 duplicate(#T_030-01) #T_030-40 NPC_CHEST
+030-41,0,0,0 duplicate(#T_030-01) #T_030-41 NPC_CHEST
+030-42,0,0,0 duplicate(#T_030-01) #T_030-42 NPC_CHEST
+030-43,0,0,0 duplicate(#T_030-01) #T_030-43 NPC_CHEST
+030-44,0,0,0 duplicate(#T_030-01) #T_030-44 NPC_CHEST
+030-45,0,0,0 duplicate(#T_030-01) #T_030-45 NPC_CHEST
+030-46,0,0,0 duplicate(#T_030-01) #T_030-46 NPC_CHEST
+030-47,0,0,0 duplicate(#T_030-01) #T_030-47 NPC_CHEST
+030-48,0,0,0 duplicate(#T_030-01) #T_030-48 NPC_CHEST
+030-49,0,0,0 duplicate(#T_030-01) #T_030-49 NPC_CHEST
+030-50,0,0,0 duplicate(#T_030-01) #T_030-50 NPC_CHEST
+030-51,0,0,0 duplicate(#T_030-01) #T_030-51 NPC_CHEST
+030-52,0,0,0 duplicate(#T_030-01) #T_030-52 NPC_CHEST
+030-53,0,0,0 duplicate(#T_030-01) #T_030-53 NPC_CHEST
+030-54,0,0,0 duplicate(#T_030-01) #T_030-54 NPC_CHEST
+030-55,0,0,0 duplicate(#T_030-01) #T_030-55 NPC_CHEST
+030-56,0,0,0 duplicate(#T_030-01) #T_030-56 NPC_CHEST
+030-57,0,0,0 duplicate(#T_030-01) #T_030-57 NPC_CHEST
+030-58,0,0,0 duplicate(#T_030-01) #T_030-58 NPC_CHEST
+030-59,0,0,0 duplicate(#T_030-01) #T_030-59 NPC_CHEST
+030-60,0,0,0 duplicate(#T_030-01) #T_030-60 NPC_CHEST
+030-61,0,0,0 duplicate(#T_030-01) #T_030-61 NPC_CHEST
+030-62,0,0,0 duplicate(#T_030-01) #T_030-62 NPC_CHEST
+030-63,0,0,0 duplicate(#T_030-01) #T_030-63 NPC_CHEST
+030-64,0,0,0 duplicate(#T_030-01) #T_030-64 NPC_CHEST
+030-65,0,0,0 duplicate(#T_030-01) #T_030-65 NPC_CHEST
+030-66,0,0,0 duplicate(#T_030-01) #T_030-66 NPC_CHEST
+030-67,0,0,0 duplicate(#T_030-01) #T_030-67 NPC_CHEST
+030-68,0,0,0 duplicate(#T_030-01) #T_030-68 NPC_CHEST
+030-69,0,0,0 duplicate(#T_030-01) #T_030-69 NPC_CHEST
+030-70,0,0,0 duplicate(#T_030-01) #T_030-70 NPC_CHEST
+030-71,0,0,0 duplicate(#T_030-01) #T_030-71 NPC_CHEST
+030-72,0,0,0 duplicate(#T_030-01) #T_030-72 NPC_CHEST
+030-73,0,0,0 duplicate(#T_030-01) #T_030-73 NPC_CHEST
+030-74,0,0,0 duplicate(#T_030-01) #T_030-74 NPC_CHEST
+030-75,0,0,0 duplicate(#T_030-01) #T_030-75 NPC_CHEST
+
diff --git a/npc/functions/mkbot.txt b/npc/functions/mkbot.txt
new file mode 100644
index 0000000..f396d82
--- /dev/null
+++ b/npc/functions/mkbot.txt
@@ -0,0 +1,259 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// GM Bot for the Monster King.
+// VARIABLES
+// $GAME_STORYLINE - Current Storyline status
+// $@MK - Monster King Game ID
+// $@MK_SCENE - Current event being handled by the Monster King
+// $MK_TEMPVAR - Temporary Variable
+// $@MK_THROTTLE - Event Throttler
+//
+// Storyline statuses:
+// 0 - The Monster King is inactive (leading sieges to Hurnscald and Nivalis)
+// 1 - The Monster King is known by players and is giving them a month break
+// 2 - The Monster King is currently sieging towns at random
+// 3 - The Monster King is preparing to perfom the Rite and Lightbringer seeks
+// a wielder
+// 4 - The Rite is CONCLUDED. Players must walk to MK evil lair and fight.
+// 5 - The Monster King is dead. Or something. Depends on players.
+//
+// $MK_TEMPVAR meaning depends on GAME STORYLINE
+// GS 0
+// Ignored
+// GS 1
+// Tracks the day since 1970 when the town was cleared. A month break.
+// GS 2
+// Player score (1pt per Lieutenant, 10pts per Colonel)
+// Affects the end of Game Story 2 and begin of Game Story 3
+// Because we must wait players...
+// GS 3
+// Number of successful Fortress Town breaches
+// GS 4
+// Inheirs stage 3
+
+000-0,0,0,0 script Monster King NPC_HIDDEN,{
+OnSlaveDie:
+ end;
+OnBourneAgain:
+ // Reset aggro
+ $@MK_AGGRO=0;
+ if (playerattached()) {
+ channelmes("#world", strcharinfo(0)+" did an act worth of notice.");
+ dispbottom l("Oh well, this sucks, but that was only an illusion.");
+ dispbottom l("The real Monster King is probably on his fortress. It'll take more than that to take him down.");
+ if ($REBIRTH_WINNER$ == "" && TOP3AVERAGELVL() < 100)
+ getexp min(641500, BaseLevel**3), 0;
+ else
+ Mobpt+=max(13500, rand2(10000, BaseLevel*90));
+ Mobpt = Mobpt + 165;
+ //$MOST_HEROIC$=strcharinfo(0);
+ specialeffect(FX_FANFARE, AREA, getcharid(3));
+ }
+ // We need to start over
+ .bar=true;
+OnInit:
+ $@MK=monster("boss", 45, 45, "The Monster King", MonsterKing, 1, "Monster King::OnBourneAgain");
+
+ if (!.bar) {
+ // Variables which other NPCs must take in account
+ $@MK_AGGRO=0;
+ $@MK_SCENE=0;
+ } else {
+ .bar=false;
+ }
+
+ // Variables only for this NPC
+ .users=getusers(1);
+ .nearby=getusers(8);
+ .mp$="boss";
+ .aid=200000;
+ .cid=150002;
+ // Constants
+
+ // We should jump straight to loop (it runs every 90 seconds)
+OnTimer90000:
+ // Regenerate some data, and kill spurious mobs
+ .users=getusers(1);
+ if (mobcount(.mp$, "Monster King::OnSlaveDie")) {
+ announce ("Monster King: Noobs, you are all a bunch of noobs!"), bc_map|bc_npc;
+ killmonster(.mp$, "Monster King::OnSlaveDie");
+ }
+
+ // We are on an event, so skip this loop
+ if ($@MK_SCENE || $@GM_EVENT) {
+ initnpctimer;
+ end;
+ }
+
+ // The Monster King is online. This loop is not needed
+ if (isloggedin(.aid, .cid)) {
+ if (!$@MK_SCENE)
+ unitwarp($@MK, "boss", 45, 45);
+ else
+ rodex_sendmail(.cid, "MKBot", "Running Event", "An event is currently running by the MK Bot. Please logout and suppress it.");
+ initnpctimer;
+ }
+
+ // Raise aggro (1 pt per 2 users)
+ $@MK_AGGRO+=(.users/2);
+
+ // Mana Stone
+ if (.mp$ == "011-1")
+ enablenpc "Mana Stone";
+
+ // The Monster King will not move anymore because story
+ if ($GAME_STORYLINE == 0 ||
+ $GAME_STORYLINE >= 5) {
+ if (.mp$ != "boss")
+ unitwarp($@MK, "boss", 45, 45);
+ initnpctimer;
+ end;
+ }
+
+ // Select a random map. Never shows up at Candor and cities, nor indoors. Not all maps either.
+ setarray .@m$, "boss", "boss", "001-1", "001-3", "001-4", "001-5", "001-6", "001-7", "001-10",
+ "003-1", "003-1-3", "004-1", "004-2", "007-1", "009-1", "010-1", "010-1-1", "010-2", "011-1",
+ "012-1", "014-1", "014-2", "014-3", "014-4", "014-5", "015-1", "015-2", "015-3", "015-5",
+ "018-1-1", "018-2", "018-3", "018-4", "018-4-1",
+ "019-1", "019-2", "019-4", "020-1", "021-1", "022-1", "023-1";
+ .mp$=any_of(.@m$);
+
+ // Try to warp randomly, up to 30 attempts
+ .@e=0; .@x=0; .@y=0;
+ .@mx=getmapinfo(MAPINFO_SIZE_X, .mp$)-20;
+ .@my=getmapinfo(MAPINFO_SIZE_Y, .mp$)-20;
+ do {
+ if (.@e >= 30) {
+ .mp$="boss";
+ .@x=45;
+ .@y=45;
+ break;
+ }
+ .@x = rand2(20, .@mx);
+ .@y = rand2(20, .@my);
+ .@e+=1;
+ } while (!checknpccell(.mp$, .@x, .@y, cell_chkpass));
+ if (!checknpccell(.mp$, .@x, .@y, cell_chkpass)) {
+ Exception("mk.bot runtime error: GM_ERR_128 highlight @Jesusalva", RB_DEBUGMES|RB_IRCBROADCAST); .mp$="boss"; .@x=45; .@y=45;
+ }
+
+ // Monster King will not warp around for sightseeing if he is threatened
+ if ($GAME_STORYLINE > 2 && $@MK_AGGRO < 150) {
+ .mp$="boss";.@x=45;.@y=45;
+ }
+
+ unitwarp($@MK, .mp$, .@x, .@y);
+ sleep(50); // For some reason or other, adding sleep(norid) and sleep2(rid).
+ .nearby=getusers(8);
+
+ // Handle Mana Stone
+ if (.mp$ == "011-1")
+ disablenpc "Mana Stone";
+
+ // Debug markers
+ if ($@GM_OVERRIDE)
+ debugmes "Monster King (bot): "+.mp$+" ("+.@x+", "+.@y+")";
+
+ // If too few players are online, we don't need an event AT ALL!
+ if (.users < rand2(2,4)) {
+ initnpctimer;
+ end;
+ }
+
+ // Siege events (req. 300 aggro, 3 users, and 70% chances to begin)
+ if ($@MK_AGGRO >= ($GAME_STORYLINE == 2 ? 300 : 900) && .users >= 3 && rand2(0,100) < 70 &&
+ is_between(1, 4, $GAME_STORYLINE) && $@MK_THROTTLE < gettimetick(2) &&
+ $@MK_TRIGGERED){
+ // Delta handles the compulsory wait time between waves.
+ // 7 hours normally, 24 hours if the army is in disarray.
+ .@delta=7;
+ $@SIEGE_ABORTED = false;
+ if ($GAME_STORYLINE >= 3)
+ .@delta=24;
+ // Tulimshar
+ if (compare(.mp$, "003-")) {
+ announce ("Monster King: I smell humans! Humans must die!"), bc_map|bc_npc;
+ $@MK_THROTTLE=gettimetick(2)+.@delta*60*60;
+ $@MK_SCENE=MK_SIEGE_TULIM;
+ donpcevent("Lieutenant Dausen::OnMKSiege");
+ }
+ // Halinarzo
+ else if (compare(.mp$, "009-")) {
+ announce ("Monster King: I smell humans! Humans must die!"), bc_map|bc_npc;
+ $@MK_THROTTLE=gettimetick(2)+.@delta*60*60;
+ $@MK_SCENE=MK_SIEGE_HALIN;
+ donpcevent("Lieutenant Jacob::OnMKSiege");
+ }
+ // Hurnscald
+ else if (compare(.mp$, "012-")) {
+ announce ("Monster King: I smell humans! Humans must die!"), bc_map|bc_npc;
+ $@MK_THROTTLE=gettimetick(2)+.@delta*60*60;
+ $@MK_SCENE=MK_SIEGE_HURNS;
+ donpcevent("#HurnscaldSiege::OnMKSiege");
+ }
+ // Nivalis
+ else if (compare(.mp$, "020-")) {
+ announce ("Monster King: I smell humans! Humans must die!"), bc_map|bc_npc;
+ $@MK_THROTTLE=gettimetick(2)+.@delta*60*60;
+ $@MK_SCENE=MK_SIEGE_NIVAL;
+ donpcevent("Lieutenant Joshua::OnMKSiege");
+ }
+ }
+
+ // If a player is nearby while the Monster King prepares, event may happen
+ // Minimum 80 Aggro
+ if (.nearby > 1 && $@MK_AGGRO >= 80 &&
+ ($GAME_STORYLINE == 1 || ($GAME_STORYLINE >= 3 && $@MK_THROTTLE >= gettimetick(2)) )){
+ // We should decide event kind, but that's NYI
+ announce ("Monster King: I smell humans! Humans must die!"), bc_map|bc_npc;
+
+ getmapxy(.@m$, .@x, .@y, UNITTYPE_MOB, $@MK);
+
+ // Spawn stuff
+ areamonster(.@m$, .@x-20, .@y-20, .@x+20, .@y+20, "Monster", ManaGhost, min(60, $@MK_AGGRO/10)+.nearby, "Monster King::OnSlaveDie");
+
+ // Remove some aggro. TODO: Do not remove so much aggro if it was high
+ .@diff=($@MK_AGGRO*$GAME_STORYLINE)/5;
+ $@MK_AGGRO=max(.@diff, 0);
+ }
+
+ // Maybe, just maybe, game storyline must be updated here
+ if ($GAME_STORYLINE == 1 && $MK_TEMPVAR &&
+ $MK_TEMPVAR <= gettimeparam(GETTIME_DAYOFMONTH)) {
+ // Game Story Change: Idle MK -> Active MK
+ kamibroadcast("I can't handle it anymore! NO MORE!", "Monster King");
+ sleep(2500);
+ kamibroadcast("Come, my minions! Lay siege to towns! LEAVE NO OPPOSITION TO ME!", "Monster King");
+ sleep(2500);
+ kamibroadcast("Burn, destroy, do whatever you need, until your last breath, my lieutenants and colonels!", "Monster King");
+ sleep(2500);
+ kamibroadcast("##4 .:: Game Story Instructions on #world ::.");
+ channelmes("#world", "##1 **GAME STORY CHANGE** - The Monster King minions will now attack cities and lay waste to them.");
+ channelmes("#world", "##1 Players must defeat the lieutenants and colonels in order to prevent sieges from continuing.");
+
+ // Apply the changes
+ $GAME_STORYLINE=2;
+ $MK_TEMPVAR=0;
+ }
+ if ($GAME_STORYLINE == 2 &&
+ $MK_TEMPVAR >= MK_SIEGE_TOTALPOWER) {
+ kamibroadcast("##1##BThe Monster King army is in total disarray and disorder!", "Saulc");
+ sleep(2500);
+ kamibroadcast("##1##BIt's our chance to strike back!", "Saulc");
+ sleep(2500);
+
+ // Apply the changes
+ $GAME_STORYLINE=3;
+ $MK_TEMPVAR=0; // In past, we forced 1 month wait. Now we have KW mechs...
+ $MANA_BLVL-=10; // Set level to 20~30
+ $MANA_JLVL-=5; // Set job level to 15
+ }
+
+ // We're done, restart loop timer
+ $@MK_TRIGGERED=false;
+ initnpctimer;
+ end;
+}
+
diff --git a/npc/functions/mobhunter.txt b/npc/functions/mobhunter.txt
new file mode 100644
index 0000000..b38fea2
--- /dev/null
+++ b/npc/functions/mobhunter.txt
@@ -0,0 +1,263 @@
+// TMW-2 Script
+// Author: Jesusalva
+// Desc: Grand Hunter Quest Utils
+
+// MobID
+function script GHQ_GetQuestIDByMonsterID {
+ switch (getarg(0)) {
+ case Maggot:
+ return 1;
+ break;
+ case Snake:
+ return 2;
+ break;
+ case Scorpion:
+ return 3;
+ break;
+ case ForestMushroom:
+ return 4;
+ break;
+ case Pinkie:
+ return 5;
+ break;
+ case Moggun:
+ return 6;
+ break;
+ case Fluffy:
+ return 7;
+ break;
+ case MountainSnake:
+ return 8;
+ break;
+ case Duck:
+ return 9;
+ break;
+ case Bat:
+ return 10;
+ break;
+ case GreenDragon:
+ return 11;
+ break;
+ default:
+ return Exception("GHQ GQID: Invalid ID: "+getarg(0), RB_DEFAULT^RB_PLEASEREPORT|RB_ISFATAL);
+ break;
+ }
+
+}
+
+// QuestID (basically reverses the previous code)
+function script GHQ_GetMonsterIDByQuestID {
+ switch (getarg(0)) {
+ case 1:
+ return Maggot;
+ break;
+ case 2:
+ return Snake;
+ break;
+ case 3:
+ return Scorpion;
+ break;
+ case 4:
+ return ForestMushroom;
+ break;
+ case 5:
+ return Pinkie;
+ break;
+ case 6:
+ return Moggun;
+ break;
+ case 7:
+ return Fluffy;
+ break;
+ case 8:
+ return MountainSnake;
+ break;
+ case 9:
+ return Duck;
+ break;
+ case 10:
+ return Bat;
+ break;
+ case 11:
+ return GreenDragon;
+ break;
+ default:
+ return Exception("GHQ GMID: Invalid ID: "+getarg(0), RB_DEFAULT^RB_PLEASEREPORT|RB_ISFATAL);
+ break;
+ }
+
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+
+// Handle milestone rewards; it does NOT update stuff
+// Syntax: GHQ_GetRewardsOnMilestone ( rewardoverrideid )
+function script GHQ_GetRewardsOnMilestone {
+
+ // Check if you can store a Strange Coin (you really should)
+ // Another item too, which I'm sure you won't get it anywhere.
+ inventoryplace StrangeCoin, 1, NPCEyes, 1;
+
+ // Global setup
+ .@q=getq(General_Hunter);
+ .@k=getq2(General_Hunter);
+ .@monsterId=GHQ_GetMonsterIDByQuestID(getq(General_Hunter));
+ // Setup
+ .@old=GHMEMO[getq(General_Hunter)];
+ .@new=getq2(General_Hunter);
+ .@blv=strmobinfo(3, .@monsterId);
+ .@bhp=strmobinfo(4, .@monsterId);
+ .@xp=0;
+ .@gp=0;
+ .@jp=0;
+ //if (getq2(General_Hunter) >= 10000) goto L_Finish;
+
+ // 1st step: 1000 kills
+ if (is_between(.@old, .@new, 1000)) {
+ mesc l("Goal: @@/@@ reached!", .@new, 1000), 2;
+ .@xp+=.@blv*10;
+ .@gp+=(.@bhp/2);
+ .@jp+=10;
+ } else if (.@new < 1000) {
+ mesc l("@@: @@/@@", l("1st step"), .@new, 1000);
+ }
+
+ // 2nd step: 2500 kills
+ if (is_between(.@old, .@new, 2500)) {
+ mesc l("Goal: @@/@@ reached!", .@new, 2500), 2;
+ .@xp+=.@blv*25;
+ .@gp+=.@bhp;
+ .@jp+=25;
+ } else if (.@new < 2500) {
+ mesc l("@@: @@/@@", l("2nd step"), .@new, 2500);
+ }
+
+ // 3rd step: 5000 kills
+ if (is_between(.@old, .@new, 5000)) {
+ mesc l("Goal: @@/@@ reached!", .@new, 5000), 2;
+ .@xp+=.@blv*50;
+ .@gp+=.@bhp;
+ .@jp+=50;
+ } else if (.@new < 5000) {
+ mesc l("@@: @@/@@", l("3rd step"), .@new, 5000);
+ }
+
+ // 4th step: 7500 kills
+ if (is_between(.@old, .@new, 7500)) {
+ mesc l("Goal: @@/@@ reached!", .@new, 7500), 2;
+ .@xp+=.@blv*75;
+ .@gp+=.@bhp;
+ .@jp+=75;
+ } else if (.@new < 7500) {
+ mesc l("@@: @@/@@", l("4th step"), .@new, 7500);
+ }
+
+ // 5th step: 10000 kills
+ if (is_between(.@old, .@new, 10000)) {
+ mesc l("Goal: @@/@@ reached!", .@new, 10000), 2;
+
+ // Main reward
+ getitem StrangeCoin, .@blv*2;
+ Zeny=Zeny+.@bhp*25; // Maggot: 10.000 gp. That's plenty.
+ getexp .@bhp*BaseLevel, .@bhp; // The monster hp, once again, drastically affects
+
+ // Achievements
+ if (!GHQ_WINNER)
+ GHQ_WINNER = gettimetick(2);
+
+ // Grand Prize
+ switch (.@monsterId) {
+ case Pinkie:
+ getitem PinkHelmet, 1;
+ mesc l("And here's a rare for you, a @@! Good job!", getitemlink(PinkHelmet));
+ break;
+ default:
+ mesc l("A new pet has been unlocked on the @@!", l("Pet Detective"));
+ }
+
+ }
+
+ // Get reward (must have Job Exp)
+ if (.@jp) {
+ getexp .@xp, .@jp;
+ Zeny=Zeny+.@gp;
+ }
+
+ // Update Grand Hunter memory
+ GHMEMO[.@q]=.@k;
+
+ return;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+
+// MobID, Place, Prize Override
+function script GHQ_Assign {
+ // Arguments
+ .@mobId =getarg(0);
+ .@loc$ =getarg(1);
+ .@prize$=getarg(2, "");
+
+ // Current Quest Status + vars
+ .@id=GHQ_GetQuestIDByMonsterID(.@mobId);
+ .@q=getq(General_Hunter);
+ .@p=getq2(General_Hunter);
+ //next;
+ //mesq l("Current Quest Progress: @@/10,000 kills", .@p);
+
+ // Handle Partial Rewards
+ if (.@q)
+ GHQ_GetRewardsOnMilestone();
+ mes "";
+
+ mesn;
+ mes l("I represent the @@ Hunters. We hunt @@ (Lv @@).", .@loc$, getmonsterlink(.@mobId), strmobinfo(3, .@mobId));
+ if (.@prize$ != "")
+ mes l("The great prize is @@.", .@prize$);
+ else
+ mes l("The great prize is to unlock a pet!");
+ if (.@q == .@id) {
+ .@m=GHQ_GetMonsterIDByQuestID(.@q);
+ mes l("You are currently hunting @@/10000 @@.", .@p, getmonsterlink(.@m));
+ next;
+ closedialog;
+ goodbye;
+ }
+ if (.@q) {
+ .@m=GHQ_GetMonsterIDByQuestID(.@q);
+ mes l("You are currently hunting @@/10000 @@. Do you want to switch?", .@p, getmonsterlink(.@m));
+ mesc l("Protip: Your current progress will be saved.");
+ }
+ select
+ l("I'm not interested."),
+ rif(GHMEMO[.@id] < 10000,l("I'll hunt them for you."));
+
+ switch (@menu) {
+ case 2:
+ GHMEMO[getq(General_Hunter)]=getq2(General_Hunter);
+ setq(General_Hunter, .@id, GHMEMO[.@id]);
+ mesn;
+ mesq l("Good luck! Don't come back until you reach 10000 kills!");
+ break;
+ }
+ closedialog;
+ goodbye;
+
+}
+
+
+function script mobhunter {
+ if (getq(General_Hunter) == 0)
+ return;
+
+ .@ghd=getq(General_Hunter);
+ if (killedrid == GHQ_GetMonsterIDByQuestID(.@ghd)) {
+ setq2 General_Hunter, getq2(General_Hunter)+1;
+ .@ghd=getq2(General_Hunter);
+ if (! (.@ghd % 1000))
+ dispbottom l("Grand Hunter Quest: @@/10,000", format_number(.@ghd));
+ }
+ return;
+
+}
+
diff --git a/npc/functions/mobpoint.txt b/npc/functions/mobpoint.txt
new file mode 100644
index 0000000..36f647e
--- /dev/null
+++ b/npc/functions/mobpoint.txt
@@ -0,0 +1,111 @@
+// TMW2 Scripts
+// Author: Crazyfefe
+// Jesusalva
+// Desc: Mob Points for Aidan & Ishi. You will gain MONSTER-LEVEL mob points.
+
+// fix_mobkill(mobID) → Manual fix for scripted mobs
+function script fix_mobkill {
+ killedrid=getarg(0);
+ doevent "#mobptsys::OnNPCKillEvent";
+ return;
+}
+
+function script mobpoint {
+ if (!MPQUEST)
+ return;
+ if (!killedrid) // A bug!
+ return;
+
+ .@moblv=strmobinfo(3,killedrid);
+ // You get MobLv + 20% as MobPoints.
+ // So a level 100 monster gives you 120 MobPt. Slimes gives no bonus.
+ if (compare("slime", strtolower(strmobinfo(1, killedrid))))
+ .@addval=.@moblv;
+ else
+ .@addval=.@moblv*12/10;
+
+ // Penalty/Bonus
+ .@base=(.@moblv-BaseLevel);
+
+ // Rebirth exploit correction
+ if (.@base > 20 && REBIRTH && BaseLevel < 16)
+ .@base = 20;
+
+ if (BaseLevel < .@moblv) {
+ // Target is stronger, +3% per monster level, capped at +75%
+ .@addval = .@addval * limit(100, 100+(.@base*3), 175) / 100;
+ } else if (BaseLevel > .@moblv) {
+ // Target is weaker, -1% per monster level, capped at -50%
+ .@addval = .@addval * limit(50, 101+.@base, 100) / 100;
+ }
+
+ // Sanitization
+ .@addval=max(0, .@addval);
+
+ // Events (+10% Mob Points)
+ if ($EVENT$ == "Rebirth")
+ .@addval = .@addval * 11 / 10;
+
+ // Grant you the Monster Points
+ Mobpt = Mobpt + .@addval;
+ return;
+
+}
+
+- script #mobptsys NPC_HIDDEN,{
+ end;
+
+OnUnlock:
+ if (checkpcblock() & PCBLOCK_ATTACK)
+ setpcblock(PCBLOCK_HARD, false);
+ end;
+
+OnNPCKillEvent:
+ $MONSTERS_KILLED+=1;
+ MONSTERS_KILLED+=1;
+
+ // Remove undue Job exp
+ // The check is probably correct, but setparam is not working =/
+ /*
+ */
+ if (strmobinfo(7, killedrid) == 0 && readparam(JobExp) > 0) {
+ //setparam(JobExp, readparam(JobExp)-1);
+ JobExp-=1;
+ }
+
+ // killedrid was not set, so we skip
+ if (!killedrid)
+ end;
+
+ // call functions
+ callfunc "mobpoint";
+ callfunc "mobhunter";
+ callfunc "SQuest_Hasan";
+ callfunc "SaggyMobCount";
+ callfunc "dausen_mobtutorial";
+ callfunc "Guardhouse_RandQuestCheck";
+ callfunc "AuroraMobkill";
+ callfunc "ChocolateDay";
+ callfunc "CoffeeDay";
+ callfunc "FSFDay";
+ callfunc "CraftmasterDay";
+ callfunc "CadisQuestCheck";
+ callfunc "GeminiKill";
+ callfunc "SK_drops";
+
+ // Other updates
+ $@MK_TRIGGERED=true;
+ // Unset killedrid. This affects multiple calls of this function
+ // But it is in overall more reliable imao
+ killedrid=0;
+ end;
+
+// When you kill a player, some special care is needed
+// Only a few maps will give you experience for PK: Tulimshar's Guards Arena,
+// Frostia Imperial PVP Arena, Call Of Dusty, Arena Quirino Voraz.
+OnPCKillEvent:
+ // call functions
+ callfunc "HUB_PvP";
+ end;
+
+}
diff --git a/npc/functions/mounts.txt b/npc/functions/mounts.txt
new file mode 100644
index 0000000..12d56d7
--- /dev/null
+++ b/npc/functions/mounts.txt
@@ -0,0 +1,101 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Mount Renting (var MOUBOO_RENTTIME - TODO: Discount when mouboo friend )
+
+// MoubooRent( NPC Name )
+function script MoubooRent {
+ .@n$=getarg(0, strnpcinfo(0));
+ if (MOUBOO_RENTTIME > gettimetick(2) || BaseLevel < 20) {
+ mesn .@n$;
+ mesq l("Moo!");
+ return;
+ }
+
+ mesn .@n$;
+ mesq l("Moo!");
+ next;
+ mesn .@n$;
+ mesq l("Do you want to rent a Mouboo? It allows quick traveling!");
+ next;
+ menuint
+ rif(Zeny > 100, l("Rent 1 day for 100 GP")), 100,
+ rif(Zeny > 270, l("Rent 3 days for 270 GP")), 270,
+ rif(Zeny > 600, l("Rent 7 days for 600 GP")), 600,
+ rif(Zeny > 1200, l("Rent 15 days for 1200 GP")), 1200,
+ rif(Zeny > 2000, l("Rent 30 days for 2000 GP")), 2000,
+ l("Don't rent a mouboo."), 0;
+ mes "";
+ switch (@menuret) {
+ case 0:
+ return;
+ case 100:
+ .@time=86400; break;
+ case 270:
+ .@time=259200; break;
+ case 600:
+ .@time=604800; break;
+ case 1200:
+ .@time=1296000; break;
+ case 2000:
+ .@time=2592000; break;
+ default:
+ Exception("Invalid price: "+@menuret, RB_DEFAULT|RB_SPEECH|RB_ISFATAL);
+ break;
+ }
+ inventoryplace RidingMouboo, 1;
+ MOUBOO_RENTTIME=gettimetick(2)+.@time;
+ Zeny-=@menuret;
+ rentitem RidingMouboo, .@time;
+ return;
+}
+
+// TortugaRent( NPC Name )
+function script TortugaRent {
+ .@n$=getarg(0, strnpcinfo(0));
+ if (MOUBOO_RENTTIME > gettimetick(2)) {
+ mesn .@n$;
+ mesq l("Boo!");
+ return;
+ }
+
+ mesn .@n$;
+ mesq l("Boo!");
+ next;
+ mesn .@n$;
+ mesq l("Do you want to rent a Tortuga? It allows quick traveling!");
+ next;
+ menuint
+ rif(Zeny > 50, l("Rent 1 day for 50 GP")), 50,
+ rif(Zeny > 135, l("Rent 3 days for 135 GP")), 135,
+ rif(Zeny > 300, l("Rent 7 days for 300 GP")), 300,
+ rif(Zeny > 600, l("Rent 15 days for 600 GP")), 600,
+ rif(Zeny > 1000, l("Rent 30 days for 1000 GP")), 1000,
+ l("Don't rent a tortuga."), 0;
+ mes "";
+ switch (@menuret) {
+ case 0:
+ return;
+ case 50:
+ .@time=86400; break;
+ case 135:
+ .@time=259200; break;
+ case 300:
+ .@time=604800; break;
+ case 600:
+ .@time=1296000; break;
+ case 1000:
+ .@time=2592000; break;
+ default:
+ Exception("Invalid price: "+@menuret, RB_DEFAULT|RB_SPEECH|RB_ISFATAL);
+ break;
+ }
+ inventoryplace RidingTortuga, 1;
+ MOUBOO_RENTTIME=gettimetick(2)+.@time;
+ Zeny-=@menuret;
+ rentitem RidingTortuga, .@time;
+ return;
+}
+
+
diff --git a/npc/functions/news.txt b/npc/functions/news.txt
new file mode 100644
index 0000000..3812053
--- /dev/null
+++ b/npc/functions/news.txt
@@ -0,0 +1,480 @@
+// TMW-2 script.
+// Authors:
+// Jesusalva
+// Description:
+// Server news.
+
+function script GameNews {
+ .@entry=getarg(0, 0);
+ switch(.@entry) {
+ case 99:
+ mes "";
+ mes ".:: "+ l("Prologue") + " ::.";
+ next;
+ mesc l("[@@https://wiki.moubootaurlegends.org/Storyline|Read the History@@]");
+ next;
+ break;
+ //////////////////////////////////////////////////////////////////
+ case 100:
+ mes "";
+ mes ".:: "+ l("The First Act") + " ::.";
+ next;
+ mesc b(l("The Monster King Army has occupied several towns!"));
+ mesc l("The Monster King has managed to take hold of Nivalis and Hurnscald; Travel to Frostia and Halinarzo has also been made difficult.");
+ next;
+ mesc l("With Tulimshar being the last major human settlement standing (besides distant locations like Candor), the situation looks more dire than ever.");
+ mesc l("Brave players need to group and retake them!");
+ mesc l("Stay tuned for announcements regarding raid times to retake the towns.");
+ mesc l("This event is unique, and cannot be repeated."), 1;
+ next;
+ break;
+ //////////////////////////////////////////////////////////////////
+ case 101:
+ mes "";
+ mes ".:: "+ l("The Second Act") + " ::.";
+ next;
+ mesc b(l("The Monster King Army left the cities! What will happen next? Anxiety grows!"));
+ mesc l("After being successful is recovering Hurnscald and Nivalis from the Monster Army, they seem to have withdrawn.");
+ next;
+ mesc l("This certainly is just to reorganize their armies. We must take this chance to improve ourselves, or else, we'll be overrun soon enough.");
+ mesc l("Brave adventurers, be ready for the worst!");
+ next;
+ break;
+ //////////////////////////////////////////////////////////////////
+ case 102:
+ mes "";
+ mes ".:: "+ l("The Third Act") + " ::.";
+ next;
+ mesc b(l("The Monster King Army is making siege at towns randomly!"));
+ mesc l("The Monster King is sending their armies to attack towns with a seemingly random pattern.");
+ mesc l("However, the Army seems to walk away after some time.");
+ next;
+ mesc l("The reason why they are not occupying the towns like before is still unknown.");
+ mesc l("However, we must defeat the commanders to avoid major damage to them!");
+ next;
+ break;
+ //////////////////////////////////////////////////////////////////
+ case 103:
+ mes "";
+ mes ".:: "+ l("The Fourth Act") + " ::.";
+ next;
+ mesc b(l("The Strike Back Is Upon Us!"));
+ mesc l("The Monster Army appears to be in complete disarray, sieges are much less frequent.");
+ next;
+ mesc l("The mist over the Impregnable Fortress Peak finally lowered down, and it seems... The peaks are no more!");
+ mesc l("The Monster King Lair is not in a impregnable mountain, but in a small island now!!");
+ next;
+ mesc l("Will adventurers reach it? Will the random attacks at towns cease??");
+ mesc l("The world hero %s and the High Council Officers will announce the times to raid the Fortress.", $MOST_HEROIC$);
+ mesc l("Pay attention to #world chat, as this event is managed by players. The Monster Army is also trying to regroup, neglecting it is not advised."), 1;
+ next;
+ break;
+ //////////////////////////////////////////////////////////////////
+ case 1031:
+ mes "";
+ mes ".:: "+ l("Interlude") + " ::.";
+ next;
+ mesc b(l("Andrei Sakar Calls for Heroes!"));
+ mesc l("Andrei Sakar, world renowned hero, is assembling a group of adventurers for an important mission!");
+ next;
+ mesc l("For a long time, towns on the distant continent of Kolev have been supporting humans here.");
+ mesc l("They had a critical role in ensuring the human's race survival to The Great Fire.");
+ next;
+ mesc l("However, for a few months already, nothing else has been heard from that town, and all contact was lost.");
+ mesc l("Andrei Sakar is decided to investigate, and has made arrangements with %s.", b(l("Nard")));
+ next;
+ mesc l("If you are a brave hero or adventurer, Andrei, his lieutenant Elora and the Alliance will be waiting for you on %s!", b(l("Artis")));
+ mesc l("You need to reach a certain point in Player Story in order to partake on this event. Non-repeatable."), 1;
+ next;
+ break;
+ //////////////////////////////////////////////////////////////////
+ case 104:
+ mes "";
+ mes ".:: "+ l("The Fifth Act") + " ::.";
+ next;
+ mesc l("With the brave sacrifice of Andrei Sakar to save our world, our future seems as bleak than ever.");
+ mesc l("There is no other solution; A desperate struggle is needed...");
+ next;
+ mesc l("We must defeat the Monster King on his evil lair!");
+ mesc l("Only then we may have peace!!");
+ next;
+ break;
+ //////////////////////////////////////////////////////////////////
+ case 105:
+ mes "";
+ mes ".:: "+ l("The Final Act") + " ::.";
+ next;
+ // The Final Act has not been finished
+ // So this part is a bit weaker than others
+ mesc l("The Moubootaur is the final opponent.");
+ mesc l("How many lives will be claimed until he is put to rest?");
+ next;
+ mesc l("According to the prophecy, he'll not stop, until life itself as we know today is removed from existence.");
+ next;
+ break;
+ default:
+ break;
+ }
+
+ mesc l("We want to thank everyone who did this release possible.");
+ mes "";
+ mesc l("Shall you have any inquiry, do not hesit to [@@mailto:admin@tmw2.org|send us an email@@]##b.");
+ mesc l("You can also read the [@@news|server news@@], or even [@@https://tmw2.org/news|older entries@@].");
+ next;
+ return;
+}
+
+function script EventHelp {
+ if ($EVENT$ == "") return;
+
+ if ($EVENT$ == "Kamelot") {
+ /////////////////////////////////////////////////////////////////////////
+ mesc ".:: " + l("Kamelot Raid") + " ::.", 2;
+ mes "";
+ mes l("Group together your guild and challenge the evil power,");
+ mes l("which creeps over Kamelot! During this event, the ancient");
+ mes l("evil will return every day to curse King Arthur the Micksha.");
+ mes "";
+ mes l("Is your guild strong enough to give Arthur at least good nights sleep?");
+ mesc l("Location: Kamelot Castle, west of Hurnscald."), 3;
+ /////////////////////////////////////////////////////////////////////////
+ } else if ($EVENT$ == "Valentine") {
+ mesc ".:: " + l("Valentine Day") + " ::.", 2;
+ mes "";
+ mes l("It is time to send %s to your beloved ones!", getitemlink(BoxOfChocolates));
+ mes l("Touch Soul Menhir and visit the Valentine's Island.");
+ mes l("Collect chocolate and love letters from the fluffies");
+ mes l("and have Demure to send them to those you admire!");
+ mes l("Don't forget to collect and eat any chocolate sent to you, too!");
+ mes "";
+ mes l("Witness, the power of love!");
+ mesc l("Location: Valentine Island, access by Soul Menhir."), 3;
+ /////////////////////////////////////////////////////////////////////////
+ } else if ($EVENT$ == "Easter") {
+ mesc ".:: " + l("Easter") + " ::.", 2;
+ mes "";
+ mes l("The Enchanted Forest is now open to visitors!");
+ mes l("Collect easter eggs, and exchange them with Lilica!");
+ mes "";
+ mes l("Compete for the first place, and remember to exchange silver");
+ mes l("easter eggs for more useful things!");
+ mes "";
+ mes l("Who will collect the most?!");
+ mesc l("Location: Enchanted Forest, access by Soul Menhir."), 3;
+ /////////////////////////////////////////////////////////////////////////
+ } else if ($EVENT$ == "Patrick") {
+ mesc ".:: " + l("St. Patrick Day") + " ::.", 2;
+ mes "";
+ mes l("A golden pot in woodlands shall reward those who wear green.");
+ mes l("Find it, spin it, and be bestowed in golden rewards!");
+ mes "";
+ mes l("Meanwhile, at 00h, 06h, 12h, 15h, 18h and 21h UTC,");
+ mes l("legendary clovers will spawn almost everywhere.");
+ mes "";
+ mes l("Feeling lucky?");
+ mesc l("Location: North Woodlands, south of Nivalis."), 3;
+ /////////////////////////////////////////////////////////////////////////
+ } else if ($EVENT$ == "Worker") {
+ mesc ".:: " + l("Worker Day") + " ::.", 2;
+ mes "";
+ mes l("The International Worker Day is a traditional celebration,");
+ mes l("focused on lower level players, and to cherish those whom work hard everyday.");
+ mes "";
+ mes l("Visit the special event map, kill low level bosses, collect %s,", getitemlink(Pearl));
+ mes l("exchange them, and have fun!");
+ mes "";
+ mes l("Happy %s!", "@@https://en.wikipedia.org/wiki/International_Workers%27_Day|"+l("international worker day")+"@@");
+ mesc l("Location: Worker's Cave, access by Soul Menhir."), 3;
+ /////////////////////////////////////////////////////////////////////////
+ } else if ($EVENT$ == "Thanksgiving") {
+ mesc ".:: " + l("Thanksgiving") + " ::.", 2;
+ mes "";
+ mes l("It has been a great year, and the TMW2 Team would like to");
+ mes l("give everyone gifts for spending so much time with us %%l");
+ mes "";
+ mes l("Every day you login, you'll be able to spin a card.");
+ mes l("the card will determine your gift - the more cards you spin,");
+ mes l("the better your chances to get the best cards.");
+ mes "";
+ mes l("So long, and thanks for all the fish!");
+ mesc l("Location: Daily Login."), 3;
+ /////////////////////////////////////////////////////////////////////////
+ } else if ($EVENT$ == "Christmas") {
+ mesc ".:: " + l("Christmas") + " ::.", 2;
+ mes "";
+ mes l("By far, the most important holiday on Moubootaur Legends.");
+ mes l("Visit the Christmas Workshop, and talk to the chief in charge.");
+ mes "";
+ mes l("Seems like they're having difficulty handling the demand, and");
+ mes l("need help to send gifts to everyone! Compete for scoreboards,");
+ mes l("but remember: Rewards will also be based on everyone's progress!");
+ mes "";
+ mes l("Merry Christmas, and a happy new year! \\o/");
+ mesc l("Location: Christmas Workshop, Romantic Field, south of Nivalis."), 3;
+ /////////////////////////////////////////////////////////////////////////
+ } else if ($EVENT$ == "Anniversary") {
+ mesc ".:: " + l("Moubootaur Legends Anniversary") + " ::.", 2;
+ mes "";
+ mes l("Moubootaur Legends just got older! %%N");
+ mes l("Base Experience Rate is now %d%%.", $BCONFB_EXPR);
+ mes "";
+ mes l("Also known as TMW2 Day, it celebrates the server founding,");
+ mes l("in March 2nd 2018.");
+ mes l("New chars, and reborn chars, will also begin at level 10.");
+ mes "";
+ mes l("Invite your friends, and become a Moubootaur Legend!");
+ mesc l("Location: N/A"), 3;
+ /////////////////////////////////////////////////////////////////////////
+ } else if ($EVENT$ == "Regnum") {
+ mesc ".:: " + l("Regnum Blessing") + " ::.", 2;
+ mes "";
+ mes l("The Regnum Blessing causes all monsters in an area");
+ mes l("to give %s experience!", l("triple"));
+ mes "";
+ mes l("Farm there and get the best experience value!");
+ mesc l("Location: %s", $REGNUM_BLESSMAP_H$), 3;
+ /////////////////////////////////////////////////////////////////////////
+ } else if ($EVENT$ == "Expo") {
+ mesc ".:: " + l("World Expo") + " ::.", 2;
+ mes "";
+ mes l("A few times during the year, an independent team organizes a world exposition of special relics.");
+ mes l("However, %s stole the treasures which were being showcased!", $WORLDEXPO_ENEMY$);
+ mes l("Collect the treasured crystals from treasure chests!");
+ mes "";
+ mes l("While %s's reasons to do so remain unclear, a request was made.", $WORLDEXPO_ENEMY$);
+ mes l("Aurora will collect the crystals; And adventurers from the whole world shall look for them in the chests and return to Aurora!");
+ mes "";
+ mes l("This exposition has to be a success!");
+ mesc l("Location: Treasure Chests, hidden inside dungeons."), 3;
+ /////////////////////////////////////////////////////////////////////////
+ } else if ($EVENT$ == "Fishing") {
+ mesc ".:: " + l("Catch the Golden Fish!") + " ::.", 2;
+ mes "";
+ mes l("A few times during the year, the \"golden wave\" migrates from the north pole to the south pole.");
+ mes l("As a result, while fishing you may randomly get a golden fish.");
+ mes "";
+ mes l("These gold fishes multiply horribly and have no natural predator.");
+ mes l("If left unchecked for long, they will eventually become the only specie on the sea.");
+ mes l("Help controlling their population, and return those you fish to Aurora!");
+ mes "";
+ mes l("Catch the golden fish swarm!");
+ mesc l("Location: Fishing spots in the water."), 3;
+ /////////////////////////////////////////////////////////////////////////
+ } else if ($EVENT$ == "Mining") {
+ mesc ".:: " + l("Miners Union Research Request!") + " ::.", 2;
+ mes "";
+ mes l("While mining bifs, a strange powder appeared.");
+ mes l("The effects and uses - if any - are still unknown.");
+ mes "";
+ mes l("The Miners Union is trying to research this powder.");
+ mes l("A reward is promised to those whom cooperate.");
+ mes l("Collaborate by giving this powder to Aurora, before it vanishes!");
+ mes "";
+ mes l("Mysterious Powder expires after some time!");
+ mesc l("Location: All bifs in the world."), 3;
+ /////////////////////////////////////////////////////////////////////////
+ } else if ($EVENT$ == "Candor") {
+ mesc ".:: " + l("Candor Battle Season") + " ::.", 2;
+ mes "";
+ mes l("During this season, challenges to Crazyfefe will be free.");
+ mes l("Special battle modes will also be available.");
+ mes "";
+ mes l("Will you accept his challenge?! Raise to the highest top score!");
+ mesc l("Location: Candor B1F"), 3;
+ /////////////////////////////////////////////////////////////////////////
+ } else if ($EVENT$ == "Celestia") {
+ mesc ".:: " + l("Celestia Season") + " ::.", 2;
+ mes "";
+ mes l("During this season, you can summon the Yeti King for free.");
+ mes l("This is the perfect opportunity to help Celestia.");
+ mes "";
+ mes l("Mount your party and find the Yeti King!");
+ mesc l("Location: Tulimshar Sewers / Hurnscald Town Hall"), 3;
+ /////////////////////////////////////////////////////////////////////////
+ } else if ($EVENT$ == "Gemini") {
+ mesc ".:: " + l("Gemini Season") + " ::.", 2;
+ mes "";
+ mes l("During this season, Gemini Quest can be done with parties of 6.");
+ mes l("Not only that, but you get one free attempt every day!");
+ mes "";
+ mes l("Form your party and rescue Luvia Gemini from Isbamuth!");
+ mesc l("Location: Forsaken Inn, South Woodlands"), 3;
+ /////////////////////////////////////////////////////////////////////////
+ } else if ($EVENT$ == "Rebirth") {
+ mesc ".:: " + l("Rebirth Season") + " ::.", 2;
+ mes "";
+ mes l("During this season, monster point gain is increased in %d%%!", 10);
+ mes l("Not only that, but reborn characters will spawn at level %d!", 3);
+ mes "";
+ mes l("Also: You'll be able to rebirth at Tulimshar with Jakod. What are you waiting for?!");
+ mesc l("Location: Not applicable"), 3;
+ /////////////////////////////////////////////////////////////////////////
+ } else if ($EVENT$ == "Tower") {
+ mesc ".:: " + l("Dream Tower Appears") + " ::.", 2;
+ mes "";
+ mes l("The dream towers have shown up. They have several floors filled with treasure and dangerous monsters.");
+ mes l("Every day, they disappear and a new one shows up on its place.");
+ mes "";
+ mes l("You need a %s for each floor, and defeat the gatekeeper to advance.", getitemlink(EventDreamTicket));
+ mes l("Floors cannot be re-visited, and rewards increase at each floor.");
+ mes "";
+ mes l("These towers must hold unfathomable secrets from %s.", $DREAMTOWER_SAGE$);
+ mes l("We must find out what lies at the top, whatever the cost!");
+ mesc l("Location: The Mana Plane, Dream Tower"), 3;
+ /////////////////////////////////////////////////////////////////////////
+ } else if ($EVENT$ == "Raid") {
+ mesc ".:: " + l("Boss Raid") + " ::.", 2;
+ mes "";
+ mes l("This is terrible - a fiend from a parallel dimension has broken in ours!");
+ mes l("We are unsure of the cause, but they must be repelled at any cost!");
+ mes l("Meanwhile, the sages of destiny will prepare a way to kick them back to wherever they belong!");
+ mes "";
+ mes l("Can we keep %s at bay long enough?", $RAIDING_BOSS$);
+ mes l("Collect their %s as well, so our wizards can do their magic!", getitemlink(EventNaftalin));
+ mesc l("Location: The Mana Plane, Showdown Chamber"), 3;
+ /////////////////////////////////////////////////////////////////////////
+ } else if ($EVENT$ == "Olympics") {
+ mesc ".:: " + l("Magic Olympics") + " ::.", 2;
+ mes "";
+ mes l("The Magic Olympics are held by the Academy Grand Masters roughly quarterly, and allow the brightest mages to acquire scholarships at the Magic Academy.");
+ mes l("Only one vouch can be acquired, and you cannot be vouched to Grand Master position. You need to have touched the Mana Stone to participate.");
+ mes "";
+ mes l("Talk to Hocus in Porthos (via Menhir) to enroll.");
+ mesc l("Location: The Mana Plane, Porthos"), 3;
+ /////////////////////////////////////////////////////////////////////////
+ } else {
+ mesc l("There's no help available for this event.");
+ /////////////////////////////////////////////////////////////////////////
+ }
+ next;
+ return;
+}
+
+
+
+
+
+
+
+
+function script Journalman {
+ /* Random Fun Fact */
+ npctalk3 any(
+ l("Halinarzo Church makes a party every Sunday! Only true believers are invited!"),
+ l("Beware the Terranite! Only @@ would be brave enough to challenge them!", ($MOST_HEROIC$ == "" ? "Andrei Sakar" : $MOST_HEROIC$)),
+ l("Terrible manaquake hits the whole world, causing dramatic changes!"),
+ l("Effects from The Great Fire are still felt by the people."),
+ l("Green Wars project says that @@ trees were planted by adventurers on the world!", format_number($TREE_PLANTED)),
+ l("The Team For A Better PvP says that @@ players were killed in fair matches!", format_number($PLAYERS_KILLED)),
+ l("The Alliance says that @@ monsters have been slain since Hurnscald Siege!", format_number($MONSTERS_KILLED)),
+ l("All hail @@ and Andrei Sakar, heroes of the world!", $MOST_HEROIC$));
+ mesn getarg(0);
+ mesq l("Bonjour! I am @@, and I am from the Press! Read the latest news with me!", getarg(0));
+ mes "";
+
+ /* Permanent/Weekly Events */
+ if ($EVENT$ != "") {
+ mesc l("It's @@ (day)!", $EVENT$);
+ mesc l("Try talking to Soul Menhir or with any NPC on Tulimshar Center (near Soul Menhir).");
+ }
+
+ /* Short-Timed Events */
+ if ($@GM_EVENT)
+ mesc l("An event is happening at Aeros! Hurry up!");
+ else if ($@MK_SCENE)
+ mesc l("The Monster King is on the move!");
+
+ /* Seasonal Events */
+ switch (season()) {
+ case SPRING:
+ mesc l("It's spring! Two lovely NPCs at woodlands can be found...");
+ break;
+ case WINTER:
+ mesc l("It's winter! An NPC in Nivalis Town is freezing...");
+ break;
+ case SUMMER:
+ mesc l("It's summer! Ched is having his usual contest, but Luffyx in Hurnscald is up to no good!");
+ break;
+ case AUTUMN:
+ mesc l("It's autumn! There is no special event during autumn, only special drops.");
+ break;
+ default:
+ Exception(l("Invalid season: @@", season()), RB_DEFAULT|RB_SPEECH); break;
+ }
+
+ /* Main Storyline */
+ mes "";
+ switch ($GAME_STORYLINE) {
+ case 0:
+ mesc l("The Monster King Army is occupying several towns! Brave players need to group and retake them!");
+ break;
+ case 1:
+ mesc l("The Monster King Army left the cities! What will happen next? Anxiety grows!");
+ break;
+ case 2:
+ .@def=100-(($MK_TEMPVAR+rand2(-1,1))*100/MK_SIEGE_TOTALPOWER);
+ if ($@MK_AGGRO >= 300)
+ .@st$=col(b(l("very mad")), 1);
+ else if ($@MK_AGGRO >= 200)
+ .@st$=col(b(l("very angry")), 6);
+ else if ($@MK_AGGRO >= 100)
+ .@st$=col(b(l("furious")), 7);
+ if ($@MK_AGGRO >= 50)
+ .@st$=col(b(l("angry")), 4);
+ else
+ .@st$=col(b(l("discontent")), 9);
+ mesc l("The Monster King Army is attacking towns at random, but players already reduced their organization to @@ %%!", .@def);
+ mesc l("With recent player activity, the Monster king is @@!", .@st$);
+ break;
+ case 3:
+ mesc l("The Monster Army is in complete disarray, sieges are much less frequent.");
+ mesc l("The Monster King Lair is not in a impregnable mountain, but in a small island now!!");
+ mesc l("Will adventurers reach it? Will the random attacks at towns cease??");
+ break;
+ case 4:
+ mesc l("We must defeat the Monster King on his evil lair!");
+ mesc l("Only then we may have peace!!");
+ break;
+ case 5:
+ mesc l("Moubootaur, please spare me...");
+ break;
+ default:
+ Exception(l("I do now know what this means: GS-@@-ICXN-@@", $GAME_STORYLINE, $MK_TEMPVAR), RB_DEFAULT|RB_SPEECH); break;
+ }
+
+ /* Fires of Steam */
+ if ($FIRESOFSTEAM) {
+ mes "";
+ if ($FIRESOFSTEAM >= 10)
+ mesc l("We'll never forget Andrei Sakar, the most courageous hero this world has ever had.");
+ else
+ mesc l("Andrei Sakar calls for all the brave in the town of Artis - Kolev!");
+ }
+ next;
+
+ do {
+ mes "";
+ menuint
+ l("Thanks for your help!"), 1,
+ rif($EVENT$ != "", l("Event News")), 0,
+ rif($GAME_STORYLINE >= 5, l("The Final Act")), 105,
+ rif($GAME_STORYLINE >= 4, l("The Fifth Act")), 104,
+ rif($FIRESOFSTEAM, l("Interlude - Fourth Act")), 1031,
+ rif($GAME_STORYLINE >= 3, l("The Fourth Act")), 103,
+ rif($GAME_STORYLINE >= 2, l("The Third Act")), 102,
+ rif($GAME_STORYLINE >= 1, l("The Second Act")), 101,
+ rif($GAME_STORYLINE >= 0, l("The First Act")), 100,
+ l("Prologue"), 99,
+ l("Eh, I have to go."), 1;
+ mes "";
+ if (@menuret > 1)
+ GameNews(@menuret);
+ if (@menuret == 0)
+ EventHelp();
+ } while (@menuret != 1);
+
+ mesn getarg(0);
+ mesq l("Good bye!");
+ close;
+ return;
+}
diff --git a/npc/functions/npcmove.txt b/npc/functions/npcmove.txt
new file mode 100644
index 0000000..612ab03
--- /dev/null
+++ b/npc/functions/npcmove.txt
@@ -0,0 +1,142 @@
+// Evol functions.
+// Author:
+// 4144
+// Description:
+// Moving npc utility functions
+// Variables:
+// none
+
+function script initpath {
+ deletearray getvariableofnpc(.movepathcmd$, strnpcinfo(3));
+ deletearray getvariableofnpc(.movepathy, strnpcinfo(3));
+ deletearray getvariableofnpc(.movepathx, strnpcinfo(3));
+ .@cnt = 0;
+
+ for (.@f = 0; .@f < getargcount(); .@f = .@f + 3)
+ {
+ set getvariableofnpc(.movepathcmd$[.@cnt], strnpcinfo(3)), getarg(.@f);
+ set getvariableofnpc(.movepathx[.@cnt], strnpcinfo(3)), getarg(.@f + 1);
+ set getvariableofnpc(.movepathy[.@cnt], strnpcinfo(3)), getarg(.@f + 2);
+ .@cnt ++;
+ }
+ //debugmes "array size: " + str(getarraysize(getvariableofnpc(.movepath, strnpcinfo(3))));
+ return;
+}
+
+function script domoveaction {
+ //debugmes "domoveaction: " + str(getvariableofnpc(.movepos, strnpcinfo(3)));
+ .@pos = getvariableofnpc(.movepos, strnpcinfo(3));
+ if (.@pos >= getarraysize(getvariableofnpc(.movepathx, strnpcinfo(3))) || .@pos < 0)
+ return;
+ //debugmes "walking";
+ .@cmd$ = getvariableofnpc(.movepathcmd$[.@pos], strnpcinfo(3));
+ //debugmes "cmd: " + .@cmd$;
+
+ if (.@cmd$ == "move")
+ {
+ npcwalkto getvariableofnpc(.movepathx[.@pos], strnpcinfo(3)), getvariableofnpc(.movepathy[.@pos], strnpcinfo(3));
+ }
+ else if (.@cmd$ == "dir")
+ {
+ setnpcdir getvariableofnpc(.movepathx[.@pos], strnpcinfo(3));
+ return 2;
+ }
+ else if (.@cmd$ == "wait")
+ {
+ set getvariableofnpc(.waitticks, strnpcinfo(3)), getvariableofnpc(.movepathx[.@pos], strnpcinfo(3));
+ }
+ else if (.@cmd$ == "emote")
+ {
+ unitemote getnpcid(), getvariableofnpc(.movepathx[.@pos], strnpcinfo(3));
+ return 2;
+ }
+ else if (.@cmd$ == "class")
+ {
+ .class = getvariableofnpc(.movepathx[.@pos], strnpcinfo(3));
+ return 2;
+ }
+ else if (.@cmd$ == "warp")
+ {
+ movenpc strnpcinfo(3), getvariableofnpc(.movepathx[.@pos], strnpcinfo(3)), getvariableofnpc(.movepathy[.@pos], strnpcinfo(3));
+ }
+ else if (.@cmd$ == "goto")
+ {
+ set getvariableofnpc(.movepos, strnpcinfo(3)), getvariableofnpc(.movepathx[.@pos], strnpcinfo(3));
+ return 0;
+ }
+ else if (.@cmd$ == "rmove")
+ {
+ getmapxy(.@mapName$, .@x, .@y, 1);
+ npcwalkto .@x + getvariableofnpc(.movepathx[.@pos], strnpcinfo(3)), .@y + getvariableofnpc(.movepathy[.@pos], strnpcinfo(3));
+ }
+ else if (.@cmd$ == "speed")
+ {
+ .speed = getvariableofnpc(.movepathx[.@pos], strnpcinfo(3));
+ return 2;
+ }
+ else if (.@cmd$ == "sit")
+ {
+ npcsit;
+ }
+ else if (.@cmd$ == "stand")
+ {
+ npcstand;
+ }
+ return 1;
+}
+
+function script movetonextpos {
+ .@wait = getvariableofnpc(.waitticks, strnpcinfo(3));
+ if (.@wait > 0)
+ {
+ .@wait --;
+ //debugmes "wait";
+ set getvariableofnpc(.waitticks, strnpcinfo(3)), .@wait;
+ return;
+ }
+ .@true = 1;
+ while (.@true)
+ {
+ .@true = 0;
+ .@pos = getvariableofnpc(.movepos, strnpcinfo(3));
+ //debugmes "movetonextpos: " + str(.@pos);
+ .@res = domoveaction(.@pos);
+ if (.@res == 1 || .@res == 2)
+ {
+ .@pos++;
+ if (.@pos >= getarraysize(getvariableofnpc(.movepathx, strnpcinfo(3))))
+ .@pos = 0;
+ set getvariableofnpc(.movepos, strnpcinfo(3)), .@pos;
+ }
+ if (.@res == 0 || .@res == 2)
+ {
+ .@true = 1;
+ }
+ }
+ return;
+}
+
+function script initialmove {
+ set getvariableofnpc(.movepos, strnpcinfo(3)), 0;
+ set getvariableofnpc(.waitticks, strnpcinfo(3)), -1;
+ movetonextpos;
+ return;
+}
+
+function script getmovecmd {
+ .@pos = getvariableofnpc(.movepos, strnpcinfo(3));
+ if (.@pos >= getarraysize(getvariableofnpc(.movepathx, strnpcinfo(3))) || .@pos < 0)
+ return "";
+ return getvariableofnpc(.movepathcmd$[.@pos], strnpcinfo(3));
+}
+
+function script domovestep {
+ if (isunitwalking())
+ {
+ initnpctimer;
+ end;
+ }
+ movetonextpos;
+ initnpctimer;
+ end;
+}
diff --git a/npc/functions/npcmovegraph.txt b/npc/functions/npcmovegraph.txt
new file mode 100644
index 0000000..1391e0d
--- /dev/null
+++ b/npc/functions/npcmovegraph.txt
@@ -0,0 +1,489 @@
+// Evol functions.
+// Author:
+// Travolta
+// Description:
+// Moving npc utility functions (graph-based)
+// Variables:
+// none
+
+function script initmovegraph {
+ deletearray getvariableofnpc(.movegraphcmd$, strnpcinfo(3));
+ deletearray getvariableofnpc(.movegraphlabels$, strnpcinfo(3));
+ deletearray getvariableofnpc(.movegraphweight, strnpcinfo(3));
+ deletearray getvariableofnpc(.movegraphflags, strnpcinfo(3));
+ deletearray getvariableofnpc(.movepos_y1, strnpcinfo(3));
+ deletearray getvariableofnpc(.movepos_x1, strnpcinfo(3));
+ deletearray getvariableofnpc(.movepos_x2, strnpcinfo(3));
+ deletearray getvariableofnpc(.movepos_y2, strnpcinfo(3));
+ .@cnt = 0;
+
+ for (.@f = 0; .@f < getargcount();)
+ {
+ set getvariableofnpc(.movegraphlabels$[.@cnt], strnpcinfo(3)), getarg(.@f++);
+ set getvariableofnpc(.movepos_x1[.@cnt], strnpcinfo(3)), getarg(.@f++);
+ set getvariableofnpc(.movepos_y1[.@cnt], strnpcinfo(3)), getarg(.@f++);
+ if (!isstr(getarg(.@f, "label")))
+ {
+ set getvariableofnpc(.movepos_x2[.@cnt], strnpcinfo(3)), getarg(.@f++);
+ set getvariableofnpc(.movepos_y2[.@cnt], strnpcinfo(3)), getarg(.@f++);
+ }
+ .@cnt ++;
+ }
+ return;
+}
+
+function script findmovegraphlabel {
+ if (!getargcount())
+ {
+ consolebug "findmovegraphlabel: no argument";
+ return -1;
+ }
+ if (!isstr(getarg(0)))
+ {
+ consolebug "findmovegraphlabel: need string argument";
+ return -1;
+ }
+
+ .@arg$ = getarg(0);
+ for (.@i = 0; .@i < getarraysize(getvariableofnpc(.movegraphlabels$, strnpcinfo(3))); .@i++)
+ {
+ if (getvariableofnpc(.movegraphlabels$[.@i], strnpcinfo(3)) == .@arg$)
+ return .@i;
+ }
+
+ npcdebug "findmovegraphlabel: label not found: " + getarg(0);
+ return -1;
+}
+
+/* setmovegraphcmd(fromPositionLabel,toPositionLabel[,moveChanceWeight[,moveFlags]],postCommand, ...);
+ * This function manipulates NPC moving graph. Before calling it, make sure
+ * `initmovegraph' was called. The function accepts 3-5 parameters (many times):
+ * fromPositionLabel, toPositionLabel -- starting and ending position of NPC move
+ * moveChanceWeight -- positive integer, represents the chance of moving in given direction. (optional)
+ * moveFlags -- if .mg_flags & moveFlags != 0, move is possible. (optional)
+ * postCommand -- either "moveon" (start moving to next location straight after arriving from
+ * fromPositionLabel to toPositionLabel) or a semicolon-separated set of commands
+ * ("wait 3", "emote 5" etc, see `execmovecmd') that will be executed after arrival.
+ * The commands don't have to end with ";moveon", it's executed in the end by default.
+ */
+function script setmovegraphcmd {
+ .@size = getarraysize(getvariableofnpc(.movepos_x1, strnpcinfo(3)));
+
+ for (.@f = 0; .@f < getargcount();)
+ {
+ .@from = findmovegraphlabel(getarg(.@f++));
+ .@to = findmovegraphlabel(getarg(.@f++));
+ .@weight = 1;
+ if (!isstr(getarg(.@f)))
+ .@weight = getarg(.@f++);
+ .@flags = 0xffff;
+ if (!isstr(getarg(.@f)))
+ .@flags = getarg(.@f++);
+ .@cmd$ = getarg(.@f++);
+ .@index = .@from * .@size + .@to; // emulation of 2d array
+ set getvariableofnpc(.movegraphcmd$[.@index], strnpcinfo(3)), .@cmd$;
+ set getvariableofnpc(.movegraphweight[.@index], strnpcinfo(3)), .@weight;
+ set getvariableofnpc(.movegraphflags[.@index], strnpcinfo(3)), .@flags;
+ }
+ return;
+}
+
+function script execmovecmd {
+
+ explode(.@cmd$, getarg(0), " ");
+
+ if (.@cmd$[0] == "moveon")
+ {
+ return 0;
+ }
+ else if (.@cmd$[0] == "dir")
+ {
+ .dir = atoi(.@cmd$[1]);
+ }
+ else if (.@cmd$[0] == "sit")
+ {
+ npcsit;
+ }
+ else if (.@cmd$[0] == "stand")
+ {
+ npcstand;
+ }
+ else if (.@cmd$[0] == "wait")
+ {
+ set getvariableofnpc(.waitticks, strnpcinfo(3)), atoi(.@cmd$[1]);
+ return 1;
+ }
+ else if (.@cmd$[0] == "emote")
+ {
+ unitemote getnpcid(), atoi(.@cmd$[1]);
+ }
+ else if (.@cmd$[0] == "class")
+ {
+ .class = atoi(.@cmd$[1]);
+ }
+ else if (.@cmd$[0] == "warp")
+ {
+ .@pos = -1;
+ .@map$ = "";
+ .@pos_idx = 1;
+ if (getarraysize(.@cmd$) == 3)
+ {
+ .@map$ = .@cmd$[1];
+ .@pos_idx = 2;
+ }
+ .@pos = findmovegraphlabel(.@cmd$[.@pos_idx]);
+ if (.@pos != -1)
+ {
+ .@x = getvariableofnpc(.movepos_x1[.@pos], strnpcinfo(3));
+ .@y = getvariableofnpc(.movepos_y1[.@pos], strnpcinfo(3));
+ if (getstrlen(.@map$) > 0)
+ unitwarp getnpcid(), .@map$, .@x, .@y;
+ else
+ movenpc strnpcinfo(3), .@x, .@y;
+ set getvariableofnpc(.movepos, strnpcinfo(3)), .@pos;
+ }
+ else
+ {
+ consolewarn "execmovecmd: unknown WARP destination label: " + .@cmd$[1];
+ }
+ }
+ else if (.@cmd$[0] == "call")
+ {
+ switch (getarraysize(.@cmd$))
+ {
+ case 1:
+ consolewarn "execmovecmd: CALL command needs some parameters";
+ return 0;
+ case 2:
+ return callfunc(.@cmd$[1]);
+ break;
+ case 3:
+ return callfunc(.@cmd$[1], .@cmd$[2]);
+ case 4:
+ default:
+ return callfunc(.@cmd$[1], .@cmd$[2], .@cmd$[3]);
+ }
+ }
+ else if (.@cmd$[0] == "speed")
+ {
+ .speed = atoi(.@cmd$[1]);
+ }
+ else if (.@cmd$[0] == "say")
+ {
+ deletearray .@cmd$[0], 1;
+ .@msg$=implode(.@cmd$, " ");
+ if (.@msg$ != "" && .@msg$ != " ")
+ npctalk .@msg$;
+ else
+ consolewarn "Invalid message passed to execmovecmd/npctalk";
+ }
+ else if (.@cmd$[0] == "debugmes")
+ {
+ deletearray .@cmd$[0], 1;
+ debugmes implode(.@cmd$, " ");
+ }
+ else if (.@cmd$[0] == "flags")
+ {
+ set getvariableofnpc(.mg_flags, strnpcinfo(3)), axtoi(.@cmd$[1]);
+ }
+ else if (.@cmd$[0] == "flags_0")
+ {
+ .@flags = getvariableofnpc(.mg_flags, strnpcinfo(3));
+ .@flags &= ~axtoi(.@cmd$[1]);
+ set getvariableofnpc(.mg_flags, strnpcinfo(3)), .@flags;
+ }
+ else if (.@cmd$[0] == "flags_1")
+ {
+ .@flags = getvariableofnpc(.mg_flags, strnpcinfo(3));
+ .@flags |= axtoi(.@cmd$[1]);
+ set getvariableofnpc(.mg_flags, strnpcinfo(3)), .@flags;
+ }
+ else
+ {
+ consolebug "Unknown move graph cmd: " + .@cmd$[0];
+ }
+ return 0;
+}
+
+function script getnextmovecmd {
+ .@cmds$ = getvariableofnpc(.nextcmd$, strnpcinfo(3));
+ .@firstCmd$ = .@cmds$;
+ .@restCmd$ = "moveon";
+ .@index = strpos(.@cmds$, ";");
+ if (.@index >= 0)
+ {
+ .@firstCmd$ = substr(.@cmds$, 0, .@index - 1);
+ .@restCmd$ = substr(.@cmds$, .@index + 1, getstrlen(.@cmds$) - 1);
+ }
+ // npcdebug "firstCmd = " + .@firstCmd$ + " restCmd = " + .@restCmd$;
+ set getvariableofnpc(.nextcmd$, strnpcinfo(3)), .@restCmd$;
+ return strip(.@firstCmd$);
+}
+
+// getrandompoint(x1,y1,x2,y2)
+// -- Get a random walkable point within a map rectangle
+// x1, y1 -- top-left corner of rectangle
+// x2, y2 -- bottom-right corner of rectangle
+// Returns 0 on success and -1 on error;
+// Since we cannot return multiple values, the random
+// coordinates are stored in NPC variables .move__rand_x, .move__rand_y
+function script getrandompoint {
+ if (getargcount() < 4)
+ {
+ consolebug "error: getrandompoint(x1, y1, x2, y2) takes 4 arguments";
+ return -1;
+ }
+
+ .@max_pokes = 10;
+ .@x1 = getarg(0);
+ .@y1 = getarg(1);
+ .@x2 = getarg(2);
+ .@y2 = getarg(3);
+ .@rx = -1; .@ry = -1;
+
+ getmapxy(.@map$, .@cx, .@cy, 1); // npc location
+
+ // let's try max_pokes random cells
+ for (.@poke = 0; .@poke < .@max_pokes; .@poke++)
+ {
+ .@rx = rand(.@x1, .@x2);
+ .@ry = rand(.@y1, .@y2);
+ if (checknpccell(.@map$, .@rx, .@ry, cell_chkpass))
+ goto L_Found;
+ }
+
+ // we check each cell from random middle point to the end
+ for (;.@rx <= .@x2; .@rx++)
+ {
+ for (;.@ry <= .@y2; .@ry++)
+ if (checknpccell(.@map$, .@rx, .@ry, cell_chkpass))
+ goto L_Found;
+ .@ry = .@y1;
+ }
+
+ // we check the rectangle from beginning to end
+ for (.@rx = .@x1; .@rx <= .@x2; .@rx++)
+ for (.@ry = .@y1; .@ry <= .@y2; .@ry++)
+ if (checknpccell(.@map$, .@rx, .@ry, cell_chkpass))
+ goto L_Found;
+
+ // finally, if we don't find anything
+ consolebug "error: getrandompoint: cannot find walkable cell in rectangle [(" + .@x1 + "," + .@y1 + ") , (" + .@x2 + "," + .@y2 + ")]";
+ return -1;
+
+L_Found:
+ set getvariableofnpc(.move__rand_x, strnpcinfo(3)), .@rx;
+ set getvariableofnpc(.move__rand_y, strnpcinfo(3)), .@ry;
+ return 0;
+}
+
+// wrapper function for npcwalkto. It can accept 4 parameters.
+// If #3 and #4 params are set, the walkto location is chosen
+// from rectangle (x1,y1,x2,y2).
+// It sets the npc variables .move_target_x, .move_target_y
+// that are used to resume NPC walking
+// Returns 1 if walking is possible, 0 otherwise;
+function script mg_npcwalkto {
+ if (getargcount() < 2)
+ {
+ consolebug "usage: mg_npcwalkto(x1,y1[,x2,y2])";
+ return -1;
+ }
+
+ .@x = getarg(0);
+ .@y = getarg(1);
+ .@x2 = getarg(2);
+ .@y2 = getarg(3);
+
+ if (getargcount() >= 4 && .@x2 > 0 && .@y2 > 0)
+ if (!getrandompoint(.@x, .@y, .@x2, .@y2))
+ {
+ .@x = getvariableofnpc(.move__rand_x, strnpcinfo(3));
+ .@y = getvariableofnpc(.move__rand_y, strnpcinfo(3));
+ }
+ else
+ return 0;
+
+ if (npcwalkto(.@x, .@y))
+ {
+ set getvariableofnpc(.move_target_x, strnpcinfo(3)), .@x;
+ set getvariableofnpc(.move_target_y, strnpcinfo(3)), .@y;
+ return 1;
+ }
+ return 0;
+}
+
+function script movetonextpoint {
+ .@wait = getvariableofnpc(.waitticks, strnpcinfo(3));
+ if (.@wait > 0)
+ {
+ .@wait--;
+ set getvariableofnpc(.waitticks, strnpcinfo(3)), .@wait;
+ return;
+ }
+
+ .@nextcmd$ = "";
+ while (.@nextcmd$ != "moveon")
+ {
+ .@nextcmd$ = getnextmovecmd();
+ npcdebug " " + .@nextcmd$;
+ if (execmovecmd(.@nextcmd$))
+ return;
+ }
+
+ // choose a random path from all possible paths
+ .@size = getarraysize(getvariableofnpc(.movepos_x1, strnpcinfo(3)));
+ .@pos = getvariableofnpc(.movepos, strnpcinfo(3));
+ .@curr_flags = getvariableofnpc(.mg_flags, strnpcinfo(3));
+ .@cur = 0;
+ .@weight_sum = 0;
+ // .@dbg$ = getvariableofnpc(.movegraphlabels$[.@pos], strnpcinfo(3)) + ": ";
+
+ for (.@i = 0; .@i < .@size; .@i++)
+ {
+ .@index = .@pos * .@size + .@i;
+ .@cmd$ = getvariableofnpc(.movegraphcmd$[.@index], strnpcinfo(3));
+ .@flags = getvariableofnpc(.movegraphflags[.@index], strnpcinfo(3));
+ if (.@cmd$ != "" &&
+ .@curr_flags & .@flags)
+ {
+ .@nextpos[.@cur] = .@i;
+ .@weights[.@cur] = getvariableofnpc(.movegraphweight[.@index], strnpcinfo(3));
+ // .@dbg$ += getvariableofnpc(.movegraphlabels$[.@i], strnpcinfo(3)) + "=" + .@weights[.@cur] + " ";
+ .@weight_sum += .@weights[.@cur];
+ .@cur++;
+ }
+ }
+ // npcdebug .@dbg$;
+
+ if (!.@weight_sum)
+ {
+ npcdebug("error: cannot pick next walk point. flags=" +
+ getvariableofnpc(.mg_flags, strnpcinfo(3)));
+ return;
+ }
+
+ .@pick_tries = 0;
+L_TryPick:
+ // pick a random number based on weight_sum
+ .@rnd = rand(.@weight_sum);
+ .@k = -1; .@weight_sum = 0;
+ while (.@rnd >= .@weight_sum)
+ {
+ .@k++;
+ .@weight_sum += .@weights[.@k];
+ }
+
+ .@next_idx = .@nextpos[.@k];
+ .@next_x1 = getvariableofnpc(.movepos_x1[.@next_idx], strnpcinfo(3));
+ .@next_y1 = getvariableofnpc(.movepos_y1[.@next_idx], strnpcinfo(3));
+ .@next_x2 = getvariableofnpc(.movepos_x2[.@next_idx], strnpcinfo(3));
+ .@next_y2 = getvariableofnpc(.movepos_y2[.@next_idx], strnpcinfo(3));
+
+ if (!mg_npcwalkto(.@next_x1, .@next_y1, .@next_x2, .@next_y2))
+ {
+ if (.@pick_tries < 10)
+ {
+ .@pick_tries++;
+ goto L_TryPick;
+ }
+
+ // move to a nearby position
+ .@x1 = getvariableofnpc(.movepos_x1[.@pos], strnpcinfo(3));
+ .@y1 = getvariableofnpc(.movepos_y1[.@pos], strnpcinfo(3));
+ .@x2 = getvariableofnpc(.movepos_x2[.@pos], strnpcinfo(3));
+ .@y2 = getvariableofnpc(.movepos_y2[.@pos], strnpcinfo(3));
+ mg_npcwalkto(.@x1, .@y1, .@x2, .@y2);
+ set getvariableofnpc(.nextcmd$, strnpcinfo(3)), "wait 1";
+
+ return;
+ }
+
+ if (getvariableofnpc(.debug, strnpcinfo(3)))
+ {
+ getmapxy(.@map$, .@cx, .@cy, 1);
+ .@dist = distance(.@cx, .@cy, .@next_x1, .@next_y1);
+ npcdebug("moving to " + getvariableofnpc(.movegraphlabels$[.@next_idx], strnpcinfo(3)) +
+ " ("+ getvariableofnpc(.move_target_x, strnpcinfo(3)) +
+ "," + getvariableofnpc(.move_target_y, strnpcinfo(3)) +
+ ") [distance=" + .@dist +
+ "] flags=" + getvariableofnpc(.mg_flags, strnpcinfo(3)));
+ }
+
+ .@nextcmd$ = getvariableofnpc(.movegraphcmd$[.@pos * .@size + .@next_idx], strnpcinfo(3));
+ set getvariableofnpc(.nextcmd$, strnpcinfo(3)), .@nextcmd$;
+ set getvariableofnpc(.movepos, strnpcinfo(3)), .@next_idx;
+ return;
+}
+
+// initial actions for npc when using move graphs.
+// function can accept 2 arguments:
+// 1: action sequence, for example "speed 200; dir 4". Default is "moveon"
+// 2: start point label. Default is #0 from move graph labels
+function script firstmove {
+ .@nextcmd$ = getarg(0, "moveon");
+ .@initpos = findmovegraphlabel(getarg(1, ""));
+ if (.@initpos < 0) .@initpos = 0;
+
+ set getvariableofnpc(.movepos, strnpcinfo(3)), .@initpos;
+ movenpc strnpcinfo(3), getvariableofnpc(.movepos_x1[.@initpos], strnpcinfo(3)),
+ getvariableofnpc(.movepos_y1[.@initpos], strnpcinfo(3));
+ set getvariableofnpc(.nextcmd$, strnpcinfo(3)), .@nextcmd$;
+ set getvariableofnpc(.waitticks, strnpcinfo(3)), -1;
+ set getvariableofnpc(.mg_flags, strnpcinfo(3)), 0xffff;
+ movetonextpoint;
+ return;
+}
+
+function script npc_pausemove {
+ stopnpctimer;
+ .@move_after = 0;
+
+ if (isunitwalking())
+ {
+ .@move_after = 1;
+ npcwalkto .x, .y;
+ npcstop;
+ }
+ set getvariableofnpc(.move_after_pause, strnpcinfo(3)), .@move_after;
+
+ return 0;
+}
+
+function script npc_resumemove {
+ startnpctimer;
+
+ if (getvariableofnpc(.move_after_pause, strnpcinfo(3)))
+ {
+ .@x = getvariableofnpc(.move_target_x, strnpcinfo(3));
+ .@y = getvariableofnpc(.move_target_y, strnpcinfo(3));
+ npcwalkto .@x, .@y;
+ }
+
+ return 0;
+}
+
+// npc_turntoxy(x,y)
+// turn npc toward an object at position (x,y)
+function script npc_turntoxy {
+ .@target_x = getarg(0);
+ .@target_y = getarg(1);
+ .@dx = abs(.@target_x - .x);
+ .@dy = abs(.@target_y - .y);
+
+ if (.@dx > .@dy)
+ .dir = .@target_x >= .x ? 6 : 2;
+ else
+ .dir = .@target_y >= .y ? 0 : 4;
+
+ return 0;
+}
+
+function script dographmovestep {
+ if (!isunitwalking())
+ {
+ movetonextpoint;
+ }
+ initnpctimer;
+ end;
+}
diff --git a/npc/functions/nurse.txt b/npc/functions/nurse.txt
new file mode 100644
index 0000000..7335c74
--- /dev/null
+++ b/npc/functions/nurse.txt
@@ -0,0 +1,84 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Nurse for all hurt players
+
+// Name, Base Price, Price Multiplier
+// getarg(3) switches functions:
+// 1 - Only healing dialog (returns price)
+// 2 - Only core healing
+// 3 - everything (default)
+function script Nurse {
+ // Handle redirects
+ .@d=getarg(3, 3);
+
+ // Calculate price
+ .@price=(MaxHp-Hp)/getarg(1,5);
+ .@price=.@price+getarg(2, 10);
+ if (BaseLevel <= 15) .@price=(.@price/10);
+ else if (BaseLevel <= 20) .@price=(.@price/5);
+ else .@price=(.@price/2);
+
+
+ // 1 - Only Healing Dialog and return .@price
+ if (.@d & 1) {//&1
+ mes "";
+ mesn getarg(0);
+
+ // Random message
+ .@temp = rand2(1,4);
+ switch (.@temp) {
+ case 1:
+ mesq l("You don't look too well; let me treat your wounds.");
+ break;
+ case 2:
+ mesq l("I will make quick work of your wounds.");
+ break;
+ case 3:
+ mesq l("Need a healing?");
+ break;
+ case 4:
+ mesq l("Sometimes you just need to run from battle.");
+ break;
+ }
+ mes "";
+
+ // Skip menu flag
+ if (!(.@d & 2))
+ return .@price;
+
+ mesq l("For you, it'll be @@ GP.", .@price);
+ mes "";
+ select
+ rif(Zeny >= .@price, l("Please heal me!")),
+ l("Another time, maybe.");
+
+ if (@menu == 2) {
+ closedialog;
+ goodbye;
+ close;
+ }
+
+ }// & 1
+
+ // Allowed Nurse to do the healing
+ if (.@d & 2) { // &2
+
+ // Heal persona
+ mes "";
+ set Zeny, Zeny - .@price;
+ sc_end(SC_POISON);
+ sc_end(SC_SLOWPOISON);
+ percentheal 100,100; // We can also use "recovery()" but that revives players :o
+ mesn getarg(0);
+ @temp = rand2(1,4);
+ if(@temp == 1) mesq l("Here you go!");
+ if(@temp == 2) mesq l("Painless, wasn't it?");
+ if(@temp == 3) mesq l("You should be more careful.");
+ if(@temp == 4) mesq l("Much better, right?!");
+ close;
+
+ }//&2
+ return;
+}
diff --git a/npc/functions/openbook.txt b/npc/functions/openbook.txt
new file mode 100644
index 0000000..7cf87dd
--- /dev/null
+++ b/npc/functions/openbook.txt
@@ -0,0 +1,27 @@
+// Evol functions.
+// Author:
+// Reid
+// Description:
+// Narrator dialogue to show the selected book.
+// Variables:
+// @book_name$ = The name of the book to read.
+
+function script openbook {
+ .@book_name$ = "\"" + l(getarg(0, getvariableofnpc(.book_name$, strnpcinfo(0)))) + "\"";
+
+ mesc l("You open a book named @@. Do you want to read it?", .@book_name$);
+ next;
+
+ return (select("Yes.", "No.") == 1);
+}
+
+function script openbookshelf {
+ .@book_name$ = "\"" + l(getarg(0, getvariableofnpc(.book_name$, strnpcinfo(0)))) + "\"";
+
+ narrator S_LAST_NEXT,
+ l("You see a dust covered book on the shelf... The name of the book is @@.", .@book_name$),
+ l("Do you want to read it?");
+
+ return (select("Yes.", "No.") == 1);
+}
+
diff --git a/npc/functions/permissions.txt b/npc/functions/permissions.txt
new file mode 100644
index 0000000..2838f7a
--- /dev/null
+++ b/npc/functions/permissions.txt
@@ -0,0 +1,25 @@
+// TMW2 scripts.
+// Author:
+// Jesusalva
+// Description:
+// Checks player GM levels
+
+function script is_gm {
+ return (getgmlevel() >= 60);
+}
+
+function script is_master {
+ return (getgmlevel() >= 80);
+}
+
+function script is_admin {
+ return (getgmlevel() >= 99);
+}
+
+function script is_staff {
+ return (getgmlevel() >= 5);
+}
+
+function script is_sponsor {
+ return (getgmlevel());
+}
diff --git a/npc/functions/petsales.txt b/npc/functions/petsales.txt
new file mode 100644
index 0000000..b986346
--- /dev/null
+++ b/npc/functions/petsales.txt
@@ -0,0 +1,43 @@
+// TMW-2 Script
+// Author: Jesusalva
+// Desc: Grand Hunter Pet Quest Utils.
+// Note: Remember to update GHQ and pet_detective on LoF Village (017-1)
+
+// Core logic for Pet Detective. Doesn't checks for stock, allowing exploits.
+// MobID, ItemID, Base Value
+function script PDQ_InnerSwitch {
+
+ .@mid=getarg(0);
+ .@iid=getarg(1);
+ .@val=getarg(2, 30);
+
+ .@qid=GHQ_GetQuestIDByMonsterID(.@mid);
+ .@price=.@val*(PETMEMO[.@qid]+1)+PETMEMO[.@qid];
+
+ mesn;
+ mesq l("That'll cost you @@/@@ @@.", countitem(.@iid), .@price, getitemlink(.@iid));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (countitem(.@iid) >= .@price) {
+ delitem .@iid, .@price;
+ makepet .@mid;
+ getexp .@price*BaseLevel, 0;
+ PETMEMO[.@qid]+=1;
+ mesn;
+ mesq l("There you go!");
+ return 1;
+ } else {
+ mesn;
+ mesq l("You don't have that, lying is bad for health...");
+ }
+ }
+ return 0;
+}
+
+// Returns GHMEMO[GHQ_GetQuestIDByMonsterID(PetName)]
+// Arguments: PetName (eg. Maggot)
+function script PDQ_CheckGHQ {
+ .@mid=GHQ_GetQuestIDByMonsterID(getarg(0));
+ return GHMEMO[.@mid];
+}
+
diff --git a/npc/functions/politics.txt b/npc/functions/politics.txt
new file mode 100644
index 0000000..7c9dd5c
--- /dev/null
+++ b/npc/functions/politics.txt
@@ -0,0 +1,657 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Central Town Political System Controller
+// Note: The office is NOT Mayor, we have from kings to mayors here and you're
+// not a citzen (yet). It'll be... I'll think in a name better than Minister.
+// Perhaps, Town Administrator.
+// Variables:
+// $LOC_MAYOR$ - Stores the name of current Hurnscald Mayor
+// $LOC_MONEY - Total money reserves of Hurnscald
+// $LOC_TAX - How much in % is charged as taxes. (OnBuy income)
+// $LOC_EXPORT - Defines how much Hurnscald exports (weekly income)
+// $LOC_REPUTATION - Town reputation. Affects Max Tax and Weekly Income;
+// Note: Tax cannot exceed 10% ie 1000. Reputation must be between 0 and 100.
+//
+// "Temporary Arrays":
+// $LOC_CANDIDATE$ - Candidate for Office
+// $LOC_VOTES - Number of votes of Candidate
+
+// Proccess Taxes from purchases
+// PurchaseTaxes( Location )
+function script PurchaseTaxes {
+ .@tax=0;
+ for (.@i=0; .@i < getarraysize(@bought_nameid); .@i++) {
+ // Note: Some NPC might not
+ .@price=getiteminfo(@bought_nameid[.@i], ITEMINFO_BUYPRICE);
+ .@tax+=.@price*@bought_quantity[.@i];
+ }
+ .@loc$=strtoupper(getarg(0, LOCATION$));
+ .@vat=getd("$"+.@loc$+"_TAX");
+ .@tax=.@tax*.@vat/10000;
+ if (.@tax) {
+ debugmes "%s paid %d in taxes to %s prefecture!", strcharinfo(0), .@tax, .@loc$;
+ .@gp=getd("$"+.@loc$+"_MONEY");
+ setd("$"+.@loc$+"_MONEY", .@gp+.@tax);
+ .@tp=POL_LocToTP(.@loc$);
+ if (#EXILED & .@tp)
+ Zeny=max(0, Zeny-.@tax);
+ }
+ return;
+}
+
+// Proccess Taxes from sales (20% from purchase tax)
+// SaleTaxes( Location )
+function script SaleTaxes {
+ .@tax=0;
+ for (.@i=0; .@i < getarraysize(@sold_nameid); .@i++) {
+ // Note: Some NPC might not
+ .@price=getiteminfo(@sold_nameid[.@i], ITEMINFO_SELLPRICE);
+ .@tax+=.@price*@sold_quantity[.@i];
+ }
+ .@loc$=strtoupper(getarg(0, LOCATION$));
+ .@vat=getd("$"+.@loc$+"_TAX");
+ .@vat=.@vat*3/4; // Only 75% of purchase tax (defaults to 0.75% I guess)
+ .@tax=.@tax*.@vat/10000;
+ if (.@tax) {
+ debugmes "Sale: %s paid %d in taxes to %s prefecture!", strcharinfo(0), .@tax, .@loc$;
+ .@gp=getd("$"+.@loc$+"_MONEY");
+ setd("$"+.@loc$+"_MONEY", .@gp+.@tax);
+ dispbottom col(l("%s is happy because you've paid %d GP in taxes!", getd("$"+.@loc$+"_MAYOR$"), .@tax), 1);
+ Zeny-=.@tax; // Player must pay the taxes
+ .@tp=POL_LocToTP(.@loc$);
+ /*
+ if (#EXILED & .@tp)
+ Zeny=max(0, Zeny-.@tax);
+ */
+ }
+ return;
+}
+
+// Adjusts prices for crafts
+// POL_AdjustPrice( price, {TOWNCODE} )
+function script POL_AdjustPrice {
+ .@p=getarg(0);
+ .@l$=strtoupper(getarg(1, LOCATION$));
+
+ // Town Admin is always tax exempt
+ if (getd("$" + .@l$ + "_MAYOR$") == strcharinfo(0))
+ .@p=0;
+
+ // Town option for tax immunity
+ if (getd("$" + .@l$ + "_TAXOFF")) {
+ .@vat=getd("$"+.@l$+"_TAX");
+ .@tax=.@p*.@vat/10000;
+ .@p-=.@tax;
+ }
+
+ // Return adjusted price
+ return .@p;
+}
+
+// Change a town money at player expense
+// POL_PlayerMoney( price, {TOWNCODE} )
+function script POL_PlayerMoney {
+ .@p=getarg(0);
+ .@l$=strtoupper(getarg(1, LOCATION$));
+ .@t=POL_LocToTP(.@l$);
+
+ Zeny-=.@p;
+
+ // Town option for tax immunity
+ if (getd("$" + .@l$ + "_TAXOFF")) {
+ return 0;
+ }
+
+ // Calculate tax and add to town vault
+ .@vat=getd("$"+.@l$+"_TAX");
+ .@tax=.@p*.@vat/10000;
+ .@GP=getd("$" + .@l$ + "_MONEY");
+ if (playerattached()) {
+ if (is_gm())
+ dispbottom l("GP: %d + %d", .@GP, .@tax);
+ }
+ setd("$" + .@l$ + "_MONEY", .@GP+.@tax);
+
+ // Return the taxes paid
+ return .@tax;
+}
+
+- script Politics NPC_HIDDEN,{
+
+// Daily Paperwork Penalty
+OnClock2359:
+ if ($TULIM_DAILYQUEST != gettimeparam(GETTIME_DAYOFMONTH) && $TULIM_MAYOR$ != "Jesus Saves")
+ $TULIM_REPUTATION=limit(0, $TULIM_REPUTATION-2, 100);
+ if ($HALIN_DAILYQUEST != gettimeparam(GETTIME_DAYOFMONTH) && $HALIN_MAYOR$ != "Jesus Saves")
+ $HALIN_REPUTATION=limit(0, $HALIN_REPUTATION-2, 100);
+ if ($HURNS_DAILYQUEST != gettimeparam(GETTIME_DAYOFMONTH) && $HURNS_MAYOR$ != "Jesus Saves")
+ $HURNS_REPUTATION=limit(0, $HURNS_REPUTATION-2, 100);
+ if ($NIVAL_DAILYQUEST != gettimeparam(GETTIME_DAYOFMONTH) && $NIVAL_MAYOR$ != "Jesus Saves")
+ $NIVAL_REPUTATION=limit(0, $NIVAL_REPUTATION-2, 100);
+ if ($LOF_DAILYQUEST != gettimeparam(GETTIME_DAYOFMONTH) && $LOF_MAYOR$ != "Jesus Saves")
+ $LOF_REPUTATION=limit(0, $LOF_REPUTATION-2, 100);
+ if ($FROSTIA_DAILYQUEST != gettimeparam(GETTIME_DAYOFMONTH) && $FROSTIA_MAYOR$ != "Jesus Saves")
+ $FROSTIA_REPUTATION=limit(0, $FROSTIA_REPUTATION-2, 100);
+ if ($CANDOR_DAILYQUEST != gettimeparam(GETTIME_DAYOFMONTH) && $CANDOR_MAYOR$ != "Jesus Saves")
+ $CANDOR_REPUTATION=limit(0, $CANDOR_REPUTATION-2, 100);
+ end;
+
+OnSun0000:
+ // Weekly reputation-based income
+ $TULIM_MONEY+=$TULIM_EXPORT*limit(10, $TULIM_REPUTATION, 100)/100;
+ $HALIN_MONEY+=$HALIN_EXPORT*limit(10, $HALIN_REPUTATION, 100)/100;
+ $HURNS_MONEY+=$HURNS_EXPORT*limit(10, $HURNS_REPUTATION, 100)/100;
+ $LOF_MONEY+=$LOF_EXPORT*limit(10, $LOF_REPUTATION, 100)/100;
+ $NIVAL_MONEY+=$NIVAL_EXPORT*limit(10, $NIVAL_REPUTATION, 100)/100;
+ $FROSTIA_MONEY+=$FROSTIA_EXPORT*limit(10, $FROSTIA_REPUTATION, 100)/100;
+ $CANDOR_MONEY+=$CANDOR_EXPORT*limit(10, $CANDOR_REPUTATION, 100)/100;
+
+ // Weekly tax-based income
+ $TULIM_MONEY+=$TULIM_EXPORT*$TULIM_TAX*7/10000;
+ $HALIN_MONEY+=$HALIN_EXPORT*$HALIN_TAX*7/10000;
+ $HURNS_MONEY+=$HURNS_EXPORT*$HURNS_TAX*7/10000;
+ $LOF_MONEY+=$LOF_EXPORT*$LOF_TAX*7/10000;
+ $NIVAL_MONEY+=$NIVAL_EXPORT*$NIVAL_TAX*7/10000;
+ $FROSTIA_MONEY+=$FROSTIA_EXPORT*$FROSTIA_TAX*7/10000;
+ $CANDOR_MONEY+=$CANDOR_EXPORT*$CANDOR_TAX*7/10000;
+
+ // Send salary to Town Administrators (20% from exports and 5GP/reputation)
+ // Strange Coins: 1 each 10 reputation points
+ .@msg$=sprintf(
+ "You've received the money for the term (%02d/%02d, the %dth legislature)",
+ gettime(GETTIME_DAYOFMONTH),
+ gettime(GETTIME_MONTH),
+ gettimeparam(GETTIME_WEEKDAY));
+
+ .@tax=$TULIM_EXPORT/500;
+ .@tax+=$TULIM_REPUTATION*5;
+ .@tax=min($TULIM_MONEY, .@tax);
+ .@cp=limit(1, $TULIM_REPUTATION/10, 10);
+ $TULIM_MONEY-=.@tax;
+ rodex_sendmail(gf_charnameid($TULIM_MAYOR$), "Tulimshar Townhall", "Term Income", .@msg$, .@tax, StrangeCoin, .@cp);
+
+ .@tax=$HALIN_EXPORT/500;
+ .@tax+=$HALIN_REPUTATION*5;
+ .@tax=min($HALIN_MONEY, .@tax);
+ .@cp=limit(1, $HALIN_REPUTATION/10, 10);
+ $HALIN_MONEY-=.@tax;
+ rodex_sendmail(gf_charnameid($HALIN_MAYOR$), "Halinarzo Townhall", "Term Income", .@msg$, .@tax, StrangeCoin, .@cp);
+
+ .@tax=$HURNS_EXPORT/500;
+ .@tax+=$HURNS_REPUTATION*5;
+ .@tax=min($HURNS_MONEY, .@tax);
+ .@cp=limit(1, $HURNS_REPUTATION/10, 10);
+ $HURNS_MONEY-=.@tax;
+ rodex_sendmail(gf_charnameid($HURNS_MAYOR$), "Hurnscald Townhall", "Term Income", .@msg$, .@tax, StrangeCoin, .@cp);
+
+ .@tax=$LOF_EXPORT/500;
+ .@tax+=$LOF_REPUTATION*5;
+ .@tax=min($LOF_MONEY, .@tax);
+ .@cp=limit(1, $LOF_REPUTATION/10, 10);
+ $LOF_MONEY-=.@tax;
+ rodex_sendmail(gf_charnameid($LOF_MAYOR$), "LoF Townhall", "Term Income", .@msg$, .@tax, StrangeCoin, .@cp);
+
+ .@tax=$NIVAL_EXPORT/500;
+ .@tax+=$NIVAL_REPUTATION*5;
+ .@tax=min($NIVAL_MONEY, .@tax);
+ .@cp=limit(1, $NIVAL_REPUTATION/10, 10);
+ $NIVAL_MONEY-=.@tax;
+ rodex_sendmail(gf_charnameid($NIVAL_MAYOR$), "Nivalis Townhall", "Term Income", .@msg$, .@tax, StrangeCoin, .@cp);
+
+ /* Towns with volunteer town admins
+ .@tax=$FROSTIA_EXPORT/500;
+ .@tax+=$FROSTIA_REPUTATION*5;
+ .@tax=min($FROSTIA_MONEY, .@tax);
+ .@cp=limit(1, $FROSTIA_REPUTATION/10, 10);
+ $FROSTIA_MONEY-=.@tax;
+ rodex_sendmail(gf_charnameid($FROSTIA_MAYOR$), "Frostia Townhall", "Term Income", .@msg$, .@tax, StrangeCoin, .@cp);
+
+ .@tax=$CANDOR_EXPORT/500;
+ .@tax+=$CANDOR_REPUTATION*5;
+ .@tax=min($CANDOR_MONEY, .@tax);
+ .@cp=limit(1, $CANDOR_REPUTATION/10, 10);
+ $CANDOR_MONEY-=.@tax;
+ rodex_sendmail(gf_charnameid($CANDOR_MAYOR$), "Candor Townhall", "Term Income", .@msg$, .@tax, StrangeCoin, .@cp);
+ */
+
+ // Conduct elections
+ .@w=array_highest($TULIM_VOTES);
+ if ($TULIM_CANDIDATE$[.@w] != "")
+ $TULIM_MAYOR$=$TULIM_CANDIDATE$[.@w];
+ deletearray($TULIM_CANDIDATE$);
+ deletearray($TULIM_VOTES);
+ array_push($TULIM_CANDIDATE$, ($TULIM_REPUTATION < 15 ? "Jesus Saves" : $TULIM_MAYOR$));
+ array_push($TULIM_VOTES, 0);
+
+ .@w=array_highest($HALIN_VOTES);
+ if ($HALIN_CANDIDATE$[.@w] != "")
+ $HALIN_MAYOR$=$HALIN_CANDIDATE$[.@w];
+ deletearray($HALIN_CANDIDATE$);
+ deletearray($HALIN_VOTES);
+ array_push($HALIN_CANDIDATE$, ($HALIN_REPUTATION < 15 ? "Jesus Saves" : $HALIN_MAYOR$));
+ array_push($HALIN_VOTES, 0);
+
+ .@w=array_highest($HURNS_VOTES);
+ if ($HURNS_CANDIDATE$[.@w] != "")
+ $HURNS_MAYOR$=$HURNS_CANDIDATE$[.@w];
+ deletearray($HURNS_CANDIDATE$);
+ deletearray($HURNS_VOTES);
+ array_push($HURNS_CANDIDATE$, ($HURNS_REPUTATION < 15 ? "Jesus Saves" : $HURNS_MAYOR$));
+ array_push($HURNS_VOTES, 0);
+
+ .@w=array_highest($LOF_VOTES);
+ if ($LOF_CANDIDATE$[.@w] != "")
+ $LOF_MAYOR$=$LOF_CANDIDATE$[.@w];
+ deletearray($LOF_CANDIDATE$);
+ deletearray($LOF_VOTES);
+ array_push($LOF_CANDIDATE$, ($LOF_REPUTATION < 15 ? "Jesus Saves" : $LOF_MAYOR$));
+ array_push($LOF_VOTES, 0);
+
+ .@w=array_highest($NIVAL_VOTES);
+ if ($NIVAL_CANDIDATE$[.@w] != "")
+ $NIVAL_MAYOR$=$NIVAL_CANDIDATE$[.@w];
+ deletearray($NIVAL_CANDIDATE$);
+ deletearray($NIVAL_VOTES);
+ array_push($NIVAL_CANDIDATE$, ($NIVAL_REPUTATION < 15 ? "Jesus Saves" : $NIVAL_MAYOR$));
+ array_push($NIVAL_VOTES, 0);
+
+ .@w=array_highest($FROSTIA_VOTES);
+ if ($FROSTIA_CANDIDATE$[.@w] != "")
+ $FROSTIA_MAYOR$=$FROSTIA_CANDIDATE$[.@w];
+ deletearray($FROSTIA_CANDIDATE$);
+ deletearray($FROSTIA_VOTES);
+ array_push($FROSTIA_CANDIDATE$, ($FROSTIA_REPUTATION < 15 ? "Jesus Saves" : $FROSTIA_MAYOR$));
+ array_push($FROSTIA_VOTES, 0);
+
+ .@w=array_highest($CANDOR_VOTES);
+ if ($CANDOR_CANDIDATE$[.@w] != "")
+ $CANDOR_MAYOR$=$CANDOR_CANDIDATE$[.@w];
+ deletearray($CANDOR_CANDIDATE$);
+ deletearray($CANDOR_VOTES);
+ array_push($CANDOR_CANDIDATE$, ($CANDOR_REPUTATION < 15 ? "Jesus Saves" : $CANDOR_MAYOR$));
+ array_push($CANDOR_VOTES, 0);
+
+ // Notify new mayors of their victory
+ rodex_sendmail(gf_charnameid($TULIM_MAYOR$), "Tulimshar Townhall", "Election Victory", "You've been elected to the office!");
+ rodex_sendmail(gf_charnameid($HALIN_MAYOR$), "Halinarzo Townhall", "Election Victory", "You've been elected to the office!");
+ rodex_sendmail(gf_charnameid($HURNS_MAYOR$), "Hurnscald Townhall", "Election Victory", "You've been elected to the office!");
+ rodex_sendmail(gf_charnameid($LOF_MAYOR$), "LoF Townhall", "Election Victory", "You've been elected to the office!");
+ rodex_sendmail(gf_charnameid($NIVAL_MAYOR$), "Nivalis Townhall", "Election Victory", "You've been elected to the office!");
+ // Towns where admins are named, instead of elected
+ //rodex_sendmail(gf_charnameid($FROSTIA_MAYOR$), "Frostia Townhall", "Election Victory", "You've been elected to the office!");
+ //rodex_sendmail(gf_charnameid($CANDOR_MAYOR$), "Candor Townhall", "Election Victory", "You've been elected to the office!");
+
+ end;
+}
+/////////////////////////
+
+
+// Dialog helpers
+// General info
+// POL_Information( )
+function script POL_Information {
+
+ mesc l("Weekly, at Sunday 00:00, elections are held.");
+ mesc l("The current town administrator will be inscribed for re-election automatically.");
+ mesc l("However, if town has less than 15 reputation, they'll need to re-apply manually, and may lose the office for the bot account.");
+ dnext;
+ mesc l("Town Administrator can use the town money for investments, and also receive a salary depending on how well the town is.");
+ next;
+ mesc l("A player may be the town admin of several different towns.");
+ mesc l("However, an account may only apply for an office weekly.");
+ mesc l("The account with highest votes will win. Ties will be solved by randomness.");
+ mesc l("An account may vote anywhere, but only once per town (weekly).");
+ next;
+ mesc l("The town administrator benefits for free services on the town.");
+ mesc l("Also, they can control the city taxes, which are applied upon purchases and sales within the town.");
+ mesc l("However, they must visit their town office and do daily paperwork, every day. Otherwise, town reputation will go down.");
+ mesc l("If town reputation reaches zero, the town will only be able to get money with taxes.");
+ return;
+}
+
+// Candidate Info and voting
+// POL_Candidate( TOWNCODE )
+function script POL_Candidate {
+ copyarray( .@cd$, getd("$"+getarg(0)+"_CANDIDATE$"), getarraysize(getd("$"+getarg(0)+"_CANDIDATE$")) );
+ copyarray( .@vt, getd("$"+getarg(0)+"_VOTES"), getarraysize(getd("$"+getarg(0)+"_VOTES")) );
+
+ .@list$="Don't vote";
+ for (.@i=0;.@i<getarraysize(.@cd$);.@i++) {
+ mesc .@cd$[.@i] + " - "+.@vt[.@i] + " " + l("votes");
+ .@list$+=":"+.@cd$[.@i];
+ }
+
+ next;
+ if (#POL_VOTEDAY[POL_LocToTP(getarg(0))] == gettimeparam(GETTIME_WEEKDAY))
+ return;
+ mesc l("In whom to vote?");
+ select .@list$;
+ .@vote=@menu-2;
+
+ // Didn't vote
+ if (.@vote < 0)
+ return;
+
+ // You cannot vote on yourself
+ if (getd("$"+getarg(0)+"_CANDIDATE$"+"["+.@vote+"]") == strcharinfo(0)) {
+ mesc l("You cannot vote on yourself!"), 1;
+ // mesc l("Use an alt char to do that.");
+ return;
+ }
+
+ // Cast the vote
+ #POL_VOTEDAY[POL_LocToTP(getarg(0))]=gettimeparam(GETTIME_WEEKDAY);
+ .@str$="$"+getarg(0)+"_VOTES"+"["+.@vote+"]";
+ .@vt=getd(.@str$);
+ setd(.@str$, .@vt+1);
+
+ mesc l("The vote was cast."), 3;
+ mesc l("You supported: ")+getd("$"+getarg(0)+"_CANDIDATE$"+"["+.@vote+"]"), 3;
+ next;
+ return true;
+}
+
+
+// Town info
+// POL_TownInfo( TOWNCODE )
+function script POL_TownInfo {
+ .@MAYOR$=getd("$"+getarg(0)+"_MAYOR$");
+ .@GP=getd("$"+getarg(0)+"_MONEY");
+ .@TX=getd("$"+getarg(0)+"_TAX");
+ .@EX=getd("$"+getarg(0)+"_EXPORT");
+ .@RP=getd("$"+getarg(0)+"_REPUTATION");
+ if (strcharinfo(0) == .@MAYOR$ || is_gm()) {
+ mesc l("Town Money: @@", .@GP), 2;
+ mesc l("Town Reputation: %d | %d.%02d %% Tax", .@RP, .@TX/100, .@TX%100), 2;
+ mesc l("Town Weekly Exports: @@", .@EX), 2;
+ } else {
+ mesc l("Town Tax: %d.%02d %%", .@TX/100, .@TX%100), 2;
+ }
+ return;
+}
+
+
+
+// Town Management
+// POL_Manage( TOWNCODE )
+function script POL_Manage {
+ .@town$="$"+getarg(0);
+ .@MAYOR$=getd("$"+getarg(0)+"_MAYOR$");
+ .@TP=POL_LocToTP(getarg(0));
+
+ if (strcharinfo(0) != .@MAYOR$)
+ return;
+
+ // How many actions do you have?
+ // You get 1 action/4-hour, capped to 6
+ .@left=(gettimeparam(GETTIME_HOUR)/4)-TOWN_ACTIONS[.@TP];
+ if (.@left > 6) {
+ .@left=6;
+ TOWN_ACTIONS[.@TP]=(gettimeparam(GETTIME_HOUR)/4)-6;
+ }
+
+ do
+ {
+ .@GP=getd("$"+getarg(0)+"_MONEY");
+ .@TX=getd("$"+getarg(0)+"_TAX");
+ .@EX=getd("$"+getarg(0)+"_EXPORT");
+ .@RP=getd("$"+getarg(0)+"_REPUTATION");
+ .@CR=getd("$"+getarg(0)+"_TAXOFF");
+ .@DQ=getd("$"+getarg(0)+"_DAILYQUEST");
+ .@SE=getd("$"+getarg(0)+"_SIEGEXP");
+ .@left=(gettimeparam(GETTIME_HOUR)/4)-TOWN_ACTIONS[.@TP];
+
+ mesc l("Town Money: @@", .@GP), 2;
+ mesc l("Town Reputation: %d | %d.%02d %% Tax", .@RP, .@TX/100, .@TX%100), 2;
+ mesc l("Town Weekly Exports: @@", .@EX), 2;
+ mesc l("Total actions left: %d", .@left), (.@left > 1 ? 9 : 1);
+ next;
+ menuint
+ l("Nothing"), 0,
+ rif(.@DQ != gettimeparam(GETTIME_DAYOFMONTH), l("Do some paperwork")), 1,
+ rif(.@left, l("Invest in Exportations")), 10,
+ rif(.@left, l("Invest in Reputation")), 20,
+ rif(.@left, l("Raise city taxes")), 30,
+ rif(.@left, l("Lower city taxes")), 35,
+ rif(.@CR && .@RP, l("Tax crafters")), 40,
+ rif(!.@CR, l("Don't tax crafters")), 41,
+ rif(.@left && !.@SE, l("Town Defense Program")), 60,
+ rif(.@left >= 6, l("Exile a player")), 70,
+ rif(.@left >= 6, l("Revert a player exile")), 71,
+ rif(.@left, l("Raise server wide EXP")), 80,
+ rif(Zeny > $ALLIANCE_TAX1, l("Donate to town")), 90,
+ l("Resign"), 99;
+ mes "";
+ switch (@menuret) {
+ // Mark 0: Cycle
+ case 1:
+ if (rand2(3) == 1)
+ setd(.@town$+"_REPUTATION", limit(0, .@RP+1, 100));
+ setd(.@town$+"_DAILYQUEST", gettimeparam(GETTIME_DAYOFMONTH));
+ mesc l("You dealt with paperwork."), 2;
+ break;
+ // Mark 10: Exports
+ case 10:
+ .@cost=.@EX/10;
+ mesc l("Investing in Exportations"), 3;
+ mesc l("You need @@ GP to make this investment.", .@cost);
+ if (.@GP < .@cost)
+ break;
+ mesc l("Are you sure?");
+ if (askyesno() == ASK_YES) {
+ .@BN=rand2(.@cost/52, .@cost/24) + 1;
+ .@GP=getd("$"+getarg(0)+"_MONEY");
+ setd(.@town$+"_MONEY", .@GP-.@cost);
+ setd(.@town$+"_EXPORT", .@EX+.@BN);
+ TOWN_ACTIONS[.@TP]+=1;
+ mesc l("Investment executed"), 2;
+ next;
+ }
+ break;
+ // Mark 20: Reputation
+ case 20:
+ .@cost=.@RP*3;
+ mesc l("Investing in Reputation"), 3;
+ if (.@RP >= 100) {
+ mesc l("Reputation cannot go above 100!"), 1;
+ next;
+ break;
+ }
+ mesc l("You need @@ GP to make this investment.", .@cost);
+ if (.@GP < .@cost)
+ break;
+ mesc l("Are you sure?");
+ if (askyesno() == ASK_YES) {
+ .@GP=getd("$"+getarg(0)+"_MONEY");
+ setd(.@town$+"_MONEY", .@GP-.@cost);
+ setd(.@town$+"_REPUTATION", .@RP+1);
+ TOWN_ACTIONS[.@TP]+=1;
+ mesc l("Investment executed"), 2;
+ next;
+ }
+ break;
+ // Mark 30: TAXES and Tax Governance
+ case 30:
+ .@cost=.@TX/11;
+ mesc l("Raising Taxes"), 3;
+ mesc l("You need @@ Reputation to make this investment.", .@cost);
+ mesc l("Taxes will raise in 0.02~0.05%, capped at 15%.");
+ if (.@RP < .@cost || .@TX >= 1500)
+ break;
+ mesc l("Are you sure?");
+ if (askyesno() == ASK_YES) {
+ setd(.@town$+"_REPUTATION", .@RP-.@cost);
+ setd(.@town$+"_TAX", .@TX+rand2(2,5));
+ TOWN_ACTIONS[.@TP]+=1;
+ mesc l("Taxes raised"), 1;
+ next;
+ }
+ break;
+ case 35:
+ .@cost=.@TX/30;
+ mesc l("Lowering Taxes"), 3;
+ mesc l("You will gain @@ Reputation.", .@cost);
+ mesc l("Taxes will fall in 0.01~0.03%, capped at 0.00%");
+ if (.@TX <= 0 || .@RP >= 100)
+ break;
+ mesc l("Are you sure?");
+ if (askyesno() == ASK_YES) {
+ .@val=.@TX-(.@cost ? rand2(1,3) : 1);
+ setd(.@town$+"_TAX", max(0, .@val));
+ setd(.@town$+"_REPUTATION", min(100, .@RP+.@cost));
+ TOWN_ACTIONS[.@TP]+=1;
+ mesc l("Taxes lowered"), 1;
+ next;
+ }
+ break;
+ // Mark 40: Tax Crafters and Town Policies
+ case 40:
+ setd("$"+getarg(0)+"_TAXOFF", false);
+ setd(.@town$+"_REPUTATION", .@RP-1);
+ mesc l("Crafters are now paying taxes."), 1;
+ break;
+ case 41:
+ setd("$"+getarg(0)+"_TAXOFF", true);
+ setd(.@town$+"_REPUTATION", .@RP+1);
+ mesc l("Crafters no longer pays taxes. (Tax exempt)"), 1;
+ break;
+ // Mark 60: Global events interference
+ case 60:
+ .@cost = 2000 - (.@RP * 10);
+ mesc l("Town Defense Program"), 3;
+ mesc l("You need @@ GP to make this investment.", .@cost);
+ mesc l("This program will cause experience gain to be tripled during the next siege to the town.");
+ if (.@GP < .@cost)
+ break;
+ mesc l("Are you sure?");
+ if (askyesno() == ASK_YES) {
+ setd(.@town$+"_SIEGEXP", 1);
+ setd(.@town$+"_MONEY", .@GP-.@cost);
+ TOWN_ACTIONS[.@TP]+=1;
+ mesc l("Town Defense Program enabled."), 1;
+ next;
+ }
+ break;
+ // Mark 70: Exile and Player functions
+ case 70:
+ mesc l("Exiled players will not be able to save to menhir."), 1;
+ mesc l("A global announcement will be made."), 1;
+ mesc l("Player must be online for the operation to finish."), 1;
+ mesc l("This will cost you all your action points."), 1;
+ next;
+ mesc l("Please insert player name to exile."), 1;
+ input .@ex$;
+ if (.@ex$ == "")
+ break;
+ .@id=getcharid(3, .@ex$);
+ if (.@id < 1) {
+ mesc l("The player is offline or does not exist.");
+ break;
+ }
+ if (.@id == getcharid(3)) {
+ mesc l("You cannot exile yourself!");
+ break;
+ }
+ .@town=POL_LocToTP(getarg(0));
+ .@you=getcharid(3);
+ attachrid(.@id);
+ dispbottom l("You have been EXILED from %s by %s.", getarg(0), .@MAYOR$);
+ #EXILED=#EXILED|.@town;
+ .@l$=LocToMap(TPToLoc(.@town));
+ if (getsavepoint(0) == .@l$)
+ savepoint "000-1", 22, 22;
+ // LOCATION$ will be redefined once you leave so no worries
+ detachrid();
+ attachrid(.@you);
+ kamibroadcast(sprintf("%s has EXILED %s from %s.",
+ .@MAYOR$, .@ex$, getarg(0)));
+ TOWN_ACTIONS[.@TP]+=6;
+ break;
+ case 71:
+ mesc l("Please insert player name to cancel exile."), 1;
+ mesc l("Player must be online for the operation to finish."), 1;
+ mesc l("This will cost you all your action points."), 1;
+ input .@ex$;
+ if (.@ex$ == "")
+ break;
+ .@id=getcharid(3, .@ex$);
+ if (.@id < 1) {
+ mesc l("The player is offline or does not exist.");
+ break;
+ }
+ .@town=POL_LocToTP(getarg(0));
+ .@you=getcharid(3);
+ attachrid(.@id);
+ if (#EXILED & .@town) {
+ dispbottom l("You are NO LONGER EXILED from %s by %s.", getarg(0), .@MAYOR$);
+ #EXILED=#EXILED^.@town;
+ }
+ detachrid();
+ attachrid(.@you);
+ kamibroadcast(sprintf("%s has ANNULLED THE EXILE %s from %s.",
+ .@MAYOR$, .@ex$, getarg(0)));
+ TOWN_ACTIONS[.@TP]+=6;
+ break;
+ // Mark 80: Town and Server Governance
+ case 80:
+ .@gcost=50000;
+ .@rcost=25;
+ .@b=5+(.@RP/10);
+ mesc l(".:: Server Boom ::."), 3;
+ mesc l("To cause a server happy hour (+%d%% EXP), you need:", .@b);
+ mesc l("%s GP and %d REP.", fnum(.@gcost), .@rcost);
+ if (.@RP < .@rcost || .@GP < .@gcost)
+ break;
+ mesc l("Are you sure?");
+ if (askyesno() == ASK_YES) {
+ setd(.@town$+"_REPUTATION", .@RP-.@rcost);
+ setd(.@town$+"_MONEY", .@GP-.@gcost);
+ TOWN_ACTIONS[.@TP]+=1;
+ mesc l("Server Happy Hour Decreed"), 1; // Will not be shown
+ kamibroadcast(sprintf("%s has sponsored a Server Happy Hour using tax money!", .@MAYOR$));
+ // Effective immediately
+ $@EXP_EVENT=.@b;
+ $@EXP_EVENT_TIME=1;
+ donpcevent "@exprate::OnPlayerCall";
+ // We must terminate dialog now and close all context for EXPRATE.
+ closeclientdialog;
+ end;
+ }
+ break;
+ // Mark 90: Office
+ case 90:
+ mesc l("The alliance will take %s GP as fee, +%d%% tax over donations.", fnum($ALLIANCE_TAX1), $ALLIANCE_TAX2), 1;
+ mesc l("You can donate up to %s GP.", fnum(Zeny-$ALLIANCE_TAX1));
+ input .@donate, 0, Zeny-$ALLIANCE_TAX1;
+ if (.@donate <= 0)
+ break;
+ Zeny -= $ALLIANCE_TAX1;
+ .@tax = .@donate * (100-$ALLIANCE_TAX2) / 100;
+ setd(.@town$+"_MONEY", .@GP+.@tax);
+ Zeny -= .@donate;
+ mesc l("Donation completed."), 2;
+ break;
+ case 99:
+ mesc l("Really resign?"), 1;
+ next;
+ if (askyesno() == ASK_YES) {
+ setd(.@town$+"_MAYOR$", "Jesus Saves");
+ // If you have already received a vote, this will be skipped
+ if (getd(.@town$+"_VOTES[0]") <= 0 &&
+ getd(.@town$+"_CANDIDATE$[0]") == strcharinfo(0))
+ setd(.@town$+"_CANDIDATE$[0]", "Jesus Saves");
+ mesc l("YOU HAVE RESIGNED THE OFFICE."), 1;
+ close;
+ }
+ default:
+ return;
+ }
+
+ // End script
+ } while (true);
+ return;
+}
+
+
diff --git a/npc/functions/random-talk.txt b/npc/functions/random-talk.txt
new file mode 100644
index 0000000..44fa9b2
--- /dev/null
+++ b/npc/functions/random-talk.txt
@@ -0,0 +1,207 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Random dialog for various random NPCs.
+
+// Functions:
+// hello
+// moubootalk
+// villagertalk
+// sailortalk
+// legiontalk
+// asleep
+
+// Evol authors (some strings and code):
+// Reid
+// Akko Teru
+// Qwerty Dragon
+
+function script hello {
+
+ switch (rand2(3)) {
+ case 0:
+ npctalkonce(l("Heya!"));
+ break;
+ case 1:
+ npctalkonce(l("Hi."));
+ break;
+ case 2:
+ if ($EVENT$ == "Christmas")
+ npctalkonce(l("Merry Christmas!"));
+ else
+ npctalkonce(l("Nice day to you."));
+ break;
+ }
+
+ return;
+}
+
+function script moubootalk {
+ switch (rand2(4)) {
+ case 0:
+ npctalkonce(l("Moooooo!"));
+ break;
+ case 1:
+ npctalkonce(l("Moo!"));
+ break;
+ case 2:
+ npctalkonce(l("Moooooooooooo!"));
+ break;
+ case 3:
+ npctalkonce(l("Moooo!"));
+ break;
+ }
+ return;
+}
+
+function script sailortalk {
+
+ .@rand = rand2(9);
+ if (.@rand == 0) goodbye;
+ if (.@rand == 1) npctalkonce(l("Arr, I'm bored!"));
+ if (.@rand == 2) npctalkonce(l("Hey! Good to hear from you!"));
+ if (.@rand == 3) npctalkonce(l("Yarr arr!"));
+ if (.@rand == 4) {
+ if ($EVENT$ == "Christmas")
+ npctalkonce(l("Merry Christmas, arr yarr!!"));
+ else {
+ speech(
+ l("A sunny and hot day,"),
+ l("a quiet place,"),
+ l("a ground!"),
+ l("What else do you need?"));
+ }
+ close;
+ }
+ if (.@rand == 5) npctalkonce(l("A-hoy matey!"));
+ if (.@rand == 6) npctalkonce(l("Arr!"));
+ if (.@rand == 7) npctalkonce(l("Howdy?"));
+ if (.@rand == 8) npctalkonce(l("Glad the Monster King avoid the seas, arr!"));
+
+ // just to be sure
+ closedialog;
+ close;
+ end;
+}
+
+function script villagertalk {
+
+ function darn_or_smile {
+ .@darn = rand(42);
+
+ if (.@darn < 26) {
+ emotion E_JOY;
+ hello;
+ } else if (.@darn > 26) {
+ emotion E_LOOKAWAY;
+ goodbye;
+ } else {
+ npctalkonce(l("Stop it!"));
+ }
+ return;
+ }
+
+ switch (rand2(4)) {
+ case 0:
+ darn_or_smile();
+ break;
+ case 1:
+ npctalkonce(l("It is a sunny day, don't you think?"));
+ break;
+ case 2:
+ npctalkonce(l("Go fly a kite."));
+ break;
+ case 3:
+ npctalkonce(l("I just want to live my life in peace."));
+ break;
+ default:
+ emotion E_HAPPY;
+ break;
+ }
+
+ return;
+}
+
+function script legiontalk {
+ switch (rand2(16)) {
+ case 0:
+ npctalkonce(l("Do I look like a tree? I feel like one."));
+ break;
+ case 1:
+ npctalkonce(l("I'm a little busy right now."));
+ break;
+ case 2:
+ npctalkonce(l("Not in the mood to chat."));
+ break;
+ case 3:
+ npctalkonce(l("My breath smells bad."));
+ break;
+ case 4:
+ npctalkonce(l("Don't distract me, I have to stay alert."));
+ break;
+ case 5:
+ npctalkonce(l("Give me some space."));
+ break;
+ case 6:
+ if ($EVENT$ == "Christmas")
+ npctalkonce(l("Merry Christmas, adventurer."));
+ else
+ npctalkonce(l("Can you please go away?"));
+ break;
+ case 7:
+ npctalkonce(l("Can't talk right now, I'm on patrol duty."));
+ break;
+ case 8:
+ npctalkonce(l("What're you looking at?!"));
+ break;
+ case 9:
+ npctalkonce(l("I can't stay here and talk all day. I have a job to do."));
+ break;
+ case 10:
+ npctalkonce(lg("Keep moving girl.", "Keep moving boy."));
+ break;
+ case 11:
+ npctalkonce(lg("So you think you're tough? A warrior must also be loyal and patient."));
+ break;
+ case 12:
+ emotion E_LOOKAWAY;
+ break;
+ case 13:
+ npctalkonce(l("Practice! There are no secrets to becoming a warrior."));
+ break;
+ case 14:
+ npctalkonce(l("There is no honor in fighting a weak opponent."));
+ break;
+ case 15:
+ npctalkonce(l("The Monster King is scary. To be honest, I'm not sure I would be able to do anything if he showed up."));
+ break;
+ }
+
+ return;
+}
+
+function script asleep {
+ switch(rand2(6)) {
+ case 0: npctalkonce(l("Zzzzzzzzz...")); break;
+ case 1: npctalkonce(l("Rrrr... Pchhhh...")); break;
+ case 2: npctalkonce(l("Ggrmm... Grmmmm...")); break;
+ case 3: npctalkonce(l("Hm... Shhhh...")); break;
+ case 4: npctalkonce(l("ZZZzzzz...")); break;
+ default: emotion(E_SLEEPY);
+ }
+ end;
+}
+
+function script studenttalk {
+ switch(rand2(6)) {
+ case 0: npctalkonce(l("I want to sleep...")); break;
+ case 1: npctalkonce(l("I have homework to do...")); break;
+ case 2: npctalkonce(l("I need to finish studying for my test...")); break;
+ case 3: npctalkonce(l("Ah, the Professors will get mad at me again...")); break;
+ case 4: npctalkonce(l("I'm a little busy right now.")); break;
+
+ default: emotion(E_SLEEPY);
+ }
+ end;
+}
diff --git a/npc/functions/refine.txt b/npc/functions/refine.txt
new file mode 100644
index 0000000..220ee6d
--- /dev/null
+++ b/npc/functions/refine.txt
@@ -0,0 +1,242 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Pyndragon (inspiration)
+// Scall (inspiration)
+// Description:
+// Refine functions. Includes equipment repair. In future use getequippercentrefinery(.@it, REFINE_CHANCE_TYPE_ENRICHED) too
+
+// (No arguments)
+function script refineMaster {
+ mesn;
+ mesq l("Ah, hello there, funny face! Do you want to refine items?");
+ mesc l("There's always some chance that THE ITEM WILL BREAK, beware!");
+ next;
+ mesn;
+ mesq l("First - item must be equipped.");
+ mesq l("If you succeed, the defense and/or attack will raise. If you fail, refine level goes down.");
+ //mesq l("And if the item breaks, that is definitive - no repair is possible. What to refine?");
+ mesq l("And if the item breaks, that's your loss. What to refine?");
+ next;
+
+ // Dark magic from hercules used, take care
+ menuint
+ l("Nothing, thanks"), 0,
+ rif(getequipisequiped(EQI_HEAD_MID), l("My chestplate, @@", getequipname(EQI_HEAD_MID))), EQI_HEAD_MID,
+ rif(getequipisequiped(EQI_HAND_R), l("My weapon, @@", getequipname(EQI_HAND_R))), EQI_HAND_R,
+ rif(getequipisequiped(EQI_HAND_L) && getequipid(EQI_HAND_L) != getequipid(EQI_HAND_R), l("My shield, @@", getequipname(EQI_HAND_L))), EQI_HAND_L,
+ rif(getequipisequiped(EQI_HEAD_TOP), l("My helmet, @@", getequipname(EQI_HEAD_TOP))), EQI_HEAD_TOP,
+ l("Item break? Too dangerous! I don't want it!!"), 0;
+
+
+ if (@menuret == 0) {
+ mesn;
+ //mesq l("Wait a moment - you are naked! YOU WILL DIE IN THE FREEZE! o.o");
+ mesq l("Well... we'll see around!");
+ close;
+ }
+ .@it=@menuret;
+ .@item=getequipid(.@it);
+
+ /*
+ mes "##B" + l("Drag and drop an item from your inventory.") + "##b";
+ .@item = requestitem();
+
+ // Check if we received an item
+ if (.@item < 1) {
+ mesn;
+ mesq l("Well, no risk, no gain.");
+ close;
+ return;
+ }
+ */
+
+ // Not all items are refinable
+ if (!getequipisenableref(.@it)) {
+ mesn;
+ mesq l("Well, sorry, but only some items can be refined.");
+ mesq l("There may be some exceptions. Anyway, this item clearly cannot be refined.");
+ next;
+ return;
+ }
+
+ // Savior items have different rules
+ .@savior = false;
+ if (compare("savior", strtolower(getitemname(.@item))))
+ .@savior = true;
+
+ // Legendary Weapons, this formula is hardcoded in C
+ if (is_between(3600, 3610, .@item))
+ .@savior = true;
+
+ // Max refining level: 10
+ if (getequiprefinerycnt(.@it) >= (.@savior ? 12 : 10)) {
+ mesn;
+ mesq l("This item cannot be refined further.");
+ return;
+ }
+
+ .@rlv=getequiprefinerycnt(.@it);
+ .@price=(.@rlv+1)*1000;
+ .@price-=min(.@price, getiteminfo(.@item, ITEMINFO_ELV) * 10);
+ .@price=POL_AdjustPrice(.@price);
+ .@amount=(.@rlv/2)+1;
+ // required item
+ switch (.@rlv) {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ .@rg=Wurtzite; break;
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ .@amount=((.@rlv-4)/2)+1;
+ .@rg=Graphene; break;
+ case 8:
+ case 9:
+ case 10:
+ default:
+ .@amount=((.@rlv-8)/2)+1;
+ .@rg=Arcanum; break;
+ }
+ mesn;
+ mesq l("This @@ is a nice stuff. I can refine it for @@ GP and @@ @@.", getitemlink(.@item), .@price, .@amount, getitemlink(.@rg));
+ .@fake = (.@savior ? rand2(-1,1) : rand2(-6, 6));
+ mesc l("Success ratio is of aprox. @@ %", (100-(.@rlv*7))+.@fake);
+ next;
+ if (askyesno() != ASK_YES)
+ close;
+
+ // Anti-Crazyfefeâ„¢ System
+ // No money
+ if (Zeny < .@price) {
+ mesn;
+ mesq l("Where's the money? Go away.");
+ close;
+ }
+ // No reagents
+ if (countitem(.@rg) < .@amount) {
+ mesn;
+ mesq l("Where's the reagent? You don't expect me to find it, right? Go bring them!");
+ close;
+ }
+ // Item removed
+ if (getequipisequiped(.@it) == 0) {
+ mesn;
+ mesc l("All cheaters must die."), 1;
+ die();
+ close;
+ }
+ // Item changed
+ if (getequiprefinerycnt(.@it) != .@rlv || getequipid(.@it) != .@item) {
+ mesn;
+ mesc l("All cheaters must die."), 1;
+ die();
+ close;
+ }
+ ///// This should cover most of Crazyfefe tricks ¬.¬ I hope ¬.¬
+ mesn;
+ mesq l("HA, HA, HA! The blacksmiths from the Land of Fire are the best from the world! There's no challenge too big for us!");
+ mesq l("It's time to show this shiny @@ who is the boss! HAHAHAHAHAHAHAH!", getitemlink(.@item));
+ next;
+ // Cheater should be locked for eternity.
+ if (getequiprefinerycnt(.@it) != .@rlv || getequipid(.@it) != .@item || getequipisequiped(.@it) == 0) {
+ atcommand "@jail "+strcharinfo(0);
+ close;
+ }
+ // If you cheat somewhere along the way, the script will explode
+ POL_PlayerMoney(.@price);
+
+ // Were we successful?
+ if (getequippercentrefinery(.@it) > rand2(100)) {
+ successrefitem .@it;
+ mesn;
+ mesq l("HAHAHAHAH! Shiny as new, and stronger than ever! Have fun!");
+ mesc l("Weapons: +8 attack, +8 magic attack");
+ mesc l("Armors: +3~5 defense");
+ next;
+ // Item is weakened. (1% per refine level) (Savior Immunity)
+ } else if (rand2(100) < .@rlv && !.@savior) {
+ downrefitem .@it, 1;
+ mesn;
+ mesq l("A masterpiece!... Whaaaat, this stuff got ##Bweaker##b??");
+ next;
+ mesn;
+ mesq l("Well, I did my best, but this had been so refined, that it was difficult to find my way.");
+ next;
+ mesn;
+ mesq l("I'm sure I could refine this again, if you bring me the payment and the reagents again.");
+ next;
+ // Perhaps the item has broken? (~0.1% chance/refine level)
+ } else if (rand2(10000) <= 10*(.@rlv+1)) {
+ failedrefitem .@it;
+ mesc l("*CRASH*");
+ next;
+ mesn;
+ mesq l("Ops... I hammered this stuff too hard... It's junk now.");
+ next;
+ mesn;
+ mesq l("Well, you were warned. Do you have any other stuff for me?");
+ next;
+ // Nothing happens
+ } else {
+ mesn;
+ mesq l("Well, I did my best, but this had been so refined, that it was difficult to find my way.");
+ next;
+ mesn;
+ mesq l("I'm sure I could refine this again, if you bring me the payment and the reagents again.");
+ next;
+ }
+ delitem .@rg, .@amount; // We delete last, to prevent IDX changes
+ return;
+}
+
+
+// (No arguments)
+function script repairMaster {
+ mesn;
+ mesq l("I am a really good blacksmith. In fact, there is no stuff I can't fix.");
+ next;
+ mesn;
+ if (getbrokenid(1) == 0) {
+ mesq l("I don't think you have any broken item, but if a friend of mine break your stuff, come talk to me!");
+ close;
+ } else {
+ // Print the name of the first broken item
+ mesq l("You seem to have @@ broken items and... Oh, I see you have a broken @@ here! I wanna repair it!", getbrokencount(), getitemname(getbrokenid(1)));
+ .@save=getbrokenid(1);
+ next;
+ }
+ .@price=getiteminfo(getbrokenid(1), ITEMINFO_SELLPRICE)+getiteminfo(getbrokenid(1), ITEMINFO_ELV)-(getbrokencount()*15);
+ if (.@price < 100 || getbrokenid(1) == BronzeGladius)
+ .@price=100;
+ mesn;
+ mesq l("I can fix this for you. Just pay me @@ GP and a @@. It'll take no time at all!", .@price, getitemlink(IronIngot));
+ next;
+ if (Zeny < .@price || countitem(IronIngot) < 1 || askyesno() != ASK_YES) {
+ mes "";
+ mesn;
+ mesq l("Ahh, that's a pity... Well, just talk to me with enough money and I'll gladly fix that for you! %%0");
+ close;
+ }
+ // Cheating? Well, let's try to be innovative this time
+ if (.@save != getbrokenid(1)) {
+ mesn;
+ mesq l("Ah...! POLICE! POLICE! Quick, send this cheating thief to jail!!");
+ atcommand "@jailfor 20mn "+strcharinfo(0);
+ close;
+ }
+ Zeny=Zeny-.@price;
+ delitem IronIngot, 1;
+ repair(1);
+ mesn;
+ mesq l("Here, sparking new! Nice!!");
+ if (getbrokencount() > 0) {
+ next;
+ return;
+ } else {
+ close;
+ }
+}
diff --git a/npc/functions/resetstatus.txt b/npc/functions/resetstatus.txt
new file mode 100644
index 0000000..c0a31e2
--- /dev/null
+++ b/npc/functions/resetstatus.txt
@@ -0,0 +1,121 @@
+// TMW2 Script.
+// Authors:
+// Vasily_Makarov (original from Evol)
+// Jesusalva
+// Description:
+// Status Reset NPC utils
+
+// Reset status and return permanent bonuses
+// StatusResetReinvest( {script=True} )
+function script StatusResetReinvest {
+ // Compulsory check
+ if (getarg(0, true)) {
+ inventoryplace NPCEyes, 6;
+ } else if (!checkweight(NPCEyes, 6)) {
+ getitembound StatusResetPotion, 1, 4;
+ dispbottom l("You cannot carry the fruits.");
+ end; // Die
+ }
+
+ // Permanent boosts were now lost, return the fruits
+ if (STATUSUP_STR) {
+ getitembound StrengthFruit, STATUSUP_STR, 4;
+ STATUSUP_STR=0;
+ }
+ if (STATUSUP_AGI) {
+ getitembound AgilityFruit, STATUSUP_AGI, 4;
+ STATUSUP_AGI=0;
+ }
+ if (STATUSUP_VIT) {
+ getitembound VitalityFruit, STATUSUP_VIT, 4;
+ STATUSUP_VIT=0;
+ }
+ if (STATUSUP_INT) {
+ getitembound IntelligenceFruit, STATUSUP_INT, 4;
+ STATUSUP_INT=0;
+ }
+ if (STATUSUP_DEX) {
+ getitembound DexterityFruit, STATUSUP_DEX, 4;
+ STATUSUP_DEX=0;
+ }
+ if (STATUSUP_LUK) {
+ getitembound LuckFruit, STATUSUP_LUK, 4;
+ STATUSUP_LUK=0;
+ }
+ resetstatus();
+ return true;
+}
+
+// Return wasSP on success, 0 on failure
+// ConfirmReset( {price, town=True} )
+function script ConfirmStatusReset {
+ if (BaseLevel >= 15)
+ .@raw_price=(1000-BaseLevel*10+(BaseLevel*18));
+ else if (BaseLevel >= 10)
+ .@raw_price=(BaseLevel*210-(10*210))/(BaseLevel/10);
+ else
+ .@raw_price=1;
+
+ if (getarg(0,-1) >= 0)
+ .@raw_price=getarg(0,-1);
+
+ if (getarg(1, true))
+ .@raw_price=POL_AdjustPrice(.@raw_price);
+ else
+ .@raw_price=.@raw_price;
+
+ mesc l("WARNING: Permanent boosts will return to their fruit form."), 1;
+
+ switch (select(lg("Yes, I am sure."),
+ lg("I need to think about it..."),
+ lg("I won't need it, thank you.")))
+ {
+ case 1:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Let me just have a quick look at you. Hm... I will need @@ GP to reset your stats.", .@raw_price);
+
+ select
+ rif(Zeny >= .@raw_price, l("Here, take as much as you need, I have plenty!")),
+ rif(Zeny > 0 && Zeny < .@raw_price, l("I don't have enough money...")),
+ rif(Zeny == 0, l("Oh no, I don't have any money on me right now.")),
+ l("I have to go, sorry.");
+
+ if (@menu > 1) {
+ return 0;
+ }
+
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Thank you."),
+ l("Now stand still... It should not take much time...");
+
+ // Reset status have an inventorycheck, so we charge later.
+ .@wasSP = StatusPoint;
+ StatusResetReinvest();
+
+ // Nothing to do: Do not charge (eg. you just got the fruits back)
+ if (StatusPoint == .@wasSP) {
+ speech S_LAST_NEXT,
+ l("It seems that you have no status points to reset!"),
+ l("Come back when you will really need me.");
+ } else {
+ if (getarg(1, true))
+ POL_PlayerMoney(.@raw_price);
+ else
+ Zeny-=.@raw_price;
+ speech S_LAST_NEXT,
+ l("Let's see... @@ of your status points have just been reset!", StatusPoint - .@wasSP),
+ l("Spend it wisely this time."),
+ l("But you are welcome to reset your stats again! I need the money.");
+ }
+ return .@wasSP;
+
+ case 2:
+ return 0;
+ case 3:
+ return 0;
+ }
+ Exception("Unknown Error: ConfirmStatusReset() failed");
+ return 0;
+
+}
+
diff --git a/npc/functions/riddle.txt b/npc/functions/riddle.txt
new file mode 100644
index 0000000..b7fd2c5
--- /dev/null
+++ b/npc/functions/riddle.txt
@@ -0,0 +1,69 @@
+// Evol functions.
+// Author:
+// Reid
+// Description:
+// Riddle enigma validator
+//
+// Arguments
+// 0 PC answer
+// 1 English correct answer
+// 2 Translated correct answer
+
+// TODO: levenshtein(), similar_text(), and maybe even soundex()
+
+function script riddlevalidation {
+ .@answer$ = strip(strtolower(getarg(0)));
+ .@good$ = strip(strtolower(getarg(1)));
+ .@good_translated$ = strip(strtolower(getarg(2)));
+
+ .@size_answer = getstrlen(.@answer$);
+ .@size_good = getstrlen(.@good$);
+ .@size_good_translated = getstrlen(.@good_translated$);
+
+ .@max = max(.@size_answer, .@size_good_translated, .@size_good);
+
+ // Input is too long.
+ if (.@max > 30) {
+ return false;
+ }
+
+ // if 90% of the word is correct
+ .@size_good *= 90;
+ .@size_good_translated *= 90;
+
+ freeloop(true);
+ for (.@i = 0; .@i < .@max; .@i++)
+ {
+ .@correct = 0;
+ .@correct_translated = 0;
+
+ for (.@k = .@k_translated = .@j = .@i; .@j < .@max; .@j++)
+ {
+ if (charat(.@answer$, .@j) == charat(.@good$, .@k)) {
+ .@correct++;
+ .@k++;
+ } else {
+ .@correct--;
+ }
+
+ if (charat(.@answer$, .@j) == charat(.@good_translated$, .@k_translated)) {
+ .@correct_translated++;
+ .@k_translated++;
+ } else {
+ .@correct_translated--;
+ }
+ }
+ // if most of the word is correct. (White spaces can and will mess you up!)
+ .@correct *= 100;
+ .@correct_translated *= 100;
+
+ if (.@correct >= .@size_good ||
+ .@correct_translated >= .@size_good_translated) {
+ freeloop(false);
+ return true;
+ }
+ }
+ freeloop(false);
+
+ return false;
+}
diff --git a/npc/functions/scoreboards.txt b/npc/functions/scoreboards.txt
new file mode 100644
index 0000000..52bf061
--- /dev/null
+++ b/npc/functions/scoreboards.txt
@@ -0,0 +1,963 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Leaderboards + GM Command Log
+
+function script ScoreboardsReload {
+ debugmes "Reloading scoreboards...";
+ .@nb = query_sql("select name, zeny from `char` WHERE `guild_id`!=1 ORDER BY zeny DESC LIMIT 15", $@hofortune_name$, $@hofortune_value);
+ .@nb = query_sql("select name, base_level from `char` WHERE `guild_id`!=1 ORDER BY base_level DESC LIMIT 15", $@hoblvl_name$, $@hoblvl_value);
+ .@nb = query_sql("select name, job_level from `char` WHERE `guild_id`!=1 ORDER BY job_level DESC LIMIT 15", $@hojlvl_name$, $@hojlvl_value);
+ .@nb = query_sql("SELECT c.name, i.amount FROM `inventory` AS i, `char` AS c WHERE i.nameid="+StrangeCoin+" AND i.char_id=c.char_id ORDER BY i.amount DESC LIMIT 15", $@hoc_name$, $@hoc_value);
+ .@nb = query_sql("select char_name, command from `atcommandlog` ORDER BY atcommand_id DESC LIMIT 15", $@hogm_name$, $@hogm_value$);
+ .@nb = query_sql("select name, guild_lv from `guild` WHERE `guild_id`!=1 ORDER BY guild_lv DESC LIMIT 5", $@hoguild_name$, $@hoguild_value);
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='CRAZYPOINTS' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@cfefe_name$, $@cfefe_value);
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='SCANDORPTS' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@blood_name$, $@blood_value);
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='UDTRANK' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@udt_name$, $@udt_value);
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='AFKING' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@afk_name$, $@afk_value);
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='HONOR' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 10", $@hof_name$, $@hof_value);
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='ACADEMIC_RANK' AND i.char_id=c.char_id ORDER BY i.value DESC LIMIT 30", $@hoa_name$, $@hoa_value);
+ .@nb = query_sql("SELECT c.name, i.value FROM `mapreg` AS i, `char` AS c WHERE i.varname='$REFERRAL_IDS' AND i.index=c.account_id ORDER BY i.value DESC LIMIT 20", $@hor_name$, $@hor_value);
+ .@nb = query_sql("SELECT c.name, i.value FROM `char_reg_num_db` AS i, `char` AS c WHERE i.key='PC_DIE_COUNTER' AND i.char_id=c.char_id AND c.last_login >= "+(gettimetick(2)-86400)+" ORDER BY i.value ASC LIMIT 10", $@hod_name$, $@hod_value);
+
+ // Seasonal Scoreboards
+ if (season() == SUMMER || season() == AUTUMN) {
+ .@nb = query_sql("SELECT c.name, i.count2 FROM `quest` AS i, `char` AS c WHERE i.quest_id=305 AND i.char_id=c.char_id AND i.count1="+(gettime(GETTIME_YEAR)-2000)+" ORDER BY i.count2 DESC LIMIT 10", $@ched_name$, $@ched_value);
+ }
+ if (season() == AUTUMN || season() == WINTER) {
+ .@nb = query_sql("SELECT c.name, i.count2 FROM `quest` AS i, `char` AS c WHERE i.quest_id="+SQuest_Autumn+" AND i.char_id=c.char_id ORDER BY i.count2 DESC LIMIT 5", $@hasn_name$, $@hasn_value);
+ }
+ if (season() == WINTER || season() == SPRING) {
+ .@nb = query_sql("SELECT c.name, i.count2 FROM `quest` AS i, `char` AS c WHERE i.quest_id="+SQuest_Christmas+" AND i.char_id=c.char_id ORDER BY i.count2 DESC LIMIT 5", $@xmas_box_name$, $@xmas_box_value);
+ .@nb = query_sql("SELECT c.name, i.count3 FROM `quest` AS i, `char` AS c WHERE i.quest_id="+SQuest_Christmas+" AND i.char_id=c.char_id ORDER BY i.count3 DESC LIMIT 5", $@xmas_gp_name$, $@xmas_gp_value);
+ }
+ if (FYEventUsesRanking()) {
+ deletearray $@aurora_name$;
+ deletearray $@aurora_value;
+ .@nb = query_sql("SELECT c.name, i.count2 FROM `quest` AS i, `char` AS c WHERE i.quest_id="+Q_AuroraEvent+" AND i.char_id=c.char_id ORDER BY i.count2 DESC LIMIT 10", $@aurora_name$, $@aurora_value);
+ }
+ debugmes "Scoreboards reloaded";
+ return;
+}
+
+- script scoreboardsGen NPC_HIDDEN,{
+ end;
+
+// Monthly Scoreboards Rewards
+OnDay0101:
+OnDay0201:
+OnDay0301:
+OnDay0401:
+OnDay0501:
+OnDay0601:
+OnDay0701:
+OnDay0801:
+OnDay0901:
+OnDay1001:
+OnDay1101:
+OnDay1201:
+ ScoreboardsReload(); // Ensure
+
+ if ($SCOREBOARD == gettimeparam(GETTIME_MONTH)) end;
+
+ for (.@i=0; .@i < getarraysize($@hof_name$); .@i++) {
+ rodex_sendmail(gf_charnameid($@hof_name$[.@i]), "Scoreboards", "Hall Of Honor: TOP 10", "For being on the TOP 10 of this hall, you're getting some Strange Coins.", 0, StrangeCoin, 15);
+ }
+
+ for (.@i=0; .@i < getarraysize($@cfefe_name$); .@i++) {
+ rodex_sendmail(gf_charnameid($@cfefe_name$[.@i]), "Scoreboards", "Hall Of Candor Battle: TOP 10", "For being on the TOP 10 of this hall, you're getting some Strange Coins.", 0, StrangeCoin, 15);
+ }
+
+ for (.@i=0; .@i < getarraysize($@blood_name$); .@i++) {
+ rodex_sendmail(gf_charnameid($@blood_name$[.@i]), "Scoreboards", "Hall Of Bloodbath: TOP 10", "For being on the TOP 10 of this hall, you're getting some Strange Coins.", 0, StrangeCoin, max(15-.@i, 1));
+ }
+
+ $SCOREBOARD = gettimeparam(GETTIME_MONTH);
+ end;
+
+// Hourly Reload (maybe "OnMinute00" would work better?)
+OnHour00:
+OnHour01:
+OnHour02:
+OnHour03:
+OnHour04:
+OnHour05:
+OnHour06:
+OnHour07:
+OnHour08:
+OnHour09:
+OnHour10:
+OnHour11:
+OnHour12:
+OnHour13:
+OnHour14:
+OnHour15:
+OnHour16:
+OnHour17:
+OnHour18:
+OnHour19:
+OnHour20:
+OnHour21:
+OnHour22:
+OnHour23:
+OnInit:
+ ScoreboardsReload();
+ deletearray $@FORT_BLACKLIST;
+ end;
+}
+
+function script HallOfGuild {
+ mes "";
+ mes l("##BHall Of Guild Level: TOP5##b");
+ mesf("1. %s (%d)", $@hoguild_name$[0], $@hoguild_value[0]);
+ mesf("2. %s (%d)", $@hoguild_name$[1], $@hoguild_value[1]);
+ mesf("3. %s (%d)", $@hoguild_name$[2], $@hoguild_value[2]);
+ mesf("4. %s (%d)", $@hoguild_name$[3], $@hoguild_value[3]);
+ mesf("5. %s (%d)", $@hoguild_name$[4], $@hoguild_value[4]);
+ return;
+}
+
+function script HallOfFortune {
+ mes "";
+ mes l("##BHall Of Fortune: TOP15##b");
+ mesf("1. %s (%s GP)", $@hofortune_name$[0], fnum($@hofortune_value[0]));
+ mesf("2. %s (%s GP)", $@hofortune_name$[1], fnum($@hofortune_value[1]));
+ mesf("3. %s (%s GP)", $@hofortune_name$[2], fnum($@hofortune_value[2]));
+ mesf("4. %s (%s GP)", $@hofortune_name$[3], fnum($@hofortune_value[3]));
+ mesf("5. %s (%s GP)", $@hofortune_name$[4], fnum($@hofortune_value[4]));
+ mesf("6. %s (%s GP)", $@hofortune_name$[5], fnum($@hofortune_value[5]));
+ mesf("7. %s (%s GP)", $@hofortune_name$[6], fnum($@hofortune_value[6]));
+ mesf("8. %s (%s GP)", $@hofortune_name$[7], fnum($@hofortune_value[7]));
+ mesf("9. %s (%s GP)", $@hofortune_name$[8], fnum($@hofortune_value[8]));
+ mesf("10. %s (%s GP)", $@hofortune_name$[9], fnum($@hofortune_value[9]));
+ mesf("11. %s (%s GP)", $@hofortune_name$[10], fnum($@hofortune_value[10]));
+ mesf("12. %s (%s GP)", $@hofortune_name$[11], fnum($@hofortune_value[11]));
+ mesf("13. %s (%s GP)", $@hofortune_name$[12], fnum($@hofortune_value[12]));
+ mesf("14. %s (%s GP)", $@hofortune_name$[13], fnum($@hofortune_value[13]));
+ mesf("15. %s (%s GP)", $@hofortune_name$[14], fnum($@hofortune_value[14]));
+ return;
+}
+
+function script HallOfLevel {
+ mes "";
+ mes l("##BHall Of Level: TOP15##b");
+ mesf("1. %s (%d)", $@hoblvl_name$[0], $@hoblvl_value[0]);
+ mesf("2. %s (%d)", $@hoblvl_name$[1], $@hoblvl_value[1]);
+ mesf("3. %s (%d)", $@hoblvl_name$[2], $@hoblvl_value[2]);
+ mesf("4. %s (%d)", $@hoblvl_name$[3], $@hoblvl_value[3]);
+ mesf("5. %s (%d)", $@hoblvl_name$[4], $@hoblvl_value[4]);
+ mesf("6. %s (%d)", $@hoblvl_name$[5], $@hoblvl_value[5]);
+ mesf("7. %s (%d)", $@hoblvl_name$[6], $@hoblvl_value[6]);
+ mesf("8. %s (%d)", $@hoblvl_name$[7], $@hoblvl_value[7]);
+ mesf("9. %s (%d)", $@hoblvl_name$[8], $@hoblvl_value[8]);
+ mesf("10. %s (%d)", $@hoblvl_name$[9], $@hoblvl_value[9]);
+ mesf("11. %s (%d)", $@hoblvl_name$[10], $@hoblvl_value[10]);
+ mesf("12. %s (%d)", $@hoblvl_name$[11], $@hoblvl_value[11]);
+ mesf("13. %s (%d)", $@hoblvl_name$[12], $@hoblvl_value[12]);
+ mesf("14. %s (%d)", $@hoblvl_name$[13], $@hoblvl_value[13]);
+ mesf("15. %s (%d)", $@hoblvl_name$[14], $@hoblvl_value[14]);
+ return;
+}
+
+function script HallOfJob {
+ mes "";
+ mes l("##BHall Of Job Level: TOP15##b");
+ mesf("1. %s (%d)", $@hojlvl_name$[0], $@hojlvl_value[0]);
+ mesf("2. %s (%d)", $@hojlvl_name$[1], $@hojlvl_value[1]);
+ mesf("3. %s (%d)", $@hojlvl_name$[2], $@hojlvl_value[2]);
+ mesf("4. %s (%d)", $@hojlvl_name$[3], $@hojlvl_value[3]);
+ mesf("5. %s (%d)", $@hojlvl_name$[4], $@hojlvl_value[4]);
+ mesf("6. %s (%d)", $@hojlvl_name$[5], $@hojlvl_value[5]);
+ mesf("7. %s (%d)", $@hojlvl_name$[6], $@hojlvl_value[6]);
+ mesf("8. %s (%d)", $@hojlvl_name$[7], $@hojlvl_value[7]);
+ mesf("9. %s (%d)", $@hojlvl_name$[8], $@hojlvl_value[8]);
+ mesf("10. %s (%d)", $@hojlvl_name$[9], $@hojlvl_value[9]);
+ mesf("11. %s (%d)", $@hojlvl_name$[10], $@hojlvl_value[10]);
+ mesf("12. %s (%d)", $@hojlvl_name$[11], $@hojlvl_value[11]);
+ mesf("13. %s (%d)", $@hojlvl_name$[12], $@hojlvl_value[12]);
+ mesf("14. %s (%d)", $@hojlvl_name$[13], $@hojlvl_value[13]);
+ mesf("15. %s (%d)", $@hojlvl_name$[14], $@hojlvl_value[14]);
+ return;
+}
+
+function script HallOfCoins {
+ mes "";
+ mes l("##BHall Of @@: TOP15##b", getitemlink(StrangeCoin));
+ mes("1."+$@hoc_name$[0]+" ("+$@hoc_value[0]+")");
+ mes("2."+$@hoc_name$[1]+" ("+$@hoc_value[1]+")");
+ mes("3."+$@hoc_name$[2]+" ("+$@hoc_value[2]+")");
+ mes("4."+$@hoc_name$[3]+" ("+$@hoc_value[3]+")");
+ mes("5."+$@hoc_name$[4]+" ("+$@hoc_value[4]+")");
+ mes("6."+$@hoc_name$[5]+" ("+$@hoc_value[5]+")");
+ mes("7."+$@hoc_name$[6]+" ("+$@hoc_value[6]+")");
+ mes("8."+$@hoc_name$[7]+" ("+$@hoc_value[7]+")");
+ mes("9."+$@hoc_name$[8]+" ("+$@hoc_value[8]+")");
+ mes("10."+$@hoc_name$[9]+" ("+$@hoc_value[9]+")");
+ mes("11."+$@hoc_name$[10]+" ("+$@hoc_value[10]+")");
+ mes("12."+$@hoc_name$[11]+" ("+$@hoc_value[11]+")");
+ mes("13."+$@hoc_name$[12]+" ("+$@hoc_value[12]+")");
+ mes("14."+$@hoc_name$[13]+" ("+$@hoc_value[13]+")");
+ mes("15."+$@hoc_name$[14]+" ("+$@hoc_value[14]+")");
+ return;
+}
+
+function script HallOfGMLog {
+ mes "";
+ mes l("##BLatest GM Commands##b");
+ mesc l("Read the last 30 days %s", "@@https://tmw2.org/experiments/gm|"+l("here")+"@@");
+ mes("1."+$@hogm_name$[0]+" ("+$@hogm_value$[0]+")");
+ mes("2."+$@hogm_name$[1]+" ("+$@hogm_value$[1]+")");
+ mes("3."+$@hogm_name$[2]+" ("+$@hogm_value$[2]+")");
+ mes("4."+$@hogm_name$[3]+" ("+$@hogm_value$[3]+")");
+ mes("5."+$@hogm_name$[4]+" ("+$@hogm_value$[4]+")");
+ mes("6."+$@hogm_name$[5]+" ("+$@hogm_value$[5]+")");
+ mes("7."+$@hogm_name$[6]+" ("+$@hogm_value$[6]+")");
+ mes("8."+$@hogm_name$[7]+" ("+$@hogm_value$[7]+")");
+ mes("9."+$@hogm_name$[8]+" ("+$@hogm_value$[8]+")");
+ mes("10."+$@hogm_name$[9]+" ("+$@hogm_value$[9]+")");
+ mes("11."+$@hogm_name$[10]+" ("+$@hogm_value$[10]+")");
+ mes("12."+$@hogm_name$[11]+" ("+$@hogm_value$[11]+")");
+ mes("13."+$@hogm_name$[12]+" ("+$@hogm_value$[12]+")");
+ mes("14."+$@hogm_name$[13]+" ("+$@hogm_value$[13]+")");
+ mes("15."+$@hogm_name$[14]+" ("+$@hogm_value$[14]+")");
+ return;
+}
+
+function script HallOfCandor {
+ mes "";
+ mes l("##BHall Of Crazyfefe Fight: TOP 10##b");
+ mes("1."+$@cfefe_name$[0]+" ("+$@cfefe_value[0]+")");
+ mes("2."+$@cfefe_name$[1]+" ("+$@cfefe_value[1]+")");
+ mes("3."+$@cfefe_name$[2]+" ("+$@cfefe_value[2]+")");
+ mes("4."+$@cfefe_name$[3]+" ("+$@cfefe_value[3]+")");
+ mes("5."+$@cfefe_name$[4]+" ("+$@cfefe_value[4]+")");
+ mes("6."+$@cfefe_name$[5]+" ("+$@cfefe_value[5]+")");
+ mes("7."+$@cfefe_name$[6]+" ("+$@cfefe_value[6]+")");
+ mes("8."+$@cfefe_name$[7]+" ("+$@cfefe_value[7]+")");
+ mes("9."+$@cfefe_name$[8]+" ("+$@cfefe_value[8]+")");
+ mes("10."+$@cfefe_name$[9]+" ("+$@cfefe_value[9]+")");
+ return;
+}
+
+function script HallOfBloodbath {
+ mes "";
+ mes l("##BHall Of Candor's Bloodbath: TOP 10##b");
+ mes("1."+$@blood_name$[0]+" ("+FuzzyTime(gettimetick(2)-$@blood_value[0])+")");
+ mes("2."+$@blood_name$[1]+" ("+FuzzyTime(gettimetick(2)-$@blood_value[1])+")");
+ mes("3."+$@blood_name$[2]+" ("+FuzzyTime(gettimetick(2)-$@blood_value[2])+")");
+ mes("4."+$@blood_name$[3]+" ("+FuzzyTime(gettimetick(2)-$@blood_value[3])+")");
+ mes("5."+$@blood_name$[4]+" ("+FuzzyTime(gettimetick(2)-$@blood_value[4])+")");
+ mes("6."+$@blood_name$[5]+" ("+FuzzyTime(gettimetick(2)-$@blood_value[5])+")");
+ mes("7."+$@blood_name$[6]+" ("+FuzzyTime(gettimetick(2)-$@blood_value[6])+")");
+ mes("8."+$@blood_name$[7]+" ("+FuzzyTime(gettimetick(2)-$@blood_value[7])+")");
+ mes("9."+$@blood_name$[8]+" ("+FuzzyTime(gettimetick(2)-$@blood_value[8])+")");
+ mes("10."+$@blood_name$[9]+" ("+FuzzyTime(gettimetick(2)-$@blood_value[9])+")");
+ return;
+}
+
+function script HallOfUDT {
+ mes "";
+ mes l("##BHall Of UDT Challenge: TOP 10##b");
+ mes("1."+$@udt_name$[0]+" ("+$@udt_value[0]+")");
+ mes("2."+$@udt_name$[1]+" ("+$@udt_value[1]+")");
+ mes("3."+$@udt_name$[2]+" ("+$@udt_value[2]+")");
+ mes("4."+$@udt_name$[3]+" ("+$@udt_value[3]+")");
+ mes("5."+$@udt_name$[4]+" ("+$@udt_value[4]+")");
+ mes("6."+$@udt_name$[5]+" ("+$@udt_value[5]+")");
+ mes("7."+$@udt_name$[6]+" ("+$@udt_value[6]+")");
+ mes("8."+$@udt_name$[7]+" ("+$@udt_value[7]+")");
+ mes("9."+$@udt_name$[8]+" ("+$@udt_value[8]+")");
+ mes("10."+$@udt_name$[9]+" ("+$@udt_value[9]+")");
+ return;
+}
+
+function script HallOfDeath {
+ mes "";
+ mes l("##BHall Of Deaths: Reverse TOP10##b");
+ mesc l("NOTE: Must have logged in the past 24 hours to be shown.");
+ mesf("1. %s (%s)", $@hod_name$[0], fnum($@hod_value[0]));
+ mesf("2. %s (%s)", $@hod_name$[1], fnum($@hod_value[1]));
+ mesf("3. %s (%s)", $@hod_name$[2], fnum($@hod_value[2]));
+ mesf("4. %s (%s)", $@hod_name$[3], fnum($@hod_value[3]));
+ mesf("5. %s (%s)", $@hod_name$[4], fnum($@hod_value[4]));
+ mesf("6. %s (%s)", $@hod_name$[5], fnum($@hod_value[5]));
+ mesf("7. %s (%s)", $@hod_name$[6], fnum($@hod_value[6]));
+ mesf("8. %s (%s)", $@hod_name$[7], fnum($@hod_value[7]));
+ mesf("9. %s (%s)", $@hod_name$[8], fnum($@hod_value[8]));
+ mesf("10. %s (%s)", $@hod_name$[9], fnum($@hod_value[9]));
+ if (PC_DIE_COUNTER > $@hod_value[9])
+ mesc l("Your personal record: %s", fnum(PC_DIE_COUNTER));
+ return;
+}
+
+function script HallOfHonor {
+ mes "";
+ mes l("##BHall Of Honor: TOP 10##b");
+ mesc l("WARNING: This is experimental!!"), 1;
+ mesc l("We may delete all entries and change formulas in the future."), 1;
+ mes("1."+$@hof_name$[0]+" ("+$@hof_value[0]+")");
+ mes("2."+$@hof_name$[1]+" ("+$@hof_value[1]+")");
+ mes("3."+$@hof_name$[2]+" ("+$@hof_value[2]+")");
+ mes("4."+$@hof_name$[3]+" ("+$@hof_value[3]+")");
+ mes("5."+$@hof_name$[4]+" ("+$@hof_value[4]+")");
+ mes("6."+$@hof_name$[5]+" ("+$@hof_value[5]+")");
+ mes("7."+$@hof_name$[6]+" ("+$@hof_value[6]+")");
+ mes("8."+$@hof_name$[7]+" ("+$@hof_value[7]+")");
+ mes("9."+$@hof_name$[8]+" ("+$@hof_value[8]+")");
+ mes("10."+$@hof_name$[9]+" ("+$@hof_value[9]+")");
+ return;
+}
+
+
+
+
+
+function script HallOfReferral {
+ mes "";
+ mes "Referral Program Report - pg. 1";
+ mes("1."+$@hor_name$[0]+" ("+$@hor_value[0]+")");
+ mes("2."+$@hor_name$[1]+" ("+$@hor_value[1]+")");
+ mes("3."+$@hor_name$[2]+" ("+$@hor_value[2]+")");
+ mes("4."+$@hor_name$[3]+" ("+$@hor_value[3]+")");
+ mes("5."+$@hor_name$[4]+" ("+$@hor_value[4]+")");
+ mes("6."+$@hor_name$[5]+" ("+$@hor_value[5]+")");
+ mes("7."+$@hor_name$[6]+" ("+$@hor_value[6]+")");
+ mes("8."+$@hor_name$[7]+" ("+$@hor_value[7]+")");
+ mes("9."+$@hor_name$[8]+" ("+$@hor_value[8]+")");
+ mes("10."+$@hor_name$[9]+" ("+$@hor_value[9]+")");
+ next;
+ mes "Referral Program Report - pg. 2";
+ mes("11."+$@hor_name$[10]+" ("+$@hor_value[10]+")");
+ mes("12."+$@hor_name$[11]+" ("+$@hor_value[11]+")");
+ mes("13."+$@hor_name$[12]+" ("+$@hor_value[12]+")");
+ mes("14."+$@hor_name$[13]+" ("+$@hor_value[13]+")");
+ mes("15."+$@hor_name$[14]+" ("+$@hor_value[14]+")");
+ mes("16."+$@hor_name$[15]+" ("+$@hor_value[15]+")");
+ mes("17."+$@hor_name$[16]+" ("+$@hor_value[16]+")");
+ mes("18."+$@hor_name$[17]+" ("+$@hor_value[17]+")");
+ mes("19."+$@hor_name$[18]+" ("+$@hor_value[18]+")");
+ mes("20."+$@hor_name$[19]+" ("+$@hor_value[19]+")");
+ next;
+ return;
+}
+
+
+function script HallOfAurora {
+ mes "";
+ mes l("##BHall Of Aurora: TOP10##b");
+ mesf("1. %s (%s)", $@aurora_name$[0], fnum($@aurora_value[0]));
+ mesf("2. %s (%s)", $@aurora_name$[1], fnum($@aurora_value[1]));
+ mesf("3. %s (%s)", $@aurora_name$[2], fnum($@aurora_value[2]));
+ mesf("4. %s (%s)", $@aurora_name$[3], fnum($@aurora_value[3]));
+ mesf("5. %s (%s)", $@aurora_name$[4], fnum($@aurora_value[4]));
+ mesf("6. %s (%s)", $@aurora_name$[5], fnum($@aurora_value[5]));
+ mesf("7. %s (%s)", $@aurora_name$[6], fnum($@aurora_value[6]));
+ mesf("8. %s (%s)", $@aurora_name$[7], fnum($@aurora_value[7]));
+ mesf("9. %s (%s)", $@aurora_name$[8], fnum($@aurora_value[8]));
+ mesf("10. %s (%s)", $@aurora_name$[9], fnum($@aurora_value[9]));
+ return;
+}
+
+
+function script HallOfAcademic {
+ mes "";
+ mes l("##BHall Of Academics: TOP30##b");
+ if (playerattached()) {
+ .@v=array_entries(ACADEMIC_VOUCH);
+ .@mv=(ACADEMIC_RANK >= ACADEMIC_DOCTOR ? 3 : 2);
+ .@mv=(ACADEMIC_RANK >= ACADEMIC_BACHELOR ? .@mv : 1);
+ mesc l("Your current scholar rank: %s (%d/%d vouches)",
+ academicrank(), .@v, .@mv);
+ }
+ mes "";
+ mesf("1. %s (%s)", $@hoa_name$[0], academicrank($@hoa_value[0]));
+ mesf("2. %s (%s)", $@hoa_name$[1], academicrank($@hoa_value[1]));
+ mesf("3. %s (%s)", $@hoa_name$[2], academicrank($@hoa_value[2]));
+ mesf("4. %s (%s)", $@hoa_name$[3], academicrank($@hoa_value[3]));
+ mesf("5. %s (%s)", $@hoa_name$[4], academicrank($@hoa_value[4]));
+ mesf("6. %s (%s)", $@hoa_name$[5], academicrank($@hoa_value[5]));
+ mesf("7. %s (%s)", $@hoa_name$[6], academicrank($@hoa_value[6]));
+ mesf("8. %s (%s)", $@hoa_name$[7], academicrank($@hoa_value[7]));
+ mesf("9. %s (%s)", $@hoa_name$[8], academicrank($@hoa_value[8]));
+ mesf("10. %s (%s)", $@hoa_name$[9], academicrank($@hoa_value[9]));
+ next;
+ mesf("11. %s (%s)", $@hoa_name$[10], academicrank($@hoa_value[10]));
+ mesf("12. %s (%s)", $@hoa_name$[11], academicrank($@hoa_value[11]));
+ mesf("13. %s (%s)", $@hoa_name$[12], academicrank($@hoa_value[12]));
+ mesf("14. %s (%s)", $@hoa_name$[13], academicrank($@hoa_value[13]));
+ mesf("15. %s (%s)", $@hoa_name$[14], academicrank($@hoa_value[14]));
+ mesf("16. %s (%s)", $@hoa_name$[15], academicrank($@hoa_value[15]));
+ mesf("17. %s (%s)", $@hoa_name$[16], academicrank($@hoa_value[16]));
+ mesf("18. %s (%s)", $@hoa_name$[17], academicrank($@hoa_value[17]));
+ mesf("19. %s (%s)", $@hoa_name$[18], academicrank($@hoa_value[18]));
+ mesf("20. %s (%s)", $@hoa_name$[19], academicrank($@hoa_value[19]));
+ next;
+ mesf("21. %s (%s)", $@hoa_name$[20], academicrank($@hoa_value[20]));
+ mesf("22. %s (%s)", $@hoa_name$[21], academicrank($@hoa_value[21]));
+ mesf("23. %s (%s)", $@hoa_name$[22], academicrank($@hoa_value[22]));
+ mesf("24. %s (%s)", $@hoa_name$[23], academicrank($@hoa_value[23]));
+ mesf("25. %s (%s)", $@hoa_name$[24], academicrank($@hoa_value[24]));
+ mesf("26. %s (%s)", $@hoa_name$[25], academicrank($@hoa_value[25]));
+ mesf("27. %s (%s)", $@hoa_name$[26], academicrank($@hoa_value[26]));
+ mesf("28. %s (%s)", $@hoa_name$[27], academicrank($@hoa_value[27]));
+ mesf("29. %s (%s)", $@hoa_name$[28], academicrank($@hoa_value[28]));
+ mesf("30. %s (%s)", $@hoa_name$[29], academicrank($@hoa_value[29]));
+ return;
+}
+
+// Hall of AFK
+function script HallOfAFK {
+ mes "";
+ mes l("##BHall Of AFK: TOP 10##b");
+ mesf("1. %s (%dh%02dm)", $@afk_name$[0], $@afk_value[0]/1200, $@afk_value[0]%1200/60*3);
+ mesf("2. %s (%dh%02dm)", $@afk_name$[1], $@afk_value[1]/1200, $@afk_value[1]%1200/60*3);
+ mesf("3. %s (%dh%02dm)", $@afk_name$[2], $@afk_value[2]/1200, $@afk_value[2]%1200/60*3);
+ mesf("4. %s (%dh%02dm)", $@afk_name$[3], $@afk_value[3]/1200, $@afk_value[3]%1200/60*3);
+ mesf("5. %s (%dh%02dm)", $@afk_name$[4], $@afk_value[4]/1200, $@afk_value[4]%1200/60*3);
+ mesf("6. %s (%dh%02dm)", $@afk_name$[5], $@afk_value[5]/1200, $@afk_value[5]%1200/60*3);
+ mesf("7. %s (%dh%02dm)", $@afk_name$[6], $@afk_value[6]/1200, $@afk_value[6]%1200/60*3);
+ mesf("8. %s (%dh%02dm)", $@afk_name$[7], $@afk_value[7]/1200, $@afk_value[7]%1200/60*3);
+ mesf("9. %s (%dh%02dm)", $@afk_name$[8], $@afk_value[8]/1200, $@afk_value[8]%1200/60*3);
+ mesf("10. %s (%dh%02dm)", $@afk_name$[9], $@afk_value[9]/1200, $@afk_value[9]%1200/60*3);
+ return;
+}
+
+
+// HallOfSponsor(minimal=false)
+function script HallOfSponsor {
+ mes l("This is in honor of all the [@@help://about-server|Contributors@@] who helped rebuilding this world, after the Monster War outbreak.");
+ if (getvaultid())
+ mes l("And also in notable mention of those who [@@https://moubootaurlegends.org/en/community|sponsor@@] the Alliance and its administrative structure.");
+ else
+ mes l("And also in notable mention of those who [@@https://www.patreon.com/TMW2|sponsor@@] the Alliance and its administrative structure.");
+ mes "";
+ mes "Saulc, Woody, Sharli, Povo";
+ // List previous sponsors?
+ if (!getarg(0, false)) {
+ mesc "GonzoDark";
+ }
+ return;
+}
+// Returns the name of a random sponsor
+function script rand_sponsor {
+ return any("Saulc", "Woody", "Sharli", "Povo");
+}
+
+// HallOfGame()
+function script HallOfGame {
+ mes l("World hero: %s", $MOST_HEROIC$);
+ if ($GAME_STORYLINE >= 4) {
+ mes l("The lighting hero: %s", $LIGHT_HOLDER$);
+ mes l("The fortress hero: %s", $AEGIS_HOLDER$);
+ mes l("The accurate hero: %s", $TYRAN_HOLDER$);
+ mes l("The sorcerer hero: %s", $RUNES_HOLDER$);
+ mes l("The frontier hero: %s", $DEMUR_HOLDER$);
+ mes "";
+ } else {
+ mes l("The absolute hero: %s", l("Andrei Sakar"));
+ mes "";
+ }
+ mes l("Planted Trees: %s", fnum($TREE_PLANTED));
+ mes l("Players Killed in PvP: %s", fnum($PLAYERS_KILLED));
+ mes l("Monsters Killed in PvE: %s", fnum($MONSTERS_KILLED));
+ mes "";
+ .@s$=(season() == WINTER ? l("Winter") : .@s$);
+ .@s$=(season() == AUTUMN ? l("Autumn") : .@s$);
+ .@s$=(season() == SUMMER ? l("Summer") : .@s$);
+ .@s$=(season() == SPRING ? l("Spring") : .@s$);
+ mes l("Season: %s", .@s$);
+ // weather ; game time ; world story ; etc.
+ mes "";
+ if (getvaultid())
+ mes l("Notable mentions and thanks for our [@@https://tmw2.org/contact|sponsors@@], we wouldn't be here without their continued support.");
+ else
+ mes l("Notable mentions and thanks for our [@@https://www.patreon.com/TMW2|sponsors@@], we wouldn't be here without their continued support.");
+ mes "";
+ return;
+}
+
+function script HallOf2018 {
+ mes "";
+ if ($YETIKING_WINNER$ != "") {
+ mes l(".:: FIRST PLAYER TO COMPLETE YETI KING QUEST ::.");
+ mes $YETIKING_WINNER$;
+ mes "";
+ }
+ mes l(".:: NOTABLE NAMES ON HURNSCALD LIBERATION DAY ::.");
+ mes l("DragonStar, Aisen");
+ mes "";
+ mes l(".:: NOTABLE NAMES ON NIVALIS LIBERATION DAY ::.");
+ mes l("Jesusalva");
+ mes "";
+ mes l(".:: FIND-THE-NPC 2018 MINI-EVENT WINNER ::.");
+ mes "shab";
+ next;
+ mes l(".:: Easter 2018 ::.");
+ mes l("In honor of DragonStar, winner of Easter 2018.");
+ mesc l("Unfortunately, other victor's names weren't logged.");
+ mes "";
+ mes l(".:: Worker Day 2018 ::.");
+ mes l("No victor appliable.");
+ mes "";
+ mes l(".:: Purple Day 2018 ::.");
+ mes l("No victor appliable.");
+ next;
+ mes l(".:: Ched's Summer 2018 ::.");
+ mes ("1. WarBlade - 5325");
+ mes ("2. Aisen - 2000");
+ mes ("3. msawis - 1000");
+ mesc ("4. vilbou - 400");
+ mesc ("5. Woody - 353");
+ next;
+ mes l(".:: Hasan Scorpion Killing Challenge 2018 ::.");
+ mes ("1. Krists - 1070");
+ mes ("2. Aisen - 598");
+ mes ("3. AndulkaT - 212");
+ mesc ("4. monking - 86");
+ mesc ("5. Carbon14 - 78");
+ next;
+ mes l(".:: Christmas 2018 ::.");
+ mes ("1. WarBlade - 324");
+ mes ("2. Xtreem - 190");
+ mes ("3. msawis - 110");
+ mesc ("4. Krists - 75");
+ mesc ("5. Mrhedx - 38");
+ mes "";
+ mesc ("1. WarBlade - 100,000 GP");
+ mesc ("2. msawis - 7,500 GP");
+ mesc ("3. LawnCable - 4,450 GP");
+ return;
+}
+
+function script HallOf2019 {
+ mes "";
+ if ($HEROESHOLD_WINNER$ != "") {
+ mes l(".:: FIRST PLAYER TO COMPLETE HEROES HOLD MASTER DUNGEON ::.");
+ mes $HEROESHOLD_WINNER$;
+ mes "";
+ }
+ mes l(".:: TMW-2 Anniversary ::.");
+ //mesc l("Scheduled: January 13rd");
+ mes l("No victor appliable.");
+ mesc l("Anniversary marks the project birthdate. Do not mistake with TMW2 Day.");
+ mes "";
+ mes l(".:: Valentine Day ::.");
+ //mesc l("Scheduled: February 12th - 15th");
+ mes ("1. DragonStar - 300");
+ mes ("2. Jesusalva - 121");
+ mes ("3. Xanthem - 35");
+ mesc ("4. Xtreem - 17");
+ mesc ("5. Yuppi - 10");
+ next;
+ mes l(".:: TMW2 Day ::.");
+ //mesc l("Scheduled: March 2nd");
+ mes l("No victor appliable.");
+ mesc l("TMW2 Day marks the server birthdate. Do not mistake with TMW2 Anniversary.");
+ mes "";
+ mes l(".:: Easter 2019 ::.");
+ //mesc l("Scheduled: April 17th - 24th");
+ mes l("In honor of Woody, winner of Easter 2019.");
+ mesc l("Unfortunately, other victor's names weren't logged.");
+ mes "";
+ mes l(".:: Worker Day ::.");
+ //mesc l("Scheduled: April 27th - May 3rd");
+ mes l("No victor appliable.");
+ next;
+ mes l(".:: Ched's Summer 2019 ::.");
+ //mesc l("June 21st - September 21st");
+ mes ("1. Woody - 3954");
+ mes ("2. Crazyfefe - 2092");
+ mes ("3. Lilanna - 462");
+ mesc ("4. Orby - 281");
+ mesc ("5. Saulc - 246");
+ mes "";
+ /*
+ mes l(".:: Chocolate Day ::.");
+ mesc l("Event Canceled"), 1;
+ //mesc l("Scheduled: July 7th");
+ mes "";
+ */
+ mes l(".:: Open Beta 2019 ::.");
+ //mesc l("Scheduled: July 20th ~ 31st");
+ mes l("1. Jesusalva - 65");
+ mes l("2. Kolchak - 63");
+ mes l("3. Xanthem - 56");
+ mesc l("4. seeds - 43");
+ mesc l("5. dangerDuck - 23");
+ mes "";
+ mes l(".:: Free Software Day ::.");
+ mesc l("Event Canceled"), 1;
+ //mesc l("Scheduled: September 9th");
+ mes "";
+ mes l(".:: International Coffee Day ::.");
+ //mesc l("Scheduled: October 1st");
+ mes l("No victor appliable.");
+ mes "";
+ mes l(".:: Hasan Scorpion Killing Challenge 2019 ::.");
+ mesc l("September 22nd - December 20th");
+ mes "";
+ mes l(".:: Thanksgiving 2019 ::.");
+ //mesc l("November 1st - November 30th");
+ mes l("No victor appliable.");
+ mes "";
+ mes l(".:: Christmas 2019 ::.");
+ //mesc l("Scheduled: December 19th - January 2nd");
+ mes l("1. Lilanna - 2498");
+ mes l("2. seeds - 1167");
+ mes l("3. Woody - 1066");
+ mesc l("4. dangerDuck - 540");
+ mesc l("5. Heaven - 501");
+ return;
+}
+
+function script HallOf2020 {
+ mesc l("This schedule is subject to change without prior notice."), 1;
+ mesc l("Changes include but are not limited to festive events and dates."), 1;
+ next;
+ if ($REBIRTH_WINNER$ != "") {
+ mes l(".:: FIRST PLAYER TO REBIRTH ::.");
+ mes $REBIRTH_WINNER$;
+ mes "";
+ }
+ mes l(".:: TMW-2 Anniversary ::.");
+ //mesc l("Scheduled: January 13rd");
+ mes l("No victor appliable.");
+ mesc l("Anniversary marks the project birthdate. Do not mistake with TMW2 Day.");
+ mes "";
+ mes l(".:: Valentine Day ::.");
+ //mesc l("Scheduled: February 13th - 16th");
+ mes l("1. Cassio - 43098");
+ mes l("2. Rill - 25955");
+ mes l("3. luanaf - 20837");
+ mesc l("4. Hocus - 17260");
+ mesc l("5. seeds - 13395");
+ next;
+ mes l(".:: TMW2 Day ::.");
+ //mesc l("Scheduled: March 2nd");
+ mes l("No victor appliable.");
+ mesc l("TMW2 Day marks the server birthdate. Do not mistake with TMW2 Anniversary.");
+ mes "";
+ mes l(".:: Easter 2020 ::.");
+ //mesc l("Scheduled: April 17th - 24th");
+ mes l("In honor of Groata, winner of Easter 2020.");
+ mesc l("Unfortunately, other victor's names weren't logged.");
+ mes "";
+ mes l(".:: Worker Day ::.");
+ //mesc l("Scheduled: April 27th - May 3rd");
+ mes l("No victor appliable.");
+ next;
+ mes l(".:: Ched's Summer 2020 ::.");
+ //mesc l("June 21st - September 21st");
+ mes l("1. Mathias Cronqvist - 15000");
+ mes l("2. Woody - 3637");
+ mes l("3. dangerDuck - 1225");
+ mesc l("4. Amdros - 1113");
+ mesc l("5. Xanthem - 615");
+ mes "";
+ mes l(".:: Chocolate Day ::.");
+ mesc l("Event Canceled"), 1;
+ //mesc l("Scheduled: July 7th");
+ mes "";
+ mes l(".:: Free Software Day ::.");
+ mesc l("Event Canceled"), 1;
+ //mesc l("Scheduled: September 9th");
+ mes "";
+ mes l(".:: International Coffee Day ::.");
+ //mesc l("Scheduled: October 1st");
+ mes l("No victor appliable.");
+ mes "";
+ mes l(".:: Hasan Scorpion Killing Challenge 2020 ::.");
+ //mesc l("September 22nd - December 20th");
+ mes l("1. Leather - 4523");
+ mes l("2. Manatauro - 4386");
+ mes l("3. G II - 4151");
+ mesc l("4. Povo - 3999");
+ mesc l("5. Woolie - 3345");
+ mes "";
+ mes l(".:: Thanksgiving 2020 ::.");
+ //mesc l("November 1st - November 30th");
+ mes l("No victor appliable.");
+ mes "";
+ mes l(".:: Christmas 2020 ::.");
+ //mesc l("Scheduled: December 19th - January 2nd");
+ mes l("1. Manatauro - 29504");
+ mes l("2. Povo - 10203");
+ mes l("3. YuckFou - 9537");
+ mesc l("4. Mathias Cronqvist - 2000");
+ mesc l("5. Heaven - 806");
+ mes "";
+ mesc l("1. YuckFou - 10,000,010 GP");
+ mesc l("2. Mathias Cronqvist - 7,423,346 GP");
+ mesc l("3. Povo - 1,275,000 GP");
+ return;
+}
+
+function script HallOf2021 {
+ mes "";
+ mes l(".:: TMW-2 Anniversary ::.");
+ //mesc l("Scheduled: January 13rd");
+ mes l("No victor appliable.");
+ mesc l("Anniversary marks the project birthdate. Do not mistake with TMW2 Day.");
+ mes "";
+ mes l(".:: Valentine Day ::.");
+ //mesc l("Scheduled: February 13th - 16th");
+ mesc l("Destroyed by the fire"), 1;
+ mesc l("In honor of Manatauro, Povo, YuckFou, Cadis Etrama di Raizel and everyone whom participated on it!"), 1;
+ next;
+ mes l(".:: TMW2 Day ::.");
+ //mesc l("Scheduled: March 2nd");
+ mes l("No victor appliable.");
+ mesc l("TMW2 Day marks the server birthdate. Do not mistake with TMW2 Anniversary.");
+ mes "";
+ mes l(".:: Easter 2021 ::.");
+ //mesc l("Scheduled: April 17th - 24th");
+ mesc l("Destroyed by the fire"), 1;
+ mesc l("In honor of everyone whom participated on it!"), 1;
+ mes "";
+ mes l(".:: Worker Day ::.");
+ //mesc l("Scheduled: April 27th - May 3rd");
+ mes l("No victor appliable.");
+ next;
+ mes l(".:: Ched's Summer 2021 ::.");
+ //mesc l("June 21st - September 21st");
+ mesc l("WARNING: Data may have been corrupted."), 1;
+ mes l("1. andulkaT - 702");
+ mes l("2. Gogo VII - 103");
+ mes l("3. caslu_jpg - 50");
+ mes "";
+ mes l(".:: Chocolate Day ::.");
+ //mesc l("Scheduled: July 7th");
+ mes l("No victor appliable.");
+ mes "";
+ mes l(".:: Free Software Day ::.");
+ //mesc l("Scheduled: September 9th");
+ mes l("No victor appliable.");
+ mes "";
+ mes l(".:: International Coffee Day ::.");
+ //mesc l("Scheduled: October 1st");
+ mes l("No victor appliable.");
+ mes "";
+ mes l(".:: Hasan Scorpion Killing Challenge 2021 ::.");
+ //mesc l("September 22nd - December 20th");
+ mes l("1. Duke M - 16,016");
+ mes l("2. andulkaT - 6,000");
+ mes l("3. Sharli - 4,419");
+ mesc l("4. poppet - 3,826");
+ mesc l("5. girl flapper - 2,487");
+ mes "";
+ mes l(".:: Thanksgiving 2021 ::.");
+ //mesc l("November 1st - November 30th");
+ mes l("No victor appliable.");
+ mes "";
+ mes l(".:: Christmas 2021 ::.");
+ //mesc l("December 19th - January 2nd");
+ mes l("1. Alcyone - 5,942");
+ mes l("2. andulkaT - 438");
+ mes l("3. poppet - 71");
+ mes "";
+ mesc l("1. andulkaT - 100,001 GP");
+ mesc l("2. Alcyone - 53,057 GP");
+ mesc l("3. poppet - 20,010 GP");
+ return;
+}
+
+function script HallOf2022 {
+ mes "";
+ if ($GEMINI_WINNER$ != "") {
+ mes l(".:: FIRST PLAYER TO COMPLETE GEMINI SISTERS QUEST ::.");
+ mes $GEMINI_WINNER$;
+ mes "";
+ }
+ mes l(".:: TMW-2 Anniversary ::.");
+ mesc l("Scheduled: January 13rd");
+ //mes l("No victor appliable.");
+ mesc l("Anniversary marks the project birthdate. Do not mistake with TMW2 Day.");
+ mes "";
+ mes l(".:: Valentine Day ::.");
+ //mesc l("Scheduled: February 13th - 16th");
+ mes l("1. poppet - 3056");
+ mes l("2. andulkaT - 1018");
+ mes l("3. Jesusalva - 310");
+ next;
+ mes l(".:: TMW2 Day ::.");
+ mesc l("Scheduled: March 2nd");
+ //mes l("No victor appliable.");
+ mesc l("TMW2 Day marks the server birthdate. Do not mistake with TMW2 Anniversary.");
+ mes "";
+ mes l(".:: Easter 2022 ::.");
+ mesc l("Scheduled: April 17th - 24th");
+ mes "";
+ mes l(".:: Worker Day ::.");
+ mesc l("Scheduled: April 27th - May 3rd");
+ //mes l("No victor appliable.");
+ next;
+ mes l(".:: Ched's Summer 2022 ::.");
+ mesc l("June 21st - September 21st");
+ mes "";
+ mes l(".:: Chocolate Day ::.");
+ mesc l("Scheduled: July 7th");
+ //mes l("No victor appliable.");
+ mes "";
+ mes l(".:: Free Software Day ::.");
+ mesc l("Scheduled: September 9th");
+ //mes l("No victor appliable.");
+ mes "";
+ mes l(".:: International Coffee Day ::.");
+ mesc l("Scheduled: October 1st");
+ //mes l("No victor appliable.");
+ mes "";
+ mes l(".:: Hasan Scorpion Killing Challenge 2022 ::.");
+ mesc l("September 22nd - December 20th");
+ mes "";
+ mes l(".:: Thanksgiving 2022 ::.");
+ mesc l("November 1st - November 30th");
+ //mes l("No victor appliable.");
+ mes "";
+ mes l(".:: Christmas 2022 ::.");
+ mesc l("Scheduled: December 19th - January 2nd");
+ return;
+}
+
+- script @scoreboard NPC_HIDDEN,{
+ end;
+
+OnCall:
+ do {
+ clear;
+ HallOfSponsor(true);
+ mes "";
+ select
+ l("Hall of Sponsors"),
+ l("Hall Of Fortune"),
+ l("Hall Of Base Level"),
+ l("Hall Of Job Level"),
+ l("Hall Of Strange Coins"),
+ l("Hall Of GM Commands"),
+ l("Hall Of Guilds"),
+ l("Hall Of Crazyfefe Battle"),
+ l("Hall Of Candor Bloodbath"),
+ l("Hall Of Doppelganger Arena"),
+ l("Hall Of AF King"),
+ l("Hall Of Deaths"),
+ rif(season() == SUMMER || season() == AUTUMN, l("Hall Of Ched")),
+ l("Hall Of Fame"),
+ l("Hall Of Academics"),
+ l("2018 Event Winners"),
+ l("2019 Event Winners"),
+ l("2020 Event Winners"),
+ l("2021 Event Winners"),
+ l("2022 Event Winners"),
+ l("Game Statistics"),
+ l("Quit");
+ mes "";
+ switch (@menu) {
+ case 1:
+ HallOfSponsor();
+ next;
+ break;
+ case 2:
+ HallOfFortune();
+ next;
+ break;
+ case 3:
+ HallOfLevel();
+ next;
+ break;
+ case 4:
+ HallOfJob();
+ next;
+ break;
+ case 5:
+ HallOfCoins();
+ next;
+ break;
+ case 6:
+ HallOfGMLog();
+ next;
+ break;
+ case 7:
+ HallOfGuild();
+ next;
+ break;
+ case 8:
+ HallOfCandor();
+ next;
+ break;
+ case 9:
+ HallOfBloodbath();
+ next;
+ break;
+ case 10:
+ HallOfUDT();
+ next;
+ break;
+ case 11:
+ HallOfAFK();
+ next;
+ break;
+ case 12:
+ HallOfDeath();
+ next;
+ break;
+ case 13:
+ mes b(l("Top 10 - Summer Ched's Event"));
+ mes("1."+$@ched_name$[0]+" ("+$@ched_value[0]+")");
+ mes("2."+$@ched_name$[1]+" ("+$@ched_value[1]+")");
+ mes("3."+$@ched_name$[2]+" ("+$@ched_value[2]+")");
+ mes("4."+$@ched_name$[3]+" ("+$@ched_value[3]+")");
+ mes("5."+$@ched_name$[4]+" ("+$@ched_value[4]+")");
+ mes("6."+$@ched_name$[5]+" ("+$@ched_value[5]+")");
+ mes("7."+$@ched_name$[6]+" ("+$@ched_value[6]+")");
+ mes("8."+$@ched_name$[7]+" ("+$@ched_value[7]+")");
+ mes("9."+$@ched_name$[8]+" ("+$@ched_value[8]+")");
+ mes("10."+$@ched_name$[9]+" ("+$@ched_value[9]+")");
+ next;
+ break;
+ case 14:
+ mes l("Hero: ")+$MOST_HEROIC$;
+ mes "";
+ HallOfHonor();
+ next;
+ break;
+ case 15:
+ HallOfAcademic();
+ next;
+ break;
+ case 16:
+ HallOf2018();
+ next;
+ break;
+ case 17:
+ HallOf2019();
+ next;
+ break;
+ case 18:
+ HallOf2020();
+ next;
+ break;
+ case 19:
+ HallOf2021();
+ next;
+ break;
+ case 20:
+ HallOf2022();
+ next;
+ break;
+ case 21:
+ HallOfGame();
+ next;
+ break;
+ default:
+ close;
+ }
+ } while (true);
+ end;
+
+OnInit:
+ bindatcmd "scoreboard", "@scoreboard::OnCall", 0, 100, 0;
+ bindatcmd "scoreboards", "@scoreboard::OnCall", 0, 100, 0;
+ bindatcmd "leaderboard", "@scoreboard::OnCall", 0, 100, 0;
+ end;
+}
+
diff --git a/npc/functions/seasons.txt b/npc/functions/seasons.txt
new file mode 100644
index 0000000..dc41128
--- /dev/null
+++ b/npc/functions/seasons.txt
@@ -0,0 +1,595 @@
+// TMW2 Script.
+// Authors:
+// Jesusalva
+// Description:
+// Season functions
+
+// Function authored by Reid and edited by Jesusalva
+// season({day, month})
+// SQuest_Summer
+// returns the current season (approximation)
+// WINTER: Winter, 21/12
+// SPRING: Spring, 20/03
+// SUMMER: Summer, 21/06
+// AUTUMN: Autumn, 22/09
+
+function script season {
+ .@current_month = getarg(1, gettime(GETTIME_MONTH));
+
+ if (.@current_month % 3 == 0) {
+ .@current_day = getarg(0, gettime(GETTIME_DAYOFMONTH));
+
+ switch (.@current_month) {
+ case MARCH: .@season_day = 20; break;
+ case JUNE: .@season_day = 21; break;
+ case SEPTEMBER: .@season_day = 22; break;
+ case DECEMBER: .@season_day = 21; break;
+ default: break;
+ }
+
+ .@is_after_season_day = .@current_day >= .@season_day ? 0 : -1;
+ }
+
+ return (.@current_month / 3 + .@is_after_season_day) % 4;
+}
+
+
+// Event seasons
+// Christmas cannot be on GlobalEventMenu because it affects seasons system
+function script sChristmas {
+ // Determine the drop rates based on month, and Christmas proximity
+ if (gettime(GETTIME_MONTH) == DECEMBER) {
+ if (gettime(GETTIME_DAYOFMONTH) <= 26)
+ .@m=10;
+ else
+ .@m=8;
+ } else {
+ .@m=5;
+ }
+
+ // Add Christmas drops
+ addmonsterdrop(Moggun, XmasCake, 80*.@m);
+ addmonsterdrop(AlphaMouboo, XmasCake, 92*.@m);
+ addmonsterdrop(BlueSlime, XmasCake, 100*.@m);
+ addmonsterdrop(SantaSlime, XmasCake, 120*.@m);
+ addmonsterdrop(Pollet, XmasCake, 130*.@m);
+ addmonsterdrop(IcedFluffy, XmasCake, 150*.@m);
+ addmonsterdrop(Yeti, XmasCake, 500*.@m);
+
+ addmonsterdrop(Bandit, XmasCandyCane, 30*.@m);
+ addmonsterdrop(Mouboo, XmasCandyCane, 48*.@m);
+ addmonsterdrop(WhiteSlime, XmasCandyCane, 50*.@m);
+ addmonsterdrop(RudolphSlime, XmasCandyCane, 100*.@m);
+ addmonsterdrop(Fluffy, XmasCandyCane, 200*.@m);
+ addmonsterdrop(AzulSlime, XmasCandyCane, 200*.@m);
+
+ addmonsterdrop(Duck, GingerBreadMan, 36*.@m);
+ addmonsterdrop(WaterFairy, GingerBreadMan, 100*.@m);
+
+ // Event drop rates, multiplied by 10 during Christmas (see .@m)
+ addmonsterdrop(Yeti, ClosedChristmasBox, 350*.@m);
+ addmonsterdrop(WaterFairy, ClosedChristmasBox, 108*.@m);
+ addmonsterdrop(Pollet, ClosedChristmasBox, 97*.@m);
+ addmonsterdrop(AlphaMouboo, ClosedChristmasBox, 83*.@m);
+ addmonsterdrop(IcedFluffy, ClosedChristmasBox, 67*.@m);
+ addmonsterdrop(BlueSlime, ClosedChristmasBox, 42*.@m);
+ addmonsterdrop(Moggun, ClosedChristmasBox, 40*.@m);
+ addmonsterdrop(SantaSlime, ClosedChristmasBox, 36*.@m);
+ addmonsterdrop(AzulSlime, ClosedChristmasBox, 20*.@m);
+ addmonsterdrop(Fluffy, ClosedChristmasBox, 20*.@m);
+ addmonsterdrop(RudolphSlime, ClosedChristmasBox, 8*.@m);
+ addmonsterdrop(WhiteSlime, ClosedChristmasBox, 3*.@m);
+ addmonsterdrop(GiantMaggot, ClosedChristmasBox, 2*.@m);
+
+ // This is not dropped outside December
+ if (gettime(GETTIME_MONTH) == DECEMBER) {
+ // Bugfix
+ if (gettime(GETTIME_YEAR) == 2018)
+ .@m+=10;
+ addmonsterdrop(WaterFairy, XmasGift, 6*.@m);
+ addmonsterdrop(Pollet, XmasGift, 5*.@m);
+ addmonsterdrop(AlphaMouboo, XmasGift, 5*.@m);
+ addmonsterdrop(IcedFluffy, XmasGift, 4*.@m);
+ addmonsterdrop(SantaSlime, XmasGift, 3*.@m);
+ addmonsterdrop(Fluffy, XmasGift, 2*.@m);
+ addmonsterdrop(AzulSlime, XmasGift, 2*.@m);
+ }
+
+ // Change maps for Christmas Season (Specially LoF maps)
+ addmapmask "003-1", MASK_CHRISTMAS;
+ addmapmask "005-1", MASK_CHRISTMAS;
+ addmapmask "009-1", MASK_CHRISTMAS;
+ addmapmask "012-1", MASK_CHRISTMAS;
+ addmapmask "017-2", MASK_CHRISTMAS;
+ addmapmask "017-2-1", MASK_CHRISTMAS;
+ addmapmask "017-3", MASK_CHRISTMAS;
+ addmapmask "020-2", MASK_CHRISTMAS;
+
+ // Enable event
+ set $EVENT$, "Christmas";
+ //logmes "Enabled CHRISTMAS event.", LOGMES_ATCOMMAND;
+ return;
+}
+// Valentine Day is handled by @event, this is only for @reloadmobdb
+function script sValentine {
+ // Add Valentine drops
+ addmonsterdrop(WhirlyBird, LoveLetter, 10000);
+ addmonsterdrop(RedMushroom, LoveLetter, 8);
+ addmonsterdrop(ChocolateSlime, LoveLetter, 4);
+ return;
+}
+
+function script sEaster {
+ // Enable event
+ set $EVENT$, "Easter";
+ addmonsterdrop(Forain, DarkEggshellHat, 2);
+ if (playerattached())
+ logmes "Enabled EASTER event.", LOGMES_ATCOMMAND;
+ return;
+}
+
+// This allows GMs to change seasons if needed
+function script SeasonControl {
+ do
+ {
+ select
+ "Summer Start",
+ "Summer End",
+ "Autumn Start",
+ "Autumn End",
+ "Winter Start",
+ "Winter End",
+ "Spring Start",
+ "Spring End",
+ "SPECIAL - Christmas",
+ "SPECIAL - Valentine",
+ "SPECIAL - Easter",
+ "FORCED DAYLIGHT",
+ "FORCED NIGHTTIME",
+ "Abort";
+
+ switch (@menu) {
+ case 1: donpcevent("#SeasonCore::OnSummerStart"); break;
+ case 2: donpcevent("#SeasonCore::OnSummerEnd"); break;
+ case 3: donpcevent("#SeasonCore::OnAutumnStart"); break;
+ case 4: donpcevent("#SeasonCore::OnAutumnEnd"); break;
+ case 5: donpcevent("#SeasonCore::OnWinterStart"); break;
+ case 6: donpcevent("#SeasonCore::OnWinterEnd"); break;
+ case 7: donpcevent("#SeasonCore::OnSpringStart"); break;
+ case 8: donpcevent("#SeasonCore::OnSpringEnd"); break;
+ case 9: sChristmas(); break;
+ case 10: sValentine(); break;
+ case 11: sEaster(); break;
+ case 12: $@WEATHER_NIGHT=false; doevent("#WeatherCore::OnMinute45"); break;
+ case 13: $@WEATHER_NIGHT=true; doevent("#WeatherCore::OnMinute45"); break;
+ }
+ } while (@menu != 13);
+ return;
+}
+
+// If skip_checks is set, it'll ignore $@SEASON control.
+// SeasonReload( {skip_checks} )
+function script SeasonReload {
+ // Proccess skip_checks
+ if (getarg(0,0))
+ $@SEASON=99;
+
+ // Summer extra drops
+ if (season() == SUMMER && $@SEASON != SUMMER) {
+ donpcevent("#SeasonCore::OnSummerStart");
+ }
+ // Summer end delete drops
+ if (season() == AUTUMN && $@SEASON == SUMMER) {
+ donpcevent("#SeasonCore::OnSummerEnd");
+ }
+ // Autumn extra drops
+ if (season() == AUTUMN && $@SEASON != AUTUMN) {
+ donpcevent("#SeasonCore::OnAutumnStart");
+ }
+ // Autumn end delete drops
+ if (season() == WINTER && $@SEASON == AUTUMN) {
+ donpcevent("#SeasonCore::OnAutumnEnd");
+ }
+ // Winter extra drops
+ if (season() == WINTER && $@SEASON != WINTER) {
+ donpcevent("#SeasonCore::OnWinterStart");
+ }
+ // Winter end delete drops
+ if (season() == SPRING && $@SEASON == WINTER) {
+ donpcevent("#SeasonCore::OnWinterEnd");
+ }
+ // Spring extra drops
+ if (season() == SPRING && $@SEASON != SPRING) {
+ donpcevent("#SeasonCore::OnSpringStart");
+ }
+ // Spring end delete drops
+ if (season() == SUMMER && $@SEASON == SPRING) {
+ donpcevent("#SeasonCore::OnSpringEnd");
+ }
+
+ // Non-season, but season-related
+ // Christmas have a special feature
+ if ($EVENT$ == "Christmas")
+ sChristmas();
+ if ($EVENT$ == "Valentine")
+ sValentine();
+
+ $@SEASON=season();
+ initnpctimer("#SeasonCore");
+ return;
+}
+
+000-0,0,0,0 script #SeasonCore NPC_HIDDEN,{
+ end;
+
+OnSummerStart:
+ addmonsterdrop(SaxsoGhost, CherryCocktail, 450);
+ addmonsterdrop(DesertBandit, CherryCocktail, 410); // INVALID
+ addmonsterdrop(Duck, CherryCocktail, 360);
+ addmonsterdrop(Croc, CherryCocktail, 180);
+ addmonsterdrop(RedButterfly, CherryCocktail, 100);
+
+ addmonsterdrop(Centaur, CactusCocktail, 1000);
+ addmonsterdrop(GiantMaggot, CactusCocktail, 290); // INVALID
+ addmonsterdrop(FireGoblin, CactusCocktail, 220); // INVALID
+ addmonsterdrop(DesertMaggot, CactusCocktail, 190);
+ addmonsterdrop(Scorpion, CactusCocktail, 165);
+ addmonsterdrop(Maggot, CactusCocktail, 140);
+
+ addmonsterdrop(AlphaMouboo, AppleCocktail, 850);
+ addmonsterdrop(OceanCroc, AppleCocktail, 480);
+ addmonsterdrop(Mouboo, AppleCocktail, 280);
+ addmonsterdrop(RedScorpion, AppleCocktail, 120);
+ addmonsterdrop(Pinkie, AppleCocktail, 70);
+
+
+ addmonsterdrop(Duck, Sunglasses, 1);
+ addmonsterdrop(Croc, Sunglasses, 1);
+ addmonsterdrop(SaxsoGhost, Sunglasses, 1);
+ addmonsterdrop(DesertMaggot, Sunglasses, 1); // INVALID
+ addmonsterdrop(Scorpion, Sunglasses, 1);
+ addmonsterdrop(GiantMaggot, Sunglasses, 1); // INVALID
+ addmonsterdrop(Centaur, Sunglasses, 3);
+ addmonsterdrop(AlphaMouboo, Sunglasses, 1);
+ addmonsterdrop(OceanCroc, Sunglasses, 1);
+ addmonsterdrop(Mouboo, Sunglasses, 1);
+ addmonsterdrop(Pinkie, Sunglasses, 1);
+ addmonsterdrop(Moonshroom, Sunglasses, 2);
+ addmonsterdrop(RedButterfly, Sunglasses, 1);
+ end;
+
+OnSummerEnd:
+ // Inform the top 5 Ched winners to gather their prizes
+ .@nb = query_sql("SELECT c.name, i.count2, c.char_id FROM `quest` AS i, `char` AS c WHERE i.quest_id=305 AND i.char_id=c.char_id AND i.count1="+(gettime(GETTIME_YEAR)-2000)+" ORDER BY i.count2 DESC LIMIT 10", $@ched_name$, $@ched_value, $@ched_charid);
+ for (.@i=0;.@i < getarraysize($@ched_charid);.@i++) {
+ rodex_sendmail($@ched_charid[.@i], "Ched", "Summer Drinks", "Final Ranking: #"+(.@i+1)+". Rewards are available with Ched!");
+ }
+
+ delmonsterdrop(Duck, CherryCocktail);
+ delmonsterdrop(Croc, CherryCocktail);
+ delmonsterdrop(SaxsoGhost, CherryCocktail);
+ delmonsterdrop(RedButterfly, CherryCocktail);
+ delmonsterdrop(DesertBandit, CherryCocktail);
+ delmonsterdrop(Maggot, CactusCocktail);
+ delmonsterdrop(DesertMaggot, CactusCocktail);
+ delmonsterdrop(Scorpion, CactusCocktail);
+ delmonsterdrop(GiantMaggot, CactusCocktail);
+ delmonsterdrop(Centaur, CactusCocktail);
+ delmonsterdrop(FireGoblin, CactusCocktail);
+ delmonsterdrop(AlphaMouboo, AppleCocktail);
+ delmonsterdrop(OceanCroc, AppleCocktail);
+ delmonsterdrop(Mouboo, AppleCocktail);
+ delmonsterdrop(Pinkie, AppleCocktail);
+ delmonsterdrop(RedScorpion, AppleCocktail);
+ delmonsterdrop(Duck, Sunglasses);
+ delmonsterdrop(Croc, Sunglasses);
+ delmonsterdrop(SaxsoGhost, Sunglasses);
+ delmonsterdrop(DesertMaggot, Sunglasses);
+ delmonsterdrop(Scorpion, Sunglasses);
+ delmonsterdrop(GiantMaggot, Sunglasses);
+ delmonsterdrop(Centaur, Sunglasses);
+ delmonsterdrop(AlphaMouboo, Sunglasses);
+ delmonsterdrop(OceanCroc, Sunglasses);
+ delmonsterdrop(Mouboo, Sunglasses);
+ delmonsterdrop(Pinkie, Sunglasses);
+ delmonsterdrop(Moonshroom, Sunglasses);
+ delmonsterdrop(RedButterfly, Sunglasses);
+ end;
+
+OnAutumnStart:
+ // Fancy trees
+ addmapmask "012-1", MASK_AUTUMN;
+
+ // Autumn's Drop
+ addmonsterdrop(FafiDragon, PumpkandySeed, 10000);
+ addmonsterdrop(BlackMamba, PumpkandySeed, 8000);
+ addmonsterdrop(AlphaMouboo, PumpkandySeed, 5000);
+ addmonsterdrop(PoisonSpikyMushroom, PumpkandySeed, 3000);
+ addmonsterdrop(Mouboo, PumpkandySeed, 2000);
+ addmonsterdrop(Bandit, PumpkandySeed, 1600);
+ addmonsterdrop(Fluffy, PumpkandySeed, 1500);
+ addmonsterdrop(LogHead, PumpkandySeed, 1400);
+ addmonsterdrop(CaveSnake, PumpkandySeed, 1380);
+ addmonsterdrop(CaveMaggot, PumpkandySeed, 850);
+ addmonsterdrop(GreenSlime, PumpkandySeed, 750);
+ addmonsterdrop(Piou, PumpkandySeed, 600);
+ addmonsterdrop(Squirrel, PumpkandySeed, 500);
+ end;
+
+OnAutumnEnd:
+ // Ched's rewards can't be claimed anymore. Delete that from all players.
+ DelQuestFromEveryPlayer(SQuest_Ched);
+
+ // Inform the top 5 Hasan winners to gather their prizes
+ .@nb = query_sql("SELECT c.name, i.count2, c.char_id FROM `quest` AS i, `char` AS c WHERE i.quest_id="+SQuest_Autumn+" AND i.char_id=c.char_id ORDER BY i.count2 DESC LIMIT 5", $@hasn_name$, $@hasn_value, $@hasn_charid);
+ for (.@i=0;.@i < getarraysize($@hasn_charid);.@i++) {
+ rodex_sendmail($@hasn_charid[.@i], "Hasan", "Scorpion Hunting", "Final Ranking: #"+(.@i+1)+". Rewards are available with Hasan!");
+ }
+
+
+ removemapmask "012-1", MASK_AUTUMN;
+ delmonsterdrop(FafiDragon, PumpkandySeed);
+ delmonsterdrop(Mouboo, PumpkandySeed);
+ delmonsterdrop(AlphaMouboo, PumpkandySeed);
+ delmonsterdrop(Fluffy, PumpkandySeed);
+ delmonsterdrop(Piou, PumpkandySeed);
+ delmonsterdrop(CaveSnake, PumpkandySeed);
+ delmonsterdrop(CaveMaggot, PumpkandySeed);
+ delmonsterdrop(Bandit, PumpkandySeed);
+ delmonsterdrop(Squirrel, PumpkandySeed);
+ delmonsterdrop(PoisonSpikyMushroom, PumpkandySeed);
+ delmonsterdrop(LogHead, PumpkandySeed);
+ delmonsterdrop(GreenSlime, PumpkandySeed);
+ delmonsterdrop(BlackMamba, PumpkandySeed);
+ end;
+
+OnWinterStart:
+ // Nearly all Winterlands + Woodlands + ducks drop winter items. (Summer is Desert shining, Winter is the opposite)
+ // Winterland Area Mobs
+ // Moggun AlphaMouboo BlueSlime SantaSlime IcedFluffy Yeti WaterFairy AzulSlime Fluffy
+ // RudolphSlime WhiteSlime AngryBat Wolvern WindFairy
+
+ // Woodlands Area Mobs
+ // Tipiu Piousse Silkworm Squirrel Blub CobaltPlant MauvePlant GambogePlant AlizarinPlant
+ // Loghead Mouboo ForestMushroom SeaSlime Centaur Pinkie CloverField PoisonSpikyMushroom
+ // ChagashroomField PlushroomField ManaPiou Bluepar LivingPotato RedMushroom RedButterfly
+ // ManaBug TrainingDummy
+
+ // LoF Area Mobs
+ // ChocolateSlime Lavern ShadowPlant CyanButterfly
+
+ // Items: Snowflake CaramelCandy GingerBreadMan ChocolateBiscuit
+ // Quest Requires All Of The Above
+
+ addmonsterdrop(SantaSlime, ChocolateBiscuit, 100);
+
+ addmonsterdrop(WaterFairy, GingerBreadMan, 1000);
+ addmonsterdrop(RedMushroom, GingerBreadMan, 300);
+ addmonsterdrop(Duck, GingerBreadMan, 280);
+ addmonsterdrop(ManaPiou, GingerBreadMan, 240);
+ addmonsterdrop(AngryBat, GingerBreadMan, 140);
+ addmonsterdrop(AzulSlime, GingerBreadMan, 110);
+ addmonsterdrop(Lavern, GingerBreadMan, 90);
+
+ addmonsterdrop(Tipiu, CaramelCandy, 8000);
+ addmonsterdrop(WindFairy, CaramelCandy, 2000);
+ addmonsterdrop(IcedFluffy, CaramelCandy, 1200);
+ addmonsterdrop(Wolvern, CaramelCandy, 1000);
+ addmonsterdrop(LivingPotato, CaramelCandy, 800);
+ addmonsterdrop(ChocolateSlime, CaramelCandy, 400);
+ addmonsterdrop(SeaSlime, CaramelCandy, 400);
+ addmonsterdrop(Pinkie, CaramelCandy, 200);
+ addmonsterdrop(Fluffy, CaramelCandy, 150);
+ addmonsterdrop(SlimeBlast, CaramelCandy, 100);
+ addmonsterdrop(SilkWorm, CaramelCandy, 30);
+
+ addmonsterdrop(ForestMushroom, Snowflake, 3000);
+ addmonsterdrop(Blub, Snowflake, 3000);
+ addmonsterdrop(LogHead, Snowflake, 600);
+ addmonsterdrop(RedButterfly, Snowflake, 400);
+ addmonsterdrop(CyanButterfly, Snowflake, 400);
+ addmonsterdrop(Dummy, Snowflake, 300);
+ addmonsterdrop(ManaBug, Snowflake, 200);
+ addmonsterdrop(Piousse, Snowflake, 100);
+ addmonsterdrop(Squirrel, Snowflake, 100);
+ addmonsterdrop(CloverPatch, Snowflake, 100);
+ addmonsterdrop(CobaltPlant, Snowflake, 90);
+ addmonsterdrop(GambogePlant, Snowflake, 90);
+ addmonsterdrop(MauvePlant, Snowflake, 90);
+ addmonsterdrop(AlizarinPlant, Snowflake, 90);
+
+
+ addmonsterdrop(AlphaMouboo, ReinbooWand, 3);
+ addmonsterdrop(BloodyMouboo, ReinbooWand, 2);
+ addmonsterdrop(Centaur, ReinbooWand, 2);
+ addmonsterdrop(Mouboo, ReinbooWand, 1);
+ addmonsterdrop(EasterMouboo, ReinbooWand, 1);
+ addmonsterdrop(MoubooSlime, ReinbooWand, 1);
+ end;
+
+OnWinterEnd:
+ // Hasan's rewards can't be claimed anymore. Delete that from all players.
+ DelQuestFromEveryPlayer(SQuest_Autumn);
+
+ delmonsterdrop(WaterFairy, GingerBreadMan);
+ delmonsterdrop(RedMushroom, GingerBreadMan);
+ delmonsterdrop(Duck, GingerBreadMan);
+ delmonsterdrop(ManaPiou, GingerBreadMan);
+ delmonsterdrop(AngryBat, GingerBreadMan);
+ delmonsterdrop(AzulSlime, GingerBreadMan);
+ delmonsterdrop(Lavern, GingerBreadMan);
+ delmonsterdrop(Tipiu, CaramelCandy);
+ delmonsterdrop(WindFairy, CaramelCandy);
+ delmonsterdrop(IcedFluffy, CaramelCandy);
+ delmonsterdrop(Wolvern, CaramelCandy);
+ delmonsterdrop(LivingPotato, CaramelCandy);
+ delmonsterdrop(ChocolateSlime, CaramelCandy);
+ delmonsterdrop(SeaSlime, CaramelCandy);
+ delmonsterdrop(Pinkie, CaramelCandy);
+ delmonsterdrop(SlimeBlast, CaramelCandy);
+ delmonsterdrop(SilkWorm, CaramelCandy);
+ delmonsterdrop(ForestMushroom, Snowflake);
+ delmonsterdrop(Blub, Snowflake);
+ delmonsterdrop(LogHead, Snowflake);
+ delmonsterdrop(RedButterfly, Snowflake);
+ delmonsterdrop(CyanButterfly, Snowflake);
+ delmonsterdrop(Dummy, Snowflake);
+ delmonsterdrop(ManaBug, Snowflake);
+ delmonsterdrop(Piousse, Snowflake);
+ delmonsterdrop(Squirrel, Snowflake);
+ delmonsterdrop(CloverPatch, Snowflake);
+ delmonsterdrop(CobaltPlant, Snowflake);
+ delmonsterdrop(GambogePlant, Snowflake);
+ delmonsterdrop(MauvePlant, Snowflake);
+ delmonsterdrop(AlizarinPlant, Snowflake);
+
+ delmonsterdrop(AlphaMouboo, ReinbooWand);
+ delmonsterdrop(BloodyMouboo, ReinbooWand);
+ delmonsterdrop(Centaur, ReinbooWand);
+ delmonsterdrop(Mouboo, ReinbooWand);
+ delmonsterdrop(EasterMouboo, ReinbooWand);
+ delmonsterdrop(MoubooSlime, ReinbooWand);
+ end;
+
+OnSpringStart:
+ // All Woodlands drop spring items.
+
+ // Items: Tulip Rose Blueberries (+ GrassSeeds and AlizarinHerb )
+ // Quest Requires All Of The Above (+herbs which are common drop)
+ // All mobs in same group drops the same thing
+
+ // Boos (GrassSeeds)
+ addmonsterdrop(Centaur, GrassSeeds, 2000);
+ addmonsterdrop(AlphaMouboo, GrassSeeds, 800);
+ addmonsterdrop(Mouboo, GrassSeeds, 300);
+ addmonsterdrop(MoubooSlime, GrassSeeds, 100);
+
+ // Shrooms (AlizarinHerb)
+ addmonsterdrop(WickedMushroom, AlizarinHerb, 9000);
+ addmonsterdrop(ForestMushroom, AlizarinHerb, 6000);
+ addmonsterdrop(RedMushroom, AlizarinHerb, 2000);
+ addmonsterdrop(PoisonSpikyMushroom, AlizarinHerb, 1000);
+
+ // Pious (AlizarinHerb)
+ addmonsterdrop(Tipiu, AlizarinHerb, 8000);
+ addmonsterdrop(ManaPiou, AlizarinHerb, 740);
+ addmonsterdrop(Piousse, AlizarinHerb, 400);
+
+ // Mystical & Fairies (Tulip)
+ addmonsterdrop(GreenDragon, Tulip, 3000);
+ addmonsterdrop(WindFairy, Tulip, 1000);
+ addmonsterdrop(PoisonFairy, Tulip, 1000);
+ addmonsterdrop(WaterFairy, Tulip, 1000);
+ addmonsterdrop(EarthFairy, Tulip, 1000);
+
+ // Slimes (AlizarinHerb)
+ addmonsterdrop(BlackSlime, AlizarinHerb, 220);
+ addmonsterdrop(SeaSlime, AlizarinHerb, 210);
+ addmonsterdrop(RedSlime, AlizarinHerb, 200);
+ addmonsterdrop(ChocolateSlime, AlizarinHerb, 50);
+
+ // Snakes (Rose)
+ addmonsterdrop(BlackMamba, Rose, 1800);
+ addmonsterdrop(MountainSnake, Rose, 1500);
+ addmonsterdrop(GrassSnake, Rose, 700);
+
+ // Butterflies (Blueberries)
+ addmonsterdrop(CyanButterfly, Blueberries, 400);
+ addmonsterdrop(RedButterfly, Blueberries, 400);
+ addmonsterdrop(ManaBug, Blueberries, 200);
+
+ // Scorpions (Blueberries)
+ addmonsterdrop(GoldenScorpion, Blueberries, 4000);
+ addmonsterdrop(NightScorpion, Blueberries, 3000);
+
+ // Underground mobs (Rose)
+ addmonsterdrop(Troll, Rose, 3000);
+ addmonsterdrop(Lavern, Rose, 900);
+ addmonsterdrop(DarkLizard, Rose, 400);
+ addmonsterdrop(AngryBat, Rose, 100);
+ addmonsterdrop(SilkWorm, Rose, 30);
+
+ // Standard Greenary (Tulip)
+ addmonsterdrop(LogHead, Tulip, 600);
+ addmonsterdrop(LivingPotato, Tulip, 400);
+ addmonsterdrop(Pinkie, Tulip, 200);
+ addmonsterdrop(Squirrel, Tulip, 100);
+
+ // Special mobs and drop
+ // 1- No mob dropping spring-exclusive (Tulip/Rose/Blueberries)
+ // 2- Preference to mobs you wouldn't otherwise bother
+ // 3- Keep a certain level threshold for rarity
+ addmonsterdrop(Centaur, BrimmedFlowerHat, 4);
+ addmonsterdrop(Tipiu, BrimmedFlowerHat, 4);
+ addmonsterdrop(AlphaMouboo, BrimmedFlowerHat, 2);
+ addmonsterdrop(BlackSlime, BrimmedFlowerHat, 1);
+ addmonsterdrop(SeaSlime, BrimmedFlowerHat, 1);
+ addmonsterdrop(RedSlime, BrimmedFlowerHat, 1);
+ addmonsterdrop(MoubooSlime, BrimmedFlowerHat, 1);
+ addmonsterdrop(ManaPiou, BrimmedFlowerHat, 1);
+
+ end;
+
+OnSpringEnd:
+ delmonsterdrop(Centaur, GrassSeeds);
+ delmonsterdrop(AlphaMouboo, GrassSeeds);
+ delmonsterdrop(Mouboo, GrassSeeds);
+ delmonsterdrop(MoubooSlime, GrassSeeds);
+ delmonsterdrop(WickedMushroom, AlizarinHerb);
+ delmonsterdrop(ForestMushroom, AlizarinHerb);
+ delmonsterdrop(RedMushroom, AlizarinHerb);
+ delmonsterdrop(PoisonSpikyMushroom, AlizarinHerb);
+ delmonsterdrop(Tipiu, AlizarinHerb);
+ delmonsterdrop(ManaPiou, AlizarinHerb);
+ delmonsterdrop(Piousse, AlizarinHerb);
+ delmonsterdrop(BlackSlime, AlizarinHerb);
+ delmonsterdrop(SeaSlime, AlizarinHerb);
+ delmonsterdrop(RedSlime, AlizarinHerb);
+ delmonsterdrop(ChocolateSlime, AlizarinHerb);
+ delmonsterdrop(GreenDragon, Tulip);
+ delmonsterdrop(WindFairy, Tulip);
+ delmonsterdrop(PoisonFairy, Tulip);
+ delmonsterdrop(WaterFairy, Tulip);
+ delmonsterdrop(EarthFairy, Tulip);
+ delmonsterdrop(LogHead, Tulip);
+ delmonsterdrop(LivingPotato, Tulip);
+ delmonsterdrop(Pinkie, Tulip);
+ delmonsterdrop(Squirrel, Tulip);
+ delmonsterdrop(CyanButterfly, Blueberries);
+ delmonsterdrop(RedButterfly, Blueberries);
+ delmonsterdrop(ManaBug, Blueberries);
+ delmonsterdrop(GoldenScorpion, Blueberries);
+ delmonsterdrop(NightScorpion, Blueberries);
+ delmonsterdrop(BlackMamba, Rose);
+ delmonsterdrop(MountainSnake, Rose);
+ delmonsterdrop(GrassSnake, Rose);
+ delmonsterdrop(Troll, Rose);
+ delmonsterdrop(Lavern, Rose);
+ delmonsterdrop(DarkLizard, Rose);
+ delmonsterdrop(AngryBat, Rose);
+ delmonsterdrop(SilkWorm, Rose);
+ delmonsterdrop(Centaur, BrimmedFlowerHat);
+ delmonsterdrop(Tipiu, BrimmedFlowerHat);
+ delmonsterdrop(AlphaMouboo, BrimmedFlowerHat);
+ delmonsterdrop(BlackSlime, BrimmedFlowerHat);
+ delmonsterdrop(SeaSlime, BrimmedFlowerHat);
+ delmonsterdrop(RedSlime, BrimmedFlowerHat);
+ delmonsterdrop(MoubooSlime, BrimmedFlowerHat);
+ delmonsterdrop(ManaPiou, BrimmedFlowerHat);
+ end;
+
+OnInit:
+ SeasonReload(1);
+ end;
+
+OnHour00:
+ if ($@SEASON != season()) {
+ SeasonReload();
+ }
+ end;
+
+OnTimer700:
+ charcommand("@refreshall");
+ stopnpctimer;
+ end;
+}
diff --git a/npc/functions/shake.txt b/npc/functions/shake.txt
new file mode 100644
index 0000000..2c3c58a
--- /dev/null
+++ b/npc/functions/shake.txt
@@ -0,0 +1,53 @@
+// Author: Jesusalva
+
+// Shake player screen
+// Usage:
+// set @max_shake then call OnShake
+
+// sshake( {max_shake=6,10}, {closedialog=true} )
+function script sshake {
+ @max_shake=abs(getarg(0, rand2(6,10)));
+ for (.@s=0; .@s < @max_shake; .@s++) {
+ movecam rand(-20,20), rand(-20,20);
+ sleep2(50);
+ }
+ restorecam;
+ if (getarg(1,false))
+ closedialog;
+ return;
+}
+
+- script shake 32767,{
+ end;
+
+// Loops until @shake is @max_shake
+OnShake:
+ @shake+=1;
+ movecam rand(-20,20), rand(-20,20);
+ //closeclientdialog;
+
+ if (@shake < @max_shake) {
+ addtimer(50, "shake::OnShake");
+ } else {
+ @shake=0;
+ restorecam;
+ closedialog;
+ }
+ end;
+
+// Called by GM Command
+OnGM:
+ @shake=0;
+ @max_shake=rand2(6,10);
+ addtimer(50, "shake::OnShake");
+ end;
+
+OnCall:
+ getmapxy(.@m$,.@x,.@y,0);
+ areatimer(.@m$, .@x-15, .@y-15, .@x+15, .@y+15, 10, "shake::OnGM");
+ end;
+
+OnInit:
+ bindatcmd "shake", "shake::OnCall", 80, 80, 1;
+ end;
+}
diff --git a/npc/functions/shops.txt b/npc/functions/shops.txt
new file mode 100644
index 0000000..39db86a
--- /dev/null
+++ b/npc/functions/shops.txt
@@ -0,0 +1,43 @@
+// Evol functions.
+// Author:
+// 4144
+// Jesusalva
+// Description:
+// Shops utility functions
+// Variables:
+// Item ID, Item Price, Item Amount
+
+// restoreshopitem(amount) or restoreshopitem(price, amount)
+function script restoreshopitem {
+ if (getarg(2, -1337) == -1337) {
+ .@amount=getarg(1);
+ .@price=-1;
+ } else {
+ .@amount=getarg(2);
+ .@price=getarg(1);
+ }
+
+ if (shopcount(getarg(0)) < .@amount)
+ sellitem getarg(0), .@price, .@amount;
+ return;
+}
+
+
+// shop2({NPC Name, {showmenu=true}})
+function script shop2 {
+ npctalk3 any(
+ l("The best wares!"),
+ l("Buy cheap, sell expensive!")
+ );
+ .@n$=getarg(0, strnpcinfo(0));
+
+ npcshopattach(.@n$);
+
+ if (getarg(1,true))
+ shop .@n$;
+ else
+ openshop .@n$;
+
+ closeclientdialog;
+ return;
+}
diff --git a/npc/functions/siege.txt b/npc/functions/siege.txt
new file mode 100644
index 0000000..33375d3
--- /dev/null
+++ b/npc/functions/siege.txt
@@ -0,0 +1,547 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Town Siege utilities
+
+// Siege Spawn
+// Can be used anywhere to spawn on the whole map, margins respected.
+// siege_spawn( map, mobID, Amount, eventID )
+function script siege_spawn {
+ .@mp$=getarg(0);
+ .@mid=getarg(1);
+ .@qnt=getarg(2);
+ .@ev$=getarg(3);
+
+ areamonster(.@mp$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@mp$)-20, getmapinfo(MAPINFO_SIZE_Y, .@mp$)-20, strmobinfo(1, .@mid), .@mid, .@qnt, .@ev$);
+ return;
+}
+
+// Calculate player average level
+// flag 1 - Don't count dead players
+// flag 2 - Return highest player level, instead of average.
+// flag 4 - Return the total sum of levels instead.
+// siege_calcdiff ( map{, flags} )
+function script siege_calcdiff {
+ .@bsum=0;
+ if (getarg(1,0) & 1)
+ .@deadcount=true;
+ if (getarg(1,0) & 2)
+ .@onlyhighest=true;
+ if (getarg(1,0) & 4)
+ .@onlytotal=true;
+ .@c = getunits(BL_PC, .@players, false, getarg(0));
+ .@skip=0;
+
+ // There is at least one player, do things properly
+ for (.@i = 0; .@i < .@c; .@i++) {
+ // Dead players are not counted
+ if (.@deadcount) {
+ if (ispcdead(strcharinfo(0, "", .@players[.@i]))) {
+ .@skip+=1;
+ continue;
+ }
+ }
+
+ .@b=readparam(BaseLevel, .@players[.@i]);
+
+ // GMs are not counted
+ if (getgroupid(.@players[.@i]) >= 60) {
+ .@skip+=1;
+ .@b=0;
+ }
+ .@bsum+=.@b;
+ if (.@b > .@highest)
+ .@highest=.@b;
+ }
+
+ // Sanitize and fallback if needed
+ .@c-=.@skip;
+ if (!.@c)
+ .@c=1;
+
+ //debugmes "calcdiff: Total %d Average %d Highest %d", .@bsum, (.@bsum/.@c), .@highest;
+
+ if (.@onlyhighest)
+ return .@highest;
+ else if (.@onlytotal)
+ return .@bsum;
+ else
+ return (.@bsum/.@c);
+}
+
+// push to $@SIEGE_TMPMOBS the <mobID> if their level is within a x levels range
+// above or below <level>
+// siege_push ( mobID, {level{, variation}} )
+function script siege_push {
+ .@mi=getarg(0);
+ .@lv=getarg(1,0);
+ .@var=getarg(2,14); // Old Default: 15, and then 10
+
+ if ( is_between(.@lv-.@var, .@lv+(.@var/2), strmobinfo(3, .@mi)) ) {
+ //debugmes "Monster %s (%d) level %d ~= %d", strmobinfo(1, .@mi), .@mi, strmobinfo(3, .@mi), .@lv;
+ array_push($@SIEGE_TMPMOBS, .@mi);
+ }
+ return;
+}
+
+// Selects a monster based on player average strength and base difficulty
+// It'll select monsters from 20 levels below to 20 levels above
+// tp_mask is the same as TP_* constants and changes mobs present. Only TP_TULIM,
+// TP_HURNS and TP_NIVAL are supported. You can use them with the "|" operand, eg.,
+// TP_TULIM | TP_HURNS.
+//
+// It currently only creates $@SIEGE_TMPMOBS, you need to use any_of() manually.
+// siege_selectmob ( blvl, difficulty{, tp_mask} )
+function script siege_selectmob {
+ .@blv=getarg(0);
+ .@dif=getarg(1, 0);
+ .@tp=getarg(2, 0);
+
+ // We don't need .@dif, so we convert difficulty to levels
+ .@blv+=(.@dif/any(2,2,3));
+
+ deletearray $@SIEGE_TMPMOBS;
+ setarray $@SIEGE_TMPMOBS, ManaGhost, CandiedSlime, Bif, SlimeBlast;
+ // Now we must select mobs, using array_push() to $@SIEGE_TMPMOBS
+ // First, mobs on all envs
+ siege_push(BlackScorpion, .@blv);
+ siege_push(GreenSlime, .@blv);
+ siege_push(CaveMaggot, .@blv);
+ siege_push(MagicGoblin, .@blv);
+ siege_push(AngryBat, .@blv);
+ siege_push(BlackSlime, .@blv);
+ siege_push(BlackScorpion, .@blv);
+ siege_push(Forain, .@blv);
+ siege_push(Terranite, .@blv);
+ siege_push(JackO, .@blv);
+ siege_push(BlackMamba, .@blv);
+ siege_push(TerraniteProtector, .@blv);
+ siege_push(Reaper, .@blv);
+
+ // What if we are trying to select a boss and they're... overleveled?
+ // We need a level 105, 120 and a level 135 monsters
+ siege_push(FallenKing2, .@blv);
+ siege_push(TerraniteKing, .@blv);
+
+ // Now, mobs on only certain envs
+ if (.@tp & TP_TULIM) {
+ siege_push(AngryScorpion, .@blv);
+ siege_push(AngryRedScorpion, .@blv);
+ siege_push(DesertBandit, .@blv);
+ siege_push(LavaSlime, .@blv);
+ siege_push(OldSnake, .@blv);
+ siege_push(Snake, .@blv);
+ }
+ if (.@tp & TP_HURNS) {
+ siege_push(RedSlime, .@blv);
+ siege_push(Bandit, .@blv);
+ siege_push(RedMushroom, .@blv);
+ siege_push(RobinBandit, .@blv);
+ siege_push(AngryYellowSlime, .@blv);
+ siege_push(GrassSnake, .@blv);
+ siege_push(WickedMushroom, .@blv);
+ siege_push(GreenDragon, .@blv);
+ }
+ if (.@tp & TP_NIVAL) {
+ siege_push(Bluepar, .@blv);
+ siege_push(Wolvern, .@blv);
+ siege_push(Yeti, .@blv);
+ siege_push(Moggun, .@blv); // PS. Not aggressive
+ }
+
+ // Removed
+ //siege_push(DarkLizard, .@blv);
+ //siege_push(Crafty, .@blv);
+
+ return;
+}
+
+/////////////////////////////////////////////////////////////
+// Prepare a siege with optional announce
+// siege_setup ( map )
+function script siege_setup {
+ .@m$=getarg(0);
+
+ // Save old map zone
+ if (getmapinfo(MAPINFO_ID, .@m$) < 1) {
+ return Exception("SIEGE ERROR, INVALID MAP ID: "+.@m$, RB_ISFATAL|RB_DEBUGMES|RB_IRCBROADCAST|RB_GLOBALANNOUNCE);
+ }
+ //$@MZONE$[getmapinfo(MAPINFO_ID, .@m$)]=getmapinfo(MAPINFO_ZONE, .@m$);
+
+ // Apply changes
+ addmapmask .@m$, MASK_MATTACK;
+ changemusic .@m$, any("mythica.ogg", "eric_matyas_ghouls.ogg", "misuse.ogg", "Arabesque.ogg");
+ disablenpc("Mana Stone");
+ if (.@m$ != "003-1")
+ pvpon(.@m$);
+ setmapflag(.@m$,mf_zone,"MMO"); // MMO Zone: Overrides GM Commands
+ setmapflag(.@m$,mf_bexp,rand2(135,142)); // 35~42% EXP UP on siege maps
+ .@tn$ = MapToLoc(.@m$, false);
+ if (getd("$"+.@tn$+"_SIEGEXP")) {
+ setmapflag(.@m$, mf_bexp, 300); // Triple EXP is on
+ kamibroadcast("Experience for siege map has been set to 3×!", "INFORMATION");
+ setd("$"+.@tn$+"_SIEGEXP", 0);
+ }
+ return;
+}
+
+// Check if boss was killed or not
+// siege_check ( map )
+function script siege_check {
+ .@m$=getarg(0);
+ .@mb=0;
+
+ .@mb+=mobcount(.@m$, "#SiegeCtrl::OnSergeantDeath");
+ .@mb+=mobcount(.@m$, "#SiegeCtrl::OnLieutenantDeath");
+ .@mb+=mobcount(.@m$, "#SiegeCtrl::OnCaptainDeath");
+ .@mb+=mobcount(.@m$, "#SiegeCtrl::OnColonelDeath");
+ .@mb+=mobcount(.@m$, "#SiegeCtrl::OnGeneralDeath");
+
+ // Players failed, so reduce score in 1~5 (like Sergeant~General).
+ // In future, it could be inverse proportion (-9 for sergeant, -1 for general)
+ if (.@mb) {
+ if ($GAME_STORYLINE == 2)
+ $MK_TEMPVAR-=rand2(1, 5);
+
+ kamibroadcast("Players failed to defend the city!!");
+ debugmes "Number of boss grade monsters found: %d", .@mb;
+ $SIEGE_DIFFICULTY=max(1, ($SIEGE_DIFFICULTY/2));
+ // Lower the town exports in 5% (but never more than 25 GP)
+ .@var$="$"+strtoupper(MapToLoc(.@m$))+"_EXPORT";
+ .@pen=min(25, getd(.@var$)/20);
+ setd(.@var$, getd(.@var$)-.@pen);
+ } else {
+ kamibroadcast("The city was defended with success! GG, everyone!");
+ $SIEGE_DIFFICULTY+=1;
+ }
+ return;
+}
+
+// Revert what siege_setup did
+// siege_revert ( map )
+function script siege_revert {
+ .@m$=getarg(0);
+
+ // Revert map zone (to town, or to blank) and delete backup
+ removemapflag(.@m$,mf_zone);
+ //setmapflag(.@m$,mf_zone,$@MZONE$[getmapinfo(MAPINFO_ID, .@m$)]);
+ setmapflag(.@m$,mf_zone,"Normal2"); // Normal doesn't works...
+ //setmapflag(.@m$,mf_zone,"All");
+ //$@MZONE$[getmapinfo(MAPINFO_ID, .@m$)]="";
+
+ removemapmask .@m$, MASK_MATTACK;
+ changemusic .@m$, "caketown.ogg"; // :>
+ pvpoff(.@m$);
+ removemapflag(.@m$,mf_bexp);
+ removemapflag(.@m$,mf_nosave);
+ setmapflag(.@m$,mf_bexp,100);
+ killmonsterall(.@m$);
+ return;
+}
+
+// Create the Siege Boss for #SiegeCtrl utility, DO NEVER CAST TWICE
+// siege_boss ( map, difficulty )
+function script siege_boss {
+ .@m$=getarg(0);
+ .@s=getarg(1,0);
+
+ // We now select based on player average level and a seed of randomness
+ .@val=siege_calcdiff(.@m$)+.@s;
+
+ // Nobody is on map: Be TRULY random
+ if (.@val < 10) {
+ .@val=rand(20,97)+.@s;
+ }
+
+ // Switch an adequate boss, almost always stronger
+ if (.@val <= 25) {
+ .@mobId=MonsterSergeant;
+ .@ts$="Sergeant";
+ } else if (.@val <= 45) {
+ .@mobId=MonsterLieutenant;
+ .@ts$="Lieutenant";
+ } else if (.@val <= 67) {
+ .@mobId=MonsterCaptain;
+ .@ts$="Captain";
+ } else if (.@val <= 90) {
+ .@mobId=MonsterColonel;
+ .@ts$="Colonel";
+ } else {
+ .@mobId=MonsterGeneral;
+ .@ts$="General";
+ }
+
+ // We want spawn point to be fixed
+ .@lx=array_find($@LOCMASTER_MAP$, .@m$);
+ .@xm=$@LOCMASTER_X[.@lx];
+ .@ym=$@LOCMASTER_Y[.@lx];
+
+ .@xm=.@xm+rand(-1,1);
+ .@ym=.@ym+rand(-1,1);
+
+ // Announce and spawn
+ .@mg=monster(.@m$, .@xm, .@ym, strmobinfo(1, .@mobId), .@mobId, 1, "#SiegeCtrl::On"+.@ts$+"Death");
+
+ // Boost the boss stats based on difficulty and nº of players online
+ .@bhp=getunitdata(.@mg, UDT_MAXHP);
+ .@bat=getunitdata(.@mg, UDT_ATKMAX);
+ .@bai=getunitdata(.@mg, UDT_ATKMIN);
+ .@bdf=getunitdata(.@mg, UDT_DEF);
+ .@bcr=getunitdata(.@mg, UDT_CRIT);
+
+ .@s+=getusers(1);
+
+ setunitdata(.@mg, UDT_MAXHP, .@bhp+(.@s*250)+.@val*5*getmapusers(.@m$));
+ setunitdata(.@mg, UDT_HP, .@bhp+(.@s*250)+.@val*5*getmapusers(.@m$));
+
+ setunitdata(.@mg, UDT_ATKMAX, .@bat+(.@s*5));
+ setunitdata(.@mg, UDT_DEF, .@bdf+(.@s*4));
+ setunitdata(.@mg, UDT_CRIT, .@bcr+(.@s*3));
+ setunitdata(.@mg, UDT_ATKMIN, .@bai+(.@s*2));
+
+ // Spawn some scouts
+ areamonster(.@m$, .@xm-1, .@ym-1, .@xm+1, .@ym+1, "Scout", any(GreenSlime,RedSlime,AngryYellowSlime), 2);
+ areamonster(.@m$, .@xm-1, .@ym-1, .@xm+1, .@ym+1, "Scout", any(GreenSlime,RedSlime,AngryYellowSlime), 2);
+ areamonster(.@m$, .@xm-1, .@ym-1, .@xm+1, .@ym+1, "Scout", any(GreenSlime,RedSlime,AngryYellowSlime), 2);
+
+ announce("##1The Monster "+.@ts$+" arrived! Watch out!", bc_all);
+ return;
+}
+
+// Spawn some monsters
+// siege_cast ( map, NPCName, {, difficulty{, tpflag}} )
+function script siege_cast {
+ // mz - map ; n - name ; d - difficulty ; tp - teleport
+ // a - ammount ; e - mobId
+ .@mz$=getarg(0);
+ .@n$=getarg(1);
+ .@d=getarg(2,0);
+ .@tp=getarg(3,0);
+
+ // Difficulty doesn't applies to Tulimshar
+ if (.@mz$ == "003-1")
+ .@d=0;
+
+ siege_selectmob(siege_calcdiff(.@mz$), .@d, .@tp);
+
+ // How many monsters? This value is multiplied by 3;
+ // 1 per player (= 3 mobs), 1 each 5 difficulty, 1 always present.
+ .@a=getmapusers(.@mz$);
+ .@a+=(.@d/5)+1;
+
+ .@e=any_of($@SIEGE_TMPMOBS);
+ array_remove($@SIEGE_TMPMOBS, .@e);
+ siege_spawn(.@mz$, .@e, .@a, "#SiegeCtrl::OnRespawn");
+
+ .@e=any_of($@SIEGE_TMPMOBS);
+ array_remove($@SIEGE_TMPMOBS, .@e);
+ siege_spawn(.@mz$, .@e, .@a, "#SiegeCtrl::OnRespawn");
+
+ .@e=any_of($@SIEGE_TMPMOBS);
+ array_remove($@SIEGE_TMPMOBS, .@e);
+ siege_spawn(.@mz$, .@e, .@a, "#SiegeCtrl::OnRespawn");
+ return;
+}
+
+
+////////////////////////////////////////////
+// Utility Function
+// do_siege ( town, outskirts, varcode, flag, npc, timer )
+function script do_siege {
+ .@m$=getarg(0);
+ .@o$=getarg(1);
+ .@c$=getarg(2);
+ .@tp=getarg(3);
+ .@n$=getarg(4);
+ .@t=getarg(5);
+
+ // Dry run
+ if ($@SIEGE_ABORTED)
+ return;
+
+ // If no active player, KILL THE SCRIPT
+ .@c = getunits(BL_PC, .@players, MAX_CYCLE_PC);
+ .@idle = 0;
+ for (.@i = 0; .@i < .@c; .@i++) {
+ attachrid(.@players[.@i]);
+ if (checkidle() < 450)
+ .@idle++;
+ detachrid();
+ }
+
+ // No one is active, cancel the event
+ if (!.@idle) {
+ kamibroadcast(col(b("EVENT CANCELLED DUE TO PLAYER INACTIVITY"),1));
+ $@MK_AGGRO=$@MK_AGGRO/5; // Lower aggro bar to 20%
+
+ // Cleanup and Garbage Collection
+ siege_revert(.@m$);
+ siege_revert(.@o$);
+ enablenpc("Mana Stone");
+ setd("$@SIEGE_"+.@c$, 0);
+ setd("$@SIEGE_ABORTED", true);
+ setd("$@MK_SCENE", MK_NONE);
+ return;
+ }
+
+ // In past, we had a $@SIEGE_<town> to determine difficulty
+ // This behavior is now deprecated, we use a global $SIEGE_DIFFICULTY
+ // Which raises in 1 every victory and lowers in 1 every defeat (capped at 1)
+ // But this behavior can be overriden
+ if (!getd("$@SIEGE_"+.@c$)) {
+ .@difc=max(1, getd("$SIEGE_DIFFICULTY"));
+
+ // And then, we reset $@SIEGE_<town> so it can be manipulated
+ // And set .@difc to this value
+ setd("$@SIEGE_"+.@c$, .@difc);
+ }
+
+ // Set difficulty based on previous value
+ .@difc=getd("$@SIEGE_"+.@c$);
+
+ switch (.@t) {
+ // Warmup
+ case 70:
+ case 95:
+ siege_cast(.@m$, .@n$, .@difc, .@tp);
+ case 35:
+ siege_cast(.@o$, .@n$, .@difc, .@tp);
+ break;
+ // Setup and casts
+ case 0:
+ siege_setup(.@o$);
+ siege_cast(.@o$, .name$, 0, TP_HURNS);
+ break;
+ case 60:
+ siege_setup(.@m$);
+ siege_cast(.@o$, .@n$, 0, .@tp);
+ mapannounce(.@m$, "##2Message to all NPCs in town: Take shelter!", bc_map);
+ break;
+ case 90:
+ siege_cast(.@m$, .@n$, .@difc, .@tp);
+ siege_cast(.@o$, .@n$, .@difc, .@tp);
+ break;
+ // Boss stage
+ case 280:
+ siege_boss(.@m$, .@difc);
+ siege_cast(.@m$, .@n$, .@difc, .@tp);
+ break;
+ // Difficulty Raisers
+ case 310:
+ case 520:
+ case 640:
+ .@varsig=.@difc;
+ setd("$@SIEGE_"+.@c$, .@varsig+1);
+ // Regular flow
+ case 195:
+ case 220:
+ case 265:
+ //case 280: BOSS WAVE
+ //case 310: difficulty raiser
+ case 355:
+ case 400:
+ case 445:
+ case 490:
+ //case 520: difficulty raiser
+ case 535:
+ case 580:
+ case 625:
+ //case 640: difficulty raiser
+ case 670:
+ siege_cast(.@m$, .@n$, .@difc, .@tp);
+ break;
+ // Ending flow
+ // TODO: It would be better to make these values relative to MK_SIEGE_DURATION
+ case 700:
+ mapannounce(.@m$, "##1The Monster Army is planning to retreat soon!", bc_map);
+ siege_cast(.@m$, .@n$, .@difc, .@tp);
+ break;
+ case 760:
+ mapannounce(.@m$, "##1The Monster Army is withdrawing within 30 seconds!", bc_map);
+ $@MK_SCENE=MK_NONE;
+ $@MK_AGGRO=$@MK_AGGRO/20;
+ break;
+ // Check db/constants.conf to change this value!
+ case MK_SIEGE_DURATION:
+ siege_check(.@m$);
+ siege_revert(.@m$);
+ siege_revert(.@o$);
+ enablenpc("Mana Stone");
+ setd("$@SIEGE_"+.@c$, 0);
+ break;
+ }
+
+ return;
+}
+
+// Utility NPC
+- script #SiegeCtrl NPC_HIDDEN,{
+ end;
+
+OnRespawn:
+ if (playerattached()) {
+ getmapxy(.@m$,.@x,.@y,0);
+ if (rand(10000) <= $coinsrate)
+ makeitem StrangeCoin, 1, .@m$, .@x, .@y;
+ }
+ end;
+
+// Boss Death Labels
+OnSergeantDeath:
+ if ($GAME_STORYLINE == 2)
+ $MK_TEMPVAR+=1;
+ getitem StrangeCoin, rand2(1,5);
+ announce("##2The Monster Sergeant was defeated by "+strcharinfo(0)+"!", bc_all);
+ $@EXP_EVENT=rand2(1, 3);
+ $@EXP_EVENT_TIME=1;
+ donpcevent "@exprate::OnPlayerCall";
+ specialeffect(FX_FANFARE, AREA, getcharid(3));
+ end;
+
+OnLieutenantDeath:
+ if ($GAME_STORYLINE == 2)
+ $MK_TEMPVAR+=3;
+ getitem StrangeCoin, rand2(5,10);
+ announce("##2The Monster Lieutenant was defeated by "+strcharinfo(0)+"!", bc_all);
+ $@EXP_EVENT=rand2(4, 6);
+ $@EXP_EVENT_TIME=1;
+ donpcevent "@exprate::OnPlayerCall";
+ specialeffect(FX_FANFARE, AREA, getcharid(3));
+ end;
+
+OnCaptainDeath:
+ if ($GAME_STORYLINE == 2)
+ $MK_TEMPVAR+=5;
+ getitem StrangeCoin, rand2(10,15);
+ announce("##2The Monster Captain was defeated by "+strcharinfo(0)+"!", bc_all);
+ $@EXP_EVENT=rand2(7, 9);
+ $@EXP_EVENT_TIME=1;
+ donpcevent "@exprate::OnPlayerCall";
+ specialeffect(FX_FANFARE, AREA, getcharid(3));
+ end;
+
+OnColonelDeath:
+ if ($GAME_STORYLINE == 2)
+ $MK_TEMPVAR+=7;
+ getitem StrangeCoin, rand2(15,20);
+ announce("##2The Monster Colonel was defeated by "+strcharinfo(0)+"!", bc_all);
+ $@EXP_EVENT=rand2(10, 12);
+ $@EXP_EVENT_TIME=1;
+ donpcevent "@exprate::OnPlayerCall";
+ specialeffect(FX_FANFARE, AREA, getcharid(3));
+ end;
+
+OnGeneralDeath:
+ if ($GAME_STORYLINE == 2)
+ $MK_TEMPVAR+=9;
+ getitem StrangeCoin, rand2(20,25);
+ announce("##2The Monster General was defeated by "+strcharinfo(0)+"!", bc_all);
+ $@EXP_EVENT=rand2(13, 15);
+ $@EXP_EVENT_TIME=1;
+ donpcevent "@exprate::OnPlayerCall";
+ specialeffect(FX_FANFARE, AREA, getcharid(3));
+ end;
+
+}
+
diff --git a/npc/functions/soul_menhir.txt b/npc/functions/soul_menhir.txt
new file mode 100644
index 0000000..fa41e9d
--- /dev/null
+++ b/npc/functions/soul_menhir.txt
@@ -0,0 +1,133 @@
+// TMW2 Script
+// Author: Jesusalva
+// With parts from The Mana World.
+
+function script SoulMenhir {
+ // Create @x and @y for this script
+ @n = rand2(getarraysize(@Xs));
+ @x = @Xs[@n];
+ @y = @Ys[@n];
+ deletearray @Xs;
+ deletearray @Ys;
+ @n = 0;
+
+ mes l("[Soul Menhir]");
+ mes l("(A mystical aura surrounds this stone. You feel mysteriously attracted to it. Something tells you to touch it. What do you do?)");
+
+ menu
+ rif(@x && @y, l("Touch it.")), L_Bind,
+ rif($@GM_EVENT, l("Send soul to the Mana Plane for GM events")), L_Aeros,
+ rif($EVENT$ == "Valentine", l("[Valentine Day] Send soul to the Valentine Highlands!")), L_Valentine,
+ rif($EVENT$ == "Easter", l("[Easter] Send soul to the Mana Forest!")), L_Easter,
+ rif($EVENT$ == "Worker", l("[Worker Day] Send soul to the Contributor Cave!")), L_Worker,
+ rif($EVENT$ == "Christmas" && BaseLevel >= 20, l("[Christmas] Send soul to the Christmas Workshop!")), L_Xmas, // TODO: In future there'll be an event map
+ rif($EVENT$ == "Tower" && countitem(EventDreamTicket), l("Dream Tower")), L_Tower,
+ rif($EVENT$ == "Raid", l("Boss Raid")), L_Raid,
+ rif($EVENT$ == "Olympics", l("[Magic Olympics] Send soul to Porthos")), L_Porthos,
+ l("Leave it alone."), -;
+
+ return;
+
+L_Bind:
+ if (@map$ == "003-1" && !(TELEPORTERS & TP_TULIM))
+ TELEPORTERS=TELEPORTERS|TP_TULIM;
+ if (@map$ == "012-1" && !(TELEPORTERS & TP_HURNS))
+ TELEPORTERS=TELEPORTERS|TP_HURNS;
+ if (@map$ == "020-1" && !(TELEPORTERS & TP_NIVAL))
+ TELEPORTERS=TELEPORTERS|TP_NIVAL;
+
+ if (Menhir_Activated == 1)
+ goto L_Shortversion;
+
+ mes l("[Soul Menhir]");
+ mes l("(You touch the mysterious stone. Somehow it feels warm and cold at the same time.)");
+ mes l("(Suddenly a strange sensation flows through you. It feels like your soul leaves your body and becomes one with the stone.)");
+ mes l("(As suddenly as the feeling started it stops. The strange attraction is away from one moment to the next and the menhir feels like just an ordinary stone.)");
+ Menhir_Activated = 1;
+ goto L_Save;
+
+L_Shortversion:
+ mes l("[Soul Menhir]");
+ mes l("(A strange sensation flows through you. It feels like your soul leaves your body and becomes one with the stone. As suddenly as the feeling started it stops.)");
+ goto L_Save;
+
+L_Aeros:
+ if (!$@GM_EVENT) goto L_DontPanic;
+ .@gt=$@AEROS_SPWN;
+ if (.@gt == 2) {
+ select
+ l("East Aeros"),
+ l("West Aeros");
+ .@gt=@menu-1;
+ }
+ switch (.@gt) {
+ case 0:
+ warp "001-1", 235, 26; break;
+ case 1:
+ warp "001-1", 23, 108; break;
+ }
+ specialeffect(63, AREA, getcharid(3));
+ message strcharinfo(0), l("You are now at the Mana Plane of Existence, at the Floating Island of Aeros.");
+ close;
+
+L_Valentine:
+ if ($EVENT$ != "Valentine") goto L_DontPanic;
+ warp "001-11", 38, 32;
+ message strcharinfo(0), l("You are now at the Valentine Highlands.");
+ close;
+
+L_Easter:
+ if ($EVENT$ != "Easter") goto L_DontPanic;
+ warp "001-4", 151, 157;
+ message strcharinfo(0), l("You are now at the Mana Plane of Existence, at the Magical Forest.");
+ close;
+
+L_Worker:
+ if ($EVENT$ != "Worker") goto L_DontPanic;
+ warp "001-5", 22, 79;
+ message strcharinfo(0), l("You are now at the Mana Plane of Existence, at the Contributor's Cave.");
+ close;
+
+L_Xmas:
+ if ($EVENT$ != "Christmas") goto L_DontPanic;
+ warp "019-4-1", 32, 36;
+ message strcharinfo(0), l("You are now at the Christmas Workshop.");
+ close;
+
+L_Tower:
+ if ($EVENT$ != "Tower") goto L_DontPanic;
+ if (!countitem(EventDreamTicket)) goto L_DontPanic;
+ doevent "sDreamTower::OnWarpTo";
+ close;
+
+L_Raid:
+ if ($EVENT$ != "Raid") goto L_DontPanic;
+ callfunc("FYRaid_Select");
+ close;
+
+L_Porthos:
+ if ($EVENT$ != "Olympics") goto L_DontPanic;
+ callfunc("FYE_Olympics_TO");
+ closeclientdialog;
+ close;
+
+L_DontPanic:
+ message strcharinfo(0), l("(A strange barrier keeps you from touching the stone at this time.)");
+ return;
+
+L_Save:
+ if (GSET_SOULMENHIR_MANUAL) {
+ .@v$=MapToLoc(@map$);
+ .@tp=POL_LocToTP(strtoupper(.@v$));
+ if (!(#EXILED & .@tp)) {
+ savepoint @map$, @x, @y;
+ specialeffect(4, SELF, getcharid(3));
+ } else {
+ mesc l("You are exiled from this town and therefore, unable to use the Menhir."), 1;
+ }
+ } else {
+ EnterTown(MapToLoc(@map$));
+ dispbottom col(l("Your position is auto-saved when entering a town - use @ucp to change this behavior."), 1);
+ }
+ return;
+}
diff --git a/npc/functions/string.txt b/npc/functions/string.txt
new file mode 100644
index 0000000..2a38d90
--- /dev/null
+++ b/npc/functions/string.txt
@@ -0,0 +1,211 @@
+// Evol Script
+// Author: Gumi
+
+// safe string manipulation functions
+// ** does not require PCRE
+
+
+// str(<int>)
+// returns whatever is passed, converted to string
+
+function script str {
+ return "" + getarg(0);
+}
+
+
+
+// startswith("<string>", "<search>")
+// returns true if <string> begins with <search>
+
+function script startswith {
+ return substr(getarg(0), 0, getstrlen(getarg(1)) - 1) == getarg(1);
+}
+
+
+
+// endswith("<string>", "<search>")
+// returns true if <string> ends with <search>
+
+function script endswith {
+ .@t = getstrlen(getarg(0)); // total length
+ .@n = getstrlen(getarg(1)); // substring length
+ return substr(getarg(0), .@t - .@n, .@t - 1) == getarg(1);
+}
+
+
+
+// capitalize("<string>")
+// returns <string> with its first letter capitalized
+
+function script capitalize {
+ return setchar(getarg(0), strtoupper(charat(getarg(0), 0)), 0);
+}
+
+
+
+// titlecase("<string>" {, "<delimiter>" {, <camel>}})
+// returns <string> with the first letter of each word capitalized
+// if <camel> is true, the string is joined in a camelCase fashion
+
+function script titlecase {
+ .@delimiter$ = getarg(1, " ");
+ .@c = getarg(2, 0);
+ explode(.@words$, getarg(0), .@delimiter$);
+
+ for (.@i = (.@c ? 1 : 0); .@i < 255; ++.@i)
+ {
+ if (.@words$[.@i] == "")
+ {
+ break;
+ }
+
+ .@words$[.@i] = setchar(.@words$[.@i], strtoupper(charat(.@words$[.@i], 0)), 0);
+ }
+
+ return implode(.@words$, (.@c ? "" : .@delimiter$));
+}
+
+
+
+// camelcase("<string" {, "<delimiter>"})
+
+function script camelcase {
+ return titlecase(getarg(0), getarg(1, " "), true);
+}
+
+
+
+// zfill("<string>" {, <width> {, "<padding>"}})
+// returns <string> padded to the left with <padding> up to width
+
+function script zfill {
+ .@str$ = getarg(0);
+ .@width = getarg(1, 8);
+ .@padding$ = getarg(2, "0");
+
+ for (.@s = getstrlen(.@str$); .@s < .@width; ++.@s)
+ {
+ .@str$ = .@padding$ + .@str$;
+ }
+
+ return .@str$;
+}
+
+
+
+// format_number(<integer> {, "<separator>"})
+// formats a number properly
+
+function script format_number {
+ .@number$ = str(getarg(0));
+ .@len = getstrlen(.@number$);
+ .@separator$ = getarg(1, ",");
+
+ if (getargcount() < 2 && playerattached()) {
+ // get from user language
+ switch (Lang) {
+ case LANG_FR: .@separator$ = " "; break; // French
+ case LANG_DE: .@separator$ = "."; break; // Germanic
+ case LANG_PTBR: .@separator$ = "."; break; // Brazilian
+ default: .@separator$ = ","; // English (default)
+ }
+ }
+
+ for (.@i = .@len - 3; .@i > 0; .@i -= 3) {
+ .@number$ = insertchar(.@number$, .@separator$, .@i);
+ }
+
+ return .@number$;
+}
+
+
+
+// fnum(<integer>)
+// alias for format_number
+
+function script fnum {
+ return format_number(getarg(0));
+}
+
+
+
+// strip("<string>")
+// removes spaces at the start and end
+
+function script strip {
+ .@s$ = getarg(0);
+ if (.@s$ == "") {
+ return "";
+ }
+ .@start = 0;
+ .@end = getstrlen(.@s$) - 1;
+ for (.@i = .@start; .@i < .@end; .@i++)
+ {
+ if (charat(.@s$, .@i) != " ") {
+ break;
+ } else {
+ .@start++;
+ }
+ }
+ for (.@i = .@end; .@i >= .@start; .@i--)
+ {
+ if (charat(.@s$, .@i) != " ") {
+ break;
+ } else {
+ .@end--;
+ }
+ }
+ //debugmes "STRIP.DEBUG MODE ENABLED BY JESUSALVA. PASSING SUBSTRING PARAMS";
+ //debugmes "String \""+.@s$+"\" from "+str(.@start)+" to "+str(.@end);
+ return substr(.@s$, .@start, .@end);
+}
+
+
+
+// reverse("<string>")
+// returns <string> reversed
+
+function script reverse {
+ .@str$ = getarg(0);
+ .@len = getstrlen(.@str$);
+
+ for (.@i = 0; .@i < (.@len / 2); ++.@i) {
+ .@tmp$ = charat(.@str$, .@i);
+ .@str$ = setchar(.@str$, charat(.@str$, (.@len - 1 - .@i)), .@i); // a <= b
+ .@str$ = setchar(.@str$, .@tmp$, (.@len - 1 - .@i)); // b <= a
+ }
+
+ return .@str$;
+}
+
+
+
+// repeat("<string>", <multiplier>)
+// repeats <string> many times and returns it
+
+function script repeat {
+ .@mul = getarg(1);
+
+ for (.@i = 0; .@i < .@mul; ++.@i) {
+ .@str$ += getarg(0);
+ }
+
+ return .@str$;
+}
+
+
+
+// shuffle("<string>")
+// returns <string> shuffled
+
+function script shuffle {
+ .@str$ = getarg(0);
+
+ for (.@len = getstrlen(.@str$); .@len > 0; --.@len) {
+ .@rnd = rand(.@len);
+ .@out$ += charat(.@str$, .@rnd);
+ .@str$ = delchar(.@str$, .@rnd);
+ }
+
+ return .@out$;
+}
diff --git a/npc/functions/teleporter.txt b/npc/functions/teleporter.txt
new file mode 100644
index 0000000..fc6afd9
--- /dev/null
+++ b/npc/functions/teleporter.txt
@@ -0,0 +1,58 @@
+// TMW2 Script
+// Authors:
+// Jesusalva
+// Description:
+// Link portals to soul menhirs like the teleporters from old
+// The price is temporary. This feature got in because no ship in Nivalis Port
+// PS. Anise => “Aisen†Anagram
+
+// TeleporterGate(TP_CURRENT)
+function script TeleporterGate {
+ .@TP=getarg(0);
+
+ // Validate
+ .@x=array_find($@LOCMASTER_TP, .@TP);
+ if (.@x < 0)
+ return Exception("Invalid Teleport Point: "+.@TP);
+
+ // Obtain current Teleport Point (.@IF)
+ .@x=array_find($@LOCMASTER_MAP$, getmap());
+ .@IF=$@LOCMASTER_TP[.@x];
+
+ if (!(TELEPORTERS & .@TP)) {
+ TELEPORTERS=TELEPORTERS|.@TP;
+ mesn "Anise Inc.";
+ mesc l("Location Registered. You are now capable to use this warp gate.");
+ next;
+ }
+ mesc l("Where should I warp to?");
+ mesc l("Cost: 1 @@", getitemlink(PileOfAsh)), 1;
+ if (!countitem(PileOfAsh))
+ close;
+ next;
+ menuint
+ rif(TELEPORTERS & TP_FROST && .@IF != TP_FROST, l("Frostia")), TP_FROST,
+ rif(TELEPORTERS & TP_HALIN && .@IF != TP_HALIN, l("Halinarzo")), TP_HALIN,
+ rif(TELEPORTERS & TP_LILIT && .@IF != TP_LILIT, l("Lilit")), TP_LILIT,
+ rif(TELEPORTERS & TP_TULIM && .@IF != TP_TULIM, l("Tulimshar")), TP_TULIM,
+ rif(TELEPORTERS & TP_HURNS && .@IF != TP_HURNS, l("Hurnscald")), TP_HURNS,
+ rif(TELEPORTERS & TP_NIVAL && .@IF != TP_NIVAL, l("Nivalis")), TP_NIVAL,
+ rif(TELEPORTERS & TP_LOF && .@IF != TP_LOF, l("Land Of Fire")), TP_LOF,
+ rif(TELEPORTERS & TP_FORT && .@IF != TP_FORT, l("Fortress Island")), TP_FORT,
+ rif(TELEPORTERS & TP_BOSSR && .@IF != TP_BOSSR, l("Moubootaur Maze")), TP_BOOSR,
+ l("None"), -1;
+ mes "";
+
+ // Proccess menu
+ if (@menuret != -1)
+ delitem PileOfAsh, 1;
+ else
+ close;
+
+ // Retrieve location specifics and warp
+ .@x=array_find($@LOCMASTER_TP, @menuret);
+ closeclientdialog;
+ warp $@LOCMASTER_MAP$[.@x], $@LOCMASTER_X[.@x], $@LOCMASTER_Y[.@x];
+ return;
+}
+
diff --git a/npc/functions/time.txt b/npc/functions/time.txt
new file mode 100644
index 0000000..e6e4c70
--- /dev/null
+++ b/npc/functions/time.txt
@@ -0,0 +1,117 @@
+// Evol Script
+// Authors: Gumi, Jesusalva
+
+function script now {
+ return gettimetick(2);
+}
+
+// Returns current time. A SQL update superseeded this.
+// santime( )
+function script santime {
+ return gettimetick(2);
+}
+
+function script time_from_ms {
+ return now() + (getarg(0) / 1000);
+}
+
+function script time_from_seconds {
+ return now() + getarg(0);
+}
+
+function script time_from_minutes {
+ return now() + (getarg(0) * 60);
+}
+
+function script time_from_hours {
+ return now() + (getarg(0) * 3600);
+}
+
+function script time_from_days {
+ return now() + (getarg(0) * 86400);
+}
+
+
+// FuzzyTime(<unix timestamp>{, <options>{, <precision>}})
+// gives time in a human-readable format
+//
+// <options> is bitmasked:
+// 1 do not show "ago" when in past
+// 2 do not show "in" when in the future
+// 4 show "from now" instead of "in" when in the future
+//
+// <precision> is the number of units to show,
+// by default uses two (eg. 2m30s or 1h20m).
+// Use '99' for max precision
+
+function script FuzzyTime {
+ .@future = getarg(0, now());
+ .@options = getarg(1, 3);
+ .@precision = getarg(2, 2);
+ .@diff = (.@future - now());
+
+ // check if in the past, or in the future
+ if (.@diff < 0) {
+ .@diff *= -1;
+ .@past = true;
+ }
+
+ .@diff = max(1, .@diff);
+
+ if (.@diff >= 31536000) {
+ .@years = (.@diff / 31536000);
+ .@diff = (++.@s == .@precision ? 0 : (.@diff % 31536000));
+ .@ret$ += sprintf("%d %s", .@years, (.@years > 1 ? "years" : "year"));
+ }
+
+ if (.@diff >= 86400) {
+ .@days = (.@diff / 86400);
+ .@diff = (++.@s == .@precision ? 0 : (.@diff % 86400));
+
+ if (.@s > 1) {
+ .@ret$ += (.@diff > 0 ? ", " : " and ");
+ }
+
+ .@ret$ += sprintf("%d %s", .@days, (.@days > 1 ? "days" : "day"));
+ }
+
+ if (.@diff >= 3600) {
+ .@hours = (.@diff / 3600);
+ .@diff = (++.@s == .@precision ? 0 : (.@diff % 3600));
+
+ if (.@s > 1) {
+ .@ret$ += (.@diff > 0 ? ", " : (.@s >= 3 ? ", " : " ") + "and ");
+ }
+
+ .@ret$ += sprintf("%d %s", .@hours, (.@hours > 1 ? "hours" : "hour"));
+ }
+
+ if (.@diff >= 60) {
+ .@minutes = (.@diff / 60);
+ .@diff = (++.@s == .@precision ? 0 : (.@diff % 60));
+
+ if (.@s > 1) {
+ .@ret$ += (.@diff > 0 ? ", " : (.@s >= 3 ? ", " : " ") + "and ");
+ }
+
+ .@ret$ += sprintf("%d %s", .@minutes, (.@minutes > 1 ? "minutes" : "minute"));
+ }
+
+ if (.@diff >= 1) {
+ if (++.@s > 1) {
+ .@ret$ += (.@s >= 3 ? ", " : " ") + "and ";
+ }
+
+ .@ret$ += sprintf("%d %s", .@diff, (.@diff > 1 ? "seconds" : "second"));
+ }
+
+ if (.@past && !(.@options & 1)) {
+ .@ret$ += " ago";
+ }
+
+ if (!(.@past) && !(.@options & 2)) {
+ .@ret$ = ((.@options & 4) ? sprintf("%s from now", .@ret$) : sprintf("in %s", .@ret$));
+ }
+
+ return .@ret$;
+}
diff --git a/npc/functions/timer.txt b/npc/functions/timer.txt
new file mode 100644
index 0000000..ee96b21
--- /dev/null
+++ b/npc/functions/timer.txt
@@ -0,0 +1,78 @@
+// Evol Script
+// Authors: Gumi, Jesusalva
+
+// areatimer("<map>", <x1>, <y1>, <x2>, <y2>, <tick>, "<npc>::<event>")
+function script areatimer {
+ .@c = getunits(BL_PC, .@players, false, getarg(0), getarg(1), getarg(2), getarg(3), getarg(4));
+ for (.@i = 0; .@i < .@c; .@i++) {
+ addtimer(getarg(5), getarg(6), .@players[.@i]);
+ }
+ return .@i;
+}
+
+// areadeltimer("<map>", <x1>, <y1>, <x2>, <y2>, "<npc>::<event>")
+function script areadeltimer {
+ .@c = getunits(BL_PC, .@players, false, getarg(0), getarg(1), getarg(2), getarg(3), getarg(4));
+ for (.@i = 0; .@i < .@c; .@i++) {
+ deltimer(getarg(5), .@players[.@i]);
+ }
+ return .@i;
+}
+
+// areatimer2("<map>", <x1>, <y1>, <x2>, <y2>, <tick>, "<npc>::<event>")
+function script areatimer2 {
+ .@c = getunits(BL_PC, .@players, false, getarg(0), getarg(1), getarg(2), getarg(3), getarg(4));
+ for (.@i = 0; .@i < .@c; .@i++) {
+ deltimer(getarg(6), .@players[.@i]);
+ addtimer(getarg(5), getarg(6), .@players[.@i]);
+ }
+ return .@i;
+}
+
+// addtimer2(<tick>, "<npc>::<event>")
+function script addtimer2 {
+ deltimer(getarg(1));
+ addtimer(getarg(0), getarg(1));
+ return;
+}
+
+
+// maptimer("<map>", <tick>, "<npc>::<event>")
+function script maptimer {
+ .@c = getunits(BL_PC, .@players, false, getarg(0));
+ for (.@i = 0; .@i < .@c; .@i++) {
+ addtimer(getarg(1), getarg(2), .@players[.@i]);
+ }
+ return .@i;
+}
+
+// Same as maptimer() but deletes any previously running timer
+// maptimer2("<map>", <tick>, "<npc>::<event>")
+function script maptimer2 {
+ .@c = getunits(BL_PC, .@players, false, getarg(0));
+ for (.@i = 0; .@i < .@c; .@i++) {
+ deltimer(getarg(2), .@players[.@i]);
+ addtimer(getarg(1), getarg(2), .@players[.@i]);
+ }
+ return .@i;
+}
+
+// mapdeltimer("<map>", "<npc>::<event>")
+function script mapdeltimer {
+ .@c = getunits(BL_PC, .@players, false, getarg(0));
+ for (.@i = 0; .@i < .@c; .@i++) {
+ deltimer(getarg(1), .@players[.@i]);
+ }
+ return .@i;
+}
+
+// partytimer("<map>", <tick>, "<npc>::<event>", partyid)
+function script partytimer {
+ .@c = getunits(BL_PC, .@players, false, getarg(0));
+ for (.@i = 0; .@i < .@c; .@i++) {
+ if (getcharid(1, strcharinfo(0,"",.@players[.@i]) ) == getarg(3))
+ addtimer(getarg(1), getarg(2), .@players[.@i]);
+ }
+ return .@i;
+}
+
diff --git a/npc/functions/treasure.txt b/npc/functions/treasure.txt
new file mode 100644
index 0000000..d9bc42b
--- /dev/null
+++ b/npc/functions/treasure.txt
@@ -0,0 +1,76 @@
+// TMW2 functions.
+// Author:
+// Jesusalva
+// Description:
+// Random Treasure Box Utils
+
+// TreasureBox ( { bonus chance{, TreasureKey} } )
+function script TreasureBox {
+ .@id=getnpcid();
+ if (RNGTREASURE_DATE[.@id] > gettimetick(2)) {
+ mesc l("The chest is unlocked and empty.");
+ close;
+ }
+
+ .@key=getarg(1, TreasureKey);
+ mesc l("Open the chest?");
+ mesc l("Cost: 1 @@", getitemlink(.@key)), 1;
+ if (!countitem(.@key))
+ close;
+ next;
+ if (askyesno() == ASK_NO)
+ close;
+
+ delitem .@key, 1;
+ mesc l("You open the chest!");
+ RNGTREASURE_DATE[.@id]=gettimetick(2)+CHEST_WAITTIME; // Minimum 15 minutes
+
+ .@empty=getvariableofnpc(.empty, strnpcinfo(0));
+ if (!.@empty) {
+ TREASURE_OPEN=TREASURE_OPEN+1;
+ .@t=TREASURE_OPEN;
+ .@r=rand(0,10000)-(readparam2(bLuk)*2);
+
+ // Some chests may have different rates
+ // Note that rare is used as 300 instead of 200
+ // This is to normalize with SR/UR formula
+ if (.@r > 1600) // UC and C (100% ~ 150% bonus)
+ .@r-=max(getarg(0, 0), 1200)+min((.@r-1600), getarg(0, 0)/2);
+ else if (.@r > 300) // Rare (67% ~ 120% bonus)
+ .@r-=max(getarg(0, 0), 285)+min((.@r-300), getarg(0, 0)/5);
+ else if (.@r <= 300) // SR and UR (67% Bonus)
+ .@r-=getarg(0, 0)*2/3;
+
+ // Select treasure list
+ // You're warranted an ultra rare (0.1%) every 149 open chests
+ // You're warranted a super rare (2%) every 50 open chests
+ // There's also rares (14%), uncommons (36%) and commons (48%)
+ .@ur_rate=min(15, (TREASURE_OPEN/10));
+ if (.@t % 149 == 0 || .@r < .@ur_rate)
+ .@loot=any(ScrollMagnusHealC, SaviorBlueprint, DivineApple, MercBoxE, ScrollSDragon, Shemagh, Shemagh, EverburnPowder, IridiumOre, PlatinumOre, SacredImmortalityPotion, MagicApple, ElixirOfLife);
+ else if (.@t % 50 == 0 || .@r < 200)
+ .@loot=any(MercBoxC, ScrollMagnusHealB, SnakeEgg, LachesisBrew, ArrowAmmoBox, GoldPieces, SilverGift, TerraniteOre, LeadOre, TinOre, SilverOre, GoldOre, TitaniumOre, FluoPowder, Lockpicks, EquipmentBlueprintC, AlchemyBlueprintC, AlchemyBlueprintD, AncientBlueprint, YerbaMate, JasmineTea, DeathPotion, SacredLifePotion, SacredManaPotion, BrokenWarpCrystal, PurificationPotion, GoldenApple);
+ else if (.@r < 1600 || .@t == 0)
+ .@loot=any(MercBoxB, MoubooSteak, SmokeGrenade, ClothoLiquor, Coal, RedPlushWine, PrecisionPotion, CoinBag, DodgePotion, MoveSpeedPotion, Dagger, BronzeGift, IronOre, CopperOre, BlueDye, EquipmentBlueprintB, AlchemyBlueprintB, AlchemyBlueprintC, OolongTea);
+ else if (.@r < 5200)
+ .@loot=any(MercBoxA, Croconut, Potatoz, MoubooSteak, ClothoLiquor, Coal, SmallMushroom, HastePotion, StrengthPotion, WoodenLog, LeatherPatch, Beer, StrangeCoin, EquipmentBlueprintA, EquipmentBlueprintB, AlchemyBlueprintA, SpearmintTea, TreasureMap, DungeonMap, IcedBottle);
+ else
+ .@loot=any(FatesPotion, PiberriesInfusion, EmptyBottle, ChocolateBar, Plushroom, Chagashroom, RawLog, LeatherPatch, BugLeg, ScorpionStinger, SmallKnife, ChamomileTea, EquipmentBlueprintA);
+
+
+ inventoryplace .@loot, 1;
+ mesc l("You find @@ inside!", getitemlink(.@loot));
+ getitem .@loot, 1;
+ // Get Monster points for treasure hunting (20% from job level)
+ if (MPQUEST)
+ Mobpt+=(JobLevel/5);
+
+ // World Expo Event
+ if ($EVENT$ == "Expo")
+ FYE_Expo();
+ } else {
+ mesc l("You find @@ inside!", l("nothing"));
+ }
+ return;
+}
+
diff --git a/npc/functions/util.txt b/npc/functions/util.txt
new file mode 100644
index 0000000..b39c412
--- /dev/null
+++ b/npc/functions/util.txt
@@ -0,0 +1,1330 @@
+// TMW2 Script.
+// Authors:
+// Jesusalva
+// Description:
+// Util functions
+
+/////////////////////////////////////////////////////////////////////////////////
+// Delete item ID on inventories, storages, guild storages and carts. Also affects mails.
+// WARNING, irreversible and dangerous!
+// DelItemFromEveryPlayer( ID )
+function script DelItemFromEveryPlayer {
+ if (getarg(0, -1) < 0)
+ return;
+
+ query_sql("DELETE FROM `inventory` WHERE `nameid`="+getarg(0));
+ query_sql("DELETE FROM `cart_inventory` WHERE `nameid`="+getarg(0));
+ query_sql("DELETE FROM `storage` WHERE `nameid`="+getarg(0));
+ query_sql("DELETE FROM `guild_storage` WHERE `nameid`="+getarg(0));
+ query_sql("DELETE FROM `rodex_items` WHERE `nameid`="+getarg(0));
+ query_sql("DELETE FROM `auction` WHERE `nameid`="+getarg(0));
+ consolewarn "Deleting item %d", getarg(0);
+
+ // Del items which SQL can't reach
+ .@c = getunits(BL_PC, .@players, MAX_CYCLE_PC);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ .@am=countitem(getarg(0), .@players[.@i]);
+ if (.@am) debugmes "DELETE %d items from ACC %d", .@am, .@players[.@i];
+ if (.@am)
+ delitem(getarg(0), .@am, .@players[.@i]);
+ }
+ return;
+}
+
+// Delete an acc_reg entry from all players. Full arrays only. Affect num and str db.
+// WARNING, irreversible and dangerous!
+// DelAccRegFromEveryPlayer( KEY )
+function script DelAccRegFromEveryPlayer {
+ if (getarg(0, "error") == "error")
+ return;
+
+ query_sql("DELETE FROM `acc_reg_num_db` WHERE `key`='"+getarg(0)+"'");
+ query_sql("DELETE FROM `acc_reg_str_db` WHERE `key`='"+getarg(0)+"'");
+
+ if (playerattached())
+ detachrid();
+
+ // Del variables which SQL can't reach
+ .@c = getunits(BL_PC, .@players, MAX_CYCLE_PC);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ attachrid(.@players[.@i]);
+ if (compare(getarg(0), "$"))
+ setd(getarg(0), "");
+ else
+ setd(getarg(0), 0);
+ detachrid();
+ }
+ return;
+}
+
+// Delete an char_reg entry from all players. Full arrays only. Affect num and str db.
+// WARNING, irreversible and dangerous!
+// DelChrRegFromEveryPlayer( KEY )
+function script DelChrRegFromEveryPlayer {
+ if (getarg(0, "error") == "error")
+ return;
+
+ query_sql("DELETE FROM `char_reg_num_db` WHERE `key`='"+getarg(0)+"'");
+ query_sql("DELETE FROM `char_reg_str_db` WHERE `key`='"+getarg(0)+"'");
+
+ // Del variables which SQL can't reach
+ .@c = getunits(BL_PC, .@players, MAX_CYCLE_PC);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ attachrid(.@players[.@i]);
+ if (compare(getarg(0), "$"))
+ setd(getarg(0), "");
+ else
+ setd(getarg(0), 0);
+ detachrid();
+ }
+ return;
+}
+
+// Delete a quest entry from all players. This includes all counters. Use with caution.
+// WARNING, irreversible and dangerous!
+// DelQuestFromEveryPlayer( ID )
+function script DelQuestFromEveryPlayer {
+ if (getarg(0, -1) < 0)
+ return;
+
+ query_sql("DELETE FROM `quest` WHERE `quest_id`="+getarg(0));
+
+ // Del quests which SQL can't reach
+ .@a=playerattached();
+ if (.@a) detachrid();
+ .@c = getunits(BL_PC, .@players, MAX_CYCLE_PC);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ attachrid(.@players[.@i]);
+ setq(getarg(0), 0, 0, 0, 0);
+ detachrid();
+ }
+ if (.@a) attachrid(.@a);
+ return;
+}
+
+// Transforms an item in something else.
+// ReplaceItemFromEveryPlayer( OldID, NewID )
+function script ReplaceItemFromEveryPlayer {
+ if (getarg(0, -1) < 0)
+ return;
+ consoleinfo("* Server update: %d item was replaced by %d", getarg(0), getarg(1));
+ query_sql("UPDATE `inventory` SET `nameid`='"+getarg(1)+"' WHERE `nameid`="+getarg(0));
+ query_sql("UPDATE `cart_inventory` SET `nameid`='"+getarg(1)+"' WHERE `nameid`="+getarg(0));
+ query_sql("UPDATE `storage` SET `nameid`='"+getarg(1)+"' WHERE `nameid`="+getarg(0));
+ query_sql("UPDATE `guild_storage` SET `nameid`='"+getarg(1)+"' WHERE `nameid`="+getarg(0));
+ query_sql("UPDATE `rodex_items` SET `nameid`='"+getarg(1)+"' WHERE `nameid`="+getarg(0));
+ query_sql("UPDATE `auction` SET `nameid`='"+getarg(1)+"' WHERE `nameid`="+getarg(0));
+ return;
+}
+
+// Replaces a skill with another ID.
+// ReplaceSkillFromEveryPlayer( OldID, NewID )
+function script ReplaceSkillFromEveryPlayer {
+ if (getarg(0, -1) < 0)
+ return;
+ consoleinfo("* Server update: skill %d was replaced by %d", getarg(0), getarg(1));
+ // If new ID already exists, it will skip
+ query_sql("UPDATE IGNORE `skill` SET `id`='"+getarg(1)+"' WHERE `id`="+getarg(0));
+ return;
+}
+
+
+/////////////////////////////////////////////////////////////////////////////////
+// Returns Nard reputation for discounts
+// Currently ranges from 0 to 16.
+function script nard_reputation {
+ .@nr=0; // Base reputation
+
+ // Valon Quest (+1 rep)
+ if (getq(CandorQuest_Trainer) >= 14)
+ .@nr=.@nr+1;
+
+ // Zegas Quest (+1 rep)
+ if (getq(CandorQuest_Barrel) >= 4)
+ .@nr=.@nr+1;
+
+ // Hide And Seek Quest (+1 rep)
+ if (getq(CandorQuest_HAS) >= 4)
+ .@nr=.@nr+1;
+
+ // Sailors Quest (+1 rep)
+ if (getq(CandorQuest_Sailors) >= 3)
+ .@nr=.@nr+1;
+
+ // Sailors Quest, part 2 (+1 rep)
+ if (getq(CandorQuest_SailorCure) >= 1)
+ .@nr=.@nr+1;
+
+ // Vincent Quest (+1 rep)
+ if (getq(CandorQuest_Vincent) >= 2)
+ .@nr=.@nr+1;
+
+ // Tolchi Quest (+1 rep)
+ if (getq(CandorQuest_Tolchi) >= 4)
+ .@nr=.@nr+1;
+
+ // Maya Quest (+1 rep)
+ if (getq(CandorQuest_Maya) >= 4)
+ .@nr=.@nr+1;
+
+ // Rosen Quest (+1 rep)
+ if (getq(CandorQuest_Rosen) >= 3)
+ .@nr=.@nr+1;
+
+ // Ship Crew Quests
+ // Dan Quest (+1 rep)
+ if (getq(ShipQuests_Dan) >= 3)
+ .@nr=.@nr+1;
+
+ // Chef Gado Quest (+1 rep)
+ if (getq(ShipQuests_ChefGado) >= 2)
+ .@nr=.@nr+1;
+
+ // Peter Quest (+1 rep)
+ if (getq(ShipQuests_Peter) >= 7)
+ .@nr=.@nr+1;
+
+ // Tulimshar Quests
+ // Swezanne Quest (+1 rep)
+ if (getq(TulimsharQuest_Swezanne) >= 1)
+ .@nr=.@nr+1;
+
+ // Sailors Quest (+1 rep)
+ if (getq(TulimsharQuest_Sailors) >= 2)
+ .@nr=.@nr+1;
+
+ // Hasan Quest (+1 rep)
+ if (getq(TulimsharQuest_Hasan) >= 5)
+ .@nr=.@nr+1;
+
+ // Dausen Quest (+1 rep)
+ if (getq(TulimsharQuest_WaterForGuard) >= 3)
+ .@nr=.@nr+1;
+
+ //debugmes "Reputation: "+str(.@nr);
+ return .@nr;
+
+}
+
+// Returns reputation based on quests completion for discounts. Returns 0~100 int.
+// Takes one argument (PC_DEST$). Grep for "getarg".
+function script reputation {
+ .@nr=0; // Base reputation
+
+ // Tulimshar Quests (16 points)
+ if (getarg(0) == "Tulim") {
+ // Eugene Quest (+1 rep)
+ if (getq(TulimsharQuests_Fishman) >= 2)
+ .@nr=.@nr+1;
+
+ // Sarah Quest (+1 rep)
+ if (getq(TulimsharQuest_Sarah) >= 1)
+ .@nr=.@nr+1;
+
+ // Dausen Quest (+1 rep)
+ if (getq(TulimsharQuest_WaterForGuard) >= 3)
+ .@nr=.@nr+1;
+
+ // Dausen Quest II (+1 rep)
+ if (getq(TulimsharQuest_MobTutorial) >= 8)
+ .@nr=.@nr+1;
+
+ // Swezanne Quest (+1 rep)
+ if (getq(TulimsharQuest_Swezanne) >= 1)
+ .@nr=.@nr+1;
+
+ // Silvia Quest (+1 rep)
+ if (getq(TulimsharQuest_Lifestone) >= 2)
+ .@nr=.@nr+1;
+
+ /*
+ // Eisten Quest (+1 rep)
+ if (getq(TulimsharQuest_Eistein) >= 6)
+ .@nr=.@nr+1;
+ */
+
+ // Hasan Quest (+1 rep)
+ if (getq(TulimsharQuest_Hasan) >= 5)
+ .@nr=.@nr+1;
+
+ // Devoir Quest (+1 rep)
+ if (getq(TulimsharQuest_Devoir) >= 1)
+ .@nr=.@nr+1;
+
+ // Sailors Quest (+1 rep)
+ if (getq(TulimsharQuest_Sailors) >= 2)
+ .@nr=.@nr+1;
+
+ // Zarkor Quest (+1 rep)
+ if (getq(TulimsharQuest_DarkInvocator) >= 7)
+ .@nr=.@nr+1;
+
+ // Anwar Quest (+1 rep)
+ if (getq(TulimsharQuest_AnwarField) >= 10)
+ .@nr=.@nr+1;
+
+ // Neko Quest (+1 rep)
+ if (getq(TulimsharQuest_Neko) >= 2)
+ .@nr=.@nr+1;
+
+ // Tycoon Quest (+1 rep)
+ if (getq(MineQuest_Tycoon) >= 15)
+ .@nr=.@nr+1;
+
+ // Dracoula Quest (+1 rep)
+ if (getq(MineQuest_Dracoula) >= 1)
+ .@nr=.@nr+1;
+
+ // Caelum Quest (+1 rep)
+ if (getq(MineQuest_Caelum) >= 2)
+ .@nr=.@nr+1;
+
+ // Naem Quest (+1 rep)
+ if (getq(MineQuest_Naem) >= 3)
+ .@nr=.@nr+1;
+
+ // Veteran Officer Quest (+1 rep)
+ if (getq(TulimsharQuest_WoodenSword) >= 2)
+ .@nr=.@nr+1;
+
+ // TULIMSHAR Magical Forumula
+ .@nr=.@nr*100/16;
+
+
+
+
+
+
+
+ // Hurnscald Quests (11 points)
+ } else if (getarg(0) == "Hurns") {
+
+ // Alan Quest (+1 rep)
+ if (getq(HurnscaldQuest_ForestBow) >= 2)
+ .@nr=.@nr+1;
+
+ // Gwendolyn Quest (+1 rep)
+ if (getq(HurnscaldQuest_HarkEye) >= 6)
+ .@nr=.@nr+1;
+
+ // Celestia Quest (+1 rep)
+ if (getq(HurnscaldQuest_TeaParty) >= 2)
+ .@nr=.@nr+1;
+
+ /*
+ // Yeti King Quest (+1 rep)
+ // Please note that if you challenge it again and lose, it'll reset
+ if (getq(HurnscaldQuest_Celestia) == 6)
+ .@nr=.@nr+1;
+ */
+
+ // Farmers Quest (+1 rep)
+ if (getq(HurnscaldQuest_Farmers) >= 5)
+ .@nr=.@nr+1;
+
+ // Helena Quest (+1 rep)
+ if (getq(HurnscaldQuest_Bandits) >= 8)
+ .@nr=.@nr+1;
+
+ // Injuried Mouboo Quest (+1 rep)
+ if (getq(HurnscaldQuest_InjuriedMouboo) >= 2)
+ .@nr=.@nr+1;
+
+ // Blood Donor Quest (+1 rep)
+ if (getq(HurnscaldQuest_BloodDonor) >= 1)
+ .@nr=.@nr+1;
+
+ // Woody Quest (+1 rep)
+ if (getq(HurnscaldQuest_Woody) >= 5)
+ .@nr=.@nr+1;
+
+ // Lieutenant Quest (+1 rep)
+ if (getq(HurnscaldQuest_Lieutenant) >= 10)
+ .@nr=.@nr+1;
+
+ // Thorn Quest (+1 rep)
+ if (getq(HurnscaldQuest_Thorn) >= 1)
+ .@nr=.@nr+1;
+
+ // Blossom Quest (+1 rep)
+ if (getq(HurnscaldQuest_Blossom) >= 1)
+ .@nr=.@nr+1;
+
+ // LOF Bot Quest (+1 rep)
+ if (getq(HurnscaldQuest_LOFPass) >= 3)
+ .@nr=.@nr+1;
+
+ // HURNSCALD Magical Forumula
+ .@nr=.@nr*100/12;
+
+
+
+
+
+
+
+ // Land Of Fire Quests (6 points)
+ } else if (getarg(0) == "LoF") {
+
+ // The EPISODE
+ //// Tea For Two (+1 rep)
+ if (getq(LoFQuest_EPISODE) >= 2)
+ .@nr=.@nr+1;
+ //// Early Christmas (+1 rep)
+ if (getq(LoFQuest_EPISODE) >= 6)
+ .@nr=.@nr+1;
+ //// Order's Request (+1 rep)
+ if (getq(LoFQuest_EPISODE) >= 13)
+ .@nr=.@nr+1;
+
+ // George Quest (+1 rep)
+ if (getq(LoFQuest_George) >= 5)
+ .@nr=.@nr+1;
+
+ // Fairy Quest (+1 rep)
+ if (getq(LoFQuest_Fairy) >= 3)
+ .@nr=.@nr+1;
+
+ // Pet Detective Quest (+1 rep)
+ if (getq(LoFQuest_Pets) >= 1)
+ .@nr=.@nr+1;
+
+ // LAND OF FIRE Magical Forumula
+ .@nr=.@nr*100/6;
+
+
+
+
+
+
+ // Nivalis Quests (6 points)
+ } else if (getarg(0) == "Nival") {
+
+ // Nivalis Well Quest (+1 rep)
+ if (getq(NivalisQuest_Well) >= 2)
+ .@nr=.@nr+1;
+
+ // Nivalis Cindy Quest (+1 rep)
+ if (getq(NivalisQuest_Cindy) >= 5)
+ .@nr=.@nr+1;
+
+ // Blue Sage: Investigation Quest (+1 rep)
+ if (getq(NivalisQuest_BlueSage) >= 12)
+ .@nr=.@nr+1;
+
+ // Blue Sage: Slime Hunting Quest (+1 rep)
+ if (getq(NivalisQuest_BlueSageSlimes) >= 2)
+ .@nr=.@nr+1;
+
+ // Blue Sage: Page Makers Quest (+1 rep)
+ if (getq(NivalisQuest_BlueSagePagemaker) >= 1)
+ .@nr=.@nr+1;
+
+ // Blue Sage: Page Finders Quest (+1 rep)
+ if (getq(NivalisQuest_BlueSagePagefinder) >= 1)
+ .@nr=.@nr+1;
+
+ // Nivalis Henry Quest (+1 rep)
+ if (getq(NivalisQuest_Henry) >= 2)
+ .@nr=.@nr+1;
+
+ // NIVALIS Magical Forumula
+ .@nr=.@nr*100/7;
+
+
+
+
+
+
+
+ // Halinarzo Quests (5 points)
+ } else if (getarg(0) == "Halin") {
+
+ // Foxhound Famine Quest (+1 rep)
+ if (getq(HalinarzoQuest_Foxhound) >= 6)
+ .@nr=.@nr+1;
+
+ // Charles Quest (+1 rep)
+ if (getq(HalinarzoQuest_TraderKing) >= 2)
+ .@nr=.@nr+1;
+
+ // Joaquim & Yumi Quest (+1 rep)
+ if (getq(HalinarzoQuest_SickWife) >= 5)
+ .@nr=.@nr+1;
+
+ // Life Delight Quest (+1 rep)
+ if (getq(HalinarzoQuest_LifeDelight) >= 2)
+ .@nr=.@nr+1;
+
+ // Fisherman Quest (crossover) (+1 rep)
+ if (getq(HurnscaldQuest_ForestBow) >= 2)
+ .@nr=.@nr+1;
+
+ // Alvasus Quest (weekly) (+1 rep)
+ if (getq(HalinarzoQuest_Alvasus) >= 1)
+ .@nr=.@nr+1;
+
+ // Sawis Quest (+1 rep)
+ if (getq(HalinarzoQuest_Sawis) >= 2)
+ .@nr=.@nr+1;
+
+ // Mirio Quest (+1 rep)
+ if (getq(HalinarzoQuest_Speed) >= 1)
+ .@nr=.@nr+1;
+
+ // HALINARZO Magical Forumula
+ .@nr=.@nr*100/8;
+
+
+
+
+
+
+
+ // Frostia Quests (3 points)
+ } else if (getarg(0) == "Frostia") {
+
+ // Homunculus Quest (+1 rep)
+ if (getq(FrostiaQuest_Homunculus) >= 4)
+ .@nr=.@nr+1;
+
+ // AFK Cap Quest (+1 rep)
+ if (getq(FrostiaQuest_AFKCap) >= 2)
+ .@nr=.@nr+1;
+
+ // Jeremy Quest (+1 rep)
+ if (getq(FrostiaQuest_Jeremy) >= 2)
+ .@nr=.@nr+1;
+
+ // Erlan Quest (+1 rep)
+ if (getq(FrostiaQuest_Erlan) >= 2)
+ .@nr=.@nr+1;
+
+ // Rydel Quest (+1 rep)
+ if (getq(FrostiaQuest_Rydel) >= 2)
+ .@nr=.@nr+1;
+
+ // Meriel Quest (+1 rep)
+ if (getq(FrostiaQuest_Meriel) >= 2)
+ .@nr=.@nr+1;
+
+ // Taenya Quest (+1 rep)
+ if (getq(FrostiaQuest_Taenya) >= 2)
+ .@nr=.@nr+1;
+
+ // Talindra Quest (+1 rep)
+ if (getq(FrostiaQuest_Talindra) >= 2)
+ .@nr=.@nr+1;
+
+ // Gaelira Quest (+1 rep)
+ if (getq(FrostiaQuest_Gaelira) >= 2)
+ .@nr=.@nr+1;
+
+ // Saevel Quest (+1 rep)
+ if (getq(FrostiaQuest_Saevel) >= 2)
+ .@nr=.@nr+1;
+
+ // Jhon H's Quest (+1 rep)
+ if (getq(FrostiaQuest_JohnH) >= 1)
+ .@nr=.@nr+1;
+
+ // FROSTIA Magical Forumula
+ .@nr=.@nr*100/11;
+
+
+
+
+
+
+
+ // Candor Quests (10 points)
+ } else if (getarg(0) == "Candor") {
+
+ // Valon Quest (+1 rep)
+ if (getq(CandorQuest_Trainer) >= 14)
+ .@nr=.@nr+1;
+
+ // Zegas Quest (+1 rep)
+ if (getq(CandorQuest_Barrel) >= 4)
+ .@nr=.@nr+1;
+
+ // Hide And Seek Quest (+1 rep)
+ if (getq(CandorQuest_HAS) >= 4)
+ .@nr=.@nr+1;
+
+ // Sailors Quest (+1 rep)
+ if (getq(CandorQuest_Sailors) >= 3)
+ .@nr=.@nr+1;
+
+ // Sailors Quest, part 2 (+1 rep)
+ if (getq(CandorQuest_SailorCure) >= 1)
+ .@nr=.@nr+1;
+
+ // Vincent Quest (+1 rep)
+ if (getq(CandorQuest_Vincent) >= 2)
+ .@nr=.@nr+1;
+
+ // Tolchi Quest (+1 rep)
+ if (getq(CandorQuest_Tolchi) >= 3)
+ .@nr=.@nr+1;
+
+ // Maya Quest (+1 rep)
+ if (getq(CandorQuest_Maya) >= 4)
+ .@nr=.@nr+1;
+
+ // Rosen Quest (+1 rep)
+ if (getq(CandorQuest_Rosen) >= 3)
+ .@nr=.@nr+1;
+
+ // Marggo Quest (+1 rep)
+ if (getq(CandorQuest_Marggo) >= 1)
+ .@nr=.@nr+1;
+
+ // CANDOR Magical Forumula
+ .@nr=.@nr*100/10;
+
+
+
+
+
+
+
+ // Fortress Town Quests (1 point/special)
+ } else if (getarg(0) == "Fortress") {
+
+ // Who am I? (+2 rep)
+ if (getq(General_Narrator) >= 22)
+ .@nr=.@nr+2;
+
+ // Cadis: Great Slime Hunt (+1 rep)
+ if (getq(FortressQuest_SlimeHunter) >= 2)
+ .@nr=.@nr+1;
+
+ // Cadis: Great Over100 Hunt (+1 rep)
+ if (getq(FortressQuest_Over100) >= 2)
+ .@nr=.@nr+1;
+
+ // Cadis: Great Ranged Hunt (+1 rep)
+ if (getq(FortressQuest_RangedHunt) >= 2)
+ .@nr=.@nr+1;
+
+ // FORTRESS TOWN Magical Formula
+ .@nr=.@nr*100/5;
+
+
+ // Final
+ }
+
+ //debugmes "Reputation: "+str(.@nr);
+ return .@nr;
+
+}
+
+
+// Returns time for ship travel.
+// Can be modified by a factor.
+function script nard_time {
+ // Estimates time to move by ship from LOCATION$ to getarg(0)
+
+ // From Candor
+ if (LOCATION$ == "Candor") {
+ if (getarg(0) == "Tulim")
+ return 22000;
+ if (getarg(0) == "Artis")
+ return 60000;
+
+ }
+ // From Tulimshar
+ if (LOCATION$ == "Tulim") {
+ if (getarg(0) == "Candor")
+ return 22000;
+ if (getarg(0) == "Hurns")
+ return 28000;
+ if (getarg(0) == "Nival")
+ return 52000;
+ if (getarg(0) == "Artis")
+ return 60000;
+ if (getarg(0) == "Tulim")
+ return 12000; // Script-Controlled
+
+ }
+ // From Hurnscald
+ if (LOCATION$ == "Hurns") {
+ if (getarg(0) == "Candor")
+ return 22000;
+ if (getarg(0) == "Tulim")
+ return 28000;
+ if (getarg(0) == "Nival")
+ return 28000;
+
+ }
+ // From Nivalis
+ if (LOCATION$ == "Nival") {
+ if (getarg(0) == "Candor")
+ return 46000;
+ if (getarg(0) == "Tulim")
+ return 52000;
+ if (getarg(0) == "Hurns")
+ return 28000;
+
+ }
+ // From Artis
+ if (LOCATION$ == "Artis") {
+ if (getarg(0) == "Tulim")
+ return 10000;
+ if (getarg(0) == "Candor")
+ return 10000;
+
+ }
+
+ // Error
+ consolewarn "ERROR, INVALID LOCATION AND DESTINATION";
+ consolewarn("%s -> %s", LOCATION$, getarg(0));
+ dispbottom l("An error on your travel time happened. Please report.");
+ return INT_MAX;
+}
+
+// alignment() → 1 if Good, -1 if Evil, 0 if Neutral
+function script alignment {
+ .@m=getq(HurnscaldQuest_InjuriedMouboo);
+
+ // Mouboo was slain: EVIL
+ if (.@m >= 9)
+ return -1;
+
+ // Mouboo was saved and Sagratha rescued: GOOD
+ if (SAGRATHA_FRIENDSHIP >= 2)
+ return 1;
+
+ // N/A: NEUTRAL
+ return 0;
+}
+
+// Returns if you are a legendary weapon holder
+// islegendary( {strcharinfo} )
+function script islegendary {
+ .@you$ = getarg(0, strcharinfo(0));
+ // TODO: countitem(Lightbringer) => Because rent time?
+ return (.@you$ == $LIGHT_HOLDER$ ||
+ .@you$ == $AEGIS_HOLDER$ ||
+ .@you$ == $TYRAN_HOLDER$ ||
+ .@you$ == $RUNES_HOLDER$ ||
+ .@you$ == $DEMUR_HOLDER$);
+}
+
+// Returns if an event is a ranked Aurora Event or not
+// (Had to be moved from functions/aurora.txt)
+function script FYEventUsesRanking {
+ setarray .@av$, "Expo", "Fishing", "Mining", "Tower", "Raid", "Olympics";
+ if (array_find(.@av$, $EVENT$) >= 0) {
+ return true;
+ }
+ return false;
+}
+
+// Determines if player is still in range.
+// eg.
+// if (reachable(.x, .y, .distance)) {
+function script reachable {
+ .@x=getarg(0);
+ .@y=getarg(1);
+ .@z=getarg(2);
+ getmapxy(.@mp$, .@xp, .@yp, 0);
+
+ if (distance(.@x, .@y, .@xp, .@yp) <= .@z)
+ return 1;
+ else
+ return 0;
+}
+
+// Determines if party exp sharing is enabled
+// ( Party ID )
+function script party_expon {
+ .@nb = query_sql("SELECT exp FROM `party` WHERE party_id="+escape_sql(getarg(0))+" LIMIT 2", .@value);
+ return .@value[0];
+}
+
+// Special rif for books
+// rif2(<menu_id>, <condition>, <text>)
+function script rif2 {
+ return rif( getarg(1) ,rif(@menu == getarg(0), "â–º ") + getarg(2));
+}
+
+
+// Prepare Mana Stone
+// mstone( lvl )
+function script mstone {
+ // Fill variable
+ .@v=getarg(0);
+
+ // Determine how much stats you need, this is based on players
+ // and change based on $Global Variables
+ .int=7;
+ .lvl=15;
+ .jlv=10;
+
+ return (
+ MAGIC_LVL == .@v &&
+ readparam2(bInt) >= $MANA_BINT+(.int*.@v) &&
+ BaseLevel >= $MANA_BLVL+(.lvl*.@v) &&
+ JobLevel >= $MANA_JLVL+(.jlv*.@v) &&
+ readparam(Sp) == readparam(MaxSp));
+}
+
+// MAGIC_PTS → Amount of used Magic Skill Points
+// sk_maxpoints() → Max Magic Skill Points you may use
+// Returns how many points you can use
+// Current maximum as of 2020-06-21: (pratic) 30 ~ 43 (theoric)
+function script sk_maxpoints {
+ // 2 points per magic level
+ .@val=(MAGIC_LVL)*2;
+ // 1 point every twice magic level
+ .@val+=(MAGIC_LVL/2);
+ // Excluding first 15, 1 point every 12 job levels (Up to JL 75)
+ .@val+=min(5, ((JobLevel-15)/12));
+ // 1 point per being a player
+ .@val+=1;
+ // 2 points per Rebirth
+ .@val+=(REBIRTH*2);
+ // 1 point per skill permit level
+ .@val+=getskilllv(TMW2_SKILLPERMIT);
+ // Sacrificing the Mouboo: +1 MSP
+ .@val+=(alignment() < 0 ? 1 : 0);
+ return .@val;
+}
+
+// Returns how many points you can allocate
+function script sk_points {
+ return sk_maxpoints()-MAGIC_PTS;
+}
+
+// Returns true if a skill can be leveled up.
+// sk_canlvup( {cost=1} )
+function script sk_canlvup {
+ return ((MAGIC_PTS+getarg(0,1)) <= sk_maxpoints());
+}
+
+// Level up a skill in 1 level
+// TODO: Return the point if leveling about Max Level
+// sk_lvup( sk{, cost=0} )
+function script sk_lvup {
+ .@lvl=getskilllv(getarg(0));
+ getexp 0, 50*(.@lvl+1);
+ addtoskill(getarg(0),.@lvl+1,0);
+ if (getarg(1,0)) {
+ MAGIC_PTS+=getarg(1,0);
+ }
+ return;
+}
+
+// LEGACY Magic School Learning Interface
+// mlearn( skill, MAX_LV, MSP cost, item, amount{, AP cost} )
+// returns false if cheater
+function script mlearn {
+ .@sk=getarg(0);
+ .@ff=getarg(1);
+ .@msp=getarg(2);
+ .@it=getarg(3);
+ .@am=getarg(4);
+ .@ap=getarg(5, 0);
+ // Max level reached
+ if (getskilllv(.@sk) >= .@ff) {
+ return true;
+ }
+ // Not enough items
+ if (countitem(.@it) < .@am && !(countitem(ScholarshipBadge)))
+ return false;
+ // Not enough MSP
+ if (!sk_canlvup(.@msp))
+ return false;
+ // Not enough AP
+ if (MAGIC_RP < .@ap) {
+ return false;
+ }
+
+ // Payment
+ if (countitem(.@it) < .@am)
+ delitem ScholarshipBadge, 1;
+ else
+ delitem .@it, .@am;
+
+ // Level up
+ sk_lvup(.@sk, .@msp);
+ MAGIC_RP-=.@ap;
+ return true;
+}
+
+// NEW Magic School Learning Interface
+// learn_magic(Skill)
+function script learn_magic {
+ .@ski=getarg(0);
+ .@learn$=l("Learning");
+
+ // Check if skill is valid
+ .@mlv=$@MSK_MAXLV[.@ski];
+ if (.@mlv < 1) {
+ return Exception("ERROR: The skill "+.@ski+" is not valid!");
+ }
+
+ // Load a few temporary variables
+ .@pre=$@MSK_PREREQ[.@ski];
+ .@it=$@MSK_ITEM[.@ski];
+ .@am=$@MSK_AMOUNT[.@ski];
+ .@msp=$@MSK_MSPCOST[.@ski];
+ .@ap=($@MSK_COST[.@ski]*getskilllv(.@ski)*100);
+
+ // Pre-requisite check
+ if (.@pre) {
+ if (getskilllv(.@pre) < 1) {
+ mesc l("Pre-requisites not met!"), 1;
+ mesc l("The following skill is needed: %s%s (Lv. %d)",
+ "##9", getskillname(.@pre), 1), 1;
+ next;
+ return false;
+ }
+ }
+
+ // Max level reached
+ if (getskilllv(.@ski) >= .@mlv) {
+ mesc l("You've reached the maximum level for this skill."), 1;
+ next;
+ return true;
+ }
+
+ // Skill level check
+ if (getskilllv(.@ski)) {
+ .@learn$=l("Upgrading");
+ // New MSP ruleset
+ if (getskilllv(.@ski) > 5)
+ .@msp = 1;
+ else
+ .@msp = 0;
+ } else if (.@msp <= 1) {
+ // 1 MSP skills take no Research Points
+ .@ap=0;
+ }
+
+ // Discount from usage [Mathias]
+ .@ap=max(0, .@ap-skillInvoke[.@ski]);
+
+ mesc l("%s %s will require:", .@learn$, getskillname(.@ski));
+ mes l("* %d/%d MSP (Magic Skill Points)", sk_points(), .@msp);
+ mes l("* %s/%s RP (Research Points)", fnum(MAGIC_RP), fnum(.@ap));
+ if (countitem(.@it) < .@am) {
+ mesc l("~~%d/%d %s~~", countitem(.@it), .@am, getitemlink(.@it)), 8;
+ mes l("* %d/%d %s", countitem(ScholarshipBadge), 1, getitemlink(ScholarshipBadge));
+ } else {
+ mes l("* %d/%d %s", countitem(.@it), .@am, getitemlink(.@it));
+ }
+ mes "";
+ mesc l("Really learn this skill?");
+ if (askyesno() == ASK_NO)
+ return true;
+
+ return mlearn(.@ski, .@mlv, .@msp, .@it, .@am, .@ap);
+}
+
+// transcheck( {item 1, amount 1}, {item 2, amount 2}... )
+// returns true upon success
+function script transcheck {
+ if (getargcount() < 2 || getargcount() % 2 != 0)
+ return Exception("Faulty learning skill command invoked - error");
+
+ // Count items
+ for (.@i=0;.@i < getargcount(); .@i++) {
+ if (countitem(getarg(.@i)) < getarg(.@i+1))
+ return false;
+ .@i++;
+ }
+
+ // Delete Items
+ for (.@i=0;.@i < getargcount(); .@i++) {
+ delitem getarg(.@i), getarg(.@i+1);
+ .@i++;
+ }
+ return true;
+}
+
+// Returns a value defining your current magic control (affects success ratio, higher is better)
+// A value of '5' means perfect control, and a value of '0' means overwhelm.
+// abizit()
+function script abizit {
+ if (!MAGIC_LVL) return 0;
+ .@base=((MAGIC_LVL*2)**3);
+ return min(MAGIC_EXP/.@base, 5);
+}
+
+// anyloot( {item 1, amount 1, chance 1}, {item 2, amount 2, chance 2}... )
+// Give chance (standard 1~10000 roll) to obtain item, capped at amount.
+// TODO: Fill an array, then inventoryplace() and getitem()
+function script anyloot {
+ if (getargcount() < 3 || getargcount() % 3 != 0)
+ return Exception("Faulty anyloot skill command invoked - error");
+
+ // Get Items
+ for (.@i=0;.@i < getargcount(); .@i+=3) {
+ if (rand2(10000) < getarg(.@i+2))
+ getitem getarg(.@i), rand2(1, getarg(.@i+1));
+ }
+ return true;
+}
+
+
+// Returns, based on a 1-5 range, the title for both thief and merc ranks
+// thiefrank() / mercrank()
+function script thiefrank {
+ switch (THIEF_RANK) {
+ case 5: return l("Bandit Lord");
+ case 4: return l("Assassin");
+ case 3: return l("Rogue");
+ case 2: return l("Bandit");
+ case 1: return l("Thief");
+ case 0: return l("Citizen");
+ default: return l("Error");
+ }
+}
+function script mercrank {
+ switch (MERC_RANK) {
+ case 5: return l("Constable");
+ case 4: return l("Guardian");
+ case 3: return l("Merchant");
+ case 2: return l("Trader");
+ case 1: return l("Fair Person");
+ default: return l("Error");
+ }
+}
+function script academicrank {
+ switch (getarg(0, ACADEMIC_RANK)) {
+ case 8: return l("Grand Master"); // Reserved for GM Team
+ case 7: return l("Sage");
+ case 6: return l("Ph.D");
+ case 5: return l("Doctor");
+ case 4: return l("Master");
+ case 3: return l("Bachelor");
+ case 2: return l("Technician");
+ case 1: return l("Student");
+ case 0: return l("Layman");
+ default: return l("Banned from Academy");
+ }
+}
+
+// alias to readbattleparam(getcharid(3), ?? )
+function script battleparam {
+ return readbattleparam(getcharid(3), getarg(0));
+}
+
+// gettimeparam(GETTIME_X)
+// Returns the number of seconds/minutes/hours/days/months/years since 01/01/1970
+function script gettimeparam {
+ .@p=getarg(0, GETTIME_MINUTE);
+
+ // Seconds
+ .@t=gettimetick(2);
+ if (.@p == GETTIME_SECOND)
+ return .@t;
+
+ // Minutes (default)
+ .@t=.@t/60;
+ if (.@p == GETTIME_MINUTE)
+ return .@t;
+
+ // Hours
+ .@t=.@t/60;
+ if (.@p == GETTIME_HOUR)
+ return .@t;
+
+ // Days
+ .@t=.@t/24;
+ if (.@p == GETTIME_DAYOFMONTH)
+ return .@t;
+
+ // Weeks (estimative)
+ .@a=.@t+4; // 01/01/1970 was a Thursday. So this will make it float at sunday.
+ .@a=.@a/7;
+ if (.@p == GETTIME_WEEKDAY)
+ return .@a;
+
+ // Months (estimative. FIXME - use (gettime(YEAR)-1970)*12 + gettime(MONTH))
+ .@t=.@t/30;
+ if (.@p == GETTIME_MONTH)
+ return .@t;
+
+ // Years (estimative, unused, fallback)
+ .@t=.@t/12;
+ return .@t;
+}
+
+
+// Convert LOC (uppercase) to a TP variable
+// POL_LocToTP( {TOWNCODE} )
+function script POL_LocToTP {
+ .@tw$=strtoupper(getarg(0, LOCATION$));
+
+ if (.@tw$ == "TULIM")
+ return TP_TULIM;
+
+ if (.@tw$ == "HALIN")
+ return TP_HALIN;
+
+ if (.@tw$ == "HURNS")
+ return TP_HURNS;
+
+ if (.@tw$ == "LOF")
+ return TP_LOF;
+
+ if (.@tw$ == "NIVAL")
+ return TP_NIVAL;
+
+ if (.@tw$ == "ARTIS")
+ return TP_ARTIS;
+
+ if (.@tw$ == "CANDOR")
+ return TP_CANDOR;
+
+ if (.@tw$ == "LILIT")
+ return TP_LILIT;
+
+ // TODO: Change this to use npc/config/location.txt instead
+ if (.@tw$ == "FROSTIA")
+ return TP_FROST;
+
+ return Exception("Invalid town requested / POL_LocToTP", RB_DEFAULT|RB_SPEECH, -1);
+}
+
+
+// Upon entering a town
+// EnterTown( LocName )
+function script EnterTown {
+ // Fill variable
+ .@v$=getarg(0);
+
+ // Validade variable, see npc/config/location.txt first
+ if (array_find($@LOCMASTER_LOC$, .@v$) < 0)
+ return Exception("Invalid location passed to EnterTown: "+.@v$);
+
+ // Do not save if you're exiled
+ .@tpcode=POL_LocToTP(strtoupper(.@v$));
+ if (!(#EXILED & .@tpcode))
+ LOCATION$=.@v$;
+ return;
+}
+
+// Convert map name to location id
+// LocToMap( LocName )
+function script LocToMap {
+ // Fill variable
+ .@v$=getarg(0);
+
+ // Error code
+ if (playerattached())
+ .@err=RB_DEFAULT;
+ else
+ .@err=RB_DEBUGMES;
+
+ // Validade variable, see npc/config/location.txt first
+ .@lx=array_find($@LOCMASTER_LOC$, .@v$);
+ if (.@lx < 0)
+ return Exception("Invalid location passed to LocToMap: "+.@v$, .@err);
+
+ return $@LOCMASTER_MAP$[.@lx];
+}
+
+// Convert map name to location id
+// MapToLoc( MapName, report=True )
+function script MapToLoc {
+ // Fill variable
+ .@v$=getarg(0);
+
+ // Error code
+ if (playerattached())
+ .@err=RB_DEFAULT;
+ else
+ .@err=RB_DEBUGMES;
+
+ // Validate variable, see npc/config/location.txt first
+ .@lx=array_find($@LOCMASTER_MAP$, .@v$);
+ if (.@lx < 0) {
+ if (getarg(1, true))
+ return Exception("Invalid map passed to MapToLoc: "+.@v$, .@err);
+ else
+ return "";
+ }
+
+ return $@LOCMASTER_LOC$[.@lx];
+}
+
+// Gets the location code for TP code
+function script TPToLoc {
+ .@i=array_find($@LOCMASTER_TP, getarg(0));
+ return $@LOCMASTER_MAP$[.@i];
+ return;
+}
+
+// Warps home and updates LOCATION$
+function script teleporthome {
+ warp "Save", 0, 0;
+ .@i=array_find($@LOCMASTER_MAP$, getmap());
+ if (.@i >= 0)
+ EnterTown($@LOCMASTER_LOC$[.@i]);
+ else
+ consolewarn("[ERROR] Invalid Town Map for Time Flask: %s", getmap());
+ return;
+}
+
+// Returns TOP 3 Average Level
+// TOP3AVERAGELVL( - )
+function script TOP3AVERAGELVL {
+ return ($@hoblvl_value[0]+$@hoblvl_value[1]+$@hoblvl_value[2])/3;
+}
+
+// Grants newcomers exp boost. Returns bonus %
+// NewcomerEXPDROPUP( - )
+function script NewcomerEXPDROPUP {
+ // Event System Override
+ if ($EVENT$ == "Anniversary") {
+ if (BaseLevel < 10)
+ BaseLevel=10;
+ }
+ // Newbies
+ if (!REBIRTH) {
+ .@AVG_LEVEL=($@hoblvl_value[0]+$@hoblvl_value[1]+$@hoblvl_value[2])/3;
+ .@BONUS=min(50, .@AVG_LEVEL/2);
+ .@BONUS-=BaseLevel;
+ .@BONUS=max(1, .@BONUS);
+ // Rebirth
+ } else {
+ .@BONUS=REBIRTH*2;
+ }
+ // Defaults to 24 hours
+ sc_end SC_CASH_PLUSEXP;
+ sc_end SC_CASH_RECEIVEITEM;
+ sc_start SC_CASH_PLUSEXP, 86400000, (REBIRTH ? .@BONUS : .@BONUS*2/3);
+ sc_start SC_CASH_RECEIVEITEM, 86400000, .@BONUS;
+ // This does not belong here, but...
+ if (getq(LoFQuest_EPISODE) == 13) {
+ sc_start SC_POISON, 86400000, 1, 10000, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK;
+ }
+ return .@BONUS;
+}
+
+// Frostia Util
+// frally( )
+function script frally {
+ return (Class == Elven); // or something
+}
+
+// Easter Egg
+// RegEasterEgg(EE_CODE, {CoinsAmount=3})
+function script RegEasterEgg {
+ .@code=getarg(0);
+ .@coin=getarg(1,3);
+ .@q=getq2(General_EasterEggs);
+
+ if (!(.@q & .@code)) {
+ setq1 General_EasterEggs, 1;
+ setq2 General_EasterEggs, .@q|.@code;
+ dispbottom l("For finding an Easter Egg, you got Strange Coins!");
+ getitem StrangeCoin, .@coin;
+ setq3 General_EasterEggs, bitmask_count(.@q|.@code);
+ }
+ return;
+}
+
+// Makes a monster aggro
+// set_aggro( monster{, mode=MD_AGGRESSIVE} )
+function script set_aggro {
+ .@m=getarg(0);
+ .@x=getarg(1, MD_AGGRESSIVE);
+ .@op=getunitdata(.@m, UDT_MODE);
+ .@op=.@op|.@x;
+ setunitdata(.@m, UDT_MODE, .@op);
+ return;
+}
+
+function script immortal {
+ .@u=getarg(0);
+ setunitdata(.@u, UDT_HP, 2147483647);
+ setunitdata(.@u, UDT_MAXHP, 2147483647);
+ return;
+}
+
+// Special function which makes a date as a number
+// numdate( - )
+function script numdate {
+ .@strdate$=sprintf("%04d%02d%02d", gettime(GETTIME_YEAR), gettime(GETTIME_MONTH), gettime(GETTIME_DAYOFMONTH));
+ // Debug payload
+ if ($@OVERRIDE_NUMDATE)
+ return $@OVERRIDE_NUMDATE;
+ return atoi(.@strdate$);
+}
+
+// Same as numdate() but SQL format.
+// sqldate({day variation, month variation})
+function script sqldate {
+ .@d=gettime(GETTIME_DAYOFMONTH)+getarg(0, 0);
+ .@m=gettime(GETTIME_MONTH)+getarg(1, 0);
+ .@y=gettime(GETTIME_YEAR);
+ // Overflow prevention
+ if (.@d <= 0) {
+ .@d=1;
+ }
+ while (.@m > 12) {
+ .@y+=1;
+ .@m-=12;
+ }
+ while (.@m < 1) {
+ .@y-=1;
+ .@m+=12;
+ }
+ .@strdate$=sprintf("%04d-%02d-%02d %02d:%02d:%02d", .@y, .@m, .@d, gettime(GETTIME_HOUR), gettime(GETTIME_MINUTE), gettime(GETTIME_SECOND));
+ return .@strdate$;
+}
+
+// json_encode( {varname, varvalue}, {varname 2, varvalue 2}... )
+// returns string
+function script json_encode {
+ if (getargcount() < 2 || getargcount() % 2 != 0)
+ return Exception("json_encode arguments must be paired");
+
+ .@json$="{";
+ .@tab=true;
+
+ // For arguments
+ for (.@i=0;.@i < getargcount(); .@i++) {
+ // Close previous item
+ if (.@tab)
+ .@tab=false;
+ else
+ .@json$+=",";
+
+ // Input variable name
+ .@json$+="\""+getarg(.@i)+"\": ";
+
+ // Input variable value
+ if (isstr(getarg(.@i+1)))
+ .@json$+="\""+getarg(.@i+1)+"\"";
+ else
+ .@json$+=getarg(.@i+1);
+
+ // Advance
+ .@i++;
+ }
+
+ // Close the JSON
+ .@json$+="}";
+ return .@json$;
+}
+
+
+// api_send( code, data )
+// sends to API
+function script api_send {
+ .@cde=getarg(0);
+ if (!apicall(.@cde, getarg(1))) {
+ debugmes "[API] Fallback in use.";
+ .@fm$=escape_sql(getarg(1));
+ query_sql("INSERT INTO `api_export` (`type`, `data`) VALUES ('"+.@cde+"', \""+.@fm$+"\")");
+ }
+ return;
+}
+
diff --git a/npc/functions/vault.txt b/npc/functions/vault.txt
new file mode 100644
index 0000000..78eb5e7
--- /dev/null
+++ b/npc/functions/vault.txt
@@ -0,0 +1,41 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Vault Utilities
+
+function script getvaultid {
+ // FIXME: Make this False
+ if ($BETASERVER && !debug)
+ return ##VAULT;
+ else
+ return 0;
+}
+
+function script getvaultexp {
+ .@exp=getarg(0);
+ if (.@exp > 100)
+ Exception("ILLEGAL VAULT EXPERIENCE, FIXME URGENTLY. STOPPING SCRIPT BY FORCE WHILE DOING NOTHING.",
+ RB_DEBUGMES | RB_IRCBROADCAST | RB_GLOBALANNOUNCE | RB_ISFATAL);
+ if (getvaultid()) {
+ ##VAULT_EXP+=.@exp;
+ consoleinfo("Granting %d Soul Exp to %d under the Moubootaur's authority.",
+ .@exp, ##VAULT);
+ }
+ return;
+}
+
+// MirrorLakeSendTo(World, Lake)
+function script MirrorLakeSendTo {
+ .@w=getarg(0);
+ .@t=getarg(1);
+ ##VAULT_GOTO=.@w;
+ ##VAULT_MLTO=.@t;
+ closeclientdialog;
+ dispbottom l("Darkness fills your vision...");
+ sleep2(1000);
+ kick(getcharid(3), 7); // 7 is not a valid kick reason
+ //atcommand("@kick "+strcharinfo(0));
+ end;
+}
+
diff --git a/npc/functions/weather.txt b/npc/functions/weather.txt
new file mode 100644
index 0000000..5c369e1
--- /dev/null
+++ b/npc/functions/weather.txt
@@ -0,0 +1,352 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Controls world seasons. RESPECT MASK_* VARS ON CONSTANTS DB
+
+// is_night(set=False)
+function script is_night {
+ // If we're not configuring, retrieve the variable (cache)
+ // It is more efficient this way
+ .@set=getarg(0, false);
+ if (!.@set)
+ return $@WEATHER_NIGHT;
+
+ /*
+ // Night time depends on season.
+ // Summer: Day > Night
+ // Winter: Night > Day
+ // Autumn/Spring: Day = Night
+ //
+ // But we have TWO SUNS, meaning night is always smaller.
+ //
+ // 2 = GETTIME_MINUTE
+ // 3 = GETTIME_HOUR
+ // Summer: 5h day. 1h night. (4 cycles, 8 updates)
+ // Others: 3h day. 1h night. (6 cycles, 12 updates)
+ // Winter: 2h day. 1h night. (8 cycles, 16 updates)
+ */
+ // NEW Unified Rule: Day last 3 hours. Night lasts 1 hour. Always.
+ .@t=(season() == SUMMER ? 6 : (season() == WINTER ? 3 : 4));
+ return (gettime(3) % .@t == 1);
+}
+
+000-0,0,0,0 script #WeatherCore NPC_HIDDEN,{
+ end;
+
+/*
+ * removemapflag("<map name>", <flag>)
+ * setmapflag("<map name>", <flag>{, <val>})
+ * getmapflag("<map name>", <flag>)
+
+ mf_snow: 16
+
+ mf_jexp: 39
+ mf_bexp: 40
+*/
+
+OnInit:
+ // This is weather startup
+ .@init=true;
+ $@WEATHER_NIGHT=is_night(true);
+ .tpc=0;
+ .tcl=0;
+ // Bind commands
+ bindatcmd "wsnow", "#WeatherCore::OnSnow", 80, 80, 1;
+ bindatcmd "wrain", "#WeatherCore::OnRain", 80, 80, 1;
+ bindatcmd "wsand", "#WeatherCore::OnSand", 80, 80, 1;
+ bindatcmd "wevil", "#WeatherCore::OnEvil", 80, 80, 1;
+ bindatcmd "wnight", "#WeatherCore::OnNight", 80, 80, 1;
+ bindatcmd "wclear", "#WeatherCore::OnClear", 80, 80, 1;
+ bindatcmd "wreset", "#WeatherCore::OnReset", 99, 99, 1;
+ bindatcmd "wset", "#WeatherCore::OnManual", 99, 99, 1;
+
+
+ // Determine which maps are subject to weather, and how weather works:
+ // eg. it will never snow on a desert, or a sandstorm on icelands.
+ .wcore = htnew;
+
+ // Deserts
+ htput(.wcore, "003-1", "desert");
+ htput(.wcore, "004-1", "desert");
+ htput(.wcore, "004-2", "desert");
+ htput(.wcore, "009-1", "desert");
+ htput(.wcore, "010-1", "desert");
+ htput(.wcore, "010-2", "desert");
+ htput(.wcore, "032-1", "desert");
+
+ // Woodlands
+ htput(.wcore, "001-4", "woodland");
+ htput(.wcore, "001-11", "woodland");
+ htput(.wcore, "001-12", "woodland");
+ htput(.wcore, "005-1", "woodland");
+ htput(.wcore, "012-1", "woodland");
+ htput(.wcore, "014-1", "woodland");
+ htput(.wcore, "014-2", "woodland");
+ htput(.wcore, "014-3", "woodland");
+ htput(.wcore, "014-4", "woodland");
+ htput(.wcore, "014-5", "woodland");
+ htput(.wcore, "017-1", "woodland");
+ htput(.wcore, "018-1", "woodland");
+ htput(.wcore, "018-2", "woodland");
+ htput(.wcore, "018-4", "woodland");
+ htput(.wcore, "018-5", "woodland");
+ htput(.wcore, "027-1", "woodland");
+
+ // Icelands
+ htput(.wcore, "001-7", "iceland");
+ htput(.wcore, "019-1", "iceland");
+ htput(.wcore, "019-2", "iceland");
+ htput(.wcore, "019-3", "iceland");
+ htput(.wcore, "019-4", "iceland");
+ htput(.wcore, "019-5", "iceland");
+ htput(.wcore, "019-6", "iceland");
+ htput(.wcore, "020-1", "iceland");
+ htput(.wcore, "022-1", "iceland");
+ htput(.wcore, "024-1", "iceland");
+ htput(.wcore, "031-1", "iceland");
+
+ // Special
+ htput(.wcore, "011-3", "special");
+
+
+ consoleinfo "[Weather.sys] Total Maps = " + htsize(.wcore);
+ // No "end" here, so server starts with weather
+OnMinute00:
+OnMinute15:
+OnMinute30:
+OnMinute45:
+ // There is no weather in test servers
+ if (debug && !$@GM_OVERRIDE)
+ end;
+
+ //debugmes "[Weather.sys] Starting to regen";
+ .tpc+=getusers(1);
+ .tcl+=1;
+
+ .@hti = htiterator(.wcore);
+ for(.@key$ = htinextkey(.@hti); hticheck(.@hti); .@key$ = htinextkey(.@hti)) {
+ // Local variables: .@key$ .@type .@r
+ .@type$=htget(.wcore, .@key$);
+ .@r=rand(0,10000);
+
+ // Clear weather map masks
+ .@mk=getmapmask(.@key$);
+
+ if (.@mk & MASK_RAIN)
+ .@mk=.@mk^MASK_RAIN;
+ if (.@mk & MASK_SANDSTORM)
+ .@mk=.@mk^MASK_SANDSTORM;
+ if (.@mk & MASK_SNOW)
+ .@mk=.@mk^MASK_SNOW;
+ if (.@mk & MASK_NIGHT)
+ .@mk=.@mk^MASK_NIGHT;
+ if (.@mk & MASK_EVILSANCTUM)
+ .@mk=.@mk^MASK_EVILSANCTUM;
+
+ // Monster King Sieges (can be weird, siege last 10mn and mask last 15)
+ if ($@MK_SCENE)
+ .@mk=.@mk|MASK_EVILSANCTUM;
+ if (.@mk & (MASK_MATTACK|MASK_EVILSANCTUM))
+ .@mk=.@mk^MASK_EVILSANCTUM;
+
+ // Remove all current masks, and add rain/snow/sand
+ if (.@type$ == "desert") {
+ if (.@r < 10)
+ .@mk=.@mk|MASK_RAIN;
+ else if (.@r < 300)
+ .@mk=.@mk|MASK_SANDSTORM;
+
+ } else if (.@type$ == "woodland") {
+ if (.@r < 300)
+ .@mk=.@mk|MASK_RAIN;
+
+ if ($EVENT$ == "Christmas")
+ .@mk=.@mk|MASK_SNOW;
+ else if (season() == WINTER && .@r >= 9250)
+ .@mk=.@mk|MASK_SNOW;
+
+ } else if (.@type$ == "iceland") {
+ if (.@r < 30)
+ .@mk=.@mk|MASK_RAIN;
+ else if (.@r < 300)
+ .@mk=.@mk|MASK_SNOW;
+
+ } else if (.@type$ == "special") {
+ // This biom is too hot for snow. But it may rain.
+ if (.@r < 300)
+ .@mk=.@mk|MASK_RAIN;
+
+ // Fog? (Evil Sanctum and Monster Attack) Or Sandstorm?
+ if (.@r % 4 == 2)
+ .@mk=.@mk|MASK_EVILSANCTUM;
+ else if (.@r % 4 == 1)
+ .@mk=.@mk|MASK_SANDSTORM;
+ else if (.@r % 4 == 3)
+ .@mk=.@mk|MASK_MATTACK;
+
+ } else {
+ consolebug "Warning warning, blame Saulc! Weather system error on map "+.@key$;
+ announce("ERROR BLAME SAULC! WEATHER SYSTEM CORRUPTED.", bc_all);
+ }
+
+ // Bugfix
+ if (!(.@mk & MASK_NONE))
+ .@mk=.@mk|MASK_NONE;
+
+ setmapmask .@key$, .@mk;
+
+ // Is it night time?
+ if (is_night()) {
+ setmapflag(.@key$, mf_nightenabled);
+ addmapmask .@key$, MASK_NIGHT;
+ } else if (getmapmask(.@key$) & MASK_NIGHT) {
+ removemapflag(.@key$, mf_nightenabled);
+ removemapmask .@key$, MASK_NIGHT;
+ }
+ }
+ htidelete(.@hti);
+ //debugmes "[Weather.sys] Regenerated";
+
+ // Hardcore: Skip day/night cycles
+ if ($HARDCORE || $@GM_OVERRIDE) {
+ $@WEATHER_NIGHT=is_night(true);
+ end;
+ }
+
+ // During night, normal monsters respawn 30% faster. (Bifs and Bosses are immune)
+ //
+ // Also, announce to players about day/night cycle changes
+ // The fastest you'll get is 30 minutes for night cycle.
+ // It's 2 messages every 3 hours. (r7.5)
+ // Player might be on cave, and this will help them tracking time.
+ .@current=is_night(true);
+ .@update = (.@current != $@WEATHER_NIGHT);
+ if (.@update) {
+ $@WEATHER_NIGHT=.@current;
+ if (.tcl > 0) {
+ .tpc = .tpc / .tcl;
+ // Monsters spawn faster based on average player count of previous
+ // cycle, 2% faster per player, capped at 2/3 of the lowest rate
+ // Default lowest is 70%, so it can go down up to 45% reduction
+ // For a total of (70-45 = 25%) or monsters spawning 4× faster
+ // when server is at "full" load (22 players or so)
+ .@bon = min(.tpc * 2, min($BCONFN_SPAWN, $BCONFD_SPAWN) * 2 / 3);
+ }
+ .tpc=0;
+ .tcl=0;
+ }
+ if (is_night() && .@update) {
+ .@c = getunits(BL_PC, .@players, MAX_CYCLE_PC);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ attachrid(.@players[.@i]);
+ callfunc("SC_Bonus", 180, SC_INCMHPRATE, 10, 10);
+ percentheal 100, 100;
+ message(.@players[.@i], "The night falls.");
+ detachrid();
+ }
+ setbattleflag("mob_spawn_delay", $BCONFN_SPAWN - .@bon);
+ setbattleflag("monster_hp_rate", $BCONFN_MOBHP);
+ //charcommand("@reloadbattleconf"); // Careful!
+ donpcevent("@exprate::OnInheirtedReload");
+ //donpcevent("@droprate::OnReload");
+ } else if (!is_night() && .@update) {
+ .@c = getunits(BL_PC, .@players, MAX_CYCLE_PC);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ attachrid(.@players[.@i]);
+ callfunc("SC_Bonus", 180, SC_INCMHPRATE, 10, 10);
+ percentheal 100, 100;
+ message(.@players[.@i], "The day rises.");
+ detachrid();
+ }
+ setbattleflag("mob_spawn_delay", $BCONFD_SPAWN - .@bon);
+ setbattleflag("monster_hp_rate", $BCONFD_MOBHP);
+ //charcommand("@reloadbattleconf"); // Careful!
+ donpcevent("@exprate::OnInheirtedReload");
+ //donpcevent("@droprate::OnReload");
+ }
+
+ callfunc "FYE_Normalize";
+ debugmes "[Weather.sys] Weather reloaded";
+ end;
+
+ // Function to check stuff
+ // WeatherSwitch ( MASK, MAP )
+ function WeatherSwitch {
+ // Get map
+ getmapxy(.@key$,.@a,.@b,0);
+
+ // Sanitize
+ .@m$ = htget(.wcore, .@key$, "Not found");
+
+ // Change Weather or abort
+ if (.@m$ == "Not found")
+ dispbottom l("Command not permitted on this map! Check npc/functions/weather.conf");
+ else
+ addmapmask(.@key$, getarg(0));
+ return;
+ }
+
+// Some commands, for GMs manually override weather
+OnRain:
+ WeatherSwitch(MASK_RAIN);
+ end;
+
+OnSand:
+ WeatherSwitch(MASK_SANDSTORM);
+ end;
+
+OnSnow:
+ WeatherSwitch(MASK_SNOW);
+ end;
+
+OnNight:
+ WeatherSwitch(MASK_NIGHT);
+ end;
+
+OnEvil:
+ WeatherSwitch(MASK_EVILSANCTUM);
+ end;
+
+OnManual:
+ if (!.@atcmd_numparameters) {
+ dispbottom l("Syntax: @wset <map_mask>");
+ end;
+ }
+
+ // Never allow negative numbers, or to disable map mask 1 (never, EVER, do such insane thing)
+ .@rq = atoi(.@atcmd_parameters$[0]);
+ if (.@rq <= 1 || .@rq % 2 == 1) {
+ dispbottom l("Invalid map mask");
+ end;
+ }
+
+ // <Insert a helpful comment here>
+ getmapxy(.@key$,.@a,.@b,0);
+ .@mk=getmapmask(.@key$);
+ .@mk=.@mk^.@rq;
+ setmapmask(.@key$, .@mk);
+ end;
+
+// Clear works on any map
+OnClear:
+ getmapxy(.@key$,.@a,.@b,0);
+ .@mk=getmapmask(.@key$);
+ if (.@mk & MASK_RAIN)
+ .@mk=.@mk^MASK_RAIN;
+ if (.@mk & MASK_SANDSTORM)
+ .@mk=.@mk^MASK_SANDSTORM;
+ if (.@mk & MASK_SNOW)
+ .@mk=.@mk^MASK_SNOW;
+ if (.@mk & MASK_NIGHT)
+ .@mk=.@mk^MASK_NIGHT;
+ setmapmask(.@key$, .@mk);
+ end;
+
+// Reset the whole map, including season, event and weather masks
+OnReset:
+ getmapxy(.@key$,.@a,.@b,0);
+ setmapmask(.@key$, MASK_NONE);
+ end;
+
+}
diff --git a/npc/guilds/_import.txt b/npc/guilds/_import.txt
new file mode 100644
index 0000000..43098ee
--- /dev/null
+++ b/npc/guilds/_import.txt
@@ -0,0 +1,10 @@
+// Map guilds: Guild Hall
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/guilds/_warps.txt",
+"npc/guilds/alchemy.txt",
+"npc/guilds/bank.txt",
+"npc/guilds/exchange.txt",
+"npc/guilds/forge.txt",
+"npc/guilds/logs.txt",
+"npc/guilds/management.txt",
+"npc/guilds/storage.txt",
diff --git a/npc/guilds/_warps.txt b/npc/guilds/_warps.txt
new file mode 100644
index 0000000..6e8c8f6
--- /dev/null
+++ b/npc/guilds/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map guilds: Guild Hall warps
+guilds,35,49,0 warp #guilds_35_49 1,0,017-1,57,34
diff --git a/npc/guilds/alchemy.txt b/npc/guilds/alchemy.txt
new file mode 100644
index 0000000..99da224
--- /dev/null
+++ b/npc/guilds/alchemy.txt
@@ -0,0 +1,30 @@
+// Moubootaur Legends Script
+// Author:
+// Jesusalva
+// Description:
+// Guild Facility - Alchemy Table
+
+guilds,24,35,0 script Guild Chemistry NPC_NO_SPRITE,{
+ do
+ {
+ mesc l("What will you brew today?");
+ mesc l("Note: Items brewed here will use a Guild Recipe instead!");
+ if (AlchemySystem(CRAFT_GUILD))
+ {
+ mesc l("Success!"), 3;
+ next;
+ }
+ else
+ {
+ mesc l("That didn't work!"), 1;
+ next;
+ }
+ mesc l("Try again?");
+ } while (askyesno() == ASK_YES);
+ close;
+
+OnInit:
+ .distance=2;
+ end;
+}
+
diff --git a/npc/guilds/bank.txt b/npc/guilds/bank.txt
new file mode 100644
index 0000000..dadd527
--- /dev/null
+++ b/npc/guilds/bank.txt
@@ -0,0 +1,58 @@
+// Moubootaur Legends Script
+// Author:
+// Jesusalva
+// Description:
+// Guild Facility - Guild Vault
+
+guilds,35,35,0 script Guild Vault NPC_NO_SPRITE,{
+ .@gid=getcharid(2);
+ .@role=getguildrole(.@gid, getcharid(3));
+ do
+ {
+ mesn;
+ mesc l("This vault currently have @@ GP inside.", format_number($GUILD_BANK[.@gid]));
+ select
+ l("Okay, laters"),
+ l("Donate GP"),
+ rif(.@role == GPOS_TREASURER || .@role <= GPOS_VICELEADER, l("Withdraw GP"));
+ mes "";
+ switch (@menu)
+ {
+ case 1:
+ close;
+ case 2:
+ input .@mx;
+ if (Zeny < .@mx || .@mx < 0)
+ {
+ mesc l("Invalid amount!"), 1;
+ }
+ else
+ {
+ Zeny=Zeny-.@mx;
+ $GUILD_BANK[.@gid]+=.@mx;
+ mesc l("Donation successful!"), 3;
+ }
+ break;
+ case 3:
+ input .@mx;
+ if ($GUILD_BANK[.@gid] < .@mx || .@mx < 0)
+ {
+ mesc l("Invalid amount!"), 1;
+ }
+ else
+ {
+ $GUILD_BANK[.@gid]-=.@mx;
+ Zeny=Zeny+.@mx;
+ mesc l("Money withdrawn!"), 3;
+ }
+ break;
+ }
+
+ } while (true);
+ close;
+
+OnInit:
+ .distance=2;
+ end;
+}
+
diff --git a/npc/guilds/exchange.txt b/npc/guilds/exchange.txt
new file mode 100644
index 0000000..168dc93
--- /dev/null
+++ b/npc/guilds/exchange.txt
@@ -0,0 +1,155 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Trades Guild Coins for useful items
+// Variable:
+// #GUILDSHOP (bitmask)
+
+guilds,29,24,0 script Guild Coin Exchange NPC_NO_SPRITE,{
+ do
+ {
+ mes l("You have %d %s", countitem(GuildCoin), getitemlink(GuildCoin));
+ next;
+ // Calculate fruit cost
+ if (!(#GUILDSHOP & GEX_fruit1)) {
+ .@fruitcost=200; .@fruitId=GEX_fruit1;
+ } else if (!(#GUILDSHOP & GEX_fruit2)) {
+ .@fruitcost=350; .@fruitId=GEX_fruit2;
+ } else if (!(#GUILDSHOP & GEX_fruit3)) {
+ .@fruitcost=500; .@fruitId=GEX_fruit3;
+ } else if (!(#GUILDSHOP & GEX_fruit4)) {
+ .@fruitcost=750; .@fruitId=GEX_fruit4;
+ } else if (!(#GUILDSHOP & GEX_fruit5)) {
+ .@fruitcost=1000; .@fruitId=GEX_fruit5;
+ } else {
+ .@fruitcost=false; .@fruitId=GEX_fruitMAX;
+ }
+
+ // Calculate mercbox cost
+ if (!(#GUILDSHOP & GEX_merc1)) {
+ .@merccost=50; .@mercId=GEX_merc1;
+ } else if (!(#GUILDSHOP & GEX_merc2)) {
+ .@merccost=100; .@mercId=GEX_merc2;
+ } else if (!(#GUILDSHOP & GEX_merc3)) {
+ .@merccost=175; .@mercId=GEX_merc3;
+ } else if (!(#GUILDSHOP & GEX_merc4)) {
+ .@merccost=250; .@mercId=GEX_merc4;
+ } else if (!(#GUILDSHOP & GEX_merc5)) {
+ .@merccost=350; .@mercId=GEX_merc5;
+ } else {
+ .@merccost=false; .@mercId=GEX_mercMAX;
+ }
+
+ // Calculate blueprint cost
+ if (!(#GUILDSHOP & GEX_blue1)) {
+ .@bluecost=75; .@blueId=GEX_blue1;
+ } else if (!(#GUILDSHOP & GEX_blue2)) {
+ .@bluecost=100; .@blueId=GEX_blue2;
+ } else if (!(#GUILDSHOP & GEX_blue3)) {
+ .@bluecost=150; .@blueId=GEX_blue3;
+ } else if (!(#GUILDSHOP & GEX_blue4)) {
+ .@bluecost=200; .@blueId=GEX_blue4;
+ } else if (!(#GUILDSHOP & GEX_blue5)) {
+ .@bluecost=250; .@blueId=GEX_blue5;
+ } else {
+ .@bluecost=300; .@blueId=GEX_blueMAX;
+ }
+
+ // Calculate arcmage boxset cost
+ if (!(#GUILDSHOP & GEX_arcmage1)) {
+ .@arcmagecost=30; .@arcmageId=GEX_arcmage1;
+ } else if (!(#GUILDSHOP & GEX_arcmage2)) {
+ .@arcmagecost=60; .@arcmageId=GEX_arcmage2;
+ } else if (!(#GUILDSHOP & GEX_arcmage3)) {
+ .@arcmagecost=90; .@arcmageId=GEX_arcmage3;
+ } else if (!(#GUILDSHOP & GEX_arcmage4)) {
+ .@arcmagecost=120; .@arcmageId=GEX_arcmage4;
+ } else if (!(#GUILDSHOP & GEX_arcmage5)) {
+ .@arcmagecost=150; .@arcmageId=GEX_arcmage5;
+ } else {
+ .@arcmagecost=150; .@arcmageId=GEX_arcmageMAX;
+ }
+
+ menuint
+ l("Close"), 0,
+ rif(.@fruitcost, .@fruitcost+l(" Coins - Mysterious Fruit")), .@fruitId,
+ rif(.@merccost, .@merccost+l(" Coins - Mercenary Boxset")), .@mercId,
+ rif(.@bluecost, .@bluecost+l(" Coins - Ancient Blueprint")), .@blueId,
+ rif(.@arcmagecost, .@arcmagecost+l(" Coins - Arcmage Boxset")), .@arcmageId;
+
+ mes "";
+ switch (@menuret) {
+ case GEX_fruit1:
+ case GEX_fruit2:
+ case GEX_fruit3:
+ case GEX_fruit4:
+ case GEX_fruit5:
+ case GEX_fruitMAX:
+ if (countitem(GuildCoin) < .@fruitcost)
+ close;
+ delitem GuildCoin, .@fruitcost;
+ getitem MysteriousFruit, 1;
+ if (@menuret > 0)
+ #GUILDSHOP=#GUILDSHOP|@menuret;
+ break;
+
+ case GEX_merc1:
+ case GEX_merc2:
+ case GEX_merc3:
+ case GEX_merc4:
+ case GEX_merc5:
+ case GEX_mercMAX:
+ if (countitem(GuildCoin) < .@merccost)
+ close;
+ delitem GuildCoin, .@merccost;
+ getitem (#GUILDSHOP & GEX_merc3 ? MercBoxE : MercBoxD), 1;
+ if (@menuret > 0)
+ #GUILDSHOP=#GUILDSHOP|@menuret;
+ break;
+
+ case GEX_blue1:
+ case GEX_blue2:
+ case GEX_blue3:
+ case GEX_blue4:
+ case GEX_blue5:
+ case GEX_blueMAX:
+ if (countitem(GuildCoin) < .@bluecost)
+ close;
+ delitem GuildCoin, .@bluecost;
+ getitem AncientBlueprint, 1;
+ if (@menuret > 0)
+ #GUILDSHOP=#GUILDSHOP|@menuret;
+ break;
+
+ case GEX_arcmage1:
+ case GEX_arcmage2:
+ case GEX_arcmage3:
+ case GEX_arcmage4:
+ case GEX_arcmage5:
+ case GEX_arcmageMAX:
+ if (countitem(GuildCoin) < .@arcmagecost)
+ close;
+ delitem GuildCoin, .@arcmagecost;
+ getitem ArcmageBoxset, 1;
+ if (@menuret > 0)
+ #GUILDSHOP=#GUILDSHOP|@menuret;
+ break;
+ }
+
+ } while (@menuret != 0);
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, TopHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, GoldenWarlordPlate);
+ setunitdata(.@npcId, UDT_WEAPON, JeansChaps);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, AssassinBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 25);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 4);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/guilds/forge.txt b/npc/guilds/forge.txt
new file mode 100644
index 0000000..a558c4c
--- /dev/null
+++ b/npc/guilds/forge.txt
@@ -0,0 +1,33 @@
+// Moubootaur Legends Script
+// Author:
+// Jesusalva
+// Description:
+// Guild Facility - Blacksmith Area
+
+guilds,24,27,0 script Guild Blacksmith NPC_NO_SPRITE,{
+ // Script begins here
+ do
+ {
+ mesc l("What will you forge today?");
+ //mesc l("You might need to have a @@ equipped for some recipes!", getitemlink(Knife));
+ mesc l("Note: Items forged here will be guild-bound, but will use player recipes and bonuses!");
+ mesc b(l("\"WHAT IS CRAFTED IN GUILD BELONGS TO GUILD.\"")), 1;
+ if (SmithSystem(CRAFT_GUILD))
+ {
+ mesc l("Success!"), 3;
+ next;
+ }
+ else
+ {
+ mesc l("That didn't work!"), 1;
+ next;
+ }
+ mesc l("Try again?");
+ } while (askyesno() == ASK_YES);
+ close;
+
+OnInit:
+ .distance=2;
+ end;
+}
+
diff --git a/npc/guilds/logs.txt b/npc/guilds/logs.txt
new file mode 100644
index 0000000..4c225f0
--- /dev/null
+++ b/npc/guilds/logs.txt
@@ -0,0 +1,422 @@
+// Moubootaur Legends Script
+// Author:
+// Jesusalva
+// Description:
+// Guild Facility - Contains recipe list
+
+guilds,47,39,0 script Guild Logs NPC_NO_SPRITE,{
+ function hudRecipe;
+ function showRecipe;
+ function calcRecipe;
+ function clearRecipe;
+ function GDSkillLearn;
+ .@gid=getcharid(2);
+ .@s=0; // How many was displayed, to use next(); if needed
+
+ mes ".:: " + l("Alchemy Recipes") + " ::.";
+ // Healing
+ .@s+=showRecipe(CraftPiberriesInfusion, PiberriesInfusion,
+ 5, Piberries, 1, Curshroom);
+
+ if (.@s > 1)
+ next;
+
+ // General Boosts
+ .@s+=showRecipe(CraftHastePotion, HastePotion,
+ 15, Plushroom);
+ .@s+=showRecipe(CraftStrengthPotion, StrengthPotion,
+ 15, Chagashroom);
+ .@s+=showRecipe(CraftResetPotion, StatusResetPotion,
+ 90, ManaPiouFeathers, 10, Curshroom);
+ .@s+=showRecipe(CraftSpeedPotion, MoveSpeedPotion,
+ 1, GemPowder, 5, FluoPowder);
+ .@s+=showRecipe(CraftPrecisionPotion, PrecisionPotion,
+ 3, Piberries, 1, MountainSnakeEgg);
+ .@s+=showRecipe(CraftDodgePotion, DodgePotion,
+ 3, Piberries, 1, SnakeEgg);
+
+ if (.@s > 5)
+ next;
+
+ // Stats Boosts
+ .@s+=showRecipe(CraftLukPotionA, LukPotionA,
+ 1, EmeraldPowder, 1, HerbalTea);
+ .@s+=showRecipe(CraftLukPotionB, LukPotionB,
+ 1, Emerald, 2, HerbalTea);
+ .@s+=showRecipe(CraftLukPotionC, LukPotionC,
+ 1, PolishedEmerald, 3, HerbalTea);
+
+ .@s+=showRecipe(CraftDexPotionA, DexPotionA,
+ 1, AmethystPowder, 1, HerbalTea);
+ .@s+=showRecipe(CraftDexPotionB, DexPotionB,
+ 1, Amethyst, 2, HerbalTea);
+ .@s+=showRecipe(CraftDexPotionC, DexPotionC,
+ 1, PolishedAmethyst, 3, HerbalTea);
+
+ .@s+=showRecipe(CraftIntPotionA, IntPotionA,
+ 1, SapphirePowder, 1, HerbalTea);
+ .@s+=showRecipe(CraftIntPotionB, IntPotionB,
+ 1, Sapphire, 2, HerbalTea);
+ .@s+=showRecipe(CraftIntPotionC, IntPotionC,
+ 1, PolishedSapphire, 3, HerbalTea);
+
+ .@s+=showRecipe(CraftVitPotionA, VitPotionA,
+ 1, DiamondPowder, 1, HerbalTea);
+ .@s+=showRecipe(CraftVitPotionB, VitPotionB,
+ 1, Diamond, 2, HerbalTea);
+ .@s+=showRecipe(CraftVitPotionC, VitPotionC,
+ 1, PolishedDiamond, 3, HerbalTea);
+
+ .@s+=showRecipe(CraftAgiPotionA, AgiPotionA,
+ 1, TopazPowder, 1, HerbalTea);
+ .@s+=showRecipe(CraftAgiPotionB, AgiPotionB,
+ 1, Topaz, 2, HerbalTea);
+ .@s+=showRecipe(CraftAgiPotionC, AgiPotionC,
+ 1, PolishedTopaz, 3, HerbalTea);
+
+ if (.@s > 14)
+ next;
+
+ // Limit Boosts
+ .@s+=showRecipe(CraftSacredManaPotion, SacredManaPotion,
+ 1, GoldenApple, 10, CelestiaTea);
+ .@s+=showRecipe(CraftSacredLifePotion, SacredLifePotion,
+ 1, GoldenApple, 1, ElixirOfLife);
+ .@s+=showRecipe(CraftSacredImmortalityPotion, SacredImmortalityPotion,
+ 1, SacredLifePotion, 1, SacredManaPotion);
+
+ if (.@s == 0)
+ mesc l("Your guild doesn't knows any recipes!"), 1;
+
+ .@role=getguildrole(.@gid, getcharid(3));
+ do
+ {
+ select
+ l("Do nothing"),
+ rif(strcharinfo(0) == getguildmaster(.@gid), l("Raise max members")),
+ rif(.@role <= GPOS_MEMBER, l("Learn individual guild skills")),
+ rif(.@role <= GPOS_VICELEADER, l("Learn Alchemy Recipes"));
+ mes "";
+
+ switch (@menu) {
+ case 2:
+ .@cur_lv=getguildlvl(.@gid);
+ .@min_lv=(getskilllv(GD_EXTENSION)+1)*4;
+ .@price=.@min_lv*274;
+ if (.@cur_lv < .@min_lv)
+ {
+ mesc l("Guild Level is not enough: @@/@@", .@cur_lv, .@min_lv);
+ next;
+ break;
+ }
+ mesc l("Raising this skill will allow to recruit 4 more members.");
+ mesc l("The cost for Guild Vault is @@ GP.", .@price);
+ next;
+ select
+ rif($GUILD_BANK[.@gid] >= .@price, l("Upgrade it")),
+ l("Don't upgrade it");
+ mes "";
+ if (@menu == 1 && $GUILD_BANK[.@gid] >= .@price)
+ {
+ $GUILD_BANK[.@gid]-=.@price;
+ // guildskill()?
+ skill GD_EXTENSION, getskilllv(GD_EXTENSION)+1, 0;
+ break;
+ }
+ break;
+ case 3:
+ mes ".:: " + l("Guild Magic") + " ::.";
+ mesc l("IMPORTANT: All guild magic needs %s to be cast!", getitemlink(GuildCoin)), 3;
+ do
+ {
+ select
+ l("Return"),
+ rif(strcharinfo(0) == getguildmaster(.@gid), l("Increase all stats")),
+ l("Guild Area Regeneration"),
+ l("Guild Area DEF UP"),
+ l("Guild's Battle Plan"),
+ l("Guild Area ATK UP"),
+ l("Guild Area CRIT UP"),
+ l("Guild Area Autorevive"),
+ l("Weapon Maximum Damage"),
+ l("Friendly SP Regeneration");
+
+ mes "";
+ switch (@menu) {
+ case 2:
+ GDSkillLearn(TMW2_GD_INCALL, 2580,
+ l("Guild's Power"),
+ l("Increase all stats from every guild member in area."),
+ 8, 12, 16, 20, 24, 30, 36, 42, 50);
+ break;
+ case 3:
+ GDSkillLearn(TMW2_GD_REGEN, 1740,
+ l("Angel Light"),
+ l("Causes a healing effect in area to guild members."),
+ 4, 6, 9, 12, 15, 20, 25, 30, 35);
+ break;
+ case 4:
+ GDSkillLearn(TMW2_GD_DEFUP, 640,
+ l("Blessing of Defense"),
+ l("Increase defense to all friends in radius."),
+ 3, 5, 7, 9, 11, 14, 17, 20, 25);
+ break;
+ case 5:
+ GDSkillLearn(TMW2_GD_BATTLEPLAN, 1015,
+ l("Battle Plans"),
+ l("Increase STR/INT/DEX in range for all guild allies."),
+ 5, 8, 11, 15, 20, 24, 30, 37, 42);
+ break;
+ case 6:
+ GDSkillLearn(TMW2_GD_ATKUP, 1500,
+ l("Damage Improvement"),
+ l("Increase damage dealt by weapon for all guildies."),
+ 2, 4, 6, 8, 10, 12, 15, 18, 21);
+ break;
+ case 7:
+ GDSkillLearn(TMW2_GD_CRITUP, 1500,
+ l("Critical Fortune"),
+ l("Increase critical chance of all guild allies."),
+ 6, 9, 13, 19, 22, 27, 33, 39, 45);
+ break;
+ case 8:
+ GDSkillLearn(TMW2_GD_AUTOREVIVE, 3000,
+ l("Blessing of Immortality"),
+ l("If a guild mate dies, they will revive. Don't work on self."),
+ 7, 11, 17, 23, 26, 29, 31, 34, 38);
+ break;
+ case 9:
+ GDSkillLearn(TMW2_GDP_MAXPOWER, 3000,
+ l("Maximize Damage"),
+ l("PARTY AND GUILD friends: Weapon always deal max damage."),
+ 1, 5, 10, 15, 20, 25, 30, 35, 40);
+ break;
+ case 10:
+ GDSkillLearn(TMW2_GDP_SPREGEN, 3000,
+ l("Improved MP Regen"),
+ l("PARTY AND GUILD friends: Temporaly regen MP faster."),
+ 5, 10, 15, 22, 28, 32, 37, 41, 44);
+ break;
+ default:
+ break;
+ }
+ } while (@menu != 1);
+ @menu=99;
+ break;
+ case 4:
+ mes ".:: " + l("Alchemy Recipes") + " ::.";
+ do {
+ clearRecipe();
+
+ // Healing Recipes
+ if (!showRecipe(CraftPiberriesInfusion, false))
+ calcRecipe(CraftPiberriesInfusion, 3, 10000, l("Piberries Infusion"));
+
+ // General Boosts
+ if (!showRecipe(CraftHastePotion, false))
+ calcRecipe(CraftHastePotion, 2, 5000, l("Haste Potion"));
+ if (!showRecipe(CraftStrengthPotion, false))
+ calcRecipe(CraftStrengthPotion, 2, 5000, l("Strength Potion"));
+
+ if (!showRecipe(CraftResetPotion, false))
+ calcRecipe(CraftResetPotion, 4, 50000, l("Status Reset Potion"));
+ if (!showRecipe(CraftSpeedPotion, false))
+ calcRecipe(CraftSpeedPotion, 4, 50000, l("Movement Speed Potion"));
+
+ if (!showRecipe(CraftPrecisionPotion, false))
+ calcRecipe(CraftPrecisionPotion, 5, 20000, l("Precision Potion"));
+ if (!showRecipe(CraftDodgePotion, false))
+ calcRecipe(CraftDodgePotion, 5, 20000, l("Dodge Potion"));
+
+ // Stats Boosts
+ if (!showRecipe(CraftLukPotionA, false))
+ calcRecipe(CraftLukPotionA, 4, 15000, l("Luck Potion"));
+ if (!showRecipe(CraftLukPotionB, false))
+ calcRecipe(CraftLukPotionB, 6, 25000, l("Luck+ Potion"));
+ if (!showRecipe(CraftLukPotionC, false))
+ calcRecipe(CraftLukPotionC, 8, 35000, l("Luck++ Potion"));
+
+ if (!showRecipe(CraftDexPotionA, false))
+ calcRecipe(CraftDexPotionA, 4, 15000, l("Dex Potion"));
+ if (!showRecipe(CraftDexPotionB, false))
+ calcRecipe(CraftDexPotionB, 6, 25000, l("Dex+ Potion"));
+ if (!showRecipe(CraftDexPotionC, false))
+ calcRecipe(CraftDexPotionC, 8, 35000, l("Dex++ Potion"));
+
+ if (!showRecipe(CraftIntPotionA, false))
+ calcRecipe(CraftIntPotionA, 4, 15000, l("Int Potion"));
+ if (!showRecipe(CraftIntPotionB, false))
+ calcRecipe(CraftIntPotionB, 6, 25000, l("Int+ Potion"));
+ if (!showRecipe(CraftIntPotionC, false))
+ calcRecipe(CraftIntPotionC, 8, 35000, l("Int++ Potion"));
+
+ if (!showRecipe(CraftVitPotionA, false))
+ calcRecipe(CraftVitPotionA, 4, 15000, l("Vit Potion"));
+ if (!showRecipe(CraftVitPotionB, false))
+ calcRecipe(CraftVitPotionB, 6, 25000, l("Vit+ Potion"));
+ if (!showRecipe(CraftVitPotionC, false))
+ calcRecipe(CraftVitPotionC, 8, 35000, l("Vit++ Potion"));
+
+ if (!showRecipe(CraftAgiPotionA, false))
+ calcRecipe(CraftAgiPotionA, 4, 15000, l("Agi Potion"));
+ if (!showRecipe(CraftAgiPotionB, false))
+ calcRecipe(CraftAgiPotionB, 6, 25000, l("Agi+ Potion"));
+ if (!showRecipe(CraftAgiPotionC, false))
+ calcRecipe(CraftAgiPotionC, 8, 35000, l("Agi++ Potion"));
+
+ // Limit Boosts
+ if (!showRecipe(CraftSacredManaPotion, false))
+ calcRecipe(CraftSacredManaPotion, 7, 100000, l("Sacred Mana Potion"));
+ if (!showRecipe(CraftSacredLifePotion, false))
+ calcRecipe(CraftSacredLifePotion, 7, 100000, l("Sacred Life Potion"));
+ if (!showRecipe(CraftSacredImmortalityPotion, false))
+ calcRecipe(CraftSacredImmortalityPotion, 10, 500000, l("Sacred Immortality Potion"));
+
+ } while (!hudRecipe());
+ break;
+ }
+
+ } while (@menu != 1);
+ close;
+
+// showRecipe (Craft, Bonus, Req1No, Req1Id, Req2No, Req2Id)
+// Bonus must NOT be zero to display text
+function showRecipe {
+ /*
+ debugmes "Exist: %d", getd("$RECIPES_ALCHEMY_"+getcharid(2)+"["+getarg(0)+"]");
+ debugmes "Seeking for slot %d on guild %d", getarg(0), getcharid(2);
+ */
+ if (getd("$RECIPES_ALCHEMY_"+getcharid(2)+"["+getarg(0)+"]")) {
+ //debugmes "Hooray! It exists! We have %d defined", getarg(1);
+ if (getarg(1)) {
+ mesn l("Craft @@", getitemlink(getarg(1)));
+ if (getarg(2,0))
+ mesc l("* @@ @@", getarg(2), getitemlink(getarg(3)));
+ if (getarg(4,0))
+ mesc l("* @@ @@", getarg(4), getitemlink(getarg(5)));
+ mes "";
+ }
+ //debugmes "You got it: %d (global: %d)", getarg(0), $RECIPES_ALCHEMY[getcharid(2)];
+ return 1;
+ }
+ //debugmes "Nope, nothing here";
+ return 0;
+}
+
+// calcRecipe (CraftID, GLV, GGP, TXT)
+function calcRecipe {
+ array_push(@tmp_alcrep_id, getarg(0));
+ array_push(@tmp_alcrep_glv, getarg(1));
+ array_push(@tmp_alcrep_ggp, getarg(2));
+ array_push(@tmp_alcrep_txt$, getarg(3) + " - GLV "+getarg(1)+", "+format_number(getarg(2))+" GP");
+ return;
+}
+
+// clearRecipe ()
+function clearRecipe {
+ deletearray(@tmp_alcrep_id);
+ deletearray(@tmp_alcrep_glv);
+ deletearray(@tmp_alcrep_ggp);
+ deletearray(@tmp_alcrep_txt$);
+ @tmp_alcrep_id[0]=-1;
+ @tmp_alcrep_glv[0]=-1;
+ @tmp_alcrep_ggp[0]=-1;
+ @tmp_alcrep_txt$[0]=l("Learn Nothing");
+ return;
+}
+
+// hudRecipe ()
+function hudRecipe {
+ .@gid=getcharid(2);
+ // Select
+ select (implode(@tmp_alcrep_txt$, ":"));
+ @menu=@menu-1;
+
+ /* DEBUG prints
+ debugmes "You choose: %d", @menu;
+ debugmes getd("$RECIPES_ALCHEMY_"+.@gid);
+ copyarray(.@v, getd("$RECIPES_ALCHEMY_"+.@gid), getarraysize(getd("$RECIPES_ALCHEMY_"+.@gid)) );
+ debugmes "Width: %d (out of %d)", getarraysize(.@v), getarraysize(getd("$RECIPES_ALCHEMY_"+.@gid));
+ debugmes "Slot 44: %d", .@v[44];
+ debugmes "Slot 43: %d", .@v[43];
+ debugmes "Slot 42: %d", .@v[42];
+ debugmes "GLVL Options: %d-%d-%d-%d", @tmp_alcrep_glv[0], @tmp_alcrep_glv[1], @tmp_alcrep_glv[2], @tmp_alcrep_glv[3];
+ */
+
+ if (@tmp_alcrep_glv[@menu] <= 0)
+ return 1;
+
+ if (getguildlvl(.@gid) < @tmp_alcrep_glv[@menu]) {
+ mesc l("Insufficient Guild Level! (@@/@@)", getguildlvl(.@gid), @tmp_alcrep_glv[@menu]), 1;
+ next;
+ return 0;
+ }
+ if ($GUILD_BANK[.@gid] < @tmp_alcrep_ggp[@menu]) {
+ mesc l("Insufficient Guild Money! (Guild has: @@ GP)", format_number($GUILD_BANK[.@gid])), 1;
+ next;
+ return 0;
+ }
+ // All fine, proceed
+ $GUILD_BANK[.@gid] -= @tmp_alcrep_ggp[@menu];
+ setd("$RECIPES_ALCHEMY_"+getcharid(2)+"["+@tmp_alcrep_id[@menu]+"]", true);
+ mesc l("Skill learnt!"), 2;
+ next;
+ return 0;
+}
+
+// GDSkillLearn(SKID, cost-per-guild-level, title, desc, lv1, {lv2, lv3...})
+function GDSkillLearn {
+ .@id=getarg(0);
+ .@p=getarg(1);
+ .@t$=getarg(2);
+ .@d$=getarg(3);
+
+ .@gid=getcharid(2);
+ .@gid_lv=getguildlvl(.@gid);
+ .@cur_lv=getskilllv(.@id);
+ .@min_lv=getarg(4+.@cur_lv, -1);
+
+ .@price=.@min_lv*.@p;
+
+ // Max level reached
+ if (.@min_lv < 0)
+ {
+ mesc l("This skill cannot be upgraded further.");
+ next;
+ return 0;
+ }
+
+ // Guild level insuffice
+ if (.@gid_lv < .@min_lv)
+ {
+ mesc l("Guild Level is not enough: @@/@@", .@gid_lv, .@min_lv);
+ next;
+ return 0;
+ }
+
+ mes ".:: "+.@t$+" ::.";
+ mes .@d$;
+ mesc l("The cost for Guild Vault is @@ GP.", format_number(.@price));
+ mesc l("Current Guild Balance: %s GP", format_number($GUILD_BANK[.@gid]));
+ next;
+ select
+ rif($GUILD_BANK[.@gid] >= .@price, l("Upgrade it")),
+ l("Don't upgrade it");
+ mes "";
+ if (@menu == 1 && $GUILD_BANK[.@gid] >= .@price)
+ {
+ $GUILD_BANK[.@gid]-=.@price;
+ // guildskill()?
+ skill .@id, .@cur_lv+1, 0;
+ mesc l("Skill improved"), 2;
+ @menu=99;
+ return 1;
+ }
+ return 0;
+}
+
+OnInit:
+ .distance=2;
+ end;
+}
+
diff --git a/npc/guilds/management.txt b/npc/guilds/management.txt
new file mode 100644
index 0000000..5e0fd0a
--- /dev/null
+++ b/npc/guilds/management.txt
@@ -0,0 +1,115 @@
+// Moubootaur Legends Script
+// Author:
+// Jesusalva
+// Description:
+// Guild Facility - Guild Settings (for guildmaster)
+
+guilds,35,30,0 script Guild Management NPC_NO_SPRITE,{
+ function gmaster;
+ .@gid=getcharid(2);
+ .@admin=(getguildrole(.@gid, getcharid(3)) == GPOS_GUILDMASTER);
+ .@pos=getguildrole(.@gid, getcharid(3));
+
+ if (is_admin() && strcharinfo(0) == "Monster King") {
+ mesc ".:: Jesusalva's Interface ::.", 1;
+ mesc "Write Guild ID to modify - DO NOT INPUT IF YOU DON'T KNOW EXACTLY WHAT YOU ARE DOING", 1;
+ mesc "THAT IS IRREVERSIBLE, DON'T BE A DUMMY", 1;
+ next;
+ mesc("Correct gid: " + .@gid);
+ input .@gid;
+ if (.@gid <= 0)
+ close;
+ .@admin=true;
+ logmes(strcharinfo(0)+" logged in as super user in guild: "+getguildname(.@gid), LOGMES_ATCOMMAND);
+ }
+
+ mesc (".:: "+getguildname(.@gid)+" ::."), 1;
+ mesc l("Guild Master: @@", getguildmaster(.@gid)), 3;
+ if (getguildnxp(.@gid) > 0)
+ mesc l("Guild Lv @@, @@/@@ EXP to level up", getguildlvl(.@gid), fnum(getguildexp(.@gid)), fnum(getguildnxp(.@gid)));
+ else
+ mesc l("Guild Lv @@, @@/@@ EXP to level up", getguildlvl(.@gid), fnum(getguildexp(.@gid)), "???");
+
+ // mesc l("The average player level is @@", getguildavg(.@gid));
+ //mesc l("Your position on the guild: @@", getguildrole(.@gid, getcharid(3), true));
+ mesc l("You are the guild's \"%s\", and you contribute with %02d%% EXP.",
+ getguildpostitle(.@gid, .@pos),
+ getguildpostax(.@gid, .@pos));
+ //getguildpostitle(.@gid, .@pos)
+
+ // I forgot a function to get player title and allow any guildmaster to change this
+ if (.@admin)
+ {
+ next;
+ do
+ {
+ gmaster();
+ next;
+ mesc l("Do you want to do something else?");
+ } while (askyesno() == ASK_YES);
+ }
+ close;
+
+ function gmaster {
+ .@gid=getcharid(2);
+ mesn;
+ mesc l("Please select the Guild Position you want to change.");
+ menuint
+ l("Abort"), -1,
+ l("Guild Master"), GPOS_GUILDMASTER,
+ l("Vice Leader"), GPOS_VICELEADER,
+ l("Recruiter"), GPOS_RECRUITER,
+ l("Treasurer"), GPOS_TREASURER,
+ l("Normal Member"), GPOS_MEMBER,
+ l("Newbie"), GPOS_NEWBIE;
+ mes "";
+ .@idx=0+@menuret;
+ if (.@idx < 0)
+ return;
+ mesc l("The guild's \"%s\" currently contribute with %02d%% EXP.", getguildpostitle(.@gid, .@pos), getguildpostax(.@gid, .@idx));
+ mesc l("Please write how much in percent is EXP Tax for member (range: 0~50)"), 1;
+ input .@exptax;
+ if (.@exptax < 0 || .@exptax > 50)
+ return;
+ mesc l("Applying...");
+ switch (.@idx) {
+ case GPOS_GUILDMASTER:
+ .@name$="GuildMaster";
+ .@perm=GPERM_ALL;
+ break;
+ case GPOS_VICELEADER:
+ .@name$="ViceLeader";
+ .@perm=GPERM_ALL;
+ break;
+ case GPOS_RECRUITER:
+ .@name$="Recruiter";
+ .@perm=GPERM_INVITE;
+ break;
+ case GPOS_TREASURER:
+ .@name$="Treasurer";
+ .@perm=0;
+ break;
+ case GPOS_MEMBER:
+ .@name$="Member";
+ .@perm=0;
+ break;
+ case GPOS_NEWBIE:
+ .@name$="Newbie";
+ .@perm=0;
+ break;
+ default:
+ .@name$="Position "+(.@idx+1);
+ .@perm=0;
+ break;
+ }
+ //debugmes "setguildrole(%d,%d,%d,%d,\"%s\")", .@gid, .@idx, .@perm, .@exptax, .@name$;
+ setguildrole(.@gid, .@idx, .@perm, .@exptax, .@name$);
+ mesc l("Done!"), 3;
+ return;
+ }
+
+OnInit:
+ .distance=1;
+ end;
+}
+
diff --git a/npc/guilds/storage.txt b/npc/guilds/storage.txt
new file mode 100644
index 0000000..2f8db6d
--- /dev/null
+++ b/npc/guilds/storage.txt
@@ -0,0 +1,33 @@
+// Moubootaur Legends Script
+// Author:
+// Jesusalva
+// Description:
+// Guild Facility - Guild Storage
+
+guilds,33,28,0 script Guild Storage NPC_NO_SPRITE,{
+ .@gid=getcharid(2);
+ if (.@gid < 1)
+ end;
+ if (getguildlvl(.@gid) < 2)
+ {
+ npctalkonce l("Your guild need to have at least level 2 to use storage feature.");
+ }
+ else
+ {
+ if (getguildrole(.@gid, getcharid(3)) > GPOS_MEMBER)
+ {
+ dispbottom l("Your position must be the one of a regular member or above.");
+ end;
+ }
+ if (guildopenstorage())
+ {
+ npctalkonce l("Someone else is using the guild storage right now. Please wait.");
+ }
+ }
+ end;
+
+OnInit:
+ .distance=2;
+ end;
+}
+
diff --git a/npc/items/alcohol.txt b/npc/items/alcohol.txt
new file mode 100644
index 0000000..374a4be
--- /dev/null
+++ b/npc/items/alcohol.txt
@@ -0,0 +1,124 @@
+// TMW-2 Script.
+// Author:
+// Crush
+// Jesusalva
+// Description:
+// Alcohol effects
+// TODO: Retroactive, weakens every hour...
+//
+// Variables:
+// @taste Alcohol taste (0~100) - influences exp up
+// @Alcohol Alcoholic rating (0~100) - influences Attack Speed Malus, Min. Vit and duration
+// ALC_DELAYTIME For how long you are drunk (the delay) - gettimetick(2)
+// ALC_THRESHOLD How drunk you are (the bonus)
+//
+// When drunk, attack speed is lowered but exp gain is increased.
+// Attack Speed Reductor: SC_ATTHASTE_INFINITY (reset upon death), SC_ATTHASTE_POTION2 (not reset upon death)
+// Max HP Reductor: SC_INCMHPRATE
+// EXP Increaser: SC_CASH_PLUSEXP (not reset upon death), SC_OVERLAPEXPUP (reset upon death)
+
+function script ALCReset {
+ if (ALC_DELAYTIME < gettimetick(2))
+ ALC_THRESHOLD=0;
+ return;
+}
+
+- script alcohol_sc -1,{
+
+ // Stack remaning bonuses if the last one hasn't finished
+ // remaining_bonuses(sc, type)
+ // type 0: delay
+ // type 1: value
+ function remaining_bonus
+ {
+ if (getstatus(getarg(0)))
+ {
+ if (getarg(1))
+ return getstatus(getarg(0), 1);
+ else
+ return getstatus(getarg(0), 5); // Shouldn't it be 5?
+ }
+ return 0;
+ }
+
+OnUse:
+ if (@Alcohol <= 0 || @taste <= 0) {
+ Exception("Invalid alcoholic item, deleting without any effect.");
+ end;
+ }
+ // Just to be sure
+ ALCReset();
+
+ // Do you have enough vitality to hold your beer?
+ // Skip this check on the first drink
+ if (ALC_THRESHOLD) {
+ .@vit=readparam2(bVit);
+ if (@Alcohol+ALC_THRESHOLD > .@vit) {
+ if (GSET_ALCOHOL_NOOVERDRINK) dispbottom l("You vomit, you are too drunk for this to have effect anymore.");
+ else dispbottom l("You vomit, you are too drunk and drinking is harmful.");
+ dispbottom l("Raise vitality to be able to drink even more.");
+ sc_start SC_CONFUSION, 5000, 0, 10000, SCFLAG_NOAVOID; // Warning, forces user to use @resync!
+ if (GSET_ALCOHOL_NOOVERDRINK) end;
+ percentheal -@Alcohol, -@Alcohol;
+ }
+ }
+ .@deltatime=2*60*1000; // How long (in ms) each Alcohol point works? (max. 100 points)
+ // Default value is 2 minutes per alcohol point - you'll be somber after at most four hours.
+ // Beer (7): 14 minutes
+ // Wine (16): 32 minutes
+ // Sake (25): 50 minutes
+ // Rum (40) : 80 minutes (1h20)
+ // Ale (70) : 140 minutes (2h20)
+
+ // Taste is affected by users near you.
+ // Each user raises exp bonus in 1.5%, capped to the beverage taste
+ // If you are with many people, drink a better beverage! ;-)
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@bonus=getareausers(.@m$, .@x-12, .@y-12, .@x+12, .@y+12)-1;
+ .@bonus=.@bonus*15/10;
+ @taste+=min(@taste, .@bonus);
+
+ // Alcohol EXP Bonus - ponderate average, so having more VIT doesn't means
+ // more experience - only more time (be careful when mixing alcohol!)
+ .@v=remaining_bonus(SC_OVERLAPEXPUP, true);
+ .@t=remaining_bonus(SC_OVERLAPEXPUP, false)/1000;
+
+ if (.@t) .@val1 = ponderate_avg(@taste, @Alcohol, .@v, .@t);
+ else .@val1 = @taste;
+
+ // Put the delay in ms.
+ .@delay = remaining_bonus(SC_OVERLAPEXPUP, false);
+ .@delay = .@t + @Alcohol*.@deltatime;
+
+ // Reset EXP Bonus based on the new cumulative delay and average exp bonus
+ sc_end SC_OVERLAPEXPUP;
+ sc_start SC_OVERLAPEXPUP, .@delay, .@val1;
+
+ // Recalculate Alcohol Threshold and time
+ ALC_THRESHOLD+=@Alcohol;
+ if (ALC_DELAYTIME < gettimetick(2)) {
+ ALC_DELAYTIME=gettimetick(2);
+ ALC_THRESHOLD=@Alcohol;
+ }
+ ALC_DELAYTIME+=@Alcohol*.@deltatime;
+
+ // Debug comment if you need to check stuff
+ //debugmes "%d %d | %d %d | f t ", remaining_bonus(SC_OVERLAPEXPUP, false), remaining_bonus(SC_OVERLAPEXPUP, true), remaining_bonus(SC_ATTHASTE_INFINITY, false), remaining_bonus(SC_ATTHASTE_INFINITY, true);
+
+ // For debuff I'll use inc_sc_bonus utilities (exp gain = atk speed loss)
+ .@delay=@Alcohol*(.@deltatime/1000);
+ .@min=-(remaining_bonus(SC_OVERLAPEXPUP, true)*2);
+ .@max=-(remaining_bonus(SC_OVERLAPEXPUP, true)*2);
+ // Sanitization, and nerf the debuff
+ .@min=(.@min/2)+1;
+ .@max=(.@max/2)+2;
+ // DEX and VIT may affect a tiny bit (there's caps)
+ .@pam=readparam2(bVit)+readparam2(bDex);
+ .@min=min(0, .@min*limit(50, 500-.@pam, 500)/500);
+ .@max=min(0, .@min*limit(100, 500-.@pam, 500)/500);
+ SC_Bonus(.@delay, SC_ATTHASTE_INFINITY, .@min, .@max);
+ if (debug || $@GM_OVERRIDE)
+ debugmes "Alcohol penalty: %d ~ %d for %d s", .@min, .@max, .@delay;
+ close;
+}
+
diff --git a/npc/items/arcmage.txt b/npc/items/arcmage.txt
new file mode 100644
index 0000000..038be82
--- /dev/null
+++ b/npc/items/arcmage.txt
@@ -0,0 +1,51 @@
+// TMW-2 script.
+// Author:
+// Jesusalva
+// Description:
+// Card boxsets, shout out for arcmage.org
+
+// Create a random card, with rares
+function script MakeRandomArcmageCard {
+ array_push(.@arcmagecards, NatureCard);
+ array_push(.@arcmagecards, NinjaCard);
+ array_push(.@arcmagecards, MageCard);
+ array_push(.@arcmagecards, DruidCard);
+ array_push(.@arcmagecards, ClericCard);
+ array_push(.@arcmagecards, KnightCard);
+ array_push(.@arcmagecards, HeroCard);
+ array_push(.@arcmagecards, NecromancerCard);
+
+ .@r=rand(0,10000);
+ // 5% chances of a rare card
+ // Actually only 1/3 of this rate is effective
+ // Therefore real chances are of about 1.67%
+ if (.@r < 500+(JobLevel*2)) {
+ array_push(.@arcmagecards, SpeedCard);
+ array_push(.@arcmagecards, ReflectCard);
+ array_push(.@arcmagecards, PowerCard);
+ array_push(.@arcmagecards, WallCard);
+ }
+ // You may get the S Card if you are lucky.
+ // However, less than 1/2 of this rate is
+ // effective, and it is not so flexible.
+ // 0.05% at start and +0.1% per rebirth
+ if (.@r < 5+(REBIRTH*10)) {
+ array_push(.@arcmagecards, NatureCardS);
+ array_push(.@arcmagecards, NinjaCardS);
+ array_push(.@arcmagecards, MageCardS);
+ array_push(.@arcmagecards, DruidCardS);
+ array_push(.@arcmagecards, ClericCardS);
+ array_push(.@arcmagecards, KnightCardS);
+ array_push(.@arcmagecards, HeroCardS);
+ array_push(.@arcmagecards, NecromancerCardS);
+ // These cards does not have S version for drop
+ array_push(.@arcmagecards, SpeedCard);
+ array_push(.@arcmagecards, ReflectCard);
+ array_push(.@arcmagecards, PowerCard);
+ array_push(.@arcmagecards, WallCard);
+ }
+
+ getitem any_of(.@arcmagecards), 1;
+ return;
+}
+
diff --git a/npc/items/books.txt b/npc/items/books.txt
new file mode 100644
index 0000000..1c50486
--- /dev/null
+++ b/npc/items/books.txt
@@ -0,0 +1,737 @@
+// TMW-2 script.
+// Author:
+// Jesusalva
+// gumi
+// Tirifto
+// Description:
+// Books used by TMW-2. Some are from evol.
+
+function script FishingBook {
+ narrator S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("To get started with fishing, you'll need two things: a fishing rod and a bait."),
+ l("You just need one fishing rod, although you should take more than one single bait.");
+
+ @menu = 0; // reset for the rif
+
+ do
+ {
+ narrator S_NO_NPC_NAME,
+ l("Please select a chapter:");
+
+ mes "";
+
+ select
+ rif2(1, true, l("Ch 1 — Fishing apparatus")),
+ rif2(2, true, l("Ch 2 — Baits")),
+ rif2(3, true, l("Ch 3 — Location")),
+ rif2(4, true, l("Ch 4 — Casting")),
+ rif2(5, true, l("Ch 5 — Reeling")),
+ l("Close");
+ mes "";
+
+ switch(@menu)
+ {
+ case 1:
+ narrator S_LAST_NEXT,
+ l("You'll want your fishing rod to be flexible but solid."),
+ l("Comfortable grip is important especially for newcomers, since they'll be holding it for quite a while.");
+ break;
+ case 2:
+ narrator S_LAST_NEXT,
+ l("You can use many diverse items to lure fishes."),
+ l("Most common and widely popular in the fish realm are @@ and pieces of @@.",
+ getitemlink(SmallTentacles), getitemlink(Bread)),
+ l("Some types of fish also enjoy @@ quite a bit.",
+ getitemlink(Aquada)),
+ l("Some people, however, prefer to fish with more unorthodox baits, such as @@ or @@.",
+ getitemlink(RoastedMaggot), getitemlink(CaveSnakeTongue)),
+ l("Other food can be used as a bait, too.");
+ break;
+ case 3:
+ narrator S_LAST_NEXT,
+ l("Find yourself a nice dry spot on a coast where you can easily reach into deep water."),
+ l("Fishing next to shallow water is not going to work well, because fishes seldom go there."),
+ l("You can easily identify fishing spots, small bubbles and fishes are visible from the surface."),
+ l("Don't forget to come as close as possible to these spots!");
+ break;
+ case 4:
+ narrator S_LAST_NEXT,
+ l("Toss the hook into deep water by clicking on where you want to cast it."),
+ l("Make sure to put on a bait after you click, though!"),
+ l("After that, stay still and be patient, but also alert!");
+ break;
+ case 5:
+ narrator S_LAST_NEXT,
+ l("To successfully catch a fish, you need to pull up your hook by clicking it, right after it submerges."),
+ l("Should you be too quick or wait too long, you will most likely fail.");
+ break;
+ }
+ } while (@menu != 6);
+ return;
+}
+
+- script #Book-Fishing1 NPC_HIDDEN,{
+
+ function read_book {
+ setnpcdialogtitle l(.book_name$);
+ FishingBook();
+ closeclientdialog;
+ end;
+ }
+
+OnShelfUse:
+ if (openbookshelf())
+ read_book;
+ bye;
+
+OnUse:
+ if (openbook())
+ read_book;
+ bye;
+
+OnInit:
+ .book_name$ = getitemname(FishingGuideVolI);
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+
+
+function script PetcaringBook {
+ select
+ l("General Information"),
+ l("Pet Summary");
+ mes "";
+ if (@menu == 1) {
+ narrator 1,
+ l("So you have now a pet, who is loyal to you. It'll follow you everywhere, but there are two things you must know."),
+ l("Do not let intimacy and hunger get to zero. If any of those get to zero, it'll leave you forever."),
+ l("Pets must keep a strict diet. Pious eats Piberries, Bhoppers eat Aquadas, and Maggots eats Bug Legs."),
+ l("White Cats drink Milk, Forest Mushroom eats Moss, Black Cats eats marshmallow. Keep in mind whatever they eat."),
+ l("However, you should only give food when it's hungry, otherwise it'll believe you're a bad owner and intimacy will decrease."),
+ l("Dying will also decrease the pet intimacy, and there are bonuses when your intimacy is high!"),
+ l("To perform most actions, like feeding and renaming, just right-click it. You can even put it back on the egg if its following gets too annoying. When in the egg, they will not feel hunger."),
+ l("Give your pet a nice name, and keep it healthy, and you'll be a successful pet owner!"),
+ l("Some pets will also collect loot for you, right click on it so it drop whatever it is holding for you."),
+ l("...And if you're still trying to check your pet stats, just hover it with your mouse. Thanks."),
+ l("-- Animals Protection Agency of Hurnscald");
+ } else {
+ mes l("%s", getitemlink(PiouEgg));
+ mesc b(l("Acquisition: ")) + l("Login Bonus");
+ mesc b(l("Food: ")) + getitemlink(Piberries);
+ mesc b(l("Bonus: ")) + l("Loot 10, Luck +2, Luck Dance");
+
+ dnext;
+ mes "";
+ mes l("%s", getitemlink(Ratte));
+ mesc b(l("Acquisition: ")) + l("Unobtanium");
+ mesc b(l("Food: ")) + getitemlink(Cheese);
+ mesc b(l("Bonus: ")) + l("Loot 3, Dex +5");
+
+ dnext;
+ mes "";
+ mes l("%s", getitemlink(DuckEgg));
+ mesc b(l("Acquisition: ")) + l("Grand Hunter Quest");
+ mesc b(l("Food: ")) + getitemlink(CherryCake);
+ mesc b(l("Bonus: ")) + l("Loot 3, Steal +15%, Passive HP Regen (1)");
+
+ dnext;
+ mes "";
+ mes l("%s", getitemlink(FluffyEgg));
+ mesc b(l("Acquisition: ")) + l("Grand Hunter Quest");
+ mesc b(l("Food: ")) + getitemlink(LettuceLeaf);
+ mesc b(l("Bonus: ")) + l("Loot 3, Max MP +250");
+
+ dnext;
+ mes "";
+ mes l("%s", getitemlink(MaggotCocoon));
+ mesc b(l("Acquisition: ")) + l("Grand Hunter Quest");
+ mesc b(l("Food: ")) + getitemlink(BugLeg);
+ mesc b(l("Bonus: ")) + l("Loot 3, Max HP +250");
+
+ dnext;
+ mes "";
+ mes l("%s", getitemlink(BatEgg));
+ mesc b(l("Acquisition: ")) + l("Grand Hunter Quest");
+ mesc b(l("Food: ")) + getitemlink(RoastedMaggot);
+ mesc b(l("Bonus: ")) + l("Loot 3, ASPD +5%");
+
+ dnext;
+ mes "";
+ mes l("%s", getitemlink(ForestShroomEgg));
+ mesc b(l("Acquisition: ")) + l("Grand Hunter Quest");
+ mesc b(l("Food: ")) + getitemlink(Moss);
+ mesc b(l("Bonus: ")) + l("Loot 3, STR +4, AGI +1");
+
+ dnext;
+ mes "";
+ mes l("%s", getitemlink(MoggunEgg));
+ mesc b(l("Acquisition: ")) + l("Grand Hunter Quest");
+ mesc b(l("Food: ")) + getitemlink(MoubooSteak);
+ mesc b(l("Bonus: ")) + l("Loot 3, DEF +5");
+
+ dnext;
+ mes "";
+ mes l("%s", getitemlink(TamedSnakeEgg));
+ mesc b(l("Acquisition: ")) + l("Grand Hunter Quest");
+ mesc b(l("Food: ")) + getitemlink(MoubooSteak);
+ mesc b(l("Bonus: ")) + l("Loot 3, Evasion +7");
+
+ dnext;
+ mes "";
+ mes l("%s", getitemlink(DragonHorn));
+ mesc b(l("Acquisition: ")) + l("Grand Hunter Quest");
+ mesc b(l("Food: ")) + getitemlink(Dragonfruit);
+ mesc b(l("Bonus: ")) + l("Loot 4, Str +1, Gold Drop (4%)");
+
+ dnext;
+ mes "";
+ mes l("%s", getitemlink(BhopEgg));
+ mesc b(l("Acquisition: ")) + l("Easter Top 1 Prize");
+ mesc b(l("Food: ")) + getitemlink(Aquada);
+ mesc b(l("Bonus: ")) + l("Loot 3, Luck +5, Luck Dance, Passive MP Regen (1)");
+
+ dnext;
+ mes "";
+ mes l("%s", getitemlink(DoggyDog));
+ mesc b(l("Acquisition: ")) + l("Valentine Top 1 Prize");
+ mesc b(l("Food: ")) + getitemlink(AnimalBones);
+ mesc b(l("Bonus: ")) + l("Loot 3, STR +5, Vitality Dance, Passive HP Regen (1)");
+
+ dnext;
+ mes "";
+ mes l("%s", getitemlink(CattyCat));
+ mesc b(l("Acquisition: ")) + l("Christmas Top 1 Prize");
+ mesc b(l("Food: ")) + getitemlink(Milk);
+ mesc b(l("Bonus: ")) + l("Loot 3, Agi +5, Agility Dance, Passive MP Regen (1)");
+
+ dnext;
+ mes "";
+ mes l("%s", getitemlink(BlackyCat));
+ mesc b(l("Acquisition: ")) + l("Magic Olympics Top 1 Prize");
+ mesc b(l("Food: ")) + getitemlink(Mashmallow);
+ mesc b(l("Bonus: ")) + l("Loot 3, Int +5, Agi +1");
+
+ dnext;
+ mes "";
+ mes l("%s", getitemlink(PinkieCrystal));
+ mesc b(l("Acquisition: ")) + l("Ultra Rare Drop");
+ mesc b(l("Food: ")) + getitemlink(CherryCake);
+ mesc b(l("Bonus: ")) + l("Loot 3, Agi +5");
+
+ next;
+ mes l("-- Animals Protection Agency of Hurnscald");
+ }
+ return;
+}
+
+- script #Book-Petcaring NPC_HIDDEN,{
+ function read_book {
+ PetcaringBook();
+ close;
+ }
+
+OnShelfUse:
+ @book_name$ = .bookname$;
+ if (openbookshelf ())
+ read_book;
+ close;
+OnUse:
+ @book_name$ = .bookname$;
+ if (openbook ())
+ read_book;
+ close;
+OnInit:
+ .bookname$ = "Fluffy Animals who Love Their Owners";
+ .sex = G_OTHER;
+ .distance = 1;
+ end;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+- script #Book-JGrimorium NPC_HIDDEN,{
+ end;
+
+function myself {
+ // TODO: Save the variables in temp vars
+ // If getarg(1) is not your charid, detach
+ // Then attach the getarg(1) instead
+ // Display then using the temp vars
+ // For scrying, myself(false, .@me)
+ // While still using attachrid
+ .@all = getarg(0, true);
+ .@who = getarg(1, getcharid(3));
+ .@why = getcharid(3);
+ .@adm = is_admin();
+
+ /* Basic Data */
+ detachrid();
+ attachrid(.@who);
+ // No scrying
+ if (GSET_NOSCRY && .@who != .@why && !.@adm) {
+ detachrid();
+ attachrid(.@why);
+ return 1;
+ }
+ // Basic data
+ .@name$ = strcharinfo(0, "error", .@who);
+ .@staff = is_staff();
+ .@sponsor = is_sponsor();
+ .@party$ = (getcharid(1) ? strcharinfo(1) : "");
+ .@guild$ = (getcharid(2) ? strcharinfo(2) : "");
+ .@clan$ = (getcharid(5) ? strcharinfo(4) : "");
+ .@married = getpartnerid();
+ .@legend = islegendary();
+ if (getpetinfo(0)) {
+ .@pet = true;
+ .@pet_name$ = getpetinfo(2);
+ .@pet_type$ = getpetinfo(1);
+ } else {
+ .@pet = false;
+ }
+ if (gethominfo(0)) {
+ .@homun = true;
+ .@hc_name$ = gethominfo(2);
+ } else {
+ .@homun = false;
+ }
+ .@born = #REG_DATE;
+ detachrid();
+ attachrid(.@why);
+
+ mes ".:: " + .@name$ + " ::.";
+ if (.@staff)
+ mesc l("%s is currently a staff member.", .@name$), 3;
+ else if (.@sponsor)
+ mesc l("%s is currently sponsoring the High Alliance.", .@name$), 3;
+ mes "";
+ if (.@party$ != "")
+ mesc l("Party Name: @@", .@party$);
+ if (.@guild$ != "")
+ mesc l("Guild Name: @@", .@guild$);
+ if (.@clan$ != "")
+ mesc l("Clan Name: @@", .@clan$);
+ if (.@married)
+ mesc l("Civil status: Married");
+ else
+ mesc l("Civil status: Single");
+ if (.@legend)
+ mesc l("%s is a legendary hero.", .@name$), 2;
+ if (.@pet)
+ mesc l("Proud owner of %s the %s.", .@pet_name$, .@pet_type$);
+ if (.@homun)
+ mesc l("Proud owner of %s the Homunculus.", .@hc_name$);
+ mesc l("Born %s ago", FuzzyTime(.@born));
+ dnext;
+
+ /* Magic Data */
+ detachrid();
+ attachrid(.@who);
+ .@lvl = MAGIC_LVL;
+ .@rank$ = academicrank();
+ if (.@all) {
+ .@rp$ = fnum(MAGIC_RP);
+ .@sp = sk_points();
+ .@msp = sk_maxpoints();
+ } else {
+ .@rp$ = "?";
+ }
+ detachrid();
+ attachrid(.@why);
+
+ mes ".:: " + l("Magic Status") + " ::.";
+ mesc l("Current magic rank: %d", .@lvl);
+ if (.@all)
+ mesc l("You have @@/@@ magic skill points available.",
+ b(.@sp), .@msp);
+ mesc l("Your current scholar rank: %s (%s Research Points)",
+ .@rank$, .@rp$);
+ if (.@who == .@why)
+ ShowAbizit(true);
+ dnext;
+
+
+ /* Rogue Data */
+ detachrid();
+ attachrid(.@who);
+ .@rank$ = thiefrank();
+ if (.@all) {
+ .@exp = THIEF_EXP;
+ .@rank= THIEF_RANK;
+ }
+ detachrid();
+ attachrid(.@why);
+
+ mes ".:: " + l("Rogue Status") + " ::.";
+ mesc l("Your current rank: %s", .@rank$);
+ if (.@all && .@exp > (.@rank*2)**5)
+ mesc l("An upgrade is available."), 2;
+ dnext;
+
+
+ /* Craft Data */
+ detachrid();
+ attachrid(.@who);
+ .@skill = getskilllv(TMW2_CRAFT);
+ .@score = CRAFTING_SCORE_COMPLETE/40;
+ .@milis = CRAFTING_SCORE_COMPLETE%40*100; // Broken?
+ detachrid();
+ attachrid(.@why);
+
+ mes ".:: " + l("Crafting Status") + " ::.";
+ mesc l("Skill Level: %d", .@skill);
+ mesc l("Crafting Score: %d.%02d", .@score, .@milis);
+ dnext;
+
+
+
+
+ /* Misc Data */
+ detachrid();
+ attachrid(.@who);
+ if (.@all) {
+ .@mpt = Mobpt;
+ .@gp = (Zeny+BankVault);
+ }
+ .@die = PC_DIE_COUNTER;
+ .@reborn = REBIRTH;
+ .@honor = HONOR;
+ .@kills = MONSTERS_KILLED;
+ .@gid = getcharid(2);
+ .@afk_h = AFKING/1200;
+ .@afk_m = AFKING%1200/60*3;
+ detachrid();
+ attachrid(.@why);
+
+ mes ".:: " + l("Miscellaneous Status") + " ::.";
+ if (.@all)
+ mesc l("Monster Points: %s", fnum(.@mpt));
+ mesc l("Times died: %s", fnum(.@die));
+ mesc l("Times reborn: %d", .@reborn);
+ if (.@all)
+ mesc l("Total Gold: %s", fnum(.@gp));
+ mesc l("Honor Points: %s", fnum(.@honor));
+ mesc l("Monsters killed: %s", fnum(.@kills));
+ if (.@gid > 0) {
+ .@pos=getguildrole(.@gid, .@who);
+ mesc l("Current Guild: %s", getguildname(.@gid));
+ mesc l("Guild Master: @@", getguildmaster(.@gid));
+ if (.@all)
+ mesc l("You are the guild's \"%s\", and you contribute with %02d%% EXP.",
+ getguildpostitle(.@gid, .@pos),
+ getguildpostax(.@gid, .@pos));
+ }
+ mesc l("Total time AFK'ed in Tulimshar: %d hours and %d minutes",
+ .@afk_h, .@afk_m);
+ dnext;
+
+
+ /* Records Data */
+ detachrid();
+ attachrid(.@who);
+ .@candor = CRAZYPOINTS;
+ .@bloodbath = gettimetick(2)+SCANDORPTS;
+ .@ctf = CAPTURE_FLAG;
+ .@cod = getq2(LoFQuest_COD);
+ .@merc = MERCENARY_DAILYQUEST;
+ .@udt = UDTRANK;
+ .@egg = getq3(General_EasterEggs);
+ detachrid();
+ attachrid(.@why);
+ mes ".:: " + l("Personal Records") + " ::.";
+ mesc l("Candor Battle Score: %s", fnum(.@candor));
+ mesc l("Candor Bloodbath Score: %s", FuzzyTime(.@bloodbath));
+ mesc l("Times won Capture the Flag: %s", fnum(.@ctf));
+ mesc l("Times won Call of Dusty: %s", fnum(.@cod));
+ mesc l("Mercenary Quests completed: %s", fnum(.@merc));
+ mesc l("Doppelganger Waves Won: %s", fnum(.@udt));
+ mesc l("Easter Eggs found: %d", .@egg);
+ dnext;
+
+
+ /* Feat Data */
+ detachrid();
+ attachrid(.@who);
+ .@yeti = YETIKING_WINNER;
+ .@hh = HEROESHOLD_WINNER;
+ .@reborn = REBIRTH_WINNER;
+ .@quirin = QUIRINO_WINNER;
+ .@gemini = GEMINI_WINNER;
+ .@ghq = GHQ_WINNER;
+ .@doct = EPISODE_WINNER;
+ .@fort = FORT_1ST_VISIT;
+ .@seal = MOUBOOTAUR_WINNER;
+ detachrid();
+ attachrid(.@why);
+ mes ".:: " + l("Personal Feats") + " ::.";
+ if (.@yeti)
+ mesc l("Cleared the Yeti King Challenge %s ago", FuzzyTime(.@yeti));
+ if (.@hh)
+ mesc l("Cleared Heroes Hold %s ago", FuzzyTime(.@hh));
+ if (.@gemini)
+ mesc l("Cleared Gemini Sisters Quest %s ago", FuzzyTime(.@gemini));
+ if (.@reborn)
+ mesc l("First reborn %s ago", FuzzyTime(.@reborn));
+ if (.@quirin)
+ mesc l("Won Quirino Voraz Arena %s ago", FuzzyTime(.@quirin));
+ if (.@ghq)
+ mesc l("First Grand Hunter challenge cleared %s ago", FuzzyTime(.@ghq));
+ if (.@doct)
+ mesc l("Completed The Episode of Ozthokk %s ago", FuzzyTime(.@doct));
+ if (.@fort)
+ mesc l("First visit to Fortress Is. %s ago", FuzzyTime(.@fort));
+ if (.@seal)
+ mesc l("Defeated the Moubootaur (Sealed) %s ago", FuzzyTime(.@seal));
+
+ /* Heroic Data */
+ detachrid();
+ attachrid(.@who);
+ .@candor = (reputation("Candor") >= 100);
+ .@tulim = (reputation("Tulim") >= 100);
+ .@halin = (reputation("Halin") >= 100);
+ .@hurns = (reputation("Hurns") >= 100);
+ .@lof = (reputation("LoF") >= 100);
+ .@nival = (reputation("Nival") >= 100);
+ .@frost = (reputation("Frostia") >= 100);
+ .@forte = (reputation("Fortress") >= 100);
+ detachrid();
+ attachrid(.@why);
+ if (.@candor)
+ mesc l("%s Hero", l("Candor"));
+ if (.@tulim)
+ mesc l("%s Hero", l("Tulimshar"));
+ if (.@halin)
+ mesc l("%s Hero", l("Halinarzo"));
+ if (.@hurns)
+ mesc l("%s Hero", l("Hurnscald"));
+ if (.@lof)
+ mesc l("%s Hero", l("Land Of Fire"));
+ if (.@nival)
+ mesc l("%s Hero", l("Nivalis"));
+ if (.@frost)
+ mesc l("%s Hero", l("Frostia"));
+ if (.@forte)
+ mesc l("%s Hero", l("Fortress Town"));
+ // TODO: Total players invited to ML
+ // TODO: Houses owned
+ // TODO: Times elected
+ // TODO: Admin of how many towns?
+ // TODO: First election won date
+ // TODO: Most used skill
+ // TODO: Remember the position attained on previous events
+ //mes ".:: " + l("Achievements") + " ::.";
+ return 0;
+}
+
+OnScry:
+ if (!countitem(JesusalvaGrimorium) && !is_staff())
+ end;
+ .@w$ = implode(.@atcmd_parameters$, " ");
+ if (.@w$ == "" || .@w$ == "NULL")
+ .@w$ = strcharinfo(0);
+ .@me = getcharid(3);
+ .@id = getcharid(3, .@w$);
+ if (!.@id) {
+ mesc l("The requested char \"%s\" is not online or does not exist.", .@w$), 1;
+ close;
+ }
+ /* attachrid() + mes() is a no-go for this */
+ setnpcdialogtitle sprintf("@scry %s", .@w$);
+ if (myself(is_admin(), .@id)) {
+ mesc l("%s has protected themselves from prying eyes. Your scry attempt failed.", .@w$), 1;
+ }
+ close;
+
+function read_book {
+
+ setnpcdialogtitle l(.book_name$);
+
+ narrator S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("I, second sage of Fate, write this book. The knowledge on it shall guide you to the Secret Of Mana.");
+
+ @menu = 0; // reset for the rif
+
+ do
+ {
+ narrator S_NO_NPC_NAME,
+ l("Please select a chapter:");
+
+ mes "";
+
+ select
+ rif2(1, MAGIC_LVL, l("Ch 1 — Prologue")),
+ rif2(2, MAGIC_EXP, l("Ch 2 — About Magic Skills")),
+ rif2(3, MAGIC_LVL, l("Ch 3 — Status Ailments")),
+ rif2(4, true, l("Ch 4 — Information About You")),
+ rif2(5, true, l("Ch 5 — Information About Others")),
+ rif2(6, true, l("Open Fishing Book")),
+ rif2(7, true, l("Open Petcaring Book")),
+ rif2(8, getq(LoFQuest_Pets), l("List of Unlocked Pets and Food")),
+ rif2(9, CRAFTQUEST, l("Open Recipe Book")),
+ rif2(10, true, l("Read Rules")),
+ l("Close");
+ mes "";
+
+ switch(@menu)
+ {
+ case 1:
+ mesc l("You have @@/@@ magic skill points available.", b(sk_points()), sk_maxpoints());
+ mesc l("Your current scholar rank: %s (%d Research Points)",
+ academicrank(), fnum(MAGIC_RP));
+ next;
+ narrator S_LAST_NEXT,
+ l("Mana is something which existed since the being, but nobody knows much about."),
+ l("This book will write itself, and reveal you the Secret Of Mana."),
+ l("Give it time, increase your magic power, and you'll find out the truth."),
+ l("You are a @@º degree mage. This book allows you many new possibilities.", MAGIC_LVL);
+ break;
+ case 2:
+ narrator S_LAST_NEXT,
+ l("Re-casting the same magic spell or skill won't give you magic experience."),
+ l("Summoning and Homunculus (H) skills can be raised from skill window directly.");
+ // TODO: We could show you all the skills via loop? Meh
+
+ ShowAbizit(true);
+ next;
+ break;
+ case 3:
+ mes l("There are several minor status conditions, which may buff or debuff you.");
+ mes l("An example is dec agi, which lowers your agility.");
+ mes l("The most aggressive and main ones are:");
+ next;
+ mesf("##B%s##b - %s", l("Blind"), l("Acc. and Evade -25%%"));
+ mesf("##B%s##b - %s", l("Burning"), l("Damage over time, MDF -25%%"));
+ mesf("##B%s##b - %s", l("Curse"), l("ATK = 25%%, LUK = 0, Slow down"));
+ mesf("##B%s##b - %s", l("Freeze"), l("Can't move, DEF-, no evade, Water element"));
+ mesf("##B%s##b - %s", l("Poison"), l("DEF-, Damage over time, no MP regen"));
+ mesf("##B%s##b - %s", l("Silence"), l("Can't use skills"));
+ mesf("##B%s##b - %s", l("Sleep"), l("Can't move nor attack, crit def -100%"));
+ mesf("##B%s##b - %s", l("Stone"), l("Can't move, DEF-, Damage over time, Earth element"));
+ mesf("##B%s##b - %s", l("Stun"), l("Can't move nor evade."));
+ next;
+ mes l("There are also less common ailments:");
+ next;
+ mesf("##B%s##b - %s", l("Bleed"), l("Lethal damage over time, no regen."));
+ mesf("##B%s##b - %s", l("Confuse"), l("Random movement and extra desync"));
+ mesf("##B%s##b - %s", l("Cold"), l("Total slow down, DEF-, may freeze"));
+ mesf("##B%s##b - %s", l("Deadly Poison"), l("Lower MAXHP, Damage over time"));
+ mesf("##B%s##b - %s", l("Deep Sleep"), l("Can't chat, recover HP over time"));
+ mesf("##B%s##b - %s", l("Fear"), l("Can't move, Acc. and Evade -20%%"));
+ next;
+ break;
+ case 4:
+ myself();
+ break;
+ case 5:
+ mesc l("You can scry other players with: %s", b("@scry"));
+ mesc l("To scry Jesusaves, for example, you would do:");
+ mes b("@scry Jesusaves");
+ mes "";
+ mesc l("- Players can prevent being scry'ed with %s", b("@ucp"));
+ mesc l("- Some information like money won't be available.");
+ mesc l("- Target player must be online.");
+ next;
+ break;
+ case 6:
+ FishingBook();
+ break;
+ case 7:
+ PetcaringBook();
+ break;
+ case 8:
+ mesf(".:: %s ::.", l("Grand Hunter Quest"));
+ if (PDQ_CheckGHQ(Maggot) >= 10000)
+ mesf("%s - %s",
+ getmonsterlink(Maggot), getitemlink(BugLeg));
+ if (PDQ_CheckGHQ(ForestMushroom) >= 10000)
+ mesf("%s - %s",
+ getmonsterlink(ForestMushroom), getitemlink(Moss));
+ if (PDQ_CheckGHQ(Fluffy) >= 10000)
+ mesf("%s - %s",
+ getmonsterlink(Fluffy), getitemlink(LettuceLeaf));
+ if (PDQ_CheckGHQ(Duck) >= 10000)
+ mesf("%s - %s",
+ getmonsterlink(Duck), getitemlink(CherryCake));
+ if (PDQ_CheckGHQ(Bat) >= 10000)
+ mesf("%s - %s",
+ getmonsterlink(Bat), getitemlink(RoastedMaggot));
+ if (PDQ_CheckGHQ(Moggun) >= 10000)
+ mesf("%s - %s",
+ getmonsterlink(Moggun), getitemlink(MoubooSteak));
+ if (#LOGIN_ALLTIME >= 6)
+ mesf("%s - %s",
+ getmonsterlink(Piou), getitemlink(Piberries));
+ next;
+ mesf(".:: %s ::.", l("Special Event Pets"));
+ if (countitem(Ratte))
+ mesf("%s - %s",
+ getmonsterlink(Ratto), getitemlink(Cheese));
+ if (countitem(BhopEgg))
+ mesf("%s - %s",
+ getmonsterlink(BhopFluffy), getitemlink(Aquada));
+ if (countitem(DoggyDog))
+ mesf("%s - %s",
+ getmonsterlink(Toto), getitemlink(AnimalBones));
+ if (countitem(CattyCat))
+ mesf("%s - %s",
+ getmonsterlink(WhiteCat), getitemlink(Milk));
+ if (countitem(BlackyCat))
+ mesf("%s - %s",
+ getmonsterlink(BlackCat), getitemlink(Mashmallow));
+ next;
+ break;
+ case 9:
+ closeclientdialog;
+ doevent("#RecipeBook::OnUse");
+ end;
+ break;
+ case 10:
+ GameRules();
+ break;
+ default:
+ close;
+ }
+ } while (true);
+
+ end;
+}
+
+OnShelfUse:
+ if (openbookshelf())
+ read_book;
+ bye;
+
+OnUse:
+ read_book;
+ bye;
+
+OnInit:
+ .book_name$ = getitemname(JesusalvaGrimorium);
+ .sex = G_OTHER;
+ .distance = 1;
+ bindatcmd "scry", "#Book-JGrimorium::OnScry", 0, 0, 0;
+ end;
+}
+
diff --git a/npc/items/croconut.txt b/npc/items/croconut.txt
new file mode 100644
index 0000000..eececb0
--- /dev/null
+++ b/npc/items/croconut.txt
@@ -0,0 +1,78 @@
+// Evol scripts.
+// Authors:
+// 4144
+// Reid
+// Jesusalva
+// Description:
+// Allows to break a Croconut into multiple parts.
+
+- script Croconut NPC_HIDDEN,{
+ close;
+
+OnUse:
+ mesc l("Do you want to break open this %s?", getitemlink(Croconut));
+
+ select
+ l("Yes."),
+ l("No.");
+ mes "";
+ closeclientdialog;
+ switch (@menu) {
+ case 1:
+ goto L_Weapon;
+ case 2:
+ getitem Croconut, 1;
+ close;
+ }
+ close;
+
+L_Weapon:
+ .@r=rand2(1,5);
+ switch (.@r) {
+ case 1:
+ case 2:
+ case 3:
+ goto L_TooWeak; break;
+ case 4:
+ goto L_Weak; break;
+ case 5:
+ goto L_Good; break;
+ }
+
+L_TooWeak:
+ // Croconuts do not heal much. So opening them without fail should be possible at relatively low strength levels.
+ .@q = rand2(5);
+ if (readparam2(bStr) > 10)
+ .@q = .@q + 1;
+ if (readparam2(bStr) > 25)
+ .@q = .@q + 1;
+ if (readparam2(bStr) > 35)
+ .@q = .@q + 1;
+
+ if (.@q == 0) goto L_TooWeakLost;
+ if ( (.@q == 1) || (.@q == 2) ) goto L_TooWeakFail;
+ if ( (.@q >= 3) && (.@q <= 6) ) goto L_Weak;
+ if ( (.@q > 6) ) goto L_Good;
+
+L_TooWeakLost:
+ dispbottom l("Oops! You destroyed your %s.", getitemlink(Croconut));
+ close;
+
+L_TooWeakFail:
+ dispbottom l("Well... you did not succeed in opening this %s.", getitemlink(Croconut));
+
+ getitem Croconut, 1;
+ close;
+
+L_Weak:
+ dispbottom l("You broke the %s into two parts, but you crushed one of them.", getitemlink(Croconut));
+
+ getitem HalfCroconut, 1;
+ close;
+
+L_Good:
+ dispbottom l("You perfectly cut your %s into two edible parts.", getitemlink(Croconut));
+
+ getitem HalfCroconut, 2;
+ close;
+}
diff --git a/npc/items/emptybox.txt b/npc/items/emptybox.txt
new file mode 100644
index 0000000..2f676b1
--- /dev/null
+++ b/npc/items/emptybox.txt
@@ -0,0 +1,54 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Allows to create your own fish/plushroom/croconut box
+
+- script Empty Box#it NPC_HIDDEN,{
+ close;
+
+OnUse:
+ mesn;
+ mesc l("You can fill this box with the following items:");
+ mesc l("- @@ @@", 7, getitemlink(GrassCarp));
+ mesc l("- @@ @@", 8, getitemlink(Croconut));
+ mesc l("- @@ @@", 20, getitemlink(CommonCarp));
+ mesc l("- @@ @@", 87, getitemlink(Plushroom));
+ mes "";
+ mesc l("Fill with what?");
+ select
+ l("Don't fill"),
+ rif(countitem(GrassCarp) >= 7, l("7 Grass Carps")),
+ rif(countitem(Croconut) >= 8, l("8 Croconuts")),
+ rif(countitem(CommonCarp) >= 20, l("20 Common Carps")),
+ rif(countitem(Aquada) >= 50, l("50 Aquadas")),
+ rif(countitem(Plushroom) >= 87, l("87 Plushrooms"));
+ mes "";
+ switch (@menu) {
+ case 2:
+ delitem GrassCarp, 7;
+ getitem FishBox, 1;
+ break;
+ case 3:
+ delitem Croconut, 8;
+ getitem CroconutBox, 1;
+ break;
+ case 4:
+ delitem CommonCarp, 20;
+ getitem FishBox, 1;
+ break;
+ case 5:
+ delitem Aquada, 50;
+ getitem AquadaBox, 1;
+ break;
+ case 6:
+ delitem Plushroom, 87;
+ getitem PlushroomBox, 1;
+ break;
+ default:
+ getitem EmptyBox, 1;
+ }
+ delitem EmptyBox, 1;
+ closedialog;
+ close;
+}
diff --git a/npc/items/grenade.txt b/npc/items/grenade.txt
new file mode 100644
index 0000000..96d952c
--- /dev/null
+++ b/npc/items/grenade.txt
@@ -0,0 +1,122 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Grenades workaround
+
+// grenade(range, damage - in 0.01%, flag) - defaults to 3x3 square, with 5% damage.
+// If flag is set, damage will be deemed to be absolute values.
+function script grenade {
+ .@r=getarg(0, 3);
+ .@d=getarg(1, 500);
+ .@f$=getarg(2, "filter_notboss");
+
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@c=getunits(BL_MOB, .@mbs, false, .@m$, .@x-.@r, .@y-.@r, .@x+.@r, .@y+.@r);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ .@hp=getunitdata(.@mbs[.@i], UDT_HP);
+ .@dm=max(1, .@hp*(10000-.@d)/10000);
+ if (getarg(2, false))
+ .@dm=max(1, .@hp-.@d);
+ if (callfunc(.@f$)) {
+ //debugmes "Hitting monster (%d hp) for %d damage", .@hp, .@dm;
+ setunitdata(.@mbs[.@i], UDT_HP, .@dm);
+ specialeffect(FX_ATTACK, AREA, .@mbs[.@i]);
+ }
+ }
+ return;
+}
+
+// areasc(range, time, sc, bl, value, filter, target, chances)
+// Defaults to 3x3 square, sleep mob for 500ms. Ignores you.
+// Centered on player attached, 100% success chance
+// Need a player caster. Valid BL: BL_MOB | BL_PC | BL_HOM | BL_MER
+function script areasc {
+ .@r=getarg(0, 3);
+ .@d=getarg(1, 500);
+ .@s=getarg(2, SC_SLEEP);
+ .@b=getarg(3, BL_MOB);
+ .@val=getarg(4, 1);
+ .@f$=getarg(5, "filter_notme");
+ .@t=getarg(6, playerattached());
+ .@sr=getarg(7, 10000);
+
+ getmapxy(.@m$, .@x, .@y, getunittype(.@t), .@t);
+ .@c=getunits(.@b, .@mbs, false, .@m$, .@x-.@r, .@y-.@r, .@x+.@r, .@y+.@r);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ // Filtering
+ if (!callfunc(.@f$, .@mbs[.@i]))
+ continue;
+ sc_start .@s, .@d, .@val, .@sr, SCFLAG_NONE, .@mbs[.@i];
+ specialeffect(FX_BUFF, AREA, .@mbs[.@i]);
+ }
+ return;
+}
+
+// areasc2(map, x, y, {range, time, sc, bl, value, filter}) - can be used by NPC
+// Valid BL: BL_MOB | BL_PC | BL_HOM | BL_MER
+function script areasc2 {
+ .@m$=getarg(0);
+ .@x=getarg(1);
+ .@y=getarg(2);
+ .@r=getarg(3, 3);
+ .@d=getarg(4, 500);
+ .@s=getarg(5, SC_SLEEP);
+ .@b=getarg(6, BL_MOB);
+ .@val=getarg(7, 1);
+ .@f$=getarg(8, "filter_always");
+
+ .@c=getunits(.@b, .@mbs, false, .@m$, .@x-.@r, .@y-.@r, .@x+.@r, .@y+.@r);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ // Filtering
+ if (!callfunc(.@f$, .@mbs[.@i]))
+ continue;
+ sc_start .@s, .@d, .@val, 10000, SCFLAG_NONE, .@mbs[.@i];
+ specialeffect(FX_BUFF, AREA, .@mbs[.@i]);
+ }
+ return;
+}
+
+// areasc3(range, time, sc, bl, val1, val2, filter)
+// Defaults to 3x3 square, sleep mob for 500ms. Ignores you.
+// Need a player caster. Valid BL: BL_MOB | BL_PC | BL_HOM | BL_MER
+function script areasc3 {
+ .@r=getarg(0, 3);
+ .@d=getarg(1, 500);
+ .@s=getarg(2, SC_SLEEP);
+ .@b=getarg(3, BL_MOB);
+ .@v1=getarg(4, 1);
+ .@v2=getarg(5, 1);
+ .@f$=getarg(6, "filter_notme");
+
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@c=getunits(.@b, .@mbs, false, .@m$, .@x-.@r, .@y-.@r, .@x+.@r, .@y+.@r);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ // Filtering
+ if (!callfunc(.@f$, .@mbs[.@i]))
+ continue;
+ sc_start2 .@s, .@d, .@v1, .@v2, 10000, SCFLAG_NONE, .@mbs[.@i];
+ specialeffect(FX_BUFF, AREA, .@mbs[.@i]);
+ }
+ return;
+}
+
+// massprovoke(range, {map, x, y}) - player only
+function script massprovoke {
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@r=getarg(0, 3);
+ .@m$=getarg(1, .@m$);
+ .@x=getarg(2, .@x);
+ .@y=getarg(3, .@y);
+
+ .@c=getunits(BL_MOB, .@mbs, false, .@m$, .@x-.@r, .@y-.@r, .@x+.@r, .@y+.@r);
+ for (.@i = 0; .@i < .@c; .@i++) {
+ //sc_start .@s, .@d, 1, 10000, SCFLAG_NONE, .@mbs[.@i];
+ aggravate .@mbs[.@i];
+ specialeffect(FX_MAGIC, AREA, .@mbs[.@i]);
+ }
+ return;
+}
+
+// TODO: Maybe we could use areasc() with a special check
+// To force the implementation of guild skills... (Yet another script based)
diff --git a/npc/items/inc_sc_bonus.txt b/npc/items/inc_sc_bonus.txt
new file mode 100644
index 0000000..8e6b6e5
--- /dev/null
+++ b/npc/items/inc_sc_bonus.txt
@@ -0,0 +1,72 @@
+// TMW-2 Script.
+// Author:
+// Jesusalva
+// Description:
+// Applies effects for INC_* (STR doesn't exist)
+// Valid values: INCAGI INCVIT INCINT INCDEX INCLUK INCHIT INCFLEE SC_FURY
+// Doesn't works: SC_STRUP
+// Works if .@min == .@max: INCMHP INCMHPRATE INCMSP INCMSPRATE
+/// Untested Values: WALKSPEED (reverse logic) INVINCIBLE (broken)
+// PS. SC_FURY causes crit rate to increase
+//
+// Variables:
+// .@delay Second of buffing
+// .@type SC_*
+// .@min Min amount of type
+// .@max Max amount of type (optional)
+
+// SC_Bonus(delay, SC, min{, max})
+function script SC_Bonus {
+ .@delay=getarg(0);
+ .@type=getarg(1);
+ .@min=getarg(2);
+ .@max=getarg(3, .@min);
+ if (.@delay <= 0)
+ return false;
+
+ // Get the bonus value
+ if (.@min != .@max)
+ .@bonus=rand2(.@min, .@max);
+ else
+ .@bonus=.@min;
+
+ // Remaining time and effect conversion
+ .@v=getstatus(.@type, 1);
+ .@t=getstatus(.@type, 5);
+
+ // Convert remaining time to seconds, rounded down
+ if (.@t > 1000)
+ .@t=.@t/1000;
+ else
+ .@t=0;
+
+ // If there was effect previously, get ponderate average
+ if (.@v > 0)
+ .@v=ponderate_avg(.@bonus, .@delay, .@v, .@t);
+ else
+ .@v=.@bonus;
+
+ // Update time value to ms and to stack
+ .@t+=.@delay;
+ .@t*=1000;
+
+ // Debug print if needed
+ if (debug || $@GM_OVERRIDE)
+ debugmes "Effect %d (+%d percent) for %d ms", .@type, .@bonus, .@t;
+
+ // Restart the bonus
+ sc_end .@type;
+ sc_start .@type,.@t,.@v;
+ return true;
+}
+
+- script inc_sc_bonus -1,{
+OnUse:
+ SC_Bonus(@delay, @type, @min, @max);
+ @delay=0;
+ @type=0;
+ @min=0;
+ @max=0;
+ end;
+}
+
diff --git a/npc/items/legacy_heal.txt b/npc/items/legacy_heal.txt
new file mode 100644
index 0000000..2beb820
--- /dev/null
+++ b/npc/items/legacy_heal.txt
@@ -0,0 +1,79 @@
+// TMW-2 Script.
+// Evol scripts.
+// Author:
+// Reid
+// Jesusalva
+// Description:
+// Legacy Healing System
+//
+// Variables:
+// @delay Second of healing
+// @min Min amount of healing
+// @max Max amount of healing
+//
+// *getequipoption(EQI_HEAD_TOP,1,168); → Heal Bonus (should be first bonus on Chef Hat)
+
+
+// ItHeal(delay, min, {max=min})
+function script ItHeal {
+ .@delay=getarg(0, @delay);
+ .@min=getarg(1, @min);
+ .@max=getarg(2, (@max ? @max : .@min));
+
+ if (.@delay <= 0) {
+ Exception("Invalid legacy healing item, deleting without healing effect.");
+ end;
+ }
+
+ // Decide the healing bonus type. We have four types: S, L, G and M
+ // By default, we use 'S'
+ .@skill = SC_S_LIFEPOTION;
+
+ // Vitality can improve the healing amount
+ .@min = min(.@max, .@min + (.@min * readparam2(bVit) / 100));
+ .@max = .@max + (.@max * readparam2(bVit) / 240);
+
+ // Obtain the real healing
+ @val1 = rand2(.@min, .@max) / .@delay;
+ //debugmes "Heal %d-%d/%d = %d", .@min, .@max, .@delay, @val1;
+
+ .@delay *= 1000; // Put the delay in ms
+
+ // We now have @val1 (new effect), @delay (new delay)
+ // But do we have .@v and .@d (old effect and delay)?
+ .@v=getstatus(.@skill, 1);
+ .@d=getstatus(.@skill, 4) * 1000;
+
+ // If there WAS an effect previously, get ponderate average
+ // Note: never use double-precision ponderate averages
+ if (.@v > 0) {
+ @val1=ponderate_avg(@val1, .@delay, .@v, .@d);
+ // Overflow and Underflow protection
+ if (.@delay+.@d < .@delay*5 && .@d > 0)
+ .@delay=.@delay+.@d;
+ //.@delay=ponderate_avg(.@delay, @val1, .@d, .@v);
+ }
+
+ // Apply the effect and finish
+ sc_end .@skill;
+ sc_start2 .@skill, .@delay, @val1, 1;
+
+ // @val1 must be preserved for cross-reading
+ @delay=0;
+ @min=0;
+ @max=0;
+ // @val1=0;
+ return;
+}
+
+- script legacy_heal -1,{
+
+OnUse:
+ if (@delay <= 0) {
+ Exception("Invalid legacy healing item, deleting without healing effect.");
+ end;
+ }
+
+ ItHeal(@delay, @min, @max);
+ end;
+}
diff --git a/npc/items/lofteleporter.txt b/npc/items/lofteleporter.txt
new file mode 100644
index 0000000..9952d72
--- /dev/null
+++ b/npc/items/lofteleporter.txt
@@ -0,0 +1,123 @@
+// TMW2 scripts.
+// Authors:
+// Pyndragon
+// Jesusalva
+// Description:
+// Hand Teleporter (also saves coordinates - @memo)
+
+- script LoF Teleporter NPC_HIDDEN,{
+ close;
+
+ // Checks if you can warp
+ function loftel_check {
+ getmapxy(.@m$, .@x, .@y, 0);
+ .@is_hurt=(readparam(Hp) < readparam(MaxHp)*9/10); // <90% hp
+ .@is_town=(getmapflag(.@m$, mf_town));
+ return (.@is_hurt && !.@is_town);
+ }
+
+ // Calculate time remaining
+ // (time, .@x)
+ function loftel_time {
+ return gettimetick(2)+max((60*getarg(0))-(getarg(1)*60), 30);
+ }
+
+L_Cooldown:
+ mesn;
+ mesc l("This teleporter is currently recharging.");
+ mesc l("You can use it again in @@.", FuzzyTime(TELEPORTER_TIME));
+ close;
+
+OnUse:
+ if (TELEPORTER_TIME > gettimetick(2))
+ goto L_Cooldown;
+ if (readparam(Hp) < readparam(MaxHp)) {
+ dispbottom l("You are hurt, and cannot use this.");
+ end;
+ }
+ if (BaseLevel < 20) {
+ dispbottom l("This is too powerful to you. Get level 20 before attempting to use.");
+ end;
+ }
+
+ mesn;
+ mesc l("Ozthokk, a great sage from the Land Of Fire, holds secrets of time and space travel.");
+ mesc l("This is not magic, it is science!");
+ mes "";
+ mesc l("PS. Additional reagents may be required for warps.");
+ next;
+
+ .@x=(reputation("LoF")/10)+min(15, countitem(TimeFlask)-1); // up to 10 minutes reduction from quests, and 15 from time flasks
+
+ select
+ l("Don't warp"),
+ l("Land Of Fire Village (@@m)", 35-.@x),
+ l("Tulimshar (@@m)", 35-.@x),
+ rif(TELEPORTERS & TP_FROST, l("Frostia (@@m)", 120-.@x)),
+ rif(TELEPORTERS & TP_HALIN, l("Halinarzo (@@m)", 120-.@x)),
+ rif(TELEPORTERS & TP_LILIT, l("Lilit (@@m)", 150-.@x)),
+ rif(GSET_SOULMENHIR_MANUAL, l("Save Point (@@m)", 30-.@x)),
+ rif(getq(LoFQuest_EPISODE) >= 15, l("200 years ago, The Great Fire (%dm)", 360-(.@x*2)));
+
+ if (@menu == 1)
+ close;
+
+ switch (@menu) {
+ case 1:
+ }
+ if (loftel_check()) {
+ dispbottom l("You are hurt, and cannot use this.");
+ }
+ sshake();
+ switch (@menu) {
+ case 2:
+ warp "017-1", 120, 89;
+ TELEPORTER_TIME=loftel_time(35, .@x);
+ EnterTown("LoF");
+ @timer_navio_running=0;
+ break;
+ case 3:
+ warp "003-1", 41, 49;
+ TELEPORTER_TIME=loftel_time(35, .@x);
+ EnterTown("Tulim");
+ @timer_navio_running=0;
+ break;
+ case 4:
+ warp "024-1", 155, 82;
+ TELEPORTER_TIME=loftel_time(120, .@x);
+ EnterTown("Frostia");
+ @timer_navio_running=0;
+ break;
+ case 5:
+ warp "009-1", 113, 91;
+ TELEPORTER_TIME=loftel_time(120, .@x);
+ EnterTown("Halin");
+ @timer_navio_running=0;
+ break;
+ case 6:
+ warp "018-5", 111, 53;
+ TELEPORTER_TIME=loftel_time(150, .@x);
+ EnterTown("Lilit");
+ @timer_navio_running=0;
+ break;
+ case 7:
+ TELEPORTER_TIME=loftel_time(30, .@x);
+ //EnterTown("Save");
+ teleporthome();
+ @timer_navio_running=0;
+ break;
+ case 8:
+ //atcommand("@block "+strcharinfo(0));
+ // Reset your bank savings (temporary)
+ #MerchantBank+=BankVault;
+ BankVault=0;
+ setq2 LoFQuest_EPISODE, 0;
+ setq3 LoFQuest_EPISODE, 0;
+ warp "032-1", 23, 25;
+ TELEPORTER_TIME=loftel_time(360, .@x*2);
+ @timer_navio_running=0;
+ break;
+ }
+ closedialog;
+ end;
+}
diff --git a/npc/items/maps.txt b/npc/items/maps.txt
new file mode 100644
index 0000000..cb9b418
--- /dev/null
+++ b/npc/items/maps.txt
@@ -0,0 +1,17 @@
+// TMW2 Script.
+// Authors:
+// Jesusalva
+// Description:
+// World Map Items
+
+function script wmap {
+ .@loc$=getarg(0, LOCATION$);
+ setnpcdialogtitle l("World Map - @@", l(.@loc$));
+ setskin "map_"+.@loc$;
+ mes "Please keep your ManaPlus updated.";
+ select("Ok");
+ setskin "";
+ closeclientdialog;
+ return;
+}
+
diff --git a/npc/items/mercenary.txt b/npc/items/mercenary.txt
new file mode 100644
index 0000000..140d388
--- /dev/null
+++ b/npc/items/mercenary.txt
@@ -0,0 +1,150 @@
+// TMW2 scripts.
+// Authors:
+// Jesusalva
+// Description:
+// Core functions for Mercenary boxset
+
+// Main loop
+// merc_boxset(5★, 4★, 3★, 2★, 1★)
+function script merc_boxset {
+ .@s5=getarg(0,0);
+ .@s4=getarg(1,0);
+ .@s3=getarg(2,0);
+ .@s2=getarg(3,0);
+ .@s1=getarg(4,0);
+
+ .@sumup=.@s5+.@s4+.@s3+.@s2+.@s1;
+ /* I wonder if this is needed...?
+ .@s4+=.@s5;
+ .@s3+=.@s4;
+ .@s2+=.@s3;
+ .@s1+=.@s2;
+ */
+
+ // Make the seed. More level and luck increases odds of higher rarity
+ .@seed=max(0, rand(0, .@sumup)-BaseLevel-readparam(bLuk));
+
+ // 5 ★
+ if (.@seed < .@s5) {
+ setarray .@r, MercCard_AndreiSakar, MercCard_Woody, MercCard_Lilanna, MercCard_Xanthem;
+ .@n=any_of(.@r);
+ // 4 ★
+ } else if (.@seed < .@s4) {
+ setarray .@r, MercCard_Aisen, MercCard_Msawis, MercCard_Swezanne, MercCard_DragonStar;
+ .@n=any_of(.@r);
+ // 3 ★
+ } else if (.@seed < .@s3) {
+ setarray .@r, MercCard_Saulc, MercCard_Crazyfefe, MercCard_LawnCable, MercCard_Arthur;
+ .@n=any_of(.@r);
+ // 2 ★
+ } else if (.@seed < .@s2) {
+ setarray .@r, MercCard_Pookie, MercCard_Jesusalva, MercCard_Demure, MercCard_EarthWitch;
+ .@n=any_of(.@r);
+ // 1 ★
+ } else {
+ setarray .@r, MercCard_Apane, MercCard_Soren, MercCard_GonzoDark, MercCard_Rosa;
+ .@n=any_of(.@r);
+ }
+
+ getitem .@n, 1;
+ return;
+}
+
+/*
+// Setup a merc_boxset based on level (TODO)
+function script cond_mercboxset {
+ return;
+}
+*/
+
+// Get mercenary ID
+// merc_randid(5★, 4★, 3★, 2★, 1★)
+function script merc_randid {
+ .@s5=getarg(0,0);
+ .@s4=getarg(1,0);
+ .@s3=getarg(2,0);
+ .@s2=getarg(3,0);
+ .@s1=getarg(4,0);
+
+ .@sumup=.@s5+.@s4+.@s3+.@s2+.@s1;
+ /* I wonder if this is needed...?
+ .@s4+=.@s5;
+ .@s3+=.@s4;
+ .@s2+=.@s3;
+ .@s1+=.@s2;
+ */
+
+ // Make the seed. More level and luck increases odds of higher rarity
+ .@seed=max(0, rand(0, .@sumup)-BaseLevel-readparam(bLuk));
+
+ // 5 ★
+ if (.@seed < .@s5) {
+ setarray .@r, 1192, 1191, 1193, 1210;
+ .@n=any_of(.@r);
+ // 4 ★
+ } else if (.@seed < .@s4) {
+ setarray .@r, 1194, 1195, 1209, 1205;
+ .@n=any_of(.@r);
+ // 3 ★
+ } else if (.@seed < .@s3) {
+ setarray .@r, 1196, 1197, 1198, 1208;
+ .@n=any_of(.@r);
+ // 2 ★
+ } else if (.@seed < .@s2) {
+ setarray .@r, 1200, 1201, 1199, 1207;
+ .@n=any_of(.@r);
+ // 1 ★
+ } else {
+ setarray .@r, 1203, 1204, 1202, 1206;
+ .@n=any_of(.@r);
+ }
+
+ //debugmes "Return: %d ([%d, %d, %d])", .@n, .@r[0], .@r[1], .@r[2];
+ return .@n;
+}
+
+// Read the card and return its rarity
+// merc_getstar(card)
+function script merc_getstar {
+ switch (getarg(0)) {
+ case MercBoxE:
+ case MercBoxEE:
+ case MercCard_AndreiSakar:
+ case MercCard_Lilanna:
+ case MercCard_Woody:
+ case MercCard_Xanthem:
+ return 5;
+ case MercBoxD:
+ case MercBoxDD:
+ case MercCard_Aisen:
+ case MercCard_Msawis:
+ case MercCard_DragonStar:
+ case MercCard_Swezanne:
+ return 4;
+ case MercBoxC:
+ case MercBoxCC:
+ case MercCard_Saulc:
+ case MercCard_Crazyfefe:
+ case MercCard_LawnCable:
+ case MercCard_Arthur:
+ return 3;
+ case MercBoxB:
+ case MercBoxBB:
+ case MercCard_Pookie:
+ case MercCard_Jesusalva:
+ case MercCard_Demure:
+ case MercCard_EarthWitch:
+ return 2;
+ case MercBoxA:
+ case MercBoxAA:
+ case MercCard_Apane:
+ case MercCard_Soren:
+ case MercCard_GonzoDark:
+ case MercCard_Rosa:
+ return 1;
+ default:
+ return 0;
+ }
+ return -1;
+}
+
diff --git a/npc/items/miscrecipes.txt b/npc/items/miscrecipes.txt
new file mode 100644
index 0000000..275d5b0
--- /dev/null
+++ b/npc/items/miscrecipes.txt
@@ -0,0 +1,93 @@
+// TMW-2 script.
+// Author:
+// Jesusalva
+// Description:
+// More specific Recipe Books in TMW2
+
+// callfunc("TerraniteBlueprint")
+function script TerraniteBlueprint {
+ // Lucky roll (0.25%)
+ if (rand2(2500) < 1) {
+ getitem AncientBlueprint, 1;
+ dispbottom l("Wait a minute... This is written in Mananese! I can't read it!");
+ return;
+ }
+
+ // Setup
+ array_push(.@recipes, CraftRockKnife); // Weapon: Rock Knife
+ array_push(.@recipes, CraftTerraniteArmor); // TerraniteArmor
+ array_push(.@recipes, CraftTerranitePants); // TerranitePants
+ array_push(.@recipes, CraftTerraniteHelmet); // TerraniteHelmet
+ //array_push(.@recipes, CraftTerranite); // TerraniteGloves (?)(X)(TODO)
+ //array_push(.@recipes, CraftTerranite); // TerraniteBoots (?)(X)(TODO)
+
+ // Now you'll learn some recipe!
+ .@rcp=any_of(.@recipes);
+
+ // Double precision failsafe
+ if (RECIPES_EQUIPMENT[.@rcp])
+ .@rcp=any_of(.@recipes);
+
+ // Maybe you already knew it?
+ if (RECIPES_EQUIPMENT[.@rcp]) {
+ .@mpot=rand2(2000, 5000);
+ dispbottom l("It was a recipe you already knew... (+ @@ Mobpt)", .@mpot);
+ getexp (BaseLevel+JobLevel)*rand2(1,.@rarity), JobLevel+rand2(1,.@rarity);
+ // Give you some Monster Points to use with Intense Beard
+ // You do NOT need to be registered with Aidan for this.
+ Mobpt+=.@mpot;
+ } else {
+ dispbottom l("Learned a new recipe!");
+ RECIPES_EQUIPMENT[.@rcp]=true;
+ }
+ return;
+}
+/////////////////////////////////////////////////////////////////////////////////
+
+// callfunc("LegendaryBlueprint")
+function script LegendaryBlueprint {
+ // Unlucky roll (0.25%)
+ if (rand2(2500) < 1) {
+ getitem AncientBlueprint, 1;
+ dispbottom l("Wait a minute... This is written in Mananese! I can't read it!");
+ return;
+ }
+ // Current: 3x Mylarin & 2x Sunny Crystal (can be cheated for 2)
+ // Needed: 3x Mylarin & 2x Sunny Crystal
+
+ // Setup
+ array_push(.@recipes, CraftSkypiercer); // Weapon: Sky Piercer
+ array_push(.@recipes, CraftSaviorShield); // Shield: Savior Shield
+ array_push(.@recipes, CraftSaviorArmor); // Savior Armor
+ //array_push(.@recipes, CraftSaviorPants); // Savior Pants
+ array_push(.@recipes, CraftSaviorBoots); // Savior Boots
+ array_push(.@recipes, CraftSaviorHelmet); // Savior Helmet
+ //array_push(.@recipes, CraftSavior); // Savior Gloves (?)(X)
+
+ // Now you'll learn some recipe!
+ .@rcp=any_of(.@recipes);
+
+ // Double precision failsafe
+ if (RECIPES_EQUIPMENT[.@rcp])
+ .@rcp=any_of(.@recipes);
+
+ // Triple precision failsafe
+ if (RECIPES_EQUIPMENT[.@rcp])
+ .@rcp=any_of(.@recipes);
+
+ // Maybe you already knew it?
+ if (RECIPES_EQUIPMENT[.@rcp]) {
+ .@mpot=rand2(40000, 80000);
+ dispbottom l("It was a recipe you already knew... (+ @@ Mobpt)", .@mpot);
+ getexp rand(100000, 200000), rand(10000, 25000);
+ // Give you some Monster Points to use with Intense Beard
+ // You do NOT need to be registered with Aidan for this.
+ Mobpt+=.@mpot;
+ } else {
+ dispbottom l("Learned a new recipe!");
+ RECIPES_EQUIPMENT[.@rcp]=true;
+ }
+ return;
+}
+
+
diff --git a/npc/items/rand_mp_heal.txt b/npc/items/rand_mp_heal.txt
new file mode 100644
index 0000000..4b6a5ca
--- /dev/null
+++ b/npc/items/rand_mp_heal.txt
@@ -0,0 +1,63 @@
+// TMW-2 Script.
+// Author:
+// Jesusalva
+// Description:
+// UGLY WORKAROUND. Legacy Method Only.
+// Variables:
+// @min
+// @max
+// @delay
+
+function script MPHeal {
+ @delay = getarg(0);
+ @min = getarg(1);
+ @max = getarg(2);
+
+ if (@delay <= 0) {
+ Exception("Invalid healing item, deleting without healing effect.");
+ end;
+ }
+
+ // +1 max MP per 3 Int, +1 min MP per 5 int.
+ // Original max MP will be respected
+ @max = min(@max*2, @min+(readparam2(bInt)/5));
+ @min = min(@max, @min+(readparam2(bInt)/3));
+
+ // Make these abstract % in absolute values
+ @min=max(1, MaxHp*@min/100);
+ @max=max(3, MaxHp*@max/100);
+
+ // Save the effect
+ @mp_healeffect = rand2(@min, @max);
+ @mp_healeffect = @mp_healeffect / @delay + 1;
+ @mp_healdelay = @delay;
+
+ // Apply the effect and finish
+ deltimer .name$+"::OnUpdate";
+ addtimer 1000, .name$+"::OnUpdate";
+
+ // Clear stuff
+ // @mp_healeffect and @mp_healdelay must be preserved for cross-reading
+ @delay=0;
+ @min=0;
+ @max=0;
+}
+
+- script rand_mp_heal -1,{
+
+OnUse:
+ MPHeal(@delay, @min, @max);
+ end;
+
+// Script Heart
+OnUpdate:
+ deltimer .name$+"::OnUpdate";
+ heal 0, @mp_healeffect;
+ @mp_healdelay-=1;
+ if (@mp_healdelay >= 1)
+ addtimer 1000, .name$+"::OnUpdate";
+ else
+ @mp_healeffect=0;
+ end;
+}
+
diff --git a/npc/items/rand_sc_heal.txt b/npc/items/rand_sc_heal.txt
new file mode 100644
index 0000000..41ea3b3
--- /dev/null
+++ b/npc/items/rand_sc_heal.txt
@@ -0,0 +1,112 @@
+// TMW-2 Script.
+// Evol scripts.
+// Author:
+// Reid
+// Jesusalva
+// Description:
+// Random heal every x seconds.
+//
+// Variables:
+// @type
+// 0 - Sweeties (lowest)
+// 1 - Vegetables
+// 2 - Proteins
+// 3 - Proccessed
+// 4 - Magical (highest)
+// @delay
+// Overrides the lasting time
+// @rarity
+// How rare the item is (how much should it effect)
+// Ranges from 1 to 10.
+//
+// Formula:
+// MinHeal %: @rarity * ((@type*1) + 1)
+// MaxHeal %: @rarity * ((@type*2) + 1)
+// Delay: 1 + (@type*2)
+// Sweeties: 1s
+// Vegetables: 3s
+// Proteins: 5s
+// Proccessed: 7s
+// Magical: 9s
+//
+// *getequipoption(EQI_HEAD_TOP,1,168); → Heal Bonus (should be first bonus on Chef Hat)
+
+// ItHeal(type, rarity{, delay=auto})
+function script ItHeal2 {
+ .@type=getarg(0);
+ .@rarity=getarg(1);
+ .@delay=getarg(2, 0);
+
+ // Calculate healing value in %
+ .@min=.@rarity * ((.@type*1) + 1);
+ .@max=.@rarity * ((.@type*2) + 1);
+
+ // Healing items always have a bonus positive variation as you are reborn
+ .@max+=REBIRTH;
+
+ // Vitality raises the minimum healing value in 1%, capped at maximum vlaue
+ // It also raises @max up to double
+ .@max = min(.@max*2, .@max+(readparam2(bVit)/50));
+ .@min = min(.@max, .@min+(readparam2(bVit)/30));
+
+ // Make these abstract % in absolute values
+ .@min=max(1, MaxHp*.@min/100);
+ .@max=max(3, MaxHp*.@max/100);
+
+ // Calculate how much you'll heal
+ @val1 = rand2(.@min, .@max);
+
+ // Calculate delay if it was not given
+ if (.@delay <= 0) {
+ .@delay=1 + ((.@type*3)/2);
+ }
+
+ // Update val1
+ @val1 = (@val1 / .@delay) + 1;
+
+ // Decide the healing bonus type. We have four types: S, L, G and M
+ // By default, we use 'S'
+ .@skill = SC_S_LIFEPOTION;
+
+ // We now have @val1 (new effect), @delay (new delay)
+ // But do we have .@v and .@d (old effect and delay)?
+ //Meh, just override it
+ /*
+ if (getstatus(.@skill)) {
+ .@v=getstatus(.@skill, 1);
+ .@d=getstatus(.@skill, 5);
+ }
+
+ // If there WAS an effect previously, get ponderate average
+ if (.@v > 0) {
+ @val1=ponderate_avg(@val1, @delay, .@v, .@d);
+ @delay=ponderate_avg(@delay, @val1, .@d, .@v);
+ }
+ */
+
+ // Put the delay in ms
+ .@delay *= 1000;
+
+ // Apply the effect and finish
+ sc_end .@skill;
+ sc_start2 .@skill, .@delay, @val1, 1;
+ return @val1;
+}
+
+- script rand_sc_heal -1,{
+ end;
+OnUse:
+ if (@rarity <= 0) {
+ Exception("Invalid healing item, deleting without healing effect.");
+ end;
+ }
+ ItHeal2(@type, @rarity, @delay);
+
+ // Clear stuff
+ // @val1 must be preserved for cross-reading
+ @delay=0;
+ @type=0;
+ @rarity=0;
+ // @val1=0;
+ end;
+}
diff --git a/npc/items/shovel.txt b/npc/items/shovel.txt
new file mode 100644
index 0000000..ed1f464
--- /dev/null
+++ b/npc/items/shovel.txt
@@ -0,0 +1,544 @@
+// TMW2 Script
+// Evol scripts.
+// Author:
+// Travolta
+// Jesusalva
+// Description:
+// NPC to use shovel (dig, bury etc)
+// TODO: A function to retrieve a list of all walkable cells on a map
+// would be a great improvement to shovel_* functions. As long that it doesn't
+// a huge loop, of course...
+
+// shovel_scriptItem( map, x, y, item, {amount} )
+function script shovel_scriptItem {
+ .@map$=getarg(0);
+ .@x=getarg(1);
+ .@y=getarg(2);
+ .@id=getarg(3);
+ .@amount=getarg(4,1);
+
+ // Players can't walk on this cell, why bother?
+ if (!checkcell(.@map$, .@x, .@y, cell_chkpass))
+ return;
+
+ // Bury the item, they're renewed daily at 00:00
+ .@wtc = getarraysize($@WBT_Random_id);
+ $@WBT_Random_id[.@wtc] = .@id;
+ $@WBT_Random_amount[.@wtc] = .@amount;
+ $@WBT_Random_map$[.@wtc] = .@map$;
+ $@WBT_Random_x[.@wtc] = .@x;
+ $@WBT_Random_y[.@wtc] = .@y;
+ //debugmes "Buried"+.@amount+" "+getitemname(.@id);
+ return;
+}
+
+// shovel_scatter( map, x1, y1, x2, y2, amount, item1, {item2, item3...} )
+function script shovel_scatter {
+ .@map$=getarg(0);
+ .@x1=getarg(1);
+ .@y1=getarg(2);
+ .@x2=getarg(3);
+ .@y2=getarg(4);
+ .@amount=getarg(5,1);
+ .@dbgamm=.@amount; // debug message
+
+ .@wta = getarraysize($@WBT_Random_id); // wta - original
+ .@wtb = .@wta+.@amount; // wtb - future
+ .@tries=3;
+ do {
+ freeloop(true); // DANGEROUS
+ for (.@i = 0; .@i < .@amount; .@i++)
+ shovel_scriptItem(.@map$, rand(.@x1,.@x2), rand(.@y1,.@y2), getarg(rand2(getargcount()-6)+6));
+ freeloop(false);
+
+ .@wtc = getarraysize($@WBT_Random_id); // wtc - current
+ .@amount=.@wtb-.@wtc;
+
+ //debugmes "WTA %d WTB %d. WTC %d, tries %d, amount %d and dbg %d", .@wta, .@wtb, .@wtc, .@tries, .@amount, .@dbgamm;
+ if (.@wtc >= .@wtb)
+ .@tries=0;
+ else
+ .@tries-=1;
+ } while (.@tries > 0);
+ debugmes "Scattered "+.@dbgamm+" items on "+.@map$+". Currently scattered: "+.@wtc;
+ return;
+
+}
+
+// Here we begin
+- script Shovel -1,{
+ function CheckDigLocation;
+ function AddDigRect;
+ function PlayerIsTired;
+
+
+ function Dig {
+ // First check: Did some player bury some TREASURE? O.o
+ getmapxy(.@map$, .@x, .@y, 0);
+ for (.@i = 0; .@i < getarraysize($WorldBuriedTreasures_id); .@i++)
+ {
+ if (!strcmp($WorldBuriedTreasures_map$[.@i], .@map$) &&
+ $WorldBuriedTreasures_x[.@i] == .@x &&
+ $WorldBuriedTreasures_y[.@i] == .@y)
+ {
+ .@id = $WorldBuriedTreasures_id[.@i];
+ .@amount = $WorldBuriedTreasures_amount[.@i];
+
+ inventoryplace .@id, .@amount;
+
+ deletearray $WorldBuriedTreasures_id[.@i], 1;
+ deletearray $WorldBuriedTreasures_amount[.@i], 1;
+ deletearray $WorldBuriedTreasures_map$[.@i], 1;
+ deletearray $WorldBuriedTreasures_x[.@i], 1;
+ deletearray $WorldBuriedTreasures_y[.@i], 1;
+ getitem .@id, .@amount;
+ mesn strcharinfo(0);
+ mesc l("You found something!");
+ mesc l("It's @@ @@.", .@amount, getitemname(.@id));
+ next;
+ closeclientdialog;
+ return 1;
+ }
+ }
+ // Second check: Perhaps here is a rare, random ore?
+ freeloop(true);
+ for (.@i = 0; .@i < getarraysize($@WBT_Random_id); .@i++)
+ {
+ if (!strcmp($@WBT_Random_map$[.@i], .@map$) &&
+ $@WBT_Random_x[.@i] == .@x &&
+ $@WBT_Random_y[.@i] == .@y)
+ {
+ .@id = $@WBT_Random_id[.@i];
+ .@amount = $@WBT_Random_amount[.@i];
+
+ inventoryplace .@id, .@amount;
+
+ deletearray $@WBT_Random_id[.@i], 1;
+ deletearray $@WBT_Random_amount[.@i], 1;
+ deletearray $@WBT_Random_map$[.@i], 1;
+ deletearray $@WBT_Random_x[.@i], 1;
+ deletearray $@WBT_Random_y[.@i], 1;
+ getitem .@id, .@amount;
+ mesn strcharinfo(0);
+ mesc l("You found something!");
+ mesc l("It's @@ @@.", .@amount, getitemname(.@id));
+ next;
+ closeclientdialog;
+ return 1;
+ }
+ }
+ freeloop(false);
+ dispbottom l("Sadly, you found nothing but dirt.");
+ return 0;
+ }
+
+ function Bury {
+ narrator S_FIRST_BLANK_LINE | S_LAST_BLANK_LINE, l("What would you like to bury?");
+ .@items$ = "";
+
+ mes "##B" + l("Drag and drop an item from your inventory.") + "##b";
+
+ .@id = requestitem();
+
+ // If ID is invalid, there's not enough items, it is an Iron Shovel, it is bound = Cannot bury
+ // NOBODY bypass notrade check. (ITR_NONE is 0)
+ if (.@id < 1) close;
+ if (.@id < 1 || countitem(.@id) < 1 || .@id == IronShovel || .@id == SteelShovel || checkbound(.@id) ||
+ (!getiteminfo(.@id, ITEMINFO_TRADE))
+ ) {
+ @ShovelLastUsed = 0;
+ if (.@id == IronShovel || .@id == SteelShovel || checkbound(.@id))
+ mesc l("You cannot bury this item!");
+ else if (!getiteminfo(.@id, ITEMINFO_TRADE))
+ mesc l("This item is too precious, you cannot part with it!");
+ else
+ mesc l("You give up.");
+ close;
+ return;
+ }
+
+ .@amount = 1;
+ if (countitem(.@id) > 1) {
+ narrator S_FIRST_BLANK_LINE | S_LAST_BLANK_LINE, l("Amount?");
+ input .@amount, 0, countitem(.@id);
+ }
+ if (.@amount == 0 || .@amount > countitem(.@id)) {
+ close;
+ return;
+ }
+
+ getmapxy(.@map$, .@x, .@y, 0);
+ delitem .@id, .@amount;
+ .@wtc = getarraysize($WorldBuriedTreasures_id);
+ $WorldBuriedTreasures_id[.@wtc] = .@id;
+ $WorldBuriedTreasures_amount[.@wtc] = .@amount;
+ $WorldBuriedTreasures_map$[.@wtc] = .@map$;
+ $WorldBuriedTreasures_x[.@wtc] = .@x;
+ $WorldBuriedTreasures_y[.@wtc] = .@y;
+ narrator S_FIRST_BLANK_LINE, l("You buried @@ @@.", .@amount, getitemname(.@id));
+ close;
+ return 0;
+ }
+
+ // Scope: ShovelQuests_ → x, y, map, func{tion}
+ function ShovelQuests {
+ getmapxy(.@map$, .@x, .@y, 0);
+ for (.@i = 0; .@i < getarraysize(ShovelQuests_func$); .@i++)
+ {
+ if (!strcmp(ShovelQuests_map$[.@i], .@map$) &&
+ ShovelQuests_x[.@i] == .@x &&
+ ShovelQuests_y[.@i] == .@y)
+ {
+ .@func$ = ShovelQuests_func$[.@i];
+ deletearray ShovelQuests_func$[.@i], 1;
+ deletearray ShovelQuests_map$[.@i], 1;
+ deletearray ShovelQuests_x[.@i], 1;
+ deletearray ShovelQuests_y[.@i], 1;
+ callfunc(.@func$);
+ return 1;
+ }
+ }
+ return 0;
+ }
+
+OnDig:
+ if (!CheckDigLocation()) {
+ dispbottom l("I can't use the shovel here.");
+ end;
+ }
+ if (PlayerIsTired())
+ end;
+ if (!ShovelQuests())
+ Dig();
+ end;
+
+OnBury:
+ if (!CheckDigLocation()) {
+ dispbottom l("I can't use the shovel here.");
+ end;
+ }
+ if (PlayerIsTired())
+ end;
+ Bury();
+ end;
+
+function CheckDigLocation {
+ getmapxy(.@map$, .@x, .@y, 0);
+ for (.@i = 0; .@i < getarraysize(.WorldDigRect_Map$); .@i++)
+ {
+ if (!strcmp(.WorldDigRect_Map$[.@i], .@map$) &&
+ .WorldDigRect_x1[.@i] <= .@x &&
+ .WorldDigRect_x2[.@i] >= .@x &&
+ .WorldDigRect_y1[.@i] <= .@y &&
+ .WorldDigRect_y2[.@i] >= .@y)
+ {
+ return 1;
+ }
+ }
+ return 0;
+}
+
+function AddDigRect {
+ if (getargcount() < 5) {
+ debugmes "usage: AddDigRect(map$,x1,y1,x2,y2)";
+ return 0;
+ }
+ .@map$ = str(getarg(0));
+ .@x1 = getarg(1);
+ .@y1 = getarg(2);
+ .@x2 = getarg(3);
+ .@y2 = getarg(4);
+ .@size = getarraysize(.WorldDigRect_Map$);
+ .WorldDigRect_Map$[.@size] = .@map$;
+ .WorldDigRect_x1[.@size] = .@x1;
+ .WorldDigRect_y1[.@size] = .@y1;
+ .WorldDigRect_x2[.@size] = .@x2;
+ .WorldDigRect_y2[.@size] = .@y2;
+ return 1;
+}
+
+function PlayerIsTired {
+ /*
+ // GMs can do this in an unrestricted way
+ if (is_gm())
+ return 0;
+ */
+ // I changed the rule to: No restriction on Aeros! (GM or not) (May be laggy)
+ if (getmap() == "001-1")
+ return 0;
+
+ .@tick = gettimetick(2);
+ .@playertick = .PlayerTiredTime - (readparam(bStr)/5) - (readparam(bVit)/10);
+
+ // Dig and Bury more with Steel Shovel
+ if (countitem(SteelShovel)) {
+ .@playertick-=(.PlayerTiredTime*2)/3;
+ }
+
+ if (@ShovelLastUsed + max(5, .@playertick) > .@tick) {
+ .@time$=FuzzyTime(@ShovelLastUsed + max(5, .@playertick));
+ dispbottom lg("You are exhausted, you should rest @@.", "You are exhausted, you should rest @@.", .@time$);
+ return 1;
+ }
+ @ShovelLastUsed = .@tick;
+ return 0;
+}
+
+OnInit:
+ // Define constants
+ .PlayerTiredTime = 25;
+
+ // You can bury & dig on all mines
+ AddDigRect("007-1", 20, 20, 180, 190);
+ AddDigRect("011-1", 20, 20, 180, 180);
+ AddDigRect("015-1", 20, 20, 180, 180);
+ AddDigRect("032-2", 20, 20, 180, 180);
+
+ // Aeros can be used too (for events)
+ AddDigRect("001-1", 20, 20, 342, 158);
+
+ // LoF Areas
+ AddDigRect("018-1", 20, 20, 80, 80);
+
+OnHour00:
+ // Clear random treasure
+ deletearray $@WBT_Random_id;
+ deletearray $@WBT_Random_amount;
+ deletearray $@WBT_Random_map$;
+ deletearray $@WBT_Random_x;
+ deletearray $@WBT_Random_y;
+
+
+ // Scatter Treasure.
+ // There are 25600 possible cells, and about 60% of them are collisions.
+ // As we don't prevent treasure from falling on collision, it is pretty high.
+ // If two treasures fall on same place, the previous treasure will be ignored.
+ // Theoretical chance of uncovering a treasure on an attempt is 0.12% to 0.70%
+ // 2019-05-27: Doubled ammount of treasures. New rates should be 0.24% ~ 1.40%
+ shovel_scatter("007-1", 20, 20, 180, 180, rand(60,360),
+ TreasureKey,CoinBag,TreasureKey,SulfurPowder,Coal,EarthPowder,
+ IronOre,CopperOre,LeadOre,TinOre,SilverOre,GoldOre,PlatinumOre,IridiumOre,TitaniumOre,
+ Diamond,Ruby,Emerald,Sapphire,Topaz,Amethyst,
+ CursedAmmoBox,ThornAmmoBox,SacredBullet);
+ shovel_scatter("011-1", 20, 20, 180, 180, rand(60,360),
+ TreasureKey,CoinBag,TreasureKey,SulfurPowder,Coal,EarthPowder,
+ IronOre,CopperOre,LeadOre,TinOre,SilverOre,GoldOre,PlatinumOre,IridiumOre,TitaniumOre,
+ Diamond,Ruby,Emerald,Sapphire,Topaz,Amethyst,
+ CursedAmmoBox,ThornAmmoBox,SacredBullet);
+ shovel_scatter("015-1", 20, 20, 180, 180, rand(60,360),
+ TreasureKey,CoinBag,TreasureKey,SulfurPowder,Coal,EarthPowder,
+ IronOre,CopperOre,LeadOre,TinOre,SilverOre,GoldOre,PlatinumOre,IridiumOre,TitaniumOre,
+ Diamond,Ruby,Emerald,Sapphire,Topaz,Amethyst,
+ CursedAmmoBox,ThornAmmoBox,SacredBullet);
+
+ // Extra burried treasure (25~65 over 3600 tiles: aprox. 0.70% to 1.80%)
+ // New Rate: 1.40% ~ 3.60% since 2019-05-27
+ shovel_scatter("018-1", 20, 20, 80, 80, rand(50,130),
+ TreasureKey,CoinBag,TreasureKey,SulfurPowder,Coal,EarthPowder,
+ IronOre,CopperOre,LeadOre,TinOre,SilverOre,GoldOre,PlatinumOre,IridiumOre,TitaniumOre,
+ Diamond,Ruby,Emerald,Sapphire,Topaz,Amethyst,
+ CursedAmmoBox,ThornAmmoBox,SacredBullet);
+
+ // Aeros can't be forgotten, but only during Thanksgiving
+ if ($EVENT$ == "Thanksgiving") {
+ shovel_scatter("001-1", 171, 20, 340, 160, rand(160,360),
+ TreasureKey,CoinBag,TreasureKey,SulfurPowder,Coal,EarthPowder,
+ IronOre,CopperOre,LeadOre,TinOre,SilverOre,GoldOre,PlatinumOre,IridiumOre,TitaniumOre,
+ Diamond,Ruby,Emerald,Sapphire,Topaz,Amethyst);
+ shovel_scatter("001-1", 20, 20, 140, 140, rand(160,360),
+ TreasureKey,CoinBag,TreasureKey,SulfurPowder,Coal,EarthPowder,
+ IronOre,CopperOre,LeadOre,TinOre,SilverOre,GoldOre,PlatinumOre,IridiumOre,TitaniumOre,
+ Diamond,Ruby,Emerald,Sapphire,Topaz,Amethyst);
+ }
+ end;
+
+}
+
+function script shovel_addquest {
+ if (getargcount() < 4)
+ {
+ debugmes "usage: shovel_addquest(map$,x,y,func$)";
+ return 0;
+ }
+ .@map$ = str(getarg(0));
+ .@x = getarg(1);
+ .@y = getarg(2);
+ .@func$ = str(getarg(3));
+ .@size = getarraysize(ShovelQuests_func$);
+ ShovelQuests_func$[.@size] = .@func$;
+ ShovelQuests_map$[.@size] = .@map$;
+ ShovelQuests_x[.@size] = .@x;
+ ShovelQuests_y[.@size] = .@y;
+ return 1;
+}
+
+function script shovel_adddigrect {
+ if (getargcount() < 5)
+ {
+ debugmes "usage: shovel_adddigrect(map$,x1,y1,x2,y2)";
+ return 0;
+ }
+ .@map$ = str(getarg(0));
+ .@x1 = getarg(1);
+ .@y1 = getarg(2);
+ .@x2 = getarg(3);
+ .@y2 = getarg(4);
+ .@size = getarraysize(getvariableofnpc(.WorldDigRect_Map$, strnpcinfo(3)));
+ set getvariableofnpc(.WorldDigRect_Map$[.@size], strnpcinfo(3)), .@map$;
+ set getvariableofnpc(.WorldDigRect_x1[.@size], strnpcinfo(3)), .@x1;
+ set getvariableofnpc(.WorldDigRect_y1[.@size], strnpcinfo(3)), .@y1;
+ set getvariableofnpc(.WorldDigRect_x2[.@size], strnpcinfo(3)), .@x2;
+ set getvariableofnpc(.WorldDigRect_y2[.@size], strnpcinfo(3)), .@y2;
+ return 1;
+}
+
+function script shovel_getcity {
+ .@a$=getarg(0);
+
+ // else is not required (return prevails)
+ if (.@a$ == "007-1")
+ return l("Tulimshar Mines");
+ if (.@a$ == "011-1")
+ return l("Halinarzo Mines");
+ if (.@a$ == "015-1")
+ return l("Hurnscald Mines");
+ if (.@a$ == "018-1")
+ return l("Sincerity Island");
+ if (.@a$ == "032-2")
+ return l("Tree Maze (Past Tulimshar)");
+
+ return .@a$;
+}
+
+// [Treasure Map] functions
+
+function script shovel_randomtreasure {
+ .@id=any(TreasureKey,CoinBag,TreasureKey,CoinBag,CoinBag,GoldPieces,
+ Diamond,Ruby,Emerald,Sapphire,Topaz,Amethyst,
+ StrangeCoin, CasinoCoins, MercBoxA, AncientBlueprint);
+ // Legacy Tulimshar has different items
+ if (getmap() == "032-2") .@id = any(CoinBag, TreasureKey, GoldPieces,
+ Diamond,Ruby,Emerald,
+ Sapphire,Topaz,Amethyst,
+ StrangeCoin, MercBoxB, AncientBlueprint,
+ TulimWarpCrystal, AlchemyBlueprintC,
+ EarthPowder, MercBoxC, StrangeCoin);
+ if (rand2(400) == 136) .@id = EarthPowder; // 0.25% chance
+ if (rand2(2000) == 337) .@id = PirateBandana; // 0.05% chance
+ delitem TreasureMap, 1;
+ .@amount=any(1,1,2)+(getmap() == "032-2" ? 1 : 0);
+ if (.@id == TreasureKey || .@id == CoinBag || .@id == StrangeCoin)
+ .@amount+=any(0,1,0,1,2);
+ if (.@id == CasinoCoins)
+ .@amount+=rand2(0,8);
+ if (.@id == MercBoxA || .@id == AncientBlueprint ||
+ .@id == GoldPieces || .@id == EarthPowder ||
+ .@id == PirateBandana || .@id == MercBoxB ||
+ .@id == MercBoxC || .@id == TulimWarpCrystal ||
+ .@id == AlchemyBlueprintC)
+ .@amount=1;
+ getitem .@id, .@amount;
+ ShovelQuests_AssignedMAP$="";
+ ShovelQuests_AssignedX=0;
+ ShovelQuests_AssignedY=0;
+
+ mesn strcharinfo(0);
+ mesc l("You found something!");
+ mesc l("It's @@ @@.", .@amount, getitemname(.@id));
+ next;
+ closeclientdialog;
+ return;
+}
+
+function script shovel_genrandtreasure {
+ if (getq(LoFQuest_EPISODE) >= 16)
+ .@m$=any("007-1", "011-1", "015-1", "018-1", "032-2",
+ "007-1", "011-1", "015-1", "018-1");
+ else
+ .@m$=any("007-1", "011-1", "015-1", "018-1");
+ // Dangerous
+ do {
+ .@x=rand2(20, getmapinfo(MAPINFO_SIZE_X, .@m$)-20);
+ .@y=rand2(20, getmapinfo(MAPINFO_SIZE_Y, .@m$)-20);
+ } while (!checkcell(.@m$, .@x, .@y, cell_chkpass));
+
+ // Success
+ if (checkcell(.@m$, .@x, .@y, cell_chkpass)) {
+ shovel_addquest(.@m$, .@x, .@y, "shovel_randomtreasure");
+ ShovelQuests_AssignedMAP$=shovel_getcity(.@m$);
+ ShovelQuests_AssignedX=.@x;
+ ShovelQuests_AssignedY=.@y;
+ }
+ return;
+}
+
+// [Dungeon Map] functions
+
+function script shovel_randomdungeon {
+ // If you don't have the map, stop
+ delitem DungeonMap, 1;
+
+ // Determine the dungeon size
+ if (ShovelQuests_DungeonMAP$ == "032-2" && REBIRTH)
+ .@mz = (MAZE_SIZE_X | MAZE_SIZE_A);
+ else if (ShovelQuests_DungeonMAP$ == "032-2")
+ .@mz = (MAZE_SIZE_G | MAZE_SIZE_X);
+ else if (REBIRTH)
+ .@mz = (MAZE_SIZE_M | MAZE_SIZE_G);
+ else
+ .@mz = (MAZE_SIZE_S | MAZE_SIZE_M);
+
+ // Create the Maze
+ CreateMaze(IOT_CHAR, .@mz);
+ MazeMobs((BaseLevel*8/10), false, rand2(20, 24));
+
+ // Prepare the chest array
+ if (.@mz & MAZE_SIZE_A)
+ array_push(.@mob, SupremeChest);
+ if (.@mz & MAZE_SIZE_X)
+ array_push(.@mob, PrismChest);
+ if (.@mz & MAZE_SIZE_G)
+ array_push(.@mob, GoldenChest);
+ if (.@mz & MAZE_SIZE_M)
+ array_push(.@mob, SilverChest);
+ if (.@mz & MAZE_SIZE_S)
+ array_push(.@mob, BronzeChest);
+
+ // Spawn & Configure the boss monster
+ .@mx=getmapinfo(MAPINFO_SIZE_X, MAZE_MAP$)-20;
+ .@my=getmapinfo(MAPINFO_SIZE_Y, MAZE_MAP$)-20;
+ .@mob=areamonster(MAZE_MAP$, .@mx/2, .@my/2, .@mx, .@my, "Treasure Chest", any_of(.@mob), 1, "Emergency Exit::OnTalk");
+
+ InitMaze(4800, true, true); // 1h30, random start, with treasure chest
+
+ // Cleanup old variables and exit
+ ShovelQuests_DungeonMAP$="";
+ ShovelQuests_DungeonX=0;
+ ShovelQuests_DungeonY=0;
+ dispbottom l("Now, to find the treasure chest!");
+ closeclientdialog;
+ return;
+}
+
+function script shovel_genranddungeon {
+ if (getq(LoFQuest_EPISODE) >= 16)
+ .@m$=any("007-1", "011-1", "015-1", "018-1", "032-2",
+ "007-1", "011-1", "015-1", "018-1");
+ else
+ .@m$=any("007-1", "011-1", "015-1", "018-1");
+ // Dangerous
+ do {
+ .@x=rand2(20, getmapinfo(MAPINFO_SIZE_X, .@m$)-20);
+ .@y=rand2(20, getmapinfo(MAPINFO_SIZE_Y, .@m$)-20);
+ } while (!checkcell(.@m$, .@x, .@y, cell_chkpass));
+
+ // Success
+ if (checkcell(.@m$, .@x, .@y, cell_chkpass)) {
+ shovel_addquest(.@m$, .@x, .@y, "shovel_randomdungeon");
+ ShovelQuests_DungeonMAP$=shovel_getcity(.@m$);
+ ShovelQuests_DungeonX=.@x;
+ ShovelQuests_DungeonY=.@y;
+ }
+ return;
+}
+
diff --git a/npc/items/teleporter.txt b/npc/items/teleporter.txt
new file mode 100644
index 0000000..b7e311b
--- /dev/null
+++ b/npc/items/teleporter.txt
@@ -0,0 +1,54 @@
+// TMW2 scripts.
+// Authors:
+// Pyndragon
+// Jesusalva
+// Description:
+// Warp Crystal
+
+- script Warp Crystal NPC_HIDDEN,{
+ close;
+
+function Cooldown {
+ mesn;
+ mesc l("Successive warps cause time-space distortions and are thus not allowed.");
+ mesc l("You can use it again in %s.", FuzzyTime(TELEPORTER_TIME));
+ getitem @itemid, 1;
+ close;
+}
+
+function ReturnItem {
+ getitem @itemid, 1;
+ end;
+}
+
+OnUse:
+ // Receives @dest$
+ if (TELEPORTER_TIME > gettimetick(2))
+ Cooldown();
+ if (BaseLevel < 20) {
+ dispbottom l("The might contained in this curious object is too powerful. You have to be at least level 20 to harness it.");
+ ReturnItem();
+ }
+ // TODO: Are you already at target point?
+
+ // The chance to break is always at least 20%
+ // Begins at 100% and each second will subtract 0.01%
+ // It will never go below 15%, which happens after x seconds
+ .@timet=limit(0, gettimetick(2)-TELEPORTER_TIME, 3600);
+ .@prop=.@timet*2777/1000; // Make it range from 0~10000
+ .@adj_breakrate=limit(1500, .@prop, 9500 );
+ //debugmes "Adjusted break ratio: %d", .@adj_breakrate;
+ if (rand(0,10000) > .@adj_breakrate)
+ getitem @itemid, 1;
+ else
+ getitem BrokenWarpCrystal, 1;
+
+ // Apply Cooldown, same variable as LoF Teleporter, cancel ship travels
+ TELEPORTER_TIME=gettimetick(2)+300;
+ @timer_navio_running=0;
+
+ // Save new location and warp you there
+ EnterTown(@dest$);
+ ReturnTown();
+ end;
+}
diff --git a/npc/items/valentine.txt b/npc/items/valentine.txt
new file mode 100644
index 0000000..79a0a96
--- /dev/null
+++ b/npc/items/valentine.txt
@@ -0,0 +1,31 @@
+// TMW-2 script.
+// Author:
+// Jesusalva
+// Description:
+// Valentine eating
+
+// Eats chocolate, returns bad ones if requested
+// EatValentineChocolate()
+function script EatValentineChocolate {
+ if ($EVENT$ != "Valentine") {
+ dispbottom l("Past due date.");
+ } else if (#VALENTINE_OPENED >= #VALENTINE_RECEIVED) {
+ dispbottom l("This is not meant for me.");
+ getitem BoxOfChocolates, 1;
+ } else {
+ .@pts=1;
+ if (GSET_VALENTINE_EATALL) {
+ .@pts=(#VALENTINE_RECEIVED-#VALENTINE_OPENED);
+ delitem BoxOfChocolates, .@pts-1;
+ }
+ // I know technically this is wrong grammar, but I want fixed width
+ #VALENTINE_OPENED=#VALENTINE_OPENED+.@pts;
+ #VALENTINE_POINTS=#VALENTINE_POINTS+.@pts;
+ if (rand2(0,1))
+ dispbottom l("It's tasty ^.^");
+ else
+ dispbottom l("It's yummy ^.^");
+ }
+ return;
+}
+
diff --git a/npc/magic/abizit.txt b/npc/magic/abizit.txt
new file mode 100644
index 0000000..8c38a1d
--- /dev/null
+++ b/npc/magic/abizit.txt
@@ -0,0 +1,33 @@
+// TMW2 script
+// Author: Jesusalva <admin@tmw2.org>
+//
+// Magic Script: -
+//
+// Abizit() reports your magic power
+
+- script sk#abizit 32767,{
+ end;
+
+OnCall:
+ // Must have magic
+ if (!MAGIC_LVL)
+ end;
+
+ // Check cooldown
+ if (@abizit_at > gettimetick(2)) {
+ dispbottom l("Skill is in cooldown for @@.", FuzzyTime(@abizit_at));
+ end;
+ }
+
+ ShowAbizit(false);
+
+ // set cooldown
+ @abizit_at=gettimetick(2);
+ @abizit_at=@abizit_at+4;
+ end;
+
+OnInit:
+ bindatcmd "sk-abizit", "sk#abizit::OnCall", 0, 100, 0;
+ bindatcmd "abizit", "sk#abizit::OnCall", 0, 100, 0;
+ end;
+}
diff --git a/npc/magic/demure.txt b/npc/magic/demure.txt
new file mode 100644
index 0000000..c885e1b
--- /dev/null
+++ b/npc/magic/demure.txt
@@ -0,0 +1,154 @@
+// TMW2 script
+// Author: Jesusalva <admin@tmw2.org>
+//
+// Magic Script: TMW2_DEMURE
+//
+// Let yourself rage and go out of control destroy everything around you
+// Doubles attack speed but nullifies evade complety for 30 seconds.
+// Each level grants +30s and +1% evade and +5% attack speed.
+// After level 1, evade penalty/cooldown raises in 1s per additional level
+//
+// Cooldown is cast duration
+/*
+ SC_INCAGI: 190
+ SC_INCVIT: 191
+ SC_INCINT: 192
+ SC_INCDEX: 193
+ SC_INCLUK: 194
+ SC_INCHIT: 195
+ SC_INCHITRATE: 196
+ SC_INCFLEE: 197
+ SC_INCFLEERATE: 198
+ SC_INCMHPRATE: 199
+ SC_INCMSPRATE: 200
+ SC_INCATKRATE: 201
+ SC_INCMATKRATE: 202
+ SC_INCDEFRATE: 203
+
+ SC_WALKSPEED
+ SC_INVINCIBLE (?)
+ SC_MANA_PLUS (?)
+ SC_INCMHP
+ SC_INCMSP
+
+ // The basic ones
+ SC_STONE: 0
+ SC_FREEZE: 1
+ SC_STUN: 2
+ SC_SLEEP: 3
+ SC_POISON: 4
+ SC_CURSE: 5
+ SC_SILENCE: 6
+ SC_CONFUSION: 7
+ SC_BLIND: 8
+ SC_BLOODING: 9
+ SC_DPOISON: 10
+ SC_FEAR: 11
+ SC_COLD: 12
+ SC_BURNING: 13
+ SC_DEEP_SLEEP: 14
+ SC_PROVOKE: 20
+ SC_ENDURE: 21
+
+ // Original potion ones
+ SC_ATTHASTE_POTION1: 55
+ SC_ATTHASTE_POTION2: 56
+ SC_ATTHASTE_POTION3: 57
+ SC_ATTHASTE_INFINITY: 58
+ SC_MOVHASTE_HORSE: 59
+ SC_MOVHASTE_INFINITY: 60
+ SC_PLUSATTACKPOWER: 61
+ SC_PLUSMAGICPOWER: 62
+
+ // Guild Skills
+ SC_INCALLSTATUS
+ SC_SLOWPOISON
+ SC_BENEDICTIO (?)
+ SC_GDSKILL_REGENERATION (?)
+ SC_ANGELUS: DEF+
+ SC_BLESSING: STR/DEX/INT+
+ SC_IMPOSITIO: Wpn ATK+
+ SC_FORTUNE: CRIT+
+
+ // Guild & Party skills
+ SC_KAIZEL: Auto Revive
+ SC_MAXIMIZEPOWER: Always at full power
+ SC_MAGNIFICAT: MP Regen × 2
+
+ // Tested Newer ones
+ SC_RICHMANKIM: 167 (Target EXP+)
+
+ // Untested Newer ones
+ SC_CRITICALPERCENT: 262
+ SC_RESIST_PROPERTY_WATER: 664
+ SC_RESIST_PROPERTY_GROUND: 665
+ SC_RESIST_PROPERTY_FIRE: 666
+ SC_RESIST_PROPERTY_WIND: 667
+
+ » Create SC to boost skill power?
+ » Maybe SC to boost elemental damage
+
+ // Potionable Skills (Scrolls?)
+ TMW2_OVERLOAD (Pierce Double Damage)
+ TMW2_MAGNUSHEAL (Area Healing based on MATK, affects homun)
+ TMW2_FIREARROW (A weak fire-based attack. Bleeds.)
+ TMW2_FROSTDIVER (A weak ice-based attack. Freeze.)
+ TMW2_LIGHTNINGBOLT (A strong wind-based attack)
+ TMW2_HOLYLIGHT (A strong holy-based attack vs tile)
+ TMW2_METEORSHOWER (A strong AoE earth-based attack, which also stuns)
+ TMW2_ARROWSHOWER (AoE attack, causes your damage to become arrows)
+ TMW2_ALLINONE (Xanthem's Gambit - Weak w/ shields, multi-ele multi-attack)
+ «Summons»
+ «Little Wonders - Recover/dispel ailments, but no heal»
+
+ // Art of War: TMW2_HORIZONTALSLASH + TMW2_DIAGONALSLASH + TMW2_VERTICALSLASH + TMW2_STAB + TMW2_GRANDBLAST (possibly?)
+*/
+
+function script SK_Demure {
+ // non-melee weapons not allowed
+ if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_RANGE) > 3) {
+ dispbottom l("Only melee weapons are permitted for use with this skill.");
+ end;
+ }
+
+ // Determine length: 30s per skill level
+ .@length=getskilllv(TMW2_DEMURE)*30000;
+ .@effect=25+getskilllv(TMW2_DEMURE);
+ .@penalty=getskilllv(TMW2_DEMURE)-101;
+ .@malus=(getskilllv(TMW2_DEMURE)-1)*1000;
+
+ // Add two SC_ effects: One to raise attack speed and other to drop evade
+ //sc_start(<effect type>, <ticks>, <value 1>{, <rate>, <flag>{, <GID>}})
+ sc_start SC_ATTHASTE_POTION2, .@length, .@effect;
+ SC_Bonus(.@length, SC_INCHITRATE, .@effect);
+ SC_Bonus(.@length, SC_INCATKRATE, .@effect);
+ SC_Bonus((.@length+.@malus), SC_INCFLEERATE, .@penalty);
+ SC_Bonus((.@length+.@malus), SC_INCDEFRATE, .@penalty);
+ SC_Bonus((.@length+.@malus), SC_INCMHPRATE, .@penalty);
+
+ // set cooldown and timer
+ @demure_at=gettimetick(2);
+ @demure_at=@demure_at+(.@length+.@malus)/1000;
+ addtimer(rand(786,1346), "sk#demure::OnTMW2DemureCheck");
+
+ // Get a few mana experience points (this is NOT used by Mana Stone)
+ GetManaExp(TMW2_DEMURE, rand(1,getskilllv(TMW2_DEMURE)));
+ return;
+}
+
+- script sk#demure 32767,{
+ end;
+
+// If you switch to a bow, you lose the effect at once and loop dies
+OnTMW2DemureCheck:
+ if (@demure_at < gettimetick(2))
+ end;
+ if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_RANGE) > 3)
+ sc_start SC_ATTHASTE_POTION2, 100, -50;
+ else
+ addtimer(rand(786,1346), "sk#demure::OnTMW2DemureCheck");
+ end;
+
+OnInit:
+ end;
+}
diff --git a/npc/magic/dragokin.txt b/npc/magic/dragokin.txt
new file mode 100644
index 0000000..bf8344f
--- /dev/null
+++ b/npc/magic/dragokin.txt
@@ -0,0 +1,42 @@
+// TMW2 script
+// Author: Jesusalva <admin@tmw2.org>
+//
+// Magic Script: TMW2_DRAGOKIN
+//
+// Summons a Green Dragon because they are cool :3
+//
+// Cooldown is cast duration
+
+function script SK_Dragokin {
+ // Blocked from summoning magic
+ if (alignment() < 0)
+ return;
+
+ // Other requeriments: 5x Dragon Scale or Demure Axe
+ if (!(countitem(DragonScales) >= 4 || countitem(DemureAxe))) {
+ dispbottom l("You need 4x @@ to cast this skill.", getitemlink(DragonScales));
+ return;
+ }
+
+ // Setup
+ @sk=TMW2_DRAGOKIN;
+ @mp=50;
+ @amp=4;
+
+ // Check if you have mana to cast
+ // MagicCheck(SkillID, Mana{, MP per level})
+ if (!MagicCheck(@sk, @mp, @amp))
+ return;
+
+ // Destroy reagents
+ if (!countitem(DemureAxe))
+ delitem DragonScales, 4;
+
+ // set cooldown
+ @dragokin_at=gettimetick(2);
+ @dragokin_at=@dragokin_at+16;
+
+ // Summon the dragons and give Mana EXP
+ SK_summon(GreenDragon, 5, 5);
+ return;
+}
diff --git a/npc/magic/drops.txt b/npc/magic/drops.txt
new file mode 100644
index 0000000..fcfc57e
--- /dev/null
+++ b/npc/magic/drops.txt
@@ -0,0 +1,65 @@
+// TMW2 script
+// Author: Jesusalva <admin@tmw2.org>
+//
+// Magic Script: TMW2_DROPS
+//
+// Realm of Drops - A passive skill which drastically improves drop rates
+
+function script SK_drops {
+ .@mobId=getarg(0, killedrid);
+ if (getskilllv(TMW2_DROPS) <= 0)
+ return;
+ if (.@mobId <= 0)
+ return;
+ if (@skdrop[.@mobId] < 0)
+ return;
+
+ // Keep in mind that it is reset on logout
+ @skdrop[.@mobId]+=1;
+ .@lv=getmonsterinfo(.@mobId, MOB_LV);
+ .@min=10-getskilllv(TMW2_DROPS)+(.@lv/10);
+
+ // Maybe we are in condition for the bonus drop
+ if (@skdrop[.@mobId] % .@min == 0) {
+ // This creates .@item and .@rate with same index
+ deletearray($@MobDrop_item);
+ deletearray($@MobDrop_rate);
+ getmobdrops(.@mobId);
+ .@count = $@MobDrop_count;
+ copyarray(.@item[0], $@MobDrop_item[0], .@count);
+ copyarray(.@rate[0], $@MobDrop_rate[0], .@count);
+
+ // .@total => sum of all drop rates
+ // .@array => The real array for relative_array_random()
+ .@total = 0;
+ .@array = -1;
+ for (.@i = 0; .@i < .@count; ++.@i) {
+ .@s = getarraysize(.@array);
+ array_push(.@array, .@item[.@i]);
+ array_push(.@array, .@rate[.@i]);
+ .@total+=.@rate[.@i];
+ }
+
+ // Now we determine if you can, or cannot, get a bonus drop
+ if (.@total < 500) {
+ if (.@total < 200) {
+ // Hard limit: 2% of total drop rate (-1 prevents execution)
+ @skdrop[.@mobId]=-1;
+ return;
+ } else {
+ // Soft limit: Half the efficiency
+ if (@skdrop[.@mobId] % (.@min*2) != 0)
+ return;
+ }
+ }
+
+ // You can! So give you a random bonus drop with proper ponderation
+ .@drop = relative_array_random(.@array);
+ getmapxy(.@m$, .@x, .@y, 0);
+ makeitem(.@drop, 1, .@m$, .@x, .@y);
+ if ($@GM_OVERRIDE || debug)
+ debugmes("Realm of Drops: Created %d as bonus drop in (%d,%d) [TDR %d KL %d]", .@drop, .@x, .@y, .@total, @skdrop[.@mobId]);
+ }
+ return;
+}
+
diff --git a/npc/magic/forget.txt b/npc/magic/forget.txt
new file mode 100644
index 0000000..81e3cdf
--- /dev/null
+++ b/npc/magic/forget.txt
@@ -0,0 +1,52 @@
+// TMW2 script
+// Author: Jesusalva <admin@tmw2.org>
+//
+// Magic Script: Forgetful NPCs
+// Allows you to get rid of unwanted skills
+
+// ForgetfulNPC( NAME, SCHOOL )
+function script ForgetfulNPC {
+ .@n$=getarg(0);
+ .@school=getarg(1);
+ mesc l("Teaching %s your skills will make you both forget them.", .@n$), 1;
+ mesc l("Once your skill is forgotten, the Magic Skill Points used will be freed."), 1;
+ mesc l("But be careful: learning fees and research points WILL NOT be given back!"), 1;
+ do
+ {
+ next;
+ mesc l("Which skill will you FORGET permanently today?"), 1;
+ setarray .@forget$, l("Cancel"), "-1";
+ freeloop(true);
+ for (.@i=0; .@i < getarraysize($@MSK_MAGIC) ; .@i++) {
+ .@sk=$@MSK_MAGIC[.@i];
+ if (getskilllv(.@sk)) {
+ if ($@MSK_CLASS[.@sk] == .@school) {
+ array_push(.@forget$, getskillname(.@sk));
+ array_push(.@forget$, str(.@sk));
+ }
+ }
+ }
+ freeloop(false);
+ menuint2(.@forget$);
+ deletearray(.@forget$);
+ if (@menuret < 1)
+ close;
+ mes "";
+ mesc l("Skill @@ will be permanently lost!", getskillname(@menuret)), 1;
+ mesc l("Continue anyway?"), 1;
+ if (askyesno() == ASK_YES) {
+ .@msp=0;
+ .@lv=$@MSK_MSPCOST[@menuret]+max(0, getskilllv(@menuret)-5);
+ skill @menuret, 0, 0;
+ MAGIC_PTS-=.@lv;
+ mesc l("Skill @@ has been lost", getskillname(@menuret)), 3;
+ mesc l("You recovered @@ magic skill points", .@lv), 3;
+ } else {
+ mesn l("%s, the Forgetful", .@n$);
+ mesq l("Uh, what?");
+ }
+ } while (@menuret);
+ return;
+}
+
+
diff --git a/npc/magic/guild.txt b/npc/magic/guild.txt
new file mode 100644
index 0000000..e538b71
--- /dev/null
+++ b/npc/magic/guild.txt
@@ -0,0 +1,166 @@
+// TMW2 script
+// Author: Jesusalva <admin@tmw2.org>
+//
+// Magic Script: TMW2_GD
+//
+// Guild Magic
+// Reserved SCs: SC_INCALLSTATUS SC_ANGELUS SC_BLESSING SC_IMPOSITIO SC_KAIZEL SC_MAGNIFICAT
+// For testing: SC_TWOHANDQUICKEN
+// BROKEN: SC_ASSNCROS
+
+/*
+SC_ENCHANTPOISON
+Endows a single target's equipped weapon with the Poison property temporarily. This skill also gives the chance of leaving enemies poisoned while physically attacking.
+
+SC_POISONREACT
+Gives a 50% chance of autocasting Level 5 Envenom when the user is physically attacked for a set number of autocasts. If the user is struck with a Nature property attack, the user will retaliate with a stronger physical attack, which has a 50% chance of leaving the attacker poisoned. This skill will end after a set duration, reaching the autocast limit or performing one poison counter.
+
+SC_SLOWPOISON
+Stops the HP drain from the Poison status effect that affects a single target. It does not nullify the defense drop from the forementioned status effect. (no params)
+
+SC_SUFFRAGIUM
+Shortens the Variable Cast Time of a single target's next skill. (15%)
+
+SC_BENEDICTIO
+Blesses a targeted location to endow the armor of all players within the area of effect with the Holy property. (no params)
+
+SC_KYRIE <sc3: hits/durability>
+Creates a protective barrier on a single target that blocks every form of physical damage until its durability wears off or expires. Its durability is a portion of the target's Max HP. This skill cannot be used in conjunction with Assumptio.
+
+*SC_GLORIA
+Temporarily boosts LUK by 30 to the user and party members.
+
+SC_LEXAETERNA
+Weakens a single target so it can take double damage from the next incoming attack. Healing, misses, status effects and the retaliation from Shield Reflect do not trigger the effect. (PVP or used versus monsters. no params)
+
+SC_MAXIMIZEPOWER
+Alters the damage variance of the equipped weapon to inflict the maximum of its damage. Maintaining this skill active will drain SP. (args = sp drain?)
+
+SC_ENERGYCOAT
+Coats the caster with spiritual energy to buffer all incoming damage temporarily. The more remaining SP the caster has, the more damage is buffered and the more SP is drained. (no params?)
+
+SC_ASSUMPTIO
+Places a temporary buff on a single target that doubles their Hard Defense and Hard Magic Defense. This skill cannot be used in conjunction with Kyrie Eleison and Kaite.
+
+// SC_GDSKILL_BATTLEORDER
+-- SC_LEADERSHIP (aura)
+-- SC_GLORYWOUNDS (aura)
+-- SC_SOULCOLD (aura)
+-- SC_HAWKEYES (aura)
+
+SC_HUMMING
+Increase HIT of players in the area of effect by +2 per SkillLV. The accuracy rate increased by this skill is affected by Dancing Lesson skill level and DEX of the caster. (integer value)
+
+*/
+
+// GD_allboost ( lv{, target} )
+// Increases all stats
+function script GD_allboost {
+ .@lv=getarg(0, @skillLv);
+ .@t$=getarg(1, "filter_sameguild");
+ // range, time, SC, BL, power, filter
+ areasc(3+.@lv, 40000+(5000*.@lv), SC_INCALLSTATUS, BL_PC, .@lv, .@t$);
+ return;
+}
+
+
+// GD_regeneration ( lv )
+// 12x12 HP and MP recovery
+function script GD_regenerating {
+ .@lv=getarg(0, @skillLv);
+ .@t$=getarg(1, "filter_sameguild");
+ // range, time, SC, BL, power, filter
+ areasc(12, 8000+(1000*.@lv), SC_GDSKILL_REGENERATION, BL_PC, 15+(5*.@lv), .@t$);
+ return;
+}
+
+
+// GD_defboost ( lv )
+// Places a temporary buff on the user and all party members in a 14x14 area around the user that increases Soft Defense. (VIT def)
+function script GD_defboost {
+ .@lv=getarg(0, @skillLv);
+ .@t$=getarg(1, "filter_sameguild");
+ // range, time, SC, BL, power, filter
+ areasc(4+.@lv, 40000+(5000*.@lv), SC_ANGELUS, BL_PC, .@lv*4, .@t$);
+ return;
+}
+
+
+// GD_atkboost ( lv )
+// Places a temporary buff on a single target that increases STR, DEX and INT. (The damage dealing stats)
+function script GD_atkboost {
+ .@lv=getarg(0, @skillLv);
+ .@t$=getarg(1, "filter_sameguild");
+ // range, time, SC, BL, power, filter
+ areasc(4+.@lv, 40000+(5000*.@lv), SC_BLESSING, BL_PC, .@lv*2, .@t$);
+ return;
+}
+
+
+// GD_atkboost2 ( lv )
+// Blesses a single target's weapon to increase its attack power
+function script GD_atkboost2 {
+ .@lv=getarg(0, @skillLv);
+ .@t$=getarg(1, "filter_sameguild");
+ // range, time, SC, BL, power, filter
+ areasc(4+.@lv, 40000+(5000*.@lv), SC_IMPOSITIO, BL_PC, 5+(5*.@lv), .@t$);
+ return;
+}
+
+
+// GD_critboost ( lv )
+// Boost the critical hit rate
+function script GD_critboost {
+ .@lv=getarg(0, @skillLv);
+ .@t$=getarg(1, "filter_sameguild");
+ // range, time, SC, BL, 1, power, filter
+ areasc(1+.@lv, 30000+(5000*.@lv), SC_FORTUNE, BL_PC, 3*.@lv, .@t$);
+ return;
+}
+
+
+// GD_autorevive ( lv )
+// Automatically revive guild mates once they die - VERY IMPORTANT SKILL
+// Will not stick on you - if you die, YOU ARE DEAD.
+// After being resurrected Kaizel is dispelled but you have a 2 seconds lasting Kyrie Eleison (Absolute shield) buff.
+function script GD_autorevive {
+ .@lv=getarg(0, @skillLv);
+ // range, time, SC, BL, 1, power, filter
+ areasc(2+.@lv, 25000+10000*.@lv, SC_KAIZEL, BL_PC, 10*.@lv, "filter_sameguildnotyou");
+ return;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+// SK_maximizepower ( lv )
+// Damage always at max
+function script SK_maximizepower {
+ .@lv=getarg(0, @skillLv);
+ // range, time, SC, BL, power, filter
+ areasc(1+.@lv, 60000*.@lv, SC_MAXIMIZEPOWER, BL_PC, 1, "filter_sameguildorparty");
+ return;
+}
+
+
+// SK_spregen ( lv )
+// Temporarily doubles the SP Recovery rate of the user.
+function script SK_spregen {
+ .@lv=getarg(0, @skillLv);
+ // range, time, SC, BL, 1, power, filter
+ areasc(.@lv, 20000+(10000*.@lv), SC_MAGNIFICAT, BL_PC, 1, "filter_sameguildorparty");
+ return;
+}
+
diff --git a/npc/magic/mpregen.txt b/npc/magic/mpregen.txt
new file mode 100644
index 0000000..dc8ad2b
--- /dev/null
+++ b/npc/magic/mpregen.txt
@@ -0,0 +1,57 @@
+// TMW2 script
+// Author: Jesusalva <jesusalva@tmw2.org>
+//
+// Magic Script: -
+//
+// mpgen to make mana from HP
+
+function script SK_mpregen {
+ // Convert HP to mana (20% HP - 1) (To prevent 5 casts from killing)
+ .@basehp=(MaxHp/5)-1;
+ // How much MP is that worth?
+ // Well, 400HP:120MP so base formula is 4:1
+ // Let's have a 50% penalty, so, 6:1
+ .@lv=getskilllv(TMW2_MPREGEN);
+ .@ratio=max(40, 60-.@lv);
+ .@mpheal=.@basehp*.@ratio/100;
+ heal -.@basehp, .@mpheal;
+ // Temporarily block healing and regeneration skills
+ SC_Bonus(1+.@lv, SC_HALT_REGENERATION, 1);
+ return;
+}
+
+function script SK_transfermp {
+ .@mp = Sp;
+ .@me = getcharid(3);
+ .@tg = getarg(0, @skillTarget);
+ detachrid();
+ attachrid(.@tg);
+ .@mo = MaxSp - Sp;
+ // Heal will be the smallest from:
+ // Current MP or Missing Mp
+ .@vl = min(.@mo, .@mp);
+ Sp += .@vl;
+ detachrid();
+ attachrid(.@me);
+ Sp -= .@vl;
+ return;
+}
+
+/*
+- script sk#mpgen 32767,{
+ end;
+
+OnCall:
+ // Must have magic
+ if (!MAGIC_LVL)
+ end;
+
+ unitskilluseid(getcharid(3), TMW2_MPREGEN, 1, getcharid(3));
+ end;
+
+OnInit:
+ bindatcmd "sk-mpgen", "sk#mpgen::OnCall", 0, 100, 0;
+ end;
+}
+*/
+
diff --git a/npc/magic/ovh.txt b/npc/magic/ovh.txt
new file mode 100644
index 0000000..476be29
--- /dev/null
+++ b/npc/magic/ovh.txt
@@ -0,0 +1,13 @@
+// TMW2 script
+// Author: Jesusalva <admin@tmw2.org>
+//
+// Magic Script: TMW2_OVHFIRE
+//
+// Burns down the user to a toast, but they'll survive, because they are awesome.
+
+function script SK_OVHFire {
+ specialeffect FX_HELLBLAZE, AREA, getcharid(3);
+ return;
+}
+
+
diff --git a/npc/magic/parum.txt b/npc/magic/parum.txt
new file mode 100644
index 0000000..3fa73bc
--- /dev/null
+++ b/npc/magic/parum.txt
@@ -0,0 +1,56 @@
+// TMW2 script
+// Author: Jesusalva <admin@tmw2.org>
+//
+// Magic Script: TMW2_PARUM
+//
+// Attempts to transmutate Raw Logs.
+// May create arrows, Mouboo Figurines, Warped Logs.
+// With enough ManaExp may create WoodenLog.
+// Is not powerful enough to create overly complex stuff like Wooden Sword, Wooden Shield or Wooden Bow
+// Final item is random
+// TODO: Using too much transmutation magic may have dire consequences! Like, uh, transmutating your head!
+// Nah, it is probably just propaganda... I hope. ¬.¬
+
+function script SK_parum {
+ // Create the stuff based on MAGIC_EXP
+ .@r=rand(1,41);
+ // Each 2 mexp reduces chance to get a fail
+ if (.@r < 42-(MAGIC_EXP/2)) {
+ getitem WarpedLog, 1;
+ } else {
+ // Proeficiency makes more likely to finish it
+ if (.@r > 30-abizit())
+ getitem MoubooFigurine, 1;
+ else if (.@r > 20-abizit() && MAGIC_EXP > 82)
+ getitem WoodenLog, 1;
+ else
+ getitem Arrow, .@r;
+ }
+ // I know, the code is not very sane. A number from 0 to 40 is cast.
+ // You will get lots of useless Warped Logs until you have 82 MExp.
+ // If you do not get a Warped Log, you have 25% chances of getting the
+ // Mouboo figurine. The other will be arrows, unless you hit the 82 MExp value
+ // which will add 25% chances to get a Wooden Log too. These values are estimate.
+
+ // Get a few mana experience points (this is NOT used by Mana Stone)
+ GetManaExp(TMW2_PARUM, rand2(1,3));
+ return;
+}
+
+- script sk#parum 32767,{
+ end;
+
+/*
+OnFriendlyDeath:
+ emote 4;
+ end;
+*/
+
+OnCall:
+ // Deprecated
+ dispbottom l("The usage of @sk-commands was deprecated");
+ end;
+
+OnInit:
+ end;
+}
diff --git a/npc/magic/plantkingdom.txt b/npc/magic/plantkingdom.txt
new file mode 100644
index 0000000..d6765fb
--- /dev/null
+++ b/npc/magic/plantkingdom.txt
@@ -0,0 +1,62 @@
+// TMW2 script
+// Author: Jesusalva <admin@tmw2.org>
+//
+// Magic Script: TMW2_PLANTKINGDOM
+//
+// Summons plants
+
+- script sk#plantkingdom 32767,{
+ end;
+
+OnCall:
+ // Blocked from summoning magic
+ if (alignment() < 0)
+ return;
+
+ // Other requeriments: 2x Root
+ if (countitem(Root) < 2) {
+ dispbottom l("You need 2x @@ to cast this skill.", getitemlink(Root));
+ end;
+ }
+
+ // Check cooldown
+ if (@plantkingdom_at > gettimetick(2)) {
+ dispbottom l("Skill is in cooldown for @@.", FuzzyTime(@plantkingdom_at));
+ end;
+ }
+
+ // Setup
+ @sk=TMW2_PLANTKINGDOM;
+ @mp=30;
+ @amp=3;
+
+ // Check if you have mana to cast
+ // MagicCheck(SkillID, Mana{, MP per level})
+ if (!MagicCheck(@sk, @mp, @amp))
+ end;
+
+ // Destroy reagents
+ delitem Root, 2;
+
+ // set cooldown
+ @plantkingdom_at=gettimetick(2);
+ @plantkingdom_at=@plantkingdom_at+54;
+
+ // As usual, magic profeciency affects
+ if (rand(1,6) < abizit()+1) {
+ // Summon Magic
+ // SummonMagic(SkillID, MobID{, SkillLevelPerMob=2{, Level Override}})
+ SummonMagic(@sk, any(ShadowPlant, AlizarinPlant, CobaltPlant, MauvePlant, GambogePlant, PlushroomField, ChagashroomField, MananaTree, CrocoTree, AlizarinPlant, CobaltPlant, MauvePlant, GambogePlant), 2, MAGIC_LVL+getskilllv(@sk)-1);
+ } else {
+ dispbottom l("The spell fails!");
+ }
+
+ // Get 3~4 mana experience point (this is NOT used by Mana Stone)
+ GetManaExp(@sk, rand2(3,4));
+
+ end;
+
+OnInit:
+ bindatcmd "sk-plantkingdom", "sk#plantkingdom::OnCall", 0, 100, 0;
+ end;
+}
diff --git a/npc/magic/revive.txt b/npc/magic/revive.txt
new file mode 100644
index 0000000..96620c7
--- /dev/null
+++ b/npc/magic/revive.txt
@@ -0,0 +1,52 @@
+// TMW2 script
+// Author: Jesusalva <admin@tmw2.org>
+//
+// Magic Script: TMW2_REVIVE
+// Magic Script: TMW2_RESSURECT
+//
+// Skill to revive players
+// TODO: Reimburse EXP?
+
+// revive target (level, target)
+function script SK_resurrect {
+ .@lv=getarg(0);
+ .@tg=getarg(1);
+ .@me=getcharid(3);
+ attachrid(.@tg);
+ if (ispcdead()) {
+ recovery(.@tg);
+ percentheal 100, 0;
+ percentheal -(100 - 10 * .@lv), 0;
+ }
+ detachrid();
+ attachrid(.@me);
+ return;
+}
+
+// revives getarg(0)
+function script SK_revive {
+ .@target=getarg(0);
+ if (getunittype(.@target) != UNITTYPE_PC) {
+ dispbottom l("This skill can only be used on players!");
+ return;
+ }
+ recovery(.@target);
+ return;
+}
+
+// revive in getarg(0) range from caster
+function script SK_ressurect {
+ .@r=getarg(0);
+ getmapxy(.@m$, .@x, .@y, 0);
+ recovery(.@m$, .@x-.@r, .@y-.@r, .@x+.@r, .@y+.@r);
+ return;
+}
+
+// revives the whole map [ULTIMATE]
+function script SK_sanctum {
+ BaseLevel-=1; // Maybe EXP Gain -300% for a hour?
+ recovery(getmap());
+ //maptimer AUTOREVIVE 15 minutes
+ return;
+}
+
diff --git a/npc/magic/scrolls.txt b/npc/magic/scrolls.txt
new file mode 100644
index 0000000..6df45c4
--- /dev/null
+++ b/npc/magic/scrolls.txt
@@ -0,0 +1,36 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Scroll System
+
+// SummonScroll(mob, life, {mob2, minlv})
+function script SummonScroll {
+ .@mob = getarg(0);
+ .@tim = getarg(1, 60);
+ .@mbb = getarg(2, 0);
+ .@blv = getarg(3, 0);
+
+ // Depending on alignment status, invoke superior form
+ if (alignment_cansummon() && alignment() > 1 && BaseLevel > .@blv && .@mbb) {
+ .@mids = summon("Summoned Monster", .@mbb, .@tim);
+ } else {
+ .@mids = summon("Summoned Monster", .@mob, .@tim);
+ }
+
+ // Reconfigure monster modes
+ .@opt=getunitdata(.@mids, UDT_MODE);
+ // Disable looting
+ if (.@opt & MD_LOOTER)
+ .@opt=.@opt^MD_LOOTER;
+ // All summons can suffer knockback
+ if (.@opt & MD_NOKNOCKBACK)
+ .@opt=.@opt^MD_NOKNOCKBACK;
+ // Strip summons from BOSS mode and immunity
+ if (.@opt & MD_BOSS)
+ .@opt=.@opt^MD_BOSS;
+ // Save new options
+ setunitdata(.@mids, UDT_MODE, .@opt);
+ return;
+}
+
diff --git a/npc/magic/study.txt b/npc/magic/study.txt
new file mode 100644
index 0000000..b747f8b
--- /dev/null
+++ b/npc/magic/study.txt
@@ -0,0 +1,48 @@
+// TMW2 script
+// Author: Jesusalva <admin@tmw2.org>
+//
+// Magic Script: TMW2_STUDY
+//
+// Skill to study a target monster
+// Will report the monster exact current stats, and is part of research
+
+function script SK_study {
+ .@mobGD=getarg(0);
+ if (.@mobGD <= 0)
+ return;
+
+ // We want monsters
+ if (getunittype(.@mobGD) != UNITTYPE_MOB) {
+ dispbottom l("This skill can only be used on monsters!");
+ return;
+ }
+ .@mobID=getunitdata(.@mobGD, UDT_CLASS);
+
+ // Research Points
+ if (array_rfind(@study, .@mobGD) < 0) {
+ .@mult=max(1, 11-getskilllv(TMW2_STUDY));
+ .@rp=getmonsterinfo(.@mobID, MOB_LV)/.@mult;
+ array_push(@study, .@mobGD);
+ if (.@rp) {
+ MAGIC_RP+=.@rp;
+ dispbottom l("Research Points +%d", .@rp);
+ }
+ }
+
+ // Report
+ dispbottom l("%s - %s/%s HP, %s/%s MP",
+ getmonsterinfo(.@mobID, MOB_NAME),
+ fnum(getunitdata(.@mobGD, UDT_HP)),
+ fnum(getunitdata(.@mobGD, UDT_MAXHP)),
+ fnum(getunitdata(.@mobGD, UDT_SP)),
+ fnum(getunitdata(.@mobGD, UDT_MAXSP)));
+
+ // Truncate.
+ // We're saving the GID so it must be "big enough"
+ // But not too big so rfind() is not expensive
+ if (getarraysize(@study) > 99) {
+ deletearray(@study, 30);
+ }
+ return;
+}
+
diff --git a/npc/magic/transmigration.txt b/npc/magic/transmigration.txt
new file mode 100644
index 0000000..f16f854
--- /dev/null
+++ b/npc/magic/transmigration.txt
@@ -0,0 +1,330 @@
+// TMW2 script
+// Author: Jesusalva <admin@tmw2.org>
+//
+// Magic Script: TMW2_TRANSMIGRATION
+//
+// Attempts to make stuff from other stuff
+// This is actually referred as transmutation in human-readable forms, and
+// transmigration in scripts.
+
+- script sk#mkpot 32767,{
+ end;
+OnCall:
+ // Check cooldown
+ if (@mkpot_at > gettimetick(2)) {
+ dispbottom l("Skill is in cooldown for @@.", FuzzyTime(@mkpot_at));
+ end;
+ }
+
+ // Check requisites
+ if (!MagicCheck(TMW2_TRANSMIGRATION, 215, -5))
+ end;
+
+ .@q=getq(General_Auldsbel);
+
+ do {
+ mes ".:: " + l("Transmutation Skill") + " ::.";
+ mesc l("What will you transmute today?");
+ mes "";
+ menuint
+ rif(@transmemo, l("Repeat ")+getitemname(@transmemo)), @transmemo,
+ l("Crazy Rum"), CrazyRum,
+ l("Coal"), 9901, // 9901 cheat code
+ l("Mouboo Figurine"), MoubooFigurine,
+ rif(.@q >= 9, l("Downgrade Snake Skin")), SnakeSkin,
+ rif(.@q >= 9, l("Downgrade Snake Egg")), SnakeEgg,
+ rif(.@q >= 9, l("Downgrade Snake Tongue")), SnakeTongue,
+ rif(.@q >= 7, l("Downgrade Scorpion Stinger")), ScorpionStinger,
+ rif(.@q >= 7, l("Downgrade Scorpion Claw")), ScorpionClaw,
+ l("Downgrade Ore"), IronOre;
+
+ mes "";
+ .@itemid=(@menuret == 9901 ? Coal : @menuret);
+ mesc l("Transmutating @@ will require:", getitemlink(@menuret));
+
+ // Requeriments listing
+ switch (@menuret) {
+ case CrazyRum:
+ mesc l("* @@/@@ @@", countitem(Plushroom), 10, getitemlink(Plushroom));
+ mesc l("* @@/@@ @@", countitem(Milk), 3, getitemlink(Milk));
+ break;
+ case 9901: // This is coal
+ mesc l("* @@/@@ @@", countitem(WoodenLog), 5, getitemlink(WoodenLog));
+ break;
+ case MoubooFigurine:
+ mesc l("* @@/@@ @@", countitem(WoodenLog), 1, getitemlink(WoodenLog));
+ break;
+ case SnakeSkin:
+ menuint
+ l("Black Mamba Skin -> Mountain Snake Skin"), MountainSnakeSkin,
+ l("Mountain Snake Skin -> Snake Skin"), SnakeSkin,
+ l("Snake Skin -> Cave Snake Skin"), CaveSnakeSkin,
+ l("Cancel");
+ break;
+ case SnakeEgg:
+ menuint
+ l("Black Mamba Egg -> Mountain Snake Egg"), MountainSnakeEgg,
+ l("Mountain Snake Egg -> Snake Egg"), SnakeEgg,
+ l("Snake Egg -> Cave Snake Egg"), CaveSnakeEgg,
+ l("Cancel");
+ break;
+ case SnakeTongue:
+ menuint
+ l("Black Mamba Tongue -> Mountain Snake Tongue"), MountainSnakeTongue,
+ l("Mountain Snake Tongue -> Snake Tongue"), SnakeTongue,
+ l("Snake Tongue -> Cave Snake Tongue"), CaveSnakeTongue,
+ l("Cancel");
+ break;
+ case ScorpionStinger:
+ menuint
+ l("Black Scorpion Stinger -> Red Scorpion Stinger"), RedScorpionStinger,
+ l("Red Scorpion Stinger -> Scorpion Stinger"), ScorpionStinger,
+ l("Cancel");
+ break;
+ case ScorpionClaw:
+ menuint
+ l("Golden Scorpion Claw -> Black Scorpion Claw"), BlackScorpionClaw,
+ l("Black Scorpion Claw -> Red Scorpion Claw"), RedScorpionClaw,
+ l("Red Scorpion Claw -> Scorpion Claw"), ScorpionClaw,
+ l("Cancel");
+ break;
+ case IronOre:
+ menuint
+ l("Platinum Ore -> Iridium Ore"), IridiumOre,
+ l("Iridium Ore -> Titanium Ore"), TitaniumOre,
+ l("Titanium Ore -> Lead Ore"), LeadOre,
+ l("Lead Ore -> Tin Ore"), TinOre,
+ l("Tin Ore -> Gold Ore"), GoldOre,
+ l("Gold Ore -> Silver Ore"), SilverOre,
+ l("Silver Ore -> Copper Ore"), CopperOre,
+ l("Copper Ore -> Iron Ore"), IronOre,
+ l("Iron Ore -> Coal"), Coal,
+ l("Cancel"), 0;
+ break;
+ default:
+ Exception("ERROR, INVALID TRANSMIGRATION OPTION", RB_DEFAULT|RB_SPEECH); @menuret=0; break;
+ }
+ // Confirmation
+ if (@menuret) {
+ next;
+ mesc l("Transmute?!");
+ .@me=@menuret;
+ if (askyesno() == ASK_NO)
+ @menuret=0;
+ else
+ @menuret=.@me;
+ }
+ } while (!@menuret);
+
+ // Close the dialog
+ closeclientdialog;
+
+ // Check and Consume the reagents
+ switch (@menuret) {
+ case CrazyRum:
+ if (!transcheck(Plushroom, 10, Milk, 3)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ case MoubooFigurine:
+ if (!transcheck(WoodenLog, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ case 9901: // Coal cheat code
+ if (!transcheck(WoodenLog, 5)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ .@me=WoodenLog;
+ @menuret=Coal;
+ break;
+ // Snake Skin Chain
+ case MountainSnakeSkin:
+ if (!transcheck(BlackMambaSkin, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ case SnakeSkin:
+ if (!transcheck(MountainSnakeSkin, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ case CaveSnakeSkin:
+ if (!transcheck(SnakeSkin, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ // Snake Egg Chain
+ case MountainSnakeEgg:
+ if (!transcheck(BlackMambaEgg, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ case SnakeEgg:
+ if (!transcheck(MountainSnakeEgg, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ case CaveSnakeEgg:
+ if (!transcheck(SnakeEgg, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ // Snake Tongue Chain
+ case MountainSnakeTongue:
+ if (!transcheck(BlackMambaTongue, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ case SnakeTongue:
+ if (!transcheck(MountainSnakeTongue, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ case CaveSnakeTongue:
+ if (!transcheck(SnakeTongue, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ // Scorpion Stinger Chain
+ case RedScorpionStinger:
+ if (!transcheck(BlackScorpionStinger, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ case ScorpionStinger:
+ if (!transcheck(RedScorpionStinger, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ // Scorpion Claw Chain
+ case BlackScorpionClaw:
+ if (!transcheck(GoldenScorpionClaw, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ case RedScorpionClaw:
+ if (!transcheck(BlackScorpionClaw, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ case ScorpionClaw:
+ if (!transcheck(RedScorpionClaw, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ // Ore Chain (the biggest one)
+ case IridiumOre:
+ if (!transcheck(PlatinumOre, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ case TitaniumOre:
+ if (!transcheck(IridiumOre, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ case LeadOre:
+ if (!transcheck(TitaniumOre, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ case TinOre:
+ if (!transcheck(LeadOre, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ case GoldOre:
+ if (!transcheck(TinOre, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ case SilverOre:
+ if (!transcheck(GoldOre, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ case CopperOre:
+ if (!transcheck(SilverOre, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ case IronOre:
+ if (!transcheck(CopperOre, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+ case Coal:
+ if (!transcheck(IronOre, 1)) {
+ dispbottom l("Not enough items!");
+ end;
+ }
+ break;
+
+ default:
+ Exception("ERROR, INVALID TRANSMIGRATION REAGENTS", RB_DEFAULT|RB_SPEECH|RB_ISFATAL); break;
+ }
+
+ // Do the roll from 1 to 100
+ // Base success chance is 0%
+ // Each abizit() point gives you 18% success rate (max 90%)
+ // Each skill level gives you 1% success rate (max 10%)
+ .@r=rand2(1, 100)-abizit()*18-getskilllv(TMW2_TRANSMIGRATION);
+
+ // Backfire chance: 30%
+ if (.@r >= 70) {
+ dispbottom l("The spell backfires!");
+ percentheal -(rand2(5, 15)), 0;
+ // Chance for nothing to happen
+ } else if (.@r >= 30) {
+ dispbottom l("Your reagents vanish into emptiness!");
+ // Chance for you getting a junk item
+ } else if (.@r > 0) {
+ dispbottom l("Your spell takes a mind of its own and shapes in something else!");
+ getitem any(WarpedLog, .@me), 1;
+ // You were successful
+ } else {
+ dispbottom l("*plim*");
+ getitem @menuret, 1;
+ }
+
+ // Store to memory
+ @transmemo=.@me;
+
+ // set cooldown
+ @mkpot_at=gettimetick(2);
+ @mkpot_at=@mkpot_at+6;
+
+ // Get a few mana experience points (this is NOT used by Mana Stone)
+ GetManaExp(TMW2_TRANSMIGRATION, rand2(4,9));
+ end;
+
+OnInit:
+ bindatcmd "sk-trans", "sk#mkpot::OnCall", 0, 100, 0;
+ end;
+}
diff --git a/npc/re/scripts_main.conf b/npc/re/scripts_main.conf
new file mode 100644
index 0000000..8574cb9
--- /dev/null
+++ b/npc/re/scripts_main.conf
@@ -0,0 +1,4 @@
+// Only files that are included here will be read by the server
+npc_global_list: (
+@include "npc/scripts.conf"
+) // npc_global_list
diff --git a/npc/scripts.conf b/npc/scripts.conf
new file mode 100644
index 0000000..e51c7e4
--- /dev/null
+++ b/npc/scripts.conf
@@ -0,0 +1,156 @@
+// This is the main script import file
+
+// Critical functions
+"npc/functions/permissions.txt",
+"npc/functions/string.txt",
+"npc/functions/main.txt",
+"npc/functions/array.txt",
+"npc/functions/bitwise.txt",
+"npc/functions/math.txt",
+"npc/functions/vault.txt",
+"npc/functions/util.txt",
+
+// General-purpose Framework functions
+"npc/functions/input.txt",
+"npc/functions/time.txt",
+"npc/functions/timer.txt",
+"npc/functions/seasons.txt",
+"npc/functions/weather.txt",
+
+// These functions need to be loaded before everything else
+"npc/functions/goodbye.txt",
+"npc/functions/openbook.txt",
+
+// Important functions
+"npc/functions/asklanguage.txt",
+"npc/functions/game-rules.txt",
+"npc/functions/inventoryplace.txt",
+"npc/functions/scoreboards.txt",
+"npc/functions/random-talk.txt",
+"npc/items/rand_mp_heal.txt",
+"npc/items/rand_sc_heal.txt",
+"npc/items/legacy_heal.txt",
+"npc/items/inc_sc_bonus.txt",
+"npc/commands/kami.txt",
+"npc/commands/event.txt",
+
+// config script
+"npc/config/hairstyle_config.txt",
+"npc/config/location.txt",
+"npc/config/traps.txt",
+"npc/config/magic.txt",
+"npc/functions/maze.txt",
+
+// Misc functions
+"npc/functions/aurora.txt",
+"npc/functions/estate.txt",
+"npc/functions/barber.txt",
+"npc/functions/bank.txt",
+"npc/functions/daily.txt",
+"npc/functions/doors.txt",
+"npc/functions/event.txt",
+"npc/functions/fishing.txt",
+"npc/functions/guild.txt",
+"npc/functions/hammocks.txt",
+"npc/functions/honor.txt",
+"npc/functions/lockpicks.txt",
+"npc/functions/marriage.txt",
+"npc/functions/mobpoint.txt",
+"npc/functions/mobhunter.txt",
+"npc/functions/mounts.txt",
+"npc/functions/news.txt",
+"npc/functions/npcmove.txt",
+"npc/functions/npcmovegraph.txt",
+"npc/functions/nurse.txt",
+"npc/functions/petsales.txt",
+"npc/functions/politics.txt",
+"npc/functions/refine.txt",
+"npc/functions/resetstatus.txt",
+"npc/functions/riddle.txt",
+"npc/functions/shake.txt",
+"npc/functions/shops.txt",
+"npc/functions/siege.txt",
+"npc/functions/soul_menhir.txt",
+"npc/functions/teleporter.txt",
+"npc/functions/treasure.txt",
+
+"npc/functions/filters.txt",
+
+// Item functions
+"npc/items/alcohol.txt",
+"npc/items/arcmage.txt",
+"npc/items/books.txt",
+"npc/items/croconut.txt",
+"npc/items/emptybox.txt",
+"npc/items/grenade.txt",
+"npc/items/lofteleporter.txt",
+"npc/items/maps.txt",
+"npc/items/mercenary.txt",
+"npc/items/miscrecipes.txt",
+"npc/items/shovel.txt",
+"npc/items/teleporter.txt",
+"npc/items/valentine.txt",
+
+// Crafting System
+"npc/craft/options.txt",
+"npc/craft/alchemy.txt",
+"npc/craft/smith.txt",
+"npc/craft/tweak.txt",
+"npc/craft/recipes.txt",
+"npc/craft/price.txt",
+
+// custom atcommands
+"npc/commands/music.txt",
+"npc/commands/exp.txt",
+"npc/commands/debug-look.txt",
+"npc/commands/debug-quest.txt",
+"npc/commands/debug.txt",
+"npc/commands/discord.txt",
+"npc/commands/grantpower.txt",
+"npc/commands/ipcheck.txt",
+"npc/commands/language.txt",
+"npc/commands/mobinfo.txt",
+"npc/commands/motd.txt",
+"npc/commands/python.txt",
+"npc/commands/rate-management.txt",
+"npc/commands/resync.txt",
+"npc/commands/rent.txt",
+"npc/commands/scheduled-broadcasts.txt",
+"npc/commands/shroom.txt",
+"npc/commands/super-menu.txt",
+"npc/commands/titulate.txt",
+"npc/commands/warp.txt",
+"npc/commands/welcome.txt",
+"npc/commands/wgm.txt",
+"npc/commands/ucp.txt",
+
+// Magic Commands
+"npc/magic/abizit.txt",
+"npc/magic/demure.txt",
+"npc/magic/dragokin.txt",
+"npc/magic/drops.txt",
+"npc/magic/forget.txt",
+"npc/magic/guild.txt",
+"npc/magic/mpregen.txt",
+"npc/magic/ovh.txt",
+"npc/magic/parum.txt",
+"npc/magic/plantkingdom.txt",
+"npc/magic/revive.txt",
+"npc/magic/study.txt",
+"npc/magic/transmigration.txt",
+"npc/magic/scrolls.txt",
+"npc/magic/magic_blackbox.txt",
+
+// These are to be proccessed later
+"npc/functions/clientversion.txt",
+"npc/functions/estate2.txt",
+"npc/functions/hub.txt",
+"npc/functions/mkbot.txt",
+"npc/functions/gmbot.txt",
+"npc/functions/instances.txt",
+"npc/functions/captcha.txt",
+"npc/functions/dungeon.txt",
+"npc/config/easteregg_blackbox.txt",
+
+// Maps specific scripts
+@include "npc/_import.txt"
diff --git a/npc/sec_pri/_import.txt b/npc/sec_pri/_import.txt
new file mode 100644
index 0000000..085dd0a
--- /dev/null
+++ b/npc/sec_pri/_import.txt
@@ -0,0 +1,3 @@
+// Map sec_pri: Jesusalva's Jail
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/sec_pri/mapflags.txt",
diff --git a/npc/sec_pri/mapflags.txt b/npc/sec_pri/mapflags.txt
new file mode 100644
index 0000000..4876bb5
--- /dev/null
+++ b/npc/sec_pri/mapflags.txt
@@ -0,0 +1,2 @@
+sec_pri mapflag zone Jail
+botcheck mapflag zone Jail
diff --git a/npc/soren-2/_import.txt b/npc/soren-2/_import.txt
new file mode 100644
index 0000000..f1e16d2
--- /dev/null
+++ b/npc/soren-2/_import.txt
@@ -0,0 +1,5 @@
+// Map soren-2: Soren House
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/soren-2/_warps.txt",
+"npc/soren-2/main.txt",
+"npc/soren-2/mapflags.txt",
diff --git a/npc/soren-2/_warps.txt b/npc/soren-2/_warps.txt
new file mode 100644
index 0000000..0227141
--- /dev/null
+++ b/npc/soren-2/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map soren-2: Soren House warps
+soren-2,32,37,0 warp #soren-2_32_37 0,0,soren,105,58
diff --git a/npc/soren-2/main.txt b/npc/soren-2/main.txt
new file mode 100644
index 0000000..d732bf8
--- /dev/null
+++ b/npc/soren-2/main.txt
@@ -0,0 +1,238 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Celestia Yeti King's quest. This controls Soren's House Indoors. It will
+// handle Lobby event, and is called by Soren's House script.
+// It'll then spawn monsters and/or items, but with addtimer technology.
+// Once all monsters are dead, and minimum time is over, a portal will show up.
+// This later control is done by npctimer. The spawn logic continues, though.
+// The addtimer will use compareandsetq, and the warp will use it too, so if
+// you haven't spawned your quota, you won't be able to use the portal.
+//
+// The use of compareandsetq HurnscaldQuest_Celestia
+// Ensures you're NOT capable of skipping to final stage in order to finish
+// the quest. Nice attempt, but that won't work. The scripts will advance,
+// but you'll stay at the same quest state, and when it's checked, you will
+// be with bound hands.
+//
+// OnCheck:
+// Everytime you kill a monster, this checks if all mobs are dead, and you
+// have finished your share of spawns. Friends can really make your life
+// harder.
+// OnSanctum:
+// This runs every once in a while, and may either spawn things, or drop
+// items. ...Needless to say, if it spawn things, everyone on the room will
+// get mad at you. Luck you, here's not PVP.
+//
+// One last thing. If you're way past your share, you'll get warnings about
+// messing other players life. Simply use the warp, or leave the house and
+// come back. If you don't, you'll be kicked from the game via @kick.
+// Why? Because Jesusalva did this script.
+
+soren-2,38,29,0 script #SorenSanctum NPC_NO_SPRITE,0,0,{
+ if (@sorensanctum == 0 && $@GM_OVERRIDE && is_admin())
+ doevent("#SorenSanctum::OnStart");
+ end;
+
+OnTouch:
+ if (@sorensanctum >= 5 && !mobcount(.map$, "#SorenSanctum::OnCheck")) {
+ /*
+ dispbottom l("Error, contact Jesusalva! Missing warp. Healing & Reseting temporaly.");
+ percentheal 100, 100;*/
+ @sorensanctum=0;
+ compareandsetq HurnscaldQuest_Celestia, 4, 5;
+ warp "001-7", 30, 42;
+ }
+ end;
+
+OnCheck:
+ // This doesn't works (or didn't used to), maybe because the way it's called
+ if (!mobcount("soren-2", "#SorenSanctum::OnCheck"))
+ setnpcdisplay "#SorenSanctum", NPC_SUMMONING_CIRC;
+ else
+ setnpcdisplay "#SorenSanctum", NPC_NO_SPRITE;
+ // Repeat if possible
+ if (!playerattached())
+ end;
+ if (getmap() == "soren-2")
+ addtimer2(10000, "#SorenSanctum::OnCheck");
+ end;
+
+OnSanctum:
+ ++@sorensanctum;
+ if (ispcdead() || !isin("soren-2", 24, 27, 40, 36))
+ end;
+
+ // Decide if we'll spawn or add items. Previous failures are NOT considerated.
+ .@odds=rand(1, 10000);
+ .@amount=(rand2(0, 5)/2)+1;
+ .@lx=24; .@ly=27;
+ .@ux=40; .@uy=36;
+
+ // Core Logic, Part 1
+ // Decide rarity
+
+ // 1%: Super Rare drop
+ // 9%: Rare Drop
+ // 20%: Normal Drop
+ // 40%: Normal Spawn
+ // 10%: Rare Spawn
+ // 19%: Drop + Spawn
+ // 1%: Super Rare Spawn
+
+ if (.@odds <= 100 || .@odds >= 9900) {
+ .@bonus=2;
+ } else if (.@odds <= 1000 || (.@odds >= 7000 && .@odds < 8000)) {
+ .@bonus=1;
+ }
+
+ // Generate which monster/item would be dropped, depending on your (un)luck at ODDS (FIXME - Mobs vs Player level)
+ .@mid=rand2(1,10)+.@bonus;
+ switch (.@mid) {
+ case 1:
+ .@monsterId = AngryRedScorpion ; break;
+ case 2:
+ .@monsterId = IceMaggot ; break;
+ case 3:
+ .@monsterId = SeaSlime ; break;
+ case 4:
+ .@monsterId = AlphaMouboo ; break;
+ case 5:
+ .@monsterId = LavaSlime ; break;
+ case 6:
+ .@monsterId = BlackScorpion ; break;
+ case 7:
+ .@monsterId = Snake ; break;
+ case 8:
+ .@monsterId = FallenGuard2 ; break;
+ case 9:
+ .@monsterId = FallenGuard1 ; break;
+ case 10:
+ .@monsterId = Moonshroom ; break;
+ default:
+ .@monsterId = Yeti ; break;
+ }
+ // Item Gen
+ .@mid=rand(1,10)+.@bonus;
+ switch (.@mid) {
+ case 1:
+ .@itemId = Acorn ; break;
+ case 2:
+ .@itemId = Bread ; break;
+ case 3:
+ .@itemId = Aquada ; break;
+ case 4:
+ .@itemId = StrengthPotion ; break;
+ case 5:
+ .@itemId = Plushroom ; break;
+ case 6:
+ .@itemId = Piberries ; break;
+ case 7:
+ .@itemId = Croconut ; break;
+ case 8:
+ .@itemId = Chagashroom ; break;
+ case 9:
+ .@itemId = Manana ; break;
+ case 10:
+ .@itemId = HastePotion ; break;
+ default:
+ .@itemId = rand(CopperOre, TitaniumOre) ; break;
+ }
+
+ // Rare drop
+ if (rand(1,6900) == 1337)
+ .@itemId=RaidTrousers;
+
+ // Core Logic, part 3
+ // Make Items or Monsters
+ if (.@odds <= 3333) {
+ makeitem(.@itemId, 1, .map$, rand(.@lx, .@ux), rand(.@ly, .@uy));
+ } else if (.@odds <= 7000 || .@odds > 9900) {
+ areamonster .map$, .@lx, .@ly, .@ux, .@uy, strmobinfo(1, .@monsterId), .@monsterId, .@amount;
+ } else {
+ areamonster .map$, .@lx, .@ly, .@ux, .@uy, strmobinfo(1, .@monsterId), .@monsterId, .@amount;
+ makeitem(.@itemId, 1, .map$, rand(.@lx, .@ux), rand(.@ly, .@uy));
+ }
+
+ // Revert sprite if needed
+ if (.@odds > 2000) {
+ setnpcdisplay .name$, NPC_NO_SPRITE;
+ } else if (!mobcount(.map$, "#SorenSanctum::OnCheck")) {
+ setnpcdisplay .name$, NPC_SUMMONING_CIRC;
+ }
+
+ // Handle maximum overtime you can do here: 10 cycles, or 3m20s ~ 6m40s
+ if (@sorensanctum == 8) {
+ specialeffect(28);
+ dispbottom col(l("WARNING: Do not spend unecessary time on Soren's House, you'll be disconnected!"), 1);
+ percentheal -5, -20;
+ }
+ if (@sorensanctum == 9) {
+ specialeffect(28);
+ dispbottom col(l("FINAL WARNING: Do not spend unecessary time on Soren's House, you'll be disconnected!!"), 1);
+ percentheal -20, -100;
+ }
+ if (@sorensanctum >= 10) {
+ atcommand "@kick "+strcharinfo(0);
+ npctalk l("The power of Soren's House kicks @@ like a game master.", strcharinfo(0));
+ }
+
+ // Random 20~40 seconds before next cycle. (Minimum 100~200 seconds, or 1m40s~3m20s)
+ // If you're past minimum, it'll be a little slower to don't affect other players too much.
+ // These values are for single player. If there are more users, the timer will tick for longer.
+ if (@sorensanctum < 5)
+ addtimer(rand(15000, 35000)+getusers(1)*5000, "#SorenSanctum::OnSanctum");
+ else
+ addtimer(rand(25000, 35000)+getusers(1)*5000, "#SorenSanctum::OnSanctum");
+
+ // Enforce the policy
+ addtimer2(10000, "#SorenSanctum::OnCheck");
+ goto OnCheck;
+
+
+
+
+OnStart:
+ // If you're not on stage 4, skip this. I could set here to stage 5, so this
+ // intro won't play again. But if it plays again, your progress is reset, and
+ // it is harder this way, so I'm not touching on quest state :>
+ if (getq(HurnscaldQuest_Celestia) != 4)
+ end;
+ addtimer(200, "#SorenSanctum::OnStep1"); // Allow client to update stuff
+ end;
+
+OnStep1:
+ // When we reach here, we have both a player attached, and the player was already warped.
+ // I don't know if you walked in and out the house, though. If you do, this will loop...
+ // Which is actually bad for you, as that will reset your progress!!
+ npctalk3 l("Well well well, @@, good job in reaching Soren's House.", strcharinfo(0));
+ addtimer(3000, "#SorenSanctum::OnStep2");
+ end;
+
+OnStep2:
+ //setnpcdisplay .name$, NPC_YETI_KING;
+ npctalk3 l("You done well in getting so far. I didn't thought you would make it.");
+ addtimer(3000, "#SorenSanctum::OnStep3");
+ end;
+
+OnStep3:
+ npctalk3 l("The Cave Of Trials, and the Soren's Village... There's only one thing left.");
+ addtimer(3000, "#SorenSanctum::OnStep4");
+ end;
+
+OnStep4:
+ npctalk3 l("...You still have not overcome his house.");
+ addtimer(3000, "#SorenSanctum::OnStep5");
+ end;
+
+OnStep5:
+ //setnpcdisplay .name$, NPC_NO_SPRITE;
+ npctalk3 l("Defeat a few waves of Soren's House. Once you're done, this will become a warp. Hurry before it closes.");
+ @sorensanctum=0;
+ addtimer(5000, "#SorenSanctum::OnSanctum");
+ end;
+
+OnInit:
+ end;
+}
diff --git a/npc/soren-2/mapflags.txt b/npc/soren-2/mapflags.txt
new file mode 100644
index 0000000..c3091c0
--- /dev/null
+++ b/npc/soren-2/mapflags.txt
@@ -0,0 +1 @@
+soren-2 mapflag zone MMO
diff --git a/npc/soren/_import.txt b/npc/soren/_import.txt
new file mode 100644
index 0000000..7721a7c
--- /dev/null
+++ b/npc/soren/_import.txt
@@ -0,0 +1,5 @@
+// Map soren: Soren's Village
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/soren/_mobs.txt",
+"npc/soren/main.txt",
+"npc/soren/mapflags.txt",
diff --git a/npc/soren/_mobs.txt b/npc/soren/_mobs.txt
new file mode 100644
index 0000000..79e4d5d
--- /dev/null
+++ b/npc/soren/_mobs.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map soren: Soren's Village mobs
+soren,122,104,102,81 monster Moonshroom 1069,14,60000,60000
+soren,102,84,102,81 monster Forain 1061,5,60000,60000
+soren,103,91,64,40 monster 4144's Tortuga 1004,1,6600000,600000
+soren,105,87,30,23 monster Snake 1122,4,15000,15000
+soren,109,57,12,5 monster Guardians Of Soren 1130,4,5000,10000
+soren,110,97,103,81 monster Angry Red Scorpion 1130,18,5000,10000
diff --git a/npc/soren/main.txt b/npc/soren/main.txt
new file mode 100644
index 0000000..845c662
--- /dev/null
+++ b/npc/soren/main.txt
@@ -0,0 +1,531 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Celestia Yeti King's quest. This controls Soren's House and the three keysigns.
+// Key #1
+// Perform the rite at the Fountain
+// Key #2
+// Perform the rite at the south lake
+// Key #3
+// Perform the rite at the Button Area
+//
+// If the same player performs the rite on different places, HE'LL BE PENALIZED.
+// Performing the rite spawn monsters, so watch out.
+
+// Notes:
+// I had two options:
+// getvariableofnpc(<variable>, "<npc name>")
+// This way, each summon point would have .caster and .lifetime
+// getvariableofpc(<variable>, <account id>{, <default value>})
+// This way, I could use @cast_places to control stuff.
+//
+// Obviously NPC variables was more sane.
+//
+// The use of compareandsetq HurnscaldQuest_Celestia
+// Ensures you're NOT capable of skipping to final stage in order to finish
+// the quest. Nice attempt, but that won't work. The scripts will advance,
+// but you'll stay at the same quest state, and when it's checked, you will
+// be with bound hands.
+
+soren,105,57,0 script Soren's House NPC_NO_SPRITE,0,0,{
+ end;
+
+OnTouch:
+ .@st1=getvariableofnpc(.lifetime, "Soren's Fountain")-gettimetick(2);
+ .@st2=getvariableofnpc(.lifetime, "Soren's Lake")-gettimetick(2);
+ .@st3=getvariableofnpc(.lifetime, "Soren's Gizmo")-gettimetick(2);
+ if (.@st1 > 0 && .@st2 > 0 && .@st3 > 0) {
+ @soren_penalty=0;
+ compareandsetq HurnscaldQuest_Celestia, 3, 4;
+ doevent("#SorenSanctum::OnStart");
+ warp "soren-2", 32, 36;
+ end;
+ } else {
+ mesn l("Soren's House Tutorial");
+ mesc l("There's a strong magic barrier. We need to disarm it in order to enter there.");
+ mesc l("There are three singularities on this island. If I disarm more than one, I'll have a penalty.");
+ mesc l("I should have full mana before attempting to disarm one.");
+ mesc l("Also, if I move away from the singularity during disarm process, it'll be lost.");
+ mesc l("The singularities keep arming themselves up again, so I have roughly five minutes between first disarm and entering here.");
+ mesc l("We should split our team, and have someone to protect our backs. Otherwise, we might not do it.");
+ // Protip: stock Elixir Of Life if you need to do this quest with less than 3 team members
+ close;
+ }
+ end;
+
+// Some cleanup might be needed to don't raise difficulty infinitely
+// So every day, at 03:23 AM, if no one is trying the quest, it'll get rid
+// of the non-permanent monsters on Soren Village & Soren House.
+// FIXME: It also clears up Groata Grotto
+OnClock0323:
+ if (getareausers("soren") == 0 &&
+ getareausers("soren-2") == 0 &&
+ getareausers("001-6") == 0 &&
+ getareausers("001-7") == 0) {
+ killmonster("soren", "all");
+ killmonster("soren-2", "all");
+ }
+ if ($@GROTTO &&
+ getareausers("006-0") == 0 &&
+ getareausers("006-3") == 0 &&
+ getareausers("006-5") == 0) {
+ killmonster("006-5", "all");
+ $@GROATA = 0;
+ $@GROTTO = 0;
+ enablenpc "#006-5_49_54";
+ }
+ end;
+}
+
+
+
+
+
+soren,105,92,0 script Soren's Fountain NPC_NO_SPRITE,{
+ // Initial Checks
+ if (.lifetime > gettimetick(2)) {
+ npctalk l("This singularity will remain disarmed for @@ more!", FuzzyTime(.lifetime, 2, 2));
+ end;
+ }
+ if (.st) {
+ npctalk l("A disarm process is already running.");
+ end;
+ }
+
+ // Main menu
+ mesc l("Attempt to disarm the singularity?");
+ if (askyesno() == ASK_YES) {
+ .casterId=getcharid(3);
+ .st=1;
+ npctalk l("@@ started disarm process. Please stand by.", strcharinfo(0));
+ initnpctimer;
+ if (getvariableofnpc(.casterId, "Soren's Fountain") == .casterId)
+ @sorenp=10;
+ else
+ @sorenp=0;
+ }
+ close;
+
+// Waves (total: 6 waves + 1 optional)
+OnTimer5000:
+OnTimer10300:
+OnTimer14000:
+OnTimer18000:
+OnTimer25000:
+OnTimer28000:
+OnTimer31000:
+ if (!attachrid(.casterId)) {
+ npctalk "Disarm process aborted: Disarmer is gone.";
+ stopnpctimer; .st=0;
+ end;
+ }
+ if (!reachable(.x, .y, .distance)) {
+ npctalk l("Disarm process aborted: Disarmer is out of reach.");
+ stopnpctimer; .st=0;
+ end;
+ }
+ if (Sp < MaxSp/100*15) {
+ npctalk l("Disarm process aborted: Insufficient mana to proceed.");
+ stopnpctimer; .st=0;
+ end;
+ }
+ if (ispcdead()) {
+ npctalk l("Disarm process aborted: Disarmer is dead.");
+ stopnpctimer; .st=0;
+ end;
+ }
+
+ // Penalty Handler.
+ .@val=-2;
+ if (getvariableofnpc(.casterId, "Soren's Lake") == .casterId)
+ .@val=.@val-10;
+ if (getvariableofnpc(.casterId, "Soren's Gizmo") == .casterId)
+ .@val=.@val-10;
+ if (@sorenp)
+ .@val-=@sorenp;
+
+ percentheal (.@val/2), -13+.@val;
+
+ // Monster Gen
+ .@amount=rand2(.st/3+1, .st/2+1)+getareausers("soren", 12);
+ .@mid=rand2(1,3)+.st;
+ switch (.@mid) {
+ case 1:
+ case 2:
+ .@monsterId = CaveMaggot ; break;
+ case 3:
+ case 4:
+ .@monsterId = RedSlime ; break;
+ case 5:
+ case 6:
+ .@monsterId = LavaSlime ; break;
+ case 7:
+ case 8:
+ .@monsterId = any(Snake, GrassSnake, OldSnake, MountainSnake) ; break;
+ default: // case 9:
+ .@monsterId = any(Yeti, Yeti, MountainSnake) ; break;
+ }
+ // Item Gen
+ .@mid=rand(1,7)+.st;
+ switch (.@mid) {
+ case 1:
+ case 2:
+ .@itemId = Acorn ; break;
+ case 3:
+ case 4:
+ .@itemId = any(BugLeg, ChocolateMouboo) ; break;
+ case 5:
+ case 6:
+ .@itemId = OrangeCupcake ; break;
+ case 7:
+ case 8:
+ .@itemId = CherryCake ; break;
+ case 9:
+ case 10:
+ .@itemId = Chagashroom ; break;
+ case 11:
+ .@itemId = GingerBreadMan ; break;
+ case 12:
+ .@itemId = rand2(Diamond, Amethyst) ; break;
+ default: // case 13
+ .@itemId = rand2(CopperOre, TitaniumOre) ; break;
+ }
+ // Defines
+ .@lx=.x-.distance;
+ .@ly=.y-.distance;
+ .@ux=.x+.distance;
+ .@uy=.y+.distance;
+
+ // Core function
+ areamonster .map$, .@lx, .@ly, .@ux, .@uy, strmobinfo(1, .@monsterId), .@monsterId, .@amount; makeitem(.@itemId, 1, .map$, rand2(.@lx, .@ux), rand2(.@ly, .@uy)); ++.st;
+ specialeffect(54);
+
+ // If we're done with waves
+ if (.st >= 7) {
+ getexp rand2(1, 100), rand2(1, 10);
+ .lifetime=gettimetick(2)+330+rand2(0, 60);
+ npctalk l("Disarmed with success for: @@", FuzzyTime(.lifetime, 2, 2));
+ stopnpctimer; .st=0;
+ specialeffect(27);
+ }
+ end;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+
+ .casterId=0; // getcharid(0) → 3 is account number!!
+ .lifetime=0; // When will this gate expire (six minutes) (gettimetick(2) + (60*5))
+ .st=0; // Status after started
+
+ end;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+soren,104,143,0 script Soren's Lake NPC_NO_SPRITE,{
+ // Initial Checks
+ if (.lifetime > gettimetick(2)) {
+ npctalk l("This singularity will remain disarmed for @@ more!", FuzzyTime(.lifetime, 2, 2));
+ end;
+ }
+ if (.st) {
+ npctalk l("A disarm process is already running.");
+ end;
+ }
+
+ // Main menu
+ mesc l("Attempt to disarm the singularity?");
+ if (askyesno() == ASK_YES) {
+ .casterId=getcharid(3);
+ .st=1;
+ npctalk l("@@ started disarm process. Please stand by.", strcharinfo(0));
+ initnpctimer;
+ if (getvariableofnpc(.casterId, "Soren's Lake") == .casterId)
+ @sorenp=10;
+ else
+ @sorenp=0;
+ }
+ close;
+
+// Waves (total: 6 waves + 1 optional)
+OnTimer4500:
+OnTimer11300:
+OnTimer17000:
+OnTimer22000:
+OnTimer26200:
+OnTimer29100:
+OnTimer30900:
+ if (!attachrid(.casterId)) {
+ npctalk "Disarm process aborted: Disarmer is gone.";
+ stopnpctimer; .st=0;
+ end;
+ }
+ if (!reachable(.x, .y, .distance)) {
+ npctalk l("Disarm process aborted: Disarmer is out of reach.");
+ stopnpctimer; .st=0;
+ end;
+ }
+ if (Sp < MaxSp/100*15) {
+ npctalk l("Disarm process aborted: Insufficient mana to proceed.");
+ stopnpctimer; .st=0;
+ end;
+ }
+ if (ispcdead()) {
+ npctalk l("Disarm process aborted: Disarmer is dead.");
+ stopnpctimer; .st=0;
+ end;
+ }
+
+ // Penalty Handler.
+ .@val=-2;
+ if (getvariableofnpc(.casterId, "Soren's Fountain") == .casterId)
+ .@val=.@val-10;
+ if (getvariableofnpc(.casterId, "Soren's Gizmo") == .casterId)
+ .@val=.@val-10;
+ if (@sorenp)
+ .@val-=@sorenp;
+
+ percentheal (.@val/2), -13+.@val;
+
+ // Monster Gen. Lake spawns less
+ .@amount=rand2(.st/3+1, .st/2+1)+getareausers("soren", 12)-1;
+ .@mid=rand2(1,3)+.st;
+ switch (.@mid) {
+ case 1:
+ case 2:
+ .@monsterId = CaveMaggot ; break;
+ case 3:
+ case 4:
+ .@monsterId = RedSlime ; break;
+ case 5:
+ case 6:
+ .@monsterId = LavaSlime ; break;
+ case 7:
+ case 8:
+ .@monsterId = any(Snake, GrassSnake, OldSnake, MountainSnake) ; break;
+ default: // case 9:
+ .@monsterId = any(Yeti, Yeti, MountainSnake) ; break;
+ }
+ // Item Gen have a different mechanic here
+ .@mid=rand(.st, .st*2+1);
+ switch (.@mid) {
+ case 1:
+ case 2:
+ .@itemId = Acorn ; break;
+ case 3:
+ case 4:
+ .@itemId = any(BugLeg, ChocolateMouboo) ; break;
+ case 5:
+ case 6:
+ .@itemId = OrangeCupcake ; break;
+ case 7:
+ case 8:
+ .@itemId = CherryCake ; break;
+ case 9:
+ case 10:
+ .@itemId = Chagashroom ; break;
+ case 11:
+ .@itemId = HastePotion ; break;
+ case 12:
+ .@itemId = rand2(Diamond, Amethyst) ; break;
+ default: // case 13
+ .@itemId = rand2(CopperOre, TitaniumOre) ; break;
+ }
+ // Defines for Lake are fixed on the same spot.
+ .@lx=104; .@ux=104;
+ .@ly=141; .@uy=141;
+
+ // Core function
+ areamonster .map$, .@lx, .@ly, .@ux, .@uy, strmobinfo(1, .@monsterId), .@monsterId, .@amount; makeitem(.@itemId, 1, .map$, rand2(.@lx, .@ux), rand2(.@ly, .@uy)); ++.st;
+
+ // If we're done with waves
+ if (.st >= 7) {
+ .lifetime=gettimetick(2)+330+rand2(0, 60);
+ npctalk l("Disarmed with success for: @@", FuzzyTime(.lifetime, 2, 2));
+ stopnpctimer; .st=0;
+ }
+ end;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 2;
+
+ .casterId=""; // getcharid(3) → Account number!!
+ .lifetime=0; // When will this gate expire (five~six minutes) (gettimetick(2) + (60*5))
+ .st=0; // Status after started
+
+ end;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+soren,107,37,0 script Soren's Gizmo NPC_NO_SPRITE,{
+ // Initial Checks
+ if (.lifetime > gettimetick(2)) {
+ npctalk l("This singularity will remain disarmed for @@ more!", FuzzyTime(.lifetime, 2, 2));
+ end;
+ }
+ if (.st) {
+ npctalk l("A disarm process is already running.");
+ end;
+ }
+
+ // Main menu
+ mesc l("Attempt to disarm the singularity?");
+ if (askyesno() == ASK_YES) {
+ .casterId=getcharid(3);
+ .st=1;
+ npctalk l("@@ started disarm process. Please stand by.", strcharinfo(0));
+ initnpctimer;
+ if (getvariableofnpc(.casterId, "Soren's Gizmo") == .casterId)
+ @sorenp=10;
+ else
+ @sorenp=0;
+ }
+ close;
+
+// Waves (total: 6 waves + 1 optional)
+OnTimer6200:
+OnTimer9300:
+OnTimer13900:
+OnTimer17200:
+OnTimer24500:
+OnTimer27400:
+OnTimer31200:
+ if (!attachrid(.casterId)) {
+ npctalk "Disarm process aborted: Disarmer is gone.";
+ stopnpctimer; .st=0;
+ end;
+ }
+ if (!reachable(.x, .y, .distance)) {
+ npctalk l("Disarm process aborted: Disarmer is out of reach.");
+ stopnpctimer; .st=0;
+ end;
+ }
+ if (Sp < MaxSp/100*15) {
+ npctalk l("Disarm process aborted: Insufficient mana to proceed.");
+ stopnpctimer; .st=0;
+ end;
+ }
+ if (ispcdead()) {
+ npctalk l("Disarm process aborted: Disarmer is dead.");
+ stopnpctimer; .st=0;
+ end;
+ }
+
+ // Penalty Handler.
+ .@val=-2;
+ if (getvariableofnpc(.casterId, "Soren's Lake") == .casterId)
+ .@val=.@val-10;
+ if (getvariableofnpc(.casterId, "Soren's Fountain") == .casterId)
+ .@val=.@val-10;
+ if (@sorenp)
+ .@val-=@sorenp;
+
+ percentheal (.@val/2), -13+.@val;
+
+ // Monster Gen. Gizmo spawns more monsters because you can move more
+ .@amount=rand2(.st/3+1, .st/2+1)+getareausers("soren", 12)+1;
+ .@mid=rand2(1,3)+.st;
+ switch (.@mid) {
+ case 1:
+ case 2:
+ .@monsterId = CaveMaggot ; break;
+ case 3:
+ case 4:
+ .@monsterId = RedSlime ; break;
+ case 5:
+ case 6:
+ .@monsterId = LavaSlime ; break;
+ case 7:
+ case 8:
+ .@monsterId = any(Snake, GrassSnake, OldSnake, MountainSnake) ; break;
+ default: // case 9:
+ .@monsterId = any(Yeti, Yeti, MountainSnake) ; break;
+ }
+ // Item Gen
+ .@mid=rand(1,7)+.st;
+ switch (.@mid) {
+ case 1:
+ case 2:
+ .@itemId = Acorn ; break;
+ case 3:
+ case 4:
+ .@itemId = any(BugLeg, ChocolateMouboo) ; break;
+ case 5:
+ case 6:
+ .@itemId = OrangeCupcake ; break;
+ case 7:
+ case 8:
+ .@itemId = CherryCake ; break;
+ case 9:
+ case 10:
+ .@itemId = Chagashroom ; break;
+ case 11:
+ .@itemId = HastePotion ; break;
+ case 12:
+ .@itemId = rand2(Diamond, Amethyst) ; break;
+ default: // case 13
+ .@itemId = rand2(CopperOre, TitaniumOre) ; break;
+ }
+ // Defines
+ .@lx=.x-.distance;
+ .@ly=.y-.distance;
+ .@ux=.x+.distance;
+ .@uy=.y+.distance;
+
+ // Core function
+ areamonster .map$, .@lx, .@ly, .@ux, .@uy, strmobinfo(1, .@monsterId), .@monsterId, .@amount; makeitem(.@itemId, 1, .map$, rand2(.@lx, .@ux), rand2(.@ly, .@uy)); ++.st;
+
+ // If we're done with waves
+ if (.st >= 7) {
+ .lifetime=gettimetick(2)+330+rand2(0, 60);
+ npctalk l("Disarmed with success for: @@", FuzzyTime(.lifetime, 2, 2));
+ stopnpctimer; .st=0;
+ }
+ end;
+
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+
+ .casterId=""; // getcharid(3) → Account number!!
+ .lifetime=0; // When will this gate expire (five~six minutes) (gettimetick(2) + (60*5))
+ .st=0; // Status after started
+
+ end;
+}
+
+029-0,143,120,0 duplicate(Guild Storage) Guild Storekeeper#FoS NPC_TERRY
+
diff --git a/npc/soren/mapflags.txt b/npc/soren/mapflags.txt
new file mode 100644
index 0000000..f38cb43
--- /dev/null
+++ b/npc/soren/mapflags.txt
@@ -0,0 +1 @@
+soren mapflag zone MMO
diff --git a/npc/test/_import.txt b/npc/test/_import.txt
new file mode 100644
index 0000000..46209c4
--- /dev/null
+++ b/npc/test/_import.txt
@@ -0,0 +1,12 @@
+// Map test: test
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/test/_mobs.txt",
+"npc/test/karim.txt",
+"npc/test/mapflags.txt",
+"npc/test/npc1.txt",
+"npc/test/npc3.txt",
+"npc/test/npc4.txt",
+"npc/test/npc5.txt",
+"npc/test/rock.txt",
+"npc/test/test1.txt",
+"npc/test/test2.txt",
diff --git a/npc/test/_mobs.txt b/npc/test/_mobs.txt
new file mode 100644
index 0000000..350a38f
--- /dev/null
+++ b/npc/test/_mobs.txt
@@ -0,0 +1,17 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map test: test mobs
+test,38,12,1,1 monster Piou 1002,1,1000,1000
+test,38,12,1,1 monster Tortuga 1004,1,1000,1000
+test,44,12,1,1 monster Piou 1002,3,1000,1000
+test,48,10,1,1 monster Tortuga 1004,3,1000,1000
+test,48,10,0,0 monster Piou 1002,1,1000,1000
+test,48,10,0,0 monster Ratto 1005,1,1000,1000
+test,54,10,1,1 monster Piou 1002,3,1000,1000
+test,68,9,0,0 monster Piou 1002,3,1000,1000
+test,68,9,0,0 monster Ratto 1005,1,1000,1000
+test,68,9,1,1 monster Tortuga 1004,3,1000,1000
+test,76,10,1,1 monster Piou 1002,3,1000,1000
+test,76,10,1,1 monster Ratto 1005,1,1000,1000
+test,78,4,1,1 monster Ratto 1005,3,1000,1000
+test,87,93,1,1 monster Green 4144 1004,1,1000,1000
+test,87,81,1,1 monster Pink 4144 1004,1,1000,1000
diff --git a/npc/test/karim.txt b/npc/test/karim.txt
new file mode 100644
index 0000000..c1b74d2
--- /dev/null
+++ b/npc/test/karim.txt
@@ -0,0 +1,153 @@
+// Evol scripts.
+// Author:
+// Reid
+// Description:
+// Blacksmith's assistant of Artis
+// Variables:
+// ArtisQuests_Enora
+// Values:
+// 0 Default.
+// 1 BlackSmith quest delivered.
+// 2 Chelios Quest given.
+// 3 Chelios Quest done.
+// 4 BlackSmith gave the sword.
+
+test,2,4,0 script karim NPC_PLAYER,{
+
+ .Item1 = RightCraftyWing;
+ .Item2 = LeftCraftyWing;
+ .ItemReward = FlightTalisman;
+
+ function quest_beggining{
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("my name is karim can you help me?.");
+
+ setq Karim_Quest, 1;
+ return;
+ }
+
+ function quest_left {
+ if (countitem(.Item2) > 0)
+ {
+ delitem .Item2, 1;
+ if (rand(10) == 1)
+ {
+ mesq l("Yay, it worked! You get a good wing.");
+ getitem .ItemReward, 1;
+ setq Karim_Quest, 2;
+ close;
+ }
+ else
+ {
+ mesq l("This one is useless! Give me another @@.", getitemlink(.Item2));
+ return;
+ }
+ }
+ else
+ {
+ mesq l("You don't have any @@, are you mocking me?", getitemlink(.Item2));
+ return ;
+ }
+ }
+
+ function quest_right {
+ if (countitem(.Item1) > 0)
+ {
+ delitem .Item1, 1;
+ if (rand(5) == 1)
+ {
+ mesq l("Yay, it worked! You get a good wing.");
+ getitem .ItemReward, 1;
+ setq Karim_Quest, 2;
+ close;
+ }
+ else
+ {
+ mesq l("This one is useless! Give me another @@.", getitemlink(.Item1));
+ next;
+ return;
+ }
+ }
+ else
+ {
+ mesq l("You don't have any @@, are you mocking me?", getitemlink(.Item1));
+ return ;
+ }
+ }
+
+ function quest_started {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Can you give me a @@ or a @@", getitemlink(.Item1), getitemlink(.Item2));
+
+ do
+ {
+ select
+ l("a Right Crafty Wing"),
+ l("a Left Crafty Wing"),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ quest_right;
+ break;
+ case 2:
+ quest_left;
+ break;
+ }
+ } while (@menu != 3);
+ return;
+ }
+
+ function quest_completed {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Quest completed.");
+ return;
+ }
+
+ function quest_restart {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Quest restart.");
+ setq Karim_Quest, 0;
+ return;
+ }
+
+ speech S_LAST_NEXT, l("Can you help me?");
+
+ do
+ {
+ .@karim = getq(Karim_Quest);
+ select
+ rif(.@karim == 2, lg("quest completed.")),
+ rif(.@karim == 1, l("Hello again can you give you give me some tentacles.")),
+ rif(.@karim == 0, l("Hello")),
+ l("Debug"),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ quest_completed;
+ break;
+ case 2:
+ quest_started;
+ break;
+ case 3:
+ quest_beggining;
+ break;
+ case 4:
+ quest_restart;
+ break;
+ }
+ } while (@menu != 5);
+
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+
diff --git a/npc/test/mapflags.txt b/npc/test/mapflags.txt
new file mode 100644
index 0000000..6f3199a
--- /dev/null
+++ b/npc/test/mapflags.txt
@@ -0,0 +1,2 @@
+test mapflag mask 5
+test mapflag town
diff --git a/npc/test/npc1.txt b/npc/test/npc1.txt
new file mode 100644
index 0000000..002857d
--- /dev/null
+++ b/npc/test/npc1.txt
@@ -0,0 +1,724 @@
+// Evol scripts.
+// Author:
+// 4144
+// Description:
+// test npc1
+
+test,10,10,0 script npc1#door NPC_HIDDEN,0,1,{
+OnTouch:
+ warp "test", 20, 20;
+ close;
+OnUnTouch:
+ doevent "npc1::OnUnTouch";
+}
+
+test,10,10,0 script npc1 NPC_TEST1,3,3,{
+ function areatest
+ {
+ mesn;
+ mes "getareausers(\"test\", 7, 7, 13, 13): " + getareausers("test", 7, 7, 13, 13);
+ mes "getareausers(7, 7, 13, 13): " + getareausers(7, 7, 13, 13);
+ mes "getareausers(\"test\"): " + getareausers("test");
+ mes "getareausers(): " + getareausers();
+ mes "getareausers(\"test\", 1): " + getareausers("test", 1);
+ mes "getareausers(1): " + getareausers(1);
+ next;
+ return;
+ }
+
+L_Start:
+ if (!is_admin()) {
+ mesc "Error 13: Permission Denied", 1;
+ close;
+ }
+ mes "Homunculus state: "+checkhomcall();
+ switch (select(
+ "show area",
+ "map",
+ "pc",
+ "change npc direction",
+ "quest test",
+ "cart",
+ "items",
+ "chat",
+ "wall",
+ "craft",
+ "hashtable",
+ "instance",
+ "mercenary",
+ "npc",
+ "clan"))
+ {
+ case 1:
+ areatest;
+ break;
+ case 2:
+ while(1)
+ {
+ .@mask = getmapmask("test");
+ mes "current mask: " + str(.@mask);
+ switch (select("show sand:show grass:show fog:hide fog:back"))
+ {
+ case 1:
+ addremovemapmask "test", 4, 8;
+ break;
+ case 2:
+ addremovemapmask "test", 8, 4;
+ break;
+ case 3:
+ addmapmask "test", 2;
+ break;
+ case 4:
+ removemapmask "test", 2;
+ break;
+ case 5:
+ goto L_Start;
+ break;
+ }
+ }
+ break;
+
+ case 3:
+ while(1)
+ {
+ switch (select("change sex:setmount 0:setmount 1:setmount 2:test command:back"))
+ {
+ case 1:
+ changecharsex;
+ break;
+ case 2:
+ setmount 0;
+ break;
+ case 3:
+ setmount 1;
+ break;
+ case 4:
+ setmount 2;
+ break;
+ case 5:
+ clientcommand "emote 1";
+ break;
+ case 6:
+ goto L_Start;
+ break;
+ }
+ }
+ break;
+ case 4:
+ for (.@f = 0; .@f < 9; .@f ++)
+ {
+ mes "" + .@f;
+ .dir = .@f;
+ next;
+ }
+ break;
+ case 5:
+ mes "current";
+ .@val1 = getq(ShipQuests_Gugli);
+ .@val2 = getq2(ShipQuests_Gugli);
+ .@val3 = getq3(ShipQuests_Gugli);
+ .@valTime = getqtime(ShipQuests_Gugli);
+ mes "val1=" + .@val1;
+ mes "val2=" + .@val2;
+ mes "val3=" + .@val3;
+ mes "valTime=" + .@valTime;
+ .@val1 ++;
+ .@val2 ++;
+ .@val3 ++;
+ .@valTime ++;
+ next;
+ mes "test " + str(.@val1) + ", " + str(.@val2) + ", " + str(.@val3) + ", " + str(.@valTime);
+ setq ShipQuests_Gugli, .@val1, .@val2, .@val3, .@valTime;
+ next;
+ .@val1 = getq(ShipQuests_Gugli);
+ .@val2 = getq2(ShipQuests_Gugli);
+ .@val3 = getq3(ShipQuests_Gugli);
+ .@valTime = getqtime(ShipQuests_Gugli);
+ mes "val1=" + .@val1;
+ mes "val2=" + .@val2;
+ mes "val3=" + .@val3;
+ mes "valTime=" + .@valTime;
+ break;
+ case 6:
+ while(1)
+ {
+ switch (select("add cart:remove cart:back"))
+ {
+ case 1:
+ setcart 1;
+ break;
+ case 2:
+ setcart 0;
+ break;
+ case 3:
+ goto L_Start;
+ break;
+ }
+ }
+ break;
+ case 7:
+ while(1)
+ {
+ switch (select("refine", "rent", "bound", "named", "cards", "options", "back"))
+ {
+ case 1:
+ .@item = -1;
+ while(1)
+ {
+ switch (select("set item", "refine +1", "refine -1", "refine fail", "back"))
+ {
+ case 1:
+ .@item = requestitemindex();
+ mes "Item index selected: " + str(.@item);
+ break;
+ case 2:
+ successrefindex .@item, 1;
+ break;
+ case 3:
+ downrefindex .@item, 1;
+ break;
+ case 4:
+ failedrefindex .@item;
+ break;
+ case 5:
+ goto L_Start;
+ break;
+ }
+ }
+ break;
+ case 2:
+ while(1)
+ {
+ switch (select("rent vneck for 10 seconds",
+ "rent vneck for 30 seconds",
+ "rent vneck for 1 minute",
+ "rent vneck for 5 minutes",
+ "back"))
+ {
+ case 1:
+ rentitem 1301, 10;
+ break;
+ case 2:
+ rentitem 1301, 30;
+ break;
+ case 3:
+ rentitem 1301, 60;
+ break;
+ case 4:
+ rentitem 1301, 300;
+ break;
+ case 5:
+ goto L_Start;
+ break;
+ }
+ }
+ break;
+ case 3:
+ while(1)
+ {
+ switch (select("get bound vneck",
+ "back"))
+ {
+ case 1:
+ getitembound2 1301, 1, 1, 0, 0, 0, 0, 0, 0, 1;
+ break;
+ case 2:
+ goto L_Start;
+ break;
+ }
+ }
+ break;
+ case 4:
+ while(1)
+ {
+ switch (select("get named vneck",
+ "back"))
+ {
+ case 1:
+ getnameditem 1301, "4144";
+ break;
+ case 2:
+ goto L_Start;
+ break;
+ }
+ }
+ break;
+ case 5:
+ .@item = -1;
+ while(1)
+ {
+ switch (select("set item",
+ "remove cards success",
+ "fail, remove both",
+ "fail, remove card",
+ "fail, remove item",
+ "fail, safe",
+ "print all",
+ "remove 0",
+ "back"))
+ {
+ case 1:
+ .@item = requestitemindex();
+ mes "Item index selected: " + str(.@item);
+ break;
+ case 2:
+ successremovecardsindex .@item;
+ break;
+ case 3:
+ failedremovecardsindex .@item, 0;
+ break;
+ case 4:
+ failedremovecardsindex .@item, 1;
+ break;
+ case 5:
+ failedremovecardsindex .@item, 2;
+ break;
+ case 6:
+ failedremovecardsindex .@item, 3;
+ break;
+ case 7:
+ mes "slots=" + str(MAX_SLOTS);
+ for (.@i = 0; .@i < MAX_SLOTS; .@i++)
+ {
+ mes "slot " + str(.@i) + " = " + str(getcardbyindex(.@item, .@i));
+ }
+ mes "item options:";
+ for (.@i = 0; .@i < 5; .@i ++)
+ {
+ mes sprintf("%d: Option: %d, Value: %d", .@i, getitemoptionidbyindex(.@item, .@i), getitemoptionvaluebyindex(.@item, .@i));
+ }
+ break;
+ case 8:
+ removecardbyindex(.@item, 0);
+ break;
+ case 9:
+ goto L_Start;
+ break;
+ }
+ }
+ break;
+ case 6:
+ .@item = -1;
+ while(1)
+ {
+ switch (select("set item", "info", "set option 1", "remove options", "back"))
+ {
+ case 1:
+ .@item = requestitemindex();
+ mes "Item index selected: " + str(.@item);
+ break;
+ case 2:
+ mes "Selected item options";
+ for (.@i = 0; .@i < 5; .@i ++)
+ {
+ mes sprintf("%d: Option: %d, Value: %d", .@i, getitemoptionidbyindex(.@item, .@i), getitemoptionvaluebyindex(.@item, .@i));
+ }
+ break;
+ case 3:
+ setitemoptionbyindex(.@item, 0, VAR_MAXHPAMOUNT, 200);
+ setitemoptionbyindex(.@item, 1, VAR_STRAMOUNT, 10);
+ setitemoptionbyindex(.@item, 2, VAR_VITAMOUNT, -5);
+ break;
+ case 4:
+ mes "Remove item options";
+ for (.@i = 0; .@i < 5; .@i ++)
+ {
+ setitemoptionbyindex(.@item, .@i, 0, 0);
+ }
+ break;
+ case 5:
+ goto L_Start;
+ break;
+ }
+ }
+ break;
+ case 7:
+ goto L_Start;
+ break;
+ }
+ }
+ break;
+ case 8:
+ chatjoin .chat;
+ close;
+ case 9:
+ while(1)
+ {
+ switch (select("set wall 1:set wall 2:set wall 3:delete wall 1:delete wall 2:delete wall 3:back"))
+ {
+ case 1:
+ setcells "test", 14, 11, 17, 11, 3, "wall1";
+ break;
+ case 2:
+ setcells "test", 14, 7, 21, 8, 1, "wall2";
+ break;
+ case 3:
+ setcells "test", 13, 15, 13, 21, 3, "wall3";
+ break;
+ case 4:
+ delcells "wall1";
+ break;
+ case 5:
+ delcells "wall2";
+ break;
+ case 6:
+ delcells "wall3";
+ break;
+ case 7:
+ goto L_Start;
+ break;
+ }
+ }
+ break;
+ case 10:
+ while(1)
+ {
+ switch (select("technical:normal:back"))
+ {
+ case 1:
+ setskin "test2";
+ .@var$ = requestcraft(9);
+ mes .@var$;
+ .@craft = initcraft(.@var$);
+ mes "craft id: " + str(.@craft);
+ mes "is craft valid: " + validatecraft(.@craft);
+ .@id = getcraftslotid(.@craft, 0);
+ .@amount = getcraftslotamount(.@craft, 0);
+ mes "first item id: " + .@id;
+ mes "first item name: " + getitemlink(.@id);
+ mes "first item amount: " + .@amount;
+
+ .@id = getcraftslotid(.@craft, 1);
+ .@amount = getcraftslotamount(.@craft, 1);
+ mes "second item id: " + .@id;
+ mes "second item name: " + getitemlink(.@id);
+ mes "second item amount: " + .@amount;
+// dumpcraft .@craft;
+ .@entry = findcraftentry(.@craft, 0);
+ mes "found craft entry: " + .@entry;
+ if (.@entry < 0)
+ {
+ mes "no craft recipe found";
+ }
+ else
+ {
+ mes "use craft";
+ usecraft .@craft;
+ mes "return code: " + getcraftcode(.@entry);
+ }
+ deletecraft .@craft;
+ setskin "";
+ break;
+ case 2:
+ mes "put items what you want to craft";
+ setskin "test2";
+ .@var$ = requestcraft(9);
+ setskin "";
+ .@craft = initcraft(.@var$);
+ if (.@craft < 0)
+ {
+ mes "Craft error.";
+ goto L_Start;
+ }
+ mes "lets see what you can get...";
+ next;
+ if (!validatecraft(.@craft))
+ {
+ mes "inventory was changed.";
+ goto L_Start;
+ }
+ .@entry = findcraftentry(.@craft, 0);
+ if (.@entry < 0)
+ {
+ mes "no craft recipe found";
+ }
+ else
+ {
+ mes "found recipe";
+ usecraft .@craft;
+ mes "return code: " + getcraftcode(.@entry);
+ }
+ deletecraft .@craft;
+ break;
+ case 3:
+ goto L_Start;
+ break;
+ }
+ }
+ break;
+ case 11:
+ switch(select("Create new hashtable",
+ "Use existing ID"))
+ {
+ case 1:
+ .@ht = htnew();
+ mes "ID = " + .@ht;
+ break;
+ case 2:
+ mes "Input ID";
+ input .@ht;
+ break;
+ }
+ .@defval = 0;
+ .@defval_str$ = "";
+ .@newval = 0;
+ .@newval_str$ = "";
+ .@key$ = "";
+
+ while(1)
+ {
+ switch (select("Set default string value",
+ "Set default number value",
+ "Get string",
+ "Get number",
+ "Put string",
+ "Put number",
+ "Show hashtable",
+ "Clear hashtable",
+ "Delete hashtable",
+ "Exit"))
+ {
+ case 1:
+ input .@defval_str$;
+ break;
+ case 2:
+ input .@defval;
+ break;
+ case 3:
+ mes "Input key:";
+ input .@key$;
+ mes "htget(" + .@ht + ", \"" + .@key$ + "\") = " + htget(.@ht, .@key$);
+ mes "htget(" + .@ht + ", \"" + .@key$ + "\", \"" + .@defval_str$ + "\") = " + htget(.@ht, .@key$, .@defval_str$);
+ break;
+ case 4:
+ mes "Input key:";
+ input .@key$;
+ mes "htget(" + .@ht + ", \"" + .@key$ + "\") = " + htget(.@ht, .@key$);
+ mes "htget(" + .@ht + ", \"" + .@key$ + "\", " + .@defval + ") = " + htget(.@ht, .@key$, .@defval);
+ break;
+ case 5:
+ mes "Input key:";
+ input .@key$;
+ mes "Input value:";
+ input .@newval_str$;
+ htput(.@ht, .@key$, .@newval_str$);
+ mes "htput(" + .@ht + ", \"" + .@key$ + "\", \"" + .@newval_str$ + "\")";
+ mes "htget(" + .@ht + ", \"" + .@key$ + "\") = " + htget(.@ht, .@key$);
+ break;
+ case 6:
+ mes "Input key:";
+ input .@key$;
+ mes "Input value:";
+ input .@newval;
+ htput(.@ht, .@key$, .@newval);
+ mes "htput(" + .@ht + ", \"" + .@key$ + "\", " + .@newval + ")";
+ mes "htget(" + .@ht + ", \"" + .@key$ + "\") = " + htget(.@ht, .@key$);
+ break;
+ case 7:
+ mes "size = " + htsize(.@ht);
+ .@hti = htiterator(.@ht);
+ for(.@key$ = htinextkey(.@hti); hticheck(.@hti); .@key$ = htinextkey(.@hti))
+ mes "key = " + .@key$ + " value = " + htget(.@ht, .@key$);
+ htidelete(.@hti);
+ break;
+ case 8:
+ htclear(.@ht);
+ mes "htclear(" + .@ht + ")";
+ break;
+ case 9:
+ htdelete(.@ht);
+ mes "htdelete(" + .@ht + ")";
+ break;
+ case 10:
+ goto L_Start;
+ } // switch
+ } // while
+ break;
+ case 12:
+ while(1)
+ {
+ switch (select("create", "warp", "info", "warp back", "delete", "back"))
+ {
+ case 1:
+ if (.instid >= 0 && isinstance(.instid))
+ {
+ mes "Error: test instance already created";
+ break;
+ }
+// .instid = instance_create("test@instance", 0, 0);
+ .instid = instance_create("test@instance", getcharid(3), IOT_CHAR);
+ if (.instid < 0)
+ {
+ mes "Error: creating instance";
+ break;
+ }
+ mes "new instance id: " + str(.instid);
+// .@instanceMapName$ = instance_attachmap("test", .instid, 1, "test@map1");
+// .@instanceMapName$ = instance_attachmap("test", .instid, 1);
+ .@instanceMapName$ = instance_attachmap("test", .instid, 0, "test@map1");
+ if (.@instanceMapName$ == "")
+ {
+ mes "Error: instance attach map error";
+ break;
+ }
+ mes "Attached instance map name: " + .@instanceMapName$;
+ instance_set_timeout(1000000, 1000000, .instid);
+ instance_init(.instid);
+ break;
+ case 2:
+ warp "test@map1", 12, 12;
+ break;
+ case 3:
+ mes "npc name: " + .name$;
+ mes "npc ext name: " + .extname$;
+ mes "npc id: " + .id;
+ mes "npc parent id: " + .parent;
+ mes "npc src id: " + .srcId;
+ if (instance_id() >= 0)
+ {
+ mes "npc1 in instance named: " + instance_npcname("npc1");
+ }
+ else
+ {
+ mes "npc1 not in instance";
+ }
+ break;
+ case 4:
+ warp "test", 12, 12;
+ break;
+ case 5:
+ if (.instid < 0)
+ {
+ mes "Error: test instance was not created";
+ break;
+ }
+ instance_destroy(.instid);
+ break;
+ case 6:
+ goto L_Start;
+ break;
+ }
+ }
+ break;
+ case 13:
+ while(1)
+ {
+ switch (select("create mercenary for 10 seconds", "create mercenary for 1 min", "create mercenary for 10 min", "Andrei Sakar", "1205 for test", "back"))
+ {
+ case 1:
+ mercenary_create 1191, 10000;
+ break;
+ case 2:
+ mercenary_create 1191, 60000;
+ break;
+ case 3:
+ mercenary_create 1191, 600000;
+ break;
+ case 4:
+ mercenary_create 1192, 300000;
+ break;
+ case 5:
+ mercenary_create 1205, 300000;
+ break;
+ default:
+ goto L_Start;
+ break;
+ }
+ }
+ break;
+ case 14:
+ while(1)
+ {
+ switch (select("set hair 1", "set hair 0", "equip vneck", "unequip vneck", "back"))
+ {
+ case 1:
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 5);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 17);
+ break;
+ case 2:
+ .@npcId = getnpcid("npc4");
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 0);
+ break;
+ case 3:
+ .@npcId = getnpcid("npc4");
+ setunitdata(.@npcId, UDT_HEADTOP, 1301);
+ break;
+ case 4:
+ .@npcId = getnpcid("npc4");
+ setunitdata(.@npcId, UDT_HEADTOP, 0);
+ break;
+ case 5:
+ goto L_Start;
+ break;
+ }
+ }
+ break;
+ case 15:
+ while(1)
+ {
+ switch (select(
+ "join sword clan",
+ "join arc wand clan",
+ "join golden mace clan",
+ "join crossbox clan",
+ "leave clan",
+ "back"))
+ {
+ case 1:
+ mes(str(clan_join(1)));
+ break;
+ case 2:
+ mes(str(clan_join(2)));
+ break;
+ case 3:
+ mes(str(clan_join(3)));
+ break;
+ case 4:
+ mes(str(clan_join(4)));
+ break;
+ case 5:
+ mes(str(clan_leave()));
+ break;
+ case 6:
+ goto L_Start;
+ break;
+ }
+ }
+ break;
+ }
+
+ close;
+
+OnTouch:
+ doorTouch;
+
+OnUnTouch:
+ doorUnTouch;
+
+OnTimer340:
+ doorTimer;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ .alwaysVisible = true;
+ waitingroom "test room", 2, "npc1::OnReadyCheck", 1;
+ // test instance id
+ .instid = -10;
+ if (.parent != 0)
+ {
+ setnpcdir 0;
+ }
+ end;
+
+OnWhisperGlobal:
+ mes "cmd: " + @whispervar0$;
+ close;
+
+OnReadyCheck:
+ debugmes "OnReadyCheck";
+ $@bgid1 = waitingroom2bg("testbg", 10, 10, "bgnpc1::OnLogout","bgnpc1:OnDie");
+ debugmes "bgid=" + str($@bgid1);
+ setbgteam $@bgid1, 1;
+ bg_warp $@bgid1, "testbg", 10, 10;
+}
diff --git a/npc/test/npc3.txt b/npc/test/npc3.txt
new file mode 100644
index 0000000..82d5fe3
--- /dev/null
+++ b/npc/test/npc3.txt
@@ -0,0 +1,7 @@
+// Evol scripts.
+// Author:
+// 4144
+// Description:
+// test npc3
+
+test,25,10,0 cashshop npc3 NPC_SHOP_BAG,505:100,502:-1,513:-1,509:-1,2000:-1,1800:-1,3501:-1
diff --git a/npc/test/npc4.txt b/npc/test/npc4.txt
new file mode 100644
index 0000000..b85d1bf
--- /dev/null
+++ b/npc/test/npc4.txt
@@ -0,0 +1,30 @@
+// Evol scripts.
+// Author:
+// 4144
+// Description:
+// test npc4
+
+test,25,20,0 script npc4 NPC_PLAYER,{
+ close;
+OnTimer1000:
+ domovestep;
+OnInit:
+ .walkmask = WALK_WATER;
+ initpath "move", 20, 20,
+ "sit", 0, 0,
+ "dir", 6, 0,
+ "move", 25, 20,
+ "emote", 3, 0,
+// "class", 104, 0,
+ "speed", 100, 0,
+ "wait", 2, 0,
+ "move", 22, 10,
+ "rmove", 3, 3,
+// "class", 801, 0,
+ "speed", 200, 0,
+ "wait", 1, 0,
+ "warp", 22, 30,
+ "goto", 0, 0;
+ initialmove;
+ initnpctimer;
+}
diff --git a/npc/test/npc5.txt b/npc/test/npc5.txt
new file mode 100644
index 0000000..faa655e
--- /dev/null
+++ b/npc/test/npc5.txt
@@ -0,0 +1,34 @@
+// Evol scripts.
+// Author:
+// Travolta
+// Description:
+// test npc5
+
+function script npc5TestFunc {
+ npctalk getarg(0);
+ return 0;
+}
+
+test,45,25,0 script npc5 NPC_PLAYER,{
+ close;
+
+OnTimer1000:
+ dographmovestep;
+
+OnInit:
+ // .debug = 1;
+ initmovegraph "topleft", 45, 25,
+ "topright", 55, 25,
+ "bottomright", 55, 34,
+ "bottomleft", 45, 34;
+
+ setmovegraphcmd "topleft", "topright", 30, "dir 0; wait 1",
+ "topleft", "bottomright", 20, "class 104",
+ "topleft", "bottomleft", 50, "emote 8; wait 1; warp bottomright",
+ "topright", "bottomleft", 1, "emote 3; wait 5",
+ "bottomleft", "topleft", 25, "dir 2; wait 1; call npc5TestFunc Hello=)",
+ "bottomleft", "bottomright", 10, "speed 40",
+ "bottomright", "bottomleft", 1, "class 801; speed 100; dir 0; emote 1; wait 4";
+ firstmove "wait 1; speed 100; dir 4; emote 7";
+ initnpctimer;
+}
diff --git a/npc/test/rock.txt b/npc/test/rock.txt
new file mode 100644
index 0000000..4f769cd
--- /dev/null
+++ b/npc/test/rock.txt
@@ -0,0 +1,178 @@
+// Evol scripts.
+// Author:
+// Reid
+// Description:
+// Blacksmith's assistant of Artis
+// Variables:
+// ArtisQuests_Enora
+// Values:
+// 0 Default.
+// 1 BlackSmith quest delivered.
+// 2 Chelios Quest given.
+// 3 Chelios Quest done.
+// 4 BlackSmith gave the sword.
+
+test,2,6,0 script rock NPC_PLAYER,{
+
+ function quest_play {
+ mes l("Before start witch item do you want to play");
+ mes "##B" + l("Drag and drop an item from your inventory.") + "##b";
+
+ .Item = requestitem();
+ if (.Item < 1)
+ {
+ mes l("You didn't add a item.");
+ close;
+ }
+
+ if (countitem(.Item) < 1)
+ {
+ mes l("You don't have the item.");
+ close;
+ }
+ delitem .Item, 1;
+ goto quest_choose;
+ }
+
+ function quest_game {
+ if (.choose == 1){
+ mes l("you choose rock.");
+ next;
+ }
+ else if (.choose == 2){
+ mes l("you choose scissors.");
+ next;
+ }
+ else {
+ mes l("you choose paper.");
+ next;
+ }
+
+ .npcChoose = rand(3);
+ if (.npcChoose == 0)
+ {
+ mes l("the npc choose rock.");
+ next;
+ if (.choose == 1)
+ {
+ mes l("draw.");
+ goto quest_choose;
+ }
+ else if (.choose == 2)
+ {
+ mes l("you lose");
+ close;
+ }
+ else if (.choose == 3)
+ {
+ mes l("you win");
+ getitem .Item, 2;
+ close;
+ }
+ }
+ else if (.npcChoose == 1)
+ {
+ mes l("the npc choose scissors.");
+ next;
+ if (.choose == 2)
+ {
+ mes l("draw.");
+ goto quest_choose;
+ }
+ else if (.choose == 3)
+ {
+ mes l("you lose");
+ close;
+ }
+ else if (.choose == 1)
+ {
+ mes l("you win @@",getitemlink(.Item));
+ getitem .Item, 2;
+ close;
+ }
+ }
+ else if (.npcChoose == 2)
+ {
+ mes l("the npc choose paper.");
+ next;
+ if (.choose == 3)
+ {
+ mes l("draw.");
+ goto quest_choose;
+ }
+ else if (.choose == 1)
+ {
+ mes l("you lose");
+ close;
+ }
+ else if (.choose == 2)
+ {
+ mes l("you win");
+ getitem .Item, 2;
+ close;
+ }
+ }
+ close;
+ }
+
+
+ function quest_choose {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("What do you choose?");
+ next;
+ do
+ {
+ select
+ l("Rock"),
+ l("Scissors"),
+ l("Paper");
+
+ switch (@menu)
+ {
+ case 1:
+ .choose = 1;
+ quest_game;
+ break;
+ case 2:
+ .choose = 2;
+ quest_game;
+ break;
+ case 3:
+ .choose = 3;
+ quest_game;
+ break;
+ }
+ } while (@menu != 4);
+ close;
+ }
+
+ if (!is_admin()) {
+ mesc "Error 13: Permission Denied", 1;
+ close;
+ }
+
+ speech S_LAST_NEXT, l("Hello do you want to play rock scissors paper?");
+ do
+ {
+ select
+ l("Hello"),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ quest_play;
+ break;
+ }
+ } while (@menu != 2);
+
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+
diff --git a/npc/test/test1.txt b/npc/test/test1.txt
new file mode 100644
index 0000000..7297f54
--- /dev/null
+++ b/npc/test/test1.txt
@@ -0,0 +1,96 @@
+// Evol scripts.
+// Author:
+// 4144
+// Description:
+// script tests
+
+function script test1function {
+ .var = .walkmask;
+ if (.var != 3)
+ mes "Error: testing test1 npc variables from function.";
+ .var = getvariableofnpc(.walkmask, "test1");
+ if (.var != 3)
+ mes "Error: testing test1 npc variables from function.";
+ .var = getvariableofnpc(.walkmask, "test2");
+ if (.var != 4)
+ mes "Error: testing test2 npc variables from function.";
+
+ return;
+}
+
+test,10,5,0 script test1 NPC_HAT_BOX,{
+ mes "Npc vars testing...";
+ .var = .walkmask;
+ if (.var != 3)
+ mes "Error: testing test1 npc variables.";
+ .var = getvariableofnpc(.walkmask, "test1");
+ if (.var != 3)
+ mes "Error: testing test1 npc variables from function.";
+ .var = getvariableofnpc(.walkmask, "test2");
+ if (.var != 4)
+ mes "Error: testing test2 npc variables.";
+ test1function;
+ mes "Formatting testing for sex: " + str(Sex);
+ if (l("test @@", "") != "test ")
+ mes "Error: format string 'l(\"test @@\", \"\")': " + l("test @@", "");
+ if (l("test @@", "1") != "test 1")
+ mes "Error: format string 'l(\"test @@\", \"1\")': " + l("test @@", "1");
+ if (l("@@", "") != "")
+ mes "Error: format string 'l(\"@@\", \"\")': " + l("@@", "");
+ if (l("@@") != "@@")
+ mes "Error: format string 'l(\"@@\")': " + l("@@");
+ if (l("@@ @@ @@", "this", "is", "test") != "this is test")
+ mes "Error: format string 'l(\"@@ @@ @@\", \"this\", \"is\", \"test\") != \"this is test\"': " + l("@@ @@ @@", "this", "is", "test");
+ if (l("data @@ @@ @@ data", "this", "is", "test") != "data this is test data")
+ mes "Error: format string 'l(\"data @@ @@ @@ data\", \"this\", \"is\", \"test\")': " + l("data @@ @@ @@ data", "this", "is", "test");
+ if (l("test") != "test")
+ mes "Error: l(\"test\"): " + l("test");
+ if (Sex == 1)
+ {
+ if (lg("test") != "test#1")
+ mes "Error: lg(\"test\"): " + lg("test");
+ if (lg("test1", "test2") != "test2#1")
+ mes "Error: lg(\"test1\", \"test2\"): " + lg("test1", "test2");
+ if (lg("test1 @@", "test2 @@", "line") != "test2 line#1")
+ mes "Error: lg(\"test1 @@\", \"test2 @@\", \"line\"): " + lg("test1 @@", "test2 @@", "line");
+ }
+ else if (Sex == 0)
+ {
+ if (lg("test") != "test#0")
+ mes "Error: lg(\"test\"): " + lg("test");
+ if (lg("test1", "test2") != "test1#0")
+ mes "Error: lg(\"test1\", \"test2\"): " + lg("test1", "test2");
+ if (lg("test1 @@", "test2 @@", "line") != "test1 line#0")
+ mes "Error: lg(\"test1 @@\", \"test2 @@\", \"line\"): " + lg("test1 @@", "test2 @@", "line");
+ }
+ mes "Quest vars testing...";
+ .@time = 1000;
+ setq Test_testing1, 1, 2, 3, .@time;
+ if (getq(Test_testing1) != 1)
+ mes "Error: quest variable 1 error. Must be 1, but get " + str(getq(Test_testing1));
+ if (getq2(Test_testing1) != 2)
+ mes "Error: quest variable 2 error. Must be 2, but get " + str(getq(Test_testing1));
+ if (getq3(Test_testing1) != 3)
+ mes "Error: quest variable 3 error. Must be 3, but get " + str(getq(Test_testing1));
+ if (getqtime(Test_testing1) != .@time)
+ mes "Error: quest variable 3 error. Must be 3, but get " + str(getqtime(Test_testing1));
+ next;
+ .@time = 2000;
+ setq Test_testing1, 2, 3, 4, .@time;
+ if (getq(Test_testing1) != 2)
+ mes "Error: quest variable 1 error. Must be 2, but get " + str(getq(Test_testing1));
+ if (getq2(Test_testing1) != 3)
+ mes "Error: quest variable 2 error. Must be 3, but get " + str(getq(Test_testing1));
+ if (getq3(Test_testing1) != 4)
+ mes "Error: quest variable 3 error. Must be 4, but get " + str(getq(Test_testing1));
+ if (getqtime(Test_testing1) != .@time)
+ mes "Error: quest variable 3 error. Must be 3, but get " + str(getqtime(Test_testing1));
+ next;
+ setq Test_testing1, 0;
+ mes "Tests complete.";
+ close;
+
+OnInit:
+ .walkmask = 3;
+ end;
+}
diff --git a/npc/test/test2.txt b/npc/test/test2.txt
new file mode 100644
index 0000000..fdc6f84
--- /dev/null
+++ b/npc/test/test2.txt
@@ -0,0 +1,13 @@
+// Evol scripts.
+// Author:
+// 4144
+// Description:
+// script tests
+
+test,12,5,0 script test2 NPC_HAT_BOX,{
+ close;
+
+OnInit:
+ .walkmask = 4;
+ end;
+}
diff --git a/npc/testbg/_import.txt b/npc/testbg/_import.txt
new file mode 100644
index 0000000..c8affdf
--- /dev/null
+++ b/npc/testbg/_import.txt
@@ -0,0 +1,3 @@
+// Map testbg: testbg
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/testbg/mapflags.txt",
diff --git a/npc/testbg/mapflags.txt b/npc/testbg/mapflags.txt
new file mode 100644
index 0000000..764a55d
--- /dev/null
+++ b/npc/testbg/mapflags.txt
@@ -0,0 +1 @@
+testbg mapflag battleground
diff --git a/script-checker b/script-checker
new file mode 100755
index 0000000..066704a
--- /dev/null
+++ b/script-checker
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# Copyright (c) Hercules Dev Team, licensed under GNU GPL.
+# See the LICENSE file
+# Base Author: Haru @ http://herc.ws
+
+ORIG_CWD="$(pwd)"
+BASEDIR="$(dirname "$0")"
+EXECUTABLE="./map-server"
+
+cd "${BASEDIR}"
+if [ -z "$1" ]; then
+ echo "No file specified."
+ echo "Usage: $0 <path to the script>"
+ echo " (you may use a relative or absolute path)"
+ exit 1
+fi
+case "$1" in
+ /*)
+ FILE="$1"
+ ;;
+ *)
+ FILE="${ORIG_CWD}/$1"
+ ;;
+esac
+if [ ! -x "$EXECUTABLE" ]; then
+ exit 1
+fi
+
+while [ -n "$1" ]; do
+ [ -n "$FILES" ] && FILES="${FILES}!"
+ if [[ "$1" =~ ^\/ ]]; then
+ FILES="${FILES}--load-script!$1"
+ else
+ FILES="${FILES}--load-script!${ORIG_CWD}/$1"
+ fi
+ shift
+done
+
+# We assume that filenames don't contain exclamation marks.
+IFS=!
+"$EXECUTABLE" --script-check $FILES 2>&1
diff --git a/sql-files/init.sql b/sql-files/init.sql
new file mode 100644
index 0000000..060245a
--- /dev/null
+++ b/sql-files/init.sql
@@ -0,0 +1,4 @@
+CREATE DATABASE evol;
+CREATE USER 'evol'@'localhost' IDENTIFIED BY 'evol';
+GRANT ALTER,CREATE,SELECT,INSERT,UPDATE,DELETE,DROP,INDEX ON `evol`.* TO 'evol'@'localhost';
+FLUSH PRIVILEGES;
diff --git a/sql-files/initremote.sql b/sql-files/initremote.sql
new file mode 100644
index 0000000..fa87edb
--- /dev/null
+++ b/sql-files/initremote.sql
@@ -0,0 +1,4 @@
+CREATE DATABASE evol;
+CREATE USER 'evol'@'%' IDENTIFIED BY 'evol';
+GRANT ALTER,CREATE,SELECT,INSERT,UPDATE,DELETE,DROP,INDEX ON `evol`.* TO 'evol'@'%';
+FLUSH PRIVILEGES;
diff --git a/sql-files/logs.sql b/sql-files/logs.sql
new file mode 100644
index 0000000..0d140af
--- /dev/null
+++ b/sql-files/logs.sql
@@ -0,0 +1,198 @@
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2012-2015 Hercules Dev Team
+-- Copyright (C) Athena Dev Teams
+--
+-- Hercules is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+-- PickLog Types
+-- (M)onsters Drop
+-- (P)layers Drop/Take
+-- Mobs Drop (L)oot Drop/Take
+-- Players (T)rade Give/Take
+-- Players (V)ending Sell/Take
+-- (S)hop Sell/Take
+-- (N)PC Give/Take
+-- (C)onsumable Items
+-- (A)dministrators Create/Delete
+-- Sto(R)age
+-- (G)uild Storage
+-- (E)mail attachment
+-- (B)uying Store
+-- Pr(O)duced Items/Ingredients
+-- Auct(I)oned Items
+-- (X) Other
+-- (D) Stolen from mobs
+-- (U) MVP Prizes
+
+--
+-- Table structure for table `atcommandlog`
+--
+
+CREATE TABLE IF NOT EXISTS `atcommandlog` (
+ `atcommand_id` MEDIUMINT(9) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `atcommand_date` DATETIME NULL,
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `char_name` VARCHAR(25) NOT NULL DEFAULT '',
+ `map` VARCHAR(11) NOT NULL DEFAULT '',
+ `command` VARCHAR(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`atcommand_id`),
+ INDEX (`account_id`),
+ INDEX (`char_id`)
+) ENGINE=MyISAM AUTO_INCREMENT=1 ;
+
+--
+-- Table structure for table `branchlog`
+--
+
+CREATE TABLE IF NOT EXISTS `branchlog` (
+ `branch_id` MEDIUMINT(9) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `branch_date` DATETIME NULL,
+ `account_id` INT(11) NOT NULL DEFAULT '0',
+ `char_id` INT(11) NOT NULL DEFAULT '0',
+ `char_name` VARCHAR(25) NOT NULL DEFAULT '',
+ `map` VARCHAR(11) NOT NULL DEFAULT '',
+ PRIMARY KEY(`branch_id`),
+ INDEX (`account_id`),
+ INDEX (`char_id`)
+) ENGINE=MyISAM AUTO_INCREMENT=1;
+
+--
+-- Table structure for table `chatlog`
+--
+
+CREATE TABLE IF NOT EXISTS `chatlog` (
+ `id` BIGINT(20) NOT NULL AUTO_INCREMENT,
+ `time` DATETIME NULL,
+ `type` ENUM('O','W','P','G','M','C') NOT NULL DEFAULT 'O',
+ `type_id` INT(11) NOT NULL DEFAULT '0',
+ `src_charid` INT(11) NOT NULL DEFAULT '0',
+ `src_accountid` INT(11) NOT NULL DEFAULT '0',
+ `src_map` VARCHAR(11) NOT NULL DEFAULT '',
+ `src_map_x` SMALLINT(4) NOT NULL DEFAULT '0',
+ `src_map_y` SMALLINT(4) NOT NULL DEFAULT '0',
+ `dst_charname` VARCHAR(25) NOT NULL DEFAULT '',
+ `message` VARCHAR(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ INDEX (`src_accountid`),
+ INDEX (`src_charid`)
+) ENGINE=MyISAM AUTO_INCREMENT=1;
+
+--
+-- Table structure for table `loginlog`
+--
+
+CREATE TABLE IF NOT EXISTS `loginlog` (
+ `time` DATETIME NULL,
+ `ip` VARCHAR(15) NOT NULL DEFAULT '',
+ `user` VARCHAR(23) NOT NULL DEFAULT '',
+ `rcode` TINYINT(4) NOT NULL DEFAULT '0',
+ `log` VARCHAR(255) NOT NULL DEFAULT '',
+ INDEX (`ip`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `mvplog`
+--
+
+CREATE TABLE IF NOT EXISTS `mvplog` (
+ `mvp_id` MEDIUMINT(9) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `mvp_date` DATETIME NULL,
+ `kill_char_id` INT(11) NOT NULL DEFAULT '0',
+ `monster_id` SMALLINT(6) NOT NULL DEFAULT '0',
+ `prize` INT(11) NOT NULL DEFAULT '0',
+ `mvpexp` MEDIUMINT(9) NOT NULL DEFAULT '0',
+ `map` VARCHAR(11) NOT NULL DEFAULT '',
+ PRIMARY KEY (`mvp_id`)
+) ENGINE=MyISAM AUTO_INCREMENT=1;
+
+--
+-- Table structure for table `npclog`
+--
+
+CREATE TABLE IF NOT EXISTS `npclog` (
+ `npc_id` MEDIUMINT(9) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `npc_date` DATETIME NULL,
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `char_name` VARCHAR(25) NOT NULL DEFAULT '',
+ `map` VARCHAR(11) NOT NULL DEFAULT '',
+ `mes` VARCHAR(255) NOT NULL DEFAULT '',
+ PRIMARY KEY (`npc_id`),
+ INDEX (`account_id`),
+ INDEX (`char_id`)
+) ENGINE=MyISAM AUTO_INCREMENT=1;
+
+--
+-- Table structure for table `picklog`
+--
+
+CREATE TABLE IF NOT EXISTS `picklog` (
+ `id` INT(11) NOT NULL AUTO_INCREMENT,
+ `time` DATETIME NULL,
+ `char_id` INT(11) NOT NULL DEFAULT '0',
+ `type` ENUM('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','K','Y','Z','W','Q','J','H','@','0','1','2','3') NOT NULL DEFAULT 'P',
+ `nameid` INT(11) NOT NULL DEFAULT '0',
+ `amount` INT(11) NOT NULL DEFAULT '1',
+ `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+ `card0` INT(11) NOT NULL DEFAULT '0',
+ `card1` INT(11) NOT NULL DEFAULT '0',
+ `card2` INT(11) NOT NULL DEFAULT '0',
+ `card3` INT(11) NOT NULL DEFAULT '0',
+ `opt_idx0` smallint(5) unsigned NOT NULL default '0',
+ `opt_val0` smallint(5) NOT NULL default '0',
+ `opt_idx1` smallint(5) unsigned NOT NULL default '0',
+ `opt_val1` smallint(5) NOT NULL default '0',
+ `opt_idx2` smallint(5) unsigned NOT NULL default '0',
+ `opt_val2` smallint(5) NOT NULL default '0',
+ `opt_idx3` smallint(5) unsigned NOT NULL default '0',
+ `opt_val3` smallint(5) NOT NULL default '0',
+ `opt_idx4` smallint(5) unsigned NOT NULL default '0',
+ `opt_val4` smallint(5) NOT NULL default '0',
+ `unique_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ `map` VARCHAR(11) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ INDEX (`type`)
+) ENGINE=MyISAM AUTO_INCREMENT=1;
+
+--
+-- Table structure for table `zenylog`
+--
+
+CREATE TABLE IF NOT EXISTS `zenylog` (
+ `id` INT(11) NOT NULL AUTO_INCREMENT,
+ `time` DATETIME NULL,
+ `char_id` INT(11) NOT NULL DEFAULT '0',
+ `src_id` INT(11) NOT NULL DEFAULT '0',
+ `type` ENUM('T','V','P','M','S','N','D','C','A','E','I','B','K') NOT NULL DEFAULT 'S',
+ `amount` INT(11) NOT NULL DEFAULT '0',
+ `map` VARCHAR(11) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`),
+ INDEX (`type`)
+) ENGINE=MyISAM AUTO_INCREMENT=1;
+
+--
+-- Table structure for table `api_export`
+--
+
+CREATE TABLE IF NOT EXISTS `api_export` (
+ `id` INT(11) NOT NULL AUTO_INCREMENT,
+ `time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ `type` INT(11) NOT NULL DEFAULT '0',
+ `data` VARCHAR(2040) NOT NULL DEFAULT '',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=1;
+
diff --git a/sql-files/main.sql b/sql-files/main.sql
new file mode 100644
index 0000000..f7bda54
--- /dev/null
+++ b/sql-files/main.sql
@@ -0,0 +1,1167 @@
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2012-2016 Hercules Dev Team
+-- Copyright (C) Athena Dev Teams
+--
+-- Hercules is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+--
+-- Table structure for table `account_data`
+--
+
+CREATE TABLE IF NOT EXISTS `account_data` (
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `bank_vault` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `base_exp` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '100',
+ `base_drop` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '100',
+ `base_death` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '100',
+ PRIMARY KEY (`account_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `acc_reg_num_db`
+--
+
+CREATE TABLE IF NOT EXISTS `acc_reg_num_db` (
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
+ `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `value` INT(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`account_id`,`key`,`index`),
+ KEY `account_id` (`account_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `acc_reg_str_db`
+--
+
+CREATE TABLE IF NOT EXISTS `acc_reg_str_db` (
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
+ `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `value` VARCHAR(255) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`account_id`,`key`,`index`),
+ KEY `account_id` (`account_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `auction`
+--
+
+-- start_time end_time min_price(step)
+CREATE TABLE IF NOT EXISTS `auction` (
+ `auction_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `seller_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `seller_name` VARCHAR(30) NOT NULL DEFAULT '',
+ `buyer_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `buyer_name` VARCHAR(30) NOT NULL DEFAULT '',
+ `price` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `buynow` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `hours` SMALLINT(6) NOT NULL DEFAULT '0',
+ `timestamp` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `nameid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `item_name` VARCHAR(50) NOT NULL DEFAULT '',
+ `type` SMALLINT(6) NOT NULL DEFAULT '0',
+ `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+ `attribute` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `card0` INT(11) NOT NULL DEFAULT '0',
+ `card1` INT(11) NOT NULL DEFAULT '0',
+ `card2` INT(11) NOT NULL DEFAULT '0',
+ `card3` INT(11) NOT NULL DEFAULT '0',
+ `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0',
+ `unique_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`auction_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `autotrade_data`
+--
+
+CREATE TABLE IF NOT EXISTS `autotrade_data` (
+ `char_id` INT(11) NOT NULL DEFAULT '0',
+ `itemkey` INT(11) NOT NULL DEFAULT '0',
+ `amount` INT(11) NOT NULL DEFAULT '0',
+ `price` INT(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`char_id`,`itemkey`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `autotrade_merchants`
+--
+
+CREATE TABLE IF NOT EXISTS `autotrade_merchants` (
+ `account_id` INT(11) NOT NULL DEFAULT '0',
+ `char_id` INT(11) NOT NULL DEFAULT '0',
+ `sex` TINYINT(2) NOT NULL DEFAULT '0',
+ `title` VARCHAR(80) NOT NULL DEFAULT 'Buy From Me!',
+ PRIMARY KEY (`account_id`,`char_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `char_achievements`
+--
+
+CREATE TABLE IF NOT EXISTS `char_achievements` (
+ `char_id` INT(11) UNSIGNED NOT NULL,
+ `ach_id` INT(11) UNSIGNED NOT NULL,
+ `completed_at` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `rewarded_at` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `obj_0` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `obj_1` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `obj_2` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `obj_3` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `obj_4` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `obj_5` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `obj_6` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `obj_7` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `obj_8` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `obj_9` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`char_id`, `ach_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `cart_inventory`
+--
+
+CREATE TABLE IF NOT EXISTS `cart_inventory` (
+ `id` INT(11) NOT NULL AUTO_INCREMENT,
+ `char_id` INT(11) NOT NULL DEFAULT '0',
+ `nameid` INT(11) NOT NULL DEFAULT '0',
+ `amount` INT(11) NOT NULL DEFAULT '0',
+ `equip` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `identify` SMALLINT(6) NOT NULL DEFAULT '0',
+ `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+ `attribute` TINYINT(4) NOT NULL DEFAULT '0',
+ `card0` INT(11) NOT NULL DEFAULT '0',
+ `card1` INT(11) NOT NULL DEFAULT '0',
+ `card2` INT(11) NOT NULL DEFAULT '0',
+ `card3` INT(11) NOT NULL DEFAULT '0',
+ `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0',
+ `expire_time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `bound` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
+ `unique_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `char_id` (`char_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `char`
+--
+
+CREATE TABLE IF NOT EXISTS `char` (
+ `char_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `char_num` TINYINT(1) NOT NULL DEFAULT '0',
+ `name` VARCHAR(30) NOT NULL DEFAULT '',
+ `class` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `base_level` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '1',
+ `job_level` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '1',
+ `base_exp` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ `job_exp` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ `zeny` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `str` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `agi` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `vit` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `int` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `dex` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `luk` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `max_hp` INT(9) UNSIGNED NOT NULL DEFAULT '0',
+ `hp` INT(9) UNSIGNED NOT NULL DEFAULT '0',
+ `max_sp` INT(9) UNSIGNED NOT NULL DEFAULT '0',
+ `sp` INT(9) UNSIGNED NOT NULL DEFAULT '0',
+ `status_point` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `skill_point` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `option` INT(11) NOT NULL DEFAULT '0',
+ `karma` TINYINT(3) NOT NULL DEFAULT '0',
+ `manner` SMALLINT(6) NOT NULL DEFAULT '0',
+ `party_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `guild_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `clan_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `pet_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `homun_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `elemental_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `hair` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `hair_color` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `clothes_color` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `body` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `weapon` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `shield` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `head_top` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `head_mid` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `head_bottom` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `robe` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `last_login` BIGINT(20) NULL DEFAULT '0',
+ `last_map` VARCHAR(11) NOT NULL DEFAULT '',
+ `last_x` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '53',
+ `last_y` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '111',
+ `save_map` VARCHAR(11) NOT NULL DEFAULT '',
+ `save_x` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '53',
+ `save_y` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '111',
+ `partner_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `online` TINYINT(2) NOT NULL DEFAULT '0',
+ `father` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `mother` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `child` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `fame` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `rename` SMALLINT(3) UNSIGNED NOT NULL DEFAULT '0',
+ `delete_date` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `slotchange` SMALLINT(3) UNSIGNED NOT NULL DEFAULT '0',
+ `char_opt` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `font` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+ `unban_time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `uniqueitem_counter` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ `sex` ENUM('M','F','U') NOT NULL DEFAULT 'U',
+ `hotkey_rowshift` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+ `hotkey_rowshift2` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+ `attendance_count` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+ `attendance_timer` BIGINT(20) NULL DEFAULT '0',
+ `title_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `inventory_size` INT(11) UNSIGNED NOT NULL DEFAULT '100',
+ PRIMARY KEY (`char_id`),
+ UNIQUE KEY `name_key` (`name`),
+ KEY `account_id` (`account_id`),
+ KEY `party_id` (`party_id`),
+ KEY `guild_id` (`guild_id`),
+ KEY `online` (`online`)
+) ENGINE=MyISAM AUTO_INCREMENT=150000;
+
+--
+-- Table structure for table `char_reg_num_db`
+--
+
+CREATE TABLE IF NOT EXISTS `char_reg_num_db` (
+ `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
+ `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `value` INT(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`char_id`,`key`,`index`),
+ KEY `char_id` (`char_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `char_reg_str_db`
+--
+
+CREATE TABLE IF NOT EXISTS `char_reg_str_db` (
+ `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
+ `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `value` VARCHAR(255) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`char_id`,`key`,`index`),
+ KEY `char_id` (`char_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `charlog`
+--
+
+CREATE TABLE IF NOT EXISTS `charlog` (
+ `time` DATETIME NULL,
+ `char_msg` VARCHAR(255) NOT NULL DEFAULT 'char select',
+ `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',
+ `vit` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `int` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `dex` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `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;
+
+--
+-- Table structure for table `discord`
+--
+
+CREATE TABLE IF NOT EXISTS `discord` (
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `discord_id` VARCHAR(25) NOT NULL DEFAULT '',
+ `discord_name` VARCHAR(255) NOT NULL DEFAULT '',
+ `verified` ENUM('0', '1') NOT NULL DEFAULT '0',
+ PRIMARY KEY (`account_id`),
+ UNIQUE KEY `name_key` (`discord_name`(40))
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `patreon`
+--
+
+-- account_id (Game issued)
+-- client_id (Patreon issued)
+CREATE TABLE IF NOT EXISTS `patreon` (
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `client_id` VARCHAR(255) NOT NULL DEFAULT '',
+ `access_token` VARCHAR(255) NOT NULL DEFAULT '',
+ `currently_entitled_amount_cents` INT(11) DEFAULT '0',
+ `verified` ENUM('0', '1') NOT NULL DEFAULT '0'
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `elemental`
+--
+
+CREATE TABLE IF NOT EXISTS `elemental` (
+ `ele_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ `char_id` INT NOT NULL,
+ `class` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
+ `mode` INT UNSIGNED NOT NULL DEFAULT '1',
+ `hp` INT NOT NULL DEFAULT '1',
+ `sp` INT NOT NULL DEFAULT '1',
+ `max_hp` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
+ `max_sp` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
+ `atk1` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
+ `atk2` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
+ `matk` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
+ `aspd` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `def` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `mdef` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `flee` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `hit` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `life_time` INT NOT NULL DEFAULT '0',
+ PRIMARY KEY (`ele_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `friends`
+--
+
+CREATE TABLE IF NOT EXISTS `friends` (
+ `char_id` INT(11) NOT NULL DEFAULT '0',
+ `friend_account` INT(11) NOT NULL DEFAULT '0',
+ `friend_id` INT(11) NOT NULL DEFAULT '0',
+ KEY `char_id` (`char_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `hotkey`
+--
+
+CREATE TABLE IF NOT EXISTS `hotkey` (
+ `char_id` INT(11) NOT NULL,
+ `hotkey` TINYINT(2) UNSIGNED NOT NULL,
+ `type` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
+ `itemskill_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `skill_lvl` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`char_id`,`hotkey`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `global_acc_reg_num_db`
+--
+
+CREATE TABLE IF NOT EXISTS `global_acc_reg_num_db` (
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
+ `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `value` INT(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`account_id`,`key`,`index`),
+ KEY `account_id` (`account_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `global_acc_reg_str_db`
+--
+
+CREATE TABLE IF NOT EXISTS `global_acc_reg_str_db` (
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
+ `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `value` VARCHAR(255) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`account_id`,`key`,`index`),
+ KEY `account_id` (`account_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `guild`
+--
+
+CREATE TABLE IF NOT EXISTS `guild` (
+ `guild_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `name` VARCHAR(24) NOT NULL DEFAULT '',
+ `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `master` VARCHAR(24) NOT NULL DEFAULT '',
+ `guild_lv` TINYINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `connect_member` TINYINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `max_member` TINYINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `average_lv` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '1',
+ `exp` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ `next_exp` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `skill_point` TINYINT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `mes1` VARCHAR(60) NOT NULL DEFAULT '',
+ `mes2` VARCHAR(120) NOT NULL DEFAULT '',
+ `emblem_len` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `emblem_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `emblem_data` blob,
+ PRIMARY KEY (`guild_id`,`char_id`),
+ UNIQUE KEY `guild_id` (`guild_id`),
+ KEY `char_id` (`char_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `guild_alliance`
+--
+
+CREATE TABLE IF NOT EXISTS `guild_alliance` (
+ `guild_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `opposition` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `alliance_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `name` VARCHAR(24) NOT NULL DEFAULT '',
+ PRIMARY KEY (`guild_id`,`alliance_id`),
+ KEY `alliance_id` (`alliance_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `guild_castle`
+--
+
+CREATE TABLE IF NOT EXISTS `guild_castle` (
+ `castle_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `guild_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `economy` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `defense` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `triggerE` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `triggerD` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `nextTime` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `payTime` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `createTime` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `visibleC` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `visibleG0` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `visibleG1` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `visibleG2` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `visibleG3` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `visibleG4` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `visibleG5` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `visibleG6` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `visibleG7` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`castle_id`),
+ KEY `guild_id` (`guild_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `guild_expulsion`
+--
+
+CREATE TABLE IF NOT EXISTS `guild_expulsion` (
+ `guild_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `name` VARCHAR(24) NOT NULL DEFAULT '',
+ `mes` VARCHAR(40) NOT NULL DEFAULT '',
+ PRIMARY KEY (`guild_id`,`name`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `guild_member`
+--
+
+CREATE TABLE IF NOT EXISTS `guild_member` (
+ `guild_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `hair` TINYINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `hair_color` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `gender` TINYINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `class` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `lv` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `exp` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ `exp_payper` TINYINT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `online` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `position` TINYINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `name` VARCHAR(24) NOT NULL DEFAULT '',
+ PRIMARY KEY (`guild_id`,`char_id`),
+ KEY `char_id` (`char_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `guild_position`
+--
+
+CREATE TABLE IF NOT EXISTS `guild_position` (
+ `guild_id` INT(9) UNSIGNED NOT NULL DEFAULT '0',
+ `position` TINYINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `name` VARCHAR(24) NOT NULL DEFAULT '',
+ `mode` TINYINT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `exp_mode` TINYINT(11) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`guild_id`,`position`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `guild_skill`
+--
+
+CREATE TABLE IF NOT EXISTS `guild_skill` (
+ `guild_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `id` SMALLINT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `lv` TINYINT(11) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`guild_id`,`id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `guild_storage`
+--
+
+CREATE TABLE IF NOT EXISTS `guild_storage` (
+ `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `guild_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `nameid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `amount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `equip` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `identify` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+ `attribute` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `card0` INT(11) NOT NULL DEFAULT '0',
+ `card1` INT(11) NOT NULL DEFAULT '0',
+ `card2` INT(11) NOT NULL DEFAULT '0',
+ `card3` INT(11) NOT NULL DEFAULT '0',
+ `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0',
+ `expire_time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `bound` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
+ `unique_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `guild_id` (`guild_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `homunculus`
+--
+
+CREATE TABLE IF NOT EXISTS `homunculus` (
+ `homun_id` INT(11) NOT NULL AUTO_INCREMENT,
+ `char_id` INT(11) NOT NULL,
+ `class` MEDIUMINT(9) UNSIGNED NOT NULL DEFAULT '0',
+ `prev_class` MEDIUMINT(9) NOT NULL DEFAULT '0',
+ `name` VARCHAR(24) NOT NULL DEFAULT '',
+ `level` SMALLINT(4) NOT NULL DEFAULT '0',
+ `exp` INT(12) NOT NULL DEFAULT '0',
+ `intimacy` INT(12) NOT NULL DEFAULT '0',
+ `hunger` SMALLINT(4) NOT NULL DEFAULT '0',
+ `str` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `agi` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `vit` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `INT` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `dex` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `luk` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `hp` INT(12) NOT NULL DEFAULT '1',
+ `max_hp` INT(12) NOT NULL DEFAULT '1',
+ `sp` INT(12) NOT NULL DEFAULT '1',
+ `max_sp` INT(12) NOT NULL DEFAULT '1',
+ `skill_point` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `alive` TINYINT(2) NOT NULL DEFAULT '1',
+ `rename_flag` TINYINT(2) NOT NULL DEFAULT '0',
+ `vaporize` TINYINT(2) NOT NULL DEFAULT '0',
+ `autofeed` TINYINT(2) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`homun_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `interlog`
+--
+
+CREATE TABLE IF NOT EXISTS `interlog` (
+ `time` DATETIME NULL,
+ `log` VARCHAR(255) NOT NULL DEFAULT ''
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `inventory`
+--
+
+CREATE TABLE IF NOT EXISTS `inventory` (
+ `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `nameid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `amount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `equip` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `identify` SMALLINT(6) NOT NULL DEFAULT '0',
+ `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+ `attribute` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `card0` INT(11) NOT NULL DEFAULT '0',
+ `card1` INT(11) NOT NULL DEFAULT '0',
+ `card2` INT(11) NOT NULL DEFAULT '0',
+ `card3` INT(11) NOT NULL DEFAULT '0',
+ `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0',
+ `expire_time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `favorite` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+ `bound` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
+ `unique_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `char_id` (`char_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `ipbanlist`
+--
+
+CREATE TABLE IF NOT EXISTS `ipbanlist` (
+ `list` VARCHAR(255) NOT NULL DEFAULT '',
+ `btime` DATETIME NULL,
+ `rtime` DATETIME NULL,
+ `reason` VARCHAR(255) NOT NULL DEFAULT '',
+ KEY (`list`(39))
+) ENGINE=MyISAM; -- Move to InnoDB ?
+
+--
+-- Table structure for table `login`
+--
+
+CREATE TABLE IF NOT EXISTS `login` (
+ `account_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `userid` VARCHAR(23) NOT NULL,
+ `user_pass` VARCHAR(64) NOT NULL DEFAULT '',
+ `sex` ENUM('M','F','S') NOT NULL DEFAULT 'M',
+ `email` VARCHAR(39) NOT NULL DEFAULT '',
+ `group_id` TINYINT(3) NOT NULL DEFAULT '0',
+ `state` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `unban_time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `expiration_time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `logincount` MEDIUMINT(9) UNSIGNED NOT NULL DEFAULT '0',
+ `lastlogin` DATETIME NULL,
+ `last_ip` VARCHAR(100) NOT NULL DEFAULT '',
+ `birthdate` DATE NULL,
+ `character_slots` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+ `pincode` VARCHAR(4) NOT NULL DEFAULT '',
+ `pincode_change` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`account_id`),
+ UNIQUE KEY `name` (`userid`)
+) ENGINE=MyISAM AUTO_INCREMENT=2000000;
+
+-- added standard accounts for servers, VERY INSECURE!!!
+-- inserted into the table called login which is above
+
+INSERT IGNORE INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('1', 's1', 'p1', 'S','athena@athena.com');
+
+INSERT IGNORE INTO `login` (`userid`, `user_pass`, `sex`, `email`, `group_id`) VALUES ('admin', 'admin', 'M', 'admin@moubootaurlegends.org', 99);
+
+--
+-- Table structure for table `mapreg`
+--
+
+CREATE TABLE IF NOT EXISTS `mapreg` (
+ `varname` VARCHAR(32) BINARY NOT NULL,
+ `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `value` VARCHAR(255) NOT NULL,
+ PRIMARY KEY (`varname`,`index`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `map_reg_num_db`
+--
+
+CREATE TABLE IF NOT EXISTS `map_reg_num_db` (
+ `key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
+ `index` INT UNSIGNED NOT NULL DEFAULT '0',
+ `value` INT NOT NULL DEFAULT '0',
+ PRIMARY KEY (`key`, `index`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `map_reg_str_db`
+--
+
+CREATE TABLE IF NOT EXISTS `map_reg_str_db` (
+ `key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
+ `index` INT UNSIGNED NOT NULL DEFAULT '0',
+ `value` VARCHAR(255) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`key`, `index`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `npc_market_data`
+--
+
+CREATE TABLE IF NOT EXISTS `npc_market_data` (
+ `name` VARCHAR(24) NOT NULL DEFAULT '',
+ `itemid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `amount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`name`,`itemid`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `sc_data`
+--
+
+CREATE TABLE IF NOT EXISTS `sc_data` (
+ `account_id` INT(11) UNSIGNED NOT NULL,
+ `char_id` INT(11) UNSIGNED NOT NULL,
+ `type` SMALLINT(11) UNSIGNED NOT NULL,
+ `tick` INT(11) NOT NULL,
+ `total_tick` INT NOT NULL,
+ `val1` INT(11) NOT NULL DEFAULT '0',
+ `val2` INT(11) NOT NULL DEFAULT '0',
+ `val3` INT(11) NOT NULL DEFAULT '0',
+ `val4` INT(11) NOT NULL DEFAULT '0',
+ KEY (`account_id`),
+ KEY (`char_id`),
+ PRIMARY KEY (`account_id`,`char_id`,`type`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `mail`
+--
+
+CREATE TABLE IF NOT EXISTS `mail` (
+ `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `send_name` VARCHAR(30) NOT NULL DEFAULT '',
+ `send_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `dest_name` VARCHAR(30) NOT NULL DEFAULT '',
+ `dest_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `title` VARCHAR(45) NOT NULL DEFAULT '',
+ `message` VARCHAR(255) NOT NULL DEFAULT '',
+ `time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `status` TINYINT(2) NOT NULL DEFAULT '0',
+ `zeny` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `nameid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `amount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+ `attribute` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `identify` SMALLINT(6) NOT NULL DEFAULT '0',
+ `card0` INT(11) NOT NULL DEFAULT '0',
+ `card1` INT(11) NOT NULL DEFAULT '0',
+ `card2` INT(11) NOT NULL DEFAULT '0',
+ `card3` INT(11) NOT NULL DEFAULT '0',
+ `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0',
+ `unique_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `memo`
+--
+
+CREATE TABLE IF NOT EXISTS `memo` (
+ `memo_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `map` VARCHAR(11) NOT NULL DEFAULT '',
+ `x` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `y` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`memo_id`),
+ KEY `char_id` (`char_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `mercenary`
+--
+
+CREATE TABLE IF NOT EXISTS `mercenary` (
+ `mer_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `char_id` INT(11) NOT NULL,
+ `class` MEDIUMINT(9) UNSIGNED NOT NULL DEFAULT '0',
+ `hp` INT(12) NOT NULL DEFAULT '1',
+ `sp` INT(12) NOT NULL DEFAULT '1',
+ `kill_counter` INT(11) NOT NULL,
+ `life_time` INT(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`mer_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `mercenary_owner`
+--
+
+CREATE TABLE IF NOT EXISTS `mercenary_owner` (
+ `char_id` INT(11) NOT NULL,
+ `merc_id` INT(11) NOT NULL DEFAULT '0',
+ `arch_calls` INT(11) NOT NULL DEFAULT '0',
+ `arch_faith` INT(11) NOT NULL DEFAULT '0',
+ `spear_calls` INT(11) NOT NULL DEFAULT '0',
+ `spear_faith` INT(11) NOT NULL DEFAULT '0',
+ `sword_calls` INT(11) NOT NULL DEFAULT '0',
+ `sword_faith` INT(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`char_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `party`
+--
+
+CREATE TABLE IF NOT EXISTS `party` (
+ `party_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `name` VARCHAR(24) NOT NULL DEFAULT '',
+ `exp` TINYINT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `item` TINYINT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `leader_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `leader_char` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`party_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `pet`
+--
+
+CREATE TABLE IF NOT EXISTS `pet` (
+ `pet_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `class` MEDIUMINT(9) UNSIGNED NOT NULL DEFAULT '0',
+ `name` VARCHAR(24) NOT NULL DEFAULT '',
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `level` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `egg_id` SMALLINT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `equip` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
+ `intimate` SMALLINT(9) UNSIGNED NOT NULL DEFAULT '0',
+ `hungry` SMALLINT(9) UNSIGNED NOT NULL DEFAULT '0',
+ `rename_flag` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `incubate` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `autofeed` TINYINT(2) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`pet_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `quest`
+--
+
+CREATE TABLE IF NOT EXISTS `quest` (
+ `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `quest_id` INT(10) UNSIGNED NOT NULL,
+ `state` ENUM('0','1','2') NOT NULL DEFAULT '0',
+ `time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `count1` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `count2` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `count3` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`char_id`,`quest_id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `ragsrvinfo`
+--
+
+CREATE TABLE IF NOT EXISTS `ragsrvinfo` (
+ `index` INT(11) NOT NULL DEFAULT '0',
+ `name` VARCHAR(255) NOT NULL DEFAULT '',
+ `exp` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `jexp` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `drop` INT(11) UNSIGNED NOT NULL DEFAULT '0'
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `skill`
+--
+
+CREATE TABLE IF NOT EXISTS `skill` (
+ `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `id` SMALLINT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `lv` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `flag` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
+ PRIMARY KEY (`char_id`,`id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `skill_homunculus`
+--
+
+CREATE TABLE IF NOT EXISTS `skill_homunculus` (
+ `homun_id` INT(11) NOT NULL,
+ `id` INT(11) NOT NULL,
+ `lv` SMALLINT(6) NOT NULL,
+ PRIMARY KEY (`homun_id`,`id`)
+) ENGINE=MyISAM;
+
+--
+-- Table structure for table `sql_updates`
+--
+
+CREATE TABLE IF NOT EXISTS `sql_updates` (
+ `timestamp` INT(11) UNSIGNED NOT NULL,
+ `ignored` ENUM('Yes','No') NOT NULL DEFAULT 'No',
+ PRIMARY KEY (`timestamp`)
+) ENGINE=MyISAM;
+
+-- Existent updates to enter
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1360858500); -- 2013-02-14--16-15.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1360951560); -- 2013-02-15--18-06.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1362445531); -- 2013-03-05--01-05.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1362528000); -- 2013-03-06--00-00.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1362794218); -- 2013-03-09--01-56.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1364409316); -- 2013-03-27--18-35.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1366075474); -- 2013-04-16--01-24.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1366078541); -- 2013-04-16--02-15.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1381354728); -- 2013-10-09--21-38.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1381423003); -- 2013-10-10--16-36.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1382892428); -- 2013-10-27--16-47.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1383162785); -- 2013-10-30--19-53.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1383167577); -- 2013-10-30--21-12.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1383205740); -- 2013-10-31--07-49.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1383955424); -- 2013-11-09--00-03.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1384473995); -- 2013-11-15--00-06.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1384545461); -- 2013-11-15--19-57.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1384588175); -- 2013-11-16--07-49.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1384763034); -- 2013-11-18--08-23.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1387844126); -- 2013-12-24--00-15.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1388854043); -- 2014-01-04--16-47.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1389028967); -- 2014-01-06--17-22.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1392832626); -- 2014-02-19--17-57.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1395789302); -- 2014-03-25--23-57.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1396893866); -- 2014-04-07--22-04.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1398477600); -- 2014-04-26--10-00.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1400256139); -- 2014-05-17--00-06.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1409590380); -- 2014-09-01--16-53.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1414975503); -- 2014-11-03--00-45.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1435860840); -- 2015-07-02--18-14.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1436360978); -- 2015-07-08--13-08.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1440688342); -- 2015-08-27--20-42.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1450241859); -- 2015-12-16--12-57.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1450367880); -- 2015-12-17--15-58.sql
+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
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1477434595); -- 2016-10-26--10-29.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1488454834); -- 2017-03-02--11-40.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1488744559); -- 2017-03-05--08-09.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1489588190); -- 2017-03-15--14-29.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1496588640); -- 2017-06-04--15-04.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1496588700); -- 2017-06-04--15-05.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1509835214); -- 2017-11-04--10-39.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1519671456); -- 2018-02-26--15-57.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1520654809); -- 2018-03-10--04-06.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1527964800); -- 2018-06-03--00-10.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1528026381); -- 2018-06-03--17-16.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1528180320); -- 2018-06-05--12-02.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1532403228); -- 2018-07-24--03-23.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1535865732); -- 2018-09-01--05-22.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1544738447); -- 2018-12-14--01-02.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1546059075); -- 2018-12-29--07-51.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1554760320); -- 2019-04-08--21-52.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1556147483); -- 2019-04-25--02-12.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1557414445); -- 2019-05-09--18-07.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1565293394); -- 2019-08-08--19-43.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1570309293); -- 2019-10-05--19-01.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1570870260); -- 2019-10-21--14-21.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1574463539); -- 2019-11-22--23-58.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1579817630); -- 2020-01-24--01-09.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1584838560); -- 2020-03-22--01-56.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1584842940); -- 2020-03-22--03-09.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1588301040); -- 2020-05-01--04-44.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1589145060); -- 2020-05-10--23-11.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1596240000); -- 2020-08-01--00-00.sql
+
+--
+-- Table structure for table `storage`
+--
+
+CREATE TABLE IF NOT EXISTS `storage` (
+ `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `storage_id` INT UNSIGNED NOT NULL DEFAULT '1',
+ `nameid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `amount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `equip` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `identify` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+ `attribute` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `card0` INT(11) NOT NULL DEFAULT '0',
+ `card1` INT(11) NOT NULL DEFAULT '0',
+ `card2` INT(11) NOT NULL DEFAULT '0',
+ `card3` INT(11) NOT NULL DEFAULT '0',
+ `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0',
+ `expire_time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `bound` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
+ `unique_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `account_id` (`account_id`)
+) ENGINE=MyISAM;
+
+CREATE TABLE IF NOT EXISTS `rodex_items` (
+ `id` INT(11) NOT NULL AUTO_INCREMENT,
+ `mail_id` BIGINT(20) NOT NULL DEFAULT '0',
+ `nameid` INT(11) NOT NULL DEFAULT '0',
+ `amount` INT(11) NOT NULL DEFAULT '0',
+ `equip` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `identify` SMALLINT(6) NOT NULL DEFAULT '0',
+ `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+ `attribute` TINYINT(4) NOT NULL DEFAULT '0',
+ `card0` INT(11) NOT NULL DEFAULT '0',
+ `card1` INT(11) NOT NULL DEFAULT '0',
+ `card2` INT(11) NOT NULL DEFAULT '0',
+ `card3` INT(11) NOT NULL DEFAULT '0',
+ `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0',
+ `expire_time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `bound` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
+ `unique_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `mail_id` (`mail_id`)
+) ENGINE=InnoDB;
+
+CREATE TABLE IF NOT EXISTS `rodex_mail` (
+ `mail_id` BIGINT(20) NOT NULL AUTO_INCREMENT,
+ `sender_name` VARCHAR(30) NOT NULL,
+ `sender_id` INT(11) NOT NULL,
+ `receiver_name` VARCHAR(30) NOT NULL,
+ `receiver_id` INT(11) NOT NULL,
+ `receiver_accountid` INT(11) NOT NULL,
+ `title` VARCHAR(50) NOT NULL,
+ `body` VARCHAR(510) NOT NULL,
+ `zeny` BIGINT(20) NOT NULL,
+ `type` TINYINT(8) UNSIGNED NOT NULL,
+ `is_read` TINYINT(8) NOT NULL,
+ `sender_read` TINYINT(2) NOT NULL,
+ `send_date` INT(11) NOT NULL,
+ `expire_date` INT(11) NOT NULL,
+ `weight` INT(11) NOT NULL,
+ PRIMARY KEY (`mail_id`),
+ KEY `sender_id` (`sender_id`),
+ KEY `receiver_id` (`receiver_id`),
+ KEY `receiver_accountid` (`receiver_accountid`),
+ KEY `send_date` (`send_date`),
+ KEY `expire_date` (`expire_date`)
+) ENGINE=MyISAM;
+
+CREATE TABLE IF NOT EXISTS `npc_barter_data` (
+ `name` VARCHAR(24) NOT NULL DEFAULT '',
+ `itemId` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `amount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `priceId` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `priceAmount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`name`, `itemid`, `priceId`, `priceAmount`)
+) ENGINE=MyISAM;
+
+CREATE TABLE IF NOT EXISTS `npc_expanded_barter_data` (
+ `name` VARCHAR(24) NOT NULL DEFAULT '',
+ `itemId` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `amount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `zeny` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyId1` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount1` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine1` INT(11) NOT NULL DEFAULT '0',
+ `currencyId2` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount2` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine2` INT(11) NOT NULL DEFAULT '0',
+ `currencyId3` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount3` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine3` INT(11) NOT NULL DEFAULT '0',
+ `currencyId4` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount4` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine4` INT(11) NOT NULL DEFAULT '0',
+ `currencyId5` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount5` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine5` INT(11) NOT NULL DEFAULT '0',
+ `currencyId6` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount6` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine6` INT(11) NOT NULL DEFAULT '0',
+ `currencyId7` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount7` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine7` INT(11) NOT NULL DEFAULT '0',
+ `currencyId8` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount8` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine8` INT(11) NOT NULL DEFAULT '0',
+ `currencyId9` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount9` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine9` INT(11) NOT NULL DEFAULT '0',
+ `currencyId10` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount10` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine10` INT(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`name`, `itemid`, `zeny`,
+ `currencyId1`, `currencyAmount1`, `currencyRefine1`,
+ `currencyId2`, `currencyAmount2`, `currencyRefine2`,
+ `currencyId3`, `currencyAmount3`, `currencyRefine3`,
+ `currencyId4`, `currencyAmount4`, `currencyRefine4`
+)
+) ENGINE=MyISAM;
+
+-- Bound items cannot go to ManaMarket anyway
+-- PS. id autofilled, accountid/price/expire by MM
+-- options by index, all others by getinventorylist()
+CREATE TABLE IF NOT EXISTS `manamarket` (
+ `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `price` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `expire_time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `nameid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `amount` SMALLINT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `equip` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `identify` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+ `attribute` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `card0` INT(11) NOT NULL DEFAULT '0',
+ `card1` INT(11) NOT NULL DEFAULT '0',
+ `card2` INT(11) NOT NULL DEFAULT '0',
+ `card3` INT(11) NOT NULL DEFAULT '0',
+ `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM;
diff --git a/sql-files/tools/convert_engine_innodb.sql b/sql-files/tools/convert_engine_innodb.sql
new file mode 100644
index 0000000..0b72701
--- /dev/null
+++ b/sql-files/tools/convert_engine_innodb.sql
@@ -0,0 +1,56 @@
+--
+-- Hercules Database Converter
+-- MyISAM Engine -> InnoDB Engine
+--
+
+ALTER TABLE `account_data` ENGINE = InnoDB;
+ALTER TABLE `acc_reg_num_db` ENGINE = InnoDB;
+ALTER TABLE `acc_reg_str_db` ENGINE = InnoDB;
+ALTER TABLE `auction` ENGINE = InnoDB;
+ALTER TABLE `autotrade_data` ENGINE = InnoDB;
+ALTER TABLE `autotrade_merchants` ENGINE = InnoDB;
+ALTER TABLE `cart_inventory` ENGINE = InnoDB;
+ALTER TABLE `char` ENGINE = InnoDB;
+ALTER TABLE `char_reg_num_db` ENGINE = InnoDB;
+ALTER TABLE `char_reg_str_db` ENGINE = InnoDB;
+ALTER TABLE `charlog` ENGINE = InnoDB;
+ALTER TABLE `elemental` ENGINE = InnoDB;
+ALTER TABLE `friends` ENGINE = InnoDB;
+ALTER TABLE `hotkey` ENGINE = InnoDB;
+ALTER TABLE `global_acc_reg_num_db` ENGINE = InnoDB;
+ALTER TABLE `global_acc_reg_str_db` ENGINE = InnoDB;
+ALTER TABLE `guild` ENGINE = InnoDB;
+ALTER TABLE `guild_alliance` ENGINE = InnoDB;
+ALTER TABLE `guild_castle` ENGINE = InnoDB;
+ALTER TABLE `guild_expulsion` ENGINE = InnoDB;
+ALTER TABLE `guild_member` ENGINE = InnoDB;
+ALTER TABLE `guild_position` ENGINE = InnoDB;
+ALTER TABLE `guild_skill` ENGINE = InnoDB;
+ALTER TABLE `guild_storage` ENGINE = InnoDB;
+ALTER TABLE `homunculus` ENGINE = InnoDB;
+ALTER TABLE `interlog` ENGINE = InnoDB;
+ALTER TABLE `inventory` ENGINE = InnoDB;
+ALTER TABLE `ipbanlist` ENGINE = InnoDB;
+-- ALTER TABLE `item_db` ENGINE = InnoDB;
+-- ALTER TABLE `item_db2` ENGINE = InnoDB;
+ALTER TABLE `login` ENGINE = InnoDB;
+ALTER TABLE `mapreg` ENGINE = InnoDB;
+ALTER TABLE `sc_data` ENGINE = InnoDB;
+ALTER TABLE `mail` ENGINE = InnoDB;
+ALTER TABLE `memo` ENGINE = InnoDB;
+ALTER TABLE `mercenary` ENGINE = InnoDB;
+ALTER TABLE `mercenary_owner` ENGINE = InnoDB;
+-- ALTER TABLE `mob_db` ENGINE = InnoDB;
+-- ALTER TABLE `mob_db2` ENGINE = InnoDB;
+ALTER TABLE `npc_market_data` ENGINE = InnoDB;
+ALTER TABLE `party` ENGINE = InnoDB;
+ALTER TABLE `pet` ENGINE = InnoDB;
+ALTER TABLE `quest` ENGINE = InnoDB;
+ALTER TABLE `ragsrvinfo` ENGINE = InnoDB;
+ALTER TABLE `skill` ENGINE = InnoDB;
+ALTER TABLE `skill_homunculus` ENGINE = InnoDB;
+ALTER TABLE `sql_updates` ENGINE = InnoDB;
+ALTER TABLE `sstatus` ENGINE = InnoDB;
+ALTER TABLE `storage` ENGINE = InnoDB;
+ALTER TABLE `interreg` ENGINE = InnoDB;
+
diff --git a/sql-files/tools/convert_engine_myisam.sql b/sql-files/tools/convert_engine_myisam.sql
new file mode 100644
index 0000000..e870371
--- /dev/null
+++ b/sql-files/tools/convert_engine_myisam.sql
@@ -0,0 +1,56 @@
+--
+-- Hercules Database Converter
+-- InnoDB Engine -> MyISAM Engine
+--
+
+ALTER TABLE `account_data` ENGINE = MyISAM;
+ALTER TABLE `acc_reg_num_db` ENGINE = MyISAM;
+ALTER TABLE `acc_reg_str_db` ENGINE = MyISAM;
+ALTER TABLE `auction` ENGINE = MyISAM;
+ALTER TABLE `autotrade_data` ENGINE = MyISAM;
+ALTER TABLE `autotrade_merchants` ENGINE = MyISAM;
+ALTER TABLE `cart_inventory` ENGINE = MyISAM;
+ALTER TABLE `char` ENGINE = MyISAM;
+ALTER TABLE `char_reg_num_db` ENGINE = MyISAM;
+ALTER TABLE `char_reg_str_db` ENGINE = MyISAM;
+ALTER TABLE `charlog` ENGINE = MyISAM;
+ALTER TABLE `elemental` ENGINE = MyISAM;
+ALTER TABLE `friends` ENGINE = MyISAM;
+ALTER TABLE `hotkey` ENGINE = MyISAM;
+ALTER TABLE `global_acc_reg_num_db` ENGINE = MyISAM;
+ALTER TABLE `global_acc_reg_str_db` ENGINE = MyISAM;
+ALTER TABLE `guild` ENGINE = MyISAM;
+ALTER TABLE `guild_alliance` ENGINE = MyISAM;
+ALTER TABLE `guild_castle` ENGINE = MyISAM;
+ALTER TABLE `guild_expulsion` ENGINE = MyISAM;
+ALTER TABLE `guild_member` ENGINE = MyISAM;
+ALTER TABLE `guild_position` ENGINE = MyISAM;
+ALTER TABLE `guild_skill` ENGINE = MyISAM;
+ALTER TABLE `guild_storage` ENGINE = MyISAM;
+ALTER TABLE `homunculus` ENGINE = MyISAM;
+ALTER TABLE `interlog` ENGINE = MyISAM;
+ALTER TABLE `inventory` ENGINE = MyISAM;
+ALTER TABLE `ipbanlist` ENGINE = MyISAM;
+-- ALTER TABLE `item_db` ENGINE = MyISAM;
+-- ALTER TABLE `item_db2` ENGINE = MyISAM;
+ALTER TABLE `login` ENGINE = MyISAM;
+ALTER TABLE `mapreg` ENGINE = MyISAM;
+ALTER TABLE `sc_data` ENGINE = MyISAM;
+ALTER TABLE `mail` ENGINE = MyISAM;
+ALTER TABLE `memo` ENGINE = MyISAM;
+ALTER TABLE `mercenary` ENGINE = MyISAM;
+ALTER TABLE `mercenary_owner` ENGINE = MyISAM;
+-- ALTER TABLE `mob_db` ENGINE = MyISAM;
+-- ALTER TABLE `mob_db2` ENGINE = MyISAM;
+ALTER TABLE `npc_market_data` ENGINE = MyISAM;
+ALTER TABLE `party` ENGINE = MyISAM;
+ALTER TABLE `pet` ENGINE = MyISAM;
+ALTER TABLE `quest` ENGINE = MyISAM;
+ALTER TABLE `ragsrvinfo` ENGINE = MyISAM;
+ALTER TABLE `skill` ENGINE = MyISAM;
+ALTER TABLE `skill_homunculus` ENGINE = MyISAM;
+ALTER TABLE `sql_updates` ENGINE = MyISAM;
+ALTER TABLE `sstatus` ENGINE = MyISAM;
+ALTER TABLE `storage` ENGINE = MyISAM;
+ALTER TABLE `interreg` ENGINE = MyISAM;
+
diff --git a/sql-files/tools/convert_passwords.sql b/sql-files/tools/convert_passwords.sql
new file mode 100644
index 0000000..9ee35e1
--- /dev/null
+++ b/sql-files/tools/convert_passwords.sql
@@ -0,0 +1,3 @@
+-- Convert passwords to MD5 Hash
+
+UPDATE `login` SET `user_pass`=MD5(`user_pass`);
diff --git a/sql-files/upgrades/2013-02-14--16-15.sql b/sql-files/upgrades/2013-02-14--16-15.sql
new file mode 100644
index 0000000..b7db70d
--- /dev/null
+++ b/sql-files/upgrades/2013-02-14--16-15.sql
@@ -0,0 +1,7 @@
+#1360858500
+CREATE TABLE IF NOT EXISTS `sql_updates` (
+ `timestamp` INT(11) UNSIGNED NOT NULL,
+ `ignored` ENUM('Yes','No') NOT NULL DEFAULT 'No'
+) ENGINE=MyISAM;
+ALTER TABLE `skill` ADD COLUMN `flag` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0;
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1360858500);
diff --git a/sql-files/upgrades/2013-02-15--18-06.sql b/sql-files/upgrades/2013-02-15--18-06.sql
new file mode 100644
index 0000000..efb0b2a
--- /dev/null
+++ b/sql-files/upgrades/2013-02-15--18-06.sql
@@ -0,0 +1,3 @@
+#1360951560
+ALTER TABLE `sql_updates` ADD PRIMARY KEY (`timestamp`);
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1360951560);
diff --git a/sql-files/upgrades/2013-03-05--01-05.sql b/sql-files/upgrades/2013-03-05--01-05.sql
new file mode 100644
index 0000000..b1a0e40
--- /dev/null
+++ b/sql-files/upgrades/2013-03-05--01-05.sql
@@ -0,0 +1,3 @@
+#1362445531
+ALTER TABLE `login` ADD `character_slots` TINYINT(3) UNSIGNED NOT NULL;
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1362445531);
diff --git a/sql-files/upgrades/2013-03-06--00-00.sql b/sql-files/upgrades/2013-03-06--00-00.sql
new file mode 100644
index 0000000..8d46be7
--- /dev/null
+++ b/sql-files/upgrades/2013-03-06--00-00.sql
@@ -0,0 +1,9 @@
+#1362528000
+-- This script resets all dewata quests that were done by your users before this revision
+-- Author: Euphy
+DELETE FROM `quest` WHERE `quest_id` > 5034 AND `quest_id` < 5055;
+DELETE FROM `quest` WHERE `quest_id` > 9154 AND `quest_id` < 9166;
+DELETE FROM `global_reg_value` WHERE `str` = 'dewata_gatti';
+DELETE FROM `global_reg_value` WHERE `str` = 'dewata_legend';
+DELETE FROM `global_reg_value` WHERE `str` = 'dewata_oldman';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1362528000);
diff --git a/sql-files/upgrades/2013-03-09--01-56.sql b/sql-files/upgrades/2013-03-09--01-56.sql
new file mode 100644
index 0000000..6edfa79
--- /dev/null
+++ b/sql-files/upgrades/2013-03-09--01-56.sql
@@ -0,0 +1,4 @@
+#1362794218
+ALTER TABLE `login` ADD COLUMN `pincode` VARCHAR(4) NOT NULL DEFAULT '';
+ALTER TABLE `login` ADD COLUMN `pincode_change` INT(11) unsigned NOT NULL DEFAULT '0';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1362794218);
diff --git a/sql-files/upgrades/2013-03-27--18-35.sql b/sql-files/upgrades/2013-03-27--18-35.sql
new file mode 100644
index 0000000..323aa2a
--- /dev/null
+++ b/sql-files/upgrades/2013-03-27--18-35.sql
@@ -0,0 +1,3 @@
+#1364409316
+ALTER TABLE `char` ADD COLUMN `slotchange` SMALLINT(3) unsigned NOT NULL default '0';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1364409316);
diff --git a/sql-files/upgrades/2013-04-16--01-24.sql b/sql-files/upgrades/2013-04-16--01-24.sql
new file mode 100644
index 0000000..951ca8c
--- /dev/null
+++ b/sql-files/upgrades/2013-04-16--01-24.sql
@@ -0,0 +1,3 @@
+#1366075474
+-- Info http://herc.ws/board/topic/410-skill-script-command-updatefix/
+UPDATE `skill` SET `flag` = 0 WHERE `flag` = 4 AND `id` != 2535 AND `id` != 681;
diff --git a/sql-files/upgrades/2013-04-16--02-15.sql b/sql-files/upgrades/2013-04-16--02-15.sql
new file mode 100644
index 0000000..458d1dc
--- /dev/null
+++ b/sql-files/upgrades/2013-04-16--02-15.sql
@@ -0,0 +1,4 @@
+#1366078541
+ALTER TABLE `char` ADD `char_opt` INT(11) UNSIGNED NOT NULL DEFAULT '0';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1366075474); -- for the previous that missed it..
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1366078541);
diff --git a/sql-files/upgrades/2013-10-09--21-38.sql b/sql-files/upgrades/2013-10-09--21-38.sql
new file mode 100644
index 0000000..d8854bc
--- /dev/null
+++ b/sql-files/upgrades/2013-10-09--21-38.sql
@@ -0,0 +1,3 @@
+#1381354728
+ALTER TABLE `zenylog` MODIFY `type` ENUM('T','V','P','M','S','N','D','C','A','E','I','B','K') NOT NULL DEFAULT 'S';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1381354728);
diff --git a/sql-files/upgrades/2013-10-10--16-36.sql b/sql-files/upgrades/2013-10-10--16-36.sql
new file mode 100644
index 0000000..88db760
--- /dev/null
+++ b/sql-files/upgrades/2013-10-10--16-36.sql
@@ -0,0 +1,7 @@
+#1381423003
+CREATE TABLE IF NOT EXISTS `account_data` (
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `bank_vault` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`account_id`)
+) ENGINE=MyISAM;
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1381423003);
diff --git a/sql-files/upgrades/2013-10-27--16-47.sql b/sql-files/upgrades/2013-10-27--16-47.sql
new file mode 100644
index 0000000..2a9a73f
--- /dev/null
+++ b/sql-files/upgrades/2013-10-27--16-47.sql
@@ -0,0 +1,6 @@
+#1382892428
+ALTER TABLE `inventory` MODIFY `equip` INT(11) UNSIGNED NOT NULL DEFAULT '0';
+ALTER TABLE `storage` MODIFY `equip` INT(11) UNSIGNED NOT NULL DEFAULT '0';
+ALTER TABLE `cart_inventory` MODIFY `equip` INT(11) UNSIGNED NOT NULL DEFAULT '0';
+ALTER TABLE `guild_storage` MODIFY `equip` INT(11) UNSIGNED NOT NULL DEFAULT '0';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1382892428);
diff --git a/sql-files/upgrades/2013-10-30--19-53.sql b/sql-files/upgrades/2013-10-30--19-53.sql
new file mode 100644
index 0000000..6e89015
--- /dev/null
+++ b/sql-files/upgrades/2013-10-30--19-53.sql
@@ -0,0 +1,5 @@
+#1383162785
+ALTER TABLE `account_data` ADD `base_exp` TINYINT(4) UNSIGNED NOT NULL DEFAULT '100';
+ALTER TABLE `account_data` ADD `base_drop` TINYINT(4) UNSIGNED NOT NULL DEFAULT '100';
+ALTER TABLE `account_data` ADD `base_death` TINYINT(4) UNSIGNED NOT NULL DEFAULT '100';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1383162785);
diff --git a/sql-files/upgrades/2013-10-30--21-12.sql b/sql-files/upgrades/2013-10-30--21-12.sql
new file mode 100644
index 0000000..e0fbda8
--- /dev/null
+++ b/sql-files/upgrades/2013-10-30--21-12.sql
@@ -0,0 +1,3 @@
+#1383167577
+ALTER TABLE `char` ADD `font` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1383167577);
diff --git a/sql-files/upgrades/2013-10-31--07-49.sql b/sql-files/upgrades/2013-10-31--07-49.sql
new file mode 100644
index 0000000..25f489f
--- /dev/null
+++ b/sql-files/upgrades/2013-10-31--07-49.sql
@@ -0,0 +1,6 @@
+#1383205740
+ALTER TABLE `inventory` ADD COLUMN `bound` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' AFTER `favorite`;
+ALTER TABLE `cart_inventory` ADD COLUMN `bound` TINYINT(1) UNSIGNED NOT NULL default '0' AFTER `expire_time`;
+ALTER TABLE `storage` ADD COLUMN `bound` TINYINT(1) UNSIGNED NOT NULL default '0' AFTER `expire_time`;
+ALTER TABLE `guild_storage` ADD COLUMN `bound` TINYINT(1) UNSIGNED NOT NULL default '0' AFTER `expire_time`;
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1383205740);
diff --git a/sql-files/upgrades/2013-11-09--00-03.sql b/sql-files/upgrades/2013-11-09--00-03.sql
new file mode 100644
index 0000000..92fe1b7
--- /dev/null
+++ b/sql-files/upgrades/2013-11-09--00-03.sql
@@ -0,0 +1,5 @@
+#1383955424
+ALTER TABLE `account_data` MODIFY `base_exp` TINYINT(4) UNSIGNED NOT NULL DEFAULT '100';
+ALTER TABLE `account_data` MODIFY `base_drop` TINYINT(4) UNSIGNED NOT NULL DEFAULT '100';
+ALTER TABLE `account_data` MODIFY `base_death` TINYINT(4) UNSIGNED NOT NULL DEFAULT '100';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1383955424);
diff --git a/sql-files/upgrades/2013-11-15--00-06.sql b/sql-files/upgrades/2013-11-15--00-06.sql
new file mode 100644
index 0000000..dafc561
--- /dev/null
+++ b/sql-files/upgrades/2013-11-15--00-06.sql
@@ -0,0 +1,105 @@
+#1384473995
+
+-- Note: If you're running a MySQL version earlier than 5.0 (or if this scripts fails for you for any reason)
+-- you'll need to run the following queries manually:
+--
+-- [ Pre-Renewal only ]
+-- ALTER TABLE item_db2 ADD COLUMN `matk` SMALLINT(5) UNSIGNED DEFAULT NULL AFTER atk;
+-- ALTER TABLE item_db2 CHANGE COLUMN `equip_level` `equip_level_min` SMALLINT(5) UNSIGNED DEFAULT NULL;
+-- ALTER TABLE item_db2 ADD COLUMN `equip_level_max` SMALLINT(5) UNSIGNED DEFAULT NULL AFTER equip_level_min;
+-- [ Both Pre-Renewal and Renewal ]
+-- ALTER TABLE item_db2 MODIFY COLUMN `price_buy` MEDIUMINT(10) DEFAULT NULL;
+-- ALTER TABLE item_db2 MODIFY COLUMN `price_sell` MEDIUMINT(10) DEFAULT NULL;
+-- ALTER TABLE item_db2 MODIFY COLUMN `weight` SMALLINT(5) UNSIGNED DEFAULT NULL;
+-- ALTER TABLE item_db2 MODIFY COLUMN `atk` SMALLINT(5) UNSIGNED DEFAULT NULL;
+-- ALTER TABLE item_db2 MODIFY COLUMN `matk` SMALLINT(5) UNSIGNED DEFAULT NULL;
+-- ALTER TABLE item_db2 MODIFY COLUMN `defence` SMALLINT(5) UNSIGNED DEFAULT NULL;
+-- ALTER TABLE item_db2 MODIFY COLUMN `range` TINYINT(2) UNSIGNED DEFAULT NULL;
+-- ALTER TABLE item_db2 MODIFY COLUMN `slots` TINYINT(2) UNSIGNED DEFAULT NULL;
+-- ALTER TABLE item_db2 MODIFY COLUMN `equip_jobs` INT(12) UNSIGNED DEFAULT NULL;
+-- ALTER TABLE item_db2 MODIFY COLUMN `equip_upper` TINYINT(8) UNSIGNED DEFAULT NULL;
+-- ALTER TABLE item_db2 MODIFY COLUMN `equip_genders` TINYINT(2) UNSIGNED DEFAULT NULL;
+-- ALTER TABLE item_db2 MODIFY COLUMN `equip_locations` SMALLINT(4) UNSIGNED DEFAULT NULL;
+-- ALTER TABLE item_db2 MODIFY COLUMN `weapon_level` TINYINT(2) UNSIGNED DEFAULT NULL;
+-- ALTER TABLE item_db2 MODIFY COLUMN `equip_level_min` SMALLINT(5) UNSIGNED DEFAULT NULL;
+-- ALTER TABLE item_db2 MODIFY COLUMN `equip_level_max` SMALLINT(5) UNSIGNED DEFAULT NULL;
+-- ALTER TABLE item_db2 MODIFY COLUMN `refineable` TINYINT(1) UNSIGNED DEFAULT NULL;
+-- ALTER TABLE item_db2 MODIFY COLUMN `view` SMALLINT(3) UNSIGNED DEFAULT NULL;
+-- INSERT INTO `sql_updates` (`timestamp`) VALUES (1384473995);
+--
+-- [ End ]
+-- What follows is the automated script that does all of the above.
+
+DELIMITER $$
+
+DROP PROCEDURE IF EXISTS alter_if_not_exists $$
+DROP PROCEDURE IF EXISTS alter_if_exists $$
+
+CREATE PROCEDURE alter_if_not_exists(my_table TINYTEXT, my_column TINYTEXT, my_command TINYTEXT, my_predicate TEXT)
+BEGIN
+ set @dbname = DATABASE();
+ IF EXISTS (
+ SELECT * FROM information_schema.TABLES
+ WHERE TABLE_SCHEMA = @dbname
+ AND TABLE_NAME = my_table
+ ) AND NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS
+ WHERE TABLE_SCHEMA = @dbname
+ AND TABLE_NAME = my_table
+ AND COLUMN_NAME = my_column
+ )
+ THEN
+ SET @q = CONCAT('ALTER TABLE ', @dbname, '.', my_table, ' ',
+ my_command, ' `', my_column, '` ', my_predicate);
+ PREPARE STMT FROM @q;
+ EXECUTE STMT;
+ END IF;
+
+END $$
+
+CREATE PROCEDURE alter_if_exists(my_table TINYTEXT, my_column TINYTEXT, my_command TINYTEXT, my_predicate TEXT)
+BEGIN
+ set @dbname = DATABASE();
+ IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS
+ WHERE TABLE_SCHEMA = @dbname
+ AND TABLE_NAME = my_table
+ AND COLUMN_NAME = my_column
+ )
+ THEN
+ SET @q = CONCAT('ALTER TABLE ', @dbname, '.', my_table, ' ',
+ my_command, ' `', my_column, '` ', my_predicate);
+ PREPARE STMT FROM @q;
+ EXECUTE STMT;
+ END IF;
+
+END $$
+
+CALL alter_if_not_exists('item_db2', 'matk', 'ADD COLUMN', 'SMALLINT(5) UNSIGNED DEFAULT NULL AFTER atk') $$
+CALL alter_if_exists('item_db2', 'equip_level', 'CHANGE COLUMN', 'equip_level_min SMALLINT(5) UNSIGNED DEFAULT NULL') $$
+CALL alter_if_not_exists('item_db2', 'equip_level_max', 'ADD COLUMN', 'SMALLINT(5) UNSIGNED DEFAULT NULL AFTER equip_level_min') $$
+
+CALL alter_if_exists('item_db2', 'price_buy', 'MODIFY COLUMN', 'MEDIUMINT(10) DEFAULT NULL') $$
+CALL alter_if_exists('item_db2', 'price_sell', 'MODIFY COLUMN', 'MEDIUMINT(10) DEFAULT NULL') $$
+CALL alter_if_exists('item_db2', 'weight', 'MODIFY COLUMN', 'SMALLINT(5) UNSIGNED DEFAULT NULL') $$
+CALL alter_if_exists('item_db2', 'atk', 'MODIFY COLUMN', 'SMALLINT(5) UNSIGNED DEFAULT NULL') $$
+CALL alter_if_exists('item_db2', 'matk', 'MODIFY COLUMN', 'SMALLINT(5) UNSIGNED DEFAULT NULL') $$
+CALL alter_if_exists('item_db2', 'defence', 'MODIFY COLUMN', 'SMALLINT(5) UNSIGNED DEFAULT NULL') $$
+CALL alter_if_exists('item_db2', 'range', 'MODIFY COLUMN', 'TINYINT(2) UNSIGNED DEFAULT NULL') $$
+CALL alter_if_exists('item_db2', 'slots', 'MODIFY COLUMN', 'TINYINT(2) UNSIGNED DEFAULT NULL') $$
+CALL alter_if_exists('item_db2', 'equip_jobs', 'MODIFY COLUMN', 'INT(12) UNSIGNED DEFAULT NULL') $$
+CALL alter_if_exists('item_db2', 'equip_upper', 'MODIFY COLUMN', 'TINYINT(8) UNSIGNED DEFAULT NULL') $$
+CALL alter_if_exists('item_db2', 'equip_genders', 'MODIFY COLUMN', 'TINYINT(2) UNSIGNED DEFAULT NULL') $$
+CALL alter_if_exists('item_db2', 'equip_locations', 'MODIFY COLUMN', 'SMALLINT(4) UNSIGNED DEFAULT NULL') $$
+CALL alter_if_exists('item_db2', 'weapon_level', 'MODIFY COLUMN', 'TINYINT(2) UNSIGNED DEFAULT NULL') $$
+CALL alter_if_exists('item_db2', 'equip_level_min', 'MODIFY COLUMN', 'SMALLINT(5) UNSIGNED DEFAULT NULL') $$
+CALL alter_if_exists('item_db2', 'equip_level_max', 'MODIFY COLUMN', 'SMALLINT(5) UNSIGNED DEFAULT NULL') $$
+CALL alter_if_exists('item_db2', 'refineable', 'MODIFY COLUMN', 'TINYINT(1) UNSIGNED DEFAULT NULL') $$
+CALL alter_if_exists('item_db2', 'view', 'MODIFY COLUMN', 'SMALLINT(3) UNSIGNED DEFAULT NULL') $$
+
+DROP PROCEDURE IF EXISTS alter_if_not_exists $$
+DROP PROCEDURE IF EXISTS alter_if_exists $$
+
+DELIMITER ';'
+
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1384473995);
diff --git a/sql-files/upgrades/2013-11-15--19-57.sql b/sql-files/upgrades/2013-11-15--19-57.sql
new file mode 100644
index 0000000..d4d8ec5
--- /dev/null
+++ b/sql-files/upgrades/2013-11-15--19-57.sql
@@ -0,0 +1,5 @@
+#1384545461
+UPDATE `account_data` SET `base_exp` = '100' WHERE `base_exp` = '0';
+UPDATE `account_data` SET `base_drop` = '100' WHERE `base_drop` = '0';
+UPDATE `account_data` SET `base_death` = '100' WHERE `base_death` = '0';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1384545461);
diff --git a/sql-files/upgrades/2013-11-16--07-49.sql b/sql-files/upgrades/2013-11-16--07-49.sql
new file mode 100644
index 0000000..fce74aa
--- /dev/null
+++ b/sql-files/upgrades/2013-11-16--07-49.sql
@@ -0,0 +1,3 @@
+#1384588175
+ALTER TABLE `char` ADD COLUMN `unban_time` INT(11) UNSIGNED NOT NULL DEFAULT '0';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1384588175);
diff --git a/sql-files/upgrades/2013-11-18--08-23.sql b/sql-files/upgrades/2013-11-18--08-23.sql
new file mode 100644
index 0000000..d7100d7
--- /dev/null
+++ b/sql-files/upgrades/2013-11-18--08-23.sql
@@ -0,0 +1,65 @@
+#1384763034
+
+-- Note: If you're running a MySQL version earlier than 5.0 (or if this scripts fails for you for any reason)
+-- you'll need to run the following queries manually:
+--
+-- [ Both Pre-Renewal and Renewal ]
+-- ALTER TABLE item_db2 ADD COLUMN `bindonequip` TINYINT(1) UNSIGNED DEFAULT NULL AFTER `view`;
+-- INSERT INTO `sql_updates` (`timestamp`) VALUES (1384763034);
+--
+-- [ End ]
+-- What follows is the automated script that does all of the above.
+
+DELIMITER $$
+
+DROP PROCEDURE IF EXISTS alter_if_not_exists $$
+DROP PROCEDURE IF EXISTS alter_if_exists $$
+
+CREATE PROCEDURE alter_if_not_exists(my_table TINYTEXT, my_column TINYTEXT, my_command TINYTEXT, my_predicate TEXT)
+BEGIN
+ set @dbname = DATABASE();
+ IF EXISTS (
+ SELECT * FROM information_schema.TABLES
+ WHERE TABLE_SCHEMA = @dbname
+ AND TABLE_NAME = my_table
+ ) AND NOT EXISTS (
+ SELECT * FROM information_schema.COLUMNS
+ WHERE TABLE_SCHEMA = @dbname
+ AND TABLE_NAME = my_table
+ AND COLUMN_NAME = my_column
+ )
+ THEN
+ SET @q = CONCAT('ALTER TABLE ', @dbname, '.', my_table, ' ',
+ my_command, ' `', my_column, '` ', my_predicate);
+ PREPARE STMT FROM @q;
+ EXECUTE STMT;
+ END IF;
+
+END $$
+
+CREATE PROCEDURE alter_if_exists(my_table TINYTEXT, my_column TINYTEXT, my_command TINYTEXT, my_predicate TEXT)
+BEGIN
+ set @dbname = DATABASE();
+ IF EXISTS (
+ SELECT * FROM information_schema.COLUMNS
+ WHERE TABLE_SCHEMA = @dbname
+ AND TABLE_NAME = my_table
+ AND COLUMN_NAME = my_column
+ )
+ THEN
+ SET @q = CONCAT('ALTER TABLE ', @dbname, '.', my_table, ' ',
+ my_command, ' `', my_column, '` ', my_predicate);
+ PREPARE STMT FROM @q;
+ EXECUTE STMT;
+ END IF;
+
+END $$
+
+CALL alter_if_not_exists('item_db2', 'bindonequip', 'ADD COLUMN', 'TINYINT(1) UNSIGNED DEFAULT NULL AFTER `view`') $$
+
+DROP PROCEDURE IF EXISTS alter_if_not_exists $$
+DROP PROCEDURE IF EXISTS alter_if_exists $$
+
+DELIMITER ';'
+
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1384763034);
diff --git a/sql-files/upgrades/2013-12-24--00-15.sql b/sql-files/upgrades/2013-12-24--00-15.sql
new file mode 100644
index 0000000..2de4771
--- /dev/null
+++ b/sql-files/upgrades/2013-12-24--00-15.sql
@@ -0,0 +1,8 @@
+#1387844126
+CREATE TABLE IF NOT EXISTS `npc_market_data` (
+ `name` VARCHAR(24) NOT NULL DEFAULT '',
+ `itemid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `amount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`name`,`itemid`)
+) ENGINE=MyISAM;
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1387844126);
diff --git a/sql-files/upgrades/2014-01-04--16-47.sql b/sql-files/upgrades/2014-01-04--16-47.sql
new file mode 100644
index 0000000..40be437
--- /dev/null
+++ b/sql-files/upgrades/2014-01-04--16-47.sql
@@ -0,0 +1,61 @@
+#1388854043
+ALTER TABLE `mapreg` ADD PRIMARY KEY (`varname`, `index`);
+ALTER TABLE `mapreg` DROP INDEX `varname`;
+ALTER TABLE `mapreg` DROP INDEX `index`;
+ALTER TABLE `mapreg` MODIFY `varname` VARCHAR(32) BINARY NOT NULL;
+CREATE TABLE IF NOT EXISTS `acc_reg_num_db` (
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
+ `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `value` INT(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`account_id`,`key`,`index`),
+ KEY `account_id` (`account_id`)
+) ENGINE=MyISAM;
+CREATE TABLE IF NOT EXISTS `acc_reg_str_db` (
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
+ `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `value` VARCHAR(254) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`account_id`,`key`,`index`),
+ KEY `account_id` (`account_id`)
+) ENGINE=MyISAM;
+CREATE TABLE IF NOT EXISTS `char_reg_num_db` (
+ `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
+ `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `value` INT(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`char_id`,`key`,`index`),
+ KEY `char_id` (`char_id`)
+) ENGINE=MyISAM;
+CREATE TABLE IF NOT EXISTS `char_reg_str_db` (
+ `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
+ `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `value` VARCHAR(254) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`char_id`,`key`,`index`),
+ KEY `char_id` (`char_id`)
+) ENGINE=MyISAM;
+CREATE TABLE IF NOT EXISTS `global_acc_reg_num_db` (
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
+ `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `value` INT(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`account_id`,`key`,`index`),
+ KEY `account_id` (`account_id`)
+) ENGINE=MyISAM;
+CREATE TABLE IF NOT EXISTS `global_acc_reg_str_db` (
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
+ `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `value` VARCHAR(254) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`account_id`,`key`,`index`),
+ KEY `account_id` (`account_id`)
+) ENGINE=MyISAM;
+INSERT INTO `acc_reg_num_db` (`account_id`, `key`, `index`, `value`) SELECT `account_id`, `str`, 0, `value` FROM `global_reg_value` WHERE `type` = 2 AND `str` NOT LIKE '%$';
+INSERT INTO `acc_reg_str_db` (`account_id`, `key`, `index`, `value`) SELECT `account_id`, `str`, 0, `value` FROM `global_reg_value` WHERE `type` = 2 AND `str` LIKE '%$';
+INSERT INTO `char_reg_num_db` (`char_id`, `key`, `index`, `value`) SELECT `char_id`, `str`, 0, `value` FROM `global_reg_value` WHERE `type` = 3 AND `str` NOT LIKE '%$';
+INSERT INTO `char_reg_str_db` (`char_id`, `key`, `index`, `value`) SELECT `char_id`, `str`, 0, `value` FROM `global_reg_value` WHERE `type` = 3 AND `str` LIKE '%$';
+INSERT INTO `global_acc_reg_num_db` (`account_id`, `key`, `index`, `value`) SELECT `account_id`, `str`, 0, `value` FROM `global_reg_value` WHERE `type` = 1 AND `str` NOT LIKE '%$';
+INSERT INTO `global_acc_reg_str_db` (`account_id`, `key`, `index`, `value`) SELECT `account_id`, `str`, 0, `value` FROM `global_reg_value` WHERE `type` = 1 AND `str` LIKE '%$';
+# DROP TABLE `global_reg_value`;
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1388854043);
diff --git a/sql-files/upgrades/2014-01-06--17-22.sql b/sql-files/upgrades/2014-01-06--17-22.sql
new file mode 100644
index 0000000..e3ca893
--- /dev/null
+++ b/sql-files/upgrades/2014-01-06--17-22.sql
@@ -0,0 +1,16 @@
+#1389028967
+CREATE TABLE IF NOT EXISTS `autotrade_merchants` (
+ `account_id` INT(11) NOT NULL DEFAULT '0',
+ `char_id` INT(11) NOT NULL DEFAULT '0',
+ `sex` TINYINT(2) NOT NULL DEFAULT '0',
+ `title` varchar(80) NOT NULL DEFAULT 'Buy From Me!',
+ PRIMARY KEY (`account_id`,`char_id`)
+) ENGINE=MyISAM;
+CREATE TABLE IF NOT EXISTS `autotrade_data` (
+ `char_id` INT(11) NOT NULL DEFAULT '0',
+ `itemkey` INT(11) NOT NULL DEFAULT '0',
+ `amount` INT(11) NOT NULL DEFAULT '0',
+ `price` INT(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`char_id`,`itemkey`)
+) ENGINE=MyISAM;
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1389028967);
diff --git a/sql-files/upgrades/2014-02-19--17-57.sql b/sql-files/upgrades/2014-02-19--17-57.sql
new file mode 100644
index 0000000..63abc33
--- /dev/null
+++ b/sql-files/upgrades/2014-02-19--17-57.sql
@@ -0,0 +1,4 @@
+#1392832626
+DELETE FROM `sc_data` WHERE `tick` = '-1';
+ALTER TABLE `sc_data` ADD PRIMARY KEY (`account_id`,`char_id`,`type`);
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1392832626);
diff --git a/sql-files/upgrades/2014-03-25--23-57.sql b/sql-files/upgrades/2014-03-25--23-57.sql
new file mode 100644
index 0000000..40d3fb2
--- /dev/null
+++ b/sql-files/upgrades/2014-03-25--23-57.sql
@@ -0,0 +1,3 @@
+#1395789302
+ALTER TABLE `charlog` ADD COLUMN `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0' AFTER `account_id`;
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1395789302);
diff --git a/sql-files/upgrades/2014-04-07--22-04.sql b/sql-files/upgrades/2014-04-07--22-04.sql
new file mode 100644
index 0000000..56c54ea
--- /dev/null
+++ b/sql-files/upgrades/2014-04-07--22-04.sql
@@ -0,0 +1,3 @@
+#1396893866
+ALTER TABLE `char` ADD COLUMN `uniqueitem_counter` BIGINT(20) NOT NULL AFTER `unban_time`;
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1396893866);
diff --git a/sql-files/upgrades/2014-04-26--10-00.sql b/sql-files/upgrades/2014-04-26--10-00.sql
new file mode 100644
index 0000000..0c0b571
--- /dev/null
+++ b/sql-files/upgrades/2014-04-26--10-00.sql
@@ -0,0 +1,3 @@
+#1398477600
+ALTER TABLE `char` CHANGE COLUMN `uniqueitem_counter` `uniqueitem_counter` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1398477600);
diff --git a/sql-files/upgrades/2014-05-17--00-06.sql b/sql-files/upgrades/2014-05-17--00-06.sql
new file mode 100644
index 0000000..4e5d0d3
--- /dev/null
+++ b/sql-files/upgrades/2014-05-17--00-06.sql
@@ -0,0 +1,3 @@
+#1400256139
+ALTER TABLE `pet` CHANGE `incuvate` `incubate` int(11) unsigned NOT NULL default '0';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1400256139);
diff --git a/sql-files/upgrades/2014-09-01--16-53.sql b/sql-files/upgrades/2014-09-01--16-53.sql
new file mode 100644
index 0000000..9827c00
--- /dev/null
+++ b/sql-files/upgrades/2014-09-01--16-53.sql
@@ -0,0 +1,5 @@
+#1409590380
+ALTER TABLE `account_data` CHANGE `base_exp` `base_exp` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '100',
+CHANGE `base_drop` `base_drop` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '100',
+CHANGE `base_death` `base_death` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '100';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1409590380);
diff --git a/sql-files/upgrades/2014-11-03--00-45.sql b/sql-files/upgrades/2014-11-03--00-45.sql
new file mode 100644
index 0000000..19d0a8f
--- /dev/null
+++ b/sql-files/upgrades/2014-11-03--00-45.sql
@@ -0,0 +1,3 @@
+#1414975503
+ALTER TABLE `char` ADD COLUMN `sex` ENUM('M','F','U') NOT NULL DEFAULT 'U';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1414975503);
diff --git a/sql-files/upgrades/2015-07-08--13-08.sql b/sql-files/upgrades/2015-07-08--13-08.sql
new file mode 100644
index 0000000..4d72085
--- /dev/null
+++ b/sql-files/upgrades/2015-07-08--13-08.sql
@@ -0,0 +1,6 @@
+#1436360978
+
+DROP TABLE IF EXISTS interreg;
+DROP TABLE IF EXISTS sstatus;
+
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1436360978);
diff --git a/sql-files/upgrades/2015-08-27--20-42.sql b/sql-files/upgrades/2015-08-27--20-42.sql
new file mode 100644
index 0000000..e95e183
--- /dev/null
+++ b/sql-files/upgrades/2015-08-27--20-42.sql
@@ -0,0 +1,3 @@
+#1440688342
+ALTER TABLE `char` ADD COLUMN `hotkey_rowshift` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1440688342);
diff --git a/sql-files/upgrades/2015-12-16--12-57.sql b/sql-files/upgrades/2015-12-16--12-57.sql
new file mode 100644
index 0000000..cc9ce79
--- /dev/null
+++ b/sql-files/upgrades/2015-12-16--12-57.sql
@@ -0,0 +1,26 @@
+#1450241859
+
+-- 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 `char` MODIFY COLUMN `max_hp` INT(9) NOT NULL DEFAULT '0';
+ALTER TABLE `char` MODIFY COLUMN `max_sp` INT(9) NOT NULL DEFAULT '0';
+ALTER TABLE `char` MODIFY COLUMN `hp` INT(9) NOT NULL DEFAULT '0';
+ALTER TABLE `char` MODIFY COLUMN `sp` INT(9) NOT NULL DEFAULT '0';
+
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1450241859);
diff --git a/sql-files/upgrades/2015-12-17--15-58.sql b/sql-files/upgrades/2015-12-17--15-58.sql
new file mode 100644
index 0000000..8d3dc51
--- /dev/null
+++ b/sql-files/upgrades/2015-12-17--15-58.sql
@@ -0,0 +1,22 @@
+#1450367880
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2015 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 `char` ADD `body` smallint(5) unsigned NOT NULL default '0' AFTER `clothes_color`;
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1450367880);
diff --git a/sql-files/upgrades/2016-03-10--22-18.sql b/sql-files/upgrades/2016-03-10--22-18.sql
new file mode 100644
index 0000000..80266bc
--- /dev/null
+++ b/sql-files/upgrades/2016-03-10--22-18.sql
@@ -0,0 +1,22 @@
+#1457638175
+
+-- 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 `picklog` MODIFY `type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','K','Y','Z','W','Q','J','H','@','0','1','2') NOT NULL default 'P';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1457638175)
diff --git a/sql-files/upgrades/2016-07-08--02-42.sql b/sql-files/upgrades/2016-07-08--02-42.sql
new file mode 100644
index 0000000..94ca7e6
--- /dev/null
+++ b/sql-files/upgrades/2016-07-08--02-42.sql
@@ -0,0 +1,35 @@
+#1467934919
+
+-- 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` MODIFY `time` DATETIME NULL;
+ALTER TABLE `interlog` MODIFY `time` DATETIME NULL;
+ALTER TABLE `ipbanlist` MODIFY `btime` DATETIME NULL;
+ALTER TABLE `ipbanlist` MODIFY `rtime` DATETIME NULL;
+ALTER TABLE `login` MODIFY `lastlogin` DATETIME NULL;
+ALTER TABLE `login` MODIFY `birthdate` DATE NULL;
+
+UPDATE `charlog` SET `time` = NULL WHERE `time` = '0000-00-00 00:00:00';
+UPDATE `interlog` SET `time` = NULL WHERE `time` = '0000-00-00 00:00:00';
+UPDATE `ipbanlist` SET `btime` = NULL WHERE `btime` = '0000-00-00 00:00:00';
+UPDATE `ipbanlist` SET `rtime` = NULL WHERE `rtime` = '0000-00-00 00:00:00';
+UPDATE `login` SET `lastlogin` = NULL WHERE `lastlogin` = '0000-00-00 00:00:00';
+UPDATE `login` SET `birthdate` = NULL WHERE `birthdate` = '0000-00-00';
+
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1467934919)
diff --git a/sql-files/upgrades/2016-07-08--02-51.sql b/sql-files/upgrades/2016-07-08--02-51.sql
new file mode 100644
index 0000000..8ecf1a2
--- /dev/null
+++ b/sql-files/upgrades/2016-07-08--02-51.sql
@@ -0,0 +1,30 @@
+#1467935469
+
+-- 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 `atcommandlog` MODIFY `atcommand_date` DATETIME NULL;
+ALTER TABLE `branchlog` MODIFY `branch_date` DATETIME NULL;
+ALTER TABLE `chatlog` MODIFY `time` DATETIME NULL;
+ALTER TABLE `loginlog` MODIFY `time` DATETIME NULL;
+ALTER TABLE `mvplog` MODIFY `mvp_date` DATETIME NULL;
+ALTER TABLE `npclog` MODIFY `npc_date` DATETIME NULL;
+ALTER TABLE `picklog` MODIFY `time` DATETIME NULL;
+ALTER TABLE `zenylog` MODIFY `time` DATETIME NULL;
+
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1467935469)
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 0000000..6ad840e
--- /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/2016-10-26--10-29.sql b/sql-files/upgrades/2016-10-26--10-29.sql
new file mode 100644
index 0000000..cabd7db
--- /dev/null
+++ b/sql-files/upgrades/2016-10-26--10-29.sql
@@ -0,0 +1,23 @@
+#1477434595
+
+-- 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 `zenylog` CHANGE `type` `type` ENUM('T','V','P','M','S','N','D','C','A','E','I','B','K') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'S';
+
+INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1477434595 , 'No');
diff --git a/sql-files/upgrades/2017-03-02--11-40.sql b/sql-files/upgrades/2017-03-02--11-40.sql
new file mode 100644
index 0000000..30798b5
--- /dev/null
+++ b/sql-files/upgrades/2017-03-02--11-40.sql
@@ -0,0 +1,93 @@
+#1488454834
+
+-- 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 `auction`
+ ADD COLUMN `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `card3`,
+ ADD COLUMN `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx0`,
+ ADD COLUMN `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val0`,
+ ADD COLUMN `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx1`,
+ ADD COLUMN `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val1`,
+ ADD COLUMN `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx2`,
+ ADD COLUMN `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val2`,
+ ADD COLUMN `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx3`,
+ ADD COLUMN `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val3`,
+ ADD COLUMN `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx4`;
+
+ALTER TABLE `cart_inventory`
+ ADD COLUMN `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `card3`,
+ ADD COLUMN `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx0`,
+ ADD COLUMN `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val0`,
+ ADD COLUMN `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx1`,
+ ADD COLUMN `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val1`,
+ ADD COLUMN `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx2`,
+ ADD COLUMN `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val2`,
+ ADD COLUMN `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx3`,
+ ADD COLUMN `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val3`,
+ ADD COLUMN `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx4`;
+
+ALTER TABLE `guild_storage`
+ ADD COLUMN `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `card3`,
+ ADD COLUMN `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx0`,
+ ADD COLUMN `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val0`,
+ ADD COLUMN `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx1`,
+ ADD COLUMN `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val1`,
+ ADD COLUMN `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx2`,
+ ADD COLUMN `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val2`,
+ ADD COLUMN `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx3`,
+ ADD COLUMN `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val3`,
+ ADD COLUMN `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx4`;
+
+ALTER TABLE `inventory`
+ ADD COLUMN `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `card3`,
+ ADD COLUMN `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx0`,
+ ADD COLUMN `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val0`,
+ ADD COLUMN `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx1`,
+ ADD COLUMN `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val1`,
+ ADD COLUMN `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx2`,
+ ADD COLUMN `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val2`,
+ ADD COLUMN `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx3`,
+ ADD COLUMN `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val3`,
+ ADD COLUMN `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx4`;
+
+ALTER TABLE `mail`
+ ADD COLUMN `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `card3`,
+ ADD COLUMN `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx0`,
+ ADD COLUMN `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val0`,
+ ADD COLUMN `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx1`,
+ ADD COLUMN `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val1`,
+ ADD COLUMN `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx2`,
+ ADD COLUMN `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val2`,
+ ADD COLUMN `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx3`,
+ ADD COLUMN `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val3`,
+ ADD COLUMN `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx4`;
+
+ALTER TABLE `storage`
+ ADD COLUMN `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `card3`,
+ ADD COLUMN `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx0`,
+ ADD COLUMN `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val0`,
+ ADD COLUMN `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx1`,
+ ADD COLUMN `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val1`,
+ ADD COLUMN `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx2`,
+ ADD COLUMN `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val2`,
+ ADD COLUMN `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx3`,
+ ADD COLUMN `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val3`,
+ ADD COLUMN `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx4`;
+
+INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1488454834 , 'No');
diff --git a/sql-files/upgrades/2017-03-05--08-09.sql b/sql-files/upgrades/2017-03-05--08-09.sql
new file mode 100644
index 0000000..3b5ee1a
--- /dev/null
+++ b/sql-files/upgrades/2017-03-05--08-09.sql
@@ -0,0 +1,15 @@
+#1488744559
+
+ALTER TABLE `picklog`
+ ADD COLUMN `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `card3`,
+ ADD COLUMN `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx0`,
+ ADD COLUMN `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val0`,
+ ADD COLUMN `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx1`,
+ ADD COLUMN `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val1`,
+ ADD COLUMN `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx2`,
+ ADD COLUMN `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val2`,
+ ADD COLUMN `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx3`,
+ ADD COLUMN `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `opt_val3`,
+ ADD COLUMN `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0' AFTER `opt_idx4`;
+
+INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1488744559 , 'No');
diff --git a/sql-files/upgrades/2017-03-15--14-29.sql b/sql-files/upgrades/2017-03-15--14-29.sql
new file mode 100644
index 0000000..6e60447
--- /dev/null
+++ b/sql-files/upgrades/2017-03-15--14-29.sql
@@ -0,0 +1,74 @@
+#1489588190
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2017 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/>.
+
+CREATE TABLE IF NOT EXISTS `rodex_items` (
+ `id` INT(11) NOT NULL AUTO_INCREMENT,
+ `mail_id` BIGINT(20) NOT NULL DEFAULT '0',
+ `nameid` INT(11) NOT NULL DEFAULT '0',
+ `amount` INT(11) NOT NULL DEFAULT '0',
+ `equip` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `identify` SMALLINT(6) NOT NULL DEFAULT '0',
+ `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+ `attribute` TINYINT(4) NOT NULL DEFAULT '0',
+ `card0` SMALLINT(11) NOT NULL DEFAULT '0',
+ `card1` SMALLINT(11) NOT NULL DEFAULT '0',
+ `card2` SMALLINT(11) NOT NULL DEFAULT '0',
+ `card3` SMALLINT(11) NOT NULL DEFAULT '0',
+ `opt_idx0` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val0` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0',
+ `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0',
+ `expire_time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `bound` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
+ `unique_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`id`),
+ KEY `mail_id` (`mail_id`)
+) ENGINE=InnoDB;
+
+CREATE TABLE IF NOT EXISTS `rodex_mail` (
+ `mail_id` BIGINT(20) NOT NULL AUTO_INCREMENT,
+ `sender_name` VARCHAR(30) NOT NULL COLLATE 'utf8_unicode_ci',
+ `sender_id` INT(11) NOT NULL,
+ `receiver_name` VARCHAR(30) NOT NULL COLLATE 'utf8_unicode_ci',
+ `receiver_id` INT(11) NOT NULL,
+ `receiver_accountid` INT(11) NOT NULL,
+ `title` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
+ `body` VARCHAR(510) NOT NULL COLLATE 'utf8_unicode_ci',
+ `zeny` BIGINT(20) NOT NULL,
+ `type` TINYINT(8) UNSIGNED NOT NULL,
+ `is_read` TINYINT(8) NOT NULL,
+ `send_date` INT(11) NOT NULL,
+ `expire_date` INT(11) NOT NULL,
+ `weight` INT(11) NOT NULL,
+ PRIMARY KEY (`mail_id`),
+ KEY `sender_id` (`sender_id`),
+ KEY `receiver_id` (`receiver_id`),
+ KEY `receiver_accountid` (`receiver_accountid`),
+ KEY `send_date` (`send_date`),
+ KEY `expire_date` (`expire_date`)
+) ENGINE=MyISAM;
+
+INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1489588190 , 'No');
diff --git a/sql-files/upgrades/2017-06-04--15-04.sql b/sql-files/upgrades/2017-06-04--15-04.sql
new file mode 100644
index 0000000..0805d05
--- /dev/null
+++ b/sql-files/upgrades/2017-06-04--15-04.sql
@@ -0,0 +1,24 @@
+#1496588640
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2017 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 `char` ADD COLUMN `clan_id` INT(11) UNSIGNED NOT NULL DEFAULT '0' AFTER `guild_id`;
+ALTER TABLE `char` ADD COLUMN `last_login` BIGINT(20) NULL DEFAULT '0' AFTER `robe`;
+
+INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1496588640 , 'No');
diff --git a/sql-files/upgrades/2017-06-04--15-05.sql b/sql-files/upgrades/2017-06-04--15-05.sql
new file mode 100644
index 0000000..550197a
--- /dev/null
+++ b/sql-files/upgrades/2017-06-04--15-05.sql
@@ -0,0 +1,23 @@
+#1496588700
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2017 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 `chatlog` MODIFY COLUMN `type` enum('O','W','P','G','M','C') NOT NULL DEFAULT 'O' AFTER `time`;
+
+INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1496588700 , 'No');
diff --git a/sql-files/upgrades/2017-11-04--10-39.sql b/sql-files/upgrades/2017-11-04--10-39.sql
new file mode 100644
index 0000000..f95dbef
--- /dev/null
+++ b/sql-files/upgrades/2017-11-04--10-39.sql
@@ -0,0 +1,6 @@
+#1509835214
+
+ALTER TABLE `homunculus`
+ ADD COLUMN `autofeed` TINYINT(2) NOT NULL DEFAULT '0' AFTER `vaporize`;
+
+INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1509835214 , 'No');
diff --git a/sql-files/upgrades/2018-02-26--15-57.sql b/sql-files/upgrades/2018-02-26--15-57.sql
new file mode 100644
index 0000000..a2090bb
--- /dev/null
+++ b/sql-files/upgrades/2018-02-26--15-57.sql
@@ -0,0 +1,6 @@
+#1519671456
+
+ALTER TABLE `rodex_mail`
+ ADD COLUMN `sender_read` TINYINT(2) NOT NULL DEFAULT '0' AFTER `is_read`;
+
+INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1519671456 , 'No');
diff --git a/sql-files/upgrades/2018-03-10--04-06.sql b/sql-files/upgrades/2018-03-10--04-06.sql
new file mode 100644
index 0000000..ee82773
--- /dev/null
+++ b/sql-files/upgrades/2018-03-10--04-06.sql
@@ -0,0 +1,24 @@
+#1520654809
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2017 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 `char` ADD COLUMN `attendance_count` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `hotkey_rowshift`;
+ALTER TABLE `char` ADD COLUMN `attendance_timer` BIGINT(20) NULL DEFAULT '0' AFTER `attendance_count`;
+
+INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1520654809 , 'No');
diff --git a/sql-files/upgrades/2018-06-03--00-10.sql b/sql-files/upgrades/2018-06-03--00-10.sql
new file mode 100644
index 0000000..c7f6ac4
--- /dev/null
+++ b/sql-files/upgrades/2018-06-03--00-10.sql
@@ -0,0 +1,40 @@
+#1527964800
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2018 Hercules Dev Team
+-- Copyright (C) Smokexyz
+--
+-- 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/>.
+
+CREATE TABLE `char_achievements` (
+ `char_id` INT(11) UNSIGNED NOT NULL,
+ `ach_id` INT(11) UNSIGNED NOT NULL,
+ `completed_at` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `rewarded_at` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `obj_0` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `obj_1` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `obj_2` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `obj_3` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `obj_4` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `obj_5` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `obj_6` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `obj_7` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `obj_8` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `obj_9` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`char_id`, `ach_id`)
+) ENGINE=MyISAM;
+
+INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1527964800, 'No');
diff --git a/sql-files/upgrades/2018-06-03--17-16.sql b/sql-files/upgrades/2018-06-03--17-16.sql
new file mode 100644
index 0000000..e14ca62
--- /dev/null
+++ b/sql-files/upgrades/2018-06-03--17-16.sql
@@ -0,0 +1,24 @@
+#1528026381
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2018 Hercules Dev Team
+-- Copyright (C) Dastgir
+--
+-- 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 `char` ADD `title_id` INT(11) UNSIGNED NOT NULL DEFAULT '0';
+
+INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1528026381, 'No');
diff --git a/sql-files/upgrades/2018-06-05--12-02.sql b/sql-files/upgrades/2018-06-05--12-02.sql
new file mode 100644
index 0000000..26c2224
--- /dev/null
+++ b/sql-files/upgrades/2018-06-05--12-02.sql
@@ -0,0 +1,24 @@
+#1528180320
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2018 Hercules Dev Team
+-- Copyright (C) 2018 Dastgir
+--
+-- 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 `pet` ADD COLUMN `autofeed` TINYINT(2) UNSIGNED NOT NULL DEFAULT '0';
+
+INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1528180320 , 'No');
diff --git a/sql-files/upgrades/2018-07-24--03-23.sql b/sql-files/upgrades/2018-07-24--03-23.sql
new file mode 100644
index 0000000..a8d2d8f
--- /dev/null
+++ b/sql-files/upgrades/2018-07-24--03-23.sql
@@ -0,0 +1,22 @@
+#1532403228
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2018 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/>.
+
+UPDATE `inventory` SET `identify` = 1, `attribute` = 1 WHERE `card0` = -256 and `identify` = 0;
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1532403228);
diff --git a/sql-files/upgrades/2018-08-03--11-37.sql b/sql-files/upgrades/2018-08-03--11-37.sql
new file mode 100644
index 0000000..53c7e6d
--- /dev/null
+++ b/sql-files/upgrades/2018-08-03--11-37.sql
@@ -0,0 +1,33 @@
+#1533307076
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2018 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 `quest` CHANGE `count1` `count1` INT(11) UNSIGNED NOT NULL DEFAULT '0';
+ALTER TABLE `quest` CHANGE `count2` `count2` INT(11) UNSIGNED NOT NULL DEFAULT '0';
+ALTER TABLE `quest` CHANGE `count3` `count3` INT(11) UNSIGNED NOT NULL DEFAULT '0';
+
+CREATE TABLE IF NOT EXISTS `discord` (
+ `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `discord_id` VARCHAR(255) NOT NULL DEFAULT '',
+ `discord_name` VARCHAR(255) NOT NULL DEFAULT '',
+ `verified` ENUM('0', '1') NOT NULL DEFAULT '0'
+) ENGINE=MyISAM;
+
+
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1533307076);
diff --git a/sql-files/upgrades/2018-09-01--05-22.sql b/sql-files/upgrades/2018-09-01--05-22.sql
new file mode 100644
index 0000000..7a834ed
--- /dev/null
+++ b/sql-files/upgrades/2018-09-01--05-22.sql
@@ -0,0 +1,63 @@
+#1535865732
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2018 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 `auction`
+ MODIFY `card0` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card1` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card2` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card3` INT(11) NOT NULL DEFAULT '0';
+
+ALTER TABLE `cart_inventory`
+ MODIFY `card0` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card1` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card2` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card3` INT(11) NOT NULL DEFAULT '0';
+
+ALTER TABLE `guild_storage`
+ MODIFY `card0` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card1` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card2` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card3` INT(11) NOT NULL DEFAULT '0';
+
+ALTER TABLE `inventory`
+ MODIFY `card0` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card1` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card2` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card3` INT(11) NOT NULL DEFAULT '0';
+
+ALTER TABLE `mail`
+ MODIFY `card0` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card1` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card2` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card3` INT(11) NOT NULL DEFAULT '0';
+
+ALTER TABLE `rodex_items`
+ MODIFY `card0` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card1` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card2` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card3` INT(11) NOT NULL DEFAULT '0';
+
+ALTER TABLE `storage`
+ MODIFY `card0` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card1` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card2` INT(11) NOT NULL DEFAULT '0',
+ MODIFY `card3` INT(11) NOT NULL DEFAULT '0';
+
+INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1535865732, 'No');
diff --git a/sql-files/upgrades/2018-12-14--01-02.sql b/sql-files/upgrades/2018-12-14--01-02.sql
new file mode 100644
index 0000000..7bcd583
--- /dev/null
+++ b/sql-files/upgrades/2018-12-14--01-02.sql
@@ -0,0 +1,24 @@
+#1544738447
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2018 Hercules Dev Team
+-- Copyright (C) 4144
+--
+-- 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 `char` ADD `inventory_size` INT(11) UNSIGNED NOT NULL DEFAULT '100';
+
+INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1544738447, 'No');
diff --git a/sql-files/upgrades/2018-12-29--07-51.sql b/sql-files/upgrades/2018-12-29--07-51.sql
new file mode 100644
index 0000000..6411793
--- /dev/null
+++ b/sql-files/upgrades/2018-12-29--07-51.sql
@@ -0,0 +1,29 @@
+#1546059075
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2013-2015 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/>.
+
+CREATE TABLE IF NOT EXISTS `npc_barter_data` (
+ `name` VARCHAR(24) NOT NULL DEFAULT '',
+ `itemId` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `amount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `priceId` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `priceAmount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`name`, `itemid`, `priceId`, `priceAmount`)
+) ENGINE=MyISAM;
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1546059075);
diff --git a/sql-files/upgrades/2019-04-08--21-52.sql b/sql-files/upgrades/2019-04-08--21-52.sql
new file mode 100644
index 0000000..bd015ac
--- /dev/null
+++ b/sql-files/upgrades/2019-04-08--21-52.sql
@@ -0,0 +1,29 @@
+#1554760320
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2013-2019 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/>.
+
+UPDATE `auction` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254);
+UPDATE `cart_inventory` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254);
+UPDATE `inventory` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254);
+UPDATE `guild_storage` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254);
+UPDATE `mail` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254);
+UPDATE `rodex_items` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254);
+UPDATE `storage` SET `card3` = `card2` >> 16, `card2` = `card2` % 65536 WHERE `card2` > 65536 AND (`card0` = 255 OR `card0` = 254);
+
+INSERT INTO `sql_updates` (`timestamp`, `ignored`) VALUES (1554760320, 'No');
diff --git a/sql-files/upgrades/2019-04-25--02-12.sql b/sql-files/upgrades/2019-04-25--02-12.sql
new file mode 100644
index 0000000..64abe45
--- /dev/null
+++ b/sql-files/upgrades/2019-04-25--02-12.sql
@@ -0,0 +1,24 @@
+#1556147483
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2013-2019 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/>.
+
+TRUNCATE TABLE `guild_expulsion`;
+ALTER TABLE `guild_expulsion` ADD `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0' AFTER `account_id`;
+
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1556147483);
diff --git a/sql-files/upgrades/2019-05-09--18-07.sql b/sql-files/upgrades/2019-05-09--18-07.sql
new file mode 100644
index 0000000..96d80c2
--- /dev/null
+++ b/sql-files/upgrades/2019-05-09--18-07.sql
@@ -0,0 +1,22 @@
+#1557414445
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2015 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 `char` ADD COLUMN `hotkey_rowshift2` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `hotkey_rowshift`;
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1557414445);
diff --git a/sql-files/upgrades/2020-08-01--00-00.sql b/sql-files/upgrades/2020-08-01--00-00.sql
new file mode 100644
index 0000000..1721c63
--- /dev/null
+++ b/sql-files/upgrades/2020-08-01--00-00.sql
@@ -0,0 +1,121 @@
+#1596240000
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2019-2020 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/>.
+
+-- MOUBOOTAUR LEGENDS
+-- Merge a lot of updates and drop stuff I don't need.
+
+-- ---------------------------------------------------------------------------
+-- Update: 2019-10-05--19-01
+-- ---------------------------------------------------------------------------
+-- Adds new total_tick column
+ALTER TABLE `sc_data` ADD COLUMN `total_tick` INT(11) NOT NULL AFTER `tick`;
+
+-- Copy current tick to total_tick so players doesn't lose their current
+-- status_changes, although those will still appear wrong until they end
+UPDATE `sc_data` SET `total_tick` = `tick`;
+
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1570309293);
+
+-- ---------------------------------------------------------------------------
+-- Update: 2019-10-12--14-21
+-- ---------------------------------------------------------------------------
+ALTER TABLE `picklog` MODIFY `type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','K','Y','Z','W','Q','J','H','@','0','1','2', '3') NOT NULL DEFAULT 'P';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1570870260);
+
+-- ---------------------------------------------------------------------------
+-- Update: 2020-01-24--01-09
+-- ---------------------------------------------------------------------------
+CREATE TABLE IF NOT EXISTS `npc_expanded_barter_data` (
+ `name` VARCHAR(24) NOT NULL DEFAULT '',
+ `itemId` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `amount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `zeny` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyId1` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount1` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine1` INT(11) NOT NULL DEFAULT '0',
+ `currencyId2` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount2` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine2` INT(11) NOT NULL DEFAULT '0',
+ `currencyId3` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount3` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine3` INT(11) NOT NULL DEFAULT '0',
+ `currencyId4` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount4` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine4` INT(11) NOT NULL DEFAULT '0',
+ `currencyId5` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount5` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine5` INT(11) NOT NULL DEFAULT '0',
+ `currencyId6` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount6` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine6` INT(11) NOT NULL DEFAULT '0',
+ `currencyId7` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount7` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine7` INT(11) NOT NULL DEFAULT '0',
+ `currencyId8` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount8` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine8` INT(11) NOT NULL DEFAULT '0',
+ `currencyId9` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount9` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine9` INT(11) NOT NULL DEFAULT '0',
+ `currencyId10` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount10` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine10` INT(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`name`, `itemid`, `zeny`,
+ `currencyId1`, `currencyAmount1`, `currencyRefine1`,
+ `currencyId2`, `currencyAmount2`, `currencyRefine2`,
+ `currencyId3`, `currencyAmount3`, `currencyRefine3`,
+ `currencyId4`, `currencyAmount4`, `currencyRefine4`
+)
+) ENGINE=MyISAM;
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1579817630);
+
+-- ---------------------------------------------------------------------------
+-- Update: 2020-05-10--23-11
+-- ---------------------------------------------------------------------------
+-- Add separate tables for global integer and string variables.
+CREATE TABLE IF NOT EXISTS `map_reg_num_db` (
+ `key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
+ `index` INT UNSIGNED NOT NULL DEFAULT '0',
+ `value` INT NOT NULL DEFAULT '0',
+ PRIMARY KEY (`key`, `index`)
+) ENGINE=MyISAM;
+CREATE TABLE IF NOT EXISTS `map_reg_str_db` (
+ `key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
+ `index` INT UNSIGNED NOT NULL DEFAULT '0',
+ `value` VARCHAR(255) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`key`, `index`)
+) ENGINE=MyISAM;
+
+-- Copy data from mapreg table to new map_reg_*_db tables.
+INSERT INTO `map_reg_num_db` (`key`, `index`, `value`) SELECT `varname`, `index`, CAST(`value` AS SIGNED) FROM `mapreg` WHERE NOT RIGHT(`varname`, 1)='$';
+INSERT INTO `map_reg_str_db` (`key`, `index`, `value`) SELECT `varname`, `index`, `value` FROM `mapreg` WHERE RIGHT(`varname`, 1)='$';
+
+-- Remove mapreg table. I don't want that.
+-- DROP TABLE IF EXISTS `mapreg`;
+
+-- Add update timestamp.
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1589145060);
+
+
+-- ---------------------------------------------------------------------------
+-- Index
+-- ---------------------------------------------------------------------------
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1596240000);
+
diff --git a/sql-files/upgrades/index.txt b/sql-files/upgrades/index.txt
new file mode 100644
index 0000000..eaf2e74
--- /dev/null
+++ b/sql-files/upgrades/index.txt
@@ -0,0 +1,57 @@
+2013-02-14--16-15.sql
+2013-02-15--18-06.sql
+2013-03-05--01-05.sql
+2013-03-06--00-00.sql
+2013-03-09--01-56.sql
+2013-03-27--18-35.sql
+2013-04-16--01-24.sql
+2013-04-16--02-15.sql
+2013-10-09--21-38.sql
+2013-10-10--16-36.sql
+2013-10-27--16-47.sql
+2013-10-30--19-53.sql
+2013-10-30--21-12.sql
+2013-10-31--07-49.sql
+2013-11-09--00-03.sql
+2013-11-15--00-06.sql
+2013-11-15--19-57.sql
+2013-11-16--07-49.sql
+2013-11-18--08-23.sql
+2013-12-24--00-15.sql
+2014-01-04--16-47.sql
+2014-01-06--17-22.sql
+2014-02-19--17-57.sql
+2014-03-25--23-57.sql
+2014-04-07--22-04.sql
+2014-04-26--10-00.sql
+2014-05-17--00-06.sql
+2014-09-01--16-53.sql
+2014-11-03--00-45.sql
+2015-07-08--13-08.sql
+2015-08-27--20-42.sql
+2015-12-16--12-57.sql
+2015-12-17--15-58.sql
+2016-03-10--22-18.sql
+2016-07-08--02-42.sql
+2016-07-08--02-51.sql
+2016-10-03--20-27.sql
+2016-10-26--10-29.sql
+2017-03-02--11-40.sql
+2017-03-05--08-09.sql
+2017-03-15--14-29.sql
+2017-06-04--15-04.sql
+2017-06-04--15-05.sql
+2017-11-04--10-39.sql
+2018-02-26--15-57.sql
+2018-03-10--04-06.sql
+2018-06-03--00-10.sql
+2018-06-03--17-16.sql
+2018-06-05--12-02.sql
+2018-07-24--03-23.sql
+2018-09-01--05-22.sql
+2018-12-14--01-02.sql
+2018-12-29--07-51.sql
+2019-04-08--21-52.sql
+2019-04-25--02-12.sql
+2019-05-09--18-07.sql
+2020-08-01--00-00.sql
diff --git a/sysinfogen.sh b/sysinfogen.sh
new file mode 100755
index 0000000..7fb1da1
--- /dev/null
+++ b/sysinfogen.sh
@@ -0,0 +1,259 @@
+#!/bin/sh
+
+# Copyright (c) Hercules Dev Team, licensed under GNU GPL.
+# See the LICENSE file
+# Base Author: Haru @ http://herc.ws
+
+do_fail() {
+ echo 'Error writing output file'
+ exit 1
+}
+
+cleanstring() {
+ if [ "$( echo "x x" | sed -e 's/[[:space:]]//g' )" = "x x" ]; then
+ # Workaround for non-POSIX-compliant systems that lack [[:space:]] (Solaris)
+ echo "$@" | sed -e 's/"/ /g' -e 's/[ ][ ]*/ /g' -e 's/^[ ]*//g' -e 's/[ ]*$//g'
+ else
+ echo "$@" | sed -e 's/"/ /g' -e 's/[[:space:]][[:space:]]*/ /g' -e 's/^[[:space:]]*//g' -e 's/[[:space:]]*$//g'
+ fi
+}
+
+if [ -z "$1" ]; then
+ echo 'No output file specified'
+ exit 1
+fi
+
+OUTFILE="$1"
+shift
+
+if ! touch "$OUTFILE"; then
+ echo 'Cannot create output file'
+ exit 1
+fi
+
+cat > "$OUTFILE" << EOF
+// Copyright (c) Hercules Dev Team, licensed under GNU GPL.
+// See the LICENSE file
+
+// This file was automatically generated. Any edit to it will be lost.
+
+EOF
+[ $? -eq 0 ] || do_fail
+
+HERC_PLATFORM="$( uname -s )"
+HERC_CORES="0"
+HERC_CPU="Unknown"
+
+case $HERC_PLATFORM in
+ Linux)
+ DIST=''
+ DESCRIPTION=''
+ REV=''
+
+ if type lsb_release >/dev/null 2>&1; then
+ LSBINFO="$( lsb_release -a 2>/dev/null )"
+ DIST="$( cleanstring "$( echo "$LSBINFO" | grep '^Distributor ID:' | cut -d: -f2- )" )"
+ DESCRIPTION="$( echo "$LSBINFO" | grep '^Description:' | cut -d: -f2- | sed 's/Enterprise Linux Enterprise Linux/Oracle Linux/' )"
+ fi
+
+ if [ -z "$DIST" ] || [ "$DIST" = "Gentoo" ]; then
+ if [ -f /etc/gentoo-release ]; then
+ # "Gentoo Base System release 2.2"
+ DIST='Gentoo'
+ DESCRIPTION="$( head -n 1 /etc/gentoo-release )"
+ REV=''
+ elif [ -f /etc/arch-release ]; then
+ # empty release file
+ DIST='ArchLinux'
+ DESCRIPTION=''
+ REV=''
+ elif [ -f /etc/vmware-release ]; then
+ # "VMware ESX Server 3" or "VMware ESX 4.0 (Kandinsky)"
+ DIST="VMWare"
+ DESCRIPTION="$( head -n 1 /etc/vmware-release )"
+ REV=''
+ elif [ -f /etc/debian_version ]; then
+ # "wheezy/sid"
+ DIST="Debian"
+ DESCRIPTION="Debian GNU/Linux $( head -n 1 /etc/debian_version )"
+ REV=''
+ elif [ -f /etc/fedora-release ]; then
+ # "Fedora release 9 (Sulphur)"
+ DIST="Fedora"
+ DESCRIPTION="$( head -n 1 /etc/fedora-release )"
+ REV=''
+ elif [ -f /etc/knoppix_version ]; then
+ # "3.2 2003-04-15"
+ DIST="Knoppix"
+ REV="Knoppix GNU/Linux $( head -n 1 /etc/knoppix_version )"
+ DESCRIPTION=''
+ elif [ -f /etc/mandriva-release ]; then
+ # "Mandriva Linux release 2010.1 (Official) for x86_64"
+ DIST="Mandriva"
+ DESCRIPTION="$( head -n 1 /etc/mandriva-release )"
+ REV=''
+ elif [ -f /etc/mandrake-release ]; then
+ # "Mandrakelinux release 10.1 (Community) for i586"
+ DIST="Mandrake"
+ DESCRIPTION="$( head -n 1 /etc/mandrake-release )"
+ REV=''
+ elif [ -f /etc/oracle-release ]; then
+ # "Oracle Linux Server release 6.3"
+ DIST="Oracle"
+ DESCRIPTION="$( head -n 1 /etc/oracle-release )"
+ REV=''
+ elif [ -f /etc/centos-release ]; then
+ # "CentOS Linux release 6.0 (Final)"
+ DIST="CentOS"
+ DESCRIPTION="$( head -n 1 /etc/centos-release )"
+ REV=''
+ elif [ -f /etc/redhat-release ]; then
+ # "Red Hat Enterprise Linux Server release 5 (Tikanga)"
+ DIST="RedHat"
+ DESCRIPTION="$( head -n 1 /etc/redhat-release )"
+ REV=''
+ elif [ -f /etc/slackware-version ]; then
+ DIST="Slackware"
+ DESCRIPTION="$( head -n 1 /etc/slackware-version )"
+ REV=''
+ elif [ -f /etc/slackware-release ]; then
+ DIST="Slackware"
+ DESCRIPTION="$( head -n 1 /etc/slackware-release )"
+ REV=''
+ elif [ -f /etc/SuSE-release ]; then
+ # "SUSE Linux Enterprise Server 11 (x86_64)"
+ # Note: it may contain several extra lines
+ DIST="SuSE"
+ DESCRIPTION="$( head -n 1 /etc/SuSE-release )"
+ REV=''
+ elif [ -f /etc/trustix-release ]; then
+ # "Trustix Secure Linux release 2.0 (Cloud)"
+ DIST="Trustix"
+ DESCRIPTION="$( head -n 1 /etc/trustix-release )"
+ REV=''
+ else
+ DIST='Unknown'
+ DESCRIPTION=''
+ REV=''
+ fi
+ fi
+ if [ -n "$DESCRIPTION" ]; then
+ DIST="$DESCRIPTION"
+ fi
+ HERC_OSVERSION="$DIST"
+
+ HERC_CPU="$( cat /proc/cpuinfo | grep "model name" | head -n 1 | cut -d: -f2- )"
+ HERC_CORES="$( grep '^processor' /proc/cpuinfo | wc -l )"
+ ;;
+ Darwin)
+ HERC_PLATFORM="Mac OS X"
+ if type sw_vers >/dev/null 2>&1; then
+ HERC_OSVERSION="$( sw_vers -productName ) $( sw_vers -productVersion ) $( sw_vers -buildVersion )"
+ else
+ HERC_OSVERSION="Unknown"
+ fi
+ if type system_profiler >/dev/null 2>&1; then
+ HWDATA="$( system_profiler SPHardwareDataType )"
+ HWDATA_CPU="$( echo "$HWDATA" | grep "Processor Name:" | cut -d: -f2- )"
+ HWDATA_CPUSPEED="$( cleanstring "$( echo "$HWDATA" | grep "Processor Speed:" | cut -d: -f2- )" )"
+ HERC_CORES="$( echo "$HWDATA" | grep "Total Number of Cores:" | cut -d: -f2- )"
+ HERC_CPU="${HWDATA_CPU} (${HWDATA_CPUSPEED})"
+ fi
+ ;;
+ SunOS)
+ HERC_PLATFORM="Solaris"
+ HERC_OSVERSION="${HERC_PLATFORM} $( uname -r ) ($( uname -p) $(uname -v))"
+ ;;
+ AIX)
+ HERC_OSVERSION="AIX $( oslevel ) ($(`oslevel -r`))"
+ ;;
+ CYGWIN*)
+ HERC_PLATFORM="Cygwin Windows"
+ HERC_OSVERSION="$( cleanstring "$( uname -s )" )"
+ HERC_CPU="$( cat /proc/cpuinfo | grep "model name" | head -n 1 | cut -d: -f2- )"
+ HERC_CORES="$( grep '^processor' /proc/cpuinfo | wc -l )"
+ ;;
+ OpenBSD)
+ HERC_OSVERSION="${HERC_PLATFORM} $( uname -r ) ($( uname -p) $(uname -v))"
+ HERC_CPU="$( sysctl hw.model | cut -d= -f2- )"
+ HERC_CORES="$( sysctl hw.ncpu | cut -d= -f2- )"
+ ;;
+ FreeBSD)
+ HERC_OSVERSION="${HERC_PLATFORM} $( uname -r ) ($( uname -p))"
+ HERC_CPU="$( sysctl hw.model | cut -d: -f2- )"
+ HERC_CORES="$( sysctl hw.ncpu | cut -d: -f2- )"
+ ;;
+ NetBSD)
+ HERC_OSVERSION="${HERC_PLATFORM} $( uname -r ) ($( uname -p))"
+ HERC_CPU="$( sysctl hw.model | cut -d= -f2- )"
+ HERC_CORES="$( sysctl hw.ncpu | cut -d= -f2- )"
+ ;;
+ *)
+ HERC_OSVERSION="Unknown"
+ ;;
+esac
+
+cat >> "$OUTFILE" << EOF
+// Platform (uname -s)
+#define SYSINFO_PLATFORM "$( cleanstring "${HERC_PLATFORM}" )"
+
+// Operating System version (Platform-dependent)
+#define SYSINFO_OSVERSION "$( cleanstring "${HERC_OSVERSION}" )"
+
+// CPU Model (Platform-dependent)
+#define SYSINFO_CPU "$( cleanstring "${HERC_CPU}" )"
+
+// CPU Cores (Platform-dependent)
+#define SYSINFO_CPUCORES ( $( cleanstring "${HERC_CORES}" ) )
+
+EOF
+[ $? -eq 0 ] || do_fail
+
+HERC_ARCH="$( uname -m )"
+
+cat >> "$OUTFILE" << EOF
+// OS Architecture (uname -m)
+#define SYSINFO_ARCH "$( cleanstring "${HERC_ARCH}" )"
+
+EOF
+[ $? -eq 0 ] || do_fail
+
+HERC_CFLAGS="$@"
+HERC_CFLAGS="$( echo "${HERC_CFLAGS}" | sed 's/"//g' )"
+
+cat >> "$OUTFILE" << EOF
+// Compiler Flags
+#define SYSINFO_CFLAGS "$( cleanstring "${HERC_CFLAGS}" )"
+
+EOF
+[ $? -eq 0 ] || do_fail
+
+HERC_VCSREV=""
+if [ -d .git ]; then
+ HERC_VCSTYPE="VCSTYPE_GIT"
+ if type git >/dev/null 2>&1; then
+ HERC_VCSREV="$( git rev-parse HEAD )"
+ else
+ HERC_VCSREV="Unknown"
+ fi
+elif [ -d .svn ]; then
+ HERC_VCSTYPE="VCSTYPE_SVN"
+ if type svnversion >/dev/null 2>&1; then
+ HERC_VCSREV="$( svnversion )"
+ else
+ HERC_VCSREV="Unknown"
+ fi
+else
+ HERC_VCSTYPE="VCSTYPE_NONE"
+fi
+
+cat >> "$OUTFILE" << EOF
+// VCS Type
+#define SYSINFO_VCSTYPE ${HERC_VCSTYPE}
+
+// VCS Revision
+#define SYSINFO_VCSREV "$( cleanstring "${HERC_VCSREV}" )"
+
+EOF
+[ $? -eq 0 ] || do_fail
+
diff --git a/template.update.py b/template.update.py
new file mode 100644
index 0000000..62bc1bc
--- /dev/null
+++ b/template.update.py
@@ -0,0 +1,26 @@
+#!/usr/bin/python2.7
+print("git diff --name-status previous HEAD > x.diff")
+
+f=open("x.diff", "r")
+xdiff=[]
+
+for l in f:
+ xdiff.append(l.replace('\n', '').replace('M\t','').replace('A\t',''))
+
+f.close()
+
+
+f=open("deployupdate.sh", "w");
+for i in xdiff:
+ a=i.split('/')
+ #print str(a)
+ path="/"
+ #print str(a[:-1])
+ path=path.join( a[:-1] )
+ #print path
+ f.write("scp -4 -P 22 %s username@tmw2.org:/home/username/serverdata/%s/%s\n" % (i, path, a[len(a)-1]))
+
+#f.write("\ncd ..\n")
+f.close()
+
+print("To deploy update, please run: ./deployupdate.sh");
diff --git a/test_char b/test_char
new file mode 100755
index 0000000..3e04387
--- /dev/null
+++ b/test_char
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+export dir=../tools/herculeswrapper
+${dir}/char.sh
diff --git a/test_login b/test_login
new file mode 100755
index 0000000..14cfe15
--- /dev/null
+++ b/test_login
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+export dir=../tools/herculeswrapper
+${dir}/login.sh
diff --git a/test_map b/test_map
new file mode 100755
index 0000000..0b20f78
--- /dev/null
+++ b/test_map
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+export dir=../tools/herculeswrapper
+${dir}/map.sh